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: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Fixed compatible issues with gnome-shell 3.1.4 Date: Sun, 31 May 2026 02:05:19 GMT Message-ID: <178019311919.1.8978045396746783354.rpms-ibus-0318d1b391a0@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 0318d1b391a0f4f926ee6075cbff24a6c9819aaa QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAwMzE4ZDFiMzkxYTBmNGY5MjZlZTYwNzVjYmZmMjRhNmM5ODE5 YWFhCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDExLTA4LTE0VDA5OjEwOjIwKzA5OjAwClN0YXRzICA6ICs1MTIvLTU1OSBpbiA2IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvMDMx OGQxYjM5MWEwZjRmOTI2ZWU2MDc1Y2JmZjI0YTZjOTgxOWFhYT9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKRml4ZWQgY29tcGF0aWJsZSBpc3N1ZXMgd2l0aCBnbm9tZS1zaGVsbCAzLjEuNAoKLS0tCmRp ZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBkNzM1OTI1Li4xNmE4MDVh IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTEyLDUgKzEyLDQg QEAgaWJ1cy0xLjMuNi50YXIuZ3oKIC9pYnVzLTEuMy45OS4yMDExMDQwOC50YXIuZ3oKIC9pYnVz LTEuMy45OS4yMDExMDQxOS50YXIuZ3oKIC9pYnVzX21hc3Rlcl9kYS5wbwotL2lidXMtZ2pzLTEu My45OS4yMDExMDcyMC50YXIuZ3oKLS9pYnVzLWdqcy0xLjMuOTkuMjAxMTA4MDYudGFyLmd6Cisv aWJ1cy1nanMtMS4zLjk5LjIwMTEwODE0LnRhci5negoKZGlmZiAtLWdpdCBhL2lidXMtNTQxNDky LXhrYi5wYXRjaCBiL2lidXMtNTQxNDkyLXhrYi5wYXRjaAppbmRleCA2YTY0YjgyLi4wMDNiYWY0 IDEwMDY0NAotLS0gYS9pYnVzLTU0MTQ5Mi14a2IucGF0Y2gKKysrIGIvaWJ1cy01NDE0OTIteGti LnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotRnJvbSBhMjUzYWNkZTA5MzVlZmFlNGJiYzhhYTU5Y2E0 N2FiMjczYjk5MDdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSAyZDAwODFmZjVmMTkx MDFhMDM0ODQ2MWI5MTQyNzRmYzhiZDYzYTE5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJv bTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogRnJpLCA1IEF1 ZyAyMDExIDIwOjIyOjQyICswOTAwCitEYXRlOiBUaHUsIDExIEF1ZyAyMDExIDE5OjA3OjM4ICsw OTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFkZCBYS0IgbGF5b3V0cwogCiAtLS0KQEAgLTEzLDcgKzEz LDcgQEAgU3ViamVjdDogW1BBVENIXSBBZGQgWEtCIGxheW91dHMKICBpYnVzL2J1cy5weSAgICAg ICAgICAgICAgICB8ICAgIDMgKwogIGlidXMvaW50ZXJmYWNlL2lpYnVzLnB5ICAgIHwgICAgMyAr CiAgaWJ1cy94a2JsYXlvdXQucHkuaW4gICAgICAgfCAgMjMwICsrKysrKysrKysrKysrKysrCi0g aWJ1cy94a2J4bWwucHkuaW4gICAgICAgICAgfCAgNDE2ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKworIGlidXMveGtieG1sLnB5LmluICAgICAgICAgIHwgIDQxOSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKICBzZXR1cC9NYWtlZmlsZS5hbSAgICAgICAgICB8ICAgIDEgKwog IHNldHVwL2VuZ2luZWNvbWJvYm94LnB5ICAgIHwgICAgNyArLQogIHNldHVwL21haW4ucHkgICAg ICAgICAgICAgIHwgICAgMyArCkBAIC0zMiw5ICszMiw5IEBAIFN1YmplY3Q6IFtQQVRDSF0gQWRk IFhLQiBsYXlvdXRzCiAgeGtiL3hrYmxheW91dGNvbmZpZy54bWwuaW4gfCAgICA2ICsKICB4a2Iv eGtibGliLmMgICAgICAgICAgICAgICB8ICAzMjcgKysrKysrKysrKysrKysrKysrKysrKysrCiAg eGtiL3hrYmxpYi5oICAgICAgICAgICAgICAgfCAgIDQxICsrKwotIHhrYi94a2J4bWwuYyAgICAg ICAgICAgICAgIHwgIDMzOSArKysrKysrKysrKysrKysrKysrKysrKysKKyB4a2IveGtieG1sLmMg ICAgICAgICAgICAgICB8ICAzNDUgKysrKysrKysrKysrKysrKysrKysrKysrKwogIHhrYi94a2J4 bWwuaCAgICAgICAgICAgICAgIHwgIDExMyArKysrKysrKwotIDMwIGZpbGVzIGNoYW5nZWQsIDQw MjcgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKKyAzMCBmaWxlcyBjaGFuZ2VkLCA0MDM2 IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGlidXMv eGtibGF5b3V0LnB5LmluCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGlidXMveGtieG1sLnB5LmluCiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IHNldHVwL3hrYnNldHVwLnB5CkBAIC01MzcsMTAgKzUzNywxMCBA QCBpbmRleCAwMDAwMDAwLi4xMWZjZTEyCiArICAgICAgICBzZWxmLl9fZGVmYXVsdF9vcHRpb24g PSBzZWxmLmdldF9vcHRpb24oKQogZGlmZiAtLWdpdCBhL2lidXMveGtieG1sLnB5LmluIGIvaWJ1 cy94a2J4bWwucHkuaW4KIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4xNmY0 N2RmCitpbmRleCAwMDAwMDAwLi45NDA3YzEzCiAtLS0gL2Rldi9udWxsCiArKysgYi9pYnVzL3hr YnhtbC5weS5pbgotQEAgLTAsMCArMSw0MTYgQEAKK0BAIC0wLDAgKzEsNDE5IEBACiArIyB2aW06 c2V0IGV0IHN0cz00IHN3PTQ6CiArIwogKyMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKQEAgLTgzNiw3 ICs4MzYsNyBAQCBpbmRleCAwMDAwMDAwLi4xNmY0N2RmCiArICAgICAgICAgICAgICAgICAgICAg ICAgbGF5b3V0X2Rlc2M9Tm9uZSwKICsgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50PU5v bmUsCiArICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudF9kZXNjPU5vbmUsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgbmFtZV9wcmVmaXg9J3hrYjpsYXlvdXQ6Jyk6CisrICAgICAgICAg ICAgICAgICAgICAgICAgbmFtZT1Ob25lKToKICsgICAgICAgIGlmIHZhcmlhbnRfZGVzYyAhPSBO b25lOgogKyAgICAgICAgICAgIGxvbmduYW1lID0gdmFyaWFudF9kZXNjCiArICAgICAgICBlbGlm IGxheW91dCAhPSBOb25lIGFuZCB2YXJpYW50ICE9IE5vbmU6CkBAIC04NDUsMTIgKzg0NSwxNSBA QCBpbmRleCAwMDAwMDAwLi4xNmY0N2RmCiArICAgICAgICAgICAgbG9uZ25hbWUgPSBsYXlvdXRf ZGVzYwogKyAgICAgICAgZWxzZToKICsgICAgICAgICAgICBsb25nbmFtZSA9IGxheW91dAorKyAg ICAgICAgbmFtZV9wcmVmaXg9J3hrYjpsYXlvdXQ6JwogKyAgICAgICAgaWYgdmFyaWFudCAhPSBO b25lOgotKyAgICAgICAgICAgIG5hbWUgPSBuYW1lX3ByZWZpeCArIGxheW91dCArICc6JyArIHZh cmlhbnQKKysgICAgICAgICAgICBpZiBuYW1lID09IE5vbmU6CisrICAgICAgICAgICAgICAgIG5h bWUgPSBuYW1lX3ByZWZpeCArIGxheW91dCArICc6JyArIHZhcmlhbnQKICsgICAgICAgICAgICBk ZXNjID0gJ1hLQiAnICsgbGF5b3V0ICsgJygnICsgdmFyaWFudCArICcpIGtleWJvYXJkIGxheW91 dCcKICsgICAgICAgICAgICBlbmdpbmVfbGF5b3V0ID0gbGF5b3V0ICsgJygnICsgdmFyaWFudCAr ICcpJwogKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBuYW1lID0gbmFtZV9wcmVmaXggKyBs YXlvdXQKKysgICAgICAgICAgICBpZiBuYW1lID09IE5vbmU6CisrICAgICAgICAgICAgICAgIG5h bWUgPSBuYW1lX3ByZWZpeCArIGxheW91dAogKyAgICAgICAgICAgIGRlc2MgPSAnWEtCICcgKyBs YXlvdXQgKyAnIGtleWJvYXJkIGxheW91dCcKICsgICAgICAgICAgICBlbmdpbmVfbGF5b3V0ID0g bGF5b3V0CiArCkBAIC0yOTkxLDcgKzI5OTQsNyBAQCBpbmRleCAwMDAwMDAwLi5hZDljZGQ5CiAr ZW5kaWYKIGRpZmYgLS1naXQgYS94a2IvaWJ1cy1lbmdpbmUteGtiLW1haW4uYyBiL3hrYi9pYnVz LWVuZ2luZS14a2ItbWFpbi5jCiBuZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u YTJmMTMxYworaW5kZXggMDAwMDAwMC4uMGZiMGYwYwogLS0tIC9kZXYvbnVsbAogKysrIGIveGti L2lidXMtZW5naW5lLXhrYi1tYWluLmMKIEBAIC0wLDAgKzEsNDEzIEBACkBAIC0zMzI0LDcgKzMz MjcsNyBAQCBpbmRleCAwMDAwMDAwLi5hMmYxMzFjCiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwKICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAogKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOwotKyAgICAgICAgICAgIGlidXNf Y29tcG9uZW50X2FkZF9lbmdpbmUgKGNvbXBvbmVudCwgZW5naW5lKTsKKysgICAgICAgICAgICAg ICAgaWJ1c19jb21wb25lbnRfYWRkX2VuZ2luZSAoY29tcG9uZW50LCBlbmdpbmUpOwogKyAgICAg ICAgICAgIH0KICsgICAgICAgIH0KICsgICAgICAgIHZhcmlhbnRzID0gKEdMaXN0ICopIGdfaGFz aF90YWJsZV9sb29rdXAgKGxheW91dF9saXN0LCBrZXlzLT5kYXRhKTsKQEAgLTM5OTQsMTAgKzM5 OTcsMTAgQEAgaW5kZXggMDAwMDAwMC4uMTVlNWQxOAogKyNlbmRpZgogZGlmZiAtLWdpdCBhL3hr Yi94a2J4bWwuYyBiL3hrYi94a2J4bWwuYwogbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAw MDAwMDAuLmFkMTBjMjgKK2luZGV4IDAwMDAwMDAuLmQ1OWE5MjkKIC0tLSAvZGV2L251bGwKICsr KyBiL3hrYi94a2J4bWwuYwotQEAgLTAsMCArMSwzMzkgQEAKK0BAIC0wLDAgKzEsMzQ1IEBACiAr LyogLSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBuaWw7 IC0qLSAqLwogKy8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCiArLyogYnVzIC0gVGhlIElucHV0IEJ1 cwpAQCAtNDI2NywxOSArNDI3MCwxNyBAQCBpbmRleCAwMDAwMDAwLi5hZDEwYzI4CiArICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqbGF5b3V0X2Rlc2MsCiArICAgICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAqdmFyaWFudCwKICsgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnN0IGdjaGFyICp2YXJpYW50X2Rlc2MsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBnY2hhciAqbmFtZV9wcmVmaXgpCisrICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBnY2hhciAqYWx0X25hbWUpCiArewogKyAgICBJQnVzRW5naW5lRGVzYyAqZW5n aW5lOwogKyAgICBnY2hhciAqbmFtZSA9IE5VTEw7CiArICAgIGdjaGFyICpsb25nbmFtZSA9IE5V TEw7CiArICAgIGdjaGFyICpkZXNjID0gTlVMTDsKICsgICAgZ2NoYXIgKmVuZ2luZV9sYXlvdXQg PSBOVUxMOworKyAgICBjb25zdCBnY2hhciAqbmFtZV9wcmVmaXggPSAieGtiOmxheW91dDoiOwog KwogKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAobGFuZyAhPSBOVUxMICYmIGxheW91dCAhPSBO VUxMLCBOVUxMKTsKICsKLSsgICAgaWYgKG5hbWVfcHJlZml4ID09IE5VTEwpIHsKLSsgICAgICAg IG5hbWVfcHJlZml4ID0gInhrYjpsYXlvdXQ6IjsKLSsgICAgfQogKyAgICBpZiAodmFyaWFudF9k ZXNjKSB7CiArICAgICAgICBsb25nbmFtZSA9IGdfc3RyZHVwICh2YXJpYW50X2Rlc2MpOwogKyAg ICB9IGVsc2UgaWYgKGxheW91dCAmJiB2YXJpYW50KSB7CkBAIC00MjkwLDExICs0MjkxLDE5IEBA IGluZGV4IDAwMDAwMDAuLmFkMTBjMjgKICsgICAgICAgIGxvbmduYW1lID0gZ19zdHJkdXAgKGxh eW91dCk7CiArICAgIH0KICsgICAgaWYgKHZhcmlhbnQpIHsKLSsgICAgICAgIG5hbWUgPSBnX3N0 cmR1cF9wcmludGYgKCIlcyVzOiVzIiwgbmFtZV9wcmVmaXgsIGxheW91dCwgdmFyaWFudCk7Cisr ICAgICAgICBpZiAoYWx0X25hbWUpIHsKKysgICAgICAgICAgICBuYW1lID0gZ19zdHJkdXAgKGFs dF9uYW1lKTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgbmFtZSA9IGdfc3RyZHVw X3ByaW50ZiAoIiVzJXM6JXMiLCBuYW1lX3ByZWZpeCwgbGF5b3V0LCB2YXJpYW50KTsKKysgICAg ICAgIH0KICsgICAgICAgIGRlc2MgPSBnX3N0cmR1cF9wcmludGYgKCJYS0IgJXMoJXMpIGtleWJv YXJkIGxheW91dCIsIGxheW91dCwgdmFyaWFudCk7CiArICAgICAgICBlbmdpbmVfbGF5b3V0ID0g Z19zdHJkdXBfcHJpbnRmICgiJXMoJXMpIiwgbGF5b3V0LCB2YXJpYW50KTsKICsgICAgfSBlbHNl IHsKLSsgICAgICAgIG5hbWUgPSBnX3N0cmR1cF9wcmludGYgKCIlcyVzIiwgbmFtZV9wcmVmaXgs IGxheW91dCk7CisrICAgICAgICBpZiAoYWx0X25hbWUpIHsKKysgICAgICAgICAgICBuYW1lID0g Z19zdHJkdXAgKGFsdF9uYW1lKTsKKysgICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgbmFt ZSA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzJXMiLCBuYW1lX3ByZWZpeCwgbGF5b3V0KTsKKysgICAg ICAgIH0KICsgICAgICAgIGRlc2MgPSBnX3N0cmR1cF9wcmludGYgKCJYS0IgJXMga2V5Ym9hcmQg bGF5b3V0IiwgbGF5b3V0KTsKICsgICAgICAgIGVuZ2luZV9sYXlvdXQgPSBnX3N0cmR1cCAobGF5 b3V0KTsKICsgICAgfQoKZGlmZiAtLWdpdCBhL2lidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaCBi L2lidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaAppbmRleCAwYjU5MDIwLi41YTMyNWQ4IDEwMDY0 NAotLS0gYS9pYnVzLXh4LWJyaWRnZS1ob3RrZXkucGF0Y2gKKysrIGIvaWJ1cy14eC1icmlkZ2Ut aG90a2V5LnBhdGNoCkBAIC0xLDQzICsxLDQwIEBACi1Gcm9tIDlkNTM4N2VhNDMwYWRiY2U4MTg5 OWExYTJiZWNlNmM4NTIwODQ4YjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDUxMzZl NDEzNmUzODI3MWRhMTk1ZGE3NmUxMzc3MzA4ZGJjMmVkNjQgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBG cmksIDUgQXVnIDIwMTEgMjA6NTQ6MzcgKzA5MDAKK0RhdGU6IEZyaSwgMTIgQXVnIDIwMTEgMTY6 NDI6NTIgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gQWRkIGEgYnJpZGdlIGhvdGtleSB3aGljaCB1 c2UgcHJldi1uZXh0IGVuZ2luZXMgaW5zdGVhZAogIG9mIG9uLW9mZi4KIAogLS0tCiAgYnVzL01h a2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgMjAgKy0KLSBidXMvaWJ1c2ltcGwuYyAgICAg ICAgICAgICAgICAgIHwgIDQyNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0KLSBidXMvaW5wdXRjb250ZXh0LmMgICAgICAgICAgICAgIHwgICAzOSArKysrCisgYnVzL2li dXNpbXBsLmMgICAgICAgICAgICAgICAgICB8ICA1MDEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCisgYnVzL2lucHV0Y29udGV4dC5jICAgICAgICAgICAgICB8ICAgMzkg KysrCiAgYnVzL2lucHV0Y29udGV4dC5oICAgICAgICAgICAgICB8ICAgMjIgKysKLSBidXMvcmVn aXN0cnkuYyAgICAgICAgICAgICAgICAgIHwgICAzNiArKysrCisgYnVzL3JlZ2lzdHJ5LmMgICAg ICAgICAgICAgICAgICB8ICAgNjEgKysrKysKKyBidXMvcmVnaXN0cnkuaCAgICAgICAgICAgICAg ICAgIHwgICAxMCArCiAgY29uZmlndXJlLmFjICAgICAgICAgICAgICAgICAgICB8ICAgMzEgKysr CiAgZGF0YS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICB8ICAgIDYgKy0KLSBkYXRhL2lidXMu c2NoZW1hcy5pbiAgICAgICAgICAgIHwgIDI4NyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQot IGRhdGEvaWJ1cy5zY2hlbWFzLmluLmluICAgICAgICAgfCAgMzAwICsrKysrKysrKysrKysrKysr KysrKysrKysrKworIGRhdGEvaWJ1cy5zY2hlbWFzLmluICAgICAgICAgICAgfCAgMjg3IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyBkYXRhL2lidXMuc2NoZW1hcy5pbi5pbiAgICAgICAgIHwgIDMw MCArKysrKysrKysrKysrKysrKysrKysrKwogIGlidXMvX2NvbmZpZy5weS5pbiAgICAgICAgICAg ICAgfCAgICA2ICsKLSBpYnVzL2lucHV0Y29udGV4dC5weSAgICAgICAgICAgIHwgICAxNCArKy0K KyBpYnVzL2lucHV0Y29udGV4dC5weSAgICAgICAgICAgIHwgICAxNCArLQogIGlidXMvaW50ZXJm YWNlL2lpbnB1dGNvbnRleHQucHkgfCAgICA0ICstCiAgaWJ1cy94a2J4bWwucHkuaW4gICAgICAg ICAgICAgICB8ICAgIDQgKwogIHNldHVwL2VuZ2luZWNvbWJvYm94LnB5ICAgICAgICAgfCAgICAz ICsKLSBzZXR1cC9lbmdpbmV0cmVldmlldy5weSAgICAgICAgIHwgICAxNiArKy0KLSBzZXR1cC9t YWluLnB5ICAgICAgICAgICAgICAgICAgIHwgICAyNCArKysKKyBzZXR1cC9lbmdpbmV0cmVldmll dy5weSAgICAgICAgIHwgICAgOCArLQorIHNldHVwL21haW4ucHkgICAgICAgICAgICAgICAgICAg fCAgIDI0ICsrCiAgc2V0dXAvc2V0dXAudWkgICAgICAgICAgICAgICAgICB8ICAgNTUgKysrKyst CiAgc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgMTggKy0KICBzcmMvaWJ1c2hv dGtleS5jICAgICAgICAgICAgICAgIHwgICAxMSArCiAgc3JjL2lidXNob3RrZXkuaCAgICAgICAg ICAgICAgICB8ICAgMTEgKwogIHNyYy9pYnVzdXRpbC5jICAgICAgICAgICAgICAgICAgfCAgIDEy ICsKLSBzcmMvaWJ1c3V0aWwuaCAgICAgICAgICAgICAgICAgIHwgICAxNCArKwotIHVpL2d0ay9N YWtlZmlsZS5hbSAgICAgICAgICAgICAgfCAgICAyICsKLSB1aS9ndGsvcGFuZWwucHkgICAgICAg ICAgICAgICAgIHwgIDI4OCArKysrKysrKysrKysrKysrKysrKysrKystLQotIHVpL2d0ay94a2Jl bmdpbmUucHkgICAgICAgICAgICAgfCAgIDkzICsrKysrKysrKwotIHVpL2d0ay94a2JmYWN0b3J5 LnB5ICAgICAgICAgICAgfCAgMTE3ICsrKysrKysrKysrCisgc3JjL2lidXN1dGlsLmggICAgICAg ICAgICAgICAgICB8ICAgMTQgKworIHVpL2d0ay9wYW5lbC5weSAgICAgICAgICAgICAgICAgfCAg MjcxICsrKysrKysrKysrKysrKysrKysrLS0KICB4a2IvTWFrZWZpbGUuYW0gICAgICAgICAgICAg ICAgIHwgICAgMiArCisgeGtiL2lidXMtZW5naW5lLXhrYi1tYWluLmMgICAgICB8ICAgMTkgKysK ICB4a2IveGtieG1sLmMgICAgICAgICAgICAgICAgICAgIHwgICAxMCArLQotIDI4IGZpbGVzIGNo YW5nZWQsIDE0ODAgaW5zZXJ0aW9ucygrKSwgMzkwIGRlbGV0aW9ucygtKQorIDI4IGZpbGVzIGNo YW5nZWQsIDEzNzQgaW5zZXJ0aW9ucygrKSwgMzkxIGRlbGV0aW9ucygtKQogIGRlbGV0ZSBtb2Rl IDEwMDY0NCBkYXRhL2lidXMuc2NoZW1hcy5pbgogIGNyZWF0ZSBtb2RlIDEwMDY0NCBkYXRhL2li dXMuc2NoZW1hcy5pbi5pbgotIGNyZWF0ZSBtb2RlIDEwMDY0NCB1aS9ndGsveGtiZW5naW5lLnB5 Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IHVpL2d0ay94a2JmYWN0b3J5LnB5CiAKIGRpZmYgLS1naXQg YS9idXMvTWFrZWZpbGUuYW0gYi9idXMvTWFrZWZpbGUuYW0KIGluZGV4IDA3NGI0NTYuLjBlZmFh MWIgMTAwNjQ0CkBAIC03MSw3ICs2OCw3IEBAIGluZGV4IDA3NGI0NTYuLjBlZmFhMWIgMTAwNjQ0 CiAgQU1fTERBREQgPSAgICAgICAgICAgICAgICAgIFwKICAJQEdPQkpFQ1QyX0xJQlNAICAgICAg ICAgXAogZGlmZiAtLWdpdCBhL2J1cy9pYnVzaW1wbC5jIGIvYnVzL2lidXNpbXBsLmMKLWluZGV4 IGYxM2Q4ZTAuLjQ0ZmU5NTQgMTAwNjQ0CitpbmRleCA4NTM0NjVjLi4wMDg2NGFjIDEwMDY0NAog LS0tIGEvYnVzL2lidXNpbXBsLmMKICsrKyBiL2J1cy9pYnVzaW1wbC5jCiBAQCAtMjAsMTIgKzIw LDE3IEBACkBAIC0xMTIsMzggKzEwOSwxMjAgQEAgaW5kZXggZjEzZDhlMC4uNDRmZTk1NCAxMDA2 NDQKICAvKiBmdW5jdGlvbnMgcHJvdG90eXBlICovCiAgc3RhdGljIHZvaWQgICAgICBidXNfaWJ1 c19pbXBsX2Rlc3Ryb3kgICAgICAgICAgIChCdXNJQnVzSW1wbCAgICAgICAgKmlidXMpOwogIHN0 YXRpYyB2b2lkICAgICAgYnVzX2lidXNfaW1wbF9zZXJ2aWNlX21ldGhvZF9jYWxsCi1AQCAtMjg1 LDYgKzI5NiwzMCBAQCBfcGFuZWxfZGVzdHJveV9jYiAoQnVzUGFuZWxQcm94eSAqcGFuZWwsCitA QCAtMjg1LDYgKzI5NiwxMTIgQEAgX3BhbmVsX2Rlc3Ryb3lfY2IgKEJ1c1BhbmVsUHJveHkgKnBh bmVsLAogICAgICBnX29iamVjdF91bnJlZiAocGFuZWwpOwogIH0KICAKLStzdGF0aWMgSUJ1c0Vu Z2luZURlc2MgKgotK19maW5kX2VuZ2luZV9kZXNjX2J5X25hbWUgKEJ1c0lCdXNJbXBsICppYnVz LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICplbmdpbmVfbmFtZSkK KysvKioKKysgKiBfZm9yZWFjaF9yZW1vdmVfZW5naW5lX2hvdGtleToKKysgKgorKyAqIFJlbW92 ZSB0aGUgZW5naW5lLXNwZWNpZmljIGhvdCBrZXkgb2YgdGhlIGVuZ2luZSwgYW5kIHVwZGF0ZSBp YnVzLT5lbmdpbmVzX2hvdGtleV9wcm9maWxlLgorKyAqLworK2dib29sZWFuCisrX2ZvcmVhY2hf cmVtb3ZlX2VuZ2luZV9ob3RrZXkgKGdwb2ludGVyICAgICAgICBrZXksCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAgICB2YWx1ZSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgIGRhdGEpCiArewotKyAgICBJQnVzRW5n aW5lRGVzYyAqZGVzYyA9IE5VTEw7Ci0rICAgIEdMaXN0ICpwOworKyAgICBHUXVhcmsgZXZlbnQg PSBHUE9JTlRFUl9UT19VSU5UICh2YWx1ZSk7CisrICAgIHN0cnVjdCBfaW1wbF9hbmRfZGVzYyB7 CisrICAgICAgICBCdXNJQnVzSW1wbCAgICAqaWJ1czsKKysgICAgICAgIElCdXNFbmdpbmVEZXNj ICpkZXNjOworKyAgICB9ICppZCA9IChzdHJ1Y3QgX2ltcGxfYW5kX2Rlc2MgKikgZGF0YTsKKysg ICAgQnVzSUJ1c0ltcGwgKmlidXMgPSBpZC0+aWJ1czsKKysgICAgSUJ1c0VuZ2luZURlc2MgKmRl c2MgPSBpZC0+ZGVzYzsKKysgICAgR0xpc3QgKmVuZ2luZV9saXN0OwogKwotKyAgICAvKiBmaW5k IGVuZ2luZSBpbiByZWdpc3RlcmVkIGVuZ2luZSBsaXN0ICovCi0rICAgIGZvciAocCA9IGlidXMt PnJlZ2lzdGVyX2VuZ2luZV9saXN0OyBwICE9IE5VTEw7IHAgPSBwLT5uZXh0KSB7Ci0rICAgICAg ICBkZXNjID0gKElCdXNFbmdpbmVEZXNjICopIHAtPmRhdGE7Ci0rICAgICAgICBpZiAoZ19zdHJj bXAwIChpYnVzX2VuZ2luZV9kZXNjX2dldF9uYW1lIChkZXNjKSwgZW5naW5lX25hbWUpID09IDAp Ci0rICAgICAgICAgICAgcmV0dXJuIGRlc2M7CisrICAgIGdfYXNzZXJ0IChpYnVzICE9IE5VTEwp OworKyAgICBnX2Fzc2VydCAoZGVzYyAhPSBOVUxMKTsKKysKKysgICAgaWYgKGV2ZW50ID09IDAp IHsKKysgICAgICAgIHJldHVybiBGQUxTRTsKICsgICAgfQogKwotKyAgICAvKiBmaW5kIGVuZ2lu ZSBpbiBwcmVsb2FkIGVuZ2luZSBsaXN0ICovCi0rICAgIGZvciAocCA9IGlidXMtPmVuZ2luZV9s aXN0OyBwICE9IE5VTEw7IHAgPSBwLT5uZXh0KSB7Ci0rICAgICAgICBkZXNjID0gKElCdXNFbmdp bmVEZXNjICopIHAtPmRhdGE7Ci0rICAgICAgICBpZiAoZ19zdHJjbXAwIChpYnVzX2VuZ2luZV9k ZXNjX2dldF9uYW1lIChkZXNjKSwgZW5naW5lX25hbWUpID09IDApCi0rICAgICAgICAgICAgcmV0 dXJuIGRlc2M7CisrICAgIGVuZ2luZV9saXN0ID0gZ19oYXNoX3RhYmxlX2xvb2t1cCAoaWJ1cy0+ aG90a2V5X3RvX2VuZ2luZXNfbWFwLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdVSU5UX1RPX1BPSU5URVIgKGV2ZW50KSk7CisrCisrICAgIC8qIEFzIHdlIHdpbGwg cmVidWlsZCB0aGUgZW5naW5lcyBob3RrZXkgbWFwIHdoZW5ldmVyIGFuIGVuZ2luZSB3YXMKKysg ICAgICogYWRkZWQgb3IgcmVtb3ZlZCwgd2UgZG9uJ3QgbmVlZCB0byBob2xkIGEgcmVmZXJlbmNl IG9mIHRoZSBlbmdpbmUKKysgICAgICogaGVyZS4gKi8KKysgICAgaWYgKGVuZ2luZV9saXN0ICYm IGdfbGlzdF9maW5kIChlbmdpbmVfbGlzdCwgZGVzYykgIT0gTlVMTCkgeworKyAgICAgICAgZW5n aW5lX2xpc3QgPSBnX2xpc3RfcmVtb3ZlIChlbmdpbmVfbGlzdCwgZGVzYyk7CiArICAgIH0KICsK LSsgICAgcmV0dXJuIE5VTEw7CisrICAgIC8qIFdlIG5lZWQgdG8gc3RlYWwgdGhlIHZhbHVlIGJl Zm9yZSBhZGRpbmcgaXQgYmFjaywgb3RoZXJ3aXNlIGl0IHdpbGwKKysgICAgICogYmUgZGVzdHJv eWVkLiAqLworKyAgICBnX2hhc2hfdGFibGVfc3RlYWwgKGlidXMtPmhvdGtleV90b19lbmdpbmVz X21hcCwgR1VJTlRfVE9fUE9JTlRFUiAoZXZlbnQpKTsKKysKKysgICAgaWYgKGVuZ2luZV9saXN0 ICE9IE5VTEwpIHsKKysgICAgICAgIGdfaGFzaF90YWJsZV9pbnNlcnQgKGlidXMtPmhvdGtleV90 b19lbmdpbmVzX21hcCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdVSU5UX1RPX1BP SU5URVIgKGV2ZW50KSwgZW5naW5lX2xpc3QpOworKyAgICB9CisrCisrICAgIHJldHVybiBGQUxT RTsKKyt9CisrCisrLyoqCisrICogX2FkZF9lbmdpbmVfaG90a2V5X3dpdGhfaG90a2V5czoKKysg KgorKyAqIENoZWNrIHRoZSBlbmdpbmUtc3BlY2lmaWMgaG90IGtleSBvZiB0aGUgZW5naW5lLCBh bmQgdXBkYXRlIGlidXMtPmVuZ2luZXNfaG90a2V5X3Byb2ZpbGUuCisrICovCisrc3RhdGljIHZv aWQKKytfYWRkX2VuZ2luZV9ob3RrZXlfd2l0aF9ob3RrZXlzIChJQnVzRW5naW5lRGVzYyAqZW5n aW5lLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c0lCdXNJbXBsICAgICpp YnVzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICpo b3RrZXlzKQorK3sKKysgICAgZ2NoYXIgKipob3RrZXlfbGlzdDsKKysgICAgZ2NoYXIgKipwOwor KyAgICBnY2hhciAqaG90a2V5OworKyAgICBHTGlzdCAqZW5naW5lX2xpc3Q7CisrCisrICAgIEdR dWFyayBldmVudDsKKysgICAgZ3VpbnQga2V5dmFsOworKyAgICBndWludCBtb2RpZmllcnM7Cisr CisrICAgIGdfYXNzZXJ0IChlbmdpbmUgIT0gTlVMTCk7CisrICAgIGdfYXNzZXJ0IChob3RrZXlz ICYmICpob3RrZXlzKTsKKysKKysgICAgaG90a2V5X2xpc3QgPSBnX3N0cnNwbGl0X3NldCAoaG90 a2V5cywgIjssIiwgMCk7CisrCisrICAgIGZvciAocCA9IGhvdGtleV9saXN0OyBwICYmICpwOyAr K3ApIHsKKysgICAgICAgIGhvdGtleSA9IGdfc3Ryc3RyaXAgKCpwKTsKKysgICAgICAgIGlmICgh KmhvdGtleSB8fCAhaWJ1c19rZXlfZXZlbnRfZnJvbV9zdHJpbmcgKGhvdGtleSwgJmtleXZhbCwg Jm1vZGlmaWVycykpIHsKKysgICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAgIH0KKysKKysg ICAgICAgIC8qIElmIHRoZSBob3RrZXkgYWxyZWFkeSBleGlzdHMsIHdlIHdvbid0IG5lZWQgdG8g YWRkIGl0IGFnYWluLiAqLworKyAgICAgICAgZXZlbnQgPSBpYnVzX2hvdGtleV9wcm9maWxlX2xv b2t1cF9ob3RrZXkgKGlidXMtPmVuZ2luZXNfaG90a2V5X3Byb2ZpbGUsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5dmFsLCBtb2RpZmllcnMp OworKyAgICAgICAgaWYgKGV2ZW50ID09IDApIHsKKysgICAgICAgICAgICBldmVudCA9IGdfcXVh cmtfZnJvbV9zdHJpbmcgKGhvdGtleSk7CisrICAgICAgICAgICAgaWJ1c19ob3RrZXlfcHJvZmls ZV9hZGRfaG90a2V5IChpYnVzLT5lbmdpbmVzX2hvdGtleV9wcm9maWxlLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5dmFsLCBtb2RpZmllcnMsIGV2ZW50 KTsKKysgICAgICAgIH0KKysKKysgICAgICAgIGVuZ2luZV9saXN0ID0gZ19oYXNoX3RhYmxlX2xv b2t1cCAoaWJ1cy0+aG90a2V5X3RvX2VuZ2luZXNfbWFwLAorKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHVUlOVF9UT19QT0lOVEVSIChldmVudCkpOworKworKyAg ICAgICAgLyogQXMgd2Ugd2lsbCByZWJ1aWxkIHRoZSBlbmdpbmVzIGhvdGtleSBtYXAgd2hlbmV2 ZXIgYW4gZW5naW5lIHdhcworKyAgICAgICAgICogYWRkZWQgb3IgcmVtb3ZlZCwgd2UgZG9uJ3Qg bmVlZCB0byBob2xkIGEgcmVmZXJlbmNlIG9mIHRoZSBlbmdpbmUKKysgICAgICAgICAqIGhlcmUu ICovCisrICAgICAgICBlbmdpbmVfbGlzdCA9IGdfbGlzdF9hcHBlbmQgKGVuZ2luZV9saXN0LCBl bmdpbmUpOworKworKyAgICAgICAgLyogV2UgbmVlZCB0byBzdGVhbCB0aGUgdmFsdWUgYmVmb3Jl IGFkZGluZyBpdCBiYWNrLCBvdGhlcndpc2UgaXQgd2lsbAorKyAgICAgICAgICogYmUgZGVzdHJv eWVkLiAqLworKyAgICAgICAgZ19oYXNoX3RhYmxlX3N0ZWFsIChpYnVzLT5ob3RrZXlfdG9fZW5n aW5lc19tYXAsIEdVSU5UX1RPX1BPSU5URVIgKGV2ZW50KSk7CisrCisrICAgICAgICBnX2hhc2hf dGFibGVfaW5zZXJ0IChpYnVzLT5ob3RrZXlfdG9fZW5naW5lc19tYXAsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHVUlOVF9UT19QT0lOVEVSIChldmVudCksIGVuZ2luZV9saXN0KTsK KysgICAgfQorKworKyAgICBnX3N0cmZyZWV2IChob3RrZXlfbGlzdCk7CiArfQogKwogIHN0YXRp YyB2b2lkCiAgX2NvbmZpZ19zZXRfdmFsdWVfZG9uZSAoR09iamVjdCAgICAgICpvYmplY3QsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgR0FzeW5jUmVzdWx0ICpyZXMsCi1AQCAtNTYyLDYgKzU5 Nyw2NyBAQCBidXNfaWJ1c19pbXBsX3NldF9ob3RrZXkgKEJ1c0lCdXNJbXBsICppCitAQCAtNTYy LDYgKzY3OSw2NyBAQCBidXNfaWJ1c19pbXBsX3NldF9ob3RrZXkgKEJ1c0lCdXNJbXBsICppCiAg CiAgfQogIApAQCAtMjExLDcgKzI5MCw3IEBAIGluZGV4IGYxM2Q4ZTAuLjQ0ZmU5NTQgMTAwNjQ0 CiAgLyoqCiAgICogYnVzX2lidXNfaW1wbF9zZXRfdHJpZ2dlcjoKICAgKgotQEAgLTU3Myw3ICs2 NjksMTUgQEAgYnVzX2lidXNfaW1wbF9zZXRfdHJpZ2dlciAoQnVzSUJ1c0ltcGwgKgorQEAgLTU3 Myw3ICs3NTEsMTUgQEAgYnVzX2lidXNfaW1wbF9zZXRfdHJpZ2dlciAoQnVzSUJ1c0ltcGwgKgog IHsKICAgICAgR1F1YXJrIGhvdGtleSA9IGdfcXVhcmtfZnJvbV9zdGF0aWNfc3RyaW5nICgidHJp Z2dlciIpOwogICAgICBpZiAodmFsdWUgIT0gTlVMTCkgewpAQCAtMjI3LDEzNSArMzA2LDkwIEBA IGluZGV4IGYxM2Q4ZTAuLjQ0ZmU5NTQgMTAwNjQ0CiAgICAgIH0KICAjaWZuZGVmIE9TX0NIUk9N RU9TCiAgICAgIGVsc2UgewotQEAgLTExODIsMjggKzEyODYsMTEwIEBAIF9pYnVzX2dldF9hZGRy ZXNzIChCdXNJQnVzSW1wbCAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZ192YXJpYW50X25ldyAoIihzKSIsIGJ1c19zZXJ2ZXJfZ2V0X2FkZHJl c3MgKCkpKTsKK0BAIC02MzksNiArODI1LDcyIEBAIGJ1c19pYnVzX2ltcGxfc2V0X3ByZXZpb3Vz X2VuZ2luZSAoQnVzSUIKKyAgICAgYnVzX2lidXNfaW1wbF9zZXRfaG90a2V5IChpYnVzLCBob3Rr ZXksIHZhbHVlKTsKICB9CiAgCi0tc3RhdGljIElCdXNFbmdpbmVEZXNjICoKLS1fZmluZF9lbmdp bmVfZGVzY19ieV9uYW1lIChCdXNJQnVzSW1wbCAqaWJ1cywKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICBjb25zdCBnY2hhciAqZW5naW5lX25hbWUpCi0tewotLSAgICBJQnVzRW5naW5lRGVz YyAqZGVzYyA9IE5VTEw7Ci0tICAgIEdMaXN0ICpwOwotKy8qKgotKyAqIF9mb3JlYWNoX3JlbW92 ZV9lbmdpbmVfaG90a2V5OgotKyAqCi0rICogUmVtb3ZlIHRoZSBlbmdpbmUtc3BlY2lmaWMgaG90 IGtleSBvZiB0aGUgZW5naW5lLCBhbmQgdXBkYXRlIGlidXMtPmVuZ2luZXNfaG90a2V5X3Byb2Zp bGUuCi0rICovCi0rZ2Jvb2xlYW4KLStfZm9yZWFjaF9yZW1vdmVfZW5naW5lX2hvdGtleSAoZ3Bv aW50ZXIgICAgICAgIGtleSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50 ZXIgICAgICAgIHZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncG9pbnRl ciAgICAgICAgZGF0YSkKKysjaWYgVVNFX0JSSURHRV9IT1RLRVkKKytzdGF0aWMgZ2ludAorK19l bmdpbmVfZGVzY19uYW1lX2NtcCAoSUJ1c0VuZ2luZURlc2MgKmRlc2MxLAorKyAgICAgICAgICAg ICAgICAgICAgICAgSUJ1c0VuZ2luZURlc2MgKmRlc2MyKQogK3sKLSsgICAgR1F1YXJrIGV2ZW50 ID0gR1BPSU5URVJfVE9fVUlOVCAodmFsdWUpOwotKyAgICBzdHJ1Y3QgX2ltcGxfYW5kX2Rlc2Mg ewotKyAgICAgICAgQnVzSUJ1c0ltcGwgICAgKmlidXM7Ci0rICAgICAgICBJQnVzRW5naW5lRGVz YyAqZGVzYzsKLSsgICAgfSAqaWQgPSAoc3RydWN0IF9pbXBsX2FuZF9kZXNjICopIGRhdGE7Ci0r ICAgIEJ1c0lCdXNJbXBsICppYnVzID0gaWQtPmlidXM7Ci0rICAgIElCdXNFbmdpbmVEZXNjICpk ZXNjID0gaWQtPmRlc2M7Ci0rICAgIEdMaXN0ICplbmdpbmVfbGlzdDsKLSAKLS0gICAgLyogZmlu ZCBlbmdpbmUgaW4gcmVnaXN0ZXJlZCBlbmdpbmUgbGlzdCAqLwotLSAgICBmb3IgKHAgPSBpYnVz LT5yZWdpc3Rlcl9lbmdpbmVfbGlzdDsgcCAhPSBOVUxMOyBwID0gcC0+bmV4dCkgewotLSAgICAg ICAgZGVzYyA9IChJQnVzRW5naW5lRGVzYyAqKSBwLT5kYXRhOwotLSAgICAgICAgaWYgKGdfc3Ry Y21wMCAoaWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAoZGVzYyksIGVuZ2luZV9uYW1lKSA9PSAw KQotLSAgICAgICAgICAgIHJldHVybiBkZXNjOwotKyAgICBnX2Fzc2VydCAoaWJ1cyAhPSBOVUxM KTsKLSsgICAgZ19hc3NlcnQgKGRlc2MgIT0gTlVMTCk7Ci0rCi0rICAgIGlmIChldmVudCA9PSAw KSB7Ci0rICAgICAgICByZXR1cm4gRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgLyogZmluZCBlbmdp bmUgaW4gcHJlbG9hZCBlbmdpbmUgbGlzdCAqLwotLSAgICBmb3IgKHAgPSBpYnVzLT5lbmdpbmVf bGlzdDsgcCAhPSBOVUxMOyBwID0gcC0+bmV4dCkgewotLSAgICAgICAgZGVzYyA9IChJQnVzRW5n aW5lRGVzYyAqKSBwLT5kYXRhOwotLSAgICAgICAgaWYgKGdfc3RyY21wMCAoaWJ1c19lbmdpbmVf ZGVzY19nZXRfbmFtZSAoZGVzYyksIGVuZ2luZV9uYW1lKSA9PSAwKQotLSAgICAgICAgICAgIHJl dHVybiBkZXNjOwotKyAgICBlbmdpbmVfbGlzdCA9IGdfaGFzaF90YWJsZV9sb29rdXAgKGlidXMt PmhvdGtleV90b19lbmdpbmVzX21hcCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHVUlOVF9UT19QT0lOVEVSIChldmVudCkpOwotKwotKyAgICAvKiBBcyB3ZSB3aWxs IHJlYnVpbGQgdGhlIGVuZ2luZXMgaG90a2V5IG1hcCB3aGVuZXZlciBhbiBlbmdpbmUgd2FzCi0r ICAgICAqIGFkZGVkIG9yIHJlbW92ZWQsIHdlIGRvbid0IG5lZWQgdG8gaG9sZCBhIHJlZmVyZW5j ZSBvZiB0aGUgZW5naW5lCi0rICAgICAqIGhlcmUuICovCi0rICAgIGlmIChlbmdpbmVfbGlzdCAm JiBnX2xpc3RfZmluZCAoZW5naW5lX2xpc3QsIGRlc2MpICE9IE5VTEwpIHsKLSsgICAgICAgIGVu Z2luZV9saXN0ID0gZ19saXN0X3JlbW92ZSAoZW5naW5lX2xpc3QsIGRlc2MpOwotICAgICB9Ci0g Ci0tICAgIHJldHVybiBOVUxMOwotKyAgICAvKiBXZSBuZWVkIHRvIHN0ZWFsIHRoZSB2YWx1ZSBi ZWZvcmUgYWRkaW5nIGl0IGJhY2ssIG90aGVyd2lzZSBpdCB3aWxsCi0rICAgICAqIGJlIGRlc3Ry b3llZC4gKi8KLSsgICAgZ19oYXNoX3RhYmxlX3N0ZWFsIChpYnVzLT5ob3RrZXlfdG9fZW5naW5l c19tYXAsIEdVSU5UX1RPX1BPSU5URVIgKGV2ZW50KSk7Ci0rCi0rICAgIGlmIChlbmdpbmVfbGlz dCAhPSBOVUxMKSB7Ci0rICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0IChpYnVzLT5ob3RrZXlf dG9fZW5naW5lc19tYXAsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVUlOVF9UT19Q T0lOVEVSIChldmVudCksIGVuZ2luZV9saXN0KTsKLSsgICAgfQotKwotKyAgICByZXR1cm4gRkFM U0U7CisrICAgIHJldHVybiBnX3N0cmNtcDAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRl c2MxKSwKKysgICAgICAgICAgICAgICAgICAgICAgaWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAo ZGVzYzIpKTsKICt9CiArCi0rLyoqCi0rICogX2FkZF9lbmdpbmVfaG90a2V5X3dpdGhfaG90a2V5 czoKLSsgKgotKyAqIENoZWNrIHRoZSBlbmdpbmUtc3BlY2lmaWMgaG90IGtleSBvZiB0aGUgZW5n aW5lLCBhbmQgdXBkYXRlIGlidXMtPmVuZ2luZXNfaG90a2V5X3Byb2ZpbGUuCi0rICovCiArc3Rh dGljIHZvaWQKLStfYWRkX2VuZ2luZV9ob3RrZXlfd2l0aF9ob3RrZXlzIChJQnVzRW5naW5lRGVz YyAqZW5naW5lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1c0lCdXNJbXBs ICAgICppYnVzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFy ICAgICpob3RrZXlzKQorK19zZXRfcmVnaXN0ZXJfZW5naW5lcyAoQnVzSUJ1c0ltcGwgKmlidXMs CisrICAgICAgICAgICAgICAgICAgICAgICBHVmFyaWFudCAgICAqdmFsdWUpCiArewotKyAgICBn Y2hhciAqKmhvdGtleV9saXN0OwotKyAgICBnY2hhciAqKnA7Ci0rICAgIGdjaGFyICpob3RrZXk7 Ci0rICAgIEdMaXN0ICplbmdpbmVfbGlzdDsKKysgICAgR0xpc3QgKmVuZ2luZV9saXN0ID0gTlVM TDsKICsKLSsgICAgR1F1YXJrIGV2ZW50OwotKyAgICBndWludCBrZXl2YWw7Ci0rICAgIGd1aW50 IG1vZGlmaWVyczsKLSsKLSsgICAgZ19hc3NlcnQgKGVuZ2luZSAhPSBOVUxMKTsKLSsgICAgZ19h c3NlcnQgKGhvdGtleXMgJiYgKmhvdGtleXMpOwotKwotKyAgICBob3RrZXlfbGlzdCA9IGdfc3Ry c3BsaXRfc2V0IChob3RrZXlzLCAiOywiLCAwKTsKKysgICAgZ19hc3NlcnQgKEJVU19JU19JQlVT X0lNUEwgKGlidXMpKTsKICsKLSsgICAgZm9yIChwID0gaG90a2V5X2xpc3Q7IHAgJiYgKnA7ICsr cCkgewotKyAgICAgICAgaG90a2V5ID0gZ19zdHJzdHJpcCAoKnApOwotKyAgICAgICAgaWYgKCEq aG90a2V5IHx8ICFpYnVzX2tleV9ldmVudF9mcm9tX3N0cmluZyAoaG90a2V5LCAma2V5dmFsLCAm bW9kaWZpZXJzKSkgewotKyAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICBlbmdpbmVfbGlzdCA9 IGlidXMtPnJlZ2lzdGVyX2VuZ2luZV9saXN0OworKyAgICBpZiAodmFsdWUgIT0gTlVMTCAmJiBn X3ZhcmlhbnRfY2xhc3NpZnkgKHZhbHVlKSA9PSBHX1ZBUklBTlRfQ0xBU1NfQVJSQVkpIHsKKysg ICAgICAgIEdWYXJpYW50SXRlciBpdGVyOworKyAgICAgICAgZ192YXJpYW50X2l0ZXJfaW5pdCAo Jml0ZXIsIHZhbHVlKTsKKysgICAgICAgIGNvbnN0IGdjaGFyICplbmdpbmVfbmFtZSA9IE5VTEw7 CisrICAgICAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbG9vcCAoJml0ZXIsICImcyIsICZlbmdp bmVfbmFtZSkpIHsKKysgICAgICAgICAgICBJQnVzRW5naW5lRGVzYyAqZW5naW5lID0gYnVzX3Jl Z2lzdHJ5X2ZpbmRfZW5naW5lX2J5X25hbWUgKGlidXMtPnJlZ2lzdHJ5LCBlbmdpbmVfbmFtZSk7 CisrICAgICAgICAgICAgaWYgKGVuZ2luZSA9PSBOVUxMIHx8IGdfbGlzdF9maW5kIChlbmdpbmVf bGlzdCwgZW5naW5lKSAhPSBOVUxMKQorKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKysgICAg ICAgICAgICBlbmdpbmVfbGlzdCA9IGdfbGlzdF9hcHBlbmQgKGVuZ2luZV9saXN0LCBnX29iamVj dF9yZWYgKGVuZ2luZSkpOwogKyAgICAgICAgfQorKyAgICB9IGVsc2UgaWYgKHZhbHVlICE9IE5V TEwpIHsKKysgICAgICAgIGdfdmFyaWFudF91bnJlZiAodmFsdWUpOworKyAgICB9CiArCi0rICAg ICAgICAvKiBJZiB0aGUgaG90a2V5IGFscmVhZHkgZXhpc3RzLCB3ZSB3b24ndCBuZWVkIHRvIGFk ZCBpdCBhZ2Fpbi4gKi8KLSsgICAgICAgIGV2ZW50ID0gaWJ1c19ob3RrZXlfcHJvZmlsZV9sb29r dXBfaG90a2V5IChpYnVzLT5lbmdpbmVzX2hvdGtleV9wcm9maWxlLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbCwgbW9kaWZpZXJzKTsK LSsgICAgICAgIGlmIChldmVudCA9PSAwKSB7Ci0rICAgICAgICAgICAgZXZlbnQgPSBnX3F1YXJr X2Zyb21fc3RyaW5nIChob3RrZXkpOwotKyAgICAgICAgICAgIGlidXNfaG90a2V5X3Byb2ZpbGVf YWRkX2hvdGtleSAoaWJ1cy0+ZW5naW5lc19ob3RrZXlfcHJvZmlsZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbCwgbW9kaWZpZXJzLCBldmVudCk7 CisrICAgIGlidXMtPnJlZ2lzdGVyX2VuZ2luZV9saXN0ID0gZW5naW5lX2xpc3Q7CisrCisrICAg IGlmIChlbmdpbmVfbGlzdCkgeworKyAgICAgICAgQnVzQ29tcG9uZW50ICpjb21wb25lbnQgPSBi dXNfY29tcG9uZW50X2Zyb21fZW5naW5lX2Rlc2MgKChJQnVzRW5naW5lRGVzYyAqKSBlbmdpbmVf bGlzdC0+ZGF0YSk7CisrICAgICAgICBpZiAoY29tcG9uZW50ICYmICFidXNfY29tcG9uZW50X2lz X3J1bm5pbmcgKGNvbXBvbmVudCkpIHsKKysgICAgICAgICAgICBidXNfY29tcG9uZW50X3N0YXJ0 IChjb21wb25lbnQsIGdfdmVyYm9zZSk7CiArICAgICAgICB9CisrICAgIH0KKyt9CiArCi0rICAg ICAgICBlbmdpbmVfbGlzdCA9IGdfaGFzaF90YWJsZV9sb29rdXAgKGlidXMtPmhvdGtleV90b19l bmdpbmVzX21hcCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R1VJTlRfVE9fUE9JTlRFUiAoZXZlbnQpKTsKKytzdGF0aWMgdm9pZAorK19zZXRfZGVmYXVsdF9r ZXlib2FyZF9sYXlvdXRfZW5naW5lcyAoQnVzSUJ1c0ltcGwgKmlidXMpCisreworKyAgICBHTGlz dCAqZW5naW5lcyA9IE5VTEw7CisrICAgIEdMaXN0ICpsaXN0OworKyAgICBHVmFyaWFudEJ1aWxk ZXIgYnVpbGRlcjsKICsKLSsgICAgICAgIC8qIEFzIHdlIHdpbGwgcmVidWlsZCB0aGUgZW5naW5l cyBob3RrZXkgbWFwIHdoZW5ldmVyIGFuIGVuZ2luZSB3YXMKLSsgICAgICAgICAqIGFkZGVkIG9y IHJlbW92ZWQsIHdlIGRvbid0IG5lZWQgdG8gaG9sZCBhIHJlZmVyZW5jZSBvZiB0aGUgZW5naW5l Ci0rICAgICAgICAgKiBoZXJlLiAqLwotKyAgICAgICAgZW5naW5lX2xpc3QgPSBnX2xpc3RfYXBw ZW5kIChlbmdpbmVfbGlzdCwgZW5naW5lKTsKKysgICAgZ19hc3NlcnQgKEJVU19JU19JQlVTX0lN UEwgKGlidXMpKTsKICsKLSsgICAgICAgIC8qIFdlIG5lZWQgdG8gc3RlYWwgdGhlIHZhbHVlIGJl Zm9yZSBhZGRpbmcgaXQgYmFjaywgb3RoZXJ3aXNlIGl0IHdpbGwKLSsgICAgICAgICAqIGJlIGRl c3Ryb3llZC4gKi8KLSsgICAgICAgIGdfaGFzaF90YWJsZV9zdGVhbCAoaWJ1cy0+aG90a2V5X3Rv X2VuZ2luZXNfbWFwLCBHVUlOVF9UT19QT0lOVEVSIChldmVudCkpOworKyAgICBlbmdpbmVzID0g YnVzX3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X25hbWVfcHJlZml4IChpYnVzLT5yZWdpc3RyeSwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpOworKyAgICAvKiBzb3J0IGVuZ2luZXMgYnkgcmFu ayAqLworKyAgICBlbmdpbmVzID0gZ19saXN0X3NvcnQgKGVuZ2luZXMsIChHQ29tcGFyZUZ1bmMp IF9lbmdpbmVfZGVzY19uYW1lX2NtcCk7CiArCi0rICAgICAgICBnX2hhc2hfdGFibGVfaW5zZXJ0 IChpYnVzLT5ob3RrZXlfdG9fZW5naW5lc19tYXAsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHVUlOVF9UT19QT0lOVEVSIChldmVudCksIGVuZ2luZV9saXN0KTsKKysgICAgZ192YXJp YW50X2J1aWxkZXJfaW5pdCAoJmJ1aWxkZXIsIEdfVkFSSUFOVF9UWVBFICgiYXMiKSk7CisrICAg IGZvciAobGlzdCA9IGVuZ2luZXM7IGxpc3QgIT0gTlVMTDsgbGlzdCA9IGxpc3QtPm5leHQpIHsK KysgICAgICAgIElCdXNFbmdpbmVEZXNjICpkZXNjID0gKElCdXNFbmdpbmVEZXNjICopbGlzdC0+ ZGF0YTsKKysgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZCAoJmJ1aWxkZXIsICJzIiwgaWJ1 c19lbmdpbmVfZGVzY19nZXRfbmFtZSAoZGVzYykpOwogKyAgICB9CisrICAgIF9zZXRfcmVnaXN0 ZXJfZW5naW5lcyAoaWJ1cywgZ192YXJpYW50X2J1aWxkZXJfZW5kICgmYnVpbGRlcikpOworKyAg ICBnX2xpc3RfZnJlZSAoZW5naW5lcyk7CisrfQorKyNlbmRpZgogKwotKyAgICBnX3N0cmZyZWV2 IChob3RrZXlfbGlzdCk7Ci0gfQotIAogIC8qKgotQEAgLTEyMTYsNyArMTQwMiw3MSBAQCBfY29u dGV4dF9yZXF1ZXN0X2VuZ2luZV9jYiAoQnVzSW5wdXRDb250CisgICogYnVzX2lidXNfaW1wbF9z ZXRfcHJlbG9hZF9lbmdpbmVzOgorICAqCitAQCAtNjU4LDYgKzkxMCw5IEBAIGJ1c19pYnVzX2lt cGxfc2V0X3ByZWxvYWRfZW5naW5lcyAoQnVzSUIKKyAgICAgICAgICAgICBfc2V0X3ByZWxvYWRf ZW5naW5lcyAoaWJ1cywgdmFsdWUpOworICAgICAgICAgfQorICAgICB9CisrI2lmIFVTRV9CUklE R0VfSE9US0VZCisrICAgIF9zZXRfZGVmYXVsdF9rZXlib2FyZF9sYXlvdXRfZW5naW5lcyAoaWJ1 cyk7CisrI2VuZGlmCisgI2Vsc2UKKyAgICAgX3NldF9wcmVsb2FkX2VuZ2luZXMgKGlidXMsIHZh bHVlKTsKKyAjZW5kaWYKK0BAIC0xMjE2LDcgKzE0NzEsNzEgQEAgX2NvbnRleHRfcmVxdWVzdF9l bmdpbmVfY2IgKEJ1c0lucHV0Q29udAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z dCBnY2hhciAgICAgKmVuZ2luZV9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC dXNJQnVzSW1wbCAgICAgKmlidXMpCiAgewpAQCAtNDI4LDcgKzQ2MiwyMiBAQCBpbmRleCBmMTNk OGUwLi40NGZlOTU0IDEwMDY0NAogIH0KICAKICAvKioKLUBAIC0yMjcwLDYgKzI1MjAsOSBAQCBi dXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1dHMgCitAQCAtMTI1NSw4ICsxNTc0 LDEzIEBAIGJ1c19pYnVzX2ltcGxfZ2V0X2VuZ2luZV9kZXNjIChCdXNJQnVzSW0KKyAgICAgICAg IGlmICghZGVzYykgeworICAgICAgICAgICAgIGlmIChpYnVzLT5yZWdpc3Rlcl9lbmdpbmVfbGlz dCkgeworICAgICAgICAgICAgICAgICBkZXNjID0gKElCdXNFbmdpbmVEZXNjICopIGlidXMtPnJl Z2lzdGVyX2VuZ2luZV9saXN0LT5kYXRhOworKyNpZiBVU0VfQlJJREdFX0hPVEtFWQorKyAgICAg ICAgICAgICAgICBpZiAoZW5naW5lX25hbWUgPT0gTlVMTCkgeworKyAgICAgICAgICAgICAgICAg ICAgZGVzYyA9IE5VTEw7CisrICAgICAgICAgICAgICAgIH0KKysjZW5kaWYKKyAgICAgICAgICAg ICB9CistICAgICAgICAgICAgZWxzZSBpZiAoaWJ1cy0+ZW5naW5lX2xpc3QpIHsKKysgICAgICAg ICAgICBpZiAoIWRlc2MgJiYgaWJ1cy0+ZW5naW5lX2xpc3QpIHsKKyAgICAgICAgICAgICAgICAg ZGVzYyA9IChJQnVzRW5naW5lRGVzYyAqKSBpYnVzLT5lbmdpbmVfbGlzdC0+ZGF0YTsKKyAgICAg ICAgICAgICB9CisgICAgICAgICB9CitAQCAtMjI2Nyw2ICsyNTkxLDkgQEAgYnVzX2lidXNfaW1w bF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRjdXRzIAogIAogICAgICBHUXVhcmsgZXZlbnQ7CiAgICAg IEdMaXN0ICplbmdpbmVfbGlzdDsKQEAgLTQzOCw3ICs0ODcsNyBAQCBpbmRleCBmMTNkOGUwLi40 NGZlOTU0IDEwMDY0NAogIAogICAgICBpZiAodHJpZ2dlciA9PSAwKSB7CiAgICAgICAgICB0cmln Z2VyID0gZ19xdWFya19mcm9tX3N0YXRpY19zdHJpbmcgKCJ0cmlnZ2VyIik7Ci1AQCAtMjMzNCw2 ICsyNTg3LDEyIEBAIGJ1c19pYnVzX2ltcGxfZmlsdGVyX2tleWJvYXJkX3Nob3J0Y3V0cyAKK0BA IC0yMzMxLDYgKzI2NTgsMTIgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRj dXRzIAogICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICB9CiAgCkBAIC00NTEsNyArNTAwLDcg QEAgaW5kZXggZjEzZDhlMC4uNDRmZTk1NCAxMDA2NDQKICAgICAgLyogVGhlbiB0cnkgZW5naW5l cyBob3RrZXlzLiAqLwogICAgICBldmVudCA9IGlidXNfaG90a2V5X3Byb2ZpbGVfZmlsdGVyX2tl eV9ldmVudCAoaWJ1cy0+ZW5naW5lc19ob3RrZXlfcHJvZmlsZSwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleXZhbCwKLUBAIC0yMzU1LDYgKzI2 MTQsMjQgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRjdXRzIAorQEAgLTIz NTIsNiArMjY4NSwyNCBAQCBidXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9ydGN1dHMg CiAgCiAgICAgICAgICBnX2Fzc2VydCAobmV3X2VuZ2luZV9kZXNjKTsKICAKQEAgLTQ3Niw3ICs1 MjUsNyBAQCBpbmRleCBmMTNkOGUwLi40NGZlOTU0IDEwMDY0NAogICAgICAgICAgLyogRmluZCBv dXQgd2hhdCBlbmdpbmUgd2Ugc2hvdWxkIHN3aXRjaCB0by4gSWYgdGhlIGN1cnJlbnQgZW5naW5l IGhhcwogICAgICAgICAgICogdGhlIHNhbWUgaG90a2V5LCB0aGVuIHdlIHNob3VsZCBzd2l0Y2gg dG8gdGhlIG5leHQgZW5naW5lIHdpdGggdGhlCiAgICAgICAgICAgKiBzYW1lIGhvdGtleSBpbiB0 aGUgbGlzdC4gT3RoZXJ3aXNlLCB3ZSBqdXN0IHN3aXRjaCB0byB0aGUgZmlyc3QKLUBAIC0yMzY2 LDggKzI2NDMsNDcgQEAgYnVzX2lidXNfaW1wbF9maWx0ZXJfa2V5Ym9hcmRfc2hvcnRjdXRzIAor QEAgLTIzNjMsOCArMjcxNCw0NyBAQCBidXNfaWJ1c19pbXBsX2ZpbHRlcl9rZXlib2FyZF9zaG9y dGN1dHMgCiAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgIH0KICAgICAgICAg IH0KQEAgLTQ4Niw3ICs1MzUsNyBAQCBpbmRleCBmMTNkOGUwLi40NGZlOTU0IDEwMDY0NAogKyAg ICAgICAgaWYgKGNvbnRleHQgPT0gTlVMTCkgewogKyAgICAgICAgICAgIHJldHVybiBGQUxTRTsK ICsgICAgICAgIH0KLSsKKyAKICsgICAgICAgIC8qIFRoaXMgbWVhbnMgUmVxdWVzdEVuZ2luZSBz aWduYWwgbWlnaHQgYmUgZG9uZSBidXQgU2V0RW5naW5lIHNpZ25hbAogKyAgICAgICAgICogaGFz IG5vdCBiZWVuIGRvbmUgeWV0IGJ5IGlidXMgc3RhdHVzIGljb24uICovCiArICAgICAgICBpZiAo Y3VycmVudF9lbmdpbmVfZGVzYyA9PSBOVUxMICYmCkBAIC01MDEsNyArNTUwLDcgQEAgaW5kZXgg ZjEzZDhlMC4uNDRmZTk1NCAxMDA2NDQKICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZW5naW5lX2Rlc2MpOwogKyAg ICAgICAgICAgICAgICB9CiArICAgICAgICAgICAgfQotIAorKwogKyAgICAgICAgICAgIC8qIElm IHRoZSBwcmV2aW91cyBlbmdpbmUgaXMgbm90IGluY2x1ZGVkIGluIGVuZ2luZV9saXN0IGFuZAog KyAgICAgICAgICAgICAqIHRoZSBjdXJyZW50IGVuZ2luZSBpcyB0aGUgZGVmdWFsdCBicmlkZ2Ug ZW5naW5lLAogKyAgICAgICAgICAgICAqIHRoZSBjdXJyZW50IGVuZ2luZSBpcyBhbHNvIG5vdCBp bmNsdWRlZCBpbiBlbmdpbmVfbGlzdC4KQEAgLTUyNCw3ICs1NzMsNyBAQCBpbmRleCBmMTNkOGUw Li40NGZlOTU0IDEwMDY0NAogICAgICAgICAgICAgIGJ1c19pYnVzX2ltcGxfc2V0X2NvbnRleHRf ZW5naW5lX2Zyb21fZGVzYyAoaWJ1cywgY29udGV4dCwgbmV3X2VuZ2luZV9kZXNjKTsKICAgICAg ICAgIH0KICAKLUBAIC0yNDcyLDU5ICsyNzg4LDU0IEBAIHN0YXRpYyB2b2lkCitAQCAtMjQ2OCw1 OSArMjg1OCw1NCBAQCBzdGF0aWMgdm9pZAogIF9hZGRfZW5naW5lX2hvdGtleSAoSUJ1c0VuZ2lu ZURlc2MgKmVuZ2luZSwgQnVzSUJ1c0ltcGwgKmlidXMpCiAgewogICAgICBjb25zdCBnY2hhciAq aG90a2V5czsKQEAgLTcxOSw3ICs3NjgsNyBAQCBpbmRleCBiYzRlMDk2Li5jNzllMDMzIDEwMDY0 NAogIEdfRU5EX0RFQ0xTCiAgI2VuZGlmCiBkaWZmIC0tZ2l0IGEvYnVzL3JlZ2lzdHJ5LmMgYi9i dXMvcmVnaXN0cnkuYwotaW5kZXggN2I3NDc4MS4uMDdlOTE0OCAxMDA2NDQKK2luZGV4IDdiNzQ3 ODEuLjI4ZTJhYmYgMTAwNjQ0CiAtLS0gYS9idXMvcmVnaXN0cnkuYwogKysrIGIvYnVzL3JlZ2lz dHJ5LmMKIEBAIC0xOSw2ICsxOSwxMSBAQApAQCAtNzg1LDYgKzgzNCw1OSBAQCBpbmRleCA3Yjc0 NzgxLi4wN2U5MTQ4IDEwMDY0NAogIH0KICAKICBzdGF0aWMgdm9pZAorQEAgLTUxNiw2ICs1NTIs MzEgQEAgYnVzX3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X2xhbmd1YWdlIChCdXNSZWdpc3RyeSAq cmVnaXN0cnksCisgICAgIHJldHVybiBlbmdpbmVzOworIH0KKyAKKytHTGlzdCAqCisrYnVzX3Jl Z2lzdHJ5X2dldF9lbmdpbmVzX2J5X25hbWVfcHJlZml4IChCdXNSZWdpc3RyeSAqcmVnaXN0cnks CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBnY2hhciAq bmFtZV9wcmVmaXgpCisreworKyAgICBHTGlzdCAqcDEsICpwMjsKKysgICAgR0xpc3QgKmVuZ2lu ZXMgPSBOVUxMOworKworKyAgICBnX2Fzc2VydCAoQlVTX0lTX1JFR0lTVFJZIChyZWdpc3RyeSkp OworKyAgICBnX2Fzc2VydCAobmFtZV9wcmVmaXgpOworKworKyAgICBwMSA9IGJ1c19yZWdpc3Ry eV9nZXRfZW5naW5lcyAocmVnaXN0cnkpOworKworKyAgICBmb3IgKHAyID0gcDE7IHAyICE9IE5V TEw7IHAyID0gcDItPm5leHQpIHsKKysgICAgICAgIElCdXNFbmdpbmVEZXNjICpkZXNjID0gKElC dXNFbmdpbmVEZXNjICopIHAyLT5kYXRhOworKyAgICAgICAgaWYgKGdfYXNjaWlfc3RybmNhc2Vj bXAgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRlc2MpLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5hbWVfcHJlZml4LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cmxlbiAobmFtZV9wcmVmaXgpKSA9PSAwKSB7CisrICAgICAgICAgICAgZW5naW5l cyA9IGdfbGlzdF9hcHBlbmQgKGVuZ2luZXMsIGRlc2MpOworKyAgICAgICAgfQorKyAgICB9Cisr CisrICAgIGdfbGlzdF9mcmVlIChwMSk7CisrICAgIHJldHVybiBlbmdpbmVzOworK30KKysKKyBJ QnVzRW5naW5lRGVzYyAqCisgYnVzX3JlZ2lzdHJ5X2ZpbmRfZW5naW5lX2J5X25hbWUgKEJ1c1Jl Z2lzdHJ5ICpyZWdpc3RyeSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u c3QgZ2NoYXIgKm5hbWUpCitkaWZmIC0tZ2l0IGEvYnVzL3JlZ2lzdHJ5LmggYi9idXMvcmVnaXN0 cnkuaAoraW5kZXggY2RhYmVjMC4uNzIxMTg3YyAxMDA2NDQKKy0tLSBhL2J1cy9yZWdpc3RyeS5o CisrKysgYi9idXMvcmVnaXN0cnkuaAorQEAgLTczLDYgKzczLDE2IEBAIEdMaXN0ICAgICAgICAg ICAqYnVzX3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X2xhbmd1YWdlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICpsYW5ndWFn ZSk7CisgCisgLyoqCisrICogYnVzX3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X25hbWVfcHJlZml4 OgorKyAqIEBuYW1lX3ByZWZpeDogYSBwcmVmaXggaW4gdGhlIG5hbWUgb2YgSUJ1c0VuZ2luZURl c2MuIAorKyAqIEByZXR1cm5zOiBhIGxpc3Qgb2YgSUJ1c0VuZ2luZURlc2Mgb2JqZWN0cyB3aGlj aCBoYXMgdGhlIG5hbWUgcHJlZml4LgorKyAqICAgICAgICAgICBUaGUgY2FsbGVyIGhhcyB0byBj YWxsIGdfbGlzdF9mcmVlIGZvciB0aGUgcmV0dXJuZWQgbGlzdC4KKysgKi8KKytHTGlzdCAgICAg ICAgICAgKmJ1c19yZWdpc3RyeV9nZXRfZW5naW5lc19ieV9uYW1lX3ByZWZpeAorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCdXNSZWdpc3RyeSAgICAq cmVnaXN0cnksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IGdjaGFyICAgICpuYW1lX3ByZWZpeCk7CisrCisrLyoqCisgICogYnVzX3JlZ2lz dHJ5X3N0b3BfYWxsX2NvbXBvbmVudHM6CisgICoKKyAgKiBUZXJtaW5hdGUgYWxsIGNvbXBvbmVu dCBwcm9jZXNzZXMuCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCiBp bmRleCA0YzIwYWU3Li4yMWQzNWMzIDEwMDY0NAogLS0tIGEvY29uZmlndXJlLmFjCkBAIC04NDQs NyArOTQ2LDcgQEAgZGlmZiAtLWdpdCBhL2RhdGEvTWFrZWZpbGUuYW0gYi9kYXRhL01ha2VmaWxl LmFtCiBpbmRleCA5OWJlNDFjLi44MjRkYTc2IDEwMDY0NAogLS0tIGEvZGF0YS9NYWtlZmlsZS5h bQogKysrIGIvZGF0YS9NYWtlZmlsZS5hbQotQEAgLTMwLDcgKzMwLDggQEAgU1VCRElSUyA9IFwK K0BAIC0yNiw3ICsyNiw4IEBAIFNVQkRJUlMgPSBcCiAgCSQoTlVMTCkKICAKICBzY2hlbWFzZGly ID0gJChHQ09ORl9TQ0hFTUFfRklMRV9ESVIpCkBAIC04NTQsNyArOTU2LDcgQEAgaW5kZXggOTli ZTQxYy4uODI0ZGE3NiAxMDA2NDQKICBzY2hlbWFzX0RBVEEgPSAkKHNjaGVtYXNfaW5fZmlsZXM6 LnNjaGVtYXMuaW49LnNjaGVtYXMpCiAgQElOVExUT09MX1NDSEVNQVNfUlVMRUAKICAKLUBAIC00 NSwxMSArNDYsMTIgQEAgaWYgR0NPTkZfU0NIRU1BU19JTlNUQUxMCitAQCAtNDEsMTEgKzQyLDEy IEBAIGlmIEdDT05GX1NDSEVNQVNfSU5TVEFMTAogIGVuZGlmCiAgCiAgRVhUUkFfRElTVCA9IFwK QEAgLTg2OSw3ICs5NzEsNyBAQCBpbmRleCA5OWJlNDFjLi44MjRkYTc2IDEwMDY0NAogIAogIC1p bmNsdWRlICQodG9wX3NyY2RpcikvZ2l0Lm1rCiBkaWZmIC0tZ2l0IGEvZGF0YS9pYnVzLnNjaGVt YXMuaW4gYi9kYXRhL2lidXMuc2NoZW1hcy5pbi5pbgotaW5kZXggN2NhNDg5OS4uNDJkOTI5Nwor aW5kZXggODk3OTUxNS4uMmEyYjQ1OQogLS0tIGEvZGF0YS9pYnVzLnNjaGVtYXMuaW4KICsrKyBi L2RhdGEvaWJ1cy5zY2hlbWFzLmluLmluCiBAQCAtMzEsNyArMzEsNyBAQApAQCAtOTUyLDcgKzEw NTQsNyBAQCBpbmRleCAxZDNjZDJhLi41OGQ3NWU1IDEwMDY0NAogICAgICBAbWV0aG9kKCkKICAg ICAgZGVmIERlc3Ryb3koc2VsZik6IHBhc3MKIGRpZmYgLS1naXQgYS9pYnVzL3hrYnhtbC5weS5p biBiL2lidXMveGtieG1sLnB5LmluCi1pbmRleCAxNmY0N2RmLi44NWQwNjUxIDEwMDY0NAoraW5k ZXggOTQwN2MxMy4uYmY2MTgxMCAxMDA2NDQKIC0tLSBhL2lidXMveGtieG1sLnB5LmluCiArKysg Yi9pYnVzL3hrYnhtbC5weS5pbgogQEAgLTMzLDYgKzMzLDggQEAgaW1wb3J0IGVuZ2luZWRlc2MK QEAgLTk2NCwxMSArMTA2NiwxMSBAQCBpbmRleCAxNmY0N2RmLi44NWQwNjUxIDEwMDY0NAogIAog IHRyeToKICAgICAgZnJvbSBnbGliIGltcG9ydCBnZXRfdXNlcl9jb25maWdfZGlyCi1AQCAtMzEy LDYgKzMxNCw4IEBAIGNsYXNzIFhLQkNvbmZpZ1JlZ2lzdHJ5KCk6CitAQCAtMzE1LDYgKzMxNyw4 IEBAIGNsYXNzIFhLQkNvbmZpZ1JlZ2lzdHJ5KCk6CiAgICAgICAgICAgICAgZW5naW5lX2xheW91 dCA9IGxheW91dAogIAogICAgICAgICAgaWNvbiA9ICdpYnVzLWVuZ2luZScKLSsgICAgICAgIGlm IG5hbWVfcHJlZml4ID09IERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FOgorKyAgICAgICAgaWYg bmFtZS5zdGFydHN3aXRoKERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKToKICsgICAgICAgICAg ICBpY29uID0gZ2V0X0lDT05fS0VZQk9BUkQoKQogIAogICAgICAgICAgZW5naW5lID0gZW5naW5l ZGVzYy5FbmdpbmVEZXNjKG5hbWUsIGxvbmduYW1lLCBkZXNjLCBsYW5nLApAQCAtOTg4LDI1ICsx MDkwLDEwIEBAIGluZGV4IDczODMxNzcuLmQzNTc1N2QgMTAwNjQ0CiAgICAgICAgICAgICAgaWYg bCBub3QgaW4gbGFuZzoKICAgICAgICAgICAgICAgICAgbGFuZ1tsXSA9IFtdCiBkaWZmIC0tZ2l0 IGEvc2V0dXAvZW5naW5ldHJlZXZpZXcucHkgYi9zZXR1cC9lbmdpbmV0cmVldmlldy5weQotaW5k ZXggZjYyMDM2MS4uMjBjZGUzYiAxMDA2NDQKK2luZGV4IGY2MjAzNjEuLjY2NGRjOTkgMTAwNjQ0 CiAtLS0gYS9zZXR1cC9lbmdpbmV0cmVldmlldy5weQogKysrIGIvc2V0dXAvZW5naW5ldHJlZXZp ZXcucHkKLUBAIC0xNjIsNiArMTYyLDE0IEBAIGNsYXNzIEVuZ2luZVRyZWVWaWV3KGd0ay5UcmVl Vmlldyk6Ci0gICAgICAgICAgICAgcmV0dXJuIHJvd1swXQotICAgICAgICAgZWxpZiBwcm9wZXJ0 eS5uYW1lID09ICJlbmdpbmVzIjoKLSAgICAgICAgICAgICBlbmdpbmVzID0gWyByWzBdIGZvciBy IGluIHNlbGYuX19tb2RlbCBpZiByWzBdICE9IE5vbmVdCi0rICAgICAgICAgICAgZm9yIGksIGUg aW4gZW51bWVyYXRlKHNlbGYuX19lbmdpbmVzKToKLSsgICAgICAgICAgICAgICAgaWYgaWJ1cy51 c2VfYnJpZGdlX2hvdGtleSgpIGFuZCBcCi0rICAgICAgICAgICAgICAgICAgIGUubmFtZS5zdGFy dHN3aXRoKGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpOgotKyAgICAgICAgICAgICAg ICAgICAgaWYgaSA8IGxlbihlbmdpbmVzKToKLSsgICAgICAgICAgICAgICAgICAgICAgICBlbmdp bmVzLmluc2VydChpLCBlKQotKyAgICAgICAgICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAg ICAgICAgICAgICAgICBlbmdpbmVzLmFwcGVuZChlKQotKyAgICAgICAgICAgICAgICAgICAgYnJl YWsKLSAgICAgICAgICAgICByZXR1cm4gZW5naW5lcwotICAgICAgICAgZWxzZToKLSAgICAgICAg ICAgICByYWlzZSBBdHRyaWJ1dGVFcnJvciwgJ3Vua25vd24gcHJvcGVydHkgJXMnICUgcHJvcGVy dHkubmFtZQotQEAgLTE3Miw4ICsxODAsMTIgQEAgY2xhc3MgRW5naW5lVHJlZVZpZXcoZ3RrLlRy ZWVWaWV3KToKK0BAIC0xNzIsOCArMTcyLDEyIEBAIGNsYXNzIEVuZ2luZVRyZWVWaWV3KGd0ay5U cmVlVmlldyk6CiAgICAgICAgICBmb3IgZSBpbiBlbmdpbmVzOgogICAgICAgICAgICAgIGlmIGUg aW4gc2VsZi5fX2VuZ2luZXM6CiAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCkBAIC0xMjQ4LDI0 ICsxMzM1LDE5IEBAIGluZGV4IDdjZjE5OTUuLmExOWQxNmUgMTAwNjQ0CiArY29uc3QgZ2NoYXIg KiAgICBpYnVzX2dldF9kZWZhdWx0X2JyaWRnZV9lbmdpbmVfbmFtZSAodm9pZCk7CiArCiAgI2Vu ZGlmCi1kaWZmIC0tZ2l0IGEvdWkvZ3RrL01ha2VmaWxlLmFtIGIvdWkvZ3RrL01ha2VmaWxlLmFt Ci1pbmRleCAxZjE5NzQ4Li4xNzAyNjEzIDEwMDY0NAotLS0tIGEvdWkvZ3RrL01ha2VmaWxlLmFt Ci0rKysgYi91aS9ndGsvTWFrZWZpbGUuYW0KLUBAIC0zMyw2ICszMyw4IEBAIHVpX2d0a19QWVRI T04gPSBcCi0gCXByb3BpdGVtLnB5IFwKLSAJdG9vbGl0ZW0ucHkgXAotIAllbmdpbmVhYm91dC5w eSBcCi0rCXhrYmVuZ2luZS5weSBcCi0rCXhrYmZhY3RvcnkucHkgXAotIAkkKE5VTEwpCi0gdWlf Z3RrZGlyID0gJChwa2dkYXRhZGlyKS91aS9ndGsKLSAKIGRpZmYgLS1naXQgYS91aS9ndGsvcGFu ZWwucHkgYi91aS9ndGsvcGFuZWwucHkKLWluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0Citp bmRleCA4ODA0NjM0Li5mN2IzZTUwIDEwMDY0NAogLS0tIGEvdWkvZ3RrL3BhbmVsLnB5CiArKysg Yi91aS9ndGsvcGFuZWwucHkKLUBAIC0xMzMsNiArMTMzLDE1IEBAIGNsYXNzIFBhbmVsKGlidXMu UGFuZWxCYXNlKToKK0BAIC02Nyw2ICs2Nyw3IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNl KToKKyAgICAgICAgIHNlbGYuX19kYXRhX2RpciA9IHBhdGguam9pbihzZWxmLl9fcHJlZml4LCAi c2hhcmUiLCAiaWJ1cyIpCisgICAgICAgICAjIHNlbGYuX19pY29uc19kaXIgPSBwYXRoLmpvaW4o c2VsZi5fX2RhdGFfZGlyLCAiaWNvbnMiKQorICAgICAgICAgc2VsZi5fX3NldHVwX2NtZCA9IHBh dGguam9pbihzZWxmLl9fcHJlZml4LCAiYmluIiwgImlidXMtc2V0dXAiKQorKyAgICAgICAgc2Vs Zi5fX3Nob3cgPSAwCisgCisgICAgICAgICAjIGNvbm5lY3QgYnVzIHNpZ25hbAorICAgICAgICAg c2VsZi5fX2NvbmZpZy5jb25uZWN0KCJ2YWx1ZS1jaGFuZ2VkIiwgc2VsZi5fX2NvbmZpZ192YWx1 ZV9jaGFuZ2VkX2NiKQorQEAgLTEzMyw2ICsxMzQsMTQgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5l bEJhc2UpOgogICAgICAgICAgIyBzZWxmLl9fYnVzLnJlcXVlc3RfbmFtZShpYnVzLnBhbmVsLklC VVNfU0VSVklDRV9QQU5FTCwgMCkKICAKICAgICAgICAgICMgaW5pdCB4a2IKQEAgLTEyNzYsNyAr MTM1OCw2IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiArICAgICAgICBzZWxmLl9f ZGlzYWJsZWRfZW5naW5lc19pZCA9IC0xCiArICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5l c19wcmV2X2lkID0gLTEKICsgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX3N3YXBwZWQg PSAwCi0rICAgICAgICBzZWxmLl9fc2hvdyA9IDAKICsKICAgICAgICAgIHNlbGYuX194a2JsYXlv dXQgPSBpYnVzLlhLQkxheW91dChzZWxmLl9fY29uZmlnKQogICAgICAgICAgdXNlX3hrYiA9IHNl bGYuX19jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgInVzZV9zeXN0ZW1fa2V5Ym9hcmRfbGF5 b3V0IiwgRmFsc2UpCkBAIC0xMzAwLDcgKzEzODEsNyBAQCBpbmRleCA4ODA0NjM0Li5kODdjMWQy IDEwMDY0NAogIAogICAgICBkZWYgc2V0X2N1cnNvcl9sb2NhdGlvbihzZWxmLCB4LCB5LCB3LCBo KToKICAgICAgICAgIHNlbGYuX19jYW5kaWRhdGVfcGFuZWwuc2V0X2N1cnNvcl9sb2NhdGlvbih4 LCB5LCB3LCBoKQotQEAgLTIzMywxMiArMjQ5LDExMyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVs QmFzZSk6CitAQCAtMjMzLDEyICsyNDksOTEgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2Up OgogICAgICBkZWYgX19zZXRfaW1fbmFtZShzZWxmLCBuYW1lKToKICAgICAgICAgIHNlbGYuX19s YW5ndWFnZV9iYXIuc2V0X2ltX25hbWUobmFtZSkKICAKQEAgLTEzNDMsMzcgKzE0MjQsMTUgQEAg aW5kZXggODgwNDYzNC4uZDg3YzFkMiAxMDA2NDQKICsgICAgICAgICAgICAgICAgbW9kZWxfZGVz YyA9IF8oIkRlZmF1bHQgTGF5b3V0IikKICsgICAgICAgICAgICAgICAgaWYgbW9kZWwgIT0gTm9u ZToKICsgICAgICAgICAgICAgICAgICAgIG1vZGVsX2Rlc2MgPSBtb2RlbF9kZXNjICsgIiAoIiAr IG1vZGVsICsgIikiCisrICAgICAgICAgICAgICAgIG5hbWUgPSBpYnVzLkRFRkFVTFRfQlJJREdF X0VOR0lORV9OQU1FICsgIiMiICsgc3RyKGkpCiArICAgICAgICAgICAgICAgIGVuZ2luZSA9IHJl Z2lzdHJ5LmVuZ2luZV9kZXNjX25ldyhsYW5nLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbGF5b3V0LAogKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXygiRGVmYXVsdCBMYXlvdXQiKSwKICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGVsLAogKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kZWxfZGVzYywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlidXMu REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBuYW1lKQogKyAgICAgICAgICAgICAgICBzZWxmLl9fZGlz YWJsZWRfZW5naW5lcy5hcHBlbmQoZW5naW5lKQogKyAgICAgICAgICAgIHNlbGYuX19kaXNhYmxl ZF9lbmdpbmVzX2lkID0gc2VsZi5fX3hrYmxheW91dC5nZXRfZ3JvdXAoKQotKyAgICAgICAgICAg IGlmIG5vdCB1c2VfYnJpZGdlX2hvdGtleToKLSsgICAgICAgICAgICAgICAgcmV0dXJuCi0rICAg ICAgICAgICAgaWYgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXMgIT0gTm9uZSBhbmQgc2VsZi5fX2Rp c2FibGVkX2VuZ2luZXMgIT0gW106Ci0rICAgICAgICAgICAgICAgIGNvbXBvbmVudCA9IGlidXMu Q29tcG9uZW50KCJvcmcuZnJlZWRlc2t0b3AuSUJ1cy5YS0IiLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBfKCJYS0IgQ29tcG9uZW50IiksCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIxLjAiLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR1BMIiwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIlRha2FvIEZ1aml3YXJhIiwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9mdWppd2Fy YXQvaWJ1cy90cmVlL2dqcyIpCi0rICAgICAgICAgICAgICAgIGZvciBlbmdpbmUgaW4gc2VsZi5f X2Rpc2FibGVkX2VuZ2luZXM6Ci0rICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQuYWRkX2Vu Z2luZShlbmdpbmUubmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGVuZ2luZS5sb25nbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVuZ2luZS5kZXNjcmlwdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGVuZ2luZS5sYW5ndWFnZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVuZ2luZS5saWNlbnNlLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZW5naW5lLmF1dGhvciwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuZ2luZS5pY29uLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZW5naW5lLmxheW91dCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGVuZ2luZS5ob3RrZXlzKQotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIAotKyAgICAgICAgICAgICAgICBpbXBvcnQgeGtiZmFjdG9yeQot KyAgICAgICAgICAgICAgICBzZWxmLl9fZmFjdG9yeSA9IHhrYmZhY3RvcnkuRW5naW5lRmFjdG9y eShzZWxmLl9fYnVzKQotKyAgICAgICAgICAgICAgICBzZWxmLl9fYnVzLnJlZ2lzdGVyX2NvbXBv bmVudChjb21wb25lbnQpCiArICAgICAgICBpZiBub3QgdXNlX2JyaWRnZV9ob3RrZXk6CiArICAg ICAgICAgICAgcmV0dXJuCiArICAgICAgICBpZiBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyAhPSBO b25lIGFuZCBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyAhPSBbXToKQEAgLTE0MTUsNyArMTQ3NCw3 IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiAgICAgICAgICBpZiBub3QgZW5hYmxl ZDoKICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX2ljb24oSUNPTl9LRVlCT0FSRCkKICAgICAg ICAgICAgICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKLUBAIC0yNTAsNyArMzY3LDcgQEAgY2xh c3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTI1MCw3ICszNDUsNyBAQCBjbGFzcyBQYW5l bChpYnVzLlBhbmVsQmFzZSk6CiAgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihl bmdpbmUuaWNvbikKICAgICAgICAgICAgICAgICAgc2VsZi5fX3NldF9pbV9uYW1lKGVuZ2luZS5s b25nbmFtZSkKICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fX2J1cy5nZXRfdXNlX3N5c19sYXlv dXQoKToKQEAgLTE0MjQsNyArMTQ4Myw3IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0 CiAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgc2VsZi5fX3NldF9pbV9pY29u KElDT05fS0VZQk9BUkQpCiAgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1fbmFtZShOb25l KQotQEAgLTI2MCw2ICszNzcsOCBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAt MjYwLDYgKzM1NSw4IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAKICAgICAgZGVm IGZvY3VzX291dChzZWxmLCBpYyk6CiAgICAgICAgICBzZWxmLnJlc2V0KCkKQEAgLTE0MzMsNyAr MTQ5Miw3IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiAgICAgICAgICBzZWxmLl9f Zm9jdXNfaWMgPSBOb25lCiAgICAgICAgICBzZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9lbmFibGVk KEZhbHNlKQogICAgICAgICAgc2VsZi5fX2xhbmd1YWdlX2Jhci5mb2N1c19vdXQoKQotQEAgLTI3 Myw3ICszOTIsMjEgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTI3Myw3ICsz NzAsMjEgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgICAgIHJldHVy bgogIAogICAgICAgICAgZW5hYmxlZCA9IHNlbGYuX19mb2N1c19pYy5pc19lbmFibGVkKCkKQEAg LTE0NTYsNyArMTUxNSw3IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiAgCiAgICAg ICAgICBpZiBlbmFibGVkID09IEZhbHNlOgogICAgICAgICAgICAgIHNlbGYucmVzZXQoKQotQEAg LTI4Nyw3ICs0MjAsNyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtMjg3LDcg KzM5OCw3IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAgICAgICAgICAgICAgICAg c2VsZi5fX3NldF9pbV9pY29uKGVuZ2luZS5pY29uKQogICAgICAgICAgICAgICAgICBzZWxmLl9f c2V0X2ltX25hbWUoZW5naW5lLmxvbmduYW1lKQogICAgICAgICAgICAgICAgICBpZiBzZWxmLl9f YnVzLmdldF91c2Vfc3lzX2xheW91dCgpOgpAQCAtMTQ2NSw3ICsxNTI0LDcgQEAgaW5kZXggODgw NDYzNC4uZDg3YzFkMiAxMDA2NDQKICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg ICBzZWxmLl9fc2V0X2ltX2ljb24oSUNPTl9LRVlCT0FSRCkKICAgICAgICAgICAgICAgICAgc2Vs Zi5fX3NldF9pbV9uYW1lKE5vbmUpCi1AQCAtMzE1LDYgKzQ0OCw3IEBAIGNsYXNzIFBhbmVsKGli dXMuUGFuZWxCYXNlKToKK0BAIC0zMTUsNiArNDI2LDcgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5l bEJhc2UpOgogIAogICAgICBkZWYgX19jb25maWdfbG9hZF9zaG93KHNlbGYpOgogICAgICAgICAg c2hvdyA9IHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKCJwYW5lbCIsICJzaG93IiwgMCkKQEAgLTE0 NzMsNyArMTUzMiw3IEBAIGluZGV4IDg4MDQ2MzQuLmQ4N2MxZDIgMTAwNjQ0CiAgICAgICAgICBz ZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9zaG93KHNob3cpCiAgCiAgICAgIGRlZiBfX2NvbmZpZ19s b2FkX3Bvc2l0aW9uKHNlbGYpOgotQEAgLTQ0Myw2ICs1NzcsMjEgQEAgY2xhc3MgUGFuZWwoaWJ1 cy5QYW5lbEJhc2UpOgorQEAgLTQ0Myw2ICs1NTUsMjEgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5l bEJhc2UpOgogICAgICAjICAgICBtZW51LnNldF90YWtlX2ZvY3VzKEZhbHNlKQogICAgICAjICAg ICByZXR1cm4gbWVudQogIApAQCAtMTQ5NSw3ICsxNTU0LDcgQEAgaW5kZXggODgwNDYzNC4uZDg3 YzFkMiAxMDA2NDQKICAgICAgZGVmIF9fY3JlYXRlX2ltX21lbnUoc2VsZik6CiAgICAgICAgICBl bmdpbmVzID0gc2VsZi5fX2J1cy5saXN0X2FjdGl2ZV9lbmdpbmVzKCkKICAgICAgICAgIGN1cnJl bnRfZW5naW5lID0gXAotQEAgLTQ1MywyNSArNjAyLDM0IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFu ZWxCYXNlKToKK0BAIC00NTMsMjUgKzU4MCwzOSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFz ZSk6CiAgICAgICAgICBzaXplID0gZ3RrLmljb25fc2l6ZV9sb29rdXAoZ3RrLklDT05fU0laRV9N RU5VKQogICAgICAgICAgbWVudSA9IGd0ay5NZW51KCkKICAgICAgICAgIGZvciBpLCBlbmdpbmUg aW4gZW51bWVyYXRlKGVuZ2luZXMpOgpAQCAtMTUxMSwxOSArMTU3MCwyNCBAQCBpbmRleCA4ODA0 NjM0Li5kODdjMWQyIDEwMDY0NAogLSAgICAgICAgICAgICAgICBpdGVtLnNldF9pbWFnZShfaWNv bi5JY29uV2lkZ2V0KElDT05fRU5HSU5FLCBzaXplWzBdKSkKIC0gICAgICAgICAgICBpdGVtLmNv bm5lY3QoImFjdGl2YXRlIiwgc2VsZi5fX2ltX21lbnVfaXRlbV9hY3RpdmF0ZV9jYiwgZW5naW5l KQogLSAgICAgICAgICAgIG1lbnUuYWRkKGl0ZW0pCi0rICAgICAgICAgICAgaWYgc2VsZi5fX3Vz ZV9icmlkZ2VfaG90a2V5KCkgYW5kIFwKLSsgICAgICAgICAgICAgICAgZW5naW5lLm5hbWUuc3Rh cnRzd2l0aChpYnVzLkRFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKSBhbmQgXAotKyAgICAgICAg ICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyAhPSBOb25lOgotKyAgICAgICAgICAgICAg ICBlbmdpbmUuaXNfYnJpZGdlID0gVHJ1ZQotKyAgICAgICAgICAgICAgICBlbmdpbmUuZGlzYWJs ZWRfZW5naW5lc19pZCA9IDAKKysgICAgICAgICAgICBpZiBlbmdpbmUubmFtZS5zdGFydHN3aXRo KGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpOgorKyAgICAgICAgICAgICAgICBpZiBu b3Qgc2VsZi5fX3VzZV9icmlkZ2VfaG90a2V5KCk6CisrICAgICAgICAgICAgICAgICAgICBjb250 aW51ZQorKyAgICAgICAgICAgICAgICBpZiBzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyA9PSBOb25l OgorKyAgICAgICAgICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICAgICAgZW5naW5l LmRpc2FibGVkX2VuZ2luZXNfaWQgPSAtMQogKyAgICAgICAgICAgICAgICBmb3Igaiwga2JfZW5n aW5lIGluIGVudW1lcmF0ZShzZWxmLl9fZGlzYWJsZWRfZW5naW5lcyk6CiArICAgICAgICAgICAg ICAgICAgICBpZiBlbmdpbmUubmFtZSA9PSBrYl9lbmdpbmUubmFtZToKICsgICAgICAgICAgICAg ICAgICAgICAgICBlbmdpbmUuZGlzYWJsZWRfZW5naW5lc19pZCA9IGoKICsgICAgICAgICAgICAg ICAgICAgICAgICBicmVhaworKyAgICAgICAgICAgICAgICBpZiBlbmdpbmUuZGlzYWJsZWRfZW5n aW5lc19pZCA9PSAtMToKKysgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCisrICAgICAgICAg ICAgICAgIGtiX2VuZ2luZSA9IHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzW2VuZ2luZS5kaXNhYmxl ZF9lbmdpbmVzX2lkXQorKyAgICAgICAgICAgICAgICBrYl9lbmdpbmUuaXNfYnJpZGdlID0gVHJ1 ZQorKyAgICAgICAgICAgICAgICBrYl9lbmdpbmUuZGlzYWJsZWRfZW5naW5lc19pZCA9IGVuZ2lu ZS5kaXNhYmxlZF9lbmdpbmVzX2lkCiArICAgICAgICAgICAgICAgIGlzX2JvbGQgPSBUcnVlIGlm IChjdXJyZW50X2VuZ2luZSAhPSBOb25lIGFuZCBcCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjdXJyZW50X2VuZ2luZS5uYW1lID09IGVuZ2luZS5uYW1lIGFuZCBcCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqID09IHNlbGYuX19kaXNhYmxlZF9lbmdp bmVzX2lkKSBlbHNlIEZhbHNlCi0rICAgICAgICAgICAgICAgIHNlbGYuX19hZGRfZW5naW5lX2lu X21lbnUobWVudSwgZW5naW5lLAorKyAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZW5n aW5lLm5hbWUgPT0ga2JfZW5naW5lLm5hbWUpIGVsc2UgRmFsc2UKKysgICAgICAgICAgICAgICAg c2VsZi5fX2FkZF9lbmdpbmVfaW5fbWVudShtZW51LCBrYl9lbmdpbmUsCiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNfYm9sZCwKICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplKQogKyAgICAgICAgICAgICAgICBjb250aW51 ZQpAQCAtMTU0Myw3ICsxNjA3LDcgQEAgaW5kZXggODgwNDYzNC4uZDg3YzFkMiAxMDA2NDQKICAK ICAgICAgICAgIG1lbnUuc2hvd19hbGwoKQogICAgICAgICAgbWVudS5zZXRfdGFrZV9mb2N1cyhG YWxzZSkKLUBAIC01MjMsOCArNjgxLDI1IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToK K0BAIC01MjMsOCArNjY0LDI1IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAgICAg ICAgIGlmIG5vdCBzZWxmLl9fZm9jdXNfaWM6CiAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAg ICBpZiBlbmdpbmU6CkBAIC0xNTcwLDcgKzE2MzQsNyBAQCBpbmRleCA4ODA0NjM0Li5kODdjMWQy IDEwMDY0NAogICAgICAgICAgICAgIHNlbGYuX19mb2N1c19pYy5kaXNhYmxlKCkKICAKICAgICAg ZGVmIF9fc3lzX21lbnVfaXRlbV9hY3RpdmF0ZV9jYihzZWxmLCBpdGVtLCBjb21tYW5kKToKLUBA IC01NzMsMTIgKzc0OCw4NSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtNTcz LDEyICs3MzEsODUgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAgc2Vs Zi5fX3NldHVwX3BpZCA9IHBpZAogICAgICAgICAgZ2xpYi5jaGlsZF93YXRjaF9hZGQoc2VsZi5f X3NldHVwX3BpZCwgc2VsZi5fX2NoaWxkX3dhdGNoX2NiKQogIApAQCAtMTY1OCwyMjggKzE3MjIs NiBAQCBpbmRleCA4ODA0NjM0Li5kODdjMWQyIDEwMDY0NAogICAgICAgICAgZWxpZiBlbmdpbmUu bGF5b3V0ICE9IE5vbmUgYW5kIGVuZ2luZS5sYXlvdXQuc3RhcnRzd2l0aCgiZGVmYXVsdCIpOgog ICAgICAgICAgICAgIHJldHVybiBlbmdpbmUubGF5b3V0CiAgICAgICAgICBlbHNlOgotZGlmZiAt LWdpdCBhL3VpL2d0ay94a2JlbmdpbmUucHkgYi91aS9ndGsveGtiZW5naW5lLnB5Ci1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4uMTJjMDdjZgotLS0tIC9kZXYvbnVsbAotKysr IGIvdWkvZ3RrL3hrYmVuZ2luZS5weQotQEAgLTAsMCArMSw5MyBAQAotKyMgdmltOnNldCBldCBz dHM9NCBzdz00OgotKyMKLSsjIGlidXMgLSBUaGUgSW5wdXQgQnVzCi0rIwotKyMgQ29weXJpZ2h0 KGMpIDIwMTEgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+Ci0rIyBDb3B5cmln aHQoYykgMjAxMSBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLSsj IENvcHlyaWdodChjKSAyMDExIFJlZCBIYXQsIEluYy4KLSsjCi0rIyBUaGlzIGxpYnJhcnkgaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0rIyBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0rIyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIKLSsjIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKyMKLSsjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBM ZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMKLSsjIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQ dWJsaWMKLSsjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUg dG8gdGhlCi0rIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFj ZSwgU3VpdGUgMzMwLAotKyMgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0rCi0raW1wb3J0 IGlidXMKLSsKLStjbGFzcyBFbmdpbmUoaWJ1cy5FbmdpbmVCYXNlKToKLSsgICAgZGVmIF9faW5p dF9fKHNlbGYsIGJ1cywgb2JqZWN0X3BhdGgpOgotKyAgICAgICAgc3VwZXIoRW5naW5lLCBzZWxm KS5fX2luaXRfXyhidXMsIG9iamVjdF9wYXRoKQotKwotKyAgICBkZWYgdXBkYXRlX2F1eF9zdHJp bmcoc2VsZiwgc3RyaW5nLCBhdHRycywgdmlzaWJsZSk6Ci0rICAgICAgICBzZWxmLnVwZGF0ZV9h dXhpbGlhcnlfdGV4dChpYnVzLlRleHQoc3RyaW5nLCBhdHRycyksIHZpc2libGUpCi0rCi0rICAg IGRlZiBwYWdlX3VwKHNlbGYpOgotKyAgICAgICAgcmV0dXJuIFRydWUKLSsKLSsgICAgZGVmIHBh Z2VfZG93bihzZWxmKToKLSsgICAgICAgIHJldHVybiBUcnVlCi0rCi0rICAgIGRlZiBjdXJzb3Jf dXAoc2VsZik6Ci0rICAgICAgICByZXR1cm4gVHJ1ZQotKwotKyAgICBkZWYgY3Vyc29yX2Rvd24o c2VsZik6Ci0rICAgICAgICByZXR1cm4gVHJ1ZQotKwotKyAgICBkZWYgY2FuZGlkYXRlX2NsaWNr ZWQoc2VsZiwgaW5kZXgsIGJ1dHRvbiwgc3RhdGUpOgotKyAgICAgICAgcGFzcwotKwotKyAgICBp ZiBpYnVzLmdldF92ZXJzaW9uKCkgPj0gJzEuMi4wJzoKLSsgICAgICAgIGRlZiBwcm9jZXNzX2tl eV9ldmVudChzZWxmLCBrZXl2YWwsIGtleWNvZGUsIHN0YXRlKToKLSsgICAgICAgICAgICB0cnk6 Ci0rICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLnByb2Nlc3Nfa2V5X2V2ZW50X2ludGVybmFs MihrZXl2YWwsIGtleWNvZGUsIHN0YXRlKQotKyAgICAgICAgICAgIGV4Y2VwdDoKLSsgICAgICAg ICAgICAgICAgaW1wb3J0IHRyYWNlYmFjawotKyAgICAgICAgICAgICAgICB0cmFjZWJhY2sucHJp bnRfZXhjKCkKLSsgICAgICAgICAgICAgICAgcmV0dXJuIEZhbHNlCi0rICAgIGVsc2U6Ci0rICAg ICAgICBkZWYgcHJvY2Vzc19rZXlfZXZlbnQoc2VsZiwga2V5dmFsLCBzdGF0ZSk6Ci0rICAgICAg ICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5wcm9jZXNzX2tleV9ldmVu dF9pbnRlcm5hbDIoa2V5dmFsLCAwLCBzdGF0ZSkKLSsgICAgICAgICAgICBleGNlcHQ6Ci0rICAg ICAgICAgICAgICAgIGltcG9ydCB0cmFjZWJhY2sKLSsgICAgICAgICAgICAgICAgdHJhY2ViYWNr LnByaW50X2V4YygpCi0rICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotKwotKyAgICBkZWYg cHJvcGVydHlfYWN0aXZhdGUoc2VsZiwgcHJvcF9uYW1lLCBzdGF0ZSk6Ci0rICAgICAgICBwYXNz Ci0rCi0rICAgIGRlZiBmb2N1c19pbihzZWxmKToKLSsgICAgICAgIHBhc3MKLSsKLSsgICAgZGVm IGZvY3VzX291dChzZWxmKToKLSsgICAgICAgIHBhc3MKLSsKLSsgICAgZGVmIGRpc2FibGUoc2Vs Zik6Ci0rICAgICAgICBwYXNzCi0rCi0rICAgIGRlZiByZXNldChzZWxmKToKLSsgICAgICAgIHBh c3MKLSsKLSsgICAgZGVmIGRvX2Rlc3Ryb3koc2VsZik6Ci0rICAgICAgICBzdXBlcihFbmdpbmUs c2VsZikuZG9fZGVzdHJveSgpCi0rCi0rIz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0rICAgIEBjbGFzc21ldGhv ZAotKyAgICBkZWYgQ09ORklHX1JFTE9BREVEKGNscywgYnVzKToKLSsgICAgICAgIHByaW50ICdS RUxPQURFRCcKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0rICAgIGRlZiBDT05GSUdfVkFMVUVfQ0hB TkdFRChjbHMsIGJ1cywgc2VjdGlvbiwgbmFtZSwgdmFsdWUpOgotKyAgICAgICAgcHJpbnQgJ1ZB TFVFX0NIQU1HRUQgPScsIHNlY3Rpb24sIG5hbWUsIHZhbHVlCi0rCi0rICAgIGRlZiBwcm9jZXNz X2tleV9ldmVudF9pbnRlcm5hbDIoc2VsZiwga2V5dmFsLCBrZXljb2RlLCBzdGF0ZSk6Ci0rICAg ICAgICByZXR1cm4gRmFsc2UKLWRpZmYgLS1naXQgYS91aS9ndGsveGtiZmFjdG9yeS5weSBiL3Vp L2d0ay94a2JmYWN0b3J5LnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMC4u MDE0ZTIwYgotLS0tIC9kZXYvbnVsbAotKysrIGIvdWkvZ3RrL3hrYmZhY3RvcnkucHkKLUBAIC0w LDAgKzEsMTE3IEBACi0rIyB2aW06c2V0IGV0IHN0cz00IHN3PTQ6Ci0rIwotKyMgaWJ1cyAtIFRo ZSBJbnB1dCBCdXMKLSsjCi0rIyBDb3B5cmlnaHQoYykgMjAxMSBQZW5nIEh1YW5nIDxzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbT4KLSsjIENvcHlyaWdodChjKSAyMDExIFRha2FvIEZ1aml3YXJhIDx0 YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotKyMgQ29weXJpZ2h0KGMpIDIwMTEgUmVkIEhhdCwg SW5jLgotKyMKLSsjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKLSsjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsjIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyMgdmVyc2lvbiAyIG9mIHRoZSBMaWNl bnNlLCBvcihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBs aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0rIwotKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyMgTGljZW5zZSBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSsjIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsCi0rIyBCb3N0b24sIE1B ICAwMjExMS0xMzA3ICBVU0EKLSsKLStpbXBvcnQgaWJ1cwotK2ltcG9ydCB4a2JlbmdpbmUKLSsK LStmcm9tIGdldHRleHQgaW1wb3J0IGRnZXR0ZXh0Ci0rXyAgPSBsYW1iZGEgYSA6IGRnZXR0ZXh0 KCJpYnVzIiwgYSkKLStOXyA9IGxhbWJkYSBhIDogYQotKwotKwotK2NsYXNzIEVuZ2luZUZhY3Rv cnkoaWJ1cy5FbmdpbmVGYWN0b3J5QmFzZSk6Ci0rICAgIEZBQ1RPUllfUEFUSCA9ICIvY29tL3Jl ZGhhdC9JQnVzL2VuZ2luZXMvWEtCL0ZhY3RvcnkiCi0rICAgIEVOR0lORV9QQVRIID0gIi9jb20v cmVkaGF0L0lCdXMvZW5naW5lcy9YS0IvRW5naW5lIgotKyAgICBOQU1FID0gIlhLQkZhY3Rvcnki Ci0rICAgIExBTkcgPSAiZW4iCi0rICAgIElDT04gPSAiaWJ1cy1lbmdpbmUiCi0rICAgIEFVVEhP UlMgPSAiVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+IgotKyAgICBD UkVESVRTID0gIkdQTHYyIgotKwotKyAgICBkZWYgX19pbml0X18oc2VsZiwgYnVzKToKLSsgICAg ICAgIHNlbGYuX19idXMgPSBidXMKLSsgICAgICAgIHN1cGVyKEVuZ2luZUZhY3RvcnksIHNlbGYp Ll9faW5pdF9fKGJ1cykKLSsKLSsgICAgICAgIHNlbGYuX19pZCA9IDAKLSsKLSsgICAgZGVmIGNy ZWF0ZV9lbmdpbmUoc2VsZiwgZW5naW5lX25hbWUpOgotKyAgICAgICAgaWYgZW5naW5lX25hbWUg YW5kIFwKLSsgICAgICAgICAgIGVuZ2luZV9uYW1lLnN0YXJ0c3dpdGgoaWJ1cy5ERUZBVUxUX0JS SURHRV9FTkdJTkVfTkFNRSk6Ci0rCi0rICAgICAgICAgICAgc2VsZi5fX2lkICs9IDEKLSsgICAg ICAgICAgICByZXR1cm4geGtiZW5naW5lLkVuZ2luZShzZWxmLl9fYnVzLCAiJXMvJWQiICUgKHNl bGYuRU5HSU5FX1BBVEgsIHNlbGYuX19pZCkpCi0rICAgICAgICByZXR1cm4gc3VwZXIoRW5naW5l RmFjdG9yeSwgc2VsZikuY3JlYXRlX2VuZ2luZShlbmdpbmVfbmFtZSkKLSsKLSsKLStkZWYgdGVz dCgpOgotKyAgICBpbXBvcnQgZ3RrCi0rICAgIGNvbXBvbmVudCA9IGlidXMuQ29tcG9uZW50KCJv cmcuZnJlZWRlc2t0b3AuSUJ1cy5YS0IiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBfKCJYS0IgQ29tcG9uZW50IiksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIx LjAiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiR1BMIiwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIlRha2FvIEZ1aml3YXJhIiwKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImh0dHBzOi8vZ2l0aHViLmNvbS9mdWppd2FyYSIpCi0rICAgIGVuZ2lu ZXMgPSBbXQotKyAgICBlbmdpbmUgPSBpYnVzLkVuZ2luZURlc2MoInhrYjpsYXlvdXQ6ZGVmYXVs dDpqcCx1cyIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVmYXVsdCBMYXlvdXQi LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlhLQiBqcCx1cyBrZXlib2FyZCBsYXlv dXQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImpwbiIsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiTEdQTDIuMSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZnVqaXdhcmEiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImlidXMtZW5naW5l IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJqcCx1cyIpCi0rICAgIGVuZ2luZXMu YXBwZW5kKGVuZ2luZSkKLSsgICAgZW5naW5lID0gaWJ1cy5FbmdpbmVEZXNjKCJ4a2I6bGF5b3V0 OmRlZmF1bHQ6dXMiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRlZmF1bHQgTGF5 b3V0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJYS0IgdXMga2V5Ym9hcmQgbGF5 b3V0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlbmciLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIkxHUEwyLjEiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImZ1aml3YXJhIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJpYnVzLWVuZ2lu ZSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXMiKQotKyAgICBlbmdpbmVzLmFw cGVuZChlbmdpbmUpCi0rICAgIGZvciBlbmdpbmUgaW4gZW5naW5lczoKLSsgICAgICAgIGNvbXBv bmVudC5hZGRfZW5naW5lKGVuZ2luZS5uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZW5naW5lLmxvbmduYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5l LmRlc2NyaXB0aW9uLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lLmxhbmd1 YWdlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lLmxpY2Vuc2UsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdpbmUuYXV0aG9yLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZW5naW5lLmljb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBlbmdpbmUubGF5b3V0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lLmhv dGtleXMpCi0rCi0rICAgIGNsYXNzIFRlc3RXaW5kb3coZ3RrLldpbmRvdyk6Ci0rICAgICAgICBk ZWYgX19pbml0X18oc2VsZik6Ci0rICAgICAgICAgICAgc3VwZXIoVGVzdFdpbmRvdywgc2VsZiku X19pbml0X18oKQotKyAgICAgICAgICAgIHNlbGYuX19idXMgPSBpYnVzLkJ1cygpCi0rICAgICAg ICAgICAgc2VsZi5fX2J1cy5jb25uZWN0KCJkaXNjb25uZWN0ZWQiLCBndGsubWFpbl9xdWl0KQot KyAgICAgICAgICAgIHBhdGggPSBzZWxmLl9fYnVzLmNyZWF0ZV9pbnB1dF9jb250ZXh0KCJUZXN0 IikKLSsgICAgICAgICAgICBzZWxmLl9faWMgPSBpYnVzLklucHV0Q29udGV4dChzZWxmLl9fYnVz LCBwYXRoKQotKyAgICAgICAgICAgIHNlbGYuX19pYy5zZXRfY2FwYWJpbGl0aWVzKDkpCi0rICAg ICAgICAgICAgZmFjdG9yeSA9IEVuZ2luZUZhY3Rvcnkoc2VsZi5fX2J1cykKLSsgICAgICAgICAg ICBzZWxmLl9fYnVzLnJlZ2lzdGVyX2NvbXBvbmVudChjb21wb25lbnQpCi0rICAgICAgICAgICAg I3NlbGYuX19idXMucmVxdWVzdF9uYW1lKCJvcmcuZnJlZWRlc2t0b3AuSUJ1cy5YS0IiLCAwKQot KyAgICAgICAgICAgIHNlbGYuY29ubmVjdCgiZm9jdXMtaW4tZXZlbnQiLCBzZWxmLl9fZm9jdXNf aW4pCi0rCi0rICAgICAgICBkZWYgX19mb2N1c19pbihzZWxmLCB3aWRnZXQsIGV2ZW50KToKLSsg ICAgICAgICAgICBwcmludCAiZm9jdXNlZCBpbiIKLSsgICAgICAgICAgICBzZWxmLl9faWMuZm9j dXNfaW4oKQotKyAgICAgICAgICAgIHNlbGYuX19pYy5zZXRfZW5naW5lKGVuZ2luZXNbMF0pCi0r Ci0rICAgIHdpbmRvdyA9IFRlc3RXaW5kb3coKQotKyAgICB3aW5kb3cuc2hvd19hbGwoKQotKyAg ICBndGsubWFpbigpCi0rCi0raWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKLSsgICAgdGVzdCgp CiBkaWZmIC0tZ2l0IGEveGtiL01ha2VmaWxlLmFtIGIveGtiL01ha2VmaWxlLmFtCiBpbmRleCBh ZDljZGQ5Li5jNGQ1YWZiIDEwMDY0NAogLS0tIGEveGtiL01ha2VmaWxlLmFtCkBAIC0xODkzLDgg KzE3MzUsNTkgQEAgaW5kZXggYWQ5Y2RkOS4uYzRkNWFmYiAxMDA2NDQKICAgICAgICAgICQoTlVM TCkKICAKICBub2luc3RfUFJPR1JBTVMgPSAkKFRFU1RTKQorZGlmZiAtLWdpdCBhL3hrYi9pYnVz LWVuZ2luZS14a2ItbWFpbi5jIGIveGtiL2lidXMtZW5naW5lLXhrYi1tYWluLmMKK2luZGV4IDBm YjBmMGMuLjQ3ODdiZjIgMTAwNjQ0CistLS0gYS94a2IvaWJ1cy1lbmdpbmUteGtiLW1haW4uYwor KysrIGIveGtiL2lidXMtZW5naW5lLXhrYi1tYWluLmMKK0BAIC0yNSw2ICsyNSw3IEBACisgI2Vu ZGlmCisgCisgI2luY2x1ZGUgPGlidXMuaD4KKysjaW5jbHVkZSA8Z2xpYi9naTE4bi1saWIuaD4K KyAjaW5jbHVkZSA8c3RkbGliLmg+CisgCisgI2lmZGVmIEVOQUJMRV9OTFMKK0BAIC0yOTAsNiAr MjkxLDkgQEAgcHJpbnRfY29tcG9uZW50ICgpCisgICAgIGNvbnN0IGdjaGFyICpkZXNjOworICAg ICBnY2hhciAqb3V0cHV0OworICAgICBHU3RyaW5nICpzdHI7CisrI2lmIFVTRV9CUklER0VfSE9U S0VZCisrICAgIGludCBpOworKyNlbmRpZgorIAorICNpZmRlZiBYS0JMQVlPVVRDT05GSUdfRklM RQorICAgICBsYXlvdXRfY29uZmlnID0gaWJ1c194a2JfbGF5b3V0X2NvbmZpZ19uZXcgKFhLQkxB WU9VVENPTkZJR19GSUxFKTsKK0BAIC0zMDIsNiArMzA2LDE5IEBAIHByaW50X2NvbXBvbmVudCAo KQorICAgICBsYXlvdXRfZGVzYyA9IChHSGFzaFRhYmxlICopIGlidXNfeGtiX2NvbmZpZ19yZWdp c3RyeV9nZXRfbGF5b3V0X2Rlc2MgKGNvbmZpZ19yZWdpc3RyeSk7CisgICAgIHZhcmlhbnRfZGVz YyA9IChHSGFzaFRhYmxlICopIGlidXNfeGtiX2NvbmZpZ19yZWdpc3RyeV9nZXRfdmFyaWFudF9k ZXNjIChjb25maWdfcmVnaXN0cnkpOworICAgICBjb21wb25lbnQgPSBpYnVzX3hrYl9jb21wb25l bnRfbmV3ICgpOworKyNpZiBVU0VfQlJJREdFX0hPVEtFWQorKyAgICBmb3IgKGkgPSAwOyBpIDwg NDsgaSsrKSB7CisrICAgICAgICBnY2hhciAqbmFtZSA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzIyVk IiwgREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUsIGkpOworKyAgICAgICAgZW5naW5lID0gaWJ1 c194a2JfZW5naW5lX2Rlc2NfbmV3ICgiZW5nIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgInVzIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXygiRGVmYXVsdCBMYXlvdXQiKSwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTlVMTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbmFtZSk7CisrICAgICAgICBnX2ZyZWUgKG5hbWUpOworKyAgICAgICAgaWJ1c19j b21wb25lbnRfYWRkX2VuZ2luZSAoY29tcG9uZW50LCBlbmdpbmUpOworKyAgICB9CisrI2VuZGlm CisgICAgIGZvciAoa2V5cyA9IGdfaGFzaF90YWJsZV9nZXRfa2V5cyAobGF5b3V0X2xpc3QpOyBr ZXlzOyBrZXlzID0ga2V5cy0+bmV4dCkgeworICAgICAgICAgaWYgKGtleXMtPmRhdGEgPT0gTlVM TCkgeworICAgICAgICAgICAgIGNvbnRpbnVlOworQEAgLTM5MCw2ICs0MDcsOCBAQCBtYWluIChp bnQgYXJnYywgY2hhciAqKmFyZ3YpCisgCisgI2lmZGVmIEVOQUJMRV9OTFMKKyAgICAgc2V0bG9j YWxlIChMQ19BTEwsICIiKTsKKysgICAgYmluZHRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSwg SUJVU19MT0NBTEVESVIpOworKyAgICBiaW5kX3RleHRkb21haW5fY29kZXNldCAoR0VUVEVYVF9Q QUNLQUdFLCAiVVRGLTgiKTsKKyAjZW5kaWYKKyAKKyAgICAgZ190eXBlX2luaXQgKCk7CiBkaWZm IC0tZ2l0IGEveGtiL3hrYnhtbC5jIGIveGtiL3hrYnhtbC5jCi1pbmRleCBhZDEwYzI4Li45Njhm Yjg2IDEwMDY0NAoraW5kZXggZDU5YTkyOS4uODZiY2Y4ZiAxMDA2NDQKIC0tLSBhL3hrYi94a2J4 bWwuYwogKysrIGIveGtiL3hrYnhtbC5jCiBAQCAtMjUsNiArMjUsNyBAQApAQCAtMTkwNSwxNSAr MTc5OCwxNSBAQCBpbmRleCBhZDEwYzI4Li45NjhmYjg2IDEwMDY0NAogIAogICNpbmNsdWRlICJ4 a2J4bWwuaCIKICAjaW5jbHVkZSAiaWJ1cy5oIgotQEAgLTI3NCw2ICsyNzUsNyBAQCBpYnVzX3hr Yl9lbmdpbmVfZGVzY19uZXcgKGNvbnN0IGdjaGFyICpsYW5nLAotICAgICBnY2hhciAqbG9uZ25h bWUgPSBOVUxMOworQEAgLTI3NSw2ICsyNzYsNyBAQCBpYnVzX3hrYl9lbmdpbmVfZGVzY19uZXcg KGNvbnN0IGdjaGFyICpsCiAgICAgIGdjaGFyICpkZXNjID0gTlVMTDsKICAgICAgZ2NoYXIgKmVu Z2luZV9sYXlvdXQgPSBOVUxMOworICAgICBjb25zdCBnY2hhciAqbmFtZV9wcmVmaXggPSAieGti OmxheW91dDoiOwogKyAgICBjb25zdCBnY2hhciAqaWNvbiA9ICJpYnVzLWVuZ2luZSI7CiAgCiAg ICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChsYW5nICE9IE5VTEwgJiYgbGF5b3V0ICE9IE5VTEws IE5VTEwpOwogIAotQEAgLTI5OCw2ICszMDAsMTIgQEAgaWJ1c194a2JfZW5naW5lX2Rlc2NfbmV3 IChjb25zdCBnY2hhciAqbGFuZywKK0BAIC0zMDQsNiArMzA2LDEyIEBAIGlidXNfeGtiX2VuZ2lu ZV9kZXNjX25ldyAoY29uc3QgZ2NoYXIgKmwKICAgICAgICAgIGRlc2MgPSBnX3N0cmR1cF9wcmlu dGYgKCJYS0IgJXMga2V5Ym9hcmQgbGF5b3V0IiwgbGF5b3V0KTsKICAgICAgICAgIGVuZ2luZV9s YXlvdXQgPSBnX3N0cmR1cCAobGF5b3V0KTsKICAgICAgfQpAQCAtMTkyNiw3ICsxODE5LDcgQEAg aW5kZXggYWQxMGMyOC4uOTY4ZmI4NiAxMDA2NDQKICAKICAgICAgZW5naW5lID0gaWJ1c19lbmdp bmVfZGVzY19uZXcgKG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBs b25nbmFtZSwKLUBAIC0zMDUsNyArMzEzLDcgQEAgaWJ1c194a2JfZW5naW5lX2Rlc2NfbmV3IChj b25zdCBnY2hhciAqbGFuZywKK0BAIC0zMTEsNyArMzE5LDcgQEAgaWJ1c194a2JfZW5naW5lX2Rl c2NfbmV3IChjb25zdCBnY2hhciAqbAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbGFuZywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJMR1BMMi4xIiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJUYWthbyBGdWppd2FyYSA8dGFr YW8uZnVqaXdhcmExQGdtYWlsLmNvbT4iLAoKZGlmZiAtLWdpdCBhL2lidXMteHgtZmFjdG9yeS1z aWduYWwucGF0Y2ggYi9pYnVzLXh4LWZhY3Rvcnktc2lnbmFsLnBhdGNoCmluZGV4IDA0NDkyYjYu LjAxYjYyYzYgMTAwNjQ0Ci0tLSBhL2lidXMteHgtZmFjdG9yeS1zaWduYWwucGF0Y2gKKysrIGIv aWJ1cy14eC1mYWN0b3J5LXNpZ25hbC5wYXRjaApAQCAtMSwzNSArMSwxNyBAQAotRnJvbSBmZjVk YjM5YTQ2NTFmNGVjZDNjMmJhMTlkZDMxNWVkN2I4MzY2MmY0IE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQorRnJvbSA4NWQ2YTZkNWQ3ZTU2NzNhYzNiYmMyODU1ODlkYTE4YzQ4YjU2MmFlIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgotRGF0ZTogRnJpLCA1IEF1ZyAyMDExIDIwOjIxOjE0ICswOTAwCitEYXRlOiBTdW4s IDE0IEF1ZyAyMDExIDA4OjQ0OjM1ICswOTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFkZCBjcmVhdGUt ZW5naW5lIHNpZ25hbCBpbiBJQnVzRmFjdG9yeSBmb3Igbm9uLUMKICBhcHBsaWNhdGlvbnMuCiAK IC0tLQotIGJ1cy9pYnVzaW1wbC5jICAgICAgICAgIHwgICAgNiArKystCi0gYnVzL2lucHV0Y29u dGV4dC5jICAgICAgfCAgICA1ICsrKysKLSBzcmMvaWJ1c2ZhY3RvcnkuYyAgICAgICB8ICAgNTQg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KLSBzcmMvaWJ1 c2ZhY3RvcnkuaCAgICAgICB8ICAgIDcgKysrKystCisgYnVzL2lucHV0Y29udGV4dC5jICAgICAg fCAgICA1ICsrCisgc3JjL2lidXNmYWN0b3J5LmMgICAgICAgfCAgMTA3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCisgc3JjL2lidXNmYWN0b3J5LmggICAg ICAgfCAgICA3ICsrKy0KICBzcmMvaWJ1c21hcnNoYWxlcnMubGlzdCB8ICAgIDEgKwotIHNyYy9p YnVzc2VydmljZS5oICAgICAgIHwgICAgNSArLS0KLSA2IGZpbGVzIGNoYW5nZWQsIDY0IGluc2Vy dGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQorIHNyYy9pYnVzc2VydmljZS5oICAgICAgIHwgICAg NSArLQorIDUgZmlsZXMgY2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygt KQogCi1kaWZmIC0tZ2l0IGEvYnVzL2lidXNpbXBsLmMgYi9idXMvaWJ1c2ltcGwuYwotaW5kZXgg ODUzNDY1Yy4uZjEzZDhlMCAxMDA2NDQKLS0tLSBhL2J1cy9pYnVzaW1wbC5jCi0rKysgYi9idXMv aWJ1c2ltcGwuYwotQEAgLTE2MDQsOCArMTYwNCwxMCBAQCBfaWJ1c19yZWdpc3Rlcl9jb21wb25l bnQgKEJ1c0lCdXNJbXBsICAgICAgICAgICAqaWJ1cywKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAoYnVzY29tcCkpOwot ICAgICBHTGlzdCAqZW5naW5lcyA9IGJ1c19jb21wb25lbnRfZ2V0X2VuZ2luZXMgKGJ1c2NvbXAp OwotICAgICBnX2xpc3RfZm9yZWFjaCAoZW5naW5lcywgKEdGdW5jKSBnX29iamVjdF9yZWYsIE5V TEwpOwotLSAgICBpYnVzLT5yZWdpc3Rlcl9lbmdpbmVfbGlzdCA9IGdfbGlzdF9jb25jYXQgKGli dXMtPnJlZ2lzdGVyX2VuZ2luZV9saXN0LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZW5naW5lcyk7Ci0rICAgIC8qIFdlIGFsd2F5cyBvdmVycmlkZSB0 aGUgcmVnaXN0ZXJfZW5naW5lX2xpc3Qgb3IgbmVlZCB0byBwcmVwYXJlCi0rICAgICAqIHVucmVn aXN0ZXJfY29tcG9uZW50KCkgbWV0aG9kIHNvIHRoYXQgYm90aCBpYnVzIGd0ayBhbmQgZ25vbWUt c2hlbGwKLSsgICAgICogY2FuIGNhbGwgcmVnaXN0ZXJfY29tcG9uZW50LiAqLwotKyAgICBpYnVz LT5yZWdpc3Rlcl9lbmdpbmVfbGlzdCA9IGVuZ2luZXM7Ci0gCi0gICAgIGdfc2lnbmFsX2Nvbm5l Y3QgKGJ1c2NvbXAsICJkZXN0cm95IiwgR19DQUxMQkFDSyAoX2NvbXBvbmVudF9kZXN0cm95X2Ni KSwgaWJ1cyk7Ci0gCiBkaWZmIC0tZ2l0IGEvYnVzL2lucHV0Y29udGV4dC5jIGIvYnVzL2lucHV0 Y29udGV4dC5jCiBpbmRleCA0N2FjOWQ1Li40ZThjZGM1IDEwMDY0NAogLS0tIGEvYnVzL2lucHV0 Y29udGV4dC5jCkBAIC00Nyw3ICsyOSw3IEBAIGluZGV4IDQ3YWM5ZDUuLjRlOGNkYzUgMTAwNjQ0 CiAgICAgICAgICAgICAgZ19vYmplY3RfdW5yZWYgKGVuZ2luZSk7CiAgICAgICAgICAgICAgYnVz X2lucHV0X2NvbnRleHRfZW5hYmxlIChkYXRhLT5jb250ZXh0KTsKIGRpZmYgLS1naXQgYS9zcmMv aWJ1c2ZhY3RvcnkuYyBiL3NyYy9pYnVzZmFjdG9yeS5jCi1pbmRleCAxMWQ5YTZkLi5mNzJmNTFl IDEwMDY0NAoraW5kZXggMTFkOWE2ZC4uZjI4ZjA3NCAxMDA2NDQKIC0tLSBhL3NyYy9pYnVzZmFj dG9yeS5jCiArKysgYi9zcmMvaWJ1c2ZhY3RvcnkuYwogQEAgLTIxLDYgKzIxLDcgQEAKQEAgLTc1 LDE3ICs1Nyw4MiBAQCBpbmRleCAxMWQ5YTZkLi5mNzJmNTFlIDEwMDY0NAogIC8qIGZ1bmN0aW9u cyBwcm90b3R5cGUgKi8KICBzdGF0aWMgdm9pZCAgICAgIGlidXNfZmFjdG9yeV9kZXN0cm95ICAg ICAgICAoSUJ1c0ZhY3RvcnkgICAgICAgICpmYWN0b3J5KTsKICBzdGF0aWMgdm9pZCAgICAgIGli dXNfZmFjdG9yeV9zZXRfcHJvcGVydHkgICAoSUJ1c0ZhY3RvcnkgICAgICAgICplbmdpbmUsCi1A QCAtMTEzLDYgKzExNywxNyBAQCBpYnVzX2ZhY3RvcnlfY2xhc3NfaW5pdCAoSUJ1c0ZhY3RvcnlD bGFzcyAqY2xhc3MpCitAQCAtOTUsNiArOTksNDcgQEAgc3RhdGljIGNvbnN0IGdjaGFyIGludHJv c3BlY3Rpb25feG1sW10gPQorICAgICAiICA8L2ludGVyZmFjZT4iCisgICAgICI8L25vZGU+IjsK KyAKKytzdGF0aWMgSUJ1c0VuZ2luZSAqCisrX2lidXNfZmFjdG9yeV9jcmVhdGVfZW5naW5lIChJ QnVzRmFjdG9yeSAgICAqZmFjdG9yeSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IGdjaGFyICAgICplbmdpbmVfbmFtZSkKKyt7CisrICAgIEdUeXBlIGVuZ2luZV90eXBlOwor KyAgICBnY2hhciAqb2JqZWN0X3BhdGggPSBOVUxMOworKyAgICBJQnVzRW5naW5lICplbmdpbmUg PSBOVUxMOworKworKyAgICBlbmdpbmVfdHlwZSA9IChHVHlwZSkgZ19oYXNoX3RhYmxlX2xvb2t1 cCAoZmFjdG9yeS0+cHJpdi0+ZW5naW5lX3RhYmxlLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZW5naW5lX25hbWUpOworKworKyAgICBnX3JldHVybl92 YWxfaWZfZmFpbCAoZW5naW5lX3R5cGUgIT0gR19UWVBFX0lOVkFMSUQsIE5VTEwpOworKworKyAg ICBvYmplY3RfcGF0aCA9IGdfc3RyZHVwX3ByaW50ZiAoIi9vcmcvZnJlZWRlc2t0b3AvSUJ1cy9F bmdpbmUvJWQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKytmYWN0b3J5 LT5wcml2LT5pZCk7CisrICAgIGVuZ2luZSA9IGlidXNfZW5naW5lX25ld190eXBlIChlbmdpbmVf dHlwZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZ2luZV9uYW1lLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqZWN0X3BhdGgsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzX3NlcnZpY2VfZ2V0X2Nvbm5lY3Rpb24g KChJQnVzU2VydmljZSAqKWZhY3RvcnkpKTsKKysgICAgZ19mcmVlIChvYmplY3RfcGF0aCk7Cisr CisrICAgIHJldHVybiBlbmdpbmU7CisrfQorKworK3N0YXRpYyBnYm9vbGVhbgorK19pYnVzX2Zh Y3RvcnlfY3JlYXRlX2VuZ2luZV9hY2N1bXVsYXRvciAoR1NpZ25hbEludm9jYXRpb25IaW50ICpp aGludCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYWx1ZSAg ICAgICAgICAgICAgICAqcmV0dXJuX2FjY3UsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25zdCBHVmFsdWUgICAgICAgICAgKmhhbmRsZXJfcmV0dXJuLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3BvaW50ZXIgICAgICAgICAg ICAgICBkdW1teSkKKyt7CisrICAgIGdib29sZWFuIHJldHZhbCA9IFRSVUU7CisrICAgIEdPYmpl Y3QgKm9iamVjdCA9IGdfdmFsdWVfZ2V0X29iamVjdCAoaGFuZGxlcl9yZXR1cm4pOworKworKyAg ICBpZiAob2JqZWN0ICE9IE5VTEwpIHsKKysgICAgICAgIGdfdmFsdWVfY29weSAoaGFuZGxlcl9y ZXR1cm4sIHJldHVybl9hY2N1KTsKKysgICAgICAgIHJldHZhbCA9IEZBTFNFOworKyAgICB9Cisr CisrICAgIHJldHVybiByZXR2YWw7CisrfQorKworIHN0YXRpYyB2b2lkCisgaWJ1c19mYWN0b3J5 X2NsYXNzX2luaXQgKElCdXNGYWN0b3J5Q2xhc3MgKmNsYXNzKQorIHsKK0BAIC0xMDksMTAgKzE1 NCwzNCBAQCBpYnVzX2ZhY3RvcnlfY2xhc3NfaW5pdCAoSUJ1c0ZhY3RvcnlDbGFzcyAqY2xhc3Mp CisgICAgIElCVVNfU0VSVklDRV9DTEFTUyAoY2xhc3MpLT5zZXJ2aWNlX21ldGhvZF9jYWxsICA9 IGlidXNfZmFjdG9yeV9zZXJ2aWNlX21ldGhvZF9jYWxsOworICAgICBJQlVTX1NFUlZJQ0VfQ0xB U1MgKGNsYXNzKS0+c2VydmljZV9nZXRfcHJvcGVydHkgPSBpYnVzX2ZhY3Rvcnlfc2VydmljZV9n ZXRfcHJvcGVydHk7CisgICAgIElCVVNfU0VSVklDRV9DTEFTUyAoY2xhc3MpLT5zZXJ2aWNlX3Nl dF9wcm9wZXJ0eSA9IGlidXNfZmFjdG9yeV9zZXJ2aWNlX3NldF9wcm9wZXJ0eTsKKysgICAgY2xh c3MtPmNyZWF0ZV9lbmdpbmUgPSBfaWJ1c19mYWN0b3J5X2NyZWF0ZV9lbmdpbmU7CisgCiAgICAg IGlidXNfc2VydmljZV9jbGFzc19hZGRfaW50ZXJmYWNlcyAoSUJVU19TRVJWSUNFX0NMQVNTIChj bGFzcyksIGludHJvc3BlY3Rpb25feG1sKTsKICAKICAgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2 YXRlIChjbGFzcywgc2l6ZW9mIChJQnVzRmFjdG9yeVByaXZhdGUpKTsKICsKKysgICAgLyoqCisr ICAgICAqIElCdXNGYWN0b3J5OjpjcmVhdGUtZW5naW5lOgorKyAgICAgKiBAZmFjdG9yeTogdGhl IGZhY3Rvcnkgd2hpY2ggcmVjZWl2ZWQgdGhlIHNpZ25hbAorKyAgICAgKiBAZW5naW5lX25hbWU6 IHRoZSBlbmdpbmVfbmFtZSB3aGljaCByZWNlaXZlZCB0aGUgc2lnbmFsCisrICAgICAqIEByZXR1 cm5zOiAodHJhbnNmZXIgbm9uZSk6IEFuIElCdXNFbmdpbmUKKysgICAgICoKKysgICAgICogVGhl IDo6Y3JlYXRlLWVuZ2luZSBzaWduYWwgaXMgYSBzaWduYWwgdG8gY3JlYXRlIElCdXNFbmdpbmUK KysgICAgICogd2l0aCBAZW5naW5lX25hbWUsIHdoaWNoIGdldHMgZW1pdHRlZCB3aGVuIElCdXNG YWN0b3J5CisrICAgICAqIHJlY2VpdmVkIENyZWF0ZUVuZ2luZSBkYnVzIG1ldGhvZC4gVGhlIGNh bGxiYWNrIGZ1bmN0aW9ucworKyAgICAgKiB3aWxsIGJlIGNhbGxlZCB1bnRpbCBhIGNhbGxiYWNr IHJldHVybnMgYSBub24tbnVsbCBvYmplY3QKKysgICAgICogb2YgSUJ1c0VuZ2luZS4gKi8KICsg ICAgZmFjdG9yeV9zaWduYWxzW0NSRUFURV9FTkdJTkVdID0KICsgICAgICAgIGdfc2lnbmFsX25l dyAoSV8oImNyZWF0ZS1lbmdpbmUiKSwKICsgICAgICAgICAgICBHX1RZUEVfRlJPTV9DTEFTUyAo Z29iamVjdF9jbGFzcyksCiArICAgICAgICAgICAgR19TSUdOQUxfUlVOX0xBU1QsCiArICAgICAg ICAgICAgR19TVFJVQ1RfT0ZGU0VUIChJQnVzRmFjdG9yeUNsYXNzLCBjcmVhdGVfZW5naW5lKSwK LSsgICAgICAgICAgICBOVUxMLCBOVUxMLAorKyAgICAgICAgICAgIF9pYnVzX2ZhY3RvcnlfY3Jl YXRlX2VuZ2luZV9hY2N1bXVsYXRvciwKKysgICAgICAgICAgICBOVUxMLAogKyAgICAgICAgICAg IF9pYnVzX21hcnNoYWxfT0JKRUNUX19TVFJJTkcsCiArICAgICAgICAgICAgSUJVU19UWVBFX0VO R0lORSwKICsgICAgICAgICAgICAxLApAQCAtOTMsMzIgKzE0MCwzNCBAQCBpbmRleCAxMWQ5YTZk Li5mNzJmNTFlIDEwMDY0NAogIH0KICAKICBzdGF0aWMgdm9pZAotQEAgLTE5MCw4ICsyMDUsMjAg QEAgaWJ1c19mYWN0b3J5X3NlcnZpY2VfbWV0aG9kX2NhbGwgKElCdXNTZXJ2aWNlICAgICAgICAg ICAqc2VydmljZSwKK0BAIC0xOTAsMjUgKzI1OSwyMyBAQCBpYnVzX2ZhY3Rvcnlfc2VydmljZV9t ZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICpzZXJ2aWNlLAogIAogICAgICBpZiAo Z19zdHJjbXAwIChtZXRob2RfbmFtZSwgIkNyZWF0ZUVuZ2luZSIpID09IDApIHsKICAgICAgICAg IGdjaGFyICplbmdpbmVfbmFtZSA9IE5VTEw7Ci0rICAgICAgICBHVHlwZSBlbmdpbmVfdHlwZTsK ICsgICAgICAgIElCdXNFbmdpbmUgKmVuZ2luZSA9IE5VTEw7CiArCiAgICAgICAgICBnX3Zhcmlh bnRfZ2V0IChwYXJhbWV0ZXJzLCAiKCZzKSIsICZlbmdpbmVfbmFtZSk7CiAtICAgICAgICBHVHlw ZSBlbmdpbmVfdHlwZSA9IChHVHlwZSApZ19oYXNoX3RhYmxlX2xvb2t1cCAoZmFjdG9yeS0+cHJp di0+ZW5naW5lX3RhYmxlLCBlbmdpbmVfbmFtZSk7Ci0rICAgICAgICBlbmdpbmVfdHlwZSA9IChH VHlwZSkgZ19oYXNoX3RhYmxlX2xvb2t1cCAoZmFjdG9yeS0+cHJpdi0+ZW5naW5lX3RhYmxlLCBl bmdpbmVfbmFtZSk7CisrICAgICAgICBnX3NpZ25hbF9lbWl0IChmYWN0b3J5LCBmYWN0b3J5X3Np Z25hbHNbQ1JFQVRFX0VOR0lORV0sCisrICAgICAgICAgICAgICAgICAgICAgICAwLCBlbmdpbmVf bmFtZSwgJmVuZ2luZSk7CiArCi0rICAgICAgICBpZiAoZW5naW5lX3R5cGUgPT0gR19UWVBFX0lO VkFMSUQpIHsKLSsgICAgICAgICAgICBnX3NpZ25hbF9lbWl0IChmYWN0b3J5LCBmYWN0b3J5X3Np Z25hbHNbQ1JFQVRFX0VOR0lORV0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgZW5n aW5lX25hbWUsICZlbmdpbmUpOworKyAgICAgICAgaWYgKGVuZ2luZSAhPSBOVUxMKSB7CisrICAg ICAgICAgICAgZ2NoYXIgKm9iamVjdF9wYXRoID0gTlVMTDsKKysgICAgICAgICAgICBHVmFsdWUg dmFsdWUgPSB7IDAsIH07CiArCi0rICAgICAgICAgICAgaWYgKGVuZ2luZSAhPSBOVUxMICYmIElC VVNfSVNfRU5HSU5FIChlbmdpbmUpKSB7Ci0rICAgICAgICAgICAgICAgIGVuZ2luZV90eXBlID0g R19PQkpFQ1RfVFlQRSAoZW5naW5lKTsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICB9CisrICAg ICAgICAgICAgZ192YWx1ZV9pbml0ICgmdmFsdWUsIEdfVFlQRV9TVFJJTkcpOworKyAgICAgICAg ICAgIGdfb2JqZWN0X2dldF9wcm9wZXJ0eSAoR19PQkpFQ1QgKGVuZ2luZSksICJvYmplY3QtcGF0 aCIsICZ2YWx1ZSk7CisrICAgICAgICAgICAgb2JqZWN0X3BhdGggPSBnX3ZhbHVlX2R1cF9zdHJp bmcgKCZ2YWx1ZSk7CisrICAgICAgICAgICAgZ192YWx1ZV91bnNldCAoJnZhbHVlKTsKICAKLSAg ICAgICAgIGlmIChlbmdpbmVfdHlwZSA9PSBHX1RZUEVfSU5WQUxJRCkgewotICAgICAgICAgICAg IGdjaGFyICplcnJvcl9tZXNzYWdlID0gZ19zdHJkdXBfcHJpbnRmICgiQ2FuIG5vdCBmb25kIGVu Z2luZSAlcyIsIGVuZ2luZV9uYW1lKTsKLUBAIC0yMDEsMTQgKzIyOCwyNSBAQCBpYnVzX2ZhY3Rv cnlfc2VydmljZV9tZXRob2RfY2FsbCAoSUJ1c1NlcnZpY2UgICAgICAgICAgICpzZXJ2aWNlLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9y X21lc3NhZ2UpOwotICAgICAgICAgICAgIGdfZnJlZSAoZXJyb3JfbWVzc2FnZSk7Ci0gICAgICAg ICB9CistICAgICAgICBpZiAoZW5naW5lX3R5cGUgPT0gR19UWVBFX0lOVkFMSUQpIHsKKy0gICAg ICAgICAgICBnY2hhciAqZXJyb3JfbWVzc2FnZSA9IGdfc3RyZHVwX3ByaW50ZiAoIkNhbiBub3Qg Zm9uZCBlbmdpbmUgJXMiLCBlbmdpbmVfbmFtZSk7CistICAgICAgICAgICAgZ19kYnVzX21ldGhv ZF9pbnZvY2F0aW9uX3JldHVybl9lcnJvciAoaW52b2NhdGlvbiwKKy0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNfRVJST1IsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19EQlVTX0VSUk9S X0ZBSUxFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBlcnJvcl9tZXNzYWdlKTsKKy0gICAgICAgICAgICBnX2ZyZWUgKGVycm9yX21lc3NhZ2Up OworLSAgICAgICAgfQogLSAgICAgICAgZWxzZSB7CiAtICAgICAgICAgICAgZ2NoYXIgKm9iamVj dF9wYXRoID0gZ19zdHJkdXBfcHJpbnRmICgiL29yZy9mcmVlZGVza3RvcC9JQnVzL0VuZ2luZS8l ZCIsCiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArK2ZhY3Rv cnktPnByaXYtPmlkKTsKQEAgLTEyNiwyOCArMTc1LDI2IEBAIGluZGV4IDExZDlhNmQuLmY3MmY1 MWUgMTAwNjQ0CiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVuZ2luZV9uYW1lLAogLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RfcGF0aCwKIC0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWJ1c19zZXJ2aWNlX2dldF9jb25u ZWN0aW9uICgoSUJ1c1NlcnZpY2UgKilmYWN0b3J5KSk7Ci0rICAgICAgICBlbHNlICB7Ci0rICAg ICAgICAgICAgZ2NoYXIgKm9iamVjdF9wYXRoID0gTlVMTDsKLSsgICAgICAgICAgICBpZiAoZW5n aW5lID09IE5VTEwpIHsKLSsgICAgICAgICAgICAgICAgb2JqZWN0X3BhdGggPSBnX3N0cmR1cF9w cmludGYgKCIvb3JnL2ZyZWVkZXNrdG9wL0lCdXMvRW5naW5lLyVkIiwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrZmFjdG9yeS0+cHJpdi0+aWQpOwot KyAgICAgICAgICAgICAgICBlbmdpbmUgPSBpYnVzX2VuZ2luZV9uZXdfdHlwZSAoZW5naW5lX3R5 cGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmdp bmVfbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9iamVjdF9wYXRoLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWJ1c19zZXJ2aWNlX2dldF9jb25uZWN0aW9uICgoSUJ1c1NlcnZpY2UgKilmYWN0b3J5 KSk7Ci0rICAgICAgICAgICAgfSBlbHNlIHsKLSsgICAgICAgICAgICAgICAgR1ZhbHVlIHZhbHVl ID0geyAwLCB9OwotKyAgICAgICAgICAgICAgICBnX3ZhbHVlX2luaXQgKCZ2YWx1ZSwgR19UWVBF X1NUUklORyk7Ci0rICAgICAgICAgICAgICAgIGdfb2JqZWN0X2dldF9wcm9wZXJ0eSAoR19PQkpF Q1QgKGVuZ2luZSksICJvYmplY3QtcGF0aCIsICZ2YWx1ZSk7Ci0rICAgICAgICAgICAgICAgIG9i amVjdF9wYXRoID0gZ192YWx1ZV9kdXBfc3RyaW5nICgmdmFsdWUpOwotKyAgICAgICAgICAgICAg ICBnX3ZhbHVlX3Vuc2V0ICgmdmFsdWUpOwotKyAgICAgICAgICAgIH0KLSsKICAgICAgICAgICAg ICBnX2Fzc2VydCAoZW5naW5lICE9IE5VTEwpOwogKyAgICAgICAgICAgIGdfYXNzZXJ0IChvYmpl Y3RfcGF0aCAhPSBOVUxMKTsKICAgICAgICAgICAgICBnX29iamVjdF9yZWZfc2luayAoZW5naW5l KTsKICAgICAgICAgICAgICBmYWN0b3J5LT5wcml2LT5lbmdpbmVfbGlzdCA9IGdfbGlzdF9hcHBl bmQgKGZhY3RvcnktPnByaXYtPmVuZ2luZV9saXN0LCBlbmdpbmUpOwogICAgICAgICAgICAgIGdf c2lnbmFsX2Nvbm5lY3QgKGVuZ2luZSwKK0BAIC0yMTksNiArMjg2LDE0IEBAIGlidXNfZmFjdG9y eV9zZXJ2aWNlX21ldGhvZF9jYWxsIChJQnVzU2VydmljZSAgICAgICAgICAgKnNlcnZpY2UsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ192YXJp YW50X25ldyAoIihvKSIsIG9iamVjdF9wYXRoKSk7CisgICAgICAgICAgICAgZ19mcmVlIChvYmpl Y3RfcGF0aCk7CisgICAgICAgICB9CisrICAgICAgICBlbHNlIHsKKysgICAgICAgICAgICBnY2hh ciAqZXJyb3JfbWVzc2FnZSA9IGdfc3RyZHVwX3ByaW50ZiAoIkNhbiBub3QgZm9uZCBlbmdpbmUg JXMiLCBlbmdpbmVfbmFtZSk7CisrICAgICAgICAgICAgZ19kYnVzX21ldGhvZF9pbnZvY2F0aW9u X3JldHVybl9lcnJvciAoaW52b2NhdGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBHX0RCVVNfRVJST1IsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR19EQlVTX0VSUk9SX0ZBSUxFRCwKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcl9t ZXNzYWdlKTsKKysgICAgICAgICAgICBnX2ZyZWUgKGVycm9yX21lc3NhZ2UpOworKyAgICAgICAg fQorICAgICAgICAgcmV0dXJuOworICAgICB9CisgCiBkaWZmIC0tZ2l0IGEvc3JjL2lidXNmYWN0 b3J5LmggYi9zcmMvaWJ1c2ZhY3RvcnkuaAogaW5kZXggNDdjMDZlMC4uMDNkMWRlYSAxMDA2NDQK IC0tLSBhL3NyYy9pYnVzZmFjdG9yeS5oCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5z cGVjCmluZGV4IGM5NzZiODkuLmI1NGQ1NmEgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9p YnVzLnNwZWMKQEAgLTIwLDcgKzIwLDcgQEAKIAogTmFtZTogICAgICAgaWJ1cwogVmVyc2lvbjog ICAgMS4zLjk5LjIwMTEwNDE5Ci1SZWxlYXNlOiAgICAxMyV7P2Rpc3R9CitSZWxlYXNlOiAgICAx NCV7P2Rpc3R9CiBTdW1tYXJ5OiAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMgZm9yIExpbnV4IE9T CiBMaWNlbnNlOiAgICBMR1BMdjIrCiBHcm91cDogICAgICBTeXN0ZW0gRW52aXJvbm1lbnQvTGli cmFyaWVzCkBAIC0yOCw3ICsyOCw3IEBAIFVSTDogICAgICAgIGh0dHA6Ly9jb2RlLmdvb2dsZS5j b20vcC9pYnVzLwogU291cmNlMDogICAgaHR0cDovL2lidXMuZ29vZ2xlY29kZS5jb20vZmlsZXMv JXtuYW1lfS0le3ZlcnNpb259LnRhci5negogU291cmNlMTogICAgeGlucHV0LWlidXMKICVpZiAl aGF2ZV9nanNmaWxlCi1Tb3VyY2UyOiAgICBodHRwOi8vZnVqaXdhcmEuZmVkb3JhcGVvcGxlLm9y Zy9pYnVzL2dub21lLXNoZWxsL2lidXMtZ2pzLTEuMy45OS4yMDExMDgwNi50YXIuZ3oKK1NvdXJj ZTI6ICAgIGh0dHA6Ly9mdWppd2FyYS5mZWRvcmFwZW9wbGUub3JnL2lidXMvZ25vbWUtc2hlbGwv aWJ1cy1nanMtMS4zLjk5LjIwMTEwODE0LnRhci5negogJWVuZGlmCiBTb3VyY2UzOiAgICBodHRw czovL3d3dy50cmFuc2lmZXgubmV0L3Byb2plY3RzL3AvaWJ1cy9yZXNvdXJjZS9tYXN0ZXIvbC9k YS9kb3dubG9hZC9pYnVzX21hc3Rlcl9kYS5wbwogUGF0Y2gwOiAgICAgaWJ1cy1IRUFELnBhdGNo CkBAIC02Miw2ICs2Miw5IEBAIEJ1aWxkUmVxdWlyZXM6ICBpc28tY29kZXMtZGV2ZWwKICVpZiAl aGF2ZV9saWJ4a2JmaWxlCiBCdWlsZFJlcXVpcmVzOiAgbGlieGtiZmlsZS1kZXZlbAogJWVuZGlm CisjIGZvciBpYnVzLWdqcy14eC50YXIuZ3oKK0J1aWxkUmVxdWlyZXM6ICBnanMKK0J1aWxkUmVx dWlyZXM6ICBnbm9tZS1zaGVsbAogCiBSZXF1aXJlczogICAle25hbWV9LWxpYnMgPSAle3ZlcnNp b259LSV7cmVsZWFzZX0KIFJlcXVpcmVzOiAgICV7bmFtZX0tZ3RrMiA9ICV7dmVyc2lvbn0tJXty ZWxlYXNlfQpAQCAtMTg0LDE0ICsxODcsNiBAQCBtdiBkYXRhL2lidXMuc2NoZW1hcy5pbiBkYXRh L2lidXMuc2NoZW1hcy5pbi5pbgogJXBhdGNoOTEgLXAxIC1iIC5mYWxsYmFjay1pY29uCiAKICVi dWlsZAotJWlmICVoYXZlX2dqc2ZpbGUKLWQ9YGJhc2VuYW1lICVTT1VSQ0UyIC50YXIuZ3pgCi1j ZCAkZAotJWNvbmZpZ3VyZQotbWFrZSAlez9fc21wX21mbGFnc30KLWNkIC4uCi0lZW5kaWYKLQog JWlmICVoYXZlX2xpYnhrYmZpbGUKIGFjbG9jYWwgLUkgbTQKIGF1dG9oZWFkZXIKQEAgLTIxNCw2 ICsyMDksMTYgQEAgYXV0b21ha2UgLWEgLWMgLWYKICMgbWFrZSAtQyBwbyB1cGRhdGUtZ21vCiBt YWtlICV7P19zbXBfbWZsYWdzfQogCisKKyVpZiAlaGF2ZV9nanNmaWxlCitkPWBiYXNlbmFtZSAl U09VUkNFMiAudGFyLmd6YAorY2QgJGQKK2V4cG9ydCBQS0dfQ09ORklHX1BBVEg9Li46L3Vzci9s aWI2NC9wa2djb25maWc6L3Vzci9saWIvcGtnY29uZmlnCislY29uZmlndXJlCittYWtlICV7P19z bXBfbWZsYWdzfQorY2QgLi4KKyVlbmRpZgorCiAlaW5zdGFsbAogcm0gLXJmICRSUE1fQlVJTERf Uk9PVAogbWFrZSBERVNURElSPSRSUE1fQlVJTERfUk9PVCBpbnN0YWxsCkBAIC0zNjQsNyArMzY5 LDcgQEAgZmkKICV7X2RhdGFkaXJ9L2d0ay1kb2MvaHRtbC8qCiAKICVjaGFuZ2Vsb2cKLSogRnJp IEF1ZyAwNSAyMDExIFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuMy45 OS4yMDExMDQxOS0xMworKiBGcmkgQXVnIDEyIDIwMTEgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2Fy QHJlZGhhdC5jb20+IC0gMS4zLjk5LjIwMTEwNDE5LTE0CiAtIFVwZGF0ZWQgaWJ1cy1IRUFELnBh dGNoIGZvciB1cHN0cmVhbS4KIC0gUmVtb3ZlZCBpYnVzLTQzNTg4MC1zdXJyb3VuZGluZy10ZXh0 LnBhdGNoIGFzIHVwc3RyZWFtLgogLSBBZGRlZCBpYnVzLTcxMTYzMi1mZWRvcmEtZmFsbGJhY2st aWNvbi5wYXRjaAoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDkwMTUyZmEu LmIwZjg5ZWYgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMg QEAKIGQ0ZjI3MjlmZWNiOTJhZTZiNDFmMjZjNzcwYjFhNzcyICBpYnVzLTEuMy45OS4yMDExMDQx OS50YXIuZ3oKLWIyMjE0NDkwMzA0YWI4OWQ1OTljZjcyZDAxMmZkZTNjICBpYnVzLWdqcy0xLjMu OTkuMjAxMTA4MDYudGFyLmd6Cis4YWYzOGVmMzRkOTljMjMyYzczYTgzNzM1YWZhODZkZCAgaWJ1 cy1nanMtMS4zLjk5LjIwMTEwODE0LnRhci5negogNjk4YzkwZWRmMGYwMzc0ODhlMWFhOTY5ODA0 ZTg5MWYgIGlidXNfbWFzdGVyX2RhLnBvCg==