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 26580 invoked from network); 11 Jan 2023 14:05:09 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 11 Jan 2023 14:05:09 -0000 Content-Type: multipart/mixed; boundary="===============3666144606930020228==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_109=2E0=2E5414=2E74=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Wed, 11 Jan 2023 15:05:09 +0100 List-Id: Message-ID: <20230111140509.OJi5jgXDF5F0_Eb8TCB795h5iSRX7-71ly69iwDXAS8@z> GitHub notification mails are now in MIME to allow UTF8. --===============3666144606930020228== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTEwOQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE1NzAKCmNocm9taXVtOiB1cGRhdGUgdG8gMTA5LjAu NTQxNC43NC4KW2NpIHNraXBdDQoNCiogWyBdIHg4Nl82NC1nbGliYw0KKiBbIF0geDg2XzY0LW11 c2wNCiogWyBdIGFhcmNoNjQtbXVzbA0KKiBbIF0gaTY4NgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQxNTcwLnBhdGNo IGlzIGF0dGFjaGVk --===============3666144606930020228== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-109-41570.patch" RnJvbSA1MGRhOTdhZDIyMDM0MTk3Zjc0ZWJjOTE5MWZiMmZiM2MwZmE2NWUyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFdlZCwgMTEgSmFuIDIwMjMgMDE6Mjg6NDAgKzAxMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDEwOS4wLjU0MTQuNzQuCgotLS0KIC4uLi9tdXNsLXBhdGNoZXMveHh4LXBw YzY0bGUtc3VwcG9ydC5wYXRjaCAgICB8ICAxODcgLQogLi4uL3BhdGNoZXMvYnVpbGQtYWRkLXVz ZV9jeHgxNy5wYXRjaCAgICAgICAgIHwgICAzOCArLQogLi4uL3BhdGNoZXMvZml4LWJ1aWxkLXdp dGgtb2xkLWNsYW5nLnBhdGNoICAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy9maXgtY29uc3RleHBy LW5hcnJvd2luZy5wYXRjaCAgICAgfCAgIDIxICsKIC4uLi9wYXRjaGVzL2ZpeC1tdXNsLXB0aHJl YWQtc3RhY2tzaXplLnBhdGNoICB8ICAgNDAgLQogLi4uL2Nocm9taXVtL3BhdGNoZXMvZml4LW5h cnJvd2luZy1jYXN0LnBhdGNoIHwgICA1MyAtCiAuLi4vcGF0Y2hlcy9maXgtbmFzbS1tdXNsLWNv bmZpZy5wYXRjaCAgICAgICAgfCAgIDEyIC0KIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uYXJy b3dpbmctY2FzdC5wYXRjaCB8ICAgMjEgKwogLi4udWlsZC1lcnJvci1vbi1saW51eC13aXRoLXN5 c3RlbS16bGliLnBhdGNoIHwgICA0MSAtCiAuLi4vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5 LnBhdGNoICAgICAgICAgfCAgIDMyIC0KIC4uLi9wYXRjaGVzL3h4eC1wcGM2NGxlLTRrLXBhZ2Vz LnBhdGNoICAgICAgICB8ICAgNjAgLQogLi4uL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUt bGlidnB4LnBhdGNoIHwgICAzMyAtCiAuLi4veHh4LXBwYzY0bGUtc2FuZGJveC1saW51eC1zdGF0 LnBhdGNoICAgICAgfCAgIDMxIC0KIC4uLi9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0 Y2ggICAgICAgICB8IDM1OTAgLS0tLS0tLS0tLS0tLS0tLS0KIC4uLi9wYXRjaGVzL3h4eC1wcGM2 NGxlLXN3aWZ0c2hhZGVyLnBhdGNoICAgICB8ICAgMTggLQogc3JjcGtncy9jaHJvbWl1bS90ZW1w bGF0ZSAgICAgICAgICAgICAgICAgICAgIHwgICAxMSArLQogMTYgZmlsZXMgY2hhbmdlZCwgODMg aW5zZXJ0aW9ucygrKSwgNDEyNSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1idWlsZC13 aXRoLW9sZC1jbGFuZy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9maXgtY29uc3RleHByLW5hcnJvd2luZy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbXVzbC1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93 aW5nLWNhc3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvZml4LW5hc20tbXVzbC1jb25maWcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvbmFycm93aW5nLWNhc3QucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmUtZml4LVRGTGl0ZS1idWlsZC1lcnJvci1vbi1s aW51eC13aXRoLXN5c3RlbS16bGliLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtNGstcGFnZXMucGF0Y2gK IGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUt bGlidnB4LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3h4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCiBkZWxl dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN3aWZ0 c2hhZGVyLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBh dGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMv bXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDU1NWY2OWMwNzJjOC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hy b21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxODcgKzAsMCBAQAotZGlmZiAtLWdpdCBzYW5kYm94L2xpbnV4L2JwZl9k c2wvc2VjY29tcF9tYWNyb3MuaCBzYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3Mu aAotaW5kZXggYTZhZWM1NDRlLi4yYTRhN2YxYmMgMTAwNjQ0Ci0tLS0gc2FuZGJveC9saW51eC9i cGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKLSsrKyBzYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29t cF9tYWNyb3MuaAotQEAgLTE2LDcgKzE2LDcgQEAKLSAjaWYgZGVmaW5lZChfX21pcHNfXykKLSAv LyBzeXMvdXNlci5oIGluIGVnbGliYyBtaXNzZXMgc2l6ZV90IGRlZmluaXRpb24KLSAjaW5jbHVk ZSA8c3RkZGVmLmg+Ci0tI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyNlbGlmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykgJiYgZGVmaW5lZChfX0dMSUJDX18pCi0gLy8gTWFudWFsbHkgZGVm aW5lIGdyZWdfdCBvbiBwcGM2NAotIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIGdyZWdfdDsK LSAjZW5kaWYKLUBAIC0zNjEsMTEgKzM2MSwxMSBAQCB0eXBlZGVmIHN0cnVjdCBwdF9yZWdzIHJl Z3Nfc3RydWN0OwotICNkZWZpbmUgU0VDQ09NUF9BUkNIIEFVRElUX0FSQ0hfUFBDNjQKLSAjZW5k aWYKLSAKLS0jZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250 ZXh0LnJlZ3MtPmdwcltfcmVnXSkKLSsjZGVmaW5lIFNFQ0NPTVBfUkVHKF9jdHgsIF9yZWcpICgo KHN0cnVjdCBwdF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4dC5yZWdzKS0+Z3ByW19yZWddKQot IAotICNkZWZpbmUgU0VDQ09NUF9SRVNVTFQoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKLSAj ZGVmaW5lIFNFQ0NPTVBfU1lTQ0FMTChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAwKQotLSNkZWZp bmUgU0VDQ09NUF9JUChfY3R4KSAoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPm5pcAotKyNkZWZp bmUgU0VDQ09NUF9JUChfY3R4KSAoKHN0cnVjdCBwdF9yZWdzICopKF9jdHgpLT51Y19tY29udGV4 dC5yZWdzKS0+bmlwCi0gI2RlZmluZSBTRUNDT01QX1BBUk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9j dHgsIDMpCi0gI2RlZmluZSBTRUNDT01QX1BBUk0yKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDQp Ci0gI2RlZmluZSBTRUNDT01QX1BBUk0zKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDUpCi1kaWZm IC0tZ2l0IHNhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYyBzYW5kYm94L2xpbnV4 L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKLWluZGV4IGQ1M2E3ZmY1Ni4uYzI5MGYwZTkyIDEwMDY0 NAotLS0tIHNhbmRib3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYwotKysrIHNhbmRib3gv bGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYwotQEAgLTQ5OSw5ICs0OTksOSBAQCB2b2lkIFN5 c2NhbGw6OlB1dFZhbHVlSW5VY29udGV4dChpbnRwdHJfdCByZXRfdmFsLCB1Y29udGV4dF90KiBj dHgpIHsKLSAgIC8vIFNhbWUgYXMgTUlQUywgbmVlZCB0byBpbnZlcnQgcmV0IGFuZCBzZXQgZXJy b3IgcmVnaXN0ZXIgKGNyMC5TTykKLSAgIGlmIChyZXRfdmFsIDw9IC0xICYmIHJldF92YWwgPj0g LTQwOTUpIHsKLSAgICAgcmV0X3ZhbCA9IC1yZXRfdmFsOwotLSAgICBjdHgtPnVjX21jb250ZXh0 LnJlZ3MtPmNjciB8PSAoMSA8PCAyOCk7Ci0rICAgICgoc3RydWN0IHB0X3JlZ3MgKiljdHgtPnVj X21jb250ZXh0LnJlZ3MpLT5jY3IgfD0gKDEgPDwgMjgpOwotICAgfSBlbHNlIHsKLS0gICAgY3R4 LT51Y19tY29udGV4dC5yZWdzLT5jY3IgJj0gfigxIDw8IDI4KTsKLSsgICAgKChzdHJ1Y3QgcHRf cmVncyAqKWN0eC0+dWNfbWNvbnRleHQucmVncyktPmNjciAmPSB+KDEgPDwgMjgpOwotICAgfQot ICNlbmRpZgotICAgU0VDQ09NUF9SRVNVTFQoY3R4KSA9IHN0YXRpY19jYXN0PGdyZWdfdD4ocmV0 X3ZhbCk7Ci0tLS0gdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Jhc2UvaW50ZXJuYWwvdW5z Y2FsZWRjeWNsZWNsb2NrX2NvbmZpZy5oCi0rKysgdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNs L2Jhc2UvaW50ZXJuYWwvdW5zY2FsZWRjeWNsZWNsb2NrX2NvbmZpZy5oCi1AQCAtMjIsNiArMjIs NyBAQAotIC8vIFRoZSBmb2xsb3dpbmcgcGxhdGZvcm1zIGhhdmUgYW4gaW1wbGVtZW50YXRpb24g b2YgYSBoYXJkd2FyZSBjb3VudGVyLgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKLSAgICAgZGVmaW5lZChf X3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fcmlzY3YpIHx8ICAg ICBcCi0rICAgICgoZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVmaW5lZChfX3BwY19fKSkgJiYg ZGVmaW5lZChfX0dMSUJDX18pKSB8fCBkZWZpbmVkKF9fcmlzY3YpIHx8ICAgICBcCi0gICAgIGRl ZmluZWQoX01fSVg4NikgfHwgKGRlZmluZWQoX01fWDY0KSAmJiAhZGVmaW5lZChfTV9BUk02NEVD KSkKLSAjZGVmaW5lIEFCU0xfSEFWRV9VTlNDQUxFRF9DWUNMRUNMT0NLX0lNUExFTUVOVEFUSU9O IDEKLSAjZWxzZQotLS0tIHRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9kZWJ1Z2dpbmcvaW50 ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcuaAotKysrIHRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJz bC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9jb25maWcuaAotQEAgLTY0LDcgKzY0LDcg QEAKLSAjZWxpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCi0gI2Rl ZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCi0gICAiYWJzbC9kZWJ1Z2dpbmcvaW50 ZXJuYWwvc3RhY2t0cmFjZV94ODYtaW5sLmluYyIKLS0jZWxpZiBkZWZpbmVkKF9fcHBjX18pIHx8 IGRlZmluZWQoX19QUENfXykKLSsjZWxpZiAoZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9f UFBDX18pKSAmJiBkZWZpbmVkKF9fR0xJQkNfXykKLSAjZGVmaW5lIEFCU0xfU1RBQ0tUUkFDRV9J TkxfSEVBREVSIFwKLSAgICJhYnNsL2RlYnVnZ2luZy9pbnRlcm5hbC9zdGFja3RyYWNlX3Bvd2Vy cGMtaW5sLmluYyIKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotZGlmZiAtLWdpdCB0aGly ZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbiB0aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgot aW5kZXggZjlhNjBlMzcuLjI1ZjNhMGI3IDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFk L0JVSUxELmduCi0rKysgdGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KLUBAIC02MzcsNiAr NjM3LDcgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2FuZHJvaWQpIHsKLSAKLSAgICAgaWYgKGN1cnJl bnRfY3B1ID09ICJwcGM2NCIpIHsKLSAgICAgICAgIGRlZmluZXMgPSBbICJIQVZFX0dFVENPTlRF WFQiIF0KLSsgICAgICAgIGxpYnMgKz0gWyAidWNvbnRleHQiIF0KLSAgICAgfSBlbHNlIHsKLSAg ICAgICAgIHNvdXJjZXMgKz0gWwotICAgICAgICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xp bnV4L2JyZWFrcGFkX2dldGNvbnRleHQuUyIKLWRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2lu Zm8uY2MgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1w X3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKLWluZGV4IDAzYWZlYzdhLi4wMjY0ZWNmMSAx MDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotKysrIHRoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9p bmZvLmNjCi1AQCAtMjczLDYgKzI3Myw5IEBAIHZvaWQgVGhyZWFkSW5mbzo6RmlsbENQVUNvbnRl eHQoUmF3Q29udGV4dENQVSogb3V0KSBjb25zdCB7Ci0gCi0gI2VsaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotIAotKyNpbmNsdWRlIDxhc20vZWxmLmg+Ci0rI2luY2x1ZGUgPGFzbS9wdHJhY2Uu aD4KLSsKLSB1aW50cHRyX3QgVGhyZWFkSW5mbzo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29u c3QgewotICAgICByZXR1cm4gbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOwotIH0KLUBAIC0yOTAs OSArMjkzLDkgQEAgdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BV KiBvdXQpIGNvbnN0IHsKLSAgICAgb3V0LT5jdHIgPSBtY29udGV4dC5ncF9yZWdzW1BUX0NUUl07 Ci0gICAgIAotICAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBD X0ZQUl9DT1VOVDsgaSsrKQotLSAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9IG1j b250ZXh0LmZwX3JlZ3NbaV07Ci0rICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0g KCh1aW50NjRfdCAqKSZtY29udGV4dC5mcF9yZWdzKVtpXTsKLSAKLS0gICAgb3V0LT5mbG9hdF9z YXZlLmZwc2NyID0gbWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV07Ci0rICAgIG91dC0+ZmxvYXRf c2F2ZS5mcHNjciA9ICgodWludDY0X3QgKikmbWNvbnRleHQuZnBfcmVncylbRUxGX05GUFJFRy0x XTsKLSAKLSAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJf Q09VTlQ7IGkrKykKLSAgICAgICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9IFwKLWRp ZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3Jl YWRlci5jYwotaW5kZXggMTA5MDQ3MGYuLmU1ODAyMzNkIDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vj b250ZXh0X3JlYWRlci5jYwotKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotQEAgLTI1 Nyw2ICsyNTcsOSBAQCB2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250 ZXh0Q1BVICpvdXQsIGNvbnN0IHVjb250ZXh0X3QgKnVjKSB7Ci0gCi0gI2VsaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotIAotKyNpbmNsdWRlIDxhc20vZWxmLmg+Ci0rI2luY2x1ZGUgPGFzbS9w dHJhY2UuaD4KLSsKLSB1aW50cHRyX3QgVUNvbnRleHRSZWFkZXI6OkdldFN0YWNrUG9pbnRlcihj b25zdCB1Y29udGV4dF90KiB1YykgewotICAgICByZXR1cm4gdWMtPnVjX21jb250ZXh0LmdwX3Jl Z3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdOwotIH0KLUBAIC0yODAsOSArMjgzLDkgQEAgdm9p ZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0LCBjb25z dCB1Y29udGV4dF90KiB1YywKLSAgICAgb3V0LT5jdHIgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVn c1tQVF9DVFJdOwotICAgICAKLSAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NB VkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLS0gICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHJl Z3NbaV0gPSB1Yy0+dWNfbWNvbnRleHQuZnBfcmVnc1tpXTsKLSsgICAgICAgIG91dC0+ZmxvYXRf c2F2ZS5mcHJlZ3NbaV0gPSAoKHVpbnQ2NF90ICopJnVjLT51Y19tY29udGV4dC5mcF9yZWdzKVtp XTsKLSAKLS0gICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gdWMtPnVjX21jb250ZXh0LmZwX3Jl Z3NbTkZQUkVHLTFdOwotKyAgICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSAoKHVpbnQ2NF90ICop JnVjLT51Y19tY29udGV4dC5mcF9yZWdzKVtFTEZfTkZQUkVHLTFdOwotIAotICAgICBmb3IgKGlu dCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKQotICAgICAg ICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldID0KLWRpZmYgLS1naXQgdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyLmNjIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFu ZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotaW5kZXggNWE3YWI1MGMuLmVlOGI4NThjIDEwMDY0 NAotLS0tIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFu ZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotKysrIHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotQEAgLTEw NSw2ICsxMDUsMTEgQEAKLSAjZGVmaW5lIFBSX1NFVF9QVFJBQ0VSIDB4NTk2MTZkNjEKLSAjZW5k aWYKLSAKLSsvKiBtdXNsIGhhY2ssIGNhbid0IGluY2x1ZGUgYXNtL3B0cmFjZS5oIGFzIHRoYXQg Y2F1c2VzIGNvbmZsaWN0cyAqLwotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmICFkZWZp bmVkKFBUX05JUCkKLSsjZGVmaW5lIFBUX05JUCAzMgotKyNlbmRpZgotKwotIG5hbWVzcGFjZSBn b29nbGVfYnJlYWtwYWQgewotIAotIG5hbWVzcGFjZSB7Ci1kaWZmIC0tZ2l0IHRoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmggdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAot aW5kZXggOGUzMzVhMDkuLmIyYTBmMTU1IDEwMDY0NAotLS0tIHRoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKLSsrKyB0aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCi1AQCAt NDY5LDcgKzQ2OSw3IEBAIHN0cnVjdCBNQ29udGV4dDY0IHsKLSAgIFNpZ25hbFRocmVhZENvbnRl eHQ2NCBncF9yZWdzOwotICAgU2lnbmFsRmxvYXRDb250ZXh0NjQgIGZwX3JlZ3M7Ci0gICBTaWdu YWxWZWN0b3JDb250ZXh0NjQgKnZfcmVnczsKLS0gIGludDY0X3Qgdm14X3Jlc2VydmVbNjldOwot KyAgaW50NjRfdCB2bXhfcmVzZXJ2ZVsxMDFdOwotIH07Ci0gCi0gc3RydWN0IENvbnRleHRUcmFp dHM2NCA6IHB1YmxpYyBUcmFpdHM2NCB7Ci1kaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKLWluZGV4IGRlYTBkMWYzLi5iMjAzZTVi MiAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3Ro cmVhZF9pbmZvLmgKLSsrKyB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4 L3RocmVhZF9pbmZvLmgKLUBAIC0zMCw2ICszMCw3IEBACi0gCi0gI2lmIGRlZmluZWQoQVJDSF9D UFVfUFBDNjRfRkFNSUxZKQotICNpbmNsdWRlIDxzeXMvdWNvbnRleHQuaD4KLSsjaW5jbHVkZSA8 YXNtL3B0cmFjZS5oPgotICNlbmRpZgotIAotIG5hbWVzcGFjZSBjcmFzaHBhZCB7Ci1kaWZmIC0t Z2l0IHRoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCB0aGlyZF9wYXJ0eS9s c3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLWluZGV4IDk5NTVjZTQ0Li40YzFjYzQ4OCAxMDA2 NDQKLS0tLSB0aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLSsrKyB0aGly ZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLUBAIC00MjE2LDkgKzQyMTYsMTMg QEAgc3RydWN0IGtlcm5lbF9zdGF0ZnMgewotICAgICB9Ci0gICAjZW5kaWYKLSAgICNpZiBkZWZp bmVkKF9fTlJfZnN0YXRhdDY0KQotKyAgICAvLyBtdXNsIGRvZXMgI2RlZmluZSBmc3RhdGF0NjQg ZnN0YXRhdAotKyAgICAjdW5kZWYgZnN0YXRhdDY0Ci0gICAgIExTU19JTkxJTkUgX3N5c2NhbGw0 KGludCwgICBmc3RhdGF0NjQsICAgICAgICBpbnQsICAgZCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3QgY2hhciAqLCAgICAgIHAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCBrZXJuZWxfc3RhdDY0ICosICAgYiwgICAgaW50LCAgIGYpCi0rICAgIC8vIHNldCBpdCBi YWNrIGxpa2UgaXQgd2FzCi0rICAgICNkZWZpbmUgZnN0YXRhdDY0IGZzdGF0YXQKLSAgICNlbmRp ZgotICAgI2lmIGRlZmluZWQoX19OUl93YWl0cGlkKQotICAgICAvLyB3YWl0cGlkIGlzIHBvbHlm aWxsZWQgYmVsb3cgd2hlbiBub3QgYXZhaWxhYmxlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2J1aWxkLWFkZC11c2VfY3h4MTcucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvYnVpbGQtYWRkLXVzZV9jeHgxNy5wYXRjaAppbmRleCAwOTFiMWM1NTM3MjcuLmI1 MDgyNWZiN2UyYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2J1aWxkLWFk ZC11c2VfY3h4MTcucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2J1aWxkLWFk ZC11c2VfY3h4MTcucGF0Y2gKQEAgLTEsMjYgKzEsMjIgQEAKIC0tLSBhL2J1aWxkL2NvbmZpZy9j b21waWxlci9CVUlMRC5nbgogKysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCi1A QCAtMTY3LDYgKzE2NywxMCBAQAotICAgIyBFbmFibGUgLUgsIHdoaWNoIHByaW50cyB0aGUgaW5j bHVkZSB0cmVlIGR1cmluZyBjb21waWxhdGlvbi4KLSAgICMgRm9yIHVzZSBieSB0b29scy9jbGFu Zy9zY3JpcHRzL2FuYWx5emVfaW5jbHVkZXMucHkKLSAgIHNob3dfaW5jbHVkZXMgPSBmYWxzZQot KwotKyAgIyBBbGxvdyBwcm9qZWN0cyB0aGF0IHdpc2ggdG8gc3RheSBvbiBDKysxNyB0byBvdmVy cmlkZSBDaHJvbWl1bSdzIGRlZmF1bHQuCi0rICAjIFRPRE8oY3JidWcuY29tLzE0MDIyNDkpOiBl dmFsdWF0ZSByZW1vdmluZyB0aGlzIGVuZCBvZiAyMDIzCi0rICB1c2VfY3h4MTcgPSBmYWxzZQor QEAgLTE5MSw2ICsxOTEsMTAgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gIng2NCIpKSkpCiAgfQogIAotIGRl Y2xhcmVfYXJncygpIHsKLUBAIC01OTYsNyArNjAwLDExIEBACi0gICAgIH0gZWxzZSBpZiAoaXNf bGludXgpIHsKLSAgICAgICAjIFRPRE8oY3JidWcuY29tLzEyODQyNzUpOiBTd2l0Y2ggdG8gQysr MjAgb24gYWxsIHBsYXRmb3Jtcy4KLSAgICAgICBpZiAoaXNfY2xhbmcpIHsKLS0gICAgICAgIGNm bGFnc19jYyArPSBbICItc3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMjAiIF0KLSsgICAgICAgIGlm ICh1c2VfY3h4MTcpIHsKLSsgICAgICAgICAgY2ZsYWdzX2NjICs9IFsgIi1zdGQ9JHtzdGFuZGFy ZF9wcmVmaXh9KysxNyIgXQotKyAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgY2ZsYWdzX2Nj ICs9IFsgIi1zdGQ9JHtzdGFuZGFyZF9wcmVmaXh9KysyMCIgXQotKyAgICAgICAgfQorK2RlY2xh cmVfYXJncygpIHsKKysgIHVzZV9jeHgxNyA9IGZhbHNlCisrfQorKworIGlmIChpc19hbmRyb2lk IHx8IChpc19jaHJvbWVvc19hc2ggJiYgaXNfY2hyb21lb3NfZGV2aWNlKSkgeworICAgIyBTZXQg dGhlIHBhdGggdG8gdXNlIG9yZGVyZmlsZSBmb3IgbGlua2luZyBDaHJvbWUKKyAgICMgTm90ZSB0 aGF0IHRoaXMgaXMgZm9yIHVzaW5nIG9ubHkgb25lIG9yZGVyZmlsZSBmb3IgbGlua2luZworQEAg LTYwNSw3ICs2MDksNyBAQAorICAgICAgICAgY2ZsYWdzX2NjICs9IFsgIi1mbm8tdHJpZ3JhcGhz IiBdCisgICAgICAgfQorICAgICB9IGVsc2UgaWYgKGlzX2NsYW5nKSB7CistICAgICAgaWYgKGlz X2Nocm9tZW9zX2RldmljZSkgeworKyAgICAgIGlmIChpc19jaHJvbWVvc19kZXZpY2UgfHwgdXNl X2N4eDE3KSB7CisgICAgICAgICAjIFRPRE8oY3JidWcuY29tLzEzOTI0NzEpOiBTdXBwb3J0IEMr KzIwIGluIENyT1MgdG9vbGNoYWluLgorICAgICAgICAgY2ZsYWdzX2NjICs9IFsgIi1zdGQ9JHtz dGFuZGFyZF9wcmVmaXh9KysxNyIgXQogICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAjIFRoZSBn Y2MgYm90cyBhcmUgY3VycmVudGx5IHVzaW5nIEdDQyA5LCB3aGljaCBpcyBub3QgbmV3IGVub3Vn aCB0bwotICAgICAgICAgIyBzdXBwb3J0ICJjKysyMCIvImdudSsrMjAiLgpkaWZmIC0tZ2l0IGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1idWlsZC13aXRoLW9sZC1jbGFuZy5wYXRjaCBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtYnVpbGQtd2l0aC1vbGQtY2xhbmcucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mMjMyMThlNzFlNGQKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LWJ1aWxkLXdpdGgt b2xkLWNsYW5nLnBhdGNoCkBAIC0wLDAgKzEsMjAgQEAKKy0tLSBhL2J1aWxkL2NvbmZpZy9jb21w aWxlci9CVUlMRC5nbgorKysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAt ODA1LDE3ICs4MDUsNiBAQAorICAgICBjZmxhZ3MgKz0gWyAiLWZjb21wbGV0ZS1tZW1iZXItcG9p bnRlcnMiIF0KKyAgIH0KKyAKKy0gICMgVXNlIERXQVJGIHNpbXBsZSB0ZW1wbGF0ZSBuYW1lcywg d2l0aCB0aGUgZm9sbG93aW5nIGV4Y2VwdGlvbnM6CistICAjCistICAjICogV2luZG93cyBpcyBu b3Qgc3VwcG9ydGVkIGFzIGl0IGRvZXNuJ3QgdXNlIERXQVJGLgorLSAgIyAqIEFwcGxlIHBsYXRm b3JtcyAoZS5nLiBNYWNPUywgaVBob25lLCBpUGFkKSBhcmVuJ3Qgc3VwcG9ydGVkIGJlY2F1c2Ug eGNvZGUKKy0gICMgICBsbGRiIGRvZXNuJ3QgaGF2ZSB0aGUgbmVlZGVkIGNoYW5nZXMgeWV0Lgor LSAgIyAqIEZ1Y2hzaWEgaXNuJ3Qgc3VwcG9ydGVkIGFzIHp4ZGIgZG9lc24ndCBzdXBwb3J0IHNp bXBsZSB0ZW1wbGF0ZSBuYW1lcyB5ZXQuCistICAjIFRPRE8oY3JidWcuY29tLzEzNzkwNzApOiBS ZW1vdmUgaWYgdGhlIHVwc3RyZWFtIGRlZmF1bHQgZXZlciBjaGFuZ2VzLgorLSAgaWYgKGlzX2Ns YW5nICYmICFpc19uYWNsICYmICFpc193aW4gJiYgIWlzX2FwcGxlICYmICFpc19mdWNoc2lhKSB7 CistICAgIGNmbGFnc19jYyArPSBbICItZ3NpbXBsZS10ZW1wbGF0ZS1uYW1lcyIgXQorLSAgfQor LQorICAgIyBNTEdPIHNwZWNpZmljIGZsYWdzLiBUaGVzZSBmbGFncyBlbmFibGUgYW4gTUwtYmFz ZWQgaW5saW5lciB0cmFpbmVkIG9uCisgICAjIENocm9tZSBvbiBBbmRyb2lkIChhcm0zMikgd2l0 aCBUaGluTFRPIGVuYWJsZWQsIG9wdGltaXppbmcgZm9yIHNpemUuCisgICAjIFRoZSAicmVsZWFz ZSIgTUwgbW9kZWwgaXMgZW1iZWRkZWQgaW50byBjbGFuZyBhcyBwYXJ0IG9mIGl0cyBidWlsZC4K ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtY29uc3RleHByLW5hcnJv d2luZy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtY29uc3RleHByLW5hcnJv d2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjAwZjY2 MmExOTRhNwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgt Y29uc3RleHByLW5hcnJvd2luZy5wYXRjaApAQCAtMCwwICsxLDIxIEBACistLS0gdGhpcmRfcGFy dHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vbWVkaWEvd2ViX21lZGlhX3BsYXllcl9pbXBsLmNj Lm9yaWcKKysrKyB0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9tZWRpYS93ZWJf bWVkaWFfcGxheWVyX2ltcGwuY2MKK0BAIC0zODgxLDE1ICszODgxLDE1IEBACisgICAgIGNvbnN0 IFQmLi4uIHZhbHVlcykgeworICAgc3RkOjpzdHJpbmcgc3Rya2V5ID0gc3RkOjpzdHJpbmcoa2V5 KTsKKyAKKy0gIGlmIGNvbnN0ZXhwciAoRmxhZ3MgJiBrRW5jcnlwdGVkKSB7CisrICBpZiBjb25z dGV4cHIgKEZsYWdzICYga0VuY3J5cHRlZCAhPSAwKSB7CisgICAgIGlmIChpc19lbmNyeXB0ZWRf KQorICAgICAgIFVtYUZ1bmN0aW9uKHN0cmtleSArICIuRU1FIiwgdmFsdWVzLi4uKTsKKyAgIH0K KyAKKy0gIGlmIGNvbnN0ZXhwciAoRmxhZ3MgJiBrVG90YWwpCisrICBpZiBjb25zdGV4cHIgKEZs YWdzICYga1RvdGFsICE9IDApCisgICAgIFVtYUZ1bmN0aW9uKHN0cmtleSArICIuQWxsIiwgdmFs dWVzLi4uKTsKKyAKKy0gIGlmIGNvbnN0ZXhwciAoRmxhZ3MgJiBrUGxheWJhY2tUeXBlKSB7Cisr ICBpZiBjb25zdGV4cHIgKEZsYWdzICYga1BsYXliYWNrVHlwZSAhPSAwKSB7CisgICAgIGF1dG8g ZGVtdXhlcl90eXBlID0gR2V0RGVtdXhlclR5cGUoKTsKKyAgICAgaWYgKCFkZW11eGVyX3R5cGUu aGFzX3ZhbHVlKCkpCisgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2ZpeC1tdXNsLXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoIGIvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2ZpeC1tdXNsLXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCBjZDU1MzMxOTBkYjkuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW11c2wtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKKysr IC9kZXYvbnVsbApAQCAtMSw0MCArMCwwIEBACi0tLS0gYS9iYXNlL3RocmVhZGluZy9wbGF0Zm9y bV90aHJlYWRfbGludXguY2MKLSsrKyBiL2Jhc2UvdGhyZWFkaW5nL3BsYXRmb3JtX3RocmVhZF9s aW51eC5jYwotQEAgLTQzNiw4ICs0MzYsMTMgQEAKLSAKLSBzaXplX3QgR2V0RGVmYXVsdFRocmVh ZFN0YWNrU2l6ZShjb25zdCBwdGhyZWFkX2F0dHJfdCYgYXR0cmlidXRlcykgewotICNpZiAhZGVm aW5lZChUSFJFQURfU0FOSVRJWkVSKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAgIHJldHVy biAwOwotICNlbHNlCi0rICAvLyBtdXNsIGxpYmNzIGRlZmF1bHQgaXMgdG9vIHNtYWxsLCB1c2Ug OG1iIGxpa2UgZ2xpYmMKLSsgIHJldHVybiAoMSA8PCAyMyk7Ci0rI2VuZGlmCi0rI2Vsc2UKLSAg IC8vIFRocmVhZFNhbml0aXplciBibG9hdHMgdGhlIHN0YWNrIGhlYXZpbHkuIEV2aWRlbmNlIGhh cyBiZWVuIHRoYXQgdGhlCi0gICAvLyBkZWZhdWx0IHN0YWNrIHNpemUgaXNuJ3QgZW5vdWdoIGZv ciBzb21lIGJyb3dzZXIgdGVzdHMuCi0gICByZXR1cm4gMiAqICgxIDw8IDIzKTsgIC8vIDIgdGlt ZXMgODE5MksgKHRoZSBkZWZhdWx0IHN0YWNrIHNpemUgb24gTGludXgpLgotLS0tIGEvY2hyb21l L2Jyb3dzZXIvc2h1dGRvd25fc2lnbmFsX2hhbmRsZXJzX3Bvc2l4LmNjCi0rKysgYi9jaHJvbWUv YnJvd3Nlci9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLUBAIC0xODgsMTEgKzE4 OCwyMSBAQAotICAgZ19zaHV0ZG93bl9waXBlX3JlYWRfZmQgPSBwaXBlZmRbMF07Ci0gICBnX3No dXRkb3duX3BpcGVfd3JpdGVfZmQgPSBwaXBlZmRbMV07Ci0gI2lmICFkZWZpbmVkKEFERFJFU1Nf U0FOSVRJWkVSKQotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAgIGNvbnN0IHNpemVfdCBrU2h1 dGRvd25EZXRlY3RvclRocmVhZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICogMjsKLSAj ZWxzZQotKyAgLy8gbWF0Y2ggdXAgbXVzbHMgMmsgUFRIUkVBRF9TVEFDS19NSU4gd2l0aCBnbGli Y3MgMTZrCi0rICBjb25zdCBzaXplX3Qga1NodXRkb3duRGV0ZWN0b3JUaHJlYWRTdGFja1NpemUg PSBQVEhSRUFEX1NUQUNLX01JTiAqIDIgKiA4OwotKyNlbmRpZgotKyNlbHNlCi0gICAvLyBBU2Fu IGluc3RydW1lbnRhdGlvbiBibG9hdHMgdGhlIHN0YWNrIGZyYW1lcywgc28gd2UgbmVlZCB0byBp bmNyZWFzZSB0aGUKLSAgIC8vIHN0YWNrIHNpemUgdG8gYXZvaWQgaGl0dGluZyB0aGUgZ3VhcmQg cGFnZS4KLSsjaWYgZGVmaW5lZChfX0dMSUJDX18pCi0gICBjb25zdCBzaXplX3Qga1NodXRkb3du RGV0ZWN0b3JUaHJlYWRTdGFja1NpemUgPSBQVEhSRUFEX1NUQUNLX01JTiAqIDQ7Ci0rI2Vsc2UK LSsgIGNvbnN0IHNpemVfdCBrU2h1dGRvd25EZXRlY3RvclRocmVhZFN0YWNrU2l6ZSA9IFBUSFJF QURfU1RBQ0tfTUlOICogNCAqIDg7Ci0rICAvLyBtYXRjaCB1cCBtdXNscyAyayBQVEhSRUFEX1NU QUNLX01JTiB3aXRoIGdsaWJjcyAxNmsKLSsjZW5kaWYKLSAjZW5kaWYKLSAgIFNodXRkb3duRGV0 ZWN0b3IqIGRldGVjdG9yID0gbmV3IFNodXRkb3duRGV0ZWN0b3IoCi0gICAgICAgZ19zaHV0ZG93 bl9waXBlX3JlYWRfZmQsIHN0ZDo6bW92ZShzaHV0ZG93bl9jYWxsYmFjayksIHRhc2tfcnVubmVy KTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93aW5nLWNh c3QucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBhZmQ0MmExNDg5YWUuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsNTMgKzAsMCBAQAotLS0tIGEvYmFzZS9maWxlcy9maWxl X3V0aWxfbGludXguY2MKLSsrKyBiL2Jhc2UvZmlsZXMvZmlsZV91dGlsX2xpbnV4LmNjCi1AQCAt MjMsMTQgKzIzLDE0IEBACi0gCi0gICAvLyBOb3QgYWxsIHBvc3NpYmxlIHxzdGF0ZnNfYnVmLmZf dHlwZXwgdmFsdWVzIGFyZSBpbiBsaW51eC9tYWdpYy5oLgotICAgLy8gTWlzc2luZyB2YWx1ZXMg YXJlIGNvcGllZCBmcm9tIHRoZSBzdGF0ZnMgbWFuIHBhZ2UuCi0tICBzd2l0Y2ggKHN0YXRmc19i dWYuZl90eXBlKSB7Ci0rICBzd2l0Y2ggKHN0YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdGZzX2J1 Zi5mX3R5cGUpKSB7Ci0gICAgIGNhc2UgMDoKLSAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNXzA7 Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgRVhUMl9TVVBFUl9NQUdJQzogIC8vIEFsc28gZXh0 MyBhbmQgZXh0NAotICAgICBjYXNlIE1TRE9TX1NVUEVSX01BR0lDOgotICAgICBjYXNlIFJFSVNF UkZTX1NVUEVSX01BR0lDOgotLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oQlRSRlNfU1VQRVJf TUFHSUMpOgotKyAgICBjYXNlIEJUUkZTX1NVUEVSX01BR0lDOgotICAgICBjYXNlIDB4NTM0NjU0 NEU6ICAvLyBOVEZTCi0gICAgIGNhc2UgMHg1ODQ2NTM0MjogIC8vIFhGUwotICAgICBjYXNlIDB4 MzE1MzQ2NEE6ICAvLyBKRlMKLUBAIC00MCwxNCArNDAsMTQgQEAKLSAgICAgICAqdHlwZSA9IEZJ TEVfU1lTVEVNX05GUzsKLSAgICAgICBicmVhazsKLSAgICAgY2FzZSBTTUJfU1VQRVJfTUFHSUM6 Ci0tICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PigweEZGNTM0RDQyKTogIC8vIENJRlMKLSsgICAg Y2FzZSAweEZGNTM0RDQyOiAgLy8gQ0lGUwotICAgICAgICp0eXBlID0gRklMRV9TWVNURU1fU01C OwotICAgICAgIGJyZWFrOwotICAgICBjYXNlIENPREFfU1VQRVJfTUFHSUM6Ci0gICAgICAgKnR5 cGUgPSBGSUxFX1NZU1RFTV9DT0RBOwotICAgICAgIGJyZWFrOwotLSAgICBjYXNlIHN0YXRpY19j YXN0PGludD4oSFVHRVRMQkZTX01BR0lDKToKLS0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJB TUZTX01BR0lDKToKLSsgICAgY2FzZSBIVUdFVExCRlNfTUFHSUM6Ci0rICAgIGNhc2UgUkFNRlNf TUFHSUM6Ci0gICAgIGNhc2UgVE1QRlNfTUFHSUM6Ci0gICAgICAgKnR5cGUgPSBGSUxFX1NZU1RF TV9NRU1PUlk7Ci0gICAgICAgYnJlYWs7Ci0tLS0gYS9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3Np eC5jYwotKysrIGIvYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKLUBAIC0xMDAsMTAgKzEw MCwxMCBAQAotICAgaWYgKEhBTkRMRV9FSU5UUihzdGF0ZnMocGF0aC52YWx1ZSgpLmNfc3RyKCks ICZzdGF0cykpICE9IDApCi0gICAgIHJldHVybiBmYWxzZTsKLSAKLS0gIHN3aXRjaCAoc3RhdHMu Zl90eXBlKSB7Ci0rICBzd2l0Y2ggKHN0YXRpY19jYXN0PHVpbnRtYXhfdD4oc3RhdHMuZl90eXBl KSkgewotICAgICBjYXNlIFRNUEZTX01BR0lDOgotLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4o SFVHRVRMQkZTX01BR0lDKToKLS0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KFJBTUZTX01BR0lD KToKLSsgICAgY2FzZSBIVUdFVExCRlNfTUFHSUM6Ci0rICAgIGNhc2UgUkFNRlNfTUFHSUM6Ci0g ICAgICAgcmV0dXJuIHRydWU7Ci0gICB9Ci0gICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hc20tbXVzbC1jb25maWcucGF0Y2ggYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hc20tbXVzbC1jb25maWcucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDdhMDMzN2YzYmYzYi4uMDAwMDAwMDAwMDAwCi0tLSBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFzbS1tdXNsLWNvbmZpZy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDEyICswLDAgQEAKLS0tLSBhL3RoaXJkX3BhcnR5L25hc20vY29uZmlnL2Nv bmZpZy1saW51eC5oCi0rKysgYi90aGlyZF9wYXJ0eS9uYXNtL2NvbmZpZy9jb25maWctbGludXgu aAotQEAgLTEzOSw3ICsxMzksOSBAQAotICNkZWZpbmUgSEFWRV9BQ0NFU1MgMQotIAotIC8qIERl ZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgY2Fub25pY2FsaXplX2ZpbGVfbmFtZScgZnVuY3Rp b24uICovCi0rI2lmZGVmIF9fR0xJQkNfXwotICNkZWZpbmUgSEFWRV9DQU5PTklDQUxJWkVfRklM RV9OQU1FIDEKLSsjZW5kaWYKLSAKLSAvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNw dV90b19sZTE2JyBpbnRyaW5zaWMgZnVuY3Rpb24uICovCi0gLyogI3VuZGVmIEhBVkVfQ1BVX1RP X0xFMTYgKi8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uYXJyb3dpbmct Y2FzdC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uYXJyb3dpbmctY2FzdC5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQxMDk0MGViN2U4OQot LS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uYXJyb3dpbmctY2Fz dC5wYXRjaApAQCAtMCwwICsxLDIxIEBACitmcm9tIHRoZSBtYW5wYWdlIGZvciBzdGF0ZnM6CisK K1RoZSBfX2Zzd29yZF90IHR5cGUgdXNlZCBmb3IgdmFyaW91cyBmaWVsZHMgaW4gdGhlIHN0YXRm cyBzdHJ1Y3R1cmUKK2RlZmluaXRpb24gaXMgYSBnbGliYyBpbnRlcm5hbCB0eXBlLCBub3QgaW50 ZW5kZWQgZm9yIHB1YmxpYyB1c2UuICBUaGlzCitsZWF2ZXMgdGhlIHByb2dyYW1tZXIgaW4gYSBi aXQgb2YgYSBjb251bmRydW0gd2hlbiB0cnlpbmcgdG8gY29weSBvcgorY29tcGFyZSB0aGVzZSBm aWVsZHMgdG8gbG9jYWwgdmFyaWFibGVzIGluIGEgcHJvZ3JhbS4gIFVzaW5nCit1bnNpZ25lZMKg aW50IGZvciBzdWNoIHZhcmlhYmxlcyBzdWZmaWNlcyBvbiBtb3N0IHN5c3RlbXMuCisKKy0tLSBh L2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4LmNjCisrKysgYi9iYXNlL3N5c3RlbS9zeXNfaW5m b19wb3NpeC5jYworQEAgLTY0LDggKzY0LDggQEAKKyAKKyAgIHN3aXRjaCAoc3RhdHMuZl90eXBl KSB7CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihI VUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4oUkFNRlNfTUFHSUMp OgorKyAgICBjYXNlIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oSFVHRVRMQkZTX01BR0lDKToK KysgICAgY2FzZSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KFJBTUZTX01BR0lDKToKKyAgICAg ICByZXR1cm4gdHJ1ZTsKKyAgIH0KKyAgIHJldHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9yZS1maXgtVEZMaXRlLWJ1aWxkLWVycm9yLW9uLWxpbnV4LXdp dGgtc3lzdGVtLXpsaWIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmUtZml4LVRG TGl0ZS1idWlsZC1lcnJvci1vbi1saW51eC13aXRoLXN5c3RlbS16bGliLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAxM2Q1MDRkM2U3OTIuLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmUtZml4LVRGTGl0ZS1idWlsZC1lcnJvci1vbi1saW51 eC13aXRoLXN5c3RlbS16bGliLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDEgKzAsMCBAQAot RnJvbSBkZGEwMWE3MDY0NTNkZWQ4YzAxYzQxNzc1NzA3Y2I1ZWY0ZTMxNmY4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogQW5kcmVzIFNhbG9tb24gPGRpbGluZ2VyQHF1ZXVlZC5uZXQ+ Ci1EYXRlOiBUdWUsIDI1IE9jdCAyMDIyIDIxOjExOjQ2ICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hd IFJlLWZpeCBURkxpdGUgYnVpbGQgZXJyb3Igb24gbGludXggd2hlbiB1c2luZyB0aGUgc3lzdGVt IHpsaWIKLQotSW4gY29tbWl0IGFlMGY5YWRiN2UxNGMwZDE5Y2E2OTVlZjZhZDQwYjMyMWE4Y2I2 NGMsIEkgZml4ZWQgc29tZSBidWlsZAotZXJyb3JzIHJlbGF0ZWQgdG8gbWluaXppcCBwYXRjaCBp bmNsdXNpb24gaW4gVEZMaXRlLiBIb3dldmVyLCBhZnRlciB0aGF0Ci13aGVuIFRGTGl0ZSBTdXBw b3J0IHdhcyByb2xsZWQgdG8gSEVBRCwgYSBzbWFsbCBwYXJ0IG9mIHRoYXQgcGF0Y2ggZ290Ci1k cm9wcGVkLiBUaGUgcmVzdWx0IGlzIHRoZSBmb2xsb3dpbmcgYnVpbGQgZXJyb3Igd2l0aCAxMDcu MC41MzA0LjYyOgotCi0uLi8uLi90aGlyZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29y Zmxvd19saXRlX3N1cHBvcnQvbWV0YWRhdGEvY2MvdXRpbHMvemlwX3JlYWRvbmx5X21lbV9maWxl LmNjOjIyOjEwOiBmYXRhbCBlcnJvcjogJ2NvbnRyaWIvbWluaXppcC9pb2FwaS5oJyBmaWxlIG5v dCBmb3VuZAotICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgotMSBlcnJvciBnZW5l cmF0ZWQuCi0KLVRoaXMgY29tbWl0IHJlLWFkZHMgdGhlIGxvc3QgZml4LgotCi1SPWp1bnpvdUBj aHJvbWl1bS5vcmcKLQotQ2hhbmdlLUlkOiBJZTk2YzM1NzE4OTRiNTEwMGExZTJhMjc3MWRhMjk2 OTllZmYwYmViMwotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zOTcyMDg3Ci1SZXZpZXdlZC1ieTogUm9iZXJ0IE9n ZGVuIDxyb2JlcnRvZ2RlbkBjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6IFJvYmVydCBPZ2Rl biA8cm9iZXJ0b2dkZW5AY2hyb21pdW0ub3JnPgotQXV0by1TdWJtaXQ6IEFuZHJlcyBTYWxvbW9u IDxkaWxpbmdlckBxdWV1ZWQubmV0PgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21h aW5AeyMxMDYzNDc4fQotLS0tCi0gLi4uL21ldGFkYXRhL2NjL3V0aWxzL3ppcF9yZWFkb25seV9t ZW1fZmlsZS5jYyAgICAgICAgICAgICAgICAgIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGlu c2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvdGZs aXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxz L3ppcF9yZWFkb25seV9tZW1fZmlsZS5jYyBiL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3Ny Yy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlf bWVtX2ZpbGUuY2MKLWluZGV4IDM5MmI2YjQxMWZlLi41MjVhZTRhMmI0NSAxMDA2NDQKLS0tLSBh L3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9t ZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2ZpbGUuY2MKLSsrKyBiL3RoaXJkX3Bh cnR5L3RmbGl0ZV9zdXBwb3J0L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9j Yy91dGlscy96aXBfcmVhZG9ubHlfbWVtX2ZpbGUuY2MKLUBAIC0xOSw3ICsxOSw3IEBAIGxpbWl0 YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICNpbmNsdWRlIDxjc3RkaW8+Ci0gCi0gI2luY2x1 ZGUgImFic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oIiAgLy8gZnJvbSBAY29tX2dvb2dsZV9hYnNs Ci0tI2luY2x1ZGUgImNvbnRyaWIvbWluaXppcC9pb2FwaS5oIgotKyNpbmNsdWRlICJ0aGlyZF9w YXJ0eS96bGliL2NvbnRyaWIvbWluaXppcC9pb2FwaS5oIgotIAotIG5hbWVzcGFjZSB0ZmxpdGUg ewotIG5hbWVzcGFjZSBtZXRhZGF0YSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA4YjEzYzZhMDU2YTguLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvcmVtb3ZlLXN0cmlwX2JpbmFyeS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMyICswLDAg QEAKLS0tLSBhL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbi5vcmlnCi0rKysgYi9j aHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvQlVJTEQuZ24KLUBAIC0zMDgsMTEgKzMwOCw3IEBACi0g ICB9Ci0gfQotIAotLWlmIChpc19saW51eCkgewotLSAgY2hyb21lZHJpdmVyX291dHB1dCA9ICJj aHJvbWVkcml2ZXIudW5zdHJpcHBlZCIKLS19IGVsc2UgewotLSAgY2hyb21lZHJpdmVyX291dHB1 dCA9ICJjaHJvbWVkcml2ZXIiCi0tfQotK2Nocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJp dmVyIgotIAotIGV4ZWN1dGFibGUoIiRjaHJvbWVkcml2ZXJfb3V0cHV0IikgewotICAgdGVzdG9u bHkgPSB0cnVlCi1AQCAtMzM2LDE2ICszMzIsNiBAQAotICAgfQotIH0KLSAKLS1pZiAoaXNfbGlu dXgpIHsKLS0gIHN0cmlwX2JpbmFyeSgiY2hyb21lZHJpdmVyIikgewotLSAgICB0ZXN0b25seSA9 IHRydWUKLS0gICAgYmluYXJ5X2lucHV0ID0gIiRyb290X291dF9kaXIvJGNocm9tZWRyaXZlcl9v dXRwdXQiCi0tICAgIHN5bWJvbF9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJvbWVkcml2ZXIu ZGVidWciCi0tICAgIHN0cmlwcGVkX2JpbmFyeV9vdXRwdXQgPSAiJHJvb3Rfb3V0X2Rpci9jaHJv bWVkcml2ZXIiCi0tICAgIGRlcHMgPSBbICI6JGNocm9tZWRyaXZlcl9vdXRwdXQiIF0KLS0gIH0K LS19Ci0tCi0gcHl0aG9uX2xpYnJhcnkoImNocm9tZWRyaXZlcl9weV90ZXN0cyIpIHsKLSAgIHRl c3Rvbmx5ID0gdHJ1ZQotICAgZGVwcyA9IFsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy94eHgtcHBjNjRsZS00ay1wYWdlcy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy94eHgtcHBjNjRsZS00ay1wYWdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMjhjNGFkMzVmMTRlLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3h4eC1wcGM2NGxlLTRrLXBhZ2VzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAg KzAsMCBAQAotY29tbWl0IDQ1ODA5Zjg1YmMzNTI0Zjg2N2U2ZTk1NGY0NDRmZGRkMjMzMzI0NWEK LUF1dGhvcjogcTY2IDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KLURhdGU6ICAgRnJpIEphbiA3IDE4 OjE4OjUyIDIwMjIgKzAxMDAKLQotICAgIHN3aXRjaCBwcGM2NCB0byA0ayBwYWdlcwotICAgIAot ICAgIHNpbmNlIHRoZSBwYXJ0aXRpb24gYWxsb2NhdG9yIGFwcGVhcnMgdG8gaGF0ZSBsYXJnZXIg Y29uc3RhbnRzCi0gICAgYW5kIGF0IHRoaXMgcG9pbnQgZXJyb3JzIGF0IGNvbXBpbGUgdGltZSBh bmQgaSBhbSBub3Qgd2lsbGluZwotICAgIHRvIHdhZGUgdGhyb3VnaCB0aGlzIHBpbGUgb2YgY3Vy c2UgYW5kIHdlIHVzZSA0ayBrZXJuZWxzIGFueXdheSwKLSAgICBhc3N1bWUgNEsgcGFnZXMgZm9y IHBwYzY0Ci0KLWRpZmYgLS1naXQgYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9y L3BhZ2VfYWxsb2NhdG9yX2NvbnN0YW50cy5oIGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2Fs bG9jYXRvci9wYWdlX2FsbG9jYXRvcl9jb25zdGFudHMuaAotaW5kZXggYmZkNTc1My4uMDQ1MDgy YiAxMDA2NDQKLS0tLSBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFnZV9h bGxvY2F0b3JfY29uc3RhbnRzLmgKLSsrKyBiL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Y2F0b3IvcGFnZV9hbGxvY2F0b3JfY29uc3RhbnRzLmgKLUBAIC02OSw3ICs2OSw3IEBAIG5hbWVz cGFjZSBiYXNlIHsKLQotIFBBR0VfQUxMT0NBVE9SX0NPTlNUQU5UU19ERUNMQVJFX0NPTlNURVhQ UiBQQV9BTFdBWVNfSU5MSU5FIHNpemVfdAotIFBhZ2VBbGxvY2F0aW9uR3JhbnVsYXJpdHlTaGlm dCgpIHsKLS0jaWYgQlVJTERGTEFHKElTX1dJTikgfHwgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkK LSsjaWYgQlVJTERGTEFHKElTX1dJTikKLSAgIC8vIE1vZGVybiBwcGM2NCBzeXN0ZW1zIHN1cHBv cnQgNGtCIChzaGlmdCA9IDEyKSBhbmQgNjRrQiAoc2hpZnQgPSAxNikgcGFnZQotICAgLy8gc2l6 ZXMuICBTaW5jZSA2NGtCIGlzIHRoZSBkZSBmYWN0byBzdGFuZGFyZCBvbiB0aGUgcGxhdGZvcm0g YW5kIGJpbmFyaWVzCi0gICAvLyBjb21waWxlZCBmb3IgNjRrQiBhcmUgbGlrZWx5IHRvIHdvcmsg b24gNGtCIHN5c3RlbXMsIDY0a0IgaXMgYSBnb29kIGNob2ljZQotZGlmZiAtLWdpdCBhL2Jhc2Uv YWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbnN0YW50cy5o IGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29u c3RhbnRzLmgKLWluZGV4IDBiOTI2MGQuLjNlMDU0ZWMgMTAwNjQ0Ci0tLS0gYS9iYXNlL2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25zdGFudHMuaAotKysr IGIvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29u c3RhbnRzLmgKLUBAIC05MCwxMSArOTAsNiBAQAotIFBhcnRpdGlvblBhZ2VTaGlmdCgpIHsKLSAg IHJldHVybiAxNjsgIC8vIDY0IEtpQgotIH0KLS0jZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0 KQotLVBBR0VfQUxMT0NBVE9SX0NPTlNUQU5UU19ERUNMQVJFX0NPTlNURVhQUiBQQV9BTFdBWVNf SU5MSU5FIHNpemVfdAotLVBhcnRpdGlvblBhZ2VTaGlmdCgpIHsKLS0gIHJldHVybiAxODsgIC8v IDI1NiBLaUIKLS19Ci0gI2VsaWYgKEJVSUxERkxBRyhJU19BUFBMRSkgJiYgZGVmaW5lZChBUkNI X0NQVV82NF9CSVRTKSkgfHwgXAotICAgICAoQlVJTERGTEFHKElTX0xJTlVYKSAmJiBkZWZpbmVk KEFSQ0hfQ1BVX0FSTTY0KSkKLSBQQUdFX0FMTE9DQVRPUl9DT05TVEFOVFNfREVDTEFSRV9DT05T VEVYUFIgUEFfQUxXQVlTX0lOTElORSBzaXplX3QKLS0tLSBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRp dGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2ZvcndhcmQuaAotKysrIGIvYmFzZS9hbGxv Y2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfZm9yd2FyZC5oCi1AQCAt MjUsMTIgKzI1LDE3IEBACi0gLy8gdGhlIHNlY29uZCBvbmUgMTYuIFdlIGNvdWxkIHRlY2huaWNh bGx5IHJldHVybiBzb21ldGhpbmcgZGlmZmVyZW50IGZvcgotIC8vIG1hbGxvYygpIGFuZCBvcGVy YXRvciBuZXcoKSwgYnV0IHRoaXMgd291bGQgY29tcGxpY2F0ZSB0aGluZ3MsIGFuZCBtb3N0IG9m Ci0gLy8gb3VyIGFsbG9jYXRpb25zIGFyZSBwcmVzdW1hYmx5IGNvbWluZyBmcm9tIG9wZXJhdG9y IG5ldygpIGFueXdheS4KLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKy8qIHdlIHdhbnQg dGhpcyB0byBiZSAxNiBoZXJlIGFsd2F5cyAqLwotK2NvbnN0ZXhwciBzaXplX3Qga0FsaWdubWVu dCA9IDE2OwotKyNlbHNlCi0gY29uc3RleHByIHNpemVfdCBrQWxpZ25tZW50ID0KLSAgICAgc3Rk OjptYXgoYWxpZ25vZihtYXhfYWxpZ25fdCksCi0gICAgICAgICAgICAgIHN0YXRpY19jYXN0PHNp emVfdD4oX19TVERDUFBfREVGQVVMVF9ORVdfQUxJR05NRU5UX18pKTsKLSBzdGF0aWNfYXNzZXJ0 KGtBbGlnbm1lbnQgPD0gMTYsCi0gICAgICAgICAgICAgICAiUGFydGl0aW9uQWxsb2MgZG9lc24n dCBzdXBwb3J0IGEgZnVuZGFtZW50YWwgYWxpZ25tZW50IGxhcmdlciAiCi0gICAgICAgICAgICAg ICAidGhhbiAxNiBieXRlcy4iKTsKLSsjZW5kaWYKLSAKLSBjb25zdGV4cHIgYm9vbCBUaHJlYWRT YWZlID0gdHJ1ZTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgt cHBjNjRsZS1saWJ2cHgucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0 bGUtbGlidnB4LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwYzAzYWQ0YTY1 ZWIuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0 bGUtbGlidnB4LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzMgKzAsMCBAQAotY29tbWl0IDk4 MTQzN2JjODQ2ZmNkYjg1NDA2MmU4OWZkM2Q4NmYxMTJlNWY0MjYKLUF1dGhvcjogcTY2IDxkYW5p ZWxAb2N0YWZvcmdlLm9yZz4KLURhdGU6ICAgU2F0IEp1biAyNSAxMjozNTozNyAyMDIyICswMjAw Ci0KLSAgICBVc2UgZ2VuZXJpYyB0YXJnZXQgZm9yIG5vdy4KLSAgICAKLSAgICBUaGlzIGlzIGJl Y2F1c2UgdGhlIHNvdXJjZSB0cmVlIGlzIG1pc3NpbmcgdnN4IG9wdGltaXphdGlvbnMgdGhhdAot ICAgIHRoZW4gZG8gbm90IGdldCBpbmNsdWRlZCBhbmQgcmVzdWx0IGluIGZhaWxlZCBsaW5raW5n IHN1Y2ggYXM6Ci0gICAgCi0gICAgbGQubGxkOiBlcnJvcjogdW5kZWZpbmVkIHN5bWJvbDogdnB4 X21zZTE2eDE2X3ZzeAotCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRl X2duaS5zaCBiL3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gKLWluZGV4IDc0Mjkw ODAuLjQzZWUyOWEgMTAwNzU1Ci0tLS0gYS90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25p LnNoCi0rKysgYi90aGlyZF9wYXJ0eS9saWJ2cHgvZ2VuZXJhdGVfZ25pLnNoCi1AQCAtNDA1LDcg KzQwNSw3IEBACi0gZ2VuX2NvbmZpZ19maWxlcyBsaW51eC9taXBzNjRlbCAiLS10YXJnZXQ9bWlw czY0LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9IgotIGdlbl9jb25maWdfZmlsZXMgbGludXgv bG9vbmdhcmNoIFwKLSAgICItLXRhcmdldD1sb29uZ2FyY2g2NC1saW51eC1nY2MgJHthbGxfcGxh dGZvcm1zfSIKLS1nZW5fY29uZmlnX2ZpbGVzIGxpbnV4L3BwYzY0ICItLXRhcmdldD1wcGM2NGxl LWxpbnV4LWdjYyAke2FsbF9wbGF0Zm9ybXN9IgotK2dlbl9jb25maWdfZmlsZXMgbGludXgvcHBj NjQgIi0tdGFyZ2V0PWdlbmVyaWMtZ251ICR7YWxsX3BsYXRmb3Jtc30iCi0gZ2VuX2NvbmZpZ19m aWxlcyBsaW51eC9nZW5lcmljICItLXRhcmdldD1nZW5lcmljLWdudSAkSElHSEJEICR7YWxsX3Bs YXRmb3Jtc30iCi0gZ2VuX2NvbmZpZ19maWxlcyB3aW4vYXJtNjQgXAotICAgIi0tdGFyZ2V0PWFy bTY0LXdpbjY0LXZzMTUgJHthbGxfcGxhdGZvcm1zfSAke0hJR0hCRH0iCi1AQCAtNDY4LDcgKzQ2 OCw3IEBACi0gZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L21pcHNlbCBtaXBzZWwKLSBnZW5fcnRjZF9o ZWFkZXIgbGludXgvbWlwczY0ZWwgbWlwczY0ZWwKLSBnZW5fcnRjZF9oZWFkZXIgbGludXgvbG9v bmdhcmNoIGxvb25nYXJjaAotLWdlbl9ydGNkX2hlYWRlciBsaW51eC9wcGM2NCBwcGMKLStnZW5f cnRjZF9oZWFkZXIgbGludXgvcHBjNjQgZ2VuZXJpYwotIGdlbl9ydGNkX2hlYWRlciBsaW51eC9n ZW5lcmljIGdlbmVyaWMKLSBnZW5fcnRjZF9oZWFkZXIgd2luL2FybTY0IGFybXY4Ci0gZ2VuX3J0 Y2RfaGVhZGVyIHdpbi9pYTMyIHg4NiAiJHtyZXF1aXJlX3NzZTJ9IgpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5wYXRj aCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zYW5kYm94LWxpbnV4LXN0 YXQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDRiZmI1ZDQ5NGIwNi4uMDAw MDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zYW5k Ym94LWxpbnV4LXN0YXQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMSArMCwwIEBACi0tLS0g YS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAotKysrIGIvc2FuZGJv eC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zdGF0LmgKLUBAIC0xNTUsNiArMTU1LDI4IEBA IHN0cnVjdCBrZXJuZWxfc3RhdCB7Ci0gICB1bnNpZ25lZCBpbnQgX191bnVzZWQ0OwotICAgdW5z aWduZWQgaW50IF9fdW51c2VkNTsKLSB9OwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LStzdHJ1Y3Qga2VybmVsX3N0YXQgewotKyAgdW5zaWduZWQgbG9uZwlzdF9kZXY7Ci0rICB1bnNp Z25lZCBsb25nCXN0X2lubzsKLSsgIHVuc2lnbmVkIGxvbmcJc3Rfbmxpbms7Ci0rICB1bnNpZ25l ZCBpbnQJc3RfbW9kZTsKLSsgIHVuc2lnbmVkIGludAlzdF91aWQ7Ci0rICB1bnNpZ25lZCBpbnQJ c3RfZ2lkOwotKyAgdW5zaWduZWQgbG9uZwlzdF9yZGV2OwotKyAgbG9uZwkJc3Rfc2l6ZTsKLSsg IHVuc2lnbmVkIGxvbmcJc3RfYmxrc2l6ZTsKLSsgIHVuc2lnbmVkIGxvbmcJc3RfYmxvY2tzOwot KyAgdW5zaWduZWQgbG9uZwlzdF9hdGltZV87Ci0rICB1bnNpZ25lZCBsb25nCXN0X2F0aW1lX25z ZWNfOwotKyAgdW5zaWduZWQgbG9uZwlzdF9tdGltZV87Ci0rICB1bnNpZ25lZCBsb25nCXN0X210 aW1lX25zZWNfOwotKyAgdW5zaWduZWQgbG9uZwlzdF9jdGltZV87Ci0rICB1bnNpZ25lZCBsb25n CXN0X2N0aW1lX25zZWNfOwotKyAgdW5zaWduZWQgbG9uZwlfX3VudXNlZDQ7Ci0rICB1bnNpZ25l ZCBsb25nCV9fdW51c2VkNTsKLSsgIHVuc2lnbmVkIGxvbmcJX191bnVzZWQ2OwotK307Ci0gI2Vu ZGlmCi0gCi0gLy8gT24gMzItYml0IHN5c3RlbXMsIHdlIGRlZmF1bHQgdG8gdGhlIDY0LWJpdCBz dGF0IHN0cnVjdCBsaWtlIGxpYmMKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4 eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBi YzUwNTM1ODkxNi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzU5MCArMCwwIEBA Ci1jb21taXQgMmMwMTNhMzE3YjExMTRlZjY3Y2RiYmMzMDgyNGIyODkwN2I5ZWE5NAotQXV0aG9y OiBEYW5pZWwgS29sZXNhIDxkYW5pZWxAb2N0YWZvcmdlLm9yZz4KLURhdGU6ICAgV2VkIE1hciAz IDE5OjA4OjI5IDIwMjEgKzAxMDAKLQotICAgIHBwYzY0bGUgc3VwcG9ydAotCi1kaWZmIC0tZ2l0 IGEvYnVpbGQvZG93bmxvYWRfbmFjbF90b29sY2hhaW5zLnB5IGIvYnVpbGQvZG93bmxvYWRfbmFj bF90b29sY2hhaW5zLnB5Ci1pbmRleCAyODZhOTJhMjcuLmVjMzZhODVkMyAxMDA3NTUKLS0tLSBh L2J1aWxkL2Rvd25sb2FkX25hY2xfdG9vbGNoYWlucy5weQotKysrIGIvYnVpbGQvZG93bmxvYWRf bmFjbF90b29sY2hhaW5zLnB5Ci1AQCAtMTMsNiArMTMsMTAgQEAgaW1wb3J0IHN5cwotIAotIAot IGRlZiBNYWluKGFyZ3MpOgotKyAgIyBJZiBgZGlzYWJsZV9uYWNsPTFgIGlzIGluIEdZUF9ERUZJ TkVTLCBleGl0Ci0rICBpZiAnZGlzYWJsZV9uYWNsPTEnIGluIG9zLmVudmlyb24uZ2V0KCdHWVBf REVGSU5FUycsICcnKToKLSsgICAgcmV0dXJuIDAKLSsKLSAgIHNjcmlwdF9kaXIgPSBvcy5wYXRo LmRpcm5hbWUob3MucGF0aC5hYnNwYXRoKF9fZmlsZV9fKSkKLSAgIHNyY19kaXIgPSBvcy5wYXRo LmRpcm5hbWUoc2NyaXB0X2RpcikKLSAgIG5hY2xfZGlyID0gb3MucGF0aC5qb2luKHNyY19kaXIs ICduYXRpdmVfY2xpZW50JykKLS0tLSBhL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24K LSsrKyBiL2Nocm9tZS9pbnN0YWxsZXIvbGludXgvQlVJTEQuZ24KLUBAIC05Nyw4ICs5Nyw2IEBA Ci0gICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci94ZGctbWltZSIsCi0gICAgICAg ICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci94ZGctc2V0dGluZ3MiLAotICAgICAgICAgICAg ICAgICAgICAgIiRyb290X291dF9kaXIvbG9jYWxlcy9lbi1VUy5wYWsiLAotLSAgICAgICAgICAg ICAgICAgICAgIiRyb290X291dF9kaXIvTUVJUHJlbG9hZC9tYW5pZmVzdC5qc29uIiwKLS0gICAg ICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL01FSVByZWxvYWQvcHJlbG9hZGVkX2RhdGEu cGIiLAotICAgICAgICAgICAgICAgICAgIF0KLSAKLSBhY3Rpb25fZm9yZWFjaCgiY2FsY3VsYXRl X2RlYl9kZXBlbmRlbmNpZXMiKSB7Ci1AQCAtMzc3LDcgKzM3Nyw2IEBACi0gICAgICIvL2Nocm9t ZSIsCi0gICAgICIvL2Nocm9tZTpwYWNrZWRfcmVzb3VyY2VzIiwKLSAgICAgIi8vY2hyb21lL2Jy b3dzZXIvZW50ZXJwcmlzZS9jb25uZWN0b3JzL2RldmljZV90cnVzdC9rZXlfbWFuYWdlbWVudC9p bnN0YWxsZXIvbWFuYWdlbWVudF9zZXJ2aWNlOmNocm9tZV9tYW5hZ2VtZW50X3NlcnZpY2UiLAot LSAgICAiLy9jaHJvbWUvYnJvd3Nlci9yZXNvdXJjZXMvbWVkaWEvbWVpX3ByZWxvYWQ6Y29tcG9u ZW50IiwKLSAgICAgIi8vY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcDpjaHJvbWVfY3Jhc2hwYWRf aGFuZGxlciIsCi0gICAgICIvL3NhbmRib3gvbGludXg6Y2hyb21lX3NhbmRib3giLAotICAgXQot ZGlmZiAtLWdpdCBhL3NhbmRib3gvZmVhdHVyZXMuZ25pIGIvc2FuZGJveC9mZWF0dXJlcy5nbmkK LWluZGV4IGRiMzBhZTZkNi4uOWRjMDliZjUzIDEwMDY0NAotLS0tIGEvc2FuZGJveC9mZWF0dXJl cy5nbmkKLSsrKyBiL3NhbmRib3gvZmVhdHVyZXMuZ25pCi1AQCAtMTEsNyArMTEsOCBAQCBpbXBv cnQoIi8vYnVpbGQvY29uZmlnL25hY2wvY29uZmlnLmduaSIpCi0gdXNlX3NlY2NvbXBfYnBmID0g KGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpICYmCi0gICAgICAgICAgICAg ICAgICAgKGN1cnJlbnRfY3B1ID09ICJ4ODYiIHx8IGN1cnJlbnRfY3B1ID09ICJ4NjQiIHx8Ci0g ICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJhcm0iIHx8IGN1cnJlbnRfY3B1ID09 ICJhcm02NCIgfHwKLS0gICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gIm1pcHNlbCIg fHwgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIikKLSsgICAgICAgICAgICAgICAgICAgY3VycmVu dF9jcHUgPT0gIm1pcHNlbCIgfHwgY3VycmVudF9jcHUgPT0gIm1pcHM2NGVsIiB8fAotKyAgICAg ICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9PSAicHBjNjQiKQotIAotIHVzZV9zZWNjb21wX2Jw ZiA9IHVzZV9zZWNjb21wX2JwZiB8fCBpc19uYWNsX25vbnNmaQotIAotZGlmZiAtLWdpdCBhL3Nh bmRib3gvbGludXgvQlVJTEQuZ24gYi9zYW5kYm94L2xpbnV4L0JVSUxELmduCi1pbmRleCBlOWE5 NGI0NjEuLmNjYTFhNWRhNSAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvQlVJTEQuZ24KLSsr KyBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24KLUBAIC00MjcsNiArNDI3LDggQEAgY29tcG9uZW50 KCJzYW5kYm94X3NlcnZpY2VzIikgewotIAotIHNvdXJjZV9zZXQoInNhbmRib3hfc2VydmljZXNf aGVhZGVycyIpIHsKLSAgIHNvdXJjZXMgPSBbCi0rICAgICJzeXN0ZW1faGVhZGVycy9wcGM2NF9s aW51eF9zeXNjYWxscy5oIiwKLSsgICAgInN5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3Vjb250 ZXh0LmgiLAotICAgICAic3lzdGVtX2hlYWRlcnMvYXJtNjRfbGludXhfc3lzY2FsbHMuaCIsCi0g ICAgICJzeXN0ZW1faGVhZGVycy9hcm1fbGludXhfc3lzY2FsbHMuaCIsCi0gICAgICJzeXN0ZW1f aGVhZGVycy9hcm1fbGludXhfdWNvbnRleHQuaCIsCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51 eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmggYi9zYW5kYm94L2xpbnV4L2JwZl9kc2wv bGludXhfc3lzY2FsbF9yYW5nZXMuaAotaW5kZXggMzEzNTExZjIyLi4wY2EzYTMyNmYgMTAwNjQ0 Ci0tLS0gYS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaAotKysr IGIvc2FuZGJveC9saW51eC9icGZfZHNsL2xpbnV4X3N5c2NhbGxfcmFuZ2VzLmgKLUBAIC01Niw2 ICs1NiwxMyBAQAotICNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxMIF9fTlJfc3lzY2FsbHMKLSAj ZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNfU1lTQ0FMTAotIAotKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsKLSsjaW5jbHVkZSA8YXNtLWdlbmVyaWMvdW5pc3RkLmg+Ci0rI2Rl ZmluZSBNSU5fU1lTQ0FMTCAwdQotKyNkZWZpbmUgTUFYX1BVQkxJQ19TWVNDQUxMIF9fTlJfc3lz Y2FsbHMKLSsjZGVmaW5lIE1BWF9TWVNDQUxMIE1BWF9QVUJMSUNfU1lTQ0FMTAotKwotICNlbHNl Ci0gI2Vycm9yICJVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUiCi0gI2VuZGlmCi1kaWZmIC0tZ2l0 IGEvc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmggYi9zYW5kYm94L2xpbnV4 L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAotaW5kZXggMWE0MDdiOTUyLi5hNmFlYzU0NGUgMTAw NjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAotKysrIGIv c2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKLUBAIC0xNiw2ICsxNiw5IEBA Ci0gI2lmIGRlZmluZWQoX19taXBzX18pCi0gLy8gc3lzL3VzZXIuaCBpbiBlZ2xpYmMgbWlzc2Vz IHNpemVfdCBkZWZpbml0aW9uCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsvLyBNYW51YWxseSBkZWZpbmUgZ3JlZ190IG9uIHBwYzY0Ci0rdHlw ZWRlZiB1bnNpZ25lZCBsb25nIGxvbmcgZ3JlZ190OwotICNlbmRpZgotICNlbmRpZgotIAotQEAg LTM0Niw2ICszNDksNTEgQEAgc3RydWN0IHJlZ3Nfc3RydWN0IHsKLSAjZGVmaW5lIFNFQ0NPTVBf UFRfUEFSTTQoX3JlZ3MpIChfcmVncykucmVnc1szXQotICNkZWZpbmUgU0VDQ09NUF9QVF9QQVJN NShfcmVncykgKF9yZWdzKS5yZWdzWzRdCi0gI2RlZmluZSBTRUNDT01QX1BUX1BBUk02KF9yZWdz KSAoX3JlZ3MpLnJlZ3NbNV0KLSsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rI2lu Y2x1ZGUgPGFzbS9wdHJhY2UuaD4KLSsKLSt0eXBlZGVmIHN0cnVjdCBwdF9yZWdzIHJlZ3Nfc3Ry dWN0OwotKwotKyNpZmRlZiBBUkNIX0NQVV9MSVRUTEVfRU5ESUFOCi0rI2RlZmluZSBTRUNDT01Q X0FSQ0ggQVVESVRfQVJDSF9QUEM2NExFCi0rI2Vsc2UKLSsjZGVmaW5lIFNFQ0NPTVBfQVJDSCBB VURJVF9BUkNIX1BQQzY0Ci0rI2VuZGlmCi0rCi0rI2RlZmluZSBTRUNDT01QX1JFRyhfY3R4LCBf cmVnKSAoKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5ncHJbX3JlZ10pCi0rCi0rI2RlZmluZSBT RUNDT01QX1JFU1VMVChfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAzKQotKyNkZWZpbmUgU0VDQ09N UF9TWVNDQUxMKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDApCi0rI2RlZmluZSBTRUNDT01QX0lQ KF9jdHgpIChfY3R4KS0+dWNfbWNvbnRleHQucmVncy0+bmlwCi0rI2RlZmluZSBTRUNDT01QX1BB Uk0xKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCi0rI2RlZmluZSBTRUNDT01QX1BBUk0yKF9j dHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDQpCi0rI2RlZmluZSBTRUNDT01QX1BBUk0zKF9jdHgpIFNF Q0NPTVBfUkVHKF9jdHgsIDUpCi0rI2RlZmluZSBTRUNDT01QX1BBUk00KF9jdHgpIFNFQ0NPTVBf UkVHKF9jdHgsIDYpCi0rI2RlZmluZSBTRUNDT01QX1BBUk01KF9jdHgpIFNFQ0NPTVBfUkVHKF9j dHgsIDcpCi0rI2RlZmluZSBTRUNDT01QX1BBUk02KF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDgp Ci0rCi0rI2RlZmluZSBTRUNDT01QX05SX0lEWCAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2VjY29t cF9kYXRhLCBucikpCi0rI2RlZmluZSBTRUNDT01QX0FSQ0hfSURYIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIGFyY2gpKQotKyNkZWZpbmUgU0VDQ09NUF9JUF9NU0JfSURYIFwK LSsgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50 ZXIpICsgNCkKLSsjZGVmaW5lIFNFQ0NPTVBfSVBfTFNCX0lEWCBcCi0rICAob2Zmc2V0b2Yoc3Ry dWN0IGFyY2hfc2VjY29tcF9kYXRhLCBpbnN0cnVjdGlvbl9wb2ludGVyKSArIDApCi0rI2RlZmlu ZSBTRUNDT01QX0FSR19NU0JfSURYKG5yKSBcCi0rICAob2Zmc2V0b2Yoc3RydWN0IGFyY2hfc2Vj Y29tcF9kYXRhLCBhcmdzKSArIDggKiAobnIpICsgNCkKLSsjZGVmaW5lIFNFQ0NPTVBfQVJHX0xT Ql9JRFgobnIpIFwKLSsgIChvZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyZ3Mp ICsgOCAqIChucikgKyAwKQotKwotKyNkZWZpbmUgU0VDQ09NUF9QVF9SRVNVTFQoX3JlZ3MpIChf cmVncykuZ3ByWzNdCi0rI2RlZmluZSBTRUNDT01QX1BUX1NZU0NBTEwoX3JlZ3MpIChfcmVncyku Z3ByWzBdCi0rI2RlZmluZSBTRUNDT01QX1BUX0lQKF9yZWdzKSAoX3JlZ3MpLm5pcAotKyNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNMShfcmVncykgKF9yZWdzKS5ncHJbM10KLSsjZGVmaW5lIFNFQ0NP TVBfUFRfUEFSTTIoX3JlZ3MpIChfcmVncykuZ3ByWzRdCi0rI2RlZmluZSBTRUNDT01QX1BUX1BB Uk0zKF9yZWdzKSAoX3JlZ3MpLmdwcls1XQotKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNChfcmVn cykgKF9yZWdzKS5ncHJbNl0KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTUoX3JlZ3MpIChfcmVn cykuZ3ByWzddCi0rI2RlZmluZSBTRUNDT01QX1BUX1BBUk02KF9yZWdzKSAoX3JlZ3MpLmdwcls4 XQotKwotICNlbHNlCi0gI2Vycm9yIFVuc3VwcG9ydGVkIHRhcmdldCBwbGF0Zm9ybQotIAotZGlm ZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xp Y3kuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5 LmNjCi1pbmRleCA2YTFlYzIzODkuLmYyMGM1ODJkZCAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKLSsrKyBiL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3kuY2MKLUBAIC04OCw3ICs4 OCw4IEBAIGJvb2wgSXNCYXNlbGluZVBvbGljeVdhdGNoZWQoaW50IHN5c25vKSB7Ci0gICAgICAg ICAgU3lzY2FsbFNldHM6OklzUHJjdGwoc3lzbm8pIHx8Ci0gICAgICAgICAgU3lzY2FsbFNldHM6 OklzUHJvY2Vzc0dyb3VwT3JTZXNzaW9uKHN5c25vKSB8fAotICNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBcCi0tICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgICAgICAgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChzeXNubykgfHwKLSAjZW5k aWYKLSAjaWYgZGVmaW5lZChfX2FybV9fKQotQEAgLTIyNyw3ICsyMjgsNyBAQCBSZXN1bHRFeHBy IEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9lcnJubywKLSAgIH0KLSAKLSAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlw c19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJj aDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIGlmIChzeXNubyA9PSBfX05SX21t YXApCi0gICAgIHJldHVybiBSZXN0cmljdE1tYXBGbGFncygpOwotICNlbmRpZgotQEAgLTI0NSw3 ICsyNDYsNyBAQCBSZXN1bHRFeHByIEV2YWx1YXRlU3lzY2FsbEltcGwoaW50IGZzX2RlbmllZF9l cnJubywKLSAgICAgcmV0dXJuIFJlc3RyaWN0UHJjdGwoKTsKLSAKLSAjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0g ICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotICAgaWYgKHN5c25vID09IF9fTlJfc29ja2V0cGFpcikgewot ICAgICAvLyBPbmx5IGFsbG93IEFGX1VOSVgsIFBGX1VOSVguIENyYXNoIGlmIGFueXRoaW5nIGVs c2UgaXMgc2Vlbi4KLSAgICAgc3RhdGljX2Fzc2VydChBRl9VTklYID09IFBGX1VOSVgsCi1AQCAt Mjg1LDcgKzI4Niw4IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVu aWVkX2Vycm5vLAotICAgfQotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0tICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMp KQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICBpZiAoU3lz Y2FsbFNldHM6OklzU29ja2V0Q2FsbChzeXNubykpCi0gICAgIHJldHVybiBSZXN0cmljdFNvY2tl dGNhbGxDb21tYW5kKCk7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYyBiL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNlbGluZV9wb2xpY3lfdW5pdHRlc3QuY2MKLWluZGV4 IDAxYzA0NmRkYS4uN2U1YTZiZTgyIDEwMDY0NAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21w LWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYwkyMDIxLTA0LTE1IDEzOjEx OjEwLjQ4MTU3OTQ3MCAtMDQwMAotKysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxw ZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVzdC5jYwkyMDIxLTA0LTE1IDEzOjEyOjQzLjUyNDgz MTM3NiAtMDQwMAotQEAgLTMwMiw3ICszMDIsNyBAQAotIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9f TlJfc3lzbG9nKQotIFRFU1RfQkFTRUxJTkVfU0lHU1lTKF9fTlJfdGltZXJfY3JlYXRlKQotIAot LSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKLSsjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pICYm ICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl9pbm90 aWZ5X2luaXQpCi0gVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl92c2VydmVyKQotICNlbmRpZgot ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFu ZGxlcnMuY2MgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc2lnc3lzX2hhbmRs ZXJzLmNjCi1pbmRleCAwMWMwNDZkZGEuLjdlNWE2YmU4MiAxMDA2NDQKLS0tLSBhL3NhbmRib3gv bGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuY2MKLSsrKyBiL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zaWdzeXNfaGFuZGxlcnMuY2MKLUBAIC0zNTgs NyArMzU4LDE2IEBACi0gICBpZiAoYXJncy5uciA9PSBfX05SX2ZzdGF0YXRfZGVmYXVsdCkgewot ICAgICBpZiAoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGFyZ3MuYXJnc1sxXSkgPT0g J1wwJyAmJgotICAgICAgICAgYXJncy5hcmdzWzNdID09IHN0YXRpY19jYXN0PHVpbnQ2NF90PihB VF9FTVBUWV9QQVRIKSkgewotLSAgICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0YXRfZGVmYXVs dCwgc3RhdGljX2Nhc3Q8aW50PihhcmdzLmFyZ3NbMF0pLAotKyAgICAgICAgICBpbnQgZmQgPSBz dGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSk7Ci0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSsgICAgICAvLyBPbiBwcGM2NCtnbGliYywgc29tZSBzeXNjYWxscyBzZWVtIHRvIGFjY2lk ZW50YWxseSBuZWdhdGUgdGhlIGZpcnN0Ci0rICAgICAgLy8gcGFyYW1ldGVyIHdoaWNoIGNhdXNl cyBjaGVja3MgYWdhaW5zdCBpdCB0byBmYWlsLiBGb3Igbm93LCBtYW51YWxseQotKyAgICAgIC8v IG5lZ2F0ZSB0aGVtIGJhY2suCi0rICAgICAgLy8gVE9ETzogSW52ZXN0aWdhdGUgdGhlIHJvb3Qg Y2F1c2UgYW5kIGZpeCBpbiBnbGliYwotKyAgICAgIGlmIChmZCA8IDApCi0rICAgICAgICBmZCA9 IC1mZDsKLSsjZW5kaWYKLSsgICAgICByZXR1cm4gc3lzY2FsbChfX05SX2ZzdGF0X2RlZmF1bHQs IGZkLAotICAgICAgICAgICAgICAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8ZGVmYXVsdF9zdGF0 X3N0cnVjdCo+KGFyZ3MuYXJnc1syXSkpOwotICAgICB9Ci0gICAgIHJldHVybiAtcmVpbnRlcnBy ZXRfY2FzdDxpbnRwdHJfdD4oZnNfZGVuaWVkX2Vycm5vKTsKLWRpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9u cy5jYyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRl cnNfcmVzdHJpY3Rpb25zLmNjCi1pbmRleCAyYTk3ZDM5MTYuLjhlODFhYTZjZiAxMDA2NDQKLS0t LSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNf cmVzdHJpY3Rpb25zLmNjCTIwMjEtMDQtMTQgMTQ6NDE6MDguMDAwMDAwMDAwIC0wNDAwCi0rKysg Yi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jl c3RyaWN0aW9ucy5jYwkyMDIxLTA0LTE1IDEzOjE3OjU3LjgwODcxNTczMyAtMDQwMAotQEAgLTM3 LDcgKzM3LDggQEAKLSAKLSAjaWYgKEJVSUxERkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElT X0NIUk9NRU9TX0xBQ1JPUykpICYmIFwKLSAgICAgIWRlZmluZWQoX19hcm1fXykgJiYgIWRlZmlu ZWQoX19hYXJjaDY0X18pICYmICAgICAgICAgICAgIFwKLS0gICAgIWRlZmluZWQoUFRSQUNFX0dF VF9USFJFQURfQVJFQSkKLSsgICAgIWRlZmluZWQoUFRSQUNFX0dFVF9USFJFQURfQVJFQSkgJiYg ICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAv LyBBbHNvIGluY2x1ZGUgYXNtL3B0cmFjZS1hYmkuaCBzaW5jZSBwdHJhY2UuaCBpbiBvbGRlciBs aWJjIChmb3IgaW5zdGFuY2UKLSAvLyB0aGUgb25lIGluIFVidW50dSAxNi4wNCBMVFMpIGlzIG1p c3NpbmcgUFRSQUNFX0dFVF9USFJFQURfQVJFQS4KLSAvLyBhc20vcHRyYWNlLWFiaS5oIGRvZXNu J3QgZXhpc3Qgb24gYXJtMzIgYW5kIFBUUkFDRV9HRVRfVEhSRUFEX0FSRUEgaXNuJ3QKLUBAIC00 NSw2ICs0NiwxMSBAQAotICNpbmNsdWRlIDxhc20vcHRyYWNlLWFiaS5oPgotICNlbmRpZgotIAot Ky8vIE9uIFBQQzY0LCBUQ0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBvZiBzdHJ1Y3QgdGVybWlv cywgc28gd2UgbXVzdCBpbmNsdWRlIHRlcm1pb3MuaAotKyNpZmRlZiBfX3Bvd2VycGM2NF9fCi0r I2luY2x1ZGUgPHRlcm1pb3MuaD4KLSsjZW5kaWYKLSsKLSAjaWYgQlVJTERGTEFHKElTX0FORFJP SUQpCi0gCi0gI2lmICFkZWZpbmVkKEZfRFVQRkRfQ0xPRVhFQykKLUBAIC05OSw2ICsxMDUsMTQg QEAKLSAgIHJldHVybiB0cnVlOwotICNlbHNlCi0gICByZXR1cm4gZmFsc2U7Ci0rI2VuZGlmCi0r fQotKwotK2lubGluZSBib29sIElzQXJjaGl0ZWN0dXJlUFBDNjQoKSB7Ci0rI2lmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgIHJldHVybiB0cnVlOwotKyNlbHNlCi0rICByZXR1cm4gZmFsc2U7 Ci0gI2VuZGlmCi0gfQotIAotQEAgLTIzOSw2ICsyNTQsOCBAQAotICAgdWludDY0X3Qga09MYXJn ZUZpbGVGbGFnID0gT19MQVJHRUZJTEU7Ci0gICBpZiAoSXNBcmNoaXRlY3R1cmVYODZfNjQoKSB8 fCBJc0FyY2hpdGVjdHVyZUkzODYoKSB8fCBJc0FyY2hpdGVjdHVyZU1pcHMoKSkKLSAgICAga09M YXJnZUZpbGVGbGFnID0gMDEwMDAwMDsKLSsgIGVsc2UgaWYgKElzQXJjaGl0ZWN0dXJlUFBDNjQo KSkKLSsgICAga09MYXJnZUZpbGVGbGFnID0gMDIwMDAwMDsKLSAKLSAgIGNvbnN0IEFyZzxpbnQ+ IGNtZCgxKTsKLSAgIGNvbnN0IEFyZzxsb25nPiBsb25nX2FyZygyKTsKLUBAIC0yNTYsNyArMjcz LDE2IEBACi0gICAgICAgICAgICAgICBGX1NFVExLVywKLSAgICAgICAgICAgICAgIEZfR0VUTEss Ci0gICAgICAgICAgICAgICBGX0RVUEZELAotLSAgICAgICAgICAgICAgRl9EVVBGRF9DTE9FWEVD KSwKLSsgICAgICAgICAgICAgIEZfRFVQRkRfQ0xPRVhFQwotKyNpZiBkZWZpbmVkKF9fcG93ZXJw YzY0X18pCi0rLy8gT24gUFBDNjQsIEZfU0VUTEssIEZfR0VUTEssIEZfU0VUTEtXIGFyZSBkZWZp bmVkIGFzIHRoZSA2NC1iaXQgdmFyaWFudHMKLSsvLyBidXQgZ2xpYmMgd2lsbCBzb21ldGltZXMg c3RpbGwgdXNlIHRoZSAzMi1iaXQgdmVyc2lvbnMuIEFsbG93IGJvdGguCi0rICAgICAgICAgICAg ICAsCi0rICAgICAgICAgICAgICA1LCAvKiBGX0dFVExLICgzMikgKi8KLSsgICAgICAgICAgICAg IDYsIC8qIEZfU0VUTEsgKDMyKSAqLwotKyAgICAgICAgICAgICAgNyAgLyogRl9TRVRMS1cgKDMy KSAqLwotKyNlbmRpZgotKwkgICAgICksCi0gICAgICAgICAgICAgIEFsbG93KCkpCi0gICAgICAg LkNhc2UoRl9TRVRGTCwKLSAgICAgICAgICAgICBJZigobG9uZ19hcmcgJiB+a0FsbG93ZWRNYXNr KSA9PSAwLCBBbGxvdygpKS5FbHNlKENyYXNoU0lHU1lTKCkpKQotQEAgLTI2Niw3ICsyOTIsNyBA QAotICAgLy8gY2xhbmctZm9ybWF0IG9uCi0gfQotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f bWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gUmVzdWx0RXhwciBSZXN0cmljdFNv Y2tldGNhbGxDb21tYW5kKCkgewotICAgLy8gVW5mb3J0dW5hdGVseSwgd2UgYXJlIHVuYWJsZSB0 byByZXN0cmljdCB0aGUgZmlyc3QgcGFyYW1ldGVyIHRvCi0gICAvLyBzb2NrZXRwYWlyKDIpLiBX aGlsc3QgaW5pdGlhbGx5IHNvdW5kaW5nIGJhZCwgaXQncyBub3Rld29ydGh5IHRoYXQgdmVyeQot QEAgLTQxOSw3ICs0NDUsNyBAQAotICNlbmRpZgotICAgcmV0dXJuIFN3aXRjaChyZXF1ZXN0KQot ICAgICAgIC5DQVNFUygoCi0tI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyNpZiAhZGVmaW5l ZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgICAgICAgICAg ICAgIFBUUkFDRV9HRVRSRUdTLCBQVFJBQ0VfR0VURlBSRUdTLCBQVFJBQ0VfR0VUX1RIUkVBRF9B UkVBLAotICAgICAgICAgICAgICAgICAgUFRSQUNFX0dFVFJFR1NFVCwKLSAjZW5kaWYKLWRpZmYg LS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0 ZXJzX3Jlc3RyaWN0aW9ucy5oIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5 c2NhbGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuaAotaW5kZXggYmE0Mjg5ZjA1Li45YTRkNWFi MmQgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2Fs bF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCi1AQCAtNDgsNyAr NDgsNyBAQCBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0TXByb3Rl Y3RGbGFncygpOwotIC8vIE9fTk9OQkxPQ0sgfCBPX1NZTkMgfCBPX0xBUkdFRklMRSB8IE9fQ0xP RVhFQyB8IE9fTk9BVElNRS4KLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJl c3RyaWN0RmNudGxDb21tYW5kcygpOwotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gLy8gUmVzdHJpY3Qgc29ja2V0Y2FsbCgyKSB0 byBvbmx5IGFsbG93IHNvY2tldHBhaXIoMiksIHNlbmQoMiksIHJlY3YoMiksCi0gLy8gc2VuZHRv KDIpLCByZWN2ZnJvbSgyKSwgc2h1dGRvd24oMiksIHNlbmRtc2coMikgYW5kIHJlY3Ztc2coMiku Ci0gU0FOREJPWF9FWFBPUlQgYnBmX2RzbDo6UmVzdWx0RXhwciBSZXN0cmljdFNvY2tldGNhbGxD b21tYW5kKCk7Ci1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L3N5c2NhbGxfc2V0cy5jYyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNj YWxsX3NldHMuY2MKLWluZGV4IDY0MmRmNzIwNy4uMzRmNDdlYjczIDEwMDY0NAotLS0tIGEvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotKysrIGIvc2Fu ZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotQEAgLTI5LDcg KzI5LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0dGltZShpbnQgc3lzbm8pIHsK LSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2dldHRpbWVvZmRheToKLSAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBcCi0tICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQot KyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19O Ul90aW1lOgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotQEAgLTUyLDEyICs1MywxNCBA QCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGludCBzeXNubykgewotICAgICBj YXNlIF9fTlJfY2xvY2tfbmFub3NsZWVwX3RpbWU2NDogIC8vIFBhcmFtZXRlcnMgZmlsdGVyZWQg YnkgUmVzdHJpY3RDbG9ja0lEKCkuCi0gI2VuZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgICAgY2FzZSBfX05SX2Z0aW1lOiAgLy8gT2Jzb2xldGUuCi0gI2VuZGlmCi0gICAgIGNhc2Ug X19OUl9zZXR0aW1lb2ZkYXk6ICAvLyBQcml2aWxlZ2VkLgotICNpZiBkZWZpbmVkKF9faTM4Nl9f KSB8fCBcCi0tICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9zdGltZToKLSAjZW5kaWYKLSAgICAgZGVmYXVsdDoKLUBAIC0x MzUsNyArMTM4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykg ewotICAgICBjYXNlIF9fTlJfZmFjY2Vzc2F0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8u Ci0gICAgIGNhc2UgX19OUl9mY2htb2RhdDoKLSAgICAgY2FzZSBfX05SX2ZjaG93bmF0OiAgLy8g U2hvdWxkIGJlIGNhbGxlZCBjaG93bmF0ID8KLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYWFyY2g2NF9fKQotKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX25l d2ZzdGF0YXQ6ICAvLyBmc3RhdGF0KCkuIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNlbGlm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotICAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLUBA IC0xNTQsNyArMTU3LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNu bykgewotICAgICBjYXNlIF9fTlJfbWVtZmRfY3JlYXRlOgotICAgICBjYXNlIF9fTlJfbWtkaXJh dDoKLSAgICAgY2FzZSBfX05SX21rbm9kYXQ6Ci0tI2lmIGRlZmluZWQoX19pMzg2X18pCi0rI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBf X05SX29sZGxzdGF0OgotICAgICBjYXNlIF9fTlJfb2xkc3RhdDoKLSAjZW5kaWYKLUBAIC0xNjgs NyArMTcxLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lzdGVtKGludCBzeXNubykgewot ICNlbmRpZgotICAgICBjYXNlIF9fTlJfc3RhdGZzOiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJy bm8uCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAg ICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9C SVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfc3RhdGZzNjQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zeW1saW5rYXQ6Ci1A QCAtMTc4LDcgKzE4Miw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRmlsZVN5c3RlbShpbnQgc3lz bm8pIHsKLSAgICAgY2FzZSBfX05SX3RydW5jYXRlNjQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19O Ul91bmxpbmthdDoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfdXRpbWU6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19O Ul91dGltZW5zYXQ6ICAvLyBOZXcuCi1AQCAtMjAzLDcgKzIwOCw4IEBAIGJvb2wgU3lzY2FsbFNl dHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKLSAjZW5kaWYK LSAgICAgICByZXR1cm4gdHJ1ZTsKLSAvLyBUT0RPKGpsbik6IHRoZXNlIHNob3VsZCBiZSBkZW5p ZWQgZ3JhY2VmdWxseSBhcyB3ZWxsIChtb3ZlZCBiZWxvdykuCi0tI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2ZhZHZp c2U2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNlbmRpZgotICNpZiBkZWZpbmVk KF9faTM4Nl9fKQotQEAgLTIxNiwxMSArMjIyLDEyIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxs b3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2Zs b2NrOiAgICAgIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICAgICBjYXNlIF9fTlJfZnN0 YXRmczogICAgLy8gR2l2ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgd2hvbGUgZmlsZXN5c3RlbS4K LSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0tICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMp KQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2Ug X19OUl9mc3RhdGZzNjQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9mc3luYzogIC8vIEVQRVJN IG5vdCBhIHZhbGlkIGVycm5vLgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQotKyNpZiBkZWZpbmVk KF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9vbGRm c3RhdDoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82 NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi1AQCAtMjI4LDYgKzIzNSw4IEBAIGJvb2wg U3lzY2FsbFNldHM6OklzQWxsb3dlZEZpbGVTeXN0ZW1BY2Nlc3NWaWFGZChpbnQgc3lzbm8pIHsK LSAgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVy cm5vLgotICNlbGlmIGRlZmluZWQoX19hcm1fXykKLSAgICAgY2FzZSBfX05SX2FybV9zeW5jX2Zp bGVfcmFuZ2U6ICAvLyBFUEVSTSBub3QgYSB2YWxpZCBlcnJuby4KLSsjZWxpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0rICAgIGNhc2UgX19OUl9zeW5jX2ZpbGVfcmFuZ2UyOiAvLyBFUEVSTSBu b3QgYSB2YWxpZCBlcnJuby4KLSAjZW5kaWYKLSAgICAgZGVmYXVsdDoKLSAgICAgICByZXR1cm4g ZmFsc2U7Ci1AQCAtMjQ4LDcgKzI1Nyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkRmls ZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgewotICNlbmRpZgotICAgICBjYXNlIF9fTlJf Z2V0ZGVudHM2NDogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBcCi0tICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9yZWFkZGlyOgotICNlbmRpZgotICAgICAgIHJldHVy biB0cnVlOwotQEAgLTI4OSw3ICsyOTksNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0dldFNpbXBs ZUlkKGludCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzUHJvY2Vzc1ByaXZpbGVnZUNo YW5nZShpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2Nh cHNldDoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotKyNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2lvcGVybTogIC8vIEludGVsIHByaXZpbGVnZS4K LSAgICAgY2FzZSBfX05SX2lvcGw6ICAgIC8vIEludGVsIHByaXZpbGVnZS4KLSAjZW5kaWYKLUBA IC0zNDAsOCArMzUwLDExIEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZFNpZ25hbEhhbmRs aW5nKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfcnRfc2lncmV0dXJuOgotICAgICBjYXNl IF9fTlJfcnRfc2lndGltZWR3YWl0OgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9fYXJtX18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRl ZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFN SUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSsjaWZuZGVmIF9fcG93ZXJwYzY0X18KLSAgICAgY2FzZSBfX05SX3J0X3Np Z3RpbWVkd2FpdF90aW1lNjQ6Ci0rI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zaWdhY3Rpb246Ci0g ICAgIGNhc2UgX19OUl9zaWdwcm9jbWFzazoKLSAgICAgY2FzZSBfX05SX3NpZ3JldHVybjoKLUBA IC0zNTcsNyArMzcwLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkU2lnbmFsSGFuZGxp bmcoaW50IHN5c25vKSB7Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zaWduYWxmZDQ6Ci0gI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsg ICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJf QklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJf c2lncGVuZGluZzoKLSAgICAgY2FzZSBfX05SX3NpZ3N1c3BlbmQ6Ci0gI2VuZGlmCi1AQCAtMzgx LDcgKzM5NSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZE9wZXJhdGlvbk9uRmQoaW50 IHN5c25vKSB7Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9kdXAzOgotICNpZiBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAot LSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zaHV0ZG93bjoKLSAjZW5kaWYK LSAgICAgICByZXR1cm4gdHJ1ZTsKLUBAIC00MTQsNyArNDI4LDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8pIHsKLSAgICAgY2FzZSBf X05SX2V4aXRfZ3JvdXA6Ci0gICAgIGNhc2UgX19OUl93YWl0NDoKLSAgICAgY2FzZSBfX05SX3dh aXRpZDoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfd2FpdHBpZDoKLSAjZW5kaWYK LSAgICAgICByZXR1cm4gdHJ1ZTsKLUBAIC00MzEsNyArNDQ1LDcgQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0T3JEZWF0aChpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAg ICAgY2FzZSBfX05SX3NldF90aWRfYWRkcmVzczoKLSAgICAgY2FzZSBfX05SX3Vuc2hhcmU6Ci0t I2lmICFkZWZpbmVkKF9fbWlwc19fKSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykKLSsjaWYgIWRl ZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl92Zm9yazoKLSAjZW5kaWYKLSAgICAgZGVmYXVsdDoK LUBAIC00ODQsNyArNDk4LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2V0T3JNb2Rp ZnlTb2NrZXQoaW50IHN5c25vKSB7Ci0gICAgICAgcmV0dXJuIHRydWU7Ci0gICAgIGRlZmF1bHQ6 Ci0gI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3Nv Y2tldHBhaXI6ICAvLyBXZSB3aWxsIHdhbnQgdG8gaW5zcGVjdCBpdHMgYXJndW1lbnQuCi0gI2Vu ZGlmCi0gICAgICAgcmV0dXJuIGZhbHNlOwotQEAgLTQ5NCw3ICs1MDgsNyBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKLSBib29sIFN5 c2NhbGxTZXRzOjpJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewotICAgc3dp dGNoIChzeXNubykgewotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQot KyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9hY2NlcHQ6Ci0gICAgIGNhc2UgX19OUl9hY2NlcHQ0OgotICAgICBjYXNlIF9f TlJfYmluZDoKLUBAIC01MDksNyArNTIzLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNEZW5pZWRH ZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKLSB9Ci0gCi0gI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAvLyBCaWcgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsIGZvciBzb2NrZXRzLgotIGJv b2wgU3lzY2FsbFNldHM6OklzU29ja2V0Q2FsbChpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lz bm8pIHsKLUBAIC01MjMsNyArNTM4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxs KGludCBzeXNubykgewotIH0KLSAjZW5kaWYKLSAKLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0r ICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSBib29sIFN5c2NhbGxTZXRzOjpJc05ldHdvcmtT b2NrZXRJbmZvcm1hdGlvbihpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAg Y2FzZSBfX05SX2dldHBlZXJuYW1lOgotQEAgLTU0OCw3ICs1NjQsNyBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0FsbG93ZWRBZGRyZXNzU3BhY2VBY2Nlc3MoaW50IHN5c25vKSB7Ci0gICAgIGNhc2Ug X19OUl9taW5jb3JlOgotICAgICBjYXNlIF9fTlJfbWxvY2thbGw6Ci0gI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAot LSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9tbWFwOgotICNlbmRpZgotICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKLUBAIC01NzgsNyAr NTk0LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykg ewotICAgc3dpdGNoIChzeXNubykgewotICAgICBjYXNlIF9fTlJfbHNlZWs6Ci0gI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp IHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfX2xsc2Vl azoKLSAjZW5kaWYKLSAjaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCi1AQCAtNTk4LDI2ICs2MTUs MjggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkR2VuZXJhbElvKGludCBzeXNubykgewot ICAgICBjYXNlIF9fTlJfcmVhZHY6Ci0gICAgIGNhc2UgX19OUl9wcmVhZDY0OgotICNpZiBkZWZp bmVkKF9fYXJtX18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3JlY3Y6Ci0gI2VuZGlmCi0gI2lmIGRlZmlu ZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8 fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18p IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3JlY3Zmcm9tOiAgLy8g Q291bGQgc3BlY2lmeSBzb3VyY2UuCi0gICAgIGNhc2UgX19OUl9yZWN2bXNnOiAgIC8vIENvdWxk IHNwZWNpZnkgc291cmNlLgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9feDg2XzY0X18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZf NjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfc2VsZWN0Ogot ICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRl ZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1f XykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfX25ld3NlbGVjdDoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2FybV9fKSB8fCBc Ci0tICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV XzMyX0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5l ZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0g ICAgIGNhc2UgX19OUl9zZW5kOgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVk KF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9zZW5kbXNnOiAgLy8gQ291bGQgc3BlY2lmeSBkZXN0 aW5hdGlvbi4KLSAgICAgY2FzZSBfX05SX3NlbmR0bzogICAvLyBDb3VsZCBzcGVjaWZ5IGRlc3Rp bmF0aW9uLgotICNlbmRpZgotQEAgLTY3Myw3ICs2OTIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsKLSAgICAgICByZXR1cm4gdHJ1ZTsK LSAgICAgY2FzZSBfX05SX2dldHByaW9yaXR5OgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkp ICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01J UFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX25pY2U6Ci0gI2VuZGlmCi0gICAgIGNh c2UgX19OUl9zZXRwcmlvcml0eToKLUBAIC02ODUsNyArNzA1LDggQEAgYm9vbCBTeXNjYWxsU2V0 czo6SXNBbGxvd2VkQmFzaWNTY2hlZHVsZXIoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0 czo6SXNBZG1pbk9wZXJhdGlvbihpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0tICAgIChkZWZp bmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQot KyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8z Ml9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19O Ul9iZGZsdXNoOgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfa2V4ZWNfbG9hZDoKLUBAIC03MDEs NyArNzIyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBZG1pbk9wZXJhdGlvbihpbnQgc3lzbm8p IHsKLSAKLSBib29sIFN5c2NhbGxTZXRzOjpJc0tlcm5lbE1vZHVsZShpbnQgc3lzbm8pIHsKLSAg IHN3aXRjaCAoc3lzbm8pIHsKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfY3JlYXRlX21vZHVsZToKLSAgICAgY2Fz ZSBfX05SX2dldF9rZXJuZWxfc3ltczogIC8vIFNob3VsZCBFTk9TWVMuCi0gICAgIGNhc2UgX19O Ul9xdWVyeV9tb2R1bGU6Ci1AQCAtNzM0LDcgKzc1Niw4IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz RnNDb250cm9sKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfc3dhcG9mZjoKLSAgICAgY2Fz ZSBfX05SX3N3YXBvbjoKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsg ICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJf QklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJf dW1vdW50OgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfdW1vdW50MjoKLUBAIC03NTAsNyArNzcz LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNOdW1hKGludCBzeXNubykgewotICAgICBjYXNlIF9f TlJfZ2V0Y3B1OgotICAgICBjYXNlIF9fTlJfbWJpbmQ6Ci0gI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9taWdyYXRlX3BhZ2VzOgotICNlbmRpZgot ICAgICBjYXNlIF9fTlJfbW92ZV9wYWdlczoKLUBAIC03ODUsMTQgKzgwOCwxNSBAQCBib29sIFN5 c2NhbGxTZXRzOjpJc0dsb2JhbFByb2Nlc3NFbnZpcm9ubWVudChpbnQgc3lzbm8pIHsKLSAgIHN3 aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2FjY3Q6ICAvLyBQcml2aWxlZ2VkLgotICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2Fh cmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZ2V0cmxp bWl0OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18p Ci0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfdWdldHJsaW1pdDoKLSAjZW5kaWYKLSAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlM WSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfdWxpbWl0OgotICNlbmRpZgotICAg ICBjYXNlIF9fTlJfZ2V0cnVzYWdlOgotQEAgLTgyNiw3ICs4NTAsNyBAQCBib29sIFN5c2NhbGxT ZXRzOjpJc0dsb2JhbFN5c3RlbVN0YXR1cyhpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAgICAgY2Fz ZSBfX05SX3N5c2luZm86Ci0gICAgIGNhc2UgX19OUl91bmFtZToKLS0jaWYgZGVmaW5lZChfX2kz ODZfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgICBjYXNlIF9fTlJfb2xkdW5hbWU6Ci0gICAgIGNhc2UgX19OUl9vbGRvbGR1bmFtZToKLSAj ZW5kaWYKLUBAIC04OTIsOCArOTE2LDE2IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVlNl bWFwaG9yZXMoaW50IHN5c25vKSB7Ci0gfQotICNlbmRpZgotIAotKy8qIHNoaXR0eSBoYWNrIGFy b3VuZCBWb2lkJ3MgNC4xOSBrZXJuZWwgaGVhZGVycyBtaXNzaW5nIHRob3NlIG51bWJlcnMgKi8K LSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAhZGVmaW5lZChfX05SX3NobWdldCkKLSsj ZGVmaW5lIF9fTlJfc2htZ2V0IDM5NQotKyNkZWZpbmUgX19OUl9zaG1jdGwgMzk2Ci0rI2RlZmlu ZSBfX05SX3NobWF0IDM5NwotKyNkZWZpbmUgX19OUl9zaG1kdCAzOTgKLSsjZW5kaWYKLSsKLSAj aWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9f YXJtX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCi0gICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKQotIC8vIFRoZXNlIGdpdmUgYSBs b3Qgb2YgYW1iaWVudCBhdXRob3JpdHkgYW5kIGJ5cGFzcyB0aGUgc2V0dWlkIHNhbmRib3guCi0g Ym9vbCBTeXNjYWxsU2V0czo6SXNTeXN0ZW1WU2hhcmVkTWVtb3J5KGludCBzeXNubykgewotQEAg LTkyNSw3ICs5NTcsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZNZXNzYWdlUXVldWUo aW50IHN5c25vKSB7Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKLS0g ICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJf QklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAvLyBC aWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgotIGJvb2wgU3lzY2FsbFNldHM6 OklzU3lzdGVtVklwYyhpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLUBAIC05NDUs NyArOTc4LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbnlTeXN0ZW1WKGludCBzeXNubykgewot ICAgcmV0dXJuIElzU3lzdGVtVk1lc3NhZ2VRdWV1ZShzeXNubykgfHwgSXNTeXN0ZW1WU2VtYXBo b3JlcyhzeXNubykgfHwKLSAgICAgICAgICBJc1N5c3RlbVZTaGFyZWRNZW1vcnkoc3lzbm8pOwot ICNlbGlmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQ U19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0r ICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIHJldHVybiBJc1N5c3RlbVZJcGMoc3lzbm8p OwotICNlbmRpZgotIH0KLUBAIC0xMDAyLDcgKzEwMzYsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c0ZhTm90aWZ5KGludCBzeXNubykgewotIGJvb2wgU3lzY2FsbFNldHM6OklzVGltZXIoaW50IHN5 c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9nZXRpdGltZXI6Ci0t I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChf X21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX2FsYXJtOgotICNlbmRpZgotICAgICBjYXNlIF9fTlJfc2V0aXRpbWVyOgot QEAgLTEwODQsMTggKzExMTksMjIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNu bykgewotICAgICBjYXNlIF9fTlJfc3luY2ZzOgotICAgICBjYXNlIF9fTlJfdmhhbmd1cDoKLSAv LyBUaGUgc3lzdGVtIGNhbGxzIGJlbG93IGFyZSBub3QgaW1wbGVtZW50ZWQuCi0tI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykK LSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBf X05SX2Fmc19zeXNjYWxsOgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0t ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9icmVhazoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsg ICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZ2V0cG1zZzoKLSAjZW5k aWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwK LSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZ3R0eToKLSAgICAg Y2FzZSBfX05SX2lkbGU6Ci0gICAgIGNhc2UgX19OUl9sb2NrOgotQEAgLTExMDMsMjAgKzExNDIs MjIgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNNaXNjKGludCBzeXNubykgewotICAgICBjYXNlIF9f TlJfcHJvZjoKLSAgICAgY2FzZSBfX05SX3Byb2ZpbDoKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChf X2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKQotKyNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJf cHV0cG1zZzoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKQotICAgICBjYXNlIF9f TlJfc2VjdXJpdHk6Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKLS0gICAg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hf Q1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2Fz ZSBfX05SX3N0dHk6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX194ODZfNjRfXykKLSsjaWYgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19O Ul90dXhjYWxsOgotICNlbmRpZgotLSNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKLSsjaWYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2Ug X19OUl92c2VydmVyOgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotZGlmZiAtLWdpdCBh L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaCBiL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAotaW5kZXggOTIzNTMz ZWM5Li40MTFmNzJhY2QgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhl bHBlcnMvc3lzY2FsbF9zZXRzLmgKLSsrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3NldHMuaAotQEAgLTQzLDEzICs0MywxNCBAQCBjbGFzcyBTQU5EQk9YX0VY UE9SVCBTeXNjYWxsU2V0cyB7Ci0gICBzdGF0aWMgYm9vbCBJc0RlbmllZEdldE9yTW9kaWZ5U29j a2V0KGludCBzeXNubyk7Ci0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IFwKLS0gICAgKGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykp Ci0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BV XzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIC8vIEJpZyBt dWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNvY2tldHMuCi0gICBzdGF0aWMgYm9vbCBJc1Nv Y2tldENhbGwoaW50IHN5c25vKTsKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVm aW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotICAgc3RhdGljIGJvb2wgSXNOZXR3b3JrU29ja2V0SW5mb3JtYXRpb24o aW50IHN5c25vKTsKLSAjZW5kaWYKLSAKLUBAIC03Niw3ICs3Nyw3IEBAIGNsYXNzIFNBTkRCT1hf RVhQT1JUIFN5c2NhbGxTZXRzIHsKLSAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNlbWFwaG9yZXMo aW50IHN5c25vKTsKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChf X3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNo NjRfXykgfHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAg ZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSB8fCBcCi0gICAg IChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJ VFMpKQotICAgLy8gVGhlc2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlw YXNzIHRoZSBzZXR1aWQgc2FuZGJveC4KLSAgIHN0YXRpYyBib29sIElzU3lzdGVtVlNoYXJlZE1l bW9yeShpbnQgc3lzbm8pOwotQEAgLTg4LDcgKzg5LDggQEAgY2xhc3MgU0FOREJPWF9FWFBPUlQg U3lzY2FsbFNldHMgewotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0t ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAv LyBCaWcgc3lzdGVtIFYgbXVsdGlwbGV4aW5nIHN5c3RlbSBjYWxsLgotICAgc3RhdGljIGJvb2wg SXNTeXN0ZW1WSXBjKGludCBzeXNubyk7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9s aW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9z eXNjYWxsLmNjCi1pbmRleCBlNDdlOThiZjUuLmQ1M2E3ZmY1NiAxMDA2NDQKLS0tLSBhL3NhbmRi b3gvbGludXgvc2VjY29tcC1icGYvc3lzY2FsbC5jYwotKysrIGIvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi9zeXNjYWxsLmNjCi1AQCAtMTgsNyArMTgsNyBAQCBuYW1lc3BhY2Ugc2FuZGJveCB7 Ci0gbmFtZXNwYWNlIHsKLSAKLSAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBk ZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1JTFkpIHx8IFwKLS0gICAgZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkKLSsgICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5l ZCAoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotIC8vIE51bWJlciB0aGF0J3Mgbm90IGN1cnJlbnRs eSB1c2VkIGJ5IGFueSBMaW51eCBrZXJuZWwgQUJJcy4KLSBjb25zdCBpbnQga0ludmFsaWRTeXNj YWxsTnVtYmVyID0gMHgzNTFkMzsKLSAjZWxzZQotQEAgLTMxMCwxMiArMzEwLDU2IEBAIGFzbSgv LyBXZSBuZWVkIHRvIGJlIGFibGUgdG8gdGVsbCB0aGUga2VybmVsIGV4YWN0bHkgd2hlcmUgd2Ug bWFkZSBhCi0gICAgIC8vIEVudGVyIHRoZSBrZXJuZWwKLSAgICAgInN2YyAwXG4iCi0gICAgICIy OnJldFxuIgotKyAgICAiLmNmaV9lbmRwcm9jXG4iCi0rICAgICIuc2l6ZSBTeXNjYWxsQXNtLCAu LVN5c2NhbGxBc21cbiIKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgICIudGV4 dFxuIgotKyAgICAiLmFsaWduIDRcbiIKLSsgICAgIi50eXBlIFN5c2NhbGxBc20gQGZ1bmN0aW9u XG4iCi0rICAgICJTeXNjYWxsQXNtOlxuIgotKyAgICAiLmNmaV9zdGFydHByb2NcbiIKLSsKLSsg ICAgLy8gQ2hlY2sgaWYgcjMgaXMgbmVnYXRpdmUKLSsgICAgImNtcGRpIDMsIDBcbiIKLSsgICAg ImJndCAyZlxuIgotKwotKyAgICAvLyBMb2FkIGFkZHJlc3Mgb2YgM2YgaW50byByMyBhbmQgcmV0 dXJuCi0rICAgICJtZmxyIDEwXG4iCi0rICAgICJibCAxZlxuIgotKyAgICAiMTogbWZsciAzXG4i Ci0rICAgICJtdGxyIDEwXG4iCi0rICAgICJhZGRpIDMsIDMsIDQqMTNcbiIKLSsgICAgImJsclxu IgotKwotKyAgICAvLyBMb2FkIGFyZ3VtZW50cyBmcm9tIGFycmF5IGludG8gcjMtOAotKyAgICAv LyBzYXZlIHBhcmFtIDMgaW4gcjEwCi0rICAgICIyOlxuIgotKyAgICAibXIgMCwgM1xuIgotKyAg ICAibGQgMywgMCg0KVxuIgotKyAgICAibGQgNSwgMTYoNClcbiIKLSsgICAgImxkIDYsIDI0KDQp XG4iCi0rICAgICJsZCA3LCAzMig0KVxuIgotKyAgICAibGQgOCwgNDAoNClcbiIKLSsgICAgImxk IDQsIDgoNClcbiIKLSsgICAgImxpIDksIDBcbiIKLSsKLSsgICAgLy8gRW50ZXIga2VybmVsCi0r ICAgICJzY1xuIgotKwotKyAgICAvLyBNYWdpYyByZXR1cm4gYWRkcmVzcwotKyAgICAiMzpcbiIK LSsgICAgLy8gTGlrZSBNSVBTLCBwcGM2NCByZXR1cm4gdmFsdWVzIGFyZSBhbHdheXMgcG9zaXRp dmUuCi0rICAgIC8vIENoZWNrIGZvciBlcnJvciBpbiBjcjAuU08gYW5kIG5lZ2F0ZSB1cG9uIGVy cm9yCi0rICAgICJiYyA0LCAzLCA0ZlxuIgotKyAgICAibmVnIDMsIDNcbiIKLSsgICAgIjQ6IGJs clxuIgotKwotICAgICAiLmNmaV9lbmRwcm9jXG4iCi0gICAgICIuc2l6ZSBTeXNjYWxsQXNtLCAu LVN5c2NhbGxBc21cbiIKLSAjZW5kaWYKLSAgICAgKTsgIC8vIGFzbQotIAotLSNpZiBkZWZpbmVk KF9feDg2XzY0X18pCi0rI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotIGV4dGVybiAiQyIgewotIGludHB0cl90IFN5c2NhbGxBc20oaW50cHRyX3QgbnIs IGNvbnN0IGludHB0cl90IGFyZ3NbNl0pOwotIH0KLUBAIC00MjksNiArNDczLDggQEAgaW50cHRy X3QgU3lzY2FsbDo6Q2FsbChpbnQgbnIsCi0gICAgIHJldCA9IGlub3V0OwotICAgfQotIAotKyNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGludHB0cl90IHJldCA9IFN5c2NhbGxBc20o bnIsIGFyZ3MpOwotICNlbHNlCi0gI2Vycm9yICJVbmltcGxlbWVudGVkIGFyY2hpdGVjdHVyZSIK LSAjZW5kaWYKLUBAIC00NDUsOCArNDkxLDE4IEBAIHZvaWQgU3lzY2FsbDo6UHV0VmFsdWVJblVj b250ZXh0KGludHB0cl90IHJldF92YWwsIHVjb250ZXh0X3QqIGN0eCkgewotICAgICAvLyBuZWVk cyB0byBiZSBjaGFuZ2VkIGJhY2suCi0gICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKLSAgICAgU0VD Q09NUF9QQVJNNChjdHgpID0gMTsKLS0gIH0gZWxzZQotKyAgfSBlbHNlIHsKLSAgICAgU0VDQ09N UF9QQVJNNChjdHgpID0gMDsKLSsgIH0KLSsjZW5kaWYKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotKyAgLy8gU2FtZSBhcyBNSVBTLCBuZWVkIHRvIGludmVydCByZXQgYW5kIHNldCBlcnJv ciByZWdpc3RlciAoY3IwLlNPKQotKyAgaWYgKHJldF92YWwgPD0gLTEgJiYgcmV0X3ZhbCA+PSAt NDA5NSkgewotKyAgICByZXRfdmFsID0gLXJldF92YWw7Ci0rICAgIGN0eC0+dWNfbWNvbnRleHQu cmVncy0+Y2NyIHw9ICgxIDw8IDI4KTsKLSsgIH0gZWxzZSB7Ci0rICAgIGN0eC0+dWNfbWNvbnRl eHQucmVncy0+Y2NyICY9IH4oMSA8PCAyOCk7Ci0rICB9Ci0gI2VuZGlmCi0gICBTRUNDT01QX1JF U1VMVChjdHgpID0gc3RhdGljX2Nhc3Q8Z3JlZ190PihyZXRfdmFsKTsKLSB9Ci1kaWZmIC0tZ2l0 IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjIGIvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi90cmFwLmNjCi1pbmRleCBmNWI4NmE3M2EuLjVlNmM0YTA2OCAxMDA2NDQKLS0tLSBh L3NhbmRib3gvbGludXgvc2VjY29tcC1icGYvdHJhcC5jYwotKysrIGIvc2FuZGJveC9saW51eC9z ZWNjb21wLWJwZi90cmFwLmNjCi1AQCAtMjMyLDYgKzIzMiwyMCBAQCB2b2lkIFRyYXA6OlNpZ1N5 cyhpbnQgbnIsIExpbnV4U2lnSW5mbyogaW5mbywgdWNvbnRleHRfdCogY3R4KSB7Ci0gICAgICAg U2V0SXNJblNpZ0hhbmRsZXIoKTsKLSAgICAgfQotIAotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0rICAgIC8vIE9uIHBwYzY0K2dsaWJjLCBzb21lIHN5c2NhbGxzIHNlZW0gdG8gYWNjaWRl bnRhbGx5IG5lZ2F0ZSB0aGUgZmlyc3QKLSsgICAgLy8gcGFyYW1ldGVyIHdoaWNoIGNhdXNlcyBj aGVja3MgYWdhaW5zdCBpdCB0byBmYWlsLiBGb3Igbm93LCBtYW51YWxseQotKyAgICAvLyBuZWdh dGUgdGhlbSBiYWNrLgotKyAgICAvLyBUT0RPKHNoYXduQGFuYXN0YXMuaW8pOiBpbnZlc3RpZ2F0 ZSB0aGlzIGlzc3VlIGZ1cnRoZXIKLSsgICAgYXV0byBuciA9IFNFQ0NPTVBfU1lTQ0FMTChjdHgp OwotKyAgICBpZiAobnIgPT0gX19OUl9vcGVuYXQgfHwgbnIgPT0gX19OUl9ta2RpcmF0IHx8IG5y ID09IF9fTlJfZmFjY2Vzc2F0IHx8IG5yID09IF9fTlJfcmVhZGxpbmthdCB8fAotKyAgICAgICAg bnIgPT0gX19OUl9yZW5hbWVhdCB8fCBuciA9PSBfX05SX3JlbmFtZWF0MiB8fCBuciA9PSBfX05S X25ld2ZzdGF0YXQgfHwgbnIgPT0gX19OUl91bmxpbmthdCkgewotKyAgICAgICAgaWYgKHN0YXRp Y19jYXN0PGludD4oU0VDQ09NUF9QQVJNMShjdHgpKSA+IDApIHsKLSsgICAgICAgICAgICBTRUND T01QX1BBUk0xKGN0eCkgPSAtU0VDQ09NUF9QQVJNMShjdHgpOwotKyAgICAgICAgfQotKyAgICB9 Ci0rI2VuZGlmCi0rCi0gICAgIC8vIENvcHkgdGhlIHNlY2NvbXAtc3BlY2lmaWMgZGF0YSBpbnRv IGEgYXJjaF9zZWNjb21wX2RhdGEgc3RydWN0dXJlLiBUaGlzCi0gICAgIC8vIGlzIHdoYXQgd2Ug YXJlIHNob3dpbmcgdG8gVHJhcEZuYyBjYWxsYmFja3MgdGhhdCB0aGUgc3lzdGVtIGNhbGwKLSAg ICAgLy8gZXZhbHVhdG9yIHJlZ2lzdGVyZWQgd2l0aCB0aGUgc2FuZGJveC4KLWRpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjIGIvc2FuZGJveC9saW51eC9z ZXJ2aWNlcy9jcmVkZW50aWFscy5jYwotaW5kZXggZDdiNWQ4YzQ0Li40YWRjNmQwZDQgMTAwNjQ0 Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCi0rKysgYi9zYW5k Ym94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCi1AQCAtODEsNyArODEsNyBAQCBib29s IENocm9vdFRvU2FmZUVtcHR5RGlyKCkgewotICAgcGlkX3QgcGlkID0gLTE7Ci0gICBhbGlnbmFz KDE2KSBjaGFyIHN0YWNrX2J1ZltQVEhSRUFEX1NUQUNLX01JTl07Ci0gI2lmIGRlZmluZWQoQVJD SF9DUFVfWDg2X0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBcCi0t ICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0rICAgIGRlZmluZWQoQVJDSF9DUFVf TUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotICAgLy8gVGhl IHN0YWNrIGdyb3dzIGRvd253YXJkLgotICAgdm9pZCogc3RhY2sgPSBzdGFja19idWYgKyBzaXpl b2Yoc3RhY2tfYnVmKTsKLSAjZWxzZQotQEAgLTkwLDcgKzkwLDkgQEAKLSAKLSAgIGludCBjbG9u ZV9mbGFncyA9IENMT05FX0ZTIHwgTElOVVhfU0lHQ0hMRDsKLSAgIHZvaWQqIHRscyA9IG51bGxw dHI7Ci0tI2lmIChkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl82NCkgfHwgZGVmaW5lZChBUkNIX0NQVV9B Uk1fRkFNSUxZKSkgJiYgXAotKy8vIFJBSkEgdGhpcyBtaWdodCBiZSBpdC4uLgotKyNpZiAoZGVm aW5lZChBUkNIX0NQVV9YODZfNjQpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwg XAotKyAgICBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkpICYmIFwKLSAgICAgIWRlZmlu ZWQoTUVNT1JZX1NBTklUSVpFUikKLSAgIC8vIFVzZSBDTE9ORV9WTSB8IENMT05FX1ZGT1JLIGFz IGFuIG9wdGltaXphdGlvbiB0byBhdm9pZCBjb3B5aW5nIHBhZ2UgdGFibGVzLgotICAgLy8gU2lu Y2UgY2xvbmUgd3JpdGVzIHRvIHRoZSBuZXcgY2hpbGQncyBUTFMgYmVmb3JlIHJldHVybmluZywg d2UgbXVzdCBzZXQgYQotQEAgLTk4LDYgKzEwMCwxMSBAQAotICAgLy8gZ2xpYmMgcGVyZm9ybXMg c3lzY2FsbHMgYnkgY2FsbGluZyBhIGZ1bmN0aW9uIHBvaW50ZXIgaW4gVExTLCBzbyB3ZSBkbyBu b3QKLSAgIC8vIGF0dGVtcHQgdGhpcyBvcHRpbWl6YXRpb24uCi0gICAvLyBUT0RPKGNyYnVnLmNv bS8xMjQ3NDU4KSBCcm9rZW4gaW4gTVNhbiBidWlsZHMgYWZ0ZXIgTExWTSBmMWJiMzBhNDk1NmYu Ci0rICAvLwotKyAgLy8gTk9URTogV2l0aG91dCBDTE9ORV9WTSwgZm9udGNvbmZpZyB3aWxsIGF0 dGVtcHQgdG8gcmVsb2FkIGNvbmZpZ3VyYXRpb24KLSsgIC8vIGluIGV2ZXJ5IHRocmVhZC4gIFNp bmNlIHRoZSByZW5kZXJlZCB0aHJlYWRzIGFyZSBzYW5kYm94ZWQgd2l0aG91dAotKyAgLy8gZmls ZXN5c3RlbSBhY2Nlc3MgKGUuZy4gdG8gL2V0Yy9mb250cy9mb250cy5jb25mKSB0aGlzIHdpbGwg Y2F1c2UgZm9udAotKyAgLy8gY29uZmlndXJhaXRvbiBsb2FkaW5nIGZhaWx1cmVzIGFuZCBubyBm b250cyB3aWxsIGJlIGRpc3BsYXllZCEKLSAgIGNsb25lX2ZsYWdzIHw9IENMT05FX1ZNIHwgQ0xP TkVfVkZPUksgfCBDTE9ORV9TRVRUTFM7Ci0gCi0gICBjaGFyIHRsc19idWZbUFRIUkVBRF9TVEFD S19NSU5dID0gezB9OwotZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2Fs bF93cmFwcGVycy5jYyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5j YwotaW5kZXggZmNmZDJhYTEyLi5mNmViMzJmYjcgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4 L3NlcnZpY2VzL3N5c2NhbGxfd3JhcHBlcnMuY2MKLSsrKyBiL3NhbmRib3gvbGludXgvc2Vydmlj ZXMvc3lzY2FsbF93cmFwcGVycy5jYwotQEAgLTU4LDcgKzU4LDcgQEAgbG9uZyBzeXNfY2xvbmUo dW5zaWduZWQgbG9uZyBmbGFncywKLSAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODZfNjQpCi0gICBy ZXR1cm4gc3lzY2FsbChfX05SX2Nsb25lLCBmbGFncywgY2hpbGRfc3RhY2ssIHB0aWQsIGN0aWQs IHRscyk7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpIHx8IGRlZmluZWQoQVJDSF9DUFVf QVJNX0ZBTUlMWSkgfHwgXAotLSAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotKyAg ICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0 X0ZBTUlMWSkKLSAgIC8vIENPTkZJR19DTE9ORV9CQUNLV0FSRFMgZGVmaW5lZC4KLSAgIHJldHVy biBzeXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywgcHRpZCwgdGxzLCBjdGlk KTsKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jy b2tlcl9wcm9jZXNzLmNjIGIvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfcHJv Y2Vzcy5jYwotaW5kZXggZDcyYzlkMjM4Li43N2YxZDk1ZjUgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94 L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCi0rKysgYi9zYW5kYm94L2xp bnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9wcm9jZXNzLmNjCi1AQCAtMTY5LDcgKzE2OSw3IEBA IGJvb2wgQnJva2VyUHJvY2Vzczo6SXNTeXNjYWxsQnJva2VyYWJsZShpbnQgc3lzbm8sIGJvb2wg ZmFzdF9jaGVjaykgY29uc3QgewotICNpZiBkZWZpbmVkKF9fTlJfZnN0YXRhdDY0KQotICAgICBj YXNlIF9fTlJfZnN0YXRhdDY0OgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hYXJjaDY0X18pCi0rI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJf bmV3ZnN0YXRhdDoKLSAjZW5kaWYKLSAgICAgICByZXR1cm4gIWZhc3RfY2hlY2sgfHwgYWxsb3dl ZF9jb21tYW5kX3NldF8udGVzdChDT01NQU5EX1NUQVQpOwotZGlmZiAtLWdpdCBhL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oIGIvc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgKLWluZGV4IDFmYTQ3ZWQwOS4uMzljYzlhYjUzIDEw MDY0NAotLS0tIGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmgK LSsrKyBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2VjY29tcC5oCi1AQCAt NDEsNiArNDEsOSBAQAotICNpZm5kZWYgRU1fQUFSQ0g2NAotICNkZWZpbmUgRU1fQUFSQ0g2NCAx ODMKLSAjZW5kaWYKLSsjaWZuZGVmIEVNX1BQQzY0Ci0rI2RlZmluZSBFTV9QUEM2NCAyMQotKyNl bmRpZgotIAotICNpZm5kZWYgX19BVURJVF9BUkNIXzY0QklUCi0gI2RlZmluZSBfX0FVRElUX0FS Q0hfNjRCSVQgMHg4MDAwMDAwMAotQEAgLTczLDYgKzc2LDEyIEBACi0gI2lmbmRlZiBBVURJVF9B UkNIX0FBUkNINjQKLSAjZGVmaW5lIEFVRElUX0FSQ0hfQUFSQ0g2NCAoRU1fQUFSQ0g2NCB8IF9f QVVESVRfQVJDSF82NEJJVCB8IF9fQVVESVRfQVJDSF9MRSkKLSAjZW5kaWYKLSsjaWZuZGVmIEFV RElUX0FSQ0hfUFBDNjQKLSsjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjQgKEVNX1BQQzY0IHwgX19B VURJVF9BUkNIXzY0QklUKQotKyNlbmRpZgotKyNpZm5kZWYgQVVESVRfQVJDSF9QUEM2NExFCi0r I2RlZmluZSBBVURJVF9BUkNIX1BQQzY0TEUgKEVNX1BQQzY0IHwgX19BVURJVF9BUkNIXzY0QklU IHwgX19BVURJVF9BUkNIX0xFKQotKyNlbmRpZgotIAotIC8vIEZvciBwcmN0bC5oCi0gI2lmbmRl ZiBQUl9TRVRfU0VDQ09NUAotZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbGludXhfc2lnbmFsLmggYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3Np Z25hbC5oCi1pbmRleCBmNWE3MzY3NjEuLjUxNWIyMWE1ZiAxMDA2NDQKLS0tLSBhL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKLSsrKyBiL3NhbmRib3gvbGludXgv c3lzdGVtX2hlYWRlcnMvbGludXhfc2lnbmFsLmgKLUBAIC0xMyw3ICsxMyw3IEBACi0gLy8gKG5v dCB1bmRlZmluZWQsIGJ1dCBkZWZpbmVkIGRpZmZlcmVudCB2YWx1ZXMgYW5kIGluIGRpZmZlcmVu dCBtZW1vcnkKLSAvLyBsYXlvdXRzKS4gU28sIGZpbGwgdGhlIGdhcCBoZXJlLgotICNpZiBkZWZp bmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykg fHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gCi0gI2RlZmluZSBMSU5VWF9TSUdIVVAgMQot ICNkZWZpbmUgTElOVVhfU0lHSU5UIDIKLWRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3N5c3Rl bV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmggYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2xpbnV4X3N5c2NhbGxzLmgKLWluZGV4IDJiNzhhMGNjMy4uMGE3MGY1ZWE1IDEwMDY0NAotLS0t IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zeXNjYWxscy5oCi0rKysgYi9z YW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxzLmgKLUBAIC0zNSw1ICsz NSw5IEBACi0gI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvYXJtNjRfbGlu dXhfc3lzY2FsbHMuaCIKLSAjZW5kaWYKLSAKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot KyNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2Nh bGxzLmgiCi0rI2VuZGlmCi0rCi0gI2VuZGlmICAvLyBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFE RVJTX0xJTlVYX1NZU0NBTExTX0hfCi0gCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zeXN0 ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oIGIvc2FuZGJveC9saW51eC9zeXN0ZW1f aGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5k ZXggMDAwMDAwMDAwLi5jY2FjZmZlMjIKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NhbmRib3gvbGlu dXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRfbGludXhfc3lzY2FsbHMuaAotQEAgLTAsMCArMSwxMiBA QAotKy8vIENvcHlyaWdodCAyMDE0IFRoZSBDaHJvbWl1bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJl c2VydmVkLgotKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNE LXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKLSsvLyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxl LgotKwotKyNpZm5kZWYgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9MSU5VWF9T WVNDQUxMU19IXwotKyNkZWZpbmUgU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19QUEM2NF9M SU5VWF9TWVNDQUxMU19IXwotKwotKyNpbmNsdWRlIDxhc20vdW5pc3RkLmg+Ci0rCi0rLy9UT0RP OiBpcyBpdCBuZWNlc3NhcnkgdG8gcmVkZWZpbmUgc3lzY2FsbCBudW1iZXJzIGZvciBQUEM2ND8K LSsKLSsjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhfU1lTVEVNX0hFQURFUlNfUFBDNjRfTElOVVhf U1lTQ0FMTFNfSF8KLWRpZmYgLS1naXQgYS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfdXRpbGl0 eV9wb2xpY3lfbGludXguY2MgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfdXRpbGl0eV9wb2xp Y3lfbGludXguY2MKLWluZGV4IDI1ODhmYzc5Mi4uZDQ1NWM0NjAxIDEwMDY0NAotLS0tIGEvc2Fu ZGJveC9wb2xpY3kvbGludXgvYnBmX3V0aWxpdHlfcG9saWN5X2xpbnV4LmNjCi0rKysgYi9zYW5k Ym94L3BvbGljeS9saW51eC9icGZfdXRpbGl0eV9wb2xpY3lfbGludXguY2MKLUBAIC0zNCw3ICsz NCw3IEBACi0gICAgIGNhc2UgX19OUl9mZGF0YXN5bmM6Ci0gICAgIGNhc2UgX19OUl9mc3luYzoK LSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX2dl dHJsaW1pdDoKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2Fy bV9fKQotZGlmZiAtLWdpdCBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xp Y3lfbGludXguY2MgYi9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xp bnV4LmNjCi1pbmRleCAyNTg4ZmM3OTIuLmQ0NTVjNDYwMSAxMDA2NDQKLS0tLSBhL3NhbmRib3gv cG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKLSsrKyBiL3NhbmRib3gv cG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MKLUBAIC0xNSw2ICsxNSwx MSBAQAotICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2Nh bGxzLmgiCi0gI2luY2x1ZGUgInNhbmRib3gvcG9saWN5L2xpbnV4L3NhbmRib3hfbGludXguaCIK LSAKLSsvLyBPbiBQUEM2NCwgVENHRVRTIGlzIGRlZmluZWQgaW4gdGVybXMgb2Ygc3RydWN0IHRl cm1pb3MsIHNvIHdlIG11c3QgaW5jbHVkZSB0ZXJtaW9zLmgKLSsjaWZkZWYgX19wb3dlcnBjNjRf XwotKyNpbmNsdWRlIDx0ZXJtaW9zLmg+Ci0rI2VuZGlmCi0rCi0gLy8gVE9ETyh2aWduYXR0aSk6 IHJlcGxhY2UgdGhlIGxvY2FsIGRlZmluaXRpb25zIGJlbG93IHdpdGggI2luY2x1ZGUKLSAvLyA8 bGludXgvZG1hLWJ1Zi5oPiBvbmNlIGtlcm5lbCB2ZXJzaW9uIDQuNiBiZWNvbWVzIHdpZGVseSB1 c2VkLgotICNpbmNsdWRlIDxsaW51eC90eXBlcy5oPgotQEAgLTc3LDcgKzc3LDcgQEAKLSAgICAg Y2FzZSBfX05SX2Z0cnVuY2F0ZTY0OgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVm aW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZ2V0cmxpbWl0OgotICAgICBjYXNlIF9fTlJf c2V0cmxpbWl0OgotIC8vIFdlIGFsbG93IHNldHJsaW1pdCB0byBkeW5hbWljYWxseSBhZGp1c3Qg dGhlIGFkZHJlc3Mgc3BhY2UgbGltaXQgYXMKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9hbmds ZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5oIGIvdGhpcmRfcGFydHkvYW5nbGUv c3JjL2NvbXBpbGVyL3RyYW5zbGF0b3IvSW5mb1NpbmsuaAotaW5kZXggM2E4MDdlMWUzLi41MjU4 NjE3YTcgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNs YXRvci9JbmZvU2luay5oCi0rKysgYi90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJh bnNsYXRvci9JbmZvU2luay5oCi1AQCAtOTIsNyArOTIsMTYgQEAgY2xhc3MgVEluZm9TaW5rQmFz ZQotICAgICAgICAgICAgIHN0cmVhbS5wcmVjaXNpb24oOCk7Ci0gICAgICAgICAgICAgc3RyZWFt IDw8IGY7Ci0gICAgICAgICB9Ci0tICAgICAgICBzaW5rLmFwcGVuZChzdHJlYW0uc3RyKCkpOwot KwotKyAgICAgICAgLy8gSGFjayB0byB3b3JrIGFyb3VuZCBhIGJ1ZyB3aGVyZSBuZWdhdGl2ZSBm bG9hdGluZyBwb2ludCB2YWx1ZXMKLSsgICAgICAgIC8vIGFyZSByZW5kZXJlZCBsaWtlICcuMC41 JyBpbnN0ZWFkIG9mICctMC41JwotKyAgICAgICAgc3RkOjpzdHJpbmcgcmVzKHN0cmVhbS5zdHIo KSk7Ci0rCi0rICAgICAgICBpZiAoc2lnbmJpdChmKSkgeyAvLyB0ZXN0IGlmIGYgaXMgbmVnYXRp dmUKLSsgICAgICAgICAgICByZXNbMF0gPSAnLSc7Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBz aW5rLmFwcGVuZChyZXMpOwotICAgICAgICAgcmV0dXJuICp0aGlzOwotICAgICB9Ci0gICAgIC8v IFdyaXRlIGJvb2xlYW4gdmFsdWVzIGFzIHRoZWlyIG5hbWVzIGluc3RlYWQgb2YgaW50ZWdyYWwg dmFsdWUuCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0 YW50cy5oIGIvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCi1pbmRl eCBmY2JjOTI0NmEuLjM5YWU2NjE0OCAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2FuZ2xlL3Ny Yy9saWJBTkdMRS9Db25zdGFudHMuaAotKysrIGIvdGhpcmRfcGFydHkvYW5nbGUvc3JjL2xpYkFO R0xFL0NvbnN0YW50cy5oCi1AQCAtOSw2ICs5LDcgQEAKLSAjaWZuZGVmIExJQkFOR0xFX0NPTlNU QU5UU19IXwotICNkZWZpbmUgTElCQU5HTEVfQ09OU1RBTlRTX0hfCi0gCi0rI2luY2x1ZGUgPGNz dGRkZWY+Ci0gI2luY2x1ZGUgImNvbW1vbi9wbGF0Zm9ybS5oIgotIAotICNpbmNsdWRlIDxzdGRp bnQuaD4KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24gYi90aGly ZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KLWluZGV4IDE3Y2Y5Y2RhOS4uOGNlOTZiZDMyIDEw MDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYm9yaW5nc3NsL0JVSUxELmduCi0rKysgYi90aGlyZF9w YXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KLUBAIC0xMDMsNiArMTAzLDEzIEBAIGlmIChpc193aW4g JiYgIWlzX21zYW4gJiYgY3VycmVudF9jcHUgIT0gImFybTY0IikgewotICAgICAgIH0gZWxzZSB7 Ci0gICAgICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpub19hc21fY29uZmlnIiBdCi0gICAgICAg fQotKyAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKLSsgICAgICBpZiAo aXNfbGludXgpIHsKLSsgICAgICAgICMgVE9ETzogcHBjNjQgKGJlKSBjaGVjawotKyAgICAgICAg c291cmNlcyArPSBjcnlwdG9fc291cmNlc19saW51eF9wcGM2NGxlCi0rICAgICAgfSBlbHNlIHsK LSsgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWciIF0KLSsgICAgICB9 Ci0gICAgIH0gZWxzZSB7Ci0gICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZp ZyIgXQotICAgICB9Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24g Yi90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotaW5kZXggNGFmM2Q3YmJmLi5hZGJmNTQx NTkgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotKysrIGIvdGhp cmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KLUBAIC01OTYsNyArNTk2LDYgQEAgaWYgKGlzX2xp bnV4IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpIHsKLSAgICAgICAiYnJlYWtwYWQvc3Jj L2NsaWVudC9taW5pZHVtcF9maWxlX3dyaXRlci5oIiwKLSAgICAgICAiYnJlYWtwYWQvc3JjL2Nv bW1vbi9jb252ZXJ0X1VURi5jYyIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vY29udmVy dF9VVEYuaCIsCi0tICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0 Y29udGV4dC5TIiwKLSAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9k dW1wLmNjIiwKLSAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9lbGZfY29yZV9kdW1w LmgiLAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZnV0aWxzLmNjIiwKLUBA IC02MzQsNiArNjMzLDE0IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcyB8fCBpc19hbmRy b2lkKSB7Ci0gCi0gICAgIGxpYnMgPSBbICJkbCIgXQotIAotKyAgICBpZiAoY3VycmVudF9jcHUg PT0gInBwYzY0IikgewotKyAgICAgICAgZGVmaW5lcyA9IFsgIkhBVkVfR0VUQ09OVEVYVCIgXQot KyAgICB9IGVsc2UgewotKyAgICAgICAgc291cmNlcyArPSBbCi0rICAgICAgICAgICAgImJyZWFr cGFkL3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dC5TIgotKyAgICAgICAgXQot KyAgICB9Ci0rCi0gICAgIGluY2x1ZGVfZGlycyA9IFsKLSAgICAgICAiLiIsCi0gICAgICAgImJy ZWFrcGFkL3NyYyIsCi1AQCAtNjgyLDcgKzY4OSw2IEBAIGlmIChpc19saW51eCB8fCBpc19jaHJv bWVvcyB8fCBpc19hbmRyb2lkKSB7Ci0gICAgICAgImJyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYyIsCi0gICAgICAgImJy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlcl91 bml0dGVzdF91dGlscy5jYyIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWlu aWR1bXBfd3JpdGVyL3Byb2NfY3B1aW5mb19yZWFkZXJfdW5pdHRlc3QuY2MiLAotLSAgICAgICJi cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2JyZWFrcGFkX2dldGNvbnRleHRfdW5pdHRlc3QuY2Mi LAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2VsZl9jb3JlX2R1bXBfdW5pdHRl c3QuY2MiLAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2ZpbGVfaWRfdW5pdHRl c3QuY2MiLAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2xpbnV4X2xpYmNfc3Vw cG9ydF91bml0dGVzdC5jYyIsCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vcmF3X2NvbnRleHRfY3B1 LmggYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAotaW5kZXggMDdkOTE3MWEwLi45YWVkNGNi MzYgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAotKysrIGIvdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vcmF3X2NvbnRleHRfY3B1LmgKLUBAIC00NCw2ICs0NCw4IEBAIHR5cGVkZWYgTURSYXdDb250 ZXh0QVJNIFJhd0NvbnRleHRDUFU7Ci0gdHlwZWRlZiBNRFJhd0NvbnRleHRBUk02NF9PbGQgUmF3 Q29udGV4dENQVTsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotIHR5cGVkZWYgTURSYXdDb250 ZXh0TUlQUyBSYXdDb250ZXh0Q1BVOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSt0 eXBlZGVmIE1EUmF3Q29udGV4dFBQQzY0IFJhd0NvbnRleHRDUFU7Ci0gI2Vsc2UKLSAjZXJyb3Ig IlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAj ZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYyBiL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Ro cmVhZF9pbmZvLmNjCi1pbmRleCBhYWUxZGMxM2IuLjAzYWZlYzdhNSAxMDA2NDQKLS0tLSBhL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJf Y29tbW9uL3RocmVhZF9pbmZvLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotQEAg LTI3MCw3ICsyNzAsNDIgQEAgdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChSYXdDb250 ZXh0Q1BVKiBvdXQpIGNvbnN0IHsKLSAgIG91dC0+ZmxvYXRfc2F2ZS5maXIgPSBtY29udGV4dC5m cGNfZWlyOwotICNlbmRpZgotIH0KLS0jZW5kaWYgIC8vIF9fbWlwc19fCi0rCi0rI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotKwotK3VpbnRwdHJfdCBUaHJlYWRJbmZvOjpHZXRJbnN0cnVj dGlvblBvaW50ZXIoKSBjb25zdCB7Ci0rICAgIHJldHVybiBtY29udGV4dC5ncF9yZWdzW1BUX05J UF07Ci0rfQotKwotK3ZvaWQgVGhyZWFkSW5mbzo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQ VSogb3V0KSBjb25zdCB7Ci0rICAgIG91dC0+Y29udGV4dF9mbGFncyA9IE1EX0NPTlRFWFRfUFBD NjRfRlVMTDsKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9D T1VOVDsgaSsrKQotKyAgICAgICAgb3V0LT5ncHJbaV0gPSBtY29udGV4dC5ncF9yZWdzW2ldOwot KwotKyAgICBvdXQtPmxyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdOwotKyAgICBvdXQtPnNy cjAgPSBtY29udGV4dC5ncF9yZWdzW1BUX05JUF07Ci0rICAgIG91dC0+c3JyMSA9IG1jb250ZXh0 LmdwX3JlZ3NbUFRfTVNSXTsKLSsgICAgb3V0LT5jciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfQ0NS XTsKLSsgICAgb3V0LT54ZXIgPSBtY29udGV4dC5ncF9yZWdzW1BUX1hFUl07Ci0rICAgIG91dC0+ Y3RyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdOwotKyAgICAKLSsgICAgZm9yIChpbnQgaSA9 IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLSsgICAgICAg IG91dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSBtY29udGV4dC5mcF9yZWdzW2ldOwotKwotKyAg ICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSBtY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKLSsK LSsgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7 IGkrKykKLSsgICAgICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9IFwKLSsgICAgICAg ICAgICB7KCgodWludDY0X3QpdnJlZ3MudnJyZWdzW2ldWzBdKSA8PCAzMikgCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICB8IHZyZWdzLnZycmVnc1tpXVsxXSwgCi0rICAgICAgICAgICAgKCgo dWludDY0X3QpdnJlZ3MudnJyZWdzW2ldWzJdKSA8PCAzMikKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgfCB2cmVncy52cnJlZ3NbaV1bM119OwotKwotKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdz LnZyc2F2ZTsKLSsgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MudnNj ci52c2NyX3dvcmR9OwotKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJ2YWxpZCA9IDB4RkZG RkZGRkY7IAotK30KLSsjZW5kaWYgIC8vIF9fcG93ZXJwYzY0X18KLSAKLSB2b2lkIFRocmVhZElu Zm86OkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0ZXJzKHZvaWQqKiBncF9yZWdzLCBzaXplX3QqIHNp emUpIHsKLSAgIGFzc2VydChncF9yZWdzIHx8IHNpemUpOwotQEAgLTI3OSw2ICszMTQsMTEgQEAg dm9pZCBUaHJlYWRJbmZvOjpHZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycyh2b2lkKiogZ3BfcmVn cywgc2l6ZV90KiBzaXplKSB7Ci0gICAgICpncF9yZWdzID0gbWNvbnRleHQuZ3JlZ3M7Ci0gICBp ZiAoc2l6ZSkKLSAgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZ3JlZ3MpOwotKyNlbGlmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGlmIChncF9yZWdzKQotKyAgICAqZ3BfcmVncyA9IG1j b250ZXh0LmdwX3JlZ3M7Ci0rICBpZiAoc2l6ZSkKLSsgICAgKnNpemUgPSBzaXplb2YobWNvbnRl eHQuZ3BfcmVncyk7Ci0gI2Vsc2UKLSAgIGlmIChncF9yZWdzKQotICAgICAqZ3BfcmVncyA9ICZy ZWdzOwotQEAgLTI5NCw2ICszMzQsMTEgQEAgdm9pZCBUaHJlYWRJbmZvOjpHZXRGbG9hdGluZ1Bv aW50UmVnaXN0ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSAgICAgKmZwX3Jl Z3MgPSAmbWNvbnRleHQuZnByZWdzOwotICAgaWYgKHNpemUpCi0gICAgICpzaXplID0gc2l6ZW9m KG1jb250ZXh0LmZwcmVncyk7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgaWYg KGZwX3JlZ3MpCi0rICAgICpmcF9yZWdzID0gJm1jb250ZXh0LmZwX3JlZ3M7Ci0rICBpZiAoc2l6 ZSkKLSsgICAgKnNpemUgPSBzaXplb2YobWNvbnRleHQuZnBfcmVncyk7Ci0gI2Vsc2UKLSAgIGlm IChmcF9yZWdzKQotICAgICAqZnBfcmVncyA9ICZmcHJlZ3M7Ci1AQCAtMzAyLDQgKzM0NywxMyBA QCB2b2lkIFRocmVhZEluZm86OkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnModm9pZCoqIGZwX3Jl Z3MsIHNpemVfdCogc2l6ZSkgewotICNlbmRpZgotIH0KLSAKLSsjaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotK3ZvaWQgVGhyZWFkSW5mbzo6R2V0VmVjdG9yUmVnaXN0ZXJzKHZvaWQqKiB2X3Jl Z3MsIHNpemVfdCogc2l6ZSkgewotKyAgICBpZiAodl9yZWdzKQotKyAgICAgICAgKnZfcmVncyA9 ICZ2cmVnczsKLSsgICAgaWYgKHNpemUpCi0rICAgICAgICAqc2l6ZSA9IHNpemVvZih2cmVncyk7 Ci0rfQotKyNlbmRpZgotKwotIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKLWRpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1 bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uaAot aW5kZXggZmIyMTZmYTZkLi41OTNhYWM4MjIgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRf aW5mby5oCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5oCi1AQCAtNjgsNiArNjgsMTAgQEAg c3RydWN0IFRocmVhZEluZm8gewotICAgLy8gVXNlIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4g PHN5cy91c2VyLmg+Ci0gICBzdHJ1Y3QgdXNlcl9yZWdzX3N0cnVjdCByZWdzOwotICAgc3RydWN0 IHVzZXJfZnBzaW1kX3N0cnVjdCBmcHJlZ3M7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKyAgLy8gVXNlIHRoZSBzdHJ1Y3R1cmVzIGRlZmluZWQgaW4gPHN5cy91Y29udGV4dC5oPi4K LSsgIG1jb250ZXh0X3QgbWNvbnRleHQ7Ci0rICB2cnJlZ3NldF90IHZyZWdzOwotICNlbGlmIGRl ZmluZWQoX19taXBzX18pCi0gICAvLyBVc2UgdGhlIHN0cnVjdHVyZSBkZWZpbmVkIGluIDxzeXMv dWNvbnRleHQuaD4uCi0gICBtY29udGV4dF90IG1jb250ZXh0OwotQEAgLTg0LDYgKzg4LDExIEBA IHN0cnVjdCBUaHJlYWRJbmZvIHsKLSAKLSAgIC8vIFJldHVybnMgdGhlIHBvaW50ZXIgYW5kIHNp emUgb2YgZmxvYXQgcG9pbnQgcmVnaXN0ZXIgYXJlYS4KLSAgIHZvaWQgR2V0RmxvYXRpbmdQb2lu dFJlZ2lzdGVycyh2b2lkKiogZnBfcmVncywgc2l6ZV90KiBzaXplKTsKLSsKLSsjaWYgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotKyAgLy8gUmV0dXJucyB0aGUgcG9pbnRlciBhbmQgc2l6ZSBvZiB0 aGUgdmVjdG9yIHJlZ2lzdGVyIGFyZWEuIChQUEM2NCBvbmx5KQotKyAgdm9pZCBHZXRWZWN0b3JS ZWdpc3RlcnModm9pZCoqIHZfcmVncywgc2l6ZV90KiBzaXplKTsKLSsjZW5kaWYKLSB9OwotIAot IH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91 Y29udGV4dF9yZWFkZXIuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLWluZGV4IDZl ZWMxYmUyNC4uNzQxOTgzYTFhIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRfcmVhZGVy LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLUBAIC0yNTQsNiArMjU0LDQ4 IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91 dCwgY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSAgIG91dC0+ZmxvYXRfc2F2ZS5maXIgPSB1Yy0+ dWNfbWNvbnRleHQuZnBjX2VpcjsgIC8vIFVudXNlZC4KLSAjZW5kaWYKLSB9Ci0rCi0rI2VsaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKwotK3VpbnRwdHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0 U3RhY2tQb2ludGVyKGNvbnN0IHVjb250ZXh0X3QqIHVjKSB7Ci0rICAgIHJldHVybiB1Yy0+dWNf bWNvbnRleHQuZ3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19TUF07Ci0rfQotKwotK3VpbnRw dHJfdCBVQ29udGV4dFJlYWRlcjo6R2V0SW5zdHJ1Y3Rpb25Qb2ludGVyKGNvbnN0IHVjb250ZXh0 X3QqIHVjKSB7Ci0rICAgIHJldHVybiB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOwot K30KLSsKLSt2b2lkIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BV KiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IHZycmVnc2V0X3QqIHZyZWdzKSB7Ci0rICAgIG91dC0+Y29udGV4dF9m bGFncyA9IE1EX0NPTlRFWFRfUFBDNjRfRlVMTDsKLSsKLSsgICAgZm9yIChpbnQgaSA9IDA7IGkg PCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQotKyAgICAgICAgb3V0LT5ncHJbaV0g PSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tpXTsKLSsKLSsgICAgb3V0LT5sciA9IHVjLT51Y19t Y29udGV4dC5ncF9yZWdzW1BUX0xOS107ICAgIAotKyAgICBvdXQtPnNycjAgPSB1Yy0+dWNfbWNv bnRleHQuZ3BfcmVnc1tQVF9OSVBdOwotKyAgICBvdXQtPnNycjEgPSB1Yy0+dWNfbWNvbnRleHQu Z3BfcmVnc1tQVF9NU1JdOwotKyAgICBvdXQtPmNyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3Nb UFRfQ0NSXTsKLSsgICAgb3V0LT54ZXIgPSB1Yy0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJd OwotKyAgICBvdXQtPmN0ciA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX0NUUl07Ci0rICAg IAotKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9D T1VOVDsgaSsrKQotKyAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9IHVjLT51Y19t Y29udGV4dC5mcF9yZWdzW2ldOwotKwotKyAgICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSB1Yy0+ dWNfbWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV07Ci0rCi0rICAgIGZvciAoaW50IGkgPSAwOyBp IDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPnZl Y3Rvcl9zYXZlLnNhdmVfdnJbaV0gPQotKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy0+ dnJyZWdzW2ldWzBdKSA8PCAzMikgCi0rICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3Mt PnZycmVnc1tpXVsxXSwgCi0rICAgICAgICAgICAgICgoKHVpbnQ2NF90KXZyZWdzLT52cnJlZ3Nb aV1bMl0pIDw8IDMyKQotKyAgICAgICAgICAgICAgICAgICAgICAgICB8IHZyZWdzLT52cnJlZ3Nb aV1bM119OwotKwotKyAgICBvdXQtPnZyc2F2ZSA9IHZyZWdzLT52cnNhdmU7Ci0rICAgIG91dC0+ dmVjdG9yX3NhdmUuc2F2ZV92c2NyID0gezAsIHZyZWdzLT52c2NyLnZzY3Jfd29yZH07Ci0rICAg IG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cnZhbGlkID0gMHhGRkZGRkZGRjsgCi0rfQotKwotICNl bmRpZgotIAotIH0gIC8vIG5hbWVzcGFjZSBnb29nbGVfYnJlYWtwYWQKLWRpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVy X2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaCBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1p bmRleCA3ZDQxMDA4ODEuLmMxMjJhYzkyZSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0 X3JlYWRlci5oCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuaAotQEAgLTU1LDYgKzU1 LDkgQEAgc3RydWN0IFVDb250ZXh0UmVhZGVyIHsKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9f KQotICAgc3RhdGljIHZvaWQgRmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0LCBjb25z dCB1Y29udGV4dF90KiB1YywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 cnVjdCBmcHNpbWRfY29udGV4dCogZnByZWdzKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0rICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BVICpvdXQsIGNv bnN0IHVjb250ZXh0X3QgKnVjLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg dnJyZWdzZXRfdCogdnJlZ3MpOwotICNlbHNlCi0gICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4 dChSYXdDb250ZXh0Q1BVKiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjKTsKLSAjZW5kaWYKLWRp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLWluZGV4 IGE2Y2I1Zjk4NC4uYWUxNmI2NGQ5IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQv YnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCi0r KysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRs ZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLUBAIC00NjEsOSArNDYxLDE2IEBAIGJvb2wgRXhjZXB0 aW9uSGFuZGxlcjo6SGFuZGxlU2lnbmFsKGludCAvKnNpZyovLCBzaWdpbmZvX3QqIGluZm8sIHZv aWQqIHVjKSB7Ci0gICAgIG1lbWNweSgmZ19jcmFzaF9jb250ZXh0Xy5mbG9hdF9zdGF0ZSwgZnBf cHRyLAotICAgICAgICAgICAgc2l6ZW9mKGdfY3Jhc2hfY29udGV4dF8uZmxvYXRfc3RhdGUpKTsK LSAgIH0KLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAvLyBPbiBQUEM2NCwgd2Ug bXVzdCBjb3B5IFZSIHN0YXRlCi0rICB1Y29udGV4dF90KiB1Y19wdHIgPSAodWNvbnRleHRfdCop dWM7Ci0rICBpZiAodWNfcHRyLT51Y19tY29udGV4dC52X3JlZ3MpIHsKLSsgICAgbWVtY3B5KCZn X2NyYXNoX2NvbnRleHRfLnZlY3Rvcl9zdGF0ZSwgdWNfcHRyLT51Y19tY29udGV4dC52X3JlZ3Ms Ci0rICAgICAgICAgICBzaXplb2YoZ19jcmFzaF9jb250ZXh0Xy52ZWN0b3Jfc3RhdGUpKTsKLSsg IH0KLSAjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQot ICAgLy8gRlAgc3RhdGUgaXMgbm90IHBhcnQgb2YgdXNlciBBQkkgb24gQVJNIExpbnV4LgotLSAg Ly8gSW4gY2FzZSBvZiBNSVBTIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkgcGFydCBvZiB1Y29u dGV4dF90Ci0rICAvLyBJbiBjYXNlIG9mIE1JUFMsIExpbnV4IEZQIHN0YXRlIGlzIGFscmVhZHkg cGFydCBvZiB1Y29udGV4dF90Ci0gICAvLyBhbmQgJ2Zsb2F0X3N0YXRlJyBpcyBub3QgYSBtZW1i ZXIgb2YgQ3Jhc2hDb250ZXh0LgotICAgdWNvbnRleHRfdCogdWNfcHRyID0gKHVjb250ZXh0X3Qq KXVjOwotICAgaWYgKHVjX3B0ci0+dWNfbWNvbnRleHQuZnByZWdzKSB7Ci1AQCAtNzA4LDExICs3 MTUsMTkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgewotICAgfQot ICNlbmRpZgotIAotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fYWFy Y2g2NF9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgIWRlZmluZWQoX19BUk1fRUFCSV9f KSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19taXBzX18pIFwKLSsgICAg JiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIC8vIEZQVSBzdGF0ZSBpcyBub3QgcGFydCBv ZiBBUk0gRUFCSSB1Y29udGV4dF90LgotICAgbWVtY3B5KCZjb250ZXh0LmZsb2F0X3N0YXRlLCBj b250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZnByZWdzLAotICAgICAgICAgIHNpemVvZihjb250 ZXh0LmZsb2F0X3N0YXRlKSk7Ci0gI2VuZGlmCi0rCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSsgIC8vIFZlY3RvciByZWdpc3RlcnMgbXVzdCBiZSBjb3BpZWQgb24gUFBDNjQKLSsgIG1l bWNweSgmY29udGV4dC52ZWN0b3Jfc3RhdGUsIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC52 X3JlZ3MsCi0rICAgICAgICAgc2l6ZW9mKGNvbnRleHQudmVjdG9yX3N0YXRlKSk7Ci0rI2VuZGlm Ci0rCi0gICBjb250ZXh0LnRpZCA9IHN5c19nZXR0aWQoKTsKLSAKLSAgIC8vIEFkZCBhbiBleGNl cHRpb24gc3RyZWFtIHRvIHRoZSBtaW5pZHVtcCBmb3IgYmV0dGVyIHJlcG9ydGluZy4KLUBAIC03 MzMsNiArNzQ4LDkgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgewot ICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICBjb250ZXh0LnNpZ2luZm8uc2lfYWRkciA9Ci0g ICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0 LnBjKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBjb250ZXh0LnNpZ2luZm8u c2lfYWRkciA9Ci0rICAgICAgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oY29udGV4dC5jb250ZXh0 LnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXSk7Ci0gI2Vsc2UKLSAjZXJyb3IgIlRoaXMgY29k ZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAjZW5kaWYKLWRp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4 L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuaCBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi1pbmRleCBm ODA4NDNlYTcuLjI2MGRkMTBmNyAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi0rKysg Yi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIv ZXhjZXB0aW9uX2hhbmRsZXIuaAotQEAgLTE5Miw3ICsxOTIsMTEgQEAgY2xhc3MgRXhjZXB0aW9u SGFuZGxlciB7Ci0gICAgIHNpZ2luZm9fdCBzaWdpbmZvOwotICAgICBwaWRfdCB0aWQ7ICAvLyB0 aGUgY3Jhc2hpbmcgdGhyZWFkLgotICAgICB1Y29udGV4dF90IGNvbnRleHQ7Ci0tI2lmICFkZWZp bmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19w b3dlcnBjNjRfXykKLSsgICAgLy8gUFBDNjQncyBGUCBzdGF0ZSBpcyBhIHBhcnQgb2YgdWNvbnRl eHRfdCBsaWtlIE1JUFMgYnV0IHRoZSB2ZWN0b3IKLSsgICAgLy8gc3RhdGUgaXMgbm90LCBzbyBh IHN0cnVjdCBpcyBuZWVkZWQuCi0rICAgIHZzdGF0ZV90IHZlY3Rvcl9zdGF0ZTsKLSsjZWxpZiAh ZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotICAgICAvLyAjaWZk ZWYgdGhpcyBvdXQgYmVjYXVzZSBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBmb3Ig TGludXggQVJNLgotICAgICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxy ZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3Qgc28KLSAgICAgLy8gJ2Zsb2F0X3N0YXRlJyBpcyBub3Qg cmVxdWlyZWQuCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3Jj L2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjIGIvdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2Vw dGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi1pbmRleCAzNWRjYmZkNGQuLjc5MzQzNzBmZCAxMDA2 NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv aGFuZGxlci9leGNlcHRpb25faGFuZGxlcl91bml0dGVzdC5jYwotKysrIGIvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyX3VuaXR0ZXN0LmNjCi1AQCAtMzA3LDcgKzMwNyw3IEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxl clRlc3QsIFBhcmFsbGVsQ2hpbGRDcmFzaGVzRG9udEhhbmcpIHsKLSAgIH0KLSAKLSAgIC8vIFdh aXQgYSB3aGlsZSB1bnRpbCB0aGUgY2hpbGQgc2hvdWxkIGhhdmUgY3Jhc2hlZC4KLS0gIHVzbGVl cCgxMDAwMDAwKTsKLSsgIHVzbGVlcCgyMDAwMDAwKTsKLSAgIC8vIEtpbGwgdGhlIGNoaWxkIGlm IGl0IGlzIHN0aWxsIHJ1bm5pbmcuCi0gICBraWxsKGNoaWxkLCBTSUdLSUxMKTsKLSAKLUBAIC01 NTksNiArNTU5LDggQEAgY29uc3QgdW5zaWduZWQgY2hhciBrSWxsZWdhbEluc3RydWN0aW9uW10g PSB7Ci0gI2lmIGRlZmluZWQoX19taXBzX18pCi0gICAvLyBtZmMyIHplcm8sSW1wbCAtIHVzdWFs bHkgaWxsZWdhbCBpbiB1c2Vyc3BhY2UuCi0gICAweDQ4LCAweDAwLCAweDAwLCAweDQ4Ci0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgMHgwMSwgMHgwMSwgMHgwMSwgMHgwMSAvLyBD cmFzaGVzIG9uIGEgdGVzdGVkIFBPV0VSOSBjcHUKLSAjZWxzZQotICAgLy8gVGhpcyBjcmFzaGVz IHdpdGggU0lHSUxMIG9uIHg4Ni94ODYtNjQvYXJtLgotICAgMHhmZiwgMHhmZiwgMHhmZiwgMHhm ZgotQEAgLTc1NCwxMCArNzU2LDEwIEBAIFRFU1QoRXhjZXB0aW9uSGFuZGxlclRlc3QsIEluc3Ry dWN0aW9uUG9pbnRlck1lbW9yeU1heEJvdW5kKSB7Ci0gCi0gICAvLyBUaGVzZSBhcmUgZGVmaW5l ZCBoZXJlIHNvIHRoZSBwYXJlbnQgY2FuIHVzZSB0aGVtIHRvIGNoZWNrIHRoZQotICAgLy8gZGF0 YSBmcm9tIHRoZSBtaW5pZHVtcCBhZnRlcndhcmRzLgotLSAgLy8gVXNlIDRrIGhlcmUgYmVjYXVz ZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdlIGV2ZW4KLSsgIC8vIFVzZSB0aGUg cGFnZSBzaXplIGhlcmUgYmVjYXVzZSB0aGUgT1Mgd2lsbCBoYW5kIG91dCBhIHNpbmdsZSBwYWdl IGV2ZW4KLSAgIC8vIGlmIGEgc21hbGxlciBzaXplIGlzIHJlcXVlc3RlZCwgYW5kIHRoaXMgdGVz dCB3YW50cyB0bwotICAgLy8gdGVzdCB0aGUgdXBwZXIgYm91bmQgb2YgdGhlIG1lbW9yeSByYW5n ZS4KLS0gIGNvbnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gNDA5NjsgIC8vIGJ5dGVzCi0rICBj b25zdCB1aW50MzJfdCBrTWVtb3J5U2l6ZSA9IGdldHBhZ2VzaXplKCk7ICAvLyBieXRlcwotICAg Y29uc3QgaW50IGtPZmZzZXQgPSBrTWVtb3J5U2l6ZSAtIHNpemVvZihrSWxsZWdhbEluc3RydWN0 aW9uKTsKLSAKLSAgIGNvbnN0IHBpZF90IGNoaWxkID0gZm9yaygpOwotZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dy aXRlci9taWNyb2R1bXBfd3JpdGVyLmNjIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKLWlu ZGV4IGZhM2MxNzEzYS4uNmNlNzA5ZTJmIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93 cml0ZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyLmNjCi1AQCAtMTM4LDcgKzEz OCw5IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gICAgICAgICAgICAgICAgICAgY29uc3Qg TWljcm9kdW1wRXh0cmFJbmZvJiBtaWNyb2R1bXBfZXh0cmFfaW5mbywKLSAgICAgICAgICAgICAg ICAgICBMaW51eER1bXBlciogZHVtcGVyKQotICAgICAgIDogdWNvbnRleHRfKGNvbnRleHQgPyAm Y29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYm ICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgICAg ICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVMTCks Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAg ICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDogTlVM TCksCi0gI2VuZGlmCi0gICAgICAgICBkdW1wZXJfKGR1bXBlciksCi1AQCAtMzM3LDYgKzMzOSw4 IEBAIGNsYXNzIE1pY3JvZHVtcFdyaXRlciB7Ci0gIyBlbHNlCi0gIyAgZXJyb3IgIlRoaXMgbWlw cyBBQkkgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgKG4zMikiCi0gI2VuZGlmCi0rI2VsaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBjb25zdCBjaGFyIGtBcmNoW10gPSAicHBjNjQi OwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3Vy IHBsYXRmb3JtIHlldCIKLSAjZW5kaWYKLUBAIC00MDksNyArNDEzLDkgQEAgY2xhc3MgTWljcm9k dW1wV3JpdGVyIHsKLSAgIHZvaWQgRHVtcENQVVN0YXRlKCkgewotICAgICBSYXdDb250ZXh0Q1BV IGNwdTsKLSAgICAgbXlfbWVtc2V0KCZjcHUsIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7Ci0t I2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0 KCZjcHUsIHVjb250ZXh0XywgdmVjdG9yX3N0YXRlXyk7Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1f RUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgICAgVUNvbnRleHRSZWFkZXI6OkZpbGxD UFVDb250ZXh0KCZjcHUsIHVjb250ZXh0XywgZmxvYXRfc3RhdGVfKTsKLSAjZWxzZQotICAgICBV Q29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfKTsKLUBAIC02MDUs NyArNjExLDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAgIHZvaWQqIEFsbG9jKHVuc2ln bmVkIGJ5dGVzKSB7IHJldHVybiBkdW1wZXJfLT5hbGxvY2F0b3IoKS0+QWxsb2MoYnl0ZXMpOyB9 Ci0gCi0gICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87Ci0tI2lmICFkZWZpbmVk KF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSsgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rv cl9zdGF0ZV87Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21p cHNfXykKLSAgIGNvbnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9z dGF0ZV87Ci0gI2VuZGlmCi0gICBMaW51eER1bXBlciogZHVtcGVyXzsKLWRpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93 cml0ZXIvbWljcm9kdW1wX3dyaXRlcl91bml0dGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3Jp dGVyX3VuaXR0ZXN0LmNjCi1pbmRleCA2MzM5YWMwY2QuLjI5MWFmMTA2YiAxMDA2NDQKLS0tLSBh L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1w X3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9k dW1wX3dyaXRlcl91bml0dGVzdC5jYwotQEAgLTI3OSwxMCArMjc5LDE5IEBAIFRFU1QoTWljcm9k dW1wV3JpdGVyVGVzdCwgQmFzaWNXaXRoTWFwcGluZ3MpIHsKLSAgIENyYXNoQW5kR2V0TWljcm9k dW1wKG1hcHBpbmdzLCBNaWNyb2R1bXBFeHRyYUluZm8oKSwgJmJ1Zik7Ci0gICBBU1NFUlRfVFJV RShDb250YWluc01pY3JvZHVtcChidWYpKTsKLSAKLSsgIGludCBwYWdlX3NpemUgPSBnZXRwYWdl c2l6ZSgpOwotICNpZmRlZiBfX0xQNjRfXwotLSAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9z LAotLSAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAwMDAwMDAwMDEwMDAgMDAwMDAwMDAwMDAw MDAyQSAwMDAwMDAwMDAwMDAxMDAwICIKLS0gICAgICAgICAgICAgICAgICAgICAiMzMyMjExMDA1 NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKLSsgIC8vIFRoaXMgdGVzdCBp cyBvbmx5IGF2YWlsYWJsZSBmb3IgdGhlIGZvbGxvd2luZyBwYWdlIHNpemVzCi0rICBBU1NFUlRf VFJVRSgocGFnZV9zaXplID09IDQwOTYpIHx8IChwYWdlX3NpemUgPT0gNjU1MzYpKTsKLSsgIGlm IChwYWdlX3NpemUgPT0gNDA5NikgeyAKLSsgICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5nOjpucG9z LAotKyAgICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAwMDAwMTAwMCAwMDAwMDAwMDAw MDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgotKyAgICAgICAgICAgICAgICAgICAgICAgIjMzMjIx MTAwNTU0NDc3NjY4ODk5QUFCQkNDRERFRUZGMCBsaWJmb28uc28iKSk7Ci0rICB9IGVsc2Ugewot KyAgICBBU1NFUlRfTkUoc3RkOjpzdHJpbmc6Om5wb3MsCi0rICAgICAgICAgICAgICBidWYuZmlu ZCgiTSAwMDAwMDAwMDAwMDEwMDAwIDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAxMDAwMCAi Ci0rICAgICAgICAgICAgICAgICAgICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVF RkYwIGxpYmZvby5zbyIpKTsKLSsgIH0KLSAjZWxzZQotICAgQVNTRVJUX05FKHN0ZDo6c3RyaW5n OjpucG9zLAotICAgICAgICAgICAgIGJ1Zi5maW5kKCJNIDAwMDAxMDAwIDAwMDAwMDJBIDAwMDAx MDAwICIKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1bXBlci5jYyBiL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xp bnV4X2NvcmVfZHVtcGVyLmNjCi1pbmRleCA0MTUwNjg5ODMuLmI5M2U0YWZjZiAxMDA2NDQKLS0t LSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1 bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9jb3JlX2R1 bXBlci5jYwotQEAgLTExMiw2ICsxMTIsOSBAQCBib29sIExpbnV4Q29yZUR1bXBlcjo6R2V0VGhy ZWFkSW5mb0J5SW5kZXgoc2l6ZV90IGluZGV4LCBUaHJlYWRJbmZvKiBpbmZvKSB7Ci0gI2VsaWYg ZGVmaW5lZChfX21pcHNfXykKLSAgIHN0YWNrX3BvaW50ZXIgPQotICAgICAgIHJlaW50ZXJwcmV0 X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdf U1BdKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBzdGFja19wb2ludGVyID0K LSsgICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncF9yZWdz W01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXSk7Ci0gI2Vsc2UKLSAjZXJyb3IgIlRoaXMgY29kZSBo YXNuJ3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgotICNlbmRpZgotQEAgLTE5 Nyw3ICsyMDAsMTAgQEAgYm9vbCBMaW51eENvcmVEdW1wZXI6OkVudW1lcmF0ZVRocmVhZHMoKSB7 Ci0gICAgICAgICBtZW1zZXQoJmluZm8sIDAsIHNpemVvZihUaHJlYWRJbmZvKSk7Ci0gICAgICAg ICBpbmZvLnRnaWQgPSBzdGF0dXMtPnByX3BncnA7Ci0gICAgICAgICBpbmZvLnBwaWQgPSBzdGF0 dXMtPnByX3BwaWQ7Ci0tI2lmIGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSsgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMzE7IGkrKykKLSsgICAgICAg ICAgICBpbmZvLm1jb250ZXh0LmdwX3JlZ3NbaV0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKLSsjZWxp ZiBkZWZpbmVkKF9fbWlwc19fKQotICNpZiBkZWZpbmVkKF9fQU5EUk9JRF9fKQotICAgICAgICAg Zm9yIChpbnQgaSA9IEVGX1IwOyBpIDw9IEVGX1IzMTsgaSsrKQotICAgICAgICAgICBpbmZvLm1j b250ZXh0LmdyZWdzW2kgLSBFRl9SMF0gPSBzdGF0dXMtPnByX3JlZ1tpXTsKLWRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9kdW1wZXIuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKLWluZGV4IDdm ZDY1MzJhZC4uMTk5Y2JmZmZkIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmNjCi0r KysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9kdW1wZXIuY2MKLUBAIC03NjUsNyArNzY1LDkgQEAgYm9vbCBMaW51 eER1bXBlcjo6R2V0U3RhY2tJbmZvKGNvbnN0IHZvaWQqKiBzdGFjaywgc2l6ZV90KiBzdGFja19s ZW4sCi0gICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW50X3N0YWNrX3BvaW50ZXIg JiB+KHBhZ2Vfc2l6ZSAtIDEpKTsKLSAKLSAgIC8vIFRoZSBudW1iZXIgb2YgYnl0ZXMgb2Ygc3Rh Y2sgd2hpY2ggd2UgdHJ5IHRvIGNhcHR1cmUuCi0tICBzdGF0aWMgY29uc3QgcHRyZGlmZl90IGtT dGFja1RvQ2FwdHVyZSA9IDMyICogMTAyNDsKLSsgIC8vIFRoaXMgbm93IGRlcGVuZHMgb24gcGFn ZV9zaXplIHRvIGF2b2lkIG1pc3NpbmcgZGF0YQotKyAgLy8gb24gc3lzdGVtcyB3aXRoIGxhcmdl ciBwYWdlIHNpemVzLgotKyAgc3RhdGljIGNvbnN0IHB0cmRpZmZfdCBrU3RhY2tUb0NhcHR1cmUg PSA4ICogcGFnZV9zaXplOwotIAotICAgY29uc3QgTWFwcGluZ0luZm8qIG1hcHBpbmcgPSBGaW5k TWFwcGluZyhzdGFja19wb2ludGVyKTsKLSAgIGlmICghbWFwcGluZykKLWRpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9kdW1wZXIuaCBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCi1pbmRleCA3YmVlMTYw ZjEuLjA3YmIyYjgxYSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCi0rKysgYi90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9saW51eF9kdW1wZXIuaAotQEAgLTYzLDcgKzYzLDggQEAgbmFtZXNwYWNlIGdvb2dsZV9i cmVha3BhZCB7Ci0gIChkZWZpbmVkKF9fbWlwc19fKSAmJiBfTUlQU19TSU0gPT0gX0FCSU8zMikK LSB0eXBlZGVmIEVsZjMyX2F1eHZfdCBlbGZfYXV4X2VudHJ5OwotICNlbGlmIGRlZmluZWQoX194 ODZfNjQpIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKLS0gICAgIChkZWZpbmVkKF9fbWlw c19fKSAmJiBfTUlQU19TSU0gIT0gX0FCSU8zMikKLSsgICAgIChkZWZpbmVkKF9fbWlwc19fKSAm JiBfTUlQU19TSU0gIT0gX0FCSU8zMikgfHwgXAotKyAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotIHR5cGVkZWYgRWxmNjRfYXV4dl90IGVsZl9hdXhfZW50cnk7Ci0gI2VuZGlmCi0gCi1kaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYyBiL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xp bnV4X2R1bXBlcl91bml0dGVzdF9oZWxwZXIuY2MKLWluZGV4IDMzMWY0YmIzNC4uM2Y3MjI5NDdm IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYwotKysr IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYwotQEAgLTUxLDYgKzUxLDgg QEAKLSAjZGVmaW5lIFRJRF9QVFJfUkVHSVNURVIgInJjeCIKLSAjZWxpZiBkZWZpbmVkKF9fbWlw c19fKQotICNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAiJDEiCi0rI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotKyNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAicjgiCi0gI2Vsc2UKLSAjZXJy b3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KLSAjZW5k aWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50 L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjIGIvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfcHRyYWNlX2R1bXBlci5jYwotaW5kZXggZTNkZGI4MWE2Li5mYTI4NTc1ZWYgMTAwNjQ0Ci0t LS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlk dW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVh a3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJh Y2VfZHVtcGVyLmNjCi1AQCAtMTQ5LDE5ICsxNDksMjcgQEAgYm9vbCBMaW51eFB0cmFjZUR1bXBl cjo6Q29weUZyb21Qcm9jZXNzKHZvaWQqIGRlc3QsIHBpZF90IGNoaWxkLAotICAgcmV0dXJuIHRy dWU7Ci0gfQotIAotLWJvb2wgTGludXhQdHJhY2VEdW1wZXI6OlJlYWRSZWdpc3RlclNldChUaHJl YWRJbmZvKiBpbmZvLCBwaWRfdCB0aWQpCi0tewotK2Jvb2wgTGludXhQdHJhY2VEdW1wZXI6OlJl YWRSZWdpc3RlclNldChUaHJlYWRJbmZvKiBpbmZvLCBwaWRfdCB0aWQpIHsKLSAjaWZkZWYgUFRS QUNFX0dFVFJFR1NFVAotICAgc3RydWN0IGlvdmVjIGlvOwotICAgaW5mby0+R2V0R2VuZXJhbFB1 cnBvc2VSZWdpc3RlcnMoJmlvLmlvdl9iYXNlLCAmaW8uaW92X2xlbik7Ci0tICBpZiAoc3lzX3B0 cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZp bykgPT0gLTEpIHsKLSsgIGlmIChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCop TlRfUFJTVEFUVVMsICh2b2lkKikmaW8pID09IC0xKSB7Ci0gICAgIHJldHVybiBmYWxzZTsKLSAg IH0KLSAKLSAgIGluZm8tPkdldEZsb2F0aW5nUG9pbnRSZWdpc3RlcnMoJmlvLmlvdl9iYXNlLCAm aW8uaW92X2xlbik7Ci0tICBpZiAoc3lzX3B0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2 b2lkKilOVF9GUFJFR1NFVCwgKHZvaWQqKSZpbykgPT0gLTEpIHsKLSsgIGlmIChwdHJhY2UoUFRS QUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfRlBSRUdTRVQsICh2b2lkKikmaW8pID09IC0x KSB7Ci0gICAgIHJldHVybiBmYWxzZTsKLSAgIH0KLSsKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotKyAgLy8gR3JhYiB0aGUgdmVjdG9yIHJlZ2lzdGVycyBvbiBQUEM2NCB0b28KLSsgIGlu Zm8tPkdldFZlY3RvclJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKLSsgIGlm IChwdHJhY2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCAodm9pZCopTlRfUFBDX1ZNWCwgKHZvaWQq KSZpbykgPT0gLTEpIHsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQotKyNlbmRpZiAvLyBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0rCi0gICByZXR1cm4gdHJ1ZTsKLSAjZWxzZQotICAgcmV0dXJu IGZhbHNlOwotQEAgLTI5OCw2ICszMDYsOSBAQCBib29sIExpbnV4UHRyYWNlRHVtcGVyOjpHZXRU aHJlYWRJbmZvQnlJbmRleChzaXplX3QgaW5kZXgsIFRocmVhZEluZm8qIGluZm8pIHsKLSAjZWxp ZiBkZWZpbmVkKF9fbWlwc19fKQotICAgc3RhY2tfcG9pbnRlciA9Ci0gICAgICAgcmVpbnRlcnBy ZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JF R19TUF0pOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHN0YWNrX3BvaW50ZXIg PQotKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250ZXh0LmdwX3Jl Z3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKLSAjZWxzZQotICNlcnJvciAiVGhpcyBjb2Rl IGhhc24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2VuZGlmCi1kaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYyBiL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xp bnV4X3B0cmFjZV9kdW1wZXJfdW5pdHRlc3QuY2MKLWluZGV4IGRhNzFlMTVkYy4uMTJiZmIzMTdh IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotKysr IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotQEAgLTQ2Miw2ICs0NjIs OSBAQCBURVNUKExpbnV4UHRyYWNlRHVtcGVyVGVzdCwgVmVyaWZ5U3RhY2tSZWFkV2l0aE11bHRp cGxlVGhyZWFkcykgewotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICAgIHBpZF90KiBwcm9j ZXNzX3RpZF9sb2NhdGlvbiA9Ci0gICAgICAgICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25l X3RocmVhZC5tY29udGV4dC5ncmVnc1sxXSk7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotKyAgICBwaWRfdCogcHJvY2Vzc190aWRfbG9jYXRpb24gPQotKyAgICAgICAgcmVpbnRlcnBy ZXRfY2FzdDxwaWRfdCo+KG9uZV90aHJlYWQubWNvbnRleHQuZ3BfcmVnc1s4XSk7Ci0gI2Vsc2UK LSAjZXJyb3IgVGhpcyB0ZXN0IGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4K LSAjZW5kaWYKLUBAIC01NTksNiArNTYyLDggQEAgVEVTVF9GKExpbnV4UHRyYWNlRHVtcGVyVGVz dCwgU2FuaXRpemVTdGFja0NvcHkpIHsKLSAgIHVpbnRwdHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRf aW5mby5yZWdzLnJjeDsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICAgdWludHB0cl90IGhl YXBfYWRkciA9IHRocmVhZF9pbmZvLm1jb250ZXh0LmdyZWdzWzFdOwotKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgIHVpbnRwdHJfdCBoZWFwX2FkZHIgPSB0aHJlYWRfaW5mby5tY29u dGV4dC5ncF9yZWdzWzhdOwotICNlbHNlCi0gI2Vycm9yIFRoaXMgdGVzdCBoYXMgbm90IGJlZW4g cG9ydGVkIHRvIHRoaXMgcGxhdGZvcm0uCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWlu aWR1bXBfd3JpdGVyLmNjIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1pbmRleCAzMjYzNGVm MDAuLjJhNTY5NDhkZSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRlci5jYwotKysr IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmNjCi1AQCAtMTM2LDcgKzEzNiw5IEBAIGNsYXNzIE1p bmlkdW1wV3JpdGVyIHsKLSAgICAgICA6IGZkXyhtaW5pZHVtcF9mZCksCi0gICAgICAgICBwYXRo XyhtaW5pZHVtcF9wYXRoKSwKLSAgICAgICAgIHVjb250ZXh0Xyhjb250ZXh0ID8gJmNvbnRleHQt PmNvbnRleHQgOiBOVUxMKSwKLS0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5l ZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAgICAgdmVjdG9y X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPnZlY3Rvcl9zdGF0ZSA6IE5VTEwpLAotKyNlbGlm ICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICAgICAgICBm bG9hdF9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT5mbG9hdF9zdGF0ZSA6IE5VTEwpLAotICNl bmRpZgotICAgICAgICAgZHVtcGVyXyhkdW1wZXIpLAotQEAgLTQ2OCw3ICs0NzAsOSBAQCBjbGFz cyBNaW5pZHVtcFdyaXRlciB7Ci0gICAgICAgICBpZiAoIWNwdS5BbGxvY2F0ZSgpKQotICAgICAg ICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICBteV9tZW1zZXQoY3B1LmdldCgpLCAwLCBzaXpl b2YoUmF3Q29udGV4dENQVSkpOwotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZp bmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgICAgICBVQ29u dGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1Y29udGV4dF8sIHZlY3Rvcl9z dGF0ZV8pOwotKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBz X18pCi0gICAgICAgICBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoY3B1LmdldCgpLCB1 Y29udGV4dF8sIGZsb2F0X3N0YXRlXyk7Ci0gI2Vsc2UKLSAgICAgICAgIFVDb250ZXh0UmVhZGVy OjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0Xyk7Ci1AQCAtODk3LDcgKzkwMSw3 IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgICAgZGlyZW50LT5sb2NhdGlvbi5ydmEgPSAw OwotICAgfQotIAotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgYm9vbCBXcml0ZUNQVUluZm9ybWF0aW9uKE1EUmF3U3lzdGVtSW5mbyogc3lzX2luZm8p IHsKLSAgICAgY2hhciB2ZW5kb3JfaWRbc2l6ZW9mKHN5c19pbmZvLT5jcHUueDg2X2NwdV9pbmZv LnZlbmRvcl9pZCkgKyAxXSA9IHswfTsKLSAgICAgc3RhdGljIGNvbnN0IGNoYXIgdmVuZG9yX2lk X25hbWVbXSA9ICJ2ZW5kb3JfaWQiOwotQEAgLTkxNyw3ICs5MjEsOSBAQCBjbGFzcyBNaW5pZHVt cFdyaXRlciB7Ci0gCi0gICAgIC8vIHByb2Nlc3Nvcl9hcmNoaXRlY3R1cmUgc2hvdWxkIGFsd2F5 cyBiZSBzZXQsIGRvIHRoaXMgZmlyc3QKLSAgICAgc3lzX2luZm8tPnByb2Nlc3Nvcl9hcmNoaXRl Y3R1cmUgPQotLSNpZiBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0rICAgICAgICBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0OwotKyNlbGlmIGRlZmluZWQo X19taXBzX18pCi0gIyBpZiBfTUlQU19TSU0gPT0gX0FCSU8zMgotICAgICAgICAgTURfQ1BVX0FS Q0hJVEVDVFVSRV9NSVBTOwotICMgZWxpZiBfTUlQU19TSU0gPT0gX0FCSTY0Ci1AQCAtMTMzMyw3 ICsxMzM5LDkgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgY29uc3QgY2hhciogcGF0aF87 ICAvLyBQYXRoIHRvIHRoZSBmaWxlIHdoZXJlIHRoZSBtaW5pZHVtIHNob3VsZCBiZSB3cml0dGVu LgotIAotICAgY29uc3QgdWNvbnRleHRfdCogY29uc3QgdWNvbnRleHRfOyAgLy8gYWxzbyBmcm9t IHRoZSBzaWduYWwgaGFuZGxlcgotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZp bmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICBjb25zdCBnb29n bGVfYnJlYWtwYWQ6OnZzdGF0ZV90KiBjb25zdCB2ZWN0b3Jfc3RhdGVfOwotKyNlbGlmICFkZWZp bmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0gICBjb25zdCBnb29nbGVf YnJlYWtwYWQ6OmZwc3RhdGVfdCogY29uc3QgZmxvYXRfc3RhdGVfOyAgLy8gZGl0dG8KLSAjZW5k aWYKLSAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOwotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1w X3dyaXRlci5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKLWluZGV4IGUzYjBiMTZkYS4uY2Nk OGFhMGE0IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKLSsrKyBiL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVy L21pbmlkdW1wX3dyaXRlci5oCi1AQCAtNDgsNiArNDgsOCBAQCBjbGFzcyBFeGNlcHRpb25IYW5k bGVyOwotIAotICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotIHR5cGVkZWYgc3RydWN0IGZwc2lt ZF9jb250ZXh0IGZwc3RhdGVfdDsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rdHlw ZWRlZiB2cnJlZ3NldF90IHZzdGF0ZV90OwotICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykg JiYgIWRlZmluZWQoX19taXBzX18pCi0gdHlwZWRlZiBzdGQ6OnJlbW92ZV9wb2ludGVyPGZwcmVn c2V0X3Q+Ojp0eXBlIGZwc3RhdGVfdDsKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5p ZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3Qu Y2MKLWluZGV4IGQxOTJlNWNiYi4uZmMxYmZhOGQ3IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1 bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRl c3QuY2MKLUBAIC03MTUsNiArNzE1LDkgQEAgVEVTVChNaW5pZHVtcFdyaXRlclRlc3QsIEludmFs aWRTdGFja1BvaW50ZXIpIHsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICAgY29udGV4dC5j b250ZXh0LnVjX21jb250ZXh0LmdyZWdzW01EX0NPTlRFWFRfTUlQU19SRUdfU1BdID0KLSAgICAg ICBpbnZhbGlkX3N0YWNrX3BvaW50ZXI7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot KyAgY29udGV4dC5jb250ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2NF9S RUdfU1BdID0KLSsgICAgICBpbnZhbGlkX3N0YWNrX3BvaW50ZXI7Ci0gI2Vsc2UKLSAjIGVycm9y ICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0g I2VuZGlmCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Nv bW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGUuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwotaW5kZXggOTkz NjI5NDVjLi5jNTRiYTcxNDUgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYwotKysrIGIvdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2Zp bGUuY2MKLUBAIC02NSw4ICs2NSw3IEBAIGJvb2wgTWVtb3J5TWFwcGVkRmlsZTo6TWFwKGNvbnN0 IGNoYXIqIHBhdGgsIHNpemVfdCBvZmZzZXQpIHsKLSAgIH0KLSAKLSAjaWYgZGVmaW5lZChfX3g4 Nl82NF9fKSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCi0tICAgKGRlZmluZWQoX19taXBz X18pICYmIF9NSVBTX1NJTSA9PSBfQUJJNjQpCi0tCi0rICAgKGRlZmluZWQoX19taXBzX18pICYm IF9NSVBTX1NJTSA9PSBfQUJJNjQpIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgIHN0cnVj dCBrZXJuZWxfc3RhdCBzdDsKLSAgIGlmIChzeXNfZnN0YXQoZmQsICZzdCkgPT0gLTEgfHwgc3Qu c3Rfc2l6ZSA8IDApIHsKLSAjZWxzZQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNj IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlf bWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKLWluZGV4IGZhZDU5ZjQwYy4uNjE2NDk2ZDY3IDEwMDY0 NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9t ZW1vcnlfbWFwcGVkX2ZpbGVfdW5pdHRlc3QuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlX3VuaXR0ZXN0LmNj Ci1AQCAtMTc2LDkgKzE3NiwxMCBAQCBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIFJlbWFw QWZ0ZXJNYXApIHsKLSBURVNUX0YoTWVtb3J5TWFwcGVkRmlsZVRlc3QsIE1hcFdpdGhPZmZzZXQp IHsKLSAgIC8vIFB1dCBtb3JlIGRhdGEgaW4gdGhlIHRlc3QgZmlsZSB0aGlzIHRpbWUuIE9mZnNl dHMgY2FuIG9ubHkgYmUKLSAgIC8vIGRvbmUgb24gcGFnZSBib3VuZGFyaWVzLCBzbyB3ZSBuZWVk IGEgdHdvIHBhZ2UgZmlsZSB0byB0ZXN0IHRoaXMuCi0tICBjb25zdCBpbnQgcGFnZV9zaXplID0g NDA5NjsKLS0gIGNoYXIgZGF0YTFbMiAqIHBhZ2Vfc2l6ZV07Ci0tICBzaXplX3QgZGF0YTFfc2l6 ZSA9IHNpemVvZihkYXRhMSk7Ci0rICBjb25zdCBpbnQgcGFnZV9zaXplID0gZ2V0cGFnZXNpemUo KTsKLSsgIGNoYXIgKmRhdGExID0gc3RhdGljX2Nhc3Q8Y2hhcio+KG1hbGxvYygyICogcGFnZV9z aXplKSk7Ci0rICBFWFBFQ1RfVFJVRShkYXRhMSAhPSBOVUxMKTsKLSsgIHNpemVfdCBkYXRhMV9z aXplID0gKDIgKiBwYWdlX3NpemUpOwotICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBkYXRhMV9z aXplOyArK2kpIHsKLSAgICAgZGF0YTFbaV0gPSBpICYgMHg3ZjsKLSAgIH0KLWRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0 b3JfdW5pdHRlc3QuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9u L21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKLWluZGV4IDU4MDNiOTBkNS4uMmExY2YxNGYw IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9t ZW1vcnlfYWxsb2NhdG9yX3VuaXR0ZXN0LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKLUBAIC01Nyw4 ICs1Nyw5IEBAIFRFU1QoUGFnZUFsbG9jYXRvclRlc3QsIExhcmdlT2JqZWN0KSB7Ci0gCi0gICBF WFBFQ1RfRVEoMFUsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0gICB1aW50OF90KiBw ID0gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKDEwMDAwKSk7Ci0r ICB1aW50NjRfdCBleHBlY3RlZF9wYWdlcyA9IDEgKyAoKDEwMDAwIC0gMSkgLyBnZXRwYWdlc2l6 ZSgpKTsKLSAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOwotLSAgRVhQRUNUX0VRKDNVLCBhbGxv Y2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOwotKyAgRVhQRUNUX0VRKGV4cGVjdGVkX3BhZ2VzLCBh bGxvY2F0b3IucGFnZXNfYWxsb2NhdGVkKCkpOwotICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8 IDEwOyArK2kpIHsKLSAgICAgdWludDhfdCogcCA9IHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+ KGFsbG9jYXRvci5BbGxvYyhpKSk7Ci0gICAgIEFTU0VSVF9GQUxTRShwID09IE5VTEwpOwotZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhw bG9pdGFiaWxpdHlfbGludXguY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv cHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X2xpbnV4LmNjCi1pbmRleCA3OTgwNTZkZmEuLjIyYmQ4 MWZmZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9j ZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKLUBAIC0yMDIs MTIgKzIwMiwxNCBAQCBib29sIEV4cGxvaXRhYmlsaXR5TGludXg6OkVuZGVkT25JbGxlZ2FsV3Jp dGUodWludDY0X3QgaW5zdHJ1Y3Rpb25fcHRyKSB7Ci0gICAvLyBDaGVjayBhcmNoaXRlY3R1cmUg YW5kIHNldCBhcmNoaXRlY3R1cmUgdmFyaWFibGUgdG8gY29ycmVzcG9uZGluZyBmbGFnCi0gICAv LyBpbiBvYmpkdW1wLgotICAgc3dpdGNoIChjb250ZXh0LT5HZXRDb250ZXh0Q1BVKCkpIHsKLSsj aWYgZGVmaW5lZChfX2kzODYpIHx8IGRlZmluZWQoX194ODZfNjQpCi0gICAgIGNhc2UgTURfQ09O VEVYVF9YODY6Ci0gICAgICAgYXJjaGl0ZWN0dXJlID0gImkzODYiOwotICAgICAgIGJyZWFrOwot ICAgICBjYXNlIE1EX0NPTlRFWFRfQU1ENjQ6Ci0gICAgICAgYXJjaGl0ZWN0dXJlID0gImkzODY6 eDg2LTY0IjsKLSAgICAgICBicmVhazsKLSsjZW5kaWYKLSAgICAgZGVmYXVsdDoKLSAgICAgICAv LyBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUuIE5vdGUgdGhhdCBBUk0gYXJjaGl0ZWN0dXJlcyBh cmUgbm90Ci0gICAgICAgLy8gc3VwcG9ydGVkIGJlY2F1c2Ugb2JqZHVtcCBkb2VzIG5vdCBzdXBw b3J0IEFSTS4KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv cHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjIGIvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV91bml0dGVzdC5jYwotaW5k ZXggNTI4ZWU1ZjIxLi43Mjc2NGQ2YzEgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0ZXN0LmNjCi0rKysg Yi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmls aXR5X3VuaXR0ZXN0LmNjCi1AQCAtMTA0LDYgKzEwNCw4IEBAIEV4cGxvaXRhYmlsaXR5Rm9yKGNv bnN0IHN0cmluZyYgZmlsZW5hbWUpIHsKLSB9Ci0gCi0gVEVTVChFeHBsb2l0YWJpbGl0eVRlc3Qs IFRlc3RXaW5kb3dzRW5naW5lKSB7Ci0rLy8gVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgb25seSBl eGVjdXRhYmxlIG9uIGFuIHg4Ni1jbGFzcyBsaW51eCBtYWNoaW5lLgotKyNpZiAhZGVmaW5lZChf V0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkpCi0gICBBU1NF UlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAotICAgICAgICAgICAg IEV4cGxvaXRhYmlsaXR5Rm9yKCJhc2NpaV9yZWFkX2F2LmRtcCIpKTsKLSAgIEFTU0VSVF9FUShn b29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCi1AQCAtMTM2LDkgKzEzOCwxMiBA QCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKLSAgICAgICAg ICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jbG9iYmVyX3dyaXRlLmRtcCIpKTsKLSAg IEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0xPVywKLSAgICAgICAg ICAgICBFeHBsb2l0YWJpbGl0eUZvcigicmVhZF9hdl9jb25kaXRpb25hbC5kbXAiKSk7Ci0rI2Vu ZGlmCi0gfQotIAotIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsK LSsvLyBUaGUgZm9sbG93aW5nIHRlc3RzIGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNs YXNzIGxpbnV4IG1hY2hpbmUuCi0rI2lmIGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2 XzY0KQotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJF U1RJTkcsCi0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X251bGxfcmVhZF9h di5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9I SUdILAotQEAgLTE3MSw3ICsxNzYsOCBAQCBURVNUKEV4cGxvaXRhYmlsaXR5VGVzdCwgVGVzdExp bnV4RW5naW5lKSB7Ci0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X2V4ZWN1 dGFibGVfaGVhcC5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lU QUJJTElUWV9ISUdILAotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF9qbXBf dG9fbW9kdWxlX25vdF9leGVfcmVnaW9uLmRtcCIpKTsKLS0jaWZuZGVmIF9XSU4zMgotKyNlbmRp ZgotKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChf X3g4Nl82NCkpCi0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9I SUdILAotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b19ub253 cml0YWJsZV9tb2R1bGUuZG1wIikpOwotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQ TE9JVEFCSUxJVFlfSElHSCwKLUBAIC0xODIsMTAgKzE4OCwxMCBAQCBURVNUKEV4cGxvaXRhYmls aXR5VGVzdCwgVGVzdExpbnV4RW5naW5lKSB7Ci0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlG b3IoImxpbnV4X3dyaXRlX3RvX291dHNpZGVfbW9kdWxlX3ZpYV9tYXRoLmRtcCIpKTsKLSAgIEFT U0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0lOVEVSRVNUSU5HLAotICAg ICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJsaW51eF93cml0ZV90b191bmRlcl80ay5kbXAi KSk7Ci0tI2VuZGlmICAvLyBfV0lOMzIKLSsjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYg KCFkZWZpbmVkKF9faTM4NikgJiYgIWRlZmluZWQoX194ODZfNjQpKQotIH0KLSAKLS0jaWZuZGVm IF9XSU4zMgotKyNpZiAhZGVmaW5lZChfV0lOMzIpICYmIChkZWZpbmVkKF9faTM4NikgfHwgZGVm aW5lZChfX3g4Nl82NCkpCi0gVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBEaXNh c3NlbWJsZUJ5dGVzVGVzdCkgewotICAgQVNTRVJUX0ZBTFNFKEV4cGxvaXRhYmlsaXR5TGludXhU ZXN0OjpEaXNhc3NlbWJsZUJ5dGVzKCIiLCBOVUxMLCA1LCBOVUxMKSk7Ci0gICB1aW50OF90IGJ5 dGVzWzZdID0gezB4YzcsIDB4MCwgMHg1LCAweDAsIDB4MCwgMHgwfTsKLUBAIC0zMDEsNiArMzA3 LDcgQEAgVEVTVChFeHBsb2l0YWJpbGl0eUxpbnV4VXRpbHNUZXN0LCBDYWxjdWxhdGVBZGRyZXNz VGVzdCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJndyaXRlX2FkZHJlc3MpKTsKLSB9Ci0tI2VuZGlmICAvLyBf V0lOMzIKLSsjZW5kaWYgIC8vICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8 fCBkZWZpbmVkKF9feDg2XzY0KSkKLSsKLSAKLSB9ICAvLyBuYW1lc3BhY2UKLWRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9t aW5pZHVtcC0yLWNvcmUuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvdG9v bHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLWluZGV4IGFhZGU4MmM5OS4uMTk1 YWE3M2YzIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Rv b2xzL2xpbnV4L21kMmNvcmUvbWluaWR1bXAtMi1jb3JlLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUu Y2MKLUBAIC03Nyw2ICs3Nyw4IEBACi0gICAjZGVmaW5lIEVMRl9BUkNIICBFTV9NSVBTCi0gI2Vs aWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSAgICNkZWZpbmUgRUxGX0FSQ0ggIEVNX0FBUkNINjQK LSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAjZGVmaW5lIEVMRl9BUkNIICBFTV9Q UEM2NAotICNlbmRpZgotIAotICNpZiBkZWZpbmVkKF9fYXJtX18pCi1AQCAtODcsNiArODksOCBA QCB0eXBlZGVmIHVzZXJfcmVncyB1c2VyX3JlZ3Nfc3RydWN0OwotICNlbGlmIGRlZmluZWQgKF9f bWlwc19fKQotIC8vIFRoaXMgZmlsZS1sb2NhbCB0eXBlZGVmIHNpbXBsaWZpZXMgdGhlIHNvdXJj ZSBjb2RlLgotIHR5cGVkZWYgZ3JlZ3NldF90IHVzZXJfcmVnc19zdHJ1Y3Q7Ci0rI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotK3R5cGVkZWYgc3RydWN0IHB0X3JlZ3MgdXNlcl9yZWdzX3N0 cnVjdDsKLSAjZW5kaWYKLSAKLSB1c2luZyBnb29nbGVfYnJlYWtwYWQ6Ok1EVHlwZUhlbHBlcjsK LUBAIC0zMjEsNiArMzI1LDkgQEAgc3RydWN0IENyYXNoZWRQcm9jZXNzIHsKLSAjZW5kaWYKLSAj aWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLSAgICAgdXNlcl9mcHNpbWRfc3RydWN0IGZwcmVnczsK LSsjZW5kaWYKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBtY29udGV4dF90IG1j b250ZXh0OwotICNlbmRpZgotICAgICB1aW50cHRyX3Qgc3RhY2tfYWRkcjsKLSAgICAgY29uc3Qg dWludDhfdCogc3RhY2s7Ci1AQCAtNTM1LDYgKzU0MiwzOCBAQCBQYXJzZVRocmVhZFJlZ2lzdGVy cyhDcmFzaGVkUHJvY2Vzczo6VGhyZWFkKiB0aHJlYWQsCi0gICB0aHJlYWQtPm1jb250ZXh0LmZw Y19laXIgPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZpcjsKLSAjZW5kaWYKLSB9Ci0rI2VsaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotK3N0YXRpYyB2b2lkCi0rUGFyc2VUaHJlYWRSZWdpc3RlcnMo Q3Jhc2hlZFByb2Nlc3M6OlRocmVhZCogdGhyZWFkLAotKyAgICAgICAgICAgICAgICAgICAgIGNv bnN0IE1pbmlkdW1wTWVtb3J5UmFuZ2UmIHJhbmdlKSB7Ci0rICBjb25zdCBNRFJhd0NvbnRleHRQ UEM2NCogcmF3cmVncyA9IHJhbmdlLkdldERhdGE8TURSYXdDb250ZXh0UFBDNjQ+KDApOwotKwot KyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9DT05URVhUX1BQQzY0X0dQUl9DT1VOVDsgaSsrKQot KyAgICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbaV0gPSByYXdyZWdzLT5ncHJbaV07Ci0rCi0r ICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXSA9IHJhd3JlZ3MtPmxyOwotKyAgdGhy ZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX05JUF0gPSByYXdyZWdzLT5zcnIwOwotKyAgdGhyZWFk LT5tY29udGV4dC5ncF9yZWdzW1BUX01TUl0gPSByYXdyZWdzLT5zcnIxOwotKyAgdGhyZWFkLT5t Y29udGV4dC5ncF9yZWdzW1BUX0NDUl0gPSByYXdyZWdzLT5jcjsKLSsgIHRocmVhZC0+bWNvbnRl eHQuZ3BfcmVnc1tQVF9YRVJdID0gcmF3cmVncy0+eGVyOwotKyAgdGhyZWFkLT5tY29udGV4dC5n cF9yZWdzW1BUX0NUUl0gPSByYXdyZWdzLT5jdHI7Ci0rICB0aHJlYWQtPm1jb250ZXh0LnZfcmVn cy0+dnJzYXZlID0gcmF3cmVncy0+dnJzYXZlOwotKwotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBN RF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykKLSsgICAgICB0aHJlYWQtPm1j b250ZXh0LmZwX3JlZ3NbaV0gPSByYXdyZWdzLT5mbG9hdF9zYXZlLmZwcmVnc1tpXTsKLSsKLSsg IHRocmVhZC0+bWNvbnRleHQuZnBfcmVnc1tORlBSRUctMV0gPSByYXdyZWdzLT5mbG9hdF9zYXZl LmZwc2NyOwotKwotKyAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENf VlJfQ09VTlQ7IGkrKykgewotKyAgICAgIHRocmVhZC0+bWNvbnRleHQudl9yZWdzLT52cnJlZ3Nb aV1bMF0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldLmhpZ2ggPj4gMzI7Ci0rICAg ICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVsxXSA9IHJhd3JlZ3MtPnZlY3Rv cl9zYXZlLnNhdmVfdnJbaV0uaGlnaDsKLSsgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+ dnJyZWdzW2ldWzJdID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3cgPj4gMzI7 Ci0rICAgICAgdGhyZWFkLT5tY29udGV4dC52X3JlZ3MtPnZycmVnc1tpXVszXSA9IHJhd3JlZ3Mt PnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0ubG93OwotKyAgfQotKwotKyAgdGhyZWFkLT5tY29udGV4 dC52X3JlZ3MtPnZzY3IudnNjcl93b3JkID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92c2Ny LmxvdyAmIDB4RkZGRkZGRkY7Ci0rfQotKwotICNlbHNlCi0gI2Vycm9yICJUaGlzIGNvZGUgaGFz IG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldCIKLSAjZW5kaWYKLUBAIC02MjMs NiArNjYyLDEyIEBAIFBhcnNlU3lzdGVtSW5mbyhjb25zdCBPcHRpb25zJiBvcHRpb25zLCBDcmFz aGVkUHJvY2VzcyogY3Jhc2hpbmZvLAotICMgZWxzZQotICMgIGVycm9yICJUaGlzIG1pcHMgQUJJ IGlzIGN1cnJlbnRseSBub3Qgc3VwcG9ydGVkIChuMzIpIgotICMgZW5kaWYKLSsjZWxpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0rICBpZiAoc3lzaW5mby0+cHJvY2Vzc29yX2FyY2hpdGVjdHVy ZSAhPSBNRF9DUFVfQVJDSElURUNUVVJFX1BQQzY0KSB7Ci0rICAgIGZwcmludGYoc3RkZXJyLAot KyAgICAgICAgICAgICJUaGlzIHZlcnNpb24gb2YgbWluaWR1bXAtMi1jb3JlIG9ubHkgc3VwcG9y dHMgUFBDNjQuXG4iKTsKLSsgICAgZXhpdCgxKTsKLSsgIH0KLSAjZWxzZQotICNlcnJvciAiVGhp cyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQiCi0gI2VuZGlm Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JT IGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCi1pbmRleCA4NzI0 YjdmMzIuLjhlMjk0MjRlZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL0NPTlRSSUJVVE9SUwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvQ09O VFJJQlVUT1JTCi1AQCAtMTMsMyArMTMsNCBAQCBNYXJrIE1lbnRvdmFpIDxtYXJrQGNocm9taXVt Lm9yZz4KLSBSb2JlcnQgU2VzZWsgPHJzZXNla0BjaHJvbWl1bS5vcmc+Ci0gU2NvdHQgR3JhaGFt IDxzY290dG1nQGNocm9taXVtLm9yZz4KLSBKb3NodWEgUGVyYXphIDxqcGVyYXphQGNocm9taXVt Lm9yZz4KLStTaGF3biBBbmFzdGFzaW8gPHNoYXduQGFuYXN0YXMuaW8+Ci1kaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmggYi90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAotaW5k ZXggNmVkNzdhOThlLi4xZmQ4MzQ2OWEgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAotKysrIGIvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvY29tcGF0L2xpbnV4L3N5cy91c2VyLmgKLUBAIC0xNSw2ICsxNSw3IEBA Ci0gI2lmbmRlZiBDUkFTSFBBRF9DT01QQVRfTElOVVhfU1lTX1VTRVJfSF8KLSAjZGVmaW5lIENS QVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkZGVmPgot ICNpbmNsdWRlX25leHQgPHN5cy91c2VyLmg+Ci0gCi0gI2luY2x1ZGUgPGZlYXR1cmVzLmg+Ci1k aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dC5oIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWlu aWR1bXBfY29udGV4dC5oCi1pbmRleCAzYTNlNjAzY2IuLjMxMThkOWU5ZiAxMDA2NDQKLS0tLSBh L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHQu aAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBf Y29udGV4dC5oCi1AQCAtNTkyLDYgKzU5Miw3MCBAQCBzdHJ1Y3QgTWluaWR1bXBDb250ZXh0TUlQ UzY0IHsKLSAgIHVpbnQ2NF90IGZpcjsKLSB9OwotIAotKy8vISBcYnJpZWYgcHBjNjQtc3BlY2lm aWMgZmxhZ3MgZm9yIE1pbmlkdW1wUFBDNjQ6OmNvbnRleHRfZmxhZ3MKLSsvLyEgQmFzZWQgb24g bWluaWR1bXBfY3B1X3BwYzY0LmggZnJvbSBicmVha3BhZAotK2VudW0gTWluaWR1bXBDb250ZXh0 UFBDNjRGbGFncyA6IHVpbnQzMl90IHsKLSsgIC8vISBcYnJpZWYgSWRlbnRpZmllcyB0aGUgY29u dGV4dCBhcyBQUEM2NC4KLSsgIGtNaW5pZHVtcENvbnRleHRQUEM2NCA9IDB4MDEwMDAwMDAsCi0r Ci0rICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgZ2VuZXJhbCBwdXJwb3Nl IHJlZ2lzdGVycy4KLSsgIC8vIQotKyAgLy8hIFJlZ2lzdGVycyBgcjBgLWByMzFgLCBgbmlwYCwg YG1zcmAsIGBscmAsIGV0Yy4gYXJlIHZhbGlkLgotKyAga01pbmlkdW1wQ29udGV4dFBQQzY0QmFz ZSA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8IDB4MDAwMDAwMDEsCi0rCi0rICAvLyEgXGJyaWVm IEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgZmxvYXRpbmcgcG9pbnQgcmVnaXN0ZXJzLgotKyAg Ly8hCi0rICAvLyEgUmVnaXN0ZXJzIGBmcDBgLWBmcDMxYCwgYGZwc2NyYCBhcmUgdmFsaWQuCi0r ICBrTWluaWR1bXBDb250ZXh0UFBDNjRGbG9hdGluZyA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8 IDB4MDAwMDAwMDgsCi0rCi0rICAvLyEgXGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2Yg QWx0aXZlYy9WTVggcmVnaXN0ZXJzLgotKyAgLy8hCi0rICAvLyEgUmVnaXN0ZXJzIGB2MGAtYHYz MWAsIGB2c2NyYCwgYHZyc2F2ZWAuCi0rICBrTWluaWR1bXBDb250ZXh0UFBDNjRWZWN0b3IgPSBr TWluaWR1bXBDb250ZXh0UFBDNjQgfCAweDAwMDAwMDIwLAotKwotKyAgLy8hIFxicmllZiBJbmRp Y2F0ZXMgdGhlIHZhbGlkaXR5IG9mIGFsbCByZWdpc3RlcnMKLSsgIGtNaW5pZHVtcENvbnRleHRQ UEM2NEFsbCA9IGtNaW5pZHVtcENvbnRleHRQUEM2NEJhc2UgICAgIHwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGtNaW5pZHVtcENvbnRleHRQUEM2NEZsb2F0aW5nIHwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGtNaW5pZHVtcENvbnRleHRQUEM2NFZlY3RvcgotK307Ci0r Ci0rLy8hIFxicmllZiBBIFBQQzY0IENQVSBjb250ZXh0IGNhcnJpZWQgaW4gYSBtaW5pZHVtcCBm aWxlLgotKy8vISBCYXNlZCBvbiBtaW5pZHVtcF9jcHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFkLgot K3N0cnVjdCBNaW5pZHVtcENvbnRleHRQUEM2NCB7Ci0rICB1aW50NjRfdCBjb250ZXh0X2ZsYWdz OwotKwotKyAgLy8hIFxicmllZiBHZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzLgotKyAgdWludDY0 X3QgbmlwOwotKyAgdWludDY0X3QgbXNyOwotKyAgdWludDY0X3QgcmVnc1szMl07Ci0rICB1aW50 NjRfdCBjY3I7Ci0rICB1aW50NjRfdCB4ZXI7Ci0rICB1aW50NjRfdCBsbms7Ci0rICB1aW50NjRf dCBjdHI7Ci0rCi0rICAvLyEgXGJyaWVmIEZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycy4KLSsgIGRv dWJsZSBmcHJlZ3NbMzJdOwotKwotKyAgLy8hIFxicmllZiBGUFUgc3RhdHVzIHJlZ2lzdGVyLgot KyAgZG91YmxlIGZwc2NyOwotKwotKyAgLy8hIFxicmllZiBBbHRpdmVjL1ZNWCB2ZWN0b3IgcmVn aXN0ZXJzLgotKyAgc3RydWN0IHsKLSsgICAgICAvLyEgXGJyaWVmIFZlY3RvciByZWdpc3RlcnMg YXJlIDEyOGJpdHMuCi0rICAgICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92clszMl07Ci0rICAgICAg dWludDEyOF9zdHJ1Y3Qgc2F2ZV92c2NyOwotKwotKyAgICAgIC8vISBcYnJpZWYgUGFkZGluZyBp bmNsdWRlZCBmb3IgYnJlYWtwYWQgY29tcGF0aWJpbHRpeS4KLSsgICAgICB1aW50MzJfdCBzYXZl X3BhZDVbNF07Ci0rCi0rICAgICAgLy8hIFxicmllZiBWUlNBVkUgcmVnaXN0ZXIuCi0rICAgICAg dWludDMyX3Qgc2F2ZV92cnNhdmU7Ci0rCi0rICAgICAgLy8hIFxicmllZiBQYWRkaW5nIGluY2x1 ZGVkIGZvciBicmVha3BhZCBjb21wYXRpYmlsdGl5LgotKyAgICAgIHVpbnQzMl90IHNhdmVfcGFk Nls3XTsKLSsgIH0gdnJlZ3M7Ci0rfTsKLSsKLSB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKLSAK LSAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01JTklEVU1QX0NPTlRFWFRfSF8KLWRpZmYg LS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9j b250ZXh0X3dyaXRlci5jYyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1w L21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCi1pbmRleCBkN2U1M2E0OTMuLmQ4OWViOWUwMSAx MDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlk dW1wX2NvbnRleHRfd3JpdGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5jYwotQEAgLTEwMSw2ICsxMDEsMTMg QEAgTWluaWR1bXBDb250ZXh0V3JpdGVyOjpDcmVhdGVGcm9tU25hcHNob3QoY29uc3QgQ1BVQ29u dGV4dCogY29udGV4dF9zbmFwc2hvdCkgewotICAgICAgIGJyZWFrOwotICAgICB9Ci0gCi0rICAg IGNhc2Uga0NQVUFyY2hpdGVjdHVyZVBQQzY0OiB7Ci0rICAgICAgY29udGV4dCA9IHN0ZDo6bWFr ZV91bmlxdWU8TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXI+KCk7Ci0rICAgICAgcmVpbnRlcnBy ZXRfY2FzdDxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcio+KGNvbnRleHQuZ2V0KCkpCi0rICAg ICAgICAgIC0+SW5pdGFsaXplRnJvbVNuYXBzaG90KGNvbnRleHRfc25hcHNob3QtPnBwYzY0KTsK LSsgICAgICBicmVhazsKLSsgICAgfQotKwotICAgICBkZWZhdWx0OiB7Ci0gICAgICAgTE9HKEVS Uk9SKSA8PCAidW5rbm93biBjb250ZXh0IGFyY2hpdGVjdHVyZSAiCi0gICAgICAgICAgICAgICAg ICA8PCBjb250ZXh0X3NuYXBzaG90LT5hcmNoaXRlY3R1cmU7Ci1AQCAtNDUzLDQgKzQ2MCw0NyBA QCBzaXplX3QgTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyOjpDb250ZXh0U2l6ZSgpIGNvbnN0 IHsKLSAgIHJldHVybiBzaXplb2YoY29udGV4dF8pOwotIH0KLSAKLStNaW5pZHVtcENvbnRleHRQ UEM2NFdyaXRlcjo6TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKQotKyAgOiBNaW5pZHVtcENv bnRleHRXcml0ZXIoKSwgY29udGV4dF8oKSB7Ci0rICAgIGNvbnRleHRfLmNvbnRleHRfZmxhZ3Mg PSBrTWluaWR1bXBDb250ZXh0UFBDNjQ7Ci0rfQotKwotK01pbmlkdW1wQ29udGV4dFBQQzY0V3Jp dGVyOjp+TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKSA9IGRlZmF1bHQ7Ci0rCi0rdm9pZCBN aW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcjo6SW5pdGFsaXplRnJvbVNuYXBzaG90KAotKyAgICBj b25zdCBDUFVDb250ZXh0UFBDNjQqIGNvbnRleHRfc25hcHNob3QpIHsKLSsgIERDSEVDS19FUShz dGF0ZSgpLCBrU3RhdGVNdXRhYmxlKTsKLSsgIERDSEVDS19FUShjb250ZXh0Xy5jb250ZXh0X2Zs YWdzLCBrTWluaWR1bXBDb250ZXh0UFBDNjQpOwotKwotKyAgY29udGV4dF8uY29udGV4dF9mbGFn cyA9IGtNaW5pZHVtcENvbnRleHRQUEM2NEFsbDsKLSsKLSsgIG1lbWNweShjb250ZXh0Xy5yZWdz LCBjb250ZXh0X3NuYXBzaG90LT5yZWdzLCBzaXplb2YoY29udGV4dF8ucmVncykpOwotKyAgY29u dGV4dF8ubmlwID0gY29udGV4dF9zbmFwc2hvdC0+bmlwOwotKyAgY29udGV4dF8ubXNyID0gY29u dGV4dF9zbmFwc2hvdC0+bXNyOwotKyAgY29udGV4dF8uY2NyID0gY29udGV4dF9zbmFwc2hvdC0+ Y2NyOwotKyAgY29udGV4dF8ueGVyID0gY29udGV4dF9zbmFwc2hvdC0+eGVyOwotKyAgY29udGV4 dF8ubG5rID0gY29udGV4dF9zbmFwc2hvdC0+bG5rOwotKyAgY29udGV4dF8uY3RyID0gY29udGV4 dF9zbmFwc2hvdC0+Y3RyOwotKwotKyAgbWVtY3B5KGNvbnRleHRfLmZwcmVncywgY29udGV4dF9z bmFwc2hvdC0+ZnByZWdzLCBzaXplb2YoY29udGV4dF8uZnByZWdzKSk7Ci0rICBjb250ZXh0Xy5m cHNjciA9IGNvbnRleHRfc25hcHNob3QtPmZwc2NyOwotKwotKyAgbWVtY3B5KGNvbnRleHRfLnZy ZWdzLnNhdmVfdnIsIGNvbnRleHRfc25hcHNob3QtPnZyZWdzLnNhdmVfdnIsCi0rICAgICAgICAg c2l6ZW9mKGNvbnRleHRfLnZyZWdzLnNhdmVfdnIpKTsKLSsgIG1lbWNweSgmY29udGV4dF8udnJl Z3Muc2F2ZV92c2NyLCAmY29udGV4dF9zbmFwc2hvdC0+dnJlZ3Muc2F2ZV92c2NyLAotKyAgICAg ICAgIHNpemVvZihjb250ZXh0Xy52cmVncy5zYXZlX3ZzY3IpKTsKLSsgIGNvbnRleHRfLnZyZWdz LnNhdmVfdnJzYXZlID0gY29udGV4dF9zbmFwc2hvdC0+dnJlZ3Muc2F2ZV92cnNhdmU7Ci0rfQot KwotK2Jvb2wgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXI6OldyaXRlT2JqZWN0KAotKyAgICBG aWxlV3JpdGVySW50ZXJmYWNlKiBmaWxlX3dyaXRlcikgewotKyAgRENIRUNLX0VRKHN0YXRlKCks IGtTdGF0ZVdyaXRhYmxlKTsKLSsgIHJldHVybiBmaWxlX3dyaXRlci0+V3JpdGUoJmNvbnRleHRf LCBzaXplb2YoY29udGV4dF8pKTsKLSt9Ci0rCi0rc2l6ZV90IE1pbmlkdW1wQ29udGV4dFBQQzY0 V3JpdGVyOjpDb250ZXh0U2l6ZSgpIGNvbnN0IHsKLSsgIERDSEVDS19HRShzdGF0ZSgpLCBrU3Rh dGVGcm96ZW4pOwotKyAgcmV0dXJuIHNpemVvZihjb250ZXh0Xyk7Ci0rfQotKwotIH0gIC8vIG5h bWVzcGFjZSBjcmFzaHBhZAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggYi90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9jb250ZXh0X3dyaXRlci5oCi1pbmRleCBk NGFiOTM2ZWUuLjFkMjJmYzU5YyAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgKLSsrKyBiL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmgK LUBAIC0zMTUsNiArMzE1LDQzIEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBm aW5hbCA6IHB1YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewotICAgTWluaWR1bXBDb250ZXh0 TUlQUzY0IGNvbnRleHRfOwotIH07Ci0gCi0rY2xhc3MgTWluaWR1bXBDb250ZXh0UFBDNjRXcml0 ZXIgZmluYWwgOiBwdWJsaWMgTWluaWR1bXBDb250ZXh0V3JpdGVyIHsKLSsgcHVibGljOgotKyAg TWluaWR1bXBDb250ZXh0UFBDNjRXcml0ZXIoKTsKLSsgIH5NaW5pZHVtcENvbnRleHRQUEM2NFdy aXRlcigpIG92ZXJyaWRlOwotKwotKyAgLy8hIFxicmllZiBJbml0YWxpemVzIHRoZSBNaW5pZHVt cENvbnRleHRQUEM2NCBiYXNlZCBvbiBcYSBjb250ZXh0X3NuYXBzaG90LgotKyAgLy8hCi0rICAv LyEgXHBhcmFtW2luXSBjb250ZXh0X3NuYXBzaG90IFRoZSBjb250ZXh0IHNuYXBzaG90IHRvIHVz ZSBhcyBzb3VyY2UgZGF0YS4KLSsgIC8vIQotKyAgLy8hIFxub3RlIFZhbGlkIGluICNrU3RhdGVN dXRhYmxlLiBObyBtdXRhdGlvbiBvZiBjb250ZXh0KCkgbWF5IGJlIGRvbmUgYmVmb3JlCi0rICAv LyEgICAgIGNhbGxpbmcgdGhpcyBtZXRob2QsIGFuZCBpdCBpcyBub3Qgbm9ybWFsbHkgbmVjZXNz YXJ5IHRvIGFsdGVyCi0rICAvLyEgICAgIGNvbnRleHQoKSBhZnRlciBjYWxsaW5nIHRoaXMgbWV0 aG9kLgotKyAgdm9pZCBJbml0YWxpemVGcm9tU25hcHNob3QoY29uc3QgQ1BVQ29udGV4dFBQQzY0 KiBjb250ZXh0X3NuYXBzaG90KTsKLSsKLSsgIC8vISBcYnJpZWYgUmV0dXJucyBhIHBvaW50ZXIg dG8gdGhlIGNvbnRleHQgc3RydWN0dXJlIHRoYXQgdGhpcyBvYmplY3Qgd2lsbAotKyAgLy8hICAg ICB3cml0ZS4KLSsgIC8vIQotKyAgLy8hIFxhdHRlbnRpb24gVGhpcyByZXR1cm5zIGEgbm9uLWBj b25zdGAgcG9pbnRlciB0byB0aGlzIG9iamVjdOKAmXMgcHJpdmF0ZQotKyAgLy8hICAgICBkYXRh IHNvIHRoYXQgYSBjYWxsZXIgY2FuIHBvcHVsYXRlIHRoZSBjb250ZXh0IHN0cnVjdHVyZSBkaXJl Y3RseS4KLSsgIC8vISAgICAgVGhpcyBpcyBkb25lIGJlY2F1c2UgcHJvdmlkaW5nIHNldHRlciBp bnRlcmZhY2VzIHRvIGVhY2ggZmllbGQgaW4gdGhlCi0rICAvLyEgICAgIGNvbnRleHQgc3RydWN0 dXJlIHdvdWxkIGJlIHVud2llbGR5IGFuZCBjdW1iZXJzb21lLiBDYXJlIG11c3QgYmUgdGFrZW4K LSsgIC8vISAgICAgdG8gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3RydWN0dXJlIGNvcnJlY3RseS4g VGhlIGNvbnRleHQgc3RydWN0dXJlCi0rICAvLyEgICAgIG11c3Qgb25seSBiZSBtb2RpZmllZCB3 aGlsZSB0aGlzIG9iamVjdCBpcyBpbiB0aGUgI2tTdGF0ZU11dGFibGUKLSsgIC8vISAgICAgc3Rh dGUuCi0rICBNaW5pZHVtcENvbnRleHRQUEM2NCogY29udGV4dCgpIHsgcmV0dXJuICZjb250ZXh0 XzsgfQotKwotKyBwcm90ZWN0ZWQ6Ci0rICAvLyBNaW5pZHVtcFdyaXRhYmxlOgotKyAgYm9vbCBX cml0ZU9iamVjdChGaWxlV3JpdGVySW50ZXJmYWNlKiBmaWxlX3dyaXRlcikgb3ZlcnJpZGU7Ci0r Ci0rICAvLyBNaW5pZHVtcENvbnRleHRXcml0ZXI6Ci0rICBzaXplX3QgQ29udGV4dFNpemUoKSBj b25zdCBvdmVycmlkZTsKLSsKLSsgcHJpdmF0ZToKLSsgIE1pbmlkdW1wQ29udGV4dFBQQzY0IGNv bnRleHRfOwotK307Ci0rCi0gfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCi0gCi0gI2VuZGlmICAv LyBDUkFTSFBBRF9NSU5JRFVNUF9NSU5JRFVNUF9DT05URVhUX1dSSVRFUl9IXwotZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRl eHRfd3JpdGVyX3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVt cC9taW5pZHVtcF9jb250ZXh0X3dyaXRlcl90ZXN0LmNjCi1pbmRleCAzMjE2YTkwNmIuLmE5ZmNi ZTlkOCAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1w L21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3QuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3QuY2MKLUBA IC0yMTMsNiArMjEzLDIxIEBAIFRFU1QoTWluaWR1bXBDb250ZXh0V3JpdGVyLCBNSVBTNjRfRnJv bVNuYXBzaG90KSB7Ci0gICAgICAgY29udGV4dCwgRXhwZWN0TWluaWR1bXBDb250ZXh0TUlQUzY0 LCBrU2VlZCk7Ci0gfQotIAotK1RFU1QoTWluaWR1bXBDb250ZXh0V3JpdGVyLCBQUEM2NF9aZXJv cykgewotKyAgRW1wdHlDb250ZXh0VGVzdDxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciwgTWlu aWR1bXBDb250ZXh0UFBDNjQ+KAotKyAgICBFeHBlY3RNaW5pZHVtcENvbnRleHRQUEM2NCk7Ci0r fQotKwotK1RFU1QoTWluaWR1bXBDb250ZXh0V3JpdGVyLCBQUEM2NF9Gcm9tU25hcHNob3QpIHsK LSsgIGNvbnN0ZXhwciB1aW50MzJfdCBrU2VlZCA9IDY0OwotKyAgQ1BVQ29udGV4dFBQQzY0IGNv bnRleHRfcHBjNjQ7Ci0rICBDUFVDb250ZXh0IGNvbnRleHQ7Ci0rICBjb250ZXh0LnBwYzY0ID0g JmNvbnRleHRfcHBjNjQ7Ci0rICBJbml0aWFsaXplQ1BVQ29udGV4dFBQQzY0KCZjb250ZXh0LCBr U2VlZCk7Ci0rICBGcm9tU25hcHNob3RUZXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyLCBN aW5pZHVtcENvbnRleHRQUEM2ND4oCi0rICAgICAgY29udGV4dCwgRXhwZWN0TWluaWR1bXBDb250 ZXh0UFBDNjQsIGtTZWVkKTsKLSt9Ci0rCi0gfSAgLy8gbmFtZXNwYWNlCi0gfSAgLy8gbmFtZXNw YWNlIHRlc3QKLSB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKLWRpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVy LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfbWlz Y19pbmZvX3dyaXRlci5jYwotaW5kZXggMDk3NGUzZGRmLi5iNzFlYzU4ODAgMTAwNjQ0Ci0tLS0g YS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9taW5pZHVtcF9taXNjX2lu Zm9fd3JpdGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVt cC9taW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCi1AQCAtMTM1LDYgKzEzNSw4IEBAIHN0ZDo6 c3RyaW5nIE1pbmlkdW1wTWlzY0luZm9EZWJ1Z0J1aWxkU3RyaW5nKCkgewotICAgc3RhdGljIGNv bnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzIjsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01J UFM2NEVMKQotICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGtDUFVbXSA9ICJtaXBzNjQiOwotKyNl bGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjQpCi0rICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQ VVtdID0gInBwYzY0IjsKLSAjZWxzZQotICNlcnJvciBkZWZpbmUga0NQVSBmb3IgdGhpcyBDUFUK LSAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jYXB0dXJlX21lbW9yeS5jYyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCi1pbmRleCA3YTFiMjc2M2MuLmJlZGE4ZGE5ZSAxMDA2 NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NhcHR1cmVf bWVtb3J5LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9j YXB0dXJlX21lbW9yeS5jYwotQEAgLTExMiw2ICsxMTIsMTEgQEAgdm9pZCBDYXB0dXJlTWVtb3J5 OjpQb2ludGVkVG9CeUNvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgY29udGV4dCwKLSAgIGZvciAo c2l6ZV90IGkgPSAwOyBpIDwgc3RkOjpzaXplKGNvbnRleHQubWlwc2VsLT5yZWdzKTsgKytpKSB7 Ci0gICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxlZ2F0ZSwgY29udGV4dC5taXBzZWwt PnJlZ3NbaV0pOwotICAgfQotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQot KyAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250ZXh0LnBwYzY0LT5uaXAp OwotKyAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGQ6OnNpemUoY29udGV4dC5wcGM2NC0+cmVn cyk7ICsraSkgewotKyAgICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRl eHQucHBjNjQtPnJlZ3NbaV0pOwotKyAgfQotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlm Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1 X2FyY2hpdGVjdHVyZS5oIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv Y3B1X2FyY2hpdGVjdHVyZS5oCi1pbmRleCA4MTFhNzIwOTUuLmY0ZjgzOTgxZCAxMDA2NDQKLS0t LSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9hcmNoaXRlY3R1 cmUuaAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2Fy Y2hpdGVjdHVyZS5oCi1AQCAtNDMsNyArNDMsMTAgQEAgZW51bSBDUFVBcmNoaXRlY3R1cmUgewot ICAga0NQVUFyY2hpdGVjdHVyZU1JUFNFTCwKLSAKLSAgIC8vISBcYnJpZWYgNjQtYml0IE1JUFNF TC4KLS0gIGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRFTAotKyAga0NQVUFyY2hpdGVjdHVyZU1JUFM2 NEVMLAotKwotKyAgLy8hIFxicmllZiA2NC1iaXQgUFBDNjQuCi0rICBrQ1BVQXJjaGl0ZWN0dXJl UFBDNjQKLSB9OwotIAotIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAotZGlmZiAtLWdpdCBhL3Ro aXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjIGIvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKLWluZGV4 IGM3NWI1NTU1ZS4uYWVhZGU1NzdhIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmNjCi1AQCAtMTY5LDYgKzE2OSw4IEBA IHVpbnQ2NF90IENQVUNvbnRleHQ6Okluc3RydWN0aW9uUG9pbnRlcigpIGNvbnN0IHsKLSAgICAg ICByZXR1cm4gYXJtLT5wYzsKLSAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6Ci0gICAg ICAgcmV0dXJuIGFybTY0LT5wYzsKLSsgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6Ci0r ICAgICAgcmV0dXJuIHBwYzY0LT5uaXA7Ci0gICAgIGRlZmF1bHQ6Ci0gICAgICAgTk9UUkVBQ0hF RCgpOwotICAgICAgIHJldHVybiB+MHVsbDsKLUBAIC0xODUsNiArMTg3LDggQEAgdWludDY0X3Qg Q1BVQ29udGV4dDo6U3RhY2tQb2ludGVyKCkgY29uc3QgewotICAgICAgIHJldHVybiBhcm0tPnNw OwotICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVBUk02NDoKLSAgICAgICByZXR1cm4gYXJtNjQt PnNwOwotKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKLSsgICAgICByZXR1cm4gcHBj NjQtPnJlZ3NbMV07Ci0gICAgIGRlZmF1bHQ6Ci0gICAgICAgTk9UUkVBQ0hFRCgpOwotICAgICAg IHJldHVybiB+MHVsbDsKLUBAIC0xOTYsNiArMjAwLDcgQEAgYm9vbCBDUFVDb250ZXh0OjpJczY0 Qml0KCkgY29uc3QgewotICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVYODZfNjQ6Ci0gICAgIGNh c2Uga0NQVUFyY2hpdGVjdHVyZUFSTTY0OgotICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVNSVBT NjRFTDoKLSsgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6Ci0gICAgICAgcmV0dXJuIHRy dWU7Ci0gICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4NjoKLSAgICAgY2FzZSBrQ1BVQXJjaGl0 ZWN0dXJlQVJNOgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2NwdV9jb250ZXh0LmggYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jcHVfY29udGV4dC5oCi1pbmRleCBmYjIzYzQ2NzkuLmVlYmVkZTYzYyAxMDA2NDQKLS0t LSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgK LSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0 LmgKLUBAIC0zNTIsNiArMzUyLDI0IEBAIHN0cnVjdCBDUFVDb250ZXh0TUlQUzY0IHsKLSAgIHVp bnQ2NF90IGZpcjsKLSB9OwotIAotKy8vISBcYnJpZWYgQSBjb250ZXh0IHN0cnVjdHVyZSBjYXJy eWluZyBQUEM2NCBDUFUgc3RhdGUuCi0rc3RydWN0IENQVUNvbnRleHRQUEM2NCB7Ci0rICB1aW50 NjRfdCBuaXA7Ci0rICB1aW50NjRfdCBtc3I7Ci0rICB1aW50NjRfdCByZWdzWzMyXTsKLSsgIHVp bnQ2NF90IGNjcjsKLSsgIHVpbnQ2NF90IHhlcjsKLSsgIHVpbnQ2NF90IGxuazsKLSsgIHVpbnQ2 NF90IGN0cjsKLSsgIGRvdWJsZSBmcHJlZ3NbMzJdOwotKyAgZG91YmxlIGZwc2NyOwotKyAgc3Ry dWN0IHsKLSsgICAgdWludDEyOF9zdHJ1Y3Qgc2F2ZV92clszMl07Ci0rICAgIHVpbnQxMjhfc3Ry dWN0IHNhdmVfdnNjcjsKLSsgICAgdWludDMyX3Qgc2F2ZV92cnNhdmU7Ci0rICB9IHZyZWdzOwot K307Ci0rCi0gLy8hIFxicmllZiBBIGNvbnRleHQgc3RydWN0dXJlIGNhcGFibGUgb2YgY2Fycnlp bmcgdGhlIGNvbnRleHQgb2YgYW55IHN1cHBvcnRlZAotIC8vISAgICAgQ1BVIGFyY2hpdGVjdHVy ZS4KLSBzdHJ1Y3QgQ1BVQ29udGV4dCB7Ci1AQCAtMzgyLDYgKzQwMCw3IEBAIHN0cnVjdCBDUFVD b250ZXh0IHsKLSAgICAgQ1BVQ29udGV4dEFSTTY0KiBhcm02NDsKLSAgICAgQ1BVQ29udGV4dE1J UFMqIG1pcHNlbDsKLSAgICAgQ1BVQ29udGV4dE1JUFM2NCogbWlwczY0OwotKyAgICBDUFVDb250 ZXh0UFBDNjQqIHBwYzY0OwotICAgfTsKLSB9OwotIAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmggYi90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9jcHVfY29udGV4dF9s aW51eC5oCi1pbmRleCA5ZjQ2YTQ4OTcuLmFhNjc3YzRlYiAxMDA2NDQKLS0tLSBhL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9jb250ZXh0X2xpbnV4LmgK LSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2NwdV9j b250ZXh0X2xpbnV4LmgKLUBAIC0xNSw2ICsxNSw3IEBACi0gI2lmbmRlZiBDUkFTSFBBRF9TTkFQ U0hPVF9MSU5VWF9DUFVfQ09OVEVYVF9MSU5VWF9IXwotICNkZWZpbmUgQ1JBU0hQQURfU05BUFNI T1RfTElOVVhfQ1BVX0NPTlRFWFRfTElOVVhfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAj aW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi0gI2luY2x1ZGUgInNuYXBzaG90L2NwdV9j b250ZXh0LmgiCi0gI2luY2x1ZGUgInNuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgiCi1A QCAtMTc0LDYgKzE3NSw3OCBAQCB2b2lkIEluaXRpYWxpemVDUFVDb250ZXh0TUlQUygKLSAKLSAj ZW5kaWYgIC8vIEFSQ0hfQ1BVX01JUFNfRkFNSUxZIHx8IERPWFlHRU4KLSAKLSsjaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpIHx8IERPWFlHRU4KLSsKLSsvLyEgXGJyaWVmIEluaXRh bGl6ZXMgYSBDUFVDb250ZXh0UFBDNjQgc3RydWN0dXJlIGZyb20gbmF0aXZlIGNvbnRleHQKLSsv LyEgICAgIHN0cnVjdHVyZXMgb24gTGludXguCi0rLy8hCi0rLy8hIFxwYXJhbVtpbl0gdGhyZWFk X2NvbnRleHQgVGhlIG5hdGl2ZSB0aHJlYWQgY29udGV4dC4KLSsvLyEgXHBhcmFtW2luXSBmbG9h dF9jb250ZXh0IFRoZSBuYXRpdmUgZmxvYXQgY29udGV4dC4KLSsvLyEgXHBhcmFtW2luXSB2ZWN0 b3JfY29udGV4dCBUaGUgbmF0aXZlIHZlY3RvciBjb250ZXh0LgotKy8vISBccGFyYW1bb3V0XSBj b250ZXh0IFRoZSBDUFVDb250ZXh0UFBDNjQgc3RydWN0dXJlIHRvIGluaXRhbGl6ZS4KLSt0ZW1w bGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgotK3ZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgK LSsgICAgY29uc3QgVGhyZWFkQ29udGV4dDo6dDY0X3QmIHRocmVhZF9jb250ZXh0LAotKyAgICBj b25zdCBGbG9hdENvbnRleHQ6OmY2NF90JiBmbG9hdF9jb250ZXh0LAotKyAgICBjb25zdCBWZWN0 b3JDb250ZXh0Ojp2NjRfdCYgdmVjdG9yX2NvbnRleHQsCi0rICAgIHR5cGVuYW1lIFRyYWl0czo6 Q1BVQ29udGV4dCogY29udGV4dCkgewotKwotKyAgbWVtY3B5KGNvbnRleHQtPnJlZ3MsIHRocmVh ZF9jb250ZXh0Lmdwciwgc2l6ZW9mKGNvbnRleHQtPnJlZ3MpKTsKLSsgIGNvbnRleHQtPm5pcCA9 IHRocmVhZF9jb250ZXh0Lm5pcDsKLSsgIGNvbnRleHQtPm1zciA9IHRocmVhZF9jb250ZXh0Lm1z cjsKLSsgIGNvbnRleHQtPmNjciA9IHRocmVhZF9jb250ZXh0LmNjcjsKLSsgIGNvbnRleHQtPnhl ciA9IHRocmVhZF9jb250ZXh0LnhlcjsKLSsgIGNvbnRleHQtPmxuayA9IHRocmVhZF9jb250ZXh0 LmxuazsKLSsgIGNvbnRleHQtPmN0ciA9IHRocmVhZF9jb250ZXh0LmN0cjsKLSsKLSsgIG1lbWNw eShjb250ZXh0LT5mcHJlZ3MsIGZsb2F0X2NvbnRleHQuZnByZWdzLCBzaXplb2YoY29udGV4dC0+ ZnByZWdzKSk7Ci0rICBjb250ZXh0LT5mcHNjciA9IGZsb2F0X2NvbnRleHQuZnBzY3I7Ci0rCi0r ICBmb3IgKHVpbnQ4X3QgaSA9IDA7IGkgPCAzMjsgaSsrKSB7Ci0rICAgIGNvbnRleHQtPnZyZWdz LnNhdmVfdnJbaV0gPSB7Ci0rICAgICAgKCgodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnJyZWdz W2ldWzBdKSA8PCAzMikgfAotKyAgICAgICAgdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzFdLAot KyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVsyXSkgPDwgMzIpIHwK LSsgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZycmVnc1tpXVszXQotKyAgICB9OwotKyAgfQotKyAg Y29udGV4dC0+dnJlZ3Muc2F2ZV92cnNhdmUgPSB2ZWN0b3JfY29udGV4dC52cnNhdmU7Ci0rICBj b250ZXh0LT52cmVncy5zYXZlX3ZzY3IgPSB7MCwgKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZz Y3IudnNjcl93b3JkfTsKLSt9Ci0rCi0rdGVtcGxhdGUgPHR5cGVuYW1lIFRyYWl0cz4KLSt2b2lk IEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQoCi0rICAgIGNvbnN0IFNpZ25hbFRocmVhZENvbnRl eHQ2NCAmdGhyZWFkX2NvbnRleHQsCi0rICAgIGNvbnN0IFNpZ25hbEZsb2F0Q29udGV4dDY0ICZm bG9hdF9jb250ZXh0LAotKyAgICBjb25zdCBTaWduYWxWZWN0b3JDb250ZXh0NjQgJnZlY3Rvcl9j b250ZXh0LAotKyAgICB0eXBlbmFtZSBUcmFpdHM6OkNQVUNvbnRleHQqIGNvbnRleHQpIHsKLSsK LSsgIG1lbWNweShjb250ZXh0LT5yZWdzLCB0aHJlYWRfY29udGV4dC5yZWdzLCBzaXplb2YoY29u dGV4dC0+cmVncykpOwotKyAgY29udGV4dC0+bmlwID0gdGhyZWFkX2NvbnRleHQubmlwOwotKyAg Y29udGV4dC0+bXNyID0gdGhyZWFkX2NvbnRleHQubXNyOwotKyAgY29udGV4dC0+Y2NyID0gdGhy ZWFkX2NvbnRleHQuY2NyOwotKyAgY29udGV4dC0+eGVyID0gdGhyZWFkX2NvbnRleHQueGVyOwot KyAgY29udGV4dC0+bG5rID0gdGhyZWFkX2NvbnRleHQubG5rOwotKyAgY29udGV4dC0+Y3RyID0g dGhyZWFkX2NvbnRleHQuY3RyOwotKwotKyAgbWVtY3B5KGNvbnRleHQtPmZwcmVncywgZmxvYXRf Y29udGV4dC5yZWdzLCBzaXplb2YoY29udGV4dC0+ZnByZWdzKSk7Ci0rICBjb250ZXh0LT5mcHNj ciA9IGZsb2F0X2NvbnRleHQuZnBzY3I7Ci0rCi0rICBmb3IgKHVpbnQ4X3QgaSA9IDA7IGkgPCAz MjsgaSsrKSB7Ci0rICAgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnJbaV0gPSB7Ci0rICAgICAgKCgo dWludDY0X3QpdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzBdKSA8PCAzMikgfAotKyAgICAgICAg dmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzFdLAotKyAgICAgICgoKHVpbnQ2NF90KXZlY3Rvcl9j b250ZXh0LnZycmVnc1tpXVsyXSkgPDwgMzIpIHwKLSsgICAgICAgIHZlY3Rvcl9jb250ZXh0LnZy cmVnc1tpXVszXQotKyAgICB9OwotKyAgfQotKyAgY29udGV4dC0+dnJlZ3Muc2F2ZV92cnNhdmUg PSB2ZWN0b3JfY29udGV4dC52cnNhdmU7Ci0rICBjb250ZXh0LT52cmVncy5zYXZlX3ZzY3IgPSB7 MCwgKHVpbnQ2NF90KXZlY3Rvcl9jb250ZXh0LnZzY3IudnNjcl93b3JkfTsKLSt9Ci0rCi0rCi0r I2VuZGlmCi0rCi0gfSAgLy8gbmFtZXNwYWNlIGludGVybmFsCi0gfSAgLy8gbmFtZXNwYWNlIGNy YXNocGFkCi0gCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0LmNjCi1pbmRl eCBkMzJiZDE5MzcuLjJkZDUzOGMyYiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFk L2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2RlYnVnX3JlbmRlenZvdXNfdGVzdC5jYwotKysrIGIv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6 dm91c190ZXN0LmNjCi1AQCAtMTkyLDYgKzE5Miw4IEBAIHZvaWQgVGVzdEFnYWluc3RUYXJnZXQo UHRyYWNlQ29ubmVjdGlvbiogY29ubmVjdGlvbikgewotICAgICAgICAgICAgICAgZGV2aWNlID09 IDAgJiYgaW5vZGUgPT0gMCAmJiBtYXBwaW5nX25hbWUgPT0gIlt2ZHNvXSI7Ci0gI2lmIGRlZmlu ZWQoQVJDSF9DUFVfWDg2KQotICAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZp eFtdID0gImxpbnV4LWdhdGUuc28uIjsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQot KyAgICAgICAgICBzdGF0aWMgY29uc3RleHByIGNoYXIga1ByZWZpeFtdID0gImxpbnV4LXZkc282 NC5zby4iOwotICNlbHNlCi0gICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4 W10gPSAibGludXgtdmRzby5zby4iOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51 eC5jYyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2Vw dGlvbl9zbmFwc2hvdF9saW51eC5jYwotaW5kZXggY2Q0MGIzYjEyLi42YmNmMjNiNmYgMTAwNjQ0 Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNl cHRpb25fc25hcHNob3RfbGludXguY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYwotQEAgLTMyMyw2 ICszMjMsNjkgQEAgYm9vbCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250 ZXh0VHJhaXRzNjQ+KAotICAgICAgIHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5t aXBzNjQpOwotIH0KLSAKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsK LSt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJhaXRzPgotK3N0YXRpYyBib29sIFJlYWRDb250ZXh0KFBy b2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgIExpbnV4 Vk1BZGRyZXNzIGNvbnRleHRfYWRkcmVzcywKLSsgICAgICAgICAgICAgICAgICAgICAgICB0eXBl bmFtZSBUcmFpdHM6OkNQVUNvbnRleHQqIGRlc3RfY29udGV4dCkgewotKyAgY29uc3QgUHJvY2Vz c01lbW9yeSogbWVtb3J5ID0gcmVhZGVyLT5NZW1vcnkoKTsKLSsKLSsgIExpbnV4Vk1BZGRyZXNz IGdwX3JlZ3NfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNv bnRleHQsIGdwX3JlZ3MpOwotKwotKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxUaHJlYWRDb250 ZXh0IHRocmVhZF9jb250ZXh0OwotKyAgaWYgKCFtZW1vcnktPlJlYWQoZ3BfcmVnc19hZGRyZXNz LCBzaXplb2YodGhyZWFkX2NvbnRleHQpLCAmdGhyZWFkX2NvbnRleHQpKSB7Ci0rICAgIExPRyhF UlJPUikgPDwgIkNvdWxkbid0IHJlYWQgZ3BfcmVncyEiOwotKyAgICByZXR1cm4gZmFsc2U7Ci0r ICB9Ci0rCi0rICBMaW51eFZNQWRkcmVzcyBmcF9yZWdzX2FkZHJlc3MgPSBjb250ZXh0X2FkZHJl c3MgKwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YoVUNvbnRl eHQsIG1jb250ZXh0KSArCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZz ZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCBmcF9yZWdzKTsKLSsKLSsgIHR5cGVuYW1l IFRyYWl0czo6U2lnbmFsRmxvYXRDb250ZXh0IGZwX2NvbnRleHQ7Ci0rICBpZiAoIW1lbW9yeS0+ UmVhZChmcF9yZWdzX2FkZHJlc3MsIHNpemVvZihmcF9jb250ZXh0KSwgJmZwX2NvbnRleHQpKSB7 Ci0rICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IHJlYWQgZnBfcmVncyEiOwotKyAgICByZXR1 cm4gZmFsc2U7Ci0rICB9Ci0rCi0rICBMaW51eFZNQWRkcmVzcyB2X3JlZ3NfcHRyX2FkZHJlc3Mg PSBjb250ZXh0X2FkZHJlc3MgKwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBv ZmZzZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUgVHJhaXRzOjpNQ29udGV4dCwgdm14X3Jlc2VydmUp ICsgODsKLSsKLSsgIHR5cGVuYW1lIFRyYWl0czo6U2lnbmFsVmVjdG9yQ29udGV4dCB2X2NvbnRl eHQ7Ci0rICBpZiAoIW1lbW9yeS0+UmVhZCh2X3JlZ3NfcHRyX2FkZHJlc3MsIHNpemVvZih2X2Nv bnRleHQpLCAmdl9jb250ZXh0KSkgewotKyAgICBMT0coRVJST1IpIDw8ICJDb3VsZG4ndCByZWFk IHZfcmVncyEiOwotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rCi0rICBJbml0aWFsaXplQ1BV Q29udGV4dFBQQzY0PENvbnRleHRUcmFpdHM2ND4odGhyZWFkX2NvbnRleHQsIGZwX2NvbnRleHQs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZfY29udGV4dCwgZGVzdF9jb250ZXh0KTsK LSsKLSsgIHJldHVybiB0cnVlOwotK30KLSsKLSt0ZW1wbGF0ZTw+Ci0rYm9vbCBFeGNlcHRpb25T bmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+KAotKyAgICBQcm9jZXNz UmVhZGVyTGludXgqIHJlYWRlciwKLSsgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNz KSB7Ci0rICBjb250ZXh0Xy5hcmNoaXRlY3R1cmUgPSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ7Ci0r ICBjb250ZXh0Xy5wcGM2NCA9ICZjb250ZXh0X3VuaW9uXy5wcGM2NDsKLSsKLSsgIHJldHVybiBp bnRlcm5hbDo6UmVhZENvbnRleHQ8Q29udGV4dFRyYWl0czY0PigKLSsgICAgICByZWFkZXIsIGNv bnRleHRfYWRkcmVzcywgY29udGV4dF8ucHBjNjQpOwotK30KLSsKLSt0ZW1wbGF0ZTw+Ci0rYm9v bCBFeGNlcHRpb25TbmFwc2hvdExpbnV4OjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzMzI+KAot KyAgICBQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRlciwKLSsgICAgTGludXhWTUFkZHJlc3MgY29u dGV4dF9hZGRyZXNzKSB7Ci0rICAvLyBQUEM2NCBpcyA2NC1iaXQKLSsgIHJldHVybiBmYWxzZTsK LSt9Ci0rCi0gI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCi0gCi0gYm9vbCBFeGNlcHRp b25TbmFwc2hvdExpbnV4OjpJbml0aWFsaXplKFByb2Nlc3NSZWFkZXJMaW51eCogcHJvY2Vzc19y ZWFkZXIsCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmggYi90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAotaW5k ZXggZWEwY2QyMTA2Li5lNDJkZjUyMGYgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAotKysr IGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9u X3NuYXBzaG90X2xpbnV4LmgKLUBAIC04NCw2ICs4NCw4IEBAIGNsYXNzIEV4Y2VwdGlvblNuYXBz aG90TGludXggZmluYWwgOiBwdWJsaWMgRXhjZXB0aW9uU25hcHNob3QgewotICNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICAgIENQVUNvbnRleHRNSVBTIG1pcHNlbDsKLSAg ICAgQ1BVQ29udGV4dE1JUFM2NCBtaXBzNjQ7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NF9GQU1JTFkpCi0rICAgIENQVUNvbnRleHRQUEM2NCBwcGM2NDsKLSAjZW5kaWYKLSAgIH0gY29u dGV4dF91bmlvbl87Ci0gICBDUFVDb250ZXh0IGNvbnRleHRfOwotZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hv dF9saW51eF90ZXN0LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKLWluZGV4IGMxNzE3MGI0My4u YjZhNzE0Y2M2IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKLSsrKyBiL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hv dF9saW51eF90ZXN0LmNjCi1AQCAtMjk2LDcgKzI5NiwyOCBAQCB2b2lkIEV4cGVjdENvbnRleHQo Y29uc3QgQ1BVQ29udGV4dCYgYWN0dWFsLCBjb25zdCBOYXRpdmVDUFVDb250ZXh0JiBleHBlY3Rl ZCkgewotICAgICAgICAgICAgIDApOwotICN1bmRlZiBDUFVfQVJDSF9OQU1FCi0gfQotKyNlbGlm IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotK3VzaW5nIE5hdGl2ZUNQVUNvbnRleHQg PSB1Y29udGV4dF90OwotKwotK3ZvaWQgSW5pdGlhbGl6ZUNvbnRleHQoTmF0aXZlQ1BVQ29udGV4 dCogY29udGV4dCkgewotKyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVnKSB7 Ci0rICAgIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbcmVnXSA9IHJlZzsKLSsgIH0KLSsK LSsgIG1lbXNldCgmY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVncywgNDQsCi0rICAgICAgc2l6 ZW9mKGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3MpKTsKLSt9Ci0gCi0rdm9pZCBFeHBlY3RD b250ZXh0KGNvbnN0IENQVUNvbnRleHQmIGFjdHVhbCwgY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYg ZXhwZWN0ZWQpIHsKLSsgIEVYUEVDVF9FUShhY3R1YWwuYXJjaGl0ZWN0dXJlLCBrQ1BVQXJjaGl0 ZWN0dXJlUFBDNjQpOwotKwotKyAgZm9yIChzaXplX3QgcmVnID0gMDsgcmVnIDwgMzI7ICsrcmVn KSB7Ci0rICAgIEVYUEVDVF9FUShhY3R1YWwucHBjNjQtPnJlZ3NbcmVnXSwgZXhwZWN0ZWQudWNf bWNvbnRleHQuZ3BfcmVnc1tyZWddKTsKLSsgIH0KLSsKLSsgIEVYUEVDVF9FUShtZW1jbXAoYWN0 dWFsLnBwYzY0LT5mcHJlZ3MsIGV4cGVjdGVkLnVjX21jb250ZXh0LmZwX3JlZ3MsCi0rICAgICAg ICAgICAgc2l6ZW9mKGFjdHVhbC5wcGM2NC0+ZnByZWdzKSksIDApOwotK30KLSAjZWxzZQotICNl cnJvciBQb3J0LgotICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nlc3NfcmVhZGVyX2xpbnV4LmNjIGIvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXgu Y2MKLWluZGV4IGVlMjQ2ZThiYy4uOTU1NWRjZTA0IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MK LSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Byb2Nl c3NfcmVhZGVyX2xpbnV4LmNjCi1AQCAtMTA4LDYgKzEwOCw4IEBAIHZvaWQgUHJvY2Vzc1JlYWRl ckxpbnV4OjpUaHJlYWQ6OkluaXRpYWxpemVTdGFjayhQcm9jZXNzUmVhZGVyTGludXgqIHJlYWRl cikgewotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICBzdGFja19wb2lu dGVyID0gcmVhZGVyLT5JczY0Qml0KCkgPyB0aHJlYWRfaW5mby50aHJlYWRfY29udGV4dC50NjQu cmVnc1syOV0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHRocmVhZF9p bmZvLnRocmVhZF9jb250ZXh0LnQzMi5yZWdzWzI5XTsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BV X1BQQzY0X0ZBTUlMWSkKLSsgIHN0YWNrX3BvaW50ZXIgPSB0aHJlYWRfaW5mby50aHJlYWRfY29u dGV4dC50NjQuZ3ByWzFdOwotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlmCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFs X2NvbnRleHQuaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4 L3NpZ25hbF9jb250ZXh0LmgKLWluZGV4IDExMDAyNDY4MC4uYTFmMmRhMjU5IDEwMDY0NAotLS0t IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc2lnbmFsX2Nv bnRleHQuaAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGlu dXgvc2lnbmFsX2NvbnRleHQuaAotQEAgLTQyMiw2ICs0MjIsODkgQEAgc3RhdGljX2Fzc2VydChv ZmZzZXRvZihVQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+LCBtY29udGV4dC5mcHJlZ3MpID09Ci0g ICAgICAgICAgICAgICAiY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKLSAjZW5kaWYKLSAKLSsj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsKLStzdHJ1Y3QgU2lnbmFsVGhy ZWFkQ29udGV4dDY0IHsKLSsgIHVpbnQ2NF90IHJlZ3NbMzJdOwotKyAgdWludDY0X3QgbmlwOwot KyAgdWludDY0X3QgbXNyOwotKyAgdWludDY0X3Qgb3JpZ19yMzsKLSsgIHVpbnQ2NF90IGN0cjsK LSsgIHVpbnQ2NF90IGxuazsKLSsgIHVpbnQ2NF90IHhlcjsKLSsgIHVpbnQ2NF90IGNjcjsKLSsg IHVpbnQ2NF90IHNvZnRlOwotKyAgdWludDY0X3QgdHJhcDsKLSsgIHVpbnQ2NF90IGRhcjsKLSsg IHVpbnQ2NF90IGRzaXNyOwotKyAgdWludDY0X3QgcmVzdWx0OwotKyAgdWludDY0X3QgZHNjcjsK LSsgIHVpbnQ2NF90IGZwcjBbM107Ci0rfTsKLSsKLStzdHJ1Y3QgU2lnbmFsRmxvYXRDb250ZXh0 NjQgewotKyAgZG91YmxlIHJlZ3NbMzJdOwotKyAgZG91YmxlIGZwc2NyOwotK307Ci0rCi0rc3Ry dWN0IFNpZ25hbFZlY3RvckNvbnRleHQ2NCB7Ci0rICBpbnQzMl90IHZycmVnc1szMl1bNF07Ci0r ICBzdHJ1Y3QgewotKyAgICBpbnQzMl90IF9fcGFkWzNdOwotKyAgICBpbnQzMl90IHZzY3Jfd29y ZDsKLSsgIH0gdnNjcjsKLSsgIGludDMyX3QgdnJzYXZlOwotKyAgaW50MzJfdCBfX3BhZFszXTsK LSt9IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKDE2KSkpOwotKwotKwotKyNwcmFnbWEgcGFj ayhwb3ApCi0rc3RydWN0IE1Db250ZXh0NjQgewotKyAgdWludDY0X3QgcmVzZXJ2ZWRbNF07Ci0r ICBpbnQzMl90IHNpZ25hbDsKLSsgIGludDMyX3QgX19wYWQwOwotKyAgdWludDY0X3QgaGFuZGxl cjsKLSsgIHVpbnQ2NF90IG9sZG1hc2s7Ci0rICB1aW50NjRfdCBwdF9yZWdzX3B0cjsKLSsgIFNp Z25hbFRocmVhZENvbnRleHQ2NCBncF9yZWdzOwotKyAgU2lnbmFsRmxvYXRDb250ZXh0NjQgIGZw X3JlZ3M7Ci0rICBTaWduYWxWZWN0b3JDb250ZXh0NjQgKnZfcmVnczsKLSsgIGludDY0X3Qgdm14 X3Jlc2VydmVbNjldOwotK307Ci0rCi0rc3RydWN0IENvbnRleHRUcmFpdHM2NCA6IHB1YmxpYyBU cmFpdHM2NCB7Ci0rICB1c2luZyBNQ29udGV4dCA9IE1Db250ZXh0NjQ7Ci0rICB1c2luZyBTaWdu YWxUaHJlYWRDb250ZXh0ID0gU2lnbmFsVGhyZWFkQ29udGV4dDY0OwotKyAgdXNpbmcgU2lnbmFs RmxvYXRDb250ZXh0ID0gU2lnbmFsRmxvYXRDb250ZXh0NjQ7Ci0rICB1c2luZyBTaWduYWxWZWN0 b3JDb250ZXh0ID0gU2lnbmFsVmVjdG9yQ29udGV4dDY0OwotKyAgdXNpbmcgQ1BVQ29udGV4dCA9 IENQVUNvbnRleHRQUEM2NDsKLSt9OwotKwotK3N0cnVjdCBDb250ZXh0VHJhaXRzMzIgOiBwdWJs aWMgVHJhaXRzMzIge307Ci0rCi0rc3RydWN0IFVDb250ZXh0IHsKLSsgIHVpbnQ2NF90IGZsYWdz OwotKyAgdWludDY0X3QgbGluazsKLSsgIFNpZ25hbFN0YWNrPENvbnRleHRUcmFpdHM2ND4gc3Rh Y2s7Ci0rICBTaWdzZXQ8Q29udGV4dFRyYWl0czY0PiBzaWdtYXNrOwotKyAgTUNvbnRleHQ2NCBt Y29udGV4dDsKLSt9OwotKyNwcmFnbWEgcGFjayhwdXNoLCAxKQotKwotK3N0YXRpY19hc3NlcnQo c2l6ZW9mKFVDb250ZXh0KSA9PSBzaXplb2YodWNvbnRleHRfdCksCi0rICAgICAgICAgICAgICAi dWNvbnRleHRfdCBzaXplIG1pc21hdGNoIik7Ci0rc3RhdGljX2Fzc2VydChzaXplb2YoTUNvbnRl eHQ2NCkgPT0gc2l6ZW9mKG1jb250ZXh0X3QpLAotKyAgICAgICAgICAgICAgIm1jb250ZXh0X3Qg c2l6ZSBtaXNtYXRjaCIpOwotK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbFRocmVhZENvbnRl eHQ2NCkgPT0gc2l6ZW9mKGdyZWdzZXRfdCksCi0rICAgICAgICAgICAgICAiZ3JlZ3NldF90IHNp emUgbWlzbWF0Y2giKTsKLStzdGF0aWNfYXNzZXJ0KHNpemVvZihTaWduYWxGbG9hdENvbnRleHQ2 NCkgPT0gc2l6ZW9mKGZwcmVnc2V0X3QpLAotKyAgICAgICAgICAgICAgImZwcmVnc2V0X3Qgc2l6 ZSBtaXNtYXRjaCIpOwotK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbFZlY3RvckNvbnRleHQ2 NCkgPT0gc2l6ZW9mKHZycmVnc2V0X3QpLAotKyAgICAgICAgICAgICAgInZycmVnc2V0X3Qgc2l6 ZSBtaXNtYXRjaCIpOwotK3N0YXRpY19hc3NlcnQob2Zmc2V0b2YoVUNvbnRleHQsIG1jb250ZXh0 KSA9PQotKyAgICAgICAgICAgICAgb2Zmc2V0b2YodWNvbnRleHRfdCwgdWNfbWNvbnRleHQpLCAi bWNvbnRleHQgb2Zmc2V0IG1pc21hdGNoIik7Ci0rc3RhdGljX2Fzc2VydChvZmZzZXRvZihNQ29u dGV4dDY0LCBncF9yZWdzKSA9PQotKyAgICAgICAgICAgICAgb2Zmc2V0b2YobWNvbnRleHRfdCwg Z3BfcmVncyksICJncF9yZWdzIG9mZnNldCBtaXNtYXRjaCIpOwotICNlbHNlCi0gI2Vycm9yIFBv cnQuCi0gI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZCi1kaWZmIC0tZ2l0IGEvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xp bnV4LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvc3lz dGVtX3NuYXBzaG90X2xpbnV4LmNjCi1pbmRleCBhOTlkYTNlNGIuLjAzYjk3MzA4MyAxMDA2NDQK LS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3N5c3Rl bV9zbmFwc2hvdF9saW51eC5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCi1AQCAtMjA0LDYgKzIwNCw4 IEBAIENQVUFyY2hpdGVjdHVyZSBTeXN0ZW1TbmFwc2hvdExpbnV4OjpHZXRDUFVBcmNoaXRlY3R1 cmUoKSBjb25zdCB7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSAgIHJl dHVybiBwcm9jZXNzX3JlYWRlcl8tPklzNjRCaXQoKSA/IGtDUFVBcmNoaXRlY3R1cmVNSVBTNjRF TAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDoga0NQVUFyY2hpdGVjdHVy ZU1JUFNFTDsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIHJldHVy biBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ7Ci0gI2Vsc2UKLSAjZXJyb3IgcG9ydCB0byB5b3VyIGFy Y2hpdGVjdHVyZQotICNlbmRpZgotQEAgLTIxOSw2ICsyMjEsOSBAQCB1aW50MzJfdCBTeXN0ZW1T bmFwc2hvdExpbnV4OjpDUFVSZXZpc2lvbigpIGNvbnN0IHsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX01JUFNfRkFNSUxZKQotICAgLy8gTm90IGltcGxlbWVudGFibGUgb24gTUlQUwotICAgcmV0 dXJuIDA7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICAvLyBOb3Qg eWV0IGltcGxlbWVudGVkIG9uIFBQQzY0Ci0rICByZXR1cm4gMDsKLSAjZWxzZQotICNlcnJvciBw b3J0IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCi0gI2VuZGlmCi1AQCAtMjM5LDYgKzI0NCw5IEBAIHN0 ZDo6c3RyaW5nIFN5c3RlbVNuYXBzaG90TGludXg6OkNQVVZlbmRvcigpIGNvbnN0IHsKLSAjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotICAgLy8gTm90IGltcGxlbWVudGFibGUg b24gTUlQUwotICAgcmV0dXJuIHN0ZDo6c3RyaW5nKCk7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQ VV9QUEM2NF9GQU1JTFkpCi0rICAvLyBOb3QgeWV0IGltcGxlbWVudGVkIG9uIFBQQzY0Ci0rICBy ZXR1cm4gc3RkOjpzdHJpbmcoKTsKLSAjZWxzZQotICNlcnJvciBwb3J0IHRvIHlvdXIgYXJjaGl0 ZWN0dXJlCi0gI2VuZGlmCi1AQCAtMzcyLDYgKzM4MCw5IEBAIGJvb2wgU3lzdGVtU25hcHNob3RM aW51eDo6TlhFbmFibGVkKCkgY29uc3QgewotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpCi0gICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBNSVBTCi0gICByZXR1cm4gZmFsc2U7 Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICAvLyBOb3QgeWV0IGlt cGxlbWVudGVkIG9uIFBQQzY0Ci0rICByZXR1cm4gZmFsc2U7Ci0gI2Vsc2UKLSAjZXJyb3IgUG9y dC4KLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLWRpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMuY2MgYi90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMu Y2MKLWluZGV4IGIyNDUwYzIwNi4uN2JhNzhiMmFlIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGVzdF9tb2R1bGVzLmNjCi0rKysgYi90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMu Y2MKLUBAIC0xMTAsNiArMTEwLDggQEAgYm9vbCBXcml0ZVRlc3RNb2R1bGUoY29uc3QgYmFzZTo6 RmlsZVBhdGgmIG1vZHVsZV9wYXRoLAotICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fQUFS Q0g2NDsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNFTCkgfHwgZGVmaW5lZChBUkNIX0NQ VV9NSVBTNjRFTCkKLSAgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX01JUFM7Ci0rI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKLSsgIG1vZHVsZS5laGRyLmVfbWFjaGluZSA9IEVNX1BQ QzY0OwotICNlbmRpZgotIAotICAgbW9kdWxlLmVoZHIuZV92ZXJzaW9uID0gRVZfQ1VSUkVOVDsK LWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC90aHJlYWRfc25hcHNob3RfbGludXguY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKLWluZGV4IGUzZTJiZWJk ZC4uOGVmNDM3NTJlIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQv c25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmNjCi0rKysgYi90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXgu Y2MKLUBAIC0xODYsNiArMTg2LDE0IEBAIGJvb2wgVGhyZWFkU25hcHNob3RMaW51eDo6SW5pdGlh bGl6ZShQcm9jZXNzUmVhZGVyTGludXgqIHByb2Nlc3NfcmVhZGVyLAotICAgICAgICAgdGhyZWFk LnRocmVhZF9pbmZvLmZsb2F0X2NvbnRleHQuZjMyLAotICAgICAgICAgY29udGV4dF8ubWlwc2Vs KTsKLSAgIH0KLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIGNvbnRl eHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1cmVQUEM2NDsKLSsgIGNvbnRleHRfLnBw YzY0ID0gJmNvbnRleHRfdW5pb25fLnBwYzY0OwotKyAgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2 NDxDb250ZXh0VHJhaXRzNjQ+KAotKyAgICAgIHRocmVhZC50aHJlYWRfaW5mby50aHJlYWRfY29u dGV4dC50NjQsCi0rICAgICAgdGhyZWFkLnRocmVhZF9pbmZvLmZsb2F0X2NvbnRleHQuZjY0LAot KyAgICAgIHRocmVhZC50aHJlYWRfaW5mby52ZWN0b3JfY29udGV4dC52NjQsCi0rICAgICAgY29u dGV4dF8ucHBjNjQpOwotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlmCi1kaWZmIC0tZ2l0 IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3Nu YXBzaG90X2xpbnV4LmggYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAotaW5kZXggNDRjYzZmNmQ5Li5kNDEzNjQ2MWUg MTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC90aHJlYWRfc25hcHNob3RfbGludXguaAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jh c2hwYWQvc25hcHNob3QvbGludXgvdGhyZWFkX3NuYXBzaG90X2xpbnV4LmgKLUBAIC02OCw2ICs2 OCw4IEBAIGNsYXNzIFRocmVhZFNuYXBzaG90TGludXggZmluYWwgOiBwdWJsaWMgVGhyZWFkU25h cHNob3QgewotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICAgIENQVUNv bnRleHRNSVBTIG1pcHNlbDsKLSAgICAgQ1BVQ29udGV4dE1JUFM2NCBtaXBzNjQ7Ci0rI2VsaWYg ZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICAgIENQVUNvbnRleHRQUEM2NCBwcGM2 NDsKLSAjZWxzZQotICNlcnJvciBQb3J0LgotICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlM WQotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9uZXQvaHR0cF90cmFu c3BvcnRfbGliY3VybC5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRp bC9uZXQvaHR0cF90cmFuc3BvcnRfbGliY3VybC5jYwotQEAgLTIzNiw2ICsyMzYsMTIgQEAKLSAj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCi0gICAgIHN0YXRpYyBjb25zdGV4cHIg Y2hhciBhcmNoW10gPSAiYWFyY2g2NF9iZSI7Ci0gI2VuZGlmCi0rI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4pCi0rICAgIHN0 YXRpYyBjb25zdGV4cHIgY2hhciBhcmNoW10gPSAicHBjNjRsZSI7Ci0rI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9CSUdfRU5ESUFOKQotKyAgICBzdGF0aWMgY29uc3RleHByIGNoYXIgYXJjaFtdID0g InBwYzY0IjsKLSsjZW5kaWYKLSAjZWxzZQotICNlcnJvciBQb3J0Ci0gI2VuZGlmCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhpbGlhcnlf dmVjdG9yLmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhp bGlhcnlfdmVjdG9yLmNjCi1pbmRleCBkM2Q1ZWJkZmIuLjNmZDczMGNiNSAxMDA2NDQKLS0tLSBh L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvYXV4aWxpYXJ5X3ZlY3Rv ci5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhp bGlhcnlfdmVjdG9yLmNjCi1AQCAtNTYsNiArNTYsMTEgQEAgYm9vbCBBdXhpbGlhcnlWZWN0b3I6 OlJlYWQoUHRyYWNlQ29ubmVjdGlvbiogY29ubmVjdGlvbikgewotICAgICBpZiAodHlwZSA9PSBB VF9JR05PUkUpIHsKLSAgICAgICBjb250aW51ZTsKLSAgICAgfQotKyNpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgaWYgKHR5cGUgPT0gQVRfSUdOT1JFUFBDKSB7Ci0rICAg ICAgY29udGludWU7Ci0rICAgIH0KLSsjZW5kaWYKLSAgICAgaWYgKCFNYXBJbnNlcnRPclJlcGxh Y2UoJnZhbHVlc18sIHR5cGUsIHZhbHVlLCBudWxscHRyKSkgewotICAgICAgIExPRyhFUlJPUikg PDwgImR1cGxpY2F0ZSBhdXh2IGVudHJ5IjsKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNj IGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCi1p bmRleCA1NTdlMGQzNjMuLjA4YWU0MzRiOCAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3V0aWwvbGludXgvcHRyYWNlci5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCi1AQCAtMzk4LDYgKzM5OCw2NCBA QCBib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCi0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0g Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rLy8gUFBDNjQgaGFzIGhh ZCBIQVZFX0FSQ0hfVFJBQ0VIT09LIHNldCBzaW5jZSAyLjYuMjcgKGV2ZW4gYmVmb3JlIHg4NiBo YWQgaXQpLgotKy8vIFRoYXQgbWVhbnMgd2UgY2FuIHNpbXBseSB1c2UgUFRSQUNFX0dFVFJFR0VT RVQuCi0rCi0rdGVtcGxhdGUgPHR5cGVuYW1lIERlc3RpbmF0aW9uPgotK2Jvb2wgR2V0UmVnaXN0 ZXJTZXQocGlkX3QgdGlkLCBpbnQgc2V0LCBEZXN0aW5hdGlvbiogZGVzdCwgYm9vbCBjYW5fbG9n KSB7Ci0rICBpb3ZlYyBpb3Y7Ci0rICBpb3YuaW92X2Jhc2UgPSByZWludGVycHJldF9jYXN0PHZv aWQqPihkZXN0KTsKLSsgIGlvdi5pb3ZfbGVuID0gc2l6ZW9mKCpkZXN0KTsKLSsgIGlmIChwdHJh Y2UoUFRSQUNFX0dFVFJFR1NFVCwgdGlkLCByZWludGVycHJldF9jYXN0PHZvaWQqPihzZXQpLCAm aW92KSAhPSAwKSB7Ci0rICAgIFBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8ICJwdHJhY2UiOwot KyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rICBpZiAoaW92Lmlvdl9sZW4gIT0gc2l6ZW9mKCpk ZXN0KSkgewotKyAgICBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8ICJVbmV4cGVjdGVkIHJlZ2lz dGVycyBzaXplIjsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQotKyAgcmV0dXJuIHRydWU7Ci0r fQotKwotK2Jvb2wgR2V0VmVjdG9yUmVnaXN0ZXJzNjQocGlkX3QgdGlkLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgVmVjdG9yQ29udGV4dCogY29udGV4dCwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgIGJvb2wgY2FuX2xvZykgewotKyAgcmV0dXJuIEdldFJlZ2lzdGVyU2V0KHRpZCwg TlRfUFBDX1ZNWCwgJmNvbnRleHQtPnY2NCwgY2FuX2xvZyk7Ci0rfQotKwotK2Jvb2wgR2V0Rmxv YXRpbmdQb2ludFJlZ2lzdGVyczY0KHBpZF90IHRpZCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGbG9hdENvbnRleHQqIGNvbnRleHQsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7Ci0rICByZXR1cm4gR2V0UmVnaXN0ZXJTZXQodGlk LCBOVF9QUkZQUkVHLCAmY29udGV4dC0+ZjY0LCBjYW5fbG9nKTsKLSt9Ci0rCi0rYm9vbCBHZXRU aHJlYWRBcmVhNjQocGlkX3QgdGlkLAotKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFRocmVh ZENvbnRleHQmIGNvbnRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgTGludXhWTUFkZHJlc3Mq IGFkZHJlc3MsCi0rICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7Ci0rICAvLyBQ UEM2NCBkb2Vzbid0IGhhdmUgUFRSQUNFX0dFVF9USFJFQURfQVJFQSBzaW5jZSB0aGUgdGhyZWFk IHBvaW50ZXIKLSsgIC8vIGlzIHN0b3JlZCBpbiBHUFIgMTMuCi0rICBUaHJlYWRDb250ZXh0Ojp0 NjRfdCB0YzsKLSsgIGlmICghR2V0UmVnaXN0ZXJTZXQodGlkLCBOVF9QUlNUQVRVUywgJnRjLCBj YW5fbG9nKSkgewotKyAgICBMT0dfSUYoRVJST1IsIGNhbl9sb2cpIDw8ICJVbmFibGUgdG8gZ2V0 IHRocmVhZCBwb2ludGVyISI7Ci0rICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsKLSsgICphZGRy ZXNzID0gdGMuZ3ByWzEzXTsKLSsKLSsgIHJldHVybiB0cnVlOwotK30KLSsKLSsvLyBTdHVicyBm b3IgMzItYml0IGZ1bmN0aW9ucyBub3QgYXBwbGljYWJsZSBvbiBQUEM2NAotK2Jvb2wgR2V0Rmxv YXRpbmdQb2ludFJlZ2lzdGVyczMyKHBpZF90IHRpZCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBGbG9hdENvbnRleHQqIGNvbnRleHQsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7IHJldHVybiBmYWxzZTsgfQotK2Jvb2wgR2V0VGhy ZWFkQXJlYTMyKHBpZF90IHRpZCwKLSsgICAgICAgICAgICAgICAgICAgICBjb25zdCBUaHJlYWRD b250ZXh0ICZjb250ZXh0LAotKyAgICAgICAgICAgICAgICAgICAgIExpbnV4Vk1BZGRyZXNzICph ZGRyZXNzLAotKyAgICAgICAgICAgICAgICAgICAgIGJvb2wgY2FuX2xvZykgeyByZXR1cm4gZmFs c2U7IH0KLSsKLSAjZWxzZQotICNlcnJvciBQb3J0LgotICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2 X0ZBTUlMWQotQEAgLTQ5NCw2ICs1NTIsOSBAQCBib29sIFB0cmFjZXI6OkdldFRocmVhZEluZm8o cGlkX3QgdGlkLCBUaHJlYWRJbmZvKiBpbmZvKSB7Ci0gICBpZiAoaXNfNjRfYml0XykgewotICAg ICByZXR1cm4gR2V0R2VuZXJhbFB1cnBvc2VSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT50aHJlYWRf Y29udGV4dCwgY2FuX2xvZ18pICYmCi0gICAgICAgICAgICBHZXRGbG9hdGluZ1BvaW50UmVnaXN0 ZXJzNjQodGlkLCAmaW5mby0+ZmxvYXRfY29udGV4dCwgY2FuX2xvZ18pICYmCi0rI2lmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgICAgICAgICAgR2V0VmVjdG9yUmVnaXN0ZXJz NjQodGlkLCAmaW5mby0+dmVjdG9yX2NvbnRleHQsIGNhbl9sb2dfKSAmJgotKyNlbmRpZgotICAg ICAgICAgICAgR2V0VGhyZWFkQXJlYTY0KHRpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBpbmZvLT50aHJlYWRfY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAmaW5m by0+dGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzcywKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmggYi90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKLWluZGV4IDViNTVj MjRhNy4uZGVhMGQxZjM5IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKLUBAIC0yOCw2ICsyOCwxMCBAQAotICNp bmNsdWRlIDxhbmRyb2lkL2FwaS1sZXZlbC5oPgotICNlbmRpZgotIAotKyNpZiBkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+Ci0rI2VuZGlm Ci0rCi0gbmFtZXNwYWNlIGNyYXNocGFkIHsKLSAKLSAvLyEgXGJyaWVmIFRoZSBzZXQgb2YgZ2Vu ZXJhbCBwdXJwb3NlIHJlZ2lzdGVycyBmb3IgYW4gYXJjaGl0ZWN0dXJlIGZhbWlseS4KLUBAIC03 OSw2ICs4Myw4IEBAIHVuaW9uIFRocmVhZENvbnRleHQgewotICAgICB1aW50MzJfdCBjcDBfc3Rh dHVzOwotICAgICB1aW50MzJfdCBjcDBfY2F1c2U7Ci0gICAgIHVpbnQzMl90IHBhZGRpbmcxXzsK LSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgLy8gUFBDNjQgaXMg NjQtYml0Ci0gI2Vsc2UKLSAjZXJyb3IgUG9ydC4KLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9G QU1JTFkKLUBAIC0xMzIsNiArMTM4LDIxIEBAIHVuaW9uIFRocmVhZENvbnRleHQgewotICAgICB1 aW50NjRfdCBjcDBfYmFkdmFkZHI7Ci0gICAgIHVpbnQ2NF90IGNwMF9zdGF0dXM7Ci0gICAgIHVp bnQ2NF90IGNwMF9jYXVzZTsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK LSsgICAgLy8gUmVmbGVjdHMgc3RydWN0IHB0X3JlZ3MgaW4gYXNtL3B0cmFjZS5oLgotKyAgICB1 aW50NjRfdCBncHJbMzJdOwotKyAgICB1aW50NjRfdCBuaXA7Ci0rICAgIHVpbnQ2NF90IG1zcjsK LSsgICAgdWludDY0X3Qgb3JpZ19ncHIzOwotKyAgICB1aW50NjRfdCBjdHI7Ci0rICAgIHVpbnQ2 NF90IGxuazsKLSsgICAgdWludDY0X3QgeGVyOwotKyAgICB1aW50NjRfdCBjY3I7Ci0rICAgIHVp bnQ2NF90IHNvZnRlOwotKyAgICB1aW50NjRfdCB0cmFwOwotKyAgICB1aW50NjRfdCBkYXI7Ci0r ICAgIHVpbnQ2NF90IGRzaXNyOwotKyAgICB1aW50NjRfdCByZXN1bHQ7Ci0gI2Vsc2UKLSAjZXJy b3IgUG9ydC4KLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLUBAIC0xNDMsNiArMTY0 LDggQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7Ci0gICB1c2luZyBOYXRpdmVUaHJlYWRDb250ZXh0 ID0gdXNlcl9yZWdzOwotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gLy8g Tm8gYXBwcm9wcmlhdGUgTmF0aXZlVGhyZWFkc0NvbnRleHQgdHlwZSBhdmFpbGFibGUgZm9yIE1J UFMKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIHVzaW5nIE5hdGl2 ZVRocmVhZENvbnRleHQgPSBzdHJ1Y3QgcHRfcmVnczsKLSAjZWxzZQotICNlcnJvciBQb3J0Lgot ICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWSB8fCBBUkNIX0NQVV9BUk02NAotQEAgLTIx OCw2ICsyNDEsOSBAQCB1bmlvbiBGbG9hdENvbnRleHQgewotICAgICB9IGZwcmVnc1szMl07Ci0g ICAgIHVpbnQzMl90IGZwY3NyOwotICAgICB1aW50MzJfdCBmcHVfaWQ7Ci0rI2VsaWYgZGVmaW5l ZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICAgIC8vIENyYXNocGFkJ3MgUFBDIHN1cHBvcnQg aXMgNjQtYml0IG9ubHksIHNvIHRoaXMKLSsgICAgLy8gMzJiaXQtb25seSBzdHJ1Y3QgaXMgZGVj bGFyZWQgYXMgZW1wdHkuCi0gI2Vsc2UKLSAjZXJyb3IgUG9ydC4KLSAjZW5kaWYgIC8vIEFSQ0hf Q1BVX1g4Nl9GQU1JTFkKLUBAIC0yNTIsNiArMjc4LDEwIEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7 Ci0gICAgIGRvdWJsZSBmcHJlZ3NbMzJdOwotICAgICB1aW50MzJfdCBmcGNzcjsKLSAgICAgdWlu dDMyX3QgZnB1X2lkOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAg ICAvLyBSZWZsZWN0cyBmcHJlZ3NldF90IGluIHN5cy91Y29udGV4dC5oCi0rICAgIGRvdWJsZSBm cHJlZ3NbMzJdOwotKyAgICBkb3VibGUgZnBzY3I7Ci0gI2Vsc2UKLSAjZXJyb3IgUG9ydC4KLSAj ZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLUBAIC0yODAsNiArMzEwLDggQEAgdW5pb24g RmxvYXRDb250ZXh0IHsKLSAgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGY2NCkgPT0gc2l6ZW9mKHVz ZXJfZnBzaW1kX3N0cnVjdCksICJTaXplIG1pc21hdGNoIik7Ci0gI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkKLSAvLyBObyBhcHByb3ByaWF0ZSBmbG9hdGluZyBwb2ludCBjb250 ZXh0IG5hdGl2ZSB0eXBlIGZvciBhdmFpbGFibGUgTUlQUy4KLSsjZWxpZiBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0X0ZBTUlMWSkKLSsgIHN0YXRpY19hc3NlcnQoc2l6ZW9mKGY2NCkgPT0gc2l6ZW9m KGZwcmVnc2V0X3QpLCAiU2l6ZSBtaXNtYXRjaCIpOwotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0g I2VuZGlmICAvLyBBUkNIX0NQVV9YODYKLUBAIC0yODcsNiArMzE5LDI2IEBAIHVuaW9uIEZsb2F0 Q29udGV4dCB7Ci0gc3RhdGljX2Fzc2VydChzdGQ6OmlzX3N0YW5kYXJkX2xheW91dDxGbG9hdENv bnRleHQ+Ojp2YWx1ZSwKLSAgICAgICAgICAgICAgICJOb3Qgc3RhbmRhcmQgbGF5b3V0Iik7Ci0g Ci0rLy8hIFxicmllZiBUaGUgdmVjdG9yIHJlZ2lzdGVycyB1c2VkIGZvciBhbiBhcmNoaXRlY3R1 cmUgZmFtaWx5Ci0rdW5pb24gVmVjdG9yQ29udGV4dCB7Ci0rICBzdHJ1Y3QgdjMyX3Qge30gdjMy OwotKyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIF9fYXR0cmlidXRlX18o KF9fYWxpZ25lZF9fKDE2KSkpIC8vIFZlY3RvciBjb250ZXh0IG11c3QgYmUgZG91Ymxld29yZCBh bGlnbmVkLgotKyNlbmRpZgotKyAgc3RydWN0IHY2NF90IHsKLSsjaWYgZGVmaW5lZChBUkNIX0NQ VV9QUEM2NF9GQU1JTFkpCi0rICAgIC8vIFJlZmxlY3RzIHZycmVnc2V0X3QgaW4gc3lzL3Vjb250 ZXh0LmgKLSsgICAgdWludDMyX3QgdnJyZWdzWzMyXVs0XTsKLSsgICAgc3RydWN0IHsKLSsgICAg ICB1aW50MzJfdCBfX3BhZFszXTsKLSsgICAgICB1aW50MzJfdCB2c2NyX3dvcmQ7Ci0rICAgIH0g dnNjcjsKLSsgICAgdWludDMyX3QgdnJzYXZlOwotKyAgICB1aW50MzJfdCBfX3BhZFszXTsKLSsj ZW5kaWYKLSsgIH0gdjY0OwotK307Ci0rCi0gLy8hIFxicmllZiBBIGNvbGxlY3Rpb24gb2YgYHB0 cmFjZWAtYWJsZSBpbmZvcm1hdGlvbiBhYm91dCBhIHRocmVhZC4KLSBzdHJ1Y3QgVGhyZWFkSW5m byB7Ci0gICBUaHJlYWRJbmZvKCk7Ci1AQCAtMjk4LDYgKzM1MCw5IEBAIHN0cnVjdCBUaHJlYWRJ bmZvIHsKLSAgIC8vISBcYnJpZWYgVGhlIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyBmb3IgdGhl IHRocmVhZC4KLSAgIEZsb2F0Q29udGV4dCBmbG9hdF9jb250ZXh0OwotIAotKyAgLy8hIFxicmll ZiAoT3B0aW9uYWwpIFRoZSB2ZWN0b3IgcmVnaXN0ZXJzIHVzZWQgZm9yIHRoZSB0aHJlYWQuCi0r ICBWZWN0b3JDb250ZXh0IHZlY3Rvcl9jb250ZXh0OwotKwotICAgLy8hIFxicmllZiBUaGUgdGhy ZWFkLWxvY2FsIHN0b3JhZ2UgYWRkcmVzcyBmb3IgdGhlIHRocmVhZC4KLSAgIExpbnV4Vk1BZGRy ZXNzIHRocmVhZF9zcGVjaWZpY19kYXRhX2FkZHJlc3M7Ci0gfTsKLWRpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmggYi90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgK LWluZGV4IGQyMWEyNGYxOS4uYWNjMzI1MzQ5IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dC5oCi0rKysgYi90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKLUBAIC02 OSw2ICs2OSw3IEBAIHVzaW5nIE5hdGl2ZUNQVUNvbnRleHQgPSB1Y29udGV4dF90OwotIC8vISAg ICAgbWFjT1MvTGludXgvRnVjaHNpYSB8IHg4Nl82NCAgICAgICB8IGAlJXJkaWAKLSAvLyEgICAg IExpbnV4ICAgICAgICAgICAgICAgfCBBUk0vQVJNNjQgICAgfCBgcjBgL2B4MGAKLSAvLyEgICAg IExpbnV4ICAgICAgICAgICAgICAgfCBNSVBTL01JUFM2NCAgfCBgJGEwYAotKy8vISAgICAgTGlu dXggICAgICAgICAgICAgICB8IFBQQzY0ICAgICAgICB8IGByM2AKLSAvLyEKLSAvLyEgICAgIEFk ZGl0aW9uYWxseSwgdGhlIHZhbHVlIGBMUmAgb24gQVJNL0FSTTY0IHdpbGwgYmUgdGhlIHJldHVy biBhZGRyZXNzIG9mCi0gLy8hICAgICB0aGlzIGZ1bmN0aW9uLgotZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfbGludXgu UyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRl eHRfbGludXguUwotaW5kZXggNTIyMTVlZTVkLi5iM2U0YTNlYzcgMTAwNjQ0Ci0tLS0gYS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X2xpbnV4 LlMKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJl X2NvbnRleHRfbGludXguUwotQEAgLTMyLDcgKzMyLDcgQEAKLSAgIC5iYWxpZ24gNCwgMHgwCi0g ICAudHlwZSBDQVBUVVJFQ09OVEVYVF9TWU1CT0wsICVmdW5jdGlvbgotICAgLnR5cGUgQ0FQVFVS RUNPTlRFWFRfU1lNQk9MMiwgJWZ1bmN0aW9uCi0tI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSsj ZWxpZiBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAuYmFs aWduIDQsIDB4MAotICNlbmRpZgotIAotQEAgLTQyMyw0ICs0MjMsMjE0IEBAIENBUFRVUkVDT05U RVhUX1NZTUJPTDI6Ci0gICBqciAkcmEKLSAKLSAgIC5zZXQgYXQKLSsjZWxpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0rICAvLyBTdG9yZSByMC1yMzEKLSsgIHN0ZCAwLCAweGU4KDMpICAgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1swXQotKyAgc3RkIDEsIDB4ZjAoMykgICAvLyBj b250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzFdCi0rICBzdGQgMiwgMHhmOCgzKSAgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMl0KLSsgIC8vIG5vdGUgdGhhdCByMydzIG9yaWdp bmFsIHZhbHVlIHdhcyBsb3N0Ci0rICBzdGQgMywgMHgxMDAoMykgIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmdwX3JlZ3NbM10KLSsgIHN0ZCA0LCAweDEwOCgzKSAgLy8gY29udGV4dC0+dWNfbWNv bnRleHQuZ3BfcmVnc1s0XQotKyAgc3RkIDUsIDB4MTEwKDMpICAvLyBjb250ZXh0LT51Y19tY29u dGV4dC5ncF9yZWdzWzVdCi0rICBzdGQgNiwgMHgxMTgoMykgIC8vIGNvbnRleHQtPnVjX21jb250 ZXh0LmdwX3JlZ3NbNl0KLSsgIHN0ZCA3LCAweDEyMCgzKSAgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQuZ3BfcmVnc1s3XQotKyAgc3RkIDgsIDB4MTI4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzWzhdCi0rICBzdGQgOSwgMHgxMzAoMykgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LmdwX3JlZ3NbOV0KLSsgIHN0ZCAxMCwgMHgxMzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxMF0KLSsgIHN0ZCAxMSwgMHgxNDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxMV0KLSsgIHN0ZCAxMiwgMHgxNDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxMl0KLSsgIHN0ZCAxMywgMHgxNTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxM10KLSsgIHN0ZCAxNCwgMHgxNTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxNF0KLSsgIHN0ZCAxNSwgMHgxNjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxNV0KLSsgIHN0ZCAxNiwgMHgxNjgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxNl0KLSsgIHN0ZCAxNywgMHgxNzAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxN10KLSsgIHN0ZCAxOCwgMHgxNzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxOF0KLSsgIHN0ZCAxOSwgMHgxODAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1sxOV0KLSsgIHN0ZCAyMCwgMHgxODgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syMF0KLSsgIHN0ZCAyMSwgMHgxOTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syMV0KLSsgIHN0ZCAyMiwgMHgxOTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syMl0KLSsgIHN0ZCAyMywgMHgxYTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syM10KLSsgIHN0ZCAyNCwgMHgxYTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syNF0KLSsgIHN0ZCAyNSwgMHgxYjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syNV0KLSsgIHN0ZCAyNiwgMHgxYjgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syNl0KLSsgIHN0ZCAyNywgMHgxYzAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syN10KLSsgIHN0ZCAyOCwgMHgxYzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syOF0KLSsgIHN0ZCAyOSwgMHgxZDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1syOV0KLSsgIHN0ZCAzMCwgMHgxZDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1szMF0KLSsgIHN0ZCAzMSwgMHgxZTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu Z3BfcmVnc1szMV0KLSsKLSsgIC8vIEZvciBOSVAsIHdlIGNhbiB1c2UgdGhlIHZhbHVlIGluIHRo ZSBsaW5rIHJlZ2lzdGVyCi0rICBtZmxyIDAKLSsgIHN0ZCAwLCAweDFlOCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF0KLSsKLSsgIC8vIENUUgotKyAgbWZjdHIgMAot KyAgc3RkIDAsIDB4MjAwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfQ1RS XQotKwotKyAgLy8gRm9yIExOSywgd2UnbGwgdXNlIHRoZSBjYWxsZXIncyBMUiBzYXZlIGFyZWEg KDIgc3RhY2sgZnJhbWVzIHVwKS4KLSsgIC8vIHI0IGNhbiBiZSB1c2VkIGFzIGEgc2NyYXRjaCBy ZWdpc3RlciBzaW5jZSBpdCBoYXMgYWxyZWFkeSBiZWVuIHNhdmVkLgotKyAgbGQgNCwgMCgxKQot KyAgbGQgNCwgMTYoNCkKLSsgIHN0ZCA0LCAweDIwOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX0xOS10KLSsKLSsgIC8vIFhFUgotKyAgbWZ4ZXIgMAotKyAgc3RkIDAsIDB4 MjEwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXQotKwotKyAgLy8g Q0NSCi0rICBtZmNyIDAKLSsgIHN0ZCAwLCAweDIxOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4 dC5ncF9yZWdzW1BUX0NDUl0KLSsKLSsgIC8vIE1TUiwgb3JpZ19yMywgTVEsIFRSQVAsIERBUiwg RFNJU1IsIFJFU1VMVCwgRFNDUiwKLSsgIC8vIG5vdCB1c2VkIG9yIG5vdCByZWxldmFudCwgIHpl cm8gdGhlbSBvdXQuCi0rICBsaSA0LCAwCi0rICBzdGQgNCwgMHgxZjAoMykgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9NU1JdCi0rICBzdGQgNCwgMHgxZjgoMykgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9PUklHX1IzXQotKyAgc3RkIDQsIDB4MjIwKDMpIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTVFdCi0rICBzdGQgNCwgMHgyMjgoMykg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9UUkFQXQotKyAgc3RkIDQsIDB4MjMw KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfREFSXQotKyAgc3RkIDQsIDB4 MjM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfRFNJU1JdCi0rICBzdGQg NCwgMHgyNDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9SRVNVTFRdCi0r ICBzdGQgNCwgMHgyNDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9EU0NS XQotKwotKyAgLy8gVXBkYXRlIGNvbnRleHQtPnVjX21jb250ZXh0LnJlZ3MgdG8gcG9pbnQgdG8g Z3BfcmVncwotKyAgYWRkaSAwLCAzLCAweGU4Ci0rICBzdGQgMCwgMHhlMCgzKQotKwotKyAgLy8g U2F2ZSBmbG9hdGluZyBwb2ludCByZWdpc3RlcnMgMC0zMQotKyAgc3RmZCAwLCAweDI2OCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1swXQotKyAgc3RmZCAxLCAweDI3MCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxXQotKyAgc3RmZCAyLCAweDI3OCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syXQotKyAgc3RmZCAzLCAweDI4MCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szXQotKyAgc3RmZCA0LCAweDI4OCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s0XQotKyAgc3RmZCA1LCAweDI5MCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s1XQotKyAgc3RmZCA2LCAweDI5OCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s2XQotKyAgc3RmZCA3LCAweDJhMCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s3XQotKyAgc3RmZCA4LCAweDJhOCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s4XQotKyAgc3RmZCA5LCAweDJiMCgzKSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1s5XQotKyAgc3RmZCAxMCwgMHgyYjgoMykg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxMF0KLSsgIHN0ZmQgMTEsIDB4MmMwKDMp IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTFdCi0rICBzdGZkIDEyLCAweDJjOCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzEyXQotKyAgc3RmZCAxMywgMHgyZDAo MykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxM10KLSsgIHN0ZmQgMTQsIDB4MmQ4 KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTRdCi0rICBzdGZkIDE1LCAweDJl MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE1XQotKyAgc3RmZCAxNiwgMHgy ZTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxNl0KLSsgIHN0ZmQgMTcsIDB4 MmYwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTddCi0rICBzdGZkIDE4LCAw eDJmOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE4XQotKyAgc3RmZCAxOSwg MHgzMDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxOV0KLSsgIHN0ZmQgMjAs IDB4MzA4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjBdCi0rICBzdGZkIDIx LCAweDMxMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIxXQotKyAgc3RmZCAy MiwgMHgzMTgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syMl0KLSsgIHN0ZmQg MjMsIDB4MzIwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjNdCi0rICBzdGZk IDI0LCAweDMyOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI0XQotKyAgc3Rm ZCAyNSwgMHgzMzAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syNV0KLSsgIHN0 ZmQgMjYsIDB4MzM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjZdCi0rICBz dGZkIDI3LCAweDM0MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzI3XQotKyAg c3RmZCAyOCwgMHgzNDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syOF0KLSsg IHN0ZmQgMjksIDB4MzUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjldCi0r ICBzdGZkIDMwLCAweDM1OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzMwXQot KyAgc3RmZCAzMSwgMHgzNjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szMV0K LSsKLSsgIC8vIEZQU0NSCi0rICBtZmZzIDAKLSsgIHN0ZmQgMCwgMHgzNjgoMykgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZnBfcmVnc1szMl0KLSsKLSsgIC8vIFNhdmUgVk1YIFZlY3RvciByZWdp c3RlcnMKLSsgIC8vIFVwZGF0ZSByNCB0byBjb250YWluIHRoZSBiYXNlIGFkZHJlc3Mgb2Ygdm14 X3Jlc2VydmUKLSsgIGFkZGkgNCwgMywgMHgzNzgKLSsgIC8vIEVuc3VyZSB0aGF0IGl0IGlzIHF1 YWR3b3JkIGFsaWduZWQKLSsgIGFuZGkuIDUsIDQsIDB4RgotKyAgYmVxIDFmIC8vIE5vIGFsaWdu bWVudCBpcyBuZWNlc3NhcnkKLSsgIC8vIEFkZHJlc3MgaXMgZG91Ymxld29yZCBhbGlnbmVkIGFu ZCBub3QgcXVhZHdvcmQgYWxpZ25lZCwgYWRkIDgKLSsgIGFkZGkgNCwgNCwgOAotKwotKzE6Ci0r ICAvLyBTdG9yZSBWTVggcmVnaXN0ZXJzIDAtMzEKLSsgIC8vIHI0IHdpbGwgY29udGFpbiB0aGUg YmFzZSBhZGRyZXNzCi0rICAvLyByNSB3aWxsIGNvbnRhaW4gdGhlIGluZGV4Ci0rICBsaSA1LCAw Ci0rICBzdHZ4IDAsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVso YWxpZ24pICsgMF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMSwgNCwgNSAgIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxXQotKyAgYWRkaSA1LCA1LCAx NgotKyAgc3R2eCAyLCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVb KGFsaWduKSArIDJdCi0rICBhZGRpIDUsIDUsIDE2Ci0rICBzdHZ4IDMsIDQsIDUgICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgM10KLSsgIGFkZGkgNSwgNSwg MTYKLSsgIHN0dnggNCwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZl WyhhbGlnbikgKyA0XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCA1LCA0LCA1ICAgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDVdCi0rICBhZGRpIDUsIDUs IDE2Ci0rICBzdHZ4IDYsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2 ZVsoYWxpZ24pICsgNl0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggNywgNCwgNSAgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA3XQotKyAgYWRkaSA1LCA1 LCAxNgotKyAgc3R2eCA4LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2Vy dmVbKGFsaWduKSArIDhdCi0rICBhZGRpIDUsIDUsIDE2Ci0rICBzdHZ4IDksIDQsIDUgICAvLyBj b250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgOV0KLSsgIGFkZGkgNSwg NSwgMTYKLSsgIHN0dnggMTAsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNl cnZlWyhhbGlnbikgKyAxMF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTEsIDQsIDUgIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxMV0KLSsgIGFkZGkg NSwgNSwgMTYKLSsgIHN0dnggMTIsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9y ZXNlcnZlWyhhbGlnbikgKyAxMl0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTMsIDQsIDUg IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxM10KLSsgIGFk ZGkgNSwgNSwgMTYKLSsgIHN0dnggMTQsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZt eF9yZXNlcnZlWyhhbGlnbikgKyAxNF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTUsIDQs IDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxNV0KLSsg IGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTYsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxNl0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTcs IDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxN10K LSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMTgsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250 ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAxOF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dngg MTksIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAx OV0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMjAsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyMF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0 dnggMjEsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikg KyAyMV0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMjIsIDQsIDUgIC8vIGNvbnRleHQtPnVj X21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyMl0KLSsgIGFkZGkgNSwgNSwgMTYKLSsg IHN0dnggMjMsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGln bikgKyAyM10KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMjQsIDQsIDUgIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyNF0KLSsgIGFkZGkgNSwgNSwgMTYK LSsgIHN0dnggMjUsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhh bGlnbikgKyAyNV0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMjYsIDQsIDUgIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyNl0KLSsgIGFkZGkgNSwgNSwg MTYKLSsgIHN0dnggMjcsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZl WyhhbGlnbikgKyAyN10KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMjgsIDQsIDUgIC8vIGNv bnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAyOF0KLSsgIGFkZGkgNSwg NSwgMTYKLSsgIHN0dnggMjksIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNl cnZlWyhhbGlnbikgKyAyOV0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMzAsIDQsIDUgIC8v IGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAzMF0KLSsgIGFkZGkg NSwgNSwgMTYKLSsgIHN0dnggMzEsIDQsIDUgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9y ZXNlcnZlWyhhbGlnbikgKyAzMV0KLSsgIGFkZGkgNSwgNSwgMTYKLSsKLSsgIC8vIFZTQ1IKLSsg IG1mdnNjciAwCi0rICBzdHZ4IDAsIDQsIDUKLSsgIGFkZGkgNSwgNSwgMTYKLSsKLSsgIC8vIFZS U0FWRQotKyAgbWZ2cnNhdmUgMAotKyAgc3R3eCAwLCA0LCA1Ci0rCi0rICAvLyBVcGRhdGUgY29u dGV4dC0+dWNfbWNvbnRleHQudl9yZWdzIHRvIHBvaW50IHRvIHZteF9yZXNlcnZlICsgYWxpZ25t ZW50LgotKyAgc3RkIDQsIDB4MzcwKDMpCi0rCi0rICAvLyBaZXJvIG91dCBhbGwgdW51c2VkIGZp ZWxkcwotKyAgbGkgNCwgMAotKyAgc3RkIDQsIDB4YzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQuc2lnbmFsCi0rICBzdGQgNCwgMHhkMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5oYW5k bGVyCi0rICBzdGQgNCwgMHhkOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5vbGRtYXNrCi0r Ci0rICBibHIKLSAjZW5kaWYgIC8vIF9faTM4Nl9fCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0LmNjIGIvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90ZXN0 LmNjCi1pbmRleCBjZjIzYzJkZWYuLjVmMjY0YmM5MiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdC5jYwotKysr IGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4 dF90ZXN0LmNjCi1AQCAtNTcsNyArNTcsNyBAQCB2b2lkIFRlc3RDYXB0dXJlQ29udGV4dCgpIHsK LSAgIHVpbnRwdHJfdCBwYyA9IFByb2dyYW1Db3VudGVyRnJvbUNvbnRleHQoY29udGV4dF8xKTsK LSAKLSAjaWYgIWRlZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYmICFkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBcCi0tICAgICFkZWZpbmVkKE1FTU9SWV9TQU5JVElaRVIpCi0rICAg ICFkZWZpbmVkKE1FTU9SWV9TQU5JVElaRVIpICYmICFkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZB TUlMWSkKLSAgIC8vIFNhbml0aXplcnMgY2FuIGNhdXNlIGVub3VnaCBjb2RlIGJsb2F0IHRoYXQg dGhlIOKAnG5lYXJieeKAnSBjaGVjayB3b3VsZAotICAgLy8gbGlrZWx5IGZhaWwuCi0gICBjb25z dCB1aW50cHRyX3Qga1JlZmVyZW5jZVBDID0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5j YyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRl eHRfdGVzdF91dGlsX2xpbnV4LmNjCi1pbmRleCAzMGEyYWIyMWQuLjYwNTA5ZjIxZCAxMDA2NDQK LS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2Nv bnRleHRfdGVzdF91dGlsX2xpbnV4LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rlc3RfdXRpbF9saW51eC5jYwotQEAgLTM1 LDYgKzM1LDggQEAgdm9pZCBTYW5pdHlDaGVja0NvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4 dCYgY29udGV4dCkgewotICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQucmVnc1swXSwg RnJvbVBvaW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNvbnRleHQpKTsKLSAjZWxpZiBkZWZpbmVkKEFS Q0hfQ1BVX01JUFNfRkFNSUxZKQotICAgRVhQRUNUX0VRKGNvbnRleHQudWNfbWNvbnRleHQuZ3Jl Z3NbNF0sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+KCZjb250ZXh0KSk7Ci0rI2VsaWYgZGVm aW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29u dGV4dC5ncF9yZWdzWzNdLCBGcm9tUG9pbnRlckNhc3Q8dWludHB0cl90PigmY29udGV4dCkpOwot ICNlbmRpZgotIH0KLSAKLUBAIC00OSw2ICs1MSw4IEBAIHVpbnRwdHJfdCBQcm9ncmFtQ291bnRl ckZyb21Db250ZXh0KGNvbnN0IE5hdGl2ZUNQVUNvbnRleHQmIGNvbnRleHQpIHsKLSAgIHJldHVy biBjb250ZXh0LnVjX21jb250ZXh0LnBjOwotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpCi0gICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5wYzsKLSsjZWxpZiBkZWZpbmVk KEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0Lmdw X3JlZ3NbUFRfTklQXTsKLSAjZW5kaWYKLSB9Ci0gCi1AQCAtNjMsNiArNjcsOCBAQCB1aW50cHRy X3QgU3RhY2tQb2ludGVyRnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4 dCkgewotICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQuc3A7Ci0gI2VsaWYgZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LmdyZWdz WzI5XTsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIHJldHVybiBj b250ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbMV07Ci0gI2VuZGlmCi0gfQotIAotZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcuaCBiL3RoaXJk X3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcuaAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uOWZiYmY3NWNjCi0tLS0gL2Rldi9udWxsCi0rKysgYi90 aGlyZF9wYXJ0eS9kYXYxZC9jb25maWcvbGludXgvcHBjNjQvY29uZmlnLmgKLUBAIC0wLDAgKzEs MzkgQEAKLSsvKgotKyAqIEF1dG9nZW5lcmF0ZWQgYnkgdGhlIE1lc29uIGJ1aWxkIHN5c3RlbS4K LSsgKiBEbyBub3QgZWRpdCwgeW91ciBjaGFuZ2VzIHdpbGwgYmUgbG9zdC4KLSsgKi8KLSsKLSsj cHJhZ21hIG9uY2UKLSsKLSsjZGVmaW5lIEFSQ0hfQUFSQ0g2NCAwCi0rCi0rI2RlZmluZSBBUkNI X0FSTSAwCi0rCi0rI2RlZmluZSBBUkNIX1BQQzY0TEUgMQotKwotKyNkZWZpbmUgQVJDSF9YODYg MAotKwotKyNkZWZpbmUgQVJDSF9YODZfMzIgMAotKwotKyNkZWZpbmUgQVJDSF9YODZfNjQgMAot KwotKyNkZWZpbmUgQ09ORklHXzE2QlBDIDEKLSsKLSsjZGVmaW5lIENPTkZJR184QlBDIDEKLSsK LSsvLyAjZGVmaW5lIENPTkZJR19MT0cgMSAtLSBMb2dnaW5nIGlzIGNvbnRyb2xsZWQgYnkgQ2hy b21pdW0KLSsKLSsjZGVmaW5lIEVORElBTk5FU1NfQklHIDAKLSsKLSsjZGVmaW5lIEhBVkVfQVNN IDEKLSsKLSsjZGVmaW5lIEhBVkVfQ0xPQ0tfR0VUVElNRSAxCi0rCi0rI2RlZmluZSBIQVZFX0RM U1lNIDEKLSsKLSsjZGVmaW5lIEhBVkVfR0VUQVVYVkFMIDEKLSsKLSsjZGVmaW5lIEhBVkVfUE9T SVhfTUVNQUxJR04gMQotKwotKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCi0rCi1kaWZmIC0tZ2l0 IGEvdGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy9kYXYxZF90eXBlcy5oIGIvdGhp cmRfcGFydHkvZGF2MWQvbGliZGF2MWQvc3JjL3BwYy9kYXYxZF90eXBlcy5oCi1pbmRleCAwYjRi ZDcyZjAuLmEwY2FhNWU3MSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2RhdjFkL2xpYmRhdjFk L3NyYy9wcGMvZGF2MWRfdHlwZXMuaAotKysrIGIvdGhpcmRfcGFydHkvZGF2MWQvbGliZGF2MWQv c3JjL3BwYy9kYXYxZF90eXBlcy5oCi1AQCAtNTEsNCArNTEsMTkgQEAKLSAjZGVmaW5lIHUxNmxf dG9faTMyKHYpICgoaTMyeDQpIHZlY19tZXJnZWwoKHUxNng4KSB2LCB2ZWNfc3BsYXRfdTE2KDAp KSkKLSAjZGVmaW5lIGkxNmxfdG9faTMyKHYpICgoaTMyeDQpIHZlY191bnBhY2tsKChpMTZ4OCl2 KSkKLSAKLSsjaWYgZGVmaW5lZChfX2NsYW5nX18pCi0rI3VuZGVmIHZlY19zcGxhdHMKLSsjZGVm aW5lIHZlY19zcGxhdHMoTikgICAgICAgICAgICAgICAgICAgICBcCi0rICAgIF9HZW5lcmljKChO KSwgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAgICAgdW5zaWduZWQgY2hhcjogICAg ICAoKHU4eDE2KShOKSksIFwKLSsgICAgICAgIHNpZ25lZCBjaGFyOiAgICAgICAgKChpOHgxNiko TikpLCBcCi0rICAgICAgICB1bnNpZ25lZCBzaG9ydDogICAgICgodTE2eDgpKE4pKSwgXAotKyAg ICAgICAgc2lnbmVkIHNob3J0OiAgICAgICAoKGkxNng4KShOKSksIFwKLSsgICAgICAgIHVuc2ln bmVkIGludDogICAgICAgKCh1MzJ4NCkoTikpLCBcCi0rICAgICAgICBzaWduZWQgaW50OiAgICAg ICAgICgoaTMyeDQpKE4pKSwgXAotKyAgICAgICAgdW5zaWduZWQgbG9uZyBsb25nOiAoKHU2NHgy KShOKSksIFwKLSsgICAgICAgIHNpZ25lZCBsb25nIGxvbmc6ICAgKChpNjR4MikoTikpICBcCi0r ICAgICkKLSsjZW5kaWYKLSsKLSAjZW5kaWYgLyogREFWMURfU1JDX1BQQ19UWVBFU19IICovCi1k aWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvZWlnZW4zL0JVSUxELmduIGIvdGhpcmRfcGFydHkvZWln ZW4zL0JVSUxELmduCi1pbmRleCAwZDRlMTg0Li5mMmNlNDg0IDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvZWlnZW4zL0JVSUxELmduCi0rKysgYi90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24K LUBAIC0yMiw0ICsyMiw4IEBAIGNvbmZpZygiZWlnZW5faW5jbHVkZXMiKSB7Ci0gICAgICMgZm9y IHRoaXMgY29tcG9uZW50IG9uIFdpbmRvd3Mgb24gQXJtIGR1ZSB0byBjb21waWxhdGlvbiBlcnJv cnMuCi0gICAgIGRlZmluZXMgKz0gWyAiRUlHRU5fRE9OVF9WRUNUT1JJWkUiIF0KLSAgIH0KLSsK LSsgIGlmICh0YXJnZXRfY3B1ID09ICJwcGM2NCIpIHsKLSsgICAgZGVmaW5lcyArPSBbICJFSUdF Tl9ET05UX1ZFQ1RPUklaRSIgXQotKyAgfQotIH0KLQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2xpYmFvbS9CVUlMRC5nbiBiL3RoaXJkX3BhcnR5L2xpYmFvbS9CVUlMRC5nbgotaW5kZXggOWIw NjViZC4uZGYzYWYwMiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2xpYmFvbS9CVUlMRC5nbgot KysrIGIvdGhpcmRfcGFydHkvbGliYW9tL0JVSUxELmduCi1AQCAtNDAsNiArNDAsOCBAQAotICAg Y3B1X2FyY2hfZnVsbCA9ICJnZW5lcmljIgotIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gImxv b25nNjQiKSB7Ci0gICBjcHVfYXJjaF9mdWxsID0gImdlbmVyaWMiCi0rfSBlbHNlIGlmIChjdXJy ZW50X2NwdSA9PSAicHBjNjQiKSB7Ci0rICBjcHVfYXJjaF9mdWxsID0gImdlbmVyaWMiCi0gfSBl bHNlIHsKLSAgIGNwdV9hcmNoX2Z1bGwgPSBjdXJyZW50X2NwdQotIH0KLWRpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmggYi90aGlyZF9wYXJ0eS9sc3Mv bGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLWluZGV4IGU0YWMyMjY0NC4uMWM1NzAxNWRiIDEwMDY0 NAotLS0tIGEvdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi0rKysgYi90 aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmgKLUBAIC0zOTQ3LDcgKzM5NDcs NyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXRmcyB7Ci0gICAgICAgTFNTX1JFRygyLCBidWYpOwotICAg ICAgIExTU19CT0RZKHZvaWQqLCBtbWFwMiwgIjAiKF9fcjIpKTsKLSAgICAgfQotLSNlbHNlCi0r I2VsaWYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykgLyogcHBjNjQgZG9lc24ndCBoYXZlIG1tYXAy ICovCi0gICAgICNkZWZpbmUgX19OUl9fbW1hcDIgX19OUl9tbWFwMgotICAgICBMU1NfSU5MSU5F IF9zeXNjYWxsNih2b2lkKiwgX21tYXAyLCAgICAgICAgICAgIHZvaWQqLCBzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplX3QsICAgICAgICAgICAgICAgICAgIGwsIGludCwgICAgICAg ICAgICAgICBwLAotQEAgLTQwNTgsNyArNDA1OCw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsK LSAgICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCi0gICAgICAgZGVmaW5lZChfX0FSTV9BUkNIXzNfXykg fHwgZGVmaW5lZChfX0FSTV9FQUJJX18pIHx8ICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg KGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9PSBfTUlQU19TSU1fQUJJMzIpIHx8ICAg ICAgICAgICAgICAgICAgIFwKLS0gICAgICBkZWZpbmVkKF9fUFBDX18pIHx8ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAoZGVmaW5l ZChfX1BQQ19fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSkgfHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgIChkZWZpbmVkKF9f czM5MF9fKSAmJiAhZGVmaW5lZChfX3MzOTB4X18pKQotICAgICAvKiBPbiB0aGVzZSBhcmNoaXRl Y3R1cmVzLCBpbXBsZW1lbnQgbW1hcCgpIHdpdGggbW1hcDIoKS4gKi8KLSAgICAgTFNTX0lOTElO RSB2b2lkKiBMU1NfTkFNRShtbWFwKSh2b2lkICpzLCBzaXplX3QgbCwgaW50IHAsIGludCBmLCBp bnQgZCwKLUBAIC00ODcyLDExICs0ODcyLDExIEBAIHN0cnVjdCBrZXJuZWxfc3RhdHggewotICAg ICAgIExTU19TQ19CT0RZKDQsIGludCwgOCwgZCwgdHlwZSwgcHJvdG9jb2wsIHN2KTsKLSAgICAg fQotICAgI2VuZGlmCi0tICAjaWYgZGVmaW5lZChfX05SX3JlY3Ztc2cpCi0rICAjaWYgZGVmaW5l ZChfX05SX3JlY3Ztc2cpICYmICFkZWZpbmVkKF9fUFBDX18pCi0gICAgIExTU19JTkxJTkUgX3N5 c2NhbGwzKHNzaXplX3QsIHJlY3Ztc2csIGludCwgcywgc3RydWN0IGtlcm5lbF9tc2doZHIqLCBt c2csCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGludCwgZmxhZ3MpCi0gICAjZW5kaWYKLS0g ICNpZiBkZWZpbmVkKF9fTlJfc2VuZG1zZykKLSsgICNpZiBkZWZpbmVkKF9fTlJfc2VuZG1zZykg JiYgIWRlZmluZWQoX19QUENfXykKLSAgICAgTFNTX0lOTElORSBfc3lzY2FsbDMoc3NpemVfdCwg c2VuZG1zZywgaW50LCBzLCBjb25zdCBzdHJ1Y3Qga2VybmVsX21zZ2hkciosCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIG1zZywgaW50LCBmbGFncykKLSAgICNlbmRpZgotQEAgLTQ4ODUsMTMg KzQ4ODUsMTMgQEAgc3RydWN0IGtlcm5lbF9zdGF0eCB7Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgIGludCwgZmxhZ3MsIGNvbnN0IHN0cnVjdCBrZXJuZWxfc29ja2FkZHIqLCB0bywKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50LCB0b2xlbikKLSAgICNlbmRpZgotLSAg I2lmIGRlZmluZWQoX19OUl9zaHV0ZG93bikKLSsgICNpZiBkZWZpbmVkKF9fTlJfc2h1dGRvd24p ICYmICFkZWZpbmVkKF9fUFBDX18pCi0gICAgIExTU19JTkxJTkUgX3N5c2NhbGwyKGludCwgc2h1 dGRvd24sIGludCwgcywgaW50LCBob3cpCi0gICAjZW5kaWYKLS0gICNpZiBkZWZpbmVkKF9fTlJf c29ja2V0KQotKyAgI2lmIGRlZmluZWQoX19OUl9zb2NrZXQpICYmICFkZWZpbmVkKF9fUFBDX18p Ci0gICAgIExTU19JTkxJTkUgX3N5c2NhbGwzKGludCwgc29ja2V0LCBpbnQsIGRvbWFpbiwgaW50 LCB0eXBlLCBpbnQsIHByb3RvY29sKQotICAgI2VuZGlmCi0tICAjaWYgZGVmaW5lZChfX05SX3Nv Y2tldHBhaXIpCi0rICAjaWYgZGVmaW5lZChfX05SX3NvY2tldHBhaXIpICYmICFkZWZpbmVkKF9f UFBDX18pCi0gICAgIExTU19JTkxJTkUgX3N5c2NhbGw0KGludCwgc29ja2V0cGFpciwgaW50LCBk LCBpbnQsIHR5cGUsIGludCwgcHJvdG9jb2wsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlu dCosIHN2KQotICAgI2VuZGlmCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGRmaXVtL3RoaXJk X3BhcnR5L2xpYnBuZzE2L3BuZ3ByaXYuaCBiL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0 eS9saWJwbmcxNi9wbmdwcml2LmgKLWluZGV4IDU4M2MyNmYuLmUwM2Q2OTcgMTAwNjQ0Ci0tLS0g YS90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYvcG5ncHJpdi5oCi0rKysg Yi90aGlyZF9wYXJ0eS9wZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYvcG5ncHJpdi5oCi1AQCAt MTk2LDExICsxOTYsNyBAQAotICNlbmRpZgotIAotICNpZm5kZWYgUE5HX1BPV0VSUENfVlNYX09Q VAotLSMgIGlmIGRlZmluZWQoX19QUEM2NF9fKSAmJiBkZWZpbmVkKF9fQUxUSVZFQ19fKSAmJiBk ZWZpbmVkKF9fVlNYX18pCi0tIyAgICAgZGVmaW5lIFBOR19QT1dFUlBDX1ZTWF9PUFQgMgotLSMg IGVsc2UKLS0jICAgICBkZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCi0tIyAgZW5kaWYKLSsj ICBkZWZpbmUgUE5HX1BPV0VSUENfVlNYX09QVCAwCi0gI2VuZGlmCi0gCi0gI2lmbmRlZiBQTkdf SU5URUxfU1NFX09QVAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3BmZmZ0L3NyYy9wZmZmdC5j IGIvdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0LmMKLWluZGV4IGJkYWM0ZDc4NC4uNTFlMGYy Y2FjIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0LmMKLSsrKyBiL3Ro aXJkX3BhcnR5L3BmZmZ0L3NyYy9wZmZmdC5jCi1AQCAtMTAwLDYgKzEwMCw3IEBACi0gICAgQWx0 aXZlYyBzdXBwb3J0IG1hY3JvcyAKLSAqLwotICNpZiAhZGVmaW5lZChQRkZGVF9TSU1EX0RJU0FC TEUpICYmIChkZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19wcGM2NF9fKSkKLSsjaW5jbHVk ZSA8YWx0aXZlYy5oPgotIHR5cGVkZWYgdmVjdG9yIGZsb2F0IHY0c2Y7Ci0gIyAgZGVmaW5lIFNJ TURfU1ogNAotICMgIGRlZmluZSBWWkVSTygpICgodmVjdG9yIGZsb2F0KSB2ZWNfc3BsYXRfdTgo MCkpCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb24vc3Fs aXRlMy5jIGIvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jCi1p bmRleCA2YjRhNzg5OWQuLmI4YzdmZTQxNCAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L3NxbGl0 ZS9zcmMvYW1hbGdhbWF0aW9uL3NxbGl0ZTMuYwotKysrIGIvdGhpcmRfcGFydHkvc3FsaXRlL3Ny Yy9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jCi1AQCAtMTQ0NzQsNyArMTQ0NzQsOCBAQCB0eXBlZGVm IElOVDE2X1RZUEUgTG9nRXN0OwotICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQo X19pMzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCi0gICAgICBkZWZpbmVk KF9feDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkg IHx8ICAgIFwKLSAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAg ICAgIHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAotLSAgICAgZGVmaW5lZChfX0FSTUVMX18p IHx8IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkKLSsgICAgIGRl ZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01f QVJNNjQpIHx8ICAgXAotKyAgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAoX19CWVRFX09S REVSX18gPT0gX19PUkRFUl9MSVRUTEVfRU5ESUFOX18pCi0gIyAgIGRlZmluZSBTUUxJVEVfQllU RU9SREVSICAgIDEyMzQKLSAjIGVsaWYgZGVmaW5lZChzcGFyYykgICAgIHx8IGRlZmluZWQoX19w cGNfXykgfHwgXAotICAgICAgICBkZWZpbmVkKF9fQVJNRUJfXykgfHwgZGVmaW5lZChfX0FBUkNI NjRFQl9fKQotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9u X2Rldi9zcWxpdGUzLmMgYi90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbl9kZXYv c3FsaXRlMy5jCi1pbmRleCBkMzBjOWI3ZGUuLmNmNzVhNjlkOSAxMDA2NDQKLS0tLSBhL3RoaXJk X3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uX2Rldi9zcWxpdGUzLmMKLSsrKyBiL3RoaXJk X3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdhbWF0aW9uX2Rldi9zcWxpdGUzLmMKLUBAIC0xNDQ4Nyw3 ICsxNDQ4Nyw4IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7Ci0gIyBpZiBkZWZpbmVkKGkz ODYpICAgICAgfHwgZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8 ICAgIFwKLSAgICAgIGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAg IHx8IGRlZmluZWQoX01fWDY0KSAgfHwgICAgXAotICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8 IGRlZmluZWQoX01fQVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCi0tICAg ICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVk KF9NX0FSTTY0KQotKyAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0 RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkgfHwgICBcCi0rICAgICBkZWZpbmVkKF9fcG93ZXJw YzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKLSAj ICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgMTIzNAotICMgZWxpZiBkZWZpbmVkKHNwYXJj KSAgICAgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBcCi0gICAgICAgIGRlZmluZWQoX19BUk1FQl9f KSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvc3Fs aXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYyBiL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvZXh0L3J0 cmVlL3J0cmVlLmMKLWluZGV4IGY1YjU3YTVlMi4uODBhMmQwYWQ4IDEwMDY0NAotLS0tIGEvdGhp cmRfcGFydHkvc3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYwotKysrIGIvdGhpcmRfcGFydHkv c3FsaXRlL3NyYy9leHQvcnRyZWUvcnRyZWUuYwotQEAgLTQ1MCw3ICs0NTAsNyBAQCBzdHJ1Y3Qg UnRyZWVNYXRjaEFyZyB7Ci0gI2lmIGRlZmluZWQoaTM4NikgICAgIHx8IGRlZmluZWQoX19pMzg2 X18pICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCi0gICAgIGRlZmluZWQoX194ODZfNjQp IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCi0gICAg IGRlZmluZWQoX01fQU1ENjQpIHx8IGRlZmluZWQoX01fQVJNKSAgICAgfHwgZGVmaW5lZChfX3g4 NikgICB8fCAgICBcCi0tICAgIGRlZmluZWQoX19hcm1fXykKLSsgICAgZGVmaW5lZChfX2FybV9f KSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVS X0xJVFRMRV9FTkRJQU5fXykKLSAjIGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDEyMzQKLSAj ZWxpZiBkZWZpbmVkKHNwYXJjKSAgICB8fCBkZWZpbmVkKF9fcHBjX18pCi0gIyBkZWZpbmUgU1FM SVRFX0JZVEVPUkRFUiAgICA0MzIxCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvc3FsaXRlL3Ny Yy9zcmMvc3FsaXRlSW50LmggYi90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQu aAotaW5kZXggMjQ1MDcwZDRmLi5iMjUxNjRlOTUgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAotKysrIGIvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9z cmMvc3FsaXRlSW50LmgKLUBAIC04NzcsNyArODc3LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExv Z0VzdDsKLSAjIGlmIGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAg IHx8IGRlZmluZWQoX01fSVg4NikgfHwgICAgXAotICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8 IGRlZmluZWQoX194ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCi0gICAg ICBkZWZpbmVkKF9NX0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVk KF9feDg2KSAgIHx8ICAgIFwKLS0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9f QUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJNNjQpCi0rICAgICBkZWZpbmVkKF9fQVJNRUxf XykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCBcCi0r ICAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmIChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVS X0xJVFRMRV9FTkRJQU5fXykKLSAjICAgZGVmaW5lIFNRTElURV9CWVRFT1JERVIgICAgMTIzNAot ICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAgICAgfHwgZGVmaW5lZChfX3BwY19fKSB8fCBcCi0gICAg ICAgIGRlZmluZWQoX19BUk1FQl9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVCX18pCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNlL3N5c3RlbS9hcmNoLmggYi90aGlyZF9w YXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaAotaW5kZXggYmUyMzY3Yjg1Li5iZTRl ZTQyMzMgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2Fy Y2guaAotKysrIGIvdGhpcmRfcGFydHkvd2VicnRjL3J0Y19iYXNlL3N5c3RlbS9hcmNoLmgKLUBA IC03OSw2ICs3OSwxOCBAQAotICNlbGlmIGRlZmluZWQoX19FTVNDUklQVEVOX18pCi0gI2RlZmlu ZSBXRUJSVENfQVJDSF8zMl9CSVRTCi0gI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFO Ci0rI2VsaWYgZGVmaW5lZChfX1BQQ19fKQotKyNkZWZpbmUgV0VCUlRDX0FSQ0hfUFBDX0ZBTUlM WQotKyNpZiBfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXwotKyNkZWZp bmUgV0VCUlRDX0FSQ0hfTElUVExFX0VORElBTgotKyNlbHNlCi0rI2RlZmluZSBXRUJSVENfQVJD SF9CSUdfRU5ESUFOCi0rI2VuZGlmCi0rI2lmIGRlZmluZWQoX19MUDY0X18pCi0rI2RlZmluZSBX RUJSVENfQVJDSF82NF9CSVRTCi0rI2Vsc2UKLSsjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMK LSsjZW5kaWYKLSAjZWxzZQotICNlcnJvciBQbGVhc2UgYWRkIHN1cHBvcnQgZm9yIHlvdXIgYXJj aGl0ZWN0dXJlIGluIHJ0Y19iYXNlL3N5c3RlbS9hcmNoLmgKLSAjZW5kaWYKLWRpZmYgLS1naXQg YS92OC9CVUlMRC5nbiBiL3Y4L0JVSUxELmduCi1pbmRleCBmMzk1MjlhM2EuLmU4NGZjNDQ5ZSAx MDA2NDQKLS0tLSBhL3Y4L0JVSUxELmduCi0rKysgYi92OC9CVUlMRC5nbgotQEAgLTg1MCw2ICs4 NTAsMTIgQEAgY29uZmlnKCJ0b29sY2hhaW4iKSB7Ci0gICAgIH0KLSAgICAgaWYgKGhvc3RfYnl0 ZW9yZGVyID09ICJsaXR0bGUiKSB7Ci0gICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJD SF9QUENfTEUiIF0KLSsgICAgICBjZmxhZ3MgKz0gWwotKyAgICAgICAgIyBFbmFibGUgdXNhZ2Ug b2YgQWx0aVZlYywgVlNYLCBhbmQgb3RoZXIgUE9XRVI4IGFuZCBoaWdoZXIgZmVhdHVyZXMKLSsg ICAgICAgICItbWNwdT1wb3dlcjgiLAotKyAgICAgICAgIi1tYWx0aXZlYyIsCi0rICAgICAgICAi LW12c3giLAotKyAgICAgIF0KLSAgICAgfSBlbHNlIGlmIChob3N0X2J5dGVvcmRlciA9PSAiYmln IikgewotICAgICAgIGRlZmluZXMgKz0gWyAiVjhfVEFSR0VUX0FSQ0hfUFBDX0JFIiBdCi0gICAg ICAgaWYgKGN1cnJlbnRfb3MgPT0gImFpeCIpIHsKLS0tLSBhL3VpL2dsL2ZlYXR1cmVzLmduaQot KysrIGIvdWkvZ2wvZmVhdHVyZXMuZ25pCi1AQCAtMzMsNSArMzMsNSBAQAotICAgICAgICBpc19j aHJvbWVvc19hc2ggfHwgaXNfZnVjaHNpYSkgJiYKLSAgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2 IiB8fCB0YXJnZXRfY3B1ID09ICJ4NjQiIHx8IHRhcmdldF9jcHUgPT0gImFybSIgfHwKLSAgICAg ICAgdGFyZ2V0X2NwdSA9PSAiYXJtNjQiIHx8IHRhcmdldF9jcHUgPT0gIm1pcHNlbCIgfHwKLS0g ICAgICAgdGFyZ2V0X2NwdSA9PSAibWlwczY0ZWwiIHx8IHRhcmdldF9jcHUgPT0gInJpc2N2NjQi KQotKyAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzNjRlbCIgfHwgdGFyZ2V0X2NwdSA9PSAicmlz Y3Y2NCIgfHwgdGFyZ2V0X2NwdSA9PSAicHBjNjQiKQotIH0KLWRpZmYgLS1naXQgYS92OC90ZXN0 L0JVSUxELmduIGIvdjgvdGVzdC9CVUlMRC5nbgotaW5kZXggZmI4NzJhZDM5Li40NWZjNTg1ZGQg MTAwNjQ0Ci0tLS0gYS92OC90ZXN0L0JVSUxELmduCi0rKysgYi92OC90ZXN0L0JVSUxELmduCi1A QCAtNDIsNyArNDIsNyBAQCBncm91cCgiZ25fYWxsIikgewotICAgICAgICJiZW5jaG1hcmtzL2Nw cDpnbl9hbGwiLAotICAgICAgICJjY3Rlc3Q6Y2N0ZXN0IiwKLSAgICAgICAidW5pdHRlc3RzOmdl bmVyYXRlLWJ5dGVjb2RlLWV4cGVjdGF0aW9ucyIsCi0tICAgICAgInVuaXR0ZXN0czp1bml0dGVz dHMiLAotKyAgICAgICMidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCi0gICAgIF0KLSAgIH0KLSB9Ci1A QCAtODQsNyArODQsNyBAQAotICAgICAibWVzc2FnZTp2OF9tZXNzYWdlIiwKLSAgICAgIm1qc3Vu aXQ6djhfbWpzdW5pdCIsCi0gICAgICJta2dyb2tkdW1wOm1rZ3Jva2R1bXAiLAotLSAgICAidW5p dHRlc3RzOnVuaXR0ZXN0cyIsCi0rICAgICMidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCi0gICAgICJ3 ZWJraXQ6djhfd2Via2l0IiwKLSAgIF0KLSAKLUBAIC0xMDksNyArMTA5LDcgQEAKLSAgICAgIm1l c3NhZ2U6djhfbWVzc2FnZSIsCi0gICAgICJtanN1bml0OnY4X21qc3VuaXQiLAotICAgICAibWtn cm9rZHVtcDpta2dyb2tkdW1wIiwKLS0gICAgInVuaXR0ZXN0czp1bml0dGVzdHMiLAotKyAgICAj InVuaXR0ZXN0czp1bml0dGVzdHMiLAotICAgXQotIAotICAgaWYgKHY4X2VuYWJsZV93ZWJhc3Nl bWJseSkgewpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxl LXN3aWZ0c2hhZGVyLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxl LXN3aWZ0c2hhZGVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkZjQ1M2Y0 OTFkOGMuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBw YzY0bGUtc3dpZnRzaGFkZXIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOCArMCwwIEBACi0t LS0gYS90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvQlVJTEQu Z24KLSsrKyBiL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9C VUlMRC5nbgotQEAgLTU3NCw2ICs1NzQsNyBAQCBzd2lmdHNoYWRlcl9sbHZtX3NvdXJjZV9zZXQo InN3aWZ0c2hhZGVyCi0gICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9DT0ZGLmNwcCIsCi0gICAg ICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9EYXJ3aW4uY3BwIiwKLSAgICAgImxsdm0vbGliL01DL01D QXNtSW5mb0VMRi5jcHAiLAotKyAgICAibGx2bS9saWIvTUMvTUNBc21JbmZvWENPRkYuY3BwIiwK LSAgICAgImxsdm0vbGliL01DL01DQXNtTWFjcm8uY3BwIiwKLSAgICAgImxsdm0vbGliL01DL01D QXNtU3RyZWFtZXIuY3BwIiwKLSAgICAgImxsdm0vbGliL01DL01DQXNzZW1ibGVyLmNwcCIsCi1A QCAtNjI5LDYgKzYzMCw3IEBAIHN3aWZ0c2hhZGVyX2xsdm1fc291cmNlX3NldCgic3dpZnRzaGFk ZXIKLSAgICAgImxsdm0vbGliL01DL01DV2luQ09GRlN0cmVhbWVyLmNwcCIsCi0gICAgICJsbHZt L2xpYi9NQy9NQ1dpbkVILmNwcCIsCi0gICAgICJsbHZtL2xpYi9NQy9NQ1hDT0ZGU3RyZWFtZXIu Y3BwIiwKLSsgICAgImxsdm0vbGliL01DL01DWENPRkZPYmplY3RUYXJnZXRXcml0ZXIuY3BwIiwK LSAgICAgImxsdm0vbGliL01DL01hY2hPYmplY3RXcml0ZXIuY3BwIiwKLSAgICAgImxsdm0vbGli L01DL1N0cmluZ1RhYmxlQnVpbGRlci5jcHAiLAotICAgICAibGx2bS9saWIvTUMvU3VidGFyZ2V0 RmVhdHVyZS5jcHAiLApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZSBiL3Ny Y3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKaW5kZXggN2RlYThiYmU1MGQzLi41MGI5YTNhZWM0MDkg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKKysrIGIvc3JjcGtncy9jaHJv bWl1bS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nocm9t aXVtJwogcGtnbmFtZT1jaHJvbWl1bQogIyBTZWUgaHR0cHM6Ly9jaHJvbWl1bWRhc2guYXBwc3Bv dC5jb20vcmVsZWFzZXM/cGxhdGZvcm09TGludXggZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgotdmVy c2lvbj0xMDguMC41MzU5LjEyNAordmVyc2lvbj0xMDkuMC41NDE0Ljc0CiByZXZpc2lvbj0xCiBh cmNocz0iaTY4NiogeDg2XzY0KiBhYXJjaDY0KiBhcm12N2wqIHBwYzY0bGUqIgogaG9zdG1ha2Vk ZXBlbmRzPSIKQEAgLTI4LDcgKzI4LDcgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2 b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczov L3d3dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdl Lmdvb2dsZWFwaXMuY29tL2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3Zl cnNpb259LnRhci54eiIKLWNoZWNrc3VtPWQ0OGRmYWMyYTYxYjE0YTVkN2QyZjQ2MGIwOWI3MGVm M2FiODhlMjdiODJlMzE3MzkzOGNiNTRlYWE2MTJhNzUKK2NoZWNrc3VtPWVkZWQyMzNjMjZhYjYz MWJlMzI1YWQ0OWNiMzA2YzMzODUxM2I2YTY1MjgxOTdkNDI2NTNlNjYxODc1NDhlNWQKIAogbGli MzJkaXNhYmxlZD15ZXMKIApAQCAtMjIwLDkgKzIyMCw2IEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAog CQknaWN1X3VzZV9kYXRhX2ZpbGU9dHJ1ZScKIAotCQkndXNlX2FsbG9jYXRvcj0ibm9uZSInCi0J CSd1c2VfYWxsb2NhdG9yX3NoaW09ZmFsc2UnCi0KIAkJJ2VuYWJsZV93aWRldmluZT10cnVlJwog CQknZW5hYmxlX2hhbmdvdXRfc2VydmljZXNfZXh0ZW5zaW9uPXRydWUnCiAKQEAgLTMxOCwxMyAr MzE1LDEzIEBAIGRvX2NvbmZpZ3VyZSgpIHsKIAogZG9fYnVpbGQoKSB7CiAJX3NldHVwX3Rvb2xj aGFpbgotCUNDQUNIRV9TTE9QUElORVNTPWluY2x1ZGVfZmlsZV9tdGltZSBuaW5qYSAtQyBvdXQv UmVsZWFzZSAke21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIGNocm9tZV9jcmFzaHBhZF9o YW5kbGVyCisJQ0NBQ0hFX1NMT1BQSU5FU1M9aW5jbHVkZV9maWxlX210aW1lIG5pbmphIC1DIG91 dC9SZWxlYXNlICR7bWFrZWpvYnN9IGNocm9tZSBjaHJvbWVkcml2ZXIudW5zdHJpcHBlZCBjaHJv bWVfY3Jhc2hwYWRfaGFuZGxlcgogfQogCiBkb19pbnN0YWxsKCkgewogCXZpbnN0YWxsIG91dC9S ZWxlYXNlL2Nocm9tZSA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9ICR7cGtnbmFtZX0KIAl2aW5zdGFs bCBvdXQvUmVsZWFzZS9jaHJvbWVfY3Jhc2hwYWRfaGFuZGxlciA3NTUgdXNyL2xpYi8ke3BrZ25h bWV9IGNocm9tZV9jcmFzaHBhZF9oYW5kbGVyCi0Jdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21l ZHJpdmVyIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21lZHJpdmVyCisJdmluc3RhbGwgb3V0 L1JlbGVhc2UvY2hyb21lZHJpdmVyLnVuc3RyaXBwZWQgNzU1IHVzci9saWIvJHtwa2duYW1lfSBj aHJvbWVkcml2ZXIKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJFR0wuc28gNzU1IHVzci9saWIv JHtwa2duYW1lfSBsaWJFR0wuc28KIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJHTEVTdjIuc28g NzU1IHVzci9saWIvJHtwa2duYW1lfSBsaWJHTEVTdjIuc28KIAl2aW5zdGFsbCBvdXQvUmVsZWFz ZS9saWJ2a19zd2lmdHNoYWRlci5zbyA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9IGxpYnZrX3N3aWZ0 c2hhZGVyLnNvCg== --===============3666144606930020228==--