From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 23105 invoked from network); 19 Feb 2023 02:08:04 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 19 Feb 2023 02:08:04 -0000 Content-Type: multipart/mixed; boundary="===============7315031731172742257==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_=5BREDO=5D_New_package=3A_qt6-webengine-6=2E4=2E2=2E?= To: ml@inbox.vuxu.org From: sgn Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 19 Feb 2023 03:08:04 +0100 List-Id: Message-ID: <20230219020804.ssDbhqmwKj3maTYlZ57jXiIZXhwNqf445U8dnSgFcgc@z> GitHub notification mails are now in MIME to allow UTF8. --===============7315031731172742257== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgc2duIGFnYWluc3QgbWFzdGVyIG9u IHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9zZ24vdm9p ZC1wYWNrYWdlcyBxdDYtd2ViZW5naW5lCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC80MjIyNAoKW1JFRE9dIE5ldyBwYWNrYWdlOiBxdDYtd2ViZW5naW5l LTYuNC4yLgo8IS0tIFVuY29tbWVudCByZWxldmFudCBzZWN0aW9ucyBhbmQgZGVsZXRlIG9wdGlv bnMgd2hpY2ggYXJlIG5vdCBhcHBsaWNhYmxlIC0tPg0KDQojIyMjIFRlc3RpbmcgdGhlIGNoYW5n ZXMNCi0gSSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogKipicmllZmx5KioNCg0KPCEt LQ0KIyMjIyBOZXcgcGFja2FnZQ0KLSBUaGlzIG5ldyBwYWNrYWdlIGNvbmZvcm1zIHRvIHRoZSBb cGFja2FnZSByZXF1aXJlbWVudHNdKGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQt cGFja2FnZXMvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI3BhY2thZ2UtcmVxdWlyZW1lbnRz KTogKipZRVMqKnwqKk5PKioNCi0tPg0KDQo8IS0tIE5vdGU6IElmIHRoZSBidWlsZCBpcyBsaWtl bHkgdG8gdGFrZSBtb3JlIHRoYW4gMiBob3VycywgcGxlYXNlIGFkZCBjaSBza2lwIHRhZyBhcyBk ZXNjcmliZWQgaW4NCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMv YmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kI2NvbnRpbnVvdXMtaW50ZWdyYXRpb24NCmFuZCB0 ZXN0IGF0IGxlYXN0IG9uZSBuYXRpdmUgYnVpbGQgYW5kLCBpZiBzdXBwb3J0ZWQsIGF0IGxlYXN0 IG9uZSBjcm9zcyBidWlsZC4NCklnbm9yZSB0aGlzIHNlY3Rpb24gaWYgdGhpcyBQUiBpcyBub3Qg c2tpcHBpbmcgQ0kuDQotLT4NCg0KIyMjIyBMb2NhbCBidWlsZCB0ZXN0aW5nDQotIEkgYnVpbHQg dGhpcyBQUiBsb2NhbGx5IGZvciBteSBuYXRpdmUgYXJjaGl0ZWN0dXJlOg0KICAgIC0gW3hdIGB4 ODZfNjRgDQogICAgLSBbeF0gYHg4Nl82NC1tdXNsYA0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxs eSBmb3IgdGhlc2UgYXJjaGl0ZWN0dXJlcyAoaWYgc3VwcG9ydGVkLiBtYXJrIGNyb3NzYnVpbGRz KToNCiAgICAtIFsgXSBhYXJjaDY0DQogICAgLSBbIF0gYWFyY2g2NC1tdXNsDQogICAgLSBbIF0g aTY4Ng0KICAgIC0gWyBdIGFybXY3LW11c2wNCiAgICAtIFsgXSBhcm12Nw0KDQoNCgoKQSBwYXRj aCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9w dWxsLzQyMjI0LnBhdGNoIGlzIGF0dGFjaGVk --===============7315031731172742257== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-qt6-webengine-42224.patch" RnJvbSA5ZGUzN2MzZTE2ZmFmODk2NTllNWZkMWFhYjhmMTkzNTM0MTM0MTNmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1B N249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogRnJp LCAxNyBGZWIgMjAyMyAxMTo0MzowOSArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMDEvMjZdIHF0Ni1i YXNlOiB1cGRhdGUgdG8gNi40LjIuCgotLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9jb21w bGV4LXRleHQucGF0Y2ggICB8ICAwCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVl eGNlcHQucGF0Y2ggfCAgNiArLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9tYXJrZG93bi1t dXNsLnBhdGNoICB8IDI1ICsrLS0tLS0tLS0tCiBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVz bC1saW1pdHMucGF0Y2ggICAgfCAxMiArKystLS0KIC4uLi9xdDYtYmFzZS9wYXRjaGVzL211c2wt dXNyLXBhdGgtaGFjay5wYXRjaCB8IDEwICsrLS0tCiAuLi51cmNlLXJvb3QtZGlyLWxhc3QtbW9k aWZpZWQtaXMtdmFsaWQucGF0Y2ggfCAgNiArLS0KIC4uLi9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1x cm91bmQtcGFzc2VkLnBhdGNoICB8ICA4ICsrLS0KIHNyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy96 ZnMtc3RvcmFnZS5wYXRjaCAgICB8ICA2ICstLQogc3JjcGtncy9xdDYtYmFzZS90ZW1wbGF0ZSAg ICAgICAgICAgICAgICAgICAgIHwgNDEgKysrKysrKystLS0tLS0tLS0tLQogOSBmaWxlcyBjaGFu Z2VkLCA0NSBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvY29tcGxleC10ZXh0LnBhdGNoCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL2NvbXBsZXgtdGV4dC5wYXRjaCBiL3NyY3BrZ3Mv cXQ2LWJhc2UvcGF0Y2hlcy9jb21wbGV4LXRleHQucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGU2OWRlMjliYjJkMS4uMDAwMDAwMDAwMDAwCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2ggYi9zcmNwa2dzL3F0Ni1iYXNl L3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0Y2gKaW5kZXggMWI1NjE3MzFiNjM0Li45YjI2OGJj OTVkM2UgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9mZWVuYWJsZWV4Y2Vw dC5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvZmVlbmFibGVleGNlcHQucGF0 Y2gKQEAgLTEsNiArMSw2IEBACi0tLS0gYS90ZXN0cy9hdXRvL2NvcmVsaWIvdGV4dC9xbG9jYWxl L3RzdF9xbG9jYWxlLmNwcAotKysrIGIvdGVzdHMvYXV0by9jb3JlbGliL3RleHQvcWxvY2FsZS90 c3RfcWxvY2FsZS5jcHAKLUBAIC0xNDUzLDggKzE0NTMsMTAgQEAgdm9pZCB0c3RfUUxvY2FsZTo6 ZnBFeGNlcHRpb25zKCkKKy0tLSBxdDYtYmFzZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8vY29yZWxp Yi90ZXh0L3Fsb2NhbGUvdHN0X3Fsb2NhbGUuY3BwCisrKysgcXQ2LWJhc2UtNi40LjIvdGVzdHMv YXV0by9jb3JlbGliL3RleHQvcWxvY2FsZS90c3RfcWxvY2FsZS5jcHAKK0BAIC0xNTAyLDggKzE1 MDIsMTAgQEAgdm9pZCB0c3RfUUxvY2FsZTo6ZnBFeGNlcHRpb25zKCkKICAgICAgZmVudl90IGVu dnA7CiAgICAgIGZlZ2V0ZW52KCZlbnZwKTsKICAgICAgZmVjbGVhcmV4Y2VwdChGRV9BTExfRVhD RVBUKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9tYXJrZG93bi1tdXNs LnBhdGNoIGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL21hcmtkb3duLW11c2wucGF0Y2gKaW5k ZXggZDI5OTc3YjdkMzNhLi41YzE2YjNmYmIzZWEgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJh c2UvcGF0Y2hlcy9tYXJrZG93bi1tdXNsLnBhdGNoCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0 Y2hlcy9tYXJrZG93bi1tdXNsLnBhdGNoCkBAIC0xLDEwICsxLDEwIEBACi0tLS0gYS90ZXN0cy9h dXRvL2d1aS90ZXh0L3F0ZXh0bWFya2Rvd25pbXBvcnRlci90c3RfcXRleHRtYXJrZG93bmltcG9y dGVyLmNwcAotKysrIGIvdGVzdHMvYXV0by9ndWkvdGV4dC9xdGV4dG1hcmtkb3duaW1wb3J0ZXIv dHN0X3F0ZXh0bWFya2Rvd25pbXBvcnRlci5jcHAKLUBAIC0yMjksOSArMjI5LDExIEBAIHZvaWQg dHN0X1FUZXh0TWFya2Rvd25JbXBvcnRlcjo6bGlzdHNfZGEKKy0tLSBxdDYtYmFzZS02LjQuMi5v cmlnL3Rlc3RzL2F1dG8vZ3VpL3RleHQvcXRleHRtYXJrZG93bmltcG9ydGVyL3RzdF9xdGV4dG1h cmtkb3duaW1wb3J0ZXIuY3BwCisrKysgcXQ2LWJhc2UtNi40LjIvdGVzdHMvYXV0by9ndWkvdGV4 dC9xdGV4dG1hcmtkb3duaW1wb3J0ZXIvdHN0X3F0ZXh0bWFya2Rvd25pbXBvcnRlci5jcHAKK0BA IC0yMDQsOSArMjA0LDExIEBAIHZvaWQgdHN0X1FUZXh0TWFya2Rvd25JbXBvcnRlcjo6bGlzdHNf ZGEKICAgICAgUVRlc3Q6Om5ld1JvdygibnVtZXJpYyBsaXN0cyBuZXN0ZWQgaW4gZW1wdHkgbGlz dHMiKQogICAgICAgICAgICAgIDw8ICItIFxuICAgIDEuICBhXG4gICAgMi4gIGJcbi0gY1xuICAx LlxuICAgICAgICsgZFxuIiA8PCA0IDw8IGZhbHNlCiAgICAgICAgICAgICAgPDwgIi0gXG4gICAg MS4gIGFcbiAgICAyLiAgYlxuLSBjIDEuICsgZFxuIjsKLSsjaWYgMAorKyNpZmRlZiBfX0dMSUNf XwogICAgICBRVGVzdDo6bmV3Um93KCJzdHlsZWQgc3BhbnMgaW4gbGlzdCBpdGVtcyIpCiAgICAg ICAgICAgICAgPDwgIjEuICBub3JtYWwgdGV4dFxuMi4gICoqYm9sZCoqIHRleHRcbjMuICBgY29k ZWAgaW4gdGhlIGl0ZW1cbjQuICAqaXRhbGljKiB0ZXh0XG41LiAgX3VuZGVybGluZWRfIHRleHRc biIgPDwgNSA8PCBmYWxzZQogICAgICAgICAgICAgIDw8ICIxLiAgbm9ybWFsIHRleHRcbjIuICAq KmJvbGQqKiB0ZXh0XG4zLiAgYGNvZGVgIGluIHRoZSBpdGVtXG40LiAgKml0YWxpYyogdGV4dFxu NS4gIF91bmRlcmxpbmVkXyB0ZXh0XG4iOwpAQCAtMTIsMjAgKzEyLDMgQEAKICB9CiAgCiAgdm9p ZCB0c3RfUVRleHRNYXJrZG93bkltcG9ydGVyOjpsaXN0cygpCi0tLS0gYS90ZXN0cy9hdXRvL3dp ZGdldHMvZ3JhcGhpY3N2aWV3L3FncmFwaGljc3dpZGdldC90c3RfcWdyYXBoaWNzd2lkZ2V0LmNw cAotKysrIGIvdGVzdHMvYXV0by93aWRnZXRzL2dyYXBoaWNzdmlldy9xZ3JhcGhpY3N3aWRnZXQv dHN0X3FncmFwaGljc3dpZGdldC5jcHAKLUBAIC0xNzc2LDExICsxNzc2LDE0IEBAIHZvaWQgdHN0 X1FHcmFwaGljc1dpZGdldDo6dXBkYXRlRm9jdXNDaGEKLSAgICAgY29uc3QgUVBvaW50IGNlbnRl cih2aWV3LnZpZXdwb3J0KCktPndpZHRoKCkgLyAyLCB2aWV3LnZpZXdwb3J0KCktPmhlaWdodCgp IC8gMik7Ci0gICAgIFFUZXN0Ojptb3VzZU1vdmUodmlldy52aWV3cG9ydCgpLCBjZW50ZXIpOwot ICAgICBRVGVzdDo6bW91c2VDbGljayh2aWV3LnZpZXdwb3J0KCksIFF0OjpMZWZ0QnV0dG9uLCB7 fSwgY2VudGVyKTsKLSsjaWYgMAotKyAgICAvLyBTYW1lIHN5bXB0b24gd2l0aCBRVEJVRy0yMzY5 OQotICNpZmRlZiBRX09TX01BQwotICAgICBRRVhQRUNUX0ZBSUwoIiIsICJRVEJVRy0yMzY5OSIs IENvbnRpbnVlKTsKLSAjZW5kaWYKLSAgICAgUVRSWV9DT01QQVJFKHFBcHAtPmFjdGl2ZVdpbmRv dygpLCBzdGF0aWNfY2FzdDxRV2lkZ2V0ICo+KCZ2aWV3KSk7Ci0gICAgIFFUUllfQ09NUEFSRShz Y2VuZS5mb2N1c0l0ZW0oKSwgc3RhdGljX2Nhc3Q8UUdyYXBoaWNzSXRlbSAqPih3KSk7Ci0rI2Vu ZGlmCi0gfQotIAotIHZvaWQgdHN0X1FHcmFwaGljc1dpZGdldDo6c2l6ZUhpbnRfZGF0YSgpCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC1saW1pdHMucGF0Y2ggYi9z cmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC1saW1pdHMucGF0Y2gKaW5kZXggNWE3NWY0ZmUz OGE1Li5kYTZkMjcyZDk5ZGUgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9t dXNsLWxpbWl0cy5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC1saW1p dHMucGF0Y2gKQEAgLTEsNiArMSw2IEBACi0tLS0gYS9xbWFrZS9saWJyYXJ5L2lvdXRpbHMuY3Bw CTIwMjAtMDktMjQgMTc6NTU6NTMuMDAwMDAwMDAwICswMjAwCi0rKysgYi9xbWFrZS9saWJyYXJ5 L2lvdXRpbHMuY3BwCTIwMjAtMDktMjQgMTc6NTU6NTMuMDAwMDAwMDAwICswMjAwCi1AQCAtNDAs NiArNDAsNyBAQAorLS0tIHF0Ni1iYXNlLTYuNC4yLm9yaWcvcW1ha2UvbGlicmFyeS9pb3V0aWxz LmNwcAorKysrIHF0Ni1iYXNlLTYuNC4yL3FtYWtlL2xpYnJhcnkvaW91dGlscy5jcHAKK0BAIC0x NSw2ICsxNSw3IEBACiAgIyAgaW5jbHVkZSA8dW5pc3RkLmg+CiAgIyAgaW5jbHVkZSA8dXRpbWUu aD4KICAjICBpbmNsdWRlIDxmY250bC5oPgpAQCAtOCw5ICs4LDkgQEAKICAjICBpbmNsdWRlIDxl cnJuby5oPgogICNlbmRpZgogIAotLS0tIGEvc3JjL2NvcmVsaWIvaW8vcXN0b3JhZ2VpbmZvX3Vu aXguY3BwCTIwMjAtMDktMjQgMTc6NTU6NTMuMDAwMDAwMDAwICswMjAwCi0rKysgYi9zcmMvY29y ZWxpYi9pby9xc3RvcmFnZWluZm9fdW5peC5jcHAJMjAyMC0wOS0yNCAxNzo1NTo1My4wMDAwMDAw MDAgKzAyMDAKLUBAIC01OCw2ICs1OCw3IEBACistLS0gcXQ2LWJhc2UtNi40LjIub3JpZy9zcmMv Y29yZWxpYi9pby9xc3RvcmFnZWluZm9fdW5peC5jcHAKKysrKyBxdDYtYmFzZS02LjQuMi9zcmMv Y29yZWxpYi9pby9xc3RvcmFnZWluZm9fdW5peC5jcHAKK0BAIC0yMyw2ICsyMyw3IEBACiAgIyAg aW5jbHVkZSA8c3lzL3Zmcy5oPgogICMgIGluY2x1ZGUgPG1udGVudC5oPgogICNlbGlmIGRlZmlu ZWQoUV9PU19MSU5VWCkgfHwgZGVmaW5lZChRX09TX0hVUkQpCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC11c3ItcGF0aC1oYWNrLnBhdGNoIGIvc3JjcGtncy9xdDYt YmFzZS9wYXRjaGVzL211c2wtdXNyLXBhdGgtaGFjay5wYXRjaAppbmRleCBhMmVjNzU1MGU3YmIu LjkyZWFlODQzMWFlYSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL211c2wt dXNyLXBhdGgtaGFjay5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvbXVzbC11 c3ItcGF0aC1oYWNrLnBhdGNoCkBAIC02LDExICs2LDkgQEAgVGhpcyBicmVha3MgcXQ2LXdlYmVu Z2luZSdzIHNlYXJjaCBwYXRoIGZvciB0cmFuc2xhdGlvbnMuCiBVc2luZyByZWFscGF0aCBpbnN0 ZWFkIHdvdWxkIHByb2JhYmx5IGJlIGEgbW9yZSBjb3JyZWN0IHNvbHV0aW9uLgogCiAtLS0KLWRp ZmYgLS1naXQgcXRiYXNlc3JjL2NvcmVsaWIvZ2xvYmFsL3FsaWJyYXJ5aW5mby5jcHAgcXRiYXNl c3JjL2NvcmVsaWIvZ2xvYmFsL3FsaWJyYXJ5aW5mby5jcHAKLWluZGV4IDhiY2Y2N2U3M2QuLjI4 ZDczNTUzMTAgMTAwNjQ0Ci0tLS0gYS9zcmMvY29yZWxpYi9nbG9iYWwvcWxpYnJhcnlpbmZvLmNw cAotKysrIGIvc3JjL2NvcmVsaWIvZ2xvYmFsL3FsaWJyYXJ5aW5mby5jcHAKLUBAIC01NTgsNiAr NTU4LDEyIEBAIHN0YXRpYyBRU3RyaW5nIGdldFJlbG9jYXRhYmxlUHJlZml4KCkKKy0tLSBxdDYt YmFzZS02LjQuMi5vcmlnL3NyYy9jb3JlbGliL2dsb2JhbC9xbGlicmFyeWluZm8uY3BwCisrKysg cXQ2LWJhc2UtNi40LjIvc3JjL2NvcmVsaWIvZ2xvYmFsL3FsaWJyYXJ5aW5mby5jcHAKK0BAIC0z NTgsNiArMzU4LDEyIEBAIHN0YXRpYyBRU3RyaW5nIGdldFJlbG9jYXRhYmxlUHJlZml4KFFMaWIK ICAgICAgaW50IHJlc3VsdCA9IGRsYWRkcihyZWludGVycHJldF9jYXN0PHZvaWQgKj4oJlFMaWJy YXJ5SW5mbzo6aXNEZWJ1Z0J1aWxkKSwgJmluZm8pOwogICAgICBpZiAocmVzdWx0ID4gMCAmJiBp bmZvLmRsaV9mbmFtZSkKICAgICAgICAgIHByZWZpeFBhdGggPSBwcmVmaXhGcm9tUXRDb3JlTGli cmFyeUhlbHBlcihRU3RyaW5nOjpmcm9tTG9jYWw4Qml0KGluZm8uZGxpX2ZuYW1lKSk7CkBAIC0y MSw1ICsxOSw1IEBAIGluZGV4IDhiY2Y2N2U3M2QuLjI4ZDczNTUzMTAgMTAwNjQ0CiArICAgIH0K ICsjZW5kaWYKICAjZWxpZiBkZWZpbmVkKFFfT1NfV0lOKQorICAgICBRX1VOVVNFRCh1c2FnZU1v ZGUpOwogICAgICBITU9EVUxFIGhNb2R1bGUgPSBnZXRXaW5kb3dzTW9kdWxlSGFuZGxlKCk7Ci0g ICAgIGNvbnN0IGludCBrQnVmZmVyU2l6ZSA9IDQwOTY7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1iYXNlL3BhdGNoZXMvcmVzb3VyY2Utcm9vdC1kaXItbGFzdC1tb2RpZmllZC1pcy12YWxpZC5w YXRjaCBiL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hlcy9yZXNvdXJjZS1yb290LWRpci1sYXN0LW1v ZGlmaWVkLWlzLXZhbGlkLnBhdGNoCmluZGV4IGYxNDM2ZGY0MmQ4ZS4uMjgyYjU4MzMzMGNlIDEw MDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvcmVzb3VyY2Utcm9vdC1kaXItbGFz dC1tb2RpZmllZC1pcy12YWxpZC5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMv cmVzb3VyY2Utcm9vdC1kaXItbGFzdC1tb2RpZmllZC1pcy12YWxpZC5wYXRjaApAQCAtMSw2ICsx LDYgQEAKLS0tLSBhL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xcmVzb3VyY2VlbmdpbmUvdHN0X3Fy ZXNvdXJjZWVuZ2luZS5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xcmVzb3VyY2Vl bmdpbmUvdHN0X3FyZXNvdXJjZWVuZ2luZS5jcHAKLUBAIC02MDcsNyArNjA3LDEwIEBAIHZvaWQg dHN0X1FSZXNvdXJjZUVuZ2luZTo6bGFzdE1vZGlmaWVkKCkKKy0tLSBxdDYtYmFzZS02LjQuMi5v cmlnL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xcmVzb3VyY2VlbmdpbmUvdHN0X3FyZXNvdXJjZWVu Z2luZS5jcHAKKysrKyBxdDYtYmFzZS02LjQuMi90ZXN0cy9hdXRvL2NvcmVsaWIvaW8vcXJlc291 cmNlZW5naW5lL3RzdF9xcmVzb3VyY2VlbmdpbmUuY3BwCitAQCAtNTkyLDcgKzU5MiwxMCBAQCB2 b2lkIHRzdF9RUmVzb3VyY2VFbmdpbmU6Omxhc3RNb2RpZmllZCgpCiAgICAgIHsKICAgICAgICAg IFFGaWxlSW5mbyBmaSgiOi8iKTsKICAgICAgICAgIFFWRVJJRlkoZmkuZXhpc3RzKCkpOwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1xcm91bmQtcGFzc2VkLnBhdGNo IGIvc3JjcGtncy9xdDYtYmFzZS9wYXRjaGVzL3g4Ni1xcm91bmQtcGFzc2VkLnBhdGNoCmluZGV4 IDlmZjkwZDEwM2ViMy4uZjY1OGVkODMzZTRmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1iYXNl L3BhdGNoZXMveDg2LXFyb3VuZC1wYXNzZWQucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtYmFzZS9w YXRjaGVzL3g4Ni1xcm91bmQtcGFzc2VkLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotLS0tIGEvdGVz dHMvYXV0by9jb3JlbGliL2dsb2JhbC9xZ2xvYmFsL3RzdF9xZ2xvYmFsLmNwcAotKysrIGIvdGVz dHMvYXV0by9jb3JlbGliL2dsb2JhbC9xZ2xvYmFsL3RzdF9xZ2xvYmFsLmNwcAotQEAgLTYyNCwx OCArNjI0LDE0IEBAIHZvaWQgdHN0X1FHbG9iYWw6OnFSb3VuZEZsb2F0cygpIHsKKy0tLSBxdDYt YmFzZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8vY29yZWxpYi9nbG9iYWwvcWdsb2JhbC90c3RfcWds b2JhbC5jcHAKKysrKyBxdDYtYmFzZS02LjQuMi90ZXN0cy9hdXRvL2NvcmVsaWIvZ2xvYmFsL3Fn bG9iYWwvdHN0X3FnbG9iYWwuY3BwCitAQCAtNTk5LDE4ICs1OTksMTQgQEAgdm9pZCB0c3RfUUds b2JhbDo6cVJvdW5kRmxvYXRzKCkgewogICAgICBRRkVUQ0goZmxvYXQsIGV4cGVjdGVkKTsKICAK ICAjaWYgIShkZWZpbmVkKFFfUFJPQ0VTU09SX0FSTV82NCkgJiYgKF9faGFzX2J1aWx0aW4oX19i dWlsdGluX3JvdW5kKSB8fCBkZWZpbmVkKFFfQ0NfR05VKSkgJiYgIWRlZmluZWQoUV9DQ19DTEFO RykpCkBAIC0yMyw3ICsyMyw3IEBACiAgfQogIAogIHZvaWQgdHN0X1FHbG9iYWw6OnFSb3VuZERv dWJsZXNfZGF0YSgpIHsKLUBAIC02NTMsMTggKzY0OSwxNCBAQCB2b2lkIHRzdF9RR2xvYmFsOjpx Um91bmREb3VibGVzKCkgeworQEAgLTYyOCwxOCArNjI0LDE0IEBAIHZvaWQgdHN0X1FHbG9iYWw6 OnFSb3VuZERvdWJsZXMoKSB7CiAgICAgIFFGRVRDSChkb3VibGUsIGV4cGVjdGVkKTsKICAKICAj aWYgIShkZWZpbmVkKFFfUFJPQ0VTU09SX0FSTV82NCkgJiYgKF9faGFzX2J1aWx0aW4oX19idWls dGluX3JvdW5kKSB8fCBkZWZpbmVkKFFfQ0NfR05VKSkgJiYgIWRlZmluZWQoUV9DQ19DTEFORykp CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvemZzLXN0b3JhZ2UucGF0Y2gg Yi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvemZzLXN0b3JhZ2UucGF0Y2gKaW5kZXggM2U3NzI1 NDk0NTFiLi4wNDczODM2YmE3ZDYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LWJhc2UvcGF0Y2hl cy96ZnMtc3RvcmFnZS5wYXRjaAorKysgYi9zcmNwa2dzL3F0Ni1iYXNlL3BhdGNoZXMvemZzLXN0 b3JhZ2UucGF0Y2gKQEAgLTEsNiArMSw2IEBACi0tLS0gYS90ZXN0cy9hdXRvL2NvcmVsaWIvaW8v cXN0b3JhZ2VpbmZvL3RzdF9xc3RvcmFnZWluZm8uY3BwCTIwMjItMTEtMDMgMDA6MDU6NDkuMjgx NzM3Nzc1ICswMTAwCi0rKysgLQkyMDIyLTExLTAzIDAwOjA3OjUyLjUzODE0NTM2OSArMDEwMAot QEAgLTE2NSw2ICsxNjUsOCBAQAorLS0tIHF0Ni1iYXNlLTYuNC4yLm9yaWcvdGVzdHMvYXV0by9j b3JlbGliL2lvL3FzdG9yYWdlaW5mby90c3RfcXN0b3JhZ2VpbmZvLmNwcAorKysrIHF0Ni1iYXNl LTYuNC4yL3Rlc3RzL2F1dG8vY29yZWxpYi9pby9xc3RvcmFnZWluZm8vdHN0X3FzdG9yYWdlaW5m by5jcHAKK0BAIC0xNjUsNiArMTY1LDggQEAgdm9pZCB0c3RfUVN0b3JhZ2VJbmZvOjp0ZW1wRmls ZSgpCiAgI2lmZGVmIFFfT1NfTElOVVgKICAgICAgaWYgKHN0b3JhZ2UxLmZpbGVTeXN0ZW1UeXBl KCkgPT0gImJ0cmZzIikKICAgICAgICAgIFFTS0lQKCJUaGlzIHRlc3QgZG9lc24ndCB3b3JrIG9u IGJ0cmZzLCBwcm9iYWJseSBkdWUgdG8gYSBidHJmcyBidWciKTsKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LWJhc2UvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1iYXNlL3RlbXBsYXRlCmluZGV4IGMy ZDY0NDNkZGRhZC4uNGU5ZjIzMTBkNThmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1iYXNlL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWJhc2UvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtYmFzZScKIHBrZ25hbWU9cXQ2LWJhc2UKLXZlcnNpb249 Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25m aWd1cmVfYXJncz0iLURJTlNUQUxMX0RBVEFESVI9c2hhcmUvcXQ2CkBAIC0zMCw3ICszMCw3IEBA IG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4w LW9ubHkgV0lUSCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BMLTIuMC1v ci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0iaHR0cHM6 Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVy c2lvbn0vc3VibW9kdWxlcy9xdGJhc2UtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT1jYjY0NzVhMGJkODU2N2M0OWY3ZmZiYjA3MmEwNTUxNmVlNjY3MTE3MWJlZDU1 ZGI3NWIyMmI5NGVhZDliMzdkCitjaGVja3N1bT1hODhiYzZjZWRiYjM0ODc4YTQ5YTYyMmJhYTc5 Y2FjZTc4Y2ZiYWQ0Zjk1ZmRiZDM2NTZkZGIyMWM3MDU1MjVkCiBweXRob25fdmVyc2lvbj0zCiAK IGlmIFsgIiRDUk9TU19CVUlMRCIgXTsgdGhlbgpAQCAtNDcsNDcgKzQ3LDQyIEBAIGZpCiBkb19j aGVjaygpIHsKIAljZCBidWlsZAogCWV4cG9ydCBRVF9RUEFfUExBVEZPUk09b2Zmc2NyZWVuCisJ ZXhwb3J0IFFNQUtFU1BFQz0kd3Jrc3JjL21rc3BlY3MvbGludXgtZysrCiAJbG9jYWwgZmFpbGlu Z190ZXN0cz0idHN0X3NlbGZ0ZXN0cyB0c3RfcW1ha2UgdHN0X21vYwogCQl0c3RfcmNjIHRzdF9x ZmlsZSB0c3RfcXN0YW5kYXJkcGF0aHMKIAkJdHN0X3F0ZW1wb3JhcnlkaXIgdHN0X3F0ZW1wb3Jh cnlmaWxlIHRzdF9xZGlyCiAJCXRzdF9xcGx1Z2lubG9hZGVyIHRzdF9xbGlicmFyeSB0c3RfcXRl eHRzdHJlYW0KLQkJdHN0X3FkYXRlIHRzdF9xZGF0ZXRpbWUgdHN0X3F0aW1lem9uZQotCQl0ZXN0 X3VtYnJlbGxhX2NvbmZpZyB0ZXN0X3dyYXBfY3BwX2FuZF9yZXNvdXJjZXMKLQkJdGVzdF9kZXBl bmRlbnRfbW9kdWxlcyB0ZXN0X25lZWRzcXVvdGluZ19kaXJuYW1lCi0JCXRlc3RfYWRkX3Jlc291 cmNlX29wdGlvbnMgdGVzdF93cmFwX2NwcF9vcHRpb25zCi0JCXRlc3RfcGxhdGZvcm1fZGVmc19p bmNsdWRlIHRlc3RfcXRtYWlud2luX2xpYnJhcnkKLQkJdGVzdF9kYnVzX21vZHVsZSB0ZXN0X211 bHRpcGxlX2ZpbmRfcGFja2FnZQotCQl0ZXN0X2FkZF9yZXNvdXJjZXNfZGVsYXllZF9maWxlIHRl c3RfUVRCVUctNjM0MjIKLQkJdGVzdF9hZGRfYmluYXJ5X3Jlc291cmNlc19kZWxheWVkX2ZpbGUK LQkJdGVzdF9wcml2YXRlX2luY2x1ZGVzIHRlc3RfcHJpdmF0ZV90YXJnZXRzCi0JCXRlc3RfdGVz dGxpYl9kZWZpbml0aW9ucyB0ZXN0X2pzb25fcGx1Z2luX2luY2x1ZGVzCi0JCXRlc3RfdGVzdGxp Yl9ub19saW5rX2d1aSB0ZXN0X3Rlc3RsaWJfbm9fbGlua193aWRnZXRzCi0JCW1vZHVsZV9pbmNs dWRlcyB0ZXN0X2NvbmN1cnJlbnRfbW9kdWxlIHRlc3Rfb3BlbmdsX2xpYgorCQl0ZXN0X2J1aWxk X3NpbXBsZV93aWRnZXRfYXBwX3FtYWtlCiAJCXRlc3RfaW50ZXJmYWNlIHRlc3RfaW50ZXJmYWNl X2xpbmtfbGlicmFyaWVzCi0JCXRlc3RfbW9jX21hY3JvX3RhcmdldCB0ZXN0X2FkZF9iaWdfcmVz b3VyY2UKLQkJdGVzdF92ZXJzaW9ubGVzc190YXJnZXRzIHRlc3RfYWRkX3Jlc291cmNlc19iaW5h cnlfZ2VuZXJhdGVkCi0JCXRlc3RfcGx1Z2luX2ZsYXZvcl9zdGF0aWMgdGVzdF9wbHVnaW5fZmxh dm9yX3NoYXJlZAotCQl0ZXN0X3BsdWdpbl9mbGF2b3JfZGVyaXZlZF9mcm9tX3F0X3R5cGUKLQkJ dHN0X3FhZGRwcmVyb3V0aW5lIHRzdF9xZm9udCB0c3RfcWZvbnRkYXRhYmFzZQorCQl0c3RfcWZv bnQgdHN0X3Fmb250ZGF0YWJhc2UKIAkJdHN0X3Fmb250bWV0cmljcyB0c3RfcWdseXBocnVuIHRz dF9xcmF3Zm9udAogCQl0c3RfcXRleHRkb2N1bWVudGxheW91dAl0c3RfcW9wZW5nbGNvbmZpZwot CQl0c3RfcW9wZW5nbCB0c3RfcWRuc2xvb2t1cCB0c3RfcWZpbGVkaWFsb2cKKwkJdHN0X3FvcGVu Z2wgdHN0X3FmaWxlZGlhbG9nCiAJCXRzdF9xZ3JhcGhpY3N2aWV3IHRzdF9xYXBwbGljYXRpb24g dHN0X3Fmb250Y29tYm9ib3gKIAkJdHN0X3FsaW5lZWRpdCB0c3RfcW1lbnViYXIgdHN0X3FvcGVu Z2x3aWRnZXQKIAkJdHN0X3F4MTFpbmZvIHRzdF9xY29tcGxleHRleHQKLQkJdGVzdF9RRklORFRF U1REQVRBIHJ1bl90ZXN0X1FGSU5EVEVTVERBVEEiCisJCXRzdF9xYWRkcHJlcm91dGluZSB0c3Rf cXRleHRjdXJzb3IiCiAJIyBVbmtub3duIHBsYXRmb3JtIGxpbnV4LWcrKyA6LwogCWZhaWxpbmdf dGVzdHMrPSIgbW9ja3BsdWdpbnMgdGVzdF9pbXBvcnRfcGx1Z2lucwotCQl0ZXN0X3N0YXRpY19y ZXNvdXJjZXMgdGVzdF9nZW5lcmF0aW5nX2NwcF9leHBvcnRzIgorCSB0ZXN0X3N0YXRpY19yZXNv dXJjZXMgdGVzdF9nZW5lcmF0aW5nX2NwcF9leHBvcnRzIgogCWZhaWxpbmdfdGVzdHMrPSIgdHN0 X3FzdG9yYWdlaW5mbyIKIAkjIGJyb2tlbiB3aXRoIC1PLCBwYXNzZWQgd2l0aCAtTzAsIHByb2Jh Ymx5IGJyb2tlbiBmbG9hdGluZyBwb2ludCBjb2RlLgotCWZhaWxpbmdfdGVzdHMrPSIgdHN0X3F2 ZWN0b3JuZCIKKwkjIGZhaWxpbmdfdGVzdHMrPSIgdHN0X3F2ZWN0b3JuZCIKIAlsb2NhbCBjdGVz dF9leGNsdWRlPSIoIgogCWZvciBmYWlsdXJlIGluICRmYWlsaW5nX3Rlc3RzOyBkbwogCQljdGVz dF9leGNsdWRlKz0iJGZhaWx1cmV8IgogCWRvbmUKIAljdGVzdF9leGNsdWRlPSIke2N0ZXN0X2V4 Y2x1ZGUlfH0pIgorCWlmIFsgISAtZSAiJHdya3NyYy9idWlsZC9pbmNsdWRlL3F0NiIgXTsgdGhl bgorCQlsbiAtcyAuLiAiJHdya3NyYy9idWlsZC9pbmNsdWRlL3F0NiIKKwlmaQogCWN0ZXN0IC1F ICIkY3Rlc3RfZXhjbHVkZSIKKwlybSAiJHdya3NyYy9idWlsZC9pbmNsdWRlL3F0NiIKK30KKwor cG9zdF9pbnN0YWxsKCkgeworCXJtIC1yZiAke0RFU1RESVJ9L3Vzci90ZXN0cworCXJtIC1yZiAk e0RFU1RESVJ9L3Vzci9saWIvKi5hCiB9CiAKIHF0Ni1ndWlfcGFja2FnZSgpIHsKCkZyb20gMzM1 YzZmOTJiNTVlMzJlYTkzZmVlYTY3MTg5MWY3NjEzN2M4MDg0ZSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1D Mz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IEZyaSwgMTcgRmVi IDIwMjMgMTE6NDQ6MDkgKzA3MDAKU3ViamVjdDogW1BBVENIIDAyLzI2XSBxdDYtZGVjbGFyYXRp dmU6IHVwZGF0ZSB0byA2LjQuMi4KCi0tLQogLi4uL3BhdGNoZXMvYmluLXFtbC1sb2NhdGlvbi5w YXRjaCAgICAgICAgICAgIHwgMjA1ICsrKysrKysrKystLS0tLS0tLQogLi4uL3BhdGNoZXMvcW1s LWJyb2tlbi10ZXN0LnBhdGNoICAgICAgICAgICAgIHwgICA2ICstCiBzcmNwa2dzL3F0Ni1kZWNs YXJhdGl2ZS90ZW1wbGF0ZSAgICAgICAgICAgICAgfCAgMzQgKy0tCiAzIGZpbGVzIGNoYW5nZWQs IDEzMSBpbnNlcnRpb25zKCspLCAxMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoIGIvc3JjcGtn cy9xdDYtZGVjbGFyYXRpdmUvcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoCmluZGV4IGY5 MmUzNDYzMjUwMi4uOTMyM2FlYzAwYjY0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJh dGl2ZS9wYXRjaGVzL2Jpbi1xbWwtbG9jYXRpb24ucGF0Y2gKKysrIGIvc3JjcGtncy9xdDYtZGVj bGFyYXRpdmUvcGF0Y2hlcy9iaW4tcW1sLWxvY2F0aW9uLnBhdGNoCkBAIC0xLDE5MyArMSwyMDYg QEAKLS0tLSBhL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xp ZW50L3RzdF9xcW1sZGVidWd0cmFuc2xhdGlvbmNsaWVudC5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8v cW1sL2RlYnVnZ2VyL3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xpZW50L3RzdF9xcW1sZGVidWd0cmFu c2xhdGlvbmNsaWVudC5jcHAKLUBAIC05NCw3ICs5NCwxMSBAQCBwcml2YXRlOgotICAgICB7Cist LS0gcXQ2LWRlY2xhcmF0aXZlLTYuNC4yLm9yaWcvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFt bGRlYnVndHJhbnNsYXRpb25jbGllbnQvdHN0X3FxbWxkZWJ1Z3RyYW5zbGF0aW9uY2xpZW50LmNw cAorKysrIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1s ZGVidWd0cmFuc2xhdGlvbmNsaWVudC90c3RfcXFtbGRlYnVndHJhbnNsYXRpb25jbGllbnQuY3Bw CitAQCAtNzEsNiArNzEsOSBAQCBwcml2YXRlOgogICAgICAgICAgbV9jdXJyZW50T3V0cHV0TGlu ZSA9IDA7CiAgCi0rI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRICi0rICAgICAgICBhdXRv IGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbCI7Ci0rI2Vsc2UKICAg ICAgICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86 OkJpbmFyaWVzUGF0aCkgKyAiL3FtbCI7Ci0rI2VuZGlmCisrICAgICAgICBjaGFyICpidWlsZF9i aW5fcGF0aCA9IGdldGVudigiUVRfQlVJTERfQklOX1BBVEgiKTsKKysgICAgICAgIGlmIChidWls ZF9iaW5fcGF0aCAmJiAqYnVpbGRfYmluX3BhdGgpCisrICAgICAgICAgICAgZXhlY3V0YWJsZSA9 IFFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWwiOwogICAgICAgICAgYXV0byBzZXJ2aWNl cyA9IFFRbWxEZWJ1Z1RyYW5zbGF0aW9uU2VydmljZUltcGw6OnNfa2V5OwogICAgICAgICAgYXV0 byBleHRyYUFyZ3MgPSB0ZXN0RmlsZShRTUxGSUxFKTsKICAgICAgICAgIGF1dG8gYmxvY2sgPSB0 cnVlOwotLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGluc3BlY3Rvci90c3RfcXFt bGluc3BlY3Rvci5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxpbnNwZWN0 b3IvdHN0X3FxbWxpbnNwZWN0b3IuY3BwCi1AQCAtNzIsNyArNzIsMTIgQEAgdHN0X1FRbWxJbnNw ZWN0b3I6OnRzdF9RUW1sSW5zcGVjdG9yKCkKKy0tLSBxdDYtZGVjbGFyYXRpdmUtNi40LjIub3Jp Zy90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1saW5zcGVjdG9yL3RzdF9xcW1saW5zcGVjdG9y LmNwcAorKysrIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9x cW1saW5zcGVjdG9yL3RzdF9xcW1saW5zcGVjdG9yLmNwcAorQEAgLTQ3LDcgKzQ3LDExIEBAIHRz dF9RUW1sSW5zcGVjdG9yOjp0c3RfUVFtbEluc3BlY3RvcigpCiAgUVFtbERlYnVnVGVzdDo6Q29u bmVjdFJlc3VsdCB0c3RfUVFtbEluc3BlY3Rvcjo6c3RhcnRRbWxQcm9jZXNzKGNvbnN0IFFTdHJp bmcgJnFtbEZpbGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVzdHJpY3RTZXJ2aWNlcykKICB7CiAtICAgIHJl dHVybiBRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8oUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5 SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIiwKLSsjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklO X1BBVEgKLSsgICAgYXV0byBleGVjdXRhYmxlID0gUVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9x bWwiOwotKyNlbHNlCiArICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6cGF0aChR TGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbCI7Ci0rI2VuZGlmCisrICAgIGNoYXIg KmJ1aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBpZiAo YnVpbGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAgICAgZXhlY3V0YWJsZSA9 IFFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWwiOwogKyAgICByZXR1cm4gUVFtbERlYnVn VGVzdDo6Y29ubmVjdFRvKGV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlc3RyaWN0U2VydmljZXMgPyBRU3RyaW5nTGl0ZXJhbCgiUW1sSW5zcGVjdG9yIikg OiBRU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RGaWxl KHFtbEZpbGUpLCB0cnVlKTsKICB9Ci0tLS0gYS90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1s cHJvZmlsZXJzZXJ2aWNlL3RzdF9xcW1scHJvZmlsZXJzZXJ2aWNlLmNwcAotKysrIGIvdGVzdHMv YXV0by9xbWwvZGVidWdnZXIvcXFtbHByb2ZpbGVyc2VydmljZS90c3RfcXFtbHByb2ZpbGVyc2Vy dmljZS5jcHAKLUBAIC0yMDQsMTAgKzIwNCwxNiBAQCBwcml2YXRlOgorLS0tIHF0Ni1kZWNsYXJh dGl2ZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxwcm9maWxlcnNlcnZp Y2UvdHN0X3FxbWxwcm9maWxlcnNlcnZpY2UuY3BwCisrKysgcXQ2LWRlY2xhcmF0aXZlLTYuNC4y L3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxwcm9maWxlcnNlcnZpY2UvdHN0X3FxbWxwcm9m aWxlcnNlcnZpY2UuY3BwCitAQCAtMTc5LDEwICsxNzksMTggQEAgcHJpdmF0ZToKICAgICAgICAg IENoZWNrVHlwZSA9IENoZWNrTWVzc2FnZVR5cGUgfCBDaGVja0RldGFpbFR5cGUgfCBDaGVja0xp bmUgfCBDaGVja0NvbHVtbiB8IENoZWNrRmlsZUVuZHNXaXRoCiAgICAgIH07CiAgCi0rI2lmZGVm IFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRICi0rI2RlZmluZSBRTUxTQ0VORV9QQVRIIFFUX0RFQ0xB UkFUSVZFX0JJTl9QQVRIICIvcW1sIgotKyNlbHNlCi0rI2RlZmluZSBRTUxTQ0VORV9QQVRIIFFM aWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbHNjZW5l IgotKyNlbmRpZgorKyAgICBzdGF0aWMgUVN0cmluZyBRbWxTY2VuZVBhdGgoKQorKyAgICB7Cisr ICAgICAgICBjaGFyICpidWlsZF9iaW5fcGF0aCA9IGdldGVudigiUVRfQlVJTERfQklOX1BBVEgi KTsKKysgICAgICAgIGlmIChidWlsZF9iaW5fcGF0aCAmJiAqYnVpbGRfYmluX3BhdGgpCisrICAg ICAgICAgICAgcmV0dXJuIFFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWxzY2VuZSI7Cisr ICAgICAgICByZXR1cm4gUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQ YXRoKSArICIvcW1sc2NlbmUiOworKyAgICB9CiArCiAgICAgIENvbm5lY3RSZXN1bHQgY29ubmVj dFRvKGJvb2wgYmxvY2ssIGNvbnN0IFFTdHJpbmcgJmZpbGUsIGJvb2wgcmVjb3JkRnJvbVN0YXJ0 ID0gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQgZmx1c2hJbnRlcnZhbCA9 IDAsIGJvb2wgcmVzdHJpY3RTZXJ2aWNlcyA9IHRydWUsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBRU3RyaW5nICZleGVjdXRhYmxlCiAtICAgICAgICAgICAgPSBRTGlicmFyeUlu Zm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSIpOwotKyAg ICAgICAgICAgID0gUU1MU0NFTkVfUEFUSCk7CisrICAgICAgICAgICAgPSBRbWxTY2VuZVBhdGgo KSk7CiAgICAgIHZvaWQgY2hlY2tQcm9jZXNzVGVybWluYXRlZCgpOwogICAgICB2b2lkIGNoZWNr VHJhY2VSZWNlaXZlZCgpOwogICAgICB2b2lkIGNoZWNrSnNIZWFwKCk7Ci0tLS0gYS90ZXN0cy9h dXRvL3FtbC9kZWJ1Z2dlci9xcW1sZGVidWdnaW5nZW5hYmxlci9xcW1sZGVidWdnaW5nZW5hYmxl ci90c3RfcXFtbGRlYnVnZ2luZ2VuYWJsZXIuY3BwCi0rKysgYi90ZXN0cy9hdXRvL3FtbC9kZWJ1 Z2dlci9xcW1sZGVidWdnaW5nZW5hYmxlci9xcW1sZGVidWdnaW5nZW5hYmxlci90c3RfcXFtbGRl YnVnZ2luZ2VuYWJsZXIuY3BwCi1AQCAtMTEwLDggKzExMCwxMyBAQCB2b2lkIHRzdF9RUW1sRGVi dWdnaW5nRW5hYmxlcjo6cW1sc2NlbmUoCistLS0gcXQ2LWRlY2xhcmF0aXZlLTYuNC4yLm9yaWcv dGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGRlYnVnZ2luZ2VuYWJsZXIvcXFtbGRlYnVnZ2lu Z2VuYWJsZXIvdHN0X3FxbWxkZWJ1Z2dpbmdlbmFibGVyLmNwcAorKysrIHF0Ni1kZWNsYXJhdGl2 ZS02LjQuMi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1sZGVidWdnaW5nZW5hYmxlci9xcW1s ZGVidWdnaW5nZW5hYmxlci90c3RfcXFtbGRlYnVnZ2luZ2VuYWJsZXIuY3BwCitAQCAtODUsOCAr ODUsMTIgQEAgdm9pZCB0c3RfUVFtbERlYnVnZ2luZ0VuYWJsZXI6OnFtbHNjZW5lKAogICAgICBR RkVUQ0goYm9vbCwgYmxvY2tNb2RlKTsKICAgICAgUUZFVENIKFFTdHJpbmdMaXN0LCBzZXJ2aWNl cyk7CiAgCiAtICAgIG1fcHJvY2VzcyA9IG5ldyBRUW1sRGVidWdQcm9jZXNzKAogLSAgICAgICAg ICAgICAgICBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsg Ii9xbWxzY2VuZSIsIHRoaXMpOwotKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAotKyAg ICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3FtbHNjZW5lIjsK LSsjZWxzZQogKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJh cnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSI7Ci0rI2VuZGlmCisrICAgIGNoYXIg KmJ1aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBpZiAo YnVpbGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAgICAgZXhlY3V0YWJsZSA9 IFFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWxzY2VuZSI7CiArCiArICAgIG1fcHJvY2Vz cyA9IG5ldyBRUW1sRGVidWdQcm9jZXNzKGV4ZWN1dGFibGUsIHRoaXMpOwogICAgICBtX3Byb2Nl c3MtPnNldE1heGltdW1CaW5kRXJyb3JzKDEpOwogICAgICBtX3Byb2Nlc3MtPnN0YXJ0KFFTdHJp bmdMaXN0KCkKICAgICAgICAgICAgICAgICAgICAgICA8PCBRU3RyaW5nOjpmcm9tTGF0aW4xKCIt cW1sanNkZWJ1Z2dlcj1jb25uZWN0b3I6JTElMiUzJTQiKQotLS0tIGEvdGVzdHMvYXV0by9xbWwv ZGVidWdnZXIvcXFtbGVuZ2luZWNvbnRyb2wvdHN0X3FxbWxlbmdpbmVjb250cm9sLmNwcAotKysr IGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWNvbnRyb2wvdHN0X3FxbWxlbmdp bmVjb250cm9sLmNwcAotQEAgLTkxLDcgKzkxLDEyIEBAIHRzdF9RUW1sRW5naW5lQ29udHJvbDo6 dHN0X1FRbWxFbmdpbmVDb24KKy0tLSBxdDYtZGVjbGFyYXRpdmUtNi40LjIub3JpZy90ZXN0cy9h dXRvL3FtbC9kZWJ1Z2dlci9xcW1sZW5naW5lY29udHJvbC90c3RfcXFtbGVuZ2luZWNvbnRyb2wu Y3BwCisrKysgcXQ2LWRlY2xhcmF0aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3Fx bWxlbmdpbmVjb250cm9sL3RzdF9xcW1sZW5naW5lY29udHJvbC5jcHAKK0BAIC02Niw3ICs2Niwx MSBAQCB0c3RfUVFtbEVuZ2luZUNvbnRyb2w6OnRzdF9RUW1sRW5naW5lQ29uCiAgUVFtbERlYnVn VGVzdDo6Q29ubmVjdFJlc3VsdCB0c3RfUVFtbEVuZ2luZUNvbnRyb2w6OmNvbm5lY3RUbyhjb25z dCBRU3RyaW5nICZmaWxlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmVzdHJpY3RTZXJ2aWNlcykKICB7CiAtICAgIHJl dHVybiBRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8oUUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5 SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sc2NlbmUiLAotKyNpZmRlZiBRVF9ERUNMQVJBVElW RV9CSU5fUEFUSAotKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFU SCAiL3FtbHNjZW5lIjsKLSsjZWxzZQogKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRTGlicmFyeUlu Zm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSI7Ci0rI2Vu ZGlmCisrICAgIGNoYXIgKmJ1aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFU SCIpOworKyAgICBpZiAoYnVpbGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAg ICAgZXhlY3V0YWJsZSA9IFFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWxzY2VuZSI7CiAr ICAgIHJldHVybiBRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8oZXhlY3V0YWJsZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdHJpY3RTZXJ2aWNlcyA/IFFTdHJpbmdMaXRl cmFsKCJFbmdpbmVDb250cm9sIikgOiBRU3RyaW5nKCksCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRlc3RGaWxlKGZpbGUpLCB0cnVlKTsKICB9Ci0tLS0gYS90ZXN0cy9hdXRv L3FtbC9kZWJ1Z2dlci9xcW1sZW5naW5lZGVidWdpbnNwZWN0b3JpbnRlZ3JhdGlvbnRlc3QvdHN0 X3FxbWxlbmdpbmVkZWJ1Z2luc3BlY3RvcmludGVncmF0aW9uLmNwcAotKysrIGIvdGVzdHMvYXV0 by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWRlYnVnaW5zcGVjdG9yaW50ZWdyYXRpb250ZXN0L3Rz dF9xcW1sZW5naW5lZGVidWdpbnNwZWN0b3JpbnRlZ3JhdGlvbi5jcHAKLUBAIC05Niw3ICs5Niwx MSBAQCB0c3RfUVFtbEVuZ2luZURlYnVnSW5zcGVjdG9ySW50ZWdyYXRpb246CistLS0gcXQ2LWRl Y2xhcmF0aXZlLTYuNC4yLm9yaWcvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbGVuZ2luZWRl YnVnaW5zcGVjdG9yaW50ZWdyYXRpb250ZXN0L3RzdF9xcW1sZW5naW5lZGVidWdpbnNwZWN0b3Jp bnRlZ3JhdGlvbi5jcHAKKysrKyBxdDYtZGVjbGFyYXRpdmUtNi40LjIvdGVzdHMvYXV0by9xbWwv ZGVidWdnZXIvcXFtbGVuZ2luZWRlYnVnaW5zcGVjdG9yaW50ZWdyYXRpb250ZXN0L3RzdF9xcW1s ZW5naW5lZGVidWdpbnNwZWN0b3JpbnRlZ3JhdGlvbi5jcHAKK0BAIC03MCw4ICs3MCwxMSBAQCB0 c3RfUVFtbEVuZ2luZURlYnVnSW5zcGVjdG9ySW50ZWdyYXRpb246CisgCiAgUVFtbERlYnVnVGVz dDo6Q29ubmVjdFJlc3VsdCB0c3RfUVFtbEVuZ2luZURlYnVnSW5zcGVjdG9ySW50ZWdyYXRpb246 OmluaXQoYm9vbCByZXN0cmljdFNlcnZpY2VzKQogIHsKLSAgICAgcmV0dXJuIFFRbWxEZWJ1Z1Rl c3Q6OmNvbm5lY3RUbygKLSsjaWZkZWYgUVRfREVDTEFSQVRJVkVfQklOX1BBVEgKLSsgICAgICAg ICAgICAgICAgUVRfREVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWwiLAotKyNlbHNlCi0gICAgICAg ICAgICAgICAgIFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkg KyAiL3FtbCIsCi0rI2VuZGlmCistICAgIHJldHVybiBRUW1sRGVidWdUZXN0Ojpjb25uZWN0VG8o CistICAgICAgICAgICAgICAgIFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFy aWVzUGF0aCkgKyAiL3FtbCIsCisrICAgIGF1dG8gZXhlY3V0YWJsZSA9IFFMaWJyYXJ5SW5mbzo6 cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCkgKyAiL3FtbCI7CisrICAgIGNoYXIgKmJ1 aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBpZiAoYnVp bGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAgICAgZXhlY3V0YWJsZSA9IFFT dHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWwiOworKyAgICByZXR1cm4gUVFtbERlYnVnVGVz dDo6Y29ubmVjdFRvKGV4ZWN1dGFibGUsCiAgICAgICAgICAgICAgICAgIHJlc3RyaWN0U2Vydmlj ZXMgPyBRU3RyaW5nTGl0ZXJhbCgiUW1sRGVidWdnZXIsUW1sSW5zcGVjdG9yIikgOiBRU3RyaW5n KCksCiAgICAgICAgICAgICAgICAgIHRlc3RGaWxlKCJxdHF1aWNrMi5xbWwiKSwgdHJ1ZSk7CiAg fQotLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbHByZXZpZXcvdHN0X3FxbWxwcmV2 aWV3LmNwcAotKysrIGIvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcXFtbHByZXZpZXcvdHN0X3Fx bWxwcmV2aWV3LmNwcAotQEAgLTgxLDcgKzgxLDEyIEBAIHRzdF9RUW1sUHJldmlldzo6dHN0X1FR bWxQcmV2aWV3KCkKKy0tLSBxdDYtZGVjbGFyYXRpdmUtNi40LjIub3JpZy90ZXN0cy9hdXRvL3Ft bC9kZWJ1Z2dlci9xcW1scHJldmlldy90c3RfcXFtbHByZXZpZXcuY3BwCisrKysgcXQ2LWRlY2xh cmF0aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcW1sL2RlYnVnZ2VyL3FxbWxwcmV2aWV3L3RzdF9xcW1s cHJldmlldy5jcHAKK0BAIC01Niw3ICs1NiwxMSBAQCB0c3RfUVFtbFByZXZpZXc6OnRzdF9RUW1s UHJldmlldygpCiAgCiAgUVFtbERlYnVnVGVzdDo6Q29ubmVjdFJlc3VsdCB0c3RfUVFtbFByZXZp ZXc6OnN0YXJ0UW1sUHJvY2Vzcyhjb25zdCBRU3RyaW5nICZxbWxGaWxlKQogIHsKIC0gICAgcmV0 dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJ bmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWwiLAotKyNpZmRlZiBRVF9ERUNMQVJBVElWRV9CSU5f UEFUSAotKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSCAiL3Ft bCI7Ci0rI2Vsc2UKICsgICAgYXV0byBleGVjdXRhYmxlID0gUUxpYnJhcnlJbmZvOjpwYXRoKFFM aWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIjsKLSsjZW5kaWYKKysgICAgY2hhciAq YnVpbGRfYmluX3BhdGggPSBnZXRlbnYoIlFUX0JVSUxEX0JJTl9QQVRIIik7CisrICAgIGlmIChi dWlsZF9iaW5fcGF0aCAmJiAqYnVpbGRfYmluX3BhdGgpCisrICAgICAgICBleGVjdXRhYmxlID0g UVN0cmluZyhidWlsZF9iaW5fcGF0aCkgKyAiL3FtbCI7CiArICAgIHJldHVybiBRUW1sRGVidWdU ZXN0Ojpjb25uZWN0VG8oZXhlY3V0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUVN0cmluZ0xpdGVyYWwoIlFtbFByZXZpZXciKSwgdGVzdEZpbGUocW1sRmlsZSksIHRy dWUpOwogIH0KICAKLS0tLSBhL3Rlc3RzL2F1dG8vcW1sL3FtbGZvcm1hdC90c3RfcW1sZm9ybWF0 LmNwcAotKysrIGIvdGVzdHMvYXV0by9xbWwvcW1sZm9ybWF0L3RzdF9xbWxmb3JtYXQuY3BwCi1A QCAtODgsNyArODgsMTEgQEAgVGVzdFFtbGZvcm1hdDo6VGVzdFFtbGZvcm1hdCgpCi0gdm9pZCBU ZXN0UW1sZm9ybWF0Ojppbml0VGVzdENhc2UoKQorLS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5v cmlnL3Rlc3RzL2F1dG8vcW1sL3FtbGZvcm1hdC90c3RfcW1sZm9ybWF0LmNwcAorKysrIHF0Ni1k ZWNsYXJhdGl2ZS02LjQuMi90ZXN0cy9hdXRvL3FtbC9xbWxmb3JtYXQvdHN0X3FtbGZvcm1hdC5j cHAKK0BAIC02NSw2ICs2NSw5IEBAIHZvaWQgVGVzdFFtbGZvcm1hdDo6aW5pdFRlc3RDYXNlKCkK ICB7CiAgICAgIFFRbWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNlKCk7Ci0rI2lmZGVmIFFUX0RFQ0xB UkFUSVZFX0JJTl9QQVRICi0rICAgIG1fcW1sZm9ybWF0UGF0aCA9IFFMYXRpbjFTdHJpbmcoUVRf REVDTEFSQVRJVkVfQklOX1BBVEggIi9xbWxmb3JtYXQiKTsKLSsjZWxzZQogICAgICBtX3FtbGZv cm1hdFBhdGggPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgp ICsgUUxhdGluMVN0cmluZygiL3FtbGZvcm1hdCIpOwotKyNlbmRpZgorKyAgICBjaGFyICpidWls ZF9iaW5fcGF0aCA9IGdldGVudigiUVRfQlVJTERfQklOX1BBVEgiKTsKKysgICAgaWYgKGJ1aWxk X2Jpbl9wYXRoICYmICpidWlsZF9iaW5fcGF0aCkKKysgICAgICAgIG1fcW1sZm9ybWF0UGF0aCA9 IFFMYXRpbjFTdHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWxmb3JtYXQiOwogICNpZmRlZiBR X09TX1dJTgogICAgICBtX3FtbGZvcm1hdFBhdGggKz0gUUxhdGluMVN0cmluZygiLmV4ZSIpOwog ICNlbmRpZgotLS0tIGEvdGVzdHMvYXV0by9xbWwvcW1saW1wb3J0c2Nhbm5lci90c3RfcW1saW1w b3J0c2Nhbm5lci5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8vcW1sL3FtbGltcG9ydHNjYW5uZXIvdHN0 X3FtbGltcG9ydHNjYW5uZXIuY3BwCi1AQCAtNjMsOCArNjMsMTIgQEAgVGVzdFFtbGltcG9ydHNj YW5uZXI6OlRlc3RRbWxpbXBvcnRzY2FubgotIHZvaWQgVGVzdFFtbGltcG9ydHNjYW5uZXI6Omlu aXRUZXN0Q2FzZSgpCi0geworLS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5vcmlnL3Rlc3RzL2F1 dG8vcW1sL3FtbGltcG9ydHNjYW5uZXIvdHN0X3FtbGltcG9ydHNjYW5uZXIuY3BwCisrKysgcXQ2 LWRlY2xhcmF0aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcW1sL3FtbGltcG9ydHNjYW5uZXIvdHN0X3Ft bGltcG9ydHNjYW5uZXIuY3BwCitAQCAtNDIsNiArNDIsOSBAQCB2b2lkIFRlc3RRbWxpbXBvcnRz Y2FubmVyOjppbml0VGVzdENhc2UoCiAgICAgIFFRbWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNlKCk7 Ci0rI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0xJQkVYRUNfUEFUSAotKyAgICBtX3FtbGltcG9ydHNj YW5uZXJQYXRoID0gUUxhdGluMVN0cmluZyhRVF9ERUNMQVJBVElWRV9MSUJFWEVDX1BBVEggIi9x bWxpbXBvcnRzY2FubmVyIik7Ci0rI2Vsc2UKICAgICAgbV9xbWxpbXBvcnRzY2FubmVyUGF0aCA9 IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkxpYnJhcnlFeGVjdXRhYmxlc1BhdGgp CiAgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5nKCIvcW1saW1wb3J0c2Nhbm5lciIpOwotKyNl bmRpZgorKyAgICBjaGFyICpidWlsZF9saWJleGVjID0gZ2V0ZW52KCJRVF9CVUlMRF9MSUJFWEVD X1BBVEgiKTsKKysgICAgaWYgKGJ1aWxkX2xpYmV4ZWMgJiYgKmJ1aWxkX2xpYmV4ZWMpCisrICAg ICAgICBtX3FtbGltcG9ydHNjYW5uZXJQYXRoID0gUUxhdGluMVN0cmluZyhidWlsZF9saWJleGVj KSArICIvcW1saW1wb3J0c2Nhbm5lciI7CiAgI2lmZGVmIFFfT1NfV0lOCiAgICAgIG1fcW1saW1w b3J0c2Nhbm5lclBhdGggKz0gUUxhdGluMVN0cmluZygiLmV4ZSIpOwogICNlbmRpZgotLS0tIGEv dGVzdHMvYXV0by9xbWwvcW1sbGludC90c3RfcW1sbGludC5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8v cW1sL3FtbGxpbnQvdHN0X3FtbGxpbnQuY3BwCi1AQCAtMTM2LDExICsxMzYsMTcgQEAgVGVzdFFt bGxpbnQ6OlRlc3RRbWxsaW50KCkKLSB2b2lkIFRlc3RRbWxsaW50Ojppbml0VGVzdENhc2UoKQor LS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8vcW1sL3FtbGxpbnQvdHN0 X3FtbGxpbnQuY3BwCisrKysgcXQ2LWRlY2xhcmF0aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcW1sL3Ft bGxpbnQvdHN0X3FtbGxpbnQuY3BwCitAQCAtMTU5LDEwICsxNTksMTggQEAgdm9pZCBUZXN0UW1s bGludDo6aW5pdFRlc3RDYXNlKCkKICB7CiAgICAgIFFRbWxEYXRhVGVzdDo6aW5pdFRlc3RDYXNl KCk7Ci0rI2lmZGVmIFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRICi0rICAgIG1fcW1sbGludFBhdGgg PSBRTGF0aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sbGludCIpOwotKyAg ICBtX3FtbGpzcm9vdGdlblBhdGggPSBRTGF0aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9Q QVRIICIvcW1sanNyb290Z2VuIik7Ci0rICAgIG1fcW1sdHlwZXJlZ2lzdHJhclBhdGggPSBRTGF0 aW4xU3RyaW5nKFFUX0RFQ0xBUkFUSVZFX0JJTl9QQVRIICIvcW1sdHlwZXJlZ2lzdHJhciIpOwot KyNlbHNlCiAgICAgIG1fcW1sbGludFBhdGggPSBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJ bmZvOjpCaW5hcmllc1BhdGgpICsgUUxhdGluMVN0cmluZygiL3FtbGxpbnQiKTsKKysgICAgY2hh ciAqYnVpbGRfYmluID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBpZiAoYnVp bGRfYmluICYmICpidWlsZF9iaW4pCisrICAgICAgICBtX3FtbGxpbnRQYXRoID0gUUxhdGluMVN0 cmluZyhidWlsZF9iaW4pICsgIi9xbWxsaW50IjsKICAgICAgbV9xbWxqc3Jvb3RnZW5QYXRoID0g UUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6TGlicmFyeUV4ZWN1dGFibGVzUGF0aCkK ICAgICAgICAgICAgICArIFFMYXRpbjFTdHJpbmcoIi9xbWxqc3Jvb3RnZW4iKTsKICAgICAgbV9x bWx0eXBlcmVnaXN0cmFyUGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGlicmFyeUluZm86Okxp YnJhcnlFeGVjdXRhYmxlc1BhdGgpCiAgICAgICAgICAgICAgKyBRTGF0aW4xU3RyaW5nKCIvcW1s dHlwZXJlZ2lzdHJhciIpOwotKyNlbmRpZgorKyAgICBjaGFyICpidWlsZF9saWJleGVjID0gZ2V0 ZW52KCJRVF9CVUlMRF9MSUJFWEVDX1BBVEgiKTsKKysgICAgaWYgKGJ1aWxkX2xpYmV4ZWMgJiYg KmJ1aWxkX2xpYmV4ZWMpIHsKKysgICAgICAgIG1fcW1sanNyb290Z2VuUGF0aCA9IFFMYXRpbjFT dHJpbmcoYnVpbGRfbGliZXhlYykgKyAiL3FtbGpzcm9vdGdlbiI7CisrICAgICAgICBtX3FtbHR5 cGVyZWdpc3RyYXJQYXRoID0gUUxhdGluMVN0cmluZyhidWlsZF9saWJleGVjKSArICIvcW1sdHlw ZXNyZWdpc3RyYXIiOworKyAgICB9CiAgI2lmZGVmIFFfT1NfV0lOCiAgICAgIG1fcW1sbGludFBh dGggKz0gUUxhdGluMVN0cmluZygiLmV4ZSIpOwogICAgICBtX3FtbGpzcm9vdGdlblBhdGggKz0g UUxhdGluMVN0cmluZygiLmV4ZSIpOwotLS0tIGEvdGVzdHMvYXV0by9xbWwvZGVidWdnZXIvcWRl YnVnbWVzc2FnZXNlcnZpY2UvdHN0X3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlLmNwcAotKysrIGIvdGVz dHMvYXV0by9xbWwvZGVidWdnZXIvcWRlYnVnbWVzc2FnZXNlcnZpY2UvdHN0X3FkZWJ1Z21lc3Nh Z2VzZXJ2aWNlLmNwcAotQEAgLTE0Myw3ICsxNDMsMTIgQEAgdHN0X1FEZWJ1Z01lc3NhZ2VTZXJ2 aWNlOjp0c3RfUURlYnVnTWVzcworLS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5vcmlnL3Rlc3Rz L2F1dG8vcW1sL2RlYnVnZ2VyL3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlL3RzdF9xZGVidWdtZXNzYWdl c2VydmljZS5jcHAKKysrKyBxdDYtZGVjbGFyYXRpdmUtNi40LjIvdGVzdHMvYXV0by9xbWwvZGVi dWdnZXIvcWRlYnVnbWVzc2FnZXNlcnZpY2UvdHN0X3FkZWJ1Z21lc3NhZ2VzZXJ2aWNlLmNwcAor QEAgLTExOCw3ICsxMTgsMTEgQEAgdHN0X1FEZWJ1Z01lc3NhZ2VTZXJ2aWNlOjp0c3RfUURlYnVn TWVzcwogIAogIHZvaWQgdHN0X1FEZWJ1Z01lc3NhZ2VTZXJ2aWNlOjpyZXRyaWV2ZURlYnVnT3V0 cHV0KCkKICB7CiAtICAgIFFDT01QQVJFKFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhRTGlicmFy eUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWwiLAotKyNpZmRl ZiBRVF9ERUNMQVJBVElWRV9CSU5fUEFUSAotKyAgICBhdXRvIGV4ZWN1dGFibGUgPSBRVF9ERUNM QVJBVElWRV9CSU5fUEFUSCAiL3FtbCI7Ci0rI2Vsc2UKICsgICAgYXV0byBleGVjdXRhYmxlID0g UUxpYnJhcnlJbmZvOjpwYXRoKFFMaWJyYXJ5SW5mbzo6QmluYXJpZXNQYXRoKSArICIvcW1sIjsK LSsjZW5kaWYKKysgICAgY2hhciAqYnVpbGRfYmluX3BhdGggPSBnZXRlbnYoIlFUX0JVSUxEX0JJ Tl9QQVRIIik7CisrICAgIGlmIChidWlsZF9iaW5fcGF0aCAmJiAqYnVpbGRfYmluX3BhdGgpCisr ICAgICAgICBleGVjdXRhYmxlID0gUVN0cmluZyhidWlsZF9iaW5fcGF0aCkgKyAiL3FtbCI7CiAr ICAgIFFDT01QQVJFKFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbyhleGVjdXRhYmxlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFFTdHJpbmcoKSwgdGVzdEZpbGUoUU1MRklM RSksIHRydWUpLCBDb25uZWN0U3VjY2Vzcyk7CiAgCiAgICAgIFFUUllfVkVSSUZZKG1fY2xpZW50 LT5sb2dCdWZmZXIuc2l6ZSgpID49IDIpOwotLS0tIGEvdGVzdHMvYXV0by9xbWwvcW1scGx1Z2lu ZHVtcC90c3RfcW1scGx1Z2luZHVtcC5jcHAKLSsrKyBiL3Rlc3RzL2F1dG8vcW1sL3FtbHBsdWdp bmR1bXAvdHN0X3FtbHBsdWdpbmR1bXAuY3BwCi1AQCAtNjIsNyArNjIsMTEgQEAgdHN0X3FtbHBs dWdpbmR1bXA6OnRzdF9xbWxwbHVnaW5kdW1wKCkKLSB2b2lkIHRzdF9xbWxwbHVnaW5kdW1wOjpp bml0VGVzdENhc2UoKQorLS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5vcmlnL3Rlc3RzL2F1dG8v cW1sL3FtbHBsdWdpbmR1bXAvdHN0X3FtbHBsdWdpbmR1bXAuY3BwCisrKysgcXQ2LWRlY2xhcmF0 aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcW1sL3FtbHBsdWdpbmR1bXAvdHN0X3FtbHBsdWdpbmR1bXAu Y3BwCitAQCAtMzgsNiArMzgsOSBAQCB2b2lkIHRzdF9xbWxwbHVnaW5kdW1wOjppbml0VGVzdENh c2UoKQogIHsKICAgICAgUVFtbERhdGFUZXN0Ojppbml0VGVzdENhc2UoKTsKLSsjaWZkZWYgUVRf REVDTEFSQVRJVkVfQklOX1BBVEgKLSsgICAgcW1scGx1Z2luZHVtcFBhdGggPSBRVF9ERUNMQVJB VElWRV9CSU5fUEFUSDsKLSsjZWxzZQogICAgICBxbWxwbHVnaW5kdW1wUGF0aCA9IFFMaWJyYXJ5 SW5mbzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCk7Ci0rI2VuZGlmCisrICAgIGNo YXIgKmJ1aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBp ZiAoYnVpbGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAgICAgcW1scGx1Z2lu ZHVtcFBhdGggPSBidWlsZF9iaW5fcGF0aDsKICAKICAjaWYgZGVmaW5lZChRX09TX1dJTikKICAg ICAgcW1scGx1Z2luZHVtcFBhdGggKz0gUUxhdGluMVN0cmluZygiL3FtbHBsdWdpbmR1bXAuZXhl Iik7CistLS0gcXQ2LWRlY2xhcmF0aXZlLTYuNC4yLm9yaWcvdGVzdHMvYXV0by9xbWwvZGVidWdn ZXIvcXFtbGRlYnVnanMvdHN0X3FxbWxkZWJ1Z2pzLmNwcAorKysrIHF0Ni1kZWNsYXJhdGl2ZS02 LjQuMi90ZXN0cy9hdXRvL3FtbC9kZWJ1Z2dlci9xcW1sZGVidWdqcy90c3RfcXFtbGRlYnVnanMu Y3BwCitAQCAtMTYzLDExICsxNjMsMTggQEAgdm9pZCB0c3RfUVFtbERlYnVnSlM6OmluaXRUZXN0 Q2FzZSgpCisgICAgIFFRbWxEZWJ1Z1Rlc3Q6OmluaXRUZXN0Q2FzZSgpOworIH0KKyAjaW5jbHVk ZSA8aW9zdHJlYW0+Cisrc3RhdGljIFFTdHJpbmcgcW1sU2NlbmVQYXRoKCkKKyt7CisrICAgIGNo YXIgKmJ1aWxkX2Jpbl9wYXRoID0gZ2V0ZW52KCJRVF9CVUlMRF9CSU5fUEFUSCIpOworKyAgICBp ZiAoYnVpbGRfYmluX3BhdGggJiYgKmJ1aWxkX2Jpbl9wYXRoKQorKyAgICAgICAgcmV0dXJuIFFT dHJpbmcoYnVpbGRfYmluX3BhdGgpICsgIi9xbWxzY2VuZSI7CisrICAgIHJldHVybiBRTGlicmFy eUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5hcmllc1BhdGgpICsgIi9xbWxzY2VuZSI7Cisr fQorIFFRbWxEZWJ1Z1Rlc3Q6OkNvbm5lY3RSZXN1bHQgdHN0X1FRbWxEZWJ1Z0pTOjppbml0KGJv b2wgcW1sc2NlbmUsIGNvbnN0IFFTdHJpbmcgJnFtbEZpbGUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBibG9ja01vZGUsIGJvb2wgcmVz dHJpY3RTZXJ2aWNlcykKKyB7CisgICAgIGNvbnN0IFFTdHJpbmcgZXhlY3V0YWJsZSA9IHFtbHNj ZW5lCistICAgICAgICAgICAgPyBRTGlicmFyeUluZm86OnBhdGgoUUxpYnJhcnlJbmZvOjpCaW5h cmllc1BhdGgpICsgIi9xbWxzY2VuZSIKKysgICAgICAgICAgICA/IHFtbFNjZW5lUGF0aCgpCisg ICAgICAgICAgICAgOiBkZWJ1Z0pzU2VydmVyUGF0aCgicXFtbGRlYnVnanMiKTsKKyAgICAgcmV0 dXJuIFFRbWxEZWJ1Z1Rlc3Q6OmNvbm5lY3RUbygKKyAgICAgICAgICAgICAgICAgZXhlY3V0YWJs ZSwgcmVzdHJpY3RTZXJ2aWNlcyA/IFFTdHJpbmdMaXRlcmFsKCJWOERlYnVnZ2VyIikgOiBRU3Ry aW5nKCksCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1i cm9rZW4tdGVzdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LWRlY2xhcmF0aXZlL3BhdGNoZXMvcW1sLWJy b2tlbi10ZXN0LnBhdGNoCmluZGV4IDRkNDRlOTBiNjc4Yy4uYjE2NDEyZmNkNWU1IDEwMDY0NAot LS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5wYXRj aAorKysgYi9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS9wYXRjaGVzL3FtbC1icm9rZW4tdGVzdC5w YXRjaApAQCAtMSw2ICsxLDYgQEAKLS0tLSBhL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29u dHJvbHMvZGF0YS90c3RfcmFuZ2VzbGlkZXIucW1sCi0rKysgYi90ZXN0cy9hdXRvL3F1aWNrY29u dHJvbHMyL2NvbnRyb2xzL2RhdGEvdHN0X3Jhbmdlc2xpZGVyLnFtbAotQEAgLTY0OSw2MSArNjQ5 LDYgQEAgVGVzdENhc2UgeworLS0tIHF0Ni1kZWNsYXJhdGl2ZS02LjQuMi5vcmlnL3Rlc3RzL2F1 dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMvZGF0YS90c3RfcmFuZ2VzbGlkZXIucW1sCisrKysg cXQ2LWRlY2xhcmF0aXZlLTYuNC4yL3Rlc3RzL2F1dG8vcXVpY2tjb250cm9sczIvY29udHJvbHMv ZGF0YS90c3RfcmFuZ2VzbGlkZXIucW1sCitAQCAtNjAyLDYxICs2MDIsNiBAQCBUZXN0Q2FzZSB7 CiAgICAgIH0KICAKICAgICAgZnVuY3Rpb24gdGVzdF9vdmVybGFwcGluZ0hhbmRsZXMoKSB7CmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2 LWRlY2xhcmF0aXZlL3RlbXBsYXRlCmluZGV4IGM2OTE1OWYzYjZlMS4uM2U5YzE5Y2U4YzllIDEw MDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dz L3F0Ni1kZWNsYXJhdGl2ZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni1kZWNsYXJhdGl2ZScKIHBrZ25hbWU9cXQ2LWRlY2xhcmF0aXZlCi12ZXJzaW9u PTYuNC4wCit2ZXJzaW9uPTYuNC4yCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9z dG1ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgd2F5bGFuZC1kZXZl bApAQCAtMTEsNyArMTEsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+ IgogbGljZW5zZT0iR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwt My4wLW9ubHksIEdQTC0yLjAtb3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly93d3cucXQuaW8i CiBkaXN0ZmlsZXM9Imh0dHBzOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQv JHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRkZWNsYXJhdGl2ZS1ldmVyeXdo ZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTM0MzRlNzJmY2NmYTBjOTI5YzMy Njc5MDcyM2QwNWMxNTVmNTA2Nzc0NmIxYWIwNWNmZDdhOWJhNjMyYzQzODMKK2NoZWNrc3VtPWE0 YmRkOTgzZGU0ZTljYmNhMGY4NWI3NjdkYmRkODU5ODcxMTU1NGUzNzBhMDZkYThmNTA5ZGVkNDQz MGY1YmQKIHJlcGxhY2VzPSJxdDYtcXVpY2tjb250cm9sczI+PTAiCiAKIGlmIFsgIiRDUk9TU19C VUlMRCIgXTsgdGhlbgpAQCAtMjcsNDQgKzI3LDQ2IEBAIGlmIFsgIiRYQlBTX1RBUkdFVF9FTkRJ QU4iID0gImJlIiBdOyB0aGVuCiAJYnJva2VuPSJzaGFkZXIgY29tcGlsYXRpb24gZmFpbHMiCiBm aQogCi1wcmVfY29uZmlndXJlKCkgewotCUNYWEZMQUdTKz0iICctRFFUX0RFQ0xBUkFUSVZFX0JJ Tl9QQVRIPVwiJHt3cmtzcmN9L2J1aWxkL2xpYi9xdDYvYmluXCInIgotCUNYWEZMQUdTKz0iICct RFFUX0RFQ0xBUkFUSVZFX0xJQkVYRUNfUEFUSD1cIiR7d3Jrc3JjfS9idWlsZC9saWIvcXQ2L2xp YmV4ZWNcIiciCi19Ci0KLXByZV9jaGVjaygpIHsKLQlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0i JHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKLX0KLQogZG9fY2hlY2soKSB7CiAJY2QgYnVpbGQK KwlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKKwll eHBvcnQgUVRfQlVJTERfQklOX1BBVEg9JHt3cmtzcmN9L2J1aWxkL2xpYi9xdDYvYmluCisJZXhw b3J0IFFUX0JVSUxEX0xJQkVYRUNfUEFUSD0ke3dya3NyY30vYnVpbGQvbGliL3F0Ni9saWJleGVj CiAJbG9jYWwgYnJva2VuPSJ0c3RfcXFtbGxvY2FsZXx0ZXh0fHRzdF9xcXVpY2t3aWRnZXQiCiAJ IyByZXF1aXJlcyBxdDYtZGVjbGFyYXRpdmUgaW5zdGFsbGVkCiAJYnJva2VuKz0ifG1vZHVsZV9p bmNsdWRlc3xjbWFrZV90b29saW5nX2ltcG9ydHN8ZW1wdHlfcW1sZGlyIgogCWJyb2tlbis9Inxx dHF1aWNrY29tcGlsZXJ8cW1scXVlcnkiCi0JIyBDb3VsZCB3b3JrIGlmIFF0NlF1aWNrLnNvLjYg Y291bGQgYmUgZm91bmQgYnkgcW1sCi0JYnJva2VuKz0ifHRzdF9xcW1sZGVidWdqc3x0c3RfcXFt bGluc3BlY3RvciIKLQlicm9rZW4rPSJ8dHN0X3FxbWxwcm9maWxlcnNlcnZpY2V8dHN0X3FxbWxq c3Njb3BlIgotCWJyb2tlbis9Inx0c3RfcXFtbHByZXZpZXd8dHN0X3FtbGxpbnR8dHN0X3FtbGZv cm1hdCIKKwkjIE5lZWQgdG8gaW52ZXN0aWdhdGUKKwlicm9rZW4rPSJ8dHN0X3FxbWxkZWJ1Z2pz fHRzdF9xcW1sanNzY29wZSIKKwlicm9rZW4rPSJ8dHN0X3FxbWxwcmV2aWV3fHRzdF9xbWxsaW50 IgogCSMgY2FuJ3QgZmluZCB0aGUgc291cmNlCiAJYnJva2VuKz0ifHRzdF9xbWx0Y19xcHJvY2Vz cyIKIAlicm9rZW4rPSJ8dHN0X3FxdWlja2ZpbGVkaWFsb2dpbXBsIgogCWJyb2tlbis9Inx0c3Rf cXF1aWNrZm9sZGVyZGlhbG9naW1wbCIKIAlicm9rZW4rPSJ8dHN0X3FtbGltcG9ydHNjYW5uZXJ8 dHN0X3FxbWxleHRlbnNpb25wbHVnaW4iCisJIyB1bmtub3duCisJYnJva2VuKz0ifHRzdF9xbWxk b21pdGVtfHRzdF9kb21fYWxsIgogCWN0ZXN0IC1FICIoJGJyb2tlbikiCiB9CiAKK3Bvc3RfaW5z dGFsbCgpIHsKKwlybSAtcmYgJHtERVNURElSfS91c3IvdGVzdHMKKwlybSAtcmYgJHtERVNURElS fS91c3IvbGliLyouYQorfQorCiBxdDYtZGVjbGFyYXRpdmUtdG9vbHNfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVz Yys9IiAtIHRvb2xzIgogCXBrZ19pbnN0YWxsKCkgewogCQl2bW92ZSB1c3IvbGliL3F0Ni9wbHVn aW5zL3FtbHRvb2xpbmcKKwkJdm1vdmUgdXNyL2xpYi9xdDYvcGx1Z2lucy9xbWxsaW50CiAJCWZv ciBiaW4gaW4gcW1sY2FjaGVnZW4gcW1saW1wb3J0c2Nhbm5lciBxbWx0eXBlcmVnaXN0cmFyOyBk bwogCQkJdm1vdmUgdXNyL2xpYi9xdDYvbGliZXhlYy8kYmluCiAJCWRvbmUKIAkJZm9yIGJpbiBp biBxbWxmb3JtYXQgcW1sbGludCBxbWxwcmV2aWV3IHFtbHByb2ZpbGVyOyBkbwogCQkJdm1vdmUg dXNyL2xpYi9xdDYvYmluLyRiaW4KIAkJZG9uZQorCQl2bW92ZSAidXNyL2xpYi9xdDYvYmluL3Fx bWxkZWJ1ZyoiCiAJfQogfQogCkBAIC04MSw3ICs4Myw5IEBAIHF0Ni1kZWNsYXJhdGl2ZS1kZXZl bF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3IvbGliL3F0Ni9ta3NwZWNzCiAJCXZtb3ZlICJ1c3Iv bGliL2xpYlF0NlF1aWNrVGVzdC5zby4qIgogCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRUZXN0 CisJCXZtb3ZlIHVzci9saWIvcXQ2L3FtbC9RdC90ZXN0CiAJCXZtb3ZlIHVzci9saWIvcXQ2L2Jp bi9xbWx0ZXN0cnVubmVyCisJCXZtb3ZlIHVzci9saWIvcXQ2L2Jpbi90ZXN0YXBwCiAJCXZtb3Zl ICJ1c3IvbGliLyouc28iCiAJCXZtb3ZlICJ1c3IvbGliLyoucHJsIgogCQl2bW92ZSB1c3Ivc2hh cmUvcXQ2L21vZHVsZXMKCkZyb20gYzM5MzY3NzAyYjVjNDljNTk1ZTljOWJjNmExYzczZTlhZjQw NWFkYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9 QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFp bC5jb20+CkRhdGU6IEZyaSwgMTcgRmViIDIwMjMgMjI6NDY6NDggKzA3MDAKU3ViamVjdDogW1BB VENIIDAzLzI2XSBxdDYtbG9jYXRpb246IHVwZGF0ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtncy9x dDYtbG9jYXRpb24vcGF0Y2hlcy9uby1jbWFrZS10ZXN0LnBhdGNoIHwgMTAgKysrKysrKysrKwog c3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgICAgICAgICAgICAgICAgICAgIHwgIDggKysr KysrLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK IGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni1sb2NhdGlvbi9wYXRjaGVzL25vLWNtYWtl LXRlc3QucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1sb2NhdGlvbi9wYXRjaGVzL25v LWNtYWtlLXRlc3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi9wYXRjaGVzL25vLWNtYWtl LXRlc3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44NWQ1 MTljZWY4OGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni1sb2NhdGlvbi9wYXRjaGVz L25vLWNtYWtlLXRlc3QucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIHF0Ni1sb2NhdGlvbi02 LjQuMi5vcmlnL3Rlc3RzL2F1dG8vQ01ha2VMaXN0cy50eHQKKysrKyBxdDYtbG9jYXRpb24tNi40 LjIvdGVzdHMvYXV0by9DTWFrZUxpc3RzLnR4dAorQEAgLTE0LDcgKzE0LDYgQEAgYWRkX3N1YmRp cmVjdG9yeShxZ2VvcG9zaXRpb25pbmZvKQorIGFkZF9zdWJkaXJlY3RvcnkocWdlb3NhdGVsbGl0 ZWluZm8pCisgYWRkX3N1YmRpcmVjdG9yeShxZ2Vvc2F0ZWxsaXRlaW5mb3NvdXJjZSkKKyBhZGRf c3ViZGlyZWN0b3J5KHFubWVhc2F0ZWxsaXRlaW5mb3NvdXJjZSkKKy1hZGRfc3ViZGlyZWN0b3J5 KGNtYWtlKQorIGlmIChRVDZfSVNfU0hBUkVEX0xJQlNfQlVJTEQpCisgICAgIGFkZF9zdWJkaXJl Y3RvcnkocG9zaXRpb25wbHVnaW4pCisgICAgIGFkZF9zdWJkaXJlY3RvcnkocG9zaXRpb25wbHVn aW50ZXN0KQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni1sb2NhdGlvbi90ZW1wbGF0ZQppbmRleCAyY2RlZWMzODM4NDYuLjFkZDQyOWIyMmM0 NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG9jYXRpb24vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9xdDYtbG9jYXRpb24vdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUg Zm9yICdxdDYtbG9jYXRpb24nCiBwa2duYW1lPXF0Ni1sb2NhdGlvbgotdmVyc2lvbj02LjQuMAor dmVyc2lvbj02LjQuMgogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVw ZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCkBAIC0xMCwx MiArMTAsMTYgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vu c2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBH UEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczov L3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVh c2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0cG9zaXRpb25pbmct ZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0yZDFiNWM1ZjZkYWIw MTA4Mzk2ZmVhMzdjYTI4ZWJmYWQyMWE0OGZhMTFkOGM1ZDE3NjIyZDZmNmU1ZmJhODM0CitjaGVj a3N1bT03ZjAxYmFmNWJhODc3YWY1YjIxMWM5ZDMyZTYwNzUwMTlmMDBkOWQ3YTJiYTgxYmIwZjEw Y2E3NTllOWFlZjgyCiAKIHByZV9jaGVjaygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0i JHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKIH0KIAorcG9zdF9pbnN0YWxsKCkgeworCXJtIC1y ZiAke0RFU1RESVJ9L3Vzci90ZXN0cworfQorCiBxdDYtbG9jYXRpb24tZGV2ZWxfcGFja2FnZSgp IHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJh c2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKIAlzaG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmls ZXMiCgpGcm9tIGNiNzQwMzM3MDdhMWEyN2M3MmJiNjJiNzFiMGYzNDYyMjI2NzE4OTggTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUx PUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRl OiBGcmksIDE3IEZlYiAyMDIzIDIyOjQ2OjU2ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwNC8yNl0g cXQ2LW11bHRpbWVkaWE6IHVwZGF0ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtncy9xdDYtbXVsdGlt ZWRpYS90ZW1wbGF0ZSB8IDEyICsrKysrKysrKy0tLQogMSBmaWxlIGNoYW5nZWQsIDkgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni1tdWx0aW1l ZGlhL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbXVsdGltZWRpYS90ZW1wbGF0ZQppbmRleCBmNmQz N2JlOWNhNWYuLmMyNTFmZDEzNDU2MSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbXVsdGltZWRp YS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1tdWx0aW1lZGlhL3RlbXBsYXRlCkBAIC0xLDE5 ICsxLDE5IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtbXVsdGltZWRpYScKIHBrZ25hbWU9 cXQ2LW11bHRpbWVkaWEKLXZlcnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEK IGJ1aWxkX3N0eWxlPWNtYWtlCiBjb25maWd1cmVfYXJncz0iLURRVF9GRUFUVVJFX2dzdHJlYW1l cj1PTiIKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNv bmZpZwogIHF0Ni1zaGFkZXJ0b29scy1kZXZlbCIKLW1ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRp dmUtZGV2ZWwKK21ha2VkZXBlbmRzPSJxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHVsc2VhdWRpby1k ZXZlbCBmZm1wZWctZGV2ZWwgbGlidmEtZGV2ZWwKICBxdDYtc2hhZGVydG9vbHMtZGV2ZWwgbGli Z2xpYi1kZXZlbCBnc3QtcGx1Z2lucy1iYXNlMS1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBs YXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFtZXdvcmsgLSBtdWx0aW1lZGlhIgogbWFpbnRh aW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5 IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFORCBHUEwtMy4wLW9ubHkgd2l0aCBR dC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxl cz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUu Kn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0bXVsdGltZWRpYS1ldmVyeXdoZXJlLXNyYy0ke3Zl cnNpb259LnRhci54eiIKLWNoZWNrc3VtPWU4MmU4ZTg0N2NhZTJhOTUxYTExZGIwNWI2ZDEwYTIy YjIxZTNhMWQ3MmUwNmE3NzgxY2NlNGJkMTk3ZTc5NmYKK2NoZWNrc3VtPTdmMmI3MGRlZWFkYTkx MWM4ZTY2MGUyODAxMjg2NjU3ZjI5N2E1ZDFkNTQzZDFmNmJmYTg1NmYyODk3MmM3NzYKIAogaWYg WyAiJFhCUFNfTUFDSElORSIgPSAiaTY4NiIgXTsgdGhlbgogCUNYWEZMQUdTPSItRFBGRkZUX1NJ TURfRElTQUJMRT0xIgpAQCAtMzAsNiArMzAsMTEgQEAgZG9fY2hlY2soKSB7CiAJY3Rlc3QgLUUg IigkYnJva2VuKSIKIH0KIAorcG9zdF9pbnN0YWxsKCkgeworCXJtIC1yZiAke0RFU1RESVJ9L3Vz ci90ZXN0cworCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9saWIvKi5hCit9CisKIHF0Ni1tdWx0aW1l ZGlhLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259 XyR7cmV2aXNpb259IHF0Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEiCiAJc2hvcnRfZGVzYys9 IiAtIGRldmVsb3BtZW50IGZpbGVzIgpAQCAtNDIsNiArNDcsNyBAQCBxdDYtbXVsdGltZWRpYS1k ZXZlbF9wYWNrYWdlKCkgewogCQl2bW92ZSB1c3IvbGliL3F0Ni9xbWwvUXRNdWx0aW1lZGlhL3Bs dWdpbnMucW1sdHlwZXMKIAkJdm1vdmUgdXNyL2xpYi9xdDYvcW1sL1F0TXVsdGltZWRpYS9xbWxk aXIKIAkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJdm1vdmUgInVzci9saWIvKi5hIgogCQl2bW92 ZSAidXNyL2xpYi8qLnBybCIKIAl9CiB9CgpGcm9tIDM3Y2ZkMDAxY2E0NzYyN2I4NGU3YWYxYTI4 NzhkNWMyN2NiNTYwOTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89 QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdk YW5ocXhAZ21haWwuY29tPgpEYXRlOiBGcmksIDE3IEZlYiAyMDIzIDIyOjQ3OjA3ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAwNS8yNl0gcXQ2LWxvdHRpZTogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBz cmNwa2dzL3F0Ni1sb3R0aWUvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LWxvdHRpZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQppbmRleCBhNTA1 NjgzM2FmZTkuLmUzYjMzYWM4ZDhhYiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtbG90dGllL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LWxvdHRpZS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1sb3R0aWUnCiBwa2duYW1lPXF0Ni1sb3R0aWUKLXZl cnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtl CiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCkBAIC0xMCw3ICsxMCw3IEBA IG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4w LW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3du bG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0v c3VibW9kdWxlcy9xdGxvdHRpZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNo ZWNrc3VtPTFjZmNiZmNhOWU1YzY4ZTEzMTdlZGYyMGNhYTBlYWQ0ZTljOGYxZjRmMWRlMTlhOTVh OGMyMzVmNDU3NmM2YjQKK2NoZWNrc3VtPWFjY2M4ODY5YzcyMDk1Y2U1YjM3M2EzMGMzNjJkMjEy MzUxNDVhNzlmOWUyNzA0ODA3MTJmODYxZDFkZTFjNTYKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtH UyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjAs NiArMjAsMTAgQEAgcHJlX2NoZWNrKCkgewogCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jr c3JjL2J1aWxkL2xpYi9xdDYvcW1sIgogfQogCitwb3N0X2luc3RhbGwoKSB7CisJcm0gLXJmICR7 REVTVERJUn0vdXNyL3Rlc3RzCit9CisKIHF0Ni1sb3R0aWUtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVz Yys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgoKRnJvbSA5NDMxNTFjMWEyYzE2MDczYTgzNmQ3NWY1 MjlmYjA2MzVmNTdmYjU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/ PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25n ZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAxNyBGZWIgMjAyMyAyMjo1ODo1NyArMDcwMApT dWJqZWN0OiBbUEFUQ0ggMDYvMjZdIHF0Ni1xdDVjb21wYXQ6IHVwZGF0ZSB0byA2LjQuMi4KCi0t LQogc3JjcGtncy9xdDYtcXQ1Y29tcGF0L3RlbXBsYXRlIHwgMTAgKysrKysrKystLQogMSBmaWxl IGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVt cGxhdGUKaW5kZXggODJjNzM1YTk4OTNlLi5jYzAyNDFmYzU2NWYgMTAwNjQ0Ci0tLSBhL3NyY3Br Z3MvcXQ2LXF0NWNvbXBhdC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdDVjb21wYXQvdGVt cGxhdGUKQEAgLTEsOCArMSwxMCBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF0NWNvbXBh dCcKIHBrZ25hbWU9cXQ2LXF0NWNvbXBhdAotdmVyc2lvbj02LjQuMAordmVyc2lvbj02LjQuMgog cmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSItRFFUX0ZFQVRV UkVfdGV4dGNvZGVjPU9OIC1EUVRfRkVBVFVSRV9jb2RlY3M9T04KKyAtRFFUX0ZFQVRVUkVfaWNv bnY9T04gLURRVF9GRUFUVVJFX2JpZ19jb2RlY3M9T04iCiBob3N0bWFrZWRlcGVuZHM9InF0Ni1i YXNlLWRldmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBwZXJsIHBrZy1jb25maWciCiBtYWtlZGVw ZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zaGFkZXJ0b29s cy1kZXZlbCIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBm cmFtZXdvcmsgLSBRdDUgQ29tcGF0aWJpbHR5IENvbXBvbmVudCIKQEAgLTEwLDEyICsxMiwxNiBA QCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iR1BMLTMu MC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAsIExHUEwtMy4wLW9ubHksIEdQTC0yLjAt b3ItbGF0ZXIiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdDVjb21wYXQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50YXIueHoi Ci1jaGVja3N1bT03MzQ3NWQwODM3Zjc4MjQ2ZDUwOTE5OWYyMTFhMzVjNzFmYzM2Y2NjZjY0YjNk ZTI1OGViYzYzODcxOTRhNGMwCitjaGVja3N1bT1mNTFmNTA1YzhlOTg1YjUxYjdkNzMzZTI3ZDc4 MmM2ZmNlMTgxYmVlZjUzMzY0YWNiMDM2OGNjODkyYzRiNzkyCiAKIGlmIFsgIiRYQlBTX0NIRUNL X1BLR1MiIF07IHRoZW4KIAljb25maWd1cmVfYXJncz0iLURRVF9CVUlMRF9URVNUUz1PTiIKIGZp CiAKK3Bvc3RfaW5zdGFsbCgpIHsKKwlybSAtcmYgJHtERVNURElSfS91c3IvdGVzdHMKK30KKwog cXQ2LXF0NWNvbXBhdC1kZXZlbF9wYWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49 JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSBxdDYtYmFzZS1kZXZlbCIKIAlzaG9ydF9kZXNjKz0iIC0g ZGV2ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIDAyMDJiZTljOGIyZmRjZDgzZjg3YTZmZTVhZjU2MjYy ZTk5NjUwNjIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBv PUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhA Z21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDAwOjAwOjIwICswNzAwClN1YmplY3Q6 IFtQQVRDSCAwNy8yNl0gcXQ2LXRvb2xzOiB1cGRhdGUgdG8gNi40LjIuCgotLS0KIHNyY3BrZ3Mv cXQ2LXRvb2xzL3BhdGNoZXMvbm8tbGl0ZWh0bWwtdGVzdC5wYXRjaCB8IDExICsrKysrKysrKysr CiBzcmNwa2dzL3F0Ni10b29scy9wYXRjaGVzL3Fkb2MtbG9jYXRpb24ucGF0Y2ggICAgfCAxNCAr KysrKysrKysrKysrKwogc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUgICAgICAgICAgICAgICAg ICAgICAgIHwgIDkgKysrKystLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDMwIGluc2VydGlvbnMoKyks IDQgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtdG9vbHMvcGF0 Y2hlcy9uby1saXRlaHRtbC10ZXN0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9x dDYtdG9vbHMvcGF0Y2hlcy9xZG9jLWxvY2F0aW9uLnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtdG9vbHMvcGF0Y2hlcy9uby1saXRlaHRtbC10ZXN0LnBhdGNoIGIvc3JjcGtncy9xdDYt dG9vbHMvcGF0Y2hlcy9uby1saXRlaHRtbC10ZXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uMmNiZmFjNWRlODJkCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj cGtncy9xdDYtdG9vbHMvcGF0Y2hlcy9uby1saXRlaHRtbC10ZXN0LnBhdGNoCkBAIC0wLDAgKzEs MTEgQEAKKy0tLSBxdDYtdG9vbHMtNi40LjIub3JpZy9zcmMvYXNzaXN0YW50L3FsaXRlaHRtbC9z cmMvM3JkcGFydHkvbGl0ZWh0bWwvQ01ha2VMaXN0cy50eHQKKysrKyBxdDYtdG9vbHMtNi40LjIv c3JjL2Fzc2lzdGFudC9xbGl0ZWh0bWwvc3JjLzNyZHBhcnR5L2xpdGVodG1sL0NNYWtlTGlzdHMu dHh0CitAQCAtMTkxLDcgKzE5MSw3IEBAIHNldF9zb3VyY2VfZmlsZXNfcHJvcGVydGllcygke0NN QUtFX0NVUlIKKyAKKyAjIFRlc3RzCisgCistaWYgKEJVSUxEX1RFU1RJTkcpCisraWYgKEZBTFNF KQorICAgICBpbmNsdWRlKEZldGNoQ29udGVudCkKKyAgICAgRmV0Y2hDb250ZW50X0RlY2xhcmUo CisgICAgICAgZ29vZ2xldGVzdApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdG9vbHMvcGF0Y2hl cy9xZG9jLWxvY2F0aW9uLnBhdGNoIGIvc3JjcGtncy9xdDYtdG9vbHMvcGF0Y2hlcy9xZG9jLWxv Y2F0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNmQ3 YzBlYTM0NTM3Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtdG9vbHMvcGF0Y2hlcy9x ZG9jLWxvY2F0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMTQgQEAKKy0tLSBxdDYtdG9vbHMtNi40LjIu b3JpZy90ZXN0cy9hdXRvL3Fkb2MvZ2VuZXJhdGVkb3V0cHV0L3RzdF9nZW5lcmF0ZWRvdXRwdXQu Y3BwCisrKysgcXQ2LXRvb2xzLTYuNC4yL3Rlc3RzL2F1dG8vcWRvYy9nZW5lcmF0ZWRvdXRwdXQv dHN0X2dlbmVyYXRlZG91dHB1dC5jcHAKK0BAIC03NCw3ICs3NCwxMCBAQCBwcml2YXRlOgorIHZv aWQgdHN0X2dlbmVyYXRlZE91dHB1dDo6aW5pdFRlc3RDYXNlKCkKKyB7CisgICAgIC8vIEJ1aWxk IHRoZSBwYXRoIHRvIHRoZSBRRG9jIGJpbmFyeSB0aGUgc2FtZSB3YXkgbW9jIHRlc3RzIGRvIGZv ciBtb2MuCistICAgIGNvbnN0IGF1dG8gYmlucGF0aCA9IFFMaWJyYXJ5SW5mbzo6cGF0aChRTGli cmFyeUluZm86OkJpbmFyaWVzUGF0aCk7CisrICAgIGF1dG8gYmlucGF0aCA9IFFMaWJyYXJ5SW5m bzo6cGF0aChRTGlicmFyeUluZm86OkJpbmFyaWVzUGF0aCk7CisrICAgIGNoYXIgKmJ1aWxkX2Jp bnBhdGggPSBnZXRlbnYoIlFUX0JVSUxEX0JJTl9QQVRIIik7CisrICAgIGlmIChidWlsZF9iaW5w YXRoICYmICpidWlsZF9iaW5wYXRoKQorKyAgICAJICAgIGJpbnBhdGggPSBidWlsZF9iaW5wYXRo OworICAgICBjb25zdCBhdXRvIGV4dGVuc2lvbiA9IFFTeXNJbmZvOjpwcm9kdWN0VHlwZSgpID09 ICJ3aW5kb3dzIiA/ICIuZXhlIiA6ICIiOworICAgICBtX3Fkb2MgPSBiaW5wYXRoICsgUUxhdGlu MVN0cmluZygiL3Fkb2MiKSArIGV4dGVuc2lvbjsKKyAgICAgbV9leHBlY3RlZERpci5zZXRQYXRo KFFGSU5EVEVTVERBVEEoImV4cGVjdGVkX291dHB1dCIpKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtdG9vbHMvdGVtcGxhdGUKaW5kZXggNzU1 ZDJlOTZlYTY0Li5hZTdmZjdiM2I2YzYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXRvb2xzL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXRvb2xzL3RlbXBsYXRlCkBAIC0xLDE5ICsxLDE5IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtdG9vbHMnCiBwa2duYW1lPXF0Ni10b29scwotdmVy c2lvbj02LjQuMAordmVyc2lvbj02LjQuMgogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UK IGNvbmZpZ3VyZV9hcmdzPSItREVYVEVSTkFMX0dVTUJPPU9OIC1ETElURUhUTUxfVVRGOD1PTiAt RFVTRV9JQ1U9T04KICAtRFFUX0JVSUxEX1NIQVJFRF9MSUJTPU9OIC1EUVRfRkVBVFVSRV9hc3Np c3RhbnQ9T04iCi1ob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwgcXQ2LXBsdWdp bi1zcWxpdGUiCitob3N0bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwgcXQ2LXBsdWdp bi1zcWxpdGUgY2xhbmcgbGx2bSBjbGFuZy10b29scy1leHRyYSIKIG1ha2VkZXBlbmRzPSJxdDYt YmFzZS1kZXZlbCBsaWJhdG9taWMtZGV2ZWwgcXQ2LXBsdWdpbi1zcWxpdGUKLSBndW1iby1wYXJz ZXItZGV2ZWwgaWN1LWRldmVsIgorIGd1bWJvLXBhcnNlci1kZXZlbCBpY3UtZGV2ZWwgY2xhbmcg bGx2bSIKIHNob3J0X2Rlc2M9IkNyb3NzLXBsYXRmb3JtIGFwcGxpY2F0aW9uIGFuZCBVSSBmcmFt ZXdvcmsgKFFUNikgLSBxdDYtdG9vbHMgY29tcG9uZW50IgogbWFpbnRhaW5lcj0iSm9obiA8bWVA am9obm55bmF0b3IuZGV2PiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wLCBMR1BMLTMuMC1vbmx5LCBHUEwtMi4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0 dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxf cmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXR0b29scy1l dmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTk3ZjNkNWY4OGM0NThi ZTdhOGY3YjdiMDhlZmMwNmM0ZWJhZDM5Y2E1MTY2OTQ3NmIxOGJmOWU0YzExYWZiYTIKK2NoZWNr c3VtPWEzMTM4NzkxNjE4NGU0YTVlZjUyMmQzZWE4NDFlOGU5MzFjYzBmODhiZTA4MjRhN2EzNTRh NTcyZDU4MjZjNjgKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJY29uZmlndXJlX2Fy Z3MrPSIgLURRVF9GT1JDRV9CVUlMRF9UT09MUz1UUlVFIgpAQCAtMzEsNiArMzEsNyBAQCBwb3N0 X2J1aWxkKCkgewogCiBkb19jaGVjaygpIHsKIAljZCBidWlsZAorCWV4cG9ydCBRVF9CVUlMRF9C SU5fUEFUSD0kd3Jrc3JjL2J1aWxkL2xpYi9xdDYvYmluCiAJIyBTb21lIG9mIHRoZXNlIHRlc3Rz IGV4cGVjdCB0aGF0IHF0Ni10b29scyBpcyBhbHJlYWR5CiAJIyBpbnN0YWxsZWQgaW4gL3Vzci9s aWIvcXQ2CiAJY3Rlc3QgLUUgJ3RzdF8obHJlbGVhc2V8bGNvbnZlcnR8bHVwZGF0ZXxxdGF0dHJp YnV0aW9uc3NjYW5uZXJ8cWhlbHBjb250ZW50bW9kZWx8cWhlbHBlbmdpbmVjb3JlfHFoZWxwZ2Vu ZXJhdG9yfHFoZWxwaW5kZXhtb2RlKScKCkZyb20gZjc0YWQwZmEwNDJiZGVjYTQ2YWRhMWU0ZTJk ZTAwYmUzZTU4MjBiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1D ND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2Rh bmhxeEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTggRmViIDIwMjMgMDk6Mzc6NTkgKzA3MDAKU3Vi amVjdDogW1BBVENIIDA4LzI2XSBxdDYtM2Q6IHVwZGF0ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtn cy9xdDYtM2QvdGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUg Yi9zcmNwa2dzL3F0Ni0zZC90ZW1wbGF0ZQppbmRleCBmZTZjNjIxNmY0MGUuLmFiOTg5NjdiN2Vk NSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtM2QvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9xdDYt M2QvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtM2Qn CiBwa2duYW1lPXF0Ni0zZAotdmVyc2lvbj02LjQuMAordmVyc2lvbj02LjQuMgogcmV2aXNpb249 MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRp dmUtZGV2ZWwiCkBAIC0xMSw3ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5h dG9yLmRldj4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BM LTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2VwdGlvbi0xLjAiCiBo b21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5p by9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxl cy9xdDNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NmFiZGI1 YjQyMWY0YzkwZmVjNzQ5MmU1MTU3MmNhYWI2YjQ5NzIzMzYwOGE3ZWU0MzhjNTQ3ZjU4Y2VhYmRl YgorY2hlY2tzdW09NDU2YzI0YzNkMzg0MDI3M2U3MjBiNzlmZThmZWQ0NTJmYTg4OWI1NGNiYWU2 YjQ1ZGIxZDFkZWQ0ZGEzNzM0MQogCiBxdDYtM2QtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCgpGcm9tIDg5MDZmMDIwYjE5 YWY1OGE2MjBiMzAyYWZhNDQ1YTI0NDc3YjE0YTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0y MERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDA5 OjM4OjE3ICswNzAwClN1YmplY3Q6IFtQQVRDSCAwOS8yNl0gcXQ2LXdlYmNoYW5uZWw6IHVwZGF0 ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSB8IDggKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViY2hhbm5lbC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2 LXdlYmNoYW5uZWwvdGVtcGxhdGUKaW5kZXggYWRkOTNiYTQ4MjZjLi43NzRhOTZhMDVjZDcgMTAw NjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXdlYmNoYW5uZWwvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtd2ViY2hhbm5lbC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni13ZWJjaGFubmVsJwogcGtnbmFtZT1xdDYtd2ViY2hhbm5lbAotdmVyc2lvbj02LjQu MAordmVyc2lvbj02LjQuMgogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtl ZGVwZW5kcz0icGVybCBxdDYtYmFzZS1kZXZlbCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwiCkBAIC0x MCwxMiArMTAsMTYgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIKIGxp Y2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkpIEFO RCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJodHRw czovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3Jl bGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0d2ViY2hhbm5l bC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTUyOGY2ZDgzN2Nj NTg4NTRkZWFkZGFmYmI3NmViMjM3ZjRkYmQ2ODhhNDQwN2I0MzhhYjljMGRiMTYxMzY5NWEKK2No ZWNrc3VtPTA2NjU3YjJiMjUwOWYyNmM3MzNiN2M0MGRhMGRiYjg1NzFhMjE1Yjk3Zjk5Njg1YTZm YzNiYzUxZGNiZWJkODcKIAogcHJlX2NoZWNrKCkgewogCWV4cG9ydCBRTUwyX0lNUE9SVF9QQVRI PSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgogfQogCitwb3N0X2luc3RhbGwoKSB7CisJcm0g LXJmICR7REVTVERJUn0vdXNyL3Rlc3RzCit9CisKIHF0Ni13ZWJjaGFubmVsLWRldmVsX3BhY2th Z2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0 Ni1iYXNlLWRldmVsPj0ke3ZlcnNpb259XzEKIAkgcXQ2LXdlYnNvY2tldHMtZGV2ZWw+PSR7dmVy c2lvbn1fMSIKCkZyb20gMjQ1Zjg3MmEwMzM0MGVkN2E1MTY1YmJlZGM4ODY2NjdkNTM0YzUxZCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIw VHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+ CkRhdGU6IFNhdCwgMTggRmViIDIwMjMgMDk6Mzg6MjIgKzA3MDAKU3ViamVjdDogW1BBVENIIDEw LzI2XSBxdDYtd2Vic29ja2V0czogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dzL3F0Ni13 ZWJzb2NrZXRzL3RlbXBsYXRlIHwgOCArKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0 aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJzb2Nr ZXRzL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtd2Vic29ja2V0cy90ZW1wbGF0ZQppbmRleCBmMzUw YjM5ZDE0YjEuLjFiMDBlZDRiMGFhOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtd2Vic29ja2V0 cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni13ZWJzb2NrZXRzL3RlbXBsYXRlCkBAIC0xLDYg KzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXdlYnNvY2tldHMnCiBwa2duYW1lPXF0 Ni13ZWJzb2NrZXRzCi12ZXJzaW9uPTYuNC4wCit2ZXJzaW9uPTYuNC4yCiByZXZpc2lvbj0xCiBi dWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRldmVsIHF0 Ni1kZWNsYXJhdGl2ZS1kZXZlbCIKQEAgLTEyLDEyICsxMiwxNiBAQCBtYWludGFpbmVyPSJKb2hu IDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iKExHUEwtMy4wLW9ubHkgT1IgR1BMLTIu MC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25seSB3aXRoIFF0LUdQTC1leGNl cHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8v ZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNp b259L3N1Ym1vZHVsZXMvcXR3ZWJzb2NrZXRzLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFy Lnh6IgotY2hlY2tzdW09ZmYzYzY2MjljZDY1MzcyNjYxMjNjNDQxNzA5YWNkZDY3ZjIzMWZmMmEw NzIxNmZjODQ4NDQ4MjU1YmVjOWJjYQorY2hlY2tzdW09NzFjZjg1NzU4MmRiMjBjMjAxMDNhNTZm NjdkNTFjMzNjNGFiMGI3MjQ0ODIwOWM5NjNkM2I0NDlhNTI3YzYyNgogCiBwcmVfY2hlY2soKSB7 CiAJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCiB9 CiAKK3Bvc3RfaW5zdGFsbCgpIHsKKwlybSAtcmYgJHtERVNURElSfS91c3IvdGVzdHMKK30KKwog cXQ2LXdlYnNvY2tldHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+ PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKIAlz aG9ydF9kZXNjKz0iIC0gZGV2ZWxvcG1lbnQgZmlsZXMiCgpGcm9tIDgxYWU4YTZhNjAwMjYwMzNl MGI4NDZjNzk0NGMxMTIwZmMwOTA4YjQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/ VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/ PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDA5OjM4OjMx ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMS8yNl0gcXQ2LW5ldHdvcmthdXRoOiB1cGRhdGUgdG8g Ni40LjIuCgotLS0KIHNyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIHwgNCArKy0tCiAx IGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtbmV0d29y a2F1dGgvdGVtcGxhdGUKaW5kZXggNTJjZGJmZjk2Y2VlLi5lY2Q4ZTg5MWI3NDcgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvcXQ2LW5ldHdvcmthdXRoL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LW5l dHdvcmthdXRoL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAn cXQ2LW5ldHdvcmthdXRoJwogcGtnbmFtZT1xdDYtbmV0d29ya2F1dGgKLXZlcnNpb249Ni40LjAK K3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRl cGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9 IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21l cGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9v ZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9x dG5ldHdvcmthdXRoLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 NjA5Yjc3ZjhmZDc3ZjFjYzFmMGZhZmE3YWNkYjBjYTZiYjhhOGFlYTZmZWY0MmNiYjc2Zjg2MzZj ZTBmMTdiMworY2hlY2tzdW09ZGVhYjE3YmQ5NTdkMGE0OTNiZDc3NTdiYzcxMjcwOTE4MTQ3NTk2 ZmI5NjYxYTg4NmIzZjFkMzA1MDQ3YzJlZQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0 aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCgpGcm9tIDZiZjFhOTli ZWNiYjE0ZGQ4NmRjMmZjNTBhZDQ5YmEwYTJiYTEzNWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRu Zz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIz IDA5OjM4OjQzICswNzAwClN1YmplY3Q6IFtQQVRDSCAxMi8yNl0gcXQ2LXN2ZzogdXBkYXRlIHRv IDYuNC4yLgoKLS0tCiBzcmNwa2dzL3F0Ni1zdmcvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZp bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQppbmRl eCAxZTgxYTVmMjA5NDguLjg5ODkxN2E5NzQyZSAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtc3Zn L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXN2Zy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAK ICMgVGVtcGxhdGUgZmlsZSBmb3IgJ3F0Ni1zdmcnCiBwa2duYW1lPXF0Ni1zdmcKLXZlcnNpb249 Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0 bWFrZWRlcGVuZHM9InF0Ni1iYXNlLWRldmVsIHBlcmwiCkBAIC0xMCw3ICsxMCw3IEBAIG1haW50 YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkg d2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQTC0zLjAtb25s eSIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2Fk LnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJt b2R1bGVzL3F0c3ZnLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09 MDNmZGFlOTQzN2QwNzRkY2ZhMzg3ZGMxZjJjNmU3ZTE0ZmVhMGY5ODliZjdlMWFhMjY1ZmQzNWZm YzJjNWIyNQorY2hlY2tzdW09Yjc0NmFmM2NiMTc5MzYyMWQ4ZWQ3ZWFlMzhkOWFkNWExNTU0MWRj Mjc0MjAzMTA2OWYyYWUzZmU4NzU5MDMxNAogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0 aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0yMSw2ICsyMSwx MCBAQCBkb19jaGVjaygpIHsKIAljdGVzdCAtRSAndHN0X3FpY29uX3N2ZycKIH0KIAorcG9zdF9p bnN0YWxsKCkgeworCXJtIC1yZiAke0RFU1RESVJ9L3Vzci90ZXN0cworfQorCiBxdDYtc3ZnLWRl dmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2 aXNpb259IHF0Ni1iYXNlLWRldmVsIgogCXNob3J0X2Rlc2MrPSIgLSBkZXZlbG9wbWVudCBmaWxl cyIKCkZyb20gZDEwOWE2NzJkMzRiZTMxZWVmNWFhYzQ4OWM5NzA3OTliMTQwYzczMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMTggRmViIDIwMjMgMDk6Mzg6NDggKzA3MDAKU3ViamVjdDogW1BBVENIIDEzLzI2XSBx dDYtd2F5bGFuZDogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dzL3F0Ni13YXlsYW5kL3Rl bXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdheWxhbmQvdGVtcGxhdGUgYi9zcmNw a2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCmluZGV4IDVjMDQ0OTQ3MjQ4NC4uZDg5ODBkMjA4YTBm IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni13YXlsYW5kL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3Mv cXQ2LXdheWxhbmQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9y ICdxdDYtd2F5bGFuZCcKIHBrZ25hbWU9cXQ2LXdheWxhbmQKLXZlcnNpb249Ni40LjAKK3ZlcnNp b249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9 InF0Ni1iYXNlLWRldmVsIHBlcmwgcGtnLWNvbmZpZyB3YXlsYW5kLWRldmVsCkBAIC0xNSw3ICsx NSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJH UEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCwgTEdQTC0zLjAtb25seSwgR1BM LTIuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3d3dy5xdC5pbyIKIGRpc3RmaWxlcz0i aHR0cHM6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9 LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHdheWxhbmQtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9u fS50YXIueHoiCi1jaGVja3N1bT1mMDhiYThlMTRmYmVjMzRkNTczMzJhZDg5N2M1YTkxNTA0NTNl ZDA3YTYxMWFiYjE4Yzg5YzZjYzVlNWI2MmZjCitjaGVja3N1bT0yNGNmMWEwYWY3NTFhYjE2Mzdi NDgxNWQ1YzVmMzcwNDQ4M2Q1ZmE3YmVkYmQzNTE5ZTZmYzAyMGQ4YmUxMzVmCiAKIGlmIFsgIiRD Uk9TU19CVUlMRCIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSItRFFUX0ZPUkNFX0JVSUxEX1RP T0xTPXRydWUiCgpGcm9tIDQzY2NiZjdjZDVlNWI2ZDIyOTAwMmU4NTAyNTA2NTcxYWRkZmY0ODgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0y MFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29t PgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDA5OjM4OjU2ICswNzAwClN1YmplY3Q6IFtQQVRDSCAx NC8yNl0gcXQ2LXZpcnR1YWxrZXlib2FyZDogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dz L3F0Ni12aXJ0dWFsa2V5Ym9hcmQvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdl ZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv cXQ2LXZpcnR1YWxrZXlib2FyZC90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXZpcnR1YWxrZXlib2Fy ZC90ZW1wbGF0ZQppbmRleCA2OTViOTZhMTRjMWQuLmIyYzI3OTE0ZWMyOSAxMDA2NDQKLS0tIGEv c3JjcGtncy9xdDYtdmlydHVhbGtleWJvYXJkL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXZp cnR1YWxrZXlib2FyZC90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBm b3IgJ3F0Ni12aXJ0dWFsa2V5Ym9hcmQnCiBwa2duYW1lPXF0Ni12aXJ0dWFsa2V5Ym9hcmQKLXZl cnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtl CiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcGtnLWNvbmZpZyBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwi CkBAIC0xMCw3ICsxMCw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4i CiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0 ZmlsZXM9Imh0dHA6Ly9kb3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNp b24lLip9LyR7dmVyc2lvbn0vc3VibW9kdWxlcy9xdHZpcnR1YWxrZXlib2FyZC1ldmVyeXdoZXJl LXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPTI1YWIwOWFiYTJhZmIwMDFjYmVkZDdm ZjE2Zjg3NGQwZWY4YzNlMDMxZDBiNjIwYmFhNzU0ZDQ5MGZhM2ZkMjAKK2NoZWNrc3VtPTljM2M4 MzBmNmUxNzg5NmVmYWNhNWZkYzdjMTkxMDg4ZWVkZDcwYjA3NDkwYjM4ODM1ODU2NTc5MzQ2YTRm MjgKIAogaWYgWyAiJFhCUFNfQ0hFQ0tfUEtHUyIgXTsgdGhlbgogCWNvbmZpZ3VyZV9hcmdzPSIt RFFUX0JVSUxEX1RFU1RTPU9OIgpAQCAtMjQsNiArMjQsMTAgQEAgZG9fY2hlY2soKSB7CiAJIyBp bnB1dHBhbmVsIGhhbmdzCiB9CiAKK3Bvc3RfaW5zdGFsbCgpIHsKKwlybSAtcmYgJHtERVNURElS fS91c3IvdGVzdHMKK30KKwogcXQ2LXZpcnR1YWxrZXlib2FyZC1kZXZlbF9wYWNrYWdlKCkgewog CWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9ufSAkbWFrZWRlcGVu ZHMiCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgoKRnJvbSBkY2ZmOTY1YmZj NTkzN2NiY2YzMTFiNTE0NmQ1NDM3NDYwMGZjNjgyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9 MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxOCBGZWIgMjAyMyAw OTozOToxMiArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMTUvMjZdIHF0Ni1jb25uZWN0aXZpdHk6IHVw ZGF0ZSB0byA2LjQuMi4KCi0tLQogc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZSBiL3NyY3BrZ3Mv cXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQppbmRleCBkZTg1MWYzZDc3YmMuLjdkYTE5ZjQyNjYx MiAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtY29ubmVjdGl2aXR5L3RlbXBsYXRlCisrKyBiL3Ny Y3BrZ3MvcXQ2LWNvbm5lY3Rpdml0eS90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxh dGUgZmlsZSBmb3IgJ3F0Ni1jb25uZWN0aXZpdHknCiBwa2duYW1lPXF0Ni1jb25uZWN0aXZpdHkK LXZlcnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNt YWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpAQCAtMTAs NyArMTAsNyBAQCBtYWludGFpbmVyPSLEkG/DoG4gVHLhuqduIEPDtG5nIERhbmggPGNvbmdkYW5o cXhAZ21haWwuY29tPiIKIGxpY2Vuc2U9IkdQTC0zLjAtb25seSIKIGhvbWVwYWdlPSJodHRwczov L3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVh c2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0Y29ubmVjdGl2aXR5 LWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09NWFkYzE3N2RiNWVh NjM0Y2M3MDc2YWZkODJhNjNiYzVkMTJlZDNiNTVmOWExZTA0MDBlYWRjYjU2MjE3YzU0ZQorY2hl Y2tzdW09OGM5YjQ0YjIzOWU0MmI0YzRkNmZjYTVmNDI3OTA0ZTY4ODg5MGIyYTFiZmI2YmNiZTVl NmUyYWZjZGM1ZDdhZgogCiBxdDYtY29ubmVjdGl2aXR5LWRldmVsX3BhY2thZ2UoKSB7CiAJZGVw ZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259CgpGcm9tIDVlMDAwZDRh ZjhmMTBhNmI2MzYyMzE4ZGU1Nzc0ZWMxMjhiN2E4YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx CkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRu Zz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIz IDA5OjM5OjI4ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxNi8yNl0gcXQ2LXNoYWRlcnRvb2xzOiB1 cGRhdGUgdG8gNi40LjIuCgotLS0KIHNyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIHwg NCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlIGIvc3JjcGtncy9x dDYtc2hhZGVydG9vbHMvdGVtcGxhdGUKaW5kZXggZjI3ODQ4ZjZkZTJiLi43ODU0NGI5N2ExZmQg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCisrKyBiL3NyY3Br Z3MvcXQ2LXNoYWRlcnRvb2xzL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBm aWxlIGZvciAncXQ2LXNoYWRlcnRvb2xzJwogcGtnbmFtZT1xdDYtc2hhZGVydG9vbHMKLXZlcnNp b249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBo b3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwiCkBAIC0xMCw3ICsxMCw3IEBAIG1h aW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9y LWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93 bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259 L3N1Ym1vZHVsZXMvcXRzaGFkZXJ0b29scy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54 eiIKLWNoZWNrc3VtPWRiZDZhNWYwMGU4MTc4Y2QyZmVhN2U4NGM0ZWVmMzgxOGRlNTI4N2QzNGUy MGE2ODM4MzkyOWM3NTRhZTNiOTAKK2NoZWNrc3VtPWZhNjViZmY4NGQ0ZTljMmNiNGNiZjZmYjA5 ODIwN2UwZTIzZDg2M2RiZTY3NWViMjc3MDM0YTI5YzIyNmEyMTcKIAogaWYgWyAiJENST1NTX0JV SUxEIiBdOyB0aGVuCiAJY29uZmlndXJlX2FyZ3M9Ii1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9dHJ1 ZSIKCkZyb20gNTczZDk4MzY2ZTZmNGNiN2U2YWM0YjVkODRjMjk2Yzg0ZDBiN2NkOSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9 QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6 IFNhdCwgMTggRmViIDIwMjMgMDk6Mzk6MzIgKzA3MDAKU3ViamVjdDogW1BBVENIIDE3LzI2XSBx dDYtc2VyaWFscG9ydDogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dzL3F0Ni1zZXJpYWxw b3J0L3RlbXBsYXRlIHwgNCArKy0tCiAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAy IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxh dGUgYi9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRlCmluZGV4IGMzZWU0MWFkM2IwYi4u ZGM5NDJiZjI5Yjg0IDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZXJpYWxwb3J0L3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LXNlcmlhbHBvcnQvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2VyaWFscG9ydCcKIHBrZ25hbWU9cXQ2LXNlcmlhbHBv cnQKLXZlcnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxl PWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcGtnLWNvbmZpZyIK QEAgLTEwLDcgKzEwLDcgQEAgbWFpbnRhaW5lcj0iSm9obiA8bWVAam9obm55bmF0b3IuZGV2PiIK IGxpY2Vuc2U9IihMR1BMLTMuMC1vbmx5IE9SIEdQTC0yLjAtb25seSBPUiBHUEwtMy4wLW9ubHkp IEFORCBHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9uLTEuMCIKIGhvbWVwYWdlPSJo dHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFs X3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9zdWJtb2R1bGVzL3F0c2VyaWFs cG9ydC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWYxNDhjYzll ODdjZTIyMjhlODJiZmY3YTY0ZDk1MjEzMzllY2U2NmM0YzY2YWE0M2I5MWJhYzYxNGY0YTQ0ODMK K2NoZWNrc3VtPTMzNmQ5NTkxOTAzNzgwMDE4NGIzYzNkZThjY2I2ZjYyOTU0YjIwZjM3NTZjMDVh ZGNlOGQ1MDEwNTA0MzQwZmEKIAogcXQ2LXNlcmlhbHBvcnQtZGV2ZWxfcGFja2FnZSgpIHsKIAlk ZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2 ZWw+PSR7dmVyc2lvbn1fMSIKCkZyb20gZWEyNmM3OTUxNDlmOGM2ZjNhZWU4MDI2Yzk3MGI2YjFk NGEzZjFlZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xPz1DND05MG89 QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5nPTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBn bWFpbC5jb20+CkRhdGU6IFNhdCwgMTggRmViIDIwMjMgMDk6Mzk6NDQgKzA3MDAKU3ViamVjdDog W1BBVENIIDE4LzI2XSBxdDYtaW1hZ2Vmb3JtYXRzOiB1cGRhdGUgdG8gNi40LjIuCgotLS0KIHNy Y3BrZ3MvcXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0 Ni1pbWFnZWZvcm1hdHMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMvdGVtcGxh dGUKaW5kZXggZDEwMWZhYWNmYzRmLi4yMmY0ZDRlODRmZTkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ2LWltYWdlZm9ybWF0cy90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1pbWFnZWZvcm1hdHMv dGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtaW1hZ2Vm b3JtYXRzJwogcGtnbmFtZT1xdDYtaW1hZ2Vmb3JtYXRzCi12ZXJzaW9uPTYuNC4wCit2ZXJzaW9u PTYuNC4yCiByZXZpc2lvbj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJw ZXJsIHF0Ni1iYXNlLWRldmVsIgpAQCAtMTAsNCArMTAsNCBAQCBtYWludGFpbmVyPSJKb2huIDxt ZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9u bHkgT1IgR1BMLTMuMC1vbmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRpbWFnZWZvcm1hdHMtZXZlcnl3aGVyZS1zcmMtJHt2 ZXJzaW9ufS50YXIueHoiCi1jaGVja3N1bT0xNDE5YTdiNzVkMDNjMWYwOThhODVmZjc3MmE2YmFh ZDM4ZDM2YmUxZmQ3NTYzMzkwNWYwNDNhZjZlOTQ1ZjNjCitjaGVja3N1bT1mYzVmOTk5YWUwNzc5 YTY3ZDU1MDc5NTZkNGRkMzE1Mzg2ZWI4MWNmNmNjYmE2MzJkZTAzOWJiOWVlZTExNzA3CgpGcm9t IGI5YTBlNzYzNTA1NzMxZjdmYTQxMWUxZTE3NTFhOTQzNmFlN2JmYjcgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0y MEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4 IEZlYiAyMDIzIDA5OjM5OjU2ICswNzAwClN1YmplY3Q6IFtQQVRDSCAxOS8yNl0gcXQ2LXRyYW5z bGF0aW9uczogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMv dGVtcGxhdGUgfCA0ICsrLS0KIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRl IGIvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCmluZGV4IGNhODQ4ODcwMjg1OC4u ZjkyYzI3YmMyY2ZiIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni10cmFuc2xhdGlvbnMvdGVtcGxh dGUKKysrIGIvc3JjcGtncy9xdDYtdHJhbnNsYXRpb25zL3RlbXBsYXRlCkBAIC0xLDYgKzEsNiBA QAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXRyYW5zbGF0aW9ucycKIHBrZ25hbWU9cXQ2LXRy YW5zbGF0aW9ucwotdmVyc2lvbj02LjQuMAordmVyc2lvbj02LjQuMgogcmV2aXNpb249MQogYnVp bGRfc3R5bGU9Y21ha2UKIGhvc3RtYWtlZGVwZW5kcz0icXQ2LWJhc2UtZGV2ZWwgcXQ2LXRvb2xz LWRldmVsIHBlcmwiCkBAIC0xMCw0ICsxMCw0IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5u eW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwtMy4wLW9ubHkgd2l0aCBRdC1HUEwtZXhjZXB0aW9u LTEuMCIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0iaHR0cDovL2Rvd25s b2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9ufS9z dWJtb2R1bGVzL3F0dHJhbnNsYXRpb25zLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgotY2hlY2tzdW09N2FiOTNhOTMwYjY5M2VlYjUzYWI5N2IwMzhiNGU2ZTA1N2QwNjM3NGU2ZjQ5 YTM4MTRkOTkxNDVhMjc2OTI1ZgorY2hlY2tzdW09YmJlMDI5MTUwMmMyNjA0YjcyZmVmNzMwZTE5 MzViZDIyZjhiOTIxZDhjNDczMjUwZjI5OGE3MjNiMmE5YzQ5NgoKRnJvbSBkYzNiMTE2MDVjZjVm MGM5MWYyOGQyMTViN2ZiODU3NDQ0NDQ2NTc5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9t OiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBE YW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxOCBGZWIgMjAyMyAwOTo0 MDowNiArMDcwMApTdWJqZWN0OiBbUEFUQ0ggMjAvMjZdIHF0Ni1xdWljazNkOiB1cGRhdGUgdG8g Ni40LjIuCgotLS0KIHNyY3BrZ3MvcXQ2LXF1aWNrM2QvdGVtcGxhdGUgfCA5ICsrKysrKystLQog MSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtcXVpY2szZC90 ZW1wbGF0ZQppbmRleCA2MDhmYWJiNzU1NjkuLjg2Yjg0YmNkODBiNCAxMDA2NDQKLS0tIGEvc3Jj cGtncy9xdDYtcXVpY2szZC90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL3F0Ni1xdWljazNkL3RlbXBs YXRlCkBAIC0xLDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXF1aWNrM2QnCiBw a2duYW1lPXF0Ni1xdWljazNkCi12ZXJzaW9uPTYuNC4wCit2ZXJzaW9uPTYuNC4yCiByZXZpc2lv bj0xCiBidWlsZF9zdHlsZT1jbWFrZQogaG9zdG1ha2VkZXBlbmRzPSJwZXJsIHF0Ni1iYXNlLWRl dmVsIHF0Ni1kZWNsYXJhdGl2ZS1kZXZlbCBxdDYtc2hhZGVydG9vbHMtZGV2ZWwiCkBAIC0xMSw3 ICsxMSw3IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNl PSJHUEwtMy4wLW9yLWxhdGVyIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVz PSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4q fS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRxdWljazNkLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lv bn0udGFyLnh6IgotY2hlY2tzdW09ZjEwYTE2NjBkNGQ0MTAzZjA3NDlmMjU4ZWRkY2U0ZDQ4Nzhm YTdiYmJjNWU2MTBhOTAwYmVmMjhhZGYwMTdlYworY2hlY2tzdW09OTUzZDNiNmNhNmRjMDA1NjNj ZWVhMzNkNTFmMjVlMjJiMTc4OGFiNWFhODYxOTQxMTAwZjZhMWI2NTI5MjZhNwogCiBpZiBbICIk Q1JPU1NfQlVJTEQiIF07IHRoZW4KIAlob3N0bWFrZWRlcGVuZHMrPSIgcXQ2LXF1aWNrM2QtZGV2 ZWwiCkBAIC0yMyw2ICsyMywxMSBAQCBpZiBbICIkWEJQU19UQVJHRVRfRU5ESUFOIiA9ICJiZSIg XTsgdGhlbgogCWJyb2tlbj0iU2hhZGVyIGJha2luZyBmYWlsZWQ6IENhbm5vdCByZXNvbHZlIGV4 cHJlc3Npb24gdHlwZS4iCiBmaQogCitwb3N0X2luc3RhbGwoKSB7CisJcm0gLXJmICR7REVTVERJ Un0vdXNyL3Rlc3RzCisJcm0gLWZyICR7REVTVERJUn0vdXNyL2xpYi8qLmEKK30KKwogcXQ2LXF1 aWNrM2QtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0gcXQ2LWJhc2UtZGV2ZWwiCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3Bt ZW50IGZpbGVzIgoKRnJvbSA3NWJmMzhkYTBjMGM1ZDkxYTUzNjVlNmFhYzI1YTUwNGZjOTk5Mzc4 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49 MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAxOCBGZWIgMjAyMyAwOTo0MDoxMCArMDcwMApTdWJqZWN0OiBbUEFUQ0gg MjEvMjZdIHF0Ni1xdWlja3RpbWVsaW5lOiB1cGRhdGUgdG8gNi40LjIuCgotLS0KIHNyY3BrZ3Mv cXQ2LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwg NiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXF1aWNrdGltZWxpbmUvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBs YXRlCmluZGV4IDVkNzk2YzAxYmQ1Zi4uZGUyNjdmNGUzN2MzIDEwMDY0NAotLS0gYS9zcmNwa2dz L3F0Ni1xdWlja3RpbWVsaW5lL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXF1aWNrdGltZWxp bmUvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtcXVp Y2t0aW1lbGluZScKIHBrZ25hbWU9cXQ2LXF1aWNrdGltZWxpbmUKLXZlcnNpb249Ni40LjAKK3Zl cnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVu ZHM9InBlcmwgcXQ2LWJhc2UtZGV2ZWwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpAQCAtMTAsNyAr MTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+IgogbGljZW5zZT0i R1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL3F0LmlvLyIKIGRpc3RmaWxlcz0i aHR0cDovL2Rvd25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0v JHt2ZXJzaW9uL3JjLy1yY30vc3VibW9kdWxlcy9xdHF1aWNrdGltZWxpbmUtZXZlcnl3aGVyZS1z cmMtJHt2ZXJzaW9uL3JjLy1yY30udGFyLnh6IgotY2hlY2tzdW09NzBlOGEyOGI1MzEwYzQyYThk NTBkOTQ5YjU1YzFkNzIzOGNmNTJlYTc3OGY5YmIyZTI1NDgzNWEwZTA1NGY1NworY2hlY2tzdW09 MzA4OGFiYjdmNDc4MzYyYTM1NGVhMTUwOWQxYzNjMzQwM2UzZjVhZGZiODRmM2U1Y2YzMGExZjJl ZmYwOWE1ZQogCiBpZiBbICIkWEJQU19DSEVDS19QS0dTIiBdOyB0aGVuCiAJY29uZmlndXJlX2Fy Z3M9Ii1EUVRfQlVJTERfVEVTVFM9T04iCkBAIC0yMCw2ICsyMCwxMCBAQCBwcmVfY2hlY2soKSB7 CiAJZXhwb3J0IFFNTDJfSU1QT1JUX1BBVEg9IiR3cmtzcmMvYnVpbGQvbGliL3F0Ni9xbWwiCiB9 CiAKK3Bvc3RfaW5zdGFsbCgpIHsKKwlybSAtcmYgJHtERVNURElSfS91c3IvdGVzdHMKK30KKwog ZG9fY2hlY2soKSB7CiAJOiAjIGlnbm9yZXMgUU1MMl9JTVBPUlRfUEFUSCBzb21ld2hlcmUsIG1p c3NlcyB0ZXN0IGRhdGEgaW4gY3dkCiB9CgpGcm9tIGUwZGFlM2Q2M2RiMDlkYzNmOGMwYWJhZDQ5 NjY3ZWMxNTI5NDcwNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89 QzQ9OTBvPUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdk YW5ocXhAZ21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDA5OjQwOjE0ICswNzAwClN1 YmplY3Q6IFtQQVRDSCAyMi8yNl0gcXQ2LXJlbW90ZW9iamVjdHM6IHVwZGF0ZSB0byA2LjQuMi4K Ci0tLQogc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZSB8IDggKysrKysrLS0KIDEg ZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LXJlbW90 ZW9iamVjdHMvdGVtcGxhdGUKaW5kZXggOGFmYWQ4OTgyMDA1Li5jNmFkZDMzY2VjOWUgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvcXQ2LXJlbW90ZW9iamVjdHMvdGVtcGxhdGUKKysrIGIvc3JjcGtncy9x dDYtcmVtb3Rlb2JqZWN0cy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmls ZSBmb3IgJ3F0Ni1yZW1vdGVvYmplY3RzJwogcGtnbmFtZT1xdDYtcmVtb3Rlb2JqZWN0cwotdmVy c2lvbj02LjQuMAordmVyc2lvbj02LjQuMgogcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UK IGhvc3RtYWtlZGVwZW5kcz0icGVybCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcGtnLWNvbmZpZyIK QEAgLTEzLDcgKzEzLDcgQEAgbWFpbnRhaW5lcj0ixJBvw6BuIFRy4bqnbiBDw7RuZyBEYW5oIDxj b25nZGFuaHF4QGdtYWlsLmNvbT4iCiBsaWNlbnNlPSIoTEdQTC0zLjAtb25seSBPUiBHUEwtMi4w LW9ubHkgT1IgR1BMLTMuMC1vbmx5KSBBTkQgR1BMLTMuMC1vbmx5IHdpdGggUXQtR1BMLWV4Y2Vw dGlvbi0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdHJlbW90ZW9iamVjdHMtZXZlcnl3aGVyZS1zcmMtJHt2ZXJzaW9ufS50 YXIueHoiCi1jaGVja3N1bT1mNTFhN2RlYmVlNmZlZjg2ZmJjNDQ0ZGVjZTA4ZTA2NGY5MjVmNGQ5 NzY5NDdmYzY2ZjQxMDAxODg5NTZlMWNlCitjaGVja3N1bT01ODNjNTM2NDAwMjBkNWQwNjhlZWY3 YWUxODBkNzUwMTIwYmI0OWUzMDI0OWMyZmViZGQxNzNjNWE3NDI4ODEyCiAKIGlmIFsgIiRDUk9T U19CVUlMRCIgXTsgdGhlbgogCWhvc3RtYWtlZGVwZW5kcys9IiBxdDYtcmVtb3Rlb2JqZWN0cyIK QEAgLTI0LDYgKzI0LDEwIEBAIHByZV9jaGVjaygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFU SD0iJHdya3NyYy9idWlsZC9saWIvcXQ2L3FtbCIKIH0KIAorcG9zdF9pbnN0YWxsKCkgeworCXJt IC1yZiAke0RFU1RESVJ9L3Vzci90ZXN0cworfQorCiBxdDYtcmVtb3Rlb2JqZWN0cy1kZXZlbF9w YWNrYWdlKCkgewogCWRlcGVuZHM9IiR7c291cmNlcGtnfT49JHt2ZXJzaW9ufV8ke3JldmlzaW9u fQogCSBxdDYtZGVjbGFyYXRpdmUtZGV2ZWw+PSR7dmVyc2lvbn1fMSIKCkZyb20gODAxNTEwODk5 ZjY5ZWQ1MDE5YmQxYmU0MDAxZDFhYTE1ZGM5M2Q5ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK RnJvbTogPT9VVEYtOD9xPz1DND05MG89QzM9QTBuPTIwVHI9RTE9QkE9QTduPTIwQz1DMz1CNG5n PTIwRGFuaD89CiA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+CkRhdGU6IFNhdCwgMTggRmViIDIwMjMg MDk6NDA6MTggKzA3MDAKU3ViamVjdDogW1BBVENIIDIzLzI2XSBxdDYtc2N4bWw6IHVwZGF0ZSB0 byA2LjQuMi4KCi0tLQogc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAx IGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlIGIvc3JjcGtncy9xdDYtc2N4bWwvdGVtcGxh dGUKaW5kZXggODllZWUxYjA2ZDBjLi44OTkxZTViZTE5YmYgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv cXQ2LXNjeG1sL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNjeG1sL3RlbXBsYXRlCkBAIC0x LDYgKzEsNiBAQAogIyBUZW1wbGF0ZSBmaWxlIGZvciAncXQ2LXNjeG1sJwogcGtnbmFtZT1xdDYt c2N4bWwKLXZlcnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0 eWxlPWNtYWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpA QCAtMTAsNyArMTAsNyBAQCBtYWludGFpbmVyPSJKb2huIDxtZUBqb2hubnluYXRvci5kZXY+Igog bGljZW5zZT0iTEdQTC0zLjAtb25seSBPUiBHUEwtMi4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5Igog aG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgogZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQu aW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVs ZXMvcXRzY3htbC1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIKLWNoZWNrc3VtPWQ0 MDc3M2E1ZTY1OTQ4MjlhY2E5OWNjYzczYWJhMzU1OWY5MzMwMWVhMDgxZmZiNzg2NjhhOWI2MTZk OTc2NjQKK2NoZWNrc3VtPTEzYjBkNDM0NTkzOTRiZWQyNDgxOTY3YTFmZWZmMDJiNjMyMjhhODJj MTEzNmE2Mjk0MWMwZWI4M2VmNTRlN2YKIAogaWYgWyAiJENST1NTX0JVSUxEIiBdOyB0aGVuCiAJ Y29uZmlndXJlX2FyZ3M9Ii1EUVRfRk9SQ0VfQlVJTERfVE9PTFM9dHJ1ZSIKQEAgLTIxLDYgKzIx LDEwIEBAIHByZV9jaGVjaygpIHsKIAlleHBvcnQgUU1MMl9JTVBPUlRfUEFUSD0iJHdya3NyYy9i dWlsZC9saWIvcXQ2L3FtbCIKIH0KIAorcG9zdF9pbnN0YWxsKCkgeworCXJtIC1yZiAke0RFU1RE SVJ9L3Vzci90ZXN0cworfQorCiBxdDYtc2N4bWwtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRz PSIke3NvdXJjZXBrZ30+PSR7dmVyc2lvbn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAt IGRldmVsb3BtZW50IGZpbGVzIgoKRnJvbSA5MjY5NTdlYzBhYTVlODRiMWQ2OWJhODhmNmFmNzU4 ZmRhYjViZTY5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkw bz1DMz1BMG49MjBUcj1FMT1CQT1BN249MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4 QGdtYWlsLmNvbT4KRGF0ZTogU2F0LCAxOCBGZWIgMjAyMyAwOTo0MDoyMiArMDcwMApTdWJqZWN0 OiBbUEFUQ0ggMjQvMjZdIHF0Ni1zZW5zb3JzOiB1cGRhdGUgdG8gNi40LjIuCgotLS0KIHNyY3Br Z3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXNl bnNvcnMvdGVtcGxhdGUgYi9zcmNwa2dzL3F0Ni1zZW5zb3JzL3RlbXBsYXRlCmluZGV4IDZiMGJl ZmQ0YjM2Yy4uZDdkNGEyOTM3ZTljIDEwMDY0NAotLS0gYS9zcmNwa2dzL3F0Ni1zZW5zb3JzL3Rl bXBsYXRlCisrKyBiL3NyY3BrZ3MvcXQ2LXNlbnNvcnMvdGVtcGxhdGUKQEAgLTEsNiArMSw2IEBA CiAjIFRlbXBsYXRlIGZpbGUgZm9yICdxdDYtc2Vuc29ycycKIHBrZ25hbWU9cXQ2LXNlbnNvcnMK LXZlcnNpb249Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNt YWtlCiBob3N0bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIHF0Ni1zdmct ZGV2ZWwgcGtnLWNvbmZpZyIKQEAgLTEwLDcgKzEwLDExIEBAIG1haW50YWluZXI9IsSQb8OgbiBU cuG6p24gQ8O0bmcgRGFuaCA8Y29uZ2RhbmhxeEBnbWFpbC5jb20+IgogbGljZW5zZT0iKExHUEwt My4wLW9ubHkgT1IgR1BMLTIuMC1vbmx5IE9SIEdQTC0zLjAtb25seSkgQU5EIEdQTC0zLjAtb25s eSB3aXRoIFF0LUdQTC1leGNlcHRpb24tMS4wIgogaG9tZXBhZ2U9Imh0dHBzOi8vcXQuaW8vIgog ZGlzdGZpbGVzPSJodHRwOi8vZG93bmxvYWQucXQuaW8vb2ZmaWNpYWxfcmVsZWFzZXMvcXQvJHt2 ZXJzaW9uJS4qfS8ke3ZlcnNpb259L3N1Ym1vZHVsZXMvcXRzZW5zb3JzLWV2ZXJ5d2hlcmUtc3Jj LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZjM4YzA3MmY1YjlmNjI2MzE5ODVmMzg1ZGU3 MGNkYzU0YzEzZjBiODg4ZDk0OTY5NDMzNDJlM2JlMWNhNTBkYQorY2hlY2tzdW09NDU1NjE5ZmYy OGEzOWY0Y2FiYTQ5YzllMTk1MmZiY2ZhZmM4ZmZjODkzYjQzN2Q2NTNkNTQ2NWEwNzdlZTY1Ngor Citwb3N0X2luc3RhbGwoKSB7CisJcm0gLXJmICR7REVTVERJUn0vdXNyL3Rlc3RzCit9CiAKIHF0 Ni1zZW5zb3JzLWRldmVsX3BhY2thZ2UoKSB7CiAJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3Zl cnNpb259XyR7cmV2aXNpb259CgpGcm9tIGJhNTI5ODA2NjczNTgwODIyMmNjZTkzOTk3ZjJjODYx OTBhZmVjOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT89QzQ9OTBv PUMzPUEwbj0yMFRyPUUxPUJBPUE3bj0yMEM9QzM9QjRuZz0yMERhbmg/PQogPGNvbmdkYW5ocXhA Z21haWwuY29tPgpEYXRlOiBTYXQsIDE4IEZlYiAyMDIzIDA5OjQwOjUxICswNzAwClN1YmplY3Q6 IFtQQVRDSCAyNS8yNl0gcXQ2LWNoYXJ0czogdXBkYXRlIHRvIDYuNC4yLgoKLS0tCiBzcmNwa2dz L3F0Ni1jaGFydHMvdGVtcGxhdGUgfCA4ICsrKysrKy0tCiAxIGZpbGUgY2hhbmdlZCwgNiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LWNoYXJ0 cy90ZW1wbGF0ZSBiL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQppbmRleCBlNjAwNjgwMzlj NjEuLmNiMzZmM2ZjZGNjNyAxMDA2NDQKLS0tIGEvc3JjcGtncy9xdDYtY2hhcnRzL3RlbXBsYXRl CisrKyBiL3NyY3BrZ3MvcXQ2LWNoYXJ0cy90ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ3F0Ni1jaGFydHMnCiBwa2duYW1lPXF0Ni1jaGFydHMKLXZlcnNpb249 Ni40LjAKK3ZlcnNpb249Ni40LjIKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPWNtYWtlCiBob3N0 bWFrZWRlcGVuZHM9InBlcmwgcXQ2LWRlY2xhcmF0aXZlLWRldmVsIgpAQCAtMTAsMTIgKzEwLDE2 IEBAIG1haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCiBsaWNlbnNlPSJHUEwt My4wLW9ubHkiCiBob21lcGFnZT0iaHR0cHM6Ly9xdC5pby8iCiBkaXN0ZmlsZXM9Imh0dHA6Ly9k b3dubG9hZC5xdC5pby9vZmZpY2lhbF9yZWxlYXNlcy9xdC8ke3ZlcnNpb24lLip9LyR7dmVyc2lv bn0vc3VibW9kdWxlcy9xdGNoYXJ0cy1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNpb259LnRhci54eiIK LWNoZWNrc3VtPTI4YzNjYWNlMjQ1MTViZGFmZTc2MjE3NDI3MjI4MWFlYmM5N2MxMzZjYjcyMmVk ZWQ5NjRjZDBkZGIzOTQwZDMKK2NoZWNrc3VtPWExYTdjMGUwOGM4ODcwY2Y5N2QxYzNhMmViM2Yz NzY4MWFhZWQwMGE2M2I1YjJmNzBiZGYyZGE4NzhkMGE5YWEKIAogcHJlX2NoZWNrKCkgewogCWV4 cG9ydCBRTUwyX0lNUE9SVF9QQVRIPSIkd3Jrc3JjL2J1aWxkL2xpYi9xdDYvcW1sIgogfQogCitw b3N0X2luc3RhbGwoKSB7CisJcm0gLXJmICR7REVTVERJUn0vdXNyL3Rlc3RzCit9CisKIHF0Ni1j aGFydHMtZGV2ZWxfcGFja2FnZSgpIHsKIAlkZXBlbmRzPSIke3NvdXJjZXBrZ30+PSR7dmVyc2lv bn1fJHtyZXZpc2lvbn0iCiAJc2hvcnRfZGVzYys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgoKRnJv bSBhODY3ZTUwZGMyZWVkM2U2YTRkYmQyNTY5ZDQ0YjI4ZjMzY2FhMTYxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/PUM0PTkwbz1DMz1BMG49MjBUcj1FMT1CQT1BN249 MjBDPUMzPUI0bmc9MjBEYW5oPz0KIDxjb25nZGFuaHF4QGdtYWlsLmNvbT4KRGF0ZTogTW9uLCA4 IEF1ZyAyMDIyIDE3OjEzOjExICswNzAwClN1YmplY3Q6IFtQQVRDSCAyNi8yNl0gTmV3IHBhY2th Z2U6IHF0Ni13ZWJlbmdpbmUtNi4zLjEuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAgNyArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZGV2ZWwg ICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjcGtncy9xdDYtd2ViZW5naW5lLWV4YW1wbGVz ICAgICAgICAgICAgICAgIHwgICAxICsKIC4uLi9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5w YXRjaCAgICAgICAgICB8ICAxMSArCiAuLi4vcGF0Y2hlcy8wMDAzLWNyb3NzLWhhY2sucGF0Y2gg ICAgICAgICAgICAgfCAgMTAgKwogLi4uL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVj ay5wYXRjaCAgIHwgIDE0ICsKIC4uLi8wMTAwLWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBhdGNo ICAgICAgICB8IDE1NCArKysrCiAuLi5vbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1 ZGUucGF0Y2ggfCAgMjAgKwogLi4uMTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5 LnBhdGNoIHwgIDE0ICsKIC4uLjAxMDMtY2hyb21pdW0taTY4Ni12YWFwaS1mcGVybWlzc2l2ZS5w YXRjaCB8ICAyMyArCiAuLi4vMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2ggICAg ICAgfCAgMTAgKwogLi4uLWNocm9taXVtLXJldmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNo IHwgIDE1ICsKIC4uLi9wYXRjaGVzLzAxMDYtY2hyb21pdW0tc3lzdGVtLW5vZGVqcy5wYXRjaCB8 ICAyOSArCiAuLi4vcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxkLnBhdGNoICAgfCAg NjUgKysKIC4uLi8wMTA4LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggICB8ICAx OCArCiAuLi5jaHJvbWl1bS1hYXJjaDY0LW11c2wtbWVtb3J5LXRhZ2dpbmcucGF0Y2ggfCAgMjkg KwogLi4uZml4LW1pc3NpbmctVEVNUF9GQUlMVVJFX1JFVFJZLW1hY3JvLnBhdGNoIHwgIDIxICsK IC4uLi9wYXRjaGVzLzAxMTEtY2hyb21pdW0tY3N0ZGludC5wYXRjaCAgICAgICB8ICAxMCArCiAu Li4vcGF0Y2hlcy8wMTEyLWNocm9taXVtLXVuaXN0ZC5oICAgICAgICAgICAgfCAgMTAgKwogLi4u LzAxMTMtY2hyb21pdW0tcHRocmVhZC1zdGFja3NpemUucGF0Y2ggICAgIHwgIDE2ICsKIC4uLi9w YXRjaGVzLzAxMTQtZG8tbm90LW5hcnJvdy1pbnQucGF0Y2ggICAgICB8ICA1MyArKwogLi4uNS1j aHJvbWl1bS1uby1jYW5vbmljYWxpemUtZmlsZS1uYW1lLnBhdGNoIHwgIDEyICsKIC4uLi8wMTE2 LWNocm9taXVtLW11c2wtZ2V0LXRocmVhZC1uYW1lLnBhdGNoICB8ICAyMiArCiAuLi4vcGF0Y2hl cy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2ggfCAgNjQgKysKIC4uLi8wMTE5LWNo cm9taXVtLW11c2wtc3RhY2stdXRpbHMucGF0Y2ggICAgICB8ICAyMCArCiAuLi4vcGF0Y2hlcy8w MTIwLWNocm9taXVtLWxpYmMtbWFsbG9jLnBhdGNoICAgfCAgMzQgKwogLi4uL3BhdGNoZXMvMDEy MS1jaHJvbWl1bS1tdXNsLXN0YXQucGF0Y2ggICAgIHwgIDEyICsKIC4uLi9wYXRjaGVzLzAxMjIt Y2hyb21pdW0tY29uZGl0aW9uX3Zhci5wYXRjaCB8ICAyMiArCiAuLi4vMDEyMy1jaHJvbWl1bS1t dXNsLW5vLWV4ZWNpbmZvLnBhdGNoICAgICAgfCAgNzUgKysKIC4uLi8wMTIzLWNocm9taXVtLW11 c2wtbm8tZ2V0Y29udGV4dC5wYXRjaCAgICB8ICAyNyArCiAuLi4vcGF0Y2hlcy8wMTI0LWNocm9t aXVtLWVuYWJsZS1pNjg2LnBhdGNoICAgfCAgMTcgKwogLi4uLzAxMjUtY2hyb21pdW0tcmVtb3Zl LXN0cmlwX2JpbmFyeS5wYXRjaCAgIHwgIDMyICsKIC4uLi9wYXRjaGVzLzAxMjYtY2hyb21pdW0t bm8tY2RlZnMucGF0Y2ggICAgICB8ICAzOSArCiAuLi4vMDEyOC1jaHJvbWl1bS1zYW5kYm94LW1l bWJhcnJpZXIucGF0Y2ggICAgfCAgMTAgKwogLi4uLzAxMjktY2hyb21pdW0tc2FuZGJveC1zaGVk X2dldHBhcmFtLnBhdGNoIHwgIDIwICsKIC4uLnVuZGxlLWZmbXBlZy1hdl9zdHJlYW1fZ2V0X2Zp cnN0X2R0cy5wYXRjaCB8ICAxMCArCiAuLi4xLWNocm9taXVtLXVuYnVuZGxlZC1jcm9zcy10b29s Y2hhaW4ucGF0Y2ggfCAgMTMgKwogLi4uL3BhdGNoZXMvMDE1Mi1jaHJvbWl1bS13ZWJydGMtc2l6 ZV90LnBhdGNoIHwgIDEwICsKIC4uLi9wYXRjaGVzLzAxNTMtY2hyb21pdW0td2VicnRjLXNpemVf dC5wYXRjaCB8ICAxNiArCiAuLi4vcGF0Y2hlcy8wMTU0LWNocm9taXVtLXVpdF90LnBhdGNoICAg ICAgICAgfCAgMTEgKwogLi4uL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1zbmRpby5wYXRjaCAgICAg ICAgIHwgODQ5ICsrKysrKysrKysrKysrKysrKwogLi4uL3BhdGNoZXMvMDMwMC1jaHJvbWl1bS1t dXNsLWhhY2tzLnBhdGNoICAgIHwgIDUyICsrCiAuLi4vcGF0Y2hlcy8wMzAxLWNocm9taXVtLW11 c2wtc2FuZGJveC5wYXRjaCAgfCAgODYgKysKIC4uLi9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8t bWFsbGluZm8ucGF0Y2ggICB8ICA2NyArKwogLi4uL3BhdGNoZXMvMDcwMC1hcm12N2wtbmVvbi5w YXRjaCAgICAgICAgICAgIHwgIDEwICsKIC4uLi1jaHJvbWl1bS1tdXNsLWNyb3NzLW5vLWFzbV9w dHJhY2VfaC5wYXRjaCB8ICAzMCArCiAuLi4vMDc1MS1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3Zm cC5wYXRjaCAgICAgfCAgMjAgKwogLi4uLzA3NTItY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZf dC5wYXRjaCAgIHwgIDE4ICsKIC4uLi9wYXRjaGVzLzA5MDAtY3Jvc3MtYnVpbGQtZXhhbXBsZXMu cGF0Y2ggICB8ICAxNiArCiBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvdGVtcGxhdGUgICAgICAgICAg ICAgICAgfCAxODIgKysrKwogc3JjcGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZSAgICAgICAgICAg ICAgICAgIHwgICAxICsKIDUxIGZpbGVzIGNoYW5nZWQsIDIzMjggaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTIwMDAwIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1kZXZlbAogY3JlYXRlIG1vZGUg MTIwMDAwIHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS1leGFtcGxlcwogY3JlYXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDMtY3Jv c3MtaGFjay5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAwNTAtbm8tZ2xpYmMtY21ha2UtY2hlY2sucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVtLXJldmVydC05ZDA4 MGMwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDEwMS1jaHJvbWl1bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2gKIGNy ZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAyLWNocm9t aXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMy1jaHJvbWl1bS1pNjg2LXZhYXBpLWZwZXJt aXNzaXZlLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2gKIGNyZWF0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJldmVydC1k cm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDEwNi1jaHJvbWl1bS1zeXN0ZW0tbm9kZWpzLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNy1jaHJvbWl1 bS1jcm9zcy1idWlsZC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMDgtY2hyb21pdW0tY3Vyc2VkXlVzY29wZWRfZmlsZS5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21p dW0tYWFyY2g2NC1tdXNsLW1lbW9yeS10YWdnaW5nLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQg c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1maXgtbWlzc2luZy1U RU1QX0ZBSUxVUkVfUkVUUlktbWFjcm8ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLWNzdGRpbnQucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEyLWNocm9taXVt LXVuaXN0ZC5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDExMy1jaHJvbWl1bS1wdGhyZWFkLXN0YWNrc2l6ZS5wYXRjaAogY3JlYXRlIG1vZGUgMTAw NjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTQtZG8tbm90LW5hcnJvdy1pbnQu cGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTE1LWNocm9taXVtLW5vLWNhbm9uaWNhbGl6ZS1maWxlLW5hbWUucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE2LWNocm9taXVtLW11c2wt Z2V0LXRocmVhZC1uYW1lLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDExNy1jaHJvbWl1bS1tdXNsLXJlc29sdmVyLnBhdGNoCiBjcmVhdGUg bW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExOS1jaHJvbWl1bS1t dXNsLXN0YWNrLXV0aWxzLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEyMC1jaHJvbWl1bS1saWJjLW1hbGxvYy5wYXRjaAogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjEtY2hyb21pdW0tbXVz bC1zdGF0LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyMi1jaHJvbWl1bS1jb25kaXRpb25fdmFyLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWV4 ZWNpbmZvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyMy1jaHJvbWl1bS1tdXNsLW5vLWdldGNvbnRleHQucGF0Y2gKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVuYWJs ZS1pNjg2LnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3Bh dGNoZXMvMDEyNS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCiBjcmVhdGUgbW9k ZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNi1jaHJvbWl1bS1uby1j ZGVmcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMjgtY2hyb21pdW0tc2FuZGJveC1tZW1iYXJyaWVyLnBhdGNoCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJvbWl1bS1zYW5kYm94 LXNoZWRfZ2V0cGFyYW0ucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVtLXVuYnVuZGxlLWZmbXBlZy1hdl9zdHJlYW1fZ2V0 X2ZpcnN0X2R0cy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxNTEtY2hyb21pdW0tdW5idW5kbGVkLWNyb3NzLXRvb2xjaGFpbi5wYXRjaAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTItY2hy b21pdW0td2VicnRjLXNpemVfdC5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTMtY2hyb21pdW0td2VicnRjLXNpemVfdC5wYXRjaAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTQtY2hyb21p dW0tdWl0X3QucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMC1jaHJvbWl1bS1tdXNsLWhhY2tzLnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDMwMS1j aHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1hbGxpbmZvLnBhdGNoCiBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcwMC1hcm12N2wt bmVvbi5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzA3NTAtY2hyb21pdW0tbXVzbC1jcm9zcy1uby1hc21fcHRyYWNlX2gucGF0Y2gKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVt LW11c2wtYXJtLXVzZXJfdmZwLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDc1Mi1jaHJvbWl1bS1tdXNsLWFybS1lbGZfYXV4dl90LnBhdGNo CiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDkwMC1j cm9zcy1idWlsZC1leGFtcGxlcy5wYXRjaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS90ZW1wbGF0ZQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvcXQ2LXdlYmVu Z2luZS91cGRhdGUKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwpp bmRleCAwYzFkNTQ1ZmJlMjcuLmU2OTdmZWY1N2FmMiAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGli cworKysgYi9jb21tb24vc2hsaWJzCkBAIC0yMDkzLDYgKzIwOTMsMTMgQEAgbGliUXQ2UG9zaXRp b25pbmcuc28uNiBxdDYtbG9jYXRpb24tNi4yLjBhbHBoYV8xCiBsaWJRdDZNdWx0aW1lZGlhV2lk Z2V0cy5zby42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYlF0Nk11bHRpbWVkaWFRdWljay5z by42IHF0Ni1tdWx0aW1lZGlhLTYuMy4xXzEKIGxpYlF0Nk11bHRpbWVkaWEuc28uNiBxdDYtbXVs dGltZWRpYS02LjMuMV8xCitsaWJRdDZXZWJFbmdpbmVRdWljay5zby42IHF0Ni13ZWJlbmdpbmUt Ni4zLjFfMQorbGliUXQ2UGRmV2lkZ2V0cy5zby42IHF0Ni13ZWJlbmdpbmUtNi4zLjFfMQorbGli UXQ2UGRmUXVpY2suc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZUNv cmUuc28uNiBxdDYtd2ViZW5naW5lLTYuMy4xXzEKK2xpYlF0NlBkZi5zby42IHF0Ni13ZWJlbmdp bmUtNi4zLjFfMQorbGliUXQ2V2ViRW5naW5lUXVpY2tEZWxlZ2F0ZXNRbWwuc28uNiBxdDYtd2Vi ZW5naW5lLTYuMy4xXzEKK2xpYlF0NldlYkVuZ2luZVdpZGdldHMuc28uNiBxdDYtd2ViZW5naW5l LTYuMy4xXzEKIGxpYm5wdGguc28uMCBucHRoLTEuMV8xCiBsaWJucHVwbnAuc28uOSBsaWJucHVw bnAtNS4wLjBfMQogbGliZ2xmdy5zby4zIGdsZnctMy4wLjRfMQpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9xdDYtd2ViZW5naW5lLWRldmVsIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsCm5ldyBm aWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAwMDAwMC4uOGU0ZDFiOTljNTg3Ci0tLSAvZGV2 L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lLWRldmVsCkBAIC0wLDAgKzEgQEAKK3F0 Ni13ZWJlbmdpbmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBs ZXMKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXggMDAwMDAwMDAwMDAwLi44ZTRkMWI5OWM1ODcK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUtZXhhbXBsZXMKQEAgLTAs MCArMSBAQAorcXQ2LXdlYmVuZ2luZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEtTm9uZS1uby1kZWJ1Zy5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmIyMjFmZGNkMzky ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwMDEt Tm9uZS1uby1kZWJ1Zy5wYXRjaApAQCAtMCwwICsxLDExIEBACistLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL2NtYWtlL0Z1bmN0aW9ucy5jbWFrZQorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIv Y21ha2UvRnVuY3Rpb25zLmNtYWtlCitAQCAtODIwLDYgKzgyMCw4IEBAIG1hY3JvKGFwcGVuZF9i dWlsZF90eXBlX3NldHVwKQorICAgICAgICAgZW5kaWYoKQorICAgICBlbHNlaWYoJHtjb25maWd9 IFNUUkVRVUFMICJNaW5TaXplUmVsIikKKyAgICAgICAgIGxpc3QoQVBQRU5EIGduQXJnQXJnIGlz X2RlYnVnPWZhbHNlIHN5bWJvbF9sZXZlbD0wIG9wdGltaXplX2Zvcl9zaXplPXRydWUpCisrICAg IGVsc2VpZigke2NvbmZpZ30gU1RSRVFVQUwgIk5vbmUiKQorKyAgICAgICAgbGlzdChBUFBFTkQg Z25BcmdBcmcgaXNfZGVidWc9ZmFsc2Ugc3ltYm9sX2xldmVsPTApCisgICAgIGVuZGlmKCkKKyAg ICAgaWYoRkVBVFVSRV9kZXZlbG9wZXJfYnVpbGQgT1IgKCR7Y29uZmlnfSBTVFJFUVVBTCAiRGVi dWciKSBPUiBRVF9GRUFUVVJFX3dlYmVuZ2luZV9zYW5pdGl6ZXIpCisgICAgICAgICBsaXN0KEFQ UEVORCBnbkFyZ0FyZwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDAwMy1jcm9zcy1oYWNrLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDAw My1jcm9zcy1oYWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uYTNmMGE1NzkxNDA2Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDAwMy1jcm9zcy1oYWNrLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjL2NvcmUvYXBpL0NNYWtlTGlzdHMudHh0CisrKysgcXQ2 LXdlYmVuZ2luZS02LjQuMi9zcmMvY29yZS9hcGkvQ01ha2VMaXN0cy50eHQKK0BAIC01MSw2ICs1 MSw3IEBAIHF0X2ludGVybmFsX2FkZF9tb2R1bGUoV2ViRW5naW5lQ29yZQorICAgICAgICAgUXQ6 Okd1aQorICAgICAgICAgUXQ6Ok5ldHdvcmsKKyAgICAgICAgIFF0OjpRdWljaworKyAgICAgICAg WDExCisgKQorIAorIHNldF90YXJnZXRfcHJvcGVydGllcyhXZWJFbmdpbmVDb3JlIFBST1BFUlRJ RVMgUVRXRUJFTkdJTkVQUk9DRVNTX05BTUUgJHtxdFdlYkVuZ2luZVByb2Nlc3NOYW1lfSkKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAwNTAtbm8tZ2xpYmMtY21h a2UtY2hlY2sucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMDUwLW5vLWds aWJjLWNtYWtlLWNoZWNrLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uZDkxMTZkYzU4NTdlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDA1MC1uby1nbGliYy1jbWFrZS1jaGVjay5wYXRjaApAQCAtMCwwICsxLDE0 IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL2NvbmZpZ3VyZS5jbWFrZQorKysrIHF0 Ni13ZWJlbmdpbmUtNi40LjIvY29uZmlndXJlLmNtYWtlCitAQCAtNDk5LDExICs0OTksNiBAQCBh ZGRfY2hlY2tfZm9yX3N1cHBvcnQoCisgKQorIGFkZF9jaGVja19mb3Jfc3VwcG9ydCgKKyAgICBN T0RVTEVTIFF0V2ViRW5naW5lIFF0UGRmCistICAgQ09ORElUSU9OIE5PVCBMSU5VWCBPUiBURVNU X2dsaWJjCistICAgTUVTU0FHRSAiQSBzdWl0YWJsZSB2ZXJzaW9uID49IDIuMTcgb2YgZ2xpYmMg aXMgcmVxdWlyZWQuIgorLSkKKy1hZGRfY2hlY2tfZm9yX3N1cHBvcnQoCistICAgTU9EVUxFUyBR dFdlYkVuZ2luZSBRdFBkZgorICAgIENPTkRJVElPTiBOT1QgTElOVVggT1IgVEVTVF9raHIKKyAg ICBNRVNTQUdFICJCdWlsZCByZXF1aXJlcyBLaHJvbm9zIGRldmVsb3BtZW50IGhlYWRlcnMgZm9y IGJ1aWxkIC0gc2VlIG1lc2EvbGliZWdsMS1tZXNhLWRldiIKKyApCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAwLWNocm9taXVtLXJldmVydC05ZDA4MGMwLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMC1jaHJvbWl1bS1yZXZlcnQt OWQwODBjMC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmFk Y2EzNjRhNDA2MAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMDAtY2hyb21pdW0tcmV2ZXJ0LTlkMDgwYzAucGF0Y2gKQEAgLTAsMCArMSwxNTQgQEAK K1JldmVydCA5ZDA4MGMwOTM0Yjg0OGVlNGEwNTAxM2M3ODY0MWU2MTJmY2MxZTAzCisKKy0tLSBx dDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2NvbmZp Zy9zYW5pdGl6ZXJzL0JVSUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL3Nhbml0aXplcnMvQlVJTEQuZ24KK0BAIC0yNzEsMTEg KzI3MSwxMSBAQCBjb25maWcoImFzYW5fZmxhZ3MiKSB7CisgICBpZiAoaXNfYXNhbikgeworICAg ICBjZmxhZ3MgKz0gWyAiLWZzYW5pdGl6ZT1hZGRyZXNzIiBdCisgICAgIGlmIChpc193aW4pIHsK Ky0gICAgICBpZiAoIWRlZmluZWQoYXNhbl93aW5fYmxvY2tsaXN0X3BhdGgpKSB7CistICAgICAg ICBhc2FuX3dpbl9ibG9ja2xpc3RfcGF0aCA9CisrICAgICAgaWYgKCFkZWZpbmVkKGFzYW5fd2lu X2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgICAgYXNhbl93aW5fYmxhY2tsaXN0X3BhdGggPQor ICAgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21lbW9yeS9hc2FuL2Jsb2NrbGlzdF93 aW4udHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgICAgfQorLSAgICAgIGNmbGFncyArPSBbICIt ZnNhbml0aXplLWlnbm9yZWxpc3Q9JGFzYW5fd2luX2Jsb2NrbGlzdF9wYXRoIiBdCisrICAgICAg Y2ZsYWdzICs9IFsgIi1mc2FuaXRpemUtYmxhY2tsaXN0PSRhc2FuX3dpbl9ibGFja2xpc3RfcGF0 aCIgXQorICAgICB9CisgICB9CisgfQorQEAgLTMwNSwxMyArMzA1LDEzIEBAIGNvbmZpZygibGlu a19zaGFyZWRfbGlicmFyeSIpIHsKKyBjb25maWcoImNmaV9mbGFncyIpIHsKKyAgIGNmbGFncyA9 IFtdCisgICBpZiAoaXNfY2ZpICYmIGN1cnJlbnRfdG9vbGNoYWluID09IGRlZmF1bHRfdG9vbGNo YWluKSB7CistICAgIGlmICghZGVmaW5lZChjZmlfaWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAg IGNmaV9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAoIWRlZmluZWQoY2ZpX2JsYWNrbGlzdF9w YXRoKSkgeworKyAgICAgIGNmaV9ibGFja2xpc3RfcGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9w YXRoKCIvL3Rvb2xzL2NmaS9pZ25vcmVzLnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9Cisg ICAgIGNmbGFncyArPSBbCisgICAgICAgIi1mc2FuaXRpemU9Y2ZpLXZjYWxsIiwKKy0gICAgICAi LWZzYW5pdGl6ZS1pZ25vcmVsaXN0PSRjZmlfaWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZz YW5pdGl6ZS1ibGFja2xpc3Q9JGNmaV9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAKKyAgICAg aWYgKHVzZV9jZmlfY2FzdCkgeworQEAgLTQwOCwxNCArNDA4LDE0IEBAIGNvbmZpZygibXNhbl9m bGFncyIpIHsKKyAgIGlmIChpc19tc2FuKSB7CisgICAgIGFzc2VydChpc19saW51eCB8fCBpc19j aHJvbWVvcywKKyAgICAgICAgICAgICJtc2FuIG9ubHkgc3VwcG9ydGVkIG9uIGxpbnV4IHg4Nl82 NC9DaHJvbWVPUyIpCistICAgIGlmICghZGVmaW5lZChtc2FuX2lnbm9yZWxpc3RfcGF0aCkpIHsK Ky0gICAgICBtc2FuX2lnbm9yZWxpc3RfcGF0aCA9CistICAgICAgICAgIHJlYmFzZV9wYXRoKCIv L3Rvb2xzL21zYW4vaWdub3JlbGlzdC50eHQiLCByb290X2J1aWxkX2RpcikKKysgICAgaWYgKCFk ZWZpbmVkKG1zYW5fYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgbXNhbl9ibGFja2xpc3RfcGF0 aCA9CisrICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL21zYW4vYmxhY2tsaXN0LnR4dCIs IHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFncyA9IFsKKyAgICAgICAiLWZzYW5p dGl6ZT1tZW1vcnkiLAorICAgICAgICItZnNhbml0aXplLW1lbW9yeS10cmFjay1vcmlnaW5zPSRt c2FuX3RyYWNrX29yaWdpbnMiLAorLSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JG1zYW5f aWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JG1zYW5fYmxh Y2tsaXN0X3BhdGgiLAorICAgICBdCisgICB9CisgfQorQEAgLTQyMywxMyArNDIzLDEzIEBAIGNv bmZpZygibXNhbl9mbGFncyIpIHsKKyBjb25maWcoInRzYW5fZmxhZ3MiKSB7CisgICBpZiAoaXNf dHNhbikgeworICAgICBhc3NlcnQoaXNfbGludXggfHwgaXNfY2hyb21lb3MsICJ0c2FuIG9ubHkg c3VwcG9ydGVkIG9uIGxpbnV4IHg4Nl82NCIpCistICAgIGlmICghZGVmaW5lZCh0c2FuX2lnbm9y ZWxpc3RfcGF0aCkpIHsKKy0gICAgICB0c2FuX2lnbm9yZWxpc3RfcGF0aCA9CisrICAgIGlmICgh ZGVmaW5lZCh0c2FuX2JsYWNrbGlzdF9wYXRoKSkgeworKyAgICAgIHRzYW5fYmxhY2tsaXN0X3Bh dGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy9tZW1vcnkvdHNhbl92Mi9pZ25v cmVzLnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFncyA9IFsKKyAgICAg ICAiLWZzYW5pdGl6ZT10aHJlYWQiLAorLSAgICAgICItZnNhbml0aXplLWlnbm9yZWxpc3Q9JHRz YW5faWdub3JlbGlzdF9wYXRoIiwKKysgICAgICAiLWZzYW5pdGl6ZS1ibGFja2xpc3Q9JHRzYW5f YmxhY2tsaXN0X3BhdGgiLAorICAgICBdCisgICB9CisgfQorQEAgLTQzNyw4ICs0MzcsOCBAQCBj b25maWcoInRzYW5fZmxhZ3MiKSB7CisgY29uZmlnKCJ1YnNhbl9mbGFncyIpIHsKKyAgIGNmbGFn cyA9IFtdCisgICBpZiAoaXNfdWJzYW4pIHsKKy0gICAgaWYgKCFkZWZpbmVkKHVic2FuX2lnbm9y ZWxpc3RfcGF0aCkpIHsKKy0gICAgICB1YnNhbl9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAo IWRlZmluZWQodWJzYW5fYmxhY2tsaXN0X3BhdGgpKSB7CisrICAgICAgdWJzYW5fYmxhY2tsaXN0 X3BhdGggPQorICAgICAgICAgICByZWJhc2VfcGF0aCgiLy90b29scy91YnNhbi9pZ25vcmVsaXN0 LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFncyArPSBbCitAQCAtNDU1 LDcgKzQ1NSw3IEBAIGNvbmZpZygidWJzYW5fZmxhZ3MiKSB7CisgICAgICAgIi1mc2FuaXRpemU9 c2lnbmVkLWludGVnZXItb3ZlcmZsb3ciLAorICAgICAgICItZnNhbml0aXplPXVucmVhY2hhYmxl IiwKKyAgICAgICAiLWZzYW5pdGl6ZT12bGEtYm91bmQiLAorLSAgICAgICItZnNhbml0aXplLWln bm9yZWxpc3Q9JHVic2FuX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUtYmxh Y2tsaXN0PSR1YnNhbl9ibGFja2xpc3RfcGF0aCIsCisgICAgIF0KKyAgICAgaWYgKCFpc19jbGFu ZykgeworICAgICAgICMgVGhlc2UgZXhwb3NlcyB0b28gbXVjaCBpbGxlZ2FsIEMrKzE0IGNvZGUg dG8gY29tcGlsZSBvbiBhbnl0aGluZyBzdHJpY3RlciB0aGFuIGNsYW5nOgorQEAgLTQ5Niw4ICs0 OTYsOCBAQCBjb25maWcoInVic2FuX25vX3JlY292ZXIiKSB7CisgCisgY29uZmlnKCJ1YnNhbl9z ZWN1cml0eV9mbGFncyIpIHsKKyAgIGlmIChpc191YnNhbl9zZWN1cml0eSkgeworLSAgICBpZiAo IWRlZmluZWQodWJzYW5fc2VjdXJpdHlfaWdub3JlbGlzdF9wYXRoKSkgeworLSAgICAgIHVic2Fu X3NlY3VyaXR5X2lnbm9yZWxpc3RfcGF0aCA9CisrICAgIGlmICghZGVmaW5lZCh1YnNhbl9zZWN1 cml0eV9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB1YnNhbl9zZWN1cml0eV9ibGFja2xpc3Rf cGF0aCA9CisgICAgICAgICAgIHJlYmFzZV9wYXRoKCIvL3Rvb2xzL3Vic2FuL3NlY3VyaXR5X2ln bm9yZWxpc3QudHh0Iiwgcm9vdF9idWlsZF9kaXIpCisgICAgIH0KKyAgICAgY2ZsYWdzID0gWwor QEAgLTUwNSw3ICs1MDUsNyBAQCBjb25maWcoInVic2FuX3NlY3VyaXR5X2ZsYWdzIikgeworICAg ICAgICItZnNhbml0aXplPXNoaWZ0IiwKKyAgICAgICAiLWZzYW5pdGl6ZT1zaWduZWQtaW50ZWdl ci1vdmVyZmxvdyIsCisgICAgICAgIi1mc2FuaXRpemU9dmxhLWJvdW5kIiwKKy0gICAgICAiLWZz YW5pdGl6ZS1pZ25vcmVsaXN0PSR1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3BhdGgiLAorKyAg ICAgICItZnNhbml0aXplLWJsYWNrbGlzdD0kdWJzYW5fc2VjdXJpdHlfYmxhY2tsaXN0X3BhdGgi LAorICAgICBdCisgICB9CisgfQorQEAgLTUxOCwxMyArNTE4LDEzIEBAIGNvbmZpZygidWJzYW5f bnVsbF9mbGFncyIpIHsKKyAKKyBjb25maWcoInVic2FuX3ZwdHJfZmxhZ3MiKSB7CisgICBpZiAo aXNfdWJzYW5fdnB0cikgeworLSAgICBpZiAoIWRlZmluZWQodWJzYW5fdnB0cl9pZ25vcmVsaXN0 X3BhdGgpKSB7CistICAgICAgdWJzYW5fdnB0cl9pZ25vcmVsaXN0X3BhdGggPQorKyAgICBpZiAo IWRlZmluZWQodWJzYW5fdnB0cl9ibGFja2xpc3RfcGF0aCkpIHsKKysgICAgICB1YnNhbl92cHRy X2JsYWNrbGlzdF9wYXRoID0KKyAgICAgICAgICAgcmViYXNlX3BhdGgoIi8vdG9vbHMvdWJzYW4v dnB0cl9pZ25vcmVsaXN0LnR4dCIsIHJvb3RfYnVpbGRfZGlyKQorICAgICB9CisgICAgIGNmbGFn cyA9IFsKKyAgICAgICAiLWZzYW5pdGl6ZT12cHRyIiwKKy0gICAgICAiLWZzYW5pdGl6ZS1pZ25v cmVsaXN0PSR1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCIsCisrICAgICAgIi1mc2FuaXRpemUt YmxhY2tsaXN0PSR1YnNhbl92cHRyX2JsYWNrbGlzdF9wYXRoIiwKKyAgICAgXQorICAgICBpZiAo IWlzX2NsYW5nKSB7CisgICAgICAgIyBDbGFuZyBzcGVjaWZpYyBmbGFnOgorLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGRfb3ZlcnJpZGVzL2J1 aWxkLmduaQorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1 aWxkX292ZXJyaWRlcy9idWlsZC5nbmkKK0BAIC00MywxNSArNDMsMTUgQEAgZGVjbGFyZV9hcmdz KCkgeworICMgQWxsb3dzIGRpZmZlcmVudCBwcm9qZWN0cyB0byBzcGVjaWZ5IHRoZWlyIG93biBz dXBwcmVzc2lvbi9pZ25vcmUgbGlzdHMgZm9yCisgIyBzYW5pdGl6ZXIgdG9vbHMuCisgIyBhc2Fu X3N1cHByZXNzaW9uc19maWxlID0gInBhdGgvdG8vYXNhbl9zdXBwcmVzc2lvbnMuY2MiCistIyBh c2FuX3dpbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9hc2FuL2Jsb2NrbGlzdF93aW4udHh0 IgorKyMgYXNhbl93aW5fYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by9hc2FuL2Jsb2NrbGlzdF93 aW4udHh0IgorICMgbHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRoL3RvL2xzYW5fc3VwcHJl c3Npb25zLmNjIgorICMgdHNhbl9zdXBwcmVzc2lvbnNfZmlsZSA9ICJwYXRoL3RvL3RzYW5fc3Vw cHJlc3Npb25zLmNjIgorLSMgdHNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by90c2FuL2ln bm9yZXMudHh0IgorLSMgbXNhbl9pZ25vcmVsaXN0X3BhdGggPSAicGF0aC90by9tc2FuL2lnbm9y ZWxpc3QudHh0IgorLSMgdWJzYW5faWdub3JlbGlzdF9wYXRoID0gInBhdGgvdG8vdWJzYW4vaWdu b3JlbGlzdC50eHQiCistIyB1YnNhbl92cHRyX2lnbm9yZWxpc3RfcGF0aCA9ICJwYXRoL3RvL3Vi c2FuL3ZwdHJfaWdub3JlbGlzdC50eHQiCistIyB1YnNhbl9zZWN1cml0eV9pZ25vcmVsaXN0X3Bh dGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9pZ25vcmVsaXN0LnR4dCIKKy0jIGNmaV9pZ25v cmVsaXN0X3BhdGggPSAicGF0aC90by9jZmkvaWdub3Jlcy50eHQiCisrIyB0c2FuX2JsYWNrbGlz dF9wYXRoID0gInBhdGgvdG8vdHNhbi9pZ25vcmVzLnR4dCIKKysjIG1zYW5fYmxhY2tsaXN0X3Bh dGggPSAicGF0aC90by9tc2FuL2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl9ibGFja2xpc3RfcGF0 aCA9ICJwYXRoL3RvL3Vic2FuL2JsYWNrbGlzdC50eHQiCisrIyB1YnNhbl92cHRyX2JsYWNrbGlz dF9wYXRoID0gInBhdGgvdG8vdWJzYW4vdnB0cl9ibGFja2xpc3QudHh0IgorKyMgdWJzYW5fc2Vj dXJpdHlfYmxhY2tsaXN0X3BhdGggPSAicGF0aC90by91YnNhbi9zZWN1cml0eV9ibGFja2xpc3Qu dHh0IgorKyMgY2ZpX2JsYWNrbGlzdF9wYXRoID0gInBhdGgvdG8vY2ZpL2lnbm9yZXMudHh0Igor IAorIGlmIChob3N0X29zID09ICJtYWMiIHx8IGlzX2FwcGxlKSB7CisgICAjIE5lZWRlZCBmb3Ig aXNfYXBwbGUgd2hlbiB0YXJnZXRpbmcgbWFjT1Mgb3IgaU9TLCBpbmRlcGVuZGVudCBvZiBob3N0 LgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMS1jaHJvbWl1 bS0xMDItZmVuY2VkX2ZyYW1lX3V0aWxzLWluY2x1ZGUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTAxLWNocm9taXVtLTEwMi1mZW5jZWRfZnJhbWVfdXRpbHMtaW5jbHVk ZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmY0MWM3OTg0 ODQwZAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MDEtY2hyb21pdW0tMTAyLWZlbmNlZF9mcmFtZV91dGlscy1pbmNsdWRlLnBhdGNoCkBAIC0wLDAg KzEsMjAgQEAKK0Zyb20gN2MxMzVhMjkxMTg0YjU5YTU5NjQzZWQ2YThjNDBiNDQwNWFjMDE3NSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IFN0ZXBoYW4gSGFydG1hbm4gPHN0aGEwOUBn b29nbGVtYWlsLmNvbT4KK0RhdGU6IFdlZCwgMjcgQXByIDIwMjIgMTY6MDE6MDEgKzAwMDAKK1N1 YmplY3Q6IFtQQVRDSF0gSVdZVTogYWRkIGNzdHJpbmcgZm9yIHN0ZDo6c3RybGVuIGluIGZlbmNl ZF9mcmFtZV91dGlscworCistLS0KKyB0aGlyZF9wYXJ0eS9ibGluay9jb21tb24vZmVuY2VkX2Zy YW1lL2ZlbmNlZF9mcmFtZV91dGlscy5jYyB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspCisKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL2NvbW1vbi9mZW5jZWRfZnJhbWUvZmVuY2VkX2ZyYW1l X3V0aWxzLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0v dGhpcmRfcGFydHkvYmxpbmsvY29tbW9uL2ZlbmNlZF9mcmFtZS9mZW5jZWRfZnJhbWVfdXRpbHMu Y2MKK0BAIC02LDYgKzYsOCBAQAorIAorICNpbmNsdWRlIDxjc3RyaW5nPgorIAorKyNpbmNsdWRl IDxjc3RyaW5nPgorKworICNpbmNsdWRlICJiYXNlL2d1aWQuaCIKKyAjaW5jbHVkZSAiYmFzZS9z dHJpbmdzL3N0cmluZ191dGlsLmgiCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTAyLWNocm9taXVtLTEwMi1yZWdleF9wYXR0ZXJuLWFycmF5LnBhdGNoIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwMi1jaHJvbWl1bS0xMDItcmVnZXhfcGF0 dGVybi1hcnJheS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LjQyMGVmOTQxYTM4NgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMDItY2hyb21pdW0tMTAyLXJlZ2V4X3BhdHRlcm4tYXJyYXkucGF0Y2gKQEAgLTAs MCArMSwxNCBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hy b21pdW0vY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvQlVJTEQuZ24KKysrKyBxdDYt d2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9jb21wb25lbnRzL2F1dG9maWxs L2NvcmUvYnJvd3Nlci9CVUlMRC5nbgorQEAgLTM0LDYgKzM0LDExIEBAIGFjdGlvbigicmVnZXhf cGF0dGVybnNfaW5sX2giKSB7CisgfQorIAorIGp1bWJvX3N0YXRpY19saWJyYXJ5KCJicm93c2Vy IikgeworKyAgaWYgKGlzX2NsYW5nKSB7CisrICAgIGNmbGFncyA9IFsKKysgICAgICAiLWZicmFj a2V0LWRlcHRoPTEwMDAiLAorKyAgICBdCisrICB9CisgICBzb3VyY2VzID0gWworICAgICAiYWRk cmVzc19ub3JtYWxpemF0aW9uX21hbmFnZXIuY2MiLAorICAgICAiYWRkcmVzc19ub3JtYWxpemF0 aW9uX21hbmFnZXIuaCIsCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTAzLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAzLWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43MDhkNTY3YTA0 ZGMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTAz LWNocm9taXVtLWk2ODYtdmFhcGktZnBlcm1pc3NpdmUucGF0Y2gKQEAgLTAsMCArMSwyMyBAQAor LS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEv Z3B1L3ZhYXBpL0JVSUxELmduCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkv Y2hyb21pdW0vbWVkaWEvZ3B1L3ZhYXBpL0JVSUxELmduCitAQCAtMTQsNiArMTQsMTIgQEAgaW1w b3J0KCIvL3VpL2dsL2ZlYXR1cmVzLmduaSIpCisgYXNzZXJ0KGlzX2xpbnV4IHx8IGlzX2Nocm9t ZW9zKQorIGFzc2VydCh1c2VfdmFhcGkpCisgCisrY29uZmlnKCJ2YWFwaV9wZXJtaXNzaXZlIikg eworKyAgaWYgKHRhcmdldF9jcHUgPT0gIng4NiIpIHsKKysgICAgY2ZsYWdzID0gWyAiLWZwZXJt aXNzaXZlIiBdCisrICB9CisrfQorKworIGdlbmVyYXRlX3N0dWJzKCJsaWJ2YV9zdHVicyIpIHsK KyAgIGV4dHJhX2hlYWRlciA9ICJ2YV9zdHViX2hlYWRlci5mcmFnbWVudCIKKyAgIHNpZ3MgPSBb ICJ2YS5zaWdzIiBdCitAQCAtODksNiArOTUsNyBAQCBzb3VyY2Vfc2V0KCJ2YWFwaSIpIHsKKyAg IGNvbmZpZ3MgKz0gWworICAgICAiLy9idWlsZC9jb25maWcvbGludXgvbGlidmEiLAorICAgICAi Ly90aGlyZF9wYXJ0eS9saWJ2cHg6bGlidnB4X2NvbmZpZyIsCisrICAgICI6dmFhcGlfcGVybWlz c2l2ZSIsCisgICBdCisgCisgICBkZXBzID0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDEwNC1jaHJvbWl1bS1saWJ4bWwtdW5idW5kbGUucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA0LWNocm9taXVtLWxpYnhtbC11bmJ1bmRsZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmJhY2E0ODRhYmM0 YQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDQt Y2hyb21pdW0tbGlieG1sLXVuYnVuZGxlLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxkL2xpbnV4L3Vu YnVuZGxlL2xpYnhtbC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL2J1aWxkL2xpbnV4L3VuYnVuZGxlL2xpYnhtbC5nbgorQEAgLTE5LDYgKzE5LDcgQEAg c3RhdGljX2xpYnJhcnkoImxpYnhtbF91dGlscyIpIHsKKyAgICAgIjp4bWxfcmVhZGVyIiwKKyAg ICAgIjp4bWxfd3JpdGVyIiwKKyAgICAgIi8vYmFzZS90ZXN0OnRlc3Rfc3VwcG9ydCIsCisrICAg ICIvL3NlcnZpY2VzL2RhdGFfZGVjb2RlcjpsaWIiLAorICAgICAiLy9zZXJ2aWNlcy9kYXRhX2Rl Y29kZXI6eG1sX3BhcnNlcl9mdXp6ZXJfZGVwcyIsCisgICBdCisgICBzb3VyY2VzID0gWwpkaWZm IC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwNS1jaHJvbWl1bS1yZXZl cnQtZHJvcC1vZi1zeXN0ZW0tamF2YS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMDUtY2hyb21pdW0tcmV2ZXJ0LWRyb3Atb2Ytc3lzdGVtLWphdmEucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNmFiZjdhZGNhYmMKLS0tIC9kZXYv bnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA1LWNocm9taXVtLXJl dmVydC1kcm9wLW9mLXN5c3RlbS1qYXZhLnBhdGNoCkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgd2Fz IGRyb3BwZWQgZm9yIHNvbWUgcmVhc29uIGluIDY5NTFjMzdjZWNkMDU5NzliMjMyYTM5ZTVjMTBl NjM0NmEwZjc0ZWYKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2Nsb3N1cmVfY29tcGlsZXIvY29tcGlsZXIucHkKKysrKyBxdDYt d2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jbG9zdXJl X2NvbXBpbGVyL2NvbXBpbGVyLnB5CitAQCAtMTMsOCArMTMsOSBAQCBpbXBvcnQgc3VicHJvY2Vz cworIAorIAorIF9DVVJSRU5UX0RJUiA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19m aWxlX18pKQorLV9KQVZBX1BBVEggPSBvcy5wYXRoLmpvaW4oX0NVUlJFTlRfRElSLCAiLi4iLCAi amRrIiwgImN1cnJlbnQiLCAiYmluIiwgImphdmEiKQorLWFzc2VydCBvcy5wYXRoLmlzZmlsZShf SkFWQV9QQVRIKSwgImphdmEgb25seSBhbGxvd2VkIGluIGFuZHJvaWQgYnVpbGRzIgorK19KQVZB X0JJTiA9ICJqYXZhIgorK19KREtfUEFUSCA9IG9zLnBhdGguam9pbihfQ1VSUkVOVF9ESVIsICIu LiIsICJqZGsiLCAiY3VycmVudCIsICJiaW4iLCAiamF2YSIpCisrX0pBVkFfUEFUSCA9IF9KREtf UEFUSCBpZiBvcy5wYXRoLmlzZmlsZShfSkRLX1BBVEgpIGVsc2UgX0pBVkFfQklOCisgCisgY2xh c3MgQ29tcGlsZXIob2JqZWN0KToKKyAgICIiIlJ1bnMgdGhlIENsb3N1cmUgY29tcGlsZXIgb24g Z2l2ZW4gc291cmNlIGZpbGVzIHRvIHR5cGVjaGVjayB0aGVtCmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA2LWNocm9taXVtLXN5c3RlbS1ub2Rl anMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4xNjQ4Zjc2 NGVhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTA2LWNocm9taXVtLXN5c3RlbS1ub2RlanMucGF0Y2gKQEAgLTAsMCArMSwyOSBAQAorLS0tIHF0 Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkv bm9kZS9ub2RlLnB5CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21p dW0vdGhpcmRfcGFydHkvbm9kZS9ub2RlLnB5CitAQCAtMTgsMjUgKzE4LDcgQEAgZGVmIHdoaWNo KGNtZCk6CisgICAgIHJldHVybiBOb25lCisgCisgZGVmIEdldEJpbmFyeVBhdGgoKToKKy0gIGlm IHN5cy5wbGF0Zm9ybSA9PSAnd2luMzInOgorLSAgICBub2RlanMgPSB3aGljaCgnbm9kZS5leGUn KQorLSAgICBpZiBub2RlanM6CistICAgICAgcmV0dXJuIG5vZGVqcworLSAgZWxzZToKKy0gICAg bm9kZWpzID0gd2hpY2goJ25vZGVqcycpCistICAgIGlmIG5vZGVqczoKKy0gICAgICByZXR1cm4g bm9kZWpzCistICAgIG5vZGVqcyA9IHdoaWNoKCdub2RlJykKKy0gICAgaWYgbm9kZWpzOgorLSAg ICAgIHJldHVybiBub2RlanMKKy0KKy0gIGRhcndpbl9uYW1lID0gKCdub2RlLWRhcndpbi1hcm02 NCcgaWYgcGxhdGZvcm0ubWFjaGluZSgpID09ICdhcm02NCcgZWxzZQorLSAgICAgICAgICAgICAg ICAgJ25vZGUtZGFyd2luLXg2NCcpCistICByZXR1cm4gb3NfcGF0aC5qb2luKG9zX3BhdGguZGly bmFtZShfX2ZpbGVfXyksICp7CistICAgICdEYXJ3aW4nOiAoJ21hYycsIGRhcndpbl9uYW1lLCAn YmluJywgJ25vZGUnKSwKKy0gICAgJ0xpbnV4JzogKCdsaW51eCcsICdub2RlLWxpbnV4LXg2NCcs ICdiaW4nLCAnbm9kZScpLAorLSAgICAnV2luZG93cyc6ICgnd2luJywgJ25vZGUuZXhlJyksCist ICB9W3BsYXRmb3JtLnN5c3RlbSgpXSkKKysgIHJldHVybiAiL3Vzci9iaW4vbm9kZSIKKyAKKyAK KyBkZWYgUnVuTm9kZShjbWRfcGFydHMsIHN0ZG91dD1Ob25lKToKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDctY2hyb21pdW0tY3Jvc3MtYnVpbGQucGF0Y2gg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA3LWNocm9taXVtLWNyb3NzLWJ1aWxk LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDQ5NTRkZmJi MWU1Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEw Ny1jaHJvbWl1bS1jcm9zcy1idWlsZC5wYXRjaApAQCAtMCwwICsxLDY1IEBACistLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC9jb25maWcvY29t cGlsZXIvQlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KK0BAIC01OCw2ICs1OCwxMCBAQCBp ZiAoIWlzX2NsYW5nKSB7CisgfQorIAorIGRlY2xhcmVfYXJncygpIHsKKysgIGlzX211c2wgPSBm YWxzZQorK30KKysKKytkZWNsYXJlX2FyZ3MoKSB7CisgICAjIE5vcm1hbGx5LCBBbmRyb2lkIGJ1 aWxkcyBhcmUgbGlnaHRseSBvcHRpbWl6ZWQsIGV2ZW4gZm9yIGRlYnVnIGJ1aWxkcywgdG8KKyAg ICMga2VlcCBiaW5hcnkgc2l6ZSBkb3duLiBTZXR0aW5nIHRoaXMgZmxhZyB0byB0cnVlIGRpc2Fi bGVzIHN1Y2ggb3B0aW1pemF0aW9uCisgICBhbmRyb2lkX2Z1bGxfZGVidWcgPSBmYWxzZQorQEAg LTk3MCw4ICs5NzQsMTMgQEAgY29uZmlnKCJjb21waWxlcl9jcHVfYWJpIikgeworICAgICAgIH0K KyAgICAgfSBlbHNlIGlmIChjdXJyZW50X2NwdSA9PSAiYXJtNjQiKSB7CisgICAgICAgaWYgKGlz X2NsYW5nICYmICFpc19hbmRyb2lkICYmICFpc19uYWNsICYmICFpc19mdWNoc2lhKSB7CistICAg ICAgICBjZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUiIF0KKy0gICAgICAg IGxkZmxhZ3MgKz0gWyAiLS10YXJnZXQ9YWFyY2g2NC1saW51eC1nbnUiIF0KKysgICAgICAgIGlm IChpc19tdXNsKSB7CisrICAgICAgICAgIGNmbGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxp bnV4LW11c2wiIF0KKysgICAgICAgICAgbGRmbGFncyArPSBbICItLXRhcmdldD1hYXJjaDY0LWxp bnV4LW11c2wiIF0KKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgIGNmbGFncyArPSBbICIt LXRhcmdldD1hYXJjaDY0LWxpbnV4LWdudSIgXQorKyAgICAgICAgICBsZGZsYWdzICs9IFsgIi0t dGFyZ2V0PWFhcmNoNjQtbGludXgtZ251IiBdCisrICAgICAgICB9CisgICAgICAgfQorICAgICAg IGlmIChpc19hbmRyb2lkKSB7CisgICAgICAgICAjIE91dGxpbmUgYXRvbWljcyBjcmFzaCBvbiBF eHlub3MgOTgxMC4gaHR0cDovL2NyYnVnLmNvbS8xMjcyNzk1CistLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9idWlsZC90b29sY2hhaW4vbGludXgvdW5i dW5kbGUvQlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9idWlsZC90b29sY2hhaW4vbGludXgvdW5idW5kbGUvQlVJTEQuZ24KK0BAIC0zOSwzICsz OSwyMiBAQCBnY2NfdG9vbGNoYWluKCJob3N0IikgeworICAgICBjdXJyZW50X29zID0gY3VycmVu dF9vcworICAgfQorIH0KKysKKytnY2NfdG9vbGNoYWluKCJ2OF9zbmFwc2hvdF9jcm9zcyIpIHsK KysgIGNjID0gZ2V0ZW52KCJCVUlMRF9DQyIpCisrICBjeHggPSBnZXRlbnYoIkJVSUxEX0NYWCIp CisrICBhciA9IGdldGVudigiQlVJTERfQVIiKQorKyAgbm0gPSBnZXRlbnYoIkJVSUxEX05NIikK KysgIGxkID0gY3h4CisrCisrICBleHRyYV9jZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0NGTEFHUyIp CisrICBleHRyYV9jcHBmbGFncyA9IGdldGVudigiQlVJTERfQ1BQRkxBR1MiKQorKyAgZXh0cmFf Y3h4ZmxhZ3MgPSBnZXRlbnYoIkJVSUxEX0NYWEZMQUdTIikKKysgIGV4dHJhX2xkZmxhZ3MgPSBn ZXRlbnYoIkJVSUxEX0xERkxBR1MiKQorKworKyAgdG9vbGNoYWluX2FyZ3MgPSB7CisrICAgIGN1 cnJlbnRfY3B1ID0gaG9zdF9jcHUKKysgICAgY3VycmVudF9vcyA9IGhvc3Rfb3MKKysgICAgdjhf Y3VycmVudF9jcHUgPSB0YXJnZXRfY3B1CisrICB9CisrfQorLS0tIHF0Ni13ZWJlbmdpbmUtNi40 LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvY29uZmlnL2xpbnV4L3BrZ19jb25m aWcuZ25pCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVp bGQvY29uZmlnL2xpbnV4L3BrZ19jb25maWcuZ25pCitAQCAtOTIsNyArOTIsNyBAQCB0ZW1wbGF0 ZSgicGtnX2NvbmZpZyIpIHsKKyAgIGFzc2VydChkZWZpbmVkKGludm9rZXIucGFja2FnZXMpLAor ICAgICAgICAgICJWYXJpYWJsZSB8cGFja2FnZXN8IG11c3QgYmUgZGVmaW5lZCB0byBiZSBhIGxp c3QgaW4gcGtnX2NvbmZpZy4iKQorICAgY29uZmlnKHRhcmdldF9uYW1lKSB7CistICAgIGlmICho b3N0X3Rvb2xjaGFpbiA9PSBjdXJyZW50X3Rvb2xjaGFpbikgeworKyAgICBpZiAoY3VycmVudF9j cHUgIT0gdGFyZ2V0X2NwdSkgeworICAgICAgIGFyZ3MgPSBjb21tb25fcGtnX2NvbmZpZ19hcmdz ICsgaG9zdF9wa2dfY29uZmlnX2FyZ3MgKyBpbnZva2VyLnBhY2thZ2VzCisgICAgIH0gZWxzZSB7 CisgICAgICAgYXJncyA9IGNvbW1vbl9wa2dfY29uZmlnX2FyZ3MgKyBwa2dfY29uZmlnX2FyZ3Mg KyBpbnZva2VyLnBhY2thZ2VzCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTA4LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA4LWNocm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0 Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kZDMxZGE5NzkwYWQK LS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA4LWNo cm9taXVtLWN1cnNlZF5Vc2NvcGVkX2ZpbGUucGF0Y2gKQEAgLTAsMCArMSwxOCBAQAorLS0tIHF0 Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9z Y29wZWRfZmlsZV9saW51eC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL2Jhc2UvZmlsZXMvc2NvcGVkX2ZpbGVfbGludXguY2MKK0BAIC03NywxNSArNzcs MyBAQCBib29sIElzRkRPd25lZChpbnQgZmQpIHsKKyB9CisgCisgfSAgLy8gbmFtZXNwYWNlIGJh c2UKKy0KKy1leHRlcm4gIkMiIHsKKy0KKy1pbnQgX19jbG9zZShpbnQpOworLQorLV9fYXR0cmli dXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSwgbm9pbmxpbmUpKSBpbnQgY2xvc2UoaW50IGZk KSB7CistICBpZiAoYmFzZTo6SXNGRE93bmVkKGZkKSAmJiBnX2lzX293bmVyc2hpcF9lbmZvcmNl ZCkKKy0gICAgQ3Jhc2hPbkZkT3duZXJzaGlwVmlvbGF0aW9uKCk7CistICByZXR1cm4gX19jbG9z ZShmZCk7CistfQorLQorLX0gIC8vIGV4dGVybiAiQyIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMDktY2hyb21pdW0tYWFyY2g2NC1tdXNsLW1lbW9yeS10YWdn aW5nLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEwOS1jaHJvbWl1bS1h YXJjaDY0LW11c2wtbWVtb3J5LXRhZ2dpbmcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMDAwLi4wZmYyYTJhNTFhYWEKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTA5LWNocm9taXVtLWFhcmNoNjQtbXVzbC1tZW1vcnkt dGFnZ2luZy5wYXRjaApAQCAtMCwwICsxLDI5IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2Nh dG9yL3RhZ2dpbmcuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3RhZ2dpbmcuY2MKK0BAIC0y OCwxMyArMjgsMjUgQEAKKyAjZW5kaWYKKyAjZW5kaWYKKyAKKy0jaWZuZGVmIEhBU19QUl9NVEVf TUFDUk9TCisrI2lmbmRlZiBQUl9NVEVfVENGX1NISUZUCisgI2RlZmluZSBQUl9NVEVfVENGX1NI SUZUIDEKKysjZW5kaWYKKysjaWZuZGVmIFBSX01URV9UQ0ZfTk9ORQorICNkZWZpbmUgUFJfTVRF X1RDRl9OT05FICgwVUwgPDwgUFJfTVRFX1RDRl9TSElGVCkKKysjZW5kaWYKKysjaWZuZGVmIFBS X01URV9UQ0ZfU1lOQworICNkZWZpbmUgUFJfTVRFX1RDRl9TWU5DICgxVUwgPDwgUFJfTVRFX1RD Rl9TSElGVCkKKysjZW5kaWYKKysjaWZuZGVmIFBSX01URV9UQ0ZfQVNZTkMKKyAjZGVmaW5lIFBS X01URV9UQ0ZfQVNZTkMgKDJVTCA8PCBQUl9NVEVfVENGX1NISUZUKQorKyNlbmRpZgorKyNpZm5k ZWYgUFJfTVRFX1RDRl9NQVNLCisgI2RlZmluZSBQUl9NVEVfVENGX01BU0sgKDNVTCA8PCBQUl9N VEVfVENGX1NISUZUKQorKyNlbmRpZgorKyNpZm5kZWYgUFJfTVRFX1RBR19TSElGVAorICNkZWZp bmUgUFJfTVRFX1RBR19TSElGVCAzCisrI2VuZGlmCisrI2lmbmRlZiBQUl9NVEVfVEFHX01BU0sK KyAjZGVmaW5lIFBSX01URV9UQUdfTUFTSyAoMHhmZmZmVUwgPDwgUFJfTVRFX1RBR19TSElGVCkK KyAjZW5kaWYKKyAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMTAtY2hyb21pdW0tZml4LW1pc3NpbmctVEVNUF9GQUlMVVJFX1JFVFJZLW1hY3JvLnBh dGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMC1jaHJvbWl1bS1maXgtbWlz c2luZy1URU1QX0ZBSUxVUkVfUkVUUlktbWFjcm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMDAwMDAwLi41NTU4YzU0Y2Y4MDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTEwLWNocm9taXVtLWZpeC1taXNzaW5nLVRFTVBf RkFJTFVSRV9SRVRSWS1tYWNyby5wYXRjaApAQCAtMCwwICsxLDIxIEBACitUaGlzIG1hY3JvIGlz IGRlZmluZWQgaW4gZ2xpYmMsIGJ1dCBub3QgbXVzbC4KKworLS0tIHF0Ni13ZWJlbmdpbmUtNi40 LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zdWlkL3Byb2Nlc3Nf dXRpbC5oCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2Fu ZGJveC9saW51eC9zdWlkL3Byb2Nlc3NfdXRpbC5oCitAQCAtMTIsNiArMTIsMTYgQEAKKyAjaW5j bHVkZSA8c3RkaW50Lmg+CisgI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorIAorKy8vIFNvbWUgYWRk aXRpb25hbCBmdW5jdGlvbnMKKysjaWYgIWRlZmluZWQoVEVNUF9GQUlMVVJFX1JFVFJZKQorKyMg ZGVmaW5lIFRFTVBfRkFJTFVSRV9SRVRSWShleHByZXNzaW9uKSBcCisrCShfX2V4dGVuc2lvbl9f CQkJXAorKwkgKHsgbG9uZyBpbnQgX19yZXN1bHQ7CQlcCisrCSAgZG8gX19yZXN1bHQgPSAobG9u ZyBpbnQpIChleHByZXNzaW9uKTsgXAorKwkgIHdoaWxlIChfX3Jlc3VsdCA9PSAtMUwgJiYgZXJy bm8gPT0gRUlOVFIpOyBcCisrCSAgX19yZXN1bHQ7IH0pKQorKyNlbmRpZgorKworIC8vIFRoaXMg YWRqdXN0cyAvcHJvYy9wcm9jZXNzL29vbV9zY29yZV9hZGogc28gdGhlIExpbnV4IE9PTSBraWxs ZXIKKyAvLyB3aWxsIHByZWZlciBjZXJ0YWluIHByb2Nlc3MgdHlwZXMgb3ZlciBvdGhlcnMuIFRo ZSByYW5nZSBmb3IgdGhlCisgLy8gYWRqdXN0bWVudCBpcyBbLTEwMDAsIDEwMDBdLCB3aXRoIFsw LCAxMDAwXSBiZWluZyB1c2VyIGFjY2Vzc2libGUuCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLWNzdGRpbnQucGF0Y2ggYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLWNzdGRpbnQucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mNTc4NzYyMWI1NzkKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTExLWNocm9taXVtLWNzdGRp bnQucGF0Y2gKQEAgLTAsMCArMSwxMCBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9z cmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L3RoaXJkX3BhcnR5L3F1aWNoZS9zcmMvcXVpY2hlL2h0 dHAyL2FkYXB0ZXIvd2luZG93X21hbmFnZXIuaAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL25ldC90aGlyZF9wYXJ0eS9xdWljaGUvc3JjL3F1aWNoZS9odHRw Mi9hZGFwdGVyL3dpbmRvd19tYW5hZ2VyLmgKK0BAIC0zLDYgKzMsNyBAQAorIAorICNpbmNsdWRl IDxzdGRkZWYuaD4KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rpb25h bD4KKyAKKyAjaW5jbHVkZSAicXVpY2hlL2NvbW1vbi9wbGF0Zm9ybS9hcGkvcXVpY2hlX2V4cG9y dC5oIgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMi1jaHJv bWl1bS11bmlzdGQuaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTItY2hyb21p dW0tdW5pc3RkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iYjI0 MmE4MDhhY2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMTEyLWNocm9taXVtLXVuaXN0ZC5oCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBhL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmgKKysrKyBi L3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxz LmgKK0BAIC0xMyw2ICsxMyw3IEBACisgCisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8 dmVjdG9yPgorKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyAKKyAjaW5jbHVkZSAic2FuZGJveC9saW51 eC9zeXN0ZW1faGVhZGVycy9jYXBhYmlsaXR5LmgiCisgI2luY2x1ZGUgInNhbmRib3gvc2FuZGJv eF9leHBvcnQuaCIKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAx MTMtY2hyb21pdW0tcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMTEzLWNocm9taXVtLXB0aHJlYWQtc3RhY2tzaXplLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMzg0ZmQwYWYxODZkCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExMy1jaHJvbWl1bS1wdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaApAQCAtMCwwICsxLDE2IEBACistLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90 aHJlYWRfbGludXguY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9iYXNlL3RocmVhZGluZy9wbGF0Zm9ybV90aHJlYWRfbGludXguY2MKK0BAIC00MzcsOCAr NDM3LDEzIEBAIHZvaWQgVGVybWluYXRlT25UaHJlYWQoKSB7fQorIAorIHNpemVfdCBHZXREZWZh dWx0VGhyZWFkU3RhY2tTaXplKGNvbnN0IHB0aHJlYWRfYXR0cl90JiBhdHRyaWJ1dGVzKSB7Cisg I2lmICFkZWZpbmVkKFRIUkVBRF9TQU5JVElaRVIpCisrI2lmIGRlZmluZWQoX19HTElCQ19fKQor ICAgcmV0dXJuIDA7CisgI2Vsc2UKKysgIC8vIG11c2wgbGliY3MgZGVmYXVsdCBpcyB0b28gc21h bGwsIHVzZSA4bWIgbGlrZSBnbGliYworKyAgcmV0dXJuICgxIDw8IDIzKTsKKysjZW5kaWYKKysj ZWxzZQorICAgLy8gVGhyZWFkU2FuaXRpemVyIGJsb2F0cyB0aGUgc3RhY2sgaGVhdmlseS4gRXZp ZGVuY2UgaGFzIGJlZW4gdGhhdCB0aGUKKyAgIC8vIGRlZmF1bHQgc3RhY2sgc2l6ZSBpc24ndCBl bm91Z2ggZm9yIHNvbWUgYnJvd3NlciB0ZXN0cy4KKyAgIHJldHVybiAyICogKDEgPDwgMjMpOyAg Ly8gMiB0aW1lcyA4MTkySyAodGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBvbiBMaW51eCkuCmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE0LWRvLW5vdC1uYXJyb3ct aW50LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExNC1kby1ub3QtbmFy cm93LWludC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjJj ZDZhMDczODJhYwotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRj aGVzLzAxMTQtZG8tbm90LW5hcnJvdy1pbnQucGF0Y2gKQEAgLTAsMCArMSw1MyBAQAorLS0tIHF0 Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9m aWxlX3V0aWxfbGludXguY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS9iYXNlL2ZpbGVzL2ZpbGVfdXRpbF9saW51eC5jYworQEAgLTIzLDE0ICsyMywxNCBA QCBib29sIEdldEZpbGVTeXN0ZW1UeXBlKGNvbnN0IEZpbGVQYXRoJiBwCisgCisgICAvLyBOb3Qg YWxsIHBvc3NpYmxlIHxzdGF0ZnNfYnVmLmZfdHlwZXwgdmFsdWVzIGFyZSBpbiBsaW51eC9tYWdp Yy5oLgorICAgLy8gTWlzc2luZyB2YWx1ZXMgYXJlIGNvcGllZCBmcm9tIHRoZSBzdGF0ZnMgbWFu IHBhZ2UuCistICBzd2l0Y2ggKHN0YXRmc19idWYuZl90eXBlKSB7CisrICBzd2l0Y2ggKHN0YXRp Y19jYXN0PHVpbnRtYXhfdD4oc3RhdGZzX2J1Zi5mX3R5cGUpKSB7CisgICAgIGNhc2UgMDoKKyAg ICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNXzA7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgRVhU Ml9TVVBFUl9NQUdJQzogIC8vIEFsc28gZXh0MyBhbmQgZXh0NAorICAgICBjYXNlIE1TRE9TX1NV UEVSX01BR0lDOgorICAgICBjYXNlIFJFSVNFUkZTX1NVUEVSX01BR0lDOgorLSAgICBjYXNlIHN0 YXRpY19jYXN0PGludD4oQlRSRlNfU1VQRVJfTUFHSUMpOgorKyAgICBjYXNlIEJUUkZTX1NVUEVS X01BR0lDOgorICAgICBjYXNlIDB4NTM0NjU0NEU6ICAvLyBOVEZTCisgICAgIGNhc2UgMHg1ODQ2 NTM0MjogIC8vIFhGUworICAgICBjYXNlIDB4MzE1MzQ2NEE6ICAvLyBKRlMKK0BAIC00MCwxNCAr NDAsMTQgQEAgYm9vbCBHZXRGaWxlU3lzdGVtVHlwZShjb25zdCBGaWxlUGF0aCYgcAorICAgICAg ICp0eXBlID0gRklMRV9TWVNURU1fTkZTOworICAgICAgIGJyZWFrOworICAgICBjYXNlIFNNQl9T VVBFUl9NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KDB4RkY1MzRENDIpOiAgLy8g Q0lGUworKyAgICBjYXNlIDB4RkY1MzRENDI6ICAvLyBDSUZTCisgICAgICAgKnR5cGUgPSBGSUxF X1NZU1RFTV9TTUI7CisgICAgICAgYnJlYWs7CisgICAgIGNhc2UgQ09EQV9TVVBFUl9NQUdJQzoK KyAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX0NPREE7CisgICAgICAgYnJlYWs7CistICAgIGNh c2Ugc3RhdGljX2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0YXRpY19j YXN0PGludD4oUkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKKysgICAg Y2FzZSBSQU1GU19NQUdJQzoKKyAgICAgY2FzZSBUTVBGU19NQUdJQzoKKyAgICAgICAqdHlwZSA9 IEZJTEVfU1lTVEVNX01FTU9SWTsKKyAgICAgICBicmVhazsKKy0tLSBxdDYtd2ViZW5naW5lLTYu NC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2Uvc3lzdGVtL3N5c19pbmZvX3Bvc2l4 LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9z eXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKK0BAIC0xMDAsMTAgKzEwMCwxMCBAQCBib29sIElzU3Rh dHNaZXJvSWZVbmxpbWl0ZWQoY29uc3QgYmFzZTo6CisgICBpZiAoSEFORExFX0VJTlRSKHN0YXRm cyhwYXRoLnZhbHVlKCkuY19zdHIoKSwgJnN0YXRzKSkgIT0gMCkKKyAgICAgcmV0dXJuIGZhbHNl OworIAorLSAgc3dpdGNoIChzdGF0cy5mX3R5cGUpIHsKKysgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8 dWludG1heF90PihzdGF0cy5mX3R5cGUpKSB7CisgICAgIGNhc2UgVE1QRlNfTUFHSUM6CistICAg IGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgorLSAgICBjYXNlIHN0YXRp Y19jYXN0PGludD4oUkFNRlNfTUFHSUMpOgorKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKKysg ICAgY2FzZSBSQU1GU19NQUdJQzoKKyAgICAgICByZXR1cm4gdHJ1ZTsKKyAgIH0KKyAgIHJldHVy biBmYWxzZTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTUt Y2hyb21pdW0tbm8tY2Fub25pY2FsaXplLWZpbGUtbmFtZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMTUtY2hyb21pdW0tbm8tY2Fub25pY2FsaXplLWZpbGUtbmFtZS5w YXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjU1Njc4NGIwMTNk ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMTUt Y2hyb21pdW0tbm8tY2Fub25pY2FsaXplLWZpbGUtbmFtZS5wYXRjaApAQCAtMCwwICsxLDEyIEBA CistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGly ZF9wYXJ0eS9uYXNtL2NvbmZpZy9jb25maWctbGludXguaAorKysrIHF0Ni13ZWJlbmdpbmUtNi40 LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L25hc20vY29uZmlnL2NvbmZpZy1s aW51eC5oCitAQCAtMTM5LDcgKzEzOSw5IEBACisgI2RlZmluZSBIQVZFX0FDQ0VTUyAxCisgCisg LyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjYW5vbmljYWxpemVfZmlsZV9uYW1lJyBm dW5jdGlvbi4gKi8KKysjaWZkZWYgX19HTElCQ19fCisgI2RlZmluZSBIQVZFX0NBTk9OSUNBTEla RV9GSUxFX05BTUUgMQorKyNlbmRpZgorIAorIC8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRo ZSBgY3B1X3RvX2xlMTYnIGludHJpbnNpYyBmdW5jdGlvbi4gKi8KKyAvKiAjdW5kZWYgSEFWRV9D UFVfVE9fTEUxNiAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDExNi1jaHJvbWl1bS1tdXNsLWdldC10aHJlYWQtbmFtZS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdl YmVuZ2luZS9wYXRjaGVzLzAxMTYtY2hyb21pdW0tbXVzbC1nZXQtdGhyZWFkLW5hbWUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNDg1Mzg1Y2JiNjIKLS0t IC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE2LWNocm9t aXVtLW11c2wtZ2V0LXRocmVhZC1uYW1lLnBhdGNoCkBAIC0wLDAgKzEsMjIgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L3Bl cmZldHRvL2luY2x1ZGUvcGVyZmV0dG8vZXh0L2Jhc2UvdGhyZWFkX3V0aWxzLmgKKysrKyBxdDYt d2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9wZXJmZXR0 by9pbmNsdWRlL3BlcmZldHRvL2V4dC9iYXNlL3RocmVhZF91dGlscy5oCitAQCAtMzAsNyArMzAs OCBAQAorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2VuZGlmCisgCistI2lmIFBFUkZFVFRPX0JV SUxERkxBRyhQRVJGRVRUT19PU19BTkRST0lEKQorKyNpZiBQRVJGRVRUT19CVUlMREZMQUcoUEVS RkVUVE9fT1NfQU5EUk9JRCkgfHwgXAorKyAgICAoUEVSRkVUVE9fQlVJTERGTEFHKFBFUkZFVFRP X09TX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorICNpbmNsdWRlIDxzeXMvcHJjdGwu aD4KKyAjZW5kaWYKKyAKK0BAIC01OCw3ICs1OSw4IEBAIGlubGluZSBib29sIE1heWJlU2V0VGhy ZWFkTmFtZShjb25zdCBzdGQKKyAKKyBpbmxpbmUgYm9vbCBHZXRUaHJlYWROYW1lKHN0ZDo6c3Ry aW5nJiBvdXRfcmVzdWx0KSB7CisgICBjaGFyIGJ1ZlsxNl0gPSB7fTsKKy0jaWYgUEVSRkVUVE9f QlVJTERGTEFHKFBFUkZFVFRPX09TX0FORFJPSUQpCisrI2lmIFBFUkZFVFRPX0JVSUxERkxBRyhQ RVJGRVRUT19PU19BTkRST0lEKSB8fCBcCisrICAgIChQRVJGRVRUT19CVUlMREZMQUcoUEVSRkVU VE9fT1NfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgICBpZiAocHJjdGwoUFJfR0VU X05BTUUsIGJ1ZikgIT0gMCkKKyAgICAgcmV0dXJuIGZhbHNlOworICNlbHNlCmRpZmYgLS1naXQg YS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2 ZXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTE3LWNocm9taXVtLW11 c2wtcmVzb2x2ZXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li4xNzY1MjRhZGMwODMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMTE3LWNocm9taXVtLW11c2wtcmVzb2x2ZXIucGF0Y2gKQEAgLTAsMCArMSw2NCBA QAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0 L2Rucy9wdWJsaWMvc2NvcGVkX3Jlc19zdGF0ZS5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIv c3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvcHVibGljL3Njb3BlZF9yZXNfc3RhdGUuY2MK K0BAIC0xMyw3ICsxMyw3IEBACisgbmFtZXNwYWNlIG5ldCB7CisgCisgU2NvcGVkUmVzU3RhdGU6 OlNjb3BlZFJlc1N0YXRlKCkgeworLSNpZiBCVUlMREZMQUcoSVNfT1BFTkJTRCkgfHwgQlVJTERG TEFHKElTX0ZVQ0hTSUEpCisrI2lmIEJVSUxERkxBRyhJU19PUEVOQlNEKSB8fCBCVUlMREZMQUco SVNfRlVDSFNJQSkgfHwgKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19f KSkKKyAgIC8vIE5vdGU6IHJlc19uaW5pdCBpbiBnbGliYyBhbHdheXMgcmV0dXJucyAwIGFuZCBz ZXRzIFJFU19JTklULgorICAgLy8gcmVzX2luaXQgYmVoYXZlcyB0aGUgc2FtZSB3YXkuCisgICBt ZW1zZXQoJl9yZXMsIDAsIHNpemVvZihfcmVzKSk7CitAQCAtMjUsNyArMjUsNyBAQCBTY29wZWRS ZXNTdGF0ZTo6U2NvcGVkUmVzU3RhdGUoKSB7CisgfQorIAorIFNjb3BlZFJlc1N0YXRlOjp+U2Nv cGVkUmVzU3RhdGUoKSB7CistI2lmICFCVUlMREZMQUcoSVNfT1BFTkJTRCkgJiYgIUJVSUxERkxB RyhJU19GVUNIU0lBKQorKyNpZiAhQlVJTERGTEFHKElTX09QRU5CU0QpICYmICFCVUlMREZMQUco SVNfRlVDSFNJQSkgJiYgIShCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNf XykpCisgCisgICAvLyBQcmVmZXIgcmVzX25kZXN0cm95IHdoZXJlIGF2YWlsYWJsZS4KKyAjaWYg QlVJTERGTEFHKElTX0FQUExFKSB8fCBCVUlMREZMQUcoSVNfRlJFRUJTRCkKK0BAIC0zNCw3ICsz NCw3IEBAIFNjb3BlZFJlc1N0YXRlOjp+U2NvcGVkUmVzU3RhdGUoKSB7CisgICByZXNfbmNsb3Nl KCZyZXNfKTsKKyAjZW5kaWYgIC8vIEJVSUxERkxBRyhJU19BUFBMRSkgfHwgQlVJTERGTEFHKElT X0ZSRUVCU0QpCisgCistI2VuZGlmICAvLyAhQlVJTERGTEFHKElTX09QRU5CU0QpICYmICFCVUlM REZMQUcoSVNfRlVDSFNJQSkKKysjZW5kaWYgIC8vICFCVUlMREZMQUcoSVNfT1BFTkJTRCkgJiYg IUJVSUxERkxBRyhJU19GVUNIU0lBKSAmJiAhKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgIWRlZmlu ZWQoX19HTElCQ19fKSkKKyB9CisgCisgYm9vbCBTY29wZWRSZXNTdGF0ZTo6SXNWYWxpZCgpIGNv bnN0IHsKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9tYW5hZ2VyLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQu Mi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX21hbmFnZXIuY2MK K0BAIC0zMTU4LDcgKzMxNTgsNyBAQCBIb3N0UmVzb2x2ZXJNYW5hZ2VyOjpIb3N0UmVzb2x2ZXJN YW5hZ2VyCisgICBpZiAoc3lzdGVtX2Ruc19jb25maWdfbm90aWZpZXJfKQorICAgICBzeXN0ZW1f ZG5zX2NvbmZpZ19ub3RpZmllcl8tPkFkZE9ic2VydmVyKHRoaXMpOworICNpZiBCVUlMREZMQUco SVNfUE9TSVgpICYmICFCVUlMREZMQUcoSVNfQVBQTEUpICYmICFCVUlMREZMQUcoSVNfT1BFTkJT RCkgJiYgXAorLSAgICAhQlVJTERGTEFHKElTX0FORFJPSUQpCisrICAgICFCVUlMREZMQUcoSVNf QU5EUk9JRCkgJiYgIShCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykp CisgICBFbnN1cmVEbnNSZWxvYWRlckluaXQoKTsKKyAjZW5kaWYKKyAKKy0tLSBxdDYtd2ViZW5n aW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL25ldC9kbnMvZG5zX3JlbG9hZGVy LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Ru cy9kbnNfcmVsb2FkZXIuY2MKK0BAIC03LDcgKzcsOCBAQAorICNpbmNsdWRlICJidWlsZC9idWls ZF9jb25maWcuaCIKKyAKKyAjaWYgQlVJTERGTEFHKElTX1BPU0lYKSAmJiAhQlVJTERGTEFHKElT X0FQUExFKSAmJiAhQlVJTERGTEFHKElTX09QRU5CU0QpICYmIFwKKy0gICAgIUJVSUxERkxBRyhJ U19BTkRST0lEKSAmJiAhQlVJTERGTEFHKElTX0ZVQ0hTSUEpCisrICAgICFCVUlMREZMQUcoSVNf QU5EUk9JRCkgJiYgIUJVSUxERkxBRyhJU19GVUNIU0lBKSAmJiBcCisrICAgICEoQlVJTERGTEFH KElTX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKQorIAorICNpbmNsdWRlIDxyZXNvbHYu aD4KKyAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVt L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9wcm9jLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9z cmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L2Rucy9ob3N0X3Jlc29sdmVyX3Byb2MuY2MKK0BAIC0x OTIsNyArMTkyLDggQEAgaW50IFN5c3RlbUhvc3RSZXNvbHZlckNhbGwoY29uc3Qgc3RkOjpzdAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhc2U6OkJs b2NraW5nVHlwZTo6V0lMTF9CTE9DSyk7CisgCisgI2lmIEJVSUxERkxBRyhJU19QT1NJWCkgJiYg XAorLSAgICAhKEJVSUxERkxBRyhJU19BUFBMRSkgfHwgQlVJTERGTEFHKElTX09QRU5CU0QpIHx8 IEJVSUxERkxBRyhJU19BTkRST0lEKSkKKysgICAgIShCVUlMREZMQUcoSVNfQVBQTEUpIHx8IEJV SUxERkxBRyhJU19PUEVOQlNEKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkgfHwgXAorKyAgICAo QlVJTERGTEFHKElTX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dMSUJDX18pKSkKKyAgIERuc1JlbG9h ZGVyTWF5YmVSZWxvYWQoKTsKKyAjZW5kaWYKKyAgIGF1dG8gW2FpLCBlcnIsIG9zX2Vycm9yXSA9 IEFkZHJlc3NJbmZvOjpHZXQoaG9zdCwgaGludHMsIG51bGxwdHIsIG5ldHdvcmspOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExOS1jaHJvbWl1bS1tdXNsLXN0 YWNrLXV0aWxzLnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDExOS1jaHJv bWl1bS1tdXNsLXN0YWNrLXV0aWxzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uNTQ4YTFkZWM3NmI0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYt d2ViZW5naW5lL3BhdGNoZXMvMDExOS1jaHJvbWl1bS1tdXNsLXN0YWNrLXV0aWxzLnBhdGNoCkBA IC0wLDAgKzEsMjAgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5 L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi9zdGFja191 dGlsLmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL3N0YWNrX3V0aWwuY2MKK0BAIC0y OSw3ICsyOSw3IEBAIHNpemVfdCBHZXRVbmRlcmVzdGltYXRlZFN0YWNrU2l6ZSgpIHsKKyAvLyBG SVhNRTogT24gTWFjIE9TWCBhbmQgTGludXgsIHRoaXMgbWV0aG9kIGNhbm5vdCBlc3RpbWF0ZSBz dGFjayBzaXplCisgLy8gY29ycmVjdGx5IGZvciB0aGUgbWFpbiB0aHJlYWQuCisgCistI2VsaWYg ZGVmaW5lZChfX0dMSUJDX18pIHx8IEJVSUxERkxBRyhJU19BTkRST0lEKSB8fCBCVUlMREZMQUco SVNfRlJFRUJTRCkgfHwgXAorKyNlbGlmIEJVSUxERkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFH KElTX0FORFJPSUQpIHx8IEJVSUxERkxBRyhJU19GUkVFQlNEKSB8fCBcCisgICAgIEJVSUxERkxB RyhJU19GVUNIU0lBKQorICAgLy8gcHRocmVhZF9nZXRhdHRyX25wKCkgY2FuIGZhaWwgaWYgdGhl IHRocmVhZCBpcyBub3QgaW52b2tlZCBieQorICAgLy8gcHRocmVhZF9jcmVhdGUoKSAoZS5nLiwg dGhlIG1haW4gdGhyZWFkIG9mIGJsaW5rX3VuaXR0ZXN0cykuCitAQCAtOTcsNyArOTcsNyBAQCBz aXplX3QgR2V0VW5kZXJlc3RpbWF0ZWRTdGFja1NpemUoKSB7CisgfQorIAorIHZvaWQqIEdldFN0 YWNrU3RhcnQoKSB7CistI2lmIGRlZmluZWQoX19HTElCQ19fKSB8fCBCVUlMREZMQUcoSVNfQU5E Uk9JRCkgfHwgQlVJTERGTEFHKElTX0ZSRUVCU0QpIHx8IFwKKysjaWYgQlVJTERGTEFHKElTX0xJ TlVYKSB8fCBCVUlMREZMQUcoSVNfQU5EUk9JRCkgfHwgQlVJTERGTEFHKElTX0ZSRUVCU0QpIHx8 IFwKKyAgICAgQlVJTERGTEFHKElTX0ZVQ0hTSUEpCisgICBwdGhyZWFkX2F0dHJfdCBhdHRyOwor ICAgaW50IGVycm9yOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEyMC1jaHJvbWl1bS1saWJjLW1hbGxvYy5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAxMjAtY2hyb21pdW0tbGliYy1tYWxsb2MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5mYTMyODMwNzYwY2QKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIwLWNocm9taXVtLWxpYmMtbWFsbG9jLnBh dGNoCkBAIC0wLDAgKzEsMzQgQEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2Jhc2UvcHJvY2Vzcy9tZW1vcnlfbGludXguY2MKKysrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nlc3MvbWVtb3J5X2xp bnV4LmNjCitAQCAtMTgsNiArMTgsMTMgQEAKKyAjaW5jbHVkZSAiYmFzZS90aHJlYWRpbmcvdGhy ZWFkX3Jlc3RyaWN0aW9ucy5oIgorICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKKyAK KysjaWYgZGVmaW5lZChMSUJDX0dMSUJDKQorK2V4dGVybiAiQyIgeworK2V4dGVybiB2b2lkICpf X2xpYmNfbWFsbG9jKHNpemVfdCBzaXplKTsKKytleHRlcm4gdm9pZCAqX19saWJjX2ZyZWUodm9p ZCAqcHRyKTsKKyt9CisrI2VuZGlmCisrCisgbmFtZXNwYWNlIGJhc2UgeworIAorIG5hbWVzcGFj ZSB7CitAQCAtMTEyLDcgKzExOSw3IEBAIGJvb2wgVW5jaGVja2VkTWFsbG9jKHNpemVfdCBzaXpl LCB2b2lkKioKKyAgICAgZGVmaW5lZChUT09MS0lUX1FUKSB8fCAhZGVmaW5lZChMSUJDX0dMSUJD KQorICAgKnJlc3VsdCA9IG1hbGxvYyhzaXplKTsKKyAjZWxpZiBkZWZpbmVkKExJQkNfR0xJQkMp CistICAqcmVzdWx0ID0gX19saWJjX21hbGxvYyhzaXplKTsKKysgICpyZXN1bHQgPSA6Ol9fbGli Y19tYWxsb2Moc2l6ZSk7CisgI2VuZGlmCisgICByZXR1cm4gKnJlc3VsdCAhPSBudWxscHRyOwor IH0KK0BAIC0xMjMsNyArMTMwLDcgQEAgdm9pZCBVbmNoZWNrZWRGcmVlKHZvaWQqIHB0cikgewor ICNlbGlmIGRlZmluZWQoTUVNT1JZX1RPT0xfUkVQTEFDRVNfQUxMT0NBVE9SKSB8fCAhZGVmaW5l ZChMSUJDX0dMSUJDKSB8fCBkZWZpbmVkKFRPT0xLSVRfUVQpCisgICBmcmVlKHB0cik7CisgI2Vs aWYgZGVmaW5lZChMSUJDX0dMSUJDKQorLSAgX19saWJjX2ZyZWUocHRyKTsKKysgIDo6X19saWJj X2ZyZWUocHRyKTsKKyAjZW5kaWYKKyB9CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJl bmdpbmUvcGF0Y2hlcy8wMTIxLWNocm9taXVtLW11c2wtc3RhdC5wYXRjaCBiL3NyY3BrZ3MvcXQ2 LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjEtY2hyb21pdW0tbXVzbC1zdGF0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uOGM4YzRiODYzYjY0Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMS1jaHJvbWl1bS1tdXNs LXN0YXQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3Jp Zy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFzZS9maWxlcy9maWxlLmgKKysrKyBxdDYtd2ViZW5n aW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL2ZpbGVzL2ZpbGUuaAorQEAgLTE5 LDcgKzE5LDggQEAKKyAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCisgCisgI2lmIEJV SUxERkxBRyhJU19CU0QpIHx8IEJVSUxERkxBRyhJU19BUFBMRSkgfHwgQlVJTERGTEFHKElTX05B Q0wpIHx8IFwKKy0gICAgQlVJTERGTEFHKElTX0ZVQ0hTSUEpIHx8IChCVUlMREZMQUcoSVNfQU5E Uk9JRCkgJiYgX19BTkRST0lEX0FQSV9fIDwgMjEpCisrICAgIEJVSUxERkxBRyhJU19GVUNIU0lB KSB8fCAoQlVJTERGTEFHKElTX0FORFJPSUQpICYmIF9fQU5EUk9JRF9BUElfXyA8IDIxKSB8fCBc CisrICAgIChCVUlMREZMQUcoSVNfTElOVVgpICYmICFkZWZpbmVkKF9fR0xJQkNfXykpCisgc3Ry dWN0IHN0YXQ7CisgbmFtZXNwYWNlIGJhc2UgeworIHR5cGVkZWYgc3RydWN0IHN0YXQgc3RhdF93 cmFwcGVyX3Q7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIy LWNocm9taXVtLWNvbmRpdGlvbl92YXIucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0 Y2hlcy8wMTIyLWNocm9taXVtLWNvbmRpdGlvbl92YXIucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwMDAwLi42YzQxMzEyZTUxNmIKLS0tIC9kZXYvbnVsbAorKysgYi9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIyLWNocm9taXVtLWNvbmRpdGlvbl92YXIu cGF0Y2gKQEAgLTAsMCArMSwyMiBAQAorVXNlIG1vbm90b25pYyBjbG9jayBmb3IgcHRocmVhZF9j b25kX3RpbWVkd2FpdCB3aXRoIG11c2wgdG9vLgorCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9jb25kaXRpb24t dmFyaWFibGUuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS92OC9zcmMvYmFzZS9wbGF0Zm9ybS9jb25kaXRpb24tdmFyaWFibGUuY2MKK0BAIC0yMCw3ICsy MCw3IEBAIG5hbWVzcGFjZSBiYXNlIHsKKyAKKyBDb25kaXRpb25WYXJpYWJsZTo6Q29uZGl0aW9u VmFyaWFibGUoKSB7CisgI2lmIChWOF9PU19GUkVFQlNEIHx8IFY4X09TX05FVEJTRCB8fCBWOF9P U19PUEVOQlNEIHx8IFwKKy0gICAgIChWOF9PU19MSU5VWCAmJiBWOF9MSUJDX0dMSUJDKSkKKysg ICAgIFY4X09TX0xJTlVYKQorICAgLy8gT24gRnJlZS9OZXQvT3BlbkJTRCBhbmQgTGludXggd2l0 aCBnbGliYyB3ZSBjYW4gY2hhbmdlIHRoZSB0aW1lCisgICAvLyBzb3VyY2UgZm9yIHB0aHJlYWRf Y29uZF90aW1lZHdhaXQoKSB0byB1c2UgdGhlIG1vbm90b25pYyBjbG9jay4KKyAgIHB0aHJlYWRf Y29uZGF0dHJfdCBhdHRyOworQEAgLTk2LDcgKzk2LDcgQEAgYm9vbCBDb25kaXRpb25WYXJpYWJs ZTo6V2FpdEZvcihNdXRleCogbQorICAgICAgICZuYXRpdmVfaGFuZGxlXywgJm11dGV4LT5uYXRp dmVfaGFuZGxlKCksICZ0cyk7CisgI2Vsc2UKKyAjaWYgKFY4X09TX0ZSRUVCU0QgfHwgVjhfT1Nf TkVUQlNEIHx8IFY4X09TX09QRU5CU0QgfHwgXAorLSAgICAgKFY4X09TX0xJTlVYICYmIFY4X0xJ QkNfR0xJQkMpKQorKyAgICAgVjhfT1NfTElOVVgpCisgICAvLyBPbiBGcmVlL05ldC9PcGVuQlNE IGFuZCBMaW51eCB3aXRoIGdsaWJjIHdlIGNhbiBjaGFuZ2UgdGhlIHRpbWUKKyAgIC8vIHNvdXJj ZSBmb3IgcHRocmVhZF9jb25kX3RpbWVkd2FpdCgpIHRvIHVzZSB0aGUgbW9ub3RvbmljIGNsb2Nr LgorICAgcmVzdWx0ID0gY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cyk7CmRpZmYg LS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIzLWNocm9taXVtLW11c2wt bm8tZXhlY2luZm8ucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIzLWNo cm9taXVtLW11c2wtbm8tZXhlY2luZm8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAwLi4yNWZhZTdiZGUxMTIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0 Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIzLWNocm9taXVtLW11c2wtbm8tZXhlY2luZm8ucGF0Y2gK QEAgLTAsMCArMSw3NSBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFy dHkvY2hyb21pdW0vYmFzZS9kZWJ1Zy9zdGFja190cmFjZV9wb3NpeC5jYworKysrIHF0Ni13ZWJl bmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2Vf cG9zaXguY2MKK0BAIC0zMCw3ICszMCw3IEBACisgI2lmICFkZWZpbmVkKFVTRV9TWU1CT0xJWkUp CisgI2luY2x1ZGUgPGN4eGFiaS5oPgorICNlbmRpZgorLSNpZiAhZGVmaW5lZChfX1VDTElCQ19f KSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQo X0FJWCkKKyAjaW5jbHVkZSA8ZXhlY2luZm8uaD4KKyAjZW5kaWYKKyAKK0BAIC05Nyw3ICs5Nyw3 IEBAIHZvaWQgRGVtYW5nbGVTeW1ib2xzKHN0ZDo6c3RyaW5nKiB0ZXh0KQorICAgLy8gTm90ZTog Y29kZSBpbiB0aGlzIGZ1bmN0aW9uIGlzIE5PVCBhc3luYy1zaWduYWwgc2FmZSAoc3RkOjpzdHJp bmcgdXNlcworICAgLy8gbWFsbG9jIGludGVybmFsbHkpLgorIAorLSNpZiAhZGVmaW5lZChfX1VD TElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRl ZmluZWQoX0FJWCkKKyAgIHN0ZDo6c3RyaW5nOjpzaXplX3R5cGUgc2VhcmNoX2Zyb20gPSAwOwor ICAgd2hpbGUgKHNlYXJjaF9mcm9tIDwgdGV4dC0+c2l6ZSgpKSB7CisgICAgIC8vIExvb2sgZm9y IHRoZSBzdGFydCBvZiBhIG1hbmdsZWQgc3ltYm9sLCBmcm9tIHNlYXJjaF9mcm9tLgorQEAgLTE0 NCw3ICsxNDQsNyBAQCBjbGFzcyBCYWNrdHJhY2VPdXRwdXRIYW5kbGVyIHsKKyAgIHZpcnR1YWwg fkJhY2t0cmFjZU91dHB1dEhhbmRsZXIoKSA9IGRlZmF1bHQ7CisgfTsKKyAKKy0jaWYgIWRlZmlu ZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYgZGVmaW5lZChfX0dMSUJDX18p ICYmICFkZWZpbmVkKF9BSVgpCisgdm9pZCBPdXRwdXRQb2ludGVyKHZvaWQqIHBvaW50ZXIsIEJh Y2t0cmFjZU91dHB1dEhhbmRsZXIqIGhhbmRsZXIpIHsKKyAgIC8vIFRoaXMgc2hvdWxkIGJlIG1v cmUgdGhhbiBlbm91Z2ggdG8gc3RvcmUgYSA2NC1iaXQgbnVtYmVyIGluIGhleDoKKyAgIC8vIDE2 IGhleCBkaWdpdHMgKyAxIGZvciBudWxsLXRlcm1pbmF0b3IuCitAQCAtODY4LDcgKzg2OCw3IEBA IHNpemVfdCBDb2xsZWN0U3RhY2tUcmFjZSh2b2lkKiogdHJhY2UsIHMKKyAgIC8vIElmIHdlIGRv IG5vdCBoYXZlIHVud2luZCB0YWJsZXMsIHRoZW4gdHJ5IHRyYWNpbmcgdXNpbmcgZnJhbWUgcG9p bnRlcnMuCisgICByZXR1cm4gYmFzZTo6ZGVidWc6OlRyYWNlU3RhY2tGcmFtZVBvaW50ZXJzKGNv bnN0X2Nhc3Q8Y29uc3Qgdm9pZCoqPih0cmFjZSksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvdW50LCAwKTsKKy0jZWxpZiAhZGVmaW5lZChfX1VDTElC Q19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVm aW5lZChfQUlYKQorICAgLy8gVGhvdWdoIHRoZSBiYWNrdHJhY2UgQVBJIG1hbiBwYWdlIGRvZXMg bm90IGxpc3QgYW55IHBvc3NpYmxlIG5lZ2F0aXZlCisgICAvLyByZXR1cm4gdmFsdWVzLCB3ZSB0 YWtlIG5vIGNoYW5jZS4KKyAgIHJldHVybiBiYXNlOjpzYXR1cmF0ZWRfY2FzdDxzaXplX3Q+KGJh Y2t0cmFjZSh0cmFjZSwgY291bnQpKTsKK0BAIC04ODEsMTMgKzg4MSwxMyBAQCB2b2lkIFN0YWNr VHJhY2U6OlByaW50V2l0aFByZWZpeChjb25zdCBjCisgLy8gTk9URTogVGhpcyBjb2RlIE1VU1Qg YmUgYXN5bmMtc2lnbmFsIHNhZmUgKGl0J3MgdXNlZCBieSBpbi1wcm9jZXNzCisgLy8gc3RhY2sg ZHVtcGluZyBzaWduYWwgaGFuZGxlcikuIE5PIG1hbGxvYyBvciBzdGRpbyBpcyBhbGxvd2VkIGhl cmUuCisgCistI2lmICFkZWZpbmVkKF9fVUNMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisrI2lm IGRlZmluZWQoX19HTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorICAgUHJpbnRCYWNrdHJhY2VP dXRwdXRIYW5kbGVyIGhhbmRsZXI7CisgICBQcm9jZXNzQmFja3RyYWNlKHRyYWNlXywgY291bnRf LCBwcmVmaXhfc3RyaW5nLCAmaGFuZGxlcik7CisgI2VuZGlmCisgfQorIAorLSNpZiAhZGVmaW5l ZChfX1VDTElCQ19fKSAmJiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykg JiYgIWRlZmluZWQoX0FJWCkKKyB2b2lkIFN0YWNrVHJhY2U6Ok91dHB1dFRvU3RyZWFtV2l0aFBy ZWZpeChzdGQ6Om9zdHJlYW0qIG9zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIFN0cmVhbUJh Y2t0cmFjZU91dHB1dEhhbmRsZXIgaGFuZGxlcihvcyk7CistLS0gcXQ2LXdlYmVuZ2luZS02LjQu Mi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZl cmVuY2UtdGFibGUuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS92OC9zcmMvY29kZWdlbi9leHRlcm5hbC1yZWZlcmVuY2UtdGFibGUuY2MKK0BAIC0xMiw3 ICsxMiw5IEBACisgCisgI2lmIGRlZmluZWQoREVCVUcpICYmIGRlZmluZWQoVjhfT1NfTElOVVgp ICYmICFkZWZpbmVkKFY4X09TX0FORFJPSUQpCisgI2RlZmluZSBTWU1CT0xJWkVfRlVOQ1RJT04K KysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgI2luY2x1ZGUgPGV4ZWNpbmZvLmg+CisrI2VuZGlm CisgCisgI2luY2x1ZGUgPHZlY3Rvcj4KKyAKK0BAIC0xMDMsNyArMTA1LDcgQEAgdm9pZCBFeHRl cm5hbFJlZmVyZW5jZVRhYmxlOjpJbml0KElzb2xhdAorIH0KKyAKKyBjb25zdCBjaGFyKiBFeHRl cm5hbFJlZmVyZW5jZVRhYmxlOjpSZXNvbHZlU3ltYm9sKHZvaWQqIGFkZHJlc3MpIHsKKy0jaWZk ZWYgU1lNQk9MSVpFX0ZVTkNUSU9OCisrI2lmIGRlZmluZWQoU1lNQk9MSVpFX0ZVTkNUSU9OKSAm JiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIGNoYXIqKiBuYW1lcyA9IGJhY2t0cmFjZV9zeW1ib2xz KCZhZGRyZXNzLCAxKTsKKyAgIGNvbnN0IGNoYXIqIG5hbWUgPSBuYW1lc1swXTsKKyAgIC8vIFRo ZSBhcnJheSBvZiBuYW1lcyBpcyBtYWxsb2MnZWQuIEhvd2V2ZXIsIGVhY2ggbmFtZSBzdHJpbmcg aXMgc3RhdGljCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTIz LWNocm9taXVtLW11c2wtbm8tZ2V0Y29udGV4dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2lu ZS9wYXRjaGVzLzAxMjMtY2hyb21pdW0tbXVzbC1uby1nZXRjb250ZXh0LnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDY1MjJlZTBhMDY2Ci0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyMy1jaHJvbWl1bS1tdXNs LW5vLWdldGNvbnRleHQucGF0Y2gKQEAgLTAsMCArMSwyNyBAQAorLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyLmNjCisrKysg cXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVy LmNjCitAQCAtNDkwLDcgKzQ5MCw5IEBAIGJvb2wgRXhjZXB0aW9uSGFuZGxlcjo6U2ltdWxhdGVT aWduYWxEZWwKKyAgIHNpZ2luZm8uc2lfY29kZSA9IFNJX1VTRVI7CisgICBzaWdpbmZvLnNpX3Bp ZCA9IGdldHBpZCgpOworICAgdWNvbnRleHRfdCBjb250ZXh0OworKyNpZiBkZWZpbmVkKF9fR0xJ QkNfXykKKyAgIGdldGNvbnRleHQoJmNvbnRleHQpOworKyNlbmRpZgorICAgcmV0dXJuIEhhbmRs ZVNpZ25hbChzaWcsICZzaWdpbmZvLCAmY29udGV4dCk7CisgfQorIAorQEAgLTY3NSw5ICs2Nzcs MTQgQEAgYm9vbCBFeGNlcHRpb25IYW5kbGVyOjpXcml0ZU1pbmlkdW1wKCkgeworICAgc3lzX3By Y3RsKFBSX1NFVF9EVU1QQUJMRSwgMSwgMCwgMCwgMCk7CisgCisgICBDcmFzaENvbnRleHQgY29u dGV4dDsKKysKKysjaWYgZGVmaW5lZChfX0dMSUJDX18pCisgICBpbnQgZ2V0Y29udGV4dF9yZXN1 bHQgPSBnZXRjb250ZXh0KCZjb250ZXh0LmNvbnRleHQpOworICAgaWYgKGdldGNvbnRleHRfcmVz dWx0KQorICAgICByZXR1cm4gZmFsc2U7CisrI2Vsc2UKKysgIHJldHVybiBmYWxzZTsKKysjZW5k aWYKKyAKKyAjaWYgZGVmaW5lZChfX2kzODZfXykKKyAgIC8vIEluIENQVUZpbGxGcm9tVUNvbnRl eHQgaW4gbWluaWR1bXB3cml0ZXIuY2MgdGhlIHN0YWNrIHBvaW50ZXIgaXMgcmV0cmlldmVkCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI0LWNocm9taXVtLWVu YWJsZS1pNjg2LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNC1jaHJv bWl1bS1lbmFibGUtaTY4Ni5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjExZDhkZTdjMjNmOAotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzAxMjQtY2hyb21pdW0tZW5hYmxlLWk2ODYucGF0Y2gKQEAgLTAsMCArMSwx NyBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0v QlVJTEQuZ24KKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9C VUlMRC5nbgorQEAgLTE1MzcsMTQgKzE1MzcsNiBAQCBpZiAoIWlzX2lvcyAmJiAhdXNlX3F0KSB7 CisgICB9CisgfQorIAorLSMgVE9ETyhjYXNzZXcpOiBBZGQgbW9yZSBPUydzIHRoYXQgZG9uJ3Qg c3VwcG9ydCB4ODYuCistaXNfdmFsaWRfeDg2X3RhcmdldCA9CistICAgIHRhcmdldF9vcyAhPSAi aW9zIiAmJiB0YXJnZXRfb3MgIT0gIm1hYyIgJiYKKy0gICAgKHRhcmdldF9vcyAhPSAibGludXgi IHx8IHVzZV9saWJmdXp6ZXIgfHwgIWJ1aWxkX3dpdGhfY2hyb21pdW0pCistYXNzZXJ0KAorLSAg ICBpc192YWxpZF94ODZfdGFyZ2V0IHx8IHRhcmdldF9jcHUgIT0gIng4NiIsCistICAgICIndGFy Z2V0X2NwdT14ODYnIGlzIG5vdCBzdXBwb3J0ZWQgZm9yICd0YXJnZXRfb3M9JHRhcmdldF9vcycu IENvbnNpZGVyIG9taXR0aW5nICd0YXJnZXRfY3B1JyAoZGVmYXVsdCkgb3IgdXNpbmcgJ3Rhcmdl dF9jcHU9eDY0JyBpbnN0ZWFkLiIpCistCisgZ3JvdXAoImNocm9taXVtX2J1aWxkZXJfcGVyZiIp IHsKKyAgIHRlc3Rvbmx5ID0gdHJ1ZQorIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEyNS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoIGIvc3Jj cGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmlu YXJ5LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uMTE1ZTQ0 OTJhMmJlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMv MDEyNS1jaHJvbWl1bS1yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCkBAIC0wLDAgKzEsMzIgQEAK Ky0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Nocm9t ZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3Jj LzNyZHBhcnR5L2Nocm9taXVtL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbgorQEAg LTMzNSwxMSArMzM1LDcgQEAgc291cmNlX3NldCgibGliIikgeworICAgfQorIH0KKyAKKy1pZiAo aXNfbGludXgpIHsKKy0gIGNocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJpdmVyLnVuc3Ry aXBwZWQiCistfSBlbHNlIHsKKy0gIGNocm9tZWRyaXZlcl9vdXRwdXQgPSAiY2hyb21lZHJpdmVy IgorLX0KKytjaHJvbWVkcml2ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKKyAKKyBleGVjdXRh YmxlKCIkY2hyb21lZHJpdmVyX291dHB1dCIpIHsKKyAgIHRlc3Rvbmx5ID0gdHJ1ZQorQEAgLTM2 MSwxNiArMzU3LDYgQEAgZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7CisgICB9 CisgfQorIAorLWlmIChpc19saW51eCkgeworLSAgc3RyaXBfYmluYXJ5KCJjaHJvbWVkcml2ZXIi KSB7CistICAgIHRlc3Rvbmx5ID0gdHJ1ZQorLSAgICBiaW5hcnlfaW5wdXQgPSAiJHJvb3Rfb3V0 X2Rpci8kY2hyb21lZHJpdmVyX291dHB1dCIKKy0gICAgc3ltYm9sX291dHB1dCA9ICIkcm9vdF9v dXRfZGlyL2Nocm9tZWRyaXZlci5kZWJ1ZyIKKy0gICAgc3RyaXBwZWRfYmluYXJ5X291dHB1dCA9 ICIkcm9vdF9vdXRfZGlyL2Nocm9tZWRyaXZlciIKKy0gICAgZGVwcyA9IFsgIjokY2hyb21lZHJp dmVyX291dHB1dCIgXQorLSAgfQorLX0KKy0KKyBweXRob25fbGlicmFyeSgiY2hyb21lZHJpdmVy X3B5X3Rlc3RzIikgeworICAgdGVzdG9ubHkgPSB0cnVlCisgICBkZXBzID0gWwpkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyNi1jaHJvbWl1bS1uby1jZGVmcy5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjYtY2hyb21pdW0tbm8tY2Rl ZnMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi45MGZhYTNk NjY0ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTI2LWNocm9taXVtLW5vLWNkZWZzLnBhdGNoCkBAIC0wLDAgKzEsMzkgQEAKKy0tLSBxdDYtd2Vi ZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMvcHRyYWNlLmgKKysrKyBxdDYtd2ViZW5naW5l LTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9jb21wYXQvbGludXgvc3lzL3B0cmFjZS5oCitAQCAtMTcsOCArMTcsNiBAQAorIAorICNpbmNs dWRlX25leHQgPHN5cy9wdHJhY2UuaD4KKyAKKy0jaW5jbHVkZSA8c3lzL2NkZWZzLmg+CistCisg Ly8gaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjI0MzMK KyAjaWYgIWRlZmluZWQoUFRSQUNFX0dFVF9USFJFQURfQVJFQSkgJiYgIWRlZmluZWQoUFRfR0VU X1RIUkVBRF9BUkVBKSAmJiBcCisgICAgIGRlZmluZWQoX19HTElCQ19fKQorLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvbGlic3lu Yy9zcmMvaW5jbHVkZS9zeW5jL3N5bmMuaAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2xpYnN5bmMvc3JjL2luY2x1ZGUvc3luYy9zeW5j LmgKK0BAIC0xOSwxMiArMTksMTMgQEAKKyAjaWZuZGVmIF9fU1lTX0NPUkVfU1lOQ19ICisgI2Rl ZmluZSBfX1NZU19DT1JFX1NZTkNfSAorIAorLSNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KKyAjaW5j bHVkZSA8c3RkaW50Lmg+CisgCisgI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+CisgCistX19CRUdJ Tl9ERUNMUworKyNpZmRlZiBfX2NwbHVzcGx1cworK2V4dGVybiAiQyIgeworKyNlbmRpZgorIAor IHN0cnVjdCBzeW5jX2xlZ2FjeV9tZXJnZV9kYXRhIHsKKyAgaW50MzJfdCBmZDI7CitAQCAtMTU4 LDYgKzE1OSw4IEBAIHN0cnVjdCBzeW5jX3B0X2luZm8gKnN5bmNfcHRfaW5mbyhzdHJ1Y3QKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHN5bmNfcHRfaW5mbyAqaXRy KTsKKyB2b2lkIHN5bmNfZmVuY2VfaW5mb19mcmVlKHN0cnVjdCBzeW5jX2ZlbmNlX2luZm9fZGF0 YSAqaW5mbyk7CisgCistX19FTkRfREVDTFMKKysjaWZkZWYgX19jcGx1c3BsdXMKKyt9CisrI2Vu ZGlmCisgCisgI2VuZGlmIC8qIF9fU1lTX0NPUkVfU1lOQ19IICovCmRpZmYgLS1naXQgYS9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI4LWNocm9taXVtLXNhbmRib3gtbWVtYmFycmll ci5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjgtY2hyb21pdW0tc2Fu ZGJveC1tZW1iYXJyaWVyLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uMmUxNDkyYzNmNjIyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDEyOC1jaHJvbWl1bS1zYW5kYm94LW1lbWJhcnJpZXIucGF0Y2gKQEAgLTAs MCArMSwxMCBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hy b21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwor KysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuY2MKK0BAIC00MTgsNiArNDE4LDcg QEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICAgc3dpdGNoIChz eXNubykgeworICAgICBjYXNlIF9fTlJfZXhpdDoKKyAgICAgY2FzZSBfX05SX2V4aXRfZ3JvdXA6 CisrICAgIGNhc2UgX19OUl9tZW1iYXJyaWVyOgorICAgICBjYXNlIF9fTlJfd2FpdDQ6CisgICAg IGNhc2UgX19OUl93YWl0aWQ6CisgI2lmIGRlZmluZWQoX19pMzg2X18pCmRpZmYgLS1naXQgYS9z cmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTI5LWNocm9taXVtLXNhbmRib3gtc2hlZF9n ZXRwYXJhbS5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxMjktY2hyb21p dW0tc2FuZGJveC1zaGVkX2dldHBhcmFtLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAwMDAwMC4uODBkOTFjNzdlOGJhCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9x dDYtd2ViZW5naW5lL3BhdGNoZXMvMDEyOS1jaHJvbWl1bS1zYW5kYm94LXNoZWRfZ2V0cGFyYW0u cGF0Y2gKQEAgLTAsMCArMSwyMCBAQAorQWxsb3cgU1lTX3NjaGVkX2dldHBhcmFtIGFuZCBTWVNf c2NoZWRfZ2V0c2NoZWR1bGVyCittdXNsIHVzZXMgdGhlbSBmb3IgcHRocmVhZF9nZXRzY2hlZHBh cmFtKCkKKworc291cmNlOiBodHRwczovL2dpdC5hbHBpbmVsaW51eC5vcmcvYXBvcnRzL2NvbW1p dC9jb21tdW5pdHkvY2hyb21pdW0/aWQ9NTRhZjlmOGFjMjRmNTJkMzgyYzU3NThlMjQ0NWJmMDIw NmVmZjQwZQorCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJv bWl1bS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCisr KysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xp Y3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYworQEAgLTk3LDEwICs5NywxMCBA QCBSZXN1bHRFeHByIFJlbmRlcmVyUHJvY2Vzc1BvbGljeTo6RXZhbHVhCisgICAgIGNhc2UgX19O Ul9zeXNpbmZvOgorICAgICBjYXNlIF9fTlJfdGltZXM6CisgICAgIGNhc2UgX19OUl91bmFtZToK Ky0gICAgICByZXR1cm4gQWxsb3coKTsKKy0gICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmluaXR5 OgorICAgICBjYXNlIF9fTlJfc2NoZWRfZ2V0cGFyYW06CisgICAgIGNhc2UgX19OUl9zY2hlZF9n ZXRzY2hlZHVsZXI6CisrICAgICAgcmV0dXJuIEFsbG93KCk7CisrICAgIGNhc2UgX19OUl9zY2hl ZF9nZXRhZmZpbml0eToKKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKyAgICAg ICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQaWQoKSwgc3lzbm8pOworICAg ICBjYXNlIF9fTlJfcHJsaW1pdDY0OgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDE1MC1jaHJvbWl1bS11bmJ1bmRsZS1mZm1wZWctYXZfc3RyZWFtX2dldF9maXJz dF9kdHMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUwLWNocm9taXVt LXVuYnVuZGxlLWZmbXBlZy1hdl9zdHJlYW1fZ2V0X2ZpcnN0X2R0cy5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmU3ZjYwNDhmYmMxYwotLS0gL2Rldi9udWxs CisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTAtY2hyb21pdW0tdW5idW5k bGUtZmZtcGVnLWF2X3N0cmVhbV9nZXRfZmlyc3RfZHRzLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAK Ky0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2J1aWxk L2xpbnV4L3VuYnVuZGxlL2ZmbXBlZy5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNy ZHBhcnR5L2Nocm9taXVtL2J1aWxkL2xpbnV4L3VuYnVuZGxlL2ZmbXBlZy5nbgorQEAgLTEyLDYg KzEyLDcgQEAgcGtnX2NvbmZpZygic3lzdGVtX2ZmbXBlZyIpIHsKKyAgICAgImxpYmF2Zm9ybWF0 IiwKKyAgICAgImxpYmF2dXRpbCIsCisgICBdCisrICBkZWZpbmVzID0gWyAiYXZfc3RyZWFtX2dl dF9maXJzdF9kdHMoc3RyZWFtKT1zdHJlYW0tPmZpcnN0X2R0cyIgXQorIH0KKyAKKyBidWlsZGZs YWdfaGVhZGVyKCJmZm1wZWdfZmVhdHVyZXMiKSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTUxLWNocm9taXVtLXVuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4u cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUxLWNocm9taXVtLXVuYnVu ZGxlZC1jcm9zcy10b29sY2hhaW4ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi43NDZkMmRmYjlhN2UKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13 ZWJlbmdpbmUvcGF0Y2hlcy8wMTUxLWNocm9taXVtLXVuYnVuZGxlZC1jcm9zcy10b29sY2hhaW4u cGF0Y2gKQEAgLTAsMCArMSwxMyBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMv M3JkcGFydHkvY2hyb21pdW0vYnVpbGQvdG9vbGNoYWluL2xpbnV4L3VuYnVuZGxlL0JVSUxELmdu CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vYnVpbGQvdG9v bGNoYWluL2xpbnV4L3VuYnVuZGxlL0JVSUxELmduCitAQCAtMzUsOCArMzUsOCBAQCBnY2NfdG9v bGNoYWluKCJob3N0IikgeworICAgZXh0cmFfbGRmbGFncyA9IGdldGVudigiQlVJTERfTERGTEFH UyIpCisgCisgICB0b29sY2hhaW5fYXJncyA9IHsKKy0gICAgY3VycmVudF9jcHUgPSBjdXJyZW50 X2NwdQorLSAgICBjdXJyZW50X29zID0gY3VycmVudF9vcworKyAgICBjdXJyZW50X2NwdSA9IGhv c3RfY3B1CisrICAgIGN1cnJlbnRfb3MgPSBob3N0X29zCisgICB9CisgfQorIApkaWZmIC0tZ2l0 IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1Mi1jaHJvbWl1bS13ZWJydGMtc2l6 ZV90LnBhdGNoIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1Mi1jaHJvbWl1bS13 ZWJydGMtc2l6ZV90LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw MC4uOGY2MDIwNGZmNTg0Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5l L3BhdGNoZXMvMDE1Mi1jaHJvbWl1bS13ZWJydGMtc2l6ZV90LnBhdGNoCkBAIC0wLDAgKzEsMTAg QEAKKy0tLSBxdDYtd2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2F1ZGlvX3Byb2Nlc3NpbmcvYWVjMy9jbG9ja2RyaWZ0 X2RldGVjdG9yLmgKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9hdWRpb19wcm9jZXNzaW5nL2FlYzMvY2xvY2tk cmlmdF9kZXRlY3Rvci5oCitAQCAtMTQsNiArMTQsNyBAQAorICNpbmNsdWRlIDxzdGRkZWYuaD4K KyAKKyAjaW5jbHVkZSA8YXJyYXk+CisrI2luY2x1ZGUgPGNzdGRkZWY+CisgCisgbmFtZXNwYWNl IHdlYnJ0YyB7CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8w MTUzLWNocm9taXVtLXdlYnJ0Yy1zaXplX3QucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wMTUzLWNocm9taXVtLXdlYnJ0Yy1zaXplX3QucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi4zYjViN2EzZDUzYjkKLS0tIC9kZXYvbnVsbAorKysg Yi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTUzLWNocm9taXVtLXdlYnJ0Yy1zaXpl X3QucGF0Y2gKQEAgLTAsMCArMSwxNiBAQAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9z cmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFydHkvYW5nbGUvaW5jbHVkZS9wbGF0Zm9ybS9Q bGF0Zm9ybU1ldGhvZHMuaAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2No cm9taXVtL3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvcGxhdGZvcm0vUGxhdGZvcm1NZXRob2Rz LmgKK0BAIC0yMjIsMTEgKzIyMiwxMSBAQCBpbmxpbmUgdm9pZCBEZWZhdWx0SGlzdG9ncmFtQm9v bGVhbihQbGF0CisgdXNpbmcgUHJvZ3JhbUtleVR5cGUgICA9IHN0ZDo6YXJyYXk8dWludDhfdCwg MjA+OworIHVzaW5nIENhY2hlUHJvZ3JhbUZ1bmMgPSB2b2lkICgqKShQbGF0Zm9ybU1ldGhvZHMg KnBsYXRmb3JtLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBQcm9n cmFtS2V5VHlwZSAma2V5LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl X3QgcHJvZ3JhbVNpemUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZDo6 c2l6ZV90IHByb2dyYW1TaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCB1aW50OF90ICpwcm9ncmFtQnl0ZXMpOworIGlubGluZSB2b2lkIERlZmF1bHRDYWNoZVBy b2dyYW0oUGxhdGZvcm1NZXRob2RzICpwbGF0Zm9ybSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IFByb2dyYW1LZXlUeXBlICZrZXksCistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplX3QgcHJvZ3JhbVNpemUsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGQ6OnNpemVfdCBwcm9ncmFtU2l6ZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnN0IHVpbnQ4X3QgKnByb2dyYW1CeXRlcykKKyB7fQorIApkaWZmIC0t Z2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDE1NC1jaHJvbWl1bS11aXRfdC5w YXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAxNTQtY2hyb21pdW0tdWl0X3Qu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kMTNhMzFmZWU0 MDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMTU0 LWNocm9taXVtLXVpdF90LnBhdGNoCkBAIC0wLDAgKzEsMTEgQEAKKy0tLSBxdDYtd2ViZW5naW5l LTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VydmljZXMv Y3JlZGVudGlhbHMuaAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9t aXVtL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuaAorQEAgLTE0LDYgKzE0LDgg QEAKKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCisrI2luY2x1ZGUg PHN5cy90eXBlcy5oPgorKworICNpbmNsdWRlICJzYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJz L2NhcGFiaWxpdHkuaCIKKyAjaW5jbHVkZSAic2FuZGJveC9zYW5kYm94X2V4cG9ydC5oIgorIApk aWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDIwMC1jaHJvbWl1bS1z bmRpby5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAyMDAtY2hyb21pdW0t c25kaW8ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5kNzY5 YjUzMTQ5N2IKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hl cy8wMjAwLWNocm9taXVtLXNuZGlvLnBhdGNoCkBAIC0wLDAgKzEsODQ5IEBACistLS0gcXQ2LXdl YmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9CVUlMRC5nbgor KysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL0JVSUxE LmduCitAQCAtNzgsNiArNzgsOSBAQCBjb25maWcoIm1lZGlhX2NvbmZpZyIpIHsKKyAgICAgICBk ZWZpbmVzICs9IFsgIkRMT1BFTl9QVUxTRUFVRElPIiBdCisgICAgIH0KKyAgIH0KKysgIGlmICh1 c2Vfc25kaW8pIHsKKysgICAgZGVmaW5lcyArPSBbICJVU0VfU05ESU8iIF0KKysgIH0KKyAgIGlm ICh1c2VfY3JhcykgeworICAgICBkZWZpbmVzICs9IFsgIlVTRV9DUkFTIiBdCisgICB9CistLS0g cXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRp by9CVUlMRC5nbgorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVt L21lZGlhL2F1ZGlvL0JVSUxELmduCitAQCAtMjQ1LDYgKzI0NSwxNyBAQCBzb3VyY2Vfc2V0KCJh dWRpbyIpIHsKKyAgICAgc291cmNlcyArPSBbICJsaW51eC9hdWRpb19tYW5hZ2VyX2xpbnV4LmNj IiBdCisgICB9CisgCisrICBpZiAodXNlX3NuZGlvKSB7CisrICAgIGxpYnMgKz0gWyAic25kaW8i IF0KKysgICAgc291cmNlcyArPSBbCisrICAgICAgInNuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8u Y2MiLAorKyAgICAgICJzbmRpby9zbmRpb19pbnB1dC5jYyIsCisrICAgICAgInNuZGlvL3NuZGlv X2lucHV0LmgiLAorKyAgICAgICJzbmRpby9zbmRpb19vdXRwdXQuY2MiLAorKyAgICAgICJzbmRp by9zbmRpb19vdXRwdXQuaCIKKysgICAgXQorKyAgfQorKworICAgaWYgKHVzZV9hbHNhKSB7Cisg ICAgIGxpYnMgKz0gWyAiYXNvdW5kIiBdCisgICAgIHNvdXJjZXMgKz0gWworLS0tIHF0Ni13ZWJl bmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vbGludXgv YXVkaW9fbWFuYWdlcl9saW51eC5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL2xpbnV4L2F1ZGlvX21hbmFnZXJfbGludXguY2MKK0BA IC0yNSw2ICsyNSwxMSBAQAorICNpbmNsdWRlICJtZWRpYS9hdWRpby9wdWxzZS9hdWRpb19tYW5h Z2VyX3B1bHNlLmgiCisgI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL3B1bHNlL3B1bHNlX3V0aWwuaCIK KyAjZW5kaWYKKysjaWYgZGVmaW5lZChVU0VfU05ESU8pCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlv L3NuZGlvL2F1ZGlvX21hbmFnZXJfc25kaW8uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25k aW8vc25kaW9faW5wdXQuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0 cHV0LmgiCisrI2VuZGlmCisgCisgbmFtZXNwYWNlIG1lZGlhIHsKKyAKKy0tLSAvZGV2L251bGwK KysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9tZWRpYS9hdWRp by9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmNjCitAQCAtMCwwICsxLDE0OCBAQAorKy8vIENv cHlyaWdodCAoYykgMjAxMiBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC4KKysvLyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHls ZSBsaWNlbnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysK KysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vYXVkaW9fbWFuYWdlcl9zbmRpby5oIgorKwor KyNpbmNsdWRlICJiYXNlL21ldHJpY3MvaGlzdG9ncmFtX21hY3Jvcy5oIgorKyNpbmNsdWRlICJi YXNlL21lbW9yeS9wdHJfdXRpbC5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9hdWRpb19kZXZp Y2VfZGVzY3JpcHRpb24uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fb3V0cHV0X2Rp c3BhdGNoZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9faW5wdXQuaCIK KysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgiCisrI2luY2x1ZGUg Im1lZGlhL2Jhc2UvbGltaXRzLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvbWVkaWFfc3dpdGNo ZXMuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworKworKy8vIE1heGltdW0gbnVtYmVyIG9m IG91dHB1dCBzdHJlYW1zIHRoYXQgY2FuIGJlIG9wZW4gc2ltdWx0YW5lb3VzbHkuCisrc3RhdGlj IGNvbnN0IGludCBrTWF4T3V0cHV0U3RyZWFtcyA9IDQ7CisrCisrLy8gRGVmYXVsdCBzYW1wbGUg cmF0ZSBmb3IgaW5wdXQgYW5kIG91dHB1dCBzdHJlYW1zLgorK3N0YXRpYyBjb25zdCBpbnQga0Rl ZmF1bHRTYW1wbGVSYXRlID0gNDgwMDA7CisrCisrdm9pZCBBZGREZWZhdWx0RGV2aWNlKEF1ZGlv RGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgeworKyAgRENIRUNLKGRldmljZV9uYW1lcy0+ZW1w dHkoKSk7CisrICBkZXZpY2VfbmFtZXMtPnB1c2hfZnJvbnQoQXVkaW9EZXZpY2VOYW1lOjpDcmVh dGVEZWZhdWx0KCkpOworK30KKysKKytib29sIEF1ZGlvTWFuYWdlclNuZGlvOjpIYXNBdWRpb091 dHB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9CisrCisrYm9vbCBBdWRpb01hbmFn ZXJTbmRpbzo6SGFzQXVkaW9JbnB1dERldmljZXMoKSB7CisrICByZXR1cm4gdHJ1ZTsKKyt9Cisr Cisrdm9pZCBBdWRpb01hbmFnZXJTbmRpbzo6R2V0QXVkaW9JbnB1dERldmljZU5hbWVzKAorKyAg ICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIERDSEVDSyhkZXZpY2VfbmFt ZXMtPmVtcHR5KCkpOworKyAgQWRkRGVmYXVsdERldmljZShkZXZpY2VfbmFtZXMpOworK30KKysK Kyt2b2lkIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRBdWRpb091dHB1dERldmljZU5hbWVzKAorKyAg ICBBdWRpb0RldmljZU5hbWVzKiBkZXZpY2VfbmFtZXMpIHsKKysgIEFkZERlZmF1bHREZXZpY2Uo ZGV2aWNlX25hbWVzKTsKKyt9CisrCisrY29uc3QgY2hhciogQXVkaW9NYW5hZ2VyU25kaW86Okdl dE5hbWUoKSB7CisrICByZXR1cm4gIlNORElPIjsKKyt9CisrCisrQXVkaW9QYXJhbWV0ZXJzIEF1 ZGlvTWFuYWdlclNuZGlvOjpHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisrICAgIGNvbnN0IHN0 ZDo6c3RyaW5nJiBkZXZpY2VfaWQpIHsKKysgIHN0YXRpYyBjb25zdCBpbnQga0RlZmF1bHRJbnB1 dEJ1ZmZlclNpemUgPSAxMDI0OworKworKyAgaW50IHVzZXJfYnVmZmVyX3NpemUgPSBHZXRVc2Vy QnVmZmVyU2l6ZSgpOworKyAgaW50IGJ1ZmZlcl9zaXplID0gdXNlcl9idWZmZXJfc2l6ZSA/Cisr ICAgICAgdXNlcl9idWZmZXJfc2l6ZSA6IGtEZWZhdWx0SW5wdXRCdWZmZXJTaXplOworKworKyAg cmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BD TV9MT1dfTEFURU5DWSwgQ0hBTk5FTF9MQVlPVVRfU1RFUkVPLAorKyAgICAgIGtEZWZhdWx0U2Ft cGxlUmF0ZSwgYnVmZmVyX3NpemUpOworK30KKysKKytBdWRpb01hbmFnZXJTbmRpbzo6QXVkaW9N YW5hZ2VyU25kaW8oc3RkOjp1bmlxdWVfcHRyPEF1ZGlvVGhyZWFkPiBhdWRpb190aHJlYWQsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb0xvZ0ZhY3Rvcnkq IGF1ZGlvX2xvZ19mYWN0b3J5KQorKyAgICA6IEF1ZGlvTWFuYWdlckJhc2Uoc3RkOjptb3ZlKGF1 ZGlvX3RocmVhZCksCisrICAgICAgICAgICAgICAgICAgICAgICBhdWRpb19sb2dfZmFjdG9yeSkg eworKyAgRExPRyhXQVJOSU5HKSA8PCAiQXVkaW9NYW5hZ2VyU25kaW8iOworKyAgU2V0TWF4T3V0 cHV0U3RyZWFtc0FsbG93ZWQoa01heE91dHB1dFN0cmVhbXMpOworK30KKysKKytBdWRpb01hbmFn ZXJTbmRpbzo6fkF1ZGlvTWFuYWdlclNuZGlvKCkgeworKyAgU2h1dGRvd24oKTsKKyt9CisrCisr QXVkaW9PdXRwdXRTdHJlYW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFyT3V0cHV0U3Ry ZWFtKAorKyAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgY29uc3QgTG9n Q2FsbGJhY2smIGxvZ19jYWxsYmFjaykgeworKyAgRENIRUNLX0VRKEF1ZGlvUGFyYW1ldGVyczo6 QVVESU9fUENNX0xJTkVBUiwgcGFyYW1zLmZvcm1hdCgpKTsKKysgIHJldHVybiBNYWtlT3V0cHV0 U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvT3V0cHV0U3RyZWFtKiBBdWRpb01hbmFnZXJT bmRpbzo6TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1l dGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAgICBj b25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBETE9HX0lGKEVSUk9SLCAhZGV2 aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIERDSEVDS19FUShBdWRp b1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZvcm1hdCgpKTsKKysg IHJldHVybiBNYWtlT3V0cHV0U3RyZWFtKHBhcmFtcyk7CisrfQorKworK0F1ZGlvSW5wdXRTdHJl YW0qIEF1ZGlvTWFuYWdlclNuZGlvOjpNYWtlTGluZWFySW5wdXRTdHJlYW0oCisrICAgIGNvbnN0 IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNl X2lkLAorKyAgICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSB7CisrICBEQ0hFQ0tf RVEoQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTElORUFSLCBwYXJhbXMuZm9ybWF0KCkpOwor KyAgcmV0dXJuIE1ha2VJbnB1dFN0cmVhbShwYXJhbXMpOworK30KKysKKytBdWRpb0lucHV0U3Ry ZWFtKiBBdWRpb01hbmFnZXJTbmRpbzo6TWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAg Y29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBk ZXZpY2VfaWQsCisrICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIHsKKysgIERD SEVDS19FUShBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgcGFyYW1zLmZv cm1hdCgpKTsKKysgIHJldHVybiBNYWtlSW5wdXRTdHJlYW0ocGFyYW1zKTsKKyt9CisrCisrQXVk aW9QYXJhbWV0ZXJzIEF1ZGlvTWFuYWdlclNuZGlvOjpHZXRQcmVmZXJyZWRPdXRwdXRTdHJlYW1Q YXJhbWV0ZXJzKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwKKysg ICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBpbnB1dF9wYXJhbXMpIHsKKysgIC8vIFRPRE8odG9t bWkpOiBTdXBwb3J0IHxvdXRwdXRfZGV2aWNlX2lkfC4KKysgIERMT0dfSUYoRVJST1IsICFvdXRw dXRfZGV2aWNlX2lkLmVtcHR5KCkpIDw8ICJOb3QgaW1wbGVtZW50ZWQhIjsKKysgIHN0YXRpYyBj b25zdCBpbnQga0RlZmF1bHRPdXRwdXRCdWZmZXJTaXplID0gMjA0ODsKKysKKysgIENoYW5uZWxM YXlvdXQgY2hhbm5lbF9sYXlvdXQgPSBDSEFOTkVMX0xBWU9VVF9TVEVSRU87CisrICBpbnQgc2Ft cGxlX3JhdGUgPSBrRGVmYXVsdFNhbXBsZVJhdGU7CisrICBpbnQgYnVmZmVyX3NpemUgPSBrRGVm YXVsdE91dHB1dEJ1ZmZlclNpemU7CisrICBpZiAoaW5wdXRfcGFyYW1zLklzVmFsaWQoKSkgewor KyAgICBzYW1wbGVfcmF0ZSA9IGlucHV0X3BhcmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgICBjaGFu bmVsX2xheW91dCA9IGlucHV0X3BhcmFtcy5jaGFubmVsX2xheW91dCgpOworKyAgICBidWZmZXJf c2l6ZSA9IHN0ZDo6bWluKGJ1ZmZlcl9zaXplLCBpbnB1dF9wYXJhbXMuZnJhbWVzX3Blcl9idWZm ZXIoKSk7CisrICB9CisrCisrICBpbnQgdXNlcl9idWZmZXJfc2l6ZSA9IEdldFVzZXJCdWZmZXJT aXplKCk7CisrICBpZiAodXNlcl9idWZmZXJfc2l6ZSkKKysgICAgYnVmZmVyX3NpemUgPSB1c2Vy X2J1ZmZlcl9zaXplOworKworKyAgcmV0dXJuIEF1ZGlvUGFyYW1ldGVycygKKysgICAgICBBdWRp b1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSwgY2hhbm5lbF9sYXlvdXQsCisrICAg ICAgc2FtcGxlX3JhdGUsIGJ1ZmZlcl9zaXplKTsKKyt9CisrCisrQXVkaW9JbnB1dFN0cmVhbSog QXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VJbnB1dFN0cmVhbSgKKysgICAgY29uc3QgQXVkaW9QYXJh bWV0ZXJzJiBwYXJhbXMpIHsKKysgIERMT0coV0FSTklORykgPDwgIk1ha2VJbnB1dFN0cmVhbSI7 CisrICByZXR1cm4gbmV3IFNuZGlvQXVkaW9JbnB1dFN0cmVhbSh0aGlzLAorKyAgICAgICAgICAg ICBBdWRpb0RldmljZURlc2NyaXB0aW9uOjprRGVmYXVsdERldmljZUlkLCBwYXJhbXMpOworK30K KysKKytBdWRpb091dHB1dFN0cmVhbSogQXVkaW9NYW5hZ2VyU25kaW86Ok1ha2VPdXRwdXRTdHJl YW0oCisrICAgIGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYgcGFyYW1zKSB7CisrICBETE9HKFdBUk5J TkcpIDw8ICJNYWtlT3V0cHV0U3RyZWFtIjsKKysgIHJldHVybiBuZXcgU25kaW9BdWRpb091dHB1 dFN0cmVhbShwYXJhbXMsIHRoaXMpOworK30KKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKy0t LSAvZGV2L251bGwKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1 bS9tZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgKK0BAIC0wLDAgKzEsNjUg QEAKKysvLyBDb3B5cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkg YSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNF IGZpbGUuCisrCisrI2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElP X0hfCisrI2RlZmluZSBNRURJQV9BVURJT19TTkRJT19BVURJT19NQU5BR0VSX1NORElPX0hfCisr CisrI2luY2x1ZGUgPHNldD4KKysKKysjaW5jbHVkZSAiYmFzZS9jb21waWxlcl9zcGVjaWZpYy5o IgorKyNpbmNsdWRlICJiYXNlL21hY3Jvcy5oIgorKyNpbmNsdWRlICJiYXNlL21lbW9yeS9yZWZf Y291bnRlZC5oIgorKyNpbmNsdWRlICJiYXNlL3RocmVhZGluZy90aHJlYWQuaCIKKysjaW5jbHVk ZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFuYWdlcl9iYXNlLmgiCisrCisrbmFtZXNwYWNlIG1lZGlh IHsKKysKKytjbGFzcyBNRURJQV9FWFBPUlQgQXVkaW9NYW5hZ2VyU25kaW8gOiBwdWJsaWMgQXVk aW9NYW5hZ2VyQmFzZSB7CisrIHB1YmxpYzoKKysgIEF1ZGlvTWFuYWdlclNuZGlvKHN0ZDo6dW5p cXVlX3B0cjxBdWRpb1RocmVhZD4gYXVkaW9fdGhyZWFkLAorKyAgICAgICAgICAgICAgICAgICBB dWRpb0xvZ0ZhY3RvcnkqIGF1ZGlvX2xvZ19mYWN0b3J5KTsKKysgIH5BdWRpb01hbmFnZXJTbmRp bygpIG92ZXJyaWRlOworKworKyAgLy8gSW1wbGVtZW50YXRpb24gb2YgQXVkaW9NYW5hZ2VyLgor KyAgYm9vbCBIYXNBdWRpb091dHB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIGJvb2wgSGFzQXVk aW9JbnB1dERldmljZXMoKSBvdmVycmlkZTsKKysgIHZvaWQgR2V0QXVkaW9JbnB1dERldmljZU5h bWVzKEF1ZGlvRGV2aWNlTmFtZXMqIGRldmljZV9uYW1lcykgb3ZlcnJpZGU7CisrICB2b2lkIEdl dEF1ZGlvT3V0cHV0RGV2aWNlTmFtZXMoQXVkaW9EZXZpY2VOYW1lcyogZGV2aWNlX25hbWVzKSBv dmVycmlkZTsKKysgIEF1ZGlvUGFyYW1ldGVycyBHZXRJbnB1dFN0cmVhbVBhcmFtZXRlcnMoCisr ICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCkgb3ZlcnJpZGU7CisrICBjb25zdCBj aGFyKiBHZXROYW1lKCkgb3ZlcnJpZGU7CisrCisrICAvLyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRp b01hbmFnZXJCYXNlLgorKyAgQXVkaW9PdXRwdXRTdHJlYW0qIE1ha2VMaW5lYXJPdXRwdXRTdHJl YW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qg TG9nQ2FsbGJhY2smIGxvZ19jYWxsYmFjaykgb3ZlcnJpZGU7CisrICBBdWRpb091dHB1dFN0cmVh bSogTWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0oCisrICAgICAgY29uc3QgQXVkaW9QYXJhbWV0 ZXJzJiBwYXJhbXMsCisrICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGRldmljZV9pZCwKKysgICAg ICBjb25zdCBMb2dDYWxsYmFjayYgbG9nX2NhbGxiYWNrKSBvdmVycmlkZTsKKysgIEF1ZGlvSW5w dXRTdHJlYW0qIE1ha2VMaW5lYXJJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRpb1BhcmFt ZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lkLAorKyAg ICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKyAgQXVkaW9J bnB1dFN0cmVhbSogTWFrZUxvd0xhdGVuY3lJbnB1dFN0cmVhbSgKKysgICAgICBjb25zdCBBdWRp b1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX2lk LAorKyAgICAgIGNvbnN0IExvZ0NhbGxiYWNrJiBsb2dfY2FsbGJhY2spIG92ZXJyaWRlOworKwor KyBwcm90ZWN0ZWQ6CisrICBBdWRpb1BhcmFtZXRlcnMgR2V0UHJlZmVycmVkT3V0cHV0U3RyZWFt UGFyYW1ldGVycygKKysgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgb3V0cHV0X2RldmljZV9pZCwK KysgICAgICBjb25zdCBBdWRpb1BhcmFtZXRlcnMmIGlucHV0X3BhcmFtcykgb3ZlcnJpZGU7Cisr CisrIHByaXZhdGU6CisrICAvLyBDYWxsZWQgYnkgTWFrZUxpbmVhck91dHB1dFN0cmVhbSBhbmQg TWFrZUxvd0xhdGVuY3lPdXRwdXRTdHJlYW0uCisrICBBdWRpb091dHB1dFN0cmVhbSogTWFrZU91 dHB1dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcyk7CisrICBBdWRpb0lucHV0 U3RyZWFtKiBNYWtlSW5wdXRTdHJlYW0oY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJhbXMpOwor KworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKEF1ZGlvTWFuYWdlclNuZGlvKTsKKyt9Owor KworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorKworKyNlbmRpZiAgLy8gTUVESUFfQVVESU9fU05E SU9fQVVESU9fTUFOQUdFUl9TTkRJT19IXworLS0tIC9kZXYvbnVsbAorKysrIHF0Ni13ZWJlbmdp bmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lu cHV0LmNjCitAQCAtMCwwICsxLDIwMCBAQAorKy8vIENvcHlyaWdodCAyMDEzIFRoZSBDaHJvbWl1 bSBBdXRob3JzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKy8vIFVzZSBvZiB0aGlzIHNvdXJjZSBj b2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKKysvLyBm b3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgorKworKyNpbmNsdWRlICJiYXNlL2JpbmQuaCIKKysj aW5jbHVkZSAiYmFzZS9sb2dnaW5nLmgiCisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisrI2lu Y2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBlci5oIgorKyNpbmNsdWRlICJt ZWRpYS9hdWRpby9zbmRpby9hdWRpb19tYW5hZ2VyX3NuZGlvLmgiCisrI2luY2x1ZGUgIm1lZGlh L2F1ZGlvL2F1ZGlvX21hbmFnZXIuaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vc25kaW8vc25k aW9faW5wdXQuaCIKKysKKytuYW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25zdCBTYW1w bGVGb3JtYXQga1NhbXBsZUZvcm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9pZCBTbmRp b0F1ZGlvSW5wdXRTdHJlYW06Ok9uTW92ZUNhbGxiYWNrKHZvaWQgKmFyZywgaW50IGRlbHRhKQor K3sKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVk aW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5od19kZWxheSArPSBkZWx0YTsKKyt9 CisrCisrdm9pZCAqU25kaW9BdWRpb0lucHV0U3RyZWFtOjpUaHJlYWRFbnRyeSh2b2lkICphcmcp IHsKKysgIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVk aW9JbnB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICByZXR1 cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTbmRpb0F1ZGlvSW5wdXRT dHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogbWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNlX25hbWUsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9Q YXJhbWV0ZXJzJiBwYXJhbXMpCisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAgICBwYXJh bXMocGFyYW1zKSwKKysgICAgICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwK KysgICAgICBzdGF0ZShrQ2xvc2VkKSB7CisrfQorKworK1NuZGlvQXVkaW9JbnB1dFN0cmVhbTo6 flNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIHsKKysgIGlmIChzdGF0ZSAhPSBrQ2xvc2VkKQorKyAg ICBDbG9zZSgpOworK30KKysKKytib29sIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6T3BlbigpIHsK KysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysgIGludCBzaWc7CisrCisrICBpZiAoc3RhdGUgIT0g a0Nsb3NlZCkKKysgICAgcmV0dXJuIGZhbHNlOworKworKyAgaWYgKHBhcmFtcy5mb3JtYXQoKSAh PSBBdWRpb1BhcmFtZXRlcnM6OkFVRElPX1BDTV9MSU5FQVIgJiYKKysgICAgICBwYXJhbXMuZm9y bWF0KCkgIT0gQXVkaW9QYXJhbWV0ZXJzOjpBVURJT19QQ01fTE9XX0xBVEVOQ1kpIHsKKysgICAg TE9HKFdBUk5JTkcpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBmb3JtYXQuIjsKKysgICAgcmV0dXJu IGZhbHNlOworKyAgfQorKworKyAgc2lvX2luaXRwYXIoJnBhcik7CisrICBwYXIucmF0ZSA9IHBh cmFtcy5zYW1wbGVfcmF0ZSgpOworKyAgcGFyLnJjaGFuID0gcGFyYW1zLmNoYW5uZWxzKCk7Cisr ICBwYXIuYml0cyA9IFNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCk7 CisrICBwYXIuYnBzID0gcGFyLmJpdHMgLyA4OworKyAgcGFyLnNpZyA9IHNpZyA9IHBhci5iaXRz ICE9IDggPyAxIDogMDsKKysgIHBhci5sZSA9IFNJT19MRV9OQVRJVkU7CisrICBwYXIuYXBwYnVm c3ogPSBwYXJhbXMuZnJhbWVzX3Blcl9idWZmZXIoKTsKKysKKysgIGhkbCA9IHNpb19vcGVuKFNJ T19ERVZBTlksIFNJT19SRUMsIDApOworKworKyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAgIExP RyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4gYXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVybiBm YWxzZTsKKysgIH0KKysKKysgIGlmICghc2lvX3NldHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0 cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlv IHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBiYWRfY2xvc2U7CisrICB9CisrCisrICBpZiAocGFy LnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNhbXBsZV9yYXRlKCkgfHwKKysgICAgICBw YXIucmNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMuY2hhbm5lbHMoKSB8fAorKyAgICAgIHBh ci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZvcm1hdFRvQml0c1BlckNoYW5uZWwoa1Nh bXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2lnICAgIT0gKHVuc2lnbmVkIGludClzaWcgfHwK KysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9IFNJT19MRV9OQVRJVkUpIHx8CisrICAg ICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgeworKyAgICBMT0coRVJST1IpIDw8ICJVbnN1 cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAgIGdvdG8gYmFkX2Nsb3NlOworKyAgfQor KyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJh bWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBzaW9f b25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0cnVlOworK2Jh ZF9jbG9zZToKKysgIHNpb19jbG9zZShoZGwpOworKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyt2 b2lkIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6U3RhcnQoQXVkaW9JbnB1dENhbGxiYWNrKiBjYikg eworKworKyAgU3RhcnRBZ2MoKTsKKysKKysgIHN0YXRlID0ga1J1bm5pbmc7CisrICBod19kZWxh eSA9IDA7CisrICBjYWxsYmFjayA9IGNiOworKyAgc2lvX3N0YXJ0KGhkbCk7CisrICBpZiAocHRo cmVhZF9jcmVhdGUoJnRocmVhZCwgTlVMTCwgJlRocmVhZEVudHJ5LCB0aGlzKSAhPSAwKSB7Cisr ICAgIExPRyhFUlJPUikgPDwgIkZhaWxlZCB0byBjcmVhdGUgcmVhbC10aW1lIHRocmVhZCBmb3Ig cmVjb3JkaW5nLiI7CisrICAgIHNpb19zdG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3BwZWQ7 CisrICB9CisrfQorKworK3ZvaWQgU25kaW9BdWRpb0lucHV0U3RyZWFtOjpTdG9wKCkgeworKwor KyAgaWYgKHN0YXRlID09IGtTdG9wcGVkKQorKyAgICByZXR1cm47CisrCisrICBzdGF0ZSA9IGtT dG9wV2FpdDsKKysgIHB0aHJlYWRfam9pbih0aHJlYWQsIE5VTEwpOworKyAgc2lvX3N0b3AoaGRs KTsKKysgIHN0YXRlID0ga1N0b3BwZWQ7CisrCisrICBTdG9wQWdjKCk7CisrfQorKworK3ZvaWQg U25kaW9BdWRpb0lucHV0U3RyZWFtOjpDbG9zZSgpIHsKKysKKysgIGlmIChzdGF0ZSA9PSBrQ2xv c2VkKQorKyAgICByZXR1cm47CisrCisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCisrICAgIFN0 b3AoKTsKKysKKysgIHN0YXRlID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7CisrICBz aW9fY2xvc2UoaGRsKTsKKysKKysgIG1hbmFnZXItPlJlbGVhc2VJbnB1dFN0cmVhbSh0aGlzKTsK Kyt9CisrCisrZG91YmxlIFNuZGlvQXVkaW9JbnB1dFN0cmVhbTo6R2V0TWF4Vm9sdW1lKCkgewor KyAgLy8gTm90IHN1cHBvcnRlZAorKyAgcmV0dXJuIDAuMDsKKyt9CisrCisrdm9pZCBTbmRpb0F1 ZGlvSW5wdXRTdHJlYW06OlNldFZvbHVtZShkb3VibGUgdm9sdW1lKSB7CisrICAvLyBOb3Qgc3Vw cG9ydGVkLiBEbyBub3RoaW5nLgorK30KKysKKytkb3VibGUgU25kaW9BdWRpb0lucHV0U3RyZWFt OjpHZXRWb2x1bWUoKSB7CisrICAvLyBOb3Qgc3VwcG9ydGVkLgorKyAgcmV0dXJuIDAuMDsKKyt9 CisrCisrYm9vbCBTbmRpb0F1ZGlvSW5wdXRTdHJlYW06OklzTXV0ZWQoKSB7CisrICAvLyBOb3Qg c3VwcG9ydGVkLgorKyAgcmV0dXJuIGZhbHNlOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9JbnB1 dFN0cmVhbTo6U2V0T3V0cHV0RGV2aWNlRm9yQWVjKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYg b3V0cHV0X2RldmljZV9pZCkgeworKyAgLy8gTm90IHN1cHBvcnRlZC4KKyt9CisrCisrdm9pZCBT bmRpb0F1ZGlvSW5wdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkgeworKyAgc2l6ZV90IHRvZG8s IG47CisrICBjaGFyICpkYXRhOworKyAgdW5zaWduZWQgaW50IG5mcmFtZXM7CisrICBkb3VibGUg bm9ybWFsaXplZF92b2x1bWUgPSAwLjA7CisrCisrICBuZnJhbWVzID0gYXVkaW9fYnVzLT5mcmFt ZXMoKTsKKysKKysgIHdoaWxlIChzdGF0ZSA9PSBrUnVubmluZyAmJiAhc2lvX2VvZihoZGwpKSB7 CisrCisrICAgIEdldEFnY1ZvbHVtZSgmbm9ybWFsaXplZF92b2x1bWUpOworKworKyAgICAvLyBy ZWFkIG9uZSBibG9jaworKyAgICB0b2RvID0gbmZyYW1lcyAqIHBhcmFtcy5HZXRCeXRlc1BlckZy YW1lKGtTYW1wbGVGb3JtYXQpOworKyAgICBkYXRhID0gYnVmZmVyOworKyAgICB3aGlsZSAodG9k byA+IDApIHsKKysgICAgICBuID0gc2lvX3JlYWQoaGRsLCBkYXRhLCB0b2RvKTsKKysgICAgICBp ZiAobiA9PSAwKQorKyAgICAgICAgcmV0dXJuOwkvLyB1bnJlY292ZXJhYmxlIEkvTyBlcnJvcgor KyAgICAgIHRvZG8gLT0gbjsKKysgICAgICBkYXRhICs9IG47CisrICAgIH0KKysgICAgaHdfZGVs YXkgLT0gbmZyYW1lczsKKysKKysgICAgLy8gY29udmVydCBmcmFtZXMgY291bnQgdG8gVGltZURl bHRhCisrICAgIGNvbnN0IGJhc2U6OlRpbWVEZWx0YSBkZWxheSA9IEF1ZGlvVGltZXN0YW1wSGVs cGVyOjpGcmFtZXNUb1RpbWUoaHdfZGVsYXksCisrICAgICAgcGFyYW1zLnNhbXBsZV9yYXRlKCkp OworKworKyAgICAvLyBwdXNoIGludG8gYnVzCisrICAgIGF1ZGlvX2J1cy0+RnJvbUludGVybGVh dmVkPFNpZ25lZEludDE2U2FtcGxlVHlwZVRyYWl0cz4ocmVpbnRlcnByZXRfY2FzdDxpbnQxNl90 Kj4oYnVmZmVyKSwgbmZyYW1lcyk7CisrCisrICAgIC8vIGludm9rZSBjYWxsYmFjaworKyAgICBj YWxsYmFjay0+T25EYXRhKGF1ZGlvX2J1cy5nZXQoKSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSAt IGRlbGF5LCAxLik7CisrICB9CisrfQorKworK30gIC8vIG5hbWVzcGFjZSBtZWRpYQorLS0tIC9k ZXYvbnVsbAorKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21l ZGlhL2F1ZGlvL3NuZGlvL3NuZGlvX2lucHV0LmgKK0BAIC0wLDAgKzEsOTEgQEAKKysvLyBDb3B5 cmlnaHQgMjAxMyBUaGUgQ2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysv LyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl bnNlIHRoYXQgY2FuIGJlCisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaWZu ZGVmIE1FRElBX0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCisrI2RlZmluZSBNRURJQV9BVURJ T19TTkRJT19TTkRJT19JTlBVVF9IXworKworKyNpbmNsdWRlIDxzdGRpbnQuaD4KKysjaW5jbHVk ZSA8c3RyaW5nPgorKyNpbmNsdWRlIDxzbmRpby5oPgorKworKyNpbmNsdWRlICJiYXNlL2NvbXBp bGVyX3NwZWNpZmljLmgiCisrI2luY2x1ZGUgImJhc2UvbWFjcm9zLmgiCisrI2luY2x1ZGUgImJh c2UvbWVtb3J5L3dlYWtfcHRyLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2lu Y2x1ZGUgIm1lZGlhL2F1ZGlvL2FnY19hdWRpb19zdHJlYW0uaCIKKysjaW5jbHVkZSAibWVkaWEv YXVkaW8vYXVkaW9faW8uaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fZGV2aWNlX2Rl c2NyaXB0aW9uLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fcGFyYW1ldGVycy5oIgor KworK25hbWVzcGFjZSBtZWRpYSB7CisrCisrY2xhc3MgQXVkaW9NYW5hZ2VyQmFzZTsKKysKKysv LyBJbXBsZW1lbnRhdGlvbiBvZiBBdWRpb091dHB1dFN0cmVhbSB1c2luZyBzbmRpbyg3KQorK2Ns YXNzIFNuZGlvQXVkaW9JbnB1dFN0cmVhbSA6IHB1YmxpYyBBZ2NBdWRpb1N0cmVhbTxBdWRpb0lu cHV0U3RyZWFtPiB7CisrIHB1YmxpYzoKKysgIC8vIFBhc3MgdGhpcyB0byB0aGUgY29uc3RydWN0 b3IgaWYgeW91IHdhbnQgdG8gYXR0ZW1wdCBhdXRvLXNlbGVjdGlvbgorKyAgLy8gb2YgdGhlIGF1 ZGlvIHJlY29yZGluZyBkZXZpY2UuCisrICBzdGF0aWMgY29uc3QgY2hhciBrQXV0b1NlbGVjdERl dmljZVtdOworKworKyAgLy8gQ3JlYXRlIGEgUENNIE91dHB1dCBzdHJlYW0gZm9yIHRoZSBTTkRJ TyBkZXZpY2UgaWRlbnRpZmllZCBieQorKyAgLy8gfGRldmljZV9uYW1lfC4gSWYgdW5zdXJlIG9m IHdoYXQgdG8gdXNlIGZvciB8ZGV2aWNlX25hbWV8LCB1c2UKKysgIC8vIHxrQXV0b1NlbGVjdERl dmljZXwuCisrICBTbmRpb0F1ZGlvSW5wdXRTdHJlYW0oQXVkaW9NYW5hZ2VyQmFzZSogYXVkaW9f bWFuYWdlciwKKysgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgZGV2aWNl X25hbWUsCisrICAgICAgICAgICAgICAgICAgICAgY29uc3QgQXVkaW9QYXJhbWV0ZXJzJiBwYXJh bXMpOworKworKyAgflNuZGlvQXVkaW9JbnB1dFN0cmVhbSgpIG92ZXJyaWRlOworKworKyAgLy8g SW1wbGVtZW50YXRpb24gb2YgQXVkaW9JbnB1dFN0cmVhbS4KKysgIGJvb2wgT3BlbigpIG92ZXJy aWRlOworKyAgdm9pZCBTdGFydChBdWRpb0lucHV0Q2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlk ZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOworKyAgdm9pZCBDbG9zZSgpIG92ZXJyaWRlOwor KyAgZG91YmxlIEdldE1heFZvbHVtZSgpIG92ZXJyaWRlOworKyAgdm9pZCBTZXRWb2x1bWUoZG91 YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICBkb3VibGUgR2V0Vm9sdW1lKCkgb3ZlcnJpZGU7Cisr ICBib29sIElzTXV0ZWQoKSBvdmVycmlkZTsKKysgIHZvaWQgU2V0T3V0cHV0RGV2aWNlRm9yQWVj KGNvbnN0IHN0ZDo6c3RyaW5nJiBvdXRwdXRfZGV2aWNlX2lkKSBvdmVycmlkZTsKKysKKysgcHJp dmF0ZToKKysKKysgIGVudW0gU3RyZWFtU3RhdGUgeworKyAgICBrQ2xvc2VkLCAgICAgICAgICAg IC8vIE5vdCBvcGVuZWQgeWV0CisrICAgIGtTdG9wcGVkLCAgICAgICAgICAgLy8gRGV2aWNlIG9w ZW5lZCwgYnV0IG5vdCBzdGFydGVkIHlldAorKyAgICBrUnVubmluZywgICAgICAgICAgIC8vIFN0 YXJ0ZWQsIGRldmljZSBwbGF5aW5nCisrICAgIGtTdG9wV2FpdCAgICAgICAgICAgLy8gU3RvcHBp bmcsIHdhaXRpbmcgZm9yIHRoZSByZWFsLXRpbWUgdGhyZWFkIHRvIGV4aXQKKysgIH07CisrCisr ICAvLyBDLXN0eWxlIGNhbGwtYmFja3MKKysgIHN0YXRpYyB2b2lkIE9uTW92ZUNhbGxiYWNrKHZv aWQgKmFyZywgaW50IGRlbHRhKTsKKysgIHN0YXRpYyB2b2lkKiBUaHJlYWRFbnRyeSh2b2lkICph cmcpOworKworKyAgLy8gQ29udGludW91c2x5IG1vdmVzIGRhdGEgZnJvbSB0aGUgZGV2aWNlIHRv IHRoZSBjb25zdW1lcgorKyAgdm9pZCBUaHJlYWRMb29wKCk7CisrICAvLyBPdXIgY3JlYXRvciwg dGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9zZS4KKysg IEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRoZSBzb3Vy Y2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAvLyBXZSBzdG9yZSBkYXRhIGhlcmUg Zm9yIGNvbnN1bWVyCisrICBzdGQ6OnVuaXF1ZV9wdHI8QXVkaW9CdXM+IGF1ZGlvX2J1czsKKysg IC8vIENhbGwtYmFjayB0aGF0IGNvbnN1bWVzIHJlY29yZGVkIGRhdGEKKysgIEF1ZGlvSW5wdXRD YWxsYmFjayogY2FsbGJhY2s7ICAvLyBWYWxpZCBkdXJpbmcgYSByZWNvcmRpbmcgc2Vzc2lvbi4K KysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1Y3Qgc2lvX2hkbCogaGRs OworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCisrICBlbnVtIFN0cmVhbVN0YXRl IHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmluZyBUaHJlYWRMb29wKCkK KysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1ZmZlcmVkIGlu IHRoZSBoYXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5IGJ1ZmZlciB3 aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAorKyAgY2hhciogYnVm ZmVyOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9JbnB1dFN0cmVh bSk7CisrfTsKKysKKyt9ICAvLyBuYW1lc3BhY2UgbWVkaWEKKysKKysjZW5kaWYgIC8vIE1FRElB X0FVRElPX1NORElPX1NORElPX0lOUFVUX0hfCistLS0gL2Rldi9udWxsCisrKysgcXQ2LXdlYmVu Z2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvYXVkaW8vc25kaW8vc25kaW9f b3V0cHV0LmNjCitAQCAtMCwwICsxLDE4MyBAQAorKy8vIENvcHlyaWdodCAoYykgMjAxMiBUaGUg Q2hyb21pdW0gQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKysvLyBVc2Ugb2YgdGhpcyBz b3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJl CisrLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKysKKysjaW5jbHVkZSAiYmFzZS9sb2dn aW5nLmgiCisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgImJhc2UvdGlt ZS9kZWZhdWx0X3RpY2tfY2xvY2suaCIKKysjaW5jbHVkZSAibWVkaWEvYXVkaW8vYXVkaW9fbWFu YWdlcl9iYXNlLmgiCisrI2luY2x1ZGUgIm1lZGlhL2Jhc2UvYXVkaW9fdGltZXN0YW1wX2hlbHBl ci5oIgorKyNpbmNsdWRlICJtZWRpYS9hdWRpby9zbmRpby9zbmRpb19vdXRwdXQuaCIKKysKKytu YW1lc3BhY2UgbWVkaWEgeworKworK3N0YXRpYyBjb25zdCBTYW1wbGVGb3JtYXQga1NhbXBsZUZv cm1hdCA9IGtTYW1wbGVGb3JtYXRTMTY7CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFt OjpPbk1vdmVDYWxsYmFjayh2b2lkICphcmcsIGludCBkZWx0YSkgeworKyAgU25kaW9BdWRpb091 dHB1dFN0cmVhbSogc2VsZiA9IHN0YXRpY19jYXN0PFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qPihh cmcpOworKworKyAgc2VsZi0+aHdfZGVsYXkgLT0gZGVsdGE7CisrfQorKworK3ZvaWQgU25kaW9B dWRpb091dHB1dFN0cmVhbTo6T25Wb2xDYWxsYmFjayh2b2lkICphcmcsIHVuc2lnbmVkIGludCB2 b2wpIHsKKysgIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW0qIHNlbGYgPSBzdGF0aWNfY2FzdDxTbmRp b0F1ZGlvT3V0cHV0U3RyZWFtKj4oYXJnKTsKKysKKysgIHNlbGYtPnZvbCA9IHZvbDsKKyt9Cisr Cisrdm9pZCAqU25kaW9BdWRpb091dHB1dFN0cmVhbTo6VGhyZWFkRW50cnkodm9pZCAqYXJnKSB7 CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKiBzZWxmID0gc3RhdGljX2Nhc3Q8U25kaW9BdWRp b091dHB1dFN0cmVhbSo+KGFyZyk7CisrCisrICBzZWxmLT5UaHJlYWRMb29wKCk7CisrICByZXR1 cm4gTlVMTDsKKyt9CisrCisrU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U25kaW9BdWRpb091dHB1 dFN0cmVhbShjb25zdCBBdWRpb1BhcmFtZXRlcnMmIHBhcmFtcywKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXIp CisrICAgIDogbWFuYWdlcihtYW5hZ2VyKSwKKysgICAgICBwYXJhbXMocGFyYW1zKSwKKysgICAg ICBhdWRpb19idXMoQXVkaW9CdXM6OkNyZWF0ZShwYXJhbXMpKSwKKysgICAgICBzdGF0ZShrQ2xv c2VkKSwKKysgICAgICBtdXRleChQVEhSRUFEX01VVEVYX0lOSVRJQUxJWkVSKSB7CisrfQorKwor K1NuZGlvQXVkaW9PdXRwdXRTdHJlYW06On5TbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKCkgeworKyAg aWYgKHN0YXRlICE9IGtDbG9zZWQpCisrICAgIENsb3NlKCk7CisrfQorKworK2Jvb2wgU25kaW9B dWRpb091dHB1dFN0cmVhbTo6T3BlbigpIHsKKysgIHN0cnVjdCBzaW9fcGFyIHBhcjsKKysgIGlu dCBzaWc7CisrCisrICBpZiAocGFyYW1zLmZvcm1hdCgpICE9IEF1ZGlvUGFyYW1ldGVyczo6QVVE SU9fUENNX0xJTkVBUiAmJgorKyAgICAgIHBhcmFtcy5mb3JtYXQoKSAhPSBBdWRpb1BhcmFtZXRl cnM6OkFVRElPX1BDTV9MT1dfTEFURU5DWSkgeworKyAgICBMT0coV0FSTklORykgPDwgIlVuc3Vw cG9ydGVkIGF1ZGlvIGZvcm1hdC4iOworKyAgICByZXR1cm4gZmFsc2U7CisrICB9CisrICBzaW9f aW5pdHBhcigmcGFyKTsKKysgIHBhci5yYXRlID0gcGFyYW1zLnNhbXBsZV9yYXRlKCk7CisrICBw YXIucGNoYW4gPSBwYXJhbXMuY2hhbm5lbHMoKTsKKysgIHBhci5iaXRzID0gU2FtcGxlRm9ybWF0 VG9CaXRzUGVyQ2hhbm5lbChrU2FtcGxlRm9ybWF0KTsKKysgIHBhci5icHMgPSBwYXIuYml0cyAv IDg7CisrICBwYXIuc2lnID0gc2lnID0gcGFyLmJpdHMgIT0gOCA/IDEgOiAwOworKyAgcGFyLmxl ID0gU0lPX0xFX05BVElWRTsKKysgIHBhci5hcHBidWZzeiA9IHBhcmFtcy5mcmFtZXNfcGVyX2J1 ZmZlcigpOworKworKyAgaGRsID0gc2lvX29wZW4oU0lPX0RFVkFOWSwgU0lPX1BMQVksIDApOwor KyAgaWYgKGhkbCA9PSBOVUxMKSB7CisrICAgIExPRyhFUlJPUikgPDwgIkNvdWxkbid0IG9wZW4g YXVkaW8gZGV2aWNlLiI7CisrICAgIHJldHVybiBmYWxzZTsKKysgIH0KKysgIGlmICghc2lvX3Nl dHBhcihoZGwsICZwYXIpIHx8ICFzaW9fZ2V0cGFyKGhkbCwgJnBhcikpIHsKKysgICAgTE9HKEVS Uk9SKSA8PCAiQ291bGRuJ3Qgc2V0IGF1ZGlvIHBhcmFtZXRlcnMuIjsKKysgICAgZ290byBiYWRf Y2xvc2U7CisrICB9CisrICBpZiAocGFyLnJhdGUgICE9ICh1bnNpZ25lZCBpbnQpcGFyYW1zLnNh bXBsZV9yYXRlKCkgfHwKKysgICAgICBwYXIucGNoYW4gIT0gKHVuc2lnbmVkIGludClwYXJhbXMu Y2hhbm5lbHMoKSB8fAorKyAgICAgIHBhci5iaXRzICAhPSAodW5zaWduZWQgaW50KVNhbXBsZUZv cm1hdFRvQml0c1BlckNoYW5uZWwoa1NhbXBsZUZvcm1hdCkgfHwKKysgICAgICBwYXIuc2lnICAg IT0gKHVuc2lnbmVkIGludClzaWcgfHwKKysgICAgICAocGFyLmJwcyA+IDEgJiYgcGFyLmxlICE9 IFNJT19MRV9OQVRJVkUpIHx8CisrICAgICAgKHBhci5iaXRzICE9IHBhci5icHMgKiA4KSkgewor KyAgICBMT0coRVJST1IpIDw8ICJVbnN1cHBvcnRlZCBhdWRpbyBwYXJhbWV0ZXJzLiI7CisrICAg IGdvdG8gYmFkX2Nsb3NlOworKyAgfQorKyAgc3RhdGUgPSBrU3RvcHBlZDsKKysgIHZvbHBlbmRp bmcgPSAwOworKyAgdm9sID0gMDsKKysgIGJ1ZmZlciA9IG5ldyBjaGFyW2F1ZGlvX2J1cy0+ZnJh bWVzKCkgKiBwYXJhbXMuR2V0Qnl0ZXNQZXJGcmFtZShrU2FtcGxlRm9ybWF0KV07CisrICBzaW9f b25tb3ZlKGhkbCwgJk9uTW92ZUNhbGxiYWNrLCB0aGlzKTsKKysgIHNpb19vbnZvbChoZGwsICZP blZvbENhbGxiYWNrLCB0aGlzKTsKKysgIHJldHVybiB0cnVlOworKyBiYWRfY2xvc2U6CisrICBz aW9fY2xvc2UoaGRsKTsKKysgIHJldHVybiBmYWxzZTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlv T3V0cHV0U3RyZWFtOjpDbG9zZSgpIHsKKysgIGlmIChzdGF0ZSA9PSBrQ2xvc2VkKQorKyAgICBy ZXR1cm47CisrICBpZiAoc3RhdGUgPT0ga1J1bm5pbmcpCisrICAgIFN0b3AoKTsKKysgIHN0YXRl ID0ga0Nsb3NlZDsKKysgIGRlbGV0ZSBbXSBidWZmZXI7CisrICBzaW9fY2xvc2UoaGRsKTsKKysg IG1hbmFnZXItPlJlbGVhc2VPdXRwdXRTdHJlYW0odGhpcyk7ICAvLyBDYWxscyB0aGUgZGVzdHJ1 Y3RvcgorK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlN0YXJ0KEF1ZGlvU291 cmNlQ2FsbGJhY2sqIGNhbGxiYWNrKSB7CisrICBzdGF0ZSA9IGtSdW5uaW5nOworKyAgaHdfZGVs YXkgPSAwOworKyAgc291cmNlID0gY2FsbGJhY2s7CisrICBzaW9fc3RhcnQoaGRsKTsKKysgIGlm IChwdGhyZWFkX2NyZWF0ZSgmdGhyZWFkLCBOVUxMLCAmVGhyZWFkRW50cnksIHRoaXMpICE9IDAp IHsKKysgICAgTE9HKEVSUk9SKSA8PCAiRmFpbGVkIHRvIGNyZWF0ZSByZWFsLXRpbWUgdGhyZWFk LiI7CisrICAgIHNpb19zdG9wKGhkbCk7CisrICAgIHN0YXRlID0ga1N0b3BwZWQ7CisrICB9Cisr fQorKworK3ZvaWQgU25kaW9BdWRpb091dHB1dFN0cmVhbTo6U3RvcCgpIHsKKysgIGlmIChzdGF0 ZSA9PSBrU3RvcHBlZCkKKysgICAgcmV0dXJuOworKyAgc3RhdGUgPSBrU3RvcFdhaXQ7CisrICBw dGhyZWFkX2pvaW4odGhyZWFkLCBOVUxMKTsKKysgIHNpb19zdG9wKGhkbCk7CisrICBzdGF0ZSA9 IGtTdG9wcGVkOworK30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlNldFZvbHVt ZShkb3VibGUgdikgeworKyAgcHRocmVhZF9tdXRleF9sb2NrKCZtdXRleCk7CisrICB2b2wgPSB2 ICogU0lPX01BWFZPTDsKKysgIHZvbHBlbmRpbmcgPSAxOworKyAgcHRocmVhZF9tdXRleF91bmxv Y2soJm11dGV4KTsKKyt9CisrCisrdm9pZCBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtOjpHZXRWb2x1 bWUoZG91YmxlKiB2KSB7CisrICBwdGhyZWFkX211dGV4X2xvY2soJm11dGV4KTsKKysgICp2ID0g dm9sICogKDEuIC8gU0lPX01BWFZPTCk7CisrICBwdGhyZWFkX211dGV4X3VubG9jaygmbXV0ZXgp OworK30KKysKKysvLyBUaGlzIHN0cmVhbSBpcyBhbHdheXMgdXNlZCB3aXRoIHN1YiBzZWNvbmQg YnVmZmVyIHNpemVzLCB3aGVyZSBpdCdzCisrLy8gc3VmZmljaWVudCB0byBzaW1wbHkgYWx3YXlz IGZsdXNoIHVwb24gU3RhcnQoKS4KKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OkZsdXNo KCkge30KKysKKyt2b2lkIFNuZGlvQXVkaW9PdXRwdXRTdHJlYW06OlRocmVhZExvb3Aodm9pZCkg eworKyAgaW50IGF2YWlsLCBjb3VudCwgcmVzdWx0OworKworKyAgd2hpbGUgKHN0YXRlID09IGtS dW5uaW5nKSB7CisrICAgIC8vIFVwZGF0ZSB2b2x1bWUgaWYgbmVlZGVkCisrICAgIHB0aHJlYWRf bXV0ZXhfbG9jaygmbXV0ZXgpOworKyAgICBpZiAodm9scGVuZGluZykgeworKyAgICAgIHZvbHBl bmRpbmcgPSAwOworKyAgICAgIHNpb19zZXR2b2woaGRsLCB2b2wpOworKyAgICB9CisrICAgIHB0 aHJlYWRfbXV0ZXhfdW5sb2NrKCZtdXRleCk7CisrCisrICAgIC8vIEdldCBkYXRhIHRvIHBsYXkK KysgICAgY29uc3QgYmFzZTo6VGltZURlbHRhIGRlbGF5ID0gQXVkaW9UaW1lc3RhbXBIZWxwZXI6 OkZyYW1lc1RvVGltZShod19kZWxheSwKKysJcGFyYW1zLnNhbXBsZV9yYXRlKCkpOworKyAgICBj b3VudCA9IHNvdXJjZS0+T25Nb3JlRGF0YShkZWxheSwgYmFzZTo6VGltZVRpY2tzOjpOb3coKSwg MCwgYXVkaW9fYnVzLmdldCgpKTsKKysgICAgYXVkaW9fYnVzLT5Ub0ludGVybGVhdmVkPFNpZ25l ZEludDE2U2FtcGxlVHlwZVRyYWl0cz4oY291bnQsIHJlaW50ZXJwcmV0X2Nhc3Q8aW50MTZfdCo+ KGJ1ZmZlcikpOworKyAgICBpZiAoY291bnQgPT0gMCkgeworKyAgICAgIC8vIFdlIGhhdmUgdG8g c3VibWl0IHNvbWV0aGluZyB0byB0aGUgZGV2aWNlCisrICAgICAgY291bnQgPSBhdWRpb19idXMt PmZyYW1lcygpOworKyAgICAgIG1lbXNldChidWZmZXIsIDAsIGNvdW50ICogcGFyYW1zLkdldEJ5 dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCkpOworKyAgICAgIExPRyhXQVJOSU5HKSA8PCAiTm8g ZGF0YSB0byBwbGF5LCBydW5uaW5nIGVtcHR5IGN5Y2xlLiI7CisrICAgIH0KKysKKysgICAgLy8g U3VibWl0IGRhdGEgdG8gdGhlIGRldmljZQorKyAgICBhdmFpbCA9IGNvdW50ICogcGFyYW1zLkdl dEJ5dGVzUGVyRnJhbWUoa1NhbXBsZUZvcm1hdCk7CisrICAgIHJlc3VsdCA9IHNpb193cml0ZSho ZGwsIGJ1ZmZlciwgYXZhaWwpOworKyAgICBpZiAocmVzdWx0ID09IDApIHsKKysgICAgICBMT0co V0FSTklORykgPDwgIkF1ZGlvIGRldmljZSBkaXNjb25uZWN0ZWQuIjsKKysgICAgICBicmVhazsK KysgICAgfQorKworKyAgICAvLyBVcGRhdGUgaGFyZHdhcmUgcG9pbnRlcgorKyAgICBod19kZWxh eSArPSBjb3VudDsKKysgIH0KKyt9CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCistLS0gL2Rl di9udWxsCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVk aWEvYXVkaW8vc25kaW8vc25kaW9fb3V0cHV0LmgKK0BAIC0wLDAgKzEsODYgQEAKKysvLyBDb3B5 cmlnaHQgKGMpIDIwMTIgVGhlIENocm9taXVtIEF1dGhvcnMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu CisrLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUg bGljZW5zZSB0aGF0IGNhbiBiZQorKy8vIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCisrCisr I2lmbmRlZiBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKysjZGVmaW5lIE1FRElB X0FVRElPX1NORElPX1NORElPX09VVFBVVF9IXworKworKyNpbmNsdWRlIDxwdGhyZWFkLmg+Cisr I2luY2x1ZGUgPHNuZGlvLmg+CisrCisrI2luY2x1ZGUgImJhc2UvdGltZS90aWNrX2Nsb2NrLmgi CisrI2luY2x1ZGUgImJhc2UvdGltZS90aW1lLmgiCisrI2luY2x1ZGUgIm1lZGlhL2F1ZGlvL2F1 ZGlvX2lvLmgiCisrCisrbmFtZXNwYWNlIG1lZGlhIHsKKysKKytjbGFzcyBBdWRpb01hbmFnZXJC YXNlOworKworKy8vIEltcGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtIHVzaW5nIHNu ZGlvKDcpCisrY2xhc3MgU25kaW9BdWRpb091dHB1dFN0cmVhbSA6IHB1YmxpYyBBdWRpb091dHB1 dFN0cmVhbSB7CisrIHB1YmxpYzoKKysgIC8vIFRoZSBtYW5hZ2VyIGlzIGNyZWF0aW5nIHRoaXMg b2JqZWN0CisrICBTbmRpb0F1ZGlvT3V0cHV0U3RyZWFtKGNvbnN0IEF1ZGlvUGFyYW1ldGVycyYg cGFyYW1zLAorKyAgICAgICAgICAgICAgICAgICAgICAgICBBdWRpb01hbmFnZXJCYXNlKiBtYW5h Z2VyKTsKKysgIHZpcnR1YWwgflNuZGlvQXVkaW9PdXRwdXRTdHJlYW0oKTsKKysKKysgIC8vIElt cGxlbWVudGF0aW9uIG9mIEF1ZGlvT3V0cHV0U3RyZWFtLgorKyAgYm9vbCBPcGVuKCkgb3ZlcnJp ZGU7CisrICB2b2lkIENsb3NlKCkgb3ZlcnJpZGU7CisrICB2b2lkIFN0YXJ0KEF1ZGlvU291cmNl Q2FsbGJhY2sqIGNhbGxiYWNrKSBvdmVycmlkZTsKKysgIHZvaWQgU3RvcCgpIG92ZXJyaWRlOwor KyAgdm9pZCBTZXRWb2x1bWUoZG91YmxlIHZvbHVtZSkgb3ZlcnJpZGU7CisrICB2b2lkIEdldFZv bHVtZShkb3VibGUqIHZvbHVtZSkgb3ZlcnJpZGU7CisrICB2b2lkIEZsdXNoKCkgb3ZlcnJpZGU7 CisrCisrICBmcmllbmQgdm9pZCBzbmRpb19vbm1vdmUodm9pZCAqYXJnLCBpbnQgZGVsdGEpOwor KyAgZnJpZW5kIHZvaWQgc25kaW9fb252b2wodm9pZCAqYXJnLCB1bnNpZ25lZCBpbnQgdm9sKTsK KysgIGZyaWVuZCB2b2lkICpzbmRpb190aHJlYWRzdGFydCh2b2lkICphcmcpOworKworKyBwcml2 YXRlOgorKyAgZW51bSBTdHJlYW1TdGF0ZSB7CisrICAgIGtDbG9zZWQsICAgICAgICAgICAgLy8g Tm90IG9wZW5lZCB5ZXQKKysgICAga1N0b3BwZWQsICAgICAgICAgICAvLyBEZXZpY2Ugb3BlbmVk LCBidXQgbm90IHN0YXJ0ZWQgeWV0CisrICAgIGtSdW5uaW5nLCAgICAgICAgICAgLy8gU3RhcnRl ZCwgZGV2aWNlIHBsYXlpbmcKKysgICAga1N0b3BXYWl0ICAgICAgICAgICAvLyBTdG9wcGluZywg d2FpdGluZyBmb3IgdGhlIHJlYWwtdGltZSB0aHJlYWQgdG8gZXhpdAorKyAgfTsKKysKKysgIC8v IEMtc3R5bGUgY2FsbC1iYWNrcworKyAgc3RhdGljIHZvaWQgT25Nb3ZlQ2FsbGJhY2sodm9pZCAq YXJnLCBpbnQgZGVsdGEpOworKyAgc3RhdGljIHZvaWQgT25Wb2xDYWxsYmFjayh2b2lkICphcmcs IHVuc2lnbmVkIGludCB2b2wpOworKyAgc3RhdGljIHZvaWQqIFRocmVhZEVudHJ5KHZvaWQgKmFy Zyk7CisrCisrICAvLyBDb250aW51b3VzbHkgbW92ZXMgZGF0YSBmcm9tIHRoZSBwcm9kdWNlciB0 byB0aGUgZGV2aWNlCisrICB2b2lkIFRocmVhZExvb3Aodm9pZCk7CisrCisrICAvLyBPdXIgY3Jl YXRvciwgdGhlIGF1ZGlvIG1hbmFnZXIgbmVlZHMgdG8gYmUgbm90aWZpZWQgd2hlbiB3ZSBjbG9z ZS4KKysgIEF1ZGlvTWFuYWdlckJhc2UqIG1hbmFnZXI7CisrICAvLyBQYXJhbWV0ZXJzIG9mIHRo ZSBzb3VyY2UKKysgIEF1ZGlvUGFyYW1ldGVycyBwYXJhbXM7CisrICAvLyBTb3VyY2Ugc3RvcmVz IGRhdGEgaGVyZQorKyAgc3RkOjp1bmlxdWVfcHRyPEF1ZGlvQnVzPiBhdWRpb19idXM7CisrICAv LyBDYWxsLWJhY2sgdGhhdCBwcm9kdWNlcyBkYXRhIHRvIHBsYXkKKysgIEF1ZGlvU291cmNlQ2Fs bGJhY2sqIHNvdXJjZTsKKysgIC8vIEhhbmRsZSBvZiB0aGUgYXVkaW8gZGV2aWNlCisrICBzdHJ1 Y3Qgc2lvX2hkbCogaGRsOworKyAgLy8gQ3VycmVudCBzdGF0ZSBvZiB0aGUgc3RyZWFtCisrICBl bnVtIFN0cmVhbVN0YXRlIHN0YXRlOworKyAgLy8gSGlnaCBwcmlvcml0eSB0aHJlYWQgcnVubmlu ZyBUaHJlYWRMb29wKCkKKysgIHB0aHJlYWRfdCB0aHJlYWQ7CisrICAvLyBQcm90ZWN0cyB2b2ws IHZvbHBlbmRpbmcgYW5kIGh3X2RlbGF5CisrICBwdGhyZWFkX211dGV4X3QgbXV0ZXg7CisrICAv LyBDdXJyZW50IHZvbHVtZSBpbiB0aGUgMC4uU0lPX01BWFZPTCByYW5nZQorKyAgaW50IHZvbDsK KysgIC8vIFNldCB0byAxIGlmIHZvbHVtZXMgbXVzdCBiZSByZWZyZXNoZWQgaW4gdGhlIHJlYWx0 aW1lIHRocmVhZAorKyAgaW50IHZvbHBlbmRpbmc7CisrICAvLyBOdW1iZXIgb2YgZnJhbWVzIGJ1 ZmZlcmVkIGluIHRoZSBoYXJkd2FyZQorKyAgaW50IGh3X2RlbGF5OworKyAgLy8gVGVtcG9yYXJ5 IGJ1ZmZlciB3aGVyZSBkYXRhIGlzIHN0b3JlZCBzbmRpby1jb21wYXRpYmxlIGZvcm1hdAorKyAg Y2hhciogYnVmZmVyOworKworKyAgRElTQUxMT1dfQ09QWV9BTkRfQVNTSUdOKFNuZGlvQXVkaW9P dXRwdXRTdHJlYW0pOworK307CisrCisrfSAgLy8gbmFtZXNwYWNlIG1lZGlhCisrCisrI2VuZGlm ICAvLyBNRURJQV9BVURJT19TTkRJT19TTkRJT19PVVRQVVRfSF8KKy0tLSBxdDYtd2ViZW5naW5l LTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL21lZGlhL21lZGlhX29wdGlvbnMuZ25p CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbWVkaWEvbWVk aWFfb3B0aW9ucy5nbmkKK0BAIC0xMzMsNiArMTMzLDkgQEAgZGVjbGFyZV9hcmdzKCkgeworICAg IyBFbmFibGVzIHJ1bnRpbWUgc2VsZWN0aW9uIG9mIEFMU0EgbGlicmFyeSBmb3IgYXVkaW8uCisg ICB1c2VfYWxzYSA9IGZhbHNlCisgCisrICAjIEVuYWJsZSBydW50aW1lIHNlbGVjdGlvbiBvZiBz bmRpbyg3KQorKyAgdXNlX3NuZGlvID0gZmFsc2UKKysKKyAgICMgQWxzYSBzaG91bGQgYmUgdXNl ZCBvbiBub24tQW5kcm9pZCwgbm9uLU1hYyBQT1NJWCBzeXN0ZW1zLgorICAgIyBBbHNhIHNob3Vs ZCBiZSB1c2VkIG9uIGRlc2t0b3AgQ2hyb21lY2FzdCBhbmQgYXVkaW8tb25seSBDaHJvbWVjYXN0 IGJ1aWxkcy4KKyAgIGlmIChpc19wb3NpeCAmJiAhaXNfYW5kcm9pZCAmJiAhaXNfbWFjICYmCmRp ZmYgLS1naXQgYS9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9taXVtLW11 c2wtaGFja3MucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAwLWNocm9t aXVtLW11c2wtaGFja3MucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MDAwLi41MjVhZWI4YTYzZDIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdp bmUvcGF0Y2hlcy8wMzAwLWNocm9taXVtLW11c2wtaGFja3MucGF0Y2gKQEAgLTAsMCArMSw1MiBA QAorLS0tIHF0Ni13ZWJlbmdpbmUtNi40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vYmFz ZS9kZWJ1Zy9zdGFja190cmFjZS5jYworKysrIHF0Ni13ZWJlbmdpbmUtNi40LjIvc3JjLzNyZHBh cnR5L2Nocm9taXVtL2Jhc2UvZGVidWcvc3RhY2tfdHJhY2UuY2MKK0BAIC0yMzQsNyArMjM0LDcg QEAgYm9vbCBTdGFja1RyYWNlOjpXaWxsU3ltYm9saXplVG9TdHJlYW1GbworICAgLy8gU3ltYm9s cyBhcmUgbm90IGV4cGVjdGVkIHRvIGJlIHJlbGlhYmxlIHdoZW4gZ24gYXJncyBzcGVjaWZpZXMK KyAgIC8vIHN5bWJvbF9sZXZlbD0wLgorICAgcmV0dXJuIGZhbHNlOworLSNlbGlmIGRlZmluZWQo X19VQ0xJQkNfXykgfHwgZGVmaW5lZChfQUlYKQorKyNlbGlmIGRlZmluZWQoX19HTElCQ19fKSB8 fCBkZWZpbmVkKF9BSVgpCisgICAvLyBTdGFja1RyYWNlOjpPdXRwdXRUb1N0cmVhbSgpIGlzIG5v dCBpbXBsZW1lbnRlZCB1bmRlciB1Y2xpYmMsIG5vciBBSVguCisgICAvLyBTZWUgaHR0cHM6Ly9j cmJ1Zy5jb20vNzA2NzI4CisgICByZXR1cm4gZmFsc2U7CitAQCAtMjczLDcgKzI3Myw5IEBAIHZv aWQgU3RhY2tUcmFjZTo6UHJpbnQoKSBjb25zdCB7CisgfQorIAorIHZvaWQgU3RhY2tUcmFjZTo6 T3V0cHV0VG9TdHJlYW0oc3RkOjpvc3RyZWFtKiBvcykgY29uc3QgeworKyNpZiBkZWZpbmVkKF9f R0xJQkNfXykKKyAgIE91dHB1dFRvU3RyZWFtV2l0aFByZWZpeChvcywgbnVsbHB0cik7CisrI2Vu ZGlmCisgfQorIAorIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nKCkgY29uc3Qgewor QEAgLTI4MSwxNCArMjgzLDE0IEBAIHN0ZDo6c3RyaW5nIFN0YWNrVHJhY2U6OlRvU3RyaW5nKCkg Y29uc3QKKyB9Cisgc3RkOjpzdHJpbmcgU3RhY2tUcmFjZTo6VG9TdHJpbmdXaXRoUHJlZml4KGNv bnN0IGNoYXIqIHByZWZpeF9zdHJpbmcpIGNvbnN0IHsKKyAgIHN0ZDo6c3RyaW5nc3RyZWFtIHN0 cmVhbTsKKy0jaWYgIWRlZmluZWQoX19VQ0xJQkNfXykgJiYgIWRlZmluZWQoX0FJWCkKKysjaWYg ZGVmaW5lZChfX0dMSUJDX18pICYmICFkZWZpbmVkKF9BSVgpCisgICBPdXRwdXRUb1N0cmVhbVdp dGhQcmVmaXgoJnN0cmVhbSwgcHJlZml4X3N0cmluZyk7CisgI2VuZGlmCisgICByZXR1cm4gc3Ry ZWFtLnN0cigpOworIH0KKyAKKyBzdGQ6Om9zdHJlYW0mIG9wZXJhdG9yPDwoc3RkOjpvc3RyZWFt JiBvcywgY29uc3QgU3RhY2tUcmFjZSYgcykgeworLSNpZiAhZGVmaW5lZChfX1VDTElCQ19fKSAm JiAhZGVmaW5lZChfQUlYKQorKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX0FJ WCkKKyAgIHMuT3V0cHV0VG9TdHJlYW0oJm9zKTsKKyAjZWxzZQorICAgb3MgPDwgIlN0YWNrVHJh Y2U6Ok91dHB1dFRvU3RyZWFtIG5vdCBpbXBsZW1lbnRlZC4iOworLS0tIHF0Ni13ZWJlbmdpbmUt Ni40LjIub3JpZy9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0L3NvY2tldC91ZHBfc29ja2V0X3Bv c2l4LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vbmV0 L3NvY2tldC91ZHBfc29ja2V0X3Bvc2l4LmNjCitAQCAtMTE1Nyw3ICsxMTU3LDExIEBAIFNlbmRS ZXN1bHQgVURQU29ja2V0UG9zaXhTZW5kZXI6OkludGVybmEKKyAgICAgbXNnX2lvdi0+cHVzaF9i YWNrKHtjb25zdF9jYXN0PGNoYXIqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+bGVuZ3RoKCl9 KTsKKyAgIG1zZ3ZlYy0+cmVzZXJ2ZShidWZmZXJzLnNpemUoKSk7CisgICBmb3IgKHNpemVfdCBq ID0gMDsgaiA8IGJ1ZmZlcnMuc2l6ZSgpOyBqKyspCisrI2lmZGVmIF9fR0xJQkNfXworICAgICBt c2d2ZWMtPnB1c2hfYmFjayh7e251bGxwdHIsIDAsICZtc2dfaW92W2pdLCAxLCBudWxscHRyLCAw LCAwfSwgMH0pOworKyNlbHNlCisrICAgIG1zZ3ZlYy0+cHVzaF9iYWNrKHt7bnVsbHB0ciwgMCwg Jm1zZ19pb3Zbal0sIDEsIDAsIDAsIDB9LCAwfSk7CisrI2VuZGlmCisgICBpbnQgcmVzdWx0ID0g SEFORExFX0VJTlRSKFNlbmRtbXNnKGZkLCAmbXNndmVjWzBdLCBidWZmZXJzLnNpemUoKSwgMCkp OworICAgU2VuZFJlc3VsdCBzZW5kX3Jlc3VsdCgwLCAwLCBzdGQ6Om1vdmUoYnVmZmVycykpOwor ICAgaWYgKHJlc3VsdCA8IDApIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9w YXRjaGVzLzAzMDEtY2hyb21pdW0tbXVzbC1zYW5kYm94LnBhdGNoIGIvc3JjcGtncy9xdDYtd2Vi ZW5naW5lL3BhdGNoZXMvMDMwMS1jaHJvbWl1bS1tdXNsLXNhbmRib3gucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40YWZiZWM1Yjk4ZWYKLS0tIC9kZXYvbnVs bAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAxLWNocm9taXVtLW11c2wt c2FuZGJveC5wYXRjaApAQCAtMCwwICsxLDg2IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5v cmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBl cnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5jYworKysrIHF0Ni13ZWJlbmdpbmUt Ni40LjIvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCitAQCAtMTM0LDYgKzEzNCw3 IEBAIG5hbWVzcGFjZSBzYW5kYm94IHsKKyBSZXN1bHRFeHByIFJlc3RyaWN0Q2xvbmVUb1RocmVh ZHNBbmRFUEVSTUZvcmsoKSB7CisgICBjb25zdCBBcmc8dW5zaWduZWQgbG9uZz4gZmxhZ3MoMCk7 CisgCisrI2lmZGVmIF9fR0xJQkNfXworICAgLy8gVE9ETyhtZGVtcHNreSk6IEV4dGVuZCBEU0wg dG8gc3VwcG9ydCAoZmxhZ3MgJiB+bWFzazEpID09IG1hc2syLgorICAgY29uc3QgdWludDY0X3Qg a0FuZHJvaWRDbG9uZU1hc2sgPSBDTE9ORV9WTSB8IENMT05FX0ZTIHwgQ0xPTkVfRklMRVMgfAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDTE9ORV9TSUdIQU5EIHwgQ0xP TkVfVEhSRUFEIHwKK0BAIC0xNjAsNiArMTYxLDE2IEBAIFJlc3VsdEV4cHIgUmVzdHJpY3RDbG9u ZVRvVGhyZWFkc0FuZEVQRVIKKyAgIHJldHVybiBJZihJc0FuZHJvaWQoKSA/IGFuZHJvaWRfdGVz dCA6IGdsaWJjX3Rlc3QsIEFsbG93KCkpCisgICAgICAgLkVsc2VJZihpc19mb3JrX29yX2Nsb25l X3Zmb3JrLCBFcnJvcihFUEVSTSkpCisgICAgICAgLkVsc2UoQ3Jhc2hTSUdTWVNDbG9uZSgpKTsK KysjZWxzZQorKyAgY29uc3QgaW50IHJlcXVpcmVkID0gQ0xPTkVfVk0gfCBDTE9ORV9GUyB8IENM T05FX0ZJTEVTIHwgQ0xPTkVfU0lHSEFORCB8CisrICAgICAgICAgICAgICAgICAgICAgICBDTE9O RV9USFJFQUQgfCBDTE9ORV9TWVNWU0VNOworKyAgY29uc3QgaW50IHNhZmUgPSBDTE9ORV9TRVRU TFMgfCBDTE9ORV9QQVJFTlRfU0VUVElEIHwgQ0xPTkVfQ0hJTERfQ0xFQVJUSUQgfAorKyAgICAg ICAgICAgICAgICAgICBDTE9ORV9ERVRBQ0hFRDsKKysgIGNvbnN0IEJvb2xFeHByIHRocmVhZF9j bG9uZV9vayA9IChmbGFncyZ+c2FmZSk9PXJlcXVpcmVkOworKyAgcmV0dXJuIElmKHRocmVhZF9j bG9uZV9vaywgQWxsb3coKSkKKysgICAgICAuRWxzZUlmKChmbGFncyAmIChDTE9ORV9WTSB8IENM T05FX1RIUkVBRCkpID09IDAsIEVycm9yKEVQRVJNKSkKKysgICAgICAuRWxzZShDcmFzaFNJR1NZ U0Nsb25lKCkpOworKyNlbmRpZgorIH0KKyAKKyAjaWZuZGVmIFBSX1BBQ19SRVNFVF9LRVlTCist LS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjCisrKysgcXQ2LXdlYmVu Z2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9saW51eC9zZWNjb21wLWJw Zi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5jYworQEAgLTQyNCw2ICs0MjQsOSBAQCBib29sIFN5c2Nh bGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPCisgI2lmIGRlZmluZWQoX19pMzg2X18pCisg ICAgIGNhc2UgX19OUl93YWl0cGlkOgorICNlbmRpZgorKyNpZiAhZGVmaW5lZChfX0dMSUJDX18p CisrICAgIGNhc2UgX19OUl9zZXRfdGlkX2FkZHJlc3M6CisrI2VuZGlmCisgICAgICAgcmV0dXJu IHRydWU7CisgICAgIGNhc2UgX19OUl9jbG9uZTogIC8vIFNob3VsZCBiZSBwYXJhbWV0ZXItcmVz dHJpY3RlZC4KKyAgICAgY2FzZSBfX05SX3NldG5zOiAgLy8gUHJpdmlsZWdlZC4KK0BAIC00MzYs NyArNDM5LDkgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkUHJvY2Vzc1N0YXJ0TworICNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pCisgICAgIGNhc2UgX19OUl9zZXRfdGhyZWFkX2FyZWE6CisgI2VuZGlmCisrI2lmIGRl ZmluZWQoX19HTElCQ19fKQorICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgorKyNlbmRp ZgorICAgICBjYXNlIF9fTlJfdW5zaGFyZToKKyAjaWYgIWRlZmluZWQoX19taXBzX18pICYmICFk ZWZpbmVkKF9fYWFyY2g2NF9fKQorICAgICBjYXNlIF9fTlJfdmZvcms6CitAQCAtNTUwLDYgKzU1 NSw5IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2Fz ZSBfX05SX21sb2NrOgorICAgICBjYXNlIF9fTlJfbXVubG9jazoKKyAgICAgY2FzZSBfX05SX211 bm1hcDoKKysjaWZuZGVmIF9fR0xJQkNfXworKyAgICBjYXNlIF9fTlJfbXJlbWFwOgorKyNlbmRp ZgorICAgICAgIHJldHVybiB0cnVlOworICAgICBjYXNlIF9fTlJfbWFkdmlzZToKKyAgICAgY2Fz ZSBfX05SX21pbmNvcmU6CitAQCAtNTY3LDcgKzU3NSw5IEBAIGJvb2wgU3lzY2FsbFNldHM6Oklz QWxsb3dlZEFkZHJlc3NTcGFjZUEKKyAgICAgY2FzZSBfX05SX21vZGlmeV9sZHQ6CisgI2VuZGlm CisgICAgIGNhc2UgX19OUl9tcHJvdGVjdDoKKysjaWZkZWYgX19HTElCQ19fCisgICAgIGNhc2Ug X19OUl9tcmVtYXA6CisrI2VuZGlmCisgICAgIGNhc2UgX19OUl9tc3luYzoKKyAgICAgY2FzZSBf X05SX211bmxvY2thbGw6CisgICAgIGNhc2UgX19OUl9yZWFkYWhlYWQ6CistLS0gcXQ2LXdlYmVu Z2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9zYW5kYm94L3BvbGljeS9saW51 eC9icGZfcmVuZGVyZXJfcG9saWN5X2xpbnV4LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9z cmMvM3JkcGFydHkvY2hyb21pdW0vc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3Bv bGljeV9saW51eC5jYworQEAgLTk5LDkgKzk5LDE0IEBAIFJlc3VsdEV4cHIgUmVuZGVyZXJQcm9j ZXNzUG9saWN5OjpFdmFsdWEKKyAgICAgY2FzZSBfX05SX3VuYW1lOgorICAgICBjYXNlIF9fTlJf c2NoZWRfZ2V0cGFyYW06CisgICAgIGNhc2UgX19OUl9zY2hlZF9nZXRzY2hlZHVsZXI6CisrI2lm bmRlZiBfX0dMSUJDX18KKysgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxlcjoKKysjZW5k aWYKKyAgICAgICByZXR1cm4gQWxsb3coKTsKKyAgICAgY2FzZSBfX05SX3NjaGVkX2dldGFmZmlu aXR5OgorKyNpZmRlZiBfX0dMSUJDX18KKyAgICAgY2FzZSBfX05SX3NjaGVkX3NldHNjaGVkdWxl cjoKKysjZW5kaWYKKyAgICAgICByZXR1cm4gUmVzdHJpY3RTY2hlZFRhcmdldChHZXRQb2xpY3lQ aWQoKSwgc3lzbm8pOworICAgICBjYXNlIF9fTlJfcHJsaW1pdDY0OgorICAgICAgIC8vIFNlZSBj cmJ1Zy5jb20vNjYyNDUwIGFuZCBzZXRybGltaXQgY29tbWVudCBhYm92ZS4KZGlmZiAtLWdpdCBh L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzAzMDItY2hyb21pdW0tbm8tbWFsbGluZm8u cGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wMzAyLWNocm9taXVtLW5vLW1h bGxpbmZvLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNTE5 OTMwZTdiZWYwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNo ZXMvMDMwMi1jaHJvbWl1bS1uby1tYWxsaW5mby5wYXRjaApAQCAtMCwwICsxLDY3IEBACistLS0g cXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9iYXNlL3Byb2Nl c3MvcHJvY2Vzc19tZXRyaWNzX3Bvc2l4LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMv M3JkcGFydHkvY2hyb21pdW0vYmFzZS9wcm9jZXNzL3Byb2Nlc3NfbWV0cmljc19wb3NpeC5jYwor QEAgLTEwNSw3ICsxMDUsOCBAQCB2b2lkIEluY3JlYXNlRmRMaW1pdFRvKHVuc2lnbmVkIGludCBt YXhfCisgCisgI2VuZGlmICAvLyAhQlVJTERGTEFHKElTX0ZVQ0hTSUEpCisgCistI2lmIEJVSUxE RkxBRyhJU19MSU5VWCkgfHwgQlVJTERGTEFHKElTX0NIUk9NRU9TKSB8fCBCVUlMREZMQUcoSVNf QU5EUk9JRCkKKysjaWYgKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18p KSB8fCBcCisrCUJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwgQlVJTERGTEFHKElTX0FORFJPSUQp CisgbmFtZXNwYWNlIHsKKyAKKyBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKK0BA IC0xMjMsMTcgKzEyNCwxOCBAQCBzaXplX3QgR2V0TWFsbG9jVXNhZ2VNYWxsaW5mbygpIHsKKyB9 CisgCisgfSAgLy8gbmFtZXNwYWNlCistI2VuZGlmICAvLyBCVUlMREZMQUcoSVNfTElOVVgpIHx8 IEJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwKKy0gICAgICAgIC8vIEJVSUxERkxBRyhJU19BTkRS T0lEKQorKyNlbmRpZiAgLy8gKEJVSUxERkxBRyhJU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJD X18pIHx8CisrCS8vIEJVSUxERkxBRyhJU19DSFJPTUVPUykgfHwgQlVJTERGTEFHKElTX0FORFJP SUQpCisgCisgc2l6ZV90IFByb2Nlc3NNZXRyaWNzOjpHZXRNYWxsb2NVc2FnZSgpIHsKKyAjaWYg QlVJTERGTEFHKElTX0FQUExFKQorICAgbWFsbG9jX3N0YXRpc3RpY3NfdCBzdGF0cyA9IHswfTsK KyAgIG1hbGxvY196b25lX3N0YXRpc3RpY3MobnVsbHB0ciwgJnN0YXRzKTsKKyAgIHJldHVybiBz dGF0cy5zaXplX2luX3VzZTsKKy0jZWxpZiBCVUlMREZMQUcoSVNfTElOVVgpIHx8IEJVSUxERkxB RyhJU19DSFJPTUVPUykgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpCisrI2VsaWYgKEJVSUxERkxB RyhJU19MSU5VWCkgJiYgZGVmaW5lZChfX0dMSUJDX18pKSB8fCBcCisrCUJVSUxERkxBRyhJU19D SFJPTUVPUykgfHwgQlVJTERGTEFHKElTX0FORFJPSUQpCisgICByZXR1cm4gR2V0TWFsbG9jVXNh Z2VNYWxsaW5mbygpOworLSNlbGlmIEJVSUxERkxBRyhJU19GVUNIU0lBKQorKyNlbGlmIEJVSUxE RkxBRyhJU19GVUNIU0lBKSB8fCAoQlVJTERGTEFHKElTX0xJTlVYKSAmJiAhZGVmaW5lZChfX0dM SUJDX18pKQorICAgLy8gVE9ETyhmdWNoc2lhKTogTm90IGN1cnJlbnRseSBleHBvc2VkLiBodHRw czovL2NyYnVnLmNvbS83MzUwODcuCisgICByZXR1cm4gMDsKKyAjZW5kaWYKKy0tLSBxdDYtd2Vi ZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL2Jhc2UvdHJhY2VfZXZlbnQv bWFsbG9jX2R1bXBfcHJvdmlkZXIuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRw YXJ0eS9jaHJvbWl1bS9iYXNlL3RyYWNlX2V2ZW50L21hbGxvY19kdW1wX3Byb3ZpZGVyLmNjCitA QCAtMTc0LDcgKzE3NCw4IEBAIHZvaWQgUmVwb3J0QXBwbGVBbGxvY1N0YXRzKHNpemVfdCogdG90 YWwKKyAKKyAjaWYgKEJVSUxERkxBRyhVU0VfUEFSVElUSU9OX0FMTE9DX0FTX01BTExPQykgJiYg QlVJTERGTEFHKElTX0FORFJPSUQpKSB8fCBcCisgICAgICghQlVJTERGTEFHKFVTRV9QQVJUSVRJ T05fQUxMT0NfQVNfTUFMTE9DKSAmJiAhQlVJTERGTEFHKElTX1dJTikgJiYgICAgXAorLSAgICAg IUJVSUxERkxBRyhJU19BUFBMRSkgJiYgIUJVSUxERkxBRyhJU19XSU4pICYmICFCVUlMREZMQUco SVNfRlVDSFNJQSkpCisrICAgICAhQlVJTERGTEFHKElTX0FQUExFKSAmJiAhQlVJTERGTEFHKElT X1dJTikgJiYgIUJVSUxERkxBRyhJU19GVUNIU0lBKSAmJiBcCisrICAgICAhKEJVSUxERkxBRyhJ U19MSU5VWCkgJiYgIWRlZmluZWQoX19HTElCQ19fKSkpCisgdm9pZCBSZXBvcnRNYWxsaW5mb1N0 YXRzKFByb2Nlc3NNZW1vcnlEdW1wKiBwbWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVfdCogdG90YWxfdmlydHVhbF9zaXplLAorICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl X3QqIHJlc2lkZW50X3NpemUsCitAQCAtMzM5LDcgKzM0MCw3IEBAIGJvb2wgTWFsbG9jRHVtcFBy b3ZpZGVyOjpPbk1lbW9yeUR1bXAoY28KKyAgICAgICAgICAgICAgICAgICAgICAmYWxsb2NhdGVk X29iamVjdHNfY291bnQpOworICNlbGlmIEJVSUxERkxBRyhJU19GVUNIU0lBKQorIC8vIFRPRE8o ZnVjaHNpYSk6IFBvcnQsIHNlZSBodHRwczovL2NyYnVnLmNvbS83MDY1OTIuCistI2Vsc2UKKysj ZWxpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAgIFJlcG9ydE1hbGxpbmZvU3RhdHMoLypwbWQ9Ki9u dWxscHRyLCAmdG90YWxfdmlydHVhbF9zaXplLCAmcmVzaWRlbnRfc2l6ZSwKKyAgICAgICAgICAg ICAgICAgICAgICAgJmFsbG9jYXRlZF9vYmplY3RzX3NpemUsICZhbGxvY2F0ZWRfb2JqZWN0c19j b3VudCk7CisgI2VuZGlmCistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0 eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxp bmcvbWVtb3J5X2luZm8uY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9wcm9maWxpbmcv bWVtb3J5X2luZm8uY2MKK0BAIC0zNSw3ICszNSw3IEBAIGJvb2wgTWVtb3J5VXNhZ2U6OklzU3Vw cG9ydGVkKCkgeworIAorIE1lbW9yeVVzYWdlIEdldE1lbW9yeVVzYWdlKCkgeworICAgTWVtb3J5 VXNhZ2UgcmVzdWx0OworLSNpZmRlZiBfX2xpbnV4X18KKysjaWYgZGVmaW5lZChfX2xpbnV4X18p ICYmIGRlZmluZWQoX19HTElCQ19fKQorICAgcnVzYWdlIHJlczsKKyAgIGlmIChnZXRydXNhZ2Uo UlVTQUdFX1NFTEYsICZyZXMpID09IDApIHsKKyAgICAgcmVzdWx0Lm1heF9yc3Nfa2IgPSByZXMu cnVfbWF4cnNzOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDcw MC1hcm12N2wtbmVvbi5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3MDAt YXJtdjdsLW5lb24ucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw Li41Y2ExOTUzZDJjYjMKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUv cGF0Y2hlcy8wNzAwLWFybXY3bC1uZW9uLnBhdGNoCkBAIC0wLDAgKzEsMTAgQEAKKy0tLSBxdDYt d2ViZW5naW5lLTYuNC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3NraWEvQlVJTEQuZ24K KysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS9za2lhL0JVSUxE LmduCitAQCAtNzg2LDcgKzc4Niw2IEBAIHNraWFfc291cmNlX3NldCgic2tpYV9vcHRzIikgewor ICAgICAgICAgIyBSb290IGJ1aWxkIGNvbmZpZyBzZXRzIC1tZnB1PSRhcm1fZnB1LCB3aGljaCB3 ZSBleHBlY3QgdG8gYmUgbmVvbgorICAgICAgICAgIyB3aGVuIHJ1bm5pbmcgdGhpcy4KKyAgICAg ICAgIGlmICghYXJtX3VzZV9uZW9uKSB7CistICAgICAgICAgIGNvbmZpZ3MgLT0gWyAiLy9idWls ZC9jb25maWcvY29tcGlsZXI6Y29tcGlsZXJfYXJtX2ZwdSIgXQorICAgICAgICAgICBjZmxhZ3Mg Kz0gWyAiLW1mcHU9bmVvbiIgXQorICAgICAgICAgfQorICAgICAgIH0KZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTAtY2hyb21pdW0tbXVzbC1jcm9zcy1uby1h c21fcHRyYWNlX2gucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUwLWNo cm9taXVtLW11c2wtY3Jvc3Mtbm8tYXNtX3B0cmFjZV9oLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uY2E3YjAxNTA5NjJjCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1MC1jaHJvbWl1bS1tdXNsLWNyb3NzLW5v LWFzbV9wdHJhY2VfaC5wYXRjaApAQCAtMCwwICsxLDMwIEBACistLS0gcXQ2LXdlYmVuZ2luZS02 LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVy LmNjCisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIv bGludXhfcHRyYWNlX2R1bXBlci5jYworQEAgLTM4LDcgKzM4LDEyIEBACisgCisgI2luY2x1ZGUg ImNsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlci5oIgorIAor KyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyAjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgorKyNlbHNl CisrLyogRm9yIGFybSotbXVzbCB0aGlzIGRlZmluaXRpb24gaXMgbWlzc2luZyAqLworKyNkZWZp bmUgQVJNX3NwIHVyZWdzWzEzXQorKyNlbmRpZgorICNpbmNsdWRlIDxhc3NlcnQuaD4KKyAjaW5j bHVkZSA8ZXJybm8uaD4KKyAjaW5jbHVkZSA8ZmNudGwuaD4KKy0tLSBxdDYtd2ViZW5naW5lLTYu NC4yLm9yaWcvc3JjLzNyZHBhcnR5L2Nocm9taXVtL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNj CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9zcmMvM3JkcGFydHkvY2hyb21pdW0vdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGlu dXhfY29yZV9kdW1wZXIuY2MKK0BAIC0zMiw3ICszMiwxMiBAQAorIAorICNpbmNsdWRlICJjbGll bnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmgiCisgCisrI2lmIGRl ZmluZWQoX19HTElCQ19fKQorICNpbmNsdWRlIDxhc20vcHRyYWNlLmg+CisrI2Vsc2UKKysvKiBG b3IgYXJtKi1tdXNsIHRoaXMgZGVmaW5pdGlvbiBpcyBtaXNzaW5nICovCisrI2RlZmluZSBBUk1f c3AgdXJlZ3NbMTNdCisrI2VuZGlmCisgI2luY2x1ZGUgPGFzc2VydC5oPgorICNpbmNsdWRlIDxl bGYuaD4KKyAjaW5jbHVkZSA8c3RkaW8uaD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzA3NTEtY2hyb21pdW0tbXVzbC1hcm0tdXNlcl92ZnAucGF0Y2ggYi9zcmNw a2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wNzUxLWNocm9taXVtLW11c2wtYXJtLXVzZXJfdmZw LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDdjMTgwMzZk NTAzCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3BhdGNoZXMvMDc1 MS1jaHJvbWl1bS1tdXNsLWFybS11c2VyX3ZmcC5wYXRjaApAQCAtMCwwICsxLDIwIEBACistLS0g cXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKKysrKyBxdDYtd2Vi ZW5naW5lLTYuNC4yL3NyYy8zcmRwYXJ0eS9jaHJvbWl1bS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKK0BAIC0xNyw2ICsxNywxNyBAQAorIAor ICNpbmNsdWRlIDxzdGRpbnQuaD4KKyAjaW5jbHVkZSA8c3lzL3VzZXIuaD4KKysjaWYgIWRlZmlu ZWQoX19HTElCQ19fKQorK3N0cnVjdCB1c2VyX3ZmcCB7CisrCXVuc2lnbmVkIGxvbmcgbG9uZyBm cHJlZ3NbMzJdOworKwl1bnNpZ25lZCBsb25nIGZwc2NyOworK307Cisrc3RydWN0IHVzZXJfdmZw X2V4YyB7CisrCXVuc2lnbmVkIGxvbmcgZnBleGM7CisrCXVuc2lnbmVkIGxvbmcgZnBpbnN0Owor Kwl1bnNpZ25lZCBsb25nIGZwaW5zdDI7CisrfTsKKysjZW5kaWYgLyogIWRlZmluZWQoX19HTElC Q19fKSAqLworIAorICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTItY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZf dC5wYXRjaCBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA3NTItY2hyb21pdW0tbXVz bC1hcm0tZWxmX2F1eHZfdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAwMDAuLjUyZjVmNDdiZTgzMQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVu Z2luZS9wYXRjaGVzLzA3NTItY2hyb21pdW0tbXVzbC1hcm0tZWxmX2F1eHZfdC5wYXRjaApAQCAt MCwwICsxLDE4IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL3NyYy8zcmRwYXJ0eS9j aHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MKKysrKyBxdDYtd2ViZW5naW5lLTYuNC4yL3NyYy8z cmRwYXJ0eS9jaHJvbWl1bS92OC9zcmMvYmFzZS9jcHUuY2MKK0BAIC0xNjUsNiArMTY1LDE1IEBA IHN0YXRpYyBWOF9JTkxJTkUgdm9pZCBfX2NwdWlkKGludCBjcHVfaW4KKyAKKyAjaWYgVjhfSE9T VF9BUkNIX0FSTSB8fCBWOF9IT1NUX0FSQ0hfQVJNNjQKKyAKKysjaWZuZGVmIF9fR0xJQkNfXwor KyNpbmNsdWRlIDxlbGYuaD4KKysjaWZkZWYgX19MUDY0X18KKyt0eXBlZGVmIEVsZjY0X2F1eHZf dCBlbGZfYXV4dl90OworKyNlbHNlCisrdHlwZWRlZiBFbGYzMl9hdXh2X3QgZWxmX2F1eHZfdDsK KysjZW5kaWYKKysjZW5kaWYKKysKKyBzdGF0aWMgdWludDMyX3QgUmVhZEVMRkhXQ2FwcygpIHsK KyAgIHVpbnQzMl90IHJlc3VsdCA9IDA7CisgI2lmIFY4X0dMSUJDX1BSRVJFUSgyLCAxNikKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS9wYXRjaGVzLzA5MDAtY3Jvc3MtYnVpbGQt ZXhhbXBsZXMucGF0Y2ggYi9zcmNwa2dzL3F0Ni13ZWJlbmdpbmUvcGF0Y2hlcy8wOTAwLWNyb3Nz LWJ1aWxkLWV4YW1wbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MDAwMC4uOWE2YWNjNmFmNmRlCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9xdDYtd2ViZW5n aW5lL3BhdGNoZXMvMDkwMC1jcm9zcy1idWlsZC1leGFtcGxlcy5wYXRjaApAQCAtMCwwICsxLDE2 IEBACistLS0gcXQ2LXdlYmVuZ2luZS02LjQuMi5vcmlnL2V4YW1wbGVzL0NNYWtlTGlzdHMudHh0 CisrKysgcXQ2LXdlYmVuZ2luZS02LjQuMi9leGFtcGxlcy9DTWFrZUxpc3RzLnR4dAorQEAgLTEs NyArMSw2IEBACisgY21ha2VfbWluaW11bV9yZXF1aXJlZChWRVJTSU9OIDMuMTYpCisgCisgcXRf ZXhhbXBsZXNfYnVpbGRfYmVnaW4oRVhURVJOQUxfQlVJTEQpCistaWYoTk9UIENNQUtFX0NST1NT Q09NUElMSU5HKSAjUVRCVUctODY1MzMKKyAgICAgaWYoVEFSR0VUIFF0OjpXZWJFbmdpbmVDb3Jl KQorICAgICAgICAgYWRkX3N1YmRpcmVjdG9yeSh3ZWJlbmdpbmVxdWljaykKKyAgICAgZW5kaWYo KQorQEAgLTE0LDUgKzEzLDQgQEAgaWYoTk9UIENNQUtFX0NST1NTQ09NUElMSU5HKSAjUVRCVUct ODY1MworICAgICBpZihUQVJHRVQgUXQ6OlBkZldpZGdldHMpCisgICAgICAgICBhZGRfc3ViZGly ZWN0b3J5KHBkZndpZGdldHMpCisgICAgIGVuZGlmKCkKKy1lbmRpZigpCisgcXRfZXhhbXBsZXNf YnVpbGRfZW5kKCkKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZSBi L3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAwMDAuLjQwYTEwNjg0MzM0ZQotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3Mv cXQ2LXdlYmVuZ2luZS90ZW1wbGF0ZQpAQCAtMCwwICsxLDE4MiBAQAorIyBUZW1wbGF0ZSBmaWxl IGZvciAncXQ2LXdlYmVuZ2luZScKK3BrZ25hbWU9cXQ2LXdlYmVuZ2luZQordmVyc2lvbj02LjQu MgorcmV2aXNpb249MQord3Jrc3JjPSJxdHdlYmVuZ2luZS1ldmVyeXdoZXJlLXNyYy0ke3ZlcnNp b259IgorYnVpbGRfc3R5bGU9Y21ha2UKK2NvbmZpZ3VyZV9hcmdzPSIKKyAtRFFUX0ZFQVRVUkVf d2ViZW5naW5lX3N5c3RlbV9mZm1wZWc9T04KKyAtRFFUX0ZFQVRVUkVfd2ViZW5naW5lX3N5c3Rl bV9saWJldmVudD1PTgorIC1EUVRfRkVBVFVSRV93ZWJlbmdpbmVfc3lzdGVtX2duPU9OCisgLURR VF9GRUFUVVJFX3dlYmVuZ2luZV9zeXN0ZW1faWN1PU9OCisgLURRVF9GRUFUVVJFX3dlYmVuZ2lu ZV93ZWJydGNfcGlwZXdpcmU9T04KKyAtRE5pbmphX0VYRUNVVEFCTEU9JFhCUFNfV1JBUFBFUkRJ Ui9uaW5qYQorIC1EUVRfQlVJTERfRVhBTVBMRVM9T04KKyAtRFBLR19DT05GSUdfSE9TVF9FWEVD VVRBQkxFPSR7UEtHX0NPTkZJR19GT1JfQlVJTER9IgoraG9zdG1ha2VkZXBlbmRzPSJxdDYtYmFz ZS1kZXZlbCBwZXJsIHBrZy1jb25maWcgbm9kZWpzIHB5dGhvbjMtaHRtbDVsaWIKKyBxdDYtZGVj bGFyYXRpdmUtZGV2ZWwgcHJvdG9idWYgZ3BlcmYgZmxleCBuc3MtZGV2ZWwgbGlid2VicC1kZXZl bAorIGljdS1kZXZlbCBsaWJldmVudC1kZXZlbCIKK21ha2VkZXBlbmRzPSJxdDYtYmFzZS1kZXZl bCBxdDYtZGVjbGFyYXRpdmUtZGV2ZWwgcHVsc2VhdWRpby1kZXZlbAorIHF0Ni10b29scy1kZXZl bCBxdDYtd2Vic29ja2V0cy1kZXZlbCBsaWJmbGFjLWRldmVsIHF0Ni1zdmctZGV2ZWwKKyBhbHNh LWxpYi1kZXZlbCBsaWJ2cHgtZGV2ZWwgcGNpdXRpbHMtZGV2ZWwgb3B1cy1kZXZlbCBsaWJ4c2x0 LWRldmVsCisgbGlieG1sMi1kZXZlbCBmcmVldHlwZS1kZXZlbCBsY21zMi1kZXZlbCBsaWJ3ZWJw LWRldmVsIGljdS1kZXZlbAorIHJlMi1kZXZlbCB6bGliLWRldmVsIGxpYnBuZy1kZXZlbCBtaW5p emlwLWRldmVsIGhhcmZidXp6LWRldmVsCisgbnNzLWRldmVsIGxpYlhjdXJzb3ItZGV2ZWwgbGli WGNvbXBvc2l0ZS1kZXZlbCBsaWJYU2NyblNhdmVyLWRldmVsCisgcHJvdG9idWYtZGV2ZWwgZmZt cGVnLWRldmVsIHNuYXBweS1kZXZlbCBsaWJldmVudC1kZXZlbCBwaXBld2lyZS1kZXZlbAorIGxp YnhrYmZpbGUtZGV2ZWwgcXQ2LWxvY2F0aW9uLWRldmVsIHF0Ni13ZWJjaGFubmVsLWRldmVsIGxp YnhzaG1mZW5jZS1kZXZlbCIKKyMgTm90IHdvcmtpbmcgcHJvcGVybHkgd2l0aCBIVFRQUyB3aXRo b3V0IHRob3NlIHBhY2thZ2VzCisjIE5vdCBzdHJpY3QgZGVwZW5kZW5jaWVzLCB0aG91Z2gKK2Rl cGVuZHM9InF0Ni1wbHVnaW4tdGxzLW9wZW5zc2wgcXQ2LXBsdWdpbi10bHMtcWNlcnRvbmx5Igor c2hvcnRfZGVzYz0iQ3Jvc3MtcGxhdGZvcm0gYXBwbGljYXRpb24gYW5kIFVJIGZyYW1ld29yayAt IFdlYmVuZ2luZSIKK21haW50YWluZXI9IkpvaG4gPG1lQGpvaG5ueW5hdG9yLmRldj4iCitsaWNl bnNlPSJHUEwtMy4wLW9ubHksIEdQTC0yLjAtb25seSwgTEdQTC0zLjAtb25seSwgQlNELTMtQ2xh dXNlIgoraG9tZXBhZ2U9Imh0dHBzOi8vd3d3LnF0LmlvIgorZGlzdGZpbGVzPSJodHRwczovL2Rv d25sb2FkLnF0LmlvL29mZmljaWFsX3JlbGVhc2VzL3F0LyR7dmVyc2lvbiUuKn0vJHt2ZXJzaW9u fS9zdWJtb2R1bGVzL3F0d2ViZW5naW5lLWV2ZXJ5d2hlcmUtc3JjLSR7dmVyc2lvbn0udGFyLnh6 IgorY2hlY2tzdW09ZmZhOTQ1NTE4ZDFjYzhkOWVlNzM1MjNlOGQ5YzIwOTA4NDRmNWEyZDljN2Vh YzA1YzRhZDA3OTQ3MmExMTljOQorCitub2Nyb3NzPSJ1bnRpbCBsYXRlciwgSSBuZWVkIGNhbGli cmUgZmlyc3QiCisKK2lmIFsgIiRDUk9TU19CVUlMRCIgXTt0aGVuCisJY29uZmlndXJlX2FyZ3Mr PSIgLURRVF9CVUlMRF9UT09MU19XSEVOX0NST1NTQ09NUElMSU5HPVRSVUUiCisJY29uZmlndXJl X2FyZ3MrPSIgLURDTUFLRV9UT09MQ0hBSU5fRklMRT0vdXNyL2xpYi9jbWFrZS9RdDYvcXQudG9v bGNoYWluLmNtYWtlIgorZmkKKworaWYgWyAiJFhCUFNfTElCQyIgPSAibXVzbCIgXTsgdGhlbgor CWhvc3RtYWtlZGVwZW5kcys9IiBtdXNsLWxlZ2FjeS1jb21wYXQiCitmaQorCitpZiBbICIkWEJQ U19UQVJHRVRfTElCQyIgPSAibXVzbCIgXTsgdGhlbgorCW1ha2VkZXBlbmRzKz0iIG11c2wtbGVn YWN5LWNvbXBhdCIKK2ZpCisKK2lmIFsgISAiJFhCUFNfV09SRFNJWkUiID0gIiRYQlBTX1RBUkdF VF9XT1JEU0laRSIgXTsgdGhlbgorCWJyb2tlbj0id2ViZW5naW5lIGNhbiBiZSBidWlsdCBvbmx5 IGlmIHdvcmQgc2l6ZSBtYXRjaGVzIgorZmkKKworaWYgWyAiJFhCUFNfV09SRFNJWkUiID0gMzIg XTsgdGhlbgorCUNGTEFHUz0tZzEKKwlDWFhGTEFHUz0tZzEKKwlMREZMQUdTPSItV2wsLS1uby1r ZWVwLW1lbW9yeSIKK2ZpCisKK2Nhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCXBwYyop IGJyb2tlbj0ibm90IHBvcnRlZCIgOzsKK2VzYWMKKworI2J1aWxkX29wdGlvbnM9ImV4YW1wbGVz IgorI2J1aWxkX29wdGlvbnNfZGVmYXVsdD0iZXhhbXBsZXMiCisjZGVzY19vcHRpb25fZXhhbXBs ZXM9IkJ1aWxkIGV4YW1wbGVzIgorCitzdWJwYWNrYWdlcz0icXQ2LXdlYmVuZ2luZS1kZXZlbCIK KworI2lmIFsgIiRidWlsZF9vcHRpb25fZXhhbXBsZXMiIF07IHRoZW4KKwlzdWJwYWNrYWdlcys9 IiBxdDYtd2ViZW5naW5lLWV4YW1wbGVzIgorI2ZpCisKK19ib290c3RyYXBfZ24oKSB7CisJIyBC b290c3RyYXAgZ24gKGdlbmVyYXRlIG5pbmphKQorCWVjaG8gIkJvb3RzdHJhcHBpbmcgJ2duJyIK KwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2duCisJQ0ZMQUdTPSIkQ0ZMQUdTX2hvc3QiIENY WEZMQUdTPSIkQ1hYRkxBR1NfaG9zdCIgTERGTEFHUz0iJExERkxBR1NfaG9zdCIgXAorCVBLR0NP TkZJRz0vdXNyL2Jpbi9wa2djb25maWcgUEtHX0NPTkZJR19QQVRIPSIvdXNyL2xpYi9wa2djb25m aWc6L3Vzci9zaGFyZS9wa2djb25maWciIFwKKwkJcHl0aG9uMyBidWlsZC9nZW4ucHkgLS1uby1s YXN0LWNvbW1pdC1wb3NpdGlvbiAtLW91dC1wYXRoIFwKKwkJCSR7d3Jrc3JjfS9zcmMvM3JkcGFy dHkvZ24vb3V0L1JlbGVhc2UgLS1jYyAiJHtDQ19ob3N0Oi0kQ0N9IiBcCisJCQktLWN4eCAiJHtD WFhfaG9zdDotJENYWH0iIC0tbGQgIiR7Q1hYX2hvc3Q6LSRDWFh9IiAtLWFyICIke0FSX2hvc3Q6 LSRBUn0iIFwKKwkJCS0tcXQtdmVyc2lvbiAiJHt2ZXJzaW9ufS5xdHdlYmVuZ2luZS5xdC5pbyIK KwluaW5qYSAtQyBvdXQvUmVsZWFzZSBnbgorCWNkICR7d3Jrc3JjfQorfQorCitfdW5idW5kbGVf bGlicygpIHsKKwljZCAke3dya3NyY30vc3JjLzNyZHBhcnR5L2Nocm9taXVtCisJZWNobyBEcm9w cGluZyBidW5kbGVkIGxpYnMgZnJvbSBjaHJvbWl1bQorCSMgVXNlIHN5c3RlbS1wcm92aWRlZCBs aWJyYXJpZXMuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2h1bnNwZWxsICh1cHN0cmVhbSBjaGFuZ2Vz IG5lZWRlZCkuCisJIyBUT0RPOiB1c2Vfc3lzdGVtX2xpYnNydHAuCisJIyBUT0RPOiB1c2Vfc3lz dGVtX2xpYnVzYiAoaHR0cDovL2NyYnVnLmNvbS8yNjYxNDkpLgorCSMgVE9ETzogdXNlX3N5c3Rl bV9zc2wgKGh0dHA6Ly9jcmJ1Zy5jb20vNTgwODcpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9zcWxp dGUgKGh0dHA6Ly9jcmJ1Zy5jb20vMjIyMDgpLgorCSMgVE9ETzogdXNlX3N5c3RlbV9pY3UgKHNl Z2ZhdWx0cykKKwkjIHVzZV9zeXN0ZW1fcHJvdG9idWYKKwkjIHVzZV9zeXN0ZW1fdjg9MQorCSMg dXNlX3N5c3RlbV96bGliPTEKKwkjIGJ6aXAyIGpzb25jcHAgbWluaXppcCB4ZGdfdXRpbHMgc3Bl ZXgKKwlzeXN0ZW09IgorCQlmZm1wZWcKKwkJZmxhYworCQlmb250Y29uZmlnCisJCWZyZWV0eXBl CisJCWhhcmZidXp6LW5nCisJCWljdQorCQlsaWJkcm0KKwkJbGliZXZlbnQKKwkJbGlianBlZwor CQlsaWJwbmcKKwkJbGlid2VicAorCQlsaWJ4bWwKKwkJbGlieHNsdAorCQlvcHVzCisJCXJlMgor CQlzbmFwcHkKKwkiCisJYnVpbGQvbGludXgvdW5idW5kbGUvcmVwbGFjZV9nbl9maWxlcy5weSAt LXN5c3RlbS1saWJyYXJpZXMgJHtzeXN0ZW19Cit9CisKKyMgUHJvdmlkZSBhIHdyYXBwZXIgdG8g cnVuIC4veGJwcy1zcmMgLWogMSBidWlsZCBsYXRlcgorX3dyYXBfbmluamEoKSB7CisJY2F0IDw8 LSdfRU9GJyA+IiRYQlBTX1dSQVBQRVJESVIiL25pbmphCisJIyEvYmluL3NoCisKKwlleGVjIC91 c3IvYmluL25pbmphICROSU5KQUZMQUdTICIkQCIKKwlfRU9GCisJY2htb2QgK3ggIiRYQlBTX1dS QVBQRVJESVIiL25pbmphCit9CisKK3ByZV9jb25maWd1cmUoKSB7CisJX2Jvb3RzdHJhcF9nbgor CSMgX3VuYnVuZGxlX2xpYnMKKwlfd3JhcF9uaW5qYQorCWV4cG9ydCBQQVRIPSIkUEFUSDoke3dy a3NyY30vc3JjLzNyZHBhcnR5L2duL291dC9SZWxlYXNlIgorfQorCitwcmVfYnVpbGQoKSB7CisJ ZXhwb3J0IFBBVEg9IiRQQVRIOiR7d3Jrc3JjfS9zcmMvM3JkcGFydHkvZ24vb3V0L1JlbGVhc2Ui CisJZXhwb3J0IE5JTkpBRkxBR1M9IiRtYWtlam9icyIKKworfQorCitwcmVfaW5zdGFsbCgpIHsK KwlleHBvcnQgUEFUSD0iJFBBVEg6JHt3cmtzcmN9L3NyYy8zcmRwYXJ0eS9nbi9vdXQvUmVsZWFz ZSIKK30KKworcG9zdF9pbnN0YWxsKCkgeworCWxvY2FsIF9maWxlCisJZmluZCAiJHtERVNURElS fSIvdXNyL2xpYi9xdDYvZXhhbXBsZXMgXAorCQktcGF0aCAnKi9saWIvcXQ2LyoqL2xpYi9xdDYv KicgLXR5cGUgZiB8CisJd2hpbGUgcmVhZCBfZmlsZTsgZG8KKwkJbXYgIiRfZmlsZSIgIiR7X2Zp bGUlL2xpYi9xdDYvKn0iCisJZG9uZQorfQorCitxdDYtd2ViZW5naW5lLWRldmVsX3BhY2thZ2Uo KSB7CisJZGVwZW5kcz0iJHtzb3VyY2Vwa2d9Pj0ke3ZlcnNpb259XyR7cmV2aXNpb259IHF0Ni13 ZWJjaGFubmVsLWRldmVsPj0ke3ZlcnNpb259XzEKKwkgcXQ2LWRlY2xhcmF0aXZlLWRldmVsPj0k e3ZlcnNpb259XzEgcXQ2LWxvY2F0aW9uLWRldmVsPj0ke3ZlcnNpb259XzEiCisJc2hvcnRfZGVz Yys9IiAtIGRldmVsb3BtZW50IGZpbGVzIgorCXBrZ19pbnN0YWxsKCkgeworCQl2bW92ZSB1c3Iv aW5jbHVkZQorCQl2bW92ZSB1c3IvbGliL2NtYWtlCisJCXZtb3ZlIHVzci9saWIvcGtnY29uZmln CisJCXZtb3ZlIHVzci9saWIvcXQ2L21rc3BlY3MKKwkJdm1vdmUgInVzci9saWIvKi5zbyIKKwkJ dm1vdmUgInVzci9saWIvKi5wcmwiCisJCXZtb3ZlIHVzci9zaGFyZS9xdDYvbW9kdWxlcworCX0K K30KKworcXQ2LXdlYmVuZ2luZS1leGFtcGxlc19wYWNrYWdlKCkgeworCXNob3J0X2Rlc2MrPSIg LSBzYW1wbGUgYnJvd3NlcnMiCisJZGVwZW5kcz0icXQ2LXN2ZyIKKwlwa2dfaW5zdGFsbCgpIHsK KwkJdm1vdmUgdXNyL2xpYi9xdDYvZXhhbXBsZXMKKwl9Cit9CmRpZmYgLS1naXQgYS9zcmNwa2dz L3F0Ni13ZWJlbmdpbmUvdXBkYXRlIGIvc3JjcGtncy9xdDYtd2ViZW5naW5lL3VwZGF0ZQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjg0NDU1MjQ2NTIyMgotLS0gL2Rl di9udWxsCisrKyBiL3NyY3BrZ3MvcXQ2LXdlYmVuZ2luZS91cGRhdGUKQEAgLTAsMCArMSBAQAor cGtnbmFtZT0iJHtwa2duYW1lLzYtL30tZXZlcnl3aGVyZS1zcmMiCg== --===============7315031731172742257==--