From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Than Ngo To: git-commits@fedoraproject.org Subject: [rpms/chromium] epel9-next: update to 119.0.6045.105 Date: Fri, 07 Aug 2026 16:05:36 GMT Message-ID: <178611873690.1.14147190159936138439.rpms-chromium-ded4d0bd8394@fedoraproject.org> List-ID: X-Git-Repo: rpms/chromium X-Git-Branch: epel9-next X-Git-Rev: ded4d0bd83946c9b98402d6f2f7ad6691c409cf4 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvY2hyb21pdW0KQnJh bmNoIDogZXBlbDktbmV4dApDb21taXQgOiBkZWQ0ZDBiZDgzOTQ2YzliOTg0MDJkNmYyZjdhZDY2 OTFjNDA5Y2Y0CkF1dGhvciA6IFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+CkRhdGUgICA6IDIw MjMtMTEtMDFUMjM6MDA6NTUrMDE6MDAKU3RhdHMgIDogKzEyOTcvLTEyMzMgaW4gMTMgZmlsZShz KQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Nocm9taXVtL2Mv ZGVkNGQwYmQ4Mzk0NmM5Yjk4NDAyZDZmMmY3YWQ2NjkxYzQwOWNmND9icmFuY2g9ZXBlbDktbmV4 dAoKTG9nOgp1cGRhdGUgdG8gMTE5LjAuNjA0NS4xMDUKCi0tLQpkaWZmIC0tZ2l0IGEvY2hyb21p dW0tMTA3LWZmbXBlZy1kdXJhdGlvbi5wYXRjaCBiL2Nocm9taXVtLTEwNy1mZm1wZWctZHVyYXRp b24ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVlMDFjZDkuLjAwMDAwMDAK LS0tIGEvY2hyb21pdW0tMTA3LWZmbXBlZy1kdXJhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDE2ICswLDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTEwNy4wLjUzMDQuMTIxL21lZGlhL2Zp bHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MubWUgY2hyb21pdW0tMTA3LjAuNTMwNC4xMjEvbWVk aWEvZmlsdGVycy9hdWRpb19maWxlX3JlYWRlci5jYwotLS0tIGNocm9taXVtLTEwNy4wLjUzMDQu MTIxL21lZGlhL2ZpbHRlcnMvYXVkaW9fZmlsZV9yZWFkZXIuY2MubWUJMjAyMi0xMi0xNyAwODoy NzoxMi4yMDQ3NTMwNzEgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDcuMC41MzA0LjEyMS9tZWRpYS9m aWx0ZXJzL2F1ZGlvX2ZpbGVfcmVhZGVyLmNjCTIwMjItMTItMTcgMDg6Mjg6NDAuOTA4MjExODA4 ICswMTAwCi1AQCAtMjQzLDEwICsyNDMsMTAgQEAgYm9vbCBBdWRpb0ZpbGVSZWFkZXI6Ok9uTmV3 RnJhbWUoCi0gICAvLyBzaWxlbmNlIGZyb20gYmVpbmcgb3V0cHV0LiBJbiB0aGUgY2FzZSB3aGVy ZSB3ZSBhcmUgYWxzbyBkaXNjYXJkaW5nIHNvbWUKLSAgIC8vIHBvcnRpb24gb2YgdGhlIHBhY2tl dCAoYXMgaW5kaWNhdGVkIGJ5IGEgbmVnYXRpdmUgcHRzKSwgd2UgZnVydGhlciB3YW50IHRvCi0g ICAvLyBhZGp1c3QgdGhlIGR1cmF0aW9uIGRvd253YXJkIGJ5IGhvd2V2ZXIgbXVjaCBleGlzdHMg YmVmb3JlIHplcm8uCi0tICBpZiAoYXVkaW9fY29kZWNfID09IEF1ZGlvQ29kZWM6OmtBQUMgJiYg ZnJhbWUtPmR1cmF0aW9uKSB7Ci0rICBpZiAoYXVkaW9fY29kZWNfID09IEF1ZGlvQ29kZWM6OmtB QUMgJiYgZnJhbWUtPnBrdF9kdXJhdGlvbikgewotICAgICBjb25zdCBiYXNlOjpUaW1lRGVsdGEg cGt0X2R1cmF0aW9uID0gQ29udmVydEZyb21UaW1lQmFzZSgKLSAgICAgICAgIGdsdWVfLT5mb3Jt YXRfY29udGV4dCgpLT5zdHJlYW1zW3N0cmVhbV9pbmRleF9dLT50aW1lX2Jhc2UsCi0tICAgICAg ICBmcmFtZS0+ZHVyYXRpb24gKyBzdGQ6Om1pbihzdGF0aWNfY2FzdDxpbnQ2NF90PigwKSwgZnJh bWUtPnB0cykpOwotKyAgICAgICAgZnJhbWUtPnBrdF9kdXJhdGlvbiArIHN0ZDo6bWluKHN0YXRp Y19jYXN0PGludDY0X3Q+KDApLCBmcmFtZS0+cHRzKSk7Ci0gICAgIGNvbnN0IGJhc2U6OlRpbWVE ZWx0YSBmcmFtZV9kdXJhdGlvbiA9Ci0gICAgICAgICBiYXNlOjpTZWNvbmRzKGZyYW1lc19yZWFk IC8gc3RhdGljX2Nhc3Q8ZG91YmxlPihzYW1wbGVfcmF0ZV8pKTsKLSAKCmRpZmYgLS1naXQgYS9j aHJvbWl1bS0xMTctbWVtb3J5X2xlYWtfaW5feHNlcnZlci5wYXRjaCBiL2Nocm9taXVtLTExNy1t ZW1vcnlfbGVha19pbl94c2VydmVyLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAzNWNjNTY0Li4wMDAwMDAwCi0tLSBhL2Nocm9taXVtLTExNy1tZW1vcnlfbGVha19pbl94c2Vy dmVyLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjMgKzAsMCBAQAotY29tbWl0IDQyZDU3ZDAx NmY1ZmI2ZDJhMWEzNTQ3NDNiOWJlOTExYzFiZTg3ZTgKLUF1dGhvcjogSmlhbmh1aSBEYWkgPGpp YW5odWkuai5kYWlAaW50ZWwuY29tPgotRGF0ZTogICBGcmkgU2VwIDIyIDIxOjMwOjA0IDIwMjMg KzAwMDAKLQotICAgIFtHTF0gRnJlZSB0aGUgWDExIHBpeG1hcCBpbiB0aGUgTmF0aXZlUGl4bWFw RUdMWDExQmluZGluZyBkZXN0cnVjdG9yCi0gICAgCi0gICAgVGhpcyBDTCBmcmVlcyB0aGUgWDEx IHBpeG1hcCBpbiB0aGUgTmF0aXZlUGl4bWFwRUdMWDExQmluZGluZyBkZXN0cnVjdG9yCi0gICAg dG8gcHJldmVudCBhIG1lbW9yeSBsZWFrIGluIHRoZSBYIHNlcnZlci4KLSAgICAKLSAgICBCdWc6 IDE0Njc2ODkKLSAgICBDaGFuZ2UtSWQ6IElkNGNiYTMwODI1NDE3ZGI1MjE3NmY5MTY1ZGIzNGQ3 MjM0YTA1YTA1Ci0gICAgUmV2aWV3ZWQtb246IGh0dHBzOi8vY2hyb21pdW0tcmV2aWV3Lmdvb2ds ZXNvdXJjZS5jb20vYy9jaHJvbWl1bS9zcmMvKy80ODg2MjQ5Ci0gICAgUmV2aWV3ZWQtYnk6IFRl ZCAoQ2hyb21pdW0pIE1leWVyIDx0bWF0aG1leWVyQGNocm9taXVtLm9yZz4KLSAgICBDb21taXQt UXVldWU6IFRlZCAoQ2hyb21pdW0pIE1leWVyIDx0bWF0aG1leWVyQGNocm9taXVtLm9yZz4KLSAg ICBSZXZpZXdlZC1ieTogTWFrc2ltIFNpc292IDxtc2lzb3ZAaWdhbGlhLmNvbT4KLSAgICBDci1D b21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFpbkB7IzEyMDA0ODZ9Ci0KLWRpZmYgLS1naXQg YS91aS9vem9uZS9wbGF0Zm9ybS94MTEvbmF0aXZlX3BpeG1hcF9lZ2xfeDExX2JpbmRpbmcuY2Mg Yi91aS9vem9uZS9wbGF0Zm9ybS94MTEvbmF0aXZlX3BpeG1hcF9lZ2xfeDExX2JpbmRpbmcuY2MK LWluZGV4IDQ2YTJkMzI3NGI5MjQuLmI0NmViNjdiOWRlNjAgMTAwNjQ0Ci0tLS0gYS91aS9vem9u ZS9wbGF0Zm9ybS94MTEvbmF0aXZlX3BpeG1hcF9lZ2xfeDExX2JpbmRpbmcuY2MKLSsrKyBiL3Vp L296b25lL3BsYXRmb3JtL3gxMS9uYXRpdmVfcGl4bWFwX2VnbF94MTFfYmluZGluZy5jYwotQEAg LTE0Nyw5ICsxNDcsMTcgQEAgTmF0aXZlUGl4bWFwRUdMWDExQmluZGluZzo6fk5hdGl2ZVBpeG1h cEVHTFgxMUJpbmRpbmcoKSB7Ci0gICBpZiAoc3VyZmFjZV8pIHsKLSAgICAgZWdsRGVzdHJveVN1 cmZhY2UoZGlzcGxheV8sIHN1cmZhY2VfKTsKLSAgIH0KLSsKLSsgIGlmIChwaXhtYXBfICE9IHgx MTo6UGl4bWFwOjpOb25lKSB7Ci0rICAgIGF1dG8qIGNvbm5lY3Rpb24gPSB4MTE6OkNvbm5lY3Rp b246OkdldCgpOwotKyAgICBjb25uZWN0aW9uLT5GcmVlUGl4bWFwKHtwaXhtYXBffSk7Ci0rICB9 Ci0gfQotIAotIGJvb2wgTmF0aXZlUGl4bWFwRUdMWDExQmluZGluZzo6SW5pdGlhbGl6ZSh4MTE6 OlBpeG1hcCBwaXhtYXApIHsKLSsgIENIRUNLX05FKHBpeG1hcCwgeDExOjpQaXhtYXA6Ok5vbmUp OwotKyAgcGl4bWFwXyA9IHBpeG1hcDsKLSsKLSAgIGlmIChlZ2xJbml0aWFsaXplKGRpc3BsYXlf LCBudWxscHRyLCBudWxscHRyKSAhPSBFR0xfVFJVRSkgewotICAgICByZXR1cm4gZmFsc2U7Ci0g ICB9Ci1AQCAtMjIzLDkgKzIzMSw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxOYXRpdmVQaXhtYXBHTEJp bmRpbmc+IE5hdGl2ZVBpeG1hcEVHTFgxMUJpbmRpbmc6OkNyZWF0ZSgKLSAgICAgcmV0dXJuIG51 bGxwdHI7Ci0gICB9Ci0gCi0tICAvLyBUT0RPKGh0dHBzOi8vY3JidWcuY29tLzE0MTE3NDkpOiBp ZiB3ZSBlYXJseSBvdXQgYmVsb3csIHNob3VsZCB3ZSBjYWxsCi0tICAvLyBGcmVlUGl4bWFwKCk/ Ci0tCi0rICAvLyBUcmFuc2ZlciB0aGUgb3duZXJzaGlwIG9mIGBwaXhtYXBgIHRvIGBOYXRpdmVQ aXhtYXBFR0xYMTFCaW5kaW5nYC4KLSAgIGlmICghYmluZGluZy0+SW5pdGlhbGl6ZShzdGQ6Om1v dmUocGl4bWFwKSkpIHsKLSAgICAgVkxPRygxKSA8PCAiVW5hYmxlIHRvIGluaXRpYWxpemUgYmlu ZGluZyBmcm9tIHBpeG1hcCI7Ci0gICAgIHJldHVybiBudWxscHRyOwotZGlmZiAtLWdpdCBhL3Vp L296b25lL3BsYXRmb3JtL3gxMS9uYXRpdmVfcGl4bWFwX2VnbF94MTFfYmluZGluZy5oIGIvdWkv b3pvbmUvcGxhdGZvcm0veDExL25hdGl2ZV9waXhtYXBfZWdsX3gxMV9iaW5kaW5nLmgKLWluZGV4 IDAxM2RmM2Y3NzZhY2MuLjk5YjI2MmI4MmNlOWQgMTAwNjQ0Ci0tLS0gYS91aS9vem9uZS9wbGF0 Zm9ybS94MTEvbmF0aXZlX3BpeG1hcF9lZ2xfeDExX2JpbmRpbmcuaAotKysrIGIvdWkvb3pvbmUv cGxhdGZvcm0veDExL25hdGl2ZV9waXhtYXBfZWdsX3gxMV9iaW5kaW5nLmgKLUBAIC00Nyw2ICs0 Nyw4IEBAIGNsYXNzIE5hdGl2ZVBpeG1hcEVHTFgxMUJpbmRpbmcgOiBwdWJsaWMgTmF0aXZlUGl4 bWFwR0xCaW5kaW5nIHsKLSAgIEVHTFN1cmZhY2Ugc3VyZmFjZV8gPSBudWxscHRyOwotICAgRUdM RGlzcGxheSBkaXNwbGF5XzsKLSAgIGdmeDo6QnVmZmVyRm9ybWF0IGZvcm1hdF87Ci0rCi0rICB4 MTE6OlBpeG1hcCBwaXhtYXBfID0geDExOjpQaXhtYXA6Ok5vbmU7Ci0gfTsKLSAKLSB9ICAvLyBu YW1lc3BhY2UgdWkKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTgtbWlzc2luZy1oZWFkZXItZmls ZXMucGF0Y2ggYi9jaHJvbWl1bS0xMTgtbWlzc2luZy1oZWFkZXItZmlsZXMucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVhNDE1ZGYuLjAwMDAwMDAKLS0tIGEvY2hyb21pdW0t MTE4LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDgyICsw LDAgQEAKLWRpZmYgLXVwIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9j b3VudGVkLmgubWUgY2hyb21pdW0tMTEwLjAuNTQ4MS4xNzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50 ZWQuaAotLS0tIGNocm9taXVtLTExMC4wLjU0ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVk LmgubWUJMjAyMy0wMi0yMyAxMzozNDozMy4xNzQ4MTcyNTUgLTA1MDAKLSsrKyBjaHJvbWl1bS0x MTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291bnRlZC5oCTIwMjMtMDItMjMgMTM6NDI6 MjguNjQ2MDUyNDY5IC0wNTAwCi1AQCAtNiw2ICs2LDcgQEAKLSAjZGVmaW5lIEJBU0VfTUVNT1JZ X1JFRl9DT1VOVEVEX0hfCi0gCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotKyNpbmNsdWRlIDxsaW1p dHM+Ci0gCi0gI2luY2x1ZGUgPHV0aWxpdHk+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hl Y2tfb3AuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jaGVja19vcC5oLm1lCTIw MjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAxNzozOTo0Mi41NDYwNjA5NTcgKzAxMDAK LUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DSEVDS19PUF9IXwotICNkZWZpbmUgQkFT RV9DSEVDS19PUF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxjc3RkZGVm PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPHR5cGVfdHJhaXRzPgotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVyLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQkyMDIzLTAxLTE3IDE2OjI5OjI2LjM2ODA5 MDA3MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxl ci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5ICswMTAwCi1AQCAtNyw2ICs3LDcgQEAK LSAKLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1 ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiYmFzZS9iYXNlX2V4cG9ydC5oIgotZGlmZiAtdXAg Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcvZ3B1X2ZlYXR1cmVfaW5mby5oCi0tLS0g Y2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmlnL2dwdV9mZWF0dXJlX2luZm8uaC5tZQky MDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZvLmgJMjAyMy0wMS0xNyAxOTowNzowOC44 NzQ4NDk4NzkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgR1BVX0NPTkZJR19HUFVf RkVBVFVSRV9JTkZPX0hfCi0gI2RlZmluZSBHUFVfQ09ORklHX0dQVV9GRUFUVVJFX0lORk9fSF8K LSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx2 ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9l eHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaAot LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jhc2UvbmV0X2V4cG9ydC5oLm1lCTIwMjMt MDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0xNyAxODoxNjoxNS45NDU2MjMxNTMgKzAx MDAKLUBAIC01LDYgKzUsOCBAQAotICNpZm5kZWYgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotICNk ZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwot IC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQg YnkgdGhlIG5ldCBtb2R1bGUgY2FuCi0gLy8gYmUgZXhwb3J0ZWQgdG8gY29uc3VtZXJzLCBhbmQg TkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVuaXQgdGVzdHMgdG8KLSAvLyBhY2Nlc3Mg ZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQgZGlyZWN0bHkgYnkgcmVhbCBjb25zdW1l cnMuCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2Fs bF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9icm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgK LS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIv YnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMtMDEtMTcgMTc6MTI6MzQuMTg0Njg2NTE1 ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxf YnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAkyMDIzLTAxLTE3IDE3OjEzOjE2LjUzNzE2 MjQyMCArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU0NB TExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05fSF8KLSAjZGVmaW5lIFNBTkRCT1hfTElO VVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVSTUlTU0lPTl9IXwotIAotKyNpbmNsdWRl IDxjc3RkaW50PgotICNpbmNsdWRlIDxiaXRzZXQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYWJzZWlsLWNwcC9hYnNs L3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgKLS0tLSBjaHJvbWl1bS0x MDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192 aWV3LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3MTczMDcgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmlu Z192aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYxODUzNjUgKzAxMDAKLUBAIC0yNyw2ICsy Nyw3IEBACi0gI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RSSU5HX1ZJRVdfSF8KLSAjZGVmaW5lIEFC U0xfU1RSSU5HU19TVFJJTkdfVklFV19IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNs dWRlIDxhbGdvcml0aG0+Ci0gI2luY2x1ZGUgPGNhc3NlcnQ+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+ Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1 ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCi0tLS0gY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5o Lm1lCTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUwICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVyVmFycy5o CTIwMjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICswMTAwCi1AQCAtMTAsNiArMTAsNyBAQAot ICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCi0gI2RlZmluZSBHTFNMQU5HX1NIQURFUlZB UlNfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotICNp bmNsdWRlIDxhcnJheT4KLSAjaW5jbHVkZSA8c3RyaW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJsaWMvY29tbW9uL2JsdWV0b290aC93ZWJf Ymx1ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQu aAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2Nv bW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5 OjE3OjQwLjQ4MDg3NjE3MSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZpY2Vf aWQuaAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMyMCArMDEwMAotQEAgLTUsNiArNSw3IEBA Ci0gI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJMSUNfQ09NTU9OX0JMVUVUT09USF9XRUJf QkxVRVRPT1RIX0RFVklDRV9JRF9IXwotICNkZWZpbmUgVEhJUkRfUEFSVFlfQkxJTktfUFVCTElD X0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9ERVZJQ0VfSURfSF8KLSAKLSsjaW5jbHVk ZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRp ZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9s YW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWUgY2hyb21pdW0tMTE3LjAuNTkz OC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xhbmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJz ZXIvbmFtZXIuaAotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvZGF3bi9z cmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVyLmgubWUJMjAyMy0wMS0x NyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3Ro aXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGlydi9yZWFkZXIvYXN0X3BhcnNlci9uYW1l ci5oCTIwMjMtMDEtMTcgMTg6MDI6NTcuMjA4Njc5MTQwICswMTAwCi1AQCAtMTUsNiArMTUsNyBA QAotICNpZm5kZWYgU1JDX1RJTlRfUkVBREVSX1NQSVJWX05BTUVSX0hfCi0gI2RlZmluZSBTUkNf VElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8c3RyaW5nPgotICNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgotICNpbmNsdWRlIDx2ZWN0 b3I+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3Jl ZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaC5tZSBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9k bnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlzY292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNf c2RfdHh0X3JlY29yZC5oLm1lCTIwMjMtMDEtMTggMTU6MjI6MzguNDcyOTQwNjQ4ICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNj b3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVjb3JkLmgJMjAyMy0wMS0xOCAxNToyMzow OS4zODAyNTUxMDEgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgRElTQ09WRVJZX0RO U1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotICNkZWZpbmUgRElTQ09WRVJZX0ROU1NE X1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNp bmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDxtYXA+Ci0gI2luY2x1ZGUgPHNldD4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3Jj L1N5c3RlbS9MUlVDYWNoZS5ocHAubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hlLmhwcAotLS0tIGNocm9taXVtLTEwOS4w LjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAu bWUJMjAyMy0wMS0xNyAxNTozNzo0OC41MzA2MjY1MTYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBw CTIwMjMtMDEtMTcgMTY6NTc6NDYuMDI1NTQ4MDkyICswMTAwCi1AQCAtMTcsNiArMTcsNyBAQAot IAotICNpbmNsdWRlICJTeXN0ZW0vRGVidWcuaHBwIgotIAotKyNpbmNsdWRlIDxjc3RkaW50Pgot ICNpbmNsdWRlIDxjc3RkZGVmPgotICNpbmNsdWRlIDxmdW5jdGlvbmFsPgotICNpbmNsdWRlIDx1 bm9yZGVyZWRfc2V0PgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRlL3ZrX21lbV9hbGxvYy5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5j bHVkZS92a19tZW1fYWxsb2MuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFy dHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaC5tZQkyMDIz LTAxLTE3IDE1OjQwOjIzLjg1NDM4NjIwNiArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxs b2MuaAkyMDIzLTAxLTE3IDE2OjU4OjE5LjM5Nzg2Mjg4NSArMDEwMAotQEAgLTIzODgsNiArMjM4 OCw3IEBAIFZNQV9DQUxMX1BSRSB2b2lkIFZNQV9DQUxMX1BPU1Qgdm1hRnJlZVYKLSAjaWZkZWYg Vk1BX0lNUExFTUVOVEFUSU9ODQotICN1bmRlZiBWTUFfSU1QTEVNRU5UQVRJT04NCi0gDQotKyNp bmNsdWRlIDxjc3RkaW8+DQotICNpbmNsdWRlIDxjc3RkaW50Pg0KLSAjaW5jbHVkZSA8Y3N0ZGxp Yj4NCi0gI2luY2x1ZGUgPGNzdHJpbmc+DQotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50LmgKLS0tLSBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJfZ3JhZGllbnQuaC5tZQkyMDIzLTAxLTE3 IDE4OjA4OjI1Ljc0NTQ5MTM1MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkv Z2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCTIwMjMtMDEtMTcgMTg6MDg6MzUuNzc3NjY3 NjMyICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIFVJX0dGWF9MSU5FQVJfR1JBRElF TlRfSF8KLSAjZGVmaW5lIFVJX0dGWF9MSU5FQVJfR1JBRElFTlRfSF8KLSAKLSsjaW5jbHVkZSA8 Y3N0ZGludD4KLSAjaW5jbHVkZSA8YXJyYXk+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLWRpZmYg LXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmls ZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50YXRpb24uaAotLS0tIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0 aW9uLmgubWUJMjAyMy0wMS0xOSAxMDoxMDoyMS4yODc4NzY3MzYgKzAxMDAKLSsrKyBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9zcmMvcnV5L3Byb2ZpbGVyL2luc3RydW1l bnRhdGlvbi5oCTIwMjMtMDEtMTkgMTA6MTE6MjEuNzE0Nzc4ODk2ICswMTAwCi1AQCAtMTcsNiAr MTcsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAjZGVmaW5lIFJVWV9SVVlf UFJPRklMRVJfSU5TVFJVTUVOVEFUSU9OX0hfCi0gCi0gI2lmZGVmIFJVWV9QUk9GSUxFUgotKyNp bmNsdWRlIDxzdHJpbmc+Ci0gI2luY2x1ZGUgPGNzdGRpbz4KLSAjaW5jbHVkZSA8bXV0ZXg+Ci0g I2luY2x1ZGUgPHZlY3Rvcj4KLWRpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJv Z3JhbS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90 ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oCi0tLS0gY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90ZmxpdGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9r ZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUJMjAyMy0wMS0xOSAxMDozMDoyNy41MzM4 NjE5ODUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0 ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50ZXJuYWwvc3BlY3Ryb2dyYW0uaAkyMDIz LTAxLTE5IDEwOjMxOjEyLjU4NTU1NDE4MyArMDEwMAotQEAgLTMxLDYgKzMxLDcgQEAgbGltaXRh dGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2lmbmRlZiBURU5TT1JGTE9XX0xJVEVfS0VSTkVM U19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXwotICNkZWZpbmUgVEVOU09SRkxPV19MSVRFX0tFUk5F TFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5j bHVkZSA8Y29tcGxleD4KLSAjaW5jbHVkZSA8ZGVxdWU+Ci0gI2luY2x1ZGUgPHZlY3Rvcj4KLWRp ZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgu bWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgKLS0t LSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29udGFpbmVycy9mbGF0X21hcC5oLm1lZQky MDIzLTAxLTE5IDEwOjU5OjUyLjIxNDk1Nzc3MyArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgJMjAyMy0wMS0xOSAxMTowMDowNi40MTUy MTUzMDkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQkFTRV9DT05UQUlORVJTX0ZM QVRfTUFQX0hfCi0gI2RlZmluZSBCQVNFX0NPTlRBSU5FUlNfRkxBVF9NQVBfSF8KLSAKLSsjaW5j bHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8ZnVuY3Rpb25hbD4KLSAjaW5jbHVkZSA8dHVwbGU+ Ci0gI2luY2x1ZGUgPHV0aWxpdHk+Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nv bXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgubWVlIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRl cl9jbGllbnQuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFzaC9j b3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5tZWUJMjAyMy0wMS0xOSAxMDozNjo0MC41 NzE0MjI4MjYgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jh c2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50LmgJMjAyMy0wMS0xOSAxMDozNjo0OS4z NDM1NjUyOTQgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19DUkFT SF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNf Q1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJRU5UX0hfCi0gCi0rI2luY2x1ZGUgPGNz dGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSAjaW5jbHVkZSAiYnVpbGQvYnVpbGRfY29u ZmlnLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlv bi9rYWxtYW5fZmlsdGVyLmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVk aWN0aW9uL2thbG1hbl9maWx0ZXIuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFz ZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUJMjAyMy0wMS0xOSAxMTo0NToxNS45NTMx NTk3NTUgKzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlv bi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0wMS0xOSAxMTo0NToyMi4zMjAyNDYyNDEgKzAxMDAKLUBA IC01LDYgKzUsOCBAQAotICNpZm5kZWYgVUlfQkFTRV9QUkVESUNUSU9OX0tBTE1BTl9GSUxURVJf SF8KLSAjZGVmaW5lIFVJX0JBU0VfUFJFRElDVElPTl9LQUxNQU5fRklMVEVSX0hfCi0gCi0rI2lu Y2x1ZGUgPGNzdGRpbnQ+Ci0rCi0gI2luY2x1ZGUgImJhc2UvY29tcG9uZW50X2V4cG9ydC5oIgot ICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvbWF0cml4M19mLmgiCi0gCi1kaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dz ZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9w YXNzd29yZF9nZW5lcmF0b3IuaAotLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9nZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVy YXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6MjA6MDcuNjIwOTg3OTQ5ICswMTAwCi0rKysgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIvY29yZS9icm93c2Vy L2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgJMjAyMy0wMS0xOSAxNToyMDoxOC4zMjQx NzM3MDIgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19QQVNTV09S RF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXwot ICNkZWZpbmUgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFU SU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNs dWRlIDxzdHJpbmc+Ci0gCi0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBv bmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9y LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVu dC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAu NTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9y YWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTY6MDA6MTQuMzUwMTg2NTE1ICswMTAwCi0r KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEtMTkgMTY6MDA6MjEuNjQz MzA3OTkzICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfRkVBVFVS RV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gI2RlZmlu ZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZB TElEQVRPUl9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0g Ci0gbmFtZXNwYWNlIGZlYXR1cmVfZW5nYWdlbWVudCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL25ldmVyX2V2 ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlk YXRvci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5n YWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMt MDEtMTkgMTU6NTk6MTguMjEwMjM5NDE2ICswMTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9y YWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEtMTkgMTU6NTk6MzQuNTEzNTE1MDMwICswMTAwCi1AQCAt NSw2ICs1LDcgQEAKLSAjaWZuZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVS TkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9SX0hfCi0gI2RlZmluZSBDT01QT05FTlRT X0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZFUl9FVkVOVF9TVE9SQUdFX1ZBTElEQVRP Ul9IXwotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdHJpbmc+Ci0gCi0gI2lu Y2x1ZGUgImNvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFsL2V2ZW50X3N0b3Jh Z2VfdmFsaWRhdG9yLmgiCi1kaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3Bh cnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0tMTAuMC9sbHZtL2xpYi9TdXBwb3J0L1Vu aXgvU2lnbmFscy5pbmMubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lm dHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25h bHMuaW5jCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5j Lm1lCTIwMjMtMDEtMTkgMTY6MDk6MjkuMjE2NDc3MTgyICswMTAwCi0rKysgY2hyb21pdW0tMTA5 LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAv bGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCTIwMjMtMDEtMTkgMTY6MTA6MDUuNjU3 MDg5MjA4ICswMTAwCi1AQCAtNDUsNiArNDUsNyBAQAotICNpbmNsdWRlICJsbHZtL1N1cHBvcnQv U2F2ZUFuZFJlc3RvcmUuaCIKLSAjaW5jbHVkZSAibGx2bS9TdXBwb3J0L3Jhd19vc3RyZWFtLmgi Ci0gI2luY2x1ZGUgPGFsZ29yaXRobT4KLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotICNpbmNsdWRlIDxzeXNleGl0cy5oPgotICNpZmRlZiBIQVZFX0JBQ0tUUkFDRQot ZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1 ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0L2VuY291bnRlcmVkX3N1cmZhY2VfdHJh Y2tlci5oCi0tLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5 X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIuaC5tZQkyMDIzLTAxLTE5IDE2OjMy OjA1LjMzODE2MDEzMSArMDEwMAotKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jy b3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRfc3VyZmFjZV90cmFja2VyLmgJMjAyMy0w MS0xOSAxNjozMjoxNi4yMTMzMjY3OTggKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYg Q0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5DT1VOVEVSRURfU1VSRkFDRV9UUkFDS0VS X0hfCi0gI2RlZmluZSBDSFJPTUVfQlJPV1NFUl9QUklWQUNZX0JVREdFVF9FTkNPVU5URVJFRF9T VVJGQUNFX1RSQUNLRVJfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8bWFw PgotIAotICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvZmxhdF9zZXQuaCIKLWRpZmYgLXVwIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0 b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgKLS0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1 dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUJMjAyMy0wMS0xOSAxNjo0Nzo1NS41NDg1NzExMDIg KzAxMDAKLSsrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29y ZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgJMjAyMy0wMS0xOSAxNjo0ODoyOS4y MTQxNDY1MjkgKzAxMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19BVVRP RklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJT05fU1RVRFlfSF8KLSAjZGVmaW5lIENP TVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FVVE9GSUxMX0FCTEFUSU9OX1NUVURZX0hf Ci0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLSAKLSBjbGFzcyBH VVJMOwotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL29tbmlib3gv YnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv Y29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAotLS0tIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNl X2hlYWRfbW9kZWwuaC5tZQkyMDIzLTAxLTE5IDE2OjU3OjI5LjUyNTM3MjgxNCArMDEwMAotKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2 aWNlX2hlYWRfbW9kZWwuaAkyMDIzLTAxLTE5IDE2OjU4OjAyLjY2Nzk3OTI4OCArMDEwMAotQEAg LTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX09NTklCT1hfQlJPV1NFUl9PTl9ERVZJ Q0VfSEVBRF9NT0RFTF9IXwotICNkZWZpbmUgQ09NUE9ORU5UU19PTU5JQk9YX0JST1dTRVJfT05f REVWSUNFX0hFQURfTU9ERUxfSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotICNpbmNsdWRlIDx1dGlsaXR5PgotICNpbmNsdWRlIDx2ZWN0b3I+Ci1kaWZmIC11 cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGls aXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9u ZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmluZ2VycHJpbnRfcGFyc2VyLmgKLS0tLSBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5 L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lCTIwMjMtMDEtMTkgMTc6MDI6NDUuMjU4NTQ0NjY1ICsw MTAwCi0rKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3BheW1lbnRzL2NvbnRl bnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAkyMDIzLTAxLTE5IDE3OjAyOjUyLjU3NzYx MTc1NyArMDEwMAotQEAgLTUsNiArNSw3IEBACi0gI2lmbmRlZiBDT01QT05FTlRTX1BBWU1FTlRT X0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJTRVJfSF8KLSAjZGVmaW5lIENPTVBPTkVO VFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdFUlBSSU5UX1BBUlNFUl9IXwotIAotKyNp bmNsdWRlIDxjc3RkaW50PgotICNpbmNsdWRlIDxzdGRkZWYuaD4KLSAKLSAjaW5jbHVkZSA8c3Ry aW5nPgotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNo bWVudF9pbmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9wZGYvZG9jdW1lbnRfYXR0YWNo bWVudF9pbmZvLmgKLS0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRh Y2htZW50X2luZm8uaC5tZQkyMDIzLTAxLTE5IDE3OjI4OjI4LjU1MjA2MzUzNCArMDEwMAotKysr IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3VtZW50X2F0dGFjaG1lbnRfaW5mby5oCTIw MjMtMDEtMTkgMTc6Mjg6NDguMDcyMzc5OTUzICswMTAwCi1AQCAtNSw2ICs1LDcgQEAKLSAjaWZu ZGVmIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAjZGVmaW5lIFBERl9ET0NVTUVO VF9BVFRBQ0hNRU5UX0lORk9fSF8KLSAKLSsjaW5jbHVkZSA8Y3N0ZGludD4KLSAjaW5jbHVkZSA8 c3RyaW5nPgotIAotIAotZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0 eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5tZSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFudHMvYW5ub3RhdGlvbl9mbGFncy5oCi0t LS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fu bm90YXRpb25fZmxhZ3MuaC5tZQkyMDIzLTAxLTE5IDE4OjI1OjQ3LjY0ODE5MzcxMCArMDEwMAot KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcGRmaXVtL2NvbnN0YW50cy9h bm5vdGF0aW9uX2ZsYWdzLmgJMjAyMy0wMS0xOSAxODoyNjoxMS40ODg1OTM1NTYgKzAxMDAKLUBA IC01LDYgKzUsOCBAQAotICNpZm5kZWYgQ09OU1RBTlRTX0FOTk9UQVRJT05fRkxBR1NfSF8KLSAj ZGVmaW5lIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdTX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRp bnQ+Ci0rCi0gbmFtZXNwYWNlIHBkZml1bSB7Ci0gbmFtZXNwYWNlIGFubm90YXRpb25fZmxhZ3Mg ewotIAotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4t ZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtf bWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4t ZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3JjL2xheWVycy9leHRlcm5hbC92bWEvdmtf bWVtX2FsbG9jLmgKLS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGth bi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9zcmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92 a19tZW1fYWxsb2MuaC5tZQkyMDIzLTA0LTE1IDE2OjQ0OjU1LjM0NDMwNTQxMiArMDIwMAotKysr IGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFydHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZh bGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJuYWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIw MjMtMDQtMTUgMTY6NDc6MDkuMDI4NjY2OTk1ICswMjAwCi1AQCAtMjg1NCw2ICsyODU0LDcgQEAg c3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJlZSh2b2lkKiBWTUFfTgotIAotIC8vIERlZmluZSB0 aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1bmN0aW9uczogdm1hQnVpbGRTdGF0c1N0cmluZywg dm1hRnJlZVN0YXRzU3RyaW5nLgotICNpZiBWTUFfU1RBVFNfU1RSSU5HX0VOQUJMRUQKLSsjaW5j bHVkZSA8c3RkaW8uaD4KLSAgICAgc3RhdGljIGlubGluZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNo YXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNpemVfdCBzdHJMZW4sIHVpbnQzMl90IG51bSkKLSAg ICAgewotICAgICAgICAgc25wcmludGYob3V0U3RyLCBzdHJMZW4sICIldSIsIHN0YXRpY19jYXN0 PHVuc2lnbmVkIGludD4obnVtKSk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2No cm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwu aC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhl bnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAotLS0tIGNocm9taXVtLTExMy4wLjU2NzIu MzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVudGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19t b2RlbC5oLm1lCTIwMjMtMDQtMTggMTU6NTU6NDQuNzc0OTE2MzE5ICswMjAwCi0rKysgY2hyb21p dW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93ZWJhdXRobi9hdXRoZW50aWNhdG9yX3Jl cXVlc3RfZGlhbG9nX21vZGVsLmgJMjAyMy0wNC0xOCAxNTo1NTo1NC40NDEwODU4ODIgKzAyMDAK LUBAIC04LDYgKzgsNyBAQAotICNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPHN0cmluZz4K LSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDx2YXJpYW50PgotIAotICNpbmNsdWRlICJi YXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgotICNpbmNsdWRlICJiYXNlL2Z1bmN0aW9uYWwvY2FsbGJh Y2tfZm9yd2FyZC5oIgotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9j bGFtcGVyLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgKLS0t LSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1lX2NsYW1wZXIuaC5tZQkyMDIzLTA0LTE4 IDE2OjM4OjQxLjE4MDQzNzQ2NyArMDIwMAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuMzcvZ2lu L3RpbWVfY2xhbXBlci5oCTIwMjMtMDQtMTggMTY6Mzk6NDMuODU3MDQ5NDMyICswMjAwCi1AQCAt NDgsNyArNDgsNyBAQCBjbGFzcyBHSU5fRVhQT1JUIFRpbWVDbGFtcGVyIHsKLSAgICAgY29uc3Qg aW50NjRfdCBtaWNyb3MgPSBub3dfbWljcm9zICUgMTAwMDsKLSAgICAgLy8gYWJzKCkgaXMgbmVj ZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGggdGltZXMgYmVmb3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlr ZWx5Ci0gICAgIC8vIGNvbmZpZ3VyZWQgaW5jb3JyZWN0bHkpLgotLSAgICBpZiAoYWJzKG1pY3Jv cykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKLSsgICAgaWYgKHN0ZDo6YWJzKG1pY3Jv cykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsKLSAgICAgICByZXR1cm4gbm93X21pY3Jv cyAvIDEwMDA7Ci0gICAgIH0KLSAgICAgcmV0dXJuIENsYW1wVGltZVJlc29sdXRpb24obm93X21p Y3JvcykgLyAxMDAwOwotZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVz dC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MubWUgY2hyb21pdW0tMTEzLjAu NTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2ltcGwuY2MK LS0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJv bWUvd2ViX3ZpZXdfaW1wbC5jYy5tZQkyMDIzLTA0LTIxIDA4OjA3OjU1LjM2MjcxNDU0NCArMDIw MAotKysrIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2No cm9tZS93ZWJfdmlld19pbXBsLmNjCTIwMjMtMDQtMjEgMDg6MTQ6MzUuNDI0MTU4NjkzICswMjAw Ci1AQCAtMTAsNiArMTAsNyBAQAotICNpbmNsdWRlIDxxdWV1ZT4KLSAjaW5jbHVkZSA8dXRpbGl0 eT4KLSAjaW5jbHVkZSA8dmVjdG9yPgotKyNpbmNsdWRlIDxjc3RyaW5nPgotIAotICNpbmNsdWRl ICJiYXNlL2NoZWNrLmgiCi0gI2luY2x1ZGUgImJhc2UvZmlsZXMvZmlsZV9wYXRoLmgiCi1kaWZm IC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNj Lm1lIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MK LS0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEvZXh0L3NrY29sb3JzcGFjZV90cmZuLmNj Lm1lCTIwMjMtMDYtMTggMTI6MzM6NTIuMzg3NDEyNzg4ICswMjAwCi0rKysgY2hyb21pdW0tMTE1 LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2VfdHJmbi5jYwkyMDIzLTA2LTE4IDEyOjM1 OjI4LjIyOTE0ODkzNSArMDIwMAotQEAgLTMsNiArMyw3IEBACi0gLy8gZm91bmQgaW4gdGhlIExJ Q0VOU0UgZmlsZS4KLSAKLSAjaW5jbHVkZSAic2tpYS9leHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIK LSsjaW5jbHVkZSA8Y21hdGg+Ci0gCi0gbmFtZXNwYWNlIHNraWEgewotIAotZGlmZiAtdXAgY2hy b21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9z cHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50IGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9w YXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3BzX3BhcnNlci5oCi0tLS0gY2hyb21pdW0t OTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFy c2VyLmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAw Ci0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlk ZW8vaDI2NC9zcHNfcGFyc2VyLmgJMjAyMS0xMS0xOSAxNzowNzozNS4xOTE1MjAxMjcgLTA1MDAK LUBAIC0xMSw2ICsxMSw3IEBACi0gI2lmbmRlZiBDT01NT05fVklERU9fSDI2NF9TUFNfUEFSU0VS X0hfCi0gI2RlZmluZSBDT01NT05fVklERU9fSDI2NF9TUFNfUEFSU0VSX0hfCi0gCi0rI2luY2x1 ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgImFic2wvdHlwZXMvb3B0aW9uYWwuaCIKLSAjaW5jbHVk ZSAicnRjX2Jhc2UvYml0c3RyZWFtX3JlYWRlci5oIgotIAotZGlmZiAtdXAgY2hyb21pdW0tOTYu MC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1v bl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWNzdGRpbnQgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3Ro aXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJs aWMuaAotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxl cy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVibGljLmgubWlzc2luZy1jc3RkaW50CTIw MjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0 LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBl c19wdWJsaWMuaAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3OTc1MDM1MCAtMDUwMAotQEAgLTExLDYg KzExLDcgQEAKLSAjaWZuZGVmIE1PRFVMRVNfSU5DTFVERV9NT0RVTEVfQ09NTU9OX1RZUEVTX1BV QkxJQ19IXwotICNkZWZpbmUgTU9EVUxFU19JTkNMVURFX01PRFVMRV9DT01NT05fVFlQRVNfUFVC TElDX0hfCi0gCi0rI2luY2x1ZGUgPGNzdGRpbnQ+Ci0gI2luY2x1ZGUgPGxpbWl0cz4KLSAKLSAj aW5jbHVkZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oLm1pc3NpbmctY3N0ZGludCBjaHJv bWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgKLS0tLSBjaHJv bWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2RybV91dGlsX2xpbnV4LmgubWlzc2luZy1j c3RkaW50CTIwMjEtMTEtMTIgMDU6MjU6MjQuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0t OTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51eC5oCTIwMjEtMTEtMTkgMTc6 MDU6MzEuMzc5NzUwMzUwIC0wNTAwCi1AQCAtOSw2ICs5LDggQEAKLSAKLSAjaW5jbHVkZSAidWkv Z2Z4L2J1ZmZlcl90eXBlcy5oIgotIAotKyNpbmNsdWRlIDxjc3RkaW50PgotKwotIG5hbWVzcGFj ZSB1aSB7Ci0gCi0gaW50IEdldEZvdXJDQ0Zvcm1hdEZyb21CdWZmZXJGb3JtYXQoZ2Z4OjpCdWZm ZXJGb3JtYXQgZm9ybWF0KTsKLWRpZmYgLXVwIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9w YXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmlu ZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFydHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkv Y2hhbm5lbF9taXhlci5jYwotLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93 ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjLm1pc3NpbmctY3N0cmluZwkyMDIx LTExLTEyIDA1OjI4OjA5LjAwMDAwMDAwMCAtMDUwMAotKysrIGNocm9taXVtLTk2LjAuNDY2NC40 NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVyLmNjCTIwMjEt MTEtMTkgMTc6MTA6MDIuOTI3NDM4Njk1IC0wNTAwCi1AQCAtOCw2ICs4LDggQEAKLSAgKiAgYmUg Zm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUgcm9vdCBvZiB0aGUgc291cmNlIHRyZWUu Ci0gICovCi0gCi0rI2luY2x1ZGUgPGNzdHJpbmc+Ci0rCi0gI2luY2x1ZGUgImF1ZGlvL3V0aWxp dHkvY2hhbm5lbF9taXhlci5oIgotIAotICNpbmNsdWRlICJhdWRpby91dGlsaXR5L2NoYW5uZWxf bWl4aW5nX21hdHJpeC5oIgotZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3Bh cnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5j Yy5taXNzaW5nLWNzdHJpbmcgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0 Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYwotLS0tIGNo cm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy92aWRlb19jb2Rp bmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlzc2luZy1jc3RyaW5nCTIwMjEtMTEtMTIg MDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCi0rKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJk X3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2Zl9maWxlX3JlYWRl ci5jYwkyMDIxLTExLTE5IDE3OjEwOjAyLjkyODQzODcwMSAtMDUwMAotQEAgLTEwLDYgKzEwLDcg QEAKLSAKLSAjaW5jbHVkZSAibW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9y ZWFkZXIuaCIKLSAKLSsjaW5jbHVkZSA8Y3N0cmluZz4KLSAjaW5jbHVkZSA8c3RyaW5nPgotICNp bmNsdWRlIDx2ZWN0b3I+Ci0gCi1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJk X3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4 LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsuaAotLS0tIGNocm9taXVt LTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBjei9zcmMvaXBjei9yb3V0ZXJfbGluay5oLm1l CTIwMjMtMDktMTAgMTc6NTM6MDQuODI2Mjk4MzUxICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAu NTkzOC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6L3JvdXRlcl9saW5rLmgJMjAyMy0wOS0x MCAxNzo1MzoyMi4yMDE3NTY4OTQgKzAyMDAKLUBAIC01LDYgKzUsNyBAQAotICNpZm5kZWYgSVBD Wl9TUkNfSVBDWl9ST1VURVJfTElOS19IXwotICNkZWZpbmUgSVBDWl9TUkNfSVBDWl9ST1VURVJf TElOS19IXwotIAotKyNpbmNsdWRlIDxtZW1vcnk+Ci0gI2luY2x1ZGUgPGNzdGRkZWY+Ci0gI2lu Y2x1ZGUgPGZ1bmN0aW9uYWw+Ci0gI2luY2x1ZGUgPHN0cmluZz4KLWRpZmYgLXVwIGNocm9taXVt LTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9j cHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0 eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2NwcC9wYWxldHRlcy90b25lcy5jYwotLS0t IGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0 aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUJMjAyMy0wOS0xMCAxNzozNjoyNy4xOTk4 NDEwNTEgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVy aWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0dGVzL3RvbmVzLmNjCTIwMjMtMDktMTAg MTc6NDQ6NTEuODcwNTU0MjMzICswMjAwCi1AQCAtMTQsNiArMTQsNyBAQAotICAqIGxpbWl0YXRp b25zIHVuZGVyIHRoZSBMaWNlbnNlLgotICAqLwotIAotKyNpbmNsdWRlIDxjbWF0aD4KLSAjaW5j bHVkZSAiY3BwL3BhbGV0dGVzL3RvbmVzLmgiCi0gCi0gI2luY2x1ZGUgImNwcC9jYW0vY2FtLmgi Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjMyL3NlcnZpY2VzL2RldmljZS9wdWJsaWMv Y3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5nLmgubWUgY2hyb21pdW0tMTE4LjAuNTk5 My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVh ZGluZy5oCi0tLS0gY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGlj L2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oLm1lCTIwMjMtMTAtMDEgMTM6NTU6 MDEuOTEzMTkzMTg2ICswMjAwCi0rKysgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9k ZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCTIwMjMtMTAt MDEgMTQ6MDU6MzguNDg4MDM4NDI5ICswMjAwCi1AQCAtNSw2ICs1LDkgQEAKLSAjaWZuZGVmIFNF UlZJQ0VTX0RFVklDRV9QVUJMSUNfQ1BQX0dFTkVSSUNfU0VOU09SX1NFTlNPUl9SRUFESU5HX0hf Ci0gI2RlZmluZSBTRVJWSUNFU19ERVZJQ0VfUFVCTElDX0NQUF9HRU5FUklDX1NFTlNPUl9TRU5T T1JfUkVBRElOR19IXwotIAotKyNpbmNsdWRlIDxjc3RkZGVmPgotKyNpbmNsdWRlIDxjc3RkaW50 PgotKwotICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KLSAKLSBuYW1lc3BhY2UgZGV2aWNlIHsKLWRp ZmYgLXVwIGNocm9taXVtLTExOC4wLjU5OTMuMzIvY29tcG9uZW50cy9nd3BfYXNhbi9jbGllbnQv bGlnaHR3ZWlnaHRfZGV0ZWN0b3IuaC5tZSBjaHJvbWl1bS0xMTguMC41OTkzLjMyL2NvbXBvbmVu dHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2RldGVjdG9yLmgKLS0tLSBjaHJvbWl1bS0x MTguMC41OTkzLjMyL2NvbXBvbmVudHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2RldGVj dG9yLmgubWUJMjAyMy0xMC0wMiAxMzozODozMS4yMTc4MDY0MjggKzAyMDAKLSsrKyBjaHJvbWl1 bS0xMTguMC41OTkzLjMyL2NvbXBvbmVudHMvZ3dwX2FzYW4vY2xpZW50L2xpZ2h0d2VpZ2h0X2Rl dGVjdG9yLmgJMjAyMy0xMC0wMiAxMzozOTowNS4wMDY0MjcxNjggKzAyMDAKLUBAIC01LDYgKzUs OCBAQAotICNpZm5kZWYgQ09NUE9ORU5UU19HV1BfQVNBTl9DTElFTlRfTElHSFRXRUlHSFRfREVU RUNUT1JfSF8KLSAjZGVmaW5lIENPTVBPTkVOVFNfR1dQX0FTQU5fQ0xJRU5UX0xJR0hUV0VJR0hU X0RFVEVDVE9SX0hfCi0gCi0rI2luY2x1ZGUgPGF0b21pYz4KLSsKLSAjaW5jbHVkZSAiYmFzZS9n dGVzdF9wcm9kX3V0aWwuaCIKLSAjaW5jbHVkZSAiY29tcG9uZW50cy9nd3BfYXNhbi9jbGllbnQv ZXhwb3J0LmgiCi0gI2luY2x1ZGUgImNvbXBvbmVudHMvZ3dwX2FzYW4vY29tbW9uL2xpZ2h0d2Vp Z2h0X2RldGVjdG9yX3N0YXRlLmgiCgpkaWZmIC0tZ2l0IGEvY2hyb21pdW0tMTE4LW5vX21hdGNo aW5nX2NvbnN0cnVjdG9yLnBhdGNoIGIvY2hyb21pdW0tMTE4LW5vX21hdGNoaW5nX2NvbnN0cnVj dG9yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzZDc3NDhjLi4wMDAwMDAw Ci0tLSBhL2Nocm9taXVtLTExOC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDU2NyArMCwwIEBACi1kaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUw L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5tZSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUw L25ldC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYwotLS0tIGNocm9taXVtLTExNi4wLjU4NDUu NTAvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjLm1lCi0rKysgY2hyb21pdW0tMTE2LjAu NTg0NS41MC9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MKLUBAIC0xNjEsNyArMTYxLDcg QEAgdm9pZCBIb3N0UmVzb2x2ZXJDYWNoZTo6U2V0KAotIAotICAgc3RkOjpzdHJpbmcgZG9tYWlu X25hbWUgPSByZXN1bHQtPmRvbWFpbl9uYW1lKCk7Ci0gICBlbnRyaWVzXy5lbXBsYWNlKAotLSAg ICAgIEtleShzdGQ6Om1vdmUoZG9tYWluX25hbWUpLCBuZXR3b3JrX2Fub255bWl6YXRpb25fa2V5 KSwKLSsgICAgICBLZXl7c3RkOjptb3ZlKGRvbWFpbl9uYW1lKSwgbmV0d29ya19hbm9ueW1pemF0 aW9uX2tleX0sCi0gICAgICAgRW50cnkoc3RkOjptb3ZlKHJlc3VsdCksIHNvdXJjZSwgc2VjdXJl LCBzdGFsZW5lc3NfZ2VuZXJhdGlvbl8pKTsKLSAKLSAgIGlmIChlbnRyaWVzXy5zaXplKCkgPiBt YXhfZW50cmllc18pIHsKLWRpZmYgLXVwIGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50 cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9v bl9ncHUuY2MubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jb21wb25lbnRzL3Zpei9zZXJ2aWNl L2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9vdXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYwotLS0t IGNocm9taXVtLTExNi4wLjU4NDUuNTAvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2Vt YmVkZGVyL3NraWFfb3V0cHV0X3N1cmZhY2VfaW1wbF9vbl9ncHUuY2MubWUJMjAyMy0wOC0wMiAx NToxNzo1Mi42MTM4NTg0MjMgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2NvbXBv bmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJlZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2lt cGxfb25fZ3B1LmNjCTIwMjMtMDgtMDIgMTU6MTg6NDMuMjY5NzkwODc3ICswMjAwCi1AQCAtMTQ5 Niw3ICsxNDk2LDcgQEAgdm9pZCBTa2lhT3V0cHV0U3VyZmFjZUltcGxPbkdwdTo6Q29weU91dAot IAotICAgICAgIC8vIElzc3VlIHJlYWRiYWNrcyBmcm9tIHRoZSBzdXJmYWNlczoKLSAgICAgICBm b3IgKHNpemVfdCBpID0gMDsgaSA8IENvcHlPdXRwdXRSZXN1bHQ6OmtOVjEyTWF4UGxhbmVzOyAr K2kpIHsKLS0gICAgICAgIFNrSVNpemUgc2l6ZShwbGFuZV9zdXJmYWNlc1tpXS0+d2lkdGgoKSwg cGxhbmVfc3VyZmFjZXNbaV0tPmhlaWdodCgpKTsKLSsgICAgICAgIFNrSVNpemUgc2l6ZXtwbGFu ZV9zdXJmYWNlc1tpXS0+d2lkdGgoKSwgcGxhbmVfc3VyZmFjZXNbaV0tPmhlaWdodCgpfTsKLSAg ICAgICAgIFNrSW1hZ2VJbmZvIGRzdF9pbmZvID0gU2tJbWFnZUluZm86Ok1ha2UoCi0gICAgICAg ICAgICAgc2l6ZSwgKGkgPT0gMCkgPyBrQWxwaGFfOF9Ta0NvbG9yVHlwZSA6IGtSOEc4X3Vub3Jt X1NrQ29sb3JUeXBlLAotICAgICAgICAgICAgIGtVbnByZW11bF9Ta0FscGhhVHlwZSk7Ci1kaWZm IC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3Bs YXRmb3JtL2ZvbnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5tZSBjaHJvbWl1bS0xMTYuMC41 ODQ1LjUwL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3BhbGV0dGVf aW50ZXJwb2xhdGlvbi5jYwotLS0tIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdGhpcmRfcGFydHkv YmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0ZV9pbnRlcnBvbGF0aW9uLmNjLm1l CTIwMjMtMDgtMDIgMjE6MzI6MTQuMTk1NzA1NDk0ICswMjAwCi0rKysgY2hyb21pdW0tMTE2LjAu NTg0NS41MC90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRl X2ludGVycG9sYXRpb24uY2MJMjAyMy0wOC0wMiAyMTo1OTowOC4xNTY1MzI5MzQgKzAyMDAKLUBA IC0zMSw3ICszMSw3IEBAIFZlY3RvcjxGb250UGFsZXR0ZTo6Rm9udFBhbGV0dGVPdmVycmlkZT4K LSAgICAgICAgIGNvbG9yX2ludGVycG9sYXRpb25fc3BhY2UsIGh1ZV9pbnRlcnBvbGF0aW9uX21l dGhvZCwgc3RhcnRfY29sb3IsCi0gICAgICAgICBlbmRfY29sb3IsIHBlcmNlbnRhZ2UsIGFscGhh X211bHRpcGxpZXIpOwotIAotLSAgICBGb250UGFsZXR0ZTo6Rm9udFBhbGV0dGVPdmVycmlkZSBy ZXN1bHRfY29sb3JfcmVjb3JkKGksIHJlc3VsdF9jb2xvcik7Ci0rICAgIEZvbnRQYWxldHRlOjpG b250UGFsZXR0ZU92ZXJyaWRlIHJlc3VsdF9jb2xvcl9yZWNvcmR7c3RhdGljX2Nhc3Q8aW50Pihp KSwgcmVzdWx0X2NvbG9yfTsKLSAgICAgcmVzdWx0X2NvbG9yX3JlY29yZHMucHVzaF9iYWNrKHJl c3VsdF9jb2xvcl9yZWNvcmQpOwotICAgfQotICAgcmV0dXJuIHJlc3VsdF9jb2xvcl9yZWNvcmRz OwotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNlL3dheWxhbmQvY29sb3Jf bWFuYWdlcl91dGlsLmgubWUgY2hyb21pdW0tMTE2LjAuNTg0NS41MC91aS9iYXNlL3dheWxhbmQv Y29sb3JfbWFuYWdlcl91dGlsLmgKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL3VpL2Jhc2Uv d2F5bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaC5tZQkyMDIzLTA4LTAzIDA4OjI3OjExLjM3MTc1 MDE3OCArMDIwMAotKysrIGNocm9taXVtLTExNi4wLjU4NDUuNTAvdWkvYmFzZS93YXlsYW5kL2Nv bG9yX21hbmFnZXJfdXRpbC5oCTIwMjMtMDgtMDMgMTA6Mzk6MDcuMjY2OTg5MzIzICswMjAwCi1A QCAtNTIsNTMgKzUyLDUzIEBAIGNvbnN0ZXhwciBhdXRvIGtDaHJvbWF0aWNpdHlNYXAgPSBiYXNl OjoKLSAgICAgemNyX2NvbG9yX21hbmFnZXJfdjFfY2hyb21hdGljaXR5X25hbWVzLAotICAgICBQ cmltYXJ5VmVyc2lvbj4oCi0gICAgIHt7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZ X05BTUVTX0JUNjAxXzUyNV9MSU5FLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6UHJpbWFyeUlEOjpTTVBURTE3ME0sCi0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1 bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6 OlByaW1hcnlJRDo6U01QVEUxNzBNLAotKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9ufX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX0JUNjAxXzYyNV9MSU5FLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFj ZTo6UHJpbWFyeUlEOjpCVDQ3MEJHLAotLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9uKX0sCi0rICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmlt YXJ5SUQ6OkJUNDcwQkcsCi0rICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNp b259fSwKLSAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01Q VEUxNzBNLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlE OjpTTVBURTE3ME0sCi0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01Q VEUxNzBNLAotKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0g ICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUNzA5LAotLSAg ICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDcwOSwga0Rl ZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3Bh Y2U6OlByaW1hcnlJRDo6QlQ3MDksIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0JUMjAyMCwKLS0gICAgICBQcmlt YXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQyMDIwLCBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAotKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEOjpCVDIwMjAsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NSR0IsCi0tICAgICAgUHJpbWFyeVZlcnNp b24oZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkJUNzA5LCBrRGVmYXVsdFNpbmNlVmVyc2lv bil9LAotKyAgICAgIFByaW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpC VDcwOSwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9DSFJPTUFUSUNJVFlfTkFNRVNfRElTUExBWVAzLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKGdm eDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpQMywga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsg ICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6UDMsIGtEZWZh dWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElD SVRZX05BTUVTX0FET0JFUkdCLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFj ZTo6UHJpbWFyeUlEOjpBRE9CRV9SR0IsCi0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRT aW5jZVZlcnNpb24pfSwKLSsgICAgICBQcmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlBy aW1hcnlJRDo6QURPQkVfUkdCLAotKyAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VW ZXJzaW9ufX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVT X1dJREVfR0FNVVRfQ09MT1JfU1BJTiwKLS0gICAgICBQcmltYXJ5VmVyc2lvbigKLSsgICAgICBQ cmltYXJ5VmVyc2lvbnsKLSAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OldJ REVfR0FNVVRfQ09MT1JfU1BJTiwKLS0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hS T01BVElDSVRZX05BTUVTX1dJREVfR0FNVVRfQ09MT1JfU1BJTl9TSU5DRV9WRVJTSU9OKX0sCi0r ICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19XSURFX0dB TVVUX0NPTE9SX1NQSU5fU0lOQ0VfVkVSU0lPTn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDQ3ME0sCi0tICAgICAgUHJpbWFyeVZlcnNpb24oCi0r ICAgICAgUHJpbWFyeVZlcnNpb257Ci0gICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFy eUlEOjpCVDQ3ME0sCi0tICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lU WV9OQU1FU19CVDQ3ME1fU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgICBaQ1JfQ09MT1JfTUFO QUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQ0NzBNX1NJTkNFX1ZFUlNJT059fSwKLSAgICAg IHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEUyNDBNLAotLSAg ICAgIFByaW1hcnlWZXJzaW9uKAotKyAgICAgIFByaW1hcnlWZXJzaW9uewotICAgICAgICAgICBn Zng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEUyNDBNLAotLSAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEUyNDBNX1NJTkNFX1ZFUlNJT04p fSwKLSsgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NN UFRFMjQwTV9TSU5DRV9WRVJTSU9OfX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hS T01BVElDSVRZX05BTUVTX1hZWl9ENTAsCi0tICAgICAgUHJpbWFyeVZlcnNpb24oCi0rICAgICAg UHJpbWFyeVZlcnNpb257Ci0gICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpY WVpfRDUwLAotLSAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFN RVNfWFlaX0Q1MF9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VS X1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19YWVpfRDUwX1NJTkNFX1ZFUlNJT059fSwKLSAgICAgIHta Q1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQyOF8xLAotLSAg ICAgIFByaW1hcnlWZXJzaW9uKAotKyAgICAgIFByaW1hcnlWZXJzaW9uewotICAgICAgICAgICBn Zng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEVTVDQyOF8xLAotLSAgICAgICAgICBaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQyOF8xX1NJTkNFX1ZF UlNJT04pfSwKLSsgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9WRVJTSU9OfX0sCi0gICAgICB7WkNSX0NPTE9SX01BTkFH RVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MzFfMiwKLS0gICAgICBQcmltYXJ5VmVy c2lvbigKLSsgICAgICBQcmltYXJ5VmVyc2lvbnsKLSAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNl OjpQcmltYXJ5SUQ6OlNNUFRFU1Q0MzFfMiwKLS0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MzFfMl9TSU5DRV9WRVJTSU9OKX0sCi0rICAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNUNDMx XzJfU0lOQ0VfVkVSU0lPTn19LAotICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJ Q0lUWV9OQU1FU19GSUxNLAotLSAgICAgIFByaW1hcnlWZXJzaW9uKAotKyAgICAgIFByaW1hcnlW ZXJzaW9uewotICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6RklMTSwKLS0g ICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0ZJTE1fU0lO Q0VfVkVSU0lPTil9fSk7Ci0rICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJ Q0lUWV9OQU1FU19GSUxNX1NJTkNFX1ZFUlNJT059fX0pOwotIAotIC8vIEEgbWFwIGZyb20gdGhl IHpjcl9jb2xvcl9tYW5hZ2VyX3YxIGVvdGZfbmFtZXMgZW51bSB2YWx1ZXMKLSAvLyByZXByZXNl bnRpbmcgd2VsbC1rbm93biBFT1RGcywgdG8gdGhlaXIgZXF1aXZhbGVudCBUcmFuc2ZlcklEcy4K LUBAIC0xMDcsNjUgKzEwNyw2NSBAQCBjb25zdGV4cHIgYXV0byBrRW90Zk1hcCA9IGJhc2U6Ok1h a2VGaXhlCi0gICAgIHpjcl9jb2xvcl9tYW5hZ2VyX3YxX2VvdGZfbmFtZXMsCi0gICAgIFRyYW5z ZmVyVmVyc2lvbj4oewotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MSU5F QVIsCi0tICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpM SU5FQVIsCi0tICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsg ICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkxJTkVBUiwK LSsgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TUkdCLAotLSAgICAgVHJhbnNmZXJWZXJzaW9u KGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U1JHQiwga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNS R0IsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9F T1RGX05BTUVTX0JUNzA5LAotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6 VHJhbnNmZXJJRDo6QlQ3MDksCi0tICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19CVDcwOV9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZl cnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDcwOSwKLSsgICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUNzA5X1NJTkNFX1ZFUlNJ T059fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDg3LAotLSAg ICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyNCwK LS0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAgVHJh bnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyNCwKLSsgICAg ICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19BRE9CRVJHQiwKLSAgICAgIC8vIFRoaXMgaXMgZXZlciBz byBzbGlnaHRseSBpbmFjY3VyYXRlLiBUaGUgbnVtYmVyIG91Z2h0IHRvIGJlCi0gICAgICAvLyAy LjE5OTIxODc1Ziwgbm90IDIuMgotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFj ZTo6VHJhbnNmZXJJRDo6R0FNTUEyMiwKLS0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNp bmNlVmVyc2lvbil9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJh bnNmZXJJRDo6R0FNTUEyMiwKLSsgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVy c2lvbn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19QUSwKLS0gICAg IFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlBRLCBrRGVmYXVs dFNpbmNlVmVyc2lvbil9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6 VHJhbnNmZXJJRDo6UFEsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgIHtaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMRywKLS0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNv bG9yU3BhY2U6OlRyYW5zZmVySUQ6OkhMRywKLS0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMR19TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFu c2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpITEcsCi0rICAgICAgICAg ICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEdfU0lOQ0VfVkVS U0lPTn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURTE3ME0s Ci0tICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTTVBU RTE3ME0sCi0tICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9O QU1FU19TTVBURTE3ME1fU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dm eDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEUxNzBNLAotKyAgICAgICAgICAgICAgICAg ICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUxNzBNX1NJTkNFX1ZFUlNJ T059fSwKLSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUyNDBNLAot LSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEUy NDBNLAotLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfU01QVEUyNDBNX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6 OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFMjQwTSwKLSsgICAgICAgICAgICAgICAgICAg ICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMjQwTV9TSU5DRV9WRVJTSU9O fX0sCi0gICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFU1Q0MjhfMSwK LS0gICAgIFRyYW5zZmVyVmVyc2lvbigKLSsgICAgIFRyYW5zZmVyVmVyc2lvbnsKLSAgICAgICAg ICBnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFU1Q0MjhfMSwKLS0gICAgICAgICBa Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9WRVJTSU9O KX0sCi0rICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURVNUNDI4 XzFfU0lOQ0VfVkVSU0lPTn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1F U19MT0csCi0tICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklE OjpMT0csCi0tICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9O QU1FU19MT0dfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29s b3JTcGFjZTo6VHJhbnNmZXJJRDo6TE9HLAotKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xP Ul9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NJTkNFX1ZFUlNJT059fSwKLSAgICAge1pDUl9D T0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NRUlQsCi0tICAgICBUcmFuc2ZlclZlcnNp b24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpMT0dfU1FSVCwKLS0gICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xPR19TUVJUX1NJTkNFX1ZF UlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVy SUQ6OkxPR19TUVJULAotKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1Yx X0VPVEZfTkFNRVNfTE9HX1NRUlRfU0lOQ0VfVkVSU0lPTn19LAotICAgICB7WkNSX0NPTE9SX01B TkFHRVJfVjFfRU9URl9OQU1FU19JRUM2MTk2Nl8yXzQsCi0tICAgICBUcmFuc2ZlclZlcnNpb24o Ci0rICAgICBUcmFuc2ZlclZlcnNpb257Ci0gICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpUcmFu c2ZlcklEOjpJRUM2MTk2Nl8yXzQsCi0tICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19JRUM2MTk2Nl8yXzRfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgIFpDUl9DT0xP Ul9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSUVDNjE5NjZfMl80X1NJTkNFX1ZFUlNJT059fSwKLSAg ICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQxMzYxX0VDRywKLS0gICAgIFRy YW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMTM2MV9FQ0csCi0t ICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDEz NjFfRUNHX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9y U3BhY2U6OlRyYW5zZmVySUQ6OkJUMTM2MV9FQ0csCi0rICAgICAgICAgICAgICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDEzNjFfRUNHX1NJTkNFX1ZFUlNJT059fSwK LSAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQyMDIwXzEwLAotLSAgICAg VHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQyMDIwXzEwLAot LSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQy MDIwXzEwX1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9y U3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMCwKLSsgICAgICAgICAgICAgICAgICAgICBaQ1Jf Q09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMF9TSU5DRV9WRVJTSU9OfX0sCi0g ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMiwKLS0gICAgIFRy YW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMiwKLS0g ICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAy MF8xMl9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNw YWNlOjpUcmFuc2ZlcklEOjpCVDIwMjBfMTIsCi0rICAgICAgICAgICAgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTJfU0lOQ0VfVkVSU0lPTn19LAotICAg ICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TQ1JHQl9MSU5FQVJfODBfTklUUywK LS0gICAgIFRyYW5zZmVyVmVyc2lvbigKLSsgICAgIFRyYW5zZmVyVmVyc2lvbnsKLSAgICAgICAg ICBnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNDUkdCX0xJTkVBUl84MF9OSVRTLAotLSAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU0NSR0JfTElORUFSXzgwX05J VFNfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfU0NSR0JfTElORUFSXzgwX05JVFNfU0lOQ0VfVkVSU0lPTn19LAotICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTE4LAotLSAgICAgVHJhbnNmZXJWZXJzaW9u KGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUExOCwKLS0gICAgICAgICAgICAgICAg ICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMThfU0lOQ0VfVkVSU0lP Til9LAotKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6 R0FNTUExOCwKLSsgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RG X05BTUVTX0dBTU1BMThfU0lOQ0VfVkVSU0lPTn19LAotICAgICB7WkNSX0NPTE9SX01BTkFHRVJf VjFfRU9URl9OQU1FU19HQU1NQTI4LAotLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyOCwKLS0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1BMjhfU0lOQ0VfVkVSU0lPTil9LAotKyAgICAg VHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6R0FNTUEyOCwKLSsg ICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0dBTU1B MjhfU0lOQ0VfVkVSU0lPTn19LAotIH0pOwotIAotIC8vIEEgbWFwIGZyb20gdGhlIFNEUiB6Y3Jf Y29sb3JfbWFuYWdlcl92MSBlb3RmX25hbWVzIGVudW0gdmFsdWVzCi1AQCAtMTc0LDE4ICsxNzQs MTggQEAgY29uc3RleHByIGF1dG8ga0VvdGZNYXAgPSBiYXNlOjpNYWtlRml4ZQotIGNvbnN0ZXhw ciBhdXRvIGtUcmFuc2Zlck1hcCA9Ci0gICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8emNyX2Nv bG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywgVHJhbnNmZXJGblZlcnNpb24+KHsKLSAgICAgICAg IHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xJTkVBUiwKLS0gICAgICAgICBUcmFu c2ZlckZuVmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbjo6a0xpbmVhciwga0RlZmF1bHRTaW5jZVZl cnNpb24pfSwKLSsgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJGbjo6 a0xpbmVhciwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCi0tICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oU2tO YW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAg ICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwga0RlZmF1 bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05B TUVTX0JUNzA5LAotLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKAotKyAgICAgICAgIFRyYW5z ZmVyRm5WZXJzaW9uewotICAgICAgICAgICAgICBTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1JlYzcw OSwKLS0gICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDcwOV9T SU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfQlQ3MDlfU0lOQ0VfVkVSU0lPTn19LAotICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX0VPVEZfTkFNRVNfQlQyMDg3LAotLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKGdhbW1h MjQsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257 Z2FtbWEyNCwga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9FT1RGX05BTUVTX0FET0JFUkdCLAotLSAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9u KFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprQTk4UkdCLAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257 U2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtBOThSR0IsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgfSk7Ci0gCi0gLy8gQSBtYXAgZnJvbSB0 aGUgSERSIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIGVvdGZfbmFtZXMgZW51bSB2YWx1ZXMKLUBAIC0x OTQsNjggKzE5NCw2OCBAQCBjb25zdGV4cHIgYXV0byBrVHJhbnNmZXJNYXAgPQotIGNvbnN0ZXhw ciBhdXRvIGtIRFJUcmFuc2Zlck1hcCA9Ci0gICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8emNy X2NvbG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywgVHJhbnNmZXJGblZlcnNpb24+KAotICAgICAg ICAge3taQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xJTkVBUiwKLS0gICAgICAgICAg VHJhbnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm46OmtMaW5lYXIsIGtEZWZhdWx0U2lu Y2VWZXJzaW9uKX0sCi0rICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2Zl ckZuOjprTGluZWFyLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCi0tICAgICAgICAgIFRyYW5zZmVyRm5WZXJz aW9uKFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwK LSsgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdC LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX1BRLAotLSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJh bnNmZXJGbjo6a1BRLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAotKyAgICAgICAgICBUcmFuc2Zl ckZuVmVyc2lvbntTa05hbWVkVHJhbnNmZXJGbjo6a1BRLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19 LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0hMRywKLS0gICAg ICAgICAgVHJhbnNmZXJGblZlcnNpb24oU2tOYW1lZFRyYW5zZmVyRm46OmtITEcsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExH X1NJTkNFX1ZFUlNJT04pfSwKLSsgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRy YW5zZmVyRm46OmtITEcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHX1NJTkNFX1ZFUlNJT059fSwKLSAgICAgICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19FWFRFTkRFRFNSR0IxMCwKLS0gICAgICAgICAg VHJhbnNmZXJGblZlcnNpb24oCi0rICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uewotICAgICAg ICAgICAgICAgU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCRXh0ZW5kZWQxMDIzT3ZlcjUxMCwK LS0gICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfRVhURU5ERURT UkdCMTBfU0lOQ0VfVkVSU0lPTil9fSk7Ci0rICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX0VYVEVOREVEU1JHQjEwX1NJTkNFX1ZFUlNJT059fX0pOwotIAotIC8v IEEgbWFwIGZyb20gemNyX2NvbG9yX21hbmFnZXJfdjEgbWF0cml4X25hbWVzIGVudW0gdmFsdWVz IHRvCi0gLy8gZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRHMuCi0gY29uc3RleHByIGF1dG8ga01h dHJpeE1hcCA9Ci0gICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRNYXA8emNyX2NvbG9yX21hbmFnZXJf djFfbWF0cml4X25hbWVzLCBNYXRyaXhWZXJzaW9uPigKLSAgICAgICAgIHt7WkNSX0NPTE9SX01B TkFHRVJfVjFfTUFUUklYX05BTUVTX1JHQiwKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6 OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAg ICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6UkdCLCBrRGVm YXVsdFNpbmNlVmVyc2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRS SVhfTkFNRVNfQlQ3MDksCi0tICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNl OjpNYXRyaXhJRDo6QlQ3MDksCi0tICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5j ZVZlcnNpb24pfSwKLSsgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1h dHJpeElEOjpCVDcwOSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVy c2lvbn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfQlQ0 NzBCRywKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbigKLSsgICAgICAgICAgTWF0cml4VmVyc2lv bnsKLSAgICAgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUNDcwQkcsCi0t ICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfQlQ0NzBCR19T SU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRS SVhfTkFNRVNfQlQ0NzBCR19TSU5DRV9WRVJTSU9OfX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX01BVFJJWF9OQU1FU19CVDIwMjBfTkNMLAotLSAgICAgICAgICBNYXRyaXhWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9OQ0wsCi0tICAgICAgICAgICAg ICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgICAgICAgTWF0cml4VmVy c2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfTkNMLAotKyAgICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19CVDIwMjBfQ0wsCi0tICAgICAgICAgIE1hdHJpeFZl cnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX0NMLAotLSAgICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAgICAgIE1hdHJpeFZl cnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX0NMLAotKyAgICAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICAge1pDUl9DT0xP Ul9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19GQ0MsCi0tICAgICAgICAgIE1hdHJpeFZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6RkNDLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAot KyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkZDQywg a0RlZmF1bHRTaW5jZVZlcnNpb259fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFf TUFUUklYX05BTUVTX1lDT0NHLAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6TWF0cml4SUQ6OllDT0NHLAotLSAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xP Ul9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19ZQ09DR19TSU5DRV9WRVJTSU9OKX0sCi0rICAgICAg ICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WUNPQ0csCi0rICAg ICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lD T0NHX1NJTkNFX1ZFUlNJT059fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFU UklYX05BTUVTX1lEWkRYLAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFj ZTo6TWF0cml4SUQ6OllEWkRYLAotLSAgICAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9N QU5BR0VSX1YxX01BVFJJWF9OQU1FU19ZRFpEWF9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAg IE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WURaRFgsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lEWkRY X1NJTkNFX1ZFUlNJT059fSwKLSAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklY X05BTUVTX0dCUiwKLS0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1h dHJpeElEOjpHQlIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfTUFUUklYX05BTUVTX0dCUl9TSU5DRV9WRVJTSU9OKX0sCi0rICAgICAgICAgIE1hdHJpeFZl cnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6R0JSLAotKyAgICAgICAgICAgICAgICAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19HQlJfU0lOQ0VfVkVSU0lP Tn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfU01QVEUx NzBNLAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6 OlNNUFRFMTcwTSwKLS0gICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lv bil9LAotKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6 OlNNUFRFMTcwTSwKLSsgICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lv bn19LAotICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfU01QVEUy NDBNLAotLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6 OlNNUFRFMjQwTSwKLS0gICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lv bil9fSk7Ci0rICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJ RDo6U01QVEUyNDBNLAotKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJz aW9ufX19KTsKLSAKLSAvLyBBIG1hcCBmcm9tIHpjcl9jb2xvcl9tYW5hZ2VyX3YxIHJhbmdlX25h bWVzIGVudW0gdmFsdWVzIHRvCi0gLy8gZ2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEcy4KLSBjb25z dGV4cHIgYXV0byBrUmFuZ2VNYXAgPQotICAgICBiYXNlOjpNYWtlRml4ZWRGbGF0TWFwPHpjcl9j b2xvcl9tYW5hZ2VyX3YxX3JhbmdlX25hbWVzLCBSYW5nZVZlcnNpb24+KAotICAgICAgICAge3ta Q1JfQ09MT1JfTUFOQUdFUl9WMV9SQU5HRV9OQU1FU19MSU1JVEVELAotLSAgICAgICAgICBSYW5n ZVZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEOjpMSU1JVEVELAotLSAgICAgICAgICAg ICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKLSsgICAgICAgICAgUmFuZ2VWZXJz aW9ue2dmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6TElNSVRFRCwKLSsgICAgICAgICAgICAgICAg ICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9NQU5B R0VSX1YxX1JBTkdFX05BTUVTX0ZVTEwsCi0tICAgICAgICAgIFJhbmdlVmVyc2lvbihnZng6OkNv bG9yU3BhY2U6OlJhbmdlSUQ6OkZVTEwsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCi0rICAgICAg ICAgIFJhbmdlVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkZVTEwsIGtEZWZhdWx0 U2luY2VWZXJzaW9ufX0sCi0gICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX1JBTkdFX05B TUVTX0RFUklWRUQsCi0tICAgICAgICAgIFJhbmdlVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlJh bmdlSUQ6OkRFUklWRUQsCi0tICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVy c2lvbil9fSk7Ci0rICAgICAgICAgIFJhbmdlVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlJhbmdl SUQ6OkRFUklWRUQsCi0rICAgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lv bn19fSk7Ci0gCi0gemNyX2NvbG9yX21hbmFnZXJfdjFfY2hyb21hdGljaXR5X25hbWVzIFRvQ29s b3JNYW5hZ2VyQ2hyb21hdGljaXR5KAotICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRCBw cmltYXJ5SUQsCi1kaWZmIC11cCBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2Vy L3VpL29tbmlib3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNjLm1lIGNocm9taXVtLTExNi4wLjU4 NDUuNTAvY2hyb21lL2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVfb21uaWJveF9jbGllbnQuY2MK LS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1LjUwL2Nocm9tZS9icm93c2VyL3VpL29tbmlib3gvY2hy b21lX29tbmlib3hfY2xpZW50LmNjLm1lCTIwMjMtMDgtMDMgMTM6MjM6MzMuNzQ4Mzk0NjE1ICsw MjAwCi0rKysgY2hyb21pdW0tMTE2LjAuNTg0NS41MC9jaHJvbWUvYnJvd3Nlci91aS9vbW5pYm94 L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYwkyMDIzLTA4LTAzIDEzOjI1OjAxLjE0MDQ4OTg0MCAr MDIwMAotQEAgLTQ3MCwxMCArNDcwLDEwIEBAIHZvaWQgQ2hyb21lT21uaWJveENsaWVudDo6T25B dXRvY29tcGxldGUKLSAgICAgICAgICAgICAgIGFsdGVybmF0aXZlX25hdl9tYXRjaCk7Ci0gCi0g ICAvLyBTdG9yZSB0aGUgZGV0YWlscyBuZWNlc3NhcnkgdG8gb3BlbiB0aGUgb21uaWJveCBtYXRj aCB2aWEgYnJvd3NlciBjb21tYW5kcy4KLS0gIGxvY2F0aW9uX2Jhcl8tPnNldF9uYXZpZ2F0aW9u X3BhcmFtcyhMb2NhdGlvbkJhcjo6TmF2aWdhdGlvblBhcmFtcygKLSsgIGxvY2F0aW9uX2Jhcl8t PnNldF9uYXZpZ2F0aW9uX3BhcmFtcyhMb2NhdGlvbkJhcjo6TmF2aWdhdGlvblBhcmFtc3sKLSAg ICAgICBkZXN0aW5hdGlvbl91cmwsIGRpc3Bvc2l0aW9uLCB0cmFuc2l0aW9uLCBtYXRjaF9zZWxl Y3Rpb25fdGltZXN0YW1wLAotICAgICAgIGRlc3RpbmF0aW9uX3VybF9lbnRlcmVkX3dpdGhvdXRf c2NoZW1lLAotLSAgICAgIGRlc3RpbmF0aW9uX3VybF9lbnRlcmVkX3dpdGhfaHR0cF9zY2hlbWUp KTsKLSsgICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRoX2h0dHBfc2NoZW1lfSk7Ci0g Ci0gICBpZiAoYnJvd3Nlcl8pIHsKLSAgICAgYXV0byBuYXZpZ2F0aW9uID0gY2hyb21lOjpPcGVu Q3VycmVudFVSTChicm93c2VyXyk7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL25l dC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL25l dC9kbnMvaG9zdF9yZXNvbHZlcl9jYWNoZS5jYwotZGlmZiAtdXAgY2hyb21pdW0tMTE3LjAuNTkz OC42Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9mb250X3BhbGV0 dGUuaC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVy L3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42 Mi90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9mb250X3BhbGV0dGUu aC5tZQkyMDIzLTA5LTE1IDEwOjQ4OjQxLjMzMDI5NDI0MSArMDIwMAotKysrIGNocm9taXVtLTEx Ny4wLjU5MzguNjIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9u dF9wYWxldHRlLmgJMjAyMy0wOS0xNSAxMDo1MToyNC41MDEzMjQ0MTYgKzAyMDAKLUBAIC05Niw3 ICs5Niw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBGb250UGFsZXR0ZSA6IHB1YmwKLSAgICAg ICBDb2xvcjo6Q29sb3JTcGFjZSBjb2xvcl9pbnRlcnBvbGF0aW9uX3NwYWNlLAotICAgICAgIGFi c2w6Om9wdGlvbmFsPENvbG9yOjpIdWVJbnRlcnBvbGF0aW9uTWV0aG9kPiBodWVfaW50ZXJwb2xh dGlvbl9tZXRob2QpIHsKLSAgICAgcmV0dXJuIGJhc2U6OkFkb3B0UmVmKG5ldyBGb250UGFsZXR0 ZSgKLS0gICAgICAgIHN0YXJ0LCBlbmQsIE5vbk5vcm1hbGl6ZWRQZXJjZW50YWdlcyhzdGFydF9w ZXJjZW50YWdlLCBlbmRfcGVyY2VudGFnZSksCi0rICAgICAgICBzdGFydCwgZW5kLCBOb25Ob3Jt YWxpemVkUGVyY2VudGFnZXN7c3RhcnRfcGVyY2VudGFnZSwgZW5kX3BlcmNlbnRhZ2V9LAotICAg ICAgICAgbm9ybWFsaXplZF9wZXJjZW50YWdlLCBhbHBoYV9tdWx0aXBsaWVyLCBjb2xvcl9pbnRl cnBvbGF0aW9uX3NwYWNlLAotICAgICAgICAgaHVlX2ludGVycG9sYXRpb25fbWV0aG9kKSk7Ci0g ICB9Ci1AQCAtMTcwLDcgKzE3MCw3IEBAIGNsYXNzIFBMQVRGT1JNX0VYUE9SVCBGb250UGFsZXR0 ZSA6IHB1YmwKLSAgICAgICBkb3VibGUgbm9ybWFsaXplZF9wZXJjZW50YWdlKSB7Ci0gICAgIGRv dWJsZSBlbmRfcGVyY2VudGFnZSA9IG5vcm1hbGl6ZWRfcGVyY2VudGFnZSAqIDEwMC4wOwotICAg ICBkb3VibGUgc3RhcnRfcGVyY2VudGFnZSA9IDEwMC4wIC0gZW5kX3BlcmNlbnRhZ2U7Ci0tICAg IHJldHVybiBOb25Ob3JtYWxpemVkUGVyY2VudGFnZXMoc3RhcnRfcGVyY2VudGFnZSwgZW5kX3Bl cmNlbnRhZ2UpOwotKyAgICByZXR1cm4gTm9uTm9ybWFsaXplZFBlcmNlbnRhZ2Vze3N0YXJ0X3Bl cmNlbnRhZ2UsIGVuZF9wZXJjZW50YWdlfTsKLSAgIH0KLSAKLSAgIGRvdWJsZSBHZXRBbHBoYU11 bHRpcGxpZXIoKSBjb25zdCB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2NvbnRl bnQvYnJvd3Nlci9yZW5kZXJlcl9ob3N0L3JlbmRlcl9mcmFtZV9ob3N0X2ltcGwuY2MubWUgY2hy b21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJf ZnJhbWVfaG9zdF9pbXBsLmNjCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jy b3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjLm1lCTIwMjMtMDkt MTUgMTI6MTc6MzUuNjY0ODYxMjU3ICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9j b250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9zdF9pbXBsLmNjCTIw MjMtMDktMTUgMTI6MjE6MDYuMTEyNjk0MjU2ICswMjAwCi1AQCAtODUwOSw3ICs4NTA5LDcgQEAg dm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpTZW5kRmVuY2VkRnJhbQotICAgZm9yIChjb25zdCBi bGluazo6RmVuY2VkRnJhbWU6OlJlcG9ydGluZ0Rlc3RpbmF0aW9uJiBkZXN0aW5hdGlvbiA6Ci0g ICAgICAgIGRlc3RpbmF0aW9ucykgewotICAgICBTZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFj b25JbnRlcm5hbCgKLS0gICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50KGV2ZW50X3R5cGUsIGV2 ZW50X2RhdGEpLCBkZXN0aW5hdGlvbiwKLSsgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50e2V2 ZW50X3R5cGUsIGV2ZW50X2RhdGF9LCBkZXN0aW5hdGlvbiwKLSAgICAgICAgIC8qZnJvbV9yZW5k ZXJlcj0qL3RydWUsIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAotICAg ICAgICAgR2V0RnJhbWVUcmVlTm9kZUlkKCkpOwotICAgfQotQEAgLTg1NDUsNyArODU0NSw3IEBA IHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KLSAgIH0KLSAKLSAgIFNl bmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFsKAotLSAgICAgIERlc3RpbmF0aW9u VVJMRXZlbnQoZGVzdGluYXRpb25fdXJsKSwKLSsgICAgICBEZXN0aW5hdGlvblVSTEV2ZW50e2Rl c3RpbmF0aW9uX3VybH0sCi0gICAgICAgYmxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0 aW5hdGlvbjo6a0J1eWVyLAotICAgICAgIC8qZnJvbV9yZW5kZXJlcj0qL3RydWUsIGF0dHJpYnV0 aW9uX3JlcG9ydGluZ19ydW50aW1lX2ZlYXR1cmVzLAotICAgICAgIEdldEZyYW1lVHJlZU5vZGVJ ZCgpKTsKLUBAIC04NjE3LDggKzg2MTcsOCBAQCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6Ok1h eWJlU2VuZEZlbmNlCi0gICBmb3IgKGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVzdGlu YXRpb24gZGVzdGluYXRpb24gOgotICAgICAgICBpbmZvLT5kZXN0aW5hdGlvbnMpIHsKLSAgICAg aW5pdGlhdG9yX3JmaC0+U2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVhY29uSW50ZXJuYWwoCi0t ICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChibGluazo6a0ZlbmNlZEZyYW1lVG9wTmF2aWdh dGlvbkJlYWNvblR5cGUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLT5kYXRh KSwKLSsgICAgICAgIERlc3RpbmF0aW9uRW51bUV2ZW50e2JsaW5rOjprRmVuY2VkRnJhbWVUb3BO YXZpZ2F0aW9uQmVhY29uVHlwZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8t PmRhdGF9LAotICAgICAgICAgZGVzdGluYXRpb24sCi0gICAgICAgICAvKmZyb21fcmVuZGVyZXI9 Ki9mYWxzZSwgaW5mby0+YXR0cmlidXRpb25fcmVwb3J0aW5nX3J1bnRpbWVfZmVhdHVyZXMsCi0g ICAgICAgICBHZXRGcmFtZVRyZWVOb2RlSWQoKSwgbmF2aWdhdGlvbl9yZXF1ZXN0LkdldE5hdmln YXRpb25JZCgpKTsKLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dz ZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50X25hdmln YXRpb25fdGhyb3R0bGUuY2MubWUgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jaHJvbWUvYnJvd3Nl ci9lbnRlcnByaXNlL3Byb2ZpbGVfbWFuYWdlbWVudC9wcm9maWxlX21hbmFnZW1lbnRfbmF2aWdh dGlvbl90aHJvdHRsZS5jYwotLS0tIGNocm9taXVtLTExNy4wLjU5MzguNjIvY2hyb21lL2Jyb3dz ZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmlsZV9tYW5hZ2VtZW50X25hdmln YXRpb25fdGhyb3R0bGUuY2MubWUJMjAyMy0wOS0xNSAyMjowNDowOS4yMzMzNTY2MjcgKzAyMDAK LSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL2Nocm9tZS9icm93c2VyL2VudGVycHJpc2UvcHJv ZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZpZ2F0aW9uX3Rocm90dGxlLmNj CTIwMjMtMDktMTUgMjI6MDU6NDQuMTI2MDYzOTkyICswMjAwCi1AQCAtNjcsOCArNjcsOCBAQCBi YXNlOjpmbGF0X21hcDxzdGQ6OnN0cmluZywgU0FNTFByb2ZpbGVBCi0gICAvLyBUT0RPKGNyYnVn LmNvbS8xNDQ1MDcyKTogQWRkIGFjdHVhbCBkb21haW5zIHdpdGggYXR0cmlidXRlIG5hbWVzLgot ICAgcHJvZmlsZV9hdHRyaWJ1dGVzLT5pbnNlcnQoc3RkOjptYWtlX3BhaXIoCi0gICAgICAgInN1 cHBvcnRlZC50ZXN0IiwKLS0gICAgICBTQU1MUHJvZmlsZUF0dHJpYnV0ZXMoInBsYWNlaG9sZGVy TmFtZSIsICJwbGFjZWhvbGRlckRvbWFpbiIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJwbGFjZWhvbGRlclRva2VuIikpKTsKLSsgICAgICBTQU1MUHJvZmlsZUF0dHJpYnV0ZXN7InBs YWNlaG9sZGVyTmFtZSIsICJwbGFjZWhvbGRlckRvbWFpbiIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJwbGFjZWhvbGRlclRva2VuIn0pKTsKLSAKLSAgIC8vIEV4dHJhY3QgZG9tYWlu cyBhbmQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb21tYW5kIGxpbmUgc3dpdGNoLgotICAgY29uc3Qg YmFzZTo6Q29tbWFuZExpbmUmIGNvbW1hbmRfbGluZSA9Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTUu MC41NzkwLjQwL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9jYXBhYmlsaXRpZXMuY2MubWUgY2hy b21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVz LmNjCi0tLS0gY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIv Y2FwYWJpbGl0aWVzLmNjLm1lCTIwMjMtMDYtMjUgMTA6MDY6NTguNDQ1OTkwMDY5ICswMjAwCi0r KysgY2hyb21pdW0tMTE1LjAuNTc5MC40MC9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2FwYWJp bGl0aWVzLmNjCTIwMjMtMDYtMjUgMTA6NTE6MTcuNjQwODE4MjMxICswMjAwCi1AQCAtMzU1LDcg KzM1NSw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihjb25zdCBiYXNlOjoKLSAgICAg ICAgICAgICAgICAgICAgICAgICAiJ3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5nIik7Ci0g ICAgICAgICB9Ci0gCi0tICAgICAgICBicmFuZHMuZW1wbGFjZV9iYWNrKCpicmFuZCwgKnZlcnNp b24pOwotKyAgICAgICAgYnJhbmRzLmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259 OwotICAgICAgIH0KLSAKLSAgICAgICBjbGllbnRfaGludHMuYnJhbmRzID0gc3RkOjptb3ZlKGJy YW5kcyk7Ci1AQCAtMzkyLDcgKzM5Miw3IEBAIFN0YXR1cyBQYXJzZU1vYmlsZUVtdWxhdGlvbihj b25zdCBiYXNlOjoKLSAgICAgICAgICAgICAgICAgICAgICAgICAiYSAndmVyc2lvbicgZmllbGQg b2YgdHlwZSBzdHJpbmciKTsKLSAgICAgICAgIH0KLSAKLS0gICAgICAgIGZ1bGxfdmVyc2lvbl9s aXN0LmVtcGxhY2VfYmFjaygqYnJhbmQsICp2ZXJzaW9uKTsKLSsgICAgICAgIGZ1bGxfdmVyc2lv bl9saXN0LmVtcGxhY2VfYmFjaygpID0geypicmFuZCwgKnZlcnNpb259OwotICAgICAgIH0KLSAK LSAgICAgICBjbGllbnRfaGludHMuZnVsbF92ZXJzaW9uX2xpc3QgPSBzdGQ6Om1vdmUoZnVsbF92 ZXJzaW9uX2xpc3QpOwotZGlmZiAtdXAgY2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJv d3Nlci9jb250ZW50X3NldHRpbmdzL29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MubWUg Y2hyb21pdW0tMTE2LjAuNTg0NS45Ni9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29u ZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MKLS0tLSBjaHJvbWl1bS0xMTYuMC41ODQ1Ljk2 L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92 aWRlci5jYy5tZQkyMDIzLTA4LTE1IDIxOjM0OjU4LjkyMjg1NTQyOCArMDIwMAotKysrIGNocm9t aXVtLTExNi4wLjU4NDUuOTYvY2hyb21lL2Jyb3dzZXIvY29udGVudF9zZXR0aW5ncy9vbmVfdGlt ZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjCTIwMjMtMDgtMTUgMjE6Mzk6MjMuMzEwNDM0MjM3ICsw MjAwCi1AQCAtMjA3LDggKzIwNyw4IEBAIHZvaWQgT25lVGltZVBlcm1pc3Npb25Qcm92aWRlcjo6 T25TdXNwZW4KLSAKLSAgICAgICB3aGlsZSAocnVsZV9pdGVyYXRvciAmJiBydWxlX2l0ZXJhdG9y LT5IYXNOZXh0KCkpIHsKLSAgICAgICAgIGF1dG8gcnVsZSA9IHJ1bGVfaXRlcmF0b3ItPk5leHQo KTsKLS0gICAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soc2V0dGluZ190eXBl LCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuKTsKLSsgICAgICAgIHBhdHRlcm5zX3Rv X2RlbGV0ZS5lbXBsYWNlX2JhY2soKSA9IHtzZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0 dGVybiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcnVsZS0+c2Vj b25kYXJ5X3BhdHRlcm59OwotICAgICAgICAgcGVybWlzc2lvbnM6OlBlcm1pc3Npb25VbWFVdGls OjpSZWNvcmRPbmVUaW1lUGVybWlzc2lvbkV2ZW50KAotICAgICAgICAgICAgIHNldHRpbmdfdHlw ZSwKLSAgICAgICAgICAgICBwZXJtaXNzaW9uczo6T25lVGltZVBlcm1pc3Npb25FdmVudDo6RVhQ SVJFRF9PTl9TVVNQRU5EKTsKLUBAIC0zMDIsOCArMzAyLDggQEAgdm9pZCBPbmVUaW1lUGVybWlz c2lvblByb3ZpZGVyOjpEZWxldGVFbgotICAgICBhdXRvIHJ1bGUgPSBydWxlX2l0ZXJhdG9yLT5O ZXh0KCk7Ci0gICAgIGlmIChydWxlLT5wcmltYXJ5X3BhdHRlcm4uTWF0Y2hlcyhvcmlnaW5fZ3Vy bCkgJiYKLSAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuLk1hdGNoZXMob3JpZ2luX2d1 cmwpKSB7Ci0tICAgICAgcGF0dGVybnNfdG9fZGVsZXRlLmVtcGxhY2VfYmFjaygKLS0gICAgICAg ICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwgcnVsZS0+c2Vj b25kYXJ5X3BhdHRlcm4pOwotKyAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2so KSA9IHsKLSsgICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1hcnlfcGF0 dGVybiwgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm59OwotICAgICAgIHBlcm1pc3Npb25zOjpQZXJt aXNzaW9uVW1hVXRpbDo6UmVjb3JkT25lVGltZVBlcm1pc3Npb25FdmVudCgKLSAgICAgICAgICAg Y29udGVudF9zZXR0aW5nX3R5cGUsIHRyaWdnZXJfZXZlbnQpOwotICAgICB9Ci1kaWZmIC11cCBj aHJvbWl1bS0xMTcuMC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjLm1lIGNo cm9taXVtLTExNy4wLjU5MzguNjIvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2MKLS0tLSBj aHJvbWl1bS0xMTcuMC41OTM4LjYyL2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjLm1lCTIw MjMtMDktMTMgMjA6MTQ6NDIuNDQxMjQ4NzgxICswMjAwCi0rKysgY2hyb21pdW0tMTE3LjAuNTkz OC42Mi9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYwkyMDIzLTA5LTEzIDIwOjE2OjEyLjE4 NjYzODYwMSArMDIwMAotQEAgLTIxODcsOCArMjE4Nyw4IEBAIHZvaWQgVHJhY2VMb2c6OlNldFRy YWNlQnVmZmVyRm9yVGVzdGluZygKLSAjaWYgQlVJTERGTEFHKFVTRV9QRVJGRVRUT19DTElFTlRf TElCUkFSWSkKLSB2b2lkIFRyYWNlTG9nOjpPblNldHVwKGNvbnN0IHBlcmZldHRvOjpEYXRhU291 cmNlQmFzZTo6U2V0dXBBcmdzJiBhcmdzKSB7Ci0gICBBdXRvTG9jayBsb2NrKHRyYWNrX2V2ZW50 X2xvY2tfKTsKLS0gIHRyYWNrX2V2ZW50X3Nlc3Npb25zXy5lbXBsYWNlX2JhY2soYXJncy5pbnRl cm5hbF9pbnN0YW5jZV9pbmRleCwgKmFyZ3MuY29uZmlnLAotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhcmdzLmJhY2tlbmRfdHlwZSk7Ci0rICB0cmFja19ldmVudF9zZXNz aW9uc18uZW1wbGFjZV9iYWNrKCkgPSB7YXJncy5pbnRlcm5hbF9pbnN0YW5jZV9pbmRleCwgKmFy Z3MuY29uZmlnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzLmJh Y2tlbmRfdHlwZX07Ci0gfQotIAotIHZvaWQgVHJhY2VMb2c6Ok9uU3RhcnQoY29uc3QgcGVyZmV0 dG86OkRhdGFTb3VyY2VCYXNlOjpTdGFydEFyZ3MmKSB7Ci1kaWZmIC11cCBjaHJvbWl1bS0xMTcu MC41OTM4LjYyL2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2MubWUgY2hy b21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9wYWNrYWdl LmNjCi0tLS0gY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQv c2F2ZV9wYWNrYWdlLmNjLm1lCTIwMjMtMDktMTUgMTI6MDI6NDMuODY2NjIyNTkxICswMjAwCi0r KysgY2hyb21pdW0tMTE3LjAuNTkzOC42Mi9jb250ZW50L2Jyb3dzZXIvZG93bmxvYWQvc2F2ZV9w YWNrYWdlLmNjCTIwMjMtMDktMTUgMTI6MDM6NTguNzE1OTg0NTExICswMjAwCi1AQCAtNzY0LDgg Kzc2NCw4IEBAIHZvaWQgU2F2ZVBhY2thZ2U6OkZpbmlzaCgpIHsKLSAgIGlmIChkb3dubG9hZF8p IHsKLSAgICAgc3RkOjp2ZWN0b3I8ZG93bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRhOjpJdGVt SW5mbz4gZmlsZXM7Ci0gICAgIGZvciAoYXV0byYgaXRlbSA6IHNhdmVkX3N1Y2Nlc3NfaXRlbXNf KSB7Ci0tICAgICAgZmlsZXMuZW1wbGFjZV9iYWNrKGl0ZW0uc2Vjb25kLT5mdWxsX3BhdGgoKSwg aXRlbS5zZWNvbmQtPnVybCgpLAotLSAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtLnNlY29u ZC0+cmVmZXJyZXIoKS51cmwpOwotKyAgICAgIGZpbGVzLmVtcGxhY2VfYmFjaygpID0ge2l0ZW0u c2Vjb25kLT5mdWxsX3BhdGgoKSwgaXRlbS5zZWNvbmQtPnVybCgpLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICBpdGVtLnNlY29uZC0+cmVmZXJyZXIoKS51cmx9OwotICAgICB9Ci0gICAgIGRv d25sb2FkOjpEb3dubG9hZFNhdmVJdGVtRGF0YTo6QXR0YWNoSXRlbURhdGEoZG93bmxvYWRfLCBz dGQ6Om1vdmUoZmlsZXMpKTsKLSAgIH0KLWRpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNjIv dWkvZ3RrL2d0a191aS5jYy5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWku Y2MKLS0tLSBjaHJvbWl1bS0xMTcuMC41OTM4LjYyL3VpL2d0ay9ndGtfdWkuY2MubWUJMjAyMy0w OS0xNSAyMDoyOTo0Mi42MjY1MDIzNDMgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTcuMC41OTM4LjYy L3VpL2d0ay9ndGtfdWkuY2MJMjAyMy0wOS0xNSAyMDozNjoxOC43NjMwOTExNzkgKzAyMDAKLUBA IC05NTUsMTEgKzk1NSwxMSBAQCB1aTo6RGlzcGxheUNvbmZpZyBHdGtVaTo6R2V0RGlzcGxheUNv bmZpCi0gICAgIEdka1JlY3RhbmdsZSBnZW9tZXRyeTsKLSAgICAgZ2RrX21vbml0b3JfZ2V0X2dl b21ldHJ5KG1vbml0b3IsICZnZW9tZXRyeSk7Ci0gICAgIGludCBtb25pdG9yX3NjYWxlID0gc3Rk OjptYXgoMSwgZ2RrX21vbml0b3JfZ2V0X3NjYWxlX2ZhY3Rvcihtb25pdG9yKSk7Ci0tICAgIGNv bmZpZy5kaXNwbGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKAotKyAgICBjb25maWcuZGlzcGxh eV9nZW9tZXRyaWVzLmVtcGxhY2VfYmFjaygpID0gewotICAgICAgICAgZ2Z4OjpSZWN0KG1vbml0 b3Jfc2NhbGUgKiBnZW9tZXRyeS54LCBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkueSwKLSAgICAg ICAgICAgICAgICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkud2lkdGgsCi0gICAgICAgICAg ICAgICAgICAgbW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LmhlaWdodCksCi0tICAgICAgICBtb25p dG9yX3NjYWxlICogZm9udF9zY2FsZSk7Ci0rICAgICAgICBzdGF0aWNfY2FzdDxmbG9hdD4obW9u aXRvcl9zY2FsZSAqIGZvbnRfc2NhbGUpfTsKLSAgIH0KLSAgIHJldHVybiBjb25maWc7Ci0gfQot ZGlmZiAtdXAgY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUv YnJvd3Nlci9jb250YWN0X2luZm9fc3luY191dGlsLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMu NTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRp bC5jYwotLS0tIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3Jl L2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYy5tZQkyMDIzLTEwLTA2IDEwOjM4OjUy LjQ3MzE0NTY5MiArMDIwMAotKysrIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9h dXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZvX3N5bmNfdXRpbC5jYwkyMDIzLTEwLTA2 IDEwOjM3OjMwLjI2ODYxNzE2OSArMDIwMAotQEAgLTE3NCw5ICsxNzQsOSBAQCBjbGFzcyBDb250 YWN0SW5mb1Byb2ZpbGVTZXR0ZXIgewotICAgICBDSEVDSyhvYnNlcnZhdGlvbnMuZW1wdHkoKSk7 Ci0gICAgIGZvciAoY29uc3Qgc3luY19wYjo6Q29udGFjdEluZm9TcGVjaWZpY3M6Ok9ic2VydmF0 aW9uJiBwcm90b19vYnNlcnZhdGlvbiA6Ci0gICAgICAgICAgcHJvdG9fb2JzZXJ2YXRpb25zKSB7 Ci0tICAgICAgb2JzZXJ2YXRpb25zLmVtcGxhY2VfYmFjayhwcm90b19vYnNlcnZhdGlvbi50eXBl KCksCi0rICAgICAgb2JzZXJ2YXRpb25zLmVtcGxhY2VfYmFjaygpID0ge3N0YXRpY19jYXN0PHVu c2lnbmVkIGNoYXI+KHByb3RvX29ic2VydmF0aW9uLnR5cGUoKSksCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQcm9maWxlVG9rZW5RdWFsaXR5OjpGb3JtU2lnbmF0dXJlSGFzaCgK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b19vYnNlcnZhdGlvbi5m b3JtX2hhc2goKSkpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3Rv X29ic2VydmF0aW9uLmZvcm1faGFzaCgpKX07Ci0gICAgIH0KLSAgIH0KLSAKLWRpZmYgLXVwIGNo cm9taXVtLTExOC4wLjU5OTMuNTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2Vi ZGF0YS9hdXRvZmlsbF9zeW5jX2JyaWRnZV91dGlsLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMu NTQvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvd2ViZGF0YS9hdXRvZmlsbF9zeW5j X2JyaWRnZV91dGlsLmNjCi0tLS0gY2hyb21pdW0tMTE4LjAuNTk5My41NC9jb21wb25lbnRzL2F1 dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3N5bmNfYnJpZGdlX3V0aWwuY2Mu bWUJMjAyMy0xMC0wNiAxMDo0MTozNy43NDY0MDIyMTUgKzAyMDAKLSsrKyBjaHJvbWl1bS0xMTgu MC41OTkzLjU0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0b2Zp bGxfc3luY19icmlkZ2VfdXRpbC5jYwkyMDIzLTEwLTA2IDEwOjQyOjI4LjQ2OTU2MjkyNyArMDIw MAotQEAgLTU1MywxMSArNTUzLDExIEBAIFNlcnZlckN2YyBBdXRvZmlsbFdhbGxldEN2Y1N0cnVj dERhdGFGcm8KLSAgIGJhc2U6OlN0cmluZ1RvSW50NjQod2FsbGV0X2NyZWRlbnRpYWxfc3BlY2lm aWNzLmluc3RydW1lbnRfaWQoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgJmluc3RydW1lbnRf aWQpOwotIAotLSAgcmV0dXJuIFNlcnZlckN2YygKLSsgIHJldHVybiBTZXJ2ZXJDdmN7Ci0gICAg ICAgaW5zdHJ1bWVudF9pZCwgYmFzZTo6VVRGOFRvVVRGMTYod2FsbGV0X2NyZWRlbnRpYWxfc3Bl Y2lmaWNzLmN2YygpKSwKLSAgICAgICBiYXNlOjpUaW1lOjpVbml4RXBvY2goKSArCi0gICAgICAg ICAgIGJhc2U6Ok1pbGxpc2Vjb25kcyh3YWxsZXRfY3JlZGVudGlhbF9zcGVjaWZpY3MKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubGFzdF91cGRhdGVkX3RpbWVfdW5peF9lcG9j aF9taWxsaXMoKSkpOwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5sYXN0X3Vw ZGF0ZWRfdGltZV91bml4X2Vwb2NoX21pbGxpcygpKX07Ci0gfQotIAotIFZpcnR1YWxDYXJkVXNh Z2VEYXRhIFZpcnR1YWxDYXJkVXNhZ2VEYXRhRnJvbVVzYWdlU3BlY2lmaWNzKAotZGlmZiAtdXAg Y2hyb21pdW0tMTE4LjAuNTk5My41NC9jb250ZW50L2Jyb3dzZXIvd2ViaWQvaWRwX25ldHdvcmtf cmVxdWVzdF9tYW5hZ2VyLmNjLm1lIGNocm9taXVtLTExOC4wLjU5OTMuNTQvY29udGVudC9icm93 c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVlc3RfbWFuYWdlci5jYwotLS0tIGNocm9taXVtLTEx OC4wLjU5OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVlc3RfbWFu YWdlci5jYy5tZQkyMDIzLTEwLTA2IDEzOjQ2OjU3LjI4NzA4OTA0MCArMDIwMAotKysrIGNocm9t aXVtLTExOC4wLjU5OTMuNTQvY29udGVudC9icm93c2VyL3dlYmlkL2lkcF9uZXR3b3JrX3JlcXVl c3RfbWFuYWdlci5jYwkyMDIzLTEwLTA2IDEzOjQ3OjI1LjQ1MDYzMjE1NiArMDIwMAotQEAgLTYw NCw3ICs2MDQsNyBAQCB2b2lkIE9uVG9rZW5SZXF1ZXN0UGFyc2VkKAotICAgICBpZiAocmVzcG9u c2VfZXJyb3IpIHsKLSAgICAgICBpbnQgZXJyb3JfY29kZSA9IHJlc3BvbnNlX2Vycm9yLT5GaW5k SW50KGtFcnJvckNvZGVLZXkpLnZhbHVlX29yKDApOwotICAgICAgIEdVUkwgZXJyb3JfdXJsID0g RXh0cmFjdFVybCgqcmVzcG9uc2VfZXJyb3IsIGtFcnJvclVybEtleSk7Ci0tICAgICAgdG9rZW5f cmVzdWx0LmVycm9yID0gVG9rZW5FcnJvcihlcnJvcl9jb2RlLCBlcnJvcl91cmwpOwotKyAgICAg IHRva2VuX3Jlc3VsdC5lcnJvciA9IFRva2VuRXJyb3J7ZXJyb3JfY29kZSwgZXJyb3JfdXJsfTsK LSAgICAgfQotICAgfQotIAoKZGlmZiAtLWdpdCBhL2Nocm9taXVtLTExOC11c2Vfc3lzdGVtX2Zy ZWV0eXBlLnBhdGNoIGIvY2hyb21pdW0tMTE4LXVzZV9zeXN0ZW1fZnJlZXR5cGUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNlOWZiZGUuLjAwMDAwMDAKLS0tIGEvY2hyb21p dW0tMTE4LXVzZV9zeXN0ZW1fZnJlZXR5cGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw5MSAr MCwwIEBACi1jb21taXQgZWQzNTRkMDBhZWRhODQ2OTM2MTFiMTRiYWE1NmEyODc1NTdhMjZiNQot QXV0aG9yOiBNdW5pcmEgVHVyc3Vub3ZhIDxtb29uaXJhQGdvb2dsZS5jb20+Ci1EYXRlOiAgIFR1 ZSBTZXAgMTIgMTE6NTQ6NDggMjAyMyArMDAwMAotCi0gICAgQWRkIGNoZWNrIGZvciB1c2Vfc3lz dGVtX2ZyZWV0eXBlIHdoZW4gaW1wb3J0aW5nIHByaXZhdGUgZnJlZXR5cGUgaGVhZGVyCi0gICAg Ci0gICAgSW4gWzBdIHRoZSBpbmNsdWRlIG9mIHByaXZhdGUgZnJlZXR5cGUgaGVhZGVyIHdhcyBh ZGRlZCwgd2hpY2ggY2F1c2VkCi0gICAgYnVpbGQgYnJlYWthZ2Ugd2hlbiB1c2Vfc3lzdGVtX2Zy ZWV0eXBlPXRydWUsIHNlZSBbMV0uCi0gICAgCi0gICAgVGhpcyBDTCBmaXhlcyB0aGUgYnJlYWth Z2UgYnkgaW50cm9kdWNpbmcgVVNFX1NZU1RFTV9GUkVFVFlQRSBidWlsZCBmbGFnLgotICAgIAot ICAgIFswXSBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVzb3VyY2UuY29tL2MvY2hyb21p dW0vc3JjLysvNDcxNzQ4NQotICAgIFsxXSBodHRwczovL2Nocm9taXVtLXJldmlldy5nb29nbGVz b3VyY2UuY29tL2MvY2hyb21pdW0vc3JjLysvNDcxNzQ4NS9jb21tZW50cy9jZGZjYTdiOV84ZTYx YjJlMAotICAgIAotICAgIEJ1ZzogMTQyOTU4MQotICAgIENoYW5nZS1JZDogSTdmN2RlNGNkYjJk YzQ2MDkyYTkxYTQ3ZDc2NmJlZGI1OGRkY2NiN2MKLSAgICBSZXZpZXdlZC1vbjogaHR0cHM6Ly9j aHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzQ4NDM0MjgK LSAgICBDb21taXQtUXVldWU6IE11bmlyYSBUdXJzdW5vdmEgPG1vb25pcmFAZ29vZ2xlLmNvbT4K LSAgICBSZXZpZXdlZC1ieTogRG9taW5payBSw7Z0dHNjaGVzIDxkcm90dEBjaHJvbWl1bS5vcmc+ Ci0gICAgUmV2aWV3ZWQtYnk6IFJpY2sgQnllcnMgPHJieWVyc0BjaHJvbWl1bS5vcmc+Ci0gICAg Q3ItQ29tbWl0LVBvc2l0aW9uOiByZWZzL2hlYWRzL21haW5AeyMxMTk1MzIzfQotCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvQlVJTEQuZ24gYi90aGlyZF9wYXJ0eS9CVUlMRC5nbgotaW5kZXgg N2IwODZmOTU0MTNmZi4uNGNlNzk3ZWJhZDcyMiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L0JV SUxELmduCi0rKysgYi90aGlyZF9wYXJ0eS9CVUlMRC5nbgotQEAgLTIsNiArMiw3IEBACi0gIyBV c2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNl IHRoYXQgY2FuIGJlCi0gIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgotIAotK2ltcG9ydCgi Ly9idWlsZC9idWlsZGZsYWdfaGVhZGVyLmduaSIpCi0gaW1wb3J0KCIvL2J1aWxkL2NvbmZpZy9m ZWF0dXJlcy5nbmkiKQotIGltcG9ydCgiLy9idWlsZC9jb25maWcvZnJlZXR5cGUvZnJlZXR5cGUu Z25pIikKLSBpbXBvcnQoIi8vdGhpcmRfcGFydHkvaGFyZmJ1enotbmcvaGFyZmJ1enouZ25pIikK LUBAIC02NSwzICs2Niw4IEBAIGNvbXBvbmVudCgiZnJlZXR5cGVfaGFyZmJ1enoiKSB7Ci0gICAg IHB1YmxpY19kZXBzICs9IFsgIi8vdGhpcmRfcGFydHkvaGFyZmJ1enotbmc6aGFyZmJ1enpfc291 cmNlIiBdCi0gICB9Ci0gfQotKwotK2J1aWxkZmxhZ19oZWFkZXIoImZyZWV0eXBlX2J1aWxkZmxh Z3MiKSB7Ci0rICBoZWFkZXIgPSAiZnJlZXR5cGVfYnVpbGRmbGFncy5oIgotKyAgZmxhZ3MgPSBb ICJVU0VfU1lTVEVNX0ZSRUVUWVBFPSR1c2Vfc3lzdGVtX2ZyZWV0eXBlIiBdCi0rfQotZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL0JVSUxELmduIGIvdGhp cmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vQlVJTEQuZ24KLWluZGV4IDU5MWQyZjkz OTYwNWIuLmY2YTJjZDIxNjhkMWUgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ibGluay9yZW5k ZXJlci9wbGF0Zm9ybS9CVUlMRC5nbgotKysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIv cGxhdGZvcm0vQlVJTEQuZ24KLUBAIC0xNzE3LDYgKzE3MTcsNyBAQCBjb21wb25lbnQoInBsYXRm b3JtIikgewotICAgICAiLy9zZXJ2aWNlcy92aXovcHVibGljL2NwcC9ncHUiLAotICAgICAiLy9z a2lhIiwKLSAgICAgIi8vc2tpYTpza2NtcyIsCi0rICAgICIvL3RoaXJkX3BhcnR5OmZyZWV0eXBl X2J1aWxkZmxhZ3MiLAotICAgICAiLy90aGlyZF9wYXJ0eTpmcmVldHlwZV9oYXJmYnV6eiIsCi0g ICAgICIvL3RoaXJkX3BhcnR5L2Fic2VpbC1jcHA6YWJzbCIsCi0gICAgICIvL3RoaXJkX3BhcnR5 L2JsaW5rL3B1YmxpYzppbWFnZV9yZXNvdXJjZXMiLAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5 L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL3NpbXBsZV9mb250X2RhdGEuY2MgYi90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9zaW1wbGVfZm9udF9kYXRhLmNj Ci1pbmRleCBhYmUwNmYzNWMxNGE1Li5iMmJmZDg4ZjBkODVkIDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvc2ltcGxlX2ZvbnRfZGF0YS5jYwot KysrIGIvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvc2ltcGxlX2Zv bnRfZGF0YS5jYwotQEAgLTQ4LDcgKzQ4LDcgQEAKLSAjaW5jbHVkZSAidGhpcmRfcGFydHkvYmxp bmsvcmVuZGVyZXIvcGxhdGZvcm0vd3RmL21hdGhfZXh0cmFzLmgiCi0gI2luY2x1ZGUgInRoaXJk X3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL3d0Zi90ZXh0L2NoYXJhY3Rlcl9uYW1lcy5o IgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS93dGYvdGV4 dC91bmljb2RlLmgiCi0tI2luY2x1ZGUgInRoaXJkX3BhcnR5L2ZyZWV0eXBlL3NyYy9zcmMvYXV0 b2ZpdC9hZndzLWRlY2wuaCIKLSsjaW5jbHVkZSAidGhpcmRfcGFydHkvZnJlZXR5cGVfYnVpbGRm bGFncy5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta0ZvbnRN ZXRyaWNzLmgiCi0gI2luY2x1ZGUgInRoaXJkX3BhcnR5L3NraWEvaW5jbHVkZS9jb3JlL1NrUGF0 aC5oIgotICNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9za2lhL2luY2x1ZGUvY29yZS9Ta1R5cGVmYWNl LmgiCi1AQCAtNTcsMTIgKzU3LDIyIEBACi0gI2luY2x1ZGUgInVpL2dmeC9nZW9tZXRyeS9za2lh X2NvbnZlcnNpb25zLmgiCi0gI2luY2x1ZGUgInY4L2luY2x1ZGUvdjguaCIKLSAKLSsjaWYgIUJV SUxERkxBRyhVU0VfU1lTVEVNX0ZSRUVUWVBFKQotKyNpbmNsdWRlICJ0aGlyZF9wYXJ0eS9mcmVl dHlwZS9zcmMvc3JjL2F1dG9maXQvYWZ3cy1kZWNsLmgiCi0rI2VuZGlmCi0rCi0gbmFtZXNwYWNl IGJsaW5rIHsKLSAKLSBjb25zdGV4cHIgZmxvYXQga1NtYWxsQ2Fwc0ZvbnRTaXplTXVsdGlwbGll ciA9IDAuN2Y7Ci0gY29uc3RleHByIGZsb2F0IGtFbXBoYXNpc01hcmtGb250U2l6ZU11bHRpcGxp ZXIgPSAwLjVmOwotKwotKyNpZiAhQlVJTERGTEFHKFVTRV9TWVNURU1fRlJFRVRZUEUpCi0gY29u c3RleHByIGludDMyX3Qga0ZvbnRPYmplY3RzTWVtb3J5Q29uc3VtcHRpb24gPQotICAgICBzdGQ6 Om1heChzaXplb2YoQUZfTGF0aW5NZXRyaWNzUmVjKSwgc2l6ZW9mKEFGX0NKS01ldHJpY3NSZWMp KTsKLSsjZWxzZQotKy8vIHNpemVvZihBRl9MYXRpbk1ldHJpY3NSZWMpID0gMjEyOAotK2NvbnN0 ZXhwciBpbnQzMl90IGtGb250T2JqZWN0c01lbW9yeUNvbnN1bXB0aW9uID0gMjEyODsKLSsjZW5k aWYKLSAKLSBTaW1wbGVGb250RGF0YTo6U2ltcGxlRm9udERhdGEoY29uc3QgRm9udFBsYXRmb3Jt RGF0YSYgcGxhdGZvcm1fZGF0YSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nv cGVkX3JlZnB0cjxDdXN0b21Gb250RGF0YT4gY3VzdG9tX2RhdGEsCgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTE5LWFzc2VydC5wYXRjaCBiL2Nocm9taXVtLTExOS1hc3NlcnQucGF0Y2gKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM1MDJmMQotLS0gL2Rldi9udWxsCisrKyBi L2Nocm9taXVtLTExOS1hc3NlcnQucGF0Y2gKQEAgLTAsMCArMSwxMiBAQAorZGlmZiAtdXAgY2hy b21pdW0tMTE5LjAuNjA0NS41OS92OC9zcmMvYmFzZS9zbWFsbC12ZWN0b3IuaC50aGFuIGNocm9t aXVtLTExOS4wLjYwNDUuNTkvdjgvc3JjL2Jhc2Uvc21hbGwtdmVjdG9yLmgKKy0tLSBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L3Y4L3NyYy9iYXNlL3NtYWxsLXZlY3Rvci5oLnRoYW4JMjAyMy0xMS0w MSAxNjoxMzoxMi42NDUzMDEzNDUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3Y4 L3NyYy9iYXNlL3NtYWxsLXZlY3Rvci5oCTIwMjMtMTEtMDEgMTY6MTM6MjkuNjYwNjEwMTgyICsw MTAwCitAQCAtMjIsNyArMjIsNyBAQCB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgc2l6ZV90IGtTaXpl LCB0eXBlCisgY2xhc3MgU21hbGxWZWN0b3IgeworICAgLy8gQ3VycmVudGx5IG9ubHkgc3VwcG9y dCB0cml2aWFsbHkgY29weWFibGUgYW5kIHRyaXZpYWxseSBkZXN0cnVjdGlibGUgZGF0YQorICAg Ly8gdHlwZXMsIGFzIGl0IHVzZXMgbWVtY3B5IHRvIGNvcHkgZWxlbWVudHMgYW5kIG5ldmVyIGNh bGxzIGRlc3RydWN0b3JzLgorLSAgQVNTRVJUX1RSSVZJQUxMWV9DT1BZQUJMRShUKTsKKysgIC8v QVNTRVJUX1RSSVZJQUxMWV9DT1BZQUJMRShUKTsKKyAgIHN0YXRpY19hc3NlcnQoc3RkOjppc190 cml2aWFsbHlfZGVzdHJ1Y3RpYmxlPFQ+Ojp2YWx1ZSk7CisgCisgIHB1YmxpYzoKCmRpZmYgLS1n aXQgYS9jaHJvbWl1bS0xMTktY29uc3RleHByLnBhdGNoIGIvY2hyb21pdW0tMTE5LWNvbnN0ZXhw ci5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTk1ZmY0Ci0tLSAv ZGV2L251bGwKKysrIGIvY2hyb21pdW0tMTE5LWNvbnN0ZXhwci5wYXRjaApAQCAtMCwwICsxLDEy IEBACitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvbWlyYWNsZV9w YXJhbWV0ZXIvY29tbW9uL3B1YmxpYy9taXJhY2xlX3BhcmFtZXRlci5oLm1lIGNocm9taXVtLTEx OS4wLjYwNDUuNTkvY29tcG9uZW50cy9taXJhY2xlX3BhcmFtZXRlci9jb21tb24vcHVibGljL21p cmFjbGVfcGFyYW1ldGVyLmgKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMv bWlyYWNsZV9wYXJhbWV0ZXIvY29tbW9uL3B1YmxpYy9taXJhY2xlX3BhcmFtZXRlci5oLm1lCTIw MjMtMTAtMzEgMjE6MDU6MDUuNTQ4NTY1MjQxICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0 NS41OS9jb21wb25lbnRzL21pcmFjbGVfcGFyYW1ldGVyL2NvbW1vbi9wdWJsaWMvbWlyYWNsZV9w YXJhbWV0ZXIuaAkyMDIzLTEwLTMxIDIxOjIwOjUzLjk0NTUzMjA5NCArMDEwMAorQEAgLTkzLDcg KzkzLDcgQEAgY2xhc3MgTWlyYWNsZVBhcmFtZXRlciB7CisgdGVtcGxhdGUgPD4KKyBjbGFzcyBN aXJhY2xlUGFyYW1ldGVyPHN0ZDo6c3RyaW5nPiA6IHB1YmxpYyBNaXJhY2xlUGFyYW1ldGVyQmFz ZTxzdGQ6OnN0cmluZz4geworICBwdWJsaWM6CistICBjb25zdGV4cHIgTWlyYWNsZVBhcmFtZXRl cihjb25zdCBiYXNlOjpGZWF0dXJlKiBmZWF0dXJlLAorKyAgTWlyYWNsZVBhcmFtZXRlcihjb25z dCBiYXNlOjpGZWF0dXJlKiBmZWF0dXJlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29uc3QgY2hhciogcGFyYW1fbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 ZDo6c3RyaW5nIGRlZmF1bHRfdmFsdWUpCisgICAgICAgOiBNaXJhY2xlUGFyYW1ldGVyQmFzZShm ZWF0dXJlLCBwYXJhbV9uYW1lLCBzdGQ6Om1vdmUoZGVmYXVsdF92YWx1ZSkpIHt9CgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTE5LWRvbnQtcmVkZWZpbmUtQVRTUEktdmVyc2lvbi1tYWNyb3MucGF0 Y2ggYi9jaHJvbWl1bS0xMTktZG9udC1yZWRlZmluZS1BVFNQSS12ZXJzaW9uLW1hY3Jvcy5wYXRj aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjY0YzU0Ci0tLSAvZGV2L251 bGwKKysrIGIvY2hyb21pdW0tMTE5LWRvbnQtcmVkZWZpbmUtQVRTUEktdmVyc2lvbi1tYWNyb3Mu cGF0Y2gKQEAgLTAsMCArMSw1MCBAQAorY29tbWl0IGZjMDkzNjNiMjI3ODg5Mzc5MGQxMzFjNzJh NGVkOTZlYzk4Mzc2MjQKK0F1dGhvcjogRWxseSA8ZWxseWpvbmVzQGNocm9taXVtLm9yZz4KK0Rh dGU6ICAgVGh1IFNlcCAyMSAyMjowOTo1OSAyMDIzICswMDAwCisKKyAgICBhMTF5OiBkb24ndCBy ZWRlZmluZSBBVFNQSSB2ZXJzaW9uIG1hY3JvcworICAgIAorICAgIEFzIG9mIEFUU1BJIDIuNDku OTAsIHRoZSBsaWJyYXJ5IGl0c2VsZiBkZWZpbmVzIHRoZXNlLCBhbmQgaWYgd2UKKyAgICByZWRl ZmluZSB0aGVtIG9uIHRoZSBjb21waWxlciBjb21tYW5kIGxpbmUsIHdlIGdldCBhIGJ1aWxkIHdh cm5pbmcuCisgICAgU2VlOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvYXQtc3BpMi1j b3JlLy0vaXNzdWVzLzEyOQorICAgIAorICAgIEJ1ZzogTm9uZQorICAgIENoYW5nZS1JZDogSTVj YzY1NWJkMzJjOTBkN2FmNTJjOWRjYTYwNzI0ZjMzNGM0YTJhNjUKKyAgICBSZXZpZXdlZC1vbjog aHR0cHM6Ly9jaHJvbWl1bS1yZXZpZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8r LzQ4ODM1NzYKKyAgICBBdXRvLVN1Ym1pdDogRWxseSBGSiA8ZWxseWpvbmVzQGNocm9taXVtLm9y Zz4KKyAgICBSZXZpZXdlZC1ieTogVGhvbWFzIEFuZGVyc29uIDx0aG9tYXNhbmRlcnNvbkBjaHJv bWl1bS5vcmc+CisgICAgQ29tbWl0LVF1ZXVlOiBUaG9tYXMgQW5kZXJzb24gPHRob21hc2FuZGVy c29uQGNocm9taXVtLm9yZz4KKyAgICBDci1Db21taXQtUG9zaXRpb246IHJlZnMvaGVhZHMvbWFp bkB7IzExOTk4NzB9CisKK2RpZmYgLS1naXQgYS9idWlsZC9jb25maWcvbGludXgvYXRzcGkyL0JV SUxELmduIGIvYnVpbGQvY29uZmlnL2xpbnV4L2F0c3BpMi9CVUlMRC5nbgoraW5kZXggNTFiNmQz M2FhYjNjMi4uZDE2MjkyMDVjODJhMyAxMDA2NDQKKy0tLSBhL2J1aWxkL2NvbmZpZy9saW51eC9h dHNwaTIvQlVJTEQuZ24KKysrKyBiL2J1aWxkL2NvbmZpZy9saW51eC9hdHNwaTIvQlVJTEQuZ24K K0BAIC0xNywxMyArMTcsMTkgQEAgaWYgKHVzZV9hdGspIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICItLXZlcnNpb24tYXMtY29tcG9uZW50cyIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ2YWx1ZSIpCistICAgIGF0c3BpX21ham9yX3ZlcnNpb24gPSBhdHNwaV92ZXJzaW9u WzBdCistICAgIGF0c3BpX21pbm9yX3ZlcnNpb24gPSBhdHNwaV92ZXJzaW9uWzFdCistICAgIGF0 c3BpX21pY3JvX3ZlcnNpb24gPSBhdHNwaV92ZXJzaW9uWzJdCistICAgIGRlZmluZXMgPSBbCist ICAgICAgIkFUU1BJX01BSk9SX1ZFUlNJT049JGF0c3BpX21ham9yX3ZlcnNpb24iLAorLSAgICAg ICJBVFNQSV9NSU5PUl9WRVJTSU9OPSRhdHNwaV9taW5vcl92ZXJzaW9uIiwKKy0gICAgICAiQVRT UElfTUlDUk9fVkVSU0lPTj0kYXRzcGlfbWljcm9fdmVyc2lvbiIsCistICAgIF0KKysgICAgbWFq b3IgPSBhdHNwaV92ZXJzaW9uWzBdCisrICAgIG1pbm9yID0gYXRzcGlfdmVyc2lvblsxXQorKyAg ICBtaWNybyA9IGF0c3BpX3ZlcnNpb25bMl0KKysKKysgICAgIyBBVFNQSSAyLjQ5LjkwIG5vdyBk ZWZpbmVzIHRoZXNlIGZvciB1cyBhbmQgaXQncyBhbiBlcnJvciBmb3IgdXMgdG8KKysgICAgIyBy ZWRlZmluZSB0aGVtIG9uIHRoZSBjb21waWxlciBjb21tYW5kIGxpbmUuCisrICAgICMgU2VlIEFU U1BJIDkyNzM0NGEzNGNkNWJmODFmYzY0ZGE0OTY4MjQxNzM1ZWNiNGYwM2IKKysgICAgaWYgKG1p bm9yIDwgNDkgfHwgKG1pbm9yID09IDQ5ICYmIG1pY3JvIDwgOTApKSB7CisrICAgICAgZGVmaW5l cyA9IFsKKysgICAgICAgICJBVFNQSV9NQUpPUl9WRVJTSU9OPSRtYWpvciIsCisrICAgICAgICAi QVRTUElfTUlOT1JfVkVSU0lPTj0kbWlub3IiLAorKyAgICAgICAgIkFUU1BJX01JQ1JPX1ZFUlNJ T049JG1pY3JvIiwKKysgICAgICBdCisrICAgIH0KKyAgIH0KKyB9CgpkaWZmIC0tZ2l0IGEvY2hy b21pdW0tMTE5LW1pc3NpbmctaGVhZGVyLWZpbGVzLnBhdGNoIGIvY2hyb21pdW0tMTE5LW1pc3Np bmctaGVhZGVyLWZpbGVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmEyNTQyZWYKLS0tIC9kZXYvbnVsbAorKysgYi9jaHJvbWl1bS0xMTktbWlzc2luZy1oZWFkZXIt ZmlsZXMucGF0Y2gKQEAgLTAsMCArMSw0NzAgQEAKK2RpZmYgLXVwIGNocm9taXVtLTExMC4wLjU0 ODEuMTc3L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWUgY2hyb21pdW0tMTEwLjAuNTQ4MS4x NzcvYmFzZS9tZW1vcnkvcmVmX2NvdW50ZWQuaAorLS0tIGNocm9taXVtLTExMC4wLjU0ODEuMTc3 L2Jhc2UvbWVtb3J5L3JlZl9jb3VudGVkLmgubWUJMjAyMy0wMi0yMyAxMzozNDozMy4xNzQ4MTcy NTUgLTA1MDAKKysrKyBjaHJvbWl1bS0xMTAuMC41NDgxLjE3Ny9iYXNlL21lbW9yeS9yZWZfY291 bnRlZC5oCTIwMjMtMDItMjMgMTM6NDI6MjguNjQ2MDUyNDY5IC0wNTAwCitAQCAtNiw2ICs2LDcg QEAKKyAjZGVmaW5lIEJBU0VfTUVNT1JZX1JFRl9DT1VOVEVEX0hfCisgCisgI2luY2x1ZGUgPHN0 ZGRlZi5oPgorKyNpbmNsdWRlIDxsaW1pdHM+CisgCisgI2luY2x1ZGUgPHV0aWxpdHk+CisgCitk aWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY2hlY2tfb3AuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQu NzQvYmFzZS9jaGVja19vcC5oLm1lCTIwMjMtMDEtMTcgMTc6Mzk6MjcuNjIwODc1ODgzICswMTAw CisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2NoZWNrX29wLmgJMjAyMy0wMS0xNyAx NzozOTo0Mi41NDYwNjA5NTcgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNpZm5kZWYgQkFTRV9D SEVDS19PUF9IXworICNkZWZpbmUgQkFTRV9DSEVDS19PUF9IXworIAorKyNpbmNsdWRlIDxjc3Rk aW50PgorICNpbmNsdWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUg PHR5cGVfdHJhaXRzPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVn L3Byb2ZpbGVyLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9iYXNlL2RlYnVnL3Byb2ZpbGVy LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvZGVidWcvcHJvZmlsZXIuaC5tZQky MDIzLTAxLTE3IDE2OjI5OjI2LjM2ODA5MDA3MyArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvYmFzZS9kZWJ1Zy9wcm9maWxlci5oCTIwMjMtMDEtMTcgMTY6NTk6NDEuMTkwNjI4Njc5 ICswMTAwCitAQCAtNyw2ICs3LDcgQEAKKyAKKyAjaW5jbHVkZSA8c3RkZGVmLmg+CisgCisrI2lu Y2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAjaW5jbHVkZSAiYmFzZS9i YXNlX2V4cG9ydC5oIgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmln L2dwdV9mZWF0dXJlX2luZm8uaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2dwdS9jb25maWcv Z3B1X2ZlYXR1cmVfaW5mby5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9ncHUvY29uZmln L2dwdV9mZWF0dXJlX2luZm8uaC5tZQkyMDIzLTAxLTE3IDE5OjA2OjUzLjUzMDY3NTEyOSArMDEw MAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvZ3B1L2NvbmZpZy9ncHVfZmVhdHVyZV9pbmZv LmgJMjAyMy0wMS0xNyAxOTowNzowOC44NzQ4NDk4NzkgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAor ICNpZm5kZWYgR1BVX0NPTkZJR19HUFVfRkVBVFVSRV9JTkZPX0hfCisgI2RlZmluZSBHUFVfQ09O RklHX0dQVV9GRUFUVVJFX0lORk9fSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVk ZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L25ldC9iYXNlL25ldF9leHBvcnQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L25ldC9iYXNlL25ldF9leHBvcnQuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvbmV0L2Jh c2UvbmV0X2V4cG9ydC5oLm1lCTIwMjMtMDEtMTcgMTg6MTY6MzQuMTMzODU0NjE1ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9uZXQvYmFzZS9uZXRfZXhwb3J0LmgJMjAyMy0wMS0x NyAxODoxNjoxNS45NDU2MjMxNTMgKzAxMDAKK0BAIC01LDYgKzUsOCBAQAorICNpZm5kZWYgTkVU X0JBU0VfTkVUX0VYUE9SVF9IXworICNkZWZpbmUgTkVUX0JBU0VfTkVUX0VYUE9SVF9IXworIAor KyNpbmNsdWRlIDxjc3RkaW50PgorKworIC8vIERlZmluZXMgTkVUX0VYUE9SVCBzbyB0aGF0IGZ1 bmN0aW9uYWxpdHkgaW1wbGVtZW50ZWQgYnkgdGhlIG5ldCBtb2R1bGUgY2FuCisgLy8gYmUgZXhw b3J0ZWQgdG8gY29uc3VtZXJzLCBhbmQgTkVUX0VYUE9SVF9QUklWQVRFIHRoYXQgYWxsb3dzIHVu aXQgdGVzdHMgdG8KKyAvLyBhY2Nlc3MgZmVhdHVyZXMgbm90IGludGVuZGVkIHRvIGJlIHVzZWQg ZGlyZWN0bHkgYnkgcmVhbCBjb25zdW1lcnMuCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5o Lm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvc2FuZGJveC9saW51eC9zeXNjYWxsX2Jyb2tlci9i cm9rZXJfZmlsZV9wZXJtaXNzaW9uLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3NhbmRi b3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX2ZpbGVfcGVybWlzc2lvbi5oLm1lCTIwMjMt MDEtMTcgMTc6MTI6MzQuMTg0Njg2NTE1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2VyL2Jyb2tlcl9maWxlX3Blcm1pc3Npb24uaAky MDIzLTAxLTE3IDE3OjEzOjE2LjUzNzE2MjQyMCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lm bmRlZiBTQU5EQk9YX0xJTlVYX1NZU0NBTExfQlJPS0VSX0JST0tFUl9GSUxFX1BFUk1JU1NJT05f SF8KKyAjZGVmaW5lIFNBTkRCT1hfTElOVVhfU1lTQ0FMTF9CUk9LRVJfQlJPS0VSX0ZJTEVfUEVS TUlTU0lPTl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxiaXRzZXQ+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvYWJzZWlsLWNwcC9hYnNsL3N0cmluZ3Mvc3RyaW5nX3ZpZXcuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9zdHJpbmdzL3N0cmlu Z192aWV3LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2VpbC1j cHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgubWUJMjAyMy0wMS0xNyAxNzozMzoyMC44OTU3 MTczMDcgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L2Fic2Vp bC1jcHAvYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgJMjAyMy0wMS0xNyAxNzozNDowMy40NTYx ODUzNjUgKzAxMDAKK0BAIC0yNyw2ICsyNyw3IEBACisgI2lmbmRlZiBBQlNMX1NUUklOR1NfU1RS SU5HX1ZJRVdfSF8KKyAjZGVmaW5lIEFCU0xfU1RSSU5HU19TVFJJTkdfVklFV19IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxhbGdvcml0aG0+CisgI2luY2x1ZGUgPGNhc3Nl cnQ+CisgI2luY2x1ZGUgPGNzdGRkZWY+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L3RoaXJkX3BhcnR5L2FuZ2xlL2luY2x1ZGUvR0xTTEFORy9TaGFkZXJWYXJzLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNsdWRlL0dMU0xBTkcvU2hhZGVy VmFycy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNs dWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oLm1lCTIwMjMtMDEtMTcgMTc6MzY6MTUuMDE3NjE2MjUw ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9hbmdsZS9pbmNs dWRlL0dMU0xBTkcvU2hhZGVyVmFycy5oCTIwMjMtMDEtMTcgMTc6MzY6NDguOTYwOTgyMTk1ICsw MTAwCitAQCAtMTAsNiArMTAsNyBAQAorICNpZm5kZWYgR0xTTEFOR19TSEFERVJWQVJTX0hfCisg I2RlZmluZSBHTFNMQU5HX1NIQURFUlZBUlNfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAj aW5jbHVkZSA8YWxnb3JpdGhtPgorICNpbmNsdWRlIDxhcnJheT4KKyAjaW5jbHVkZSA8c3RyaW5n PgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ibGluay9wdWJs aWMvY29tbW9uL2JsdWV0b290aC93ZWJfYmx1ZXRvb3RoX2RldmljZV9pZC5oLm1lIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgv d2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9vdGgvd2ViX2JsdWV0b290aF9kZXZp Y2VfaWQuaC5tZQkyMDIzLTAxLTE3IDE5OjE3OjQwLjQ4MDg3NjE3MSArMDEwMAorKysrIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvYmxpbmsvcHVibGljL2NvbW1vbi9ibHVldG9v dGgvd2ViX2JsdWV0b290aF9kZXZpY2VfaWQuaAkyMDIzLTAxLTE3IDE5OjE3OjQ2LjgwMzk1ODMy MCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBUSElSRF9QQVJUWV9CTElOS19QVUJM SUNfQ09NTU9OX0JMVUVUT09USF9XRUJfQkxVRVRPT1RIX0RFVklDRV9JRF9IXworICNkZWZpbmUg VEhJUkRfUEFSVFlfQkxJTktfUFVCTElDX0NPTU1PTl9CTFVFVE9PVEhfV0VCX0JMVUVUT09USF9E RVZJQ0VfSURfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YXJyYXk+Cisg I2luY2x1ZGUgPHN0cmluZz4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhp cmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFyc2VyL25hbWVy LmgubWUgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9kYXduL3NyYy90aW50L2xh bmcvc3BpcnYvcmVhZGVyL2FzdF9wYXJzZXIvbmFtZXIuaAorLS0tIGNocm9taXVtLTExNy4wLjU5 MzguNDgvdGhpcmRfcGFydHkvZGF3bi9zcmMvdGludC9sYW5nL3NwaXJ2L3JlYWRlci9hc3RfcGFy c2VyL25hbWVyLmgubWUJMjAyMy0wMS0xNyAxODowMjo0NC42ODE1MzgxMDcgKzAxMDAKKysrKyBj aHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2Rhd24vc3JjL3RpbnQvbGFuZy9zcGly di9yZWFkZXIvYXN0X3BhcnNlci9uYW1lci5oCTIwMjMtMDEtMTcgMTg6MDI6NTcuMjA4Njc5MTQw ICswMTAwCitAQCAtMTUsNiArMTUsNyBAQAorICNpZm5kZWYgU1JDX1RJTlRfUkVBREVSX1NQSVJW X05BTUVSX0hfCisgI2RlZmluZSBTUkNfVElOVF9SRUFERVJfU1BJUlZfTkFNRVJfSF8KKyAKKysj aW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx1bm9yZGVy ZWRfbWFwPgorICNpbmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0 Ljc0L3RoaXJkX3BhcnR5L29wZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5z X3NkX3R4dF9yZWNvcmQuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L29w ZW5zY3JlZW4vc3JjL2Rpc2NvdmVyeS9kbnNzZC9wdWJsaWMvZG5zX3NkX3R4dF9yZWNvcmQuaAor LS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvb3BlbnNjcmVlbi9zcmMvZGlz Y292ZXJ5L2Ruc3NkL3B1YmxpYy9kbnNfc2RfdHh0X3JlY29yZC5oLm1lCTIwMjMtMDEtMTggMTU6 MjI6MzguNDcyOTQwNjQ4ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9vcGVuc2NyZWVuL3NyYy9kaXNjb3ZlcnkvZG5zc2QvcHVibGljL2Ruc19zZF90eHRfcmVj b3JkLmgJMjAyMy0wMS0xOCAxNToyMzowOS4zODAyNTUxMDEgKzAxMDAKK0BAIC01LDYgKzUsNyBA QAorICNpZm5kZWYgRElTQ09WRVJZX0ROU1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXwor ICNkZWZpbmUgRElTQ09WRVJZX0ROU1NEX1BVQkxJQ19ETlNfU0RfVFhUX1JFQ09SRF9IXworIAor KyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxmdW5jdGlvbmFsPgorICNpbmNsdWRlIDxt YXA+CisgI2luY2x1ZGUgPHNldD4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhp cmRfcGFydHkvc3dpZnRzaGFkZXIvc3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci9zcmMvU3lzdGVtL0xSVUNhY2hl LmhwcAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIv c3JjL1N5c3RlbS9MUlVDYWNoZS5ocHAubWUJMjAyMy0wMS0xNyAxNTozNzo0OC41MzA2MjY1MTYg KzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVy L3NyYy9TeXN0ZW0vTFJVQ2FjaGUuaHBwCTIwMjMtMDEtMTcgMTY6NTc6NDYuMDI1NTQ4MDkyICsw MTAwCitAQCAtMTcsNiArMTcsNyBAQAorIAorICNpbmNsdWRlICJTeXN0ZW0vRGVidWcuaHBwIgor IAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxjc3RkZGVmPgorICNpbmNsdWRlIDxm dW5jdGlvbmFsPgorICNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0PgorZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS92dWxrYW5fbWVtb3J5X2FsbG9jYXRvci9pbmNsdWRl L3ZrX21lbV9hbGxvYy5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVs a2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaAorLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxvY2F0b3IvaW5jbHVk ZS92a19tZW1fYWxsb2MuaC5tZQkyMDIzLTAxLTE3IDE1OjQwOjIzLjg1NDM4NjIwNiArMDEwMAor KysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdnVsa2FuX21lbW9yeV9hbGxv Y2F0b3IvaW5jbHVkZS92a19tZW1fYWxsb2MuaAkyMDIzLTAxLTE3IDE2OjU4OjE5LjM5Nzg2Mjg4 NSArMDEwMAorQEAgLTIzODgsNiArMjM4OCw3IEBAIFZNQV9DQUxMX1BSRSB2b2lkIFZNQV9DQUxM X1BPU1Qgdm1hRnJlZVYKKyAjaWZkZWYgVk1BX0lNUExFTUVOVEFUSU9ODQorICN1bmRlZiBWTUFf SU1QTEVNRU5UQVRJT04NCisgDQorKyNpbmNsdWRlIDxjc3RkaW8+DQorICNpbmNsdWRlIDxjc3Rk aW50Pg0KKyAjaW5jbHVkZSA8Y3N0ZGxpYj4NCisgI2luY2x1ZGUgPGNzdHJpbmc+DQorZGlmZiAt dXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRpZW50 LmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC91aS9nZngvZ2VvbWV0cnkvbGluZWFyX2dyYWRp ZW50LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3VpL2dmeC9nZW9tZXRyeS9saW5lYXJf Z3JhZGllbnQuaC5tZQkyMDIzLTAxLTE3IDE4OjA4OjI1Ljc0NTQ5MTM1MyArMDEwMAorKysrIGNo cm9taXVtLTEwOS4wLjU0MTQuNzQvdWkvZ2Z4L2dlb21ldHJ5L2xpbmVhcl9ncmFkaWVudC5oCTIw MjMtMDEtMTcgMTg6MDg6MzUuNzc3NjY3NjMyICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZu ZGVmIFVJX0dGWF9MSU5FQVJfR1JBRElFTlRfSF8KKyAjZGVmaW5lIFVJX0dGWF9MSU5FQVJfR1JB RElFTlRfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8YXJyYXk+CisgI2lu Y2x1ZGUgPHN0cmluZz4KKyAKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvcnV5L3NyYy9ydXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9ydXkvc3JjL3J1eS9wcm9maWxlci9pbnN0cnVtZW50 YXRpb24uaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvcnV5L3NyYy9y dXkvcHJvZmlsZXIvaW5zdHJ1bWVudGF0aW9uLmgubWUJMjAyMy0wMS0xOSAxMDoxMDoyMS4yODc4 NzY3MzYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3J1eS9z cmMvcnV5L3Byb2ZpbGVyL2luc3RydW1lbnRhdGlvbi5oCTIwMjMtMDEtMTkgMTA6MTE6MjEuNzE0 Nzc4ODk2ICswMTAwCitAQCAtMTcsNiArMTcsNyBAQCBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGlj ZW5zZS4KKyAjZGVmaW5lIFJVWV9SVVlfUFJPRklMRVJfSU5TVFJVTUVOVEFUSU9OX0hfCisgCisg I2lmZGVmIFJVWV9QUk9GSUxFUgorKyNpbmNsdWRlIDxzdHJpbmc+CisgI2luY2x1ZGUgPGNzdGRp bz4KKyAjaW5jbHVkZSA8bXV0ZXg+CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUv a2VybmVscy9pbnRlcm5hbC9zcGVjdHJvZ3JhbS5oLm1lIGNocm9taXVtLTEwOS4wLjU0MTQuNzQv dGhpcmRfcGFydHkvdGZsaXRlL3NyYy90ZW5zb3JmbG93L2xpdGUva2VybmVscy9pbnRlcm5hbC9z cGVjdHJvZ3JhbS5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS90Zmxp dGUvc3JjL3RlbnNvcmZsb3cvbGl0ZS9rZXJuZWxzL2ludGVybmFsL3NwZWN0cm9ncmFtLmgubWUJ MjAyMy0wMS0xOSAxMDozMDoyNy41MzM4NjE5ODUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3RoaXJkX3BhcnR5L3RmbGl0ZS9zcmMvdGVuc29yZmxvdy9saXRlL2tlcm5lbHMvaW50 ZXJuYWwvc3BlY3Ryb2dyYW0uaAkyMDIzLTAxLTE5IDEwOjMxOjEyLjU4NTU1NDE4MyArMDEwMAor QEAgLTMxLDYgKzMxLDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCisgI2lmbmRl ZiBURU5TT1JGTE9XX0xJVEVfS0VSTkVMU19JTlRFUk5BTF9TUEVDVFJPR1JBTV9IXworICNkZWZp bmUgVEVOU09SRkxPV19MSVRFX0tFUk5FTFNfSU5URVJOQUxfU1BFQ1RST0dSQU1fSF8KKyAKKysj aW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8Y29tcGxleD4KKyAjaW5jbHVkZSA8ZGVxdWU+ CisgI2luY2x1ZGUgPHZlY3Rvcj4KK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFz ZS9jb250YWluZXJzL2ZsYXRfbWFwLmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9j b250YWluZXJzL2ZsYXRfbWFwLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Jhc2UvY29u dGFpbmVycy9mbGF0X21hcC5oLm1lZQkyMDIzLTAxLTE5IDEwOjU5OjUyLjIxNDk1Nzc3MyArMDEw MAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvYmFzZS9jb250YWluZXJzL2ZsYXRfbWFwLmgJ MjAyMy0wMS0xOSAxMTowMDowNi40MTUyMTUzMDkgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNp Zm5kZWYgQkFTRV9DT05UQUlORVJTX0ZMQVRfTUFQX0hfCisgI2RlZmluZSBCQVNFX0NPTlRBSU5F UlNfRkxBVF9NQVBfSF8KKyAKKysjaW5jbHVkZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8ZnVuY3Rp b25hbD4KKyAjaW5jbHVkZSA8dHVwbGU+CisgI2luY2x1ZGUgPHV0aWxpdHk+CitkaWZmIC11cCBj aHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVw b3J0ZXJfY2xpZW50LmgubWVlIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9jcmFz aC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0 MTQuNzQvY29tcG9uZW50cy9jcmFzaC9jb3JlL2FwcC9jcmFzaF9yZXBvcnRlcl9jbGllbnQuaC5t ZWUJMjAyMy0wMS0xOSAxMDozNjo0MC41NzE0MjI4MjYgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDku MC41NDE0Ljc0L2NvbXBvbmVudHMvY3Jhc2gvY29yZS9hcHAvY3Jhc2hfcmVwb3J0ZXJfY2xpZW50 LmgJMjAyMy0wMS0xOSAxMDozNjo0OS4zNDM1NjUyOTQgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAor ICNpZm5kZWYgQ09NUE9ORU5UU19DUkFTSF9DT1JFX0FQUF9DUkFTSF9SRVBPUlRFUl9DTElFTlRf SF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfQ1JBU0hfQ09SRV9BUFBfQ1JBU0hfUkVQT1JURVJfQ0xJ RU5UX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAKKyAj aW5jbHVkZSAiYnVpbGQvYnVpbGRfY29uZmlnLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgubWVlIGNocm9taXVtLTEw OS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaAorLS0tIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvdWkvYmFzZS9wcmVkaWN0aW9uL2thbG1hbl9maWx0ZXIuaC5tZWUJ MjAyMy0wMS0xOSAxMTo0NToxNS45NTMxNTk3NTUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3VpL2Jhc2UvcHJlZGljdGlvbi9rYWxtYW5fZmlsdGVyLmgJMjAyMy0wMS0xOSAxMTo0 NToyMi4zMjAyNDYyNDEgKzAxMDAKK0BAIC01LDYgKzUsOCBAQAorICNpZm5kZWYgVUlfQkFTRV9Q UkVESUNUSU9OX0tBTE1BTl9GSUxURVJfSF8KKyAjZGVmaW5lIFVJX0JBU0VfUFJFRElDVElPTl9L QUxNQU5fRklMVEVSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgI2luY2x1ZGUgImJh c2UvY29tcG9uZW50X2V4cG9ydC5oIgorICNpbmNsdWRlICJ1aS9nZngvZ2VvbWV0cnkvbWF0cml4 M19mLmgiCisgCitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFz c3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3Iu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9j b3JlL2Jyb3dzZXIvZ2VuZXJhdGlvbi9wYXNzd29yZF9nZW5lcmF0b3IuaAorLS0tIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXNzd29yZF9tYW5hZ2VyL2NvcmUvYnJvd3Nlci9n ZW5lcmF0aW9uL3Bhc3N3b3JkX2dlbmVyYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6MjA6MDcuNjIw OTg3OTQ5ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL3Bhc3N3 b3JkX21hbmFnZXIvY29yZS9icm93c2VyL2dlbmVyYXRpb24vcGFzc3dvcmRfZ2VuZXJhdG9yLmgJ MjAyMy0wMS0xOSAxNToyMDoxOC4zMjQxNzM3MDIgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAorICNp Zm5kZWYgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5BR0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9O X1BBU1NXT1JEX0dFTkVSQVRPUl9IXworICNkZWZpbmUgQ09NUE9ORU5UU19QQVNTV09SRF9NQU5B R0VSX0NPUkVfQlJPV1NFUl9HRU5FUkFUSU9OX1BBU1NXT1JEX0dFTkVSQVRPUl9IXworIAorKyNp bmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgCitkaWZmIC11cCBjaHJv bWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2VtZW50L2ludGVybmFs L2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21w b25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRv ci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdl bWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTY6 MDA6MTQuMzUwMTg2NTE1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25l bnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5o CTIwMjMtMDEtMTkgMTY6MDA6MjEuNjQzMzA3OTkzICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAj aWZuZGVmIENPTVBPTkVOVFNfRkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX0VWRU5UX1NUT1JB R0VfVkFMSURBVE9SX0hfCisgI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9J TlRFUk5BTF9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50 PgorICNpbmNsdWRlIDxzdHJpbmc+CisgCisgbmFtZXNwYWNlIGZlYXR1cmVfZW5nYWdlbWVudCB7 CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvZmVhdHVyZV9lbmdh Z2VtZW50L2ludGVybmFsL25ldmVyX2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgubWUgY2hyb21p dW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9u ZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9pbnRlcm5hbC9uZXZlcl9ldmVudF9zdG9y YWdlX3ZhbGlkYXRvci5oLm1lCTIwMjMtMDEtMTkgMTU6NTk6MTguMjEwMjM5NDE2ICswMTAwCisr KysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9jb21wb25lbnRzL2ZlYXR1cmVfZW5nYWdlbWVudC9p bnRlcm5hbC9uZXZlcl9ldmVudF9zdG9yYWdlX3ZhbGlkYXRvci5oCTIwMjMtMDEtMTkgMTU6NTk6 MzQuNTEzNTE1MDMwICswMTAwCitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIENPTVBPTkVOVFNf RkVBVFVSRV9FTkdBR0VNRU5UX0lOVEVSTkFMX05FVkVSX0VWRU5UX1NUT1JBR0VfVkFMSURBVE9S X0hfCisgI2RlZmluZSBDT01QT05FTlRTX0ZFQVRVUkVfRU5HQUdFTUVOVF9JTlRFUk5BTF9ORVZF Ul9FVkVOVF9TVE9SQUdFX1ZBTElEQVRPUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNp bmNsdWRlIDxzdHJpbmc+CisgCisgI2luY2x1ZGUgImNvbXBvbmVudHMvZmVhdHVyZV9lbmdhZ2Vt ZW50L2ludGVybmFsL2V2ZW50X3N0b3JhZ2VfdmFsaWRhdG9yLmgiCitkaWZmIC11cCBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0t MTAuMC9sbHZtL2xpYi9TdXBwb3J0L1VuaXgvU2lnbmFscy5pbmMubWUgY2hyb21pdW0tMTA5LjAu NTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2 bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRlci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIv U3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5jLm1lCTIwMjMtMDEtMTkgMTY6MDk6MjkuMjE2NDc3MTgy ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9zd2lmdHNoYWRl ci90aGlyZF9wYXJ0eS9sbHZtLTEwLjAvbGx2bS9saWIvU3VwcG9ydC9Vbml4L1NpZ25hbHMuaW5j CTIwMjMtMDEtMTkgMTY6MTA6MDUuNjU3MDg5MjA4ICswMTAwCitAQCAtNDUsNiArNDUsNyBAQAor ICNpbmNsdWRlICJsbHZtL1N1cHBvcnQvU2F2ZUFuZFJlc3RvcmUuaCIKKyAjaW5jbHVkZSAibGx2 bS9TdXBwb3J0L3Jhd19vc3RyZWFtLmgiCisgI2luY2x1ZGUgPGFsZ29yaXRobT4KKysjaW5jbHVk ZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDxzeXNleGl0cy5oPgor ICNpZmRlZiBIQVZFX0JBQ0tUUkFDRQorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j aHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNrZXIu aC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2Nocm9tZS9icm93c2VyL3ByaXZhY3lfYnVkZ2V0 L2VuY291bnRlcmVkX3N1cmZhY2VfdHJhY2tlci5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43 NC9jaHJvbWUvYnJvd3Nlci9wcml2YWN5X2J1ZGdldC9lbmNvdW50ZXJlZF9zdXJmYWNlX3RyYWNr ZXIuaC5tZQkyMDIzLTAxLTE5IDE2OjMyOjA1LjMzODE2MDEzMSArMDEwMAorKysrIGNocm9taXVt LTEwOS4wLjU0MTQuNzQvY2hyb21lL2Jyb3dzZXIvcHJpdmFjeV9idWRnZXQvZW5jb3VudGVyZWRf c3VyZmFjZV90cmFja2VyLmgJMjAyMy0wMS0xOSAxNjozMjoxNi4yMTMzMjY3OTggKzAxMDAKK0BA IC01LDYgKzUsNyBAQAorICNpZm5kZWYgQ0hST01FX0JST1dTRVJfUFJJVkFDWV9CVURHRVRfRU5D T1VOVEVSRURfU1VSRkFDRV9UUkFDS0VSX0hfCisgI2RlZmluZSBDSFJPTUVfQlJPV1NFUl9QUklW QUNZX0JVREdFVF9FTkNPVU5URVJFRF9TVVJGQUNFX1RSQUNLRVJfSF8KKyAKKysjaW5jbHVkZSA8 Y3N0ZGludD4KKyAjaW5jbHVkZSA8bWFwPgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMv ZmxhdF9zZXQuaCIKK2RpZmYgLXVwIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9h dXRvZmlsbC9jb3JlL2Jyb3dzZXIvYXV0b2ZpbGxfYWJsYXRpb25fc3R1ZHkuaC5tZSBjaHJvbWl1 bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxs X2FibGF0aW9uX3N0dWR5LmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv YXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5LmgubWUJMjAyMy0w MS0xOSAxNjo0Nzo1NS41NDg1NzExMDIgKzAxMDAKKysrKyBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0 L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2F1dG9maWxsX2FibGF0aW9uX3N0dWR5 LmgJMjAyMy0wMS0xOSAxNjo0ODoyOS4yMTQxNDY1MjkgKzAxMDAKK0BAIC01LDYgKzUsNyBAQAor ICNpZm5kZWYgQ09NUE9ORU5UU19BVVRPRklMTF9DT1JFX0JST1dTRVJfQVVUT0ZJTExfQUJMQVRJ T05fU1RVRFlfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfQVVUT0ZJTExfQ09SRV9CUk9XU0VSX0FV VE9GSUxMX0FCTEFUSU9OX1NUVURZX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1 ZGUgPHN0cmluZz4KKyAKKyBjbGFzcyBHVVJMOworZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9jb21wb25lbnRzL29tbmlib3gvYnJvd3Nlci9vbl9kZXZpY2VfaGVhZF9tb2RlbC5oLm1l IGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2 aWNlX2hlYWRfbW9kZWwuaAorLS0tIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9v bW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaC5tZQkyMDIzLTAxLTE5IDE2OjU3 OjI5LjUyNTM3MjgxNCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50 cy9vbW5pYm94L2Jyb3dzZXIvb25fZGV2aWNlX2hlYWRfbW9kZWwuaAkyMDIzLTAxLTE5IDE2OjU4 OjAyLjY2Nzk3OTI4OCArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lmbmRlZiBDT01QT05FTlRT X09NTklCT1hfQlJPV1NFUl9PTl9ERVZJQ0VfSEVBRF9NT0RFTF9IXworICNkZWZpbmUgQ09NUE9O RU5UU19PTU5JQk9YX0JST1dTRVJfT05fREVWSUNFX0hFQURfTU9ERUxfSF8KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx1dGlsaXR5PgorICNp bmNsdWRlIDx2ZWN0b3I+CitkaWZmIC11cCBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVu dHMvcGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lIGNocm9t aXVtLTEwOS4wLjU0MTQuNzQvY29tcG9uZW50cy9wYXltZW50cy9jb250ZW50L3V0aWxpdHkvZmlu Z2VycHJpbnRfcGFyc2VyLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L2NvbXBvbmVudHMv cGF5bWVudHMvY29udGVudC91dGlsaXR5L2ZpbmdlcnByaW50X3BhcnNlci5oLm1lCTIwMjMtMDEt MTkgMTc6MDI6NDUuMjU4NTQ0NjY1ICswMTAwCisrKysgY2hyb21pdW0tMTA5LjAuNTQxNC43NC9j b21wb25lbnRzL3BheW1lbnRzL2NvbnRlbnQvdXRpbGl0eS9maW5nZXJwcmludF9wYXJzZXIuaAky MDIzLTAxLTE5IDE3OjAyOjUyLjU3NzYxMTc1NyArMDEwMAorQEAgLTUsNiArNSw3IEBACisgI2lm bmRlZiBDT01QT05FTlRTX1BBWU1FTlRTX0NPTlRFTlRfVVRJTElUWV9GSU5HRVJQUklOVF9QQVJT RVJfSF8KKyAjZGVmaW5lIENPTVBPTkVOVFNfUEFZTUVOVFNfQ09OVEVOVF9VVElMSVRZX0ZJTkdF UlBSSU5UX1BBUlNFUl9IXworIAorKyNpbmNsdWRlIDxjc3RkaW50PgorICNpbmNsdWRlIDxzdGRk ZWYuaD4KKyAKKyAjaW5jbHVkZSA8c3RyaW5nPgorZGlmZiAtdXAgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgubWUgY2hyb21pdW0tMTA5LjAuNTQx NC43NC9wZGYvZG9jdW1lbnRfYXR0YWNobWVudF9pbmZvLmgKKy0tLSBjaHJvbWl1bS0xMDkuMC41 NDE0Ljc0L3BkZi9kb2N1bWVudF9hdHRhY2htZW50X2luZm8uaC5tZQkyMDIzLTAxLTE5IDE3OjI4 OjI4LjU1MjA2MzUzNCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvcGRmL2RvY3Vt ZW50X2F0dGFjaG1lbnRfaW5mby5oCTIwMjMtMDEtMTkgMTc6Mjg6NDguMDcyMzc5OTUzICswMTAw CitAQCAtNSw2ICs1LDcgQEAKKyAjaWZuZGVmIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9f SF8KKyAjZGVmaW5lIFBERl9ET0NVTUVOVF9BVFRBQ0hNRU5UX0lORk9fSF8KKyAKKysjaW5jbHVk ZSA8Y3N0ZGludD4KKyAjaW5jbHVkZSA8c3RyaW5nPgorIAorIAorZGlmZiAtdXAgY2hyb21pdW0t MTA5LjAuNTQxNC43NC90aGlyZF9wYXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxh Z3MuaC5tZSBjaHJvbWl1bS0xMDkuMC41NDE0Ljc0L3RoaXJkX3BhcnR5L3BkZml1bS9jb25zdGFu dHMvYW5ub3RhdGlvbl9mbGFncy5oCistLS0gY2hyb21pdW0tMTA5LjAuNTQxNC43NC90aGlyZF9w YXJ0eS9wZGZpdW0vY29uc3RhbnRzL2Fubm90YXRpb25fZmxhZ3MuaC5tZQkyMDIzLTAxLTE5IDE4 OjI1OjQ3LjY0ODE5MzcxMCArMDEwMAorKysrIGNocm9taXVtLTEwOS4wLjU0MTQuNzQvdGhpcmRf cGFydHkvcGRmaXVtL2NvbnN0YW50cy9hbm5vdGF0aW9uX2ZsYWdzLmgJMjAyMy0wMS0xOSAxODoy NjoxMS40ODg1OTM1NTYgKzAxMDAKK0BAIC01LDYgKzUsOCBAQAorICNpZm5kZWYgQ09OU1RBTlRT X0FOTk9UQVRJT05fRkxBR1NfSF8KKyAjZGVmaW5lIENPTlNUQU5UU19BTk5PVEFUSU9OX0ZMQUdT X0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisrCisgbmFtZXNwYWNlIHBkZml1bSB7CisgbmFt ZXNwYWNlIGFubm90YXRpb25fZmxhZ3MgeworIAorZGlmZiAtdXAgY2hyb21pdW0tMTEzLjAuNTY3 Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3Jj L2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3 Mi4yNC90aGlyZF9wYXJ0eS92dWxrYW4tZGVwcy92dWxrYW4tdmFsaWRhdGlvbi1sYXllcnMvc3Jj L2xheWVycy9leHRlcm5hbC92bWEvdmtfbWVtX2FsbG9jLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41 NjcyLjI0L3RoaXJkX3BhcnR5L3Z1bGthbi1kZXBzL3Z1bGthbi12YWxpZGF0aW9uLWxheWVycy9z cmMvbGF5ZXJzL2V4dGVybmFsL3ZtYS92a19tZW1fYWxsb2MuaC5tZQkyMDIzLTA0LTE1IDE2OjQ0 OjU1LjM0NDMwNTQxMiArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuMjQvdGhpcmRfcGFy dHkvdnVsa2FuLWRlcHMvdnVsa2FuLXZhbGlkYXRpb24tbGF5ZXJzL3NyYy9sYXllcnMvZXh0ZXJu YWwvdm1hL3ZrX21lbV9hbGxvYy5oCTIwMjMtMDQtMTUgMTY6NDc6MDkuMDI4NjY2OTk1ICswMjAw CitAQCAtMjg1NCw2ICsyODU0LDcgQEAgc3RhdGljIHZvaWQgdm1hX2FsaWduZWRfZnJlZSh2b2lk KiBWTUFfTgorIAorIC8vIERlZmluZSB0aGlzIG1hY3JvIHRvIDEgdG8gZW5hYmxlIGZ1bmN0aW9u czogdm1hQnVpbGRTdGF0c1N0cmluZywgdm1hRnJlZVN0YXRzU3RyaW5nLgorICNpZiBWTUFfU1RB VFNfU1RSSU5HX0VOQUJMRUQKKysjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgc3RhdGljIGlubGlu ZSB2b2lkIFZtYVVpbnQzMlRvU3RyKGNoYXIqIFZNQV9OT1RfTlVMTCBvdXRTdHIsIHNpemVfdCBz dHJMZW4sIHVpbnQzMl90IG51bSkKKyAgICAgeworICAgICAgICAgc25wcmludGYob3V0U3RyLCBz dHJMZW4sICIldSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4obnVtKSk7CitkaWZmIC11cCBj aHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9tZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0 b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaC5tZSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2Nocm9t ZS9icm93c2VyL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3JfcmVxdWVzdF9kaWFsb2dfbW9kZWwuaAor LS0tIGNocm9taXVtLTExMy4wLjU2NzIuMzcvY2hyb21lL2Jyb3dzZXIvd2ViYXV0aG4vYXV0aGVu dGljYXRvcl9yZXF1ZXN0X2RpYWxvZ19tb2RlbC5oLm1lCTIwMjMtMDQtMTggMTU6NTU6NDQuNzc0 OTE2MzE5ICswMjAwCisrKysgY2hyb21pdW0tMTEzLjAuNTY3Mi4zNy9jaHJvbWUvYnJvd3Nlci93 ZWJhdXRobi9hdXRoZW50aWNhdG9yX3JlcXVlc3RfZGlhbG9nX21vZGVsLmgJMjAyMy0wNC0xOCAx NTo1NTo1NC40NDEwODU4ODIgKzAyMDAKK0BAIC04LDYgKzgsNyBAQAorICNpbmNsdWRlIDxtZW1v cnk+CisgI2luY2x1ZGUgPHN0cmluZz4KKyAjaW5jbHVkZSA8dmVjdG9yPgorKyNpbmNsdWRlIDx2 YXJpYW50PgorIAorICNpbmNsdWRlICJiYXNlL2NvbnRhaW5lcnMvc3Bhbi5oIgorICNpbmNsdWRl ICJiYXNlL2Z1bmN0aW9uYWwvY2FsbGJhY2tfZm9yd2FyZC5oIgorZGlmZiAtdXAgY2hyb21pdW0t MTEzLjAuNTY3Mi4zNy9naW4vdGltZV9jbGFtcGVyLmgubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi4z Ny9naW4vdGltZV9jbGFtcGVyLmgKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjM3L2dpbi90aW1l X2NsYW1wZXIuaC5tZQkyMDIzLTA0LTE4IDE2OjM4OjQxLjE4MDQzNzQ2NyArMDIwMAorKysrIGNo cm9taXVtLTExMy4wLjU2NzIuMzcvZ2luL3RpbWVfY2xhbXBlci5oCTIwMjMtMDQtMTggMTY6Mzk6 NDMuODU3MDQ5NDMyICswMjAwCitAQCAtNDgsNyArNDgsNyBAQCBjbGFzcyBHSU5fRVhQT1JUIFRp bWVDbGFtcGVyIHsKKyAgICAgY29uc3QgaW50NjRfdCBtaWNyb3MgPSBub3dfbWljcm9zICUgMTAw MDsKKyAgICAgLy8gYWJzKCkgaXMgbmVjZXNzYXJ5IGZvciBkZXZpY2VzIHdpdGggdGltZXMgYmVm b3JlIHVuaXgtZXBvY2ggKG1vc3QgbGlrZWx5CisgICAgIC8vIGNvbmZpZ3VyZWQgaW5jb3JyZWN0 bHkpLgorLSAgICBpZiAoYWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsK KysgICAgaWYgKHN0ZDo6YWJzKG1pY3JvcykgKyBrUmVzb2x1dGlvbk1pY3JvcyA8IDEwMDApIHsK KyAgICAgICByZXR1cm4gbm93X21pY3JvcyAvIDEwMDA7CisgICAgIH0KKyAgICAgcmV0dXJuIENs YW1wVGltZVJlc29sdXRpb24obm93X21pY3JvcykgLyAxMDAwOworZGlmZiAtdXAgY2hyb21pdW0t MTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIvY2hyb21lL3dlYl92aWV3X2lt cGwuY2MubWUgY2hyb21pdW0tMTEzLjAuNTY3Mi41My9jaHJvbWUvdGVzdC9jaHJvbWVkcml2ZXIv Y2hyb21lL3dlYl92aWV3X2ltcGwuY2MKKy0tLSBjaHJvbWl1bS0xMTMuMC41NjcyLjUzL2Nocm9t ZS90ZXN0L2Nocm9tZWRyaXZlci9jaHJvbWUvd2ViX3ZpZXdfaW1wbC5jYy5tZQkyMDIzLTA0LTIx IDA4OjA3OjU1LjM2MjcxNDU0NCArMDIwMAorKysrIGNocm9taXVtLTExMy4wLjU2NzIuNTMvY2hy b21lL3Rlc3QvY2hyb21lZHJpdmVyL2Nocm9tZS93ZWJfdmlld19pbXBsLmNjCTIwMjMtMDQtMjEg MDg6MTQ6MzUuNDI0MTU4NjkzICswMjAwCitAQCAtMTAsNiArMTAsNyBAQAorICNpbmNsdWRlIDxx dWV1ZT4KKyAjaW5jbHVkZSA8dXRpbGl0eT4KKyAjaW5jbHVkZSA8dmVjdG9yPgorKyNpbmNsdWRl IDxjc3RyaW5nPgorIAorICNpbmNsdWRlICJiYXNlL2NoZWNrLmgiCisgI2luY2x1ZGUgImJhc2Uv ZmlsZXMvZmlsZV9wYXRoLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEv ZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lIGNocm9taXVtLTExNS4wLjU3OTAuMzIvc2tpYS9l eHQvc2tjb2xvcnNwYWNlX3RyZm4uY2MKKy0tLSBjaHJvbWl1bS0xMTUuMC41NzkwLjMyL3NraWEv ZXh0L3NrY29sb3JzcGFjZV90cmZuLmNjLm1lCTIwMjMtMDYtMTggMTI6MzM6NTIuMzg3NDEyNzg4 ICswMjAwCisrKysgY2hyb21pdW0tMTE1LjAuNTc5MC4zMi9za2lhL2V4dC9za2NvbG9yc3BhY2Vf dHJmbi5jYwkyMDIzLTA2LTE4IDEyOjM1OjI4LjIyOTE0ODkzNSArMDIwMAorQEAgLTMsNiArMyw3 IEBACisgLy8gZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KKyAKKyAjaW5jbHVkZSAic2tpYS9l eHQvc2tjb2xvcnNwYWNlX3RyZm4uaCIKKysjaW5jbHVkZSA8Y21hdGg+CisgCisgbmFtZXNwYWNl IHNraWEgeworIAorZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dl YnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50IGNocm9t aXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvY29tbW9uX3ZpZGVvL2gyNjQvc3Bz X3BhcnNlci5oCistLS0gY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9j b21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTkg MTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCisrKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJk X3BhcnR5L3dlYnJ0Yy9jb21tb25fdmlkZW8vaDI2NC9zcHNfcGFyc2VyLmgJMjAyMS0xMS0xOSAx NzowNzozNS4xOTE1MjAxMjcgLTA1MDAKK0BAIC0xMSw2ICsxMSw3IEBACisgI2lmbmRlZiBDT01N T05fVklERU9fSDI2NF9TUFNfUEFSU0VSX0hfCisgI2RlZmluZSBDT01NT05fVklERU9fSDI2NF9T UFNfUEFSU0VSX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+CisgI2luY2x1ZGUgImFic2wvdHlw ZXMvb3B0aW9uYWwuaCIKKyAjaW5jbHVkZSAicnRjX2Jhc2UvYml0c3RyZWFtX3JlYWRlci5oIgor IAorZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1 bGVzL2luY2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaC5taXNzaW5nLWNzdGRpbnQg Y2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2luY2x1ZGUv bW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAorLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90 aGlyZF9wYXJ0eS93ZWJydGMvbW9kdWxlcy9pbmNsdWRlL21vZHVsZV9jb21tb25fdHlwZXNfcHVi bGljLmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAw CisrKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL2lu Y2x1ZGUvbW9kdWxlX2NvbW1vbl90eXBlc19wdWJsaWMuaAkyMDIxLTExLTE5IDE3OjA1OjMxLjM3 OTc1MDM1MCAtMDUwMAorQEAgLTExLDYgKzExLDcgQEAKKyAjaWZuZGVmIE1PRFVMRVNfSU5DTFVE RV9NT0RVTEVfQ09NTU9OX1RZUEVTX1BVQkxJQ19IXworICNkZWZpbmUgTU9EVUxFU19JTkNMVURF X01PRFVMRV9DT01NT05fVFlQRVNfUFVCTElDX0hfCisgCisrI2luY2x1ZGUgPGNzdGRpbnQ+Cisg I2luY2x1ZGUgPGxpbWl0cz4KKyAKKyAjaW5jbHVkZSAiYWJzbC90eXBlcy9vcHRpb25hbC5oIgor ZGlmZiAtdXAgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRpbF9saW51 eC5oLm1pc3NpbmctY3N0ZGludCBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2Ry bV91dGlsX2xpbnV4LmgKKy0tLSBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdWkvZ2Z4L2xpbnV4L2Ry bV91dGlsX2xpbnV4LmgubWlzc2luZy1jc3RkaW50CTIwMjEtMTEtMTIgMDU6MjU6MjQuMDAwMDAw MDAwIC0wNTAwCisrKysgY2hyb21pdW0tOTYuMC40NjY0LjQ1L3VpL2dmeC9saW51eC9kcm1fdXRp bF9saW51eC5oCTIwMjEtMTEtMTkgMTc6MDU6MzEuMzc5NzUwMzUwIC0wNTAwCitAQCAtOSw2ICs5 LDggQEAKKyAKKyAjaW5jbHVkZSAidWkvZ2Z4L2J1ZmZlcl90eXBlcy5oIgorIAorKyNpbmNsdWRl IDxjc3RkaW50PgorKworIG5hbWVzcGFjZSB1aSB7CisgCisgaW50IEdldEZvdXJDQ0Zvcm1hdEZy b21CdWZmZXJGb3JtYXQoZ2Z4OjpCdWZmZXJGb3JtYXQgZm9ybWF0KTsKK2RpZmYgLXVwIGNocm9t aXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVs X21peGVyLmNjLm1pc3NpbmctY3N0cmluZyBjaHJvbWl1bS05Ni4wLjQ2NjQuNDUvdGhpcmRfcGFy dHkvd2VicnRjL2F1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5jYworLS0tIGNocm9taXVtLTk2 LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0eS9jaGFubmVsX21peGVy LmNjLm1pc3NpbmctY3N0cmluZwkyMDIxLTExLTEyIDA1OjI4OjA5LjAwMDAwMDAwMCAtMDUwMAor KysrIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93ZWJydGMvYXVkaW8vdXRpbGl0 eS9jaGFubmVsX21peGVyLmNjCTIwMjEtMTEtMTkgMTc6MTA6MDIuOTI3NDM4Njk1IC0wNTAwCitA QCAtOCw2ICs4LDggQEAKKyAgKiAgYmUgZm91bmQgaW4gdGhlIEFVVEhPUlMgZmlsZSBpbiB0aGUg cm9vdCBvZiB0aGUgc291cmNlIHRyZWUuCisgICovCisgCisrI2luY2x1ZGUgPGNzdHJpbmc+Cisr CisgI2luY2x1ZGUgImF1ZGlvL3V0aWxpdHkvY2hhbm5lbF9taXhlci5oIgorIAorICNpbmNsdWRl ICJhdWRpby91dGlsaXR5L2NoYW5uZWxfbWl4aW5nX21hdHJpeC5oIgorZGlmZiAtdXAgY2hyb21p dW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91 dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYy5taXNzaW5nLWNzdHJpbmcgY2hyb21pdW0tOTYuMC40 NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGluZy91dGlsaXR5L2l2 Zl9maWxlX3JlYWRlci5jYworLS0tIGNocm9taXVtLTk2LjAuNDY2NC40NS90aGlyZF9wYXJ0eS93 ZWJydGMvbW9kdWxlcy92aWRlb19jb2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuY2MubWlz c2luZy1jc3RyaW5nCTIwMjEtMTEtMTIgMDU6Mjg6MTAuMDAwMDAwMDAwIC0wNTAwCisrKysgY2hy b21pdW0tOTYuMC40NjY0LjQ1L3RoaXJkX3BhcnR5L3dlYnJ0Yy9tb2R1bGVzL3ZpZGVvX2NvZGlu Zy91dGlsaXR5L2l2Zl9maWxlX3JlYWRlci5jYwkyMDIxLTExLTE5IDE3OjEwOjAyLjkyODQzODcw MSAtMDUwMAorQEAgLTEwLDYgKzEwLDcgQEAKKyAKKyAjaW5jbHVkZSAibW9kdWxlcy92aWRlb19j b2RpbmcvdXRpbGl0eS9pdmZfZmlsZV9yZWFkZXIuaCIKKyAKKysjaW5jbHVkZSA8Y3N0cmluZz4K KyAjaW5jbHVkZSA8c3RyaW5nPgorICNpbmNsdWRlIDx2ZWN0b3I+CisgCitkaWZmIC11cCBjaHJv bWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91dGVyX2xpbmsu aC5tZSBjaHJvbWl1bS0xMTcuMC41OTM4LjQ4L3RoaXJkX3BhcnR5L2lwY3ovc3JjL2lwY3ovcm91 dGVyX2xpbmsuaAorLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvaXBjei9z cmMvaXBjei9yb3V0ZXJfbGluay5oLm1lCTIwMjMtMDktMTAgMTc6NTM6MDQuODI2Mjk4MzUxICsw MjAwCisrKysgY2hyb21pdW0tMTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9pcGN6L3NyYy9pcGN6 L3JvdXRlcl9saW5rLmgJMjAyMy0wOS0xMCAxNzo1MzoyMi4yMDE3NTY4OTQgKzAyMDAKK0BAIC01 LDYgKzUsNyBAQAorICNpZm5kZWYgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXworICNkZWZp bmUgSVBDWl9TUkNfSVBDWl9ST1VURVJfTElOS19IXworIAorKyNpbmNsdWRlIDxtZW1vcnk+Cisg I2luY2x1ZGUgPGNzdGRkZWY+CisgI2luY2x1ZGUgPGZ1bmN0aW9uYWw+CisgI2luY2x1ZGUgPHN0 cmluZz4KK2RpZmYgLXVwIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFydHkvbWF0ZXJp YWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUgY2hyb21pdW0t MTE3LjAuNTkzOC40OC90aGlyZF9wYXJ0eS9tYXRlcmlhbF9jb2xvcl91dGlsaXRpZXMvc3JjL2Nw cC9wYWxldHRlcy90b25lcy5jYworLS0tIGNocm9taXVtLTExNy4wLjU5MzguNDgvdGhpcmRfcGFy dHkvbWF0ZXJpYWxfY29sb3JfdXRpbGl0aWVzL3NyYy9jcHAvcGFsZXR0ZXMvdG9uZXMuY2MubWUJ MjAyMy0wOS0xMCAxNzozNjoyNy4xOTk4NDEwNTEgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTcuMC41 OTM4LjQ4L3RoaXJkX3BhcnR5L21hdGVyaWFsX2NvbG9yX3V0aWxpdGllcy9zcmMvY3BwL3BhbGV0 dGVzL3RvbmVzLmNjCTIwMjMtMDktMTAgMTc6NDQ6NTEuODcwNTU0MjMzICswMjAwCitAQCAtMTQs NiArMTQsNyBAQAorICAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorICAqLworIAor KyNpbmNsdWRlIDxjbWF0aD4KKyAjaW5jbHVkZSAiY3BwL3BhbGV0dGVzL3RvbmVzLmgiCisgCisg I2luY2x1ZGUgImNwcC9jYW0vY2FtLmgiCitkaWZmIC11cCBjaHJvbWl1bS0xMTguMC41OTkzLjMy L3NlcnZpY2VzL2RldmljZS9wdWJsaWMvY3BwL2dlbmVyaWNfc2Vuc29yL3NlbnNvcl9yZWFkaW5n LmgubWUgY2hyb21pdW0tMTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9n ZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGluZy5oCistLS0gY2hyb21pdW0tMTE4LjAuNTk5My4z Mi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9zZW5zb3JfcmVhZGlu Zy5oLm1lCTIwMjMtMTAtMDEgMTM6NTU6MDEuOTEzMTkzMTg2ICswMjAwCisrKysgY2hyb21pdW0t MTE4LjAuNTk5My4zMi9zZXJ2aWNlcy9kZXZpY2UvcHVibGljL2NwcC9nZW5lcmljX3NlbnNvci9z ZW5zb3JfcmVhZGluZy5oCTIwMjMtMTAtMDEgMTQ6MDU6MzguNDg4MDM4NDI5ICswMjAwCitAQCAt NSw2ICs1LDkgQEAKKyAjaWZuZGVmIFNFUlZJQ0VTX0RFVklDRV9QVUJMSUNfQ1BQX0dFTkVSSUNf U0VOU09SX1NFTlNPUl9SRUFESU5HX0hfCisgI2RlZmluZSBTRVJWSUNFU19ERVZJQ0VfUFVCTElD X0NQUF9HRU5FUklDX1NFTlNPUl9TRU5TT1JfUkVBRElOR19IXworIAorKyNpbmNsdWRlIDxjc3Rk ZGVmPgorKyNpbmNsdWRlIDxjc3RkaW50PgorKworICNpbmNsdWRlIDx0eXBlX3RyYWl0cz4KKyAK KyBuYW1lc3BhY2UgZGV2aWNlIHsKCmRpZmYgLS1naXQgYS9jaHJvbWl1bS0xMTktbm9fbWF0Y2hp bmdfY29uc3RydWN0b3IucGF0Y2ggYi9jaHJvbWl1bS0xMTktbm9fbWF0Y2hpbmdfY29uc3RydWN0 b3IucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTE2Yzk3OQotLS0g L2Rldi9udWxsCisrKyBiL2Nocm9taXVtLTExOS1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRj aApAQCAtMCwwICsxLDcwMyBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9iYXNl L3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L2Jhc2UvdHJhY2VfZXZlbnQvdHJhY2VfbG9nLmNjCistLS0gY2hyb21p dW0tMTE5LjAuNjA0NS41OS9iYXNlL3RyYWNlX2V2ZW50L3RyYWNlX2xvZy5jYy5ub19tYXRjaGlu Z19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE2OjUxLjAwMDAwMDAwMCArMDIwMAorKysrIGNo cm9taXVtLTExOS4wLjYwNDUuNTkvYmFzZS90cmFjZV9ldmVudC90cmFjZV9sb2cuY2MJMjAyMy0x MC0zMCAxNjo1MTowMi4yNzAxNTE0ODcgKzAxMDAKK0BAIC0yMTkxLDggKzIxOTEsOCBAQCB2b2lk IFRyYWNlTG9nOjpTZXRUcmFjZUJ1ZmZlckZvclRlc3RpbmcoCisgI2lmIEJVSUxERkxBRyhVU0Vf UEVSRkVUVE9fQ0xJRU5UX0xJQlJBUlkpCisgdm9pZCBUcmFjZUxvZzo6T25TZXR1cChjb25zdCBw ZXJmZXR0bzo6RGF0YVNvdXJjZUJhc2U6OlNldHVwQXJncyYgYXJncykgeworICAgQXV0b0xvY2sg bG9jayh0cmFja19ldmVudF9sb2NrXyk7CistICB0cmFja19ldmVudF9zZXNzaW9uc18uZW1wbGFj ZV9iYWNrKGFyZ3MuaW50ZXJuYWxfaW5zdGFuY2VfaW5kZXgsICphcmdzLmNvbmZpZywKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJncy5iYWNrZW5kX3R5cGUpOworKyAg dHJhY2tfZXZlbnRfc2Vzc2lvbnNfLmVtcGxhY2VfYmFjaygpID0ge2FyZ3MuaW50ZXJuYWxfaW5z dGFuY2VfaW5kZXgsICphcmdzLmNvbmZpZywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYXJncy5iYWNrZW5kX3R5cGV9OworIH0KKyAKKyB2b2lkIFRyYWNlTG9nOjpPblN0 YXJ0KGNvbnN0IHBlcmZldHRvOjpEYXRhU291cmNlQmFzZTo6U3RhcnRBcmdzJikgeworZGlmZiAt dXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdz L29uZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3Ig Y2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9jb250ZW50X3NldHRpbmdzL29u ZV90aW1lX3Blcm1pc3Npb25fcHJvdmlkZXIuY2MKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5 L2Nocm9tZS9icm93c2VyL2NvbnRlbnRfc2V0dGluZ3Mvb25lX3RpbWVfcGVybWlzc2lvbl9wcm92 aWRlci5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE2OjU3LjAwMDAw MDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvY29u dGVudF9zZXR0aW5ncy9vbmVfdGltZV9wZXJtaXNzaW9uX3Byb3ZpZGVyLmNjCTIwMjMtMTAtMzAg MTY6NTE6MDIuMjY5MTUxNDYyICswMTAwCitAQCAtMjI2LDggKzIyNiw4IEBAIHZvaWQgT25lVGlt ZVBlcm1pc3Npb25Qcm92aWRlcjo6T25TdXNwZW4KKyAKKyAgICAgICB3aGlsZSAocnVsZV9pdGVy YXRvciAmJiBydWxlX2l0ZXJhdG9yLT5IYXNOZXh0KCkpIHsKKyAgICAgICAgIGF1dG8gcnVsZSA9 IHJ1bGVfaXRlcmF0b3ItPk5leHQoKTsKKy0gICAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBs YWNlX2JhY2soc2V0dGluZ190eXBlLCBydWxlLT5wcmltYXJ5X3BhdHRlcm4sCistICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0ZXJuKTsK KysgICAgICAgIHBhdHRlcm5zX3RvX2RlbGV0ZS5lbXBsYWNlX2JhY2soKSA9IHtzZXR0aW5nX3R5 cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm59OworICAgICAgICAgcGVybWlzc2lv bnM6OlBlcm1pc3Npb25VbWFVdGlsOjpSZWNvcmRPbmVUaW1lUGVybWlzc2lvbkV2ZW50KAorICAg ICAgICAgICAgIHNldHRpbmdfdHlwZSwKKyAgICAgICAgICAgICBwZXJtaXNzaW9uczo6T25lVGlt ZVBlcm1pc3Npb25FdmVudDo6RVhQSVJFRF9PTl9TVVNQRU5EKTsKK0BAIC0zMjksOCArMzI5LDgg QEAgdm9pZCBPbmVUaW1lUGVybWlzc2lvblByb3ZpZGVyOjpEZWxldGVFbgorICAgICBhdXRvIHJ1 bGUgPSBydWxlX2l0ZXJhdG9yLT5OZXh0KCk7CisgICAgIGlmIChydWxlLT5wcmltYXJ5X3BhdHRl cm4uTWF0Y2hlcyhvcmlnaW5fZ3VybCkgJiYKKyAgICAgICAgIHJ1bGUtPnNlY29uZGFyeV9wYXR0 ZXJuLk1hdGNoZXMob3JpZ2luX2d1cmwpKSB7CistICAgICAgcGF0dGVybnNfdG9fZGVsZXRlLmVt cGxhY2VfYmFjaygKKy0gICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHJ1bGUtPnByaW1h cnlfcGF0dGVybiwgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm4pOworKyAgICAgIHBhdHRlcm5zX3Rv X2RlbGV0ZS5lbXBsYWNlX2JhY2soKSA9IHsKKysgICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5 cGUsIHJ1bGUtPnByaW1hcnlfcGF0dGVybiwgcnVsZS0+c2Vjb25kYXJ5X3BhdHRlcm59OworICAg ICAgIHBlcm1pc3Npb25zOjpQZXJtaXNzaW9uVW1hVXRpbDo6UmVjb3JkT25lVGltZVBlcm1pc3Np b25FdmVudCgKKyAgICAgICAgICAgY29udGVudF9zZXR0aW5nX3R5cGUsIHRyaWdnZXJfZXZlbnQp OworICAgICB9CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2Vy L2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2ZpbGVfbWFuYWdlbWVudF9uYXZpZ2F0 aW9uX3Rocm90dGxlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTExOS4wLjYw NDUuNTkvY2hyb21lL2Jyb3dzZXIvZW50ZXJwcmlzZS9wcm9maWxlX21hbmFnZW1lbnQvcHJvZmls ZV9tYW5hZ2VtZW50X25hdmlnYXRpb25fdGhyb3R0bGUuY2MKKy0tLSBjaHJvbWl1bS0xMTkuMC42 MDQ1LjU5L2Nocm9tZS9icm93c2VyL2VudGVycHJpc2UvcHJvZmlsZV9tYW5hZ2VtZW50L3Byb2Zp bGVfbWFuYWdlbWVudF9uYXZpZ2F0aW9uX3Rocm90dGxlLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVj dG9yCTIwMjMtMTAtMjYgMTg6MTY6NTcuMDAwMDAwMDAwICswMjAwCisrKysgY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL3Byb2ZpbGVfbWFuYWdlbWVudC9w cm9maWxlX21hbmFnZW1lbnRfbmF2aWdhdGlvbl90aHJvdHRsZS5jYwkyMDIzLTEwLTMwIDE2OjUx OjAyLjI2NzE1MTQxMiArMDEwMAorQEAgLTY3LDggKzY3LDggQEAgYmFzZTo6ZmxhdF9tYXA8c3Rk OjpzdHJpbmcsIFNBTUxQcm9maWxlQQorICAgLy8gVE9ETyhjcmJ1Zy5jb20vMTQ0NTA3Mik6IEFk ZCBhY3R1YWwgZG9tYWlucyB3aXRoIGF0dHJpYnV0ZSBuYW1lcy4KKyAgIHByb2ZpbGVfYXR0cmli dXRlcy0+aW5zZXJ0KHN0ZDo6bWFrZV9wYWlyKAorICAgICAgICJzdXBwb3J0ZWQudGVzdCIsCist ICAgICAgU0FNTFByb2ZpbGVBdHRyaWJ1dGVzKCJwbGFjZWhvbGRlck5hbWUiLCAicGxhY2Vob2xk ZXJEb21haW4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGxhY2Vob2xkZXJUb2tl biIpKSk7CisrICAgICAgU0FNTFByb2ZpbGVBdHRyaWJ1dGVzeyJwbGFjZWhvbGRlck5hbWUiLCAi cGxhY2Vob2xkZXJEb21haW4iLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAicGxhY2Vo b2xkZXJUb2tlbiJ9KSk7CisgCisgICAvLyBFeHRyYWN0IGRvbWFpbnMgYW5kIGF0dHJpYnV0ZXMg ZnJvbSB0aGUgY29tbWFuZCBsaW5lIHN3aXRjaC4KKyAgIGNvbnN0IGJhc2U6OkNvbW1hbmRMaW5l JiBjb21tYW5kX2xpbmUgPQorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUv YnJvd3Nlci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYy5ub19tYXRjaGluZ19j b25zdHJ1Y3RvciBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL29tbmli b3gvY2hyb21lX29tbmlib3hfY2xpZW50LmNjCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9j aHJvbWUvYnJvd3Nlci91aS9vbW5pYm94L2Nocm9tZV9vbW5pYm94X2NsaWVudC5jYy5ub19tYXRj aGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE3OjAwLjAwMDAwMDAwMCArMDIwMAorKysr IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvb21uaWJveC9jaHJvbWVf b21uaWJveF9jbGllbnQuY2MJMjAyMy0xMC0zMCAxNjo1MTowMi4yNjIxNTEyODggKzAxMDAKK0BA IC00NzQsMTAgKzQ3NCwxMCBAQCB2b2lkIENocm9tZU9tbmlib3hDbGllbnQ6Ok9uQXV0b2NvbXBs ZXRlCisgICAgICAgICAgICAgICBhbHRlcm5hdGl2ZV9uYXZfbWF0Y2gpOworIAorICAgLy8gU3Rv cmUgdGhlIGRldGFpbHMgbmVjZXNzYXJ5IHRvIG9wZW4gdGhlIG9tbmlib3ggbWF0Y2ggdmlhIGJy b3dzZXIgY29tbWFuZHMuCistICBsb2NhdGlvbl9iYXJfLT5zZXRfbmF2aWdhdGlvbl9wYXJhbXMo TG9jYXRpb25CYXI6Ok5hdmlnYXRpb25QYXJhbXMoCisrICBsb2NhdGlvbl9iYXJfLT5zZXRfbmF2 aWdhdGlvbl9wYXJhbXMoTG9jYXRpb25CYXI6Ok5hdmlnYXRpb25QYXJhbXN7CisgICAgICAgZGVz dGluYXRpb25fdXJsLCBkaXNwb3NpdGlvbiwgdHJhbnNpdGlvbiwgbWF0Y2hfc2VsZWN0aW9uX3Rp bWVzdGFtcCwKKyAgICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRob3V0X3NjaGVtZSwK Ky0gICAgICBkZXN0aW5hdGlvbl91cmxfZW50ZXJlZF93aXRoX2h0dHBfc2NoZW1lKSk7CisrICAg ICAgZGVzdGluYXRpb25fdXJsX2VudGVyZWRfd2l0aF9odHRwX3NjaGVtZX0pOworIAorICAgaWYg KGJyb3dzZXJfKSB7CisgICAgIGF1dG8gbmF2aWdhdGlvbiA9IGNocm9tZTo6T3BlbkN1cnJlbnRV UkwoYnJvd3Nlcl8pOworZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvdGVz dC9jaHJvbWVkcml2ZXIvY2FwYWJpbGl0aWVzLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNo cm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGll cy5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVy L2NhcGFiaWxpdGllcy5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEwLTI2IDE4OjE3 OjAxLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL3Rl c3QvY2hyb21lZHJpdmVyL2NhcGFiaWxpdGllcy5jYwkyMDIzLTEwLTMwIDE2OjUxOjAyLjI2ODE1 MTQzNyArMDEwMAorQEAgLTM0Niw3ICszNDYsNyBAQCBTdGF0dXMgUGFyc2VNb2JpbGVFbXVsYXRp b24oY29uc3QgYmFzZTo6CisgICAgICAgICAgICAgICAgICAgICAgICAgIid2ZXJzaW9uJyBmaWVs ZCBvZiB0eXBlIHN0cmluZyIpOworICAgICAgICAgfQorIAorLSAgICAgICAgYnJhbmRzLmVtcGxh Y2VfYmFjaygqYnJhbmQsICp2ZXJzaW9uKTsKKysgICAgICAgIGJyYW5kcy5lbXBsYWNlX2JhY2so KSA9IHsqYnJhbmQsICp2ZXJzaW9ufTsKKyAgICAgICB9CisgCisgICAgICAgY2xpZW50X2hpbnRz LmJyYW5kcyA9IHN0ZDo6bW92ZShicmFuZHMpOworQEAgLTM4NCw3ICszODQsNyBAQCBTdGF0dXMg UGFyc2VNb2JpbGVFbXVsYXRpb24oY29uc3QgYmFzZTo6CisgICAgICAgICAgICAgICAgICAgICAg ICAgImEgJ3ZlcnNpb24nIGZpZWxkIG9mIHR5cGUgc3RyaW5nIik7CisgICAgICAgICB9CisgCist ICAgICAgICBmdWxsX3ZlcnNpb25fbGlzdC5lbXBsYWNlX2JhY2soKmJyYW5kLCAqdmVyc2lvbik7 CisrICAgICAgICBmdWxsX3ZlcnNpb25fbGlzdC5lbXBsYWNlX2JhY2soKSA9IHsqYnJhbmQsICp2 ZXJzaW9ufTsKKyAgICAgICB9CisgCisgICAgICAgY2xpZW50X2hpbnRzLmZ1bGxfdmVyc2lvbl9s aXN0ID0gc3RkOjptb3ZlKGZ1bGxfdmVyc2lvbl9saXN0KTsKK2RpZmYgLXVwIGNocm9taXVtLTEx OS4wLjYwNDUuNTkvY29tcG9uZW50cy9hdXRvZmlsbC9jb3JlL2Jyb3dzZXIvY29udGFjdF9pbmZv X3N5bmNfdXRpbC5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMTkuMC42MDQ1 LjU5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2NvbnRhY3RfaW5mb19zeW5jX3V0 aWwuY2MKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29y ZS9icm93c2VyL2NvbnRhY3RfaW5mb19zeW5jX3V0aWwuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0 b3IJMjAyMy0xMC0zMCAxNjo1MTowMi4yNzMxNTE1NjIgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL2NvbnRhY3RfaW5mb19z eW5jX3V0aWwuY2MJMjAyMy0xMC0zMCAxNzo0MToxMi42ODU4ODc1MzggKzAxMDAKK0BAIC0xOTUs OSArMTk1LDkgQEAgY2xhc3MgQ29udGFjdEluZm9Qcm9maWxlU2V0dGVyIHsKKyAgICAgICBDSEVD SyhvYnNlcnZhdGlvbnMuZW1wdHkoKSk7CisgICAgICAgZm9yIChjb25zdCBzeW5jX3BiOjpDb250 YWN0SW5mb1NwZWNpZmljczo6T2JzZXJ2YXRpb24mIHByb3RvX29ic2VydmF0aW9uIDoKKyAgICAg ICAgICAgIG1ldGFkYXRhLm9ic2VydmF0aW9ucygpKSB7CistICAgICAgICBvYnNlcnZhdGlvbnMu ZW1wbGFjZV9iYWNrKHByb3RvX29ic2VydmF0aW9uLnR5cGUoKSwKKysgICAgICAgIG9ic2VydmF0 aW9ucy5lbXBsYWNlX2JhY2soKSA9IHtzdGF0aWNfY2FzdDx1bnNpZ25lZCBjaGFyPihwcm90b19v YnNlcnZhdGlvbi50eXBlKCkpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ cm9maWxlVG9rZW5RdWFsaXR5OjpGb3JtU2lnbmF0dXJlSGFzaCgKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb3RvX29ic2VydmF0aW9uLmZvcm1faGFzaCgpKSk7Cisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b19vYnNlcnZhdGlvbi5m b3JtX2hhc2goKSl9OworICAgICAgIH0KKyAgICAgfQorICAgfQorZGlmZiAtdXAgY2hyb21pdW0t MTE5LjAuNjA0NS41OS9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tp YV9vdXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBvbmVudHMvdml6L3NlcnZpY2UvZGlzcGxheV9lbWJl ZGRlci9za2lhX291dHB1dF9zdXJmYWNlX2ltcGxfb25fZ3B1LmNjCistLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jb21wb25lbnRzL3Zpei9zZXJ2aWNlL2Rpc3BsYXlfZW1iZWRkZXIvc2tpYV9v dXRwdXRfc3VyZmFjZV9pbXBsX29uX2dwdS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIz LTEwLTI2IDE4OjE3OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUu NTkvY29tcG9uZW50cy92aXovc2VydmljZS9kaXNwbGF5X2VtYmVkZGVyL3NraWFfb3V0cHV0X3N1 cmZhY2VfaW1wbF9vbl9ncHUuY2MJMjAyMy0xMC0zMCAxNjo1MTowMi4yNjAxNTEyMzggKzAxMDAK K0BAIC0xNTMwLDcgKzE1MzAsNyBAQCB2b2lkIFNraWFPdXRwdXRTdXJmYWNlSW1wbE9uR3B1OjpD b3B5T3V0CisgCisgICAgICAgLy8gSXNzdWUgcmVhZGJhY2tzIGZyb20gdGhlIHN1cmZhY2VzOgor ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgQ29weU91dHB1dFJlc3VsdDo6a05WMTJNYXhQ bGFuZXM7ICsraSkgeworLSAgICAgICAgU2tJU2l6ZSBzaXplKHBsYW5lX3N1cmZhY2VzW2ldLT53 aWR0aCgpLCBwbGFuZV9zdXJmYWNlc1tpXS0+aGVpZ2h0KCkpOworKyAgICAgICAgU2tJU2l6ZSBz aXple3BsYW5lX3N1cmZhY2VzW2ldLT53aWR0aCgpLCBwbGFuZV9zdXJmYWNlc1tpXS0+aGVpZ2h0 KCl9OworICAgICAgICAgU2tJbWFnZUluZm8gZHN0X2luZm8gPSBTa0ltYWdlSW5mbzo6TWFrZSgK KyAgICAgICAgICAgICBzaXplLCAoaSA9PSAwKSA/IGtBbHBoYV84X1NrQ29sb3JUeXBlIDoga1I4 RzhfdW5vcm1fU2tDb2xvclR5cGUsCisgICAgICAgICAgICAga1VucHJlbXVsX1NrQWxwaGFUeXBl KTsKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL2Rvd25s b2FkL3NhdmVfcGFja2FnZS5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2thZ2UuY2MKKy0tLSBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci9kb3dubG9hZC9zYXZlX3BhY2th Z2UuY2Mubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMC0yNiAxODoxNzoxMi4wMDAwMDAw MDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbnRlbnQvYnJvd3Nlci9kb3du bG9hZC9zYXZlX3BhY2thZ2UuY2MJMjAyMy0xMC0zMCAxNjo1MTowMi4yNzExNTE1MTIgKzAxMDAK K0BAIC03NjksOCArNzY5LDggQEAgdm9pZCBTYXZlUGFja2FnZTo6RmluaXNoKCkgeworICAgaWYg KGRvd25sb2FkXykgeworICAgICBzdGQ6OnZlY3Rvcjxkb3dubG9hZDo6RG93bmxvYWRTYXZlSXRl bURhdGE6Okl0ZW1JbmZvPiBmaWxlczsKKyAgICAgZm9yIChhdXRvJiBpdGVtIDogc2F2ZWRfc3Vj Y2Vzc19pdGVtc18pIHsKKy0gICAgICBmaWxlcy5lbXBsYWNlX2JhY2soaXRlbS5zZWNvbmQtPmZ1 bGxfcGF0aCgpLCBpdGVtLnNlY29uZC0+dXJsKCksCistICAgICAgICAgICAgICAgICAgICAgICAg IGl0ZW0uc2Vjb25kLT5yZWZlcnJlcigpLnVybCk7CisrICAgICAgZmlsZXMuZW1wbGFjZV9iYWNr KCkgPSB7aXRlbS5zZWNvbmQtPmZ1bGxfcGF0aCgpLCBpdGVtLnNlY29uZC0+dXJsKCksCisrICAg ICAgICAgICAgICAgICAgICAgICAgIGl0ZW0uc2Vjb25kLT5yZWZlcnJlcigpLnVybH07CisgICAg IH0KKyAgICAgZG93bmxvYWQ6OkRvd25sb2FkU2F2ZUl0ZW1EYXRhOjpBdHRhY2hJdGVtRGF0YShk b3dubG9hZF8sIHN0ZDo6bW92ZShmaWxlcykpOworICAgfQorZGlmZiAtdXAgY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIvcmVuZGVyZXJfaG9zdC9yZW5kZXJfZnJhbWVfaG9z dF9pbXBsLmNjLm5vX21hdGNoaW5nX2NvbnN0cnVjdG9yIGNocm9taXVtLTExOS4wLjYwNDUuNTkv Y29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwor LS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3Qv cmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEw LTI2IDE4OjE3OjEyLjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkv Y29udGVudC9icm93c2VyL3JlbmRlcmVyX2hvc3QvcmVuZGVyX2ZyYW1lX2hvc3RfaW1wbC5jYwky MDIzLTEwLTMwIDE3OjM4OjA5LjM1MTM4OTk4NCArMDEwMAorQEAgLTg1NjcsNyArODU2Nyw3IEBA IHZvaWQgUmVuZGVyRnJhbWVIb3N0SW1wbDo6U2VuZEZlbmNlZEZyYW0KKyAgIGZvciAoY29uc3Qg Ymxpbms6OkZlbmNlZEZyYW1lOjpSZXBvcnRpbmdEZXN0aW5hdGlvbiYgZGVzdGluYXRpb24gOgor ICAgICAgICBkZXN0aW5hdGlvbnMpIHsKKyAgICAgU2VuZEZlbmNlZEZyYW1lUmVwb3J0aW5nQmVh Y29uSW50ZXJuYWwoCistICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChldmVudF90eXBlLCBl dmVudF9kYXRhKSwgZGVzdGluYXRpb24sCisrICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtl dmVudF90eXBlLCBldmVudF9kYXRhfSwgZGVzdGluYXRpb24sCisgICAgICAgICAvKmZyb21fcmVu ZGVyZXI9Ki90cnVlLCBhdHRyaWJ1dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcywKKyAg ICAgICAgIEdldEZyYW1lVHJlZU5vZGVJZCgpKTsKKyAgIH0KK0BAIC04NjAzLDcgKzg2MDMsNyBA QCB2b2lkIFJlbmRlckZyYW1lSG9zdEltcGw6OlNlbmRGZW5jZWRGcmFtCisgICB9CisgCisgICBT ZW5kRmVuY2VkRnJhbWVSZXBvcnRpbmdCZWFjb25JbnRlcm5hbCgKKy0gICAgICBEZXN0aW5hdGlv blVSTEV2ZW50KGRlc3RpbmF0aW9uX3VybCksCisrICAgICAgRGVzdGluYXRpb25VUkxFdmVudHtk ZXN0aW5hdGlvbl91cmx9LAorICAgICAgIGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVz dGluYXRpb246OmtCdXllciwKKyAgICAgICAvKmZyb21fcmVuZGVyZXI9Ki90cnVlLCBhdHRyaWJ1 dGlvbl9yZXBvcnRpbmdfcnVudGltZV9mZWF0dXJlcywKKyAgICAgICBHZXRGcmFtZVRyZWVOb2Rl SWQoKSk7CitAQCAtODcwMyw4ICs4NzAzLDggQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpN YXliZVNlbmRGZW5jZQorICAgICAgICAgZGF0YSA9IGluZm8tPmRhdGE7CisgICAgICAgfQorICAg ICAgIGluaXRpYXRvcl9yZmgtPlNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFs KAorLSAgICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChibGluazo6a0ZlbmNlZEZyYW1lVG9w TmF2aWdhdGlvbkJlYWNvblR5cGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRh dGEpLAorKyAgICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtibGluazo6a0ZlbmNlZEZyYW1l VG9wTmF2aWdhdGlvbkJlYWNvblR5cGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGF9LAorICAgICAgICAgICBkZXN0aW5hdGlvbiwKKyAgICAgICAgICAgLypmcm9tX3JlbmRl cmVyPSovZmFsc2UsIGF0dHJpYnV0aW9uX3JlcG9ydGluZ19mZWF0dXJlcywKKyAgICAgICAgICAg R2V0RnJhbWVUcmVlTm9kZUlkKCksIG5hdmlnYXRpb25fcmVxdWVzdC5HZXROYXZpZ2F0aW9uSWQo KSk7CitAQCAtODcxNyw4ICs4NzE3LDggQEAgdm9pZCBSZW5kZXJGcmFtZUhvc3RJbXBsOjpNYXli ZVNlbmRGZW5jZQorICAgICBmb3IgKGJsaW5rOjpGZW5jZWRGcmFtZTo6UmVwb3J0aW5nRGVzdGlu YXRpb24gZGVzdGluYXRpb24gOgorICAgICAgICAgIGluZm8tPmRlc3RpbmF0aW9ucykgeworICAg ICAgIGluaXRpYXRvcl9yZmgtPlNlbmRGZW5jZWRGcmFtZVJlcG9ydGluZ0JlYWNvbkludGVybmFs KAorLSAgICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudChibGluazo6a0ZlbmNlZEZyYW1lVG9w TmF2aWdhdGlvbkJlYWNvblR5cGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu Zm8tPmRhdGEpLAorKyAgICAgICAgICBEZXN0aW5hdGlvbkVudW1FdmVudHtibGluazo6a0ZlbmNl ZEZyYW1lVG9wTmF2aWdhdGlvbkJlYWNvblR5cGUsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGluZm8tPmRhdGF9LAorICAgICAgICAgICBkZXN0aW5hdGlvbiwKKyAgICAgICAgICAg Lypmcm9tX3JlbmRlcmVyPSovZmFsc2UsIGluZm8tPmF0dHJpYnV0aW9uX3JlcG9ydGluZ19ydW50 aW1lX2ZlYXR1cmVzLAorICAgICAgICAgICBHZXRGcmFtZVRyZWVOb2RlSWQoKSwgbmF2aWdhdGlv bl9yZXF1ZXN0LkdldE5hdmlnYXRpb25JZCgpKTsKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYw NDUuNTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvZm9udF9wYWxl dHRlLmgubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGly ZF9wYXJ0eS9ibGluay9yZW5kZXJlci9wbGF0Zm9ybS9mb250cy9mb250X3BhbGV0dGUuaAorLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZv cm0vZm9udHMvZm9udF9wYWxldHRlLmgubm9fbWF0Y2hpbmdfY29uc3RydWN0b3IJMjAyMy0xMC0y NiAxODoxNzoyNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3Ro aXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2ZvbnRzL2ZvbnRfcGFsZXR0ZS5oCTIw MjMtMTAtMzAgMTY6NTE6MDIuMjYyMTUxMjg4ICswMTAwCitAQCAtOTYsNyArOTYsNyBAQCBjbGFz cyBQTEFURk9STV9FWFBPUlQgRm9udFBhbGV0dGUgOiBwdWJsCisgICAgICAgQ29sb3I6OkNvbG9y U3BhY2UgY29sb3JfaW50ZXJwb2xhdGlvbl9zcGFjZSwKKyAgICAgICBhYnNsOjpvcHRpb25hbDxD b2xvcjo6SHVlSW50ZXJwb2xhdGlvbk1ldGhvZD4gaHVlX2ludGVycG9sYXRpb25fbWV0aG9kKSB7 CisgICAgIHJldHVybiBiYXNlOjpBZG9wdFJlZihuZXcgRm9udFBhbGV0dGUoCistICAgICAgICBz dGFydCwgZW5kLCBOb25Ob3JtYWxpemVkUGVyY2VudGFnZXMoc3RhcnRfcGVyY2VudGFnZSwgZW5k X3BlcmNlbnRhZ2UpLAorKyAgICAgICAgc3RhcnQsIGVuZCwgTm9uTm9ybWFsaXplZFBlcmNlbnRh Z2Vze3N0YXJ0X3BlcmNlbnRhZ2UsIGVuZF9wZXJjZW50YWdlfSwKKyAgICAgICAgIG5vcm1hbGl6 ZWRfcGVyY2VudGFnZSwgYWxwaGFfbXVsdGlwbGllciwgY29sb3JfaW50ZXJwb2xhdGlvbl9zcGFj ZSwKKyAgICAgICAgIGh1ZV9pbnRlcnBvbGF0aW9uX21ldGhvZCkpOworICAgfQorQEAgLTE3MCw3 ICsxNzAsNyBAQCBjbGFzcyBQTEFURk9STV9FWFBPUlQgRm9udFBhbGV0dGUgOiBwdWJsCisgICAg ICAgZG91YmxlIG5vcm1hbGl6ZWRfcGVyY2VudGFnZSkgeworICAgICBkb3VibGUgZW5kX3BlcmNl bnRhZ2UgPSBub3JtYWxpemVkX3BlcmNlbnRhZ2UgKiAxMDAuMDsKKyAgICAgZG91YmxlIHN0YXJ0 X3BlcmNlbnRhZ2UgPSAxMDAuMCAtIGVuZF9wZXJjZW50YWdlOworLSAgICByZXR1cm4gTm9uTm9y bWFsaXplZFBlcmNlbnRhZ2VzKHN0YXJ0X3BlcmNlbnRhZ2UsIGVuZF9wZXJjZW50YWdlKTsKKysg ICAgcmV0dXJuIE5vbk5vcm1hbGl6ZWRQZXJjZW50YWdlc3tzdGFydF9wZXJjZW50YWdlLCBlbmRf cGVyY2VudGFnZX07CisgICB9CisgCisgICBkb3VibGUgR2V0QWxwaGFNdWx0aXBsaWVyKCkgY29u c3QgeworZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24uY2Mubm9fbWF0Y2hp bmdfY29uc3RydWN0b3IgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0eS9ibGluay9y ZW5kZXJlci9wbGF0Zm9ybS9mb250cy9wYWxldHRlX2ludGVycG9sYXRpb24uY2MKKy0tLSBjaHJv bWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL3BsYXRmb3JtL2Zv bnRzL3BhbGV0dGVfaW50ZXJwb2xhdGlvbi5jYy5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIz LTEwLTI2IDE4OjE3OjI0LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUu NTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvcGxhdGZvcm0vZm9udHMvcGFsZXR0ZV9pbnRl cnBvbGF0aW9uLmNjCTIwMjMtMTAtMzAgMTY6NTE6MDIuMjYxMTUxMjYzICswMTAwCitAQCAtMzEs NyArMzEsNyBAQCBWZWN0b3I8Rm9udFBhbGV0dGU6OkZvbnRQYWxldHRlT3ZlcnJpZGU+CisgICAg ICAgICBjb2xvcl9pbnRlcnBvbGF0aW9uX3NwYWNlLCBodWVfaW50ZXJwb2xhdGlvbl9tZXRob2Qs IHN0YXJ0X2NvbG9yLAorICAgICAgICAgZW5kX2NvbG9yLCBwZXJjZW50YWdlLCBhbHBoYV9tdWx0 aXBsaWVyKTsKKyAKKy0gICAgRm9udFBhbGV0dGU6OkZvbnRQYWxldHRlT3ZlcnJpZGUgcmVzdWx0 X2NvbG9yX3JlY29yZChpLCByZXN1bHRfY29sb3IpOworKyAgICBGb250UGFsZXR0ZTo6Rm9udFBh bGV0dGVPdmVycmlkZSByZXN1bHRfY29sb3JfcmVjb3Jke3N0YXRpY19jYXN0PGludD4oaSksIHJl c3VsdF9jb2xvcn07CisgICAgIHJlc3VsdF9jb2xvcl9yZWNvcmRzLnB1c2hfYmFjayhyZXN1bHRf Y29sb3JfcmVjb3JkKTsKKyAgIH0KKyAgIHJldHVybiByZXN1bHRfY29sb3JfcmVjb3JkczsKK2Rp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvdWkvZ3RrL2d0a191aS5jYy5ub19tYXRjaGlu Z19jb25zdHJ1Y3RvciBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3VpL2d0ay9ndGtfdWkuY2MKKy0t LSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3VpL2d0ay9ndGtfdWkuY2Mubm9fbWF0Y2hpbmdfY29u c3RydWN0b3IJMjAyMy0xMC0yNiAxODoxODoxNC4wMDAwMDAwMDAgKzAyMDAKKysrKyBjaHJvbWl1 bS0xMTkuMC42MDQ1LjU5L3VpL2d0ay9ndGtfdWkuY2MJMjAyMy0xMC0zMCAxNjo1MTowMi4yNzIx NTE1MzcgKzAxMDAKK0BAIC05OTMsMTEgKzk5MywxMSBAQCB1aTo6RGlzcGxheUNvbmZpZyBHdGtV aTo6R2V0RGlzcGxheUNvbmZpCisgICAgIEdka1JlY3RhbmdsZSBnZW9tZXRyeTsKKyAgICAgZ2Rr X21vbml0b3JfZ2V0X2dlb21ldHJ5KG1vbml0b3IsICZnZW9tZXRyeSk7CisgICAgIGludCBtb25p dG9yX3NjYWxlID0gc3RkOjptYXgoMSwgZ2RrX21vbml0b3JfZ2V0X3NjYWxlX2ZhY3Rvcihtb25p dG9yKSk7CistICAgIGNvbmZpZy5kaXNwbGF5X2dlb21ldHJpZXMuZW1wbGFjZV9iYWNrKAorKyAg ICBjb25maWcuZGlzcGxheV9nZW9tZXRyaWVzLmVtcGxhY2VfYmFjaygpID0geworICAgICAgICAg Z2Z4OjpSZWN0KG1vbml0b3Jfc2NhbGUgKiBnZW9tZXRyeS54LCBtb25pdG9yX3NjYWxlICogZ2Vv bWV0cnkueSwKKyAgICAgICAgICAgICAgICAgICBtb25pdG9yX3NjYWxlICogZ2VvbWV0cnkud2lk dGgsCisgICAgICAgICAgICAgICAgICAgbW9uaXRvcl9zY2FsZSAqIGdlb21ldHJ5LmhlaWdodCks CistICAgICAgICBtb25pdG9yX3NjYWxlICogZm9udF9zY2FsZSk7CisrICAgICAgICBzdGF0aWNf Y2FzdDxmbG9hdD4obW9uaXRvcl9zY2FsZSAqIGZvbnRfc2NhbGUpfTsKKyAgIH0KKyAgIHJldHVy biBjb25maWc7CisgfQorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9iYXNlL21ldHJp Y3MvcGVyc2lzdGVudF9oaXN0b2dyYW1fYWxsb2NhdG9yLmNjLm1lIGNocm9taXVtLTExOS4wLjYw NDUuNTkvYmFzZS9tZXRyaWNzL3BlcnNpc3RlbnRfaGlzdG9ncmFtX2FsbG9jYXRvci5jYworLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvYmFzZS9tZXRyaWNzL3BlcnNpc3RlbnRfaGlzdG9ncmFt X2FsbG9jYXRvci5jYy5tZQkyMDIzLTEwLTMxIDE4OjE0OjQ5LjI3NTcyODA5OSArMDEwMAorKysr IGNocm9taXVtLTExOS4wLjYwNDUuNTkvYmFzZS9tZXRyaWNzL3BlcnNpc3RlbnRfaGlzdG9ncmFt X2FsbG9jYXRvci5jYwkyMDIzLTEwLTMxIDE4OjE5OjU0LjU5OTIyMzIzOSArMDEwMAorQEAgLTIy MSwxMyArMjIxLDEzIEBAIFBlcnNpc3RlbnRTcGFyc2VIaXN0b2dyYW1EYXRhTWFuYWdlcjo6TG8K KyAgICAgLy8gVGhlIHNhbXBsZS1yZWNvcmQgY291bGQgYmUgZm9yIGFueSBzcGFyc2UgaGlzdG9n cmFtLiBBZGQgdGhlIHJlZmVyZW5jZQorICAgICAvLyB0byB0aGUgYXBwcm9wcmlhdGUgY29sbGVj dGlvbiBmb3IgbGF0ZXIgdXNlLgorICAgICBpZiAoZm91bmRfaWQgPT0gbWF0Y2hfaWQpIHsKKy0g ICAgICBmb3VuZF9yZWNvcmRzLmVtcGxhY2VfYmFjayhyZWYsIHZhbHVlKTsKKysgICAgICBmb3Vu ZF9yZWNvcmRzLmVtcGxhY2VfYmFjaygpID0ge3JlZiwgdmFsdWV9OworICAgICAgIGZvdW5kID0g dHJ1ZTsKKyAgICAgfSBlbHNlIHsKKyAgICAgICBzdGQ6OnZlY3RvcjxSZWZlcmVuY2VBbmRTYW1w bGU+KiBzYW1wbGVzID0KKyAgICAgICAgICAgR2V0U2FtcGxlTWFwUmVjb3Jkc1doaWxlTG9ja2Vk KGZvdW5kX2lkKTsKKyAgICAgICBDSEVDSyhzYW1wbGVzKTsKKy0gICAgICBzYW1wbGVzLT5lbXBs YWNlX2JhY2socmVmLCB2YWx1ZSk7CisrICAgICAgc2FtcGxlcy0+ZW1wbGFjZV9iYWNrKCkgPSB7 cmVmLCB2YWx1ZX07CisgICAgIH0KKyAgIH0KKyAKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYw NDUuNTkvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjLm1lIGNocm9taXVtLTExOS4wLjYw NDUuNTkvbmV0L2Rucy9ob3N0X3Jlc29sdmVyX2NhY2hlLmNjCistLS0gY2hyb21pdW0tMTE5LjAu NjA0NS41OS9uZXQvZG5zL2hvc3RfcmVzb2x2ZXJfY2FjaGUuY2MubWUJMjAyMy0xMC0zMSAyMDo0 ODoxOS4xNTM4NjgzMzggKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L25ldC9kbnMv aG9zdF9yZXNvbHZlcl9jYWNoZS5jYwkyMDIzLTEwLTMxIDIwOjUxOjM3LjYzNDUyNjU0OSArMDEw MAorQEAgLTM2OCw3ICszNjgsNyBAQCB2b2lkIEhvc3RSZXNvbHZlckNhY2hlOjpTZXQoCisgCisg ICBzdGQ6OnN0cmluZyBkb21haW5fbmFtZSA9IHJlc3VsdC0+ZG9tYWluX25hbWUoKTsKKyAgIGVu dHJpZXNfLmVtcGxhY2UoCistICAgICAgS2V5KHN0ZDo6bW92ZShkb21haW5fbmFtZSksIG5ldHdv cmtfYW5vbnltaXphdGlvbl9rZXkpLAorKyAgICAgIEtleXtzdGQ6Om1vdmUoZG9tYWluX25hbWUp LCBuZXR3b3JrX2Fub255bWl6YXRpb25fa2V5fSwKKyAgICAgICBFbnRyeShzdGQ6Om1vdmUocmVz dWx0KSwgc291cmNlLCBzZWN1cmUsIHN0YWxlbmVzc19nZW5lcmF0aW9uKSk7CisgCisgICBpZiAo ZW50cmllc18uc2l6ZSgpID4gbWF4X2VudHJpZXNfKSB7CitkaWZmIC11cCBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2NvbXBvbmVudHMvYXV0b2ZpbGwvY29yZS9icm93c2VyL3dlYmRhdGEvYXV0b2Zp bGxfdGFibGUuY2MubWUgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21wb25lbnRzL2F1dG9maWxs L2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9maWxsX3RhYmxlLmNjCistLS0gY2hyb21pdW0tMTE5 LjAuNjA0NS41OS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci93ZWJkYXRhL2F1dG9m aWxsX3RhYmxlLmNjLm1lCTIwMjMtMTAtMzEgMjI6MzI6NTguOTk1OTk3ODk3ICswMTAwCisrKysg Y2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21wb25lbnRzL2F1dG9maWxsL2NvcmUvYnJvd3Nlci93 ZWJkYXRhL2F1dG9maWxsX3RhYmxlLmNjCTIwMjMtMTAtMzEgMjI6MzM6MjguMjkwNTIwNjAxICsw MTAwCitAQCAtMTczMywxMCArMTczMywxMCBAQCBzdGQ6OnVuaXF1ZV9wdHI8QXV0b2ZpbGxQcm9m aWxlPiBBdXRvZmlsCisgICAgIH0KKyAKKyAgICAgYmFzZTo6c3Bhbjxjb25zdCB1aW50OF90PiBv YnNlcnZhdGlvbnNfZGF0YSA9IHMuQ29sdW1uQmxvYigzKTsKKy0gICAgZmllbGRfdHlwZV92YWx1 ZXMuZW1wbGFjZV9iYWNrKAorKyAgICBmaWVsZF90eXBlX3ZhbHVlcy5lbXBsYWNlX2JhY2soKSA9 IHsKKyAgICAgICAgIHR5cGUsIHMuQ29sdW1uU3RyaW5nMTYoMSksIHMuQ29sdW1uSW50KDIpLAor ICAgICAgICAgc3RkOjp2ZWN0b3I8dWludDhfdD4ob2JzZXJ2YXRpb25zX2RhdGEuYmVnaW4oKSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9ic2VydmF0aW9uc19kYXRhLmVuZCgpKSk7 CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvYnNlcnZhdGlvbnNfZGF0YS5lbmQoKSl9 OworIAorICAgICBpZiAodHlwZSA9PSBBRERSRVNTX0hPTUVfQ09VTlRSWSkgeworICAgICAgIGNv dW50cnlfY29kZSA9IGJhc2U6OlVURjE2VG9VVEY4KHMuQ29sdW1uU3RyaW5nMTYoMSkpOworZGlm ZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb21wb25lbnRzL3Bhc3N3b3JkX21hbmFnZXIv Y29yZS9icm93c2VyL3Bhc3N3b3JkX21hbmFnZXIuY2MudGhhbiBjaHJvbWl1bS0xMTkuMC42MDQ1 LjU5L2NvbXBvbmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFu YWdlci5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29tcG9uZW50cy9wYXNzd29yZF9t YW5hZ2VyL2NvcmUvYnJvd3Nlci9wYXNzd29yZF9tYW5hZ2VyLmNjLnRoYW4JMjAyMy0xMC0zMSAy Mjo0MToyMi44NTAyMzMwMDUgKzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2NvbXBv bmVudHMvcGFzc3dvcmRfbWFuYWdlci9jb3JlL2Jyb3dzZXIvcGFzc3dvcmRfbWFuYWdlci5jYwky MDIzLTEwLTMxIDIyOjQyOjM3LjI3NjkzMTkzMyArMDEwMAorQEAgLTYyNSw3ICs2MjUsNyBAQCB2 b2lkIFBhc3N3b3JkTWFuYWdlcjo6T25Vc2VyTW9kaWZpZWROb25QCisgICAvLyB8ZHJpdmVyfCBt aWdodCBiZSBlbXB0eSBvbiBpT1Mgb3IgaW4gdGVzdHMuCisgICBpbnQgZHJpdmVyX2lkID0gZHJp dmVyID8gZHJpdmVyLT5HZXRJZCgpIDogMDsKKyAgIHBvc3NpYmxlX3VzZXJuYW1lc18uUHV0KAor LSAgICAgIFBvc3NpYmxlVXNlcm5hbWVGaWVsZElkZW50aWZpZXIoZHJpdmVyX2lkLCByZW5kZXJl cl9pZCksCisrICAgICAgUG9zc2libGVVc2VybmFtZUZpZWxkSWRlbnRpZmllcntkcml2ZXJfaWQs IHJlbmRlcmVyX2lkfSwKKyAgICAgICBQb3NzaWJsZVVzZXJuYW1lRGF0YShHZXRTaWdub25SZWFs bShkcml2ZXItPkdldExhc3RDb21taXR0ZWRVUkwoKSksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmVuZGVyZXJfaWQsIHZhbHVlLCBiYXNlOjpUaW1lOjpOb3coKSwgZHJpdmVyX2lkLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZV9hdHRyaWJ1dGVfaGFzX3Vz ZXJuYW1lLCBpc19saWtlbHlfb3RwKSk7CitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5 L2NvbnRlbnQvYnJvd3Nlci9pbnRlcmVzdF9ncm91cC9pbnRlcmVzdF9ncm91cF9zdG9yYWdlLmNj LnRoYW4gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jb250ZW50L2Jyb3dzZXIvaW50ZXJlc3RfZ3Jv dXAvaW50ZXJlc3RfZ3JvdXBfc3RvcmFnZS5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkv Y29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2ludGVyZXN0X2dyb3VwX3N0b3JhZ2UuY2Mu dGhhbgkyMDIzLTEwLTMxIDIzOjMxOjA4LjQzODI2NzkwOCArMDEwMAorKysrIGNocm9taXVtLTEx OS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL2ludGVyZXN0X2dyb3VwL2ludGVyZXN0X2dyb3Vw X3N0b3JhZ2UuY2MJMjAyMy0xMC0zMSAyMzozMjowOC45NzkzNTg3MTEgKzAxMDAKK0BAIC0yODU0 LDEwICsyODU0LDEwIEBAIERvR2V0S0Fub255bWl0eURhdGEoc3FsOjpEYXRhYmFzZSYgZGIsCisg CisgICBzdGQ6OnZlY3RvcjxTdG9yYWdlSW50ZXJlc3RHcm91cDo6S0Fub255bWl0eURhdGE+IGtf YW5vbl9kYXRhOworICAgd2hpbGUgKGludGVyZXN0X2dyb3VwX2thbm9uX3F1ZXJ5LlN0ZXAoKSkg eworLSAgICBrX2Fub25fZGF0YS5lbXBsYWNlX2JhY2soCisrICAgIGtfYW5vbl9kYXRhLmVtcGxh Y2VfYmFjaygpID0geworICAgICAgICAgLyprZXk9Ki9pbnRlcmVzdF9ncm91cF9rYW5vbl9xdWVy eS5Db2x1bW5TdHJpbmcoMCksCisgICAgICAgICAvKmlzX2tfYW5vbnltb3VzPSovaW50ZXJlc3Rf Z3JvdXBfa2Fub25fcXVlcnkuQ29sdW1uQm9vbCgxKSwKKy0gICAgICAgIC8qbGFzdF91cGRhdGVk PSovaW50ZXJlc3RfZ3JvdXBfa2Fub25fcXVlcnkuQ29sdW1uVGltZSgyKSk7CisrICAgICAgICAv Kmxhc3RfdXBkYXRlZD0qL2ludGVyZXN0X2dyb3VwX2thbm9uX3F1ZXJ5LkNvbHVtblRpbWUoMil9 OworICAgfQorICAgaWYgKCFpbnRlcmVzdF9ncm91cF9rYW5vbl9xdWVyeS5TdWNjZWVkZWQoKSkg eworICAgICByZXR1cm4gYWJzbDo6bnVsbG9wdDsKK2RpZmYgLXVwIGNocm9taXVtLTExOS4wLjYw NDUuNTkvY29udGVudC9icm93c2VyL3dlYmlkL2ZlZGVyYXRlZF9hdXRoX3JlcXVlc3RfaW1wbC5j Yy50aGFuIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29udGVudC9icm93c2VyL3dlYmlkL2ZlZGVy YXRlZF9hdXRoX3JlcXVlc3RfaW1wbC5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY29u dGVudC9icm93c2VyL3dlYmlkL2ZlZGVyYXRlZF9hdXRoX3JlcXVlc3RfaW1wbC5jYy50aGFuCTIw MjMtMTEtMDEgMTE6MTk6NDIuNzQ1Mzk1Nzk3ICswMTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0 NS41OS9jb250ZW50L2Jyb3dzZXIvd2ViaWQvZmVkZXJhdGVkX2F1dGhfcmVxdWVzdF9pbXBsLmNj CTIwMjMtMTEtMDEgMTE6MjI6MTYuNjcwOTIwNjc5ICswMTAwCitAQCAtMTg4MSw3ICsxODgxLDcg QEAgdm9pZCBGZWRlcmF0ZWRBdXRoUmVxdWVzdEltcGw6OlNob3dFcnJvcgorICAgICAgIGJhc2U6 OkJpbmRPbmNlKCZGZWRlcmF0ZWRBdXRoUmVxdWVzdEltcGw6OkNvbXBsZXRlUmVxdWVzdFdpdGhF cnJvciwKKyAgICAgICAgICAgICAgICAgICAgICB3ZWFrX3B0cl9mYWN0b3J5Xy5HZXRXZWFrUHRy KCkpKTsKKyAgIGFic2w6Om9wdGlvbmFsPFRva2VuRXJyb3I+IHRva2VuX2Vycm9yID0KKy0gICAg ICBlcnJvciA/IGFic2w6Om1ha2Vfb3B0aW9uYWw8VG9rZW5FcnJvcj4oZXJyb3ItPmNvZGUsIGVy cm9yLT51cmwpCisrICAgICAgZXJyb3IgPyBhYnNsOjptYWtlX29wdGlvbmFsPFRva2VuRXJyb3I+ KHtlcnJvci0+Y29kZSwgZXJyb3ItPnVybH0pCisgICAgICAgICAgICAgOiBhYnNsOjpudWxsb3B0 OworIAorICAgLy8gVE9ETyhjcmJ1Zy5jb20vMTQ4NTcxMCk6IFJlZmFjdG9yIElkZW50aXR5Q3Jl ZGVudGlhbFRva2VuRXJyb3IKKy0tLSBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L3VpL2Jhc2Uvd2F5 bGFuZC9jb2xvcl9tYW5hZ2VyX3V0aWwuaC5ub19tYXRjaGluZ19jb25zdHJ1Y3RvcgkyMDIzLTEw LTI2IDE4OjE4OjE0LjAwMDAwMDAwMCArMDIwMAorKysrIGNocm9taXVtLTExOS4wLjYwNDUuNTkv dWkvYmFzZS93YXlsYW5kL2NvbG9yX21hbmFnZXJfdXRpbC5oCTIwMjMtMTEtMDEgMTc6Mjk6NTQu MjY5ODIwNDE1ICswMTAwCitAQCAtNTIsNTMgKzUyLDUzIEBACisgICAgIHpjcl9jb2xvcl9tYW5h Z2VyX3YxX2Nocm9tYXRpY2l0eV9uYW1lcywKKyAgICAgUHJpbWFyeVZlcnNpb24+KAorICAgICB7 e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDYwMV81MjVfTElORSwK Ky0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEUx NzBNLAorLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAg ICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFMTcwTSwK KysgICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAge1pD Ul9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDYwMV82MjVfTElORSwKKy0g ICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ0NzBCRywK Ky0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgIFBy aW1hcnlWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpCVDQ3MEJHLAorKyAgICAg ICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1NNUFRFMTcwTSwKKy0gICAgICBQcmltYXJ5 VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6U01QVEUxNzBNLAorLSAgICAgICAg ICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgUHJpbWFyeVZlcnNp b257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlNNUFRFMTcwTSwKKysgICAgICAgICAgICAg ICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19CVDcwOSwKKy0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6 OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ3MDksIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisr ICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkJUNzA5LCBr RGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9N QVRJQ0lUWV9OQU1FU19CVDIwMjAsCistICAgICAgUHJpbWFyeVZlcnNpb24oZ2Z4OjpDb2xvclNw YWNlOjpQcmltYXJ5SUQ6OkJUMjAyMCwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQ cmltYXJ5VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQyMDIwLCBrRGVmYXVs dFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lU WV9OQU1FU19TUkdCLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEOjpCVDcwOSwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICBQcmltYXJ5VmVy c2lvbntnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ3MDksIGtEZWZhdWx0U2luY2VWZXJz aW9ufX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX0RJ U1BMQVlQMywKKy0gICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJ RDo6UDMsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgUHJpbWFyeVZlcnNpb257Z2Z4 OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OlAzLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAg ICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19BRE9CRVJHQiwKKy0g ICAgICBQcmltYXJ5VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QURPQkVfUkdC LAorLSAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAg UHJpbWFyeVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkFET0JFX1JHQiwKKysg ICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAge1pDUl9D T0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19XSURFX0dBTVVUX0NPTE9SX1NQSU4s CistICAgICAgUHJpbWFyeVZlcnNpb24oCisrICAgICAgUHJpbWFyeVZlcnNpb257CisgICAgICAg ICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpXSURFX0dBTVVUX0NPTE9SX1NQSU4sCist ICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19XSURFX0dB TVVUX0NPTE9SX1NQSU5fU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBaQ1JfQ09MT1JfTUFO QUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfV0lERV9HQU1VVF9DT0xPUl9TUElOX1NJTkNFX1ZF UlNJT059fSwKKyAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNf QlQ0NzBNLAorLSAgICAgIFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFByaW1hcnlWZXJzaW9uewor ICAgICAgICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6QlQ0NzBNLAorLSAgICAgICAg ICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfQlQ0NzBNX1NJTkNFX1ZF UlNJT04pfSwKKysgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05B TUVTX0JUNDcwTV9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFf Q0hST01BVElDSVRZX05BTUVTX1NNUFRFMjQwTSwKKy0gICAgICBQcmltYXJ5VmVyc2lvbigKKysg ICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5 SUQ6OlNNUFRFMjQwTSwKKy0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElD SVRZX05BTUVTX1NNUFRFMjQwTV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgIFpDUl9DT0xP Ul9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURTI0ME1fU0lOQ0VfVkVSU0lPTn19 LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19YWVpfRDUw LAorLSAgICAgIFByaW1hcnlWZXJzaW9uKAorKyAgICAgIFByaW1hcnlWZXJzaW9ueworICAgICAg ICAgICBnZng6OkNvbG9yU3BhY2U6OlByaW1hcnlJRDo6WFlaX0Q1MCwKKy0gICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfQ0hST01BVElDSVRZX05BTUVTX1hZWl9ENTBfU0lOQ0VfVkVSU0lP Til9LAorKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNf WFlaX0Q1MF9TSU5DRV9WRVJTSU9OfX0sCisgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hS T01BVElDSVRZX05BTUVTX1NNUFRFU1Q0MjhfMSwKKy0gICAgICBQcmltYXJ5VmVyc2lvbigKKysg ICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpQcmltYXJ5 SUQ6OlNNUFRFU1Q0MjhfMSwKKy0gICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfQ0hST01B VElDSVRZX05BTUVTX1NNUFRFU1Q0MjhfMV9TSU5DRV9WRVJTSU9OKX0sCisrICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19TTVBURVNUNDI4XzFfU0lOQ0Vf VkVSU0lPTn19LAorICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1F U19TTVBURVNUNDMxXzIsCistICAgICAgUHJpbWFyeVZlcnNpb24oCisrICAgICAgUHJpbWFyeVZl cnNpb257CisgICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJpbWFyeUlEOjpTTVBURVNUNDMx XzIsCistICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19T TVBURVNUNDMxXzJfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfU01QVEVTVDQzMV8yX1NJTkNFX1ZFUlNJT059fSwKKyAg ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfRklMTSwKKy0gICAg ICBQcmltYXJ5VmVyc2lvbigKKysgICAgICBQcmltYXJ5VmVyc2lvbnsKKyAgICAgICAgICAgZ2Z4 OjpDb2xvclNwYWNlOjpQcmltYXJ5SUQ6OkZJTE0sCistICAgICAgICAgIFpDUl9DT0xPUl9NQU5B R0VSX1YxX0NIUk9NQVRJQ0lUWV9OQU1FU19GSUxNX1NJTkNFX1ZFUlNJT04pfX0pOworKyAgICAg ICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9DSFJPTUFUSUNJVFlfTkFNRVNfRklMTV9TSU5DRV9W RVJTSU9OfX19KTsKKyAKKyAvLyBBIG1hcCBmcm9tIHRoZSB6Y3JfY29sb3JfbWFuYWdlcl92MSBl b3RmX25hbWVzIGVudW0gdmFsdWVzCisgLy8gcmVwcmVzZW50aW5nIHdlbGwta25vd24gRU9URnMs IHRvIHRoZWlyIGVxdWl2YWxlbnQgVHJhbnNmZXJJRHMuCitAQCAtMTA3LDY4ICsxMDcsNjggQEAK KyAgICAgemNyX2NvbG9yX21hbmFnZXJfdjFfZW90Zl9uYW1lcywKKyAgICAgVHJhbnNmZXJWZXJz aW9uPih7CisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xJTkVBUiwKKy0g ICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkxJTkVBUiwK Ky0gICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgVHJh bnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6TElORUFSLAorKyAgICAg ICAgICAgICAgICAgICAgIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgIHtaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX1NSR0IsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpD b2xvclNwYWNlOjpUcmFuc2ZlcklEOjpTUkdCLCBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAg ICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U1JHQiwga0Rl ZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfU1JHQl9IRFIsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFu c2ZlcklEOjpTUkdCX0hEUiwKKy0gICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9FT1RGX05BTUVTX1NSR0JfSERSX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVy VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNSR0JfSERSLAorKyAgICAgICAg ICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQl9IRFJfU0lO Q0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDcw OSwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJU NzA5LAorLSAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFN RVNfQlQ3MDlfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29s b3JTcGFjZTo6VHJhbnNmZXJJRDo6QlQ3MDksCisrICAgICAgICAgICAgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDcwOV9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHta Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjA4NywKKy0gICAgIFRyYW5zZmVyVmVy c2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjQsCistICAgICAgICAgICAg ICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntn Zng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjQsCisrICAgICAgICAgICAgICAgICAg ICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VP VEZfTkFNRVNfQURPQkVSR0IsCisgICAgICAvLyBUaGlzIGlzIGV2ZXIgc28gc2xpZ2h0bHkgaW5h Y2N1cmF0ZS4gVGhlIG51bWJlciBvdWdodCB0byBiZQorICAgICAgLy8gMi4xOTkyMTg3NWYsIG5v dCAyLjIKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6 OkdBTU1BMjIsCistICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwK KysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1B MjIsCisrICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAg e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfUFEsCistICAgICBUcmFuc2ZlclZlcnNp b24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpQUSwga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlBR LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19ITEcsCistICAgICBUcmFuc2ZlclZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpUcmFu c2ZlcklEOjpITEcsCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFf RU9URl9OQU1FU19ITEdfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dm eDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6SExHLAorKyAgICAgICAgICAgICAgICAgICAgIFpD Ul9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExHX1NJTkNFX1ZFUlNJT059fSwKKyAgICAg e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUxNzBNLAorLSAgICAgVHJhbnNm ZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6U01QVEUxNzBNLAorLSAgICAg ICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEUxNzBN X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6 OlRyYW5zZmVySUQ6OlNNUFRFMTcwTSwKKysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMTcwTV9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHta Q1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMjQwTSwKKy0gICAgIFRyYW5zZmVy VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OlNNUFRFMjQwTSwKKy0gICAgICAg ICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NNUFRFMjQwTV9T SU5DRV9WRVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpU cmFuc2ZlcklEOjpTTVBURTI0ME0sCisrICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01B TkFHRVJfVjFfRU9URl9OQU1FU19TTVBURTI0ME1fU0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19TTVBURVNUNDI4XzEsCistICAgICBUcmFuc2Zl clZlcnNpb24oCisrICAgICBUcmFuc2ZlclZlcnNpb257CisgICAgICAgICAgZ2Z4OjpDb2xvclNw YWNlOjpUcmFuc2ZlcklEOjpTTVBURVNUNDI4XzEsCistICAgICAgICAgWkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19TTVBURVNUNDI4XzFfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAg IFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU01QVEVTVDQyOF8xX1NJTkNFX1ZFUlNJ T059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HLAorLSAgICAg VHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6TE9HLAorLSAgICAg ICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTE9HX1NJTkNF X1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5z ZmVySUQ6OkxPRywKKysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9F T1RGX05BTUVTX0xPR19TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9FT1RGX05BTUVTX0xPR19TUVJULAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6VHJhbnNmZXJJRDo6TE9HX1NRUlQsCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NP TE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19MT0dfU1FSVF9TSU5DRV9WRVJTSU9OKX0sCisrICAg ICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpMT0dfU1FSVCwK KysgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0xP R19TUVJUX1NJTkNFX1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfSUVDNjE5NjZfMl80LAorLSAgICAgVHJhbnNmZXJWZXJzaW9uKAorKyAgICAgVHJhbnNm ZXJWZXJzaW9ueworICAgICAgICAgIGdmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJRDo6SUVDNjE5 NjZfMl80LAorLSAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSUVDNjE5 NjZfMl80X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9F T1RGX05BTUVTX0lFQzYxOTY2XzJfNF9TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMTM2MV9FQ0csCistICAgICBUcmFuc2ZlclZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDEzNjFfRUNHLAorLSAgICAgICAgICAgICAg ICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfQlQxMzYxX0VDR19TSU5DRV9W RVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2Zl cklEOjpCVDEzNjFfRUNHLAorKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VS X1YxX0VPVEZfTkFNRVNfQlQxMzYxX0VDR19TSU5DRV9WRVJTSU9OfX0sCisgICAgIHtaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMCwKKy0gICAgIFRyYW5zZmVyVmVyc2lv bihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkJUMjAyMF8xMCwKKy0gICAgICAgICAgICAg ICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUMjAyMF8xMF9TSU5DRV9W RVJTSU9OKX0sCisrICAgICBUcmFuc2ZlclZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2Zl cklEOjpCVDIwMjBfMTAsCisrICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJf VjFfRU9URl9OQU1FU19CVDIwMjBfMTBfU0lOQ0VfVkVSU0lPTn19LAorICAgICB7WkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTIsCistICAgICBUcmFuc2ZlclZlcnNpb24o Z2Z4OjpDb2xvclNwYWNlOjpUcmFuc2ZlcklEOjpCVDIwMjBfMTIsCistICAgICAgICAgICAgICAg ICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19CVDIwMjBfMTJfU0lOQ0VfVkVS U0lPTil9LAorKyAgICAgVHJhbnNmZXJWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6VHJhbnNmZXJJ RDo6QlQyMDIwXzEyLAorKyAgICAgICAgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1Yx X0VPVEZfTkFNRVNfQlQyMDIwXzEyX1NJTkNFX1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfU0NSR0JfTElORUFSXzgwX05JVFMsCistICAgICBUcmFuc2Zl clZlcnNpb24oCisrICAgICBUcmFuc2ZlclZlcnNpb257CisgICAgICAgICAgZ2Z4OjpDb2xvclNw YWNlOjpUcmFuc2ZlcklEOjpTQ1JHQl9MSU5FQVJfODBfTklUUywKKy0gICAgICAgICBaQ1JfQ09M T1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NDUkdCX0xJTkVBUl84MF9OSVRTX1NJTkNFX1ZFUlNJ T04pfSwKKysgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX1NDUkdCX0xJ TkVBUl84MF9OSVRTX1NJTkNFX1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1Yx X0VPVEZfTkFNRVNfR0FNTUExOCwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3Bh Y2U6OlRyYW5zZmVySUQ6OkdBTU1BMTgsCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9S X01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTE4X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRy YW5zZmVyVmVyc2lvbntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMTgsCisrICAg ICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTE4 X1NJTkNFX1ZFUlNJT059fSwKKyAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNf R0FNTUEyOCwKKy0gICAgIFRyYW5zZmVyVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVy SUQ6OkdBTU1BMjgsCistICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFf RU9URl9OQU1FU19HQU1NQTI4X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgIFRyYW5zZmVyVmVyc2lv bntnZng6OkNvbG9yU3BhY2U6OlRyYW5zZmVySUQ6OkdBTU1BMjgsCisrICAgICAgICAgICAgICAg ICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19HQU1NQTI4X1NJTkNFX1ZFUlNJ T059fSwKKyB9KTsKKyAKKyAvLyBBIG1hcCBmcm9tIHRoZSBTRFIgemNyX2NvbG9yX21hbmFnZXJf djEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcworQEAgLTE3NywxOCArMTc3LDE4IEBACisgY29uc3Rl eHByIGF1dG8ga1RyYW5zZmVyTWFwID0KKyAgICAgYmFzZTo6TWFrZUZpeGVkRmxhdE1hcDx6Y3Jf Y29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVzLCBUcmFuc2ZlckZuVmVyc2lvbj4oeworICAgICAg ICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfTElORUFSLAorLSAgICAgICAgIFRy YW5zZmVyRm5WZXJzaW9uKFNrTmFtZWRUcmFuc2ZlckZuOjprTGluZWFyLCBrRGVmYXVsdFNpbmNl VmVyc2lvbil9LAorKyAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZu OjprTGluZWFyLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQiwKKy0gICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihT a05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0IsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAg ICAgICAgVHJhbnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtTUkdCLCBrRGVm YXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZf TkFNRVNfQlQ3MDksCistICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oCisrICAgICAgICAgVHJh bnNmZXJGblZlcnNpb257CisgICAgICAgICAgICAgIFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprUmVj NzA5LAorLSAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0JUNzA5 X1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19CVDcwOV9TSU5DRV9WRVJTSU9OfX0sCisgICAgICAgICB7WkNSX0NPTE9SX01BTkFH RVJfVjFfRU9URl9OQU1FU19CVDIwODcsCistICAgICAgICAgVHJhbnNmZXJGblZlcnNpb24oZ2Ft bWEyNCwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICBUcmFuc2ZlckZuVmVyc2lv bntnYW1tYTI0LCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfQURPQkVSR0IsCistICAgICAgICAgVHJhbnNmZXJGblZlcnNp b24oU2tOYW1lZFRyYW5zZmVyRm5FeHQ6OmtBOThSR0IsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICBUcmFuc2ZlckZuVmVyc2lv bntTa05hbWVkVHJhbnNmZXJGbkV4dDo6a0E5OFJHQiwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICB9KTsKKyAKKyAvLyBBIG1hcCBmcm9t IHRoZSBIRFIgemNyX2NvbG9yX21hbmFnZXJfdjEgZW90Zl9uYW1lcyBlbnVtIHZhbHVlcworQEAg LTE5Nyw3MCArMTk3LDcwIEBACisgY29uc3RleHByIGF1dG8ga0hEUlRyYW5zZmVyTWFwID0KKyAg ICAgYmFzZTo6TWFrZUZpeGVkRmxhdE1hcDx6Y3JfY29sb3JfbWFuYWdlcl92MV9lb3RmX25hbWVz LCBUcmFuc2ZlckZuVmVyc2lvbj4oCisgICAgICAgICB7e1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VP VEZfTkFNRVNfTElORUFSLAorLSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJh bnNmZXJGbjo6a0xpbmVhciwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAgVHJh bnNmZXJGblZlcnNpb257U2tOYW1lZFRyYW5zZmVyRm46OmtMaW5lYXIsIGtEZWZhdWx0U2luY2VW ZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JH Ql9IRFIsCistICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKAorKyAgICAgICAgICBUcmFuc2Zl ckZuVmVyc2lvbnsKKyAgICAgICAgICAgICAgIFNrTmFtZWRUcmFuc2ZlckZuRXh0OjprU1JHQiwK Ky0gICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfU1JHQl9IRFJf U0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9U Rl9OQU1FU19TUkdCX0hEUl9TSU5DRV9WRVJTSU9OfX0sCisgICAgICAgICAge1pDUl9DT0xPUl9N QU5BR0VSX1YxX0VPVEZfTkFNRVNfUFEsCistICAgICAgICAgIFRyYW5zZmVyRm5WZXJzaW9uKFNr TmFtZWRUcmFuc2ZlckZuOjprUFEsIGtEZWZhdWx0U2luY2VWZXJzaW9uKX0sCisrICAgICAgICAg IFRyYW5zZmVyRm5WZXJzaW9ue1NrTmFtZWRUcmFuc2ZlckZuOjprUFEsIGtEZWZhdWx0U2luY2VW ZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfSExH LAorLSAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbihTa05hbWVkVHJhbnNmZXJGbjo6a0hMRywK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9O QU1FU19ITEdfU0lOQ0VfVkVSU0lPTil9LAorKyAgICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbntT a05hbWVkVHJhbnNmZXJGbjo6a0hMRywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19ITEdfU0lOQ0VfVkVSU0lPTn19LAorICAgICAg ICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9WMV9FT1RGX05BTUVTX0VYVEVOREVEU1JHQjEwLAorLSAg ICAgICAgICBUcmFuc2ZlckZuVmVyc2lvbigKKysgICAgICAgICAgVHJhbnNmZXJGblZlcnNpb257 CisgICAgICAgICAgICAgICBTa05hbWVkVHJhbnNmZXJGbkV4dDo6a1NSR0JFeHRlbmRlZDEwMjNP dmVyNTEwLAorLSAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfRU9URl9OQU1FU19F WFRFTkRFRFNSR0IxMF9TSU5DRV9WRVJTSU9OKX19KTsKKysgICAgICAgICAgICAgIFpDUl9DT0xP Ul9NQU5BR0VSX1YxX0VPVEZfTkFNRVNfRVhURU5ERURTUkdCMTBfU0lOQ0VfVkVSU0lPTn19fSk7 CisgCisgLy8gQSBtYXAgZnJvbSB6Y3JfY29sb3JfbWFuYWdlcl92MSBtYXRyaXhfbmFtZXMgZW51 bSB2YWx1ZXMgdG8KKyAvLyBnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEcy4KKyBjb25zdGV4cHIg YXV0byBrTWF0cml4TWFwID0KKyAgICAgYmFzZTo6TWFrZUZpeGVkRmxhdE1hcDx6Y3JfY29sb3Jf bWFuYWdlcl92MV9tYXRyaXhfbmFtZXMsIE1hdHJpeFZlcnNpb24+KAorICAgICAgICAge3taQ1Jf Q09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfUkdCLAorLSAgICAgICAgICBNYXRyaXhWZXJz aW9uKGdmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OlJHQiwga0RlZmF1bHRTaW5jZVZlcnNpb24p fSwKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpS R0IsIGtEZWZhdWx0U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VS X1YxX01BVFJJWF9OQU1FU19CVDcwOSwKKy0gICAgICAgICAgTWF0cml4VmVyc2lvbihnZng6OkNv bG9yU3BhY2U6Ok1hdHJpeElEOjpCVDcwOSwKKy0gICAgICAgICAgICAgICAgICAgICAgICBrRGVm YXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgICBNYXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JT cGFjZTo6TWF0cml4SUQ6OkJUNzA5LAorKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9O QU1FU19CVDQ3MEJHLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKAorKyAgICAgICAgICBNYXRy aXhWZXJzaW9ueworICAgICAgICAgICAgICAgZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQ0 NzBCRywKKy0gICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1FU19C VDQ3MEJHX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAgICAgIFpDUl9DT0xPUl9NQU5BR0VS X1YxX01BVFJJWF9OQU1FU19CVDQ3MEJHX1NJTkNFX1ZFUlNJT059fSwKKyAgICAgICAgICB7WkNS X0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JUMjAyMF9OQ0wsCistICAgICAgICAgIE1h dHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6QlQyMDIwX05DTCwKKy0gICAg ICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgICBN YXRyaXhWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6TWF0cml4SUQ6OkJUMjAyMF9OQ0wsCisrICAg ICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7 WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0JUMjAyMF9DTCwKKy0gICAgICAgICAg TWF0cml4VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfQ0wsCistICAg ICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwKKysgICAgICAgICAg TWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpCVDIwMjBfQ0wsCisrICAg ICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7 WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0ZDQywKKy0gICAgICAgICAgTWF0cml4 VmVyc2lvbihnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpGQ0MsIGtEZWZhdWx0U2luY2VWZXJz aW9uKX0sCisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpNYXRyaXhJ RDo6RkNDLCBrRGVmYXVsdFNpbmNlVmVyc2lvbn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFO QUdFUl9WMV9NQVRSSVhfTkFNRVNfWUNPQ0csCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4 OjpDb2xvclNwYWNlOjpNYXRyaXhJRDo6WUNPQ0csCistICAgICAgICAgICAgICAgICAgICAgICAg WkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lDT0NHX1NJTkNFX1ZFUlNJT04pfSwK KysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpZQ09D RywKKysgICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhf TkFNRVNfWUNPQ0dfU0lOQ0VfVkVSU0lPTn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdF Ul9WMV9NQVRSSVhfTkFNRVNfWURaRFgsCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpD b2xvclNwYWNlOjpNYXRyaXhJRDo6WURaRFgsCistICAgICAgICAgICAgICAgICAgICAgICAgWkNS X0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX1lEWkRYX1NJTkNFX1ZFUlNJT04pfSwKKysg ICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpZRFpEWCwK KysgICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1JfTUFOQUdFUl9WMV9NQVRSSVhfTkFN RVNfWURaRFhfU0lOQ0VfVkVSU0lPTn19LAorICAgICAgICAgIHtaQ1JfQ09MT1JfTUFOQUdFUl9W MV9NQVRSSVhfTkFNRVNfR0JSLAorLSAgICAgICAgICBNYXRyaXhWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6TWF0cml4SUQ6OkdCUiwKKy0gICAgICAgICAgICAgICAgICAgICAgICBaQ1JfQ09MT1Jf TUFOQUdFUl9WMV9NQVRSSVhfTkFNRVNfR0JSX1NJTkNFX1ZFUlNJT04pfSwKKysgICAgICAgICAg TWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6Ok1hdHJpeElEOjpHQlIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgWkNSX0NPTE9SX01BTkFHRVJfVjFfTUFUUklYX05BTUVTX0dCUl9TSU5D RV9WRVJTSU9OfX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1F U19TTVBURTE3ME0sCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6U01QVEUxNzBNLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9uKX0sCisrICAgICAgICAgIE1hdHJpeFZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6U01QVEUxNzBNLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9ufX0sCisgICAgICAgICAge1pDUl9DT0xPUl9NQU5BR0VSX1YxX01BVFJJWF9OQU1F U19TTVBURTI0ME0sCistICAgICAgICAgIE1hdHJpeFZlcnNpb24oZ2Z4OjpDb2xvclNwYWNlOjpN YXRyaXhJRDo6U01QVEUyNDBNLAorLSAgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9uKX19KTsKKysgICAgICAgICAgTWF0cml4VmVyc2lvbntnZng6OkNvbG9yU3BhY2U6 Ok1hdHJpeElEOjpTTVBURTI0ME0sCisrICAgICAgICAgICAgICAgICAgICAgICAga0RlZmF1bHRT aW5jZVZlcnNpb259fX0pOworIAorIC8vIEEgbWFwIGZyb20gemNyX2NvbG9yX21hbmFnZXJfdjEg cmFuZ2VfbmFtZXMgZW51bSB2YWx1ZXMgdG8KKyAvLyBnZng6OkNvbG9yU3BhY2U6OlJhbmdlSURz LgorIGNvbnN0ZXhwciBhdXRvIGtSYW5nZU1hcCA9CisgICAgIGJhc2U6Ok1ha2VGaXhlZEZsYXRN YXA8emNyX2NvbG9yX21hbmFnZXJfdjFfcmFuZ2VfbmFtZXMsIFJhbmdlVmVyc2lvbj4oCisgICAg ICAgICB7e1pDUl9DT0xPUl9NQU5BR0VSX1YxX1JBTkdFX05BTUVTX0xJTUlURUQsCistICAgICAg ICAgIFJhbmdlVmVyc2lvbihnZng6OkNvbG9yU3BhY2U6OlJhbmdlSUQ6OkxJTUlURUQsCistICAg ICAgICAgICAgICAgICAgICAgICBrRGVmYXVsdFNpbmNlVmVyc2lvbil9LAorKyAgICAgICAgICBS YW5nZVZlcnNpb257Z2Z4OjpDb2xvclNwYWNlOjpSYW5nZUlEOjpMSU1JVEVELAorKyAgICAgICAg ICAgICAgICAgICAgICAga0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7WkNSX0NP TE9SX01BTkFHRVJfVjFfUkFOR0VfTkFNRVNfRlVMTCwKKy0gICAgICAgICAgUmFuZ2VWZXJzaW9u KGdmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6RlVMTCwga0RlZmF1bHRTaW5jZVZlcnNpb24pfSwK KysgICAgICAgICAgUmFuZ2VWZXJzaW9ue2dmeDo6Q29sb3JTcGFjZTo6UmFuZ2VJRDo6RlVMTCwg a0RlZmF1bHRTaW5jZVZlcnNpb259fSwKKyAgICAgICAgICB7WkNSX0NPTE9SX01BTkFHRVJfVjFf UkFOR0VfTkFNRVNfREVSSVZFRCwKKy0gICAgICAgICAgUmFuZ2VWZXJzaW9uKGdmeDo6Q29sb3JT cGFjZTo6UmFuZ2VJRDo6REVSSVZFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0 U2luY2VWZXJzaW9uKX19KTsKKysgICAgICAgICAgUmFuZ2VWZXJzaW9ue2dmeDo6Q29sb3JTcGFj ZTo6UmFuZ2VJRDo6REVSSVZFRCwKKysgICAgICAgICAgICAgICAgICAgICAgIGtEZWZhdWx0U2lu Y2VWZXJzaW9ufX19KTsKKyAKKyB6Y3JfY29sb3JfbWFuYWdlcl92MV9jaHJvbWF0aWNpdHlfbmFt ZXMgVG9Db2xvck1hbmFnZXJDaHJvbWF0aWNpdHkoCisgICAgIGdmeDo6Q29sb3JTcGFjZTo6UHJp bWFyeUlEIHByaW1hcnlJRCwKK0BAIC0yODMsNCArMjgzLDQgQEAKKyAKKyB9ICAvLyBuYW1lc3Bh Y2UgdWk6OndheWxhbmQKKyAKKy0jZW5kaWYgIC8vIFVJX0JBU0VfV0FZTEFORF9DT0xPUl9NQU5B R0VSX1VUSUxfSF8KK1wgS2VpbiBaZWlsZW51bWJydWNoIGFtIERhdGVpZW5kZS4KKysjZW5kaWYg IC8vIFVJX0JBU0VfV0FZTEFORF9DT0xPUl9NQU5BR0VSX1VUSUxfSF8KK2RpZmYgLXVwIGNocm9t aXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1i ZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2MubWUgY2hy b21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9l bWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wcmV2aW91c2x5X2dyYW50ZWRfdmlldy5jYworLS0t IGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lv bnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfcHJldmlvdXNseV9ncmFudGVkX3ZpZXcuY2Mu bWUJMjAyMy0xMS0wMSAyMDo0NjoxNS45OTc4NjEyNzggKzAxMDAKKysrKyBjaHJvbWl1bS0xMTku MC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Bl cm1pc3Npb25fcHJvbXB0X3ByZXZpb3VzbHlfZ3JhbnRlZF92aWV3LmNjCTIwMjMtMTEtMDEgMjA6 NDk6MzMuNjAzMzcxNjgwICswMTAwCitAQCAtNTgsMTMgKzU4LDEzIEBAIEVtYmVkZGVkUGVybWlz c2lvblByb21wdFByZXZpb3VzbHlHcmFudGUKKyBzdGQ6OnZlY3RvcjxFbWJlZGRlZFBlcm1pc3Np b25Qcm9tcHRQcmV2aW91c2x5R3JhbnRlZFZpZXc6OkJ1dHRvbkNvbmZpZ3VyYXRpb24+CisgRW1i ZWRkZWRQZXJtaXNzaW9uUHJvbXB0UHJldmlvdXNseUdyYW50ZWRWaWV3OjpHZXRCdXR0b25zQ29u ZmlndXJhdGlvbigpIHsKKyAgIHN0ZDo6dmVjdG9yPEJ1dHRvbkNvbmZpZ3VyYXRpb24+IGJ1dHRv bnM7CistICBidXR0b25zLmVtcGxhY2VfYmFjaygKKysgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkg PSB7CisgICAgICAgbDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURERURfUFJPTVBU X0NPTlRJTlVFX0FMTE9XSU5HKSwKKy0gICAgICBCdXR0b25UeXBlOjprQ29udGludWVBbGxvd2lu ZywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOworKyAgICAgIEJ1dHRvblR5cGU6OmtDb250aW51 ZUFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25hbH07CisgCistICBidXR0b25zLmVtcGxh Y2VfYmFjaygKKysgIGJ1dHRvbnMuZW1wbGFjZV9iYWNrKCkgPSB7CisgICAgICAgbDEwbl91dGls OjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURERURfUFJPTVBUX1NUT1BfQUxMT1dJTkcpLAorLSAg ICAgIEJ1dHRvblR5cGU6OmtTdG9wQWxsb3dpbmcsIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsK KysgICAgICBCdXR0b25UeXBlOjprU3RvcEFsbG93aW5nLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bH07CisgICByZXR1cm4gYnV0dG9uczsKKyB9CisgCitkaWZmIC11cCBjaHJvbWl1bS0xMTkuMC42 MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1p c3Npb25fcHJvbXB0X2Fza192aWV3LmNjLnRoYW4gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJv bWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21w dF9hc2tfdmlldy5jYworLS0tIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIv dWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYXNrX3ZpZXcu Y2MudGhhbgkyMDIzLTExLTAxIDIwOjUyOjI5LjAwNTQ2NDQ5NCArMDEwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRk ZWRfcGVybWlzc2lvbl9wcm9tcHRfYXNrX3ZpZXcuY2MJMjAyMy0xMS0wMSAyMToxNDoxMi43NDE4 NTk2MDQgKzAxMDAKK0BAIC01NiwxMiArNTYsMTIgQEAgc3RkOjp2ZWN0b3I8RW1iZWRkZWRQZXJt aXNzaW9uUHJvbXB0QXNrVgorIEVtYmVkZGVkUGVybWlzc2lvblByb21wdEFza1ZpZXc6OkdldEJ1 dHRvbnNDb25maWd1cmF0aW9uKCkgeworICAgc3RkOjp2ZWN0b3I8QnV0dG9uQ29uZmlndXJhdGlv bj4gYnV0dG9uczsKKyAgIGlmIChiYXNlOjpGZWF0dXJlTGlzdDo6SXNFbmFibGVkKHBlcm1pc3Np b25zOjpmZWF0dXJlczo6a09uZVRpbWVQZXJtaXNzaW9uKSkgeworLSAgICBidXR0b25zLmVtcGxh Y2VfYmFjaygKKysgICAgYnV0dG9ucy5lbXBsYWNlX2JhY2soKSA9IHsKKyAgICAgICAgIGwxMG5f dXRpbDo6R2V0U3RyaW5nVVRGMTYoSURTX1BFUk1JU1NJT05fQUxMT1dfVEhJU19USU1FKSwKKy0g ICAgICAgIEJ1dHRvblR5cGU6OmtBbGxvd1RoaXNUaW1lLCB1aTo6QnV0dG9uU3R5bGU6OmtUb25h bCk7CisrICAgICAgICBCdXR0b25UeXBlOjprQWxsb3dUaGlzVGltZSwgdWk6OkJ1dHRvblN0eWxl OjprVG9uYWx9OworICAgfQorLSAgYnV0dG9ucy5lbXBsYWNlX2JhY2sobDEwbl91dGlsOjpHZXRT dHJpbmdVVEYxNihJRFNfUEVSTUlTU0lPTl9BTExPVyksCistICAgICAgICAgICAgICAgICAgICAg ICBCdXR0b25UeXBlOjprQWxsb3csIHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsKTsKKysgIGJ1dHRv bnMuZW1wbGFjZV9iYWNrKCkgPSB7bDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfUEVSTUlT U0lPTl9BTExPVyksCisrICAgICAgICAgICAgICAgICAgICAgICBCdXR0b25UeXBlOjprQWxsb3cs IHVpOjpCdXR0b25TdHlsZTo6a1RvbmFsfTsKKyAgIHJldHVybiBidXR0b25zOworIH0KKyAKK2Rp ZmYgLXVwIGNocm9taXVtLTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVy bWlzc2lvbnMvZW1iZWRkZWRfcGVybWlzc2lvbl9wcm9tcHRfYmFzZV92aWV3LmgubWUgY2hyb21p dW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJl ZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9iYXNlX3ZpZXcuaAorLS0tIGNocm9taXVtLTExOS4wLjYw NDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRkZWRfcGVybWlz c2lvbl9wcm9tcHRfYmFzZV92aWV3LmgubWUJMjAyMy0xMS0wMSAyMToyMjowMi4yMjI2NDY5MDMg KzAxMDAKKysrKyBjaHJvbWl1bS0xMTkuMC42MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdz L3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1pc3Npb25fcHJvbXB0X2Jhc2Vfdmlldy5oCTIwMjMt MTEtMDEgMjE6MTk6NTguNzY5NjE5MzkzICswMTAwCitAQCAtNzIsNiArNzIsNyBAQCBjbGFzcyBF bWJlZGRlZFBlcm1pc3Npb25Qcm9tcHRCYXNlVmlldyA6CisgICBzdHJ1Y3QgUmVxdWVzdExpbmVD b25maWd1cmF0aW9uIHsKKyAgICAgY29uc3QgcmF3X3B0cjxjb25zdCBnZng6OlZlY3Rvckljb24+ IGljb247CisgICAgIHN0ZDo6dTE2c3RyaW5nIG1lc3NhZ2U7CisrICAgIFJlcXVlc3RMaW5lQ29u ZmlndXJhdGlvbihhdXRvIGksIGF1dG8gbSkgOiBpY29uKGkpLCBtZXNzYWdlKG0pIHsgfQorICAg fTsKKyAKKyAgIHN0cnVjdCBCdXR0b25Db25maWd1cmF0aW9uIHsKK2RpZmYgLXVwIGNocm9taXVt LTExOS4wLjYwNDUuNTkvY2hyb21lL2Jyb3dzZXIvdWkvdmlld3MvcGVybWlzc2lvbnMvZW1iZWRk ZWRfcGVybWlzc2lvbl9wcm9tcHRfcG9saWN5X3ZpZXcuY2MudGhhbiBjaHJvbWl1bS0xMTkuMC42 MDQ1LjU5L2Nocm9tZS9icm93c2VyL3VpL3ZpZXdzL3Blcm1pc3Npb25zL2VtYmVkZGVkX3Blcm1p c3Npb25fcHJvbXB0X3BvbGljeV92aWV3LmNjCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS41OS9j aHJvbWUvYnJvd3Nlci91aS92aWV3cy9wZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3By b21wdF9wb2xpY3lfdmlldy5jYy50aGFuCTIwMjMtMTEtMDEgMjE6MjU6MzEuMTE4NjI2NDczICsw MTAwCisrKysgY2hyb21pdW0tMTE5LjAuNjA0NS41OS9jaHJvbWUvYnJvd3Nlci91aS92aWV3cy9w ZXJtaXNzaW9ucy9lbWJlZGRlZF9wZXJtaXNzaW9uX3Byb21wdF9wb2xpY3lfdmlldy5jYwkyMDIz LTExLTAxIDIxOjMwOjA2LjM4MzM0MDI3NCArMDEwMAorQEAgLTQ4LDggKzQ4LDggQEAgRW1iZWRk ZWRQZXJtaXNzaW9uUHJvbXB0UG9saWN5Vmlldzo6R2V0UgorIHN0ZDo6dmVjdG9yPEVtYmVkZGVk UGVybWlzc2lvblByb21wdFBvbGljeVZpZXc6OkJ1dHRvbkNvbmZpZ3VyYXRpb24+CisgRW1iZWRk ZWRQZXJtaXNzaW9uUHJvbXB0UG9saWN5Vmlldzo6R2V0QnV0dG9uc0NvbmZpZ3VyYXRpb24oKSB7 CisgICBzdGQ6OnZlY3RvcjxCdXR0b25Db25maWd1cmF0aW9uPiBidXR0b25zOworLSAgYnV0dG9u cy5lbXBsYWNlX2JhY2sobDEwbl91dGlsOjpHZXRTdHJpbmdVVEYxNihJRFNfRU1CRURERURfUFJP TVBUX09LX0xBQkVMKSwKKy0gICAgICAgICAgICAgICAgICAgICAgIEJ1dHRvblR5cGU6OmtQb2xp Y3lPSywgdWk6OkJ1dHRvblN0eWxlOjprVG9uYWwpOworKyAgYnV0dG9ucy5lbXBsYWNlX2JhY2so KSA9IHtsMTBuX3V0aWw6OkdldFN0cmluZ1VURjE2KElEU19FTUJFRERFRF9QUk9NUFRfT0tfTEFC RUwpLAorKyAgICAgICAgICAgICAgICAgICAgICAgQnV0dG9uVHlwZTo6a1BvbGljeU9LLCB1aTo6 QnV0dG9uU3R5bGU6OmtUb25hbH07CisgICByZXR1cm4gYnV0dG9uczsKKyB9CisgCgpkaWZmIC0t Z2l0IGEvY2hyb21pdW0tMTE5LW51bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2gg Yi9jaHJvbWl1bS0xMTktbnVsbHB0cl90LXdpdGhvdXQtbmFtZXNwYWNlLXN0ZC5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Y2I5NjlmCi0tLSAvZGV2L251bGwKKysr IGIvY2hyb21pdW0tMTE5LW51bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2gKQEAg LTAsMCArMSwyMSBAQAorZGlmZiAtdXAgY2hyb21pdW0tMTE5LjAuNjA0NS41OS90aGlyZF9wYXJ0 eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0b3IuaC5tZSBj aHJvbWl1bS0xMTkuMC42MDQ1LjU5L3RoaXJkX3BhcnR5L2JsaW5rL3JlbmRlcmVyL2NvcmUvcGFp bnQvZnJhZ21lbnRfZGF0YV9pdGVyYXRvci5oCistLS0gY2hyb21pdW0tMTE5LjAuNjA0NS41OS90 aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3BhaW50L2ZyYWdtZW50X2RhdGFfaXRlcmF0 b3IuaC5tZQkyMDIzLTEwLTI3IDIwOjA3OjE2LjQyMTIzMDgxNSArMDIwMAorKysrIGNocm9taXVt LTExOS4wLjYwNDUuNTkvdGhpcmRfcGFydHkvYmxpbmsvcmVuZGVyZXIvY29yZS9wYWludC9mcmFn bWVudF9kYXRhX2l0ZXJhdG9yLmgJMjAyMy0xMC0yNyAyMDowNzozNi44ODM2MDAwODUgKzAyMDAK K0BAIC01Miw3ICs1Miw3IEBAIGNsYXNzIEZyYWdtZW50RGF0YUl0ZXJhdG9yCisgIHB1YmxpYzoK KyAgIGV4cGxpY2l0IEZyYWdtZW50RGF0YUl0ZXJhdG9yKGNvbnN0IExheW91dE9iamVjdCYgb2Jq ZWN0KQorICAgICAgIDogRnJhZ21lbnREYXRhSXRlcmF0b3JCYXNlKCZvYmplY3QuRmlyc3RGcmFn bWVudCgpKSB7fQorLSAgZXhwbGljaXQgRnJhZ21lbnREYXRhSXRlcmF0b3IobnVsbHB0cl90KQor KyAgZXhwbGljaXQgRnJhZ21lbnREYXRhSXRlcmF0b3Ioc3RkOjpudWxscHRyX3QpCisgICAgICAg OiBGcmFnbWVudERhdGFJdGVyYXRvckJhc2UobnVsbHB0cikge30KKyB9OworIAorQEAgLTYzLDcg KzYzLDcgQEAgY2xhc3MgTXV0YWJsZUZyYWdtZW50RGF0YUl0ZXJhdG9yCisgICBleHBsaWNpdCBN dXRhYmxlRnJhZ21lbnREYXRhSXRlcmF0b3IoY29uc3QgTGF5b3V0T2JqZWN0JiBvYmplY3QpCisg ICAgICAgOiBGcmFnbWVudERhdGFJdGVyYXRvckJhc2UoCisgICAgICAgICAgICAgJm9iamVjdC5H ZXRNdXRhYmxlRm9yUGFpbnRpbmcoKS5GaXJzdEZyYWdtZW50KCkpIHt9CistICBleHBsaWNpdCBN dXRhYmxlRnJhZ21lbnREYXRhSXRlcmF0b3IobnVsbHB0cl90KQorKyAgZXhwbGljaXQgTXV0YWJs ZUZyYWdtZW50RGF0YUl0ZXJhdG9yKHN0ZDo6bnVsbHB0cl90KQorICAgICAgIDogRnJhZ21lbnRE YXRhSXRlcmF0b3JCYXNlKG51bGxwdHIpIHt9CisgfTsKKyAKCmRpZmYgLS1naXQgYS9jaHJvbWl1 bS5zcGVjIGIvY2hyb21pdW0uc3BlYwppbmRleCAzOWY2M2YwLi5lOGY2NGZkIDEwMDY0NAotLS0g YS9jaHJvbWl1bS5zcGVjCisrKyBiL2Nocm9taXVtLnNwZWMKQEAgLTI1NCw3ICsyNTQsNyBAQAog JWVuZGlmCiAKIE5hbWU6CWNocm9taXVtJXtjaHJvbWl1bV9jaGFubmVsfQotVmVyc2lvbjogMTE4 LjAuNTk5My4xMTcKK1ZlcnNpb246IDExOS4wLjYwNDUuMTA1CiBSZWxlYXNlOiAxJXs/ZGlzdH0K IFN1bW1hcnk6IEEgV2ViS2l0IChCbGluaykgcG93ZXJlZCB3ZWIgYnJvd3NlciB0aGF0IEdvb2ds ZSBkb2Vzbid0IHdhbnQgeW91IHRvIHVzZQogVXJsOiBodHRwOi8vd3d3LmNocm9taXVtLm9yZy9I b21lCkBAIC0zNDcsMTAgKzM0Nyw4IEBAIFBhdGNoMTA5OiBjaHJvbWl1bS0xMTQtd2lyZWxlc3Mt ZWw3LnBhdGNoCiBQYXRjaDExMDogY2hyb21pdW0tMTE1LWJ1aWxkZmxhZy1lbDcucGF0Y2gKIFBh dGNoMTExOiBjaHJvbWl1bS0xMTYtY29uc3RleHByLnBhdGNoCiBQYXRjaDExMjogY2hyb21pdW0t MTE3LWVsNy1kZWZhdWx0X2NvbnN0cnVjdG9yLnBhdGNoCi1QYXRjaDExMzogY2hyb21pdW0tMTE4 LWRtYV9idWZfZXhwb3J0X3N5bmNfZmlsZS1jb25mbGljdC5wYXRjaAogCiAjIHN5c3RlbSBmZm1w ZWcKLVBhdGNoMTE0OiBjaHJvbWl1bS0xMDctZmZtcGVnLWR1cmF0aW9uLnBhdGNoCiBQYXRjaDEx NTogY2hyb21pdW0tMTA3LXByb3ByaWV0YXJ5LWNvZGVjcy5wYXRjaAogIyBkcm9wIGF2X3N0cmVh bV9nZXRfZmlyc3RfZHRzIGZyb20gaW50ZXJuYWwgZmZtcGVnCiBQYXRjaDExNjogY2hyb21pdW0t MTEyLWZmbXBlZy1maXJzdF9kdHMucGF0Y2gKQEAgLTM2MCw5ICszNTgsMTIgQEAgUGF0Y2gxMTc6 IGNocm9taXVtLTExOC1zaWd0cmFwX3N5c3RlbV9mZm1wZWcucGF0Y2gKICMgcmV2ZXJ0IEFWMSBW QUFQSSB2aWRlbyBlbmNvZGUgZHVlIHRvIG9sZCBsaWJ2YSBvbiBlbDkKIFBhdGNoMTMwOiBjaHJv bWl1bS0xMTQtcmV2ZXJ0LWF2MWVuYy1lbDkucGF0Y2gKIAorIyBmaWxlIGNvbmZsaWN0IHdpdGgg b2xkIGtlcm5lbCBvbiBlbDgvZWw5CitQYXRjaDE0MDogY2hyb21pdW0tMTE4LWRtYV9idWZfZXhw b3J0X3N5bmNfZmlsZS1jb25mbGljdC5wYXRjaAorCiAjIGZpeGVzIGZvciBvbGQgY2xhbmcgdmVy c2lvbiBpbiBmZWRvcmEgPCAzOCBlbmQgZXBlbCAob2xkIGNsYW5nIDw9IDE1KQogIyBjb21waWxl ciBidWlsZCBlcnJvcnMsIG5vIG1hdGNoaW5nIGNvbnN0cnVjdG9yIGZvciBpbml0aWFsaXphdGlv bgotUGF0Y2gzMDA6IGNocm9taXVtLTExOC1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAor UGF0Y2gzMDA6IGNocm9taXVtLTExOS1ub19tYXRjaGluZ19jb25zdHJ1Y3Rvci5wYXRjaAogUGF0 Y2gzMDE6IGNocm9taXVtLTExNS1jb21waWxlci1Ta0NvbG9yNGYucGF0Y2gKIAogIyB3b3JrYXJv dW5kIGZvciBjbGFuZyBidWcsIGh0dHBzOi8vZ2l0aHViLmNvbS9sbHZtL2xsdm0tcHJvamVjdC9p c3N1ZXMvNTc4MjYKQEAgLTM3NCwxMiArMzc1LDE3IEBAIFBhdGNoMzAzOiBjaHJvbWl1bS0xMTct dHlwZW5hbWUucGF0Y2gKICMgZXJyb3I6IGludmFsaWQgb3BlcmFuZHMgdG8gYmluYXJ5IGV4cHJl c3Npb24KIFBhdGNoMzA0OiBjaHJvbWl1bS0xMTctc3RyaW5nLWNvbnZlcnQucGF0Y2gKIAorIyBl cnJvcjogY29uc3RleHByIGNvbnN0cnVjdG9yJ3MgM3JkIHBhcmFtZXRlciB0eXBlICdzdGQ6OnN0 cmluZycgKGFrYSAnYmFzaWNfc3RyaW5nPGNoYXI+JykgaXMgbm90IGEgbGl0ZXJhbCB0eXBlCitQ YXRjaDMwNTogY2hyb21pdW0tMTE5LWNvbnN0ZXhwci5wYXRjaAorCitQYXRjaDMwNjogY2hyb21p dW0tMTE5LWFzc2VydC5wYXRjaAorCiAjIGRpc2FibGUgbWVtb3J5IHRhZ2dpbmcgaW4gZXBlbDcg YW5kIGVwZWw4IG9uIGFhcmNoNjQgZHVlIHRvIG5ldyBmZWF0dXJlIElGVU5DLVJlc29sdmVyCiAj IG5vdCBzdXBwb3J0ZWQgaW4gb2xkIGdsaWJjIDwgMi4zMCwgZXJyb3I6IGZhdGFsIGVycm9yOiAn c3lzL2lmdW5jLmgnIGZpbGUgbm90IGZvdW5kCi1QYXRjaDMwNjogY2hyb21pdW0tMTE4LWFybTY0 LW1lbW9yeV90YWdnaW5nLnBhdGNoCitQYXRjaDMwNzogY2hyb21pdW0tMTE4LWFybTY0LW1lbW9y eV90YWdnaW5nLnBhdGNoCiAKICMgbWlzc2luZyBpbmNsdWRlIGhlYWRlciBmaWxlcwotUGF0Y2gz MTA6IGNocm9taXVtLTExOC1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAorUGF0Y2gzMTA6IGNo cm9taXVtLTExOS1taXNzaW5nLWhlYWRlci1maWxlcy5wYXRjaAogCiAjIGNsYW5nIHdhcm5pbmdz CiBQYXRjaDMxMTogY2hyb21pdW0tMTE1LWNsYW5nLXdhcm5pbmdzLnBhdGNoCkBAIC0zOTYsOCAr NDAyLDEwIEBAIFBhdGNoMzUxOiBjaHJvbWl1bS0xMTctbW5lbW9uaWMtZXJyb3IucGF0Y2gKIFBh dGNoMzUyOiBjaHJvbWl1bS0xMTctd29ya2Fyb3VuZF9mb3JfY3Jhc2hfb25fQlRJX2NhcGFibGVf c3lzdGVtLnBhdGNoCiAKICMgdXBzdHJlYW0gcGF0Y2hlcwotUGF0Y2g0MDA6IGNocm9taXVtLTEx Ny1tZW1vcnlfbGVha19pbl94c2VydmVyLnBhdGNoCi1QYXRjaDQwMTogY2hyb21pdW0tMTE4LXVz ZV9zeXN0ZW1fZnJlZXR5cGUucGF0Y2gKKyMgcmV2ZXJ0IGR1ZSB0byBidWlsZCBlcnJvciByZWRl ZmluZSBBVFNQSSB2ZXJzaW9uIG1hY3JvcworUGF0Y2g0MDA6IGNocm9taXVtLTExOS1kb250LXJl ZGVmaW5lLUFUU1BJLXZlcnNpb24tbWFjcm9zLnBhdGNoCisjIGZpeCBidWlsZCBlcnJvciwgbnVs bHB0cl90IHdpdGhvdXQgbmFtZXNwYWNlIHN0ZDo6CitQYXRjaDQwMTogY2hyb21pdW0tMTE5LW51 bGxwdHJfdC13aXRob3V0LW5hbWVzcGFjZS1zdGQucGF0Y2gKIAogIyBVc2UgY2hyb21pdW0tbGF0 ZXN0LnB5IHRvIGdlbmVyYXRlIGNsZWFuIHRhcmJhbGwgZnJvbSByZWxlYXNlZCBidWlsZCB0YXJi YWxscywgZm91bmQgaGVyZToKICMgaHR0cDovL2J1aWxkLmNocm9taXVtLm9yZy9idWlsZGJvdC9v ZmZpY2lhbC8KQEAgLTkzNCw3ICs5NDIsNiBAQCB1ZGV2LgogJWVuZGlmCiAKICVpZiAhICV7YnVu ZGxlZmZtcGVnZnJlZX0KLSVwYXRjaCAtUDExNCAtcDEgLWIgLnN5c3RlbS1mZm1wcGVnCiAlcGF0 Y2ggLVAxMTUgLXAxIC1iIC5wcm9wLWNvZGVjcwogJXBhdGNoIC1QMTE2IC1wMSAtYiAuZmlyc3Rf ZHRzCiAlcGF0Y2ggLVAxMTcgLXAxIC1iIC5zaWd0cmFwX3N5c3RlbV9mZm1wZWcKQEAgLTk1Nyw3 ICs5NjQsNyBAQCB1ZGV2LgogJWVuZGlmCiAKICVpZiAwJXs/cmhlbH0gPT0gOCB8fCAwJXs/cmhl bH0gPT0gOQotJXBhdGNoIC1QMTEzIC1wMSAtYiAuZG1hX2J1Zl9leHBvcnRfc3luY19maWxlLWNv bmZsaWN0CislcGF0Y2ggLVAxNDAgLXAxIC1iIC5kbWFfYnVmX2V4cG9ydF9zeW5jX2ZpbGUtY29u ZmxpY3QKICVlbmRpZgogCiAlaWYgMCV7P3JoZWx9ID09IDkKQEAgLTk3MSwxMiArOTc4LDE0IEBA IHVkZXYuCiAlcGF0Y2ggLVAzMDIgLXAxIC1iIC53b3JrYXJvdW5kX2NsYW5nX2J1Zy1zdHJ1Y3R1 cmVkX2JpbmRpbmcKICVwYXRjaCAtUDMwMyAtcDEgLWIgLnR5cGVuYW1lCiAlcGF0Y2ggLVAzMDQg LXAxIC1iIC5zdHJpbmctY29udmVydAorJXBhdGNoIC1QMzA1IC1wMSAtYiAuY29uc3RleHByCisl cGF0Y2ggLVAzMDYgLXAxIC1iIC5hc3NlcnQKICVlbmRpZgogJWVuZGlmCiAKICVpZmFyY2ggYWFy Y2g2NAogJWlmIDAlez9yaGVsfSA8PSA4Ci0lcGF0Y2ggLVAzMDYgLXAxIC1iIC5tZW1vcnlfdGFn Z2luZworJXBhdGNoIC1QMzA3IC1wMSAtYiAubWVtb3J5X3RhZ2dpbmcKICVlbmRpZgogJWVuZGlm CiAKQEAgLTk5Myw4ICsxMDAyLDggQEAgdWRldi4KICVwYXRjaCAtUDM1MiAtcDEgLWIgLndvcmth cm91bmRfZm9yX2NyYXNoX29uX0JUSV9jYXBhYmxlX3N5c3RlbQogJWVuZGlmCiAKLSVwYXRjaCAt UDQwMCAtcDEgLWIgLm1lbW9yeV9sZWFrX2luX3hzZXJ2ZXIKLSVwYXRjaCAtUDQwMSAtcDEgLWIg LnVzZV9zeXN0ZW1fZnJlZXR5cGUKKyVwYXRjaCAtUDQwMCAtcDEgLVIgLWIgLnJldmVydC1kb250 LXJlZGVmaW5lLUFUU1BJLXZlcnNpb24tbWFjcm9zLnBhdGNoCislcGF0Y2ggLVA0MDEgLXAxIC1i IC5udWxscHRyX3Qtd2l0aG91dC1uYW1lc3BhY2Utc3RkCiAKICMgQ2hhbmdlIHNoZWJhbmcgaW4g YWxsIHJlbGV2YW50IGZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGFuZCBhbGwgc3ViZGlyZWN0b3Jp ZXMKICMgU2VlIGBtYW4gZmluZGAgZm9yIGhvdyB0aGUgYC1leGVjIGNvbW1hbmQge30gK2Agc3lu dGF4IHdvcmtzCkBAIC0xNjg1LDYgKzE2OTQsMTIgQEAgZ2V0ZW50IGdyb3VwIGNocm9tZS1yZW1v dGUtZGVza3RvcCA+L2Rldi9udWxsIHx8IGdyb3VwYWRkIC1yIGNocm9tZS1yZW1vdGUtZGVza3QK ICV7Y2hyb21pdW1fcGF0aH0vY2hyb21lZHJpdmVyCiAKICVjaGFuZ2Vsb2cKKyogV2VkIE5vdiAw MSAyMDIzIFRoYW4gTmdvIDx0aGFuQHJlZGhhdC5jb20+IC0gMTE5LjAuNjA0NS4xMDUtMQorLSB1 cGRhdGUgdG8gMTE5LjAuNjA0NS4xMDUKKworKiBGcmkgT2N0IDI3IDIwMjMgVGhhbiBOZ28gPHRo YW5AcmVkaGF0LmNvbT4gLSAxMTkuMC42MDQ1LjU5LTEKKy0gdXBkYXRlIDExOS4wLjYwNDUuNTkK KwogKiBXZWQgT2N0IDI1IDIwMjMgVGhhbiBOZ28gPHRoYW5AcmVkaGF0LmNvbT4gLSAxMTguMC41 OTkzLjExNy0xCiAtIHVwZGF0ZSB0byAxMTguMC41OTkzLjExNwogCgpkaWZmIC0tZ2l0IGEvc291 cmNlcyBiL3NvdXJjZXMKaW5kZXggOTJhNDA2NS4uZDIyYTU2MCAxMDA2NDQKLS0tIGEvc291cmNl cworKysgYi9zb3VyY2VzCkBAIC0yLDQgKzIsNCBAQCBTSEE1MTIgKG5vZGUtdjIwLjYuMS1saW51 eC1hcm02NC50YXIueHopID0gYWRmY2FmMmMyMjYxNDc5N2ZkNjlmYjQ2ZDk0YzFjYmY2NGRlYQog U0hBNTEyIChub2RlLXYyMC42LjEtbGludXgteDY0LnRhci54eikgPSA3ZTE1YzA1MDQxYTlhNTBm MDA0NjI2NmFhZGIyZTA5MmE1YWVmYmVjMTliZTFjN2M4MDk0NzFhZGQ1MjBjYjU3YzdkZjNjNDdk ODhiMTg4OGIyOWJmMjk3OWRjYTNjOTJhZGRkZmQ5NjUzNzBmYTJhOWRhNGVhMDIxODY0NjRmZAog U0hBNTEyIChsaW51eC1hcm02NC0wLjE5LjIudGd6KSA9IDhhMGQ4ZmVjNjc4NmZmZmNkNjk1NGQw MDgyMDAzN2E1NWQ2MWU2MDc2MmM3NDMwMGRmMDgwMWY4ZGIyNzA1NzU2MmMyMjFhMDYzYmVkZmI4 ZGY1NmFmOWJhODBhYmIzNjYzMzY5ODdlODgxNzgyYzU5OTZlNmY4NzFhYmQzZGM2CiBTSEE1MTIg KGxpbnV4LXg2NC0wLjE5LjIudGd6KSA9IGEzMWNjNzRjNGJmYTU0ZjliNzVkNzM1YTFjZmM5NDRk M2I1ZWZiN2MwNmJmYmE5NTQyZGE5YTY0MmFlMGIyZDIzNWVhMDBhZTg0ZDNhZDA1NzJjNDA2NDA1 MTEwZmU3YjYxMzc3YWYwZmQxNTgwMzgwNmVmNzhkMjBmYzZmMDVkCi1TSEE1MTIgKGNocm9taXVt LTExOC4wLjU5OTMuMTE3LWNsZWFuLnRhci54eikgPSBlNWQ5NWRlNGVlZjk0Yjg3ODgzOTIwOTY3 ODIyODVkYzU5NWFjOTkzZWFmOTM0ODNjZjA5YjNhNzQxZjUxMTVjNWI4MDg1NmE0NTkzYzU5MTA4 MjE2MjZmNmM2MzJiNWQ3NzFmNmYxOTUzMjE1OGI5YzJjMmJlNzg1ZWI3ODBlOQorU0hBNTEyIChj aHJvbWl1bS0xMTkuMC42MDQ1LjEwNS1jbGVhbi50YXIueHopID0gYmY2M2U3MWM1Yjk5M2MxNDZj MDg3NmFjMDM2NzY4ZDdhZGI1ZDliNDU5MWM1NWEyYzFlNTQ5ODE5OTVjNDI5OGFiZDgzNWRlMjBl MDZhMWRhY2M4MjM3MmJkNmI5MDhhMmFjY2U2YTA1NGE5ZDEzN2NmNmQ0ZTI2ODhhNWYyNjYK