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.7 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE,URIBL_BLACK autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 31448 invoked from network); 3 Sep 2022 20:28:15 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 3 Sep 2022 20:28:15 -0000 Content-Type: multipart/mixed; boundary="===============2966988072355187493==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_chromium=3A_update_to_105=2E0=2E5195=2E102=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sat, 03 Sep 2022 22:28:14 +0200 List-Id: Message-ID: <20220903202814.HZvjUPZBrvqPOfPr8mAy7HfRDB1WS26NflF0dfSE9nM@z> GitHub notification mails are now in MIME to allow UTF8. --===============2966988072355187493== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgRHVuY2FlbiBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vRHVu Y2Flbi92b2lkLXBhY2thZ2VzIGNocm9taXVtLTEwNQpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzg5OTcKCmNocm9taXVtOiB1cGRhdGUgdG8gMTA1LjAu NTE5NS4xMDIuCltjaSBza2lwXQ0KDQoqIFt4XSB4ODZfNjQtZ2xpYmMNCiogW3hdIHg4Nl82NC1t dXNsDQoqIFt4XSBhYXJjaDY0LW11c2wNCiogW3hdIGk2ODYKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0 dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8zODk5Ny5wYXRj aCBpcyBhdHRhY2hlZA== --===============2966988072355187493== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-105-38997.patch" RnJvbSA4MjgxYWFjYjQ5MmYyY2EwODk0MDcyMTkwNzBkMTc4NTFiN2FkY2M3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFdlZCwgMzEgQXVnIDIwMjIgMTQ6NTA6MjEgKzAyMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDEwNS4wLjUxOTUuMTAyLgoKLS0tCiAuLi4vZmlsZXMvbXVzbC1wYXRjaGVz L211c2wtc2FuZGJveC5wYXRjaCAgICAgfCAgMTMgLQogLi4uL2ZpbGVzL211c2wtcGF0Y2hlcy9u by1tYWxsaW5mby5wYXRjaCAgICAgIHwgICA2ICstCiAuLi4vcGF0Y2hlcy9hbmdsZS13YXlsYW5k LWluY2x1ZGUucGF0Y2ggICAgICAgfCAgMzkgKysKIC4uLi9wYXRjaGVzL2Nocm9taXVtLTEwNS1i aXRtYXAtaW5jbHVkZS5wYXRjaCB8ICAyNyArCiAuLi4vY2hyb21pdW0tMTA1LWJyb3dzZXItaW5j bHVkZS5wYXRjaCAgICAgICAgfCAgMjUgKwogLi4uL3BhdGNoZXMvY2hyb21pdW0tMTA1LW1hdGgt Y2VpbGYucGF0Y2ggICAgIHwgIDQyICsrCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Jvc3Mt YnVpbGQucGF0Y2ggICAgfCAgMTIgKy0KIC4uLi9wYXRjaGVzL3JlZW5hYmxlLWxpbnV4LWk2ODYt YnVpbGRzLnBhdGNoICB8ICAgOCArLQogLi4uL3JlbW92ZS1uby1vcGFxdWUtcG9pbnRlcnMtZmxh Zy5wYXRjaCAgICAgIHwgIDE4IC0KIC4uLi9wYXRjaGVzL3NhbmRib3gtc2NoZWRfZ2V0cGFyYW0u cGF0Y2ggICAgICB8ICAxNyArLQogc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NuZGlvLnBhdGNo ICAgICAgICAgIHwgIDE0ICstCiAuLi5vem9uZS1maXgtWDExLXNjcmVlbnNhdmVyLXN1c3BlbnNp b24ucGF0Y2ggfCA0OTAgLS0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRs ZS00ay1wYWdlcy5wYXRjaCAgICAgICAgfCAgMjQgKy0KIC4uLi9wYXRjaGVzL3h4eC1wcGM2NGxl LXN1cHBvcnQucGF0Y2ggICAgICAgICB8ICAgOCArLQogc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0 ZSAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCiAxNSBmaWxlcyBjaGFuZ2VkLCAxODMgaW5z ZXJ0aW9ucygrKSwgNTY0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9hbmdsZS13YXlsYW5kLWluY2x1ZGUucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTA1LWJpdG1hcC1pbmNs dWRlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2No cm9taXVtLTEwNS1icm93c2VyLWluY2x1ZGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTA1LW1hdGgtY2VpbGYucGF0Y2gKIGRlbGV0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLW5vLW9wYXF1ZS1w b2ludGVycy1mbGFnLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3gxMS1vem9uZS1maXgtWDExLXNjcmVlbnNhdmVyLXN1c3BlbnNpb24ucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLXNhbmRi b3gucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLXNhbmRi b3gucGF0Y2gKaW5kZXggMjMwYmI3YmJkMjk3Li5jNzcwZTc2ZDg2ODggMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL211c2wtc2FuZGJveC5wYXRjaAorKysg Yi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy9tdXNsLXNhbmRib3gucGF0Y2gK QEAgLTc3LDE2ICs3NywzIEBAIGluZGV4IDgwZjAyYzAuLjIxZmJlMjEgMTAwNjQ0CiAgICAgIGNh c2UgX19OUl91bnNoYXJlOgogICNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19h YXJjaDY0X18pCiAgICAgIGNhc2UgX19OUl92Zm9yazoKLS0tLSBzYW5kYm94L3BvbGljeS9saW51 eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCi0rKysgc2FuZGJveC9wb2xpY3kvbGludXgv YnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotQEAgLTEwMCw5ICsxMDAsOSBAQAotICAgICBj YXNlIF9fTlJfdW5hbWU6Ci0gICAgIGNhc2UgX19OUl9zY2hlZF9nZXRwYXJhbToKLSAgICAgY2Fz ZSBfX05SX3NjaGVkX2dldHNjaGVkdWxlcjoKLSsgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVk dWxlcjoKLSAgICAgICByZXR1cm4gQWxsb3coKTsKLSAgICAgY2FzZSBfX05SX3NjaGVkX2dldGFm ZmluaXR5OgotLSAgICBjYXNlIF9fTlJfc2NoZWRfc2V0c2NoZWR1bGVyOgotICAgICAgIHJldHVy biBSZXN0cmljdFNjaGVkVGFyZ2V0KEdldFBvbGljeVBpZCgpLCBzeXNubyk7Ci0gICAgIGNhc2Ug X19OUl9wcmxpbWl0NjQ6Ci0gICAgICAgLy8gU2VlIGNyYnVnLmNvbS82NjI0NTAgYW5kIHNldHJs aW1pdCBjb21tZW50IGFib3ZlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9t dXNsLXBhdGNoZXMvbm8tbWFsbGluZm8ucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211 c2wtcGF0Y2hlcy9uby1tYWxsaW5mby5wYXRjaAppbmRleCBhYWE0Y2ViZjg0ZTkuLjZjMDIxZDc0 YjI3ZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMvbm8t bWFsbGluZm8ucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMv bm8tbWFsbGluZm8ucGF0Y2gKQEAgLTEsMTEgKzEsMTEgQEAKIC0tLSBiYXNlL3RyYWNlX2V2ZW50 L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjLm9yaWcKICsrKyBiYXNlL3RyYWNlX2V2ZW50L21hbGxv Y19kdW1wX3Byb3ZpZGVyLmNjCi1AQCAtMTc0LDcgKzE3NCw4IEBACitAQCAtMTg5LDcgKzE4OSw4 IEBACiAgCiAgI2lmIChCVUlMREZMQUcoVVNFX1BBUlRJVElPTl9BTExPQ19BU19NQUxMT0MpICYm IEJVSUxERkxBRyhJU19BTkRST0lEKSkgfHwgXAogICAgICAoIUJVSUxERkxBRyhVU0VfUEFSVElU SU9OX0FMTE9DX0FTX01BTExPQykgJiYgIUJVSUxERkxBRyhJU19XSU4pICYmICAgIFwKLS0gICAg ICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZMQUcoSVNfV0lOKSAmJiAhQlVJTERGTEFH KElTX0ZVQ0hTSUEpKQotKyAgICAgIUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJ U19XSU4pICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkgJiYgXAorLSAgICAgIUJVSUxERkxBRyhJ U19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19GVUNIU0lBKSkKKysgICAgICFCVUlMREZMQUcoSVNf QVBQTEUpICYmICFCVUlMREZMQUcoSVNfRlVDSFNJQSkgJiYgXAogKyAgICAgIShCVUlMREZMQUco SVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpKQogIHZvaWQgUmVwb3J0TWFsbGluZm9T dGF0cyhQcm9jZXNzTWVtb3J5RHVtcCogcG1kLAogICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplX3QqIHRvdGFsX3ZpcnR1YWxfc2l6ZSwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9hbmdsZS13YXlsYW5kLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvYW5nbGUtd2F5bGFuZC1pbmNsdWRlLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwMC4uNjU3NzBiOTQzOWM1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2FuZ2xlLXdheWxhbmQtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsx LDM5IEBACitQYXRjaC1Tb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hcmNobGludXgvc3ZudG9n aXQtcGFja2FnZXMvYmxvYi9hMzUzODMzYTVhNzMxYWJmYWE0NjViNjU4ZjYxODk0YTUxNmFhNDli L3RydW5rL2FuZ2xlLXdheWxhbmQtaW5jbHVkZS1wcm90b2NvbC5wYXRjaAorZGlmZiAtdXByIHRo aXJkX3BhcnR5L2FuZ2xlLm9yaWcvQlVJTEQuZ24gdGhpcmRfcGFydHkvYW5nbGUvQlVJTEQuZ24K Ky0tLSBhL3RoaXJkX3BhcnR5L2FuZ2xlLm9yaWcvQlVJTEQuZ24JMjAyMi0wOC0xNyAxOTozODox MS4wMDAwMDAwMDAgKzAwMDAKKysrKyBiL3RoaXJkX3BhcnR5L2FuZ2xlL0JVSUxELmduCTIwMjIt MDgtMTggMTE6MDQ6MDkuMDYxNzUxMTExICswMDAwCitAQCAtNDg5LDYgKzQ4OSwxMiBAQCBjb25m aWcoImFuZ2xlX3Z1bGthbl93YXlsYW5kX2NvbmZpZyIpIHsKKyAgIGlmIChhbmdsZV9lbmFibGVf dnVsa2FuICYmIGFuZ2xlX3VzZV93YXlsYW5kICYmCisgICAgICAgZGVmaW5lZCh2dWxrYW5fd2F5 bGFuZF9pbmNsdWRlX2RpcnMpKSB7CisgICAgIGluY2x1ZGVfZGlycyA9IHZ1bGthbl93YXlsYW5k X2luY2x1ZGVfZGlycworKyAgfSBlbHNlIGlmIChhbmdsZV9lbmFibGVfdnVsa2FuICYmIGFuZ2xl X3VzZV93YXlsYW5kKSB7CisrICAgIGluY2x1ZGVfZGlycyA9IFsKKysgICAgICAiJHdheWxhbmRf Z25fZGlyL3NyYy9zcmMiLAorKyAgICAgICIkd2F5bGFuZF9nbl9kaXIvaW5jbHVkZS9zcmMiLAor KyAgICAgICIkd2F5bGFuZF9nbl9kaXIvaW5jbHVkZS9wcm90b2NvbCIsCisrICAgIF0KKyAgIH0K KyB9CisgCitAQCAtMTA3Myw2ICsxMDc5LDcgQEAgaWYgKGFuZ2xlX3VzZV93YXlsYW5kKSB7Cisg ICAgIGluY2x1ZGVfZGlycyA9IFsKKyAgICAgICAiJHdheWxhbmRfZGlyL2VnbCIsCisgICAgICAg IiR3YXlsYW5kX2Rpci9zcmMiLAorKyAgICAgICIkd2F5bGFuZF9nbl9kaXIvaW5jbHVkZS9wcm90 b2NvbCIsCisgICAgIF0KKyAgIH0KKyAKK2RpZmYgLXVwciB0aGlyZF9wYXJ0eS9hbmdsZS5vcmln L3NyYy90aGlyZF9wYXJ0eS92b2xrL0JVSUxELmduIHRoaXJkX3BhcnR5L2FuZ2xlL3NyYy90aGly ZF9wYXJ0eS92b2xrL0JVSUxELmduCistLS0gYS90aGlyZF9wYXJ0eS9hbmdsZS5vcmlnL3NyYy90 aGlyZF9wYXJ0eS92b2xrL0JVSUxELmduCTIwMjItMDgtMTcgMTk6Mzg6MTIuMDAwMDAwMDAwICsw MDAwCisrKysgYi90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvdGhpcmRfcGFydHkvdm9say9CVUlMRC5n bgkyMDIyLTA4LTE4IDExOjA0OjM2LjQ5OTgyODAwNiArMDAwMAorQEAgLTIxLDYgKzIxLDkgQEAg c291cmNlX3NldCgidm9sayIpIHsKKyAgIGNvbmZpZ3MgKz0gWyAiJGFuZ2xlX3Jvb3Q6YW5nbGVf bm9fY2ZpX2ljYWxsIiBdCisgICBwdWJsaWNfZGVwcyA9IFsgIiRhbmdsZV92dWxrYW5faGVhZGVy c19kaXI6dnVsa2FuX2hlYWRlcnMiIF0KKyAgIGlmIChhbmdsZV91c2Vfd2F5bGFuZCkgeworLSAg ICBpbmNsdWRlX2RpcnMgPSBbICIkd2F5bGFuZF9kaXIvc3JjIiBdCisrICAgIGluY2x1ZGVfZGly cyA9IFsKKysgICAgICAiJHdheWxhbmRfZGlyL3NyYyIsCisrICAgICAgIiR3YXlsYW5kX2duX2Rp ci9pbmNsdWRlL3Byb3RvY29sIiwKKysgICAgXQorICAgfQorIH0KZGlmZiAtLWdpdCBhL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy9jaHJvbWl1bS0xMDUtYml0bWFwLWluY2x1ZGUucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTA1LWJpdG1hcC1pbmNsdWRlLnBhdGNo Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYjM3ZWVlNjUyNjVmCi0t LSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEwNS1i aXRtYXAtaW5jbHVkZS5wYXRjaApAQCAtMCwwICsxLDI3IEBACitQYXRjaC1Tb3VyY2U6IGh0dHBz Oi8vZ2l0aHViLmNvbS9zdGhhMDkvY2hyb21pdW0tcGF0Y2hlcy9ibG9iL2NkNDU0MDNmODNhMjMw NWQzODhlMWIxZjkzMGNhMDVjMTM1MzU2MzYvY2hyb21pdW0tMTA1LUJpdG1hcC1pbmNsdWRlLnBh dGNoCitGcm9tIDg5NTlkOWQxYzZlNGVkMDgzYzI3OGFiOWU4ZGVmMjBhNDA5MDUyYjkgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBTdGVwaGFuIEhhcnRtYW5uIDxzdGhhMDlAZ29vZ2xl bWFpbC5jb20+CitEYXRlOiBGcmksIDIyIEp1bCAyMDIyIDE2OjUxOjI4ICswMDAwCitTdWJqZWN0 OiBbUEFUQ0hdIElXWVU6IGFkZCBtZW1vcnkgZm9yIHN0ZDo6dW5pcXVlX3B0ciBpbiBkaXNrX2Nh Y2hlOjpCaXRtYXAKKworQnVnOiA5NTc1MTkKK0NoYW5nZS1JZDogSTEyMzE5ODM0NWU1ZjkwNjIz MjliN2VhYmU5ODBmMzEyNTI1YzI2OGIKK1Jldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVtLXJl dmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzc3OTUzMAorUmV2aWV3ZWQt Ynk6IE1ha3MgT3Jsb3ZpY2ggPG1vcmxvdmljaEBjaHJvbWl1bS5vcmc+CitDb21taXQtUXVldWU6 IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KK0NyLUNvbW1pdC1Qb3Np dGlvbjogcmVmcy9oZWFkcy9tYWluQHsjMTAyNzI4OX0KKy0tLQorCitkaWZmIC0tZ2l0IGEvbmV0 L2Rpc2tfY2FjaGUvYmxvY2tmaWxlL2JpdG1hcC5oIGIvbmV0L2Rpc2tfY2FjaGUvYmxvY2tmaWxl L2JpdG1hcC5oCitpbmRleCAwNzgwNmNmLi45ZmZhOThiOSAxMDA2NDQKKy0tLSBhL25ldC9kaXNr X2NhY2hlL2Jsb2NrZmlsZS9iaXRtYXAuaAorKysrIGIvbmV0L2Rpc2tfY2FjaGUvYmxvY2tmaWxl L2JpdG1hcC5oCitAQCAtOCw2ICs4LDggQEAKKyAjaW5jbHVkZSA8c3RkaW50Lmg+CisgI2luY2x1 ZGUgPHN0cmluZy5oPgorIAorKyNpbmNsdWRlIDxtZW1vcnk+CisrCisgI2luY2x1ZGUgImJhc2Uv bWVtb3J5L3Jhd19wdHIuaCIKKyAjaW5jbHVkZSAibmV0L2Jhc2UvbmV0X2V4cG9ydC5oIgorIApk aWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nocm9taXVtLTEwNS1icm93c2Vy LWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTA1LWJy b3dzZXItaW5jbHVkZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjE3Y2QwYTI5NjIyMAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy9jaHJvbWl1bS0xMDUtYnJvd3Nlci1pbmNsdWRlLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAK K1BhdGNoLVNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3N0aGEwOS9jaHJvbWl1bS1wYXRjaGVz L2Jsb2IvY2Q0NTQwM2Y4M2EyMzA1ZDM4OGUxYjFmOTMwY2EwNWMxMzUzNTYzNi9jaHJvbWl1bS0x MDUtYnJvd3Nlcl9maW5kZXItaW5jbHVkZS5wYXRjaAorRnJvbSA0MWRjYThiZDBjNWU4YWM1MTk3 ZDc0NzdjNmYwMTU1NmZiODhmYjQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogU3Rl cGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgorRGF0ZTogU3VuLCAxNCBBdWcg MjAyMiAwODo0MToxMSArMDAwMAorU3ViamVjdDogW1BBVENIXSBJV1lVOiBhZGQgdmVjdG9yIGZv ciBzdGQ6OnZlY3RvciBpbiBicm93c2VyX2ZpbmRlci5oCisKKy0tLQorIGNocm9tZS9icm93c2Vy L3VpL2Jyb3dzZXJfZmluZGVyLmggfCAxICsKKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24o KykKKworZGlmZiAtLWdpdCBhL2Nocm9tZS9icm93c2VyL3VpL2Jyb3dzZXJfZmluZGVyLmggYi9j aHJvbWUvYnJvd3Nlci91aS9icm93c2VyX2ZpbmRlci5oCitpbmRleCBmODg1YmUwLi5hZDdhMTg0 IDEwMDY0NAorLS0tIGEvY2hyb21lL2Jyb3dzZXIvdWkvYnJvd3Nlcl9maW5kZXIuaAorKysrIGIv Y2hyb21lL2Jyb3dzZXIvdWkvYnJvd3Nlcl9maW5kZXIuaAorQEAgLTYsNiArNiw3IEBACisgI2Rl ZmluZSBDSFJPTUVfQlJPV1NFUl9VSV9CUk9XU0VSX0ZJTkRFUl9IXworIAorICNpbmNsdWRlIDxz dGRkZWYuaD4KKysjaW5jbHVkZSA8dmVjdG9yPgorIAorICNpbmNsdWRlICJ1aS9kaXNwbGF5L3R5 cGVzL2Rpc3BsYXlfY29uc3RhbnRzLmgiCisgI2luY2x1ZGUgInVpL2dmeC9uYXRpdmVfd2lkZ2V0 X3R5cGVzLmgiCistLSAKKzIuMzUuMQorCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTA1LW1hdGgtY2VpbGYucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvY2hyb21pdW0tMTA1LW1hdGgtY2VpbGYucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi4zZDRhNzJhZDRiZmIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvY2hyb21pdW0tMTA1LW1hdGgtY2VpbGYucGF0Y2gKQEAgLTAs MCArMSw0MiBAQAorUGF0Y2gtU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vc3RoYTA5L2Nocm9t aXVtLXBhdGNoZXMvYmxvYi9jZDQ1NDAzZjgzYTIzMDVkMzg4ZTFiMWY5MzBjYTA1YzEzNTM1NjM2 L2Nocm9taXVtLTEwNS1BZGp1c3RNYXNrTGF5ZXJHZW9tZXRyeS1jZWlsZi5wYXRjaAorRnJvbSAz ODUwNjhlMWViMWNkZTk2MjlkMThjZWVlMWZkMTMyNTVjNzBjODA2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogU3RlcGhhbiBIYXJ0bWFubiA8c3RoYTA5QGdvb2dsZW1haWwuY29tPgor RGF0ZTogRnJpLCAyMiBKdWwgMjAyMiAxODoyOToyNCArMDAwMAorU3ViamVjdDogW1BBVENIXSBs aWJzdGRjKys6IHVzZSBtYXRoLmggaW4gYmxpbms6OkFkanVzdE1hc2tMYXllckdlb21ldHJ5CisK K2xpYnN0ZGMrKyBkb2VzIG5vdCBpbXBsZW1lbnQgc3RkOjpjZWlsZi4gVXNlIGNlaWxmIGZyb20g bWF0aC5oCitpbnN0ZWFkLgorCitCdWc6IDk1NzUxOQorQ2hhbmdlLUlkOiBJMDNiNWUwYTFlYjcz ZmRlYWUzNGQ1ZjNkMmYyZTljODg3MWM1MjU0MworUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21p dW0tcmV2aWV3Lmdvb2dsZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy8zNzgyODQxCitDb21t aXQtUXVldWU6IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBnb29nbGVtYWlsLmNvbT4KK1Jldmll d2VkLWJ5OiBKdWFubWkgSHVlcnRhcyA8anVhbm1paGRAY2hyb21pdW0ub3JnPgorQ3ItQ29tbWl0 LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMDI3MzQyfQorLS0tCisKK2RpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9ncmFwaGljcy9jb21wb3NpdGlu Zy9hZGp1c3RfbWFza19sYXllcl9nZW9tZXRyeS5jYyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRl cmVyL3BsYXRmb3JtL2dyYXBoaWNzL2NvbXBvc2l0aW5nL2FkanVzdF9tYXNrX2xheWVyX2dlb21l dHJ5LmNjCitpbmRleCA0YWJlMWQ5Li5iNWI0M2RhIDEwMDY0NAorLS0tIGEvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvY29tcG9zaXRpbmcvYWRqdXN0X21hc2tf bGF5ZXJfZ2VvbWV0cnkuY2MKKysrKyBiL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRm b3JtL2dyYXBoaWNzL2NvbXBvc2l0aW5nL2FkanVzdF9tYXNrX2xheWVyX2dlb21ldHJ5LmNjCitA QCAtNCw4ICs0LDkgQEAKKyAKKyAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vZ3JhcGhpY3MvY29tcG9zaXRpbmcvYWRqdXN0X21hc2tfbGF5ZXJfZ2VvbWV0cnku aCIKKyAKKysjaW5jbHVkZSA8bWF0aC5oPgorICNpbmNsdWRlIDxhbGdvcml0aG0+CistI2luY2x1 ZGUgPGNtYXRoPgorKworICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0 Zm9ybS9ncmFwaGljcy9wYWludC9nZW9tZXRyeV9tYXBwZXIuaCIKKyAjaW5jbHVkZSAidGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZ3JhcGhpY3MvcGFpbnQvdHJhbnNmb3JtX3Bh aW50X3Byb3BlcnR5X25vZGUuaCIKKyAjaW5jbHVkZSAidWkvZ2Z4L2dlb21ldHJ5L3NpemUuaCIK K0BAIC0yOSw4ICszMCw3IEBACisgICAvLyBNYXAgYSBzY3JlZW4gcGl4ZWwgaW50byB0aGUgbGF5 ZXIuCisgICBHZW9tZXRyeU1hcHBlcjo6U291cmNlVG9EZXN0aW5hdGlvblJlY3QoVHJhbnNmb3Jt UGFpbnRQcm9wZXJ0eU5vZGU6OlJvb3QoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0cmFuc2Zvcm0sIHBpeGVsX3JlY3QpOworLSAgaW50IG91dHNldCA9Cist ICAgICAgc3RkOjpjZWlsZihzdGQ6Om1heChwaXhlbF9yZWN0LndpZHRoKCksIHBpeGVsX3JlY3Qu aGVpZ2h0KCkpICogMik7CisrICBpbnQgb3V0c2V0ID0gY2VpbGYoc3RkOjptYXgocGl4ZWxfcmVj dC53aWR0aCgpLCBwaXhlbF9yZWN0LmhlaWdodCgpKSAqIDIpOworICAgLy8gRG9uJ3QgZXhwYW5k IHRvbyBmYXIgaW4gZXh0cmVtZSBjYXNlcy4KKyAgIGNvbnN0ZXhwciBpbnQga01heE91dHNldCA9 IDEwMDA7CisgICBvdXRzZXQgPSBzdGQ6Om1pbihrTWF4T3V0c2V0LCBvdXRzZXQpOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLnBhdGNoIGIvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLnBhdGNoCmluZGV4IGRkZmUxNDk1MWVlZi4u NTNkZjQ5MGJhYzk3IDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvY3Jvc3Mt YnVpbGQucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2Nyb3NzLWJ1aWxkLnBh dGNoCkBAIC0xLDYgKzEsNiBAQAogLS0tIGEvYnVpbGQvY29uZmlnL2NvbXBpbGVyL0JVSUxELmdu Lm9yaWcKICsrKyBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgotQEAgLTU4LDYgKzU4 LDEwIEBACitAQCAtNTUsNiArNTUsMTAgQEAKICB9CiAgCiAgZGVjbGFyZV9hcmdzKCkgewpAQCAt MTEsMTAgKzExLDEwIEBACiAgICAjIE5vcm1hbGx5LCBBbmRyb2lkIGJ1aWxkcyBhcmUgbGlnaHRs eSBvcHRpbWl6ZWQsIGV2ZW4gZm9yIGRlYnVnIGJ1aWxkcywgdG8KICAgICMga2VlcCBiaW5hcnkg c2l6ZSBkb3duLiBTZXR0aW5nIHRoaXMgZmxhZyB0byB0cnVlIGRpc2FibGVzIHN1Y2ggb3B0aW1p emF0aW9uCiAgICBhbmRyb2lkX2Z1bGxfZGVidWcgPSBmYWxzZQotQEAgLTg4MCw4ICs4ODQsMTMg QEAKLSAgICAgICB9CitAQCAtOTE3LDggKzkxNywxMyBAQAogICAgICB9IGVsc2UgaWYgKGN1cnJl bnRfY3B1ID09ICJhcm02NCIpIHsKLSAgICAgICBpZiAoaXNfY2xhbmcgJiYgIWlzX2FuZHJvaWQg JiYgIWlzX25hY2wgJiYgIWlzX2Z1Y2hzaWEpIHsKKyAgICAgICBpZiAoaXNfY2xhbmcgJiYgIWlz X2FuZHJvaWQgJiYgIWlzX25hY2wgJiYgIWlzX2Z1Y2hzaWEgJiYKKyAgICAgICAgICAgIShpc19j aHJvbWVvc19sYWNyb3MgJiYgaXNfY2hyb21lb3NfZGV2aWNlKSkgewogLSAgICAgICAgY2ZsYWdz ICs9IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCiAtICAgICAgICBsZGZsYWdzICs9 IFsgIi0tdGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCiArICAgICAgICBpZiAoaXNfbXVzbCkg ewpAQCAtMjUsOCArMjUsOCBAQAogKyAgICAgICAgICBsZGZsYWdzICs9IFsgIi0tdGFyZ2V0PWFh cmNoNjQtbGludXgtZ251IiBdCiArICAgICAgICB9CiAgICAgICAgfQotICAgICB9IGVsc2UgaWYg KGN1cnJlbnRfY3B1ID09ICJtaXBzZWwiICYmICFpc19uYWNsKSB7Ci0gICAgICAgbGRmbGFncyAr PSBbICItV2wsLS1oYXNoLXN0eWxlPXN5c3YiIF0KKyAgICAgICBpZiAoaXNfYW5kcm9pZCkgewor ICAgICAgICAgIyBPdXRsaW5lIGF0b21pY3MgY3Jhc2ggb24gRXh5bm9zIDk4MTAuIGh0dHA6Ly9j cmJ1Zy5jb20vMTI3Mjc5NQogLS0tIGEvYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlL0JV SUxELmduLm9yaWcKICsrKyBiL2J1aWxkL3Rvb2xjaGFpbi9saW51eC91bmJ1bmRsZS9CVUlMRC5n bgogQEAgLTM5LDMgKzM5LDIyIEBACmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvcmVlbmFibGUtbGludXgtaTY4Ni1idWlsZHMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3Bh dGNoZXMvcmVlbmFibGUtbGludXgtaTY4Ni1idWlsZHMucGF0Y2gKaW5kZXggMTFjMjI5OGM0ZWI4 Li5iMTg3MThlNDM2NDkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZWVu YWJsZS1saW51eC1pNjg2LWJ1aWxkcy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMvcmVlbmFibGUtbGludXgtaTY4Ni1idWlsZHMucGF0Y2gKQEAgLTEsNiArMSw2IEBACi0tLS0g YS9CVUlMRC5nbgorLS0tIGEvQlVJTEQuZ24ub3JpZwogKysrIGIvQlVJTEQuZ24KLUBAIC0xNTIy LDE0ICsxNTIyLDYgQEAKK0BAIC0xNjE2LDE2ICsxNjE2LDYgQEAKICAgIH0KICB9CiAgCkBAIC04 LDggKzgsMTAgQEAKIC1pc192YWxpZF94ODZfdGFyZ2V0ID0KIC0gICAgdGFyZ2V0X29zICE9ICJp b3MiICYmIHRhcmdldF9vcyAhPSAibWFjIiAmJgogLSAgICAodGFyZ2V0X29zICE9ICJsaW51eCIg fHwgdXNlX2xpYmZ1enplciB8fCAhYnVpbGRfd2l0aF9jaHJvbWl1bSkKKy0KKy0jIE5vdGU6IHY4 X3RhcmdldF9jcHUgPT0gYXJtIGFsbG93cyB1c2luZyB0aGUgVjggYXJtIHNpbXVsYXRvciBvbiB4 ODYgZm9yIGZ1enppbmcuCiAtYXNzZXJ0KAotLSAgICBpc192YWxpZF94ODZfdGFyZ2V0IHx8IHRh cmdldF9jcHUgIT0gIng4NiIsCistICAgIGlzX3ZhbGlkX3g4Nl90YXJnZXQgfHwgdGFyZ2V0X2Nw dSAhPSAieDg2IiB8fCB2OF90YXJnZXRfY3B1ID09ICJhcm0iLAogLSAgICAiJ3RhcmdldF9jcHU9 eDg2JyBpcyBub3Qgc3VwcG9ydGVkIGZvciAndGFyZ2V0X29zPSR0YXJnZXRfb3MnLiBDb25zaWRl ciBvbWl0dGluZyAndGFyZ2V0X2NwdScgKGRlZmF1bHQpIG9yIHVzaW5nICd0YXJnZXRfY3B1PXg2 NCcgaW5zdGVhZC4iKQogLQogIGdyb3VwKCJjaHJvbWl1bV9idWlsZGVyX3BlcmYiKSB7CmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvcmVtb3ZlLW5vLW9wYXF1ZS1wb2ludGVy cy1mbGFnLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92ZS1uby1vcGFxdWUt cG9pbnRlcnMtZmxhZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMTIzMWVl YjdkZWYwLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlbW92 ZS1uby1vcGFxdWUtcG9pbnRlcnMtZmxhZy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4ICsw LDAgQEAKLS0tLSBjaHJvbWl1bS0xMDIuMC41MDA1LjYxL2J1aWxkL2NvbmZpZy9jb21waWxlci9C VUlMRC5nbi5vcmlnCTIwMjItMDUtMTkgMTA6MzU6NTIuOTkxNDE1Nzc3ICswMDAwCi0rKysgY2hy b21pdW0tMTAyLjAuNTAwNS42MS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24JMjAyMi0w NS0xOSAxMDozNjoxMS4xMDIwMTcxMzEgKzAwMDAKLUBAIC0xNTM4LDE1ICsxNTM4LDYgQEAgY29u ZmlnKCJkZWZhdWx0X3dhcm5pbmdzIikgewotICAgICAgICAgY2ZsYWdzICs9IFsgIi1Xbm8tdW5x dWFsaWZpZWQtc3RkLWNhc3QtY2FsbCIgXQotICAgICAgIH0KLSAKLS0gICAgICBpZiAoIWlzX25h Y2wgJiYgIShpc19jaHJvbWVvcyB8fAotLSAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRf dG9vbGNoYWluID09ICIvL2J1aWxkL3Rvb2xjaGFpbi9jcm9zOnRhcmdldCIpKSB7Ci0tICAgICAg ICAjIFRPRE8oaHR0cHM6Ly9jcmJ1Zy5jb20vMTMyMjgyMyk6IFJlbW92ZSBmbGFncyBvbmNlIHBv dGVudGlhbCBtaXNjb21waWxlIGlzIGludmVzdGlnYXRlZC4KLS0gICAgICAgIGNmbGFncyArPSBb Ci0tICAgICAgICAgICItWGNsYW5nIiwKLS0gICAgICAgICAgIi1uby1vcGFxdWUtcG9pbnRlcnMi LAotLSAgICAgICAgXQotLSAgICAgIH0KLS0KLSAgICAgICBpZiAoaXNfZnVjaHNpYSkgewotICAg ICAgICAgIyBUT0RPKGh0dHBzOi8vYnVncy5jaHJvbWl1bS5vcmcvcC9mdWNoc2lhL2lzc3Vlcy9k ZXRhaWw/aWQ9NzczODMpCi0gICAgICAgICBjZmxhZ3MgKz0gWyAiLVduby1kZXByZWNhdGVkLWNv cHkiIF0KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zYW5kYm94LXNjaGVk X2dldHBhcmFtLnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NhbmRib3gtc2NoZWRf Z2V0cGFyYW0ucGF0Y2gKaW5kZXggYjllMWRjNzk5MjRiLi5kZmUwYmQ4ZjgyMzUgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zYW5kYm94LXNjaGVkX2dldHBhcmFtLnBhdGNo CisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9zYW5kYm94LXNjaGVkX2dldHBhcmFtLnBh dGNoCkBAIC0zLDE4ICszLDE5IEBAIG11c2wgdXNlcyB0aGVtIGZvciBwdGhyZWFkX2dldHNjaGVk cGFyYW0oKQogCiBzb3VyY2U6IGh0dHBzOi8vZ2l0LmFscGluZWxpbnV4Lm9yZy9hcG9ydHMvY29t bWl0L2NvbW11bml0eS9jaHJvbWl1bT9pZD01NGFmOWY4YWMyNGY1MmQzODJjNTc1OGUyNDQ1YmYw MjA2ZWZmNDBlCiAKLS0tLSBhL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xp Y3lfbGludXguY2MJMjAxOS0xMC0wOCAyMTowMzoxOC4yNTMwODA0MjUgKzAyMDAKLSsrKyBiL3Nh bmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJlcl9wb2xpY3lfbGludXguY2MJMjAxOS0xMC0w OCAyMTowNDoxOS42NDg1NDk3MTggKzAyMDAKLUBAIC04OCwxMCArODgsMTAgQEAKLSAgICAgY2Fz ZSBfX05SX3N5c2luZm86Ci0gICAgIGNhc2UgX19OUl90aW1lczoKLSAgICAgY2FzZSBfX05SX3Vu YW1lOgorLS0tIGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworKysrIGIvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51 eC5jYworQEAgLTEwMiwxMSArMTAyLDExIEBACisgI2lmIGRlZmluZWQoX19hcm1fXykgfHwgZGVm aW5lZChfX2FhcmNoNjRfXykKKyAgICAgY2FzZSBfX05SX2dldGNwdToKKyAjZW5kaWYKIC0gICAg ICByZXR1cm4gQWxsb3coKTsKIC0gICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5OgogICAg ICBjYXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06CiAgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hl ZHVsZXI6CisgICAgIGNhc2UgX19OUl9zY2hlZF9zZXRzY2hlZHVsZXI6CiArICAgICAgcmV0dXJu IEFsbG93KCk7CiArICAgIGNhc2UgX19OUl9zY2hlZF9nZXRhZmZpbml0eToKLSAgICAgY2FzZSBf X05SX3NjaGVkX3NldHNjaGVkdWxlcjoKLSAgICAgICByZXR1cm4gc2FuZGJveDo6UmVzdHJpY3RT Y2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8pOworICAgICAgIHJldHVybiBSZXN0cmlj dFNjaGVkVGFyZ2V0KEdldFBvbGljeVBpZCgpLCBzeXNubyk7CiAgICAgIGNhc2UgX19OUl9wcmxp bWl0NjQ6CisgICAgICAgLy8gU2VlIGNyYnVnLmNvbS82NjI0NTAgYW5kIHNldHJsaW1pdCBjb21t ZW50IGFib3ZlLgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NuZGlvLnBh dGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NuZGlvLnBhdGNoCmluZGV4IGRmNjY4ZDEz YjJhMy4uMDc3Y2VhYThhY2JjIDEwMDY0NAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv c25kaW8ucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3NuZGlvLnBhdGNoCkBA IC0xLDYgKzEsNiBAQAogZGlmZiAtTmF1ciBjaHJvbWl1bS04My4wLjQxMDMuOTcub3JpZy9tZWRp YS9CVUlMRC5nbiBjaHJvbWl1bS04My4wLjQxMDMuOTcvbWVkaWEvQlVJTEQuZ24KIC0tLSBhL21l ZGlhL0JVSUxELmduCTIwMjAtMDYtMDMgMjA6NDA6MjYuMDAwMDAwMDAwICswMjAwCi0rKysgYi9t ZWRpYS9CVUlMRC5nbgkyMDIwLTA2LTEzIDE3OjMyOjI4LjUxMDM5NTk3NSArMDIwMAorKysrIGIv bWVkaWEvQlVJTEQuZ24JMjAyMS0wNi0xMyAxNzozMjoyOC41MTAzOTU5NzUgKzAyMDAKIEBAIC02 NSw2ICs2NSw5IEBACiAgICAgICAgZGVmaW5lcyArPSBbICJETE9QRU5fUFVMU0VBVURJTyIgXQog ICAgICB9CkBAIC04NjMsMTUgKzg2MywxNSBAQCBkaWZmIC1OYXVyIGNocm9taXVtLTgzLjAuNDEw My45Ny5vcmlnL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX291dHB1dC5oIGNocm9taXVtLQogKwog KyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05ESU9fU05ESU9fT1VUUFVUX0hfCiBkaWZmIC1OYXVy IGNocm9taXVtLTgzLjAuNDEwMy45Ny5vcmlnL21lZGlhL21lZGlhX29wdGlvbnMuZ25pIGNocm9t aXVtLTgzLjAuNDEwMy45Ny9tZWRpYS9tZWRpYV9vcHRpb25zLmduaQotLS0tIGEvbWVkaWEvbWVk aWFfb3B0aW9ucy5nbmkJMjAyMC0wNi0wMyAyMDo0MDoyNi4wMDAwMDAwMDAgKzAyMDAKLSsrKyBi L21lZGlhL21lZGlhX29wdGlvbnMuZ25pCTIwMjAtMDYtMTMgMTc6MzI6MjguNTEyMzk1OTYzICsw MjAwCi1AQCAtMTI1LDYgKzEyNSw5IEBACistLS0gYS9tZWRpYS9tZWRpYV9vcHRpb25zLmduaQor KysrIGIvbWVkaWEvbWVkaWFfb3B0aW9ucy5nbmkKK0BAIC0xNTgsNiArMTU4LDkgQEAKICAgICMg RW5hYmxlcyBydW50aW1lIHNlbGVjdGlvbiBvZiBBTFNBIGxpYnJhcnkgZm9yIGF1ZGlvLgogICAg dXNlX2Fsc2EgPSBmYWxzZQogIAogKyAgIyBFbmFibGUgcnVudGltZSBzZWxlY3Rpb24gb2Ygc25k aW8oNykKICsgIHVzZV9zbmRpbyA9IGZhbHNlCiArCi0gICAjIEFsc2Egc2hvdWxkIGJlIHVzZWQg b24gbm9uLUFuZHJvaWQsIG5vbi1NYWMgUE9TSVggc3lzdGVtcyAoZXhjbHVkaW5nIENhc3RPUwot ICAgIyB2aWRlbyBidWlsZHMpLgotICAgaWYgKGlzX3Bvc2l4ICYmICFpc19hbmRyb2lkICYmICFp c19tYWMgJiYKKyAgICMgQWxzYSBzaG91bGQgYmUgdXNlZCBvbiBhbGwgbm9uLUFuZHJvaWQsIG5v bi1NYWMgUE9TSVggc3lzdGVtcyAtIHdpdGggdGhlCisgICAjIGV4Y2VwdGlvbiBvZiBDYXN0T1Mg ZGVza3RvcCBidWlsZHMuCisgICAjCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMveDExLW96b25lLWZpeC1YMTEtc2NyZWVuc2F2ZXItc3VzcGVuc2lvbi5wYXRjaCBiL3NyY3Br Z3MvY2hyb21pdW0vcGF0Y2hlcy94MTEtb3pvbmUtZml4LVgxMS1zY3JlZW5zYXZlci1zdXNwZW5z aW9uLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0MzM2ZDZhN2EwYTQuLjAw MDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveDExLW96b25lLWZpeC1Y MTEtc2NyZWVuc2F2ZXItc3VzcGVuc2lvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQ5MCAr MCwwIEBACi1Gcm9tIDhjMWViZWE1ZjYwMWIwYjUyNDc1MzVkY2RmZDAxNzU1ZjNlNmUxYTYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZXcgV29sZmVycyA8YXN3b2xmZXJzQGNo cm9taXVtLm9yZz4KLURhdGU6IFR1ZSwgMTkgSnVsIDIwMjIgMTU6MDE6MjUgKzAwMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gW3gxMV1bb3pvbmVdIEZpeCBYMTEgc2NyZWVuc2F2ZXIgc3VzcGVuc2lvbi4K LQotWDExIHNjcmVlbnNhdmVyIHN1c3BlbnNpb24gd2FzIGJyb2tlbiBieSBodHRwczovL2NycmV2 LmNvbS9jLzM1MDc0NzIsCi1pbiB3aGljaCB1c2FnZSBwYXR0ZXJucyB3ZXJlIG1pZ3JhdGVkIHRv IGEgbm9uLXN0YWNraW5nIHBhcmFkaWdtLgotCi0iTm9uLXN0YWNraW5nIiBzY3JlZW5zYXZlciBz dXNwZW5zaW9uIGRlc2NyaWJlcyBhbiBvdmVycmlkaW5nIGJlaGF2aW9yLAotc3VjaCB0aGF0IHRo ZSBsYXN0IHN1c3BlbmRpbmcgb3IgdW4tc3VzcGVuZGluZyBjYWxsIGRlZmluZXMgdGhlIGN1cnJl bnQKLXN0YXRlLiBDb252ZXJzZWx5LCBhICJzdGFja2luZyIgc2NyZWVuc2F2ZXIgc3VzcGVuc2lv biBwYXJhZGlnbSBhbGxvd3MKLWZvciBwYXJhbGxlbCBzdXNwZW5zaW9uLCBzdWNoIHRoYXQgc3Vz cGVuZGluZyBjYWxscyBhcmUgZXhwZWN0ZWQgdG8gYmUKLW1hdGNoZWQgYnkgYW4gZXF1YWwgbnVt YmVyIG9mIHVuLXN1c3BlbmRpbmcgY2FsbHMuCi0KLURvY3VtZW50YXRpb24gZm9yIGBQbGF0Zm9y bVNjcmVlbjo6U2V0U2NyZWVuU2F2ZXJTdXNwZW5kZWRgIChpbmhlcml0ZWQKLWJ5IGBYMTFTY3Jl ZW5Pem9uZWApIGV4cGxhaW5zIHRoYXQgaXQgc2hvdWxkIGJlIHVzZWQgaW4gYSBub24tc3RhY2tp bmcKLW1hbm5lciBbMV0sIHdoaWNoIGNvbnRyYWRpY3RzIHRoZSBjaGlsZCBjbGFzcydzIHVuZGVy bHlpbmcKLWltcGxlbWVudGF0aW9uIFsyXS4KLQotPiBJZiBYU2NyZWVuU2F2ZXJTdXNwZW5kIGlz IGNhbGxlZCBtdWx0aXBsZSB0aW1lcyB3aXRoIHN1c3BlbmQgc2V0IHRvCi0+ICdUcnVlJywgaXQg bXVzdCBiZSBjYWxsZWQgYW4gZXF1YWwgbnVtYmVyIG9mIHRpbWVzIHdpdGggc3VzcGVuZCBzZXQK LT4gdG8gJ0ZhbHNlJyBpbiBvcmRlciBmb3IgdGhlIHNjcmVlbnNhdmVyIHRpbWVyIHRvIGJlIHJl c3RhcnRlZC4KLQotVGhpcyBjaGFuZ2UgdXBkYXRlcyB0aGUgZG9jdW1lbnRhdGlvbi9BUEkgb2Yg dGhlIGBQbGF0Zm9ybVNjcmVlbmAKLXBhcmVudCBjbGFzcyB0byBjb3JyZWN0bHkgZGVzY3JpYmUg dGhlIHN0YWNraW5nIGJlaGF2aW9yIG9mIGNoaWxkIGNsYXNzCi1gWDExU2NyZWVuT3pvbmVgLiBU aGlzIGNoYW5nZSBhbHNvIHVwZGF0ZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mCi1gV2F5bGFuZFNj cmVlbmAgdG8gYSBzdGFja2luZyB2ZXJzaW9uLiBMYXN0bHksIHRoaXMgY2hhbmdlIHVwZGF0ZXMg dGhlCi1jYWxsIHNpdGVzIG9mIGBQbGF0Zm9ybVNjcmVlbmAgYWNjb3JkaW5nIHRvIHRoZSBBUEkg Y2hhbmdlLgotCi1bMV0gaHR0cHM6Ly9jcnNyYy5vcmcvYy91aS9vem9uZS9wdWJsaWMvcGxhdGZv cm1fc2NyZWVuLmg7bD05NgotWzJdIGh0dHBzOi8vbGludXguZGllLm5ldC9tYW4vMy94c2NyZWVu c2F2ZXJ1bnNldGF0dHJpYnV0ZXMKLQotQnVnOiBiOjE5MzY3MDAxMwotQnVnOiBiOjE5NjIxMzM1 MQotQnVnOiAxMzI5NTczCi1CdWc6IDEzMzkzNjEKLUNoYW5nZS1JZDogSTYwOTc1YzhkYTlmODZh MGYyNmYzYzMyY2Y0OWM0YTdlZWVlYTZhMTIKLVJldmlld2VkLW9uOiBodHRwczovL2Nocm9taXVt LXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvMzc1OTA2NwotQ29tbWl0 LVF1ZXVlOiBBbmRyZXcgV29sZmVycyA8YXN3b2xmZXJzQGNocm9taXVtLm9yZz4KLVJldmlld2Vk LWJ5OiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVyc29uQGNocm9taXVtLm9yZz4KLVJldmll d2VkLWJ5OiBTY290dCBWaW9sZXQgPHNreUBjaHJvbWl1bS5vcmc+Ci1Dci1Db21taXQtUG9zaXRp b246IHJlZnMvaGVhZHMvbWFpbkB7IzEwMjU3MTd9Ci0KLShjaGVycnkgcGlja2VkIGZyb20gY29t bWl0IGU2MWYwOGY4ZGJmMWVjN2NlYWQ0MjdmM2M0OTc5MzRlOWQwZGIzNWYpCi0tLS0KLSB1aS9h dXJhL3NjcmVlbl9vem9uZS5jYyAgICAgICAgICAgICAgICAgICAgICAgfCAxNCArKysrKystLQot IHVpL2F1cmEvc2NyZWVuX296b25lLmggICAgICAgICAgICAgICAgICAgICAgICB8IDI5ICsrKysr KysrKysrKy0tLS0KLSB1aS9iYXNlL3gveDExX3V0aWwuaCAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNCArKy0KLSB1aS9kaXNwbGF5L3NjcmVlbi5jYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAyMSArKy0tLS0tLS0tLS0KLSB1aS9kaXNwbGF5L3NjcmVlbi5oICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAzNCArKysrKystLS0tLS0tLS0tLS0tCi0gLi4uL3BsYXRmb3JtL3dheWxh bmQvaG9zdC93YXlsYW5kX3NjcmVlbi5jYyAgIHwgMzEgKysrKysrKysrKysrKysrKysKLSAuLi4v cGxhdGZvcm0vd2F5bGFuZC9ob3N0L3dheWxhbmRfc2NyZWVuLmggICAgfCAzMCArKysrKysrKysr KysrKystCi0gdWkvb3pvbmUvcGxhdGZvcm0veDExL3gxMV9zY3JlZW5fb3pvbmUuY2MgICAgIHwg MjcgKysrKysrKysrKysrKy0tCi0gdWkvb3pvbmUvcGxhdGZvcm0veDExL3gxMV9zY3JlZW5fb3pv bmUuaCAgICAgIHwgMTkgKysrKysrKysrKy0KLSB1aS9vem9uZS9wdWJsaWMvcGxhdGZvcm1fc2Ny ZWVuLmNjICAgICAgICAgICAgfCAgOCArKystLQotIHVpL296b25lL3B1YmxpYy9wbGF0Zm9ybV9z Y3JlZW4uaCAgICAgICAgICAgICB8IDI2ICsrKysrKysrKysrLS0tCi0gMTEgZmlsZXMgY2hhbmdl ZCwgMTgyIGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvdWkv YXVyYS9zY3JlZW5fb3pvbmUuY2MgYi91aS9hdXJhL3NjcmVlbl9vem9uZS5jYwotaW5kZXggYTc4 YTZhNDhmMS4uMDlmNjJkYzk4MiAxMDA2NDQKLS0tLSBhL3VpL2F1cmEvc2NyZWVuX296b25lLmNj Ci0rKysgYi91aS9hdXJhL3NjcmVlbl9vem9uZS5jYwotQEAgLTQsNiArNCw4IEBACi0gCi0gI2lu Y2x1ZGUgInVpL2F1cmEvc2NyZWVuX296b25lLmgiCi0gCi0rI2luY2x1ZGUgPG1lbW9yeT4KLSsK LSAjaW5jbHVkZSAidWkvYXVyYS9jbGllbnQvc2NyZWVuX3Bvc2l0aW9uX2NsaWVudC5oIgotICNp bmNsdWRlICJ1aS9hdXJhL3dpbmRvdy5oIgotICNpbmNsdWRlICJ1aS9hdXJhL3dpbmRvd190cmVl X2hvc3QuaCIKLUBAIC0xMDgsOCArMTEwLDE2IEBAIGRpc3BsYXk6OkRpc3BsYXkgU2NyZWVuT3pv bmU6OkdldFByaW1hcnlEaXNwbGF5KCkgY29uc3QgewotIH0KLSAKLSAjaWYgQlVJTERGTEFHKElT X0NIUk9NRU9TX0xBQ1JPUykgfHwgQlVJTERGTEFHKElTX0xJTlVYKQotLWJvb2wgU2NyZWVuT3pv bmU6OlNldFNjcmVlblNhdmVyU3VzcGVuZGVkKGJvb2wgc3VzcGVuZCkgewotLSAgcmV0dXJuIHBs YXRmb3JtX3NjcmVlbl8tPlNldFNjcmVlblNhdmVyU3VzcGVuZGVkKHN1c3BlbmQpOwotK1NjcmVl bk96b25lOjpTY3JlZW5TYXZlclN1c3BlbmRlck96b25lOjpTY3JlZW5TYXZlclN1c3BlbmRlck96 b25lKAotKyAgICBzdGQ6OnVuaXF1ZV9wdHI8dWk6OlBsYXRmb3JtU2NyZWVuOjpQbGF0Zm9ybVNj cmVlblNhdmVyU3VzcGVuZGVyPiBzdXNwZW5kZXIpCi0rICAgIDogc3VzcGVuZGVyXyhzdGQ6Om1v dmUoc3VzcGVuZGVyKSkge30KLSsKLStTY3JlZW5Pem9uZTo6U2NyZWVuU2F2ZXJTdXNwZW5kZXJP em9uZTo6flNjcmVlblNhdmVyU3VzcGVuZGVyT3pvbmUoKSA9IGRlZmF1bHQ7Ci0rCi0rc3RkOjp1 bmlxdWVfcHRyPGRpc3BsYXk6OlNjcmVlbjo6U2NyZWVuU2F2ZXJTdXNwZW5kZXI+Ci0rU2NyZWVu T3pvbmU6OlN1c3BlbmRTY3JlZW5TYXZlcigpIHsKLSsgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVl PFNjcmVlblNhdmVyU3VzcGVuZGVyT3pvbmU+KAotKyAgICAgIHBsYXRmb3JtX3NjcmVlbl8tPlN1 c3BlbmRTY3JlZW5TYXZlcigpKTsKLSB9Ci0gI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01F T1NfTEFDUk9TKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpCi0gCi1kaWZmIC0tZ2l0IGEvdWkvYXVy YS9zY3JlZW5fb3pvbmUuaCBiL3VpL2F1cmEvc2NyZWVuX296b25lLmgKLWluZGV4IDI5NzBhMGUw ZTcuLmQwMzNhYmYzNjYgMTAwNjQ0Ci0tLS0gYS91aS9hdXJhL3NjcmVlbl9vem9uZS5oCi0rKysg Yi91aS9hdXJhL3NjcmVlbl9vem9uZS5oCi1AQCAtMTEsMTAgKzExLDcgQEAKLSAjaW5jbHVkZSAi YnVpbGQvY2hyb21lb3NfYnVpbGRmbGFncy5oIgotICNpbmNsdWRlICJ1aS9hdXJhL2F1cmFfZXhw b3J0LmgiCi0gI2luY2x1ZGUgInVpL2Rpc3BsYXkvc2NyZWVuLmgiCi0tCi0tbmFtZXNwYWNlIHVp IHsKLS1jbGFzcyBQbGF0Zm9ybVNjcmVlbjsKLS19Ci0rI2luY2x1ZGUgInVpL296b25lL3B1Ymxp Yy9wbGF0Zm9ybV9zY3JlZW4uaCIKLSAKLSBuYW1lc3BhY2UgYXVyYSB7Ci0gCi1AQCAtNDgsNiAr NDUsMTAgQEAgY2xhc3MgQVVSQV9FWFBPUlQgU2NyZWVuT3pvbmUgOiBwdWJsaWMgZGlzcGxheTo6 U2NyZWVuIHsKLSAgIGRpc3BsYXk6OkRpc3BsYXkgR2V0RGlzcGxheU1hdGNoaW5nKAotICAgICAg IGNvbnN0IGdmeDo6UmVjdCYgbWF0Y2hfcmVjdCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICBkaXNwbGF5 OjpEaXNwbGF5IEdldFByaW1hcnlEaXNwbGF5KCkgY29uc3Qgb3ZlcnJpZGU7Ci0rI2lmIEJVSUxE RkxBRyhJU19DSFJPTUVPU19MQUNST1MpIHx8IEJVSUxERkxBRyhJU19MSU5VWCkKLSsgIHN0ZDo6 dW5pcXVlX3B0cjxkaXNwbGF5OjpTY3JlZW46OlNjcmVlblNhdmVyU3VzcGVuZGVyPiBTdXNwZW5k U2NyZWVuU2F2ZXIoKQotKyAgICAgIG92ZXJyaWRlOwotKyNlbmRpZiAgLy8gQlVJTERGTEFHKElT X0NIUk9NRU9TX0xBQ1JPUykgfHwgQlVJTERGTEFHKElTX0xJTlVYKQotICAgYm9vbCBJc1NjcmVl blNhdmVyQWN0aXZlKCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICBiYXNlOjpUaW1lRGVsdGEgQ2FsY3Vs YXRlSWRsZVRpbWUoKSBjb25zdCBvdmVycmlkZTsKLSAgIHZvaWQgQWRkT2JzZXJ2ZXIoZGlzcGxh eTo6RGlzcGxheU9ic2VydmVyKiBvYnNlcnZlcikgb3ZlcnJpZGU7Ci1AQCAtNjUsMTEgKzY2LDI3 IEBAIGNsYXNzIEFVUkFfRVhQT1JUIFNjcmVlbk96b25lIDogcHVibGljIGRpc3BsYXk6OlNjcmVl biB7Ci0gIHByb3RlY3RlZDoKLSAgIHVpOjpQbGF0Zm9ybVNjcmVlbiogcGxhdGZvcm1fc2NyZWVu KCkgeyByZXR1cm4gcGxhdGZvcm1fc2NyZWVuXy5nZXQoKTsgfQotIAotKyBwcml2YXRlOgotICNp ZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9TKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpCi0t ICBib29sIFNldFNjcmVlblNhdmVyU3VzcGVuZGVkKGJvb2wgc3VzcGVuZCkgb3ZlcnJpZGU7Ci0r ICBjbGFzcyBTY3JlZW5TYXZlclN1c3BlbmRlck96b25lCi0rICAgICAgOiBwdWJsaWMgZGlzcGxh eTo6U2NyZWVuOjpTY3JlZW5TYXZlclN1c3BlbmRlciB7Ci0rICAgcHVibGljOgotKyAgICBleHBs aWNpdCBTY3JlZW5TYXZlclN1c3BlbmRlck96b25lKAotKyAgICAgICAgc3RkOjp1bmlxdWVfcHRy PHVpOjpQbGF0Zm9ybVNjcmVlbjo6UGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlcj4KLSsgICAg ICAgICAgICBzdXNwZW5kZXIpOwotKwotKyAgICBTY3JlZW5TYXZlclN1c3BlbmRlck96b25lKGNv bnN0IFNjcmVlblNhdmVyU3VzcGVuZGVyT3pvbmUmKSA9IGRlbGV0ZTsKLSsgICAgU2NyZWVuU2F2 ZXJTdXNwZW5kZXJPem9uZSYgb3BlcmF0b3I9KGNvbnN0IFNjcmVlblNhdmVyU3VzcGVuZGVyT3pv bmUmKSA9Ci0rICAgICAgICBkZWxldGU7Ci0rCi0rICAgIH5TY3JlZW5TYXZlclN1c3BlbmRlck96 b25lKCkgb3ZlcnJpZGU7Ci0rCi0rICAgcHJpdmF0ZToKLSsgICAgc3RkOjp1bmlxdWVfcHRyPHVp OjpQbGF0Zm9ybVNjcmVlbjo6UGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlcj4KLSsgICAgICAg IHN1c3BlbmRlcl87Ci0rICB9OwotICNlbmRpZiAgLy8gQlVJTERGTEFHKElTX0NIUk9NRU9TX0xB Q1JPUykgfHwgQlVJTERGTEFHKElTX0xJTlVYKQotIAotLSBwcml2YXRlOgotICAgZ2Z4OjpBY2Nl bGVyYXRlZFdpZGdldCBHZXRBY2NlbGVyYXRlZFdpZGdldEZvcldpbmRvdygKLSAgICAgICBhdXJh OjpXaW5kb3cqIHdpbmRvdykgY29uc3Q7Ci0gCi1kaWZmIC0tZ2l0IGEvdWkvYmFzZS94L3gxMV91 dGlsLmggYi91aS9iYXNlL3gveDExX3V0aWwuaAotaW5kZXggYmYzNmVmZTE3MC4uMDY5MjU3MTU4 MiAxMDA2NDQKLS0tLSBhL3VpL2Jhc2UveC94MTFfdXRpbC5oCi0rKysgYi91aS9iYXNlL3gveDEx X3V0aWwuaAotQEAgLTMzNyw3ICszMzcsOSBAQCBDT01QT05FTlRfRVhQT1JUKFVJX0JBU0VfWCkg Ym9vbCBJc0NvbXBvc2l0aW5nTWFuYWdlclByZXNlbnQoKTsKLSBDT01QT05FTlRfRVhQT1JUKFVJ X0JBU0VfWCkgYm9vbCBJc1gxMVdpbmRvd0Z1bGxTY3JlZW4oeDExOjpXaW5kb3cgd2luZG93KTsK LSAKLSAvLyBTdXNwZW5kcyBvciByZXN1bWVzIHRoZSBYIHNjcmVlbiBzYXZlciwgYW5kIHJldHVy bnMgd2hldGhlciB0aGUgb3BlcmF0aW9uIHdhcwotLS8vIHN1Y2Nlc3NmdWwuICBNdXN0IGJlIGNh bGxlZCBvbiB0aGUgVUkgdGhyZWFkLgotKy8vIHN1Y2Nlc3NmdWwuICBNdXN0IGJlIGNhbGxlZCBv biB0aGUgVUkgdGhyZWFkLiBJZiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgd2l0aAotKy8vIHxzdXNw ZW5kfCBzZXQgdG8gdHJ1ZSwgdGhlIHNjcmVlbiBzYXZlciBpcyBub3QgdW4tc3VzcGVuZGVkIHVu dGlsIHRoaXMgbWV0aG9kCi0rLy8gaXMgY2FsbGVkIGFuIGVxdWFsIG51bWJlciBvZiB0aW1lcyB3 aXRoIHxzdXNwZW5kfCBzZXQgdG8gZmFsc2UuCi0gQ09NUE9ORU5UX0VYUE9SVChVSV9CQVNFX1gp IGJvb2wgU3VzcGVuZFgxMVNjcmVlblNhdmVyKGJvb2wgc3VzcGVuZCk7Ci0gCi0gLy8gUmV0dXJu cyB0cnVlIGlmIHRoZSB3aW5kb3cgbWFuYWdlciBzdXBwb3J0cyB0aGUgZ2l2ZW4gaGludC4KLWRp ZmYgLS1naXQgYS91aS9kaXNwbGF5L3NjcmVlbi5jYyBiL3VpL2Rpc3BsYXkvc2NyZWVuLmNjCi1p bmRleCBiOTcyMzg4OWNlLi43MGRjMGE5ZjVjIDEwMDY0NAotLS0tIGEvdWkvZGlzcGxheS9zY3Jl ZW4uY2MKLSsrKyBiL3VpL2Rpc3BsYXkvc2NyZWVuLmNjCi1AQCAtODUsMjYgKzg1LDExIEBAIHZv aWQgU2NyZWVuOjpTZXREaXNwbGF5Rm9yTmV3V2luZG93cyhpbnQ2NF90IGRpc3BsYXlfaWQpIHsK LSB9Ci0gCi0gI2lmIEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpIHx8IEJVSUxERkxBRyhJ U19MSU5VWCkKLS1zdGQ6OnVuaXF1ZV9wdHI8U2NyZWVuOjpTY3JlZW5TYXZlclN1c3BlbmRlcj4g U2NyZWVuOjpTdXNwZW5kU2NyZWVuU2F2ZXIoKSB7Ci0tICBTZXRTY3JlZW5TYXZlclN1c3BlbmRl ZCh0cnVlKTsKLS0gIHNjcmVlbl9zYXZlcl9zdXNwZW5zaW9uX2NvdW50XysrOwotLSAgcmV0dXJu IGJhc2U6OldyYXBVbmlxdWUobmV3IFNjcmVlbjo6U2NyZWVuU2F2ZXJTdXNwZW5kZXIodGhpcykp OwotLX0KLS0KLS1TY3JlZW46OlNjcmVlblNhdmVyU3VzcGVuZGVyOjp+U2NyZWVuU2F2ZXJTdXNw ZW5kZXIoKSB7Ci0tICAvLyBDaGVjayB0aGF0IHRoaXMgc3VzcGVuZGVyIHN0aWxsIHJlZmVycyB0 byB0aGUgYWN0aXZlIHNjcmVlbi4gUGFydGljdWxhcmx5Ci0tICAvLyBpbiB0ZXN0cywgdGhlIHNj cmVlbiBtaWdodCBiZSBkZXN0cnVjdGVkIGJlZm9yZSB0aGUgc3VzcGVuZGVyLgotLSAgaWYgKHNj cmVlbl8gPT0gR2V0U2NyZWVuKCkpIHsKLS0gICAgc2NyZWVuXy0+c2NyZWVuX3NhdmVyX3N1c3Bl bnNpb25fY291bnRfLS07Ci0tICAgIGlmIChzY3JlZW5fLT5zY3JlZW5fc2F2ZXJfc3VzcGVuc2lv bl9jb3VudF8gPT0gMCkgewotLSAgICAgIHNjcmVlbl8tPlNldFNjcmVlblNhdmVyU3VzcGVuZGVk KGZhbHNlKTsKLS0gICAgfQotLSAgfQotLX0KLStTY3JlZW46OlNjcmVlblNhdmVyU3VzcGVuZGVy Ojp+U2NyZWVuU2F2ZXJTdXNwZW5kZXIoKSA9IGRlZmF1bHQ7Ci0gCi0tYm9vbCBTY3JlZW46OlNl dFNjcmVlblNhdmVyU3VzcGVuZGVkKGJvb2wgc3VzcGVuZCkgewotK3N0ZDo6dW5pcXVlX3B0cjxT Y3JlZW46OlNjcmVlblNhdmVyU3VzcGVuZGVyPiBTY3JlZW46OlN1c3BlbmRTY3JlZW5TYXZlcigp IHsKLSAgIE5PVElNUExFTUVOVEVEX0xPR19PTkNFKCk7Ci0tICByZXR1cm4gZmFsc2U7Ci0rICBy ZXR1cm4gbnVsbHB0cjsKLSB9Ci0gI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFD Uk9TKSB8fCBCVUlMREZMQUcoSVNfTElOVVgpCi0gCi1kaWZmIC0tZ2l0IGEvdWkvZGlzcGxheS9z Y3JlZW4uaCBiL3VpL2Rpc3BsYXkvc2NyZWVuLmgKLWluZGV4IGE4NmM1YjYzY2MuLmQwNDUzNDAw NmYgMTAwNjQ0Ci0tLS0gYS91aS9kaXNwbGF5L3NjcmVlbi5oCi0rKysgYi91aS9kaXNwbGF5L3Nj cmVlbi5oCi1AQCAtMTMzLDI4ICsxMzMsMjIgQEAgY2xhc3MgRElTUExBWV9FWFBPUlQgU2NyZWVu IHsKLSAgIC8vIGl0cyBleGlzdGVuY2UuCi0gICBjbGFzcyBTY3JlZW5TYXZlclN1c3BlbmRlciB7 Ci0gICAgcHVibGljOgotLSAgICBTY3JlZW5TYXZlclN1c3BlbmRlcihjb25zdCBTY3JlZW4mKSA9 IGRlbGV0ZTsKLS0gICAgU2NyZWVuU2F2ZXJTdXNwZW5kZXImIG9wZXJhdG9yPShjb25zdCBTY3Jl ZW4mKSA9IGRlbGV0ZTsKLSsgICAgU2NyZWVuU2F2ZXJTdXNwZW5kZXIoKSA9IGRlZmF1bHQ7Ci0g Ci0tICAgIC8vIE5vdGlmaWVzIHxzY3JlZW5ffCB0aGF0IHRoaXMgaW5zdGFuY2UgaXMgYmVpbmcg ZGVzdHJ1Y3RlZCwgYW5kIGNhdXNlcyBpdHMKLS0gICAgLy8gcGxhdGZvcm0tc3BlY2lmaWMgc2Ny ZWVuc2F2ZXIgdG8gYmUgdW4tc3VzcGVuZGVkIGlmIHRoaXMgaXMgdGhlIGxhc3Qgc3VjaAotLSAg ICAvLyByZW1haW5pbmcgaW5zdGFuY2UuCi0tICAgIH5TY3JlZW5TYXZlclN1c3BlbmRlcigpOwot KyAgICBTY3JlZW5TYXZlclN1c3BlbmRlcihjb25zdCBTY3JlZW5TYXZlclN1c3BlbmRlciYpID0g ZGVsZXRlOwotKyAgICBTY3JlZW5TYXZlclN1c3BlbmRlciYgb3BlcmF0b3I9KGNvbnN0IFNjcmVl blNhdmVyU3VzcGVuZGVyJikgPSBkZWxldGU7Ci0gCi0tICAgcHJpdmF0ZToKLS0gICAgZnJpZW5k IGNsYXNzIFNjcmVlbjsKLS0KLS0gICAgZXhwbGljaXQgU2NyZWVuU2F2ZXJTdXNwZW5kZXIoU2Ny ZWVuKiBzY3JlZW4pIDogc2NyZWVuXyhzY3JlZW4pIHt9Ci0tCi0tICAgIFNjcmVlbiogc2NyZWVu XzsKLSsgICAgLy8gQ2F1c2VzIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBzY3JlZW5zYXZlciB0byBi ZSB1bi1zdXNwZW5kZWQgaWZmIHRoaXMgaXMKLSsgICAgLy8gdGhlIGxhc3QgcmVtYWluaW5nIGlu c3RhbmNlLgotKyAgICB2aXJ0dWFsIH5TY3JlZW5TYXZlclN1c3BlbmRlcigpID0gMDsKLSAgIH07 Ci0gCi0gICAvLyBTdXNwZW5kcyB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgc2NyZWVuc2F2ZXIgdW50 aWwgdGhlIHJldHVybmVkCi0tICAvLyB8U2NyZWVuU2F2ZXJTdXNwZW5kZXJ8IGlzIGRlc3RydWN0 ZWQuIFRoaXMgbWV0aG9kIGFsbG93cyBzdGFja2luZyBtdWx0aXBsZQotLSAgLy8gb3ZlcmxhcHBp bmcgY2FsbHMsIHN1Y2ggdGhhdCB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgc2NyZWVuc2F2ZXIgd2ls bCBub3QgYmUKLS0gIC8vIHVuLXN1c3BlbmRlZCB1bnRpbCBhbGwgcmV0dXJuZWQgfFNyZWVuU2F2 ZXJTdXNwZW5kZXJ8IGluc3RhbmNlcyBoYXZlIGJlZW4KLS0gIC8vIGRlc3RydWN0ZWQuCi0tICBz dGQ6OnVuaXF1ZV9wdHI8U2NyZWVuU2F2ZXJTdXNwZW5kZXI+IFN1c3BlbmRTY3JlZW5TYXZlcigp OwotKyAgLy8gfFNjcmVlblNhdmVyU3VzcGVuZGVyfCBpcyBkZXN0cnVjdGVkLCBvciByZXR1cm5z IG51bGxwdHIgaWYgc3VzcGVuc2lvbgotKyAgLy8gZmFpbGVkLiBUaGlzIG1ldGhvZCBhbGxvd3Mg c3RhY2tpbmcgbXVsdGlwbGUgb3ZlcmxhcHBpbmcgY2FsbHMsIHN1Y2ggdGhhdAotKyAgLy8gdGhl IHBsYXRmb3JtLXNwZWNpZmljIHNjcmVlbnNhdmVyIHdpbGwgbm90IGJlIHVuLXN1c3BlbmRlZCB1 bnRpbCBhbGwKLSsgIC8vIHJldHVybmVkIHxTY3JlZW5TYXZlclN1c3BlbmRlcnwgaW5zdGFuY2Vz IGhhdmUgYmVlbiBkZXN0cnVjdGVkLgotKyAgdmlydHVhbCBzdGQ6OnVuaXF1ZV9wdHI8U2NyZWVu U2F2ZXJTdXNwZW5kZXI+IFN1c3BlbmRTY3JlZW5TYXZlcigpOwotICNlbmRpZiAgLy8gQlVJTERG TEFHKElTX0NIUk9NRU9TX0xBQ1JPUykgfHwgQlVJTERGTEFHKElTX0xJTlVYKQotIAotICAgLy8g UmV0dXJucyB3aGV0aGVyIHRoZSBzY3JlZW5zYXZlciBpcyBjdXJyZW50bHkgcnVubmluZy4KLUBA IC0yMDAsMTIgKzE5NCw2IEBAIGNsYXNzIERJU1BMQVlfRVhQT1JUIFNjcmVlbiB7Ci0gICAgICAg Y29uc3QgZ2Z4OjpHcHVFeHRyYUluZm8mIGdwdV9leHRyYV9pbmZvKTsKLSAKLSAgcHJvdGVjdGVk OgotLSNpZiBCVUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9TKSB8fCBCVUlMREZMQUcoSVNfTElO VVgpCi0tICAvLyBTdXNwZW5kcyBvciB1bi1zdXNwZW5kcyB0aGUgcGxhdGZvcm0tc3BlY2lmaWMg c2NyZWVuc2F2ZXIsIGFuZCByZXR1cm5zCi0tICAvLyB3aGV0aGVyIHRoZSBvcGVyYXRpb24gd2Fz IHN1Y2Nlc3NmdWwuCi0tICB2aXJ0dWFsIGJvb2wgU2V0U2NyZWVuU2F2ZXJTdXNwZW5kZWQoYm9v bCBzdXNwZW5kKTsKLS0jZW5kaWYgIC8vIEJVSUxERkxBRyhJU19DSFJPTUVPU19MQUNST1MpIHx8 IEJVSUxERkxBRyhJU19MSU5VWCkKLS0KLSAgIHZvaWQgc2V0X3NodXRkb3duKGJvb2wgc2h1dGRv d24pIHsgc2h1dGRvd25fID0gc2h1dGRvd247IH0KLSAKLSAgcHJpdmF0ZToKLWRpZmYgLS1naXQg YS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qvd2F5bGFuZF9zY3JlZW4uY2MgYi91aS9v em9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qvd2F5bGFuZF9zY3JlZW4uY2MKLWluZGV4IDBjN2Rj NWMwMmIuLjE4Y2Q4MWI0NzIgMTAwNjQ0Ci0tLS0gYS91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5k L2hvc3Qvd2F5bGFuZF9zY3JlZW4uY2MKLSsrKyBiL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQv aG9zdC93YXlsYW5kX3NjcmVlbi5jYwotQEAgLTMyNyw2ICszMjcsMzcgQEAgZGlzcGxheTo6RGlz cGxheSBXYXlsYW5kU2NyZWVuOjpHZXREaXNwbGF5TWF0Y2hpbmcoCi0gICByZXR1cm4gZGlzcGxh eV9tYXRjaGluZyA/ICpkaXNwbGF5X21hdGNoaW5nIDogR2V0UHJpbWFyeURpc3BsYXkoKTsKLSB9 Ci0gCi0rc3RkOjp1bmlxdWVfcHRyPFdheWxhbmRTY3JlZW46OldheWxhbmRTY3JlZW5TYXZlclN1 c3BlbmRlcj4KLStXYXlsYW5kU2NyZWVuOjpXYXlsYW5kU2NyZWVuU2F2ZXJTdXNwZW5kZXI6OkNy ZWF0ZShXYXlsYW5kU2NyZWVuJiBzY3JlZW4pIHsKLSsgIGF1dG8gc3VzcGVuZGVyID0gYmFzZTo6 V3JhcFVuaXF1ZShuZXcgV2F5bGFuZFNjcmVlblNhdmVyU3VzcGVuZGVyKHNjcmVlbikpOwotKyAg aWYgKHN1c3BlbmRlci0+aXNfc3VzcGVuZGluZ18pIHsKLSsgICAgc2NyZWVuLnNjcmVlbl9zYXZl cl9zdXNwZW5zaW9uX2NvdW50XysrOwotKyAgICByZXR1cm4gc3VzcGVuZGVyOwotKyAgfQotKwot KyAgcmV0dXJuIG51bGxwdHI7Ci0rfQotKwotK1dheWxhbmRTY3JlZW46OldheWxhbmRTY3JlZW5T YXZlclN1c3BlbmRlcjo6V2F5bGFuZFNjcmVlblNhdmVyU3VzcGVuZGVyKAotKyAgICBXYXlsYW5k U2NyZWVuJiBzY3JlZW4pCi0rICAgIDogc2NyZWVuXyhzY3JlZW4uR2V0V2Vha1B0cigpKSB7Ci0r ICBpc19zdXNwZW5kaW5nXyA9IHNjcmVlbi5TZXRTY3JlZW5TYXZlclN1c3BlbmRlZCh0cnVlKTsK LSt9Ci0rCi0rV2F5bGFuZFNjcmVlbjo6V2F5bGFuZFNjcmVlblNhdmVyU3VzcGVuZGVyOjp+V2F5 bGFuZFNjcmVlblNhdmVyU3VzcGVuZGVyKCkgewotKyAgaWYgKHNjcmVlbl8gJiYgaXNfc3VzcGVu ZGluZ18pIHsKLSsgICAgc2NyZWVuXy0+c2NyZWVuX3NhdmVyX3N1c3BlbnNpb25fY291bnRfLS07 Ci0rICAgIGlmIChzY3JlZW5fLT5zY3JlZW5fc2F2ZXJfc3VzcGVuc2lvbl9jb3VudF8gPT0gMCkg ewotKyAgICAgIHNjcmVlbl8tPlNldFNjcmVlblNhdmVyU3VzcGVuZGVkKGZhbHNlKTsKLSsgICAg fQotKyAgfQotK30KLSsKLStzdGQ6OnVuaXF1ZV9wdHI8UGxhdGZvcm1TY3JlZW46OlBsYXRmb3Jt U2NyZWVuU2F2ZXJTdXNwZW5kZXI+Ci0rV2F5bGFuZFNjcmVlbjo6U3VzcGVuZFNjcmVlblNhdmVy KCkgewotKyAgcmV0dXJuIFdheWxhbmRTY3JlZW5TYXZlclN1c3BlbmRlcjo6Q3JlYXRlKCp0aGlz KTsKLSt9Ci0rCi0gYm9vbCBXYXlsYW5kU2NyZWVuOjpTZXRTY3JlZW5TYXZlclN1c3BlbmRlZChi b29sIHN1c3BlbmQpIHsKLSAgIGlmICghY29ubmVjdGlvbl8tPnp3cF9pZGxlX2luaGliaXRfbWFu YWdlcigpKQotICAgICByZXR1cm4gZmFsc2U7Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZv cm0vd2F5bGFuZC9ob3N0L3dheWxhbmRfc2NyZWVuLmggYi91aS9vem9uZS9wbGF0Zm9ybS93YXls YW5kL2hvc3Qvd2F5bGFuZF9zY3JlZW4uaAotaW5kZXggODczNThmNGYwNi4uOGU1NTE1MTA0YSAx MDA2NDQKLS0tLSBhL3VpL296b25lL3BsYXRmb3JtL3dheWxhbmQvaG9zdC93YXlsYW5kX3NjcmVl bi5oCi0rKysgYi91aS9vem9uZS9wbGF0Zm9ybS93YXlsYW5kL2hvc3Qvd2F5bGFuZF9zY3JlZW4u aAotQEAgLTY4LDcgKzY4LDggQEAgY2xhc3MgV2F5bGFuZFNjcmVlbiA6IHB1YmxpYyBQbGF0Zm9y bVNjcmVlbiB7Ci0gICAgICAgY29uc3QgZ2Z4OjpQb2ludCYgcG9pbnQpIGNvbnN0IG92ZXJyaWRl OwotICAgZGlzcGxheTo6RGlzcGxheSBHZXREaXNwbGF5TWF0Y2hpbmcoCi0gICAgICAgY29uc3Qg Z2Z4OjpSZWN0JiBtYXRjaF9yZWN0KSBjb25zdCBvdmVycmlkZTsKLS0gIGJvb2wgU2V0U2NyZWVu U2F2ZXJTdXNwZW5kZWQoYm9vbCBzdXNwZW5kKSBvdmVycmlkZTsKLSsgIHN0ZDo6dW5pcXVlX3B0 cjxQbGF0Zm9ybVNjcmVlbjo6UGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlcj4KLSsgIFN1c3Bl bmRTY3JlZW5TYXZlcigpIG92ZXJyaWRlOwotICAgYm9vbCBJc1NjcmVlblNhdmVyQWN0aXZlKCkg Y29uc3Qgb3ZlcnJpZGU7Ci0gICBiYXNlOjpUaW1lRGVsdGEgQ2FsY3VsYXRlSWRsZVRpbWUoKSBj b25zdCBvdmVycmlkZTsKLSAgIHZvaWQgQWRkT2JzZXJ2ZXIoZGlzcGxheTo6RGlzcGxheU9ic2Vy dmVyKiBvYnNlcnZlcikgb3ZlcnJpZGU7Ci1AQCAtNzYsNyArNzcsMzMgQEAgY2xhc3MgV2F5bGFu ZFNjcmVlbiA6IHB1YmxpYyBQbGF0Zm9ybVNjcmVlbiB7Ci0gICBzdGQ6OnZlY3RvcjxiYXNlOjpW YWx1ZT4gR2V0R3B1RXh0cmFJbmZvKAotICAgICAgIGNvbnN0IGdmeDo6R3B1RXh0cmFJbmZvJiBn cHVfZXh0cmFfaW5mbykgb3ZlcnJpZGU7Ci0gCi0rIHByb3RlY3RlZDoKLSsgIC8vIFN1c3BlbmRz IG9yIHVuLXN1c3BlbmRzIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBzY3JlZW5zYXZlciwgYW5kIHJl dHVybnMKLSsgIC8vIHdoZXRoZXIgdGhlIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bC4gQ2FuIGJl IGNhbGxlZCBtb3JlIHRoYW4gb25jZSB3aXRoIHRoZQotKyAgLy8gc2FtZSB2YWx1ZSBmb3IgfHN1 c3BlbmR8LCBidXQgdGhvc2Ugc3RhdGVzIHNob3VsZCBub3Qgc3RhY2s6IHRoZSBmaXJzdAotKyAg Ly8gYWx0ZXJuYXRpbmcgdmFsdWUgc2hvdWxkIHRvZ2dsZSB0aGUgc3RhdGUgb2YgdGhlIHN1c3Bl bmQuCi0rICBib29sIFNldFNjcmVlblNhdmVyU3VzcGVuZGVkKGJvb2wgc3VzcGVuZCk7Ci0rCi0g IHByaXZhdGU6Ci0rICBjbGFzcyBXYXlsYW5kU2NyZWVuU2F2ZXJTdXNwZW5kZXIKLSsgICAgICA6 IHB1YmxpYyBQbGF0Zm9ybVNjcmVlbjo6UGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlciB7Ci0r ICAgcHVibGljOgotKyAgICBXYXlsYW5kU2NyZWVuU2F2ZXJTdXNwZW5kZXIoY29uc3QgV2F5bGFu ZFNjcmVlblNhdmVyU3VzcGVuZGVyJikgPSBkZWxldGU7Ci0rICAgIFdheWxhbmRTY3JlZW5TYXZl clN1c3BlbmRlciYgb3BlcmF0b3I9KGNvbnN0IFdheWxhbmRTY3JlZW5TYXZlclN1c3BlbmRlciYp ID0KLSsgICAgICAgIGRlbGV0ZTsKLSsKLSsgICAgfldheWxhbmRTY3JlZW5TYXZlclN1c3BlbmRl cigpIG92ZXJyaWRlOwotKwotKyAgICBzdGF0aWMgc3RkOjp1bmlxdWVfcHRyPFdheWxhbmRTY3Jl ZW5TYXZlclN1c3BlbmRlcj4gQ3JlYXRlKAotKyAgICAgICAgV2F5bGFuZFNjcmVlbiYgc2NyZWVu KTsKLSsKLSsgICBwcml2YXRlOgotKyAgICBleHBsaWNpdCBXYXlsYW5kU2NyZWVuU2F2ZXJTdXNw ZW5kZXIoV2F5bGFuZFNjcmVlbiYgc2NyZWVuKTsKLSsKLSsgICAgYmFzZTo6V2Vha1B0cjxXYXls YW5kU2NyZWVuPiBzY3JlZW5fOwotKyAgICBib29sIGlzX3N1c3BlbmRpbmdfID0gZmFsc2U7Ci0r ICB9OwotKwotICAgLy8gQWxsIHBhcmFtZXRlcnMgYXJlIGluIERJUCBzY3JlZW4gY29vcmRpbmF0 ZXMvdW5pdHMgZXhjZXB0IHxwaHlzaWNhbF9zaXplfCwKLSAgIC8vIHdoaWNoIGlzIGluIHBoeXNp Y2FsIHBpeGVscy4KLSAgIHZvaWQgQWRkT3JVcGRhdGVEaXNwbGF5KHVpbnQzMl90IG91dHB1dF9p ZCwKLUBAIC0xMDMsNiArMTMwLDcgQEAgY2xhc3MgV2F5bGFuZFNjcmVlbiA6IHB1YmxpYyBQbGF0 Zm9ybVNjcmVlbiB7Ci0gI2VuZGlmCi0gCi0gICB3bDo6T2JqZWN0PHp3cF9pZGxlX2luaGliaXRv cl92MT4gaWRsZV9pbmhpYml0b3JfOwotKyAgdWludDMyX3Qgc2NyZWVuX3NhdmVyX3N1c3BlbnNp b25fY291bnRfID0gMDsKLSAKLSAgIGJhc2U6OldlYWtQdHJGYWN0b3J5PFdheWxhbmRTY3JlZW4+ IHdlYWtfZmFjdG9yeV87Ci0gfTsKLWRpZmYgLS1naXQgYS91aS9vem9uZS9wbGF0Zm9ybS94MTEv eDExX3NjcmVlbl9vem9uZS5jYyBiL3VpL296b25lL3BsYXRmb3JtL3gxMS94MTFfc2NyZWVuX296 b25lLmNjCi1pbmRleCA1MzI2NWFiNThhLi5iNDUwZGY5YzgzIDEwMDY0NAotLS0tIGEvdWkvb3pv bmUvcGxhdGZvcm0veDExL3gxMV9zY3JlZW5fb3pvbmUuY2MKLSsrKyBiL3VpL296b25lL3BsYXRm b3JtL3gxMS94MTFfc2NyZWVuX296b25lLmNjCi1AQCAtNCw2ICs0LDggQEAKLSAKLSAjaW5jbHVk ZSAidWkvb3pvbmUvcGxhdGZvcm0veDExL3gxMV9zY3JlZW5fb3pvbmUuaCIKLSAKLSsjaW5jbHVk ZSA8bWVtb3J5PgotKwotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvZmxhdF9zZXQuaCIKLSAj aW5jbHVkZSAidWkvYmFzZS9saW51eC9saW51eF9kZXNrdG9wLmgiCi0gI2luY2x1ZGUgInVpL2Jh c2UveC94MTFfaWRsZV9xdWVyeS5oIgotQEAgLTEzMSw4ICsxMzMsMjkgQEAgZGlzcGxheTo6RGlz cGxheSBYMTFTY3JlZW5Pem9uZTo6R2V0RGlzcGxheU1hdGNoaW5nKAotICAgcmV0dXJuIG1hdGNo aW5nX2Rpc3BsYXkgPyAqbWF0Y2hpbmdfZGlzcGxheSA6IEdldFByaW1hcnlEaXNwbGF5KCk7Ci0g fQotIAotLWJvb2wgWDExU2NyZWVuT3pvbmU6OlNldFNjcmVlblNhdmVyU3VzcGVuZGVkKGJvb2wg c3VzcGVuZCkgewotLSAgcmV0dXJuIFN1c3BlbmRYMTFTY3JlZW5TYXZlcihzdXNwZW5kKTsKLStY MTFTY3JlZW5Pem9uZTo6WDExU2NyZWVuU2F2ZXJTdXNwZW5kZXI6OlgxMVNjcmVlblNhdmVyU3Vz cGVuZGVyKCkgewotKyAgaXNfc3VzcGVuZGluZ18gPSBTdXNwZW5kWDExU2NyZWVuU2F2ZXIodHJ1 ZSk7Ci0rfQotKwotK3N0ZDo6dW5pcXVlX3B0cjxYMTFTY3JlZW5Pem9uZTo6WDExU2NyZWVuU2F2 ZXJTdXNwZW5kZXI+Ci0rWDExU2NyZWVuT3pvbmU6OlgxMVNjcmVlblNhdmVyU3VzcGVuZGVyOjpD cmVhdGUoKSB7Ci0rICBhdXRvIHN1c3BlbmRlciA9IGJhc2U6OldyYXBVbmlxdWUobmV3IFgxMVNj cmVlblNhdmVyU3VzcGVuZGVyKCkpOwotKyAgaWYgKHN1c3BlbmRlci0+aXNfc3VzcGVuZGluZ18p IHsKLSsgICAgcmV0dXJuIHN1c3BlbmRlcjsKLSsgIH0KLSsKLSsgIHJldHVybiBudWxscHRyOwot K30KLSsKLStYMTFTY3JlZW5Pem9uZTo6WDExU2NyZWVuU2F2ZXJTdXNwZW5kZXI6On5YMTFTY3Jl ZW5TYXZlclN1c3BlbmRlcigpIHsKLSsgIGlmIChpc19zdXNwZW5kaW5nXykgewotKyAgICBTdXNw ZW5kWDExU2NyZWVuU2F2ZXIoZmFsc2UpOwotKyAgfQotK30KLSsKLStzdGQ6OnVuaXF1ZV9wdHI8 UGxhdGZvcm1TY3JlZW46OlBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5kZXI+Ci0rWDExU2NyZWVu T3pvbmU6OlN1c3BlbmRTY3JlZW5TYXZlcigpIHsKLSsgIHJldHVybiBYMTFTY3JlZW5TYXZlclN1 c3BlbmRlcjo6Q3JlYXRlKCk7Ci0gfQotIAotIGJvb2wgWDExU2NyZWVuT3pvbmU6OklzU2NyZWVu U2F2ZXJBY3RpdmUoKSBjb25zdCB7Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcGxhdGZvcm0veDEx L3gxMV9zY3JlZW5fb3pvbmUuaCBiL3VpL296b25lL3BsYXRmb3JtL3gxMS94MTFfc2NyZWVuX296 b25lLmgKLWluZGV4IGQ4NmFjYWU5YWEuLjgxZTBmZDEzZDggMTAwNjQ0Ci0tLS0gYS91aS9vem9u ZS9wbGF0Zm9ybS94MTEveDExX3NjcmVlbl9vem9uZS5oCi0rKysgYi91aS9vem9uZS9wbGF0Zm9y bS94MTEveDExX3NjcmVlbl9vem9uZS5oCi1AQCAtNTAsNyArNTAsOCBAQCBjbGFzcyBYMTFTY3Jl ZW5Pem9uZSA6IHB1YmxpYyBQbGF0Zm9ybVNjcmVlbiwKLSAgICAgICBjb25zdCBnZng6OlBvaW50 JiBwb2ludCkgY29uc3Qgb3ZlcnJpZGU7Ci0gICBkaXNwbGF5OjpEaXNwbGF5IEdldERpc3BsYXlN YXRjaGluZygKLSAgICAgICBjb25zdCBnZng6OlJlY3QmIG1hdGNoX3JlY3QpIGNvbnN0IG92ZXJy aWRlOwotLSAgYm9vbCBTZXRTY3JlZW5TYXZlclN1c3BlbmRlZChib29sIHN1c3BlbmQpIG92ZXJy aWRlOwotKyAgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtU2NyZWVuOjpQbGF0Zm9ybVNjcmVlblNh dmVyU3VzcGVuZGVyPgotKyAgU3VzcGVuZFNjcmVlblNhdmVyKCkgb3ZlcnJpZGU7Ci0gICBib29s IElzU2NyZWVuU2F2ZXJBY3RpdmUoKSBjb25zdCBvdmVycmlkZTsKLSAgIGJhc2U6OlRpbWVEZWx0 YSBDYWxjdWxhdGVJZGxlVGltZSgpIGNvbnN0IG92ZXJyaWRlOwotICAgdm9pZCBBZGRPYnNlcnZl cihkaXNwbGF5OjpEaXNwbGF5T2JzZXJ2ZXIqIG9ic2VydmVyKSBvdmVycmlkZTsKLUBAIC02Niw2 ICs2NywyMiBAQCBjbGFzcyBYMTFTY3JlZW5Pem9uZSA6IHB1YmxpYyBQbGF0Zm9ybVNjcmVlbiwK LSAgcHJpdmF0ZToKLSAgIGZyaWVuZCBjbGFzcyBYMTFTY3JlZW5Pem9uZVRlc3Q7Ci0gCi0rICBj bGFzcyBYMTFTY3JlZW5TYXZlclN1c3BlbmRlcgotKyAgICAgIDogcHVibGljIFBsYXRmb3JtU2Ny ZWVuOjpQbGF0Zm9ybVNjcmVlblNhdmVyU3VzcGVuZGVyIHsKLSsgICBwdWJsaWM6Ci0rICAgIFgx MVNjcmVlblNhdmVyU3VzcGVuZGVyKGNvbnN0IFgxMVNjcmVlblNhdmVyU3VzcGVuZGVyJikgPSBk ZWxldGU7Ci0rICAgIFgxMVNjcmVlblNhdmVyU3VzcGVuZGVyJiBvcGVyYXRvcj0oY29uc3QgWDEx U2NyZWVuU2F2ZXJTdXNwZW5kZXImKSA9IGRlbGV0ZTsKLSsKLSsgICAgflgxMVNjcmVlblNhdmVy U3VzcGVuZGVyKCkgb3ZlcnJpZGU7Ci0rCi0rICAgIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8WDEx U2NyZWVuU2F2ZXJTdXNwZW5kZXI+IENyZWF0ZSgpOwotKwotKyAgIHByaXZhdGU6Ci0rICAgIFgx MVNjcmVlblNhdmVyU3VzcGVuZGVyKCk7Ci0rCi0rICAgIGJvb2wgaXNfc3VzcGVuZGluZ18gPSBm YWxzZTsKLSsgIH07Ci0rCi0gICAvLyBPdmVycmlkZGVuIGZyb20gdWk6OlhEaXNwbGF5TWFuYWdl cjo6RGVsZWdhdGU6Ci0gICB2b2lkIE9uWERpc3BsYXlMaXN0VXBkYXRlZCgpIG92ZXJyaWRlOwot ICAgZmxvYXQgR2V0WERpc3BsYXlTY2FsZUZhY3RvcigpIGNvbnN0IG92ZXJyaWRlOwotZGlmZiAt LWdpdCBhL3VpL296b25lL3B1YmxpYy9wbGF0Zm9ybV9zY3JlZW4uY2MgYi91aS9vem9uZS9wdWJs aWMvcGxhdGZvcm1fc2NyZWVuLmNjCi1pbmRleCA5OGY1OTlhYTQxLi4yMzUzMjA4Mzk2IDEwMDY0 NAotLS0tIGEvdWkvb3pvbmUvcHVibGljL3BsYXRmb3JtX3NjcmVlbi5jYwotKysrIGIvdWkvb3pv bmUvcHVibGljL3BsYXRmb3JtX3NjcmVlbi5jYwotQEAgLTMwLDkgKzMwLDEzIEBAIHN0ZDo6c3Ry aW5nIFBsYXRmb3JtU2NyZWVuOjpHZXRDdXJyZW50V29ya3NwYWNlKCkgewotICAgcmV0dXJuIHt9 OwotIH0KLSAKLS1ib29sIFBsYXRmb3JtU2NyZWVuOjpTZXRTY3JlZW5TYXZlclN1c3BlbmRlZChi b29sIHN1c3BlbmQpIHsKLStQbGF0Zm9ybVNjcmVlbjo6UGxhdGZvcm1TY3JlZW5TYXZlclN1c3Bl bmRlcjo6flBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5kZXIoKSA9Ci0rICAgIGRlZmF1bHQ7Ci0r Ci0rc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtU2NyZWVuOjpQbGF0Zm9ybVNjcmVlblNhdmVyU3Vz cGVuZGVyPgotK1BsYXRmb3JtU2NyZWVuOjpTdXNwZW5kU2NyZWVuU2F2ZXIoKSB7Ci0gICBOT1RJ TVBMRU1FTlRFRF9MT0dfT05DRSgpOwotLSAgcmV0dXJuIGZhbHNlOwotKyAgcmV0dXJuIG51bGxw dHI7Ci0gfQotIAotIGJvb2wgUGxhdGZvcm1TY3JlZW46OklzU2NyZWVuU2F2ZXJBY3RpdmUoKSBj b25zdCB7Ci1kaWZmIC0tZ2l0IGEvdWkvb3pvbmUvcHVibGljL3BsYXRmb3JtX3NjcmVlbi5oIGIv dWkvb3pvbmUvcHVibGljL3BsYXRmb3JtX3NjcmVlbi5oCi1pbmRleCAwOTEyMjBhOTlmLi5lNGFk ZmFmY2UzIDEwMDY0NAotLS0tIGEvdWkvb3pvbmUvcHVibGljL3BsYXRmb3JtX3NjcmVlbi5oCi0r KysgYi91aS9vem9uZS9wdWJsaWMvcGxhdGZvcm1fc2NyZWVuLmgKLUBAIC04OSwxMSArODksMjcg QEAgY2xhc3MgQ09NUE9ORU5UX0VYUE9SVChPWk9ORV9CQVNFKSBQbGF0Zm9ybVNjcmVlbiB7Ci0g ICB2aXJ0dWFsIGRpc3BsYXk6OkRpc3BsYXkgR2V0RGlzcGxheU1hdGNoaW5nKAotICAgICAgIGNv bnN0IGdmeDo6UmVjdCYgbWF0Y2hfcmVjdCkgY29uc3QgPSAwOwotIAotLSAgLy8gU3VzcGVuZHMg b3IgdW4tc3VzcGVuZHMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHNjcmVlbnNhdmVyLCBhbmQgcmV0 dXJucwotLSAgLy8gd2hldGhlciB0aGUgb3BlcmF0aW9uIHdhcyBzdWNjZXNzZnVsLiBDYW4gYmUg Y2FsbGVkIG1vcmUgdGhhbiBvbmNlIHdpdGggdGhlCi0tICAvLyBzYW1lIHZhbHVlIGZvciB8c3Vz cGVuZHwsIGJ1dCB0aG9zZSBzdGF0ZXMgc2hvdWxkIG5vdCBzdGFjazogdGhlIGZpcnN0Ci0tICAv LyBhbHRlcm5hdGluZyB2YWx1ZSBzaG91bGQgdG9nZ2xlIHRoZSBzdGF0ZSBvZiB0aGUgc3VzcGVu ZC4KLS0gIHZpcnR1YWwgYm9vbCBTZXRTY3JlZW5TYXZlclN1c3BlbmRlZChib29sIHN1c3BlbmQp OwotKyAgLy8gT2JqZWN0IHdoaWNoIHN1c3BlbmRzIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBzY3Jl ZW5zYXZlciBmb3IgdGhlIGR1cmF0aW9uIG9mCi0rICAvLyBpdHMgZXhpc3RlbmNlLgotKyAgY2xh c3MgUGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlciB7Ci0rICAgcHVibGljOgotKyAgICBQbGF0 Zm9ybVNjcmVlblNhdmVyU3VzcGVuZGVyKCkgPSBkZWZhdWx0OwotKwotKyAgICBQbGF0Zm9ybVNj cmVlblNhdmVyU3VzcGVuZGVyKGNvbnN0IFBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5kZXImKSA9 IGRlbGV0ZTsKLSsgICAgUGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlciYgb3BlcmF0b3I9KAot KyAgICAgICAgY29uc3QgUGxhdGZvcm1TY3JlZW5TYXZlclN1c3BlbmRlciYpID0gZGVsZXRlOwot KwotKyAgICAvLyBDYXVzZXMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHNjcmVlbnNhdmVyIHRvIGJl IHVuLXN1c3BlbmRlZCBpZmYgdGhpcyBpcwotKyAgICAvLyB0aGUgbGFzdCByZW1haW5pbmcgaW5z dGFuY2UuCi0rICAgIHZpcnR1YWwgflBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5kZXIoKSA9IDA7 Ci0rICB9OwotKwotKyAgLy8gU3VzcGVuZHMgdGhlIHBsYXRmb3JtLXNwZWNpZmljIHNjcmVlbnNh dmVyIHVudGlsIHRoZSByZXR1cm5lZAotKyAgLy8gfFBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5k ZXJ8IGlzIGRlc3RydWN0ZWQsIG9yIHJldHVybnMgbnVsbHB0ciBpZgotKyAgLy8gc3VzcGVuc2lv biBmYWlsZWQuIFRoaXMgbWV0aG9kIGFsbG93cyBzdGFja2luZyBtdWx0aXBsZSBvdmVybGFwcGlu ZyBjYWxscywKLSsgIC8vIHN1Y2ggdGhhdCB0aGUgcGxhdGZvcm0tc3BlY2lmaWMgc2NyZWVuc2F2 ZXIgd2lsbCBub3QgYmUgdW4tc3VzcGVuZGVkIHVudGlsCi0rICAvLyBhbGwgcmV0dXJuZWQgfFBs YXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5kZXJ8IGluc3RhbmNlcyBoYXZlIGJlZW4gZGVzdHJ1Y3Rl ZC4KLSsgIHZpcnR1YWwgc3RkOjp1bmlxdWVfcHRyPFBsYXRmb3JtU2NyZWVuU2F2ZXJTdXNwZW5k ZXI+IFN1c3BlbmRTY3JlZW5TYXZlcigpOwotIAotICAgLy8gUmV0dXJucyB3aGV0aGVyIHRoZSBz Y3JlZW5zYXZlciBpcyBjdXJyZW50bHkgcnVubmluZy4KLSAgIHZpcnR1YWwgYm9vbCBJc1NjcmVl blNhdmVyQWN0aXZlKCkgY29uc3Q7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMveHh4LXBwYzY0bGUtNGstcGFnZXMucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv eHh4LXBwYzY0bGUtNGstcGFnZXMucGF0Y2gKaW5kZXggODg2YmUwYmY0NjY2Li4yOGM0YWQzNWYx NGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS00ay1w YWdlcy5wYXRjaAorKysgYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtNGst cGFnZXMucGF0Y2gKQEAgLTM4LDE5ICszOCwyMyBAQCBpbmRleCAwYjkyNjBkLi4zZTA1NGVjIDEw MDY0NAogICNlbGlmIChCVUlMREZMQUcoSVNfQVBQTEUpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRf QklUUykpIHx8IFwKICAgICAgKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgZGVmaW5lZChBUkNIX0NQ VV9BUk02NCkpCiAgUEFHRV9BTExPQ0FUT1JfQ09OU1RBTlRTX0RFQ0xBUkVfQ09OU1RFWFBSIFBB X0FMV0FZU19JTkxJTkUgc2l6ZV90Ci1kaWZmIC0tZ2l0IGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0 aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfZm9yd2FyZC5oIGIvYmFzZS9hbGxvY2F0b3Iv cGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfZm9yd2FyZC5oCi1pbmRleCA5Mzhl YTM4Li45NDE0YjQxIDEwMDY0NAogLS0tIGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9wYXJ0aXRpb25fYWxsb2NfZm9yd2FyZC5oCiArKysgYi9iYXNlL2FsbG9jYXRvci9wYXJ0 aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19mb3J3YXJkLmgKLUBAIC0yNiw3ICsyNiwx MCBAQCBuYW1lc3BhY2UgYmFzZSB7Ci0gLy8KLSAvLyBfX1NURENQUF9ERUZBVUxUX05FV19BTElH Tk1FTlRfXyBpcyBDKysxNy4gQXMgc3VjaCwgaXQgaXMgbm90IGRlZmluZWQgb24gYWxsCi0gLy8g cGxhdGZvcm1zLCBhcyBDaHJvbWUncyByZXF1aXJlbWVudCBpcyBDKysxNCBhcyBvZiAyMDIwLgot LSNpZiBkZWZpbmVkKF9fU1REQ1BQX0RFRkFVTFRfTkVXX0FMSUdOTUVOVF9fKQorQEAgLTI1LDEy ICsyNSwxNyBAQAorIC8vIHRoZSBzZWNvbmQgb25lIDE2LiBXZSBjb3VsZCB0ZWNobmljYWxseSBy ZXR1cm4gc29tZXRoaW5nIGRpZmZlcmVudCBmb3IKKyAvLyBtYWxsb2MoKSBhbmQgb3BlcmF0b3Ig bmV3KCksIGJ1dCB0aGlzIHdvdWxkIGNvbXBsaWNhdGUgdGhpbmdzLCBhbmQgbW9zdCBvZgorIC8v IG91ciBhbGxvY2F0aW9ucyBhcmUgcHJlc3VtYWJseSBjb21pbmcgZnJvbSBvcGVyYXRvciBuZXco KSBhbnl3YXkuCiArI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKICsvKiB3ZSB3YW50IHRoaXMg dG8gYmUgMTYgaGVyZSBhbHdheXMgKi8KICtjb25zdGV4cHIgc2l6ZV90IGtBbGlnbm1lbnQgPSAx NjsKLSsjZWxpZiBkZWZpbmVkKF9fU1REQ1BQX0RFRkFVTFRfTkVXX0FMSUdOTUVOVF9fKQorKyNl bHNlCiAgY29uc3RleHByIHNpemVfdCBrQWxpZ25tZW50ID0KLSAgICAgc3RkOjptYXgoYWxpZ25v ZihtYXhfYWxpZ25fdCksIF9fU1REQ1BQX0RFRkFVTFRfTkVXX0FMSUdOTUVOVF9fKTsKLSAjZWxz ZQorICAgICBzdGQ6Om1heChhbGlnbm9mKG1heF9hbGlnbl90KSwKKyAgICAgICAgICAgICAgc3Rh dGljX2Nhc3Q8c2l6ZV90PihfX1NURENQUF9ERUZBVUxUX05FV19BTElHTk1FTlRfXykpOworIHN0 YXRpY19hc3NlcnQoa0FsaWdubWVudCA8PSAxNiwKKyAgICAgICAgICAgICAgICJQYXJ0aXRpb25B bGxvYyBkb2Vzbid0IHN1cHBvcnQgYSBmdW5kYW1lbnRhbCBhbGlnbm1lbnQgbGFyZ2VyICIKKyAg ICAgICAgICAgICAgICJ0aGFuIDE2IGJ5dGVzLiIpOworKyNlbmRpZgorIAorIGNvbnN0ZXhwciBi b29sIFRocmVhZFNhZmUgPSB0cnVlOworIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNo ZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAppbmRleCBkOWEyNzI0ZTFlMjIuLjNjMmRmMzE1 NjZlYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1 cHBvcnQucGF0Y2gKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1 cHBvcnQucGF0Y2gKQEAgLTM1NTEsMTYgKzM1NTEsMTYgQEAgZGlmZiAtLWdpdCBhL3Y4L3Rlc3Qv QlVJTEQuZ24gYi92OC90ZXN0L0JVSUxELmduCiBpbmRleCBmYjg3MmFkMzkuLjQ1ZmM1ODVkZCAx MDA2NDQKIC0tLSBhL3Y4L3Rlc3QvQlVJTEQuZ24KICsrKyBiL3Y4L3Rlc3QvQlVJTEQuZ24KLUBA IC0zNiw3ICszNiw3IEBAIGdyb3VwKCJnbl9hbGwiKSB7CitAQCAtNDIsNyArNDIsNyBAQCBncm91 cCgiZ25fYWxsIikgewogICAgICAgICJiZW5jaG1hcmtzL2NwcDpnbl9hbGwiLAogICAgICAgICJj Y3Rlc3Q6Y2N0ZXN0IiwKLSAgICAgICAiY2N0ZXN0OmdlbmVyYXRlLWJ5dGVjb2RlLWV4cGVjdGF0 aW9ucyIsCisgICAgICAgInVuaXR0ZXN0czpnZW5lcmF0ZS1ieXRlY29kZS1leHBlY3RhdGlvbnMi LAogLSAgICAgICJ1bml0dGVzdHM6dW5pdHRlc3RzIiwKICsgICAgICAjInVuaXR0ZXN0czp1bml0 dGVzdHMiLAogICAgICBdCiAgICB9CiAgfQotQEAgLTgzLDcgKzgzLDcgQEAKK0BAIC04NCw3ICs4 NCw3IEBACiAgICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAogICAgICAibWpzdW5pdDp2OF9tanN1 bml0IiwKICAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIsCkBAIC0zNTY5LDcgKzM1NjksNyBA QCBpbmRleCBmYjg3MmFkMzkuLjQ1ZmM1ODVkZCAxMDA2NDQKICAgICAgIndlYmtpdDp2OF93ZWJr aXQiLAogICAgXQogIAotQEAgLTEwOCw3ICsxMDgsNyBAQAorQEAgLTEwOSw3ICsxMDksNyBAQAog ICAgICAibWVzc2FnZTp2OF9tZXNzYWdlIiwKICAgICAgIm1qc3VuaXQ6djhfbWpzdW5pdCIsCiAg ICAgICJta2dyb2tkdW1wOm1rZ3Jva2R1bXAiLApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1 bS90ZW1wbGF0ZSBiL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKaW5kZXggNmE1ZmM3NmRlMGFh Li4wMWQ0YTA3NWQ3NTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vdGVtcGxhdGUKKysr IGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVtcGxhdGUg ZmlsZSBmb3IgJ2Nocm9taXVtJwogcGtnbmFtZT1jaHJvbWl1bQogIyBTZWUgaHR0cHM6Ly9jaHJv bWl1bWRhc2guYXBwc3BvdC5jb20vcmVsZWFzZXM/cGxhdGZvcm09TGludXggZm9yIHRoZSBsYXRl c3QgdmVyc2lvbgotdmVyc2lvbj0xMDQuMC41MTEyLjEwMQordmVyc2lvbj0xMDUuMC41MTk1LjEw MgogcmV2aXNpb249MQogYXJjaHM9Imk2ODYqIHg4Nl82NCogYWFyY2g2NCogYXJtdjdsKiBwcGM2 NGxlKiIKIHNob3J0X2Rlc2M9Ikdvb2dsZSdzIGF0dGVtcHQgYXQgY3JlYXRpbmcgYSBzYWZlciwg ZmFzdGVyLCBhbmQgbW9yZSBzdGFibGUgYnJvd3NlciIKQEAgLTksNyArOSw3IEBAIG1haW50YWlu ZXI9IkR1bmNhZW4gPGR1bmNhZW5Adm9pZGxpbnV4Lm9yZz4iCiBsaWNlbnNlPSJCU0QtMy1DbGF1 c2UiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cuY2hyb21pdW0ub3JnLyIKIGRpc3RmaWxlcz0iaHR0 cHM6Ly9jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jaHJvbWl1bS1icm93c2VyLW9m ZmljaWFsLyR7cGtnbmFtZX0tJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT02MGYwMTVlMTU1 OWRlNDA0NGNkZmEzYmRjMWY4ZmRlNTM1OTI3YzhhYjE1YjA5NTljY2M5YjZmZWVjODMyZjViCitj aGVja3N1bT0xY2JhMDUyN2M5NTFlM2M1MDZhZGU5NmNmNmVjMjUwN2VlOWQ0MzY2MTc2NDczMWVk ODk2MzQ4MTgyMzY5MjYyCiAKIGxpYjMyZGlzYWJsZWQ9eWVzCiAK --===============2966988072355187493==--