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: Bumped to 1.4.99.20120317 Date: Sun, 31 May 2026 02:05:37 GMT Message-ID: <178019313717.1.7208781075867993894.rpms-ibus-19c65a754283@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 19c65a75428342fe4072e034363020a20489c878 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiAxOWM2NWE3NTQyODM0MmZlNDA3MmUwMzQzNjMwMjBhMjA0ODlj ODc4CkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDEyLTAzLTE4VDE4OjQxOjQxKzA5OjAwClN0YXRzICA6ICs4MDYvLTgwOSBpbiA4IGZpbGUo cykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvMTlj NjVhNzU0MjgzNDJmZTQwNzJlMDM0MzYzMDIwYTIwNDg5Yzg3OD9icmFuY2g9YXV0b3Rvb2wKCkxv ZzoKQnVtcGVkIHRvIDEuNC45OS4yMDEyMDMxNwoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3Jl IGIvLmdpdGlnbm9yZQppbmRleCA3NjAyYjhkLi40OTY1NGQ5IDEwMDY0NAotLS0gYS8uZ2l0aWdu b3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTE3LDYgKzE3LDcgQEAgaWJ1cy0xLjMuNi50YXIuZ3oK IC9pYnVzLTEuMy45OS4yMDExMDgxNy50YXIuZ3oKIC9pYnVzLTEuNC45OS4yMDEyMDIwMy50YXIu Z3oKIC9pYnVzLTEuNC45OS4yMDEyMDMwNC50YXIuZ3oKKy9pYnVzLTEuNC45OS4yMDEyMDMxNy50 YXIuZ3oKIC9pYnVzLWdqcy0zLjAuMi4yMDExMDgyMy50YXIuZ3oKIC9pYnVzLWdqcy0zLjEuNC4y MDExMDgyMy50YXIuZ3oKIC9pYnVzLWdqcy0zLjAuMi4yMDExMDkwOC50YXIuZ3oKQEAgLTM3LDMg KzM4LDQgQEAgaWJ1cy0xLjMuNi50YXIuZ3oKIC9pYnVzLWdqcy0zLjIuMS4yMDExMTIzMC50YXIu Z3oKIC9pYnVzLWdqcy0zLjMuMy4yMDEyMDIwMy50YXIuZ3oKIC9pYnVzLWdqcy0zLjMuOTAuMjAx MjAzMDgudGFyLmd6CisvaWJ1cy1nanMtMy4zLjkwLjIwMTIwMzE3LnRhci5negoKZGlmZiAtLWdp dCBhL2lidXMtNTMwNzExLXByZWxvYWQtc3lzLnBhdGNoIGIvaWJ1cy01MzA3MTEtcHJlbG9hZC1z eXMucGF0Y2gKaW5kZXggOTQxZTdlOS4uMWM2ZTJmNyAxMDA2NDQKLS0tIGEvaWJ1cy01MzA3MTEt cHJlbG9hZC1zeXMucGF0Y2gKKysrIGIvaWJ1cy01MzA3MTEtcHJlbG9hZC1zeXMucGF0Y2gKQEAg LTEsNiArMSw2IEBACi1Gcm9tIDhmNWJiODI4NzQ0NTMyYmNmZGVkN2U5MmYzYTFkYjFmMjZlNTY3 ZTggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIDM4Y2ZlMDYyMmVjZTMxZDRhZmYyODI3 YTdkNjdmNzI1MGYwZTBkNWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2Fy YXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDMwIERlYyAyMDExIDE1 OjQ2OjU2ICswOTAwCitEYXRlOiBGcmksIDE2IE1hciAyMDEyIDIwOjQ3OjM1ICswOTAwCiBTdWJq ZWN0OiBbUEFUQ0hdIFJlbG9hZCBwcmVsb2FkIGVuZ2luZXMgdW50aWwgdXNlcnMgY3VzdG9taXpl IHRoZSBsaXN0LgogCiBUaGUgaWRlYSBpcywgaWYgdXNlcnMgZG9uJ3QgY3VzdG9taXplIHRoZSBw cmVsb2FkX2VuZ2luZXMgd2l0aCBpYnVzLXNldHVwLApAQCAtMTcsNTA3ICsxNywyMCBAQCBvbiBp YnVzLXNldHVwLCBpYnVzLXNldHVwIHNldHMgJ3ByZWxvYWRfZW5naW5lX21vZGUnIGFzCiBJQlVT X1BSRUxPQURfRU5HSU5FX01PREVfVVNFUiBhbmQgdXNlcnMgY2FuIGN1c3RvbWl6ZSB0aGUgdmFs dWUKICdwcmVsb2FkX2VuZ2luZXMnLgogLS0tCi0gYnVzL2lidXNpbXBsLmMgICAgICAgfCAgNDEy ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCi0gZGF0 YS9pYnVzLnNjaGVtYXMuaW4gfCAgIDE1ICsrLQotIGlidXMvY29tbW9uLnB5ICAgICAgIHwgICAg NiArCi0gc2V0dXAvbWFpbi5weSAgICAgICAgfCAgIDczICsrKysrKysrLQotIHNldHVwL3NldHVw LnVpICAgICAgIHwgICAyMSArKystCi0gc3JjL2lidXN0eXBlcy5oICAgICAgfCAgIDEwICsrCi0g NiBmaWxlcyBjaGFuZ2VkLCA0NDAgaW5zZXJ0aW9ucygrKSwgOTcgZGVsZXRpb25zKC0pCisgZGF0 YS9pYnVzLnNjaGVtYXMuaW4gfCAgIDI0ICsrKysrKysrKworIHNldHVwL21haW4ucHkgICAgICAg IHwgICA2MSArKysrKysrKysrKysrKysrKysrKystLQorIHNldHVwL3NldHVwLnVpICAgICAgIHwg ICAyMSArKysrKysrLQorIHNyYy9pYnVzdHlwZXMuaCAgICAgIHwgICAxMCArKysrCisgdWkvZ3Rr My9wYW5lbC52YWxhICAgfCAgMTM2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrCisgNSBmaWxlcyBjaGFuZ2VkLCAyNDUgaW5zZXJ0aW9ucygrKSwgNyBk ZWxldGlvbnMoLSkKIAotZGlmZiAtLWdpdCBhL2J1cy9pYnVzaW1wbC5jIGIvYnVzL2lidXNpbXBs LmMKLWluZGV4IDA1OWQ2NjAuLmJiYTkzNTMgMTAwNjQ0Ci0tLS0gYS9idXMvaWJ1c2ltcGwuYwot KysrIGIvYnVzL2lidXNpbXBsLmMKLUBAIC0xNDIsNiArMTQyLDkgQEAgc3RhdGljIHZvaWQgICAg IGJ1c19pYnVzX2ltcGxfc2V0X3ByZXZpb3VzX2VuZ2luZQotIHN0YXRpYyB2b2lkICAgICBidXNf aWJ1c19pbXBsX3NldF9wcmVsb2FkX2VuZ2luZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoQnVzSUJ1c0ltcGwgICAgICAgICppYnVzLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHVmFyaWFudCAgICAg ICAgICAgKnZhbHVlKTsKLStzdGF0aWMgdm9pZCAgICAgYnVzX2lidXNfaW1wbF9zZXRfcHJlbG9h ZF9lbmdpbmVfbW9kZQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChCdXNJQnVzSW1wbCAgICAgICAgKmlidXMsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICAgICAgICAqdmFsdWUpOwot IHN0YXRpYyB2b2lkICAgICBidXNfaWJ1c19pbXBsX3NldF91c2Vfc3lzX2xheW91dAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChCdXNJQnVzSW1wbCAg ICAgICAgKmlidXMsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdWYXJpYW50ICAgICAgICAgICAqdmFsdWUpOwotQEAgLTI4Myw2ICsyODYsMjY5IEBA IF9wYW5lbF9kZXN0cm95X2NiIChCdXNQYW5lbFByb3h5ICpwYW5lbCwKLSB9Ci0gCi0gc3RhdGlj IHZvaWQKLStfY29uZmlnX3NldF92YWx1ZV9kb25lIChHT2JqZWN0ICAgICAgKm9iamVjdCwKLSsg ICAgICAgICAgICAgICAgICAgICAgICBHQXN5bmNSZXN1bHQgKnJlcywKLSsgICAgICAgICAgICAg ICAgICAgICAgICBncG9pbnRlciAgICAgIHVzZXJfZGF0YSkKLSt7Ci0rICAgIElCdXNDb25maWcg KmNvbmZpZyA9IChJQnVzQ29uZmlnICopIG9iamVjdDsKLSsgICAgR1ZhcmlhbnQgKnZhbHVlID0g KEdWYXJpYW50ICopIHVzZXJfZGF0YTsKLSsgICAgR0Vycm9yICplcnJvciA9IE5VTEw7Ci0rCi0r ICAgIGdfYXNzZXJ0IChJQlVTX0lTX0NPTkZJRyAoY29uZmlnKSk7Ci0rCi0rICAgIGlmICghaWJ1 c19jb25maWdfc2V0X3ZhbHVlX2FzeW5jX2ZpbmlzaCAoY29uZmlnLCByZXMsICZlcnJvcikpIHsK LSsgICAgICAgIGlmIChlcnJvcikgewotKyAgICAgICAgICAgIGdfZXJyb3JfZnJlZSAoZXJyb3Ip OwotKyAgICAgICAgfQotKyAgICB9Ci0rICAgIGdfdmFyaWFudF91bnJlZiAodmFsdWUpOwotK30K LSsKLSsjaWZuZGVmIE9TX0NIUk9NRU9TCi0rc3RhdGljIGdpbnQKLStfZW5naW5lX2Rlc2NfY21w IChJQnVzRW5naW5lRGVzYyAqZGVzYzEsCi0rICAgICAgICAgICAgICAgICAgSUJ1c0VuZ2luZURl c2MgKmRlc2MyKQotK3sKLSsgICAgcmV0dXJuIC0gKChnaW50KSBpYnVzX2VuZ2luZV9kZXNjX2dl dF9yYW5rIChkZXNjMSkpICsKLSsgICAgICAgICAgICAgICgoZ2ludCkgaWJ1c19lbmdpbmVfZGVz Y19nZXRfcmFuayAoZGVzYzIpKTsKLSt9Ci0rI2VuZGlmCi0rCi0rI2lmbmRlZiBPU19DSFJPTUVP UwotK3N0YXRpYyBnaW50Ci0rX2dldF9jb25maWdfcHJlbG9hZF9lbmdpbmVfbW9kZSAoQnVzSUJ1 c0ltcGwgKmlidXMpCi0rewotKyAgICBHVmFyaWFudCAqdmFyaWFudCA9IE5VTEw7Ci0rICAgIGdp bnQgcHJlbG9hZF9lbmdpbmVfbW9kZSA9IElCVVNfUFJFTE9BRF9FTkdJTkVfTU9ERV9VU0VSOwot KwotKyAgICBnX2Fzc2VydCAoQlVTX0lTX0lCVVNfSU1QTCAoaWJ1cykpOwotKwotKyAgICBpZiAo aWJ1cy0+Y29uZmlnID09IE5VTEwpIHsKLSsgICAgICAgIHJldHVybiBwcmVsb2FkX2VuZ2luZV9t b2RlOwotKyAgICB9Ci0rCi0rICAgIHZhcmlhbnQgPSBpYnVzX2NvbmZpZ19nZXRfdmFsdWUgKGli dXMtPmNvbmZpZywgImdlbmVyYWwiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAicHJlbG9hZF9lbmdpbmVzIik7Ci0rICAgIGlmICh2YXJpYW50ICE9IE5VTEwgJiYgZ192 YXJpYW50X2NsYXNzaWZ5ICh2YXJpYW50KSA9PSBHX1ZBUklBTlRfQ0xBU1NfQVJSQVkpIHsKLSsg ICAgICAgIEdWYXJpYW50SXRlciBpdGVyOwotKyAgICAgICAgY29uc3QgZ2NoYXIgKmVuZ2luZV9u YW1lID0gTlVMTDsKLSsgICAgICAgIGdfdmFyaWFudF9pdGVyX2luaXQgKCZpdGVyLCB2YXJpYW50 KTsKLSsgICAgICAgIGdfdmFyaWFudF9pdGVyX2xvb3AgKCZpdGVyLCAiJnMiLCAmZW5naW5lX25h bWUpOwotKyAgICAgICAgaWYgKGdfc3RyY21wMCAoZW5naW5lX25hbWUsICJpYnVzX251bGxfZW5n aW5lIikgPT0gMCkgewotKyAgICAgICAgICAgIGdfdmFyaWFudF91bnJlZiAodmFyaWFudCk7Ci0r ICAgICAgICAgICAgdmFyaWFudCA9IE5VTEw7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgaWYg KHZhcmlhbnQgPT0gTlVMTCkgewotKyAgICAgICAgLyogU2V0IExBTkdfUkVMQVRJVkUgbW9kZSBm b3IgdGhlIGluaXRpYWwgbG9naW4gKi8KLSsgICAgICAgIHByZWxvYWRfZW5naW5lX21vZGUgPSBJ QlVTX1BSRUxPQURfRU5HSU5FX01PREVfTEFOR19SRUxBVElWRTsKLSsgICAgICAgIHZhcmlhbnQg PSBnX3ZhcmlhbnRfcmVmX3NpbmsgKGdfdmFyaWFudF9uZXcgKCJpIiwgcHJlbG9hZF9lbmdpbmVf bW9kZSkpOwotKyAgICAgICAgaWJ1c19jb25maWdfc2V0X3ZhbHVlX2FzeW5jIChpYnVzLT5jb25m aWcsICJnZW5lcmFsIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInBy ZWxvYWRfZW5naW5lX21vZGUiLCB2YXJpYW50LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtMSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX2NvbmZpZ19zZXRfdmFs dWVfZG9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudCk7 Ci0rICAgICAgICByZXR1cm4gcHJlbG9hZF9lbmdpbmVfbW9kZTsKLSsgICAgfSBlbHNlIHsKLSsg ICAgICAgIGdfdmFyaWFudF91bnJlZiAodmFyaWFudCk7Ci0rICAgIH0KLSsKLSsgICAgdmFyaWFu dCA9IGlidXNfY29uZmlnX2dldF92YWx1ZSAoaWJ1cy0+Y29uZmlnLCAiZ2VuZXJhbCIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVsb2FkX2VuZ2luZV9tb2RlIik7 Ci0rICAgIGlmICh2YXJpYW50ICE9IE5VTEwpIHsKLSsgICAgICAgIGlmIChnX3ZhcmlhbnRfY2xh c3NpZnkgKHZhcmlhbnQpID09IEdfVkFSSUFOVF9DTEFTU19JTlQzMikgewotKyAgICAgICAgICAg IHByZWxvYWRfZW5naW5lX21vZGUgPSBnX3ZhcmlhbnRfZ2V0X2ludDMyICh2YXJpYW50KTsKLSsg ICAgICAgIH0KLSsgICAgICAgIGdfdmFyaWFudF91bnJlZiAodmFyaWFudCk7Ci0rICAgIH0KLSsK LSsgICAgcmV0dXJuIHByZWxvYWRfZW5naW5lX21vZGU7Ci0rfQotKyNlbmRpZgotKwotK3N0YXRp YyBpbnQKLStfY29tcGFyZV9lbmdpbmVfbGlzdF92YWx1ZSAoR1ZhcmlhbnQgKnZhbHVlX2EsIEdW YXJpYW50ICp2YWx1ZV9iKQotK3sKLSsgICAgR1ZhcmlhbnQgKnZhbHVlOwotKyAgICBHVmFyaWFu dEl0ZXIgaXRlcjsKLSsgICAgY29uc3QgZ2NoYXIgKmVuZ2luZV9uYW1lID0gTlVMTDsKLSsgICAg Z2NoYXIgKmNvbmNhdF9lbmdpbmVfbmFtZXM7Ci0rICAgIGdjaGFyICpjb25jYXRfZW5naW5lX25h bWVzX2EgPSBOVUxMOwotKyAgICBnY2hhciAqY29uY2F0X2VuZ2luZV9uYW1lc19iID0gTlVMTDsK LSsgICAgaW50IHJldHZhbCA9IDA7Ci0rCi0rICAgIHZhbHVlID0gdmFsdWVfYTsKLSsgICAgY29u Y2F0X2VuZ2luZV9uYW1lcyA9IE5VTEw7Ci0rICAgIGlmICh2YWx1ZSAhPSBOVUxMICYmIGdfdmFy aWFudF9jbGFzc2lmeSAodmFsdWUpID09IEdfVkFSSUFOVF9DTEFTU19BUlJBWSkgewotKyAgICAg ICAgZ192YXJpYW50X2l0ZXJfaW5pdCAoJml0ZXIsIHZhbHVlKTsKLSsgICAgICAgIHdoaWxlIChn X3ZhcmlhbnRfaXRlcl9sb29wICgmaXRlciwgIiZzIiwgJmVuZ2luZV9uYW1lKSkgewotKyAgICAg ICAgICAgIGdjaGFyICp0bXAgPSBnX3N0cmR1cF9wcmludGYgKCIlczo6JXMiLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmNhdF9lbmdpbmVfbmFtZXMgPyBj b25jYXRfZW5naW5lX25hbWVzIDogIiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZW5naW5lX25hbWUgPyBlbmdpbmVfbmFtZSA6ICIiKTsKLSsgICAgICAgICAg ICBnX2ZyZWUgKGNvbmNhdF9lbmdpbmVfbmFtZXMpOwotKyAgICAgICAgICAgIGNvbmNhdF9lbmdp bmVfbmFtZXMgPSB0bXA7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgY29uY2F0X2VuZ2luZV9u YW1lc19hID0gY29uY2F0X2VuZ2luZV9uYW1lczsKLSsKLSsgICAgdmFsdWUgPSB2YWx1ZV9iOwot KyAgICBjb25jYXRfZW5naW5lX25hbWVzID0gTlVMTDsKLSsgICAgaWYgKHZhbHVlICE9IE5VTEwg JiYgZ192YXJpYW50X2NsYXNzaWZ5ICh2YWx1ZSkgPT0gR19WQVJJQU5UX0NMQVNTX0FSUkFZKSB7 Ci0rICAgICAgICBnX3ZhcmlhbnRfaXRlcl9pbml0ICgmaXRlciwgdmFsdWUpOwotKyAgICAgICAg d2hpbGUgKGdfdmFyaWFudF9pdGVyX2xvb3AgKCZpdGVyLCAiJnMiLCAmZW5naW5lX25hbWUpKSB7 Ci0rICAgICAgICAgICAgZ2NoYXIgKnRtcCA9IGdfc3RyZHVwX3ByaW50ZiAoIiVzOjolcyIsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uY2F0X2VuZ2luZV9u YW1lcyA/IGNvbmNhdF9lbmdpbmVfbmFtZXMgOiAiIiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBlbmdpbmVfbmFtZSA/IGVuZ2luZV9uYW1lIDogIiIpOwotKyAg ICAgICAgICAgIGdfZnJlZSAoY29uY2F0X2VuZ2luZV9uYW1lcyk7Ci0rICAgICAgICAgICAgY29u Y2F0X2VuZ2luZV9uYW1lcyA9IHRtcDsKLSsgICAgICAgIH0KLSsgICAgfQotKyAgICBjb25jYXRf ZW5naW5lX25hbWVzX2IgPSBjb25jYXRfZW5naW5lX25hbWVzOwotKwotKyAgICByZXR2YWwgPSBn X3N0cmNtcDAgKGNvbmNhdF9lbmdpbmVfbmFtZXNfYSwgY29uY2F0X2VuZ2luZV9uYW1lc19iKTsK LSsgICAgZ19mcmVlIChjb25jYXRfZW5naW5lX25hbWVzX2EpOwotKyAgICBnX2ZyZWUgKGNvbmNh dF9lbmdpbmVfbmFtZXNfYik7Ci0rICAgIHJldHVybiByZXR2YWw7Ci0rfQotKwotK3N0YXRpYyB2 b2lkCi0rX3ByZWxvYWRfZW5naW5lc19jb25maWdfZ2V0X3ZhbHVlX2RvbmUgKEdPYmplY3QgICAg ICAqb2JqZWN0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHQXN5 bmNSZXN1bHQgKnJlcywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z3BvaW50ZXIgICAgICB1c2VyX2RhdGEpCi0rewotKyAgICBJQnVzQ29uZmlnICpjb25maWcgPSAo SUJ1c0NvbmZpZyAqKSBvYmplY3Q7Ci0rICAgIEdWYXJpYW50ICpuZXdfdmFsdWUgPSAoR1Zhcmlh bnQgKikgdXNlcl9kYXRhOwotKyAgICBHVmFyaWFudCAqdmFsdWUgPSBOVUxMOwotKyAgICBHRXJy b3IgKmVycm9yID0gTlVMTDsKLSsKLSsgICAgZ19hc3NlcnQgKElCVVNfSVNfQ09ORklHIChjb25m aWcpKTsKLSsKLSsgICAgdmFsdWUgPSBpYnVzX2NvbmZpZ19nZXRfdmFsdWVfYXN5bmNfZmluaXNo IChjb25maWcsIHJlcywgJmVycm9yKTsKLSsgICAgaWYgKGVycm9yKSB7Ci0rICAgICAgICBnX2Vy cm9yX2ZyZWUgKGVycm9yKTsKLSsgICAgfQotKyAgICBpZiAoX2NvbXBhcmVfZW5naW5lX2xpc3Rf dmFsdWUgKHZhbHVlLCBuZXdfdmFsdWUpICE9IDApIHsKLSsgICAgICAgIGlidXNfY29uZmlnX3Nl dF92YWx1ZV9hc3luYyAoY29uZmlnLCAiZ2VuZXJhbCIsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJwcmVsb2FkX2VuZ2luZXMiLCBuZXdfdmFsdWUsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBfY29uZmlnX3NldF92YWx1ZV9kb25lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBuZXdfdmFsdWUpOwotKyAgICB9IGVsc2UgaWYgKG5ld192YWx1ZSkgewotKyAgICAg ICAgZ192YXJpYW50X3VucmVmIChuZXdfdmFsdWUpOwotKyAgICB9Ci0rICAgIGlmICh2YWx1ZSkg ewotKyAgICAgICAgZ192YXJpYW50X3VucmVmICh2YWx1ZSk7Ci0rICAgIH0KLSt9Ci0rCi0rc3Rh dGljIHZvaWQKLStfc2V0X3ByZWxvYWRfZW5naW5lcyAoQnVzSUJ1c0ltcGwgKmlidXMsCi0rICAg ICAgICAgICAgICAgICAgICAgIEdWYXJpYW50ICAgICp2YWx1ZSkKLSt7Ci0rICAgIEdMaXN0ICpl bmdpbmVfbGlzdCA9IE5VTEw7Ci0rCi0rICAgIGdfYXNzZXJ0IChCVVNfSVNfSUJVU19JTVBMIChp YnVzKSk7Ci0rCi0rICAgIGdfbGlzdF9mb3JlYWNoIChpYnVzLT5lbmdpbmVfbGlzdCwgKEdGdW5j KSBnX29iamVjdF91bnJlZiwgTlVMTCk7Ci0rICAgIGdfbGlzdF9mcmVlIChpYnVzLT5lbmdpbmVf bGlzdCk7Ci0rCi0rICAgIGlmICh2YWx1ZSAhPSBOVUxMICYmIGdfdmFyaWFudF9jbGFzc2lmeSAo dmFsdWUpID09IEdfVkFSSUFOVF9DTEFTU19BUlJBWSkgewotKyAgICAgICAgR1ZhcmlhbnRJdGVy IGl0ZXI7Ci0rICAgICAgICBnX3ZhcmlhbnRfaXRlcl9pbml0ICgmaXRlciwgdmFsdWUpOwotKyAg ICAgICAgY29uc3QgZ2NoYXIgKmVuZ2luZV9uYW1lID0gTlVMTDsKLSsgICAgICAgIHdoaWxlIChn X3ZhcmlhbnRfaXRlcl9sb29wICgmaXRlciwgIiZzIiwgJmVuZ2luZV9uYW1lKSkgewotKyAgICAg ICAgICAgIElCdXNFbmdpbmVEZXNjICplbmdpbmUgPSBidXNfcmVnaXN0cnlfZmluZF9lbmdpbmVf YnlfbmFtZSAoaWJ1cy0+cmVnaXN0cnksIGVuZ2luZV9uYW1lKTsKLSsgICAgICAgICAgICBpZiAo ZW5naW5lID09IE5VTEwgfHwgZ19saXN0X2ZpbmQgKGVuZ2luZV9saXN0LCBlbmdpbmUpICE9IE5V TEwpCi0rICAgICAgICAgICAgICAgIGNvbnRpbnVlOwotKyAgICAgICAgICAgIGVuZ2luZV9saXN0 ID0gZ19saXN0X2FwcGVuZCAoZW5naW5lX2xpc3QsIGVuZ2luZSk7Ci0rICAgICAgICB9Ci0rCi0r ICAgICAgICBpZiAoZW5naW5lX2xpc3QgIT0gTlVMTCAmJgotKyAgICAgICAgICAgIGlidXMtPmNv bmZpZyAhPSBOVUxMKSB7Ci0rICAgICAgICAgICAgLyogc3luYyBmdW5jdGlvbiB3aWxsIGVmZmVj dHMgdGhlIHN0YXJ0dXAgcGVyZm9ybWFuY2UuCi0rICAgICAgICAgICAgICogV2UnZCBhbHdheXMg bGlrZSB0byBzYXZlIHRoZSB2YWx1ZSBzbyB0aGF0IGlidXMtc2V0dXAKLSsgICAgICAgICAgICAg KiBnZXQgdGhlIHVwZGF0ZWQgZW5naW5lIGxpc3QuICovCi0rICAgICAgICAgICAgaWJ1c19jb25m aWdfZ2V0X3ZhbHVlX2FzeW5jIChpYnVzLT5jb25maWcsICJnZW5lcmFsIiwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVsb2FkX2VuZ2luZXMiLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgX3ByZWxvYWRfZW5naW5lc19jb25maWdfZ2V0X3ZhbHVlX2RvbmUs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfcmVm X3NpbmsgKHZhbHVlKSk7Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIC8qIFdlIGRv bid0IHVwZGF0ZSBwcmVsb2FkX2VuZ2luZXMgd2l0aCBhbiBlbXB0eSBzdHJpbmcgZm9yIHNhZmV0 eS4KLSsgICAgICAgICAgICAgKiBKdXN0IHVucmVmIHRoZSBmbG9hdGluZyB2YWx1ZS4gKi8KLSsg ICAgICAgICAgICBnX3ZhcmlhbnRfdW5yZWYgKHZhbHVlKTsKLSsgICAgICAgIH0KLSsgICAgfSBl bHNlIGlmICh2YWx1ZSAhPSBOVUxMKSB7Ci0rICAgICAgICBnX3ZhcmlhbnRfdW5yZWYgKHZhbHVl KTsKLSsgICAgfQotKwotKyAgICBnX2xpc3RfZm9yZWFjaCAoZW5naW5lX2xpc3QsIChHRnVuYykg Z19vYmplY3RfcmVmLCBOVUxMKTsKLSsgICAgaWJ1cy0+ZW5naW5lX2xpc3QgPSBlbmdpbmVfbGlz dDsKLSsKLSsgICAgaWYgKGlidXMtPmVuZ2luZV9saXN0KSB7Ci0rICAgICAgICBCdXNDb21wb25l bnQgKmNvbXBvbmVudCA9IGJ1c19jb21wb25lbnRfZnJvbV9lbmdpbmVfZGVzYyAoKElCdXNFbmdp bmVEZXNjICopIGlidXMtPmVuZ2luZV9saXN0LT5kYXRhKTsKLSsgICAgICAgIGlmIChjb21wb25l bnQgJiYgIWJ1c19jb21wb25lbnRfaXNfcnVubmluZyAoY29tcG9uZW50KSkgewotKyAgICAgICAg ICAgIGJ1c19jb21wb25lbnRfc3RhcnQgKGNvbXBvbmVudCwgZ192ZXJib3NlKTsKLSsgICAgICAg IH0KLSsgICAgfQotKwotKyAgICBidXNfaWJ1c19pbXBsX2NoZWNrX2dsb2JhbF9lbmdpbmUgKGli dXMpOwotKyAgICBidXNfaWJ1c19pbXBsX3VwZGF0ZV9lbmdpbmVzX2hvdGtleV9wcm9maWxlIChp YnVzKTsKLSt9Ci0rCi0rI2lmbmRlZiBPU19DSFJPTUVPUwotK3N0YXRpYyB2b2lkCi0rX3NldF9s YW5ndWFnZV9yZWxhdGl2ZV9wcmVsb2FkX2VuZ2luZXMgKEJ1c0lCdXNJbXBsICppYnVzKQotK3sK LSsgICAgZ2NoYXIgKmxhbmcgPSBOVUxMOwotKyAgICBnY2hhciAqcCA9IE5VTEw7Ci0rICAgIEdM aXN0ICplbmdpbmVzID0gTlVMTDsKLSsgICAgR0xpc3QgKmxpc3Q7Ci0rICAgIEdWYXJpYW50QnVp bGRlciBidWlsZGVyOwotKwotKyAgICBnX2Fzc2VydCAoQlVTX0lTX0lCVVNfSU1QTCAoaWJ1cykp OwotKwotKyAgICAvKiBUaGUgc2V0bG9jYWxlIGNhbGwgZmlyc3QgY2hlY2tzIExDX0FMTC4gSWYg aXQncyBub3QgYXZhaWxhYmxlLCBjaGVja3MKLSsgICAgICogTENfQ1RZUEUuIElmIGl0J3MgYWxz byBub3QgYXZhaWxhYmxlLCBjaGVja3MgTEFORy4gKi8KLSsgICAgbGFuZyA9IGdfc3RyZHVwIChz ZXRsb2NhbGUgKExDX0NUWVBFLCBOVUxMKSk7Ci0rICAgIGlmIChsYW5nID09IE5VTEwpIHsKLSsg ICAgICAgIHJldHVybjsKLSsgICAgfQotKwotKyAgICBwID0gaW5kZXggKGxhbmcsICcuJyk7Ci0r ICAgIGlmIChwKSB7Ci0rICAgICAgICAqcCA9ICdcMCc7Ci0rICAgIH0KLSsKLSsgICAgZW5naW5l cyA9IGJ1c19yZWdpc3RyeV9nZXRfZW5naW5lc19ieV9sYW5ndWFnZSAoaWJ1cy0+cmVnaXN0cnks IGxhbmcpOwotKyAgICBpZiAoZW5naW5lcyA9PSBOVUxMKSB7Ci0rICAgICAgICBwID0gaW5kZXgg KGxhbmcsICdfJyk7Ci0rICAgICAgICBpZiAocCkgewotKyAgICAgICAgICAgICpwID0gJ1wwJzsK LSsgICAgICAgICAgICBlbmdpbmVzID0gYnVzX3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X2xhbmd1 YWdlIChpYnVzLT5yZWdpc3RyeSwgbGFuZyk7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsgICAgZ19m cmVlIChsYW5nKTsKLSsKLSsgICAgLyogc29ydCBlbmdpbmVzIGJ5IHJhbmsgKi8KLSsgICAgZW5n aW5lcyA9IGdfbGlzdF9zb3J0IChlbmdpbmVzLCAoR0NvbXBhcmVGdW5jKSBfZW5naW5lX2Rlc2Nf Y21wKTsKLSsKLSsgICAgZ192YXJpYW50X2J1aWxkZXJfaW5pdCAoJmJ1aWxkZXIsIEdfVkFSSUFO VF9UWVBFICgiYXMiKSk7Ci0rICAgIGZvciAobGlzdCA9IGVuZ2luZXM7IGxpc3QgIT0gTlVMTDsg bGlzdCA9IGxpc3QtPm5leHQpIHsKLSsgICAgICAgIElCdXNFbmdpbmVEZXNjICpkZXNjID0gKElC dXNFbmdpbmVEZXNjICopbGlzdC0+ZGF0YTsKLSsgICAgICAgIC8qIGlnbm9yZSBlbmdpbmVzIHdp dGggcmFuayA8PT0gMCAqLwotKyAgICAgICAgaWYgKGlidXNfZW5naW5lX2Rlc2NfZ2V0X3Jhbmsg KGRlc2MpID4gMCkKLSsgICAgICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKCZidWlsZGVy LCAicyIsIGlidXNfZW5naW5lX2Rlc2NfZ2V0X25hbWUgKGRlc2MpKTsKLSsgICAgfQotKyAgICBf c2V0X3ByZWxvYWRfZW5naW5lcyAoaWJ1cywgZ192YXJpYW50X2J1aWxkZXJfZW5kICgmYnVpbGRl cikpOwotKyAgICBnX2xpc3RfZnJlZSAoZW5naW5lcyk7Ci0rfQotKyNlbmRpZgotKwotK3N0YXRp YyB2b2lkCi0gYnVzX2lidXNfaW1wbF9zZXRfaG90a2V5IChCdXNJQnVzSW1wbCAqaWJ1cywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgIEdRdWFyayAgICAgICBob3RrZXksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBHVmFyaWFudCAgICAqdmFsdWUpCi1AQCAtMzkyLDM1ICs2NTgsNTAg QEAgc3RhdGljIHZvaWQKLSBidXNfaWJ1c19pbXBsX3NldF9wcmVsb2FkX2VuZ2luZXMgKEJ1c0lC dXNJbXBsICppYnVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1Zhcmlh bnQgICAgKnZhbHVlKQotIHsKLS0gICAgR0xpc3QgKmVuZ2luZV9saXN0ID0gTlVMTDsKLS0KLS0g ICAgZ19saXN0X2ZvcmVhY2ggKGlidXMtPmVuZ2luZV9saXN0LCAoR0Z1bmMpIGdfb2JqZWN0X3Vu cmVmLCBOVUxMKTsKLS0gICAgZ19saXN0X2ZyZWUgKGlidXMtPmVuZ2luZV9saXN0KTsKLSsjaWZu ZGVmIE9TX0NIUk9NRU9TCi0rICAgIGdpbnQgcHJlbG9hZF9lbmdpbmVfbW9kZSA9IF9nZXRfY29u ZmlnX3ByZWxvYWRfZW5naW5lX21vZGUgKGlidXMpOwotIAotLSAgICBpZiAodmFsdWUgIT0gTlVM TCAmJiBnX3ZhcmlhbnRfY2xhc3NpZnkgKHZhbHVlKSA9PSBHX1ZBUklBTlRfQ0xBU1NfQVJSQVkp IHsKLS0gICAgICAgIEdWYXJpYW50SXRlciBpdGVyOwotLSAgICAgICAgZ192YXJpYW50X2l0ZXJf aW5pdCAoJml0ZXIsIHZhbHVlKTsKLS0gICAgICAgIGNvbnN0IGdjaGFyICplbmdpbmVfbmFtZSA9 IE5VTEw7Ci0tICAgICAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbG9vcCAoJml0ZXIsICImcyIs ICZlbmdpbmVfbmFtZSkpIHsKLS0gICAgICAgICAgICBJQnVzRW5naW5lRGVzYyAqZW5naW5lID0g YnVzX3JlZ2lzdHJ5X2ZpbmRfZW5naW5lX2J5X25hbWUgKGlidXMtPnJlZ2lzdHJ5LCBlbmdpbmVf bmFtZSk7Ci0tICAgICAgICAgICAgaWYgKGVuZ2luZSA9PSBOVUxMIHx8IGdfbGlzdF9maW5kIChl bmdpbmVfbGlzdCwgZW5naW5lKSAhPSBOVUxMKQotLSAgICAgICAgICAgICAgICBjb250aW51ZTsK LS0gICAgICAgICAgICBlbmdpbmVfbGlzdCA9IGdfbGlzdF9hcHBlbmQgKGVuZ2luZV9saXN0LCBl bmdpbmUpOwotKyAgICBpZiAocHJlbG9hZF9lbmdpbmVfbW9kZSA9PSBJQlVTX1BSRUxPQURfRU5H SU5FX01PREVfVVNFUikgewotKyAgICAgICAgaWYgKHZhbHVlID09IE5VTEwpIHsKLSsgICAgICAg ICAgICBfc2V0X2xhbmd1YWdlX3JlbGF0aXZlX3ByZWxvYWRfZW5naW5lcyAoaWJ1cyk7Ci0rICAg ICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIF9zZXRfcHJlbG9hZF9lbmdpbmVzIChpYnVzLCB2 YWx1ZSk7Ci0gICAgICAgICB9Ci0gICAgIH0KLSsjZWxzZQotKyAgICBfc2V0X3ByZWxvYWRfZW5n aW5lcyAoaWJ1cywgdmFsdWUpOwotKyNlbmRpZgotK30KLSAKLS0gICAgZ19saXN0X2ZvcmVhY2gg KGVuZ2luZV9saXN0LCAoR0Z1bmMpIGdfb2JqZWN0X3JlZiwgTlVMTCk7Ci0tICAgIGlidXMtPmVu Z2luZV9saXN0ID0gZW5naW5lX2xpc3Q7Ci0rLyoqCi0rICogYnVzX2lidXNfaW1wbF9zZXRfcHJl bG9hZF9lbmdpbmVfbW9kZToKLSsgKgotKyAqIEEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4g InByZWxvYWRfZW5naW5lX21vZGUiIGNvbmZpZyBpcyB1cGRhdGVkLgotKyAqLwotK3N0YXRpYyB2 b2lkCi0rYnVzX2lidXNfaW1wbF9zZXRfcHJlbG9hZF9lbmdpbmVfbW9kZSAoQnVzSUJ1c0ltcGwg KmlidXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQg ICAgKnZhbHVlKQotK3sKLSsjaWZuZGVmIE9TX0NIUk9NRU9TCi0rICAgIGdpbnQgcHJlbG9hZF9l bmdpbmVfbW9kZSA9IElCVVNfUFJFTE9BRF9FTkdJTkVfTU9ERV9VU0VSOwotIAotLSAgICBpZiAo aWJ1cy0+ZW5naW5lX2xpc3QpIHsKLS0gICAgICAgIEJ1c0NvbXBvbmVudCAqY29tcG9uZW50ID0g YnVzX2NvbXBvbmVudF9mcm9tX2VuZ2luZV9kZXNjICgoSUJ1c0VuZ2luZURlc2MgKikgaWJ1cy0+ ZW5naW5lX2xpc3QtPmRhdGEpOwotLSAgICAgICAgaWYgKGNvbXBvbmVudCAmJiAhYnVzX2NvbXBv bmVudF9pc19ydW5uaW5nIChjb21wb25lbnQpKSB7Ci0tICAgICAgICAgICAgYnVzX2NvbXBvbmVu dF9zdGFydCAoY29tcG9uZW50LCBnX3ZlcmJvc2UpOwotLSAgICAgICAgfQotKyAgICAvKiBidXNf aWJ1c19pbXBsX3JlbG9hZF9jb25maWcoKSBzZXRzIHZhbHVlID0gTlVMTC4KLSsgICAgICogYnVz X2lidXNfaW1wbF9yZWxvYWRfY29uZmlnKCkgaXMgYWx3YXlzIGNhbGxlZCB3aGVuCi0rICAgICAq IFJlcXVlc3ROYW1lIHNpZ25hbCBpcyBzZW50IHNvIGl0IGlzIGdvb2QgdG8gZ2V0IHRoZSBnY29u ZiB2YWx1ZQotKyAgICAgKiBhZ2FpbiB3aGVuIHZhbHVlID09IE5VTEwuCi0rICAgICAqLwotKyAg ICBpZiAodmFsdWUgIT0gTlVMTCAmJiBnX3ZhcmlhbnRfY2xhc3NpZnkgKHZhbHVlKSA9PSBHX1ZB UklBTlRfQ0xBU1NfSU5UMzIpIHsKLSsgICAgICAgIHByZWxvYWRfZW5naW5lX21vZGUgPSBnX3Zh cmlhbnRfZ2V0X2ludDMyICh2YWx1ZSk7Ci0rICAgIH0gZWxzZSB7Ci0rICAgICAgICBwcmVsb2Fk X2VuZ2luZV9tb2RlID0gX2dldF9jb25maWdfcHJlbG9hZF9lbmdpbmVfbW9kZSAoaWJ1cyk7Ci0g ICAgIH0KLSAKLS0gICAgYnVzX2lidXNfaW1wbF9jaGVja19nbG9iYWxfZW5naW5lIChpYnVzKTsK LS0gICAgYnVzX2lidXNfaW1wbF91cGRhdGVfZW5naW5lc19ob3RrZXlfcHJvZmlsZSAoaWJ1cyk7 Ci0rICAgIGlmIChwcmVsb2FkX2VuZ2luZV9tb2RlID09IElCVVNfUFJFTE9BRF9FTkdJTkVfTU9E RV9VU0VSKSB7Ci0rICAgICAgICByZXR1cm47Ci0rICAgIH0KLSsKLSsgICAgX3NldF9sYW5ndWFn ZV9yZWxhdGl2ZV9wcmVsb2FkX2VuZ2luZXMgKGlidXMpOwotKyNlbmRpZgotIH0KLSAKLSAvKioK LUBAIC01MDEsODkgKzc4Miw0NyBAQCBidXNfaWJ1c19pbXBsX3NldF91c2VfZ2xvYmFsX2VuZ2lu ZSAoQnVzSUJ1c0ltcGwgKmlidXMsCi0gICAgIH0KLSB9Ci0gCi0tI2lmbmRlZiBPU19DSFJPTUVP UwotLXN0YXRpYyBnaW50Ci0tX2VuZ2luZV9kZXNjX2NtcCAoSUJ1c0VuZ2luZURlc2MgKmRlc2Mx LAotLSAgICAgICAgICAgICAgICAgIElCdXNFbmdpbmVEZXNjICpkZXNjMikKLS17Ci0tICAgIHJl dHVybiAtICgoZ2ludCkgaWJ1c19lbmdpbmVfZGVzY19nZXRfcmFuayAoZGVzYzEpKSArCi0tICAg ICAgICAgICAgICAoKGdpbnQpIGlidXNfZW5naW5lX2Rlc2NfZ2V0X3JhbmsgKGRlc2MyKSk7Ci0t fQotLSNlbmRpZgotLQotIC8qKgotICAqIGJ1c19pYnVzX2ltcGxfc2V0X2RlZmF1bHRfcHJlbG9h ZF9lbmdpbmVzOgotICAqCi0tICogSWYgdGhlICJwcmVsb2FkX2VuZ2luZXMiIGNvbmZpZyB2YXJp YWJsZSBpcyBub3Qgc2V0IHlldCwgc2V0IHRoZSBkZWZhdWx0IHZhbHVlIHdoaWNoIGlzIGRldGVy bWluZWQgYmFzZWQgb24gYSBjdXJyZW50IGxvY2FsZS4KLSsgKiBidXNfaWJ1c19pbXBsX3NldF9k ZWZhdWx0X3ByZWxvYWRfZW5naW5lcyBoYW5kbGVzIHRoZSBnY29uZiB2YWx1ZQotKyAqIC9kZXNr dG9wL2lidXMvZ2VuZXJhbC9wcmVsb2FkX2VuZ2luZXMgYW5kIHByZWxvYWRfZW5naW5lX21vZGUu Ci0rICogVGhlIGlkZWEgaXMsIGlmIHVzZXJzIGRvbid0IGN1c3RvbWl6ZSB0aGUgcHJlbG9hZF9l bmdpbmVzIHdpdGggaWJ1cy1zZXR1cCwKLSsgKiB1c2VycyB3b3VsZCBwcmVmZXIgdG8gbG9hZCB0 aGUgc3lzdGVtIGRlZmF1bHQgZW5naW5lcyBhZ2FpbiBieSBsb2dpbi4KLSsgKiBUaGUgZ2NvbmYg dmFsdWUgJ3ByZWxvYWRfZW5naW5lX21vZGUnIGlzCi0rICogSUJVU19QUkVMT0FEX0VOR0lORV9N T0RFX1VTRVIgYnkgZGVmYXVsdCBidXQgc2V0Ci0rICogSUJVU19QUkVMT0FEX0VOR0lORV9NT0RF X0xBTkdfUkVMQVRJVkUgZm9yIHRoZSBpbml0aWFsIGxvZ2luLgotKyAqIElmIHByZWxvYWRfZW5n aW5lX21vZGUgaXMgSUJVU19QUkVMT0FEX0VOR0lORV9NT0RFX0xBTkdfUkVMQVRJVkUsCi0rICog aWJ1cy1kYWVtb24gbG9hZHMgdGhlIHN5c3RlbSBwcmVsb2FkIGVuZ2luZXMgYnkgbGFuZ3MuCi0r ICogSWYgcHJlbG9hZF9lbmdpbmVfbW9kZSBpcyBJQlVTX1BSRUxPQURfRU5HSU5FX01PREVfVVNF UiwKLSsgKiBpYnVzLWRhZW1vbiBkbyBub3QgdXBkYXRlIHRoZSBnY29uZiB2YWx1ZSBwcmVsb2Fk X2VuZ2luZXMuCi0rICogT24gdGhlIG90aGVyIGhhbmQsIGlmIHVzZXJzIGVuYWJsZSB0aGUgY3Vz dG9taXplZCBlbmdpbmUgY2hlY2tidXR0b24KLSsgKiBvbiBpYnVzLXNldHVwLCBpYnVzLXNldHVw IHNldHMgJ3ByZWxvYWRfZW5naW5lX21vZGUnIGFzCi0rICogSUJVU19QUkVMT0FEX0VOR0lORV9N T0RFX1VTRVIgYW5kIHVzZXJzIGNhbiBjdXN0b21pemUgdGhlIHZhbHVlCi0rICogJ3ByZWxvYWRf ZW5naW5lcycuCi0gICovCi0gc3RhdGljIHZvaWQKLSBidXNfaWJ1c19pbXBsX3NldF9kZWZhdWx0 X3ByZWxvYWRfZW5naW5lcyAoQnVzSUJ1c0ltcGwgKmlidXMpCi0gewotICNpZm5kZWYgT1NfQ0hS T01FT1MKLS0gICAgZ19hc3NlcnQgKEJVU19JU19JQlVTX0lNUEwgKGlidXMpKTsKLS0KLSAgICAg c3RhdGljIGdib29sZWFuIGRvbmUgPSBGQUxTRTsKLSsgICAgZ2ludCBwcmVsb2FkX2VuZ2luZV9t b2RlID0gSUJVU19QUkVMT0FEX0VOR0lORV9NT0RFX1VTRVI7Ci0rCi0rICAgIGdfYXNzZXJ0IChC VVNfSVNfSUJVU19JTVBMIChpYnVzKSk7Ci0gCi0gICAgIGlmIChkb25lIHx8IGlidXMtPmNvbmZp ZyA9PSBOVUxMKSB7Ci0gICAgICAgICByZXR1cm47Ci0gICAgIH0KLSAKLS0gICAgR1ZhcmlhbnQg KnZhcmlhbnQgPSBpYnVzX2NvbmZpZ19nZXRfdmFsdWUgKGlidXMtPmNvbmZpZywgImdlbmVyYWwi LCAicHJlbG9hZF9lbmdpbmVzIik7Ci0tICAgIGlmICh2YXJpYW50ICE9IE5VTEwpIHsKLSsgICAg cHJlbG9hZF9lbmdpbmVfbW9kZSA9IF9nZXRfY29uZmlnX3ByZWxvYWRfZW5naW5lX21vZGUgKGli dXMpOwotKwotKyAgICBpZiAocHJlbG9hZF9lbmdpbmVfbW9kZSA9PSBJQlVTX1BSRUxPQURfRU5H SU5FX01PREVfVVNFUikgewotICAgICAgICAgZG9uZSA9IFRSVUU7Ci0tICAgICAgICBnX3Zhcmlh bnRfdW5yZWYgKHZhcmlhbnQpOwotICAgICAgICAgcmV0dXJuOwotICAgICB9Ci0gCi0gICAgIGRv bmUgPSBUUlVFOwotLQotLSAgICAvKiBUaGUgc2V0bG9jYWxlIGNhbGwgZmlyc3QgY2hlY2tzIExD X0FMTC4gSWYgaXQncyBub3QgYXZhaWxhYmxlLCBjaGVja3MKLS0gICAgICogTENfQ1RZUEUuIElm IGl0J3MgYWxzbyBub3QgYXZhaWxhYmxlLCBjaGVja3MgTEFORy4gKi8KLS0gICAgZ2NoYXIgKmxh bmcgPSBnX3N0cmR1cCAoc2V0bG9jYWxlIChMQ19DVFlQRSwgTlVMTCkpOwotLSAgICBpZiAobGFu ZyA9PSBOVUxMKSB7Ci0tICAgICAgICByZXR1cm47Ci0tICAgIH0KLS0KLS0gICAgZ2NoYXIgKnAg PSBpbmRleCAobGFuZywgJy4nKTsKLS0gICAgaWYgKHApIHsKLS0gICAgICAgICpwID0gJ1wwJzsK LS0gICAgfQotLQotLSAgICBHTGlzdCAqZW5naW5lcyA9IGJ1c19yZWdpc3RyeV9nZXRfZW5naW5l c19ieV9sYW5ndWFnZSAoaWJ1cy0+cmVnaXN0cnksIGxhbmcpOwotLSAgICBpZiAoZW5naW5lcyA9 PSBOVUxMKSB7Ci0tICAgICAgICBwID0gaW5kZXggKGxhbmcsICdfJyk7Ci0tICAgICAgICBpZiAo cCkgewotLSAgICAgICAgICAgICpwID0gJ1wwJzsKLS0gICAgICAgICAgICBlbmdpbmVzID0gYnVz X3JlZ2lzdHJ5X2dldF9lbmdpbmVzX2J5X2xhbmd1YWdlIChpYnVzLT5yZWdpc3RyeSwgbGFuZyk7 Ci0tICAgICAgICB9Ci0tICAgIH0KLS0gICAgZ19mcmVlIChsYW5nKTsKLS0KLS0gICAgLyogc29y dCBlbmdpbmVzIGJ5IHJhbmsgKi8KLS0gICAgZW5naW5lcyA9IGdfbGlzdF9zb3J0IChlbmdpbmVz LCAoR0NvbXBhcmVGdW5jKSBfZW5naW5lX2Rlc2NfY21wKTsKLS0KLS0gICAgR1ZhcmlhbnRCdWls ZGVyIGJ1aWxkZXI7Ci0tICAgIGdfdmFyaWFudF9idWlsZGVyX2luaXQgKCZidWlsZGVyLCBHX1ZB UklBTlRfVFlQRSAoImFzIikpOwotLSAgICBHTGlzdCAqbGlzdDsKLS0gICAgZm9yIChsaXN0ID0g ZW5naW5lczsgbGlzdCAhPSBOVUxMOyBsaXN0ID0gbGlzdC0+bmV4dCkgewotLSAgICAgICAgSUJ1 c0VuZ2luZURlc2MgKmRlc2MgPSAoSUJ1c0VuZ2luZURlc2MgKikgbGlzdC0+ZGF0YTsKLS0gICAg ICAgIC8qIGlnbm9yZSBlbmdpbmVzIHdpdGggcmFuayA8PSAwICovCi0tICAgICAgICBpZiAoaWJ1 c19lbmdpbmVfZGVzY19nZXRfcmFuayAoZGVzYykgPiAwKQotLSAgICAgICAgICAgIGdfdmFyaWFu dF9idWlsZGVyX2FkZCAoJmJ1aWxkZXIsICJzIiwgaWJ1c19lbmdpbmVfZGVzY19nZXRfbmFtZSAo ZGVzYykpOwotLSAgICB9Ci0tCi0tICAgIEdWYXJpYW50ICp2YWx1ZSA9IGdfdmFyaWFudF9idWls ZGVyX2VuZCAoJmJ1aWxkZXIpOwotLSAgICBpZiAodmFsdWUgIT0gTlVMTCkgewotLSAgICAgICAg aWYgKGdfdmFyaWFudF9uX2NoaWxkcmVuICh2YWx1ZSkgPiAwKSB7Ci0tICAgICAgICAgICAgaWJ1 c19jb25maWdfc2V0X3ZhbHVlIChpYnVzLT5jb25maWcsCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZ2VuZXJhbCIsICJwcmVsb2FkX2VuZ2luZXMiLCB2YWx1ZSk7Ci0tICAg ICAgICB9IGVsc2UgewotLSAgICAgICAgICAgIC8qIFdlIGRvbid0IHVwZGF0ZSBwcmVsb2FkX2Vu Z2luZXMgd2l0aCBhbiBlbXB0eSBzdHJpbmcgZm9yIHNhZmV0eS4KLS0gICAgICAgICAgICAgKiBK dXN0IHVucmVmIHRoZSBmbG9hdGluZyB2YWx1ZS4gKi8KLS0gICAgICAgICAgICBnX3ZhcmlhbnRf dW5yZWYgKHZhbHVlKTsKLS0gICAgICAgIH0KLS0gICAgfQotLSAgICBnX2xpc3RfZnJlZSAoZW5n aW5lcyk7Ci0rICAgIF9zZXRfbGFuZ3VhZ2VfcmVsYXRpdmVfcHJlbG9hZF9lbmdpbmVzIChpYnVz KTsKLSAjZW5kaWYKLSB9Ci0gCi1AQCAtNTk5LDYgKzgzOCw3IEBAIGNvbnN0IHN0YXRpYyBzdHJ1 Y3QgewotICAgICB7ICJnZW5lcmFsL2hvdGtleSIsICJuZXh0X2VuZ2luZV9pbl9tZW51IiwgICBi dXNfaWJ1c19pbXBsX3NldF9uZXh0X2VuZ2luZV9pbl9tZW51IH0sCi0gICAgIHsgImdlbmVyYWwv aG90a2V5IiwgInByZXZpb3VzX2VuZ2luZSIsICAgICAgIGJ1c19pYnVzX2ltcGxfc2V0X3ByZXZp b3VzX2VuZ2luZSB9LAotICAgICB7ICJnZW5lcmFsIiwgInByZWxvYWRfZW5naW5lcyIsICAgICAg ICAgICAgICBidXNfaWJ1c19pbXBsX3NldF9wcmVsb2FkX2VuZ2luZXMgfSwKLSsgICAgeyAiZ2Vu ZXJhbCIsICJwcmVsb2FkX2VuZ2luZV9tb2RlIiwgICAgICAgICAgYnVzX2lidXNfaW1wbF9zZXRf cHJlbG9hZF9lbmdpbmVfbW9kZSB9LAotICAgICB7ICJnZW5lcmFsIiwgInVzZV9zeXN0ZW1fa2V5 Ym9hcmRfbGF5b3V0IiwgICBidXNfaWJ1c19pbXBsX3NldF91c2Vfc3lzX2xheW91dCB9LAotICAg ICB7ICJnZW5lcmFsIiwgInVzZV9nbG9iYWxfZW5naW5lIiwgICAgICAgICAgICBidXNfaWJ1c19p bXBsX3NldF91c2VfZ2xvYmFsX2VuZ2luZSB9LAotICAgICB7ICJnZW5lcmFsIiwgImVtYmVkX3By ZWVkaXRfdGV4dCIsICAgICAgICAgICBidXNfaWJ1c19pbXBsX3NldF9lbWJlZF9wcmVlZGl0X3Rl eHQgfSwKIGRpZmYgLS1naXQgYS9kYXRhL2lidXMuc2NoZW1hcy5pbiBiL2RhdGEvaWJ1cy5zY2hl bWFzLmluCi1pbmRleCBlMGE2YTM3Li4yNDE4Yzk1IDEwMDY0NAoraW5kZXggMDVjMDE3NC4uOGNh MzNhYyAxMDA2NDQKIC0tLSBhL2RhdGEvaWJ1cy5zY2hlbWFzLmluCiArKysgYi9kYXRhL2lidXMu c2NoZW1hcy5pbgotQEAgLTYsNyArNiw3IEBACi0gICAgICAgPGFwcGx5dG8+L2Rlc2t0b3AvaWJ1 cy9nZW5lcmFsL3ByZWxvYWRfZW5naW5lczwvYXBwbHl0bz4KLSAgICAgICA8b3duZXI+aWJ1czwv b3duZXI+Ci0gICAgICAgPHR5cGU+bGlzdDwvdHlwZT4KLS0gICAgICA8ZGVmYXVsdD5bXTwvZGVm YXVsdD4KLSsgICAgICA8ZGVmYXVsdD5baWJ1c19udWxsX2VuZ2luZV08L2RlZmF1bHQ+Ci0gICAg ICAgPGxpc3RfdHlwZT5zdHJpbmc8L2xpc3RfdHlwZT4KLSAgICAgICA8bG9jYWxlIG5hbWU9IkMi PgotICAgICAgICAgPHNob3J0PlByZWxvYWQgZW5naW5lczwvc2hvcnQ+Ci1AQCAtMTQsNiArMTQs MTkgQEAKLSAgICAgICA8L2xvY2FsZT4KLSAgICAgPC9zY2hlbWE+CitAQCAtMiw2ICsyLDMwIEBA CisgPGdjb25mc2NoZW1hZmlsZT4KKyAgIDxzY2hlbWFsaXN0PgogICAgICA8c2NoZW1hPgogKyAg ICAgIDxrZXk+L3NjaGVtYXMvZGVza3RvcC9pYnVzL2dlbmVyYWwvcHJlbG9hZF9lbmdpbmVfbW9k ZTwva2V5PgogKyAgICAgIDxhcHBseXRvPi9kZXNrdG9wL2lidXMvZ2VuZXJhbC9wcmVsb2FkX2Vu Z2luZV9tb2RlPC9hcHBseXRvPgpAQCAtNTI2LDEyNSArMzksODAgQEAgaW5kZXggZTBhNmEzNy4u MjQxOGM5NSAxMDA2NDQKICsgICAgICA8ZGVmYXVsdD4wPC9kZWZhdWx0PgogKyAgICAgIDxsb2Nh bGUgbmFtZT0iQyI+CiArICAgICAgICA8c2hvcnQ+UHJlbG9hZCBlbmdpbmUgbW9kZTwvc2hvcnQ+ Ci0rICAgICAgICAgICA8bG9uZz5QcmVsb2FkIGVuZ2luZXMgYXJlIGxvYWRlZCB3aXRoIHRoaXMg bW9kZS4KLSsgICAgICAgICAgICAgICAgIDAgPSB1c2VyIGN1c3RvbWl6ZWQgZW5naW5lcy4KLSsg ICAgICAgICAgICAgICAgIDEgPSBsYW5ndWFnZSByZWxhdGVkIGVuZ2luZXMuPC9sb25nPgorKyAg ICAgICAgICAgIDxsb25nPlByZWxvYWQgZW5naW5lcyBhcmUgbG9hZGVkIHdpdGggdGhpcyBtb2Rl LgorKyAgICAgICAgICAgICAgICAgIDAgPSB1c2VyIGN1c3RvbWl6ZWQgZW5naW5lcy4KKysgICAg ICAgICAgICAgICAgICAxID0gbGFuZ3VhZ2UgcmVsYXRlZCBlbmdpbmVzLjwvbG9uZz4KICsgICAg ICA8L2xvY2FsZT4KICsgICAgPC9zY2hlbWE+CiArICAgIDxzY2hlbWE+Ci0gICAgICAgPGtleT4v c2NoZW1hcy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9ob3RrZXkvdHJpZ2dlcjwva2V5PgotICAgICAg IDxhcHBseXRvPi9kZXNrdG9wL2lidXMvZ2VuZXJhbC9ob3RrZXkvdHJpZ2dlcjwvYXBwbHl0bz4K KysgICAgICA8a2V5Pi9zY2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3ByZWxvYWRfZW5naW5l c19pbml0ZWQ8L2tleT4KKysgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvcHJl bG9hZF9lbmdpbmVzX2luaXRlZDwvYXBwbHl0bz4KKysgICAgICA8b3duZXI+aWJ1czwvb3duZXI+ CisrICAgICAgPHR5cGU+Ym9vbDwvdHlwZT4KKysgICAgICA8ZGVmYXVsdD5mYWxzZTwvZGVmYXVs dD4KKysgICAgICA8bG9jYWxlIG5hbWU9IkMiPgorKyAgICAgICAgPHNob3J0PlRoZSBrZXkgcHJl bG9hZF9lbmdpbmVzIGlzIGluaXRpYWxpemVkPC9zaG9ydD4KKysgICAgICAgICAgICA8bG9uZz5U aGUga2V5IHByZWxvYWRfZW5naW5lcyBpcyBpbml0aWFsaXplZDwvbG9uZz4KKysgICAgICA8L2xv Y2FsZT4KKysgICAgPC9zY2hlbWE+CisrICAgIDxzY2hlbWE+CisgICAgICAgPGtleT4vc2NoZW1h cy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9wcmVsb2FkX2VuZ2luZXM8L2tleT4KKyAgICAgICA8YXBw bHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvcHJlbG9hZF9lbmdpbmVzPC9hcHBseXRvPgogICAg ICAgIDxvd25lcj5pYnVzPC9vd25lcj4KLWRpZmYgLS1naXQgYS9pYnVzL2NvbW1vbi5weSBiL2li dXMvY29tbW9uLnB5Ci1pbmRleCA2NDgzYWFlLi4xMjdlZDkzIDEwMDY0NAotLS0tIGEvaWJ1cy9j b21tb24ucHkKLSsrKyBiL2lidXMvY29tbW9uLnB5Ci1AQCAtNDAsNiArNDAsOCBAQCBfX2FsbF9f ID0gKAotICAgICAgICAgIkJVU19SRVFVRVNUX05BTUVfUkVQTFlfSU5fUVVFVUUiLAotICAgICAg ICAgIkJVU19SRVFVRVNUX05BTUVfUkVQTFlfRVhJU1RTIiwKLSAgICAgICAgICJCVVNfUkVRVUVT VF9OQU1FX1JFUExZX0FMUkVBRFlfT1dORVIiLAotKyAgICAgICAgIlBSRUxPQURfRU5HSU5FX01P REVfVVNFUiIsCi0rICAgICAgICAiUFJFTE9BRF9FTkdJTkVfTU9ERV9MQU5HX1JFTEFUSVZFIiwK LSAgICAgICAgICJkZWZhdWx0X3JlcGx5X2hhbmRsZXIiLAotICAgICAgICAgImRlZmF1bHRfZXJy b3JfaGFuZGxlciIsCi0gICAgICAgICAiREVGQVVMVF9BU1lOQ19IQU5ETEVSUyIsCi1AQCAtMTUw LDYgKzE1MiwxMCBAQCBCVVNfUkVRVUVTVF9OQU1FX1JFUExZX0lOX1FVRVVFICAgICAgPSAyCi0g QlVTX1JFUVVFU1RfTkFNRV9SRVBMWV9FWElTVFMgICAgICAgID0gMwotIEJVU19SRVFVRVNUX05B TUVfUkVQTFlfQUxSRUFEWV9PV05FUiA9IDQKLSAKLSsjIGRlZmluZSBwcmVsb2FkIGVuZ2luZSBt b2RlCi0rUFJFTE9BRF9FTkdJTkVfTU9ERV9VU0VSICAgICAgICAgID0gMAotK1BSRUxPQURfRU5H SU5FX01PREVfTEFOR19SRUxBVElWRSA9IDEKLSsKLSBkZWYgZGVmYXVsdF9yZXBseV9oYW5kbGVy KCAqYXJncyk6Ci0gICAgIHBhc3MKLSAKIGRpZmYgLS1naXQgYS9zZXR1cC9tYWluLnB5IGIvc2V0 dXAvbWFpbi5weQotaW5kZXggOTdlMDVhNC4uN2Q3MzRhZSAxMDA2NDQKK2luZGV4IDk2MzhkYTAu LjEzMmU5ZjQgMTAwNjQ0CiAtLS0gYS9zZXR1cC9tYWluLnB5CiArKysgYi9zZXR1cC9tYWluLnB5 Ci1AQCAtOTIsNiArOTIsNyBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgotICAgICAgICAgIyBrZXli b2FyZCBzaG9ydGN1dAotICAgICAgICAgIyB0cmlnZ2VyCi0gICAgICAgICBzZWxmLl9fY29uZmln ID0gc2VsZi5fX2J1cy5nZXRfY29uZmlnKCkKLSsgICAgICAgIHNlbGYuX19jb25maWcuY29ubmVj dCgidmFsdWUtY2hhbmdlZCIsIHNlbGYuX19jb25maWdfdmFsdWVfY2hhbmdlZF9jYikKLSAgICAg ICAgIHNob3J0Y3V0cyA9IHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKAotICAgICAgICAgICAgICAg ICAgICAgICAgICJnZW5lcmFsL2hvdGtleSIsICJ0cmlnZ2VyIiwKLSAgICAgICAgICAgICAgICAg ICAgICAgICBpYnVzLkNPTkZJR19HRU5FUkFMX1NIT1JUQ1VUX1RSSUdHRVJfREVGQVVMVCkKLUBA IC0yMTMsMTUgKzIxNCwyMiBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgotICAgICAgICAgc2VsZi5f X2NoZWNrYnV0dG9uX3VzZV9nbG9iYWxfZW5naW5lLmNvbm5lY3QoInRvZ2dsZWQiLCBzZWxmLl9f Y2hlY2tidXR0b25fdXNlX2dsb2JhbF9lbmdpbmVfdG9nZ2xlZF9jYikKK0BAIC0xODEsNiArMTgx LDIwIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CisgICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25f dXNlX2dsb2JhbF9lbmdpbmUuY29ubmVjdCgidG9nZ2xlZCIsCisgICAgICAgICAgICAgICAgIHNl bGYuX19jaGVja2J1dHRvbl91c2VfZ2xvYmFsX2VuZ2luZV90b2dnbGVkX2NiKQogIAotICAgICAg ICAgIyBpbml0IGVuZ2luZSBwYWdlCi0rICAgICAgICBwcmVsb2FkX2VuZ2luZV9tb2RlID0gc2Vs Zi5fX2NvbmZpZy5nZXRfdmFsdWUoImdlbmVyYWwiLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVsb2FkX2VuZ2luZV9tb2RlIiwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVz LmNvbW1vbi5QUkVMT0FEX0VOR0lORV9NT0RFX1VTRVIpCisrICAgICAgICAjIHNldCBwcmVsb2Fk IG1vZGUKKysgICAgICAgIHByZWxvYWRfZW5naW5lX21vZGUgPSBJQnVzLlByZWxvYWRFbmdpbmVN b2RlLlVTRVIKKysgICAgICAgIHZhcmlhbnQgPSBzZWxmLl9fY29uZmlnLmdldF92YWx1ZSgiZ2Vu ZXJhbCIsICJwcmVsb2FkX2VuZ2luZV9tb2RlIikKKysgICAgICAgIGlmIHZhcmlhbnQgIT0gTm9u ZToKKysgICAgICAgICAgICBwcmVsb2FkX2VuZ2luZV9tb2RlID0gdmFyaWFudC5nZXRfaW50MzIo KQogKyAgICAgICAgYnV0dG9uID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgiY2hlY2tidXR0 b25fcHJlbG9hZF9lbmdpbmVfbW9kZSIpCi0rICAgICAgICBpZiBwcmVsb2FkX2VuZ2luZV9tb2Rl ID09IGlidXMuY29tbW9uLlBSRUxPQURfRU5HSU5FX01PREVfVVNFUjoKKysgICAgICAgIGlmIHBy ZWxvYWRfZW5naW5lX21vZGUgPT0gSUJ1cy5QcmVsb2FkRW5naW5lTW9kZS5VU0VSOgogKyAgICAg ICAgICAgIGJ1dHRvbi5zZXRfYWN0aXZlKFRydWUpCiArICAgICAgICAgICAgc2VsZi5fX2J1aWxk ZXIuZ2V0X29iamVjdCgiaGJveF9jdXN0b21pemVfYWN0aXZlX2lucHV0X21ldGhvZHMiKS5zZXRf c2Vuc2l0aXZlKFRydWUpCiArICAgICAgICBlbHNlOgogKyAgICAgICAgICAgIGJ1dHRvbi5zZXRf YWN0aXZlKEZhbHNlKQogKyAgICAgICAgICAgIHNlbGYuX19idWlsZGVyLmdldF9vYmplY3QoImhi b3hfY3VzdG9taXplX2FjdGl2ZV9pbnB1dF9tZXRob2RzIikuc2V0X3NlbnNpdGl2ZShGYWxzZSkK ICsgICAgICAgIGJ1dHRvbi5jb25uZWN0KCJ0b2dnbGVkIiwgc2VsZi5fX2NoZWNrYnV0dG9uX3By ZWxvYWRfZW5naW5lX21vZGVfdG9nZ2xlZF9jYikKKysKKyAgICAgICAgICMgaW5pdCBlbmdpbmUg cGFnZQogICAgICAgICAgc2VsZi5fX2VuZ2luZXMgPSBzZWxmLl9fYnVzLmxpc3RfZW5naW5lcygp Ci0gICAgICAgICBzZWxmLl9fY29tYm9ib3ggPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJj b21ib2JveF9lbmdpbmVzIikKLSAgICAgICAgIHNlbGYuX19jb21ib2JveC5zZXRfZW5naW5lcyhz ZWxmLl9fZW5naW5lcykKKyAgICAgICAgIHZhbHVlID0gc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUo ImdlbmVyYWwiLCAibG9hZF94a2JfbGF5b3V0cyIpCitAQCAtMjQ1LDYgKzI1OSw3IEBAIGNsYXNz IFNldHVwKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHNlbGYuX19jaGVja2J1dHRvbl9hdXRv X3N0YXJ0X3RvZ2dsZWRfY2IpCiAgCi0tICAgICAgICB0bXBfZGljdCA9IHt9Ci0tICAgICAgICBm b3IgZSBpbiBzZWxmLl9fZW5naW5lczoKLS0gICAgICAgICAgICB0bXBfZGljdFtlLm5hbWVdID0g ZQotLSAgICAgICAgZW5naW5lX25hbWVzID0gc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUoImdlbmVy YWwiLCAicHJlbG9hZF9lbmdpbmVzIiwgW10pCi0tICAgICAgICBlbmdpbmVzID0gW3RtcF9kaWN0 W25hbWVdIGZvciBuYW1lIGluIGVuZ2luZV9uYW1lcyBpZiBuYW1lIGluIHRtcF9kaWN0XQotKyAg ICAgICAgZW5naW5lcyA9IHNlbGYuX19idXMubGlzdF9hY3RpdmVfZW5naW5lcygpCisgICAgICAg ICBzZWxmLl9fY29uZmlnID0gc2VsZi5fX2J1cy5nZXRfY29uZmlnKCkKKysgICAgICAgIHNlbGYu X19jb25maWcuY29ubmVjdCgidmFsdWUtY2hhbmdlZCIsIHNlbGYuX19jb25maWdfdmFsdWVfY2hh bmdlZF9jYikKICAKLSAgICAgICAgIHNlbGYuX190cmVldmlldyA9IHNlbGYuX19idWlsZGVyLmdl dF9vYmplY3QoInRyZWV2aWV3X2VuZ2luZXMiKQotICAgICAgICAgc2VsZi5fX3RyZWV2aWV3LnNl dF9lbmdpbmVzKGVuZ2luZXMpCi1AQCAtMjUxLDcgKzI1OSw4IEBAIGNsYXNzIFNldHVwKG9iamVj dCk6CisgICAgICAgICBzZWxmLl9faW5pdF9ob3RrZXkoKQorICAgICAgICAgc2VsZi5fX2luaXRf cGFuZWwoKQorQEAgLTI1Myw4ICsyNjgsOCBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgogICAgICBk ZWYgX19jb21ib2JveF9ub3RpZnlfYWN0aXZlX2VuZ2luZV9jYihzZWxmLCBjb21ib2JveCwgcHJv cGVydHkpOgogICAgICAgICAgZW5naW5lID0gc2VsZi5fX2NvbWJvYm94LmdldF9hY3RpdmVfZW5n aW5lKCkKICAgICAgICAgIGJ1dHRvbiA9IHNlbGYuX19idWlsZGVyLmdldF9vYmplY3QoImJ1dHRv bl9lbmdpbmVfYWRkIikKLS0gICAgICAgIGJ1dHRvbi5zZXRfc2Vuc2l0aXZlKGVuZ2luZSAhPSBO b25lIGFuZCBlbmdpbmUgbm90IGluIHNlbGYuX190cmVldmlldy5nZXRfZW5naW5lcygpKQorLSAg ICAgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoCistICAgICAgICAgICAgICAgIGVuZ2luZSAhPSBO b25lIGFuZCBlbmdpbmUgbm90IGluIHNlbGYuX190cmVldmlldy5nZXRfZW5naW5lcygpKQogKyAg ICAgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoZW5naW5lICE9IE5vbmUgYW5kIFwKLSsgICAgICAg ICAgICAgICAgZW5naW5lLm5hbWUgbm90IGluIG1hcChsYW1iZGEgZTogZS5uYW1lLCBzZWxmLl9f dHJlZXZpZXcuZ2V0X2VuZ2luZXMoKSkpCisrICAgICAgICAgICAgICAgIGVuZ2luZS5nZXRfbmFt ZSgpIG5vdCBpbiBtYXAobGFtYmRhIGU6IGUuZ2V0X25hbWUoKSwgc2VsZi5fX3RyZWV2aWV3Lmdl dF9lbmdpbmVzKCkpKQogIAogICAgICBkZWYgX19nZXRfZW5naW5lX3NldHVwX2V4ZWNfYXJncyhz ZWxmLCBlbmdpbmUpOgogICAgICAgICAgYXJncyA9IFtdCi1AQCAtMjkzLDYgKzMwMiwyNiBAQCBj bGFzcyBTZXR1cChvYmplY3QpOgotICAgICAgICAgICAgIGVuZ2luZV9uYW1lcyA9IG1hcChsYW1i ZGEgZTogZS5uYW1lLCBlbmdpbmVzKQotICAgICAgICAgICAgIHNlbGYuX19jb25maWcuc2V0X2xp c3QoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIiwgZW5naW5lX25hbWVzLCAicyIpCi0gCi0r ICAgIGRlZiBfX2dldF9lbmdpbmVfZGVzY3NfZnJvbV9uYW1lcyhzZWxmLCBlbmdpbmVfbmFtZXMp OgotKyAgICAgICAgdG1wX2RpY3QgPSB7fQotKyAgICAgICAgZm9yIGUgaW4gc2VsZi5fX2VuZ2lu ZXM6Ci0rICAgICAgICAgICAgdG1wX2RpY3RbZS5uYW1lXSA9IGUKLSsgICAgICAgIGVuZ2luZXMg PSBbdG1wX2RpY3RbbmFtZV0gZm9yIG5hbWUgaW4gZW5naW5lX25hbWVzIGlmIG5hbWUgaW4gdG1w X2RpY3RdCi0rICAgICAgICByZXR1cm4gZW5naW5lcwotKwotKyAgICBkZWYgX19jb21wYXJlX2Rl c2NzKHNlbGYsIGVuZ2luZXNfYSwgZW5naW5lc19iKToKLSsgICAgICAgIGVuZ2luZXMgPSBlbmdp bmVzX2EKLSsgICAgICAgIGNvbmNhdF9lbmdpbmVfbmFtZXMgPSAiIgotKyAgICAgICAgZm9yIGVu Z2luZSBpbiBlbmdpbmVzOgotKyAgICAgICAgICAgIGNvbmNhdF9lbmdpbmVfbmFtZXMgPSAiJXM6 OiVzIiAlIChjb25jYXRfZW5naW5lX25hbWVzLCBlbmdpbmUubmFtZSkKLSsgICAgICAgIGNvbmNh dF9lbmdpbmVfbmFtZXNfYSA9IGNvbmNhdF9lbmdpbmVfbmFtZXMKLSsgICAgICAgIGVuZ2luZXMg PSBlbmdpbmVzX2IKLSsgICAgICAgIGNvbmNhdF9lbmdpbmVfbmFtZXMgPSAiIgotKyAgICAgICAg Zm9yIGVuZ2luZSBpbiBlbmdpbmVzOgotKyAgICAgICAgICAgIGNvbmNhdF9lbmdpbmVfbmFtZXMg PSAiJXM6OiVzIiAlIChjb25jYXRfZW5naW5lX25hbWVzLCBlbmdpbmUubmFtZSkKLSsgICAgICAg IGNvbmNhdF9lbmdpbmVfbmFtZXNfYiA9IGNvbmNhdF9lbmdpbmVfbmFtZXMKLSsgICAgICAgIHJl dHVybiBjb25jYXRfZW5naW5lX25hbWVzX2EgPT0gY29uY2F0X2VuZ2luZV9uYW1lc19iCi0rCi0g ICAgIGRlZiBfX2J1dHRvbl9lbmdpbmVfYWRkX2NiKHNlbGYsIGJ1dHRvbik6Ci0gICAgICAgICBl bmdpbmUgPSBzZWxmLl9fY29tYm9ib3guZ2V0X2FjdGl2ZV9lbmdpbmUoKQotICAgICAgICAgc2Vs Zi5fX3RyZWV2aWV3LmFwcGVuZF9lbmdpbmUoZW5naW5lKQotQEAgLTMyMiw2ICszNTEsMzIgQEAg Y2xhc3MgU2V0dXAob2JqZWN0KToKK0BAIC0zMzMsNiArMzQ4LDM0IEBAIGNsYXNzIFNldHVwKG9i amVjdCk6CiAgICAgICAgICAgICAgZGVsIHNlbGYuX19lbmdpbmVfc2V0dXBfZXhlY19saXN0W25h bWVdCiAgICAgICAgICBzZWxmLl9fZW5naW5lX3NldHVwX2V4ZWNfbGlzdFtuYW1lXSA9IG9zLnNw YXdubChvcy5QX05PV0FJVCwgKmFyZ3MpCiAgCiArICAgIGRlZiBfX2NoZWNrYnV0dG9uX3ByZWxv YWRfZW5naW5lX21vZGVfdG9nZ2xlZF9jYihzZWxmLCBidXR0b24pOgogKyAgICAgICAgaWYgYnV0 dG9uLmdldF9hY3RpdmUoKToKKysgICAgICAgICAgICB2YXJpYW50ID0gR0xpYi5WYXJpYW50Lm5l d19pbnQzMihJQnVzLlByZWxvYWRFbmdpbmVNb2RlLlVTRVIpCiArICAgICAgICAgICAgc2VsZi5f X2NvbmZpZy5zZXRfdmFsdWUoImdlbmVyYWwiLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJwcmVsb2FkX2VuZ2luZV9tb2RlIiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpYnVzLmNvbW1vbi5QUkVMT0FEX0VOR0lORV9NT0RFX1VTRVIpCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyaWFudCkKICsgICAgICAgICAgICBz ZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJoYm94X2N1c3RvbWl6ZV9hY3RpdmVfaW5wdXRfbWV0 aG9kcyIpLnNldF9zZW5zaXRpdmUoVHJ1ZSkKICsgICAgICAgICAgICBzZWxmLl9fdHJlZXZpZXcu bm90aWZ5KCJlbmdpbmVzIikKICsgICAgICAgIGVsc2U6CkBAIC02NTIsNDEgKzEyMCw1MCBAQCBp bmRleCA5N2UwNWE0Li43ZDczNGFlIDEwMDY0NAogKyAgICAgICAgICAgICAgICAgICAgICAgICJj bGVhcmVkIGltbWVkaWF0ZWx5IGFuZCB0aGUgbGlzdCB3aWxsIGJlICIgXAogKyAgICAgICAgICAg ICAgICAgICAgICAgICJjb25maWd1cmVkIGJ5IHRoZSBsb2dpbiBsYW5ndWFnZSBldmVyeSB0aW1l LiAiIFwKICsgICAgICAgICAgICAgICAgICAgICAgICAiRG8geW91IGFncmVlIHdpdGggdGhpcz8i KQotKyAgICAgICAgICAgIGRsZyA9IGd0ay5NZXNzYWdlRGlhbG9nKHR5cGUgPSBndGsuTUVTU0FH RV9RVUVTVElPTiwKLSsgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnMgPSBndGsuQlVUVE9OU19Z RVNfTk8sCisrICAgICAgICAgICAgZGxnID0gR3RrLk1lc3NhZ2VEaWFsb2codHlwZSA9IEd0ay5N ZXNzYWdlVHlwZS5RVUVTVElPTiwKKysgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnMgPSBHdGsu QnV0dG9uc1R5cGUuWUVTX05PLAogKyAgICAgICAgICAgICAgICAgICAgbWVzc2FnZV9mb3JtYXQg PSBtZXNzYWdlKQogKyAgICAgICAgICAgIGlkID0gZGxnLnJ1bigpCiArICAgICAgICAgICAgZGxn LmRlc3Ryb3koKQogKyAgICAgICAgICAgIHNlbGYuX19mbHVzaF9ndGtfZXZlbnRzKCkKLSsgICAg ICAgICAgICBpZiBpZCAhPSBndGsuUkVTUE9OU0VfWUVTOgorKyAgICAgICAgICAgIGlmIGlkICE9 IEd0ay5SZXNwb25zZVR5cGUuWUVTOgogKyAgICAgICAgICAgICAgICBidXR0b24uc2V0X2FjdGl2 ZShUcnVlKQogKyAgICAgICAgICAgICAgICByZXR1cm4KKysgICAgICAgICAgICB2YXJpYW50ID0g R0xpYi5WYXJpYW50Lm5ld19pbnQzMihJQnVzLlByZWxvYWRFbmdpbmVNb2RlLkxBTkdfUkVMQVRJ VkUpCiArICAgICAgICAgICAgc2VsZi5fX2NvbmZpZy5zZXRfdmFsdWUoImdlbmVyYWwiLAogKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcmVsb2FkX2VuZ2luZV9tb2RlIiwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzLmNvbW1vbi5QUkVMT0FE X0VOR0lORV9NT0RFX0xBTkdfUkVMQVRJVkUpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdmFyaWFudCkKICsgICAgICAgICAgICBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0 KCJoYm94X2N1c3RvbWl6ZV9hY3RpdmVfaW5wdXRfbWV0aG9kcyIpLnNldF9zZW5zaXRpdmUoRmFs c2UpCiArCiAgICAgIGRlZiBfX2luaXRfYnVzKHNlbGYpOgotICAgICAgICAgdHJ5OgotICAgICAg ICAgICAgIHNlbGYuX19idXMgPSBpYnVzLkJ1cygpCi1AQCAtNTEyLDcgKzU2NywxMSBAQCBjbGFz cyBTZXR1cChvYmplY3QpOgorICAgICAgICAgc2VsZi5fX2J1cyA9IElCdXMuQnVzKCkKKyAgICAg ICAgIGlmIHNlbGYuX19idXMuaXNfY29ubmVjdGVkKCk6CitAQCAtNTQzLDggKzU4NiwxOCBAQCBj bGFzcyBTZXR1cChvYmplY3QpOgorICAgICAgICAgdmFsdWUgPSBHTGliLlZhcmlhbnQubmV3X2Jv b2xlYW4odmFsdWUpCiAgICAgICAgICBzZWxmLl9fY29uZmlnLnNldF92YWx1ZSgiZ2VuZXJhbCIs ICJ1c2VfZ2xvYmFsX2VuZ2luZSIsIHZhbHVlKQogIAotICAgICBkZWYgX19jb25maWdfdmFsdWVf Y2hhbmdlZF9jYihzZWxmLCBidXMsIHNlY3Rpb24sIG5hbWUsIHZhbHVlKToKKy0gICAgZGVmIF9f Y29uZmlnX3ZhbHVlX2NoYW5nZWRfY2Ioc2VsZiwgYnVzLCBzZWN0aW9uLCBuYW1lLCB2YWx1ZSk6 CiAtICAgICAgICBwYXNzCisrICAgIGRlZiBfX2NvbmZpZ192YWx1ZV9jaGFuZ2VkX2NiKHNlbGYs IGJ1cywgc2VjdGlvbiwgbmFtZSwgdmFyaWFudCk6CiArICAgICAgICBpZiBzZWN0aW9uID09ICdn ZW5lcmFsJyBhbmQgbmFtZSA9PSAncHJlbG9hZF9lbmdpbmVzJzoKKysgICAgICAgICAgICB2YWx1 ZSA9IFtdCisrICAgICAgICAgICAgaWYgdmFyaWFudCAhPSBOb25lOgorKyAgICAgICAgICAgICAg ICB2YWx1ZSA9IHZhcmlhbnQuZHVwX3N0cnYoKVswXQogKyAgICAgICAgICAgIGVuZ2luZXMgPSBz ZWxmLl9fZ2V0X2VuZ2luZV9kZXNjc19mcm9tX25hbWVzKHZhbHVlKQogKyAgICAgICAgICAgIGN1 cnJlbnRfZW5naW5lcyA9IHNlbGYuX190cmVldmlldy5nZXRfZW5naW5lcygpCi0rICAgICAgICAg ICAgaWYgc2VsZi5fX2NvbXBhcmVfZGVzY3MoZW5naW5lcywgY3VycmVudF9lbmdpbmVzKSA9PSBG YWxzZToKKysgICAgICAgICAgICBlbmdpbmVzX2NzdiA9IHN0ci5qb2luKCcsJywgbWFwKGxhbWJk YSBlOiBlLmdldF9uYW1lKCksIGVuZ2luZXMpKQorKyAgICAgICAgICAgIGN1cnJlbnRfZW5naW5l c19jc3YgPSBcCisrICAgICAgICAgICAgICAgICAgICBzdHIuam9pbignLCcsIG1hcChsYW1iZGEg ZTogZS5nZXRfbmFtZSgpLCBjdXJyZW50X2VuZ2luZXMpKQorKyAgICAgICAgICAgIGlmIGVuZ2lu ZXNfY3N2ICE9IGN1cnJlbnRfZW5naW5lc19jc3Y6CiArICAgICAgICAgICAgICAgIHNlbGYuX190 cmVldmlldy5zZXRfZW5naW5lcyhlbmdpbmVzKQogIAogICAgICBkZWYgX19jb25maWdfcmVsb2Fk ZWRfY2Ioc2VsZiwgYnVzKToKICAgICAgICAgIHBhc3MKIGRpZmYgLS1naXQgYS9zZXR1cC9zZXR1 cC51aSBiL3NldHVwL3NldHVwLnVpCi1pbmRleCA1N2NiNTk3Li5iMmNlZWYyIDEwMDY0NAoraW5k ZXggZTM3Y2IzMi4uZmVjMTY0NiAxMDA2NDQKIC0tLSBhL3NldHVwL3NldHVwLnVpCiArKysgYi9z ZXR1cC9zZXR1cC51aQotQEAgLTU4Miw3ICs1ODIsMjIgQEAKK0BAIC01ODUsNyArNTg1LDIyIEBA CiAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJv cGVydHk+CiAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ib3JpZW50YXRpb24i PnZlcnRpY2FsPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KQEAgLTcx MCw3ICsxODcsNyBAQCBpbmRleCA1N2NiNTk3Li5iMmNlZWYyIDEwMDY0NAogICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICAg ICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8b2JqZWN0IGNsYXNzPSJHdGtBbGlnbm1lbnQiIGlkPSJhbGlnbm1lbnQ2Ij4KLUBAIC03NDks NyArNzY0LDcgQEAKK0BAIC03NTIsNyArNzY3LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAg ICA8L2NoaWxkPgogICAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KICAgICAgICAgICAg ICAgICAgICAgICAgPHBhY2tpbmc+CkBAIC03MTksNyArMTk2LDcgQEAgaW5kZXggNTdjYjU5Ny4u YjJjZWVmMiAxMDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgogICAgICAg ICAgICAgICAgICAgICAgPC9jaGlsZD4KICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KLUBA IC03ODgsNyArODAzLDcgQEAgWW91IG1heSB1c2UgdXAvZG93biBidXR0b25zIHRvIGNoYW5nZSBp dC4mbHQ7L2kmZ3Q7Jmx0Oy9zbWFsbCZndDs8L3Byb3BlcnR5PgorQEAgLTc5MSw3ICs4MDYsNyBA QCBZb3UgbWF5IHVzZSB1cC9kb3duIGJ1dHRvbnMgdG8gY2hhbmdlIGl0LiZsdDsvaSZndDsmbHQ7 L3NtYWxsJmd0OzwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0Pgog ICAgICAgICAgICAgICAgICAgICAgICA8cGFja2luZz4KICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0iZXhwYW5kIj5GYWxzZTwvcHJvcGVydHk+CkBAIC03NDksNiArMjI2 LDE2OCBAQCBpbmRleCBkOTE2MjY1Li40MjJlYjg0IDEwMDY0NAogICAqIElCdXNSZWN0YW5nbGU6 CiAgICogQHg6IHggY29vcmRpbmF0ZS4KICAgKiBAeTogeSBjb29yZGluYXRlLgorZGlmZiAtLWdp dCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwudmFsYQoraW5kZXggZjg4MDVl MC4uN2JkMGQ5MyAxMDA2NDQKKy0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQorKysrIGIvdWkvZ3Rr My9wYW5lbC52YWxhCitAQCAtMTg3LDYgKzE4Nyw4IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5l bFNlcnZpY2UgeworICAgICAgICAgaWYgKG1fY29uZmlnICE9IG51bGwpIHsKKyAgICAgICAgICAg ICBtX2NvbmZpZy52YWx1ZV9jaGFuZ2VkLmNvbm5lY3QoY29uZmlnX3ZhbHVlX2NoYW5nZWRfY2Ip OworICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJnZW5lcmFsIiwgInByZWxvYWRfZW5naW5l cyIpOworKyAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJnZW5lcmFsIiwgInByZWxvYWRfZW5n aW5lc19pbml0ZWQiKTsKKysgICAgICAgICAgICBtX2NvbmZpZy53YXRjaCgiZ2VuZXJhbCIsICJw cmVsb2FkX2VuZ2luZV9tb2RlIik7CisgICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVy YWwiLCAiZW5naW5lc19vcmRlciIpOworICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJwYW5l bCIsICJjdXN0b21fZm9udCIpOworICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJwYW5lbCIs ICJ1c2VfY3VzdG9tX2ZvbnQiKTsKK0BAIC0yNDYsNyArMjQ4LDEzNiBAQCBjbGFzcyBQYW5lbCA6 IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAgICAgICAgICAgICBpbml0X2drYmQoKTsKKyAgICAgICAg IH0KKyAKKysgICAgICAgIEdMaWIuVmFyaWFudCB2YXJfZW5naW5lcyA9IAorKyAgICAgICAgICAg ICAgICBtX2NvbmZpZy5nZXRfdmFsdWUoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIik7Cisr ICAgICAgICBzdHJpbmdbXSBwcmVsb2FkX2VuZ2luZXMgPSB7fTsKKysKKysgICAgICAgIGlmICh2 YXJfZW5naW5lcyAhPSBudWxsKSB7CisrICAgICAgICAgICAgcHJlbG9hZF9lbmdpbmVzID0gdmFy X2VuZ2luZXMuZHVwX3N0cnYoKTsKKysgICAgICAgIH0KKysKKysgICAgICAgIGJvb2wgcHJlbG9h ZF9lbmdpbmVzX2luaXRlZCA9IGZhbHNlOworKyAgICAgICAgR0xpYi5WYXJpYW50IHZhcl9wcmVs b2FkX2VuZ2luZXNfaW5pdGVkID0KKysgICAgICAgICAgICAgICAgbV9jb25maWcuZ2V0X3ZhbHVl KCJnZW5lcmFsIiwgInByZWxvYWRfZW5naW5lc19pbml0ZWQiKTsKKysKKysgICAgICAgIGlmICh2 YXJfcHJlbG9hZF9lbmdpbmVzX2luaXRlZCAhPSBudWxsKSB7CisrICAgICAgICAgICAgcHJlbG9h ZF9lbmdpbmVzX2luaXRlZCA9IHZhcl9wcmVsb2FkX2VuZ2luZXNfaW5pdGVkLmdldF9ib29sZWFu KCk7CisrICAgICAgICB9CisrCisrICAgICAgICAvLyBTZXQgcHJlbG9hZF9lbmdpbmVzX2luaXRl ZCA9IHRydWUgZm9yIGJhY2sgY29tcGF0aWJpbGl0eQorKyAgICAgICAgaWYgKHByZWxvYWRfZW5n aW5lcy5sZW5ndGggIT0gMCAmJiAhcHJlbG9hZF9lbmdpbmVzX2luaXRlZCkgeworKyAgICAgICAg ICAgICAgICBwcmVsb2FkX2VuZ2luZXNfaW5pdGVkID0gdHJ1ZTsKKysgICAgICAgICAgICAgICAg bV9jb25maWcuc2V0X3ZhbHVlKCJnZW5lcmFsIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJwcmVsb2FkX2VuZ2luZXNfaW5pdGVkIiwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG5ldyBHTGliLlZhcmlhbnQuYm9vbGVhbih0cnVlKSk7CisrICAgICAg ICB9CisrCisgICAgICAgICB1cGRhdGVfeGtiX2VuZ2luZXMoKTsKKysKKysgICAgICAgIC8vIEJl Zm9yZSB1cGRhdGUgcHJlbG9hZF9lbmdpbmVfbW9kZSwgdXBkYXRlX3hrYl9lbmdpbmVzKCkgaXMg Y2FsbGVkCisrICAgICAgICAvLyBiZWNhdXNlIGNvbmZpZ192YWx1ZV9jaGFuZ2VkX2NiKCkgY2Fs bHMgdXBkYXRlX2ltX2VuZ2luZXMoKS4KKysgICAgICAgIGlmICghcHJlbG9hZF9lbmdpbmVzX2lu aXRlZCkgeworKyAgICAgICAgICAgIEdMaWIuVmFyaWFudCB2YXJpYW50ID0gbmV3IEdMaWIuVmFy aWFudC5pbnQzMigKKysgICAgICAgICAgICAgICAgICAgIElCdXMuUHJlbG9hZEVuZ2luZU1vZGUu TEFOR19SRUxBVElWRSk7CisrICAgICAgICAgICAgbV9jb25maWcuc2V0X3ZhbHVlKCJnZW5lcmFs IiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWxvYWRfZW5naW5lX21vZGUi LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXJpYW50KTsKKysgICAgICAgIH0K KysKKysgICAgICAgIHVwZGF0ZV9pbV9lbmdpbmVzKCk7CisrCisrICAgICAgICBpZiAoIXByZWxv YWRfZW5naW5lc19pbml0ZWQpIHsKKysgICAgICAgICAgICBtX2NvbmZpZy5zZXRfdmFsdWUoImdl bmVyYWwiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJlbG9hZF9lbmdpbmVz X2luaXRlZCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBHTGliLlZhcmlh bnQuYm9vbGVhbih0cnVlKSk7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAgcHJpdmF0ZSBi b29sIHNldF9sYW5nX3JlbGF0aXZlX3ByZWxvYWRfZW5naW5lcygpIHsKKysgICAgICAgIHN0cmlu ZyBsb2NhbGUgPSBJbnRsLnNldGxvY2FsZShMb2NhbGVDYXRlZ29yeS5DVFlQRSwgbnVsbCk7Cisr CisrICAgICAgICBpZiAobG9jYWxlID09IG51bGwpIHsKKysgICAgICAgICAgICBsb2NhbGUgPSAi QyI7CisrICAgICAgICB9CisrCisrICAgICAgICBzdHJpbmcgbGFuZyA9IGxvY2FsZS5zcGxpdCgi LiIpWzBdOworKyAgICAgICAgR0xpYi5MaXN0PElCdXMuRW5naW5lRGVzYz4gZW5naW5lcyA9IG1f YnVzLmxpc3RfZW5naW5lcygpOworKyAgICAgICAgc3RyaW5nW10gaW1fZW5naW5lcyA9IHt9Owor KworKyAgICAgICAgZm9yICh1bm93bmVkIEdMaWIuTGlzdDxJQnVzLkVuZ2luZURlc2M+IHAgPSBl bmdpbmVzOworKyAgICAgICAgICAgICBwICE9IG51bGw7CisrICAgICAgICAgICAgIHAgPSBwLm5l eHQpIHsKKysgICAgICAgICAgICB1bm93bmVkIElCdXMuRW5naW5lRGVzYyBlbmdpbmUgPSBwLmRh dGE7CisrICAgICAgICAgICAgaWYgKGVuZ2luZS5nZXRfbGFuZ3VhZ2UoKSA9PSBsYW5nICYmCisr ICAgICAgICAgICAgICAgIGVuZ2luZS5nZXRfcmFuaygpID4gMCkgeworKyAgICAgICAgICAgICAg ICBpbV9lbmdpbmVzICs9IGVuZ2luZS5nZXRfbmFtZSgpOworKyAgICAgICAgICAgIH0KKysgICAg ICAgIH0KKysKKysgICAgICAgIGxhbmcgPSBsYW5nLnNwbGl0KCJfIilbMF07CisrICAgICAgICBp ZiAoaW1fZW5naW5lcy5sZW5ndGggPT0gMCkgeworKyAgICAgICAgICAgIGZvciAodW5vd25lZCBH TGliLkxpc3Q8SUJ1cy5FbmdpbmVEZXNjPiBwID0gZW5naW5lczsKKysgICAgICAgICAgICAgICAg IHAgIT0gbnVsbDsKKysgICAgICAgICAgICAgICAgIHAgPSBwLm5leHQpIHsKKysgICAgICAgICAg ICAgICAgdW5vd25lZCBJQnVzLkVuZ2luZURlc2MgZW5naW5lID0gcC5kYXRhOworKyAgICAgICAg ICAgICAgICBpZiAoZW5naW5lLmdldF9sYW5ndWFnZSgpID09IGxhbmcgJiYKKysgICAgICAgICAg ICAgICAgICAgIGVuZ2luZS5nZXRfcmFuaygpID4gMCkgeworKyAgICAgICAgICAgICAgICAgICAg aW1fZW5naW5lcyArPSBlbmdpbmUuZ2V0X25hbWUoKTsKKysgICAgICAgICAgICAgICAgfQorKyAg ICAgICAgICAgIH0KKysgICAgICAgIH0KKysKKysgICAgICAgIGlmIChpbV9lbmdpbmVzLmxlbmd0 aCA9PSAwKSB7CisrICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICAgICAgfQorKworKyAg ICAgICAgR0xpYi5WYXJpYW50IHZhcl9lbmdpbmVzID0gCisrICAgICAgICAgICAgICAgIG1fY29u ZmlnLmdldF92YWx1ZSgiZ2VuZXJhbCIsICJwcmVsb2FkX2VuZ2luZXMiKTsKKysgICAgICAgIHN0 cmluZ1tdIG9yaWdfcHJlbG9hZF9lbmdpbmVzID0ge307CisrICAgICAgICBzdHJpbmdbXSBwcmVs b2FkX2VuZ2luZXMgPSB7fTsKKysKKysgICAgICAgIGlmICh2YXJfZW5naW5lcyAhPSBudWxsKSB7 CisrICAgICAgICAgICAgb3JpZ19wcmVsb2FkX2VuZ2luZXMgPSB2YXJfZW5naW5lcy5kdXBfc3Ry digpOworKyAgICAgICAgfQorKworKyAgICAgICAgLy8gY2xlYXIgaW5wdXQgbWV0aG9kIGVuZ2lu ZXMKKysgICAgICAgIGZvcmVhY2ggKHN0cmluZyBuYW1lIGluIG9yaWdfcHJlbG9hZF9lbmdpbmVz KSB7CisrICAgICAgICAgICAgaWYgKG5hbWUuYXNjaWlfbmNhc2VjbXAoInhrYjoiLCA0KSAhPSAw KSB7CisrICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgICAgIH0KKysgICAgICAg ICAgICBwcmVsb2FkX2VuZ2luZXMgKz0gbmFtZTsKKysgICAgICAgIH0KKysKKysgICAgICAgIGZv cmVhY2ggKHN0cmluZyBuYW1lIGluIGltX2VuZ2luZXMpIHsKKysgICAgICAgICAgICBpZiAoIShu YW1lIGluIHByZWxvYWRfZW5naW5lcykpIHsKKysgICAgICAgICAgICAgICAgcHJlbG9hZF9lbmdp bmVzICs9IG5hbWU7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKworKyAgICAgICAgaWYg KCIiLmpvaW52KCIsIiwgb3JpZ19wcmVsb2FkX2VuZ2luZXMpICE9CisrICAgICAgICAgICAgIiIu am9pbnYoIiwiLCBwcmVsb2FkX2VuZ2luZXMpKSB7CisrICAgICAgICAgICAgbV9jb25maWcuc2V0 X3ZhbHVlKCJnZW5lcmFsIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByZWxv YWRfZW5naW5lcyIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBHTGliLlZh cmlhbnQuc3RydihwcmVsb2FkX2VuZ2luZXMpKTsKKysgICAgICAgIH0KKysKKysgICAgICAgIHJl dHVybiB0cnVlOworKyAgICB9CisrCisrICAgIHByaXZhdGUgdm9pZCB1cGRhdGVfaW1fZW5naW5l cygpIHsKKysgICAgICAgIGludCBwcmVsb2FkX2VuZ2luZV9tb2RlID0gSUJ1cy5QcmVsb2FkRW5n aW5lTW9kZS5VU0VSOworKyAgICAgICAgR0xpYi5WYXJpYW50IHZhcl9wcmVsb2FkX2VuZ2luZV9t b2RlID0KKysgICAgICAgICAgICAgICAgbV9jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgInBy ZWxvYWRfZW5naW5lX21vZGUiKTsKKysKKysgICAgICAgIGlmICh2YXJfcHJlbG9hZF9lbmdpbmVf bW9kZSAhPSBudWxsKSB7CisrICAgICAgICAgICAgcHJlbG9hZF9lbmdpbmVfbW9kZSA9IHZhcl9w cmVsb2FkX2VuZ2luZV9tb2RlLmdldF9pbnQzMigpOworKyAgICAgICAgfQorKworKyAgICAgICAg aWYgKHByZWxvYWRfZW5naW5lX21vZGUgPT0gSUJ1cy5QcmVsb2FkRW5naW5lTW9kZS5VU0VSKSB7 CisrICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgfQorKworKyAgICAgICAgc2V0X2xhbmdf cmVsYXRpdmVfcHJlbG9hZF9lbmdpbmVzKCk7CisgICAgIH0KKyAKKyAgICAgcHJpdmF0ZSB2b2lk IHVwZGF0ZV94a2JfZW5naW5lcygpIHsKK0BAIC00MjEsNiArNTUyLDExIEBAIGNsYXNzIFBhbmVs IDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RyaW5nIHNlY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJpbmcgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZhcmlhbnQgdmFyaWFudCkgeworKyAgICAgICAgaWYgKHNlY3Rpb24gPT0gImdl bmVyYWwiICYmIG5hbWUgPT0gInByZWxvYWRfZW5naW5lX21vZGUiKSB7CisrICAgICAgICAgICAg dXBkYXRlX2ltX2VuZ2luZXMoKTsKKysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9Cisr CisgICAgICAgICBpZiAoc2VjdGlvbiA9PSAiZ2VuZXJhbCIgJiYgbmFtZSA9PSAicHJlbG9hZF9l bmdpbmVzIikgeworICAgICAgICAgICAgIHVwZGF0ZV9lbmdpbmVzKHZhcmlhbnQsIG51bGwpOwor ICAgICAgICAgICAgIHJldHVybjsKIC0tIAotMS43LjcuNAorMS43LjkuMQogCgpkaWZmIC0tZ2l0 IGEvaWJ1cy01NDE0OTIteGtiLnBhdGNoIGIvaWJ1cy01NDE0OTIteGtiLnBhdGNoCmluZGV4IDRk MTM1ZjUuLjM1MmNlNGUgMTAwNjQ0Ci0tLSBhL2lidXMtNTQxNDkyLXhrYi5wYXRjaAorKysgYi9p YnVzLTU0MTQ5Mi14a2IucGF0Y2gKQEAgLTEsMTEgKzEsMTEgQEAKLUZyb20gNTcxZTRhYjNlMjhh Y2I5MDQ2NmFjNThlM2ZlOWY0ZWZjNGI4YmEwZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zy b20gYzU4NzMwZGQwZDljMTYxYTc4MjQxMDVkMzIwZjYwYWY3NjllMWYwNSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4K LURhdGU6IFN1biwgNCBNYXIgMjAxMiAyMjoxNjowMSArMDkwMAorRGF0ZTogRnJpLCAxNiBNYXIg MjAxMiAyMDo0NTowMyArMDkwMAogU3ViamVjdDogW1BBVENIXSBBZGQgaWJ1cy14a2IgYW5kIGxp Ymdub21la2JkLgogCiAtLS0KICBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICB8ICAgNTkg KysrKysKLSBkYXRhL2lidXMuc2NoZW1hcy5pbiAgICAgICAgICB8ICAgNTggKysrKysKKyBkYXRh L2lidXMuc2NoZW1hcy5pbiAgICAgICAgICB8ICAgNjAgKysrKystCiAgZW5naW5lL01ha2VmaWxl LmFtICAgICAgICAgICAgfCAgIDIyICsrCiAgZW5naW5lL2lidXMteGtiLW1haW4uYyAgICAgICAg fCAgMTExICsrKysrKysrKwogIGVuZ2luZS9tYWluLnZhbGEgICAgICAgICAgICAgIHwgICA4NiAr KysrKysrCkBAIC0xNCwzMCArMTQsMzIgQEAgU3ViamVjdDogW1BBVENIXSBBZGQgaWJ1cy14a2Ig YW5kIGxpYmdub21la2JkLgogIGVuZ2luZS94a2JsaWIuaCAgICAgICAgICAgICAgIHwgICA0MSAr KysrCiAgaWJ1cy0xLjAucGMuaW4gICAgICAgICAgICAgICAgfCAgICA0ICsKICBzZXR1cC9lbmdp bmVjb21ib2JveC5weSAgICAgICB8ICAgIDYgKy0KLSBzZXR1cC9tYWluLnB5ICAgICAgICAgICAg ICAgICB8ICAgMTcgKystCisgc2V0dXAvbWFpbi5weSAgICAgICAgICAgICAgICAgfCAgIDI4ICsr LQogIHNyYy9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgIHwgICAgNSArCiAgc3JjL2lidXMuaCAg ICAgICAgICAgICAgICAgICAgfCAgICAxICsKICBzcmMvaWJ1c3hrYnhtbC5jICAgICAgICAgICAg ICB8ICA0NjYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAgc3JjL2lidXN4 a2J4bWwuaCAgICAgICAgICAgICAgfCAgMTg3ICsrKysrKysrKysrKysrKwogIHVpL2d0azMvR2ti ZC0zLjAubWV0YWRhdGEgICAgIHwgICAgMSArCi0gdWkvZ3RrMy9NYWtlZmlsZS5hbSAgICAgICAg ICAgfCAgIDQ1ICsrKysKKyB1aS9ndGszL01ha2VmaWxlLmFtICAgICAgICAgICB8ICAgNDggKysr KworIHVpL2d0azMvWGtsLTEuMC5tZXRhZGF0YSAgICAgIHwgICAgMyArCiAgdWkvZ3RrMy9na2Jk bGF5b3V0LnZhbGEuZmFsc2UgfCAgIDYzICsrKysrCiAgdWkvZ3RrMy9na2JkbGF5b3V0LnZhbGEu dHJ1ZSAgfCAgMTExICsrKysrKysrKwogIHVpL2d0azMvcGFuZWwudmFsYSAgICAgICAgICAgIHwg IDI3NSArKysrKysrKysrKysrKysrKysrKy0tCiAgdWkvZ3RrMy94a2JsYXlvdXQudmFsYSAgICAg ICAgfCAgNDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDIxIGZpbGVz IGNoYW5nZWQsIDIzMzEgaW5zZXJ0aW9ucygrKSwgNTUxIGRlbGV0aW9ucygtKQorIDIyIGZpbGVz IGNoYW5nZWQsIDIzNDYgaW5zZXJ0aW9ucygrKSwgNTU1IGRlbGV0aW9ucygtKQogIGNyZWF0ZSBt b2RlIDEwMDY0NCBlbmdpbmUvaWJ1cy14a2ItbWFpbi5jCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGVu Z2luZS94a2JsaWIuYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBlbmdpbmUveGtibGliLmgKICBjcmVh dGUgbW9kZSAxMDA2NDQgc3JjL2lidXN4a2J4bWwuYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMv aWJ1c3hrYnhtbC5oCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHVpL2d0azMvR2tiZC0zLjAubWV0YWRh dGEKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdWkvZ3RrMy9Ya2wtMS4wLm1ldGFkYXRhCiAgY3JlYXRl IG1vZGUgMTAwNjQ0IHVpL2d0azMvZ2tiZGxheW91dC52YWxhLmZhbHNlCiAgY3JlYXRlIG1vZGUg MTAwNjQ0IHVpL2d0azMvZ2tiZGxheW91dC52YWxhLnRydWUKICBjcmVhdGUgbW9kZSAxMDA2NDQg dWkvZ3RrMy94a2JsYXlvdXQudmFsYQogCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29u ZmlndXJlLmFjCi1pbmRleCBhZWIyMmI0Li5hNTE2Yzk0IDEwMDY0NAoraW5kZXggMWM0YjI4My4u NTk2YjMwZSAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCiBA QCAtMjQ5LDYgKzI0OSw2MyBAQCBlbHNlCkBAIC0xMTMsMjggKzExNSwzMCBAQCBpbmRleCBhZWIy MmI0Li5hNTE2Yzk0IDEwMDY0NAogIF0pCiAgCiBkaWZmIC0tZ2l0IGEvZGF0YS9pYnVzLnNjaGVt YXMuaW4gYi9kYXRhL2lidXMuc2NoZW1hcy5pbgotaW5kZXggNTNiYTA1Yy4uM2NhMGZiYyAxMDA2 NDQKK2luZGV4IDUzYmEwNWMuLjA1YzAxNzQgMTAwNjQ0CiAtLS0gYS9kYXRhL2lidXMuc2NoZW1h cy5pbgogKysrIGIvZGF0YS9pYnVzLnNjaGVtYXMuaW4KLUBAIC0zOCw2ICszOCwxOCBAQAotICAg ICAgIDwvbG9jYWxlPgotICAgICA8L3NjaGVtYT4KLSAgICAgPHNjaGVtYT4KLSsgICAgICA8a2V5 Pi9zY2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90cmlnZ2VyLWFjY2VsPC9rZXk+ Ci0rICAgICAgPGFwcGx5dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90cmlnZ2VyLWFj Y2VsPC9hcHBseXRvPgorQEAgLTM0LDcgKzM0LDE5IEBACisgICAgICAgPGRlZmF1bHQ+W0NvbnRy b2wrc3BhY2UsWmVua2FrdV9IYW5rYWt1LEFsdCtLYW5qaSxBbHQrZ3JhdmUsSGFuZ3VsLEFsdCtS ZWxlYXNlK0FsdF9SXTwvZGVmYXVsdD4KKyAgICAgICA8bG9jYWxlIG5hbWU9IkMiPgorICAgICAg ICAgPHNob3J0PlRyaWdnZXIgc2hvcnRjdXQga2V5czwvc2hvcnQ+CistCSAgICA8bG9uZz5UaGUg c2hvcnRjdXQga2V5cyBmb3IgdHVybmluZyBpbnB1dCBtZXRob2Qgb24gb3Igb2ZmPC9sb25nPgor KyAgICAgICAgICAgIDxsb25nPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0dXJuaW5nIGlucHV0IG1l dGhvZCBvbiBvciBvZmY8L2xvbmc+CisrICAgICAgPC9sb2NhbGU+CisrICAgIDwvc2NoZW1hPgor KyAgICA8c2NoZW1hPgorKyAgICAgIDxrZXk+L3NjaGVtYXMvZGVza3RvcC9pYnVzL2dlbmVyYWwv aG90a2V5L3RyaWdnZXJfYWNjZWw8L2tleT4KKysgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVz L2dlbmVyYWwvaG90a2V5L3RyaWdnZXJfYWNjZWw8L2FwcGx5dG8+CiArICAgICAgPG93bmVyPmli dXM8L293bmVyPgogKyAgICAgIDx0eXBlPmxpc3Q8L3R5cGU+CiArICAgICAgPGxpc3RfdHlwZT5z dHJpbmc8L2xpc3RfdHlwZT4KICsgICAgICA8ZGVmYXVsdD5bJmx0O0NvbnRyb2wmZ3Q7c3BhY2Vd PC9kZWZhdWx0PgogKyAgICAgIDxsb2NhbGUgbmFtZT0iQyI+CiArICAgICAgICA8c2hvcnQ+VHJp Z2dlciBzaG9ydGN1dCBrZXlzIGZvciBndGtfYWNjZWxlcmF0b3JfcGFyc2U8L3Nob3J0PgotKwkg ICAgPGxvbmc+VGhlIHNob3J0Y3V0IGtleXMgZm9yIHR1cm5pbmcgaW5wdXQgbWV0aG9kIG9uIG9y IG9mZjwvbG9uZz4KLSsgICAgICA8L2xvY2FsZT4KLSsgICAgPC9zY2hlbWE+Ci0rICAgIDxzY2hl bWE+Ci0gICAgICAgPGtleT4vc2NoZW1hcy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9ob3RrZXkvZW5h YmxlX3VuY29uZGl0aW9uYWw8L2tleT4KLSAgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dl bmVyYWwvaG90a2V5L2VuYWJsZV91bmNvbmRpdGlvbmFsPC9hcHBseXRvPgotICAgICAgIDxvd25l cj5pYnVzPC9vd25lcj4KKysgICAgICAgICAgICA8bG9uZz5UaGUgc2hvcnRjdXQga2V5cyBmb3Ig dHVybmluZyBpbnB1dCBtZXRob2Qgb24gb3Igb2ZmPC9sb25nPgorICAgICAgIDwvbG9jYWxlPgor ICAgICA8L3NjaGVtYT4KKyAgICAgPHNjaGVtYT4KIEBAIC0yMDMsNiArMjE1LDUyIEBACiAgICAg ICAgPC9sb2NhbGU+CiAgICAgIDwvc2NoZW1hPgpAQCAtMTQwNSw0MiArMTQwOSw1OSBAQCBpbmRl eCA4ZDE0MjRiLi4wYWM3MzY4IDEwMDY0NAogICAgICAgICAgaWYgY3VycmVudF9sYW5nIGluIGtl eXM6CiAgICAgICAgICAgICAga2V5cy5yZW1vdmUoY3VycmVudF9sYW5nKQogZGlmZiAtLWdpdCBh L3NldHVwL21haW4ucHkgYi9zZXR1cC9tYWluLnB5Ci1pbmRleCAyNzRiMjVhLi5lMzAyN2E1IDEw MDY0NAoraW5kZXggZmRmYjMzYS4uOTYzOGRhMCAxMDA2NDQKIC0tLSBhL3NldHVwL21haW4ucHkK ICsrKyBiL3NldHVwL21haW4ucHkKLUBAIC0xODIsMTIgKzE4MiwyNSBAQCBjbGFzcyBTZXR1cChv YmplY3QpOgotICAgICAgICAgICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25fdXNlX2dsb2JhbF9l bmdpbmVfdG9nZ2xlZF9jYikKK0BAIC0xODMsMTQgKzE4MywyNSBAQCBjbGFzcyBTZXR1cChvYmpl Y3QpOgogIAogICAgICAgICAgIyBpbml0IGVuZ2luZSBwYWdlCi0tICAgICAgICBzZWxmLl9fZW5n aW5lcyA9IHNlbGYuX19idXMubGlzdF9lbmdpbmVzKCkKLSsgICAgICAgIHNlbGYuX19lbmdpbmVz ID0gW10KKyAgICAgICAgIHNlbGYuX19lbmdpbmVzID0gc2VsZi5fX2J1cy5saXN0X2VuZ2luZXMo KQogKyAgICAgICAgdmFsdWUgPSBzZWxmLl9fY29uZmlnLmdldF92YWx1ZSgiZ2VuZXJhbCIsICJs b2FkX3hrYl9sYXlvdXRzIikKICsgICAgICAgIGxvYWRfbGF5b3V0cyA9IFtdCiArICAgICAgICBp ZiB2YWx1ZSAhPSBOb25lOgotKyAgICAgICAgICAgIGxvYWRfbGF5b3V0cyA9IG1hcChsYW1iZGEg bDogc3RyKGwpLCBsaXN0KHZhbHVlKSkKKysgICAgICAgICAgICBsb2FkX2xheW91dHMgPSB2YWx1 ZS5kdXBfc3RydigpWzBdCiArICAgICAgICBpZiBsZW4obG9hZF9sYXlvdXRzKSA9PSAwOgotKyAg ICAgICAgICAgIHNlbGYuX19lbmdpbmVzID0gc2VsZi5fX2J1cy5saXN0X2VuZ2luZXMoKQorKyAg ICAgICAgICAgIGVuZ2luZXMgPSBzZWxmLl9fZW5naW5lcwogKyAgICAgICAgZWxzZToKLSsgICAg ICAgICAgICBmb3IgZW5naW5lIGluIHNlbGYuX19idXMubGlzdF9lbmdpbmVzKCk6Ci0rICAgICAg ICAgICAgICAgIGlmIG5vdCBlbmdpbmUucHJvcHMubmFtZS5zdGFydHN3aXRoKCd4a2I6Jyk6Ci0r ICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZW5naW5lcy5hcHBlbmQoZW5naW5lKQotKyAgICAg ICAgICAgICAgICBlbGlmIGVuZ2luZS5wcm9wcy5sYXlvdXQgaW4gbG9hZF9sYXlvdXRzOgotKyAg ICAgICAgICAgICAgICAgICAgc2VsZi5fX2VuZ2luZXMuYXBwZW5kKGVuZ2luZSkKKysgICAgICAg ICAgICBlbmdpbmVzID0gW10KKysgICAgICAgICAgICBmb3IgZW5naW5lIGluIHNlbGYuX19lbmdp bmVzOgorKyAgICAgICAgICAgICAgICBpZiBub3QgZW5naW5lLmdldF9uYW1lKCkuc3RhcnRzd2l0 aCgneGtiOicpOgorKyAgICAgICAgICAgICAgICAgICAgZW5naW5lcy5hcHBlbmQoZW5naW5lKQor KyAgICAgICAgICAgICAgICBlbGlmIGVuZ2luZS5nZXRfbGF5b3V0KCkgaW4gbG9hZF9sYXlvdXRz OgorKyAgICAgICAgICAgICAgICAgICAgZW5naW5lcy5hcHBlbmQoZW5naW5lKQogKwogICAgICAg ICAgc2VsZi5fX2NvbWJvYm94ID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgiY29tYm9ib3hf ZW5naW5lcyIpCi0gICAgICAgICBzZWxmLl9fY29tYm9ib3guc2V0X2VuZ2luZXMoc2VsZi5fX2Vu Z2luZXMpCistICAgICAgICBzZWxmLl9fY29tYm9ib3guc2V0X2VuZ2luZXMoc2VsZi5fX2VuZ2lu ZXMpCisrICAgICAgICBzZWxmLl9fY29tYm9ib3guc2V0X2VuZ2luZXMoZW5naW5lcykKICAKLSAg ICAgICAgIHRtcF9kaWN0ID0ge30KKy0gICAgICAgIHRtcF9kaWN0ID0ge30KIC0gICAgICAgIGZv ciBlIGluIHNlbGYuX19lbmdpbmVzOgotKyAgICAgICAgZm9yIGUgaW4gc2VsZi5fX2J1cy5saXN0 X2VuZ2luZXMoKToKLSAgICAgICAgICAgICB0bXBfZGljdFtlLmdldF9uYW1lKCldID0gZQorLSAg ICAgICAgICAgIHRtcF9kaWN0W2UuZ2V0X25hbWUoKV0gPSBlCiAgICAgICAgICBlbmdpbmVfbmFt ZXMgPSB2YWx1ZXMuZ2V0KCJwcmVsb2FkX2VuZ2luZXMiLCBbXSkKLSAgICAgICAgIGVuZ2luZXMg PSBbdG1wX2RpY3RbbmFtZV0gZm9yIG5hbWUgaW4gZW5naW5lX25hbWVzIGlmIG5hbWUgaW4gdG1w X2RpY3RdCistICAgICAgICBlbmdpbmVzID0gW3RtcF9kaWN0W25hbWVdIGZvciBuYW1lIGluIGVu Z2luZV9uYW1lcyBpZiBuYW1lIGluIHRtcF9kaWN0XQorKyAgICAgICAgZW5naW5lcyA9IHNlbGYu X19nZXRfZW5naW5lX2Rlc2NzX2Zyb21fbmFtZXMoZW5naW5lX25hbWVzKQorIAorICAgICAgICAg c2VsZi5fX3RyZWV2aWV3ID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgidHJlZXZpZXdfZW5n aW5lcyIpCisgICAgICAgICBzZWxmLl9fdHJlZXZpZXcuc2V0X2VuZ2luZXMoZW5naW5lcykKK0BA IC0yNjMsNiArMjc0LDEzIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CisgICAgICAgICAgICAgYXJn cy5hcHBlbmQocGF0aC5iYXNlbmFtZShzZXR1cF9wYXRoKSkKKyAgICAgICAgIHJldHVybiBhcmdz CisgCisrICAgIGRlZiBfX2dldF9lbmdpbmVfZGVzY3NfZnJvbV9uYW1lcyhzZWxmLCBlbmdpbmVf bmFtZXMpOgorKyAgICAgICAgdG1wX2RpY3QgPSB7fQorKyAgICAgICAgZm9yIGUgaW4gc2VsZi5f X2VuZ2luZXM6CisrICAgICAgICAgICAgdG1wX2RpY3RbZS5nZXRfbmFtZSgpXSA9IGUKKysgICAg ICAgIGVuZ2luZXMgPSBbdG1wX2RpY3RbbmFtZV0gZm9yIG5hbWUgaW4gZW5naW5lX25hbWVzIGlm IG5hbWUgaW4gdG1wX2RpY3RdCisrICAgICAgICByZXR1cm4gZW5naW5lcworKworICAgICBkZWYg X190cmVldmlld19ub3RpZnlfY2Ioc2VsZiwgdHJlZXZpZXcsIHByb3ApOgorICAgICAgICAgaWYg cHJvcC5uYW1lIG5vdCBpbiAoImFjdGl2ZS1lbmdpbmUiLCAiZW5naW5lcyIpOgorICAgICAgICAg ICAgIHJldHVybgogZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBiL3NyYy9NYWtlZmlsZS5h bQotaW5kZXggYjRkMGRjZi4uMTYzMWNhZSAxMDA2NDQKK2luZGV4IGIxZDE3NjYuLjI5ZjBkNTgg MTAwNjQ0CiAtLS0gYS9zcmMvTWFrZWZpbGUuYW0KICsrKyBiL3NyYy9NYWtlZmlsZS5hbQotQEAg LTE5MCw2ICsxOTAsMTEgQEAgdHlwZWxpYnNfREFUQSA9ICQoSU5UUk9TUEVDVElPTl9HSVJTOi5n aXI9LnR5cGVsaWIpCitAQCAtMTk0LDYgKzE5NCwxMSBAQCB0eXBlbGlic19EQVRBID0gJChJTlRS T1NQRUNUSU9OX0dJUlM6Lmdpcj0udHlwZWxpYikKICBDTEVBTkZJTEVTICs9ICQoZGlzdF9naXJf REFUQSkgJCh0eXBlbGlic19EQVRBKQogIGVuZGlmCiAgCkBAIC0yMTM3LDcgKzIxNTgsNyBAQCBp bmRleCAwMDAwMDAwLi42NjFlNmZkCiBAQCAtMCwwICsxIEBACiArQ29uZmlndXJhdGlvbiBjaGVh ZGVyX2ZpbGVuYW1lPSJsaWJnbm9tZWtiZC9na2JkLWNvbmZpZ3VyYXRpb24uaCIKIGRpZmYgLS1n aXQgYS91aS9ndGszL01ha2VmaWxlLmFtIGIvdWkvZ3RrMy9NYWtlZmlsZS5hbQotaW5kZXggMGZi OWQzYy4uMzNhYWFhMyAxMDA2NDQKK2luZGV4IDBmYjlkM2MuLjVjY2Y4YjAgMTAwNjQ0CiAtLS0g YS91aS9ndGszL01ha2VmaWxlLmFtCiArKysgYi91aS9ndGszL01ha2VmaWxlLmFtCiBAQCAtNDIs NiArNDIsOSBAQCBJTkNMVURFUyA9IFwKQEAgLTIxNjEsNyArMjE4Miw3IEBAIGluZGV4IDBmYjlk M2MuLjMzYWFhYTMgMTAwNjQ0CiAgCS1Xbm8tdW51c2VkLXZhcmlhYmxlIFwKICAJLVduby11bnVz ZWQtYnV0LXNldC12YXJpYWJsZSBcCiAgCS1Xbm8tdW51c2VkLWZ1bmN0aW9uIFwKLUBAIC04Niw2 ICs5Myw3IEBAIGlidXNfdWlfZ3RrM192YWxhcyA9IFwKK0BAIC04Niw2ICs5Myw3IEBAIGlidXNf dWlfZ3RrM19TT1VSQ0VTID0gXAogIAlhcHBsaWNhdGlvbi52YWxhIFwKICAJY2FuZGlkYXRlYXJl YS52YWxhIFwKICAJY2FuZGlkYXRlcGFuZWwudmFsYSBcCkBAIC0yMTY5LDE1ICsyMTkwLDE1IEBA IGluZGV4IDBmYjlkM2MuLjMzYWFhYTMgMTAwNjQ0CiAgCWhhbmRsZS52YWxhIFwKICAJaWNvbndp ZGdldC52YWxhIFwKICAJa2V5YmluZGluZ21hbmFnZXIudmFsYSBcCi1AQCAtOTQsNiArMTAyLDcg QEAgaWJ1c191aV9ndGszX3ZhbGFzID0gXAorQEAgLTk0LDYgKzEwMiw3IEBAIGlidXNfdWlfZ3Rr M19TT1VSQ0VTID0gXAogIAlwcm9wZXJ0eS52YWxhIFwKICAJc2VwYXJhdG9yLnZhbGEgXAogIAlz d2l0Y2hlci52YWxhIFwKICsJeGtibGF5b3V0LnZhbGEgXAorIAlncmFia2V5Y29kZS5jIFwKICAJ JChOVUxMKQotIGlidXNfdWlfZ3RrM192YWxhX2NmaWxlcyA9ICQoaWJ1c191aV9ndGszX3ZhbGFz Oi52YWxhPS5jKQogIAotQEAgLTEwNiwxMiArMTE1LDQ4IEBAIGlidXNfdWlfZ3RrM19MREFERCA9 IFwKK0BAIC0xMDEsMTIgKzExMCw1MSBAQCBpYnVzX3VpX2d0azNfTERBREQgPSBcCiAgCSQoQU1f TERBREQpIFwKICAJJChOVUxMKQogIApAQCAtMjE5NCw5ICsyMjE1LDExIEBAIGluZGV4IDBmYjlk M2MuLjMzYWFhYTMgMTAwNjQ0CiArCiArQU1fVkFMQUZMQUdTICs9IFwKICsJLS12YXBpZGlyPS4g XAorKwktLW1ldGFkYXRhZGlyPS4gXAogKwktLXBrZz1nbGliLTIuMCBcCiArCS0tcGtnPWdtb2R1 bGUtMi4wIFwKICsJLS1wa2c9Z2tiZCBcCisrCS0tcGtnPVhrbC0xLjAgXAogKwkkKE5VTEwpCiAr CiArJChzcmNkaXIpL2drYmQudmFwaToKQEAgLTIyMTYsNyArMjIzOSw2IEBAIGluZGV4IDBmYjlk M2MuLjMzYWFhYTMgMTAwNjQ0CiArCWdrYmQudmFwaSBcCiArCWdrYmRsYXlvdXQudmFsYSBcCiAg CWd0a3BhbmVsLnhtbCBcCi0gCSQoaWJ1c191aV9ndGszX3ZhbGFfY2ZpbGVzKSBcCiAgCSQoTlVM TCkKICAKICBFWFRSQV9ESVNUID0gXApAQCAtMjIyNCw4ICsyMjQ2LDE5IEBAIGluZGV4IDBmYjlk M2MuLjMzYWFhYTMgMTAwNjQ0CiArCWdrYmRsYXlvdXQudmFsYS5mYWxzZSBcCiArCWdrYmRsYXlv dXQudmFsYS50cnVlIFwKICAJZ3RrcGFuZWwueG1sLmluLmluIFwKKysJWGtsLTEuMC5tZXRhZGF0 YSBcCiAgCSQoTlVMTCkKICAKKyAKK2RpZmYgLS1naXQgYS91aS9ndGszL1hrbC0xLjAubWV0YWRh dGEgYi91aS9ndGszL1hrbC0xLjAubWV0YWRhdGEKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi40OTYxZDBjCistLS0gL2Rldi9udWxsCisrKysgYi91aS9ndGszL1hrbC0xLjAu bWV0YWRhdGEKK0BAIC0wLDAgKzEsMyBAQAorK1hrbCBjaGVhZGVyX2ZpbGVuYW1lPSJsaWJ4a2xh dmllci94a2xhdmllci5oIgorK0VuZ2luZQorKyAgICAuZmlsdGVyX2V2ZW50cy5ldnQgcmVmIHR5 cGU9IlguRXZlbnQiCiBkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9na2JkbGF5b3V0LnZhbGEuZmFsc2Ug Yi91aS9ndGszL2drYmRsYXlvdXQudmFsYS5mYWxzZQogbmV3IGZpbGUgbW9kZSAxMDA2NDQKIGlu ZGV4IDAwMDAwMDAuLmEzODdkZTkKQEAgLTI0MTMsNyArMjQ0Niw3IEBAIGluZGV4IDAwMDAwMDAu LmFkYWNkODEKICsgICAgKi8KICt9CiBkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9wYW5lbC52YWxhIGIv dWkvZ3RrMy9wYW5lbC52YWxhCi1pbmRleCBiODNkN2UzLi4yYTM4NmEwIDEwMDY0NAoraW5kZXgg ZDkyNzQ5MS4uZjg4MDVlMCAxMDA2NDQKIC0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQogKysrIGIv dWkvZ3RrMy9wYW5lbC52YWxhCiBAQCAtNDAsOCArNDAsMTYgQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7CkBAIC0yNTE1LDIwICsyNTQ4LDI0IEBAIGluZGV4IGI4M2Q3ZTMuLjJh Mzg2YTAgMTAwNjQ0CiArICAgICAgICB9CiAgICAgIH0KICAKLSAgICAgcHVibGljIHZvaWQgc2V0 X2NvbmZpZyhJQnVzLkNvbmZpZyBjb25maWcpIHsKLUBAIC05Myw4ICsxNTIsMTAgQEAgY2xhc3Mg UGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CisgICAgIHByaXZhdGUgdm9pZCBzZXRfY3VzdG9t X2ZvbnQoKSB7CitAQCAtMTI0LDEyICsxODMsMTQgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVs U2VydmljZSB7CiAgICAgICAgICB9CiAgCiAgICAgICAgICBtX2NvbmZpZyA9IGNvbmZpZzsKICsg ICAgICAgIHNldF9rZXliaW5kaW5nKCk7CiAgICAgICAgICBpZiAobV9jb25maWcgIT0gbnVsbCkg ewogICAgICAgICAgICAgIG1fY29uZmlnLnZhbHVlX2NoYW5nZWQuY29ubmVjdChjb25maWdfdmFs dWVfY2hhbmdlZF9jYik7CisgICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVyYWwiLCAi cHJlbG9hZF9lbmdpbmVzIik7CisgICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVyYWwi LCAiZW5naW5lc19vcmRlciIpOworICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJwYW5lbCIs ICJjdXN0b21fZm9udCIpOworICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJwYW5lbCIsICJ1 c2VfY3VzdG9tX2ZvbnQiKTsKICsgICAgICAgICAgICBpbml0X2VuZ2luZXNfb3JkZXIoKTsKICAg ICAgICAgICAgICB1cGRhdGVfZW5naW5lcyhtX2NvbmZpZy5nZXRfdmFsdWUoImdlbmVyYWwiLCAi cHJlbG9hZF9lbmdpbmVzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbV9jb25maWcu Z2V0X3ZhbHVlKCJnZW5lcmFsIiwgImVuZ2luZXNfb3JkZXIiKSk7CiAgICAgICAgICB9IGVsc2Ug ewotQEAgLTEwMiw2ICsxNjMsMTkyIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2Ug ewotICAgICAgICAgfQorQEAgLTEzOSw2ICsyMDAsMTkyIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5Q YW5lbFNlcnZpY2UgeworICAgICAgICAgc2V0X2N1c3RvbV9mb250KCk7CiAgICAgIH0KICAKICsg ICAgcHJpdmF0ZSB2b2lkIGdrYmRsYXlvdXRfY2hhbmdlZF9jYigpIHsKQEAgLTI3MjAsNyArMjc1 Nyw3IEBAIGluZGV4IGI4M2Q3ZTMuLjJhMzg2YTAgMTAwNjQ0CiAgICAgIHByaXZhdGUgdm9pZCBz d2l0Y2hfZW5naW5lKGludCBpLCBib29sIGZvcmNlID0gZmFsc2UpIHsKICAgICAgICAgIEdMaWIu YXNzZXJ0KGkgPj0gMCAmJiBpIDwgbV9lbmdpbmVzLmxlbmd0aCk7CiAgCi1AQCAtMTIxLDE1ICsz NjgsNyBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKK0BAIC0xNTgsMTUgKzQw NSw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAgICAgICAgICAgIHJl dHVybjsKICAgICAgICAgIH0KICAgICAgICAgIC8vIHNldCB4a2IgbGF5b3V0CgpkaWZmIC0tZ2l0 IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4IGM3M2NjMDEuLjdkYzE3 MGUgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9pYnVzLUhFQUQucGF0Y2gKQEAg LTEsOTEgKzEsMjAxIEBACi1Gcm9tIDM1ZjYzNTNiODk3MjY4NzhmYTk5ZGUyNTg4ZmI2YmU1YWVm ODY4NmMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tIGZlMWVjOGExYjZmNTZjZWRhMWYz ZjRiYmI5MzFjY2UyOWQ5NDZlZDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWpp d2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDUgTWFyIDIwMTIg MTE6MTY6MjMgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IHB5dGhvbiBsaWJyYXJ5IHRvIGxv YWQgbGliaWJ1cy5zby5ZCitEYXRlOiBGcmksIDE2IE1hciAyMDEyIDIxOjAwOjI4ICswOTAwCitT dWJqZWN0OiBbUEFUQ0hdIFNldCB0aGUgY3VzdG9tIGZvbnQgaW4gdWkuZ3RrMy5DYW5kaWRhdGVQ YW5lbC4KIAogLS0tCi0gaWJ1cy9fY29uZmlnLnB5LmluIHwgICAgMiArKwotIGlidXMvY29tbW9u LnB5ICAgICB8ICAgIDMgKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb25zKC0pCisgdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZhbGEgIHwgICAyMyArKysrKysr KysrKysrKysrKysrKysrKworIHVpL2d0azMvY2FuZGlkYXRlcGFuZWwudmFsYSB8ICAgMTkgKysr KysrKysrKysrKysrKysrKworIHVpL2d0azMvcGFuZWwudmFsYSAgICAgICAgICB8ICAgNDEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAzIGZpbGVzIGNoYW5nZWQs IDgzIGluc2VydGlvbnMoKyksIDAgZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9pYnVzL19j b25maWcucHkuaW4gYi9pYnVzL19jb25maWcucHkuaW4KLWluZGV4IDA5OGQ4MDUuLmM5ZDExYmIg MTAwNjQ0Ci0tLS0gYS9pYnVzL19jb25maWcucHkuaW4KLSsrKyBiL2lidXMvX2NvbmZpZy5weS5p bgotQEAgLTI1LDYgKzI1LDcgQEAgX19hbGxfXyA9ICgKLSAgICAgImdldF9jb3B5cmlnaHQiLAot ICAgICAiZ2V0X2xpY2Vuc2UiLAotICAgICAiZ2V0X0lDT05fS0VZQk9BUkQiLAotKyAgICAiTElC SUJVU19TT05BTUUiLAotICAgICAiSVNPQ09ERVNfUFJFRklYIiwKLSAgICAgIl8iCi0gKQotQEAg LTU1LDQgKzU2LDUgQEAgZGVmIGdldF9JQ09OX0tFWUJPQVJEKCk6Ci0gICAgICAgICByZXR1cm4g ZmFsbGJhY2tfaWNvbgotICAgICByZXR1cm4gaWNvbgorZGlmZiAtLWdpdCBhL3VpL2d0azMvY2Fu ZGlkYXRlYXJlYS52YWxhIGIvdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZhbGEKK2luZGV4IDg1YTgz MGQuLjVkMGU4ZjcgMTAwNjQ0CistLS0gYS91aS9ndGszL2NhbmRpZGF0ZWFyZWEudmFsYQorKysr IGIvdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZhbGEKK0BAIC0zMyw2ICszMyw3IEBAIGNsYXNzIENh bmRpZGF0ZUFyZWEgOiBHdGsuQm94IHsKKyAgICAgcHJpdmF0ZSBJQnVzLlRleHRbXSBtX2lidXNf Y2FuZGlkYXRlczsKKyAgICAgcHJpdmF0ZSB1aW50IG1fZm9jdXNfY2FuZGlkYXRlOworICAgICBw cml2YXRlIGJvb2wgbV9zaG93X2N1cnNvcjsKKysgICAgcHJpdmF0ZSBQYW5nby5Gb250RGVzY3Jp cHRpb24gbV9mb250X2Rlc2M7CiAgCi0rTElCSUJVU19TT05BTUU9J2xpYmlidXMtQElCVVNfQVBJ X1ZFUlNJT05ALnNvLkBMVF9DVVJSRU5UX01JTlVTX0FHRUAnCi0gSVNPQ09ERVNfUFJFRklYPSdA SVNPQ09ERVNfUFJFRklYQCcKLWRpZmYgLS1naXQgYS9pYnVzL2NvbW1vbi5weSBiL2lidXMvY29t bW9uLnB5Ci1pbmRleCA2NDgzYWFlLi5mYjM5ZDU2IDEwMDY0NAotLS0tIGEvaWJ1cy9jb21tb24u cHkKLSsrKyBiL2lidXMvY29tbW9uLnB5Ci1AQCAtNTksNiArNTksNyBAQCBpbXBvcnQgb3MKLSBp bXBvcnQgc3lzCi0gZnJvbSB4ZGcgaW1wb3J0IEJhc2VEaXJlY3RvcnkKLSBpbXBvcnQgY3R5cGVz Ci0raW1wb3J0IF9jb25maWcKKyAgICAgcHJpdmF0ZSBjb25zdCBzdHJpbmcgTEFCRUxTW10gPSB7 CisgICAgICAgICAiMS4iLCAiMi4iLCAiMy4iLCAiNC4iLCAiNS4iLCAiNi4iLCAiNy4iLCAiOC4i LAorQEAgLTI0MCw2ICsyNDEsMjggQEAgY2xhc3MgQ2FuZGlkYXRlQXJlYSA6IEd0ay5Cb3ggewor ICAgICAgICAgICAgIGhib3gucGFja19zdGFydChwcmV2X2J1dHRvbiwgZmFsc2UsIGZhbHNlLCAw KTsKKyAgICAgICAgICAgICBoYm94LnBhY2tfc3RhcnQobmV4dF9idXR0b24sIGZhbHNlLCBmYWxz ZSwgMCk7CisgICAgICAgICB9CisrCisrICAgICAgICB1ZHBhdGVfbGFiZWxfZm9udCAoKTsKKysg ICAgfQorKworKyAgICBwcml2YXRlIHZvaWQgdWRwYXRlX2xhYmVsX2ZvbnQgKCkgeworKyAgICAg ICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2xhYmVscy5sZW5ndGg7IGkrKykgeworKyAgICAgICAg ICAgIG1fbGFiZWxzW2ldLm92ZXJyaWRlX2ZvbnQobV9mb250X2Rlc2MpOworKyAgICAgICAgfQor KworKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2NhbmRpZGF0ZXMubGVuZ3RoOyBpKysp IHsKKysgICAgICAgICAgICBtX2NhbmRpZGF0ZXNbaV0ub3ZlcnJpZGVfZm9udChtX2ZvbnRfZGVz Yyk7CisrICAgICAgICB9CisrICAgIH0KKysKKysgICAgcHVibGljIHZvaWQgc2V0X2N1c3RvbV9m b250KHN0cmluZz8gZm9udF9uYW1lKSB7CisrICAgICAgICBpZiAoZm9udF9uYW1lID09IG51bGwp IHsKKysgICAgICAgICAgICBtX2ZvbnRfZGVzYyA9IG51bGw7CisrICAgICAgICB9IGVsc2Ugewor KyAgICAgICAgICAgIG1fZm9udF9kZXNjID0gUGFuZ28uRm9udERlc2NyaXB0aW9uLmZyb21fc3Ry aW5nIChmb250X25hbWUpOworKyAgICAgICAgfQorKworKyAgICAgICAgdWRwYXRlX2xhYmVsX2Zv bnQgKCk7CisgICAgIH0KKyB9CisgCitkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9jYW5kaWRhdGVwYW5l bC52YWxhIGIvdWkvZ3RrMy9jYW5kaWRhdGVwYW5lbC52YWxhCitpbmRleCBhMDI5ZThmLi43MjFk YjE4IDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9jYW5kaWRhdGVwYW5lbC52YWxhCisrKysgYi91aS9n dGszL2NhbmRpZGF0ZXBhbmVsLnZhbGEKK0BAIC0zMiw2ICszMiw3IEBAIHB1YmxpYyBjbGFzcyBD YW5kaWRhdGVQYW5lbCA6IEd0ay5IQm94eworICAgICBwcml2YXRlIEd0ay5MYWJlbCBtX2F1eF9s YWJlbDsKKyAgICAgcHJpdmF0ZSBDYW5kaWRhdGVBcmVhIG1fY2FuZGlkYXRlX2FyZWE7CisgICAg IHByaXZhdGUgSFNlcGFyYXRvciBtX2hzZXBhcmF0b3I7CisrICAgIHByaXZhdGUgUGFuZ28uRm9u dERlc2NyaXB0aW9uIG1fZm9udF9kZXNjOworIAorICAgICBwcml2YXRlIEdkay5SZWN0YW5nbGUg bV9jdXJzb3JfbG9jYXRpb247CisgCitAQCAtMjY4LDQgKzI2OSwyMiBAQCBwdWJsaWMgY2xhc3Mg Q2FuZGlkYXRlUGFuZWwgOiBHdGsuSEJveHsKKyAKKyAgICAgICAgIG1vdmUoeCwgeSk7CisgICAg IH0KKysKKysgICAgcHVibGljIHZvaWQgc2V0X2N1c3RvbV9mb250KHN0cmluZz8gZm9udF9uYW1l KSB7CisrICAgICAgICBpZiAoZm9udF9uYW1lID09IG51bGwpIHsKKysgICAgICAgICAgICBtX2Zv bnRfZGVzYyA9IG51bGw7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIG1fZm9udF9k ZXNjID0gUGFuZ28uRm9udERlc2NyaXB0aW9uLmZyb21fc3RyaW5nIChmb250X25hbWUpOworKyAg ICAgICAgfQorKworKyAgICAgICAgaWYgKG1fcHJlZWRpdF9sYWJlbCAhPSBudWxsKSB7CisrICAg ICAgICAgICAgbV9wcmVlZGl0X2xhYmVsLm92ZXJyaWRlX2ZvbnQobV9mb250X2Rlc2MpOworKyAg ICAgICAgfQorKworKyAgICAgICAgaWYgKG1fYXV4X2xhYmVsICE9IG51bGwpIHsKKysgICAgICAg ICAgICBtX2F1eF9sYWJlbC5vdmVycmlkZV9mb250KG1fZm9udF9kZXNjKTsKKysgICAgICAgIH0K KysKKysgICAgICAgIG1fY2FuZGlkYXRlX2FyZWEuc2V0X2N1c3RvbV9mb250KGZvbnRfbmFtZSk7 CisrICAgIH0KKyB9CitkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9wYW5lbC52YWxhIGIvdWkvZ3RrMy9w YW5lbC52YWxhCitpbmRleCA1Mzc4OWQyLi5kOTI3NDkxIDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9w YW5lbC52YWxhCisrKysgYi91aS9ndGszL3BhbmVsLnZhbGEKK0BAIC04Niw2ICs4NiwzNiBAQCBj bGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAgICAgICAgIGtleWJpbmRpbmdfbWFu YWdlci51bmJpbmQoQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9CQUNLV0FSRCk7CisgICAgIH0KICAK LSAjIF9fZGlzcGxheSA9IG9zLmVudmlyb25bIkRJU1BMQVkiXQotICMgX19ob3N0bmFtZSwgX19k aXNwbGF5X3NjcmVlbiA9IF9fZGlzcGxheS5zcGxpdCgiOiIsIDEpCi1AQCAtMTA0LDcgKzEwNSw3 IEBAIGltcG9ydCBjdHlwZXMKLSAjICAgICAgICAgcmV0dXJuIE5vbmUKLSAjICAgICByZXR1cm4g YWRkcmVzcworKyAgICBwcml2YXRlIHZvaWQgc2V0X2N1c3RvbV9mb250KCkgeworKyAgICAgICAg Ym9vbCB1c2VfY3VzdG9tX2ZvbnQgPSBmYWxzZTsKKysgICAgICAgIEdMaWIuVmFyaWFudCB2YXJf dXNlX2N1c3RvbV9mb250ID0gbV9jb25maWcuZ2V0X3ZhbHVlKCJwYW5lbCIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidXNl X2N1c3RvbV9mb250Iik7CisrCisrICAgICAgICBpZiAodmFyX3VzZV9jdXN0b21fZm9udCAhPSBu dWxsKSB7CisrICAgICAgICAgICAgdXNlX2N1c3RvbV9mb250ID0gdmFyX3VzZV9jdXN0b21fZm9u dC5nZXRfYm9vbGVhbigpOworKyAgICAgICAgfQorKworKyAgICAgICAgaWYgKHVzZV9jdXN0b21f Zm9udCA9PSBmYWxzZSkgeworKyAgICAgICAgICAgIG1fY2FuZGlkYXRlX3BhbmVsLnNldF9jdXN0 b21fZm9udChudWxsKTsKKysgICAgICAgICAgICByZXR1cm47CisrICAgICAgICB9CisrCisrICAg ICAgICBzdHJpbmcgZm9udF9uYW1lID0gbnVsbDsKKysgICAgICAgIEdMaWIuVmFyaWFudCB2YXJf Y3VzdG9tX2ZvbnQgPSBtX2NvbmZpZy5nZXRfdmFsdWUoInBhbmVsIiwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImN1c3RvbV9mb250 Iik7CisrICAgICAgICBpZiAodmFyX2N1c3RvbV9mb250ICE9IG51bGwpIHsKKysgICAgICAgICAg ICBmb250X25hbWUgPSB2YXJfY3VzdG9tX2ZvbnQuZHVwX3N0cmluZygpOworKyAgICAgICAgfQor KworKyAgICAgICAgaWYgKGZvbnRfbmFtZSA9PSBudWxsKSB7CisrICAgICAgICAgICAgR0xpYi5W YWx1ZSB2YWx1ZSA9IEdMaWIuVmFsdWUodHlwZW9mKHN0cmluZykpOworKyAgICAgICAgICAgIEd0 ay5TZXR0aW5ncy5nZXRfZGVmYXVsdCgpLmdldF9wcm9wZXJ0eSgiZ3RrLWZvbnQtbmFtZSIsIHJl ZiB2YWx1ZSk7CisrICAgICAgICAgICAgZm9udF9uYW1lID0gdmFsdWUuZHVwX3N0cmluZygpOwor KyAgICAgICAgfQorKworKyAgICAgICAgbV9jYW5kaWRhdGVfcGFuZWwuc2V0X2N1c3RvbV9mb250 KGZvbnRfbmFtZSk7CisrICAgIH0KKysKKyAgICAgcHVibGljIHZvaWQgc2V0X2NvbmZpZyhJQnVz LkNvbmZpZyBjb25maWcpIHsKKyAgICAgICAgIGlmIChtX2NvbmZpZyAhPSBudWxsKSB7CisgICAg ICAgICAgICAgbV9jb25maWcudmFsdWVfY2hhbmdlZC5kaXNjb25uZWN0KGNvbmZpZ192YWx1ZV9j aGFuZ2VkX2NiKTsKK0BAIC05OCwxMSArMTI4LDE1IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5l bFNlcnZpY2UgeworICAgICAgICAgICAgIG1fY29uZmlnLnZhbHVlX2NoYW5nZWQuY29ubmVjdChj b25maWdfdmFsdWVfY2hhbmdlZF9jYik7CisgICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdl bmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIik7CisgICAgICAgICAgICAgbV9jb25maWcud2F0Y2go ImdlbmVyYWwiLCAiZW5naW5lc19vcmRlciIpOworKyAgICAgICAgICAgIG1fY29uZmlnLndhdGNo KCJwYW5lbCIsICJjdXN0b21fZm9udCIpOworKyAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJw YW5lbCIsICJ1c2VfY3VzdG9tX2ZvbnQiKTsKKyAgICAgICAgICAgICB1cGRhdGVfZW5naW5lcyht X2NvbmZpZy5nZXRfdmFsdWUoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIiksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgbV9jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgImVuZ2lu ZXNfb3JkZXIiKSk7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgIHVwZGF0ZV9lbmdp bmVzKG51bGwsIG51bGwpOworICAgICAgICAgfQorKworKyAgICAgICAgc2V0X2N1c3RvbV9mb250 KCk7CisgICAgIH0KICAKLS1saWJpYnVzID0gY3R5cGVzLkNETEwoImxpYmlidXMtMS4wLnNvLjAi KQotK2xpYmlidXMgPSBjdHlwZXMuQ0RMTChfY29uZmlnLkxJQklCVVNfU09OQU1FKQotIGdldF9h ZGRyZXNzID0gbGliaWJ1cy5pYnVzX2dldF9hZGRyZXNzCi0gZ2V0X2FkZHJlc3MucmVzdHlwZT1j dHlwZXMuY19jaGFyX3AKKyAgICAgcHJpdmF0ZSB2b2lkIHN3aXRjaF9lbmdpbmUoaW50IGksIGJv b2wgZm9yY2UgPSBmYWxzZSkgeworQEAgLTE1MCw2ICsxODQsMTMgQEAgY2xhc3MgUGFuZWwgOiBJ QnVzLlBhbmVsU2VydmljZSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBWYXJpYW50IHZhcmlhbnQpIHsKKyAgICAgICAgIGlmIChzZWN0aW9uID09ICJnZW5lcmFs IiAmJiBuYW1lID09ICJwcmVsb2FkX2VuZ2luZXMiKSB7CisgICAgICAgICAgICAgdXBkYXRlX2Vu Z2luZXModmFyaWFudCwgbnVsbCk7CisrICAgICAgICAgICAgcmV0dXJuOworKyAgICAgICAgfQor KworKyAgICAgICAgaWYgKHNlY3Rpb24gPT0gInBhbmVsIiAmJiAobmFtZSA9PSAiY3VzdG9tX2Zv bnQiIHx8CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID09ICJ1c2Vf Y3VzdG9tX2ZvbnQiKSkgeworKyAgICAgICAgICAgIHNldF9jdXN0b21fZm9udCgpOworKyAgICAg ICAgICAgIHJldHVybjsKKyAgICAgICAgIH0KKyAgICAgfQogIAogLS0gCiAxLjcuOS4xCiAKLUZy b20gNDAxZjg4MTMxNGFiY2U1N2EwOTc5YWE0ZWYwOGZjNTQ2MmRmZTNjYSBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKK0Zyb20gMmNlOWU4MmJkNDkyZDZhZGRiZDYyOTk1NWY5YzAzOTk3NTNlOGZh MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdh cmExQGdtYWlsLmNvbT4KLURhdGU6IFNhdCwgMTAgTWFyIDIwMTIgMDk6NDU6MDcgKzA5MDAKLVN1 YmplY3Q6IFtQQVRDSF0gRml4IHRvIHVuZ3JhYiB1aS9ndGszL3N3aXRjaGVyIGZvciBHVEsgMy4z LjE4IGFuZCBHTGliCi0gMi4zMS4yMAorRGF0ZTogU3VuLCAxOCBNYXIgMjAxMiAxODoxNDowNiAr MDkwMAorU3ViamVjdDogW1BBVENIXSBTaG93IGxhbmd1YWdlIGlkIG9uIGlidXMtdWktZ3RrMy5z d2l0Y2hlciB3aW5kb3cuCiAKIC0tLQotIHVpL2d0azMvc3dpdGNoZXIudmFsYSB8ICAgIDggKysr KysrKysKLSAxIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkK KyB1aS9ndGszL3N3aXRjaGVyLnZhbGEgfCAgIDE1ICsrKysrKysrKysrKysrLQorIDEgZmlsZXMg Y2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBh L3VpL2d0azMvc3dpdGNoZXIudmFsYSBiL3VpL2d0azMvc3dpdGNoZXIudmFsYQotaW5kZXggNzZj NjdlYy4uMTMxY2FkNSAxMDA2NDQKK2luZGV4IDEzMWNhZDUuLjczYjU4ZDIgMTAwNjQ0CiAtLS0g YS91aS9ndGszL3N3aXRjaGVyLnZhbGEKICsrKyBiL3VpL2d0azMvc3dpdGNoZXIudmFsYQotQEAg LTEyNyw2ICsxMjcsOSBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewotICAgICAgICAg bV9sb29wLnJ1bigpOwotICAgICAgICAgbV9sb29wID0gbnVsbDsKLSAKLSsgICAgICAgIGtleWJv YXJkLnVuZ3JhYihHZGsuQ1VSUkVOVF9USU1FKTsKLSsgICAgICAgIHBvaW50ZXIudW5ncmFiKEdk ay5DVVJSRU5UX1RJTUUpOwotKwotICAgICAgICAgaGlkZSgpOwotICAgICAgICAgLy8gTWFrZSBz dXJlIHRoZSBzd2l0Y2hlciBpcyBoaWRkZW4gYmVmb3JlIHJldHVybmluZyBmcm9tIHRoaXMgZnVu Y3Rpb24uCi0gICAgICAgICB3aGlsZSAoR3RrLmV2ZW50c19wZW5kaW5nKCkpCi1AQCAtMjM5LDYg KzI0MiwxMSBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewotICAgICAgICAgICAgIHJl dHVybiB0cnVlOwotICAgICAgICAgfQotIAotKyAgICAgICAgLy8gaWYgZS50eXBlID09IEdkay5F dmVudFR5cGUuS0VZX1JFTEVBU0UsIG1fbG9vcCBpcyBhbHJlYWR5IG51bGwuCi0rICAgICAgICBp ZiAobV9sb29wID09IG51bGwpIHsKLSsgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0rICAgICAg ICB9CitAQCAtMTU1LDkgKzE1NSwyMiBAQCBjbGFzcyBTd2l0Y2hlciA6IEd0ay5XaW5kb3cgewor ICAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBtX2VuZ2luZXMubGVuZ3RoOyBpKyspIHsKKyAg ICAgICAgICAgICB2YXIgaW5kZXggPSBpOworICAgICAgICAgICAgIHZhciBlbmdpbmUgPSBtX2Vu Z2luZXNbaV07CistICAgICAgICAgICAgdmFyIGJ1dHRvbiA9IG5ldyBHdGsuQnV0dG9uLndpdGhf bGFiZWwoZW5naW5lLmdldF9sb25nbmFtZSgpKTsKKysgICAgICAgICAgICB2YXIgbG9uZ25hbWUg PSBlbmdpbmUuZ2V0X2xvbmduYW1lKCk7CisrICAgICAgICAgICAgdmFyIGxhbmd1YWdlID0gZW5n aW5lLmdldF9sYW5ndWFnZSgpOworKyAgICAgICAgICAgIHZhciBzeW1ib2wgPSBlbmdpbmUuZ2V0 X3N5bWJvbCgpOworKyAgICAgICAgICAgIHZhciBpZCA9IGxhbmd1YWdlOwogKwotICAgICAgICAg bV9sb29wLnF1aXQoKTsKLSAgICAgICAgIG1fcmVzdWx0ID0gKGludCltX3NlbGVjdGVkX2VuZ2lu ZTsKLSAgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAgICAgIGlmIChpZC5sZW5ndGggPiAy KSB7CisrICAgICAgICAgICAgICAgIGlkID0gaWRbMDoyXTsKKysgICAgICAgICAgICB9CisrICAg ICAgICAgICAgaWYgKHN5bWJvbC5sZW5ndGggIT0gMCkgeworKyAgICAgICAgICAgICAgICBpZCA9 IHN5bWJvbDsKKysgICAgICAgICAgICB9CisrICAgICAgICAgICAgdmFyIGxhYmVsID0gIiUtMTVz ICVzIi5wcmludGYobG9uZ25hbWUsIGlkKTsKKysgICAgICAgICAgICB2YXIgYnV0dG9uID0gbmV3 IEd0ay5CdXR0b24ud2l0aF9sYWJlbChsYWJlbCk7CisgICAgICAgICAgICAgYnV0dG9uLnNldF9p bWFnZShuZXcgSWNvbldpZGdldChlbmdpbmUuZ2V0X2ljb24oKSwgd2lkdGgpKTsKKyAgICAgICAg ICAgICBidXR0b24uc2V0X3JlbGllZihHdGsuUmVsaWVmU3R5bGUuTk9ORSk7CisrICAgICAgICAg ICAgYnV0dG9uLnNldF9hbGlnbm1lbnQoMS4wZiwgMC4wZik7CisgICAgICAgICAgICAgYnV0dG9u LnNob3coKTsKKyAKKyAgICAgICAgICAgICBidXR0b24uZW50ZXJfbm90aWZ5X2V2ZW50LmNvbm5l Y3QoKGUpID0+IHsKIC0tIAogMS43LjkuMQogCgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1uby11c2Uu ZGlmZiBiL2lidXMteHgtbm8tdXNlLmRpZmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMjIyMDQ5MAotLS0gL2Rldi9udWxsCisrKyBiL2lidXMteHgtbm8tdXNlLmRpZmYKQEAg LTAsMCArMSwyMjEgQEAKKy0tLSBpYnVzLTEuNC45OS4yMDEyMDMxNy9zZXR1cC9tYWluLnB5Lm9y aWcJMjAxMi0wMy0xNiAxNDo1ODoxNy4yMjgyNzkyNjEgKzA5MDAKKysrKyBpYnVzLTEuNC45OS4y MDEyMDMxNy9zZXR1cC9tYWluLnB5CTIwMTItMDMtMTYgMTQ6NTg6NTAuMzE2MjAyMjUzICswOTAw CitAQCAtNzUsMjIgKzc1LDMwIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CisgICAgICAgICBzZWxm Ll9faW5pdF91aSgpCisgCisgICAgIGRlZiBfX2luaXRfaG90a2V5KHNlbGYpOgorKyAgICAgICAg JycnCisgICAgICAgICBkZWZhdWx0X3ZhbHVlcyA9IHsKKyAgICAgICAgICAgICAidHJpZ2dlciIg OiAoTl8oInRyaWdnZXIiKSwgWyJDb250cm9sK3NwYWNlIl0pLAorICAgICAgICAgICAgICJlbmFi bGVfdW5jb25kaXRpb25hbCIgOiAoTl8oImVuYWJsZSIpLCBbXSksCisgICAgICAgICAgICAgImRp c2FibGVfdW5jb25kaXRpb25hbCIgOiAoTl8oImRpc2FibGUiKSwgW10pCisgICAgICAgICB9Cisr ICAgICAgICAnJycKKysgICAgICAgIGRlZmF1bHRfdmFsdWVzID0geworKyAgICAgICAgICAgICd0 cmlnZ2VyX2FjY2VsJyA6ICgndHJpZ2dlcicsIFsnPENvbnRyb2w+c3BhY2UnXSksCisrICAgICAg ICB9CisgCisgICAgICAgICB2YWx1ZXMgPSBkaWN0KHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlcygi Z2VuZXJhbC9ob3RrZXkiKSkKKyAKKy0gICAgICAgIGZvciBuYW1lLCAobGFiZWwsIHNob3J0Y3V0 cykgaW4gZGVmYXVsdF92YWx1ZXMuaXRlbXMoKToKKysgICAgICAgIGZvciBuYW1lLCAoaWQsIHNo b3J0Y3V0cykgaW4gZGVmYXVsdF92YWx1ZXMuaXRlbXMoKToKKyAgICAgICAgICAgICBzaG9ydGN1 dHMgPSB2YWx1ZXMuZ2V0KG5hbWUsIHNob3J0Y3V0cykKKy0gICAgICAgICAgICBidXR0b24gPSBz ZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJidXR0b25fJXMiICUgbmFtZSkKKy0gICAgICAgICAg ICBlbnRyeSA9IHNlbGYuX19idWlsZGVyLmdldF9vYmplY3QoImVudHJ5XyVzIiAlIG5hbWUpCisr ICAgICAgICAgICAgYnV0dG9uID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgiYnV0dG9uXyVz IiAlIGlkKQorKyAgICAgICAgICAgIGVudHJ5ID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgi ZW50cnlfJXMiICUgaWQpCisgICAgICAgICAgICAgZW50cnkuc2V0X3RleHQoIjsgIi5qb2luKHNo b3J0Y3V0cykpCistICAgICAgICAgICAgZW50cnkuc2V0X3Rvb2x0aXBfdGV4dCgiXG4iLmpvaW4o c2hvcnRjdXRzKSkKKy0gICAgICAgICAgICBidXR0b24uY29ubmVjdCgiY2xpY2tlZCIsIHNlbGYu X19zaG9ydGN1dF9idXR0b25fY2xpY2tlZF9jYiwKKy0gICAgICAgICAgICAgICAgICAgIGxhYmVs LCAiZ2VuZXJhbC9ob3RrZXkiLCBuYW1lLCBlbnRyeSkKKysgICAgICAgICAgICB0ZXh0ID0gJ1xu Jy5qb2luKHNob3J0Y3V0cykKKysgICAgICAgICAgICB0ZXh0ID0gIlVzZSAnOycgc2VwYXJhdGVk IHZhbHVlc1xuIiArIHRleHQKKysgICAgICAgICAgICBlbnRyeS5zZXRfdG9vbHRpcF90ZXh0KHRl eHQpCisrICAgICAgICAgICAgYnV0dG9uLmNvbm5lY3QoImNsaWNrZWQiLCBzZWxmLl9fc2hvcnRj dXRfYnV0dG9uX2NsaWNrZWRfY2IyLAorKyAgICAgICAgICAgICAgICAgICAgbmFtZSwgImdlbmVy YWwvaG90a2V5IiwgaWQsIGVudHJ5KQorKyAgICAgICAgICAgIGJ1dHRvbi5zZXRfdG9vbHRpcF90 ZXh0KCJTYXZlIHRoZSBsZWZ0IGVudHJ5IHN0cmluZyIpCisgCisgICAgIGRlZiBfX2luaXRfcGFu ZWwoc2VsZik6CisgICAgICAgICB2YWx1ZXMgPSBkaWN0KHNlbGYuX19jb25maWcuZ2V0X3ZhbHVl cygicGFuZWwiKSkKK0BAIC00NDYsNiArNDU0LDM3IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6Cisg ICAgICAgICBlbnRyeS5zZXRfdGV4dCh0ZXh0KQorICAgICAgICAgZW50cnkuc2V0X3Rvb2x0aXBf dGV4dCh0ZXh0KQorIAorKyAgICBkZWYgX19zaG9ydGN1dF9idXR0b25fY2xpY2tlZF9jYjIoc2Vs ZiwgYnV0dG9uLCBuYW1lLCBzZWN0aW9uLCBpZCwgZW50cnkpOgorKyAgICAgICAgdGV4dCA9IGVu dHJ5LmdldF90ZXh0KCkKKysgICAgICAgIGlmIHRleHQ6CisrICAgICAgICAgICAgdGV4dCA9IHRl eHQucmVwbGFjZSgnICcsICcnKQorKyAgICAgICAgICAgIHNob3J0Y3V0cyA9IHRleHQuc3BsaXQo JzsnKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAgICBzaG9ydGN1dHMgPSBbXQorKyAgICAg ICAgb3JpZ19saXN0ID1bJzxDb250cm9sPnNwYWNlJ10KKysgICAgICAgIHZhcmlhbnQgPSBzZWxm Ll9fY29uZmlnLmdldF92YWx1ZShzZWN0aW9uLCBuYW1lKQorKyAgICAgICAgaWYgdmFyaWFudCAh PSBOb25lOgorKyAgICAgICAgICAgIG9yaWdfbGlzdCA9IHZhcmlhbnQuZHVwX3N0cnYoKVswXQor KyAgICAgICAgb3JpZ190ZXh0ID0gJzsnLmpvaW4ob3JpZ19saXN0KQorKyAgICAgICAgaWYgdGV4 dCA9PSBvcmlnX3RleHQ6CisrICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICBpc192YWxpZCA9 IFRydWUKKysgICAgICAgIGZvciBzaG9ydGN1dCBpbiBzaG9ydGN1dHM6CisrICAgICAgICAgICAg KGtleSwgbW9kcykgPSBHdGsuYWNjZWxlcmF0b3JfcGFyc2Uoc2hvcnRjdXQpCisrICAgICAgICAg ICAgaWYgbm90IEd0ay5hY2NlbGVyYXRvcl92YWxpZChrZXksIG1vZHMpOgorKyAgICAgICAgICAg ICAgICBpc192YWxpZCA9IEZhbHNlCisrICAgICAgICAgICAgICAgIGRsZyA9IEd0ay5NZXNzYWdl RGlhbG9nKHR5cGUgPSBHdGsuTWVzc2FnZVR5cGUuRVJST1IsCisrICAgICAgICAgICAgICAgICAg ICAgICAgYnV0dG9ucyA9IEd0ay5CdXR0b25zVHlwZS5DTE9TRSwKKysgICAgICAgICAgICAgICAg ICAgICAgICBtZXNzYWdlX2Zvcm1hdCA9ICJJbnZhbGlkIGtleSAlcyIgJSBzaG9ydGN1dCkKKysg ICAgICAgICAgICAgICAgZGxnLnJ1bigpCisrICAgICAgICAgICAgICAgIGRsZy5kZXN0cm95KCkK KysgICAgICAgICAgICAgICAgYnJlYWsKKysgICAgICAgIGlmIG5vdCBpc192YWxpZDoKKysgICAg ICAgICAgICByZXR1cm4KKysgICAgICAgIHNlbGYuX19jb25maWcuc2V0X3ZhbHVlKHNlY3Rpb24s IG5hbWUsIEdMaWIuVmFyaWFudC5uZXdfc3RydihzaG9ydGN1dHMpKQorKyAgICAgICAgdGV4dCA9 ICdcbicuam9pbihzaG9ydGN1dHMpCisrICAgICAgICB0ZXh0ID0gIlVzZSAnOycgc2VwYXJhdGVk IHZhbHVlc1xuIiArIHRleHQKKysgICAgICAgIGVudHJ5LnNldF90b29sdGlwX3RleHQodGV4dCkK KyAKKyAgICAgZGVmIF9faXRlbV9zdGFydGVkX2NvbHVtbl90b2dnbGVkX2NiKHNlbGYsIGNlbGws IHBhdGhfc3RyLCBtb2RlbCk6CisgCistLS0gaWJ1cy0xLjQuOTkuMjAxMjAzMTcvc2V0dXAvc2V0 dXAudWkub3JpZwkyMDEyLTAzLTE2IDE0OjU4OjIzLjk0ODQ2NjM3MyArMDkwMAorKysrIGlidXMt MS40Ljk5LjIwMTIwMzE3L3NldHVwL3NldHVwLnVpCTIwMTItMDMtMTYgMTQ6NTk6MjIuMjQyMDk0 NDY5ICswOTAwCitAQCAtMTAyLDcgKzEwMiw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0icm93X3NwYWNpbmciPjY8L3Byb3BlcnR5PgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsOCI+CistICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUi PlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0aXBfdGV4dCIgdHJh bnNsYXRhYmxlPSJ5ZXMiPlRoZSBzaG9ydGN1dCBrZXlzIGZvciBzd2l0Y2hpbmcgdG8gbmV4dCBp bnB1dCBtZXRob2QgaW4gdGhlIGxpc3Q8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ4YWxpZ24iPjA8L3Byb3BlcnR5PgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIg dHJhbnNsYXRhYmxlPSJ5ZXMiPk5leHQgaW5wdXQgbWV0aG9kOjwvcHJvcGVydHk+CitAQCAtMTE2 LDcgKzExNiw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsOSI+ CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZp c2libGUiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNlbnNpdGl2ZSI+ RmFsc2U8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0b29sdGlwX3RleHQiIHRyYW5zbGF0YWJsZT0ieWVzIj5UaGUgc2hvcnRj dXQga2V5cyBmb3Igc3dpdGNoaW5nIHRvIHByZXZpb3VzIGlucHV0IG1ldGhvZCBpbiB0aGUgbGlz dDwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9InhhbGlnbiI+MDwvcHJvcGVydHk+CitAQCAtMTM3LDcgKzEzNyw3IEBACisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtFbnRy eSIgaWQ9ImVudHJ5X3RyaWdnZXIiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9j dXMiPlRydWU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0iZWRpdGFibGUiPkZhbHNlPC9wcm9wZXJ0eT4KKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwcm9wZXJ0eSBuYW1lPSJlZGl0 YWJsZSI+RmFsc2U8L3Byb3BlcnR5IC0tPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9vYmplY3Q+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cGFja2luZz4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InBvc2l0aW9uIj4wPC9wcm9wZXJ0eT4KK0BAIC0xNDUsNyArMTQ1LDkgQEAK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0J1dHRvbiIgaWQ9ImJ1dHRvbl90 cmlnZ2VyIj4KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3Bl cnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+Li4uPC9wcm9wZXJ0eT4KKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSBwcm9wZXJ0eSBuYW1lPSJs YWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPi4uLjwvcHJvcGVydHkgLS0+CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCI+Z3RrLWFw cGx5PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InVzZV9zdG9jayI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVl PC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyZWNlaXZlc19kZWZhdWx0 Ij5GYWxzZTwvcHJvcGVydHk+CitAQCAtMTYwLDExICsxNjIsMTIgQEAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4xPC9wcm9wZXJ0eT4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icmlnaHRf YXR0YWNoIj4yPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0ieV9vcHRpb25zIj5HVEtfRklMTDwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFja2luZz4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xh c3M9Ikd0a0hCb3giIGlkPSJoYm94NSI+CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+ VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InNwYWNpbmciPjY8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0VudHJ5IiBpZD0iZW50cnlfbmV4dF9lbmdpbmUiPgor QEAgLTE5OSw3ICsyMDIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9j aGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrSEJveCIgaWQ9Imhi b3g2Ij4KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9wZXJ0eT4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ic3BhY2lu ZyI+NjwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNo aWxkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFz cz0iR3RrRW50cnkiIGlkPSJlbnRyeV9wcmV2X2VuZ2luZSI+CitAQCAtMjQ4LDcgKzI1MSw3IEBA CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsMTgiPgorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVl PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ4YWxpZ24iPjA8L3Byb3BlcnR5Pgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJl bCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPkVuYWJsZTo8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KK0BAIC0yNjEsNyArMjY0LDcgQEAKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxvYmplY3QgY2xhc3M9Ikd0a0hCb3giIGlkPSJoYm94MiI+CistICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5 PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJu b19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNwYWNpbmciPjY8L3Byb3BlcnR5PgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0VudHJ5IiBpZD0iZW50cnlfZW5h YmxlX3VuY29uZGl0aW9uYWwiPgorQEAgLTI5Niw3ICsyOTksNyBAQAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBj bGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJlbDE5Ij4KKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3df YWxsIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0i eWVzIj5EaXNhYmxlOjwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDwvb2JqZWN0PgorQEAgLTMwOSw3ICszMTIsNyBAQAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxj aGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0i R3RrSEJveCIgaWQ9Imhib3gzIj4KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVl PC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ic3BhY2luZyI+NjwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGNoaWxkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPG9iamVjdCBjbGFzcz0iR3RrRW50cnkiIGlkPSJlbnRyeV9kaXNhYmxlX3VuY29uZGl0aW9u YWwiPgorQEAgLTQwNiw3ICs0MDksNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwi IGlkPSJsYWJlbDEwIj4KKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9w ZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idG9vbHRpcF90ZXh0IiB0cmFuc2xhdGFibGU9InllcyI+U2V0IHRoZSBiZWhhdmlvciBvZiBp YnVzIGhvdyB0byBzaG93IG9yIGhpZGUgbGFuZ3VhZ2UgYmFyPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9w cm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkg bmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5TaG93IGxhbmd1YWdlIHBhbmVsOjwvcHJv cGVydHk+CitAQCAtNDMzLDcgKzQzNiw3IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8L2NoaWxkPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDb21i b0JveCIgaWQ9ImNvbWJvYm94X3BhbmVsX3Nob3ciPgorLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hv d19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJtb2RlbCI+bW9kZWxfcGFuZWxfc2hvd19tb2RlPC9wcm9wZXJ0 eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDZWxsUmVu ZGVyZXJUZXh0IiBpZD0icmVuZGVyZXIyIi8+CitAQCAtNDcwLDcgKzQ3Myw3IEBACisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY2hlY2tidXR0 b25fc2hvd19pY29uX29uX3N5c3RyYXkiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlNob3cgaWNv biBvbiBzeXN0ZW0gdHJheTwvcHJvcGVydHk+CistICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2Fs bCI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+VHJ1ZTwvcHJvcGVydHk+CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJlY2VpdmVzX2RlZmF1bHQi PkZhbHNlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0idG9vbHRpcF90ZXh0IiB0cmFuc2xhdGFibGU9InllcyI+U2hvdyBpY29u IG9uIHN5c3RlbSB0cmF5PC9wcm9wZXJ0eT4KK0BAIC00ODYsNyArNDg5LDcgQEAKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQ2hlY2tCdXR0b24iIGlkPSJjaGVja2J1dHRv bl9zaG93X2ltX25hbWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlNob3cgaW5wdXQgbWV0aG9k IG5hbWUgb24gbGFuZ3VhZ2UgYmFyPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Cisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3No b3dfYWxsIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icmVjZWl2ZXNfZGVm YXVsdCI+RmFsc2U8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sdGlwX3RleHQiIHRyYW5zbGF0YWJsZT0ieWVzIj5TaG93 IGlucHV0IG1ldGhvZCdzIG5hbWUgb24gbGFuZ3VhZ2UgYmFyIHdoZW4gY2hlY2sgdGhlIGNoZWNr Ym94PC9wcm9wZXJ0eT4KK0BAIC04OTMsNyArODk2LDcgQEAgWW91IG1heSB1c2UgdXAvZG93biBi dXR0b25zIHRvIGNoYW5nZSBpdAorICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAg ICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBj bGFzcz0iR3RrRnJhbWUiIGlkPSJmcmFtZTUiPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgorICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbF94YWxpZ24iPjA8L3By b3BlcnR5PgorICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzaGFkb3df dHlwZSI+bm9uZTwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgoK ZGlmZiAtLWdpdCBhL2lidXMteHgtc2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRjaCBiL2lidXMteHgt c2V0dXAtZnJlcXVlbnQtbGFuZy5wYXRjaAppbmRleCBkNDg3YzM3Li4zNDFlYTY2IDEwMDY0NAot LS0gYS9pYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2gKKysrIGIvaWJ1cy14eC1zZXR1 cC1mcmVxdWVudC1sYW5nLnBhdGNoCkBAIC0xLDYgKzEsNiBAQAotRnJvbSBmYzUyNTA4MGM2Njgy NjczMzliYWVmNDgwZjUzYmRiODI1NmYzMjM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJv bSBjYWQyYzhhZjg0OTY2YWI4ODgyMmM4MzRiZDU1NDcwNjczMDdiMzVkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgot RGF0ZTogU3VuLCA0IE1hciAyMDEyIDIwOjE4OjMwICswOTAwCitEYXRlOiBGcmksIDE2IE1hciAy MDEyIDIwOjQ4OjEwICswOTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEVuYWJsZSBpYnVzLXNldHVwIHRv IHNob3cgdGhlIGZyZXF1ZW50bHkgdXNlZCBsYW5ndWFnZXMKICBvbmx5IGluIElNRSBsaXN0Lgog CkBAIC0xMSwxMCArMTEsMTAgQEAgU3ViamVjdDogW1BBVENIXSBFbmFibGUgaWJ1cy1zZXR1cCB0 byBzaG93IHRoZSBmcmVxdWVudGx5IHVzZWQgbGFuZ3VhZ2VzCiAgMyBmaWxlcyBjaGFuZ2VkLCAz MDAgaW5zZXJ0aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9kYXRhL2li dXMuc2NoZW1hcy5pbiBiL2RhdGEvaWJ1cy5zY2hlbWFzLmluCi1pbmRleCAzY2EwZmJjLi5hM2E5 YTVmIDEwMDY0NAoraW5kZXggOGNhMzNhYy4uNzQyMGEzNSAxMDA2NDQKIC0tLSBhL2RhdGEvaWJ1 cy5zY2hlbWFzLmluCiArKysgYi9kYXRhL2lidXMuc2NoZW1hcy5pbgotQEAgLTI3Miw2ICsyNzIs MTc0IEBAIHNlLHNpLHNrLHN5LHN5KGt1KSx0aCx0aix0cix1YSx1eix2bgorQEAgLTI5Niw2ICsy OTYsMTc0IEBAIHNlLHNpLHNrLHN5LHN5KGt1KSx0aCx0aix0cix1YSx1eix2bgogICAgICAgIDwv bG9jYWxlPgogICAgICA8L3NjaGVtYT4KICAgICAgPHNjaGVtYT4KQEAgLTE5MCw3ICsxOTAsNyBA QCBpbmRleCAzY2EwZmJjLi5hM2E5YTVmIDEwMDY0NAogICAgICAgIDxhcHBseXRvPi9kZXNrdG9w L2lidXMvcGFuZWwvY3VzdG9tX2ZvbnQ8L2FwcGx5dG8+CiAgICAgICAgPG93bmVyPmlidXM8L293 bmVyPgogZGlmZiAtLWdpdCBhL3NldHVwL2VuZ2luZWNvbWJvYm94LnB5IGIvc2V0dXAvZW5naW5l Y29tYm9ib3gucHkKLWluZGV4IDBhYzczNjguLjlhZjI2NTEgMTAwNjQ0CitpbmRleCAwYWM3MzY4 Li41NzgwOThjIDEwMDY0NAogLS0tIGEvc2V0dXAvZW5naW5lY29tYm9ib3gucHkKICsrKyBiL3Nl dHVwL2VuZ2luZWNvbWJvYm94LnB5CiBAQCAtNDUsNiArNDUsOSBAQCBjbGFzcyBFbmdpbmVDb21i b0JveChHdGsuQ29tYm9Cb3gpOgpAQCAtMzQ3LDkgKzM0Nyw5IEBAIGluZGV4IDBhYzczNjguLjlh ZjI2NTEgMTAwNjQ0CiArICAgICAgICAgICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgicGl4 YnVmIiwgTm9uZSkKICsgICAgICAgICAgICBlbGlmIGVuZ2luZSA8IDA6CiArICAgICAgICAgICAg ICAgIGlmIG5vdCBzZWxmLl9fc2hvd19zdWJfbGFuZzoKLSsgICAgICAgICAgICAgICAgICAgIHBp eGJ1ZiA9IGxvYWRfaWNvbigibGlzdC1hZGQiLCBHdGsuSWNvblNpemUuTEFSR0VfVE9PTEJBUikK KysgICAgICAgICAgICAgICAgICAgIHBpeGJ1ZiA9IGxvYWRfaWNvbigiZ28tYm90dG9tIiwgR3Rr Lkljb25TaXplLkxBUkdFX1RPT0xCQVIpCiArICAgICAgICAgICAgICAgIGVsc2U6Ci0rICAgICAg ICAgICAgICAgICAgICBwaXhidWYgPSBsb2FkX2ljb24oImxpc3QtcmVtb3ZlIiwgR3RrLkljb25T aXplLkxBUkdFX1RPT0xCQVIpCisrICAgICAgICAgICAgICAgICAgICBwaXhidWYgPSBsb2FkX2lj b24oImdvLXVwIiwgR3RrLkljb25TaXplLkxBUkdFX1RPT0xCQVIpCiArICAgICAgICAgICAgICAg IGlmIHBpeGJ1ZiA9PSBOb25lOgogKyAgICAgICAgICAgICAgICAgICAgcGl4YnVmID0gbG9hZF9p Y29uKEd0ay5TVE9DS19NSVNTSU5HX0lNQUdFLAogKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEd0ay5JY29uU2l6ZS5MQVJHRV9UT09MQkFSKQpAQCAtNDEyLDE3ICs0MTIs MTcgQEAgaW5kZXggMGFjNzM2OC4uOWFmMjY1MSAxMDA2NDQKICAgICAgICAgIHJldHVybiBzZWxm LmdldF9wcm9wZXJ0eSgiYWN0aXZlLWVuZ2luZSIpCiAgCiBkaWZmIC0tZ2l0IGEvc2V0dXAvbWFp bi5weSBiL3NldHVwL21haW4ucHkKLWluZGV4IGUzMDI3YTUuLjYxNDczN2YgMTAwNjQ0CitpbmRl eCAxMzJlOWY0Li4zNjdjZWE4IDEwMDY0NAogLS0tIGEvc2V0dXAvbWFpbi5weQogKysrIGIvc2V0 dXAvbWFpbi5weQotQEAgLTE5Nyw2ICsxOTcsNyBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgotICAg ICAgICAgICAgICAgICAgICAgc2VsZi5fX2VuZ2luZXMuYXBwZW5kKGVuZ2luZSkKK0BAIC0yMTIs NiArMjEyLDcgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgICAgIGVu Z2luZXMuYXBwZW5kKGVuZ2luZSkKICAKICAgICAgICAgIHNlbGYuX19jb21ib2JveCA9IHNlbGYu X19idWlsZGVyLmdldF9vYmplY3QoImNvbWJvYm94X2VuZ2luZXMiKQogKyAgICAgICAgc2VsZi5f X2NvbWJvYm94LnNldF9jb25maWcoc2VsZi5fX2NvbmZpZykKLSAgICAgICAgIHNlbGYuX19jb21i b2JveC5zZXRfZW5naW5lcyhzZWxmLl9fZW5naW5lcykKKyAgICAgICAgIHNlbGYuX19jb21ib2Jv eC5zZXRfZW5naW5lcyhlbmdpbmVzKQogIAotICAgICAgICAgdG1wX2RpY3QgPSB7fQorICAgICAg ICAgZW5naW5lX25hbWVzID0gdmFsdWVzLmdldCgicHJlbG9hZF9lbmdpbmVzIiwgW10pCiAtLSAK IDEuNy45LjEKIAoKZGlmZiAtLWdpdCBhL2lidXMuc3BlYyBiL2lidXMuc3BlYwppbmRleCA5NjU2 MmY5Li5jM2VjNDQzIDEwMDY0NAotLS0gYS9pYnVzLnNwZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0y LDIxICsyLDE5IEBACiAleyE/Z3RrMl9iaW5hcnlfdmVyc2lvbjogJWRlZmluZSBndGsyX2JpbmFy eV92ZXJzaW9uICUocGtnLWNvbmZpZyAgLS12YXJpYWJsZT1ndGtfYmluYXJ5X3ZlcnNpb24gZ3Rr Ky0yLjApfQogJXshP2d0azNfYmluYXJ5X3ZlcnNpb246ICVkZWZpbmUgZ3RrM19iaW5hcnlfdmVy c2lvbiAlKHBrZy1jb25maWcgIC0tdmFyaWFibGU9Z3RrX2JpbmFyeV92ZXJzaW9uIGd0aystMy4w KX0KIAotJWRlZmluZSBoYXZlX2xpYnhrYmZpbGUgMQotJWRlZmluZSBoYXZlX2Rjb25mIDEKLSVk ZWZpbmUgaGF2ZV9weWdvYmplY3QyIDEKLSVkZWZpbmUgaGF2ZV9weWdvYmplY3QzIDEKLQotJWRl ZmluZSB2YWxhX2J1aWxkX2ZhaWx1cmUgMQorJWRlZmluZSB3aXRoX3hrYmZpbGUgMQorJWRlZmlu ZSB3aXRoX2Rjb25mIDEKKyVkZWZpbmUgd2l0aF9weWdvYmplY3QyIDEKKyVkZWZpbmUgd2l0aF9w eWdvYmplY3QzIDEKIAogJWlmYXJjaCBwcGMgcHBjNjQgczM5MCBzMzkweAotJWRlZmluZSBoYXZl X2dqc2ZpbGUgMAorJWRlZmluZSB3aXRoX2dqcyAwCiAlZWxzZQotJWRlZmluZSBoYXZlX2dqc2Zp bGUgMQorJWRlZmluZSB3aXRoX2dqcyAxCiAlZW5kaWYKIAogJWlmIDAlez9mZWRvcmF9ID4gMTYK LSVkZWZpbmUgaWJ1c19nanNfdmVyc2lvbiAzLjMuOTAuMjAxMjAzMDgKKyVkZWZpbmUgaWJ1c19n anNfdmVyc2lvbiAzLjMuOTAuMjAxMjAzMTcKICVkZWZpbmUgaWJ1c19nanNfYnVpbGRfZmFpbHVy ZSAxCiAlZWxzZQogJWRlZmluZSBpYnVzX2dqc192ZXJzaW9uIDMuMi4xLjIwMTExMjMwCkBAIC0z MSw4ICsyOSw4IEBACiAlZGVmaW5lIGdub21lX2ljb25fdGhlbWVfbGVnYWN5X3ZlcnNpb24gMi45 MS42CiAKIE5hbWU6ICAgICAgIGlidXMKLVZlcnNpb246ICAgIDEuNC45OS4yMDEyMDMwNAotUmVs ZWFzZTogICAgMyV7P2Rpc3R9CitWZXJzaW9uOiAgICAxLjQuOTkuMjAxMjAzMTcKK1JlbGVhc2U6 ICAgIDElez9kaXN0fQogU3VtbWFyeTogICAgSW50ZWxsaWdlbnQgSW5wdXQgQnVzIGZvciBMaW51 eCBPUwogTGljZW5zZTogICAgTEdQTHYyKwogR3JvdXA6ICAgICAgU3lzdGVtIEVudmlyb25tZW50 L0xpYnJhcmllcwpAQCAtNDAsMjYgKzM4LDE4IEBAIFVSTDogICAgICAgIGh0dHA6Ly9jb2RlLmdv b2dsZS5jb20vcC9pYnVzLwogIyBTb3VyY2UwOiAgICBodHRwOi8vaWJ1cy5nb29nbGVjb2RlLmNv bS9maWxlcy8le25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3VyY2UwOiAgICBodHRwOi8vZnVq aXdhcmEuZmVkb3JhcGVvcGxlLm9yZy9pYnVzL2dub21lLXNoZWxsLyV7bmFtZX0tJXt2ZXJzaW9u fS50YXIuZ3oKIFNvdXJjZTE6ICAgIHhpbnB1dC1pYnVzCi0laWYgJWhhdmVfZ2pzZmlsZQogU291 cmNlMjogICAgaHR0cDovL2Z1aml3YXJhLmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9nbm9tZS1zaGVs bC9pYnVzLWdqcy0le2lidXNfZ2pzX3ZlcnNpb259LnRhci5negotJWVuZGlmCiBQYXRjaDA6ICAg ICBpYnVzLUhFQUQucGF0Y2gKIFBhdGNoMTogICAgIGlidXMtNTQxNDkyLXhrYi5wYXRjaAotUGF0 Y2gyOiAgICAgaWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5nLnBhdGNoCi0jIFBhdGNoMzogICAg IGlidXMtNTMwNzExLXByZWxvYWQtc3lzLnBhdGNoCitQYXRjaDI6ICAgICBpYnVzLTUzMDcxMS1w cmVsb2FkLXN5cy5wYXRjaAorUGF0Y2gzOiAgICAgaWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5n LnBhdGNoCiAKLSMgV29ya2Fyb3VuZCBnbm9tZS1zaGVsbCBidWlsZCBmYWlsdXJlCi0jIGh0dHA6 Ly9rb2ppLmZlZG9yYXByb2plY3Qub3JnL2tvamkvZ2V0ZmlsZT90YXNrSUQ9MzMxNzkxNyZuYW1l PXJvb3QubG9nCi0jIFBhdGNoOTE6ICAgIGlidXMtZ2pzLXh4LWdub21lLXNoZWxsLTMuMS40LWJ1 aWxkLWZhaWx1cmUucGF0Y2gKICMgV29ya2Fyb3VuZCB0byBkaXNhYmxlIHByZWVkaXQgb24gZ25v bWUtc2hlbGwgdW50aWwgYnVnIDY1ODQyMCBpcyBmaXhlZC4KICMgaHR0cHM6Ly9idWd6aWxsYS5n bm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQyMAogUGF0Y2g5MjogICAgaWJ1cy14eC1nLXMt ZGlzYWJsZS1wcmVlZGl0LnBhdGNoCiBQYXRjaDkzOiAgICBpYnVzLTc3MTExNS1wcm9wZXJ0eS1j b21wYXRpYmxlLnBhdGNoCi0laWYgJXZhbGFfYnVpbGRfZmFpbHVyZQotIyBYa2wtMS4wLmdpciBj YW5ub3QgYmUgY29udmVydGVkIHRvIHZhcGkuCi0jIGh0dHBzOi8vYnVncy5mcmVlZGVza3RvcC5v cmcvc2hvd19idWcuY2dpP2lkPTQ3MTQxCi1QYXRjaDk0OiAgICBpYnVzLXh4LXZhcGktYnVpbGQt ZmFpbHVyZS5kaWZmCi0lZW5kaWYKKyMgSGlkZSBubyBudXNlZCBwcm9wZXJ0aWVzIGluIGYxNy4K K1BhdGNoOTQ6ICAgIGlidXMteHgtbm8tdXNlLmRpZmYKIAogQnVpbGRSb290OiAgJXtfdG1wcGF0 aH0vJXtuYW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0tcm9vdC0lKCV7X19pZF91fSAtbikKIApA QCAtNzQsNyArNjQsNyBAQCBCdWlsZFJlcXVpcmVzOiAgZGJ1cy1nbGliLWRldmVsCiBCdWlsZFJl cXVpcmVzOiAgZGJ1cy1weXRob24tZGV2ZWwgPj0gJXtkYnVzX3B5dGhvbl92ZXJzaW9ufQogQnVp bGRSZXF1aXJlczogIGRlc2t0b3AtZmlsZS11dGlscwogQnVpbGRSZXF1aXJlczogIGd0ay1kb2MK LSVpZiAlaGF2ZV9kY29uZgorJWlmICV3aXRoX2Rjb25mCiBCdWlsZFJlcXVpcmVzOiAgZGNvbmYt ZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBkYnVzLXgxMQogQnVpbGRSZXF1aXJlczogIHZhbGEKQEAg LTgyLDEyICs3MiwxMiBAQCBCdWlsZFJlcXVpcmVzOiAgdmFsYS10b29scwogJWVuZGlmCiAjIGZv ciBBTV9HQ09ORl9TT1VSQ0VfMiBpbiBjb25maWd1cmUuYWMKIEJ1aWxkUmVxdWlyZXM6ICBHQ29u ZjItZGV2ZWwKLSVpZiAlaGF2ZV9weWdvYmplY3QzCislaWYgJXdpdGhfcHlnb2JqZWN0MwogQnVp bGRSZXF1aXJlczogIGdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXZlbAogJWVuZGlmCiBCdWlsZFJl cXVpcmVzOiAgaW50bHRvb2wKIEJ1aWxkUmVxdWlyZXM6ICBpc28tY29kZXMtZGV2ZWwKLSVpZiAl aGF2ZV9saWJ4a2JmaWxlCislaWYgJXdpdGhfeGtiZmlsZQogQnVpbGRSZXF1aXJlczogIGxpYnhr YmZpbGUtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBsaWJnbm9tZWtiZC1kZXZlbAogJWVuZGlmCkBA IC0xMDMsMTAgKzkzLDEwIEBAIFJlcXVpcmVzOiAgICV7bmFtZX0tZ3RrMiA9ICV7dmVyc2lvbn0t JXtyZWxlYXNlfQogUmVxdWlyZXM6ICAgJXtuYW1lfS1ndGszID0gJXt2ZXJzaW9ufS0le3JlbGVh c2V9CiAlZW5kaWYKIAotJWlmICVoYXZlX3B5Z29iamVjdDIKKyVpZiAld2l0aF9weWdvYmplY3Qy CiBSZXF1aXJlczogICBweWd0azIKICVlbmRpZgotJWlmICVoYXZlX3B5Z29iamVjdDMKKyVpZiAl d2l0aF9weWdvYmplY3QzCiBSZXF1aXJlczogICBweWdvYmplY3QzCiAlZW5kaWYKIFJlcXVpcmVz OiAgIHB5eGRnCkBAIC0xMTQsNyArMTA0LDcgQEAgUmVxdWlyZXM6ICAgaXNvLWNvZGVzCiBSZXF1 aXJlczogICBkYnVzLXB5dGhvbiA+PSAle2RidXNfcHl0aG9uX3ZlcnNpb259CiBSZXF1aXJlczog ICBkYnVzLXgxMQogUmVxdWlyZXM6ICAgaW0tY2hvb3NlcgotJWlmICVoYXZlX2Rjb25mCislaWYg JXdpdGhfZGNvbmYKIFJlcXVpcmVzOiAgIGRjb25mCiAlZWxzZQogUmVxdWlyZXM6ICAgR0NvbmYy CkBAIC0xNzQsNyArMTY0LDcgQEAgUmVxdWlyZXMocG9zdCk6IGdsaWIyID49ICV7Z2xpYl92ZXJ9 CiAlZGVzY3JpcHRpb24gZ3RrMwogVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGlidXMgaW0gbW9kdWxl IGZvciBndGszCiAKLSVpZiAlaGF2ZV9nanNmaWxlCislaWYgJXdpdGhfZ2pzCiAlcGFja2FnZSBn bm9tZTMKIFN1bW1hcnk6ICAgIElCdXMgZ25vbWUtc2hlbGwtZXh0ZW5zaW9uIGZvciBHTk9NRTMK IEdyb3VwOiAgICAgIFN5c3RlbSBFbnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTIxMSwzNSArMjAx LDI4IEBAIFRoZSBpYnVzLWRldmVsLWRvY3MgcGFja2FnZSBjb250YWlucyBkZXZlbG9wZXIgZG9j dW1lbnRhdGlvbiBmb3IgaWJ1cwogCiAlcHJlcAogJXNldHVwIC1xCi0laWYgJWhhdmVfZ2pzZmls ZQorJWlmICV3aXRoX2dqcwogemNhdCAlU09VUkNFMiB8IHRhciB4ZiAtCi0laWYgJWlidXNfZ2pz X2J1aWxkX2ZhaWx1cmUKLWQ9YGJhc2VuYW1lICVTT1VSQ0UyIC50YXIuZ3pgCi1jZCAkZAotIyVw YXRjaDkxIC1wMSAtYiAuZmFpbC1nLXMKLWNkIC4uCi0lZW5kaWYKICVlbmRpZgogCiAlcGF0Y2gw IC1wMQogJXBhdGNoOTIgLXAxIC1iIC5nLXMtcHJlZWRpdAogY3AgY2xpZW50L2d0azIvaWJ1c2lt Y29udGV4dC5jIGNsaWVudC9ndGszL2lidXNpbWNvbnRleHQuYyB8fAotJWlmICVoYXZlX2xpYnhr YmZpbGUKKyVpZiAld2l0aF94a2JmaWxlCiAlcGF0Y2gxIC1wMSAtYiAueGtiCi0laWYgJXZhbGFf YnVpbGRfZmFpbHVyZQotJXBhdGNoOTQgLXAxIC1iIC52YWxhLWZhaWwKLSVlbmRpZgogcm0gLWYg YmluZGluZ3MvdmFsYS9pYnVzLTEuMC52YXBpCiAlZW5kaWYKLSVwYXRjaDIgLXAxIC1iIC5zZXR1 cC1mcmVxdWVudC1sYW5nCi0jICVwYXRjaDMgLXAxIC1iIC5wcmVsb2FkLXN5cworJXBhdGNoMiAt cDEgLWIgLnByZWxvYWQtc3lzCislcGF0Y2gzIC1wMSAtYiAuc2V0dXAtZnJlcXVlbnQtbGFuZwog CiAlaWYgMCV7P2ZlZG9yYX0gPD0gMTYKICVwYXRjaDkzIC1wMSAtYiAuY29tcGF0CiAlZW5kaWYK IAorJXBhdGNoOTQgLXAxIC1iIC5uby11c2VkCisKICVidWlsZAotJWlmICVoYXZlX2xpYnhrYmZp bGUKKyVpZiAld2l0aF94a2JmaWxlCiBYS0JfUFJFTE9BRF9MQVlPVVRTPVwKICJ1cyx1cyhjaHIp LHVzKGR2b3JhayksYWQsYWwsYW0sYXJhLGF6LGJhLGJkLGJlLGJnLGJyLGJ0LGJ5LCJcCiAiZGUs ZGssY2EsY2gsY24odGliKSxjeixlZSxlcG8sZXMsZXQsZmksZm8sZnIsIlwKQEAgLTI2MSw0MSAr MjQ0LDMzIEBAIGF1dG9yZWNvbmYgLWYgLWkKICAgICAtLWVuYWJsZS1ndGstZG9jIFwKICAgICAt LXdpdGgtbm8tc25vb3Blci1hcHBzPSdnbm9tZS1kbyxEby4qLGZpcmVmb3guKiwuKmNocm9tZS4q LC4qY2hyb21pdW0uKicgXAogICAgIC0tZW5hYmxlLXN1cnJvdW5kaW5nLXRleHQgXAotJWlmICVo YXZlX2xpYnhrYmZpbGUKKyVpZiAld2l0aF94a2JmaWxlCiAgICAgLS13aXRoLXhrYi1wcmVsb2Fk LWxheW91dHM9JFhLQl9QUkVMT0FEX0xBWU9VVFMgXAogICAgIC0tZW5hYmxlLXhrYiBcCiAgICAg LS1lbmFibGUtbGliZ25vbWVrYmQgXAogJWVuZGlmCi0laWYgJWhhdmVfZGNvbmYKKyVpZiAld2l0 aF9kY29uZgogICAgIC0tZW5hYmxlLWRjb25mIFwKICAgICAtLWRpc2FibGUtZ2NvbmYgXAogJWVu ZGlmCi0laWYgJWhhdmVfcHlnb2JqZWN0MgorJWlmICV3aXRoX3B5Z29iamVjdDIKICAgICAtLWVu YWJsZS1weXRob24tbGlicmFyeSBcCiAlZW5kaWYKICAgICAtLWVuYWJsZS1pbnRyb3NwZWN0aW9u CiAKLSVpZiAldmFsYV9idWlsZF9mYWlsdXJlCi10b3VjaCB1aS9ndGszL2lidXNfdWlfZ3RrM192 YWxhLnN0YW1wCi10b3VjaCB1aS9ndGszLyouYwotY3AgdWkvZ3RrMy9na2JkbGF5b3V0LmMudHJ1 ZSB1aS9ndGszL2drYmRsYXlvdXQuYworJWlmICV3aXRoX3hrYmZpbGUKK21ha2UgLUMgdWkvZ3Rr MyBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMKICVlbmRpZgotCiAjIG1ha2UgLUMgcG8gdXBkYXRl LWdtbwotbWFrZSAlez9fc21wX21mbGFnc30gXAotICBBTV9ERUZBVUxUX1ZFUkJPU0lUWT0xIFwK LSAgUEtHX0NPTkZJR19QQVRIPS4uOi91c3IvbGliNjQvcGtnY29uZmlnOi91c3IvbGliL3BrZ2Nv bmZpZworbWFrZSAlez9fc21wX21mbGFnc30KIAotJWlmICVoYXZlX2dqc2ZpbGUKKyVpZiAld2l0 aF9nanMKIGQ9YGJhc2VuYW1lICVTT1VSQ0UyIC50YXIuZ3pgCiBjZCAkZAotJWlmICVpYnVzX2dq c19idWlsZF9mYWlsdXJlCi1hdXRvcmVjb25mCi0lZW5kaWYKIGV4cG9ydCBQS0dfQ09ORklHX1BB VEg9Li46L3Vzci9saWI2NC9wa2djb25maWc6L3Vzci9saWIvcGtnY29uZmlnCiAlY29uZmlndXJl IFwKLSAgLS13aXRoLWdub21lLXNoZWxsLXZlcnNpb249IjMuMy45MCwzLjMuNSwzLjMuNCwzLjMu MywzLjIiIFwKLSAgLS13aXRoLWdqcy12ZXJzaW9uPSIxLjMxLjIwLDEuMzEuMTAsMS4zMS42LDEu MzEuMTEsMS4zMCIKKyAgLS13aXRoLWdub21lLXNoZWxsLXZlcnNpb249IjMuNCwzLjMuOTAsMy4z LjUsMy4zLjQsMy4zLjMsMy4yIiBcCisgIC0td2l0aC1nanMtdmVyc2lvbj0iMS4zMiwxLjMxLjIw LDEuMzEuMTAsMS4zMS42LDEuMzEuMTEsMS4zMCIKIG1ha2UgJXs/X3NtcF9tZmxhZ3N9CiBjZCAu LgogJWVuZGlmCkBAIC0zMjksNyArMzA0LDcgQEAgZGVza3RvcC1maWxlLWluc3RhbGwgLS1kZWxl dGUtb3JpZ2luYWwgICAgICAgICAgXAogICAtLWRpciAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGly fS9hcHBsaWNhdGlvbnMgXAogICAkUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS9hcHBsaWNhdGlv bnMvKgogCi0laWYgJWhhdmVfZ2pzZmlsZQorJWlmICV3aXRoX2dqcwogIyBodHRwczovL2J1Z3pp bGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTY1NzE2NQogZD1gYmFzZW5hbWUgJVNPVVJD RTIgLnRhci5nemAKIGNkICRkCkBAIC0zNTIsMTMgKzMyNywxMyBAQCB0b3VjaCAtLW5vLWNyZWF0 ZSAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yIHx8IDoKIAogJXtfc2JpbmRpcn0vYWx0ZXJuYXRp dmVzIC0taW5zdGFsbCAle19zeXNjb25mZGlyfS9YMTEveGluaXQveGlucHV0cmMgeGlucHV0cmMg JXtfeGlucHV0Y29uZn0gODMgfHwgOgogCi0laWYgISVoYXZlX2Rjb25mCislaWYgISV3aXRoX2Rj b25mCiBleHBvcnQgR0NPTkZfQ09ORklHX1NPVVJDRT1gZ2NvbmZ0b29sLTIgLS1nZXQtZGVmYXVs dC1zb3VyY2VgCiBnY29uZnRvb2wtMiAtLW1ha2VmaWxlLWluc3RhbGwtcnVsZSAle19zeXNjb25m ZGlyfS9nY29uZi9zY2hlbWFzL2lidXMuc2NoZW1hcyA+IC9kZXYvbnVsbCAyPiYxIHx8IDoKICVl bmRpZgogCiAlcHJlCi0laWYgISVoYXZlX2Rjb25mCislaWYgISV3aXRoX2Rjb25mCiBpZiBbICIk MSIgLWd0IDEgXTsgdGhlbgogICAgIGV4cG9ydCBHQ09ORl9DT05GSUdfU09VUkNFPWBnY29uZnRv b2wtMiAtLWdldC1kZWZhdWx0LXNvdXJjZWAKICAgICBnY29uZnRvb2wtMiAtLW1ha2VmaWxlLXVu aW5zdGFsbC1ydWxlICV7X3N5c2NvbmZkaXJ9L2djb25mL3NjaGVtYXMvaWJ1cy5zY2hlbWFzID4g L2Rldi9udWxsIDI+JjEgfHwgOgpAQCAtMzY2LDcgKzM0MSw3IEBAIGZpCiAlZW5kaWYKIAogJXBy ZXVuCi0laWYgISVoYXZlX2Rjb25mCislaWYgISV3aXRoX2Rjb25mCiBpZiBbICIkMSIgLWVxIDAg XTsgdGhlbgogICAgIGV4cG9ydCBHQ09ORl9DT05GSUdfU09VUkNFPWBnY29uZnRvb2wtMiAtLWdl dC1kZWZhdWx0LXNvdXJjZWAKICAgICBnY29uZnRvb2wtMiAtLW1ha2VmaWxlLXVuaW5zdGFsbC1y dWxlICV7X3N5c2NvbmZkaXJ9L2djb25mL3NjaGVtYXMvaWJ1cy5zY2hlbWFzID4gL2Rldi9udWxs IDI+JjEgfHwgOgpAQCAtMzg0LDE0ICszNTksMTQgQEAgaWYgWyAiJDEiID0gIjAiIF07IHRoZW4K ICAgIyBpZiBhbHRlcm5hdGl2ZSB3YXMgc2V0IHRvIG1hbnVhbCwgcmVzZXQgdG8gYXV0bwogICBb IC1MICV7X3N5c2NvbmZkaXJ9L2FsdGVybmF0aXZlcy94aW5wdXRyYyAtYSAiYHJlYWRsaW5rICV7 X3N5c2NvbmZkaXJ9L2FsdGVybmF0aXZlcy94aW5wdXRyY2AiID0gIiV7X3hpbnB1dGNvbmZ9IiBd ICYmICV7X3NiaW5kaXJ9L2FsdGVybmF0aXZlcyAtLWF1dG8geGlucHV0cmMgfHwgOgogZmkKLSVp ZiAlaGF2ZV9kY29uZgorJWlmICV3aXRoX2Rjb25mCiBpZiBbICQxIC1lcSAwIF07IHRoZW4KICAg Z2xpYi1jb21waWxlLXNjaGVtYXMgJXtfZGF0YWRpcn0vZ2xpYi0yLjAvc2NoZW1hcwogZmkKICVl bmRpZgogCiAlcG9zdHRyYW5zCi0laWYgJWhhdmVfZGNvbmYKKyVpZiAld2l0aF9kY29uZgogaWYg WyAkMSAtZXEgMCBdOyB0aGVuCiAgIGdsaWItY29tcGlsZS1zY2hlbWFzICV7X2RhdGFkaXJ9L2ds aWItMi4wL3NjaGVtYXMKIGZpCkBAIC00MTcsNyArMzkyLDcgQEAgZmkKICVmaWxlcyAtZiAle25h bWV9MTAubGFuZwogJWRlZmF0dHIoLSxyb290LHJvb3QsLSkKICVkb2MgQVVUSE9SUyBDT1BZSU5H IFJFQURNRQotJWlmICVoYXZlX3B5Z29iamVjdDIKKyVpZiAld2l0aF9weWdvYmplY3QyCiAlZGly ICV7cHl0aG9uX3NpdGVsaWJ9L2lidXMKICV7cHl0aG9uX3NpdGVsaWJ9L2lidXMvKgogJWVuZGlm CkBAIC00MjUsMTIgKzQwMCwxMiBAQCBmaQogJXtfYmluZGlyfS9pYnVzCiAle19iaW5kaXJ9L2li dXMtZGFlbW9uCiAle19iaW5kaXJ9L2lidXMtc2V0dXAKLSVpZiAlaGF2ZV9weWdvYmplY3QzCisl aWYgJXdpdGhfcHlnb2JqZWN0MwogJXtfZGF0YWRpcn0vaWJ1cy8qCiAlZW5kaWYKICV7X2RhdGFk aXJ9L2FwcGxpY2F0aW9ucy8qCiAle19kYXRhZGlyfS9pY29ucy9oaWNvbG9yLyovYXBwcy8qCi0l aWYgJWhhdmVfZGNvbmYKKyVpZiAld2l0aF9kY29uZgogJXtfZGF0YWRpcn0vR0NvbmYvZ3NldHRp bmdzLyoKICV7X2RhdGFkaXJ9L2dsaWItMi4wL3NjaGVtYXMvKi54bWwKICV7X2xpYmV4ZWNkaXJ9 L2lidXMtZW5naW5lLXNpbXBsZQpAQCAtNDQyLDIxICs0MTcsMjEgQEAgZmkKICV7X2xpYmV4ZWNk aXJ9L2lidXMteDExCiAjICV7X3N5c2NvbmZkaXJ9L3hkZy9hdXRvc3RhcnQvaWJ1cy5kZXNrdG9w CiAle19zeXNjb25mZGlyfS9iYXNoX2NvbXBsZXRpb24uZC9pYnVzLmJhc2gKLSVpZiAlaGF2ZV9k Y29uZgorJWlmICV3aXRoX2Rjb25mCiAle19zeXNjb25mZGlyfS9kY29uZi9kYi9pYnVzCiAle19z eXNjb25mZGlyfS9kY29uZi9wcm9maWxlL2lidXMKICVlbHNlCiAle19zeXNjb25mZGlyfS9nY29u Zi9zY2hlbWFzL2lidXMuc2NoZW1hcwogJWVuZGlmCiAlY29uZmlnICV7X3hpbnB1dGNvbmZ9Ci0l aWYgJWhhdmVfbGlieGtiZmlsZQorJWlmICV3aXRoX3hrYmZpbGUKICV7X2xpYmV4ZWNkaXJ9L2li dXMteGtiCiAlZW5kaWYKIAogJWZpbGVzIGxpYnMKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCiAl e19saWJkaXJ9L2xpYmlidXMtJXtpYnVzX2FwaV92ZXJzaW9ufS5zby4qCi0laWYgJWhhdmVfcHln b2JqZWN0MworJWlmICV3aXRoX3B5Z29iamVjdDMKICV7X2xpYmRpcn0vZ2lyZXBvc2l0b3J5LTEu MC9JQnVzLTEuMC50eXBlbGliCiAlZW5kaWYKIApAQCAtNDY4LDcgKzQ0Myw3IEBAIGZpCiAlZGVm YXR0cigtLHJvb3Qscm9vdCwtKQogJXtfbGliZGlyfS9ndGstMy4wLyV7Z3RrM19iaW5hcnlfdmVy c2lvbn0vaW1tb2R1bGVzL2ltLWlidXMuc28KIAotJWlmICVoYXZlX2dqc2ZpbGUKKyVpZiAld2l0 aF9nanMKICVmaWxlcyBnbm9tZTMKICVkZWZhdHRyKC0scm9vdCxyb290LC0pCiAle19kYXRhZGly fS9nbm9tZS1zaGVsbC9qcy91aS9zdGF0dXMvaWJ1cwpAQCAtNDg5LDYgKzQ2NCwxOSBAQCBmaQog JXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sLyoKIAogJWNoYW5nZWxvZworKiBTYXQgTWFyIDE3IDIw MTIgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS40Ljk5LjIwMTIwMzE3 LTEKKy0gQnVtcGVkIHRvIDEuNC45OS4yMDEyMDMxNworICBGaXhlZCBCdWcgNzE4NjY4IC0gZm9j dXMgbW92ZSBpcyBzbG93IHdpdGggaWJ1cy1nbm9tZTMKKyAgRml4ZWQgQnVnIDc0OTQ5NyAtIEVu aGFuY2UgSU1FIGRlc2NyaXB0aW9ucyBpbiBzdGF0dXMgaWNvbiBhY3RpdmUgbWVudQorLSBCdW1w ZWQgdG8gaWJ1cy1nanMgMy4zLjkwLjIwMTIwMzE3CistIEFkZGVkIGlidXMteHgtbm8tdXNlLmRp ZmYKKyAgRml4ZWQgQnVnIDgwMzI2MCAtIERpc2FibGUgbm9uLWdsb2JhbCBpbnB1dCBtZXRob2Qg bW9kZQorLSBVcGRhdGVkIGlidXMtSEVBRC5wYXRjaAorICBGaXhlZCBCdWcgODAzMjUwIC0gaWJ1 cyBsb29rdXAgd2luZG93IGZvbnQgY3VzdG9taXphdGlvbgorICBGaXhlZCBCdWcgODAzMTc3IC0g bGFuZ3VhZ2UgaWQgb24gaWJ1cy11aS1ndGszIHN3aXRjaGVyCistIFVwZGF0ZSBpYnVzLTUzMDcx MS1wcmVsb2FkLXN5cy5wYXRjaAorICBGaXhlZCBCdWcgNzk3MDIzIC0gcG9ydCBwcmVsb2FkIGVu Z2luZXMKKwogKiBUaHUgTWFyIDA4IDIwMTIgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhh dC5jb20+IC0gMS40Ljk5LjIwMTIwMzAzLTMKIC0gQnVtcGVkIHRvIGlidXMtZ2pzIDMuMy45MC4y MDEyMDMwOCB0byB3b3JrIHdpdGggZ25vbWUtc2hlbGwgMy4zLjkwCiAtIEZpeGVkIEJ1ZyA3ODY5 MDYgLSBBZGRlZCBpZm5hcmNoIHBwYyBwcGM2NCBzMzkwIHMzOTB4CgpkaWZmIC0tZ2l0IGEvc291 cmNlcyBiL3NvdXJjZXMKaW5kZXggMTQ3ZWI2Yi4uZWM2ZDU3ZCAxMDA2NDQKLS0tIGEvc291cmNl cworKysgYi9zb3VyY2VzCkBAIC0xLDMgKzEsMyBAQAotMjhjNzdlZDg4OWRiZTI1NTI1ZmRlMTJl NThmMTQwMmIgIGlidXMtMS40Ljk5LjIwMTIwMzA0LnRhci5negotMTEyNzQxOTMwOTNjOWQ3Mjkx ODdiZGNlYTZlODU0NDIgIGlidXMtZ2pzLTMuMy45MC4yMDEyMDMwOC50YXIuZ3oKKzM1MTdiZjJm ZmY4YTFkOWJmYjU1ZTEwNjc0ZDc5ODU5ICBpYnVzLTEuNC45OS4yMDEyMDMxNy50YXIuZ3oKKzk4 MTBmYWJjYTJjNGMxMDgwZGE5MWY4MmEyZWM3Njg0ICBpYnVzLWdqcy0zLjMuOTAuMjAxMjAzMTcu dGFyLmd6CiAyZDJhZDU4ZTNlNDE0MjlkYmQ4ODNiYTdlNTAxYzliMiAgaWJ1cy1nanMtMy4yLjEu MjAxMTEyMzAudGFyLmd6Cg==