From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=ALL_TRUSTED,URI_TRY_USME autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 6384 invoked from network); 12 Oct 2023 15:41:43 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 12 Oct 2023 15:41:43 -0000 Content-Type: multipart/mixed; boundary="===============8093880835277481016==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_118=2E0=2E5993=2E70=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 12 Oct 2023 17:41:42 +0200 List-Id: Message-ID: <20231012154142.lrLEfh30LMeeja3mCVnJYr_Z4V8OskKPt4N2Wshep-M@z> GitHub notification mails are now in MIME to allow UTF8. --===============8093880835277481016== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTExOApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDY2MDYKCmNocm9taXVtOiB1cGRhdGUgdG8gMTE4LjAu NTk5My43MC4KW2NpIHNraXBdDQoNCiogW3hdIHg4Nl82NC1nbGliYw0KKiBbeF0geDg2XzY0LW11 c2wNCiogW3hdIGFhcmNoNjQtbXVzbA0KKiBbIF0gaTY4NgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0 cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzQ2NjA2LnBhdGNo IGlzIGF0dGFjaGVk --===============8093880835277481016== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-118-46606.patch" RnJvbSAxYjYxODIwMDUyNDhkZGU0MzVlOTc5ZWI1OWFkMDRkMWYyOWM2MDIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFdlZCwgMTEgT2N0IDIwMjMgMTg6NDM6MzkgKzAyMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDExOC4wLjU5OTMuNzAuCgotLS0KIC4uLmZvci1zdGQtdW5pcXVlX3B0ci1p bi10aGlyZF9wYXJ0eS1pcC5wYXRjaCB8ICAyNyAtLS0tCiAuLi5taXVtLTEwNS4wLjUxOTUuNTIt cHl0aG9uLXNpeC0xLjE2LjAucGF0Y2ggfCAxMzQgKysrKysrKysrKysrKysrKysKIC4uLml1bS0x MTctZW1wbGFjZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5wYXRjaCB8ICA5MSAtLS0tLS0tLS0tLS0K IC4uLi40LnBhdGNoID0+IGNocm9taXVtLTExOC1mZm1wZWctNC40LnBhdGNofSB8ICAxNCAtLQog Li4uPiBjaHJvbWl1bS0xMTgtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2h9IHwgIDI3ICsrKy0K IC4uLmhyb21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNofSB8IDEzNSArKysr KysrKysrKysrKysrKwogLi4uL2Nocm9taXVtLTExOC1weXRob24tMy4xMi1kZXByZWNhdGVkLnBh dGNoIHwgMTM4ICsrKysrKysrKysrKysrKysrKwogLi4uL2Nocm9taXVtLTExOC11c2Vfc3lzdGVt X2ZyZWV0eXBlLnBhdGNoICAgIHwgIDkxICsrKysrKysrKysrKwogLi4uYXJvdW5kX2NsYW5nX2J1 Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2h9IHwgIDEzIC0tCiBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvbm8tbXRlLnBhdGNoICAgICAgICAgfCAgIDcgKy0KIHNyY3BrZ3MvY2hyb21pdW0vdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgNCArLQogMTEgZmlsZXMgY2hhbmdlZCwgNTI4 IGluc2VydGlvbnMoKyksIDE1MyBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvYWRkLW1lbW9yeS1mb3Itc3RkLXVuaXF1ZV9wdHItaW4tdGhp cmRfcGFydHktaXAucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTA1LjAuNTE5NS41Mi1weXRob24tc2l4LTEuMTYuMC5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTctZW1w bGFjZV9iYWNrX29uX3ZlY3Rvci1jKysyMC5wYXRjaAogcmVuYW1lIHNyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy97Y2hyb21pdW0tOTMtZmZtcGVnLTQuNC5wYXRjaCA9PiBjaHJvbWl1bS0xMTgtZmZt cGVnLTQuNC5wYXRjaH0gKDY2JSkKIHJlbmFtZSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMve2No cm9taXVtLTExNy1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaCA9PiBjaHJvbWl1bS0xMTgtbWlz c2luZy1oZWFkZXItZmlsZXMucGF0Y2h9ICg5NCUpCiByZW5hbWUgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3tjaHJvbWl1bS0xMTctbm9fbWF0Y2hpbmdfY29uc3RydWN0b3IucGF0Y2ggPT4gY2hy b21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNofSAoNzYlKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTgtcHl0aG9uLTMu MTItZGVwcmVjYXRlZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9jaHJvbWl1bS0xMTgtdXNlX3N5c3RlbV9mcmVldHlwZS5wYXRjaAogcmVuYW1lIHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy97Y2hyb21pdW0tMTE3LXdvcmthcm91bmRfY2xhbmdfYnVn LXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaCA9PiBjaHJvbWl1bS0xMTgtd29ya2Fyb3VuZF9jbGFu Z19idWctc3RydWN0dXJlZF9iaW5kaW5nLnBhdGNofSAoODYlKQoKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9hZGQtbWVtb3J5LWZvci1zdGQtdW5pcXVlX3B0ci1pbi10aGly ZF9wYXJ0eS1pcC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9hZGQtbWVtb3J5LWZv ci1zdGQtdW5pcXVlX3B0ci1pbi10aGlyZF9wYXJ0eS1pcC5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMmQ2MDA1ZjE5ZDdjYi4uMDAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMvYWRkLW1lbW9yeS1mb3Itc3RkLXVuaXF1ZV9wdHItaW4tdGhpcmRf cGFydHktaXAucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNyArMCwwIEBACi1Gcm9tIDVhOGRm Y2FmODRiNWFmNWFlYjczODcwMjY1MWU5OGJmYzQzZDZkNDUgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xlbWFpbC5jb20+Ci1EYXRl OiBXZWQsIDkgQXVnIDIwMjMgMTU6MzY6MjYgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSF0gSVdZVTog YWRkIG1lbW9yeSBmb3Igc3RkOjp1bmlxdWVfcHRyIGluIC8vdGhpcmRfcGFydHkvaXBjegotCi1C dWc6IDk1NzUxOQotQ2hhbmdlLUlkOiBJNjAwZjQxNWE1OTIwNmRhMjgzMDQ2YjYzOGE0ZjY4ZWRh MDg5MmFjNwotUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJj ZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80NzU0Mjc0Ci1Db21taXQtUXVldWU6IFN0ZXBoYW4gSGFy dG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KLVJldmlld2VkLWJ5OiBSb2JlcnQgU2VzZWsg PHJzZXNla0BjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFp bkB7IzExODE1MDN9Ci0tLS0KLSB0aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5r LmggfCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaCBiL3RoaXJkX3BhcnR5L2lw Y3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaAotaW5kZXggMDliYzU2MjZkOTkuLjYxOTYzOGNjN2Yx IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5oCi0r KysgYi90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgKLUBAIC03LDYgKzcs NyBAQAotIAotICNpbmNsdWRlIDxjc3RkZGVmPgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotKyNp bmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAjaW5jbHVkZSA8dXRpbGl0eT4K LSAKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMDUuMC41 MTk1LjUyLXB5dGhvbi1zaXgtMS4xNi4wLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L2Nocm9taXVtLTEwNS4wLjUxOTUuNTItcHl0aG9uLXNpeC0xLjE2LjAucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMC4uNDk3YzJkZjQwYjMyMQotLS0gL2Rldi9u dWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMDUuMC41MTk1LjUy LXB5dGhvbi1zaXgtMS4xNi4wLnBhdGNoCkBAIC0wLDAgKzEsMTM0IEBACitkaWZmIC11cCBjaHJv bWl1bS0xMDMuMC41MDYwLjUzL3RoaXJkX3BhcnR5L2NhdGFwdWx0L3RoaXJkX3BhcnR5L3NpeC9z aXgucHkuMTE2IGNocm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvY2F0YXB1bHQvdGhp cmRfcGFydHkvc2l4L3NpeC5weQorLS0tIGNocm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFy dHkvY2F0YXB1bHQvdGhpcmRfcGFydHkvc2l4L3NpeC5weS4xMTYJMjAyMi0wNy0wNSAxMzozMToy OS40MzQ2NzM2MzggKzAwMDAKKysrKyBjaHJvbWl1bS0xMDMuMC41MDYwLjUzL3RoaXJkX3BhcnR5 L2NhdGFwdWx0L3RoaXJkX3BhcnR5L3NpeC9zaXgucHkJMjAyMi0wNy0wNSAyMTo1MjowMS44ODQ1 Nzg3NDggKzAwMDAKK0BAIC0yOSw3ICsyOSw3IEBAIGltcG9ydCBzeXMKKyBpbXBvcnQgdHlwZXMK KyAKKyBfX2F1dGhvcl9fID0gIkJlbmphbWluIFBldGVyc29uIDxiZW5qYW1pbkBweXRob24ub3Jn PiIKKy1fX3ZlcnNpb25fXyA9ICIxLjE1LjAiCisrX192ZXJzaW9uX18gPSAiMS4xNi4wIgorIAor IAorICMgVXNlZnVsIGZvciB2ZXJ5IGNvYXJzZSB2ZXJzaW9uIGRpZmZlcmVudGlhdGlvbi4KK0BA IC03MSw2ICs3MSwxMSBAQCBlbHNlOgorICAgICAgICAgICAgIE1BWFNJWkUgPSBpbnQoKDEgPDwg NjMpIC0gMSkKKyAgICAgICAgIGRlbCBYCisgCisraWYgUFkzNDoKKysgICAgZnJvbSBpbXBvcnRs aWIudXRpbCBpbXBvcnQgc3BlY19mcm9tX2xvYWRlcgorK2Vsc2U6CisrICAgIHNwZWNfZnJvbV9s b2FkZXIgPSBOb25lCisrCisgCisgZGVmIF9hZGRfZG9jKGZ1bmMsIGRvYyk6CisgICAgICIiIkFk ZCBkb2N1bWVudGF0aW9uIHRvIGEgZnVuY3Rpb24uIiIiCitAQCAtMTg2LDYgKzE5MSwxMSBAQCBj bGFzcyBfU2l4TWV0YVBhdGhJbXBvcnRlcihvYmplY3QpOgorICAgICAgICAgICAgIHJldHVybiBz ZWxmCisgICAgICAgICByZXR1cm4gTm9uZQorIAorKyAgICBkZWYgZmluZF9zcGVjKHNlbGYsIGZ1 bGxuYW1lLCBwYXRoLCB0YXJnZXQ9Tm9uZSk6CisrICAgICAgICBpZiBmdWxsbmFtZSBpbiBzZWxm Lmtub3duX21vZHVsZXM6CisrICAgICAgICAgICAgcmV0dXJuIHNwZWNfZnJvbV9sb2FkZXIoZnVs bG5hbWUsIHNlbGYpCisrICAgICAgICByZXR1cm4gTm9uZQorKworICAgICBkZWYgX19nZXRfbW9k dWxlKHNlbGYsIGZ1bGxuYW1lKToKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICByZXR1cm4g c2VsZi5rbm93bl9tb2R1bGVzW2Z1bGxuYW1lXQorQEAgLTIyMyw2ICsyMzMsMTIgQEAgY2xhc3Mg X1NpeE1ldGFQYXRoSW1wb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJldHVybiBOb25lCisgICAg IGdldF9zb3VyY2UgPSBnZXRfY29kZSAgIyBzYW1lIGFzIGdldF9jb2RlCisgCisrICAgIGRlZiBj cmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorKyAgICAgICAgcmV0dXJuIHNlbGYubG9hZF9tb2R1 bGUoc3BlYy5uYW1lKQorKworKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwgbW9kdWxlKToKKysg ICAgICAgIHBhc3MKKysKKyBfaW1wb3J0ZXIgPSBfU2l4TWV0YVBhdGhJbXBvcnRlcihfX25hbWVf XykKKyAKKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvc2l4 L3NyYy9zaXgucHkuMTE2IGNocm9taXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvc2l4L3Ny Yy9zaXgucHkKKy0tLSBjaHJvbWl1bS0xMDMuMC41MDYwLjUzL3RoaXJkX3BhcnR5L3NpeC9zcmMv c2l4LnB5LjExNgkyMDIyLTA3LTA1IDEzOjMyOjI4LjkxNjY4NzY1OCArMDAwMAorKysrIGNocm9t aXVtLTEwMy4wLjUwNjAuNTMvdGhpcmRfcGFydHkvc2l4L3NyYy9zaXgucHkJMjAyMi0wNy0wNSAy MTo1OTo0Mi41NjEyNDA0MDcgKzAwMDAKK0BAIC0yOSw3ICsyOSw3IEBAIGltcG9ydCBzeXMKKyBp bXBvcnQgdHlwZXMKKyAKKyBfX2F1dGhvcl9fID0gIkJlbmphbWluIFBldGVyc29uIDxiZW5qYW1p bkBweXRob24ub3JnPiIKKy1fX3ZlcnNpb25fXyA9ICIxLjE0LjAiCisrX192ZXJzaW9uX18gPSAi MS4xNi4wIgorIAorIAorICMgVXNlZnVsIGZvciB2ZXJ5IGNvYXJzZSB2ZXJzaW9uIGRpZmZlcmVu dGlhdGlvbi4KK0BAIC03MSw2ICs3MSwxMSBAQCBlbHNlOgorICAgICAgICAgICAgIE1BWFNJWkUg PSBpbnQoKDEgPDwgNjMpIC0gMSkKKyAgICAgICAgIGRlbCBYCisgCisraWYgUFkzNDoKKysgICAg ZnJvbSBpbXBvcnRsaWIudXRpbCBpbXBvcnQgc3BlY19mcm9tX2xvYWRlcgorK2Vsc2U6CisrICAg IHNwZWNfZnJvbV9sb2FkZXIgPSBOb25lCisrCisgCisgZGVmIF9hZGRfZG9jKGZ1bmMsIGRvYyk6 CisgICAgICIiIkFkZCBkb2N1bWVudGF0aW9uIHRvIGEgZnVuY3Rpb24uIiIiCitAQCAtMTg2LDYg KzE5MSwxMSBAQCBjbGFzcyBfU2l4TWV0YVBhdGhJbXBvcnRlcihvYmplY3QpOgorICAgICAgICAg ICAgIHJldHVybiBzZWxmCisgICAgICAgICByZXR1cm4gTm9uZQorIAorKyAgICBkZWYgZmluZF9z cGVjKHNlbGYsIGZ1bGxuYW1lLCBwYXRoLCB0YXJnZXQ9Tm9uZSk6CisrICAgICAgICBpZiBmdWxs bmFtZSBpbiBzZWxmLmtub3duX21vZHVsZXM6CisrICAgICAgICAgICAgcmV0dXJuIHNwZWNfZnJv bV9sb2FkZXIoZnVsbG5hbWUsIHNlbGYpCisrICAgICAgICByZXR1cm4gTm9uZQorKworICAgICBk ZWYgX19nZXRfbW9kdWxlKHNlbGYsIGZ1bGxuYW1lKToKKyAgICAgICAgIHRyeToKKyAgICAgICAg ICAgICByZXR1cm4gc2VsZi5rbm93bl9tb2R1bGVzW2Z1bGxuYW1lXQorQEAgLTIyMyw2ICsyMzMs MTIgQEAgY2xhc3MgX1NpeE1ldGFQYXRoSW1wb3J0ZXIob2JqZWN0KToKKyAgICAgICAgIHJldHVy biBOb25lCisgICAgIGdldF9zb3VyY2UgPSBnZXRfY29kZSAgIyBzYW1lIGFzIGdldF9jb2RlCisg CisrICAgIGRlZiBjcmVhdGVfbW9kdWxlKHNlbGYsIHNwZWMpOgorKyAgICAgICAgcmV0dXJuIHNl bGYubG9hZF9tb2R1bGUoc3BlYy5uYW1lKQorKworKyAgICBkZWYgZXhlY19tb2R1bGUoc2VsZiwg bW9kdWxlKToKKysgICAgICAgIHBhc3MKKysKKyBfaW1wb3J0ZXIgPSBfU2l4TWV0YVBhdGhJbXBv cnRlcihfX25hbWVfXykKKyAKKyAKK0BAIC04OTAsMTIgKzkwNiwxMSBAQCBkZWYgZW5zdXJlX2Jp bmFyeShzLCBlbmNvZGluZz0ndXRmLTgnLCBlCisgICAgICAgLSBgc3RyYCAtPiBlbmNvZGVkIHRv IGBieXRlc2AKKyAgICAgICAtIGBieXRlc2AgLT4gYGJ5dGVzYAorICAgICAiIiIKKysgICAgaWYg aXNpbnN0YW5jZShzLCBiaW5hcnlfdHlwZSk6CisrICAgICAgICByZXR1cm4gcworICAgICBpZiBp c2luc3RhbmNlKHMsIHRleHRfdHlwZSk6CisgICAgICAgICByZXR1cm4gcy5lbmNvZGUoZW5jb2Rp bmcsIGVycm9ycykKKy0gICAgZWxpZiBpc2luc3RhbmNlKHMsIGJpbmFyeV90eXBlKToKKy0gICAg ICAgIHJldHVybiBzCistICAgIGVsc2U6CistICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBl eHBlY3RpbmcgdHlwZSAnJXMnIiAlIHR5cGUocykpCisrICAgIHJhaXNlIFR5cGVFcnJvcigibm90 IGV4cGVjdGluZyB0eXBlICclcyciICUgdHlwZShzKSkKKyAKKyAKKyBkZWYgZW5zdXJlX3N0cihz LCBlbmNvZGluZz0ndXRmLTgnLCBlcnJvcnM9J3N0cmljdCcpOgorQEAgLTkwOSwxMiArOTI0LDE1 IEBAIGRlZiBlbnN1cmVfc3RyKHMsIGVuY29kaW5nPSd1dGYtOCcsIGVycm8KKyAgICAgICAtIGBz dHJgIC0+IGBzdHJgCisgICAgICAgLSBgYnl0ZXNgIC0+IGRlY29kZWQgdG8gYHN0cmAKKyAgICAg IiIiCistICAgIGlmIG5vdCBpc2luc3RhbmNlKHMsICh0ZXh0X3R5cGUsIGJpbmFyeV90eXBlKSk6 CistICAgICAgICByYWlzZSBUeXBlRXJyb3IoIm5vdCBleHBlY3RpbmcgdHlwZSAnJXMnIiAlIHR5 cGUocykpCisrICAgICMgT3B0aW1pemF0aW9uOiBGYXN0IHJldHVybiBmb3IgdGhlIGNvbW1vbiBj YXNlLgorKyAgICBpZiB0eXBlKHMpIGlzIHN0cjoKKysgICAgICAgIHJldHVybiBzCisgICAgIGlm IFBZMiBhbmQgaXNpbnN0YW5jZShzLCB0ZXh0X3R5cGUpOgorLSAgICAgICAgcyA9IHMuZW5jb2Rl KGVuY29kaW5nLCBlcnJvcnMpCisrICAgICAgICByZXR1cm4gcy5lbmNvZGUoZW5jb2RpbmcsIGVy cm9ycykKKyAgICAgZWxpZiBQWTMgYW5kIGlzaW5zdGFuY2UocywgYmluYXJ5X3R5cGUpOgorLSAg ICAgICAgcyA9IHMuZGVjb2RlKGVuY29kaW5nLCBlcnJvcnMpCisrICAgICAgICByZXR1cm4gcy5k ZWNvZGUoZW5jb2RpbmcsIGVycm9ycykKKysgICAgZWxpZiBub3QgaXNpbnN0YW5jZShzLCAodGV4 dF90eXBlLCBiaW5hcnlfdHlwZSkpOgorKyAgICAgICAgcmFpc2UgVHlwZUVycm9yKCJub3QgZXhw ZWN0aW5nIHR5cGUgJyVzJyIgJSB0eXBlKHMpKQorICAgICByZXR1cm4gcworIAorIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy1lbXBsYWNlX2JhY2tf b25fdmVjdG9yLWMrKzIwLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVt LTExNy1lbXBsYWNlX2JhY2tfb25fdmVjdG9yLWMrKzIwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAzZjFiODAwMjM4ZWJmLi4wMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTctZW1wbGFjZV9iYWNrX29uX3ZlY3Rvci1jKysy MC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDkxICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVt LTExNS4wLjU3OTAuNDAvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYy5t ZSBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmls aXRpZXMuY2MKLS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL2Nocm9tZS90ZXN0L2Nocm9tZWRy aXZlci9jYXBhYmlsaXRpZXMuY2MubWUJMjAyMy0wNi0yNSAxMDowNjo1OC40NDU5OTAwNjkgKzAy MDAKLSsrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9j YXBhYmlsaXRpZXMuY2MJMjAyMy0wNi0yNSAxMDo1MToxNy42NDA4MTgyMzEgKzAyMDAKLUBAIC0z NTUsNyArMzU1LDcgQEAgU3RhdHVzIFBhcnNlTW9iaWxlRW11bGF0aW9uKGNvbnN0IGJhc2U6Ogot ICAgICAgICAgICAgICAgICAgICAgICAgICIndmVyc2lvbicgZmllbGQgb2YgdHlwZSBzdHJpbmci KTsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGJyYW5kcy5lbXBsYWNlX2JhY2soKmJyYW5kLCAq dmVyc2lvbik7Ci0rICAgICAgICBicmFuZHMuZW1wbGFjZV9iYWNrKCkgPSB7KmJyYW5kLCAqdmVy c2lvbn07Ci0gICAgICAgfQotIAotICAgICAgIGNsaWVudF9oaW50cy5icmFuZHMgPSBzdGQ6Om1v dmUoYnJhbmRzKTsKLUBAIC0zOTIsNyArMzkyLDcgQEAgU3RhdHVzIFBhcnNlTW9iaWxlRW11bGF0 aW9uKGNvbnN0IGJhc2U6OgotICAgICAgICAgICAgICAgICAgICAgICAgICJhICd2ZXJzaW9uJyBm aWVsZCBvZiB0eXBlIHN0cmluZyIpOwotICAgICAgICAgfQotIAotLSAgICAgICAgZnVsbF92ZXJz aW9uX2xpc3QuZW1wbGFjZV9iYWNrKCpicmFuZCwgKnZlcnNpb24pOwotKyAgICAgICAgZnVsbF92 ZXJzaW9uX2xpc3QuZW1wbGFjZV9iYWNrKCkgPSB7KmJyYW5kLCAqdmVyc2lvbn07Ci0gICAgICAg fQotIAotICAgICAgIGNsaWVudF9oaW50cy5mdWxsX3ZlcnNpb25fbGlzdCA9IHN0ZDo6bW92ZShm dWxsX3ZlcnNpb25fbGlzdCk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L2Nocm9t ZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92aWRlci5j Yy5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGlu Z3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92aWRlci5jYwotLS0tIGNocm9taXVtLTExNi4wLjU4 NDUuOTYvY2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9u X3Byb3ZpZGVyLmNjLm1lCTIwMjMtMDgtMTUgMjE6MzQ6NTguOTIyODU1NDI4ICswMjAwCi0rKysg Y2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29u ZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MJMjAyMy0wOC0xNSAyMTozOToyMy4zMTA0MzQy MzcgKzAyMDAKLUBAIC0yMDcsOCArMjA3LDggQEAgdm9pZCBPbmVUaW1lUGVybWlzc2lvblByb3Zp ZGVyOjpPblN1c3BlbgotIAotICAgICAgIHdoaWxlIChydWxlX2l0ZXJhdG9yICYmIHJ1bGVfaXRl cmF0b3ItPkhhc05leHQoKSkgewotICAgICAgICAgYXV0byBydWxlID0gcnVsZV9pdGVyYXRvci0+ TmV4dCgpOwotLSAgICAgICAgcGF0dGVybnNfdG9fZGVsZXRlLmVtcGxhY2VfYmFjayhzZXR0aW5n X3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm4pOwotKyAgICAgICAgcGF0dGVy bnNfdG9fZGVsZXRlLmVtcGxhY2VfYmFjaygpID0ge3NldHRpbmdfdHlwZSwgcnVsZS0+cHJpbWFy eV9wYXR0ZXJuLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydWxl LT5zZWNvbmRhcnlfcGF0dGVybn07Ci0gICAgICAgICBwZXJtaXNzaW9uczo6UGVybWlzc2lvblVt YVV0aWw6OlJlY29yZE9uZVRpbWVQZXJtaXNzaW9uRXZlbnQoCi0gICAgICAgICAgICAgc2V0dGlu Z190eXBlLAotICAgICAgICAgICAgIHBlcm1pc3Npb25zOjpPbmVUaW1lUGVybWlzc2lvbkV2ZW50 OjpFWFBJUkVEX09OX1NVU1BFTkQpOwotQEAgLTMwMiw4ICszMDIsOCBAQCB2b2lkIE9uZVRpbWVQ ZXJtaXNzaW9uUHJvdmlkZXI6OkRlbGV0ZUVuCi0gICAgIGF1dG8gcnVsZSA9IHJ1bGVfaXRlcmF0 b3ItPk5leHQoKTsKLSAgICAgaWYgKHJ1bGUtPnByaW1hcnlfcGF0dGVybi5NYXRjaGVzKG9yaWdp bl9ndXJsKSAmJgotICAgICAgICAgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm4uTWF0Y2hlcyhvcmln aW5fZ3VybCkpIHsKLS0gICAgICBwYXR0ZXJuc190b19kZWxldGUuZW1wbGFjZV9iYWNrKAotLSAg ICAgICAgICBjb250ZW50X3NldHRpbmdfdHlwZSwgcnVsZS0+cHJpbWFyeV9wYXR0ZXJuLCBydWxl LT5zZWNvbmRhcnlfcGF0dGVybik7Ci0rICAgICAgcGF0dGVybnNfdG9fZGVsZXRlLmVtcGxhY2Vf YmFjaygpID0gewotKyAgICAgICAgICBjb250ZW50X3NldHRpbmdfdHlwZSwgcnVsZS0+cHJpbWFy eV9wYXR0ZXJuLCBydWxlLT5zZWNvbmRhcnlfcGF0dGVybn07Ci0gICAgICAgcGVybWlzc2lvbnM6 OlBlcm1pc3Npb25VbWFVdGlsOjpSZWNvcmRPbmVUaW1lUGVybWlzc2lvbkV2ZW50KAotICAgICAg ICAgICBjb250ZW50X3NldHRpbmdfdHlwZSwgdHJpZ2dlcl9ldmVudCk7Ci0gICAgIH0KLWRpZmYg LXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2Mu bWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYwot LS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2Mu bWUJMjAyMy0wOS0xMyAyMDoxNDo0Mi40NDEyNDg3ODEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTcu MC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjCTIwMjMtMDktMTMgMjA6MTY6 MTIuMTg2NjM4NjAxICswMjAwCi1AQCAtMjE4Nyw4ICsyMTg3LDggQEAgdm9pZCBUcmFjZUxvZzo6 U2V0VHJhY2VCdWZmZXJGb3JUZXN0aW5nKAotICNpZiBCVUlMREZMQUcoVVNFX1BFUkZFVFRPX0NM SUVOVF9MSUJSQVJZKQotIHZvaWQgVHJhY2VMb2c6Ok9uU2V0dXAoY29uc3QgcGVyZmV0dG86OkRh dGFTb3VyY2VCYXNlOjpTZXR1cEFyZ3MmIGFyZ3MpIHsKLSAgIEF1dG9Mb2NrIGxvY2sodHJhY2tf ZXZlbnRfbG9ja18pOwotLSAgdHJhY2tfZXZlbnRfc2Vzc2lvbnNfLmVtcGxhY2VfYmFjayhhcmdz LmludGVybmFsX2luc3RhbmNlX2luZGV4LCAqYXJncy5jb25maWcsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGFyZ3MuYmFja2VuZF90eXBlKTsKLSsgIHRyYWNrX2V2ZW50 X3Nlc3Npb25zXy5lbXBsYWNlX2JhY2soKSA9IHthcmdzLmludGVybmFsX2luc3RhbmNlX2luZGV4 LCAqYXJncy5jb25maWcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFy Z3MuYmFja2VuZF90eXBlfTsKLSB9Ci0gCi0gdm9pZCBUcmFjZUxvZzo6T25TdGFydChjb25zdCBw ZXJmZXR0bzo6RGF0YVNvdXJjZUJhc2U6OlN0YXJ0QXJncyYpIHsKLWRpZmYgLXVwIGNocm9taXVt LTExNy4wLjU5MzguNjIvY29udGVudC9icm93c2VyL2Rvd25sb2FkL3NhdmVfcGFja2FnZS5jYy5t ZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3Bh Y2thZ2UuY2MKLS0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2NvbnRlbnQvYnJvd3Nlci9kb3du bG9hZC9zYXZlX3BhY2thZ2UuY2MubWUJMjAyMy0wOS0xNSAxMjowMjo0My44NjY2MjI1OTEgKzAy MDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9z YXZlX3BhY2thZ2UuY2MJMjAyMy0wOS0xNSAxMjowMzo1OC43MTU5ODQ1MTEgKzAyMDAKLUBAIC03 NjQsOCArNzY0LDggQEAgdm9pZCBTYXZlUGFja2FnZTo6RmluaXNoKCkgewotICAgaWYgKGRvd25s b2FkXykgewotICAgICBzdGQ6OnZlY3Rvcjxkb3dubG9hZDo6RG93bmxvYWRTYXZlSXRlbURhdGE6 Okl0ZW1JbmZvPiBmaWxlczsKLSAgICAgZm9yIChhdXRvJiBpdGVtIDogc2F2ZWRfc3VjY2Vzc19p dGVtc18pIHsKLS0gICAgICBmaWxlcy5lbXBsYWNlX2JhY2soaXRlbS5zZWNvbmQtPmZ1bGxfcGF0 aCgpLCBpdGVtLnNlY29uZC0+dXJsKCksCi0tICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW0u c2Vjb25kLT5yZWZlcnJlcigpLnVybCk7Ci0rICAgICAgZmlsZXMuZW1wbGFjZV9iYWNrKCkgPSB7 aXRlbS5zZWNvbmQtPmZ1bGxfcGF0aCgpLCBpdGVtLnNlY29uZC0+dXJsKCksCi0rICAgICAgICAg ICAgICAgICAgICAgICAgIGl0ZW0uc2Vjb25kLT5yZWZlcnJlcigpLnVybH07Ci0gICAgIH0KLSAg ICAgZG93bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRhOjpBdHRhY2hJdGVtRGF0YShkb3dubG9h ZF8sIHN0ZDo6bW92ZShmaWxlcykpOwotICAgfQotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkz OC42Mi91aS9ndGsvZ3RrX3VpLmNjLm1lIGNocm9taXVtLTExNy4wLjU5MzguNjIvdWkvZ3RrL2d0 a191aS5jYwotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvdWkvZ3RrL2d0a191aS5jYy5tZQky MDIzLTA5LTE1IDIwOjI5OjQyLjYyNjUwMjM0MyArMDIwMAotKysrIGNocm9taXVtLTExNy4wLjU5 MzguNjIvdWkvZ3RrL2d0a191aS5jYwkyMDIzLTA5LTE1IDIwOjM2OjE4Ljc2MzA5MTE3OSArMDIw MAotQEAgLTk1NSwxMSArOTU1LDExIEBAIHVpOjpEaXNwbGF5Q29uZmlnIEd0a1VpOjpHZXREaXNw bGF5Q29uZmkKLSAgICAgR2RrUmVjdGFuZ2xlIGdlb21ldHJ5OwotICAgICBnZGtfbW9uaXRvcl9n ZXRfZ2VvbWV0cnkobW9uaXRvciwgJmdlb21ldHJ5KTsKLSAgICAgaW50IG1vbml0b3Jfc2NhbGUg PSBzdGQ6Om1heCgxLCBnZGtfbW9uaXRvcl9nZXRfc2NhbGVfZmFjdG9yKG1vbml0b3IpKTsKLS0g ICAgY29uZmlnLmRpc3BsYXlfZ2VvbWV0cmllcy5lbXBsYWNlX2JhY2soCi0rICAgIGNvbmZpZy5k aXNwbGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKCkgPSB7Ci0gICAgICAgICBnZng6OlJlY3Qo bW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LngsIG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS55LAot ICAgICAgICAgICAgICAgICAgIG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS53aWR0aCwKLSAgICAg ICAgICAgICAgICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkuaGVpZ2h0KSwKLS0gICAgICAg IG1vbml0b3Jfc2NhbGUgKiBmb250X3NjYWxlKTsKLSsgICAgICAgIHN0YXRpY19jYXN0PGZsb2F0 Pihtb25pdG9yX3NjYWxlICogZm9udF9zY2FsZSl9OwotICAgfQotICAgcmV0dXJuIGNvbmZpZzsK LSB9CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZt cGVnLTQuNC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTgtZmZt cGVnLTQuNC5wYXRjaApzaW1pbGFyaXR5IGluZGV4IDY2JQpyZW5hbWUgZnJvbSBzcmNwa2dzL2No cm9taXVtL3BhdGNoZXMvY2hyb21pdW0tOTMtZmZtcGVnLTQuNC5wYXRjaApyZW5hbWUgdG8gc3Jj cGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1mZm1wZWctNC40LnBhdGNoCmluZGV4 IGYwZWM3MzZmOThiYzcuLjU1NmM3MzRkNGUwMmUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21p dW0vcGF0Y2hlcy9jaHJvbWl1bS05My1mZm1wZWctNC40LnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTgtZmZtcGVnLTQuNC5wYXRjaApAQCAtMiwyMCArMiw2 IEBAIGRpZmYgLS1naXQgYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjIGIvbWVkaWEv ZmlsdGVycy9mZm1wZWdfZGVtdXhlci5jYwogaW5kZXggYWM0NzEzYjA3MjY4Li40OTJhOWEzN2Qw OTYgMTAwNjQ0CiAtLS0gYS9tZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCiArKysgYi9t ZWRpYS9maWx0ZXJzL2ZmbXBlZ19kZW11eGVyLmNjCi1AQCAtNDI3LDExICs0MjcsMTEgQEAgdm9p ZCBGRm1wZWdEZW11eGVyU3RyZWFtOjpFbnF1ZXVlUGFja2V0KFNjb3BlZEFWUGFja2V0IHBhY2tl dCkgewotICAgc2NvcGVkX3JlZnB0cjxEZWNvZGVyQnVmZmVyPiBidWZmZXI7Ci0gCi0gICBpZiAo dHlwZSgpID09IERlbXV4ZXJTdHJlYW06OlRFWFQpIHsKLS0gICAgc2l6ZV90IGlkX3NpemUgPSAw OwotKyAgICBpbnQgaWRfc2l6ZSA9IDA7Ci0gICAgIHVpbnQ4X3QqIGlkX2RhdGEgPSBhdl9wYWNr ZXRfZ2V0X3NpZGVfZGF0YSgKLSAgICAgICAgIHBhY2tldC5nZXQoKSwgQVZfUEtUX0RBVEFfV0VC VlRUX0lERU5USUZJRVIsICZpZF9zaXplKTsKLSAKLS0gICAgc2l6ZV90IHNldHRpbmdzX3NpemUg PSAwOwotKyAgICBpbnQgc2V0dGluZ3Nfc2l6ZSA9IDA7Ci0gICAgIHVpbnQ4X3QqIHNldHRpbmdz X2RhdGEgPSBhdl9wYWNrZXRfZ2V0X3NpZGVfZGF0YSgKLSAgICAgICAgIHBhY2tldC5nZXQoKSwg QVZfUEtUX0RBVEFfV0VCVlRUX1NFVFRJTkdTLCAmc2V0dGluZ3Nfc2l6ZSk7Ci0gCiBAQCAtNDQz LDcgKzQ0Myw3IEBAIHZvaWQgRkZtcGVnRGVtdXhlclN0cmVhbTo6RW5xdWV1ZVBhY2tldChTY29w ZWRBVlBhY2tldCBwYWNrZXQpIHsKICAgICAgYnVmZmVyID0gRGVjb2RlckJ1ZmZlcjo6Q29weUZy b20ocGFja2V0LT5kYXRhLCBwYWNrZXQtPnNpemUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpZGVfZGF0YS5kYXRhKCksIHNpZGVfZGF0YS5zaXplKCkpOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy1taXNzaW5nLWhlYWRl ci1maWxlcy5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTgtbWlz c2luZy1oZWFkZXItZmlsZXMucGF0Y2gKc2ltaWxhcml0eSBpbmRleCA5NCUKcmVuYW1lIGZyb20g c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy1taXNzaW5nLWhlYWRlci1maWxl cy5wYXRjaApyZW5hbWUgdG8gc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1t aXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAppbmRleCBhZDhlMWU2NTRkMzQyLi5lYTQxNWRmMzI4 MzViIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE3LW1p c3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9j aHJvbWl1bS0xMTgtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKQEAgLTQ1MSw3ICs0NTEsMzIg QEAgZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9j b2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWwKICAgKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj ZW5zZS4KICAgKi8KICAKLSsjaW5jbHVkZSA8bWF0aC5oPgorKyNpbmNsdWRlIDxjbWF0aD4KICAj aW5jbHVkZSAiY3BwL3BhbGV0dGVzL3RvbmVzLmgiCiAgCiAgI2luY2x1ZGUgImNwcC9jYW0vY2Ft LmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2RldmljZS9wdWJs aWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgubWUgY2hyb21pdW0tMTE4LjAu NTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3Jf cmVhZGluZy5oCistLS0gY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVi bGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oLm1lCTIwMjMtMTAtMDEgMTM6 NTU6MDEuOTEzMTkzMTg2ICswMjAwCisrKysgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNl cy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCTIwMjMt MTAtMDEgMTQ6MDU6MzguNDg4MDM4NDI5ICswMjAwCitAQCAtNSw2ICs1LDkgQEAKKyAjaWZuZGVm IFNFUlZJQ0VTX0RFVklDRV9QVUJMSUNfQ1BQX0dFTkVSSUNfU0VOU09SX1NFTlNPUl9SRUFESU5H X0hfCisgI2RlZmluZSBTRVJWSUNFU19ERVZJQ0VfUFVCTElDX0NQUF9HRU5FUklDX1NFTlNPUl9T RU5TT1JfUkVBRElOR19IXworIAorKyNpbmNsdWRlIDxjc3RkZGVmPgorKyNpbmNsdWRlIDxjc3Rk aW50PgorKworICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKKyBuYW1lc3BhY2UgZGV2aWNlIHsK K2RpZmYgLXVwIGNocm9taXVtLTExOC4wLjU5OTMuMzIvY29tcG9uZW50cy9nd3BfYXNhbi9jbGll bnQvbGlnaHR3ZWlnaHRfZGV0ZWN0b3IuaC5tZSBjaHJvbWl1bS0xMTguMC41OTkzLjMyL2NvbXBv bmVudHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2RldGVjdG9yLmgKKy0tLSBjaHJvbWl1 bS0xMTguMC41OTkzLjMyL2NvbXBvbmVudHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2Rl dGVjdG9yLmgubWUJMjAyMy0xMC0wMiAxMzozODozMS4yMTc4MDY0MjggKzAyMDAKKysrKyBjaHJv bWl1bS0xMTguMC41OTkzLjMyL2NvbXBvbmVudHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0 X2RldGVjdG9yLmgJMjAyMy0xMC0wMiAxMzozOTowNS4wMDY0MjcxNjggKzAyMDAKK0BAIC01LDYg KzUsOCBAQAorICNpZm5kZWYgQ09NUE9ORU5UU19HV1BfQVNBTl9DTElFTlRfTElHSFRXRUlHSFRf REVURUNUT1JfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfR1dQX0FTQU5fQ0xJRU5UX0xJR0hUV0VJ R0hUX0RFVEVDVE9SX0hfCisgCisrI2luY2x1ZGUgPGF0b21pYz4KKysKKyAjaW5jbHVkZSAiYmFz ZS9ndGVzdF9wcm9kX3V0aWwuaCIKKyAjaW5jbHVkZSAiY29tcG9uZW50cy9nd3BfYXNhbi9jbGll bnQvZXhwb3J0LmgiCisgI2luY2x1ZGUgImNvbXBvbmVudHMvZ3dwX2FzYW4vY29tbW9uL2xpZ2h0 d2VpZ2h0X2RldGVjdG9yX3N0YXRlLmgiCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTE3LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5w YXRjaApzaW1pbGFyaXR5IGluZGV4IDc2JQpyZW5hbWUgZnJvbSBzcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTE3LW5vX21hdGNoaW5nX2NvbnN0cnVjdG9yLnBhdGNoCnJlbmFtZSB0 byBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0 cnVjdG9yLnBhdGNoCmluZGV4IGU1YWI2MGFjMmQ3ZGMuLjNkNzc0OGMzZDVhMjYgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMTctbm9fbWF0Y2hpbmdfY29u c3RydWN0b3IucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEx OC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaApAQCAtNDMwLDMgKzQzMCwxMzggQEAgZGlm ZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3By b2ZpbGVfbWFuYWdlbWVudC9wcm8KICAKICAgIC8vIEV4dHJhY3QgZG9tYWlucyBhbmQgYXR0cmli dXRlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgc3dpdGNoLgogICAgY29uc3QgYmFzZTo6Q29tbWFu ZExpbmUmIGNvbW1hbmRfbGluZSA9CitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjQwL2No cm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2MubWUgY2hyb21pdW0tMTE1LjAu NTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCistLS0gY2hy b21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVz LmNjLm1lCTIwMjMtMDYtMjUgMTA6MDY6NTguNDQ1OTkwMDY5ICswMjAwCisrKysgY2hyb21pdW0t MTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjCTIw MjMtMDYtMjUgMTA6NTE6MTcuNjQwODE4MjMxICswMjAwCitAQCAtMzU1LDcgKzM1NSw3IEBAIFN0 YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoKKyAgICAgICAgICAgICAgICAg ICAgICAgICAiJ3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5nIik7CisgICAgICAgICB9Cisg CistICAgICAgICBicmFuZHMuZW1wbGFjZV9iYWNrKCpicmFuZCwgKnZlcnNpb24pOworKyAgICAg ICAgYnJhbmRzLmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259OworICAgICAgIH0K KyAKKyAgICAgICBjbGllbnRfaGludHMuYnJhbmRzID0gc3RkOjptb3ZlKGJyYW5kcyk7CitAQCAt MzkyLDcgKzM5Miw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoK KyAgICAgICAgICAgICAgICAgICAgICAgICAiYSAndmVyc2lvbicgZmllbGQgb2YgdHlwZSBzdHJp bmciKTsKKyAgICAgICAgIH0KKyAKKy0gICAgICAgIGZ1bGxfdmVyc2lvbl9saXN0LmVtcGxhY2Vf YmFjaygqYnJhbmQsICp2ZXJzaW9uKTsKKysgICAgICAgIGZ1bGxfdmVyc2lvbl9saXN0LmVtcGxh Y2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259OworICAgICAgIH0KKyAKKyAgICAgICBjbGll bnRfaGludHMuZnVsbF92ZXJzaW9uX2xpc3QgPSBzdGQ6Om1vdmUoZnVsbF92ZXJzaW9uX2xpc3Qp OworZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50 X3NldHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MubWUgY2hyb21pdW0tMTE2 LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29uZV90aW1lX3Blcm1p c3Npb25fcHJvdmlkZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2L2Nocm9tZS9icm93 c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92aWRlci5jYy5tZQky MDIzLTA4LTE1IDIxOjM0OjU4LjkyMjg1NTQyOCArMDIwMAorKysrIGNocm9taXVtLTExNi4wLjU4 NDUuOTYvY2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9u X3Byb3ZpZGVyLmNjCTIwMjMtMDgtMTUgMjE6Mzk6MjMuMzEwNDM0MjM3ICswMjAwCitAQCAtMjA3 LDggKzIwNyw4IEBAIHZvaWQgT25lVGltZVBlcm1pc3Npb25Qcm92aWRlcjo6T25TdXNwZW4KKyAK KyAgICAgICB3aGlsZSAocnVsZV9pdGVyYXRvciAmJiBydWxlX2l0ZXJhdG9yLT5IYXNOZXh0KCkp IHsKKyAgICAgICAgIGF1dG8gcnVsZSA9IHJ1bGVfaXRlcmF0b3ItPk5leHQoKTsKKy0gICAgICAg IHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soc2V0dGluZ190eXBlLCBydWxlLT5wcmlt YXJ5X3BhdHRlcm4sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1 bGUtPnNlY29uZGFyeV9wYXR0ZXJuKTsKKysgICAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBs YWNlX2JhY2soKSA9IHtzZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS0+c2Vjb25kYXJ5X3BhdHRl cm59OworICAgICAgICAgcGVybWlzc2lvbnM6OlBlcm1pc3Npb25VbWFVdGlsOjpSZWNvcmRPbmVU aW1lUGVybWlzc2lvbkV2ZW50KAorICAgICAgICAgICAgIHNldHRpbmdfdHlwZSwKKyAgICAgICAg ICAgICBwZXJtaXNzaW9uczo6T25lVGltZVBlcm1pc3Npb25FdmVudDo6RVhQSVJFRF9PTl9TVVNQ RU5EKTsKK0BAIC0zMDIsOCArMzAyLDggQEAgdm9pZCBPbmVUaW1lUGVybWlzc2lvblByb3ZpZGVy OjpEZWxldGVFbgorICAgICBhdXRvIHJ1bGUgPSBydWxlX2l0ZXJhdG9yLT5OZXh0KCk7CisgICAg IGlmIChydWxlLT5wcmltYXJ5X3BhdHRlcm4uTWF0Y2hlcyhvcmlnaW5fZ3VybCkgJiYKKyAgICAg ICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuLk1hdGNoZXMob3JpZ2luX2d1cmwpKSB7CistICAg ICAgcGF0dGVybnNfdG9fZGVsZXRlLmVtcGxhY2VfYmFjaygKKy0gICAgICAgICAgY29udGVudF9z ZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwgcnVsZS0+c2Vjb25kYXJ5X3BhdHRl cm4pOworKyAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soKSA9IHsKKysgICAg ICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwgcnVsZS0+ c2Vjb25kYXJ5X3BhdHRlcm59OworICAgICAgIHBlcm1pc3Npb25zOjpQZXJtaXNzaW9uVW1hVXRp bDo6UmVjb3JkT25lVGltZVBlcm1pc3Npb25FdmVudCgKKyAgICAgICAgICAgY29udGVudF9zZXR0 aW5nX3R5cGUsIHRyaWdnZXJfZXZlbnQpOworICAgICB9CitkaWZmIC11cCBjaHJvbWl1bS0xMTcu MC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjLm1lIGNocm9taXVtLTExNy4w LjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2MKKy0tLSBjaHJvbWl1bS0xMTcu MC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjLm1lCTIwMjMtMDktMTMgMjA6 MTQ6NDIuNDQxMjQ4NzgxICswMjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9iYXNlL3Ry YWNlX2V2ZW50L3RyYWNlX2xvZy5jYwkyMDIzLTA5LTEzIDIwOjE2OjEyLjE4NjYzODYwMSArMDIw MAorQEAgLTIxODcsOCArMjE4Nyw4IEBAIHZvaWQgVHJhY2VMb2c6OlNldFRyYWNlQnVmZmVyRm9y VGVzdGluZygKKyAjaWYgQlVJTERGTEFHKFVTRV9QRVJGRVRUT19DTElFTlRfTElCUkFSWSkKKyB2 b2lkIFRyYWNlTG9nOjpPblNldHVwKGNvbnN0IHBlcmZldHRvOjpEYXRhU291cmNlQmFzZTo6U2V0 dXBBcmdzJiBhcmdzKSB7CisgICBBdXRvTG9jayBsb2NrKHRyYWNrX2V2ZW50X2xvY2tfKTsKKy0g IHRyYWNrX2V2ZW50X3Nlc3Npb25zXy5lbXBsYWNlX2JhY2soYXJncy5pbnRlcm5hbF9pbnN0YW5j ZV9pbmRleCwgKmFyZ3MuY29uZmlnLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhcmdzLmJhY2tlbmRfdHlwZSk7CisrICB0cmFja19ldmVudF9zZXNzaW9uc18uZW1wbGFj ZV9iYWNrKCkgPSB7YXJncy5pbnRlcm5hbF9pbnN0YW5jZV9pbmRleCwgKmFyZ3MuY29uZmlnLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmJhY2tlbmRfdHlwZX07 CisgfQorIAorIHZvaWQgVHJhY2VMb2c6Ok9uU3RhcnQoY29uc3QgcGVyZmV0dG86OkRhdGFTb3Vy Y2VCYXNlOjpTdGFydEFyZ3MmKSB7CitkaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Nv bnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2MubWUgY2hyb21pdW0tMTE3LjAu NTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdlLmNjCistLS0gY2hy b21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdl LmNjLm1lCTIwMjMtMDktMTUgMTI6MDI6NDMuODY2NjIyNTkxICswMjAwCisrKysgY2hyb21pdW0t MTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdlLmNjCTIw MjMtMDktMTUgMTI6MDM6NTguNzE1OTg0NTExICswMjAwCitAQCAtNzY0LDggKzc2NCw4IEBAIHZv aWQgU2F2ZVBhY2thZ2U6OkZpbmlzaCgpIHsKKyAgIGlmIChkb3dubG9hZF8pIHsKKyAgICAgc3Rk Ojp2ZWN0b3I8ZG93bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRhOjpJdGVtSW5mbz4gZmlsZXM7 CisgICAgIGZvciAoYXV0byYgaXRlbSA6IHNhdmVkX3N1Y2Nlc3NfaXRlbXNfKSB7CistICAgICAg ZmlsZXMuZW1wbGFjZV9iYWNrKGl0ZW0uc2Vjb25kLT5mdWxsX3BhdGgoKSwgaXRlbS5zZWNvbmQt PnVybCgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlY29uZC0+cmVmZXJyZXIo KS51cmwpOworKyAgICAgIGZpbGVzLmVtcGxhY2VfYmFjaygpID0ge2l0ZW0uc2Vjb25kLT5mdWxs X3BhdGgoKSwgaXRlbS5zZWNvbmQtPnVybCgpLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBp dGVtLnNlY29uZC0+cmVmZXJyZXIoKS51cmx9OworICAgICB9CisgICAgIGRvd25sb2FkOjpEb3du bG9hZFNhdmVJdGVtRGF0YTo6QXR0YWNoSXRlbURhdGEoZG93bmxvYWRfLCBzdGQ6Om1vdmUoZmls ZXMpKTsKKyAgIH0KK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIvdWkvZ3RrL2d0a191 aS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MKKy0tLSBjaHJv bWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MubWUJMjAyMy0wOS0xNSAyMDoyOTo0 Mi42MjY1MDIzNDMgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtf dWkuY2MJMjAyMy0wOS0xNSAyMDozNjoxOC43NjMwOTExNzkgKzAyMDAKK0BAIC05NTUsMTEgKzk1 NSwxMSBAQCB1aTo6RGlzcGxheUNvbmZpZyBHdGtVaTo6R2V0RGlzcGxheUNvbmZpCisgICAgIEdk a1JlY3RhbmdsZSBnZW9tZXRyeTsKKyAgICAgZ2RrX21vbml0b3JfZ2V0X2dlb21ldHJ5KG1vbml0 b3IsICZnZW9tZXRyeSk7CisgICAgIGludCBtb25pdG9yX3NjYWxlID0gc3RkOjptYXgoMSwgZ2Rr X21vbml0b3JfZ2V0X3NjYWxlX2ZhY3Rvcihtb25pdG9yKSk7CistICAgIGNvbmZpZy5kaXNwbGF5 X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKAorKyAgICBjb25maWcuZGlzcGxheV9nZW9tZXRyaWVz LmVtcGxhY2VfYmFjaygpID0geworICAgICAgICAgZ2Z4OjpSZWN0KG1vbml0b3Jfc2NhbGUgKiBn ZW9tZXRyeS54LCBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkueSwKKyAgICAgICAgICAgICAgICAg ICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkud2lkdGgsCisgICAgICAgICAgICAgICAgICAgbW9u aXRvcl9zY2FsZSAqIGdlb21ldHJ5LmhlaWdodCksCistICAgICAgICBtb25pdG9yX3NjYWxlICog Zm9udF9zY2FsZSk7CisrICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4obW9uaXRvcl9zY2FsZSAq IGZvbnRfc2NhbGUpfTsKKyAgIH0KKyAgIHJldHVybiBjb25maWc7CisgfQorZGlmZiAtdXAgY2hy b21pdW0tMTE4LjAuNTk5My41NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci9jb250 YWN0X2luZm9fc3luY191dGlsLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50 cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYworLS0tIGNo cm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29u dGFjdF9pbmZvX3N5bmNfdXRpbC5jYy5tZQkyMDIzLTEwLTA2IDEwOjM4OjUyLjQ3MzE0NTY5MiAr MDIwMAorKysrIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3Jl L2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYwkyMDIzLTEwLTA2IDEwOjM3OjMwLjI2 ODYxNzE2OSArMDIwMAorQEAgLTE3NCw5ICsxNzQsOSBAQCBjbGFzcyBDb250YWN0SW5mb1Byb2Zp bGVTZXR0ZXIgeworICAgICBDSEVDSyhvYnNlcnZhdGlvbnMuZW1wdHkoKSk7CisgICAgIGZvciAo Y29uc3Qgc3luY19wYjo6Q29udGFjdEluZm9TcGVjaWZpY3M6Ok9ic2VydmF0aW9uJiBwcm90b19v YnNlcnZhdGlvbiA6CisgICAgICAgICAgcHJvdG9fb2JzZXJ2YXRpb25zKSB7CistICAgICAgb2Jz ZXJ2YXRpb25zLmVtcGxhY2VfYmFjayhwcm90b19vYnNlcnZhdGlvbi50eXBlKCksCisrICAgICAg b2JzZXJ2YXRpb25zLmVtcGxhY2VfYmFjaygpID0ge3N0YXRpY19jYXN0PHVuc2lnbmVkIGNoYXI+ KHByb3RvX29ic2VydmF0aW9uLnR5cGUoKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQcm9maWxlVG9rZW5RdWFsaXR5OjpGb3JtU2lnbmF0dXJlSGFzaCgKKy0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b19vYnNlcnZhdGlvbi5mb3JtX2hhc2goKSkp OworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvX29ic2VydmF0aW9u LmZvcm1faGFzaCgpKX07CisgICAgIH0KKyAgIH0KKyAKK2RpZmYgLXVwIGNocm9taXVtLTExOC4w LjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2ViZGF0YS9hdXRvZmls bF9zeW5jX2JyaWRnZV91dGlsLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50 cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2ViZGF0YS9hdXRvZmlsbF9zeW5jX2JyaWRnZV91dGls LmNjCistLS0gY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3N5bmNfYnJpZGdlX3V0aWwuY2MubWUJMjAyMy0xMC0w NiAxMDo0MTozNy43NDY0MDIyMTUgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTguMC41OTkzLjU0L2Nv bXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0b2ZpbGxfc3luY19icmlk Z2VfdXRpbC5jYwkyMDIzLTEwLTA2IDEwOjQyOjI4LjQ2OTU2MjkyNyArMDIwMAorQEAgLTU1Mywx MSArNTUzLDExIEBAIFNlcnZlckN2YyBBdXRvZmlsbFdhbGxldEN2Y1N0cnVjdERhdGFGcm8KKyAg IGJhc2U6OlN0cmluZ1RvSW50NjQod2FsbGV0X2NyZWRlbnRpYWxfc3BlY2lmaWNzLmluc3RydW1l bnRfaWQoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgJmluc3RydW1lbnRfaWQpOworIAorLSAg cmV0dXJuIFNlcnZlckN2YygKKysgIHJldHVybiBTZXJ2ZXJDdmN7CisgICAgICAgaW5zdHJ1bWVu dF9pZCwgYmFzZTo6VVRGOFRvVVRGMTYod2FsbGV0X2NyZWRlbnRpYWxfc3BlY2lmaWNzLmN2Yygp KSwKKyAgICAgICBiYXNlOjpUaW1lOjpVbml4RXBvY2goKSArCisgICAgICAgICAgIGJhc2U6Ok1p bGxpc2Vjb25kcyh3YWxsZXRfY3JlZGVudGlhbF9zcGVjaWZpY3MKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAubGFzdF91cGRhdGVkX3RpbWVfdW5peF9lcG9jaF9taWxsaXMoKSkp OworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sYXN0X3VwZGF0ZWRfdGltZV91 bml4X2Vwb2NoX21pbGxpcygpKX07CisgfQorIAorIFZpcnR1YWxDYXJkVXNhZ2VEYXRhIFZpcnR1 YWxDYXJkVXNhZ2VEYXRhRnJvbVVzYWdlU3BlY2lmaWNzKAorZGlmZiAtdXAgY2hyb21pdW0tMTE4 LjAuNTk5My41NC9jb250ZW50L2Jyb3dzZXIvd2ViaWQvaWRwX25ldHdvcmtfcmVxdWVzdF9tYW5h Z2VyLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lk cF9uZXR3b3JrX3JlcXVlc3RfbWFuYWdlci5jYworLS0tIGNocm9taXVtLTExOC4wLjU5OTMuNTQv Y29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVlc3RfbWFuYWdlci5jYy5tZQky MDIzLTEwLTA2IDEzOjQ2OjU3LjI4NzA4OTA0MCArMDIwMAorKysrIGNocm9taXVtLTExOC4wLjU5 OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVlc3RfbWFuYWdlci5j YwkyMDIzLTEwLTA2IDEzOjQ3OjI1LjQ1MDYzMjE1NiArMDIwMAorQEAgLTYwNCw3ICs2MDQsNyBA QCB2b2lkIE9uVG9rZW5SZXF1ZXN0UGFyc2VkKAorICAgICBpZiAocmVzcG9uc2VfZXJyb3IpIHsK KyAgICAgICBpbnQgZXJyb3JfY29kZSA9IHJlc3BvbnNlX2Vycm9yLT5GaW5kSW50KGtFcnJvckNv ZGVLZXkpLnZhbHVlX29yKDApOworICAgICAgIEdVUkwgZXJyb3JfdXJsID0gRXh0cmFjdFVybCgq cmVzcG9uc2VfZXJyb3IsIGtFcnJvclVybEtleSk7CistICAgICAgdG9rZW5fcmVzdWx0LmVycm9y ID0gVG9rZW5FcnJvcihlcnJvcl9jb2RlLCBlcnJvcl91cmwpOworKyAgICAgIHRva2VuX3Jlc3Vs dC5lcnJvciA9IFRva2VuRXJyb3J7ZXJyb3JfY29kZSwgZXJyb3JfdXJsfTsKKyAgICAgfQorICAg fQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC1w eXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTExOC1weXRob24tMy4xMi1kZXByZWNhdGVkLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAuLjU4MzdhZTU4NDExN2QKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTE4LXB5dGhvbi0zLjEyLWRlcHJl Y2F0ZWQucGF0Y2gKQEAgLTAsMCArMSwxMzggQEAKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3 OTAuMTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkubWUgY2hyb21pdW0tMTE1LjAu NTc5MC4xMDIvYmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weQorLS0tIGNocm9taXVtLTEx NS4wLjU3OTAuMTAyL2Jhc2Uvd3JpdGVfYnVpbGRfZGF0ZV9oZWFkZXIucHkubWUJMjAyMy0wNy0y MiAxNDoyMzo0Mi42MjA2NzkzOTcgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9i YXNlL3dyaXRlX2J1aWxkX2RhdGVfaGVhZGVyLnB5CTIwMjMtMDctMjIgMTU6MjQ6NDYuODMzMzEw MzEwICswMjAwCitAQCAtMTcsNyArMTcsNyBAQCBkZWYgbWFpbigpOgorICAgYXJncyA9IGFyZ3Vt ZW50X3BhcnNlci5wYXJzZV9hcmdzKCkKKyAKKyAgIGRhdGVfdmFsID0gaW50KGFyZ3MudGltZXN0 YW1wKQorLSAgZGF0ZSA9IGRhdGV0aW1lLmRhdGV0aW1lLnV0Y2Zyb210aW1lc3RhbXAoZGF0ZV92 YWwpCisrICBkYXRlID0gIGRhdGV0aW1lLmRhdGV0aW1lLmZyb210aW1lc3RhbXAoZGF0ZV92YWws IGRhdGV0aW1lLnRpbWV6b25lLnV0YykKKyAgIG91dHB1dCA9ICgnLy8gR2VuZXJhdGVkIGJ5IC8v YmFzZS93cml0ZV9idWlsZF9kYXRlX2hlYWRlci5weVxuJworICAgICAgICAgICAgICcjaWZuZGVm IEJBU0VfR0VORVJBVEVEX0JVSUxEX0RBVEVfVElNRVNUQU1QIFxuJworICAgICAgICAgICAgIGYn I2RlZmluZSBCQVNFX0dFTkVSQVRFRF9CVUlMRF9EQVRFX1RJTUVTVEFNUCB7ZGF0ZV92YWx9Jwor ZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRmbGFnX2hl YWRlci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9idWlsZC93cml0ZV9idWlsZGZsYWdf aGVhZGVyLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvYnVpbGQvd3JpdGVfYnVpbGRm bGFnX2hlYWRlci5weS5tZQkyMDIzLTA3LTIyIDE0OjE2OjE0LjE5Njk3NTQ1MSArMDIwMAorKysr IGNocm9taXVtLTExNS4wLjU3OTAuMTAyL2J1aWxkL3dyaXRlX2J1aWxkZmxhZ19oZWFkZXIucHkJ MjAyMy0wNy0yMiAxNDoyMDoyNC45NzcyMzk5OTQgKzAyMDAKK0BAIC00NCw3ICs0NCw3IEBAIGRl ZiBHZXRPcHRpb25zKCk6CisgICBoZWFkZXJfZ3VhcmQgPSBjbWRsaW5lX29wdGlvbnMub3V0cHV0 LnVwcGVyKCkKKyAgIGlmIGhlYWRlcl9ndWFyZFswXS5pc2RpZ2l0KCk6CisgICAgIGhlYWRlcl9n dWFyZCA9ICdfJyArIGhlYWRlcl9ndWFyZAorLSAgaGVhZGVyX2d1YXJkID0gcmUuc3ViKCdbXlx3 XScsICdfJywgaGVhZGVyX2d1YXJkKQorKyAgaGVhZGVyX2d1YXJkID0gcmUuc3ViKHInW15cd10n LCAnXycsIGhlYWRlcl9ndWFyZCkKKyAgIGhlYWRlcl9ndWFyZCArPSAnXycKKyAKKyAgICMgVGhl IGFjdHVhbCBvdXRwdXQgZmlsZSBpcyBpbnNpZGUgdGhlIGdlbiBkaXIuCitkaWZmIC11cCBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi9jb21wb25lbnRzL3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5 X3Byb3RvX2dlbmVyYXRvci5weS5tZSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi9jb21wb25lbnRz L3Jlc291cmNlcy9wcm90b2J1ZnMvYmluYXJ5X3Byb3RvX2dlbmVyYXRvci5weQorLS0tIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL2NvbXBvbmVudHMvcmVzb3VyY2VzL3Byb3RvYnVmcy9iaW5hcnlf cHJvdG9fZ2VuZXJhdG9yLnB5Lm1lCTIwMjMtMDctMjIgMTQ6NDc6MzQuMjMwNzY0MjEwICswMjAw CisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvY29tcG9uZW50cy9yZXNvdXJjZXMvcHJvdG9i dWZzL2JpbmFyeV9wcm90b19nZW5lcmF0b3IucHkJMjAyMy0wNy0yMiAxNToxMTo1MC4zNjA5ODMz ODMgKzAyMDAKK0BAIC05LDcgKzksOCBAQAorICIiIgorIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg cHJpbnRfZnVuY3Rpb24KKyBpbXBvcnQgYWJjCistaW1wb3J0IGltcAorK2ltcG9ydCB0eXBlcwor K2ltcG9ydCBpbXBvcnRsaWIKKyBpbXBvcnQgb3B0cGFyc2UKKyBpbXBvcnQgb3MKKyBpbXBvcnQg cmUKK0BAIC00MCw2ICs0MSwxMiBAQCBjbGFzcyBHb29nbGVQcm90b2J1Zk1vZHVsZUltcG9ydGVy OgorICAgICAgICAgcmV0dXJuIGZpbGVwYXRoCisgICAgIHJldHVybiBOb25lCisgCisrICBkZWYg bG9hZF9zb3VyY2UobmFtZTogc3RyLCBwYXRoOiBzdHIpIC0+IHR5cGVzLk1vZHVsZVR5cGU6Cisr ICAgIHNwZWMgPSBpbXBvcnRsaWIudXRpbC5zcGVjX2Zyb21fZmlsZV9sb2NhdGlvbihuYW1lLCBw YXRoKQorKyAgICBtb2R1bGUgPSBpbXBvcnRsaWIudXRpbC5tb2R1bGVfZnJvbV9zcGVjKHNwZWMp CisrICAgIHNwZWMubG9hZGVyLmV4ZWNfbW9kdWxlKG1vZHVsZSkKKysgICAgcmV0dXJuIG1vZHVs ZQorKworICAgZGVmIF9tb2R1bGVfZXhpc3RzKHNlbGYsIGZ1bGxuYW1lKToKKyAgICAgcmV0dXJu IHNlbGYuX2Z1bGxuYW1lX3RvX2ZpbGVwYXRoKGZ1bGxuYW1lKSBpcyBub3QgTm9uZQorIAorQEAg LTY4LDcgKzc1LDcgQEAgY2xhc3MgR29vZ2xlUHJvdG9idWZNb2R1bGVJbXBvcnRlcjoKKyAgICAg ICByYWlzZSBJbXBvcnRFcnJvcihmdWxsbmFtZSkKKyAKKyAgICAgZmlsZXBhdGggPSBzZWxmLl9m dWxsbmFtZV90b19maWxlcGF0aChmdWxsbmFtZSkKKy0gICAgcmV0dXJuIGltcC5sb2FkX3NvdXJj ZShmdWxsbmFtZSwgZmlsZXBhdGgpCisrICAgIHJldHVybiBsb2FkX3NvdXJjZShmdWxsbmFtZSwg ZmlsZXBhdGgpCisgCisgY2xhc3MgQmluYXJ5UHJvdG9HZW5lcmF0b3I6CisgCitkaWZmIC11cCBj aHJvbWl1bS0xMTUuMC41NzkwLjEwMi9tb2pvL3B1YmxpYy90b29scy9iaW5kaW5ncy9jb25jYXRl bmF0ZV9hbmRfcmVwbGFjZV9jbG9zdXJlX2V4cG9ydHMucHkubWUgY2hyb21pdW0tMTE1LjAuNTc5 MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3JlcGxhY2Vf Y2xvc3VyZV9leHBvcnRzLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvbW9qby9wdWJs aWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5kX3JlcGxhY2VfY2xvc3VyZV9leHBvcnRz LnB5Lm1lCTIwMjMtMDctMjIgMTU6MTc6MTkuMTE0MjU4ODAxICswMjAwCisrKysgY2hyb21pdW0t MTE1LjAuNTc5MC4xMDIvbW9qby9wdWJsaWMvdG9vbHMvYmluZGluZ3MvY29uY2F0ZW5hdGVfYW5k X3JlcGxhY2VfY2xvc3VyZV9leHBvcnRzLnB5CTIwMjMtMDctMjIgMTU6MTc6NDMuMzY4MjAwNDkx ICswMjAwCitAQCAtMzIsNyArMzIsNyBAQCBkZWYgRmlsdGVyTGluZShmaWxlbmFtZSwgbGluZSwg b3V0cHV0KToKKyAgICAgcmV0dXJuCisgCisgICBpZiBsaW5lLnN0YXJ0c3dpdGgoImdvb2cucHJv dmlkZSIpOgorLSAgICBtYXRjaCA9IHJlLm1hdGNoKCJnb29nLnByb3ZpZGVcKCcoW14nXSspJ1wp OyIsIGxpbmUpCisrICAgIG1hdGNoID0gcmUubWF0Y2gociJnb29nLnByb3ZpZGVcKCcoW14nXSsp J1wpOyIsIGxpbmUpCisgICAgIGlmIG5vdCBtYXRjaDoKKyAgICAgICBwcmludCgiSW52YWxpZCBn b29nLnByb3ZpZGUgbGluZSBpbiAlczpcbiVzIiAlIChmaWxlbmFtZSwgbGluZSkpCisgICAgICAg c3lzLmV4aXQoMSkKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5 L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlv bl9jb250cm9sbGVyLnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Nh dGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2h0bWxfZ2VuZXJhdGlvbl9j b250cm9sbGVyLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0 YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvaHRtbF9nZW5lcmF0aW9uX2Nv bnRyb2xsZXIucHkubWUJMjAyMy0wNy0yMiAxNToxMjo0MS44NTA4OTUxNzkgKzAyMDAKKysrKyBj aHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVs Y2FuaXplL3B5X3Z1bGNhbml6ZS9odG1sX2dlbmVyYXRpb25fY29udHJvbGxlci5weQkyMDIzLTA3 LTIyIDE1OjEyOjU1Ljg0NDg3MTIwNyArMDIwMAorQEAgLTE4LDcgKzE4LDcgQEAgY2xhc3MgSFRN TEdlbmVyYXRpb25Db250cm9sbGVyKG9iamVjdCk6CisgCisgICBkZWYgR2V0SFRNTEZvcklubGlu ZVN0eWxlc2hlZXQoc2VsZiwgY29udGVudHMpOgorICAgICBpZiBzZWxmLmN1cnJlbnRfbW9kdWxl IGlzIE5vbmU6CistICAgICAgaWYgcmUuc2VhcmNoKCd1cmxcKC4rXCknLCBjb250ZW50cyk6Cisr ICAgICAgaWYgcmUuc2VhcmNoKHIndXJsXCguK1wpJywgY29udGVudHMpOgorICAgICAgICAgcmFp c2UgRXhjZXB0aW9uKAorICAgICAgICAgICAgICdEZWZhdWx0IEhUTUxHZW5lcmF0aW9uQ29udHJv bGxlciBjYW5ub3QgaGFuZGxlIGlubGluZSBzdHlsZSB1cmxzJykKKyAgICAgICByZXR1cm4gY29u dGVudHMKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFw dWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5Lm1lIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5p emUvcHlfdnVsY2FuaXplL2pzX3V0aWxzLnB5CistLS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIv dGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvanNf dXRpbHMucHkubWUJMjAyMy0wNy0yMiAxNToxNDowNi45MjM3MTc5MTAgKzAyMDAKKysrKyBjaHJv bWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2Fu aXplL3B5X3Z1bGNhbml6ZS9qc191dGlscy5weQkyMDIzLTA3LTIyIDE1OjE4OjAzLjcwNDE1MDYx NCArMDIwMAorQEAgLTQsNCArNCw0IEBACisgCisgCisgZGVmIEVzY2FwZUpTSWZOZWVkZWQoanMp OgorLSAgcmV0dXJuIGpzLnJlcGxhY2UoJzwvc2NyaXB0PicsICc8XC9zY3JpcHQ+JykKKysgIHJl dHVybiBqcy5yZXBsYWNlKHInPC9zY3JpcHQ+Jywgcic8XC9zY3JpcHQ+JykKK2RpZmYgLXVwIGNo cm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxj YW5pemUvcHlfdnVsY2FuaXplL3BhcnNlX2h0bWxfZGVwcy5weS5tZSBjaHJvbWl1bS0xMTUuMC41 NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNh bml6ZS9wYXJzZV9odG1sX2RlcHMucHkKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGly ZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9o dG1sX2RlcHMucHkubWUJMjAyMy0wNy0yMiAxNToxNDozMC4xMDU2NjI1MzIgKzAyMDAKKysrKyBj aHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9wYXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVs Y2FuaXplL3B5X3Z1bGNhbml6ZS9wYXJzZV9odG1sX2RlcHMucHkJMjAyMy0wNy0yMiAxNToxNDo1 Ny45Nzc1OTU5NTAgKzAyMDAKK0BAIC0yOTMsNiArMjkzLDYgQEAgY2xhc3MgSFRNTE1vZHVsZVBh cnNlcigpOgorICAgICAgIGh0bWwgPSAnJworICAgICBlbHNlOgorICAgICAgIGlmIGh0bWwuZmlu ZCgnPCAvc2NyaXB0PicpICE9IC0xOgorLSAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCdFc2NhcGUg c2NyaXB0IHRhZ3Mgd2l0aCA8XC9zY3JpcHQ+JykKKysgICAgICAgIHJhaXNlIEV4Y2VwdGlvbihy J0VzY2FwZSBzY3JpcHQgdGFncyB3aXRoIDxcL3NjcmlwdD4nKQorIAorICAgICByZXR1cm4gSFRN TE1vZHVsZVBhcnNlclJlc3VsdHMoaHRtbCkKK2RpZmYgLXVwIGNocm9taXVtLTExNS4wLjU3OTAu MTAyL3RoaXJkX3BhcnR5L2NhdGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXpl L3N0eWxlX3NoZWV0LnB5Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Nh dGFwdWx0L2NvbW1vbi9weV92dWxjYW5pemUvcHlfdnVsY2FuaXplL3N0eWxlX3NoZWV0LnB5Cist LS0gY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvY2F0YXB1bHQvY29tbW9uL3B5 X3Z1bGNhbml6ZS9weV92dWxjYW5pemUvc3R5bGVfc2hlZXQucHkubWUJMjAyMy0wNy0yMiAxNTox MzoxMi4zMTY4NDI5OTAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTUuMC41NzkwLjEwMi90aGlyZF9w YXJ0eS9jYXRhcHVsdC9jb21tb24vcHlfdnVsY2FuaXplL3B5X3Z1bGNhbml6ZS9zdHlsZV9zaGVl dC5weQkyMDIzLTA3LTIyIDE1OjEzOjQ5LjY4NDc1OTA5MSArMDIwMAorQEAgLTYwLDcgKzYwLDcg QEAgY2xhc3MgUGFyc2VkU3R5bGVTaGVldChvYmplY3QpOgorICAgICAgIHJldHVybiAndXJsKGRh dGE6aW1hZ2UvJXM7YmFzZTY0LCVzKScgJSAoZXh0WzE6XSwgZGF0YS5kZWNvZGUoJ3V0Zi04Jykp CisgCisgICAgICMgSSdtIGFzc3VtaW5nIHdlIG9ubHkgaGF2ZSB1cmwoKSdzIGFzc29jaWF0ZWQg d2l0aCBpbWFnZXMKKy0gICAgcmV0dXJuIHJlLnN1YigndXJsXCgoP1A8cXVvdGU+InxcJ3wpKD9Q PHVybD5bXiJcJygpXSopKD9QPXF1b3RlKVwpJywKKysgICAgcmV0dXJuIHJlLnN1YihyJ3VybFwo KD9QPHF1b3RlPiJ8XCd8KSg/UDx1cmw+W14iXCcoKV0qKSg/UD1xdW90ZSlcKScsCisgICAgICAg ICAgICAgICAgICAgSW5saW5lVXJsLCBzZWxmLmNvbnRlbnRzKQorIAorICAgZGVmIEFwcGVuZERp cmVjdGx5RGVwZW5kZW50RmlsZW5hbWVzVG8oc2VsZiwgZGVwZW5kZW50X2ZpbGVuYW1lcyk6CitA QCAtNzIsNyArNzIsNyBAQCBjbGFzcyBQYXJzZWRTdHlsZVNoZWV0KG9iamVjdCk6CisgICAgICAg cmFpc2UgRXhjZXB0aW9uKCdAaW1wb3J0cyBhcmUgbm90IHN1cHBvcnRlZCcpCisgCisgICAgIG1h dGNoZXMgPSByZS5maW5kYWxsKAorLSAgICAgICAgJ3VybFwoKD86WyJ8XCddPykoW14iXCcoKV0q KSg/OlsifFwnXT8pXCknLAorKyAgICAgICAgcid1cmxcKCg/OlsifFwnXT8pKFteIlwnKCldKiko PzpbInxcJ10/KVwpJywKKyAgICAgICAgIHNlbGYuY29udGVudHMpCisgCisgICAgIGRlZiByZXNv bHZlX3VybCh1cmwpOgorZGlmZiAtdXAgY2hyb21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFy dHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9yX2xpYi5weS5tZSBjaHJvbWl1bS0xMTUuMC41Nzkw LjEwMi90aGlyZF9wYXJ0eS9kYXduL2dlbmVyYXRvci9nZW5lcmF0b3JfbGliLnB5CistLS0gY2hy b21pdW0tMTE1LjAuNTc5MC4xMDIvdGhpcmRfcGFydHkvZGF3bi9nZW5lcmF0b3IvZ2VuZXJhdG9y X2xpYi5weS5tZQkyMDIzLTA3LTIyIDE1OjExOjU2LjgyNjk3MjMwNiArMDIwMAorKysrIGNocm9t aXVtLTExNS4wLjU3OTAuMTAyL3RoaXJkX3BhcnR5L2Rhd24vZ2VuZXJhdG9yL2dlbmVyYXRvcl9s aWIucHkJMjAyMy0wNy0yMiAxNToxMjozNy41NTA5MDI1NDUgKzAyMDAKK0BAIC0xMTksOCArMTE5 LDggQEAgY2xhc3MgX1ByZXByb2Nlc3NpbmdMb2FkZXIoamluamEyLkJhc2VMbworICAgICAgICAg ICAgIHNvdXJjZSA9IHNlbGYucHJlcHJvY2VzcyhmLnJlYWQoKSkKKyAgICAgICAgIHJldHVybiBz b3VyY2UsIHBhdGgsIGxhbWJkYTogbXRpbWUgPT0gb3MucGF0aC5nZXRtdGltZShwYXRoKQorIAor LSAgICBibG9ja3N0YXJ0ID0gcmUuY29tcGlsZSgneyUtP1xzKihpZnxlbGlmfGVsc2V8Zm9yfGJs b2NrfG1hY3JvKVtefV0qJX0nKQorLSAgICBibG9ja2VuZCA9IHJlLmNvbXBpbGUoJ3slLT9ccyoo ZW5kKGlmfGZvcnxibG9ja3xtYWNybyl8ZWxpZnxlbHNlKVtefV0qJX0nKQorKyAgICBibG9ja3N0 YXJ0ID0gcmUuY29tcGlsZShyJ3slLT9ccyooaWZ8ZWxpZnxlbHNlfGZvcnxibG9ja3xtYWNybylb Xn1dKiV9JykKKysgICAgYmxvY2tlbmQgPSByZS5jb21waWxlKHIneyUtP1xzKihlbmQoaWZ8Zm9y fGJsb2NrfG1hY3JvKXxlbGlmfGVsc2UpW159XSolfScpCisgCisgICAgIGRlZiBwcmVwcm9jZXNz KHNlbGYsIHNvdXJjZSk6CisgICAgICAgICBsaW5lcyA9IHNvdXJjZS5zcGxpdCgnXG4nKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC11c2Vfc3lzdGVt X2ZyZWV0eXBlLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC11 c2Vfc3lzdGVtX2ZyZWV0eXBlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwMDAuLmNlOWZiZGViZTJmYjcKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2Nocm9t aXVtL3BhdGNoZXMvY2hyb21pdW0tMTE4LXVzZV9zeXN0ZW1fZnJlZXR5cGUucGF0Y2gKQEAgLTAs MCArMSw5MSBAQAorY29tbWl0IGVkMzU0ZDAwYWVkYTg0NjkzNjExYjE0YmFhNTZhMjg3NTU3YTI2 YjUKK0F1dGhvcjogTXVuaXJhIFR1cnN1bm92YSA8bW9vbmlyYUBnb29nbGUuY29tPgorRGF0ZTog ICBUdWUgU2VwIDEyIDExOjU0OjQ4IDIwMjMgKzAwMDAKKworICAgIEFkZCBjaGVjayBmb3IgdXNl X3N5c3RlbV9mcmVldHlwZSB3aGVuIGltcG9ydGluZyBwcml2YXRlIGZyZWV0eXBlIGhlYWRlcgor ICAgIAorICAgIEluIFswXSB0aGUgaW5jbHVkZSBvZiBwcml2YXRlIGZyZWV0eXBlIGhlYWRlciB3 YXMgYWRkZWQsIHdoaWNoIGNhdXNlZAorICAgIGJ1aWxkIGJyZWFrYWdlIHdoZW4gdXNlX3N5c3Rl bV9mcmVldHlwZT10cnVlLCBzZWUgWzFdLgorICAgIAorICAgIFRoaXMgQ0wgZml4ZXMgdGhlIGJy ZWFrYWdlIGJ5IGludHJvZHVjaW5nIFVTRV9TWVNURU1fRlJFRVRZUEUgYnVpbGQgZmxhZy4KKyAg ICAKKyAgICBbMF0gaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2No cm9taXVtL3NyYy8rLzQ3MTc0ODUKKyAgICBbMV0gaHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29v Z2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ3MTc0ODUvY29tbWVudHMvY2RmY2E3Yjlf OGU2MWIyZTAKKyAgICAKKyAgICBCdWc6IDE0Mjk1ODEKKyAgICBDaGFuZ2UtSWQ6IEk3ZjdkZTRj ZGIyZGM0NjA5MmE5MWE0N2Q3NjZiZWRiNThkZGNjYjdjCisgICAgUmV2aWV3ZWQtb246IGh0dHBz Oi8vY2hyb21pdW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80ODQz NDI4CisgICAgQ29tbWl0LVF1ZXVlOiBNdW5pcmEgVHVyc3Vub3ZhIDxtb29uaXJhQGdvb2dsZS5j b20+CisgICAgUmV2aWV3ZWQtYnk6IERvbWluaWsgUsO2dHRzY2hlcyA8ZHJvdHRAY2hyb21pdW0u b3JnPgorICAgIFJldmlld2VkLWJ5OiBSaWNrIEJ5ZXJzIDxyYnllcnNAY2hyb21pdW0ub3JnPgor ICAgIENyLUNvbW1pdC1Qb3NpdGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTE5NTMyM30KKworZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L0JVSUxELmduIGIvdGhpcmRfcGFydHkvQlVJTEQuZ24KK2lu ZGV4IDdiMDg2Zjk1NDEzZmYuLjRjZTc5N2ViYWQ3MjIgMTAwNjQ0CistLS0gYS90aGlyZF9wYXJ0 eS9CVUlMRC5nbgorKysrIGIvdGhpcmRfcGFydHkvQlVJTEQuZ24KK0BAIC0yLDYgKzIsNyBAQAor ICMgVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGlj ZW5zZSB0aGF0IGNhbiBiZQorICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKytpbXBv cnQoIi8vYnVpbGQvYnVpbGRmbGFnX2hlYWRlci5nbmkiKQorIGltcG9ydCgiLy9idWlsZC9jb25m aWcvZmVhdHVyZXMuZ25pIikKKyBpbXBvcnQoIi8vYnVpbGQvY29uZmlnL2ZyZWV0eXBlL2ZyZWV0 eXBlLmduaSIpCisgaW1wb3J0KCIvL3RoaXJkX3BhcnR5L2hhcmZidXp6LW5nL2hhcmZidXp6Lmdu aSIpCitAQCAtNjUsMyArNjYsOCBAQCBjb21wb25lbnQoImZyZWV0eXBlX2hhcmZidXp6Iikgewor ICAgICBwdWJsaWNfZGVwcyArPSBbICIvL3RoaXJkX3BhcnR5L2hhcmZidXp6LW5nOmhhcmZidXp6 X3NvdXJjZSIgXQorICAgfQorIH0KKysKKytidWlsZGZsYWdfaGVhZGVyKCJmcmVldHlwZV9idWls ZGZsYWdzIikgeworKyAgaGVhZGVyID0gImZyZWV0eXBlX2J1aWxkZmxhZ3MuaCIKKysgIGZsYWdz ID0gWyAiVVNFX1NZU1RFTV9GUkVFVFlQRT0kdXNlX3N5c3RlbV9mcmVldHlwZSIgXQorK30KK2Rp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9CVUlMRC5nbiBi L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL0JVSUxELmduCitpbmRleCA1OTFk MmY5Mzk2MDViLi5mNmEyY2QyMTY4ZDFlIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkvYmxpbmsv cmVuZGVyZXIvcGxhdGZvcm0vQlVJTEQuZ24KKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL0JVSUxELmduCitAQCAtMTcxNyw2ICsxNzE3LDcgQEAgY29tcG9uZW50KCJw bGF0Zm9ybSIpIHsKKyAgICAgIi8vc2VydmljZXMvdml6L3B1YmxpYy9jcHAvZ3B1IiwKKyAgICAg Ii8vc2tpYSIsCisgICAgICIvL3NraWE6c2tjbXMiLAorKyAgICAiLy90aGlyZF9wYXJ0eTpmcmVl dHlwZV9idWlsZGZsYWdzIiwKKyAgICAgIi8vdGhpcmRfcGFydHk6ZnJlZXR5cGVfaGFyZmJ1enoi LAorICAgICAiLy90aGlyZF9wYXJ0eS9hYnNlaWwtY3BwOmFic2wiLAorICAgICAiLy90aGlyZF9w YXJ0eS9ibGluay9wdWJsaWM6aW1hZ2VfcmVzb3VyY2VzIiwKK2RpZmYgLS1naXQgYS90aGlyZF9w YXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9zaW1wbGVfZm9udF9kYXRhLmNjIGIv dGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvc2ltcGxlX2ZvbnRfZGF0 YS5jYworaW5kZXggYWJlMDZmMzVjMTRhNS4uYjJiZmQ4OGYwZDg1ZCAxMDA2NDQKKy0tLSBhL3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3NpbXBsZV9mb250X2RhdGEu Y2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3NpbXBs ZV9mb250X2RhdGEuY2MKK0BAIC00OCw3ICs0OCw3IEBACisgI2luY2x1ZGUgInRoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9tYXRoX2V4dHJhcy5oIgorICNpbmNsdWRlICJ0 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdGV4dC9jaGFyYWN0ZXJfbmFt ZXMuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3Rm L3RleHQvdW5pY29kZS5oIgorLSNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9mcmVldHlwZS9zcmMvc3Jj L2F1dG9maXQvYWZ3cy1kZWNsLmgiCisrI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ZyZWV0eXBlX2J1 aWxkZmxhZ3MuaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tG b250TWV0cmljcy5oIgorICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9T a1BhdGguaCIKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvc2tpYS9pbmNsdWRlL2NvcmUvU2tUeXBl ZmFjZS5oIgorQEAgLTU3LDEyICs1NywyMiBAQAorICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkv c2tpYV9jb252ZXJzaW9ucy5oIgorICNpbmNsdWRlICJ2OC9pbmNsdWRlL3Y4LmgiCisgCisrI2lm ICFCVUlMREZMQUcoVVNFX1NZU1RFTV9GUkVFVFlQRSkKKysjaW5jbHVkZSAidGhpcmRfcGFydHkv ZnJlZXR5cGUvc3JjL3NyYy9hdXRvZml0L2Fmd3MtZGVjbC5oIgorKyNlbmRpZgorKworIG5hbWVz cGFjZSBibGluayB7CisgCisgY29uc3RleHByIGZsb2F0IGtTbWFsbENhcHNGb250U2l6ZU11bHRp cGxpZXIgPSAwLjdmOworIGNvbnN0ZXhwciBmbG9hdCBrRW1waGFzaXNNYXJrRm9udFNpemVNdWx0 aXBsaWVyID0gMC41ZjsKKysKKysjaWYgIUJVSUxERkxBRyhVU0VfU1lTVEVNX0ZSRUVUWVBFKQor IGNvbnN0ZXhwciBpbnQzMl90IGtGb250T2JqZWN0c01lbW9yeUNvbnN1bXB0aW9uID0KKyAgICAg c3RkOjptYXgoc2l6ZW9mKEFGX0xhdGluTWV0cmljc1JlYyksIHNpemVvZihBRl9DSktNZXRyaWNz UmVjKSk7CisrI2Vsc2UKKysvLyBzaXplb2YoQUZfTGF0aW5NZXRyaWNzUmVjKSA9IDIxMjgKKytj b25zdGV4cHIgaW50MzJfdCBrRm9udE9iamVjdHNNZW1vcnlDb25zdW1wdGlvbiA9IDIxMjg7Cisr I2VuZGlmCisgCisgU2ltcGxlRm9udERhdGE6OlNpbXBsZUZvbnREYXRhKGNvbnN0IEZvbnRQbGF0 Zm9ybURhdGEmIHBsYXRmb3JtX2RhdGEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNjb3BlZF9yZWZwdHI8Q3VzdG9tRm9udERhdGE+IGN1c3RvbV9kYXRhLApkaWZmIC0tZ2l0IGEv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExNy13b3JrYXJvdW5kX2NsYW5nX2J1 Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hy b21pdW0tMTE4LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRjaApz aW1pbGFyaXR5IGluZGV4IDg2JQpyZW5hbWUgZnJvbSBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv Y2hyb21pdW0tMTE3LXdvcmthcm91bmRfY2xhbmdfYnVnLXN0cnVjdHVyZWRfYmluZGluZy5wYXRj aApyZW5hbWUgdG8gc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC13b3JrYXJv dW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKaW5kZXggYzY2Y2I5MTUzOWFj NC4uM2I3OWY1MTI0ODdhZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTExNy13b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gK KysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTExOC13b3JrYXJvdW5kX2Ns YW5nX2J1Zy1zdHJ1Y3R1cmVkX2JpbmRpbmcucGF0Y2gKQEAgLTk0LDE2ICs5NCwzIEBAIGRpZmYg LXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29y ZS9sYXlvdXQvbmcvZ3JpZC9uCiAgCiAgICBjb25zdCBhdXRvKiBjYWNoZWRfbGF5b3V0X3N1YnRy ZWUgPSBjb25zdHJhaW50X3NwYWNlLkdyaWRMYXlvdXRTdWJ0cmVlKCk7CiAgICBjb25zdCBhdXRv IGNvbnRhaW5lcl93cml0aW5nX2RpcmVjdGlvbiA9Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41 OTM4LjYyL2Nocm9tZS9icm93c2VyL3VpL2F1dG9maWxsL2Nocm9tZV9hdXRvZmlsbF9jbGllbnQu Y2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUvYnJvd3Nlci91aS9hdXRvZmlsbC9j aHJvbWVfYXV0b2ZpbGxfY2xpZW50LmNjCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJv bWUvYnJvd3Nlci91aS9hdXRvZmlsbC9jaHJvbWVfYXV0b2ZpbGxfY2xpZW50LmNjLm1lCTIwMjMt MDktMTUgMTg6MjQ6MTguOTg0MTMzNzgzICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC42 Mi9jaHJvbWUvYnJvd3Nlci91aS9hdXRvZmlsbC9jaHJvbWVfYXV0b2ZpbGxfY2xpZW50LmNjCTIw MjMtMDktMTUgMTg6Mjg6NTAuNDIwODMzNTk1ICswMjAwCi1AQCAtMTEwMCw3ICsxMTAwLDggQEAg dm9pZCBDaHJvbWVBdXRvZmlsbENsaWVudDo6UHJvcGFnYXRlQXV0bwotICAgICAgICAgICAmcmVu ZGVyZXJfZm9ybSk7Ci0gICAgIH0KLSAKLS0gICAgZm9yIChjb25zdCBhdXRvJiBbZnJhbWVfdG9r ZW4sIGZyYW1lX2Zvcm1zXSA6IHJlbmRlcmVyX2Zvcm1zX2J5X2ZyYW1lKSB7Ci0rICAgIGZvciAo Y29uc3QgYXV0byYgW2ZfdCwgZnJhbWVfZm9ybXNdIDogcmVuZGVyZXJfZm9ybXNfYnlfZnJhbWUp IHsKLSsgICAgICBhdXRvJiBmcmFtZV90b2tlbiA9IGZfdDsKLSAgICAgICAvLyBBdHRlbXB0IHRv IGZpbmQgdGhlIFJGSCB3aXRoIHRoaXMgYGZyYW1lX3Rva2VuYC4KLSAgICAgICBjb250ZW50OjpS ZW5kZXJGcmFtZUhvc3QqIHJmaCA9IG51bGxwdHI7Ci0gICAgICAgR2V0V2ViQ29udGVudHMoKS5G b3JFYWNoUmVuZGVyRnJhbWVIb3N0KApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRj aGVzL25vLW10ZS5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9uby1tdGUucGF0Y2gK aW5kZXggOTczZjRhYzVkN2ViOC4uNTYxNjdlMWU1YzU3NiAxMDA2NDQKLS0tIGEvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL25vLW10ZS5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvbm8tbXRlLnBhdGNoCkBAIC0xLDE0ICsxLDExIEBACi1QYXRjaC1Tb3VyY2U6IGh0dHBzOi8v Z2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29tbWl0L2NvbW11bml0eS9jaHJvbWl1bS9uby1t dGUucGF0Y2g/aWQ9ZWQyNWRjMDE2NGZkNDEwYWIxODY2YjY5Yzk0OWNiNDc0N2U2OTQzNAotTTEx NSBuZWVkcyBpZnVuY3MgZm9yIHRoaXMKLS0tCiAtLS0gYS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRp b25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19jb25maWcuaAogKysrIGIvYmFzZS9hbGxvY2F0 b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfY29uZmlnLmgKLUBAIC0xNTEs NyArMTUxLDcgQEAKK0BAIC0xNTMsNyArMTUzLDcgQEAKICAgICBkZWZpbmVkKEFSQ0hfQ1BVX0xJ VFRMRV9FTkRJQU4pKQogIAogICNkZWZpbmUgUEFfQ09ORklHX0hBU19NRU1PUllfVEFHR0lORygp ICAgICAgICAgICAgICBcCiAtICAoZGVmaW5lZChBUkNIX0NQVV9BUk02NCkgJiYgZGVmaW5lZChf X2NsYW5nX18pICYmIFwKICsgICgwICYmIGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpICYmIGRlZmlu ZWQoX19jbGFuZ19fKSAmJiBcCisgICAgIWRlZmluZWQoQUREUkVTU19TQU5JVElaRVIpICYmICAg ICAgICAgICAgICAgICAgIFwKICAgICAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBCVUlMREZMQUco SVNfQU5EUk9JRCkpKQogIAotICNpZiBQQV9DT05GSUcoSEFTX01FTU9SWV9UQUdHSU5HKQpkaWZm IC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdGVt cGxhdGUKaW5kZXggNGQzYmJlMjFlODZmMC4uY2MzNjkxMWNkMzM4ZCAxMDA2NDQKLS0tIGEvc3Jj cGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCkBA IC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAnY2hyb21pdW0nCiBwa2duYW1lPWNo cm9taXVtCiAjIFNlZSBodHRwczovL2Nocm9taXVtZGFzaC5hcHBzcG90LmNvbS9yZWxlYXNlcz9w bGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2ZXJzaW9uCi12ZXJzaW9uPTExNy4wLjU5Mzgu MTMyCit2ZXJzaW9uPTExOC4wLjU5OTMuNzAKIHJldmlzaW9uPTEKIGFyY2hzPSJpNjg2KiB4ODZf NjQqIGFhcmNoNjQqIGFybXY3bCoiCiBob3N0bWFrZWRlcGVuZHM9IgpAQCAtMjcsNyArMjcsNyBA QCBtYWludGFpbmVyPSJEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0i QlNELTMtQ2xhdXNlIgogaG9tZXBhZ2U9Imh0dHBzOi8vd3d3LmNocm9taXVtLm9yZy8iCiBkaXN0 ZmlsZXM9Imh0dHBzOi8vY29tbW9uZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0t YnJvd3Nlci1vZmZpY2lhbC8ke3BrZ25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 MjhmMDc3MTIzYTUxOTQyODM5YTllYzUxOGE2NDkzMGNiYzE5MjE4NmU3OTllZjhjY2RlZjE5Yzkz ZGRiYWVhZAorY2hlY2tzdW09NDllZTAwYTczNGRlM2RhZTdjNDIxZWIzYzk3NGU4ZDQ1MWI0ZGU2 ZjViNGUzNGI2MDNmZDY0MzVlYWI2OTkzZAogCiBsaWIzMmRpc2FibGVkPXllcwogCg== --===============8093880835277481016==--