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 2756 invoked from network); 15 Nov 2021 22:50:46 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 15 Nov 2021 22:50:46 -0000 Content-Type: multipart/mixed; boundary="===============5010868523118679930==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_96=2E0=2E4664=2E45=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Mon, 15 Nov 2021 23:50:45 +0100 List-Id: Message-ID: <20211115225045.uBVhf9nTRc0JpzraYerAzt3S4d0vKsa6OtsGwGggi64@z> GitHub notification mails are now in MIME to allow UTF8. --===============5010868523118679930== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTk2Cmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zNDA5NAoKY2hyb21pdW06IHVwZGF0ZSB0byA5Ni4wLjQ2 NjQuNDUuCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxkDQotIHVzZSBgLWZkZWJ1Zy1wcmVm aXgtbWFwYCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8gZGVidWcNCg0KW2NpIHNraXBd DQoNCiogW3hdIHg4Nl82NC1nbGliYw0KKiBbIF0geDg2XzY0LW11c2wNCiogWyBdIGk2ODYtZ2xp YmMNCiogWyBdIGFhcmNoNjQtbXVzbAoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM0MDk0LnBhdGNoIGlzIGF0dGFjaGVk --===============5010868523118679930== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-96-34094.patch" RnJvbSBhOTU0ZTEyYzMxYjY5YzJmMjM0MmUwZjM0YjAxZGNjNWI2YThlZmUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFN1biwgMjYgU2VwIDIwMjEgMTU6NDc6MjkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDk2LjAuNDY2NC40NS4KCi0gZW5hYmxlIGFhcmNoNjQqIGNyb3NzIGJ1aWxk Ci0gdXNlIC1mZGVidWctcHJlZml4LW1hcCBmb3IgYmV0dGVyIGNjYWNoZSBoaXRzIHdpdGggLW8g ZGVidWcKLS0tCiAuLi4vbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggICAg fCAgIDYgKy0KIC4uLi9wYXRjaGVzL2Nocm9taXVtLTk1LWhhcmZidXp6LTMucGF0Y2ggICAgICB8 ICAzMSAtCiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS05NS1xdWljaGUtaW5jbHVkZS5wYXRjaCAgfCAg MjUgLQogLi4uL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1ZGUucGF0Y2ggICAgIHwgIDI0 ICsKIC4uLi9jaHJvbWl1bS05Ni1Db3Vwb25EQi1pbmNsdWRlLnBhdGNoICAgICAgICB8ICAyNSAr CiAuLi5tLTk2LURybVJlbmRlck5vZGVQYXRoRmluZGVyLWluY2x1ZGUucGF0Y2ggfCAgMjQgKwog Li4uaXVtLTk2LVJlc3RyaWN0ZWRDb29raWVNYW5hZ2VyLXR1cGxlLnBhdGNoIHwgIDMxICsKIHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaCAgICB8ICA2NSArKwogLi4u L3BhdGNoZXMvb3pvbmUteDExLWZpeC1WQS1BUEkucGF0Y2ggICAgICAgIHwgNjcxIC0tLS0tLS0t LS0tLS0tLS0tLQogc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3B5dGhvbjMuMTAucGF0Y2ggICAg IHwgIDU3IC0tCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvc25kaW8ucGF0Y2ggICAgICAgICAg fCAgIDkgLQogLi4uLXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmlnLWZyZWV0eXBlLnBhdGNoIHwg IDMxICsKIC4uLi9wYXRjaGVzL3VuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4ucGF0Y2ggICB8ICAx MiArCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoICAgICAgICAgfCAgIDYg Ky0KIHNyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8IDEzOCAr KystCiAxNSBmaWxlcyBjaGFuZ2VkLCAzMjIgaW5zZXJ0aW9ucygrKSwgODMzIGRlbGV0aW9ucygt KQogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05 NS1oYXJmYnV6ei0zLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTk1LXF1aWNoZS1pbmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1 ZGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tOTYtQ291cG9uREItaW5jbHVkZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1Ecm1SZW5kZXJOb2RlUGF0aEZpbmRlci1p bmNsdWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTk2LVJlc3RyaWN0ZWRDb29raWVNYW5hZ2VyLXR1cGxlLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgt VkEtQVBJLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3B5dGhvbjMuMTAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvdW5idW5kbGUtZml4LXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmlnLWZyZWV0eXBlLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxl ZC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2Zp bGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoIGIvc3JjcGtncy9jaHJv bWl1bS9maWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAppbmRleCA2 ODFiMWYwMTFjMzEuLmEwZjhkMjg1ZmU4MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9m aWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAorKysgYi9zcmNwa2dz L2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCkBA IC02MSw5ICs2MSw5IEBAIGluZGV4IGNkY2U5YmY4Li43M2Q3N2RkYSAxMDA2NDQKICAKICAvLyBU aGUgZm9sbG93aW5nIHBsYXRmb3JtcyBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIGEgaGFyZHdh cmUgY291bnRlci4KICAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCi0tICBkZWZpbmVkKF9fcG93ZXJwY19fKSB8 fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKLSsgICgoZGVmaW5lZChfX3Bvd2VycGNfXykgfHwgZGVm aW5lZChfX3BwY19fKSkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBcCi0gICBkZWZpbmVkKF9N X0lYODYpIHx8IGRlZmluZWQoX01fWDY0KQorLSAgICBkZWZpbmVkKF9fcG93ZXJwY19fKSB8fCBk ZWZpbmVkKF9fcHBjX18pIHx8IGRlZmluZWQoX19yaXNjdikgfHwgICAgIFwKKysgICAgKChkZWZp bmVkKF9fcG93ZXJwY19fKSB8fCBkZWZpbmVkKF9fcHBjX18pKSAmJiBkZWZpbmVkKF9fR0xJQkNf XykpIHx8IGRlZmluZWQoX19yaXNjdikgfHwgXAorICAgICBkZWZpbmVkKF9NX0lYODYpIHx8IGRl ZmluZWQoX01fWDY0KQogICNkZWZpbmUgQUJTTF9IQVZFX1VOU0NBTEVEX0NZQ0xFQ0xPQ0tfSU1Q TEVNRU5UQVRJT04gMQogICNlbHNlCiAtLS0gdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL2Rl YnVnZ2luZy9pbnRlcm5hbC9zdGFja3RyYWNlX2NvbmZpZy5oCmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTUtaGFyZmJ1enotMy5wYXRjaCBiL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05NS1oYXJmYnV6ei0zLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAzM2ZlOTU1NmFhZjMuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTUtaGFyZmJ1enotMy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDMxICswLDAgQEAKLUZyb20gOWUwMGU3MDI2MzNjNDdjNTkwYTg2OWJjNjZi NWMyY2VlYzA5ZGE1MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IERvbWluaWsgUsO2 dHRzY2hlcyA8ZHJvdHRAY2hyb21pdW0ub3JnPgotRGF0ZTogVHVlLCAyOCBTZXAgMjAyMSAxNToz MTo1MCArMDAwMAotU3ViamVjdDogW1BBVENIXSBSb2xsIHNyYy90aGlyZF9wYXJ0eS9oYXJmYnV6 ei1uZy9zcmMvIDY2MDJjYmI3MC4uYTUyYzZkZjM4ICg4MCBjb21taXRzKQotCi1GaXhlZDogMTI1 MjI4NAotQ2hhbmdlLUlkOiBJZTJmZjk5ZGE1ZTQxY2E5N2I4ODgxZTFiZDNlMTU4ODgxZjRkNWE4 ZQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20v Yy9jaHJvbWl1bS9zcmMvKy8zMTkwMjUyCi1Db21taXQtUXVldWU6IERvbWluaWsgUsO2dHRzY2hl cyA8ZHJvdHRAY2hyb21pdW0ub3JnPgotQ29tbWl0LVF1ZXVlOiBDYWxkZXIgS2l0YWdhd2EgPGNr aXRhZ2F3YUBjaHJvbWl1bS5vcmc+Ci1BdXRvLVN1Ym1pdDogRG9taW5payBSw7Z0dHNjaGVzIDxk cm90dEBjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogQ2FsZGVyIEtpdGFnYXdhIDxja2l0YWdh d2FAY2hyb21pdW0ub3JnPgotUmV2aWV3ZWQtYnk6IEFuZGVycyBIYXJ0dm9sbCBSdXVkIDxhbmRy dXVkQGNocm9taXVtLm9yZz4KLUNyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsj OTI1Nzc2fQotCi0ob25seSBjb21wb25lbnRzL3BhaW50X3ByZXZpZXcvY29tbW9uL3N1YnNldF9m b250LmNjKQotLS0tCi0KLWRpZmYgLS1naXQgYS9jb21wb25lbnRzL3BhaW50X3ByZXZpZXcvY29t bW9uL3N1YnNldF9mb250LmNjIGIvY29tcG9uZW50cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJz ZXRfZm9udC5jYwotaW5kZXggNDVkYWVhN2IxLi40M2E0NDhlIDEwMDY0NAotLS0tIGEvY29tcG9u ZW50cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJzZXRfZm9udC5jYwotKysrIGIvY29tcG9uZW50 cy9wYWludF9wcmV2aWV3L2NvbW1vbi9zdWJzZXRfZm9udC5jYwotQEAgLTc5LDcgKzc5LDcgQEAK LSAgIC8vIFJldGFpbiBhbGwgdmFyaWF0aW9uIGluZm9ybWF0aW9uIGZvciBPcGVuVHlwZSB2YXJp YXRpb24gZm9udHMuIFNlZToKLSAgIC8vIGh0dHBzOi8vZG9jcy5taWNyb3NvZnQuY29tL2VuLXVz L3R5cG9ncmFwaHkvb3BlbnR5cGUvc3BlYy9vdHZhcm92ZXJ2aWV3Ci0gICBoYl9zZXRfdCogc2tp cF9zdWJzZXQgPQotLSAgICAgIGhiX3N1YnNldF9pbnB1dF9ub19zdWJzZXRfdGFibGVzX3NldChp bnB1dC5nZXQoKSk7ICAvLyBPd25lZCBieSB8aW5wdXR8LgotKyAgICAgIGhiX3N1YnNldF9pbnB1 dF9zZXQoaW5wdXQuZ2V0KCksIEhCX1NVQlNFVF9TRVRTX05PX1NVQlNFVF9UQUJMRV9UQUcpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdhJywgJ3YnLCAnYScsICdyJykpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdjJywgJ3YnLCAnYScsICdyJykpOwot ICAgaGJfc2V0X2FkZChza2lwX3N1YnNldCwgSEJfVEFHKCdmJywgJ3YnLCAnYScsICdyJykpOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk1LXF1aWNoZS1p bmNsdWRlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk1LXF1aWNo ZS1pbmNsdWRlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YmJkNDVjZmMw OTQuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t OTUtcXVpY2hlLWluY2x1ZGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNSArMCwwIEBACi1G cm9tIGE5ZDk4NjIwM2JjZmJhYWI4NGYyNzBjMWRjNmMzYWJiNGM0NTBlZTEgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDE3IFNlcCAyMDIxIDE0OjU3OjMzICswMDAwCi1TdWJqZWN0OiBbUEFU Q0hdIElXWVU6IGFkZCBzdGRkZWYuaCBmb3Igc2l6ZV90IGluIFdpbmRvd01hbmFnZXIKLQotLS0t Ci0gbmV0L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvaHR0cDIvYWRhcHRlci93aW5kb3dfbWFuYWdl ci5oIHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21hbmFn ZXIuaCBiL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21h bmFnZXIuaAotaW5kZXggZjE1OTgyZC4uNWE3NzAxZSAxMDA2NDQKLS0tLSBhL25ldC90aGlyZF9w YXJ0eS9xdWljaGUvc3JjL2h0dHAyL2FkYXB0ZXIvd2luZG93X21hbmFnZXIuaAotKysrIGIvbmV0 L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvaHR0cDIvYWRhcHRlci93aW5kb3dfbWFuYWdlci5oCi1A QCAtMSw2ICsxLDggQEAKLSAjaWZuZGVmIFFVSUNIRV9IVFRQMl9BREFQVEVSX1dJTkRPV19NQU5B R0VSX0hfCi0gI2RlZmluZSBRVUlDSEVfSFRUUDJfQURBUFRFUl9XSU5ET1dfTUFOQUdFUl9IXwot IAotKyNpbmNsdWRlIDxzdGRkZWYuaD4KLSsKLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAKLSAj aW5jbHVkZSAiY29tbW9uL3BsYXRmb3JtL2FwaS9xdWljaGVfZXhwb3J0LmgiCi0tLSAKLTIuMzIu MAotCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtQ29t bWFuZExpbmUtaW5jbHVkZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS05Ni1Db21tYW5kTGluZS1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uMmQ3YjdlOTAyMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTk2LUNvbW1hbmRMaW5lLWluY2x1ZGUucGF0Y2gKQEAg LTAsMCArMSwyNCBAQAorRnJvbSAzOWU2ZTc3Nzk4ZDg2MDMzZTVlYjFmYjJhMmNhZjIwYTViY2Ey MjYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3Ro YTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU2F0LCA5IE9jdCAyMDIxIDA4OjI3OjA0ICswMDAw CitTdWJqZWN0OiBbUEFUQ0hdIElXWVU6IGFkZCBtZW1vcnkgZm9yIHN0ZDo6dW5pcXVlX3B0ciBp biBiYXNlOjpDb21tYW5kTGluZQorCistLS0KKyBiYXNlL2NvbW1hbmRfbGluZS5oIHwgMSArCisg MSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspCisKK2RpZmYgLS1naXQgYS9iYXNlL2NvbW1h bmRfbGluZS5oIGIvYmFzZS9jb21tYW5kX2xpbmUuaAoraW5kZXggNzA2NzI2YS4uYWQwMjgxMiAx MDA2NDQKKy0tLSBhL2Jhc2UvY29tbWFuZF9saW5lLmgKKysrKyBiL2Jhc2UvY29tbWFuZF9saW5l LmgKK0BAIC0xOSw2ICsxOSw3IEBACisgI2luY2x1ZGUgPHN0ZGRlZi5oPgorICNpbmNsdWRlIDxm dW5jdGlvbmFsPgorICNpbmNsdWRlIDxtYXA+CisrI2luY2x1ZGUgPG1lbW9yeT4KKyAjaW5jbHVk ZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCistLSAKKzIuMzIuMAorCmRpZmYgLS1n aXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtQ291cG9uREItaW5jbHVk ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1Db3Vwb25EQi1p bmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDFh Y2ZiMzFiOTZlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTk2LUNvdXBvbkRCLWluY2x1ZGUucGF0Y2gKQEAgLTAsMCArMSwyNSBAQAorRnJvbSAz YTdiOGRkMGZjY2VmZmNmZDBlYTdlMzE4NmQyODUwZGVlZDdhMDBiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgor RGF0ZTogV2VkLCA2IE9jdCAyMDIxIDE1OjM2OjQ3ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIElX WVU6IGFkZCB2ZWN0b3IgZm9yIHN0ZDo6dmVjdG9yIGluIENvdXBvbkRCCisKKy0tLQorIGNocm9t ZS9icm93c2VyL2NvbW1lcmNlL2NvdXBvbnMvY291cG9uX2RiLmggfCAyICsrCisgMSBmaWxlIGNo YW5nZWQsIDIgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2hyb21lL2Jyb3dzZXIvY29t bWVyY2UvY291cG9ucy9jb3Vwb25fZGIuaCBiL2Nocm9tZS9icm93c2VyL2NvbW1lcmNlL2NvdXBv bnMvY291cG9uX2RiLmgKK2luZGV4IGYwNzU4ZjQuLjkzZTJkZDMgMTAwNjQ0CistLS0gYS9jaHJv bWUvYnJvd3Nlci9jb21tZXJjZS9jb3Vwb25zL2NvdXBvbl9kYi5oCisrKysgYi9jaHJvbWUvYnJv d3Nlci9jb21tZXJjZS9jb3Vwb25zL2NvdXBvbl9kYi5oCitAQCAtNSw2ICs1LDggQEAKKyAjaWZu ZGVmIENIUk9NRV9CUk9XU0VSX0NPTU1FUkNFX0NPVVBPTlNfQ09VUE9OX0RCX0hfCisgI2RlZmlu ZSBDSFJPTUVfQlJPV1NFUl9DT01NRVJDRV9DT1VQT05TX0NPVVBPTl9EQl9IXworIAorKyNpbmNs dWRlIDx2ZWN0b3I+CisrCisgI2luY2x1ZGUgImJhc2UvY2FsbGJhY2tfaGVscGVycy5oIgorICNp bmNsdWRlICJiYXNlL21lbW9yeS93ZWFrX3B0ci5oIgorICNpbmNsdWRlICJ1cmwvZ3VybC5oIgor LS0gCisyLjMyLjAKKwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTk2LURybVJlbmRlck5vZGVQYXRoRmluZGVyLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTYtRHJtUmVuZGVyTm9kZVBhdGhGaW5kZXItaW5jbHVk ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmZkNDRlYjJj OTFhMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS05Ni1Ecm1SZW5kZXJOb2RlUGF0aEZpbmRlci1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMjQg QEAKK0Zyb20gOWUzNmIzYzI4OTM1ZmI1MGQ0M2NjZWY0NDNiZTc4NmE4ZTNmOGE1ZiBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVt YWlsLmNvbT4KK0RhdGU6IFNhdCwgOSBPY3QgMjAyMSAxNjoxNzozNCArMDAwMAorU3ViamVjdDog W1BBVENIXSBJV1lVOiBhZGQgc3RyaW5nLmggZm9yIG1lbWNtcCBpbiB1aTo6IERybVJlbmRlck5v ZGVQYXRoRmluZGVyCisKKy0tLQorIHVpL296b25lL3BsYXRmb3JtL3dheWxhbmQvZ3B1L2RybV9y ZW5kZXJfbm9kZV9wYXRoX2ZpbmRlci5jYyB8IDEgKworIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQorCitkaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9ncHUvZHJt X3JlbmRlcl9ub2RlX3BhdGhfZmluZGVyLmNjIGIvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9n cHUvZHJtX3JlbmRlcl9ub2RlX3BhdGhfZmluZGVyLmNjCitpbmRleCAwNjc3NmE3Li5kNWI3Yjcx IDEwMDY0NAorLS0tIGEvdWkvb3pvbmUvcGxhdGZvcm0vd2F5bGFuZC9ncHUvZHJtX3JlbmRlcl9u b2RlX3BhdGhfZmluZGVyLmNjCisrKysgYi91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2dwdS9k cm1fcmVuZGVyX25vZGVfcGF0aF9maW5kZXIuY2MKK0BAIC01LDYgKzUsNyBAQAorICNpbmNsdWRl ICJ1aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2dwdS9kcm1fcmVuZGVyX25vZGVfcGF0aF9maW5k ZXIuaCIKKyAKKyAjaW5jbHVkZSA8ZmNudGwuaD4KKysjaW5jbHVkZSA8c3RyaW5nLmg+CisgI2lu Y2x1ZGUgPHN5cy9zdGF0Lmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICNpbmNsdWRlIDx1 bmlzdGQuaD4KKy0tIAorMi4zMi4wCisKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdlci10dXBsZS5wYXRjaCBiL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdl ci10dXBsZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNi ZGNhNDRiNzM4ZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS05Ni1SZXN0cmljdGVkQ29va2llTWFuYWdlci10dXBsZS5wYXRjaApAQCAtMCwwICsx LDMxIEBACitGcm9tIDg2YjE4ODY2NzNjM2U3NWQzYTdiOGM4MDJiM2U5ZmE2ZWE5NDVhMWUgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBKb3NlIERhcGVuYSBQYXogPGpkYXBlbmFAaWdh bGlhLmNvbT4KK0RhdGU6IEZyaSwgMDggT2N0IDIwMjEgMDY6MzI6NTUgKzAwMDAKK1N1YmplY3Q6 IFtQQVRDSF0gbGlic3RkYysrOiBubyBpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gdHVwbGUgY3Jl YXRlZCB3aXRoIHN0ZDo6dGllIHRvIGFuIHN0ZDo6cGFpciBpbiByZXN0cmljdGVkIGNvb2tpZSBt YW5hZ2VyLgorCitGaXggY29tcGlsYXRpb24gZXJyb3I6CisgICAgLi4vLi4vc2VydmljZXMvbmV0 d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjOjE2NDozMDogZXJyb3I6IG5vIG1hdGNo IGZvciDigJhvcGVyYXRvcltd4oCZIChvcGVyYW5kIHR5cGVzIGFyZSDigJhuZXR3b3JrOjpDb29r aWVBY2Nlc3Nlc0J5VVJMQW5kU2l0ZeKAmSB7YWthIOKAmHN0ZDo6bWFwPHN0ZDo6cGFpcjxHVVJM LCBuZXQ6OlNpdGVGb3JDb29raWVzPiwgc3RkOjp1bmlxdWVfcHRyPHN0ZDo6c2V0PG5ldDo6Q29v a2llV2l0aEFjY2Vzc1Jlc3VsdCwgbmV0d29yazo6Q29va2llV2l0aEFjY2Vzc1Jlc3VsdENvbXBh cmVyPiA+ID7igJl9IGFuZCDigJhzdGQ6OnR1cGxlPGNvbnN0IEdVUkwmLCBjb25zdCBuZXQ6OlNp dGVGb3JDb29raWVzJj7igJkpCisKK1RoZXJlIGlzIG5vIGNvbnZlcnNpb24gZnJvbSB0dXBsZSB0 byBwYWlyLgorCitCdWc6IDk1NzUxOQorQ2hhbmdlLUlkOiBJZGYyOWM3YjIxODk1YWUyOGY0NWIz NWQ2MTkzYWI0YWM1NTU5NDVjOAorUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3 Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zMjExNzUyCitSZXZpZXdlZC1ieTog Um9iYmllIE1jRWxyYXRoIDxybWNlbHJhdGhAY2hyb21pdW0ub3JnPgorQ29tbWl0LVF1ZXVlOiBK b3PDqSBEYXBlbmEgUGF6IDxqZGFwZW5hQGlnYWxpYS5jb20+CitDci1Db21taXQtUG9zaXRpb246 IHJlZnMvaGVhZHMvbWFpbkB7IzkyOTU5N30KKy0tLQorCitkaWZmIC0tZ2l0IGEvc2VydmljZXMv bmV0d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjIGIvc2VydmljZXMvbmV0d29yay9y ZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjCitpbmRleCA0MjU0MjZmLi5jOGMxMGM2IDEwMDY0 NAorLS0tIGEvc2VydmljZXMvbmV0d29yay9yZXN0cmljdGVkX2Nvb2tpZV9tYW5hZ2VyLmNjCisr KysgYi9zZXJ2aWNlcy9uZXR3b3JrL3Jlc3RyaWN0ZWRfY29va2llX21hbmFnZXIuY2MKK0BAIC0x NjEsNyArMTYxLDcgQEAKKyAgICAgY29uc3QgR1VSTCYgdXJsLAorICAgICBjb25zdCBuZXQ6OlNp dGVGb3JDb29raWVzJiBzaXRlX2Zvcl9jb29raWVzKSB7CisgICBzdGQ6OnVuaXF1ZV9wdHI8Q29v a2llQWNjZXNzZXM+JiBlbnRyeSA9CistICAgICAgcmVjZW50X2Nvb2tpZV9hY2Nlc3Nlc19bc3Rk Ojp0aWUodXJsLCBzaXRlX2Zvcl9jb29raWVzKV07CisrICAgICAgcmVjZW50X2Nvb2tpZV9hY2Nl c3Nlc19bc3RkOjptYWtlX3BhaXIodXJsLCBzaXRlX2Zvcl9jb29raWVzKV07CisgICBpZiAoIWVu dHJ5KSB7CisgICAgIGVudHJ5ID0gc3RkOjptYWtlX3VuaXF1ZTxDb29raWVBY2Nlc3Nlcz4oKTsK KyAgIH0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjYzYjg5Mzk1Y2I4MAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jcm9zcy1idWlsZC5wYXRjaApAQCAt MCwwICsxLDY1IEBACistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24ub3JpZwor KysrIGIvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmduCitAQCAtNTgsNiArNTgsMTAgQEAK KyB9CisgCisgZGVjbGFyZV9hcmdzKCkgeworKyAgaXNfbXVzbCA9IGZhbHNlCisrfQorKworK2Rl Y2xhcmVfYXJncygpIHsKKyAgICMgTm9ybWFsbHksIEFuZHJvaWQgYnVpbGRzIGFyZSBsaWdodGx5 IG9wdGltaXplZCwgZXZlbiBmb3IgZGVidWcgYnVpbGRzLCB0bworICAgIyBrZWVwIGJpbmFyeSBz aXplIGRvd24uIFNldHRpbmcgdGhpcyBmbGFnIHRvIHRydWUgZGlzYWJsZXMgc3VjaCBvcHRpbWl6 YXRpb24KKyAgIGFuZHJvaWRfZnVsbF9kZWJ1ZyA9IGZhbHNlCitAQCAtODgwLDggKzg4NCwxMyBA QAorICAgICAgIH0KKyAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7Cisg ICAgICAgaWYgKGlzX2NsYW5nICYmICFpc19hbmRyb2lkICYmICFpc19uYWNsICYmICFpc19mdWNo c2lhKSB7CistICAgICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUi IF0KKy0gICAgICAgIGxkZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUiIF0K KysgICAgICAgIGlmIChpc19tdXNsKSB7CisrICAgICAgICAgIGNmbGFncyArPSBbICItLXRhcmdl dD1hYXJjaDY0LWxpbnV4LW11c2wiIF0KKysgICAgICAgICAgbGRmbGFncyArPSBbICItLXRhcmdl dD1hYXJjaDY0LWxpbnV4LW11c2wiIF0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgIGNm bGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSIgXQorKyAgICAgICAgICBsZGZs YWdzICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCisrICAgICAgICB9CisgICAg ICAgfQorICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiICYmICFpc19uYWNs KSB7CisgICAgICAgbGRmbGFncyArPSBbICItV2wsLS1oYXNoLXN0eWxlPXN5c3YiIF0KKy0tLSBh L2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5nbi5vcmlnCisrKysgYi9idWls ZC90b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24KK0BAIC0zOSwzICszOSwyMiBAQAor ICAgICBjdXJyZW50X29zID0gaG9zdF9vcworICAgfQorIH0KKysKKytnY2NfdG9vbGNoYWluKCJ2 OF9zbmFwc2hvdF9jcm9zcyIpIHsKKysgIGNjID0gZ2V0ZW52KCJCVUlMRF9DQyIpCisrICBjeHgg PSBnZXRlbnYoIkJVSUxEX0NYWCIpCisrICBhciA9IGdldGVudigiQlVJTERfQVIiKQorKyAgbm0g PSBnZXRlbnYoIkJVSUxEX05NIikKKysgIGxkID0gY3h4CisrCisrICBleHRyYV9jZmxhZ3MgPSBn ZXRlbnYoIkJVSUxEX0NGTEFHUyIpCisrICBleHRyYV9jcHBmbGFncyA9IGdldGVudigiQlVJTERf Q1BQRkxBR1MiKQorKyAgZXh0cmFfY3h4ZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0NYWEZMQUdTIikK KysgIGV4dHJhX2xkZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0xERkxBR1MiKQorKworKyAgdG9vbGNo YWluX2FyZ3MgPSB7CisrICAgIGN1cnJlbnRfY3B1ID0gaG9zdF9jcHUKKysgICAgY3VycmVudF9v cyA9IGhvc3Rfb3MKKysgICAgdjhfY3VycmVudF9jcHUgPSB0YXJnZXRfY3B1CisrICB9CisrfQor LS0tIGEvYnVpbGQvY29uZmlnL2xpbnV4L3BrZ19jb25maWcuZ25pLm9yaWcKKysrKyBiL2J1aWxk L2NvbmZpZy9saW51eC9wa2dfY29uZmlnLmduaQorQEAgLTkxLDcgKzkxLDcgQEAKKyAgIGFzc2Vy dChkZWZpbmVkKGludm9rZXIucGFja2FnZXMpLAorICAgICAgICAgICJWYXJpYWJsZSB8cGFja2Fn ZXN8IG11c3QgYmUgZGVmaW5lZCB0byBiZSBhIGxpc3QgaW4gcGtnX2NvbmZpZy4iKQorICAgY29u ZmlnKHRhcmdldF9uYW1lKSB7CistICAgIGlmIChob3N0X3Rvb2xjaGFpbiA9PSBjdXJyZW50X3Rv b2xjaGFpbikgeworKyAgICBpZiAoY3VycmVudF9jcHUgIT0gdGFyZ2V0X2NwdSkgeworICAgICAg IGFyZ3MgPSBob3N0X3BrZ19jb25maWdfYXJncyArIGludm9rZXIucGFja2FnZXMKKyAgICAgfSBl bHNlIHsKKyAgICAgICBhcmdzID0gcGtnX2NvbmZpZ19hcmdzICsgaW52b2tlci5wYWNrYWdlcwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgtVkEtQVBJ LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL296b25lLXgxMS1maXgtVkEtQVBJLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2MWQ3MmJmYjAxMzcuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvb3pvbmUteDExLWZpeC1WQS1BUEku cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2NzEgKzAsMCBAQAotRnJvbSBhNGRlOTg2MTAyYTQ1 ZTI5YzNlZjU5NmYyMjcwNGJkY2EyNDRjMjZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLURhdGU6IEZyaSwgMTcgU2VwIDIw MjEgMDg6NDU6NTUgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gb3pvbmUveDExOiBmaXggVkEtQVBJ LgotCi1UaGlzIHBhdGNoIGZpeGVzIFZBLUFQSSB1c2FnZSB3aXRoIE96b25lL1gxMSBiYWNrZW5k ICh3aGljaAotaXMgb3VyIGRlZmF1bHQgYmFja2VuZCBub3cgYXMgWDExIGhhcyBiZWVuIGRlcHJl Y2F0ZWQgLQotY3JyZXYuY29tL2MvMzExNDA3MSkpLgotCi1ub24tT3pvbmUgWDExIGlzIGRpc2Fi bGVkIG5vdyBhbmQgT3pvbmUgaXMgYWx3YXlzIHVzZWQKLW9uIExpbnV4LiBIb3dldmVyLCBWQS1B UEkgaW1wbGVtZW50YXRpb24gaXMgbm90IE96b25lIGZyaWVuZGx5Ci15ZXQgYW5kIHJlcXVpcmVz IG1ham9yIHJlZmFjdG9yaW5nLiBCdXQgZ2l2ZW4gdGhhdCBWQS1BUEkKLWltcGxlbWVudGF0aW9u IG9uIExpbnV4IHdvcmtlZCBvbmx5IHdpdGggWDExLCBpdCdzIGZpbmUgZm9yCi1ub3cgdG8gY2hh bmdlIFVTRV9YMTEgYW5kICFJc1VzaW5nT3pvbmVQbGF0Zm9ybSB0bwotQlVJTERGTEFHKE9aT05F X1BMQVRGT1JNX1gxMSkgYW5kIGZhaWwgVkEtQVBJIGluaXRpYWxpemF0aW9uCi1pbiBWQURpc3Bs YXlTdGF0ZTo6SW5pdGlhbGl6ZSBmb3IgT3pvbmUvTGludXggb3RoZXIgdGhhbgotbm9uLVgxMSBi YWNrZW5kcy4KLQotQnVnOiAxMTIxOTQ4Ci1DaGFuZ2UtSWQ6IElmODVkMjg5MjM1ZTZkMzU4MTAz ZDlmYTJiYmUwZjc0MWZiNTk5YTI2Ci1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZp ZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzMxNDE4NzgKLUNvbW1pdC1RdWV1 ZTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLVJldmlld2VkLWJ5OiBBbmRyZXMg Q2FsZGVyb24gSmFyYW1pbGxvIDxhbmRyZXNjakBjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTog Um9iZXJ0IEtyb2VnZXIgPHJqa3JvZWdlQGNocm9taXVtLm9yZz4KLVJldmlld2VkLWJ5OiBYaWFv aGFuIFdhbmcgPHhod2FuZ0BjaHJvbWl1bS5vcmc+Ci1SZXZpZXdlZC1ieTogQWxleGFuZGVyIER1 bmFldiA8YWR1bmFldkBpZ2FsaWEuY29tPgotQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRz L21haW5AeyM5MjI0NjZ9Ci0tLS0KLSBtZWRpYS9CVUlMRC5nbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMyAtCi0gbWVkaWEvZ3B1L0JVSUxELmduICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDUgKy0KLSBtZWRpYS9ncHUvYXJncy5nbmkgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAxMyArKystCi0gbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduICAgICAgICAgICAg ICAgICAgICAgIHwgIDggKy0KLSBtZWRpYS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIuZnJhZ21l bnQgICAgICAgfCAgNiArLQotIG1lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3Rvcnku Y2MgICAgICB8IDcyICsrKysrKysrLS0tLS0tLS0tLQotIC4uLi92YWFwaV9waWN0dXJlX25hdGl2 ZV9waXhtYXBfYW5nbGUuY2MgICAgICB8ICAyIC0KLSBtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGlj dHVyZV90ZnAuY2MgICAgICAgICAgfCAgMiAtCi0gLi4uL3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29k ZV9hY2NlbGVyYXRvci5jYyAgIHwgIDkgKy0tCi0gLi4udmFhcGlfdmlkZW9fZGVjb2RlX2FjY2Vs ZXJhdG9yX3VuaXR0ZXN0LmNjIHwgMTEgKy0tCi0gbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuY2MgICAgICAgICAgICAgIHwgNzYgKysrKysrKysrLS0tLS0tLS0tLQotIG1lZGlhL2dwdS92 YWFwaS92YWFwaV93cmFwcGVyLmggICAgICAgICAgICAgICB8ICA4ICstCi0gdWkvb3pvbmUvcGxh dGZvcm0veDExL296b25lX3BsYXRmb3JtX3gxMS5jYyAgIHwgIDMgKwotIHVpL296b25lL3B1Ymxp Yy9vem9uZV9wbGF0Zm9ybS5oICAgICAgICAgICAgICB8IDEwICsrKwotIDE0IGZpbGVzIGNoYW5n ZWQsIDEwOCBpbnNlcnRpb25zKCspLCAxMjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9t ZWRpYS9CVUlMRC5nbiBiL21lZGlhL0JVSUxELmduCi1pbmRleCBkYmVlMWQ0MzM4Li5kNWMxNThj MDhmIDEwMDY0NAotLS0tIGEvbWVkaWEvQlVJTEQuZ24KLSsrKyBiL21lZGlhL0JVSUxELmduCi1A QCAtMTMwLDkgKzEzMCw2IEBAIGNvbXBvbmVudCgibWVkaWEiKSB7Ci0gICAgIHB1YmxpY19kZXBz ICs9IFsgIi8vbWVkaWEvYmFzZS9tYWMiIF0KLSAgIH0KLSAKLS0gIGlmICh1c2VfeDExKSB7Ci0t ICAgIGRlcHMgKz0gWyAiLy91aS9iYXNlL3giIF0KLS0gIH0KLSAgIGlmICh1c2Vfb3pvbmUpIHsK LSAgICAgZGVwcyArPSBbICIvL3VpL296b25lIiBdCi0gICB9Ci1kaWZmIC0tZ2l0IGEvbWVkaWEv Z3B1L0JVSUxELmduIGIvbWVkaWEvZ3B1L0JVSUxELmduCi1pbmRleCBjNzQ5OTQ4NWFjLi4zZmVk Yzc4OTQ4IDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L0JVSUxELmduCi0rKysgYi9tZWRpYS9ncHUv QlVJTEQuZ24KLUBAIC0yMCw2ICsyMCw3IEBAIGJ1aWxkZmxhZ19oZWFkZXIoImJ1aWxkZmxhZ3Mi KSB7Ci0gICAgICJVU0VfVkFBUElfSU1BR0VfQ09ERUNTPSR1c2VfdmFhcGlfaW1hZ2VfY29kZWNz IiwKLSAgICAgIlVTRV9WNEwyX0NPREVDPSR1c2VfdjRsMl9jb2RlYyIsCi0gICAgICJVU0VfTElC VjRMMj0kdXNlX3Y0bHBsdWdpbiIsCi0rICAgICJVU0VfVkFBUElfWDExPSR1c2VfdmFhcGlfeDEx IiwKLSAgIF0KLSB9Ci0gCi1AQCAtMjE1LDkgKzIxNiw3IEBAIGNvbXBvbmVudCgiZ3B1Iikgewot ICAgICAgICJ3aW5kb3dzL3N1cHBvcnRlZF9wcm9maWxlX2hlbHBlcnMuY2MiLAotICAgICAgICJ3 aW5kb3dzL3N1cHBvcnRlZF9wcm9maWxlX2hlbHBlcnMuaCIsCi0gICAgIF0KLS0gICAgY29uZmln cyArPSBbCi0tICAgICAgIi8vdGhpcmRfcGFydHkva2hyb25vczpraHJvbm9zX2hlYWRlcnMiLAot LSAgICBdCi0rICAgIGNvbmZpZ3MgKz0gWyAiLy90aGlyZF9wYXJ0eS9raHJvbm9zOmtocm9ub3Nf aGVhZGVycyIgXQotICAgICBwdWJsaWNfZGVwcyArPSBbICIvL21lZGlhL2Jhc2Uvd2luOm1lZGlh X2ZvdW5kYXRpb25fdXRpbCIgXQotICAgICBkZXBzICs9IFsKLSAgICAgICAiLy9ncHUvaXBjL2Nv bW1vbjpjb21tb24iLAotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS9hcmdzLmduaSBiL21lZGlhL2dw dS9hcmdzLmduaQotaW5kZXggNDAwNDkzNzk0OS4uMmY1Mzg0MzkxOCAxMDA2NDQKLS0tLSBhL21l ZGlhL2dwdS9hcmdzLmduaQotKysrIGIvbWVkaWEvZ3B1L2FyZ3MuZ25pCi1AQCAtMyw3ICszLDE1 IEBACi0gIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotIGltcG9ydCgiLy9idWlsZC9j b25maWcvY2hyb21lb3MvdWlfbW9kZS5nbmkiKQotLWltcG9ydCgiLy9idWlsZC9jb25maWcvdWku Z25pIikKLStpbXBvcnQoIi8vYnVpbGQvY29uZmlnL296b25lLmduaSIpCi0rCi0rZGVjbGFyZV9h cmdzKCkgewotKyAgIyBJbmRpY2F0ZXMgaWYgWDExIFZBLUFQSS1iYXNlZCBoYXJkd2FyZSBhY2Nl bGVyYXRpb24gaXMgdG8gYmUgdXNlZC4KLSsgICMgU2VlIGFsc28gdGhlIGNvbW1lbnQgbmVhciB0 aGUgfHVzZV92YWFwaXwgYXJnLgotKyAgdXNlX3ZhYXBpX3gxMSA9Ci0rICAgICAgaXNfbGludXgg JiYgb3pvbmVfcGxhdGZvcm1feDExICYmICFpc19jaHJvbWVjYXN0ICYmICFpc19jaHJvbWVvc19s YWNyb3MgJiYKLSsgICAgICAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1ID09ICJ4 NjQiKQotK30KLSAKLSBkZWNsYXJlX2FyZ3MoKSB7Ci0gICAjIEluZGljYXRlcyBpZiBWNEwgcGx1 Z2luIGlzIHVzZWQuCi1AQCAtMjEsOCArMjksNyBAQCBkZWNsYXJlX2FyZ3MoKSB7Ci0gICAjIGlz IHR5cGljYWxseSB0aGUgY2FzZSBvbiB4ODYtYmFzZWQgQ2hyb21lT1MgZGV2aWNlcy4KLSAgICMg VkEtQVBJIHNob3VsZCBhbHNvIGJlIGNvbXBpbGVkIGJ5IGRlZmF1bHQgb24geDExLXVzaW5nIGxp bnV4IGRldmljZXMKLSAgICMgdXNpbmcgeDg2L3g2NC4KLS0gIHVzZV92YWFwaSA9Ci0tICAgICAg aXNfbGludXggJiYgdXNlX3gxMSAmJiAodGFyZ2V0X2NwdSA9PSAieDg2IiB8fCB0YXJnZXRfY3B1 ID09ICJ4NjQiKQotKyAgdXNlX3ZhYXBpID0gdXNlX3ZhYXBpX3gxMQotIAotICAgIyBJbmRpY2F0 ZXMgaWYgQ2hyb21lT1MgcHJvdGVjdGVkIG1lZGlhIHN1cHBvcnQgZXhpc3RzLiBUaGlzIGlzIHVz ZWQKLSAgICMgdG8gZW5hYmxlIHRoZSBDRE0gZGFlbW9uIGluIENocm9tZSBPUyBhcyB3ZWxsIGFz IHN1cHBvcnQgZm9yCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduIGIvbWVk aWEvZ3B1L3ZhYXBpL0JVSUxELmduCi1pbmRleCBiMTFkMmM2MGZhLi4wYzI1MjBkZDZiIDEwMDY0 NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCi0rKysgYi9tZWRpYS9ncHUvdmFhcGkv QlVJTEQuZ24KLUBAIC0xNyw3ICsxNyw3IEBAIGFzc2VydCh1c2VfdmFhcGkpCi0gZ2VuZXJhdGVf c3R1YnMoImxpYnZhX3N0dWJzIikgewotICAgZXh0cmFfaGVhZGVyID0gInZhX3N0dWJfaGVhZGVy LmZyYWdtZW50IgotICAgc2lncyA9IFsgInZhLnNpZ3MiIF0KLS0gIGlmICh1c2VfeDExKSB7Ci0r ICBpZiAodXNlX3ZhYXBpX3gxMSkgewotICAgICBzaWdzICs9IFsgInZhX3gxMS5zaWdzIiBdCi0g ICB9Ci0gICBpZiAoaXNfY2hyb21lb3NfYXNoKSB7Ci1AQCAtMTMxLDE0ICsxMzEsMTQgQEAgc291 cmNlX3NldCgidmFhcGkiKSB7Ci0gICAgIF0KLSAgIH0KLSAKLS0gIGlmICh1c2VfeDExIHx8IHVz ZV9vem9uZSB8fCB1c2VfZWdsKSB7Ci0rICBpZiAodXNlX296b25lIHx8IHVzZV9lZ2wpIHsKLSAg ICAgc291cmNlcyArPSBbCi0gICAgICAgInZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcC5jYyIs Ci0gICAgICAgInZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcC5oIiwKLSAgICAgXQotICAgfQot IAotLSAgaWYgKHVzZV94MTEpIHsKLSsgIGlmICh1c2VfdmFhcGlfeDExKSB7Ci0gICAgIGRlcHMg Kz0gWyAiLy91aS9nZngveCIgXQotICAgICBzb3VyY2VzICs9IFsKLSAgICAgICAidmFhcGlfcGlj dHVyZV9uYXRpdmVfcGl4bWFwX2FuZ2xlLmNjIiwKLUBAIC0xOTcsNyArMTk3LDcgQEAgc291cmNl X3NldCgiY29tbW9uIikgewotICAgICBkZXBzICs9IFsgIi8vdWkvb3pvbmUiIF0KLSAgIH0KLSAK LS0gIGlmICh1c2VfeDExKSB7Ci0rICBpZiAodXNlX3ZhYXBpX3gxMSkgewotICAgICBkZXBzICs9 IFsgIi8vdWkvZ2Z4L3giIF0KLSAgIH0KLSAKLWRpZmYgLS1naXQgYS9tZWRpYS9ncHUvdmFhcGkv dmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQgYi9tZWRpYS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIu ZnJhZ21lbnQKLWluZGV4IGJlZDE5ODQ4NGQuLmU4YzQ2YzVlODEgMTAwNjQ0Ci0tLS0gYS9tZWRp YS9ncHUvdmFhcGkvdmFfc3R1Yl9oZWFkZXIuZnJhZ21lbnQKLSsrKyBiL21lZGlhL2dwdS92YWFw aS92YV9zdHViX2hlYWRlci5mcmFnbWVudAotQEAgLTEsMTIgKzEsMTQgQEAKLSAvLyBUaGUgZXh0 cmEgaW5jbHVkZSBoZWFkZXIgbmVlZGVkIGluIHRoZSBnZW5lcmF0ZWQgc3R1YiBmaWxlIGZvciBk ZWZpbmluZwotIC8vIHZhcmlvdXMgbGlidmEgdHlwZXMuCi0gCi0rI2luY2x1ZGUgIm1lZGlhL2dw dS9idWlsZGZsYWdzLmgiCi0rCi0gZXh0ZXJuICJDIiB7Ci0gCi0gI2luY2x1ZGUgPHZhL3ZhX2Ry bS5oPgotICNpbmNsdWRlIDx2YS92YS5oPgotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotICNpbmNsdWRlIDx2YS92YV94MTEuaD4KLS0jZW5kaWYK LSsjZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotIAotIH0KLWRpZmYgLS1naXQg YS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9mYWN0b3J5LmNjIGIvbWVkaWEvZ3B1L3Zh YXBpL3ZhYXBpX3BpY3R1cmVfZmFjdG9yeS5jYwotaW5kZXggNzE5MDM1Yjg3Yy4uOWM3ZDczODdk MiAxMDA2NDQKLS0tLSBhL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MK LSsrKyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX2ZhY3RvcnkuY2MKLUBAIC0xMCwx MyArMTAsMTMgQEAKLSAjaW5jbHVkZSAidWkvYmFzZS91aV9iYXNlX2ZlYXR1cmVzLmgiCi0gI2lu Y2x1ZGUgInVpL2dsL2dsX2JpbmRpbmdzLmgiCi0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLS0j aW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmds ZS5oIgotLSNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuaCIKLS0j ZW5kaWYKLSAjaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0gI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFw aS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBfb3pvbmUuaCIKLS0jZW5kaWYKLSsjZW5kaWYg IC8vIGRlZmluZWQoVVNFX09aT05FKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSsj aW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfbmF0aXZlX3BpeG1hcF9hbmds ZS5oIgotKyNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuaCIKLSsj ZW5kaWYgIC8vIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotICNpZiBkZWZpbmVkKFVTRV9FR0wp Ci0gI2luY2x1ZGUgIm1lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0dXJlX25hdGl2ZV9waXhtYXBf ZWdsLmgiCi0gI2VuZGlmCi1AQCAtNDYsMTUgKzQ2LDEzIEBAIFZhYXBpUGljdHVyZUZhY3Rvcnk6 OlZhYXBpUGljdHVyZUZhY3RvcnkoKSB7Ci0gICB2YWFwaV9pbXBsX3BhaXJzXy5pbnNlcnQoCi0g ICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRUdMR0xFUzIsCi0gICAg ICAgICAgICAgICAgICAgICAgVmFhcGlQaWN0dXJlRmFjdG9yeTo6a1ZhYXBpSW1wbGVtZW50YXRp b25Ecm0pKTsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJ X1gxMSkKLSAgIHZhYXBpX2ltcGxfcGFpcnNfLmluc2VydCgKLSAgICAgICBzdGQ6Om1ha2VfcGFp cihnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xBTkdMRSwKLSAgICAgICAgICAgICAgICAgICAgICBW YWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBsZW1lbnRhdGlvbkFuZ2xlKSk7Ci0tICBpZiAo IWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKSB7Ci0tICAgIHZhYXBpX2ltcGxfcGFp cnNfLmluc2VydCgKLS0gICAgICAgIHN0ZDo6bWFrZV9wYWlyKGdsOjprR0xJbXBsZW1lbnRhdGlv bkRlc2t0b3BHTCwKLS0gICAgICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6 OmtWYWFwaUltcGxlbWVudGF0aW9uWDExKSk7Ci0tICB9Ci0rICB2YWFwaV9pbXBsX3BhaXJzXy5p bnNlcnQoCi0rICAgICAgc3RkOjptYWtlX3BhaXIoZ2w6OmtHTEltcGxlbWVudGF0aW9uRGVza3Rv cEdMLAotKyAgICAgICAgICAgICAgICAgICAgIFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtWYWFwaUlt cGxlbWVudGF0aW9uWDExKSk7Ci0gI2VuZGlmCi0gCi0gICBEZXRlcm1pbmVQaWN0dXJlQ3JlYXRp b25BbmREb3dubG9hZGluZ01lY2hhbmlzbSgpOwotQEAgLTk2LDE5ICs5NCwxOSBAQCBWYWFwaVBp Y3R1cmVGYWN0b3J5OjpHZXRWYWFwaUltcGxlbWVudGF0aW9uKGdsOjpHTEltcGxlbWVudGF0aW9u IGdsX2ltcGwpIHsKLSB9Ci0gCi0gdWludDMyX3QgVmFhcGlQaWN0dXJlRmFjdG9yeTo6R2V0R0xU ZXh0dXJlVGFyZ2V0KCkgewotLSNpZiBkZWZpbmVkKFVTRV9PWk9ORSkKLS0gIGlmIChmZWF0dXJl czo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAgcmV0dXJuIEdMX1RFWFRVUkVfRVhURVJO QUxfT0VTOwotLSNlbmRpZgotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAgIHJldHVy biBHTF9URVhUVVJFXzJEOwotKyNlbHNlCi0rICByZXR1cm4gR0xfVEVYVFVSRV9FWFRFUk5BTF9P RVM7Ci0rI2VuZGlmCi0gfQotIAotIGdmeDo6QnVmZmVyRm9ybWF0IFZhYXBpUGljdHVyZUZhY3Rv cnk6OkdldEJ1ZmZlckZvcm1hdCgpIHsKLS0jaWYgZGVmaW5lZChVU0VfT1pPTkUpCi0tICBpZiAo ZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3JtKCkpCi0tICAgIHJldHVybiBnZng6OkJ1ZmZl ckZvcm1hdDo6WVVWXzQyMF9CSVBMQU5BUjsKLS0jZW5kaWYKLSsjaWYgQlVJTERGTEFHKFVTRV9W QUFQSV9YMTEpCi0gICByZXR1cm4gZ2Z4OjpCdWZmZXJGb3JtYXQ6OlJHQlhfODg4ODsKLSsjZWxz ZQotKyAgcmV0dXJuIGdmeDo6QnVmZmVyRm9ybWF0OjpZVVZfNDIwX0JJUExBTkFSOwotKyNlbmRp ZgotIH0KLSAKLSB2b2lkIFZhYXBpUGljdHVyZUZhY3Rvcnk6OkRldGVybWluZVBpY3R1cmVDcmVh dGlvbkFuZERvd25sb2FkaW5nTWVjaGFuaXNtKCkgewotQEAgLTExNiw1MSArMTE0LDQzIEBAIHZv aWQgVmFhcGlQaWN0dXJlRmFjdG9yeTo6RGV0ZXJtaW5lUGljdHVyZUNyZWF0aW9uQW5kRG93bmxv YWRpbmdNZWNoYW5pc20oKSB7Ci0gI2lmIGRlZmluZWQoVVNFX09aT05FKQotICAgICAvLyBXZSBj YW4gYmUgY2FsbGVkIHdpdGhvdXQgR0wgaW5pdGlhbGl6ZWQsIHdoaWNoIGlzIHZhbGlkIGlmIHdl IHVzZSBPem9uZS4KLSAgICAgY2FzZSBrVmFhcGlJbXBsZW1lbnRhdGlvbk5vbmU6Ci0tICAgICAg aWYgKGZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKSB7Ci0tICAgICAgICBjcmVhdGVf cGljdHVyZV9jYl8gPSBiYXNlOjpCaW5kUmVwZWF0aW5nKAotLSAgICAgICAgICAgICZDcmVhdGVW YWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcE96b25lPik7Ci0t ICAgICAgICBuZWVkc192cHBfZm9yX2Rvd25sb2FkaW5nXyA9IHRydWU7Ci0tICAgICAgfQotLQot LSAgICAgIC8vIFRoaXMgaXMgcmVhY2hlZCBieSB1bml0IHRlc3RzIHdoaWNoIGRvbid0IHJlcXVp cmUgY3JlYXRlX3BpY3R1cmVfY2JfCi0tICAgICAgLy8gdG8gYmUgaW5pdGlhbGl6ZWQgb3IgY2Fs bGVkLgotKyAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBlYXRpbmcoCi0r ICAgICAgICAgICZDcmVhdGVWYWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGljdHVyZU5hdGl2 ZVBpeG1hcE96b25lPik7Ci0rICAgICAgbmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSB0cnVl OwotICAgICAgIGJyZWFrOwotICNlbmRpZiAgLy8gZGVmaW5lZChVU0VfT1pPTkUpCi0tI2lmIGRl ZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gICAgIGNhc2Ug a1ZhYXBpSW1wbGVtZW50YXRpb25YMTE6Ci0tICAgICAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2lu Z096b25lUGxhdGZvcm0oKSk7Ci0gICAgICAgY3JlYXRlX3BpY3R1cmVfY2JfID0KLSAgICAgICAg ICAgYmFzZTo6QmluZFJlcGVhdGluZygmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxWYWFw aVRGUFBpY3R1cmU+KTsKLSAgICAgICAvLyBOZWl0aGVyIFZhYXBpVEZQUGljdHVyZSBvciBWYWFw aVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZSBuZWVkcyB0aGUgVlBQLgotICAgICAgIG5lZWRzX3Zw cF9mb3JfZG93bmxvYWRpbmdfID0gZmFsc2U7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2Uga1Zh YXBpSW1wbGVtZW50YXRpb25BbmdsZToKLS0gICAgICBEQ0hFQ0soIWZlYXR1cmVzOjpJc1VzaW5n T3pvbmVQbGF0Zm9ybSgpKTsKLSAgICAgICBjcmVhdGVfcGljdHVyZV9jYl8gPSBiYXNlOjpCaW5k UmVwZWF0aW5nKAotICAgICAgICAgICAmQ3JlYXRlVmFhcGlQaWN0dXJlTmF0aXZlSW1wbDxWYWFw aVBpY3R1cmVOYXRpdmVQaXhtYXBBbmdsZT4pOwotICAgICAgIC8vIE5laXRoZXIgVmFhcGlURlBQ aWN0dXJlIG9yIFZhYXBpUGljdHVyZU5hdGl2ZVBpeG1hcEFuZ2xlIG5lZWRzIHRoZSBWUFAuCi0g ICAgICAgbmVlZHNfdnBwX2Zvcl9kb3dubG9hZGluZ18gPSBmYWxzZTsKLSAgICAgICBicmVhazsK LS0jZW5kaWYgIC8vIGRlZmluZWQoVVNFX1gxMSkKLSsjZW5kaWYgIC8vIEJVSUxERkxBRyhVU0Vf VkFBUElfWDExKQotICAgICBjYXNlIGtWYWFwaUltcGxlbWVudGF0aW9uRHJtOgotICNpZiBkZWZp bmVkKFVTRV9PWk9ORSkKLS0gICAgICBpZiAoZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3Jt KCkpIHsKLS0gICAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBlYXRpbmco Ci0tICAgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVyZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJl TmF0aXZlUGl4bWFwT3pvbmU+KTsKLS0gICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdf ID0gdHJ1ZTsKLS0gICAgICAgIGJyZWFrOwotLSAgICAgIH0KLS0jZW5kaWYgIC8vIGRlZmluZWQo VVNFX09aT05FKQotLSNpZiBkZWZpbmVkKFVTRV9FR0wpCi0rICAgICAgY3JlYXRlX3BpY3R1cmVf Y2JfID0gYmFzZTo6QmluZFJlcGVhdGluZygKLSsgICAgICAgICAgJkNyZWF0ZVZhYXBpUGljdHVy ZU5hdGl2ZUltcGw8VmFhcGlQaWN0dXJlTmF0aXZlUGl4bWFwT3pvbmU+KTsKLSsgICAgICBuZWVk c192cHBfZm9yX2Rvd25sb2FkaW5nXyA9IHRydWU7Ci0rICAgICAgYnJlYWs7Ci0rI2VsaWYgZGVm aW5lZChVU0VfRUdMKQotICAgICAgIGNyZWF0ZV9waWN0dXJlX2NiXyA9IGJhc2U6OkJpbmRSZXBl YXRpbmcoCi0gICAgICAgICAgICZDcmVhdGVWYWFwaVBpY3R1cmVOYXRpdmVJbXBsPFZhYXBpUGlj dHVyZU5hdGl2ZVBpeG1hcEVnbD4pOwotICAgICAgIG5lZWRzX3ZwcF9mb3JfZG93bmxvYWRpbmdf ID0gdHJ1ZTsKLSAgICAgICBicmVhazsKLS0jZW5kaWYgIC8vIGRlZmluZWQoVVNFX0VHTCkKLSsj ZWxzZQotICAgICAgIC8vIG96b25lIG9yIGVnbCBtdXN0IGJlIHVzZWQgdG8gdXNlIHRoZSBEUk0g aW1wbGVtZW50YXRpb24uCi0tICAgICAgTk9UUkVBQ0hFRCgpOwotKyAgICAgIEZBTExUSFJPVUdI OwotKyNlbmRpZgotICAgICBkZWZhdWx0OgotICAgICAgIE5PVFJFQUNIRUQoKTsKLSsgICAgICBi cmVhazsKLSAgIH0KLSB9Ci0gCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3Bp Y3R1cmVfbmF0aXZlX3BpeG1hcF9hbmdsZS5jYyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV9waWN0 dXJlX25hdGl2ZV9waXhtYXBfYW5nbGUuY2MKLWluZGV4IDlkZTBjOTNiNDQuLmU1Yjk5MDg0OTAg MTAwNjQ0Ci0tLS0gYS9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4bWFw X2FuZ2xlLmNjCi0rKysgYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV9uYXRpdmVfcGl4 bWFwX2FuZ2xlLmNjCi1AQCAtNiw3ICs2LDYgQEAKLSAKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3Zh YXBpL3ZhX3N1cmZhY2UuaCIKLSAjaW5jbHVkZSAibWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBw ZXIuaCIKLS0jaW5jbHVkZSAidWkvYmFzZS91aV9iYXNlX2ZlYXR1cmVzLmgiCi0gI2luY2x1ZGUg InVpL2dmeC94L2Nvbm5lY3Rpb24uaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L3gvZnV0dXJlLmgiCi0g I2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIgotQEAgLTkyLDcgKzkxLDYgQEAgU3RhdHVzIFZh YXBpUGljdHVyZU5hdGl2ZVBpeG1hcEFuZ2xlOjpBbGxvY2F0ZShnZng6OkJ1ZmZlckZvcm1hdCBm b3JtYXQpIHsKLSAgIGlmICghbWFrZV9jb250ZXh0X2N1cnJlbnRfY2JfIHx8ICFtYWtlX2NvbnRl eHRfY3VycmVudF9jYl8uUnVuKCkpCi0gICAgIHJldHVybiBTdGF0dXNDb2RlOjprVmFhcGlCYWRD b250ZXh0OwotIAotLSAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSk7 Ci0gICBhdXRvIGltYWdlID0KLSAgICAgICBiYXNlOjpNYWtlUmVmQ291bnRlZDxnbDo6R0xJbWFn ZUVHTFBpeG1hcD4odmlzaWJsZV9zaXplXywgZm9ybWF0KTsKLSAgIGlmICghaW1hZ2UpCi1kaWZm IC0tZ2l0IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjIGIvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjCi1pbmRleCAzZjdlMjIxZDhhLi4xMTkxNGUzNjQw IDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3BpY3R1cmVfdGZwLmNjCi0rKysg Yi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfcGljdHVyZV90ZnAuY2MKLUBAIC02LDcgKzYsNiBAQAot IAotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFfc3VyZmFjZS5oIgotICNpbmNsdWRlICJt ZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBlci5oIgotLSNpbmNsdWRlICJ1aS9iYXNlL3VpX2Jh c2VfZmVhdHVyZXMuaCIKLSAjaW5jbHVkZSAidWkvZ2Z4L3gvY29ubmVjdGlvbi5oIgotICNpbmNs dWRlICJ1aS9nZngveC9mdXR1cmUuaCIKLSAjaW5jbHVkZSAidWkvZ2wvZ2xfYmluZGluZ3MuaCIK LUBAIC0zNyw3ICszNiw2IEBAIFZhYXBpVEZQUGljdHVyZTo6VmFhcGlURlBQaWN0dXJlKAotICAg ICAgIGNvbm5lY3Rpb25fKHgxMTo6Q29ubmVjdGlvbjo6R2V0KCkpLAotICAgICAgIHhfcGl4bWFw Xyh4MTE6OlBpeG1hcDo6Tm9uZSkgewotICAgRENIRUNLX0NBTExFRF9PTl9WQUxJRF9TRVFVRU5D RShzZXF1ZW5jZV9jaGVja2VyXyk7Ci0tICBEQ0hFQ0soIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKTsKLSAgIERDSEVDSyh0ZXh0dXJlX2lkKTsKLSAgIERDSEVDSyhjbGllbnRfdGV4 dHVyZV9pZCk7Ci0gfQotZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19k ZWNvZGVfYWNjZWxlcmF0b3IuY2MgYi9tZWRpYS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZGVjb2Rl X2FjY2VsZXJhdG9yLmNjCi1pbmRleCA3NTE0ZmU0ZmRkLi5lNGNkN2M4ZDg5IDEwMDY0NAotLS0t IGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwotKysr IGIvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvci5jYwotQEAg LTE4NCwxMiArMTg0LDYgQEAgYm9vbCBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkluaXRp YWxpemUoY29uc3QgQ29uZmlnJiBjb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ2xpZW50KiBjbGllbnQpIHsKLSAgIERDSEVDSyh0YXNrX3J1bm5l cl8tPkJlbG9uZ3NUb0N1cnJlbnRUaHJlYWQoKSk7Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkK LS0gIC8vIFRPRE8oY3JidWcvMTExNjcwMSk6IGltcGxlbWVudCBkZWNvZGUgYWNjZWxlcmF0aW9u IHdoZW4gcnVubmluZyB3aXRoIE96b25lLgotLSAgaWYgKGZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKQotLSAgICByZXR1cm4gZmFsc2U7Ci0tI2VuZGlmCi0tCi0gICB2YWFwaV9waWN0 dXJlX2ZhY3RvcnlfID0gc3RkOjptYWtlX3VuaXF1ZTxWYWFwaVBpY3R1cmVGYWN0b3J5PigpOwot IAotICAgaWYgKGNvbmZpZy5pc19lbmNyeXB0ZWQoKSkgewotQEAgLTEyMTMsMTIgKzEyMDcsMTEg QEAgVmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpHZXRTdXBwb3J0ZWRQcm9maWxlcygpIHsK LSAKLSBWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3I6OkJ1ZmZlckFsbG9jYXRpb25Nb2RlCi0g VmFhcGlWaWRlb0RlY29kZUFjY2VsZXJhdG9yOjpEZWNpZGVCdWZmZXJBbGxvY2F0aW9uTW9kZSgp IHsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkK LSAgIC8vIFRoZSBJTVBPUlQgbW9kZSBpcyB1c2VkIGZvciBBbmRyb2lkIG9uIENocm9tZSBPUywg c28gdGhpcyBkb2Vzbid0IGFwcGx5Ci0gICAvLyBoZXJlLgotICAgRENIRUNLX05FKG91dHB1dF9t b2RlXywgVmlkZW9EZWNvZGVBY2NlbGVyYXRvcjo6Q29uZmlnOjpPdXRwdXRNb2RlOjpJTVBPUlQp OwotICAgLy8gVE9ETyhjcmJ1Zy8xMTE2NzAxKTogZ2V0IHZpZGVvIGRlY29kZSBhY2NlbGVyYXRp b24gd29ya2luZyB3aXRoIG96b25lLgotLSAgRENIRUNLKCFmZWF0dXJlczo6SXNVc2luZ096b25l UGxhdGZvcm0oKSk7Ci0gICAvLyBGb3IgSC4yNjQgb24gb2xkZXIgZGV2aWNlcywgYW5vdGhlciAr MSBpcyBleHBlcmltZW50YWxseSBuZWVkZWQgZm9yCi0gICAvLyBoaWdoLXRvLWhpZ2ggcmVzb2x1 dGlvbiBjaGFuZ2VzLgotICAgLy8gVE9ETyhtY2FzYXMpOiBGaWd1cmUgb3V0IHdoeSBhbmQgd2h5 IG9ubHkgSDI2NCwgc2VlIGNyYnVnLmNvbS85MTIyOTUgYW5kCi1kaWZmIC0tZ2l0IGEvbWVkaWEv Z3B1L3ZhYXBpL3ZhYXBpX3ZpZGVvX2RlY29kZV9hY2NlbGVyYXRvcl91bml0dGVzdC5jYyBiL21l ZGlhL2dwdS92YWFwaS92YWFwaV92aWRlb19kZWNvZGVfYWNjZWxlcmF0b3JfdW5pdHRlc3QuY2MK LWluZGV4IDViOWE1NDMzODYuLjgyNmJiMTAzYjEgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9ncHUvdmFh cGkvdmFhcGlfdmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjCi0rKysgYi9tZWRp YS9ncHUvdmFhcGkvdmFhcGlfdmlkZW9fZGVjb2RlX2FjY2VsZXJhdG9yX3VuaXR0ZXN0LmNjCi1A QCAtMTcsNyArMTcsNiBAQAotICNpbmNsdWRlICJtZWRpYS9ncHUvdmFhcGkvdmFhcGlfd3JhcHBl ci5oIgotICNpbmNsdWRlICJ0ZXN0aW5nL2dtb2NrL2luY2x1ZGUvZ21vY2svZ21vY2suaCIKLSAj aW5jbHVkZSAidGVzdGluZy9ndGVzdC9pbmNsdWRlL2d0ZXN0L2d0ZXN0LmgiCi0tI2luY2x1ZGUg InVpL2Jhc2UvdWlfYmFzZV9mZWF0dXJlcy5oIgotIAotIHVzaW5nIGJhc2U6OnRlc3Q6OlJ1bkNs b3N1cmU7Ci0gdXNpbmcgOjp0ZXN0aW5nOjpfOwotQEAgLTQxNiwxMiArNDE1LDEwIEBAIFRFU1Rf UChWYWFwaVZpZGVvRGVjb2RlQWNjZWxlcmF0b3JUZXN0LCBTdXBwb3J0ZWRQbGF0Zm9ybXMpIHsK LSAgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8tPkdldFZhYXBpSW1wbGVt ZW50YXRpb24oCi0gICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEdMRVMy KSk7Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLS0gIGlmICghZmVhdHVyZXM6OklzVXNpbmdP em9uZVBsYXRmb3JtKCkpIHsKLS0gICAgRVhQRUNUX0VRKFZhYXBpUGljdHVyZUZhY3Rvcnk6OmtW YWFwaUltcGxlbWVudGF0aW9uWDExLAotLSAgICAgICAgICAgICAgbW9ja192YWFwaV9waWN0dXJl X2ZhY3RvcnlfLT5HZXRWYWFwaUltcGxlbWVudGF0aW9uKAotLSAgICAgICAgICAgICAgICAgIGds OjprR0xJbXBsZW1lbnRhdGlvbkRlc2t0b3BHTCkpOwotLSAgfQotKyNpZiBCVUlMREZMQUcoVVNF X1ZBQVBJX1gxMSkKLSsgIEVYUEVDVF9FUShWYWFwaVBpY3R1cmVGYWN0b3J5OjprVmFhcGlJbXBs ZW1lbnRhdGlvblgxMSwKLSsgICAgICAgICAgICBtb2NrX3ZhYXBpX3BpY3R1cmVfZmFjdG9yeV8t PkdldFZhYXBpSW1wbGVtZW50YXRpb24oCi0rICAgICAgICAgICAgICAgIGdsOjprR0xJbXBsZW1l bnRhdGlvbkRlc2t0b3BHTCkpOwotICNlbmRpZgotIH0KLSAKLWRpZmYgLS1naXQgYS9tZWRpYS9n cHUvdmFhcGkvdmFhcGlfd3JhcHBlci5jYyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVy LmNjCi1pbmRleCA3NTRkMjU4ODQ4Li5lNTI4YjBmODRkIDEwMDY0NAotLS0tIGEvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuY2MKLSsrKyBiL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFw cGVyLmNjCi1AQCAtNjUsNyArNjUsNyBAQAotICNpbmNsdWRlICJ1aS9nbC9nbF9iaW5kaW5ncy5o IgotICNpbmNsdWRlICJ1aS9nbC9nbF9pbXBsZW1lbnRhdGlvbi5oIgotIAotLSNpZiBkZWZpbmVk KFVTRV9YMTEpCi0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotIHR5cGVkZWYgWElEIERy YXdhYmxlOwotIAotIGV4dGVybiAiQyIgewotQEAgLTczLDcgKzczLDcgQEAgZXh0ZXJuICJDIiB7 Ci0gfQotIAotICNpbmNsdWRlICJ1aS9nZngveC9jb25uZWN0aW9uLmgiICAvLyBub2duY2hlY2sK LS0jZW5kaWYKLSsjZW5kaWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQlVJTERGTEFH KFVTRV9WQUFQSV9YMTEpCi0gCi0gI2lmIGRlZmluZWQoVVNFX09aT05FKQotICNpbmNsdWRlICJ1 aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaCIKLUBAIC04NywxNCArODcsMTQgQEAgdXNp bmcgbWVkaWFfZ3B1X3ZhYXBpOjprTW9kdWxlVmFfcHJvdDsKLSAKLSB1c2luZyBtZWRpYV9ncHVf dmFhcGk6OmtNb2R1bGVWYTsKLSB1c2luZyBtZWRpYV9ncHVfdmFhcGk6OmtNb2R1bGVWYV9kcm07 Ci0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0g dXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjprTW9kdWxlVmFfeDExOwotLSNlbmRpZgotKyNlbmRpZiAg Ly8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJbml0 aWFsaXplU3R1YnM7Ci0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhSW5pdGlhbGl6ZWQ7Ci0t I2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNp bmcgbWVkaWFfZ3B1X3ZhYXBpOjpJc1ZhX3gxMUluaXRpYWxpemVkOwotLSNlbmRpZgotKyNlbmRp ZiAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gdXNpbmcgbWVkaWFfZ3B1X3ZhYXBpOjpJ c1ZhX2RybUluaXRpYWxpemVkOwotIHVzaW5nIG1lZGlhX2dwdV92YWFwaTo6U3R1YlBhdGhNYXA7 Ci0gCi1AQCAtNTU5LDEwICs1NTksMjAgQEAgVkFEaXNwbGF5U3RhdGU6OlZBRGlzcGxheVN0YXRl KCkKLSBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplKCkgewotICAgYmFzZTo6QXV0b0xv Y2sgYXV0b19sb2NrKHZhX2xvY2tfKTsKLSAKLSsjaWYgZGVmaW5lZChVU0VfT1pPTkUpICYmIGRl ZmluZWQoT1NfTElOVVgpCi0rICAvLyBUT0RPKGNyYnVnLmNvbS8xMTE2NzAxKTogYWRkIHZhYXBp IHN1cHBvcnQgZm9yIG90aGVyIE96b25lIHBsYXRmb3JtcyBvbgotKyAgLy8gTGludXguIFNlZSBj b21tZW50IGluIE96b25lUGxhdGZvcm06OlBsYXRmb3JtUHJvcGVydGllczo6c3VwcG9ydHNfdmFh cGkKLSsgIC8vIGZvciBtb3JlIGRldGFpbHMuIFRoaXMgd2lsbCBhbHNvIHJlcXVpcmUgcmV2aXNp dGluZyBldmVyeXRoaW5nIHRoYXQncwotKyAgLy8gZ3VhcmRlZCBieSBVU0VfVkFBUElfWDExLiBG b3IgZXhhbXBsZSwgaWYgVVNFX1ZBQVBJX1gxMSBpcyB0cnVlLCBidXQgdGhlCi0rICAvLyB1c2Vy IGNob29zZXMgdGhlIFdheWxhbmQgYmFja2VuZCBmb3IgT3pvbmUgYXQgcnVudGltZSwgdGhlbiBt YW55IHRoaW5ncyAoaWYKLSsgIC8vIG5vdCBhbGwpIHRoYXQgd2UgZG8gZm9yIFgxMSB3b24ndCBh cHBseS4KLSsgIGlmICghdWk6Ok96b25lUGxhdGZvcm06OkdldEluc3RhbmNlKCktPkdldFBsYXRm b3JtUHJvcGVydGllcygpLnN1cHBvcnRzX3ZhYXBpKQotKyAgICByZXR1cm4gZmFsc2U7Ci0rI2Vu ZGlmCi0rCi0gICBib29sIGxpYnJhcmllc19pbml0aWFsaXplZCA9IElzVmFJbml0aWFsaXplZCgp ICYmIElzVmFfZHJtSW5pdGlhbGl6ZWQoKTsKLS0jaWYgZGVmaW5lZChVU0VfWDExKQotLSAgaWYg KCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAgbGlicmFyaWVzX2luaXRp YWxpemVkID0gbGlicmFyaWVzX2luaXRpYWxpemVkICYmIElzVmFfeDExSW5pdGlhbGl6ZWQoKTsK LSsjaWYgQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0rICBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQg PSBsaWJyYXJpZXNfaW5pdGlhbGl6ZWQgJiYgSXNWYV94MTFJbml0aWFsaXplZCgpOwotICNlbmRp ZgotICAgaWYgKCFsaWJyYXJpZXNfaW5pdGlhbGl6ZWQpCi0gICAgIHJldHVybiBmYWxzZTsKLUBA IC01NzcsMzQgKzU4NywyNSBAQCBib29sIFZBRGlzcGxheVN0YXRlOjpJbml0aWFsaXplKCkgewot ICAgcmV0dXJuIHN1Y2Nlc3M7Ci0gfQotIAotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotIAotIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gR2V0 VkFEaXNwbGF5U3RhdGVYMTEoY29uc3QgYmFzZTo6U2NvcGVkRkQmIGRybV9mZCkgewotLSAgYm9v bCB1c2VfZHJtX2FzX2ZhbGxiYWNrID0gZmFsc2U7Ci0gICBzd2l0Y2ggKGdsOjpHZXRHTEltcGxl bWVudGF0aW9uKCkpIHsKLSAgICAgY2FzZSBnbDo6a0dMSW1wbGVtZW50YXRpb25FR0xHTEVTMjoK LSAgICAgICByZXR1cm4gdmFHZXREaXNwbGF5RFJNKGRybV9mZC5nZXQoKSk7Ci0gCi0gICAgIGNh c2UgZ2w6OmtHTEltcGxlbWVudGF0aW9uTm9uZToKLS0gICAgICB1c2VfZHJtX2FzX2ZhbGxiYWNr ID0gdHJ1ZTsKLS0gICAgICBGQUxMVEhST1VHSDsKLSAKLSAgICAgY2FzZSBnbDo6a0dMSW1wbGVt ZW50YXRpb25EZXNrdG9wR0w6IHsKLS0gICAgICBpZiAoIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQ bGF0Zm9ybSgpKSB7Ci0tICAgICAgICBWQURpc3BsYXkgZGlzcGxheSA9Ci0tICAgICAgICAgICAg dmFHZXREaXNwbGF5KHgxMTo6Q29ubmVjdGlvbjo6R2V0KCktPkdldFhsaWJEaXNwbGF5KCkpOwot LSAgICAgICAgaWYgKHZhRGlzcGxheUlzVmFsaWQoZGlzcGxheSkpCi0tICAgICAgICAgIHJldHVy biBkaXNwbGF5OwotLSAgICAgICAgcmV0dXJuIHZhR2V0RGlzcGxheURSTShkcm1fZmQuZ2V0KCkp OwotLSAgICAgIH0KLS0gICAgICBicmVhazsKLSsgICAgICBWQURpc3BsYXkgZGlzcGxheSA9Ci0r ICAgICAgICAgIHZhR2V0RGlzcGxheSh4MTE6OkNvbm5lY3Rpb246OkdldCgpLT5HZXRYbGliRGlz cGxheSgpKTsKLSsgICAgICBpZiAodmFEaXNwbGF5SXNWYWxpZChkaXNwbGF5KSkKLSsgICAgICAg IHJldHVybiBkaXNwbGF5OwotKyAgICAgIHJldHVybiB2YUdldERpc3BsYXlEUk0oZHJtX2ZkLmdl dCgpKTsKLSAgICAgfQotIAotLSAgICBjYXNlIGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xF OiB7Ci0tICAgICAgaWYgKCFmZWF0dXJlczo6SXNVc2luZ096b25lUGxhdGZvcm0oKSkKLS0gICAg ICAgIHJldHVybiB2YUdldERpc3BsYXkoeDExOjpDb25uZWN0aW9uOjpHZXQoKS0+R2V0WGxpYkRp c3BsYXkoKSk7Ci0tICAgICAgYnJlYWs7Ci0tICAgIH0KLSsgICAgY2FzZSBnbDo6a0dMSW1wbGVt ZW50YXRpb25FR0xBTkdMRToKLSsgICAgICByZXR1cm4gdmFHZXREaXNwbGF5KHgxMTo6Q29ubmVj dGlvbjo6R2V0KCktPkdldFhsaWJEaXNwbGF5KCkpOwotIAotICAgICBkZWZhdWx0OgotICAgICAg IExPRyhXQVJOSU5HKSA8PCAiVkFBUEkgdmlkZW8gYWNjZWxlcmF0aW9uIG5vdCBhdmFpbGFibGUg Zm9yICIKLUBAIC02MTIsMTAgKzYxMyw2IEBAIGFic2w6Om9wdGlvbmFsPFZBRGlzcGxheT4gR2V0 VkFEaXNwbGF5U3RhdGVYMTEoY29uc3QgYmFzZTo6U2NvcGVkRkQmIGRybV9mZCkgewotICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ2w6OkdldEdMSW1wbGVtZW50YXRpb25QYXJ0cygpKTsKLSAg ICAgICByZXR1cm4gYWJzbDo6bnVsbG9wdDsKLSAgIH0KLS0KLS0gIGlmICh1c2VfZHJtX2FzX2Zh bGxiYWNrKQotLSAgICByZXR1cm4gdmFHZXREaXNwbGF5RFJNKGRybV9mZC5nZXQoKSk7Ci0tICBy ZXR1cm4gYWJzbDo6bnVsbG9wdDsKLSB9Ci0gCi0gI2Vsc2UKLUBAIC02MzMsMTEgKzYzMCwxMSBA QCBhYnNsOjpvcHRpb25hbDxWQURpc3BsYXk+IEdldFZBRGlzcGxheVN0YXRlKGNvbnN0IGJhc2U6 OlNjb3BlZEZEJiBkcm1fZmQpIHsKLSAgIH0KLSB9Ci0gCi0tI2VuZGlmICAvLyBkZWZpbmVkKFVT RV9YMTEpCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSBib29sIFZB RGlzcGxheVN0YXRlOjpJbml0aWFsaXplVmFEaXNwbGF5X0xvY2tlZCgpIHsKLSAgIGFic2w6Om9w dGlvbmFsPFZBRGlzcGxheT4gZGlzcGxheSA9Ci0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYg QlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gICAgICAgR2V0VkFEaXNwbGF5U3RhdGVYMTEoZHJt X2ZkXyk7Ci0gI2Vsc2UKLSAgICAgICBHZXRWQURpc3BsYXlTdGF0ZShkcm1fZmRfKTsKLUBAIC03 MDIsMTAgKzY5OSw5IEBAIGJvb2wgVkFEaXNwbGF5U3RhdGU6OkluaXRpYWxpemVPbmNlKCkgewot ICAgaWYgKCFJbml0aWFsaXplVmFEaXNwbGF5X0xvY2tlZCgpIHx8ICFJbml0aWFsaXplVmFEcml2 ZXJfTG9ja2VkKCkpCi0gICAgIHJldHVybiBmYWxzZTsKLSAKLS0jaWYgZGVmaW5lZChVU0VfWDEx KQotKyNpZiBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAgIGlmIChnbDo6R2V0R0xJbXBsZW1l bnRhdGlvbigpID09IGdsOjprR0xJbXBsZW1lbnRhdGlvbkVHTEFOR0xFICYmCi0gICAgICAgaW1w bGVtZW50YXRpb25fdHlwZV8gPT0gVkFJbXBsZW1lbnRhdGlvbjo6a0ludGVsSUhEKSB7Ci0tICAg IERDSEVDSyghZmVhdHVyZXM6OklzVXNpbmdPem9uZVBsYXRmb3JtKCkpOwotICAgICBjb25zdGV4 cHIgY2hhciBsaWJ2YV9kcml2ZXJfaW1wbF9lbnZbXSA9ICJMSUJWQV9EUklWRVJfTkFNRSI7Ci0g ICAgIC8vIFRPRE8oY3JidWcvMTExNjcwMykgVGhlIGxpYnZhIGludGVsLW1lZGlhIGRyaXZlciBo YXMgYSBrbm93biBzZWdmYXVsdCBpbgotICAgICAvLyB2YVB1dFN1cmZhY2UsIHNvIHVudGlsIHRo aXMgaXMgZml4ZWQsIGZhbGwgYmFjayB0byB0aGUgaTk2NSBkcml2ZXIuIFRoZXJlCi1AQCAtNzIy LDcgKzcxOCw3IEBAIGJvb2wgVkFEaXNwbGF5U3RhdGU6OkluaXRpYWxpemVPbmNlKCkgewotICAg ICBpZiAoIUluaXRpYWxpemVWYURpc3BsYXlfTG9ja2VkKCkgfHwgIUluaXRpYWxpemVWYURyaXZl cl9Mb2NrZWQoKSkKLSAgICAgICByZXR1cm4gZmFsc2U7Ci0gICB9Ci0tI2VuZGlmICAvLyBVU0Vf WDExCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSAgIHJldHVybiB0 cnVlOwotIH0KLUBAIC0yNDUyLDExICsyNDQ4LDEwIEBAIGJvb2wgVmFhcGlXcmFwcGVyOjpNYXBB bmRDb3B5QW5kRXhlY3V0ZSgKLSAgIHJldHVybiBFeGVjdXRlX0xvY2tlZCh2YV9zdXJmYWNlX2lk LCB2YV9idWZmZXJfaWRzKTsKLSB9Ci0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gYm9vbCBWYWFwaVdyYXBwZXI6OlB1dFN1cmZhY2VJbnRv UGl4bWFwKFZBU3VyZmFjZUlEIHZhX3N1cmZhY2VfaWQsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHgxMTo6UGl4bWFwIHhfcGl4bWFwLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlNpemUgZGVzdF9zaXplKSB7Ci0tICBEQ0hF Q0soIWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKTsKLSAgIGJhc2U6OkF1dG9Mb2Nr IGF1dG9fbG9jaygqdmFfbG9ja18pOwotIAotICAgVkFTdGF0dXMgdmFfcmVzID0gdmFTeW5jU3Vy ZmFjZSh2YV9kaXNwbGF5XywgdmFfc3VyZmFjZV9pZCk7Ci1AQCAtMjQ3MCw3ICsyNDY1LDcgQEAg Ym9vbCBWYWFwaVdyYXBwZXI6OlB1dFN1cmZhY2VJbnRvUGl4bWFwKFZBU3VyZmFjZUlEIHZhX3N1 cmZhY2VfaWQsCi0gICBWQV9TVUNDRVNTX09SX1JFVFVSTih2YV9yZXMsIFZhYXBpRnVuY3Rpb25z OjprVkFQdXRTdXJmYWNlLCBmYWxzZSk7Ci0gICByZXR1cm4gdHJ1ZTsKLSB9Ci0tI2VuZGlmICAv LyBVU0VfWDExCi0rI2VuZGlmICAvLyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSBzdGQ6 OnVuaXF1ZV9wdHI8U2NvcGVkVkFJbWFnZT4gVmFhcGlXcmFwcGVyOjpDcmVhdGVWYUltYWdlKAot ICAgICBWQVN1cmZhY2VJRCB2YV9zdXJmYWNlX2lkLAotQEAgLTI4NDQsOSArMjgzOSw4IEBAIHZv aWQgVmFhcGlXcmFwcGVyOjpQcmVTYW5kYm94SW5pdGlhbGl6YXRpb24oKSB7Ci0gCi0gICBwYXRo c1trTW9kdWxlVmFdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEuc28uIikgKyB2YV9zdWZm aXgpOwotICAgcGF0aHNba01vZHVsZVZhX2RybV0ucHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2 YS1kcm0uc28uIikgKyB2YV9zdWZmaXgpOwotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0tICBpZiAo IWZlYXR1cmVzOjpJc1VzaW5nT3pvbmVQbGF0Zm9ybSgpKQotLSAgICBwYXRoc1trTW9kdWxlVmFf eDExXS5wdXNoX2JhY2soc3RkOjpzdHJpbmcoImxpYnZhLXgxMS5zby4iKSArIHZhX3N1ZmZpeCk7 Ci0rI2lmIEJVSUxERkxBRyhVU0VfVkFBUElfWDExKQotKyAgcGF0aHNba01vZHVsZVZhX3gxMV0u cHVzaF9iYWNrKHN0ZDo6c3RyaW5nKCJsaWJ2YS14MTEuc28uIikgKyB2YV9zdWZmaXgpOwotICNl bmRpZgotICNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfQVNIKQotICAgcGF0aHNba01vZHVsZVZh X3Byb3RdLnB1c2hfYmFjayhzdGQ6OnN0cmluZygibGlidmEuc28uIikgKyB2YV9zdWZmaXgpOwot ZGlmZiAtLWdpdCBhL21lZGlhL2dwdS92YWFwaS92YWFwaV93cmFwcGVyLmggYi9tZWRpYS9ncHUv dmFhcGkvdmFhcGlfd3JhcHBlci5oCi1pbmRleCAwZTNkYTUzNjI0Li44OGZmY2QwNzk5IDEwMDY0 NAotLS0tIGEvbWVkaWEvZ3B1L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaAotKysrIGIvbWVkaWEvZ3B1 L3ZhYXBpL3ZhYXBpX3dyYXBwZXIuaAotQEAgLTM2LDkgKzM2LDkgQEAKLSAjaW5jbHVkZSAidGhp cmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3R5cGVzL29wdGlvbmFsLmgiCi0gI2luY2x1ZGUgInVp L2dmeC9nZW9tZXRyeS9zaXplLmgiCi0gCi0tI2lmIGRlZmluZWQoVVNFX1gxMSkKLSsjaWYgQlVJ TERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gI2luY2x1ZGUgInVpL2dmeC94L3hwcm90by5oIiAgLy8g bm9nbmNoZWNrCi0tI2VuZGlmICAvLyBVU0VfWDExCi0rI2VuZGlmICAgICAgICAgICAgICAgICAg ICAgICAgLy8gQlVJTERGTEFHKFVTRV9WQUFQSV9YMTEpCi0gCi0gbmFtZXNwYWNlIGdmeCB7Ci0g ZW51bSBjbGFzcyBCdWZmZXJGb3JtYXQ7Ci1AQCAtNDI2LDEzICs0MjYsMTMgQEAgY2xhc3MgTUVE SUFfR1BVX0VYUE9SVCBWYWFwaVdyYXBwZXIKLSAgICAgICBjb25zdCBzdGQ6OnZlY3RvcjxzdGQ6 OnBhaXI8VkFCdWZmZXJJRCwgVkFCdWZmZXJEZXNjcmlwdG9yPj4mIHZhX2J1ZmZlcnMpCi0gICAg ICAgV0FSTl9VTlVTRURfUkVTVUxUOwotIAotLSNpZiBkZWZpbmVkKFVTRV9YMTEpCi0rI2lmIEJV SUxERkxBRyhVU0VfVkFBUElfWDExKQotICAgLy8gUHV0IGRhdGEgZnJvbSB8dmFfc3VyZmFjZV9p ZHwgaW50byB8eF9waXhtYXB8IG9mIHNpemUKLSAgIC8vIHxkZXN0X3NpemV8LCBjb252ZXJ0aW5n L3NjYWxpbmcgdG8gaXQuCi0gICBib29sIFB1dFN1cmZhY2VJbnRvUGl4bWFwKFZBU3VyZmFjZUlE IHZhX3N1cmZhY2VfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxMTo6UGl4bWFw IHhfcGl4bWFwLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZng6OlNpemUgZGVzdF9z aXplKSBXQVJOX1VOVVNFRF9SRVNVTFQ7Ci0tI2VuZGlmICAvLyBVU0VfWDExCi0rI2VuZGlmICAv LyBCVUlMREZMQUcoVVNFX1ZBQVBJX1gxMSkKLSAKLSAgIC8vIENyZWF0ZXMgYSBTY29wZWRWQUlt YWdlIGZyb20gYSBWQVN1cmZhY2UgfHZhX3N1cmZhY2VfaWR8IGFuZCBtYXAgaXQgaW50bwotICAg Ly8gbWVtb3J5IHdpdGggdGhlIGdpdmVuIHxmb3JtYXR8IGFuZCB8c2l6ZXwuIElmIHxmb3JtYXR8 IGlzIG5vdCBlcXVhbCB0byB0aGUKLWRpZmYgLS1naXQgYS91aS9vem9uZS9wbGF0Zm9ybS94MTEv b3pvbmVfcGxhdGZvcm1feDExLmNjIGIvdWkvb3pvbmUvcGxhdGZvcm0veDExL296b25lX3BsYXRm b3JtX3gxMS5jYwotaW5kZXggODg4OTgyOGUwZi4uOTYzZGM3YTBjZCAxMDA2NDQKLS0tLSBhL3Vp L296b25lL3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MKLSsrKyBiL3VpL296b25l L3BsYXRmb3JtL3gxMS9vem9uZV9wbGF0Zm9ybV94MTEuY2MKLUBAIC0yMDgsNiArMjA4LDkgQEAg Y2xhc3MgT3pvbmVQbGF0Zm9ybVgxMSA6IHB1YmxpYyBPem9uZVBsYXRmb3JtLAotICAgICAgIHBy b3BlcnRpZXMtPnN1cHBvcnRzX2dsb2JhbF9hcHBsaWNhdGlvbl9tZW51cyA9IHRydWU7Ci0gICAg ICAgcHJvcGVydGllcy0+YXBwX21vZGFsX2RpYWxvZ3NfdXNlX2V2ZW50X2Jsb2NrZXIgPSB0cnVl OwotICAgICAgIHByb3BlcnRpZXMtPmZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gdHJ1ZTsKLSsjaWYgZGVmaW5lZChPU19MSU5VWCkKLSsgICAgICBwcm9wZXJ0aWVzLT5zdXBw b3J0c192YWFwaSA9IHRydWU7Ci0rI2VuZGlmCi0gCi0gICAgICAgaW5pdGlhbGlzZWQgPSB0cnVl OwotICAgICB9Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcHVibGljL296b25lX3BsYXRmb3JtLmgg Yi91aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaAotaW5kZXggZGY5NWYwNzQ4Ni4uMmQ3 ZjQ0YmJmYSAxMDA2NDQKLS0tLSBhL3VpL296b25lL3B1YmxpYy9vem9uZV9wbGF0Zm9ybS5oCi0r KysgYi91aS9vem9uZS9wdWJsaWMvb3pvbmVfcGxhdGZvcm0uaAotQEAgLTE1LDYgKzE1LDcgQEAK LSAjaW5jbHVkZSAiYmFzZS9tYWNyb3MuaCIKLSAjaW5jbHVkZSAiYmFzZS9tZXNzYWdlX2xvb3Av bWVzc2FnZV9wdW1wX3R5cGUuaCIKLSAjaW5jbHVkZSAiYmFzZS9zaW5nbGVfdGhyZWFkX3Rhc2tf cnVubmVyLmgiCi0rI2luY2x1ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgotICNpbmNsdWRlICJt b2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvYmluZGVyX21hcC5oIgotICNpbmNsdWRlICJ1aS9nZngv YnVmZmVyX3R5cGVzLmgiCi0gI2luY2x1ZGUgInVpL2dmeC9uYXRpdmVfd2lkZ2V0X3R5cGVzLmgi Ci1AQCAtMTU0LDYgKzE1NSwxNSBAQCBjbGFzcyBDT01QT05FTlRfRVhQT1JUKE9aT05FKSBPem9u ZVBsYXRmb3JtIHsKLSAgICAgLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGJ1ZmZlciBmb3JtYXRzIHNo b3VsZCBiZSBmZXRjaGVkIG9uIEdQVSBhbmQgcGFzc2VkCi0gICAgIC8vIGJhY2sgdmlhIGdwdSBl eHRyYSBpbmZvLgotICAgICBib29sIGZldGNoX2J1ZmZlcl9mb3JtYXRzX2Zvcl9nbWJfb25fZ3B1 ID0gZmFsc2U7Ci0rCi0rI2lmIGRlZmluZWQoT1NfTElOVVgpCi0rICAgIC8vIFRPRE8oY3JidWcu Y29tLzExMTY3MDEpOiBhZGQgdmFhcGkgc3VwcG9ydCBmb3Igb3RoZXIgT3pvbmUgcGxhdGZvcm1z IG9uCi0rICAgIC8vIExpbnV4LiBBdCB0aGUgbW9tZW50LCBWQS1BUEkgTGludXggaW1wbGVtZW50 YXRpb24gc3VwcG9ydHMgb25seSBYMTEKLSsgICAgLy8gYmFja2VuZC4gVGhpcyBpbXBsZW1lbnRh dGlvbiBtdXN0IGJlIHJlZmFjdG9yZWQgdG8gc3VwcG9ydCBPem9uZQotKyAgICAvLyBwcm9wZXJs eS4gQXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24sIFZBLUFQSSBvbiBMaW51eCBjaGVja3MgaWYgdmFh cGkgaXMKLSsgICAgLy8gc3VwcG9ydGVkICh3aGljaCBpbXBsaWNpdGx5IG1lYW5zIHRoYXQgaXQg aXMgT3pvbmUvWDExKS4KLSsgICAgYm9vbCBzdXBwb3J0c192YWFwaSA9IGZhbHNlOwotKyNlbmRp ZgotICAgfTsKLSAKLSAgIC8vIEdyb3VwcyBwbGF0Zm9ybSBwcm9wZXJ0aWVzIHRoYXQgY2FuIG9u bHkgYmUga25vd24gYXQgcnVuIHRpbWUuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcHl0aG9uMy4xMC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9weXRob24z LjEwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5Y2U2ZWU3MTIwMmUuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcHl0aG9uMy4xMC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLWRpZmYgLXVyIC4vdGhpcmRfcGFydHkv amluamEyLm9yaWcvcnVudGltZS5weSAuL3RoaXJkX3BhcnR5L2ppbmphMi9ydW50aW1lLnB5Ci0t LS0gYS90aGlyZF9wYXJ0eS9qaW5qYTIub3JpZy9ydW50aW1lLnB5CTIwMjEtMDktMjQgMDA6MjY6 MzUuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9qaW5qYTIvcnVudGltZS5weQky MDIxLTEwLTEzIDExOjUxOjE2LjQ5Mzk4NjU1NiAtMDQwMAotQEAgLTMxNSw3ICszMTUsNyBAQAot IAotICMgcmVnaXN0ZXIgdGhlIGNvbnRleHQgYXMgbWFwcGluZyBpZiBwb3NzaWJsZQotIHRyeToK LS0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwotKyAgICBmcm9tIGNvbGxlY3Rp b25zLmFiYyBpbXBvcnQgTWFwcGluZwotICAgICBNYXBwaW5nLnJlZ2lzdGVyKENvbnRleHQpCi0g ZXhjZXB0IEltcG9ydEVycm9yOgotICAgICBwYXNzCi1kaWZmIC11ciAuL3RoaXJkX3BhcnR5L2pp bmphMi5vcmlnL3NhbmRib3gucHkgLi90aGlyZF9wYXJ0eS9qaW5qYTIvc2FuZGJveC5weQotLS0t IGEvdGhpcmRfcGFydHkvamluamEyLm9yaWcvc2FuZGJveC5weQkyMDIxLTA5LTI0IDAwOjI2OjM1 LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvamluamEyL3NhbmRib3gucHkJMjAy MS0xMC0xMyAxMTo1MDo1MS41MTM5ODAzOTkgLTA0MDAKLUBAIC0xNCw3ICsxNCw3IEBACi0gIiIi Ci0gaW1wb3J0IHR5cGVzCi0gaW1wb3J0IG9wZXJhdG9yCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBv cnQgTWFwcGluZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBq aW5qYTIuZW52aXJvbm1lbnQgaW1wb3J0IEVudmlyb25tZW50Ci0gZnJvbSBqaW5qYTIuZXhjZXB0 aW9ucyBpbXBvcnQgU2VjdXJpdHlFcnJvcgotIGZyb20gamluamEyLl9jb21wYXQgaW1wb3J0IHN0 cmluZ190eXBlcywgUFkyCi1AQCAtNzksNyArNzksNyBAQAotICAgICBwYXNzCi0gCi0gIzogcmVn aXN0ZXIgUHl0aG9uIDIuNiBhYnN0cmFjdCBiYXNlIGNsYXNzZXMKLS1mcm9tIGNvbGxlY3Rpb25z IGltcG9ydCBNdXRhYmxlU2V0LCBNdXRhYmxlTWFwcGluZywgTXV0YWJsZVNlcXVlbmNlCi0rZnJv bSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVTZXQsIE11dGFibGVNYXBwaW5nLCBNdXRh YmxlU2VxdWVuY2UKLSBfbXV0YWJsZV9zZXRfdHlwZXMgKz0gKE11dGFibGVTZXQsKQotIF9tdXRh YmxlX21hcHBpbmdfdHlwZXMgKz0gKE11dGFibGVNYXBwaW5nLCkKLSBfbXV0YWJsZV9zZXF1ZW5j ZV90eXBlcyArPSAoTXV0YWJsZVNlcXVlbmNlLCkKLWRpZmYgLXVyIC4vdGhpcmRfcGFydHkvamlu amEyLm9yaWcvdGVzdHMucHkgLi90aGlyZF9wYXJ0eS9qaW5qYTIvdGVzdHMucHkKLS0tLSBhL3Ro aXJkX3BhcnR5L2ppbmphMi5vcmlnL3Rlc3RzLnB5CTIwMjEtMDktMjQgMDA6MjY6MzUuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9qaW5qYTIvdGVzdHMucHkJMjAyMS0xMC0xMyAx MTo1MTo1MS42OTM5OTUyMjcgLTA0MDAKLUBAIC0xMCw3ICsxMCw3IEBACi0gIiIiCi0gaW1wb3J0 IG9wZXJhdG9yCi0gaW1wb3J0IHJlCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwot K2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBqaW5qYTIucnVudGlt ZSBpbXBvcnQgVW5kZWZpbmVkCi0gZnJvbSBqaW5qYTIuX2NvbXBhdCBpbXBvcnQgdGV4dF90eXBl LCBzdHJpbmdfdHlwZXMsIGludGVnZXJfdHlwZXMKLSBpbXBvcnQgZGVjaW1hbAotZGlmZiAtdXIg Li90aGlyZF9wYXJ0eS9qaW5qYTIub3JpZy91dGlscy5weSAuL3RoaXJkX3BhcnR5L2ppbmphMi91 dGlscy5weQotLS0tIGEvdGhpcmRfcGFydHkvamluamEyLm9yaWcvdXRpbHMucHkJMjAyMS0wOS0y NCAwMDoyNjozNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L2ppbmphMi91dGls cy5weQkyMDIxLTEwLTEzIDExOjUxOjM0Ljk2OTk5MTEwNiAtMDQwMAotQEAgLTQ4Miw3ICs0ODIs NyBAQAotIAotICMgcmVnaXN0ZXIgdGhlIExSVSBjYWNoZSBhcyBtdXRhYmxlIG1hcHBpbmcgaWYg cG9zc2libGUKLSB0cnk6Ci0tICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBw aW5nCi0rICAgIGZyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZwotICAg ICBNdXRhYmxlTWFwcGluZy5yZWdpc3RlcihMUlVDYWNoZSkKLSBleGNlcHQgSW1wb3J0RXJyb3I6 Ci0gICAgIHBhc3MKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5wYXRjaAppbmRleCA2N2ZiOGZj YTYyZDAuLmJhYzhhNjNiYzI0ZiAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L3NuZGlvLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zbmRpby5wYXRjaApA QCAtNDcsMTUgKzQ3LDYgQEAgZGlmZiAtTmF1ciBjaHJvbWl1bS04My4wLjQxMDMuOTcub3JpZy9t ZWRpYS9hdWRpby9saW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNjIGMKICAKICBuYW1lc3BhY2Ug bWVkaWEgewogIAotQEAgLTI2LDcgKzMxLDggQEAKLSAgIGtQdWxzZSwKLSAgIGtBbHNhLAotICAg a0NyYXMsCi0tICBrQXVkaW9JT01heCA9IGtDcmFzICAvLyBNdXN0IGFsd2F5cyBiZSBlcXVhbCB0 byBsYXJnZXN0IGxvZ2dlZCBlbnRyeS4KLSsgIGtTbmRpbywKLSsgIGtBdWRpb0lPTWF4ID0ga1Nu ZGlvIC8vIE11c3QgYWx3YXlzIGJlIGVxdWFsIHRvIGxhcmdlc3QgbG9nZ2VkIGVudHJ5LgotIH07 Ci0gCiAgc3RkOjp1bmlxdWVfcHRyPG1lZGlhOjpBdWRpb01hbmFnZXI+IENyZWF0ZUF1ZGlvTWFu YWdlcigKIEBAIC0zOSw2ICs0NSwxNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSk7CmRpZmYgLS1naXQgYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvdW5idW5kbGUtZml4LXZpc2liaWxpdHktb2YtYnVpbGQtY29uZmln LWZyZWV0eXBlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxlLWZpeC12 aXNpYmlsaXR5LW9mLWJ1aWxkLWNvbmZpZy1mcmVldHlwZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmQxMDAyM2JjMDI2NwotLS0gL2Rldi9udWxsCisrKyBi L3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91bmJ1bmRsZS1maXgtdmlzaWJpbGl0eS1vZi1idWls ZC1jb25maWctZnJlZXR5cGUucGF0Y2gKQEAgLTAsMCArMSwzMSBAQAorRnJvbSAyNzFlNDUzMzli N2I5NjllOThjY2VmNzgzN2NiMWIxNTQ4MGIwN2ZjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQor RnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogVGh1 LCA0IE5vdiAyMDIxIDE4OjU4OjM0ICswMDAwCitTdWJqZWN0OiBbUEFUQ0hdIHVuYnVuZGxlOiBm aXggdmlzaWJpbGl0eSBvZiAvL2J1aWxkL2NvbmZpZy9mcmVldHlwZQorCitGb3Igc3lzdGVtIGZy ZWV0eXBlIC8vYnVpbGQvbGludXg6ZnJlZXR5cGVfZnJvbV9wa2djb25maWcgaXMgcmVzdHJpY3Rl ZAordG8gLy90aGlyZF9wYXJ0eTpmcmVldHlwZV9oYXJmYnV6eiBhbmQgLy90aGlyZF9wYXJ0eS9o YXJmYnV6ei1uZzpoYXJmYnV6el9zb3VyY2UuCitIb3dldmVyIC8vYnVpbGQvY29uZmlnL2ZyZWV0 eXBlOmZyZWV0eXBlIGlzIGFjY2Vzc2luZyBpdCB0b28uCisKK0J1ZzogTm9uZQorQ2hhbmdlLUlk OiBJYzRhMzdiMDFlNGFlMjIxMzcyYTkyMjBjYmFkMDRjNTk4Yjg0NGMyMQorUmV2aWV3ZWQtb246 IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMv Ky8zMjU5MzA0CitDb21taXQtUXVldWU6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJzb25A Y2hyb21pdW0ub3JnPgorUmV2aWV3ZWQtYnk6IFRob21hcyBBbmRlcnNvbiA8dGhvbWFzYW5kZXJz b25AY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyM5 MzgzODh9CistLS0KKyBidWlsZC9saW51eC9CVUlMRC5nbiB8IDEgKworIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQvbGludXgvQlVJTEQuZ24gYi9i dWlsZC9saW51eC9CVUlMRC5nbgoraW5kZXggNTQzMTRjNzY4Ny4uY2Q0OWUzZDUyNCAxMDA2NDQK Ky0tLSBhL2J1aWxkL2xpbnV4L0JVSUxELmduCisrKysgYi9idWlsZC9saW51eC9CVUlMRC5nbgor QEAgLTIzLDYgKzIzLDcgQEAgaWYgKHVzZV9zeXN0ZW1fZnJlZXR5cGUpIHsKKyAgICMgdGhlIHN5 c3RlbSwgdXNlIHdpdGggY2F1dGlvbixmb3IgZGV0YWlscyBzZWUgYnVpbGQvY29uZmlnL2ZyZWV0 eXBlL0JVSUxELmduLgorICAgcGtnX2NvbmZpZygiZnJlZXR5cGVfZnJvbV9wa2djb25maWciKSB7 CisgICAgIHZpc2liaWxpdHkgPSBbCisrICAgICAgIi8vYnVpbGQvY29uZmlnL2ZyZWV0eXBlOmZy ZWV0eXBlIiwKKyAgICAgICAiLy90aGlyZF9wYXJ0eTpmcmVldHlwZV9oYXJmYnV6eiIsCisgICAg ICAgIi8vdGhpcmRfcGFydHkvaGFyZmJ1enotbmc6aGFyZmJ1enpfc291cmNlIiwKKyAgICAgXQpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxlZC1jcm9zcy10b29s Y2hhaW4ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvdW5idW5kbGVkLWNyb3NzLXRv b2xjaGFpbi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmMz ZjIyOTRhYzRiMgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91 bmJ1bmRsZWQtY3Jvc3MtdG9vbGNoYWluLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKKy0tLSBhL2J1 aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5nbi5vcmlnCisrKysgYi9idWlsZC90 b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24KK0BAIC0zNSw3ICszNSw3IEBACisgICBl eHRyYV9sZGZsYWdzID0gZ2V0ZW52KCJCVUlMRF9MREZMQUdTIikKKyAKKyAgIHRvb2xjaGFpbl9h cmdzID0geworLSAgICBjdXJyZW50X2NwdSA9IGN1cnJlbnRfY3B1CistICAgIGN1cnJlbnRfb3Mg PSBjdXJyZW50X29zCisrICAgIGN1cnJlbnRfY3B1ID0gaG9zdF9jcHUKKysgICAgY3VycmVudF9v cyA9IGhvc3Rfb3MKKyAgIH0KKyB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94 eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCmluZGV4IGQxMDlhZWI1Yjk1Yy4uMzE3NjAxNTFhMzNl IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9y dC5wYXRjaApAQCAtMjEyNSw4ICsyMTI1LDggQEAgZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmggYi8KIGlu ZGV4IGQ0YWI5MzZlZS4uMWQyMmZjNTljIDEwMDY0NAogLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hw YWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAogKysrIGIvdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0 ZXIuaAotQEAgLTMxNSw2ICszMTUsNDUgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQUzY0V3Jp dGVyIGZpbmFsIDogcHVibGljIE1pbmlkdW1wQ29udGV4dFdyaXRlciB7Ci0gICBESVNBTExPV19D T1BZX0FORF9BU1NJR04oTWluaWR1bXBDb250ZXh0TUlQUzY0V3JpdGVyKTsKK0BAIC0zMTUsNiAr MzE1LDQzIEBAIGNsYXNzIE1pbmlkdW1wQ29udGV4dE1JUFM2NFdyaXRlciBmaW5hbCA6IHB1Ymxp YyBNaW5pZHVtcENvbnRleHRXcml0ZXIgeworICAgTWluaWR1bXBDb250ZXh0UFBDNjQgY29udGV4 dF87CiAgfTsKICAKICtjbGFzcyBNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlciBmaW5hbCA6IHB1 YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewpAQCAtMjE2NCw4ICsyMTY0LDYgQEAgaW5kZXgg ZDRhYjkzNmVlLi4xZDIyZmM1OWMgMTAwNjQ0CiArCiArIHByaXZhdGU6CiArICBNaW5pZHVtcENv bnRleHRQUEM2NCBjb250ZXh0XzsKLSsKLSsgIERJU0FMTE9XX0NPUFlfQU5EX0FTU0lHTihNaW5p ZHVtcENvbnRleHRQUEM2NFdyaXRlcik7CiArfTsKICsKICB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hw YWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUgYi9zcmNwa2dzL2Nocm9t aXVtL3RlbXBsYXRlCmluZGV4IGRmZTQyNzQ4OWY4Zi4uODEwN2IxNTM5ZjY5IDEwMDY0NAotLS0g YS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxh dGUKQEAgLTEsNyArMSw3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdjaHJvbWl1bScKIHBrZ25h bWU9Y2hyb21pdW0KICMgU2VlIGh0dHBzOi8vY2hyb21pdW1kYXNoLmFwcHNwb3QuY29tL3JlbGVh c2VzP3BsYXRmb3JtPUxpbnV4IGZvciB0aGUgbGF0ZXN0IHZlcnNpb24KLXZlcnNpb249OTUuMC40 NjM4LjU0Cit2ZXJzaW9uPTk2LjAuNDY2NC40NQogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4 Nl82NCogYWFyY2g2NCogYXJtdjdsKiBwcGM2NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0 dGVtcHQgYXQgY3JlYXRpbmcgYSBzYWZlciwgZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3Nl ciIKQEAgLTksOCArOSw3IEBAIG1haW50YWluZXI9IkVubm8gQm9sYW5kIDxnb3R0b3hAdm9pZGxp bnV4Lm9yZz4iCiBsaWNlbnNlPSJCU0QtMy1DbGF1c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cu Y2hyb21pdW0ub3JnLyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29n bGVhcGlzLmNvbS9jaHJvbWl1bS1icm93c2VyLW9mZmljaWFsLyR7cGtnbmFtZX0tJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT0zZWVmODhkNzQ1ZTZkZGFlYWY1MDczNThmMTUxMDQ4MmQ2ZjM5 OWNmMzM1MDYxYmIxMjI2YTVmNzEyMDA2MWZkCi1ub2Nyb3NzPXllcworY2hlY2tzdW09NDg4YzZh ZDk4M2ViZjc3ODFjYjRkNzA0ZjcwNDk2ZThhYTIxNjU2MTFiNDY2NTZkN2FhNjJmMjY5Yzc2MDQw NwogCiBsaWIzMmRpc2FibGVkPXllcwogCkBAIC0yNCw4ICsyMyw4IEBAIGRlc2Nfb3B0aW9uX3B1 bHNlYXVkaW89IkVuYWJsZSBzdXBwb3J0IGZvciBQdWxzZUF1ZGlvIgogZGVzY19vcHRpb25fc25k aW89IkVuYWJsZSBzdXBwb3J0IGZvciBzbmRpbyIKIGRlc2Nfb3B0aW9uX3BpcGV3aXJlPSJFbmFi bGUgc3VwcG9ydCBmb3Igc2NyZWVuIHNoYXJpbmcgZm9yIFdlYlJUQyB2aWEgUGlwZVdpcmUiCiAK LWhvc3RtYWtlZGVwZW5kcz0iJCh2b3B0X2lmIGNsYW5nICJjbGFuZyBsbGQgbGx2bTEyIikgcHl0 aG9uIHBrZ2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBub2RlanMgaHdpZHMKLSBsaWJhdG9t aWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwgbGliZ2xpYi1kZXZlbCAkKHZvcHRfaWYganNfb3B0aW1p emUgb3BlbmpkaykiCitob3N0bWFrZWRlcGVuZHM9IiQodm9wdF9pZiBjbGFuZyAiY2xhbmcgbGxk IGxsdm0xMiIpIHB5dGhvbiBweXRob24zIHBrZ2NvbmYgcGVybCBncGVyZiBiaXNvbiBuaW5qYSBu b2RlanMgaHdpZHMKKyBsaWJhdG9taWMtZGV2ZWwgbGliZXZlbnQtZGV2ZWwgbGliZ2xpYi1kZXZl bCAkKHZvcHRfaWYganNfb3B0aW1pemUgb3Blbmpkaykgd2F5bGFuZC1kZXZlbCBsaWJlcG94eS1k ZXZlbCIKIG1ha2VkZXBlbmRzPSJsaWJwbmctZGV2ZWwgZ3RrKy1kZXZlbCBndGsrMy1kZXZlbCBu c3MtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwKICBsaWJYaS1kZXZlbCBsaWJnY3J5cHQtZGV2ZWwgbGli Z25vbWUta2V5cmluZy1kZXZlbCBjdXBzLWRldmVsIGVsZnV0aWxzLWRldmVsCiAgbGliWGNvbXBv c2l0ZS1kZXZlbCBzcGVlY2gtZGlzcGF0Y2hlci1kZXZlbCBsaWJYcmFuZHItZGV2ZWwgbWl0LWty YjUtZGV2ZWwKQEAgLTM0LDggKzMzLDkgQEAgbWFrZWRlcGVuZHM9ImxpYnBuZy1kZXZlbCBndGsr LWRldmVsIGd0ayszLWRldmVsIG5zcy1kZXZlbCBwY2l1dGlscy1kZXZlbAogIGxpYlhjdXJzb3It ZGV2ZWwgbGliZmxhYy1kZXZlbCBzcGVleC1kZXZlbCBsaWJtdHAtZGV2ZWwgbGlid2VicC1kZXZl bAogIGxpYmpwZWctdHVyYm8tZGV2ZWwgbGliZXZlbnQtZGV2ZWwganNvbi1jLWRldmVsIGhhcmZi dXp6LWRldmVsCiAgbWluaXppcC1kZXZlbCBqc29uY3BwLWRldmVsIHpsaWItZGV2ZWwgbGliY2Fw LWRldmVsIGxpYlhkYW1hZ2UtZGV2ZWwKLSByZTItZGV2ZWwgZm9udGNvbmZpZy1kZXZlbCBmcmVl dHlwZS1kZXZlbCBvcHVzLWRldmVsCisgcmUyLWRldmVsIGZvbnRjb25maWctZGV2ZWwgZnJlZXR5 cGUtZGV2ZWwgb3B1cy1kZXZlbCBsaWJhdG9taWMtZGV2ZWwKICBmZm1wZWctZGV2ZWwgbGlidmEt ZGV2ZWwgcHl0aG9uLXNldHVwdG9vbHMgeGNiLXByb3RvIGxpYmN1cmwtZGV2ZWwKKyBsaWJ4c2ht ZmVuY2UtZGV2ZWwgbGliZXBveHktZGV2ZWwKICAkKHZvcHRfaWYgcGlwZXdpcmUgcGlwZXdpcmUt ZGV2ZWwpICQodm9wdF9pZiBzbmRpbyBzbmRpby1kZXZlbCkiCiBkZXBlbmRzPSJsaWJleGlmIGh3 aWRzIGRlc2t0b3AtZmlsZS11dGlscyBoaWNvbG9yLWljb24tdGhlbWUgeGRnLXV0aWxzIgogCkBA IC00Myw2ICs0MywyNiBAQCBjYXNlICIkWEJQU19UQVJHRVRfTUFDSElORSIgaW4KIAlwcGM2NCot bXVzbCkgbWFrZWRlcGVuZHMrPSIgbGlidWNvbnRleHQtZGV2ZWwiIDs7CiBlc2FjCiAKK2lmIFsg IiRDUk9TU19CVUlMRCIgXTsgdGhlbgorCWhvc3RtYWtlZGVwZW5kcys9IiBsaWJYMTEtZGV2ZWwg bGlieGNiLWRldmVsIHBjaXV0aWxzLWRldmVsIGxpYlhleHQtZGV2ZWwgbGliZ2x2bmQtZGV2ZWwK KwkgbGlianBlZy10dXJiby1kZXZlbCBsaWJYaS1kZXZlbCBuc3MtZGV2ZWwgbGlicG5nLWRldmVs IGxpYndlYnAtZGV2ZWwgaGFyZmJ1enotZGV2ZWwKKwkgbGlieG1sMi1kZXZlbCAkKHZvcHRfaWYg cHVsc2VhdWRpbyBwdWxzZWF1ZGlvLWRldmVsKSBsaWJ4c2x0LWRldmVsIGxpYnhrYmNvbW1vbi1k ZXZlbAorCSAkKHZvcHRfaWYgcGlwZXdpcmUgcGlwZXdpcmUtZGV2ZWwpIGZmbXBlZy1kZXZlbCBv cHVzLWRldmVsIHBhbmdvLWRldmVsIGxpYnZhLWRldmVsCisJIGxpYmN1cmwtZGV2ZWwgc25hcHB5 LWRldmVsIHJlMi1kZXZlbCBsaWJYcmFuZHItZGV2ZWwgbGliWGNvbXBvc2l0ZS1kZXZlbCBjdXBz LWRldmVsCisJIG1pdC1rcmI1LWRldmVsIGFsc2EtbGliLWRldmVsIgorZmkKKworaWYgWyAhICIk WEJQU19XT1JEU0laRSIgPSAiJFhCUFNfVEFSR0VUX1dPUkRTSVpFIiBdOyB0aGVuCisJYnJva2Vu PSJjaHJvbWl1bSAodjgpIGNhbiBvbmx5IGJlIGNyb3NzIGNvbXBpbGVkIGlmIHdvcmQgc2l6ZSBt YXRjaGVzIgorZmkKKworaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCisJY2FzZSAiJHtYQlBT X1RBUkdFVF9NQUNISU5FfSIgaW4KKwkJYWFyY2g2NCopIDs7CisJCSopIG5vY3Jvc3M9ImNocm9t aXVtIGNhbiBub3QgYmUgY3Jvc3MgY29tcGlsZWQgZm9yIHRoaXMgYXJjaGl0ZWN0dXJlIiA7Owor CWVzYWMKK2ZpCisKIHBvc3RfcGF0Y2goKSB7CiAJaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0g Im11c2wiIF07IHRoZW4KIAkJZm9yIGYgaW4gIiR7RklMRVNESVJ9Ii9tdXNsLXBhdGNoZXMvKi5w YXRjaDsgZG8KQEAgLTcxLDIwICs5MSw1NyBAQCBwb3N0X3BhdGNoKCkgewogCXZzZWQgLWkgJ3Mv T0ZGSUNJQUxfQlVJTEQvR09PR0xFX0NIUk9NRV9CVUlMRC8nIFwKIAkJdG9vbHMvZ2VuZXJhdGVf c2hpbV9oZWFkZXJzL2dlbmVyYXRlX3NoaW1faGVhZGVycy5weQogfQotZG9fY29uZmlndXJlKCkg ewotCWxvY2FsIHN5c3RlbT0iIiBjb25mPSgpCi0JZXhwb3J0IC1uIENGTEFHUyBDWFhGTEFHUyBM REZMQUdTCiAKK19zZXR1cF9jbGFuZygpIHsKKwlsb2NhbCBnY2NfdmVyc2lvbj0kKGdjYyAtZHVt cHZlcnNpb24pCisJbG9jYWwgY2xhbmdfdmVyc2lvbj0kKGNsYW5nIC1kdW1wdmVyc2lvbikKKwll eHBvcnQgQ0M9Y2xhbmcKKwlleHBvcnQgQ1hYPWNsYW5nKysKKwlleHBvcnQgQVI9bGx2bS1hcgor CWV4cG9ydCBOTT1sbHZtLW5tCisJZXhwb3J0IENGTEFHUz0iLVduby11bmtub3duLXdhcm5pbmct b3B0aW9uIgorCWV4cG9ydCBDWFhGTEFHUz0iLVduby11bmtub3duLXdhcm5pbmctb3B0aW9uIgor CWV4cG9ydCBMREZMQUdTPSIiCisJZXhwb3J0IEJVSUxEX0NDPWNsYW5nCisJZXhwb3J0IEJVSUxE X0NYWD1jbGFuZysrCisJZXhwb3J0IEJVSUxEX0FSPWxsdm0tYXIKKwlleHBvcnQgQlVJTERfTk09 bGx2bS1ubQorCWV4cG9ydCBCVUlMRF9DRkxBR1M9Ii1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlv biIKKwlleHBvcnQgQlVJTERfQ1hYRkxBR1M9Ii1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbiIK KwlpZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJQ0ZMQUdTKz0iIC0tZ2NjLXRvb2xjaGFp bj0vdXNyIgorCQlDRkxBR1MrPSIgLS1zeXNyb290PSR7WEJQU19DUk9TU19CQVNFfSIKKwkJQ0ZM QUdTKz0iIC1ub3N0ZGluYyIKKwkJQ0ZMQUdTKz0iIC1pc3lzdGVtICR7WEJQU19DUk9TU19CQVNF fS91c3IvaW5jbHVkZSIKKwkJQ0ZMQUdTKz0iIC1pc3lzdGVtIC91c3IvbGliL2NsYW5nLyR7Y2xh bmdfdmVyc2lvbn0vaW5jbHVkZSIKKwkJQ1hYRkxBR1MrPSIgLS1nY2MtdG9vbGNoYWluPS91c3Ii CisJCUNYWEZMQUdTKz0iIC0tc3lzcm9vdD0ke1hCUFNfQ1JPU1NfQkFTRX0iCisJCUNYWEZMQUdT Kz0iIC1ub3N0ZGluYysrIgorCQlDWFhGTEFHUys9IiAtaXN5c3RlbSAke1hCUFNfQ1JPU1NfQkFT RX0vdXNyL2luY2x1ZGUvYysrLyR7Z2NjX3ZlcnNpb24lLip9IgorCQlDWFhGTEFHUys9IiAtaXN5 c3RlbSAke1hCUFNfQ1JPU1NfQkFTRX0vdXNyL2luY2x1ZGUvYysrLyR7Z2NjX3ZlcnNpb24lLip9 LyR7WEJQU19DUk9TU19UUklQTEVUfSIKKwkJQ1hYRkxBR1MrPSIgLWlzeXN0ZW0gJHtYQlBTX0NS T1NTX0JBU0V9L3Vzci9pbmNsdWRlL2MrKy8ke2djY192ZXJzaW9uJS4qfS9iYWNrd2FyZCIKKwkJ Q1hYRkxBR1MrPSIgLW5vc3RkaW5jIgorCQlDWFhGTEFHUys9IiAtaXN5c3RlbSAke1hCUFNfQ1JP U1NfQkFTRX0vdXNyL2luY2x1ZGUiCisJCUNYWEZMQUdTKz0iIC1pc3lzdGVtIC91c3IvbGliL2Ns YW5nLyR7Y2xhbmdfdmVyc2lvbn0vaW5jbHVkZSIKKwkJTERGTEFHUys9IiAtLWdjYy10b29sY2hh aW49L3VzciAtLXN5c3Jvb3Q9JHtYQlBTX0NST1NTX0JBU0V9IgorCWZpCit9CisKK19zZXR1cF90 b29sY2hhaW4oKSB7CiAJaWYgWyAiJGJ1aWxkX29wdGlvbl9jbGFuZyIgXTsgdGhlbgotCQlleHBv cnQgQ0M9Y2xhbmcKLQkJZXhwb3J0IENYWD1jbGFuZysrCisJCV9zZXR1cF9jbGFuZwogCWZpCisJ Q1hYRkxBR1MrPSIgLWZkZWJ1Zy1wcmVmaXgtbWFwPSR3cmtzcmM9LiIKKwlDRkxBR1MrPSIgLWZk ZWJ1Zy1wcmVmaXgtbWFwPSR3cmtzcmM9LiIKK30KIAotCWV4cG9ydCBMREZMQUdTPSItcHRocmVh ZCIKK2RvX2NvbmZpZ3VyZSgpIHsKKwlsb2NhbCBzeXN0ZW09IiIgY29uZj0oKQogCiAJIyBjb21w aWxlIGduIGVhcmx5LCBzbyBpdCBjYW4gYmUgdXNlZCB0byBnZW5lcmF0ZSBnbmkgc3R1ZmYKIAlB Uj0iYXIiIENDPSRDQ19GT1JfQlVJTEQgQ1hYPSRDWFhfRk9SX0JVSUxEIExEPSRDWFhfRk9SX0JV SUxEIFwKLQl0b29scy9nbi9ib290c3RyYXAvYm9vdHN0cmFwLnB5IC0tc2tpcC1nZW5lcmF0ZS1i dWlsZGZpbGVzCisJCUNGTEFHUz0kQ0ZMQUdTX0ZPUl9CVUlMRCBDWFhGTEFHUz0kQ1hYRkxBR1Nf Rk9SX0JVSUxEIExERkxBR1M9JExERkxBR1NfRk9SX0JVSUxEIFwKKwkJdG9vbHMvZ24vYm9vdHN0 cmFwL2Jvb3RzdHJhcC5weSAtLXNraXAtZ2VuZXJhdGUtYnVpbGRmaWxlcwogCiAJIyB3ZSBuZWVk IHRvIGdlbmVyYXRlIHBwYzY0IHN0dWZmIGZvciBsaWJ2cHggYXMgaXQncyBub3Qgc2hpcHBlZAog CSMgdGhpcyBoYXMgdG8gYmUgZG9uZSBiZWZvcmUgdW5idW5kbGluZywgYnV0IGFmdGVyIGduIGlz IGJ1aWx0CkBAIC0xNTQsOCArMjExLDggQEAgZG9fY29uZmlndXJlKCkgewogCQknZW5hYmxlX25h Y2xfbm9uc2ZpPWZhbHNlJwogCiAJCSd1c2Vfc3lzcm9vdD1mYWxzZScKLQkJJ2N1c3RvbV90b29s Y2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJwotCQknaG9z dF90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJwor CisJCSdob3N0X3BrZ19jb25maWc9Ii91c3IvYmluL3BrZy1jb25maWciJwogCiAJCSJpc19jbGFu Zz0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBmYWxzZSkiCiAJCSJ1c2VfbGxkPSQodm9wdF9pZiBjbGFu ZyB0cnVlIGZhbHNlKSIKQEAgLTE4MSw2ICsyMzgsNyBAQCBkb19jb25maWd1cmUoKSB7CiAJCSdl bmFibGVfaGFuZ291dF9zZXJ2aWNlc19leHRlbnNpb249dHJ1ZScKIAogCQkndXNlX3N5c3RlbV9o YXJmYnV6ej10cnVlJworCQkndXNlX3N5c3RlbV93YXlsYW5kX3NjYW5uZXI9dHJ1ZScKIAogCQkn dXNlX2N1cHM9dHJ1ZScKIApAQCAtMjIwLDExICsyNzgsMjggQEAgZG9fY29uZmlndXJlKCkgewog CQknY2hyb21lX3Bnb19waGFzZT0wJwogCSkKIAorCWlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhl bgorCQljb25mKz0oCisJCQknY3VzdG9tX3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4vbGlu dXgvdW5idW5kbGU6ZGVmYXVsdCInCisJCQknaG9zdF90b29sY2hhaW49Ii8vYnVpbGQvdG9vbGNo YWluL2xpbnV4L3VuYnVuZGxlOmhvc3QiJworCQkJJ3Y4X3NuYXBzaG90X3Rvb2xjaGFpbj0iLy9i dWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGU6djhfc25hcHNob3RfY3Jvc3MiJworCQkpCisJ ZWxzZQorCQljb25mKz0oCisJCQknY3VzdG9tX3Rvb2xjaGFpbj0iLy9idWlsZC90b29sY2hhaW4v bGludXgvdW5idW5kbGU6ZGVmYXVsdCInCisJCQknaG9zdF90b29sY2hhaW49Ii8vYnVpbGQvdG9v bGNoYWluL2xpbnV4L3VuYnVuZGxlOmRlZmF1bHQiJworCQkpCisJZmkKKwogCSMgdGhpcyBkb2Vz IG5vdCB3b3JrIG9uIHBwYzY0IHlldAogCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgog CQlwcGM2NCopIGNvbmYrPSggImVuYWJsZV9qeGxfZGVjb2Rlcj1mYWxzZSIgKTs7CiAJZXNhYwog CisJaWYgWyAiJFhCUFNfVEFSR0VUX0xJQkMiID0gIm11c2wiIF07IHRoZW4KKwkJY29uZis9KCAn aXNfbXVzbD10cnVlJyApCisJZmkKKwogCWNhc2UgIiR7WEJQU19UQVJHRVRfTUFDSElORX0iIGlu CiAJCXg4Nl82NCopIGNvbmYrPSggJ3RhcmdldF9jcHU9Ing2NCInICkgOzsKIAkJaTY4NiopIGNv bmYrPSggJ3RhcmdldF9jcHU9Ing4NiInICkgOzsKQEAgLTIzMywzNSArMzA4LDMyIEBAIGRvX2Nv bmZpZ3VyZSgpIHsKIAkJcHBjNjQqKSBjb25mKz0oICd0YXJnZXRfY3B1PSJwcGM2NCInICkgOzsK IAllc2FjCiAKLQlpZiBbICIkYnVpbGRfb3B0aW9uX2NsYW5nIiBdOyB0aGVuCi0JCWV4cG9ydCBD Qz1jbGFuZwotCQlleHBvcnQgQ1hYPWNsYW5nKysKLQkJZXhwb3J0IEFSPWxsdm0tYXIKLQkJZXhw b3J0IE5NPWxsdm0tbm0KLQkJZXhwb3J0IENGTEFHUz0iLVduby11bmtub3duLXdhcm5pbmctb3B0 aW9uIgotCQlleHBvcnQgQ1hYRkxBR1M9Ii1Xbm8tdW5rbm93bi13YXJuaW5nLW9wdGlvbiIKKwlp ZiBbICIkQ1JPU1NfQlVJTEQiIF07IHRoZW4KKwkJY2FzZSAiJHtYQlBTX01BQ0hJTkV9IiBpbgor CQkJeDg2XzY0KikgY29uZis9KCAnaG9zdF9jcHU9Ing2NCInICkgOzsKKwkJCWk2ODYqKSBjb25m Kz0oICdob3N0X2NwdT0ieDg2IicgKSA7OworCQkJYXJtKikgY29uZis9KCAnaG9zdF9jcHU9ImFy bSInICkgOzsKKwkJCWFhcmNoNjQqKSBjb25mKz0oICdob3N0X2NwdT0iYXJtNjQiJyApIDs7CisJ CQlwcGM2NCopIGNvbmYrPSggJ2hvc3RfY3B1PSJwcGM2NCInICkgOzsKKwkJZXNhYwogCWZpCi0K Kwlfc2V0dXBfdG9vbGNoYWluCiAJb3V0L1JlbGVhc2UvZ24gZ2VuIG91dC9SZWxlYXNlIC0tYXJn cz0iJHtjb25mWypdfSIKIH0KLWRvX2J1aWxkKCkgewotCWlmIFsgIiRidWlsZF9vcHRpb25fY2xh bmciIF07IHRoZW4KLQkJZXhwb3J0IENDPWNsYW5nCi0JCWV4cG9ydCBDWFg9Y2xhbmcrKwotCQll eHBvcnQgQVI9bGx2bS1hcgotCQlleHBvcnQgTk09bGx2bS1ubQotCQlleHBvcnQgQ0ZMQUdTPSIt V25vLXVua25vd24td2FybmluZy1vcHRpb24iCi0JCWV4cG9ydCBDWFhGTEFHUz0iLVduby11bmtu b3duLXdhcm5pbmctb3B0aW9uIgotCWZpCiAKLQluaW5qYSAtQyBvdXQvUmVsZWFzZSAke21ha2Vq b2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIG1rc25hcHNob3QgY2hyb21lX2NyYXNocGFkX2hhbmRs ZXIKK2RvX2J1aWxkKCkgeworCV9zZXR1cF90b29sY2hhaW4KKwluaW5qYSAtQyBvdXQvUmVsZWFz ZSAke21ha2Vqb2JzfSBjaHJvbWUgY2hyb21lZHJpdmVyIGNocm9tZV9jcmFzaHBhZF9oYW5kbGVy CiB9CisKIGRvX2luc3RhbGwoKSB7CiAJdmluc3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lIDc1NSB1 c3IvbGliLyR7cGtnbmFtZX0gJHtwa2duYW1lfQogCXZpbnN0YWxsIG91dC9SZWxlYXNlL2Nocm9t ZV9jcmFzaHBhZF9oYW5kbGVyIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gY2hyb21lX2NyYXNocGFk X2hhbmRsZXIKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9jaHJvbWVkcml2ZXIgNzU1IHVzci9saWIv JHtwa2duYW1lfSBjaHJvbWVkcml2ZXIKIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9saWJFR0wuc28g NzU1IHVzci9saWIvJHtwa2duYW1lfSBsaWJFR0wuc28KIAl2aW5zdGFsbCBvdXQvUmVsZWFzZS9s aWJHTEVTdjIuc28gNzU1IHVzci9saWIvJHtwa2duYW1lfSBsaWJHTEVTdjIuc28KKwl2aW5zdGFs bCBvdXQvUmVsZWFzZS9saWJ2a19zd2lmdHNoYWRlci5zbyA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9 IGxpYnZrX3N3aWZ0c2hhZGVyLnNvCisJdmluc3RhbGwgb3V0L1JlbGVhc2Uvdmtfc3dpZnRzaGFk ZXJfaWNkLmpzb24gNzU1IHVzci9saWIvJHtwa2duYW1lfSB2a19zd2lmdHNoYWRlcl9pY2QuanNv bgogCiAJdmNvcHkgIm91dC9SZWxlYXNlLyouYmluIiB1c3IvbGliL2Nocm9taXVtCiAJdmNvcHkg Im91dC9SZWxlYXNlLyoucGFrIiB1c3IvbGliL2Nocm9taXVtCg== --===============5010868523118679930==--