From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE,URI_TRY_USME autolearn=no autolearn_force=no version=3.4.4 Received: from inbox.vuxu.org (inbox.vuxu.org [IPv6:::1]) by inbox.vuxu.org (Postfix) with ESMTP id 35C7425029 for ; Sun, 11 Feb 2024 02:46:57 +0100 (CET) Content-Type: multipart/mixed; boundary="===============4437637988847651430==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_121=2E0=2E6167=2E85=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 11 Feb 2024 02:46:57 +0100 List-Id: Message-Id: <20240211014657.35C7425029@inbox.vuxu.org> GitHub notification mails are now in MIME to allow UTF8. --===============4437637988847651430== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTEyMQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDgzNjcKCmNocm9taXVtOiB1cGRhdGUgdG8gMTIxLjAu NjE2Ny44NS4KW2NpIHNraXBdDQoNCiogWyBdIHg4Nl82NC1nbGliYw0KKiBbIF0geDg2XzY0LW11 c2wNCiogWyBdIGFhcmNoNjQtbXVzbA0KKiBbIF0gaTY4NgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ4MzY3LnBhdGNo IGlzIGF0dGFjaGVk --===============4437637988847651430== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-121-48367.patch" RnJvbSBhOTg5NGM5ZTNiZDhlMmNiYmNmMzdjNjYxMGIwMDIzZDE4M2JiYjgwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFRodSwgMjUgSmFuIDIwMjQgMTY6MDc6MDcgKzAxMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDEyMS4wLjYxNjcuODUuCgotLS0KIC4uLkVSVC1yb2xsLXNyYy10aGlyZF9w YXJ0eS1mZm1wZWctbTEwMi5wYXRjaCB8IDMzMyAtLS0tLS0tLS0tLS0tCiAuLi5vbGwtc3JjLXRo aXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBhdGNoLmFyZ3MgfCAgIDEgLQogLi4uRVJULXJvbGwtc3Jj LXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoIHwgIDU1IC0tLQogLi4ub2xsLXNyYy10aGly ZF9wYXJ0eS1mZm1wZWctbTEwNi5wYXRjaC5hcmdzIHwgICAxIC0KIC4uLi9wYXRjaGVzL2Nocm9t aXVtLTExOS1mZm1wZWctNC40LnBhdGNoICAgICB8ICAyMCAtCiAuLi4vY2hyb21pdW0tMTIwLWFy bTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoICAgfCAgMTQgLQogLi4ucm9taXVtLTEyMC1lbDctY2xh bmctdmVyc2lvbi13YXJuaW5nLnBhdGNoIHwgIDE2IC0KIC4uLi9jaHJvbWl1bS0xMjAtZ24td29y a2Fyb3VuZC1hdHNwaS5wYXRjaCAgICB8ICAxMyAtCiAuLi4vY2hyb21pdW0tMTIwLW1pc3Npbmct aGVhZGVyLWZpbGVzLnBhdGNoICAgfCA0NTkgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vY2hyb21p dW0tMTIxLWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoICAgfCAgMTMgKwogLi4uL3BhdGNoZXMv Y2hyb21pdW0tMTIxLWNvbnN0ZXhwci5wYXRjaCAgICAgIHwgIDEyICsKIC4uLnJvbWl1bS0xMjEt ZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaCB8ICAxNSArCiAuLi5vbnN0cnVjdG9yLWlu dm9sdmluZy1hbm9ueW1vdXMtdW5pb24ucGF0Y2ggfCAgMTIgKwogLi4uL2Nocm9taXVtLTEyMS1t aXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaCAgIHwgNDU5ICsrKysrKysrKysrKysrKysrKwogLi4u L3BhdGNoZXMvY2hyb21pdW0tMTIxLW1uZW1vbmljLWVycm9yLnBhdGNoIHwgIDEyICsKIC4uLmhy b21pdW0tMTIxLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNofSB8IDQwNyArKysrKysrKysr KystLS0tCiAuLi4tMTIxLW51bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2ggfCAg MTIgKwogLi4uLTEyMS1weXRob24zLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLnBhdGNoIHwgIDc3 ICsrKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tMTIxLXJ1c3QtY2xhbmdfbGliLnBhdGNoIHwgIDIy ICsKIC4uLm0tMTIxLXJ1c3Qtd2l0aG91dC1wcm9maWxlcl9idWlsdGlucy5wYXRjaCB8ICAxMCAr CiAuLi4vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtc3lzdGVtLWxpYnhtbC5wYXRjaCAgfCAgMjQgKwog Li4ubmFtZS5wYXRjaCA9PiBjaHJvbWl1bS0xMjEtdHlwZW5hbWUucGF0Y2h9IHwgIDU0ICsrKwog Li4uYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2h9IHwgIDIwICstCiBz cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZ2NjMTMtd25vZXJyb3IucGF0Y2ggfCAgMjEgLQogLi4u dW5kbGUtZmZtcGVnLWF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzLnBhdGNoIHwgIDEyIC0KIHNyY3Br Z3MvY2hyb21pdW0vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAzNCArLQogMjYgZmls ZXMgY2hhbmdlZCwgMTA1OSBpbnNlcnRpb25zKCspLCAxMDY5IGRlbGV0aW9ucygtKQogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhp cmRfcGFydHktZmZtcGVnLW0xMDIucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBh dGNoLmFyZ3MKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVW RVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0 eS1mZm1wZWctbTEwNi5wYXRjaC5hcmdzCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOS1mZm1wZWctNC40LnBhdGNoCiBkZWxldGUgbW9kZSAx MDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1hcm02NC1tZW1vcnlf dGFnZ2luZy5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS0xMjAtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaAogZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtZ24td29ya2Fy b3VuZC1hdHNwaS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS0xMjAtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWFybTY0LW1lbW9y eV90YWdnaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTEyMS1jb25zdGV4cHIucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5p bmcucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIxLWVsNy1kZWZhdWx0LWNvbnN0cnVjdG9yLWludm9sdmluZy1hbm9ueW1vdXMtdW5p b24ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIxLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1tbmVtb25pYy1lcnJvci5wYXRj aAogcmVuYW1lIHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy97Y2hyb21pdW0tMTIwLW5vX21hdGNo aW5nX2NvbnN0cnVjdG9yLnBhdGNoID0+IGNocm9taXVtLTEyMS1ub19tYXRjaGluZ19jb25zdHJ1 Y3Rvci5wYXRjaH0gKDc1JSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTIxLW51bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2gK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LXB5dGhvbjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXJ1c3QtY2xhbmdfbGliLnBh dGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTEyMS1ydXN0LXdpdGhvdXQtcHJvZmlsZXJfYnVpbHRpbnMucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXN5c3RlbS1saWJ4bWwu cGF0Y2gKIHJlbmFtZSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMve2Nocm9taXVtLTEyMC10eXBl bmFtZS5wYXRjaCA9PiBjaHJvbWl1bS0xMjEtdHlwZW5hbWUucGF0Y2h9ICg3OCUpCiByZW5hbWUg c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3tjaHJvbWl1bS0xMjAtd29ya2Fyb3VuZF9jbGFuZ19i dWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNoID0+IGNocm9taXVtLTEyMS13b3JrYXJvdW5kX2Ns YW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2h9ICg3NSUpCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2djYzEzLXdub2Vycm9yLnBhdGNoCiBkZWxldGUg bW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3VuYnVuZGxlLWZmbXBlZy1hdl9z dHJlYW1fZ2V0X2ZpcnN0X2R0cy5wYXRjaAoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHktZmZtcGVnLW0xMDIucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBl Zy1tMTAyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlNzM5YjQwYTI3MzNj Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9s bC1zcmMtdGhpcmRfcGFydHktZmZtcGVnLW0xMDIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwz MzMgKzAsMCBAQAotRnJvbSA2ZTU1NGEzMDg5MzE1MDc5M2MyNjM4ZTM2ODljZjIwOGZmYzhlMzc1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGFsZSBDdXJ0aXMgPGRhbGVjdXJ0aXNA Y2hyb21pdW0ub3JnPgotRGF0ZTogU2F0LCAyIEFwciAyMDIyIDA1OjEzOjUzICswMDAwCi1TdWJq ZWN0OiBbUEFUQ0hdIFJvbGwgc3JjL3RoaXJkX3BhcnR5L2ZmbXBlZy8gNTc0YzM5Y2NlLi4zMmIy ZDFkNTI2ICgxMTI1Ci0gY29tbWl0cykKLQotaHR0cHM6Ly9jaHJvbWl1bS5nb29nbGVzb3VyY2Uu Y29tL2Nocm9taXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy5naXQvK2xvZy81NzRjMzljY2UzMjMuLjMy YjJkMWQ1MjYKLQotQ3JlYXRlZCB3aXRoOgotICByb2xsLWRlcCBzcmMvdGhpcmRfcGFydHkvZmZt cGVnCi0KLUZpeGVkOiAxMjkzOTE4Ci1DcS1JbmNsdWRlLVRyeWJvdHM6IGx1Y2kuY2hyb21pdW0u dHJ5Om1hY19jaHJvbWl1bV9hc2FuX3JlbF9uZyxsaW51eF9jaHJvbWl1bV9hc2FuX3JlbF9uZyxs aW51eF9jaHJvbWl1bV9jaHJvbWVvc19hc2FuX3JlbF9uZwotQ2hhbmdlLUlkOiBJNDE5NDVkMGY5 NjNlM2QxZjY1OTQwMDY3YmFjMjJmNjNiNjhlMzdkMgotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hy b21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zNTY1NjQ3Ci1B dXRvLVN1Ym1pdDogRGFsZSBDdXJ0aXMgPGRhbGVjdXJ0aXNAY2hyb21pdW0ub3JnPgotUmV2aWV3 ZWQtYnk6IERhbiBTYW5kZXJzIDxzYW5kZXJzZEBjaHJvbWl1bS5vcmc+Ci1Db21taXQtUXVldWU6 IERhbGUgQ3VydGlzIDxkYWxlY3VydGlzQGNocm9taXVtLm9yZz4KLUNyLUNvbW1pdC1Qb3NpdGlv bjogcmVmcy9oZWFkcy9tYWluQHsjOTg4MjUzfQotLS0tCi0gLi4uL2NsZWFyX2tleV9jZG0vZmZt cGVnX2NkbV9hdWRpb19kZWNvZGVyLmNjIHwgMjkgKysrKysrKysrKy0tLS0tLS0tLQotIG1lZGlh L2ZmbXBlZy9mZm1wZWdfY29tbW9uLmNjICAgICAgICAgICAgICAgICB8IDExICsrKy0tLS0KLSBt ZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjICAgICAgICAgICAgfCAgOSArKystLS0K LSBtZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyX3VuaXR0ZXN0LmNjICAgfCAgNiArKy0t Ci0gLi4uL2ZpbHRlcnMvYXVkaW9fdmlkZW9fbWV0YWRhdGFfZXh0cmFjdG9yLmNjIHwgMTEgKysr KystLQotIC4uLi9maWx0ZXJzL2ZmbXBlZ19hYWNfYml0c3RyZWFtX2NvbnZlcnRlci5jYyB8ICA3 ICsrKy0tCi0gLi4uZmZtcGVnX2FhY19iaXRzdHJlYW1fY29udmVydGVyX3VuaXR0ZXN0LmNjIHwg IDIgKy0KLSBtZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVyLmNjICAgICAgICAgfCAx MyArKysrKy0tLS0KLSA4IGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDM3IGRlbGV0 aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvbWVkaWEvY2RtL2xpYnJhcnlfY2RtL2NsZWFyX2tleV9j ZG0vZmZtcGVnX2NkbV9hdWRpb19kZWNvZGVyLmNjIGIvbWVkaWEvY2RtL2xpYnJhcnlfY2RtL2Ns ZWFyX2tleV9jZG0vZmZtcGVnX2NkbV9hdWRpb19kZWNvZGVyLmNjCi1pbmRleCBlNGZjM2Y0NjBl Mi4uOWIxYWQ5Zjc2NzUgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9jZG0vbGlicmFyeV9jZG0vY2xlYXJf a2V5X2NkbS9mZm1wZWdfY2RtX2F1ZGlvX2RlY29kZXIuY2MKLSsrKyBiL21lZGlhL2NkbS9saWJy YXJ5X2NkbS9jbGVhcl9rZXlfY2RtL2ZmbXBlZ19jZG1fYXVkaW9fZGVjb2Rlci5jYwotQEAgLTc0 LDcgKzc0LDcgQEAgdm9pZCBDZG1BdWRpb0RlY29kZXJDb25maWdUb0FWQ29kZWNDb250ZXh0KAot ICAgICAgIGNvZGVjX2NvbnRleHQtPnNhbXBsZV9mbXQgPSBBVl9TQU1QTEVfRk1UX05PTkU7Ci0g ICB9Ci0gCi0tICBjb2RlY19jb250ZXh0LT5jaGFubmVscyA9IGNvbmZpZy5jaGFubmVsX2NvdW50 OwotKyAgY29kZWNfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID0gY29uZmlnLmNoYW5u ZWxfY291bnQ7Ci0gICBjb2RlY19jb250ZXh0LT5zYW1wbGVfcmF0ZSA9IGNvbmZpZy5zYW1wbGVz X3Blcl9zZWNvbmQ7Ci0gCi0gICBpZiAoY29uZmlnLmV4dHJhX2RhdGEpIHsKLUBAIC0xMjQsOCAr MTI0LDggQEAgdm9pZCBDb3B5U2FtcGxlcyhjZG06OkF1ZGlvRm9ybWF0IGNkbV9mb3JtYXQsCi0g ICAgIGNhc2UgY2RtOjprQXVkaW9Gb3JtYXRQbGFuYXJTMTY6Ci0gICAgIGNhc2UgY2RtOjprQXVk aW9Gb3JtYXRQbGFuYXJGMzI6IHsKLSAgICAgICBjb25zdCBpbnQgZGVjb2RlZF9zaXplX3Blcl9j aGFubmVsID0KLS0gICAgICAgICAgZGVjb2RlZF9hdWRpb19zaXplIC8gYXZfZnJhbWUuY2hhbm5l bHM7Ci0tICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhdl9mcmFtZS5jaGFubmVsczsgKytpKSB7 Ci0rICAgICAgICAgIGRlY29kZWRfYXVkaW9fc2l6ZSAvIGF2X2ZyYW1lLmNoX2xheW91dC5uYl9j aGFubmVsczsKLSsgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGF2X2ZyYW1lLmNoX2xheW91dC5u Yl9jaGFubmVsczsgKytpKSB7Ci0gICAgICAgICBtZW1jcHkob3V0cHV0X2J1ZmZlciwgYXZfZnJh bWUuZXh0ZW5kZWRfZGF0YVtpXSwKLSAgICAgICAgICAgICAgICBkZWNvZGVkX3NpemVfcGVyX2No YW5uZWwpOwotICAgICAgICAgb3V0cHV0X2J1ZmZlciArPSBkZWNvZGVkX3NpemVfcGVyX2NoYW5u ZWw7Ci1AQCAtMTg1LDEzICsxODUsMTQgQEAgYm9vbCBGRm1wZWdDZG1BdWRpb0RlY29kZXI6Oklu aXRpYWxpemUoCi0gICAvLyBTdWNjZXNzIQotICAgZGVjb2RpbmdfbG9vcF8gPSBzdGQ6Om1ha2Vf dW5pcXVlPEZGbXBlZ0RlY29kaW5nTG9vcD4oY29kZWNfY29udGV4dF8uZ2V0KCkpOwotICAgc2Ft cGxlc19wZXJfc2Vjb25kXyA9IGNvbmZpZy5zYW1wbGVzX3Blcl9zZWNvbmQ7Ci0tICBieXRlc19w ZXJfZnJhbWVfID0gY29kZWNfY29udGV4dF8tPmNoYW5uZWxzICogY29uZmlnLmJpdHNfcGVyX2No YW5uZWwgLyA4OwotKyAgYnl0ZXNfcGVyX2ZyYW1lXyA9Ci0rICAgICAgY29kZWNfY29udGV4dF8t PmNoX2xheW91dC5uYl9jaGFubmVscyAqIGNvbmZpZy5iaXRzX3Blcl9jaGFubmVsIC8gODsKLSAg IG91dHB1dF90aW1lc3RhbXBfaGVscGVyXyA9Ci0gICAgICAgc3RkOjptYWtlX3VuaXF1ZTxBdWRp b1RpbWVzdGFtcEhlbHBlcj4oY29uZmlnLnNhbXBsZXNfcGVyX3NlY29uZCk7Ci0gICBpc19pbml0 aWFsaXplZF8gPSB0cnVlOwotIAotICAgLy8gU3RvcmUgaW5pdGlhbCB2YWx1ZXMgdG8gZ3VhcmQg YWdhaW5zdCBtaWRzdHJlYW0gY29uZmlndXJhdGlvbiBjaGFuZ2VzLgotLSAgY2hhbm5lbHNfID0g Y29kZWNfY29udGV4dF8tPmNoYW5uZWxzOwotKyAgY2hhbm5lbHNfID0gY29kZWNfY29udGV4dF8t PmNoX2xheW91dC5uYl9jaGFubmVsczsKLSAgIGF2X3NhbXBsZV9mb3JtYXRfID0gY29kZWNfY29u dGV4dF8tPnNhbXBsZV9mbXQ7Ci0gCi0gICByZXR1cm4gdHJ1ZTsKLUBAIC0yOTEsMTcgKzI5Miwx OSBAQCBjZG06OlN0YXR1cyBGRm1wZWdDZG1BdWRpb0RlY29kZXI6OkRlY29kZUJ1ZmZlcigKLSAg IGZvciAoYXV0byYgZnJhbWUgOiBhdWRpb19mcmFtZXMpIHsKLSAgICAgaW50IGRlY29kZWRfYXVk aW9fc2l6ZSA9IDA7Ci0gICAgIGlmIChmcmFtZS0+c2FtcGxlX3JhdGUgIT0gc2FtcGxlc19wZXJf c2Vjb25kXyB8fAotLSAgICAgICAgZnJhbWUtPmNoYW5uZWxzICE9IGNoYW5uZWxzXyB8fCBmcmFt ZS0+Zm9ybWF0ICE9IGF2X3NhbXBsZV9mb3JtYXRfKSB7Ci0rICAgICAgICBmcmFtZS0+Y2hfbGF5 b3V0Lm5iX2NoYW5uZWxzICE9IGNoYW5uZWxzXyB8fAotKyAgICAgICAgZnJhbWUtPmZvcm1hdCAh PSBhdl9zYW1wbGVfZm9ybWF0XykgewotICAgICAgIERMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRl ZCBtaWRzdHJlYW0gY29uZmlndXJhdGlvbiBjaGFuZ2UhIgotICAgICAgICAgICAgICAgICAgIDw8 ICIgU2FtcGxlIFJhdGU6ICIgPDwgZnJhbWUtPnNhbXBsZV9yYXRlIDw8ICIgdnMgIgotLSAgICAg ICAgICAgICAgICAgIDw8IHNhbXBsZXNfcGVyX3NlY29uZF8gPDwgIiwgQ2hhbm5lbHM6ICIgPDwg ZnJhbWUtPmNoYW5uZWxzCi0tICAgICAgICAgICAgICAgICAgPDwgIiB2cyAiIDw8IGNoYW5uZWxz XyA8PCAiLCBTYW1wbGUgRm9ybWF0OiAiIDw8IGZyYW1lLT5mb3JtYXQKLS0gICAgICAgICAgICAg ICAgICA8PCAiIHZzICIgPDwgYXZfc2FtcGxlX2Zvcm1hdF87Ci0rICAgICAgICAgICAgICAgICAg PDwgc2FtcGxlc19wZXJfc2Vjb25kXwotKyAgICAgICAgICAgICAgICAgIDw8ICIsIENoYW5uZWxz OiAiIDw8IGZyYW1lLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPDwgIiB2cyAiCi0rICAgICAgICAg ICAgICAgICAgPDwgY2hhbm5lbHNfIDw8ICIsIFNhbXBsZSBGb3JtYXQ6ICIgPDwgZnJhbWUtPmZv cm1hdCA8PCAiIHZzICIKLSsgICAgICAgICAgICAgICAgICA8PCBhdl9zYW1wbGVfZm9ybWF0XzsK LSAgICAgICByZXR1cm4gY2RtOjprRGVjb2RlRXJyb3I7Ci0gICAgIH0KLSAKLSAgICAgZGVjb2Rl ZF9hdWRpb19zaXplID0gYXZfc2FtcGxlc19nZXRfYnVmZmVyX3NpemUoCi0tICAgICAgICBudWxs cHRyLCBjb2RlY19jb250ZXh0Xy0+Y2hhbm5lbHMsIGZyYW1lLT5uYl9zYW1wbGVzLAotKyAgICAg ICAgbnVsbHB0ciwgY29kZWNfY29udGV4dF8tPmNoX2xheW91dC5uYl9jaGFubmVscywgZnJhbWUt Pm5iX3NhbXBsZXMsCi0gICAgICAgICBjb2RlY19jb250ZXh0Xy0+c2FtcGxlX2ZtdCwgMSk7Ci0g ICAgIGlmICghZGVjb2RlZF9hdWRpb19zaXplKQotICAgICAgIGNvbnRpbnVlOwotQEAgLTMyMCw5 ICszMjMsOSBAQCBib29sIEZGbXBlZ0NkbUF1ZGlvRGVjb2Rlcjo6T25OZXdGcmFtZSgKLSAgICAg c2l6ZV90KiB0b3RhbF9zaXplLAotICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8QVZG cmFtZSwgU2NvcGVkUHRyQVZGcmVlRnJhbWU+PiogYXVkaW9fZnJhbWVzLAotICAgICBBVkZyYW1l KiBmcmFtZSkgewotLSAgKnRvdGFsX3NpemUgKz0gYXZfc2FtcGxlc19nZXRfYnVmZmVyX3NpemUo bnVsbHB0ciwgY29kZWNfY29udGV4dF8tPmNoYW5uZWxzLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWUtPm5iX3NhbXBsZXMsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlY19jb250ZXh0Xy0+c2FtcGxlX2Zt dCwgMSk7Ci0rICAqdG90YWxfc2l6ZSArPSBhdl9zYW1wbGVzX2dldF9idWZmZXJfc2l6ZSgKLSsg ICAgICBudWxscHRyLCBjb2RlY19jb250ZXh0Xy0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzLCBmcmFt ZS0+bmJfc2FtcGxlcywKLSsgICAgICBjb2RlY19jb250ZXh0Xy0+c2FtcGxlX2ZtdCwgMSk7Ci0g ICBhdWRpb19mcmFtZXMtPmVtcGxhY2VfYmFjayhhdl9mcmFtZV9jbG9uZShmcmFtZSkpOwotICAg cmV0dXJuIHRydWU7Ci0gfQotZGlmZiAtLWdpdCBhL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9u LmNjIGIvbWVkaWEvZmZtcGVnL2ZmbXBlZ19jb21tb24uY2MKLWluZGV4IDg3Y2E4OTY5NjI2Li43 NmYwM2Q2NjA4ZSAxMDA2NDQKLS0tLSBhL21lZGlhL2ZmbXBlZy9mZm1wZWdfY29tbW9uLmNjCi0r KysgYi9tZWRpYS9mZm1wZWcvZmZtcGVnX2NvbW1vbi5jYwotQEAgLTM0NSwxMCArMzQ1LDExIEBA IGJvb2wgQVZDb2RlY0NvbnRleHRUb0F1ZGlvRGVjb2RlckNvbmZpZyhjb25zdCBBVkNvZGVjQ29u dGV4dCogY29kZWNfY29udGV4dCwKLSAgICAgICBjb2RlY19jb250ZXh0LT5zYW1wbGVfZm10LCBj b2RlY19jb250ZXh0LT5jb2RlY19pZCk7Ci0gCi0gICBDaGFubmVsTGF5b3V0IGNoYW5uZWxfbGF5 b3V0ID0KLS0gICAgICBjb2RlY19jb250ZXh0LT5jaGFubmVscyA+IDgKLSsgICAgICBjb2RlY19j b250ZXh0LT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgPiA4Ci0gICAgICAgICAgID8gQ0hBTk5FTF9M QVlPVVRfRElTQ1JFVEUKLS0gICAgICAgICAgOiBDaGFubmVsTGF5b3V0VG9DaHJvbWVDaGFubmVs TGF5b3V0KGNvZGVjX2NvbnRleHQtPmNoYW5uZWxfbGF5b3V0LAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29kZWNfY29udGV4dC0+Y2hhbm5lbHMpOwot KyAgICAgICAgICA6IENoYW5uZWxMYXlvdXRUb0Nocm9tZUNoYW5uZWxMYXlvdXQoCi0rICAgICAg ICAgICAgICAgIGNvZGVjX2NvbnRleHQtPmNoX2xheW91dC51Lm1hc2ssCi0rICAgICAgICAgICAg ICAgIGNvZGVjX2NvbnRleHQtPmNoX2xheW91dC5uYl9jaGFubmVscyk7Ci0gCi0gICBpbnQgc2Ft cGxlX3JhdGUgPSBjb2RlY19jb250ZXh0LT5zYW1wbGVfcmF0ZTsKLSAgIHN3aXRjaCAoY29kZWMp IHsKLUBAIC00MDEsNyArNDAyLDcgQEAgYm9vbCBBVkNvZGVjQ29udGV4dFRvQXVkaW9EZWNvZGVy Q29uZmlnKGNvbnN0IEFWQ29kZWNDb250ZXh0KiBjb2RlY19jb250ZXh0LAotICAgICAgICAgICAg ICAgICAgICAgIGV4dHJhX2RhdGEsIGVuY3J5cHRpb25fc2NoZW1lLCBzZWVrX3ByZXJvbGwsCi0g ICAgICAgICAgICAgICAgICAgICAgY29kZWNfY29udGV4dC0+ZGVsYXkpOwotICAgaWYgKGNoYW5u ZWxfbGF5b3V0ID09IENIQU5ORUxfTEFZT1VUX0RJU0NSRVRFKQotLSAgICBjb25maWctPlNldENo YW5uZWxzRm9yRGlzY3JldGUoY29kZWNfY29udGV4dC0+Y2hhbm5lbHMpOwotKyAgICBjb25maWct PlNldENoYW5uZWxzRm9yRGlzY3JldGUoY29kZWNfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5u ZWxzKTsKLSAKLSAjaWYgQlVJTERGTEFHKEVOQUJMRV9QTEFURk9STV9BQzNfRUFDM19BVURJTykK LSAgIC8vIFRoZXNlIGFyZSBiaXRzdHJlYW0gZm9ybWF0cyB1bmtub3duIHRvIGZmbXBlZywgc28g dGhleSBkb24ndCBoYXZlCi1AQCAtNDcwLDcgKzQ3MSw3IEBAIHZvaWQgQXVkaW9EZWNvZGVyQ29u ZmlnVG9BVkNvZGVjQ29udGV4dChjb25zdCBBdWRpb0RlY29kZXJDb25maWcmIGNvbmZpZywKLSAK LSAgIC8vIFRPRE8oc2NoZXJrdXMpOiBzaG91bGQgd2Ugc2V0IHxjaGFubmVsX2xheW91dHw/IEkn bSBub3Qgc3VyZSBpZiBGRm1wZWcgdXNlcwotICAgLy8gc2FpZCBpbmZvcm1hdGlvbiB0byBkZWNv ZGUuCi0tICBjb2RlY19jb250ZXh0LT5jaGFubmVscyA9IGNvbmZpZy5jaGFubmVscygpOwotKyAg Y29kZWNfY29udGV4dC0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzID0gY29uZmlnLmNoYW5uZWxzKCk7 Ci0gICBjb2RlY19jb250ZXh0LT5zYW1wbGVfcmF0ZSA9IGNvbmZpZy5zYW1wbGVzX3Blcl9zZWNv bmQoKTsKLSAKLSAgIGlmIChjb25maWcuZXh0cmFfZGF0YSgpLmVtcHR5KCkpIHsKLWRpZmYgLS1n aXQgYS9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjIGIvbWVkaWEvZmlsdGVycy9h dWRpb19maWxlX3JlYWRlci5jYwotaW5kZXggNWYyNTdiZGZhYTYuLmUxYmU1YWE5YTViIDEwMDY0 NAotLS0tIGEvbWVkaWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYwotKysrIGIvbWVkaWEv ZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYwotQEAgLTExMywxNCArMTEzLDE1IEBAIGJvb2wg QXVkaW9GaWxlUmVhZGVyOjpPcGVuRGVjb2RlcigpIHsKLSAKLSAgIC8vIFZlcmlmeSB0aGUgY2hh bm5lbCBsYXlvdXQgaXMgc3VwcG9ydGVkIGJ5IENocm9tZS4gIEFjdHMgYXMgYSBzYW5pdHkgY2hl Y2sKLSAgIC8vIGFnYWluc3QgaW52YWxpZCBmaWxlcy4gIFNlZSBodHRwOi8vY3JidWcuY29tLzE3 MTk2MgotLSAgaWYgKENoYW5uZWxMYXlvdXRUb0Nocm9tZUNoYW5uZWxMYXlvdXQoY29kZWNfY29u dGV4dF8tPmNoYW5uZWxfbGF5b3V0LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29kZWNfY29udGV4dF8tPmNoYW5uZWxzKSA9PQotKyAgaWYgKENoYW5uZWxMYXlv dXRUb0Nocm9tZUNoYW5uZWxMYXlvdXQoCi0rICAgICAgICAgIGNvZGVjX2NvbnRleHRfLT5jaF9s YXlvdXQudS5tYXNrLAotKyAgICAgICAgICBjb2RlY19jb250ZXh0Xy0+Y2hfbGF5b3V0Lm5iX2No YW5uZWxzKSA9PQotICAgICAgIENIQU5ORUxfTEFZT1VUX1VOU1VQUE9SVEVEKSB7Ci0gICAgIHJl dHVybiBmYWxzZTsKLSAgIH0KLSAKLSAgIC8vIFN0b3JlIGluaXRpYWwgdmFsdWVzIHRvIGd1YXJk IGFnYWluc3QgbWlkc3RyZWFtIGNvbmZpZ3VyYXRpb24gY2hhbmdlcy4KLS0gIGNoYW5uZWxzXyA9 IGNvZGVjX2NvbnRleHRfLT5jaGFubmVsczsKLSsgIGNoYW5uZWxzXyA9IGNvZGVjX2NvbnRleHRf LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0gICBhdWRpb19jb2RlY18gPSBDb2RlY0lEVG9BdWRp b0NvZGVjKGNvZGVjX2NvbnRleHRfLT5jb2RlY19pZCk7Ci0gICBzYW1wbGVfcmF0ZV8gPSBjb2Rl Y19jb250ZXh0Xy0+c2FtcGxlX3JhdGU7Ci0gICBhdl9zYW1wbGVfZm9ybWF0XyA9IGNvZGVjX2Nv bnRleHRfLT5zYW1wbGVfZm10OwotQEAgLTIyMyw3ICsyMjQsNyBAQCBib29sIEF1ZGlvRmlsZVJl YWRlcjo6T25OZXdGcmFtZSgKLSAgIGlmIChmcmFtZXNfcmVhZCA8IDApCi0gICAgIHJldHVybiBm YWxzZTsKLSAKLS0gIGNvbnN0IGludCBjaGFubmVscyA9IGZyYW1lLT5jaGFubmVsczsKLSsgIGNv bnN0IGludCBjaGFubmVscyA9IGZyYW1lLT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0gICBpZiAo ZnJhbWUtPnNhbXBsZV9yYXRlICE9IHNhbXBsZV9yYXRlXyB8fCBjaGFubmVscyAhPSBjaGFubmVs c18gfHwKLSAgICAgICBmcmFtZS0+Zm9ybWF0ICE9IGF2X3NhbXBsZV9mb3JtYXRfKSB7Ci0gICAg IERMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBtaWRzdHJlYW0gY29uZmlndXJhdGlvbiBjaGFu Z2UhIgotZGlmZiAtLWdpdCBhL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXJfdW5pdHRl c3QuY2MgYi9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyX3VuaXR0ZXN0LmNjCi1pbmRl eCAyYWJhNzkyN2EzMS4uMWY0NWE1MGNhY2UgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9maWx0ZXJzL2F1 ZGlvX2ZpbGVfcmVhZGVyX3VuaXR0ZXN0LmNjCi0rKysgYi9tZWRpYS9maWx0ZXJzL2F1ZGlvX2Zp bGVfcmVhZGVyX3VuaXR0ZXN0LmNjCi1AQCAtMTIxLDExICsxMjEsMTEgQEAgY2xhc3MgQXVkaW9G aWxlUmVhZGVyVGVzdCA6IHB1YmxpYyB0ZXN0aW5nOjpUZXN0IHsKLSAgICAgRVhQRUNUX0ZBTFNF KHJlYWRlcl8tPk9wZW4oKSk7Ci0gICB9Ci0gCi0tICB2b2lkIFJ1blRlc3RGYWlsaW5nRGVjb2Rl KGNvbnN0IGNoYXIqIGZuKSB7Ci0rICB2b2lkIFJ1blRlc3RGYWlsaW5nRGVjb2RlKGNvbnN0IGNo YXIqIGZuLCBpbnQgZXhwZWN0X3JlYWQgPSAwKSB7Ci0gICAgIEluaXRpYWxpemUoZm4pOwotICAg ICBFWFBFQ1RfVFJVRShyZWFkZXJfLT5PcGVuKCkpOwotICAgICBzdGQ6OnZlY3RvcjxzdGQ6OnVu aXF1ZV9wdHI8QXVkaW9CdXM+PiBkZWNvZGVkX2F1ZGlvX3BhY2tldHM7Ci0tICAgIEVYUEVDVF9F UShyZWFkZXJfLT5SZWFkKCZkZWNvZGVkX2F1ZGlvX3BhY2tldHMpLCAwKTsKLSsgICAgRVhQRUNU X0VRKHJlYWRlcl8tPlJlYWQoJmRlY29kZWRfYXVkaW9fcGFja2V0cyksIGV4cGVjdF9yZWFkKTsK LSAgIH0KLSAKLSAgIHZvaWQgUnVuVGVzdFBhcnRpYWxEZWNvZGUoY29uc3QgY2hhciogZm4pIHsK LUBAIC0yMTksNyArMjE5LDcgQEAgVEVTVF9GKEF1ZGlvRmlsZVJlYWRlclRlc3QsIEFBQ19BRFRT KSB7Ci0gfQotIAotIFRFU1RfRihBdWRpb0ZpbGVSZWFkZXJUZXN0LCBNaWRTdHJlYW1Db25maWdD aGFuZ2VzRmFpbCkgewotLSAgUnVuVGVzdEZhaWxpbmdEZWNvZGUoIm1pZHN0cmVhbV9jb25maWdf Y2hhbmdlLm1wMyIpOwotKyAgUnVuVGVzdEZhaWxpbmdEZWNvZGUoIm1pZHN0cmVhbV9jb25maWdf Y2hhbmdlLm1wMyIsIDQyNjI0KTsKLSB9Ci0gI2VuZGlmCi0gCi1kaWZmIC0tZ2l0IGEvbWVkaWEv ZmlsdGVycy9hdWRpb192aWRlb19tZXRhZGF0YV9leHRyYWN0b3IuY2MgYi9tZWRpYS9maWx0ZXJz L2F1ZGlvX3ZpZGVvX21ldGFkYXRhX2V4dHJhY3Rvci5jYwotaW5kZXggMTg1ODE5ZWI5MzYuLjY5 ZmY1MDhjMjIxIDEwMDY0NAotLS0tIGEvbWVkaWEvZmlsdGVycy9hdWRpb192aWRlb19tZXRhZGF0 YV9leHRyYWN0b3IuY2MKLSsrKyBiL21lZGlhL2ZpbHRlcnMvYXVkaW9fdmlkZW9fbWV0YWRhdGFf ZXh0cmFjdG9yLmNjCi1AQCAtMTEzLDYgKzExMywxNSBAQCBib29sIEF1ZGlvVmlkZW9NZXRhZGF0 YUV4dHJhY3Rvcjo6RXh0cmFjdChEYXRhU291cmNlKiBzb3VyY2UsCi0gICAgIGlmICghc3RyZWFt KQotICAgICAgIGNvbnRpbnVlOwotIAotKyAgICB2b2lkKiBkaXNwbGF5X21hdHJpeCA9Ci0rICAg ICAgICBhdl9zdHJlYW1fZ2V0X3NpZGVfZGF0YShzdHJlYW0sIEFWX1BLVF9EQVRBX0RJU1BMQVlN QVRSSVgsIG51bGxwdHIpOwotKyAgICBpZiAoZGlzcGxheV9tYXRyaXgpIHsKLSsgICAgICByb3Rh dGlvbl8gPSBWaWRlb1RyYW5zZm9ybWF0aW9uOjpGcm9tRkZtcGVnRGlzcGxheU1hdHJpeCgKLSsg ICAgICAgICAgICAgICAgICAgICAgc3RhdGljX2Nhc3Q8aW50MzJfdCo+KGRpc3BsYXlfbWF0cml4 KSkKLSsgICAgICAgICAgICAgICAgICAgICAgLnJvdGF0aW9uOwotKyAgICAgIGluZm8udGFnc1si cm90YXRlIl0gPSBiYXNlOjpOdW1iZXJUb1N0cmluZyhyb3RhdGlvbl8pOwotKyAgICB9Ci0rCi0g ICAgIC8vIEV4dHJhY3QgZGljdGlvbmFyeSBmcm9tIHN0cmVhbXMgYWxzby4gTmVlZGVkIGZvciBj b250YWluZXJzIHRoYXQgYXR0YWNoCi0gICAgIC8vIG1ldGFkYXRhIHRvIGNvbnRhaW5lZCBzdHJl YW1zIGluc3RlYWQgdGhlIGNvbnRhaW5lciBpdHNlbGYsIGxpa2UgT0dHLgotICAgICBFeHRyYWN0 RGljdGlvbmFyeShzdHJlYW0tPm1ldGFkYXRhLCAmaW5mby50YWdzKTsKLUBAIC0yNTUsOCArMjY0 LDYgQEAgdm9pZCBBdWRpb1ZpZGVvTWV0YWRhdGFFeHRyYWN0b3I6OkV4dHJhY3REaWN0aW9uYXJ5 KEFWRGljdGlvbmFyeSogbWV0YWRhdGEsCi0gICAgIGlmIChyYXdfdGFncy0+ZmluZCh0YWctPmtl eSkgPT0gcmF3X3RhZ3MtPmVuZCgpKQotICAgICAgICgqcmF3X3RhZ3MpW3RhZy0+a2V5XSA9IHRh Zy0+dmFsdWU7Ci0gCi0tICAgIGlmIChFeHRyYWN0SW50KHRhZywgInJvdGF0ZSIsICZyb3RhdGlv bl8pKQotLSAgICAgIGNvbnRpbnVlOwotICAgICBpZiAoRXh0cmFjdFN0cmluZyh0YWcsICJhbGJ1 bSIsICZhbGJ1bV8pKQotICAgICAgIGNvbnRpbnVlOwotICAgICBpZiAoRXh0cmFjdFN0cmluZyh0 YWcsICJhcnRpc3QiLCAmYXJ0aXN0XykpCi1kaWZmIC0tZ2l0IGEvbWVkaWEvZmlsdGVycy9mZm1w ZWdfYWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXIuY2MgYi9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hYWNf Yml0c3RyZWFtX2NvbnZlcnRlci5jYwotaW5kZXggNmYyMzFjODU3MjkuLmNhNWU1ZmI5MjdkIDEw MDY0NAotLS0tIGEvbWVkaWEvZmlsdGVycy9mZm1wZWdfYWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXIu Y2MKLSsrKyBiL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2FhY19iaXRzdHJlYW1fY29udmVydGVyLmNj Ci1AQCAtMTk1LDE0ICsxOTUsMTUgQEAgYm9vbCBGRm1wZWdBQUNCaXRzdHJlYW1Db252ZXJ0ZXI6 OkNvbnZlcnRQYWNrZXQoQVZQYWNrZXQqIHBhY2tldCkgewotICAgaWYgKCFoZWFkZXJfZ2VuZXJh dGVkXyB8fCBjb2RlY18gIT0gc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5jb2RlY19pZCB8fAot ICAgICAgIGF1ZGlvX3Byb2ZpbGVfICE9IHN0cmVhbV9jb2RlY19wYXJhbWV0ZXJzXy0+cHJvZmls ZSB8fAotICAgICAgIHNhbXBsZV9yYXRlX2luZGV4XyAhPSBzYW1wbGVfcmF0ZV9pbmRleCB8fAot LSAgICAgIGNoYW5uZWxfY29uZmlndXJhdGlvbl8gIT0gc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNf LT5jaGFubmVscyB8fAotKyAgICAgIGNoYW5uZWxfY29uZmlndXJhdGlvbl8gIT0KLSsgICAgICAg ICAgc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5jaF9sYXlvdXQubmJfY2hhbm5lbHMgfHwKLSAg ICAgICBmcmFtZV9sZW5ndGhfICE9IGhlYWRlcl9wbHVzX3BhY2tldF9zaXplKSB7Ci0gICAgIGhl YWRlcl9nZW5lcmF0ZWRfID0KLSAgICAgICAgIEdlbmVyYXRlQWR0c0hlYWRlcihzdHJlYW1fY29k ZWNfcGFyYW1ldGVyc18tPmNvZGVjX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAs ICAvLyBsYXllcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbV9jb2RlY19wYXJh bWV0ZXJzXy0+cHJvZmlsZSwgc2FtcGxlX3JhdGVfaW5kZXgsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgIC8vIHByaXZhdGUgc3RyZWFtCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNfLT5jaGFubmVscywKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJlYW1fY29kZWNfcGFyYW1ldGVyc18tPmNoX2xheW91dC5uYl9jaGFubmVs cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAgLy8gb3JpZ2luYWxpdHkKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLCAgLy8gaG9tZQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDAsICAvLyBjb3B5cmlnaHRlZF9zdHJlYW0KLUBAIC0yMTQsNyArMjE1LDcgQEAgYm9v bCBGRm1wZWdBQUNCaXRzdHJlYW1Db252ZXJ0ZXI6OkNvbnZlcnRQYWNrZXQoQVZQYWNrZXQqIHBh Y2tldCkgewotICAgICBjb2RlY18gPSBzdHJlYW1fY29kZWNfcGFyYW1ldGVyc18tPmNvZGVjX2lk OwotICAgICBhdWRpb19wcm9maWxlXyA9IHN0cmVhbV9jb2RlY19wYXJhbWV0ZXJzXy0+cHJvZmls ZTsKLSAgICAgc2FtcGxlX3JhdGVfaW5kZXhfID0gc2FtcGxlX3JhdGVfaW5kZXg7Ci0tICAgIGNo YW5uZWxfY29uZmlndXJhdGlvbl8gPSBzdHJlYW1fY29kZWNfcGFyYW1ldGVyc18tPmNoYW5uZWxz OwotKyAgICBjaGFubmVsX2NvbmZpZ3VyYXRpb25fID0gc3RyZWFtX2NvZGVjX3BhcmFtZXRlcnNf LT5jaF9sYXlvdXQubmJfY2hhbm5lbHM7Ci0gICAgIGZyYW1lX2xlbmd0aF8gPSBoZWFkZXJfcGx1 c19wYWNrZXRfc2l6ZTsKLSAgIH0KLSAKLWRpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBl Z19hYWNfYml0c3RyZWFtX2NvbnZlcnRlcl91bml0dGVzdC5jYyBiL21lZGlhL2ZpbHRlcnMvZmZt cGVnX2FhY19iaXRzdHJlYW1fY29udmVydGVyX3VuaXR0ZXN0LmNjCi1pbmRleCAxZmQ0YzVjY2Q3 ZC4uZjU5YmNkOGZkYWYgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hYWNfYml0 c3RyZWFtX2NvbnZlcnRlcl91bml0dGVzdC5jYwotKysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdf YWFjX2JpdHN0cmVhbV9jb252ZXJ0ZXJfdW5pdHRlc3QuY2MKLUBAIC0zNCw3ICszNCw3IEBAIGNs YXNzIEZGbXBlZ0FBQ0JpdHN0cmVhbUNvbnZlcnRlclRlc3QgOiBwdWJsaWMgdGVzdGluZzo6VGVz dCB7Ci0gICAgIG1lbXNldCgmdGVzdF9wYXJhbWV0ZXJzXywgMCwgc2l6ZW9mKEFWQ29kZWNQYXJh bWV0ZXJzKSk7Ci0gICAgIHRlc3RfcGFyYW1ldGVyc18uY29kZWNfaWQgPSBBVl9DT0RFQ19JRF9B QUM7Ci0gICAgIHRlc3RfcGFyYW1ldGVyc18ucHJvZmlsZSA9IEZGX1BST0ZJTEVfQUFDX01BSU47 Ci0tICAgIHRlc3RfcGFyYW1ldGVyc18uY2hhbm5lbHMgPSAyOwotKyAgICB0ZXN0X3BhcmFtZXRl cnNfLmNoX2xheW91dC5uYl9jaGFubmVscyA9IDI7Ci0gICAgIHRlc3RfcGFyYW1ldGVyc18uZXh0 cmFkYXRhID0gZXh0cmFkYXRhX2hlYWRlcl87Ci0gICAgIHRlc3RfcGFyYW1ldGVyc18uZXh0cmFk YXRhX3NpemUgPSBzaXplb2YoZXh0cmFkYXRhX2hlYWRlcl8pOwotICAgfQotZGlmZiAtLWdpdCBh L21lZGlhL2ZpbHRlcnMvZmZtcGVnX2F1ZGlvX2RlY29kZXIuY2MgYi9tZWRpYS9maWx0ZXJzL2Zm bXBlZ19hdWRpb19kZWNvZGVyLmNjCi1pbmRleCA2YTU2YzY3NWY3ZC4uNDYxNWZkZWIzZmIgMTAw NjQ0Ci0tLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVyLmNjCi0rKysgYi9t ZWRpYS9maWx0ZXJzL2ZmbXBlZ19hdWRpb19kZWNvZGVyLmNjCi1AQCAtMjgsNyArMjgsNyBAQCBu YW1lc3BhY2UgbWVkaWEgewotIAotIC8vIFJldHVybiB0aGUgbnVtYmVyIG9mIGNoYW5uZWxzIGZy b20gdGhlIGRhdGEgaW4gfGZyYW1lfC4KLSBzdGF0aWMgaW5saW5lIGludCBEZXRlcm1pbmVDaGFu bmVscyhBVkZyYW1lKiBmcmFtZSkgewotLSAgcmV0dXJuIGZyYW1lLT5jaGFubmVsczsKLSsgIHJl dHVybiBmcmFtZS0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzOwotIH0KLSAKLSAvLyBDYWxsZWQgYnkg RkZtcGVnJ3MgYWxsb2NhdGlvbiByb3V0aW5lIHRvIGFsbG9jYXRlIGEgYnVmZmVyLiBVc2VzCi1A QCAtMjMxLDcgKzIzMSw3IEBAIGJvb2wgRkZtcGVnQXVkaW9EZWNvZGVyOjpPbk5ld0ZyYW1lKGNv bnN0IERlY29kZXJCdWZmZXImIGJ1ZmZlciwKLSAgIC8vIFRyYW5zbGF0ZSB1bnN1cHBvcnRlZCBp bnRvIGRpc2NyZXRlIGxheW91dHMgZm9yIGRpc2NyZXRlIGNvbmZpZ3VyYXRpb25zOwotICAgLy8g ZmZtcGVnIGRvZXMgbm90IGhhdmUgYSBsYWJlbGVkIGRpc2NyZXRlIGNvbmZpZ3VyYXRpb24gaW50 ZXJuYWxseS4KLSAgIENoYW5uZWxMYXlvdXQgY2hhbm5lbF9sYXlvdXQgPSBDaGFubmVsTGF5b3V0 VG9DaHJvbWVDaGFubmVsTGF5b3V0KAotLSAgICAgIGNvZGVjX2NvbnRleHRfLT5jaGFubmVsX2xh eW91dCwgY29kZWNfY29udGV4dF8tPmNoYW5uZWxzKTsKLSsgICAgICBjb2RlY19jb250ZXh0Xy0+ Y2hfbGF5b3V0LnUubWFzaywgY29kZWNfY29udGV4dF8tPmNoX2xheW91dC5uYl9jaGFubmVscyk7 Ci0gICBpZiAoY2hhbm5lbF9sYXlvdXQgPT0gQ0hBTk5FTF9MQVlPVVRfVU5TVVBQT1JURUQgJiYK LSAgICAgICBjb25maWdfLmNoYW5uZWxfbGF5b3V0KCkgPT0gQ0hBTk5FTF9MQVlPVVRfRElTQ1JF VEUpIHsKLSAgICAgY2hhbm5lbF9sYXlvdXQgPSBDSEFOTkVMX0xBWU9VVF9ESVNDUkVURTsKLUBA IC0zNDgsMTEgKzM0OCwxMSBAQCBib29sIEZGbXBlZ0F1ZGlvRGVjb2Rlcjo6Q29uZmlndXJlRGVj b2Rlcihjb25zdCBBdWRpb0RlY29kZXJDb25maWcmIGNvbmZpZykgewotICAgLy8gU3VjY2VzcyEK LSAgIGF2X3NhbXBsZV9mb3JtYXRfID0gY29kZWNfY29udGV4dF8tPnNhbXBsZV9mbXQ7Ci0gCi0t ICBpZiAoY29kZWNfY29udGV4dF8tPmNoYW5uZWxzICE9IGNvbmZpZy5jaGFubmVscygpKSB7Ci0r ICBpZiAoY29kZWNfY29udGV4dF8tPmNoX2xheW91dC5uYl9jaGFubmVscyAhPSBjb25maWcuY2hh bm5lbHMoKSkgewotICAgICBNRURJQV9MT0coRVJST1IsIG1lZGlhX2xvZ18pCi0gICAgICAgICA8 PCAiQXVkaW8gY29uZmlndXJhdGlvbiBzcGVjaWZpZWQgIiA8PCBjb25maWcuY2hhbm5lbHMoKQot ICAgICAgICAgPDwgIiBjaGFubmVscywgYnV0IEZGbXBlZyB0aGlua3MgdGhlIGZpbGUgY29udGFp bnMgIgotLSAgICAgICAgPDwgY29kZWNfY29udGV4dF8tPmNoYW5uZWxzIDw8ICIgY2hhbm5lbHMi OwotKyAgICAgICAgPDwgY29kZWNfY29udGV4dF8tPmNoX2xheW91dC5uYl9jaGFubmVscyA8PCAi IGNoYW5uZWxzIjsKLSAgICAgUmVsZWFzZUZGbXBlZ1Jlc291cmNlcygpOwotICAgICBzdGF0ZV8g PSBEZWNvZGVyU3RhdGU6OmtVbmluaXRpYWxpemVkOwotICAgICByZXR1cm4gZmFsc2U7Ci1AQCAt NDAzLDcgKzQwMyw3IEBAIGludCBGRm1wZWdBdWRpb0RlY29kZXI6OkdldEF1ZGlvQnVmZmVyKHN0 cnVjdCBBVkNvZGVjQ29udGV4dCogcywKLSAgIGlmIChmcmFtZS0+bmJfc2FtcGxlcyA8PSAwKQot ICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwotIAotLSAgaWYgKHMtPmNoYW5uZWxzICE9IGNo YW5uZWxzKSB7Ci0rICBpZiAocy0+Y2hfbGF5b3V0Lm5iX2NoYW5uZWxzICE9IGNoYW5uZWxzKSB7 Ci0gICAgIERMT0coRVJST1IpIDw8ICJBVkNvZGVjQ29udGV4dCBhbmQgQVZGcmFtZSBkaXNhZ3Jl ZSBvbiBjaGFubmVsIGNvdW50LiI7Ci0gICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Ci0gICB9 Ci1AQCAtNDM2LDcgKzQzNiw4IEBAIGludCBGRm1wZWdBdWRpb0RlY29kZXI6OkdldEF1ZGlvQnVm ZmVyKHN0cnVjdCBBVkNvZGVjQ29udGV4dCogcywKLSAgIENoYW5uZWxMYXlvdXQgY2hhbm5lbF9s YXlvdXQgPQotICAgICAgIGNvbmZpZ18uY2hhbm5lbF9sYXlvdXQoKSA9PSBDSEFOTkVMX0xBWU9V VF9ESVNDUkVURQotICAgICAgICAgICA/IENIQU5ORUxfTEFZT1VUX0RJU0NSRVRFCi0tICAgICAg ICAgIDogQ2hhbm5lbExheW91dFRvQ2hyb21lQ2hhbm5lbExheW91dChzLT5jaGFubmVsX2xheW91 dCwgcy0+Y2hhbm5lbHMpOwotKyAgICAgICAgICA6IENoYW5uZWxMYXlvdXRUb0Nocm9tZUNoYW5u ZWxMYXlvdXQocy0+Y2hfbGF5b3V0LnUubWFzaywKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHMtPmNoX2xheW91dC5uYl9jaGFubmVscyk7Ci0gCi0gICBp ZiAoY2hhbm5lbF9sYXlvdXQgPT0gQ0hBTk5FTF9MQVlPVVRfVU5TVVBQT1JURUQpIHsKLSAgICAg RExPRyhFUlJPUikgPDwgIlVuc3VwcG9ydGVkIGNoYW5uZWwgbGF5b3V0LiI7CmRpZmYgLS1naXQg YS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwtc3JjLXRoaXJkX3BhcnR5LWZm bXBlZy1tMTAyLnBhdGNoLmFyZ3MgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJv bGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTAyLnBhdGNoLmFyZ3MKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDhiYmJiZTk0ODM2MzIuLjAwMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL1JFVkVSVC1yb2xsLXNyYy10aGlyZF9wYXJ0eS1mZm1wZWctbTEw Mi5wYXRjaC5hcmdzCisrKyAvZGV2L251bGwKQEAgLTEgKzAsMCBAQAotLVJOcDEKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHkt ZmZtcGVnLW0xMDYucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJvbGwt c3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBiMmExMTM3OTE3MzRjLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHktZmZtcGVnLW0xMDYucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSw1NSArMCwwIEBACi1Gcm9tIGRlZDM3OTgyNGY1ZGUzOTM1N2I2 YjE4OTQ1NzgxMDFhYmE1Y2RmMDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBFdWdl bmUgWmVtdHNvdiA8ZXVnZW5lQGNocm9taXVtLm9yZz4KLURhdGU6IEZyaSwgMjkgSnVsIDIwMjIg MDQ6NDE6MDQgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gUm9sbCBzcmMvdGhpcmRfcGFydHkvZmZt cGVnLyA4ODBkZjVlZGUuLmI3MWVjZDAyYiAoMjc5Ci0gY29tbWl0cykKLQotaHR0cHM6Ly9jaHJv bWl1bS5nb29nbGVzb3VyY2UuY29tL2Nocm9taXVtL3RoaXJkX3BhcnR5L2ZmbXBlZy5naXQvK2xv Zy84ODBkZjVlZGU1MGEuLmI3MWVjZDAyYjQ3OQotCi0kIGdpdCBsb2cgODgwZGY1ZWRlLi5iNzFl Y2QwMmIgLS1kYXRlPXNob3J0IC0tbm8tbWVyZ2VzIC0tZm9ybWF0PSclYWQgJWFlICVzJwotMjAy Mi0wNy0yNyBldWdlbmUgUm9sbCBmb3IgTTEwNgotMjAyMi0wNy0yNSBhbmRyZWFzLnJoZWluaGFy ZHQgYXZjb2RlYy94ODYvcG5nZHNwOiBSZW1vdmUgb2Jzb2xldGUgZmZfYWRkX2J5dGVzX2wyX21t eCgpCi0yMDIyLTA3LTIyIGFuZHJlYXMucmhlaW5oYXJkdCBhdmNvZGVjL2hldmNkZWM6IE91dHB1 dCBNRDUtbWVzc2FnZSBpbiBvbmUgcGllY2UKLTIwMjItMDctMjQgZXBpcmF0MDcgY29uZmlndXJl OiBwcm9wZXJseSByZXF1aXJlIGxpYngyNjQgaWYgZW5hYmxlZAotMjAyMi0wNy0yNCB6YW5lIGF2 Zm9ybWF0L2FyZ29fY3ZnOiBleHBvc2UgbG9vcC9yZXZlcmIvY2hlY2tzdW0gdmlhIG1ldGFkYXRh Ci0oLi4uKQotMjAyMi0wNS0wMyBsZW8uaXplbiBhdmNvZGVjL2xpYmp4bGRlYzogcHJvcGVybHkg dGFnIG91dHB1dCBjb2xvcnNwYWNlCi0yMDIyLTA2LTI1IGZmbXBlZyBhdmZpbHRlci9NYWtlZmls ZTogYWx3YXlzIG1ha2UgY29sb3JzcGFjZS5vCi0yMDIyLTAzLTAyIGJyYWQgYXZ1dGlsL3BwYy9j cHU6IFVzZSBwcm9wZXIgaGVhZGVyIGZvciBPcGVuQlNEIFBQQyBDUFUgZGV0ZWN0aW9uCi0yMDIy LTA2LTI0IGphbXJpYWwgYXZmb3JtYXQvaHR0cDogaW5jbHVkZSB2ZXJzaW9uLmgKLTIwMjItMDUt MTYgbWJvbmRhLWF0LW52aWRpYS5jb20gQVYxIFZEUEFVIGh3YWNjZWwgRGVjb2RlIHN1cHBvcnQK LQotQ3JlYXRlZCB3aXRoOgotICByb2xsLWRlcCBzcmMvdGhpcmRfcGFydHkvZmZtcGVnCi0KLWZm bXBlZyB1c2FnZSBmaXg6Ci0gU3dpdGNoIGZyb20gQVZGcmFtZTo6cGt0X2R1cmF0aW9uIHRvIEFW RnJhbWU6OmR1cmF0aW9uLAotIEFWRnJhbWU6OnBrdF9kdXJhdGlvbiBpcyBkZXByZWNhdGVkCi0K LUJ1ZzogMTM0NDY0NgotQ2hhbmdlLUlkOiBJYWEzYWJmNDhlZjgxZGFlNmQyODJiY2E4ZjBmYTJh OGRmZmVlYmEyNQotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNv dXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zNzg4NjM4Ci1SZXZpZXdlZC1ieTogV2lsbCBDYXNz ZWxsYSA8Y2Fzc2V3QGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTogRXVnZW5lIFplbXRzb3Yg PGV1Z2VuZUBjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFp bkB7IzEwMjk2MjN9Ci0tLS0KLSBtZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjIHwg NCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MgYi9tZWRp YS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjCi1pbmRleCBlMWJlNWFhOWE1Yi4uOTUxYzAw Mzk1NmYgMTAwNjQ0Ci0tLS0gYS9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjCi0r KysgYi9tZWRpYS9maWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjCi1AQCAtMjQzLDEwICsyNDMs MTAgQEAgYm9vbCBBdWRpb0ZpbGVSZWFkZXI6Ok9uTmV3RnJhbWUoCi0gICAvLyBzaWxlbmNlIGZy b20gYmVpbmcgb3V0cHV0LiBJbiB0aGUgY2FzZSB3aGVyZSB3ZSBhcmUgYWxzbyBkaXNjYXJkaW5n IHNvbWUKLSAgIC8vIHBvcnRpb24gb2YgdGhlIHBhY2tldCAoYXMgaW5kaWNhdGVkIGJ5IGEgbmVn YXRpdmUgcHRzKSwgd2UgZnVydGhlciB3YW50IHRvCi0gICAvLyBhZGp1c3QgdGhlIGR1cmF0aW9u IGRvd253YXJkIGJ5IGhvd2V2ZXIgbXVjaCBleGlzdHMgYmVmb3JlIHplcm8uCi0tICBpZiAoYXVk aW9fY29kZWNfID09IEF1ZGlvQ29kZWM6OmtBQUMgJiYgZnJhbWUtPnBrdF9kdXJhdGlvbikgewot KyAgaWYgKGF1ZGlvX2NvZGVjXyA9PSBBdWRpb0NvZGVjOjprQUFDICYmIGZyYW1lLT5kdXJhdGlv bikgewotICAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEgcGt0X2R1cmF0aW9uID0gQ29udmVydEZy b21UaW1lQmFzZSgKLSAgICAgICAgIGdsdWVfLT5mb3JtYXRfY29udGV4dCgpLT5zdHJlYW1zW3N0 cmVhbV9pbmRleF9dLT50aW1lX2Jhc2UsCi0tICAgICAgICBmcmFtZS0+cGt0X2R1cmF0aW9uICsg c3RkOjptaW4oc3RhdGljX2Nhc3Q8aW50NjRfdD4oMCksIGZyYW1lLT5wdHMpKTsKLSsgICAgICAg IGZyYW1lLT5kdXJhdGlvbiArIHN0ZDo6bWluKHN0YXRpY19jYXN0PGludDY0X3Q+KDApLCBmcmFt ZS0+cHRzKSk7Ci0gICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBmcmFtZV9kdXJhdGlvbiA9Ci0g ICAgICAgICBiYXNlOjpTZWNvbmRzKGZyYW1lc19yZWFkIC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihz YW1wbGVfcmF0ZV8pKTsKLSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9S RVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHktZmZtcGVnLW0xMDYucGF0Y2guYXJncyBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9SRVZFUlQtcm9sbC1zcmMtdGhpcmRfcGFydHktZmZtcGVnLW0x MDYucGF0Y2guYXJncwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggOGJiYmJlOTQ4MzYz Mi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvUkVWRVJULXJv bGwtc3JjLXRoaXJkX3BhcnR5LWZmbXBlZy1tMTA2LnBhdGNoLmFyZ3MKKysrIC9kZXYvbnVsbApA QCAtMSArMCwwIEBACi0tUk5wMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTExOS1mZm1wZWctNC40LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTExOS1mZm1wZWctNC40LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwNGQwNGIxNjZiYTM3Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMTktZmZtcGVnLTQuNC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDIwICswLDAgQEAKLS0tLSBhL21lZGlhL2ZpbHRlcnMvZmZtcGVnX2RlbXV4ZXIuY2Mub3JpZwot KysrIGIvbWVkaWEvZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwotQEAgLTM5MCw3ICszOTAsNyBA QAotIAotICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7Ci0gCi0tICAgIHNp emVfdCBzaWRlX2RhdGFfc2l6ZSA9IDA7Ci0rICAgIGludCBzaWRlX2RhdGFfc2l6ZSA9IDA7Ci0g ICAgIHVpbnQ4X3QqIHNpZGVfZGF0YSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKAotICAgICAg ICAgcGFja2V0LmdldCgpLCBBVl9QS1RfREFUQV9NQVRST1NLQV9CTE9DS0FERElUSU9OQUwsICZz aWRlX2RhdGFfc2l6ZSk7Ci0gCi1AQCAtNDUzLDcgKzQ1Myw3IEBACi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcGFja2V0LT5zaXplIC0gZGF0YV9vZmZzZXQpOwotICAg ICB9Ci0gCi0tICAgIHNpemVfdCBza2lwX3NhbXBsZXNfc2l6ZSA9IDA7Ci0rICAgIGludCBza2lw X3NhbXBsZXNfc2l6ZSA9IDA7Ci0gICAgIGNvbnN0IHVpbnQzMl90KiBza2lwX3NhbXBsZXNfcHRy ID0KLSAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDMyX3QqPihhdl9wYWNrZXRf Z2V0X3NpZGVfZGF0YSgKLSAgICAgICAgICAgICBwYWNrZXQuZ2V0KCksIEFWX1BLVF9EQVRBX1NL SVBfU0FNUExFUywgJnNraXBfc2FtcGxlc19zaXplKSk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoIGIv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1hcm02NC1tZW1vcnlfdGFnZ2lu Zy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYmI0NjFlZjM2NjRhMi4uMDAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWFy bTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQgKzAsMCBAQAot LS0tIGNocm9taXVtLTEyMC4wLjYwOTkuMzUvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaC50aGFuCTIw MjMtMTEtMjYgMTM6NTA6MDcuMDA1NTE5ODc3ICswMTAwCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5 OS4zNS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3NyYy9wYXJ0aXRpb25fYWxs b2MvcGFydGl0aW9uX2FsbG9jX2NvbmZpZy5oCTIwMjMtMTEtMjYgMTM6NTA6NDkuNzI3MjY3MjQw ICswMTAwCi1AQCAtMTUyLDEwICsxNTIsNyBAQAotICAgKCFCVUlMREZMQUcoUFVUX1JFRl9DT1VO VF9JTl9QUkVWSU9VU19TTE9UKSAmJiBcCi0gICAgZGVmaW5lZChBUkNIX0NQVV9MSVRUTEVfRU5E SUFOKSkKLSAKLS0jZGVmaW5lIFBBX0NPTkZJR19IQVNfTUVNT1JZX1RBR0dJTkcoKSAgICAgICAg ICAgICAgXAotLSAgKGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmIGRlZmluZWQoX19jbGFuZ19f KSAmJiBcCi0tICAgIWRlZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYmICAgICAgICAgICAgICAg ICAgIFwKLS0gICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkp KQotKyNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygpIDAKLSAKLSAjaWYgUEFf Q09ORklHKEhBU19NRU1PUllfVEFHR0lORykKLSBzdGF0aWNfYXNzZXJ0KHNpemVvZih2b2lkKikg PT0gOCk7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIw LWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tMTIwLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDExMmRhNjViNGQ5YjYuLjAwMDAwMDAwMDAwMDAKLS0tIGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1lbDctY2xhbmctdmVyc2lvbi13 YXJuaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotZGlmZiAtdXAgY2hy b21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1ZGUvX19jb25m aWcubWUgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1 ZGUvX19jb25maWcKLS0tLSBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2xpYmMr Ky9zcmMvaW5jbHVkZS9fX2NvbmZpZy5tZQkyMDIzLTEyLTAzIDAwOjA1OjUxLjI1NDQ4MzQ3NCAr MDEwMAotKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvbGliYysrL3NyYy9p bmNsdWRlL19fY29uZmlnCTIwMjMtMTItMDMgMDA6MDY6MDUuODcyODYzMTY4ICswMTAwCi1AQCAt MzIsMTEgKzMyLDcgQEAKLSAKLSAvLyBXYXJuIGlmIGEgY29tcGlsZXIgdmVyc2lvbiBpcyB1c2Vk IHRoYXQgaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlCi0gLy8gTExWTSBSRUxFQVNFIFVwZGF0ZSB0 aGUgbWluaW11bSBjb21waWxlciB2ZXJzaW9ucwotLSMgIGlmIGRlZmluZWQoX0xJQkNQUF9DTEFO R19WRVIpCi0tIyAgICBpZiBfTElCQ1BQX0NMQU5HX1ZFUiA8IDE1MDAKLS0jICAgICAgd2Fybmlu ZyAiTGliYysrIG9ubHkgc3VwcG9ydHMgQ2xhbmcgMTUgYW5kIGxhdGVyIgotLSMgICAgZW5kaWYK LS0jICBlbGlmIGRlZmluZWQoX0xJQkNQUF9BUFBMRV9DTEFOR19WRVIpCi0rIyAgaWYgZGVmaW5l ZChfTElCQ1BQX0FQUExFX0NMQU5HX1ZFUikKLSAjICAgIGlmIF9MSUJDUFBfQVBQTEVfQ0xBTkdf VkVSIDwgMTUwMAotICMgICAgICB3YXJuaW5nICJMaWJjKysgb25seSBzdXBwb3J0cyBBcHBsZUNs YW5nIDE1IGFuZCBsYXRlciIKLSAjICAgIGVuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdvcmthcm91bmQtYXRzcGkucGF0Y2ggYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLWduLXdvcmthcm91bmQtYXRzcGkucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDcyYzdiN2VjNDFjMjguLjAwMDAwMDAw MDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1nbi13b3Jr YXJvdW5kLWF0c3BpLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotZGlmZiAt dXAgY2hyb21pdW0tMTIwLjAuNjA5OS4zNS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JVSUxE LmduLm1lIGNocm9taXVtLTEyMC4wLjYwOTkuMzUvYnVpbGQvY29uZmlnL2xpbnV4L2F0c3BpMi9C VUlMRC5nbgotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuMzUvYnVpbGQvY29uZmlnL2xpbnV4L2F0 c3BpMi9CVUlMRC5nbi5tZQkyMDIzLTExLTI2IDE2OjE0OjE1LjM2NDA2NDEyNiArMDEwMAotKysr IGNocm9taXVtLTEyMC4wLjYwOTkuMzUvYnVpbGQvY29uZmlnL2xpbnV4L2F0c3BpMi9CVUlMRC5n bgkyMDIzLTExLTI2IDE2OjQxOjE2Ljg3NzMyMTk5MCArMDEwMAotQEAgLTIxLDYgKzIxLDkgQEAg aWYgKHVzZV9hdGspIHsKLSAgICAgbWlub3IgPSBhdHNwaV92ZXJzaW9uWzFdCi0gICAgIG1pY3Jv ID0gYXRzcGlfdmVyc2lvblsyXQotIAotKyAgICAjIGduIHdvcmthcm91bmQgZm9yIHRoZSBlcnJv cjogQXNzaWdubWVudCBoYWQgbm8gZWZmZWN0Ci0rICAgIHByaW50KCJBVFNQSSBWZXJzaW9uOiAk bWFqb3IuJG1pbm9yLiRtaWNybyIpCi0rCi0gICAgICMgQVRTUEkgMi40OS45MCBub3cgZGVmaW5l cyB0aGVzZSBmb3IgdXMgYW5kIGl0J3MgYW4gZXJyb3IgZm9yIHVzIHRvCi0gICAgICMgcmVkZWZp bmUgdGhlbSBvbiB0aGUgY29tcGlsZXIgY29tbWFuZCBsaW5lLgotICAgICAjIFNlZSBBVFNQSSA5 MjczNDRhMzRjZDViZjgxZmM2NGRhNDk2ODI0MTczNWVjYjRmMDNiCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC1taXNzaW5nLWhlYWRl ci1maWxlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDRmODY3NDc1YjIx OC4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIwLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDU5ICsw LDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9j b3VudGVkLmgubWUgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50 ZWQuaAotLS0tIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVk LmgubWUJMjAyMy0wMi0yMyAxMzozNDozMy4xNzQ4MTcyNTUgLTA1MDAKLSsrKyBjaHJvbWl1bS0x MTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCTIwMjMtMDItMjMgMTM6NDI6 MjguNjQ2MDUyNDY5IC0wNTAwCi1AQCAtNiw2ICs2LDcgQEAKLSAjZGVmaW5lIEJBU0VfTUVNT1JZ X1JFRl9DT1VOVEVEX0hfCi0gCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotKyNpbmNsdWRlIDxsaW1p dHM+Ci0gCi0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hl Y2tfb3AuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oLm1lCTIw MjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzozOTo0Mi41NDYwNjA5NTcgKzAxMDAK LUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DSEVDS19PUF9IXwotICNkZWZpbmUgQkFT RV9DSEVDS19PUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxjc3RkZGVm PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIzLTAxLTE3IDE2OjI5OjI2LjM2ODA5 MDA3MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxl ci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAK LSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZQky MDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgJMjAyMy0wMS0xNyAxOTowNzowOC44 NzQ4NDk4NzkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgR1BVX0NPTkZJR19HUFVf RkVBVFVSRV9JTkZPX0hfCi0gI2RlZmluZSBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8K LSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2 ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9l eHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lCTIwMjMt MDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0xNyAxODoxNjoxNS45NDU2MjMxNTMgKzAx MDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotICNk ZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwot IC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQg YnkgdGhlIG5ldCBtb2R1bGUgY2FuCi0gLy8gYmUgZXhwb3J0ZWQgdG8gY29uc3VtZXJzLCBhbmQg TkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQgdGVzdHMgdG8KLSAvLyBhY2Nlc3Mg ZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgcmVhbCBjb25zdW1l cnMuCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2Fs bF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMtMDEtMTcgMTc6MTI6MzQuMTg0Njg2NTE1 ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIzLTAxLTE3IDE3OjEzOjE2LjUzNzE2 MjQyMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU0NB TExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KLSAjZGVmaW5lIFNBTkRCT1hfTElO VVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXwotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotICNpbmNsdWRlIDxiaXRzZXQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNs L3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgKLS0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192 aWV3LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3MTczMDcgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmlu Z192aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYxODUzNjUgKzAxMDAKLUBAIC0yNyw2ICsy Nyw3IEBACi0gI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KLSAjZGVmaW5lIEFC U0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNs dWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGNhc3NlcnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+ Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1 ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCi0tLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5o Lm1lCTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUwICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5o CTIwMjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICswMTAwCi1AQCAtMTAsNiArMTAsNyBAQAot ICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCi0gI2RlZmluZSBHTFNMQU5HX1NIQURFUlZB UlNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotICNp bmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJf Ymx1ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQu aAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2Nv bW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5 OjE3OjQwLjQ4MDg3NjE3MSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2Vf aWQuaAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMyMCArMDEwMAotQEAgLTUsNiArNSw3IEBA Ci0gI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJf QkxVRVRPT1RIX0RFVklDRV9JRF9IXwotICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUFVCTElD X0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KLSAKLSsjaW5jbHVk ZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRp ZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9s YW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWUgY2hyb21pdW0tMTE3LjAuNTkz OC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJz ZXIvbmFtZXIuaAotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvZGF3bi9z cmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWUJMjAyMy0wMS0x NyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3Ro aXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1l ci5oCTIwMjMtMDEtMTcgMTg6MDI6NTcuMjA4Njc5MTQwICswMTAwCi1AQCAtMTUsNiArMTUsNyBA QAotICNpZm5kZWYgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCi0gI2RlZmluZSBTUkNf VElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgotICNpbmNsdWRlIDx2ZWN0 b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3Jl ZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9k bnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNf c2RfdHh0X3JlY29yZC5oLm1lCTIwMjMtMDEtMTggMTU6MjI6MzguNDcyOTQwNjQ4ICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNj b3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgJMjAyMy0wMS0xOCAxNToyMzow OS4zODAyNTUxMDEgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgRElTQ09WRVJZX0RO U1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotICNkZWZpbmUgRElTQ09WRVJZX0ROU1NE X1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDxtYXA+Ci0gI2luY2x1ZGUgPHNldD4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3Jj L1N5c3RlbS9MUlVDYWNoZS5ocHAubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAotLS0tIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAu bWUJMjAyMy0wMS0xNyAxNTozNzo0OC41MzA2MjY1MTYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBw CTIwMjMtMDEtMTcgMTY6NTc6NDYuMDI1NTQ4MDkyICswMTAwCi1AQCAtMTcsNiArMTcsNyBAQAot IAotICNpbmNsdWRlICJTeXN0ZW0vRGVidWcuaHBwIgotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxjc3RkZGVmPgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDx1 bm9yZGVyZWRfc2V0PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2Vv bWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngv Z2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3Vp L2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZQkyMDIzLTAxLTE3IDE4OjA4OjI1Ljc0 NTQ5MTM1MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5 L2xpbmVhcl9ncmFkaWVudC5oCTIwMjMtMDEtMTcgMTg6MDg6MzUuNzc3NjY3NjMyICswMTAwCi1A QCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFVJX0dGWF9MSU5FQVJfR1JBRElFTlRfSF8KLSAjZGVm aW5lIFVJX0dGWF9MSU5FQVJfR1JBRElFTlRfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAj aW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYgLXVwIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVu dGF0aW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1 eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUJMjAy My0wMS0xOSAxMDoxMDoyMS4yODc4NzY3MzYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCTIw MjMtMDEtMTkgMTA6MTE6MjEuNzE0Nzc4ODk2ICswMTAwCi1AQCAtMTcsNiArMTcsNyBAQCBsaW1p dGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAjZGVmaW5lIFJVWV9SVVlfUFJPRklMRVJfSU5T VFJVTUVOVEFUSU9OX0hfCi0gCi0gI2lmZGVmIFJVWV9QUk9GSUxFUgotKyNpbmNsdWRlIDxzdHJp bmc+Ci0gI2luY2x1ZGUgPGNzdGRpbz4KLSAjaW5jbHVkZSA8bXV0ZXg+Ci0gI2luY2x1ZGUgPHZl Y3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRl L3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xp dGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQx NC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVy bmFsL3NwZWN0cm9ncmFtLmgubWUJMjAyMy0wMS0xOSAxMDozMDoyNy41MzM4NjE5ODUgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29y Zmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAkyMDIzLTAxLTE5IDEwOjMx OjEyLjU4NTU1NDE4MyArMDEwMAotQEAgLTMxLDYgKzMxLDcgQEAgbGltaXRhdGlvbnMgdW5kZXIg dGhlIExpY2Vuc2UuCi0gI2lmbmRlZiBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9T UEVDVFJPR1JBTV9IXwotICNkZWZpbmUgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxf U1BFQ1RST0dSQU1fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8Y29tcGxl eD4KLSAjaW5jbHVkZSA8ZGVxdWU+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgubWVlIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgKLS0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZQkyMDIzLTAxLTE5IDEw OjU5OjUyLjIxNDk1Nzc3MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9j b250YWluZXJzL2ZsYXRfbWFwLmgJMjAyMy0wMS0xOSAxMTowMDowNi40MTUyMTUzMDkgKzAxMDAK LUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCi0g I2RlZmluZSBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGlu dD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSA8dHVwbGU+Ci0gI2luY2x1ZGUg PHV0aWxpdHk+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jh c2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFz aF9yZXBvcnRlcl9jbGllbnQuaC5tZWUJMjAyMy0wMS0xOSAxMDozNjo0MC41NzE0MjI4MjYgKzAx MDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAv Y3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgJMjAyMy0wMS0xOSAxMDozNjo0OS4zNDM1NjUyOTQgKzAx MDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9D UkFTSF9SRVBPUlRFUl9DTElFTlRfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9B UFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2lu Y2x1ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCi1kaWZm IC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmls dGVyLmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1h bl9maWx0ZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9u L2thbG1hbl9maWx0ZXIuaC5tZWUJMjAyMy0wMS0xOSAxMTo0NToxNS45NTMxNTk3NTUgKzAxMDAK LSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmls dGVyLmgJMjAyMy0wMS0xOSAxMTo0NToyMi4zMjAyNDYyNDEgKzAxMDAKLUBAIC01LDYgKzUsOCBA QAotICNpZm5kZWYgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KLSAjZGVmaW5l IFVJX0JBU0VfUFJFRElDVElPTl9LQUxNQU5fRklMVEVSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRp bnQ+Ci0rCi0gI2luY2x1ZGUgImJhc2UvY29tcG9uZW50X2V4cG9ydC5oIgotICNpbmNsdWRlICJ1 aS9nZngvZ2VvbWV0cnkvbWF0cml4M19mLmgiCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlv bi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5l cmF0b3IuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9t YW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lCTIw MjMtMDEtMTkgMTU6MjA6MDcuNjIwOTg3OTQ5ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24v cGFzc3dvcmRfZ2VuZXJhdG9yLmgJMjAyMy0wMS0xOSAxNToyMDoxOC4zMjQxNzM3MDIgKzAxMDAK LUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NP UkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXwotICNkZWZpbmUgQ09N UE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JE X0dFTkVSQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+ Ci0gCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVy ZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9l dmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRv ci5oLm1lCTIwMjMtMDEtMTkgMTY6MDA6MTQuMzUwMTg2NTE1ICswMTAwCi0rKysgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVu dF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEtMTkgMTY6MDA6MjEuNjQzMzA3OTkzICswMTAw Ci1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5U X0lOVEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRT X0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwot IAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gbmFtZXNwYWNl IGZlYXR1cmVfZW5nYWdlbWVudCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2Vf dmFsaWRhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVf ZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRl cm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6NTk6 MTguMjEwMjM5NDE2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRz L2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRv ci5oCTIwMjMtMDEtMTkgMTU6NTk6MzQuNTEzNTE1MDMwICswMTAwCi1AQCAtNSw2ICs1LDcgQEAK LSAjaWZuZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VW RU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5H QUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2luY2x1ZGUgImNvbXBv bmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9y LmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hh ZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5p bmMubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGly ZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0 eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lCTIwMjMtMDEt MTkgMTY6MDk6MjkuMjE2NDc3MTgyICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90 aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3Vw cG9ydC9Vbml4L1NpZ25hbHMuaW5jCTIwMjMtMDEtMTkgMTY6MTA6MDUuNjU3MDg5MjA4ICswMTAw Ci1AQCAtNDUsNiArNDUsNyBAQAotICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvU2F2ZUFuZFJlc3Rv cmUuaCIKLSAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L3Jhd19vc3RyZWFtLmgiCi0gI2luY2x1ZGUg PGFsZ29yaXRobT4KLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNp bmNsdWRlIDxzeXNleGl0cy5oPgotICNpZmRlZiBIQVZFX0JBQ0tUUkFDRQotZGlmZiAtdXAgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50 ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9i cm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNv dW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5tZQkyMDIzLTAxLTE5IDE2OjMyOjA1LjMzODE2MDEz MSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFj eV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgJMjAyMy0wMS0xOSAxNjozMjox Ni4yMTMzMjY3OTggKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ0hST01FX0JST1dT RVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCi0gI2RlZmlu ZSBDSFJPTUVfQlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNL RVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8bWFwPgotIAotICNpbmNs dWRlICJiYXNlL2NvbnRhaW5lcnMvZmxhdF9zZXQuaCIKLWRpZmYgLXVwIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRp b25fc3R1ZHkuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwv Y29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgKLS0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0 aW9uX3N0dWR5LmgubWUJMjAyMy0wMS0xOSAxNjo0Nzo1NS41NDg1NzExMDIgKzAxMDAKLSsrKyBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1 dG9maWxsX2FibGF0aW9uX3N0dWR5LmgJMjAyMy0wMS0xOSAxNjo0ODoyOS4yMTQxNDY1MjkgKzAx MDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JS T1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfQVVU T0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCi0gCi0rI2luY2x1 ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSBjbGFzcyBHVVJMOwotZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9k ZXZpY2VfaGVhZF9tb2RlbC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9v bW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAotLS0tIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwu aC5tZQkyMDIzLTAxLTE5IDE2OjU3OjI5LjUyNTM3MjgxNCArMDEwMAotKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9k ZWwuaAkyMDIzLTAxLTE5IDE2OjU4OjAyLjY2Nzk3OTI4OCArMDEwMAotQEAgLTUsNiArNSw3IEBA Ci0gI2lmbmRlZiBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RF TF9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURf TU9ERUxfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNp bmNsdWRlIDx1dGlsaXR5PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnBy aW50X3BhcnNlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50 cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgKLS0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50 X3BhcnNlci5oLm1lCTIwMjMtMDEtMTkgMTc6MDI6NDUuMjU4NTQ0NjY1ICswMTAwCi0rKysgY2hy b21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9m aW5nZXJwcmludF9wYXJzZXIuaAkyMDIzLTAxLTE5IDE3OjAyOjUyLjU3NzYxMTc1NyArMDEwMAot QEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJ TElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfUEFZTUVOVFNf Q09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXwotIAotKyNpbmNsdWRlIDxjc3Rk aW50PgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAKLSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgu bWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8u aC5tZQkyMDIzLTAxLTE5IDE3OjI4OjI4LjU1MjA2MzUzNCArMDEwMAotKysrIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oCTIwMjMtMDEtMTkgMTc6 Mjg6NDguMDcyMzc5OTUzICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFBERl9ET0NV TUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAjZGVmaW5lIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5U X0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotIAot IAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29u c3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJk X3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCi0tLS0gY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxh Z3MuaC5tZQkyMDIzLTAxLTE5IDE4OjI1OjQ3LjY0ODE5MzcxMCArMDEwMAotKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2Zs YWdzLmgJMjAyMy0wMS0xOSAxODoyNjoxMS40ODg1OTM1NTYgKzAxMDAKLUBAIC01LDYgKzUsOCBA QAotICNpZm5kZWYgQ09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KLSAjZGVmaW5lIENPTlNU QU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gbmFt ZXNwYWNlIHBkZml1bSB7Ci0gbmFtZXNwYWNlIGFubm90YXRpb25fZmxhZ3MgewotIAotZGlmZiAt dXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4t dmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgu bWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4t dmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgK LS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGth bi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2Mu aC5tZQkyMDIzLTA0LTE1IDE2OjQ0OjU1LjM0NDMwNTQxMiArMDIwMAotKysrIGNocm9taXVtLTEx My4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5 ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6 NDc6MDkuMDI4NjY2OTk1ICswMjAwCi1AQCAtMjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQg dm1hX2FsaWduZWRfZnJlZSh2b2lkKiBWTUFfTgotIAotIC8vIERlZmluZSB0aGlzIG1hY3JvIHRv IDEgdG8gZW5hYmxlIGZ1bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRz U3RyaW5nLgotICNpZiBWTUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKLSsjaW5jbHVkZSA8c3RkaW8u aD4KLSAgICAgc3RhdGljIGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1Rf TlVMTCBvdXRTdHIsIHNpemVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKLSAgICAgewotICAgICAg ICAgc25wcmludGYob3V0U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGlu dD4obnVtKSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2Vy L3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1 bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVx dWVzdF9kaWFsb2dfbW9kZWwuaAotLS0tIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jy b3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIw MjMtMDQtMTggMTU6NTU6NDQuNzc0OTE2MzE5ICswMjAwCi0rKysgY2hyb21pdW0tMTEzLjAuNTY3 Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9n X21vZGVsLmgJMjAyMy0wNC0xOCAxNTo1NTo1NC40NDEwODU4ODIgKzAyMDAKLUBAIC04LDYgKzgs NyBAQAotICNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8 dmVjdG9yPgotKyNpbmNsdWRlIDx2YXJpYW50PgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5l cnMvc3Bhbi5oIgotICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5o IgotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUg Y2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgKLS0tLSBjaHJvbWl1bS0x MTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4 MDQzNzQ2NyArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBl ci5oCTIwMjMtMDQtMTggMTY6Mzk6NDMuODU3MDQ5NDMyICswMjAwCi1AQCAtNDgsNyArNDgsNyBA QCBjbGFzcyBHSU5fRVhQT1JUIFRpbWVDbGFtcGVyIHsKLSAgICAgY29uc3QgaW50NjRfdCBtaWNy b3MgPSBub3dfbWljcm9zICUgMTAwMDsKLSAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBk ZXZpY2VzIHdpdGggdGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5Ci0gICAgIC8v IGNvbmZpZ3VyZWQgaW5jb3JyZWN0bHkpLgotLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1 dGlvbk1pY3JvcyA8IDEwMDApIHsKLSsgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1 dGlvbk1pY3JvcyA8IDEwMDApIHsKLSAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7Ci0g ICAgIH0KLSAgICAgcmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAw OwotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2 ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJv bWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MKLS0tLSBjaHJvbWl1 bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdf aW1wbC5jYy5tZQkyMDIzLTA0LTIxIDA4OjA3OjU1LjM2MjcxNDU0NCArMDIwMAotKysrIGNocm9t aXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmll d19pbXBsLmNjCTIwMjMtMDQtMjEgMDg6MTQ6MzUuNDI0MTU4NjkzICswMjAwCi1AQCAtMTAsNiAr MTAsNyBAQAotICNpbmNsdWRlIDxxdWV1ZT4KLSAjaW5jbHVkZSA8dXRpbGl0eT4KLSAjaW5jbHVk ZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNsdWRlICJiYXNlL2NoZWNr LmgiCi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCi1kaWZmIC11cCBjaHJvbWl1 bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lIGNocm9taXVt LTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKLS0tLSBjaHJvbWl1 bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lCTIwMjMtMDYt MTggMTI6MzM6NTIuMzg3NDEyNzg4ICswMjAwCi0rKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9z a2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIyOTE0ODkz NSArMDIwMAotQEAgLTMsNiArMyw3IEBACi0gLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4K LSAKLSAjaW5jbHVkZSAic2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIKLSsjaW5jbHVkZSA8 Y21hdGg+Ci0gCi0gbmFtZXNwYWNlIHNraWEgewotIAotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgu bWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv Y29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oCi0tLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2lu Zy1jc3RkaW50CTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCi0rKysgY2hyb21p dW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNf cGFyc2VyLmgJMjAyMS0xMS0xOSAxNzowNzozNS4xOTE1MjAxMjcgLTA1MDAKLUBAIC0xMSw2ICsx MSw3IEBACi0gI2lmbmRlZiBDT01NT05fVklERU9fSDI2NF9TUFNfUEFSU0VSX0hfCi0gI2RlZmlu ZSBDT01NT05fVklERU9fSDI2NF9TUFNfUEFSU0VSX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+ Ci0gI2luY2x1ZGUgImFic2wvdHlwZXMvb3B0aW9uYWwuaCIKLSAjaW5jbHVkZSAicnRjX2Jhc2Uv Yml0c3RyZWFtX3JlYWRlci5oIgotIAotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJs aWMuaC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dl YnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAotLS0tIGNo cm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21v ZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTIgMDU6 Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3Bh cnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAky MDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1MDM1MCAtMDUwMAotQEAgLTExLDYgKzExLDcgQEAKLSAj aWZuZGVmIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9OX1RZUEVTX1BVQkxJQ19IXwotICNk ZWZpbmUgTU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCi0gCi0r I2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAjaW5jbHVkZSAiYWJz bC90eXBlcy9vcHRpb25hbC5oIgotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dm eC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2 NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgKLS0tLSBjaHJvbWl1bS05Ni4wLjQ2 NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgubWlzc2luZy1jc3RkaW50CTIwMjEt MTEtMTIgMDU6MjU6MjQuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1 L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oCTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUw MzUwIC0wNTAwCi1AQCAtOSw2ICs5LDggQEAKLSAKLSAjaW5jbHVkZSAidWkvZ2Z4L2J1ZmZlcl90 eXBlcy5oIgotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotIG5hbWVzcGFjZSB1aSB7Ci0gCi0g aW50IEdldEZvdXJDQ0Zvcm1hdEZyb21CdWZmZXJGb3JtYXQoZ2Z4OjpCdWZmZXJGb3JtYXQgZm9y bWF0KTsKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMv YXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmluZyBjaHJvbWl1bS05 Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhl ci5jYwotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8v dXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmluZwkyMDIxLTExLTEyIDA1OjI4 OjA5LjAwMDAwMDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0 eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCTIwMjEtMTEtMTkgMTc6MTA6 MDIuOTI3NDM4Njk1IC0wNTAwCi1AQCAtOCw2ICs4LDggQEAKLSAgKiAgYmUgZm91bmQgaW4gdGhl IEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCi0gICovCi0gCi0r I2luY2x1ZGUgPGNzdHJpbmc+Ci0rCi0gI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9t aXhlci5oIgotIAotICNpbmNsdWRlICJhdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4aW5nX21hdHJp eC5oIgotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9t b2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNz dHJpbmcgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3Zp ZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYwotLS0tIGNocm9taXVtLTk2LjAu NDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9p dmZfZmlsZV9yZWFkZXIuY2MubWlzc2luZy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAw MDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYwkyMDIxLTEx LTE5IDE3OjEwOjAyLjkyODQzODcwMSAtMDUwMAotQEAgLTEwLDYgKzEwLDcgQEAKLSAKLSAjaW5j bHVkZSAibW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuaCIKLSAK LSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2ZWN0 b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ov c3JjL2lwY3ovcm91dGVyX2xpbmsuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3Bh cnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaAotLS0tIGNocm9taXVtLTExNy4wLjU5Mzgu NDgvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5oLm1lCTIwMjMtMDktMTAg MTc6NTM6MDQuODI2Mjk4MzUxICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGly ZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgJMjAyMy0wOS0xMCAxNzo1MzoyMi4y MDE3NTY4OTQgKzAyMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgSVBDWl9TUkNfSVBDWl9S T1VURVJfTElOS19IXwotICNkZWZpbmUgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXwotIAot KyNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2luY2x1ZGUgPGZ1bmN0 aW9uYWw+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5Mzgu NDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMv dG9uZXMuY2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9j b2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYwotLS0tIGNocm9taXVtLTEx Ny4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAv cGFsZXR0ZXMvdG9uZXMuY2MubWUJMjAyMy0wOS0xMCAxNzozNjoyNy4xOTk4NDEwNTEgKzAyMDAK LSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0 aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjCTIwMjMtMDktMTAgMTc6NDQ6NTEuODcw NTU0MjMzICswMjAwCi1AQCAtMTQsNiArMTQsNyBAQAotICAqIGxpbWl0YXRpb25zIHVuZGVyIHRo ZSBMaWNlbnNlLgotICAqLwotIAotKyNpbmNsdWRlIDxjbWF0aD4KLSAjaW5jbHVkZSAiY3BwL3Bh bGV0dGVzL3RvbmVzLmgiCi0gCi0gI2luY2x1ZGUgImNwcC9jYW0vY2FtLmgiCi1kaWZmIC11cCBj aHJvbWl1bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL2dlbmVyaWNf c2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgubWUgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNl cy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCi0tLS0g Y2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmlj X3NlbnNvci9zZW5zb3JfcmVhZGluZy5oLm1lCTIwMjMtMTAtMDEgMTM6NTU6MDEuOTEzMTkzMTg2 ICswMjAwCi0rKysgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGlj L2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCTIwMjMtMTAtMDEgMTQ6MDU6Mzgu NDg4MDM4NDI5ICswMjAwCi1AQCAtNSw2ICs1LDkgQEAKLSAjaWZuZGVmIFNFUlZJQ0VTX0RFVklD RV9QVUJMSUNfQ1BQX0dFTkVSSUNfU0VOU09SX1NFTlNPUl9SRUFESU5HX0hfCi0gI2RlZmluZSBT RVJWSUNFU19ERVZJQ0VfUFVCTElDX0NQUF9HRU5FUklDX1NFTlNPUl9TRU5TT1JfUkVBRElOR19I XwotIAotKyNpbmNsdWRlIDxjc3RkZGVmPgotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotICNpbmNs dWRlIDx0eXBlX3RyYWl0cz4KLSAKLSBuYW1lc3BhY2UgZGV2aWNlIHsKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtYXJtNjQtbWVtb3J5X3RhZ2dpbmcu cGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWFybTY0LW1lbW9y eV90YWdnaW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAu LmNmODA3ZGRiMzFlYzcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvY2hyb21pdW0tMTIxLWFybTY0LW1lbW9yeV90YWdnaW5nLnBhdGNoCkBAIC0wLDAgKzEsMTMg QEAKK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9zcmMvcGFydGl0aW9uX2FsbG9jL3BhcnRpdGlvbl9hbGxvY19jb25maWcu aC5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxv Y2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgKKy0tLSBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Iv c3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgubWUJMjAyNC0wMS0x NiAxNDoyMDo1Mi40MDE4OTA2NTcgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jh c2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3Ivc3JjL3BhcnRpdGlvbl9hbGxvYy9wYXJ0 aXRpb25fYWxsb2NfY29uZmlnLmgJMjAyNC0wMS0xNiAxNTowODowNC4wNzAxNTY0NzQgKzAxMDAK K0BAIC0xNjIsNyArMTYyLDggQEAgc3RhdGljX2Fzc2VydChzaXplb2Yodm9pZCopICE9IDgsICIi KTsKKyAKKyAjaWYgZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgZGVmaW5lZChfX2NsYW5nX18p ICYmIFwKKyAgICAgIWRlZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYmICAgICAgICAgICAgICAg ICAgIFwKKy0gICAgKEJVSUxERkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0FORFJPSUQp KQorKyAgICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkpICYm IFwKKysgICAgX19HTElCQ19QUkVSRVEoMiwgMjkpCisgI2RlZmluZSBQQV9DT05GSUdfSEFTX01F TU9SWV9UQUdHSU5HKCkgMQorICNlbHNlCisgI2RlZmluZSBQQV9DT05GSUdfSEFTX01FTU9SWV9U QUdHSU5HKCkgMApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTEyMS1jb25zdGV4cHIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0t MTIxLWNvbnN0ZXhwci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAwLi5hMGI3MTY2YTVjOGY4Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTEyMS1jb25zdGV4cHIucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlm ZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFn ZXIvcmVzb3VyY2VfYXR0cmlidXRpb24vcXVlcnlfcGFyYW1zLmgubWUgY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny9jb21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvcmVzb3VyY2VfYXR0cmlidXRp b24vcXVlcnlfcGFyYW1zLmgKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVudHMv cGVyZm9ybWFuY2VfbWFuYWdlci9yZXNvdXJjZV9hdHRyaWJ1dGlvbi9xdWVyeV9wYXJhbXMuaC5t ZQkyMDI0LTAxLTE4IDE3OjAwOjI0Ljc5MTU4MjQyMiArMDEwMAorKysrIGNocm9taXVtLTEyMS4w LjYxNjcuNTcvY29tcG9uZW50cy9wZXJmb3JtYW5jZV9tYW5hZ2VyL3Jlc291cmNlX2F0dHJpYnV0 aW9uL3F1ZXJ5X3BhcmFtcy5oCTIwMjQtMDEtMTggMTc6MjI6MjEuNTIxNjgyODQ1ICswMTAwCitA QCAtMjcsNyArMjcsNyBAQCBzdHJ1Y3QgUXVlcnlQYXJhbXMgeworICAgUXVlcnlQYXJhbXMoY29u c3QgUXVlcnlQYXJhbXMmIG90aGVyKTsKKyAgIFF1ZXJ5UGFyYW1zJiBvcGVyYXRvcj0oY29uc3Qg UXVlcnlQYXJhbXMmIG90aGVyKTsKKyAKKy0gIGZyaWVuZCBjb25zdGV4cHIgYm9vbCBvcGVyYXRv cj09KGNvbnN0IFF1ZXJ5UGFyYW1zJiwKKysgIGZyaWVuZCBib29sIG9wZXJhdG9yPT0oY29uc3Qg UXVlcnlQYXJhbXMmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qg UXVlcnlQYXJhbXMmKSA9IGRlZmF1bHQ7CisgCisgICAvLyBJbmRpdmlkdWFsIHJlc291cmNlIGNv bnRleHRzIHRvIG1lYXN1cmUuCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTIxLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0Y2ggYi9zcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWVsNy1jbGFuZy12ZXJzaW9uLXdhcm5pbmcucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uYmM4NmViMjM1NTg3 NAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0x MjEtZWw3LWNsYW5nLXZlcnNpb24td2FybmluZy5wYXRjaApAQCAtMCwwICsxLDE1IEBACistLS0g Y2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9saWJjKysvc3JjL2luY2x1ZGUvX19j b25maWcub3JpZwkyMDI0LTAxLTE2IDE4OjM4OjAwLjk5NTkzMDc3NCArMDEwMAorKysrIGNocm9t aXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvbGliYysrL3NyYy9pbmNsdWRlL19fY29uZmln CTIwMjQtMDEtMTYgMTg6NDM6NDcuMDU2NTE3Mjg5ICswMTAwCitAQCAtMzIsMTEgKzMyLDcgQEAK KyAKKyAvLyBXYXJuIGlmIGEgY29tcGlsZXIgdmVyc2lvbiBpcyB1c2VkIHRoYXQgaXMgbm90IHN1 cHBvcnRlZCBhbnltb3JlCisgLy8gTExWTSBSRUxFQVNFIFVwZGF0ZSB0aGUgbWluaW11bSBjb21w aWxlciB2ZXJzaW9ucworLSMgIGlmIGRlZmluZWQoX0xJQkNQUF9DTEFOR19WRVIpCistIyAgICBp ZiBfTElCQ1BQX0NMQU5HX1ZFUiA8IDE2MDAKKy0jICAgICAgd2FybmluZyAiTGliYysrIG9ubHkg c3VwcG9ydHMgQ2xhbmcgMTYgYW5kIGxhdGVyIgorLSMgICAgZW5kaWYKKy0jICBlbGlmIGRlZmlu ZWQoX0xJQkNQUF9BUFBMRV9DTEFOR19WRVIpCisrIyAgaWYgZGVmaW5lZChfTElCQ1BQX0FQUExF X0NMQU5HX1ZFUikKKyAjICAgIGlmIF9MSUJDUFBfQVBQTEVfQ0xBTkdfVkVSIDwgMTUwMAorICMg ICAgICB3YXJuaW5nICJMaWJjKysgb25seSBzdXBwb3J0cyBBcHBsZUNsYW5nIDE1IGFuZCBsYXRl ciIKKyAjICAgIGVuZGlmCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIxLWVsNy1kZWZhdWx0LWNvbnN0cnVjdG9yLWludm9sdmluZy1hbm9ueW1vdXMtdW5p b24ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLWVsNy1kZWZh dWx0LWNvbnN0cnVjdG9yLWludm9sdmluZy1hbm9ueW1vdXMtdW5pb24ucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uMGEyYWMxZGUzNTYxZAotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtZWw3LWRlZmF1 bHQtY29uc3RydWN0b3ItaW52b2x2aW5nLWFub255bW91cy11bmlvbi5wYXRjaApAQCAtMCwwICsx LDEyIEBACitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9p bnRlcmVzdF9ncm91cC9oZWFkZXJfZGlyZWN0X2Zyb21fc2VsbGVyX3NpZ25hbHMuY2MubWUgY2hy b21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaGVhZGVy X2RpcmVjdF9mcm9tX3NlbGxlcl9zaWduYWxzLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41 Ny9jb250ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaGVhZGVyX2RpcmVjdF9mcm9tX3NlbGxl cl9zaWduYWxzLmNjLm1lCTIwMjQtMDEtMjMgMTU6MTM6MTEuNDY5MTA0Njk0ICswMTAwCisrKysg Y2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaGVh ZGVyX2RpcmVjdF9mcm9tX3NlbGxlcl9zaWduYWxzLmNjCTIwMjQtMDEtMjMgMTU6MTE6NDAuMTE3 ODQyMDE1ICswMTAwCitAQCAtNDYsNyArNDYsNyBAQCBzaXplX3QgR2V0UmVzdWx0U2l6ZUJ5dGVz KGNvbnN0IEhlYWRlckRpCisgCisgfSAgLy8gbmFtZXNwYWNlCisgCistSGVhZGVyRGlyZWN0RnJv bVNlbGxlclNpZ25hbHM6OlJlc3VsdDo6UmVzdWx0KCkgPSBkZWZhdWx0OworK0hlYWRlckRpcmVj dEZyb21TZWxsZXJTaWduYWxzOjpSZXN1bHQ6OlJlc3VsdCgpIHt9CisgCisgSGVhZGVyRGlyZWN0 RnJvbVNlbGxlclNpZ25hbHM6OlJlc3VsdDo6UmVzdWx0KAorICAgICBhYnNsOjpvcHRpb25hbDxz dGQ6OnN0cmluZz4gc2VsbGVyX3NpZ25hbHMsCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvY2hyb21pdW0tMTIxLW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4zNzdkZTBkMTE0MGNi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEy MS1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaApAQCAtMCwwICsxLDQ1OSBAQAorZGlmZiAtdXAg Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jaGVja19vcC5oLm1pc3NpbmctaGVhZGVyLWZp bGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvY2hlY2tfb3AuaAorLS0tIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2Jhc2UvY2hlY2tfb3AuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIz LTExLTAxIDE5OjEwOjA1LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUu MTA1L2Jhc2UvY2hlY2tfb3AuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgwODg2ODk4MiArMDEwMAor QEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBCQVNFX0NIRUNLX09QX0hfCisgI2RlZmluZSBCQVNF X0NIRUNLX09QX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+ CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8c3RyaW5nX3ZpZXc+CitkaWZmIC11cCBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NvbnRhaW5lcnMvZmxhdF9tYXAuaC5taXNzaW5n LWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL2NvbnRhaW5lcnMvZmxh dF9tYXAuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvY29udGFpbmVycy9mbGF0 X21hcC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MDUuMDAwMDAwMDAw ICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9jb250YWluZXJzL2ZsYXRf bWFwLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTM4NjkwODkgKzAxMDAKK0BAIC01LDYgKzUsNyBA QAorICNpZm5kZWYgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCisgI2RlZmluZSBCQVNFX0NP TlRBSU5FUlNfRkxBVF9NQVBfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 ZnVuY3Rpb25hbD4KKyAjaW5jbHVkZSA8dHVwbGU+CisgI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgor ZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9kZWJ1Zy9wcm9maWxlci5oLm1p c3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvZGVidWcvcHJv ZmlsZXIuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvZGVidWcvcHJvZmlsZXIu aC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjA1LjAwMDAwMDAwMCArMDEw MAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvZGVidWcvcHJvZmlsZXIuaAkyMDIz LTExLTA2IDE0OjM0OjAxLjgwOTg2OTAwNCArMDEwMAorQEAgLTgsNiArOCw3IEBACisgI2luY2x1 ZGUgPHN0ZGRlZi5oPgorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2Jhc2VfZXhwb3J0Lmgi CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL21lbW9yeS9yZWZfY291bnRl ZC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Jhc2UvbWVt b3J5L3JlZl9jb3VudGVkLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9iYXNlL21lbW9y eS9yZWZfY291bnRlZC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MDUu MDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvYmFzZS9tZW1vcnkv cmVmX2NvdW50ZWQuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgwODg2ODk4MiArMDEwMAorQEAgLTYs NiArNiw3IEBACisgI2RlZmluZSBCQVNFX01FTU9SWV9SRUZfQ09VTlRFRF9IXworIAorICNpbmNs dWRlIDxzdGRkZWYuaD4KKysjaW5jbHVkZSA8bGltaXRzPgorIAorICNpbmNsdWRlIDxsaW1pdHM+ CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9j aHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIu aC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUvYnJv d3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaAorLS0tIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291 bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEg MTk6MTA6MTMuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY2hy b21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgJ MjAyMy0xMS0wNiAxNDozNDowMS44MTQ4NjkxMTAgKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAor ICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8 bWFwPgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvZmxhdF9zZXQuaCIKK2RpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRp Y2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3Jl cXVlc3RfZGlhbG9nX21vZGVsLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUv YnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgubWlz c2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoxNi4wMDAwMDAwMDAgKzAxMDAKKysr KyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50 aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTc4Njkx NzQgKzAxMDAKK0BAIC04LDYgKzgsNyBAQAorICNpbmNsdWRlIDxtZW1vcnk+CisgI2luY2x1ZGUg PHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorKyNpbmNsdWRlIDx2YXJpYW50PgorIAorICNp bmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgorICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9u YWwvY2FsbGJhY2tfZm9yd2FyZC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv Y2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjLm1pc3Npbmct aGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS90ZXN0L2Nocm9tZWRy aXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5taXNzaW5n LWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjE2LjAwMDAwMDAwMCArMDEwMAorKysrIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2Vi X3ZpZXdfaW1wbC5jYwkyMDIzLTExLTA2IDE0OjM0OjAxLjgxODg2OTE5NiArMDEwMAorQEAgLTEx LDYgKzExLDcgQEAKKyAjaW5jbHVkZSA8cXVldWU+CisgI2luY2x1ZGUgPHV0aWxpdHk+CisgI2lu Y2x1ZGUgPHZlY3Rvcj4KKysjaW5jbHVkZSA8Y3N0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9j aGVjay5oIgorICNpbmNsdWRlICJiYXNlL2ZpbGVzL2ZpbGVfcGF0aC5oIgorZGlmZiAtdXAgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0 b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTku MC42MDQ1LjEwNS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9hdXRvZmlsbF9hYmxh dGlvbl9zdHVkeS5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9hdXRv ZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjE5LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxs X2FibGF0aW9uX3N0dWR5LmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTU4NjkxMzIgKzAxMDAKK0BA IC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8Y3N0 ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIGNsYXNzIEdVUkw7CitkaWZmIC11cCBjaHJv bWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3JlcG9y dGVyX2NsaWVudC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgKKy0tLSBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwL2NyYXNoX3Jl cG9ydGVyX2NsaWVudC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjAu MDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9j cmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAkyMDIzLTExLTA2IDE0OjM0OjAx LjgxMzg2OTA4OSArMDEwMAorQEAgLTcsNiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5o PgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1 ZGUgImJ1aWxkL2J1aWxkX2NvbmZpZy5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92 YWxpZGF0b3IuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9j b21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlk YXRvci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2Vu Z2FnZW1lbnQvaW50ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5taXNzaW5nLWhlYWRl ci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTQ4NjkxMTAgKzAx MDAKK0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIG5hbWVzcGFjZSBmZWF0dXJlX2Vu Z2FnZW1lbnQgeworZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9m ZWF0dXJlX2VuZ2FnZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3Iu aC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRz L2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRv ci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9mZWF0dXJlX2VuZ2Fn ZW1lbnQvaW50ZXJuYWwvbmV2ZXJfZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaC5taXNzaW5nLWhl YWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjIxLjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9t aXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFs L25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTQ4 NjkxMTAgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19GRUFUVVJF X0VOR0FHRU1FTlRfSU5URVJOQUxfTkVWRVJfRVZFTlRfU1RPUkFHRV9WQUxJREFUT1JfSF8KKyAj ZGVmaW5lIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5U X1NUT1JBR0VfVkFMSURBVE9SX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9mZWF0dXJlX2VuZ2FnZW1lbnQvaW50 ZXJuYWwvZXZlbnRfc3RvcmFnZV92YWxpZGF0b3IuaCIKK2RpZmYgLXVwIGNocm9taXVtLTExOS4w LjYwNDUuMTA1L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21vZGVs LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50 cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAorLS0tIGNocm9taXVtLTEx OS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvb21uaWJveC9icm93c2VyL29uX2RldmljZV9oZWFkX21v ZGVsLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoyMS4wMDAwMDAwMDAg KzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL29tbmlib3gvYnJv d3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE1ODY5MTMy ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisrI2lu Y2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dXRpbGl0eT4K KyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29t cG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3Jk X2dlbmVyYXRvci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNz d29yZF9nZW5lcmF0b3IuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMv cGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0 b3IuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjIxLjAwMDAwMDAwMCAr MDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFu YWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAkyMDIzLTEx LTA2IDE0OjM0OjAxLjgxNDg2OTExMCArMDEwMAorQEAgLTcsNiArNyw3IEBACisgCisgI2luY2x1 ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+ CisgCisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL3BheW1l bnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaC5taXNzaW5nLWhlYWRlci1m aWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQv dXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MjEuMDAwMDAwMDAwICswMTAw CisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50 L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTU4Njkx MzIgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19QQVlNRU5UU19D T05URU5UX1VUSUxJVFlfRklOR0VSUFJJTlRfUEFSU0VSX0hfCisgI2RlZmluZSBDT01QT05FTlRT X1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KKyAKKysjaW5j bHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgI2luY2x1ZGUgPHN0ZGludC5o PgorIAorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ2luL3RpbWVfY2xhbXBlci5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dpbi90aW1lX2Ns YW1wZXIuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dpbi90aW1lX2NsYW1wZXIuaC5t aXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjI4LjAwMDAwMDAwMCArMDEwMAor KysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dpbi90aW1lX2NsYW1wZXIuaAkyMDIzLTExLTA2 IDE0OjM0OjAxLjgxODg2OTE5NiArMDEwMAorQEAgLTQ4LDcgKzQ4LDcgQEAgY2xhc3MgR0lOX0VY UE9SVCBUaW1lQ2xhbXBlciB7CisgICAgIGNvbnN0IGludDY0X3QgbWljcm9zID0gbm93X21pY3Jv cyAlIDEwMDA7CisgICAgIC8vIGFicygpIGlzIG5lY2Vzc2FyeSBmb3IgZGV2aWNlcyB3aXRoIHRp bWVzIGJlZm9yZSB1bml4LWVwb2NoIChtb3N0IGxpa2VseQorICAgICAvLyBjb25maWd1cmVkIGlu Y29ycmVjdGx5KS4KKy0gICAgaWYgKGFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAx MDAwKSB7CisrICAgIGlmIChzdGQ6OmFicyhtaWNyb3MpICsga1Jlc29sdXRpb25NaWNyb3MgPCAx MDAwKSB7CisgICAgICAgcmV0dXJuIG5vd19taWNyb3MgLyAxMDAwOworICAgICB9CisgICAgIHJl dHVybiBDbGFtcFRpbWVSZXNvbHV0aW9uKG5vd19taWNyb3MpIC8gMTAwMDsKK2RpZmYgLXVwIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L2dwdS9jb25maWcvZ3B1X2Zl YXR1cmVfaW5mby5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvZ3B1L2NvbmZpZy9ncHVf ZmVhdHVyZV9pbmZvLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDoyOC4w MDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9ncHUvY29uZmlnL2dw dV9mZWF0dXJlX2luZm8uaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgwOTg2OTAwNCArMDEwMAorQEAg LTcsNiArNyw3IEBACisgCisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L25ldC9iYXNlL25ldF9leHBvcnQuaC5taXNzaW5nLWhl YWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9uZXQvYmFzZS9uZXRfZXhwb3J0LmgK Ky0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9uZXQvYmFzZS9uZXRfZXhwb3J0LmgubWlzc2lu Zy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0xMS0wNiAx NDozNDowMS44MDk4NjkwMDQgKzAxMDAKK0BAIC01LDYgKzUsOCBAQAorICNpZm5kZWYgTkVUX0JB U0VfTkVUX0VYUE9SVF9IXworICNkZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorKworIC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0 aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkgdGhlIG5ldCBtb2R1bGUgY2FuCisgLy8gYmUgZXhwb3J0 ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQg dGVzdHMgdG8KKyAvLyBhY2Nlc3MgZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGly ZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMuCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oCistLS0g Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oLm1p c3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MzQuMDAwMDAwMDAwICswMTAwCisr KysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5o CTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE1ODY5MTMyICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAK KyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PHN0cmluZz4KKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NhbmRib3gv bGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1pc3NpbmctaGVh ZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NhbmRib3gvbGludXgvc3lzY2FsbF9i cm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgu bWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozNC4wMDAwMDAwMDAgKzAxMDAK KysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2Vy L2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgwOTg2OTAwNCAr MDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU0NBTExfQlJP S0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KKyAjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lT Q0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxiaXRzZXQ+CisgI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUg PHN0cmluZz4KK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NlcnZpY2VzL2Rldmlj ZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgubWlzc2luZy1oZWFk ZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvc2VydmljZXMvZGV2aWNlL3B1YmxpYy9j cHAvZ2VuZXJpY19zZW5zb3Ivc2Vuc29yX3JlYWRpbmcuaAorLS0tIGNocm9taXVtLTExOS4wLjYw NDUuMTA1L3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9y ZWFkaW5nLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMDozNS4wMDAwMDAw MDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS9zZXJ2aWNlcy9kZXZpY2UvcHVi bGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCTIwMjMtMTEtMDYgMTQ6MzQ6 MDEuODIwODY5MjM4ICswMTAwCitAQCAtOCw2ICs4LDkgQEAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+ CisgI2luY2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkZGVmPgorKyNpbmNsdWRl IDxjc3RkaW50PgorKworICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKyBuYW1lc3BhY2UgZGV2 aWNlIHsKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3NraWEvZXh0L3NrY29sb3Jz cGFjZV90cmZuLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MubWlzc2luZy1oZWFkZXItZmlsZXMJMjAy My0xMS0wMSAxOToxMDozNS4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1 LjEwNS9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYwkyMDIzLTExLTA2IDE0OjM0OjAxLjgx ODg2OTE5NiArMDEwMAorQEAgLTMsNiArMyw3IEBACisgLy8gZm91bmQgaW4gdGhlIExJQ0VOU0Ug ZmlsZS4KKyAKKyAjaW5jbHVkZSAic2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIKKysjaW5j bHVkZSA8Y21hdGg+CisgCisgI2luY2x1ZGUgPGNtYXRoPgorIAorZGlmZiAtdXAgY2hyb21pdW0t MTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5n X3ZpZXcuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvc3RyaW5ncy9zdHJpbmdfdmlldy5oCistLS0gY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3Ry aW5nX3ZpZXcuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEwOjM2LjAwMDAw MDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2Fic2Vp bC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgJMjAyMy0xMS0wNiAxNDozNDowMS44MDk4 NjkwMDQgKzAxMDAKK0BAIC0yNyw2ICsyNyw3IEBACisgI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RS SU5HX1ZJRVdfSF8KKyAjZGVmaW5lIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGNhc3Nl cnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1pc3Npbmct aGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2FuZ2xlL2lu Y2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90 aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1pc3NpbmctaGVh ZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTE6NTkuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9HTFNMQU5HL1NoYWRl clZhcnMuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxMDg2OTAyNSArMDEwMAorQEAgLTEwLDYgKzEw LDcgQEAKKyAjaWZuZGVmIEdMU0xBTkdfU0hBREVSVkFSU19IXworICNkZWZpbmUgR0xTTEFOR19T SEFERVJWQVJTX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFsZ29yaXRo bT4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPGNzdGRpbnQ+CitkaWZmIC11cCBjaHJv bWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0 b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9t aXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2JsaW5rL3B1YmxpYy9jb21tb24vYmx1ZXRv b3RoL3dlYl9ibHVldG9vdGhfZGV2aWNlX2lkLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3Ro X2RldmljZV9pZC5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTA6MzcuMDAw MDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvYmxp bmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAkyMDIz LTExLTA2IDE0OjM0OjAxLjgxMDg2OTAyNSArMDEwMAorQEAgLTcsNiArNyw3IEBACisgCisgI2lu Y2x1ZGUgPHN0ZGludC5oPgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxhcnJh eT4KKyAjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KK2RpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9z cGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9t aXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9y ZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhp cmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVy LmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMzo1MC4wMDAwMDAwMDAgKzAx MDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50 L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaAkyMDIzLTExLTA2IDE0OjM0OjAx LjgxMDg2OTAyNSArMDEwMAorQEAgLTE1LDYgKzE1LDcgQEAKKyAjaWZuZGVmIFNSQ19USU5UX0xB TkdfU1BJUlZfUkVBREVSX0FTVF9QQVJTRVJfTkFNRVJfSF8KKyAjZGVmaW5lIFNSQ19USU5UX0xB TkdfU1BJUlZfUkVBREVSX0FTVF9QQVJTRVJfTkFNRVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGlu dD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgorICNpbmNs dWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0 eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21p dW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5o CistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9y b3V0ZXJfbGluay5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTE6MjAuMDAw MDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvaXBj ei9zcmMvaXBjei9yb3V0ZXJfbGluay5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE5ODY5MjE3ICsw MTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIElQQ1pfU1JDX0lQQ1pfUk9VVEVSX0xJTktf SF8KKyAjZGVmaW5lIElQQ1pfU1JDX0lQQ1pfUk9VVEVSX0xJTktfSF8KKyAKKysjaW5jbHVkZSA8 bWVtb3J5PgorICNpbmNsdWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNp bmNsdWRlIDxtZW1vcnk+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9w YXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYy5t aXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9t YXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYworLS0tIGNo cm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGll cy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEt MDEgMTk6MTE6NTMuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv dGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9u ZXMuY2MJMjAyMy0xMS0wNiAxNDozNDowMS44MTk4NjkyMTcgKzAxMDAKK0BAIC0xNCw2ICsxNCw3 IEBACisgICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgICovCisgCisrI2luY2x1 ZGUgPGNtYXRoPgorICNpbmNsdWRlICJjcHAvcGFsZXR0ZXMvdG9uZXMuaCIKKyAKKyAjaW5jbHVk ZSAiY3BwL2NhbS9jYW0uaCIKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJk X3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9y ZWNvcmQuaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGly ZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRf cmVjb3JkLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9vcGVuc2Ny ZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgubWlzc2lu Zy1oZWFkZXItZmlsZXMJMjAyMy0xMS0wMSAxOToxMTo1OS4wMDAwMDAwMDAgKzAxMDAKKysrKyBj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3Zl cnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgJMjAyMy0xMS0wNiAxNDozNDowMS44 MTA4NjkwMjUgKzAxMDAKK0BAIC03LDYgKzcsNyBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4K KyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KKyAjaW5jbHVk ZSA8bWFwPgorICNpbmNsdWRlIDxzZXQ+CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5taXNzaW5n LWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9wZGZpdW0v Y29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1 L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oLm1pc3Npbmct aGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTQ6NDguMDAwMDAwMDAwICswMTAwCisrKysgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0 aW9uX2ZsYWdzLmgJMjAyMy0xMS0wNiAxNDozNDowMS44MTU4NjkxMzIgKzAxMDAKK0BAIC03LDYg KzcsOCBAQAorIAorICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4K KysKKyBuYW1lc3BhY2UgcGRmaXVtIHsKKyBuYW1lc3BhY2UgYW5ub3RhdGlvbl9mbGFncyB7Cisg CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1 eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaC5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVt ZW50YXRpb24uaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3J1eS9z cmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIw MjMtMTEtMDEgMTk6MTI6MDIuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgJ MjAyMy0xMS0wNiAxNDozNDowMS44MTM4NjkwODkgKzAxMDAKK0BAIC0xNyw2ICsxNyw3IEBAIGxp bWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICNkZWZpbmUgUlVZX1JVWV9QUk9GSUxFUl9J TlNUUlVNRU5UQVRJT05fSF8KKyAKKyAjaWZkZWYgUlVZX1BST0ZJTEVSCisrI2luY2x1ZGUgPHN0 cmluZz4KKyAjaW5jbHVkZSA8Y3N0ZGlvPgorICNpbmNsdWRlIDxtdXRleD4KKyAjaW5jbHVkZSA8 dmVjdG9yPgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dp ZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAubWlzc2luZy1oZWFkZXItZmlsZXMgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9M UlVDYWNoZS5ocHAKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS9zd2lm dHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIz LTExLTAxIDE5OjEyOjE1LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUu MTA1L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCTIwMjMt MTEtMDYgMTQ6MzQ6MDEuODEwODY5MDI1ICswMTAwCitAQCAtMTcsNiArMTcsNyBAQAorIAorICNp bmNsdWRlICJTeXN0ZW0vRGVidWcuaHBwIgorIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNs dWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFs PgorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dpZnRzaGFk ZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWduYWxzLmlu Yy5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4 L1NpZ25hbHMuaW5jCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvc3dp ZnRzaGFkZXIvdGhpcmRfcGFydHkvbGx2bS0xMC4wL2xsdm0vbGliL1N1cHBvcnQvVW5peC9TaWdu YWxzLmluYy5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEyOjQyLjAwMDAwMDAw MCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3N3aWZ0c2hh ZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5p bmMJMjAyMy0xMS0wNiAxNDozNDowMS44MTQ4NjkxMTAgKzAxMDAKK0BAIC00NSw2ICs0NSw3IEBA CisgI2luY2x1ZGUgImxsdm0vU3VwcG9ydC9TYXZlQW5kUmVzdG9yZS5oIgorICNpbmNsdWRlICJs bHZtL1N1cHBvcnQvcmF3X29zdHJlYW0uaCIKKyAjaW5jbHVkZSA8YWxnb3JpdGhtPgorKyNpbmNs dWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHN5c2V4aXRzLmg+ CisgI2lmZGVmIEhBVkVfQkFDS1RSQUNFCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFs L3NwZWN0cm9ncmFtLmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5h bC9zcGVjdHJvZ3JhbS5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkv dGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5o Lm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTM6MjAuMDAwMDAwMDAwICswMTAw CisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5z b3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCTIwMjMtMTEtMDYgMTQ6 MzQ6MDEuODEzODY5MDg5ICswMTAwCitAQCAtMzEsNiArMzEsNyBAQCBsaW1pdGF0aW9ucyB1bmRl ciB0aGUgTGljZW5zZS4KKyAjaWZuZGVmIFRFTlNPUkZMT1dfTElURV9LRVJORUxTX0lOVEVSTkFM X1NQRUNUUk9HUkFNX0hfCisgI2RlZmluZSBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5B TF9TUEVDVFJPR1JBTV9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxjb21w bGV4PgorICNpbmNsdWRlIDxkZXF1ZT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorZGlmZiAtdXAgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlk YXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oLm1pc3Np bmctaGVhZGVyLWZpbGVzIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3Z1bGth bi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92 a19tZW1fYWxsb2MuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3Z1 bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3Zt YS92a19tZW1fYWxsb2MuaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjEyOjQ1 LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5 L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFs L3ZtYS92a19tZW1fYWxsb2MuaAkyMDIzLTExLTA2IDE0OjM0OjAxLjgxNzg2OTE3NCArMDEwMAor QEAgLTI4ODQsNiArMjg4NCw3IEBAIHN0YXRpYyB2b2lkIHZtYV9hbGlnbmVkX2ZyZWUodm9pZCog Vk1BX04KKyAKKyAvLyBEZWZpbmUgdGhpcyBtYWNybyB0byAxIHRvIGVuYWJsZSBmdW5jdGlvbnM6 IHZtYUJ1aWxkU3RhdHNTdHJpbmcsIHZtYUZyZWVTdGF0c1N0cmluZy4KKyAjaWYgVk1BX1NUQVRT X1NUUklOR19FTkFCTEVECisrI2luY2x1ZGUgPHN0ZGlvLmg+CisgICAgIHN0YXRpYyBpbmxpbmUg dm9pZCBWbWFVaW50MzJUb1N0cihjaGFyKiBWTUFfTk9UX05VTEwgb3V0U3RyLCBzaXplX3Qgc3Ry TGVuLCB1aW50MzJfdCBudW0pCisgICAgIHsKKyAgICAgICAgIHNucHJpbnRmKG91dFN0ciwgc3Ry TGVuLCAiJXUiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBpbnQ+KG51bSkpOworZGlmZiAtdXAgY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hh bm5lbF9taXhlci5jYy5taXNzaW5nLWhlYWRlci1maWxlcyBjaHJvbWl1bS0xMTkuMC42MDQ1LjEw NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCistLS0g Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkv Y2hhbm5lbF9taXhlci5jYy5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjE0OjA1 LjAwMDAwMDAwMCArMDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5 L3dlYnJ0Yy9hdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4ZXIuY2MJMjAyMy0xMS0wNiAxNDozNDow MS44MTk4NjkyMTcgKzAxMDAKK0BAIC04LDYgKzgsOCBAQAorICAqICBiZSBmb3VuZCBpbiB0aGUg QVVUSE9SUyBmaWxlIGluIHRoZSByb290IG9mIHRoZSBzb3VyY2UgdHJlZS4KKyAgKi8KKyAKKysj aW5jbHVkZSA8Y3N0cmluZz4KKysKKyAjaW5jbHVkZSAiYXVkaW8vdXRpbGl0eS9jaGFubmVsX21p eGVyLmgiCisgCisgI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhpbmdfbWF0cml4 LmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMv Y29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzIGNocm9t aXVtLTExOS4wLjYwNDUuMTA1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9z cHNfcGFyc2VyLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0eS93ZWJy dGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIw MjMtMTEtMDEgMTk6MTQ6MDYuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0 NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL2NvbW1vbl92aWRlby9oMjY0L3Nwc19wYXJzZXIuaAky MDIzLTExLTA2IDE0OjM0OjAxLjgxOTg2OTIxNyArMDEwMAorQEAgLTExLDYgKzExLDcgQEAKKyAj aWZuZGVmIENPTU1PTl9WSURFT19IMjY0X1NQU19QQVJTRVJfSF8KKyAjZGVmaW5lIENPTU1PTl9W SURFT19IMjY0X1NQU19QQVJTRVJfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVk ZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgorICNpbmNsdWRlICJydGNfYmFzZS9iaXRzdHJlYW1f cmVhZGVyLmgiCisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS90aGlyZF9wYXJ0 eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlz c2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oCistLS0gY2hy b21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9t b2R1bGVfY29tbW9uX3R5cGVzX3B1YmxpYy5oLm1pc3NpbmctaGVhZGVyLWZpbGVzCTIwMjMtMTEt MDEgMTk6MTQ6MTEuMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUv dGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvaW5jbHVkZS9tb2R1bGVfY29tbW9uX3R5cGVzX3B1 YmxpYy5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE5ODY5MjE3ICswMTAwCitAQCAtMTEsNiArMTEs NyBAQAorICNpZm5kZWYgTU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElD X0hfCisgI2RlZmluZSBNT0RVTEVTX0lOQ0xVREVfTU9EVUxFX0NPTU1PTl9UWVBFU19QVUJMSUNf SF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8bGltaXRzPgorIAorICNpbmNs dWRlICJhYnNsL3R5cGVzL29wdGlvbmFsLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1 LjEwNS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZf ZmlsZV9yZWFkZXIuY2MubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2Zp bGVfcmVhZGVyLmNjCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2Vi cnRjL21vZHVsZXMvdmlkZW9fY29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjLm1pc3Np bmctaGVhZGVyLWZpbGVzCTIwMjMtMTEtMDEgMTk6MTQ6MTIuMDAwMDAwMDAwICswMTAwCisrKysg Y2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdGhpcmRfcGFydHkvd2VicnRjL21vZHVsZXMvdmlkZW9f Y29kaW5nL3V0aWxpdHkvaXZmX2ZpbGVfcmVhZGVyLmNjCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE5 ODY5MjE3ICswMTAwCitAQCAtMTAsNiArMTAsNyBAQAorIAorICNpbmNsdWRlICJtb2R1bGVzL3Zp ZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5oIgorIAorKyNpbmNsdWRlIDxjc3Ry aW5nPgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK2RpZmYgLXVw IGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVy LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvYmFzZS9w cmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAorLS0tIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3Vp L2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWlzc2luZy1oZWFkZXItZmlsZXMJMjAy My0xMS0wMSAxOToxMToyOC4wMDAwMDAwMDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1 LjEwNS91aS9iYXNlL3ByZWRpY3Rpb24va2FsbWFuX2ZpbHRlci5oCTIwMjMtMTEtMDYgMTQ6MzQ6 MDEuODE0ODY5MTEwICswMTAwCitAQCAtNyw2ICs3LDggQEAKKyAKKyAjaW5jbHVkZSA8c3RkaW50 Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgI2luY2x1ZGUgImJhc2UvY29tcG9uZW50 X2V4cG9ydC5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvbWF0cml4M19mLmgiCisgCitk aWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dy YWRpZW50LmgubWlzc2luZy1oZWFkZXItZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkv Z2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS4x MDUvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oLm1pc3NpbmctaGVhZGVyLWZpbGVz CTIwMjMtMTEtMDEgMTk6MTE6MjguMDAwMDAwMDAwICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAu NjA0NS4xMDUvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCTIwMjMtMTEtMDYgMTQ6 MzQ6MDEuODEyODY5MDY4ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3Rk aW50Lmg+CisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPGFycmF5PgorICNpbmNs dWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxjc3RkaW50PgorZGlmZiAtdXAgY2hyb21pdW0tMTE5 LjAuNjA0NS4xMDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgubWlzc2luZy1oZWFkZXIt ZmlsZXMgY2hyb21pdW0tMTE5LjAuNjA0NS4xMDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4 LmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjEwNS91aS9nZngvbGludXgvZHJtX3V0aWxfbGlu dXguaC5taXNzaW5nLWhlYWRlci1maWxlcwkyMDIzLTExLTAxIDE5OjExOjI4LjAwMDAwMDAwMCAr MDEwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuMTA1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9s aW51eC5oCTIwMjMtMTEtMDYgMTQ6MzQ6MDEuODE5ODY5MjE3ICswMTAwCitAQCAtOSw2ICs5LDgg QEAKKyAKKyAjaW5jbHVkZSAidWkvZ2Z4L2J1ZmZlcl90eXBlcy5oIgorIAorKyNpbmNsdWRlIDxj c3RkaW50PgorKworIG5hbWVzcGFjZSB1aSB7CisgCisgaW50IEdldEZvdXJDQ0Zvcm1hdEZyb21C dWZmZXJGb3JtYXQoZ2Z4OjpCdWZmZXJGb3JtYXQgZm9ybWF0KTsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbW5lbW9uaWMtZXJyb3IucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLW1uZW1vbmljLWVycm9yLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjYxMjM5ZTdmMDIyNzYK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LW1uZW1vbmljLWVycm9yLnBhdGNoCkBAIC0wLDAgKzEsMTIgQEAKK2RpZmYgLXVwIGNocm9taXVt LTEyMS4wLjYxNjcuMTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9CVUlMRC5nbi5t bmVtb25pYy1lcnJvciBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L3RoaXJkX3BhcnR5L2JsaW5rL3Jl bmRlcmVyL2NvcmUvQlVJTEQuZ24KKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvQlVJTEQuZ24ubW5lbW9uaWMtZXJyb3IJMjAyMy0xMi0x OSAxODoxNDo0My4wMjc3MjM4MzIgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvQlVJTEQuZ24JMjAyMy0xMi0xOSAxODozOTo0 Ny40OTIzODQ2MjAgKzAxMDAKK0BAIC0xNzMxLDggKzE3MzEsNiBAQCBhY3Rpb25fZm9yZWFjaCgi ZWxlbWVudF9sb2NhdG9yX3Rlc3RfcHJvCisgICBweXRob25fcGF0aF9yb290ID0gIiR7cm9vdF9v dXRfZGlyfS9weXByb3RvIgorICAgcHl0aG9uX3BhdGhfcHJvdG8gPSAiJHtweXRob25fcGF0aF9y b290fS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xjcF9jcml0aWNhbF9wYXRoX3By ZWRpY3RvciIKKyAKKy0gIG1uZW1vbmljID0gIkVMT0NfUFJPVE8iCistCisgICBzb3VyY2VfZGly ID0gImxjcF9jcml0aWNhbF9wYXRoX3ByZWRpY3Rvci90ZXN0X3Byb3RvIgorICAgc291cmNlcyA9 IHJlYmFzZV9wYXRoKFsgImxjcF9pbWFnZV9pZC5hc2NpaXBiIiBdLCAiIiwgc291cmNlX2RpcikK KyAgIHNvdXJjZXMgKz0gcmViYXNlX3BhdGgoWyAibGNwX2ltYWdlX2lkX2IuYXNjaWlwYiIgXSwg IiIsIHNvdXJjZV9kaXIpCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIwLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaApzaW1p bGFyaXR5IGluZGV4IDc1JQpyZW5hbWUgZnJvbSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIwLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCnJlbmFtZSB0byBzcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBh dGNoCmluZGV4IGIxZDk4N2FkZWZmOGQuLjMzMmE5MWFkMDZiM2QgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjAtbm9fbWF0Y2hpbmdfY29uc3RydWN0b3Iu cGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1ub19tYXRj aGluZ19jb25zdHJ1Y3Rvci5wYXRjaApAQCAtMTE0LDkgKzExNCw5IEBAIGRpZmYgLXVwIGNocm9t aXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1i ZWRkZWRfcGVyCiArICAgICAgICBCdXR0b25UeXBlOjprQWxsb3dUaGlzVGltZSwgdWk6OkJ1dHRv blN0eWxlOjprVG9uYWx9OwogICAgfQogLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2sobDEwbl91dGls OjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCi0tICAgICAgICAgICAgICAg ICAgICAgICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKKy0g ICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0eWxl OjprVG9uYWwsIGtBbGxvd0lkKTsKICsgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7bDEwbl91 dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCi0rICAgICAgICAgICAg ICAgICAgICAgICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsK KysgICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvdywgdWk6OkJ1dHRvblN0 eWxlOjprVG9uYWwsIGtBbGxvd0lkfTsKICAgIHJldHVybiBidXR0b25zOwogIH0KICAKQEAgLTE0 NSw1NSArMTQ1LDYgQEAgZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jaHJvbWUvYnJv d3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXIKICAgIHJldHVybiBidXR0b25z OwogIH0KICAKLWRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL2Jyb3dzZXIv dWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNs eV9kZW5pZWRfdmlldy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMjAuMC42 MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1p c3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MKLS0tLSBjaHJvbWl1bS0xMjAu MC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Bl cm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2Mubm9fbWF0Y2hpbmdfY29u c3RydWN0b3IJMjAyMy0xMS0yOSAyMjozOTo1My4wMDAwMDAwMDAgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVk ZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MJMjAyMy0xMi0w MyAxNzozMToyNS43NTY0MjAzNDIgKzAxMDAKLUBAIC02MywxOCArNjMsMTggQEAgRW1iZWRkZWRQ ZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseURlbmllZAotIHN0ZDo6dmVjdG9yPEVtYmVkZGVkUGVy bWlzc2lvblByb21wdFByZXZpb3VzbHlEZW5pZWRWaWV3OjpCdXR0b25Db25maWd1cmF0aW9uPgot IEVtYmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3VzbHlEZW5pZWRWaWV3OjpHZXRCdXR0b25z Q29uZmlndXJhdGlvbigpIGNvbnN0IHsKLSAgIHN0ZDo6dmVjdG9yPEJ1dHRvbkNvbmZpZ3VyYXRp b24+IGJ1dHRvbnM7Ci0tICBidXR0b25zLmVtcGxhY2VfYmFjaygKLSsgIGJ1dHRvbnMuZW1wbGFj ZV9iYWNrKCkgPSB7Ci0gICAgICAgbDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURE RURfUFJPTVBUX0NPTlRJTlVFX05PVF9BTExPV0lORyksCi0tICAgICAgQnV0dG9uVHlwZTo6a0Nv bnRpbnVlTm90QWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKLSsgICAgICBCdXR0 b25UeXBlOjprQ29udGludWVOb3RBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9Owot IAotICAgaWYgKGJhc2U6OkZlYXR1cmVMaXN0OjpJc0VuYWJsZWQocGVybWlzc2lvbnM6OmZlYXR1 cmVzOjprT25lVGltZVBlcm1pc3Npb24pKSB7Ci0tICAgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKAot KyAgICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgICAgbDEwbl91dGlsOjpHZXRT dHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPV19USElTX1RJTUUpLAotLSAgICAgICAgQnV0 dG9uVHlwZTo6a0FsbG93VGhpc1RpbWUsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKLSsgICAg ICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNUaW1lLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07 Ci0gICB9IGVsc2UgewotLSAgICBidXR0b25zLmVtcGxhY2VfYmFjaygKLSsgICAgYnV0dG9ucy5l bXBsYWNlX2JhY2soKSA9IHsKLSAgICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURT X1BFUk1JU1NJT05fQUxMT1dfVEhJU19USU1FKSwKLS0gICAgICAgIEJ1dHRvblR5cGU6OmtBbGxv dywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOwotKyAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93 LCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07Ci0gICB9Ci0gICByZXR1cm4gYnV0dG9uczsKLSB9 Ci1kaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdz L3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRl ZF92aWV3LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9w cm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MKLS0tLSBjaHJvbWl1bS0xMjAuMC42MDk5 LjU2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Np b25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjLm5vX21hdGNoaW5nX2NvbnN0cnVj dG9yCTIwMjMtMTEtMjkgMjI6Mzk6NTMuMDAwMDAwMDAwICswMTAwCi0rKysgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9w ZXJtaXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYwkyMDIzLTEyLTAzIDE3 OjMxOjI1Ljc1MDQyMDIyNyArMDEwMAotQEAgLTU3LDEzICs1NywxMyBAQCBFbWJlZGRlZFBlcm1p c3Npb25Qcm9tcHRQcmV2aW91c2x5R3JhbnRlCi0gc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNz aW9uUHJvbXB0UHJldmlvdXNseUdyYW50ZWRWaWV3OjpCdXR0b25Db25maWd1cmF0aW9uPgotIEVt YmVkZGVkUGVybWlzc2lvblByb21wdFByZXZpb3VzbHlHcmFudGVkVmlldzo6R2V0QnV0dG9uc0Nv bmZpZ3VyYXRpb24oKSBjb25zdCB7Ci0gICBzdGQ6OnZlY3RvcjxCdXR0b25Db25maWd1cmF0aW9u PiBidXR0b25zOwotLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCi0rICBidXR0b25zLmVtcGxhY2Vf YmFjaygpID0gewotICAgICAgIGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVE X1BST01QVF9DT05USU5VRV9BTExPV0lORyksCi0tICAgICAgQnV0dG9uVHlwZTo6a0NvbnRpbnVl QWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKLSsgICAgICBCdXR0b25UeXBlOjpr Q29udGludWVBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWx9OwotIAotLSAgYnV0dG9u cy5lbXBsYWNlX2JhY2soCi0rICBidXR0b25zLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgIGwx MG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX0VNQkVEREVEX1BST01QVF9TVE9QX0FMTE9XSU5H KSwKLS0gICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtU b25hbCk7Ci0rICAgICAgQnV0dG9uVHlwZTo6a1N0b3BBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxl OjprVG9uYWx9OwotICAgcmV0dXJuIGJ1dHRvbnM7Ci0gfQotIAogZGlmZiAtdXAgY2hyb21pdW0t MTIwLjAuNjA5OS41Ni9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjLm5v X21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY2hyb21lL3Rlc3Qv Y2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYwogLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYy5ub19tYXRjaGluZ19jb25z dHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjM5OjU0LjAwMDAwMDAwMCArMDEwMAogKysrIGNocm9taXVt LTEyMC4wLjYwOTkuNTYvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYwky MDIzLTEyLTAzIDE3OjMxOjI1Ljc1MDQyMDIyNyArMDEwMApAQCAtMjQ2LDE4ICsxOTcsNiBAQCBk aWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9i cm93c2VyL3dlYmRhdGEvYXV0b2ZpbAogIAogICAgICBpZiAodHlwZSA9PSBBRERSRVNTX0hPTUVf Q09VTlRSWSkgewogICAgICAgIGNvdW50cnlfY29kZSA9IGJhc2U6OlVURjE2VG9VVEY4KHMuQ29s dW1uU3RyaW5nMTYoMSkpOwotZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb21wb25l bnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2Mubm9f bWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb21wb25lbnRzL3Bh c3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2MKLS0tLSBjaHJv bWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dz ZXIvcGFzc3dvcmRfbWFuYWdlci5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5 IDIyOjM5OjU4LjAwMDAwMDAwMCArMDEwMAotKysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29t cG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNzd29yZF9tYW5hZ2VyLmNj CTIwMjMtMTItMDMgMTc6MzE6MjUuNzUxNDIwMjQ2ICswMTAwCi1AQCAtNjMwLDcgKzYzMCw3IEBA IHZvaWQgUGFzc3dvcmRNYW5hZ2VyOjpPblVzZXJNb2RpZmllZE5vblAKLSAgIC8vIHxkcml2ZXJ8 IG1pZ2h0IGJlIGVtcHR5IG9uIGlPUyBvciBpbiB0ZXN0cy4KLSAgIGludCBkcml2ZXJfaWQgPSBk cml2ZXIgPyBkcml2ZXItPkdldElkKCkgOiAwOwotICAgcG9zc2libGVfdXNlcm5hbWVzXy5QdXQo Ci0tICAgICAgUG9zc2libGVVc2VybmFtZUZpZWxkSWRlbnRpZmllcihkcml2ZXJfaWQsIHJlbmRl cmVyX2lkKSwKLSsgICAgICBQb3NzaWJsZVVzZXJuYW1lRmllbGRJZGVudGlmaWVye2RyaXZlcl9p ZCwgcmVuZGVyZXJfaWR9LAotICAgICAgIFBvc3NpYmxlVXNlcm5hbWVEYXRhKEdldFNpZ25vblJl YWxtKGRyaXZlci0+R2V0TGFzdENvbW1pdHRlZFVSTCgpKSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZW5kZXJlcl9pZCwgdmFsdWUsIGJhc2U6OlRpbWU6Ok5vdygpLCBkcml2ZXJfaWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlX2F0dHJpYnV0ZV9oYXNf dXNlcm5hbWUsIGlzX2xpa2VseV9vdHApKTsKIGRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTku NTYvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1 cmZhY2VfaW1wbF9vbl9ncHUuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9v dXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYwogLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYv Y29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZh Y2VfaW1wbF9vbl9ncHUuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMS0yOSAyMjo0 MDowMS4wMDAwMDAwMDAgKzAxMDAKICsrKyBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L2NvbXBvbmVu dHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxf b25fZ3B1LmNjCTIwMjMtMTItMDMgMTc6MzE6MjUuNzUxNDIwMjQ2ICswMTAwCkBAIC0zMDAsNDUg KzIzOSw2IEBAIGRpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29udGVudC9icm93c2Vy L2ludGVyZXN0X2dyb3VwL2ludGVyZXN0X2dyb3VwX3N0CiAgICB9CiAgICBpZiAoIWludGVyZXN0 X2dyb3VwX2thbm9uX3F1ZXJ5LlN1Y2NlZWRlZCgpKSB7CiAgICAgIHJldHVybiBhYnNsOjpudWxs b3B0OwotZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9jb250ZW50L2Jyb3dzZXIvcmVu ZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVj dG9yIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3Qv cmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwotLS0tIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29u dGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYy5ub19t YXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTExLTI5IDIyOjQwOjAxLjAwMDAwMDAwMCArMDEwMAot KysrIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3Qv cmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwkyMDIzLTEyLTAzIDIwOjQ5OjI4LjA1OTA0MjY3MiAr MDEwMAotQEAgLTg2ODUsNyArODY4NSw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2Vu ZEZlbmNlZEZyYW0KLSAgIGZvciAoY29uc3QgYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdE ZXN0aW5hdGlvbiYgZGVzdGluYXRpb24gOgotICAgICAgICBkZXN0aW5hdGlvbnMpIHsKLSAgICAg U2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCi0tICAgICAgICBEZXN0aW5h dGlvbkVudW1FdmVudChldmVudF90eXBlLCBldmVudF9kYXRhKSwgZGVzdGluYXRpb24sCi0rICAg ICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtldmVudF90eXBlLCBldmVudF9kYXRhfSwgZGVzdGlu YXRpb24sCi0gICAgICAgICAvKmZyb21fcmVuZGVyZXI9Ki90cnVlLCBhdHRyaWJ1dGlvbl9yZXBv cnRpbmdfcnVudGltZV9mZWF0dXJlcyk7Ci0gICB9Ci0gfQotQEAgLTg3MjAsNyArODcyMCw3IEBA IHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KLSAgIH0KLSAKLSAgIFNl bmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAotLSAgICAgIERlc3RpbmF0aW9u VVJMRXZlbnQoZGVzdGluYXRpb25fdXJsKSwKLSsgICAgICBEZXN0aW5hdGlvblVSTEV2ZW50e2Rl c3RpbmF0aW9uX3VybH0sCi0gICAgICAgYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0 aW5hdGlvbjo6a0J1eWVyLAotICAgICAgIC8qZnJvbV9yZW5kZXJlcj0qL3RydWUsIGF0dHJpYnV0 aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzKTsKLSB9Ci1AQCAtODgyMCw3ICs4ODIwLDcg QEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpNYXliZVNlbmRGZW5jZQotICAgICAgICAgZGF0 YSA9IGluZm8tPmRhdGE7Ci0gICAgICAgfQotICAgICAgIGluaXRpYXRvcl9yZmgtPlNlbmRGZW5j ZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAotLSAgICAgICAgICBBdXRvbWF0aWNCZWFj b25FdmVudChldmVudF90eXBlLCBkYXRhKSwgZGVzdGluYXRpb24sCi0rICAgICAgICAgIEF1dG9t YXRpY0JlYWNvbkV2ZW50e2V2ZW50X3R5cGUsIGRhdGF9LCBkZXN0aW5hdGlvbiwKLSAgICAgICAg ICAgLypmcm9tX3JlbmRlcmVyPSovZmFsc2UsIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19mZWF0dXJl cywKLSAgICAgICAgICAgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5hdmlnYXRpb25JZCgpKTsKLSAg ICAgfQotQEAgLTg4MzIsNyArODgzMiw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6TWF5 YmVTZW5kRmVuY2UKLSAgICAgZm9yIChibGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3Rp bmF0aW9uIGRlc3RpbmF0aW9uIDoKLSAgICAgICAgICBpbmZvLT5kZXN0aW5hdGlvbnMpIHsKLSAg ICAgICBpbml0aWF0b3JfcmZoLT5TZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5h bCgKLS0gICAgICAgICAgQXV0b21hdGljQmVhY29uRXZlbnQoZXZlbnRfdHlwZSwgaW5mby0+ZGF0 YSksIGRlc3RpbmF0aW9uLAotKyAgICAgICAgICBBdXRvbWF0aWNCZWFjb25FdmVudHtldmVudF90 eXBlLCBpbmZvLT5kYXRhfSwgZGVzdGluYXRpb24sCi0gICAgICAgICAgIC8qZnJvbV9yZW5kZXJl cj0qL2ZhbHNlLCBpbmZvLT5hdHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcywK LSAgICAgICAgICAgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5hdmlnYXRpb25JZCgpKTsKLSAgICAg fQogZGlmZiAtdXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJf Y2FjaGUuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni9u ZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MKIC0tLSBjaHJvbWl1bS0xMjAuMC42MDk5LjU2 L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3Rvcgky MDIzLTExLTI5IDIyOjQwOjA3LjAwMDAwMDAwMCArMDEwMAogKysrIGNocm9taXVtLTEyMC4wLjYw OTkuNTYvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjCTIwMjMtMTItMDMgMTc6MzE6MjUu NzU0NDIwMzAzICswMTAwCkBAIC03NDAsMyArNjQwLDMwNiBAQCBkaWZmIC11cCBjaHJvbWl1bS0x MjAuMC42MDk5LjU2L3VpL2d0ay9ndGtfdWkuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hy b21pdQogICAgfQogICAgcmV0dXJuIGNvbmZpZzsKICB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjEu MC42MTY3LjE2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Bl cm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MudGhhbiBjaHJvbWl1bS0x MjEuMC42MTY3LjE2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVk X3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MKKy0tLSBjaHJvbWl1 bS0xMjEuMC42MTY3LjE2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVk ZGVkX3Blcm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZGVuaWVkX3ZpZXcuY2MudGhhbgkyMDIz LTEyLTE5IDE3OjEzOjE1LjExNjk0OTgxNCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcu MTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lv bl9wcm9tcHRfcHJldmlvdXNseV9kZW5pZWRfdmlldy5jYwkyMDIzLTEyLTE5IDE3OjI3OjE4Ljgw NzEwMjcxNiArMDEwMAorQEAgLTY2LDE3ICs2NiwxNyBAQCBFbWJlZGRlZFBlcm1pc3Npb25Qcm9t cHRQcmV2aW91c2x5RGVuaWVkCisgc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0 UHJldmlvdXNseURlbmllZFZpZXc6OkJ1dHRvbkNvbmZpZ3VyYXRpb24+CisgRW1iZWRkZWRQZXJt aXNzaW9uUHJvbXB0UHJldmlvdXNseURlbmllZFZpZXc6OkdldEJ1dHRvbnNDb25maWd1cmF0aW9u KCkgY29uc3QgeworICAgc3RkOjp2ZWN0b3I8QnV0dG9uQ29uZmlndXJhdGlvbj4gYnV0dG9uczsK Ky0gIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKAorKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsK KyAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9NUFRfQ09O VElOVUVfTk9UX0FMTE9XSU5HKSwKKy0gICAgICBCdXR0b25UeXBlOjprQ29udGludWVOb3RBbGxv d2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOworKyAgICAgIEJ1dHRvblR5cGU6OmtDb250 aW51ZU5vdEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07CisgCisgICBpZiAoYmFz ZTo6RmVhdHVyZUxpc3Q6OklzRW5hYmxlZChwZXJtaXNzaW9uczo6ZmVhdHVyZXM6OmtPbmVUaW1l UGVybWlzc2lvbikpIHsKKy0gICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soCisrICAgIGJ1dHRvbnMu ZW1wbGFjZV9iYWNrKCkgPSB7CisgICAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElE U19QRVJNSVNTSU9OX0FMTE9XX1RISVNfVElNRSksCistICAgICAgICBCdXR0b25UeXBlOjprQWxs b3dUaGlzVGltZSwgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwsIGtBbGxvd1RoaXNUaW1lSWQpOwor KyAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93VGhpc1RpbWUsIHVpOjpCdXR0b25TdHlsZTo6a1Rv bmFsLCBrQWxsb3dUaGlzVGltZUlkfTsKKyAgIH0gZWxzZSB7CistICAgIGJ1dHRvbnMuZW1wbGFj ZV9iYWNrKGwxMG5fdXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX1BFUk1JU1NJT05fQUxMT1cpLAor LSAgICAgICAgICAgICAgICAgICAgICAgICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25T dHlsZTo6a1RvbmFsKTsKKysgICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHtsMTBuX3V0aWw6 OkdldFN0cmluZ1VURjE2KElEU19QRVJNSVNTSU9OX0FMTE9XKSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgQnV0dG9uVHlwZTo6a0FsbG93LCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07Cisg ICB9CisgICByZXR1cm4gYnV0dG9uczsKKyB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3 LjE2L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Np b25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjLnRoYW4gY2hyb21pdW0tMTIxLjAu NjE2Ny4xNi9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJt aXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYworLS0tIGNocm9taXVtLTEy MS4wLjYxNjcuMTYvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRf cGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MudGhhbgkyMDIzLTEy LTE5IDE3OjM5OjE3LjgxODgzNDAyMCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuMTYv Y2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9w cm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MJMjAyMy0xMi0xOSAxNzo0NDoxNS4zNDYz Mzc4NzYgKzAxMDAKK0BAIC02MSwxMyArNjEsMTMgQEAgRW1iZWRkZWRQZXJtaXNzaW9uUHJvbXB0 UHJldmlvdXNseUdyYW50ZQorIHN0ZDo6dmVjdG9yPEVtYmVkZGVkUGVybWlzc2lvblByb21wdFBy ZXZpb3VzbHlHcmFudGVkVmlldzo6QnV0dG9uQ29uZmlndXJhdGlvbj4KKyBFbWJlZGRlZFBlcm1p c3Npb25Qcm9tcHRQcmV2aW91c2x5R3JhbnRlZFZpZXc6OkdldEJ1dHRvbnNDb25maWd1cmF0aW9u KCkgY29uc3QgeworICAgc3RkOjp2ZWN0b3I8QnV0dG9uQ29uZmlndXJhdGlvbj4gYnV0dG9uczsK Ky0gIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKAorKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsK KyAgICAgICBsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9NUFRfQ09O VElOVUVfQUxMT1dJTkcpLAorLSAgICAgIEJ1dHRvblR5cGU6OmtDb250aW51ZUFsbG93aW5nLCB1 aTo6QnV0dG9uU3R5bGU6OmtUb25hbCk7CisrICAgICAgQnV0dG9uVHlwZTo6a0NvbnRpbnVlQWxs b3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAKKy0gIGJ1dHRvbnMuZW1wbGFjZV9i YWNrKAorKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsKKyAgICAgICBsMTBuX3V0aWw6Okdl dFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9NUFRfU1RPUF9BTExPV0lORyksCistICAgICAg QnV0dG9uVHlwZTo6a1N0b3BBbGxvd2luZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwsIGtTdG9w QWxsb3dpbmdJZCk7CisrICAgICAgQnV0dG9uVHlwZTo6a1N0b3BBbGxvd2luZywgdWk6OkJ1dHRv blN0eWxlOjprVG9uYWwsIGtTdG9wQWxsb3dpbmdJZH07CisgICByZXR1cm4gYnV0dG9uczsKKyB9 CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L2NvbXBvbmVudHMvcGFzc3dvcmRf bWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYy50aGFuIGNocm9taXVtLTEy MS4wLjYxNjcuMTYvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNz d29yZF9tYW5hZ2VyLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jb21wb25lbnRzL3Bh c3N3b3JkX21hbmFnZXIvY29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2MudGhhbgkyMDIz LTEyLTE5IDE3OjM5OjE3LjgxOTgzNDAzOSArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcu MTYvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNzd29yZF9tYW5h Z2VyLmNjCTIwMjMtMTItMTkgMTc6NDg6MzMuMTQ0Mzg5MDgxICswMTAwCitAQCAtNjY2LDcgKzY2 Niw3IEBAIHZvaWQgUGFzc3dvcmRNYW5hZ2VyOjpPblVzZXJNb2RpZmllZE5vblAKKyAgICAgaXQt PnNlY29uZC5sYXN0X2NoYW5nZSA9IGJhc2U6OlRpbWU6Ok5vdygpOworICAgfSBlbHNlIHsKKyAg ICAgcG9zc2libGVfdXNlcm5hbWVzXy5QdXQoCistICAgICAgICBQb3NzaWJsZVVzZXJuYW1lRmll bGRJZGVudGlmaWVyKGRyaXZlcl9pZCwgcmVuZGVyZXJfaWQpLAorKyAgICAgICAgUG9zc2libGVV c2VybmFtZUZpZWxkSWRlbnRpZmllcntkcml2ZXJfaWQsIHJlbmRlcmVyX2lkfSwKKyAgICAgICAg IFBvc3NpYmxlVXNlcm5hbWVEYXRhKEdldFNpZ25vblJlYWxtKGRyaXZlci0+R2V0TGFzdENvbW1p dHRlZFVSTCgpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbmRlcmVyX2lkLCB2 YWx1ZSwgYmFzZTo6VGltZTo6Tm93KCksIGRyaXZlcl9pZCwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGF1dG9jb21wbGV0ZV9hdHRyaWJ1dGVfaGFzX3VzZXJuYW1lLAorZGlmZiAtdXAg Y2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5k ZXJfZnJhbWVfaG9zdF9pbXBsLmNjLnRoYW4gY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi9jb250ZW50 L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjCistLS0gY2hy b21pdW0tMTIxLjAuNjE2Ny4xNi9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJf ZnJhbWVfaG9zdF9pbXBsLmNjLnRoYW4JMjAyMy0xMi0xOSAxNzozOToxNy44MjU4MzQxNTYgKzAx MDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L2NvbnRlbnQvYnJvd3Nlci9yZW5kZXJlcl9o b3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2MJMjAyMy0xMi0xOSAxNzo1Mzo0My4xNTMyODM4 NDcgKzAxMDAKK0BAIC04NTYxLDcgKzg1NjEsNyBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6 OlNlbmRGZW5jZWRGcmFtCisgICBmb3IgKGNvbnN0IGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0 aW5nRGVzdGluYXRpb24mIGRlc3RpbmF0aW9uIDoKKyAgICAgICAgZGVzdGluYXRpb25zKSB7Cisg ICAgIFNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAorLSAgICAgICAgRGVz dGluYXRpb25FbnVtRXZlbnQoZXZlbnRfdHlwZSwgZXZlbnRfZGF0YSksIGRlc3RpbmF0aW9uLAor KyAgICAgICAgRGVzdGluYXRpb25FbnVtRXZlbnR7ZXZlbnRfdHlwZSwgZXZlbnRfZGF0YX0sIGRl c3RpbmF0aW9uLAorICAgICAgICAgYXR0cmlidXRpb25fcmVwb3J0aW5nX3J1bnRpbWVfZmVhdHVy ZXMpOworICAgfQorIH0KK0BAIC04NTkzLDcgKzg1OTMsNyBAQCB2b2lkIFJlbmRlckZyYW1lSG9z dEltcGw6OlNlbmRGZW5jZWRGcmFtCisgICB9CisgCisgICBTZW5kRmVuY2VkRnJhbWVSZXBvcnRp bmdCZWFjb25JbnRlcm5hbCgKKy0gICAgICBEZXN0aW5hdGlvblVSTEV2ZW50KGRlc3RpbmF0aW9u X3VybCksCisrICAgICAgRGVzdGluYXRpb25VUkxFdmVudHtkZXN0aW5hdGlvbl91cmx9LAorICAg ICAgIGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVzdGluYXRpb246OmtCdXllciwKKyAg ICAgICBhdHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcyk7CisgfQorQEAgLTg3 MzAsNyArODczMCw3IEBAIHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6TWF5YmVTZW5kRmVuY2UK KyAgICAgICAgIGRhdGEgPSBpbmZvLT5kYXRhOworICAgICAgIH0KKyAgICAgICBpbml0aWF0b3Jf cmZoLT5TZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKKy0gICAgICAgICAg QXV0b21hdGljQmVhY29uRXZlbnQoZXZlbnRfdHlwZSwgZGF0YSksIGRlc3RpbmF0aW9uLAorKyAg ICAgICAgICBBdXRvbWF0aWNCZWFjb25FdmVudHtldmVudF90eXBlLCBkYXRhfSwgZGVzdGluYXRp b24sCisgICAgICAgICAgIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19mZWF0dXJlcywgbmF2aWdhdGlv bl9yZXF1ZXN0LkdldE5hdmlnYXRpb25JZCgpKTsKKyAgICAgfQorICAgfSBlbHNlIHsKK0BAIC04 NzQxLDcgKzg3NDEsNyBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6Ok1heWJlU2VuZEZlbmNl CisgICAgIGZvciAoYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0aW5hdGlvbiBkZXN0 aW5hdGlvbiA6CisgICAgICAgICAgaW5mby0+ZGVzdGluYXRpb25zKSB7CisgICAgICAgaW5pdGlh dG9yX3JmaC0+U2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCistICAgICAg ICAgIEF1dG9tYXRpY0JlYWNvbkV2ZW50KGV2ZW50X3R5cGUsIGluZm8tPmRhdGEpLCBkZXN0aW5h dGlvbiwKKysgICAgICAgICAgQXV0b21hdGljQmVhY29uRXZlbnR7ZXZlbnRfdHlwZSwgaW5mby0+ ZGF0YX0sIGRlc3RpbmF0aW9uLAorICAgICAgICAgICBpbmZvLT5hdHRyaWJ1dGlvbl9yZXBvcnRp bmdfcnVudGltZV9mZWF0dXJlcywKKyAgICAgICAgICAgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5h dmlnYXRpb25JZCgpKTsKKyAgICAgfQorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9i YXNlL25peC9taW1lX3V0aWxfeGRnLmNjLm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9u aXgvbWltZV91dGlsX3hkZy5jYworLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9uaXgv bWltZV91dGlsX3hkZy5jYy5tZQkyMDI0LTAxLTIxIDE2OjU0OjE1LjI2MTg0NDQ0OCArMDEwMAor KysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9uaXgvbWltZV91dGlsX3hkZy5jYwkyMDI0 LTAxLTIxIDE2OjU1OjQ4LjcwNTU3NzQyNCArMDEwMAorQEAgLTU2LDcgKzU2LDcgQEAgdm9pZCBM b2FkQWxsTWltZUNhY2hlRmlsZXMoTWltZVR5cGVNYXAmCisgICBmb3IgKGNvbnN0IGF1dG8mIHBh dGggOiBHZXRYREdEYXRhU2VhcmNoTG9jYXRpb25zKGVudi5nZXQoKSkpIHsKKyAgICAgRmlsZVBh dGggbWltZV9jYWNoZSA9IHBhdGguQXBwZW5kKCJtaW1lL21pbWUuY2FjaGUiKTsKKyAgICAgaWYg KEdldEZpbGVJbmZvKG1pbWVfY2FjaGUsICZpbmZvKSAmJiBQYXJzZU1pbWVUeXBlcyhtaW1lX2Nh Y2hlLCBtYXApKSB7CistICAgICAgZmlsZXMuZW1wbGFjZV9iYWNrKG1pbWVfY2FjaGUsIGluZm8u bGFzdF9tb2RpZmllZCk7CisrICAgICAgZmlsZXMuZW1wbGFjZV9iYWNrKCkgPSB7bWltZV9jYWNo ZSwgaW5mby5sYXN0X21vZGlmaWVkfTsKKyAgICAgfQorICAgfQorIH0KK2RpZmYgLXVwIGNocm9t aXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9wZXJmb3JtYW5jZV9tYW5hZ2VyL3dvcmtlcl93 YXRjaGVyLmNjLm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9wZXJmb3JtYW5j ZV9tYW5hZ2VyL3dvcmtlcl93YXRjaGVyLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9j b21wb25lbnRzL3BlcmZvcm1hbmNlX21hbmFnZXIvd29ya2VyX3dhdGNoZXIuY2MubWUJMjAyNC0w MS0yMSAxODoxMTozMS4zOTc4NTk2MDggKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3 L2NvbXBvbmVudHMvcGVyZm9ybWFuY2VfbWFuYWdlci93b3JrZXJfd2F0Y2hlci5jYwkyMDI0LTAx LTIxIDE4OjIwOjA3LjcxNTQxNTAzNyArMDEwMAorQEAgLTIzOSw3ICsyMzksNyBAQCB2b2lkIFdv cmtlcldhdGNoZXI6Ok9uV29ya2VyQ3JlYXRlZCgKKyAgIERDSEVDSyhpbnNlcnRpb25fcmVzdWx0 LnNlY29uZCk7CisgCisgICBhYnNsOjp2aXNpdCgKKy0gICAgICBiYXNlOjpPdmVybG9hZGVkKAor KyAgICAgIGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgIFsmLAorICAgICAgICAgICAgdGhp c10oY29uc3QgY29udGVudDo6R2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQmIHJlbmRlcl9mcmFtZV9o b3N0X2lkKSB7CisgICAgICAgICAgICAgQWRkRnJhbWVDbGllbnRDb25uZWN0aW9uKGluc2VydGlv bl9yZXN1bHQuZmlyc3QtPnNlY29uZC5nZXQoKSwKK0BAIC0yNDgsNyArMjQ4LDcgQEAgdm9pZCBX b3JrZXJXYXRjaGVyOjpPbldvcmtlckNyZWF0ZWQoCisgICAgICAgICAgIFsmLCB0aGlzXShibGlu azo6RGVkaWNhdGVkV29ya2VyVG9rZW4gZGVkaWNhdGVkX3dvcmtlcl90b2tlbikgeworICAgICAg ICAgICAgIENvbm5lY3REZWRpY2F0ZWRXb3JrZXJDbGllbnQoaW5zZXJ0aW9uX3Jlc3VsdC5maXJz dC0+c2Vjb25kLmdldCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGVkaWNhdGVkX3dvcmtlcl90b2tlbik7CistICAgICAgICAgIH0pLAorKyAgICAgICAgICB9 fSwKKyAgICAgICBjcmVhdG9yKTsKKyB9CisgCitAQCAtMjY1LDcgKzI2NSw3IEBAIHZvaWQgV29y a2VyV2F0Y2hlcjo6T25CZWZvcmVXb3JrZXJEZXN0cm8KKyAgIC8vIEZpcnN0IGRpc2Nvbm5lY3Qg dGhlIGNyZWF0b3IncyBub2RlIGZyb20gdGhpcyB3b3JrZXIgbm9kZS4KKyAKKyAgIGFic2w6OnZp c2l0KAorLSAgICAgIGJhc2U6Ok92ZXJsb2FkZWQoCisrICAgICAgYmFzZTo6T3ZlcmxvYWRlZHsK KyAgICAgICAgICAgWyYsCisgICAgICAgICAgICB0aGlzXShjb25zdCBjb250ZW50OjpHbG9iYWxS ZW5kZXJGcmFtZUhvc3RJZCYgcmVuZGVyX2ZyYW1lX2hvc3RfaWQpIHsKKyAgICAgICAgICAgICBS ZW1vdmVGcmFtZUNsaWVudENvbm5lY3Rpb24od29ya2VyX25vZGUuZ2V0KCksCitAQCAtMjc0LDcg KzI3NCw3IEBAIHZvaWQgV29ya2VyV2F0Y2hlcjo6T25CZWZvcmVXb3JrZXJEZXN0cm8KKyAgICAg ICAgICAgWyYsIHRoaXNdKGJsaW5rOjpEZWRpY2F0ZWRXb3JrZXJUb2tlbiBkZWRpY2F0ZWRfd29y a2VyX3Rva2VuKSB7CisgICAgICAgICAgICAgRGlzY29ubmVjdERlZGljYXRlZFdvcmtlckNsaWVu dCh3b3JrZXJfbm9kZS5nZXQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRlZGljYXRlZF93b3JrZXJfdG9rZW4pOworLSAgICAgICAgICB9KSwKKysgICAg ICAgICAgfX0sCisgICAgICAgY3JlYXRvcik7CisgCisgICAvLyBEaXNjb25uZWN0IGFsbCBjaGls ZCB3b3JrZXJzIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBub2RlLgorQEAgLTQ0Niw3ICs0NDYsNyBA QCB2b2lkIFdvcmtlcldhdGNoZXI6Ok9uQ29udHJvbGxlZUFkZGVkKAorICAgICBjb25zdCBzdGQ6 OnN0cmluZyYgY2xpZW50X3V1aWQsCisgICAgIGNvbnN0IGNvbnRlbnQ6OlNlcnZpY2VXb3JrZXJD bGllbnRJbmZvJiBjbGllbnRfaW5mbykgeworICAgYWJzbDo6dmlzaXQoCistICAgICAgYmFzZTo6 T3ZlcmxvYWRlZCgKKysgICAgICBiYXNlOjpPdmVybG9hZGVkeworICAgICAgICAgICBbJiwgdGhp c10oY29udGVudDo6R2xvYmFsUmVuZGVyRnJhbWVIb3N0SWQgcmVuZGVyX2ZyYW1lX2hvc3RfaWQp IHsKKyAgICAgICAgICAgICAvLyBGb3Igd2luZG93IGNsaWVudHMsIGl0IGlzIG5lY2Vzc2FyeSB0 byB3YWl0IHVudGlsIHRoZSBuYXZpZ2F0aW9uCisgICAgICAgICAgICAgLy8gaGFzIGNvbW1pdHRl ZCB0byBhIFJlbmRlckZyYW1lSG9zdC4KK0BAIC00ODQsNyArNDg0LDcgQEAgdm9pZCBXb3JrZXJX YXRjaGVyOjpPbkNvbnRyb2xsZWVBZGRlZCgKKyAgICAgICAgICAgICAgIENvbm5lY3RTaGFyZWRX b3JrZXJDbGllbnQoc2VydmljZV93b3JrZXJfbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2hhcmVkX3dvcmtlcl90b2tlbik7CisgICAgICAgICAgICAgfQor LSAgICAgICAgICB9KSwKKysgICAgICAgICAgfX0sCisgICAgICAgY2xpZW50X2luZm8pOworIH0K KyAKK0BAIC01MjQsNyArNTI0LDcgQEAgdm9pZCBXb3JrZXJXYXRjaGVyOjpPbkNvbnRyb2xsZWVS ZW1vdmVkKAorICAgICByZXR1cm47CisgCisgICBhYnNsOjp2aXNpdCgKKy0gICAgICBiYXNlOjpP dmVybG9hZGVkKAorKyAgICAgIGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgIFsmLCB0aGlz XShjb250ZW50OjpHbG9iYWxSZW5kZXJGcmFtZUhvc3RJZCByZW5kZXJfZnJhbWVfaG9zdF9pZCkg eworICAgICAgICAgICAgIFJlbW92ZUZyYW1lQ2xpZW50Q29ubmVjdGlvbih3b3JrZXJfbm9kZSwg cmVuZGVyX2ZyYW1lX2hvc3RfaWQpOworICAgICAgICAgICB9LAorQEAgLTUzNCw3ICs1MzQsNyBA QCB2b2lkIFdvcmtlcldhdGNoZXI6Ok9uQ29udHJvbGxlZVJlbW92ZWQoCisgICAgICAgICAgIH0s CisgICAgICAgICAgIFsmLCB0aGlzXShibGluazo6U2hhcmVkV29ya2VyVG9rZW4gc2hhcmVkX3dv cmtlcl90b2tlbikgeworICAgICAgICAgICAgIERpc2Nvbm5lY3RTaGFyZWRXb3JrZXJDbGllbnQo d29ya2VyX25vZGUsIHNoYXJlZF93b3JrZXJfdG9rZW4pOworLSAgICAgICAgICB9KSwKKysgICAg ICAgICAgfX0sCisgICAgICAgY2xpZW50KTsKKyB9CisgCitAQCAtODEwLDcgKzgxMCw3IEBAIHZv aWQgV29ya2VyV2F0Y2hlcjo6Q29ubmVjdEFsbFNlcnZpY2VXb3IKKyAKKyAgIGZvciAoY29uc3Qg YXV0byYga3YgOiBpdC0+c2Vjb25kKSB7CisgICAgIGFic2w6OnZpc2l0KAorLSAgICAgICAgYmFz ZTo6T3ZlcmxvYWRlZCgKKysgICAgICAgIGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgICAg WyYsIHRoaXNdKGNvbnRlbnQ6Okdsb2JhbFJlbmRlckZyYW1lSG9zdElkIHJlbmRlcl9mcmFtZV9o b3N0X2lkKSB7CisgICAgICAgICAgICAgICBBZGRGcmFtZUNsaWVudENvbm5lY3Rpb24oc2Vydmlj ZV93b3JrZXJfbm9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy ZW5kZXJfZnJhbWVfaG9zdF9pZCk7CitAQCAtODIyLDcgKzgyMiw3IEBAIHZvaWQgV29ya2VyV2F0 Y2hlcjo6Q29ubmVjdEFsbFNlcnZpY2VXb3IKKyAgICAgICAgICAgICBbJiwgdGhpc10oYmxpbms6 OlNoYXJlZFdvcmtlclRva2VuIHNoYXJlZF93b3JrZXJfdG9rZW4pIHsKKyAgICAgICAgICAgICAg IENvbm5lY3RTaGFyZWRXb3JrZXJDbGllbnQoc2VydmljZV93b3JrZXJfbm9kZSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkX3dvcmtlcl90b2tlbik7Cist ICAgICAgICAgICAgfSksCisrICAgICAgICAgICAgfX0sCisgICAgICAgICBrdi5zZWNvbmQpOwor ICAgfQorIH0KK0BAIC04MzcsNyArODM3LDcgQEAgdm9pZCBXb3JrZXJXYXRjaGVyOjpEaXNjb25u ZWN0QWxsU2VydmljZQorIAorICAgZm9yIChjb25zdCBhdXRvJiBrdiA6IGl0LT5zZWNvbmQpIHsK KyAgICAgYWJzbDo6dmlzaXQoCistICAgICAgICBiYXNlOjpPdmVybG9hZGVkKAorKyAgICAgICAg YmFzZTo6T3ZlcmxvYWRlZHsKKyAgICAgICAgICAgICBbJiwgdGhpc10oCisgICAgICAgICAgICAg ICAgIGNvbnN0IGNvbnRlbnQ6Okdsb2JhbFJlbmRlckZyYW1lSG9zdElkJiByZW5kZXJfZnJhbWVf aG9zdF9pZCkgeworICAgICAgICAgICAgICAgUmVtb3ZlRnJhbWVDbGllbnRDb25uZWN0aW9uKHNl cnZpY2Vfd29ya2VyX25vZGUsCitAQCAtODUxLDcgKzg1MSw3IEBAIHZvaWQgV29ya2VyV2F0Y2hl cjo6RGlzY29ubmVjdEFsbFNlcnZpY2UKKyAgICAgICAgICAgICBbJiwgdGhpc10oY29uc3QgYmxp bms6OlNoYXJlZFdvcmtlclRva2VuJiBzaGFyZWRfd29ya2VyX3Rva2VuKSB7CisgICAgICAgICAg ICAgICBEaXNjb25uZWN0U2hhcmVkV29ya2VyQ2xpZW50KHNlcnZpY2Vfd29ya2VyX25vZGUsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZF93b3JrZXJf dG9rZW4pOworLSAgICAgICAgICAgIH0pLAorKyAgICAgICAgICAgIH19LAorICAgICAgICAga3Yu c2Vjb25kKTsKKyAgIH0KKyB9CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRl bnQvYnJvd3Nlci9maXJzdF9wYXJ0eV9zZXRzL2ZpcnN0X3BhcnR5X3NldF9wYXJzZXIuY2MubWUg Y2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9m aXJzdF9wYXJ0eV9zZXRfcGFyc2VyLmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250 ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXRfcGFyc2VyLmNjLm1l CTIwMjQtMDEtMjEgMTg6NDA6NTIuMjg0Mzg5Mjg2ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvZmlyc3RfcGFydHlfc2V0cy9maXJzdF9wYXJ0eV9zZXRf cGFyc2VyLmNjCTIwMjQtMDEtMjEgMTg6NDE6MTcuMjc2ODQwMjIyICswMTAwCitAQCAtNzY0LDcg Kzc2NCw3IEBAIEZpcnN0UGFydHlTZXRQYXJzZXI6OlBhcnNlU2V0c0Zyb21FbnRlcnAKKyAgICAg ICAgICAgICAgICAgICAgICBjb250ZXh0LkdldFBvbGljeVNldHNGcm9tTGlzdCgKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgcG9saWN5LkZpbmRMaXN0KGtGaXJzdFBhcnR5U2V0UG9saWN5QWRk aXRpb25zRmllbGQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICBQb2xpY3lTZXRUeXBlOjpr QWRkaXRpb24pKTsKKy0gICAgcmV0dXJuIFBhcnNlZFBvbGljeVNldExpc3RzKHN0ZDo6bW92ZShy ZXBsYWNlbWVudHMpLCBzdGQ6Om1vdmUoYWRkaXRpb25zKSk7CisrICAgIHJldHVybiBQYXJzZWRQ b2xpY3lTZXRMaXN0c3tzdGQ6Om1vdmUocmVwbGFjZW1lbnRzKSwgc3RkOjptb3ZlKGFkZGl0aW9u cyl9OworICAgfSgpOworIAorICAgY29udGV4dC5Qb3N0UHJvY2Vzc1NldExpc3RzKHNldF9saXN0 cyk7CitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9pbnRl cmVzdF9ncm91cC9oZWFkZXJfZGlyZWN0X2Zyb21fc2VsbGVyX3NpZ25hbHMuaC5tZSBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9oZWFkZXJfZGly ZWN0X2Zyb21fc2VsbGVyX3NpZ25hbHMuaAorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29u dGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2hlYWRlcl9kaXJlY3RfZnJvbV9zZWxsZXJfc2ln bmFscy5oLm1lCTIwMjQtMDEtMjEgMTk6MzA6MDAuNTM2Mzg3ODQ0ICswMTAwCisrKysgY2hyb21p dW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3JvdXAvaGVhZGVyX2Rp cmVjdF9mcm9tX3NlbGxlcl9zaWduYWxzLmgJMjAyNC0wMS0yMSAyMDoyOTo1MC4yMzYyODc1MTQg KzAxMDAKK0BAIC0xMzMsNiArMTMzLDcgQEAgY2xhc3MgQ09OVEVOVF9FWFBPUlQgSGVhZGVyRGly ZWN0RnJvbVNlbAorIAorICAgICAvLyBUaGUgQWQtQXVjdGlvbi1TaWduYWxzIHJlc3BvbnNlIHNl cnZlZCBieSBgb3JpZ2luYC4KKyAgICAgc3RkOjpzdHJpbmcgcmVzcG9uc2VfanNvbjsKKysgICAg VW5wcm9jZXNzZWRSZXNwb25zZShhdXRvIHUsIGF1dG8gcykgOiBvcmlnaW4odSksIHJlc3BvbnNl X2pzb24ocykgeyB9CisgICB9OworIAorICAgLy8gSW5mb3JtYXRpb24gZnJvbSBQYXJzZUFuZEZp bmQoKSBjYWxscyB1c2VkIGJ5IFBhcnNlQW5kRmluZENvbXBsZXRlZC4KK2RpZmYgLXVwIGNocm9t aXVtLTEyMS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vf d29ya2VyX21haW5fcmVzb3VyY2VfbG9hZGVyX2ludGVyY2VwdG9yLmNjLm1lIGNocm9taXVtLTEy MS4wLjYxNjcuNTcvY29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2Vy X21haW5fcmVzb3VyY2VfbG9hZGVyX2ludGVyY2VwdG9yLmNjCistLS0gY2hyb21pdW0tMTIxLjAu NjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfbWFp bl9yZXNvdXJjZV9sb2FkZXJfaW50ZXJjZXB0b3IuY2MubWUJMjAyNC0wMS0yMSAyMTo1ODo0OC43 NzMzNjYzMDEgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nl ci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9tYWluX3Jlc291cmNlX2xvYWRlcl9pbnRl cmNlcHRvci5jYwkyMDI0LTAxLTIxIDIyOjAyOjE3Ljk1NjA4NjE2NyArMDEwMAorQEAgLTM2MCwx MCArMzYwLDEwIEBAIFNlcnZpY2VXb3JrZXJNYWluUmVzb3VyY2VMb2FkZXJJbnRlcmNlcHQKKyAg IH0KKyAgIGF1dG8qIHN0b3JhZ2VfcGFydGl0aW9uID0gcHJvY2Vzcy0+R2V0U3RvcmFnZVBhcnRp dGlvbigpOworIAorLSAgcmV0dXJuIGFic2w6OnZpc2l0KGJhc2U6Ok92ZXJsb2FkZWQoWyYsIHRo aXNdKGF1dG8gdG9rZW4pIHsKKysgIHJldHVybiBhYnNsOjp2aXNpdChiYXNlOjpPdmVybG9hZGVk e1smLCB0aGlzXShhdXRvIHRva2VuKSB7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4g R2V0U3RvcmFnZUtleUZyb21Xb3JrZXJIb3N0KHN0b3JhZ2VfcGFydGl0aW9uLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b2tlbiwg b3JpZ2luKTsKKy0gICAgICAgICAgICAgICAgICAgICB9KSwKKysgICAgICAgICAgICAgICAgICAg ICB9fSwKKyAgICAgICAgICAgICAgICAgICAgICAqd29ya2VyX3Rva2VuXyk7CisgfQorIAorZGlm ZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3Jr ZXIvc2VydmljZV93b3JrZXJfY29udGFpbmVyX2hvc3QuY2MubWUgY2hyb21pdW0tMTIxLjAuNjE2 Ny41Ny9jb250ZW50L2Jyb3dzZXIvc2VydmljZV93b3JrZXIvc2VydmljZV93b3JrZXJfY29udGFp bmVyX2hvc3QuY2MKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci9z ZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jb250YWluZXJfaG9zdC5jYy5tZQkyMDI0LTAx LTIxIDIyOjA0OjMwLjQ0NjQ1NDY5NyArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcv Y29udGVudC9icm93c2VyL3NlcnZpY2Vfd29ya2VyL3NlcnZpY2Vfd29ya2VyX2NvbnRhaW5lcl9o b3N0LmNjCTIwMjQtMDEtMjEgMjI6MDU6MjIuODQ3MzkxNDgxICswMTAwCitAQCAtODcwLDcgKzg3 MCw3IEBAIFNlcnZpY2VXb3JrZXJDb250YWluZXJIb3N0OjpHZXRDbGllbnRUeXAKKyAgIERDSEVD S19DQUxMRURfT05fVkFMSURfU0VRVUVOQ0Uoc2VxdWVuY2VfY2hlY2tlcl8pOworICAgRENIRUNL KGNsaWVudF9pbmZvXyk7CisgICByZXR1cm4gYWJzbDo6dmlzaXQoCistICAgICAgYmFzZTo6T3Zl cmxvYWRlZCgKKysgICAgICBiYXNlOjpPdmVybG9hZGVkeworICAgICAgICAgICBbXShHbG9iYWxS ZW5kZXJGcmFtZUhvc3RJZCByZW5kZXJfZnJhbWVfaG9zdF9pZCkgeworICAgICAgICAgICAgIHJl dHVybiBibGluazo6bW9qb206OlNlcnZpY2VXb3JrZXJDbGllbnRUeXBlOjprV2luZG93OworICAg ICAgICAgICB9LAorQEAgLTg3OSw3ICs4NzksNyBAQCBTZXJ2aWNlV29ya2VyQ29udGFpbmVySG9z dDo6R2V0Q2xpZW50VHlwCisgICAgICAgICAgIH0sCisgICAgICAgICAgIFtdKGJsaW5rOjpTaGFy ZWRXb3JrZXJUb2tlbiBzaGFyZWRfd29ya2VyX3Rva2VuKSB7CisgICAgICAgICAgICAgcmV0dXJu IGJsaW5rOjptb2pvbTo6U2VydmljZVdvcmtlckNsaWVudFR5cGU6OmtTaGFyZWRXb3JrZXI7Cist ICAgICAgICAgIH0pLAorKyAgICAgICAgICB9fSwKKyAgICAgICAqY2xpZW50X2luZm9fKTsKKyB9 CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbnRlbnQvYnJvd3Nlci93b3Jr ZXJfaG9zdC9kZWRpY2F0ZWRfd29ya2VyX2hvc3QuY2MubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41 Ny9jb250ZW50L2Jyb3dzZXIvd29ya2VyX2hvc3QvZGVkaWNhdGVkX3dvcmtlcl9ob3N0LmNjCist LS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvd29ya2VyX2hvc3QvZGVk aWNhdGVkX3dvcmtlcl9ob3N0LmNjLm1lCTIwMjQtMDEtMjEgMjI6Mzc6MDAuOTY5NDE2MTQ4ICsw MTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb250ZW50L2Jyb3dzZXIvd29ya2VyX2hv c3QvZGVkaWNhdGVkX3dvcmtlcl9ob3N0LmNjCTIwMjQtMDEtMjEgMjI6Mzg6MDcuNzU0NTI4MzM1 ICswMTAwCitAQCAtMjUxLDcgKzI1MSw3IEBAIHZvaWQgRGVkaWNhdGVkV29ya2VySG9zdDo6U3Rh cnRTY3JpcHRMb2EKKyAgIFJlbmRlckZyYW1lSG9zdEltcGwqIGNyZWF0b3JfcmVuZGVyX2ZyYW1l X2hvc3QgPSBudWxscHRyOworICAgRGVkaWNhdGVkV29ya2VySG9zdCogY3JlYXRvcl93b3JrZXIg PSBudWxscHRyOworIAorLSAgYWJzbDo6dmlzaXQoYmFzZTo6T3ZlcmxvYWRlZCgKKysgIGFic2w6 OnZpc2l0KGJhc2U6Ok92ZXJsb2FkZWR7CisgICAgICAgICAgICAgICAgICAgWyZdKGNvbnN0IEds b2JhbFJlbmRlckZyYW1lSG9zdElkJiByZW5kZXJfZnJhbWVfaG9zdF9pZCkgeworICAgICAgICAg ICAgICAgICAgICAgY3JlYXRvcl9yZW5kZXJfZnJhbWVfaG9zdCA9CisgICAgICAgICAgICAgICAg ICAgICAgICAgUmVuZGVyRnJhbWVIb3N0SW1wbDo6RnJvbUlEKHJlbmRlcl9mcmFtZV9ob3N0X2lk KTsKK0BAIC0yNTksNyArMjU5LDcgQEAgdm9pZCBEZWRpY2F0ZWRXb3JrZXJIb3N0OjpTdGFydFNj cmlwdExvYQorICAgICAgICAgICAgICAgICAgIFsmXShibGluazo6RGVkaWNhdGVkV29ya2VyVG9r ZW4gZGVkaWNhdGVkX3dvcmtlcl90b2tlbikgeworICAgICAgICAgICAgICAgICAgICAgY3JlYXRv cl93b3JrZXIgPSBzZXJ2aWNlXy0+R2V0RGVkaWNhdGVkV29ya2VySG9zdEZyb21Ub2tlbigKKyAg ICAgICAgICAgICAgICAgICAgICAgICBkZWRpY2F0ZWRfd29ya2VyX3Rva2VuKTsKKy0gICAgICAg ICAgICAgICAgICB9KSwKKysgICAgICAgICAgICAgICAgICB9fSwKKyAgICAgICAgICAgICAgIGNy ZWF0b3JfKTsKKyAKKyAgIGlmICghY3JlYXRvcl9yZW5kZXJfZnJhbWVfaG9zdCAmJiAhY3JlYXRv cl93b3JrZXIpIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1 bS0xMjEtbnVsbHB0cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0ZC5wYXRjaCBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtbnVsbHB0cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0 ZC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwLi4zZGVmYzM5 M2MwODRmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9t aXVtLTEyMS1udWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkLnBhdGNoCkBAIC0wLDAgKzEs MTIgQEAKK2RpZmYgLXVwIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvY29yZS9wYWludC9mcmFnbWVudF9kYXRhX2l0ZXJhdG9yLmgudGhhbiBjaHJvbWl1 bS0xMjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFpbnQvZnJh Z21lbnRfZGF0YV9pdGVyYXRvci5oCistLS0gY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0b3IuaC50 aGFuCTIwMjMtMTItMDQgMTA6MjA6NDUuMzUwNTQwODk3ICswMTAwCisrKysgY2hyb21pdW0tMTIw LjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50 X2RhdGFfaXRlcmF0b3IuaAkyMDIzLTEyLTA0IDEwOjIzOjE3LjMzNTMzOTY3MCArMDEwMAorQEAg LTIxLDcgKzIxLDcgQEAgY2xhc3MgRnJhZ21lbnREYXRhSXRlcmF0b3JCYXNlIHsKKyAKKyAgcHVi bGljOgorICAgZXhwbGljaXQgRnJhZ21lbnREYXRhSXRlcmF0b3JCYXNlKEhlYWQmIGhlYWQpIDog ZnJhZ21lbnRfaGVhZF8oaGVhZCkge30KKy0gIGV4cGxpY2l0IEZyYWdtZW50RGF0YUl0ZXJhdG9y QmFzZShudWxscHRyX3QpIHt9CisrICBleHBsaWNpdCBGcmFnbWVudERhdGFJdGVyYXRvckJhc2Uo c3RkOjpudWxscHRyX3QpIHt9CisgCisgICBEYXRhKiBHZXRGcmFnbWVudERhdGEoKSBjb25zdCB7 CisgICAgIHJldHVybiAhSXNEb25lKCkgPyAmZnJhZ21lbnRfaGVhZF8uYXQoaWR4XykgOiBudWxs cHRyOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1w eXRob24zLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTEyMS1weXRob24zLWludmFsaWQtZXNjYXBlLXNlcXVlbmNlLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmMyYmY1YjQ4OWY3YTEK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LXB5dGhvbjMtaW52YWxpZC1lc2NhcGUtc2VxdWVuY2UucGF0Y2gKQEAgLTAsMCArMSw3NyBAQAor ZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21t b24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5w eS5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9w eV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9jb250cm9sbGVyLnB5Cist LS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlf dnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5weS5tZQky MDI0LTAxLTE1IDIwOjQ4OjI4LjE3NzM5NzEwMiArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYx NjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5p emUvaHRtbF9nZW5lcmF0aW9uX2NvbnRyb2xsZXIucHkJMjAyNC0wMS0xNSAyMDo0ODo0Ni40Mjc3 NjgzMjggKzAxMDAKK0BAIC0xOCw3ICsxOCw3IEBAIGNsYXNzIEhUTUxHZW5lcmF0aW9uQ29udHJv bGxlcihvYmplY3QpOgorIAorICAgZGVmIEdldEhUTUxGb3JJbmxpbmVTdHlsZXNoZWV0KHNlbGYs IGNvbnRlbnRzKToKKyAgICAgaWYgc2VsZi5jdXJyZW50X21vZHVsZSBpcyBOb25lOgorLSAgICAg IGlmIHJlLnNlYXJjaCgndXJsXCguK1wpJywgY29udGVudHMpOgorKyAgICAgIGlmIHJlLnNlYXJj aChyJ3VybFwoLitcKScsIGNvbnRlbnRzKToKKyAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigKKyAg ICAgICAgICAgICAnRGVmYXVsdCBIVE1MR2VuZXJhdGlvbkNvbnRyb2xsZXIgY2Fubm90IGhhbmRs ZSBpbmxpbmUgc3R5bGUgdXJscycpCisgICAgICAgcmV0dXJuIGNvbnRlbnRzCitkaWZmIC11cCBj aHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxj YW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcv dGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvanNf dXRpbHMucHkKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0 L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1lCTIwMjQtMDEt MTUgMjA6NDk6MzkuMzYzODQ1MDgzICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90 aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9qc191 dGlscy5weQkyMDI0LTAxLTE1IDIwOjQ5OjU3LjQwNzIxMjA5OCArMDEwMAorQEAgLTQsNCArNCw0 IEBACisgCisgCisgZGVmIEVzY2FwZUpTSWZOZWVkZWQoanMpOgorLSAgcmV0dXJuIGpzLnJlcGxh Y2UoJzwvc2NyaXB0PicsICc8XC9zY3JpcHQ+JykKKysgIHJldHVybiBqcy5yZXBsYWNlKHInPC9z Y3JpcHQ+Jywgcic8XC9zY3JpcHQ+JykKK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcv dGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFy c2VfaHRtbF9kZXBzLnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0 YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvcGFyc2VfaHRtbF9kZXBzLnB5 CistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24v cHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkubWUJMjAyNC0wMS0x NSAyMDo1MDoxMS44MTk1MDUyNTQgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3Ro aXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3BhcnNl X2h0bWxfZGVwcy5weQkyMDI0LTAxLTE1IDIwOjUwOjM4LjYxMTA1MDIxMyArMDEwMAorQEAgLTI5 Myw2ICsyOTMsNiBAQCBjbGFzcyBIVE1MTW9kdWxlUGFyc2VyKCk6CisgICAgICAgaHRtbCA9ICcn CisgICAgIGVsc2U6CisgICAgICAgaWYgaHRtbC5maW5kKCc8IC9zY3JpcHQ+JykgIT0gLTE6Cist ICAgICAgICByYWlzZSBFeGNlcHRpb24oJ0VzY2FwZSBzY3JpcHQgdGFncyB3aXRoIDxcL3Njcmlw dD4nKQorKyAgICAgICAgcmFpc2UgRXhjZXB0aW9uKHInRXNjYXBlIHNjcmlwdCB0YWdzIHdpdGgg PFwvc2NyaXB0PicpCisgCisgICAgIHJldHVybiBIVE1MTW9kdWxlUGFyc2VyUmVzdWx0cyhodG1s KQorZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS9jYXRhcHVsdC9j b21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVldC5weS5tZSBjaHJvbWl1 bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUv cHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5CistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90 aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHls ZV9zaGVldC5weS5tZQkyMDI0LTAxLTE1IDIwOjQ4OjU5LjkxNzA0MjcwOSArMDEwMAorKysrIGNo cm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNh bml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQucHkJMjAyNC0wMS0xNSAyMDo0OToyNC40MDI1 NDA3NjEgKzAxMDAKK0BAIC02MCw3ICs2MCw3IEBAIGNsYXNzIFBhcnNlZFN0eWxlU2hlZXQob2Jq ZWN0KToKKyAgICAgICByZXR1cm4gJ3VybChkYXRhOmltYWdlLyVzO2Jhc2U2NCwlcyknICUgKGV4 dFsxOl0sIGRhdGEuZGVjb2RlKCd1dGYtOCcpKQorIAorICAgICAjIEknbSBhc3N1bWluZyB3ZSBv bmx5IGhhdmUgdXJsKCkncyBhc3NvY2lhdGVkIHdpdGggaW1hZ2VzCistICAgIHJldHVybiByZS5z dWIoJ3VybFwoKD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/UD1xdW90ZSlcKScs CisrICAgIHJldHVybiByZS5zdWIocid1cmxcKCg/UDxxdW90ZT4ifFwnfCkoP1A8dXJsPlteIlwn KCldKikoP1A9cXVvdGUpXCknLAorICAgICAgICAgICAgICAgICAgIElubGluZVVybCwgc2VsZi5j b250ZW50cykKKyAKKyAgIGRlZiBBcHBlbmREaXJlY3RseURlcGVuZGVudEZpbGVuYW1lc1RvKHNl bGYsIGRlcGVuZGVudF9maWxlbmFtZXMpOgorQEAgLTcyLDcgKzcyLDcgQEAgY2xhc3MgUGFyc2Vk U3R5bGVTaGVldChvYmplY3QpOgorICAgICAgIHJhaXNlIEV4Y2VwdGlvbignQGltcG9ydHMgYXJl IG5vdCBzdXBwb3J0ZWQnKQorIAorICAgICBtYXRjaGVzID0gcmUuZmluZGFsbCgKKy0gICAgICAg ICd1cmxcKCg/OlsifFwnXT8pKFteIlwnKCldKikoPzpbInxcJ10/KVwpJywKKysgICAgICAgIHIn dXJsXCgoPzpbInxcJ10/KShbXiJcJygpXSopKD86WyJ8XCddPylcKScsCisgICAgICAgICBzZWxm LmNvbnRlbnRzKQorIAorICAgICBkZWYgcmVzb2x2ZV91cmwodXJsKToKK2RpZmYgLXVwIGNocm9t aXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXRvb2xzL3Ny Yy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1bGthbl9pY2RfanNvbi5weS5tZSBjaHJvbWl1bS0xMjEu MC42MTY3LjU3L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9zcmMvc2NyaXB0 cy9nbi9nZW5lcmF0ZV92dWxrYW5faWNkX2pzb24ucHkKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3 LjU3L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi10b29scy9zcmMvc2NyaXB0cy9nbi9n ZW5lcmF0ZV92dWxrYW5faWNkX2pzb24ucHkubWUJMjAyNC0wMS0xNSAyMDo1MDo1Ni44MTA0MjA0 MDAgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L3RoaXJkX3BhcnR5L3Z1bGthbi1k ZXBzL3Z1bGthbi10b29scy9zcmMvc2NyaXB0cy9nbi9nZW5lcmF0ZV92dWxrYW5faWNkX2pzb24u cHkJMjAyNC0wMS0xNSAyMDo1MjozMy41MDYzODcyNjEgKzAxMDAKK0BAIC0yOCw3ICsyOCw3IEBA IGltcG9ydCBwbGF0Zm9ybQorIGltcG9ydCBzeXMKKyAKKyBkZWYgZ2xvYl9zbGFzaChkaXJuYW1l KToKKy0gICAgIiIiTGlrZSByZWd1bGFyIGdsb2IgYnV0IHJlcGxhY2VzIFwgd2l0aCAvIGluIHJl dHVybmVkIHBhdGhzLiIiIgorKyAgICAiIiJMaWtlIHJlZ3VsYXIgZ2xvYiBidXQgcmVwbGFjZXMg XFwgd2l0aCAvIGluIHJldHVybmVkIHBhdGhzLiIiIgorICAgICByZXR1cm4gW3MucmVwbGFjZSgn XFwnLCAnLycpIGZvciBzIGluIGdsb2IuZ2xvYihkaXJuYW1lKV0KKyAKKyBkZWYgbWFpbigpOgor ZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92 dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL3NjcmlwdHMvZ24vZ2VuZXJhdGVfdnVsa2FuX2xh eWVyc19qc29uLnB5Lm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvdnVsa2Fu LWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1 bGthbl9sYXllcnNfanNvbi5weQorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9zY3JpcHRzL2duL2dl bmVyYXRlX3Z1bGthbl9sYXllcnNfanNvbi5weS5tZQkyMDI0LTAxLTE1IDIwOjUyOjM4LjAxNjQ3 OTAwMCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvdGhpcmRfcGFydHkvdnVsa2Fu LWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9zY3JpcHRzL2duL2dlbmVyYXRlX3Z1 bGthbl9sYXllcnNfanNvbi5weQkyMDI0LTAxLTE1IDIwOjUyOjQ4Ljg2MzY5OTY0MCArMDEwMAor QEAgLTI4LDcgKzI4LDcgQEAgaW1wb3J0IHBsYXRmb3JtCisgaW1wb3J0IHN5cworIAorIGRlZiBn bG9iX3NsYXNoKGRpcm5hbWUpOgorLSAgICAiIiJMaWtlIHJlZ3VsYXIgZ2xvYiBidXQgcmVwbGFj ZXMgXCB3aXRoIC8gaW4gcmV0dXJuZWQgcGF0aHMuIiIiCisrICAgICIiIkxpa2UgcmVndWxhciBn bG9iIGJ1dCByZXBsYWNlcyBcXCB3aXRoIC8gaW4gcmV0dXJuZWQgcGF0aHMuIiIiCisgICAgIHJl dHVybiBbcy5yZXBsYWNlKCdcXCcsICcvJykgZm9yIHMgaW4gZ2xvYi5nbG9iKGRpcm5hbWUpXQor IAorIGRlZiBtYWluKCk6CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTIxLXJ1c3QtY2xhbmdfbGliLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTEyMS1ydXN0LWNsYW5nX2xpYi5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAwMDAwLi40MDE0ZjlhODI3NjQ4Ci0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1ydXN0LWNsYW5nX2xpYi5wYXRjaApA QCAtMCwwICsxLDIyIEBACistLS0gYS9idWlsZC9jb25maWcvY2xhbmcvQlVJTEQuZ24KKysrKyBi L2J1aWxkL2NvbmZpZy9jbGFuZy9CVUlMRC5nbgorQEAgLTEyOCwxNCArMTI4LDE1IEBACisgICAg ICAgfSBlbHNlIGlmIChpc19hcHBsZSkgeworICAgICAgICAgX2RpciA9ICJkYXJ3aW4iCisgICAg ICAgfSBlbHNlIGlmIChpc19saW51eCB8fCBpc19jaHJvbWVvcykgeworKyAgICAgICAgX2RpciA9 ICJsaW51eCIKKyAgICAgICAgIGlmIChjdXJyZW50X2NwdSA9PSAieDY0IikgeworLSAgICAgICAg ICBfZGlyID0gIng4Nl82NC11bmtub3duLWxpbnV4LWdudSIKKysgICAgICAgICAgX3N1ZmZpeCA9 ICIteDg2XzY0IgorICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAieDg2Iikgewor LSAgICAgICAgICBfZGlyID0gImkzODYtdW5rbm93bi1saW51eC1nbnUiCisrICAgICAgICAgIF9z dWZmaXggPSAiLWkzODYiCisgICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRfY3B1ID09ICJhcm0i KSB7CistICAgICAgICAgIF9kaXIgPSAiYXJtdjctdW5rbm93bi1saW51eC1nbnVlYWJpaGYiCisr ICAgICAgICAgIF9zdWZmaXggPSAiLWFybWhmIgorICAgICAgICAgfSBlbHNlIGlmIChjdXJyZW50 X2NwdSA9PSAiYXJtNjQiKSB7CistICAgICAgICAgIF9kaXIgPSAiYWFyY2g2NC11bmtub3duLWxp bnV4LWdudSIKKysgICAgICAgICAgX3N1ZmZpeCA9ICItYWFyY2g2NCIKKyAgICAgICAgIH0gZWxz ZSB7CisgICAgICAgICAgIGFzc2VydChmYWxzZSkgICMgVW5oYW5kbGVkIGNwdSB0eXBlCisgICAg ICAgICB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LXJ1c3Qtd2l0aG91dC1wcm9maWxlcl9idWlsdGlucy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMjEtcnVzdC13aXRob3V0LXByb2ZpbGVyX2J1aWx0aW5zLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjI1YzM0MjI5ODI5MzMK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIx LXJ1c3Qtd2l0aG91dC1wcm9maWxlcl9idWlsdGlucy5wYXRjaApAQCAtMCwwICsxLDEwIEBACist LS0gYS9idWlsZC9ydXN0L3N0ZC9CVUlMRC5nbgorKysrIGIvYnVpbGQvcnVzdC9zdGQvQlVJTEQu Z24KK0BAIC0xMDAsNyArMTAwLDYgQEAKKyAgICMgZG9uJ3QgbmVlZCB0byBwYXNzIHRvIHRoZSBD KysgbGlua2VyIGJlY2F1c2UgdGhleSdyZSB1c2VkIGZvciBzcGVjaWFsaXplZAorICAgIyBwdXJw b3Nlcy4KKyAgIHNraXBfc3RkbGliX2ZpbGVzID0gWworLSAgICAicHJvZmlsZXJfYnVpbHRpbnMi LAorICAgICAicnVzdGNfc3RkX3dvcmtzcGFjZV9hbGxvYyIsCisgICAgICJydXN0Y19zdGRfd29y a3NwYWNlX2NvcmUiLAorICAgICAicnVzdGNfc3RkX3dvcmtzcGFjZV9zdGQiLApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1zeXN0ZW0tbGlieG1sLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS1zeXN0ZW0tbGlieG1s LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLmRhNDYzYzI2 ZDMyM2EKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21p dW0tMTIxLXN5c3RlbS1saWJ4bWwucGF0Y2gKQEAgLTAsMCArMSwyNCBAQAorZGlmZiAtdXAgY2hy b21pdW0tMTIxLjAuNjE2Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS94bWwv eHNsdF9wcm9jZXNzb3IuaC5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS90aGlyZF9wYXJ0eS9i bGluay9yZW5kZXJlci9jb3JlL3htbC94c2x0X3Byb2Nlc3Nvci5oCistLS0gY2hyb21pdW0tMTIx LjAuNjE2Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS94bWwveHNsdF9wcm9j ZXNzb3IuaC5tZQkyMDI0LTAyLTA2IDA4OjIyOjM2LjAxMzAyMTU4MiArMDEwMAorKysrIGNocm9t aXVtLTEyMS4wLjYxNjcuMTM5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUveG1sL3hz bHRfcHJvY2Vzc29yLmgJMjAyNC0wMi0wNiAwODoyMzowOC4yODE2MDc0OTkgKzAxMDAKK0BAIC03 Nyw3ICs3Nyw3IEBAIGNsYXNzIFhTTFRQcm9jZXNzb3IgZmluYWwgOiBwdWJsaWMgU2NyaXAKKyAK KyAgIHZvaWQgcmVzZXQoKTsKKyAKKy0gIHN0YXRpYyB2b2lkIFBhcnNlRXJyb3JGdW5jKHZvaWQq IHVzZXJfZGF0YSwgY29uc3QgeG1sRXJyb3IqKTsKKysgIHN0YXRpYyB2b2lkIFBhcnNlRXJyb3JG dW5jKHZvaWQqIHVzZXJfZGF0YSwgeG1sRXJyb3IqKTsKKyAgIHN0YXRpYyB2b2lkIEdlbmVyaWNF cnJvckZ1bmModm9pZCogdXNlcl9kYXRhLCBjb25zdCBjaGFyKiBtc2csIC4uLik7CisgCisgICAv LyBPbmx5IGZvciBsaWJYU0xUIGNhbGxiYWNrcworZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2 Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS94bWwveHNsdF9wcm9jZXNzb3Jf bGlieHNsdC5jYy5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjEzOS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9jb3JlL3htbC94c2x0X3Byb2Nlc3Nvcl9saWJ4c2x0LmNjCistLS0gY2hyb21pdW0t MTIxLjAuNjE2Ny4xMzkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS94bWwveHNsdF9w cm9jZXNzb3JfbGlieHNsdC5jYy5tZQkyMDI0LTAyLTA2IDA4OjE0OjMyLjM2ODA2NjIxNCArMDEw MAorKysrIGNocm9taXVtLTEyMS4wLjYxNjcuMTM5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L2NvcmUveG1sL3hzbHRfcHJvY2Vzc29yX2xpYnhzbHQuY2MJMjAyNC0wMi0wNiAwODoyMzowOC4y ODI2MDc1MTggKzAxMDAKK0BAIC02Niw3ICs2Niw3IEBAIHZvaWQgWFNMVFByb2Nlc3Nvcjo6R2Vu ZXJpY0Vycm9yRnVuYyh2b2kKKyAgIC8vIEl0IHdvdWxkIGJlIG5pY2UgdG8gZG8gc29tZXRoaW5n IHdpdGggdGhpcyBlcnJvciBtZXNzYWdlLgorIH0KKyAKKy12b2lkIFhTTFRQcm9jZXNzb3I6OlBh cnNlRXJyb3JGdW5jKHZvaWQqIHVzZXJfZGF0YSwgY29uc3QgeG1sRXJyb3IqIGVycm9yKSB7Cisr dm9pZCBYU0xUUHJvY2Vzc29yOjpQYXJzZUVycm9yRnVuYyh2b2lkKiB1c2VyX2RhdGEsIHhtbEVy cm9yKiBlcnJvcikgeworICAgRnJhbWVDb25zb2xlKiBjb25zb2xlID0gc3RhdGljX2Nhc3Q8RnJh bWVDb25zb2xlKj4odXNlcl9kYXRhKTsKKyAgIGlmICghY29uc29sZSkKKyAgICAgcmV0dXJuOwpk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC10eXBlbmFt ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMjEtdHlwZW5hbWUu cGF0Y2gKc2ltaWxhcml0eSBpbmRleCA3OCUKcmVuYW1lIGZyb20gc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL2Nocm9taXVtLTEyMC10eXBlbmFtZS5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS10eXBlbmFtZS5wYXRjaAppbmRleCA5YTJkODc4YjEy YjU0Li5lODNlNjJjNjBhNTRlIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTIwLXR5cGVuYW1lLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9jaHJvbWl1bS0xMjEtdHlwZW5hbWUucGF0Y2gKQEAgLTIwMywzICsyMDMsNTcgQEAgZGlmZiAt dXAgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9iaW5k aW5ncy9jb3JlL3Y4L2FzeW4KICAgICAgICBFeGNlcHRpb25TdGF0ZSYgZXhjZXB0aW9uX3N0YXRl KSA9IDA7CiAgfTsKICAKK2RpZmYgLXVwIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvYmFzZS9mdW5j dGlvbmFsL2JpbmRfaW50ZXJuYWwuaC5tZSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2UvZnVu Y3Rpb25hbC9iaW5kX2ludGVybmFsLmgKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2Uv ZnVuY3Rpb25hbC9iaW5kX2ludGVybmFsLmgubWUJMjAyNC0wMS0yMSAxNjoxMDowOS44MDkwMzc1 ODEgKzAxMDAKKysrKyBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2Jhc2UvZnVuY3Rpb25hbC9iaW5k X2ludGVybmFsLmgJMjAyNC0wMS0yMSAxNjo0NjozMy43NTkzOTczMDMgKzAxMDAKK0BAIC0xNTMz LDExICsxNTMzLDExIEBAIHRlbXBsYXRlIDxpbnQgaSwKKyAgICAgICAgICAgdHlwZW5hbWUgUGFy YW0+Cisgc3RydWN0IFBhcmFtQ2FuQmVCb3VuZCB7CisgIHByaXZhdGU6CistICB1c2luZyBVbndy YXBwZWRQYXJhbSA9IEJpbmRBcmd1bWVudDxpPjo6dGVtcGxhdGUgRm9yd2FyZGVkQXM8CisrICB1 c2luZyBVbndyYXBwZWRQYXJhbSA9IHR5cGVuYW1lIEJpbmRBcmd1bWVudDxpPjo6dGVtcGxhdGUg Rm9yd2FyZGVkQXM8CisgICAgICAgVW53cmFwcGVkPjo6dGVtcGxhdGUgVG9QYXJhbVdpdGhUeXBl PFBhcmFtPjsKKy0gIHVzaW5nIFBhcmFtU3RvcmFnZSA9IEJpbmRBcmd1bWVudDxpPjo6dGVtcGxh dGUgVG9QYXJhbVdpdGhUeXBlPAorKyAgdXNpbmcgUGFyYW1TdG9yYWdlID0gdHlwZW5hbWUgQmlu ZEFyZ3VtZW50PGk+Ojp0ZW1wbGF0ZSBUb1BhcmFtV2l0aFR5cGU8CisgICAgICAgUGFyYW0+Ojp0 ZW1wbGF0ZSBTdG9yZWRBczxTdG9yYWdlPjsKKy0gIHVzaW5nIEJvdW5kU3RvcmFnZSA9CisrICB1 c2luZyBCb3VuZFN0b3JhZ2UgPSB0eXBlbmFtZQorICAgICAgIEJpbmRBcmd1bWVudDxpPjo6dGVt cGxhdGUgQm91bmRBczxBcmc+Ojp0ZW1wbGF0ZSBTdG9yZWRBczxTdG9yYWdlPjsKKyAKKyAgIC8v IFdlIGZvcmJpZCBjYWxsYmFja3MgZnJvbSB1c2luZyByYXdfcHRyIGFzIGEgcGFyYW1ldGVyLiBI b3dldmVyLCB3ZSBhbGxvdworZGlmZiAtdXAgY2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9tb2pvL3B1 YmxpYy9jcHAvYmluZGluZ3MvYXJyYXlfdHJhaXRzLmgubWUgY2hyb21pdW0tMTIxLjAuNjE2Ny41 Ny9tb2pvL3B1YmxpYy9jcHAvYmluZGluZ3MvYXJyYXlfdHJhaXRzLmgKKy0tLSBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L21vam8vcHVibGljL2NwcC9iaW5kaW5ncy9hcnJheV90cmFpdHMuaC5tZQky MDI0LTAxLTIxIDE3OjIzOjM3Ljc4NjYwNjQyOCArMDEwMAorKysrIGNocm9taXVtLTEyMS4wLjYx NjcuNTcvbW9qby9wdWJsaWMvY3BwL2JpbmRpbmdzL2FycmF5X3RyYWl0cy5oCTIwMjQtMDEtMjEg MTc6MjM6NTguNTgyMTI3MTAzICswMTAwCitAQCAtOTAsNyArOTAsNyBAQCB0ZW1wbGF0ZSA8dHlw ZW5hbWUgQ29udGFpbmVyPgorICAgICB7IGNbaV0gfSAtPiBzdGQ6OnNhbWVfYXM8dHlwZW5hbWUg Q29udGFpbmVyOjpyZWZlcmVuY2U+OworICAgfQorIHN0cnVjdCBBcnJheVRyYWl0czxDb250YWlu ZXI+IHsKKy0gIHVzaW5nIEVsZW1lbnQgPSBDb250YWluZXI6OnZhbHVlX3R5cGU7CisrICB1c2lu ZyBFbGVtZW50ID0gdHlwZW5hbWUgQ29udGFpbmVyOjp2YWx1ZV90eXBlOworIAorICAgLy8gdmVj dG9yLWxpa2UgY29udGFpbmVycyBoYXZlIG5vIGJ1aWx0LWluIG51bGwuCisgICBzdGF0aWMgYm9v bCBJc051bGwoY29uc3QgQ29udGFpbmVyJiBjKSB7IHJldHVybiBmYWxzZTsgfQorZGlmZiAtdXAg Y2hyb21pdW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3Jl L21vZGVsX2V4ZWN1dGlvbi9tb2RlbF9leGVjdXRpb25fdXRpbC5oLm1lIGNocm9taXVtLTEyMS4w LjYxNjcuNTcvY29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29yZS9tb2RlbF9leGVjdXRp b24vbW9kZWxfZXhlY3V0aW9uX3V0aWwuaAorLS0tIGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29t cG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29yZS9tb2RlbF9leGVjdXRpb24vbW9kZWxfZXhl Y3V0aW9uX3V0aWwuaC5tZQkyMDI0LTAxLTIxIDE3OjMzOjQwLjAzMDg5NzgzOCArMDEwMAorKysr IGNocm9taXVtLTEyMS4wLjYxNjcuNTcvY29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29y ZS9tb2RlbF9leGVjdXRpb24vbW9kZWxfZXhlY3V0aW9uX3V0aWwuaAkyMDI0LTAxLTIxIDE3OjM0 OjExLjUxODcwNTI2NiArMDEwMAorQEAgLTI1LDcgKzI1LDcgQEAgdm9pZCBTZXRFeGVjdXRpb25S ZXF1ZXN0VGVtcGxhdGUoCisgCisgICAvLyBSZXF1ZXN0IGlzIHNldCBieSB0aGUgZmVhdHVyZSBh bmQgc2hvdWxkIGFsd2F5cyBiZSB0eXBlZC4KKyAgIGF1dG8gdHlwZWRfcmVxdWVzdCA9CistICAg ICAgc3RhdGljX2Nhc3Q8Y29uc3QgRmVhdHVyZVR5cGU6OlJlcXVlc3QmPihyZXF1ZXN0X21ldGFk YXRhKTsKKysgICAgICBzdGF0aWNfY2FzdDxjb25zdCB0eXBlbmFtZSBGZWF0dXJlVHlwZTo6UmVx dWVzdCY+KHJlcXVlc3RfbWV0YWRhdGEpOworICAgKihsb2dnaW5nX2RhdGEtPm11dGFibGVfcmVx dWVzdF9kYXRhKCkpID0gdHlwZWRfcmVxdWVzdDsKKyB9CisgCitkaWZmIC11cCBjaHJvbWl1bS0x MjEuMC42MTY3LjU3L2NvbXBvbmVudHMvb3B0aW1pemF0aW9uX2d1aWRlL2NvcmUvbW9kZWxfcXVh bGl0eS9tb2RlbF9xdWFsaXR5X2xvZ19lbnRyeS5oLm1lIGNocm9taXVtLTEyMS4wLjYxNjcuNTcv Y29tcG9uZW50cy9vcHRpbWl6YXRpb25fZ3VpZGUvY29yZS9tb2RlbF9xdWFsaXR5L21vZGVsX3F1 YWxpdHlfbG9nX2VudHJ5LmgKKy0tLSBjaHJvbWl1bS0xMjEuMC42MTY3LjU3L2NvbXBvbmVudHMv b3B0aW1pemF0aW9uX2d1aWRlL2NvcmUvbW9kZWxfcXVhbGl0eS9tb2RlbF9xdWFsaXR5X2xvZ19l bnRyeS5oLm1lCTIwMjQtMDEtMjEgMTc6MzI6NDIuMzY3NDE3NjE5ICswMTAwCisrKysgY2hyb21p dW0tMTIxLjAuNjE2Ny41Ny9jb21wb25lbnRzL29wdGltaXphdGlvbl9ndWlkZS9jb3JlL21vZGVs X3F1YWxpdHkvbW9kZWxfcXVhbGl0eV9sb2dfZW50cnkuaAkyMDI0LTAxLTIxIDE3OjMzOjI1Ljcz MjUzMTE5OCArMDEwMAorQEAgLTI5LDcgKzI5LDcgQEAgY2xhc3MgTW9kZWxRdWFsaXR5TG9nRW50 cnkgeworICAgfQorIAorICAgdGVtcGxhdGUgPHR5cGVuYW1lIEZlYXR1cmVUeXBlPgorLSAgRmVh dHVyZVR5cGU6OlF1YWxpdHkqIHF1YWxpdHlfZGF0YSgpIHsKKysgIHR5cGVuYW1lIEZlYXR1cmVU eXBlOjpRdWFsaXR5KiBxdWFsaXR5X2RhdGEoKSB7CisgICAgIHJldHVybiBGZWF0dXJlVHlwZTo6 R2V0TG9nZ2luZ0RhdGEoKmxvZ19haV9kYXRhX3JlcXVlc3RfKQorICAgICAgICAgLT5tdXRhYmxl X3F1YWxpdHlfZGF0YSgpOworICAgfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL2Nocm9taXVtLTEyMC13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcu cGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIxLXdvcmthcm91bmRf Y2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDc1JQpy ZW5hbWUgZnJvbSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTIwLXdvcmthcm91 bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMS13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1 cmVkX2JpbmRpbmcucGF0Y2gKaW5kZXggYjA2ZTI5ZjI5MDQ3YS4uMTkyYjA2OTJmYmY3MyAxMDA2 NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEyMC13b3JrYXJvdW5k X2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL2Nocm9taXVtLTEyMS13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2Jp bmRpbmcucGF0Y2gKQEAgLTI1LDI3ICsyNSwyOSBAQCBkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41 NzkwLjMyL2NvbnRlbnQvYnJvd3Nlci9zZXJ2aWNlX3dvcmtlci9zZXJ2aWNlX3dvcmtlcl9jbwog IAogICAgRENIRUNLKGRvY3VtZW50X3VybC5pc192YWxpZCgpKTsKICAgIFRSQUNFX0VWRU5UMSgi U2VydmljZVdvcmtlciIsCi1kaWZmIC11cCBjaHJvbWl1bS0xMjAuMC42MDk5LjU2L3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3JpZF9sYXlvdXRfYWxnb3JpdGht LmNjLm1lIGNocm9taXVtLTEyMC4wLjYwOTkuNTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv Y29yZS9sYXlvdXQvZ3JpZC9ncmlkX2xheW91dF9hbGdvcml0aG0uY2MKLS0tLSBjaHJvbWl1bS0x MjAuMC42MDk5LjU2L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQv Z3JpZF9sYXlvdXRfYWxnb3JpdGhtLmNjLm1lCTIwMjMtMTItMDMgMjI6MTc6NTAuOTIyMDgzMjAw ICswMTAwCi0rKysgY2hyb21pdW0tMTIwLjAuNjA5OS41Ni90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9jb3JlL2xheW91dC9ncmlkL2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYwkyMDIzLTEyLTAz IDIyOjIyOjU1LjQzNzQ4NDM0MyArMDEwMAotQEAgLTM0NDcsNyArMzQ0Nyw4IEBAIHZvaWQgR3Jp ZExheW91dEFsZ29yaXRobTo6UGxhY2VHcmlkSXRlbXMKK2RpZmYgLXVwIGNocm9taXVtLTEyMS4w LjYxNjcuMTYvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9sYXlvdXQvZ3JpZC9ncmlk X2xheW91dF9hbGdvcml0aG0uY2MudGhhbiBjaHJvbWl1bS0xMjEuMC42MTY3LjE2L3RoaXJkX3Bh cnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvbGF5b3V0L2dyaWQvZ3JpZF9sYXlvdXRfYWxnb3JpdGht LmNjCistLS0gY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJl ci9jb3JlL2xheW91dC9ncmlkL2dyaWRfbGF5b3V0X2FsZ29yaXRobS5jYy50aGFuCTIwMjMtMTIt MTkgMTc6NTc6NTYuMjA1MTk3MjQ2ICswMTAwCisrKysgY2hyb21pdW0tMTIxLjAuNjE2Ny4xNi90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL2xheW91dC9ncmlkL2dyaWRfbGF5b3V0X2Fs Z29yaXRobS5jYwkyMDIzLTEyLTE5IDE4OjEwOjEzLjc3ODYzNDUzMSArMDEwMAorQEAgLTM1Mjcs OCArMzUyNyw4IEBAIHZvaWQgR3JpZExheW91dEFsZ29yaXRobTo6UGxhY2VHcmlkSXRlbXMKICAg IERDSEVDSyhvdXRfcm93X2JyZWFrX2JldHdlZW4pOwogIAotICAgY29uc3QgYXV0byYgY29udGFp bmVyX3NwYWNlID0gQ29uc3RyYWludFNwYWNlKCk7CisgICBjb25zdCBhdXRvJiBjb250YWluZXJf c3BhY2UgPSBHZXRDb25zdHJhaW50U3BhY2UoKTsKIC0gIGNvbnN0IGF1dG8mIFtncmlkX2l0ZW1z LCBsYXlvdXRfZGF0YSwgdHJlZV9zaXplXSA9IHNpemluZ190cmVlLlRyZWVSb290RGF0YSgpOwor LQogKyAgY29uc3QgYXV0byYgW2dyaWRfaXRlbXMsIGxfZCwgdHJlZV9zaXplXSA9IHNpemluZ190 cmVlLlRyZWVSb290RGF0YSgpOwogKyAgY29uc3QgYXV0byYgbGF5b3V0X2RhdGEgPSBsX2Q7Ci0g CiAgICBjb25zdCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRyZWUgPSBjb250YWluZXJfc3BhY2Uu R2V0R3JpZExheW91dFN1YnRyZWUoKTsKICAgIGNvbnN0IGF1dG8gY29udGFpbmVyX3dyaXRpbmdf ZGlyZWN0aW9uID0KLUBAIC0zNjExLDcgKzM2MTIsOSBAQCB2b2lkIEdyaWRMYXlvdXRBbGdvcml0 aG06OlBsYWNlR3JpZEl0ZW1zCisgICAgICAgY29udGFpbmVyX3NwYWNlLkdldFdyaXRpbmdEaXJl Y3Rpb24oKTsKK0BAIC0zNjkxLDggKzM2OTEsOSBAQCB2b2lkIEdyaWRMYXlvdXRBbGdvcml0aG06 OlBsYWNlR3JpZEl0ZW1zCiAgCiAgICAvLyBUT0RPKGlraWxwYXRyaWNrKTogVXBkYXRlIHxTZXRI YXNTZWVuQWxsQ2hpbGRyZW58IGFuZCBlYXJseSBleGl0IGlmIHRydWUuCi0gICBjb25zdCBhdXRv JiBjb25zdHJhaW50X3NwYWNlID0gQ29uc3RyYWludFNwYWNlKCk7CisgICBjb25zdCBhdXRvJiBj b25zdHJhaW50X3NwYWNlID0gR2V0Q29uc3RyYWludFNwYWNlKCk7CiAtICBjb25zdCBhdXRvJiBb Z3JpZF9pdGVtcywgbGF5b3V0X2RhdGEsIHRyZWVfc2l6ZV0gPSBzaXppbmdfdHJlZS5UcmVlUm9v dERhdGEoKTsKKy0KICsgIGNvbnN0IGF1dG8mIFtnX2ksIGxfZCwgdHJlZV9zaXplXSA9IHNpemlu Z190cmVlLlRyZWVSb290RGF0YSgpOwogKyAgY29uc3QgYXV0byYgZ3JpZF9pdGVtcyA9IGdfaTsK ICsgIGNvbnN0IGF1dG8mIGxheW91dF9kYXRhID0gbF9kOwotIAogICAgY29uc3QgYXV0byogY2Fj aGVkX2xheW91dF9zdWJ0cmVlID0gY29uc3RyYWludF9zcGFjZS5HZXRHcmlkTGF5b3V0U3VidHJl ZSgpOwogICAgY29uc3QgYXV0byBjb250YWluZXJfd3JpdGluZ19kaXJlY3Rpb24gPQorICAgICAg IGNvbnN0cmFpbnRfc3BhY2UuR2V0V3JpdGluZ0RpcmVjdGlvbigpOwpkaWZmIC0tZ2l0IGEvc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2djYzEzLXdub2Vycm9yLnBhdGNoIGIvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL2djYzEzLXdub2Vycm9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCBjMDY5YWE0MWIyZDA5Li4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9nY2MxMy13bm9lcnJvci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxICsw LDAgQEAKLWh0dHBzOi8vZ24uZ29vZ2xlc291cmNlLmNvbS9nbi8rL2M3YjIyM2JmYjIyNWNlODdh NzJhMjQ0ZDAxNmZmZGZjZjIyN2ZhNWUlNUUlMjEvCi1JZ25vcmUgYnVpbGQgd2FybmluZyAtV2Vy cm9yPXJlZHVuZGFudC1tb3ZlCi0KLWdjYy0xMyBjb21wbGFpbnMgd2l0aDoKLWVycm9yOiByZWR1 bmRhbnQgbW92ZSBpbiByZXR1cm4gc3RhdGVtZW50IFstV2Vycm9yPXJlZHVuZGFudC1tb3ZlXQot Ci1XZSBjYW5ub3QgZml4IHRoZSBjb2RlLCBiZWNhdXNlIGJvdGggb2xkIHZlcnNpb25zIG9mIGdj YyBhbmQgdGhlIHdpbmRvd3MKLXRvb2xjaGFpbiBmYWlscyB0byBidWlsZC4KLWluZGV4IGFkYjYy MmEuLjIzMmU1MzYgMTAwNzU1Ci0tLS0gYS90b29scy9nbi9idWlsZC9nZW4ucHkKLSsrKyBiL3Rv b2xzL2duL2J1aWxkL2dlbi5weQotCi1AQCAtNDcyLDYgKzQ3Miw4IEBACi0gICAgICMgZmxhZ3Mg bm90IHN1cHBvcnRlZCBieSBnY2MvZysrLgotICAgICBpZiBjeHggPT0gJ2NsYW5nKysnOgotICAg ICAgIGNmbGFncy5leHRlbmQoWyctV3JhbmdlLWxvb3AtYW5hbHlzaXMnLCAnLVdleHRyYS1zZW1p LXN0bXQnXSkKLSsgICAgZWxzZToKLSsgICAgICBjZmxhZ3MuYXBwZW5kKCctV25vLXJlZHVuZGFu dC1tb3ZlJykKLSAKLSAgICAgaWYgcGxhdGZvcm0uaXNfbGludXgoKSBvciBwbGF0Zm9ybS5pc19t aW5ndygpIG9yIHBsYXRmb3JtLmlzX21zeXMoKToKLSAgICAgICBsZGZsYWdzLmFwcGVuZCgnLVds LC0tYXMtbmVlZGVkJykKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91bmJ1 bmRsZS1mZm1wZWctYXZfc3RyZWFtX2dldF9maXJzdF9kdHMucGF0Y2ggYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvdW5idW5kbGUtZmZtcGVnLWF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBkYWUxYWRkZTBiYzY2Li4wMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy91bmJ1bmRsZS1mZm1wZWctYXZfc3Ry ZWFtX2dldF9maXJzdF9kdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMiArMCwwIEBACi1k aWZmIC0tZ2l0IGEvYnVpbGQvbGludXgvdW5idW5kbGUvZmZtcGVnLmduIGIvYnVpbGQvbGludXgv dW5idW5kbGUvZmZtcGVnLmduCi1pbmRleCAxNmUyMDc0NDcwNi4uNmEwNzliMzIyMjEgMTAwNjQ0 Ci0tLS0gYS9idWlsZC9saW51eC91bmJ1bmRsZS9mZm1wZWcuZ24KLSsrKyBiL2J1aWxkL2xpbnV4 L3VuYnVuZGxlL2ZmbXBlZy5nbgotQEAgLTEyLDYgKzEyLDcgQEAgcGtnX2NvbmZpZygic3lzdGVt X2ZmbXBlZyIpIHsKLSAgICAgImxpYmF2Zm9ybWF0IiwKLSAgICAgImxpYmF2dXRpbCIsCi0gICBd Ci0rICBkZWZpbmVzID0gWyAiYXZfc3RyZWFtX2dldF9maXJzdF9kdHMoc3RyZWFtKT1zdHJlYW0t PmZpcnN0X2R0cyIgXQotIH0KLSAKLSBidWlsZGZsYWdfaGVhZGVyKCJmZm1wZWdfZmVhdHVyZXMi KSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlIGIvc3JjcGtncy9jaHJv bWl1bS90ZW1wbGF0ZQppbmRleCA1NjEzZmEzODEzODIyLi45OTVjMTk0ZDE3ZjZiIDEwMDY0NAot LS0gYS9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vdGVt cGxhdGUKQEAgLTEsMTUgKzEsMTUgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2Nocm9taXVtJwog cGtnbmFtZT1jaHJvbWl1bQogIyBTZWUgaHR0cHM6Ly9jaHJvbWl1bWRhc2guYXBwc3BvdC5jb20v cmVsZWFzZXM/cGxhdGZvcm09TGludXggZm9yIHRoZSBsYXRlc3QgdmVyc2lvbgotdmVyc2lvbj0x MjAuMC42MDk5LjEyOQordmVyc2lvbj0xMjEuMC42MTY3LjE2MAogcmV2aXNpb249MQogYXJjaHM9 Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiIKIGhvc3RtYWtlZGVwZW5kcz0iCi0gJCh2 b3B0X2lmIGNsYW5nICJjbGFuZyBsbGQgbGx2bTE1IikKKyAkKHZvcHRfaWYgY2xhbmcgImNsYW5n MTcgbGxkMTcgbGx2bTE1IikKICBiaXNvbiBnaXQgZ3BlcmYgaHdpZHMgbmluamEgbm9kZWpzIHBl cmwgcGtnLWNvbmZpZyBweXRob24zCi0gbGliZXBveHktZGV2ZWwgbGliZXZlbnQtZGV2ZWwgbGli Z2xpYi1kZXZlbCIKKyBsaWJlcG94eS1kZXZlbCBsaWJldmVudC1kZXZlbCBsaWJnbGliLWRldmVs IHJ1c3QiCiBtYWtlZGVwZW5kcz0iCi0gYWxzYS1saWItZGV2ZWwgbGliZGF2MWQtZGV2ZWwgYnJv dGxpLWRldmVsIGN1cHMtZGV2ZWwgZWxmdXRpbHMtZGV2ZWwgZmZtcGVnLWRldmVsCisgYWxzYS1s aWItZGV2ZWwgbGliZGF2MWQtZGV2ZWwgYnJvdGxpLWRldmVsIGN1cHMtZGV2ZWwgZWxmdXRpbHMt ZGV2ZWwKICBmb250Y29uZmlnLWRldmVsIGZyZWV0eXBlLWRldmVsIGd0ayszLWRldmVsIGxpYlhT Y3JuU2F2ZXItZGV2ZWwKICBsaWJYY29tcG9zaXRlLWRldmVsIGxpYlhjdXJzb3ItZGV2ZWwgbGli WGRhbWFnZS1kZXZlbCBsaWJYaS1kZXZlbCBsaWJYcmFuZHItZGV2ZWwKICBsaWJhdmlmLWRldmVs IGxpYmNhcC1kZXZlbCBsaWJjdXJsLWRldmVsIGxpYmRybS1kZXZlbCBsaWJldmVudC1kZXZlbApA QCAtMTgsNiArMTgsNyBAQCBtYWtlZGVwZW5kcz0iCiAgbGlieHNsdC1kZXZlbCBtaW5pemlwLWRl dmVsIG1pdC1rcmI1LWRldmVsIG5zcy1kZXZlbCBvcHVzLWRldmVsCiAgcGNpdXRpbHMtZGV2ZWwg c25hcHB5LWRldmVsIHNwZWVjaC1kaXNwYXRjaGVyLWRldmVsIHNwZWV4LWRldmVsCiAgeGNiLXBy b3RvIHpsaWItZGV2ZWwgbGliYW9tLWRldmVsIGxpYmZmaS1kZXZlbCBsaWJldmRldi1kZXZlbAor IGNvbXBpbGVyLXJ0CiAgJCh2b3B0X2lmIHBpcGV3aXJlIHBpcGV3aXJlLWRldmVsKQogICQodm9w dF9pZiBwdWxzZWF1ZGlvIHB1bHNlYXVkaW8tZGV2ZWwpCiAgJCh2b3B0X2lmIHNuZGlvIHNuZGlv LWRldmVsKSIKQEAgLTI3LDcgKzI4LDcgQEAgbWFpbnRhaW5lcj0iRHVuY2FlbiA8ZHVuY2FlbkB2 b2lkbGludXgub3JnPiIKIGxpY2Vuc2U9IkJTRC0zLUNsYXVzZSIKIGhvbWVwYWdlPSJodHRwczov L3d3dy5jaHJvbWl1bS5vcmcvIgogZGlzdGZpbGVzPSJodHRwczovL2NvbW1vbmRhdGFzdG9yYWdl Lmdvb2dsZWFwaXMuY29tL2Nocm9taXVtLWJyb3dzZXItb2ZmaWNpYWwvJHtwa2duYW1lfS0ke3Zl cnNpb259LnRhci54eiIKLWNoZWNrc3VtPWJlMzZkNWFiZWNmYWZkYzY4ZDliMjdiMGJlZTY1MTM2 MzE2NjEwYTI5NWU4NDRiOTk0ODNhNzUyMGIyNDVmODUKK2NoZWNrc3VtPTQ1ODY2NzM4OTkzODNk MzBlOWQ5NWZhM2E5YzVmODE2MGYzMmE5ZDU3ODllNDBiZTgyYWJmM2U0ZGQ5Y2MzZGYKIAogbGli MzJkaXNhYmxlZD15ZXMKIApAQCAtNTAsNyArNTEsNyBAQCBpZiBbICIkQ1JPU1NfQlVJTEQiIF07 IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgbGliWDExLWRldmVsIGxpYnhjYi1kZXZlbCBwY2l1 dGlscy1kZXZlbCBsaWJYZXh0LWRldmVsIGxpYmdsdm5kLWRldmVsCiAJIGxpYmpwZWctdHVyYm8t ZGV2ZWwgbGliWGktZGV2ZWwgbnNzLWRldmVsIGxpYnBuZy1kZXZlbCBsaWJ3ZWJwLWRldmVsCiAJ IGxpYnhtbDItZGV2ZWwgJCh2b3B0X2lmIHB1bHNlYXVkaW8gcHVsc2VhdWRpby1kZXZlbCkgbGli eHNsdC1kZXZlbCBsaWJ4a2Jjb21tb24tZGV2ZWwKLQkgJCh2b3B0X2lmIHBpcGV3aXJlIHBpcGV3 aXJlLWRldmVsKSBmZm1wZWctZGV2ZWwgb3B1cy1kZXZlbCBwYW5nby1kZXZlbCBsaWJ2YS1kZXZl bAorCSAkKHZvcHRfaWYgcGlwZXdpcmUgcGlwZXdpcmUtZGV2ZWwpIG9wdXMtZGV2ZWwgcGFuZ28t ZGV2ZWwgbGlidmEtZGV2ZWwKIAkgbGliY3VybC1kZXZlbCBzbmFwcHktZGV2ZWwgbGliWHJhbmRy LWRldmVsIGxpYlhjb21wb3NpdGUtZGV2ZWwgY3Vwcy1kZXZlbAogCSBtaXQta3JiNS1kZXZlbCBh bHNhLWxpYi1kZXZlbCBsaWJYZGFtYWdlLWRldmVsIGxpYmVwb3h5LWRldmVsIGxpYmV2ZGV2LWRl dmVsCiAJIGxpYmF2aWYtZGV2ZWwgbGliYW9tLWRldmVsIGxpYmRhdjFkLWRldmVsIGxpYmZsYWMt ZGV2ZWwKQEAgLTEzMyw3ICsxMzQsNyBAQCBfc2V0dXBfdG9vbGNoYWluKCkgewogfQogCiBkb19j b25maWd1cmUoKSB7Ci0JbG9jYWwgc3lzdGVtPSIiIGNvbmY9KCkKKwlsb2NhbCBzeXN0ZW09KCkg Y29uZj0oKQogCiAJIyBjb21waWxlIGduIGVhcmx5LCBzbyBpdCBjYW4gYmUgdXNlZCB0byBnZW5l cmF0ZSBnbmkgc3R1ZmYKIAlBUj0iYXIiIENDPSRDQ19GT1JfQlVJTEQgQ1hYPSRDWFhfRk9SX0JV SUxEIExEPSRDWFhfRk9SX0JVSUxEIFwKQEAgLTE1Myw4ICsxNTQsOSBAQCBkb19jb25maWd1cmUo KSB7CiAJIyBYWFg6IGhhcmZidXp6LW5nIHVzZSBidWlsdGluIG9uZSB1bnRpbCBzeXN0ZW0td2lk ZSBpcyB1cGRhdGVkID49My4wLjAKIAkjIGxpYmN4eCBodHRwczovL2dpdGh1Yi5jb20vbGx2bS9s bHZtLXByb2plY3QvaXNzdWVzLzYxNzA1OgogCSMgc25hcHB5Ci0Jc3lzdGVtPSIKLQkJZmZtcGVn CisJIyBmZm1wZWc6IHN5c3RlbSBmZm1wZWcgaXMgdG9vIG9sZCBhbmQgbWFrZXMgdGhlIGZmbXBl ZyB1cGRhdGUgbm90IHJlcXVpcmUKKwkjICByZWJ1aWxkaW5nIGNocm9taXVtCisJc3lzdGVtPSgK IAkJZmxhYwogCQlmb250Y29uZmlnCiAJCWZyZWV0eXBlCkBAIC0xNjYsMTIgKzE2OCwxMiBAQCBk b19jb25maWd1cmUoKSB7CiAJCWxpYnhtbAogCQlsaWJ4c2x0CiAJCW9wdXMKLQkiCisJKQogCiAJ IyByZW1vdmUgYnVpbGQgc2NyaXB0cyBmb3Igc3lzdGVtIHByb3ZpZGVkIGRlcGVuZGVuY2llcyAt IGJhc2ljYWxseSBkb2VzIHRoZQogCSMgc2FtZSBhcyB0aGUgYnVuZGVsZWQgc2NyaXB0IHRvIHJl bW92ZSBidW5kZWxlZCBsaWJzLCBidXQgdGhpcyB3YXkgd2UgZG9uJ3QKIAkjIGhhdmUgdG8gbGlz dCB0aGUgcmVtYWluaW5nIGxpYnMKLQlmb3IgTElCIGluICR7c3lzdGVtfSBsaWJqcGVnX3R1cmJv OyBkbworCWZvciBMSUIgaW4gIiR7c3lzdGVtW0BdfSIgbGlianBlZ190dXJibzsgZG8KIAkJZmlu ZCAidGhpcmRfcGFydHkvJExJQiIgLXR5cGUgZiBcCiAJCQlcISAtcGF0aCAidGhpcmRfcGFydHkv JExJQi9jaHJvbWl1bS8qIiBcCiAJCQlcISAtcGF0aCAidGhpcmRfcGFydHkvJExJQi9nb29nbGUv KiIgXApAQCAtMTgyLDEzICsxODQsMTMgQEAgZG9fY29uZmlndXJlKCkgewogCWRvbmUKIAogCSMg c3dpdGNoIHRvIHN5c3RlbSBwcm92aWRlZCBkZXBlbmRlbmNpZXMKLQlidWlsZC9saW51eC91bmJ1 bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJhcmllcyAke3N5c3RlbX0KKwli dWlsZC9saW51eC91bmJ1bmRsZS9yZXBsYWNlX2duX2ZpbGVzLnB5IC0tc3lzdGVtLWxpYnJhcmll cyAiJHtzeXN0ZW1bQF19IgogCiAJdGhpcmRfcGFydHkvbGliYWRkcmVzc2lucHV0L2Nocm9taXVt L3Rvb2xzL3VwZGF0ZS1zdHJpbmdzLnB5CiAKKwlsb2NhbCBjbGFuZ192ZXJzaW9uPSIkKGNsYW5n IC1kdW1wdmVyc2lvbikiCiAJY29uZj0oCiAJCSdlbmFibGVfbmFjbD1mYWxzZScKLQkJJ2VuYWJs ZV9ydXN0PWZhbHNlJwogCiAJCSd1c2Vfc3lzcm9vdD1mYWxzZScKIApAQCAtMTk4LDEyICsyMDAs MTUgQEAgZG9fY29uZmlndXJlKCkgewogCQkidXNlX2xsZD0kKHZvcHRfaWYgY2xhbmcgdHJ1ZSBm YWxzZSkiCiAJCSdjbGFuZ191c2VfY2hyb21lX3BsdWdpbnM9ZmFsc2UnCiAJCSdjbGFuZ19iYXNl X3BhdGg9Ii91c3IiJworCQkiY2xhbmdfdmVyc2lvbj1cIiR7Y2xhbmdfdmVyc2lvbiUlLip9XCIi CiAKIAkJImdvbGRfcGF0aD1cIiR7WEJQU19DUk9TU19CQVNFfS91c3IvYmluL2xkLmdvbGRcIiIK IAkJInVzZV9jdXN0b21fbGliY3h4PSQodm9wdF9pZiBsaWJjeHggdHJ1ZSBmYWxzZSkiICMgaHR0 cHM6Ly9naXRodWIuY29tL2xsdm0vbGx2bS1wcm9qZWN0L2lzc3Vlcy82MTcwNQogCQkndXNlX2dv bGQ9ZmFsc2UnCiAKKwkJJ2VuYWJsZV9ydXN0PXRydWUnCiAJCSdydXN0X3N5c3Jvb3RfYWJzb2x1 dGU9Ii91c3IiJworCQkicnVzdGNfdmVyc2lvbj1cIiQocnVzdGMgLS12ZXJzaW9uKVwiIgogCiAJ CSMgaXNfZGVidWcgbWFrZXMgdGhlIGJ1aWxkIGEgZGVidWcgYnVpbGQsIGNoYW5nZXMgc29tZSB0 aGluZ3MuCiAJCSMgbWlnaHQgYmUgdXNlZnVsIGZvciByZWFsIGRlYnVnZ2luZyB2cyBqdXN0IGRl YnVnIHN5bWJvbHMuCkBAIC0yOTMsNiArMjk4LDkgQEAgZG9fY29uZmlndXJlKCkgewogfQogCiBk b19idWlsZCgpIHsKKwkjIFhYWDogbmVlZCBmb3IgZXJyb3I6IHRoZSBvcHRpb24gYFpgIGlzIG9u bHkgYWNjZXB0ZWQgb24gdGhlIG5pZ2h0bHkgY29tcGlsZXIKKwlleHBvcnQgUlVTVENfQk9PVFNU UkFQPTEKKwogCV9zZXR1cF90b29sY2hhaW4KIAlDQ0FDSEVfU0xPUFBJTkVTUz1pbmNsdWRlX2Zp bGVfbXRpbWUgbmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30gY2hyb21lIGNocm9tZWRy aXZlci51bnN0cmlwcGVkIGNocm9tZV9jcmFzaHBhZF9oYW5kbGVyCiB9Cg== --===============4437637988847651430==--