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: Remi Collet To: git-commits@fedoraproject.org Subject: [rpms/php-pecl-mongodb] epel9: Reject null bytes in namespaces and periods in database names Date: Tue, 08 Sep 2026 05:26:17 GMT Message-ID: <178884517778.1.12684466697886281762.rpms-php-pecl-mongodb-7224075a92ad@fedoraproject.org> List-ID: X-Git-Repo: rpms/php-pecl-mongodb X-Git-Branch: epel9 X-Git-Rev: 7224075a92adcb04164755e3e11dea83abfb9813 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcGhwLXBlY2wtbW9uZ29kYgogICAgICAgICAgICBCcmFuY2ggOiBlcGVsOQog ICAgICAgICAgICBDb21taXQgOiA3MjI0MDc1YTkyYWRjYjA0MTY0NzU1ZTNlMTFkZWE4M2FiZmI5 ODEzCiAgICAgICAgICAgIEF1dGhvciA6IFJlbWkgQ29sbGV0IDxyZW1pQGZlZG9yYXByb2plY3Qu b3JnPgogICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA5LTA4VDA3OjI2OjA4KzAyOjAwCiAgICAg ICAgICAgIFN0YXRzICA6ICs2NTYvLTEgaW4gMyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6 IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcGhwLXBlY2wtbW9uZ29kYi9jLzcy MjQwNzVhOTJhZGNiMDQxNjQ3NTVlM2UxMWRlYTgzYWJmYjk4MTM/YnJhbmNoPWVwZWw5CgogICAg ICAgICAgICBMb2c6CiAgICAgICAgICAgIFJlamVjdCBudWxsIGJ5dGVzIGluIG5hbWVzcGFjZXMg YW5kIHBlcmlvZHMgaW4gZGF0YWJhc2UgbmFtZXMKCkZpeCBvdXQtb2YtYm91bmRzIHJlYWQgd2hl biBidWlsZGluZyBCU09OIGZpZWxkIHBhdGgKICBDVkUtMjAyNi04NDk2OAoKLS0tCmRpZmYgLS1n aXQgYS9tb25nb2RiLXBocGMtMjc0NC5wYXRjaCBiL21vbmdvZGItcGhwYy0yNzQ0LnBhdGNoCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5OGI4ZmEKLS0tIC9kZXYvbnVsbAor KysgYi9tb25nb2RiLXBocGMtMjc0NC5wYXRjaApAQCAtMCwwICsxLDEwOSBAQAorRnJvbSA0NTAx MDQ1MGFmNDdjMDI2NjhlOTc3MWNmZTQ1OGMwMjk4Njg3MmNkIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbTogUGF1bGluZSBWb3MgPHBhdWxpbmUudm9zQG1vbmdvZGIuY29tPgorRGF0ZTog VGh1LCAzIFNlcCAyMDI2IDE4OjA4OjI1ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFBIUEMtMjc0 NDogRml4IGRlcGVuZGVuY3kgaXNzdWUgKCMyMDgxKQorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAorCitDby1hdXRob3JlZC1ieTogSsOpcsO0bWUgVGFtYXJlbGxlIDxqZXJvbWVA dGFtYXJlbGxlLm5ldD4KKy0tLQorIHNyYy9waG9uZ29fYnNvbi5jICAgICAgICAgICAgIHwgMTYg KysrKysrKysrLS0tCisgdGVzdHMvYnNvbi9idWctcGhwYy0yNzQ0LnBocHQgfCA0NyArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKworIDIgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0 aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvYnNvbi9i dWctcGhwYy0yNzQ0LnBocHQKKworZGlmZiAtLWdpdCBhL3NyYy9waG9uZ29fYnNvbi5jIGIvc3Jj L3Bob25nb19ic29uLmMKK2luZGV4IDNmM2E1MmFlMi4uNzU3ODcwNTJiIDEwMDY0NAorLS0tIGEv c3JjL3Bob25nb19ic29uLmMKKysrKyBiL3NyYy9waG9uZ29fYnNvbi5jCitAQCAtODcsNyArODcs MTIgQEAgY2hhciogcGhwX3Bob25nb19maWVsZF9wYXRoX2FzX3N0cmluZyhwaHBfcGhvbmdvX2Zp ZWxkX3BhdGgqIGZpZWxkX3BhdGgpCisgCQlyZXR1cm4gZXN0cmR1cCgiIik7CisgCX0KKyAKKy0J Zm9yIChpID0gMDsgaSA8PSBmaWVsZF9wYXRoLT5zaXplOyBpKyspIHsKKysJLyogSXRlcmF0ZSB1 cCB0byBhbmQgaW5jbHVkaW5nICJzaXplIiwgc2luY2UgdGhlIGVsZW1lbnQgZm9yIHRoZSBjdXJy ZW50CisrCSAqIGxldmVsIGlzIHN0b3JlZCBhdCB0aGF0IGluZGV4IGFuZCBpcyBvbmx5IGNvdW50 ZWQgb25jZSB0aGUgbGV2ZWwgaXMKKysJICogcHVzaGVkLiBUaGF0IGluZGV4IGlzIG5vdCBhbHdh eXMgYWxsb2NhdGVkOiB0aGUgYXJyYXkgb25seSBncm93cyB3aGVuIGFuCisrCSAqIGVsZW1lbnQg aXMgd3JpdHRlbiB0byBpdCwgc28gc3RvcCBhdCAiYWxsb2NhdGVkX3NpemUiIHRvIGF2b2lkIHJl YWRpbmcKKysJICogcGFzdCB0aGUgZW5kIG9mIHRoZSBhcnJheS4gKi8KKysJZm9yIChpID0gMDsg aSA8PSBmaWVsZF9wYXRoLT5zaXplICYmIGkgPCBmaWVsZF9wYXRoLT5hbGxvY2F0ZWRfc2l6ZTsg aSsrKSB7CisgCQlpZiAoIWZpZWxkX3BhdGgtPmVsZW1lbnRzW2ldKSB7CisgCQkJY29udGludWU7 CisgCQl9CitAQCAtOTcsNyArMTAyLDcgQEAgY2hhciogcGhwX3Bob25nb19maWVsZF9wYXRoX2Fz X3N0cmluZyhwaHBfcGhvbmdvX2ZpZWxkX3BhdGgqIGZpZWxkX3BhdGgpCisgCXBhdGggPSBlbWFs bG9jKGxlbmd0aCk7CisgCXB0ciAgPSBwYXRoOworIAorLQlmb3IgKGkgPSAwOyBpIDw9IGZpZWxk X3BhdGgtPnNpemU7IGkrKykgeworKwlmb3IgKGkgPSAwOyBpIDw9IGZpZWxkX3BhdGgtPnNpemUg JiYgaSA8IGZpZWxkX3BhdGgtPmFsbG9jYXRlZF9zaXplOyBpKyspIHsKKyAJCWlmICghZmllbGRf cGF0aC0+ZWxlbWVudHNbaV0pIHsKKyAJCQljb250aW51ZTsKKyAJCX0KK0BAIC0xMDYsNyArMTEx LDEyIEBAIGNoYXIqIHBocF9waG9uZ29fZmllbGRfcGF0aF9hc19zdHJpbmcocGhwX3Bob25nb19m aWVsZF9wYXRoKiBmaWVsZF9wYXRoKQorIAkJcHRyWzBdID0gJy4nOworIAkJcHRyKys7CisgCX0K Ky0JcHRyWy0xXSA9ICdcMCc7CisrCisrCWlmIChwdHIgPT0gcGF0aCkgeworKwkJcGF0aFswXSA9 ICdcMCc7CisrCX0gZWxzZSB7CisrCQlwdHJbLTFdID0gJ1wwJzsKKysJfQorIAorIAlyZXR1cm4g cGF0aDsKKyB9CitkaWZmIC0tZ2l0IGEvdGVzdHMvYnNvbi9idWctcGhwYy0yNzQ0LnBocHQgYi90 ZXN0cy9ic29uL2J1Zy1waHBjLTI3NDQucGhwdAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4 IDAwMDAwMDAwMC4uMDkxYjZkNmJmCistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0cy9ic29uL2J1 Zy1waHBjLTI3NDQucGhwdAorQEAgLTAsMCArMSw0NyBAQAorKy0tVEVTVC0tCisrUEhQQy0yNzQ0 OiBGaWVsZCBwYXRoIGZvciBjb3JydXB0IEJTT04gYXQgYSBuZXN0aW5nIGRlcHRoIHRoYXQgaXMg YSBtdWx0aXBsZSBvZiA4CisrLS1ERVNDUklQVElPTi0tCisrVGhlIGZpZWxkIHBhdGggZWxlbWVu dCBmb3IgdGhlIGN1cnJlbnQgbGV2ZWwgaXMgc3RvcmVkIGF0IGluZGV4ICJzaXplIiwgd2hpY2gg bWF5CisrYmUgcGFzdCB0aGUgZW5kIG9mIHRoZSBhbGxvY2F0aW9uIHdoZW4gdGhlIGRlcHRoIGlz IGEgbXVsdGlwbGUgb2YgdGhlIGFsbG9jYXRpb24KKytzdGVwLiBSZWFkaW5nIGl0IGxlYWtlZCBo ZWFwIG1lbW9yeSBpbnRvIHRoZSBleGNlcHRpb24gbWVzc2FnZS4KKystLUZJTEUtLQorKzw/cGhw CisrCisrcmVxdWlyZV9vbmNlIF9fRElSX18gLiAnLy4uL3V0aWxzL2Jhc2ljLmluYyc7CisrCisr ZnVuY3Rpb24gbmVzdChpbnQgJGRlcHRoKTogYXJyYXkKKyt7CisrICAgICR2YWx1ZSA9IFsnSU5W QUxJRCEnID0+ICdiYXInXTsKKysKKysgICAgZm9yICgkaSA9IDA7ICRpIDwgJGRlcHRoOyAkaSsr KSB7CisrICAgICAgICAkdmFsdWUgPSBbJ2EnID0+ICR2YWx1ZV07CisrICAgIH0KKysKKysgICAg cmV0dXJuICR2YWx1ZTsKKyt9CisrCisrZm9yZWFjaCAoWzcsIDgsIDksIDE1LCAxNiwgMTddIGFz ICRkZXB0aCkgeworKyAgICAkYnNvbiA9IHN0cl9yZXBsYWNlKCdJTlZBTElEIScsICJJTlZBTElE XHhGRSIsIGZyb21QSFAobmVzdCgkZGVwdGgpKSk7CisrCisrICAgIGVjaG8gdGhyb3dzKGZ1bmN0 aW9uKCkgdXNlICgkYnNvbikgeworKyAgICAgICAgTW9uZ29EQlxCU09OXERvY3VtZW50Ojpmcm9t QlNPTigkYnNvbiktPnRvUEhQKCk7CisrICAgIH0sIE1vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxV bmV4cGVjdGVkVmFsdWVFeGNlcHRpb246OmNsYXNzKSwgIlxuIjsKKyt9CisrCisrPz4KKys9PT1E T05FPT09CisrPD9waHAgZXhpdCgwKTsgPz4KKystLUVYUEVDVC0tCisrT0s6IEdvdCBNb25nb0RC XERyaXZlclxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uCisrRGV0ZWN0ZWQgY29y cnVwdCBCU09OIGRhdGEgZm9yIGZpZWxkIHBhdGggJ2EuYS5hLmEuYS5hLmEnIGF0IG9mZnNldCAw CisrT0s6IEdvdCBNb25nb0RCXERyaXZlclxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0 aW9uCisrRGV0ZWN0ZWQgY29ycnVwdCBCU09OIGRhdGEgZm9yIGZpZWxkIHBhdGggJ2EuYS5hLmEu YS5hLmEuYScgYXQgb2Zmc2V0IDAKKytPSzogR290IE1vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxV bmV4cGVjdGVkVmFsdWVFeGNlcHRpb24KKytEZXRlY3RlZCBjb3JydXB0IEJTT04gZGF0YSBmb3Ig ZmllbGQgcGF0aCAnYS5hLmEuYS5hLmEuYS5hLmEnIGF0IG9mZnNldCAwCisrT0s6IEdvdCBNb25n b0RCXERyaXZlclxFeGNlcHRpb25cVW5leHBlY3RlZFZhbHVlRXhjZXB0aW9uCisrRGV0ZWN0ZWQg Y29ycnVwdCBCU09OIGRhdGEgZm9yIGZpZWxkIHBhdGggJ2EuYS5hLmEuYS5hLmEuYS5hLmEuYS5h LmEuYS5hJyBhdCBvZmZzZXQgMAorK09LOiBHb3QgTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXFVu ZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlvbgorK0RldGVjdGVkIGNvcnJ1cHQgQlNPTiBkYXRhIGZvciBm aWVsZCBwYXRoICdhLmEuYS5hLmEuYS5hLmEuYS5hLmEuYS5hLmEuYS5hJyBhdCBvZmZzZXQgMAor K09LOiBHb3QgTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXFVuZXhwZWN0ZWRWYWx1ZUV4Y2VwdGlv bgorK0RldGVjdGVkIGNvcnJ1cHQgQlNPTiBkYXRhIGZvciBmaWVsZCBwYXRoICdhLmEuYS5hLmEu YS5hLmEuYS5hLmEuYS5hLmEuYS5hLmEnIGF0IG9mZnNldCAwCisrPT09RE9ORT09PQoKZGlmZiAt LWdpdCBhL21vbmdvZGItcGhwYy0yNzQ1LnBhdGNoIGIvbW9uZ29kYi1waHBjLTI3NDUucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJjMzU2NQotLS0gL2Rldi9udWxs CisrKyBiL21vbmdvZGItcGhwYy0yNzQ1LnBhdGNoCkBAIC0wLDAgKzEsNTM3IEBACitGcm9tIGY4 MGFjNDdiZDMzZjVmZmQ5OTI1N2I0ZmE2YTg2YzQyYTgxYzAzNWIgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiA9P1VURi04P3E/Sj1DMz1BOXI9QzM9QjRtZT0yMFRhbWFyZWxsZT89Cisg PGplcm9tZS50YW1hcmVsbGVAbW9uZ29kYi5jb20+CitEYXRlOiBUaHUsIDI3IEF1ZyAyMDI2IDE2 OjMyOjMwICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFBIUEMtMjc0NTogUmVqZWN0IG51bGwgYnl0 ZXMgaW4gbmFtZXNwYWNlcyBhbmQgcGVyaW9kcyBpbgorIGRhdGFiYXNlIG5hbWVzICgjMjA1OSkK KworLS0tCisgc3JjL01vbmdvREIvQ2xpZW50RW5jcnlwdGlvbi5jICAgICAgICAgICAgICAgIHwg IDggKysrKworIHNyYy9Nb25nb0RCL01hbmFnZXIuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 IDEyICsrLS0tCisgc3JjL01vbmdvREIvU2VydmVyLmMgICAgICAgICAgICAgICAgICAgICAgICAg IHwgMTIgKystLS0KKyBzcmMvcGhvbmdvX2NsaWVudC5jICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgOCArKysrCisgc3JjL3Bob25nb19leGVjdXRlLmMgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgMTggKysrKysrLS0KKyBzcmMvcGhvbmdvX2V4ZWN1dGUuaCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNiArLS0KKyBzcmMvcGhvbmdvX3V0aWwuYyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCA0MyArKysrKysrKysrKysrKysrKysKKyBzcmMvcGhvbmdvX3V0aWwuaCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyArKworIC4uLi9jbGllbnRFbmNyeXB0aW9uLWN0 b3JfZXJyb3ItMDAyLnBocHQgICAgICB8ICA3ICsrKworIC4uLi9tYW5hZ2VyLWV4ZWN1dGVCdWxr V3JpdGVfZXJyb3ItMDEyLnBocHQgICB8IDM2ICsrKysrKysrKysrKysrKworIC4uLi9tYW5hZ2Vy LWV4ZWN1dGVDb21tYW5kX2Vycm9yLTAwNi5waHB0ICAgICB8IDQ1ICsrKysrKysrKysrKysrKysr KysKKyAuLi4vbWFuYWdlci1leGVjdXRlUXVlcnlfZXJyb3ItMDA0LnBocHQgICAgICAgfCAzMiAr KysrKysrKysrKysrCisgdGVzdHMvbWFuYWdlci9tYW5hZ2VyLW5hbWVzcGFjZS1kb3RzLnBocHQg ICAgIHwgNDMgKysrKysrKysrKysrKysrKysrCisgMTMgZmlsZXMgY2hhbmdlZCwgMjU1IGluc2Vy dGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9tYW5h Z2VyL21hbmFnZXItZXhlY3V0ZUJ1bGtXcml0ZV9lcnJvci0wMTIucGhwdAorIGNyZWF0ZSBtb2Rl IDEwMDY0NCB0ZXN0cy9tYW5hZ2VyL21hbmFnZXItZXhlY3V0ZUNvbW1hbmRfZXJyb3ItMDA2LnBo cHQKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMvbWFuYWdlci9tYW5hZ2VyLWV4ZWN1dGVRdWVy eV9lcnJvci0wMDQucGhwdAorIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9tYW5hZ2VyL21hbmFn ZXItbmFtZXNwYWNlLWRvdHMucGhwdAorCitkaWZmIC0tZ2l0IGEvc3JjL01vbmdvREIvQ2xpZW50 RW5jcnlwdGlvbi5jIGIvc3JjL01vbmdvREIvQ2xpZW50RW5jcnlwdGlvbi5jCitpbmRleCBjODk1 MGQ1NTEuLmRlYzVmNjZiNyAxMDA2NDQKKy0tLSBhL3NyYy9Nb25nb0RCL0NsaWVudEVuY3J5cHRp b24uYworKysrIGIvc3JjL01vbmdvREIvQ2xpZW50RW5jcnlwdGlvbi5jCitAQCAtNTc3LDYgKzU3 NywxNCBAQCBzdGF0aWMgbW9uZ29jX2NsaWVudF9lbmNyeXB0aW9uX29wdHNfdCogcGhvbmdvX2Ns aWVudGVuY3J5cHRpb25fb3B0c19mcm9tX3p2YWwoegorIAorIAkJa2V5X3ZhdWx0X25hbWVzcGFj ZSA9IHBocF9hcnJheV9mZXRjaGNfc3RyaW5nKG9wdGlvbnMsICJrZXlWYXVsdE5hbWVzcGFjZSIs ICZwbGVuLCAmcGZyZWUpOworIAorKwkJaWYgKCFwaG9uZ29fdmFsaWRhdGVfbmFtZXNwYWNlKGtl eV92YXVsdF9uYW1lc3BhY2UsIHBsZW4pKSB7CisrCQkJaWYgKHBmcmVlKSB7CisrCQkJCWVmcmVl KGtleV92YXVsdF9uYW1lc3BhY2UpOworKwkJCX0KKysKKysJCQlnb3RvIGNsZWFudXA7CisrCQl9 CisrCisgCQlpZiAoIXBob25nb19zcGxpdF9uYW1lc3BhY2Uoa2V5X3ZhdWx0X25hbWVzcGFjZSwg JmRiX25hbWUsICZjb2xsX25hbWUpKSB7CisgCQkJcGhvbmdvX3Rocm93X2V4Y2VwdGlvbihQSE9O R09fRVJST1JfSU5WQUxJRF9BUkdVTUVOVCwgIkV4cGVjdGVkIFwia2V5VmF1bHROYW1lc3BhY2Vc IiBvcHRpb24gdG8gY29udGFpbiBhIGZ1bGwgY29sbGVjdGlvbiBuYW1lc3BhY2UiKTsKKyAKK2Rp ZmYgLS1naXQgYS9zcmMvTW9uZ29EQi9NYW5hZ2VyLmMgYi9zcmMvTW9uZ29EQi9NYW5hZ2VyLmMK K2luZGV4IGM2MWE2OGI5YS4uMTc1ZGQ1OWEyIDEwMDY0NAorLS0tIGEvc3JjL01vbmdvREIvTWFu YWdlci5jCisrKysgYi9zcmMvTW9uZ29EQi9NYW5hZ2VyLmMKK0BAIC0zNjgsNyArMzY4LDcgQEAg c3RhdGljIFBIUF9NRVRIT0QoTW9uZ29EQl9Ecml2ZXJfTWFuYWdlciwgZXhlY3V0ZUNvbW1hbmQp CisgCSAqIHNlc3Npb24gcG9vbCBpcyBjbGVhcmVkLiAqLworIAlQSE9OR09fUkVTRVRfQ0xJRU5U X0lGX1BJRF9ESUZGRVJTKGludGVybiwgaW50ZXJuKTsKKyAKKy0JcGhvbmdvX2V4ZWN1dGVfY29t bWFuZChnZXRUaGlzKCksIFBIT05HT19DT01NQU5EX1JBVywgZGIsIGNvbW1hbmQsIG9wdGlvbnMs IHNlcnZlcl9pZCwgcmV0dXJuX3ZhbHVlKTsKKysJcGhvbmdvX2V4ZWN1dGVfY29tbWFuZChnZXRU aGlzKCksIFBIT05HT19DT01NQU5EX1JBVywgZGIsIGRiX2xlbiwgY29tbWFuZCwgb3B0aW9ucywg c2VydmVyX2lkLCByZXR1cm5fdmFsdWUpOworIAorIGNsZWFudXA6CisgCWlmIChmcmVlX29wdGlv bnMpIHsKK0BAIC00MTcsNyArNDE3LDcgQEAgc3RhdGljIFBIUF9NRVRIT0QoTW9uZ29EQl9Ecml2 ZXJfTWFuYWdlciwgZXhlY3V0ZVJlYWRDb21tYW5kKQorIAkgKiBzZXNzaW9uIHBvb2wgaXMgY2xl YXJlZC4gKi8KKyAJUEhPTkdPX1JFU0VUX0NMSUVOVF9JRl9QSURfRElGRkVSUyhpbnRlcm4sIGlu dGVybik7CisgCistCXBob25nb19leGVjdXRlX2NvbW1hbmQoZ2V0VGhpcygpLCBQSE9OR09fQ09N TUFORF9SRUFELCBkYiwgY29tbWFuZCwgb3B0aW9ucywgc2VydmVyX2lkLCByZXR1cm5fdmFsdWUp OworKwlwaG9uZ29fZXhlY3V0ZV9jb21tYW5kKGdldFRoaXMoKSwgUEhPTkdPX0NPTU1BTkRfUkVB RCwgZGIsIGRiX2xlbiwgY29tbWFuZCwgb3B0aW9ucywgc2VydmVyX2lkLCByZXR1cm5fdmFsdWUp OworIH0KKyAKKyAvKiBFeGVjdXRlIGEgV3JpdGVDb21tYW5kICovCitAQCAtNDU1LDcgKzQ1NSw3 IEBAIHN0YXRpYyBQSFBfTUVUSE9EKE1vbmdvREJfRHJpdmVyX01hbmFnZXIsIGV4ZWN1dGVXcml0 ZUNvbW1hbmQpCisgCSAqIHNlc3Npb24gcG9vbCBpcyBjbGVhcmVkLiAqLworIAlQSE9OR09fUkVT RVRfQ0xJRU5UX0lGX1BJRF9ESUZGRVJTKGludGVybiwgaW50ZXJuKTsKKyAKKy0JcGhvbmdvX2V4 ZWN1dGVfY29tbWFuZChnZXRUaGlzKCksIFBIT05HT19DT01NQU5EX1dSSVRFLCBkYiwgY29tbWFu ZCwgb3B0aW9ucywgc2VydmVyX2lkLCByZXR1cm5fdmFsdWUpOworKwlwaG9uZ29fZXhlY3V0ZV9j b21tYW5kKGdldFRoaXMoKSwgUEhPTkdPX0NPTU1BTkRfV1JJVEUsIGRiLCBkYl9sZW4sIGNvbW1h bmQsIG9wdGlvbnMsIHNlcnZlcl9pZCwgcmV0dXJuX3ZhbHVlKTsKKyB9CisgCisgLyogRXhlY3V0 ZSBhIFJlYWRXcml0ZUNvbW1hbmQgKi8KK0BAIC00OTMsNyArNDkzLDcgQEAgc3RhdGljIFBIUF9N RVRIT0QoTW9uZ29EQl9Ecml2ZXJfTWFuYWdlciwgZXhlY3V0ZVJlYWRXcml0ZUNvbW1hbmQpCisg CSAqIHNlc3Npb24gcG9vbCBpcyBjbGVhcmVkLiAqLworIAlQSE9OR09fUkVTRVRfQ0xJRU5UX0lG X1BJRF9ESUZGRVJTKGludGVybiwgaW50ZXJuKTsKKyAKKy0JcGhvbmdvX2V4ZWN1dGVfY29tbWFu ZChnZXRUaGlzKCksIFBIT05HT19DT01NQU5EX1JFQURfV1JJVEUsIGRiLCBjb21tYW5kLCBvcHRp b25zLCBzZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7CisrCXBob25nb19leGVjdXRlX2NvbW1hbmQo Z2V0VGhpcygpLCBQSE9OR09fQ09NTUFORF9SRUFEX1dSSVRFLCBkYiwgZGJfbGVuLCBjb21tYW5k LCBvcHRpb25zLCBzZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7CisgfQorIAorIC8qIEV4ZWN1dGUg YSBRdWVyeSAqLworQEAgLTU0MCw3ICs1NDAsNyBAQCBzdGF0aWMgUEhQX01FVEhPRChNb25nb0RC X0RyaXZlcl9NYW5hZ2VyLCBleGVjdXRlUXVlcnkpCisgCSAqIHNlc3Npb24gcG9vbCBpcyBjbGVh cmVkLiAqLworIAlQSE9OR09fUkVTRVRfQ0xJRU5UX0lGX1BJRF9ESUZGRVJTKGludGVybiwgaW50 ZXJuKTsKKyAKKy0JcGhvbmdvX2V4ZWN1dGVfcXVlcnkoZ2V0VGhpcygpLCBuYW1lc3BhY2UsIHF1 ZXJ5LCBvcHRpb25zLCBzZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7CisrCXBob25nb19leGVjdXRl X3F1ZXJ5KGdldFRoaXMoKSwgbmFtZXNwYWNlLCBuYW1lc3BhY2VfbGVuLCBxdWVyeSwgb3B0aW9u cywgc2VydmVyX2lkLCByZXR1cm5fdmFsdWUpOworIAorIGNsZWFudXA6CisgCWlmIChmcmVlX29w dGlvbnMpIHsKK0BAIC01ODcsNyArNTg3LDcgQEAgc3RhdGljIFBIUF9NRVRIT0QoTW9uZ29EQl9E cml2ZXJfTWFuYWdlciwgZXhlY3V0ZUJ1bGtXcml0ZSkKKyAJICogdGhhdCBpdHMgc2Vzc2lvbiBw b29sIGlzIGNsZWFyZWQuICovCisgCVBIT05HT19SRVNFVF9DTElFTlRfSUZfUElEX0RJRkZFUlMo aW50ZXJuLCBpbnRlcm4pOworIAorLQlwaG9uZ29fZXhlY3V0ZV9idWxrX3dyaXRlKGdldFRoaXMo KSwgbmFtZXNwYWNlLCBidWxrLCBvcHRpb25zLCBzZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7Cisr CXBob25nb19leGVjdXRlX2J1bGtfd3JpdGUoZ2V0VGhpcygpLCBuYW1lc3BhY2UsIG5hbWVzcGFj ZV9sZW4sIGJ1bGssIG9wdGlvbnMsIHNlcnZlcl9pZCwgcmV0dXJuX3ZhbHVlKTsKKyAKKyBjbGVh bnVwOgorIAlpZiAoZnJlZV9vcHRpb25zKSB7CitkaWZmIC0tZ2l0IGEvc3JjL01vbmdvREIvU2Vy dmVyLmMgYi9zcmMvTW9uZ29EQi9TZXJ2ZXIuYworaW5kZXggZTUwMGM3YjE2Li5mM2I2NmE1M2Mg MTAwNjQ0CistLS0gYS9zcmMvTW9uZ29EQi9TZXJ2ZXIuYworKysrIGIvc3JjL01vbmdvREIvU2Vy dmVyLmMKK0BAIC02MSw3ICs2MSw3IEBAIHN0YXRpYyBQSFBfTUVUSE9EKE1vbmdvREJfRHJpdmVy X1NlcnZlciwgZXhlY3V0ZUNvbW1hbmQpCisgCSAqIHNlc3Npb24gcG9vbCBpcyBjbGVhcmVkLiAq LworIAlQSE9OR09fUkVTRVRfQ0xJRU5UX0lGX1BJRF9ESUZGRVJTKGludGVybiwgWl9NQU5BR0VS X09CSl9QKCZpbnRlcm4tPm1hbmFnZXIpKTsKKyAKKy0JcGhvbmdvX2V4ZWN1dGVfY29tbWFuZCgm aW50ZXJuLT5tYW5hZ2VyLCBQSE9OR09fQ09NTUFORF9SQVcsIGRiLCBjb21tYW5kLCBvcHRpb25z LCBpbnRlcm4tPnNlcnZlcl9pZCwgcmV0dXJuX3ZhbHVlKTsKKysJcGhvbmdvX2V4ZWN1dGVfY29t bWFuZCgmaW50ZXJuLT5tYW5hZ2VyLCBQSE9OR09fQ09NTUFORF9SQVcsIGRiLCBkYl9sZW4sIGNv bW1hbmQsIG9wdGlvbnMsIGludGVybi0+c2VydmVyX2lkLCByZXR1cm5fdmFsdWUpOworIAorIAlp ZiAoZnJlZV9vcHRpb25zKSB7CisgCQlwaHBfcGhvbmdvX3ByZXBfbGVnYWN5X29wdGlvbl9mcmVl KG9wdGlvbnMpOworQEAgLTkxLDcgKzkxLDcgQEAgc3RhdGljIFBIUF9NRVRIT0QoTW9uZ29EQl9E cml2ZXJfU2VydmVyLCBleGVjdXRlUmVhZENvbW1hbmQpCisgCSAqIHNlc3Npb24gcG9vbCBpcyBj bGVhcmVkLiAqLworIAlQSE9OR09fUkVTRVRfQ0xJRU5UX0lGX1BJRF9ESUZGRVJTKGludGVybiwg Wl9NQU5BR0VSX09CSl9QKCZpbnRlcm4tPm1hbmFnZXIpKTsKKyAKKy0JcGhvbmdvX2V4ZWN1dGVf Y29tbWFuZCgmaW50ZXJuLT5tYW5hZ2VyLCBQSE9OR09fQ09NTUFORF9SRUFELCBkYiwgY29tbWFu ZCwgb3B0aW9ucywgaW50ZXJuLT5zZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7CisrCXBob25nb19l eGVjdXRlX2NvbW1hbmQoJmludGVybi0+bWFuYWdlciwgUEhPTkdPX0NPTU1BTkRfUkVBRCwgZGIs IGRiX2xlbiwgY29tbWFuZCwgb3B0aW9ucywgaW50ZXJuLT5zZXJ2ZXJfaWQsIHJldHVybl92YWx1 ZSk7CisgfQorIAorIC8qIEV4ZWN1dGVzIGEgV3JpdGVDb21tYW5kIG9uIHRoaXMgU2VydmVyICov CitAQCAtMTE3LDcgKzExNyw3IEBAIHN0YXRpYyBQSFBfTUVUSE9EKE1vbmdvREJfRHJpdmVyX1Nl cnZlciwgZXhlY3V0ZVdyaXRlQ29tbWFuZCkKKyAJICogc2Vzc2lvbiBwb29sIGlzIGNsZWFyZWQu ICovCisgCVBIT05HT19SRVNFVF9DTElFTlRfSUZfUElEX0RJRkZFUlMoaW50ZXJuLCBaX01BTkFH RVJfT0JKX1AoJmludGVybi0+bWFuYWdlcikpOworIAorLQlwaG9uZ29fZXhlY3V0ZV9jb21tYW5k KCZpbnRlcm4tPm1hbmFnZXIsIFBIT05HT19DT01NQU5EX1dSSVRFLCBkYiwgY29tbWFuZCwgb3B0 aW9ucywgaW50ZXJuLT5zZXJ2ZXJfaWQsIHJldHVybl92YWx1ZSk7CisrCXBob25nb19leGVjdXRl X2NvbW1hbmQoJmludGVybi0+bWFuYWdlciwgUEhPTkdPX0NPTU1BTkRfV1JJVEUsIGRiLCBkYl9s ZW4sIGNvbW1hbmQsIG9wdGlvbnMsIGludGVybi0+c2VydmVyX2lkLCByZXR1cm5fdmFsdWUpOwor IH0KKyAKKyAvKiBFeGVjdXRlcyBhIFJlYWRXcml0ZUNvbW1hbmQgb24gdGhpcyBTZXJ2ZXIgKi8K K0BAIC0xNDMsNyArMTQzLDcgQEAgc3RhdGljIFBIUF9NRVRIT0QoTW9uZ29EQl9Ecml2ZXJfU2Vy dmVyLCBleGVjdXRlUmVhZFdyaXRlQ29tbWFuZCkKKyAJICogc2Vzc2lvbiBwb29sIGlzIGNsZWFy ZWQuICovCisgCVBIT05HT19SRVNFVF9DTElFTlRfSUZfUElEX0RJRkZFUlMoaW50ZXJuLCBaX01B TkFHRVJfT0JKX1AoJmludGVybi0+bWFuYWdlcikpOworIAorLQlwaG9uZ29fZXhlY3V0ZV9jb21t YW5kKCZpbnRlcm4tPm1hbmFnZXIsIFBIT05HT19DT01NQU5EX1JFQURfV1JJVEUsIGRiLCBjb21t YW5kLCBvcHRpb25zLCBpbnRlcm4tPnNlcnZlcl9pZCwgcmV0dXJuX3ZhbHVlKTsKKysJcGhvbmdv X2V4ZWN1dGVfY29tbWFuZCgmaW50ZXJuLT5tYW5hZ2VyLCBQSE9OR09fQ09NTUFORF9SRUFEX1dS SVRFLCBkYiwgZGJfbGVuLCBjb21tYW5kLCBvcHRpb25zLCBpbnRlcm4tPnNlcnZlcl9pZCwgcmV0 dXJuX3ZhbHVlKTsKKyB9CisgCisgLyogRXhlY3V0ZXMgYSBRdWVyeSBvbiB0aGlzIFNlcnZlciAq LworQEAgLTE3Miw3ICsxNzIsNyBAQCBzdGF0aWMgUEhQX01FVEhPRChNb25nb0RCX0RyaXZlcl9T ZXJ2ZXIsIGV4ZWN1dGVRdWVyeSkKKyAJICogc2Vzc2lvbiBwb29sIGlzIGNsZWFyZWQuICovCisg CVBIT05HT19SRVNFVF9DTElFTlRfSUZfUElEX0RJRkZFUlMoaW50ZXJuLCBaX01BTkFHRVJfT0JK X1AoJmludGVybi0+bWFuYWdlcikpOworIAorLQlwaG9uZ29fZXhlY3V0ZV9xdWVyeSgmaW50ZXJu LT5tYW5hZ2VyLCBuYW1lc3BhY2UsIHF1ZXJ5LCBvcHRpb25zLCBpbnRlcm4tPnNlcnZlcl9pZCwg cmV0dXJuX3ZhbHVlKTsKKysJcGhvbmdvX2V4ZWN1dGVfcXVlcnkoJmludGVybi0+bWFuYWdlciwg bmFtZXNwYWNlLCBuYW1lc3BhY2VfbGVuLCBxdWVyeSwgb3B0aW9ucywgaW50ZXJuLT5zZXJ2ZXJf aWQsIHJldHVybl92YWx1ZSk7CisgCisgCWlmIChmcmVlX29wdGlvbnMpIHsKKyAJCXBocF9waG9u Z29fcHJlcF9sZWdhY3lfb3B0aW9uX2ZyZWUob3B0aW9ucyk7CitAQCAtMjA4LDcgKzIwOCw3IEBA IHN0YXRpYyBQSFBfTUVUSE9EKE1vbmdvREJfRHJpdmVyX1NlcnZlciwgZXhlY3V0ZUJ1bGtXcml0 ZSkKKyAJICogdGhhdCBpdHMgc2Vzc2lvbiBwb29sIGlzIGNsZWFyZWQuICovCisgCVBIT05HT19S RVNFVF9DTElFTlRfSUZfUElEX0RJRkZFUlMoaW50ZXJuLCBaX01BTkFHRVJfT0JKX1AoJmludGVy bi0+bWFuYWdlcikpOworIAorLQlwaG9uZ29fZXhlY3V0ZV9idWxrX3dyaXRlKCZpbnRlcm4tPm1h bmFnZXIsIG5hbWVzcGFjZSwgYnVsaywgb3B0aW9ucywgaW50ZXJuLT5zZXJ2ZXJfaWQsIHJldHVy bl92YWx1ZSk7CisrCXBob25nb19leGVjdXRlX2J1bGtfd3JpdGUoJmludGVybi0+bWFuYWdlciwg bmFtZXNwYWNlLCBuYW1lc3BhY2VfbGVuLCBidWxrLCBvcHRpb25zLCBpbnRlcm4tPnNlcnZlcl9p ZCwgcmV0dXJuX3ZhbHVlKTsKKyAKKyAJaWYgKGZyZWVfb3B0aW9ucykgeworIAkJcGhwX3Bob25n b19wcmVwX2xlZ2FjeV9vcHRpb25fZnJlZShvcHRpb25zKTsKK2RpZmYgLS1naXQgYS9zcmMvcGhv bmdvX2NsaWVudC5jIGIvc3JjL3Bob25nb19jbGllbnQuYworaW5kZXggMTk2NzQyYmM5Li44YTlh M2E3MzEgMTAwNjQ0CistLS0gYS9zcmMvcGhvbmdvX2NsaWVudC5jCisrKysgYi9zcmMvcGhvbmdv X2NsaWVudC5jCitAQCAtMTMzMSw2ICsxMzMxLDE0IEBAIHN0YXRpYyBib29sIHBob25nb19tYW5h Z2VyX3NldF9hdXRvX2VuY3J5cHRpb25fb3B0cyhwaHBfcGhvbmdvX21hbmFnZXJfdCogbWFuYWdl CisgCisgCQlrZXlfdmF1bHRfbnMgPSBwaHBfYXJyYXlfZmV0Y2hjX3N0cmluZyh6QXV0b0VuY3J5 cHRpb25PcHRzLCAia2V5VmF1bHROYW1lc3BhY2UiLCAmcGxlbiwgJnBmcmVlKTsKKyAKKysJCWlm ICghcGhvbmdvX3ZhbGlkYXRlX25hbWVzcGFjZShrZXlfdmF1bHRfbnMsIHBsZW4pKSB7CisrCQkJ aWYgKHBmcmVlKSB7CisrCQkJCWVmcmVlKGtleV92YXVsdF9ucyk7CisrCQkJfQorKworKwkJCWdv dG8gY2xlYW51cDsKKysJCX0KKysKKyAJCWlmICghcGhvbmdvX3NwbGl0X25hbWVzcGFjZShrZXlf dmF1bHRfbnMsICZkYl9uYW1lLCAmY29sbF9uYW1lKSkgeworIAkJCXBob25nb190aHJvd19leGNl cHRpb24oUEhPTkdPX0VSUk9SX0lOVkFMSURfQVJHVU1FTlQsICJFeHBlY3RlZCBcImtleVZhdWx0 TmFtZXNwYWNlXCIgYXV0b0VuY3J5cHRpb24gb3B0aW9uIHRvIGNvbnRhaW4gYSBmdWxsIGNvbGxl Y3Rpb24gbmFtZXNwYWNlIik7CisgCitkaWZmIC0tZ2l0IGEvc3JjL3Bob25nb19leGVjdXRlLmMg Yi9zcmMvcGhvbmdvX2V4ZWN1dGUuYworaW5kZXggODQ4YjY5ZWRkLi41ODJiMjE5ZTQgMTAwNjQ0 CistLS0gYS9zcmMvcGhvbmdvX2V4ZWN1dGUuYworKysrIGIvc3JjL3Bob25nb19leGVjdXRlLmMK K0BAIC0yMjgsNyArMjI4LDcgQEAgc3RhdGljIGJvb2wgcGhvbmdvX3BhcnNlX3dyaXRlX2NvbmNl cm4oenZhbCogb3B0aW9ucywgYnNvbl90KiBtb25nb2Nfb3B0cywgenZhbCoKKyAJcmV0dXJuIHRy dWU7CisgfQorIAorLWJvb2wgcGhvbmdvX2V4ZWN1dGVfYnVsa193cml0ZSh6dmFsKiBtYW5hZ2Vy LCBjb25zdCBjaGFyKiBuYW1lc3BhY2UsIHBocF9waG9uZ29fYnVsa3dyaXRlX3QqIGJ1bGtfd3Jp dGUsIHp2YWwqIG9wdGlvbnMsIHVpbnQzMl90IHNlcnZlcl9pZCwgenZhbCogcmV0dXJuX3ZhbHVl KQorK2Jvb2wgcGhvbmdvX2V4ZWN1dGVfYnVsa193cml0ZSh6dmFsKiBtYW5hZ2VyLCBjb25zdCBj aGFyKiBuYW1lc3BhY2UsIHNpemVfdCBuYW1lc3BhY2VfbGVuLCBwaHBfcGhvbmdvX2J1bGt3cml0 ZV90KiBidWxrX3dyaXRlLCB6dmFsKiBvcHRpb25zLCB1aW50MzJfdCBzZXJ2ZXJfaWQsIHp2YWwq IHJldHVybl92YWx1ZSkKKyB7CisgCW1vbmdvY19jbGllbnRfdCogICAgICAgICAgICAgIGNsaWVu dCA9IE5VTEw7CisgCWJzb25fZXJyb3JfdCAgICAgICAgICAgICAgICAgIGVycm9yICA9IHsgMCB9 OworQEAgLTI0Nyw2ICsyNDcsMTAgQEAgYm9vbCBwaG9uZ29fZXhlY3V0ZV9idWxrX3dyaXRlKHp2 YWwqIG1hbmFnZXIsIGNvbnN0IGNoYXIqIG5hbWVzcGFjZSwgcGhwX3Bob25nb18KKyAJCXJldHVy biBmYWxzZTsKKyAJfQorIAorKwlpZiAoIXBob25nb192YWxpZGF0ZV9uYW1lc3BhY2UobmFtZXNw YWNlLCBuYW1lc3BhY2VfbGVuKSkgeworKwkJcmV0dXJuIGZhbHNlOworKwl9CisrCisgCWlmICgh cGhvbmdvX3NwbGl0X25hbWVzcGFjZShuYW1lc3BhY2UsICZidWxrX3dyaXRlLT5kYXRhYmFzZSwg JmJ1bGtfd3JpdGUtPmNvbGxlY3Rpb24pKSB7CisgCQlwaG9uZ29fdGhyb3dfZXhjZXB0aW9uKFBI T05HT19FUlJPUl9JTlZBTElEX0FSR1VNRU5ULCAiJXM6ICVzIiwgIkludmFsaWQgbmFtZXNwYWNl IHByb3ZpZGVkIiwgbmFtZXNwYWNlKTsKKyAJCXJldHVybiBmYWxzZTsKK0BAIC0zMzMsNyArMzM3 LDcgQEAgYm9vbCBwaG9uZ29fZXhlY3V0ZV9idWxrX3dyaXRlKHp2YWwqIG1hbmFnZXIsIGNvbnN0 IGNoYXIqIG5hbWVzcGFjZSwgcGhwX3Bob25nb18KKyAJcmV0dXJuIHN1Y2Nlc3M7CisgfQorIAor LWJvb2wgcGhvbmdvX2V4ZWN1dGVfY29tbWFuZCh6dmFsKiBtYW5hZ2VyLCBwaHBfcGhvbmdvX2Nv bW1hbmRfdHlwZV90IHR5cGUsIGNvbnN0IGNoYXIqIGRiLCB6dmFsKiB6Y29tbWFuZCwgenZhbCog b3B0aW9ucywgdWludDMyX3Qgc2VydmVyX2lkLCB6dmFsKiByZXR1cm5fdmFsdWUpCisrYm9vbCBw aG9uZ29fZXhlY3V0ZV9jb21tYW5kKHp2YWwqIG1hbmFnZXIsIHBocF9waG9uZ29fY29tbWFuZF90 eXBlX3QgdHlwZSwgY29uc3QgY2hhciogZGIsIHNpemVfdCBkYl9sZW4sIHp2YWwqIHpjb21tYW5k LCB6dmFsKiBvcHRpb25zLCB1aW50MzJfdCBzZXJ2ZXJfaWQsIHp2YWwqIHJldHVybl92YWx1ZSkK KyB7CisgCW1vbmdvY19jbGllbnRfdCogICAgICAgICAgICBjbGllbnQ7CisgCWNvbnN0IHBocF9w aG9uZ29fY29tbWFuZF90KiBjb21tYW5kOworQEAgLTM1Miw2ICszNTYsMTAgQEAgYm9vbCBwaG9u Z29fZXhlY3V0ZV9jb21tYW5kKHp2YWwqIG1hbmFnZXIsIHBocF9waG9uZ29fY29tbWFuZF90eXBl X3QgdHlwZSwgY29uc3QKKyAJY2xpZW50ICA9IFpfTUFOQUdFUl9PQkpfUChtYW5hZ2VyKS0+Y2xp ZW50OworIAljb21tYW5kID0gWl9DT01NQU5EX09CSl9QKHpjb21tYW5kKTsKKyAKKysJaWYgKCFw aG9uZ29fdmFsaWRhdGVfZGJuYW1lKGRiLCBkYl9sZW4pKSB7CisrCQlnb3RvIGNsZWFudXA7Cisr CX0KKysKKyAJaWYgKCh0eXBlICYgUEhPTkdPX09QVElPTl9SRUFEX0NPTkNFUk4pICYmICFwaG9u Z29fcGFyc2VfcmVhZF9jb25jZXJuKG9wdGlvbnMsICZvcHRzKSkgeworIAkJLyogRXhjZXB0aW9u IHNob3VsZCBhbHJlYWR5IGhhdmUgYmVlbiB0aHJvd24gKi8KKyAJCWdvdG8gY2xlYW51cDsKK0BA IC01MDMsNyArNTExLDcgQEAgYm9vbCBwaG9uZ29fZXhlY3V0ZV9jb21tYW5kKHp2YWwqIG1hbmFn ZXIsIHBocF9waG9uZ29fY29tbWFuZF90eXBlX3QgdHlwZSwgY29uc3QKKyAJcmV0dXJuIHJlc3Vs dDsKKyB9CisgCistYm9vbCBwaG9uZ29fZXhlY3V0ZV9xdWVyeSh6dmFsKiBtYW5hZ2VyLCBjb25z dCBjaGFyKiBuYW1lc3BhY2UsIHp2YWwqIHpxdWVyeSwgenZhbCogb3B0aW9ucywgdWludDMyX3Qg c2VydmVyX2lkLCB6dmFsKiByZXR1cm5fdmFsdWUpCisrYm9vbCBwaG9uZ29fZXhlY3V0ZV9xdWVy eSh6dmFsKiBtYW5hZ2VyLCBjb25zdCBjaGFyKiBuYW1lc3BhY2UsIHNpemVfdCBuYW1lc3BhY2Vf bGVuLCB6dmFsKiB6cXVlcnksIHp2YWwqIG9wdGlvbnMsIHVpbnQzMl90IHNlcnZlcl9pZCwgenZh bCogcmV0dXJuX3ZhbHVlKQorIHsKKyAJbW9uZ29jX2NsaWVudF90KiAgICAgICAgICBjbGllbnQ7 CisgCWNvbnN0IHBocF9waG9uZ29fcXVlcnlfdCogcXVlcnk7CitAQCAtNTE3LDYgKzUyNSwxMCBA QCBib29sIHBob25nb19leGVjdXRlX3F1ZXJ5KHp2YWwqIG1hbmFnZXIsIGNvbnN0IGNoYXIqIG5h bWVzcGFjZSwgenZhbCogenF1ZXJ5LCB6dgorIAorIAljbGllbnQgPSBaX01BTkFHRVJfT0JKX1Ao bWFuYWdlciktPmNsaWVudDsKKyAKKysJaWYgKCFwaG9uZ29fdmFsaWRhdGVfbmFtZXNwYWNlKG5h bWVzcGFjZSwgbmFtZXNwYWNlX2xlbikpIHsKKysJCXJldHVybiBmYWxzZTsKKysJfQorKworIAlp ZiAoIXBob25nb19zcGxpdF9uYW1lc3BhY2UobmFtZXNwYWNlLCAmZGJuYW1lLCAmY29sbG5hbWUp KSB7CisgCQlwaG9uZ29fdGhyb3dfZXhjZXB0aW9uKFBIT05HT19FUlJPUl9JTlZBTElEX0FSR1VN RU5ULCAiJXM6ICVzIiwgIkludmFsaWQgbmFtZXNwYWNlIHByb3ZpZGVkIiwgbmFtZXNwYWNlKTsK KyAJCXJldHVybiBmYWxzZTsKK2RpZmYgLS1naXQgYS9zcmMvcGhvbmdvX2V4ZWN1dGUuaCBiL3Ny Yy9waG9uZ29fZXhlY3V0ZS5oCitpbmRleCA0NzMxMmI5ZTcuLjBhMDIwNTdiYiAxMDA2NDQKKy0t LSBhL3NyYy9waG9uZ29fZXhlY3V0ZS5oCisrKysgYi9zcmMvcGhvbmdvX2V4ZWN1dGUuaAorQEAg LTM2LDkgKzM2LDkgQEAgdHlwZWRlZiBlbnVtIHsKKyAJUEhPTkdPX0NPTU1BTkRfUkVBRF9XUklU RSAgICAgPSAweDA1LAorIH0gcGhwX3Bob25nb19jb21tYW5kX3R5cGVfdDsKKyAKKy1ib29sIHBo b25nb19leGVjdXRlX2J1bGtfd3JpdGUoenZhbCogbWFuYWdlciwgY29uc3QgY2hhciogbmFtZXNw YWNlLCBwaHBfcGhvbmdvX2J1bGt3cml0ZV90KiBidWxrX3dyaXRlLCB6dmFsKiB6d3JpdGVDb25j ZXJuLCB1aW50MzJfdCBzZXJ2ZXJfaWQsIHp2YWwqIHJldHVybl92YWx1ZSk7CistYm9vbCBwaG9u Z29fZXhlY3V0ZV9jb21tYW5kKHp2YWwqIG1hbmFnZXIsIHBocF9waG9uZ29fY29tbWFuZF90eXBl X3QgdHlwZSwgY29uc3QgY2hhciogZGIsIHp2YWwqIHpjb21tYW5kLCB6dmFsKiB6cmVhZFByZWZl cmVuY2UsIHVpbnQzMl90IHNlcnZlcl9pZCwgenZhbCogcmV0dXJuX3ZhbHVlKTsKKy1ib29sIHBo b25nb19leGVjdXRlX3F1ZXJ5KHp2YWwqIG1hbmFnZXIsIGNvbnN0IGNoYXIqIG5hbWVzcGFjZSwg enZhbCogenF1ZXJ5LCB6dmFsKiB6cmVhZFByZWZlcmVuY2UsIHVpbnQzMl90IHNlcnZlcl9pZCwg enZhbCogcmV0dXJuX3ZhbHVlKTsKKytib29sIHBob25nb19leGVjdXRlX2J1bGtfd3JpdGUoenZh bCogbWFuYWdlciwgY29uc3QgY2hhciogbmFtZXNwYWNlLCBzaXplX3QgbmFtZXNwYWNlX2xlbiwg cGhwX3Bob25nb19idWxrd3JpdGVfdCogYnVsa193cml0ZSwgenZhbCogendyaXRlQ29uY2Vybiwg dWludDMyX3Qgc2VydmVyX2lkLCB6dmFsKiByZXR1cm5fdmFsdWUpOworK2Jvb2wgcGhvbmdvX2V4 ZWN1dGVfY29tbWFuZCh6dmFsKiBtYW5hZ2VyLCBwaHBfcGhvbmdvX2NvbW1hbmRfdHlwZV90IHR5 cGUsIGNvbnN0IGNoYXIqIGRiLCBzaXplX3QgZGJfbGVuLCB6dmFsKiB6Y29tbWFuZCwgenZhbCog enJlYWRQcmVmZXJlbmNlLCB1aW50MzJfdCBzZXJ2ZXJfaWQsIHp2YWwqIHJldHVybl92YWx1ZSk7 CisrYm9vbCBwaG9uZ29fZXhlY3V0ZV9xdWVyeSh6dmFsKiBtYW5hZ2VyLCBjb25zdCBjaGFyKiBu YW1lc3BhY2UsIHNpemVfdCBuYW1lc3BhY2VfbGVuLCB6dmFsKiB6cXVlcnksIHp2YWwqIHpyZWFk UHJlZmVyZW5jZSwgdWludDMyX3Qgc2VydmVyX2lkLCB6dmFsKiByZXR1cm5fdmFsdWUpOworIAor IGJvb2wgcGhvbmdvX3BhcnNlX3JlYWRfcHJlZmVyZW5jZSh6dmFsKiBvcHRpb25zLCB6dmFsKiog enJlYWRQcmVmZXJlbmNlKTsKKyBib29sIHBob25nb19wYXJzZV9zZXNzaW9uKHp2YWwqIG9wdGlv bnMsIG1vbmdvY19jbGllbnRfdCogY2xpZW50LCBic29uX3QqIG1vbmdvY19vcHRzLCB6dmFsKiog enNlc3Npb24pOworZGlmZiAtLWdpdCBhL3NyYy9waG9uZ29fdXRpbC5jIGIvc3JjL3Bob25nb191 dGlsLmMKK2luZGV4IDNjM2M2MzlmZC4uNjExNTU5MWUyIDEwMDY0NAorLS0tIGEvc3JjL3Bob25n b191dGlsLmMKKysrKyBiL3NyYy9waG9uZ29fdXRpbC5jCitAQCAtMTksNiArMTksNyBAQAorIAor ICNpbmNsdWRlIDxwaHAuaD4KKyAKKysjaW5jbHVkZSAicGhvbmdvX2Vycm9yLmgiCisgI2luY2x1 ZGUgInBob25nb191dGlsLmgiCisgCisgY29uc3QgY2hhciogcGhwX3Bob25nb19ic29uX3R5cGVf dG9fc3RyaW5nKGJzb25fdHlwZV90IHR5cGUpCitAQCAtMTQyLDMgKzE0Myw0NSBAQCBib29sIHBo b25nb19zcGxpdF9uYW1lc3BhY2UoY29uc3QgY2hhciogbmFtZXNwYWNlLCBjaGFyKiogZGJuYW1l LCBjaGFyKiogY25hbWUpCisgCisgCXJldHVybiB0cnVlOworIH0KKysKKysvKiBSZWplY3RzIGEg bmFtZXNwYWNlIHRoYXQgY29udGFpbnMgYSBOVUwgYnl0ZS4gQSBOVUwgYnl0ZSB3b3VsZCB0cnVu Y2F0ZSB0aGUKKysgKiBkYXRhYmFzZSBvciBjb2xsZWN0aW9uIG5hbWUgYXQgdGhlIEMtc3RyaW5n IGxheWVyIGJlZm9yZSBpdCByZWFjaGVzIHRoZQorKyAqIHNlcnZlciwgc2lsZW50bHkgcmV0YXJn ZXRpbmcgdGhlIG9wZXJhdGlvbi4gQSBwZXJpb2QgaXMgbm90IHJlamVjdGVkIGhlcmU6IGl0Cisr ICogc2VwYXJhdGVzIHRoZSBkYXRhYmFzZSBhbmQgY29sbGVjdGlvbiBuYW1lcywgYW5kIGEgcGVy aW9kIGlzIHZhbGlkIGluIGEKKysgKiBjb2xsZWN0aW9uIG5hbWUuICovCisrYm9vbCBwaG9uZ29f dmFsaWRhdGVfbmFtZXNwYWNlKGNvbnN0IGNoYXIqIG5hbWVzcGFjZSwgc2l6ZV90IG5hbWVzcGFj ZV9sZW4pCisreworKwlpZiAobmFtZXNwYWNlID09IE5VTEwpIHsKKysJCXJldHVybiB0cnVlOwor Kwl9CisrCisrCWlmIChtZW1jaHIobmFtZXNwYWNlLCAnXDAnLCBuYW1lc3BhY2VfbGVuKSAhPSBO VUxMKSB7CisrCQlwaG9uZ29fdGhyb3dfZXhjZXB0aW9uKFBIT05HT19FUlJPUl9JTlZBTElEX0FS R1VNRU5ULCAiJXMiLCAiSW52YWxpZCBuYW1lc3BhY2UgcHJvdmlkZWQ6IG5hbWVzcGFjZXMgbWF5 IG5vdCBjb250YWluIGEgbnVsbCBieXRlIik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysKKysJ cmV0dXJuIHRydWU7CisrfQorKworKy8qIFJlamVjdHMgYSBkYXRhYmFzZSBuYW1lIHRoYXQgY29u dGFpbnMgYSBOVUwgYnl0ZSBvciBhIHBlcmlvZC4gQSBOVUwgYnl0ZQorKyAqIHdvdWxkIHRydW5j YXRlIHRoZSBuYW1lIGF0IHRoZSBDLXN0cmluZyBsYXllcjsgYSBwZXJpb2Qgd291bGQgYmUgaW50 ZXJwcmV0ZWQKKysgKiBieSB0aGUgc2VydmVyIGFzIGEgbmFtZXNwYWNlIHNlcGFyYXRvciBhbmQg cmV0YXJnZXQgdGhlIGNvbW1hbmQgdG8gYQorKyAqIGRpZmZlcmVudCBkYXRhYmFzZS4gKi8KKyti b29sIHBob25nb192YWxpZGF0ZV9kYm5hbWUoY29uc3QgY2hhciogZGIsIHNpemVfdCBkYl9sZW4p CisreworKwlpZiAoZGIgPT0gTlVMTCkgeworKwkJcmV0dXJuIHRydWU7CisrCX0KKysKKysJaWYg KG1lbWNocihkYiwgJ1wwJywgZGJfbGVuKSAhPSBOVUxMKSB7CisrCQlwaG9uZ29fdGhyb3dfZXhj ZXB0aW9uKFBIT05HT19FUlJPUl9JTlZBTElEX0FSR1VNRU5ULCAiJXMiLCAiSW52YWxpZCBkYXRh YmFzZSBuYW1lIHByb3ZpZGVkOiBkYXRhYmFzZSBuYW1lcyBtYXkgbm90IGNvbnRhaW4gYSBudWxs IGJ5dGUiKTsKKysJCXJldHVybiBmYWxzZTsKKysJfQorKworKwlpZiAobWVtY2hyKGRiLCAnLics IGRiX2xlbikgIT0gTlVMTCkgeworKwkJcGhvbmdvX3Rocm93X2V4Y2VwdGlvbihQSE9OR09fRVJS T1JfSU5WQUxJRF9BUkdVTUVOVCwgIiVzOiAlcyIsICJJbnZhbGlkIGRhdGFiYXNlIG5hbWUgcHJv dmlkZWQ6IGRhdGFiYXNlIG5hbWVzIG1heSBub3QgY29udGFpbiBhICcuJyBjaGFyYWN0ZXIiLCBk Yik7CisrCQlyZXR1cm4gZmFsc2U7CisrCX0KKysKKysJcmV0dXJuIHRydWU7CisrfQorZGlmZiAt LWdpdCBhL3NyYy9waG9uZ29fdXRpbC5oIGIvc3JjL3Bob25nb191dGlsLmgKK2luZGV4IDFkNjFi ZTRkMi4uOGFhMzM2MmNkIDEwMDY0NAorLS0tIGEvc3JjL3Bob25nb191dGlsLmgKKysrKyBiL3Ny Yy9waG9uZ29fdXRpbC5oCitAQCAtMjgsNCArMjgsNyBAQCBib29sIHBocF9waG9uZ29fcGFyc2Vf aW50NjQoaW50NjRfdCogcmV0dmFsLCBjb25zdCBjaGFyKiBkYXRhLCBzaXplX3QgZGF0YV9sZW4p OworIAorIGJvb2wgcGhvbmdvX3NwbGl0X25hbWVzcGFjZShjb25zdCBjaGFyKiBuYW1lc3BhY2Us IGNoYXIqKiBkYm5hbWUsIGNoYXIqKiBjbmFtZSk7CisgCisrYm9vbCBwaG9uZ29fdmFsaWRhdGVf bmFtZXNwYWNlKGNvbnN0IGNoYXIqIG5hbWVzcGFjZSwgc2l6ZV90IG5hbWVzcGFjZV9sZW4pOwor K2Jvb2wgcGhvbmdvX3ZhbGlkYXRlX2RibmFtZShjb25zdCBjaGFyKiBkYiwgc2l6ZV90IGRiX2xl bik7CisrCisgI2VuZGlmIC8qIFBIT05HT19VVElMX0ggKi8KK2RpZmYgLS1naXQgYS90ZXN0cy9j bGllbnRFbmNyeXB0aW9uL2NsaWVudEVuY3J5cHRpb24tY3Rvcl9lcnJvci0wMDIucGhwdCBiL3Rl c3RzL2NsaWVudEVuY3J5cHRpb24vY2xpZW50RW5jcnlwdGlvbi1jdG9yX2Vycm9yLTAwMi5waHB0 CitpbmRleCAzNGZkYjk5YzIuLjdmMWQ1ZDk1ZCAxMDA2NDQKKy0tLSBhL3Rlc3RzL2NsaWVudEVu Y3J5cHRpb24vY2xpZW50RW5jcnlwdGlvbi1jdG9yX2Vycm9yLTAwMi5waHB0CisrKysgYi90ZXN0 cy9jbGllbnRFbmNyeXB0aW9uL2NsaWVudEVuY3J5cHRpb24tY3Rvcl9lcnJvci0wMDIucGhwdAor QEAgLTIxLDYgKzIxLDEwIEBAICR0ZXN0cyA9IFsKKyAgICAgICAgIC8vIGtleVZhdWx0TmFtZXNw YWNlIHJlcXVpcmVzIGEgdmFsaWQga21zUHJvdmlkZXJzIG9wdGlvbgorICAgICAgICAgJ2ttc1By b3ZpZGVycycgPT4gWydsb2NhbCcgPT4gWydrZXknID0+IG5ldyBNb25nb0RCXEJTT05cQmluYXJ5 KENTRkxFX0xPQ0FMX0tFWSwgMCldXSwKKyAgICAgXSArICRiYXNlT3B0aW9ucywKKysgICAgWwor KyAgICAgICAgJ2tleVZhdWx0TmFtZXNwYWNlJyA9PiAia2V5dmF1bHQuZGF0YVwwa2V5cyIsCisr ICAgICAgICAna21zUHJvdmlkZXJzJyA9PiBbJ2xvY2FsJyA9PiBbJ2tleScgPT4gbmV3IE1vbmdv REJcQlNPTlxCaW5hcnkoQ1NGTEVfTE9DQUxfS0VZLCAwKV1dLAorKyAgICBdICsgJGJhc2VPcHRp b25zLAorICAgICBbJ2ttc1Byb3ZpZGVycycgPT4gJ25vdF9hbl9hcnJheV9vcl9vYmplY3QnXSAr ICRiYXNlT3B0aW9ucywKKyAgICAgWyd0bHNPcHRpb25zJyA9PiAnbm90X2FuX2FycmF5X29yX29i amVjdCddICsgJGJhc2VPcHRpb25zLAorIF07CitAQCAtNTYsNiArNjAsOSBAQCBFeHBlY3RlZCAi a2V5VmF1bHRDbGllbnQiIG9wdGlvbiB0byBiZSBNb25nb0RCXERyaXZlclxNYW5hZ2VyLCBzdHJp bmcgZ2l2ZW4KKyBPSzogR290IE1vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1l bnRFeGNlcHRpb24KKyBFeHBlY3RlZCAia2V5VmF1bHROYW1lc3BhY2UiIG9wdGlvbiB0byBjb250 YWluIGEgZnVsbCBjb2xsZWN0aW9uIG5hbWVzcGFjZQorIAorK09LOiBHb3QgTW9uZ29EQlxEcml2 ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgorK0ludmFsaWQgbmFtZXNwYWNl IHByb3ZpZGVkOiBuYW1lc3BhY2VzIG1heSBub3QgY29udGFpbiBhIG51bGwgYnl0ZQorKworIE9L OiBHb3QgTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgor IEV4cGVjdGVkICJrbXNQcm92aWRlcnMiIG9wdGlvbiB0byBiZSBhbiBhcnJheSBvciBvYmplY3Qs IHN0cmluZyBnaXZlbgorIAorZGlmZiAtLWdpdCBhL3Rlc3RzL21hbmFnZXIvbWFuYWdlci1leGVj dXRlQnVsa1dyaXRlX2Vycm9yLTAxMi5waHB0IGIvdGVzdHMvbWFuYWdlci9tYW5hZ2VyLWV4ZWN1 dGVCdWxrV3JpdGVfZXJyb3ItMDEyLnBocHQKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCAw MDAwMDAwMDAuLmFlOGRhZjFiYgorLS0tIC9kZXYvbnVsbAorKysrIGIvdGVzdHMvbWFuYWdlci9t YW5hZ2VyLWV4ZWN1dGVCdWxrV3JpdGVfZXJyb3ItMDEyLnBocHQKK0BAIC0wLDAgKzEsMzYgQEAK KystLVRFU1QtLQorK01vbmdvREJcRHJpdmVyXE1hbmFnZXI6OmV4ZWN1dGVCdWxrV3JpdGUoKSBy ZWplY3RzIGEgbnVsbCBieXRlIGluIHRoZSBuYW1lc3BhY2UKKystLVNLSVBJRi0tCisrPD9waHAg cmVxdWlyZSBfX0RJUl9fIC4gIi8uLi91dGlscy9iYXNpYy1za2lwaWYuaW5jIjsgPz4KKys8P3Bo cCBza2lwX2lmX25vdF9saXZlKCk7ID8+CisrLS1GSUxFLS0KKys8P3BocAorKworK3JlcXVpcmVf b25jZSBfX0RJUl9fIC4gIi8uLi91dGlscy9iYXNpYy5pbmMiOworKworKyRtYW5hZ2VyID0gY3Jl YXRlX3Rlc3RfbWFuYWdlcigpOworKworKy8qIEEgbnVsbCBieXRlIGluIHRoZSBjb2xsZWN0aW9u IG5hbWUgd291bGQgdHJ1bmNhdGUgdGhlIG5hbWVzcGFjZSBhdCB0aGUKKysgKiBDLXN0cmluZyBs YXllciBhbmQgc2lsZW50bHkgcmV0YXJnZXQgdGhlIHdyaXRlLiAqLworK2VjaG8gdGhyb3dzKGZ1 bmN0aW9uKCkgdXNlICgkbWFuYWdlcikgeworKyAgICAkYnVsayA9IG5ldyBNb25nb0RCXERyaXZl clxCdWxrV3JpdGUoKTsKKysgICAgJGJ1bGstPmluc2VydChbJ3gnID0+IDFdKTsKKysgICAgJG1h bmFnZXItPmV4ZWN1dGVCdWxrV3JpdGUoImRhdGFiYXNlLmNvbFwwbGVjdGlvbiIsICRidWxrKTsK Kyt9LCAnTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicp LCAiXG4iOworKworKy8qIEEgbnVsbCBieXRlIGluIHRoZSBkYXRhYmFzZSBuYW1lIGlzIHJlamVj dGVkIHRoZSBzYW1lIHdheS4gKi8KKytlY2hvIHRocm93cyhmdW5jdGlvbigpIHVzZSAoJG1hbmFn ZXIpIHsKKysgICAgJGJ1bGsgPSBuZXcgTW9uZ29EQlxEcml2ZXJcQnVsa1dyaXRlKCk7CisrICAg ICRidWxrLT5pbnNlcnQoWyd4JyA9PiAxXSk7CisrICAgICRtYW5hZ2VyLT5leGVjdXRlQnVsa1dy aXRlKCJkYXRhXDBiYXNlLmNvbGxlY3Rpb24iLCAkYnVsayk7CisrfSwgJ01vbmdvREJcRHJpdmVy XEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nKSwgIlxuIjsKKysKKys/PgorKz09 PURPTkU9PT0KKys8P3BocCBleGl0KDApOyA/PgorKy0tRVhQRUNULS0KKytPSzogR290IE1vbmdv REJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KKytJbnZhbGlkIG5h bWVzcGFjZSBwcm92aWRlZDogbmFtZXNwYWNlcyBtYXkgbm90IGNvbnRhaW4gYSBudWxsIGJ5dGUK KytPSzogR290IE1vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRp b24KKytJbnZhbGlkIG5hbWVzcGFjZSBwcm92aWRlZDogbmFtZXNwYWNlcyBtYXkgbm90IGNvbnRh aW4gYSBudWxsIGJ5dGUKKys9PT1ET05FPT09CitkaWZmIC0tZ2l0IGEvdGVzdHMvbWFuYWdlci9t YW5hZ2VyLWV4ZWN1dGVDb21tYW5kX2Vycm9yLTAwNi5waHB0IGIvdGVzdHMvbWFuYWdlci9tYW5h Z2VyLWV4ZWN1dGVDb21tYW5kX2Vycm9yLTAwNi5waHB0CituZXcgZmlsZSBtb2RlIDEwMDY0NAor aW5kZXggMDAwMDAwMDAwLi5kODg0M2QwYzUKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL21h bmFnZXIvbWFuYWdlci1leGVjdXRlQ29tbWFuZF9lcnJvci0wMDYucGhwdAorQEAgLTAsMCArMSw0 NSBAQAorKy0tVEVTVC0tCisrTW9uZ29EQlxEcml2ZXJcTWFuYWdlcjo6ZXhlY3V0ZUNvbW1hbmQo KSByZWplY3RzIGEgbnVsbCBieXRlIG9yIHBlcmlvZCBpbiB0aGUgZGF0YWJhc2UgbmFtZQorKy0t U0tJUElGLS0KKys8P3BocCByZXF1aXJlIF9fRElSX18gLiAiLy4uL3V0aWxzL2Jhc2ljLXNraXBp Zi5pbmMiOyA/PgorKzw/cGhwIHNraXBfaWZfbm90X2xpdmUoKTsgPz4KKystLUZJTEUtLQorKzw/ cGhwCisrCisrcmVxdWlyZV9vbmNlIF9fRElSX18gLiAiLy4uL3V0aWxzL2Jhc2ljLmluYyI7Cisr CisrJG1hbmFnZXIgPSBjcmVhdGVfdGVzdF9tYW5hZ2VyKCk7CisrCisrLyogQSBudWxsIGJ5dGUg d291bGQgdHJ1bmNhdGUgdGhlIGRhdGFiYXNlIG5hbWUgYXQgdGhlIEMtc3RyaW5nIGxheWVyLiAq LworK2VjaG8gdGhyb3dzKGZ1bmN0aW9uKCkgdXNlICgkbWFuYWdlcikgeworKyAgICAkbWFuYWdl ci0+ZXhlY3V0ZUNvbW1hbmQoImRhdGFcMGJhc2UiLCBuZXcgTW9uZ29EQlxEcml2ZXJcQ29tbWFu ZChbJ3BpbmcnID0+IDFdKSk7CisrfSwgJ01vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlk QXJndW1lbnRFeGNlcHRpb24nKSwgIlxuIjsKKysKKysvKiBBIHBlcmlvZCB3b3VsZCBiZSByZWFk IGJ5IHRoZSBzZXJ2ZXIgYXMgYSBuYW1lc3BhY2Ugc2VwYXJhdG9yIGFuZCByZXRhcmdldAorKyAq IHRoZSBjb21tYW5kIHRvIGEgZGlmZmVyZW50IGRhdGFiYXNlLiAqLworK2VjaG8gdGhyb3dzKGZ1 bmN0aW9uKCkgdXNlICgkbWFuYWdlcikgeworKyAgICAkbWFuYWdlci0+ZXhlY3V0ZUNvbW1hbmQo ImRhdGEuYmFzZSIsIG5ldyBNb25nb0RCXERyaXZlclxDb21tYW5kKFsncGluZycgPT4gMV0pKTsK Kyt9LCAnTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicp LCAiXG4iOworKworKy8qIFRoZSBzYW1lIHZhbGlkYXRpb24gYXBwbGllcyB0byBleGVjdXRlUmVh ZENvbW1hbmQoKSBhbmQgZXhlY3V0ZVdyaXRlQ29tbWFuZCgpLiAqLworK2VjaG8gdGhyb3dzKGZ1 bmN0aW9uKCkgdXNlICgkbWFuYWdlcikgeworKyAgICAkbWFuYWdlci0+ZXhlY3V0ZVJlYWRDb21t YW5kKCJkYXRhLmJhc2UiLCBuZXcgTW9uZ29EQlxEcml2ZXJcQ29tbWFuZChbJ3BpbmcnID0+IDFd KSk7CisrfSwgJ01vbmdvREJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRp b24nKSwgIlxuIjsKKysKKytlY2hvIHRocm93cyhmdW5jdGlvbigpIHVzZSAoJG1hbmFnZXIpIHsK KysgICAgJG1hbmFnZXItPmV4ZWN1dGVXcml0ZUNvbW1hbmQoImRhdGEuYmFzZSIsIG5ldyBNb25n b0RCXERyaXZlclxDb21tYW5kKFsncGluZycgPT4gMV0pKTsKKyt9LCAnTW9uZ29EQlxEcml2ZXJc RXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbicpLCAiXG4iOworKworKz8+CisrPT09 RE9ORT09PQorKzw/cGhwIGV4aXQoMCk7ID8+CisrLS1FWFBFQ1QtLQorK09LOiBHb3QgTW9uZ29E QlxEcml2ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgorK0ludmFsaWQgZGF0 YWJhc2UgbmFtZSBwcm92aWRlZDogZGF0YWJhc2UgbmFtZXMgbWF5IG5vdCBjb250YWluIGEgbnVs bCBieXRlCisrT0s6IEdvdCBNb25nb0RCXERyaXZlclxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50 RXhjZXB0aW9uCisrSW52YWxpZCBkYXRhYmFzZSBuYW1lIHByb3ZpZGVkOiBkYXRhYmFzZSBuYW1l cyBtYXkgbm90IGNvbnRhaW4gYSAnLicgY2hhcmFjdGVyOiBkYXRhLmJhc2UKKytPSzogR290IE1v bmdvREJcRHJpdmVyXEV4Y2VwdGlvblxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24KKytJbnZhbGlk IGRhdGFiYXNlIG5hbWUgcHJvdmlkZWQ6IGRhdGFiYXNlIG5hbWVzIG1heSBub3QgY29udGFpbiBh ICcuJyBjaGFyYWN0ZXI6IGRhdGEuYmFzZQorK09LOiBHb3QgTW9uZ29EQlxEcml2ZXJcRXhjZXB0 aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgorK0ludmFsaWQgZGF0YWJhc2UgbmFtZSBwcm92 aWRlZDogZGF0YWJhc2UgbmFtZXMgbWF5IG5vdCBjb250YWluIGEgJy4nIGNoYXJhY3RlcjogZGF0 YS5iYXNlCisrPT09RE9ORT09PQorZGlmZiAtLWdpdCBhL3Rlc3RzL21hbmFnZXIvbWFuYWdlci1l eGVjdXRlUXVlcnlfZXJyb3ItMDA0LnBocHQgYi90ZXN0cy9tYW5hZ2VyL21hbmFnZXItZXhlY3V0 ZVF1ZXJ5X2Vycm9yLTAwNC5waHB0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAw MDAwLi4zNGRlOTlmMDMKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3RzL21hbmFnZXIvbWFuYWdl ci1leGVjdXRlUXVlcnlfZXJyb3ItMDA0LnBocHQKK0BAIC0wLDAgKzEsMzIgQEAKKystLVRFU1Qt LQorK01vbmdvREJcRHJpdmVyXE1hbmFnZXI6OmV4ZWN1dGVRdWVyeSgpIHJlamVjdHMgYSBudWxs IGJ5dGUgaW4gdGhlIG5hbWVzcGFjZQorKy0tU0tJUElGLS0KKys8P3BocCByZXF1aXJlIF9fRElS X18gLiAiLy4uL3V0aWxzL2Jhc2ljLXNraXBpZi5pbmMiOyA/PgorKzw/cGhwIHNraXBfaWZfbm90 X2xpdmUoKTsgPz4KKystLUZJTEUtLQorKzw/cGhwCisrCisrcmVxdWlyZV9vbmNlIF9fRElSX18g LiAiLy4uL3V0aWxzL2Jhc2ljLmluYyI7CisrCisrJG1hbmFnZXIgPSBjcmVhdGVfdGVzdF9tYW5h Z2VyKCk7CisrCisrLyogQSBudWxsIGJ5dGUgaW4gdGhlIGNvbGxlY3Rpb24gbmFtZSB3b3VsZCB0 cnVuY2F0ZSB0aGUgbmFtZXNwYWNlIGF0IHRoZQorKyAqIEMtc3RyaW5nIGxheWVyIGFuZCBzaWxl bnRseSByZXRhcmdldCB0aGUgcXVlcnkuICovCisrZWNobyB0aHJvd3MoZnVuY3Rpb24oKSB1c2Ug KCRtYW5hZ2VyKSB7CisrICAgICRtYW5hZ2VyLT5leGVjdXRlUXVlcnkoImRhdGFiYXNlLmNvbFww bGVjdGlvbiIsIG5ldyBNb25nb0RCXERyaXZlclxRdWVyeShbXSkpOworK30sICdNb25nb0RCXERy aXZlclxFeGNlcHRpb25cSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uJyksICJcbiI7CisrCisrLyog QSBudWxsIGJ5dGUgaW4gdGhlIGRhdGFiYXNlIG5hbWUgaXMgcmVqZWN0ZWQgdGhlIHNhbWUgd2F5 LiAqLworK2VjaG8gdGhyb3dzKGZ1bmN0aW9uKCkgdXNlICgkbWFuYWdlcikgeworKyAgICAkbWFu YWdlci0+ZXhlY3V0ZVF1ZXJ5KCJkYXRhXDBiYXNlLmNvbGxlY3Rpb24iLCBuZXcgTW9uZ29EQlxE cml2ZXJcUXVlcnkoW10pKTsKKyt9LCAnTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9uXEludmFsaWRB cmd1bWVudEV4Y2VwdGlvbicpLCAiXG4iOworKworKz8+CisrPT09RE9ORT09PQorKzw/cGhwIGV4 aXQoMCk7ID8+CisrLS1FWFBFQ1QtLQorK09LOiBHb3QgTW9uZ29EQlxEcml2ZXJcRXhjZXB0aW9u XEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgorK0ludmFsaWQgbmFtZXNwYWNlIHByb3ZpZGVkOiBu YW1lc3BhY2VzIG1heSBub3QgY29udGFpbiBhIG51bGwgYnl0ZQorK09LOiBHb3QgTW9uZ29EQlxE cml2ZXJcRXhjZXB0aW9uXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbgorK0ludmFsaWQgbmFtZXNw YWNlIHByb3ZpZGVkOiBuYW1lc3BhY2VzIG1heSBub3QgY29udGFpbiBhIG51bGwgYnl0ZQorKz09 PURPTkU9PT0KK2RpZmYgLS1naXQgYS90ZXN0cy9tYW5hZ2VyL21hbmFnZXItbmFtZXNwYWNlLWRv dHMucGhwdCBiL3Rlc3RzL21hbmFnZXIvbWFuYWdlci1uYW1lc3BhY2UtZG90cy5waHB0CituZXcg ZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAwLi5mYmRkZjM4NGYKKy0tLSAvZGV2L251 bGwKKysrKyBiL3Rlc3RzL21hbmFnZXIvbWFuYWdlci1uYW1lc3BhY2UtZG90cy5waHB0CitAQCAt MCwwICsxLDQzIEBACisrLS1URVNULS0KKytNb25nb0RCXERyaXZlclxNYW5hZ2VyOiBhIHBlcmlv ZCBpbiB0aGUgY29sbGVjdGlvbiBuYW1lIHN0YXlzIHZhbGlkCisrLS1TS0lQSUYtLQorKzw/cGhw IHJlcXVpcmUgX19ESVJfXyAuICIvLi4vdXRpbHMvYmFzaWMtc2tpcGlmLmluYyI7ID8+CisrPD9w aHAgc2tpcF9pZl9ub3RfbGl2ZSgpOyA/PgorKzw/cGhwIHNraXBfaWZfbm90X2NsZWFuKCk7ID8+ CisrLS1GSUxFLS0KKys8P3BocAorKworK3JlcXVpcmVfb25jZSBfX0RJUl9fIC4gIi8uLi91dGls cy9iYXNpYy5pbmMiOworKworKyRtYW5hZ2VyID0gY3JlYXRlX3Rlc3RfbWFuYWdlcigpOworKwor Ky8qIEEgcGVyaW9kIHNlcGFyYXRlcyB0aGUgZGF0YWJhc2UgYW5kIHRoZSBjb2xsZWN0aW9uIG5h bWUgYXQgdGhlIGZpcnN0CisrICogb2NjdXJyZW5jZSwgc28gaXQgc3RheXMgdmFsaWQgaW5zaWRl IGEgY29sbGVjdGlvbiBuYW1lLiAqLworKyRjb2xsZWN0aW9uTmFtZSA9IENPTExFQ1RJT05fTkFN RSAuICcud2l0aC5kb3RzJzsKKyskbmFtZXNwYWNlID0gREFUQUJBU0VfTkFNRSAuICcuJyAuICRj b2xsZWN0aW9uTmFtZTsKKysKKyskYnVsayA9IG5ldyBNb25nb0RCXERyaXZlclxCdWxrV3JpdGUo KTsKKyskYnVsay0+aW5zZXJ0KFsnX2lkJyA9PiAxXSk7CisrJHJlc3VsdCA9ICRtYW5hZ2VyLT5l eGVjdXRlQnVsa1dyaXRlKCRuYW1lc3BhY2UsICRidWxrKTsKKytwcmludGYoImluc2VydGVkQ291 bnQ6ICVkXG4iLCAkcmVzdWx0LT5nZXRJbnNlcnRlZENvdW50KCkpOworKworKy8qIGxpc3RDb2xs ZWN0aW9ucyBjb25maXJtcyB0aGUgY29sbGVjdGlvbiB3YXMgY3JlYXRlZCB3aXRoIHRoZSBmdWxs IG5hbWUsCisrICogaW5jbHVkaW5nIHRoZSBwZXJpb2RzLCBpbnN0ZWFkIG9mIHNwbGl0dGluZyB0 aGUgbmFtZXNwYWNlLiAqLworKyRjdXJzb3IgPSAkbWFuYWdlci0+ZXhlY3V0ZUNvbW1hbmQoREFU QUJBU0VfTkFNRSwgbmV3IE1vbmdvREJcRHJpdmVyXENvbW1hbmQoWworKyAgICAnbGlzdENvbGxl Y3Rpb25zJyA9PiAxLAorKyAgICAnZmlsdGVyJyA9PiBbJ25hbWUnID0+ICRjb2xsZWN0aW9uTmFt ZV0sCisrXSkpOworKyRjb2xsZWN0aW9ucyA9ICRjdXJzb3ItPnRvQXJyYXkoKTsKKytwcmludGYo Im1hdGNoZWQgY29sbGVjdGlvbnM6ICVkXG4iLCBjb3VudCgkY29sbGVjdGlvbnMpKTsKKytwcmlu dGYoIm5hbWUgbWF0Y2hlczogJXNcbiIsIHZhcl9leHBvcnQoJGNvbGxlY3Rpb25zWzBdLT5uYW1l ID09PSAkY29sbGVjdGlvbk5hbWUsIHRydWUpKTsKKysKKyskbWFuYWdlci0+ZXhlY3V0ZUNvbW1h bmQoREFUQUJBU0VfTkFNRSwgbmV3IE1vbmdvREJcRHJpdmVyXENvbW1hbmQoWydkcm9wJyA9PiAk Y29sbGVjdGlvbk5hbWVdKSk7CisrCisrPz4KKys9PT1ET05FPT09CisrPD9waHAgZXhpdCgwKTsg Pz4KKystLUVYUEVDVC0tCisraW5zZXJ0ZWRDb3VudDogMQorK21hdGNoZWQgY29sbGVjdGlvbnM6 IDEKKytuYW1lIG1hdGNoZXM6IHRydWUKKys9PT1ET05FPT09CgpkaWZmIC0tZ2l0IGEvcGhwLXBl Y2wtbW9uZ29kYi5zcGVjIGIvcGhwLXBlY2wtbW9uZ29kYi5zcGVjCmluZGV4IGM3ZmE2YmQuLjI3 NTBmNGUgMTAwNjQ0Ci0tLSBhL3BocC1wZWNsLW1vbmdvZGIuc3BlYworKysgYi9waHAtcGVjbC1t b25nb2RiLnNwZWMKQEAgLTMyLDEyICszMiwxNCBAQAogU3VtbWFyeTogICAgICAgIE1vbmdvREIg ZHJpdmVyIGZvciBQSFAKIE5hbWU6ICAgICAgICAgICBwaHAtcGVjbC0le3BlY2xfbmFtZX0KIFZl cnNpb246ICAgICAgICAle3Vwc3RyZWFtX3ZlcnNpb259JXs/dXBzdHJlYW1fbG93ZXJ9Ci1SZWxl YXNlOiAgICAgICAgMiV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMyV7P2Rpc3R9CiBMaWNlbnNl OiAgICAgICAgQXBhY2hlLTIuMAogVVJMOiAgICAgICAgICAgIGh0dHBzOi8vcGVjbC5waHAubmV0 L3BhY2thZ2UvJXtwZWNsX25hbWV9CiBTb3VyY2UwOiAgICAgICAgaHR0cHM6Ly9wZWNsLnBocC5u ZXQvZ2V0LyV7cGVjbF9uYW1lfS0le3Vwc3RyZWFtX3ZlcnNpb259JXs/dXBzdHJlYW1fcHJldmVy fS50Z3oKIAogUGF0Y2gwOiAgICAgICAgICV7cGVjbF9uYW1lfS1jdmUtMjAyNi02ODExLnBhdGNo CitQYXRjaDE6ICAgICAgICAgJXtwZWNsX25hbWV9LXBocGMtMjc0NS5wYXRjaAorUGF0Y2gyOiAg ICAgICAgICV7cGVjbF9uYW1lfS1waHBjLTI3NDQucGF0Y2gKIAogQnVpbGRSZXF1aXJlczogIGdj YwogQnVpbGRSZXF1aXJlczogIHBocC1kZXZlbCA+PSA3LjQKQEAgLTcyLDYgKzc0LDggQEAgc2Vk IC1lICdzL3JvbGU9InRlc3QiL3JvbGU9InNyYyIvJyBcCiAKIHB1c2hkICV7c291cmNlc30KICVw YXRjaCAtUDAgLXAxIC1iIC5jdmU2ODExCislcGF0Y2ggLVAxIC1wMSAtYiAucGhwYzI3NDUKKyVw YXRjaCAtUDIgLXAxIC1iIC5waHBjMjc0NAogCiAjIENoZWNrIG91ciBtYWNybyB2YWx1ZXMKIGdy ZXAgQ0hFQ0tfTU9EVUxFUyBjb25maWcubTQKQEAgLTE5MSw2ICsxOTUsMTEgQEAgY2QgLi4vWlRT CiAKIAogJWNoYW5nZWxvZworKiBUdWUgU2VwICA3IDIwMjYgUmVtaSBDb2xsZXQgPHJlbWlAcmVt aXJlcG8ubmV0PiAtIDEuMjAuMS0zCistIFJlamVjdCBudWxsIGJ5dGVzIGluIG5hbWVzcGFjZXMg YW5kIHBlcmlvZHMgaW4gZGF0YWJhc2UgbmFtZXMKKy0gRml4IG91dC1vZi1ib3VuZHMgcmVhZCB3 aGVuIGJ1aWxkaW5nIEJTT04gZmllbGQgcGF0aAorICBDVkUtMjAyNi04NDk2OAorCiAqIFdlZCBK dW4gMTAgMjAyNiBSZW1pIENvbGxldCA8cmVtaUByZW1pcmVwby5uZXQ+IC0gMS4yMC4xLTIKIC0g UmVzcGVjdCBsaWJic29uIG5lc3RpbmcgbGltaXQgd2hlbiBwYXJzaW5nIFBIUCBvYmplY3RzCiAg IENWRS0yMDI2LTY4MTEK