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: Alexander Bokovoy To: git-commits@fedoraproject.org Subject: [rpms/freeipa] rawhide: clean up unused patches Date: Sat, 19 Sep 2026 09:22:14 GMT Message-ID: <178980973423.1.6228488323118374647.rpms-freeipa-6b2fbcd10f3f@fedoraproject.org> List-ID: X-Git-Repo: rpms/freeipa X-Git-Branch: rawhide X-Git-Rev: 6b2fbcd10f3f784c5a80f82e5b35854d27916832 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZnJlZWlwYQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAg ICAgIENvbW1pdCA6IDZiMmZiY2QxMGYzZjc4NGM1YTgwZjgyZTViMzU4NTRkMjc5MTY4MzIKICAg ICAgICAgICAgQXV0aG9yIDogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDktMTlUMTE6MTc6MzQrMDM6MDAKICAgICAgICAg ICAgU3RhdHMgIDogKzAvLTI2MTE1IGluIDEzIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDog aHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9mcmVlaXBhL2MvNmIyZmJjZDEwZjNm Nzg0YzVhODBmODJlNWIzNTg1NGQyNzkxNjgzMj9icmFuY2g9cmF3aGlkZQoKICAgICAgICAgICAg TG9nOgogICAgICAgICAgICBjbGVhbiB1cCB1bnVzZWQgcGF0Y2hlcwoKU2lnbmVkLW9mZi1ieTog QWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+CgotLS0KZGlmZiAtLWdpdCBh LzAwMDEtU0VMaW51eC1leHBhbmQtcG9saWN5LWNvdmVyYWdlLWZvci1LZXJiZXJvcy11c2FnZS5w YXRjaCBiLzAwMDEtU0VMaW51eC1leHBhbmQtcG9saWN5LWNvdmVyYWdlLWZvci1LZXJiZXJvcy11 c2FnZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTJiNTNlNy4uMDAwMDAw MAotLS0gYS8wMDAxLVNFTGludXgtZXhwYW5kLXBvbGljeS1jb3ZlcmFnZS1mb3ItS2VyYmVyb3Mt dXNhZ2UucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNDMgKzAsMCBAQAotRnJvbSAxYmEzNDNm YmRmZWMyYmJkNTgwOTM2M2M4ZDFhN2IyZTJjMDkwMTBiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBN b24sIDEyIEphbiAyMDI2IDEwOjU0OjM1ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS8yXSBTRUxp bnV4OiBleHBhbmQgcG9saWN5IGNvdmVyYWdlIGZvciBLZXJiZXJvcyB1c2FnZQotCi0tIFNlcGFy YXRlIFNTU0QgcGFzc3dvcmRsZXNzIGF1dGggaGVscGVycyB0byBzc3NkX21mYV90IGNvbnRleHQg YW5kCi0gIG1vdmUgcnVsZXMgZGVmaW5pbmcgbmV0d29yayBhbmQgcmVzb3VyY2VzIGFjY2VzcyB0 byBpdAotLSBFeHRyYWN0IC92YXIvbGliL2lwYS9wa2kvKiB0byBpcGFfcHVibGljX3BraV90IGZp bGUgY29udGV4dAotLSBBbGxvdyBpcGFfb3RwZF90IGNvbnRleHQgdG8gc3RhcnQgc3NzZF9tZmFf dCBjb250ZXh0IGV4ZWN1dGFibGVzCi0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95 IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gc2VsaW51eC9pcGEuZmMgfCAgIDcgKy0tCi0g c2VsaW51eC9pcGEuaWYgfCAgMzUgKysrKysrKysrKysrKy0tCi0gc2VsaW51eC9pcGEudGUgfCAx MTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQotIDMg ZmlsZXMgY2hhbmdlZCwgMTQ3IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9zZWxpbnV4L2lwYS5mYyBiL3NlbGludXgvaXBhLmZjCi1pbmRleCBmZmFiNTk5MzMu LjI5YWVlMmMyOCAxMDA2NDQKLS0tLSBhL3NlbGludXgvaXBhLmZjCi0rKysgYi9zZWxpbnV4L2lw YS5mYwotQEAgLTgsOCArOCw4IEBACi0gCi0gL3Vzci9saWJleGVjL2lwYS1vdHBkCQktLQlnZW5f Y29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfb3RwZF9leGVjX3QsczApCi0gL3Vzci9saWJl eGVjL2lwYS9pcGEtb3RwZAkJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX290 cGRfZXhlY190LHMwKQotLS91c3IvbGliZXhlYy9zc3NkL29pZGNfY2hpbGQgCS0tIGdlbl9jb250 ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9vdHBkX2V4ZWNfdCxzMCkKLS0vdXNyL2xpYmV4ZWMv c3NzZC9wYXNza2V5X2NoaWxkIAktLSBnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFf b3RwZF9leGVjX3QsczApCi0rL3Vzci9saWJleGVjL3Nzc2Qvb2lkY19jaGlsZCAJLS0gZ2VuX2Nv bnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6c3NzZF9tZmFfZXhlY190LHMwKQotKy91c3IvbGliZXhl Yy9zc3NkL3Bhc3NrZXlfY2hpbGQgCS0tIGdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOnNz c2RfbWZhX2V4ZWNfdCxzMCkKLSAKLSAvdXNyL2xpYmV4ZWMvaXBhL2lwYS1vZHMtZXhwb3J0ZXIJ LS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX29kc19leHBvcnRlcl9leGVjX3Qs czApCi0gCi1AQCAtMjAsNyArMjAsOCBAQAotIC91c3IvbGliZXhlYy9pcGEvb2Rkam9iL29yZ1wu ZnJlZWlwYS4qICAtLSAgZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2hlbHBlcl9l eGVjX3QsczApCi0gCi0gCi0tL3Zhci9saWIvaXBhKC8uKik/ICAgICAgICAgICAgICBnZW5fY29u dGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfdmFyX2xpYl90LHMwKQotKy92YXIvbGliL2lwYS9w a2koLy4qKT8gICAgICAgIGdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9wdWJsaWNf cGtpX3QsczApCi0rL3Zhci9saWIvaXBhKC8uKik/ICAgICAgICAgICAgZ2VuX2NvbnRleHQoc3lz dGVtX3U6b2JqZWN0X3I6aXBhX3Zhcl9saWJfdCxzMCkKLSAKLSAvdmFyL2xpYi9pcGEvZ3NzcHJv eHkvaHR0cC5rZXl0YWIgLS0gZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2h0dHBf a2V5dGFiX3QsczApCi0gCi1kaWZmIC0tZ2l0IGEvc2VsaW51eC9pcGEuaWYgYi9zZWxpbnV4L2lw YS5pZgotaW5kZXggOGYzMTQ3ZTEwLi4wZDI2M2UxZTAgMTAwNjQ0Ci0tLS0gYS9zZWxpbnV4L2lw YS5pZgotKysrIGIvc2VsaW51eC9pcGEuaWYKLUBAIC0xMiwxMSArMTIsMTIgQEAKLSAjCi0gaW50 ZXJmYWNlKGBpcGFfZG9tdHJhbnNfb3RwZCcsYAotIAlnZW5fcmVxdWlyZShgCi0tCQl0eXBlIGlw YV9vdHBkX3QsIGlwYV9vdHBkX2V4ZWNfdDsKLSsJCXR5cGUgaXBhX290cGRfdCwgaXBhX290cGRf ZXhlY190LCBzc3NkX21mYV9leGVjX3Q7Ci0gCScpCi0gCi0gCWNvcmVjbWRfc2VhcmNoX2Jpbigk MSkKLSAJZG9tdHJhbnNfcGF0dGVybigkMSwgaXBhX290cGRfZXhlY190LCBpcGFfb3RwZF90KQot Kwlkb210cmFuc19wYXR0ZXJuKCQxLCBzc3NkX21mYV9leGVjX3QsIGlwYV9vdHBkX3QpCi0gJykK LSAKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1AQCAtMTA4LDEw ICsxMDksMTEgQEAgaW50ZXJmYWNlKGBpcGFfcnVuX2hlbHBlcicsYAotICMKLSBpbnRlcmZhY2Uo YGlwYV9zZWFyY2hfbGliJyxgCi0gCWdlbl9yZXF1aXJlKGAKLS0JCXR5cGUgaXBhX3Zhcl9saWJf dDsKLSsJCXR5cGUgaXBhX3Zhcl9saWJfdCwgaXBhX3B1YmxpY19wa2lfdDsKLSAJJykKLSAKLSAg ICAgc2VhcmNoX2RpcnNfcGF0dGVybigkMSwgaXBhX3Zhcl9saWJfdCwgaXBhX3Zhcl9saWJfdCkK LSsgICAgc2VhcmNoX2RpcnNfcGF0dGVybigkMSwgaXBhX3B1YmxpY19wa2lfdCwgaXBhX3B1Ymxp Y19wa2lfdCkKLSAnKQotIAotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKLUBAIC0xMjYsMTEgKzEyOCwxMyBAQCBpbnRlcmZhY2UoYGlwYV9zZWFyY2hfbGliJyxgCi0g IwotIGludGVyZmFjZShgaXBhX21hbmFnZV9saWInLGAKLSAJZ2VuX3JlcXVpcmUoYAotLQkJdHlw ZSBpcGFfdmFyX2xpYl90OwotKwkJdHlwZSBpcGFfdmFyX2xpYl90LCBpcGFfcHVibGljX3BraV90 OwotIAknKQotIAotICAgICBtYW5hZ2VfZmlsZXNfcGF0dGVybigkMSwgaXBhX3Zhcl9saWJfdCwg aXBhX3Zhcl9saWJfdCkKLSAgICAgbWFuYWdlX2RpcnNfcGF0dGVybigkMSwgaXBhX3Zhcl9saWJf dCwgaXBhX3Zhcl9saWJfdCkKLSsgICAgbWFuYWdlX2ZpbGVzX3BhdHRlcm4oJDEsIGlwYV9wdWJs aWNfcGtpX3QsIGlwYV9wdWJsaWNfcGtpX3QpCi0rICAgIG1hbmFnZV9kaXJzX3BhdHRlcm4oJDEs IGlwYV9wdWJsaWNfcGtpX3QsIGlwYV9wdWJsaWNfcGtpX3QpCi0gJykKLSAKLSAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1AQCAtMTY3LDExICsxNzEsMTQgQEAgaW50 ZXJmYWNlKGBpcGFfcmVhZF9saWInLGAKLSAJZ2VuX3JlcXVpcmUoYAotIAkJdHlwZSBpcGFfaHR0 cF9rZXl0YWJfdDsKLSAJCXR5cGUgaXBhX3Zhcl9saWJfdDsKLSsJCXR5cGUgaXBhX3B1YmxpY19w a2lfdDsKLSAJJykKLSAKLSAgICAgcmVhZF9maWxlc19wYXR0ZXJuKCQxLCBpcGFfdmFyX2xpYl90 LCBpcGFfdmFyX2xpYl90KQotKyAgICByZWFkX2ZpbGVzX3BhdHRlcm4oJDEsIGlwYV9wdWJsaWNf cGtpX3QsIGlwYV9wdWJsaWNfcGtpX3QpCi0gICAgIHJlYWRfZmlsZXNfcGF0dGVybigkMSwgaXBh X2h0dHBfa2V5dGFiX3QsIGlwYV9odHRwX2tleXRhYl90KQotICAgICBsaXN0X2RpcnNfcGF0dGVy bigkMSwgaXBhX3Zhcl9saWJfdCwgaXBhX3Zhcl9saWJfdCkKLSsgICAgbGlzdF9kaXJzX3BhdHRl cm4oJDEsIGlwYV9wdWJsaWNfcGtpX3QsIGlwYV9wdWJsaWNfcGtpX3QpCi0gJykKLSAKLSAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1AQCAtMTk1LDYgKzIwMiwyOCBA QCBpbnRlcmZhY2UoYGlwYV9yZWFkX2h0dHBfa2V5dGFiJyxgCi0gICAgIGxpc3RfZGlyc19wYXR0 ZXJuKCQxLCBpcGFfdmFyX2xpYl90LCBpcGFfdmFyX2xpYl90KQotICcpCi0gCi0rIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMjIDxzdW1tYXJ5PgotKyMjICAgICAg QWxsb3cgZG9tYWluIHRvIHJlYWQgcHVibGljIFBLSSBmaWxlcwotKyMjICAgICAgQWxzbyBnaXZl IGFjY2VzcyB0byByZWFsbWRfdmFyX2xpYl90IGZvciB1cGdyYWRlCi0rIyMgPC9zdW1tYXJ5Pgot KyMjIDxwYXJhbSBuYW1lPSJkb21haW4iPgotKyMjCTxzdW1tYXJ5PgotKyMjCURvbWFpbiBhbGxv d2VkIGFjY2Vzcy4KLSsjIwk8L3N1bW1hcnk+Ci0rIyMgPC9wYXJhbT4KLSsjCi0raW50ZXJmYWNl KGBpcGFfcmVhZF9wdWJsaWNfcGtpJyxgCi0rCWdlbl9yZXF1aXJlKGAKLSsJCXR5cGUgaXBhX3B1 YmxpY19wa2lfdCwgcmVhbG1kX3Zhcl9saWJfdDsKLSsJJykKLSsKLSsgICAgcmVhZF9maWxlc19w YXR0ZXJuKCQxLCBpcGFfcHVibGljX3BraV90LCBpcGFfcHVibGljX3BraV90KQotKyAgICBsaXN0 X2RpcnNfcGF0dGVybigkMSwgaXBhX3B1YmxpY19wa2lfdCwgaXBhX3B1YmxpY19wa2lfdCkKLSsg ICAgcmVhZF9maWxlc19wYXR0ZXJuKCQxLCByZWFsbWRfdmFyX2xpYl90LCByZWFsbWRfdmFyX2xp Yl90KQotKyAgICBsaXN0X2RpcnNfcGF0dGVybigkMSwgcmVhbG1kX3Zhcl9saWJfdCwgcmVhbG1k X3Zhcl9saWJfdCkKLSsnKQotKwotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKLSAjIyA8c3VtbWFyeT4KLSAjIwlBbGxvdyBkb21haW4gdG8gbWFuYWdlIGlwYSBydW4g ZmlsZXMvZGlycy4KLWRpZmYgLS1naXQgYS9zZWxpbnV4L2lwYS50ZSBiL3NlbGludXgvaXBhLnRl Ci1pbmRleCBiNTM1NDA1MTguLjdlYTc3MWExMSAxMDA2NDQKLS0tLSBhL3NlbGludXgvaXBhLnRl Ci0rKysgYi9zZWxpbnV4L2lwYS50ZQotQEAgLTE0LDEyICsxNCwxNSBAQCB0eXBlIGlwYV9vdHBk X3QsIGlwYV9kb21haW47Ci0gdHlwZSBpcGFfb3RwZF9leGVjX3Q7Ci0gaW5pdF9kYWVtb25fZG9t YWluKGlwYV9vdHBkX3QsIGlwYV9vdHBkX2V4ZWNfdCkKLSAKLS0jIGZvciBvaWRjX2NoaWxkIGNv bW11bmljYXRpb24gd2l0aCBJZFBzCi0tY29yZW5ldF90Y3BfY29ubmVjdF9odHRwX3BvcnQoaXBh X290cGRfdCkKLSt0eXBlIHNzc2RfbWZhX3QsIGlwYV9kb21haW47Ci0rdHlwZSBzc3NkX21mYV9l eGVjX3Q7Ci0rY2FuX2V4ZWMoc3NzZF9tZmFfdCxzc3NkX21mYV9leGVjX3QpCi0rCi0ga2VybmVs X2RncmFtX3NlbmQoaXBhX290cGRfdCkKLSBhbGxvdyBpcGFfb3RwZF90IHNlbGY6dW5peF9kZ3Jh bV9zb2NrZXQgeyBjcmVhdGUgZ2V0b3B0IHNldG9wdCB9OwotIGFsbG93IGlwYV9vdHBkX3QgaXBh X290cGRfZXhlY190OmZpbGUgZXhlY3V0ZV9ub190cmFuczsKLSAKLSsKLSB0eXBlIGlwYV9kbnNr ZXlfdCwgaXBhX2RvbWFpbjsKLSB0eXBlIGlwYV9kbnNrZXlfZXhlY190OwotIGluaXRfZGFlbW9u X2RvbWFpbihpcGFfZG5za2V5X3QsIGlwYV9kbnNrZXlfZXhlY190KQotQEAgLTQzLDYgKzQ2LDkg QEAgbG9nZ2luZ19sb2dfZmlsZShpcGFfbG9nX3QpCi0gdHlwZSBpcGFfdmFyX2xpYl90OwotIGZp bGVzX3R5cGUoaXBhX3Zhcl9saWJfdCkKLSAKLSt0eXBlIGlwYV9wdWJsaWNfcGtpX3Q7Ci0rZmls ZXNfdHlwZShpcGFfcHVibGljX3BraV90KQotKwotIHR5cGUgaXBhX2h0dHBfa2V5dGFiX3Q7Ci0g ZmlsZXNfdHlwZShpcGFfaHR0cF9rZXl0YWJfdCkKLSAKLUBAIC04OCw2ICs5NCwyOCBAQCB0eXBl IGlwYV9wa2lfcmV0cmlldmVfa2V5X3Q7Ci0gZG9tYWluX3R5cGUoaXBhX3BraV9yZXRyaWV2ZV9r ZXlfdCkKLSBpbml0X3NjcmlwdF9maWxlKGlwYV9wa2lfcmV0cmlldmVfa2V5X2V4ZWNfdCkKLSAK LSsjIEFsbG93IGRpcnNydiB0byBvcGVyYXRlIHdpdGggQW5vbnltb3VzIFBLSU5JVAotK29wdGlv bmFsX3BvbGljeShgCi0rICBnZW5fcmVxdWlyZShgCi0rICAgICB0eXBlIGRpcnNydl90OwotKyAg JykKLSsgICAKLSsJaXBhX3JlYWRfbGliKGRpcnNydl90KQotKwlpcGFfc2VhcmNoX2xpYihkaXJz cnZfdCkKLSsgICAgICAgIGlwYV9yZWFkX3B1YmxpY19wa2koZGlyc3J2X3QpCi0rJykKLSsKLSsj IEFsbG93IGNlcnRtb25nZXIgdG8gb3BlcmF0ZSB3aXRoIEFub255bW91cyBQS0lOSVQKLStvcHRp b25hbF9wb2xpY3koYAotKyAgZ2VuX3JlcXVpcmUoYAotKyAgICAgdHlwZSBjZXJ0bW9uZ2VyX3Q7 Ci0rICAnKQotKyAgIAotKwlpcGFfcmVhZF9saWIoY2VydG1vbmdlcl90KQotKwlpcGFfc2VhcmNo X2xpYihjZXJ0bW9uZ2VyX3QpCi0rICAgICAgICBpcGFfcmVhZF9wdWJsaWNfcGtpKGNlcnRtb25n ZXJfdCkKLSsnKQotKwotICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK LSAjCi0gIyBpcGFfb3RwZCBsb2NhbCBwb2xpY3kKLUBAIC05OSw2ICsxMjcsNyBAQCBhbGxvdyBp cGFfb3RwZF90IHNlbGY6Zmlmb19maWxlIHJ3X2ZpZm9fZmlsZV9wZXJtczsKLSBhbGxvdyBpcGFf b3RwZF90IHNlbGY6dW5peF9zdHJlYW1fc29ja2V0IGNyZWF0ZV9zdHJlYW1fc29ja2V0X3Blcm1z OwotIAotIHJlYWRfZmlsZXNfcGF0dGVybihpcGFfb3RwZF90LCBpcGFfY2VydF90LCBpcGFfY2Vy dF90KQotK3JlYWRfZmlsZXNfcGF0dGVybihpcGFfb3RwZF90LCBpcGFfcHVibGljX3BraV90LCBp cGFfcHVibGljX3BraV90KQotIHJlYWRfbG5rX2ZpbGVzX3BhdHRlcm4oaXBhX290cGRfdCwgaXBh X2NlcnRfdCwgaXBhX2NlcnRfdCkKLSAKLSBtYW5hZ2VfZGlyc19wYXR0ZXJuKGlwYV9vdHBkX3Qs IGlwYV92YXJfcnVuX3QsIGlwYV92YXJfcnVuX3QpCi1AQCAtMTEwLDcgKzEzOSw2IEBAIGNvcmVu ZXRfdGNwX2Nvbm5lY3RfcmFkaXVzX3BvcnQoaXBhX290cGRfdCkKLSBkZXZfcmVhZF91cmFuZChp cGFfb3RwZF90KQotIGRldl9yZWFkX3JhbmQoaXBhX290cGRfdCkKLSBkZXZfcmVhZF9zeXNmcyhp cGFfb3RwZF90KQotLWRldl9yd19nZW5lcmljX3VzYl9kZXYoaXBhX290cGRfdCkKLSAKLSBzeXNu ZXRfZG5zX25hbWVfcmVzb2x2ZShpcGFfb3RwZF90KQotIAotQEAgLTEyNyw2ICsxNTUsNzUgQEAg b3B0aW9uYWxfcG9saWN5KGAKLSAnKQotIAotIGxvZ2dpbmdfc2VuZF9zeXNsb2dfbXNnKGlwYV9v dHBkX3QpCi0rCi0rIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMK LSsjIHNzc2RfbWZhIGxvY2FsIHBvbGljeQotKyMgYXBwbGllcyB0byBzc3NkJ3Mgb2lkY19jaGls ZCBhbmQgcGFzc2tleV9jaGlsZAotKyMKLSsKLSsjIGZvciBvaWRjX2NoaWxkIGNvbW11bmljYXRp b24gd2l0aCBJZFBzCi0rY29yZW5ldF90Y3BfY29ubmVjdF9odHRwX3BvcnQoc3NzZF9tZmFfdCkK LStrZXJuZWxfZGdyYW1fc2VuZChzc3NkX21mYV90KQotK2FsbG93IHNzc2RfbWZhX3Qgc2VsZjp1 bml4X2RncmFtX3NvY2tldCB7IGNyZWF0ZSBnZXRvcHQgc2V0b3B0IH07Ci0rYWxsb3cgc3NzZF9t ZmFfdCBzc3NkX21mYV9leGVjX3Q6ZmlsZSBleGVjdXRlX25vX3RyYW5zOwotK2FsbG93IHNzc2Rf bWZhX2V4ZWNfdCBmc190OmZpbGVzeXN0ZW0gYXNzb2NpYXRlOwotKyM9PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLSsjIGFsbG93IHJlbGFiZWwgb2YgdGhlIG9sZGVyIGZpbGVzIGR1cmluZyB1 cGdyYWRlCi0rb3B0aW9uYWxfcG9saWN5KGAKLSsgIGdlbl9yZXF1aXJlKGAKLSsgICAgIHR5cGUg c2V0ZmlsZXNfdDsKLSsgICAgIHR5cGUgcnBtX3Q7Ci0rICAgICB0eXBlIHVuY29uZmluZWRfdDsK LSsgICcpCi0rICAgIGFsbG93IHNldGZpbGVzX3Qgc3NzZF9tZmFfZXhlY190OmZpbGUgeyBnZXRh dHRyIG9wZW4gcmVhZCByZWxhYmVsdG8gcmVuYW1lIHNldGF0dHIgdW5saW5rIH07Ci0rICAgIGFs bG93IHJwbV90IHNzc2RfbWZhX2V4ZWNfdDpmaWxlIHsgZ2V0YXR0ciBvcGVuIHJlYWQgcmVsYWJl bHRvIHJlbmFtZSBzZXRhdHRyIHVubGluayB9OwotKyAgICBhbGxvdyB1bmNvbmZpbmVkX3Qgc3Nz ZF9tZmFfZXhlY190OmZpbGUgeyBnZXRhdHRyIG9wZW4gcmVhZCByZWxhYmVsdG8gcmVuYW1lIHNl dGF0dHIgdW5saW5rIH07Ci0rJykKLSsKLStkZXZfcmVhZF91cmFuZChzc3NkX21mYV90KQotK2Rl dl9yZWFkX3JhbmQoc3NzZF9tZmFfdCkKLStkZXZfcmVhZF9zeXNmcyhzc3NkX21mYV90KQotK2Rl dl9yd19nZW5lcmljX3VzYl9kZXYoc3NzZF9tZmFfdCkKLSsKLStzeXNuZXRfZG5zX25hbWVfcmVz b2x2ZShzc3NkX21mYV90KQotKwotK29wdGlvbmFsX3BvbGljeShgCi0rICAgIGRpcnNydl9zdHJl YW1fY29ubmVjdChzc3NkX21mYV90KQotKycpCi0rCi0rb3B0aW9uYWxfcG9saWN5KGAKLSsgICAg a2VyYmVyb3NfdXNlKHNzc2RfbWZhX3QpCi0rJykKLSsKLStvcHRpb25hbF9wb2xpY3koYAotKyAg ICBzc3NkX3N0cmVhbV9jb25uZWN0KHNzc2RfbWZhX3QpCi0rJykKLSsKLStsb2dnaW5nX3NlbmRf c3lzbG9nX21zZyhzc3NkX21mYV90KQotKwotK29wdGlvbmFsX3BvbGljeShgCi0rCWlwYV9yZWFk X2xpYihzc3NkX21mYV90KQotKwlpcGFfc2VhcmNoX2xpYihzc3NkX21mYV90KQotKyAgICAgICAg aXBhX3JlYWRfcHVibGljX3BraShzc3NkX21mYV90KQotKycpCi0rCi0rCi0rIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotKyMKLSsjIHNhbWJhIGxvY2FsIHBvbGljeSBl eHRlbnNpb25zCi0rIwotKwotK29wdGlvbmFsX3BvbGljeShgCi0rICAgIGdlbl9yZXF1aXJlKGAK LSsgICAgICAgIHR5cGUgc21iZF90LCB3aW5iaW5kX3QsIHNhbWJhX25ldF90OwotKyAgICAnKQot KyAgICAgICAgaXBhX3JlYWRfcHVibGljX3BraShzbWJkX3QpCi0rICAgICAgICBpcGFfcmVhZF9w dWJsaWNfcGtpKHdpbmJpbmRfdCkKLSsgICAgICAgIGlwYV9yZWFkX3B1YmxpY19wa2koc2FtYmFf bmV0X3QpCi0rJykKLSsKLSsKLSAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCi0gIwotICMgcGFzc3dvcmQgcG9saWN5IGxvY2FsIHBvbGljeQotQEAgLTE5Niw2ICsyODks MTAgQEAgaXBhX3JlYWRfbGliKGlwYV9oZWxwZXJfdCkKLSAKLSBsb2dnaW5nX3NlbmRfc3lzbG9n X21zZyhpcGFfaGVscGVyX3QpCi0gCi0rb3B0aW9uYWxfcG9saWN5KGAKLSsgICAgaXBhX3JlYWRf cHVibGljX3BraShpcGFfaGVscGVyX3QpCi0rJykKLSsKLSBvcHRpb25hbF9wb2xpY3koYAotICAg ICBkaXJzcnZfc3RyZWFtX2Nvbm5lY3QoaXBhX2hlbHBlcl90KQotICcpCi1AQCAtMjk4LDYgKzM5 NSwxMCBAQCBtaXNjZmlsZXNfcmVhZF9nZW5lcmljX2NlcnRzKGlwYV9kbnNrZXlfdCkKLSAKLSBz eXNuZXRfcmVhZF9jb25maWcoaXBhX2Ruc2tleV90KQotIAotK29wdGlvbmFsX3BvbGljeShgCi0r ICAgIGlwYV9yZWFkX3B1YmxpY19wa2koaXBhX2Ruc2tleV90KQotKycpCi0rCi0gb3B0aW9uYWxf cG9saWN5KGAKLSAgICAgYXBhY2hlX3NlYXJjaF9jb25maWcoaXBhX2Ruc2tleV90KQotICcpCi1A QCAtMzU5LDYgKzQ2MCwxMCBAQCBtaXNjZmlsZXNfcmVhZF9nZW5lcmljX2NlcnRzKGlwYV9vZHNf ZXhwb3J0ZXJfdCkKLSAKLSBzeXNuZXRfcmVhZF9jb25maWcoaXBhX29kc19leHBvcnRlcl90KQot IAotK29wdGlvbmFsX3BvbGljeShgCi0rICAgIGlwYV9yZWFkX3B1YmxpY19wa2koaXBhX29kc19l eHBvcnRlcl90KQotKycpCi0rCi0gb3B0aW9uYWxfcG9saWN5KGAKLSAgICAgYmluZF9zZWFyY2hf Y2FjaGUoaXBhX29kc19leHBvcnRlcl90KQotICcpCi1AQCAtNDUxLDYgKzU1Niw3IEBAIG9wdGlv bmFsX3BvbGljeShgCi0gb3B0aW9uYWxfcG9saWN5KGAKLSAJaXBhX3JlYWRfbGliKGlwYV9jdXN0 b2RpYV90KQotIAlpcGFfc2VhcmNoX2xpYihpcGFfY3VzdG9kaWFfdCkKLSsgICAgICAgIGlwYV9y ZWFkX3B1YmxpY19wa2koaXBhX2N1c3RvZGlhX3QpCi0gJykKLSAKLSBvcHRpb25hbF9wb2xpY3ko YAotQEAgLTU0Nyw2ICs2NTMsNyBAQCBvcHRpb25hbF9wb2xpY3koYAotICAgICAgICAgdHlwZSBn c3Nwcm94eV90OwotICAgICAnKQotICAgICBpcGFfcmVhZF9odHRwX2tleXRhYihnc3Nwcm94eV90 KQotKyAgICBpcGFfcmVhZF9wdWJsaWNfcGtpKGdzc3Byb3h5X3QpCi0gJykKLSAKLSAjIEFsbG93 IENvY2twaXQgdG8gdXNlIEhUVFAga2V5dGFiIG9uIElQQSBzZXJ2ZXJzIGZvciBHU1NBUEkgYXV0 aGVudGljYXRpb24KLUBAIC01NTUsNCArNjYyLDUgQEAgb3B0aW9uYWxfcG9saWN5KGAKLSAgICAg ICAgIHR5cGUgY29ja3BpdF9zZXNzaW9uX3Q7Ci0gICAgICcpCi0gICAgIGlwYV9yZWFkX2h0dHBf a2V5dGFiKGNvY2twaXRfc2Vzc2lvbl90KQotKyAgICBpcGFfcmVhZF9wdWJsaWNfcGtpKGNvY2tw aXRfc2Vzc2lvbl90KQotICcpCi0tLSAKLTIuNTIuMAotCgpkaWZmIC0tZ2l0IGEvMDAwMi1pcGEt c2FtLXVzZS1pbnRlcm5hbC1TYW1iYS1tZXRob2QtdG8tcG9wdWxhdGUtaW4tbWVtLnBhdGNoIGIv MDAwMi1pcGEtc2FtLXVzZS1pbnRlcm5hbC1TYW1iYS1tZXRob2QtdG8tcG9wdWxhdGUtaW4tbWVt LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NThmNTQ1Li4wMDAwMDAwCi0t LSBhLzAwMDItaXBhLXNhbS11c2UtaW50ZXJuYWwtU2FtYmEtbWV0aG9kLXRvLXBvcHVsYXRlLWlu LW1lbS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20gMWMzZjFjZGRi OTk3ZDgxOTc3NGUyZjY1YjUzNDljM2RiZTQ3NGVhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogVGh1 LCAxNSBKYW4gMjAyNiAxMzowNTowNSArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gaXBhLXNh bTogdXNlIGludGVybmFsIFNhbWJhIG1ldGhvZCB0byBwb3B1bGF0ZSBpbi1tZW1vcnkKLSBrZXl0 YWIKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5j b20+Ci0tLS0KLSBkYWVtb25zL2lwYS1zYW0vTWFrZWZpbGUuYW0gfCAxICsKLSBkYWVtb25zL2lw YS1zYW0vaXBhX3NhbS5jICAgfCA1ICsrKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1zYW0vTWFr ZWZpbGUuYW0gYi9kYWVtb25zL2lwYS1zYW0vTWFrZWZpbGUuYW0KLWluZGV4IGY4MDQ1NTMzOS4u Y2I5MDI2MTU0IDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEtc2FtL01ha2VmaWxlLmFtCi0rKysg Yi9kYWVtb25zL2lwYS1zYW0vTWFrZWZpbGUuYW0KLUBAIC00LDYgKzQsNyBAQCBTQU1CQTQwRVhU UkFfTElCUyA9ICQoU0FNQkE0MEVYVFJBX0xJQlBBVEgpCVwKLSAJCQktbHNtYmxkYXAJCVwKLSAJ CQktbCQoTElCUERCX05BTUUpCQkJXAotIAkJCS1sc21iY29uZgkJXAotKwkJCS1sZ3NlLXByaXZh dGUtc2FtYmEJXAotIAkJCSQoTlVMTCkKLSAKLSBBTV9DUFBGTEFHUyA9CQkJCQkJXAotZGlmZiAt LWdpdCBhL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMgYi9kYWVtb25zL2lwYS1zYW0vaXBhX3Nh bS5jCi1pbmRleCBlYTI1OTM0ZDUuLjI2MWE0YjYyZSAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBh LXNhbS9pcGFfc2FtLmMKLSsrKyBiL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMKLUBAIC00ODk1 LDcgKzQ4OTUsNyBAQCBzdGF0aWMga3JiNV9lcnJvcl9jb2RlIGJpbmRfY2FsbGJhY2tfb2J0YWlu X2NyZWRzKHN0cnVjdCBpcGFzYW1fc2FzbF9pbnRlcmFjdF9wcgotIAlyZXR1cm4gcmM7Ci0gfQot IAotLWV4dGVybiBjb25zdCBjaGFyICogbHBfZGVkaWNhdGVkX2tleXRhYl9maWxlKHZvaWQpOwot K2V4dGVybiBrcmI1X2Vycm9yX2NvZGUgZ3NlX2tyYjVfZ2V0X3NlcnZlcl9rZXl0YWIoa3JiNV9j b250ZXh0IGtyYmN0eCwga3JiNV9rZXl0YWIgKmtleXRhYik7Ci0gc3RhdGljIGludCBiaW5kX2Nh bGxiYWNrKExEQVAgKmxkYXBfc3RydWN0LCBzdHJ1Y3Qgc21ibGRhcF9zdGF0ZSAqbGRhcF9zdGF0 ZSwgdm9pZCogaXBhc2FtX3ByaXYpIHsKLSAJa3JiNV9lcnJvcl9jb2RlIHJjOwotIAlrcmI1X2Ny ZWRzICpvdXRfY3JlZHMgPSBOVUxMOwotQEAgLTQ5MzcsNyArNDkzNyw4IEBAIHN0YXRpYyBpbnQg YmluZF9jYWxsYmFjayhMREFQICpsZGFwX3N0cnVjdCwgc3RydWN0IHNtYmxkYXBfc3RhdGUgKmxk YXBfc3RhdGUsIHZvCi0gCQlyZXR1cm4gTERBUF9MT0NBTF9FUlJPUjsKLSAJfQotIAotLQlyYyA9 IGtyYjVfa3RfcmVzb2x2ZShkYXRhLmNvbnRleHQsIGxwX2RlZGljYXRlZF9rZXl0YWJfZmlsZSgp LCAmZGF0YS5rZXl0YWIpOwotKwotKwlyYyA9IGdzZV9rcmI1X2dldF9zZXJ2ZXJfa2V5dGFiKGRh dGEuY29udGV4dCwgJmRhdGEua2V5dGFiKTsKLSAJaWYgKHJjKSB7Ci0gCQliaW5kX2NhbGxiYWNr X2NsZWFudXAoJmRhdGEsIHJjKTsKLSAJCXJldHVybiBMREFQX0xPQ0FMX0VSUk9SOwotLS0gCi0y LjUyLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDUtQWRkLXBhdGgtdG8taWRlbnRpZnktdGhlLXRvbWNh dC12ZXJzaW9uLWZvci1Ub21jYXQtMTAucGF0Y2ggYi8wMDA1LUFkZC1wYXRoLXRvLWlkZW50aWZ5 LXRoZS10b21jYXQtdmVyc2lvbi1mb3ItVG9tY2F0LTEwLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCA2ZWMxYjdmLi4wMDAwMDAwCi0tLSBhLzAwMDUtQWRkLXBhdGgtdG8taWRl bnRpZnktdGhlLXRvbWNhdC12ZXJzaW9uLWZvci1Ub21jYXQtMTAucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw2NSArMCwwIEBACi1Gcm9tIGVkODA5MTg2MGJlMWM0ZDU4MDU1NTk1MzVkNWY0ODI2 MWM2OWMyOWUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8 cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMjMgSnVsIDIwMjUgMTM6MjA6NTAgLTA0 MDAKLVN1YmplY3Q6IFtQQVRDSF0gQWRkIHBhdGggdG8gaWRlbnRpZnkgdGhlIHRvbWNhdCB2ZXJz aW9uIGZvciBUb21jYXQgMTAKLQotVG9tY2F0IGluIEZlZG9yYSBwcmV2aW91c2x5IHVzZWQgc29t ZSBkaWZmZXJlbnQgbG9jYXRpb25zCi1mb3Igc2NyaXB0cyB0aGFuIHVwc3RyZWFtIHRvbWNhdC4g SW4gRmVkb3JhIDQ1IHRoZXNlCi1jdXN0b21pemF0aW9ucyBhcmUgYmVpbmcgZHJvcHBlZC4KLQot SW5zdGVhZCBvZiBiZWluZyBhYmxlIHRvIGNhbGwgL3Vzci9zYmluL3RvbWNhdCBkaXJlY3RseSB0 aGUKLXNjcmlwdHMgYXJlIHNwbGl0IGJldHdlZW4gL3Vzci9saWJleGVjIGFuZCAvdXNyL3NoYXJl L3RvbWNhdC9iaW4uCi0KLVdlIHVzZWQgdG8gY2FsbCAvdXNyL3NiaW4vdG9tY2F0IHRvIGdldCB0 aGUgdmVyc2lvbiBudW1iZXIgZm9yCi1iYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4gV2UgY2FuIHVz ZSB0aGUgc2NyaXB0IHZlcnNpb24uc2gKLWluc3RlYWQgb2YgY2FsbGluZyB0b21jYXQvY2F0YWxp bmEuc2ggZGlyZWN0bHkuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3Vl Lzk4MzIKLQotU2lnbmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5j b20+Ci0tLS0KLSBpcGFwbGF0Zm9ybS9mZWRvcmEvcGF0aHMucHkgfCAzICsrKwotIGlwYXBsYXRm b3JtL3JoZWwvcGF0aHMucHkgICB8IDMgKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlv bnMoKykKLQotZGlmZiAtLWdpdCBhL2lwYXBsYXRmb3JtL2ZlZG9yYS9wYXRocy5weSBiL2lwYXBs YXRmb3JtL2ZlZG9yYS9wYXRocy5weQotaW5kZXggNGU5OTNjMDYzZTIuLjJlYTQzZjczMjRkIDEw MDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vZmVkb3JhL3BhdGhzLnB5Ci0rKysgYi9pcGFwbGF0Zm9y bS9mZWRvcmEvcGF0aHMucHkKLUBAIC0yNyw2ICsyNyw3IEBACi0gCi0gZnJvbSBpcGFwbGF0Zm9y bS5yZWRoYXQucGF0aHMgaW1wb3J0IFJlZEhhdFBhdGhOYW1lc3BhY2UKLSBmcm9tIGlwYXBsYXRm b3JtLmZlZG9yYS5jb25zdGFudHMgaW1wb3J0IEhBU19ORlNfQ09ORgotK2Zyb20gaXBhcGxhdGZv cm0ub3NpbmZvIGltcG9ydCBvc2luZm8KLSAKLSAKLSBjbGFzcyBGZWRvcmFQYXRoTmFtZXNwYWNl KFJlZEhhdFBhdGhOYW1lc3BhY2UpOgotQEAgLTM2LDYgKzM3LDggQEAgY2xhc3MgRmVkb3JhUGF0 aE5hbWVzcGFjZShSZWRIYXRQYXRoTmFtZXNwYWNlKToKLSAgICAgTkFNRURfQ1JZUFRPX1BPTElD WV9GSUxFID0gIi9ldGMvY3J5cHRvLXBvbGljaWVzL2JhY2stZW5kcy9iaW5kLmNvbmZpZyIKLSAg ICAgaWYgSEFTX05GU19DT05GOgotICAgICAgICAgU1lTQ09ORklHX05GUyA9ICcvZXRjL25mcy5j b25mJwotKyAgICBpZiBvc2luZm8udmVyc2lvbl9udW1iZXIgPj0gKDQ1LCk6Ci0rICAgICAgICBC SU5fVE9NQ0FUID0gIi91c3Ivc2hhcmUvdG9tY2F0L2Jpbi92ZXJzaW9uLnNoIgotIAotIAotIHBh dGhzID0gRmVkb3JhUGF0aE5hbWVzcGFjZSgpCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vcmhl bC9wYXRocy5weSBiL2lwYXBsYXRmb3JtL3JoZWwvcGF0aHMucHkKLWluZGV4IDM2MzE1NTBlYmE1 Li5mMzQ4NTA5ZTFiNyAxMDA2NDQKLS0tLSBhL2lwYXBsYXRmb3JtL3JoZWwvcGF0aHMucHkKLSsr KyBiL2lwYXBsYXRmb3JtL3JoZWwvcGF0aHMucHkKLUBAIC0yNywxMiArMjcsMTUgQEAKLSAKLSBm cm9tIGlwYXBsYXRmb3JtLnJlZGhhdC5wYXRocyBpbXBvcnQgUmVkSGF0UGF0aE5hbWVzcGFjZQot IGZyb20gaXBhcGxhdGZvcm0ucmhlbC5jb25zdGFudHMgaW1wb3J0IEhBU19ORlNfQ09ORgotK2Zy b20gaXBhcGxhdGZvcm0ub3NpbmZvIGltcG9ydCBvc2luZm8KLSAKLSAKLSBjbGFzcyBSSEVMUGF0 aE5hbWVzcGFjZShSZWRIYXRQYXRoTmFtZXNwYWNlKToKLSAgICAgTkFNRURfQ1JZUFRPX1BPTElD WV9GSUxFID0gIi9ldGMvY3J5cHRvLXBvbGljaWVzL2JhY2stZW5kcy9iaW5kLmNvbmZpZyIKLSAg ICAgaWYgSEFTX05GU19DT05GOgotICAgICAgICAgU1lTQ09ORklHX05GUyA9ICcvZXRjL25mcy5j b25mJwotKyAgICBpZiBvc2luZm8udmVyc2lvbl9udW1iZXIgPj0gKDExLDApOgotKyAgICAgICAg QklOX1RPTUNBVCA9ICIvdXNyL3NoYXJlL3RvbWNhdC9iaW4vdmVyc2lvbi5zaCIKLSAKLSAKLSBw YXRocyA9IFJIRUxQYXRoTmFtZXNwYWNlKCkKCmRpZmYgLS1naXQgYS9mcmVlaXBhLTQtMTItMi1w b3N0LXVwZGF0ZXMtMS5wYXRjaCBiL2ZyZWVpcGEtNC0xMi0yLXBvc3QtdXBkYXRlcy0xLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTg3ZTcwLi4wMDAwMDAwCi0tLSBhL2Zy ZWVpcGEtNC0xMi0yLXBvc3QtdXBkYXRlcy0xLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTQ1 MzkgKzAsMCBAQAotRnJvbSBhZDRiN2Y2Y2VkYWVkNTRhY2YyNzkwMzNiNjUwMDEwYzY1ZmFjZTEw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJl ZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIwIEF1ZyAyMDI0IDE0OjUyOjAzICswNTMwCi1TdWJqZWN0 OiBbUEFUQ0ggMDAzLzExNl0gaXBhdGVzdHM6IENoZWNrIERlZmF1bHQgUEFDIHR5cGUgaXMgYWRk ZWQgdG8gY29uZmlnCi0KLVRoaXMgcGF0Y2ggY2hlY2tzIHRoYXQgdGhlIGRlZmF1bHQgUEFDIHR5 cGUKLWlzIGFkZGVkIHRvIGNvbmZpZ3VyYXRpb24gaS5lIGlwYUtyYkF1dGh6RGF0YTogTVMtUEFD Ci1kdXJpbmcgaXBhLXNlcnZlci1pbnN0YWxsYXRpb24KLQotVGhlIHBhdGNoIGFsc28gY2hlY2tz IHRoYXQgaWYgJ2lwYUtyYkF1dGh6RGF0YTogTVMtUEFDJwotYXR0cmlidXRlIGlzIGRlbGV0ZWQg YW5kIHRoZW4gd2hlbiB3ZSBydW4gJ2lwYS1zZXJ2ZXItdXBncmFkZScKLWNvbW1hbmQgdGhlIGF0 dHJpYnV0ZSBpcyBhZGRlZCBiYWNrLgotCi1SZWxhdGVkOiBodHRwczovL3BhZ3VyZS5pby9mcmVl aXBhL2lzc3VlLzk2MzIKLQotU2lnbmVkLW9mZi1ieTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLS0tLQotIC4uLi90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0aW9uLnB5ICAg ICB8IDE1ICsrKysrKysrKysrCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3VwZ3Jh ZGUucHkgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrLQotIDIgZmlsZXMgY2hhbmdlZCwgNDAg aW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2luc3RhbGxhdGlvbi5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9pbnN0YWxsYXRpb24ucHkKLWluZGV4IGFkYTQzZTMzZi4uYzU1NjVjNDUyIDEw MDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2luc3RhbGxhdGlvbi5w eQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2luc3RhbGxhdGlvbi5weQot QEAgLTExOTAsNiArMTE5MCwyMSBAQCBjbGFzcyBUZXN0SW5zdGFsbE1hc3RlcihJbnRlZ3JhdGlv blRlc3QpOgotICAgICAgICAgICAgICAgICBleHBlY3RlZF9zdGRvdXQ9ZidocmVmPSJodHRwczov L3tzZWxmLm1hc3Rlci5ob3N0bmFtZX0vJwotICAgICAgICAgICAgICkKLSAKLSsgICAgZGVmIHRl c3RfcGFjX2NvbmZpZ3VyYXRpb25fZW5hYmxlZChzZWxmKToKLSsgICAgICAgICIiIgotKyAgICAg ICAgVGhpcyB0ZXN0Y2FzZSBjaGVja3MgdGhhdCB0aGUgZGVmYXVsdCBQQUMgdHlwZQotKyAgICAg ICAgaXMgYWRkZWQgdG8gY29uZmlndXJhdGlvbi4KLSsgICAgICAgICIiIgotKyAgICAgICAgYmFz ZV9kbiA9IHN0cihzZWxmLm1hc3Rlci5kb21haW4uYmFzZWRuKQotKyAgICAgICAgZG4gPSBETigK LSsgICAgICAgICAgICAoImNuIiwgImlwYUNvbmZpZyIpLAotKyAgICAgICAgICAgICgiY24iLCAi ZXRjIiksCi0rICAgICAgICAgICAgYmFzZV9kbgotKyAgICAgICAgKQotKyAgICAgICAgcmVzdWx0 ID0gdGFza3MubGRhcHNlYXJjaF9kbShzZWxmLm1hc3Rlciwgc3RyKGRuKSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJpcGFLcmJBdXRoekRhdGEiXSkKLSsgICAgICAg IGFzc2VydCAnaXBhS3JiQXV0aHpEYXRhOiBNUy1QQUMnIGluIHJlc3VsdC5zdGRvdXRfdGV4dAot KwotICAgICBkZWYgdGVzdF9ob3N0bmFtZV9wYXJhbWV0ZXIoc2VsZiwgc2VydmVyX2NsZWFudXAp OgotICAgICAgICAgIiIiCi0gICAgICAgICBUZXN0IHRoYXQgLS1ob3N0bmFtZSBwYXJhbWV0ZXIg aXMgcmVzcGVjdGVkIGluIGludGVyYWN0aXZlIG1vZGUuCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMv dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3VwZ3JhZGUucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3RfdXBncmFkZS5weQotaW5kZXggMDExZGU5MzllLi5hMGYzOTM3ODAgMTAwNjQ0Ci0t LS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfdXBncmFkZS5weQotKysrIGIvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3VwZ3JhZGUucHkKLUBAIC0xNjUsNyArMTY1LDYg QEAgY2xhc3MgVGVzdFVwZ3JhZGUoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICAgICAgICAg bGRhcC51cGRhdGVfZW50cnkobG9jYXRpb25fa3JiX3JlYykKLSAKLSAgICAgICAgIHlpZWxkIF9z ZXR1cF9sb2NhdGlvbnMKLS0KLSAgICAgICAgIGxkYXAgPSBzZWxmLm1hc3Rlci5sZGFwX2Nvbm5l Y3QoKQotIAotICAgICAgICAgbW9kaWZpZWQgPSBGYWxzZQotQEAgLTQ5MSwzICs0OTAsMjggQEAg Y2xhc3MgVGVzdFVwZ3JhZGUoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgIHRhc2tzLnJlaW5z dGFsbF9wYWNrYWdlcyhzZWxmLm1hc3RlciwgWycqaXBhLWNsaWVudCddKQotICAgICAgICAgYXNz ZXJ0IG5vdCBzZWxmLm1hc3Rlci50cmFuc3BvcnQuZmlsZV9leGlzdHMoCi0gICAgICAgICAgICAg cGF0aHMuU1NIX0NPTkZJRyArICIub3JpZyIpCi0rCi0rICAgIGRlZiB0ZXN0X21zcGFjX2F0dHJp YnV0ZV9zZXQoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdGNhc2UgZGVs ZXRlcyB0aGUgYWxyZWFkeSBleGlzdGluZyBhdHRyaWJ1dGUKLSsgICAgICAgICdpcGFLcmJBdXRo ekRhdGE6IE1TLVBBQycuCi0rICAgICAgICBUaGUgdGVzdCB0aGVuIHJ1bnMgaXBhLXNlcnZlci11 cGdyYWRlIGFuZCBjaGVja3MgdGhhdAotKyAgICAgICAgdGhlIGF0dHJpYnV0ZSAnaXBhS3JiQXV0 aHpEYXRhOiBNUy1QQUMnIGlzIGFkZGVkIGFnYWluLgotKyAgICAgICAgIiIiCi0rICAgICAgICBi YXNlX2RuID0gc3RyKHNlbGYubWFzdGVyLmRvbWFpbi5iYXNlZG4pCi0rICAgICAgICBkbiA9IERO KAotKyAgICAgICAgICAgICgiY24iLCAiaXBhQ29uZmlnIiksCi0rICAgICAgICAgICAgKCJjbiIs ICJldGMiKSwKLSsgICAgICAgICAgICBiYXNlX2RuCi0rICAgICAgICApCi0rICAgICAgICBsZGlm ID0gdGV4dHdyYXAuZGVkZW50KCIiIgotKyAgICAgICAgICAgICBkbjogY249aXBhQ29uZmlnLGNu PWV0Yyx7fQotKyAgICAgICAgICAgICBjaGFuZ2V0eXBlOiBtb2RpZnkKLSsgICAgICAgICAgICAg ZGVsZXRlOiBpcGFLcmJBdXRoekRhdGEKLSsgICAgICAgICIiIikuZm9ybWF0KGJhc2VfZG4pCi0r ICAgICAgICB0YXNrcy5sZGFwbW9kaWZ5X2RtKHNlbGYubWFzdGVyLCBsZGlmKQotKyAgICAgICAg dGFza3Mua2luaXRfYWRtaW4oc2VsZi5tYXN0ZXIpCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5f Y29tbWFuZChbJ2lwYS1zZXJ2ZXItdXBncmFkZSddKQotKyAgICAgICAgcmVzdWx0ID0gdGFza3Mu bGRhcHNlYXJjaF9kbShzZWxmLm1hc3Rlciwgc3RyKGRuKSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyJpcGFLcmJBdXRoekRhdGEiXSkKLSsgICAgICAgIGFzc2VydCAn aXBhS3JiQXV0aHpEYXRhOiBNUy1QQUMnIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotLS0gCi0yLjQ5 LjAKLQotCi1Gcm9tIDQyZWI5N2VlNmJkODAxMWI1OTBhZWYzMjFkNDM4NmVhOTM1MjkzM2QgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lA cmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMjggQXVnIDIwMjQgMTA6MDI6MTkgKzAzMDAKLVN1Ympl Y3Q6IFtQQVRDSCAwMDQvMTE2XSBzZWxpbnV4OiBhZGQgYWxsIElQQSBsb2cgZmlsZXMgdG8gaXBh X2xvZ190IGZpbGUKLSBjb250ZXh0Ci0KLVdlIGhhdmUgbXVsdGlwbGUgbG9nIGZpbGVzIHRoYXQg cHJvZHVjZWQgYnkgSVBBIGNvbXBvbmVudHMuIFNvbWUgb2YgdGhlbQotYXJlIHdyaXR0ZW4gYnkg dGhlIHRvb2xzIHRoYXQgcnVuIGFzIHJvb3QgYW5kIGluaGVyaXQgdGhlaXIgZmlsZSBjb250ZXh0 Ci1mcm9tIC92YXIvbG9nIC0+IHZhcl9sb2dfdC4gSG93ZXZlciwgaW5jcmVhc2luZ2x5IHdlIGdl dCB0b29scyB0aGF0IHdlcmUKLXJ1biB0aHJvdWdoIG9kZGpvYiBoZWxwZXJzLiBUaGVzZSBzdXBw b3NlZCB0byBiZSBydW4gd2l0aGluIGlwYV9oZWxwZXJfdAotU0VMaW51eCBjb250ZXh0IHdoaWNo IGhhcyB3cml0ZSBwZXJtaXNzaW9ucyBmb3IgaXBhX2xvZ190IGZpbGUgY29udGV4dC4KLQotQWRk IGFsbCBrbm93biBsb2cgZmlsZXMgZnJvbSB0aGUgYmFzZSBwbGF0Zm9ybS4gVGhlIGZvbGxvd2lu ZyBzY3JpcHQgd2FzCi11c2VkIHRvIGdlbmVyYXRlIHRoZW06Ci0kIGdpdCBncmVwICdfTE9HID0g LippcGEuKlwubG9nJyBpcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5IHwgY3V0IC1kPSAtZjIgfCBc Ci0gICAgICB4YXJncyAtSSUgZWNobyAtZSAiJVx0LS1cdGdlbl9jb250ZXh0KHN5c3RlbV91Om9i amVjdF9yOmlwYV9sb2dfdCxzMCkiCi0KLS92YXIvbG9nL2lwYWJhY2t1cC5sb2cJLS0JZ2VuX2Nv bnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cvaXBhY2xpZW50 LWluc3RhbGwubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxz MCkKLS92YXIvbG9nL2lwYWNsaWVudC11bmluc3RhbGwubG9nCS0tCWdlbl9jb250ZXh0KHN5c3Rl bV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLS92YXIvbG9nL2lwYWNsaWVudHNhbWJhLWluc3Rh bGwubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLS92 YXIvbG9nL2lwYWNsaWVudHNhbWJhLXVuaW5zdGFsbC5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVt X3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cvaXBhcmVwbGljYS1jYS1pbnN0YWxs LmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0vdmFy L2xvZy9pcGFyZXBsaWNhLWNvbm5jaGVjay5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2Jq ZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cvaXBhcmVwbGljYS1pbnN0YWxsLmxvZwktLQln ZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0vdmFyL2xvZy9pcGFy ZXN0b3JlLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczAp Ci0vdmFyL2xvZy9pcGFzZXJ2ZXItZW5hYmxlLXNpZC5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVt X3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cvaXBhc2VydmVyLWluc3RhbGwubG9n CS0tCWdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLS92YXIvbG9n L2lwYXNlcnZlci1hZHRydXN0LWluc3RhbGwubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91Om9i amVjdF9yOmlwYV9sb2dfdCxzMCkKLS92YXIvbG9nL2lwYXNlcnZlci1kbnMtaW5zdGFsbC5sb2cJ LS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cv aXBhc2VydmVyLWtyYS1pbnN0YWxsLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3Rf cjppcGFfbG9nX3QsczApCi0vdmFyL2xvZy9pcGFzZXJ2ZXItdW5pbnN0YWxsLmxvZwktLQlnZW5f Y29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0vdmFyL2xvZy9pcGF1cGdy YWRlLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0v dmFyL2xvZy9pcGF0cnVzdC1lbmFibGUtYWdlbnQubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91 Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLS92YXIvbG9nL2lwYWVwbi5sb2cJLS0JZ2VuX2NvbnRl eHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotL3Zhci9sb2cvaXBhLWN1c3RvZGlh LmF1ZGl0LmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczAp Ci0vdmFyL2xvZy9pcGEtbWlncmF0ZS5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0 X3I6aXBhX2xvZ190LHMwKQotCi1pcGEtY3VzdG9kaWEuYXVkaXQubG9nIHdhcyBhbHJlYWR5IGlu IHRoZSBwcmVzZW50IGxpc3QuCi0KLUFkZGl0aW9uYWxseSwgaXBhLW1pZ3JhdGUtY29uZmxpY3Qu bGRpZiBpcyB1c2VkIGJ5IHRoZSBpcGEtbWlncmF0ZSB0b29sCi1idXQgaXMgbm90IHByb3ZpZGVk IHRocm91Z2ggdGhlIGlwYXBsYXRmb3JtIG1lY2hhbmlzbS4gSXQgaXMgYWRkZWQKLWV4cGxpY2l0 bHkuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NTQKLQotU2ln bmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIHNl bGludXgvaXBhLmZjIHwgMjEgKysrKysrKysrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQs IDIwIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NlbGludXgv aXBhLmZjIGIvc2VsaW51eC9pcGEuZmMKLWluZGV4IDcwMGUzYTE0YS4uNDdiZDE5YmE3IDEwMDY0 NAotLS0tIGEvc2VsaW51eC9pcGEuZmMKLSsrKyBiL3NlbGludXgvaXBhLmZjCi1AQCAtMjQsNyAr MjQsMjYgQEAKLSAKLSAvdmFyL2xvZy9pcGEoLy4qKT8gICAgICAgICAgICAgIGdlbl9jb250ZXh0 KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSAKLS0vdmFyL2xvZy9pcGFyZXBsaWNh LWNvbm5jaGVjay5sb2cuKgktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9n X3QsczApCi0rL3Zhci9sb2cvaXBhYmFja3VwLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpv YmplY3RfcjppcGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhY2xpZW50LWluc3RhbGwubG9nCS0t CWdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSsvdmFyL2xvZy9p cGFjbGllbnQtdW5pbnN0YWxsLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3Rfcjpp cGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhY2xpZW50c2FtYmEtaW5zdGFsbC5sb2cJLS0JZ2Vu X2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotKy92YXIvbG9nL2lwYWNs aWVudHNhbWJhLXVuaW5zdGFsbC5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6 aXBhX2xvZ190LHMwKQotKy92YXIvbG9nL2lwYXJlcGxpY2EtY2EtaW5zdGFsbC5sb2cJLS0JZ2Vu X2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotKy92YXIvbG9nL2lwYXJl cGxpY2EtY29ubmNoZWNrLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFf bG9nX3QsczApCi0rL3Zhci9sb2cvaXBhcmVwbGljYS1pbnN0YWxsLmxvZwktLQlnZW5fY29udGV4 dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhcmVzdG9yZS5s b2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotKy92YXIv bG9nL2lwYXNlcnZlci1lbmFibGUtc2lkLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmpl Y3RfcjppcGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhc2VydmVyLWluc3RhbGwubG9nCS0tCWdl bl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSsvdmFyL2xvZy9pcGFz ZXJ2ZXItYWR0cnVzdC1pbnN0YWxsLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3Rf cjppcGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhc2VydmVyLWRucy1pbnN0YWxsLmxvZwktLQln ZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBh c2VydmVyLWtyYS1pbnN0YWxsLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3Rfcjpp cGFfbG9nX3QsczApCi0rL3Zhci9sb2cvaXBhc2VydmVyLXVuaW5zdGFsbC5sb2cJLS0JZ2VuX2Nv bnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotKy92YXIvbG9nL2lwYXVwZ3Jh ZGUubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSsv dmFyL2xvZy9pcGF0cnVzdC1lbmFibGUtYWdlbnQubG9nCS0tCWdlbl9jb250ZXh0KHN5c3RlbV91 Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSsvdmFyL2xvZy9pcGFlcG4ubG9nCS0tCWdlbl9jb250 ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9sb2dfdCxzMCkKLSsvdmFyL2xvZy9pcGEtbWlncmF0 ZS5sb2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotKy92 YXIvbG9nL2lwYS1taWdyYXRlLWNvbmZsaWN0LmxkaWYJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6 b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotIAotIC92YXIvcnVuL2lwYSgvLiopPyAgICAgICAgICAg ICAgZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX3Zhcl9ydW5fdCxzMCkKLSAKLS0t IAotMi40OS4wCi0KLQotRnJvbSBhYTQ2NTE1MjZlNjY5N2UxNWNlNDk2MGJmMWQxNWQxMzg5ODg5 YzdmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogImFzaGFyb3ZAcmVkaGF0LmNvbSIg PGFzaGFyb3ZAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMjQgSnVuIDIwMjQgMTU6MzM6MzQgKzAy MDAKLVN1YmplY3Q6IFtQQVRDSCAwMDUvMTE2XSBBZGQgaXBhLWlkcmFuZ2UtZml4Ci0KLWlwYS1p ZHJhbmdlLWZpeCBpcyBhIHRvb2wgZm9yIGFuYWx5c2lzIG9mIGV4aXN0aW5nIElQQSByYW5nZXMs IHVzZXJzCi1hbmQgZ3JvdXBzIG91dHNpZGUgb2YgdGhvc2UgcmFuZ2VzLCBhbmQgZnVuY3Rpb25h bGl0eSB0byBwcm9wb3NlCi1hbmQgYXBwbHkgcmVtZWRpYXRpb25zIHRvIG1ha2Ugc3VyZSBhcyBt dWNoIHVzZXJzIGFuZCBncm91cHMgYXMKLXBvc3NpYmxlIGVuZCB1cCBpbiB0aGUgSVBBLW1hbmFn ZWQgcmFuZ2VzLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjEy Ci0KLVNpZ25lZC1vZmYtYnk6IEFsZWtzYW5kciBTaGFyb3YgPGFzaGFyb3ZAcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmll d2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGZyZWVp cGEuc3BlYy5pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwotIGluc3Rh bGwvdG9vbHMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICB8ICAgIDIgKwotIGluc3Rh bGwvdG9vbHMvaXBhLWlkcmFuZ2UtZml4LmluICAgICAgICAgICAgICB8ICAgIDggKwotIGluc3Rh bGwvdG9vbHMvbWFuL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgIDEgKwotIGluc3Rh bGwvdG9vbHMvbWFuL2lwYS1pZHJhbmdlLWZpeC4xICAgICAgICAgICB8ICAxMTEgKysKLSBpcGFz ZXJ2ZXIvaW5zdGFsbC9pcGFfaWRyYW5nZV9maXgucHkgICAgICAgICAgfCAxMDg1ICsrKysrKysr KysrKysrKysrCi0gLi4uL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaWRyYW5nZV9maXgucHkg IHwgIDE4OSArKysKLSA3IGZpbGVzIGNoYW5nZWQsIDEzOTggaW5zZXJ0aW9ucygrKQotIGNyZWF0 ZSBtb2RlIDEwMDY0NCBpbnN0YWxsL3Rvb2xzL2lwYS1pZHJhbmdlLWZpeC5pbgotIGNyZWF0ZSBt b2RlIDEwMDY0NCBpbnN0YWxsL3Rvb2xzL21hbi9pcGEtaWRyYW5nZS1maXguMQotIGNyZWF0ZSBt b2RlIDEwMDY0NCBpcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfaWRyYW5nZV9maXgucHkKLSBjcmVhdGUg bW9kZSAxMDA2NDQgaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pZHJhbmdlX2Zp eC5weQotCi1kaWZmIC0tZ2l0IGEvZnJlZWlwYS5zcGVjLmluIGIvZnJlZWlwYS5zcGVjLmluCi1p bmRleCBlMzcwMjkwYmMuLjE3MWI2YWQyNyAxMDA3NTUKLS0tLSBhL2ZyZWVpcGEuc3BlYy5pbgot KysrIGIvZnJlZWlwYS5zcGVjLmluCi1AQCAtMTUxNyw2ICsxNTE3LDcgQEAgZmkKLSAle19zYmlu ZGlyfS9pcGEtcGtpbml0LW1hbmFnZQotICV7X3NiaW5kaXJ9L2lwYS1jcmxnZW4tbWFuYWdlCi0g JXtfc2JpbmRpcn0vaXBhLWNlcnQtZml4Ci0rJXtfc2JpbmRpcn0vaXBhLWlkcmFuZ2UtZml4Ci0g JXtfc2JpbmRpcn0vaXBhLWFjbWUtbWFuYWdlCi0gJXtfc2JpbmRpcn0vaXBhLW1pZ3JhdGUKLSAl aWYgMCV7P2ZlZG9yYX0gPj0gMzgKLUBAIC0xNTk2LDYgKzE1OTcsNyBAQCBmaQotICV7X21hbmRp cn0vbWFuMS9pcGEtcGtpbml0LW1hbmFnZS4xKgotICV7X21hbmRpcn0vbWFuMS9pcGEtY3JsZ2Vu LW1hbmFnZS4xKgotICV7X21hbmRpcn0vbWFuMS9pcGEtY2VydC1maXguMSoKLSsle19tYW5kaXJ9 L21hbjEvaXBhLWlkcmFuZ2UtZml4LjEqCi0gJXtfbWFuZGlyfS9tYW4xL2lwYS1hY21lLW1hbmFn ZS4xKgotICV7X21hbmRpcn0vbWFuMS9pcGEtbWlncmF0ZS4xKgotIAotZGlmZiAtLWdpdCBhL2lu c3RhbGwvdG9vbHMvTWFrZWZpbGUuYW0gYi9pbnN0YWxsL3Rvb2xzL01ha2VmaWxlLmFtCi1pbmRl eCBjNDU0ZmFkOTcuLmNhNDg0ZWMzNyAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMvTWFrZWZp bGUuYW0KLSsrKyBiL2luc3RhbGwvdG9vbHMvTWFrZWZpbGUuYW0KLUBAIC0zMSw2ICszMSw3IEBA IGRpc3Rfbm9pbnN0X0RBVEEgPQkJXAotIAlpcGEtcGtpbml0LW1hbmFnZS5pbglcCi0gCWlwYS1j cmxnZW4tbWFuYWdlLmluCVwKLSAJaXBhLWNlcnQtZml4LmluCQlcCi0rCWlwYS1pZHJhbmdlLWZp eC5pbiAgXAotIAlpcGEtY3VzdG9kaWEuaW4JCVwKLSAJaXBhLWN1c3RvZGlhLWNoZWNrLmluCVwK LSAJaXBhLWh0dHBkLWtkY3Byb3h5LmluCVwKLUBAIC02OCw2ICs2OSw3IEBAIG5vZGlzdF9zYmlu X1NDUklQVFMgPQkJXAotIAlpcGEtcGtpbml0LW1hbmFnZQlcCi0gCWlwYS1jcmxnZW4tbWFuYWdl CVwKLSAJaXBhLWNlcnQtZml4CQlcCi0rCWlwYS1pZHJhbmdlLWZpeAkJXAotIAlpcGEtYWNtZS1t YW5hZ2UJCVwKLSAJaXBhLW1pZ3JhdGUJXAotIAkkKE5VTEwpCi1kaWZmIC0tZ2l0IGEvaW5zdGFs bC90b29scy9pcGEtaWRyYW5nZS1maXguaW4gYi9pbnN0YWxsL3Rvb2xzL2lwYS1pZHJhbmdlLWZp eC5pbgotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uNTk5NGJkMjhiCi0t LS0gL2Rldi9udWxsCi0rKysgYi9pbnN0YWxsL3Rvb2xzL2lwYS1pZHJhbmdlLWZpeC5pbgotQEAg LTAsMCArMSw4IEBACi0rIyEvdXNyL2Jpbi9weXRob24zCi0rIwotKyMgQ29weXJpZ2h0IChDKSAy MDI0ICBGcmVlSVBBIENvbnRyaWJ1dG9ycyBzZWUgQ09QWUlORyBmb3IgbGljZW5zZQotKyMKLSsK LStmcm9tIGlwYXNlcnZlci5pbnN0YWxsLmlwYV9pZHJhbmdlX2ZpeCBpbXBvcnQgSVBBSURSYW5n ZUZpeAotKwotK0lQQUlEUmFuZ2VGaXgucnVuX2NsaSgpCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC90 b29scy9tYW4vTWFrZWZpbGUuYW0gYi9pbnN0YWxsL3Rvb2xzL21hbi9NYWtlZmlsZS5hbQotaW5k ZXggMzRmMzU5ODYzLi5lOTU0MmE3N2IgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL21hbi9N YWtlZmlsZS5hbQotKysrIGIvaW5zdGFsbC90b29scy9tYW4vTWFrZWZpbGUuYW0KLUBAIC0yOSw2 ICsyOSw3IEBAIGRpc3RfbWFuMV9NQU5TID0gCQkJXAotIAlpcGEtcGtpbml0LW1hbmFnZS4xCQlc Ci0gCWlwYS1jcmxnZW4tbWFuYWdlLjEJCVwKLSAJaXBhLWNlcnQtZml4LjEJCQlcCi0rCWlwYS1p ZHJhbmdlLWZpeC4xCQlcCi0gCWlwYS1hY21lLW1hbmFnZS4xCQlcCi0gCWlwYS1taWdyYXRlLjEJ CQlcCi0gCSQoTlVMTCkKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtaWRyYW5n ZS1maXguMSBiL2luc3RhbGwvdG9vbHMvbWFuL2lwYS1pZHJhbmdlLWZpeC4xCi1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi4xNzhkMmU4ODcKLS0tLSAvZGV2L251bGwKLSsr KyBiL2luc3RhbGwvdG9vbHMvbWFuL2lwYS1pZHJhbmdlLWZpeC4xCi1AQCAtMCwwICsxLDExMSBA QAotKy5cIgotKy5cIiBDb3B5cmlnaHQgKEMpIDIwMjQgIEZyZWVJUEEgQ29udHJpYnV0b3JzIHNl ZSBDT1BZSU5HIGZvciBsaWNlbnNlCi0rLlwiCi0rLlRIICJpcGEtaWRyYW5nZS1maXgiICIxIiAi TWF5IDI2IDIwMjQiICJJUEEiICJJUEEgTWFudWFsIFBhZ2VzIgotKy5TSCAiTkFNRSIKLStpcGFc LWlkcmFuZ2VcLWZpeCBcLSBBbmFseXNlIGFuZCBmaXggSVBBIElEIHJhbmdlcwotKy5TSCAiU1lO T1BTSVMiCi0raXBhXC1pZHJhbmdlXC1maXggW29wdGlvbnNdCi0rLlNIICJERVNDUklQVElPTiIK LSsKLStcZklpcGEtaWRyYW5nZS1maXhcZlIgaXMgYSB0b29sIGZvciBhbmFseXNpcyBvZiBleGlz dGluZyBJUEEgcmFuZ2VzLCB1c2VycyBhbmQgCi0rZ3JvdXBzIG91dHNpZGUgb2YgdGhvc2UgcmFu Z2VzLCBhbmQgZnVuY3Rpb25hbGl0eSB0byBwcm9wb3NlIGFuZCBhcHBseSAKLStyZW1lZGlhdGlv bnMgdG8gbWFrZSBzdXJlIGFzIG1hbnkgdXNlcnMgYW5kIGdyb3VwcyBhcyBwb3NzaWJsZSBlbmQg dXAgaW4gdGhlIAotK0lQQS1tYW5hZ2VkIHJhbmdlcy4gQmVmb3JlIGFueSBjaGFuZ2VzIGFyZSBh cHBsaWVkLCBhIGZ1bGwgYmFja3VwIG9mIHRoZSBzeXN0ZW0KLStpcyBcZkJTVFJPTkdMWSBSRUNP TU1FTkRFRFxmUi4KLSsKLStEbyBub3QgdXNlIHRoaXMgcHJvZ3JhbSBpbiB1bmF0dGVuZGVkIG1v ZGUgdW5sZXNzIHlvdSBhcmUgYWJzb2x1dGVseSBzdXJlCi0reW91IGFyZSBjb25zZW50aW5nIHRv IHRoZSB0b29sJ3MgcHJvcG9zYWxzLgotKwotK1lvdSBjYW4gYXBwbHkgdGhlIHByb3Bvc2FscyBt YW51YWxseSB2aWEgXGZJaXBhIGlkcmFuZ2UoMSlcZlIgY29tbWFuZHMuCi0rCi0rVGhpcyB0b29s IHJlcXVpcmVzIGl0IHRvIGJlIHJ1biBhcyBcZkJyb290XGZSIGFuZCBkb2VzIG5vdCByZXF1aXJl IGEga2VyYmVyb3MKLSt0aWNrZXQuIFRoZSBkaXJlY3Rvcnkgc2VydmVyIG5lZWRzIHRvIGJlIHJ1 bm5pbmcuCi0rCi0rXGZJaXBhLWlkcmFuZ2UtZml4XGZSIHdpbGwgcmVhZCBjdXJyZW50IHJhbmdl cyBmcm9tIExEQVAsIHRoZW4gY2hlY2sgdGhlaXIKLStiYXNpYyBjb25zdHJhaW50cywgUklEIGJh c2VzLCBldGMuIElmIGl0IGZpbmRzIGNyaXRpY2FsIGlzc3VlcyB3aXRoIHJhbmdlcywKLSttYW51 YWwgYWRqdXN0bWVudCB3aWxsIGJlIHJlcXVpcmVkLgotKwotK0FmdGVyIGFuYWx5emluZyBleGlz dGluZyByYW5nZXMsIHRoZSB0b29sIHdpbGwgc2VhcmNoIGZvciB1c2VycyBhbmQgZ3JvdXBzIHRo YXQKLSthcmUgb3V0c2lkZSBvZiBpcGEtbG9jYWwgcmFuZ2VzLiBUaGVuIGl0IHdpbGwgYXR0ZW1w dCB0byBwcm9wb3NlIG5ldyBpcGEtbG9jYWwKLStyYW5nZXMgaW4gb3JkZXIgdG8gY292ZXIgdXNl cnMgYW5kIGdyb3VwcyBmb3VuZC4KLSsKLStGaW5hbGx5LCB0aGUgdG9vbCB3aWxsIHN1bW1hcml6 ZSB0aGUgYW5hbHlzaXMsIGFuZCwgaWYgdGhlcmUgYXJlIHByb3Bvc2VkCi0rY2hhbmdlcywgd2ls bCBhc2sgaWYgdGhlIHVzZXIgd2FudHMgdG8gYXBwbHkgdGhvc2UuIFBsZWFzZSByZWFkIHRoZQot K3Byb3Bvc2FscyBjYXJlZnVsbHkgYmVmb3JlIHByb2NlZWRpbmcgd2l0aCBjaGFuZ2VzIQotKwot K0ltcG9ydGFudCBub3RlOiBCeSBkZWZhdWx0LCBcZklpcGEtaWRyYW5nZS1maXhcZlIgd2lsbCBu b3QgY292ZXIgdGhlIHVzZXJzIGFuZCAKLStncm91cHMgdGhhdCBoYXZlIElEcyB1bmRlciAxMDAw IGFzIHRoZXNlIElEcyBhcmUgcmVzZXJ2ZWQgZm9yIHN5c3RlbSBhbmQKLStzZXJ2aWNlIHVzZXJz IGFuZCBncm91cHMuIFdlIFxmQmRvbid0IHJlY29tbWVuZFxmUiB1c2luZyBJRHMgdW5kZXIgMTAw MCBmb3IKLStJUEEgdXNlcnMgYW5kIGdyb3VwcyBhcyB0aGV5IGNhbiBwb3NzaWJseSBvdmVybGFw IHdpdGggbG9jYWwgb25lcy4gUGxlYXNlCi0rY29uc2lkZXIgbW92aW5nIHRob3NlIHVzZXJzIG91 dCBvZiB0aGUgcmFuZ2UgMS4uMTAwMCwgdW5sZXNzIHRoZXkgYXJlCi0rYWJzb2x1dGVseSBuZWVk ZWQuCi0rCi0rLlNIICJPUFRJT05TIgotKy5UUAotK1xmQlwtXC12ZXJzaW9uXGZSCi0rU2hvdyB0 aGUgcHJvZ3JhbSdzIHZlcnNpb24gYW5kIGV4aXQuCi0rLlRQCi0rXGZCXC1oXGZSLCBcZkJcLVwt aGVscFxmUgotK1Nob3cgdGhlIGhlbHAgZm9yIHRoaXMgcHJvZ3JhbS4KLSsuVFAKLStcZkJcLVwt cmlkb2Zmc2V0IFxmSUlOVFxmUgotK0FuIG9mZnNldCBmb3IgbmV3bHkgcHJvcG9zZWQgYmFzZSBS SURzIGZvciByYW5nZXMuIFdlIGludHJvZHVjZSBvZmZzZXQgaW4gb3JkZXIKLSt0byBoYXZlIGFu IGFiaWxpdHkgdG8gaW5jcmVhc2UgcmFuZ2VzIGluIHRoZSBmdXR1cmUsIGluY3JlYXNlIHRvIG1v cmUgdGhhbgotK29mZnNldCB3aWxsIHJlc3VsdCBpbiBSSUQgYmFzZXMgb3ZlcmxhcHBpbmcsIGFu ZCB3aWxsIGJlIGRlbmllZC4gSWYgc2V0IHRvIDAsCi0rdGhlcmUgd2lsbCBiZSBubyBvZmZzZXQs IHByb3Bvc2VkIFJJRCByYW5nZXMgd2lsbCBzdGFydCBkaXJlY3RseSBvbmUgYWZ0ZXIKLSthbm90 aGVyLgotKwotK0RlZmF1bHQgLSBcZkkxMDAwMDBcZlIsIGFsbG93ZWQgdmFsdWVzIC0gZnJvbSBc ZkkwXGZSIHRvIFxmSTJeMzFcZlIuCi0rLlRQCi0rXGZCXC1cLXJhbmdlZ2FwIFxmSUlOVFxmUgot K0EgbnVtYmVyIG9mIElEcyBiZXR3ZWVuIG91dCBvZiByYW5nZXMgSURzIHRvIGJlIGNvbnNpZGVy ZWQgdG9vIGJpZyB0byBiZSBpbnNpZGUgCi0rYSBwcm9wb3NlZCByYW5nZS4gSWYgdGhlIGdhcCBp cyBiaWdnZXIgdGhhbiB0aGlzIGF0dHJpYnV0ZSwgYSBuZXcgcmFuZ2Ugd2lsbCBiZSAKLStzdGFy dGVkLiBJZiBzZXQgdG8gMCwgZXZlcnkgZW50aXR5IHdpbGwgZ2V0IGl0cyBvd24gcmFuZ2UsIGlm IGFsbG93ZWQgYnkgCi0rXGZJLS1taW5yYW5nZVxmUi4KLSsKLStEZWZhdWx0IC0gXGZJMjAwMDAw XGZSLCBhbGxvd2VkIHZhbHVlcyAtIGZyb20gXGZJMFxmUiB0byBcZkkyXjMxXGZSLgotKy5UUAot K1xmQlwtXC1taW5yYW5nZSBcZklJTlRcZlIKLStBIG1pbmltYWwgYW1vdW50IG9mIElEcyB0aGUg dG9vbCBjb25zaWRlcnMgdG8gYmUgYSB2YWxpZCByYW5nZS4gQWxsIElEcyB0aGF0Ci0rd291bGQg Zm9ybSBhIHJhbmdlIHdpdGggbGVzcyB0aGFuIHRoaXMgbnVtYmVyIHdpbGwgYmUgY29uc2lkZXJl ZCBvdXRsaWVycywgbm90IAotK3dvcnRoIGNyZWF0aW5nIGFuIElEcmFuZ2UgZm9yLCBhbmQgd2ls bCBiZSBsaXN0ZWQgZXhwbGljaXRseSB0byBiZSBtb3ZlZCAKLSttYW51YWxseS4gSWYgc2V0IHRv IDEsIGEgcmFuZ2Ugd2lsbCBiZSBwcm9wb3NlZCBmb3IgZXZlcnkgZW50aXR5LCBldmVuIGlmIHRo ZSAKLStlbnRpdHkgaXMgc2luZ2xlIGluIHRoZSBtaWRkbGUgb2YgYW4gZW1wdHkgc3BhY2UuCi0r Ci0rRGVmYXVsdCAtIFxmSTEwXGZSLCBhbGxvd2VkIHZhbHVlcyAtIGZyb20gXGZJMVxmUiB0byBc ZkkyXjMxXGZSLgotKy5UUAotK1xmQlwtXC1hbGxvd3VuZGVyMTAwMFxmUgotK0EgZmxhZyB0byBh bGxvdyBwcm9wb3NpbmcgcmFuZ2VzIHRoYXQgc3RhcnQgd2l0aCBJRHMgbG93ZXIgdGhhbiBcZkkx MDAwXGZSLiAKLStSZW1lbWJlciwgdGhpcyBpcyBub3QgcmVjb21tZW5kZWQgLSBJRHMgdW5kZXIg MTAwMCBhcmUgcmVzZXJ2ZWQgZm9yIHN5c3RlbSBhbmQgCi0rc2VydmljZSB1c2VycyBhbmQgZ3Jv dXBzLiBJRHJhbmdlcyB3aXRoIHRoZXNlIGxvdyBJRHMgbWF5IHJlc3VsdCB3aXRoIAotK292ZXJs YXBwaW5nIG9mIElQQSBhbmQgc3lzdGVtIGxvY2FsIHVzZXJzIGFuZCBncm91cHMsIHdoaWNoIGNh biBiZSBhIHNlcmlvdXMgCi0rc2VjdXJpdHkgaXNzdWUgYW5kIGdlbmVyYWxseSBwcm9kdWNlIGEg bG90IG9mIGlzc3VlcyBhcm91bmQgdGhlc2UgZW50aXRpZXMnIAotK3Jlc29sdXRpb24uCi0rLlRQ Ci0rXGZCXC1cLW5vcm91bmRpbmdcZlIKLStBIGZsYWcgdG8gdHVybiBvZmYgaWRyYW5nZSBzdGFy dGluZyBpZCBhbmQgc2l6ZSByb3VuZGluZyAtIGUuZy4gaWYgd2UgZmluZCAKLStJRCAxMjM0LCBh bmQgdGhlIHNpemUgNTY3LCBpdCB3aWxsIHN0YXkgdGhhdCB3YXksIHRoZSBwcm9wb3NlZCByYW5n ZSB3aWxsIAotK3N0YXJ0IGF0IElEIDEyMzQsIGFuZCBoYXZlIGEgNTY3IHNpemUuIElmIG5vdCBz cGVjaWZpZWQsIGJhc2ljIHJvdW5kaW5nIHRvIAotK291dGVyIG1hcmdpbnMgd2lsbCBiZSBhcHBs aWVkLiBSb3VuZGluZyB3aWxsIGJlIDEwXnNpemUgb2YgdGhlIHByb3Bvc2VkIHJhbmdlLgotKy5U UAotK1xmQlwtXC11bmF0dGVuZGVkXGZSCi0rUnVuIHRoZSB0b29sIGluIHVuYXR0ZW5kZWQgbW9k ZSwgaWYgYW55IGNoYW5nZXMgd291bGQgYmUgcHJvcG9zZWQsIHRoZXkgd2lsbAotK2JlIGFwcGxp ZWQgYXV0b21hdGljYWxseS4KLSsuVFAKLStcZkJcLXZcZlIsIFxmQlwtXC12ZXJib3NlXGZSCi0r UHJpbnQgZGVidWdnaW5nIGluZm9ybWF0aW9uLgotKy5UUAotK1xmQlwtcVxmUiwgXGZCXC1cLXF1 aWV0XGZSCi0rT3V0cHV0IG9ubHkgZXJyb3JzIChvdXRwdXQgZnJvbSBjaGlsZCBwcm9jZXNzZXMg bWF5IHN0aWxsIGJlIHNob3duKS4KLSsuVFAKLStcZkJcLVwtbG9nXC1maWxlXGZSPVxmSUZJTEVc ZlIKLStMb2cgdG8gdGhlIGdpdmVuIGZpbGUuCi0rLlNIICJFWElUIFNUQVRVUyIKLSswIGlmIHRo ZSBjb21tYW5kIHdhcyBzdWNjZXNzZnVsCi0rCi0rMSBpZiBhbiBlcnJvciBvY2N1cnJlZAotKwot Ky5TSCAiU0VFIEFMU08iCi0rLkJSIGlwYVwgaWRyYW5nZS1tb2QoMSkKLSsuQlIgaXBhXCBpZHJh bmdlLWFkZCgxKQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2Zp eC5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2ZpeC5weQotbmV3IGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uYzZjNjdhZTkzCi0tLS0gL2Rldi9udWxsCi0rKysg Yi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfaWRyYW5nZV9maXgucHkKLUBAIC0wLDAgKzEsMTA4NSBA QAotKyIiIlRvb2wgdG8gYW5hbHl6ZSBhbmQgZml4IElQQSBJRCByYW5nZXMiIiIKLSsjCi0rIyBD b3B5cmlnaHQgKEMpIDIwMjQgIEZyZWVJUEEgQ29udHJpYnV0b3JzIHNlZSBDT1BZSU5HIGZvciBs aWNlbnNlCi0rIwotKwotK2ltcG9ydCBsb2dnaW5nCi0raW1wb3J0IGxkYXAKLSsKLStmcm9tIGlw YWxpYiBpbXBvcnQgYXBpLCBlcnJvcnMKLStmcm9tIGlwYXB5dGhvbi5hZG1pbnRvb2wgaW1wb3J0 IEFkbWluVG9vbAotK2Zyb20gaXBhcHl0aG9uLmRuIGltcG9ydCBETgotK2Zyb20gaXBhcHl0aG9u IGltcG9ydCBpcGF1dGlsCi0rZnJvbSB0eXBpbmcgaW1wb3J0IExpc3QsIFR1cGxlCi0rCi0rbG9n Z2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0rCi0rCi0rY2xhc3MgSURSYW5nZToK LSsgICAgIiIiQ2xhc3MgZm9yIElEIHJhbmdlIGVudGl0eSIiIgotKwotKyAgICBkZWYgX19pbml0 X18oc2VsZik6Ci0rICAgICAgICBzZWxmLmxhc3RfaWQ6IGludCA9IE5vbmUKLSsgICAgICAgIHNl bGYubGFzdF9iYXNlX3JpZDogaW50ID0gTm9uZQotKyAgICAgICAgc2VsZi5sYXN0X3NlY29uZGFy eV9yaWQ6IGludCA9IE5vbmUKLSsgICAgICAgIHNlbGYubmFtZTogc3RyID0gTm9uZQotKyAgICAg ICAgc2VsZi5zaXplOiBpbnQgPSBOb25lCi0rICAgICAgICBzZWxmLmZpcnN0X2lkOiBpbnQgPSBO b25lCi0rICAgICAgICBzZWxmLmJhc2VfcmlkOiBpbnQgPSBOb25lCi0rICAgICAgICBzZWxmLnNl Y29uZGFyeV9iYXNlX3JpZDogaW50ID0gTm9uZQotKyAgICAgICAgc2VsZi50eXBlOiBzdHIgPSBO b25lCi0rICAgICAgICBzZWxmLnN1ZmZpeDogc3RyID0gTm9uZQotKyAgICAgICAgc2VsZi5kbjog c3RyID0gTm9uZQotKwotKyAgICBkZWYgX2NvdW50KHNlbGYpIC0+IE5vbmU6Ci0rICAgICAgICAi IiJGdW5jdGlvbiB0byBjYWxjdWxhdGUgbGFzdCBJRHMgZm9yIHRoZSByYW5nZSIiIgotKyAgICAg ICAgc2VsZi5sYXN0X2lkID0gc2VsZi5maXJzdF9pZCArIHNlbGYuc2l6ZSAtIDEKLSsgICAgICAg IGlmIHNlbGYudHlwZSA9PSAiaXBhLWxvY2FsIjoKLSsgICAgICAgICAgICBzZWxmLmxhc3RfYmFz ZV9yaWQgPSAoCi0rICAgICAgICAgICAgICAgIHNlbGYuYmFzZV9yaWQgKyBzZWxmLnNpemUKLSsg ICAgICAgICAgICAgICAgaWYgc2VsZi5iYXNlX3JpZCBpcyBub3QgTm9uZQotKyAgICAgICAgICAg ICAgICBlbHNlIE5vbmUKLSsgICAgICAgICAgICApCi0rICAgICAgICAgICAgc2VsZi5sYXN0X3Nl Y29uZGFyeV9yaWQgPSAoCi0rICAgICAgICAgICAgICAgIHNlbGYuc2Vjb25kYXJ5X2Jhc2Vfcmlk ICsgc2VsZi5zaXplCi0rICAgICAgICAgICAgICAgIGlmIHNlbGYuc2Vjb25kYXJ5X2Jhc2Vfcmlk IGlzIG5vdCBOb25lCi0rICAgICAgICAgICAgICAgIGVsc2UgTm9uZQotKyAgICAgICAgICAgICkK LSsKLSsgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgotKyAgICAgICAgcmV0dXJuICgKLSsgICAgICAg ICAgICBmIklEUmFuZ2UobmFtZT0ne3NlbGYubmFtZX0nLCAiCi0rICAgICAgICAgICAgZiJ0eXBl PXtzZWxmLnR5cGV9LCAiCi0rICAgICAgICAgICAgZiJzaXplPXtzZWxmLnNpemV9LCAiCi0rICAg ICAgICAgICAgZiJmaXJzdF9pZD17c2VsZi5maXJzdF9pZH0sICIKLSsgICAgICAgICAgICBmImJh c2VfcmlkPXtzZWxmLmJhc2VfcmlkfSwgIgotKyAgICAgICAgICAgIGYic2Vjb25kYXJ5X2Jhc2Vf cmlkPXtzZWxmLnNlY29uZGFyeV9iYXNlX3JpZH0pIgotKyAgICAgICAgKQotKwotKyAgICBkZWYg X19lcV9fKHNlbGYsIG90aGVyKToKLSsgICAgICAgIHJldHVybiBzZWxmLmZpcnN0X2lkID09IG90 aGVyLmZpcnN0X2lkCi0rCi0rCi0rY2xhc3MgSURlbnRpdHk6Ci0rICAgICIiIkEgZ2VuZXJpYyBj bGFzcyBmb3IgSUQgZW50aXR5IC0gdXNlcnMgb3IgZ3JvdXBzIiIiCi0rCi0rICAgIGRlZiBfX2lu aXRfXyhzZWxmLCAqKmt3YXJncyk6Ci0rICAgICAgICBzZWxmLmRuOiBzdHIgPSBrd2FyZ3MuZ2V0 KCdkbicpCi0rICAgICAgICBzZWxmLm5hbWU6IHN0ciA9IGt3YXJncy5nZXQoJ25hbWUnKQotKyAg ICAgICAgc2VsZi51c2VyOiBzdHIgPSBrd2FyZ3MuZ2V0KCd1c2VyJykKLSsgICAgICAgIHNlbGYu bnVtYmVyOiBpbnQgPSBrd2FyZ3MuZ2V0KCdudW1iZXInKQotKwotKyAgICBkZWYgX19zdHJfXyhz ZWxmKToKLSsgICAgICAgIGlmIHNlbGYudXNlcjoKLSsgICAgICAgICAgICByZXR1cm4gKGYidXNl ciAne3NlbGYubmFtZX0nLCB1aWQ9e3NlbGYubnVtYmVyfSIpCi0rICAgICAgICByZXR1cm4gKGYi Z3JvdXAgJ3tzZWxmLm5hbWV9JywgZ2lkPXtzZWxmLm51bWJlcn0iKQotKwotKyAgICBkZWYgZGVi dWcoc2VsZik6Ci0rICAgICAgICBpZiBzZWxmLnVzZXI6Ci0rICAgICAgICAgICAgcmV0dXJuICgK LSsgICAgICAgICAgICAgICAgZiJ1c2VyKHVzZXJuYW1lPSd7c2VsZi5uYW1lfScsICIKLSsgICAg ICAgICAgICAgICAgZiJ1aWQ9e3NlbGYubnVtYmVyfSwgIgotKyAgICAgICAgICAgICAgICBmIntz ZWxmLmRufSkiCi0rICAgICAgICAgICAgKQotKyAgICAgICAgcmV0dXJuICgKLSsgICAgICAgICAg ICBmImdyb3VwKGdyb3VwbmFtZT0ne3NlbGYubmFtZX0nLCAiCi0rICAgICAgICAgICAgZiJnaWQ9 e3NlbGYubnVtYmVyfSwgIgotKyAgICAgICAgICAgIGYie3NlbGYuZG59KSIKLSsgICAgICAgICkK LSsKLSsgICAgZGVmIF9fZXFfXyhzZWxmLCBvdGhlcik6Ci0rICAgICAgICByZXR1cm4gc2VsZi5u dW1iZXIgPT0gb3RoZXIubnVtYmVyIGFuZCBzZWxmLnVzZXIgPT0gb3RoZXIudXNlcgotKwotKwot K2NsYXNzIElQQUlEUmFuZ2VGaXgoQWRtaW5Ub29sKToKLSsgICAgIiIiVG9vbCB0byBhbmFseXpl IGFuZCBmaXggSVBBIElEIHJhbmdlcyIiIgotKwotKyAgICBjb21tYW5kX25hbWUgPSAiaXBhLWlk cmFuZ2UtZml4IgotKyAgICBsb2dfZmlsZV9uYW1lID0gIi92YXIvbG9nL2lwYS1pZHJhbmdlLWZp eC5sb2ciCi0rICAgIHVzYWdlID0gIiVwcm9nIgotKyAgICBkZXNjcmlwdGlvbiA9ICJBbmFseXpl IGFuZCBmaXggSVBBIElEIHJhbmdlcyIKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0rICAgIGRlZiBh ZGRfb3B0aW9ucyhjbHMsIHBhcnNlciwgZGVidWdfb3B0aW9uPUZhbHNlKToKLSsgICAgICAgIHN1 cGVyKElQQUlEUmFuZ2VGaXgsIGNscykuYWRkX29wdGlvbnMocGFyc2VyKQotKyAgICAgICAgcGFy c2VyLmFkZF9vcHRpb24oCi0rICAgICAgICAgICAgIi0tcmlkb2Zmc2V0IiwKLSsgICAgICAgICAg ICBkZXN0PSJyaWRvZmZzZXQiLAotKyAgICAgICAgICAgIHR5cGU9aW50LAotKyAgICAgICAgICAg IGRlZmF1bHQ9MTAwMDAwLAotKyAgICAgICAgICAgIG1ldGF2YXI9MTAwMDAwLAotKyAgICAgICAg ICAgIGhlbHA9Ik9mZnNldCBmb3IgYSBuZXh0IGJhc2UgUklEIGZyb20gcHJldmlvdXMgUklEIHJh bmdlLiBcCi0rTmVlZGVkIGZvciBmdXR1cmUgcmFuZ2Ugc2l6ZSBleHBhbnNpb25zLiBIYXMgdG8g YmUgPiAwIiwKLSsgICAgICAgICkKLSsgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKAotKyAgICAg ICAgICAgICItLXJhbmdlZ2FwIiwKLSsgICAgICAgICAgICBkZXN0PSJyYW5nZWdhcCIsCi0rICAg ICAgICAgICAgdHlwZT1pbnQsCi0rICAgICAgICAgICAgZGVmYXVsdD0yMDAwMDAsCi0rICAgICAg ICAgICAgbWV0YXZhcj0yMDAwMDAsCi0rICAgICAgICAgICAgaGVscD0iVGhyZXNob2xkIGZvciBh IGdhcCBiZXR3ZWVuIG91dC1vZi1yYW5nZSBJRHMgdG8gYmUgXAotK2NvbnNpZGVyZWQgYSBkaWZm ZXJlbnQgcmFuZ2UuIEhhcyB0byBiZSA+IDAiLAotKyAgICAgICAgKQotKyAgICAgICAgcGFyc2Vy LmFkZF9vcHRpb24oCi0rICAgICAgICAgICAgIi0tbWlucmFuZ2UiLAotKyAgICAgICAgICAgIGRl c3Q9Im1pbnJhbmdlIiwKLSsgICAgICAgICAgICB0eXBlPWludCwKLSsgICAgICAgICAgICBkZWZh dWx0PTEwLAotKyAgICAgICAgICAgIG1ldGF2YXI9MTAsCi0rICAgICAgICAgICAgaGVscD0iTWlu aW1hbCBjb25zaWRlcmVkIHJhbmdlIHNpemUgZm9yIG91dC1vZi1yYW5nZSBJRHMuXAotK0FsbCBy YW5nZXMgd2l0aCBhbW91bnQgb2YgSURzIGxvd2VyIHRoYW4gdGhpcyBudW1iZXIgd2lsbCBiZSBk aXNjYXJkZWQgYW5kIFwKLStJRHMgd2lsbCBiZSBsaXN0ZWQgdG8gYmUgbW92ZWQgbWFudWFsbHku IEhhcyB0byBiZSA+IDEiLAotKyAgICAgICAgKQotKyAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24o Ci0rICAgICAgICAgICAgIi0tYWxsb3d1bmRlcjEwMDAiLAotKyAgICAgICAgICAgIGRlc3Q9ImFs bG93dW5kZXIxMDAwIiwKLSsgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiLAotKyAgICAg ICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0rICAgICAgICAgICAgaGVscD0iQWxsb3cgaWRyYW5nZXMg dG8gc3RhcnQgYmVsb3cgMTAwMC4gQmUgY2FyZWZ1bCB0byBub3QgXAotK292ZXJsYXAgSVBBIHVz ZXJzL2dyb3VwcyB3aXRoIGV4aXN0aW5nIHN5c3RlbS1sb2NhbCBvbmVzISIsCi0rICAgICAgICAp Ci0rICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigKLSsgICAgICAgICAgICAiLS1ub3JvdW5kaW5n IiwKLSsgICAgICAgICAgICBkZXN0PSJub3JvdW5kaW5nIiwKLSsgICAgICAgICAgICBhY3Rpb249 InN0b3JlX3RydWUiLAotKyAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0rICAgICAgICAgICAg aGVscD0iRGlzYWJsZSBJRHJhbmdlIHJvdW5kaW5nIGF0dGVtcHQgaW4gb3JkZXIgdG8gZ2V0IHJh bmdlcyBcCi0rZXhhY3RseSBjb3ZlcmluZyBqdXN0IElEcyBwcm92aWRlZCIsCi0rICAgICAgICAp Ci0rICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigKLSsgICAgICAgICAgICAiLS11bmF0dGVuZGVk IiwKLSsgICAgICAgICAgICBkZXN0PSJ1bmF0dGVuZGVkIiwKLSsgICAgICAgICAgICBhY3Rpb249 InN0b3JlX3RydWUiLAotKyAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0rICAgICAgICAgICAg aGVscD0iQXV0b21hdGljYWxseSBmaXggYWxsIHJhbmdlIGlzc3VlcyBmb3VuZCB3aXRob3V0IGFz a2luZyBcCi0rZm9yIGNvbmZpcm1hdGlvbiIsCi0rICAgICAgICApCi0rCi0rICAgIGRlZiBfX2lu aXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3MpOgotKyAgICAgICAgc3VwZXIoKS5fX2luaXRfXygq YXJncywgKiprd2FyZ3MpCi0rICAgICAgICBzZWxmLnJlYWxtOiBzdHIgPSBOb25lCi0rICAgICAg ICBzZWxmLnN1ZmZpeDogRE4gPSBOb25lCi0rICAgICAgICBzZWxmLnByb3Bvc2Fsc19yaWQ6IExp c3RbSURSYW5nZV0gPSBbXQotKyAgICAgICAgc2VsZi5wcm9wb3NhbHNfbmV3OiBMaXN0W0lEUmFu Z2VdID0gW10KLSsgICAgICAgIHNlbGYub3V0bGllcnM6IExpc3RbSURlbnRpdHldID0gW10KLSsg ICAgICAgIHNlbGYudW5kZXIxMDAwOiBMaXN0W0lEZW50aXR5XSA9IFtdCi0rICAgICAgICBzZWxm LmlkX3JhbmdlczogTGlzdFtJRFJhbmdlXSA9IFtdCi0rCi0rICAgIGRlZiB2YWxpZGF0ZV9vcHRp b25zKHNlbGYsIG5lZWRzX3Jvb3Q9VHJ1ZSk6Ci0rICAgICAgICBzdXBlcigpLnZhbGlkYXRlX29w dGlvbnMobmVlZHNfcm9vdCkKLSsKLSsgICAgZGVmIHJ1bihzZWxmKToKLSsgICAgICAgIGFwaS5i b290c3RyYXAoaW5fc2VydmVyPVRydWUpCi0rICAgICAgICBhcGkuZmluYWxpemUoKQotKwotKyAg ICAgICAgc2VsZi5yZWFsbSA9IGFwaS5lbnYucmVhbG0KLSsgICAgICAgIHNlbGYuc3VmZml4ID0g aXBhdXRpbC5yZWFsbV90b19zdWZmaXgoc2VsZi5yZWFsbSkKLSsgICAgICAgIHRyeToKLSsgICAg ICAgICAgICBhcGkuQmFja2VuZC5sZGFwMi5jb25uZWN0KCkKLSsKLSsgICAgICAgICAgICAjIFJl YWRpbmcgcmFuZ2UgZGF0YQotKyAgICAgICAgICAgIHNlbGYuaWRfcmFuZ2VzID0gcmVhZF9yYW5n ZXMoc2VsZi5zdWZmaXgpCi0rCi0rICAgICAgICAgICAgIyBFdmFsdWF0aW5nIGV4aXN0aW5nIHJh bmdlcywgaWYgc29tZXRoaW5nIGlzIG9mZiwgZXhpdAotKyAgICAgICAgICAgIGlmIHNlbGYuZXZh bHVhdGVfcmFuZ2VzKCkgIT0gMDoKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDEKLSsKLSsgICAg ICAgICAgICAjIHJlYWRpbmcgb3V0IG9mIHJhbmdlIElEcwotKyAgICAgICAgICAgIGlkc19vdXRf b2ZfcmFuZ2UgPSByZWFkX291dG9mcmFuZ2VfaWRlbnRpdGllcygKLSsgICAgICAgICAgICAgICAg c2VsZi5zdWZmaXgsIHNlbGYuaWRfcmFuZ2VzCi0rICAgICAgICAgICAgKQotKwotKyAgICAgICAg ICAgICMgRXZhbHVhdGluZyBvdXQgb2YgcmFuZ2UgSURzCi0rICAgICAgICAgICAgc2VsZi5ldmFs dWF0ZV9pZGVudGl0aWVzKGlkc19vdXRfb2ZfcmFuZ2UpCi0rCi0rICAgICAgICAgICAgIyBQcmlu dCB0aGUgcHJvcG9zYWxzCi0rICAgICAgICAgICAgc2VsZi5wcmludF9pbnRlbnRpb25zKCkKLSsK LSsgICAgICAgICAgICAjIElmIHRoZXJlIGFyZSBubyBwcm9wb3NhbHMsIHdlIGhhdmUgbm90aGlu ZyB0byBkbywgZXhpdGluZwotKyAgICAgICAgICAgIGlmIChsZW4oc2VsZi5wcm9wb3NhbHNfcmlk KSA9PSAwCi0rICAgICAgICAgICAgICAgICAgICBhbmQgbGVuKHNlbGYucHJvcG9zYWxzX25ldykg PT0gMCk6Ci0rICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJcbk5vIGNoYW5nZXMgcHJvcG9z ZWQsIG5vdGhpbmcgdG8gZG8uIikKLSsgICAgICAgICAgICAgICAgcmV0dXJuIDAKLSsKLSsgICAg ICAgICAgICBsb2dnZXIuaW5mbygiXG5JRCByYW5nZXMgdGFibGUgYWZ0ZXIgcHJvcG9zZWQgY2hh bmdlczoiKQotKyAgICAgICAgICAgIGRyYXdfYXNjaWlfdGFibGUoc2VsZi5pZF9yYW5nZXMpCi0r Ci0rICAgICAgICAgICAgaWYgc2VsZi5vcHRpb25zLnVuYXR0ZW5kZWQ6Ci0rICAgICAgICAgICAg ICAgIGxvZ2dlci5pbmZvKAotKyAgICAgICAgICAgICAgICAgICAgIlVuYXR0ZW5kZWQgbW9kZSwg cHJvY2VlZGluZyB3aXRoIGFwcGx5aW5nIGNoYW5nZXMhIgotKyAgICAgICAgICAgICAgICApCi0r ICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgcmVzcG9uc2UgPSBpcGF1dGlsLnVz ZXJfaW5wdXQoJ0VudGVyICJ5ZXMiIHRvIHByb2NlZWQnKQotKyAgICAgICAgICAgICAgICBpZiBy ZXNwb25zZS5sb3dlcigpICE9ICJ5ZXMiOgotKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmlu Zm8oIk5vdCBwcm9jZWVkaW5nLiIpCi0rICAgICAgICAgICAgICAgICAgICByZXR1cm4gMAotKyAg ICAgICAgICAgICAgICBsb2dnZXIuaW5mbygiUHJvY2VlZGluZy4iKQotKwotKyAgICAgICAgICAg ICMgQXBwbHlpbmcgY2hhbmdlcwotKyAgICAgICAgICAgIGZvciBpZF9yYW5nZSBpbiBzZWxmLnBy b3Bvc2Fsc19yaWQ6Ci0rICAgICAgICAgICAgICAgIGFwcGx5X3JpZGJhc2VzKGlkX3JhbmdlKQot KwotKyAgICAgICAgICAgIGZvciBpZF9yYW5nZSBpbiBzZWxmLnByb3Bvc2Fsc19uZXc6Ci0rICAg ICAgICAgICAgICAgIGNyZWF0ZV9yYW5nZShpZF9yYW5nZSkKLSsKLSsgICAgICAgICAgICBsb2dn ZXIuaW5mbygiQWxsIGNoYW5nZXMgYXBwbGllZCBzdWNjZXNzZnVsbHkhIikKLSsKLSsgICAgICAg IGZpbmFsbHk6Ci0rICAgICAgICAgICAgaWYgYXBpLkJhY2tlbmQubGRhcDIuaXNjb25uZWN0ZWQo KToKLSsgICAgICAgICAgICAgICAgYXBpLkJhY2tlbmQubGRhcDIuZGlzY29ubmVjdCgpCi0rCi0r ICAgICAgICByZXR1cm4gMAotKwotKyAgICBkZWYgZXZhbHVhdGVfcmFuZ2VzKHNlbGYpIC0+IGlu dDoKLSsgICAgICAgICIiIkZ1bmN0aW9uIHRvIGV2YWx1YXRlIGV4aXN0aW5nIElEIHJhbmdlcyIi IgotKyAgICAgICAgaWYgbGVuKHNlbGYuaWRfcmFuZ2VzKSA9PSAwOgotKyAgICAgICAgICAgIGxv Z2dlci5lcnJvcigiTm8gSUQgcmFuZ2VzIGZvdW5kISIpCi0rICAgICAgICAgICAgcmV0dXJuIDEK LSsKLSsgICAgICAgIGRyYXdfYXNjaWlfdGFibGUoc2VsZi5pZF9yYW5nZXMpCi0rCi0rICAgICAg ICBpZiBub3QgcmFuZ2VzX292ZXJsYXBfY2hlY2soc2VsZi5pZF9yYW5nZXMpOgotKyAgICAgICAg ICAgIGxvZ2dlci5lcnJvcigKLSsgICAgICAgICAgICAgICAgIlJhbmdlcyBvdmVybGFwIGRldGVj dGVkLCBjYW5ub3QgcHJvY2VlZCEgUGxlYXNlIGFkanVzdCBcCi0rZXhpc3RpbmcgcmFuZ2VzIG1h bnVhbGx5LiIKLSsgICAgICAgICAgICApCi0rICAgICAgICAgICAgcmV0dXJuIDEKLSsKLSsgICAg ICAgICMgQ2hlY2tpbmcgUklEIGJhc2VzIGZvciBleGlzdGluZyByYW5nZXMKLSsgICAgICAgIGlk X3Jhbmdlc19ub2Jhc2UgPSBnZXRfcmFuZ2VzX25vX2Jhc2Uoc2VsZi5pZF9yYW5nZXMpCi0rCi0r ICAgICAgICBpZiBsZW4oaWRfcmFuZ2VzX25vYmFzZSkgPiAwOgotKyAgICAgICAgICAgIGxvZ2dl ci5pbmZvKAotKyAgICAgICAgICAgICAgICAiRm91bmQgJXMgcmFuZ2VzIHdpdGhvdXQgYmFzZSBS SURzIiwgbGVuKGlkX3Jhbmdlc19ub2Jhc2UpCi0rICAgICAgICAgICAgKQotKyAgICAgICAgICAg IGZvciBpZF9yYW5nZSBpbiBpZF9yYW5nZXNfbm9iYXNlOgotKyAgICAgICAgICAgICAgICBsb2dn ZXIuZGVidWcoCi0rICAgICAgICAgICAgICAgICAgICAiUmFuZ2UgJyVzJyBoYXMgUklEIGJhc2Ug JXMgYW5kIHNlY29uZGFyeSBSSUQgYmFzZSAlcyIsCi0rICAgICAgICAgICAgICAgICAgICBpZF9y YW5nZS5uYW1lLAotKyAgICAgICAgICAgICAgICAgICAgaWRfcmFuZ2UuYmFzZV9yaWQsCi0rICAg ICAgICAgICAgICAgICAgICBpZF9yYW5nZS5zZWNvbmRhcnlfYmFzZV9yaWQsCi0rICAgICAgICAg ICAgICAgICkKLSsgICAgICAgICAgICBwcm9wb3NlX3JpZF9yYW5nZXMoCi0rICAgICAgICAgICAg ICAgIHNlbGYuaWRfcmFuZ2VzLAotKyAgICAgICAgICAgICAgICBzZWxmLm9wdGlvbnMucmlkb2Zm c2V0LAotKyAgICAgICAgICAgICAgICBzZWxmLnByb3Bvc2Fsc19yaWQKLSsgICAgICAgICAgICAp Ci0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKAotKyAgICAgICAgICAg ICAgICAiQWxsIElEIHJhbmdlcyBoYXZlIGJhc2UgUklEcyBzZXQsIFJJRCBhZGp1c3RtZW50cyBh cmUgXAotK25vdCBuZWVkZWQuIgotKyAgICAgICAgICAgICkKLSsgICAgICAgIHJldHVybiAwCi0r Ci0rICAgIGRlZiBldmFsdWF0ZV9pZGVudGl0aWVzKHNlbGYsIGlkc19vdXRfb2ZfcmFuZ2U6IExp c3RbSURlbnRpdHldKSAtPiBOb25lOgotKyAgICAgICAgIiIiRnVuY3Rpb24gdG8gZXZhbHVhdGUg b3V0IG9mIHJhbmdlIElEcyIiIgotKyAgICAgICAgaWYgbGVuKGlkc19vdXRfb2ZfcmFuZ2UpID09 IDA6Ci0rICAgICAgICAgICAgbG9nZ2VyLmluZm8oIk5vIG91dCBvZiByYW5nZSBJRHMgZm91bmQh IikKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgbG9nZ2VyLmluZm8oCi0rICAgICAgICAg ICAgICAgICJGb3VuZCBvdmVyYWxsICVzIElEcyBvdXQgb2YgZXhpc3RpbmcgSUQgcmFuZ2VzLlxu IiwKLSsgICAgICAgICAgICAgICAgbGVuKGlkc19vdXRfb2ZfcmFuZ2UpLAotKyAgICAgICAgICAg ICkKLSsgICAgICAgICAgICAjIHJ1bGluZyBvdXQgSURzIHVuZGVyIDEwMDAgaWYgZmxhZyBpcyBu b3Qgc2V0Ci0rICAgICAgICAgICAgaWYgbm90IHNlbGYub3B0aW9ucy5hbGxvd3VuZGVyMTAwMDoK LSsgICAgICAgICAgICAgICAgc2VsZi51bmRlcjEwMDAsIGlkc19vdXRfb2ZfcmFuZ2UgPSBzZXBh cmF0ZV91bmRlcjEwMDAoCi0rICAgICAgICAgICAgICAgICAgICBpZHNfb3V0X29mX3JhbmdlCi0r ICAgICAgICAgICAgICAgICkKLSsgICAgICAgICAgICAgICAgaWYgbGVuKHNlbGYudW5kZXIxMDAw KSA+IDA6Ci0rICAgICAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygKLSsgICAgICAgICAgICAg ICAgICAgICAgICAiRm91bmQgSURzIHVuZGVyIDEwMDAsIHdoaWNoIGlzIG5vdCByZWNvbW1lbmVk ZWQgXAotKyhpZiB5b3UgZGVmaW5pdGVseSBuZWVkIHJhbmdlcyBwcm9wb3NlZCBmb3IgdGhvc2Us IHVzZSAtLWFsbG93dW5kZXIxMDAwKToiCi0rICAgICAgICAgICAgICAgICAgICApCi0rICAgICAg ICAgICAgICAgICAgICBmb3IgaWRlbnRpdHkgaW4gc2VsZi51bmRlcjEwMDA6Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIiVzIiwgaWRlbnRpdHkpCi0rCi0rICAgICAgICAg ICAgIyBHZXQgaW5pdGlhbCBkaXZpZGUgb2YgSURzIGludG8gZ3JvdXBzCi0rICAgICAgICAgICAg Z3JvdXBzID0gZ3JvdXBfaWRlbnRpdGllc19ieV90aHJlc2hvbGQoCi0rICAgICAgICAgICAgICAg IGlkc19vdXRfb2ZfcmFuZ2UsIHNlbGYub3B0aW9ucy5yYW5nZWdhcAotKyAgICAgICAgICAgICkK LSsKLSsgICAgICAgICAgICAjIEdldCBvdXRsaWVycyBmcm9tIHRvbyBzbWFsbCBncm91cHMgYW5k IGNsZWFuIGdyb3VwcyBmb3IKLSsgICAgICAgICAgICAjIGZ1cnRoZXIgcHJvY2Vzc2luZwotKyAg ICAgICAgICAgIHNlbGYub3V0bGllcnMsIGNsZWFuZ3JvdXBzID0gc2VwYXJhdGVfcmFuZ2VzX2Fu ZF9vdXRsaWVycygKLSsgICAgICAgICAgICAgICAgZ3JvdXBzLCBzZWxmLm9wdGlvbnMubWlucmFu Z2UKLSsgICAgICAgICAgICApCi0rCi0rICAgICAgICAgICAgIyBQcmludCB0aGUgb3V0bGllcnMs IHRoZXkgaGF2ZSB0byBiZSBtb3ZlZCBtYW51YWxseQotKyAgICAgICAgICAgIGlmIGxlbihzZWxm Lm91dGxpZXJzKSA+IDA6Ci0rICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKAotKyAgICAgICAg ICAgICAgICAgICAgIlxuSWRlbnRpdGllcyB0aGF0IGRvbid0IGZpdCB0aGUgY3JpdGVyaWEgdG8g Z2V0IGEgbmV3ICIKLSsgICAgICAgICAgICAgICAgICAgICJyYW5nZSBmb3VuZCEgQ3VycmVudCBh dHRyaWJ1dGVzOlxuIgotKyAgICAgICAgICAgICAgICAgICAgIk1pbmltYWwgcmFuZ2Ugc2l6ZTog JXNcbiIKLSsgICAgICAgICAgICAgICAgICAgICJNYXhpbXVtIGdhcCBiZXR3ZWVuIElEczogJXNc biIKLSsgICAgICAgICAgICAgICAgICAgICJUcnkgYWRqdXN0aW5nIC0tbWlucmFuZ2UsIC0tcmFu Z2VnYXAgb3IgbW92ZSB0aGUgIgotKyAgICAgICAgICAgICAgICAgICAgImZvbGxvd2luZyBpZGVu dGl0aWVzIGludG8gYWxyZWFkeSBleGlzdGluZyByYW5nZXM6IiwKLSsgICAgICAgICAgICAgICAg ICAgIHNlbGYub3B0aW9ucy5taW5yYW5nZSwKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYub3B0 aW9ucy5yYW5nZWdhcAotKyAgICAgICAgICAgICAgICApCi0rICAgICAgICAgICAgICAgIGZvciBp ZGVudGl0eSBpbiBzZWxmLm91dGxpZXJzOgotKyAgICAgICAgICAgICAgICAgICAgbG9nZ2VyLmlu Zm8oIiVzIiwgaWRlbnRpdHkpCi0rCi0rICAgICAgICAgICAgaWYgbGVuKGNsZWFuZ3JvdXBzKSA+ IDA6Ci0rICAgICAgICAgICAgICAgICMgR2V0IElEcmFuZ2UgbmFtZSBiYXNlCi0rICAgICAgICAg ICAgICAgIGJhc2VuYW1lID0gZ2V0X3JhbmdlbmFtZV9iYXNlKHNlbGYuaWRfcmFuZ2VzKQotKwot KyAgICAgICAgICAgICAgICAjIENyZWF0ZSBwcm9wb3NhbHMgZm9yIG5ldyByYW5nZXMgZnJvbSBn cm91cHMKLSsgICAgICAgICAgICAgICAgZm9yIGdyb3VwIGluIGNsZWFuZ3JvdXBzOgotKyAgICAg ICAgICAgICAgICAgICAgbmV3cmFuZ2UgPSBwcm9wb3NlX3JhbmdlKAotKyAgICAgICAgICAgICAg ICAgICAgICAgIGdyb3VwLAotKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuaWRfcmFuZ2Vz LAotKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYub3B0aW9ucy5yaWRvZmZzZXQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgYmFzZW5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5vcHRpb25zLm5vcm91bmRpbmcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5v cHRpb25zLmFsbG93dW5kZXIxMDAwCi0rICAgICAgICAgICAgICAgICAgICApCi0rICAgICAgICAg ICAgICAgICAgICBpZiBuZXdyYW5nZSBpcyBub3QgTm9uZToKLSsgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLnByb3Bvc2Fsc19uZXcuYXBwZW5kKG5ld3JhbmdlKQotKyAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuaWRfcmFuZ2VzLmFwcGVuZChuZXdyYW5nZSkKLSsgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLmlkX3Jhbmdlcy5zb3J0KGtleT1sYW1iZGEgeDogeC5maXJzdF9pZCkK LSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygKLSsgICAg ICAgICAgICAgICAgICAgICJcbk5vIElEcyBmaXQgdGhlIGNyaXRlcmlhIGZvciBhIG5ldyBJRCBy YW5nZSB0byBwcm9wb3NlISIKLSsgICAgICAgICAgICAgICAgKQotKwotKyAgICBkZWYgcHJpbnRf aW50ZW50aW9ucyhzZWxmKSAtPiBOb25lOgotKyAgICAgICAgIiIiRnVuY3Rpb24gdG8gcHJpbnQg b3V0IHRoZSBzdW1tYXJ5IG9mIHRoZSBwcm9wb3NlZCBjaGFuZ2VzIiIiCi0rICAgICAgICBsb2dn ZXIuaW5mbygiXG5TdW1tYXJ5OiIpCi0rCi0rICAgICAgICBpZiBsZW4oc2VsZi5vdXRsaWVycykg PiAwOgotKyAgICAgICAgICAgIGxvZ2dlci5pbmZvKCJPdXRsaWVyIElEcyB0aGF0IGFyZSB0b28g ZmFyIGF3YXkgdG8gZ2V0IGEgcmFuZ2U6IikKLSsgICAgICAgICAgICBmb3IgaWRlbnRpdHkgaW4g c2VsZi5vdXRsaWVyczoKLSsgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIiVzIiwgaWRlbnRp dHkpCi0rCi0rICAgICAgICBpZiBsZW4oc2VsZi51bmRlcjEwMDApID4gMDoKLSsgICAgICAgICAg ICBpZiBzZWxmLm9wdGlvbnMuYWxsb3d1bmRlcjEwMDA6Ci0rICAgICAgICAgICAgICAgIGxvZ2dl ci5pbmZvKCJJRHMgdW5kZXIgMTAwMCB3ZXJlIHRyZWF0ZWQgbGlrZSBub3JtYWwgSURzLiIpCi0r ICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgbG9nZ2VyLmluZm8oIklEcyB1bmRl ciAxMDAwOiIpCi0rICAgICAgICAgICAgICAgIGZvciBpZGVudGl0eSBpbiBzZWxmLnVuZGVyMTAw MDoKLSsgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKCIlcyIsIGlkZW50aXR5KQotKyAg ICAgICAgZWxzZToKLSsgICAgICAgICAgICBsb2dnZXIuaW5mbygiTm8gSURzIHVuZGVyIDEwMDAg Zm91bmQuIikKLSsKLSsgICAgICAgIGlmIGxlbihzZWxmLnByb3Bvc2Fsc19yaWQpID4gMDoKLSsg ICAgICAgICAgICBsb2dnZXIuaW5mbygiUHJvcG9zZWQgY2hhbmdlcyB0byBleGlzdGluZyByYW5n ZXM6IikKLSsgICAgICAgICAgICBmb3IgaWRfcmFuZ2UgaW4gc2VsZi5wcm9wb3NhbHNfcmlkOgot KyAgICAgICAgICAgICAgICBsb2dnZXIuaW5mbygKLSsgICAgICAgICAgICAgICAgICAgICJSYW5n ZSAnJXMnIC0gYmFzZSBSSUQ6ICVzLCBzZWNvbmRhcnkgYmFzZSBSSUQ6ICVzIiwKLSsgICAgICAg ICAgICAgICAgICAgIGlkX3JhbmdlLm5hbWUsCi0rICAgICAgICAgICAgICAgICAgICBpZF9yYW5n ZS5iYXNlX3JpZCwKLSsgICAgICAgICAgICAgICAgICAgIGlkX3JhbmdlLnNlY29uZGFyeV9iYXNl X3JpZCwKLSsgICAgICAgICAgICAgICAgKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBs b2dnZXIuaW5mbygiTm8gY2hhbmdlcyBwcm9wb3NlZCBmb3IgZXhpc3RpbmcgcmFuZ2VzLiIpCi0r Ci0rICAgICAgICBpZiBsZW4oc2VsZi5wcm9wb3NhbHNfbmV3KSA+IDA6Ci0rICAgICAgICAgICAg bG9nZ2VyLmluZm8oIlByb3Bvc2VkIG5ldyByYW5nZXM6IikKLSsgICAgICAgICAgICBmb3IgaWRf cmFuZ2UgaW4gc2VsZi5wcm9wb3NhbHNfbmV3OgotKyAgICAgICAgICAgICAgICBsb2dnZXIuaW5m bygiJXMiLCBpZF9yYW5nZSkKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgbG9nZ2VyLmlu Zm8oIk5vIG5ldyByYW5nZXMgcHJvcG9zZWQuIikKLSsKLSsjIFdvcmtpbmcgd2l0aCBvdXRwdXQK LSsjIHJlZ2lvbgotKwotKwotK2RlZiBkcmF3X2FzY2lpX3RhYmxlKGlkX3JhbmdlczogTGlzdFtJ RFJhbmdlXSwgc3Rkb3V0OiBib29sID0gRmFsc2UpIC0+IE5vbmU6Ci0rICAgICIiIkZ1bmN0aW9u IHRvIGRyYXcgYSB0YWJsZSB3aXRoIElEIHJhbmdlcyBpbiBBU0NJSSIiIgotKyAgICB0YWJsZTog c3RyID0gIlxuIgotKyAgICAjIENhbGN1bGF0ZSB0aGUgbWF4aW11bSB3aWR0aCByZXF1aXJlZCBm b3IgZWFjaCBjb2x1bW4gdXNpbmcgY29sdW1uIG5hbWVzCi0rICAgIG1heF93aWR0aHMgPSB7Ci0r ICAgICAgICBjb2x1bW46IG1heCgKLSsgICAgICAgICAgICBsZW4oc3RyKGNvbHVtbikpLAotKyAg ICAgICAgICAgIG1heCgKLSsgICAgICAgICAgICAgICAgKAotKyAgICAgICAgICAgICAgICAgICAg bGVuKHN0cihnZXRhdHRyKGlkX3JhbmdlLCBjb2x1bW4pKSkKLSsgICAgICAgICAgICAgICAgICAg IGlmIGdldGF0dHIoaWRfcmFuZ2UsIGNvbHVtbikgaXMgbm90IE5vbmUKLSsgICAgICAgICAgICAg ICAgICAgIGVsc2UgMAotKyAgICAgICAgICAgICAgICApCi0rICAgICAgICAgICAgICAgIGZvciBp ZF9yYW5nZSBpbiBpZF9yYW5nZXMKLSsgICAgICAgICAgICApLAotKyAgICAgICAgKQotKyAgICAg ICAgZm9yIGNvbHVtbiBpbiBbCi0rICAgICAgICAgICAgIm5hbWUiLAotKyAgICAgICAgICAgICJ0 eXBlIiwKLSsgICAgICAgICAgICAic2l6ZSIsCi0rICAgICAgICAgICAgImZpcnN0X2lkIiwKLSsg ICAgICAgICAgICAibGFzdF9pZCIsCi0rICAgICAgICAgICAgImJhc2VfcmlkIiwKLSsgICAgICAg ICAgICAibGFzdF9iYXNlX3JpZCIsCi0rICAgICAgICAgICAgInNlY29uZGFyeV9iYXNlX3JpZCIs Ci0rICAgICAgICAgICAgImxhc3Rfc2Vjb25kYXJ5X3JpZCIsCi0rICAgICAgICBdCi0rICAgIH0K LSsKLSsgICAgIyBEcmF3IHRoZSB0YWJsZSBoZWFkZXIKLSsgICAgaGVhZGVyID0gInwgIgotKyAg ICBmb3IgY29sdW1uLCB3aWR0aCBpbiBtYXhfd2lkdGhzLml0ZW1zKCk6Ci0rICAgICAgICBoZWFk ZXIgKz0gZiJ7Y29sdW1uLmxqdXN0KHdpZHRoKX0gfCAiCi0rICAgIGhvcml6b250YWxfbGluZSA9 ICItIiAqIChsZW4oaGVhZGVyKSAtIDEpCi0rICAgIHRhYmxlICs9IGhvcml6b250YWxfbGluZSAr ICJcbiIKLSsgICAgdGFibGUgKz0gaGVhZGVyICsgIlxuIgotKyAgICB0YWJsZSArPSBob3Jpem9u dGFsX2xpbmUgKyAiXG4iCi0rCi0rICAgICMgRHJhdyB0aGUgdGFibGUgcm93cwotKyAgICBmb3Ig aWRfcmFuZ2UgaW4gaWRfcmFuZ2VzOgotKyAgICAgICAgcm93ID0gInwgIgotKyAgICAgICAgZm9y IGNvbHVtbiwgd2lkdGggaW4gbWF4X3dpZHRocy5pdGVtcygpOgotKyAgICAgICAgICAgIHZhbHVl ID0gZ2V0YXR0cihpZF9yYW5nZSwgY29sdW1uKQotKyAgICAgICAgICAgIGlmIHZhbHVlIGlzIG5v dCBOb25lOgotKyAgICAgICAgICAgICAgICByb3cgKz0gZiJ7c3RyKHZhbHVlKS5yanVzdCh3aWR0 aCl9IHwgIgotKyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgICMgQWRkaW5nIHRo ZSBzZXBhcmF0b3IKLSsgICAgICAgICAgICAgICAgcm93ICs9ICIgIiAqICh3aWR0aCArIDEpICsg InwgIgotKyAgICAgICAgdGFibGUgKz0gcm93ICsgIlxuIgotKyAgICB0YWJsZSArPSBob3Jpem9u dGFsX2xpbmUgKyAiXG4iCi0rICAgIGlmIHN0ZG91dDoKLSsgICAgICAgIHByaW50KHRhYmxlKQot KyAgICBlbHNlOgotKyAgICAgICAgbG9nZ2VyLmluZm8odGFibGUpCi0rIyBlbmRyZWdpb24KLSsj IFJlYWRpbmcgZnJvbSBMREFQCi0rIyByZWdpb24KLSsKLSsKLStkZWYgcmVhZF9yYW5nZXMoc3Vm Zml4KSAtPiBMaXN0W0lEUmFuZ2VdOgotKyAgICAiIiJGdW5jdGlvbiB0byByZWFkIElEIHJhbmdl cyBmcm9tIExEQVAiIiIKLSsgICAgaWRfcmFuZ2VzOiBJRFJhbmdlID0gW10KLSsgICAgdHJ5Ogot KyAgICAgICAgcmFuZ2VzID0gYXBpLkJhY2tlbmQubGRhcDIuZ2V0X2VudHJpZXMoCi0rICAgICAg ICAgICAgRE4oYXBpLmVudi5jb250YWluZXJfcmFuZ2VzLCBzdWZmaXgpLAotKyAgICAgICAgICAg IGxkYXAuU0NPUEVfT05FTEVWRUwsCi0rICAgICAgICAgICAgIihvYmplY3RjbGFzcz1pcGFJRFJh bmdlKSIsCi0rICAgICAgICApCi0rICAgIGV4Y2VwdCBlcnJvcnMuTm90Rm91bmQ6Ci0rICAgICAg ICBsb2dnZXIuZXJyb3IoIkxEQVBFcnJvcjogTm8gcmFuZ2VzIGZvdW5kISIpCi0rICAgIGV4Y2Vw dCBlcnJvcnMuRXhlY3V0aW9uRXJyb3IgYXMgZToKLSsgICAgICAgIGxvZ2dlci5lcnJvcigiRXhj ZXB0aW9uIHdoaWxlIHJlYWRpbmcgdXNlcnM6ICVzIiwgZSkKLSsgICAgZWxzZToKLSsgICAgICAg IGZvciBlbnRyeSBpbiByYW5nZXM6Ci0rICAgICAgICAgICAgc3YgPSBlbnRyeS5zaW5nbGVfdmFs dWUKLSsgICAgICAgICAgICBpZF9yYW5nZSA9IElEUmFuZ2UoKQotKyAgICAgICAgICAgIGlkX3Jh bmdlLm5hbWUgPSBzdi5nZXQoImNuIikKLSsgICAgICAgICAgICBpZF9yYW5nZS5zaXplID0gaW50 KHN2LmdldCgiaXBhaWRyYW5nZXNpemUiKSkKLSsgICAgICAgICAgICBpZF9yYW5nZS5maXJzdF9p ZCA9IGludChzdi5nZXQoImlwYWJhc2VpZCIpKQotKyAgICAgICAgICAgIGlkX3JhbmdlLmJhc2Vf cmlkID0gKAotKyAgICAgICAgICAgICAgICBpbnQoc3YuZ2V0KCJpcGFiYXNlcmlkIikpIGlmIHN2 LmdldCgiaXBhYmFzZXJpZCIpIGVsc2UgTm9uZQotKyAgICAgICAgICAgICkKLSsgICAgICAgICAg ICBpZF9yYW5nZS5zZWNvbmRhcnlfYmFzZV9yaWQgPSAoCi0rICAgICAgICAgICAgICAgIGludChz di5nZXQoImlwYXNlY29uZGFyeWJhc2VyaWQiKSkKLSsgICAgICAgICAgICAgICAgaWYgc3YuZ2V0 KCJpcGFzZWNvbmRhcnliYXNlcmlkIikKLSsgICAgICAgICAgICAgICAgZWxzZSBOb25lCi0rICAg ICAgICAgICAgKQotKyAgICAgICAgICAgIGlkX3JhbmdlLnN1ZmZpeCA9IHN1ZmZpeAotKyAgICAg ICAgICAgIGlkX3JhbmdlLnR5cGUgPSBzdi5nZXQoImlwYXJhbmdldHlwZSIpCi0rICAgICAgICAg ICAgaWRfcmFuZ2UuZG4gPSBlbnRyeS5kbgotKwotKyAgICAgICAgICAgIGlkX3JhbmdlLl9jb3Vu dCgpCi0rICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJJRCByYW5nZSBmb3VuZDogJXMiLCBpZF9y YW5nZSkKLSsKLSsgICAgICAgICAgICBpZF9yYW5nZXMuYXBwZW5kKGlkX3JhbmdlKQotKwotKyAg ICAgICAgaWRfcmFuZ2VzLnNvcnQoa2V5PWxhbWJkYSB4OiB4LmZpcnN0X2lkKQotKyAgICByZXR1 cm4gaWRfcmFuZ2VzCi0rCi0rCi0rZGVmIHJlYWRfb3V0b2ZyYW5nZV9pZGVudGl0aWVzKHN1ZmZp eCwgaWRfcmFuZ2VzKSAtPiBMaXN0W0lEZW50aXR5XToKLSsgICAgIiIiRnVuY3Rpb24gdG8gcmVh ZCBvdXQgb2YgcmFuZ2UgdXNlcnMgYW5kIGdyb3VwcyBmcm9tIExEQVAiIiIKLSsgICAgdXNlcnNf b3V0b2ZyYW5nZSA9IHJlYWRfbGRhcF9pZHMoCi0rICAgICAgICBETihhcGkuZW52LmNvbnRhaW5l cl91c2VyLCBzdWZmaXgpLAotKyAgICAgICAgVHJ1ZSwKLSsgICAgICAgIGlkX3JhbmdlcwotKyAg ICApCi0rICAgIGxvZ2dlci5pbmZvKCJVc2VycyBvdXQgb2YgcmFuZ2UgZm91bmQ6ICVzIiwgbGVu KHVzZXJzX291dG9mcmFuZ2UpKQotKyAgICBkZWxfb3V0b2ZyYW5nZSA9IHJlYWRfbGRhcF9pZHMo Ci0rICAgICAgICBETihhcGkuZW52LmNvbnRhaW5lcl9kZWxldGV1c2VyLCBzdWZmaXgpLAotKyAg ICAgICAgVHJ1ZSwKLSsgICAgICAgIGlkX3JhbmdlcwotKyAgICApCi0rICAgIGxvZ2dlci5pbmZv KCJQcmVzZXJ2ZWQgdXNlcnMgb3V0IG9mIHJhbmdlIGZvdW5kOiAlcyIsIGxlbihkZWxfb3V0b2Zy YW5nZSkpCi0rICAgIGdyb3Vwc19vdXRvZnJhbmdlID0gcmVhZF9sZGFwX2lkcygKLSsgICAgICAg IEROKGFwaS5lbnYuY29udGFpbmVyX2dyb3VwLCBzdWZmaXgpLAotKyAgICAgICAgRmFsc2UsCi0r ICAgICAgICBpZF9yYW5nZXMKLSsgICAgKQotKyAgICBsb2dnZXIuaW5mbygiR3JvdXBzIG91dCBv ZiByYW5nZSBmb3VuZDogJXMiLCBsZW4oZ3JvdXBzX291dG9mcmFuZ2UpKQotKyAgICBvdXRvZnJh bmdlID0gdXNlcnNfb3V0b2ZyYW5nZSArIGRlbF9vdXRvZnJhbmdlICsgZ3JvdXBzX291dG9mcmFu Z2UKLSsgICAgb3V0b2ZyYW5nZS5zb3J0KGtleT1sYW1iZGEgeDogeC5udW1iZXIpCi0rICAgIHJl dHVybiBvdXRvZnJhbmdlCi0rCi0rCi0rZGVmIHJlYWRfbGRhcF9pZHMoY29udGFpbmVyX2RuLCB1 c2VyOiBib29sLCBpZF9yYW5nZXMpIC0+IExpc3RbSURlbnRpdHldOgotKyAgICAiIiJGdW5jdGlv biB0byByZWFkIElEcyBmcm9tIGNvbnRhaW50ZXIgaW4gTERBUCIiIgotKyAgICBpZF9lbnRpdGll cyA9IFtdCi0rICAgIGlmIHVzZXI6Ci0rICAgICAgICBpZF9uYW1lID0gInVzZXIiCi0rICAgICAg ICBsZGFwX2ZpbHRlciA9IGdldF9vdXRvZnJhbmdlX2ZpbHRlcigKLSsgICAgICAgICAgICBpZF9y YW5nZXMsCi0rICAgICAgICAgICAgInBvc2l4YWNjb3VudCIsCi0rICAgICAgICAgICAgInVpZE51 bWJlciIKLSsgICAgICAgICkKLSsgICAgZWxzZToKLSsgICAgICAgIGlkX25hbWUgPSAiZ3JvdXAi Ci0rICAgICAgICBsZGFwX2ZpbHRlciA9IGdldF9vdXRvZnJhbmdlX2ZpbHRlcigKLSsgICAgICAg ICAgICBpZF9yYW5nZXMsCi0rICAgICAgICAgICAgInBvc2l4Z3JvdXAiLAotKyAgICAgICAgICAg ICJnaWROdW1iZXIiCi0rICAgICAgICApCi0rCi0rICAgIGxvZ2dlci5kZWJ1ZygiU2VhcmNoaW5n ICVzcyBpbiAlcyB3aXRoIGZpbHRlcjogJXMiLCBpZF9uYW1lLCBjb250YWluZXJfZG4sCi0rICAg ICAgICAgICAgICAgICBsZGFwX2ZpbHRlcikKLSsgICAgdHJ5OgotKyAgICAgICAgaWRlbnRpdGll cyA9IGFwaS5CYWNrZW5kLmxkYXAyLmdldF9lbnRyaWVzKAotKyAgICAgICAgICAgIGNvbnRhaW5l cl9kbiwKLSsgICAgICAgICAgICBsZGFwLlNDT1BFX09ORUxFVkVMLAotKyAgICAgICAgICAgIGxk YXBfZmlsdGVyLAotKyAgICAgICAgKQotKyAgICAgICAgZm9yIGVudHJ5IGluIGlkZW50aXRpZXM6 Ci0rICAgICAgICAgICAgaWRfZW50aXRpZXMuYXBwZW5kKHJlYWRfaWRlbnRpdHkoZW50cnksIHVz ZXIpKQotKyAgICBleGNlcHQgZXJyb3JzLk5vdEZvdW5kOgotKyAgICAgICAgbG9nZ2VyLmRlYnVn KCJObyBvdXQgb2YgcmFuZ2UgJXNzIGZvdW5kIGluICVzISIsIGlkX25hbWUsIGNvbnRhaW5lcl9k bikKLSsgICAgZXhjZXB0IGVycm9ycy5FeGVjdXRpb25FcnJvciBhcyBlOgotKyAgICAgICAgbG9n Z2VyLmVycm9yKCJFeGNlcHRpb24gd2hpbGUgcmVhZGluZyAlczogJXMiLCBjb250YWluZXJfZG4s IGUpCi0rICAgIHJldHVybiBpZF9lbnRpdGllcwotKwotKwotK2RlZiByZWFkX2lkZW50aXR5KGxk YXBlbnRyeSwgdXNlcjogYm9vbCA9IFRydWUpIC0+IElEZW50aXR5OgotKyAgICAiIiJGdW5jdGlv biB0byBjb252ZXJ0IExEQVAgZW50cnkgdG8gSURlbnRpdHkgb2JqZWN0IiIiCi0rICAgIHN2ID0g bGRhcGVudHJ5LnNpbmdsZV92YWx1ZQotKyAgICBpZF9lbnRpdHkgPSBJRGVudGl0eSgpCi0rICAg IGlkX2VudGl0eS5kbiA9IGxkYXBlbnRyeS5kbgotKyAgICBpZF9lbnRpdHkubmFtZSA9IHN2Lmdl dCgiY24iKQotKyAgICBpZF9lbnRpdHkubnVtYmVyID0gKAotKyAgICAgICAgaW50KHN2LmdldCgi dWlkTnVtYmVyIikpIGlmIHVzZXIgZWxzZSBpbnQoc3YuZ2V0KCJnaWROdW1iZXIiKSkKLSsgICAg KQotKyAgICBpZF9lbnRpdHkudXNlciA9IHVzZXIKLSsgICAgbG9nZ2VyLmRlYnVnKCJPdXQgb2Yg cmFuZ2UgZm91bmQ6ICVzIiwgaWRfZW50aXR5LmRlYnVnKCkpCi0rICAgIHJldHVybiBpZF9lbnRp dHkKLSsKLSsKLStkZWYgZ2V0X291dG9mcmFuZ2VfZmlsdGVyKAotKyAgICBpZF9yYW5nZXNfYWxs OiBMaXN0W0lEUmFuZ2VdLCBvYmplY3RfY2xhc3M6IHN0ciwgcG9zaXhfaWQ6IHN0cgotKykgLT4g c3RyOgotKyAgICAiIiJGdW5jdGlvbiB0byBjcmVhdGUgTERBUCBmaWx0ZXIgZm9yIG91dCBvZiBy YW5nZSB1c2VycyBhbmQgZ3JvdXBzIiIiCi0rICAgICMgd2UgbmVlZCB0byBsb29rIG9ubHkgZm9y IGlwYS1sb2NhbCByYW5nZXMKLSsgICAgaWRfcmFuZ2VzID0gZ2V0X2lwYV9sb2NhbF9yYW5nZXMo aWRfcmFuZ2VzX2FsbCkKLSsKLSsgICAgbGRhcF9maWx0ZXIgPSBmIigmKG9iamVjdENsYXNzPXtv YmplY3RfY2xhc3N9KSh8IgotKwotKyAgICAjIGFkZGluZyBnYXBzIGluIHJhbmdlcyB0byB0aGUg ZmlsdGVyCi0rICAgIGZvciBpIGluIHJhbmdlKGxlbihpZF9yYW5nZXMpICsgMSk6Ci0rICAgICAg ICBpZiBpID09IDA6Ci0rICAgICAgICAgICAgc3RhcnRfY29uZGl0aW9uID0gZiIoe3Bvc2l4X2lk fT49MSkiCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIHN0YXJ0X2NvbmRpdGlvbiA9IGYi KHtwb3NpeF9pZH0+PXtpZF9yYW5nZXNbaSAtIDFdLmxhc3RfaWQgKyAxfSkiCi0rCi0rICAgICAg ICBpZiBpIDwgbGVuKGlkX3Jhbmdlcyk6Ci0rICAgICAgICAgICAgZW5kX2NvbmRpdGlvbiA9IGYi KHtwb3NpeF9pZH08PXtpZF9yYW5nZXNbaV0uZmlyc3RfaWQgLSAxfSkiCi0rICAgICAgICBlbHNl OgotKyAgICAgICAgICAgIGVuZF9jb25kaXRpb24gPSBmIih7cG9zaXhfaWR9PD0yMTQ3NDgzNjQ3 KSIKLSsKLSsgICAgICAgIGxkYXBfZmlsdGVyICs9IGYiKCZ7c3RhcnRfY29uZGl0aW9ufXtlbmRf Y29uZGl0aW9ufSkiCi0rCi0rICAgIGxkYXBfZmlsdGVyICs9ICIpKSIKLSsKLSsgICAgcmV0dXJu IGxkYXBfZmlsdGVyCi0rIyBlbmRyZWdpb24KLSsjIFdyaXRpbmcgdG8gTERBUAotKyMgcmVnaW9u Ci0rCi0rCi0rZGVmIGFwcGx5X3JpZGJhc2VzKGlkX3JhbmdlOiBJRFJhbmdlKSAtPiBOb25lOgot KyAgICAiIiJGdW50aW9uIHRvIGFwcGx5IFJJRCBiYXNlcyB0byB0aGUgcmFuZ2UgaW4gTERBUCIi IgotKyAgICB0cnk6Ci0rICAgICAgICBhcGkuQmFja2VuZC5sZGFwMi5tb2RpZnlfcygKLSsgICAg ICAgICAgICBpZF9yYW5nZS5kbiwKLSsgICAgICAgICAgICBbCi0rICAgICAgICAgICAgICAgIChs ZGFwLk1PRF9BREQsICJpcGFCYXNlUklEIiwgc3RyKGlkX3JhbmdlLmJhc2VfcmlkKSksCi0rICAg ICAgICAgICAgICAgICgKLSsgICAgICAgICAgICAgICAgICAgIGxkYXAuTU9EX0FERCwKLSsgICAg ICAgICAgICAgICAgICAgICJpcGFTZWNvbmRhcnlCYXNlUklEIiwKLSsgICAgICAgICAgICAgICAg ICAgIHN0cihpZF9yYW5nZS5zZWNvbmRhcnlfYmFzZV9yaWQpLAotKyAgICAgICAgICAgICAgICAp LAotKyAgICAgICAgICAgIF0sCi0rICAgICAgICApCi0rICAgICAgICBsb2dnZXIuaW5mbygiUklE IGJhc2VzIHVwZGF0ZWQgZm9yIHJhbmdlICclcyciLCBpZF9yYW5nZS5uYW1lKQotKwotKyAgICBl eGNlcHQgbGRhcC5DT05TVFJBSU5UX1ZJT0xBVElPTiBhcyBlOgotKyAgICAgICAgbG9nZ2VyLmVy cm9yKAotKyAgICAgICAgICAgICJGYWlsZWQgdG8gYWRkIFJJRCBiYXNlcyB0byB0aGUgcmFuZ2Ug JyVzJzogJXMiLAotKyAgICAgICAgICAgIGlkX3JhbmdlLm5hbWUsCi0rICAgICAgICAgICAgZQot KyAgICAgICAgKQotKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJDb25zdHJhaW50IHZpb2xh dGlvbi5cbiIpIGZyb20gZQotKwotKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0rICAgICAg ICBsb2dnZXIuZXJyb3IoCi0rICAgICAgICAgICAgIkV4Y2VwdGlvbiB3aGlsZSB1cGRhdGluZyBS SUQgYmFzZXMgZm9yIHJhbmdlICclcyc6ICVzIiwKLSsgICAgICAgICAgICBpZF9yYW5nZS5uYW1l LAotKyAgICAgICAgICAgIGUsCi0rICAgICAgICApCi0rICAgICAgICByYWlzZSBSdW50aW1lRXJy b3IoIkZhaWxlZCB0byB1cGRhdGUgUklEIGJhc2VzLlxuIikgZnJvbSBlCi0rCi0rCi0rZGVmIGNy ZWF0ZV9yYW5nZShpZF9yYW5nZTogSURSYW5nZSkgLT4gTm9uZToKLSsgICAgIiIiRnVuY3Rpb24g dG8gY3JlYXRlIGEgbmV3IHJhbmdlIGluIExEQVAiIiIKLSsgICAgdHJ5OgotKyAgICAgICAgbG9n Z2VyLmluZm8oIkNyZWF0aW5nIHJhbmdlICclcycuLi4iLCBpZF9yYW5nZS5uYW1lKQotKwotKyAg ICAgICAgZW50cnkgPSBhcGkuQmFja2VuZC5sZGFwMi5tYWtlX2VudHJ5KAotKyAgICAgICAgICAg IEROKGlkX3JhbmdlLmRuKSwKLSsgICAgICAgICAgICBvYmplY3RjbGFzcz1bImlwYUlEUmFuZ2Ui LCAiaXBhRG9tYWluSURSYW5nZSJdLAotKyAgICAgICAgICAgIGlwYWlkcmFuZ2VzaXplPVtzdHIo aWRfcmFuZ2Uuc2l6ZSldLAotKyAgICAgICAgICAgIGlwYWJhc2VpZD1bc3RyKGlkX3JhbmdlLmZp cnN0X2lkKV0sCi0rICAgICAgICAgICAgaXBhYmFzZXJpZD1bc3RyKGlkX3JhbmdlLmJhc2Vfcmlk KV0sCi0rICAgICAgICAgICAgaXBhc2Vjb25kYXJ5YmFzZXJpZD1bc3RyKGlkX3JhbmdlLnNlY29u ZGFyeV9iYXNlX3JpZCldLAotKyAgICAgICAgICAgIGlwYXJhbmdldHlwZT1baWRfcmFuZ2UudHlw ZV0sCi0rICAgICAgICApCi0rCi0rICAgICAgICBhcGkuQmFja2VuZC5sZGFwMi5hZGRfZW50cnko ZW50cnkpCi0rICAgICAgICBsb2dnZXIuaW5mbygiUmFuZ2UgJyVzJyBjcmVhdGVkIHN1Y2Nlc3Nm dWxseSIsIGlkX3JhbmdlLm5hbWUpCi0rICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSsgICAg ICAgIGxvZ2dlci5lcnJvcigKLSsgICAgICAgICAgICAiRXhjZXB0aW9uIHdoaWxlIGNyZWF0aW5n IHJhbmdlICclcyc6ICVzIiwKLSsgICAgICAgICAgICBpZF9yYW5nZS5uYW1lLAotKyAgICAgICAg ICAgIGUKLSsgICAgICAgICkKLSsgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigiRmFpbGVkIHRv IGNyZWF0ZSByYW5nZS5cbiIpIGZyb20gZQotKyMgZW5kcmVnaW9uCi0rIyBXb3JraW5nIHdpdGgg cmFuZ2VzCi0rIyByZWdpb24KLSsKLSsKLStkZWYgZ2V0X2lwYV9sb2NhbF9yYW5nZXMoaWRfcmFu Z2VzOiBMaXN0W0lEUmFuZ2VdKSAtPiBMaXN0W0lEUmFuZ2VdOgotKyAgICAiIiJGdW5jdGlvbiB0 byBnZXQgb25seSBpcGEtbG9jYWwgcmFuZ2VzIGZyb20gdGhlIGxpc3Qgb2YgcmFuZ2VzIiIiCi0r ICAgIGlwYV9sb2NhbF9yYW5nZXMgPSBbXQotKwotKyAgICBmb3IgaWRfcmFuZ2UgaW4gaWRfcmFu Z2VzOgotKyAgICAgICAgaWYgaWRfcmFuZ2UudHlwZSA9PSAiaXBhLWxvY2FsIjoKLSsgICAgICAg ICAgICBpcGFfbG9jYWxfcmFuZ2VzLmFwcGVuZChpZF9yYW5nZSkKLSsKLSsgICAgcmV0dXJuIGlw YV9sb2NhbF9yYW5nZXMKLSsKLSsKLStkZWYgcmFuZ2Vfb3ZlcmxhcF9jaGVjaygKLSsgICAgcmFu Z2UxX3N0YXJ0OiBpbnQsIHJhbmdlMV9lbmQ6IGludCwgcmFuZ2UyX3N0YXJ0OiBpbnQsIHJhbmdl Ml9lbmQ6IGludAotKykgLT4gYm9vbDoKLSsgICAgIiIiRnVuY3Rpb24gdG8gY2hlY2sgaWYgdHdv IHJhbmdlcyBvdmVybGFwIiIiCi0rICAgICMgRmFsc2Ugd2hlbiBvdmVybGFwcGluZwotKyAgICBy ZXR1cm4gbm90IChyYW5nZTFfc3RhcnQgPD0gcmFuZ2UyX2VuZCBhbmQgcmFuZ2UyX3N0YXJ0IDw9 IHJhbmdlMV9lbmQpCi0rCi0rCi0rZGVmIHJhbmdlX292ZXJsYXBfY2hlY2tfaWRyYW5nZShyYW5n ZTE6IElEUmFuZ2UsIHJhbmdlMjogSURSYW5nZSkgLT4gYm9vbDoKLSsgICAgIiIiRnVuY3Rpb24g dG8gY2hlY2sgaWYgdHdvIHJhbmdlcyBvdmVybGFwIiIiCi0rICAgICMgRmFsc2Ugd2hlbiBvdmVy bGFwcGluZwotKyAgICByZXR1cm4gcmFuZ2Vfb3ZlcmxhcF9jaGVjaygKLSsgICAgICAgIHJhbmdl MS5maXJzdF9pZCwgcmFuZ2UxLmxhc3RfaWQsIHJhbmdlMi5maXJzdF9pZCwgcmFuZ2UyLmxhc3Rf aWQpCi0rCi0rCi0rZGVmIG5ld3JhbmdlX292ZXJsYXBfY2hlY2soCi0rICAgIGlkX3Jhbmdlczog TGlzdFtJRFJhbmdlXSwgbmV3cmFuZ2U6IElEUmFuZ2UKLSspIC0+IGJvb2w6Ci0rICAgICIiIkZ1 bmN0aW9uIHRvIGNoZWNrIGlmIHByb3Bvc2VkIHJhbmdlIG92ZXJsYXBzIHdpdGggZXhpc3Rpbmcg b25lcyIiIgotKyAgICBmb3IgaWRfcmFuZ2UgaW4gaWRfcmFuZ2VzOgotKyAgICAgICAgaWYgbm90 IHJhbmdlX292ZXJsYXBfY2hlY2tfaWRyYW5nZShpZF9yYW5nZSwgbmV3cmFuZ2UpOgotKyAgICAg ICAgICAgIHJldHVybiBGYWxzZQotKyAgICByZXR1cm4gVHJ1ZQotKwotKwotK2RlZiByYW5nZXNf b3ZlcmxhcF9jaGVjayhpZF9yYW5nZXM6IExpc3RbSURSYW5nZV0pIC0+IGJvb2w6Ci0rICAgICIi IkZ1bmN0aW9uIHRvIGNoZWNrIGlmIGFueSBvZiB0aGUgZXhpc3RpbmcgcmFuZ2VzIG92ZXJsYXAi IiIKLSsgICAgaWYgbGVuKGlkX3JhbmdlcykgPCAyOgotKyAgICAgICAgcmV0dXJuIFRydWUKLSsg ICAgZm9yIGkgaW4gcmFuZ2UobGVuKGlkX3JhbmdlcykgLSAxKToKLSsgICAgICAgIGZvciBqIGlu IHJhbmdlKGkgKyAxLCBsZW4oaWRfcmFuZ2VzKSk6Ci0rICAgICAgICAgICAgaWYgbm90IHJhbmdl X292ZXJsYXBfY2hlY2tfaWRyYW5nZShpZF9yYW5nZXNbaV0sIGlkX3Jhbmdlc1tqXSk6Ci0rICAg ICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigKLSsgICAgICAgICAgICAgICAgICAgICJSYW5nZXMg JyVzJyBhbmQgJyVzJyBvdmVybGFwISIsCi0rICAgICAgICAgICAgICAgICAgICBpZF9yYW5nZXNb aV0ubmFtZSwKLSsgICAgICAgICAgICAgICAgICAgIGlkX3Jhbmdlc1tqXS5uYW1lLAotKyAgICAg ICAgICAgICAgICApCi0rICAgICAgICAgICAgICAgIHJldHVybiBGYWxzZQotKyAgICByZXR1cm4g VHJ1ZQotKyMgZW5kcmVnaW9uCi0rIyBXb3JraW5nIHdpdGggUklEIGJhc2VzCi0rIyByZWdpb24K LSsKLSsKLStkZWYgcHJvcG9zZV9yaWRfcmFuZ2VzKAotKyAgICBpZF9yYW5nZXM6IExpc3RbSURS YW5nZV0sIGRlbHRhOiBpbnQsIHByb3Bvc2FsczogTGlzdFtJRFJhbmdlXQotKykgLT4gTm9uZToK LSsgICAgIiIiCi0rICAgIEZ1bmN0aW9uIHRvIHByb3Bvc2UgUklEIGJhc2VzIGZvciByYW5nZXMg dGhhdCBkb24ndCBoYXZlIHRoZW0gc2V0LgotKwotKyAgICAtIGRlbHRhIHJlcHJlc2VudHMgaG93 IGZhciB3ZSBzdGFydCBuZXcgYmFzZSBvZmYgZXhpc3RpbmcgcmFuZ2UsCi0rICAgIHVzZWQgaW4g b3JkZXIgdG8gYWxsb3cgZm9yIGZ1dHVyZSBleHBhbnNpb24gb2YgZXhpc3RpbmcgcmFuZ2VzIHVw Ci0rICAgIHRvIFtkZWx0YV0gSURzLgotKyAgICAiIiIKLSsgICAgaXBhX2xvY2FsX3JhbmdlcyA9 IGdldF9pcGFfbG9jYWxfcmFuZ2VzKGlkX3JhbmdlcykKLSsKLSsgICAgZm9yIGlkX3JhbmdlIGlu IGlwYV9sb2NhbF9yYW5nZXM6Ci0rICAgICAgICBwcm9wb3NlZF9iYXNlX3JpZCA9IDAKLSsgICAg ICAgIHByb3Bvc2VkX3NlY29uZGFyeV9iYXNlX3JpZCA9IDAKLSsKLSsgICAgICAgICMgQ2FsY3Vs YXRlIHByb3Bvc2VkIGJhc2UgUklEIGFuZCBzZWNvbmRhcnkgYmFzZSBSSUQKLSsgICAgICAgIGlm IGlkX3JhbmdlLmJhc2VfcmlkIGlzIE5vbmU6Ci0rICAgICAgICAgICAgcmVzdWx0LCBwcm9wb3Nl ZF9iYXNlX3JpZCA9IHByb3Bvc2VfcmlkX2Jhc2UoCi0rICAgICAgICAgICAgICAgIGlkX3Jhbmdl LCBpcGFfbG9jYWxfcmFuZ2VzLCBkZWx0YSwgVHJ1ZQotKyAgICAgICAgICAgICkKLSsgICAgICAg ICAgICBpZiByZXN1bHQ6Ci0rICAgICAgICAgICAgICAgIGlkX3JhbmdlLmJhc2VfcmlkID0gcHJv cG9zZWRfYmFzZV9yaWQKLSsgICAgICAgICAgICAgICAgaWRfcmFuZ2UubGFzdF9iYXNlX3JpZCA9 IHByb3Bvc2VkX2Jhc2VfcmlkICsgaWRfcmFuZ2Uuc2l6ZQotKyAgICAgICAgICAgIGVsc2U6Ci0r ICAgICAgICAgICAgICAgICMgaWYgdGhpcyBmYWlscyB0b28sIHdlIHByaW50IHRoZSB3YXJuaW5n IGFuZCBhYmFuZG9uIHRoZSBpZGVhCi0rICAgICAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAot KyAgICAgICAgICAgICAgICAgICAgIldhcm5pbmc6IFByb3Bvc2VkIGJhc2UgUklEcyAlcyBmb3Ig JyVzJyBib3RoIGZhaWxlZCwgXAotK3BsZWFzZSBhZGp1c3QgbWFudWFsbHkiLAotKyAgICAgICAg ICAgICAgICAgICAgcHJvcG9zZWRfYmFzZV9yaWQsCi0rICAgICAgICAgICAgICAgICAgICBpZF9y YW5nZS5uYW1lLAotKyAgICAgICAgICAgICAgICApCi0rICAgICAgICAgICAgICAgIGNvbnRpbnVl Ci0rCi0rICAgICAgICBpZiBpZF9yYW5nZS5zZWNvbmRhcnlfYmFzZV9yaWQgaXMgTm9uZToKLSsg ICAgICAgICAgICByZXN1bHQsIHByb3Bvc2VkX3NlY29uZGFyeV9iYXNlX3JpZCA9IHByb3Bvc2Vf cmlkX2Jhc2UoCi0rICAgICAgICAgICAgICAgIGlkX3JhbmdlLCBpcGFfbG9jYWxfcmFuZ2VzLCBk ZWx0YSwgRmFsc2UsIHByb3Bvc2VkX2Jhc2VfcmlkCi0rICAgICAgICAgICAgKQotKyAgICAgICAg ICAgIGlmIHJlc3VsdDoKLSsgICAgICAgICAgICAgICAgaWRfcmFuZ2Uuc2Vjb25kYXJ5X2Jhc2Vf cmlkID0gcHJvcG9zZWRfc2Vjb25kYXJ5X2Jhc2VfcmlkCi0rICAgICAgICAgICAgICAgIGlkX3Jh bmdlLmxhc3Rfc2Vjb25kYXJ5X3JpZCA9ICgKLSsgICAgICAgICAgICAgICAgICAgIHByb3Bvc2Vk X3NlY29uZGFyeV9iYXNlX3JpZCArIGlkX3JhbmdlLnNpemUKLSsgICAgICAgICAgICAgICAgKQot KyAgICAgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgICAgICMgaWYgdGhpcyBmYWlscyB0b28s IHdlIHByaW50IHRoZSB3YXJuaW5nIGFuZCBhYmFuZG9uIHRoZSBpZGVhCi0rICAgICAgICAgICAg ICAgIGxvZ2dlci53YXJuaW5nKAotKyAgICAgICAgICAgICAgICAgICAgIldhcm5pbmc6IFByb3Bv c2VkIHNlY29uZGFyeSBiYXNlIFJJRHMgJXMgZm9yICclcycgXAotK2JvdGggZmFpbGVkLCBwbGVh c2UgYWRqdXN0IG1hbnVhbGx5IiwKLSsgICAgICAgICAgICAgICAgICAgIHByb3Bvc2VkX3NlY29u ZGFyeV9iYXNlX3JpZCwKLSsgICAgICAgICAgICAgICAgICAgIGlkX3JhbmdlLm5hbWUsCi0rICAg ICAgICAgICAgICAgICkKLSsgICAgICAgICAgICAgICAgY29udGludWUKLSsKLSsgICAgICAgICMg QWRkIHJhbmdlIHRvIHRoZSBwcm9wb3NhbHMgaWYgd2UgY2hhbmdlZCBzb21ldGhpbmcgc3VjY2Vz c2Z1bGx5Ci0rICAgICAgICBpZiBwcm9wb3NlZF9iYXNlX3JpZCA+IDAgb3IgcHJvcG9zZWRfc2Vj b25kYXJ5X2Jhc2VfcmlkID4gMDoKLSsgICAgICAgICAgICBsb2dnZXIuZGVidWcoCi0rICAgICAg ICAgICAgICAgICJQcm9wb3NlZCBSSURzIGZvciByYW5nZSAnJXMnOiBwcmkgJXMsIHNlYyAlcyIs Ci0rICAgICAgICAgICAgICAgIGlkX3JhbmdlLm5hbWUsCi0rICAgICAgICAgICAgICAgIHByb3Bv c2VkX2Jhc2VfcmlkLAotKyAgICAgICAgICAgICAgICBwcm9wb3NlZF9zZWNvbmRhcnlfYmFzZV9y aWQsCi0rICAgICAgICAgICAgKQotKyAgICAgICAgICAgIHByb3Bvc2Fscy5hcHBlbmQoaWRfcmFu Z2UpCi0rCi0rCi0rZGVmIHByb3Bvc2VfcmlkX2Jhc2UoCi0rICAgIGlkcmFuZ2U6IElEUmFuZ2Us Ci0rICAgIGlwYV9sb2NhbF9yYW5nZXM6IExpc3RbSURSYW5nZV0sCi0rICAgIGRlbHRhOiBpbnQs Ci0rICAgIHByaW1hcnk6IGJvb2wgPSBUcnVlLAotKyAgICBwcmV2aW91c19iYXNlX3JpZDogaW50 ID0gLTEKLSspIC0+IFR1cGxlW2Jvb2wsIHN0cl06Ci0rICAgICIiIgotKyAgICBGdW5jdGlvbiB0 byBwcm9wb3NlIGEgYmFzZSBSSUQgZm9yIGEgcmFuZ2UsIHByaW1hcnkgb3Igc2Vjb25kYXJ5Lgot KyAgICBXZSBhcmUgZ2V0dGluZyB0aGUgYmlnZ2VzdCBiYXNlIFJJRCArIHNpemUgKyBkZWx0YSBh bmQgdHJ5Ci0rICAgIGlmIGl0J3MgYSB2aWFibGUgb3B0aW9uLCBjaGVjayBzYW1lIGtpbmQgZmly c3QsIHRoZW4gdGhlIG90aGVyLgotKyAgICAiIiIKLSsgICAgcHJvcG9zZWRfYmFzZV9yaWQgPSBt YXhfcmlkKGlwYV9sb2NhbF9yYW5nZXMsIHByaW1hcnkpICsgZGVsdGEKLSsgICAgaWYgcHJvcG9z ZWRfYmFzZV9yaWQgPT0gcHJldmlvdXNfYmFzZV9yaWQ6Ci0rICAgICAgICBwcm9wb3NlZF9iYXNl X3JpZCArPSBpZHJhbmdlLnNpemUgKyBkZWx0YQotKyAgICBpZiBjaGVja19yaWRfYmFzZShpcGFf bG9jYWxfcmFuZ2VzLCBwcm9wb3NlZF9iYXNlX3JpZCwgaWRyYW5nZS5zaXplKToKLSsgICAgICAg IHJldHVybiBUcnVlLCBwcm9wb3NlZF9iYXNlX3JpZAotKwotKyAgICAjIGlmIHdlIGZhaWwsIHdl IHRyeSB0aGUgc2FtZSB3aXRoIGJpZ2dlc3Qgb2YgYSBkaWZmZXJlbnQga2luZAotKyAgICBwcm9w b3NlZF9iYXNlX3JpZF9vcmlnID0gcHJvcG9zZWRfYmFzZV9yaWQKLSsgICAgcHJvcG9zZWRfYmFz ZV9yaWQgPSBtYXhfcmlkKGlwYV9sb2NhbF9yYW5nZXMsIG5vdCBwcmltYXJ5KSArIGRlbHRhCi0r ICAgIGlmIHByb3Bvc2VkX2Jhc2VfcmlkID09IHByZXZpb3VzX2Jhc2VfcmlkOgotKyAgICAgICAg cHJvcG9zZWRfYmFzZV9yaWQgKz0gaWRyYW5nZS5zaXplICsgZGVsdGEKLSsgICAgaWYgY2hlY2tf cmlkX2Jhc2UoaXBhX2xvY2FsX3JhbmdlcywgcHJvcG9zZWRfYmFzZV9yaWQsIGlkcmFuZ2Uuc2l6 ZSk6Ci0rICAgICAgICByZXR1cm4gVHJ1ZSwgcHJvcG9zZWRfYmFzZV9yaWQKLSsKLSsgICAgIyBp ZiBpdCBmYWlscywgd2UgcmV0dXJuIGJvdGggUklEIHByb3Bvc2FscyBmb3IgdGhlIHJhbmdlCi0r ICAgIHJldHVybiBGYWxzZSwgZiJ7cHJvcG9zZWRfYmFzZV9yaWRfb3JpZ30gYW5kIHtwcm9wb3Nl ZF9iYXNlX3JpZH0iCi0rCi0rCi0rZGVmIG1heF9yaWQoaWRfcmFuZ2VzOiBMaXN0W0lEUmFuZ2Vd LCBwcmltYXJ5OiBib29sID0gVHJ1ZSkgLT4gaW50OgotKyAgICAiIiJGdW5jdGlvbiB0byBnZXQg bWF4aW11bSBSSUQgb2YgcHJpbWFyeSBvciBzZWNvbmRhcnkgUklEcyIiIgotKyAgICBtYXhpbXVt X3JpZCA9IDAKLSsgICAgZm9yIGlkX3JhbmdlIGluIGlkX3JhbmdlczoKLSsKLSsgICAgICAgICMg bG9va2luZyBvbmx5IGZvciBwcmltYXJ5IFJJRHMKLSsgICAgICAgIGlmIHByaW1hcnk6Ci0rICAg ICAgICAgICAgaWYgaWRfcmFuZ2UubGFzdF9iYXNlX3JpZCBpcyBub3QgTm9uZToKLSsgICAgICAg ICAgICAgICAgbWF4aW11bV9yaWQgPSBtYXgobWF4aW11bV9yaWQsIGlkX3JhbmdlLmxhc3RfYmFz ZV9yaWQpCi0rICAgICAgICAjIGxvb2tpbmcgb25seSBmb3Igc2Vjb25kYXJ5IFJJRHMKLSsgICAg ICAgIGVsc2U6Ci0rICAgICAgICAgICAgaWYgaWRfcmFuZ2UubGFzdF9zZWNvbmRhcnlfcmlkIGlz IG5vdCBOb25lOgotKyAgICAgICAgICAgICAgICBtYXhpbXVtX3JpZCA9IG1heChtYXhpbXVtX3Jp ZCwgaWRfcmFuZ2UubGFzdF9zZWNvbmRhcnlfcmlkKQotKwotKyAgICByZXR1cm4gbWF4aW11bV9y aWQKLSsKLSsKLStkZWYgY2hlY2tfcmlkX2Jhc2UoaWRfcmFuZ2VzOiBMaXN0W0lEUmFuZ2VdLCBi YXNlOiBpbnQsIHNpemU6IGludCkgLT4gYm9vbDoKLSsgICAgIiIiRnVuY3Rpb24gdG8gY2hlY2sg aWYgcHJvcG9zZWQgUklEIGJhc2UgaXMgdmlhYmxlIiIiCi0rICAgIGVuZCA9IGJhc2UgKyBzaXpl ICsgMQotKwotKyAgICAjIENoZWNraW5nIHNhbml0eSBvZiBSSUQgcmFuZ2UKLSsgICAgaWYgYmFz ZSArIHNpemUgPiAyMTQ3NDgzNjQ3OgotKyAgICAgICAgcmV0dXJuIEZhbHNlCi0rICAgIGlmIGJh c2UgPCAxMDAwOgotKyAgICAgICAgcmV0dXJuIEZhbHNlCi0rCi0rICAgICMgQ2hlY2tpbmcgUklE IHJhbmdlIG92ZXJsYXBzCi0rICAgIGZvciBpZF9yYW5nZSBpbiBpZF9yYW5nZXM6Ci0rICAgICAg ICAjIHdlIGFyZSBpbnRlcmVzdGVkIG9ubHkgaW4gaXBhLWxvY2FsIHJhbmdlcwotKyAgICAgICAg aWYgaWRfcmFuZ2UudHlwZSAhPSAiaXBhLWxvY2FsIjoKLSsgICAgICAgICAgICBjb250aW51ZQot KwotKyAgICAgICAgIyBpZiB0aGVyZSBpcyBubyBiYXNlIHJpZCBzZXQsIHRoZXJlIGlzIG5vIHNl Y29uZGFyeSBiYXNlIHJpZCBzZXQsCi0rICAgICAgICAjIHNvIG5vdGhpbmcgdG8gb3ZlcmxhcCB3 aXRoCi0rICAgICAgICBpZiBpZF9yYW5nZS5iYXNlX3JpZCBpcyBOb25lOgotKyAgICAgICAgICAg IGNvbnRpbnVlCi0rCi0rICAgICAgICAjIGNoZWNraW5nIGZvciBhbiBvdmVybGFwCi0rICAgICAg ICBpZiBub3QgcmFuZ2Vfb3ZlcmxhcF9jaGVjaygKLSsgICAgICAgICAgICBiYXNlLCBlbmQsIGlk X3JhbmdlLmJhc2VfcmlkLCBpZF9yYW5nZS5sYXN0X2Jhc2VfcmlkCi0rICAgICAgICApOgotKyAg ICAgICAgICAgIGxvZ2dlci5kZWJ1ZygKLSsgICAgICAgICAgICAgICAgIlJJRCBjaGVjayBmYWls dXJlOiBwcm9wb3NlZCBQcmltYXJ5ICVzICsgJXMsIFwKLStpbnRlcnNlY3RzIHdpdGggJXMtJXMg ZnJvbSByYW5nZSAnJXMnIiwKLSsgICAgICAgICAgICAgICAgYmFzZSwKLSsgICAgICAgICAgICAg ICAgc2l6ZSwKLSsgICAgICAgICAgICAgICAgaWRfcmFuZ2UuYmFzZV9yaWQsCi0rICAgICAgICAg ICAgICAgIGlkX3JhbmdlLmxhc3RfYmFzZV9yaWQsCi0rICAgICAgICAgICAgICAgIGlkX3Jhbmdl Lm5hbWUsCi0rICAgICAgICAgICAgKQotKyAgICAgICAgICAgIHJldHVybiBGYWxzZQotKwotKyAg ICAgICAgIyBpZiB0aGVyZSBpcyBubyBzZWNvbmRhcnkgYmFzZSByaWQgc2V0LCBub3RoaW5nIHRv IG92ZXJsYXAgd2l0aAotKyAgICAgICAgaWYgaWRfcmFuZ2Uuc2Vjb25kYXJ5X2Jhc2VfcmlkIGlz IE5vbmU6Ci0rICAgICAgICAgICAgY29udGludWUKLSsKLSsgICAgICAgICMgaWYgZWl0aGVyIHN0 YXJ0IG9mIGVuZCBvZiB0aGUgcmFuZ2UgZmFpbHMgaW5zaWRlIGV4aXN0aW5nIHJhbmdlLAotKyAg ICAgICAgIyBvciBleGlzdGluZyByYW5nZSBpcyBpbnNpZGUgcHJvcG9zZWQgb25lLCB3ZSBoYXZl IGFuIG92ZXJsYXAKLSsgICAgICAgIGlmIG5vdCByYW5nZV9vdmVybGFwX2NoZWNrKAotKyAgICAg ICAgICAgIGJhc2UsIGVuZCwgaWRfcmFuZ2Uuc2Vjb25kYXJ5X2Jhc2VfcmlkLCBpZF9yYW5nZS5s YXN0X3NlY29uZGFyeV9yaWQKLSsgICAgICAgICk6Ci0rICAgICAgICAgICAgbG9nZ2VyLmRlYnVn KAotKyAgICAgICAgICAgICAgICAiUklEIGNoZWNrIGZhaWx1cmU6IHByb3Bvc2VkIFNlY29uZGFy eSAlcyArICVzLCBcCi0raW50ZXJzZWN0cyB3aXRoICVzLSVzIGZyb20gcmFuZ2UgJyVzJyIsCi0r ICAgICAgICAgICAgICAgIGJhc2UsCi0rICAgICAgICAgICAgICAgIHNpemUsCi0rICAgICAgICAg ICAgICAgIGlkX3JhbmdlLnNlY29uZGFyeV9iYXNlX3JpZCwKLSsgICAgICAgICAgICAgICAgaWRf cmFuZ2UubGFzdF9zZWNvbmRhcnlfcmlkLAotKyAgICAgICAgICAgICAgICBpZF9yYW5nZS5uYW1l LAotKyAgICAgICAgICAgICkKLSsgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSsKLSsgICAgcmV0 dXJuIFRydWUKLSsKLSsKLStkZWYgZ2V0X3Jhbmdlc19ub19iYXNlKGlkX3JhbmdlczogTGlzdFtJ RFJhbmdlXSkgLT4gTGlzdFtJRFJhbmdlXToKLSsgICAgIiIiRnVuY3Rpb24gdG8gZ2V0IHJhbmdl cyB3aXRob3V0IGVpdGhlciBvZiBiYXNlIFJJRHMgc2V0IiIiCi0rICAgIGlwYV9sb2NhbF9yYW5n ZXMgPSBnZXRfaXBhX2xvY2FsX3JhbmdlcyhpZF9yYW5nZXMpCi0rICAgIHJhbmdlc19ub19iYXNl ID0gW10KLSsgICAgZm9yIGlkX3JhbmdlIGluIGlwYV9sb2NhbF9yYW5nZXM6Ci0rICAgICAgICBp ZiBpZF9yYW5nZS5iYXNlX3JpZCBpcyBOb25lIG9yIGlkX3JhbmdlLnNlY29uZGFyeV9iYXNlX3Jp ZCBpcyBOb25lOgotKyAgICAgICAgICAgIHJhbmdlc19ub19iYXNlLmFwcGVuZChpZF9yYW5nZSkK LSsKLSsgICAgcmV0dXJuIHJhbmdlc19ub19iYXNlCi0rIyBlbmRyZWdpb24KLSsjIFdvcmtpbmcg d2l0aCBJRGVudGl0aWVzIG91dCBvZiByYW5nZQotKyMgcmVnaW9uCi0rCi0rCi0rZGVmIGdyb3Vw X2lkZW50aXRpZXNfYnlfdGhyZXNob2xkKAotKyAgICBpZGVudGl0aWVzOiBMaXN0W0lEZW50aXR5 XSwgdGhyZXNob2xkOiBpbnQKLSspIC0+IExpc3RbTGlzdFtJRGVudGl0eV1dOgotKyAgICAiIiJG dW5jdGlvbiB0byBncm91cCBvdXQgb2YgcmFuZ2UgSURzIGJ5IHRocmVzaG9sZCIiIgotKyAgICBn cm91cHM6IExpc3RbTGlzdFtJRGVudGl0eV1dID0gW10KLSsgICAgY3VycmVudGdyb3VwOiBMaXN0 W0lEZW50aXR5XSA9IFtdCi0rICAgIGlmIGxlbihpZGVudGl0aWVzKSA9PSAwOgotKyAgICAgICAg cmV0dXJuIGdyb3VwcwotKwotKyAgICBmb3IgaSBpbiByYW5nZShsZW4oaWRlbnRpdGllcykgLSAx KToKLSsgICAgICAgICMgYWRkIGlkIHRvIGN1cnJlbnQgZ3JvdXAKLSsgICAgICAgIGN1cnJlbnRn cm91cC5hcHBlbmQoaWRlbnRpdGllc1tpXSkKLSsKLSsgICAgICAgICMgSWYgdGhlIGRpZmZlcmVu Y2Ugd2l0aCB0aGUgbmV4dCBvbmUgaXMgZ3JlYXRlciB0aGFuIHRoZSB0aHJlc2hvbGQsCi0rICAg ICAgICAjIHN0YXJ0IGEgbmV3IGdyb3VwCi0rICAgICAgICBpZiBpZGVudGl0aWVzW2kgKyAxXS5u dW1iZXIgLSBpZGVudGl0aWVzW2ldLm51bWJlciA+IHRocmVzaG9sZDoKLSsgICAgICAgICAgICBn cm91cHMuYXBwZW5kKGN1cnJlbnRncm91cCkKLSsgICAgICAgICAgICBjdXJyZW50Z3JvdXAgPSBb XQotKwotKyAgICAjIEFkZCB0aGUgbGFzdCBJRCBudW1iZXIgdG8gdGhlIGxhc3QgZ3JvdXAKLSsg ICAgY3VycmVudGdyb3VwLmFwcGVuZChpZGVudGl0aWVzWy0xXSkKLSsgICAgZ3JvdXBzLmFwcGVu ZChjdXJyZW50Z3JvdXApCi0rCi0rICAgIHJldHVybiBncm91cHMKLSsKLSsKLStkZWYgc2VwYXJh dGVfdW5kZXIxMDAwKAotKyAgICBpZGVudGl0aWVzOiBMaXN0W0lEZW50aXR5XSwKLSspIC0+IFR1 cGxlW0xpc3RbSURlbnRpdHldLCBMaXN0W0lEZW50aXR5XV06Ci0rICAgICIiIkZ1bmN0aW9uIHRv IHNlcGFyYXRlIElEcyB1bmRlciAxMDAwLCBleHBlY3RzIHNvcnRlZCBsaXN0IiIiCi0rICAgIGZv ciBpLCBpZGVudGl0eSBpbiBlbnVtZXJhdGUoaWRlbnRpdGllcyk6Ci0rICAgICAgICBpZiBpZGVu dGl0eS5udW1iZXIgPj0gMTAwMDoKLSsgICAgICAgICAgICByZXR1cm4gaWRlbnRpdGllc1s6aV0s IGlkZW50aXRpZXNbaTpdCi0rICAgIHJldHVybiBpZGVudGl0aWVzLCBbXQotKwotKwotK2RlZiBz ZXBhcmF0ZV9yYW5nZXNfYW5kX291dGxpZXJzKAotKyAgICBncm91cHM6IExpc3RbTGlzdFtJRGVu dGl0eV1dLCBtaW5yYW5nZXNpemU9aW50Ci0rKSAtPiBUdXBsZVtMaXN0W0xpc3RbSURlbnRpdHld XSwgTGlzdFtMaXN0W0lEZW50aXR5XV1dOgotKyAgICAiIiJGdW5jdGlvbiB0byBzZXBhcmF0ZSBJ RHMgaW50byBvdXRsaWVycyBhbmQgSURzIHRoYXQgY2FuIGdldCByYW5nZXMiIiIKLSsgICAgb3V0 bGllcnMgPSBbXQotKyAgICBjbGVhbmdyb3VwcyA9IFtdCi0rICAgIGZvciBncm91cCBpbiBncm91 cHM6Ci0rICAgICAgICAjIGlmIGdyb3VwIGlzIHNtYWxsZXIgdGhhbiBtaW5yYW5nZXNpemUsIGFk ZCBpdCdzIG1lbWViZXJzIHRvIG91cmxpZXJzCi0rICAgICAgICBpZiBncm91cFstMV0ubnVtYmVy IC0gZ3JvdXBbMF0ubnVtYmVyICsgMSA8IG1pbnJhbmdlc2l6ZToKLSsgICAgICAgICAgICBmb3Ig aWRlbnRpdHkgaW4gZ3JvdXA6Ci0rICAgICAgICAgICAgICAgIG91dGxpZXJzLmFwcGVuZChpZGVu dGl0eSkKLSsgICAgICAgICMgaWYgdGhlIGdyb3VwIGlzIE9LLCBhZGQgaXQgdG8gY2xlYW5lZCBn cm91cHMKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgY2xlYW5ncm91cHMuYXBwZW5kKGdy b3VwKQotKwotKyAgICByZXR1cm4gb3V0bGllcnMsIGNsZWFuZ3JvdXBzCi0rCi0rCi0rZGVmIHJv dW5kX2lkcmFuZ2Uoc3RhcnQ6IGludCwgZW5kOiBpbnQsIHVuZGVyMTAwMDogYm9vbCkgLT4gVHVw bGVbaW50LCBpbnRdOgotKyAgICAiIiJGdW5jdGlvbiB0byByb3VuZCB1cCByYW5nZSBtYXJnaW5z IHRvIGxvb2sgcHJldHR5IiIiCi0rICAgICMgY2FsY3VsYXRpbmcgcG93ZXIgb2YgdGhlIHNpemUK LSsgICAgc2l6ZXBvd2VyID0gbGVuKHN0cihlbmQgLSBzdGFydCArIDEpKQotKyAgICAjIG11bHRp cGxpZXIgZm9yIHRoZSBuZWFyZXN0IHJvdW5kZWQgbnVtYmVyCi0rICAgIG11bHRpcGxpZXIgPSAx MCAqKiAoc2l6ZXBvd2VyIC0gMSkKLSsgICAgIyBnZXR0aW5nIHJvdW5kZWQgcmFuZ2UgbWFyZ2lu cwotKyAgICByb3VuZGVkX3N0YXJ0ID0gKHN0YXJ0IC8vIG11bHRpcGxpZXIpICogbXVsdGlwbGll cgotKyAgICBpZiBub3QgdW5kZXIxMDAwOgotKyAgICAgICAgcm91bmRlZF9zdGFydCA9IG1heChy b3VuZGVkX3N0YXJ0LCAxMDAwKQotKyAgICBlbHNlOgotKyAgICAgICAgcm91bmRlZF9zdGFydCA9 IG1heChyb3VuZGVkX3N0YXJ0LCAxKQotKyAgICByb3VuZGVkX2VuZCA9ICgoZW5kICsgbXVsdGlw bGllcikgLy8gbXVsdGlwbGllcikgKiBtdWx0aXBsaWVyIC0gMQotKwotKyAgICByZXR1cm4gcm91 bmRlZF9zdGFydCwgcm91bmRlZF9lbmQKLSsKLSsKLStkZWYgZ2V0X3JhbmdlbmFtZV9iYXNlKGlk X3JhbmdlczogTGlzdFtJRFJhbmdlXSkgLT4gc3RyOgotKyAgICAiIiJGdW5jdGlvbiB0byBnZXQg YSBiYXNlIG5hbWUgZm9yIG5ldyByYW5nZSBwcm9wb3NhbHMiIiIKLSsgICAgYmFzZV9uYW1lID0g IiIKLSsgICAgIyB3ZSB3YW50IHRvIHVzZSBkZWZhdWx0IHJhbmdlIG5hbWUgYXMgYSBiYXNlIGZv ciBuZXcgcmFuZ2VzCi0rICAgIGZvciBpZF9yYW5nZSBpbiBpZF9yYW5nZXM6Ci0rICAgICAgICBp ZiBpZF9yYW5nZS5iYXNlX3JpZCA9PSAxMDAwOgotKyAgICAgICAgICAgIGJhc2VfbmFtZSA9IGlk X3JhbmdlLm5hbWUKLSsKLSsgICAgIyBpZiB3ZSBkaWRuJ3QgZmluZCBpdCwgcHJvcG9zZSBnZW5l cmljIG5hbWUKLSsgICAgaWYgYmFzZV9uYW1lID09ICIiOgotKyAgICAgICAgYmFzZV9uYW1lID0g IkF1dG9fYWRkZWRfcmFuZ2UiCi0rCi0rICAgIHJldHVybiBiYXNlX25hbWUKLSsKLSsKLStkZWYg Z2V0X3JhbmdlbmFtZShpZF9yYW5nZXM6IExpc3RbSURSYW5nZV0sIGJhc2VuYW1lOiBzdHIpIC0+ IHN0cjoKLSsgICAgIiIiCi0rICAgIEZ1bmN0aW9uIHRvIGdldCBhIG5ldyByYW5nZSBuYW1lLCB3 ZSBhZGQgdGhlIGNvdW50ZXIgYXMgMy1kaWdpdCBudW1iZXIKLSsgICAgZXh0ZW5zaW9uIGFuZCBt YWtlIHN1cmUgaXQncyB1bmlxdWUKLSsgICAgIiIiCi0rICAgIGNvdW50ZXIgPSAxCi0rICAgIGZ1 bGxfbmFtZSA9IGYie2Jhc2VuYW1lfV97Y291bnRlcjowM30iCi0rICAgIHdoaWxlIGFueShpZF9y YW5nZS5uYW1lID09IGZ1bGxfbmFtZSBmb3IgaWRfcmFuZ2UgaW4gaWRfcmFuZ2VzKToKLSsgICAg ICAgIGNvdW50ZXIgKz0gMQotKyAgICAgICAgZnVsbF9uYW1lID0gZiJ7YmFzZW5hbWV9X3tjb3Vu dGVyOjAzfSIKLSsgICAgcmV0dXJuIGZ1bGxfbmFtZQotKwotKwotK2RlZiBwcm9wb3NlX3Jhbmdl KAotKyAgICBncm91cDogTGlzdFtJRGVudGl0eV0sCi0rICAgIGlkX3JhbmdlczogTGlzdFtJRFJh bmdlXSwKLSsgICAgZGVsdGE6IGludCwKLSsgICAgYmFzZW5hbWU6IHN0ciwKLSsgICAgbm9yb3Vu ZGluZzogYm9vbCwKLSsgICAgYWxsb3d1bmRlcjEwMDA6IGJvb2wKLSspIC0+IElEUmFuZ2U6Ci0r ICAgICIiIkZ1bmN0aW9uIHRvIHByb3Bvc2UgYSBuZXcgcmFuZ2UgZm9yIGdyb3VwIG9mIElEcyBv dXQgb2YgcmFuZ2VzIiIiCi0rICAgIHN0YXJ0aWQgPSBncm91cFswXS5udW1iZXIKLSsgICAgZW5k aWQgPSBncm91cFstMV0ubnVtYmVyCi0rCi0rICAgIGxvZ2dlci5kZWJ1ZygKLSsgICAgICAgICJQ cm9wb3NpbmcgYSByYW5nZSBmb3IgZXhpc3RpbmcgSURzIG91dCBvZiByYW5nZXMgd2l0aCBzdGFy dCBpZCAlcyBcCi0rYW5kIGVuZCBpZCAlcy4uLiIsCi0rICAgICAgICBzdGFydGlkLAotKyAgICAg ICAgZW5kaWQsCi0rICAgICkKLSsKLSsgICAgIyBjcmVhdGluZyBuZXcgcmFuZ2UKLSsgICAgbmV3 cmFuZ2UgPSBJRFJhbmdlKCkKLSsgICAgbmV3cmFuZ2UudHlwZSA9ICJpcGEtbG9jYWwiCi0rICAg IG5ld3JhbmdlLm5hbWUgPSBnZXRfcmFuZ2VuYW1lKGlkX3JhbmdlcywgYmFzZW5hbWUpCi0rICAg IG5ld3JhbmdlLnN1ZmZpeCA9IGlkX3Jhbmdlc1swXS5zdWZmaXgKLSsgICAgbmV3cmFuZ2UuZG4g PSBmImNuPXtuZXdyYW5nZS5uYW1lfSxjbj1yYW5nZXMsY249ZXRjLHtuZXdyYW5nZS5zdWZmaXh9 IgotKwotKyAgICBpZiBub3JvdW5kaW5nOgotKyAgICAgICAgbmV3cmFuZ2UuZmlyc3RfaWQgPSBz dGFydGlkCi0rICAgICAgICBuZXdyYW5nZS5sYXN0X2lkID0gZW5kaWQKLSsgICAgICAgIG5ld3Jh bmdlLnNpemUgPSBuZXdyYW5nZS5sYXN0X2lkIC0gbmV3cmFuZ2UuZmlyc3RfaWQgKyAxCi0rICAg IGVsc2U6Ci0rICAgICAgICAjIGZpcnN0IHRyeWluZyB0byByb3VuZCB1cCByYW5nZXMgdG8gbG9v ayBwcmV0dHkKLSsgICAgICAgIG5ld3JhbmdlLmZpcnN0X2lkLCBuZXdyYW5nZS5sYXN0X2lkID0g cm91bmRfaWRyYW5nZSgKLSsgICAgICAgICAgICBzdGFydGlkLAotKyAgICAgICAgICAgIGVuZGlk LAotKyAgICAgICAgICAgIGFsbG93dW5kZXIxMDAwCi0rICAgICAgICApCi0rICAgICAgICBuZXdy YW5nZS5zaXplID0gbmV3cmFuZ2UubGFzdF9pZCAtIG5ld3JhbmdlLmZpcnN0X2lkICsgMQotKwot KyAgICAjIGlmIHRoaXMgY3JlYXRlcyBhbiBvdmVybGFwLCB0cnkgd2l0aG91dCByb3VuZGluZwot KyAgICBpZiBub3QgbmV3cmFuZ2Vfb3ZlcmxhcF9jaGVjayhpZF9yYW5nZXMsIG5ld3JhbmdlKToK LSsgICAgICAgIG5ld3JhbmdlLmZpcnN0X2lkID0gc3RhcnRpZAotKyAgICAgICAgbmV3cmFuZ2Uu bGFzdF9pZCA9IGVuZGlkCi0rICAgICAgICBuZXdyYW5nZS5zaXplID0gbmV3cmFuZ2UubGFzdF9p ZCAtIG5ld3JhbmdlLmZpcnN0X2lkICsgMQotKyAgICAgICAgIyBpZiB3ZSBzdGlsbCBmYWlsZWQs IGFiYW5kb24gaWRlYQotKyAgICAgICAgaWYgbm90IG5ld3JhbmdlX292ZXJsYXBfY2hlY2soaWRf cmFuZ2VzLCBuZXdyYW5nZSk6Ci0rICAgICAgICAgICAgbG9nZ2VyLmVycm9yKAotKyAgICAgICAg ICAgICAgICAiRVJST1IhIEZhaWxlZCB0byBjcmVhdGUgaWRyYW5nZSBmb3IgZXhpc3RpbmcgSURz IG91dCBvZiBcCi0rcmFuZ2VzIHdpdGggc3RhcnQgaWQgJXMgYW5kIGVuZCBpZCAlcywgaXQgb3Zl cmxhcHMgd2l0aCBleGlzdGluZyByYW5nZSEiLAotKyAgICAgICAgICAgICAgICBzdGFydGlkLAot KyAgICAgICAgICAgICAgICBlbmRpZCwKLSsgICAgICAgICAgICApCi0rICAgICAgICAgICAgcmV0 dXJuIE5vbmUKLSsKLSsgICAgIyBjcmVhdGluZyBSSUQgYmFzZXMKLSsgICAgaXBhX2xvY2FsX3Jh bmdlcyA9IGdldF9pcGFfbG9jYWxfcmFuZ2VzKGlkX3JhbmdlcykKLSsKLSsgICAgcmVzdWx0LCBw cm9wb3NlZF9iYXNlX3JpZCA9IHByb3Bvc2VfcmlkX2Jhc2UoCi0rICAgICAgICBuZXdyYW5nZSwg aXBhX2xvY2FsX3JhbmdlcywgZGVsdGEsIFRydWUKLSsgICAgKQotKyAgICBpZiByZXN1bHQ6Ci0r ICAgICAgICBuZXdyYW5nZS5iYXNlX3JpZCA9IHByb3Bvc2VkX2Jhc2VfcmlkCi0rICAgICAgICBu ZXdyYW5nZS5sYXN0X2Jhc2VfcmlkID0gcHJvcG9zZWRfYmFzZV9yaWQgKyBuZXdyYW5nZS5zaXpl Ci0rICAgIGVsc2U6Ci0rICAgICAgICAjIGlmIHRoaXMgZmFpbHMgd2UgcHJpbnQgdGhlIHdhcm5p bmcKLSsgICAgICAgIGxvZ2dlci53YXJuaW5nKAotKyAgICAgICAgICAgICJXYXJuaW5nISBQcm9w b3NlZCBiYXNlIFJJRHMgJXMgZm9yIG5ldyByYW5nZSBzdGFydCBpZCAlcyBhbmQgXAotK2VuZCBp ZCAlcyBib3RoIGZhaWxlZCwgcGxlYXNlIGFkanVzdCBtYW51YWxseSIsCi0rICAgICAgICAgICAg cHJvcG9zZWRfYmFzZV9yaWQsCi0rICAgICAgICAgICAgbmV3cmFuZ2UuZmlyc3RfaWQsCi0rICAg ICAgICAgICAgbmV3cmFuZ2UubGFzdF9pZCwKLSsgICAgICAgICkKLSsKLSsgICAgcmVzdWx0LCBw cm9wb3NlZF9zZWNvbmRhcnlfYmFzZV9yaWQgPSBwcm9wb3NlX3JpZF9iYXNlKAotKyAgICAgICAg bmV3cmFuZ2UsIGlwYV9sb2NhbF9yYW5nZXMsIGRlbHRhLCBGYWxzZSwgcHJvcG9zZWRfYmFzZV9y aWQKLSsgICAgKQotKyAgICBpZiByZXN1bHQ6Ci0rICAgICAgICBuZXdyYW5nZS5zZWNvbmRhcnlf YmFzZV9yaWQgPSBwcm9wb3NlZF9zZWNvbmRhcnlfYmFzZV9yaWQKLSsgICAgICAgIG5ld3Jhbmdl Lmxhc3Rfc2Vjb25kYXJ5X3JpZCA9ICgKLSsgICAgICAgICAgICBwcm9wb3NlZF9zZWNvbmRhcnlf YmFzZV9yaWQgKyBuZXdyYW5nZS5zaXplCi0rICAgICAgICApCi0rICAgIGVsc2U6Ci0rICAgICAg ICAjIGlmIHRoaXMgZmFpbHMgd2UgcHJpbnQgdGhlIHdhcm5pbmcKLSsgICAgICAgIGxvZ2dlci53 YXJuaW5nKAotKyAgICAgICAgICAgICJXYXJuaW5nISBQcm9wb3NlZCBzZWNvbmRhcnkgYmFzZSBS SURzICVzIGZvciBuZXcgcmFuZ2Ugc3RhcnQgaWQgXAotKyVzIGFuZCBlbmQgaWQgJXMgYm90aCBm YWlsZWQsIHBsZWFzZSBhZGp1c3QgbWFudWFsbHkiLAotKyAgICAgICAgICAgIHByb3Bvc2VkX3Nl Y29uZGFyeV9iYXNlX3JpZCwKLSsgICAgICAgICAgICBuZXdyYW5nZS5maXJzdF9pZCwKLSsgICAg ICAgICAgICBuZXdyYW5nZS5sYXN0X2lkLAotKyAgICAgICAgKQotKwotKyAgICBsb2dnZXIuZGVi dWcoIlByb3Bvc2VkIHJhbmdlOiAlcyIsIG5ld3JhbmdlKQotKyAgICByZXR1cm4gbmV3cmFuZ2UK LSsjIGVuZHJlZ2lvbgotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVz dF9pcGFfaWRyYW5nZV9maXgucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBh X2lkcmFuZ2VfZml4LnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5k ZTNkYTliZmQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9pcGFfaWRyYW5nZV9maXgucHkKLUBAIC0wLDAgKzEsMTg5IEBACi0rIwotKyMgQ29weXJp Z2h0IChDKSAyMDI0ICBGcmVlSVBBIENvbnRyaWJ1dG9ycyBzZWUgQ09QWUlORyBmb3IgbGljZW5z ZQotKyMKLSsKLSsiIiIKLStNb2R1bGUgcHJvdmlkZXMgdGVzdHMgZm9yIGlwYS1pZHJhbmdlLWZp eCBDTEkuCi0rIiIiCi0rCi0raW1wb3J0IGxvZ2dpbmcKLStpbXBvcnQgcmUKLSsKLStmcm9tIGlw YXRlc3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRpb24gaW1wb3J0IHRhc2tzCi0rZnJvbSBpcGF0ZXN0 cy50ZXN0X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotKwotKwotK2xv Z2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFtZV9fKQotKwotKwotK2NsYXNzIFRlc3RJcGFJ ZHJhbmdlRml4KEludGVncmF0aW9uVGVzdCk6Ci0rICAgIEBjbGFzc21ldGhvZAotKyAgICBkZWYg aW5zdGFsbChjbHMsIG1oKToKLSsgICAgICAgIHN1cGVyKFRlc3RJcGFJZHJhbmdlRml4LCBjbHMp Lmluc3RhbGwobWgpCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihjbHMubWFzdGVyKQotKwot KyAgICBkZWYgdGVzdF9ub19pc3N1ZXMoc2VsZik6Ci0rICAgICAgICAiIiJUZXN0IGlwYS1pZHJh bmdlLWZpeCBjb21tYW5kIHdpdGggbm8gaXNzdWVzLiIiIgotKyAgICAgICAgcmVzdWx0ID0gc2Vs Zi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGEtaWRyYW5nZS1maXgiLCAiLS11bmF0dGVuZGVkIl0p Ci0rCi0rICAgICAgICBleHBlY3RlZF91bmRlcjEwMDAgPSAiTm8gSURzIHVuZGVyIDEwMDAgZm91 bmQiCi0rICAgICAgICBleHBlY3RlZF9ub2NoYW5nZXMgPSAiTm8gY2hhbmdlcyBwcm9wb3NlZCBm b3IgZXhpc3RpbmcgcmFuZ2VzIgotKyAgICAgICAgZXhwZWN0ZWRfbmV3cmFuZ2UgPSAiTm8gbmV3 IHJhbmdlcyBwcm9wb3NlZCIKLSsgICAgICAgIGV4cGVjdGVkX25vaXNzdWVzID0gIk5vIGNoYW5n ZXMgcHJvcG9zZWQsIG5vdGhpbmcgdG8gZG8uIgotKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVkX3Vu ZGVyMTAwMCBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsgICAgICAgIGFzc2VydCBleHBlY3RlZF9u b2NoYW5nZXMgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rICAgICAgICBhc3NlcnQgZXhwZWN0ZWRf bmV3cmFuZ2UgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rICAgICAgICBhc3NlcnQgZXhwZWN0ZWRf bm9pc3N1ZXMgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rCi0rICAgIGRlZiB0ZXN0X2lkcmFuZ2Vf bm9fcmlkX2Jhc2VzKHNlbGYpOgotKyAgICAgICAgIiIiVGVzdCBpcGEtaWRyYW5nZS1maXggY29t bWFuZCB3aXRoIElEcmFuZ2Ugd2l0aCBubyBSSUQgYmFzZXMuIiIiCi0rICAgICAgICBzZWxmLm1h c3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgImlwYSIsCi0rICAgICAgICAgICAgImlk cmFuZ2UtYWRkIiwKLSsgICAgICAgICAgICAiaWRyYW5nZV9ub19yaWRfYmFzZXMiLAotKyAgICAg ICAgICAgICItLWJhc2UtaWQiLCAnMTAwMDAnLAotKyAgICAgICAgICAgICItLXJhbmdlLXNpemUi LCAnMjAwMDAnLAotKyAgICAgICAgXSkKLSsKLSsgICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVy LnJ1bl9jb21tYW5kKFsiaXBhLWlkcmFuZ2UtZml4IiwgIi0tdW5hdHRlbmRlZCJdKQotKyAgICAg ICAgZXhwZWN0ZWRfdGV4dCA9ICJSSUQgYmFzZXMgdXBkYXRlZCBmb3IgcmFuZ2UgJ2lkcmFuZ2Vf bm9fcmlkX2Jhc2VzJyIKLSsKLSsgICAgICAgICMgUmVtb3ZlIElEcmFuZ2Ugd2l0aCBubyByaWQg YmFzZXMKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsiaXBhIiwgImlkcmFuZ2Ut ZGVsIiwgImlkcmFuZ2Vfbm9fcmlkX2Jhc2VzIl0pCi0rCi0rICAgICAgICBhc3NlcnQgZXhwZWN0 ZWRfdGV4dCBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsKLSsgICAgZGVmIHRlc3RfaWRyYW5nZV9u b19yaWRfYmFzZXNfcmV2ZXJzZWQoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRlc3Qg aXBhLWlkcmFuZ2UtZml4IGNvbW1hbmQgd2l0aCBJRHJhbmdlIHdpdGggbm8gUklEIGJhc2VzLCBi dXQgd2UKLSsgICAgICAgIHByZXZpb3VzbHkgaGFkIGEgcmFuZ2Ugd2l0aCBSSUQgYmFzZXMgcmV2 ZXJzZWQgLSBzZWNvbmRhcnkgbG93ZXIgdGhhbgotKyAgICAgICAgcHJpbWFyeS4gSXQgaXMgYSB2 YWxpZCBjb25maWd1cmF0aW9uLCBzbyB3ZSBzaG91bGQgZml4IG5vLVJJRCByYW5nZS4KLSsgICAg ICAgICIiIgotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAg ICJpcGEiLAotKyAgICAgICAgICAgICJpZHJhbmdlLWFkZCIsCi0rICAgICAgICAgICAgImlkcmFu Z2Vfbm9fcmlkX2Jhc2VzIiwKLSsgICAgICAgICAgICAiLS1iYXNlLWlkIiwgJzEwMDAwJywKLSsg ICAgICAgICAgICAiLS1yYW5nZS1zaXplIiwgJzIwMDAwJywKLSsgICAgICAgIF0pCi0rICAgICAg ICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgImlwYSIsCi0rICAgICAg ICAgICAgImlkcmFuZ2UtYWRkIiwKLSsgICAgICAgICAgICAiaWRyYW5nZV9yZXZlcnNlZCIsCi0r ICAgICAgICAgICAgIi0tYmFzZS1pZCIsICc1MDAwMCcsCi0rICAgICAgICAgICAgIi0tcmFuZ2Ut c2l6ZSIsICcyMDAwMCcsCi0rICAgICAgICAgICAgIi0tcmlkLWJhc2UiLCAnMTAwMzAwMDAwJwot KyAgICAgICAgICAgICItLXNlY29uZGFyeS1yaWQtYmFzZSIsICczMDEwMDAnCi0rICAgICAgICBd KQotKwotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGEtaWRy YW5nZS1maXgiLCAiLS11bmF0dGVuZGVkIl0pCi0rICAgICAgICBleHBlY3RlZF90ZXh0ID0gIlJJ RCBiYXNlcyB1cGRhdGVkIGZvciByYW5nZSAnaWRyYW5nZV9ub19yaWRfYmFzZXMnIgotKwotKyAg ICAgICAgIyBSZW1vdmUgdGVzdCBJRHJhbmdlcwotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2Nv bW1hbmQoWyJpcGEiLCAiaWRyYW5nZS1kZWwiLCAiaWRyYW5nZV9ub19yaWRfYmFzZXMiXSkKLSsg ICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsiaXBhIiwgImlkcmFuZ2UtZGVsIiwgImlk cmFuZ2VfcmV2ZXJzZWQiXSkKLSsKLSsgICAgICAgIGFzc2VydCBleHBlY3RlZF90ZXh0IGluIHJl c3VsdC5zdGRlcnJfdGV4dAotKwotKyAgICBkZWYgdGVzdF91c2Vyc19vdXRvZnJhbmdlKHNlbGYp OgotKyAgICAgICAgIiIiVGVzdCBpcGEtaWRyYW5nZS1maXggY29tbWFuZCB3aXRoIHVzZXJzIG91 dCBvZiByYW5nZS4iIiIKLSsgICAgICAgIGZvciBpIGluIHJhbmdlKDEsIDIwKToKLSsgICAgICAg ICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgICAgICJpcGEiLAot KyAgICAgICAgICAgICAgICAidXNlci1hZGQiLAotKyAgICAgICAgICAgICAgICAidGVzdHVzZXJ7 fSIuZm9ybWF0KGkpLAotKyAgICAgICAgICAgICAgICAiLS1maXJzdCIsICJUZXN0IiwKLSsgICAg ICAgICAgICAgICAgIi0tbGFzdCIsICJVc2VyIHt9Ii5mb3JtYXQoaSksCi0rICAgICAgICAgICAg ICAgICItLXVpZCIsIHN0cigxMDAwMDAgKyBpICogMTApLAotKyAgICAgICAgICAgIF0pCi0rCi0r ICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbImlwYS1pZHJhbmdlLWZp eCIsICItLXVuYXR0ZW5kZWQiXSkKLSsgICAgICAgIGV4cGVjdGVkX3RleHQgPSByIlJhbmdlICdb XHdcLl0rX2lkX3JhbmdlX1xkezN9JyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSIKLSsgICAgICAgIG1h dGNoID0gcmUuc2VhcmNoKGV4cGVjdGVkX3RleHQsIHJlc3VsdC5zdGRlcnJfdGV4dCkKLSsKLSsg ICAgICAgICMgUmVtb3ZlIHVzZXJzIG91dCBvZiByYW5nZSBhbmQgY3JlYXRlZCBJRHJhbmdlCi0r ICAgICAgICBmb3IgaSBpbiByYW5nZSgxLCAyMCk6Ci0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIu cnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAgICAgICAiaXBhIiwKLSsgICAgICAgICAgICAgICAg InVzZXItZGVsIiwKLSsgICAgICAgICAgICAgICAgInRlc3R1c2Vye30iLmZvcm1hdChpKQotKyAg ICAgICAgICAgIF0pCi0rICAgICAgICBpZiBtYXRjaCBpcyBub3QgTm9uZToKLSsgICAgICAgICAg ICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgICAgICJpcGEiLAotKyAg ICAgICAgICAgICAgICAiaWRyYW5nZS1kZWwiLAotKyAgICAgICAgICAgICAgICBtYXRjaC5ncm91 cCgwKS5zcGxpdCgiICIpWzFdLnJlcGxhY2UoIiciLCAiIikKLSsgICAgICAgICAgICBdKQotKwot KyAgICAgICAgYXNzZXJ0IG1hdGNoIGlzIG5vdCBOb25lCi0rCi0rICAgIGRlZiB0ZXN0X3VzZXJf b3V0bGllcihzZWxmKToKLSsgICAgICAgICIiIlRlc3QgaXBhLWlkcmFuZ2UtZml4IGNvbW1hbmQg d2l0aCBvdXRsaWVyIHVzZXIuIiIiCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChb Ci0rICAgICAgICAgICAgImlwYSIsCi0rICAgICAgICAgICAgInVzZXItYWRkIiwKLSsgICAgICAg ICAgICAidGVzdHVzZXJfb3V0bGllciIsCi0rICAgICAgICAgICAgIi0tZmlyc3QiLCAiT3V0bGll ciIsCi0rICAgICAgICAgICAgIi0tbGFzdCIsICJVc2VyIiwKLSsgICAgICAgICAgICAiLS11aWQi LCAnNTAwMDAwJywKLSsgICAgICAgIF0pCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rl ci5ydW5fY29tbWFuZChbImlwYS1pZHJhbmdlLWZpeCIsICItLXVuYXR0ZW5kZWQiXSkKLSsgICAg ICAgIGV4cGVjdGVkX3RleHQgPSAiSWRlbnRpdGllcyB0aGF0IGRvbid0IGZpdCB0aGUgY3JpdGVy aWEgdG8gZ2V0IGEgbmV3IFwKLStyYW5nZSBmb3VuZCEiCi0rICAgICAgICBleHBlY3RlZF91c2Vy ID0gInVzZXIgJ091dGxpZXIgVXNlcicsIHVpZD01MDAwMDAiCi0rCi0rICAgICAgICAjIFJlbW92 ZSBvdXRsaWVyIHVzZXIKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsiaXBhIiwg InVzZXItZGVsIiwgInRlc3R1c2VyX291dGxpZXIiXSkKLSsKLSsgICAgICAgIGFzc2VydCBleHBl Y3RlZF90ZXh0IGluIHJlc3VsdC5zdGRlcnJfdGV4dAotKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVk X3VzZXIgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rCi0rICAgIGRlZiB0ZXN0X3VzZXJfdW5kZXIx MDAwKHNlbGYpOgotKyAgICAgICAgIiIiVGVzdCBpcGEtaWRyYW5nZS1maXggY29tbWFuZCB3aXRo IHVzZXIgdW5kZXIgMTAwMC4iIiIKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsK LSsgICAgICAgICAgICAiaXBhIiwKLSsgICAgICAgICAgICAidXNlci1hZGQiLAotKyAgICAgICAg ICAgICJ0ZXN0dXNlcl91bmRlcjEwMDAiLAotKyAgICAgICAgICAgICItLWZpcnN0IiwgIlVuZGVy IiwKLSsgICAgICAgICAgICAiLS1sYXN0IiwgIjEwMDAiLAotKyAgICAgICAgICAgICItLXVpZCIs ICc5OTknLAotKyAgICAgICAgXSkKLSsKLSsgICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1 bl9jb21tYW5kKFsiaXBhLWlkcmFuZ2UtZml4IiwgIi0tdW5hdHRlbmRlZCJdKQotKyAgICAgICAg ZXhwZWN0ZWRfdGV4dCA9ICJJRHMgdW5kZXIgMTAwMDoiCi0rICAgICAgICBleHBlY3RlZF91c2Vy ID0gInVzZXIgJ1VuZGVyIDEwMDAnLCB1aWQ9OTk5IgotKwotKyAgICAgICAgIyBSZW1vdmUgdXNl ciB1bmRlciAxMDAwCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbImlwYSIsICJ1 c2VyLWRlbCIsICJ0ZXN0dXNlcl91bmRlcjEwMDAiXSkKLSsKLSsgICAgICAgIGFzc2VydCBleHBl Y3RlZF90ZXh0IGluIHJlc3VsdC5zdGRlcnJfdGV4dAotKyAgICAgICAgYXNzZXJ0IGV4cGVjdGVk X3VzZXIgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rCi0rICAgIGRlZiB0ZXN0X3VzZXJfcHJlc2Vy dmVkKHNlbGYpOgotKyAgICAgICAgIiIiVGVzdCBpcGEtaWRyYW5nZS1maXggY29tbWFuZCB3aXRo IHByZXNlcnZlZCB1c2VyLiIiIgotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWwot KyAgICAgICAgICAgICJpcGEiLAotKyAgICAgICAgICAgICJ1c2VyLWFkZCIsCi0rICAgICAgICAg ICAgInRlc3R1c2VyX3ByZXNlcnZlZCIsCi0rICAgICAgICAgICAgIi0tZmlyc3QiLCAiUHJlc2Vy dmVkIiwKLSsgICAgICAgICAgICAiLS1sYXN0IiwgIlVzZXIiLAotKyAgICAgICAgICAgICItLXVp ZCIsICc5OTk5JywKLSsgICAgICAgIF0pCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFu ZChbCi0rICAgICAgICAgICAgImlwYSIsCi0rICAgICAgICAgICAgInVzZXItZGVsIiwKLSsgICAg ICAgICAgICAidGVzdHVzZXJfcHJlc2VydmVkIiwKLSsgICAgICAgICAgICAiLS1wcmVzZXJ2ZSIK LSsgICAgICAgIF0pCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFu ZChbImlwYS1pZHJhbmdlLWZpeCIsICItLXVuYXR0ZW5kZWQiXSkKLSsgICAgICAgIGV4cGVjdGVk X3RleHQgPSAiSWRlbnRpdGllcyB0aGF0IGRvbid0IGZpdCB0aGUgY3JpdGVyaWEgdG8gZ2V0IGEg bmV3IFwKLStyYW5nZSBmb3VuZCEiCi0rICAgICAgICBleHBlY3RlZF91c2VyID0gInVzZXIgJ1By ZXNlcnZlZCBVc2VyJywgdWlkPTk5OTkiCi0rCi0rICAgICAgICAjIFJlbW92ZSBwcmVzZXJ2ZWQg dXNlcgotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGEiLCAidXNlci1kZWwi LCAidGVzdHVzZXJfcHJlc2VydmVkIl0pCi0rCi0rICAgICAgICBhc3NlcnQgZXhwZWN0ZWRfdGV4 dCBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsgICAgICAgIGFzc2VydCBleHBlY3RlZF91c2VyIGlu IHJlc3VsdC5zdGRlcnJfdGV4dAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGE1YjBhNDEzNmJmZDU5 MTcwMWUzYmQ5MjE5NjkwYjdiMjQyZmMyNjcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyIFNl cCAyMDI0IDExOjM5OjMzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDA2LzExNl0gQWRkIFBSLUNJ IGRlZmluaXRpb25zIGZvciB0ZXN0X2lwYV9pZHJhbmdlX2ZpeAotCi1SZWxhdGVkOiBodHRwczov L3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2MTMKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIC4uLi9wcmNpX2RlZmluaXRpb25zL25pZ2h0 bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICB8IDEyICsrKysrKysrKysrKwotIC4uLi9uaWdodGx5 X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwgICAgICAgICAgICB8IDEzICsrKysrKysrKysr KysKLSAyIGZpbGVzIGNoYW5nZWQsIDI1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2lw YXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCBiL2lw YXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotaW5k ZXggN2MyMTE4NjY4Li4wMTVkY2RmNDkgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmlu aXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lf ZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotQEAgLTE3OTQsNiArMTc5 NCwxOCBAQCBqb2JzOgotICAgICAgICAgdGltZW91dDogMTA4MDAKLSAgICAgICAgIHRvcG9sb2d5 OiAqbWFzdGVyXzFyZXBsCi0gCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3RfaWRyYW5n ZV9maXg6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsg ICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsgICAgICBjbGFzczogUnVuUHl0ZXN0Ci0rICAg ICAgYXJnczoKLSsgICAgICAgIGJ1aWxkX3VybDogJ3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1 aWxkX3VybH0nCi0rICAgICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBh X2lkcmFuZ2VfZml4LnB5Ci0rICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAot KyAgICAgICAgdGltZW91dDogMzYwMAotKyAgICAgICAgdG9wb2xvZ3k6ICppcGFzZXJ2ZXIKLSsK LSAgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9zdWJpZHM6Ci0gICAgIHJlcXVpcmVzOiBb ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSAgICAgcHJpb3JpdHk6IDUwCi1kaWZmIC0t Z2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9z ZWxpbnV4LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJf bGF0ZXN0X3NlbGludXgueWFtbAotaW5kZXggMzEyYjNlNWZiLi40MDU2M2ZlZGQgMTAwNjQ0Ci0t LS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3Nl bGludXgueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00 LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLUBAIC0xOTM2LDYgKzE5MzYsMTkgQEAgam9iczoKLSAg ICAgICAgIHRpbWVvdXQ6IDEwODAwCi0gICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8xcmVwbAot IAotKyAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X2lkcmFuZ2VfZml4OgotKyAgICByZXF1 aXJlczogW2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiA1MAot KyAgICBqb2I6Ci0rICAgICAgY2xhc3M6IFJ1blB5dGVzdAotKyAgICAgIGFyZ3M6Ci0rICAgICAg ICBidWlsZF91cmw6ICd7ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAg ICAgc2VsaW51eF9lbmZvcmNpbmc6IFRydWUKLSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50 ZWdyYXRpb24vdGVzdF9pcGFfaWRyYW5nZV9maXgucHkKLSsgICAgICAgIHRlbXBsYXRlOiAqY2kt aXBhLTQtMTItbGF0ZXN0Ci0rICAgICAgICB0aW1lb3V0OiAzNjAwCi0rICAgICAgICB0b3BvbG9n eTogKmlwYXNlcnZlcgotKwotICAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X3N1YmlkczoK LSAgICAgcmVxdWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkXQotICAgICBwcmlv cml0eTogNTAKLS0tIAotMi40OS4wCi0KLQotRnJvbSA0ZmVmODBhZWFhZjAxN2IyODZiZDEyZWJm YzMwNTI5ZjZhNjVhODBlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMiBTZXAgMjAyNCAxODoy ODoyNyArMDIwMAotU3ViamVjdDogW1BBVENIIDAwNy8xMTZdIGlwYXRlc3RzOiBBZGQgbWlzc2lu ZyBjb21tYSBpbgotIHRlc3RfaWRyYW5nZV9ub19yaWRfYmFzZXNfcmV2ZXJzZWQKLQotVGhlIHRl c3QgaXMgY2FsbGluZyBpcGEgaWRyYW5nZS1hZGQgYnV0IGlzIG1pc3NpbmcgYSBjb21tYSBpbgot dGhlIGFyZ3VtZW50cyBsaXN0LgotVGhlIHJlc3VsdGluZyBjYWxsIGlzIHVzaW5nICItLXJpZC1i YXNlIDEwMDMwMDAwMC0tc2Vjb25kYXJ5LXJpZC1iYXNlIi4KLUFkZCB0aGUgbWlzc2luZyBjb21t YSB0byBidWlsZCB0aGUgY29tbWFuZCB3aXRoCi0iLS1yaWQtYmFzZSAxMDAzMDAwMDAgLS1zZWNv bmRhcnktcmlkLWJhc2UiCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3Vl Lzk2NTYKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNv bT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaWRyYW5nZV9maXgu cHkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFu Z2VfZml4LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pZHJhbmdlX2Zp eC5weQotaW5kZXggZGUzZGE5YmZkLi5mZjhmYmRhYzkgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci0rKysgYi9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci1AQCAtNzIsNyArNzIsNyBA QCBjbGFzcyBUZXN0SXBhSWRyYW5nZUZpeChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAg ICJpZHJhbmdlX3JldmVyc2VkIiwKLSAgICAgICAgICAgICAiLS1iYXNlLWlkIiwgJzUwMDAwJywK LSAgICAgICAgICAgICAiLS1yYW5nZS1zaXplIiwgJzIwMDAwJywKLS0gICAgICAgICAgICAiLS1y aWQtYmFzZSIsICcxMDAzMDAwMDAnCi0rICAgICAgICAgICAgIi0tcmlkLWJhc2UiLCAnMTAwMzAw MDAwJywKLSAgICAgICAgICAgICAiLS1zZWNvbmRhcnktcmlkLWJhc2UiLCAnMzAxMDAwJwotICAg ICAgICAgXSkKLSAKLS0tIAotMi40OS4wCi0KLQotRnJvbSBhMThlYjgzNTg2NzViMzY5N2NjZjhm OGQ4ZGMyMzBjYzYyZGY2YTRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRXJpayBC ZWxrbyA8ZWJlbGtvQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDI5IEF1ZyAyMDI0IDE2OjQ3OjIx ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDA4LzExNl0gaXBhdGVzdHM6IFVwZGF0ZSBpcGEtYWR0 cnVzdC1pbnN0YWxsIHRlc3QKLQotdXBkYXRlIHRlc3RfdXNlcl9jb25uZWN0c19zbWJfc2hhcmVf aWZfbG9ja2VkX3NwZWNpZmljX2dyb3VwIHdpdGggd2FpdAotZm9yIFNTU0QgdG8gYmUgb25saW5l IGFmdGVyIGlwYS1hZHRydXN0LWluc3RhbGwgY29tbWFuZAotCi1SZWxhdGVkOiBodHRwczovL3Bh Z3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NTUKLQotU2lnbmVkLW9mZi1ieTogRXJpayBCZWxrbyA8 ZWJlbGtvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYWR0 cnVzdF9pbnN0YWxsLnB5IHwgMiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykK LQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2lu c3RhbGwucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYWR0cnVzdF9pbnN0YWxs LnB5Ci1pbmRleCA3MmU4ZDg3NGYuLmRlMjUyZGIxNyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLSsrKyBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLUBAIC04NTMsNiArODUzLDgg QEAgY2xhc3MgVGVzdElwYUFkVHJ1c3RJbnN0YWxsKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAg ICAgICAgIHNlbGYubWFzdGVyLmNvbmZpZy5hZG1pbl9wYXNzd29yZCwKLSAgICAgICAgICAgICAg Ii1VIl0KLSAgICAgICAgICkKLSsgICAgICAgICMgV2FpdCBmb3IgU1NTRCB0byBiZWNvbWUgb25s aW5lIGJlZm9yZSBkb2luZyBhbnkgb3RoZXIgY2hlY2sKLSsgICAgICAgIHRhc2tzLndhaXRfZm9y X3Nzc2RfZG9tYWluX3N0YXR1c19vbmxpbmUoc2VsZi5tYXN0ZXIpCi0gICAgICAgICBzZWxmLm1h c3Rlci5ydW5fY29tbWFuZChbIm1rZGlyIiwgIi9mcmVlaXBhNDIzNCJdKQotICAgICAgICAgc2Vs Zi5tYXN0ZXIucnVuX2NvbW1hbmQoCi0gICAgICAgICAgICAgWyJjaGNvbiIsICItdCIsICJzYW1i YV9zaGFyZV90IiwKLS0tIAotMi40OS4wCi0KLQotRnJvbSAzNzNkNDFmMjExYzFhMDRkYzQzMmEw NjhiYzdkMmJhODI1ZmY1NTRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRnJhbmNp c2NvIFRyaXZpbm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDEzIEF1ZyAyMDI0 IDEyOjQ0OjIxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDA5LzExNl0gSW5zdGFsbGVyOiBhY3Rp dmF0ZSBzc2ggc2VydmljZSBpbiBzc3NkLmNvbmYKLQotVGhpcyBjb21taXQgZW5hYmxlcyBTU1NE J3Mgc3NoIHNlcnZpY2UgaW4gaXBhLWNsaWVudC1pbnN0YWxsIHRvIGVuc3VyZQotc3NzX3NzaF9r bm93bmhvc3RzIGFuZCBzc3Nfc3NoX2tub3duaG9zdHNwcm94eSBmdW5jdGlvbnMgcHJvcGVybHku Ci0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NDkKLVJlbGF0ZWQ6 IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTUzNgotCi1TaWduZWQtb2ZmLWJ5OiBG cmFuY2lzY28gVHJpdmlubyA8ZnRyaXZpbm9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2Ig Q3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYWNsaWVudC9pbnN0YWxs L2NsaWVudC5weSB8IDIgKysKLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRp ZmYgLS1naXQgYS9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkgYi9pcGFjbGllbnQvaW5zdGFs bC9jbGllbnQucHkKLWluZGV4IDgwMmRiOTYxNC4uNDdhMzcxZjYyIDEwMDY0NAotLS0tIGEvaXBh Y2xpZW50L2luc3RhbGwvY2xpZW50LnB5Ci0rKysgYi9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQu cHkKLUBAIC05NzQsNiArOTc0LDggQEAgZGVmIGNvbmZpZ3VyZV9zc3NkX2NvbmYoCi0gCi0gICAg IHNzc2RfZW5hYmxlX3NlcnZpY2Uoc3NzZGNvbmZpZywgJ25zcycpCi0gICAgIHNzc2RfZW5hYmxl X3NlcnZpY2Uoc3NzZGNvbmZpZywgJ3BhbScpCi0rICAgIGlmIG9wdGlvbnMuY29uZl9zc2g6Ci0r ICAgICAgICBzc3NkX2VuYWJsZV9zZXJ2aWNlKHNzc2Rjb25maWcsICdzc2gnKQotIAotICAgICBk b21haW4uc2V0X29wdGlvbignaXBhX2RvbWFpbicsIGNsaV9kb21haW4pCi0gICAgIGRvbWFpbi5z ZXRfb3B0aW9uKCdpcGFfaG9zdG5hbWUnLCBjbGllbnRfaG9zdG5hbWUpCi0tLSAKLTIuNDkuMAot Ci0KLUZyb20gOGQyNDJiYTc0MWVjMjJiMjU4ZDVlNzBhNTMwY2VmZDA5NDA3ODNjNyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQu Y29tPgotRGF0ZTogVHVlLCAyMyBKdWwgMjAyNCAxNzowNzowNiAtMDQwMAotU3ViamVjdDogW1BB VENIIDAxMC8xMTZdIGlwYS1taWdyYXRlIC0gZml4IG1pZ3JhdGlvbiBpc3N1ZXMgd2l0aCBlbnRy aWVzIHVzaW5nCi0gaXBhVW5pcXVlSWQgaW4gdGhlIFJETgotCi1XZSBuZWVkIHRvIGhhbmRsZSB0 aGVzZSBlbnRyaWVzIGRpZmZlcmVudGx5IGFuZCBzcGVjaWZ5IHdoYXQgYXR0cmlidXRlCi1hbmQg c2VhcmNoIGJhc2UgdG8gdXNlIHRvIGZpbmQgdGhlIGVudHJ5IG9uIHRoZSBsb2NhbCBzZXJ2ZXIu ICBNb3N0Ci1lbnRyaWVzIGNhbiB1c2UgdGhlICJjbiIgYXR0cmlidXRlIGJ1dCBmb3Igc2VsaW51 eCB1c2VybWFwcyB3ZSBuZWVkIHRvCi1zZWFyY2ggdXNpbmcgdGhlIGlwYU93bmVyIGF0dHJpYnV0 ZSB3aGljaCBpcyBhIEROLCBhbmQgaW4gdHVybiByZXF1aXJlcwotYWRkaXRpb25hbCBoYW5kbGlu Zy9jb252ZXJ0aW5nIGluIG9yZGVyIHRvIHByb3Blcmx5IGNoZWNrIGlmIHRoZSB1c2VybWFwCi1l eGlzdHMgb3Igbm90LgotCi1BbHNvIGZpeGVkIGFuIGlzc3VlIHdoZXJlIGFuIGF0dHJpYnV0ZSBz aG91bGQgYmUgcmVtb3ZlZCBmcm9tIHRoZSBsb2NhbAotZW50cnkgaWYgaXQgZG9lcyBub3QgZXhp c3Qgb24gdGhlIHJlbW90ZSBlbnRyeS4KLQotQW5kIGZpeGVkIHRoZSBoYW5kbGluZyBvZCAic3Vk b09yZGVyIiB3aGljaCBpcyBkZWZpbmVkIGFzIG11bHRpLXZhbHVlZAotaW4gdGhlIHNjaGVtYSwg YnV0IHdlIHJlYWxseSBuZWVkIHRvIHRyZWF0IGl0IGFzIHNpbmdsZS12YWx1ZWQKLQotRml4ZXM6 IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY0MAotCi1TaWduZWQtb2ZmLWJ5OiBN YXJrIFJleW5vbGRzIDxtcmV5bm9sZHNAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdy YXRlLnB5ICAgICAgICAgICB8IDExOSArKysrKysrKysrKysrKysrKysrLS0KLSBpcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkgfCAgODQgKysrKysrKysrKysrKy0tCi0g MiBmaWxlcyBjaGFuZ2VkLCAxODggaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weSBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1pbmRleCBlMjE5Mzc0MDEuLjc4YzUzMGYyNCAxMDA2NDQK LS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfbWlncmF0ZS5weQotQEAgLTMyLDcgKzMyLDcgQEAgZnJvbSBpcGFzZXJ2ZXIu aW5zdGFsbC5pcGFfbWlncmF0ZV9jb25zdGFudHMgaW1wb3J0ICgKLSAgICAgRFNfQ09ORklHLCBE Ql9PQkpFQ1RTLCBEU19JTkRFWEVTLCBCSU5EX0ROLCBMT0dfRklMRV9OQU1FLAotICAgICBTVFJJ UF9PUF9BVFRSUywgU1RSSVBfQVRUUlMsIFNUUklQX09DLCBQUk9EX0FUVFJTLAotICAgICBETkFf UkVHRU5fVkFMLCBETkFfUkVHRU5fQVRUUlMsIE5JU19QTFVHSU4sIElHTk9SRV9BVFRSUywKLS0g ICAgREJfRVhDTFVERV9UUkVFUwotKyAgICBEQl9FWENMVURFX1RSRUVTLCBQT0xJQ1lfT1BfQVRU UlMKLSApCi0gCi0gIiIiCi1AQCAtNTI5LDYgKzUyOSwxNCBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6 Ci0gICAgICMKLSAgICAgIyBIZWxwZXIgZnVuY3Rpb25zCi0gICAgICMKLSsgICAgZGVmIGF0dHJf aXNfb3BlcmF0aW9uYWwoc2VsZiwgYXR0cik6Ci0rICAgICAgICBzY2hlbWEgPSBzZWxmLmxvY2Fs X2Nvbm4uc2NoZW1hCi0rICAgICAgICBhdHRyX29iaiA9IHNjaGVtYS5nZXRfb2JqKGxkYXAuc2No ZW1hLkF0dHJpYnV0ZVR5cGUsIGF0dHIpCi0rICAgICAgICBpZiBhdHRyX29iaiBpcyBub3QgTm9u ZToKLSsgICAgICAgICAgICBpZiBhdHRyX29iai51c2FnZSA9PSAxOgotKyAgICAgICAgICAgICAg ICByZXR1cm4gVHJ1ZQotKyAgICAgICAgcmV0dXJuIEZhbHNlCi0rCi0gICAgIGRlZiByZXBsYWNl X3N1ZmZpeChzZWxmLCBlbnRyeV9kbik6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIFJlcGxhY2Ug dGhlIGJhc2UgRE4gaW4gYW4gZW50cnkgRE4KLUBAIC0xMTIyLDYgKzExMzAsMTggQEAgY2xhc3Mg SVBBTWlncmF0ZSgpOgotICAgICAgICAgICAgIHN0YXRzWydyZXNldF9yYW5nZSddICs9IDEKLSAg ICAgICAgIHJldHVybiBlbnRyeQotIAotKyAgICBkZWYgYXR0cl9pc19yZXF1aXJlZChzZWxmLCBh dHRyLCBlbnRyeSk6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIENoZWNrIGlmIGFuIGF0dHJpYnV0 ZSBpcyByZXF1aXJlZCBpbiB0aGlzIGVudHJ5Ci0rICAgICAgICAiIiIKLSsgICAgICAgIGVudHJ5 X29jID0gZW50cnlbJ29iamVjdENsYXNzJ10KLSsgICAgICAgIGZvciBvYyBpbiBlbnRyeV9vYzoK LSsgICAgICAgICAgICByZXF1aXJlZF9hdHRycyA9IHNlbGYubG9jYWxfY29ubi5nZXRfYWxsb3dl ZF9hdHRyaWJ1dGVzKAotKyAgICAgICAgICAgICAgICBbb2NdLCByYWlzZV9vbl91bmtub3duPUZh bHNlLCBhdHRyaWJ1dGVzPSJtdXN0IikKLSsgICAgICAgICAgICBpZiBhdHRyLmxvd2VyKCkgaW4g cmVxdWlyZWRfYXR0cnM6Ci0rICAgICAgICAgICAgICAgIHJldHVybiBUcnVlCi0rICAgICAgICBy ZXR1cm4gRmFsc2UKLSsKLSAgICAgZGVmIGNsZWFuX2VudHJ5KHNlbGYsIGVudHJ5X2RuLCBlbnRy eV90eXBlLCBlbnRyeV9hdHRycyk6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIENsZWFuIHVwIHRo ZSBlbnRyeSBmcm9tIHRoZSByZW1vdGUgc2VydmVyCi1AQCAtMTMxMSw3ICsxMzMxLDE3IEBAIGNs YXNzIElQQU1pZ3JhdGUoKToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmIid7b2xkX3ZhbHVlfScgIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJuZXcgdmFsdWUgIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiJ3tsb2NhbF9lbnRyeVthdHRy XVswXX0nIikKLS0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxpZiAnc2luZ2xlJyA9 PSBzcF9hdHRyWzFdOgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBUaGUgYXR0 cmlidXRlIGlzIGRlZmluZWQgYXMgbXVsdGl2YWx1ZWQsIGJ1dAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIyB3ZSByZWFsbHkgbmVlZCB0byB0cmVhdCBpdCBhcyBzaW5nbGUgdmFs dWVkCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ19kZWJ1ZygiRW50 cnkgaXMgZGlmZmVyZW50IGFuZCB3aWxsICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGYiYmUgdXBkYXRlZDogJ3tsb2NhbF9kbn0nICIKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYiYXR0cmlidXRlICd7YXR0 cn0nIHJlcGxhY2VkICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ3aXRoIHZhbCAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmIid7cmVtb3RlX2F0dHJzW2F0dHJdWzBdfScgIgotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm9sZCB2YWx1ZTogIgotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZiJ7bG9jYWxfZW50cnlbYXR0 cl1bMF19IikKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2FsX2VudHJ5W2F0 dHJdWzBdID0gcmVtb3RlX2F0dHJzW2F0dHJdWzBdCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGdvdG9fbmV4dF9hdHRyID0gVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi cmVhawotIAotQEAgLTEzNTgsNiArMTM4OCwzMSBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAg ICAgICAgICAgICAgIGxvY2FsX2VudHJ5W2F0dHJdID0gcmVtb3RlX2F0dHJzW2F0dHJdCi0gICAg ICAgICAgICAgICAgIGVudHJ5X3VwZGF0ZWQgPSBUcnVlCi0gCi0rICAgICAgICAjIFJlbW92ZSBh dHRyaWJ1dGVzIGluIHRoZSBsb2NhbCBlbnRyeSB0aGF0IGRvIG5vdCBleGlzdCBpbiB0aGUKLSsg ICAgICAgICMgcmVtb3RlIGVudHJ5Ci0rICAgICAgICByZW1vdmVfYXR0cnMgPSBbXQotKyAgICAg ICAgZm9yIGF0dHIgaW4gbG9jYWxfZW50cnk6Ci0rICAgICAgICAgICAgaWYgKHNlbGYuYXR0cl9p c19vcGVyYXRpb25hbChhdHRyKQotKyAgICAgICAgICAgICAgICBhbmQgYXR0ci5sb3dlcigpIG5v dCBpbiBQT0xJQ1lfT1BfQVRUUlMpIG9yIFwKLSsgICAgICAgICAgICAgICBhdHRyLmxvd2VyKCkg aW4gSUdOT1JFX0FUVFJTIG9yIFwKLSsgICAgICAgICAgICAgICBhdHRyLmxvd2VyKCkgaW4gU1RS SVBfQVRUUlMgb3IgXAotKyAgICAgICAgICAgICAgIGF0dHIubG93ZXIoKSA9PSAidXNlcmNlcnRp ZmljYXRlIjoKLSsgICAgICAgICAgICAgICAgIyBUaGlzIGlzIGFuIGF0dHJpYnV0ZSB0aGF0IHdl IGRvIG5vdCB3YW50IHRvIHJlbW92ZQotKyAgICAgICAgICAgICAgICBjb250aW51ZQotKwotKyAg ICAgICAgICAgIGlmIGF0dHIgbm90IGluIHJlbW90ZV9hdHRycyBhbmQgXAotKyAgICAgICAgICAg ICAgIG5vdCBzZWxmLmF0dHJfaXNfcmVxdWlyZWQoYXR0ciwgbG9jYWxfZW50cnkpOgotKyAgICAg ICAgICAgICAgICAjIE1hcmsgdGhpcyBhdHRyaWJ1dGUgZm9yIGRlbGV0aW9uCi0rICAgICAgICAg ICAgICAgIHJlbW92ZV9hdHRycy5hcHBlbmQoYXR0cikKLSsgICAgICAgICAgICAgICAgZW50cnlf dXBkYXRlZCA9IFRydWUKLSsKLSsgICAgICAgICMgUmVtb3ZlIGF0dHJpYnV0ZXMKLSsgICAgICAg IGZvciByZW1vdmVfYXR0ciBpbiByZW1vdmVfYXR0cnM6Ci0rICAgICAgICAgICAgc2VsZi5sb2df ZGVidWcoIkVudHJ5IGlzIGRpZmZlcmVudCBhbmQgd2lsbCBiZSB1cGRhdGVkOiAiCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgZiIne2xvY2FsX2RufScgYXR0cmlidXRlICd7cmVtb3ZlX2F0 dHJ9JyAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgImlzIGJlaW5nIHJlbW92ZWQiKQot KyAgICAgICAgICAgIGRlbCBsb2NhbF9lbnRyeVtyZW1vdmVfYXR0cl0KLSsKLSAgICAgICAgIGlm IHJhbmdlX3Jlc2V0OgotICAgICAgICAgICAgIHN0YXRzWydyZXNldF9yYW5nZSddICs9IDEKLSAK LUBAIC0xMzcxLDYgKzE0MjYsOSBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICAiIiIK LSAgICAgICAgIFByb2Nlc3MgY2h1bmtzIG9mIHJlbW90ZSBlbnRyaWVzIGZyb20gYSBwYWdlZCBy ZXN1bHRzIHNlYXJjaAotIAotKyAgICAgICAgZW50cnlfZG4gPSB0aGUgcmVtb3RlIGVudHJ5IERO Ci0rICAgICAgICBlbnRyeV9hdHRycyA9IHRoZSByZW1vdGUgZW50cnkncyBhdHRyaWJ1dGVzIHN0 b3JlZCBpbiBhIGRpY3QKLSsKLSAgICAgICAgIElkZW50aWZ5IGVudHJ5IHR5cGUKLSAgICAgICAg IFByb2Nlc3MgZW50cnkgKHJlbW92aW5nL2NoYW5nZSBhdHRyL3ZhbC9zY2hlbWEpCi0gICAgICAg ICBDb21wYXJlIHByb2Nlc3NlZCByZW1vdGUgZW50cnkgd2l0aCBsb2NhbCBlbnRyeSwgbWVyZ2Uv b3ZlcndyaXRlPwotQEAgLTE0MjYsNiArMTQ4NCw0NyBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0g ICAgICAgICAjIEJhc2VkIG9uIHRoZSBlbnRyeSB0eXBlIGRvIGFkZGl0aW9uYWwgd29yawotICAg ICAgICAgIwotIAotKyAgICAgICAgIyBGb3IgZW50cmllcyB3aXRoIGFsdGVybmF0ZSBpZGVudGlm eWluZyBuZWVkcyB3ZSBuZWVkIHRvIHJlYnVpbGQgdGhlCi0rICAgICAgICAjIGxvY2FsIGRuLiBU eXBpY2FsbHkgdGhpcyBpcyBmb3IgZW50cmllcyB0aGF0IHVzZSBpcGFVbmlxdWVJZCBhcyB0aGUK LSsgICAgICAgICMgUkROIGF0dHIKLSsgICAgICAgIGlmIGVudHJ5X3R5cGUgIT0gImN1c3RvbSIg YW5kICdhbHRfaWQnIGluIERCX09CSkVDVFNbZW50cnlfdHlwZV06Ci0rICAgICAgICAgICAgYXR0 ciA9IERCX09CSkVDVFNbZW50cnlfdHlwZV1bJ2FsdF9pZCddWydhdHRyJ10KLSsgICAgICAgICAg ICBiYXNlID0gREJfT0JKRUNUU1tlbnRyeV90eXBlXVsnYWx0X2lkJ11bJ2Jhc2UnXQotKyAgICAg ICAgICAgIHNyY2hfZmlsdGVyID0gZid7YXR0cn09e2VudHJ5X2F0dHJzW2F0dHJdWzBdfScKLSsg ICAgICAgICAgICBpZiBEQl9PQkpFQ1RTW2VudHJ5X3R5cGVdWydhbHRfaWQnXVsnaXNETiddIGlz IFRydWU6Ci0rICAgICAgICAgICAgICAgICMgQ29udmVydCB0aGUgZmlsdGVyIHRvIG1hdGNoIHRo ZSBsb2NhbCBzdWZmaXgKLSsgICAgICAgICAgICAgICAgc3JjaF9maWx0ZXIgPSBzZWxmLnJlcGxh Y2Vfc3VmZml4KHNyY2hfZmlsdGVyKQotKyAgICAgICAgICAgIHNyY2hfYmFzZSA9IGJhc2UgKyBz dHIoc2VsZi5sb2NhbF9zdWZmaXgpCi0rCi0rICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAg ICAgICBlbnRyaWVzID0gc2VsZi5sb2NhbF9jb25uLmdldF9lbnRyaWVzKEROKHNyY2hfYmFzZSks Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmlsdGVyPXNyY2hfZmlsdGVyKQotKyAgICAgICAgICAgICAgICBpZiBsZW4oZW50cmllcykgPT0g MToKLSsgICAgICAgICAgICAgICAgICAgIGxvY2FsX2RuID0gZW50cmllc1swXS5kbgotKyAgICAg ICAgICAgICAgICBlbGlmIGxlbihlbnRyaWVzKSA9PSAwOgotKyAgICAgICAgICAgICAgICAgICAg IyBOb3QgZm91bmQsIG5vIHByb2JsZW0ganVzdCBwcm9jZWVkIGFuZCB3ZSB3aWxsIGFkZCBpdAot KyAgICAgICAgICAgICAgICAgICAgcGFzcwotKyAgICAgICAgICAgICAgICBlbHNlOgotKyAgICAg ICAgICAgICAgICAgICAgIyBGb3VuZCB0b28gbWFueSBlbnRyaWVzIC0gc2hvdWxkIG5vdCBoYXBw ZW4KLSsgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nX2Vycm9yKCdGb3VuZCB0b28gbWFueSBs b2NhbCBtYXRjaGluZyBlbnRyaWVzICcKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGYnZm9yICJ7bG9jYWxfZG59IicpCi0rICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLmFy Z3MuZm9yY2U6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHNbJ2lnbm9yZWRfZXJyb3Jz J10gKz0gMQotKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybgotKyAgICAgICAgICAgICAg ICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgICAgICAgICBzeXMuZXhpdCgxKQotKyAgICAg ICAgICAgIGV4Y2VwdCBlcnJvcnMuRW1wdHlSZXN1bHQ6Ci0rICAgICAgICAgICAgICAgICMgTm90 IGZvdW5kLCBubyBwcm9ibGVtIGp1c3QgcHJvY2VlZCBhbmQgd2Ugd2lsbCBhZGQgaXQgbGF0ZXIK LSsgICAgICAgICAgICAgICAgcGFzcwotKyAgICAgICAgICAgIGV4Y2VwdCAoZXJyb3JzLk5ldHdv cmtFcnJvciwgZXJyb3JzLkRhdGFiYXNlRXJyb3IpIGFzIGU6Ci0rICAgICAgICAgICAgICAgIHNl bGYubG9nX2Vycm9yKCdGYWlsZWQgdG8gZmluZCBhIGxvY2FsIG1hdGNoaW5nIGVudHJ5IGZvciAn Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYnIntsb2NhbF9kbn0iIGVycm9yOiB7 c3RyKGUpfScpCi0rICAgICAgICAgICAgICAgIGlmIHNlbGYuYXJncy5mb3JjZToKLSsgICAgICAg ICAgICAgICAgICAgIHN0YXRzWydpZ25vcmVkX2Vycm9ycyddICs9IDEKLSsgICAgICAgICAgICAg ICAgICAgIHJldHVybgotKyAgICAgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICAg ICAgc3lzLmV4aXQoMSkKLSsKLSAgICAgICAgICMgU2VlIGlmIHRoZSBlbnRyeSBleGlzdHMgb24g dGhlIGxvY2FsIHNlcnZlcgotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIGxvY2FsX2VudHJ5 ID0gc2VsZi5sb2NhbF9jb25uLmdldF9lbnRyeShETihsb2NhbF9kbiksCi1AQCAtMTQ0MSwxNCAr MTU0MCwyMCBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gCi0gICAgICAgICAgICAgaWYgc2VsZi5k cnlydW46Ci0gICAgICAgICAgICAgICAgIHNlbGYud3JpdGVfdXBkYXRlX3RvX2xkaWYobG9jYWxf ZW50cnkpCi0tICAgICAgICAgICAgICAgIERCX09CSkVDVFNbZW50cnlfdHlwZV1bJ2NvdW50J10g Kz0gMQotKyAgICAgICAgICAgICAgICBpZiBlbnRyeV90eXBlID09ICJjdXN0b20iOgotKyAgICAg ICAgICAgICAgICAgICAgc3RhdHNbJ2N1c3RvbSddICs9IDEKLSsgICAgICAgICAgICAgICAgZWxz ZToKLSsgICAgICAgICAgICAgICAgICAgIERCX09CSkVDVFNbZW50cnlfdHlwZV1bJ2NvdW50J10g Kz0gMQotICAgICAgICAgICAgICAgICBzdGF0c1sndG90YWxfZGJfbWlncmF0ZWQnXSArPSAxCi0g ICAgICAgICAgICAgICAgIHJldHVybgotIAotICAgICAgICAgICAgICMgVXBkYXRlIHRoZSBsb2Nh bCBlbnRyeQotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgc2VsZi5sb2NhbF9j b25uLnVwZGF0ZV9lbnRyeShsb2NhbF9lbnRyeSkKLS0gICAgICAgICAgICAgICAgREJfT0JKRUNU U1tlbnRyeV90eXBlXVsnY291bnQnXSArPSAxCi0rICAgICAgICAgICAgICAgIGlmIGVudHJ5X3R5 cGUgPT0gImN1c3RvbSI6Ci0rICAgICAgICAgICAgICAgICAgICBzdGF0c1snY3VzdG9tJ10gKz0g MQotKyAgICAgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICAgICAgREJfT0JKRUNU U1tlbnRyeV90eXBlXVsnY291bnQnXSArPSAxCi0gICAgICAgICAgICAgZXhjZXB0IGVycm9ycy5F eGVjdXRpb25FcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICBzZWxmLmxvZ19lcnJvcihmJ0Zh aWxlZCB0byB1cGRhdGUgIntsb2NhbF9kbn0iIGVycm9yOiAnCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGYne3N0cihlKX0nKQotQEAgLTE1NjcsNyArMTY3Miw3IEBAIGNsYXNzIElQ QU1pZ3JhdGUoKToKLSAgICAgICAgICIiIgotICAgICAgICAgVXNlZCBwYWdlZCBzZWFyY2ggZm9y IG9ubGluZSBtZXRob2QgdG8gYXZvaWQgbGFyZ2UgbWVtb3J5IGZvb3RwcmludAotICAgICAgICAg IiIiCi0tICAgICAgICBzZWxmLmxvZ19pbmZvKCJNaWdyYXRpbmcgZGF0YWJhc2UgLi4uICh0aGlz IG1ha2UgdGFrZSBhIHdoaWxlKSIpCi0rICAgICAgICBzZWxmLmxvZ19pbmZvKCJNaWdyYXRpbmcg ZGF0YWJhc2UgLi4uICh0aGlzIG1heSB0YWtlIGEgd2hpbGUpIikKLSAgICAgICAgIGlmIHNlbGYu YXJncy5kYl9sZGlmIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgIHNlbGYucHJvY2Vzc0RCT2Zm bGluZSgpCi0gICAgICAgICBlbHNlOgotQEAgLTE2MDgsNyArMTcxMyw3IEBAIGNsYXNzIElQQU1p Z3JhdGUoKToKLSAgICAgICAgICAgICAgICAgICAgICAgIGYie2xlbihvYmplY3RjbGFzc2VzKX0g b2JqZWN0Q2xhc3NlcyIpCi0gCi0gICAgICAgICAjIExvb3Agb3ZlciBhdHRyaWJ1dGVzIGFuZCBv YmplY3RjbGFzc2VzIGFuZCBjb3VudCB0aGVtCi0tICAgICAgICBzY2hlbWEgPSBzZWxmLmxvY2Fs X2Nvbm4uX2dldF9zY2hlbWEoKQotKyAgICAgICAgc2NoZW1hID0gc2VsZi5sb2NhbF9jb25uLnNj aGVtYQotICAgICAgICAgbG9jYWxfc2NoZW1hID0gc2NoZW1hLmxkYXBfZW50cnkoKQotICAgICAg ICAgZm9yIHNjaGVtYV90eXBlIGluIFsoYXR0cmlidXRlcywgImF0dHJpYnV0ZVR5cGVzIiksCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvYmplY3RjbGFzc2VzLCAib2JqZWN0Q2xhc3Nl cyIpXToKLUBAIC0xOTY3LDcgKzIwNzIsNyBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gCi0gICAg ICAgICAjIFJ1biBpcGEtc2VydmVyLXVwZ3JhZGUKLSAgICAgICAgIHNlbGYubG9nX2luZm8oIlJ1 bm5pbmcgaXBhLXNlcnZlci11cGdyYWRlIC4uLiAiCi0tICAgICAgICAgICAgICAgICAgICAgICIo dGhpcyBtYWtlIHRha2UgYSB3aGlsZSkiKQotKyAgICAgICAgICAgICAgICAgICAgICAiKHRoaXMg bWF5IHRha2UgYSB3aGlsZSkiKQotICAgICAgICAgaWYgc2VsZi5kcnlydW46Ci0gICAgICAgICAg ICAgc2VsZi5sb2dfaW5mbygiU2tpcHBpbmcgaXBhLXNlcnZlci11cGdyYWRlIGluIGRyeXJ1biBt b2RlLiIpCi0gICAgICAgICBlbHNlOgotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lw YV9taWdyYXRlX2NvbnN0YW50cy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2Nv bnN0YW50cy5weQotaW5kZXggMGUyNmM3NTQ5Li4yNTBmMWI1YjAgMTAwNjQ0Ci0tLS0gYS9pcGFz ZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLSsrKyBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9taWdyYXRlX2NvbnN0YW50cy5weQotQEAgLTE5LDYgKzE5LDI4IEBAIFNUUklQ X09QX0FUVFJTID0gWwotICAgICAnbnN1bmlxdWVpZCcsCi0gICAgICdkc2VudHJ5ZG4nLAotICAg ICAnZW50cnl1dWlkJywKLSsgICAgJ2VudHJ5ZG4nLAotKyAgICAnZW50cnlpZCcsCi0rICAgICdl bnRyeXVzbicsCi0rICAgICdudW1zdWJvcmRpbmF0ZXMnLAotKyAgICAncGFyZW50aWQnLAotKyAg ICAndG9tYnN0b25lbnVtc3Vib3JkaW5hdGVzJwotK10KLSsKLSsjIE9wZXJhdGlvbmFsIGF0dHJp YnV0ZXMgdGhhdCB3ZSB3b3VsZCB3YW50IHRvIHJlbW92ZSBmcm9tIHRoZSBsb2NhbCBlbnRyeSBp ZgotKyMgdGhleSBkb24ndCBleGlzdCBpbiB0aGUgcmVtb3RlIGVudHJ5Ci0rUE9MSUNZX09QX0FU VFJTID0gWwotKyAgICAnbnNhY2NvdW50bG9jaycsCi0rICAgICdwYXNzd29yZGV4cGlyYXRvbnRp bWUnLAotKyAgICAncGFzc3dvcmRncmFjZXVzZXJ0aW1lJywKLSsgICAgJ3B3ZHBvbGljeXN1YmVu dHJ5JywKLSsgICAgJ3Bhc3N3b3JkZXhwd2FybmVkJywKLSsgICAgJ3Bhc3N3b3JkcmV0cnljb3Vu dCcsCi0rICAgICdyZXRyeWNvdW50cmVzZXR0aW1lJywKLSsgICAgJ2FjY291bnR1bmxvY2t0aW1l JywKLSsgICAgJ3Bhc3N3b3JkaGlzdG9yeScsCi0rICAgICdwYXNzd29yZGFsbG93Y2hhbmdldGlt ZScsCi0rICAgICdwd2RyZXNldCcKLSBdCi0gCi0gIyBBdHJpYnV0ZXMgdG8gc3RyaXAgZnJvbSB1 c2Vycy9ncm91cHMKLUBAIC0xMTAsNyArMTMyLDcgQEAgU1RSSVBfT0MgPSBbCi0gIwotICMgVGhl IERTX0NPTkZJRyBtYXBwaW5nIGJyZWFrcyBlYWNoIGNvbmZpZyBlbnRyeSAob3IgdHlwZSBvZiBl bnRyeSkgaW50byBpdHMKLSAjIG93biBjYXRhZ29yeS4gRWFjaCBjYXRhZ29yeSwgb3IgdHlwZSwg YXMgRE4gbGlzdCAiZG4iLCB0aGUgYXR0cmlidXRlcyMgd2UKLS0jIGFyZSBpbnRyZXN0ZWQgaW4u ICBUaGVzZSBhdHRyaWJ1dGVzIGFyZSBicm9rZW4gaW50byBzaW5nZWwgdmFsdWVkICJhdHRycyIs Ci0rIyBhcmUgaW50cmVzdGVkIGluLiAgVGhlc2UgYXR0cmlidXRlcyBhcmUgYnJva2VuIGludG8g c2luZ2xlIHZhbHVlZCAiYXR0cnMiLAotICMgb3IgbXVsdGktdmFsdWVkIGF0dHJpYnV0ZXMgIm11 bHRpdmFsdWVkIi4gIElmIHRoZSBhdHRyaWJ1dGVzIGlzIHNpbmdsZQotICMgdmFsdWVkIHRoZW4g dGhlIHZhbHVlIGlzIHJlcGxhY2VkLCBpZiBpdCdzIG11bHRpdmFsdWVkIHRoZW4gaXQgaXMgImFw cGVuZGVkIgotICMKLUBAIC01MDMsNyArNTI1LDcgQEAgRFNfQ09ORklHID0gewotIH0KLSAKLSAj Ci0tIyBTbHBhaSBOSVMgaXMgYW4gb3B0aW9uYWwgcGx1Z2luLiAgSXQgcmVxdWlyZXMgc3BlY2lh bCBoYW5kbGluZwotKyMgU2xhcGkgTklTIGlzIGFuIG9wdGlvbmFsIHBsdWdpbi4gIEl0IHJlcXVp cmVzIHNwZWNpYWwgaGFuZGxpbmcKLSAjCi0gTklTX1BMVUdJTiA9IHsKLSAgICAgJ2RuJzogJ2Nu PU5JUyBTZXJ2ZXIsY249cGx1Z2lucyxjbj1jb25maWcnLAotQEAgLTU2NSw2ICs1ODcsMTIgQEAg RFNfSU5ERVhFUyA9IHsKLSAjIGlkZW50aWZ5IHRoZSBlbnRyeS4KLSAjIFRoZSAibGFiZWwiIGFu ZCAiY291bnQiIGF0dHJpYnV0ZXMgYXJlIHVzZWQgZm9yIHRoZSBTdW1tYXJ5IFJlcG9ydAotICMK LSsjIFNvbWUgZW50cmllcyB1c2UgaXBhVW5pcXVlSWQgYXMgdGhlIFJETiBhdHRyaWJ1dGUsIHRo aXMgbWFrZXMgY29tcGFyaW5nCi0rIyBlbnRyaWVzIGJldHdlZW4gdGhlIHJlbW90ZSBhbmQgbG9j YWwgc2VydmVycyBwcm9ibGVtYXRpYy4gU28gd2UgbmVlZCBzcGVjaWFsCi0rIyBpZGVudGlmeWlu ZyBpbmZvcm1hdGlvbiB0byBmaW5kIHRoZSBsb2NhbCBlbnRyeS4gSW4gdGhpcyBjYXNlIHdlIHVz ZSB0aGUKLSsjICJhbHRfaWQiIGtleSB3aGljaCBpcyBhIGRpY3Qgb2YgYW4gYXR0cmlidXRlICdh dHRyJyBhbmQgcGFydGlhbCBiYXNlIEROCi0rIyAnYmFzZScgLSB3aGljaCBpcyBleHBlY3RlZCB0 byBlbmQgaW4gYSBjb21tYS4KLSsjCi0gREJfT0JKRUNUUyA9IHsKLSAgICAgIyBQbHVnaW5zCi0g ICAgICdhdXRvbWVtYmVyX2RlZic6IHsKLUBAIC02NDAsOCArNjY4LDggQEAgREJfT0JKRUNUUyA9 IHsKLSAgICAgICAgICdvYyc6IFsnaXBhY29uZmlnb2JqZWN0JywgJ2lwYWd1aWNvbmZpZyddLAot ICAgICAgICAgJ3N1YnRyZWUnOiAnY249aXBhY29uZmlnLGNuPWV0YywkU1VGRklYJywKLSAgICAg ICAgICdzcGVjaWFsX2F0dHJzJzogWwotLSAgICAgICAgICAgICMgbmVlZHMgc3BlY2lhbCBoYW5k bGluZywgYnV0Ci0tICAgICAgICAgICAgIyBpcGEtc2VydmVyLXVwZ3JhZGUgcmV3cml0ZXMgdGhp cyBhdHRyaWJ1dGUgYW55d2F5IQotKyAgICAgICAgICAgICMgbmVlZHMgc3BlY2lhbCBoYW5kbGlu ZywgYnV0IGlwYS1zZXJ2ZXItdXBncmFkZSByZXdyaXRlcyB0aGlzCi0rICAgICAgICAgICAgIyBh dHRyaWJ1dGUgYW55d2F5IQotICAgICAgICAgICAgICgnaXBhdXNlcnNlYXJjaGZpZWxkcycsICds aXN0JyksCi0gICAgICAgICBdLAotICAgICAgICAgJ2xhYmVsJzogJ0lQQSBDb25maWcnLAotQEAg LTc3MiwxMSArODAwLDE2IEBAIERCX09CSkVDVFMgPSB7Ci0gICAgICAgICAnbW9kZSc6ICdhbGwn LAotICAgICAgICAgJ2NvdW50JzogMCwKLSAgICAgfSwKLS0gICAgJ3N1Ymlkcyc6IHsgICMgdW5r bm93biB3aGF0IHRoZXNlIGVudHJpZXMgbG9vayBsaWtlIFRPRE8KLSsgICAgJ3N1Ymlkcyc6IHsK LSAgICAgICAgICdvYyc6IFtdLAotICAgICAgICAgJ3N1YnRyZWUnOiAnLGNuPXN1Ymlkcyxjbj1h Y2NvdW50cywkU1VGRklYJywKLSAgICAgICAgICdsYWJlbCc6ICdTdWIgSURzJywKLS0gICAgICAg ICdtb2RlJzogJ2FsbCcsICAjIFRPRE8gTWF5YmUgcHJvZHVjdGlvbiBvbmx5PwotKyAgICAgICAg J21vZGUnOiAncHJvZHVjdGlvbicsCi0rICAgICAgICAnYWx0X2lkJzogewotKyAgICAgICAgICAg ICdhdHRyJzogJ2lwYU93bmVyJywKLSsgICAgICAgICAgICAnaXNETic6IFRydWUsCi0rICAgICAg ICAgICAgJ2Jhc2UnOiAnY249c3ViaWRzLGNuPWFjY291bnRzLCcsCi0rICAgICAgICB9LAotICAg ICAgICAgJ2NvdW50JzogMCwKLSAgICAgfSwKLSAKLUBAIC04ODQsNiArOTE3LDExIEBAIERCX09C SkVDVFMgPSB7Ci0gICAgICAgICAnb2MnOiBbJ2lwYWhiYWNydWxlJ10sCi0gICAgICAgICAnc3Vi dHJlZSc6ICcsY249aGJhYywkU1VGRklYJywKLSAgICAgICAgICdsYWJlbCc6ICdIQkFDIFJ1bGVz JywKLSsgICAgICAgICdhbHRfaWQnOiB7Ci0rICAgICAgICAgICAgJ2F0dHInOiAnY24nLAotKyAg ICAgICAgICAgICdiYXNlJzogJ2NuPWhiYWMsJywKLSsgICAgICAgICAgICAnaXNETic6IEZhbHNl LAotKyAgICAgICAgfSwKLSAgICAgICAgICdtb2RlJzogJ2FsbCcsCi0gICAgICAgICAnY291bnQn OiAwLAotICAgICB9LAotQEAgLTg5Miw2ICs5MzAsMTEgQEAgREJfT0JKRUNUUyA9IHsKLSAgICAg J3NlbGludXhfdXNlcm1hcCc6IHsgICMgTm90IHN1cmUgaWYgdGhpcyBpcyBuZWVkZWQsIGVudHJ5 IGlzIGVtcHR5ICBUT0RPCi0gICAgICAgICAnb2MnOiBbXSwKLSAgICAgICAgICdzdWJ0cmVlJzog Jyxjbj11c2VybWFwLGNuPXNlbGludXgsJFNVRkZJWCcsCi0rICAgICAgICAnYWx0X2lkJzogewot KyAgICAgICAgICAgICdhdHRyJzogJ2NuJywKLSsgICAgICAgICAgICAnYmFzZSc6ICdjbj11c2Vy bWFwLGNuPXNlbGludXgsJywKLSsgICAgICAgICAgICAnaXNETic6IEZhbHNlLAotKyAgICAgICAg fSwKLSAgICAgICAgICdsYWJlbCc6ICdTZWxpbnV4IFVzZXJtYXBzJywKLSAgICAgICAgICdtb2Rl JzogJ2FsbCcsCi0gICAgICAgICAnY291bnQnOiAwLAotQEAgLTkwMiwxMiArOTQ1LDI3IEBAIERC X09CSkVDVFMgPSB7Ci0gICAgICAgICAnb2MnOiBbJ2lwYXN1ZG9ydWxlJ10sCi0gICAgICAgICAn c3VidHJlZSc6ICcsY249c3Vkb3J1bGVzLGNuPXN1ZG8sJFNVRkZJWCcsCi0gICAgICAgICAnbGFi ZWwnOiAnU3VkbyBSdWxlcycsCi0rICAgICAgICAnYWx0X2lkJzogewotKyAgICAgICAgICAgICdh dHRyJzogJ2NuJywKLSsgICAgICAgICAgICAnYmFzZSc6ICdjbj1zdWRvcnVsZXMsY249c3Vkbywn LAotKyAgICAgICAgICAgICdpc0ROJzogRmFsc2UsCi0rICAgICAgICB9LAotKyAgICAgICAgJ3Nw ZWNpYWxfYXR0cnMnOiBbCi0rICAgICAgICAgICAgIyBzY2hlbWEgZGVmaW5lcyBzdWRvT3JkZXIg YXMgbXV0bGl2YWx1ZWQsIGJ1dCB3ZSBuZWVkIHRvIHRyZWF0Ci0rICAgICAgICAgICAgIyBpdCBh cyBzaW5nbGUgdmFsdWVkCi0rICAgICAgICAgICAgKCdzdWRvb3JkZXInLCAnc2luZ2xlJyksCi0r ICAgICAgICBdLAotICAgICAgICAgJ21vZGUnOiAnYWxsJywKLSAgICAgICAgICdjb3VudCc6IDAs Ci0gICAgIH0sCi0gICAgICdzdWRvX2NtZHMnOiB7Ci0gICAgICAgICAnb2MnOiBbJ2lwYXN1ZG9j bWQnXSwKLSAgICAgICAgICdzdWJ0cmVlJzogJyxjbj1zdWRvY21kcyxjbj1zdWRvLCRTVUZGSVgn LAotKyAgICAgICAgJ2FsdF9pZCc6IHsKLSsgICAgICAgICAgICAnYXR0cic6ICdzdWRvQ21kJywK LSsgICAgICAgICAgICAnYmFzZSc6ICdjbj1zdWRvY21kcyxjbj1zdWRvLCcsCi0rICAgICAgICAg ICAgJ2lzRE4nOiBGYWxzZSwKLSsgICAgICAgIH0sCi0gICAgICAgICAnbGFiZWwnOiAnU3VkbyBD b21tYW5kcycsCi0gICAgICAgICAnbW9kZSc6ICdhbGwnLAotICAgICAgICAgJ2NvdW50JzogMCwK LUBAIC05OTEsNiArMTA0OSwxMSBAQCBEQl9PQkpFQ1RTID0gewotICAgICAgICAgJ29jJzogWydp cGFuaXNuZXRncm91cCddLAotICAgICAgICAgJ25vdF9vYyc6IFsnbWVwbWFuYWdlZGVudHJ5J10s Ci0gICAgICAgICAnc3VidHJlZSc6ICcsY249bmcsY249YWx0LCRTVUZGSVgnLAotKyAgICAgICAg J2FsdF9pZCc6IHsKLSsgICAgICAgICAgICAnYXR0cic6ICdjbicsCi0rICAgICAgICAgICAgJ2Jh c2UnOiAnY249bmcsY249YWx0LCcsCi0rICAgICAgICAgICAgJ2lzRE4nOiBGYWxzZSwKLSsgICAg ICAgIH0sCi0gICAgICAgICAnbGFiZWwnOiAnTmV0d29yayBHcm91cHMnLAotICAgICAgICAgJ21v ZGUnOiAnYWxsJywKLSAgICAgICAgICdjb3VudCc6IDAsCi1AQCAtMTAwNiw5ICsxMDY5LDE0IEBA IERCX09CSkVDVFMgPSB7Ci0gICAgICAgICAnY291bnQnOiAwLAotICAgICB9LAotICAgICAnY2Fh Y2xzJzogewotLSAgICAgICAgJ29jJzogWyd0b3AnXSwKLSsgICAgICAgICdvYyc6IFsnaXBhY2Fh Y2wnXSwKLSAgICAgICAgICdzdWJ0cmVlJzogJyxjbj1jYWFjbHMsY249Y2EsJFNVRkZJWCcsCi0t ICAgICAgICAnbGFiZWwnOiAnQ0EgQ2VydGlmaWNhdGVzJywKLSsgICAgICAgICdhbHRfaWQnOiB7 Ci0rICAgICAgICAgICAgJ2F0dHInOiAnY24nLAotKyAgICAgICAgICAgICdiYXNlJzogJ2NuPWNh YWNscyxjbj1jYSwnLAotKyAgICAgICAgICAgICdpc0ROJzogRmFsc2UsCi0rICAgICAgICB9LAot KyAgICAgICAgJ2xhYmVsJzogJ0NBIENlcnRpZmljYXRlIEFDTHMnLAotICAgICAgICAgJ21vZGUn OiAnYWxsJywKLSAgICAgICAgICdjb3VudCc6IDAsCi0gICAgIH0sCi0tLSAKLTIuNDkuMAotCi0K LUZyb20gM2I1YTk4MGY1YjY1YjAzYjlmZDdhZDBjZmJiNmM4Nzg3NGQzZmYyNCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29t PgotRGF0ZTogVHVlLCAzIFNlcCAyMDI0IDEzOjQyOjA1IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0gg MDExLzExNl0gaXBhLW1pZ3JhdGUgLSBmaXggYWx0ZXJuYXRlIGVudHJ5IHNlYXJjaCBmaWx0ZXIK LQotUHJvY2Vzc2luZyBhIGZpbHRlciBsaWtlIGEgRE4gY2FuIGNhdXNlIG5vcm1hbGl6YXRpb24g aXNzdWVzIHRoYXQgcmVzdWx0Ci1pbiBhbiBpbnZhbGlkIGZpbHRlci4gTWFrZSBzdXJlIHRoZSBm aWx0ZXIgaXMgZW5jYXBzdWxhdGVkIHdpdGgKLXBhcmVudGhlc2lzIGFuZCB3ZSBjYWxsIHJlcGxh Y2Vfc3VmZml4X3ZhbHVlKCkgaW5zdGVhZCBvZgotcmVwbGFjZV9zdWZmaXgoKQotCi1GaXhlczog aHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjU4Ci0KLVNpZ25lZC1vZmYtYnk6IE1h cmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotCi1GaXggdHlwbyBpbiB0ZXN0Ci0K LVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0t Ci0gaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkgICAgICAgICAgICAgICAgICAgIHwg NCArKy0tCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9u LnB5IHwgNiArKystLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5 IGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkKLWluZGV4IDc4YzUzMGYyNC4uMzgz NTZhYTIzIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkKLSsr KyBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1AQCAtMTQ5MCwxMCArMTQ5MCwx MCBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICBpZiBlbnRyeV90eXBlICE9ICJjdXN0 b20iIGFuZCAnYWx0X2lkJyBpbiBEQl9PQkpFQ1RTW2VudHJ5X3R5cGVdOgotICAgICAgICAgICAg IGF0dHIgPSBEQl9PQkpFQ1RTW2VudHJ5X3R5cGVdWydhbHRfaWQnXVsnYXR0ciddCi0gICAgICAg ICAgICAgYmFzZSA9IERCX09CSkVDVFNbZW50cnlfdHlwZV1bJ2FsdF9pZCddWydiYXNlJ10KLS0g ICAgICAgICAgICBzcmNoX2ZpbHRlciA9IGYne2F0dHJ9PXtlbnRyeV9hdHRyc1thdHRyXVswXX0n Ci0rICAgICAgICAgICAgc3JjaF9maWx0ZXIgPSBmJyh7YXR0cn09e2VudHJ5X2F0dHJzW2F0dHJd WzBdfSknCi0gICAgICAgICAgICAgaWYgREJfT0JKRUNUU1tlbnRyeV90eXBlXVsnYWx0X2lkJ11b J2lzRE4nXSBpcyBUcnVlOgotICAgICAgICAgICAgICAgICAjIENvbnZlcnQgdGhlIGZpbHRlciB0 byBtYXRjaCB0aGUgbG9jYWwgc3VmZml4Ci0tICAgICAgICAgICAgICAgIHNyY2hfZmlsdGVyID0g c2VsZi5yZXBsYWNlX3N1ZmZpeChzcmNoX2ZpbHRlcikKLSsgICAgICAgICAgICAgICAgc3JjaF9m aWx0ZXIgPSBzZWxmLnJlcGxhY2Vfc3VmZml4X3ZhbHVlKHNyY2hfZmlsdGVyKQotICAgICAgICAg ICAgIHNyY2hfYmFzZSA9IGJhc2UgKyBzdHIoc2VsZi5sb2NhbF9zdWZmaXgpCi0gCi0gICAgICAg ICAgICAgdHJ5OgotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9p cGFfaXBhX21pZ3JhdGlvbi5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFf aXBhX21pZ3JhdGlvbi5weQotaW5kZXggZjY5N2JiZmJmLi4yODgxNjVlOGEgMTAwNjQ0Ci0tLS0g YS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24ucHkKLSsr KyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5weQot QEAgLTYxMCw3ICs2MTAsNyBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3Jh dGlvblRlc3QpOgotICAgICAgICAgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHID0gIk1pZ3JhdGlu ZyBzY2hlbWEgLi4uXG4iCi0gICAgICAgICBNSUdSQVRJT05fQ09ORklHX0xPR19NU0cgPSAiTWln cmF0aW5nIGNvbmZpZ3VyYXRpb24gLi4uXG4iCi0gICAgICAgICBJUEFfVVBHUkFERV9MT0dfTVNH ID0gKAotLSAgICAgICAgICAgICJSdW5uaW5nIGlwYS1zZXJ2ZXItdXBncmFkZSAuLi4gKHRoaXMg bWFrZSB0YWtlIGEgd2hpbGUpXG4iCi0rICAgICAgICAgICAgIlJ1bm5pbmcgaXBhLXNlcnZlci11 cGdyYWRlIC4uLiAodGhpcyBtYXkgdGFrZSBhIHdoaWxlKVxuIgotICAgICAgICAgKQotICAgICAg ICAgU0lER0VOX1RBU0tfTE9HX01TRyA9ICJSdW5uaW5nIFNJREdFTiB0YXNrIC4uLlxuIgotICAg ICAgICAgTUlHUkFUSU9OX0NPTVBMRVRFX0xPR19NU0cgPSAiTWlncmF0aW9uIGNvbXBsZXRlIVxu IgotQEAgLTY0MSwxMCArNjQxLDEwIEBAIGNsYXNzIFRlc3RJUEFNaWdyYXRlU2NlbmFyaW8xKElu dGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLnJlcGxpY2Fz WzBdKQotICAgICAgICAgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHID0gIk1pZ3JhdGluZyBzY2hl bWEgLi4uXG4iCi0gICAgICAgICBNSUdSQVRJT05fREFUQUJBU0VfTE9HX01TRyA9ICgKLS0gICAg ICAgICAgICAiTWlncmF0aW5nIGRhdGFiYXNlIC4uLiAodGhpcyBtYWtlIHRha2UgYSB3aGlsZSlc biIKLSsgICAgICAgICAgICAiTWlncmF0aW5nIGRhdGFiYXNlIC4uLiAodGhpcyBtYXkgdGFrZSBh IHdoaWxlKVxuIgotICAgICAgICAgKQotICAgICAgICAgSVBBX1VQR1JBREVfTE9HX01TRyA9ICgK LS0gICAgICAgICAgICAiUnVubmluZyBpcGEtc2VydmVyLXVwZ3JhZGUgLi4uICh0aGlzIG1ha2Ug dGFrZSBhIHdoaWxlKVxuIgotKyAgICAgICAgICAgICJSdW5uaW5nIGlwYS1zZXJ2ZXItdXBncmFk ZSAuLi4gKHRoaXMgbWF5IHRha2UgYSB3aGlsZSlcbiIKLSAgICAgICAgICkKLSAgICAgICAgIFNJ REdFTl9UQVNLX0xPR19NU0cgPSAiUnVubmluZyBTSURHRU4gdGFzayAuLi5cbiIKLSAgICAgICAg IHJlc3VsdCA9IHJ1bl9taWdyYXRlKAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGM5NmQxNzJkN2Qy ZTg3NTEzZDliZDUxYTk4NTkxODU4ZTFmODhkZWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCA1 IFNlcCAyMDI0IDE0OjUyOjI2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEyLzExNl0gQ3VzdG9k aWE6IGluIGZpcHMgbW9kZSBhZGQgLW5vbWFjIG9yIC1ub21hY3ZlciB0bwotIG9wZW5zc2wgcGtj czEyCi0KLUluIEZJUFMgbW9kZSB0aGUgY29tbWFuZCBvcGVuc3NsIHBrY3MxMiBmYWlscyB1bmxl c3MgdGhlCi1leHBvcnQgaXMgY2FsbGVkIHdpdGggLW5vbWFjIGFuZCBpbXBvcnQgd2l0aCAtbm9t YWN2ZXIKLQotVGhlIGNvbW1hbmQgaXMgdXNlZCBieSBjdXN0b2RpYSB0byBleHBvcnQgcHJpdmF0 ZSBrZXlzIGZyb20gdGhlCi1tYXN0ZXIgYW5kIGltcG9ydCB0aGVtIGluIHRoZSByZXBsaWNhLgot Ci1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NTc3Ci0KLVNpZ25lZC1v ZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2 ZXIvc2VjcmV0cy9oYW5kbGVycy9wZW1maWxlLnB5IHwgMjAgKysrKysrKysrKysrKysrKysrLS0K LSAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXNlcnZlci9zZWNyZXRzL2hhbmRsZXJzL3BlbWZpbGUucHkgYi9pcGFzZXJ2 ZXIvc2VjcmV0cy9oYW5kbGVycy9wZW1maWxlLnB5Ci1pbmRleCBhZDM2YmQwMjAuLjAwNmQzNTE2 OSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9zZWNyZXRzL2hhbmRsZXJzL3BlbWZpbGUucHkKLSsr KyBiL2lwYXNlcnZlci9zZWNyZXRzL2hhbmRsZXJzL3BlbWZpbGUucHkKLUBAIC04LDYgKzgsNyBA QCBpbXBvcnQganNvbgotIGltcG9ydCBvcwotIAotIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1w b3J0IHBhdGhzCi0rZnJvbSBpcGFwbGF0Zm9ybS50YXNrcyBpbXBvcnQgdGFza3MKLSBmcm9tIGlw YXB5dGhvbiBpbXBvcnQgaXBhdXRpbAotIGZyb20gLiBpbXBvcnQgY29tbW9uCi0gCi1AQCAtMjUs NyArMjYsNyBAQCBkZWYgZXhwb3J0X2tleShhcmdzLCB0bXBkaXIpOgotICAgICAgICAgZi53cml0 ZShwYXNzd29yZCkKLSAKLSAgICAgIyBPcGVuU1NMIGRvZXMgbm90IHN1cHBvcnQgcGtjczEyIGV4 cG9ydCBvZiBhIGNlcnQgd2l0aG91dCBrZXkKLS0gICAgaXBhdXRpbC5ydW4oWwotKyAgICBjbWQg PSBbCi0gICAgICAgICBwYXRocy5PUEVOU1NMLCAncGtjczEyJywgJy1leHBvcnQnLAotICAgICAg ICAgJy1pbicsIGFyZ3MuY2VydGZpbGUsCi0gICAgICAgICAnLW91dCcsIHBrMTJmaWxlLAotQEAg LTM0LDcgKzM1LDEzIEBAIGRlZiBleHBvcnRfa2V5KGFyZ3MsIHRtcGRpcik6Ci0gICAgICAgICAn LWtleXBiZScsICdBRVMtMjU2LUNCQycsCi0gICAgICAgICAnLWNlcnRwYmUnLCAnQUVTLTI1Ni1D QkMnLAotICAgICAgICAgJy1tYWNhbGcnLCAnc2hhMzg0JywKLS0gICAgXSkKLSsgICAgXQotKwot KyAgICBmaXBzX2VuYWJsZWQgPSB0YXNrcy5pc19maXBzX2VuYWJsZWQoKQotKyAgICBpZiBmaXBz X2VuYWJsZWQ6Ci0rICAgICAgICBjbWQuYXBwZW5kKCctbm9tYWMnKQotKwotKyAgICBpcGF1dGls LnJ1bihjbWQpCi0gCi0gICAgIHdpdGggb3BlbihwazEyZmlsZSwgJ3JiJykgYXMgZjoKLSAgICAg ICAgIHAxMmRhdGEgPSBmLnJlYWQoKQotQEAgLTY5LDYgKzc2LDExIEBAIGRlZiBpbXBvcnRfa2V5 KGFyZ3MsIHRtcGRpcik6Ci0gICAgICAgICAnLW91dCcsIGFyZ3MuY2VydGZpbGUsCi0gICAgICAg ICAnLXBhc3N3b3JkJywgJ2ZpbGU6e3BrMTJwd2ZpbGV9Jy5mb3JtYXQocGsxMnB3ZmlsZT1wazEy cHdmaWxlKSwKLSAgICAgXQotKwotKyAgICBmaXBzX2VuYWJsZWQgPSB0YXNrcy5pc19maXBzX2Vu YWJsZWQoKQotKyAgICBpZiBmaXBzX2VuYWJsZWQ6Ci0rICAgICAgICBjbWQuYXBwZW5kKCctbm9t YWN2ZXInKQotKwotICAgICBpcGF1dGlsLnJ1bihjbWQsIHVtYXNrPTBvMDI3KQotIAotICAgICAj IGdldCB0aGUgcHJpdmF0ZSBrZXkgZnJvbSB0aGUgZmlsZQotQEAgLTc5LDYgKzkxLDEwIEBAIGRl ZiBpbXBvcnRfa2V5KGFyZ3MsIHRtcGRpcik6Ci0gICAgICAgICAnLW91dCcsIGFyZ3Mua2V5Zmls ZSwKLSAgICAgICAgICctcGFzc3dvcmQnLCAnZmlsZTp7cGsxMnB3ZmlsZX0nLmZvcm1hdChwazEy cHdmaWxlPXBrMTJwd2ZpbGUpLAotICAgICBdCi0rCi0rICAgIGlmIGZpcHNfZW5hYmxlZDoKLSsg ICAgICAgIGNtZC5hcHBlbmQoJy1ub21hY3ZlcicpCi0rCi0gICAgIGlwYXV0aWwucnVuKGNtZCwg dW1hc2s9MG8wMjcpCi0gCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMzJhNDZkMWFjZWYxMzYw YzY3MzdhNzAyNjc1ZWExNzBmZTUwZDViYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDEzIFNl cCAyMDI0IDA4OjU2OjIxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDEzLzExNl0gYXp1cmUgdGVz dHM6IG1vdmUgdG8gZmVkb3JhIDQwCi0KLUZlZG9yYSAzOSBpcyBhcHByb2FjaGluZyBpdHMgRU9M ICgyMDI0LTExLTEyKSwKLW1vdmUgYXp1cmUgdGVzdHMgdG8gZmVkb3JhIDQwCi0KLVNpZ25lZC1v ZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0 cy9henVyZS9Eb2NrZXJmaWxlcy9Eb2NrZXJmaWxlLmJ1aWxkLmZlZG9yYSB8IDIgKy0KLSBpcGF0 ZXN0cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFibGVzLWZlZG9yYS55bWwgICAgICB8IDIgKy0KLSAy IGZpbGVzIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL0RvY2tlcmZpbGUuYnVpbGQuZmVkb3Jh IGIvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5mZWRvcmEKLWlu ZGV4IGFlZjY3MGViOC4uM2QyOTI2MTQwIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvYXp1cmUvRG9j a2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5mZWRvcmEKLSsrKyBiL2lwYXRlc3RzL2F6dXJlL0Rv Y2tlcmZpbGVzL0RvY2tlcmZpbGUuYnVpbGQuZmVkb3JhCi1AQCAtMSw0ICsxLDQgQEAKLS1GUk9N IHJlZ2lzdHJ5LmZlZG9yYXByb2plY3Qub3JnL2ZlZG9yYS10b29sYm94OjM5Ci0rRlJPTSByZWdp c3RyeS5mZWRvcmFwcm9qZWN0Lm9yZy9mZWRvcmEtdG9vbGJveDo0MAotIE1BSU5UQUlORVIgW0Zy ZWVJUEEgRGV2ZWxvcGVycyBmcmVlaXBhLWRldmVsQGxpc3RzLmZlZG9yYWhvc3RlZC5vcmddCi0g RU5WIGNvbnRhaW5lcj1kb2NrZXIgTEFORz1lbl9VUy51dGY4IExBTkdVQUdFPWVuX1VTLnV0Zjgg TENfQUxMPWVuX1VTLnV0ZjgKLSAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy9henVyZS90ZW1wbGF0 ZXMvdmFyaWFibGVzLWZlZG9yYS55bWwgYi9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFi bGVzLWZlZG9yYS55bWwKLWluZGV4IGYyYzJmNTI0MS4uZmFmYTlhMDczIDEwMDY0NAotLS0tIGEv aXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxlcy1mZWRvcmEueW1sCi0rKysgYi9pcGF0 ZXN0cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFibGVzLWZlZG9yYS55bWwKLUBAIC0xLDcgKzEsNyBA QAotIHZhcmlhYmxlczoKLSAgIElQQV9QTEFURk9STTogZmVkb3JhCi0gICAjIHRoZSBEb2NrZXIg cHVibGljIGltYWdlIHRvIGJ1aWxkIElQQSBwYWNrYWdlcyAocnBtcykKLS0gIERPQ0tFUl9CVUlM RF9JTUFHRTogJ3JlZ2lzdHJ5LmZlZG9yYXByb2plY3Qub3JnL2ZlZG9yYS10b29sYm94OjM5Jwot KyAgRE9DS0VSX0JVSUxEX0lNQUdFOiAncmVnaXN0cnkuZmVkb3JhcHJvamVjdC5vcmcvZmVkb3Jh LXRvb2xib3g6NDAnCi0gCi0gICAjIHRoZSBEb2NrZXJmaWxlIHRvIGJ1aWxkIERvY2tlciBpbWFn ZSBmb3IgcnVubmluZyBJUEEgdGVzdHMKLSAgIERPQ0tFUl9ET0NLRVJGSUxFOiAke3sgZm9ybWF0 KCdEb2NrZXJmaWxlLmJ1aWxkLnswfScsIHZhcmlhYmxlcy5JUEFfUExBVEZPUk0pIH19Ci0tLSAK LTIuNDkuMAotCi0KLUZyb20gYTllNjUzY2EzNmEwODI5YWU1OWNkMjA0ZTczODhkN2E2YzkxZTA4 MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8 ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDEzIFNlcCAyMDI0IDA5OjU4OjM2ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMDE0LzExNl0gVW5zYWZlSVBBZGRyZXNzOiBwYXNzIGZsYWc9MCB0byBJ UE5ldHdvcmsKLQotV2hlbiBwYXJzaW5nIGEgc3RyaW5nLCB0aGUgY29uc3RydWN0b3IgdHJpZXMg dG8gcGFyc2UgdGhlIHZhbHVlCi1hcyBhbiBJUCBBZGRyZXNzIGZpcnN0LCBvciBmYWxscyBiYWNr IHRvIGFuIElQTmV0d29yayB3aXRoIHRoZQotZmxhZ3MgSU5FVF9QVE9OLgotCi1Vc2UgdGhlIGZs YWcgMCBpbnN0ZWFkIGZvciBhbiBJUE5ldHdvcmsuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5p by9mcmVlaXBhL2lzc3VlLzk2NDUKLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1 ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFweXRob24vaXBhdXRpbC5weSB8IDIgKy0KLSAxIGZp bGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBh L2lwYXB5dGhvbi9pcGF1dGlsLnB5IGIvaXBhcHl0aG9uL2lwYXV0aWwucHkKLWluZGV4IDNlOThi ZmQ2YS4uYzIzN2Q1OWZiIDEwMDY0NAotLS0tIGEvaXBhcHl0aG9uL2lwYXV0aWwucHkKLSsrKyBi L2lwYXB5dGhvbi9pcGF1dGlsLnB5Ci1AQCAtMTE5LDcgKzExOSw3IEBAIGNsYXNzIFVuc2FmZUlQ QWRkcmVzcyhuZXRhZGRyLklQQWRkcmVzcyk6Ci0gICAgICAgICAgICAgICAgIGlmIGFkZHIudmVy c2lvbiAhPSA2OgotICAgICAgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgIGV4Y2VwdCBW YWx1ZUVycm9yOgotLSAgICAgICAgICAgIHNlbGYuX25ldCA9IG5ldGFkZHIuSVBOZXR3b3JrKGFk ZHIsIGZsYWdzPXNlbGYubmV0YWRkcl9pcF9mbGFncykKLSsgICAgICAgICAgICBzZWxmLl9uZXQg PSBuZXRhZGRyLklQTmV0d29yayhhZGRyLCBmbGFncz0wKQotICAgICAgICAgICAgIGFkZHIgPSBz ZWxmLl9uZXQuaXAKLSAgICAgICAgIHN1cGVyKFVuc2FmZUlQQWRkcmVzcywgc2VsZikuX19pbml0 X18oYWRkciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmxhZ3M9c2VsZi5uZXRhZGRyX2lwX2ZsYWdzKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDhhOGZi MTE0NDdhNzZiODM1YzdlYzVlNTFlMDFjY2IyNmIwOTA2YmEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTog RnJpLCAxMyBTZXAgMjAyNCAxMDozMToxMiArMDIwMAotU3ViamVjdDogW1BBVENIIDAxNS8xMTZd IGF6dXJlIHBpcGVsaW5lOiB1c2UgbGF0ZXN0IHZlcnNpb24gb2YKLSBEb3dubG9hZFBpcGVsaW5l QXJ0aWZhY3QgdGFzawotCi11cGRhdGUgdGhlIHRhc2sgZnJvbSB2MCB0byB2MgotCi1TaWduZWQt b2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQt Qnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVz dHMvYXp1cmUvdGVtcGxhdGVzL3NldHVwLXRlc3QtZW52aXJvbm1lbnQueW1sIHwgNCArKy0tCi0g MSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9zZXR1cC10ZXN0LWVudmlyb25tZW50Lnlt bCBiL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9zZXR1cC10ZXN0LWVudmlyb25tZW50LnltbAot aW5kZXggZjZkMzNmYWI2Li41ODRhYmI5OTAgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9henVyZS90 ZW1wbGF0ZXMvc2V0dXAtdGVzdC1lbnZpcm9ubWVudC55bWwKLSsrKyBiL2lwYXRlc3RzL2F6dXJl L3RlbXBsYXRlcy9zZXR1cC10ZXN0LWVudmlyb25tZW50LnltbAotQEAgLTE3LDEzICsxNywxMyBA QCBzdGVwczoKLSAgICAgc3VkbyBtb2Rwcm9iZSB7bmZzLG5mc2R9Ci0gICBkaXNwbGF5TmFtZTog Q29uZmlndXJlIE5GUyB0byBhbGxvdyBORlMgc2VydmVyL2NsaWVudCB3aXRoaW4gY29udGFpbmVy cwotIAotLS0gdGFzazogRG93bmxvYWRQaXBlbGluZUFydGlmYWN0QDAKLSstIHRhc2s6IERvd25s b2FkUGlwZWxpbmVBcnRpZmFjdEAyCi0gICBkaXNwbGF5TmFtZTogRG93bmxvYWQgcHJlYnVpbHQg cGFja2FnZXMgJyQoSVBBX1BBQ0tBR0VTX0FSVElGQUNUKScKLSAgIGlucHV0czoKLSAgICAgYXJ0 aWZhY3ROYW1lOiAkKElQQV9QQUNLQUdFU19BUlRJRkFDVCkKLSAgICAgdGFyZ2V0UGF0aDogJChC dWlsZC5SZXBvc2l0b3J5LkxvY2FsUGF0aCkvZGlzdAotIAotLS0gdGFzazogRG93bmxvYWRQaXBl bGluZUFydGlmYWN0QDAKLSstIHRhc2s6IERvd25sb2FkUGlwZWxpbmVBcnRpZmFjdEAyCi0gICBk aXNwbGF5TmFtZTogRG93bmxvYWQgcHJlLWJ1aWx0IGNvbnRhaW5lciAnJChJUEFfSU1BR0VfQVJU SUZBQ1QpJwotICAgaW5wdXRzOgotICAgICBhcnRpZmFjdE5hbWU6ICQoSVBBX0lNQUdFX0FSVElG QUNUKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQxMDI3NzNjZTI0NDgxYzY3OTdmNzE1NTdiNzVl Nzc5MjExNjQyODUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdGFuaXNsYXYgTGV2 aW4gPHNsZXZAYWx0bGludXgub3JnPgotRGF0ZTogVGh1LCAxMiBTZXAgMjAyNCAxMjozODo1MiAr MDMwMAotU3ViamVjdDogW1BBVENIIDAxNi8xMTZdIGlwYXRlc3RzOiBtYWtlIFRlc3REdXBsaWNh dGVzIHRlYXJkb3ducyBvcmRlcgotIGFnbm9zdGljCi0KLUZpeHR1cmVzICd1c2VyNCcgYW5kICd1 c2VyNScgdHJhY2sgdGhlIHNhbWUgYWN0dWFsIHVzZXIgJ3R1c2VyJy4KLUlmIHVzZWQgdG9nZXRo ZXIgdGhlaXIgdGVhcmRvd25zIGNhbiBmYWlsIGRlcGVuZGluZyBvbiB0aGUKLW9yZGVyIG9mIGV4 ZWN1dGlvbi4KLQotV2l0aCB0aGlzIGNoYW5nZSBmaXh0dXJlcyBvZiBUZXN0RHVwbGljYXRlcyBh cmUgc2ltcGxpZmllZCBhbmQKLW1ldGhvZC1zY29wZWQuCi0KLVJlbGF0ZWQ6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTU3MQotU2lnbmVkLW9mZi1ieTogU3RhbmlzbGF2IExldmlu IDxzbGV2QGFsdGxpbnV4Lm9yZz4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9zdGFnZXVz ZXJfcGx1Z2luLnB5IHwgNzYgKysrKysrKy0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAy OCBpbnNlcnRpb25zKCspLCA0OCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3Rz L3Rlc3RfeG1scnBjL3Rlc3Rfc3RhZ2V1c2VyX3BsdWdpbi5weSBiL2lwYXRlc3RzL3Rlc3RfeG1s cnBjL3Rlc3Rfc3RhZ2V1c2VyX3BsdWdpbi5weQotaW5kZXggOWFlNTU2MWRmLi42ZWQ1OTNmYmYg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3N0YWdldXNlcl9wbHVnaW4u cHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3Rfc3RhZ2V1c2VyX3BsdWdpbi5weQot QEAgLTEyMCwxMiArMTIwLDYgQEAgZGVmIHN0YWdlZHVzZXIzKHJlcXVlc3QsIHhtbHJwY19zZXR1 cCk6Ci0gICAgIHJldHVybiB0cmFja2VyLm1ha2VfZml4dHVyZV9hY3RpdmF0ZShyZXF1ZXN0KQot IAotIAotLUBweXRlc3QuZml4dHVyZShzY29wZT0nY2xhc3MnKQotLWRlZiBzdGFnZWR1c2VyNChy ZXF1ZXN0LCB4bWxycGNfc2V0dXApOgotLSAgICB0cmFja2VyID0gU3RhZ2VVc2VyVHJhY2tlcih1 J3R1c2VyJywgdSd0ZXN0JywgdSd1c2VyJykKLS0gICAgcmV0dXJuIHRyYWNrZXIubWFrZV9maXh0 dXJlKHJlcXVlc3QpCi0tCi0tCi0gQHB5dGVzdC5maXh0dXJlKHNjb3BlPSdjbGFzcycpCi0gZGVm IHN0YWdlZHVzZXJfbm90cG9zaXgocmVxdWVzdCwgeG1scnBjX3NldHVwKToKLSAgICAgdHJhY2tl ciA9IFN0YWdlVXNlclRyYWNrZXIodSdub3Rwb3NpeCcsIHUnbm90cG9zaXgnLCB1J25vdHBvc2l4 JykKLUBAIC0xNjEsMTggKzE1NSw2IEBAIGRlZiB1c2VyMyhyZXF1ZXN0LCB4bWxycGNfc2V0dXAp OgotICAgICByZXR1cm4gdHJhY2tlci5tYWtlX2ZpeHR1cmUocmVxdWVzdCkKLSAKLSAKLS1AcHl0 ZXN0LmZpeHR1cmUoc2NvcGU9J2NsYXNzJykKLS1kZWYgdXNlcjQocmVxdWVzdCwgeG1scnBjX3Nl dHVwKToKLS0gICAgdHJhY2tlciA9IFVzZXJUcmFja2VyKHUndHVzZXInLCB1J3Rlc3QnLCB1J3Vz ZXInKQotLSAgICByZXR1cm4gdHJhY2tlci5tYWtlX2ZpeHR1cmUocmVxdWVzdCkKLS0KLS0KLS1A cHl0ZXN0LmZpeHR1cmUoc2NvcGU9J2NsYXNzJykKLS1kZWYgdXNlcjUocmVxdWVzdCwgeG1scnBj X3NldHVwKToKLS0gICAgdHJhY2tlciA9IFVzZXJUcmFja2VyKHUndHVzZXInLCB1J3Rlc3QnLCB1 J3VzZXInKQotLSAgICByZXR1cm4gdHJhY2tlci5tYWtlX2ZpeHR1cmUocmVxdWVzdCkKLS0KLS0K LSBAcHl0ZXN0LmZpeHR1cmUoc2NvcGU9J2NsYXNzJykKLSBkZWYgdXNlcjYocmVxdWVzdCwgeG1s cnBjX3NldHVwKToKLSAgICAgdHJhY2tlciA9IFVzZXJUcmFja2VyKHUnc3VzZXIyJywgdSdzdGFn ZWQnLCB1J3VzZXInKQotQEAgLTcyNCw1MiArNzA2LDUwIEBAIGNsYXNzIFRlc3RNYW5hZ2VycyhY TUxSUENfdGVzdCk6Ci0gCi0gQHB5dGVzdC5tYXJrLnRpZXIxCi0gY2xhc3MgVGVzdER1cGxpY2F0 ZXMoWE1MUlBDX3Rlc3QpOgotLSAgICBkZWYgdGVzdF9hY3RpdmVfc2FtZV9hc19wcmVzZXJ2ZWQo c2VsZiwgdXNlcjQsIHVzZXI1KToKLS0gICAgICAgIHVzZXI0LmVuc3VyZV9taXNzaW5nKCkKLS0g ICAgICAgIHVzZXI1Lm1ha2VfcHJlc2VydmVkX3VzZXIoKQotLSAgICAgICAgY29tbWFuZCA9IHVz ZXI0Lm1ha2VfY3JlYXRlX2NvbW1hbmQoKQotKyAgICBAcHl0ZXN0LmZpeHR1cmUKLSsgICAgZGVm IHVzZXIoc2VsZiwgcmVxdWVzdCwgeG1scnBjX3NldHVwKToKLSsgICAgICAgIHRyYWNrZXIgPSBV c2VyVHJhY2tlcigidHVzZXIiLCAidGVzdCIsICJ1c2VyIikKLSsgICAgICAgIHJldHVybiB0cmFj a2VyLm1ha2VfZml4dHVyZShyZXF1ZXN0KQotKwotKyAgICBAcHl0ZXN0LmZpeHR1cmUKLSsgICAg ZGVmIHN0YWdlZHVzZXIoc2VsZiwgcmVxdWVzdCwgeG1scnBjX3NldHVwKToKLSsgICAgICAgIHRy YWNrZXIgPSBTdGFnZVVzZXJUcmFja2VyKCJ0dXNlciIsICJ0ZXN0IiwgInVzZXIiKQotKyAgICAg ICAgcmV0dXJuIHRyYWNrZXIubWFrZV9maXh0dXJlKHJlcXVlc3QpCi0rCi0rICAgIGRlZiB0ZXN0 X2FjdGl2ZV9zYW1lX2FzX3ByZXNlcnZlZChzZWxmLCB1c2VyKToKLSsgICAgICAgIHVzZXIubWFr ZV9wcmVzZXJ2ZWRfdXNlcigpCi0rICAgICAgICBjb21tYW5kID0gdXNlci5tYWtlX2NyZWF0ZV9j b21tYW5kKCkKLSAgICAgICAgIHdpdGggcmFpc2VzX2V4YWN0KGVycm9ycy5EdXBsaWNhdGVFbnRy eSgKLS0gICAgICAgICAgICAgICAgbWVzc2FnZT11J3VzZXIgd2l0aCBuYW1lICIlcyIgYWxyZWFk eSBleGlzdHMnICUgdXNlcjQudWlkKSk6Ci0rICAgICAgICAgICAgICAgIG1lc3NhZ2U9dSd1c2Vy IHdpdGggbmFtZSAiJXMiIGFscmVhZHkgZXhpc3RzJyAlIHVzZXIudWlkKSk6Ci0gICAgICAgICAg ICAgY29tbWFuZCgpCi0tICAgICAgICB1c2VyNS5kZWxldGUoKQotIAotLSAgICBkZWYgdGVzdF9z dGFnZWRfc2FtZV9hc19hY3RpdmUoc2VsZiwgdXNlcjQsIHN0YWdlZHVzZXI0KToKLS0gICAgICAg IHVzZXI0LmVuc3VyZV9leGlzdHMoKQotLSAgICAgICAgc3RhZ2VkdXNlcjQuY3JlYXRlKCkgICMg Y2FuIGJlIGNyZWF0ZWQKLSsgICAgZGVmIHRlc3Rfc3RhZ2VkX3NhbWVfYXNfYWN0aXZlKHNlbGYs IHVzZXIsIHN0YWdlZHVzZXIpOgotKyAgICAgICAgdXNlci5jcmVhdGUoKQotKyAgICAgICAgc3Rh Z2VkdXNlci5jcmVhdGUoKSAgIyBjYW4gYmUgY3JlYXRlZAotIAotLSAgICAgICAgY29tbWFuZCA9 IHN0YWdlZHVzZXI0Lm1ha2VfYWN0aXZhdGVfY29tbWFuZCgpCi0rICAgICAgICBjb21tYW5kID0g c3RhZ2VkdXNlci5tYWtlX2FjdGl2YXRlX2NvbW1hbmQoKQotICAgICAgICAgd2l0aCByYWlzZXNf ZXhhY3QoZXJyb3JzLkR1cGxpY2F0ZUVudHJ5KAotICAgICAgICAgICAgICAgICBtZXNzYWdlPXUn YWN0aXZlIHVzZXIgd2l0aCBuYW1lICIlcyIgYWxyZWFkeSBleGlzdHMnICUKLS0gICAgICAgICAg ICAgICAgdXNlcjQudWlkKSk6Ci0rICAgICAgICAgICAgICAgIHVzZXIudWlkKSk6Ci0gICAgICAg ICAgICAgY29tbWFuZCgpICAjIGNhbm5vdCBiZSBhY3RpdmF0ZWQKLSAKLS0gICAgICAgIHVzZXI0 LmRlbGV0ZSgpCi0tICAgICAgICBzdGFnZWR1c2VyNC5kZWxldGUoKQotLQotLSAgICBkZWYgdGVz dF9zdGFnZWRfc2FtZV9hc19wcmVzZXJ2ZWQoc2VsZiwgdXNlcjUsIHN0YWdlZHVzZXI0KToKLS0g ICAgICAgIHVzZXI1Lm1ha2VfcHJlc2VydmVkX3VzZXIoKQotLSAgICAgICAgc3RhZ2VkdXNlcjQu Y3JlYXRlKCkgICMgY2FuIGJlIGNyZWF0ZWQKLSsgICAgZGVmIHRlc3Rfc3RhZ2VkX3NhbWVfYXNf cHJlc2VydmVkKHNlbGYsIHVzZXIsIHN0YWdlZHVzZXIpOgotKyAgICAgICAgdXNlci5tYWtlX3By ZXNlcnZlZF91c2VyKCkKLSsgICAgICAgIHN0YWdlZHVzZXIuY3JlYXRlKCkgICMgY2FuIGJlIGNy ZWF0ZWQKLSAKLS0gICAgICAgIGNvbW1hbmQgPSBzdGFnZWR1c2VyNC5tYWtlX2FjdGl2YXRlX2Nv bW1hbmQoKQotKyAgICAgICAgY29tbWFuZCA9IHN0YWdlZHVzZXIubWFrZV9hY3RpdmF0ZV9jb21t YW5kKCkKLSAgICAgICAgIHdpdGggcmFpc2VzX2V4YWN0KGVycm9ycy5EdXBsaWNhdGVFbnRyeSgK LSAgICAgICAgICAgICAgICAgbWVzc2FnZT11J1RoaXMgZW50cnkgYWxyZWFkeSBleGlzdHMnKSk6 Ci0gICAgICAgICAgICAgY29tbWFuZCgpICAjIGNhbm5vdCBiZSBhY3RpdmF0ZWQKLSAKLS0gICAg ICAgIHVzZXI1LmRlbGV0ZSgpCi0tICAgICAgICBzdGFnZWR1c2VyNC5kZWxldGUoKQotKyAgICBk ZWYgdGVzdF9hY3RpdmVfc2FtZV9hc19zdGFnZWQoc2VsZiwgdXNlciwgc3RhZ2VkdXNlcik6Ci0r ICAgICAgICBzdGFnZWR1c2VyLmNyZWF0ZSgpCi0rICAgICAgICB1c2VyLmNyZWF0ZSgpICAjIGNh biBiZSBjcmVhdGVkCi0gCi0tICAgIGRlZiB0ZXN0X2FjdGl2ZV9zYW1lX2FzX3N0YWdlZChzZWxm LCB1c2VyNCwgc3RhZ2VkdXNlcjQpOgotLSAgICAgICAgdXNlcjQuZW5zdXJlX21pc3NpbmcoKQot LSAgICAgICAgc3RhZ2VkdXNlcjQuZW5zdXJlX2V4aXN0cygpCi0tICAgICAgICBjb21tYW5kID0g dXNlcjQubWFrZV9jcmVhdGVfY29tbWFuZCgpCi0tICAgICAgICByZXN1bHQgPSBjb21tYW5kKCkK LS0gICAgICAgIHVzZXI0LnRyYWNrX2NyZWF0ZSgpCi0tICAgICAgICB1c2VyNC5jaGVja19jcmVh dGUocmVzdWx0KSAgIyBjYW4gYmUgY3JlYXRlZAotLQotLSAgICAgICAgY29tbWFuZCA9IHN0YWdl ZHVzZXI0Lm1ha2VfYWN0aXZhdGVfY29tbWFuZCgpCi0rICAgICAgICBjb21tYW5kID0gc3RhZ2Vk dXNlci5tYWtlX2FjdGl2YXRlX2NvbW1hbmQoKQotICAgICAgICAgd2l0aCByYWlzZXNfZXhhY3Qo ZXJyb3JzLkR1cGxpY2F0ZUVudHJ5KAotICAgICAgICAgICAgICAgICBtZXNzYWdlPXUnYWN0aXZl IHVzZXIgd2l0aCBuYW1lICIlcyIgYWxyZWFkeSBleGlzdHMnICUKLS0gICAgICAgICAgICAgICAg dXNlcjQudWlkKSk6Ci0rICAgICAgICAgICAgICAgIHVzZXIudWlkKSk6Ci0gICAgICAgICAgICAg Y29tbWFuZCgpICAjIGNhbm5vdCBiZSBhY3RpdmF0ZWQKLSAKLSAKLS0tIAotMi40OS4wCi0KLQot RnJvbSA5OTNmNzkyZjJlMjZmOGExNGE1ZTM2OTFjMDZhNmIxNWQ1NzA3MmU3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogU2FtIE1vcnJpcyA8c2FtQHJvYm90cy5vcmcudWs+Ci1EYXRl OiBUdWUsIDE3IFNlcCAyMDI0IDEyOjQzOjA4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDE3LzEx Nl0gRml4IGEgY291cGxlIG9mIGluc3RhbmNlcyBvZiB0aGUgIm5vLWJyZWFrIGNvbnRyb2wKLSBj aGFyYWN0ZXIiIGJlaW5nIHVzZWQgaW5hZHZlcnRlbnRseQotCi1GaXhlcyBodHRwczovL3BhZ3Vy ZS5pby9mcmVlaXBhL2lzc3VlLzk2NjUKLQotU2lnbmVkLW9mZi1ieTogU2FtIE1vcnJpcyA8c2Ft QHJvYm90cy5vcmcudWs+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95 QHJlZGhhdC5jb20+Ci0tLS0KLSBjbGllbnQvbWFuL2lwYS1jbGllbnQtaW5zdGFsbC4xIHwgNCAr Ky0tCi0gY2xpZW50L21hbi9pcGEuMSAgICAgICAgICAgICAgICB8IDYgKysrLS0tCi0gMiBmaWxl cyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg YS9jbGllbnQvbWFuL2lwYS1jbGllbnQtaW5zdGFsbC4xIGIvY2xpZW50L21hbi9pcGEtY2xpZW50 LWluc3RhbGwuMQotaW5kZXggNGE3NTVhYzMzLi43MjViMTE0MjIgMTAwNjQ0Ci0tLS0gYS9jbGll bnQvbWFuL2lwYS1jbGllbnQtaW5zdGFsbC4xCi0rKysgYi9jbGllbnQvbWFuL2lwYS1jbGllbnQt aW5zdGFsbC4xCi1AQCAtMjQwLDggKzI0MCw4IEBAIGZvciBtb3JlIGluZm9ybWF0aW9uLiBUaGUg b3B0aW9uIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoCi0gXGZCXC1cLXBraW5pdFwtYW5jaG9y XGZSPVxmSUZJTEVESVJcZlIKLSBUcnVzdCBhbmNob3JzIChyb290IGFuZCBpbnRlcm1lZGlhdGUg Q0EgY2VydHMpIGZvciBQS0lOSVQuIFxmSUZJTEVESVJcZlIgaXMKLSBlaXRoZXIgdGhlIGFic29s dXRlIHBhdGggdG8gYSBQRU0gYnVuZGxlIChmb3IgZXhhbXBsZQotLSdGSUxFOi9ldGMvcGtpL3Rs cy9jZXJ0LnBlbScpIG9yIHRvIGFuIE9wZW5TU0wgaGFzaCBkaXJlY3RvcnkgKGZvciBleGFtcGxl Ci0tJ0RJUjovZXRjL3NzbC9jZXJ0cy8nKS4gVGhlIG9wdGlvbiBjYW4gYmUgdXNlZCBtdWx0aXBs ZSB0aW1lcy4gUEtJTklUCi0rXGZJRklMRTovZXRjL3BraS90bHMvY2VydC5wZW1cZlIpIG9yIHRv IGFuIE9wZW5TU0wgaGFzaCBkaXJlY3RvcnkgKGZvciBleGFtcGxlCi0rXGZJRElSOi9ldGMvc3Ns L2NlcnRzL1xmUikuIFRoZSBvcHRpb24gY2FuIGJlIHVzZWQgbXVsdGlwbGUgdGltZXMuIFBLSU5J VAotIHJlcXVpcmVzIHRoZSBmdWxsIHRydXN0IGNoYWluIG9mIHRoZSBLZXJiZXJvcyBLREMgc2Vy dmVyIGFzIHdlbGwgYXMgdGhlIGZ1bGwKLSB0cnVzdCBjaGFpbiBvZiB0aGUgaWRlbnRpdHkgY2Vy dGlmaWNhdGUuCi0gCi1kaWZmIC0tZ2l0IGEvY2xpZW50L21hbi9pcGEuMSBiL2NsaWVudC9tYW4v aXBhLjEKLWluZGV4IDE3MmM1MGQ4YS4uYzQwNGM1YmUzIDEwMDY0NAotLS0tIGEvY2xpZW50L21h bi9pcGEuMQotKysrIGIvY2xpZW50L21hbi9pcGEuMQotQEAgLTE3NiwxMSArMTc2LDExIEBAIGpv dXJuYWwgYXMgam91cm5hbGQgcmVjb3JkcyBleGVjdXRpb24gY29udGV4dC4gU2VlIHN5c3RlbWQu am91cm5hbFwtZmllbGRzKDcpCi0gZm9yIGRldGFpbHMuCi0gCi0gVGhlIGRldGFpbHMgb2YgdGhl IGluZGl2aWR1YWwgbG9nZ2VkIG1lc3NhZ2VzIGNhbiBiZSBleHBsYWluZWQgd2l0aCB0aGUgaGVs cCBvZgotLSdcZkJqb3VybmFsY3RsIC14XGZSJyBjb21tYW5kLCB3aGlsZSBmdWxsIHNldCBvZiBs b2dnZWQgcHJvcGVydGllcyBjYW4gYmUKLS1yZXRyaWV2ZWQgd2l0aCAnXGZCam91cm5hbGN0bCAt byBqc29uLXByZXR0eVxmUicuIFNlZSBqb3VybmFsY3RsKDEpIGZvciBkZXRhaWxzCi0rXGZCam91 cm5hbGN0bCAteFxmUiBjb21tYW5kLCB3aGlsZSBmdWxsIHNldCBvZiBsb2dnZWQgcHJvcGVydGll cyBjYW4gYmUKLStyZXRyaWV2ZWQgd2l0aCBcZkJqb3VybmFsY3RsIC1vIGpzb24tcHJldHR5XGZS LiBTZWUgam91cm5hbGN0bCgxKSBmb3IgZGV0YWlscwotIG9uIHRoZSBzeXN0ZW1kIGpvdXJuYWwg dmlld2VyLgotIAotLUZvciB0aGUgc2FtcGxlIG1lc3NhZ2UgYWJvdmUsIGFuIGV4cGxhbmF0aW9u IGNvdWxkIGJlIHJlcXVlc3RlZCB3aXRoICdcZkJqb3VybmFsY3RsIC14IC1nIGxkYXAyXzE0MDMy ODU4MjQ0NjY4OFxmUicgd2hlcmUgTERBUCBiYWNrZW5kIGNvbm5lY3Rpb24gaW5zdGFuY2UgaWRl bnRpZmllciBjYW4gYmUgdXNlZCB0byB1bmlxdWVseSBmZXRjaCB0aGF0IGluZGl2aWR1YWwgbWVz c2FnZS4KLStGb3IgdGhlIHNhbXBsZSBtZXNzYWdlIGFib3ZlLCBhbiBleHBsYW5hdGlvbiBjb3Vs ZCBiZSByZXF1ZXN0ZWQgd2l0aCBcZkJqb3VybmFsY3RsIC14IC1nIGxkYXAyXzE0MDMyODU4MjQ0 NjY4OFxmUiB3aGVyZSBMREFQIGJhY2tlbmQgY29ubmVjdGlvbiBpbnN0YW5jZSBpZGVudGlmaWVy IGNhbiBiZSB1c2VkIHRvIHVuaXF1ZWx5IGZldGNoIHRoYXQgaW5kaXZpZHVhbCBtZXNzYWdlLgot IAotIC5TSCAiRVhBTVBMRVMiCi0gLlRQCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYTM0M2MxNDk4 MzhhMzA1ODc5NGYzM2M3NWM1OGI3NWJjMTc0OGY3ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUs IDE3IFNlcCAyMDI0IDE3OjAwOjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDE4LzExNl0gaXBh dGVzdHM6IHByb3ZpZGUgYSBjY2FjaGUgdG8gcnBjY2xpZW50Ci0gZGVsZXRldHJ1c3Rkb20KLQot V2l0aCBzYW1iYSB1cGRhdGUgdG8gc2FtYmEtNC4yMC40LCBycGNjbGllbnQgbm93IG5lZWRzIGEK LWNjYWNoZSBvdGhlcndpc2UgaXQgcHJvbXB0cyBmb3IgYSBwYXNzd29yZC4KLQotRml4ZXM6IGh0 dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY2NwotCi1TaWduZWQtb2ZmLWJ5OiBGbG9y ZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tv dm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRl Z3JhdGlvbi90YXNrcy5weSB8IDIzICsrKysrKysrKysrKysrKysrKysrLS0tCi0gMSBmaWxlIGNo YW5nZWQsIDIwIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9p cGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5IGIvaXBhdGVzdHMvcHl0ZXN0 X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotaW5kZXggOWQ2YjVmNjdhLi42NzdmYjc1MzQgMTAw NzU1Ci0tLS0gYS9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5Ci0rKysg Yi9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5Ci1AQCAtNzk1LDE1ICs3 OTUsMjIgQEAgZGVmIHJlbW92ZV90cnVzdF9pbmZvX2Zyb21fYWQobWFzdGVyLCBhZF9kb21haW4s IGFkX2hvc3RuYW1lKToKLSAgICAga2luaXRfYXNfdXNlcihtYXN0ZXIsCi0gICAgICAgICAgICAg ICAgICAgJ0FkbWluaXN0cmF0b3JAe30nLmZvcm1hdChhZF9kb21haW4udXBwZXIoKSksCi0gICAg ICAgICAgICAgICAgICAgbWFzdGVyLmNvbmZpZy5hZF9hZG1pbl9wYXNzd29yZCkKLSsgICAgIyBG aW5kIGNhY2hlIGZvciB0aGUgdXNlcgotKyAgICBjYWNoZV9hcmdzID0gW10KLSsgICAgY2FjaGUg PSBnZXRfY3JlZGVudGlhbF9jYWNoZShtYXN0ZXIpCi0rICAgIGlmIGNhY2hlOgotKyAgICAgICAg Y2FjaGVfYXJncyA9IFsiLS11c2Uta3JiNS1jY2FjaGUiLCBjYWNoZV0KLSsKLSAgICAgIyBEZXRl Y3Qgd2hldGhlciBycGNjbGllbnQgc3VwcG9ydHMgLWsgb3IgLS11c2Uta2VyYmVyb3Mgb3B0aW9u Ci0gICAgIHJlcyA9IG1hc3Rlci5ydW5fY29tbWFuZChbJ3JwY2NsaWVudCcsICctaCddLCByYWlz ZW9uZXJyPUZhbHNlKQotICAgICBpZiAiLS11c2Uta2VyYmVyb3MiIGluIHJlcy5zdGRlcnJfdGV4 dDoKLSAgICAgICAgIHJwY2NsaWVudF9rcmI1X2tub2IgPSAiLS11c2Uta2VyYmVyb3M9ZGVzaXJl ZCIKLSAgICAgZWxzZToKLSAgICAgICAgIHJwY2NsaWVudF9rcmI1X2tub2IgPSAiLWsiCi0tICAg IG1hc3Rlci5ydW5fY29tbWFuZChbJ3JwY2NsaWVudCcsIHJwY2NsaWVudF9rcmI1X2tub2IsIGFk X2hvc3RuYW1lLAotLSAgICAgICAgICAgICAgICAgICAgICAgICctYycsICdkZWxldGV0cnVzdGRv bSB7fScuZm9ybWF0KG1hc3Rlci5kb21haW4ubmFtZSldLAotLSAgICAgICAgICAgICAgICAgICAg ICAgcmFpc2VvbmVycj1GYWxzZSkKLSsgICAgY21kX2FyZ3MgPSBbJ3JwY2NsaWVudCcsIHJwY2Ns aWVudF9rcmI1X2tub2IsIGFkX2hvc3RuYW1lXQotKyAgICBjbWRfYXJncy5leHRlbmQoY2FjaGVf YXJncykKLSsgICAgY21kX2FyZ3MuZXh0ZW5kKFsnLWMnLCAnZGVsZXRldHJ1c3Rkb20ge30nLmZv cm1hdChtYXN0ZXIuZG9tYWluLm5hbWUpXSkKLSsgICAgbWFzdGVyLnJ1bl9jb21tYW5kKGNtZF9h cmdzLCByYWlzZW9uZXJyPUZhbHNlKQotIAotIAotIGRlZiBjb25maWd1cmVfYXV0aF90b19sb2Nh bF9ydWxlKG1hc3RlciwgYWQpOgotQEAgLTEwODYsNiArMTA5MywxNiBAQCBkZWYga2luaXRfYWRt aW4oaG9zdCwgcmFpc2VvbmVycj1UcnVlKToKLSAgICAgICAgICAgICAgICAgICAgICAgcmFpc2Vv bmVycj1yYWlzZW9uZXJyKQotIAotIAotK2RlZiBnZXRfY3JlZGVudGlhbF9jYWNoZShob3N0KToK LSsgICAgIyBSZXR1cm4gdGhlIGNyZWRlbnRpYWwgY2FjaGUgY3VycmVudGx5IGluIHVzZSBvbiBo b3N0IG9yIE5vbmUKLSsgICAgcmVzdWx0ID0gaG9zdC5ydW5fY29tbWFuZChbImtsaXN0Il0pLnN0 ZG91dF90ZXh0Ci0rICAgIHBhdHRlcm4gPSByZS5jb21waWxlKHInVGlja2V0IGNhY2hlOiAoP1A8 Y2FjaGU+LiopXG4nKQotKyAgICByZXMgPSBwYXR0ZXJuLnNlYXJjaChyZXN1bHQpCi0rICAgIGlm IHJlczoKLSsgICAgICAgIHJldHVybiByZXNbJ2NhY2hlJ10KLSsgICAgcmV0dXJuIE5vbmUKLSsK LSsKLSBkZWYgdW5pbnN0YWxsX21hc3Rlcihob3N0LCBpZ25vcmVfdG9wb2xvZ3lfZGlzY29ubmVj dD1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgIGlnbm9yZV9sYXN0X29mX3JvbGU9VHJ1ZSwg Y2xlYW49VHJ1ZSwgdmVyYm9zZT1GYWxzZSk6Ci0gICAgIHVuaW5zdGFsbF9jbWQgPSBbJ2lwYS1z ZXJ2ZXItaW5zdGFsbCcsICctLXVuaW5zdGFsbCcsICctVSddCi0tLSAKLTIuNDkuMAotCi0KLUZy b20gNzQzYzdiNDZlNDYzYmVmNjY2ZGM4NGU5ZjUxM2ViN2RlZTdmNTlmNiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+ Ci1EYXRlOiBUdWUsIDE3IFNlcCAyMDI0IDE0OjQ4OjU4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0gg MDE5LzExNl0gdGVzdF9hZHRydXN0X2luc3RhbGw6IGFkZCAtLXVzZS1rcmI1LWNjYWNoZSB0bwot IHNtYmNsaWVudCBjb21tYW5kCi0KLVdpdGggc2FtYmEgNC4yMC40IHRoZSBzbWJjbGllbnQgY29t bWFuZHMgbmVlZHMgYSBjY2FjaGUgb3RoZXJ3aXNlIGl0Ci1wcm9tcHRzIGZvciBhIHBhc3N3b3Jk LgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjY2Ci1TaWduZWQt b2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQt Qnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gLi4uL3Rlc3RfaW50 ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkgIHwgMjggKysrKysrKysrKysrLS0tLS0t LQotIDEgZmlsZSBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKLQot ZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3Rh bGwucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYWR0cnVzdF9pbnN0YWxsLnB5 Ci1pbmRleCBkZTI1MmRiMTcuLjc5YTkxZGZhYSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLUBAIC04NzMsMTcgKzg3MywyNSBA QCBjbGFzcyBUZXN0SXBhQWRUcnVzdEluc3RhbGwoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAg ICAgICAgInBhdGgiLCAiL2ZyZWVpcGE0MjM0Il0pCi0gICAgICAgICBzZWxmLm1hc3Rlci5ydW5f Y29tbWFuZChbInRvdWNoIiwgImJlZm9yZSJdKQotICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2Nv bW1hbmQoWyJ0b3VjaCIsICJhZnRlciJdKQotLSAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1h bmQoCi0tICAgICAgICAgICAgWyJzbWJjbGllbnQiLCAiLS11c2Uta2VyYmVyb3M9ZGVzaXJlZCIs Ci0tICAgICAgICAgICAgICItYz1wdXQgYmVmb3JlIiwgIi8ve30vc2hhcmUiLmZvcm1hdCgKLS0g ICAgICAgICAgICAgICAgIHNlbGYubWFzdGVyLmhvc3RuYW1lKV0KLS0gICAgICAgICkKLSsgICAg ICAgICMgRmluZCBjYWNoZSBmb3IgdGhlIGFkbWluIHVzZXIKLSsgICAgICAgIGNhY2hlX2FyZ3Mg PSBbXQotKyAgICAgICAgY2FjaGUgPSB0YXNrcy5nZXRfY3JlZGVudGlhbF9jYWNoZShzZWxmLm1h c3RlcikKLSsgICAgICAgIGlmIGNhY2hlOgotKyAgICAgICAgICAgIGNhY2hlX2FyZ3MgPSBbIi0t dXNlLWtyYjUtY2NhY2hlIiwgY2FjaGVdCi0rCi0rICAgICAgICBjbWRfYXJncyA9IFsic21iY2xp ZW50IiwgIi0tdXNlLWtlcmJlcm9zPWRlc2lyZWQiXQotKyAgICAgICAgY21kX2FyZ3MuZXh0ZW5k KGNhY2hlX2FyZ3MpCi0rICAgICAgICBjbWRfYXJncy5leHRlbmQoWwotKyAgICAgICAgICAgICIt Yz1wdXQgYmVmb3JlIiwgIi8ve30vc2hhcmUiLmZvcm1hdChzZWxmLm1hc3Rlci5ob3N0bmFtZSkK LSsgICAgICAgIF0pCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChjbWRfYXJncykK LSAgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotICAgICAgICAgICAgIFsibmV0Iiwg ImNvbmYiLCAic2V0cGFybSIsICJzaGFyZSIsCi0gICAgICAgICAgICAgICJ2YWxpZCB1c2VycyIs ICJAYWRtaW5zIl0pCi0tICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgK LS0gICAgICAgICAgICBbInNtYmNsaWVudCIsICItLXVzZS1rZXJiZXJvcz1kZXNpcmVkIiwKLS0g ICAgICAgICAgICAgIi1jPXB1dCBhZnRlciIsICIvL3t9L3NoYXJlIi5mb3JtYXQoCi0tICAgICAg ICAgICAgICAgICBzZWxmLm1hc3Rlci5ob3N0bmFtZSldCi0tICAgICAgICApCi0rICAgICAgICBj bWRfYXJncyA9IFsic21iY2xpZW50IiwgIi0tdXNlLWtlcmJlcm9zPWRlc2lyZWQiXQotKyAgICAg ICAgY21kX2FyZ3MuZXh0ZW5kKGNhY2hlX2FyZ3MpCi0rICAgICAgICBjbWRfYXJncy5leHRlbmQo WwotKyAgICAgICAgICAgICItYz1wdXQgYWZ0ZXIiLCAiLy97fS9zaGFyZSIuZm9ybWF0KHNlbGYu bWFzdGVyLmhvc3RuYW1lKQotKyAgICAgICAgXSkKLSsgICAgICAgIHJlc3VsdCA9IHNlbGYubWFz dGVyLnJ1bl9jb21tYW5kKGNtZF9hcmdzKQotICAgICAgICAgYXNzZXJ0IG1zZyBub3QgaW4gcmVz dWx0LnN0ZG91dF90ZXh0Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gYTc4NWQwYzU2MWI4ZTIyYmQ5 ZDU2NzM5NDgxMDk1ZTA3ZTBhN2ViNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJv YiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAzMCBTZXAgMjAy NCAxMzozMDo0NiAtMDQwMAotU3ViamVjdDogW1BBVENIIDAyMC8xMTZdIERvbid0IHJlbHkgb24g cmVtb3ZpbmcgdGhlIENBIHRvIHVuaW5zdGFsbCB0aGUgQUNNRQotIGRlcG95bWVudAotCi1UaGVy ZSBoYXMgYWx3YXlzIGJlZW4gYSBwa2ktc2VydmVyIGNvbW1uZCBhY21lLXJlbW92ZS4gV2Ugd2Vy ZQotbm90IGF3YXJlIHRoYXQgaXQgc2hvdWxkIGJlIGNhbGxlZCBwcmlvciB0byByZW1vdmluZyBh IENBLiBJbgotMTEuNS4wIHRoaXMgaXMgc3Ryb25nbHkgZW5jb3VyYWdlZCBieSB0aGUgUEtJIHRl YW0uIEluIDExLjYuMAotQUNNRSBpcyB0cmVhdGVkIGFzIGEgZnVsbCBzdWJzeXN0ZW0gc28gd2ls bCBiZSByZW1vdmVkIGluIHRoZQotZnV0dXJlIHVzaW5nIHBraWRlc3Ryb3kgLXMgQUNNRQotCi1U aGUgbmV3IGNsYXNzIGFjbWVpbnN0YW5jZS5BQ01FSW5zdGFuY2UgaXMgaW50cm9kdWNlZCBzbyBp dHMKLXVuaW5zdGFsbGF0aW9uIGNhbiBiZSBoYW5kbGVkIGluIGEgc2ltaWxhciB3YXkgYXMgdGhl IG90aGVyCi1QS0kgc2VydmljZXMgdmlhIERvZ3RhZ0luc3RhbmNlLiBJdCBpcywgcmlnaHQgbm93 LCBhIHByZXR0eQotdGhpbiB3cmFwcGVyLgotCi1XZSBjYW4gZGlzY3VzcyBtb3ZpbmcgdGhlIEFD TUUgaW5zdGFsbGF0aW9uIHJvdXRpbmVzIGhlcmUgYXQKLXNvbWUgcG9pbnQuIEl0IHdvdWxkIGJl IG9rIGFzIGxvbmcgYXMgd2UgZG9uJ3QgaGF2ZSB0byBpbnRyb2R1Y2UKLWFub3RoZXIgUEtJIHJl c3RhcnQgYXMgcGFydCBvZiBpdC4KLQotSW4gUEtJIDExLjYuMCBwa2lkZXN0cm95IGhhcyBuZXcg b3B0aW9ucyB0byBlbnN1cmUgYSBjbGVhbgotdW5pbnN0YWxsOiAtLXJlbW92ZS1jb25mIC0tcmVt b3ZlLWxvZ3MuIFBhc3MgdGhvc2Ugb3B0aW9ucwotaW50byBwa2lkZXN0cm95IGNhbGxzIGZvciAx MS42LjArLgotCi1DbGVhbiB1cCBhbiBhZGRpdGlvbmFsIElQQS1nZW5lcmF0ZWQgZmlsZSB0aGF0 IG5lZWRzIHRvIGJlCi1jbGVhbmVkIHVwIGR1cmluZyB1bmluc3RhbGw6IC9yb290L2tyYWNlcnQu cDEyLiAxMS42LjAgaXMKLW1vcmUgc2Vuc2l0aXZlIHRvIGxlZnRvdmVyIGZpbGVzIHRoYW4gcHJl dmlvdXMgdmVyc2lvbnMuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3Vl Lzk2NzMKLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NzQKLQotU2ln bmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFz ZXJ2ZXIvaW5zdGFsbC9hY21laW5zdGFuY2UucHkgICAgICAgICAgICAgfCAzMSArKysrKysrKysr KysrCi0gaXBhc2VydmVyL2luc3RhbGwvY2EucHkgICAgICAgICAgICAgICAgICAgICAgIHwgIDUg KystCi0gaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5weSAgICAgICAgICAgICAgIHwgIDEg KwotIGlwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2luc3RhbmNlLnB5ICAgICAgICAgICB8IDQ0ICsr KysrKysrKysrKystLS0tLS0KLSAuLi4vdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3VuaW5zdGFsbGF0 aW9uLnB5ICAgfCAyMSArKysrKysrKysKLSA1IGZpbGVzIGNoYW5nZWQsIDg3IGluc2VydGlvbnMo KyksIDE1IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpcGFzZXJ2ZXIvaW5zdGFs bC9hY21laW5zdGFuY2UucHkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2FjbWVp bnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2FjbWVpbnN0YW5jZS5weQotbmV3IGZpbGUg bW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uMDAyN2MzMTQ1Ci0tLS0gL2Rldi9udWxsCi0r KysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9hY21laW5zdGFuY2UucHkKLUBAIC0wLDAgKzEsMzEgQEAK LSsjCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjQgIEZyZWVJUEEgQ29udHJpYnV0b3JzIHNlZSBDT1BZ SU5HIGZvciBsaWNlbnNlCi0rIwotKwotK2ltcG9ydCBsb2dnaW5nCi0rCi0rZnJvbSBpcGFzZXJ2 ZXIuaW5zdGFsbC5kb2d0YWdpbnN0YW5jZSBpbXBvcnQgRG9ndGFnSW5zdGFuY2UKLSsKLStsb2dn ZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLSsKLSsKLStjbGFzcyBBQ01FSW5zdGFu Y2UoRG9ndGFnSW5zdGFuY2UpOgotKyAgICAiIiIKLSsgICAgQUNNRSBpcyBkZXBsb3llZCBhdXRv bWF0aWNhbGx5IHdpdGggYSBDQSBzdWJzeXN0ZW0gYnV0IGl0IGlzIHRoZQotKyAgICByZXNwb25z aWJpbGl0eSBvZiBJUEEgdG8gdW5pbnN0YWxsIHRoZSBzZXJ2aWNlLgotKwotKyAgICBUaGlzIGlz IG1vc3RseSBhIHBsYWNlaG9sZGVyIGZvciB0aGUgdW5pbnN0YWxsZXIuIFdlIGNhbgotKyAgICBl dmVudHVhbGx5IG1vdmUgdGhlIEFDTUUgaW5zdGFsbGF0aW9uIHJvdXRpbmVzIGludG8gdGhpcyBj bGFzcwotKyAgICBpZiB3ZSB3YW50IGJ1dCBpdCBtaWdodCByZXN1bHQgaW4gYW4gZXh0cmEgUEtJ IHJlc3RhcnQgd2hpY2gKLSsgICAgd291bGQgYmUgc2xvdy4KLSsgICAgIiIiCi0rICAgIGRlZiBf X2luaXRfXyhzZWxmLCByZWFsbT1Ob25lLCBob3N0X25hbWU9Tm9uZSk6Ci0rICAgICAgICBzdXBl cihBQ01FSW5zdGFuY2UsIHNlbGYpLl9faW5pdF9fKAotKyAgICAgICAgICAgIHJlYWxtPXJlYWxt LAotKyAgICAgICAgICAgIHN1YnN5c3RlbT0iQUNNRSIsCi0rICAgICAgICAgICAgc2VydmljZV9k ZXNjPSJBQ01FIHNlcnZlciIsCi0rICAgICAgICAgICAgaG9zdF9uYW1lPWhvc3RfbmFtZQotKyAg ICAgICAgKQotKwotKyAgICBkZWYgdW5pbnN0YWxsKHNlbGYpOgotKyAgICAgICAgRG9ndGFnSW5z dGFuY2UudW5pbnN0YWxsKHNlbGYpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvY2Eu cHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYS5weQotaW5kZXggZmZjYjUyNjgzLi41MjBlM2ZjNWQg MTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9jYS5weQotKysrIGIvaXBhc2VydmVyL2lu c3RhbGwvY2EucHkKLUBAIC0yMiw3ICsyMiw3IEBAIGZyb20gaXBhcGxhdGZvcm0uY29uc3RhbnRz IGltcG9ydCBjb25zdGFudHMKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBzeXN1cGdy YWRlCi0gZnJvbSBpcGFweXRob24uaW5zdGFsbCBpbXBvcnQgdHlwaW5nCi0gZnJvbSBpcGFweXRo b24uaW5zdGFsbC5jb3JlIGltcG9ydCBncm91cCwga25vYiwgZXh0ZW5kX2tub2IKLS1mcm9tIGlw YXNlcnZlci5pbnN0YWxsIGltcG9ydCBjYWluc3RhbmNlLCBiaW5kaW5zdGFuY2UsIGRzaW5zdGFu Y2UKLStmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBhY21laW5zdGFuY2UsIGNhaW5zdGFu Y2UsIGJpbmRpbnN0YW5jZSwgZHNpbnN0YW5jZQotIGZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGF1 dGlsLCBjZXJ0ZGIKLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhbGRhcAotIGZyb20gaXBhcHl0 aG9uLmFkbWludG9vbCBpbXBvcnQgU2NyaXB0RXJyb3IKLUBAIC03MTUsNiArNzE1LDkgQEAgZGVm IGluc3RhbGxfc3RlcF8xKHN0YW5kYWxvbmUsIHJlcGxpY2FfY29uZmlnLCBvcHRpb25zLCBjdXN0 b2RpYSk6Ci0gCi0gCi0gZGVmIHVuaW5zdGFsbCgpOgotKyAgICBhY21lID0gYWNtZWluc3RhbmNl LkFDTUVJbnN0YW5jZShhcGkuZW52LnJlYWxtKQotKyAgICBhY21lLnVuaW5zdGFsbCgpCi0rCi0g ICAgIGNhX2luc3RhbmNlID0gY2FpbnN0YW5jZS5DQUluc3RhbmNlKGFwaS5lbnYucmVhbG0pCi0g ICAgIGNhX2luc3RhbmNlLnN0b3BfdHJhY2tpbmdfY2VydGlmaWNhdGVzKCkKLSAgICAgaXBhdXRp bC5yZW1vdmVfZmlsZShwYXRocy5SQV9BR0VOVF9QRU0pCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVy L2luc3RhbGwvY2FpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkK LWluZGV4IDVkYWMyYzA0NC4uNWMyYzlmOGI5IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3Rh bGwvY2FpbnN0YW5jZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5weQot QEAgLTExMTgsNiArMTExOCw3IEBAIGNsYXNzIENBSW5zdGFuY2UoRG9ndGFnSW5zdGFuY2UpOgot IAotICAgICAgICAgaXBhdXRpbC5yZW1vdmVfZmlsZShwYXRocy5ET0dUQUdfQURNSU5fUDEyKQot ICAgICAgICAgaXBhdXRpbC5yZW1vdmVfZmlsZShwYXRocy5DQUNFUlRfUDEyKQotKyAgICAgICAg aXBhdXRpbC5yZW1vdmVfZmlsZShwYXRocy5BRE1JTl9DRVJUX1BBVEgpCi0gCi0gICAgIGRlZiB1 bmNvbmZpZ3VyZV9jZXJ0bW9uZ2VyX3JlbmV3YWxfZ3VhcmQoc2VsZik6Ci0gICAgICAgICBpZiBu b3Qgc2VsZi5pc19jb25maWd1cmVkKCk6Ci1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwv ZG9ndGFnaW5zdGFuY2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0YW5jZS5weQot aW5kZXggZTg5NDkyMzEyLi40YjBmNGQyNzQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFs bC9kb2d0YWdpbnN0YW5jZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFu Y2UucHkKLUBAIC0zMDQsMjEgKzMwNCwzNyBAQCBjbGFzcyBEb2d0YWdJbnN0YW5jZShzZXJ2aWNl LlNlcnZpY2UpOgotICAgICAgICAgaWYgc2VsZi5pc19pbnN0YWxsZWQoKToKLSAgICAgICAgICAg ICBzZWxmLnByaW50X21zZygiVW5jb25maWd1cmluZyAlcyIgJSBzZWxmLnN1YnN5c3RlbSkKLSAK LS0gICAgICAgIGFyZ3MgPSBbcGF0aHMuUEtJREVTVFJPWSwKLS0gICAgICAgICAgICAgICAgIi1p IiwgInBraS10b21jYXQiLCAiLS1mb3JjZSIsCi0tICAgICAgICAgICAgICAgICItcyIsIHNlbGYu c3Vic3lzdGVtXQotLQotLSAgICAgICAgIyBzcGVjaWZ5IC0tbG9nLWZpbGUgPHBhdGg+IG9uIFBL SSAxMS4wLjAgb3IgbGF0ZXIKLS0KLSsgICAgICAgIGFyZ3MgPSBbXQotICAgICAgICAgcGtpX3Zl cnNpb24gPSBwa2kudXRpbC5WZXJzaW9uKHBraS5zcGVjaWZpY2F0aW9uX3ZlcnNpb24oKSkKLS0g ICAgICAgIGlmIHBraV92ZXJzaW9uID49IHBraS51dGlsLlZlcnNpb24oIjExLjAuMCIpOgotLSAg ICAgICAgICAgIHRpbWVzdGFtcCA9IHRpbWUuc3RyZnRpbWUoCi0tICAgICAgICAgICAgICAgICIl WSVtJWQlSCVNJVMiLAotLSAgICAgICAgICAgICAgICB0aW1lLmxvY2FsdGltZSh0aW1lLnRpbWUo KSkpCi0tICAgICAgICAgICAgbG9nX2ZpbGUgPSBvcy5wYXRoLmpvaW4oCi0tICAgICAgICAgICAg ICAgIHBhdGhzLlZBUl9MT0dfUEtJX0RJUiwKLS0gICAgICAgICAgICAgICAgInBraS0lcy1kZXN0 cm95LiVzLmxvZyIgJSAoc2VsZi5zdWJzeXN0ZW0ubG93ZXIoKSwgdGltZXN0YW1wKSkKLS0gICAg ICAgICAgICBhcmdzLmV4dGVuZChbIi0tbG9nLWZpbGUiLCBsb2dfZmlsZV0pCi0rICAgICAgICBp ZiBzZWxmLnN1YnN5c3RlbSA9PSAiQUNNRSI6Ci0rICAgICAgICAgICAgaWYgcGtpX3ZlcnNpb24g PCBwa2kudXRpbC5WZXJzaW9uKCIxMS4wLjAiKToKLSsgICAgICAgICAgICAgICAgcmV0dXJuCi0r ICAgICAgICAgICAgZWxpZiAoCi0rICAgICAgICAgICAgICAgIHBraS51dGlsLlZlcnNpb24oIjEx LjAuMCIpIDw9IHBraV92ZXJzaW9uCi0rICAgICAgICAgICAgICAgIDw9IHBraS51dGlsLlZlcnNp b24oIjExLjUuMCIpCi0rICAgICAgICAgICAgKToKLSsgICAgICAgICAgICAgICAgYXJncyA9IFsn cGtpLXNlcnZlcicsICdhY21lLXJlbW92ZSddCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAg ICAgICAgICAgIyBmYWxsIHRocm91Z2ggZm9yIFBLSSA+PSAxMS42LjAKLSsgICAgICAgICAgICAg ICAgcGFzcwotKyAgICAgICAgaWYgbm90IGFyZ3M6Ci0rICAgICAgICAgICAgYXJncyA9IFtwYXRo cy5QS0lERVNUUk9ZLAotKyAgICAgICAgICAgICAgICAgICAgIi1pIiwgInBraS10b21jYXQiLCAi LS1mb3JjZSIsCi0rICAgICAgICAgICAgICAgICAgICAiLXMiLCBzZWxmLnN1YnN5c3RlbV0KLSsK LSsgICAgICAgICAgICAjIHNwZWNpZnkgLS1sb2ctZmlsZSA8cGF0aD4gb24gUEtJIDExLjAuMCBv ciBsYXRlcgotKwotKyAgICAgICAgICAgIGlmIHBraV92ZXJzaW9uID49IHBraS51dGlsLlZlcnNp b24oIjExLjAuMCIpOgotKyAgICAgICAgICAgICAgICB0aW1lc3RhbXAgPSB0aW1lLnN0cmZ0aW1l KAotKyAgICAgICAgICAgICAgICAgICAgIiVZJW0lZCVIJU0lUyIsCi0rICAgICAgICAgICAgICAg ICAgICB0aW1lLmxvY2FsdGltZSh0aW1lLnRpbWUoKSkpCi0rICAgICAgICAgICAgICAgIGxvZ19m aWxlID0gb3MucGF0aC5qb2luKAotKyAgICAgICAgICAgICAgICAgICAgcGF0aHMuVkFSX0xPR19Q S0lfRElSLAotKyAgICAgICAgICAgICAgICAgICAgInBraS0lcy1kZXN0cm95LiVzLmxvZyIgJQot KyAgICAgICAgICAgICAgICAgICAgKHNlbGYuc3Vic3lzdGVtLmxvd2VyKCksIHRpbWVzdGFtcCkp Ci0rICAgICAgICAgICAgICAgIGFyZ3MuZXh0ZW5kKFsiLS1sb2ctZmlsZSIsIGxvZ19maWxlXSkK LSsgICAgICAgICAgICBpZiBwa2lfdmVyc2lvbiA+PSBwa2kudXRpbC5WZXJzaW9uKCIxMS42LjAi KToKLSsgICAgICAgICAgICAgICAgYXJncy5leHRlbmQoWyItLXJlbW92ZS1jb25mIiwgIi0tcmVt b3ZlLWxvZ3MiXSkKLSAKLSAgICAgICAgIHRyeToKLSAgICAgICAgICAgICBpcGF1dGlsLnJ1bihh cmdzKQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF91bmluc3Rh bGxhdGlvbi5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF91bmluc3RhbGxhdGlv bi5weQotaW5kZXggNGY4ZjE3Y2UzLi4wNDljNTBkYjUgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfdW5pbnN0YWxsYXRpb24ucHkKLSsrKyBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF91bmluc3RhbGxhdGlvbi5weQotQEAgLTE5Nyw2ICsxOTcsNyBA QCBjbGFzcyBUZXN0VW5pbnN0YWxsQ2xlYW51cChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAg ICAgICcvdmFyL2xpYi9zc3MvcHViY29uZi9rcmI1LmluY2x1ZGUuZC9sb2NhbGF1dGhfcGx1Z2lu JywKLSAgICAgICAgICAgICAnL3Zhci9uYW1lZC9keW5hbWljL21hbmFnZWQta2V5cy5iaW5kJywK LSAgICAgICAgICAgICAnL3Zhci9uYW1lZC9keW5hbWljL21hbmFnZWQta2V5cy5iaW5kLmpubCcs Ci0rICAgICAgICAgICAgJy92YXIvbGliL3N5c3RlbWQvY29yZWR1bXAvJywKLSAgICAgICAgIF0K LSAKLSAgICAgICAgIGxlZnRvdmVycyA9IFtdCi1AQCAtMjE3LDMgKzIxOCwyMyBAQCBjbGFzcyBU ZXN0VW5pbnN0YWxsQ2xlYW51cChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICAgICBs ZWZ0b3ZlcnMuYXBwZW5kKGxpbmUpCi0gCi0gICAgICAgICBhc3NlcnQgbGVuKGxlZnRvdmVycykg PT0gMAotKwotKwotK2NsYXNzIFRlc3RVbmluc3RhbGxSZWluc3RhbGwoSW50ZWdyYXRpb25UZXN0 KToKLSsgICAgIiIiVGVzdCBpbnN0YWxsLCB1bmluc3RhbGwsIHJlLWluc3RhbGwuCi0rCi0rICAg ICAgIFJlaW5zdGFsbCB3aXRoIFBLSSAxMS42LjAgd2FzIGZhaWxpbmcKLSsgICAgICAgaHR0cHM6 Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjczCi0rICAgICIiIgotKwotKyAgICBudW1fcmVw bGljYXMgPSAwCi0rCi0rICAgIEBjbGFzc21ldGhvZAotKyAgICBkZWYgaW5zdGFsbChjbHMsIG1o KToKLSsgICAgICAgIHRhc2tzLmluc3RhbGxfbWFzdGVyKGNscy5tYXN0ZXIsIHNldHVwX2Rucz1G YWxzZSkKLSsKLSsgICAgZGVmIHRlc3RfdW5pbnN0YWxsX3NlcnZlcihzZWxmKToKLSsgICAgICAg IHRhc2tzLnVuaW5zdGFsbF9tYXN0ZXIoc2VsZi5tYXN0ZXIpCi0rCi0rICAgIGRlZiB0ZXN0X3Jl aW5zdGFsbF9zZXJ2ZXIoc2VsZik6Ci0rICAgICAgICB0YXNrcy5pbnN0YWxsX21hc3RlcihzZWxm Lm1hc3Rlciwgc2V0dXBfZG5zPUZhbHNlKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGFlNGMyYWQ2 Y2Q5NjZkNDhjMDYzODE0ZjQ5NGRjYzE2Y2YwY2NkNGMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBTdWRoaXIgTWVub24gPHN1bWVub25AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjQg U2VwIDIwMjQgMTM6NDY6NDggKzA1MzAKLVN1YmplY3Q6IFtQQVRDSCAwMjEvMTE2XSBpcGF0ZXN0 czogRml4ZXMgZm9yIGlwYS1pZHJhbmdlLWZpeCB0ZXN0c3VpdGUKLQotVGhpcyBwYXRjaCBhZGRz IHRoZSBsaW5lIHRhc2tzLmluc3RhbGxfbWFzdGVyKGNscy5tYXN0ZXIpLgotVGhlIGtpbml0IGFk bWluIGNvbW1hbmQgZmFpbHMgd2l0aCB0aGUgYmVsb3cgZXJyb3IgYXMgdGhlCi1JUEEgaXMgbm90 IGNvbmZpZ3VyZWQgb24gdGhlIHRlc3Qgc3lzdGVtCi0KLSdpcGE6IEVSUk9SOiBzdGRlcnI6IGtp bml0OiBDb25maWd1cmF0aW9uIGZpbGUgZG9lcyBub3Qgc3BlY2lmeSBkZWZhdWx0Ci1yZWFsbSB3 aGVuIHBhcnNpbmcgbmFtZSBhZG1pbicKLQotU2lnbmVkLW9mZi1ieTogU3VkaGlyIE1lbm9uIDxz dW1lbm9uQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVu QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lk cmFuZ2VfZml4LnB5IHwgMyArKysKLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspCi0K LWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2Vf Zml4LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pZHJhbmdlX2ZpeC5w eQotaW5kZXggZmY4ZmJkYWM5Li4wYzkxNWJkMDkgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci1AQCAtMTcsNiArMTcsOSBAQCBs b2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLSAKLSAKLSBjbGFzcyBUZXN0SXBh SWRyYW5nZUZpeChJbnRlZ3JhdGlvblRlc3QpOgotKwotKyAgICB0b3BvbG9neSA9ICdsaW5lJwot KwotICAgICBAY2xhc3NtZXRob2QKLSAgICAgZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci0gICAgICAg ICBzdXBlcihUZXN0SXBhSWRyYW5nZUZpeCwgY2xzKS5pbnN0YWxsKG1oKQotLS0gCi0yLjQ5LjAK LQotCi1Gcm9tIDRiMzRiZmI5ODE5ZmE5YTliN2I4MTMxZGRkYzc3MmM1OWMxNDUwMWYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRo YXQuY29tPgotRGF0ZTogV2VkLCA5IE9jdCAyMDI0IDExOjM1OjU5ICswMjAwCi1TdWJqZWN0OiBb UEFUQ0ggMDIyLzExNl0gTmlnaHRseSB0ZXN0IGRlZmluaXRpb246IHVzZSBtYXN0ZXJfMXJlcGwg dG9wb2xvZ3kKLSBmb3IgaWRyYW5nZV9maXgKLQotVGhlIHRlc3QgdGVzdF9pcGFfaWRyYW5nZV9m aXggaXMgaW5zdGFsbGluZyBJUEEgc2VydmVyIGFzIGl0IHNldHMKLXRvcG9sb2d5PWxpbmUuIEl0 cyB0ZXN0IGRlZmluaXRpb24gc2hvdWxkIG5vdCB1c2UgYSB0ZW1wbGF0ZQotdGhhdCBwcmUtaW5z dGFsbHMgdGhlIElQQSBzZXJ2ZXIgKGlwYXNlcnZlciBwcmVpbnN0YWxscyBJUEEgc2VydmVyCi1i dXQgbWFzdGVyXzFyZXBsIGRvZXMgbm90KS4KLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8 cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmln aHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCAgICAgICAgIHwgMiArLQotIGlwYXRlc3RzL3ByY2lf ZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sIHwgMiArLQot IDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVz dC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVz dC55YW1sCi1pbmRleCAwMTVkY2RmNDkuLmY2ZGJmNmY0YyAxMDA2NDQKLS0tLSBhL2lwYXRlc3Rz L3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBh dGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAt MTgwNCw3ICsxODA0LDcgQEAgam9iczoKLSAgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdy YXRpb24vdGVzdF9pcGFfaWRyYW5nZV9maXgucHkKLSAgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBh LTQtMTItbGF0ZXN0Ci0gICAgICAgICB0aW1lb3V0OiAzNjAwCi0tICAgICAgICB0b3BvbG9neTog KmlwYXNlcnZlcgotKyAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSAKLSAgIGZlZG9y YS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9zdWJpZHM6Ci0gICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxh dGVzdC1pcGEtNC0xMi9idWlsZF0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRp b25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCBiL2lwYXRlc3RzL3ByY2lf ZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1pbmRleCA0 MDU2M2ZlZGQuLmQzYjU3MDVkYSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi0rKysgYi9pcGF0ZXN0cy9w cmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotQEAg LTE5NDcsNyArMTk0Nyw3IEBAIGpvYnM6Ci0gICAgICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVn cmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlw YS00LTEyLWxhdGVzdAotICAgICAgICAgdGltZW91dDogMzYwMAotLSAgICAgICAgdG9wb2xvZ3k6 ICppcGFzZXJ2ZXIKLSsgICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzFyZXBsCi0gCi0gICBmZWRv cmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3Rfc3ViaWRzOgotICAgICByZXF1aXJlczogW2ZlZG9yYS1s YXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNjQyYWYwMTRkOWU3 ZGU4ZTUzOTM0YWY0Y2EzOTcwOTc3OTU3Y2JhNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDgg T2N0IDIwMjQgMDI6MTM6MDAgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAwMjMvMTE2XSBzcGVjOiBV c2Ugbm9kZWpzMjIgb24gUkhFTCAxMCBhbmQgRUxOCi0KLW5vZGVqczIyIGlzIG5vdyB0aGUgZGVm YXVsdCBub2RlanMgdmVyc2lvbiBpbiBSSEVMIDEwIGFzIHdlbGwgYXMgRUxOLgotCi1TaWduZWQt b2ZmLWJ5OiBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aUByZWRoYXQuY29tPgotUmV2aWV3ZWQt Qnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYmJyYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci1S ZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQot IGZyZWVpcGEuc3BlYy5pbiB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMo KyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9mcmVlaXBhLnNwZWMuaW4gYi9mcmVl aXBhLnNwZWMuaW4KLWluZGV4IDE3MWI2YWQyNy4uOWIzZDkxNmYzIDEwMDc1NQotLS0tIGEvZnJl ZWlwYS5zcGVjLmluCi0rKysgYi9mcmVlaXBhLnNwZWMuaW4KLUBAIC0zMDgsMTAgKzMwOCwxMCBA QCBCdWlsZFJlcXVpcmVzOiAgbGlicHdxdWFsaXR5LWRldmVsCi0gQnVpbGRSZXF1aXJlczogIGxp YnNzc19pZG1hcC1kZXZlbAotIEJ1aWxkUmVxdWlyZXM6ICBsaWJzc3NfY2VydG1hcC1kZXZlbAot IEJ1aWxkUmVxdWlyZXM6ICBsaWJzc3NfbnNzX2lkbWFwLWRldmVsID49ICV7c3NzZF92ZXJzaW9u fQotLSVpZiAwJXs/ZmVkb3JhfSA+PSA0MQotKyVpZiAwJXs/ZmVkb3JhfSA+PSA0MSB8fCAwJXs/ cmhlbH0gPj0gMTAKLSAjIERvIG5vdCB1c2Ugbm9kZWpzMjIgb24gZmVkb3JhIDwgNDEsIGh0dHBz Oi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY0MwotIEJ1aWxkUmVxdWlyZXM6IG5vZGVqcyhh YmkpCi0tJWVsaWYgMCV7P2ZlZG9yYX0gPj0gMzkgfHwgMCV7P3JoZWx9ID49IDEwCi0rJWVsaWYg MCV7P2ZlZG9yYX0gPj0gMzkKLSAjIERvIG5vdCB1c2Ugbm9kZWpzMjAgb24gZmVkb3JhIDwgMzks IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTM3NAotIEJ1aWxkUmVxdWlyZXM6ICBu b2RlanMoYWJpKSA8IDEyNwotICVlbHNlCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMTgzMDNiOTRi ZWE0ZTA4YTBjODg5ZmMzNTdkZjZiYTJmMzA4ZmEwZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAy IE9jdCAyMDI0IDIxOjI2OjM0IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDI0LzExNl0gRG8gbm90 IGxldCB1c2VyIHdpdGggYW4gZXhwaXJlZCBPVFAgdG9rZW4gdG8gbG9nIGluCi0gaWYgb25seSBP VFAgaXMgYWxsb3dlZAotCi1JZiBvbmx5IE9UUCBhdXRoZW50aWNhdGlvbiBpcyBhbGxvd2VkLCBh bmQgYSB1c2VyIHRyaWVzIHRvIGxvZ2luIHdpdGggYW4KLWV4cGlyZWQgdG9rZW4sIGRvIG5vdCBs ZXQgdGhlbSBsb2cgaW4gd2l0aCB0aGVpciBwYXNzd29yZC4gRm9yY2luZyB0aGUKLWFkbWluIHRv IGludGVydmVuZS4gSWYgdGhlIHVzZXIgZG9lcyBub3QgaGF2ZSBhbiBPVFAgdG9rZW4gdGhlbiBh bGxvdwotdGhlbSB0byBsb2cgaW4gd2l0aCBhIHBhc3N3b3JkIHVudGlsIGFuIE9UUCB0b2tlbiBp cyBjb25maWd1cmVkCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzkz ODcKLQotU2lnbmVkLW9mZi1ieTogTWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgotLS0tCi0gZGFlbW9ucy9p cGEta2RiL2lwYV9rZGJfcHJpbmNpcGFscy5jICAgICAgICAgIHwgNjMgKysrKysrKysrKystLQot IC4uLi9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYyB8ICAzICstCi0g aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X290cC5weSAgICAgICAgIHwgOTQgKysrKysr KysrKysrKysrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMTUxIGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9wcmluY2lw YWxzLmMgYi9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9wcmluY2lwYWxzLmMKLWluZGV4IDE0NjAz ZTUyOC4uMTE0OTU3Yjg4IDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfcHJp bmNpcGFscy5jCi0rKysgYi9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9wcmluY2lwYWxzLmMKLUBA IC0xMDcsNyArMTA3LDYgQEAgc3RhdGljIGNoYXIgKnN0ZF9wcmluY2lwYWxfb2JqX2NsYXNzZXNb XSA9IHsKLSAgICAgImtyYnByaW5jaXBhbCIsCi0gICAgICJrcmJwcmluY2lwYWxhdXgiLAotICAg ICAia3JiVGlja2V0UG9saWN5QXV4IiwKLS0KLSAgICAgTlVMTAotIH07Ci0gCi1AQCAtMzM4LDE0 ICszMzcsMTYgQEAgc3RhdGljIHZvaWQgaXBhZGJfdmFsaWRhdGVfb3RwKHN0cnVjdCBpcGFkYl9j b250ZXh0ICppcGFjdHgsCi0gICAgIGlmIChkbiA9PSBOVUxMKQotICAgICAgICAgcmV0dXJuOwot ICAgICBjb3VudCA9IGFzcHJpbnRmKCZmaWx0ZXIsIGZ0bXBsLCBkbiwgZGF0ZXRpbWUsIGRhdGV0 aW1lKTsKLS0gICAgbGRhcF9tZW1mcmVlKGRuKTsKLS0gICAgaWYgKGNvdW50IDwgMCkKLSsgICAg aWYgKGNvdW50IDwgMCkgewotKyAgICAgICAgbGRhcF9tZW1mcmVlKGRuKTsKLSAgICAgICAgIHJl dHVybjsKLSsgICAgfQotIAotICAgICAvKiBGZXRjaCB0aGUgYWN0aXZlIHRva2VuIGxpc3QuICov Ci0gICAgIGtlcnIgPSBpcGFkYl9zaW1wbGVfc2VhcmNoKGlwYWN0eCwgaXBhY3R4LT5iYXNlLCBM REFQX1NDT1BFX1NVQlRSRUUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRl ciwgKGNoYXIqKikgYXR0cnMsICZyZXMpOwotICAgICBmcmVlKGZpbHRlcik7Ci0rICAgIGZpbHRl ciA9IE5VTEw7Ci0gICAgIGlmIChrZXJyICE9IDAgfHwgcmVzID09IE5VTEwpCi0gICAgICAgICBy ZXR1cm47Ci0gCi1AQCAtMzUzLDEwICszNTQsNjAgQEAgc3RhdGljIHZvaWQgaXBhZGJfdmFsaWRh dGVfb3RwKHN0cnVjdCBpcGFkYl9jb250ZXh0ICppcGFjdHgsCi0gICAgIGNvdW50ID0gbGRhcF9j b3VudF9lbnRyaWVzKGlwYWN0eC0+bGNvbnRleHQsIHJlcyk7Ci0gICAgIGxkYXBfbXNnZnJlZShy ZXMpOwotIAotLSAgICAvKiBJZiB0aGUgdXNlciBpcyBjb25maWd1cmVkIGZvciBPVFAsIGJ1dCBo YXMgbm8gYWN0aXZlIHRva2VucywgcmVtb3ZlCi0tICAgICAqIE9UUCBmcm9tIHRoZSBsaXN0IHNp bmNlIHRoZSB1c2VyIG9idmlvdXNseSBjYW4ndCBsb2cgaW4gdGhpcyB3YXkuICovCi0tICAgIGlm IChjb3VudCA9PSAwKQotKyAgICAvKgotKyAgICAgKiBJZiB0aGVyZSBhcmUgbm8gdmFsaWQgdG9r ZW5zIHRoZW4gd2UgbmVlZCB0byByZW1vdmUgdGhlIE9UUCBmbGFnLAotKyAgICAgKiB1bmxlc3Mg T1RQIGlzIHRoZSBvbmx5IGF1dGggdHlwZSBhbGxvd2VkLi4uCi0rICAgICAqLwotKyAgICBpZiAo Y291bnQgPT0gMCkgewotKyAgICAgICAgLyogUmVtb3ZlIHRoZSBPVFAgZmxhZyBmb3Igbm93ICov Ci0gICAgICAgICAqdWEgJj0gfklQQURCX1VTRVJfQVVUSF9PVFA7Ci0rCi0rICAgICAgICBpZiAo KnVhID09IDApIHsKLSsgICAgICAgICAgICAvKgotKyAgICAgICAgICAgICAqIE9rLCB3ZSAib25s eSIgYWxsb3cgT1RQLCBzbyBpZiB0aGVyZSBpcyBhbiBleHBpcmVkL2Rpc2FibGVkCi0rICAgICAg ICAgICAgICogdG9rZW4gdGhlbiBhZGQgYmFjayB0aGUgT1RQIGZsYWcgYXMgdGhlIHNlcnZlciB3 aWxsIGRvdWJsZQotKyAgICAgICAgICAgICAqIGNoZWNrIHRoZSB2YWxpZGl0eSBhbmQgcmVqZWN0 IHRoZSBlbnRpcmUgYmluZC4gT3RoZXJ3aXNlLCB0aGlzCi0rICAgICAgICAgICAgICogaXMgdGhl IGZpcnN0IHRpbWUgdGhlIHVzZXIgaXMgYXV0aGVudGljYXRpbmcgYW5kIHRoZSB1c2VyCi0rICAg ICAgICAgICAgICogc2hvdWxkIGJlIGFsbG93ZWQgdG8gYmluZCB1c2luZyBpdHMgcGFzc3dvcmQK LSsgICAgICAgICAgICAgKi8KLSsgICAgICAgICAgICBzdGF0aWMgY29uc3QgY2hhciAqZXhwaXJl ZF9mdG1wbCA9ICIoJiIKLSsgICAgICAgICAgICAgICAgIihvYmplY3RDbGFzcz1pcGFUb2tlbiko aXBhdG9rZW5Pd25lcj0lcykiCi0rICAgICAgICAgICAgICAgICIofChpcGF0b2tlbk5vdEFmdGVy PD0lcykoIShpcGF0b2tlbk5vdEFmdGVyPSopKSIKLSsgICAgICAgICAgICAgICAgIihpcGF0b2tl bkRpc2FibGVkPVRydWUpKSIKLSsgICAgICAgICAgICAiKSI7Ci0rICAgICAgICAgICAgaWYgKGFz cHJpbnRmKCZmaWx0ZXIsIGV4cGlyZWRfZnRtcGwsIGRuLCBkYXRldGltZSkgPCAwKSB7Ci0rICAg ICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShkbik7Ci0rICAgICAgICAgICAgICAgIHJldHVybjsK LSsgICAgICAgICAgICB9Ci0rCi0rICAgICAgICAgICAga3JiNV9rbG9nX3N5c2xvZyhMT0dfSU5G TywKLSsgICAgICAgICAgICAgICAgIkVudHJ5ICglcykgZG9lcyBub3QgaGF2ZSBhIHZhbGlkIHRv a2VuIGFuZCBvbmx5IE9UUCAiCi0rICAgICAgICAgICAgICAgICJhdXRoZW50aWNhdGlvbiBpcyBz dXBwb3J0ZWQsIGNoZWNraW5nIGZvciBleHBpcmVkIHRva2Vucy4uLiIsCi0rICAgICAgICAgICAg ICAgIGRuKTsKLSsKLSsgICAgICAgICAgICBrZXJyID0gaXBhZGJfc2ltcGxlX3NlYXJjaChpcGFj dHgsIGlwYWN0eC0+YmFzZSwgTERBUF9TQ09QRV9TVUJUUkVFLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciwgKGNoYXIqKikgYXR0cnMsICZyZXMpOwotKyAg ICAgICAgICAgIGZyZWUoZmlsdGVyKTsKLSsgICAgICAgICAgICBpZiAoa2VyciAhPSAwIHx8IHJl cyA9PSBOVUxMKSB7Ci0rICAgICAgICAgICAgICAgIGxkYXBfbWVtZnJlZShkbik7Ci0rICAgICAg ICAgICAgICAgIHJldHVybjsKLSsgICAgICAgICAgICB9Ci0rCi0rICAgICAgICAgICAgaWYgKGxk YXBfY291bnRfZW50cmllcyhpcGFjdHgtPmxjb250ZXh0LCByZXMpID4gMCkgewotKyAgICAgICAg ICAgICAgICAvKgotKyAgICAgICAgICAgICAgICAgKiBPayB3ZSBvbmx5IGFsbG93IE9UUCwgYW5k IHRoZXJlIGFyZSBleHBpcmVkL2Rpc2FibGVkIHRva2VucwotKyAgICAgICAgICAgICAgICAgKiBz byBhZGQgdGhlIE9UUCBmbGFnIGJhY2ssIGFuZCB0aGUgc2VydmVyIHdpbGwgcmVqZWN0IHRoZQot KyAgICAgICAgICAgICAgICAgKiBiaW5kCi0rICAgICAgICAgICAgICAgICAqLwotKyAgICAgICAg ICAgICAgICBrcmI1X2tsb2dfc3lzbG9nKExPR19JTkZPLAotKyAgICAgICAgICAgICAgICAgICAg IkVudHJ5ICglcykgZG9lcyBoYXZlIGFuIGV4cGlyZWQvZGlzYWJsZWQgdG9rZW4gc28gdGhpcyAi Ci0rICAgICAgICAgICAgICAgICAgICAidXNlciBjYW4gbm90IGZhbGwgdGhyb3VnaCB0byBwYXNz d29yZCBhdXRoIiwgZG4pOwotKyAgICAgICAgICAgICAgICAqdWEgfD0gSVBBREJfVVNFUl9BVVRI X09UUDsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICAgICAgbGRhcF9tc2dmcmVlKHJlcyk7Ci0r ICAgICAgICB9Ci0rICAgIH0KLSsgICAgbGRhcF9tZW1mcmVlKGRuKTsKLSB9Ci0gCi0gc3RhdGlj IHZvaWQgaXBhZGJfdmFsaWRhdGVfcmFkaXVzKHN0cnVjdCBpcGFkYl9jb250ZXh0ICppcGFjdHgs Ci1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3By ZXBvc3QuYyBiL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBhLXB3ZC1leHRvcC9wcmVwb3N0 LmMKLWluZGV4IGM5NjdlMmNmZi4uMWMxMzQwZTMxIDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEt c2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYwotKysrIGIvZGFlbW9ucy9pcGEt c2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYwotQEAgLTE1MjgsNyArMTUyOCw4 IEBAIHN0YXRpYyBpbnQgaXBhcHdkX3ByZV9iaW5kKFNsYXBpX1BCbG9jayAqcGIpCi0gICAgIGlm ICghc3luY3JlcSAmJiAob3RwcmVxID09IE9UUF9JU19OT1RfUkVRVUlSRUQpKSB7Ci0gICAgICAg ICByZXQgPSBpcGFwd2RfZ2VuX2NoZWNrcyhwYiwgJmVyck1lc2csICZrcmJjZmcsIElQQVBXRF9D SEVDS19PTkxZX0NPTkZJRyk7Ci0gICAgICAgICBpZiAocmV0ICE9IDApIHsKLS0gICAgICAgICAg ICBMT0dfRkFUQUwoImlwYXB3ZF9nZW5fY2hlY2tzIGZhaWxlZCE/XG4iKTsKLSsgICAgICAgICAg ICBMT0dfRkFUQUwoImlwYXB3ZF9nZW5fY2hlY2tzIGZhaWxlZCBmb3IgJyVzJzogJXNcbiIsCi0r ICAgICAgICAgICAgICAgICAgICAgIHNsYXBpX3Nkbl9nZXRfZG4oc2RuKSwgZXJyTWVzZyk7Ci0g ICAgICAgICAgICAgc2xhcGlfZW50cnlfZnJlZShlbnRyeSk7Ci0gICAgICAgICAgICAgc2xhcGlf c2RuX2ZyZWUoJnNkbik7Ci0gICAgICAgICAgICAgcmV0dXJuIDA7Ci1kaWZmIC0tZ2l0IGEvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X290cC5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9vdHAucHkKLWluZGV4IDM1MDM3MWJmZS4uODc4YjRmYjU2IDEwMDY0NAotLS0t IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X290cC5weQotKysrIGIvaXBhdGVzdHMv dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X290cC5weQotQEAgLTEwLDYgKzEwLDcgQEAgaW1wb3J0IHJl Ci0gaW1wb3J0IHRpbWUKLSBpbXBvcnQgdGV4dHdyYXAKLSBmcm9tIHVybGxpYi5wYXJzZSBpbXBv cnQgdXJscGFyc2UsIHBhcnNlX3FzCi0rZnJvbSBwYXJhbWlrbyBpbXBvcnQgQXV0aGVudGljYXRp b25FeGNlcHRpb24KLSAKLSBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMgaW1wb3J0 IGRlZmF1bHRfYmFja2VuZAotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzIGlt cG9ydCBoYXNoZXMKLUBAIC04Myw3ICs4NCw3IEBAIGRlZiBraW5pdF9vdHAoaG9zdCwgdXNlciwg KiwgcGFzc3dvcmQsIG90cCwgc3VjY2Vzcz1UcnVlKToKLSAgICAgKQotIAotIAotLWRlZiBzc2hf MmYoaG9zdG5hbWUsIHVzZXJuYW1lLCBhbnN3ZXJzX2RpY3QsIHBvcnQ9MjIpOgotK2RlZiBzc2hf MmYoaG9zdG5hbWUsIHVzZXJuYW1lLCBhbnN3ZXJzX2RpY3QsIHBvcnQ9MjIsIHVud2FudGVkX3By b21wdD0iIik6Ci0gICAgICIiIgotICAgICA6cGFyYW0gaG9zdG5hbWU6IGhvc3RuYW1lCi0gICAg IDpwYXJhbSB1c2VybmFtZTogdXNlcm5hbWUKLUBAIC0xMDMsNiArMTA0LDEwIEBAIGRlZiBzc2hf MmYoaG9zdG5hbWUsIHVzZXJuYW1lLCBhbnN3ZXJzX2RpY3QsIHBvcnQ9MjIpOgotICAgICAgICAg ICAgIGxvZ2dlci5pbmZvKCJQcm9tcHQgaXM6ICclcyciLCBwcm1wdF9zdHIpCi0gICAgICAgICAg ICAgbG9nZ2VyLmluZm8oCi0gICAgICAgICAgICAgICAgICJBbnN3ZXIgdG8gc3NoIHByb21wdCBp czogJyVzJyIsIGFuc3dlcnNfZGljdFtwcm1wdF9zdHJdKQotKyAgICAgICAgICAgIGlmIHVud2Fu dGVkX3Byb21wdCBhbmQgcHJtcHRfc3RyID09IHVud2FudGVkX3Byb21wdDoKLSsgICAgICAgICAg ICAgICAgIyBXZSBzaG91bGQgbm90IHNlZSB0aGlzIHByb21wdAotKyAgICAgICAgICAgICAgICBy YWlzZSBWYWx1ZUVycm9yKCJXZSBnb3QgYW4gdW53YW50ZWQgcHJvbXB0OiAiCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKyBhbnN3ZXJzX2RpY3RbcHJtcHRfc3RyXSkKLSAgICAg ICAgIHJldHVybiByZXNwCi0gCi0gICAgIGltcG9ydCBwYXJhbWlrbwotQEAgLTE5Myw3ICsxOTgs OCBAQCBjbGFzcyBUZXN0T1RQVG9rZW4oSW50ZWdyYXRpb25UZXN0KToKLSAKLSAgICAgICAgICMg c2tpcHBpbmcgdG9vIG1hbnkgT1RQIGZhaWxzCi0gICAgICAgICBvdHAxID0gaG90cC5nZW5lcmF0 ZSgxMCkuZGVjb2RlKCJhc2NpaSIpCi0tICAgICAgICBraW5pdF9vdHAoc2VsZi5tYXN0ZXIsIFVT RVIsIHBhc3N3b3JkPVBBU1NXT1JELCBvdHA9b3RwMSwgc3VjY2Vzcz1GYWxzZSkKLSsgICAgICAg IGtpbml0X290cChzZWxmLm1hc3RlciwgVVNFUiwgcGFzc3dvcmQ9UEFTU1dPUkQsIG90cD1vdHAx LAotKyAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M9RmFsc2UpCi0gICAgICAgICAjIE5vdyB0aGUg dG9rZW4gaXMgZGVzeW5jaHJvbml6ZWQKLSAgICAgICAgIHlpZWxkIChvdHB1aWQsIGhvdHApCi0g Ci1AQCAtNTM2LDMgKzU0Miw4NyBAQCBjbGFzcyBUZXN0T1RQVG9rZW4oSW50ZWdyYXRpb25UZXN0 KToKLSAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsn aXBhJywgJ3B3cG9saWN5LW1vZCcsICctLW1pbmxpZmUnLCAnMSddKQotICAgICAgICAgICAgIG1h c3Rlci5ydW5fY29tbWFuZChbJ2lwYScsICd1c2VyLWRlbCcsIFVTRVIxXSkKLSsKLSsgICAgZGVm IHRlc3RfdG90cF9leHBpcmVkX2xkYXAoc2VsZik6Ci0rICAgICAgICBtYXN0ZXIgPSBzZWxmLm1h c3RlcgotKyAgICAgICAgYmFzZWRuID0gbWFzdGVyLmRvbWFpbi5iYXNlZG4KLSsgICAgICAgIFVT RVIxID0gJ3VzZXItZXhwaXJlZC1vdHAnCi0rICAgICAgICBUTVBfUEFTU1dPUkQgPSAnU2VjcmV0 MTIzNDUwOScKLSsgICAgICAgIGJpbmRkbiA9IEROKGYidWlkPXtVU0VSMX0sY249dXNlcnMsY249 YWNjb3VudHMse2Jhc2Vkbn0iKQotKyAgICAgICAgY29udHJvbHMgPSBbCi0rICAgICAgICAgICAg Qm9vbGVhbkNvbnRyb2woCi0rICAgICAgICAgICAgICAgIGNvbnRyb2xUeXBlPSIyLjE2Ljg0MC4x LjExMzczMC4zLjguMTAuNyIsCi0rICAgICAgICAgICAgICAgIGJvb2xlYW5WYWx1ZT1UcnVlKQot KyAgICAgICAgXQotKwotKyAgICAgICAgdGFza3Mua2luaXRfYWRtaW4obWFzdGVyKQotKyAgICAg ICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhJywgJ3B3cG9saWN5LW1vZCcsICctLW1pbmxpZmUn LCAnMCddKQotKyAgICAgICAgdGFza3MudXNlcl9hZGQobWFzdGVyLCBVU0VSMSwgcGFzc3dvcmQ9 VE1QX1BBU1NXT1JEKQotKyAgICAgICAgIyBFbmZvcmNlIHVzZSBvZiBPVFAgdG9rZW4gZm9yIHRo aXMgdXNlcgotKyAgICAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhJywgJ3VzZXItbW9kJywg VVNFUjEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXVzZXItYXV0aC10eXBlPW90 cCddKQotKyAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICMgQ2hhbmdlIGluaXRpYWwgcGFzc3dv cmQgdGhyb3VnaCB0aGUgSVBBIGVuZHBvaW50Ci0rICAgICAgICAgICAgdXJsID0gZidodHRwczov L3ttYXN0ZXIuaG9zdG5hbWV9L2lwYS9zZXNzaW9uL2NoYW5nZV9wYXNzd29yZCcKLSsgICAgICAg ICAgICBtYXN0ZXIucnVuX2NvbW1hbmQoWydjdXJsJywgJy1kJywgZid1c2VyPXtVU0VSMX0nLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1kJywgZidvbGRfcGFzc3dvcmQ9e1RN UF9QQVNTV09SRH0nLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1kJywgZidu ZXdfcGFzc3dvcmQ9e1BBU1NXT1JEfScsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnLS1yZWZlcmVyJywgZidodHRwczovL3ttYXN0ZXIuaG9zdG5hbWV9L2lwYScsCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1cmxdKQotKyAgICAgICAgICAgIGNvbm4gPSBtYXN0 ZXIubGRhcF9jb25uZWN0KCkKLSsgICAgICAgICAgICAjIEZpcnN0LCBhdHRlbXB0IGF1dGhlbnRp Y2F0aW5nIHdpdGggYSBwYXNzd29yZCBidXQgd2l0aG91dCBMREFQCi0rICAgICAgICAgICAgIyBj b250cm9sIHRvIGVuZm9yY2UgT1RQIHByZXNlbmNlIGFuZCB3aXRob3V0IHNlcnZlci1zaWRlCi0r ICAgICAgICAgICAgIyBlbmZvcmNlbWVudCBvZiB0aGUgT1RQIHByZXNlbmNlIGNoZWNrLgotKyAg ICAgICAgICAgIGNvbm4uc2ltcGxlX2JpbmQoYmluZGRuLCBmIntQQVNTV09SRH0iKQotKwotKyAg ICAgICAgICAgICMgQWRkIGFuIE9UUCB0b2tlbiBhbmQgdGhlbiBtb2RpZnkgaXQgdG8gYmUgZXhw aXJlZAotKyAgICAgICAgICAgIG90cHVpZCwgdG90cCA9IGFkZF9vdHB0b2tlbihtYXN0ZXIsIFVT RVIxLCBvdHB0eXBlPSJ0b3RwIikKLSsKLSsgICAgICAgICAgICAjIE1ha2Ugc3VyZSBPVFAgYXV0 aCBpcyB3b3JraW5nCi0rICAgICAgICAgICAgb3RwdmFsdWUgPSB0b3RwLmdlbmVyYXRlKGludCh0 aW1lLnRpbWUoKSkpLmRlY29kZSgiYXNjaWkiKQotKyAgICAgICAgICAgIGNvbm4gPSBtYXN0ZXIu bGRhcF9jb25uZWN0KCkKLSsgICAgICAgICAgICBjb25uLnNpbXBsZV9iaW5kKGJpbmRkbiwgZiJ7 UEFTU1dPUkR9e290cHZhbHVlfSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGll bnRfY29udHJvbHM9Y29udHJvbHMpCi0rICAgICAgICAgICAgY29ubi51bmJpbmQoKQotKwotKyAg ICAgICAgICAgICMgTW9kZnkgdG9rZW4gc28gdGhhdCBpcyBub3cgZXhwaXJlZAotKyAgICAgICAg ICAgIGFyZ3MgPSBbCi0rICAgICAgICAgICAgICAgICJpcGEiLAotKyAgICAgICAgICAgICAgICAi b3RwdG9rZW4tbW9kIiwKLSsgICAgICAgICAgICAgICAgb3RwdWlkLAotKyAgICAgICAgICAgICAg ICAiLS1ub3QtYWZ0ZXIiLAotKyAgICAgICAgICAgICAgICAiMjAyNDEwMDEwMTAwMDBaIiwKLSsg ICAgICAgICAgICBdCi0rICAgICAgICAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKGFyZ3MpCi0rCi0r ICAgICAgICAgICAgIyBOZXh0LCBhdXRoZW50aWNhdGUgd2l0aCBQYXNzd29yZCtPVFAgYWdhaW4g YW5kIHdpdGggdGhlIExEQVAKLSsgICAgICAgICAgICAjIGNvbnRyb2wgdGhpcyBvcGVyYXRpb24g c2hvdWxkIG5vdyBmYWlsCi0rICAgICAgICAgICAgdGltZS5zbGVlcCg0NSkKLSsgICAgICAgICAg ICBvdHB2YWx1ZSA9IHRvdHAuZ2VuZXJhdGUoaW50KHRpbWUudGltZSgpKSkuZGVjb2RlKCJhc2Np aSIpCi0rCi0rICAgICAgICAgICAgY29ubiA9IG1hc3Rlci5sZGFwX2Nvbm5lY3QoKQotKyAgICAg ICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhlcnJvcnMuQUNJRXJyb3IpOgotKyAgICAgICAgICAg ICAgICBjb25uLnNpbXBsZV9iaW5kKGJpbmRkbiwgZiJ7UEFTU1dPUkR9e290cHZhbHVlfSIsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50X2NvbnRyb2xzPWNvbnRyb2xz KQotKwotKyAgICAgICAgICAgICMgU2xlZXAgdG8gbWFrZSBzdXJlIHdlIGFyZSBnb2luZyB0byB1 c2UgYSBkaWZmZXJlbnQgdG9rZW4gdmFsdWUKLSsgICAgICAgICAgICB0aW1lLnNsZWVwKDQ1KQot KwotKyAgICAgICAgICAgICMgVXNlIE9UUCB0b2tlbiBhZ2FpbiBidXQgYXV0aGVudGljYXRlIG92 ZXIgc3NoIGFuZCBtYWtlIHN1cmUgaXQKLSsgICAgICAgICAgICAjIGRvZXNuJ3QgZmFsbHRocm91 Z2ggdG8gYXNraW5nIGZvciBhIHBhc3N3b3JkCi0rICAgICAgICAgICAgb3RwdmFsdWUgPSB0b3Rw LmdlbmVyYXRlKGludCh0aW1lLnRpbWUoKSkpLmRlY29kZSgiYXNjaWkiKQotKyAgICAgICAgICAg IGFuc3dlcnMgPSB7Ci0rICAgICAgICAgICAgICAgICdFbnRlciBmaXJzdCBmYWN0b3I6JzogUEFT U1dPUkQsCi0rICAgICAgICAgICAgICAgICdFbnRlciBzZWNvbmQgZmFjdG9yOic6IG90cHZhbHVl Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHdpdGggcHl0ZXN0LnJhaXNlcyhBdXRoZW50 aWNhdGlvbkV4Y2VwdGlvbik6Ci0rICAgICAgICAgICAgICAgICMgc3NoIHNob3VsZCBmYWlsIGFu ZCBOT1QgYXNrIGZvciBhIHBhc3N3b3JkCi0rICAgICAgICAgICAgICAgIHNzaF8yZihtYXN0ZXIu aG9zdG5hbWUsIFVTRVIxLCBhbnN3ZXJzLAotKyAgICAgICAgICAgICAgICAgICAgICAgdW53YW50 ZWRfcHJvbXB0PSJQYXNzd29yZDoiKQotKwotKyAgICAgICAgICAgICMgUmVtb3ZlIHRva2VuCi0r ICAgICAgICAgICAgZGVsX290cHRva2VuKHNlbGYubWFzdGVyLCBvdHB1aWQpCi0rCi0rICAgICAg ICBmaW5hbGx5OgotKyAgICAgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZChbJ2lwYScsICdwd3Bv bGljeS1tb2QnLCAnLS1taW5saWZlJywgJzEnXSkKLSsgICAgICAgICAgICBtYXN0ZXIucnVuX2Nv bW1hbmQoWydpcGEnLCAndXNlci1kZWwnLCBVU0VSMV0pCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g ZDhkNGM1NTA3YmQzNzg0ZDMyM2U2ODM2ZmY4NDU2YmE5NjA4ZjExNSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1E YXRlOiBGcmksIDIwIFNlcCAyMDI0IDA5OjM2OjQxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDI1 LzExNl0gdGVzdF9pcGFoZWFsdGhjaGVjazogc2tpcCBjb25uZWN0aXZpdHlfYW5kX2RhdGEgY2hl Y2sKLQotUEtJIHJlbW92ZWQgdGhlIGNsb25lcy5jaGVjayBjb25uZWN0aXZpdHlfYW5kX2RhdGEg Y2hlY2sgaW4KLTExLjUgYW5kIG1hc3RlciBicmFuY2hlcy4gU2tpcCB0aGUgdGVzdCBkZXBlbmRp bmcgb24gUEtJIHZlcnNpb24uCi1UaGUgbW9zdCByZWNlbnQgdmVyc2lvbiBvbiAxMS41IGlzIDEx LjUuNCBhbmQgc3RpbGwgY29udGFpbnMgdGhlIGNoZWNrLAotaGVuY2Ugc2tpcHBpbmcgaWYgdmVy c2lvbiA+PSAxMS41LjUuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3Vl Lzk2NjgKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4K LS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSB8 IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5IGIvaXBhdGVz dHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci1pbmRleCBhM2UxMGIw NDQuLmNjNTFhNWE2YSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVz dF9pcGFoZWFsdGhjaGVjay5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2lwYWhlYWx0aGNoZWNrLnB5Ci1AQCAtMTIxOSw2ICsxMjE5LDkgQEAgY2xhc3MgVGVzdElwYUhl YWx0aENoZWNrKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNr cyB0aGF0IHdoZW4gQ2xvbmVzQ29ubmVjdGl2eUFuZERhdGFDaGVjawotICAgICAgICAgaXMgcnVu IGl0IGRvZXNuJ3QgZGlzcGxheSBzb3VyY2Ugbm90IGZvdW5kIGVycm9yCi0gICAgICAgICAiIiIK LSsgICAgICAgIGlmICh0YXNrcy5nZXRfcGtpX3ZlcnNpb24oCi0rICAgICAgICAgICAgICAgIHNl bGYubWFzdGVyKSA+PSB0YXNrcy5wYXJzZV92ZXJzaW9uKCcxMS41LjUnKSk6Ci0rICAgICAgICAg ICAgcmFpc2UgcHl0ZXN0LnNraXAoIlBLSSBkcm9wcGVkIENsb25lc0Nvbm5lY3RpdnlBbmREYXRh Q2hlY2siKQotICAgICAgICAgZXJyb3JfbXNnID0gKAotICAgICAgICAgICAgICJTb3VyY2UgJ3Br aS5zZXJ2ZXIuaGVhbHRoY2hlY2suY2xvbmVzLmNvbm5lY3Rpdml0eV9hbmRfZGF0YScgIgotICAg ICAgICAgICAgICJub3QgZm91bmQiCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYzcxZTEyZTkwMmIz OTEyYzMxMjQ1ZDQ2YWQ2ZjJjMmRkZWUwMTEyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAx IE9jdCAyMDI0IDExOjI4OjI4ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMDI2LzExNl0gc2VsaW51 eDogYWxsb3cgQ29ja3BpdCB0byB1c2UgSFRUUCBrZXl0YWIgb24gSVBBCi0gc2VydmVycwotCi1D b2NrcGl0IGNhbiB1c2UgR1NTQVBJIGF1dGhlbnRpY2F0aW9uIGFuZCBoYXMgcHJldHR5IGdvb2Qg ZGVmaW5pdGlvbiBvZgotaG93IHRvIGVuYWJsZSBpdDogaHR0cHM6Ly9jb2NrcGl0LXByb2plY3Qu b3JnL2d1aWRlL2xhdGVzdC9zc28uaHRtbC4KLVRoZXNlIGluc3RydWN0aW9ucyB3b3JrIG9uIElQ QSBjbGllbnRzIGJ1dCB0aGV5IGNhbm5vdCBiZSB1c2VkIG9uIElQQQotc2VydmVycyBiZWNhdXNl IElQQSBmcmFtZXdvcmsgYWxyZWFkeSBvd25zIEhUVFAvLi4gS2VyYmVyb3Mgc2VydmljZSBhbmQK LWl0cyBrZXl0YWIuCi0KLUx1Y2tpbHksIHRoZXJlIGFyZSB0d28gY2hhbmdlcyB0aGF0IG5lZWQg dG8gYmUgZG9uZSB0byBlbmFibGUgQ29ja3BpdAotc2luZ2xlIHNpZ24tb24gd2l0aCBHU1NBUEkg b24gSVBBIHNlcnZlcnM6Ci0KLSAgLSBjcmVhdGUgYSBzeW1saW5rIC9ldGMvY29ja3BpdC9rcmI1 LmtleXRhYiB0bwotICAgIC92YXIvbGliL2lwYS9nc3Nwcm94eS9odHRwLmtleXRhYgotCi0gIC0g YWRkIFNFTGludXggcG9saWN5IHRvIGFsbG93IGNvY2twaXRfc2Vzc2lvbl90IHRvIG9wZXJhdGUg b24KLSAgICAvdmFyL2xpYi9pcGEvZ3NzcHJveHkvaHR0cC5rZXl0YWIgZmlsZQotCi1Gb3IgZXhp c3RpbmcgaW5zdGFsbGF0aW9uIGFuIHVwZ3JhZGUgcHJvY2VzcyB3b3VsZCByZXN0b3JlIFNFTGlu dXgKLWNvbnRleHQgb2YgdGhlIGh0dHAua2V5dGFiIGZpbGUgdG8gdGhlIG5ldyB2YWx1ZS4KLQot Tm90ZSB0aGF0IENvY2twaXQgZG9jdW1lbnRhdGlvbiBhYm92ZSBhbHNvIHRhbGtzIGFib3V0IEtl cmJlcm9zIHNlcnZpY2UKLW1vZGlmaWNhdGlvbnMgdG8gZW5hYmxlIGRlbGVnYXRpb24uICBUaGVz ZSBtb2RpZmljYXRpb25zIHNob3VsZCBub3QgYmUKLWRvbmUgZm9yIElQQSBzZXJ2ZXJzJyBIVFRQ IHNlcnZpY2VzLCBhcyB0aGVzZSBzZXJ2aWNlcyBhcmUgYWxyZWFkeQotZW5hYmxlZCB0byBoYW5k bGUgZGVsZWdhdGlvbi4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUv OTY3NQotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQot IGlwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5IHwgIDEgKwotIHNlbGludXgvaXBh LmZjICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKysKLSBzZWxpbnV4L2lwYS5pZiAgICAgICAg ICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKysrKysrKysrKysrKwotIHNlbGludXgvaXBh LnRlICAgICAgICAgICAgICAgICAgICAgIHwgMTkgKysrKysrKysrKysrKysrKysrKwotIDQgZmls ZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2lu c3RhbGwvc2VydmVyL3VwZ3JhZGUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFk ZS5weQotaW5kZXggMzFkNGY4Mzk4Li5kNWM0NjZlZTIgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9zZXJ2ZXIvdXBncmFkZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmVy L3VwZ3JhZGUucHkKLUBAIC0xMTI0LDYgKzExMjQsNyBAQCBkZWYgdXBkYXRlX2h0dHBfa2V5dGFi KGh0dHApOgotICAgICAgICAgICAgICAgICBwYXRocy5PTERfSVBBX0tFWVRBQiwgZQotICAgICAg ICAgICAgICkKLSAgICAgaHR0cC5rZXl0YWJfdXNlci5jaG93bihodHRwLmtleXRhYikKLSsgICAg dGFza3MucmVzdG9yZV9jb250ZXh0KGh0dHAua2V5dGFiKQotIAotIAotIGRlZiBkc19lbmFibGVf c2lkZ2VuX2V4dGRvbV9wbHVnaW5zKGRzKToKLWRpZmYgLS1naXQgYS9zZWxpbnV4L2lwYS5mYyBi L3NlbGludXgvaXBhLmZjCi1pbmRleCA0N2JkMTliYTcuLjE1ZThlNDFhYSAxMDA2NDQKLS0tLSBh L3NlbGludXgvaXBhLmZjCi0rKysgYi9zZWxpbnV4L2lwYS5mYwotQEAgLTIyLDYgKzIyLDggQEAK LSAKLSAvdmFyL2xpYi9pcGEoLy4qKT8gICAgICAgICAgICAgIGdlbl9jb250ZXh0KHN5c3RlbV91 Om9iamVjdF9yOmlwYV92YXJfbGliX3QsczApCi0gCi0rL3Zhci9saWIvaXBhL2dzc3Byb3h5L2h0 dHAua2V5dGFiIC0tIGdlbl9jb250ZXh0KHN5c3RlbV91Om9iamVjdF9yOmlwYV9odHRwX2tleXRh Yl90LHMwKQotKwotIC92YXIvbG9nL2lwYSgvLiopPyAgICAgICAgICAgICAgZ2VuX2NvbnRleHQo c3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotIAotIC92YXIvbG9nL2lwYWJhY2t1cC5s b2cJLS0JZ2VuX2NvbnRleHQoc3lzdGVtX3U6b2JqZWN0X3I6aXBhX2xvZ190LHMwKQotZGlmZiAt LWdpdCBhL3NlbGludXgvaXBhLmlmIGIvc2VsaW51eC9pcGEuaWYKLWluZGV4IDhjNDdlNzk2My4u OGYzMTQ3ZTEwIDEwMDY0NAotLS0tIGEvc2VsaW51eC9pcGEuaWYKLSsrKyBiL3NlbGludXgvaXBh LmlmCi1AQCAtMTU1LDYgKzE1NSw3IEBAIGludGVyZmFjZShgaXBhX21hbmFnZV9sb2cnLGAKLSAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIyMgPHN1bW1hcnk+Ci0g IyMJQWxsb3cgZG9tYWluIHRvIG1hbmFnZSBpcGEgbGliIGZpbGVzL2RpcnMuCi0rIyMgICAgICBU aGlzIGluY2x1ZGVzIHJlYWRpbmcgaXBhX2h0dHBfa2V5dGFiX3QgZmlsZXMuCi0gIyMgPC9zdW1t YXJ5PgotICMjIDxwYXJhbSBuYW1lPSJkb21haW4iPgotICMjCTxzdW1tYXJ5PgotQEAgLTE2NCwx MCArMTY1LDMzIEBAIGludGVyZmFjZShgaXBhX21hbmFnZV9sb2cnLGAKLSAjCi0gaW50ZXJmYWNl KGBpcGFfcmVhZF9saWInLGAKLSAJZ2VuX3JlcXVpcmUoYAotKwkJdHlwZSBpcGFfaHR0cF9rZXl0 YWJfdDsKLSAJCXR5cGUgaXBhX3Zhcl9saWJfdDsKLSAJJykKLSAKLSAgICAgcmVhZF9maWxlc19w YXR0ZXJuKCQxLCBpcGFfdmFyX2xpYl90LCBpcGFfdmFyX2xpYl90KQotKyAgICByZWFkX2ZpbGVz X3BhdHRlcm4oJDEsIGlwYV9odHRwX2tleXRhYl90LCBpcGFfaHR0cF9rZXl0YWJfdCkKLSsgICAg bGlzdF9kaXJzX3BhdHRlcm4oJDEsIGlwYV92YXJfbGliX3QsIGlwYV92YXJfbGliX3QpCi0rJykK LSsKLSsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0rIyMgPHN1bW1h cnk+Ci0rIyMJQWxsb3cgZG9tYWluIHRvIG1hbmFnZSBpcGEgSFRUUCBrZXl0YWIgZmlsZS4KLSsj IyAgICAgIFRoaXMgaW5jbHVkZXMgcmVhZGluZyBpcGFfdmFyX2xpYl90IGRpcmVjdG9yaWVzLgot KyMjIDwvc3VtbWFyeT4KLSsjIyA8cGFyYW0gbmFtZT0iZG9tYWluIj4KLSsjIwk8c3VtbWFyeT4K LSsjIwlEb21haW4gYWxsb3dlZCBhY2Nlc3MuCi0rIyMJPC9zdW1tYXJ5PgotKyMjIDwvcGFyYW0+ Ci0rIwotK2ludGVyZmFjZShgaXBhX3JlYWRfaHR0cF9rZXl0YWInLGAKLSsJZ2VuX3JlcXVpcmUo YAotKwkJdHlwZSBpcGFfaHR0cF9rZXl0YWJfdDsKLSsJCXR5cGUgaXBhX3Zhcl9saWJfdDsKLSsJ JykKLSsKLSsgICAgcmVhZF9maWxlc19wYXR0ZXJuKCQxLCBpcGFfaHR0cF9rZXl0YWJfdCwgaXBh X2h0dHBfa2V5dGFiX3QpCi0gICAgIGxpc3RfZGlyc19wYXR0ZXJuKCQxLCBpcGFfdmFyX2xpYl90 LCBpcGFfdmFyX2xpYl90KQotICcpCi0gCi1kaWZmIC0tZ2l0IGEvc2VsaW51eC9pcGEudGUgYi9z ZWxpbnV4L2lwYS50ZQotaW5kZXggMjU0NmE5YmQ5Li5lNGNlNjY2ODcgMTAwNjQ0Ci0tLS0gYS9z ZWxpbnV4L2lwYS50ZQotKysrIGIvc2VsaW51eC9pcGEudGUKLUBAIC00Myw2ICs0Myw5IEBAIGxv Z2dpbmdfbG9nX2ZpbGUoaXBhX2xvZ190KQotIHR5cGUgaXBhX3Zhcl9saWJfdDsKLSBmaWxlc190 eXBlKGlwYV92YXJfbGliX3QpCi0gCi0rdHlwZSBpcGFfaHR0cF9rZXl0YWJfdDsKLStmaWxlc190 eXBlKGlwYV9odHRwX2tleXRhYl90KQotKwotIHR5cGUgaXBhX3Zhcl9ydW5fdDsKLSBmaWxlc19w aWRfZmlsZShpcGFfdmFyX3J1bl90KQotIAotQEAgLTUxNiwzICs1MTksMTkgQEAgb3B0aW9uYWxf cG9saWN5KGAKLSAgICAgJykKLSAgICAgYWxsb3cgY2VydG1vbmdlcl90IHBraV90b21jYXRfZXRj X3J3X3Q6ZmlsZSB7IGdldGF0dHIgaW9jdGwgb3BlbiByZWFkIH07Ci0gJykKLSsKLSsjIGdzc3By b3h5IG5lZWRzIHRvIHJlYWQgaHR0cCBrZXl0YWIKLStvcHRpb25hbF9wb2xpY3koYAotKyAgICBn ZW5fcmVxdWlyZShgCi0rICAgICAgICB0eXBlIGdzc3Byb3h5X3Q7Ci0rICAgICcpCi0rICAgIGlw YV9yZWFkX2h0dHBfa2V5dGFiKGdzc3Byb3h5X3QpCi0rJykKLSsKLSsjIEFsbG93IENvY2twaXQg dG8gdXNlIEhUVFAga2V5dGFiIG9uIElQQSBzZXJ2ZXJzIGZvciBHU1NBUEkgYXV0aGVudGljYXRp b24KLStvcHRpb25hbF9wb2xpY3koYAotKyAgICBnZW5fcmVxdWlyZShgCi0rICAgICAgICB0eXBl IGNvY2twaXRfc2Vzc2lvbl90OwotKyAgICAnKQotKyAgICBpcGFfcmVhZF9odHRwX2tleXRhYihj b2NrcGl0X3Nlc3Npb25fdCkKLSsnKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDBkYWRjYmI0YWM5 ZjYxNDJiNTEzMGYwMjVmNjRkOTE4ZDZmMjA4YTkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwg OCBPY3QgMjAyNCAxMDoyNTowOCArMDMwMAotU3ViamVjdDogW1BBVENIIDAyNy8xMTZdIE1pbmlt YWwgdGVzdCBmb3IgQ29ja3BpdCBpbnRlZ3JhdGlvbiBvbiBJUEEgbWFzdGVyCi0KLUFkZCBhIHRl c3QgdG8gc2hhcmUgSFRUUCBzZXJ2aWNlIGtleXRhYiBvbiBJUEEgbWFzdGVyIGJldHdlZW4gSVBB IGFuZAotQ29ja3BpdC4gVGhlIHRlc3QgY29uZmlndXJlcyBDb2NrcGl0IHdpdGggSVBBIENBLWlz c3VlZCBjZXJ0aWZpY2F0ZSBhbmQKLWFsbG93cyBDb2NrcGl0IHRvIGFjY2VzcyBJUEEgSFRUUCBz ZXJ2aWNlIGtleXRhYiBmb3IgYXV0aGVudGljYXRpb24uCi0KLVRoZSB0ZXN0IHRoZW4gYXR0ZW1w dHMgdG8gYXV0aGVudGljYXRlIHdpdGggR1NTQVBJIGFzIGFkbWluIHVzZXIuIEEKLXN1Y2Nlc3Nm dWwgcmVzdWx0IGlzIHdoZW4gd2UgcmVjZWl2ZSBDU1JGIHRva2VuIGZyb20gdGhlIENvY2twaXQg YXMKLXRoZSByZXN1bHQgb2YgdGhpcyBhdXRoZW50aWNhdGlvbi4gVGhpcyBtZWFucyB3ZSBoYXZl IGxvZ2dlZCBpbgotc3VjY2Vzc2Z1bGx5IHdpdGggS2VyYmVyb3MuCi0KLUZpeGVzOiBodHRwczov L3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NzUKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5k ZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJj cml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf Y29ja3BpdC5weSB8IDYxICsrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQs IDYxIGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAxMDA2NDQgaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2NvY2twaXQucHkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50 ZWdyYXRpb24vdGVzdF9jb2NrcGl0LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2NvY2twaXQucHkKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLmNkYzk2 MTcwYQotLS0tIC9kZXYvbnVsbAotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2NvY2twaXQucHkKLUBAIC0wLDAgKzEsNjEgQEAKLSsjCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjQg IEZyZWVJUEEgQ29udHJpYnV0b3JzIHNlZSBDT1BZSU5HIGZvciBsaWNlbnNlCi0rIwotKwotK2Zy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0rCi0raW1wb3J0IHRpbWUKLStm cm9tIGlwYXRlc3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRpb24gaW1wb3J0IHRhc2tzCi0rZnJvbSBp cGF0ZXN0cy50ZXN0X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotK2Zy b20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0rCi0rCi0rY2xhc3MgVGVzdENvY2tw aXRJbnRlZ3JhdGlvbihJbnRlZ3JhdGlvblRlc3QpOgotKyAgICB0b3BvbG9neSA9ICJsaW5lIgot KyAgICByZXFjZXJ0ID0gJy9ldGMvY29ja3BpdC93cy1jZXJ0cy5kLzk5LWNvY2twaXQuY2VydCcK LSsgICAgcmVxa2V5ID0gJy9ldGMvY29ja3BpdC93cy1jZXJ0cy5kLzk5LWNvY2twaXQua2V5Jwot KyAgICBzeW1saW5rID0gJy9ldGMvY29ja3BpdC9rcmI1LmtleXRhYicKLSsKLSsgICAgQGNsYXNz bWV0aG9kCi0rICAgIGRlZiB1bmluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICBjbHMubWFzdGVy LnJ1bl9jb21tYW5kKFsnaXBhLWdldGNlcnQnLCAnc3RvcC10cmFja2luZycsICctZicsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMucmVxY2VydF0sIHJhaXNlb25lcnI9RmFs c2UpCi0rICAgICAgICBjbHMubWFzdGVyLnJ1bl9jb21tYW5kKFsncm0nLCAnLWYnLCBjbHMuc3lt bGlua10sIHJhaXNlb25lcnI9RmFsc2UpCi0rICAgICAgICBjbHMubWFzdGVyLnJ1bl9jb21tYW5k KFsnc3lzdGVtY3RsJywgJ2Rpc2FibGUnLCAnLS1ub3cnLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2NvY2twaXQuc29ja2V0J10pCi0rICAgICAgICBzdXBlcihUZXN0Q29ja3Bp dEludGVncmF0aW9uLCBjbHMpLnVuaW5zdGFsbChtaCkKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0r ICAgIGRlZiBpbnN0YWxsKGNscywgbWgpOgotKyAgICAgICAgbWFzdGVyID0gY2xzLm1hc3Rlcgot KwotKyAgICAgICAgIyBJbnN0YWxsIENvY2twaXQgYW5kIGNvbmZpZ3VyZSBpdCB0byB1c2UgSVBB IGNlcnRpZmljYXRlIGFuZCBrZXl0YWIKLSsgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZChbJ2Ru ZicsICdpbnN0YWxsJywgJy15JywgJ2NvY2twaXQnLCAnY3VybCddLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UpCi0rCi0rICAgICAgICBzdXBlcihUZXN0Q29j a3BpdEludGVncmF0aW9uLCBjbHMpLmluc3RhbGwobWgpCi0rCi0rICAgICAgICBtYXN0ZXIucnVu X2NvbW1hbmQoWydpcGEtZ2V0Y2VydCcsICdyZXF1ZXN0JywgJy1mJywgY2xzLnJlcWNlcnQsICct aycsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5yZXFrZXksICctRCcsIGNscy5t YXN0ZXIuaG9zdG5hbWUsICctSycsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICdob3N0 LycgKyBjbHMubWFzdGVyLmhvc3RuYW1lLCAnLW0nLCAnMDY0MCcsICctbycsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdyb290OmNvY2twaXQtd3MnLCAnLU8nLCAncm9vdDpyb290Jywg Jy1NJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzA2NDQnXSwgcmFpc2VvbmVycj1G YWxzZSkKLSsKLSsgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZChbJ2xuJywgJy1zJywgcGF0aHMu SFRUUF9LRVlUQUIsIGNscy5zeW1saW5rXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBy YWlzZW9uZXJyPUZhbHNlKQotKwotKyAgICAgICAgdGltZS5zbGVlcCg1KQotKyAgICAgICAgbWFz dGVyLnJ1bl9jb21tYW5kKFsnc3lzdGVtY3RsJywgJ2VuYWJsZScsICctLW5vdycsICdjb2NrcGl0 LnNvY2tldCddKQotKwotKyAgICBkZWYgdGVzdF9sb2dpbl93aXRoX2tlcmJlcm9zKHNlbGYpOgot KyAgICAgICAgIiIiCi0rICAgICAgICBMb2dpbiB0byBDb2NrcGl0IHVzaW5nIEdTU0FQSSBhdXRo ZW50aWNhdGlvbgotKyAgICAgICAgIiIiCi0rICAgICAgICBtYXN0ZXIgPSBzZWxmLm1hc3Rlcgot KyAgICAgICAgdGFza3Mua2luaXRfYWRtaW4obWFzdGVyKQotKwotKyAgICAgICAgY29ja3BpdF9s b2dpbiA9IGYnaHR0cHM6Ly97bWFzdGVyLmhvc3RuYW1lfTo5MDkwL2NvY2twaXQvbG9naW4nCi0r ICAgICAgICByZXN1bHQgPSBtYXN0ZXIucnVuX2NvbW1hbmQoW3BhdGhzLkJJTl9DVVJMLCAnLXU6 JywgJy0tbmVnb3RpYXRlJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Jy0tY2FjZXJ0JywgcGF0aHMuSVBBX0NBX0NSVCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29ja3BpdF9sb2dpbl0pCi0rICAgICAgICBhc3NlcnQgKCJjc3JmLXRva2Vu IiBpbiByZXN1bHQuc3Rkb3V0X3RleHQpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNDk5NDcyOGZj NjQ2ZTY3ZWM1YWU4Y2UyYTUzZDU3OWYxNDk2MjcyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUs IDEwIE9jdCAyMDI0IDEwOjM5OjA2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDI4LzExNl0gRXh0 ZW5kIG5pZ2h0bHkgdGVzdHMgd2l0aCBDb2NrcGl0IHRlc3QKLQotRml4ZXM6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY3NQotCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFu Yy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxy Y3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gLi4uL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9p cGEtNC0xMl9sYXRlc3QueWFtbCAgIHwgMTIgKysrKysrKysrKysrCi0gLi4uL25pZ2h0bHlfaXBh LTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwot IDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRleCBm NmRiZjZmNGMuLjZkMThlNzA4ZiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMjExNywzICsyMTE3LDE1 IEBAIGpvYnM6Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAg ICAgdGltZW91dDogMzYwMAotICAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGxfMWNsaWVu dAotKwotKyAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X2NvY2twaXQ6Ci0rICAgIHJlcXVp cmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0r ICAgIGpvYjoKLSsgICAgICBjbGFzczogUnVuUHl0ZXN0Ci0rICAgICAgYXJnczoKLSsgICAgICAg IGJ1aWxkX3VybDogJ3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkX3VybH0nCi0rICAgICAg ICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29ja3BpdC5weQotKyAgICAgICAg dGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRpbWVvdXQ6IDM2MDAKLSsg ICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzFyZXBsCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJj aV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwgYi9pcGF0 ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFt bAotaW5kZXggZDNiNTcwNWRhLi41MjY4NmRmOTcgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNp X2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotKysrIGIv aXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4 LnlhbWwKLUBAIC0yMjg2LDMgKzIyODYsMTYgQEAgam9iczoKLSAgICAgICAgIHRlbXBsYXRlOiAq Y2ktaXBhLTQtMTItbGF0ZXN0Ci0gICAgICAgICB0aW1lb3V0OiAzNjAwCi0gICAgICAgICB0b3Bv bG9neTogKm1hc3Rlcl8xcmVwbF8xY2xpZW50Ci0rCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEy L3Rlc3RfY29ja3BpdDoKLSsgICAgcmVxdWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1 aWxkXQotKyAgICBwcmlvcml0eTogNTAKLSsgICAgam9iOgotKyAgICAgIGNsYXNzOiBSdW5QeXRl c3QKLSsgICAgICBhcmdzOgotKyAgICAgICAgYnVpbGRfdXJsOiAne2ZlZG9yYS1sYXRlc3QtaXBh LTQtMTIvYnVpbGRfdXJsfScKLSsgICAgICAgIHNlbGludXhfZW5mb3JjaW5nOiBUcnVlCi0rICAg ICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29ja3BpdC5weQotKyAgICAg ICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRpbWVvdXQ6IDM2MDAK LSsgICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzFyZXBsCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g NzYxNjQ3Zjg0MjU2NzcxMzAzMjcwOTc1M2I2ZDYzNDY3ZDk4NzFhNiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTog TW9uLCAyMyBTZXAgMjAyNCAxNDowNTo0MyArMDUzMAotU3ViamVjdDogW1BBVENIIDAyOS8xMTZd IGlwYXRlc3RzOiBBY3RpdmF0ZSBzc2ggaW4gc3NzZC5jb25mCi0KLVRoaXMgdGVzdGNhc2UgY2hl Y2tzIHRoYXQgc2VydmljZXM6IHNzaAotaXMgaW5jbHVkZWQgaW4gdGhlIHNzc2QuY29uZiBmaWxl IHdoZW4KLWlwYS1jbGllbnQtaW5zdGFsbCBpcyBzdWNjZXNzZnVsLgotCi1SZWY6IGh0dHBzOi8v cGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY0OQotCi1TaWduZWQtb2ZmLWJ5OiBTdWRoaXIgTWVu b24gPHN1bWVub25AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9p bnN0YWxsYXRpb25fY2xpZW50LnB5IHwgMTAgKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAx MCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfaW5zdGFsbGF0aW9uX2NsaWVudC5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9pbnN0YWxsYXRpb25fY2xpZW50LnB5Ci1pbmRleCBmODU2N2IzOWUuLjg4NGJmZjJmMiAx MDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pbnN0YWxsYXRpb25f Y2xpZW50LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0 aW9uX2NsaWVudC5weQotQEAgLTk0LDYgKzk0LDE2IEBAIGNsYXNzIFRlc3RJbnN0YWxsQ2xpZW50 KEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICApLmVuY29kZSgpIG5vdCBpbiBrcmI1X2NmZwot ICAgICAgICAgdGFza3MudW5pbnN0YWxsX2NsaWVudChzZWxmLmNsaWVudHNbMF0pCi0gCi0rICAg IGRlZiB0ZXN0X2NoZWNrX3NzaF9zZXJ2aWNlX2lzX2FjdGl2YXRlZChzZWxmKToKLSsgICAgICAg ICIiIgotKyAgICAgICAgVGhpcyB0ZXN0IGNoZWNrcyBhbGwgZGVmYXVsdCBzZXJ2aWNlcyBhcmUg YWN0aXZhdGVkCi0rICAgICAgICBpbiBzc3NkLmNvbmYgaW5jbHVkaW5nIHNzaAotKyAgICAgICAg IiIiCi0rICAgICAgICB0YXNrcy5pbnN0YWxsX2NsaWVudChzZWxmLm1hc3Rlciwgc2VsZi5jbGll bnRzWzBdKQotKyAgICAgICAgc3NzZF9jZmcgPSBzZWxmLmNsaWVudHNbMF0uZ2V0X2ZpbGVfY29u dGVudHMocGF0aHMuU1NTRF9DT05GKQotKyAgICAgICAgYXNzZXJ0ICdzZXJ2aWNlcyA9IG5zcywg cGFtLCBzc2gsIHN1ZG8nIGluIHNzc2RfY2ZnLmRlY29kZSgpCi0rICAgICAgICB0YXNrcy51bmlu c3RhbGxfY2xpZW50KHNlbGYuY2xpZW50c1swXSkKLSsKLSAgICAgZGVmIHRlc3RfaW5zdGFsbF93 aXRoX2F1dG9tb3VudChzZWxmKToKLSAgICAgICAgICIiIlRlc3QgdGhhdCBpbnN0YWxsYXRpb24g d2l0aCBhdXRvbW91bnQgaXMgc3VjY2Vzc2Z1bCIiIgotICAgICAgICAgdGFza3MuaW5zdGFsbF9j bGllbnQoc2VsZi5tYXN0ZXIsIHNlbGYuY2xpZW50c1swXSwKLS0tIAotMi40OS4wCi0KLQotRnJv bSA2NzM1MzI3YzE4Yjk5NDIwODE2ZDMxZGQ2NGJhNDAyZmY5MzAzMWJlIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogSWFuIEJyb3duIDxpYW4uYnJvd25AdGVtcGxlYW5kd2Vic3Rlci5j b20uYXU+Ci1EYXRlOiBGcmksIDQgT2N0IDIwMjQgMTM6MjU6MzIgKzEwMDAKLVN1YmplY3Q6IFtQ QVRDSCAwMzAvMTE2XSBSZXBsYWNlIGluc3RhbmNlcyBvZiBkZWwgb3MuZW52aXJvbiB3aXRoCi0g b3MuZW52aXJvbi5wb3AKLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUv OTQ1MAotCi1TaWduZWQtb2ZmLWJ5OiBJYW4gQnJvd24gPGlhbi5icm93bkB0ZW1wbGVhbmR3ZWJz dGVyLmNvbS5hdT4KLVNpZ25lZC1vZmYtYnk6IElhbiBCcm93biA8aWFuYnJvd243OEBnbWFpbC5j b20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci0tLS0KLSBpbnN0YWxsL2NlcnRtb25nZXIvZG9ndGFnLWlwYS1jYS1yZW5ldy1hZ2VudC1zdWJt aXQuaW4gfCAyICstCi0gaXBhY2xpZW50L2luc3RhbGwvaXBhX2NlcnR1cGRhdGUucHkgICAgICAg ICAgICAgICAgICAgIHwgMiArLQotIGlwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5 ICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBpcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1 MDkucHkgICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gaXBhdGVzdHMvdGVzdF9pcGFzZXJ2 ZXIvdGVzdF9pcGFwMTFoZWxwZXIucHkgICAgICAgICAgIHwgMiArLQotIDUgZmlsZXMgY2hhbmdl ZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdGFs bC9jZXJ0bW9uZ2VyL2RvZ3RhZy1pcGEtY2EtcmVuZXctYWdlbnQtc3VibWl0LmluIGIvaW5zdGFs bC9jZXJ0bW9uZ2VyL2RvZ3RhZy1pcGEtY2EtcmVuZXctYWdlbnQtc3VibWl0LmluCi1pbmRleCA3 OTc5YWQ4NmQuLmRhODFkMmEzMCAxMDA2NDQKLS0tLSBhL2luc3RhbGwvY2VydG1vbmdlci9kb2d0 YWctaXBhLWNhLXJlbmV3LWFnZW50LXN1Ym1pdC5pbgotKysrIGIvaW5zdGFsbC9jZXJ0bW9uZ2Vy L2RvZ3RhZy1pcGEtY2EtcmVuZXctYWdlbnQtc3VibWl0LmluCi1AQCAtNDc1LDcgKzQ3NSw3IEBA IGRlZiByZW5ld19jYV9jZXJ0KHJldXNlX2V4aXN0aW5nLCBmb3JjZV9zZWxmX3NpZ25lZCwgKipr d2FyZ3MpOgotICAgICAgICAgaWYgcHJvZmlsZSBpcyBub3QgTm9uZToKLSAgICAgICAgICAgICBv cy5lbnZpcm9uWydDRVJUTU9OR0VSX0NBX1BST0ZJTEUnXSA9IHByb2ZpbGUKLSAgICAgICAgIGVs c2U6Ci0tICAgICAgICAgICAgZGVsIG9zLmVudmlyb25bJ0NFUlRNT05HRVJfQ0FfUFJPRklMRSdd Ci0rICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ0NFUlRNT05HRVJfQ0FfUFJPRklMRScsIE5v bmUpCi0gCi0gICAgIGlmIHJlc3VsdFswXSA9PSBXQUlUOgotICAgICAgICAgcmV0dXJuIChyZXN1 bHRbMF0sICclczolcycgJSAoc3RhdGUsIHJlc3VsdFsxXSkpCi1kaWZmIC0tZ2l0IGEvaXBhY2xp ZW50L2luc3RhbGwvaXBhX2NlcnR1cGRhdGUucHkgYi9pcGFjbGllbnQvaW5zdGFsbC9pcGFfY2Vy dHVwZGF0ZS5weQotaW5kZXggYTI0OTdjNzAzLi5iYzcwMjU0ZTIgMTAwNjQ0Ci0tLS0gYS9pcGFj bGllbnQvaW5zdGFsbC9pcGFfY2VydHVwZGF0ZS5weQotKysrIGIvaXBhY2xpZW50L2luc3RhbGwv aXBhX2NlcnR1cGRhdGUucHkKLUBAIC03MCw3ICs3MCw3IEBAIGNsYXNzIENlcnRVcGRhdGUoYWRt aW50b29sLkFkbWluVG9vbCk6Ci0gICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgIGZpbmFsbHk6 Ci0gICAgICAgICAgICAgaWYgb2xkX2tyYjVjY25hbWUgaXMgTm9uZToKLS0gICAgICAgICAgICAg ICAgZGVsIG9zLmVudmlyb25bJ0tSQjVDQ05BTUUnXQotKyAgICAgICAgICAgICAgICBvcy5lbnZp cm9uLnBvcCgnS1JCNUNDTkFNRScsIE5vbmUpCi0gICAgICAgICAgICAgZWxzZToKLSAgICAgICAg ICAgICAgICAgb3MuZW52aXJvblsnS1JCNUNDTkFNRSddID0gb2xkX2tyYjVjY25hbWUKLSAKLWRp ZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFkZS5weSBiL2lwYXNlcnZl ci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5Ci1pbmRleCBkNWM0NjZlZTIuLmZiNzFkZjgxYSAx MDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5Ci0rKysgYi9p cGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFkZS5weQotQEAgLTIwNjEsNyArMjA2MSw3IEBA IGRlZiBlbXB0eV9jY2FjaGUoKToKLSAgICAgICAgIGlmIG9sZF9wYXRoOgotICAgICAgICAgICAg IG9zLmVudmlyb25bJ0tSQjVDQ05BTUUnXSA9IG9sZF9wYXRoCi0gICAgICAgICBlbHNlOgotLSAg ICAgICAgICAgIGRlbCBvcy5lbnZpcm9uWydLUkI1Q0NOQU1FJ10KLSsgICAgICAgICAgICBvcy5l bnZpcm9uLnBvcCgnS1JCNUNDTkFNRScsIE5vbmUpCi0gICAgICAgICBzaHV0aWwucm10cmVlKGtw YXRoX2RpcikKLSAKLSAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1 MDkucHkgYi9pcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1MDkucHkKLWluZGV4IDhhYjJlYThj My4uNzQ3NjEyOTZlIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pcGFsaWIvdGVzdF94NTA5 LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1MDkucHkKLUBAIC0yNzUsNyAr Mjc1LDcgQEAgY2xhc3MgdGVzdF94NTA5OgotICAgICAgICAgaWYgdHo6Ci0gICAgICAgICAgICAg b3MuZW52aXJvblsnVFonXSA9IHR6Ci0gICAgICAgICBlbHNlOgotLSAgICAgICAgICAgIGRlbCBv cy5lbnZpcm9uWydUWiddCi0rICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1RaJywgTm9uZSkK LSAgICAgICAgICMgZW5zdXJlIHRoZSB0aW1lem9uZSBkb2Vzbid0IG1lc3Mgd2l0aCBub3RfYmVm b3JlIGFuZCBub3RfYWZ0ZXIKLSAgICAgICAgIGFzc2VydCBjZXJ0Lm5vdF92YWxpZF9iZWZvcmUg PT0gbm90X2JlZm9yZQotICAgICAgICAgYXNzZXJ0IGNlcnQubm90X3ZhbGlkX2FmdGVyID09IG5v dF9hZnRlcgotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaXBhc2VydmVyL3Rlc3RfaXBhcDEx aGVscGVyLnB5IGIvaXBhdGVzdHMvdGVzdF9pcGFzZXJ2ZXIvdGVzdF9pcGFwMTFoZWxwZXIucHkK LWluZGV4IDVlNzA1MzQ0Mi4uMWFkODI3YTAzIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9p cGFzZXJ2ZXIvdGVzdF9pcGFwMTFoZWxwZXIucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaXBhc2Vy dmVyL3Rlc3RfaXBhcDExaGVscGVyLnB5Ci1AQCAtODQsNyArODQsNyBAQCBkZWYgcDExKHJlcXVl c3QsIHRva2VuX3BhdGgpOgotICAgICAgICAgICAgICAgICBbU09GVEhTTTJfVVRJTCwgJy0tZGVs ZXRlLXRva2VuJywgJy0tbGFiZWwnLCAndGVzdCddLAotICAgICAgICAgICAgICAgICBjd2Q9dG9r ZW5fcGF0aAotICAgICAgICAgICAgICkKLS0gICAgICAgICAgICBkZWwgb3MuZW52aXJvblsnU09G VEhTTTJfQ09ORiddCi0rICAgICAgICAgICAgb3MuZW52aXJvbi5wb3AoJ1NPRlRIU00yX0NPTkYn LCBOb25lKQotIAotICAgICByZXF1ZXN0LmFkZGZpbmFsaXplcihmaW4pCi0gCi0tLSAKLTIuNDku MAotCi0KLUZyb20gZjk3OGZhMDVlM2VkOWQ0YWQ5ZDIwNDkzYzA1Yzc3ZmI5YjQ5NzZhNyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDE1IE9jdCAyMDI0IDE3OjA0OjU1ICswMjAwCi1TdWJqZWN0 OiBbUEFUQ0ggMDMxLzExNl0gaXBhLW1pZ3JhdGUgbWFuIHBhZ2U6IGZpeCB0eXBvcyBhbmQgZXJy b3JzCi0KLWlwYS1taWdyYXRlIG1hbiBwYWdlIG1lbnRpb25zIG5vbi1leGlzdGluZyBvcHRpb24g LS1ob3N0bmFtZS4KLUZpeCB0aGUgU1lOT1BTSVMgYW5kIHZhcmlvdXMgdHlwb3MuCi0KLUZpeGVz OiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2ODEKLQotU2lnbmVkLW9mZi1ieTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBNYXJr IFJleW5vbGRzIDxtcmV5bm9sZHNAcmVkaGF0LmNvbT4KLS0tLQotIGluc3RhbGwvdG9vbHMvbWFu L2lwYS1taWdyYXRlLjEgfCAzOCArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KLSAx IGZpbGUgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtbWlncmF0ZS4xIGIvaW5zdGFsbC90b29scy9t YW4vaXBhLW1pZ3JhdGUuMQotaW5kZXggNDdhZTQ3ZWE0Li41MTA2ZjRmMGYgMTAwNjQ0Ci0tLS0g YS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtbWlncmF0ZS4xCi0rKysgYi9pbnN0YWxsL3Rvb2xzL21h bi9pcGEtbWlncmF0ZS4xCi1AQCAtNSwxMSArNSwxMSBAQAotIC5TSCAiTkFNRSIKLSBpcGFcLW1p Z3JhdGUgXC0gTWlncmF0ZSBhbiBJUEEgc2VydmVyIGZyb20gb25lIG1hY2hpbmUgdG8gYW5vdGhl cgotIC5TSCAiU1lOT1BTSVMiCi0taXBhXC1taWdyYXRlCi0rXGZCaXBhXC1taWdyYXRlXGZSIFtP UFRJT05TXSBcZkJwcm9kXC1tb2RlXGZSfFxmQnN0YWdlXC1tb2RlXGZSIFxmSWhvc3RuYW1lXGZS Ci0gLlNIICJERVNDUklQVElPTiIKLSAKLSBVc2UgdGhlIFxmSWlwYS1taWdyYXRlXGZSIGNvbW1h bmQgdG8gbWlncmF0ZSBvbmUKLS1JUEEgc2VydmVyIHRvIGFuIGV4aXN0aW5nIGxvY2FsIElQQSBz ZXJ2ZXIgaW5zdGFsbGF0aW9uLgotK0lQQSBzZXJ2ZXIgXGZJaG9zdG5hbWVcZlIgdG8gYW4gZXhp c3RpbmcgbG9jYWwgSVBBIHNlcnZlciBpbnN0YWxsYXRpb24uCi0gCi0gTWlncmF0ZSBJUEEgc2No ZW1hLCBjb25maWd1cmF0aW9uLCBhbmQgZGF0YWJhc2UgdG8gYSBsb2NhbCBJUEEgc2VydmVyLiAg VGhpcwotIG1pZ3JhdGlvbiBjYW4gYmUgZG9uZSBvbmxpbmUsIHdoZXJlIHRoZSB0b29sIHdpbGwg cXVlcnkgdGhlIHJlbW90ZSBzZXJ2ZXIuIE9yLAotQEAgLTE5LDcgKzE5LDYgQEAgYW5kIHRoZW4g dXNlIGFuIGV4cG9ydGVkIExESUYgZmlsZSBmb3IgdGhlIGRhdGFiYXNlIG1pZ3JhdGlvbiBwb3J0 aW9uICh0aGlzCi0gbWlnaHQgYmUgbW9yZSB1c2VmdWwgZm9yIHZlcnkgbGFyZ2UgZGF0YWJhc2Vz IGFzIHlvdSBkb24ndCBuZWVkIHRvIHdvcnJ5IGFib3V0Ci0gbmV0d29yayBpbnRlcnJ1cHRpb25z KQotIAotLS5TSCBQT1NJVElPTkFMIEFSR1VNRU5UUwotIC5UUAotIFxmQnByb2RcLW1vZGVcZlIK LSBJbiB0aGlzIG1vZGUgZXZlcnl0aGluZyB3aWxsIGJlIG1pZ3JhdGVkIGluY2x1ZGluZyB0aGUg Y3VycmVudCB1c2VyIFNJRHMgYW5kCi1AQCAtMjgsMTMgKzI3LDEwIEBAIEROQSByYW5nZXMKLSBc ZkJzdGFnZVwtbW9kZVxmUgotIEluIHRoaXMgbW9kZSwgU0lEcyAmIEROQSByYW5nZXMgYXJlIG5v dCBtaWdyYXRlZCwgYW5kIEROQSBhdHRyaWJ1dGVzIGFyZSByZXNldAotIAotLS5TSCAiQ09NTUFO RFMiCi0rLlNIICJPUFRJT05TIgotIC5UUAotIFxmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIK LS1Vc2UgdmVyYm9zZSBvdXRwdXQgd2hpbGUgcnVubmluZyB0aGUgbWlncmF0aW9uIHRvb2wuCi0t LlRQCi0tXGZCXC1lXGZSLCBcZkJcLVwtaG9zdG5hbWU9SE9TVE5BTUVcZlIKLS1UaGUgaG9zdCBu YW1lIG9mIHRoZSByZW1vdGUgSVBBIHNlcnZlciB0aGF0IGlzIGJlaW5nIG1pZ3JhdGVkIGZyb20u Ci0rVXNlIHZlcmJvc2Ugb3V0cHV0IHdoaWxlIHJ1bm5pbmcgdGhlIG1pZ3JhdGlvbiB0b29sCi0g LlRQCi0gXGZCXC1EXGZSLCBcZkJcLVwtYmluZFwtZG49QklORF9ETlxmUgotIFRoZSBCaW5kIERO IChEaXN0aW5ndWlzaGVkIE5hbWUpIG9yIGFuIExEQVAgZW50cnkgdG8gYmluZCB0byB0aGUgcmVt b3RlIElQQSBzZXJ2ZXIgd2l0aC4KLUBAIC00MywxMCArMzksMTAgQEAgYWNjZXNzIHRvIHJlYWQg dGhlIHVzZXJQYXNzd29yZCBhdHRyaWJ1dGUuICBJZiBvbW1pdHRlZCB0aGUgZGVmYXVsdCBpcyAi Y249ZGlyZWMKLSAuVFAKLSBcZkJcLXdcZlIsIFxmQlwtXC1iaW5kXC1wdz1QQVNTV09SRFxmUgot IFRoZSBwYXNzd29yZCBmb3IgdGhlIEJpbmQgRE4gdGhhdCBpcyBhdXRoZW50aWNhdGluZyBhZ2Fp bnN0IHRoZSByZW1vdGUgSVBBIHNlcnZlci4gIElmCi0tYSBwYXNzd29yZCBpcyBub3QgcHJvdmlk ZWQgdGhlbiB0aGUgdG9vbCB3aXRoIHByb21wdCBmb3IgdGhlIHBhc3N3b3JkIGlmIG5lZWRlZC4K LSthIHBhc3N3b3JkIGlzIG5vdCBwcm92aWRlZCB0aGVuIHRoZSB0b29sIHdpdGggcHJvbXB0IGZv ciB0aGUgcGFzc3dvcmQgaWYgbmVlZGVkCi0gLlRQCi0tXGZCXC1KdXN0XGZSLCBcZkJcLVwtYmlu ZFwtcHdcLWZpbGU9RklMRV9QQVRIXGZSCi0tUGF0aCB0byBhIGZpbGUgY29udGFpbmluZyB0aGUg cGFzc3dvcmQgZm9yIHRoZSBCaW5kIEROLgotK1xmQlwtalxmUiwgXGZCXC1cLWJpbmRcLXB3XC1m aWxlPUZJTEVfUEFUSFxmUgotK1BhdGggdG8gYSBmaWxlIGNvbnRhaW5pbmcgdGhlIHBhc3N3b3Jk IGZvciB0aGUgQmluZCBETgotIC5UUAotIFxmQlwtWlxmUiwgXGZCXC1cLWNhY2VydGZpbGU9RklM RV9QQVRIXGZSCi0gUGF0aCB0byBhIGZpbGUgY29udGFpbmluZyBhIENBIENlcnRpZmljYXRlIHRo YXQgdGhlIHJlbW90ZSBzZXJ2ZXIgdHJ1c3RzCi1AQCAtNTUsMjMgKzUxLDIzIEBAIFBhdGggdG8g YSBmaWxlIGNvbnRhaW5pbmcgYSBDQSBDZXJ0aWZpY2F0ZSB0aGF0IHRoZSByZW1vdGUgc2VydmVy IHRydXN0cwotIFBhdGggdG8gYSBmaWxlIGNvbnRhaW5pbmcgdGhlIG1pZ3JhdGlvbiBsb2cuICBC eSBkZWZhdWx0IHRoZSB0b29sIHdpbGwgdXNlIFxmSS92YXIvbG9nL2lwYS1taWdyYXRlLmxvZ1xm UgotIC5UUAotIFxmQlwteFxmUiwgXGZCXC1cLWRyeXJ1blxmUgotLUdvIHRocm91Z2ggdGhlIG1p Z3JhdGlvbiBwcm9jZXNzIGJ1dCBkbyBub3Qgd3JpdGUgYW5kIGRhdGEgdG8gdGhlIG5ldyBJUEEg c2VydmVyLgotK0dvIHRocm91Z2ggdGhlIG1pZ3JhdGlvbiBwcm9jZXNzIGJ1dCBkbyBub3Qgd3Jp dGUgYW55IGRhdGEgdG8gdGhlIG5ldyBJUEEgc2VydmVyCi0gLlRQCi0gXGZCXC1vXGZSLCBcZkJc LVwtZHJ5cnVuXC1yZWNvcmQ9RklMRV9QQVRIXGZSCi0gR28gdGhyb3VnaCB0aGUgbWlncmF0aW9u IHByb2Nlc3MgYnV0IGRvIG5vdCB3cml0ZSBhbnkgZGF0YSB0byB0aGUgbmV3IElQQSBzZXJ2ZXIu IEhvd2V2ZXIsIHdyaXRlIHRoZQotLW1pZ3JhdGlvbiBvcGVyYXRpb25zIHRvIGFuIExESUYgZmls ZSB3aGljaCBjYW4gYmUgYXBwbGllZCBsYXRlciBvciByZXVzZWQgZm9yIG11bHRpcGxlIG1pZ3Jh dGlvbnMuCi0rbWlncmF0aW9uIG9wZXJhdGlvbnMgdG8gYW4gTERJRiBmaWxlIHdoaWNoIGNhbiBi ZSBhcHBsaWVkIGxhdGVyIG9yIHJldXNlZCBmb3IgbXVsdGlwbGUgbWlncmF0aW9ucwotIC5UUAot IFxmQlwtclxmUiwgXGZCXC1cLXJlc2V0XC1yYW5nZVxmUgotIFJlc2V0IHRoZSBJRCByYW5nZSBm b3IgbWlncmF0ZWQgdXNlcnMvZ3JvdXBzLiBJbiAic3RhZ2UtbW9kZSIgdGhpcyBpcyBkb25lIGF1 dG9tYXRpY2FsbHkKLSAuVFAKLSBcZkJcLUZcZlIsIFxmQlwtXC1mb3JjZVxmUgotLUlnbm9yZSBh bnkgZXJyb3JzIGFuZCBjb250aW51ZSB0byBwcm9jZWVkIHdpdGggbWlncmF0aW9uIGVmZm9ydC4K LStJZ25vcmUgYW55IGVycm9ycyBhbmQgY29udGludWUgdG8gcHJvY2VlZCB3aXRoIG1pZ3JhdGlv biBlZmZvcnQKLSAuVFAKLSBcZkJcLXFcZlIsIFxmQlwtXC1xdWlldFxmUgotLU9ubHkgbG9nIGVy cm9ycyBkdXJpbmcgdGhlIG1pZ3JhdGlvbiBwcm9jZXNzLgotK09ubHkgbG9nIGVycm9ycyBkdXJp bmcgdGhlIG1pZ3JhdGlvbiBwcm9jZXNzCi0gLlRQCi0gXGZCXC1CXGZSLCBcZkJcLVwtbWlncmF0 ZVwtZG5zXGZSCi0tTWlncmF0ZSB0aHIgRE5TIHJlY29yZHMKLStNaWdyYXRlIHRoZSBETlMgcmVj b3JkcwotIC5UUAotIFxmQlwtU1xmUiwgXGZCXC1cLXNraXBcLXNjaGVtYVxmUgotIERvIG5vdCBt aWdyYXRlIHRoZSBkYXRhYmFzZSBzY2hlbWEKLUBAIC04MCwyMSArNzYsMjEgQEAgRG8gbm90IG1p Z3JhdGUgdGhlIGRhdGFiYXNlIHNjaGVtYQotIERvIG5vdCBtaWdyYXRlIHRoZSBkYXRhYmFzZSBj b25maWd1cmF0aW9uIChkc2UubGRpZi9jbj1jb25maWcpCi0gLlRQCi0gXGZCXC1PXGZSLCBcZkJc LVwtc2NoZW1hXC1vdmVyd3JpdGVcZlIKLS1PdmVyd3JpdGUgZXhpc3Rpbmcgc2NoZW1hIGRlZmlu aXRpb25zLiAgQnkgZGVmYXVsdCBkdXBsaWNhdGUgc2NoZW1hIGlzIHNraXBwZWQuCi0rT3Zlcndy aXRlIGV4aXN0aW5nIHNjaGVtYSBkZWZpbml0aW9ucy4gIEJ5IGRlZmF1bHQgZHVwbGljYXRlIHNj aGVtYSBpcyBza2lwcGVkCi0gLlRQCi0gXGZCXC1zXGZSLCBcZkJcLVwtc3VidHJlZT1ETlxmUgot IFNwZWNpZmllcyBhIGN1c3RvbSBkYXRhYmFzZSBzdWJ0cmVlIHRoYXQgc2hvdWxkIGJlIGluY2x1 ZGVkIGluIHRoZSBtaWdyYXRpb24uCi0gVGhpcyBpcyBvbmx5IG5lZWRlZCBpZiBub24tZGVmYXVs dCBzdWJ0cmVlcy9icmFuY2hlcyB3ZXJlIGFkZGVkIHRvIHRoZSBkYXRhYmFzZQotLW91dHNpZGUg b2YgSVBBLgotK291dHNpZGUgb2YgSVBBCi0gLlRQCi0gXGZCXC1mXGZSLCBcZkJcLVwtZGJcLWxk aWY9RklMRV9QQVRIXGZSCi0tTERJRiBmaWxlIGNvbnRhaW5pbmcgdGhlIGVudGlyZSBiYWNrZW5k LiBJZiBvbWl0dGVkIHRoZSB0b29sIHdpbGwgcXVlcnkgdGhlIHJlbW90ZSBJUEEgc2VydmVyLgot K0xESUYgZmlsZSBjb250YWluaW5nIHRoZSBlbnRpcmUgYmFja2VuZC4gSWYgb21pdHRlZCB0aGUg dG9vbCB3aWxsIHF1ZXJ5IHRoZSByZW1vdGUgSVBBIHNlcnZlcgotIC5UUAotIFxmQlwtbVxmUiwg XGZCXC1cLXNjaGVtYVwtbGRpZj1GSUxFX1BBVEhcZlIKLS1MRElGIGZpbGUgY29udGFpbmluZyB0 aGUgc2NoZW1hLiBJZiBvbWl0dGVkIHRoZSB0b29sIHdpbGwgcXVlcnkgdGhlIHJlbW90ZSBJUEEg c2VydmVyLgotK0xESUYgZmlsZSBjb250YWluaW5nIHRoZSBzY2hlbWEuIElmIG9taXR0ZWQgdGhl IHRvb2wgd2lsbCBxdWVyeSB0aGUgcmVtb3RlIElQQSBzZXJ2ZXIKLSAuVFAKLSBcZkJcLWdcZlIs IFxmQlwtXC1jb25maWdcLWxkaWY9RklMRV9QQVRIXGZSCi0tTERJRiBmaWxlIGNvbnRhaW5pbmcg dGhlIGVudGlyZSAiY249Y29uZmlnIiBESVQuIElmIG9taXR0ZWQgdGhlIHRvb2wgd2lsbCBxdWVy eSB0aGUgcmVtb3RlIElQQSBzZXJ2ZXIuCi0rTERJRiBmaWxlIGNvbnRhaW5pbmcgdGhlIGVudGly ZSAiY249Y29uZmlnIiBESVQuIElmIG9taXR0ZWQgdGhlIHRvb2wgd2lsbCBxdWVyeSB0aGUgcmVt b3RlIElQQSBzZXJ2ZXIKLSAuVFAKLSBcZkJcLW5cZlIsIFxmQlwtXC1ub1wtcHJvbXB0XGZSCi0g RG8gbm90IHByb21wdCBmb3IgY29uZmlybWF0aW9uIGJlZm9yZSBzdGFydGluZyBtaWdyYXRpb24u ICBVc2UgYXQgeW91ciBvd24gcmlzayEKLS0tIAotMi40OS4wCi0KLQotRnJvbSA3ZjRlN2UxZDZh MmFlOWQwNWEyZGZjZjYyMGY0ZGYwN2QwOWQ5ZDJiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDMgT2N0 IDIwMjQgMTg6NDU6MzEgKzA1MzAKLVN1YmplY3Q6IFtQQVRDSCAwMzIvMTE2XSBpcGF0ZXN0czog VGVzdCBmb3IgaXBhIGhiYWMgcnVsZSBkdXBsaWNhdGlvbgotCi1UaGlzIHRlc3QgY2hlY2tzIHRo YXQgaXBhLW1pZ3JhdGUgaXMgbm90IGNyZWF0aW5nIGR1cGxpY2F0ZSBkZWZhdWx0IGhiYWMgcnVs ZXMKLWZvciBhbGxvd19hbGwgYW5kIGFsbG93X3N5c3RlbWQtdXNlciBydWxlcy4KLQotUmVsYXRl ZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjQwCi0KLVNpZ25lZC1vZmYtYnk6 IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5j LVJlbmF1ZCA8ZnJlbmF1ZEByZWRoYXQuY29tPgotLS0tCi0gLi4uL3Rlc3RfaXBhX2lwYV9taWdy YXRpb24ucHkgICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKwotIDEgZmls ZSBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24ucHkgYi9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24ucHkKLWluZGV4IDI4ODE2NWU4YS4uNzBj MjY4OTUxIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9p cGFfbWlncmF0aW9uLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBh X2lwYV9taWdyYXRpb24ucHkKLUBAIC05LDYgKzksNyBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFic29sdXRlX2ltcG9ydAotIGZyb20gaXBhdGVzdHMudGVzdF9pbnRlZ3JhdGlvbi5iYXNlIGlt cG9ydCBJbnRlZ3JhdGlvblRlc3QKLSBmcm9tIGlwYXRlc3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRp b24gaW1wb3J0IHRhc2tzCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0aHMKLStm cm9tIGNvbGxlY3Rpb25zIGltcG9ydCBDb3VudGVyCi0gCi0gaW1wb3J0IHB5dGVzdAotIGltcG9y dCB0ZXh0d3JhcAotQEAgLTkyMCwzICs5MjEsMjggQEAgY2xhc3MgVGVzdElQQU1pZ3JhdGVTY2Vu YXJpbzEoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByZXN1 bHQucmV0dXJuY29kZSA9PSAxCi0gICAgICAgICBhc3NlcnQgRVJSX01TRyBpbiByZXN1bHQuc3Rk ZXJyX3RleHQKLSsKLSsgICAgZGVmIHRlc3RfaXBhX2hiYWNfcnVsZV9kdXBsaWNhdGlvbihzZWxm KToKLSsgICAgICAgICIiIgotKyAgICAgICAgVGhpcyB0ZXN0Y2FzZSBjaGVja3MgdGhhdCBkZWZh dWx0IGhiYWMgcnVsZXMKLSsgICAgICAgIGFyZSBub3QgZHVwbGljYXRlZCBvbiB0aGUgbG9jYWwg c2VydmVyIHdoZW4KLSsgICAgICAgIGlwYS1taWdyYXRlIGNvbW1hbmQgaXMgcnVuLgotKyAgICAg ICAgIiIiCi0rICAgICAgICBydW5fbWlncmF0ZSgKLSsgICAgICAgICAgICBzZWxmLnJlcGxpY2Fz WzBdLAotKyAgICAgICAgICAgICJwcm9kLW1vZGUiLAotKyAgICAgICAgICAgIHNlbGYubWFzdGVy Lmhvc3RuYW1lLAotKyAgICAgICAgICAgICJjbj1EaXJlY3RvcnkgTWFuYWdlciIsCi0rICAgICAg ICAgICAgc2VsZi5tYXN0ZXIuY29uZmlnLmFkbWluX3Bhc3N3b3JkLAotKyAgICAgICAgICAgIGV4 dHJhX2FyZ3M9WyctbiddCi0rICAgICAgICApCi0rICAgICAgICByZXN1bHQgPSBzZWxmLnJlcGxp Y2FzWzBdLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBhJywgJ2hiYWNydWxlLWZpbmQn XQotKyAgICAgICAgKQotKyAgICAgICAgbGluZXMgPSByZXN1bHQuc3Rkb3V0X3RleHQuc3BsaXRs aW5lcygpCi0rICAgICAgICBsaW5lID0gW10KLSsgICAgICAgIGZvciBpIGluIGxpbmVzOgotKyAg ICAgICAgICAgIGxpbmUuYXBwZW5kKGkuc3RyaXAoKSkKLSsgICAgICAgIGNvdW50ID0gQ291bnRl cihsaW5lKQotKyAgICAgICAgYXNzZXJ0IGNvdW50LmdldCgnUnVsZSBuYW1lOiBhbGxvd19hbGwn KSA8IDIKLSsgICAgICAgIGFzc2VydCBjb3VudC5nZXQoJ1J1bGUgbmFtZTogYWxsb3dfc3lzdGVt ZC11c2VyJykgPCAyCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMTQyZjUyZmM5ODFmZTlmMWQ2OTNi NzlhN2I0OTUwNmFmMmU5ODgyOSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1vaGFt bWFkIFJpendhbiA8bXl1c3VmQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDE5IEF1ZyAyMDI0IDE2 OjA4OjUzICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMDMzLzExNl0gaXBhdGVzdHM6IHJlZmFjdG9y IHBhc3N3b3JkIGZpbGUgaGFuZGxpbmcgaW4KLSBUZXN0SFNNSW5zdGFsbAotCi1XaGVuIHRva2Vu IGFuZCBhc3NvY2lhdGVkIGNlcnRzIGFyZSBub3QgYmVpbmcgY2xlYW5lZAotdXAgcHJvcGVybHks IHRoZSBzdWJzZXF1ZW50IGluc3RhbGxhdGlvbiBmYWlscy4gSGVuY2UKLVBhc3N3b3JkIGZpbGUg cmVsYXRlZCBzY2VuYXJpb3MgbW92ZWQgb3V0IHRvIG5ldyB0ZXN0IGNsYXNzCi1zbyB0aGF0IGl0 IGhhdmUgZnJlc2ggaW5zdGFsbGF0aW9uLgotCi1TaWduZWQtb2ZmLWJ5OiBNb2hhbW1hZCBSaXp3 YW4gPG15dXN1ZkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3Jp dHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJl bmF1ZEByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkBy ZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJlbmF1ZEBy ZWRoYXQuY29tPgotLS0tCi0gLi4uL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICAgICAg ICAgICAgIHwgMTIgKysrKysrKysKLSAuLi4vbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51 eC55YW1sICAgICAgfCAxMyArKysrKysrKwotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVz dF9oc20ucHkgICAgICAgICB8IDMwICsrKysrKysrKystLS0tLS0tLS0KLSAzIGZpbGVzIGNoYW5n ZWQsIDQxIGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBh dGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBh dGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRl eCA2ZDE4ZTcwOGYuLjA3ZTJhODM5OSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9k ZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMTk1MCw2ICsxOTUw LDE4IEBAIGpvYnM6Ci0gICAgICAgICB0aW1lb3V0OiA2MzAwCi0gICAgICAgICB0b3BvbG9neTog Km1hc3Rlcl8zcmVwbF8xY2xpZW50Ci0gCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3Rf aHNtX1Rlc3RIU01JbnN0YWxsUGFzc3dvcmRGaWxlOgotKyAgICByZXF1aXJlczogW2ZlZG9yYS1s YXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiA1MAotKyAgICBqb2I6Ci0rICAg ICAgY2xhc3M6IFJ1blB5dGVzdAotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6ICd7 ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgdGVzdF9zdWl0ZTog dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2hzbS5weTo6VGVzdEhTTUluc3RhbGxQYXNzd29yZEZpbGUK LSsgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBhLTQtMTItbGF0ZXN0Ci0rICAgICAgICB0aW1lb3V0 OiA2MzAwCi0rICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8xcmVwbAotKwotICAgZmVkb3JhLWxh dGVzdC1pcGEtNC0xMi90ZXN0X2hzbV9UZXN0SFNNSW5zdGFsbEFEVHJ1c3RCYXNlOgotICAgICBy ZXF1aXJlczogW2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0gICAgIHByaW9yaXR5OiA1 MAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0x Ml9sYXRlc3Rfc2VsaW51eC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5 X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLWluZGV4IDUyNjg2ZGY5Ny4uMTEwNDZiZTEz IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEy X2xhdGVzdF9zZWxpbnV4LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmln aHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1AQCAtMjEwNSw2ICsyMTA1LDE5IEBA IGpvYnM6Ci0gICAgICAgICB0aW1lb3V0OiA2MzAwCi0gICAgICAgICB0b3BvbG9neTogKm1hc3Rl cl8zcmVwbF8xY2xpZW50Ci0gCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3RfaHNtX1Rl c3RIU01JbnN0YWxsUGFzc3dvcmRGaWxlOgotKyAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRlc3Qt aXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiA1MAotKyAgICBqb2I6Ci0rICAgICAgY2xh c3M6IFJ1blB5dGVzdAotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6ICd7ZmVkb3Jh LWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgc2VsaW51eF9lbmZvcmNpbmc6 IFRydWUKLSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9oc20ucHk6 OlRlc3RIU01JbnN0YWxsUGFzc3dvcmRGaWxlCi0rICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00 LTEyLWxhdGVzdAotKyAgICAgICAgdGltZW91dDogNjMwMAotKyAgICAgICAgdG9wb2xvZ3k6ICpt YXN0ZXJfMXJlcGwKLSsKLSAgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9oc21fVGVzdEhT TUluc3RhbGxBRFRydXN0QmFzZToKLSAgICAgcmVxdWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00 LTEyL2J1aWxkXQotICAgICBwcmlvcml0eTogNTAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaHNtLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2hzbS5weQotaW5kZXggMzc0ZjVjMjVmLi40Mjg5NWZjZDYgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0 cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaHNtLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfaHNtLnB5Ci1AQCAtMzEyLDI0ICszMTIsMjYgQEAgY2xhc3MgVGVzdEhTTUlu c3RhbGwoQmFzZUhTTVRlc3QpOgotICAgICAgICAgYXNzZXJ0IHJldHVybmNvZGUgPT0gMAotICAg ICAgICAgYXNzZXJ0IG91dHB1dCA9PSAiTm8gaXNzdWVzIGZvdW5kLiIKLSAKLS0gICAgZGVmIHRl c3RfaHNtX2luc3RhbGxfc2VydmVyX3Bhc3N3b3JkX2ZpbGUoc2VsZik6Ci0tICAgICAgICBjaGVj a192ZXJzaW9uKHNlbGYubWFzdGVyKQotLSAgICAgICAgIyBjbGVhbnVwIGJlZm9yZSBmcmVzaCBp bnN0YWxsIHdpdGggcGFzc3dvcmQgZmlsZQotLSAgICAgICAgZm9yIGNsaWVudCBpbiBzZWxmLmNs aWVudHM6Ci0tICAgICAgICAgICAgdGFza3MudW5pbnN0YWxsX2NsaWVudChjbGllbnQpCi0gCi0t ICAgICAgICBmb3IgcmVwbGljYSBpbiBzZWxmLnJlcGxpY2FzOgotLSAgICAgICAgICAgIHRhc2tz LnVuaW5zdGFsbF9tYXN0ZXIocmVwbGljYSkKLStjbGFzcyBUZXN0SFNNSW5zdGFsbFBhc3N3b3Jk RmlsZShCYXNlSFNNVGVzdCk6Ci0gCi0tICAgICAgICB0YXNrcy51bmluc3RhbGxfbWFzdGVyKHNl bGYubWFzdGVyKQotKyAgICBudW1fcmVwbGljYXMgPSAxCi0gCi0tICAgICAgICBkZWxldGVfaHNt X3Rva2VuKFtzZWxmLm1hc3Rlcl0gKyBzZWxmLnJlcGxpY2FzLCBzZWxmLnRva2VuX25hbWUpCi0t ICAgICAgICBzZWxmLnRva2VuX25hbWUsIHNlbGYudG9rZW5fcGFzc3dvcmQgPSBnZXRfaHNtX3Rv a2VuKHNlbGYubWFzdGVyKQotLSAgICAgICAgc2VsZi5tYXN0ZXIucHV0X2ZpbGVfY29udGVudHMo c2VsZi50b2tlbl9wYXNzd29yZF9maWxlLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi50b2tlbl9wYXNzd29yZCkKLS0gICAgICAgIHNlbGYucmVwbGljYXNbMF0u cHV0X2ZpbGVfY29udGVudHMoc2VsZi50b2tlbl9wYXNzd29yZF9maWxlLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRva2VuX3Bhc3N3b3JkKQotKyAg ICBAY2xhc3NtZXRob2QKLSsgICAgZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICBjaGVj a192ZXJzaW9uKGNscy5tYXN0ZXIpCi0rICAgICAgICAjIEVuYWJsZSBwa2l1c2VyIHRvIHJlYWQg c29mdGhzbSB0b2tlbnMKLSsgICAgICAgIGNscy5tYXN0ZXIucnVuX2NvbW1hbmQoWyd1c2VybW9k JywgJ3BraXVzZXInLCAnLWEnLCAnLUcnLCAnb2RzJ10pCi0rICAgICAgICBjbHMudG9rZW5fbmFt ZSwgY2xzLnRva2VuX3Bhc3N3b3JkID0gZ2V0X2hzbV90b2tlbihjbHMubWFzdGVyKQotKyAgICAg ICAgY2xzLm1hc3Rlci5wdXRfZmlsZV9jb250ZW50cygKLSsgICAgICAgICAgICBjbHMudG9rZW5f cGFzc3dvcmRfZmlsZSwgY2xzLnRva2VuX3Bhc3N3b3JkCi0rICAgICAgICApCi0rICAgICAgICBj bHMucmVwbGljYXNbMF0ucHV0X2ZpbGVfY29udGVudHMoCi0rICAgICAgICAgICAgY2xzLnRva2Vu X3Bhc3N3b3JkX2ZpbGUsIGNscy50b2tlbl9wYXNzd29yZAotKyAgICAgICAgKQotIAotKyAgICBk ZWYgdGVzdF9oc21faW5zdGFsbF9zZXJ2ZXJfcGFzc3dvcmRfZmlsZShzZWxmKToKLSsgICAgICAg IGNoZWNrX3ZlcnNpb24oc2VsZi5tYXN0ZXIpCi0gICAgICAgICB0YXNrcy5pbnN0YWxsX21hc3Rl cigKLSAgICAgICAgICAgICBzZWxmLm1hc3Rlciwgc2V0dXBfZG5zPXNlbGYubWFzdGVyX3dpdGhf ZG5zLAotICAgICAgICAgICAgIHNldHVwX2tyYT1zZWxmLm1hc3Rlcl93aXRoX2tyYSwKLS0tIAot Mi40OS4wCi0KLQotRnJvbSA2YWMxMWFlMDAzNzQwZmFmMTlmM2M3NWJmNTQyZWM0NGY3MTcxMTRm IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFkaHVyaSBVcGFkaHllIDxtdXBhZGh5 ZUByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyMyBKdWwgMjAyNCAxODoxNDozNiArMDUzMAotU3Vi amVjdDogW1BBVENIIDAzNC8xMTZdIGlwYXRlc3RzOiAyRkEgdGVzdCBjYXNlcwotCi1BZGRlZCBm b2xsb3dpbmc6Ci0KLUFkZGVkICdzc2hfMmZhX3dpdGhfY21kJyBtZXRob2QgZm9yIGF1dGhlbnRp Y2F0aW9uLAotYXMgZm9yICdcbicgd2l0aCBwYXJhbWlrbyBkaWQgbm90IHdvcmsuIEluIGEgdGVz dCBjYXNlCi1uZWVkIHRvIGp1c3QgcHJlc3MgYEVudGVyYCBmb3IgYHNlY29uZCBmYWN0b3JgLgot QWR2YW50YWdlIG9mIGFib3ZlIGZ1bmN0aW9uIGlzIG5vIGhhdmluZyBwYXJhbWlrbwotZGVwZW5k YW5jeS4KLVdlIGNhbiBydW4gdGhlIGFueSBjb21tYW5kIGluIHNhbWUgc2Vzc2lvbiBhZnRlcgot YXV0aGVudGljYXRpb24gb2YgdXNlci4KLQotVGVzdCBjYXNlczoKLTEuIEF1dGhlbnRpY2F0ZSB0 aGUgdXNlciBvbmx5IHdpdGggcGFzc3dvcmQsCi1qdXN0IHByZXNzIGVudGVyIGF0IGBTZWNvbmQg ZmFjdG9yYCBhbmQgY2hlY2sgdGd0IGFmdGVyIGF1dGguCi13aGVuIFVzZXIgYXV0aGVudGljYXRp b24gdHlwZXM6IG90cCwgcGFzc3dvcmQKLTIuIEF1dGhlbnRpY2F0ZSB0aGUgdXNlciB3aXRoIHBh c3N3b3JkIGFuZCBvdHB2YWx1ZXMgYW5kCi1jaGVjayB0Z3Qgb2YgdXNlciBhZnRlciBhdXRoIHdo ZW4KLVVzZXIgYXV0aGVudGljYXRpb24gdHlwZXM6IG90cCwgcGFzc3dvcmQKLQotcmVsYXRlZDog aHR0cHM6Ly9naXRodWIuY29tL1NTU0Qvc3NzZC9wdWxsLzc1MDAKLQotU2lnbmVkLW9mZi1ieTog TWFkaHVyaSBVcGFkaHllIDxtdXBhZGh5ZUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3Jl bmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3Rfb3RwLnB5IHwgMTkyICsrKysrKysrKysrKysrKysrKysrKysrKy0tCi0g MSBmaWxlIGNoYW5nZWQsIDE4MSBpbnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkgYi9pcGF0ZXN0 cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rfb3RwLnB5Ci1pbmRleCA4NzhiNGZiNTYuLjBiYWJiNDU4 OSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkKLSsr KyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkKLUBAIC01LDI2ICs1LDI3 IEBACi0gIiIiCi0gaW1wb3J0IGJhc2U2NAotIGltcG9ydCBsb2dnaW5nCi0taW1wb3J0IHB5dGVz dAotIGltcG9ydCByZQotLWltcG9ydCB0aW1lCi0raW1wb3J0IHRlbXBmaWxlCi0gaW1wb3J0IHRl eHR3cmFwCi0tZnJvbSB1cmxsaWIucGFyc2UgaW1wb3J0IHVybHBhcnNlLCBwYXJzZV9xcwotLWZy b20gcGFyYW1pa28gaW1wb3J0IEF1dGhlbnRpY2F0aW9uRXhjZXB0aW9uCi0raW1wb3J0IHRpbWUK LStmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgcGFyc2VfcXMsIHVybHBhcnNlCi0gCi0raW1wb3J0 IHB5dGVzdAotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5iYWNrZW5kcyBpbXBvcnQgZGVmYXVs dF9iYWNrZW5kCi0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMgaW1wb3J0IGhh c2hlcwotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLnR3b2ZhY3Rvci5ob3Rw IGltcG9ydCBIT1RQCi0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMudHdvZmFj dG9yLnRvdHAgaW1wb3J0IFRPVFAKLS0KLS1mcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24u YmFzZSBpbXBvcnQgSW50ZWdyYXRpb25UZXN0Ci0tZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBv cnQgcGF0aHMKLS1mcm9tIGlwYXRlc3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRpb24gaW1wb3J0IHRh c2tzCi0tZnJvbSBpcGFweXRob24uZG4gaW1wb3J0IEROCi0tCi0gZnJvbSBsZGFwLmNvbnRyb2xz LnNpbXBsZSBpbXBvcnQgQm9vbGVhbkNvbnRyb2wKLStmcm9tIHBhcmFtaWtvIGltcG9ydCBBdXRo ZW50aWNhdGlvbkV4Y2VwdGlvbgotIAotIGZyb20gaXBhbGliIGltcG9ydCBlcnJvcnMKLStmcm9t IGlwYXBsYXRmb3JtLm9zaW5mbyBpbXBvcnQgb3NpbmZvCi0rZnJvbSBpcGFwbGF0Zm9ybS5wYXRo cyBpbXBvcnQgcGF0aHMKLStmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLStmcm9tIGlwYXRl c3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRpb24gaW1wb3J0IHRhc2tzCi0rZnJvbSBpcGF0ZXN0cy50 ZXN0X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotK2Zyb20gaXBhdGVz dHMudXRpbCBpbXBvcnQgeGZhaWxfY29udGV4dAotIAotIFBBU1NXT1JEID0gIkR1bW15UGFzc3dv cmQxMjMiCi0gVVNFUiA9ICJvcHR0ZXN0dXNlciIKLUBAIC04NCw2ICs4NSw2NSBAQCBkZWYga2lu aXRfb3RwKGhvc3QsIHVzZXIsICosIHBhc3N3b3JkLCBvdHAsIHN1Y2Nlc3M9VHJ1ZSk6Ci0gICAg ICkKLSAKLSAKLStkZWYgc3NoXzJmYV93aXRoX2NtZChob3N0LCBob3N0bmFtZSwgdXNlcm5hbWUs IHBhc3N3b3JkLCBvdHB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSJleGl0 IDAiKToKLSsgICAgIiIiIHNzaCB0byB1c2VyIGFuZCBpbiBzYW1lIHNlc3Npb24gcGFzcyB0aGUg Y29tbWFuZCB0byBjaGVjayB0Z3Qgb2YgdXNlcgotKyAgICA6cGFyYW0gaG9zdDogaG9zdCB0byBz c2gKLSsgICAgOnBhcmFtIGhvc3RuYW1lOiBob3N0bmFtZSB0byBzc2gKLSsgICAgOnBhcmFtIHN0 ciB1c2VybmFtZTogVGhlIG5hbWUgb2YgdXNlcgotKyAgICA6cGFyYW0gc3RyIHBhc3N3b3JkOiBw YXNzd29yZCwgdXN1YWxseSB0aGUgZmlyc3QgZmFjdG9yCi0rICAgIDpwYXJhbSBzdHIgb3RwdmFs dWU6IGdlbmVyYXRlZCBwaW4gb2YgdXNlcgotKyAgICA6cGFyYW0gc3RyIGNvbW1hbmQ6IGNvbW1h bmQgdG8gZXhlY3V0ZSBpbiBzYW1lIHNlc3Npb24sCi0rICAgICBieSBkZWFmdWx0IHNldCB0byAi ZXhpdCAwIgotKyAgICA6cmV0dXJuOiBvYmplY3QgY2xhc3Mgb2YgZXhwZWN0IGNvbW1hbmQgcnVu Ci0rICAgICIiIgotKyAgICB0ZW1wX2NvbmYgPSB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUo c3VmZml4PScuZXhwJywgZGVsZXRlPUZhbHNlKQotKyAgICB3aXRoIG9wZW4odGVtcF9jb25mLm5h bWUsICd3JykgYXMgdGZpbGU6Ci0rICAgICAgICB0ZmlsZS53cml0ZSgncHJvYyBleGl0bXNnIHsg bXNnIGNvZGUgfSB7XG4nKQotKyAgICAgICAgdGZpbGUud3JpdGUoJ1x0IyBDbG9zZSBzcGF3bmVk IHByb2dyYW0sIGlmIHdlIGFyZSBpbiB0aGUgcHJvbXB0XG4nKQotKyAgICAgICAgdGZpbGUud3Jp dGUoJ1x0Y2F0Y2ggY2xvc2VcblxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdcdCMgV2FpdCBm b3IgdGhlIGV4aXQgY29kZVxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdcdGxhc3NpZ24gW3dh aXRdIHBpZCBzcGF3bmlkIG9zX2Vycm9yX2ZsYWcgcmNcblxuJykKLSsgICAgICAgIHRmaWxlLndy aXRlKCdcdHB1dHMgIiJcbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnXHRwdXRzICJleHBlY3Qg cmVzdWx0OiAkbXNnIlxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdcdHB1dHMgImV4cGVjdCBl eGl0IGNvZGU6ICRjb2RlIlxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdcdHB1dHMgImV4cGVj dCBzcGF3biBleGl0IGNvZGU6ICRyYyJcbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnXHRleGl0 ICRjb2RlXG4nKQotKyAgICAgICAgdGZpbGUud3JpdGUoJ31cbicpCi0rICAgICAgICB0ZmlsZS53 cml0ZSgnc2V0IHRpbWVvdXQgNjBcbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnc2V0IHByb21w dCAiLipcXFsjXFwkPlxcXSAkIlxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKGYnc2V0IHBhc3N3 b3JkICJ7cGFzc3dvcmR9IlxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKGYnc2V0IG90cHZhbHVl ICJ7b3RwdmFsdWV9IlxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKGYnc3Bhd24gc3NoIC1vIE51 bWJlck9mUGFzc3dvcmRQcm9tcHRzPTEgLW8gJwotKyAgICAgICAgICAgICAgICAgICAgZidTdHJp Y3RIb3N0S2V5Q2hlY2tpbmc9bm8gLW8gVXNlcktub3duSG9zdHNGaWxlPS9kZXYvbnVsbCcKLSsg ICAgICAgICAgICAgICAgICAgIGYnIC1sIHt1c2VybmFtZX0ge2hvc3RuYW1lfSB7Y29tbWFuZH1c bicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnZXhwZWN0IHtcbicpCi0rICAgICAgICB0ZmlsZS53 cml0ZSgnIkVudGVyIGZpcnN0IGZhY3RvcjoqIiB7c2VuZCAtLSAiJHBhc3N3b3JkXHIifVxuJykK LSsgICAgICAgIHRmaWxlLndyaXRlKCd0aW1lb3V0IHtleGl0bXNnICJVbmV4cGVjdGVkIG91dHB1 dCIgMjAxfVxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdlb2Yge2V4aXRtc2cgIlVuZXhwZWN0 ZWQgZW5kIG9mIGZpbGUiIDIwMn1cbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnfVxuJykKLSsg ICAgICAgIHRmaWxlLndyaXRlKCdleHBlY3Qge1xuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCci RW50ZXIgc2Vjb25kIGZhY3RvcjoqIiB7c2VuZCAtLSAiJG90cHZhbHVlXHIifVxuJykKLSsgICAg ICAgIHRmaWxlLndyaXRlKCd0aW1lb3V0IHtleGl0bXNnICJVbmV4cGVjdGVkIG91dHB1dCIgMjAx fVxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdlb2Yge2V4aXRtc2cgIlVuZXhwZWN0ZWQgZW5k IG9mIGZpbGUiIDIwMn1cbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnfVxuJykKLSsgICAgICAg IHRmaWxlLndyaXRlKCdleHBlY3Qge1xuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCciQXV0aGVu dGljYXRpb24gZmFpbHVyZSIgJwotKyAgICAgICAgICAgICAgICAgICAgJ3tleGl0bXNnICJBdXRo ZW50aWNhdGlvbiBmYWlsdXJlIiAxfVxuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdlb2Yge2V4 aXRtc2cgIkF1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwiIDB9XG4nKQotKyAgICAgICAgdGZpbGUu d3JpdGUoJ3RpbWVvdXQge2V4aXRtc2cgIlVuZXhwZWN0ZWQgb3V0cHV0IiAyMDF9XG4nKQotKyAg ICAgICAgdGZpbGUud3JpdGUoJ31cbicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnZXhwZWN0IHtc bicpCi0rICAgICAgICB0ZmlsZS53cml0ZSgnZXhpdG1zZyAiVW5leHBlY3RlZCBjb2RlIHBhdGgi IDIwM1xuJykKLSsgICAgICAgIHRmaWxlLndyaXRlKCdFT0ZcbicpCi0rICAgICAgICB0ZmlsZS53 cml0ZSgnfScpCi0rICAgIGhvc3QudHJhbnNwb3J0LnB1dF9maWxlKHRlbXBfY29uZi5uYW1lLCAn L3RtcC9zc2guZXhwJykKLSsgICAgdGFza3MuY2xlYXJfc3NzZF9jYWNoZShob3N0KQotKyAgICBl eHBlY3RfY21kID0gJ2V4cGVjdCAtZiAvdG1wL3NzaC5leHAnCi0rICAgIGNtZCA9IGhvc3QucnVu X2NvbW1hbmQoZXhwZWN0X2NtZCwgcmFpc2VvbmVycj1GYWxzZSkKLSsgICAgcmV0dXJuIGNtZAot KwotKwotIGRlZiBzc2hfMmYoaG9zdG5hbWUsIHVzZXJuYW1lLCBhbnN3ZXJzX2RpY3QsIHBvcnQ9 MjIsIHVud2FudGVkX3Byb21wdD0iIik6Ci0gICAgICIiIgotICAgICA6cGFyYW0gaG9zdG5hbWU6 IGhvc3RuYW1lCi1AQCAtOTEsNiArMTUxLDcgQEAgZGVmIHNzaF8yZihob3N0bmFtZSwgdXNlcm5h bWUsIGFuc3dlcnNfZGljdCwgcG9ydD0yMiwgdW53YW50ZWRfcHJvbXB0PSIiKToKLSAgICAgOnBh cmFtIGFuc3dlcnNfZGljdDogZGljdGlvbmFyeSBvZiBvcHRpb25zIHdpdGggcHJvbXB0X21lc3Nh Z2UgYW5kIHZhbHVlLgotICAgICA6cGFyYW0gcG9ydDogcG9ydCBmb3Igc3NoCi0gICAgICIiIgot KwotICAgICAjIEhhbmRsZXIgZm9yIHNlcnZlciBxdWVzdGlvbnMKLSAgICAgZGVmIGFuc3dlcl9o YW5kbGVyKHRpdGxlLCBpbnN0cnVjdGlvbnMsIHByb21wdF9saXN0KToKLSAgICAgICAgIHJlc3Ag PSBbXQotQEAgLTEzMSw4ICsxOTIsOSBAQCBjbGFzcyBUZXN0T1RQVG9rZW4oSW50ZWdyYXRpb25U ZXN0KToKLSAKLSAgICAgQGNsYXNzbWV0aG9kCi0gICAgIGRlZiBpbnN0YWxsKGNscywgbWgpOgot LSAgICAgICAgc3VwZXIoVGVzdE9UUFRva2VuLCBjbHMpLmluc3RhbGwobWgpCi0gICAgICAgICBt YXN0ZXIgPSBjbHMubWFzdGVyCi0rICAgICAgICB0YXNrcy5pbnN0YWxsX3BhY2thZ2VzKG1hc3Rl ciwgWydleHBlY3QnXSkKLSsgICAgICAgIHN1cGVyKFRlc3RPVFBUb2tlbiwgY2xzKS5pbnN0YWxs KG1oKQotIAotICAgICAgICAgdGFza3Mua2luaXRfYWRtaW4obWFzdGVyKQotICAgICAgICAgIyBj cmVhdGUgc2VydmljZSB3aXRoIE9UUCBhdXRoIGluZGljYXRvcgotQEAgLTM5OCw2ICs0NjAsMTE0 IEBAIGNsYXNzIFRlc3RPVFBUb2tlbihJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgIHNl bGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnc2VtYW5hZ2UnLCAnbG9naW4nLCAnLUQnXSkKLSAgICAg ICAgICAgICBzc3NkX2NvbmZfYmFja3VwLnJlc3RvcmUoKQotIAotKyAgICBkZWYgdGVzdF8yZmFf b25seV93aXRoX3Bhc3N3b3JkKHNlbGYpOgotKyAgICAgICAgIiIiVGVzdCBzc2ggd2l0aCAyRkEg b25seSB3aXRoIHRoZSBwYXNzd29yZChmaXJzdCBmYWN0b3IpIHdoZW4KLSsgICAgICAgIHVzZXIt YXV0aC10eXBlIGlzIG9wdCBhbmQgcGFzc3dvcmQuCi0rCi0rICAgICAgICBUZXN0IGZvciA6ICBo dHRwczovL2dpdGh1Yi5jb20vU1NTRC9zc3NkL3B1bGwvNzUwMAotKwotKyAgICAgICAgQWRkIHRo ZSBJUEEgdXNlciBhbmQgdXNlci1hdXRoLXR5cGUgc2V0IHRvIG9wdCBhbmQgcGFzc3dvcmQuCi0r ICAgICAgICBBdXRoZW50aWNhdGUgdGhlIHVzZXIgb25seSB3aXRoIHBhc3N3b3JkLCBqdXN0IHBy ZXNzIGVudGVyCi0rICAgICAgICBhdCBgU2Vjb25kIGZhY3RvcmAKLSsgICAgICAgICIiIgotKyAg ICAgICAgbWFzdGVyID0gc2VsZi5tYXN0ZXIKLSsgICAgICAgIFVTRVIzID0gJ3NzaHVzZXIzJwot KyAgICAgICAgc3NzZF9jb25mX2JhY2t1cCA9IHRhc2tzLkZpbGVCYWNrdXAobWFzdGVyLCBwYXRo cy5TU1NEX0NPTkYpCi0rICAgICAgICBmaXJzdF9wcm9tcHQgPSAnRW50ZXIgZmlyc3QgZmFjdG9y OicKLSsgICAgICAgIHNlY29uZF9wcm9tcHQgPSAnRW50ZXIgc2Vjb25kIGZhY3RvcjonCi0rICAg ICAgICBhZGRfY29udGVudHMgPSB0ZXh0d3JhcC5kZWRlbnQoJycnCi0rICAgICAgICAgICAgW3By b21wdGluZy8yZmEvc3NoZF0KLSsgICAgICAgICAgICBzaW5nbGVfcHJvbXB0ID0gRmFsc2UKLSsg ICAgICAgICAgICBmaXJzdF9wcm9tcHQgPSB7MH0KLSsgICAgICAgICAgICBzZWNvbmRfcHJvbXB0 ID0gezF9Ci0rICAgICAgICAgICAgJycnKS5mb3JtYXQoZmlyc3RfcHJvbXB0LCBzZWNvbmRfcHJv bXB0KQotKyAgICAgICAgc2V0X3Nzc2RfY29uZihtYXN0ZXIsIGFkZF9jb250ZW50cykKLSsgICAg ICAgIHRhc2tzLmNyZWF0ZV9hY3RpdmVfdXNlcihtYXN0ZXIsIFVTRVIzLCBQQVNTV09SRCkKLSsg ICAgICAgIHRhc2tzLmtpbml0X2FkbWluKG1hc3RlcikKLSsgICAgICAgIG1hc3Rlci5ydW5fY29t bWFuZChbJ2lwYScsICd1c2VyLW1vZCcsIFVTRVIzLCAnLS11c2VyLWF1dGgtdHlwZT1vdHAnLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS11c2VyLWF1dGgtdHlwZT1wYXNzd29yZCdd KQotKyAgICAgICAgdHJ5OgotKyAgICAgICAgICAgIG90cHVpZCwgdG90cCA9IGFkZF9vdHB0b2tl bihtYXN0ZXIsIFVTRVIzLCBvdHB0eXBlPSd0b3RwJykKLSsgICAgICAgICAgICBtYXN0ZXIucnVu X2NvbW1hbmQoWydpcGEnLCAnb3RwdG9rZW4tc2hvdycsIG90cHVpZF0pCi0rICAgICAgICAgICAg dG90cC5nZW5lcmF0ZShpbnQodGltZS50aW1lKCkpKS5kZWNvZGUoJ2FzY2lpJykKLSsgICAgICAg ICAgICBvdHB2YWx1ZSA9ICJcbiIKLSsgICAgICAgICAgICB0YXNrcy5jbGVhcl9zc3NkX2NhY2hl KHNlbGYubWFzdGVyKQotKyAgICAgICAgICAgIGdpdGh1Yl90aWNrZXQgPSAiaHR0cHM6Ly9naXRo dWIuY29tL1NTU0Qvc3NzZC9wdWxsLzc1MDAiCi0rICAgICAgICAgICAgc3NzZF92ZXJzaW9uID0g dGFza3MuZ2V0X3Nzc2RfdmVyc2lvbihtYXN0ZXIpCi0rICAgICAgICAgICAgcmhlbF9mYWlsID0g KAotKyAgICAgICAgICAgICAgICBvc2luZm8uaWQgPT0gJ3JoZWwnCi0rICAgICAgICAgICAgICAg IGFuZCBzc3NkX3ZlcnNpb24gPCB0YXNrcy5wYXJzZV92ZXJzaW9uKCIyLjkuNSIpCi0rICAgICAg ICAgICAgKQotKyAgICAgICAgICAgIGZlZG9yYV9mYWlsID0gKAotKyAgICAgICAgICAgICAgICBv c2luZm8uaWQgPT0gJ2ZlZG9yYScKLSsgICAgICAgICAgICAgICAgYW5kIHNzc2RfdmVyc2lvbiA9 PSB0YXNrcy5wYXJzZV92ZXJzaW9uKCIyLjkuNSIpCi0rICAgICAgICAgICAgKQotKyAgICAgICAg ICAgIHdpdGggeGZhaWxfY29udGV4dChyaGVsX2ZhaWwgb3IgZmVkb3JhX2ZhaWwsIHJlYXNvbj1n aXRodWJfdGlja2V0KToKLSsgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3NoXzJmYV93aXRoX2Nt ZChtYXN0ZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5tYXN0ZXIuZXh0ZXJuYWxfaG9zdG5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVVNFUjMsIFBBU1NXT1JELCBvdHB2YWx1ZT1vdHB2YWx1ZSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSJrbGlzdCIpCi0r ICAgICAgICAgICAgICAgIHByaW50KHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsgICAgICAgICAgICAg ICAgYXNzZXJ0ICgnQXV0aGVudGljYXRpb24gc3VjY2Vzc2Z1bCcpIGluIHJlc3VsdC5zdGRvdXRf dGV4dAotKyAgICAgICAgICAgICAgICBhc3NlcnQgVVNFUjMgaW4gcmVzdWx0LnN0ZG91dF90ZXh0 Ci0rICAgICAgICAgICAgICAgIGFzc2VydCAoZidEZWZhdWx0IHByaW5jaXBhbDogJwotKyAgICAg ICAgICAgICAgICAgICAgICAgIGYne1VTRVIzfUB7c2VsZi5tYXN0ZXIuZG9tYWluLnJlYWxtfScg aW4KLSsgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQuc3Rkb3V0X3RleHQpCi0rICAgICAg ICAgICAgICAgIGNtZCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnc2VtYW5hZ2UnLCAnbG9n aW4nLCAnLWwnXSkKLSsgICAgICAgICAgICAgICAgYXNzZXJ0IFVTRVIzIGluIGNtZC5zdGRvdXRf dGV4dAotKyAgICAgICAgZmluYWxseToKLSsgICAgICAgICAgICBtYXN0ZXIucnVuX2NvbW1hbmQo WydpcGEnLCAndXNlci1kZWwnLCBVU0VSM10pCi0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVu X2NvbW1hbmQoWydzZW1hbmFnZScsICdsb2dpbicsICctRCddKQotKyAgICAgICAgICAgIHNzc2Rf Y29uZl9iYWNrdXAucmVzdG9yZSgpCi0rCi0rICAgIGRlZiB0ZXN0XzJmYV93aXRoX290cF9wYXNz d29yZChzZWxmKToKLSsgICAgICAgICIiIlRlc3Qgc3NoIHdpdGggMkZBIG9ubHkgd2l0aCBwYXNz d29yZCBhbmQgb3RwdmFsdWUgd2hlbgotKyAgICAgICAgdXNlci1hdXRoLXR5cGUgaXMgb3B0IGFu ZCBwYXNzd29yZC4KLSsKLSsgICAgICAgIFRlc3QgZm9yIDogIGh0dHBzOi8vZ2l0aHViLmNvbS9T U1NEL3Nzc2QvcHVsbC83NTAwCi0rCi0rICAgICAgICBBZGQgdGhlIElQQSB1c2VyIGFuZCB1c2Vy LWF1dGgtdHlwZSBzZXQgdG8gb3B0IGFuZCBwYXNzd29yZC4KLSsgICAgICAgIEF1dGhlbnRpY2F0 ZSB0aGUgdXNlciBvbmx5IHdpdGggcGFzc3dvcmQgYW5kIG90cHZhbHVlLgotKyAgICAgICAgIiIi Ci0rICAgICAgICBtYXN0ZXIgPSBzZWxmLm1hc3RlcgotKyAgICAgICAgVVNFUjQgPSAnc3NodXNl cjQnCi0rICAgICAgICBzc3NkX2NvbmZfYmFja3VwID0gdGFza3MuRmlsZUJhY2t1cChtYXN0ZXIs IHBhdGhzLlNTU0RfQ09ORikKLSsgICAgICAgIGZpcnN0X3Byb21wdCA9ICdFbnRlciBmaXJzdCBm YWN0b3I6JwotKyAgICAgICAgc2Vjb25kX3Byb21wdCA9ICdFbnRlciBzZWNvbmQgZmFjdG9yOicK LSsgICAgICAgIGFkZF9jb250ZW50cyA9IHRleHR3cmFwLmRlZGVudCgnJycKLSsgICAgICAgICAg ICBbcHJvbXB0aW5nLzJmYS9zc2hkXQotKyAgICAgICAgICAgIHNpbmdsZV9wcm9tcHQgPSBGYWxz ZQotKyAgICAgICAgICAgIGZpcnN0X3Byb21wdCA9IHswfQotKyAgICAgICAgICAgIHNlY29uZF9w cm9tcHQgPSB7MX0KLSsgICAgICAgICAgICAnJycpLmZvcm1hdChmaXJzdF9wcm9tcHQsIHNlY29u ZF9wcm9tcHQpCi0rICAgICAgICBzZXRfc3NzZF9jb25mKG1hc3RlciwgYWRkX2NvbnRlbnRzKQot KyAgICAgICAgdGFza3MuY3JlYXRlX2FjdGl2ZV91c2VyKG1hc3RlciwgVVNFUjQsIFBBU1NXT1JE KQotKyAgICAgICAgdGFza3Mua2luaXRfYWRtaW4obWFzdGVyKQotKwotKyAgICAgICAgbWFzdGVy LnJ1bl9jb21tYW5kKFsnaXBhJywgJ3VzZXItbW9kJywgVVNFUjQsICctLXVzZXItYXV0aC10eXBl PW90cCcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLXVzZXItYXV0aC10eXBlPXBh c3N3b3JkJ10pCi0rICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgb3RwdWlkLCB0b3RwID0gYWRk X290cHRva2VuKG1hc3RlciwgVVNFUjQsIG90cHR5cGU9J3RvdHAnKQotKyAgICAgICAgICAgIG1h c3Rlci5ydW5fY29tbWFuZChbJ2lwYScsICdvdHB0b2tlbi1zaG93Jywgb3RwdWlkXSkKLSsgICAg ICAgICAgICBvdHB2YWx1ZSA9IHRvdHAuZ2VuZXJhdGUoaW50KHRpbWUudGltZSgpKSkuZGVjb2Rl KCdhc2NpaScpCi0rICAgICAgICAgICAgdGFza3MuY2xlYXJfc3NzZF9jYWNoZShzZWxmLm1hc3Rl cikKLSsgICAgICAgICAgICByZXN1bHQgPSBzc2hfMmZhX3dpdGhfY21kKG1hc3RlciwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFzdGVyLmV4dGVybmFsX2hv c3RuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUjQsIFBB U1NXT1JELCBvdHB2YWx1ZT1vdHB2YWx1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbW1hbmQ9ImtsaXN0IikKLSsgICAgICAgICAgICBwcmludChyZXN1bHQuc3Rk b3V0X3RleHQpCi0rICAgICAgICAgICAgY21kID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydz ZW1hbmFnZScsICdsb2dpbicsICctbCddKQotKyAgICAgICAgICAgICMgY2hlY2sgdGhlIG91dHB1 dAotKyAgICAgICAgICAgIGFzc2VydCAoJ0F1dGhlbnRpY2F0aW9uIHN1Y2Nlc3NmdWwnKSBpbiBy ZXN1bHQuc3Rkb3V0X3RleHQKLSsgICAgICAgICAgICBhc3NlcnQgVVNFUjQgaW4gcmVzdWx0LnN0 ZG91dF90ZXh0Ci0rICAgICAgICAgICAgYXNzZXJ0IChmJ0RlZmF1bHQgcHJpbmNpcGFsOiB7VVNF UjR9QCcKLSsgICAgICAgICAgICAgICAgICAgIGYne3NlbGYubWFzdGVyLmRvbWFpbi5yZWFsbX0n IGluIHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsgICAgICAgICAgICBhc3NlcnQgVVNFUjQgaW4gY21k LnN0ZG91dF90ZXh0Ci0rICAgICAgICBmaW5hbGx5OgotKyAgICAgICAgICAgIG1hc3Rlci5ydW5f Y29tbWFuZChbJ2lwYScsICd1c2VyLWRlbCcsIFVTRVI0XSkKLSsgICAgICAgICAgICBzZWxmLm1h c3Rlci5ydW5fY29tbWFuZChbJ3NlbWFuYWdlJywgJ2xvZ2luJywgJy1EJ10pCi0rICAgICAgICAg ICAgc3NzZF9jb25mX2JhY2t1cC5yZXN0b3JlKCkKLSsKLSAgICAgQHB5dGVzdC5maXh0dXJlCi0g ICAgIGRlZiBzZXR1cF9vdHBfbnNzbGFwZChzZWxmKToKLSAgICAgICAgIGNoZWNrX3NlcnZpY2Vz ID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gM2QwOTYy MDE0YWRkYTM5Yjc1NGM0Mjc0Y2NiNWNhNWQ3MDk2M2MzMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotRGF0ZTogTW9u LCAyMSBPY3QgMjAyNCAxMzo1MToxMyAtMDQwMAotU3ViamVjdDogW1BBVENIIDAzNS8xMTZdIGlw YS1taWdyYXRlIC0gZHJ5cnVuIHdyaXRlIHVwZGF0ZXMgY3Jhc2hlcyB3aGVuCi0gcmVtb3Zpbmcg dmFsdWVzCi0KLVdoZW4gcmVtb3ZpbmcgdmFsdWVzIHRoZSBtb2QgdmFsdWUgbGlzdCBpcyBOb25l IGFuZCB0aGF0IGxlYWRzIHRvIGEKLWNyYXNoIHdoZW4gdHJ5aW5nIHRvIGl0ZXJhdGUgaXQuIElu c3RlYWQgY2hlY2sgdGhhdCB0aGUgdmFscyBhcmUgbm90Ci1Ob25lIGJlZm9yZSBsb29waW5nLgot Ci1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjgyCi0KLVNpZ25lZC1v ZmYtYnk6IE1BcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJlbmF1ZEByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2lu c3RhbGwvaXBhX21pZ3JhdGUucHkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFf bWlncmF0ZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1pbmRleCAzODM1 NmFhMjMuLmYzNTYyOTM3OCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdy YXRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQotQEAgLTYyMiw3 ICs2MjIsNyBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICAgICAgICAgIGVsc2U6Ci0g ICAgICAgICAgICAgICAgICAgICBhY3Rpb24gPSAicmVwbGFjZSIKLSAgICAgICAgICAgICAgICAg bGRpZl9lbnRyeSArPSBmInthY3Rpb259OiB7YXR0cn1cbiIKLS0gICAgICAgICAgICAgICAgZm9y IHZhbCBpbiB2YWxzOgotKyAgICAgICAgICAgICAgICBmb3IgdmFsIGluIGxpc3QodmFscyBvciBb XSk6Ci0gICAgICAgICAgICAgICAgICAgICBsZGlmX2VudHJ5ICs9IGdldF9sZGlmX2F0dHJfdmFs KGF0dHIsIHZhbCkKLSAgICAgICAgICAgICAgICAgbGRpZl9lbnRyeSArPSAiLVxuIgotICAgICAg ICAgICAgIGxkaWZfZW50cnkgKz0gIlxuIgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDUzM2VjODcz NzU5OTgxNmFjOTcyOWQ2N2NlZGZkZTc2Mjk3MDIyZmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IFR1 ZSwgMjIgT2N0IDIwMjQgMTA6MDQ6MjUgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwMzYvMTE2XSB3 ZWIgdWk6IEFkZCBleHBsaWNpdCB3aGl0ZSBib3JkZXIgZm9yIFFSIGNvZGUgd2lkZ2V0Ci0KLVRo ZXJlIHdhcyBkaXNjdXNzaW9uIGluIHRoZSB0aWNrZXQgOTIwMiBob3cgdG8gZG8gdGhhdCBhbmQg dGhlIHNpbXBsZXN0Ci13YXkgaXMgdG8gZm9yY2UgYSBib3JkZXIgdmlhIENTUy4gV2UgaGF2ZSBh IENTUyBzcGVjaWZpY2FsbHkgZm9yIFFSIGNvZGUKLXdpZGdldCwgc28gdXNlIGl0LgotCi1BIGRl ZmF1bHQgdmlldyBpcyB3aGl0ZSwgc28gdGhlIGJvcmRlciB3aWxsIG5vdCBiZSB2aXNpYmxlICh3 aGl0ZSBvbgotd2hpdGUpIGJ1dCBmb3IgZGFyayBiYWNrZ3JvdW5kcyB0aGUgYm9yZGVyIHdpbGwg YmUgdGhlcmUgY2xlYXJseQotdmlzaWJsZS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2Zy ZWVpcGEvaXNzdWUvOTIwMgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJv a292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5A cmVkaGF0LmNvbT4KLS0tLQotIGluc3RhbGwvdWkvbGVzcy9wbHVnaW5zL290cC5sZXNzIHwgMyAr Ky0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRp ZmYgLS1naXQgYS9pbnN0YWxsL3VpL2xlc3MvcGx1Z2lucy9vdHAubGVzcyBiL2luc3RhbGwvdWkv bGVzcy9wbHVnaW5zL290cC5sZXNzCi1pbmRleCBiZDlkN2FiOTEuLmQxOTczY2FlYSAxMDA2NDQK LS0tLSBhL2luc3RhbGwvdWkvbGVzcy9wbHVnaW5zL290cC5sZXNzCi0rKysgYi9pbnN0YWxsL3Vp L2xlc3MvcGx1Z2lucy9vdHAubGVzcwotQEAgLTYsNCArNiw1IEBACi0gLnFyY29kZS13aWRnZXQg aW1nIHsKLSAJbWFyZ2luOiAwIGF1dG87Ci0gCW1heC13aWR0aDogMTAwJTsKLS19Ci1cIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKLSsJYm9yZGVyOiAyMHB4IHNvbGlkIHJnYigyNTUsIDI1NSwg MjU1KSAhaW1wb3J0YW50OwotK30KLS0tIAotMi40OS4wCi0KLQotRnJvbSA2YmRiODYwMzA1NGZj NjBlOTQ3OWY2YWFmOGI2MzE1ZGZlNTA4ODkxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogTWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIyIE9j dCAyMDI0IDEzOjAwOjAzIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMDM3LzExNl0gaXBhLW1pZ3Jh dGUgc2hvdWxkIG1pZ3JhdGUgZG5zIGZvcndhcmQgem9uZXMKLQotRml4ZXM6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY4NgotCi1TaWduZWQtb2ZmLWJ5OiBNYXJrIFJleW5vbGRz IDxtcmV5bm9sZHNAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5h dWQgPGZyZW5hdWRAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2Nv bnN0YW50cy5weSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2Nv bnN0YW50cy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2NvbnN0YW50cy5weQot aW5kZXggMjUwZjFiNWIwLi5jMTQwNDE0ZWEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFs bC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9t aWdyYXRlX2NvbnN0YW50cy5weQotQEAgLTk5Myw3ICs5OTMsNyBAQCBEQl9PQkpFQ1RTID0gewot ICAgICAgICAgJ2NvdW50JzogMCwKLSAgICAgfSwKLSAgICAgJ2Ruc19yZWNvcmRzJzogewotLSAg ICAgICAgJ29jJzogWydpZG5zcmVjb3JkJywgJ2lkbnN6b25lJ10sCi0rICAgICAgICAnb2MnOiBb J2lkbnNyZWNvcmQnLCAnaWRuc3pvbmUnLCAnaWRuc2ZvcndhcmR6b25lJ10sCi0gICAgICAgICAn c3VidHJlZSc6ICcsY249ZG5zLCRTVUZGSVgnLAotICAgICAgICAgJ2xhYmVsJzogJ0ROUyBSZWNv cmRzJywKLSAgICAgICAgICdtb2RlJzogJ2FsbCcsCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gOWEy ZGUyM2ViNWUwMGVmYTcyMTg5YzRhODZkOWRiMWZhYjUyYzJjYSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTog VGh1LCAyNCBPY3QgMjAyNCAxMTo0OToxNyAtMDQwMAotU3ViamVjdDogW1BBVENIIDAzOC8xMTZd IFNtYWxsIGZpeHVwIHRvIGRldGVybWluZSB3aGljaCBBQ01FIHVuaW5zdGFsbGVyIHRvCi0gdXNl Ci0KLVRoZSBjb25kaXRpb25hbCB3YXMgPD0gMTEuNS4wIHdoaWNoIGl0IHNob3VsZCBoYXZlIGJl ZW4KLTwgMTEuNi4wIHRvIGFsbG93IGZvciBzbWFsbCB1cGRhdGVzIHRvIHRoZSAxMS41LjAgYnJh bmNoLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjczCi1GaXhl czogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85Njc0Ci0KLVNpZ25lZC1vZmYtYnk6 IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhh bmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNl IEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9k b2d0YWdpbnN0YW5jZS5weSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2lu c3RhbmNlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFuY2UucHkKLWluZGV4IDRi MGY0ZDI3NC4uNTg0MjFhMWQ4IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFn aW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2luc3RhbmNlLnB5Ci1A QCAtMzExLDcgKzMxMSw3IEBAIGNsYXNzIERvZ3RhZ0luc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6 Ci0gICAgICAgICAgICAgICAgIHJldHVybgotICAgICAgICAgICAgIGVsaWYgKAotICAgICAgICAg ICAgICAgICBwa2kudXRpbC5WZXJzaW9uKCIxMS4wLjAiKSA8PSBwa2lfdmVyc2lvbgotLSAgICAg ICAgICAgICAgICA8PSBwa2kudXRpbC5WZXJzaW9uKCIxMS41LjAiKQotKyAgICAgICAgICAgICAg ICA8IHBraS51dGlsLlZlcnNpb24oIjExLjYuMCIpCi0gICAgICAgICAgICAgKToKLSAgICAgICAg ICAgICAgICAgYXJncyA9IFsncGtpLXNlcnZlcicsICdhY21lLXJlbW92ZSddCi0gICAgICAgICAg ICAgZWxzZToKLS0tIAotMi40OS4wCi0KLQotRnJvbSBkYWQyZjA2ZWQ2ODU0YWJiZDgxYjc0N2My NmRlNmMxM2RmZWEzMjdiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDMwIE9jdCAyMDI0IDEw OjQ4OjUwICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDM5LzExNl0gdmF1bHQ6IGhhbmRsZSBweWNh IEludGVybmFsRXJyb3IgZXhjZXB0aW9uIGZvciBQS0NTIzEKLSB2MS41IHBhZGRpbmcKLQotSW4g RklQUyBtb2RlIG9uZSBjYW5ub3QgdXNlIFBLQ1MjMSB2MS41IHBhZGRpbmcuIE9wZW5TU0wgZGlk IHJlbW92ZSBpdAotZnJvbSB0aGUgRklQUyBwcm92aWRlciBhbmQgd2lsbCByZXBvcnQgYW4gZXJy b3IgdGhhdCBQeUNBIGNhbm5vdAotcHJvY2Vzcywgc28gaXQgd2lsbCByYWlzZSBpdHMgb3duIElu dGVybmFsRXhjZXB0aW9uLgotCi1IYW5kbGUgaXQgdGhlIHNhbWUgd2F5IGFzIFZhbHVlRXJyb3Iu Ci0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2ODkKLQotU2lnbmVk LW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogRnJhbmNpc2NvIFRyaXZpbm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFj bGllbnQvcGx1Z2lucy92YXVsdC5weSB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0 aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaXBhY2xpZW50L3BsdWdpbnMv dmF1bHQucHkgYi9pcGFjbGllbnQvcGx1Z2lucy92YXVsdC5weQotaW5kZXggOTZlZGYwOWEyLi43 NTQxNWMwM2EgMTAwNjQ0Ci0tLS0gYS9pcGFjbGllbnQvcGx1Z2lucy92YXVsdC5weQotKysrIGIv aXBhY2xpZW50L3BsdWdpbnMvdmF1bHQucHkKLUBAIC0zNyw2ICszNyw3IEBAIGZyb20gY3J5cHRv Z3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLmNpcGhlcnMgaW1wb3J0IENpcGhlciwgYWxnb3JpdGht cywgbW9kZXMKLSBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcy5wYWRkaW5nIGlt cG9ydCBQS0NTNwotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLnNlcmlhbGl6 YXRpb24gaW1wb3J0ICgKLSAgICAgbG9hZF9wZW1fcHVibGljX2tleSwgbG9hZF9wZW1fcHJpdmF0 ZV9rZXkpCi0rZnJvbSBjcnlwdG9ncmFwaHkuZXhjZXB0aW9ucyBpbXBvcnQgSW50ZXJuYWxFcnJv ciBhcyBDcnlwdG9ncmFwaHlJbnRlcm5hbEVycm9yCi0gCi0gZnJvbSBpcGFjbGllbnQuZnJvbnRl bmQgaW1wb3J0IE1ldGhvZE92ZXJyaWRlCi0gZnJvbSBpcGFsaWIgaW1wb3J0IHg1MDkKLUBAIC03 MTcsNyArNzE4LDcgQEAgY2xhc3MgTW9kVmF1bHREYXRhKExvY2FsKToKLSAgICAgICAgICAgICAg ICAgICAgIGFsZ28ua2V5LAotICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy5QS0NTMXYxNSgp Ci0gICAgICAgICAgICAgICAgICkKLS0gICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKLSsg ICAgICAgICAgICBleGNlcHQgKFZhbHVlRXJyb3IsIENyeXB0b2dyYXBoeUludGVybmFsRXJyb3Ip OgotICAgICAgICAgICAgICAgICB3cmFwcGVkX3Nlc3Npb25fa2V5ID0gcHVibGljX2tleS5lbmNy eXB0KAotICAgICAgICAgICAgICAgICAgICAgYWxnby5rZXksCi0gICAgICAgICAgICAgICAgICAg ICBwYWRkaW5nLk9BRVAoCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gOWRhOTI3YzhlZWM3ZGI2ZDFj NzVjMjk2ZWVmNDViZWI5Mzc5N2U1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1 ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxIEF1ZyAyMDI0IDE2 OjMwOjE2ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMDQwLzExNl0gaXBhdGVzdHM6IFRlc3RzIGZv ciBpcGEtbWlncmF0ZSB0b29sCi0KLVRoaXMgcGF0Y2ggaW5jbHVkZXMgdGVzdCB0byBjb3ZlcnMg YmVsb3cgc2NlbmFyaW9zCi0KLTEuIGhiYWMgYW5kIHN1ZG8gcnVsZXMgYXJlIG1pZ3JhdGVkIHRv IGxvY2FsIHNlcnZlcgotMi4gdWlkIGZvciB1c2VyIG1pZ3JhdGVkIHZhcmllcyBpbiBzdGFnZS9w cm9kIG1vZGUuCi0zLiBzdWJpZHMgYXJlIG1pZ3JhdGVkIHRvIGxvY2FsIHNlcnZlcgotNC4gaWRy YW5nZXMgYXJlIG1pZ3JhdGVkIHRvIGxvY2FsIHNlcnZlcgotNS4gdmF1bHRzIGFyZSBub3QgbWln cmF0ZWQgdG8gbG9jYWwgc2VydmVyLgotNi4gRW5zdXJlIHRydXN0IHJlbGF0ZWQgZGF0YSBpcyBh bHNvIG1pZ3JhdGVkIHRvIGxvY2FsIHNlcnZlcgotNy4gQWRkZWQgcGF0aHMuSVBBX01JR1JBVEVf TE9HIGluIGlwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vX19pbml0X18ucHkKLQotU2ln bmVkLW9mZi1ieTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxv cmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5j ZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvcHl0ZXN0X2lw YS9pbnRlZ3JhdGlvbi9fX2luaXRfXy5weSAgIHwgICAyICsKLSAuLi4vdGVzdF9pcGFfaXBhX21p Z3JhdGlvbi5weSAgICAgICAgICAgICAgICAgfCA1OTYgKysrKysrKysrKysrKystLS0tCi0gMiBm aWxlcyBjaGFuZ2VkLCA0NjAgaW5zZXJ0aW9ucygrKSwgMTM4IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9fX2luaXRfXy5weSBiL2lw YXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vX19pbml0X18ucHkKLWluZGV4IDM0YjZlZjBm Yi4uZWIwMzJjZDcyIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlv bi9fX2luaXRfXy5weQotKysrIGIvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9fX2lu aXRfXy5weQotQEAgLTg4LDYgKzg4LDggQEAgQ0xBU1NfTE9HRklMRVMgPSBbCi0gICAgIHBhdGhz LlZBUl9MT0dfQVVESVQsCi0gICAgICMgc3NzZAotICAgICBwYXRocy5WQVJfTE9HX1NTU0RfRElS LAotKyAgICAjIGlwYS1pcGEtbWlncmF0aW9uIGxvZ3MKLSsgICAgcGF0aHMuSVBBX01JR1JBVEVf TE9HLAotICAgICAjIHN5c3RlbQotICAgICBwYXRocy5SRVNPTFZfQ09ORiwKLSAgICAgcGF0aHMu SE9TVFMsCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9p cGFfbWlncmF0aW9uLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFf bWlncmF0aW9uLnB5Ci1pbmRleCA3MGMyNjg5NTEuLmQ4NTJjYTYzYSAxMDA2NDQKLS0tLSBhL2lw YXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5weQotKysrIGIv aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5Ci1AQCAt MTIsNiArMTIsNyBAQCBmcm9tIGlwYXBsYXRmb3JtLnBhdGhzIGltcG9ydCBwYXRocwotIGZyb20g Y29sbGVjdGlvbnMgaW1wb3J0IENvdW50ZXIKLSAKLSBpbXBvcnQgcHl0ZXN0Ci0raW1wb3J0IHJl Ci0gaW1wb3J0IHRleHR3cmFwCi0gCi0gCi1AQCAtNjUsMjkgKzY2LDcgQEAgZGVmIHByZXBhcmVf aXBhX3NlcnZlcihtYXN0ZXIpOgotICAgICAgICAgICAgICItLXNlY29uZGFyeS1yaWQtYmFzZT00 MDAwMDAiLAotICAgICAgICAgXQotICAgICApCi0tCi0tICAgICMgQWRkIEF1dG9tb3VudCBsb2Nh dGlvbnMgYW5kIG1hcHMKLS0gICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsiaXBhIiwgImF1dG9tb3Vu dGxvY2F0aW9uLWFkZCIsICJiYWx0aW1vcmUiXSkKLS0gICAgbWFzdGVyLnJ1bl9jb21tYW5kKFsi aXBhIiwgImF1dG9tb3VudG1hcC1hZGQiLCAiYmFsdGltb3JlIiwgImF1dG8uc2hhcmUiXSkKLS0g ICAgbWFzdGVyLnJ1bl9jb21tYW5kKAotLSAgICAgICAgWwotLSAgICAgICAgICAgICJpcGEiLAot LSAgICAgICAgICAgICJhdXRvbW91bnRtYXAtYWRkLWluZGlyZWN0IiwKLS0gICAgICAgICAgICAi YmFsdGltb3JlIiwKLS0gICAgICAgICAgICAiLS1wYXJlbnRtYXA9YXV0by5zaGFyZSIsCi0tICAg ICAgICAgICAgIi0tbW91bnQ9c3ViIGF1dG8ubWFuIiwKLS0gICAgICAgIF0KLS0gICAgKQotLSAg ICBtYXN0ZXIucnVuX2NvbW1hbmQoCi0tICAgICAgICBbCi0tICAgICAgICAgICAgImlwYSIsCi0t ICAgICAgICAgICAgImF1dG9tb3VudGtleS1hZGQiLAotLSAgICAgICAgICAgICJiYWx0aW1vcmUi LAotLSAgICAgICAgICAgICJhdXRvLm1hc3RlciIsCi0tICAgICAgICAgICAgIi0ta2V5PS9zaGFy ZSIsCi0tICAgICAgICAgICAgIi0taW5mbz1hdXRvLnNoYXJlIiwKLS0gICAgICAgIF0KLS0gICAg KQotKyAgICBtYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGFjdGwiLCAicmVzdGFydCJdKQotIAotICAg ICAjIFJ1biBpcGEtYWR0cnVzdC1pbnN0YWxsCi0gICAgIG1hc3Rlci5ydW5fY29tbWFuZChbImRu ZiIsICJpbnN0YWxsIiwgIi15IiwgImlwYS1zZXJ2ZXItdHJ1c3QtYWQiXSkKLUBAIC0yMzUsNiAr MjE0LDE3IEBAIGRlZiBwcmVwYXJlX2lwYV9zZXJ2ZXIobWFzdGVyKToKLSAgICAgICAgIFsiaXBh IiwgImhiYWNydWxlLWFkZC1zZXJ2aWNlIiwgIi0taGJhY3N2Y3M9c3NoZCIsICJ0ZXN0dXNlcl9z c2hkIl0KLSAgICAgKQotIAotKyAgICAjIEFkZCBETlNGb3J3YXJkem9uZQotKyAgICBtYXN0ZXIu cnVuX2NvbW1hbmQoCi0rICAgICAgICBbCi0rICAgICAgICAgICAgImlwYSIsCi0rICAgICAgICAg ICAgImRuc2ZvcndhcmR6b25lLWFkZCIsCi0rICAgICAgICAgICAgImZvcndhcmR6b25lLnRlc3Qi LAotKyAgICAgICAgICAgICItLWZvcndhcmRlciIsCi0rICAgICAgICAgICAgIjEwLjExLjEyLjEz IiwKLSsgICAgICAgIF0KLSsgICAgKQotKwotICAgICAjIFZhdWx0IGFkZGl0aW9uCi0gICAgIG1h c3Rlci5ydW5fY29tbWFuZCgKLSAgICAgICAgIFsKLUBAIC0yNDQsNiArMjM0LDcgQEAgZGVmIHBy ZXBhcmVfaXBhX3NlcnZlcihtYXN0ZXIpOgotICAgICAgICAgICAgICJ2YXVsdDEyMzQiLAotICAg ICAgICAgICAgICItLXR5cGUiLAotICAgICAgICAgICAgICJzeW1tZXRyaWMiLAotKyAgICAgICAg ICAgICJ0ZXN0dmF1bHQiLAotICAgICAgICAgXQotICAgICApCi0gCi1AQCAtMjYwLDcgKzI1MSw0 NiBAQCBkZWYgcHJlcGFyZV9pcGFfc2VydmVyKG1hc3Rlcik6Ci0gCi0gICAgICMgTW9kaWZ5IHBh c3NrZXljb25maWcKLSAgICAgbWFzdGVyLnJ1bl9jb21tYW5kKAotLSAgICAgICAgWyJpcGEiLCAi cGFzc2tleWNvbmZpZy1tb2QiLCAiLS1yZXF1aXJlLXVzZXItdmVyaWZpY2F0aW9uPUZBTFNFIl0K LSsgICAgICAgIFsKLSsgICAgICAgICAgICAiaXBhIiwgInBhc3NrZXljb25maWctbW9kIiwKLSsg ICAgICAgICAgICAiLS1yZXF1aXJlLXVzZXItdmVyaWZpY2F0aW9uPUZBTFNFIgotKyAgICAgICAg XQotKyAgICApCi0rCi0rICAgICMgQWRkaW5nIGF1dG9tb3VudGxvY2F0aW9uLCBtYXBzLCBrZXlz Ci0rICAgIG1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgIFsKLSsgICAgICAgICAgICAiaXBh IiwgImF1dG9tb3VudGxvY2F0aW9uLWFkZCIsCi0rICAgICAgICAgICAgImJhbHRpbW9yZSIKLSsg ICAgICAgIF0KLSsgICAgKQotKwotKyAgICBtYXN0ZXIucnVuX2NvbW1hbmQoCi0rICAgICAgICBb Ci0rICAgICAgICAgICAgImlwYSIsICJhdXRvbW91bnRtYXAtYWRkIiwKLSsgICAgICAgICAgICAi YmFsdGltb3JlIiwKLSsgICAgICAgICAgICAiYXV0by5zaGFyZSIKLSsgICAgICAgIF0KLSsgICAg KQotKwotKyAgICBtYXN0ZXIucnVuX2NvbW1hbmQoCi0rICAgICAgICBbCi0rICAgICAgICAgICAg ImlwYSIsICJhdXRvbW91bnRtYXAtYWRkLWluZGlyZWN0IiwKLSsgICAgICAgICAgICAiYmFsdGlt b3JlIiwKLSsgICAgICAgICAgICAiLS1wYXJlbnRtYXA9YXV0by5zaGFyZSIsCi0rICAgICAgICAg ICAgIi0tbW91bnQ9c3ViIiwKLSsgICAgICAgICAgICAiYXV0by5tYW4iLAotKyAgICAgICAgXQot KyAgICApCi0rCi0rICAgIG1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgIFsKLSsgICAgICAg ICAgICAiaXBhIiwgImF1dG9tb3VudGtleS1hZGQiLAotKyAgICAgICAgICAgICJiYWx0aW1vcmUi LAotKyAgICAgICAgICAgICJhdXRvLm1hc3RlciIsCi0rICAgICAgICAgICAgIi0ta2V5PS9zaGFy ZSIsCi0rICAgICAgICAgICAgIi0taW5mbz1hdXRvLnNoYXJlIiwKLSsgICAgICAgIF0KLSAgICAg KQotIAotIAotQEAgLTI4OCwxMiArMzE4LDI0IEBAIGRlZiBydW5fbWlncmF0ZSgKLSAgICAgcmV0 dXJuIHJlc3VsdAotIAotIAotLWNsYXNzIFRlc3RJUEFNaWdyYXRlU2NlbmFyaW8xKEludGVncmF0 aW9uVGVzdCk6Ci0rQHB5dGVzdC5maXh0dXJlKCkKLStkZWYgZW1wdHlfbG9nX2ZpbGUocmVxdWVz dCk6Ci0gICAgICIiIgotLSAgICBUaWVyLTEgdGVzdHMgZm9yIGlwYS1taWdyYXRlIHRvb2wgd2l0 aCBETlMgZW5hYmxlZCBvbgotLSAgICBsb2NhbCBhbmQgcmVtb3RlIHNlcnZlcgotKyAgICBUaGlz IGZpeHR1cmUgZW1wdGllcyB0aGUgbG9nIGZpbGUgYmVmb3JlIGlwYS1taWdyYXRlIHRvb2wKLSsg ICAgaXMgcnVuIHNpbmNlIHRoZSBsb2cgaXMgYXBwZW5kZWQgZXZlcnl0aW1lIHRoZSB0b29sIGlz IHJ1bi4KLSAgICAgIiIiCi0rICAgIHJlcXVlc3QuY2xzLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5k KAotKyAgICAgICAgWyJ0cnVuY2F0ZSIsICItcyIsICIwIiwgcGF0aHMuSVBBX01JR1JBVEVfTE9H XQotKyAgICApCi0rICAgIHlpZWxkCi0gCi0rCi0rY2xhc3MgTWlncmF0aW9uVGVzdChJbnRlZ3Jh dGlvblRlc3QpOgotKyAgICAiIiIKLSsgICAgVGhpcyBjbGFzcyB3aWxsIGhlbHAgc2V0dXAgcmVt b3RlIElQQSBzZXJ2ZXIoY2xzLm1hc3RlcikKLSsgICAgYW5kIGxvY2FsIElQQSBzZXJ2ZXIoY2xz LnJlcGxpY2FzWzBdKSBhbmQgaXQgd2lsbAotKyAgICBhbHNvIHByZXBhcmUgdGhlIHJlbW90ZSBJ UEEgYmVmb3JlIG1pZ3JhdGlvbiBhY3R1YWxseSBiZWdpbnMuCi0rICAgICIiIgotICAgICBudW1f cmVwbGljYXMgPSAxCi0gICAgIG51bV9jbGllbnRzID0gMQotICAgICB0b3BvbG9neSA9ICJsaW5l IgotQEAgLTMwMywxNCArMzQ1LDE0IEBAIGNsYXNzIFRlc3RJUEFNaWdyYXRlU2NlbmFyaW8xKElu dGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICB0YXNrcy5pbnN0YWxsX21hc3RlcihjbHMubWFzdGVy LCBzZXR1cF9kbnM9VHJ1ZSwgc2V0dXBfa3JhPVRydWUpCi0gICAgICAgICBwcmVwYXJlX2lwYV9z ZXJ2ZXIoY2xzLm1hc3RlcikKLSAgICAgICAgIHRhc2tzLmluc3RhbGxfY2xpZW50KGNscy5tYXN0 ZXIsIGNscy5jbGllbnRzWzBdLCBuYW1lc2VydmVycz1Ob25lKQotKyAgICAgICAgdGFza3MuaW5z dGFsbF9tYXN0ZXIoY2xzLnJlcGxpY2FzWzBdLCBzZXR1cF9kbnM9VHJ1ZSwgc2V0dXBfa3JhPVRy dWUpCi0gCi0tICAgIGRlZiB0ZXN0X3JlbW90ZV9zZXJ2ZXIoc2VsZik6Ci0tICAgICAgICAiIiIK LS0gICAgICAgIFRoaXMgdGVzdCBpbnN0YWxscyBJUEEgc2VydmVyIGluc3RlYWQgb2YgcmVwbGlj YSBvbgotLSAgICAgICAgc3lzdGVtIHVuZGVyIHRlc3Qgd2l0aCB0aGUgc2FtZSByZWFsbSBhbmQg ZG9tYWluIG5hbWUuCi0tICAgICAgICAiIiIKLS0gICAgICAgIHRhc2tzLmluc3RhbGxfbWFzdGVy KHNlbGYucmVwbGljYXNbMF0sIHNldHVwX2Rucz1UcnVlLCBzZXR1cF9rcmE9VHJ1ZSkKLSAKLStj bGFzcyBUZXN0SVBBTWlncmF0ZUNMSU9wdGlvbnMoTWlncmF0aW9uVGVzdCk6Ci0rICAgICIiIgot KyAgICBUZXN0cyB0byBjaGVjayBDTEkgb3B0aW9ucyBmb3IgaXBhLW1pZ3JhdGUgdG9vbCB3aXRo Ci0rICAgIEROUyBlbmFibGVkIG9uIGxvY2FsIGFuZCByZW1vdGUgc2VydmVyLgotKyAgICAiIiIK LSAgICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfd2l0aG91dF9raW5pdF9hc19hZG1pbihzZWxmKToK LSAgICAgICAgICIiIgotICAgICAgICAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGlwYS1taWdyYXRl IHRvb2wgZGlzcGxheXMKLUBAIC00MTcsNyArNDU5LDcgQEAgY2xhc3MgVGVzdElQQU1pZ3JhdGVT Y2VuYXJpbzEoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICIiIgotICAgICAgICAgbGRpZl9m aWxlID0gIi90bXAvdGVzdC5sZGlmIgotICAgICAgICAgcGFyYW0gPSBbJy14JywgJy1vJywgbGRp Zl9maWxlXQotLSAgICAgICAgcnVuX21pZ3JhdGUoCi0rICAgICAgICByZXN1bHQgPSBydW5fbWln cmF0ZSgKLSAgICAgICAgICAgICBzZWxmLnJlcGxpY2FzWzBdLAotICAgICAgICAgICAgICJzdGFn ZS1tb2RlIiwKLSAgICAgICAgICAgICBzZWxmLm1hc3Rlci5ob3N0bmFtZSwKLUBAIC00MjYsNDUg KzQ2OCwyMSBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlvblRlc3Qp OgotICAgICAgICAgICAgIGV4dHJhX2FyZ3M9cGFyYW0sCi0gICAgICAgICApCi0gICAgICAgICBh c3NlcnQgc2VsZi5yZXBsaWNhc1swXS50cmFuc3BvcnQuZmlsZV9leGlzdHMoIi90bXAvdGVzdC5s ZGlmIikKLSsgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29kZSA9PSAwCi0gCi0tICAgIEBw eXRlc3QuZml4dHVyZSgpCi0tICAgIGRlZiBlbXB0eV9sb2dfZmlsZShzZWxmKToKLS0gICAgICAg ICIiIgotLSAgICAgICAgVGhpcyBmaXh0dXJlIGVtcHRpZXMgdGhlIGxvZyBmaWxlIGJlZm9yZSBp cGEtbWlncmF0ZSB0b29sCi0tICAgICAgICBpcyBydW4gc2luY2UgdGhlIGxvZyBpcyBhcHBlbmRl ZCBldmVyeXRpbWUgdGhlIHRvb2wgaXMgcnVuLgotLSAgICAgICAgIiIiCi0tICAgICAgICBzZWxm LnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAotLSAgICAgICAgICAgIFsidHJ1bmNhdGUiLCAiLXMi LCAiMCIsIHBhdGhzLklQQV9NSUdSQVRFX0xPR10KLS0gICAgICAgICkKLS0gICAgICAgIHlpZWxk Ci0tCi0tICAgIGRlZiB0ZXN0X2lwYV9zaWdkZW5fcGx1Z2luX2ZhaWxfZXJyb3Ioc2VsZiwgZW1w dHlfbG9nX2ZpbGUpOgotLSAgICAgICAgIiIiCi0tICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNr cyB0aGF0IHNpZGdlbiBwbHVnaW4gZmFpbCBlcnJvciBpcwotLSAgICAgICAgbm90IHNlZW4gZHVy aW5nIG1pZ3JhdGUgcHJvZC1tb2RlCi0tICAgICAgICAiIiIKLS0gICAgICAgIFNJREdFTl9FUlJf TVNHID0gIlNJREdFTiB0YXNrIGZhaWxlZDogXG4iCi0tICAgICAgICBydW5fbWlncmF0ZSgKLS0g ICAgICAgICAgICBzZWxmLnJlcGxpY2FzWzBdLAotLSAgICAgICAgICAgICJzdGFnZS1tb2RlIiwK LS0gICAgICAgICAgICBzZWxmLm1hc3Rlci5ob3N0bmFtZSwKLS0gICAgICAgICAgICAiY249RGly ZWN0b3J5IE1hbmFnZXIiLAotLSAgICAgICAgICAgIHNlbGYubWFzdGVyLmNvbmZpZy5hZG1pbl9w YXNzd29yZCwKLS0gICAgICAgICAgICBleHRyYV9hcmdzPVsnLXgnXSwKLS0gICAgICAgICkKLS0g ICAgICAgIGVycm9yX21zZyA9IHNlbGYucmVwbGljYXNbMF0uZ2V0X2ZpbGVfY29udGVudHMoCi0t ICAgICAgICAgICAgcGF0aHMuSVBBX01JR1JBVEVfTE9HLCBlbmNvZGluZz0idXRmLTgiCi0tICAg ICAgICApCi0tICAgICAgICBhc3NlcnQgU0lER0VOX0VSUl9NU0cgbm90IGluIGVycm9yX21zZwot LQotLSAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9zdGFnZV9tb2RlX2RyeV9ydW4oc2VsZiwgZW1w dHlfbG9nX2ZpbGUpOgotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9zdGFnZV9tb2RlX2RyeV9y dW4oc2VsZik6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIFRlc3QgaXBhLW1pZ3JhdGUgc3RhZ2Ug bW9kZSB3aXRoIGRyeS1ydW4gb3B0aW9uCi0rICAgICAgICBUaGlzIHRlc3QgYWxzbyBjaGVja3Mg U0lER0VOIHRhc2sgZmFpbHVyZSBpcwotKyAgICAgICAgbm90IHNlZW4gaW4gaXBhIG1pZ3JhdGUg bG9nLgotICAgICAgICAgIiIiCi0gICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLm1hc3Rl cikKLSAgICAgICAgIHRhc2tzLmtpbml0X2FkbWluKHNlbGYucmVwbGljYXNbMF0pCi0rICAgICAg ICBTSURHRU5fRVJSX01TRyA9ICJTSURHRU4gdGFzayBmYWlsZWQ6IFxuIgotICAgICAgICAgSVBB X01JR1JBVEVfU1RBR0VfRFJZX1JVTl9MT0cgPSAiLS1kcnlydW49VHJ1ZVxuIgotLSAgICAgICAg SVBBX1NFUlZFUl9VUFJHQURFX0xPRyA9ICJTa2lwcGluZyBpcGEtc2VydmVyLXVwZ3JhZGUgaW4g ZHJ5cnVuIG1vZGUuXG4iCi0rICAgICAgICBJUEFfU0VSVkVSX1VQUkdBREVfTE9HID0gKAotKyAg ICAgICAgICAgICJTa2lwcGluZyBpcGEtc2VydmVyLXVwZ3JhZGUgaW4gZHJ5cnVuIG1vZGUuXG4i Ci0rICAgICAgICApCi0gICAgICAgICBJUEFfU0tJUF9TSURHRU5fTE9HID0gIlNraXBwaW5nIFNJ REdFTiB0YXNrIGluIGRyeXJ1biBtb2RlLiIKLSAgICAgICAgIHJlc3VsdCA9IHJ1bl9taWdyYXRl KAotICAgICAgICAgICAgIHNlbGYucmVwbGljYXNbMF0sCi1AQCAtNDgxLDYgKzQ5OSw3IEBAIGNs YXNzIFRlc3RJUEFNaWdyYXRlU2NlbmFyaW8xKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICBh c3NlcnQgSVBBX01JR1JBVEVfU1RBR0VfRFJZX1JVTl9MT0cgaW4gaW5zdGFsbF9tc2cKLSAgICAg ICAgIGFzc2VydCBJUEFfU0VSVkVSX1VQUkdBREVfTE9HIGluIGluc3RhbGxfbXNnCi0gICAgICAg ICBhc3NlcnQgSVBBX1NLSVBfU0lER0VOX0xPRyBpbiBpbnN0YWxsX21zZwotKyAgICAgICAgYXNz ZXJ0IFNJREdFTl9FUlJfTVNHIG5vdCBpbiBpbnN0YWxsX21zZwotIAotICAgICBkZWYgdGVzdF9p cGFfbWlncmF0ZV9wcm9kX21vZGVfZHJ5X3J1bihzZWxmLCBlbXB0eV9sb2dfZmlsZSk6Ci0gICAg ICAgICAiIiIKLUBAIC01MDksNyArNTI4LDcgQEAgY2xhc3MgVGVzdElQQU1pZ3JhdGVTY2VuYXJp bzEoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgIGFzc2VydCBJUEFfU0VSVkVSX1VQUkdBREVf TE9HIGluIGluc3RhbGxfbXNnCi0gICAgICAgICBhc3NlcnQgSVBBX1NJREdFTl9MT0cgaW4gaW5z dGFsbF9tc2cKLSAKLS0gICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfd2l0aF9za2lwX3NjaGVtYV9v cHRpb25fZHJ5X3J1bihzZWxmLCBlbXB0eV9sb2dfZmlsZSk6Ci0rICAgIGRlZiB0ZXN0X2lwYV9t aWdyYXRlX3NraXBfc2NoZW1hX2RyeV9ydW4oc2VsZiwgZW1wdHlfbG9nX2ZpbGUpOgotICAgICAg ICAgIiIiCi0gICAgICAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgaXBhLW1pZ3JhdGUgdG9vbCB3 b3JrcwotICAgICAgICAgd2l0aCAtUyhzY2hlbWEpIG9wdGlvbnMgaW4gc3RhZ2UgbW9kZQotQEAg LTUzMiw3ICs1NTEsNyBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlv blRlc3QpOgotICAgICAgICAgKQotICAgICAgICAgYXNzZXJ0IFNLSVBfU0NIRU1BX01TR19MT0cg aW4gaW5zdGFsbF9tc2cKLSAKLS0gICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfd2l0aF9za2lwX2Nv bmZpZ19vcHRpb25fZHJ5X3J1bihzZWxmLCBlbXB0eV9sb2dfZmlsZSk6Ci0rICAgIGRlZiB0ZXN0 X2lwYV9taWdyYXRlX3NraXBfY29uZmlnX2RyeV9ydW4oc2VsZiwgZW1wdHlfbG9nX2ZpbGUpOgot ICAgICAgICAgIiIiCi0gICAgICAgICBUaGlzIHRlc3QgY2hlY2tzIHRoYXQgaXBhLW1pZ3JhdGUg dG9vbCB3b3JrcwotICAgICAgICAgd2l0aCAtQyhjb25maWcpIG9wdGlvbnMgaW4gc3RhZ2UgbW9k ZQotQEAgLTU3OSw3ICs1OTgsNyBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRl Z3JhdGlvblRlc3QpOgotICAgICAgICAgKQotICAgICAgICAgYXNzZXJ0IFJFU0VUX1JBTkdFX0xP RyBpbiBpbnN0YWxsX21zZwotIAotLSAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9zdGFnZV9tb2Rl X2RyeV9vdmVycmlkZV9zY2hlbWEoc2VsZiwgZW1wdHlfbG9nX2ZpbGUpOgotKyAgICBkZWYgdGVz dF9pcGFfbWlncmF0ZV9zdGFnZV9tb2RlX292ZXJyaWRlX3NjaGVtYShzZWxmLCBlbXB0eV9sb2df ZmlsZSk6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCAtTyBv cHRpb24gKG92ZXJyaWRlIHNjaGVtYSkgd29ya3MKLSAgICAgICAgIGluIGRyeSBtb2RlCi1AQCAt NjAxLDcwICs2MjAsNiBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlv blRlc3QpOgotICAgICAgICAgKQotICAgICAgICAgYXNzZXJ0IFNDSEVNQV9PVkVSUklERV9MT0cg aW4gaW5zdGFsbF9tc2cKLSAKLS0gICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfc3RhZ2VfbW9kZShz ZWxmLCBlbXB0eV9sb2dfZmlsZSk6Ci0tICAgICAgICAiIiIKLS0gICAgICAgIFRoaXMgdGVzdCBj aGVja3MgdGhhdCBpcGEtbWlncmF0ZSBpcyBzdWNjZXNzZnVsCi0tICAgICAgICBpbiBkcnkgcnVu IG1vZGUKLS0gICAgICAgICIiIgotLSAgICAgICAgdGFza3Mua2luaXRfYWRtaW4oc2VsZi5tYXN0 ZXIpCi0tICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLnJlcGxpY2FzWzBdKQotLSAgICAg ICAgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHID0gIk1pZ3JhdGluZyBzY2hlbWEgLi4uXG4iCi0t ICAgICAgICBNSUdSQVRJT05fQ09ORklHX0xPR19NU0cgPSAiTWlncmF0aW5nIGNvbmZpZ3VyYXRp b24gLi4uXG4iCi0tICAgICAgICBJUEFfVVBHUkFERV9MT0dfTVNHID0gKAotLSAgICAgICAgICAg ICJSdW5uaW5nIGlwYS1zZXJ2ZXItdXBncmFkZSAuLi4gKHRoaXMgbWF5IHRha2UgYSB3aGlsZSlc biIKLS0gICAgICAgICkKLS0gICAgICAgIFNJREdFTl9UQVNLX0xPR19NU0cgPSAiUnVubmluZyBT SURHRU4gdGFzayAuLi5cbiIKLS0gICAgICAgIE1JR1JBVElPTl9DT01QTEVURV9MT0dfTVNHID0g Ik1pZ3JhdGlvbiBjb21wbGV0ZSFcbiIKLS0gICAgICAgIHJlc3VsdCA9IHJ1bl9taWdyYXRlKAot LSAgICAgICAgICAgIHNlbGYucmVwbGljYXNbMF0sCi0tICAgICAgICAgICAgInN0YWdlLW1vZGUi LAotLSAgICAgICAgICAgIHNlbGYubWFzdGVyLmhvc3RuYW1lLAotLSAgICAgICAgICAgICJjbj1E aXJlY3RvcnkgTWFuYWdlciIsCi0tICAgICAgICAgICAgc2VsZi5tYXN0ZXIuY29uZmlnLmFkbWlu X3Bhc3N3b3JkLAotLSAgICAgICAgICAgIGV4dHJhX2FyZ3M9WyctbiddLAotLSAgICAgICAgKQot LSAgICAgICAgaW5zdGFsbF9tc2cgPSBzZWxmLnJlcGxpY2FzWzBdLmdldF9maWxlX2NvbnRlbnRz KAotLSAgICAgICAgICAgIHBhdGhzLklQQV9NSUdSQVRFX0xPRywgZW5jb2Rpbmc9InV0Zi04Igot LSAgICAgICAgKQotLSAgICAgICAgYXNzZXJ0IHJlc3VsdC5yZXR1cm5jb2RlID09IDAKLS0gICAg ICAgIGFzc2VydCBNSUdSQVRJT05fU0NIRU1BX0xPR19NU0cgaW4gaW5zdGFsbF9tc2cKLS0gICAg ICAgIGFzc2VydCBNSUdSQVRJT05fQ09ORklHX0xPR19NU0cgaW4gaW5zdGFsbF9tc2cKLS0gICAg ICAgIGFzc2VydCBJUEFfVVBHUkFERV9MT0dfTVNHIGluIGluc3RhbGxfbXNnCi0tICAgICAgICBh c3NlcnQgU0lER0VOX1RBU0tfTE9HX01TRyBpbiBpbnN0YWxsX21zZwotLSAgICAgICAgYXNzZXJ0 IE1JR1JBVElPTl9DT01QTEVURV9MT0dfTVNHIGluIGluc3RhbGxfbXNnCi0tCi0tICAgIGRlZiB0 ZXN0X2lwYV9taWdyYXRlX3Byb2RfbW9kZShzZWxmLCBlbXB0eV9sb2dfZmlsZSk6Ci0tICAgICAg ICAiIiIKLS0gICAgICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCBpcGEtbWlncmF0ZSBpcyBzdWNj ZXNzZnVsCi0tICAgICAgICBpbiBwcm9kIHJ1biBtb2RlCi0tICAgICAgICAiIiIKLS0gICAgICAg IHRhc2tzLmtpbml0X2FkbWluKHNlbGYubWFzdGVyKQotLSAgICAgICAgdGFza3Mua2luaXRfYWRt aW4oc2VsZi5yZXBsaWNhc1swXSkKLS0gICAgICAgIE1JR1JBVElPTl9TQ0hFTUFfTE9HX01TRyA9 ICJNaWdyYXRpbmcgc2NoZW1hIC4uLlxuIgotLSAgICAgICAgTUlHUkFUSU9OX0RBVEFCQVNFX0xP R19NU0cgPSAoCi0tICAgICAgICAgICAgIk1pZ3JhdGluZyBkYXRhYmFzZSAuLi4gKHRoaXMgbWF5 IHRha2UgYSB3aGlsZSlcbiIKLS0gICAgICAgICkKLS0gICAgICAgIElQQV9VUEdSQURFX0xPR19N U0cgPSAoCi0tICAgICAgICAgICAgIlJ1bm5pbmcgaXBhLXNlcnZlci11cGdyYWRlIC4uLiAodGhp cyBtYXkgdGFrZSBhIHdoaWxlKVxuIgotLSAgICAgICAgKQotLSAgICAgICAgU0lER0VOX1RBU0tf TE9HX01TRyA9ICJSdW5uaW5nIFNJREdFTiB0YXNrIC4uLlxuIgotLSAgICAgICAgcmVzdWx0ID0g cnVuX21pZ3JhdGUoCi0tICAgICAgICAgICAgc2VsZi5yZXBsaWNhc1swXSwKLS0gICAgICAgICAg ICAicHJvZC1tb2RlIiwKLS0gICAgICAgICAgICBzZWxmLm1hc3Rlci5ob3N0bmFtZSwKLS0gICAg ICAgICAgICAiY249RGlyZWN0b3J5IE1hbmFnZXIiLAotLSAgICAgICAgICAgIHNlbGYubWFzdGVy LmNvbmZpZy5hZG1pbl9wYXNzd29yZCwKLS0gICAgICAgICAgICBleHRyYV9hcmdzPVsnLW4nXSwK LS0gICAgICAgICkKLS0gICAgICAgIGluc3RhbGxfbXNnID0gc2VsZi5yZXBsaWNhc1swXS5nZXRf ZmlsZV9jb250ZW50cygKLS0gICAgICAgICAgICBwYXRocy5JUEFfTUlHUkFURV9MT0csIGVuY29k aW5nPSJ1dGYtOCIKLS0gICAgICAgICkKLS0gICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29k ZSA9PSAwCi0tICAgICAgICBhc3NlcnQgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHIGluIGluc3Rh bGxfbXNnCi0tICAgICAgICBhc3NlcnQgTUlHUkFUSU9OX0RBVEFCQVNFX0xPR19NU0cgaW4gaW5z dGFsbF9tc2cKLS0gICAgICAgIGFzc2VydCBJUEFfVVBHUkFERV9MT0dfTVNHIGluIGluc3RhbGxf bXNnCi0tICAgICAgICBhc3NlcnQgU0lER0VOX1RBU0tfTE9HX01TRyBpbiBpbnN0YWxsX21zZwot LQotICAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV93aXRoX2JpbmRfcHdkX2ZpbGVfb3B0aW9uKHNl bGYsIGVtcHR5X2xvZ19maWxlKToKLSAgICAgICAgICIiIgotICAgICAgICAgVGhpcyB0ZXN0Y2Fz ZSBjaGVja3MgdGhhdCBpcGEtbWlncmF0ZSB0b29sCi1AQCAtODAxLDYgKzc1Niw5IEBAIGNsYXNz IFRlc3RJUEFNaWdyYXRlU2NlbmFyaW8xKEludGVncmF0aW9uVGVzdCk6Ci0gCi0gICAgIEBweXRl c3QuZml4dHVyZSgpCi0gICAgIGRlZiBtb2RpZnlfZG5zX3pvbmUoc2VsZik6Ci0rICAgICAgICAi IiIKLSsgICAgICAgIFRoaXMgZml4dHVyZSBhZGRzIGRuc3pvbmUgYW5kIHRoZW4gcmVtb3ZlcyB0 aGUgem9uZS4KLSsgICAgICAgICIiIgotICAgICAgICAgem9uZV9uYW1lID0gJ2lwYXRlc3QudGVz dCcKLSAgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotICAgICAgICAgICAgIFsiaXBh IiwgImRuc3pvbmUtYWRkIiwgem9uZV9uYW1lLCAiLS1mb3JjZSJdCi1AQCAtODQ0LDYgKzgwMiwy MCBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlvblRlc3QpOgotICAg ICAgICAgYXNzZXJ0IEROU19MT0cyIGluIGluc3RhbGxfbXNnCi0gICAgICAgICBhc3NlcnQgRE5T X0xPRzMgaW4gaW5zdGFsbF9tc2cKLSAKLSsgICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfZG5zX2Zv cndhcmR6b25lKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNo ZWNrcyB0aGF0IEROUyBmb3J3YXJkem9uZSBpcwotKyAgICAgICAgYWxzbyBtaWdyYXRlZCBpbiBw cm9kLW1vZGUKLSsgICAgICAgICIiIgotKyAgICAgICAgem9uZV9uYW1lID0gImZvcndhcmR6b25l LnRlc3QiCi0rICAgICAgICByZXN1bHQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAot KyAgICAgICAgICAgIFsiaXBhIiwgImRuc2ZvcndhcmR6b25lLXNob3ciLCB6b25lX25hbWVdCi0r ICAgICAgICApCi0rICAgICAgICBhc3NlcnQgJ1pvbmUgbmFtZToge30nLmZvcm1hdCh6b25lX25h bWUpIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotKyAgICAgICAgYXNzZXJ0ICdBY3RpdmUgem9uZTog VHJ1ZScgaW4gcmVzdWx0LnN0ZG91dF90ZXh0Ci0rICAgICAgICBhc3NlcnQgJ1pvbmUgZm9yd2Fy ZGVyczogMTAuMTEuMTIuMTMnIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotKyAgICAgICAgYXNzZXJ0 ICdGb3J3YXJkIHBvbGljeTogZmlyc3QnIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotKwotICAgICBk ZWYgdGVzdF9pcGFfbWlncmF0ZV92ZXJzaW9uX29wdGlvbihzZWxmKToKLSAgICAgICAgICIiIgot ICAgICAgICAgVGhlIC1WIG9wdGlvbiBoYXMgYmVlbiByZW1vdmVkLgotQEAgLTkyMiwyMCArODk0 LDE3OSBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlvblRlc3QpOgot ICAgICAgICAgYXNzZXJ0IHJlc3VsdC5yZXR1cm5jb2RlID09IDEKLSAgICAgICAgIGFzc2VydCBF UlJfTVNHIGluIHJlc3VsdC5zdGRlcnJfdGV4dAotIAotLSAgICBkZWYgdGVzdF9pcGFfaGJhY19y dWxlX2R1cGxpY2F0aW9uKHNlbGYpOgotKwotK2NsYXNzIFRlc3RJUEFNaWdyYXRpb25TdGFnZU1v ZGUoTWlncmF0aW9uVGVzdCk6Ci0rICAgICIiIgotKyAgICBUZXN0cyBmb3IgaXBhLW1pZ3JhdGUg dG9vbCBpbiBzdGFnZSBtb2RlCi0rICAgICIiIgotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9z dGFnZV9tb2RlKHNlbGYsIGVtcHR5X2xvZ19maWxlKToKLSAgICAgICAgICIiIgotLSAgICAgICAg VGhpcyB0ZXN0Y2FzZSBjaGVja3MgdGhhdCBkZWZhdWx0IGhiYWMgcnVsZXMKLS0gICAgICAgIGFy ZSBub3QgZHVwbGljYXRlZCBvbiB0aGUgbG9jYWwgc2VydmVyIHdoZW4KLS0gICAgICAgIGlwYS1t aWdyYXRlIGNvbW1hbmQgaXMgcnVuLgotKyAgICAgICAgVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IGlw YS1taWdyYXRlIGlzIHN1Y2Nlc3NmdWwKLSsgICAgICAgIGluIGRyeSBydW4gbW9kZQotICAgICAg ICAgIiIiCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLm1hc3RlcikKLSsgICAgICAg IHRhc2tzLmtpbml0X2FkbWluKHNlbGYucmVwbGljYXNbMF0pCi0rICAgICAgICBNSUdSQVRJT05f U0NIRU1BX0xPR19NU0cgPSAiTWlncmF0aW5nIHNjaGVtYSAuLi5cbiIKLSsgICAgICAgIE1JR1JB VElPTl9DT05GSUdfTE9HX01TRyA9ICJNaWdyYXRpbmcgY29uZmlndXJhdGlvbiAuLi5cbiIKLSsg ICAgICAgIElQQV9VUEdSQURFX0xPR19NU0cgPSAoCi0rICAgICAgICAgICAgIlJ1bm5pbmcgaXBh LXNlcnZlci11cGdyYWRlIC4uLiAodGhpcyBtYXkgdGFrZSBhIHdoaWxlKVxuIgotKyAgICAgICAg KQotKyAgICAgICAgU0lER0VOX1RBU0tfTE9HX01TRyA9ICJSdW5uaW5nIFNJREdFTiB0YXNrIC4u LlxuIgotKyAgICAgICAgTUlHUkFUSU9OX0NPTVBMRVRFX0xPR19NU0cgPSAiTWlncmF0aW9uIGNv bXBsZXRlIVxuIgotICAgICAgICAgcnVuX21pZ3JhdGUoCi0rICAgICAgICAgICAgc2VsZi5yZXBs aWNhc1swXSwKLSsgICAgICAgICAgICAic3RhZ2UtbW9kZSIsCi0rICAgICAgICAgICAgc2VsZi5t YXN0ZXIuaG9zdG5hbWUsCi0rICAgICAgICAgICAgImNuPURpcmVjdG9yeSBNYW5hZ2VyIiwKLSsg ICAgICAgICAgICBzZWxmLm1hc3Rlci5jb25maWcuYWRtaW5fcGFzc3dvcmQsCi0rICAgICAgICAg ICAgZXh0cmFfYXJncz1bJy1uJ10sCi0rICAgICAgICApCi0rICAgICAgICBpbnN0YWxsX21zZyA9 IHNlbGYucmVwbGljYXNbMF0uZ2V0X2ZpbGVfY29udGVudHMoCi0rICAgICAgICAgICAgcGF0aHMu SVBBX01JR1JBVEVfTE9HLCBlbmNvZGluZz0idXRmLTgiCi0rICAgICAgICApCi0rICAgICAgICBh c3NlcnQgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHIGluIGluc3RhbGxfbXNnCi0rICAgICAgICBh c3NlcnQgTUlHUkFUSU9OX0NPTkZJR19MT0dfTVNHIGluIGluc3RhbGxfbXNnCi0rICAgICAgICBh c3NlcnQgSVBBX1VQR1JBREVfTE9HX01TRyBpbiBpbnN0YWxsX21zZwotKyAgICAgICAgYXNzZXJ0 IFNJREdFTl9UQVNLX0xPR19NU0cgaW4gaW5zdGFsbF9tc2cKLSsgICAgICAgIGFzc2VydCBNSUdS QVRJT05fQ09NUExFVEVfTE9HX01TRyBpbiBpbnN0YWxsX21zZwotKwotKyAgICBkZWYgdGVzdF9p cGFfbWlncmF0ZV9zdGFnZV9tb2RlX25ld191c2VyKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAg ICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyB0aGF0IHdoZW4gYSBuZXcgdXNlciBpcyBhZGRlZCBh bmQKLSsgICAgICAgIGlwYS1taWdyYXRlIGlzIHJ1biBpbiBzdGFnZS1tb2RlLCB1aWQvZ2lkIG9m IHRoZQotKyAgICAgICAgbWlncmF0ZWQgdXNlciBpcyBub3QgcHJlc2VydmVkIGkuZSB3ZSBoYXZl IGRpZmZlcmVudAotKyAgICAgICAgdWlkL2dpZCBmb3IgdXNlciBvbiByZW1vdGUgYW5kIGxvY2Fs IElQQSBzZXJ2ZXIuCi0rICAgICAgICAiIiIKLSsgICAgICAgIHVzZXJuYW1lID0gJ3Rlc3R1c2Vy NCcKLSsgICAgICAgIGJhc2VfZG4gPSBzdHIoc2VsZi5tYXN0ZXIuZG9tYWluLmJhc2VkbikKLSsg ICAgICAgIExPR19NU0cxID0gKAotKyAgICAgICAgICAgICJERUJVRyBSZXNldHRpbmcgdGhlIERO QSByYW5nZSBmb3IgbmV3IGVudHJ5OiAiCi0rICAgICAgICAgICAgInVpZD17fSxjbj11c2Vycyxj bj1hY2NvdW50cyx7fVxuIgotKyAgICAgICAgKS5mb3JtYXQodXNlcm5hbWUsIGJhc2VfZG4pCi0r ICAgICAgICBpbnN0YWxsX21zZyA9IHNlbGYucmVwbGljYXNbMF0uZ2V0X2ZpbGVfY29udGVudHMo Ci0rICAgICAgICAgICAgcGF0aHMuSVBBX01JR1JBVEVfTE9HLCBlbmNvZGluZz0idXRmLTgiCi0r ICAgICAgICApCi0rICAgICAgICBhc3NlcnQgTE9HX01TRzEgbm90IGluIGluc3RhbGxfbXNnCi0r ICAgICAgICB0YXNrcy5jbGVhcl9zc3NkX2NhY2hlKHNlbGYubWFzdGVyKQotKyAgICAgICAgc2Vs Zi5tYXN0ZXIucnVuX2NvbW1hbmQoWydpcGEnLCAndXNlci1zaG93JywgdXNlcm5hbWVdKQotKyAg ICAgICAgY21kMSA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnaWQnLCB1c2VybmFtZV0pCi0r ICAgICAgICB0YXNrcy5jbGVhcl9zc3NkX2NhY2hlKHNlbGYucmVwbGljYXNbMF0pCi0rICAgICAg ICBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKFsnaXBhJywgJ3VzZXItc2hvdycsIHVzZXJu YW1lXSkKLSsgICAgICAgIGNtZDIgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKFsnaWQn LCB1c2VybmFtZV0pCi0rICAgICAgICBhc3NlcnQgY21kMS5zdGRvdXRfdGV4dCAhPSBjbWQyLnN0 ZG91dF90ZXh0Ci0rCi0rCi0rY2xhc3MgVGVzdElQQU1pZ3JhdGlvblByb2RNb2RlKE1pZ3JhdGlv blRlc3QpOgotKyAgICAiIiIKLSsgICAgVGVzdHMgZm9yIGlwYS1taWdyYXRlIHRvb2wgaW4gcHJv ZCBtb2RlCi0rICAgICIiIgotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9wcm9kX21vZGUoc2Vs ZiwgZW1wdHlfbG9nX2ZpbGUpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3QgY2hl Y2tzIHRoYXQgaXBhLW1pZ3JhdGUgaXMgc3VjY2Vzc2Z1bAotKyAgICAgICAgaW4gcHJvZCBydW4g bW9kZQotKyAgICAgICAgIiIiCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLm1hc3Rl cikKLSsgICAgICAgIHRhc2tzLmtpbml0X2FkbWluKHNlbGYucmVwbGljYXNbMF0pCi0rICAgICAg ICBNSUdSQVRJT05fU0NIRU1BX0xPR19NU0cgPSAiTWlncmF0aW5nIHNjaGVtYSAuLi5cbiIKLSsg ICAgICAgIE1JR1JBVElPTl9EQVRBQkFTRV9MT0dfTVNHID0gKAotKyAgICAgICAgICAgICJNaWdy YXRpbmcgZGF0YWJhc2UgLi4uICh0aGlzIG1heSB0YWtlIGEgd2hpbGUpXG4iCi0rICAgICAgICAp Ci0rICAgICAgICBJUEFfVVBHUkFERV9MT0dfTVNHID0gKAotKyAgICAgICAgICAgICJSdW5uaW5n IGlwYS1zZXJ2ZXItdXBncmFkZSAuLi4gKHRoaXMgbWF5IHRha2UgYSB3aGlsZSlcbiIKLSsgICAg ICAgICkKLSsgICAgICAgIFNJREdFTl9UQVNLX0xPR19NU0cgPSAiUnVubmluZyBTSURHRU4gdGFz ayAuLi5cbiIKLSsgICAgICAgIHJlc3VsdCA9IHJ1bl9taWdyYXRlKAotICAgICAgICAgICAgIHNl bGYucmVwbGljYXNbMF0sCi0gICAgICAgICAgICAgInByb2QtbW9kZSIsCi0gICAgICAgICAgICAg c2VsZi5tYXN0ZXIuaG9zdG5hbWUsCi0gICAgICAgICAgICAgImNuPURpcmVjdG9yeSBNYW5hZ2Vy IiwKLSAgICAgICAgICAgICBzZWxmLm1hc3Rlci5jb25maWcuYWRtaW5fcGFzc3dvcmQsCi0tICAg ICAgICAgICAgZXh0cmFfYXJncz1bJy1uJ10KLSsgICAgICAgICAgICBleHRyYV9hcmdzPVsnLW4n XSwKLSAgICAgICAgICkKLSsgICAgICAgIGluc3RhbGxfbXNnID0gc2VsZi5yZXBsaWNhc1swXS5n ZXRfZmlsZV9jb250ZW50cygKLSsgICAgICAgICAgICBwYXRocy5JUEFfTUlHUkFURV9MT0csIGVu Y29kaW5nPSJ1dGYtOCIKLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJu Y29kZSA9PSAwCi0rICAgICAgICBhc3NlcnQgTUlHUkFUSU9OX1NDSEVNQV9MT0dfTVNHIGluIGlu c3RhbGxfbXNnCi0rICAgICAgICBhc3NlcnQgTUlHUkFUSU9OX0RBVEFCQVNFX0xPR19NU0cgaW4g aW5zdGFsbF9tc2cKLSsgICAgICAgIGFzc2VydCBJUEFfVVBHUkFERV9MT0dfTVNHIGluIGluc3Rh bGxfbXNnCi0rICAgICAgICBhc3NlcnQgU0lER0VOX1RBU0tfTE9HX01TRyBpbiBpbnN0YWxsX21z ZwotKwotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9wcm9kX21vZGVfaGJhY19ydWxlKHNlbGYp OgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyB0aGF0IGhiYWMg cnVsZSBpcyBtaWdyYXRlZCBmcm9tCi0rICAgICAgICByZW1vdGUgc2VydmVyIHRvIGxvY2FsIHNl cnZlciBpbiBwcm9kIG1vZGUuCi0rICAgICAgICAiIiIKLSsgICAgICAgIGhiYWNfcnVsZV9uYW1l MSA9ICd0ZXN0MScKLSsgICAgICAgIGhiYWNfcnVsZV9uYW1lMiA9ICd0ZXN0dXNlcl9zc2hkJwot KyAgICAgICAgdGFza3Mua2luaXRfYWRtaW4oc2VsZi5yZXBsaWNhc1swXSkKLSsgICAgICAgIGNt ZDEgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsiaXBhIiwg ImhiYWNydWxlLWZpbmQiLCBoYmFjX3J1bGVfbmFtZTFdKQotKyAgICAgICAgY21kMiA9IHNlbGYu cmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWyJpcGEiLCAiaGJhY3J1bGUt ZmluZCIsIGhiYWNfcnVsZV9uYW1lMl0pCi0rICAgICAgICBhc3NlcnQgaGJhY19ydWxlX25hbWUx IGluIGNtZDEuc3Rkb3V0X3RleHQKLSsgICAgICAgIGFzc2VydCBoYmFjX3J1bGVfbmFtZTIgaW4g Y21kMi5zdGRvdXRfdGV4dAotKwotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9wcm9kX21vZGVf c3Vkb19ydWxlKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNo ZWNrcyB0aGF0IHN1ZG8gY21kIGFuZCBydWxlcyBhcmUKLSsgICAgICAgIG1pZ3JhdGVkIGZyb20g cmVtb3RlIHNlcnZlciB0byBsb2NhbCBzZXJ2ZXIgaW4gcHJvZCBtb2RlLgotKyAgICAgICAgIiIi Ci0rICAgICAgICBzdWRvcnVsZSA9ICdyZWFkZmlsZXMnCi0rICAgICAgICBzdWRvY21kID0gJy91 c3IvYmluL2xlc3MnCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLnJlcGxpY2FzWzBd KQotKyAgICAgICAgY21kMSA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAg ICAgICAgWyJpcGEiLCAic3Vkb3J1bGUtZmluZCIsIHN1ZG9ydWxlXSkKLSsgICAgICAgIGNtZDIg PSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsiaXBhIiwgInN1 ZG9jbWQtZmluZCIsIHN1ZG9jbWRdKQotKyAgICAgICAgYXNzZXJ0ICdSdWxlIG5hbWU6IHJlYWRm aWxlc1xuJyBpbiBjbWQxLnN0ZG91dF90ZXh0Ci0rICAgICAgICBhc3NlcnQgJ1N1ZG8gQ29tbWFu ZDogL3Vzci9iaW4vbGVzc1xuJyBpbiBjbWQyLnN0ZG91dF90ZXh0Ci0rCi0rICAgIGRlZiB0ZXN0 X2lwYV9taWdyYXRlX3Byb2RfbW9kZV9uZXdfdXNlcl9zaWQoc2VsZik6Ci0rICAgICAgICAiIiIK LSsgICAgICAgIFRoaXMgdGVzdGNhc2UgY2hlY2tzIHRoYXQgaW4gcHJvZC1tb2RlIHVpZC9naWQg b2YgdGhlCi0rICAgICAgICBtaWdyYXRlZCB1c2VyIGlzIHByZXNlcnZlZCBpLmUgd2UgaGF2ZSBz YW1lCi0rICAgICAgICB1aWQvZ2lkIGZvciB1c2VyIG9uIHJlbW90ZSBhbmQgbG9jYWwgSVBBIHNl cnZlci4KLSsgICAgICAgICIiIgotKyAgICAgICAgdXNlcm5hbWUgPSAndGVzdHVzZXI0JwotKyAg ICAgICAgdGFza3MuY2xlYXJfc3NzZF9jYWNoZShzZWxmLm1hc3RlcikKLSsgICAgICAgIHJlc3Vs dDEgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2lkJywgdXNlcm5hbWVdKQotKyAgICAgICAg dGFza3MuY2xlYXJfc3NzZF9jYWNoZShzZWxmLnJlcGxpY2FzWzBdKQotKyAgICAgICAgcmVzdWx0 MiA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoWydpZCcsIHVzZXJuYW1lXSkKLSsgICAg ICAgIGFzc2VydCByZXN1bHQxLnN0ZG91dF90ZXh0ID09IHJlc3VsdDIuc3Rkb3V0X3RleHQKLSsK LSsgICAgZGVmIHRlc3RfY2hlY2tfdmF1bHRfaXNfbm90X21pZ3JhdGVkKHNlbGYpOgotKyAgICAg ICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyB0aGF0IHZhdWx0IGlzCi0rICAg ICAgICBub3QgbWlncmF0ZWQKLSsgICAgICAgICIiIgotKyAgICAgICAgdmF1bHRfbmFtZSA9ICJ0 ZXN0dmF1bHQiCi0rICAgICAgICBDTURfT1VUUFVUID0gIk51bWJlciBvZiBlbnRyaWVzIHJldHVy bmVkIDAiCi0rICAgICAgICBjbWQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAotKyAg ICAgICAgICAgIFsiaXBhIiwgInZhdWx0LWZpbmQiLCB2YXVsdF9uYW1lXSwgcmFpc2VvbmVycj1G YWxzZSkKLSsgICAgICAgIGFzc2VydCBjbWQucmV0dXJuY29kZSAhPSAwCi0rICAgICAgICBhc3Nl cnQgQ01EX09VVFBVVCBpbiBjbWQuc3Rkb3V0X3RleHQKLSsKLSsgICAgZGVmIHRlc3RfaXBhX21p Z3JhdGVfc3ViaWRzKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNl IGNoZWNrcyB0aGF0IHN1YmlkcyBmb3IgdXNlcnMgYXJlIG1pZ3JhdGVkCi0rICAgICAgICB0byB0 aGUgbG9jYWwgc2VydmVyIGZyb20gdGhlIHJlbW90ZSBzZXJ2ZXIKLSsgICAgICAgICIiIgotKyAg ICAgICAgdXNlcl9uYW1lID0gJ2FkbWluJwotKyAgICAgICAgQ01EX01TRyA9ICIxIHN1Ym9yZGlu YXRlIGlkIG1hdGNoZWQiCi0rICAgICAgICBjbWQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21t YW5kKAotKyAgICAgICAgICAgIFsnaXBhJywgJ3N1YmlkLWZpbmQnLAotKyAgICAgICAgICAgICAn LS1vd25lcicsIHVzZXJfbmFtZV0KLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCBjbWQucmV0 dXJuY29kZSA9PSAwCi0rICAgICAgICBhc3NlcnQgQ01EX01TRyBpbiBjbWQuc3Rkb3V0X3RleHQK LSsKLSsgICAgZGVmIHRlc3RfaXBhX2hiYWNfcnVsZV9kdXBsaWNhdGlvbihzZWxmKToKLSsgICAg ICAgICIiIgotKyAgICAgICAgVGhpcyB0ZXN0Y2FzZSBjaGVja3MgdGhhdCBkZWZhdWx0IGhiYWMg cnVsZXMKLSsgICAgICAgIGFyZSBub3QgZHVwbGljYXRlZCBvbiB0aGUgbG9jYWwgc2VydmVyIHdo ZW4KLSsgICAgICAgIGlwYS1taWdyYXRlIGNvbW1hbmQgaXMgcnVuLgotKyAgICAgICAgIiIiCi0g ICAgICAgICByZXN1bHQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKAotICAgICAgICAg ICAgIFsnaXBhJywgJ2hiYWNydWxlLWZpbmQnXQotICAgICAgICAgKQotQEAgLTk0NiwzICsxMDc3 LDE5MiBAQCBjbGFzcyBUZXN0SVBBTWlncmF0ZVNjZW5hcmlvMShJbnRlZ3JhdGlvblRlc3QpOgot ICAgICAgICAgY291bnQgPSBDb3VudGVyKGxpbmUpCi0gICAgICAgICBhc3NlcnQgY291bnQuZ2V0 KCdSdWxlIG5hbWU6IGFsbG93X2FsbCcpIDwgMgotICAgICAgICAgYXNzZXJ0IGNvdW50LmdldCgn UnVsZSBuYW1lOiBhbGxvd19zeXN0ZW1kLXVzZXInKSA8IDIKLSsKLSsgICAgZGVmIHRlc3RfaXBh X21pZ3JhdGVfb3RwdG9rZW4oc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVz dGNhc2UgY2hlY2tzIHRoYXQgdGhlIG90cHRva2VuCi0rICAgICAgICBpcyBtaWdyYXRlZCBmb3Ig dGhlIHVzZXIuCi0rICAgICAgICAiIiIKLSsgICAgICAgIG93bmVyID0gInRlc3R1c2VyMSIKLSsg ICAgICAgIENNRF9PVVRQVVQgPSAiMSBPVFAgdG9rZW4gbWF0Y2hlZCIKLSsgICAgICAgIHJlc3Vs dCA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAgICJpcGEiLCAi b3RwdG9rZW4tZmluZCIKLSsgICAgICAgIF0pCi0rICAgICAgICBhc3NlcnQgQ01EX09VVFBVVCBp biByZXN1bHQuc3Rkb3V0X3RleHQKLSsgICAgICAgIGFzc2VydCAnVHlwZTogVE9UUCcgaW4gcmVz dWx0LnN0ZG91dF90ZXh0Ci0rICAgICAgICBhc3NlcnQgJ093bmVyOiB7fScuZm9ybWF0KG93bmVy KSBpbiByZXN1bHQuc3Rkb3V0X3RleHQKLSsKLSsgICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfY2hl Y2tfcGFzc2tleV9jb25maWcoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVz dGNhc2UgY2hlY2tzIHRoYXQgcGFzc2tleSBjb25maWcKLSsgICAgICAgIGlzIG1pZ3JhdGVkCi0r ICAgICAgICAiIiIKLSsgICAgICAgIENNRF9PVVRQVVQgPSAiUmVxdWlyZSB1c2VyIHZlcmlmaWNh dGlvbjogRmFsc2UiCi0rICAgICAgICByZXN1bHQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21t YW5kKFsKLSsgICAgICAgICAgICAiaXBhIiwgInBhc3NrZXljb25maWctc2hvdyIKLSsgICAgICAg IF0pCi0rICAgICAgICBhc3NlcnQgQ01EX09VVFBVVCBpbiByZXN1bHQuc3Rkb3V0X3RleHQKLSsK LSsgICAgZGVmIHRlc3RfaXBhX21pZ3JhdGVfY2hlY2tfc2VydmljZV9zdGF0dXMoc2VsZik6Ci0r ICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdGNhc2UgY2hlY2tzIHRoYXQgaXBhY3RsIGFu ZCBzc3NkCi0rICAgICAgICBzZXJ2aWNlcyBhcmUgcnVubmluZyBwb3N0IGlwYS1taWdyYXRlIHRv b2wKLSsgICAgICAgIHN1Y2Nlc3NmdWwgcnVucyBjb21wbGV0ZWQKLSsgICAgICAgICIiIgotKyAg ICAgICAgY21kMSA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAg ICJpcGFjdGwiLCAic3RhdHVzIgotKyAgICAgICAgXSkKLSsgICAgICAgIGFzc2VydCBjbWQxLnJl dHVybmNvZGUgPT0gMAotKyAgICAgICAgY21kMiA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1h bmQoWwotKyAgICAgICAgICAgICJzeXN0ZW1jdGwiLCAic3RhdHVzIiwgInNzc2QiCi0rICAgICAg ICBdKQotKyAgICAgICAgYXNzZXJ0IGNtZDIucmV0dXJuY29kZSA9PSAwCi0rCi0rICAgIGRlZiB0 ZXN0X2N1c3RvbV9pZHJhbmdlX2lzX21pZ3JhdGVkKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAg ICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyB0aGF0IGN1c3RvbSBpZHJhbmdlIGlzIG1pZ3JhdGVk Ci0rICAgICAgICBmcm9tIHJlbW90ZSBzZXJ2ZXIgdG8gbG9jYWwgc2VydmVyIGluIHByb2R1Y3Rp b24KLSsgICAgICAgIG1vZGUuCi0rICAgICAgICAiIiIKLSsgICAgICAgIHJhbmdlX25hbWUgPSAi dGVzdHJhbmdlIgotKyAgICAgICAgQ01EX09VVFBVVCA9ICgKLSsgICAgICAgICAgICAiLS0tLS0t LS0tLS0tLS0tXG4iCi0rICAgICAgICAgICAgIjEgcmFuZ2UgbWF0Y2hlZFxuIgotKyAgICAgICAg ICAgICItLS0tLS0tLS0tLS0tLS1cbiIKLSsgICAgICAgICAgICAiICBSYW5nZSBuYW1lOiB0ZXN0 cmFuZ2VcbiIKLSsgICAgICAgICAgICAiICBGaXJzdCBQb3NpeCBJRCBvZiB0aGUgcmFuZ2U6IDEw MDAwXG4iCi0rICAgICAgICAgICAgIiAgTnVtYmVyIG9mIElEcyBpbiB0aGUgcmFuZ2U6IDEwMDAw XG4iCi0rICAgICAgICAgICAgIiAgRmlyc3QgUklEIG9mIHRoZSBjb3JyZXNwb25kaW5nIFJJRCBy YW5nZTogMzAwMDAwXG4iCi0rICAgICAgICAgICAgIiAgRmlyc3QgUklEIG9mIHRoZSBzZWNvbmRh cnkgUklEIHJhbmdlOiA0MDAwMDBcbiIKLSsgICAgICAgICAgICAiICBSYW5nZSB0eXBlOiBsb2Nh bCBkb21haW4gcmFuZ2VcbiIKLSsgICAgICAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLVxuIgotKyAgICAgICAgICAgICJOdW1iZXIgb2YgZW50cmllcyByZXR1cm5lZCAxXG4iCi0r ICAgICAgICAgICAgIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLSsgICAgICAgICkK LSsgICAgICAgIGNtZCA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAgICAg ICAgWyJpcGEiLCAiaWRyYW5nZS1maW5kIiwgcmFuZ2VfbmFtZV0pCi0rICAgICAgICBhc3NlcnQg Q01EX09VVFBVVCBpbiBjbWQuc3Rkb3V0X3RleHQKLSsKLSsgICAgZGVmIHRlc3RfYXV0b21vdW50 bG9jYXRpb25faXNfbWlncmF0ZWQoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMg dGVzdGNhc2UgY2hlY2tzIHRoYXQgYXV0b21vdW50IGxvY2F0aW9uL21hcHMKLSsgICAgICAgIGFu ZCBrZXlzIGFyZSBtaWdyYXRlZC4KLSsgICAgICAgICIiIgotKyAgICAgICAgYmFzZV9kbiA9IHN0 cihzZWxmLm1hc3Rlci5kb21haW4uYmFzZWRuKQotKyAgICAgICAgYXV0b21vdW50X2NuID0gImF1 dG9tb3VudCIKLSsgICAgICAgIGxvY19uYW1lID0gImJhbHRpbW9yZSIKLSsgICAgICAgIGF1dG9f bWFwX25hbWUgPSAiYXV0by5zaGFyZSIKLSsgICAgICAgIERFQlVHX0xPRyA9ICgKLSsgICAgICAg ICAgICAiQWRkZWQgZW50cnk6IGNuPXt9LGNuPXt9LHt9XG4iCi0rICAgICAgICApLmZvcm1hdChs b2NfbmFtZSwgYXV0b21vdW50X2NuLCBiYXNlX2RuKQotKyAgICAgICAgQ01EMV9PVVRQVVQgPSAo Ci0rICAgICAgICAgICAgIiAgTG9jYXRpb246IGJhbHRpbW9yZVxuIgotKyAgICAgICAgKQotKyAg ICAgICAgQ01EMl9PVVRQVVQgPSAoCi0rICAgICAgICAgICAgIiAgTWFwOiBhdXRvLnNoYXJlXG4i Ci0rICAgICAgICApCi0rICAgICAgICBDTUQzX09VVFBVVCA9ICgKLSsgICAgICAgICAgICAiLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLSsgICAgICAgICAgICAiMSBhdXRvbW91bnQga2V5IG1h dGNoZWRcbiIKLSsgICAgICAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKLSsgICAg ICAgICAgICAiICBLZXk6IHN1YlxuIgotKyAgICAgICAgICAgICIgIE1vdW50IGluZm9ybWF0aW9u OiAtZnN0eXBlPWF1dG9mcyBsZGFwOmF1dG8ubWFuXG4iCi0rICAgICAgICApCi0rICAgICAgICBj bWQxID0gc2VsZi5yZXBsaWNhc1swXS5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbImlwYSIs ICJhdXRvbW91bnRsb2NhdGlvbi1zaG93IiwgbG9jX25hbWVdKQotKyAgICAgICAgY21kMiA9IHNl bGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWyJpcGEiLCAiYXV0b21v dW50bWFwLWZpbmQiLCBsb2NfbmFtZV0pCi0rICAgICAgICBjbWQzID0gc2VsZi5yZXBsaWNhc1sw XS5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbImlwYSIsICJhdXRvbW91bnRrZXktZmluZCIs IGxvY19uYW1lLCBhdXRvX21hcF9uYW1lXQotKyAgICAgICAgKQotKyAgICAgICAgaW5zdGFsbF9t c2cgPSBzZWxmLnJlcGxpY2FzWzBdLmdldF9maWxlX2NvbnRlbnRzKAotKyAgICAgICAgICAgIHBh dGhzLklQQV9NSUdSQVRFX0xPRywgZW5jb2Rpbmc9InV0Zi04IgotKyAgICAgICAgKQotKyAgICAg ICAgYXNzZXJ0IENNRDFfT1VUUFVUIGluIGNtZDEuc3Rkb3V0X3RleHQKLSsgICAgICAgIGFzc2Vy dCBDTUQyX09VVFBVVCBpbiBjbWQyLnN0ZG91dF90ZXh0Ci0rICAgICAgICBhc3NlcnQgQ01EM19P VVRQVVQgaW4gY21kMy5zdGRvdXRfdGV4dAotKyAgICAgICAgYXNzZXJ0IERFQlVHX0xPRyBpbiBp bnN0YWxsX21zZwotKwotKwotK2NsYXNzIFRlc3RJUEFNaWdyYXRpb25XaXRoQUR0cnVzdChJbnRl Z3JhdGlvblRlc3QpOgotKyAgICAiIiIKLSsgICAgVGVzdCBmb3IgaXBhLW1pZ3JhdGUgdG9vbCB3 aXRoIElQQSBNYXN0ZXIgaGF2aW5nIHRydXN0IHNldHVwCi0rICAgIHdpdGggV2luZG93cyBBRC4K LSsgICAgIiIiCi0rICAgIHRvcG9sb2d5ID0gImxpbmUiCi0rICAgIG51bV9hZF9kb21haW5zID0g MQotKyAgICBudW1fcmVwbGljYXMgPSAxCi0rCi0rICAgIEBjbGFzc21ldGhvZAotKyAgICBkZWYg aW5zdGFsbChjbHMsIG1oKToKLSsgICAgICAgIHRhc2tzLmluc3RhbGxfbWFzdGVyKAotKyAgICAg ICAgICAgIGNscy5tYXN0ZXIsIHNldHVwX2Rucz1UcnVlLCBleHRyYV9hcmdzPVsnLS1uby1kbnNz ZWMtdmFsaWRhdGlvbiddCi0rICAgICAgICApCi0rICAgICAgICBjbHMuYWQgPSBjbHMuYWRzWzBd Ci0rICAgICAgICBjbHMuYWRfZG9tYWluID0gY2xzLmFkLmRvbWFpbi5uYW1lCi0rICAgICAgICB0 YXNrcy5pbnN0YWxsX2FkdHJ1c3QoY2xzLm1hc3RlcikKLSsgICAgICAgIHRhc2tzLmNvbmZpZ3Vy ZV9kbnNfZm9yX3RydXN0KGNscy5tYXN0ZXIsIGNscy5hZCkKLSsgICAgICAgIHRhc2tzLmVzdGFi bGlzaF90cnVzdF93aXRoX2FkKGNscy5tYXN0ZXIsIGNscy5hZC5kb21haW4ubmFtZSkKLSsKLSsg ICAgZGVmIHRlc3RfaW5zdGFsbF9sb2NhbF9zZXJ2ZXIoc2VsZik6Ci0rICAgICAgICAiIiIKLSsg ICAgICAgIFRoaXMgdGVzdCBpbnN0YWxscyBsb2NhbCBJUEEgU2VydmVyKCkgaS5lIG5ldyBJUEEg c2VydmVyIHdpdGgKLSsgICAgICAgIHRoZSBzYW1lIHJlYWxtIGFuZCBkb21haW4gbmFtZSB0aGF0 IHdpbGwgcmVjZWl2ZSB0aGUgbWlncmF0aW9uIGRhdGEuCi0rICAgICAgICAiIiIKLSsgICAgICAg IHRhc2tzLmluc3RhbGxfbWFzdGVyKAotKyAgICAgICAgICAgIHNlbGYucmVwbGljYXNbMF0sIHNl dHVwX2Rucz1UcnVlLAotKyAgICAgICAgICAgIGV4dHJhX2FyZ3M9WyctLW5vLWRuc3NlYy12YWxp ZGF0aW9uJ10KLSsgICAgICAgICkKLSsgICAgICAgIHRhc2tzLmluc3RhbGxfYWR0cnVzdChzZWxm LnJlcGxpY2FzWzBdKQotKwotKyAgICBkZWYgdGVzdF9jaGVja19hZF9hdHRyaWJ1dGVzX21pZ3Jh dGVfcHJvZF9tb2RlKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3QgY2hl Y2tzIHRoYXQgSVBBLUFEIHRydXN0IHJlbGF0ZWQgYXR0cmlidXRlcwotKyAgICAgICAgYXJlIG1p Z3JhdGVkIHRvIGxvY2FsIHNlcnZlci4KLSsgICAgICAgICIiIgotKyAgICAgICAgcmVzdWx0ID0g cnVuX21pZ3JhdGUoCi0rICAgICAgICAgICAgc2VsZi5yZXBsaWNhc1swXSwKLSsgICAgICAgICAg ICAicHJvZC1tb2RlIiwKLSsgICAgICAgICAgICBzZWxmLm1hc3Rlci5ob3N0bmFtZSwKLSsgICAg ICAgICAgICAiY249RGlyZWN0b3J5IE1hbmFnZXIiLAotKyAgICAgICAgICAgIHNlbGYubWFzdGVy LmNvbmZpZy5hZG1pbl9wYXNzd29yZCwKLSsgICAgICAgICAgICBleHRyYV9hcmdzPVsnLW4nXQot KyAgICAgICAgKQotKyAgICAgICAgYXNzZXJ0IHJlc3VsdC5yZXR1cm5jb2RlID09IDAKLSsgICAg ICAgIHRydXN0MSA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBh JywgJ3RydXN0LXNob3cnLCBzZWxmLmFkX2RvbWFpbl0KLSsgICAgICAgICkuc3Rkb3V0X3RleHQK LSsgICAgICAgIHRydXN0MiA9IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAg ICAgICAgWydpcGEnLCAndHJ1c3Qtc2hvdycsIHNlbGYuYWRfZG9tYWluXSkuc3Rkb3V0X3RleHQK LSsgICAgICAgIGFzc2VydCB0cnVzdDEgPT0gdHJ1c3QyCi0rCi0rICAgIGRlZiB0ZXN0X2NoZWNr X2RvbWFpbl9zaWRfaXNfbWlncmF0ZWQoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRo aXMgdGVzdGNhc2UgY2hlY2tzIHRoYXQgZG9tYWluIHNpZCBpcwotKyAgICAgICAgbWlncmF0ZWQg ZnJvbSBhIHJlbW90ZSBzZXJ2ZXIgaGF2aW5nIHRydXN0IHdpdGggQUQKLSsgICAgICAgIHRvIGxv Y2FsIHNlcnZlciBhbmQgaXMgZGlzcGxheWVkIGluIHRoZQotKyAgICAgICAgaXBhIHRydXN0Y29u ZmlnLXNob3cgY29tbWFuZAotKyAgICAgICAgIiIiCi0rICAgICAgICByZWdleHAgPSAocidTZWN1 cml0eSBJZGVudGlmaWVyOiAoLiopJCcpCi0rICAgICAgICBjbWQxID0gc2VsZi5tYXN0ZXIucnVu X2NvbW1hbmQoWyJpcGEiLCAidHJ1c3Rjb25maWctc2hvdyJdKQotKyAgICAgICAgc2lkMSA9IHJl LmZpbmRhbGwocmVnZXhwLCBjbWQxLnN0ZG91dF90ZXh0LCByZS5NVUxUSUxJTkUpCi0rICAgICAg ICBjbWQyID0gc2VsZi5yZXBsaWNhc1swXS5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbImlw YSIsICJ0cnVzdGNvbmZpZy1zaG93Il0KLSsgICAgICAgICkKLSsgICAgICAgIHNpZDIgPSByZS5m aW5kYWxsKHJlZ2V4cCwgY21kMi5zdGRvdXRfdGV4dCwgcmUuTVVMVElMSU5FKQotKyAgICAgICAg YXNzZXJ0IHNpZDEgPT0gc2lkMgotKwotKyAgICBkZWYgdGVzdF9jaGVja19hZF9pZHJhbmdlX2lz X21pZ3JhdGVkKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNo ZWNrcyBBRCBpZHJhbmdlIGlzIG1pZ3JhdGVkCi0rICAgICAgICBmcm9tIHJlbW90ZSBJUEEgc2Vy dmVyIGhhdmluZyB0cnVzdCB3aXRoIEFECi0rICAgICAgICB0byBsb2NhbCBJUEEgc2VydmVyCi0r ICAgICAgICAiIiIKLSsgICAgICAgIGFkX2RvbWFpbl9uYW1lID0gc2VsZi5hZC5kb21haW4ubmFt ZS51cHBlcigpCi0rICAgICAgICBjbWQxID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoCi0rICAg ICAgICAgICAgWyJpcGEiLCAiaWRyYW5nZS1zaG93IiwgYWRfZG9tYWluX25hbWUgKyAiX2lkX3Jh bmdlIl0KLSsgICAgICAgICkKLSsgICAgICAgIGNtZDIgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9j b21tYW5kKAotKyAgICAgICAgICAgIFsiaXBhIiwgImlkcmFuZ2Utc2hvdyIsIGFkX2RvbWFpbl9u YW1lICsgIl9pZF9yYW5nZSJdCi0rICAgICAgICApCi0rICAgICAgICBhc3NlcnQgY21kMS5zdGRv dXRfdGV4dCA9PSBjbWQyLnN0ZG91dF90ZXh0Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gZTA4ZjRm YjIyMjZmYThiYTJmMzkxMjdmZThlNmIxYTUyNTgxNmM2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA0 IE5vdiAyMDI0IDE0OjMzOjMzICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMDQxLzExNl0gaXBhdGVz dHM6IEluY2x1ZGUgaXBhLWlwYSBtaWdyYXRpb24gdGVzdHN1aXRlIGluCi0gbmlnaHRseSB0ZXN0 IGRlZmluaXRpb25zCi0KLVNpZ25lZC1vZmYtYnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRo YXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5j b20+Ci0tLS0KLSAuLi4vbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCAgICAgICAgICAgICAg ICB8IDE2ICsrKysrKysrKysrKysrLS0KLSAuLi4vbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2Vs aW51eC55YW1sICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKy0tCi0gMiBmaWxlcyBjaGFuZ2Vk LCAyOSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRleCAw N2UyYTgzOTkuLjViMGY4OWMzNSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMjEyNSwxMSArMjEyNSwy MyBAQCBqb2JzOgotICAgICAgIGNsYXNzOiBSdW5QeXRlc3QKLSAgICAgICBhcmdzOgotICAgICAg ICAgYnVpbGRfdXJsOiAne2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRfdXJsfScKLS0gICAg ICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5w eQotKyAgICAgICAgdGVzdF9zdWl0ZTogdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWln cmF0aW9uLnB5OjpUZXN0SVBBTWlncmF0ZUNMSU9wdGlvbnMgdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2lwYV9pcGFfbWlncmF0aW9uLnB5OjpUZXN0SVBBTWlncmF0aW9uU3RhZ2VNb2RlIHRlc3RfaW50 ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5weTo6VGVzdElQQU1pZ3JhdGlvblByb2RN b2RlCi0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotLSAgICAgICAgdGlt ZW91dDogMzYwMAotKyAgICAgICAgdGltZW91dDogOTAwMAotICAgICAgICAgdG9wb2xvZ3k6ICpt YXN0ZXJfMXJlcGxfMWNsaWVudAotIAotKyAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X0lQ QU1pZ3JhdGVBRFRydXN0OgotKyAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIv YnVpbGRdCi0rICAgIHByaW9yaXR5OiA1MAotKyAgICBqb2I6Ci0rICAgICAgY2xhc3M6IFJ1bkFE VGVzdHMKLSsgICAgICBhcmdzOgotKyAgICAgICAgYnVpbGRfdXJsOiAne2ZlZG9yYS1sYXRlc3Qt aXBhLTQtMTIvYnVpbGRfdXJsfScKLSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRp b24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5weTo6VGVzdElQQU1pZ3JhdGlvbldpdGhBRHRydXN0 Ci0rICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotKyAgICAgICAgdGltZW91 dDogNzIwMAotKyAgICAgICAgdG9wb2xvZ3k6ICphZF9tYXN0ZXJfMXJlcGxfMWNsaWVudAotKwot ICAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X2NvY2twaXQ6Ci0gICAgIHJlcXVpcmVzOiBb ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSAgICAgcHJpb3JpdHk6IDUwCi1kaWZmIC0t Z2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9z ZWxpbnV4LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJf bGF0ZXN0X3NlbGludXgueWFtbAotaW5kZXggMTEwNDZiZTEzLi4yNzdhNTQ3YTQgMTAwNjQ0Ci0t LS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3Nl bGludXgueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00 LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLUBAIC0yMjk1LDExICsyMjk1LDI0IEBAIGpvYnM6Ci0g ICAgICAgYXJnczoKLSAgICAgICAgIGJ1aWxkX3VybDogJ3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEy L2J1aWxkX3VybH0nCi0gICAgICAgICBzZWxpbnV4X2VuZm9yY2luZzogVHJ1ZQotLSAgICAgICAg dGVzdF9zdWl0ZTogdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5Ci0r ICAgICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRp b24ucHk6OlRlc3RJUEFNaWdyYXRlQ0xJT3B0aW9ucyB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBh X2lwYV9taWdyYXRpb24ucHk6OlRlc3RJUEFNaWdyYXRpb25TdGFnZU1vZGUgdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5OjpUZXN0SVBBTWlncmF0aW9uUHJvZE1vZGUK LSAgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBhLTQtMTItbGF0ZXN0Ci0tICAgICAgICB0aW1lb3V0 OiAzNjAwCi0rICAgICAgICB0aW1lb3V0OiA5MDAwCi0gICAgICAgICB0b3BvbG9neTogKm1hc3Rl cl8xcmVwbF8xY2xpZW50Ci0gCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3RfSVBBTWln cmF0ZUFEVHJ1c3Q6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWls ZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsgICAgICBjbGFzczogUnVuQURUZXN0 cwotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6ICd7ZmVkb3JhLWxhdGVzdC1pcGEt NC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgc2VsaW51eF9lbmZvcmNpbmc6IFRydWUKLSsgICAg ICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21pZ3JhdGlvbi5w eTo6VGVzdElQQU1pZ3JhdGlvbldpdGhBRHRydXN0Ci0rICAgICAgICB0ZW1wbGF0ZTogKmNpLWlw YS00LTEyLWxhdGVzdAotKyAgICAgICAgdGltZW91dDogNzIwMAotKyAgICAgICAgdG9wb2xvZ3k6 ICphZF9tYXN0ZXJfMXJlcGxfMWNsaWVudAotKwotICAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90 ZXN0X2NvY2twaXQ6Ci0gICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWls ZF0KLSAgICAgcHJpb3JpdHk6IDUwCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNzBlZTk4M2QwZDY2 OWVjNmJlZWNiZmMwMTE3YmNhM2U1OGI4YWU2NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDMx IE9jdCAyMDI0IDExOjUwOjQwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDQyLzExNl0gaXBhdGVz dHM6IG1vdmUgdGVzdHMgdG8gZmVkb3JhIDQxCi0KLU5vdyB0aGF0IGZlZG9yYSA0MSBpcyBhdmFp bGFibGUsIG1vdmUgdGhlIHRlc3RzIG9uIGlwYS00LTEyIGJyYW5jaAotb250byBmZWRvcmEgNDEg aW5zdGVhZCBvZiBmZWRvcmEgNDAuCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJl bmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUmFmYWVsIEd1dGVycmVzIEplZmZt YW4gPHJqZWZmbWFuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25z L2dhdGluZy55YW1sICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBpcGF0ZXN0cy9w cmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICAgICAgICB8IDIg Ky0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3Nl bGludXgueWFtbCB8IDIgKy0KLSAzIGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMyBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0 aW5nLnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL2dhdGluZy55YW1sCi1pbmRleCBl Mjg0Y2YyYjguLjQxNmE5OWNjOCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvZ2F0aW5nLnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlh bWwKLUBAIC0zMCw3ICszMCw3IEBAIGpvYnM6Ci0gICAgICAgICBnaXRfcmVwbzogJ3tnaXRfcmVw b30nCi0gICAgICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAgICAgICB0ZW1w bGF0ZTogJmNpLWlwYS00LTEyLWxhdGVzdAotLSAgICAgICAgICBuYW1lOiBmcmVlaXBhL2NpLWlw YS00LTEyLWY0MAotKyAgICAgICAgICBuYW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0MQotICAg ICAgICAgICB2ZXJzaW9uOiAwLjAuMQotICAgICAgICAgdGltZW91dDogMTgwMAotICAgICAgICAg dG9wb2xvZ3k6ICpidWlsZAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMv bmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMv bmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotaW5kZXggNWIwZjg5YzM1Li5mMDI4MzYxNWQg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJf bGF0ZXN0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEt NC0xMl9sYXRlc3QueWFtbAotQEAgLTU0LDcgKzU0LDcgQEAgam9iczoKLSAgICAgICAgIGdpdF9y ZXBvOiAne2dpdF9yZXBvfScKLSAgICAgICAgIGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScK LSAgICAgICAgIHRlbXBsYXRlOiAmY2ktaXBhLTQtMTItbGF0ZXN0Ci0tICAgICAgICAgIG5hbWU6 IGZyZWVpcGEvY2ktaXBhLTQtMTItZjQwCi0rICAgICAgICAgIG5hbWU6IGZyZWVpcGEvY2ktaXBh LTQtMTItZjQxCi0gICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0gICAgICAgICB0aW1lb3V0OiAx ODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJj aV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwgYi9pcGF0 ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFt bAotaW5kZXggMjc3YTU0N2E0Li5jMjg3MWM0NzMgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNp X2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotKysrIGIv aXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4 LnlhbWwKLUBAIC01NCw3ICs1NCw3IEBAIGpvYnM6Ci0gICAgICAgICBnaXRfcmVwbzogJ3tnaXRf cmVwb30nCi0gICAgICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAgICAgICB0 ZW1wbGF0ZTogJmNpLWlwYS00LTEyLWxhdGVzdAotLSAgICAgICAgICBuYW1lOiBmcmVlaXBhL2Np LWlwYS00LTEyLWY0MAotKyAgICAgICAgICBuYW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0MQot ICAgICAgICAgICB2ZXJzaW9uOiAwLjAuMQotICAgICAgICAgdGltZW91dDogMTgwMAotICAgICAg ICAgdG9wb2xvZ3k6ICpidWlsZAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGM2NGMwOThlMWQwYWU0 OTI0OTljYWE4M2ExYjczNTMyZGE1MTFmODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBDYXJsYSBNYXJ0aW5leiA8Y2FybG1hcnRAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjkgT2N0 IDIwMjQgMTU6MjM6NTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNDMvMTE2XSBGaXg6ICdPcmdh bml6YXRpb24nIGZpZWxkIGluIE9rdGEgbm90IHJlcXVpcmVkCi0KLUFsdGhvdWdoIHRoZSAnT3Jn YW5pemF0aW9uJyBmaWVsZCBpcyBub3QgcmVxdWlyZWQKLXdoZW4gdXNpbmcgdGhlIE9rdGEgdGVt cGxhdGUsIHRoZSBXZWJVSSByZXF1aXJlcyBpdAotaW4gb3JkZXIgdG8gY3JlYXRlIGEgbmV3IElE UC4gSWYgdGhpcyBpcyBub3QgcHJvdmlkZWQsCi1hbiBlcnJvciBpcyBzaG93bi4KLQotRml4ZXM6 IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY4NwotU2lnbmVkLW9mZi1ieTogQ2Fy bGEgTWFydGluZXogPGNhcmxtYXJ0QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGluc3RhbGwvdWkvc3JjL2ZyZWVpcGEv aWRwLmpzIHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC91aS9zcmMvZnJlZWlwYS9pZHAuanMgYi9pbnN0 YWxsL3VpL3NyYy9mcmVlaXBhL2lkcC5qcwotaW5kZXggYWRhMDljMDc1Li4wNGRhYWQ1OTEgMTAw NjQ0Ci0tLS0gYS9pbnN0YWxsL3VpL3NyYy9mcmVlaXBhL2lkcC5qcwotKysrIGIvaW5zdGFsbC91 aS9zcmMvZnJlZWlwYS9pZHAuanMKLUBAIC00MSw3ICs0MSw3IEBAIGlkcC50ZW1wbGF0ZXMgPSBb Ci0gICAgICAgZmllbGRzOiBbJ2lwYWlkcG9yZyddfSwKLSAgICAgeyB2YWx1ZTogJ29rdGEnLAot ICAgICAgIGxhYmVsOiB0ZXh0LmdldCgnQGkxOG46b2JqZWN0cy5pZHAudGVtcGxhdGVfb2t0YScp LAotLSAgICAgIGZpZWxkczogWydpcGFpZHBvcmcnLCAnaXBhaWRwYmFzZXVybCddfQotKyAgICAg IGZpZWxkczogWydpcGFpZHBiYXNldXJsJ119Ci0gXTsKLSAKLSAKLS0tIAotMi40OS4wCi0KLQot RnJvbSBiYWE5ZmMzZTNlMmY2YjM5ZGI1ZWM0NjVjOTJkYzU5N2NkNTM5OWI5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLURhdGU6IFR1ZSwgMTIgTm92IDIwMjQgMTY6NDQ6NDYgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SCAwNDQvMTE2XSBpcGF0ZXN0czogaW5zdGFsbCBtYXN0ZXIgd2l0aCBhbGxvdy16b25lLW92ZXJs YXAKLQotSW4gdGhlIElQQSB0byBJUEEgbWlncmF0aW9uIHRlc3RzLCBpbnN0YWxsIHRoZSBkZXN0 aW5hdGlvbiBtYXN0ZXIKLXdpdGggLS1zZXR1cC1kbnMgLS1hbGxvdy16b25lLW92ZXJsYXAgdG8g YWxsb3cgaW5zdGFsbGF0aW9uCi1ldmVuIGlmIHRoZSB6b25lIGlzIGFscmVhZHkgc2VydmVkIGJ5 IHRoZSBzb3VyY2UgbWFzdGVyLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9p c3N1ZS85Njk3Ci1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRo YXQuY29tPgotUmV2aWV3ZWQtQnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgot LS0tCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5 IHwgNSArKystLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lw YV9taWdyYXRpb24ucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9t aWdyYXRpb24ucHkKLWluZGV4IGQ4NTJjYTYzYS4uMGM2MzdhMDE0IDEwMDY0NAotLS0tIGEvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5Ci0rKysgYi9p cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24ucHkKLUBAIC0z NDUsNyArMzQ1LDggQEAgY2xhc3MgTWlncmF0aW9uVGVzdChJbnRlZ3JhdGlvblRlc3QpOgotICAg ICAgICAgdGFza3MuaW5zdGFsbF9tYXN0ZXIoY2xzLm1hc3Rlciwgc2V0dXBfZG5zPVRydWUsIHNl dHVwX2tyYT1UcnVlKQotICAgICAgICAgcHJlcGFyZV9pcGFfc2VydmVyKGNscy5tYXN0ZXIpCi0g ICAgICAgICB0YXNrcy5pbnN0YWxsX2NsaWVudChjbHMubWFzdGVyLCBjbHMuY2xpZW50c1swXSwg bmFtZXNlcnZlcnM9Tm9uZSkKLS0gICAgICAgIHRhc2tzLmluc3RhbGxfbWFzdGVyKGNscy5yZXBs aWNhc1swXSwgc2V0dXBfZG5zPVRydWUsIHNldHVwX2tyYT1UcnVlKQotKyAgICAgICAgdGFza3Mu aW5zdGFsbF9tYXN0ZXIoY2xzLnJlcGxpY2FzWzBdLCBzZXR1cF9kbnM9VHJ1ZSwgc2V0dXBfa3Jh PVRydWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9hcmdzPVsnLS1hbGxv dy16b25lLW92ZXJsYXAnXSkKLSAKLSAKLSBjbGFzcyBUZXN0SVBBTWlncmF0ZUNMSU9wdGlvbnMo TWlncmF0aW9uVGVzdCk6Ci1AQCAtMTIxMSw3ICsxMjEyLDcgQEAgY2xhc3MgVGVzdElQQU1pZ3Jh dGlvbldpdGhBRHRydXN0KEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAiIiIKLSAgICAgICAg IHRhc2tzLmluc3RhbGxfbWFzdGVyKAotICAgICAgICAgICAgIHNlbGYucmVwbGljYXNbMF0sIHNl dHVwX2Rucz1UcnVlLAotLSAgICAgICAgICAgIGV4dHJhX2FyZ3M9WyctLW5vLWRuc3NlYy12YWxp ZGF0aW9uJ10KLSsgICAgICAgICAgICBleHRyYV9hcmdzPVsnLS1uby1kbnNzZWMtdmFsaWRhdGlv bicsICctLWFsbG93LXpvbmUtb3ZlcmxhcCddCi0gICAgICAgICApCi0gICAgICAgICB0YXNrcy5p bnN0YWxsX2FkdHJ1c3Qoc2VsZi5yZXBsaWNhc1swXSkKLSAKLS0tIAotMi40OS4wCi0KLQotRnJv bSBjMzA2YzYxMzM5OWNkZDlhMmM3MTZiODNjZTBkNDdkMzIwYWVjMmE4IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci1EYXRlOiBUdWUsIDE5IE5vdiAyMDI0IDEyOjU3OjQ2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0gg MDQ1LzExNl0gaXBhc2VydmVyL2RjZXJwYzogc3VwcG9ydCBTYW1iYSA0LjIxCi0KLVNhbWJhIDQu MjEgbW92ZWQgc2FtYmEudHJ1c3RfdXRpbHMgbW9kdWxlIHRvIHNhbWJhLmxzYV91dGlscy4KLQot Rml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTcwMgotCi1TaWduZWQtb2Zm LWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5 OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVy L2RjZXJwYy5weSB8IDggKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2RjZXJwYy5weSBiL2lw YXNlcnZlci9kY2VycGMucHkKLWluZGV4IGEyOGM3MjM2MS4uMzM0NGVhMjI2IDEwMDY0NAotLS0t IGEvaXBhc2VydmVyL2RjZXJwYy5weQotKysrIGIvaXBhc2VydmVyL2RjZXJwYy5weQotQEAgLTU1 LDkgKzU1LDEzIEBAIGZyb20gc2FtYmEgaW1wb3J0IG50c3RhdHVzCi0gaW1wb3J0IHNhbWJhCi0g Ci0gdHJ5OgotLSAgICBmcm9tIHNhbWJhLnRydXN0X3V0aWxzIGltcG9ydCBDcmVhdGVUcnVzdGVk RG9tYWluUmVsYXgKLSsgICAgZnJvbSBzYW1iYS5sc2FfdXRpbHMgaW1wb3J0IENyZWF0ZVRydXN0 ZWREb21haW5SZWxheAotIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLS0gICAgQ3JlYXRlVHJ1c3RlZERv bWFpblJlbGF4ID0gTm9uZQotKyAgICB0cnk6Ci0rICAgICAgICBmcm9tIHNhbWJhLnRydXN0X3V0 aWxzIGltcG9ydCBDcmVhdGVUcnVzdGVkRG9tYWluUmVsYXgKLSsgICAgZXhjZXB0IEltcG9ydEVy cm9yOgotKyAgICAgICAgQ3JlYXRlVHJ1c3RlZERvbWFpblJlbGF4ID0gTm9uZQotKwotIHRyeToK LSAgICAgZnJvbSBzYW1iYSBpbXBvcnQgYXJjZm91cl9lbmNyeXB0Ci0gZXhjZXB0IEltcG9ydEVy cm9yOgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGZkZmU5NDI1OGIyZTVhMjZiM2EyZWJjNGJlNTZj MTVmMDY4MmI2YmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFu Yy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAyOSBOb3YgMjAyNCAxNDowNzoy OCArMDEwMAotU3ViamVjdDogW1BBVENIIDA0Ni8xMTZdIHJlYWR0aGVkb2NzOiBpbnN0YWxsIGNy eXB0byA0My4wLjAKLQotSWYgY3J5cHRvIDQ0LjAuMCBpcyBpbnN0YWxsZWQsIHJlYWR0aGVkb2Nz IGJ1aWxkIGZhaWxzCi13aXRoOgotVHlwZUVycm9yOiB0eXBlICdjcnlwdG9ncmFwaHkuaGF6bWF0 LmJpbmRpbmdzLl9ydXN0Lng1MDkuQ2VydGlmaWNhdGUnCi1pcyBub3QgYW4gYWNjZXB0YWJsZSBi YXNlIHR5cGUKLQotRm9yY2UgaW5zdGFsbGF0aW9uIG9mIGNyeXB0b2dyYXBoeSA8IDQ0LjAuMAot Ci1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot UmV2aWV3ZWQtQnk6IEZyYW5jaXNjbyBUcml2aW5vIDxmdHJpdmlub0ByZWRoYXQuY29tPgotLS0t Ci0gZG9jL3JlcXVpcmVtZW50cy50eHQgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9kb2MvcmVxdWlyZW1lbnRzLnR4 dCBiL2RvYy9yZXF1aXJlbWVudHMudHh0Ci1pbmRleCA4ZDkxYjg5M2YuLmIyMDcxMzY5YSAxMDA2 NDQKLS0tLSBhL2RvYy9yZXF1aXJlbWVudHMudHh0Ci0rKysgYi9kb2MvcmVxdWlyZW1lbnRzLnR4 dAotQEAgLTIxLDcgKzIxLDcgQEAgcmVxdWVzdHMKLSAKLSAjIyBDIGxpYnJhcmllcyB3aXRoIGJp bmFyeSB3aGVlbHMKLSBjZmZpCi0tY3J5cHRvZ3JhcGh5Ci0rY3J5cHRvZ3JhcGh5IDwgNDQuMC4w Ci0gbHhtbAotIAotICMjIEMgbGlicmFyaWVzIHdpdGhvdXQgYmluYXJpZXMgd2hlZWxzCi0tLSAK LTIuNDkuMAotCi0KLUZyb20gMTg0NTg5ZmFjNGZmMzZiNTU4MzU0MWY0MGRmZjkxMjk2YzMzMzcw YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRl bkByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyIERlYyAyMDI0IDEwOjIzOjI5IC0wNTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDQ3LzExNl0gQWxsb3cgbG9va2luZyB1cCBjb25zdGFudHMuR3JvdXAgYnkg Z2lkIGluIGFkZGl0aW9uCi0gdG8gbmFtZQotCi1UaGlzIGFkZHMgZmxleGliaWxpdHkgc28gd2Ug Y2FuIGxvb2sgdXAgZ3JvdXBzIGJ5IGJvdGggZ2lkIGFuZAotYnkgbmFtZSBpbiBvcmRlciB0byBo YXZlIGEgbW9yZSBjb25zaXN0ZW50IEFQSSBmb3IgbWFuYWdlbWVudC4KLQotUmVsYXRlZDogaHR0 cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzA5Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBD cml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBC b2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5j LVJlbmF1ZCA8ZnJlbmF1ZEByZWRoYXQuY29tPgotLS0tCi0gaXBhcGxhdGZvcm0vYmFzZS9jb25z dGFudHMucHkgICAgICAgICAgICAgICB8ICA1ICsrKystCi0gaXBhdGVzdHMvdGVzdF9pcGFwbGF0 Zm9ybS90ZXN0X2NvbnN0YW50cy5weSB8IDExICsrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2Vk LCAxNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFwbGF0 Zm9ybS9iYXNlL2NvbnN0YW50cy5weSBiL2lwYXBsYXRmb3JtL2Jhc2UvY29uc3RhbnRzLnB5Ci1p bmRleCAxNjg5ZWZlNTIuLmYxZWY3ZWZmZiAxMDA2NDQKLS0tLSBhL2lwYXBsYXRmb3JtL2Jhc2Uv Y29uc3RhbnRzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9iYXNlL2NvbnN0YW50cy5weQotQEAgLTg2 LDcgKzg2LDEwIEBAIGNsYXNzIEdyb3VwKF9FbnRpdHkpOgotICAgICAgICAgICAgIHRyeToKLSAg ICAgICAgICAgICAgICAgc2VsZi5fZW50aXR5ID0gZW50aXR5ID0gZ3JwLmdldGdybmFtKHNlbGYp Ci0gICAgICAgICAgICAgZXhjZXB0IEtleUVycm9yOgotLSAgICAgICAgICAgICAgICByYWlzZSBW YWx1ZUVycm9yKGYiZ3JvdXAgJ3tzZWxmIXN9JyBub3QgZm91bmQiKSBmcm9tIE5vbmUKLSsgICAg ICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fZW50aXR5ID0gZW50 aXR5ID0gZ3JwLmdldGdyZ2lkKGludChzZWxmKSkKLSsgICAgICAgICAgICAgICAgZXhjZXB0IChU eXBlRXJyb3IsIFZhbHVlRXJyb3IpOgotKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVF cnJvcihmImdyb3VwICd7c2VsZiFzfScgbm90IGZvdW5kIikgZnJvbSBOb25lCi0gICAgICAgICBy ZXR1cm4gZW50aXR5Ci0gCi0gICAgIEBwcm9wZXJ0eQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rl c3RfaXBhcGxhdGZvcm0vdGVzdF9jb25zdGFudHMucHkgYi9pcGF0ZXN0cy90ZXN0X2lwYXBsYXRm b3JtL3Rlc3RfY29uc3RhbnRzLnB5Ci1pbmRleCBiNTdiZmE0OGUuLjliYjEyMjgzNiAxMDA2NDQK LS0tLSBhL2lwYXRlc3RzL3Rlc3RfaXBhcGxhdGZvcm0vdGVzdF9jb25zdGFudHMucHkKLSsrKyBi L2lwYXRlc3RzL3Rlc3RfaXBhcGxhdGZvcm0vdGVzdF9jb25zdGFudHMucHkKLUBAIC0xLDYgKzEs NyBAQAotICMKLSAjIENvcHlyaWdodCAoQykgMjAyMCAgRnJlZUlQQSBDb250cmlidXRvcnMgc2Vl IENPUFlJTkcgZm9yIGxpY2Vuc2UKLSAjCi0raW1wb3J0IGdycAotIGltcG9ydCBweXRlc3QKLSAK LSBmcm9tIGlwYXBsYXRmb3JtLmJhc2UuY29uc3RhbnRzIGltcG9ydCBVc2VyLCBHcm91cAotQEAg LTQwLDYgKzQxLDE2IEBAIGRlZiB0ZXN0X2dyb3VwKCk6Ci0gICAgIGFzc2VydCBHcm91cChzdHIo Z3JvdXApKSBpcyBub3QgZ3JvdXAKLSAKLSAKLStkZWYgdGVzdF9udW1lcmljX2dyb3VwKCk6Ci0r ICAgIGcgPSBncnAuZ2V0Z3JuYW0oJ2FwYWNoZScpCi0rICAgIGdyb3VwID0gR3JvdXAoZy5ncl9n aWQpCi0rICAgIGFzc2VydCBncm91cC5naWQgPT0gZy5ncl9naWQKLSsgICAgYXNzZXJ0IHR5cGUo c3RyKGdyb3VwKSkgaXMgc3RyCi0rICAgIGFzc2VydCByZXByKGdyb3VwKSA9PSAnPEdyb3VwICIl ZCI+JyAlIGcuZ3JfZ2lkCi0rICAgIGFzc2VydCBncm91cC5naWQgPT0gZy5ncl9naWQKLSsgICAg YXNzZXJ0IGdyb3VwLmVudGl0eS5ncl9naWQgPT0gZy5ncl9naWQKLSsKLSsKLSBkZWYgdGVzdF9n cm91cF9pbnZhbGlkKCk6Ci0gICAgIGludmFsaWQgPSBHcm91cCgiaW52YWxpZCIpCi0gICAgIHdp dGggcHl0ZXN0LnJhaXNlcyhWYWx1ZUVycm9yKSBhcyBlOgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9t IDkzNGQ0YTI5MWQ0NGE0MGI1ZWEwMDZhYTFmMDlhZmE4ZTRhOTg1ZmMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURh dGU6IE1vbiwgMiBEZWMgMjAyNCAxMDoyNzoxNSAtMDUwMAotU3ViamVjdDogW1BBVENIIDA0OC8x MTZdIFBhc3MgYWxsIHBraXVzZXIgZ3JvdXBzIGFzIHN1cGxlbWVudGFyeSB3aGVuCi0gdmFsaWRh dGluZyBhbiBIU00KLQotV2Ugd2VyZSBkb2luZyBhICJiZXN0IGVmZm9ydCIgd2hlbiB2YWxpZGF0 aW5nIHRoZSBIU00gdG9rZW4gaXMKLXZpc2libGUgd2l0aCBhIHZhbGlkIFBJTiB3aGVuIGl0IGNh bWUgdG8gZ3JvdXBzLiBBIHNwZWNpZmljCi13b3JrYXJvdW5kIHdhcyBhZGRlZCBmb3Igc29mdGhz bTIgYnV0IHRoaXMgZGlkbid0IGNhcnJ5IG92ZXIKLXRvIG90aGVyIEhTTXMgdGhhdCBtYXkgaGF2 ZSBncm91cC1zcGVjaWZpYyByZWFkL3dyaXRlIGFjY2Vzcy4KLQotVXNlIHRoZSBuZXcgY2FwYWJp bGl0eSBpbiBpcGFwbGF0Zm9ybS5jb25zdGFudHMucHk6Okdyb3VwIHRvIGJlCi1hYmxlIHRvIHVz ZSBnZW5lcmF0ZSBhIHZhbGlkIGVudHJ5IGZyb20gYSBncm91cCBHSUQuIFBhaXIgdGhpcwotd2l0 aCBvcy5nZXRncm91cGxpc3QoKSBhbmQgYWxsIGdyb3VwcyB3aWxsIGJlIHBhc3NlZCBjb3JyZWN0 bHkKLXZpYSBpcGF1dGlsLnJ1bigpLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlw YS9pc3N1ZS85NzA5Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkBy ZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRo YXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJlbmF1ZEByZWRo YXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvY2EucHkgfCAxMiArKysrLS0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvY2EucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYS5w eQotaW5kZXggNTIwZTNmYzVkLi4yOTU5YWNlZWQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5z dGFsbC9jYS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvY2EucHkKLUBAIC0yMTEsMTEgKzIx MSw3IEBAIGRlZiBoc21fdmFsaWRhdG9yKHRva2VuX25hbWUsIHRva2VuX2xpYnJhcnksIHRva2Vu X3Bhc3N3b3JkKToKLSAgICAgICAgICkKLSAgICAgcGtpdXNlciA9IGNvbnN0YW50cy5QS0lfVVNF UgotICAgICBwa2lncm91cCA9IGNvbnN0YW50cy5QS0lfR1JPVVAKLS0gICAgaWYgJ2xpYnNvZnRo c20nIGluIHRva2VuX2xpYnJhcnk6Ci0tICAgICAgICBpbXBvcnQgZ3JwCi0tICAgICAgICBncm91 cCA9IGdycC5nZXRncm5hbShjb25zdGFudHMuT0RTX0dST1VQKQotLSAgICAgICAgaWYgc3RyKGNv bnN0YW50cy5QS0lfVVNFUikgaW4gZ3JvdXAuZ3JfbWVtOgotLSAgICAgICAgICAgIHBraWdyb3Vw ID0gY29uc3RhbnRzLk9EU19HUk9VUAotKyAgICBncm91cF9saXN0ID0gb3MuZ2V0Z3JvdXBsaXN0 KHBraXVzZXIsIHBraWdyb3VwLmdpZCkKLSAgICAgd2l0aCBjZXJ0ZGIuTlNTRGF0YWJhc2UoKSBh cyB0ZW1wbnNzZGI6Ci0gICAgICAgICB0ZW1wbnNzZGIuY3JlYXRlX2RiKHVzZXI9c3RyKHBraXVz ZXIpLCBncm91cD1zdHIocGtpZ3JvdXApKQotICAgICAgICAgIyBUcnkgYWRkaW5nIHRoZSB0b2tl biBsaWJyYXJ5IHRvIHRoZSB0ZW1wb3JhcnkgZGF0YWJhc2UgaW4KLUBAIC0yMzEsNyArMjI3LDcg QEAgZGVmIGhzbV92YWxpZGF0b3IodG9rZW5fbmFtZSwgdG9rZW5fbGlicmFyeSwgdG9rZW5fcGFz c3dvcmQpOgotICAgICAgICAgIyBJdCBtYXkgZmFpbCBpZiBwMTEta2l0IGhhcyBhbHJlYWR5IHJl Z2lzdGVyZWQgdGhlIGxpYnJhcnksIHRoYXQncwotICAgICAgICAgIyBvay4KLSAgICAgICAgIGlw YXV0aWwucnVuKGNvbW1hbmQsIHN0ZGluPSdcbicsIGN3ZD10ZW1wbnNzZGIuc2VjZGlyLAotLSAg ICAgICAgICAgICAgICAgICAgcnVuYXM9cGtpdXNlciwgc3VwbGVtZW50YXJ5X2dyb3Vwcz1bcGtp Z3JvdXBdLAotKyAgICAgICAgICAgICAgICAgICAgcnVuYXM9cGtpdXNlciwgc3VwbGVtZW50YXJ5 X2dyb3Vwcz1ncm91cF9saXN0LAotICAgICAgICAgICAgICAgICAgICAgcmFpc2VvbmVycj1GYWxz ZSkKLSAKLSAgICAgICAgIGNvbW1hbmQgPSBbCi1AQCAtMjQyLDcgKzIzOCw3IEBAIGRlZiBoc21f dmFsaWRhdG9yKHRva2VuX25hbWUsIHRva2VuX2xpYnJhcnksIHRva2VuX3Bhc3N3b3JkKToKLSAg ICAgICAgIF0KLSAgICAgICAgIGxpbmVzID0gaXBhdXRpbC5ydW4oCi0gICAgICAgICAgICAgY29t bWFuZCwgY3dkPXRlbXBuc3NkYi5zZWNkaXIsIGNhcHR1cmVfb3V0cHV0PVRydWUsCi0tICAgICAg ICAgICAgcnVuYXM9cGtpdXNlciwgc3VwbGVtZW50YXJ5X2dyb3Vwcz1bcGtpZ3JvdXBdKS5vdXRw dXQKLSsgICAgICAgICAgICBydW5hcz1wa2l1c2VyLCBzdXBsZW1lbnRhcnlfZ3JvdXBzPWdyb3Vw X2xpc3QpLm91dHB1dAotICAgICAgICAgZm91bmQgPSBGYWxzZQotICAgICAgICAgdG9rZW5fbGlu ZSA9IGYndG9rZW46IHt0b2tlbl9uYW1lfScKLSAgICAgICAgIGZvciBsaW5lIGluIGxpbmVzLnNw bGl0KCdcbicpOgotQEAgLTI2NSw3ICsyNjEsNyBAQCBkZWYgaHNtX3ZhbGlkYXRvcih0b2tlbl9u YW1lLCB0b2tlbl9saWJyYXJ5LCB0b2tlbl9wYXNzd29yZCk6Ci0gICAgICAgICBdCi0gICAgICAg ICByZXN1bHQgPSBpcGF1dGlsLnJ1bihhcmdzLCBjd2Q9dGVtcG5zc2RiLnNlY2RpciwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJ1bmFzPXBraXVzZXIsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdXBsZW1lbnRhcnlfZ3JvdXBzPVtwa2lncm91cF0sCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdXBsZW1lbnRhcnlfZ3JvdXBzPWdyb3VwX2xpc3QsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjYXB0dXJlX2Vycm9yPVRydWUsIHJhaXNlb25lcnI9 RmFsc2UpCi0gICAgICAgICBpZiByZXN1bHQucmV0dXJuY29kZSAhPSAwIGFuZCBsZW4ocmVzdWx0 LmVycm9yX291dHB1dCk6Ci0gICAgICAgICAgICAgaWYgJ1NFQ19FUlJPUl9CQURfUEFTU1dPUkQn IGluIHJlc3VsdC5lcnJvcl9vdXRwdXQ6Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gZTNjZjRkMGJm OTcxYTgwM2U3NWYwYjViNTQ2MzRmNjVlNjQxYjc1MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogTW9u LCAyIERlYyAyMDI0IDA5OjM0OjQ5ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDQ5LzExNl0gUmV2 ZXJ0ICJyZWFkdGhlZG9jczogaW5zdGFsbCBjcnlwdG8gNDMuMC4wIgotCi1UaGlzIHJldmVydHMg Y29tbWl0IGIyMGMzZmI2MDU1OGI1MzhlZjEzZTBlMGZlODlhZTM2MWQ1Mjk1NTMuCi0KLUFzIHdl IHN1cHBvcnQgUHlDQSA0NC4wLjAsIG5vIG5lZWQgdG8gcHJldmVudCBpdHMgaW5zdGFsbGF0aW9u IGFueW1vcmUuCi0KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRo YXQuY29tPgotLS0tCi0gZG9jL3JlcXVpcmVtZW50cy50eHQgfCAyICstCi0gMSBmaWxlIGNoYW5n ZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9kb2MvcmVx dWlyZW1lbnRzLnR4dCBiL2RvYy9yZXF1aXJlbWVudHMudHh0Ci1pbmRleCBiMjA3MTM2OWEuLjhk OTFiODkzZiAxMDA2NDQKLS0tLSBhL2RvYy9yZXF1aXJlbWVudHMudHh0Ci0rKysgYi9kb2MvcmVx dWlyZW1lbnRzLnR4dAotQEAgLTIxLDcgKzIxLDcgQEAgcmVxdWVzdHMKLSAKLSAjIyBDIGxpYnJh cmllcyB3aXRoIGJpbmFyeSB3aGVlbHMKLSBjZmZpCi0tY3J5cHRvZ3JhcGh5IDwgNDQuMC4wCi0r Y3J5cHRvZ3JhcGh5Ci0gbHhtbAotIAotICMjIEMgbGlicmFyaWVzIHdpdGhvdXQgYmluYXJpZXMg d2hlZWxzCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gZDRkNTZhNjcwNWM4NzA5MDFiYzczODgyZTQ4 MDQzNjdmN2M5YzkxYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBC b2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogU3VuLCAxIERlYyAyMDI0IDIwOjE2 OjU0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDUwLzExNl0gaXBhbGliL3g1MDk6IHN1cHBvcnQg UHlDQSA0NC4wCi0KLVB5Q0EgbWFkZSB4NTA5LkNlcnRpZmljYXRlIGNsYXNzIGNvbmNyZXRlLCBp dCBjYW5ub3QgYmUgZXh0ZW5kZWQgYW55bW9yZQotYnkgUHl0aG9uIGNvZGUuIFRoZSBpbnRlbnQg aXMgdG8gdXNlIGhlbHBlciBmdW5jdGlvbnMgdG8gaW5zdGFudGlhdGUKLWNlcnRpZmljYXRlIG9i amVjdHMgYW5kIG5ldmVyIGNyZWF0ZSB0aGVtIGRpcmVjdGx5LgotCi1GcmVlSVBBIHdyYXBzIFB5 Q0EncyB4NTA5LkNlcnRpZmljYXRlIGNsYXNzIGFuZCBwcm92aWRlcyBvd24gc2hpbQotb24gdG9w IG9mIGl0LiBJbiBtb3N0IGNhc2VzIHdlIGxvYWQgdGhlIGNlcnRpZmljYXRlIGNvbnRlbnQgdmlh IHRoZQotaGVscGVyIGZ1bmN0aW9ucyBhbmQgZG9uJ3QgcmVhbGx5IG5lZWQgdG8gZGVyaXZlIGZy b20gdGhlIGNlcnRpZmljYXRlCi1jbGFzcy4KLQotTW92ZSBJUEFDZXJ0aWZpY2F0ZSB0byBiZSBh IG5vcm1hbCBQeXRob24gb2JqZWN0IGNsYXNzIHRoYXQgc3RvcmVzCi14NTA5LkNlcnRpZmljYXRl IGludGVybmFsbHkuIFRoZSBvbmx5IHBsYWNlIHdoZXJlIHRoaXMgYnJlYWtzIGlzIHdoZW4KLUlQ QUNlcnRpZmljYXRlIG9iamVjdCBuZWVkcyB0byBiZSBwYXNzZWQgdG8gYSBjb2RlIHRoYXQgZXhw ZWN0cwoteDUwOS5DZXJ0aWZpY2F0ZSAoRG9ndGFnIFBLSSkuIEluIHN1Y2ggY2FzZXMsIGV4cG9z ZSB0aGUgdW5kZXJseWluZwotY2VydGlmaWNhdGUgaW5zdGFuY2UgdmlhIElQQUNlcnRpZmljYXRl LmNlcnQgcHJvcGVydHkuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3Vl Lzk3MDgKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLS0tLQotIGlwYWxpYi9pcGFqc29uLnB5ICAgICAgICAgICB8ICA0ICsrLS0KLSBpcGFsaWIv eDUwOS5weSAgICAgICAgICAgICAgfCAxMCArKysrKysrKystCi0gaXBhcHl0aG9uL2lwYWxkYXAu cHkgICAgICAgIHwgMTUgKysrKysrKy0tLS0tLS0tCi0gaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFn LnB5IHwgIDMgKystCi0gNCBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMiBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYWxpYi9pcGFqc29uLnB5IGIvaXBhbGliL2lwYWpz b24ucHkKLWluZGV4IDU1NTFkMTJlNS4uZmQ5OWM4MjE5IDEwMDY0NAotLS0tIGEvaXBhbGliL2lw YWpzb24ucHkKLSsrKyBiL2lwYWxpYi9pcGFqc29uLnB5Ci1AQCAtOSw3ICs5LDcgQEAgZnJvbSBk ZWNpbWFsIGltcG9ydCBEZWNpbWFsCi0gaW1wb3J0IGpzb24KLSBpbXBvcnQgc2l4Ci0gZnJvbSBp cGFsaWIuY29uc3RhbnRzIGltcG9ydCBMREFQX0dFTkVSQUxJWkVEX1RJTUVfRk9STUFUCi0tZnJv bSBpcGFsaWIgaW1wb3J0IGNhcGFiaWxpdGllcwotK2Zyb20gaXBhbGliIGltcG9ydCBjYXBhYmls aXRpZXMsIHg1MDkKLSBmcm9tIGlwYWxpYi54NTA5IGltcG9ydCBFbmNvZGluZyBhcyB4NTA5X0Vu Y29kaW5nCi0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0IEROCi0gZnJvbSBpcGFweXRob24uZG5z dXRpbCBpbXBvcnQgRE5TTmFtZQotQEAgLTcyLDcgKzcyLDcgQEAgY2xhc3MgX0pTT05QcmltZXIo ZGljdCk6Ci0gICAgICAgICAgICAgbGlzdDogc2VsZi5fZW5jX2xpc3QsCi0gICAgICAgICAgICAg dHVwbGU6IHNlbGYuX2VuY19saXN0LAotICAgICAgICAgICAgIGRpY3Q6IHNlbGYuX2VuY19kaWN0 LAotLSAgICAgICAgICAgIGNyeXB0b194NTA5LkNlcnRpZmljYXRlOiBzZWxmLl9lbmNfY2VydGlm aWNhdGUsCi0rICAgICAgICAgICAgeDUwOS5JUEFDZXJ0aWZpY2F0ZTogc2VsZi5fZW5jX2NlcnRp ZmljYXRlLAotICAgICAgICAgICAgIGNyeXB0b194NTA5LkNlcnRpZmljYXRlU2lnbmluZ1JlcXVl c3Q6IHNlbGYuX2VuY19jZXJ0aWZpY2F0ZSwKLSAgICAgICAgIH0pCi0gCi1kaWZmIC0tZ2l0IGEv aXBhbGliL3g1MDkucHkgYi9pcGFsaWIveDUwOS5weQotaW5kZXggZmQwODIzODk2Li42NzgwYmVh ZDAgMTAwNjQ0Ci0tLS0gYS9pcGFsaWIveDUwOS5weQotKysrIGIvaXBhbGliL3g1MDkucHkKLUBA IC04OCw3ICs4OCw3IEBAIFNBTl9VUE4gPSAnMS4zLjYuMS40LjEuMzExLjIwLjIuMycKLSBTQU5f S1JCNVBSSU5DSVBBTE5BTUUgPSAnMS4zLjYuMS41LjIuMicKLSAKLSAKLS1jbGFzcyBJUEFDZXJ0 aWZpY2F0ZShjcnlwdG9feDUwOS5DZXJ0aWZpY2F0ZSk6Ci0rY2xhc3MgSVBBQ2VydGlmaWNhdGU6 Ci0gICAgICIiIgotICAgICBBIHByb3h5IGNsYXNzIHdyYXBwaW5nIGEgcHl0aG9uLWNyeXB0b2dy YXBoeSBjZXJ0aWZpY2F0ZSByZXByZXNlbnRhdGlvbiBmb3IKLSAgICAgSVBBIHB1cnBvc2VzCi1A QCAtMjA1LDYgKzIwNSwxMCBAQCBjbGFzcyBJUEFDZXJ0aWZpY2F0ZShjcnlwdG9feDUwOS5DZXJ0 aWZpY2F0ZSk6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIHJldHVybiBzZWxmLl9jZXJ0LmZpbmdl cnByaW50KGFsZ29yaXRobSkKLSAKLSsgICAgQHByb3BlcnR5Ci0rICAgIGRlZiBjZXJ0KHNlbGYp OgotKyAgICAgICAgcmV0dXJuIHNlbGYuX2NlcnQKLSsKLSAgICAgQHByb3BlcnR5Ci0gICAgIGRl ZiBzZXJpYWxfbnVtYmVyKHNlbGYpOgotICAgICAgICAgcmV0dXJuIHNlbGYuX2NlcnQuc2VyaWFs X251bWJlcgotQEAgLTQ1Nyw2ICs0NjEsOCBAQCBkZWYgbG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0 ZShkYXRhKToKLSAgICAgOnJldHVybnM6IGEgYGBJUEFDZXJ0aWZpY2F0ZWBgIG9iamVjdC4KLSAg ICAgOnJhaXNlczogYGBWYWx1ZUVycm9yYGAgaWYgdW5hYmxlIHRvIGxvYWQgdGhlIGNlcnRpZmlj YXRlLgotICAgICAiIiIKLSsgICAgaWYgaXNpbnN0YW5jZShkYXRhLCBJUEFDZXJ0aWZpY2F0ZSk6 Ci0rICAgICAgICByZXR1cm4gZGF0YQotICAgICByZXR1cm4gSVBBQ2VydGlmaWNhdGUoCi0gICAg ICAgICBjcnlwdG9feDUwOS5sb2FkX3BlbV94NTA5X2NlcnRpZmljYXRlKGRhdGEsIGJhY2tlbmQ9 ZGVmYXVsdF9iYWNrZW5kKCkpCi0gICAgICkKLUBAIC00NjksNiArNDc1LDggQEAgZGVmIGxvYWRf ZGVyX3g1MDlfY2VydGlmaWNhdGUoZGF0YSk6Ci0gICAgIDpyZXR1cm5zOiBhIGBgSVBBQ2VydGlm aWNhdGVgYCBvYmplY3QuCi0gICAgIDpyYWlzZXM6IGBgVmFsdWVFcnJvcmBgIGlmIHVuYWJsZSB0 byBsb2FkIHRoZSBjZXJ0aWZpY2F0ZS4KLSAgICAgIiIiCi0rICAgIGlmIGlzaW5zdGFuY2UoZGF0 YSwgSVBBQ2VydGlmaWNhdGUpOgotKyAgICAgICAgcmV0dXJuIGRhdGEKLSAgICAgcmV0dXJuIElQ QUNlcnRpZmljYXRlKAotICAgICAgICAgY3J5cHRvX3g1MDkubG9hZF9kZXJfeDUwOV9jZXJ0aWZp Y2F0ZShkYXRhLCBiYWNrZW5kPWRlZmF1bHRfYmFja2VuZCgpKQotICAgICApCi1kaWZmIC0tZ2l0 IGEvaXBhcHl0aG9uL2lwYWxkYXAucHkgYi9pcGFweXRob24vaXBhbGRhcC5weQotaW5kZXggMTg4 OGU0MDkxLi41YmI4MWMxYmMgMTAwNjQ0Ci0tLS0gYS9pcGFweXRob24vaXBhbGRhcC5weQotKysr IGIvaXBhcHl0aG9uL2lwYWxkYXAucHkKLUBAIC0zMyw3ICszMyw2IEBAIGltcG9ydCB3YXJuaW5n cwotIAotIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE9yZGVyZWREaWN0Ci0gCi0tZnJvbSBjcnlw dG9ncmFwaHkgaW1wb3J0IHg1MDkgYXMgY3J5cHRvX3g1MDkKLSBmcm9tIGNyeXB0b2dyYXBoeS5o YXptYXQucHJpbWl0aXZlcyBpbXBvcnQgc2VyaWFsaXphdGlvbgotIAotIGltcG9ydCBsZGFwCi1A QCAtNzQ4LDEwICs3NDcsMTAgQEAgY2xhc3MgTERBUENsaWVudDoKLSAgICAgICAgICdkbnN6b25l aWRuc25hbWUnOiBETlNOYW1lLAotICAgICAgICAgJ2tyYmNhbm9uaWNhbG5hbWUnOiBQcmluY2lw YWwsCi0gICAgICAgICAna3JicHJpbmNpcGFsbmFtZSc6IFByaW5jaXBhbCwKLS0gICAgICAgICd1 c2VyY2VydGlmaWNhdGUnOiBjcnlwdG9feDUwOS5DZXJ0aWZpY2F0ZSwKLS0gICAgICAgICd1c2Vy Y2VydGlmaWNhdGU7YmluYXJ5JzogY3J5cHRvX3g1MDkuQ2VydGlmaWNhdGUsCi0tICAgICAgICAn Y0FDZXJ0aWZpY2F0ZSc6IGNyeXB0b194NTA5LkNlcnRpZmljYXRlLAotLSAgICAgICAgJ2NBQ2Vy dGlmaWNhdGU7YmluYXJ5JzogY3J5cHRvX3g1MDkuQ2VydGlmaWNhdGUsCi0rICAgICAgICAndXNl cmNlcnRpZmljYXRlJzogeDUwOS5JUEFDZXJ0aWZpY2F0ZSwKLSsgICAgICAgICd1c2VyY2VydGlm aWNhdGU7YmluYXJ5JzogeDUwOS5JUEFDZXJ0aWZpY2F0ZSwKLSsgICAgICAgICdjQUNlcnRpZmlj YXRlJzogeDUwOS5JUEFDZXJ0aWZpY2F0ZSwKLSsgICAgICAgICdjQUNlcnRpZmljYXRlO2JpbmFy eSc6IHg1MDkuSVBBQ2VydGlmaWNhdGUsCi0gICAgICAgICAnbnNkczVyZXBsaWNhbGFzdHVwZGF0 ZXN0YXJ0JzogdW5pY29kZSwKLSAgICAgICAgICduc2RzNXJlcGxpY2FsYXN0dXBkYXRlZW5kJzog dW5pY29kZSwKLSAgICAgICAgICduc2RzNXJlcGxpY2FsYXN0aW5pdHN0YXJ0JzogdW5pY29kZSwK LUBAIC0xMDAwLDcgKzk5OSw3IEBAIGNsYXNzIExEQVBDbGllbnQ6Ci0gICAgICAgICAgICAgcmV0 dXJuIGRjdAotICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHZhbCwgZGF0ZXRpbWUpOgotICAgICAg ICAgICAgIHJldHVybiB2YWwuc3RyZnRpbWUoTERBUF9HRU5FUkFMSVpFRF9USU1FX0ZPUk1BVCku ZW5jb2RlKCd1dGYtOCcpCi0tICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsLCBjcnlwdG9feDUw OS5DZXJ0aWZpY2F0ZSk6Ci0rICAgICAgICBlbGlmIGlzaW5zdGFuY2UodmFsLCB4NTA5LklQQUNl cnRpZmljYXRlKToKLSAgICAgICAgICAgICByZXR1cm4gdmFsLnB1YmxpY19ieXRlcyh4NTA5LkVu Y29kaW5nLkRFUikKLSAgICAgICAgIGVsaWYgdmFsIGlzIE5vbmU6Ci0gICAgICAgICAgICAgcmV0 dXJuIE5vbmUKLUBAIC0xMDI3LDcgKzEwMjYsNyBAQCBjbGFzcyBMREFQQ2xpZW50OgotICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIEROU05hbWUuZnJvbV90ZXh0KHZhbC5kZWNvZGUoJ3V0Zi04 JykpCi0gICAgICAgICAgICAgICAgIGVsaWYgdGFyZ2V0X3R5cGUgaW4gKEROLCBQcmluY2lwYWwp OgotICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldF90eXBlKHZhbC5kZWNvZGUoJ3V0 Zi04JykpCi0tICAgICAgICAgICAgICAgIGVsaWYgdGFyZ2V0X3R5cGUgaXMgY3J5cHRvX3g1MDku Q2VydGlmaWNhdGU6Ci0rICAgICAgICAgICAgICAgIGVsaWYgdGFyZ2V0X3R5cGUgaXMgeDUwOS5J UEFDZXJ0aWZpY2F0ZToKLSAgICAgICAgICAgICAgICAgICAgIHJldHVybiB4NTA5LmxvYWRfZGVy X3g1MDlfY2VydGlmaWNhdGUodmFsKQotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIHRhcmdldF90eXBlKHZhbCkKLUBAIC0xMzgxLDcgKzEzODAsNyBA QCBjbGFzcyBMREFQQ2xpZW50OgotICAgICAgICAgICAgIF0KLSAgICAgICAgICAgICByZXR1cm4g Y2xzLmNvbWJpbmVfZmlsdGVycyhmbHRzLCBydWxlcykKLSAgICAgICAgIGVsaWYgdmFsdWUgaXMg bm90IE5vbmU6Ci0tICAgICAgICAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgY3J5cHRvX3g1MDku Q2VydGlmaWNhdGUpOgotKyAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIHg1MDkuSVBB Q2VydGlmaWNhdGUpOgotICAgICAgICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnB1YmxpY19ieXRl cyhzZXJpYWxpemF0aW9uLkVuY29kaW5nLkRFUikKLSAgICAgICAgICAgICBpZiBpc2luc3RhbmNl KHZhbHVlLCBieXRlcyk6Ci0gICAgICAgICAgICAgICAgIHZhbHVlID0gYmluYXNjaWkuaGV4bGlm eSh2YWx1ZSkuZGVjb2RlKCdhc2NpaScpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdpbnMv ZG9ndGFnLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5Ci1pbmRleCA3OGFmYjI3OTcu LmVlNmQwZTM0NyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL2RvZ3RhZy5weQotKysr IGIvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5Ci1AQCAtMTU4MSw3ICsxNTgxLDggQEAgY2xh c3Mga3JhKEJhY2tlbmQpOgotIAotICAgICAgICAgY3J5cHRvID0gY3J5cHRvdXRpbC5DcnlwdG9n cmFwaHlDcnlwdG9Qcm92aWRlcigKLSAgICAgICAgICAgICB0cmFuc3BvcnRfY2VydF9uaWNrPSJy YV9hZ2VudCIsCi0tICAgICAgICAgICAgdHJhbnNwb3J0X2NlcnQ9eDUwOS5sb2FkX2NlcnRpZmlj YXRlX2Zyb21fZmlsZShwYXRocy5SQV9BR0VOVF9QRU0pCi0rICAgICAgICAgICAgdHJhbnNwb3J0 X2NlcnQ9eDUwOS5sb2FkX2NlcnRpZmljYXRlX2Zyb21fZmlsZSgKLSsgICAgICAgICAgICAgICAg cGF0aHMuUkFfQUdFTlRfUEVNKS5jZXJ0Ci0gICAgICAgICApCi0gCi0gICAgICAgICAjIFRPRE86 IG9idGFpbiBLUkEgaG9zdCAmIHBvcnQgZnJvbSBJUEEgc2VydmljZSBsaXN0IG9yIHBvaW50IHRv IEtSQSBsb2FkIGJhbGFuY2VyCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gOGRmZWMyODY0N2Y3YzE3 ZTQ3ZmJmYzk2YTE3MjBkY2RlMTU5MjM4NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IFN0YW5pc2xhdiBMZXZpbiA8c2xldkBhbHRsaW51eC5vcmc+Ci1EYXRlOiBNb24sIDIgRGVjIDIw MjQgMTU6MDQ6MzAgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAwNTEvMTE2XSBweWNhOiBhZGFwdCBp bXBvcnQgcGF0aHMgZm9yIFRyaXBsZURFUyBjaXBoZXIKLQotaHR0cHM6Ly9jcnlwdG9ncmFwaHku aW8vZW4vbGF0ZXN0L2hhem1hdC9wcmltaXRpdmVzL3N5bW1ldHJpYy1lbmNyeXB0aW9uLyNjcnlw dG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuY2lwaGVycy5hbGdvcml0aG1zLlRyaXBsZURFUwot Ci0+IFRoaXMgYWxnb3JpdGhtIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYW5kIG1vdmVkIHRvIHRoZSBE ZWNyZXBpdAotICBjcnlwdG9ncmFwaHkgbW9kdWxlLiBJZiB5b3UgbmVlZCB0byBjb250aW51ZSB1 c2luZyBpdCB0aGVuIHVwZGF0ZSB5b3VyCi0gIGNvZGUgdG8gdXNlIHRoZSBuZXcgbW9kdWxlIHBh dGguIEl0IHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoaXMgbmFtZXNwYWNlCi0gIGluIDQ4LjAuMC4K LQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTcwOAotU2lnbmVkLW9m Zi1ieTogU3RhbmlzbGF2IExldmluIDxzbGV2QGFsdGxpbnV4Lm9yZz4KLVJldmlld2VkLUJ5OiBG bG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBhY2xpZW50L3Bs dWdpbnMvdmF1bHQucHkgICAgICAgICAgICAgICB8ICA4ICsrKysrKystCi0gaXBhbGliL2NvbnN0 YW50cy5weSAgICAgICAgICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrLS0tLS0tLS0tLS0t LQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9vdHB0b2tlbl9pbXBvcnQucHkgfCAgOCArKysrKysr LQotIDMgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9pcGFjbGllbnQvcGx1Z2lucy92YXVsdC5weSBiL2lwYWNsaWVudC9wbHVn aW5zL3ZhdWx0LnB5Ci1pbmRleCA3NTQxNWMwM2EuLjZhZjcyOTc5MyAxMDA2NDQKLS0tLSBhL2lw YWNsaWVudC9wbHVnaW5zL3ZhdWx0LnB5Ci0rKysgYi9pcGFjbGllbnQvcGx1Z2lucy92YXVsdC5w eQotQEAgLTM0LDYgKzM0LDEyIEBAIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVz IGltcG9ydCBoYXNoZXMKLSBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcy5rZGYu cGJrZGYyIGltcG9ydCBQQktERjJITUFDCi0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1p dGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQgcGFkZGluZwotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1h dC5wcmltaXRpdmVzLmNpcGhlcnMgaW1wb3J0IENpcGhlciwgYWxnb3JpdGhtcywgbW9kZXMKLSt0 cnk6Ci0rICAgICMgY3J5cHRvZ3JhcGh5Pj00My4wLjAKLSsgICAgZnJvbSBjcnlwdG9ncmFwaHku aGF6bWF0LmRlY3JlcGl0LmNpcGhlcnMuYWxnb3JpdGhtcyBpbXBvcnQgVHJpcGxlREVTCi0rZXhj ZXB0IEltcG9ydEVycm9yOgotKyAgICAjIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIHRoaXMgbW9kdWxl IGluIGNyeXB0b2dyYXBoeSA0OC4wLjAKLSsgICAgZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnBy aW1pdGl2ZXMuY2lwaGVycy5hbGdvcml0aG1zIGltcG9ydCBUcmlwbGVERVMKLSBmcm9tIGNyeXB0 b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcy5wYWRkaW5nIGltcG9ydCBQS0NTNwotIGZyb20gY3J5 cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLnNlcmlhbGl6YXRpb24gaW1wb3J0ICgKLSAgICAg bG9hZF9wZW1fcHVibGljX2tleSwgbG9hZF9wZW1fcHJpdmF0ZV9rZXkpCi1AQCAtNjYxLDcgKzY2 Nyw3IEBAIGNsYXNzIE1vZFZhdWx0RGF0YShMb2NhbCk6Ci0gICAgICAgICBpZiBuYW1lID09IGNv bnN0YW50cy5WQVVMVF9XUkFQUElOR19BRVMxMjhfQ0JDOgotICAgICAgICAgICAgIHJldHVybiBh bGdvcml0aG1zLkFFUyhvcy51cmFuZG9tKDEyOCAvLyA4KSkKLSAgICAgICAgIGVsaWYgbmFtZSA9 PSBjb25zdGFudHMuVkFVTFRfV1JBUFBJTkdfM0RFUzoKLS0gICAgICAgICAgICByZXR1cm4gYWxn b3JpdGhtcy5UcmlwbGVERVMob3MudXJhbmRvbSgxOTYgLy8gOCkpCi0rICAgICAgICAgICAgcmV0 dXJuIFRyaXBsZURFUyhvcy51cmFuZG9tKDE5NiAvLyA4KSkKLSAgICAgICAgIGVsc2U6Ci0gICAg ICAgICAgICAgIyB1bnJlYWNoYWJsZQotICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IobmFt ZSkKLWRpZmYgLS1naXQgYS9pcGFsaWIvY29uc3RhbnRzLnB5IGIvaXBhbGliL2NvbnN0YW50cy5w eQotaW5kZXggYjY1N2U1YTkwLi5jOTBjYWEyMjEgMTAwNjQ0Ci0tLS0gYS9pcGFsaWIvY29uc3Rh bnRzLnB5Ci0rKysgYi9pcGFsaWIvY29uc3RhbnRzLnB5Ci1AQCAtMjUsMjAgKzI1LDE5IEBAIEFs bCBjb25zdGFudHMgY2VudHJhbGlzZWQgaW4gb25lIGZpbGUuCi0gaW1wb3J0IG9zCi0gaW1wb3J0 IHN0cmluZwotIGltcG9ydCB1dWlkCi0taW1wb3J0IHdhcm5pbmdzCi0tCi0td2FybmluZ3MuZmls dGVyd2FybmluZ3MoCi0tICAgICJpZ25vcmUiLAotLSAgICAiVHJpcGxlREVTIGhhcyBiZWVuIG1v dmVkIHRvICIKLS0gICAgImNyeXB0b2dyYXBoeS5oYXptYXQuZGVjcmVwaXQuY2lwaGVycy5hbGdv cml0aG1zLlRyaXBsZURFUyBhbmQgIgotLSAgICAid2lsbCBiZSByZW1vdmVkIGZyb20gdGhpcyBt b2R1bGUgaW4gNDguMC4wIiwKLS0gICAgY2F0ZWdvcnk9VXNlcldhcm5pbmcpCi0gCi0gZnJvbSBp cGFwbGF0Zm9ybS5jb25zdGFudHMgaW1wb3J0IGNvbnN0YW50cyBhcyBfY29uc3RhbnRzCi0gZnJv bSBpcGFweXRob24uZG4gaW1wb3J0IEROCi0gZnJvbSBpcGFweXRob24uZnFkbiBpbXBvcnQgZ2V0 aG9zdGZxZG4KLSBmcm9tIGlwYXB5dGhvbi52ZXJzaW9uIGltcG9ydCBWRVJTSU9OLCBBUElfVkVS U0lPTgotLWZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLmNpcGhlcnMgaW1wb3J0 IGFsZ29yaXRobXMsIG1vZGVzCi0rZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMu Y2lwaGVycyBpbXBvcnQgbW9kZXMKLSt0cnk6Ci0rICAgICMgY3J5cHRvZ3JhcGh5Pj00My4wLjAK LSsgICAgZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LmRlY3JlcGl0LmNpcGhlcnMuYWxnb3JpdGht cyBpbXBvcnQgVHJpcGxlREVTCi0rZXhjZXB0IEltcG9ydEVycm9yOgotKyAgICAjIHdpbGwgYmUg cmVtb3ZlZCBmcm9tIHRoaXMgbW9kdWxlIGluIGNyeXB0b2dyYXBoeSA0OC4wLjAKLSsgICAgZnJv bSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuY2lwaGVycy5hbGdvcml0aG1zIGltcG9y dCBUcmlwbGVERVMKLSsKLSBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuYmFja2VuZHMub3BlbnNz bC5iYWNrZW5kIGltcG9ydCBiYWNrZW5kCi0gCi0gCi1AQCAtMzg5LDcgKzM4OCw2IEBAIFZBVUxU X1dSQVBQSU5HX1NVUFBPUlRFRF9BTEdPUyA9ICgKLSBWQVVMVF9XUkFQUElOR19ERUZBVUxUX0FM R08gPSBWQVVMVF9XUkFQUElOR19BRVMxMjhfQ0JDCi0gCi0gIyBBZGQgM0RFUyBmb3IgYmFja3dh cmRzIGNvbXBhdGliaWxpdHkgaWYgc3VwcG9ydGVkCi0taWYgZ2V0YXR0cihhbGdvcml0aG1zLCAn VHJpcGxlREVTJywgTm9uZSk6Ci0tICAgIGlmIGJhY2tlbmQuY2lwaGVyX3N1cHBvcnRlZChhbGdv cml0aG1zLlRyaXBsZURFUygKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIiXHgw MCIgKiA4KSwgbW9kZXMuQ0JDKGIiXHgwMCIgKiA4KSk6Ci0tICAgICAgICBWQVVMVF9XUkFQUElO R19TVVBQT1JURURfQUxHT1MgKz0gKFZBVUxUX1dSQVBQSU5HXzNERVMsKQotK2lmIGJhY2tlbmQu Y2lwaGVyX3N1cHBvcnRlZChUcmlwbGVERVMoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg IGIiXHgwMCIgKiA4KSwgbW9kZXMuQ0JDKGIiXHgwMCIgKiA4KSk6Ci0rICAgIFZBVUxUX1dSQVBQ SU5HX1NVUFBPUlRFRF9BTEdPUyArPSAoVkFVTFRfV1JBUFBJTkdfM0RFUywpCi1kaWZmIC0tZ2l0 IGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX290cHRva2VuX2ltcG9ydC5weSBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9vdHB0b2tlbl9pbXBvcnQucHkKLWluZGV4IDI3OWE3NTAyZC4uMTc0NTdmNmM1 IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX290cHRva2VuX2ltcG9ydC5weQot KysrIGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX290cHRva2VuX2ltcG9ydC5weQotQEAgLTM3LDYg KzM3LDEyIEBAIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzIGltcG9ydCBoYXNo ZXMsIGhtYWMKLSBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcy5wYWRkaW5nIGlt cG9ydCBQS0NTNwotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLmtkZiBpbXBv cnQgcGJrZGYyCi0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuY2lwaGVycyBp bXBvcnQgQ2lwaGVyLCBhbGdvcml0aG1zLCBtb2RlcwotK3RyeToKLSsgICAgIyBjcnlwdG9ncmFw aHk+PTQzLjAuMAotKyAgICBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQuZGVjcmVwaXQuY2lwaGVy cy5hbGdvcml0aG1zIGltcG9ydCBUcmlwbGVERVMKLStleGNlcHQgSW1wb3J0RXJyb3I6Ci0rICAg ICMgd2lsbCBiZSByZW1vdmVkIGZyb20gdGhpcyBtb2R1bGUgaW4gY3J5cHRvZ3JhcGh5IDQ4LjAu MAotKyAgICBmcm9tIGNyeXB0b2dyYXBoeS5oYXptYXQucHJpbWl0aXZlcy5jaXBoZXJzLmFsZ29y aXRobXMgaW1wb3J0IFRyaXBsZURFUwotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5iYWNrZW5k cyBpbXBvcnQgZGVmYXVsdF9iYWNrZW5kCi0gCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBv cnQgcGF0aHMKLUBAIC0xNjksNyArMTc1LDcgQEAgZGVmIGNvbnZlcnRBbGdvcml0aG0odmFsdWUp OgotICAgICAjIGluIHRoZSBsaXN0IG9mIHRoZSB2YXVsdCB3cmFwcGluZyBhbGdvcml0aG1zLCB3 ZSBjYW5ub3QgdXNlIDNERVMgYW55d2hlcmUKLSAgICAgaWYgVkFVTFRfV1JBUFBJTkdfM0RFUyBp biBWQVVMVF9XUkFQUElOR19TVVBQT1JURURfQUxHT1M6Ci0gICAgICAgICBzdXBwb3J0ZWRfYWxn c1siaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxlbmMjdHJpcGxlZGVzLWNiYyJdID0gKAot LSAgICAgICAgICAgIGFsZ29yaXRobXMuVHJpcGxlREVTLCBtb2Rlcy5DQkMsIDY0KQotKyAgICAg ICAgICAgIFRyaXBsZURFUywgbW9kZXMuQ0JDLCA2NCkKLSAKLSAgICAgcmV0dXJuIHN1cHBvcnRl ZF9hbGdzLmdldCh2YWx1ZS5sb3dlcigpLCAoTm9uZSwgTm9uZSwgTm9uZSkpCi0gCi0tLSAKLTIu NDkuMAotCi0KLUZyb20gM2U3ZWMzZGM0OWQwZjU1OWJkYmUzMzBlNTIwMTllNTlmMGI1N2MxOCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3Zv eUByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAzIERlYyAyMDI0IDE4OjA2OjQ1ICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDUyLzExNl0gaXBhLXB3ZC1leHRvcDogY2xhcmlmeSBPVFAgdXNlIG92ZXIg TERBUCBiaW5kcwotCi1PVFAgdXNlIGR1cmluZyBMREFQIGJpbmQgY2FuIGJlIGVuZm9yY2VkIGVp dGhlciBleHBsaWNpdGx5IHZpYSBjbGllbnQKLXNwZWNpZnlpbmcgYSBjb250cm9sIHdpdGggT0lE IDIuMTYuODQwLjEuMTEzNzMwLjMuOC4xMC43IGFuZCBubyBwYXlsb2FkCi1vciBpbXBsaWNpdGx5 IHRocm91Z2ggdGhlIGdsb2JhbCBJUEEgY29uZmlndXJhdGlvbiB3aXRoIEVuZm9yY2VMREFQT1RQ LgotCi1PVFAgdG9rZW4gZW5mb3JjZW1lbnQgb3ZlcnJpZGVzIElQQSB1c2VyIGF1dGhlbnRpY2F0 aW9uIHR5cGVzCi1yZXF1aXJlbWVudHM6Ci0KLUlmIE9UUCBlbmZvcmNlbWVudCBpcyByZXF1aXJl ZDoKLQotIC0gaWYgdXNlciBhdXRoZW50aWNhdGlvbiB0eXBlcyBzdGlsbCBhbGxvdyBwYXNzd29y ZCBhdXRoZW50aWNhdGlvbiwKLSAgIGF1dGhlbnRpY2F0aW9uIHdpdGgganVzdCBhIHBhc3N3b3Jk IGlzIGRlbmllZCwgcmVnYXJkbGVzcyB3aGV0aGVyIE9UUAotICAgdG9rZW5zIGFyZSBhc3NvY2lh dGVkIHdpdGggdGhlIHVzZXIgb3Igbm90LgotCi1JZiBPVFAgZW5mb3JjZW1lbnQgaXMgbm90IHJl cXVpcmVkOgotCi0gLSBpZiB1c2VyIGhhcyBubyBPVFAgdG9rZW5zIGJ1dCB1c2VyIGF1dGhlbnRp Y2F0aW9uIHR5cGVzIHJlcXVpcmUgT1RQCi0gICB1c2UsIGF1dGhlbnRpY2F0aW9uIHdpdGgganVz dCBhIHBhc3N3b3JkIGlzIGFsbG93ZWQgdW50aWwgYSB0b2tlbiBpcwotICAgYWRkZWQuCi0KLSAt IGlmIHVzZXIgaGFzIE9UUCB0b2tlbnMgYW5kIHVzZXIgYXV0aGVudGljYXRpb24gdHlwZXMgcmVx dWlyZSBPVFAgdXNlCi0gICBidXQgbm90IHBhc3N3b3JkLCBhdXRoZW50aWNhdGlvbiB3aXRoIGp1 c3QgYSBwYXNzd29yZCBpcyBkZW5pZWQuCi0KLUFkZGl0aW9uYWxseSwgZW5mb3JjZW1lbnQgb2Yg T1RQIG9ubHkgYXBwbGllcyB0byBMREFQIG9iamVjdHMgd2hpY2gKLWRvbid0IHVzZSAnc2ltcGxl U2VjdXJpdHlPYmplY3QnIG9iamVjdGNsYXNzLiBUaGlzIGFsbG93cyBzeXN0ZW0gc2VydmljZQot YWNjb3VudHMgdG8gY29udGludWUgYXV0aGVudGljYXRlIHdpdGggYSBwYXNzd29yZCByZWdhcmRs ZXNzIG9mIHRoZQotT1RQIGVuZm9yY2VtZW50LgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS85Njk5Ci1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1 ZS85NzExCi0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRo YXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29t PgotLS0tCi0gLi4uL2lwYS1zbGFwaS1wbHVnaW5zL2lwYS1wd2QtZXh0b3AvcHJlcG9zdC5jIHwg MzggKysrKysrKysrKysrKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCsp LCA4IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lu cy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYyBiL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvaXBh LXB3ZC1leHRvcC9wcmVwb3N0LmMKLWluZGV4IDFjMTM0MGUzMS4uNDJlODgwZmQwIDEwMDY0NAot LS0tIGEvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYwot KysrIGIvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtcHdkLWV4dG9wL3ByZXBvc3QuYwot QEAgLTEyMTksMTIgKzEyMTksMTAgQEAgdHlwZWRlZiBlbnVtIHsKLSB9IG90cF9yZXFfZW51bTsK LSBzdGF0aWMgYm9vbCBpcGFwd2RfcHJlX2JpbmRfb3RwKGNvbnN0IGNoYXIgKmJpbmRfZG4sIFNs YXBpX0VudHJ5ICplbnRyeSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dCBiZXJ2YWwgKmNyZWRzLCBvdHBfcmVxX2VudW0gb3RwcmVxLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCAqbm90b2tlbnMpCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBib29sICpub3Rva2VucywgdWludDMyX3QgKmF1dGhfdHlwZXMpCi0gewotLSAgICB1 aW50MzJfdCBhdXRoX3R5cGVzOwotLQotICAgICAvKiBHZXQgdGhlIGNvbmZpZ3VyZWQgYXV0aGVu dGljYXRpb24gdHlwZXMuICovCi0tICAgIGF1dGhfdHlwZXMgPSBvdHBfY29uZmlnX2F1dGhfdHlw ZXMob3RwX2NvbmZpZywgZW50cnkpOwotKyAgICAqYXV0aF90eXBlcyA9IG90cF9jb25maWdfYXV0 aF90eXBlcyhvdHBfY29uZmlnLCBlbnRyeSk7Ci0gICAgICpub3Rva2VucyA9IGZhbHNlOwotIAot ICAgICAvKgotQEAgLTEyMzcsNyArMTIzNSw4IEBAIHN0YXRpYyBib29sIGlwYXB3ZF9wcmVfYmlu ZF9vdHAoY29uc3QgY2hhciAqYmluZF9kbiwgU2xhcGlfRW50cnkgKmVudHJ5LAotICAgICAgKiAy LiBJZiBQV0QgaXMgZW5hYmxlZCBvciBPVFAgc3VjY2VlZGVkLCBmYWxsIHRocm91Z2ggdG8gUFdE IHZhbGlkYXRpb24uCi0gICAgICAqLwotIAotLSAgICBpZiAoYXV0aF90eXBlcyAmIE9UUF9DT05G SUdfQVVUSF9UWVBFX09UUCkgewotKyAgICBpZiAoKCphdXRoX3R5cGVzICYgT1RQX0NPTkZJR19B VVRIX1RZUEVfT1RQKSB8fAotKyAgICAgICAgKG90cHJlcSAhPSBPVFBfSVNfTk9UX1JFUVVJUkVE KSkgewotICAgICAgICAgc3RydWN0IG90cF90b2tlbiAqKnRva2VucyA9IE5VTEw7Ci0gCi0gICAg ICAgICBMT0dfUExVR0lOX05BTUUoSVBBUFdEX1BMVUdJTl9OQU1FLAotQEAgLTEyNzAsNyArMTI2 OSw3IEBAIHN0YXRpYyBib29sIGlwYXB3ZF9wcmVfYmluZF9vdHAoY29uc3QgY2hhciAqYmluZF9k biwgU2xhcGlfRW50cnkgKmVudHJ5LAotICAgICAgICAgb3RwX3Rva2VuX2ZyZWVfYXJyYXkodG9r ZW5zKTsKLSAgICAgfQotIAotLSAgICByZXR1cm4gKGF1dGhfdHlwZXMgJiBPVFBfQ09ORklHX0FV VEhfVFlQRV9QQVNTV09SRCkgJiYKLSsgICAgcmV0dXJuICgqYXV0aF90eXBlcyAmIE9UUF9DT05G SUdfQVVUSF9UWVBFX1BBU1NXT1JEKSAmJgotICAgICAgICAgICAgKG90cHJlcSA9PSBPVFBfSVNf Tk9UX1JFUVVJUkVEKTsKLSB9Ci0gCi1AQCAtMTQ1MSw2ICsxNDUwLDcgQEAgc3RhdGljIGludCBp cGFwd2RfcHJlX2JpbmQoU2xhcGlfUEJsb2NrICpwYikKLSAgICAgc3RydWN0IGlwYXB3ZF9rcmJj ZmcgKmtyYmNmZyA9IE5VTEw7Ci0gICAgIHN0cnVjdCBiZXJ2YWwgKmNyZWRlbnRpYWxzID0gTlVM TDsKLSAgICAgU2xhcGlfRW50cnkgKmVudHJ5ID0gTlVMTDsKLSsgICAgU2xhcGlfVmFsdWUgKm9i amVjdGNsYXNzID0gTlVMTDsKLSAgICAgU2xhcGlfRE4gKnRhcmdldF9zZG4gPSBOVUxMOwotICAg ICBTbGFwaV9ETiAqc2RuID0gTlVMTDsKLSAgICAgY29uc3QgY2hhciAqZG4gPSBOVUxMOwotQEAg LTE0NjUsNiArMTQ2NSw3IEBAIHN0YXRpYyBpbnQgaXBhcHdkX3ByZV9iaW5kKFNsYXBpX1BCbG9j ayAqcGIpCi0gICAgIGludCByYyA9IExEQVBfSU5WQUxJRF9DUkVERU5USUFMUzsKLSAgICAgY2hh ciAqZXJyTWVzZyA9IE5VTEw7Ci0gICAgIGJvb2wgbm90b2tlbnMgPSBmYWxzZTsKLSsgICAgdWlu dDMyX3QgYXV0aF90eXBlcyA9IDA7Ci0gCi0gICAgIC8qIGdldCBCSU5EIHBhcmFtZXRlcnMgKi8K LSAgICAgcmV0IHw9IHNsYXBpX3BibG9ja19nZXQocGIsIFNMQVBJX0JJTkRfVEFSR0VUX1NETiwg JnRhcmdldF9zZG4pOwotQEAgLTE1MzgsMTIgKzE1MzksMzMgQEAgc3RhdGljIGludCBpcGFwd2Rf cHJlX2JpbmQoU2xhcGlfUEJsb2NrICpwYikKLSAgICAgICAgICAgICBvdHByZXEgPSBPVFBfSVNf UkVRVUlSRURfSU1QTElDSVRMWTsKLSAgICAgICAgIH0KLSAgICAgfQotKyAgICAvKiB3ZSBvbmx5 IGFwcGx5IE9UUCBwb2xpY3kgdG8gS2VyYmVyb3MgcHJpbmNpcGFscyAqLwotKyAgICBvYmplY3Rj bGFzcyA9IHNsYXBpX3ZhbHVlX25ld19zdHJpbmcoImtyYnByaW5jaXBhbGF1eCIpOwotKyAgICBp ZiAob2JqZWN0Y2xhc3MgPT0gTlVMTCkgewotKyAgICAgICAgZ290byBpbnZhbGlkX2NyZWRzOwot KyAgICB9Ci0rICAgIGlmICghc2xhcGlfZW50cnlfYXR0cl9oYXNfc3ludGF4X3ZhbHVlKGVudHJ5 LCBTTEFQSV9BVFRSX09CSkVDVENMQVNTLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvYmplY3RjbGFzcykpIHsKLSsgICAgICBvdHByZXEgPSBPVFBfSVNfTk9U X1JFUVVJUkVEOwotKyAgICB9Ci0rICAgIHNsYXBpX3ZhbHVlX2ZyZWUoJm9iamVjdGNsYXNzKTsK LSsKLSAgICAgaWYgKCFzeW5jcmVxICYmICFpcGFwd2RfcHJlX2JpbmRfb3RwKGRuLCBlbnRyeSwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzLCBv dHByZXEsICZub3Rva2VucykpIHsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNyZWRlbnRpYWxzLCBvdHByZXEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbm90b2tlbnMsICZhdXRoX3R5cGVzKSkgewotICAgICAgICAgLyogV2Ug Z290IGhlcmUgYmVjYXVzZSBpcGFwd2RfcHJlX2JpbmRfb3RwKCkgcmV0dXJuZWQgZmFsc2UsCi0g ICAgICAgICAgKiBpdCBtZWFucyB0aGF0IGVpdGhlciB0b2tlbiB2ZXJpZmljYXRpb24gZmFpbGVk IG9yCi0gICAgICAgICAgKiBhIHJ1bGUgZm9yIGVtcHR5IHRva2VucyBmYWlsZWQgY3VycmVudCBw b2xpY3kuICovCi0tICAgICAgICBpZiAoIShub3Rva2VucyB8fCAob3RwcmVxID09IE9UUF9JU19O T1RfUkVRVUlSRUQpKSkKLSsKLSsJLyogQ2hlY2sgaWYgdGhlcmUgd2VyZSBhbnkgdG9rZW5zIGFz c29jaWF0ZWQsIHRodXMKLSsgICAgICAgICAqIE9UUCB0b2tlbiB2ZXJpZmljYXRpb24gaGFzIHJl YWxseSBmYWlsZWQgKi8KLSsJaWYgKG5vdG9rZW5zID09IGZhbHNlKQotKyAgICAgICAgICAgIGdv dG8gaW52YWxpZF9jcmVkczsKLSsKLSsJLyogTm8gdG9rZW5zLCBjaGVjayBpZiBhdXRoIHR5cGUg ZG9lcyBub3QgaW5jbHVkZSBPVFAgYnV0IE9UUCBpcwotKyAgICAgICAgICogZW5mb3JjZWQgYnkg dGhlIGN1cnJlbnQgcG9saWN5ICovCi0rICAgICAgICBpZiAoIShhdXRoX3R5cGVzICYgT1RQX0NP TkZJR19BVVRIX1RZUEVfT1RQKSAmJgotKyAgICAgICAgICAgIChvdHByZXEgIT0gT1RQX0lTX05P VF9SRVFVSVJFRCkpCi0gICAgICAgICAgICAgZ290byBpbnZhbGlkX2NyZWRzOwotICAgICB9Ci0g Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gNDc3ZGJiYTE4YmY5ODdiZjQ0NjFmZGZkZmJhMGQ0OTcx NTlkYjdjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN0YW5pc2xhdiBMZXZpbiA8 c2xldkBhbHRsaW51eC5vcmc+Ci1EYXRlOiBXZWQsIDQgRGVjIDIwMjQgMTk6NTY6NTEgKzAzMDAK LVN1YmplY3Q6IFtQQVRDSCAwNTMvMTE2XSBhZHRydXN0OiBhZGQgbWlzc2luZyBpcGFBbGxvd2Vk T3BlcmF0aW9ucyBvYmplY3RjbGFzcwotCi1QZXIgQGFiYnJhIGV4cGxhbmF0aW9uOgotPiBXaGVu IGV4cGVjdGVkIEtlcmJlcm9zIHByaW5jaXBhbCBuYW1lcyBmb3IgdGhpcyBvYmplY3Qgd2VyZSBm bGlwcGVkIHRvCi0gIGZvbGxvdyByZXF1aXJlbWVudHMgZm9yIGNyb3NzLXJlYWxtIGtyYnRndCBv YmplY3RzIGV4cGVjdGVkIGJ5IEFjdGl2ZQotICBEaXJlY3RvcnksIHRydXN0ZWQgb2JqZWN0IGNo YW5nZWQgaXRzIGNhbm9uaWNhbCBLZXJiZXJvcyBwcmluY2lwYWwgbmFtZS4KLSAgVGhlIGtleXRh YiBmb3IgdGhpcyBLZXJiZXJvcyBwcmluY2lwYWwgbmFtZSBpcyBmZXRjaGVkIGJ5IFNTU0QgYW5k IGl0Ci0gIG5lZWRzIHRvIGJlIHBlcm1pdHRlZCB0byByZWFkIHRoZSBrZXkuIFdlIGFkZGVkIHRo ZSB2aXJ0dWFsIHBlcm1pc3Npb24KLSAgdG8gYWxsb3cgdGhlIGtleXRhYiByZXRyaWV2YWwgYnV0 IGRpZG4ndCBhZGQgdGhlIG9iamVjdGNsYXNzIHRoYXQKLSAgYWN0dWFsbHkgYWxsb3dzIGFkZGlu ZyBhbiBMREFQIGF0dHJpYnV0ZSB0byBleHByZXNzIHRoZSBwZXJtaXNzaW9uLiBXaGVuCi0gIGFu IGF0dHJpYnV0ZSBpcyBhZGRlZCB0byBhbiBMREFQIG9iamVjdCwgb2JqZWN0Y2xhc3NlcyBvZiB0 aGUgb2JqZWN0Ci0gIG11c3QgYWxsb3cgcHJlc2VuY2Ugb2YgdGhhdCBhdHRyaWJ1dGUuCi0KLVRo aXMgaXMgdGhlIGZvbGxvd3VwIHRvICM5NDcxIGFuZCBmaXhlcyB0aGUgdXBncmFkZS4KLQotVGhh bmtzIEBhYmJyYSEKLQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85 NDcxCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzEyCi1TaWduZWQt b2ZmLWJ5OiBTdGFuaXNsYXYgTGV2aW4gPHNsZXZAYWx0bGludXgub3JnPgotUmV2aWV3ZWQtQnk6 IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVy L2luc3RhbGwvcGx1Z2lucy9hZHRydXN0LnB5IHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5z dGFsbC9wbHVnaW5zL2FkdHJ1c3QucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL2FkdHJ1 c3QucHkKLWluZGV4IGU2ZDQ5Y2IyNS4uYWIzZDQyN2VmIDEwMDY0NAotLS0tIGEvaXBhc2VydmVy L2luc3RhbGwvcGx1Z2lucy9hZHRydXN0LnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9wbHVn aW5zL2FkdHJ1c3QucHkKLUBAIC03MDUsNyArNzA1LDggQEAgY2xhc3MgdXBkYXRlX3Rkb190b19u ZXdfbGF5b3V0KFVwZGF0ZXIpOgotICAgICAgICAgICAgICAgICBzZWxmLnNldF9rcmJfcHJpbmNp cGFsKFt0Z3RfcHJpbmNpcGFsLCBuYnRfcHJpbmNpcGFsXSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBwYXNzd2RfaW5jb21pbmcsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdF9kbiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmbGFncz1zZWxmLktSQl9QUklOQ19DUkVBVEVfREVGQVVMVCkKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGFncz1zZWxmLktSQl9QUklOQ19DUkVB VEVfREVGQVVMVAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgc2Vs Zi5LUkJfUFJJTkNfQ1JFQVRFX0FHRU5UX1BFUk1JU1NJT04pCi0gCi0gICAgICAgICAgICAgIyAz LiBJTkJPVU5EOiBrcmJ0Z3QvPE9VUiBSRUFMTT5APFJFTU9URSBSRUFMTT4gbXVzdCBleGlzdAot ICAgICAgICAgICAgIHRydXN0X3ByaW5jaXBhbCA9IHNlbGYudGd0X3ByaW5jaXBhbF90ZW1wbGF0 ZS5mb3JtYXQoCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNjA0NmFhZWZjYmJhYTY5ZjFhMjhjMjhj YjU5OTQzY2E3YTRmNTNjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNl IEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDI3IE5vdiAyMDI0IDEx OjUyOjAwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDU0LzExNl0gRml4IGNvcHIgYnVpbGQKLQot V2l0aCBmZWRvcmE0MSBhbmQgcnBtIDQuMjAsIHRoZSBjb3ByIGJ1aWxkIGRvZXMgbm90IHdvcmsg YW55bW9yZS4KLQotLSBycG0gNC4yMCBpbnRyb2R1Y2VzIGEgY2hhbmdlIGluICVhdXRvcGF0Y2gu Ci1UaGUgY29tbWFuZCBub3cgaXNzdWVzIGEgd2FybmluZyBpZiB0aGVyZSBpcyBubyBwYXRjaCB0 byBhcHBseS4KLVRoaXMgbWFrZXMgImRuZiBidWlsZGRlcCIgY3Jhc2guIFRoZSB3YXJuaW5nIGNh biBiZSBzaWxlbmNlZAotd2l0aCB0aGUgIi1xIiBvcHRpb24uCi0KLS0gZG5mIGJ1aWxkZGVwIHBy b2R1Y2VzIG5vbi11dGY4IGNoYXJhY3RlcnMgKGZvciBpbnN0YW5jZQotd2hlbiBpbnN0YWxsaW5n IGxvZ3JvdGF0ZSwgdGhlIG91dHB1dCBvZiB0aGUgc2NyaXB0bGV0IGlzCi1wcmludGVkIGluIGNv bG9yKS4gcnBtLWNvcHJidWlsZCBmYWlscyB0byBkZWNvZGUgdGhlIG91dHB1dAotYW5kIGV4aXRz IG9uIGVycm9yLgotVG8gYXZvaWQgdGhpcyBmYWlsdXJlLCByZWRpcmVjdCB0aGUgb3V0cHV0IHRv IGEgZmlsZS4KLQotLSBkbmY1IGRvZXMgbm90IHJlY29nbml6ZSB0aGUgb3B0aW9ucyAtLXNraXAt YnJva2VuIGFuZCAtLXNwZWMuCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1 ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci0tLS0KLSAuY29wci9NYWtlZmlsZSAgfCA1ICsrKy0tCi0gZnJlZWlw YS5zcGVjLmluIHwgOSArKysrKysrKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS8uY29wci9NYWtlZmlsZSBiLy5jb3By L01ha2VmaWxlCi1pbmRleCBhNWE1ZjA5YzguLjQwYTE3OTJmNyAxMDA2NDQKLS0tLSBhLy5jb3By L01ha2VmaWxlCi0rKysgYi8uY29wci9NYWtlZmlsZQotQEAgLTEsOSArMSwxMCBAQAotIHNycG06 Ci0gCSMgU2V0dXAgZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQKLSAJZWNobyAiSW5zdGFsbGluZyBi YXNlIGRldmVsb3BtZW50IGVudmlyb25tZW50IgotLQlkbmYgaW5zdGFsbCAteSBkbmYtcGx1Z2lu cy1jb3JlCi0rCWRuZiBpbnN0YWxsIC15IGRuZjUtcGx1Z2lucwotIAllY2hvICJJbnN0YWxsaW5n IEZyZWVJUEEgZGV2ZWxvcG1lbnQgZGVwZW5kZW5jaWVzIgotLQlkbmYgYnVpbGRkZXAgLXkgLS1z a2lwLWJyb2tlbiAtLXNwZWMgZnJlZWlwYS5zcGVjLmluIC0tYmVzdCAtLWFsbG93ZXJhc2luZyAt LXNldG9wdD1pbnN0YWxsX3dlYWtfZGVwcz1GYWxzZQotKwljcCBmcmVlaXBhLnNwZWMuaW4gZnJl ZWlwYS5zcGVjCi0rCWRuZiBidWlsZGRlcCAteSAtLWJlc3QgLS1hbGxvd2VyYXNpbmcgLS1zZXRv cHQ9aW5zdGFsbF93ZWFrX2RlcHM9RmFsc2UgZnJlZWlwYS5zcGVjID4gJHtvdXRkaXJ9L2J1aWxk ZGVwLmxvZyAyPiYxCi0gCi0gCSMgUnVuIGF1dG9jb25mCi0gCWF1dG9yZWNvbmYgLWkKLWRpZmYg LS1naXQgYS9mcmVlaXBhLnNwZWMuaW4gYi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IDliM2Q5MTZm My4uNGI5MWFhOTZmIDEwMDc1NQotLS0tIGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9mcmVlaXBh LnNwZWMuaW4KLUBAIC0xMDQwLDcgKzEwNDAsMTQgQEAgZm9yIGkgaW4gKi5wbyA7IGRvCi0gZG9u ZQotIHBvcGQKLSAKLS0lYXV0b3BhdGNoIC1wMQotKyVpZiAwJXs/ZmVkb3JhfT49NDEKLSsgICAg JWdsb2JhbCBhdXRvcGF0Y2hfb3B0aW9ucyAtcSAtcDEKLSslZWxzZQotKyAgICAlZ2xvYmFsIGF1 dG9wYXRjaF9vcHRpb25zIC1wMQotKyVlbmRpZgotKyVhdXRvcGF0Y2ggJXthdXRvcGF0Y2hfb3B0 aW9uc30KLSsKLSsKLSAKLSAlYnVpbGQKLSAjIFBBVEggaXMgd29ya2Fyb3VuZCBmb3IgaHR0cHM6 Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMDA1MjM1Ci0tLSAKLTIuNDku MAotCi0KLUZyb20gNmEyMzEwZWRhMzliMTM0MTI1ODIxMWM3NjMwZWY0YmFmNDU1NWRmNSBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQu Y29tPgotRGF0ZTogTW9uLCA5IERlYyAyMDI0IDIzOjAzOjU2ICswNTMwCi1TdWJqZWN0OiBbUEFU Q0ggMDU1LzExNl0gRml4IHRoZSB0eXBvIGluIGlwYV9taWdyYXRlX2NvbnN0YW50cy4KLQotaXBh LW1pZ3JhdGUubG9nIGRpc3BsYXlzIFByaXZpbGVnZXMgbWlncmF0ZWQgYXMgUHJpdmxlZGdlcwot ZHVlIHRvIHR5cG8gaW4gbGFiZWxsaW5nIGkuZSAnbGFiZWwnOiAnUHJpdmxlZGdlcycKLUhlbmNl IGNoYW5nZWQgdGhhdCB0byAnbGFiZWwnOiAnUHJpdmlsZWdlcycKLQotLS0tLSBMT0cgRklMRSAt LS0tCi1JTkZPICAtIFByaXZsZWRnZXM6IDMKLS0tLS0tLS0tLS0tLS0tLS0tLQotCi1GaXhlczog aHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzE1Ci0KLVNpZ25lZC1vZmYtYnk6IFN1 ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJs YW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9pcGFf bWlncmF0ZV9jb25zdGFudHMucHkgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9u KCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFf bWlncmF0ZV9jb25zdGFudHMucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZV9jb25z dGFudHMucHkKLWluZGV4IGMxNDA0MTRlYS4uZTgxOTJmYjFhIDEwMDY0NAotLS0tIGEvaXBhc2Vy dmVyL2luc3RhbGwvaXBhX21pZ3JhdGVfY29uc3RhbnRzLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5z dGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLUBAIC04ODYsNyArODg2LDcgQEAgREJfT0JK RUNUUyA9IHsKLSAgICAgJ3BiYWNfcHJpdic6IHsKLSAgICAgICAgICdvYyc6IFsnZ3JvdXBvZm5h bWVzJ10sCi0gICAgICAgICAnc3VidHJlZSc6ICcsY249cHJpdmlsZWdlcyxjbj1wYmFjLCRTVUZG SVgnLAotLSAgICAgICAgJ2xhYmVsJzogJ1ByaXZsZWRnZXMnLAotKyAgICAgICAgJ2xhYmVsJzog J1ByaXZpbGVnZXMnLAotICAgICAgICAgJ21vZGUnOiAnYWxsJywKLSAgICAgICAgICdjb3VudCc6 IDAsCi0gICAgIH0sCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYzI5NGI3ZjZkYmNhZTljMDFkNTM2 NmIxOWIzYjA3MGZmYjczMGZhNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1ZGhp ciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxMSBEZWMgMjAyNCAxNTox Mjo0OCArMDUzMAotU3ViamVjdDogW1BBVENIIDA1Ni8xMTZdIGlwYXRlc3RzOiBGaXhlcyBmb3Ig aXBhLWlwYS1taWdyYXRpb24gdG9vbAotCi1UaGUgdGVzdCB0ZXN0X2lwYV9taWdyYXRlX3dpdGhf aW52YWxpZF9ob3N0IGhhcyBiZWVuCi1mYWlsaW5nIGluIGRvd25zdHJlYW0gcnVuIGR1ZSB0byBt aXNtYXRjaCBpbiB0aGUgZXhwZWN0ZWQgdGVzdCBvdXRwdXQsCi1oZW5jZSB0aGUgYXNzZXJ0IHN0 YXRlbWVudCBoYXMgYmVlbiBtb2RpZmllZC4KLQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS8zNjU2Ci0KLVNpZ25lZC1vZmYtYnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5v bkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9t aWdyYXRpb24ucHkgfCA0ICstLS0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDMg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rl c3RfaXBhX2lwYV9taWdyYXRpb24ucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf aXBhX2lwYV9taWdyYXRpb24ucHkKLWluZGV4IDBjNjM3YTAxNC4uOTVjMjkyMzRmIDEwMDY0NAot LS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5 Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24u cHkKLUBAIC00MzcsMTAgKzQzNyw4IEBAIGNsYXNzIFRlc3RJUEFNaWdyYXRlQ0xJT3B0aW9ucyhN aWdyYXRpb25UZXN0KToKLSAgICAgICAgICIiIgotICAgICAgICAgaG9zdG5hbWUgPSAic2VydmVy LmludmFsaWQuaG9zdCIKLSAgICAgICAgIEVSUl9NU0cgPSAoCi0tICAgICAgICAgICAgIklQQSB0 byBJUEEgbWlncmF0aW9uIHN0YXJ0aW5nIC4uLlxuIgotICAgICAgICAgICAgICJGYWlsZWQgdG8g YmluZCB0byByZW1vdGUgc2VydmVyOiBjYW5ub3QgY29ubmVjdCB0byAiCi0tICAgICAgICAgICAg IidsZGFwOi8vIgotLSAgICAgICAgICAgICJ7fSc6IFxuIi5mb3JtYXQoaG9zdG5hbWUpCi0rICAg ICAgICAgICAgIidsZGFwOi8ve30nOiIuZm9ybWF0KGhvc3RuYW1lKQotICAgICAgICAgKQotICAg ICAgICAgcmVzdWx0ID0gcnVuX21pZ3JhdGUoCi0gICAgICAgICAgICAgc2VsZi5yZXBsaWNhc1sw XSwKLS0tIAotMi40OS4wCi0KLQotRnJvbSBmZjViYjQ4NWQ3MDllYTAyNDIyY2JhZmJhNTFkMjNk YjM4NDgyMmFmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjAgRGVjIDIwMjQgMTU6NDU6MDEg KzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNTcvMTE2XSBJbnN0YWxsYXRpb24gdGVzdDogS1JBIG9u IHJlcGxpY2EgYWZ0ZXIgY2VydCByZW5ld2FsCi0KLUFkZCBhIG5ldyB0ZXN0IGluc3RhbGxpbmcg dGhlIEtSQSBvbiBhIHJlcGxpY2EgYWZ0ZXIgdGhlCi1LUkEgY2VydHMgaGF2ZSBiZWVuIHJlbmV3 ZWQgb24gdGhlIG1hc3Rlci4KLQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9p c3N1ZS85NjkyCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5j b20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0aW9uLnB5 IHwgMTAgKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9p bnN0YWxsYXRpb24ucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0 aW9uLnB5Ci1pbmRleCBjNTU2NWM0NTIuLjFmYWU0NzI2NyAxMDA2NDQKLS0tLSBhL2lwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pbnN0YWxsYXRpb24ucHkKLSsrKyBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9pbnN0YWxsYXRpb24ucHkKLUBAIC0xMzIyLDcgKzEzMjIsNyBA QCBjbGFzcyBUZXN0SW5zdGFsbE1hc3RlcihJbnRlZ3JhdGlvblRlc3QpOgotIAotIGNsYXNzIFRl c3RJbnN0YWxsTWFzdGVyS1JBKEludGVncmF0aW9uVGVzdCk6Ci0gCi0tICAgIG51bV9yZXBsaWNh cyA9IDAKLSsgICAgbnVtX3JlcGxpY2FzID0gMQotIAotICAgICBAY2xhc3NtZXRob2QKLSAgICAg ZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci1AQCAtMTM3OSw2ICsxMzc5LDE0IEBAIGNsYXNzIFRlc3RJ bnN0YWxsTWFzdGVyS1JBKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAgICAgKQotICAgICAg ICAgICAgIGFzc2VydCBzdGFydGluZ19zZXJpYWwgIT0gaW50KGNlcnQuc2VyaWFsX251bWJlcikK LSAKLSsgICAgZGVmIHRlc3RfaW5zdGFsbF9yZXBsaWNhX2FmdGVyX2tyYWNlcnRfcmVuZXdhbChz ZWxmKToKLSsgICAgICAgICIiIgotKyAgICAgICAgVGVzdCByZXBsaWNhIGluc3RhbGxhdGlvbiB3 aXRoIENBIGFmdGVyIHRoZSBLUkEgY2VydHMgcmVuZXdhbAotKyAgICAgICAgIiIiCi0rICAgICAg ICB0YXNrcy5pbnN0YWxsX3JlcGxpY2Eoc2VsZi5tYXN0ZXIsIHNlbGYucmVwbGljYXNbMF0sCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0dXBfY2E9VHJ1ZSkKLSsgICAgICAgIHRh c2tzLmluc3RhbGxfa3JhKHNlbGYucmVwbGljYXNbMF0pCi0rCi0gCi0gY2xhc3MgVGVzdEluc3Rh bGxNYXN0ZXJETlMoSW50ZWdyYXRpb25UZXN0KToKLSAKLS0tIAotMi40OS4wCi0KLQotRnJvbSBh NzA3MDgzYjA5ODdlNmZmYWJiODE3ZmNjNWU1MTM4YjRjNzU1NDU5IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURh dGU6IEZyaSwgMjAgRGVjIDIwMjQgMTc6MDE6NTYgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNTgv MTE2XSBLUkEgY2VydCByZW5ld2FsOiB1cGRhdGUKLSBjYS5jb25uZWN0b3IuS1JBLnRyYW5zcG9y dENlcnQKLQotQWZ0ZXIgdGhlIEtSQSB0cmFuc3BvcnQgY2VydCBoYXMgYmVlbiByZW5ld2VkLCB0 aGUgdmFsdWUKLW9mIGNhLmNvbm5lY3Rvci5LUkEudHJhbnNwb3J0Q2VydCBtdXN0IGFsc28gYmUg dXBkYXRlZCBpbgotL2V0Yy9wa2kvcGtpLXRvbWNhdC9jYS9DUy5jZmcuCi1PdGhlcndpc2UgcmVw bGljYSBpbnN0YWxsYXRpb24gd2l0aCBLUkEgZmFpbHMuCi0KLUZpeGVzOiBodHRwczovL3BhZ3Vy ZS5pby9mcmVlaXBhL2lzc3VlLzk2OTIKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkg fCAxMyArKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNSBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2Uu cHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3RhbmNlLnB5Ci1pbmRleCA1YzJjOWY4YjkuLmUw M2E4Yzg2MyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLSsr KyBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLUBAIC0xMjI1LDExICsxMjI1LDE0 IEBAIGNsYXNzIENBSW5zdGFuY2UoRG9ndGFnSW5zdGFuY2UpOgotICAgICAgICAgIiIiCi0gCi0g ICAgICAgICAjIFRoZSBjZXJ0IGRpcmVjdGl2ZSB0byB1cGRhdGUgcGVyIG5pY2tuYW1lCi0tICAg ICAgICBkaXJlY3RpdmVzID0geydhdWRpdFNpZ25pbmdDZXJ0IGNlcnQtcGtpLWNhJzogJ2NhLmF1 ZGl0X3NpZ25pbmcuY2VydCcsCi0tICAgICAgICAgICAgICAgICAgICAgICdvY3NwU2lnbmluZ0Nl cnQgY2VydC1wa2ktY2EnOiAnY2Eub2NzcF9zaWduaW5nLmNlcnQnLAotLSAgICAgICAgICAgICAg ICAgICAgICAnY2FTaWduaW5nQ2VydCBjZXJ0LXBraS1jYSc6ICdjYS5zaWduaW5nLmNlcnQnLAot LSAgICAgICAgICAgICAgICAgICAgICAnc3Vic3lzdGVtQ2VydCBjZXJ0LXBraS1jYSc6ICdjYS5z dWJzeXN0ZW0uY2VydCcsCi0tICAgICAgICAgICAgICAgICAgICAgICdTZXJ2ZXItQ2VydCBjZXJ0 LXBraS1jYSc6ICdjYS5zc2xzZXJ2ZXIuY2VydCd9Ci0rICAgICAgICBkaXJlY3RpdmVzID0gewot KyAgICAgICAgICAgICdhdWRpdFNpZ25pbmdDZXJ0IGNlcnQtcGtpLWNhJzogJ2NhLmF1ZGl0X3Np Z25pbmcuY2VydCcsCi0rICAgICAgICAgICAgJ29jc3BTaWduaW5nQ2VydCBjZXJ0LXBraS1jYSc6 ICdjYS5vY3NwX3NpZ25pbmcuY2VydCcsCi0rICAgICAgICAgICAgJ2NhU2lnbmluZ0NlcnQgY2Vy dC1wa2ktY2EnOiAnY2Euc2lnbmluZy5jZXJ0JywKLSsgICAgICAgICAgICAnc3Vic3lzdGVtQ2Vy dCBjZXJ0LXBraS1jYSc6ICdjYS5zdWJzeXN0ZW0uY2VydCcsCi0rICAgICAgICAgICAgJ1NlcnZl ci1DZXJ0IGNlcnQtcGtpLWNhJzogJ2NhLnNzbHNlcnZlci5jZXJ0JywKLSsgICAgICAgICAgICAn dHJhbnNwb3J0Q2VydCBjZXJ0LXBraS1rcmEnOiAnY2EuY29ubmVjdG9yLktSQS50cmFuc3BvcnRD ZXJ0JwotKyAgICAgICAgfQotIAotICAgICAgICAgdHJ5OgotICAgICAgICAgICAgIHNlbGYuYmFj a3VwX2NvbmZpZygpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gODNkNDdhMmNkODhiN2VmODQ1MDkx MTdiN2I4ZmYyOGNmZGI3Mzc2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3Jl bmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDMgRGVjIDIwMjQg MTc6NDA6MTEgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNTkvMTE2XSBEb2d0YWcgaW5zdGFuY2U6 IGFkZCBtZXRob2QgdG8gY3JlYXRlIHRlbXAgcGFzc3dvcmQKLSBmaWxlCi0KLVRoZSB0ZW1wIHBh c3N3b3JkIGZpbGUgY29udGFpbnMgdGhlIHBhc3N3b3JkIGZvciB0aGUgaW50ZXJuYWwKLXRva2Vu IGFzIHdlbGwgYXMgdGhlIHBhc3N3b3JkIGZvciBIU00gKGlmIGFueSkuCi0KLVJlbGF0ZWQ6IGh0 dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTcwNQotCi1TaWduZWQtb2ZmLWJ5OiBGbG9y ZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVu IDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5z dGFuY2UucHkgICAgICAgIHwgMjcgKysrKysrKysKLSBpcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIv cmVwbGljYWluc3RhbGwucHkgfCA3OCArKysrKysrKystLS0tLS0tLS0tLS0tCi0gMiBmaWxlcyBj aGFuZ2VkLCA1OSBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBh L2lwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2luc3RhbmNlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwv ZG9ndGFnaW5zdGFuY2UucHkKLWluZGV4IDU4NDIxYTFkOC4uMzJhNTJkYmVkIDEwMDY0NAotLS0t IGEvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9p bnN0YWxsL2RvZ3RhZ2luc3RhbmNlLnB5Ci1AQCAtMTI5LDYgKzEyOSwzMyBAQCBjbGFzcyBEb2d0 YWdJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAgICAgICAgIiIiTG9vayB1cCB0b2tlbiBu YW1lIGZvciBuaWNrbmFtZS4iIiIKLSAgICAgICAgIHJldHVybiBzZWxmLnRva2VuX25hbWVzLmdl dChuaWNrbmFtZSwgc2VsZi50b2tlbl9uYW1lKQotIAotKyAgICBkZWYgZ2V0X3Rva2VuX3B3ZF9m aWxlKHNlbGYsIGRpcik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIENyZWF0ZSBhIHRlbXAgcGFz c3dvcmQgZmlsZSBpbiB0aGUgcHJvdmlkZWQgZGlyZWN0b3J5LgotKwotKyAgICAgICAgVGhlIGZp bGUgY29udGFpbnMgdGhlIHBhc3N3b3JkIGZvciB0aGUgaW50ZXJuYWwgdG9rZW4gYW5kCi0rICAg ICAgICBmb3IgdGhlIEhTTS4KLSsgICAgICAgIFRoZSBkaXJlY3RvcnkgZGlyIG11c3QgYWxyZWFk eSBleGlzdCwgYW5kIHRoZSBjYWxsZXIgbXVzdAotKyAgICAgICAgZGVsZXRlIHRoZSBmaWxlIGFm dGVyIHVzZS4KLSsgICAgICAgICIiIgotKyAgICAgICAgaWYgdGFza3MuaXNfZmlwc19lbmFibGVk KCk6Ci0rICAgICAgICAgICAgZGJuYW1lID0gJ05TUyBGSVBTIDE0MC0yIENlcnRpZmljYXRlIERC JwotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBkYm5hbWUgPSAnTlNTIENlcnRpZmljYXRl IERCJwotKyAgICAgICAgcHdkX2ZpbGUgPSBvcy5wYXRoLmpvaW4oZGlyLCAicHdkX2ZpbGUiKQot KyAgICAgICAgd2l0aCBvcGVuKHB3ZF9maWxlLCAidyIpIGFzIHB3ZDoKLSsgICAgICAgICAgICB3 aXRoIG9wZW4ocGF0aHMuUEtJX1RPTUNBVF9QQVNTV09SRF9DT05GLCAncicpIGFzIGZkOgotKyAg ICAgICAgICAgICAgICBmb3IgbGluZSBpbiBmZDoKLSsgICAgICAgICAgICAgICAgICAgICh0b2tl biwgcGluKSA9IGxpbmUuc3BsaXQoJz0nLCAxKQotKyAgICAgICAgICAgICAgICAgICAgaWYgdG9r ZW4uc3RhcnRzd2l0aCgnaGFyZHdhcmUtJyk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgdG9r ZW4gPSB0b2tlbi5yZXBsYWNlKCdoYXJkd2FyZS0nLCAnJykKLSsgICAgICAgICAgICAgICAgICAg ICAgICBwd2Qud3JpdGUoZid7dG9rZW59OntwaW59JykKLSsgICAgICAgICAgICAgICAgICAgIGVs aWYgdG9rZW4gPT0gSU5URVJOQUxfVE9LRU46Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcHdk LndyaXRlKGYne2RibmFtZX06e3Bpbn0nKQotKyAgICAgICAgICAgIHB3ZC5mbHVzaCgpCi0rICAg ICAgICAgICAgb3MuZmNobW9kKHB3ZC5maWxlbm8oKSwgMG82MDApCi0rICAgICAgICByZXR1cm4g cHdkX2ZpbGUKLSsKLSAgICAgZ3JvdXBzX2FjaSA9ICgKLSAgICAgICAgIGInKHRhcmdldGZpbHRl cj0iKG9iamVjdENsYXNzPWdyb3VwT2ZVbmlxdWVOYW1lcykiKScKLSAgICAgICAgIGInKHRhcmdl dGF0dHI9ImNuIHx8IGRlc2NyaXB0aW9uIHx8IG9iamVjdGNsYXNzIHx8IHVuaXF1ZW1lbWJlciIp JwotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5zdGFsbC5w eSBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5zdGFsbC5weQotaW5kZXggNzY2 N2Y0NDkzLi5lZWFhYWNiNjUgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIv cmVwbGljYWluc3RhbGwucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNh aW5zdGFsbC5weQotQEAgLTM4LDcgKzM4LDYgQEAgZnJvbSBpcGFsaWIuY29uZmlnIGltcG9ydCBF bnYKLSBmcm9tIGlwYWxpYi5mYWN0cyBpbXBvcnQgaXNfaXBhX2NvbmZpZ3VyZWQsIGlzX2lwYV9j bGllbnRfY29uZmlndXJlZAotIGZyb20gaXBhbGliLnV0aWwgaW1wb3J0IG5vX21hdGNoaW5nX2lu dGVyZmFjZV9mb3JfaXBfYWRkcmVzc193YXJuaW5nCi0gZnJvbSBpcGFjbGllbnQuaW5zdGFsbC5j bGllbnQgaW1wb3J0IGNvbmZpZ3VyZV9rcmI1X2NvbmYsIHB1cmdlX2hvc3Rfa2V5dGFiCi0tZnJv bSBpcGFzZXJ2ZXIuaW5zdGFsbC5kb2d0YWdpbnN0YW5jZSBpbXBvcnQgSU5URVJOQUxfVE9LRU4K LSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCAoCi0gICAgIGFkdHJ1c3QsIGJpbmRpbnN0 YW5jZSwgY2EsIGNhaW5zdGFuY2UsIGRucywgZHNpbnN0YW5jZSwgaHR0cGluc3RhbmNlLAotICAg ICBpbnN0YWxsdXRpbHMsIGtyYSwga3JhaW5zdGFuY2UsIGtyYmluc3RhbmNlLCBvdHBkaW5zdGFu Y2UsCi1AQCAtNjMzLDkgKzYzMiwxMSBAQCBkZWYgZW5yb2xsX2RsMF9yZXBsaWNhKGluc3RhbGxl ciwgZnN0b3JlLCByZW1vdGVfYXBpLCBkZWJ1Zz1GYWxzZSk6Ci0gCi0gICAgIHRyeToKLSAgICAg ICAgIGluc3RhbGxlci5fZW5yb2xsbWVudF9wZXJmb3JtZWQgPSBUcnVlCi0rICAgICAgICAjIHB5 bGludDogZGlzYWJsZT1FMDYwNgotICAgICAgICAgaG9zdF9yZXN1bHQgPSByZW1vdGVfYXBpLkNv bW1hbmQuaG9zdF9hZGQoCi0gICAgICAgICAgICAgdW5pY29kZShjb25maWcuaG9zdF9uYW1lKSwg Zm9yY2U9aW5zdGFsbGVyLm5vX2hvc3RfZG5zCi0gICAgICAgICApWydyZXN1bHQnXQotKyAgICAg ICAgIyBweWxpbnQ6IGVuYWJsZT1FMDYwNgotIAotICAgICAgICAgaG9zdF9wcmluYyA9IHVuaWNv ZGUoaG9zdF9yZXN1bHRbJ2tyYmNhbm9uaWNhbG5hbWUnXVswXSkKLSAgICAgICAgIHB1cmdlX2hv c3Rfa2V5dGFiKGNvbmZpZy5yZWFsbV9uYW1lKQotQEAgLTc3NCwxMSArNzc1LDYgQEAgZGVmIGNs ZWFuX3VwX2hzbV9uaWNrbmFtZXMoYXBpKToKLSAgICAgIyBIYXJkY29kZSB0aGUgdG9rZW4gbmFt ZXMuIE5TUyB0b29saW5nIGRvZXMgbm90IHByb3ZpZGUgYQotICAgICAjIHB1YmxpYyB3YXkgdG8g ZGV0ZXJtaW5lIGl0IG90aGVyIHRoYW4gc2NyYXBpbmcgbW9kdXRpbAotICAgICAjIG91dHB1dC4K LS0gICAgaWYgdGFza3MuaXNfZmlwc19lbmFibGVkKCk6Ci0tICAgICAgICBkYm5hbWUgPSAnTlNT IEZJUFMgMTQwLTIgQ2VydGlmaWNhdGUgREInCi0tICAgIGVsc2U6Ci0tICAgICAgICBkYm5hbWUg PSAnTlNTIENlcnRpZmljYXRlIERCJwotLQotICAgICBhcGkuQmFja2VuZC5sZGFwMi5jb25uZWN0 KCkKLSAgICAgKHRva2VuX25hbWUsIF91bnVzZWQpID0gY2EubG9va3VwX2hzbV9jb25maWd1cmF0 aW9uKGFwaSkKLSAgICAgYXBpLkJhY2tlbmQubGRhcDIuZGlzY29ubmVjdCgpCi1AQCAtNzk0LDQ2 ICs3OTAsMzYgQEAgZGVmIGNsZWFuX3VwX2hzbV9uaWNrbmFtZXMoYXBpKToKLSAKLSAgICAgdHJ5 OgotICAgICAgICAgdG1wZGlyID0gdGVtcGZpbGUubWtkdGVtcChwcmVmaXg9InRtcC0iKQotLSAg ICAgICAgcHdkX2ZpbGUgPSBvcy5wYXRoLmpvaW4odG1wZGlyLCAicHdkX2ZpbGUiKQotLSAgICAg ICAgd2l0aCBvcGVuKHB3ZF9maWxlLCAidyIpIGFzIHB3ZDoKLS0gICAgICAgICAgICB3aXRoIG9w ZW4ocGF0aHMuUEtJX1RPTUNBVF9QQVNTV09SRF9DT05GLCAncicpIGFzIGZkOgotLSAgICAgICAg ICAgICAgICBmb3IgbGluZSBpbiBmZDoKLS0gICAgICAgICAgICAgICAgICAgICh0b2tlbiwgcGlu KSA9IGxpbmUuc3BsaXQoJz0nLCAxKQotLSAgICAgICAgICAgICAgICAgICAgaWYgdG9rZW4uc3Rh cnRzd2l0aCgnaGFyZHdhcmUtJyk6Ci0tICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gPSB0 b2tlbi5yZXBsYWNlKCdoYXJkd2FyZS0nLCAnJykKLS0gICAgICAgICAgICAgICAgICAgICAgICBw d2Qud3JpdGUoZid7dG9rZW59OntwaW59JykKLS0gICAgICAgICAgICAgICAgICAgIGVsaWYgdG9r ZW4gPT0gSU5URVJOQUxfVE9LRU46Ci0tICAgICAgICAgICAgICAgICAgICAgICAgcHdkLndyaXRl KGYne2RibmFtZX06e3Bpbn0nKQotLSAgICAgICAgICAgIHB3ZC5mbHVzaCgpCi0tICAgICAgICAg ICAgZGIgPSBjZXJ0cy5DZXJ0REIoYXBpLmVudi5yZWFsbSwKLS0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBuc3NkaXI9cGF0aHMuUEtJX1RPTUNBVF9BTElBU19ESVIsCi0tICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHdkX2ZpbGU9cHdkX2ZpbGUpCi0tICAgICAgICAgICAgZm9y IChuaWNrbmFtZSwgX3VudXNlZCkgaW4gZG9ndGFnX3JlcXM6Ci0tICAgICAgICAgICAgICAgIHRy eToKLS0gICAgICAgICAgICAgICAgICAgIGlmIG5pY2tuYW1lIGluICgKLS0gICAgICAgICAgICAg ICAgICAgICAgICAnY2FTaWduaW5nQ2VydCBjZXJ0LXBraS1jYScsCi0tICAgICAgICAgICAgICAg ICAgICAgICAgJ1NlcnZlci1DZXJ0IGNlcnQtcGtpLWNhJwotLSAgICAgICAgICAgICAgICAgICAg KToKLS0gICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotLSAgICAgICAgICAgICAgICAg ICAgaWYgbmlja25hbWUgaW4gKAotLSAgICAgICAgICAgICAgICAgICAgICAgICdhdWRpdFNpZ25p bmdDZXJ0IGNlcnQtcGtpLWNhJywKLS0gICAgICAgICAgICAgICAgICAgICAgICAnYXVkaXRTaWdu aW5nQ2VydCBjZXJ0LXBraS1rcmEnLAotLSAgICAgICAgICAgICAgICAgICAgKToKLS0gICAgICAg ICAgICAgICAgICAgICAgICB0cnVzdCA9ICcsLFAnCi0tICAgICAgICAgICAgICAgICAgICBlbHNl OgotLSAgICAgICAgICAgICAgICAgICAgICAgIHRydXN0ID0gJywsJwotLSAgICAgICAgICAgICAg ICAgICAgZGIucnVuX2NlcnR1dGlsKFsnLU0nLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnLW4nLCBmInt0b2tlbl9uYW1lfTp7bmlja25hbWV9IiwKLS0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy10JywgdHJ1c3RdKQotLSAgICAgICAgICAgICAg ICBleGNlcHQgQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6Ci0tICAgICAgICAgICAgICAgICAgICBs b2dnZXIuZGVidWcoIk1vZGlmeWluZyB0cnVzdCBvbiAlcyBmYWlsZWQ6ICVzIiwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBuaWNrbmFtZSwgZSkKLS0KLS0gICAgICAgICAgICBp ZiBkYi5oYXNfbmlja25hbWUoJ0RpcmVjdG9yeSBTZXJ2ZXIgQ0EgY2VydGlmaWNhdGUnKToKLS0g ICAgICAgICAgICAgICAgZGIucnVuX2NlcnR1dGlsKFsnLS1yZW5hbWUnLAotLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICctbicsICdEaXJlY3RvcnkgU2VydmVyIENBIGNlcnRpZmlj YXRlJywKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLS1uZXctbicsICdjYVNp Z25pbmdDZXJ0IGNlcnQtcGtpLWNhJ10sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZW9uZXJyPUZhbHNlKQotKyAgICAgICAgcHdkX2ZpbGUgPSBjYWkuZ2V0X3Rva2VuX3B3 ZF9maWxlKHRtcGRpcikKLSsgICAgICAgIGRiID0gY2VydHMuQ2VydERCKGFwaS5lbnYucmVhbG0s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBuc3NkaXI9cGF0aHMuUEtJX1RPTUNBVF9BTElB U19ESVIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBwd2RfZmlsZT1wd2RfZmlsZSkKLSsg ICAgICAgIGZvciAobmlja25hbWUsIF91bnVzZWQpIGluIGRvZ3RhZ19yZXFzOgotKyAgICAgICAg ICAgIHRyeToKLSsgICAgICAgICAgICAgICAgaWYgbmlja25hbWUgaW4gKAotKyAgICAgICAgICAg ICAgICAgICAgJ2NhU2lnbmluZ0NlcnQgY2VydC1wa2ktY2EnLAotKyAgICAgICAgICAgICAgICAg ICAgJ1NlcnZlci1DZXJ0IGNlcnQtcGtpLWNhJwotKyAgICAgICAgICAgICAgICApOgotKyAgICAg ICAgICAgICAgICAgICAgY29udGludWUKLSsgICAgICAgICAgICAgICAgaWYgbmlja25hbWUgaW4g KAotKyAgICAgICAgICAgICAgICAgICAgJ2F1ZGl0U2lnbmluZ0NlcnQgY2VydC1wa2ktY2EnLAot KyAgICAgICAgICAgICAgICAgICAgJ2F1ZGl0U2lnbmluZ0NlcnQgY2VydC1wa2kta3JhJywKLSsg ICAgICAgICAgICAgICAgKToKLSsgICAgICAgICAgICAgICAgICAgIHRydXN0ID0gJywsUCcKLSsg ICAgICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgICAgIHRydXN0ID0gJywsJwot KyAgICAgICAgICAgICAgICBkYi5ydW5fY2VydHV0aWwoWyctTScsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJy1uJywgZiJ7dG9rZW5fbmFtZX06e25pY2tuYW1lfSIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy10JywgdHJ1c3RdKQotKyAgICAgICAgICAg IGV4Y2VwdCBDYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLSsgICAgICAgICAgICAgICAgbG9nZ2Vy LmRlYnVnKCJNb2RpZnlpbmcgdHJ1c3Qgb24gJXMgZmFpbGVkOiAlcyIsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBuaWNrbmFtZSwgZSkKLSsKLSsgICAgICAgIGlmIGRiLmhhc19uaWNr bmFtZSgnRGlyZWN0b3J5IFNlcnZlciBDQSBjZXJ0aWZpY2F0ZScpOgotKyAgICAgICAgICAgIGRi LnJ1bl9jZXJ0dXRpbChbJy0tcmVuYW1lJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICctbicsICdEaXJlY3RvcnkgU2VydmVyIENBIGNlcnRpZmljYXRlJywKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICctLW5ldy1uJywgJ2NhU2lnbmluZ0NlcnQgY2VydC1wa2ktY2EnXSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VvbmVycj1GYWxzZSkKLSAgICAgZmlu YWxseToKLSAgICAgICAgIHNodXRpbC5ybXRyZWUodG1wZGlyKQotIAotLS0gCi0yLjQ5LjAKLQot Ci1Gcm9tIGQ1NTZhYzQ2MTE5OThlYWQxNmJlNGI5M2JhMDgxYjlmNDhkZGI1ZWUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotRGF0ZTogTW9uLCAyIERlYyAyMDI0IDEzOjE5OjE4ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0ggMDYwLzExNl0gQ2VydCByZW5ld2FsOiB1cGRhdGUgdGhlIHRydXN0IGZsYWdzIGZvciBhdWRp dCBjZXJ0Ci0KLVdoZW4gY2VydG1vbmdlciByZW5ld3MgdGhlIGF1ZGl0U2lnbmluZ0NlcnQgZm9y IHRoZSBDQQotb3IgdGhlIEtSQSwgaXQgaGFzIHRvIGFkZCB0aGUgUCB0cnVzdCBmbGFnIHRvIHRo ZSBOU1MKLWRhdGFiYXNlIGluIC9ldGMvcGtpL3BraS10b21jYXQvYWxpYXMuCi0KLUlmIElQQSBp cyBpbnN0YWxsZWQgaW4gRklQUyBtb2RlIHdpdGggYW4gSFNNLCB0aGUKLWNlcnR1dGlsIGNvbW1h bmRzIG11c3QgYmUgcHJvdmlkZWQgYSBwYXNzd29yZCBmaWxlCi1jb250YWluaW5nIGJvdGggdGhl IGludGVybmFsIHRva2VuIHBhc3N3b3JkIGFuZCB0aGUKLUhTTSBwYXNzd29yZCwgYW5kIHRoZSBj ZXJ0IG5hbWUgbXVzdCBiZSBwcmVmaXhlZAotd2l0aCB0aGUgdG9rZW5uYW1lIChvdGhlcndpc2Ug Y2VydHV0aWwgLU0gc3VjY2VlZHMKLWJ1dCBkb2VzIG5vdCB1cGRhdGUgdGhlIHRydXN0IGZsYWdz KS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTcwNQotU2lnbmVk LW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2Vk LUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBS b2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGluc3RhbGwvcmVzdGFy dF9zY3JpcHRzL3JlbmV3X2NhX2NlcnQuaW4gfCAzMyArKysrKysrKysrKysrKysrKy0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgMjMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9pbnN0YWxsL3Jlc3RhcnRfc2NyaXB0cy9yZW5ld19jYV9jZXJ0LmluIGIvaW5z dGFsbC9yZXN0YXJ0X3NjcmlwdHMvcmVuZXdfY2FfY2VydC5pbgotaW5kZXggY2QxNDg5MDk1Li5j YmIyYzg5YTggMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Jlc3RhcnRfc2NyaXB0cy9yZW5ld19jYV9j ZXJ0LmluCi0rKysgYi9pbnN0YWxsL3Jlc3RhcnRfc2NyaXB0cy9yZW5ld19jYV9jZXJ0LmluCi1A QCAtMzMsNiArMzMsNyBAQCBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpLCBlcnJvcnMKLSBmcm9tIGlw YWxpYiBpbXBvcnQgeDUwOQotIGZyb20gaXBhbGliLmluc3RhbGwua2luaXQgaW1wb3J0IGtpbml0 X2tleXRhYgotIGZyb20gaXBhc2VydmVyLmluc3RhbGwgaW1wb3J0IGNlcnRzLCBjYWluc3RhbmNl Ci0rZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbC5kb2d0YWdpbnN0YW5jZSBpbXBvcnQgSU5URVJOQUxf VE9LRU4KLSBmcm9tIGlwYXNlcnZlci5wbHVnaW5zLmxkYXAyIGltcG9ydCBsZGFwMgotIGZyb20g aXBhcGxhdGZvcm0gaW1wb3J0IHNlcnZpY2VzCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBv cnQgcGF0aHMKLUBAIC02OCwxNSArNjksMjQgQEAgZGVmIF9tYWluKCk6Ci0gICAgICAgICAgICAg c3lzbG9nLnN5c2xvZygKLSAgICAgICAgICAgICAgICAgc3lzbG9nLkxPR19OT1RJQ0UsICJTdG9w cGVkICVzIiAlIGRvZ3RhZ19zZXJ2aWNlLnNlcnZpY2VfbmFtZSkKLSAKLS0gICAgIyBGZXRjaCB0 aGUgbmV3IGNlcnRpZmljYXRlCi0tICAgIGRiID0gY2VydHMuQ2VydERCKGFwaS5lbnYucmVhbG0s IG5zc2Rpcj1wYXRocy5QS0lfVE9NQ0FUX0FMSUFTX0RJUikKLS0gICAgY2VydCA9IGRiLmdldF9j ZXJ0X2Zyb21fZGIobmlja25hbWUpCi0tICAgIGlmIG5vdCBjZXJ0OgotLSAgICAgICAgc3lzbG9n LnN5c2xvZyhzeXNsb2cuTE9HX0VSUiwgJ05vIGNlcnRpZmljYXRlICVzIGZvdW5kLicgJSBuaWNr bmFtZSkKLS0gICAgICAgIHN5cy5leGl0KDEpCi0tCi0gICAgIHRtcGRpciA9IHRlbXBmaWxlLm1r ZHRlbXAocHJlZml4PSJ0bXAtIikKLSAgICAgdHJ5OgotKyAgICAgICAgIyBJZiB3ZSBhcmUgdXNp bmcgSFNNLCBjcmVhdGUgYSBwd2QgZmlsZSB3aXRoIHRoZSBwYXNzd29yZCBmb3IKLSsgICAgICAg ICMgdGhlIGludGVybmFsIHRva2VuICsgSFNNCi0rICAgICAgICB0b2tlbl9uYW1lID0gY2EuZ2V0 X3Rva2VuX25hbWUobmlja25hbWUpCi0rICAgICAgICBpZiB0b2tlbl9uYW1lICE9IElOVEVSTkFM X1RPS0VOOgotKyAgICAgICAgICAgIHB3ZF9maWxlID0gY2EuZ2V0X3Rva2VuX3B3ZF9maWxlKHRt cGRpcikKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgIyBVc2UgdGhlIGRlZmF1bHQgcHdk IGZpbGUKLSsgICAgICAgICAgICBwd2RfZmlsZSA9IE5vbmUKLSsgICAgICAgICMgRmV0Y2ggdGhl IG5ldyBjZXJ0aWZpY2F0ZQotKyAgICAgICAgZGIgPSBjZXJ0cy5DZXJ0REIoYXBpLmVudi5yZWFs bSwgbnNzZGlyPXBhdGhzLlBLSV9UT01DQVRfQUxJQVNfRElSLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgcHdkX2ZpbGU9cHdkX2ZpbGUpCi0rICAgICAgICBjZXJ0ID0gZGIuZ2V0X2NlcnRf ZnJvbV9kYihuaWNrbmFtZSkKLSsgICAgICAgIGlmIG5vdCBjZXJ0OgotKyAgICAgICAgICAgIHN5 c2xvZy5zeXNsb2coc3lzbG9nLkxPR19FUlIsICdObyBjZXJ0aWZpY2F0ZSAlcyBmb3VuZC4nICUg bmlja25hbWUpCi0rICAgICAgICAgICAgc3lzLmV4aXQoMSkKLSsKLSAgICAgICAgIHByaW5jaXBh bCA9IHN0cignaG9zdC8lc0AlcycgJSAoYXBpLmVudi5ob3N0LCBhcGkuZW52LnJlYWxtKSkKLSAg ICAgICAgIGNjYWNoZV9maWxlbmFtZSA9IG9zLnBhdGguam9pbih0bXBkaXIsICdjY2FjaGUnKQot ICAgICAgICAga2luaXRfa2V5dGFiKHByaW5jaXBhbCwgcGF0aHMuS1JCNV9LRVlUQUIsIGNjYWNo ZV9maWxlbmFtZSkKLUBAIC05NSw5ICsxMDUsMTIgQEAgZGVmIF9tYWluKCk6Ci0gICAgICAgICAp OgotICAgICAgICAgICAgICMgRml4IHRydXN0IG9uIHRoZSBhdWRpdCBjZXJ0Ci0gICAgICAgICAg ICAgdHJ5OgotLSAgICAgICAgICAgICAgICBkYi5ydW5fY2VydHV0aWwoWyctTScsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1uJywgbmlja25hbWUsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJy10JywgJ3UsdSxQdSddKQotKyAgICAgICAgICAgICAgICBj bWRfYXJncyA9IFsnLU0nLCAnLXQnLCAndSx1LFB1J10KLSsgICAgICAgICAgICAgICAgaWYgdG9r ZW5fbmFtZSAhPSBJTlRFUk5BTF9UT0tFTjoKLSsgICAgICAgICAgICAgICAgICAgIGNtZF9hcmdz LmV4dGVuZChbJy1uJywgdG9rZW5fbmFtZSArICI6IiArIG5pY2tuYW1lXSkKLSsgICAgICAgICAg ICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgICAgIGNtZF9hcmdzLmV4dGVuZChbJy1uJywg dG9rZW5fbmFtZV0pCi0rICAgICAgICAgICAgICAgIGRiLnJ1bl9jZXJ0dXRpbChjbWRfYXJncykK LSAgICAgICAgICAgICAgICAgc3lzbG9nLnN5c2xvZygKLSAgICAgICAgICAgICAgICAgICAgIHN5 c2xvZy5MT0dfTk9USUNFLAotICAgICAgICAgICAgICAgICAgICAgIlVwZGF0ZWQgdHJ1c3Qgb24g Y2VydGlmaWNhdGUgJXMgaW4gJXMiICUKLS0tIAotMi40OS4wCi0KLQotRnJvbSA4ZWNmNzViMjk0 MjlhYTZmOWUwZmMwYWJmYjFkNzQwNjhiNWQ0ZjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwg NiBKYW4gMjAyNSAxNDozNzo0MiArMDEwMAotU3ViamVjdDogW1BBVENIIDA2MS8xMTZdIGlwYXRl c3RzOiBjZXJ0Ym90IHJlbW92ZWQgdGhlCi0gLS1tYW51YWwtcHVibGljLWlwLWxvZ2dpbmctb2sg cGFyYW1ldGVyCi0KLVRoZSBjZXJ0Ym90IENMSSBoYXMgZGVwcmVjYXRlZCB0aGUgcGFyYW1ldGVy IC0tbWFudWFsLXB1YmxpYy1pcC1sb2dnaW5nLW9rCi1hbmQgZmluYWxseSByZW1vdmVkIGl0IGZy b20gY2VydGJvdCAzLjAuCi1UaGUgdGVzdCB0ZXN0X2FjbWUucHkgaXMgdXNpbmcgdGhpcyBwYXJh bWV0ZXIgYW5kIGZhaWxzIGluIHJhd2hpZGUuCi0KLURvIG5vdCB1c2UgdGhpcyBwYXJhbWV0ZXIg YW55IG1vcmUuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3MjQK LVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1S ZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBp cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYWNtZS5weSB8IDEgLQotIDEgZmlsZSBjaGFu Z2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3RfYWNtZS5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9hY21lLnB5 Ci1pbmRleCA0MDMyZDI2NmEuLmIwZDc5MTgyYyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9hY21lLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfYWNtZS5weQotQEAgLTMxMSw3ICszMTEsNiBAQCBjbGFzcyBUZXN0QUNNRShDQUxlc3NC YXNlKToKLSAgICAgICAgICAgICAnLS1kb21haW4nLCBzZWxmLmNsaWVudHNbMF0uaG9zdG5hbWUs Ci0gICAgICAgICAgICAgJy0tcHJlZmVycmVkLWNoYWxsZW5nZXMnLCAnZG5zJywKLSAgICAgICAg ICAgICAnLS1tYW51YWwnLAotLSAgICAgICAgICAgICctLW1hbnVhbC1wdWJsaWMtaXAtbG9nZ2lu Zy1vaycsCi0gICAgICAgICAgICAgJy0tbWFudWFsLWF1dGgtaG9vaycsIENFUlRCT1RfRE5TX0lQ QV9TQ1JJUFQsCi0gICAgICAgICAgICAgJy0tbWFudWFsLWNsZWFudXAtaG9vaycsIENFUlRCT1Rf RE5TX0lQQV9TQ1JJUFQsCi0gICAgICAgICAgICAgJy0ta2V5LXR5cGUnLCAncnNhJywKLS0tIAot Mi40OS4wCi0KLQotRnJvbSAyNTA2ZDVkZTVhOWRkOGViZTZlZmM3NzdjMmViNzY0NjFmNWI1N2Uy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVu QHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDYgSmFuIDIwMjUgMTA6MTI6MTUgLTA1MDAKLVN1Ympl Y3Q6IFtQQVRDSCAwNjIvMTE2XSBBZGQgMzAtc2Vjb25kIHRpbWVvdXQgZm9yIGNlcnRtb25nZXIg cmVxdWVzdC9zdGFydAotIHRyYWNraW5nCi0KLWNlcnRtb25nZXIgbmVlZHMgdG8gdmFsaWRhdGUg dGhhdCB0aGUgUElOL3Bhc3N3b3JkIGFuZC9vciB0b2tlbgotYXJlIHZhbGlkIGFuZCBhdmFpbGFi bGUuIEluIHRoZSBjYXNlIG9mIGEgdmVyeSBzbG93IEhTTSB0aGlzIGNhbgotdGFrZSBsb25nZXIg dGhhbiB0aGUgNS1zZWNvbmQgZGVmYXVsdCB0aW1lb3V0LgotCi1XZSBzYXcgYW4gSFNNIHRoYXQg dG9vayAxOCBzZWNvbmRzIHRvIHN0YXJ0IHRyYWNraW5nIHRoZSBDQSBzaWduaW5nCi1jZXJ0aWZp Y2F0ZSBzbyBkZWZhdWx0IHRvIDMwIHRvIGJlIHNhZmUuCi0KLUZpeGVzOiBodHRwczovL3BhZ3Vy ZS5pby9mcmVlaXBhL2lzc3VlLzk3MjUKLQotU2lnbmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4g PHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFi YnJhQHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KLS0tLQotIGlwYWxpYi9pbnN0YWxsL2NlcnRt b25nZXIucHkgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhbGliL2luc3RhbGwvY2VydG1vbmdlci5weSBi L2lwYWxpYi9pbnN0YWxsL2NlcnRtb25nZXIucHkKLWluZGV4IDdiMjIyOTUxNS4uZWZjMWJhNGY0 IDEwMDY0NAotLS0tIGEvaXBhbGliL2luc3RhbGwvY2VydG1vbmdlci5weQotKysrIGIvaXBhbGli L2luc3RhbGwvY2VydG1vbmdlci5weQotQEAgLTQ3Nyw3ICs0NzcsNyBAQCBkZWYgcmVxdWVzdF9j ZXJ0KAotICAgICAgICAgcmVxdWVzdF9wYXJhbWV0ZXJzWydjZXJ0LXBlcm1zJ10gPSBwZXJtc1sw XQotICAgICAgICAgcmVxdWVzdF9wYXJhbWV0ZXJzWydrZXktcGVybXMnXSA9IHBlcm1zWzFdCi0g Ci0tICAgIHJlc3VsdCA9IGNtLm9ial9pZi5hZGRfcmVxdWVzdChyZXF1ZXN0X3BhcmFtZXRlcnMp Ci0rICAgIHJlc3VsdCA9IGNtLm9ial9pZi5hZGRfcmVxdWVzdChyZXF1ZXN0X3BhcmFtZXRlcnMs IHRpbWVvdXQ9MzApCi0gICAgIHRyeToKLSAgICAgICAgIGlmIHJlc3VsdFswXToKLSAgICAgICAg ICAgICByZXF1ZXN0ID0gX2NtX2RidXNfb2JqZWN0KGNtLmJ1cywgY20sIHJlc3VsdFsxXSwgREJV U19DTV9SRVFVRVNUX0lGLAotQEAgLTU4MSw3ICs1ODEsNyBAQCBkZWYgc3RhcnRfdHJhY2tpbmco Ci0gICAgIGlmIG5zc191c2VyOgotICAgICAgICAgcGFyYW1zWyduc3MtdXNlciddID0gbnNzX3Vz ZXIKLSAKLS0gICAgcmVzdWx0ID0gY20ub2JqX2lmLmFkZF9yZXF1ZXN0KHBhcmFtcykKLSsgICAg cmVzdWx0ID0gY20ub2JqX2lmLmFkZF9yZXF1ZXN0KHBhcmFtcywgdGltZW91dD0zMCkKLSAgICAg dHJ5OgotICAgICAgICAgaWYgcmVzdWx0WzBdOgotICAgICAgICAgICAgIHJlcXVlc3QgPSBfY21f ZGJ1c19vYmplY3QoY20uYnVzLCBjbSwgcmVzdWx0WzFdLCBEQlVTX0NNX1JFUVVFU1RfSUYsCi0t LSAKLTIuNDkuMAotCi0KLUZyb20gZDI2Y2U1Y2NjYzIxMWY4M2IzY2NlM2ZjNWU1NDhiNWNiOTU1 YmI4MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxh Ym9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogRnJpLCAxMyBEZWMgMjAyNCAxMzo0MjozNiArMDIw MAotU3ViamVjdDogW1BBVENIIDA2NC8xMTZdIFVuaWZ5IHVzZSBvZiBvcHRpb24gcGFyc2Vycwot Ci1EbyBub3QgdXNlIGRpcmVjdCBvcHRwYXJzZSByZWZlcmVuY2VzLCBpbnN0ZWFkIGltcG9ydCBJ UEFPcHRpb25QYXJzZXIKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpbnN0YWxsL3Rvb2xzL2lwYS1hZHRydXN0LWluc3RhbGwu aW4gICAgICAgIHwgIDQgKy0tLQotIGluc3RhbGwvdG9vbHMvaXBhLW1hbmFnZWQtZW50cmllcy5p biAgICAgICAgfCAgMyArKy0KLSBpcGFjbGllbnQvaW5zdGFsbC9pcGFfY2xpZW50X2F1dG9tb3Vu dC5weSAgIHwgIDQgKystLQotIGlwYWNsaWVudC9pbnN0YWxsL2lwYV9jbGllbnRfc2FtYmEucHkg ICAgICAgfCAgNCArKy0tCi0gaXBhbGliL2NsaS5weSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDIxICsrKysrKysrKysrKy0tLS0tLS0tLQotIGlwYWxpYi9wbHVnYWJsZS5weSAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQotIGlwYXB5dGhvbi9hZG1pbnRvb2wu cHkgICAgICAgICAgICAgICAgICAgICAgfCAgMyArLS0KLSBpcGFweXRob24vY29uZmlnLnB5ICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMTggKysrKysrKysrKystLS0tLS0tCi0gaXBhcHl0aG9u L2luc3RhbGwvY2xpLnB5ICAgICAgICAgICAgICAgICAgICB8ICA5ICsrKystLS0tLQotIGlwYXNl cnZlci9pbnN0YWxsL2lwYV9hY21lX21hbmFnZS5weSAgICAgICAgfCAgNiArKy0tLS0KLSBpcGFz ZXJ2ZXIvaW5zdGFsbC9pcGFfYmFja3VwLnB5ICAgICAgICAgICAgIHwgIDUgKystLS0KLSBpcGFz ZXJ2ZXIvaW5zdGFsbC9pcGFfY2FjZXJ0X21hbmFnZS5weSAgICAgIHwgIDkgKysrKy0tLS0tCi0g aXBhc2VydmVyL2luc3RhbGwvaXBhX2tyYV9pbnN0YWxsLnB5ICAgICAgICB8ICA1ICsrLS0tCi0g aXBhc2VydmVyL2luc3RhbGwvaXBhX3Jlc3RvcmUucHkgICAgICAgICAgICB8ICA1ICsrLS0tCi0g aXBhc2VydmVyL2luc3RhbGwvaXBhX3NlcnZlcl9jZXJ0aW5zdGFsbC5weSB8ICA3ICsrKy0tLS0K LSBpcGF0ZXN0cy9pMThuLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDggKysrKy0t LS0KLSBtYWtlYXBpLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDUgKyst LS0KLSAxNyBmaWxlcyBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspLCA2NCBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLWFkdHJ1c3QtaW5zdGFsbC5pbiBiL2lu c3RhbGwvdG9vbHMvaXBhLWFkdHJ1c3QtaW5zdGFsbC5pbgotaW5kZXggY2IyYjc4ZTUwLi5lN2Iw ZTM2OTIgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL2lwYS1hZHRydXN0LWluc3RhbGwuaW4K LSsrKyBiL2luc3RhbGwvdG9vbHMvaXBhLWFkdHJ1c3QtaW5zdGFsbC5pbgotQEAgLTI5LDggKzI5 LDYgQEAgaW1wb3J0IHN5cwotIAotIGltcG9ydCBzaXgKLSAKLS1mcm9tIG9wdHBhcnNlIGltcG9y dCBTVVBQUkVTU19IRUxQICAjIHB5bGludDogZGlzYWJsZT1kZXByZWNhdGVkLW1vZHVsZQotLQot IGZyb20gaXBhbGliLmluc3RhbGwgaW1wb3J0IHN5c3Jlc3RvcmUKLSBmcm9tIGlwYXNlcnZlci5p bnN0YWxsIGltcG9ydCBhZHRydXN0LCBzZXJ2aWNlCi0gZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbC5p bnN0YWxsdXRpbHMgaW1wb3J0ICgKLUBAIC00MSw3ICszOSw3IEBAIGZyb20gaXBhcHl0aG9uLmFk bWludG9vbCBpbXBvcnQgU2NyaXB0RXJyb3IKLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgdmVyc2lv bgotIGZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGF1dGlsCi0gZnJvbSBpcGFsaWIgaW1wb3J0IGFw aSwgZXJyb3JzLCBrcmJfdXRpbHMKLS1mcm9tIGlwYXB5dGhvbi5jb25maWcgaW1wb3J0IElQQU9w dGlvblBhcnNlcgotK2Zyb20gaXBhcHl0aG9uLmNvbmZpZyBpbXBvcnQgSVBBT3B0aW9uUGFyc2Vy LCBTVVBQUkVTU19IRUxQCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0aHMKLSBm cm9tIGlwYXB5dGhvbi5pcGFfbG9nX21hbmFnZXIgaW1wb3J0IHN0YW5kYXJkX2xvZ2dpbmdfc2V0 dXAKLSAKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3Rvb2xzL2lwYS1tYW5hZ2VkLWVudHJpZXMuaW4g Yi9pbnN0YWxsL3Rvb2xzL2lwYS1tYW5hZ2VkLWVudHJpZXMuaW4KLWluZGV4IGU5YmU0MWI3YS4u ZTNmMTIxOTQzIDEwMDY0NAotLS0tIGEvaW5zdGFsbC90b29scy9pcGEtbWFuYWdlZC1lbnRyaWVz LmluCi0rKysgYi9pbnN0YWxsL3Rvb2xzL2lwYS1tYW5hZ2VkLWVudHJpZXMuaW4KLUBAIC0zOSw3 ICszOSw4IEBAIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKG9zLnBhdGguYmFzZW5hbWUoX19m aWxlX18pKQotIGRlZiBwYXJzZV9vcHRpb25zKCk6Ci0gICAgIHVzYWdlID0gIiVwcm9nIFtvcHRp b25zXSA8c3RhdHVzfGVuYWJsZXxkaXNhYmxlPlxuIgotICAgICB1c2FnZSArPSAiJXByb2cgW29w dGlvbnNdXG4iCi0tICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcih1c2FnZT11c2FnZSwgZm9ybWF0 dGVyPWNvbmZpZy5JUEFGb3JtYXR0ZXIoKSkKLSsgICAgcGFyc2VyID0gY29uZmlnLklQQU9wdGlv blBhcnNlcih1c2FnZT11c2FnZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmb3JtYXR0ZXI9Y29uZmlnLklQQUZvcm1hdHRlcigpKQotIAotICAgICBwYXJzZXIuYWRkX29w dGlvbigiLWQiLCAiLS1kZWJ1ZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlc3Q9ImRlYnVnIiwK LSAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRGlzcGxheSBkZWJ1Z2dpbmcgaW5mb3JtYXRp b24gYWJvdXQgdGhlIHVwZGF0ZShzKSIpCi1kaWZmIC0tZ2l0IGEvaXBhY2xpZW50L2luc3RhbGwv aXBhX2NsaWVudF9hdXRvbW91bnQucHkgYi9pcGFjbGllbnQvaW5zdGFsbC9pcGFfY2xpZW50X2F1 dG9tb3VudC5weQotaW5kZXggNDQzOTkzMmJkLi45ZjQ5ZmY5ZWQgMTAwNjQ0Ci0tLS0gYS9pcGFj bGllbnQvaW5zdGFsbC9pcGFfY2xpZW50X2F1dG9tb3VudC5weQotKysrIGIvaXBhY2xpZW50L2lu c3RhbGwvaXBhX2NsaWVudF9hdXRvbW91bnQucHkKLUBAIC0zNCw3ICszNCw2IEBAIGltcG9ydCBT U1NEQ29uZmlnCi0gCi0gZnJvbSBzaXgubW92ZXMudXJsbGliLnBhcnNlIGltcG9ydCB1cmxzcGxp dAotIAotLWZyb20gb3B0cGFyc2UgaW1wb3J0IE9wdGlvblBhcnNlciAgIyBweWxpbnQ6IGRpc2Fi bGU9ZGVwcmVjYXRlZC1tb2R1bGUKLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhY2hhbmdlY29u ZgotIGZyb20gaXBhY2xpZW50IGltcG9ydCBkaXNjb3ZlcnkKLSBmcm9tIGlwYWNsaWVudC5pbnN0 YWxsLmNsaWVudCBpbXBvcnQgKAotQEAgLTUyLDYgKzUxLDcgQEAgZnJvbSBpcGFwbGF0Zm9ybS50 YXNrcyBpbXBvcnQgdGFza3MKLSBmcm9tIGlwYXBsYXRmb3JtIGltcG9ydCBzZXJ2aWNlcwotIGZy b20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0gZnJvbSBpcGFweXRob24uYWRtaW50 b29sIGltcG9ydCBTY3JpcHRFcnJvcgotK2Zyb20gaXBhcHl0aG9uLmNvbmZpZyBpbXBvcnQgSVBB T3B0aW9uUGFyc2VyCi0gCi0gCi0gbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIob3MucGF0aC5i YXNlbmFtZShfX2ZpbGVfXykpCi1AQCAtNTksNyArNTksNyBAQCBsb2dnZXIgPSBsb2dnaW5nLmdl dExvZ2dlcihvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKSkKLSAKLSBkZWYgcGFyc2Vfb3B0aW9u cygpOgotICAgICB1c2FnZSA9ICIlcHJvZyBbb3B0aW9uc11cbiIKLS0gICAgcGFyc2VyID0gT3B0 aW9uUGFyc2VyKHVzYWdlPXVzYWdlKQotKyAgICBwYXJzZXIgPSBJUEFPcHRpb25QYXJzZXIodXNh Z2U9dXNhZ2UpCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLXNlcnZlciIsIGRlc3Q9InNlcnZl ciIsIGhlbHA9IkZRRE4gb2YgSVBBIHNlcnZlciIpCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKAot ICAgICAgICAgIi0tbG9jYXRpb24iLAotZGlmZiAtLWdpdCBhL2lwYWNsaWVudC9pbnN0YWxsL2lw YV9jbGllbnRfc2FtYmEucHkgYi9pcGFjbGllbnQvaW5zdGFsbC9pcGFfY2xpZW50X3NhbWJhLnB5 Ci1pbmRleCA4MWQ2NzBjMzQuLjVjMzNhYmI0YyAxMDA3NTUKLS0tLSBhL2lwYWNsaWVudC9pbnN0 YWxsL2lwYV9jbGllbnRfc2FtYmEucHkKLSsrKyBiL2lwYWNsaWVudC9pbnN0YWxsL2lwYV9jbGll bnRfc2FtYmEucHkKLUBAIC05LDcgKzksNiBAQCBpbXBvcnQgbG9nZ2luZwotIGltcG9ydCBvcwot IGltcG9ydCBnc3NhcGkKLSBmcm9tIHVybGxpYi5wYXJzZSBpbXBvcnQgdXJsc3BsaXQKLS1mcm9t IG9wdHBhcnNlIGltcG9ydCBPcHRpb25QYXJzZXIgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0 ZWQtbW9kdWxlCi0gZnJvbSBjb250ZXh0bGliIGltcG9ydCBjb250ZXh0bWFuYWdlcgotIAotIGZy b20gaXBhY2xpZW50IGltcG9ydCBkaXNjb3ZlcnkKLUBAIC0zMSw2ICszMCw3IEBAIGZyb20gaXBh cGxhdGZvcm0uY29uc3RhbnRzIGltcG9ydCBjb25zdGFudHMKLSBmcm9tIGlwYXBsYXRmb3JtIGlt cG9ydCBzZXJ2aWNlcwotIGZyb20gaXBhcHl0aG9uLmFkbWludG9vbCBpbXBvcnQgU2NyaXB0RXJy b3IKLSBmcm9tIHNhbWJhIGltcG9ydCBnZW5lcmF0ZV9yYW5kb21fcGFzc3dvcmQKLStmcm9tIGlw YXB5dGhvbi5jb25maWcgaW1wb3J0IElQQU9wdGlvblBhcnNlcgotIAotIGxvZ2dlciA9IGxvZ2dp bmcuZ2V0TG9nZ2VyKG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18pKQotIGxvZ2dlci5zZXRMZXZl bChsb2dnaW5nLkRFQlVHKQotQEAgLTY4LDcgKzY4LDcgQEAgZGVmIHVzZV9hcGlfYXNfcHJpbmNp cGFsKHByaW5jaXBhbCwga2V5dGFiKToKLSAKLSBkZWYgcGFyc2Vfb3B0aW9ucygpOgotICAgICB1 c2FnZSA9ICIlcHJvZyBbb3B0aW9uc11cbiIKLS0gICAgcGFyc2VyID0gT3B0aW9uUGFyc2VyKHVz YWdlPXVzYWdlKQotKyAgICBwYXJzZXIgPSBJUEFPcHRpb25QYXJzZXIodXNhZ2U9dXNhZ2UpCi0g ICAgIHBhcnNlci5hZGRfb3B0aW9uKAotICAgICAgICAgIi0tc2VydmVyIiwKLSAgICAgICAgIGRl c3Q9InNlcnZlciIsCi1kaWZmIC0tZ2l0IGEvaXBhbGliL2NsaS5weSBiL2lwYWxpYi9jbGkucHkK LWluZGV4IGQ5YzJhYzE2NS4uNjY3YjIxM2ZkIDEwMDY0NAotLS0tIGEvaXBhbGliL2NsaS5weQot KysrIGIvaXBhbGliL2NsaS5weQotQEAgLTMwLDcgKzMwLDYgQEAgaW1wb3J0IHRleHR3cmFwCi0g aW1wb3J0IHN5cwotIGltcG9ydCBnZXRwYXNzCi0gaW1wb3J0IGNvZGUKLS1pbXBvcnQgb3B0cGFy c2UgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0gaW1wb3J0IG9zCi0gaW1w b3J0IHBwcmludAotIGltcG9ydCBmY250bAotQEAgLTcxLDYgKzcwLDggQEAgZnJvbSBpcGFsaWIu dGV4dCBpbXBvcnQgXwotIGZyb20gaXBhbGliIGltcG9ydCBhcGkKLSBmcm9tIGlwYXB5dGhvbi5k bnN1dGlsIGltcG9ydCBETlNOYW1lCi0gZnJvbSBpcGFweXRob24uYWRtaW50b29sIGltcG9ydCBT Y3JpcHRFcnJvcgotK2Zyb20gaXBhcHl0aG9uLmNvbmZpZyBpbXBvcnQgKElQQU9wdGlvblBhcnNl ciwgSVBBRm9ybWF0dGVyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvbkdy b3VwLCBtYWtlX29wdGlvbikKLSAKLSBpbXBvcnQgZGF0ZXRpbWUKLSAKLUBAIC0xMTIxLDcgKzEx MjIsOCBAQCBjbGFzcyBDb2xsZWN0b3I6Ci0gICAgIGRlZiBfX3RvZGljdF9fKHNlbGYpOgotICAg ICAgICAgcmV0dXJuIGRpY3Qoc2VsZi5fX29wdGlvbnMpCi0gCi0tY2xhc3MgQ0xJT3B0aW9uUGFy c2VyRm9ybWF0dGVyKG9wdHBhcnNlLkluZGVudGVkSGVscEZvcm1hdHRlcik6Ci0rCi0rY2xhc3Mg Q0xJT3B0aW9uUGFyc2VyRm9ybWF0dGVyKElQQUZvcm1hdHRlcik6Ci0gICAgIGRlZiBmb3JtYXRf YXJndW1lbnQoc2VsZiwgbmFtZSwgaGVscF9zdHJpbmcpOgotICAgICAgICAgcmVzdWx0ID0gW10K LSAgICAgICAgIG9wdF93aWR0aCA9IHNlbGYuaGVscF9wb3NpdGlvbiAtIHNlbGYuY3VycmVudF9p bmRlbnQgLSAyCi1AQCAtMTE0MSw3ICsxMTQzLDggQEAgY2xhc3MgQ0xJT3B0aW9uUGFyc2VyRm9y bWF0dGVyKG9wdHBhcnNlLkluZGVudGVkSGVscEZvcm1hdHRlcik6Ci0gICAgICAgICAgICAgcmVz dWx0LmFwcGVuZCgiXG4iKQotICAgICAgICAgcmV0dXJuICIiLmpvaW4ocmVzdWx0KQotIAotLWNs YXNzIENMSU9wdGlvblBhcnNlcihvcHRwYXJzZS5PcHRpb25QYXJzZXIpOgotKwotK2NsYXNzIENM SU9wdGlvblBhcnNlcihJUEFPcHRpb25QYXJzZXIpOgotICAgICAiIiIKLSAgICAgVGhpcyBPcHRp b25QYXJzZXIgc3ViY2xhc3MgYWRkcyBhbiBhYmlsaXR5IHRvIHByaW50IHBvc2l0aW9uYWwKLSAg ICAgYXJndW1lbnRzIGluIENMSSBoZWxwLiBDdXN0b20gZm9ybWF0dGVyIGlzIHVzZWQgdG8gZm9y bWF0IHRoZSBhcmd1bWVudAotQEAgLTExNTEsMTMgKzExNTQsMTMgQEAgY2xhc3MgQ0xJT3B0aW9u UGFyc2VyKG9wdHBhcnNlLk9wdGlvblBhcnNlcik6Ci0gICAgICAgICBzZWxmLl9hcmd1bWVudHMg PSBbXQotICAgICAgICAgaWYgJ2Zvcm1hdHRlcicgbm90IGluIGt3YXJnczoKLSAgICAgICAgICAg ICBrd2FyZ3NbJ2Zvcm1hdHRlciddID0gQ0xJT3B0aW9uUGFyc2VyRm9ybWF0dGVyKCkKLS0gICAg ICAgIG9wdHBhcnNlLk9wdGlvblBhcnNlci5fX2luaXRfXyhzZWxmLCAqYXJncywgKiprd2FyZ3Mp Ci0rICAgICAgICBJUEFPcHRpb25QYXJzZXIuX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdz KQotIAotICAgICBkZWYgZm9ybWF0X29wdGlvbl9oZWxwKHNlbGYsIGZvcm1hdHRlcj1Ob25lKToK LSAgICAgICAgICIiIgotICAgICAgICAgUHJlcGVuZCBhcmd1bWVudCBoZWxwIHRvIHN0YW5kYXJk IE9wdGlvblBhcnNlcidzIG9wdGlvbiBoZWxwCi0gICAgICAgICAiIiIKLS0gICAgICAgIG9wdGlv bl9oZWxwID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyLmZvcm1hdF9vcHRpb25faGVscChzZWxmLCBm b3JtYXR0ZXIpCi0rICAgICAgICBvcHRpb25faGVscCA9IElQQU9wdGlvblBhcnNlci5mb3JtYXRf b3B0aW9uX2hlbHAoc2VsZiwgZm9ybWF0dGVyKQotIAotICAgICAgICAgaWYgaXNpbnN0YW5jZShm b3JtYXR0ZXIsIENMSU9wdGlvblBhcnNlckZvcm1hdHRlcik6Ci0gICAgICAgICAgICAgaGVhZGlu ZyA9IHVuaWNvZGUoXygiUG9zaXRpb25hbCBhcmd1bWVudHMiKSkKLUBAIC0xMjcyLDcgKzEyNzUs NyBAQCBjbGFzcyBjbGkoYmFja2VuZC5FeGVjdXRpb25lcik6Ci0gICAgICAgICAgICAgIiIiR2V0 IG9yIGNyZWF0ZSBhbiBvcHRpb24gZ3JvdXAgZm9yIHRoZSBnaXZlbiBuYW1lIiIiCi0gICAgICAg ICAgICAgb3B0aW9uX2dyb3VwID0gb3B0aW9uX2dyb3Vwcy5nZXQoZ3JvdXBfbmFtZSkKLSAgICAg ICAgICAgICBpZiBvcHRpb25fZ3JvdXAgaXMgTm9uZToKLS0gICAgICAgICAgICAgICAgb3B0aW9u X2dyb3VwID0gb3B0cGFyc2UuT3B0aW9uR3JvdXAocGFyc2VyLCBncm91cF9uYW1lKQotKyAgICAg ICAgICAgICAgICBvcHRpb25fZ3JvdXAgPSBPcHRpb25Hcm91cChwYXJzZXIsIGdyb3VwX25hbWUp Ci0gICAgICAgICAgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uX2dyb3VwKG9wdGlvbl9ncm91cCkK LSAgICAgICAgICAgICAgICAgb3B0aW9uX2dyb3Vwc1tncm91cF9uYW1lXSA9IG9wdGlvbl9ncm91 cAotICAgICAgICAgICAgIHJldHVybiBvcHRpb25fZ3JvdXAKLUBAIC0xMjk4LDcgKzEzMDEsNyBA QCBjbGFzcyBjbGkoYmFja2VuZC5FeGVjdXRpb25lcik6Ci0gICAgICAgICAgICAgb3B0aW9uX25h bWVzID0gWyctLSVzJyAlIGNsaV9uYW1lXQotICAgICAgICAgICAgIGlmIG9wdGlvbi5jbGlfc2hv cnRfbmFtZToKLSAgICAgICAgICAgICAgICAgb3B0aW9uX25hbWVzLmFwcGVuZCgnLSVzJyAlIG9w dGlvbi5jbGlfc2hvcnRfbmFtZSkKLS0gICAgICAgICAgICBvcHQgPSBvcHRwYXJzZS5tYWtlX29w dGlvbigqb3B0aW9uX25hbWVzLCAqKmt3KQotKyAgICAgICAgICAgIG9wdCA9IG1ha2Vfb3B0aW9u KCpvcHRpb25fbmFtZXMsICoqa3cpCi0gICAgICAgICAgICAgaWYgb3B0aW9uLm9wdGlvbl9ncm91 cCBpcyBOb25lOgotICAgICAgICAgICAgICAgICBwYXJzZXIuYWRkX29wdGlvbihvcHQpCi0gICAg ICAgICAgICAgZWxzZToKLUBAIC0xMzEyLDcgKzEzMTUsNyBAQCBjbGFzcyBjbGkoYmFja2VuZC5F eGVjdXRpb25lcik6Ci0gICAgICAgICAgICAgICAgIGdyb3VwID0gX2dldF9vcHRpb25fZ3JvdXAo dW5pY29kZShfKCdEZXByZWNhdGVkIG9wdGlvbnMnKSkpCi0gICAgICAgICAgICAgICAgIGZvciBh bGlhcyBpbiBvcHRpb24uZGVwcmVjYXRlZF9jbGlfYWxpYXNlczoKLSAgICAgICAgICAgICAgICAg ICAgIG5hbWUgPSAnLS0lcycgJSBhbGlhcwotLSAgICAgICAgICAgICAgICAgICAgZ3JvdXAuYWRk X29wdGlvbihvcHRwYXJzZS5tYWtlX29wdGlvbihuYW1lLCAqKm5ld19rdykpCi0rICAgICAgICAg ICAgICAgICAgICBncm91cC5hZGRfb3B0aW9uKG1ha2Vfb3B0aW9uKG5hbWUsICoqbmV3X2t3KSkK LSAKLSAgICAgICAgIGZvciBhcmcgaW4gY21kLmFyZ3MoKToKLSAgICAgICAgICAgICBuYW1lID0g c2VsZi5fX2dldF9hcmdfbmFtZShhcmcsIGZvcm1hdF9uYW1lPUZhbHNlKQotQEAgLTE0NDIsNyAr MTQ0NSw3IEBAIGNsYXNzIGNsaShiYWNrZW5kLkV4ZWN1dGlvbmVyKToKLSAgICAgICAgICAgICAg ICAgICAgICkKLSAKLSAKLS1jbGFzcyBJUEFIZWxwRm9ybWF0dGVyKG9wdHBhcnNlLkluZGVudGVk SGVscEZvcm1hdHRlcik6Ci0rY2xhc3MgSVBBSGVscEZvcm1hdHRlcihJUEFGb3JtYXR0ZXIpOgot ICAgICAiIiJGb3JtYXR0ZXIgc3VpdGFibGUgZm9yIHByaW50aW5nIElQQSBjb21tYW5kIGhlbHAK LSAKLSAgICAgVGhlIGRlZmF1bHQgaGVscCBmb3JtYXR0ZXIgcmVmbG93cyB0ZXh0IHRvIGZpdCB0 aGUgdGVybWluYWwsIGJ1dCBpdAotZGlmZiAtLWdpdCBhL2lwYWxpYi9wbHVnYWJsZS5weSBiL2lw YWxpYi9wbHVnYWJsZS5weQotaW5kZXggMmUyODYxZGYwLi5hODdlNmU4OTEgMTAwNjQ0Ci0tLS0g YS9pcGFsaWIvcGx1Z2FibGUucHkKLSsrKyBiL2lwYWxpYi9wbHVnYWJsZS5weQotQEAgLTMzLDcg KzMzLDYgQEAgaW1wb3J0IHN5cwotIGltcG9ydCB0aHJlYWRpbmcKLSBpbXBvcnQgb3MKLSBmcm9t IG9zIGltcG9ydCBwYXRoCi0taW1wb3J0IG9wdHBhcnNlICAjIHB5bGludDogZGlzYWJsZT1kZXBy ZWNhdGVkLW1vZHVsZQotIGltcG9ydCB0ZXh0d3JhcAotIGltcG9ydCBjb2xsZWN0aW9ucwotIGlt cG9ydCBpbXBvcnRsaWIKLUBAIC00Nyw2ICs0Niw3IEBAIGZyb20gaXBhbGliLnV0aWwgaW1wb3J0 IGNsYXNzcHJvcGVydHkKLSBmcm9tIGlwYWxpYi5iYXNlIGltcG9ydCBSZWFkT25seSwgbG9jaywg aXNsb2NrZWQKLSBmcm9tIGlwYWxpYi5jb25zdGFudHMgaW1wb3J0IERFRkFVTFRfQ09ORklHCi0g ZnJvbSBpcGFweXRob24gaW1wb3J0IGlwYV9sb2dfbWFuYWdlciwgaXBhdXRpbAotK2Zyb20gaXBh cHl0aG9uLmNvbmZpZyBpbXBvcnQgSVBBT3B0aW9uUGFyc2VyLCBJUEFGb3JtYXR0ZXIKLSBmcm9t IGlwYXB5dGhvbi5pcGFfbG9nX21hbmFnZXIgaW1wb3J0ICgKLSAgICAgTE9HR0lOR19GT1JNQVRf RklMRSwKLSAgICAgTE9HR0lOR19GT1JNQVRfU1RERVJSKQotQEAgLTUyNiw3ICs1MjYsNyBAQCBj bGFzcyBBUEkoUmVhZE9ubHkpOgotIAotICAgICBkZWYgYnVpbGRfZ2xvYmFsX3BhcnNlcihzZWxm LCBwYXJzZXI9Tm9uZSwgY29udGV4dD1Ob25lKToKLSAgICAgICAgICIiIgotLSAgICAgICAgQWRk IGdsb2JhbCBvcHRpb25zIHRvIGFuIG9wdHBhcnNlLk9wdGlvblBhcnNlciBpbnN0YW5jZS4KLSsg ICAgICAgIEFkZCBnbG9iYWwgb3B0aW9ucyB0byBhbiBJUEFPcHRpb25QYXJzZXIgaW5zdGFuY2Uu Ci0gICAgICAgICAiIiIKLSAgICAgICAgIGRlZiBjb25maWdfZmlsZV9jYWxsYmFjayhvcHRpb24s IG9wdCwgdmFsdWUsIHBhcnNlcik6Ci0gICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxl KHZhbHVlKToKLUBAIC01MzYsNyArNTM2LDcgQEAgY2xhc3MgQVBJKFJlYWRPbmx5KToKLSAgICAg ICAgICAgICBwYXJzZXIudmFsdWVzLmNvbmYgPSB2YWx1ZQotIAotICAgICAgICAgaWYgcGFyc2Vy IGlzIE5vbmU6Ci0tICAgICAgICAgICAgcGFyc2VyID0gb3B0cGFyc2UuT3B0aW9uUGFyc2VyKAot KyAgICAgICAgICAgIHBhcnNlciA9IElQQU9wdGlvblBhcnNlcigKLSAgICAgICAgICAgICAgICAg YWRkX2hlbHBfb3B0aW9uPUZhbHNlLAotICAgICAgICAgICAgICAgICBmb3JtYXR0ZXI9SVBBSGVs cEZvcm1hdHRlcigpLAotICAgICAgICAgICAgICAgICB1c2FnZT0nJXByb2cgW2dsb2JhbC1vcHRp b25zXSBDT01NQU5EIFtjb21tYW5kLW9wdGlvbnNdJywKLUBAIC04MjEsNyArODIxLDcgQEAgY2xh c3MgQVBJKFJlYWRPbmx5KToKLSAgICAgICAgIHJldHVybiBzZWxmLl9fbmV4dFtwbHVnaW5dCi0g Ci0gCi0tY2xhc3MgSVBBSGVscEZvcm1hdHRlcihvcHRwYXJzZS5JbmRlbnRlZEhlbHBGb3JtYXR0 ZXIpOgotK2NsYXNzIElQQUhlbHBGb3JtYXR0ZXIoSVBBRm9ybWF0dGVyKToKLSAgICAgZGVmIGZv cm1hdF9lcGlsb2coc2VsZiwgZXBpbG9nKToKLSAgICAgICAgIHRleHRfd2lkdGggPSBzZWxmLndp ZHRoIC0gc2VsZi5jdXJyZW50X2luZGVudAotICAgICAgICAgaW5kZW50ID0gIiAiICogc2VsZi5j dXJyZW50X2luZGVudAotZGlmZiAtLWdpdCBhL2lwYXB5dGhvbi9hZG1pbnRvb2wucHkgYi9pcGFw eXRob24vYWRtaW50b29sLnB5Ci1pbmRleCBmZGI0NDAwZDguLmRmZjkxMTJlYiAxMDA2NDQKLS0t LSBhL2lwYXB5dGhvbi9hZG1pbnRvb2wucHkKLSsrKyBiL2lwYXB5dGhvbi9hZG1pbnRvb2wucHkK LUBAIC0yNiw3ICsyNiw2IEBAIGltcG9ydCBsb2dnaW5nCi0gaW1wb3J0IHN5cwotIGltcG9ydCBv cwotIGltcG9ydCB0cmFjZWJhY2sKLS1mcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRpb25Hcm91cCAg IyBweWxpbnQ6IGRpc2FibGU9ZGVwcmVjYXRlZC1tb2R1bGUKLSAKLSBmcm9tIGlwYXBsYXRmb3Jt Lm9zaW5mbyBpbXBvcnQgb3NpbmZvCi0gZnJvbSBpcGFweXRob24gaW1wb3J0IHZlcnNpb24KLUBA IC0xMTMsNyArMTEyLDcgQEAgY2xhc3MgQWRtaW5Ub29sOgotICAgICAgICAgOnBhcmFtIHBhcnNl cjogVGhlIHBhcnNlciB0byBhZGQgb3B0aW9ucyB0bwotICAgICAgICAgOnBhcmFtIGRlYnVnX29w dGlvbjogQWRkIGEgLS1kZWJ1ZyBvcHRpb24gYXMgYW4gYWxpYXMgdG8gLS12ZXJib3NlCi0gICAg ICAgICAiIiIKLS0gICAgICAgIGdyb3VwID0gT3B0aW9uR3JvdXAocGFyc2VyLCAiTG9nZ2luZyBh bmQgb3V0cHV0IG9wdGlvbnMiKQotKyAgICAgICAgZ3JvdXAgPSBjb25maWcuT3B0aW9uR3JvdXAo cGFyc2VyLCAiTG9nZ2luZyBhbmQgb3V0cHV0IG9wdGlvbnMiKQotICAgICAgICAgZ3JvdXAuYWRk X29wdGlvbigiLXYiLCAiLS12ZXJib3NlIiwgZGVzdD0idmVyYm9zZSIsIGRlZmF1bHQ9RmFsc2Us Ci0gICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgaGVscD0icHJpbnQgZGVidWdnaW5n IGluZm9ybWF0aW9uIikKLSAgICAgICAgIGlmIGRlYnVnX29wdGlvbjoKLWRpZmYgLS1naXQgYS9p cGFweXRob24vY29uZmlnLnB5IGIvaXBhcHl0aG9uL2NvbmZpZy5weQotaW5kZXggZjUzZDBmOTk4 Li43YWY0ZGZkZWIgMTAwNjQ0Ci0tLS0gYS9pcGFweXRob24vY29uZmlnLnB5Ci0rKysgYi9pcGFw eXRob24vY29uZmlnLnB5Ci1AQCAtMTgsOSArMTgsOSBAQAotICMKLSBmcm9tIF9fZnV0dXJlX18g aW1wb3J0IGFic29sdXRlX2ltcG9ydAotIAotLSMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQt bW9kdWxlCi0tZnJvbSBvcHRwYXJzZSBpbXBvcnQgKAotLSAgICBPcHRpb24sIFZhbHVlcywgT3B0 aW9uUGFyc2VyLCBJbmRlbnRlZEhlbHBGb3JtYXR0ZXIsIE9wdGlvblZhbHVlRXJyb3IpCi0rIyBw eWxpbnQ6IGRpc2FibGU9ZGVwcmVjYXRlZC1tb2R1bGUsIGRpc2FibGU9dW51c2VkLWltcG9ydAot K2Zyb20gb3B0cGFyc2UgaW1wb3J0IChPcHRpb24sIFZhbHVlcywgT3B0aW9uR3JvdXAsIE9wdGlv blBhcnNlciwgU1VQUFJFU1NfSEVMUCwKLSsgICAgICAgICAgICAgICAgICAgICAgSW5kZW50ZWRI ZWxwRm9ybWF0dGVyLCBPcHRpb25WYWx1ZUVycm9yLCBtYWtlX29wdGlvbikKLSAjIHB5bGludDog ZW5hYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0gZnJvbSBjb3B5IGltcG9ydCBjb3B5Ci0gZnJvbSBj b25maWdwYXJzZXIgaW1wb3J0IENvbmZpZ1BhcnNlciBhcyBTYWZlQ29uZmlnUGFyc2VyCi1AQCAt MTEzLDEwICsxMTMsMTQgQEAgY2xhc3MgSVBBT3B0aW9uUGFyc2VyKE9wdGlvblBhcnNlcik6Ci0g ICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1Ob25lLAotICAgICAgICAgICAgICAgICAgZm9y bWF0dGVyPU5vbmUsCi0gICAgICAgICAgICAgICAgICBhZGRfaGVscF9vcHRpb249VHJ1ZSwKLS0g ICAgICAgICAgICAgICAgIHByb2c9Tm9uZSk6Ci0tICAgICAgICBPcHRpb25QYXJzZXIuX19pbml0 X18oc2VsZiwgdXNhZ2UsIG9wdGlvbl9saXN0LCBvcHRpb25fY2xhc3MsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdmVyc2lvbiwgY29uZmxpY3RfaGFuZGxlciwgZGVzY3JpcHRpb24s Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0dGVyLCBhZGRfaGVscF9vcHRp b24sIHByb2cpCi0rICAgICAgICAgICAgICAgICBwcm9nPU5vbmUsCi0rICAgICAgICAgICAgICAg ICBlcGlsb2c9Tm9uZSk6Ci0rICAgICAgICBPcHRpb25QYXJzZXIuX19pbml0X18oc2VsZiwgdXNh Z2U9dXNhZ2UsIG9wdGlvbl9saXN0PW9wdGlvbl9saXN0LAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9wdGlvbl9jbGFzcz1vcHRpb25fY2xhc3MsIHZlcnNpb249dmVyc2lvbiwKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25mbGljdF9oYW5kbGVyPWNvbmZsaWN0X2hh bmRsZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb249ZGVzY3Jp cHRpb24sIGZvcm1hdHRlcj1mb3JtYXR0ZXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYWRkX2hlbHBfb3B0aW9uPWFkZF9oZWxwX29wdGlvbiwgcHJvZz1wcm9nLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVwaWxvZz1lcGlsb2cpCi0gCi0gICAgIGRlZiBnZXRfc2Fm ZV9vcHRzKHNlbGYsIG9wdHMpOgotICAgICAgICAgIiIiCi1kaWZmIC0tZ2l0IGEvaXBhcHl0aG9u L2luc3RhbGwvY2xpLnB5IGIvaXBhcHl0aG9uL2luc3RhbGwvY2xpLnB5Ci1pbmRleCBhYjIxMmJl NGUuLmEwNDhiM2M3YyAxMDA2NDQKLS0tLSBhL2lwYXB5dGhvbi9pbnN0YWxsL2NsaS5weQotKysr IGIvaXBhcHl0aG9uL2luc3RhbGwvY2xpLnB5Ci1AQCAtOSwxMiArOSwxMSBAQCBDb21tYW5kIGxp bmUgc3VwcG9ydC4KLSBpbXBvcnQgY29sbGVjdGlvbnMKLSBpbXBvcnQgZW51bQotIGltcG9ydCBs b2dnaW5nCi0taW1wb3J0IG9wdHBhcnNlICAjIHB5bGludDogZGlzYWJsZT1kZXByZWNhdGVkLW1v ZHVsZQotIGltcG9ydCBzaWduYWwKLSAKLSBpbXBvcnQgc2l4Ci0gCi0tZnJvbSBpcGFweXRob24g aW1wb3J0IGFkbWludG9vbAotK2Zyb20gaXBhcHl0aG9uIGltcG9ydCBhZG1pbnRvb2wsIGNvbmZp ZwotIGZyb20gaXBhcHl0aG9uLmlwYV9sb2dfbWFuYWdlciBpbXBvcnQgc3RhbmRhcmRfbG9nZ2lu Z19zZXR1cAotIGZyb20gaXBhcHl0aG9uLmlwYXV0aWwgaW1wb3J0IChDaGVja2VkSVBBZGRyZXNz LCBDaGVja2VkSVBBZGRyZXNzTG9vcGJhY2ssCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByaXZhdGVfY2NhY2hlKQotQEAgLTE1OCw3ICsxNTcsNyBAQCBjbGFzcyBDb25maWd1cmVU b29sKGFkbWludG9vbC5BZG1pblRvb2wpOgotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAg ICAgICAgb3B0X2dyb3VwID0gZ3JvdXBzW2dyb3VwX2Nsc10KLSAgICAgICAgICAgICBleGNlcHQg S2V5RXJyb3I6Ci0tICAgICAgICAgICAgICAgIG9wdF9ncm91cCA9IGdyb3Vwc1tncm91cF9jbHNd ID0gb3B0cGFyc2UuT3B0aW9uR3JvdXAoCi0rICAgICAgICAgICAgICAgIG9wdF9ncm91cCA9IGdy b3Vwc1tncm91cF9jbHNdID0gY29uZmlnLk9wdGlvbkdyb3VwKAotICAgICAgICAgICAgICAgICAg ICAgICAgIHBhcnNlciwgInswfSBvcHRpb25zIi5mb3JtYXQoZ3JvdXBfY2xzLmRlc2NyaXB0aW9u KSkKLSAgICAgICAgICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb25fZ3JvdXAob3B0X2dyb3VwKQot IAotQEAgLTIzMiw3ICsyMzEsNyBAQCBjbGFzcyBDb25maWd1cmVUb29sKGFkbWludG9vbC5BZG1p blRvb2wpOgotICAgICAgICAgICAgICAgICBpZiBub3QgaGlkZGVuOgotICAgICAgICAgICAgICAg ICAgICAgaGVscCA9IGtub2JfY2xzLmRlc2NyaXB0aW9uCi0gICAgICAgICAgICAgICAgIGVsc2U6 Ci0tICAgICAgICAgICAgICAgICAgICBoZWxwID0gb3B0cGFyc2UuU1VQUFJFU1NfSEVMUAotKyAg ICAgICAgICAgICAgICAgICAgaGVscCA9IGNvbmZpZy5TVVBQUkVTU19IRUxQCi0gCi0gICAgICAg ICAgICAgICAgIG9wdF9ncm91cC5hZGRfb3B0aW9uKAotICAgICAgICAgICAgICAgICAgICAgKm9w dF9zdHJzLAotQEAgLTI1Niw3ICsyNTUsNyBAQCBjbGFzcyBDb25maWd1cmVUb29sKGFkbWludG9v bC5BZG1pblRvb2wpOgotIAotICAgICAgICAgIyBmYWtlIG9wdGlvbiBwYXJzZXIgdG8gcGFyc2Ug cG9zaXRpb25hbCBhcmd1bWVudHMKLSAgICAgICAgICMgKGJlY2F1c2Ugb3B0cGFyc2UgZG9lcyBu b3Qgc3VwcG9ydCBwb3NpdGlvbmFsIGFyZ3VtZW50IHBhcnNpbmcpCi0tICAgICAgICBmYWtlX29w dGlvbl9wYXJzZXIgPSBvcHRwYXJzZS5PcHRpb25QYXJzZXIoKQotKyAgICAgICAgZmFrZV9vcHRp b25fcGFyc2VyID0gY29uZmlnLklQQU9wdGlvblBhcnNlcigpCi0gICAgICAgICBzZWxmLmFkZF9v cHRpb25zKGZha2Vfb3B0aW9uX3BhcnNlciwgVHJ1ZSkKLSAKLSAgICAgICAgIGZha2Vfb3B0aW9u X21hcCA9IHtvcHRpb24uZGVzdDogb3B0aW9uCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3Rh bGwvaXBhX2FjbWVfbWFuYWdlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX2FjbWVfbWFuYWdl LnB5Ci1pbmRleCBkYzIzNTlmNDkuLjBkZWNhYjM5NCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9hY21lX21hbmFnZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX2Fj bWVfbWFuYWdlLnB5Ci1AQCAtNywxNCArNywxMiBAQCBpbXBvcnQgZW51bQotIGltcG9ydCBwa2ku dXRpbAotIGltcG9ydCBsb2dnaW5nCi0gCi0tZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uR3Jv dXAgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0tCi0gZnJvbSBpcGFsaWIg aW1wb3J0IGFwaSwgZXJyb3JzLCB4NTA5Ci0gZnJvbSBpcGFsaWIgaW1wb3J0IF8KLSBmcm9tIGlw YWxpYi5mYWN0cyBpbXBvcnQgaXNfaXBhX2NvbmZpZ3VyZWQKLSBmcm9tIGlwYXBsYXRmb3JtLnBh dGhzIGltcG9ydCBwYXRocwotIGZyb20gaXBhcHl0aG9uLmFkbWludG9vbCBpbXBvcnQgQWRtaW5U b29sCi0tZnJvbSBpcGFweXRob24gaW1wb3J0IGNvb2tpZSwgZG9ndGFnCi0rZnJvbSBpcGFweXRo b24gaW1wb3J0IGNvb2tpZSwgZG9ndGFnLCBjb25maWcKLSBmcm9tIGlwYXB5dGhvbi5pcGF1dGls IGltcG9ydCBydW4KLSBmcm9tIGlwYXB5dGhvbi5jZXJ0ZGIgaW1wb3J0IE5TU0RhdGFiYXNlLCBF WFRFUk5BTF9DQV9UUlVTVF9GTEFHUwotIGZyb20gaXBhc2VydmVyLmluc3RhbGwgaW1wb3J0IGNh aW5zdGFuY2UKLUBAIC0xNDMsNyArMTQxLDcgQEAgY2xhc3MgSVBBQUNNRU1hbmFnZShBZG1pblRv b2wpOgotICAgICBAY2xhc3NtZXRob2QKLSAgICAgZGVmIGFkZF9vcHRpb25zKGNscywgcGFyc2Vy KToKLSAKLS0gICAgICAgIGdyb3VwID0gT3B0aW9uR3JvdXAocGFyc2VyLCAnUHJ1bmluZycpCi0r ICAgICAgICBncm91cCA9IGNvbmZpZy5PcHRpb25Hcm91cChwYXJzZXIsICdQcnVuaW5nJykKLSAg ICAgICAgIGdyb3VwLmFkZF9vcHRpb24oCi0gICAgICAgICAgICAgIi0tZW5hYmxlIiwgZGVzdD0i ZW5hYmxlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICBkZWZhdWx0PUZhbHNl LCBoZWxwPSJFbmFibGUgY2VydGlmaWNhdGUgcHJ1bmluZyIpCi1kaWZmIC0tZ2l0IGEvaXBhc2Vy dmVyL2luc3RhbGwvaXBhX2JhY2t1cC5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9iYWNrdXAu cHkKLWluZGV4IDk4MmU1ZGZjNC4uYjZhZjYzODEzIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2lu c3RhbGwvaXBhX2JhY2t1cC5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX2JhY2t1cC5w eQotQEAgLTIwLDcgKzIwLDYgQEAKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2lt cG9ydCwgcHJpbnRfZnVuY3Rpb24KLSAKLSBpbXBvcnQgbG9nZ2luZwotLWltcG9ydCBvcHRwYXJz ZSAgIyBweWxpbnQ6IGRpc2FibGU9ZGVwcmVjYXRlZC1tb2R1bGUKLSBpbXBvcnQgb3MKLSBpbXBv cnQgc2h1dGlsCi0gaW1wb3J0IHN5cwotQEAgLTMyLDcgKzMxLDcgQEAgaW1wb3J0IHNpeAotIGZy b20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0gZnJvbSBpcGFwbGF0Zm9ybSBpbXBv cnQgc2VydmljZXMKLSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpLCBlcnJvcnMKLS1mcm9tIGlwYXB5 dGhvbiBpbXBvcnQgdmVyc2lvbgotK2Zyb20gaXBhcHl0aG9uIGltcG9ydCB2ZXJzaW9uLCBjb25m aWcKLSBmcm9tIGlwYXB5dGhvbi5pcGF1dGlsIGltcG9ydCBydW4sIHdyaXRlX3RtcF9maWxlCi0g ZnJvbSBpcGFweXRob24gaW1wb3J0IGFkbWludG9vbCwgY2VydGRiCi0gZnJvbSBpcGFweXRob24u ZG4gaW1wb3J0IEROCi1AQCAtMjQ1LDcgKzI0NCw3IEBAIGNsYXNzIEJhY2t1cChhZG1pbnRvb2wu QWRtaW5Ub29sKToKLSAKLSAgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKAotICAgICAgICAgICAg ICItLWdwZy1rZXlyaW5nIiwgZGVzdD0iZ3BnX2tleXJpbmciLAotLSAgICAgICAgICAgIGhlbHA9 b3B0cGFyc2UuU1VQUFJFU1NfSEVMUCkKLSsgICAgICAgICAgICBoZWxwPWNvbmZpZy5TVVBQUkVT U19IRUxQKQotICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oCi0gICAgICAgICAgICAgIi0tZ3Bn IiwgZGVzdD0iZ3BnIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgICAgICBkZWZhdWx0 PUZhbHNlLCBoZWxwPSJFbmNyeXB0IHRoZSBiYWNrdXAiKQotZGlmZiAtLWdpdCBhL2lwYXNlcnZl ci9pbnN0YWxsL2lwYV9jYWNlcnRfbWFuYWdlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX2Nh Y2VydF9tYW5hZ2UucHkKLWluZGV4IGY2YWI3MzZmYS4uMDQ4MjQ1MjM3IDEwMDY0NAotLS0tIGEv aXBhc2VydmVyL2luc3RhbGwvaXBhX2NhY2VydF9tYW5hZ2UucHkKLSsrKyBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9jYWNlcnRfbWFuYWdlLnB5Ci1AQCAtMjIsMTQgKzIyLDEzIEBAIGZyb20gX19m dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24sIGFic29sdXRlX2ltcG9ydAotIGltcG9ydCBk YXRldGltZQotIGltcG9ydCBsb2dnaW5nCi0gaW1wb3J0IG9zCi0tZnJvbSBvcHRwYXJzZSBpbXBv cnQgT3B0aW9uR3JvdXAgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0gaW1w b3J0IGdzc2FwaQotIAotIGZyb20gaXBhbGliLmNvbnN0YW50cyBpbXBvcnQgKAotICAgICBSRU5F V0FMX0NBX05BTUUsIFJFTkVXQUxfUkVVU0VfQ0FfTkFNRSwgUkVORVdBTF9TRUxGU0lHTkVEX0NB X05BTUUsCi0gICAgIElQQV9DQV9DTikKLSBmcm9tIGlwYWxpYi5pbnN0YWxsIGltcG9ydCBjZXJ0 bW9uZ2VyLCBjZXJ0c3RvcmUKLS1mcm9tIGlwYXB5dGhvbiBpbXBvcnQgYWRtaW50b29sLCBpcGF1 dGlsCi0rZnJvbSBpcGFweXRob24gaW1wb3J0IGFkbWludG9vbCwgaXBhdXRpbCwgY29uZmlnCi0g ZnJvbSBpcGFweXRob24uY2VydGRiIGltcG9ydCAoRU1QVFlfVFJVU1RfRkxBR1MsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRVhURVJOQUxfQ0FfVFJVU1RfRkxBR1MsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVHJ1c3RGbGFncywKLUBAIC02MSw3ICs2MCw3IEBAIGNs YXNzIENBQ2VydE1hbmFnZShhZG1pbnRvb2wuQWRtaW5Ub29sKToKLSAgICAgICAgICAgICAiLXAi LCAiLS1wYXNzd29yZCIsIGRlc3Q9J3Bhc3N3b3JkJywKLSAgICAgICAgICAgICBoZWxwPSJEaXJl Y3RvcnkgTWFuYWdlciBwYXNzd29yZCIpCi0gCi0tICAgICAgICByZW5ld19ncm91cCA9IE9wdGlv bkdyb3VwKHBhcnNlciwgIlJlbmV3IG9wdGlvbnMiKQotKyAgICAgICAgcmVuZXdfZ3JvdXAgPSBj b25maWcuT3B0aW9uR3JvdXAocGFyc2VyLCAiUmVuZXcgb3B0aW9ucyIpCi0gICAgICAgICByZW5l d19ncm91cC5hZGRfb3B0aW9uKAotICAgICAgICAgICAgICItLXNlbGYtc2lnbmVkIiwgZGVzdD0n c2VsZl9zaWduZWQnLAotICAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi1AQCAtODks NyArODgsNyBAQCBjbGFzcyBDQUNlcnRNYW5hZ2UoYWRtaW50b29sLkFkbWluVG9vbCk6Ci0gICAg ICAgICAgICAgICAgICAiY2VydGlmaWNhdGUgY2hhaW4iKQotICAgICAgICAgcGFyc2VyLmFkZF9v cHRpb25fZ3JvdXAocmVuZXdfZ3JvdXApCi0gCi0tICAgICAgICBpbnN0YWxsX2dyb3VwID0gT3B0 aW9uR3JvdXAocGFyc2VyLCAiSW5zdGFsbCBvcHRpb25zIikKLSsgICAgICAgIGluc3RhbGxfZ3Jv dXAgPSBjb25maWcuT3B0aW9uR3JvdXAocGFyc2VyLCAiSW5zdGFsbCBvcHRpb25zIikKLSAgICAg ICAgIGluc3RhbGxfZ3JvdXAuYWRkX29wdGlvbigKLSAgICAgICAgICAgICAiLW4iLCAiLS1uaWNr bmFtZSIsIGRlc3Q9J25pY2tuYW1lJywKLSAgICAgICAgICAgICBoZWxwPSJOaWNrbmFtZSBmb3Ig dGhlIGNlcnRpZmljYXRlIikKLUBAIC05OCw3ICs5Nyw3IEBAIGNsYXNzIENBQ2VydE1hbmFnZShh ZG1pbnRvb2wuQWRtaW5Ub29sKToKLSAgICAgICAgICAgICBoZWxwPSJUcnVzdCBmbGFncyBmb3Ig dGhlIGNlcnRpZmljYXRlIGluIGNlcnR1dGlsIGZvcm1hdCIpCi0gICAgICAgICBwYXJzZXIuYWRk X29wdGlvbl9ncm91cChpbnN0YWxsX2dyb3VwKQotIAotLSAgICAgICAgZGVsZXRlX2dyb3VwID0g T3B0aW9uR3JvdXAocGFyc2VyLCAiRGVsZXRlIG9wdGlvbnMiKQotKyAgICAgICAgZGVsZXRlX2dy b3VwID0gY29uZmlnLk9wdGlvbkdyb3VwKHBhcnNlciwgIkRlbGV0ZSBvcHRpb25zIikKLSAgICAg ICAgIGRlbGV0ZV9ncm91cC5hZGRfb3B0aW9uKAotICAgICAgICAgICAgICItZiIsICItLWZvcmNl IiwgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAgICAgICBoZWxwPSJGb3JjZSByZW1vdmlu ZyB0aGUgQ0EgZXZlbiBpZiBjaGFpbiB2YWxpZGF0aW9uIGZhaWxzIikKLWRpZmYgLS1naXQgYS9p cGFzZXJ2ZXIvaW5zdGFsbC9pcGFfa3JhX2luc3RhbGwucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9p cGFfa3JhX2luc3RhbGwucHkKLWluZGV4IDNlNGNkNjdmYS4uOGEwOTE3OWY3IDEwMDY0NAotLS0t IGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX2tyYV9pbnN0YWxsLnB5Ci0rKysgYi9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfa3JhX2luc3RhbGwucHkKLUBAIC0yMiwxMyArMjIsMTIgQEAgZnJvbSBfX2Z1 dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbiwgYWJzb2x1dGVfaW1wb3J0Ci0gaW1wb3J0IGxv Z2dpbmcKLSBpbXBvcnQgc3lzCi0gaW1wb3J0IHRlbXBmaWxlCi0tZnJvbSBvcHRwYXJzZSBpbXBv cnQgU1VQUFJFU1NfSEVMUCAgIyBweWxpbnQ6IGRpc2FibGU9ZGVwcmVjYXRlZC1tb2R1bGUKLSAK LSBmcm9tIHRleHR3cmFwIGltcG9ydCBkZWRlbnQKLSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpCi0g ZnJvbSBpcGFsaWIuY29uc3RhbnRzIGltcG9ydCBET01BSU5fTEVWRUxfMQotIGZyb20gaXBhcGxh dGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0tZnJvbSBpcGFweXRob24gaW1wb3J0IGFkbWludG9v bAotK2Zyb20gaXBhcHl0aG9uIGltcG9ydCBhZG1pbnRvb2wsIGNvbmZpZwotIGZyb20gaXBhc2Vy dmVyLmluc3RhbGwgaW1wb3J0IHNlcnZpY2UKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9y dCBjYWluc3RhbmNlCi0gZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbCBpbXBvcnQgY3VzdG9kaWFpbnN0 YW5jZQotQEAgLTczLDcgKzcyLDcgQEAgY2xhc3MgS1JBSW5zdGFsbChhZG1pbnRvb2wuQWRtaW5U b29sKToKLSAgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKAotICAgICAgICAgICAgICItLXVuaW5z dGFsbCIsCi0gICAgICAgICAgICAgZGVzdD0idW5pbnN0YWxsIiwgYWN0aW9uPSJzdG9yZV90cnVl IiwgZGVmYXVsdD1GYWxzZSwKLS0gICAgICAgICAgICBoZWxwPVNVUFBSRVNTX0hFTFApCi0rICAg ICAgICAgICAgaGVscD1jb25maWcuU1VQUFJFU1NfSEVMUCkKLSAKLSAgICAgICAgIHBhcnNlci5h ZGRfb3B0aW9uKAotICAgICAgICAgICAgICItLXBraS1jb25maWctb3ZlcnJpZGUiLCBkZXN0PSJw a2lfY29uZmlnX292ZXJyaWRlIiwKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFf cmVzdG9yZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9yZXN0b3JlLnB5Ci1pbmRleCA1N2Fk OGRkMDUuLjhkNzVhMGU2YiAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9yZXN0 b3JlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfcmVzdG9yZS5weQotQEAgLTIwLDcg KzIwLDYgQEAKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRf ZnVuY3Rpb24KLSAKLSBpbXBvcnQgbG9nZ2luZwotLWltcG9ydCBvcHRwYXJzZSAgIyBweWxpbnQ6 IGRpc2FibGU9ZGVwcmVjYXRlZC1tb2R1bGUKLSBpbXBvcnQgb3MKLSBpbXBvcnQgc2h1dGlsCi0g aW1wb3J0IHN5cwotQEAgLTM0LDcgKzMzLDcgQEAgaW1wb3J0IHNpeAotIGZyb20gaXBhY2xpZW50 Lmluc3RhbGwuY2xpZW50IGltcG9ydCB1cGRhdGVfaXBhX25zc2RiCi0gZnJvbSBpcGFsaWIgaW1w b3J0IGFwaSwgZXJyb3JzCi0gZnJvbSBpcGFsaWIuY29uc3RhbnRzIGltcG9ydCBGUUROCi0tZnJv bSBpcGFweXRob24gaW1wb3J0IHZlcnNpb24sIGlwYXV0aWwKLStmcm9tIGlwYXB5dGhvbiBpbXBv cnQgdmVyc2lvbiwgaXBhdXRpbCwgY29uZmlnCi0gZnJvbSBpcGFweXRob24uaXBhdXRpbCBpbXBv cnQgcnVuLCB1c2VyX2lucHV0Ci0gZnJvbSBpcGFweXRob24gaW1wb3J0IGFkbWludG9vbCwgY2Vy dGRiCi0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0IEROCi1AQCAtMTkwLDcgKzE4OSw3IEBAIGNs YXNzIFJlc3RvcmUoYWRtaW50b29sLkFkbWluVG9vbCk6Ci0gICAgICAgICAgICAgaGVscD0iRGly ZWN0b3J5IE1hbmFnZXIgcGFzc3dvcmQiKQotICAgICAgICAgcGFyc2VyLmFkZF9vcHRpb24oCi0g ICAgICAgICAgICAgIi0tZ3BnLWtleXJpbmciLCBkZXN0PSJncGdfa2V5cmluZyIsCi0tICAgICAg ICAgICAgaGVscD1vcHRwYXJzZS5TVVBQUkVTU19IRUxQKQotKyAgICAgICAgICAgIGhlbHA9Y29u ZmlnLlNVUFBSRVNTX0hFTFApCi0gICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigKLSAgICAgICAg ICAgICAiLS1kYXRhIiwgZGVzdD0iZGF0YV9vbmx5IiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAg ICAgICAgICAgICBkZWZhdWx0PUZhbHNlLCBoZWxwPSJSZXN0b3JlIG9ubHkgdGhlIGRhdGEiKQot ZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9zZXJ2ZXJfY2VydGluc3RhbGwucHkg Yi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVyX2NlcnRpbnN0YWxsLnB5Ci1pbmRleCBlMjlm MDBlYzMuLmU5ZjY4MGIxZCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9zZXJ2 ZXJfY2VydGluc3RhbGwucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9zZXJ2ZXJfY2Vy dGluc3RhbGwucHkKLUBAIC0yMiwxMiArMjIsMTEgQEAgZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBw cmludF9mdW5jdGlvbiwgYWJzb2x1dGVfaW1wb3J0Ci0gaW1wb3J0IG9zCi0gaW1wb3J0IG9zLnBh dGgKLSBpbXBvcnQgdGVtcGZpbGUKLS1pbXBvcnQgb3B0cGFyc2UgICMgcHlsaW50OiBkaXNhYmxl PWRlcHJlY2F0ZWQtbW9kdWxlCi0gCi0gZnJvbSBpcGFsaWIgaW1wb3J0IHg1MDkKLSBmcm9tIGlw YWxpYi5pbnN0YWxsIGltcG9ydCBjZXJ0bW9uZ2VyCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBp bXBvcnQgcGF0aHMKLS1mcm9tIGlwYXB5dGhvbiBpbXBvcnQgYWRtaW50b29sLCBkb2d0YWcKLStm cm9tIGlwYXB5dGhvbiBpbXBvcnQgYWRtaW50b29sLCBkb2d0YWcsIGNvbmZpZwotIGZyb20gaXBh cHl0aG9uLmNlcnRkYiBpbXBvcnQgTlNTRGF0YWJhc2UsIGdldF9jYV9uaWNrbmFtZQotIGZyb20g aXBhcHl0aG9uLmRuIGltcG9ydCBETgotIGZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGFsZGFwCi1A QCAtNjUsOCArNjQsOCBAQCBjbGFzcyBTZXJ2ZXJDZXJ0SW5zdGFsbChhZG1pbnRvb2wuQWRtaW5U b29sKToKLSAgICAgICAgICAgICBoZWxwPSJUaGUgcGFzc3dvcmQgb2YgdGhlIFBLQ1MjMTIgZmls ZSIpCi0gICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigKLSAgICAgICAgICAgICAiLS1kaXJzcnZf cGluIiwgIi0taHR0cF9waW4iLAotLSAgICAgICAgICAgIGRlc3Q9InBpbiIsCi0tICAgICAgICAg ICAgaGVscD1vcHRwYXJzZS5TVVBQUkVTU19IRUxQKQotKyAgICAgICAgICAgIGRlc3Q9InBpbiIs IHNlbnNpdGl2ZT1UcnVlLAotKyAgICAgICAgICAgIGhlbHA9Y29uZmlnLlNVUFBSRVNTX0hFTFAp Ci0gICAgICAgICBwYXJzZXIuYWRkX29wdGlvbigKLSAgICAgICAgICAgICAiLS1jZXJ0LW5hbWUi LAotICAgICAgICAgICAgIGRlc3Q9ImNlcnRfbmFtZSIsIG1ldGF2YXI9Ik5BTUUiLAotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL2kxOG4ucHkgYi9pcGF0ZXN0cy9pMThuLnB5Ci1pbmRleCA0OWY1YzRj MzIuLjU3OTE1YzI4NiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL2kxOG4ucHkKLSsrKyBiL2lwYXRl c3RzL2kxOG4ucHkKLUBAIC0yMiw3ICsyMiw2IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJp bnRfZnVuY3Rpb24KLSAKLSAjIFdBUk5JTkc6IERvIG5vdCBpbXBvcnQgaXBhIG1vZHVsZXMsIHRo aXMgaXMgYWxzbyB1c2VkIGFzIGEKLSAjIHN0YW5kLWFsb25lIHNjcmlwdCAoaW52b2tlZCBmcm9t IHBvIE1ha2VmaWxlKS4KLS1pbXBvcnQgb3B0cGFyc2UgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJl Y2F0ZWQtbW9kdWxlCi0gaW1wb3J0IHN5cwotIGltcG9ydCBnZXR0ZXh0Ci0gaW1wb3J0IHJlCi1A QCAtMzAsNiArMjksNyBAQCBpbXBvcnQgb3MKLSBpbXBvcnQgdHJhY2ViYWNrCi0gaW1wb3J0IHBv bGliCi0gZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQotK2Zyb20gaXBhcHl0aG9u IGltcG9ydCBjb25maWcKLSAKLSBpbXBvcnQgc2l4Ci0gCi1AQCAtNzIyLDkgKzcyMiw5IEBAIHVz YWdlID0nJycKLSBkZWYgbWFpbigpOgotICAgICBnbG9iYWwgdmVyYm9zZSwgcHJpbnRfdHJhY2Vi YWNrLCBwZWRhbnRpYywgc2hvd19zdHJpbmdzCi0gCi0tICAgIHBhcnNlciA9IG9wdHBhcnNlLk9w dGlvblBhcnNlcih1c2FnZT11c2FnZSkKLSsgICAgcGFyc2VyID0gY29uZmlnLklQQU9wdGlvblBh cnNlcih1c2FnZT11c2FnZSkKLSAKLS0gICAgbW9kZV9ncm91cCA9IG9wdHBhcnNlLk9wdGlvbkdy b3VwKHBhcnNlciwgJ09wZXJhdGlvbmFsIE1vZGUnLAotKyAgICBtb2RlX2dyb3VwID0gY29uZmln Lk9wdGlvbkdyb3VwKHBhcnNlciwgJ09wZXJhdGlvbmFsIE1vZGUnLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ1lvdSBtdXN0IHNlbGVjdCBvbmUgdGhlc2UgbW9kZXMg dG8gcnVuIGluJykKLSAKLSAgICAgbW9kZV9ncm91cC5hZGRfb3B0aW9uKCctZycsICctLXRlc3Qt Z2V0dGV4dCcsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBjb25zdD0ndGVzdF9nZXR0ZXh0JywgZGVz dD0nbW9kZScsCi1AQCAtNzQ4LDcgKzc0OCw3IEBAIGRlZiBtYWluKCk6Ci0gICAgIHBhcnNlci5h ZGRfb3B0aW9uKCctLXRyYWNlYmFjaycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J3ByaW50 X3RyYWNlYmFjaycsIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIGhlbHA9 J3ByaW50IHRoZSB0cmFjZWJhY2sgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzJykKLSAKLS0gICAg cGFyYW1fZ3JvdXAgPSBvcHRwYXJzZS5PcHRpb25Hcm91cChwYXJzZXIsICdSdW4gVGltZSBQYXJh bWV0ZXJzJywKLSsgICAgcGFyYW1fZ3JvdXAgPSBjb25maWcuT3B0aW9uR3JvdXAocGFyc2VyLCAn UnVuIFRpbWUgUGFyYW1ldGVycycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ1RoZXNlIG1heSBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgcnVuIHRpbWUgZGVmYXVsdHMn KQotIAotICAgICBwYXJhbV9ncm91cC5hZGRfb3B0aW9uKCctLXRlc3QtbGFuZycsIGFjdGlvbj0n c3RvcmUnLCBkZXN0PSd0ZXN0X2xhbmcnLCBkZWZhdWx0PSd0ZXN0JywKLWRpZmYgLS1naXQgYS9t YWtlYXBpLmluIGIvbWFrZWFwaS5pbgotaW5kZXggYTgwMWI5MjUzLi44ZmM4N2QyM2QgMTAwNjQ0 Ci0tLS0gYS9tYWtlYXBpLmluCi0rKysgYi9tYWtlYXBpLmluCi1AQCAtMzgsNiArMzgsNyBAQCBm cm9tIGlwYWxpYi5wYXJhbWV0ZXJzIGltcG9ydCBQYXJhbQotIGZyb20gaXBhbGliLm91dHB1dCBp bXBvcnQgT3V0cHV0Ci0gZnJvbSBpcGFsaWIudGV4dCBpbXBvcnQgR2V0dGV4dCwgTkdldHRleHQs IENvbmNhdGVuYXRlZExhenlUZXh0Ci0gZnJvbSBpcGFsaWIuY2FwYWJpbGl0aWVzIGltcG9ydCBj YXBhYmlsaXRpZXMKLStmcm9tIGlwYXB5dGhvbiBpbXBvcnQgY29uZmlnCi0gCi0gQVBJX0ZJTEU9 J0FQSS50eHQnCi0gCi1AQCAtODQsOSArODUsNyBAQCBPVVRQVVRfSUdOT1JFRF9BVFRSSUJVVEVT ID0gKAotICkKLSAKLSBkZWYgcGFyc2Vfb3B0aW9ucygpOgotLSAgICBmcm9tIG9wdHBhcnNlIGlt cG9ydCBPcHRpb25QYXJzZXIgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0t Ci0tICAgIHBhcnNlciA9IE9wdGlvblBhcnNlcigpCi0rICAgIHBhcnNlciA9IGNvbmZpZy5JUEFP cHRpb25QYXJzZXIoKQotICAgICBwYXJzZXIuYWRkX29wdGlvbigiLS12YWxpZGF0ZSIsIGRlc3Q9 InZhbGlkYXRlIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAgIGRlZmF1bHQ9RmFsc2Us IGhlbHA9IlZhbGlkYXRlIHRoZSBBUEkgdnMgdGhlIHN0b3JlZCBBUEkiKQotIAotLS0gCi0yLjQ5 LjAKLQotCi1Gcm9tIGY5MzE0NTYyYWFhZTAzNjE5ZWI4OWFlNzYyYmMyNDE4MjE3NGFkMjggTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lA cmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgOCBOb3YgMjAyNCAxNDo1OToyMCArMDIwMAotU3ViamVj dDogW1BBVENIIDA2NS8xMTZdIGlwYSB0b29sczogcmVtb3ZlIHNlbnNpdGl2ZSBtYXRlcmlhbCBm cm9tIHRoZQotIGNvbW1hbmRsaW5lCi0KLVdoZW4gY29tbWFuZCBsaW5lIHRvb2xzIGFjY2VwdCBw YXNzd29yZHMsIHJlbW92ZSB0aGVtIGZyb20gdGhlIGNvbW1hbmQKLWxpbmUgc28gdGhhdCB0aGV5 IGRvbid0IGdldCB2aXNpYmxlIGluICcvcHJvYy9waWQvY29tbWFuZGxpbmUnLgotCi1UaGVyZSBp cyBubyBjb21tb24gbWV0aG9kIHRvIGFjY2VzcyB0aGUgb3JpZ2luYWwgQVJHViB2ZWN0b3IgYW5k IG1vZGlmeQotaXQgZnJvbSBQeXRob24uIFNpbmNlIHRoaXMgbW9zdGx5IGFmZmVjdHMgTGludXgg c3lzdGVtcyB3aGVyZSBJUEEKLXNlcnZpY2VzIHJ1biwgd2UgZXhwZWN0IHVzZSBvZiBHTlUgbGli YyBhbmQgdGh1cyBjYW4gcmVseSBvbiBpbnRlcm5hbAotZ2xpYmMgc3ltYm9scy4gSWYgdGhleSBh cmVuJ3QgYXZhaWxhYmxlLCB0aGUgY29kZSB3aWxsIHNraXAgcmVtb3ZpbmcKLXBhc3N3b3Jkcy4K LQotRml4ZXM6IENWRS0yMDI0LTExMDI5Ci0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tv dm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gLi4uL2NvbS5yZWRoYXQuaWRtLnRydXN0 LWZldGNoLWRvbWFpbnMuaW4gICAgIHwgIDUgKystCi0gaW5zdGFsbC90b29scy9pcGEtYWR0cnVz dC1pbnN0YWxsLmluICAgICAgICAgIHwgIDMgKy0KLSBpbnN0YWxsL3Rvb2xzL2lwYS1jYS1pbnN0 YWxsLmluICAgICAgICAgICAgICAgfCAgMiArCi0gaW5zdGFsbC90b29scy9pcGEtY29tcGF0LW1h bmFnZS5pbiAgICAgICAgICAgIHwgIDYgKystCi0gaW5zdGFsbC90b29scy9pcGEtY3NyZXBsaWNh LW1hbmFnZS5pbiAgICAgICAgIHwgMTIgKysrLS0tCi0gaW5zdGFsbC90b29scy9pcGEtbWFuYWdl ZC1lbnRyaWVzLmluICAgICAgICAgIHwgIDUgKystCi0gaW5zdGFsbC90b29scy9pcGEtcmVwbGlj YS1jb25uY2hlY2suaW4gICAgICAgIHwgIDcgKystLQotIGluc3RhbGwvdG9vbHMvaXBhLXJlcGxp Y2EtbWFuYWdlLmluICAgICAgICAgICB8IDEwICsrKy0tCi0gaXBhcHl0aG9uL2FkbWludG9vbC5w eSAgICAgICAgICAgICAgICAgICAgICAgIHwgNDAgKysrKysrKysrKysrKysrKysrKwotIGlwYXNl cnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5ICAgICAgICAgICAgICB8IDE3ICsrKysrKystCi0g aXBhc2VydmVyL2luc3RhbGwvaXBhX3Jlc3RvcmUucHkgICAgICAgICAgICAgIHwgIDIgKy0KLSBp cGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVyX2NlcnRpbnN0YWxsLnB5ICAgfCAgMiArLQotIDEy IGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZm IC0tZ2l0IGEvaW5zdGFsbC9vZGRqb2IvY29tLnJlZGhhdC5pZG0udHJ1c3QtZmV0Y2gtZG9tYWlu cy5pbiBiL2luc3RhbGwvb2Rkam9iL2NvbS5yZWRoYXQuaWRtLnRydXN0LWZldGNoLWRvbWFpbnMu aW4KLWluZGV4IDQ1YzFmMTQ2My4uYjg2YmUwMjEyIDEwMDY0NAotLS0tIGEvaW5zdGFsbC9vZGRq b2IvY29tLnJlZGhhdC5pZG0udHJ1c3QtZmV0Y2gtZG9tYWlucy5pbgotKysrIGIvaW5zdGFsbC9v ZGRqb2IvY29tLnJlZGhhdC5pZG0udHJ1c3QtZmV0Y2gtZG9tYWlucy5pbgotQEAgLTE1LDYgKzE1 LDcgQEAgaW1wb3J0IHNpeAotIGltcG9ydCBnc3NhcGkKLSAKLSBmcm9tIGlwYWxpYi5pbnN0YWxs Lmtpbml0IGltcG9ydCBraW5pdF9rZXl0YWIsIGtpbml0X3Bhc3N3b3JkCi0rZnJvbSBpcGFweXRo b24uYWRtaW50b29sIGltcG9ydCBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2Ci0gCi0gaWYgc2l4 LlBZMzoKLSAgICAgdW5pY29kZSA9IHN0cgotQEAgLTUyLDExICs1MywxMyBAQCBkZWYgcGFyc2Vf b3B0aW9ucygpOgotICAgICAgICAgIi0tcGFzc3dvcmQiLAotICAgICAgICAgYWN0aW9uPSJzdG9y ZSIsCi0gICAgICAgICBkZXN0PSJwYXNzd29yZCIsCi0tICAgICAgICBoZWxwPSJEaXNwbGF5IGRl YnVnZ2luZyBpbmZvcm1hdGlvbiIsCi0rICAgICAgICBoZWxwPSJQYXNzd29yZCBmb3IgQWN0aXZl IERpcmVjdG9yeSBhZG1pbmlzdHJhdG9yIiwKLSsgICAgICAgIHNlbnNpdGl2ZT1UcnVlCi0gICAg ICkKLSAKLSAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLSAgICAgc2Fm ZV9vcHRpb25zID0gcGFyc2VyLmdldF9zYWZlX29wdHMob3B0aW9ucykKLSsgICAgYWRtaW5fY2xl YW51cF9nbG9iYWxfYXJndihwYXJzZXIsIG9wdGlvbnMsIHN5cy5hcmd2KQotIAotICAgICAjIFdl IG9ubHkgdXNlIGZpcnN0IGFyZ3VtZW50IG9mIHRoZSBwYXNzZWQgYXJncyBidXQgYXMgRC1CVVMg aW50ZXJmYWNlCi0gICAgICMgaW4gb2Rkam9iZCBjYW5ub3QgZXhwb3NlIG9wdGlvbmFsLCB3ZSBm aWxsIGluIGVtcHR5IHNsb3RzIGZyb20gSVBBIHNpZGUKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3Rv b2xzL2lwYS1hZHRydXN0LWluc3RhbGwuaW4gYi9pbnN0YWxsL3Rvb2xzL2lwYS1hZHRydXN0LWlu c3RhbGwuaW4KLWluZGV4IGU3YjBlMzY5Mi4uMWVmY2NkYjY3IDEwMDY0NAotLS0tIGEvaW5zdGFs bC90b29scy9pcGEtYWR0cnVzdC1pbnN0YWxsLmluCi0rKysgYi9pbnN0YWxsL3Rvb2xzL2lwYS1h ZHRydXN0LWluc3RhbGwuaW4KLUBAIC0zNSw3ICszNSw3IEBAIGZyb20gaXBhc2VydmVyLmluc3Rh bGwuaW5zdGFsbHV0aWxzIGltcG9ydCAoCi0gICAgIHJlYWRfcGFzc3dvcmQsCi0gICAgIGNoZWNr X3NlcnZlcl9jb25maWd1cmF0aW9uLAotICAgICBydW5fc2NyaXB0KQotLWZyb20gaXBhcHl0aG9u LmFkbWludG9vbCBpbXBvcnQgU2NyaXB0RXJyb3IKLStmcm9tIGlwYXB5dGhvbi5hZG1pbnRvb2wg aW1wb3J0IFNjcmlwdEVycm9yLCBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2Ci0gZnJvbSBpcGFw eXRob24gaW1wb3J0IHZlcnNpb24KLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhdXRpbAotIGZy b20gaXBhbGliIGltcG9ydCBhcGksIGVycm9ycywga3JiX3V0aWxzCi1AQCAtOTMsNiArOTMsNyBA QCBkZWYgcGFyc2Vfb3B0aW9ucygpOgotIAotICAgICBvcHRpb25zLCBfYXJncyA9IHBhcnNlci5w YXJzZV9hcmdzKCkKLSAgICAgc2FmZV9vcHRpb25zID0gcGFyc2VyLmdldF9zYWZlX29wdHMob3B0 aW9ucykKLSsgICAgYWRtaW5fY2xlYW51cF9nbG9iYWxfYXJndihwYXJzZXIsIG9wdGlvbnMsIHN5 cy5hcmd2KQotIAotICAgICByZXR1cm4gc2FmZV9vcHRpb25zLCBvcHRpb25zCi0gCi1kaWZmIC0t Z2l0IGEvaW5zdGFsbC90b29scy9pcGEtY2EtaW5zdGFsbC5pbiBiL2luc3RhbGwvdG9vbHMvaXBh LWNhLWluc3RhbGwuaW4KLWluZGV4IDlmM2QxNjY2OS4uYjQzN2U3NjFmIDEwMDY0NAotLS0tIGEv aW5zdGFsbC90b29scy9pcGEtY2EtaW5zdGFsbC5pbgotKysrIGIvaW5zdGFsbC90b29scy9pcGEt Y2EtaW5zdGFsbC5pbgotQEAgLTQyLDYgKzQyLDcgQEAgZnJvbSBpcGFsaWIuY29uc3RhbnRzIGlt cG9ydCBET01BSU5fTEVWRUxfMQotIGZyb20gaXBhcHl0aG9uLmNvbmZpZyBpbXBvcnQgSVBBT3B0 aW9uUGFyc2VyCi0gZnJvbSBpcGFweXRob24uaXBhX2xvZ19tYW5hZ2VyIGltcG9ydCBzdGFuZGFy ZF9sb2dnaW5nX3NldHVwCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0aHMKLStm cm9tIGlwYXB5dGhvbi5hZG1pbnRvb2wgaW1wb3J0IGFkbWluX2NsZWFudXBfZ2xvYmFsX2FyZ3YK LSAKLSBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9f KSkKLSAKLUBAIC0xMzIsNiArMTMzLDcgQEAgZGVmIHBhcnNlX29wdGlvbnMoKToKLSAKLSAgICAg b3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLSAgICAgc2FmZV9vcHRpb25zID0g cGFyc2VyLmdldF9zYWZlX29wdHMob3B0aW9ucykKLSsgICAgYWRtaW5fY2xlYW51cF9nbG9iYWxf YXJndihwYXJzZXIsIG9wdGlvbnMsIHN5cy5hcmd2KQotIAotICAgICBpZiBhcmdzOgotICAgICAg ICAgcGFyc2VyLmVycm9yKCJUb28gbWFueSBhcmd1bWVudHMgcHJvdmlkZWQiKQotZGlmZiAtLWdp dCBhL2luc3RhbGwvdG9vbHMvaXBhLWNvbXBhdC1tYW5hZ2UuaW4gYi9pbnN0YWxsL3Rvb2xzL2lw YS1jb21wYXQtbWFuYWdlLmluCi1pbmRleCA0NTlmMzlmYzguLjk2NTBhYmQ2ZiAxMDA2NDQKLS0t LSBhL2luc3RhbGwvdG9vbHMvaXBhLWNvbXBhdC1tYW5hZ2UuaW4KLSsrKyBiL2luc3RhbGwvdG9v bHMvaXBhLWNvbXBhdC1tYW5hZ2UuaW4KLUBAIC0yNCwxMyArMjQsMTMgQEAgZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgotIGltcG9ydCBzeXMKLSBmcm9tIGlwYXBsYXRmb3Jt LnBhdGhzIGltcG9ydCBwYXRocwotIHRyeToKLS0gICAgZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0 aW9uUGFyc2VyICAjIHB5bGludDogZGlzYWJsZT1kZXByZWNhdGVkLW1vZHVsZQotICAgICBmcm9t IGlwYXB5dGhvbiBpbXBvcnQgaXBhdXRpbCwgY29uZmlnCi0gICAgIGZyb20gaXBhc2VydmVyLmlu c3RhbGwgaW1wb3J0IGluc3RhbGx1dGlscwotICAgICBmcm9tIGlwYXNlcnZlci5pbnN0YWxsLmxk YXB1cGRhdGUgaW1wb3J0IExEQVBVcGRhdGUKLSAgICAgZnJvbSBpcGFsaWIgaW1wb3J0IGFwaSwg ZXJyb3JzCi0gICAgIGZyb20gaXBhcHl0aG9uLmlwYV9sb2dfbWFuYWdlciBpbXBvcnQgc3RhbmRh cmRfbG9nZ2luZ19zZXR1cAotICAgICBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLSsgICAg ZnJvbSBpcGFweXRob24uYWRtaW50b29sIGltcG9ydCBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2 Ci0gZXhjZXB0IEltcG9ydEVycm9yIGFzIGU6Ci0gICAgIHByaW50KCIiIlwKLSBUaGVyZSB3YXMg YSBwcm9ibGVtIGltcG9ydGluZyBvbmUgb2YgdGhlIHJlcXVpcmVkIFB5dGhvbiBtb2R1bGVzLiBU aGUKLUBAIC00Niw3ICs0Niw4IEBAIG5pc19jb25maWdfZG4gPSBETigoJ2NuJywgJ05JUyBTZXJ2 ZXInKSwgKCdjbicsICdwbHVnaW5zJyksICgnY24nLCAnY29uZmlnJykpCi0gZGVmIHBhcnNlX29w dGlvbnMoKToKLSAgICAgdXNhZ2UgPSAiJXByb2cgW29wdGlvbnNdIDxlbmFibGV8ZGlzYWJsZXxz dGF0dXM+XG4iCi0gICAgIHVzYWdlICs9ICIlcHJvZyBbb3B0aW9uc11cbiIKLS0gICAgcGFyc2Vy ID0gT3B0aW9uUGFyc2VyKHVzYWdlPXVzYWdlLCBmb3JtYXR0ZXI9Y29uZmlnLklQQUZvcm1hdHRl cigpKQotKyAgICBwYXJzZXIgPSBjb25maWcuSVBBT3B0aW9uUGFyc2VyKHVzYWdlPXVzYWdlLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlcj1jb25maWcuSVBB Rm9ybWF0dGVyKCkpCi0gCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKCItZCIsICItLWRlYnVnIiwg YWN0aW9uPSJzdG9yZV90cnVlIiwgZGVzdD0iZGVidWciLAotICAgICAgICAgICAgICAgICAgICAg ICBoZWxwPSJEaXNwbGF5IGRlYnVnZ2luZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXBkYXRlKHMp IikKLUBAIC01NSw2ICs1Niw3IEBAIGRlZiBwYXJzZV9vcHRpb25zKCk6Ci0gCi0gICAgIGNvbmZp Zy5hZGRfc3RhbmRhcmRfb3B0aW9ucyhwYXJzZXIpCi0gICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJz ZXIucGFyc2VfYXJncygpCi0rICAgIGFkbWluX2NsZWFudXBfZ2xvYmFsX2FyZ3YocGFyc2VyLCBv cHRpb25zLCBzeXMuYXJndikKLSAKLSAgICAgcmV0dXJuIG9wdGlvbnMsIGFyZ3MKLSAKLWRpZmYg LS1naXQgYS9pbnN0YWxsL3Rvb2xzL2lwYS1jc3JlcGxpY2EtbWFuYWdlLmluIGIvaW5zdGFsbC90 b29scy9pcGEtY3NyZXBsaWNhLW1hbmFnZS5pbgotaW5kZXggNmYyNDhjYzUwLi4yZmFiMjdhOTQg MTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL2lwYS1jc3JlcGxpY2EtbWFuYWdlLmluCi0rKysg Yi9pbnN0YWxsL3Rvb2xzL2lwYS1jc3JlcGxpY2EtbWFuYWdlLmluCi1AQCAtMzIsOCArMzIsOCBA QCBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCAocmVwbGljYXRpb24sIGluc3RhbGx1dGls cywgYmluZGluc3RhbmNlLAotIGZyb20gaXBhbGliIGltcG9ydCBhcGksIGVycm9ycwotIGZyb20g aXBhbGliLmNvbnN0YW50cyBpbXBvcnQgRlFETgotIGZyb20gaXBhbGliLnV0aWwgaW1wb3J0IGhh c19tYW5hZ2VkX3RvcG9sb2d5LCBwcmludF9yZXBsaWNhdGlvbl9zdGF0dXMKLS1mcm9tIGlwYXB5 dGhvbiBpbXBvcnQgaXBhdXRpbCwgaXBhbGRhcCwgdmVyc2lvbgotLWZyb20gaXBhcHl0aG9uLmFk bWludG9vbCBpbXBvcnQgU2NyaXB0RXJyb3IKLStmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhdXRp bCwgaXBhbGRhcCwgdmVyc2lvbiwgY29uZmlnCi0rZnJvbSBpcGFweXRob24uYWRtaW50b29sIGlt cG9ydCBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2LCBTY3JpcHRFcnJvcgotIGZyb20gaXBhcHl0 aG9uLmRuIGltcG9ydCBETgotIAotIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKG9zLnBhdGgu YmFzZW5hbWUoX19maWxlX18pKQotQEAgLTU0LDExICs1NCwxMCBAQCBjb21tYW5kcyA9IHsKLSAK LSAKLSBkZWYgcGFyc2Vfb3B0aW9ucygpOgotLSAgICBmcm9tIG9wdHBhcnNlIGltcG9ydCBPcHRp b25QYXJzZXIgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0tCi0tICAgIHBh cnNlciA9IE9wdGlvblBhcnNlcih2ZXJzaW9uPXZlcnNpb24uVkVSU0lPTikKLSsgICAgcGFyc2Vy ID0gY29uZmlnLklQQU9wdGlvblBhcnNlcih2ZXJzaW9uPXZlcnNpb24uVkVSU0lPTikKLSAgICAg cGFyc2VyLmFkZF9vcHRpb24oIi1IIiwgIi0taG9zdCIsIGRlc3Q9Imhvc3QiLCBoZWxwPSJzdGFy dGluZyBob3N0IikKLS0gICAgcGFyc2VyLmFkZF9vcHRpb24oIi1wIiwgIi0tcGFzc3dvcmQiLCBk ZXN0PSJkaXJtYW5fcGFzc3dkIiwgaGVscD0iRGlyZWN0b3J5IE1hbmFnZXIgcGFzc3dvcmQiKQot KyAgICBwYXJzZXIuYWRkX29wdGlvbigiLXAiLCAiLS1wYXNzd29yZCIsIGRlc3Q9ImRpcm1hbl9w YXNzd2QiLCBzZW5zaXRpdmU9VHJ1ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRGly ZWN0b3J5IE1hbmFnZXIgcGFzc3dvcmQiKQotICAgICBwYXJzZXIuYWRkX29wdGlvbigiLXYiLCAi LS12ZXJib3NlIiwgZGVzdD0idmVyYm9zZSIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRlZmF1bHQ9 RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIGhlbHA9InByb3ZpZGUgYWRkaXRpb25hbCBp bmZvcm1hdGlvbiIpCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKCItZiIsICItLWZvcmNlIiwgZGVz dD0iZm9yY2UiLCBhY3Rpb249InN0b3JlX3RydWUiLCBkZWZhdWx0PUZhbHNlLAotQEAgLTY2LDYg KzY1LDcgQEAgZGVmIHBhcnNlX29wdGlvbnMoKToKLSAgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0t ZnJvbSIsIGRlc3Q9ImZyb21ob3N0IiwgaGVscD0iSG9zdCB0byBnZXQgZGF0YSBmcm9tIikKLSAK LSAgICAgb3B0aW9ucywgYXJncyA9IHBhcnNlci5wYXJzZV9hcmdzKCkKLSsgICAgYWRtaW5fY2xl YW51cF9nbG9iYWxfYXJndihwYXJzZXIsIG9wdGlvbnMsIHN5cy5hcmd2KQotIAotICAgICB2YWxp ZF9zeW50YXggPSBGYWxzZQotIAotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLW1hbmFn ZWQtZW50cmllcy5pbiBiL2luc3RhbGwvdG9vbHMvaXBhLW1hbmFnZWQtZW50cmllcy5pbgotaW5k ZXggZTNmMTIxOTQzLi5mZjJmZDZhNTggMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL2lwYS1t YW5hZ2VkLWVudHJpZXMuaW4KLSsrKyBiL2luc3RhbGwvdG9vbHMvaXBhLW1hbmFnZWQtZW50cmll cy5pbgotQEAgLTI0LDcgKzI0LDYgQEAgaW1wb3J0IGxvZ2dpbmcKLSBpbXBvcnQgb3MKLSBpbXBv cnQgcmUKLSBpbXBvcnQgc3lzCi0tZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uUGFyc2VyICAj IHB5bGludDogZGlzYWJsZT1kZXByZWNhdGVkLW1vZHVsZQotIAotIGZyb20gaXBhcGxhdGZvcm0u cGF0aHMgaW1wb3J0IHBhdGhzCi0gZnJvbSBpcGFweXRob24gaW1wb3J0IGNvbmZpZwotQEAgLTMy LDYgKzMxLDcgQEAgZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbCBpbXBvcnQgaW5zdGFsbHV0aWxzCi0g ZnJvbSBpcGFsaWIgaW1wb3J0IGFwaSwgZXJyb3JzCi0gZnJvbSBpcGFweXRob24uaXBhX2xvZ19t YW5hZ2VyIGltcG9ydCBzdGFuZGFyZF9sb2dnaW5nX3NldHVwCi0gZnJvbSBpcGFweXRob24uZG4g aW1wb3J0IEROCi0rZnJvbSBpcGFweXRob24uYWRtaW50b29sIGltcG9ydCBhZG1pbl9jbGVhbnVw X2dsb2JhbF9hcmd2Ci0gCi0gbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIob3MucGF0aC5iYXNl bmFtZShfX2ZpbGVfXykpCi0gCi1AQCAtNTEsOSArNTEsMTAgQEAgZGVmIHBhcnNlX29wdGlvbnMo KToKLSAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwKLSAgICAgICAg ICAgICAgICAgICAgICAgaGVscD0iTGlzdCBhdmFpbGFibGUgTWFuYWdlZCBFbnRyaWVzIikKLSAg ICAgcGFyc2VyLmFkZF9vcHRpb24oIi1wIiwgIi0tcGFzc3dvcmQiLCBkZXN0PSJkaXJtYW5fcGFz c3dvcmQiLAotLSAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJEaXJlY3RvcnkgTWFuYWdlciBw YXNzd29yZCIpCi0rICAgICAgICAgICAgICAgICAgICAgIHNlbnNpdGl2ZT1UcnVlLCBoZWxwPSJE aXJlY3RvcnkgTWFuYWdlciBwYXNzd29yZCIpCi0gCi0gICAgIG9wdGlvbnMsIGFyZ3MgPSBwYXJz ZXIucGFyc2VfYXJncygpCi0rICAgIGFkbWluX2NsZWFudXBfZ2xvYmFsX2FyZ3YocGFyc2VyLCBv cHRpb25zLCBzeXMuYXJndikKLSAKLSAgICAgcmV0dXJuIG9wdGlvbnMsIGFyZ3MKLSAKLWRpZmYg LS1naXQgYS9pbnN0YWxsL3Rvb2xzL2lwYS1yZXBsaWNhLWNvbm5jaGVjay5pbiBiL2luc3RhbGwv dG9vbHMvaXBhLXJlcGxpY2EtY29ubmNoZWNrLmluCi1pbmRleCA4ZWVlODI0ODMuLjgxYjdkMTNh YyAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtY29ubmNoZWNrLmluCi0r KysgYi9pbnN0YWxsL3Rvb2xzL2lwYS1yZXBsaWNhLWNvbm5jaGVjay5pbgotQEAgLTIzLDE1ICsy MywxNSBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCi0gaW1wb3J0IGxv Z2dpbmcKLSAKLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhY2hhbmdlY29uZgotLWZyb20gaXBh cHl0aG9uLmNvbmZpZyBpbXBvcnQgSVBBT3B0aW9uUGFyc2VyCi0rZnJvbSBpcGFweXRob24uY29u ZmlnIGltcG9ydCAoSVBBT3B0aW9uUGFyc2VyLCBPcHRpb25Hcm91cCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPcHRpb25WYWx1ZUVycm9yKQotK2Zyb20gaXBhcHl0aG9uLmFkbWlu dG9vbCBpbXBvcnQgYWRtaW5fY2xlYW51cF9nbG9iYWxfYXJndgotIGZyb20gaXBhcHl0aG9uLmRu IGltcG9ydCBETgotIGZyb20gaXBhcHl0aG9uIGltcG9ydCB2ZXJzaW9uCi0gZnJvbSBpcGFweXRo b24gaW1wb3J0IGlwYXV0aWwsIGNlcnRkYgotIGZyb20gaXBhbGliIGltcG9ydCBhcGksIGVycm9y cywgeDUwOQotIGZyb20gaXBhbGliLmNvbnN0YW50cyBpbXBvcnQgRlFETgotIGZyb20gaXBhc2Vy dmVyLmluc3RhbGwgaW1wb3J0IGluc3RhbGx1dGlscwotLSMgcHlsaW50OiBkaXNhYmxlPWRlcHJl Y2F0ZWQtbW9kdWxlCi0tZnJvbSBvcHRwYXJzZSBpbXBvcnQgT3B0aW9uR3JvdXAsIE9wdGlvblZh bHVlRXJyb3IKLSAjIHB5bGludDogZW5hYmxlPWRlcHJlY2F0ZWQtbW9kdWxlCi0gZnJvbSBpcGFw eXRob24uaXBhX2xvZ19tYW5hZ2VyIGltcG9ydCBzdGFuZGFyZF9sb2dnaW5nX3NldHVwCi0gaW1w b3J0IGNvcHkKLUBAIC0xODksNiArMTg5LDcgQEAgZGVmIHBhcnNlX29wdGlvbnMoKToKLSAKLSAg ICAgb3B0aW9ucywgX2FyZ3MgPSBwYXJzZXIucGFyc2VfYXJncygpCi0gICAgIHNhZmVfb3B0aW9u cyA9IHBhcnNlci5nZXRfc2FmZV9vcHRzKG9wdGlvbnMpCi0rICAgIGFkbWluX2NsZWFudXBfZ2xv YmFsX2FyZ3YocGFyc2VyLCBvcHRpb25zLCBzeXMuYXJndikKLSAKLSAgICAgaWYgb3B0aW9ucy5t YXN0ZXIgYW5kIG9wdGlvbnMucmVwbGljYToKLSAgICAgICAgIHBhcnNlci5lcnJvcigib24tbWFz dGVyIGFuZCBvbi1yZXBsaWNhIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSEiKQotZGlm ZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlLmluIGIvaW5zdGFsbC90 b29scy9pcGEtcmVwbGljYS1tYW5hZ2UuaW4KLWluZGV4IGQ2ZTZlZjU3Yy4uN2U1YjMxYTU5IDEw MDY0NAotLS0tIGEvaW5zdGFsbC90b29scy9pcGEtcmVwbGljYS1tYW5hZ2UuaW4KLSsrKyBiL2lu c3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlLmluCi1AQCAtNDMsNiArNDMsNyBAQCBmcm9t IGlwYWxpYi51dGlsIGltcG9ydCAoCi0gICAgIHByaW50X3JlcGxpY2F0aW9uX3N0YXR1cywKLSAg ICAgdmVyaWZ5X2hvc3RfcmVzb2x2YWJsZSwKLSApCi0rZnJvbSBpcGFweXRob24uYWRtaW50b29s IGltcG9ydCBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2Ci0gZnJvbSBpcGFweXRob24uaXBhX2xv Z19tYW5hZ2VyIGltcG9ydCBzdGFuZGFyZF9sb2dnaW5nX3NldHVwCi0gZnJvbSBpcGFweXRob24u ZG4gaW1wb3J0IEROCi0gZnJvbSBpcGFweXRob24uY29uZmlnIGltcG9ydCBJUEFPcHRpb25QYXJz ZXIKLUBAIC04NCw3ICs4NSw4IEBAIGNsYXNzIE5vUlVWc0ZvdW5kKEV4Y2VwdGlvbik6Ci0gZGVm IHBhcnNlX29wdGlvbnMoKToKLSAgICAgcGFyc2VyID0gSVBBT3B0aW9uUGFyc2VyKHZlcnNpb249 dmVyc2lvbi5WRVJTSU9OKQotICAgICBwYXJzZXIuYWRkX29wdGlvbigiLUgiLCAiLS1ob3N0Iiwg ZGVzdD0iaG9zdCIsIGhlbHA9InN0YXJ0aW5nIGhvc3QiKQotLSAgICBwYXJzZXIuYWRkX29wdGlv bigiLXAiLCAiLS1wYXNzd29yZCIsIGRlc3Q9ImRpcm1hbl9wYXNzd2QiLCBoZWxwPSJEaXJlY3Rv cnkgTWFuYWdlciBwYXNzd29yZCIpCi0rICAgIHBhcnNlci5hZGRfb3B0aW9uKCItcCIsICItLXBh c3N3b3JkIiwgZGVzdD0iZGlybWFuX3Bhc3N3ZCIsIHNlbnNpdGl2ZT1UcnVlLAotKyAgICAgICAg ICAgICAgICAgICAgICBoZWxwPSJEaXJlY3RvcnkgTWFuYWdlciBwYXNzd29yZCIpCi0gICAgIHBh cnNlci5hZGRfb3B0aW9uKCItdiIsICItLXZlcmJvc2UiLCBkZXN0PSJ2ZXJib3NlIiwgYWN0aW9u PSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaGVs cD0icHJvdmlkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIikKLSAgICAgcGFyc2VyLmFkZF9vcHRp b24oIi1kIiwgIi0tZGVidWciLCBkZXN0PSJkZWJ1ZyIsIGFjdGlvbj0ic3RvcmVfdHJ1ZSIsIGRl ZmF1bHQ9RmFsc2UsCi1AQCAtOTUsNyArOTcsNyBAQCBkZWYgcGFyc2Vfb3B0aW9ucygpOgotICAg ICAgICAgICAgICAgICAgICAgICBoZWxwPSJEQU5HRVI6IGNsZWFuIHVwIHJlZmVyZW5jZXMgdG8g YSBnaG9zdCBtYXN0ZXIiKQotICAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1iaW5kZG4iLCBkZXN0 PSJiaW5kZG4iLCBkZWZhdWx0PU5vbmUsIHR5cGU9ImRuIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgaGVscD0iQmluZCBETiB0byB1c2Ugd2l0aCByZW1vdGUgc2VydmVyIikKLS0gICAgcGFyc2Vy LmFkZF9vcHRpb24oIi0tYmluZHB3IiwgZGVzdD0iYmluZHB3IiwgZGVmYXVsdD1Ob25lLAotKyAg ICBwYXJzZXIuYWRkX29wdGlvbigiLS1iaW5kcHciLCBkZXN0PSJiaW5kcHciLCBkZWZhdWx0PU5v bmUsIHNlbnNpdGl2ZT1UcnVlLAotICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQYXNzd29y ZCBmb3IgQmluZCBETiB0byB1c2Ugd2l0aCByZW1vdGUgc2VydmVyIikKLSAgICAgcGFyc2VyLmFk ZF9vcHRpb24oIi0td2luc3luYyIsIGRlc3Q9IndpbnN5bmMiLCBhY3Rpb249InN0b3JlX3RydWUi LCBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJUaGlzIGlzIGEg V2luZG93cyBTeW5jIEFncmVlbWVudCIpCi1AQCAtMTAzLDEzICsxMDUsMTUgQEAgZGVmIHBhcnNl X29wdGlvbnMoKToKLSAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iRnVsbCBwYXRoIGFuZCBm aWxlbmFtZSBvZiBDQSBjZXJ0aWZpY2F0ZSB0byB1c2Ugd2l0aCBUTFMvU1NMIHRvIHRoZSByZW1v dGUgc2VydmVyIikKLSAgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0td2luLXN1YnRyZWUiLCBkZXN0 PSJ3aW5fc3VidHJlZSIsIGRlZmF1bHQ9Tm9uZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaGVs cD0iRE4gb2YgV2luZG93cyBzdWJ0cmVlIGNvbnRhaW5pbmcgdGhlIHVzZXJzIHlvdSB3YW50IHRv IHN5bmMgKGRlZmF1bHQgY249VXNlcnMsPGRvbWFpbiBzdWZmaXgpIikKLS0gICAgcGFyc2VyLmFk ZF9vcHRpb24oIi0tcGFzc3N5bmMiLCBkZXN0PSJwYXNzc3luYyIsIGRlZmF1bHQ9Tm9uZSwKLSsg ICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tcGFzc3N5bmMiLCBkZXN0PSJwYXNzc3luYyIsCi0rICAg ICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ9Tm9uZSwgc2Vuc2l0aXZlPVRydWUsCi0gICAgICAg ICAgICAgICAgICAgICAgIGhlbHA9IlBhc3N3b3JkIGZvciB0aGUgSVBBIHN5c3RlbSB1c2VyIHVz ZWQgYnkgdGhlIFdpbmRvd3MgUGFzc1N5bmMgcGx1Z2luIHRvIHN5bmNocm9uaXplIHBhc3N3b3Jk cyIpCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLWZyb20iLCBkZXN0PSJmcm9taG9zdCIsIGhl bHA9Ikhvc3QgdG8gZ2V0IGRhdGEgZnJvbSIpCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLW5v LWxvb2t1cCIsIGRlc3Q9Im5vbG9va3VwIiwgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1G YWxzZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iZG8gbm90IHBlcmZvcm0gRE5TIGxv b2t1cCBjaGVja3MiKQotIAotICAgICBvcHRpb25zLCBhcmdzID0gcGFyc2VyLnBhcnNlX2FyZ3Mo KQotKyAgICBhZG1pbl9jbGVhbnVwX2dsb2JhbF9hcmd2KHBhcnNlciwgb3B0aW9ucywgc3lzLmFy Z3YpCi0gCi0gICAgIHZhbGlkX3N5bnRheCA9IEZhbHNlCi0gCi1kaWZmIC0tZ2l0IGEvaXBhcHl0 aG9uL2FkbWludG9vbC5weSBiL2lwYXB5dGhvbi9hZG1pbnRvb2wucHkKLWluZGV4IGRmZjkxMTJl Yi4uNjAyMjIzZWY2IDEwMDY0NAotLS0tIGEvaXBhcHl0aG9uL2FkbWludG9vbC5weQotKysrIGIv aXBhcHl0aG9uL2FkbWludG9vbC5weQotQEAgLTM5LDYgKzM5LDQ1IEBAIFNFUlZFUl9OT1RfQ09O RklHVVJFRCA9IDIKLSBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLSAKLSAK LStkZWYgYWRtaW5fY2xlYW51cF9nbG9iYWxfYXJndihvcHRpb25fcGFyc2VyLCBvcHRpb25zLCBh cmd2KToKLSsgICAgIiIiVGFrZXMgb3B0aW9uIHBhcnNlciBhbmQgZ2VuZXJhdGVkIG9wdGlvbnMg YW5kIHNjcnVicyBzZW5zaXRpdmUgYXJndW1lbnRzCi0rICAgIGZyb20gdGhlIGdsb2JhbCBwcm9n cmFtIGFyZ3VtZW50cy4gTm90ZSB0aGF0IHRoaXMgb25seSB3b3JrcyBmb3IgR05VIEdMSUJDCi0r ICAgIGFzIFB5dGhvbiBoYXMgbm8gZ2VuZXJpYyB3YXkgdG8gZ2V0IGFjY2VzcyB0byB0aGUgb3Jp Z2luYWwgYXJndiB2YWx1ZXMgdG8KLSsgICAgbW9kaWZ5IHRoZW0gaW4gcGxhY2UuCi0rCi0rICAg IFRoZSBjb2RlIGFzc3VtZXMgUHl0aG9uIGJlaGF2aW9yLCBlLmcuIHRoZXJlIGFyZSB0d28gYWRk aXRpb25hbCBhcmdzIGluIHRoZQotKyAgICBsaXN0ICgvcGF0aC90by9weXRob24gLUkgLi4uKSB0 aGFuIHdoYXQncyBwYXNzZWQgYXMgJ2FyZ3YnIGhlcmUuCi0rICAgICIiIgotKyAgICBpbXBvcnQg Y3R5cGVzCi0rICAgIGltcG9ydCBjdHlwZXMudXRpbAotKyAgICB0cnk6Ci0rICAgICAgICBfYyA9 IGN0eXBlcy5DRExMKGN0eXBlcy51dGlsLmZpbmRfbGlicmFyeSgiYyIpKQotKyAgICAgICAgaWYg X2MuX25hbWUgaXMgTm9uZToKLSsgICAgICAgICAgICByZXR1cm4KLSsgICAgICAgIF9hcmd2ID0g Y3R5cGVzLlBPSU5URVIoY3R5cGVzLmNfdm9pZHApLmluX2RsbChfYywgIl9kbF9hcmd2IikKLSsg ICAgICAgICMgc2luY2Ugd2UgcnVuIGFzICdweXRob24gLUkgPGV4ZWN1dGFibGU+IC4uLicsIGFk ZCB0d28gYXJncwotKyAgICAgICAgX2FyZ2MgPSBsZW4oYXJndikgKyAyCi0rICAgICAgICBhbGxf b3B0aW9ucyA9IFtdCi0rICAgICAgICBpZiAnX2dldF9hbGxfb3B0aW9ucycgaW4gZGlyKG9wdGlv bl9wYXJzZXIpOgotKyAgICAgICAgICAgICMgT3B0UGFyc2UgcGFyc2VyCi0rICAgICAgICAgICAg YWxsX29wdGlvbnMgPSBvcHRpb25fcGFyc2VyLl9nZXRfYWxsX29wdGlvbnMoKQotKyAgICAgICAg ZWxpZiAnX2FjdGlvbnMnIGluIGRpcihvcHRpb25fcGFyc2VyKToKLSsgICAgICAgICAgICAjIEFy Z1BhcnNlIHBhcnNlcgotKyAgICAgICAgICAgIGFsbF9vcHRpb25zID0gb3B0aW9uX3BhcnNlci5f YWN0aW9ucwotKwotKyAgICAgICAgZm9yIG9wdCBpbiBhbGxfb3B0aW9uczoKLSsgICAgICAgICAg ICBpZiBnZXRhdHRyKG9wdCwgJ3NlbnNpdGl2ZScsIEZhbHNlKToKLSsgICAgICAgICAgICAgICAg diA9IGdldGF0dHIob3B0aW9ucywgb3B0LmRlc3QpCi0rICAgICAgICAgICAgICAgIGZvciBpIGlu IHJhbmdlKDAsIF9hcmdjKToKLSsgICAgICAgICAgICAgICAgICAgIHZpID0gY3R5cGVzLmNhc3Qo X2FyZ3ZbaV0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eXBlcy5j X2NoYXJfcAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLnZhbHVlLmRl Y29kZSgndXRmLTgnKQotKyAgICAgICAgICAgICAgICAgICAgaWYgdmkgPT0gdjoKLSsgICAgICAg ICAgICAgICAgICAgICAgICBjdHlwZXMubWVtc2V0KF9hcmd2W2ldLCBvcmQoJ1gnKSwgbGVuKHYp KQotKyAgICBleGNlcHQgRXhjZXB0aW9uOgotKyAgICAgICAgcGFzcwotKwotKwotIGNsYXNzIFNj cmlwdEVycm9yKEV4Y2VwdGlvbik6Ci0gICAgICIiIkFuIGV4Y2VwdGlvbiB0aGF0IHJlY29yZHMg YW4gZXJyb3IgbWVzc2FnZSBhbmQgYSByZXR1cm4gdmFsdWUKLSAgICAgIiIiCi1AQCAtMTQ4LDYg KzE4Nyw3IEBAIGNsYXNzIEFkbWluVG9vbDoKLSAgICAgICAgICAgICBjbHMuX29wdGlvbl9wYXJz ZXJzW2Nsc10gPSBjbHMub3B0aW9uX3BhcnNlcgotIAotICAgICAgICAgb3B0aW9ucywgYXJncyA9 IGNscy5vcHRpb25fcGFyc2VyLnBhcnNlX2FyZ3MoYXJndlsxOl0pCi0rICAgICAgICBhZG1pbl9j bGVhbnVwX2dsb2JhbF9hcmd2KGNscy5vcHRpb25fcGFyc2VyLCBvcHRpb25zLCBhcmd2KQotIAot ICAgICAgICAgY29tbWFuZF9jbGFzcyA9IGNscy5nZXRfY29tbWFuZF9jbGFzcyhvcHRpb25zLCBh cmdzKQotICAgICAgICAgY29tbWFuZCA9IGNvbW1hbmRfY2xhc3Mob3B0aW9ucywgYXJncykKLWRp ZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weSBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1pbmRleCBmMzU2MjkzNzguLmVjZTQ3M2JjOCAxMDA2NDQK LS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfbWlncmF0ZS5weQotQEAgLTI4LDYgKzI4LDcgQEAgZnJvbSBpcGFwbGF0Zm9y bS5wYXRocyBpbXBvcnQgcGF0aHMKLSBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLSBmcm9t IGlwYXB5dGhvbi5pcGFsZGFwIGltcG9ydCBMREFQQ2xpZW50LCBMREFQRW50cnksIHJlYWxtX3Rv X2xkYXBpX3VyaQotIGZyb20gaXBhcHl0aG9uLmlwYV9sb2dfbWFuYWdlciBpbXBvcnQgc3RhbmRh cmRfbG9nZ2luZ19zZXR1cAotK2Zyb20gaXBhcHl0aG9uLmFkbWludG9vbCBpbXBvcnQgYWRtaW5f Y2xlYW51cF9nbG9iYWxfYXJndgotIGZyb20gaXBhc2VydmVyLmluc3RhbGwuaXBhX21pZ3JhdGVf Y29uc3RhbnRzIGltcG9ydCAoCi0gICAgIERTX0NPTkZJRywgREJfT0JKRUNUUywgRFNfSU5ERVhF UywgQklORF9ETiwgTE9HX0ZJTEVfTkFNRSwKLSAgICAgU1RSSVBfT1BfQVRUUlMsIFNUUklQX0FU VFJTLCBTVFJJUF9PQywgUFJPRF9BVFRSUywKLUBAIC0yODQsNiArMjg1LDE4IEBAIGNsYXNzIExE SUZQYXJzZXIobGRpZi5MRElGUGFyc2VyKToKLSAgICAgICAgICAgICBzZWxmLm1jLnByb2Nlc3Nf ZGJfZW50cnkoZW50cnlfZG49ZG4sIGVudHJ5X2F0dHJzPWVudHJ5X2F0dHJzKQotIAotIAotK2Ns YXNzIFNlbnNpdGl2ZVN0b3JlQWN0aW9uKGFyZ3BhcnNlLl9TdG9yZUFjdGlvbik6Ci0rICAgIGRl ZiBfX2luaXRfXyhzZWxmLCAqLCBzZW5zaXRpdmUsICoqb3B0aW9ucyk6Ci0rICAgICAgICBzdXBl cihTZW5zaXRpdmVTdG9yZUFjdGlvbiwgc2VsZikuX19pbml0X18oKipvcHRpb25zKQotKyAgICAg ICAgc2VsZi5zZW5zaXRpdmUgPSBzZW5zaXRpdmUKLSsKLSsgICAgZGVmIF9nZXRfa3dhcmdzKHNl bGYpOgotKyAgICAgICAgbmFtZXMgPSBzdXBlcihTZW5zaXRpdmVTdG9yZUFjdGlvbiwgc2VsZiku X2dldF9rd2FyZ3MoKQotKyAgICAgICAgc2Vuc2l0aXZlX25hbWUgPSAnc2Vuc2l0aXZlJwotKyAg ICAgICAgbmFtZXMuZXh0ZW5kKChzZW5zaXRpdmVfbmFtZSwgZ2V0YXR0cihzZWxmLCBzZW5zaXRp dmVfbmFtZSkpKQotKyAgICAgICAgcmV0dXJuIG5hbWVzCi0rCi0rCi0gIwotICMgTWlncmF0ZSBJ UEEgdG8gSVBBIENsYXNzCi0gIwotQEAgLTM0NCw3ICszNTcsOCBAQCBjbGFzcyBJUEFNaWdyYXRl KCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J1Bhc3N3b3JkIGZvciB0aGUg QmluZCBETi4gIElmIGEgcGFzc3dvcmQgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdpcyBub3QgcHJvdmlkZWQgdGhlbiB0aGUgdXNlciB3aWxsIGJlICcKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAncHJvbXB0ZWQgdG8gZW50ZXIgaXQnLAotLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0PU5vbmUpCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRlZmF1bHQ9Tm9uZSwgc2Vuc2l0aXZlPVRydWUsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFjdGlvbj1TZW5zaXRpdmVTdG9yZUFjdGlvbikKLSAgICAgICAgIHBhcnNlci5h ZGRfYXJndW1lbnQoJy1qJywgJy0tYmluZC1wdy1maWxlJywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaGVscD0nQSB0ZXh0IGZpbGUgY29udGFpbmluZyB0aGUgY2xlYXIgdGV4dCAnCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bhc3N3b3JkIGZvciB0aGUgQmluZCBE TicsIGRlZmF1bHQ9Tm9uZSkKLUBAIC0yMTI4LDYgKzIxNDIsNyBAQCBjbGFzcyBJUEFNaWdyYXRl KCk6Ci0gICAgICAgICBwYXJzZXIgPSBhcmdwYXJzZS5Bcmd1bWVudFBhcnNlcihkZXNjcmlwdGlv bj1kZXNjLCBhbGxvd19hYmJyZXY9VHJ1ZSkKLSAgICAgICAgIHNlbGYuYWRkX29wdGlvbnMocGFy c2VyKQotICAgICAgICAgc2VsZi52YWxpZGF0ZV9vcHRpb25zKCkKLSsgICAgICAgIGFkbWluX2Ns ZWFudXBfZ2xvYmFsX2FyZ3YocGFyc2VyLCBzZWxmLmFyZ3MsIHN5cy5hcmd2KQotIAotICAgICAg ICAgIyBDaGVjayBmb3IgZHJ5cnVuIG1vZGUKLSAgICAgICAgIGlmIHNlbGYuYXJncy5kcnlydW4g b3Igc2VsZi5hcmdzLmRyeXJ1bl9yZWNvcmQgaXMgbm90IE5vbmU6Ci1kaWZmIC0tZ2l0IGEvaXBh c2VydmVyL2luc3RhbGwvaXBhX3Jlc3RvcmUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfcmVz dG9yZS5weQotaW5kZXggOGQ3NWEwZTZiLi41Mzk1MDFhYjQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2 ZXIvaW5zdGFsbC9pcGFfcmVzdG9yZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX3Jl c3RvcmUucHkKLUBAIC0xODUsNyArMTg1LDcgQEAgY2xhc3MgUmVzdG9yZShhZG1pbnRvb2wuQWRt aW5Ub29sKToKLSAgICAgICAgIHN1cGVyKFJlc3RvcmUsIGNscykuYWRkX29wdGlvbnMocGFyc2Vy LCBkZWJ1Z19vcHRpb249VHJ1ZSkKLSAKLSAgICAgICAgIHBhcnNlci5hZGRfb3B0aW9uKAotLSAg ICAgICAgICAgICItcCIsICItLXBhc3N3b3JkIiwgZGVzdD0icGFzc3dvcmQiLAotKyAgICAgICAg ICAgICItcCIsICItLXBhc3N3b3JkIiwgZGVzdD0icGFzc3dvcmQiLCBzZW5zaXRpdmU9VHJ1ZSwK LSAgICAgICAgICAgICBoZWxwPSJEaXJlY3RvcnkgTWFuYWdlciBwYXNzd29yZCIpCi0gICAgICAg ICBwYXJzZXIuYWRkX29wdGlvbigKLSAgICAgICAgICAgICAiLS1ncGcta2V5cmluZyIsIGRlc3Q9 ImdwZ19rZXlyaW5nIiwKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVy X2NlcnRpbnN0YWxsLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvaXBhX3NlcnZlcl9jZXJ0aW5zdGFs bC5weQotaW5kZXggZTlmNjgwYjFkLi43NmFkMzdjYTcgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfc2VydmVyX2NlcnRpbnN0YWxsLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFs bC9pcGFfc2VydmVyX2NlcnRpbnN0YWxsLnB5Ci1AQCAtNzIsNyArNzIsNyBAQCBjbGFzcyBTZXJ2 ZXJDZXJ0SW5zdGFsbChhZG1pbnRvb2wuQWRtaW5Ub29sKToKLSAgICAgICAgICAgICBoZWxwPSJO YW1lIG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byBpbnN0YWxsIikKLSAgICAgICAgIHBhcnNlci5hZGRf b3B0aW9uKAotICAgICAgICAgICAgICItcCIsICItLWRpcm1hbi1wYXNzd29yZCIsCi0tICAgICAg ICAgICAgZGVzdD0iZGlybWFuX3Bhc3N3b3JkIiwKLSsgICAgICAgICAgICBkZXN0PSJkaXJtYW5f cGFzc3dvcmQiLCBzZW5zaXRpdmU9VHJ1ZSwKLSAgICAgICAgICAgICBoZWxwPSJEaXJlY3Rvcnkg TWFuYWdlciBwYXNzd29yZCIpCi0gCi0gICAgIGRlZiB2YWxpZGF0ZV9vcHRpb25zKHNlbGYpOgot LS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQ4NTdmY2ZjYzIxNDgxY2RmMDZiOGNjZTE2ODVlMTQxOTIx ZDJmYmYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdW1pdCBCb3NlIDxzYm9zZUBy ZWRoYXQuY29tPgotRGF0ZTogV2VkLCAyNyBOb3YgMjAyNCAxMjoxNjowOSArMDEwMAotU3ViamVj dDogW1BBVENIIDA2Ni8xMTZdIGlwYS1vdHBkOiB1c2Ugb2lkY19jaGlsZCdzIC0tY2xpZW50LXNl Y3JldC1zdGRpbgotIG9wdGlvbgotCi1UbyByZW1vdmUgdGhlIGNsaWVudCBzZWNyZXQgZnJvbSB0 aGUgY29tbWFuZCBsaW5lIHdoZXJlIGl0IHdvdWxkIGJlCi12aXNpYmxlIGUuZy4gd2hlbiBjYWxs aW5nIHBzIGl0IGlzIG5vdyBwYXNzZWQgdmlhIHN0ZGluIHRvIG9pZGNfY2hpbGQuCi0KLUZpeGVz OiBDVkUtMjAyNC0xMTAyOQotCi1TaWduZWQtb2ZmLWJ5OiBTdW1pdCBCb3NlIDxzYm9zZUByZWRo YXQuY29tPgotLS0tCi0gZGFlbW9ucy9pcGEtb3RwZC9vYXV0aDIuYyB8IDI0ICsrKysrKysrKysr KysrLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxNCBpbnNlcnRpb25zKCspLCAxMCBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLW90cGQvb2F1dGgyLmMgYi9kYWVt b25zL2lwYS1vdHBkL29hdXRoMi5jCi1pbmRleCBhMzNjZjUxNzEuLjUyZDdkN2M5YyAxMDA2NDQK LS0tLSBhL2RhZW1vbnMvaXBhLW90cGQvb2F1dGgyLmMKLSsrKyBiL2RhZW1vbnMvaXBhLW90cGQv b2F1dGgyLmMKLUBAIC0zMSw2ICszMSw3IEBACi0gI2luY2x1ZGUgPHVuaXN0ZC5oPgotICNpbmNs dWRlIDxmY250bC5oPgotICNpbmNsdWRlIDxzeXMvcmFuZG9tLmg+Ci0rI2luY2x1ZGUgPHN5cy91 aW8uaD4KLSAKLSAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKLSAKLUBAIC05Myw2ICs5NCw3IEBAIHN0 YXRpYyB2b2lkIG9hdXRoMl9vbl9jaGlsZF93cml0YWJsZSh2ZXJ0b19jdHggKnZjdHgsIHZlcnRv X2V2ICpldikKLSAgICAgKHZvaWQpdmN0eDsgLyogVW51c2VkICovCi0gICAgIHNzaXplX3QgaW87 Ci0gICAgIHN0cnVjdCBjaGlsZF9jdHggKmNoaWxkX2N0eDsKLSsgICAgc3RydWN0IGlvdmVjIGlv dlszXTsKLSAKLSAgICAgY2hpbGRfY3R4ID0gdmVydG9fZ2V0X3ByaXZhdGUoZXYpOwotICAgICBp ZiAoY2hpbGRfY3R4ID09IE5VTEwpIHsKLUBAIC0xMDIsMTUgKzEwNCwxOCBAQCBzdGF0aWMgdm9p ZCBvYXV0aDJfb25fY2hpbGRfd3JpdGFibGUodmVydG9fY3R4ICp2Y3R4LCB2ZXJ0b19ldiAqZXYp Ci0gICAgIH0KLSAKLSAgICAgaWYgKGNoaWxkX2N0eC0+b2F1dGgyX3N0YXRlID09IE9BVVRIMl9H RVRfREVWSUNFX0NPREUpIHsKLS0gICAgICAgIC8qIG5vIGlucHV0IG5lZWRlZCAqLwotLSAgICAg ICAgdmVydG9fZGVsKGV2KTsKLS0gICAgICAgIHJldHVybjsKLS0gICAgfQotLQotKyAgICAgICAg aW8gPSB3cml0ZSh2ZXJ0b19nZXRfZmQoZXYpLCBjaGlsZF9jdHgtPml0ZW0tPmlkcC5pcGFpZHBD bGllbnRTZWNyZXQsCi0rICAgICAgICAgICAgICAgICAgIHN0cmxlbihjaGlsZF9jdHgtPml0ZW0t PmlkcC5pcGFpZHBDbGllbnRTZWNyZXQpKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIGlvdlsw XS5pb3ZfYmFzZSA9IGNoaWxkX2N0eC0+aXRlbS0+aWRwLmlwYWlkcENsaWVudFNlY3JldDsKLSsg ICAgICAgIGlvdlswXS5pb3ZfbGVuID0gc3RybGVuKGNoaWxkX2N0eC0+aXRlbS0+aWRwLmlwYWlk cENsaWVudFNlY3JldCk7Ci0rICAgICAgICBpb3ZbMV0uaW92X2Jhc2UgPSAiXG4iOwotKyAgICAg ICAgaW92WzFdLmlvdl9sZW4gPSAxOwotKyAgICAgICAgaW92WzJdLmlvdl9iYXNlID0gY2hpbGRf Y3R4LT5zYXZlZF9pdGVtLT5vYXV0aDIuZGV2aWNlX2NvZGVfcmVwbHk7Ci0rICAgICAgICBpb3Zb Ml0uaW92X2xlbiA9IHN0cmxlbihjaGlsZF9jdHgtPnNhdmVkX2l0ZW0tPm9hdXRoMi5kZXZpY2Vf Y29kZV9yZXBseSk7Ci0gCi0tICAgIGlvID0gd3JpdGUodmVydG9fZ2V0X2ZkKGV2KSwKLS0gICAg ICAgICAgICAgICBjaGlsZF9jdHgtPnNhdmVkX2l0ZW0tPm9hdXRoMi5kZXZpY2VfY29kZV9yZXBs eSwKLS0gICAgICAgICAgICAgICBzdHJsZW4oY2hpbGRfY3R4LT5zYXZlZF9pdGVtLT5vYXV0aDIu ZGV2aWNlX2NvZGVfcmVwbHkpKTsKLSsgICAgICAgIGlvID0gd3JpdGV2KHZlcnRvX2dldF9mZChl diksIGlvdiwgMyk7Ci0rICAgIH0KLSAgICAgb3RwZF9xdWV1ZV9pdGVtX2ZyZWUoY2hpbGRfY3R4 LT5zYXZlZF9pdGVtKTsKLSAKLSAgICAgaWYgKGlvIDwgMCkgewotQEAgLTQyOSw4ICs0MzQsNyBA QCBpbnQgb2F1dGgyKHN0cnVjdCBvdHBkX3F1ZXVlX2l0ZW0gKippdGVtLCBlbnVtIG9hdXRoMl9z dGF0ZSBvYXV0aDJfc3RhdGUpCi0gICAgIGFyZ3NbYXJnc19pZHgrK10gPSAoKml0ZW0pLT5pZHAu aXBhaWRwQ2xpZW50SUQ7Ci0gCi0gICAgIGlmICgoKml0ZW0pLT5pZHAuaXBhaWRwQ2xpZW50U2Vj cmV0KSB7Ci0tICAgICAgICBhcmdzW2FyZ3NfaWR4KytdID0gIi0tY2xpZW50LXNlY3JldCI7Ci0t ICAgICAgICBhcmdzW2FyZ3NfaWR4KytdID0gKCppdGVtKS0+aWRwLmlwYWlkcENsaWVudFNlY3Jl dDsKLSsgICAgICAgIGFyZ3NbYXJnc19pZHgrK10gPSAiLS1jbGllbnQtc2VjcmV0LXN0ZGluIjsK LSAgICAgfQotIAotICAgICBpZiAoKCppdGVtKS0+aWRwLmlwYWlkcFNjb3BlKSB7Ci0tLSAKLTIu NDkuMAotCi0KLUZyb20gZWVmNTQ0YzFkMzMxYmJlODA4NTJlYmU4YjVmYzliYWQwNTM5YjZmYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8Zmxv QHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE1IEphbiAyMDI1IDE1OjM5OjIwICswMTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMDY3LzExNl0gRml4IHB5bGludCBpc3N1ZSBpbiBpcGF0ZXN0cy9pMThuLnB5 Ci0KLVRoaXMgZmlsZSBzaG91bGQgbm90IGltcG9ydCBpcGEgbW9kdWxlcwotCi1TaWduZWQtb2Zm LWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IFJhZmFlbCBHdXRlcnJlcyBKZWZmbWFuIDxyamVmZm1hbkByZWRoYXQuY29tPgotLS0tCi0gaXBh dGVzdHMvaTE4bi5weSB8IDggKysrKy0tLS0KLSBweWxpbnRyYyAgICAgICAgIHwgMyArKy0KLSAy IGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL2kxOG4ucHkgYi9pcGF0ZXN0cy9pMThuLnB5Ci1pbmRleCA1NzkxNWMy ODYuLjQ5ZjVjNGMzMiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL2kxOG4ucHkKLSsrKyBiL2lwYXRl c3RzL2kxOG4ucHkKLUBAIC0yMiw2ICsyMiw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJp bnRfZnVuY3Rpb24KLSAKLSAjIFdBUk5JTkc6IERvIG5vdCBpbXBvcnQgaXBhIG1vZHVsZXMsIHRo aXMgaXMgYWxzbyB1c2VkIGFzIGEKLSAjIHN0YW5kLWFsb25lIHNjcmlwdCAoaW52b2tlZCBmcm9t IHBvIE1ha2VmaWxlKS4KLStpbXBvcnQgb3B0cGFyc2UgICMgcHlsaW50OiBkaXNhYmxlPWRlcHJl Y2F0ZWQtbW9kdWxlCi0gaW1wb3J0IHN5cwotIGltcG9ydCBnZXR0ZXh0Ci0gaW1wb3J0IHJlCi1A QCAtMjksNyArMzAsNiBAQCBpbXBvcnQgb3MKLSBpbXBvcnQgdHJhY2ViYWNrCi0gaW1wb3J0IHBv bGliCi0gZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgbmFtZWR0dXBsZQotLWZyb20gaXBhcHl0aG9u IGltcG9ydCBjb25maWcKLSAKLSBpbXBvcnQgc2l4Ci0gCi1AQCAtNzIyLDkgKzcyMiw5IEBAIHVz YWdlID0nJycKLSBkZWYgbWFpbigpOgotICAgICBnbG9iYWwgdmVyYm9zZSwgcHJpbnRfdHJhY2Vi YWNrLCBwZWRhbnRpYywgc2hvd19zdHJpbmdzCi0gCi0tICAgIHBhcnNlciA9IGNvbmZpZy5JUEFP cHRpb25QYXJzZXIodXNhZ2U9dXNhZ2UpCi0rICAgIHBhcnNlciA9IG9wdHBhcnNlLk9wdGlvblBh cnNlcih1c2FnZT11c2FnZSkKLSAKLS0gICAgbW9kZV9ncm91cCA9IGNvbmZpZy5PcHRpb25Hcm91 cChwYXJzZXIsICdPcGVyYXRpb25hbCBNb2RlJywKLSsgICAgbW9kZV9ncm91cCA9IG9wdHBhcnNl Lk9wdGlvbkdyb3VwKHBhcnNlciwgJ09wZXJhdGlvbmFsIE1vZGUnLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ1lvdSBtdXN0IHNlbGVjdCBvbmUgdGhlc2UgbW9kZXMg dG8gcnVuIGluJykKLSAKLSAgICAgbW9kZV9ncm91cC5hZGRfb3B0aW9uKCctZycsICctLXRlc3Qt Z2V0dGV4dCcsIGFjdGlvbj0nc3RvcmVfY29uc3QnLCBjb25zdD0ndGVzdF9nZXR0ZXh0JywgZGVz dD0nbW9kZScsCi1AQCAtNzQ4LDcgKzc0OCw3IEBAIGRlZiBtYWluKCk6Ci0gICAgIHBhcnNlci5h ZGRfb3B0aW9uKCctLXRyYWNlYmFjaycsIGFjdGlvbj0nc3RvcmVfdHJ1ZScsIGRlc3Q9J3ByaW50 X3RyYWNlYmFjaycsIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICAgICAgIGhlbHA9 J3ByaW50IHRoZSB0cmFjZWJhY2sgd2hlbiBhbiBleGNlcHRpb24gb2NjdXJzJykKLSAKLS0gICAg cGFyYW1fZ3JvdXAgPSBjb25maWcuT3B0aW9uR3JvdXAocGFyc2VyLCAnUnVuIFRpbWUgUGFyYW1l dGVycycsCi0rICAgIHBhcmFtX2dyb3VwID0gb3B0cGFyc2UuT3B0aW9uR3JvdXAocGFyc2VyLCAn UnVuIFRpbWUgUGFyYW1ldGVycycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ1RoZXNlIG1heSBiZSB1c2VkIHRvIG1vZGlmeSB0aGUgcnVuIHRpbWUgZGVmYXVsdHMn KQotIAotICAgICBwYXJhbV9ncm91cC5hZGRfb3B0aW9uKCctLXRlc3QtbGFuZycsIGFjdGlvbj0n c3RvcmUnLCBkZXN0PSd0ZXN0X2xhbmcnLCBkZWZhdWx0PSd0ZXN0JywKLWRpZmYgLS1naXQgYS9w eWxpbnRyYyBiL3B5bGludHJjCi1pbmRleCA1MDI3OGNjNzYuLjhmYWRlZmZiZCAxMDA2NDQKLS0t LSBhL3B5bGludHJjCi0rKysgYi9weWxpbnRyYwotQEAgLTE1Myw0ICsxNTMsNSBAQCBmb3JiaWRk ZW4taW1wb3J0cz0KLSAgICAgaXBhcGxhdGZvcm0vOmlwYWNsaWVudDppcGFsaWI6aXBhc2VydmVy LAotICAgICBpcGFweXRob24vOmlwYWNsaWVudDppcGFsaWI6aXBhc2VydmVyCi0gICAgIGlwYXRl c3RzL3B5dGVzdF9pcGE6aXBhc2VydmVyOmlwYWNsaWVudC5pbnN0YWxsOmlwYWxpYi5pbnN0YWxs Ci0tICAgIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb246aXBhc2VydmVyCi0rICAgIGlwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb246aXBhc2VydmVyLAotKyAgICBpcGF0ZXN0cy9pMThuLnB5OmlwYXB5 dGhvbgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDE3NWJkN2IyNGJlYTI1MmVhMmM5ZWY4MGJiZDVj NGJjMTE4YmEzMDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFu Yy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA4IEphbiAyMDI1IDE4OjMzOjQ3 ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDY4LzExNl0gaXBhdGVzdHM6IGZvcmNlIHRoZSB2ZXJz aW9uIGZvciB1bmluc3RhbGwvcmVpbnN0YWxsCi0KLVRoZSBiYWNrdXAtcmVzdG9yZSB0ZXN0cyBl bnN1cmUgdGhhdCBpcGEtcmVzdG9yZSBjb21wbGFpbnMgaWYKLWEgcmVxdWlyZWQgcGFja2FnZSBp cyBtaXNzaW5nLiBUaGUgdGVzdCBzY2VuYXJpbyByZW1vdmVzIHRoZQotaXBhLXNlcnZlci1kbnMg cGFja2FnZSwgdHJpZXMgYSByZXN0b3JlIChleHBlY3RpbmcgYSBmYWlsdXJlKSwKLXRoZW4gcmVp bnN0YWxsIHRoZSBpcGEtc2VydmVyLWRucyBwa2cgYW5kIHJldHJ5IHRoZSByZXN0b3JlCi0oZXhw ZWN0aW5nIGEgc3VjY2VzcykuCi1UaGUgaXNzdWUgaXMgdGhhdCByZWluc3RhbGxhdGlvbiBzb21l dGltZXMgcHVsbHMgYSBtb3JlIHJlY2VudAotdmVyc2lvbiBhbmQgaXBhLXJlc3RvcmUgZmFpbHMg YmVjYXVzZSBvZiB0aGUgdmVyc2lvbiBtaXNtYXRjaC4KLQotRW5zdXJlIHRoZSByZWluc3RhbGxh dGlvbiBwdWxscyB0aGUgc2FtZSB2ZXJzaW9uLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS85NzIzCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkBy ZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5w eSAgICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKwotIC4uLi90ZXN0X2JhY2t1cF9hbmRfcmVz dG9yZS5weSAgICAgICAgICAgICAgICB8ICA5ICsrKysrKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAy OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMv cHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weSBiL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50 ZWdyYXRpb24vdGFza3MucHkKLWluZGV4IDY3N2ZiNzUzNC4uNGNlMzNiYjQ3IDEwMDc1NQotLS0t IGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotKysrIGIvaXBhdGVz dHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotQEAgLTI3NDksNiArMjc0OSwyOCBA QCBkZWYgZ2V0X3BhY2thZ2VfdmVyc2lvbihob3N0LCBwa2duYW1lKToKLSAgICAgcmV0dXJuIGdl dF9wYWNrYWdlX3ZlcnNpb24KLSAKLSAKLStkZWYgZ2V0X3BhY2thZ2VfdmVyc2lvbl9hbmRfcmVs ZWFzZShob3N0LCBwa2duYW1lKToKLSsgICAgIiIiCi0rICAgIEdldCBwYWNrYWdlIHZlcnNpb24t cmVsZWFzZSBvbiByZW1vdGUgaG9zdAotKyAgICAiIiIKLSsgICAgcGxhdGZvcm0gPSBnZXRfcGxh dGZvcm0oaG9zdCkKLSsgICAgaWYgcGxhdGZvcm0gaW4gKCJyaGVsIiwgImZlZG9yYSIpOgotKyAg ICAgICAgY21kID0gaG9zdC5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbInJwbSIsICItcWEi LCAiLS1xZiIsICIle1ZFUlNJT059LSV7UkVMRUFTRX0iLCBwa2duYW1lXQotKyAgICAgICAgKQot KyAgICAgICAgZ2V0X3BhY2thZ2VfdmVyc2lvbiA9IGNtZC5zdGRvdXRfdGV4dAotKyAgICAgICAg aWYgbm90IGdldF9wYWNrYWdlX3ZlcnNpb246Ci0rICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJv cigKLSsgICAgICAgICAgICAgICAgImdldF9wYWNrYWdlX3ZlcnNpb246ICIKLSsgICAgICAgICAg ICAgICAgInBrZ25hbWUgcGFja2FnZSBpcyBub3QgaW5zdGFsbGVkIgotKyAgICAgICAgICAgICkK LSsgICAgZWxzZToKLSsgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoCi0rICAgICAgICAgICAgImdl dF9wYWNrYWdlX3ZlcnNpb246IHVua25vd24gcGxhdGZvcm0gJXMiICUgcGxhdGZvcm0KLSsgICAg ICAgICkKLSsgICAgcmV0dXJuIGdldF9wYWNrYWdlX3ZlcnNpb24KLSsKLSsKLSBkZWYgZ2V0X29w ZW5sZGFwX2NsaWVudF92ZXJzaW9uKGhvc3QpOgotICAgICAiIiJHZXQgb3BlbmxkYXAtY2xpZW50 cyB2ZXJzaW9uIG9uIHJlbW90ZSBob3N0IiIiCi0gICAgIHJldHVybiBnZXRfcGFja2FnZV92ZXJz aW9uKGhvc3QsICdvcGVubGRhcC1jbGllbnRzJykKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfYmFja3VwX2FuZF9yZXN0b3JlLnB5IGIvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X2JhY2t1cF9hbmRfcmVzdG9yZS5weQotaW5kZXggN2U3ODg3OTNiLi45 ZDZiMjUwM2IgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYmFj a3VwX2FuZF9yZXN0b3JlLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf YmFja3VwX2FuZF9yZXN0b3JlLnB5Ci1AQCAtMzMyLDYgKzMzMiw4IEBAIGNsYXNzIEJhc2VCYWNr dXBBbmRSZXN0b3JlV2l0aEROUyhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnLS11bmluc3RhbGwnLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnLVUnXSkKLSAKLSsgICAgICAgICAgICB2ZXJzaW9uID0gdGFza3Mu Z2V0X3BhY2thZ2VfdmVyc2lvbl9hbmRfcmVsZWFzZSgKLSsgICAgICAgICAgICAgICAgc2VsZi5t YXN0ZXIsICcqaXBhLXNlcnZlci1kbnMnKQotICAgICAgICAgICAgIHRhc2tzLnVuaW5zdGFsbF9w YWNrYWdlcyhzZWxmLm1hc3RlciwgWycqaXBhLXNlcnZlci1kbnMnXSkKLSAKLSAgICAgICAgICAg ICBkaXJtYW5fcGFzc3dvcmQgPSBzZWxmLm1hc3Rlci5jb25maWcuZGlybWFuX3Bhc3N3b3JkCi1A QCAtMzQxLDcgKzM0Myw3IEBAIGNsYXNzIEJhc2VCYWNrdXBBbmRSZXN0b3JlV2l0aEROUyhJbnRl Z3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICAgICByYWlzZW9uZXJyPUZhbHNlKQotICAgICAg ICAgICAgIGFzc2VydCAnUGxlYXNlIGluc3RhbGwgdGhlIHBhY2thZ2UnIGluIHJlc3VsdC5zdGRl cnJfdGV4dAotIAotLSAgICAgICAgICAgIHRhc2tzLmluc3RhbGxfcGFja2FnZXMoc2VsZi5tYXN0 ZXIsIFsnKmlwYS1zZXJ2ZXItZG5zJ10pCi0rICAgICAgICAgICAgdGFza3MuaW5zdGFsbF9wYWNr YWdlcyhzZWxmLm1hc3RlciwgWycqaXBhLXNlcnZlci1kbnMtJyArIHZlcnNpb25dKQotICAgICAg ICAgICAgIGlmIHJlaW5zdGFsbDoKLSAgICAgICAgICAgICAgICAgdGFza3MuaW5zdGFsbF9tYXN0 ZXIoc2VsZi5tYXN0ZXIsIHNldHVwX2Rucz1UcnVlKQotICAgICAgICAgICAgIHNlbGYubWFzdGVy LnJ1bl9jb21tYW5kKFsnaXBhLXJlc3RvcmUnLCBiYWNrdXBfcGF0aF0sCi1AQCAtOTQ1LDYgKzk0 Nyw4IEBAIGNsYXNzIFRlc3RCYWNrdXBBbmRSZXN0b3JlVHJ1c3QoSW50ZWdyYXRpb25UZXN0KToK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tdW5pbnN0YWxsJywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy1VJ10pCi0gCi0rICAgICAgICAg ICAgdmVyc2lvbiA9IHRhc2tzLmdldF9wYWNrYWdlX3ZlcnNpb25fYW5kX3JlbGVhc2UoCi0rICAg ICAgICAgICAgICAgIHNlbGYubWFzdGVyLCAnKmlwYS1zZXJ2ZXItdHJ1c3QtYWQnKQotICAgICAg ICAgICAgIHRhc2tzLnVuaW5zdGFsbF9wYWNrYWdlcyhzZWxmLm1hc3RlciwgWycqaXBhLXNlcnZl ci10cnVzdC1hZCddKQotIAotICAgICAgICAgICAgIGRpcm1hbl9wYXNzd29yZCA9IHNlbGYubWFz dGVyLmNvbmZpZy5kaXJtYW5fcGFzc3dvcmQKLUBAIC05NTQsNyArOTU4LDggQEAgY2xhc3MgVGVz dEJhY2t1cEFuZFJlc3RvcmVUcnVzdChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICAg ICByYWlzZW9uZXJyPUZhbHNlKQotICAgICAgICAgICAgIGFzc2VydCAnUGxlYXNlIGluc3RhbGwg dGhlIHBhY2thZ2UnIGluIHJlc3VsdC5zdGRlcnJfdGV4dAotIAotLSAgICAgICAgICAgIHRhc2tz Lmluc3RhbGxfcGFja2FnZXMoc2VsZi5tYXN0ZXIsIFsnKmlwYS1zZXJ2ZXItdHJ1c3QtYWQnXSkK LSsgICAgICAgICAgICB0YXNrcy5pbnN0YWxsX3BhY2thZ2VzKAotKyAgICAgICAgICAgICAgICBz ZWxmLm1hc3RlciwgWycqaXBhLXNlcnZlci10cnVzdC1hZC0nICsgdmVyc2lvbl0pCi0gICAgICAg ICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydpcGEtcmVzdG9yZScsIGJhY2t1cF9wYXRo XSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGRpbl90ZXh0PWRpcm1h bl9wYXNzd29yZCArICdcbnllcycpCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNDVmOTZhMGY5 NzhkZmRhMGUyZmFhODM2MDE4MmExZGZkMzEyMmI5NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmks IDEwIEphbiAyMDI1IDEzOjIyOjI5ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDY5LzExNl0gaXBh dGVzdHM6IHNraXAgdGVzdF9pcGFoZWFsdGhjaGVja19kc19jb25maWdjaGVjayBmb3IKLSByZWNl bnQgdmVyc2lvbnMKLQotMzg5LWRzIHJlbW92ZWQgdGhlIHBhcmFtZXRlciBuc3NsYXBkLWxvZ2dp bmctaHItdGltZXN0YW1wcy1lbmFibGVkCi1pbiAyLjUuMyBhbmQgYWJvdmUuIFNraXAgdGhlIHRl c3QgdGhhdCBleGVyY2lzZXMgdGhlIGNvcnJlc3BvbmRpbmcKLWhlYWx0aGNoZWNrLgotCi1GaXhl czogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzMwCi1TaWduZWQtb2ZmLWJ5OiBG bG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBD cml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVu ZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlv bi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5IHwgMTIgKysrKysrKysrLS0tCi0gMSBmaWxlIGNoYW5n ZWQsIDkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotaW5kZXggY2M1MWE1YTZhLi42 YjZmMTVhYTQgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBh aGVhbHRoY2hlY2sucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFo ZWFsdGhjaGVjay5weQotQEAgLTE4LDcgKzE4LDcgQEAgaW1wb3J0IHV1aWQKLSAKLSBpbXBvcnQg cHl0ZXN0Ci0gCi0tZnJvbSBpcGFsaWIgaW1wb3J0IHg1MDkKLStmcm9tIGlwYWxpYiBpbXBvcnQg ZXJyb3JzLCB4NTA5Ci0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0IEROCi0gZnJvbSBpcGFweXRo b24uaXBhbGRhcCBpbXBvcnQgcmVhbG1fdG9fc2VydmVyaWQKLSBmcm9tIGlwYXB5dGhvbi5jZXJ0 ZGIgaW1wb3J0IE5TU19TUUxfRklMRVMKLUBAIC0xMTQ2LDggKzExNDYsMTQgQEAgY2xhc3MgVGVz dElwYUhlYWx0aENoZWNrKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICApCi0gICAgICAgICBl bnRyeSA9IGxkYXAuZ2V0X2VudHJ5KGRuKQotICAgICAgICAgZW50cnkuc2luZ2xlX3ZhbHVlWyJu c3NsYXBkLWxvZ2dpbmctaHItdGltZXN0YW1wcy1lbmFibGVkIl0gPSAnb2ZmJwotLSAgICAgICAg bGRhcC51cGRhdGVfZW50cnkoZW50cnkpCi0tCi0rICAgICAgICB0cnk6Ci0rICAgICAgICAgICAg bGRhcC51cGRhdGVfZW50cnkoZW50cnkpCi0rICAgICAgICBleGNlcHQgZXJyb3JzLkRhdGFiYXNl RXJyb3IgYXMgZToKLSsgICAgICAgICAgICBleHBlY3RlZF9tc2cgPSAiVW5rbm93biBhdHRyaWJ1 dGUgIiBcCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIm5zc2xhcGQtbG9nZ2luZy1oci10 aW1lc3RhbXBzLWVuYWJsZWQiCi0rICAgICAgICAgICAgaWYgZXhwZWN0ZWRfbXNnIGluIGUubWVz c2FnZToKLSsgICAgICAgICAgICAgICAgcHl0ZXN0LnNraXAoCi0rICAgICAgICAgICAgICAgICAg ICAiMzg5LWRzIHJlbW92ZWQgbnNzbGFwZC1sb2dnaW5nLWhyLXRpbWVzdGFtcHMtZW5hYmxlZCIp Ci0gICAgICAgICB5aWVsZAotIAotICAgICAgICAgZW50cnkgPSBsZGFwLmdldF9lbnRyeShkbikK LS0tIAotMi40OS4wCi0KLQotRnJvbSBlYzk0ZWU3MjcxNDI5NmM4NmJhMTIyN2E1YTk0NWE3ZWQw YmM3ZmFjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVu YXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTYgSmFuIDIwMjUgMTU6NDM6MTcgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAwNzAvMTE2XSBpcGF0ZXN0czogcmVzdGFydCBkaXJzcnYgYWZ0 ZXIgdGltZSBqdW1wcwotCi1UaGUgdGVzdCBmb3IgaXBhLWhlYWx0aGNoZWNrIGlzIG1vdmluZyB0 aGUgZGF0ZSBpbiB0aGUgZnV0dXJlLgotUmVzdGFydCB0aGUgZGlyc3J2IGluc3RhbmNlIGJlY2F1 c2UgdGhlIExEQVAgc2VydmVyIGlzCi1zZW5zaXRpdmUgdG8gbGFyZ2UgdGltZSBqdW1wcy4KLQot U2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJl dmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2Vk LUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSB8IDUgKysrKysKLSAxIGZp bGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLWluZGV4IDZiNmYxNWFhNC4uN2MzZjU4NTdh IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNo ZWNrLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hl Y2sucHkKLUBAIC0xNjM0LDYgKzE2MzQsMTEgQEAgY2xhc3MgVGVzdElwYUhlYWx0aENoZWNrKElu dGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAgICAgZ3JhY2VfZGF0ZSA9IGRhdGV0aW1lLnN0cmZ0 aW1lKGdyYWNlX2RhdGUsICIlWS0lbS0lZCAwMDowMDowMSBaIikKLSAgICAgICAgICAgICBzZWxm Lm1hc3Rlci5ydW5fY29tbWFuZChbJ2RhdGUnLCAnLXMnLCBncmFjZV9kYXRlXSkKLSAKLSsgICAg ICAgICAgICAjIFJlc3RhcnQgZGlyc3J2IGFzIGl0IGRvZXNuJ3QgbGlrZSB0aW1lIGp1bXBzCi0r ICAgICAgICAgICAgaW5zdGFuY2UgPSByZWFsbV90b19zZXJ2ZXJpZChzZWxmLm1hc3Rlci5kb21h aW4ucmVhbG0pCi0rICAgICAgICAgICAgY21kID0gWyJzeXN0ZW1jdGwiLCAicmVzdGFydCIsICJk aXJzcnZAe30iLmZvcm1hdChpbnN0YW5jZSldCi0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVu X2NvbW1hbmQoY21kKQotKwotICAgICAgICAgICAgIGZvciBjaGVjayBpbiAoIklQQUNlcnRtb25n ZXJFeHBpcmF0aW9uQ2hlY2siLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIklQQUNlcnRm aWxlRXhwaXJhdGlvbkNoZWNrIiwpOgotICAgICAgICAgICAgICAgICBleGVjdXRlX2V4cGlyaW5n X2NoZWNrKGNoZWNrKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQ4NmRiOWQyYzEwN2M2NjM3MmY0 MjJmMWQ2Mjg2MjRiMWE1NWFkNDUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4 YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTcgSmFuIDIw MjUgMDk6NDQ6MjIgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAwNzEvMTE2XSBpcGEtb3RwZDogZG8g bm90IHBhc3MgT0lEQyBjbGllbnQgc2VjcmV0IGlmIHRoZXJlIGlzCi0gbm9uZSB0byBwYXNzCi0K LUlmIHRoZXJlIGlzIG5vIGNsaWVudCBzZWNyZXQgc3BlY2lmaWVkIGZvciB0aGUgT0lEQyBjbGll bnQsIGRvbid0IHB1c2gKLWl0IHRvIG9pZGNfY2hpbGQgdmlhIHN0ZGluLiBvaWRjX2NoaWxkIGRv ZXMgb25seSBleHBlY3QgY2xpZW50IHNlY3JldCBpZgotLS1jbGllbnQtc2VjcmV0LXN0ZGluIG9w dGlvbiB3YXMgc3BlY2lmaWVkIGFuZCB3ZSBhbHJlYWR5IHNwZWNpZnkgaXQKLW9ubHkgaWYgY2xp ZW50IHNlY3JldCBpcyBub3QgZW1wdHkuCi0KLUluIGFkZGl0aW9uLCBpZiBjbGllbnQgc2VjcmV0 IGlzIGVtcHR5IChpdCBpcyBhIHB1YmxpYyBPSURDIGNsaWVudCksCi10aGVuIHN0cmxlbihOVUxM KSB3b3VsZCBjcmFzaCBpbiBnbGliYyBpbnRlcm5hbHMuIEF2b2lkIHRoYXQhCi0KLUZpeGVzOiBo dHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3MzQKLQotU2lnbmVkLW9mZi1ieTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRl bmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGRhZW1vbnMvaXBhLW90cGQvb2F1dGgy LmMgfCAyOSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAx OSBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMv aXBhLW90cGQvb2F1dGgyLmMgYi9kYWVtb25zL2lwYS1vdHBkL29hdXRoMi5jCi1pbmRleCA1MmQ3 ZDdjOWMuLjBlYjQzYjIzNyAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLW90cGQvb2F1dGgyLmMK LSsrKyBiL2RhZW1vbnMvaXBhLW90cGQvb2F1dGgyLmMKLUBAIC0xMDQsMTcgKzEwNCwyNiBAQCBz dGF0aWMgdm9pZCBvYXV0aDJfb25fY2hpbGRfd3JpdGFibGUodmVydG9fY3R4ICp2Y3R4LCB2ZXJ0 b19ldiAqZXYpCi0gICAgIH0KLSAKLSAgICAgaWYgKGNoaWxkX2N0eC0+b2F1dGgyX3N0YXRlID09 IE9BVVRIMl9HRVRfREVWSUNFX0NPREUpIHsKLS0gICAgICAgIGlvID0gd3JpdGUodmVydG9fZ2V0 X2ZkKGV2KSwgY2hpbGRfY3R4LT5pdGVtLT5pZHAuaXBhaWRwQ2xpZW50U2VjcmV0LAotLSAgICAg ICAgICAgICAgICAgICBzdHJsZW4oY2hpbGRfY3R4LT5pdGVtLT5pZHAuaXBhaWRwQ2xpZW50U2Vj cmV0KSk7Ci0rICAgICAgICBpZiAoY2hpbGRfY3R4LT5pdGVtLT5pZHAuaXBhaWRwQ2xpZW50U2Vj cmV0ICE9IE5VTEwpIHsKLSsgICAgICAgICAgICBpbyA9IHdyaXRlKHZlcnRvX2dldF9mZChldiks IGNoaWxkX2N0eC0+aXRlbS0+aWRwLmlwYWlkcENsaWVudFNlY3JldCwKLSsgICAgICAgICAgICAg ICAgICAgICAgIHN0cmxlbihjaGlsZF9jdHgtPml0ZW0tPmlkcC5pcGFpZHBDbGllbnRTZWNyZXQp KTsKLSsgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgaW8gPSAwOwotKyAgICAgICAgfQot ICAgICB9IGVsc2UgewotLSAgICAgICAgaW92WzBdLmlvdl9iYXNlID0gY2hpbGRfY3R4LT5pdGVt LT5pZHAuaXBhaWRwQ2xpZW50U2VjcmV0OwotLSAgICAgICAgaW92WzBdLmlvdl9sZW4gPSBzdHJs ZW4oY2hpbGRfY3R4LT5pdGVtLT5pZHAuaXBhaWRwQ2xpZW50U2VjcmV0KTsKLS0gICAgICAgIGlv dlsxXS5pb3ZfYmFzZSA9ICJcbiI7Ci0tICAgICAgICBpb3ZbMV0uaW92X2xlbiA9IDE7Ci0tICAg ICAgICBpb3ZbMl0uaW92X2Jhc2UgPSBjaGlsZF9jdHgtPnNhdmVkX2l0ZW0tPm9hdXRoMi5kZXZp Y2VfY29kZV9yZXBseTsKLS0gICAgICAgIGlvdlsyXS5pb3ZfbGVuID0gc3RybGVuKGNoaWxkX2N0 eC0+c2F2ZWRfaXRlbS0+b2F1dGgyLmRldmljZV9jb2RlX3JlcGx5KTsKLS0KLS0gICAgICAgIGlv ID0gd3JpdGV2KHZlcnRvX2dldF9mZChldiksIGlvdiwgMyk7Ci0rICAgICAgICBpbnQgaWR4ID0g MDsKLSsgICAgICAgIGlmIChjaGlsZF9jdHgtPml0ZW0tPmlkcC5pcGFpZHBDbGllbnRTZWNyZXQg IT0gTlVMTCkgewotKyAgICAgICAgICAgIGlvdltpZHhdLmlvdl9iYXNlID0gY2hpbGRfY3R4LT5p dGVtLT5pZHAuaXBhaWRwQ2xpZW50U2VjcmV0OwotKyAgICAgICAgICAgIGlvdltpZHhdLmlvdl9s ZW4gPSBzdHJsZW4oY2hpbGRfY3R4LT5pdGVtLT5pZHAuaXBhaWRwQ2xpZW50U2VjcmV0KTsKLSsJ ICAgIGlkeCsrOwotKyAgICAgICAgICAgIGlvdltpZHhdLmlvdl9iYXNlID0gIlxuIjsKLSsgICAg ICAgICAgICBpb3ZbaWR4XS5pb3ZfbGVuID0gMTsKLSsJICAgIGlkeCsrOwotKyAgICAgICAgfQot KyAgICAgICAgaW92W2lkeF0uaW92X2Jhc2UgPSBjaGlsZF9jdHgtPnNhdmVkX2l0ZW0tPm9hdXRo Mi5kZXZpY2VfY29kZV9yZXBseTsKLSsgICAgICAgIGlvdltpZHhdLmlvdl9sZW4gPSBzdHJsZW4o Y2hpbGRfY3R4LT5zYXZlZF9pdGVtLT5vYXV0aDIuZGV2aWNlX2NvZGVfcmVwbHkpOwotKyAgICAg ICAgaWR4Kys7Ci0rICAgICAgICBpbyA9IHdyaXRldih2ZXJ0b19nZXRfZmQoZXYpLCBpb3YsIGlk eCk7Ci0gICAgIH0KLSAgICAgb3RwZF9xdWV1ZV9pdGVtX2ZyZWUoY2hpbGRfY3R4LT5zYXZlZF9p dGVtKTsKLSAKLS0tIAotMi40OS4wCi0KLQotRnJvbSA0MzFhNTgwNDk0OTQxNzI1N2IyMDQxMjVm ZjBhODk4Yjk4ZGQyYTkwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDE3IEphbiAyMDI1IDEy OjMzOjU0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcyLzExNl0gTWlncmF0ZSBLZXljbG9hayB0 ZXN0cyB0byBKREsgMjEgYW5kIEtleWNsb2FrIDI2Ci0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRl ciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJs YW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4g PHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSAuLi4vcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9j cmVhdGVfYnJpZGdlLnB5ICAgfCAgMiArLQotIC4uLi9weXRlc3RfaXBhL2ludGVncmF0aW9uL2Ny ZWF0ZV9rZXljbG9hay5weSB8IDI4ICsrKysrKysrKy0tLS0tLS0tLS0KLSBpcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5ICAgICAgICAgfCAgNCArLS0KLSBpcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3Rfc3NvLnB5ICAgICAgICAgfCAgNCArLS0KLSA0IGZpbGVzIGNoYW5n ZWQsIDE4IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBh dGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jcmVhdGVfYnJpZGdlLnB5IGIvaXBhdGVzdHMv cHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jcmVhdGVfYnJpZGdlLnB5Ci1pbmRleCA2MThjNjQ1ZmUu LjVkZDJmMzA1YyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24v Y3JlYXRlX2JyaWRnZS5weQotKysrIGIvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9j cmVhdGVfYnJpZGdlLnB5Ci1AQCAtMTQ3LDcgKzE0Nyw3IEBAIGRlZiBzZXR1cF9rZXljbG9ha19z Y2ltX3BsdWdpbihob3N0LCBicmlkZ2Vfc2VydmVyKToKLSAgICAgIyBMb2dpbiB0byBrZXljbG9h ayBhcyBhZG1pbgotICAgICBrY2FkbWluX3NoID0gIi9vcHQva2V5Y2xvYWsvYmluL2tjYWRtLnNo IgotICAgICBrY2FkbWluID0gW2tjYWRtaW5fc2gsICJjb25maWciLCAiY3JlZGVudGlhbHMiLCAi LS1zZXJ2ZXIiLAotLSAgICAgICAgICAgICAgIGYiaHR0cHM6Ly97aG9zdC5ob3N0bmFtZX06ODQ0 My9hdXRoLyIsCi0rICAgICAgICAgICAgICAgZiJodHRwczovL3tob3N0Lmhvc3RuYW1lfTo4NDQz IiwKLSAgICAgICAgICAgICAgICAiLS1yZWFsbSIsICJtYXN0ZXIiLCAiLS11c2VyIiwgImFkbWlu IiwKLSAgICAgICAgICAgICAgICAiLS1wYXNzd29yZCIsIHBhc3N3b3JkXQotICAgICB0YXNrcy5y dW5fcmVwZWF0ZWRseShob3N0LCBrY2FkbWluLCB0aW1lb3V0PTYwKQotZGlmZiAtLWdpdCBhL2lw YXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vY3JlYXRlX2tleWNsb2FrLnB5IGIvaXBhdGVz dHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jcmVhdGVfa2V5Y2xvYWsucHkKLWluZGV4IDEzNDBi OTU3MS4uYWRkYWRlNzU5IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3Jh dGlvbi9jcmVhdGVfa2V5Y2xvYWsucHkKLSsrKyBiL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdy YXRpb24vY3JlYXRlX2tleWNsb2FrLnB5Ci1AQCAtNiwxMCArNiwxMCBAQCBmcm9tIGlwYXBsYXRm b3JtLnBhdGhzIGltcG9ydCBwYXRocwotIGZyb20gaXBhdGVzdHMucHl0ZXN0X2lwYS5pbnRlZ3Jh dGlvbiBpbXBvcnQgdGFza3MKLSAKLSAKLS1kZWYgc2V0dXBfa2V5Y2xvYWtzZXJ2ZXIoaG9zdCwg dmVyc2lvbj0nMTcuMC4wJyk6Ci0rZGVmIHNldHVwX2tleWNsb2Frc2VydmVyKGhvc3QsIHZlcnNp b249JzI2LjEuMCcpOgotICAgICBkaXIgPSAiL29wdC9rZXljbG9hayIKLSAgICAgcGFzc3dvcmQg PSBob3N0LmNvbmZpZy5hZG1pbl9wYXNzd29yZAotLSAgICB0YXNrcy5pbnN0YWxsX3BhY2thZ2Vz KGhvc3QsIFsidW56aXAiLCAiamF2YS0xMS1vcGVuamRrLWhlYWRsZXNzIiwKLSsgICAgdGFza3Mu aW5zdGFsbF9wYWNrYWdlcyhob3N0LCBbInVuemlwIiwgImphdmEtMjEtb3Blbmpkay1oZWFkbGVz cyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJvcGVuc3NsIiwgIm1hdmVu IiwgIndnZXQiLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZmlyZWZveCIs ICJ4b3JnLXgxMS1zZXJ2ZXItWHZmYiJdKQotICAgICAjICBhZGQga2V5Y2xvYWsgc3lzdGVtIHVz ZXIvZ3JvdXAgYW5kIGZvbGRlcgotQEAgLTMzLDcgKzMzLDcgQEAgZGVmIHNldHVwX2tleWNsb2Fr c2VydmVyKGhvc3QsIHZlcnNpb249JzE3LjAuMCcpOgotIAotICAgICBrZXkgPSBvcy5wYXRoLmpv aW4ocGF0aHMuT1BFTlNTTF9QUklWQVRFX0RJUiwgImtleWNsb2FrLmtleSIpCi0gICAgIGNydCA9 IG9zLnBhdGguam9pbihwYXRocy5PUEVOU1NMX1BSSVZBVEVfRElSLCAia2V5Y2xvYWsuY3J0IikK LS0gICAga2V5c3RvcmUgPSBvcy5wYXRoLmpvaW4ocGF0aHMuT1BFTlNTTF9QUklWQVRFX0RJUiwg ImtleWNsb2FrLnN0b3JlIikKLSsgICAga2V5c3RvcmUgPSBvcy5wYXRoLmpvaW4ocGF0aHMuT1BF TlNTTF9QUklWQVRFX0RJUiwgImtleWNsb2FrLmprcyIpCi0gCi0gICAgIGhvc3QucnVuX2NvbW1h bmQoWyJpcGEtZ2V0Y2VydCIsICJyZXF1ZXN0IiwgIi1LIiwKLSAgICAgICAgICAgICAgICAgICAg ICAgIkhUVFAvezB9Ii5mb3JtYXQoaG9zdC5ob3N0bmFtZSksCi1AQCAtNDksMTQgKzQ5LDEzIEBA IGRlZiBzZXR1cF9rZXljbG9ha3NlcnZlcihob3N0LCB2ZXJzaW9uPScxNy4wLjAnKToKLSAKLSAg ICAgIyBTZXR1cCBrZXljbG9hayBzZXJ2aWNlIGFuZCBjb25maWcgZmlsZXMKLSAgICAgY29udGVu dHMgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0tICAgIEtFWUNMT0FLX0FETUlOPWFkbWluCi0tICAg IEtFWUNMT0FLX0FETUlOX1BBU1NXT1JEPXthZG1pbl9wc3dkfQotLSAgICBLQ19IT1NUTkFNRT17 aG9zdH06ODQ0MwotKyAgICBLQ19CT09UU1RSQVBfQURNSU5fVVNFUk5BTUU9YWRtaW4KLSsgICAg S0NfQk9PVFNUUkFQX0FETUlOX1BBU1NXT1JEPXthZG1pbl9wc3dkfQotKyAgICBLQ19IT1NUTkFN RT1odHRwczovL3tob3N0fTo4NDQzLwotICAgICBLQ19IVFRQU19DRVJUSUZJQ0FURV9GSUxFPXtj cnR9Ci0gICAgIEtDX0hUVFBTX0NFUlRJRklDQVRFX0tFWV9GSUxFPXtrZXl9Ci0gICAgIEtDX0hU VFBTX1RSVVNUX1NUT1JFX0ZJTEU9e3N0b3JlfQotICAgICBLQ19IVFRQU19UUlVTVF9TVE9SRV9Q QVNTV09SRD17c3RvcmVfcHN3ZH0KLS0gICAgS0NfSFRUUF9SRUxBVElWRV9QQVRIPS9hdXRoCi0g ICAgICIiIikuZm9ybWF0KGFkbWluX3Bzd2Q9cGFzc3dvcmQsIGhvc3Q9aG9zdC5ob3N0bmFtZSwg Y3J0PWNydCwga2V5PWtleSwKLSAgICAgICAgICAgICAgICAgc3RvcmU9a2V5c3RvcmUsIHN0b3Jl X3Bzd2Q9cGFzc3dvcmQpCi0gICAgIGhvc3QucHV0X2ZpbGVfY29udGVudHMoIi9ldGMvc3lzY29u ZmlnL2tleWNsb2FrIiwgY29udGVudHMpCi1AQCAtODQsMTQgKzgzLDEzIEBAIGRlZiBzZXR1cF9r ZXljbG9ha3NlcnZlcihob3N0LCB2ZXJzaW9uPScxNy4wLjAnKToKLSAKLSAgICAgIyBSdW4gYnVp bGQgc3RhZ2UgZmlyc3QKLSAgICAgZW52X3ZhcnMgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0tICAg IGV4cG9ydCBLRVlDTE9BS19BRE1JTj1hZG1pbgotLSAgICBleHBvcnQgS0NfSE9TVE5BTUU9e2hv c3RuYW1lfTo4NDQzCi0rICAgIGV4cG9ydCBLQ19CT09UU1RSQVBfQURNSU5fVVNFUk5BTUU9YWRt aW4KLSsgICAgZXhwb3J0IEtDX0hPU1ROQU1FPWh0dHBzOi8ve2hvc3RuYW1lfTo4NDQzLwotICAg ICBleHBvcnQgS0NfSFRUUFNfQ0VSVElGSUNBVEVfRklMRT0vZXRjL3BraS90bHMvY2VydHMva2V5 Y2xvYWsuY3J0Ci0gICAgIGV4cG9ydCBLQ19IVFRQU19DRVJUSUZJQ0FURV9LRVlfRklMRT0vZXRj L3BraS90bHMvcHJpdmF0ZS9rZXljbG9hay5rZXkKLS0gICAgZXhwb3J0IEtDX0hUVFBTX1RSVVNU X1NUT1JFX0ZJTEU9L2V0Yy9wa2kvdGxzL3ByaXZhdGUva2V5Y2xvYWsuc3RvcmUKLSsgICAgZXhw b3J0IEtDX0hUVFBTX1RSVVNUX1NUT1JFX0ZJTEU9L2V0Yy9wa2kvdGxzL3ByaXZhdGUva2V5Y2xv YWsuamtzCi0gICAgIGV4cG9ydCBLQ19IVFRQU19UUlVTVF9TVE9SRV9QQVNTV09SRD17U1RPUkVf UEFTU30KLS0gICAgZXhwb3J0IEtFWUNMT0FLX0FETUlOX1BBU1NXT1JEPXtBRE1JTl9QQVNTfQot LSAgICBleHBvcnQgS0NfSFRUUF9SRUxBVElWRV9QQVRIPS9hdXRoCi0rICAgIGV4cG9ydCBLQ19C T09UU1RSQVBfQURNSU5fUEFTU1dPUkQ9e0FETUlOX1BBU1N9Ci0gICAgICIiIikuZm9ybWF0KGhv c3RuYW1lPWhvc3QuaG9zdG5hbWUsIFNUT1JFX1BBU1M9cGFzc3dvcmQsCi0gICAgICAgICAgICAg ICAgIEFETUlOX1BBU1M9cGFzc3dvcmQpCi0gCi1AQCAtMTEyLDcgKzExMCw3IEBAIGRlZiBzZXR1 cF9rZXljbG9ha3NlcnZlcihob3N0LCB2ZXJzaW9uPScxNy4wLjAnKToKLSAgICAgaG9zdC5ydW5f Y29tbWFuZChba2NhZG1pbl9zaCwgImNvbmZpZyIsICJ0cnVzdHN0b3JlIiwKLSAgICAgICAgICAg ICAgICAgICAgICAgIi0tdHJ1c3RwYXNzIiwgcGFzc3dvcmQsIGtleXN0b3JlXSkKLSAgICAga2Nh ZG1pbiA9IFtrY2FkbWluX3NoLCAiY29uZmlnIiwgImNyZWRlbnRpYWxzIiwgIi0tc2VydmVyIiwK LS0gICAgICAgICAgICAgICAiaHR0cHM6Ly97MH06ODQ0My9hdXRoLyIuZm9ybWF0KGhvc3QuaG9z dG5hbWUpLAotKyAgICAgICAgICAgICAgICJodHRwczovL3swfTo4NDQzLyIuZm9ybWF0KGhvc3Qu aG9zdG5hbWUpLAotICAgICAgICAgICAgICAgICItLXJlYWxtIiwgIm1hc3RlciIsICItLXVzZXIi LCAiYWRtaW4iLAotICAgICAgICAgICAgICAgICItLXBhc3N3b3JkIiwgcGFzc3dvcmQKLSAgICAg ICAgICAgICAgICBdCi1AQCAtMTMzLDcgKzEzMSw3IEBAIGRlZiBzZXR1cF9rZXljbG9ha19jbGll bnQoaG9zdCk6Ci0gICAgIHBhc3N3b3JkID0gaG9zdC5jb25maWcuYWRtaW5fcGFzc3dvcmQKLSAg ICAgaG9zdC5ydW5fY29tbWFuZChbIi9vcHQva2V5Y2xvYWsvYmluL2tjcmVnLnNoIiwKLSAgICAg ICAgICAgICAgICAgICAgICAgImNvbmZpZyIsICJjcmVkZW50aWFscyIsICItLXNlcnZlciIsCi0t ICAgICAgICAgICAgICAgICAgICAgICJodHRwczovL3swfTo4NDQzL2F1dGgvIi5mb3JtYXQoaG9z dC5ob3N0bmFtZSksCi0rICAgICAgICAgICAgICAgICAgICAgICJodHRwczovL3swfTo4NDQzLyIu Zm9ybWF0KGhvc3QuaG9zdG5hbWUpLAotICAgICAgICAgICAgICAgICAgICAgICAiLS1yZWFsbSIs ICJtYXN0ZXIiLCAiLS11c2VyIiwgImFkbWluIiwKLSAgICAgICAgICAgICAgICAgICAgICAgIi0t cGFzc3dvcmQiLCBwYXNzd29yZF0KLSAgICAgICAgICAgICAgICAgICAgICApCi1AQCAtMTYzLDcg KzE2MSw3IEBAIGRlZiBzZXR1cF9rZXljbG9ha19jbGllbnQoaG9zdCk6Ci0gZGVmIHVuaW5zdGFs bF9rZXljbG9hayhob3N0KToKLSAgICAga2V5ID0gb3MucGF0aC5qb2luKHBhdGhzLk9QRU5TU0xf UFJJVkFURV9ESVIsICJrZXljbG9hay5rZXkiKQotICAgICBjcnQgPSBvcy5wYXRoLmpvaW4ocGF0 aHMuT1BFTlNTTF9QUklWQVRFX0RJUiwgImtleWNsb2FrLmNydCIpCi0tICAgIGtleXN0b3JlID0g b3MucGF0aC5qb2luKHBhdGhzLk9QRU5TU0xfUFJJVkFURV9ESVIsICJrZXljbG9hay5zdG9yZSIp Ci0rICAgIGtleXN0b3JlID0gb3MucGF0aC5qb2luKHBhdGhzLk9QRU5TU0xfUFJJVkFURV9ESVIs ICJrZXljbG9hay5qa3MiKQotIAotICAgICBob3N0LnJ1bl9jb21tYW5kKFsic3lzdGVtY3RsIiwg InN0b3AiLCAia2V5Y2xvYWsiXSwgcmFpc2VvbmVycj1GYWxzZSkKLSAgICAgaG9zdC5ydW5fY29t bWFuZChbImdldGNlcnQiLCAic3RvcC10cmFja2luZyIsICItayIsIGtleSwgIi1mIiwgY3J0XSwK LWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5IGIvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lkcC5weQotaW5kZXggY2EyZmNlY2IyLi43NmVk Yzk0NTggMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5 Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5Ci1AQCAtMTIyLDcg KzEyMiw3IEBAIGNsYXNzIFRlc3RJRFBLZXljbG9hayhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAg ICAgdGFza3Mua2luaXRfYWRtaW4oc2VsZi5tYXN0ZXIpCi0gICAgICAgICBjbWQgPSBbImlwYSIs ICJpZHAtYWRkIiwgImtleWNsb2FraWRwIiwgIi0tcHJvdmlkZXI9a2V5Y2xvYWsiLAotICAgICAg ICAgICAgICAgICItLWNsaWVudC1pZD1pcGFfb2lkY19jbGllbnQiLCAiLS1vcmc9bWFzdGVyIiwK LS0gICAgICAgICAgICAgICAiLS1iYXNlLXVybD17MH06ODQ0My9hdXRoIi5mb3JtYXQoc2VsZi5j bGllbnQuaG9zdG5hbWUpXQotKyAgICAgICAgICAgICAgICItLWJhc2UtdXJsPXswfTo4NDQzIi5m b3JtYXQoc2VsZi5jbGllbnQuaG9zdG5hbWUpXQotICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2Nv bW1hbmQoY21kLCBzdGRpbl90ZXh0PSJ7MH1cbnswfSIuZm9ybWF0KAotICAgICAgICAgICAgIHNl bGYuY2xpZW50LmNvbmZpZy5hZG1pbl9wYXNzd29yZCkpCi0gICAgICAgICB0YXNrcy51c2VyX2Fk ZChzZWxmLm1hc3RlciwgJ2tleWNsb2FrdXNlcicsCi1AQCAtMjgyLDcgKzI4Miw3IEBAIGNsYXNz IFRlc3RJRFBLZXljbG9hayhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgdXNlciA9ICJiYWNr dXB1c2VyIgotICAgICAgICAgY21kID0gWyJpcGEiLCAiaWRwLWFkZCIsICJ0ZXN0aWRwIiwgIi0t cHJvdmlkZXI9a2V5Y2xvYWsiLAotICAgICAgICAgICAgICAgICItLWNsaWVudC1pZD1pcGFfb2lk Y19jbGllbnQiLCAiLS1vcmc9bWFzdGVyIiwKLS0gICAgICAgICAgICAgICAiLS1iYXNlLXVybD17 MH06ODQ0My9hdXRoIi5mb3JtYXQoc2VsZi5jbGllbnQuaG9zdG5hbWUpXQotKyAgICAgICAgICAg ICAgICItLWJhc2UtdXJsPXswfTo4NDQzIi5mb3JtYXQoc2VsZi5jbGllbnQuaG9zdG5hbWUpXQot ICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoY21kLCBzdGRpbl90ZXh0PSJ7MH1cbnsw fSIuZm9ybWF0KAotICAgICAgICAgICAgIHNlbGYuY2xpZW50LmNvbmZpZy5hZG1pbl9wYXNzd29y ZCkpCi0gCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3Nzby5w eSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9zc28ucHkKLWluZGV4IDk3MDhlOWZh MC4uNTdjNWE5NmJhIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X3Nzby5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3Nzby5weQotQEAg LTE4LDcgKzE4LDcgQEAgZnJvbSBzZWxlbml1bS53ZWJkcml2ZXIuc3VwcG9ydCBpbXBvcnQgZXhw ZWN0ZWRfY29uZGl0aW9ucyBhcyBFQwotIG9wdGlvbnMgPSBPcHRpb25zKCkKLSBvcHRpb25zLmhl YWRsZXNzID0gVHJ1ZQotIGRyaXZlciA9IHdlYmRyaXZlci5GaXJlZm94KGV4ZWN1dGFibGVfcGF0 aD0iL29wdC9nZWNrb2RyaXZlciIsIG9wdGlvbnM9b3B0aW9ucykKLS12ZXJpZmljYXRpb25fdXJp ID0gImh0dHBzOi8ve2hvc3RuYW1lfTo4NDQzL2F1dGgvcmVhbG1zL21hc3Rlci9hY2NvdW50LyMv IgotK3ZlcmlmaWNhdGlvbl91cmkgPSAiaHR0cHM6Ly97aG9zdG5hbWV9Ojg0NDMvcmVhbG1zL21h c3Rlci9hY2NvdW50LyMvIgotIGRyaXZlci5nZXQodmVyaWZpY2F0aW9uX3VyaSkKLSAKLSB0cnk6 Ci1AQCAtNjAsNyArNjAsNyBAQCBkZWYga2V5Y2xvYWtfYWRkX3VzZXIoaG9zdCwga2NhZG1fcGFz cywgdXNlcm5hbWUsIHBhc3N3b3JkPU5vbmUpOgotICAgICBkb21haW4gPSBob3N0LmRvbWFpbi5u YW1lCi0gICAgIGtjYWRtaW5fc2ggPSAiL29wdC9rZXljbG9hay9iaW4va2NhZG0uc2giCi0gICAg IGtjYWRtaW4gPSBba2NhZG1pbl9zaCwgImNvbmZpZyIsICJjcmVkZW50aWFscyIsICItLXNlcnZl ciIsCi0tICAgICAgICAgICAgICAgZiJodHRwczovL3tob3N0Lmhvc3RuYW1lfTo4NDQzL2F1dGgv IiwKLSsgICAgICAgICAgICAgICBmImh0dHBzOi8ve2hvc3QuaG9zdG5hbWV9Ojg0NDMiLAotICAg ICAgICAgICAgICAgICItLXJlYWxtIiwgIm1hc3RlciIsICItLXVzZXIiLCAiYWRtaW4iLAotICAg ICAgICAgICAgICAgICItLXBhc3N3b3JkIiwga2NhZG1fcGFzc10KLSAKLS0tIAotMi40OS4wCi0K LQotRnJvbSA0ZWE3ODQwNGE0MjAyNDU2YjMzZWU1ODcyM2I1OTBmNWI2ZjJmNWFhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+Ci1EYXRlOiBUdWUsIDIxIEphbiAyMDI1IDE0OjMwOjExICswMjAwCi1TdWJqZWN0OiBb UEFUQ0ggMDczLzExNl0gUmVpbnRyb2R1Y2UgdGVzdF9pZHAgdG8gZ2F0aW5nIHRlc3RzCi0KLXRl c3RfaWRwIHNob3VsZCBjb21wbGV0ZSBpbiB+MjcgbWludXRlcy4KLQotUmVsYXRlZDogaHR0cHM6 Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzM0Ci0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRl ciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFu Yy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxy Y3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9nYXRp bmcueWFtbCB8IDE2ICsrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMTYgaW5zZXJ0 aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9nYXRpbmcu eWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwKLWluZGV4IDQxNmE5 OWNjOC4uZjE3YWY3OTZjIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9n YXRpbmcueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9nYXRpbmcueWFtbAot QEAgLTExLDYgKzExLDEwIEBAIHRvcG9sb2dpZXM6Ci0gICAgIG5hbWU6IG1hc3Rlcl8xcmVwbF8x Y2xpZW50Ci0gICAgIGNwdTogNAotICAgICBtZW1vcnk6IDgwMDAKLSsgIG1hc3Rlcl8ycmVwbF8x Y2xpZW50OiAmbWFzdGVyXzJyZXBsXzFjbGllbnQKLSsgICAgbmFtZTogbWFzdGVyXzJyZXBsXzFj bGllbnQKLSsgICAgY3B1OiA1Ci0rICAgIG1lbW9yeTogMTA3NTAKLSAgIGFkX21hc3Rlcl8yY2xp ZW50OiAmYWRfbWFzdGVyXzJjbGllbnQKLSAgICAgbmFtZTogYWRfbWFzdGVyXzJjbGllbnQKLSAg ICAgY3B1OiA0Ci1AQCAtMzM0LDMgKzMzOCwxNSBAQCBqb2JzOgotICAgICAgICAgdGVtcGxhdGU6 ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSAgICAgICAgIHRpbWVvdXQ6IDYwMAotICAgICAgICAgdG9w b2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSsKLSsgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9l eHRlcm5hbF9pZHA6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWls ZF0KLSsgICAgcHJpb3JpdHk6IDEwMAotKyAgICBqb2I6Ci0rICAgICAgY2xhc3M6IFJ1blB5dGVz dAotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6ICd7ZmVkb3JhLWxhdGVzdC1pcGEt NC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgdGVzdF9zdWl0ZTogdGVzdF9pbnRlZ3JhdGlvbi90 ZXN0X2lkcC5weQotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAg ICAgIHRpbWVvdXQ6IDM2MDAKLSsgICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzJyZXBsXzFjbGll bnQKLS0tIAotMi40OS4wCi0KLQotRnJvbSA5ZjMwZWRlZjQ2MzIzN2JhNDhlZmU0NTQwNjYyNmVi MzI1YmY2YzM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4g PHJjcml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIyIEphbiAyMDI1IDEzOjE5OjQzIC0w NTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDc0LzExNl0gQXBwbHkgY2VydG1vbmdlcl90aW1lb3V0IHRv IHN0YXJ0X3RyYWNraW5nIGFuZAotIHJlcXVlc3RfY2VydAotCi1XZSd2ZSBzZWVuIHRoYXQgd2l0 aCBzb21lIHNsb3cgSFNNcyB0aGUgZGVmYXVsdCBEQnVzIHRpbWVvdXQKLXRoZSBIU00gZG9lc24n dCByZXNwb25kIHF1aWNrbHkgZW5vdWdoIHRvIGNlcnRtb25nZXIgc3RhcnQKLXRyYWNraW5nIHJl cXVlc3RzIHdoaWNoIGZhaWxzIHRoZSBlbnRpcmUgaW5zdGFsbGF0aW9uLgotCi1BIGZpcnN0IGF0 dGVtcHQgd2FzIG1hZGUgdG8gYnVtcCB1cCB0aGUgZGVmYXVsdCB0byAzMCBzZWNvbmRzCi13aGlj aCB0dXJuZWQgb3V0IHRvIG5vdCBiZSBsb25nIGVub3VnaC4KLQotVGhlcmUgaXMgYWxyZWFkeSBh IGNlcnRtb25nZXIgdGltZW91dCBkZWZpbmVkIGluIHRoZSBBUEkgYnV0IGl0Ci1pcyAzMDAgc2Vj b25kcyBzbyBJIHdhcyBoZXNpdGFudCB0byB1c2UgaXQuIEl0IGNvdWxkIGRlbGF5IHRoZQotYWN0 dWFsIGZhaWx1cmUgb2YgYSBibG93biBpbnN0YWxsIGJ5IDUgbWludXRlcy4gQnV0IGl0IGFsc28g Z2l2ZXMKLXRoZSBlbmQgdXNlciB0aGUgZmxleGliaWxpdHkgdG8gYmUgYWJsZSB0byBjb250cm9s IHN1Y2Nlc3Mgb3ZlcgotYW4gaW5zdGFsbGF0aW9uIHNvIHdlJ2xsIGdvIGFoZWFkIGFuZCB1c2Ug aXQuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3MjUKLQotU2ln bmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogTW9oYW1tYWQgUml6d2FuIFl1c3VmIDxteXVzdWZAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5 OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gY2xpZW50L21h bi9kZWZhdWx0LmNvbmYuNSAgICAgICAgICAgfCAxMCArKysrKysrKy0tCi0gaXBhbGliL2luc3Rh bGwvY2VydG1vbmdlci5weSAgICAgICAgfCAgNyArKysrKy0tCi0gaXBhc2VydmVyL2luc3RhbGwv Y2FpbnN0YW5jZS5weSAgICAgfCAgNSArKysrLQotIGlwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2lu c3RhbmNlLnB5IHwgMTggKysrKysrKysrKysrKysrKysrCi0gaXBhc2VydmVyL2luc3RhbGwvc2Vy dmljZS5weSAgICAgICAgfCAgNCArKystCi0gNSBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25z KCspLCA2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50L21hbi9kZWZhdWx0LmNv bmYuNSBiL2NsaWVudC9tYW4vZGVmYXVsdC5jb25mLjUKLWluZGV4IDM4NDZkZTUwYy4uZTBhZWMy MWY3IDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9kZWZhdWx0LmNvbmYuNQotKysrIGIvY2xpZW50 L21hbi9kZWZhdWx0LmNvbmYuNQotQEAgLTIwLDcgKzIwLDcgQEAKLSAuU0ggIk5BTUUiCi0gZGVm YXVsdC5jb25mIFwtIElQQSBjb25maWd1cmF0aW9uIGZpbGUKLSAuU0ggIlNZTk9QU0lTIgotLS9l dGMvaXBhL2RlZmF1bHQuY29uZiwgfi8uaXBhL2RlZmF1bHQuY29uZiwgL2V0Yy9pcGEvc2VydmVy LmNvbmYsIC9ldGMvaXBhL2NsaS5jb25mCi0rL2V0Yy9pcGEvZGVmYXVsdC5jb25mLCB+Ly5pcGEv ZGVmYXVsdC5jb25mLCAvZXRjL2lwYS9zZXJ2ZXIuY29uZiwgL2V0Yy9pcGEvY2xpLmNvbmYsIC9l dGMvaXBhL2luc3RhbGxlci5jb25mLCAvZXRjL2lwYS9jbGlfaW5zdGFsbGVyLmNvbmYKLSAuU0gg IkRFU0NSSVBUSU9OIgotIFRoZSBcZklkZWZhdWx0LmNvbmYgXGZSY29uZmlndXJhdGlvbiBmaWxl IGlzIHVzZWQgdG8gc2V0IHN5c3RlbVwtd2lkZSBkZWZhdWx0cyB0byBiZSBhcHBsaWVkIHdoZW4g cnVubmluZyBJUEEgY2xpZW50cyBhbmQgc2VydmVycy4KLSAKLUBAIC03NSw3ICs3NSw3IEBAIFNw ZWNpZmllcyB0aGUgaG9zdG5hbWUgb2YgdGhlIGRvZ3RhZyBDQSBzZXJ2ZXIuIFRoZSBkZWZhdWx0 IGlzIHRoZSBob3N0bmFtZSBvZiB0Ci0gU3BlY2lmaWVzIHRoZSBpbnNlY3VyZSBDQSBlbmQgdXNl ciBwb3J0LiBUaGUgZGVmYXVsdCBpcyA4MDgwLgotIC5UUAotIC5CIGNlcnRtb25nZXJfd2FpdF90 aW1lb3V0IDxzZWNvbmRzPgotLVRoZSB0aW1lIHRvIHdhaXQgZm9yIGEgY2VydG1vbmdlciByZXF1 ZXN0IHRvIGNvbXBsZXRlIGR1cmluZyBpbnN0YWxsYXRpb24uIFRoZSBkZWZhdWx0IHZhbHVlIGlz IDMwMCBzZWNvbmRzLgotK1RoZSB0aW1lIHRvIHdhaXQgZm9yIGEgY2VydG1vbmdlciByZXF1ZXN0 IHRvIGNvbXBsZXRlIGR1cmluZyBpbnN0YWxsYXRpb24uIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDMw MCBzZWNvbmRzLiBUbyB0dW5lIGNyZWF0ZS9hZGQgdG8gL2V0Yy9pcGEvaW5zdGFsbGVyLmNvbmYu Ci0gLlRQCi0gLkIgY29udGV4dCA8Y29udGV4dD4KLSBTcGVjaWZpZXMgdGhlIGNvbnRleHQgdGhh dCBJUEEgaXMgYmVpbmcgZXhlY3V0ZWQgaW4uIElQQSBtYXkgb3BlcmF0ZSBkaWZmZXJlbnRseSBk ZXBlbmRpbmcgb24gdGhlIGNvbnRleHQuIFRoZSBjdXJyZW50IGRlZmluZWQgY29udGV4dHMgYXJl IGNsaSwgc2VydmVyIGFuZCBkbnMuIEFkZGl0aW9uYWxseSB0aGlzIHZhbHVlIGlzIHVzZWQgdG8g bG9hZCAvZXRjL2lwYS9cZkJjb250ZXh0XGZSLmNvbmYgdG8gcHJvdmlkZSBjb250ZXh0XC1zcGVj aWZpYyBjb25maWd1cmF0aW9uLiBGb3IgZXhhbXBsZSwgaWYgeW91IHdhbnQgdG8gYWx3YXlzIHBl cmZvcm0gY2xpZW50IHJlcXVlc3RzIGluIHZlcmJvc2UgbW9kZSBidXQgZG8gbm90IHdhbnQgdG8g aGF2ZSB2ZXJib3NlIGVuYWJsZWQgb24gdGhlIHNlcnZlciwgYWRkIHRoZSB2ZXJib3NlIG9wdGlv biB0byBcZkkvZXRjL2lwYS9jbGkuY29uZlxmUi4KLUBAIC0yNjMsNiArMjYzLDEyIEBAIHN5c3Rl bVwtd2lkZSBJUEEgY2xpZW50IGNvbmZpZ3VyYXRpb24gZmlsZQotIC5UUAotIC5JIC9ldGMvaXBh L3NlcnZlci5jb25mCi0gc3lzdGVtXC13aWRlIElQQSBzZXJ2ZXIgY29uZmlndXJhdGlvbiBmaWxl Ci0rLlRQCi0rLkkgL2V0Yy9pcGEvaW5zdGFsbGVyLmNvbmYKLStJUEEgY29uZmlndXJhdGlvbiB1 c2VkIHdoaWxlIGluc3RhbGxpbmcgYW4gSVBBIHNlcnZlciBvciByZXBsaWNhCi0rLlRQCi0rLkkg L2V0Yy9pcGEvY2xpX2luc3RhbGxlci5jb25mCi0rSVBBIGNvbmZpZ3VyYXRpb24gdXNlZCB3aGls ZSBpbnN0YWxsaW5nIGFuIElQQSBjbGllbnQKLSAuU0ggIkVYQU1QTEVTIgotIC5UUAotIEFuIGV4 YW1wbGUgb2YgYSBjb250ZXh0LXNwZWNpZmljIGNvbmZpZ3VyYXRpb24gZmlsZSBpcyBcZkIvZXRj L2lwYS9kbnMuY29uZlxmUiB0byBiZSB1c2VkIHRvIGluY3JlYXNlIGRlYnVnIG91dHB1dCBvZiB0 aGUgSVBBIEROU1NFQyBkYWVtb25zLgotZGlmZiAtLWdpdCBhL2lwYWxpYi9pbnN0YWxsL2NlcnRt b25nZXIucHkgYi9pcGFsaWIvaW5zdGFsbC9jZXJ0bW9uZ2VyLnB5Ci1pbmRleCBlZmMxYmE0ZjQu LjY3NWIyYzk2YyAxMDA2NDQKLS0tLSBhL2lwYWxpYi9pbnN0YWxsL2NlcnRtb25nZXIucHkKLSsr KyBiL2lwYWxpYi9pbnN0YWxsL2NlcnRtb25nZXIucHkKLUBAIC00NzcsNyArNDc3LDggQEAgZGVm IHJlcXVlc3RfY2VydCgKLSAgICAgICAgIHJlcXVlc3RfcGFyYW1ldGVyc1snY2VydC1wZXJtcydd ID0gcGVybXNbMF0KLSAgICAgICAgIHJlcXVlc3RfcGFyYW1ldGVyc1sna2V5LXBlcm1zJ10gPSBw ZXJtc1sxXQotIAotLSAgICByZXN1bHQgPSBjbS5vYmpfaWYuYWRkX3JlcXVlc3QocmVxdWVzdF9w YXJhbWV0ZXJzLCB0aW1lb3V0PTMwKQotKyAgICByZXN1bHQgPSBjbS5vYmpfaWYuYWRkX3JlcXVl c3QocmVxdWVzdF9wYXJhbWV0ZXJzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgdGltZW91dD1hcGkuZW52LmNlcnRtb25nZXJfd2FpdF90aW1lb3V0KQotICAgICB0cnk6Ci0g ICAgICAgICBpZiByZXN1bHRbMF06Ci0gICAgICAgICAgICAgcmVxdWVzdCA9IF9jbV9kYnVzX29i amVjdChjbS5idXMsIGNtLCByZXN1bHRbMV0sIERCVVNfQ01fUkVRVUVTVF9JRiwKLUBAIC01ODEs NyArNTgyLDkgQEAgZGVmIHN0YXJ0X3RyYWNraW5nKAotICAgICBpZiBuc3NfdXNlcjoKLSAgICAg ICAgIHBhcmFtc1snbnNzLXVzZXInXSA9IG5zc191c2VyCi0gCi0tICAgIHJlc3VsdCA9IGNtLm9i al9pZi5hZGRfcmVxdWVzdChwYXJhbXMsIHRpbWVvdXQ9MzApCi0rICAgIGxvZ2dlci5kZWJ1Zygi c3RhcnQgdHJhY2tpbmcgJXMiLCBwYXJhbXMpCi0rICAgIHJlc3VsdCA9IGNtLm9ial9pZi5hZGRf cmVxdWVzdChwYXJhbXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1l b3V0PWFwaS5lbnYuY2VydG1vbmdlcl93YWl0X3RpbWVvdXQpCi0gICAgIHRyeToKLSAgICAgICAg IGlmIHJlc3VsdFswXToKLSAgICAgICAgICAgICByZXF1ZXN0ID0gX2NtX2RidXNfb2JqZWN0KGNt LmJ1cywgY20sIHJlc3VsdFsxXSwgREJVU19DTV9SRVFVRVNUX0lGLAotZGlmZiAtLWdpdCBhL2lw YXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3Rh bmNlLnB5Ci1pbmRleCBlMDNhOGM4NjMuLjc2NzE4MDM2ZCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZl ci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFu Y2UucHkKLUBAIC01MTMsNyArNTEzLDEwIEBAIGNsYXNzIENBSW5zdGFuY2UoRG9ndGFnSW5zdGFu Y2UpOgotICAgICAgICAgaWYgcmFfb25seToKLSAgICAgICAgICAgICBydW50aW1lID0gTm9uZQot ICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICBydW50aW1lID0gMTgwCi0rICAgICAgICAgICAg aWYgc2VsZi50b2tlbm5hbWU6Ci0rICAgICAgICAgICAgICAgIHJ1bnRpbWUgPSAiSFNNIGRlcGVu ZGVudCIKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBydW50aW1lID0gMTgw Ci0gCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgc2VsZi5zdGFydF9jcmVhdGlvbihydW50 aW1lPXJ1bnRpbWUpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFu Y2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0YW5jZS5weQotaW5kZXggMzJhNTJk YmVkLi4wMDIwNTNlZDcgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0 YW5jZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFuY2UucHkKLUBAIC01 NzUsNiArNTc1LDI0IEBAIGNsYXNzIERvZ3RhZ0luc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0g ICAgICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICBs b2dnZXIuZXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICAiY2VydG1vbmdlciBmYWlsZWQgdG8g c3RhcnQgdHJhY2tpbmcgY2VydGlmaWNhdGU6ICVzIiwgZSkKLSsgICAgICAgICAgICBleGNlcHQg ZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24gYXMgZToKLSsgICAgICAgICAgICAgICAgaWYg ZS5fZGJ1c19lcnJvcl9uYW1lID09ICJvcmcuZnJlZWRlc2t0b3AuREJ1cy5FcnJvci5Ob1JlcGx5 IjoKLSsgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigKLSsgICAgICAgICAgICAgICAg ICAgICAgICAiVGltZW91dCBlbmNvdW50ZXJlZCBzdGFydGluZyB0cmFja2luZyBvZiAnJXMnLiIK LSsgICAgICAgICAgICAgICAgICAgICAgICAiVGhpcyB0aW1lb3V0IGNhbiBiZSB0dW5lZCB1c2lu ZyAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgImNlcnRtb25nZXJfd2FpdF90aW1lb3V0IGlu IC9ldGMvaXBhL2luc3RhbGxlci5jb25mLiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgbmlj a25hbWUKLSsgICAgICAgICAgICAgICAgICAgICkKLSsgICAgICAgICAgICAgICAgaWYgc2VsZi5o c21fZW5hYmxlZDoKLSsgICAgICAgICAgICAgICAgICAgIGxvZ2dlci5lcnJvcigKLSsgICAgICAg ICAgICAgICAgICAgICAgICAiT24gYW4gaW5pdGlhbCBpbnN0YWxsIGZhaWx1cmUgdGhpcyBtYXkg bGVhdmUgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICJjZXJ0aWZpY2F0ZXMgYW5kIGtleXMg b24gdGhlIEhTTSB0b2tlbi4gVGhlc2UgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICJuZWVk IHRvIGJlIG1hbnVhbGx5IGNsZWFuZWQgcGVyIHlvdXIgSFNNLXNwZWNpZmljICIKLSsgICAgICAg ICAgICAgICAgICAgICAgICAiZG9jdW1lbnRhdGlvbiBiZWZvcmUgaW5zdGFsbGluZyBJUEEgYWdh aW4uIE9uIGEgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICJyZXBsaWNhIGluc3RhbGwgbm8g Y2xlYW4tdXAgc2hvdWxkIGJlIGRvbmUgKGl0IHdpbGwgIgotKyAgICAgICAgICAgICAgICAgICAg ICAgICJkZXN0cm95IHlvdXIgaW5zdGFsbGF0aW9uLiIKLSsgICAgICAgICAgICAgICAgICAgICkK LSsgICAgICAgICAgICAgICAgcmFpc2UKLSAKLSAgICAgZGVmIHN0b3BfdHJhY2tpbmdfY2VydGlm aWNhdGVzKHNlbGYpOgotICAgICAgICAgIiIiCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3Rh bGwvc2VydmljZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZpY2UucHkKLWluZGV4IGNmMGY2 NGFiOS4uNzc1NWE0ZjJmIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmljZS5w eQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmljZS5weQotQEAgLTU5LDYgKzU5LDggQEAg ZGVmIHByaW50X21zZyhtZXNzYWdlLCBvdXRwdXRfZmQ9c3lzLnN0ZG91dCk6Ci0gCi0gZGVmIGZv cm1hdF9zZWNvbmRzKHNlY29uZHMpOgotICAgICAiIiJGb3JtYXQgYSBudW1iZXIgb2Ygc2Vjb25k cyBhcyBhbiBFbmdsaXNoIG1pbnV0ZXMrc2Vjb25kcyBtZXNzYWdlIiIiCi0rICAgIGlmIHR5cGUo c2Vjb25kcykgaXMgbm90IGludDoKLSsgICAgICAgIHJldHVybiBzZWNvbmRzCi0gICAgIHBhcnRz ID0gW10KLSAgICAgbWludXRlcywgc2Vjb25kcyA9IGRpdm1vZChzZWNvbmRzLCA2MCkKLSAgICAg aWYgbWludXRlczoKLUBAIC02NjAsNyArNjYyLDcgQEAgY2xhc3MgU2VydmljZToKLSAgICAgICAg ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgIGVuZF9tZXNzYWdlID0gIkRvbmUg Y29uZmlndXJpbmcgJXMuIiAlIHNlbGYuc2VydmljZV9kZXNjCi0gCi0tICAgICAgICBpZiBydW50 aW1lIGlzIG5vdCBOb25lIGFuZCBydW50aW1lID4gMDoKLSsgICAgICAgIGlmIHJ1bnRpbWUgaXMg bm90IE5vbmUgb3IgKHR5cGUocnVudGltZSkgaXMgaW50IGFuZCBydW50aW1lID4gMCk6Ci0gICAg ICAgICAgICAgc2VsZi5wcmludF9tc2coJyVzLiBFc3RpbWF0ZWQgdGltZTogJXMnICUgKHN0YXJ0 X21lc3NhZ2UsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm9ybWF0X3NlY29uZHMocnVudGltZSkpKQotICAgICAgICAgZWxzZToKLS0tIAot Mi40OS4wCi0KLQotRnJvbSBlMmJlNTU2YzE5YjdlOTE3MTZmMDYyYjRlMGJhNjczMDdjZGNhYTY5 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRnJhbmNpc2NvIFRyaXZpbm8gPGZ0cml2 aW5vQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDI3IEphbiAyMDI1IDEwOjExOjQ5ICswMTAwCi1T dWJqZWN0OiBbUEFUQ0ggMDc1LzExNl0gaXBhdGVzdHM6IGluY3JlYXNlIGRlbGF5cyBmb3IgV2Vi VUkgaG9zdCB0ZXN0Ci0KLVByZXZpb3VzbHksIGl0IHdhaXRlZCAwLjUgc2Vjb25kcyBiZWZvcmUg Y2hlY2tpbmcgaWYgdGhlIHJlY29yZCB3YXMgcHJlc2VudCwKLWJ1dCB0aGlzIGRlbGF5IHdhcyBv ZnRlbiBpbnN1ZmZpY2llbnQsIGNhdXNpbmcgaW50ZXJtaXR0ZW50IGZhaWx1cmVzLgotCi1GaXhl czogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzIxCi1TaWduZWQtb2ZmLWJ5OiBG cmFuY2lzY28gVHJpdmlubyA8ZnRyaXZpbm9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9y ZW5jZSBCbGFuYy1SZW5hdWQgPGZyZW5hdWRAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rl c3Rfd2VidWkvdGVzdF9ob3N0LnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNl cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF93 ZWJ1aS90ZXN0X2hvc3QucHkgYi9pcGF0ZXN0cy90ZXN0X3dlYnVpL3Rlc3RfaG9zdC5weQotaW5k ZXggMjYxOWZkNDYwLi45NGRiZDI5NmEgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X3dlYnVp L3Rlc3RfaG9zdC5weQotKysrIGIvaXBhdGVzdHMvdGVzdF93ZWJ1aS90ZXN0X2hvc3QucHkKLUBA IC03NjYsMTcgKzc2NiwxNyBAQCBjbGFzcyB0ZXN0X2hvc3QoaG9zdF90YXNrcyk6Ci0gICAgICAg ICBzZWxmLmZpbGxfc2VhcmNoX2ZpbHRlcihzZWxmLnBrZXkyKQotICAgICAgICAgYWN0aW9ucyA9 IEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikKLSAgICAgICAgIGFjdGlvbnMuc2VuZF9rZXlzKEtl eXMuRU5URVIpLnBlcmZvcm0oKQotLSAgICAgICAgc2VsZi53YWl0KDAuNSkKLSsgICAgICAgIHNl bGYud2FpdCgxLjUpCi0gICAgICAgICBzZWxmLmFzc2VydF9yZWNvcmQoc2VsZi5wa2V5MikKLSAg ICAgICAgICMgbmVnYXRpdmUgc2VhcmNoIGZpbHRlcgotICAgICAgICAgc2VsZi5maWxsX3NlYXJj aF9maWx0ZXIoc2VsZi5wa2V5MykKLSAgICAgICAgIGFjdGlvbnMgPSBBY3Rpb25DaGFpbnMoc2Vs Zi5kcml2ZXIpCi0gICAgICAgICBhY3Rpb25zLnNlbmRfa2V5cyhLZXlzLkVOVEVSKS5wZXJmb3Jt KCkKLS0gICAgICAgIHNlbGYud2FpdCgwLjUpCi0rICAgICAgICBzZWxmLndhaXQoMS41KQotICAg ICAgICAgc2VsZi5hc3NlcnRfcmVjb3JkKHNlbGYucGtleTQsIG5lZ2F0aXZlPVRydWUpCi0gICAg ICAgICAjIGNsZWFudXAKLSAgICAgICAgIHNlbGYuZmlsbF9zZWFyY2hfZmlsdGVyKCcnKQotICAg ICAgICAgYWN0aW9ucyA9IEFjdGlvbkNoYWlucyhzZWxmLmRyaXZlcikKLSAgICAgICAgIGFjdGlv bnMuc2VuZF9rZXlzKEtleXMuRU5URVIpLnBlcmZvcm0oKQotLSAgICAgICAgc2VsZi53YWl0KDAu NSkKLSsgICAgICAgIHNlbGYud2FpdCgxLjUpCi0gICAgICAgICBzZWxmLmRlbGV0ZV9yZWNvcmQo W3NlbGYucGtleTIsIHNlbGYucGtleTNdKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQwNzBhOWFi YzUwMjlhODFhNmVkYTI1N2YxYzZhZDU5ZTZiOWFlNjAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwg MzAgSmFuIDIwMjUgMDc6NTM6MjMgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwNzYvMTE2XSBXcml0 ZSBvdXQgdGhlIFBLSSBhZG1pbiBjZXJ0aWZpY2F0ZSBhcyBhIFBFTSBmaWxlCi0KLUl0IHdhcyBi ZWluZyB3cml0dGVuIG91dCBpbiBiYXNlLTY0IG9ubHkuIFRoZSBQS0kgdGVhbSBnYXZlCi11cyBh IGhlYWRzLXVwIHRoYXQgdGhhdCBtYXkgbm90IGFsd2F5cyBiZSBzdXBwb3J0ZWQuIFNvIHVzZQot YSBzdGFuZGFyZCBQRU0gZmlsZSBpbnN0ZWFkLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS85NzM1Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3Jp dHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJl bmF1ZEByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwva3JhaW5zdGFuY2UucHkg fCA2ICstLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgNSBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2tyYWluc3RhbmNlLnB5IGIvaXBh c2VydmVyL2luc3RhbGwva3JhaW5zdGFuY2UucHkKLWluZGV4IDg0NTJjODk2YS4uOGQ5NWEyM2Vh IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwva3JhaW5zdGFuY2UucHkKLSsrKyBiL2lw YXNlcnZlci9pbnN0YWxsL2tyYWluc3RhbmNlLnB5Ci1AQCAtMjMsNyArMjMsNiBAQCBpbXBvcnQg bG9nZ2luZwotIGltcG9ydCBvcwotIGltcG9ydCBzaHV0aWwKLSBpbXBvcnQgdGVtcGZpbGUKLS1p bXBvcnQgYmFzZTY0Ci0gCi0gZnJvbSBpcGFsaWIgaW1wb3J0IGFwaQotIGZyb20gaXBhbGliIGlt cG9ydCB4NTA5Ci1AQCAtMjMwLDEwICsyMjksNyBAQCBjbGFzcyBLUkFJbnN0YW5jZShEb2d0YWdJ bnN0YW5jZSk6Ci0gICAgICAgICAgICAgcGFyZW50ZGlyID0gb3MucGF0aC5kaXJuYW1lKHBhdGhz LkFETUlOX0NFUlRfUEFUSCkKLSAgICAgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMocGFy ZW50ZGlyKToKLSAgICAgICAgICAgICAgICAgb3MubWFrZWRpcnMocGFyZW50ZGlyKQotLSAgICAg ICAgICAgIHdpdGggb3BlbihwYXRocy5BRE1JTl9DRVJUX1BBVEgsICJ3YiIpIGFzIGFkbWluX3Bh dGg6Ci0tICAgICAgICAgICAgICAgIGFkbWluX3BhdGgud3JpdGUoCi0tICAgICAgICAgICAgICAg ICAgICBiYXNlNjQuYjY0ZW5jb2RlKGNlcnQucHVibGljX2J5dGVzKHg1MDkuRW5jb2RpbmcuREVS KSkKLS0gICAgICAgICAgICAgICAgKQotKyAgICAgICAgICAgIHg1MDkud3JpdGVfY2VydGlmaWNh dGUoY2VydCwgcGF0aHMuQURNSU5fQ0VSVF9QQVRIKQotIAotICAgICAgICAgIyBHZW5lcmF0ZSBj b25maWd1cmF0aW9uIGZpbGUKLSAgICAgICAgIGNvbmZpZyA9IHNlbGYuX2NyZWF0ZV9zcGF3bl9j b25maWcoY2ZnKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGIwODNmN2Y3NDFmNmMyN2MyYTFlODBh NzJlYzA1MzI4MmUzMmMyM2YgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMzAgSmFuIDIwMjUgMTc6 NTI6MDkgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwNzcvMTE2XSBBZGQgYSBtZXNzYWdlIHdoZXJl IHRoZSBpcGEgc2VydmljZSByZXN0YXJ0ZWQgYXQgZW5kCi0gb2YgaW5zdGFsbAotCi1UaGVyZSBp cyBhIG5vdGljZWFibGUgbmVhciB0aGUgZW5kIG9mIGFuIElQQSBzZXJ2ZXIgaW5zdGFsbGF0aW9u Ci1hZnRlciB0aGUgY2xpZW50IGluc3RhbGxhdGlvbiBpcyBjb21wbGV0ZSBhbmQgYmVmb3JlIHRo ZQotIlNldHVwIGNvbXBsZXRlIiBtZXNzYWdlIGlzIGRpc3BsYXllZC4KLQotQSBmZXcgbWlub3Ig dGhpbmdzIGFyZSBkb25lIGhlcmUgYnV0IHRoZSBiaWcgdGltZSBzaW5rIGlzCi1lbmFibGluZyBp cGEuc2VydmljZSBhbmQgcmVzdGFydGluZyBpdCBiZWNhdXNlIHRoZSBDQSB0YWtlcwotc28gbG9u ZyB0byBzdGFydC4gSW4gbXkgdGVzdGluZyBpdCB3YXMgYmV0d2VlbiA0MCBhbmQgNjAgc2Vjb25k cy4KLQotU28gYWRkIGEgbGl0dGxlIG1lc3NhZ2Ugc28gZm9sa3MgZG9uJ3QgdGhpbmsgdGhlIGNs aWVudCBpbnN0YWxsZXIKLWh1bmcgdXAgYXQgdGhlIGVuZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc0MQotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5h dWQgPGZyZW5hdWRAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9p bnN0YWxsLnB5IHwgNSArKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQot ZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9pbnN0YWxsLnB5IGIvaXBhc2Vy dmVyL2luc3RhbGwvc2VydmVyL2luc3RhbGwucHkKLWluZGV4IDQ3ZGIxMzE0Mi4uYzM5YzgwN2E5 IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL2luc3RhbGwucHkKLSsrKyBi L2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9pbnN0YWxsLnB5Ci1AQCAtMTA3Miw3ICsxMDcyLDEy IEBAIGRlZiBpbnN0YWxsKGluc3RhbGxlcik6Ci0gICAgICMgRXZlcnl0aGluZyBpbnN0YWxsZWQg cHJvcGVybHksIGFjdGl2YXRlIGlwYSBzZXJ2aWNlLgotICAgICBzc3RvcmUuZGVsZXRlX3N0YXRl KCdpbnN0YWxsYXRpb24nLCAnY29tcGxldGUnKQotICAgICBzc3RvcmUuYmFja3VwX3N0YXRlKCdp bnN0YWxsYXRpb24nLCAnY29tcGxldGUnLCBUcnVlKQotKwotKyAgICBzZXJ2aWNlLnByaW50X21z ZygiRW5hYmxpbmcgYW5kIHJlc3RhcnRpbmcgdGhlIElQQSBzZXJ2aWNlIikKLSsgICAgc3RhcnQg PSB0aW1lLnRpbWUoKQotICAgICBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzLmlwYS5lbmFibGUoKQot KyAgICBkdXIgPSB0aW1lLnRpbWUoKSAtIHN0YXJ0Ci0rICAgIGxvZ2dlci5kZWJ1ZygiU2Vydmlj ZSBlbmFibGVtZW50IGR1cmF0aW9uOiAlMC4zZiIsIGR1cikKLSAKLSAgICAgcHJpbnQoIj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKLSAgICAgICAgICAgIj09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g ZDBkZDJlODM5M2Y0YjQ5ZWRjNjdmODAzNmExOWQ4YjJkNGUyODkzOCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1E YXRlOiBGcmksIDMxIEphbiAyMDI1IDEzOjA5OjIyICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDc4 LzExNl0gaXBhdGVzdHM6IG9uIHJoZWwxMCBkbyBub3QgaW5zdGFsbCBmaXJlZm94Ci0KLUZpcmVm b3ggd2lsbCBiZSBpbnN0YWxsZWQgYXMgYSBwcmUtcmVxdWlzaXRlIGFzIGl0IGVpdGhlciBjb21l cwotYXMgYSBmbGF0cGFrIG9yIGEgdGFyIGZpbGUuIFRoZSBmbGF0cGFrIGlzIG5vdCBjb21wYXRp YmxlIHdpdGgKLWdlY2tvZHJpdmVyIGFzIGV4cGxhaW5lZCBpbiBnZWNrb2RyaXZlciByZWxlYXNl IG5vdGVzCi0oaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvZ2Vja29kcml2ZXIvcmVsZWFzZXMv dGFnL3YwLjM1LjApCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8Zmxv QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogTWljaGFsIFBvbG92a2EgPG1wb2xvdmthQHJlZGhhdC5jb20+ Ci0tLS0KLSBpcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2NyZWF0ZV9rZXljbG9hay5w eSB8IDEwICsrKysrKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAzIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlv bi9jcmVhdGVfa2V5Y2xvYWsucHkgYi9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2Ny ZWF0ZV9rZXljbG9hay5weQotaW5kZXggYWRkYWRlNzU5Li43ZjA4NTBjYTcgMTAwNjQ0Ci0tLS0g YS9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2NyZWF0ZV9rZXljbG9hay5weQotKysr IGIvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jcmVhdGVfa2V5Y2xvYWsucHkKLUBA IC05LDkgKzksMTMgQEAgZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmludGVncmF0aW9uIGltcG9y dCB0YXNrcwotIGRlZiBzZXR1cF9rZXljbG9ha3NlcnZlcihob3N0LCB2ZXJzaW9uPScyNi4xLjAn KToKLSAgICAgZGlyID0gIi9vcHQva2V5Y2xvYWsiCi0gICAgIHBhc3N3b3JkID0gaG9zdC5jb25m aWcuYWRtaW5fcGFzc3dvcmQKLS0gICAgdGFza3MuaW5zdGFsbF9wYWNrYWdlcyhob3N0LCBbInVu emlwIiwgImphdmEtMjEtb3Blbmpkay1oZWFkbGVzcyIsCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJvcGVuc3NsIiwgIm1hdmVuIiwgIndnZXQiLAotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiZmlyZWZveCIsICJ4b3JnLXgxMS1zZXJ2ZXItWHZmYiJdKQot KyAgICBwYWNrYWdlcyA9IFsidW56aXAiLCAiamF2YS0yMS1vcGVuamRrLWhlYWRsZXNzIiwgIm9w ZW5zc2wiLCAibWF2ZW4iLCAid2dldCJdCi0rICAgICMgRm9yIFJIRUwgMTAgd2UgZG9uJ3QgaW5z dGFsbCBmaXJlZm94IGFzIGl0IGlzIG5vdCBzaGlwcGVkIGFueSBtb3JlCi0rICAgICMgYXMgYSBy cG0uIFRoZSBpbmZyYSBoYW5kbGVzIHRoZSBpbnN0YWxsYXRpb24gZnJvbSBhIHppcCBmaWxlCi0r ICAgIGlmIG5vdCAodGFza3MuZ2V0X3BsYXRmb3JtKGhvc3QpID09ICJyaGVsIgotKyAgICAgICBh bmQgdGFza3MuZ2V0X3BsYXRmb3JtX3ZlcnNpb24oaG9zdClbMF0gPT0gMTApOgotKyAgICAgICAg cGFja2FnZXMuZXh0ZW5kKFsiZmlyZWZveCIsICJ4b3JnLXgxMS1zZXJ2ZXItWHZmYiJdKQotKyAg ICB0YXNrcy5pbnN0YWxsX3BhY2thZ2VzKGhvc3QsIHBhY2thZ2VzKQotICAgICAjICBhZGQga2V5 Y2xvYWsgc3lzdGVtIHVzZXIvZ3JvdXAgYW5kIGZvbGRlcgotICAgICB1cmwgPSAiaHR0cHM6Ly9n aXRodWIuY29tL2tleWNsb2FrL2tleWNsb2FrL3JlbGVhc2VzL2Rvd25sb2FkL3swfS9rZXljbG9h ay17MH0uemlwIi5mb3JtYXQodmVyc2lvbikgICMgbm9xYTogRTUwMQotICAgICBob3N0LnJ1bl9j b21tYW5kKFsid2dldCIsIHVybCwgIi1PIiwgInswfS17MX0uemlwIi5mb3JtYXQoZGlyLCB2ZXJz aW9uKV0pCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gODI2YmE2N2U0YjMyMzdjY2RhMDgxZmEzZjI4 OGQzNWE1NjRmNDg5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0dGVu ZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAzMCBKYW4gMjAyNSAxNDozODo1 OCAtMDUwMAotU3ViamVjdDogW1BBVENIIDA3OS8xMTZdIFN1cHByZXNzIHNwdXJpb3VzIGZhaWx1 cmUgbWVzc2FnZXMgd2hlbiB1bmluc3RhbGxpbmcKLSBBQ01FCi0KLVdlIGZvcmsgb3V0IHRvIHBr aS1zZXJ2ZXIgdG8gdW5pbnN0YWxsIHRoZSBBQ01FIHNlcnZpY2UgYW5kCi10aGUgcmVzdWx0cyBh cmUgdmVyeSBjb2Fyc2UsIGN1cnJlbnRseSBqdXN0IGEgcGFzcy9mYWlsLiBUaGlzCi1jYW4gbGVh ZCB0byBkaXNwbGF5aW5nIHZlcnkgbG9uZyB0cmFjZWJhY2tzIGFzIGFuIGVycm9yCi1tZXNzYWdl LgotCi1TbyBjaGVjayBmb3IgdGhlIGV4aXN0ZW5jZSBvZiB0aGUgYWNtZSBwYXRoIGFuZCBvbmx5 IGludm9rZQotdGhlIHVuaW5zdGFsbGVyIGlmIGl0IGV4aXN0cy4KLQotRml4ZXM6IGh0dHBzOi8v cGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc0MAotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRl bmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1S ZW5hdWQgPGZyZW5hdWRAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2RvZ3Rh Z2luc3RhbmNlLnB5IHwgMyArKy0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0 YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2luc3RhbmNlLnB5Ci1pbmRleCAwMDIw NTNlZDcuLmQ1Nzk2Yzc1YSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2RvZ3RhZ2lu c3RhbmNlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0YW5jZS5weQotQEAg LTMzNiw2ICszMzYsOCBAQCBjbGFzcyBEb2d0YWdJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgot ICAgICAgICAgaWYgc2VsZi5zdWJzeXN0ZW0gPT0gIkFDTUUiOgotICAgICAgICAgICAgIGlmIHBr aV92ZXJzaW9uIDwgcGtpLnV0aWwuVmVyc2lvbigiMTEuMC4wIik6Ci0gICAgICAgICAgICAgICAg IHJldHVybgotKyAgICAgICAgICAgIGVsaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGguam9p bihwYXRocy5QS0lfVE9NQ0FULCAnYWNtZScpKToKLSsgICAgICAgICAgICAgICAgcmV0dXJuCi0g ICAgICAgICAgICAgZWxpZiAoCi0gICAgICAgICAgICAgICAgIHBraS51dGlsLlZlcnNpb24oIjEx LjAuMCIpIDw9IHBraV92ZXJzaW9uCi0gICAgICAgICAgICAgICAgIDwgcGtpLnV0aWwuVmVyc2lv bigiMTEuNi4wIikKLUBAIC0zNjUsNyArMzY3LDYgQEAgY2xhc3MgRG9ndGFnSW5zdGFuY2Uoc2Vy dmljZS5TZXJ2aWNlKToKLSAKLSAgICAgICAgIHRyeToKLSAgICAgICAgICAgICBpcGF1dGlsLnJ1 bihhcmdzKQotLQotICAgICAgICAgZXhjZXB0IGlwYXV0aWwuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFz IGU6Ci0gICAgICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKCJmYWlsZWQgdG8gdW5pbnN0YWxsICVz IGluc3RhbmNlICVzIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zdWJzeXN0 ZW0sIGUpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gNDdjZTA5ODIyNDllZTdjZTEyYjM4ZWFlNWNl M2VlNmE5YjVkZjUyZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0dGVu ZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogVHVlLCA0IEZlYiAyMDI1IDEyOjU0OjQ4 IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgwLzExNl0gQ29uZmlndXJlIHRoZSBwa2ktdG9tY2F0 ZCBzZXJ2aWNlIHN5c3RlbWQgdGltZW91dAotCi1JUEEgZGVmaW5lcyBhIHN0YXJ0dXAgdGltZW91 dCB0aGF0IGlzIHByaW1hcmlseSB1c2VkCi1kdXJpbmcgaW5zdGFsbGF0aW9uIHRvIGV4dGVuZCBz ZXJ2aWNlIHN0YXJ0LXVwIHRpbWVvdXRzCi1vbiBzbG93ZXIgc3lzdGVtcy4KLQotVGhpcyB0ZW5k cyB0byB3b3JrIG9rIHdoZW4gcnVuaW5nIHBraS1zcGF3biBidXQgY2FuIGZhaWwgd2hlbgotc3lz dGVtZCBpcyBzdGFydGluZyB0aGUgdG9tY2F0IHNlcnZpY2UuCi0KLVVzZSB0aGUgdmFsdWUgb2Yg c3RhcnR1cF90aW1lb3V0IHRvIHNldCBUaW1lb3V0U3RhcnRTZWMgaW4KLXRoZSBwa2ktdG9tY2F0 IHN5c3RlbWQgb3ZlcnJpZGUgZmlsZSBpcGEuY29uZi4gVGhpcyB3aWxsCi1wcmVzZXJ2ZSB0aGUg bmVjZXNzYXJ5IHN0YXJ0dXBfdGltZW91dCBmb3IgYWxsIGZ1dHVyZSByZXN0YXJ0cy4KLQotVGhp cyB3YXMgc2VlbiB3aXRoIGEgdmVyeSBzbG93IEhTTSB3aGVyZSBpbnN0YWxsYXRpb24gd2FzIHN1 Y2Nlc3NmdWwKLShwa2ktc3Bhd24pIGJ1dCBwa2ktdG9tY2F0ZCBzdGFydHVwIHRpbWVkIG91dCBh dCB0aGUgZW5kIG9mIHRoZQotaW5zdGFsbGF0aW9uLgotCi1UbyBpbmNyZWFzZSB0aGUgdmFsdWUg aW4gaW5zdGFsbGF0aW9uIG9uZSBuZWVkcyB0byBjcmVhdGUgdGhlIGZpbGUKLS9ldGMvaXBhL2lu c3RhbGxlci5jb25mIHdpdGggY29udGVudHM6Ci0KLVtnbG9iYWxdCi1zdGFydHVwX3RpbWVvdXQg PSAzMDAgKG9yIHdoYXRldmVyKQotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9p c3N1ZS85NzQzCi0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRo YXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5j b20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3RhbmNlLnB5IHwgNSArKysrKwotIDEgZmls ZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0 YWxsL2NhaW5zdGFuY2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3RhbmNlLnB5Ci1pbmRl eCA3NjcxODAzNmQuLmM4ZWNkZThmMiAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2Nh aW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLUBAIC03 MTMsNyArNzEzLDEyIEBAIGNsYXNzIENBSW5zdGFuY2UoRG9ndGFnSW5zdGFuY2UpOgotICAgICAg ICAgICAgIGYud3JpdGUoJ1tTZXJ2aWNlXVxuJykKLSAgICAgICAgICAgICBmLndyaXRlKCdFbnZp cm9ubWVudD1MQ19BTEw9Qy5VVEYtOFxuJykKLSAgICAgICAgICAgICBmLndyaXRlKCdFeGVjU3Rh cnRQb3N0PXt9XG4nLmZvcm1hdChwYXRocy5JUEFfUEtJX1dBSVRfUlVOTklORykpCi0rICAgICAg ICAgICAgZi53cml0ZSgnVGltZW91dFN0YXJ0U2VjPSVkXG4nICUgYXBpLmVudi5zdGFydHVwX3Rp bWVvdXQpCi0gICAgICAgICB0YXNrcy5zeXN0ZW1kX2RhZW1vbl9yZWxvYWQoKQotKyAgICAgICAg bG9nZ2VyLmluZm8oCi0rICAgICAgICAgICAgIlNldCBzdGFydCB1cCB0aW1lb3V0IG9mIHBraS10 b21jYXRkIHNlcnZpY2UgdG8gJWQgc2Vjb25kcyIsCi0rICAgICAgICAgICAgYXBpLmVudi5zdGFy dHVwX3RpbWVvdXQKLSsgICAgICAgICkKLSAKLSAgICAgZGVmIHNhZmVfYmFja3VwX2NvbmZpZyhz ZWxmKToKLSAgICAgICAgICIiIgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDIyY2JjNWVkNDg4OWQ2 YzY2ZTI5MTZkNWFjZGU1ODJiMTg2OGZiYzkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTAgRmVi IDIwMjUgMTA6NDU6MzkgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwODEvMTE2XSBBbGlnbiBzdGFy dHVwX3RpbWVvdXQgd2l0aCB0aGUgc3lzdGVtZCBkZWZhdWx0IGFuZAotIGRvY3VtZW50IGl0Ci0K LVdlIGhhZCBpdCBzZXQgdG8gMTIwIHNlY29uZHMgd2hpbGUgdGhlIHN5c3RlbWQgZGVmYXVsdCBp cyA5MC4KLVRoZXkgc2hvdWxkIGJlIHRoZSBzYW1lIGJlY2F1c2UgdGhlIGZpcnN0IG9uZSB0aGF0 IHRpbWVzIG91dCAid2lucyIuCi0KLU1vdmUgd2hlcmUgZHVyaW5nIHRoZSBpbnN0YWxsYXRpb24g d2UgY3JlYXRlIHRoZSBzeXN0ZW1kIG92ZXJyaWRlCi1maWxlIHNvIHRoYXQgdGhlIHRpbWVvdXQg d2lsbCBiZSBhcHBsaWVkIGFjcm9zcyBhbGwgc3Vic2VxdWVudAotc2VydmVyIHN0YXJ0cyBkdXJp bmcgYW5kIHBvc3QgaW5zdGFsbGF0aW9uLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJl ZWlwYS9pc3N1ZS85NzQzCi0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRl bkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+Ci0tLS0KLSBjbGllbnQvbWFuL2RlZmF1bHQuY29uZi41ICAgICAgIHwgMiArLQotIGlw YWxpYi9jb25zdGFudHMucHkgICAgICAgICAgICAgfCA1ICsrKy0tCi0gaXBhc2VydmVyL2luc3Rh bGwvY2FpbnN0YW5jZS5weSB8IDMgKystCi0gMyBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlvbnMo KyksIDQgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9jbGllbnQvbWFuL2RlZmF1bHQuY29u Zi41IGIvY2xpZW50L21hbi9kZWZhdWx0LmNvbmYuNQotaW5kZXggZTBhZWMyMWY3Li40NjFjNjAx MzQgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvbWFuL2RlZmF1bHQuY29uZi41Ci0rKysgYi9jbGllbnQv bWFuL2RlZmF1bHQuY29uZi41Ci1AQCAtMTkxLDcgKzE5MSw3IEBAIFNwZWNpZmllcyB0aGUgSVBB IFNlcnZlciBob3N0bmFtZS4KLSBTa2lwIGNsaWVudCB2cy4gc2VydmVyIEFQSSB2ZXJzaW9uIGNo ZWNraW5nLiBDYW4gbGVhZCB0byBlcnJvcnMvc3RyYW5nZSBiZWhhdmlvciB3aGVuIG5ld2VyIGNs aWVudHMgdGFsayB0byBvbGRlciBzZXJ2ZXJzLiBVc2Ugd2l0aCBjYXV0aW9uLgotIC5UUAotIC5C IHN0YXJ0dXBfdGltZW91dCA8dGltZSBpbiBzZWNvbmRzPgotLUNvbnRyb2xzIHRoZSBhbW91bnQg b2YgdGltZSB3YWl0ZWQgd2hlbiBzdGFydGluZyBhIHNlcnZpY2UuIFRoZSBkZWZhdWx0IHZhbHVl IGlzIDEyMCBzZWNvbmRzLgotK0NvbnRyb2xzIHRoZSBhbW91bnQgb2YgdGltZSB3YWl0ZWQgd2hl biBzdGFydGluZyBhIHNlcnZpY2UuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDkwIHNlY29uZHMsIHRo ZSBzYW1lIGFzIHRoZSBkZWZhdWx0IHN5c3RlbWQgc3RhcnR1cCB0aW1lb3V0LiBJZiBjb25maWd1 cmluZyBhIENBIHRoZSBzdGFydHVwX3RpbWVvdXQgdmFsdWUgd2lsbCBiZSBhZGRlZCBhcyBhbiBv dmVycmlkZSBmb3IgVGltZW91dFN0YXJ0U2VjIGluIHN5c3RlbWQuIElmIGluc3RhbGxhdGlvbiB0 aW1lcyBvdXQgd2hlbiBzdGFydGluZyB0aGUgQ0EgY3JlYXRlIC9ldGMvaXBhL2luc3RhbGxlci5j b25mIHdpdGggdGhpcyB2YWx1ZSBzZXQuCi0gLlRQCi0gLkIgc3RhcnR1cF90cmFjZWJhY2sgPGJv b2xlYW4+Ci0gSWYgdGhlIElQQSBzZXJ2ZXIgZmFpbHMgdG8gc3RhcnQgYW5kIHRoaXMgdmFsdWUg aXMgVHJ1ZSB0aGUgc2VydmVyIHdpbGwgYXR0ZW1wdCB0byBnZW5lcmF0ZSBhIHB5dGhvbiB0cmFj ZWJhY2sgdG8gbWFrZSBpZGVudGlmeWluZyB0aGUgdW5kZXJseWluZyBwcm9ibGVtIGVhc2llci4K LWRpZmYgLS1naXQgYS9pcGFsaWIvY29uc3RhbnRzLnB5IGIvaXBhbGliL2NvbnN0YW50cy5weQot aW5kZXggYzkwY2FhMjIxLi4yZTRjOWE4MzMgMTAwNjQ0Ci0tLS0gYS9pcGFsaWIvY29uc3RhbnRz LnB5Ci0rKysgYi9pcGFsaWIvY29uc3RhbnRzLnB5Ci1AQCAtMTg5LDggKzE4OSw5IEBAIERFRkFV TFRfQ09ORklHID0gKAotIAotICAgICAjIFRpbWUgdG8gd2FpdCBmb3IgYSBzZXJ2aWNlIHRvIHN0 YXJ0LCBpbiBzZWNvbmRzLgotICAgICAjIE5vdGUgdGhhdCBzeXN0ZW1kIGhhcyBhIERlZmF1bHRU aW1lb3V0U3RhcnRTZWMgb2YgOTAgc2Vjb25kcy4gSGlnaGVyCi0tICAgICMgdmFsdWVzIGFyZSBu b3QgZWZmZWN0aXZlIHVubGVzcyBzeXN0ZW1kIGlzIHJlY29uZmlndXJlZCwgdG9vLgotLSAgICAo J3N0YXJ0dXBfdGltZW91dCcsIDEyMCksCi0rICAgICMgdmFsdWVzIGFyZSBub3QgZWZmZWN0aXZl IHVubGVzcyBzeXN0ZW1kIGlzIHJlY29uZmlndXJlZCwgdG9vLiBPciB5b3UKLSsgICAgIyBjYW4g dXBkYXRlIHRoZSBzeXN0ZW1kIHNlcnZpY2UgZmlsZSB3aXRoIGl0cyBvd24gVGltZW91dFN0YXJ0 U2VjLgotKyAgICAoJ3N0YXJ0dXBfdGltZW91dCcsIDkwKSwKLSAgICAgIyBIb3cgbG9uZyBodHRw IGNvbm5lY3Rpb24gc2hvdWxkIHdhaXQgZm9yIHJlcGx5IFtzZWNvbmRzXS4KLSAgICAgKCdodHRw X3RpbWVvdXQnLCAzMCksCi0gICAgICMgSG93IGxvbmcgdG8gd2FpdCBmb3IgYW4gZW50cnkgdG8g YXBwZWFyIG9uIGEgcmVwbGljYQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5z dGFuY2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3RhbmNlLnB5Ci1pbmRleCBjOGVjZGU4 ZjIuLjM0NjZjMzA4OCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2Uu cHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLUBAIC00NTMsNiArNDUz LDcgQEAgY2xhc3MgQ0FJbnN0YW5jZShEb2d0YWdJbnN0YW5jZSk6Ci0gICAgICAgICAgICAgaWYg cHJvbW90ZToKLSAgICAgICAgICAgICAgICAgc2VsZi5zdGVwKCJkZXN0cm95aW5nIGluc3RhbGxh dGlvbiBhZG1pbiB1c2VyIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVhcmRv d25fYWRtaW4pCi0rICAgICAgICAgICAgc2VsZi5zdGVwKCJ1cGRhdGluZyBJUEEgY29uZmlndXJh dGlvbiIsIHVwZGF0ZV9pcGFfY29uZikKLSAgICAgICAgICAgICAjIE1hdGVyaWFsaXplIGNvbmZp ZyBjaGFuZ2VzIGFuZCBuZXcgQUNMcwotICAgICAgICAgICAgIHNlbGYuc3RlcCgic3RhcnRpbmcg Y2VydGlmaWNhdGUgc2VydmVyIGluc3RhbmNlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zdGFydF9pbnN0YW5jZSkKLUBAIC00ODAsNyArNDgxLDYgQEAgY2xhc3MgQ0FJbnN0YW5jZShE b2d0YWdJbnN0YW5jZSk6Ci0gICAgICAgICAgICAgICAgIHNlbGYuc3RlcCgiY29uZmlndXJlIGNl cnRpZmljYXRlIHJlbmV3YWxzIiwgc2VsZi5jb25maWd1cmVfcmVuZXdhbCkKLSAgICAgICAgICAg ICAgICAgc2VsZi5zdGVwKCJDb25maWd1cmUgSFRUUCB0byBwcm94eSBjb25uZWN0aW9ucyIsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmh0dHBfcHJveHkpCi0tICAgICAgICAgICAg ICAgIHNlbGYuc3RlcCgidXBkYXRpbmcgSVBBIGNvbmZpZ3VyYXRpb24iLCB1cGRhdGVfaXBhX2Nv bmYpCi0gICAgICAgICAgICAgICAgIHNlbGYuc3RlcCgiZW5hYmxpbmcgQ0EgaW5zdGFuY2UiLCBz ZWxmLl9fZW5hYmxlX2luc3RhbmNlKQotICAgICAgICAgICAgICAgICBpZiBub3QgcHJvbW90ZToK LSAgICAgICAgICAgICAgICAgICAgIGlmIHNlbGYuY2xvbmU6Ci1AQCAtMjQ1Myw2ICsyNDUzLDcg QEAgZGVmIHVwZGF0ZV9pcGFfY29uZihjYV9ob3N0PU5vbmUpOgotICAgICBwYXJzZXIuc2V0KCdn bG9iYWwnLCAnZW5hYmxlX3JhJywgJ1RydWUnKQotICAgICBwYXJzZXIuc2V0KCdnbG9iYWwnLCAn cmFfcGx1Z2luJywgJ2RvZ3RhZycpCi0gICAgIHBhcnNlci5zZXQoJ2dsb2JhbCcsICdkb2d0YWdf dmVyc2lvbicsICcxMCcpCi0rICAgIHBhcnNlci5zZXQoJ2dsb2JhbCcsICdzdGFydHVwX3RpbWVv dXQnLCBhcGkuZW52LnN0YXJ0dXBfdGltZW91dCkKLSAgICAgaWYgY2FfaG9zdCBpcyBOb25lOgot ICAgICAgICAgcGFyc2VyLnJlbW92ZV9vcHRpb24oJ2dsb2JhbCcsICdjYV9ob3N0JykKLSAgICAg ZWxzZToKLS0tIAotMi40OS4wCi0KLQotRnJvbSA0NmVmNDNiMmE2ODEzOWM5OTE4ODM2MzMxMzdj MDA2MWYyMDIyMmE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25pbyBUb3Jy ZXMgPGFudG9ycmVzQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDI5IEFwciAyMDI0IDExOjM2OjUy ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgyLzExNl0gQWRkIEROUyBvdmVyIFRMUyBzdXBwb3J0 Ci0KLUFkZCBETlMgb3ZlciBUTFMgc3VwcG9ydCB1c2luZyBVbmJvdW5kIGFzIGEgbG9jYWwgcmVz b2x2ZXIuIFRoaXMKLWluY2x1ZGVzIG5ldyBvcHRpb25zIG9uIGJvdGggc2VydmVyIGFuZCBjbGll bnQgc2lkZS4KLQotKiBgLS1kbnMtb3Zlci10bHNgOiBlbmFibGUgRE5TIG92ZXIgVExTIHN1cHBv cnQuIFRoaXMgb3B0aW9uIGlzIHByZXNlbnQKLSAgb24gYm90aCBjbGllbnQgYW5kIHNlcnZlci4g SXQgZGVwbG95cyBVbmJvdW5kIGFuZCBjb25maWd1cmVzIEJJTkQgb24KLXRoZSBzZXJ2ZXIgdG8g cmVjZWl2ZSBEb1QgcmVxdWVzdHMuCi0qIGAtLWRvdC1mb3J3YXJkZXJgOiB0aGUgdXBzdHJlYW0g RE5TIHNlcnZlciB3aXRoIERvVCBzdXBwb3J0LiBJdCBtdXN0Ci0gIGJlIHNwZWNpZmllZCBpbiB0 aGUgZm9ybWF0IGAxLjIuMy40I2Rucy5zZXJ2ZXIudGVzdGAKLSogYC0tZG5zLW92ZXItdGxzLWtl eWAgYW5kIGAtLWRucy1vdmVyLXRscy1jZXJ0YDogaW4gY2FzZSB1c2VyIHByZWZlcnMKLSAgdG8g aGF2ZSB0aGUgRG9UIGNlcnRpZmljYXRlIGluIEJJTkQgZ2VuZXJhdGVkIGJ5IHRoZW1zZWx2ZXMu IElmIHRoZXNlCi0gIGFyZSBlbXB0eSwgSVBBIENBIGlzIHVzZWQgaW5zdGVhZCB0byByZXF1ZXN0 IGEgbmV3IGNlcnRpZmljYXRlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbnRvbmlvIFRvcnJlcyA8YW50 b3JyZXNAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGcmFuY2lzY28gVHJpdmlubyA8ZnRyaXZp bm9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lA cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBWYXJ1biBNeWxhcmFpYWggPG12YXJ1bkByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IFBhdmVsIEJyZXppbmEgPHBicmV6aW5hQHJlZGhhdC5jb20+Ci0t LS0KLSBjbGllbnQvbWFuL2lwYS1jbGllbnQtaW5zdGFsbC4xICAgICAgICAgICAgfCAgIDMgKwot IGNsaWVudC9zaGFyZS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICB8ICAgMSArCi0gY2xp ZW50L3NoYXJlL3VuYm91bmQuY29uZi50ZW1wbGF0ZSAgICAgICAgIHwgIDEwICsrCi0gaW5zdGFs bC9zaGFyZS9iaW5kLm5hbWVkLmNvbmYudGVtcGxhdGUgICAgIHwgICA0ICsKLSBpbnN0YWxsL3Rv b2xzL2lwYS1kbnMtaW5zdGFsbC5pbiAgICAgICAgICAgfCAgNTAgKysrKystCi0gaW5zdGFsbC90 b29scy9tYW4vaXBhLWRucy1pbnN0YWxsLjEgICAgICAgIHwgIDE2ICsrCi0gaW5zdGFsbC90b29s cy9tYW4vaXBhLXJlcGxpY2EtaW5zdGFsbC4xICAgIHwgIDE2ICsrCi0gaW5zdGFsbC90b29scy9t YW4vaXBhLXNlcnZlci1pbnN0YWxsLjEgICAgIHwgIDE2ICsrCi0gaXBhY2xpZW50L2luc3RhbGwv Y2xpZW50LnB5ICAgICAgICAgICAgICAgIHwgIDg5ICsrKysrKysrKy0KLSBpcGFwbGF0Zm9ybS9i YXNlL3BhdGhzLnB5ICAgICAgICAgICAgICAgICAgfCAgIDQgKwotIGlwYXBsYXRmb3JtL2Jhc2Uv c2VydmljZXMucHkgICAgICAgICAgICAgICB8ICAgMiArLQotIGlwYXB5dGhvbi9pcGF1dGlsLnB5 ICAgICAgICAgICAgICAgICAgICAgICB8ICAxMyArKwotIGlwYXNlcnZlci9pbnN0YWxsL2JpbmRp bnN0YW5jZS5weSAgICAgICAgICB8ICA0OCArKysrKy0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9kbnMu cHkgICAgICAgICAgICAgICAgICAgfCAxODIgKysrKysrKysrKysrKysrKysrKystCi0gaXBhc2Vy dmVyL2luc3RhbGwvc2VydmVyL19faW5pdF9fLnB5ICAgICAgIHwgIDYwICsrKysrKy0KLSBpcGFz ZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvaW5zdGFsbC5weSAgICAgICAgfCAgMjQgKystCi0gaXBhc2Vy dmVyL2luc3RhbGwvc2VydmVyL3JlcGxpY2FpbnN0YWxsLnB5IHwgICAyICsKLSAxNyBmaWxlcyBj aGFuZ2VkLCA1MDcgaW5zZXJ0aW9ucygrKSwgMzMgZGVsZXRpb25zKC0pCi0gY3JlYXRlIG1vZGUg MTAwNjQ0IGNsaWVudC9zaGFyZS91bmJvdW5kLmNvbmYudGVtcGxhdGUKLQotZGlmZiAtLWdpdCBh L2NsaWVudC9tYW4vaXBhLWNsaWVudC1pbnN0YWxsLjEgYi9jbGllbnQvbWFuL2lwYS1jbGllbnQt aW5zdGFsbC4xCi1pbmRleCA3MjViMTE0MjIuLmU2ZjY0MTI1NCAxMDA2NDQKLS0tLSBhL2NsaWVu dC9tYW4vaXBhLWNsaWVudC1pbnN0YWxsLjEKLSsrKyBiL2NsaWVudC9tYW4vaXBhLWNsaWVudC1p bnN0YWxsLjEKLUBAIC0yMDEsNiArMjAxLDkgQEAgVXNlIFxmSUlQX0FERFJFU1NcZlIgaW4gRE5T IEEvQUFBQSByZWNvcmQgZm9yIHRoaXMgaG9zdC4gTWF5IGJlIHNwZWNpZmllZCBtdWx0aXAKLSAu VFAKLSBcZkJcLVwtYWxsXC1pcFwtYWRkcmVzc2VzXGZSCi0gQ3JlYXRlIEROUyBBL0FBQUEgcmVj b3JkIGZvciBlYWNoIElQIGFkZHJlc3Mgb24gdGhpcyBob3N0LgotKy5UUAotK1xmQlwtXC1kbnNc LW92ZXJcLXRsc1xmUgotK0NvbmZpZ3VyZSBETlMgb3ZlciBUTFMuCi0gCi0gLlNTICJTU1NEIE9Q VElPTlMiCi0gLlRQCi1kaWZmIC0tZ2l0IGEvY2xpZW50L3NoYXJlL01ha2VmaWxlLmFtIGIvY2xp ZW50L3NoYXJlL01ha2VmaWxlLmFtCi1pbmRleCBiZjYzMWEyMmYuLjUyZjNjNGRkNCAxMDA2NDQK LS0tLSBhL2NsaWVudC9zaGFyZS9NYWtlZmlsZS5hbQotKysrIGIvY2xpZW50L3NoYXJlL01ha2Vm aWxlLmFtCi1AQCAtNSw2ICs1LDcgQEAgZGlzdF9hcHBfREFUQSA9CQkJCVwKLSAJZnJlZWlwYS50 ZW1wbGF0ZQkJXAotIAlzc2hkX2lwYS5jb25mLnRlbXBsYXRlCVwKLSAJc3NoX2lwYS5jb25mLnRl bXBsYXRlCVwKLSsJdW5ib3VuZC5jb25mLnRlbXBsYXRlCVwKLSAJJChOVUxMKQotIAotIGVwbmNv bmZkaXIgPSAkKElQQV9TWVNDT05GX0RJUikKLWRpZmYgLS1naXQgYS9jbGllbnQvc2hhcmUvdW5i b3VuZC5jb25mLnRlbXBsYXRlIGIvY2xpZW50L3NoYXJlL3VuYm91bmQuY29uZi50ZW1wbGF0ZQot bmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uMTY2MDM2ZjY1Ci0tLS0gL2Rl di9udWxsCi0rKysgYi9jbGllbnQvc2hhcmUvdW5ib3VuZC5jb25mLnRlbXBsYXRlCi1AQCAtMCww ICsxLDEwIEBACi0rc2VydmVyOgotKyAgICB0bHMtY2VydC1idW5kbGU6ICRUTFNfQ0VSVF9CVU5E TEVfUEFUSAotKyAgICB0bHMtdXBzdHJlYW06IHllcwotKyAgICBpbnRlcmZhY2U6IDEyNy4wLjAu NTUKLSsgICAgbG9nLXNlcnZmYWlsOiB5ZXMKLStmb3J3YXJkLXpvbmU6Ci0rICAgIG5hbWU6ICIu IgotKyAgICBmb3J3YXJkLXRscy11cHN0cmVhbTogeWVzCi0rICAgIGZvcndhcmQtZmlyc3Q6IG5v Ci0rICAgICRGT1JXQVJEX0FERFJTCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC9zaGFyZS9iaW5kLm5h bWVkLmNvbmYudGVtcGxhdGUgYi9pbnN0YWxsL3NoYXJlL2JpbmQubmFtZWQuY29uZi50ZW1wbGF0 ZQotaW5kZXggMDFiNzdjNWFlLi5iNjRhNmE0YjAgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3NoYXJl L2JpbmQubmFtZWQuY29uZi50ZW1wbGF0ZQotKysrIGIvaW5zdGFsbC9zaGFyZS9iaW5kLm5hbWVk LmNvbmYudGVtcGxhdGUKLUBAIC0yMSw2ICsyMSw4IEBAIG9wdGlvbnMgewotIAotIAltYW5hZ2Vk LWtleXMtZGlyZWN0b3J5ICIkTUFOQUdFRF9LRVlTX0RJUiI7Ci0gCi0rCSROQU1FRF9ETlNfT1ZF Ul9UTFNfT1BUSU9OU19DT05GCi0rCi0gCS8qIHVzZXIgY3VzdG9taXphdGlvbnMgb2Ygb3B0aW9u cyAqLwotIAlpbmNsdWRlICIkTkFNRURfQ1VTVE9NX09QVElPTlNfQ09ORiI7Ci0gCi1AQCAtNDks NiArNTEsOCBAQCAke05BTUVEX1pPTkVfQ09NTUVOVH19OwotIGluY2x1ZGUgIiRSRkMxOTEyX1pP TkVTIjsKLSBpbmNsdWRlICIkUk9PVF9LRVkiOwotIAotKyROQU1FRF9ETlNfT1ZFUl9UTFNfQ09O RgotKwotIC8qIHVzZXIgY3VzdG9taXphdGlvbiAqLwotIGluY2x1ZGUgIiROQU1FRF9DVVNUT01f Q09ORiI7Ci0gCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC90b29scy9pcGEtZG5zLWluc3RhbGwuaW4g Yi9pbnN0YWxsL3Rvb2xzL2lwYS1kbnMtaW5zdGFsbC5pbgotaW5kZXggZjFhOTBlN2FjLi4wYjBj ZDJiZTUgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL2lwYS1kbnMtaW5zdGFsbC5pbgotKysr IGIvaW5zdGFsbC90b29scy9pcGEtZG5zLWluc3RhbGwuaW4KLUBAIC0yNyw2ICsyNyw3IEBAIGlt cG9ydCBzeXMKLSAKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBiaW5kaW5zdGFuY2UK LSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBpbnN0YWxsdXRpbHMKLStmcm9tIGlwYXBs YXRmb3JtIGltcG9ydCBzZXJ2aWNlcwotIGZyb20gaXBhcHl0aG9uIGltcG9ydCB2ZXJzaW9uCi0g ZnJvbSBpcGFsaWIgaW1wb3J0IGFwaQotIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBh dGhzCi1AQCAtNTYsNiArNTcsMjQgQEAgZGVmIHBhcnNlX29wdGlvbnMoKToKLSAgICAgcGFyc2Vy LmFkZF9vcHRpb24oIi0tYXV0by1mb3J3YXJkZXJzIiwgZGVzdD0iYXV0b19mb3J3YXJkZXJzIiwK LSAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPSJzdG9yZV90cnVlIiwgZGVmYXVsdD1GYWxz ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgaGVscD0iVXNlIEROUyBmb3J3YXJkZXJzIGNvbmZp Z3VyZWQgaW4gL2V0Yy9yZXNvbHYuY29uZiIpCi0rICAgIHBhcnNlci5hZGRfb3B0aW9uKCItLWRu cy1vdmVyLXRscyIsIGRlc3Q9ImRuc19vdmVyX3RscyIsCi0rICAgICAgICAgICAgICAgICAgICAg IGhlbHA9IkNvbmZpZ3VyZSBETlMgb3ZlciBUTFMiLCBkZWZhdWx0PUZhbHNlLAotKyAgICAgICAg ICAgICAgICAgICAgICBhY3Rpb249InN0b3JlX3RydWUiKQotKyAgICBwYXJzZXIuYWRkX29wdGlv bigiLS1kb3QtZm9yd2FyZGVyIiwgZGVzdD0iZG90X2ZvcndhcmRlcnMiLAotKyAgICAgICAgICAg ICAgICAgICAgICBhY3Rpb249ImFwcGVuZCIsCi0rICAgICAgICAgICAgICAgICAgICAgIGRlZmF1 bHQ9W10sCi0rICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IkFkZCBhIEROUyBvdmVyIFRMUyBm b3J3YXJkZXIuICIKLSsgICAgICAgICAgICAgICAgICAgICAgIlRoaXMgb3B0aW9uIGNhbiBiZSB1 c2VkIG11bHRpcGxlIHRpbWVzIikKLSsgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tZG5zLW92ZXIt dGxzLWNlcnQiLCBkZXN0PSJkbnNfb3Zlcl90bHNfY2VydCIsCi0rICAgICAgICAgICAgICAgICAg ICAgIGhlbHA9IkNlcnRpZmljYXRlIHRvIHVzZSBmb3IgRE5TIG92ZXIgVExTLiAiCi0rICAgICAg ICAgICAgICAgICAgICAgICJJZiBlbXB0eSwgYSBuZXcgY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1 ZXN0ZWQgIgotKyAgICAgICAgICAgICAgICAgICAgICAiZnJvbSBJUEEgQ0EiKQotKyAgICBwYXJz ZXIuYWRkX29wdGlvbigiLS1kbnMtb3Zlci10bHMta2V5IiwgZGVzdD0iZG5zX292ZXJfdGxzX2tl eSIsCi0rICAgICAgICAgICAgICAgICAgICAgIGhlbHA9IktleSBmb3IgY2VydGlmaWNhdGUgc3Bl Y2lmaWVkICIKLSsgICAgICAgICAgICAgICAgICAgICAgImluIC0tZG5zLW92ZXItdGxzLWNlcnQi KQotKyAgICBwYXJzZXIuYWRkX29wdGlvbigiLS1kbnMtcG9saWN5IiwgZGVzdD0iZG5zX3BvbGlj eSIsCi0rICAgICAgICAgICAgICAgICAgICAgIGNob2ljZXM9KCJyZWxheGVkIiwgImVuZm9yY2Vk IiksIGRlZmF1bHQ9InJlbGF4ZWQiLAotKyAgICAgICAgICAgICAgICAgICAgICBoZWxwPSJQb2xp Y3kgZm9yIGVuY3J5cHRlZCBETlMgZW5mb3JjZW1lbnQiKQotICAgICBwYXJzZXIuYWRkX29wdGlv bigiLS1mb3J3YXJkLXBvbGljeSIsIGRlc3Q9ImZvcndhcmRfcG9saWN5IiwKLSAgICAgICAgICAg ICAgICAgICAgICAgY2hvaWNlcz0oImZpcnN0IiwgIm9ubHkiKSwgZGVmYXVsdD1Ob25lLAotICAg ICAgICAgICAgICAgICAgICAgICBoZWxwPSJETlMgZm9yd2FyZGluZyBwb2xpY3kgZm9yIGdsb2Jh bCBmb3J3YXJkZXJzIikKLUBAIC0xMDIsMTIgKzEyMSwzNyBAQCBkZWYgcGFyc2Vfb3B0aW9ucygp OgotICAgICBlbGlmIG9wdGlvbnMuYXV0b19yZXZlcnNlIGFuZCBvcHRpb25zLm5vX3JldmVyc2U6 Ci0gICAgICAgICBwYXJzZXIuZXJyb3IoIllvdSBjYW5ub3Qgc3BlY2lmeSBhIC0tYXV0by1yZXZl cnNlIG9wdGlvbiB0b2dldGhlciB3aXRoIC0tbm8tcmV2ZXJzZSIpCi0gCi0rICAgIGlmIG9wdGlv bnMuZG5zX3BvbGljeSA9PSAiZW5mb3JjZWQiIGFuZCBub3Qgb3B0aW9ucy5kbnNfb3Zlcl90bHM6 Ci0rICAgICAgICBwYXJzZXIuZXJyb3IoIklmIGVuY3J5cHRlZCBETlMgcG9saWN5IGlzIGVuZm9y Y2VkLCAiCi0rICAgICAgICAgICAgICAgICAgICAgIi0tZG5zLW92ZXItdGxzIG11c3QgYmUgc3Bl Y2lmaWVkLiIpCi0rCi0rICAgIHVuYm91bmQgPSBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJ1bmJv dW5kIl0KLSsgICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHMgYW5kIG5vdCB1bmJvdW5kLmlzX2lu c3RhbGxlZCgpOgotKyAgICAgICAgcGFyc2VyLmVycm9yKAotKyAgICAgICAgICAgICJUbyBlbmFi bGUgRE5TIG92ZXIgVExTLCBwYWNrYWdlIGlwYS1zZXJ2ZXItZW5jcnlwdGVkLWRucyAiCi0rICAg ICAgICAgICAgIm11c3QgYmUgaW5zdGFsbGVkLiIKLSsgICAgICAgICkKLSsKLSsgICAgaWYgbm90 IG9wdGlvbnMuZG5zX292ZXJfdGxzIGFuZCBvcHRpb25zLmRvdF9mb3J3YXJkZXJzOgotKyAgICAg ICAgcGFyc2VyLmVycm9yKCJZb3UgY2Fubm90IHNwZWNpZnkgYSAiCi0rICAgICAgICAgICAgICAg ICAgICAgIi0tZG90LWZvcndhcmRlciBvcHRpb24gd2l0aG91dCAtLWRucy1vdmVyLXRscyIpCi0r ICAgIGVsaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHMgYW5kIG5vdCBvcHRpb25zLmRvdF9mb3J3YXJk ZXJzOgotKyAgICAgICAgcGFyc2VyLmVycm9yKAotKyAgICAgICAgICAgICJZb3UgbXVzdCBzcGVj aWZ5IC0tZG90LWZvcndhcmRlciAiCi0rICAgICAgICAgICAgIndoZW4gZW5hYmxpbmcgRE5TIG92 ZXIgVExTIikKLSsgICAgZWxpZiBib29sKG9wdGlvbnMuZG5zX292ZXJfdGxzX2tleSkgIT0gYm9v bChvcHRpb25zLmRuc19vdmVyX3Rsc19jZXJ0KToKLSsgICAgICAgIHBhcnNlci5lcnJvcigKLSsg ICAgICAgICAgICAiWW91IGNhbm5vdCBzcGVjaWZ5IGEgLS1kbnMtb3Zlci10bHMta2V5IG9wdGlv biAiCi0rICAgICAgICAgICAgIndpdGhvdXQgdGhlIC0tZG5zLW92ZXItdGxzLWNlcnQgb3B0aW9u IGFuZCB2aWNlIHZlcnNhIikKLSsKLSAgICAgaWYgb3B0aW9ucy51bmF0dGVuZGVkOgotICAgICAg ICAgaWYgKG5vdCBvcHRpb25zLmZvcndhcmRlcnMKLS0gICAgICAgICAgICBhbmQgbm90IG9wdGlv bnMubm9fZm9yd2FyZGVycwotLSAgICAgICAgICAgIGFuZCBub3Qgb3B0aW9ucy5hdXRvX2Zvcndh cmRlcnMpOgotKyAgICAgICAgICAgICAgICBhbmQgbm90IG9wdGlvbnMubm9fZm9yd2FyZGVycwot KyAgICAgICAgICAgICAgICBhbmQgbm90IG9wdGlvbnMuYXV0b19mb3J3YXJkZXJzCi0rICAgICAg ICAgICAgICAgIGFuZCBub3Qgb3B0aW9ucy5kb3RfZm9yd2FyZGVycyk6Ci0gICAgICAgICAgICAg cGFyc2VyLmVycm9yKCJZb3UgbXVzdCBzcGVjaWZ5IGF0IGxlYXN0IG9uZSBvcHRpb246ICIKLS0g ICAgICAgICAgICAgICAgIi0tZm9yd2FyZGVyIG9yIC0tbm8tZm9yd2FyZGVycyBvciAtLWF1dG8t Zm9yd2FyZGVycyIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICItLWZvcndhcmRlciBvciAt LW5vLWZvcndhcmRlcnMgb3IgLS1hdXRvLWZvcndhcmRlcnMiCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICIgb3IgLS1kb3QtZm9yd2FyZGVyIikKLSAKLSAgICAgaWYgb3B0aW9ucy5rYXNwX2Ri X2ZpbGUgYW5kIG5vdCBvcy5wYXRoLmlzZmlsZShvcHRpb25zLmthc3BfZGJfZmlsZSk6Ci0gICAg ICAgICBwYXJzZXIuZXJyb3IoIkZpbGUgJXMgZG9lcyBub3QgZXhpc3QiICUgb3B0aW9ucy5rYXNw X2RiX2ZpbGUpCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC90b29scy9tYW4vaXBhLWRucy1pbnN0YWxs LjEgYi9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtZG5zLWluc3RhbGwuMQotaW5kZXggMDI5MDAxZWNh Li42MDA4ZDIwMjggMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtZG5zLWluc3Rh bGwuMQotKysrIGIvaW5zdGFsbC90b29scy9tYW4vaXBhLWRucy1pbnN0YWxsLjEKLUBAIC02OSw2 ICs2OSwyMiBAQCBBbGxvdyBjcmVhdGluIG9mIChyZXZlcnNlKSB6b25lIGV2ZW4gaWYgdGhlIHpv bmUgaXMgYWxyZWFkeSByZXNvbHZhYmxlLiBVc2luZyB0aAotIC5UUAotIFxmQlwtVVxmUiwgXGZC XC1cLXVuYXR0ZW5kZWRcZlIKLSBBbiB1bmF0dGVuZGVkIGluc3RhbGxhdGlvbiB0aGF0IHdpbGwg bmV2ZXIgcHJvbXB0IGZvciB1c2VyIGlucHV0Ci0rLlRQCi0rXGZCXC1cLWRuc1wtb3ZlclwtdGxz XGZSCi0rQ29uZmlndXJlIEROUyBvdmVyIFRMUy4KLSsuVFAKLStcZkJcLVwtZG90XC1mb3J3YXJk ZXJcZlI9XGZJSVBfQUREUkVTUyNIT1NUTkFNRVxmUgotK0FkZCBhIEROUy1vdmVyLVRMUy1lbmFi bGVkIGZvcndhcmRlciBpbiB0aGUgZm9ybWF0IG9mIGlwI2hvc3RuYW1lLCBlLmcuOiBkbnMuZXhh bXBsZS5jb20jMS4yLjMuNC4gVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgbXVsdGlwbGUgdGltZXMu Ci0rLlRQCi0rXGZCXC1cLWRuc1wtb3ZlclwtdGxzXC1jZXJ0XGZSPVxmSUZJTEVcZlIKLStDZXJ0 aWZpY2F0ZSB0byB1c2UgZm9yIEROUyBvdmVyIFRMUy4gSWYgZW1wdHksIGEgbmV3IGNlcnRpZmlj YXRlIHdpbGwgYmUgcmVxdWVzdGVkIGZyb20gSVBBIENBLgotKy5UUAotK1xmQlwtXC1kbnNcLW92 ZXJcLXRsc1wta2V5XGZSPVxmSUZJTEVcZlIKLStLZXkgZm9yIHRoZSBjZXJ0aWZpY2F0ZSBzcGVj aWZpZWQgaW4gLS1kbnMtb3Zlci10bHMta2V5LgotKy5UUAotK1xmQlwtXC1kbnNcLXBvbGljeVxm Uj1cZklyZWxheGVkfGVuZm9yY2VkXGZSCi0rRW5jcnlwdGVkIEROUyBwb2xpY3kuIElmIGVuZm9y Y2VkLCBETlMgY29tbXVuaWNhdGlvbnMgd2lsbCBvbmx5IGJlIGFsbG93ZWQgdGhyb3VnaCB0aGUg Y29uZmlndXJlZCBlbmNyeXB0ZWQgRE5TIG1ldGhvZHMuIElmIHJlbGF4ZWQsCi0rdW5lbmNyeXB0 ZWQgRE5TIHF1ZXJpZXMgd2lsbCBiZSBhbGxvd2VkLgotIC5TSCAiREVQUkVDQVRFRCBPUFRJT05T IgotIC5UUAotIFxmQlwtcFxmUiBcZklETV9QQVNTV09SRFxmUiwgXGZCXC1cLWRzXC1wYXNzd29y ZFxmUj1cZklETV9QQVNTV09SRFxmUgotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvbWFuL2lw YS1yZXBsaWNhLWluc3RhbGwuMSBiL2luc3RhbGwvdG9vbHMvbWFuL2lwYS1yZXBsaWNhLWluc3Rh bGwuMQotaW5kZXggM2IxZDI1YmE2Li5jNTVkMjEyNTMgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rv b2xzL21hbi9pcGEtcmVwbGljYS1pbnN0YWxsLjEKLSsrKyBiL2luc3RhbGwvdG9vbHMvbWFuL2lw YS1yZXBsaWNhLWluc3RhbGwuMQotQEAgLTIyMyw2ICsyMjMsMjIgQEAgRG8gbm90IGF1dG9tYXRp Y2FsbHkgY3JlYXRlIEROUyBTU0hGUCByZWNvcmRzLgotIC5UUAotIFxmQlwtXC1ub1wtZG5zc2Vj XC12YWxpZGF0aW9uXGZSCi0gRGlzYWJsZSBETlNTRUMgdmFsaWRhdGlvbiBvbiB0aGlzIHNlcnZl ci4KLSsuVFAKLStcZkJcLVwtZG5zXC1vdmVyXC10bHNcZlIKLStDb25maWd1cmUgRE5TIG92ZXIg VExTLgotKy5UUAotK1xmQlwtXC1kb3RcLWZvcndhcmRlclxmUj1cZklJUF9BRERSRVNTI0hPU1RO QU1FXGZSCi0rQWRkIGEgRE5TLW92ZXItVExTLWVuYWJsZWQgZm9yd2FyZGVyIGluIHRoZSBmb3Jt YXQgb2YgaXAjaG9zdG5hbWUsIGUuZy46IGRucy5leGFtcGxlLmNvbSMxLjIuMy40LiBUaGlzIG9w dGlvbiBjYW4gYmUgdXNlZCBtdWx0aXBsZSB0aW1lcy4KLSsuVFAKLStcZkJcLVwtZG5zXC1vdmVy XC10bHNcLWNlcnRcZlI9XGZJRklMRVxmUgotK0NlcnRpZmljYXRlIHRvIHVzZSBmb3IgRE5TIG92 ZXIgVExTLiBJZiBlbXB0eSwgYSBuZXcgY2VydGlmaWNhdGUgd2lsbCBiZSByZXF1ZXN0ZWQgZnJv bSBJUEEgQ0EuCi0rLlRQCi0rXGZCXC1cLWRuc1wtb3ZlclwtdGxzXC1rZXlcZlI9XGZJRklMRVxm UgotK0tleSBmb3IgdGhlIGNlcnRpZmljYXRlIHNwZWNpZmllZCBpbiAtLWRucy1vdmVyLXRscy1r ZXkuCi0rLlRQCi0rXGZCXC1cLWRuc1wtcG9saWN5XGZSPVxmSXJlbGF4ZWR8ZW5mb3JjZWRcZlIK LStFbmNyeXB0ZWQgRE5TIHBvbGljeS4gSWYgZW5mb3JjZWQsIEROUyBjb21tdW5pY2F0aW9ucyB3 aWxsIG9ubHkgYmUgYWxsb3dlZCB0aHJvdWdoIHRoZSBjb25maWd1cmVkIGVuY3J5cHRlZCBETlMg bWV0aG9kcy4gSWYgcmVsYXhlZCwKLSt1bmVuY3J5cHRlZCBETlMgcXVlcmllcyB3aWxsIGJlIGFs bG93ZWQuCi0gCi0gLlNTICJTSUQgR0VORVJBVElPTiBPUFRJT05TIgotIC5UUAotZGlmZiAtLWdp dCBhL2luc3RhbGwvdG9vbHMvbWFuL2lwYS1zZXJ2ZXItaW5zdGFsbC4xIGIvaW5zdGFsbC90b29s cy9tYW4vaXBhLXNlcnZlci1pbnN0YWxsLjEKLWluZGV4IDIxNWE3N2Q2Yi4uODRkODI1MzFjIDEw MDY0NAotLS0tIGEvaW5zdGFsbC90b29scy9tYW4vaXBhLXNlcnZlci1pbnN0YWxsLjEKLSsrKyBi L2luc3RhbGwvdG9vbHMvbWFuL2lwYS1zZXJ2ZXItaW5zdGFsbC4xCi1AQCAtMjUyLDYgKzI1Miwy MiBAQCBEaXNhYmxlIEROU1NFQyB2YWxpZGF0aW9uIG9uIHRoaXMgc2VydmVyLgotIC5UUAotIFxm QlwtXC1hbGxvd1wtem9uZVwtb3ZlcmxhcFxmUgotIEFsbG93IGNyZWF0aW9uIG9mIChyZXZlcnNl KSB6b25lIGV2ZW4gaWYgdGhlIHpvbmUgaXMgYWxyZWFkeSByZXNvbHZhYmxlLiBVc2luZyB0aGlz IG9wdGlvbiBpcyBkaXNjb3VyYWdlZCBhcyBpdCByZXN1bHQgaW4gbGF0ZXIgcHJvYmxlbXMgd2l0 aCBkb21haW4gbmFtZSByZXNvbHV0aW9uLgotKy5UUAotK1xmQlwtXC1kbnNcLW92ZXJcLXRsc1xm UgotK0NvbmZpZ3VyZSBETlMgb3ZlciBUTFMuCi0rLlRQCi0rXGZCXC1cLWRvdFwtZm9yd2FyZGVy XGZSPVxmSUlQX0FERFJFU1MjSE9TVE5BTUVcZlIKLStBZGQgYSBETlMtb3Zlci1UTFMtZW5hYmxl ZCBmb3J3YXJkZXIgaW4gdGhlIGZvcm1hdCBvZiBpcCNob3N0bmFtZSwgZS5nLjogZG5zLmV4YW1w bGUuY29tIzEuMi4zLjQuIFRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkIG11bHRpcGxlIHRpbWVzLgot Ky5UUAotK1xmQlwtXC1kbnNcLW92ZXJcLXRsc1wtY2VydFxmUj1cZklGSUxFXGZSCi0rQ2VydGlm aWNhdGUgdG8gdXNlIGZvciBETlMgb3ZlciBUTFMuIElmIGVtcHR5LCBhIG5ldyBjZXJ0aWZpY2F0 ZSB3aWxsIGJlIHJlcXVlc3RlZCBmcm9tIElQQSBDQS4KLSsuVFAKLStcZkJcLVwtZG5zXC1vdmVy XC10bHNcLWtleVxmUj1cZklGSUxFXGZSCi0rS2V5IGZvciB0aGUgY2VydGlmaWNhdGUgc3BlY2lm aWVkIGluIC0tZG5zLW92ZXItdGxzLWtleS4KLSsuVFAKLStcZkJcLVwtZG5zXC1wb2xpY3lcZlI9 XGZJcmVsYXhlZHxlbmZvcmNlZFxmUgotK0VuY3J5cHRlZCBETlMgcG9saWN5LiBJZiBlbmZvcmNl ZCwgRE5TIGNvbW11bmljYXRpb25zIHdpbGwgb25seSBiZSBhbGxvd2VkIHRocm91Z2ggdGhlIGNv bmZpZ3VyZWQgZW5jcnlwdGVkIEROUyBtZXRob2RzLiBJZiByZWxheGVkLAotK3VuZW5jcnlwdGVk IEROUyBxdWVyaWVzIHdpbGwgYmUgYWxsb3dlZC4KLSAKLSAuU1MgIlNJRCBHRU5FUkFUSU9OIE9Q VElPTlMiCi0gLlRQCi1kaWZmIC0tZ2l0IGEvaXBhY2xpZW50L2luc3RhbGwvY2xpZW50LnB5IGIv aXBhY2xpZW50L2luc3RhbGwvY2xpZW50LnB5Ci1pbmRleCA0N2EzNzFmNjIuLjllNGQzYmJlNyAx MDA2NDQKLS0tLSBhL2lwYWNsaWVudC9pbnN0YWxsL2NsaWVudC5weQotKysrIGIvaXBhY2xpZW50 L2luc3RhbGwvY2xpZW50LnB5Ci1AQCAtMTAwMiw2ICsxMDAyLDExIEBAIGRlZiBjb25maWd1cmVf c3NzZF9jb25mKAotIAotICAgICBpZiBvcHRpb25zLmRuc191cGRhdGVzOgotICAgICAgICAgZG9t YWluLnNldF9vcHRpb24oJ2R5bmRuc191cGRhdGUnLCBUcnVlKQotKyAgICAgICAgaWYgb3B0aW9u cy5kbnNfb3Zlcl90bHM6Ci0rICAgICAgICAgICAgc2VydmVyX2lwID0gc3RyKGxpc3QoZG5zdXRp bC5yZXNvbHZlX2lwX2FkZHJlc3NlcygKLSsgICAgICAgICAgICAgICAgY2xpX3NlcnZlclswXSkp WzBdKQotKyAgICAgICAgICAgIGRvbWFpbi5zZXRfb3B0aW9uKCdkeW5kbnNfc2VydmVyJywgJ2Ru cyt0bHM6Ly97fTo4NTMje30nCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1h dChzZXJ2ZXJfaXAsIGNsaV9zZXJ2ZXJbMF0pKQotICAgICAgICAgaWYgb3B0aW9ucy5hbGxfaXBf YWRkcmVzc2VzOgotICAgICAgICAgICAgIGRvbWFpbi5zZXRfb3B0aW9uKCdkeW5kbnNfaWZhY2Un LCAnKicpCi0gICAgICAgICBlbHNlOgotQEAgLTE0MDksOCArMTQxNCw5IEBAIGRlZiBnZXRfbG9j YWxfaXBhZGRyZXNzZXMoaWZhY2U9Tm9uZSk6Ci0gICAgIHJldHVybiBpcHMKLSAKLSAKLS1kZWYg ZG9fbnN1cGRhdGUodXBkYXRlX3R4dCk6Ci0rZGVmIGRvX25zdXBkYXRlKHVwZGF0ZV90eHQsIG9w dGlvbnMsIHNlcnZlcik6Ci0gICAgIGxvZ2dlci5kZWJ1ZygiV3JpdGluZyBuc3VwZGF0ZSBjb21t YW5kcyB0byAlczoiLCBVUERBVEVfRklMRSkKLSsKLSAgICAgbG9nZ2VyLmRlYnVnKCIlcyIsIHVw ZGF0ZV90eHQpCi0gCi0gICAgIHdpdGggb3BlbihVUERBVEVfRklMRSwgInciKSBhcyBmOgotQEAg LTE0MTgsMTIgKzE0MjQsMjAgQEAgZGVmIGRvX25zdXBkYXRlKHVwZGF0ZV90eHQpOgotIAotICAg ICByZXN1bHQgPSBGYWxzZQotICAgICB0cnk6Ci0tICAgICAgICBpcGF1dGlsLnJ1bihbcGF0aHMu TlNVUERBVEUsICctZycsIFVQREFURV9GSUxFXSkKLSsgICAgICAgIGlmIG9wdGlvbnMuZG5zX292 ZXJfdGxzOgotKyAgICAgICAgICAgIGlwYXV0aWwucnVuKFtwYXRocy5OU1VQREFURSwgJy1wJywg Jzg1MycsICctUycsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICctSCcsIHNlcnZlciwgJy1n JywgVVBEQVRFX0ZJTEVdKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBpcGF1dGlsLnJ1 bihbcGF0aHMuTlNVUERBVEUsICctZycsIFVQREFURV9GSUxFXSkKLSAgICAgICAgIHJlc3VsdCA9 IFRydWUKLSAgICAgZXhjZXB0IENhbGxlZFByb2Nlc3NFcnJvciBhcyBlOgotICAgICAgICAgbG9n Z2VyLmRlYnVnKCduc3VwZGF0ZSAoR1NTLVRTSUcpIGZhaWxlZDogJXMnLCBzdHIoZSkpCi0gICAg ICAgICB0cnk6Ci0tICAgICAgICAgICAgaXBhdXRpbC5ydW4oW3BhdGhzLk5TVVBEQVRFLCBVUERB VEVfRklMRV0pCi0rICAgICAgICAgICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHM6Ci0rICAgICAg ICAgICAgICAgIGlwYXV0aWwucnVuKFtwYXRocy5OU1VQREFURSwgJy1wJywgJzg1MycsICctUycs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLUgnLCBzZXJ2ZXIsICctZycsIFVQREFU RV9GSUxFXSkKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBpcGF1dGlsLnJ1 bihbcGF0aHMuTlNVUERBVEUsIFVQREFURV9GSUxFXSkKLSAgICAgICAgICAgICB0cnk6Ci0gICAg ICAgICAgICAgICAgIHNzc2Rjb25maWcgPSBTU1NEQ29uZmlnLlNTU0RDb25maWcoKQotICAgICAg ICAgICAgICAgICBzc3NkY29uZmlnLmltcG9ydF9jb25maWcoKQotQEAgLTE1MjUsNiArMTUzOSw4 IEBAIGRlZiB1cGRhdGVfZG5zKHNlcnZlciwgaG9zdG5hbWUsIG9wdGlvbnMpOgotICAgICBub19t YXRjaGluZ19pbnRlcmZhY2VfZm9yX2lwX2FkZHJlc3Nfd2FybmluZyh1cGRhdGVfaXBzKQotIAot ICAgICB1cGRhdGVfdHh0ID0gImRlYnVnXG4iCi0rICAgIGlmIG9wdGlvbnMuZG5zX292ZXJfdGxz OgotKyAgICAgICAgdXBkYXRlX3R4dCArPSAic2VydmVyICVzIDg1MyIgJSBzZXJ2ZXIKLSAgICAg dXBkYXRlX3R4dCArPSBpcGF1dGlsLnRlbXBsYXRlX3N0cihERUxFVEVfVEVNUExBVEVfQSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWN0KEhPU1ROQU1FPWhvc3Ru YW1lKSkKLSAgICAgdXBkYXRlX3R4dCArPSBpcGF1dGlsLnRlbXBsYXRlX3N0cihERUxFVEVfVEVN UExBVEVfQUFBQSwKLUBAIC0xNTM4LDcgKzE1NTQsNyBAQCBkZWYgdXBkYXRlX2RucyhzZXJ2ZXIs IGhvc3RuYW1lLCBvcHRpb25zKToKLSAgICAgICAgICAgICB0ZW1wbGF0ZSA9IEFERF9URU1QTEFU RV9BQUFBCi0gICAgICAgICB1cGRhdGVfdHh0ICs9IGlwYXV0aWwudGVtcGxhdGVfc3RyKHRlbXBs YXRlLCBzdWJfZGljdCkKLSAKLS0gICAgaWYgbm90IGRvX25zdXBkYXRlKHVwZGF0ZV90eHQpOgot KyAgICBpZiBub3QgZG9fbnN1cGRhdGUodXBkYXRlX3R4dCwgb3B0aW9ucywgc2VydmVyKToKLSAg ICAgICAgIGxvZ2dlci5lcnJvcigiRmFpbGVkIHRvIHVwZGF0ZSBETlMgcmVjb3Jkcy4iKQotICAg ICB2ZXJpZnlfZG5zX3VwZGF0ZShob3N0bmFtZSwgdXBkYXRlX2lwcykKLSAKLUBAIC0xNjU0LDYg KzE2NzAsNTQgQEAgZGVmIGNsaWVudF9kbnMoc2VydmVyLCBob3N0bmFtZSwgb3B0aW9ucyk6Ci0g ICAgICAgICAgICAgICAgICAgICAgICBob3N0bmFtZSwgZXgpCi0gICAgICAgICBkbnNfb2sgPSBG YWxzZQotIAotKyAgICAjIFNldHVwIEROUyBvdmVyIFRMUwotKyAgICBpZiBvcHRpb25zLmRuc19v dmVyX3RsczoKLSsgICAgICAgICMgc2V0dXAgYW5kIGVuYWJsZSBVbmJvdW5kIGFzIHJlc29sdmVy Ci0rICAgICAgICBzZXJ2ZXJfaXAgPSBzdHIobGlzdChkbnN1dGlsLnJlc29sdmVfaXBfYWRkcmVz c2VzKHNlcnZlcikpWzBdKQotKyAgICAgICAgZm9yd2FyZF9hZGRyID0gImZvcndhcmQtYWRkcjog JXMjJXMiICUgKHNlcnZlcl9pcCwgc2VydmVyKQotKyAgICAgICAgaXBhdXRpbC5jb3B5X3RlbXBs YXRlX2ZpbGUoCi0rICAgICAgICAgICAgcGF0aHMuVU5CT1VORF9DT05GX1NSQywKLSsgICAgICAg ICAgICBwYXRocy5VTkJPVU5EX0NPTkYsCi0rICAgICAgICAgICAgZGljdCgKLSsgICAgICAgICAg ICAgICAgVExTX0NFUlRfQlVORExFX1BBVEg9b3MucGF0aC5qb2luKAotKyAgICAgICAgICAgICAg ICAgICAgcGF0aHMuT1BFTlNTTF9DRVJUU19ESVIsICJjYS1idW5kbGUuY3J0IiksCi0rICAgICAg ICAgICAgICAgIEZPUldBUkRfQUREUlM9Zm9yd2FyZF9hZGRyCi0rICAgICAgICAgICAgKQotKyAg ICAgICAgKQotKyAgICAgICAgc3IgPSBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJzeXN0ZW1kLXJl c29sdmVkIl0KLSsgICAgICAgIGlmIHNyLmlzX3J1bm5pbmcoKToKLSsgICAgICAgICAgICBzci5z dG9wKCkKLSsgICAgICAgICAgICBzci5kaXNhYmxlKCkKLSsKLSsgICAgICAgIG5tID0gc2Vydmlj ZXMua25vd25zZXJ2aWNlc1siTmV0d29ya01hbmFnZXIiXQotKyAgICAgICAgaWYgbm0uaXNfZW5h YmxlZCgpOgotKyAgICAgICAgICAgIHdpdGggb3BlbihwYXRocy5ORVRXT1JLX01BTkFHRVJfSVBB X0NPTkYsICJ3IikgYXMgZjoKLSsgICAgICAgICAgICAgICAgZG5zX25vbmUgPSBbCi0rICAgICAg ICAgICAgICAgICAgICAiIyBhdXRvLWdlbmVyYXRlZCBieSBJUEEgaW5zdGFsbGVyIiwKLSsgICAg ICAgICAgICAgICAgICAgICJbbWFpbl0iLAotKyAgICAgICAgICAgICAgICAgICAgImRucz1ub25l XG4iCi0rICAgICAgICAgICAgICAgIF0KLSsgICAgICAgICAgICAgICAgZi53cml0ZSgiXG4iLmpv aW4oZG5zX25vbmUpKQotKyAgICAgICAgICAgIG5tLnJlbG9hZF9vcl9yZXN0YXJ0KCkKLSsKLSsg ICAgICAgICMgT3ZlcndyaXRlIHJlc29sdi5jb25mIHRvIHBvaW50IHRvIFVuYm91bmQKLSsgICAg ICAgIGNmZyA9IFsKLSsgICAgICAgICAgICAiIyBhdXRvLWdlbmVyYXRlZCBieSBJUEEgaW5zdGFs bGVyIiwKLSsgICAgICAgICAgICAic2VhcmNoIC4iLAotKyAgICAgICAgICAgICJuYW1lc2VydmVy IDEyNy4wLjAuNTVcbiIKLSsgICAgICAgIF0KLSsgICAgICAgIGZzdG9yZSA9IHN5c3Jlc3RvcmUu RmlsZVN0b3JlKHBhdGhzLklQQV9DTElFTlRfU1lTUkVTVE9SRSkKLSsgICAgICAgIGZzdG9yZS5i YWNrdXBfZmlsZShwYXRocy5SRVNPTFZfQ09ORikKLSsgICAgICAgIHdpdGggb3BlbihwYXRocy5S RVNPTFZfQ09ORiwgJ3cnKSBhcyBmOgotKyAgICAgICAgICAgIGYud3JpdGUoJ1xuJy5qb2luKGNm ZykpCi0rICAgICAgICAgICAgb3MuY2htb2QocGF0aHMuUkVTT0xWX0NPTkYsIDBvNjQ0KQotKwot KyAgICAgICAgc2VydmljZXMua25vd25zZXJ2aWNlcy51bmJvdW5kLmVuYWJsZSgpCi0rICAgICAg ICBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzLnVuYm91bmQucmVzdGFydCgpCi0rICAgICAgICBsb2dn ZXIuaW5mbygiRE5TIGVuY3J5cHRpb24gc3VwcG9ydCB3YXMgZW5hYmxlZC4gIgotKyAgICAgICAg ICAgICAgICAgICAgIlVuYm91bmQgaXMgY29uZmlndXJlZCB0byBsaXN0ZW4gb24gMTI3LjAuMC41 NTo1MyBhbmQgIgotKyAgICAgICAgICAgICAgICAgICAgImZvcndhcmQgdG8gdXBzdHJlYW0gRG9U IHNlcnZlcnMuIikKLSsKLSAgICAgaWYgKAotICAgICAgICAgb3B0aW9ucy5kbnNfdXBkYXRlcyBv ciBvcHRpb25zLmFsbF9pcF9hZGRyZXNzZXMgb3IKLSAgICAgICAgIG9wdGlvbnMuaXBfYWRkcmVz c2VzIG9yIG5vdCBkbnNfb2sKLUBAIC0xNjYxLDYgKzE3MjUsNyBAQCBkZWYgY2xpZW50X2Rucyhz ZXJ2ZXIsIGhvc3RuYW1lLCBvcHRpb25zKToKLSAgICAgICAgIHVwZGF0ZV9kbnMoc2VydmVyLCBo b3N0bmFtZSwgb3B0aW9ucykKLSAKLSAKLSsKLSBkZWYgY2hlY2tfaXBfYWRkcmVzc2VzKG9wdGlv bnMpOgotICAgICBpZiBvcHRpb25zLmlwX2FkZHJlc3NlczoKLSAgICAgICAgIGZvciBpcCBpbiBv cHRpb25zLmlwX2FkZHJlc3NlczoKLUBAIC0xNjcyLDcgKzE3MzcsNyBAQCBkZWYgY2hlY2tfaXBf YWRkcmVzc2VzKG9wdGlvbnMpOgotICAgICByZXR1cm4gVHJ1ZQotIAotIAotLWRlZiB1cGRhdGVf c3NoX2tleXMoaG9zdG5hbWUsIHNzaF9kaXIsIGNyZWF0ZV9zc2hmcCk6Ci0rZGVmIHVwZGF0ZV9z c2hfa2V5cyhob3N0bmFtZSwgc3NoX2Rpciwgb3B0aW9ucywgc2VydmVyKToKLSAgICAgaWYgbm90 IG9zLnBhdGguaXNkaXIoc3NoX2Rpcik6Ci0gICAgICAgICByZXR1cm4KLSAKLUBAIC0xNzE4LDEw ICsxNzgzLDEyIEBAIGRlZiB1cGRhdGVfc3NoX2tleXMoaG9zdG5hbWUsIHNzaF9kaXIsIGNyZWF0 ZV9zc2hmcCk6Ci0gICAgICAgICBsb2dnZXIud2FybmluZygiRmFpbGVkIHRvIHVwbG9hZCBob3N0 IFNTSCBwdWJsaWMga2V5cy4iKQotICAgICAgICAgcmV0dXJuCi0gCi0tICAgIGlmIGNyZWF0ZV9z c2hmcDoKLSsgICAgaWYgb3B0aW9ucy5jcmVhdGVfc3NoZnA6Ci0gICAgICAgICB0dGwgPSAxMjAw Ci0gCi0gICAgICAgICB1cGRhdGVfdHh0ID0gJ2RlYnVnXG4nCi0rICAgICAgICBpZiBvcHRpb25z LmRuc19vdmVyX3RsczoKLSsgICAgICAgICAgICB1cGRhdGVfdHh0ICs9ICJzZXJ2ZXIgJXMgODUz IiAlIHNlcnZlcgotICAgICAgICAgdXBkYXRlX3R4dCArPSAndXBkYXRlIGRlbGV0ZSAlcy4gSU4g U1NIRlBcbnNob3dcbnNlbmRcbicgJSBob3N0bmFtZQotICAgICAgICAgZm9yIHB1YmtleSBpbiBw dWJrZXlzOgotICAgICAgICAgICAgIHNzaGZwID0gcHVia2V5LmZpbmdlcnByaW50X2Ruc19zaGEx KCkKLUBAIC0xNzM0LDcgKzE4MDEsNyBAQCBkZWYgdXBkYXRlX3NzaF9rZXlzKGhvc3RuYW1lLCBz c2hfZGlyLCBjcmVhdGVfc3NoZnApOgotICAgICAgICAgICAgICAgICAgICAgaG9zdG5hbWUsIHR0 bCwgc3NoZnApCi0gICAgICAgICB1cGRhdGVfdHh0ICs9ICdzaG93XG5zZW5kXG4nCi0gCi0tICAg ICAgICBpZiBub3QgZG9fbnN1cGRhdGUodXBkYXRlX3R4dCk6Ci0rICAgICAgICBpZiBub3QgZG9f bnN1cGRhdGUodXBkYXRlX3R4dCwgb3B0aW9ucywgc2VydmVyKToKLSAgICAgICAgICAgICBsb2dn ZXIud2FybmluZygiQ291bGQgbm90IHVwZGF0ZSBETlMgU1NIRlAgcmVjb3Jkcy4iKQotIAotIAot QEAgLTMxNjMsNyArMzIzMCw3IEBAIGRlZiBfaW5zdGFsbChvcHRpb25zLCB0ZGljdCk6Ci0gICAg IGlmIG5vdCBvcHRpb25zLm9uX21hc3RlcjoKLSAgICAgICAgIGNsaWVudF9kbnMoY2xpX3NlcnZl clswXSwgaG9zdG5hbWUsIG9wdGlvbnMpCi0gCi0tICAgIHVwZGF0ZV9zc2hfa2V5cyhob3N0bmFt ZSwgcGF0aHMuU1NIX0NPTkZJR19ESVIsIG9wdGlvbnMuY3JlYXRlX3NzaGZwKQotKyAgICB1cGRh dGVfc3NoX2tleXMoaG9zdG5hbWUsIHBhdGhzLlNTSF9DT05GSUdfRElSLCBvcHRpb25zLCBjbGlf c2VydmVyWzBdKQotIAotICAgICB0cnk6Ci0gICAgICAgICBvcy5yZW1vdmUoQ0NBQ0hFX0ZJTEUp Ci1AQCAtMzk4OCw2ICs0MDU1LDEyIEBAIGNsYXNzIENsaWVudEluc3RhbGxJbnRlcmZhY2UoaG9z dG5hbWVfLkhvc3ROYW1lSW5zdGFsbEludGVyZmFjZSwKLSAgICAgICAgIGlmIHZhbHVlIDwgMToK LSAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJleHBlY3RzIGFuIGludGVnZXIgZ3JlYXRl ciB0aGFuIDAuIikKLSAKLSsgICAgZG5zX292ZXJfdGxzID0ga25vYigKLSsgICAgICAgIE5vbmUs Ci0rICAgICAgICBkZXNjcmlwdGlvbj0iQ29uZmlndXJlIEROUyBvdmVyIFRMUyIsCi0rICAgICkK LSsgICAgZG5zX292ZXJfdGxzID0gZW5yb2xsX29ubHkoZG5zX292ZXJfdGxzKQotKwotICAgICBy ZXF1ZXN0X2NlcnQgPSBrbm9iKAotICAgICAgICAgTm9uZSwKLSAgICAgICAgIGRlcHJlY2F0ZWQ9 VHJ1ZSwKLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5IGIvaXBhcGxhdGZv cm0vYmFzZS9wYXRocy5weQotaW5kZXggYjMzOWQyMjAyLi5iMmRhOTQ5OTIgMTAwNjQ0Ci0tLS0g YS9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhz LnB5Ci1AQCAtMTAyLDYgKzEwMiw4IEBAIGNsYXNzIEJhc2VQYXRoTmFtZXNwYWNlOgotICAgICBO QU1FRF9ST09UX0tFWSA9ICIvZXRjL25hbWVkLnJvb3Qua2V5IgotICAgICBOQU1FRF9NQU5BR0VE X0tFWVNfRElSID0gIi92YXIvbmFtZWQvZHluYW1pYyIKLSAgICAgTkFNRURfQ1JZUFRPX1BPTElD WV9GSUxFID0gTm9uZQotKyAgICBVTkJPVU5EX0NPTkZfU1JDID0gJy91c3Ivc2hhcmUvaXBhL2Ns aWVudC91bmJvdW5kLmNvbmYudGVtcGxhdGUnCi0rICAgIFVOQk9VTkRfQ09ORiA9ICIvZXRjL3Vu Ym91bmQvY29uZi5kL3p6ei1pcGEuY29uZiIKLSAgICAgTlNMQ0RfQ09ORiA9ICIvZXRjL25zbGNk LmNvbmYiCi0gICAgIE5TU19MREFQX0NPTkYgPSAiL2V0Yy9uc3NfbGRhcC5jb25mIgotICAgICBO U1NXSVRDSF9DT05GID0gIi9ldGMvbnNzd2l0Y2guY29uZiIKLUBAIC0yMjUsNiArMjI3LDggQEAg Y2xhc3MgQmFzZVBhdGhOYW1lc3BhY2U6Ci0gICAgIE9QRU5TU0xfRElSID0gIi9ldGMvcGtpL3Rs cyIKLSAgICAgT1BFTlNTTF9DRVJUU19ESVIgPSAiL2V0Yy9wa2kvdGxzL2NlcnRzIgotICAgICBP UEVOU1NMX1BSSVZBVEVfRElSID0gIi9ldGMvcGtpL3Rscy9wcml2YXRlIgotKyAgICBCSU5EX0RO U19PVkVSX1RMU19DUlQgPSAiL2V0Yy9wa2kvdGxzL2NlcnRzL2JpbmRfZG90LmNydCIKLSsgICAg QklORF9ETlNfT1ZFUl9UTFNfS0VZID0gIi9ldGMvcGtpL3Rscy9wcml2YXRlL2JpbmRfZG90Lmtl eSIKLSAgICAgUEsxMlVUSUwgPSAiL3Vzci9iaW4vcGsxMnV0aWwiCi0gICAgIFNPRlRIU00yX1VU SUwgPSAiL3Vzci9iaW4vc29mdGhzbTItdXRpbCIKLSAgICAgU1NMR0VUID0gIi91c3IvYmluL3Nz bGdldCIKLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9ybS9iYXNlL3NlcnZpY2VzLnB5IGIvaXBhcGxh dGZvcm0vYmFzZS9zZXJ2aWNlcy5weQotaW5kZXggMjc1NDIyZTMwLi5mY2I2MjZhYTMgMTAwNjQ0 Ci0tLS0gYS9pcGFwbGF0Zm9ybS9iYXNlL3NlcnZpY2VzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9i YXNlL3NlcnZpY2VzLnB5Ci1AQCAtNTMsNyArNTMsNyBAQCB3ZWxsa25vd25zZXJ2aWNlcyA9IFsK LSAgICAgJ25hbWVkJywgJ29kc19lbmZvcmNlcmQnLCAnb2RzX3NpZ25lcmQnLCAnZ3NzcHJveHkn LAotICAgICAnbmZzLXV0aWxzJywgJ3Nzc2QnLCAnTmV0d29ya01hbmFnZXInLCAnaXBhLWN1c3Rv ZGlhJywKLSAgICAgJ2lwYS1kbnNrZXlzeW5jZCcsICdpcGEtb3RwZCcsICdpcGEtb2RzLWV4cG9y dGVyJywKLS0gICAgJ3N5c3RlbWQtcmVzb2x2ZWQnLAotKyAgICAnc3lzdGVtZC1yZXNvbHZlZCcs ICd1bmJvdW5kJywKLSBdCi0gCi0gIyBUaGUgY29tbW9uIHBvcnRzIGZvciB0aGVzZSBzZXJ2aWNl cy4gVGhpcyBpcyB1c2VkIHRvIHdhaXQgZm9yIHRoZQotZGlmZiAtLWdpdCBhL2lwYXB5dGhvbi9p cGF1dGlsLnB5IGIvaXBhcHl0aG9uL2lwYXV0aWwucHkKLWluZGV4IGMyMzdkNTlmYi4uNjgxZjYw NjU1IDEwMDY0NAotLS0tIGEvaXBhcHl0aG9uL2lwYXV0aWwucHkKLSsrKyBiL2lwYXB5dGhvbi9p cGF1dGlsLnB5Ci1AQCAtMjY2LDYgKzI2NiwxOSBAQCBjbGFzcyBDaGVja2VkSVBBZGRyZXNzTG9v cGJhY2soQ2hlY2tlZElQQWRkcmVzcyk6Ci0gICAgICAgICAgICAgICAgICAgZmlsZT1zeXMuc3Rk ZXJyKQotIAotIAotK2NsYXNzIElQQWRkcmVzc0RvVEZvcndhcmRlcihzdHIpOgotKyAgICAiIiJJ UHY0IG9yIElQdjYgYWRkcmVzcyB3aXRoIGFkZGVkIGhvc3RuYW1lIGFzIG5lZWRlZCBmb3IgRE5T IG92ZXIgVExTCi0rICAgIGNvbmZpZ3VyYXRpb24uIEV4YW1wbGU6IDEuMi4zLjQjZG5zLmhvc3Ru YW1lLnRlc3QKLSsgICAgIiIiCi0rICAgIGRlZiBfX2luaXRfXyhzZWxmLCBhZGRyKToKLSsgICAg ICAgIGFkZHJfc3BsaXQgPSBhZGRyLnNwbGl0KCIjIikKLSsgICAgICAgIGlmIGxlbihhZGRyX3Nw bGl0KSAhPSAyIG9yIG5vdCB2YWxpZF9pcChhZGRyX3NwbGl0WzBdKToKLSsgICAgICAgICAgICBy YWlzZSBWYWx1ZUVycm9yKAotKyAgICAgICAgICAgICAgICAiRG9UIGZvcndhcmRlciBtdXN0IGJl IGluIHRoZSBmb3JtYXQgIgotKyAgICAgICAgICAgICAgICAib2YgJzEuMi4zLjQjZG5zLmV4YW1w bGUudGVzdCcuIgotKyAgICAgICAgICAgICkKLSsKLSsKLSBkZWYgdmFsaWRfaXAoYWRkcik6Ci0g ICAgIHJldHVybiBuZXRhZGRyLnZhbGlkX2lwdjQoYWRkcikgb3IgbmV0YWRkci52YWxpZF9pcHY2 KGFkZHIpCi0gCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5 IGIvaXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5Ci1pbmRleCA5MzlmNWYyMWYuLjRm NGFiOWJiYyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2JpbmRpbnN0YW5jZS5weQot KysrIGIvaXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5Ci1AQCAtMjgsNiArMjgsNyBA QCBpbXBvcnQgcmUKLSBpbXBvcnQgc2h1dGlsCi0gaW1wb3J0IHN5cwotIGltcG9ydCB0aW1lCi0r aW1wb3J0IHRleHR3cmFwCi0gCi0gaW1wb3J0IGxkYXAKLSBpbXBvcnQgc2l4Ci1AQCAtNTAsNyAr NTEsNyBAQCBmcm9tIGlwYXB5dGhvbi5hZG1pbnRvb2wgaW1wb3J0IFNjcmlwdEVycm9yCi0gaW1w b3J0IGlwYWxpYgotIGZyb20gaXBhbGliIGltcG9ydCBhcGksIGVycm9ycwotIGZyb20gaXBhbGli LmNvbnN0YW50cyBpbXBvcnQgSVBBX0NBX1JFQ09SRAotLWZyb20gaXBhbGliLmluc3RhbGwgaW1w b3J0IGRuc2ZvcndhcmRlcnMKLStmcm9tIGlwYWxpYi5pbnN0YWxsIGltcG9ydCBkbnNmb3J3YXJk ZXJzLCBjZXJ0bW9uZ2VyCi0gZnJvbSBpcGFwbGF0Zm9ybSBpbXBvcnQgc2VydmljZXMKLSBmcm9t IGlwYXBsYXRmb3JtLnRhc2tzIGltcG9ydCB0YXNrcwotIGZyb20gaXBhcGxhdGZvcm0uY29uc3Rh bnRzIGltcG9ydCBjb25zdGFudHMKLUBAIC02NjgsMTQgKzY2OSwyMCBAQCBjbGFzcyBCaW5kSW5z dGFuY2Uoc2VydmljZS5TZXJ2aWNlKToKLSAKLSAgICAgZGVmIHNldHVwKHNlbGYsIGZxZG4sIGlw X2FkZHJlc3NlcywgcmVhbG1fbmFtZSwgZG9tYWluX25hbWUsIGZvcndhcmRlcnMsCi0gICAgICAg ICAgICAgICBmb3J3YXJkX3BvbGljeSwgcmV2ZXJzZV96b25lcywgem9uZW1ncj1Ob25lLAotLSAg ICAgICAgICAgICAgbm9fZG5zc2VjX3ZhbGlkYXRpb249RmFsc2UpOgotKyAgICAgICAgICAgICAg bm9fZG5zc2VjX3ZhbGlkYXRpb249RmFsc2UsIGRuc19vdmVyX3Rscz1GYWxzZSwKLSsgICAgICAg ICAgICAgIGRuc19vdmVyX3Rsc19jZXJ0PU5vbmUsIGRuc19vdmVyX3Rsc19rZXk9Tm9uZSwKLSsg ICAgICAgICAgICAgIGRuc19wb2xpY3k9Tm9uZSk6Ci0gICAgICAgICAiIiJTZXR1cCBiaW5kaW5z dGFuY2UgZm9yIGluc3RhbGxhdGlvbgotICAgICAgICAgIiIiCi0gICAgICAgICBzZWxmLnNldHVw X3RlbXBsYXRpbmcoCi0gICAgICAgICAgICAgZnFkbj1mcWRuLAotICAgICAgICAgICAgIHJlYWxt X25hbWU9cmVhbG1fbmFtZSwKLSAgICAgICAgICAgICBkb21haW5fbmFtZT1kb21haW5fbmFtZSwK LS0gICAgICAgICAgICBub19kbnNzZWNfdmFsaWRhdGlvbj1ub19kbnNzZWNfdmFsaWRhdGlvbgot KyAgICAgICAgICAgIG5vX2Ruc3NlY192YWxpZGF0aW9uPW5vX2Ruc3NlY192YWxpZGF0aW9uLAot KyAgICAgICAgICAgIGRuc19vdmVyX3Rscz1kbnNfb3Zlcl90bHMsCi0rICAgICAgICAgICAgZG5z X292ZXJfdGxzX2NlcnQ9ZG5zX292ZXJfdGxzX2NlcnQsCi0rICAgICAgICAgICAgZG5zX292ZXJf dGxzX2tleT1kbnNfb3Zlcl90bHNfa2V5LAotKyAgICAgICAgICAgIGRuc19wb2xpY3k9ZG5zX3Bv bGljeQotICAgICAgICAgKQotICAgICAgICAgc2VsZi5pcF9hZGRyZXNzZXMgPSBpcF9hZGRyZXNz ZXMKLSAgICAgICAgIHNlbGYuZm9yd2FyZGVycyA9IGZvcndhcmRlcnMKLUBAIC02ODgsNyArNjk1 LDkgQEAgY2xhc3MgQmluZEluc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAgICAgICAgICAg c2VsZi56b25lbWdyID0gbm9ybWFsaXplX3pvbmVtZ3Ioem9uZW1ncikKLSAKLSAgICAgZGVmIHNl dHVwX3RlbXBsYXRpbmcoCi0tICAgICAgICBzZWxmLCBmcWRuLCByZWFsbV9uYW1lLCBkb21haW5f bmFtZSwgbm9fZG5zc2VjX3ZhbGlkYXRpb249Tm9uZQotKyAgICAgICAgc2VsZiwgZnFkbiwgcmVh bG1fbmFtZSwgZG9tYWluX25hbWUsIG5vX2Ruc3NlY192YWxpZGF0aW9uPU5vbmUsCi0rICAgICAg ICBkbnNfb3Zlcl90bHM9Tm9uZSwgZG5zX292ZXJfdGxzX2NlcnQ9Tm9uZSwgZG5zX292ZXJfdGxz X2tleT1Ob25lLAotKyAgICAgICAgZG5zX3BvbGljeT1Ob25lCi0gICAgICk6Ci0gICAgICAgICAi IiJTZXR1cCBiaW5kaW5zdGFuY2UgZm9yIHRlbXBsYXRpbmcKLSAgICAgICAgICIiIgotQEAgLTY5 OCw2ICs3MDcsMTAgQEAgY2xhc3MgQmluZEluc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAg ICAgICBzZWxmLmhvc3QgPSBmcWRuLnNwbGl0KCIuIilbMF0KLSAgICAgICAgIHNlbGYuc3VmZml4 ID0gaXBhdXRpbC5yZWFsbV90b19zdWZmaXgoc2VsZi5yZWFsbSkKLSAgICAgICAgIHNlbGYubm9f ZG5zc2VjX3ZhbGlkYXRpb24gPSBub19kbnNzZWNfdmFsaWRhdGlvbgotKyAgICAgICAgc2VsZi5k bnNfb3Zlcl90bHMgPSBkbnNfb3Zlcl90bHMKLSsgICAgICAgIHNlbGYuZG5zX292ZXJfdGxzX2Nl cnQgPSBkbnNfb3Zlcl90bHNfY2VydAotKyAgICAgICAgc2VsZi5kbnNfb3Zlcl90bHNfa2V5ID0g ZG5zX292ZXJfdGxzX2tleQotKyAgICAgICAgc2VsZi5kbnNfcG9saWN5ID0gZG5zX3BvbGljeQot ICAgICAgICAgc2VsZi5fc2V0dXBfc3ViX2RpY3QoKQotIAotICAgICBAcHJvcGVydHkKLUBAIC04 NzIsNiArODg1LDI0IEBAIGNsYXNzIEJpbmRJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAg ICAgICAgZWxzZToKLSAgICAgICAgICAgICBjcnlwdG9fcG9saWN5ID0gIi8vIG5vdCBhdmFpbGFi bGUiCi0gCi0rICAgICAgICBpZiBzZWxmLmRuc19vdmVyX3RsczoKLSsgICAgICAgICAgICBuYW1l ZF90bHNfY29uZiA9IHRleHR3cmFwLmRlZGVudCgiIiJcCi0rICAgICAgICAgICAgICAgIHRscyBs b2NhbC10bHMge3sKLSsgICAgICAgICAgICAgICAgICAgIFx0a2V5LWZpbGUgInt9IjsKLSsgICAg ICAgICAgICAgICAgICAgIFx0Y2VydC1maWxlICJ7fSI7Ci0rICAgICAgICAgICAgICAgIH19Owot KyAgICAgICAgICAgICIiIikuZm9ybWF0KHNlbGYuZG5zX292ZXJfdGxzX2tleSwgc2VsZi5kbnNf b3Zlcl90bHNfY2VydCkKLSsgICAgICAgICAgICB1bmVuY3J5cHRlZF9pZmFjZSA9ICgiMTI3LjAu MC4xIiBpZiBzZWxmLmRuc19wb2xpY3kgPT0gImVuZm9yY2VkIgotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVsc2UgImFueSIpCi0rICAgICAgICAgICAgbmFtZWRfdGxzX29wdGlv bnMgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiXAotKyAgICAgICAgICAgICAgICBcdGxpc3Rlbi1vbiB7 ICVzOyB9OwotKyAgICAgICAgICAgICAgICBcdGxpc3Rlbi1vbiB0bHMgbG9jYWwtdGxzIHsgYW55 OyB9OwotKyAgICAgICAgICAgICAgICBcdGxpc3Rlbi1vbi12NiB0bHMgbG9jYWwtdGxzIHsgYW55 OyB9OwotKyAgICAgICAgICAgICIiIiAlIHVuZW5jcnlwdGVkX2lmYWNlKQotKyAgICAgICAgZWxz ZToKLSsgICAgICAgICAgICBuYW1lZF90bHNfb3B0aW9ucyA9ICIiCi0rICAgICAgICAgICAgbmFt ZWRfdGxzX2NvbmYgPSAiIgotKwotICAgICAgICAgc2VsZi5zdWJfZGljdCA9IGRpY3QoCi0gICAg ICAgICAgICAgRlFETj1zZWxmLmZxZG4sCi0gICAgICAgICAgICAgU0VSVkVSX0lEPWlwYWxkYXAu cmVhbG1fdG9fc2VydmVyaWQoc2VsZi5yZWFsbSksCi1AQCAtODkxLDYgKzkyMiw4IEBAIGNsYXNz IEJpbmRJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAgICAgICAgICAgIE5BTUVEX0RBVEFf RElSPWNvbnN0YW50cy5OQU1FRF9EQVRBX0RJUiwKLSAgICAgICAgICAgICBOQU1FRF9aT05FX0NP TU1FTlQ9Y29uc3RhbnRzLk5BTUVEX1pPTkVfQ09NTUVOVCwKLSAgICAgICAgICAgICBOQU1FRF9E TlNTRUNfVkFMSURBVElPTj1zZWxmLl9nZXRfZG5zc2VjX3ZhbGlkYXRpb24oKSwKLSsgICAgICAg ICAgICBOQU1FRF9ETlNfT1ZFUl9UTFNfT1BUSU9OU19DT05GPW5hbWVkX3Rsc19vcHRpb25zLAot KyAgICAgICAgICAgIE5BTUVEX0ROU19PVkVSX1RMU19DT05GPW5hbWVkX3Rsc19jb25mLAotICAg ICAgICAgKQotIAotICAgICBkZWYgX19zZXR1cF9kbnNfY29udGFpbmVyKHNlbGYpOgotQEAgLTEz NDQsNiArMTM3NywxMSBAQCBjbGFzcyBCaW5kSW5zdGFuY2Uoc2VydmljZS5TZXJ2aWNlKToKLSAK LSAgICAgICAgIHNlbGYubmFtZWRfY29uZmxpY3QudW5tYXNrKCkKLSAKLSsgICAgICAgIGNlcnRt b25nZXIuc3RvcF90cmFja2luZyhjZXJ0ZmlsZT1wYXRocy5CSU5EX0ROU19PVkVSX1RMU19DUlQp Ci0rICAgICAgICBjZXJ0bW9uZ2VyLnN0b3BfdHJhY2tpbmcoY2VydGZpbGU9cGF0aHMuQklORF9E TlNfT1ZFUl9UTFNfS0VZKQotKyAgICAgICAgc2VydmljZXMua25vd25zZXJ2aWNlcy51bmJvdW5k LmRpc2FibGUoKQotKyAgICAgICAgc2VydmljZXMua25vd25zZXJ2aWNlcy51bmJvdW5kLnN0b3Ao KQotKwotICAgICAgICAgaXBhdXRpbC5yZW1vdmVfZmlsZShwYXRocy5OQU1FRF9DT05GX0JBSykK LSAgICAgICAgIGlwYXV0aWwucmVtb3ZlX2ZpbGUocGF0aHMuTkFNRURfQ1VTVE9NX0NPTkYpCi0g ICAgICAgICBpcGF1dGlsLnJlbW92ZV9maWxlKHBhdGhzLk5BTUVEX0NVU1RPTV9PUFRJT05TX0NP TkYpCi1AQCAtMTM1Nyw2ICsxMzk1LDggQEAgY2xhc3MgQmluZEluc3RhbmNlKHNlcnZpY2UuU2Vy dmljZSk6Ci0gICAgICAgICAgICAgICAgIHBhc3MKLSAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9y OgotICAgICAgICAgICAgIHBhc3MKLSsgICAgICAgIGlwYXV0aWwucmVtb3ZlX2ZpbGUocGF0aHMu QklORF9ETlNfT1ZFUl9UTFNfQ1JUKQotKyAgICAgICAgaXBhdXRpbC5yZW1vdmVfZmlsZShwYXRo cy5CSU5EX0ROU19PVkVSX1RMU19LRVkpCi0gICAgICAgICBpcGF1dGlsLnJlbW92ZV9rZXl0YWIo c2VsZi5rZXl0YWIpCi0gCi0gICAgICAgICBpcGF1dGlsLnJlbW92ZV9jY2FjaGUocnVuX2FzPXNl bGYuc2VydmljZV91c2VyKQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weSBi L2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weQotaW5kZXggNDdkNzlhZjljLi4yOWNhMGQyZmYgMTAw NjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0 YWxsL2Rucy5weQotQEAgLTIwLDE0ICsyMCwxOCBAQCBmcm9tIHN1YnByb2Nlc3MgaW1wb3J0IENh bGxlZFByb2Nlc3NFcnJvcgotIGZyb20gaXBhbGliIGltcG9ydCBhcGkKLSBmcm9tIGlwYWxpYiBp bXBvcnQgZXJyb3JzCi0gZnJvbSBpcGFsaWIgaW1wb3J0IHV0aWwKLS1mcm9tIGlwYWxpYi5pbnN0 YWxsIGltcG9ydCBob3N0bmFtZSwgc3lzcmVzdG9yZQotK2Zyb20gaXBhbGliIGltcG9ydCB4NTA5 Ci0rZnJvbSBpcGFsaWIuaW5zdGFsbCBpbXBvcnQgaG9zdG5hbWUsIHN5c3Jlc3RvcmUsIGNlcnRt b25nZXIKLSBmcm9tIGlwYWxpYi5pbnN0YWxsLnNlcnZpY2UgaW1wb3J0IGVucm9sbF9vbmx5LCBw cmVwYXJlX29ubHkKLSBmcm9tIGlwYWxpYi5pbnN0YWxsIGltcG9ydCBkbnNmb3J3YXJkZXJzCi0r ZnJvbSBpcGFsaWIuY29uc3RhbnRzIGltcG9ydCBGUUROCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRo cyBpbXBvcnQgcGF0aHMKLSBmcm9tIGlwYXBsYXRmb3JtLmNvbnN0YW50cyBpbXBvcnQgY29uc3Rh bnRzCi0gZnJvbSBpcGFwbGF0Zm9ybSBpbXBvcnQgc2VydmljZXMKLStmcm9tIGlwYXB5dGhvbiBp bXBvcnQgYWRtaW50b29sCi0gZnJvbSBpcGFweXRob24gaW1wb3J0IGlwYXV0aWwKLSBmcm9tIGlw YXB5dGhvbiBpbXBvcnQgZG5zdXRpbAotK2Zyb20gaXBhcHl0aG9uLmNlcnRkYiBpbXBvcnQgRVhU RVJOQUxfQ0FfVFJVU1RfRkxBR1MKLSBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLSBmcm9t IGlwYXB5dGhvbi5kbnN1dGlsIGltcG9ydCBjaGVja196b25lX292ZXJsYXAKLSBmcm9tIGlwYXB5 dGhvbi5pbnN0YWxsIGltcG9ydCB0eXBpbmcKLUBAIC0zNyw3ICs0MSw5IEBAIGZyb20gaXBhcHl0 aG9uLmlwYXV0aWwgaW1wb3J0IHVzZXJfaW5wdXQKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsLmlu c3RhbGx1dGlscyBpbXBvcnQgZ2V0X3NlcnZlcl9pcF9hZGRyZXNzCi0gZnJvbSBpcGFzZXJ2ZXIu aW5zdGFsbC5pbnN0YWxsdXRpbHMgaW1wb3J0IHJlYWRfZG5zX2ZvcndhcmRlcnMKLSBmcm9tIGlw YXNlcnZlci5pbnN0YWxsLmluc3RhbGx1dGlscyBpbXBvcnQgdXBkYXRlX2hvc3RzX2ZpbGUKLStm cm9tIGlwYXNlcnZlci5pbnN0YWxsLmluc3RhbGx1dGlscyBpbXBvcnQgZGVmYXVsdF9zdWJqZWN0 X2Jhc2UKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBiaW5kaW5zdGFuY2UKLStmcm9t IGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBjZXJ0cwotIGZyb20gaXBhc2VydmVyLmluc3RhbGwg aW1wb3J0IGRuc2tleXN5bmNpbnN0YW5jZQotIGZyb20gaXBhc2VydmVyLmluc3RhbGwgaW1wb3J0 IG9kc2V4cG9ydGVyaW5zdGFuY2UKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBvcGVu ZG5zc2VjaW5zdGFuY2UKLUBAIC0xMDgsNiArMTE0LDczIEBAIGRlZiBfZGlzYWJsZV9kbnNzZWMo KToKLSAgICAgICAgICAgICBjb25uLnVwZGF0ZV9lbnRyeShlbnRyeSkKLSAKLSAKLStkZWYgX3Nl dHVwX2Ruc19vdmVyX3RscyhvcHRpb25zKToKLSsgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0aHMu SVBBX0NBX0NSVCkgYW5kIG5vdCBvcHRpb25zLmRuc19vdmVyX3Rsc19jZXJ0OgotKyAgICAgICAg IyByZXF1ZXN0IGNlcnRpZmljYXRlIGZvciBETlMgb3ZlciBUTFMsIHVzaW5nIElQQSBDQQotKyAg ICAgICAgY2VydCA9IHBhdGhzLkJJTkRfRE5TX09WRVJfVExTX0NSVAotKyAgICAgICAga2V5ID0g cGF0aHMuQklORF9ETlNfT1ZFUl9UTFNfS0VZCi0rICAgICAgICBjZXJ0bW9uZ2VyLnJlcXVlc3Rf YW5kX3dhaXRfZm9yX2NlcnQoCi0rICAgICAgICAgICAgY2VydHBhdGg9KGNlcnQsIGtleSksCi0r ICAgICAgICAgICAgcHJpbmNpcGFsPSdETlMvJXNAJXMnICUgKEZRRE4sIGFwaS5lbnYucmVhbG0p LAotKyAgICAgICAgICAgIHN1YmplY3Q9c3RyKEROKCgnQ04nLCBGUUROKSwgZGVmYXVsdF9zdWJq ZWN0X2Jhc2UoYXBpLmVudi5yZWFsbSkpKSwKLSsgICAgICAgICAgICBzdG9yYWdlPSJGSUxFIgot KyAgICAgICAgKQotKyAgICAgICAgY29uc3RhbnRzLk5BTUVEX1VTRVIuY2hvd24oY2VydCwgZ2lk PWNvbnN0YW50cy5OQU1FRF9HUk9VUC5naWQpCi0rICAgICAgICBjb25zdGFudHMuTkFNRURfVVNF Ui5jaG93bihrZXksIGdpZD1jb25zdGFudHMuTkFNRURfR1JPVVAuZ2lkKQotKwotKyAgICAjIHNl dHVwIGFuZCBlbmFibGUgVW5ib3VuZCBhcyByZXNvbHZlcgotKyAgICBmb3J3YXJkX2FkZHJzID0g WyIjIGZvcndhcmQtYWRkcjogc3BlY2lmeSBoZXJlIGZvcndhcmRlcnMiXQotKyAgICBpZiBvcHRp b25zLmRvdF9mb3J3YXJkZXJzOgotKyAgICAgICAgZm9yd2FyZF9hZGRycyA9IFsiZm9yd2FyZC1h ZGRyOiAlcyIgJSBmdwotKyAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZncgaW4gb3B0aW9u cy5kb3RfZm9yd2FyZGVyc10KLSsgICAgaXBhdXRpbC5jb3B5X3RlbXBsYXRlX2ZpbGUoCi0rICAg ICAgICBwYXRocy5VTkJPVU5EX0NPTkZfU1JDLAotKyAgICAgICAgcGF0aHMuVU5CT1VORF9DT05G LAotKyAgICAgICAgZGljdCgKLSsgICAgICAgICAgICBUTFNfQ0VSVF9CVU5ETEVfUEFUSD1vcy5w YXRoLmpvaW4oCi0rICAgICAgICAgICAgICAgIHBhdGhzLk9QRU5TU0xfQ0VSVFNfRElSLCAiY2Et YnVuZGxlLmNydCIpLAotKyAgICAgICAgICAgIEZPUldBUkRfQUREUlM9IlxuIi5qb2luKGZvcndh cmRfYWRkcnMpCi0rICAgICAgICApCi0rICAgICkKLSsKLSsgICAgc3IgPSBzZXJ2aWNlcy5rbm93 bnNlcnZpY2VzWyJzeXN0ZW1kLXJlc29sdmVkIl0KLSsgICAgaWYgc3IuaXNfcnVubmluZygpOgot KyAgICAgICAgc3Iuc3RvcCgpCi0rICAgICAgICBzci5kaXNhYmxlKCkKLSsKLSsgICAgYXBpLkNv bW1hbmQuZG5zc2VydmVyX21vZCgKLSsgICAgICAgIEZRRE4sCi0rICAgICAgICBpZG5zZm9yd2Fy ZGVycz0iMTI3LjAuMC41NSIsCi0rICAgICAgICBpZG5zZm9yd2FyZHBvbGljeT0iZmlyc3QiCi0r ICAgICkKLSsKLSsgICAgbm0gPSBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJOZXR3b3JrTWFuYWdl ciJdCi0rICAgIGlmIG5tLmlzX2VuYWJsZWQoKToKLSsgICAgICAgIHdpdGggb3BlbihwYXRocy5O RVRXT1JLX01BTkFHRVJfSVBBX0NPTkYsICJ3IikgYXMgZjoKLSsgICAgICAgICAgICBkbnNfbm9u ZSA9IFsKLSsgICAgICAgICAgICAgICAgIiMgYXV0by1nZW5lcmF0ZWQgYnkgSVBBIGluc3RhbGxl ciIsCi0rICAgICAgICAgICAgICAgICJbbWFpbl0iLAotKyAgICAgICAgICAgICAgICAiZG5zPW5v bmVcbiIKLSsgICAgICAgICAgICBdCi0rICAgICAgICAgICAgZi53cml0ZSgiXG4iLmpvaW4oZG5z X25vbmUpKQotKyAgICAgICAgbm0ucmVsb2FkX29yX3Jlc3RhcnQoKQotKwotKyAgICAjIE92ZXJ3 cml0ZSByZXNvbHYuY29uZiB0byBwb2ludCB0byBJUEEKLSsgICAgY2ZnID0gWwotKyAgICAgICAg IiMgYXV0by1nZW5lcmF0ZWQgYnkgSVBBIGluc3RhbGxlciIsCi0rICAgICAgICAic2VhcmNoIC4i LAotKyAgICAgICAgIm5hbWVzZXJ2ZXIgMTI3LjAuMC4xXG4iCi0rICAgIF0KLSsgICAgZnN0b3Jl ID0gc3lzcmVzdG9yZS5GaWxlU3RvcmUocGF0aHMuU1lTUkVTVE9SRSkKLSsgICAgZnN0b3JlLmJh Y2t1cF9maWxlKHBhdGhzLlJFU09MVl9DT05GKQotKyAgICB3aXRoIG9wZW4ocGF0aHMuUkVTT0xW X0NPTkYsICd3JykgYXMgZjoKLSsgICAgICAgIGYud3JpdGUoJ1xuJy5qb2luKGNmZykpCi0rICAg ICAgICBvcy5jaG1vZChwYXRocy5SRVNPTFZfQ09ORiwgMG82NDQpCi0rCi0rICAgIHNlcnZpY2Vz Lmtub3duc2VydmljZXMudW5ib3VuZC5lbmFibGUoKQotKyAgICBzZXJ2aWNlcy5rbm93bnNlcnZp Y2VzLnVuYm91bmQucmVzdGFydCgpCi0rCi0rCi0gZGVmIHBhY2thZ2VfY2hlY2soZXhjZXB0aW9u KToKLSAgICAgaWYgbm90IG9zLnBhdGguaXNmaWxlKHBhdGhzLklQQV9ETlNfSU5TVEFMTCk6Ci0g ICAgICAgICByYWlzZSBleGNlcHRpb24oCi1AQCAtMjg3LDkgKzM2MCwxNCBAQCBkZWYgaW5zdGFs bF9jaGVjayhzdGFuZGFsb25lLCBhcGksIHJlcGxpY2EsIG9wdGlvbnMsIGhvc3RuYW1lKToKLSAK LSAgICAgaWYgb3B0aW9ucy5ub19mb3J3YXJkZXJzOgotICAgICAgICAgb3B0aW9ucy5mb3J3YXJk ZXJzID0gW10KLS0gICAgZWxpZiBvcHRpb25zLmZvcndhcmRlcnMgb3Igb3B0aW9ucy5hdXRvX2Zv cndhcmRlcnM6Ci0rICAgIGVsaWYgKG9wdGlvbnMuZm9yd2FyZGVycwotKyAgICAgICAgICBvciBv cHRpb25zLmRvdF9mb3J3YXJkZXJzIG9yIG9wdGlvbnMuYXV0b19mb3J3YXJkZXJzKToKLSAgICAg ICAgIGlmIG5vdCBvcHRpb25zLmZvcndhcmRlcnM6Ci0tICAgICAgICAgICAgb3B0aW9ucy5mb3J3 YXJkZXJzID0gW10KLSsgICAgICAgICAgICBpZiBvcHRpb25zLmRvdF9mb3J3YXJkZXJzOgotKyAg ICAgICAgICAgICAgICBvcHRpb25zLmZvcndhcmRlcnMgPSBbZncuc3BsaXQoIiMiKVswXQotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGZ3IGluIG9wdGlvbnMuZG90 X2ZvcndhcmRlcnNdCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAgICAgb3B0aW9u cy5mb3J3YXJkZXJzID0gW10KLSAgICAgICAgIGlmIG9wdGlvbnMuYXV0b19mb3J3YXJkZXJzOgot ICAgICAgICAgICAgIG9wdGlvbnMuZm9yd2FyZGVycy5leHRlbmQoZG5zZm9yd2FyZGVycy5nZXRf bmFtZXNlcnZlcnMoKSkKLSAgICAgZWxpZiBzdGFuZGFsb25lIG9yIG5vdCByZXBsaWNhOgotQEAg LTMzMCwxMSArNDA4LDQ2IEBAIGRlZiBpbnN0YWxsKHN0YW5kYWxvbmUsIHJlcGxpY2EsIG9wdGlv bnMsIGFwaT1hcGkpOgotICAgICAgICAgIyBvdGhlcndpc2UgdGhpcyBpcyBkb25lIGJ5IHNlcnZl ci9yZXBsaWNhIGluc3RhbGxlcgotICAgICAgICAgdXBkYXRlX2hvc3RzX2ZpbGUoaXBfYWRkcmVz c2VzLCBhcGkuZW52Lmhvc3QsIGZzdG9yZSkKLSAKLSsgICAgaWYgb3MucGF0aC5pc2ZpbGUocGF0 aHMuSVBBX0NBX0NSVCkgYW5kIG5vdCBvcHRpb25zLmRuc19vdmVyX3Rsc19jZXJ0OgotKyAgICAg ICAgZG90X2NlcnQgPSBwYXRocy5CSU5EX0ROU19PVkVSX1RMU19DUlQKLSsgICAgICAgIGRvdF9r ZXkgPSBwYXRocy5CSU5EX0ROU19PVkVSX1RMU19LRVkKLSsgICAgZWxpZiBvcHRpb25zLmRuc19v dmVyX3Rsc19jZXJ0IGFuZCBvcHRpb25zLmRuc19vdmVyX3Rsc19rZXk6Ci0rICAgICAgICAjIENo ZWNrIGNlcnRpZmljYXRlIHZhbGlkaXR5IGZpcnN0Ci0rICAgICAgICB3aXRoIGNlcnRzLk5TU0Rh dGFiYXNlKCkgYXMgdG1wZGI6Ci0rICAgICAgICAgICAgdG1wZGIuY3JlYXRlX2RiKCkKLSsgICAg ICAgICAgICBjYV9jZXJ0cyA9IHg1MDkubG9hZF9jZXJ0aWZpY2F0ZV9saXN0X2Zyb21fZmlsZSgK LSsgICAgICAgICAgICAgICAgb3B0aW9ucy5kbnNfb3Zlcl90bHNfY2VydCkKLSsgICAgICAgICAg ICBuaWNrbmFtZXMgPSBbXQotKyAgICAgICAgICAgIGZvciBjYV9jZXJ0IGluIGNhX2NlcnRzOgot KyAgICAgICAgICAgICAgICBuaWNrbmFtZXMuYXBwZW5kKHN0cihETihjYV9jZXJ0LnN1YmplY3Qp KSkKLSsgICAgICAgICAgICAgICAgdG1wZGIuYWRkX2NlcnQoCi0rICAgICAgICAgICAgICAgICAg ICBjYV9jZXJ0LCBzdHIoRE4oY2FfY2VydC5zdWJqZWN0KSksIEVYVEVSTkFMX0NBX1RSVVNUX0ZM QUdTKQotKyAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgZm9yIG5pY2sgaW4gbmlj a25hbWVzOgotKyAgICAgICAgICAgICAgICAgICAgdG1wZGIudmVyaWZ5X2NhX2NlcnRfdmFsaWRp dHkobmljaykKLSsgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgotKyAgICAgICAg ICAgICAgICByYWlzZSBhZG1pbnRvb2wuU2NyaXB0RXJyb3IoCi0rICAgICAgICAgICAgICAgICAg ICAiTm90IGEgdmFsaWQgQ0EgY2VydGlmaWNhdGU6ICVzIiAlIGUpCi0rICAgICAgICBkb3RfY2Vy dCA9IG9wdGlvbnMuZG5zX292ZXJfdGxzX2NlcnQKLSsgICAgICAgIGRvdF9rZXkgPSBvcHRpb25z LmRuc19vdmVyX3Rsc19rZXkKLSsgICAgZWxzZToKLSsgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJv cigKLSsgICAgICAgICAgICAiQ2VydGlmaWNhdGUgZm9yIEROUyBvdmVyIFRMUyBub3Qgc3BlY2lm aWVkICIKLSsgICAgICAgICAgICAiYW5kIElQQSBDQSBpcyBub3QgcHJlc2VudC4iCi0rICAgICAg ICApCi0rCi0rICAgIGlmIG5vdCBvcHRpb25zLmZvcndhcmRlcnMgYW5kIG9wdGlvbnMuZG90X2Zv cndhcmRlcnM6Ci0rICAgICAgICBvcHRpb25zLmZvcndhZGVycyA9IFtmdy5zcGxpdCgiIyIpWzBd IGZvciBmdyBpbiBvcHRpb25zLmRvdF9mb3J3YXJkZXJzXQotKwotICAgICBiaW5kID0gYmluZGlu c3RhbmNlLkJpbmRJbnN0YW5jZShmc3RvcmUsIGFwaT1hcGkpCi0gICAgIGJpbmQuc2V0dXAoYXBp LmVudi5ob3N0LCBpcF9hZGRyZXNzZXMsIGFwaS5lbnYucmVhbG0sIGFwaS5lbnYuZG9tYWluLAot ICAgICAgICAgICAgICAgIG9wdGlvbnMuZm9yd2FyZGVycywgb3B0aW9ucy5mb3J3YXJkX3BvbGlj eSwKLSAgICAgICAgICAgICAgICByZXZlcnNlX3pvbmVzLCB6b25lbWdyPW9wdGlvbnMuem9uZW1n ciwKLS0gICAgICAgICAgICAgICBub19kbnNzZWNfdmFsaWRhdGlvbj1vcHRpb25zLm5vX2Ruc3Nl Y192YWxpZGF0aW9uKQotKyAgICAgICAgICAgICAgIG5vX2Ruc3NlY192YWxpZGF0aW9uPW9wdGlv bnMubm9fZG5zc2VjX3ZhbGlkYXRpb24sCi0rICAgICAgICAgICAgICAgZG5zX292ZXJfdGxzPW9w dGlvbnMuZG5zX292ZXJfdGxzLAotKyAgICAgICAgICAgICAgIGRuc19vdmVyX3Rsc19jZXJ0PWRv dF9jZXJ0LAotKyAgICAgICAgICAgICAgIGRuc19vdmVyX3Rsc19rZXk9ZG90X2tleSwKLSsgICAg ICAgICAgICAgICBkbnNfcG9saWN5PW9wdGlvbnMuZG5zX3BvbGljeSkKLSAKLSAgICAgaWYgc3Rh bmRhbG9uZSBhbmQgbm90IG9wdGlvbnMudW5hdHRlbmRlZDoKLSAgICAgICAgIHByaW50KCIiKQot QEAgLTM0Myw2ICs0NTYsMTEgQEAgZGVmIGluc3RhbGwoc3RhbmRhbG9uZSwgcmVwbGljYSwgb3B0 aW9ucywgYXBpPWFwaSk6Ci0gICAgICAgICBwcmludCgiIikKLSAKLSAgICAgYmluZC5jcmVhdGVf aW5zdGFuY2UoKQotKwotKyAgICBpZiBvcHRpb25zLmRuc19vdmVyX3RsczoKLSsgICAgICAgIHBy aW50KCJTZXR0aW5nIHVwIEROUyBvdmVyIFRMUyIpCi0rICAgICAgICBfc2V0dXBfZG5zX292ZXJf dGxzKG9wdGlvbnMpCi0rCi0gICAgIHByaW50KCJSZXN0YXJ0aW5nIHRoZSB3ZWIgc2VydmVyIHRv IHBpY2sgdXAgcmVzb2x2LmNvbmYgY2hhbmdlcyIpCi0gICAgIHNlcnZpY2VzLmtub3duc2Vydmlj ZXMuaHR0cGQucmVzdGFydChjYXB0dXJlX291dHB1dD1UcnVlKQotIAotQEAgLTM3MCw2ICs0ODgs MTIgQEAgZGVmIGluc3RhbGwoc3RhbmRhbG9uZSwgcmVwbGljYSwgb3B0aW9ucywgYXBpPWFwaSk6 Ci0gICAgIGJpbmQudXBkYXRlX3N5c3RlbV9yZWNvcmRzKCkKLSAKLSAgICAgaWYgc3RhbmRhbG9u ZToKLSsgICAgICAgIGlmIG9wdGlvbnMuZG5zX292ZXJfdGxzIGFuZCBvcHRpb25zLmRuc19wb2xp Y3kgPT0gImVuZm9yY2VkIjoKLSsgICAgICAgICAgICBkbnNfcG9ydCA9ICI4NTMiCi0rICAgICAg ICBlbGlmIG9wdGlvbnMuZG5zX292ZXJfdGxzOgotKyAgICAgICAgICAgIGRuc19wb3J0ID0gIjUz LCA4NTMiCi0rICAgICAgICBlbHNlOgotKyAgICAgICAgICAgIGRuc19wb3J0ID0gIjUzIgotICAg ICAgICAgcHJpbnQoIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIpCi0gICAgICAgICBwcmludCgiU2V0 dXAgY29tcGxldGUiKQotICAgICAgICAgcHJpbnQoIiIpCi1AQCAtMzc4LDE0ICs1MDIsMjIgQEAg ZGVmIGluc3RhbGwoc3RhbmRhbG9uZSwgcmVwbGljYSwgb3B0aW9ucywgYXBpPWFwaSk6Ci0gICAg ICAgICBwcmludCgiIikKLSAgICAgICAgIHByaW50KCJcdFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGVz ZSBuZXR3b3JrIHBvcnRzIGFyZSBvcGVuOiIpCi0gICAgICAgICBwcmludCgiXHRcdFRDUCBQb3J0 czoiKQotLSAgICAgICAgcHJpbnQoIlx0XHQgICogNTM6IGJpbmQiKQotKyAgICAgICAgcHJpbnQo ZiJcdFx0ICAqIHtkbnNfcG9ydH06IGJpbmQiKQotICAgICAgICAgcHJpbnQoIlx0XHRVRFAgUG9y dHM6IikKLS0gICAgICAgIHByaW50KCJcdFx0ICAqIDUzOiBiaW5kIikKLSsgICAgICAgIHByaW50 KGYiXHRcdCAgKiB7ZG5zX3BvcnR9OiBiaW5kIikKLSAgICAgZWxpZiBub3Qgc3RhbmRhbG9uZSBh bmQgcmVwbGljYToKLSAgICAgICAgIHByaW50KCIiKQotICAgICAgICAgYmluZC5jaGVja19nbG9i YWxfY29uZmlndXJhdGlvbigpCi0gICAgICAgICBwcmludCgiIikKLSAKLSsgICAgaWYgb3B0aW9u cy5kbnNfb3Zlcl90bHM6Ci0rICAgICAgICBwb2xpY3kgPSAiZW5mb3JjZWQiIGlmIG9wdGlvbnMu ZG5zX3BvbGljeSA9PSAiZW5mb3JjZWQiIGVsc2UgInJlbGF4ZWQiCi0rICAgICAgICBwcmludCgi IikKLSsgICAgICAgIHByaW50KCgiRE5TIGVuY3J5cHRpb24gc3VwcG9ydCB3YXMgZW5hYmxlZCAi Ci0rICAgICAgICAgICAgICAgIndpdGggcG9saWN5ICd7fScuIi5mb3JtYXQocG9saWN5KSkpCi0r ICAgICAgICBwcmludCgoIlVuYm91bmQgaXMgY29uZmlndXJlZCB0byBsaXN0ZW4gb24gMTI3LjAu MC41NTo1MyBhbmQgIgotKyAgICAgICAgICAgICAgICJmb3J3YXJkIHRvIHVwc3RyZWFtIERvVCBz ZXJ2ZXJzLiIpKQotKwotIAotIGRlZiB1bmluc3RhbGxfY2hlY2sob3B0aW9ucyk6Ci0gICAgICMg dGVzdCBpZiBzZXJ2ZXIgaXMgRE5TU0VDIGtleSBtYXN0ZXIKLUBAIC00MjQsNiArNTU2LDEwIEBA IGNsYXNzIEROU0ZvcndhcmRQb2xpY3koZW51bS5FbnVtKToKLSAgICAgRklSU1QgPSAnZmlyc3Qn Ci0gCi0gCi0rY2xhc3MgRW5jcnlwdGVkRE5TUG9saWN5KGVudW0uRW51bSk6Ci0rICAgIFJFTEFY RUQgPSAncmVsYXhlZCcKLSsgICAgRU5GT1JDRUQgPSAnZW5mb3JjZWQnCi0rCi0gQGdyb3VwCi0g Y2xhc3MgRE5TSW5zdGFsbEludGVyZmFjZShob3N0bmFtZS5Ib3N0TmFtZUluc3RhbGxJbnRlcmZh Y2UpOgotICAgICAiIiIKLUBAIC01MzYsNiArNjcyLDQwIEBAIGNsYXNzIEROU0luc3RhbGxJbnRl cmZhY2UoaG9zdG5hbWUuSG9zdE5hbWVJbnN0YWxsSW50ZXJmYWNlKToKLSAgICAgKQotICAgICBu b19kbnNzZWNfdmFsaWRhdGlvbiA9IGVucm9sbF9vbmx5KG5vX2Ruc3NlY192YWxpZGF0aW9uKQot IAotKyAgICBkbnNfb3Zlcl90bHMgPSBrbm9iKAotKyAgICAgICAgTm9uZSwKLSsgICAgICAgIGRl c2NyaXB0aW9uPSJDb25maWd1cmUgRE5TIG92ZXIgVExTIiwKLSsgICAgKQotKyAgICBkbnNfb3Zl cl90bHMgPSBlbnJvbGxfb25seShkbnNfb3Zlcl90bHMpCi0rCi0rICAgIGRvdF9mb3J3YXJkZXJz ID0ga25vYigKLSsgICAgICAgIHR5cGluZy5MaXN0W2lwYXV0aWwuSVBBZGRyZXNzRG9URm9yd2Fy ZGVyXSwgTm9uZSwKLSsgICAgICAgIGRlc2NyaXB0aW9uPSgiQWRkIGEgRE5TIG92ZXIgVExTIGZv cndhcmRlci4gIgotKyAgICAgICAgICAgICAgICAgICAgICJUaGlzIG9wdGlvbiBjYW4gYmUgdXNl ZCBtdWx0aXBsZSB0aW1lcyIpLAotKyAgICAgICAgY2xpX25hbWVzPSctLWRvdC1mb3J3YXJkZXIn LAotKyAgICApCi0rICAgIGRvdF9mb3J3YXJkZXJzID0gZW5yb2xsX29ubHkoZG90X2ZvcndhcmRl cnMpCi0rCi0rICAgIGRuc19vdmVyX3Rsc19jZXJ0ID0ga25vYigKLSsgICAgICAgIHN0ciwgTm9u ZSwKLSsgICAgICAgIGRlc2NyaXB0aW9uPSgiQ2VydGlmaWNhdGUgdG8gdXNlIGZvciBETlMgb3Zl ciBUTFMuICIKLSsgICAgICAgICAgICAgICAgICAgICAiSWYgZW1wdHksIGEgbmV3IGNlcnRpZmlj YXRlIHdpbGwgYmUgIgotKyAgICAgICAgICAgICAgICAgICAgICJyZXF1ZXN0ZWQgZnJvbSBJUEEg Q0EiKSwKLSsgICAgKQotKyAgICBkbnNfb3Zlcl90bHNfY2VydCA9IGVucm9sbF9vbmx5KGRuc19v dmVyX3Rsc19jZXJ0KQotKwotKyAgICBkbnNfb3Zlcl90bHNfa2V5ID0ga25vYigKLSsgICAgICAg IHN0ciwgTm9uZSwKLSsgICAgICAgIGRlc2NyaXB0aW9uPSJLZXkgZm9yIGNlcnRpZmljYXRlIHNw ZWNpZmllZCBpbiAtLWRucy1vdmVyLXRscy1jZXJ0IiwKLSsgICAgKQotKyAgICBkbnNfb3Zlcl90 bHNfa2V5ID0gZW5yb2xsX29ubHkoZG5zX292ZXJfdGxzX2tleSkKLSsKLSsgICAgZG5zX3BvbGlj eSA9IGtub2IoCi0rICAgICAgICBFbmNyeXB0ZWRETlNQb2xpY3ksICdyZWxheGVkJywKLSsgICAg ICAgIGRlc2NyaXB0aW9uPSgiRW5jcnlwdGVkIEROUyBwb2xpY3kiKSwKLSsgICAgKQotKyAgICBk bnNfcG9saWN5ID0gZW5yb2xsX29ubHkoZG5zX3BvbGljeSkKLSsKLSAgICAgZG5zc2VjX21hc3Rl ciA9IEZhbHNlCi0gICAgIGRpc2FibGVfZG5zc2VjX21hc3RlciA9IEZhbHNlCi0gICAgIGthc3Bf ZGJfZmlsZSA9IE5vbmUKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvX19p bml0X18ucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvX19pbml0X18ucHkKLWluZGV4IDg1 N2IwOGY5Zi4uYzZhODg1ODVhIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmVy L19faW5pdF9fLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvX19pbml0X18ucHkK LUBAIC0yMSw2ICsyMSw3IEBAIGZyb20gaXBhbGliLmluc3RhbGwuc2VydmljZSBpbXBvcnQgKGVu cm9sbF9vbmx5LAotIGZyb20gaXBhcHl0aG9uLmluc3RhbGwgaW1wb3J0IHR5cGluZwotIGZyb20g aXBhcHl0aG9uLmluc3RhbGwuY29yZSBpbXBvcnQgZ3JvdXAsIGtub2IsIGV4dGVuZF9rbm9iCi0g ZnJvbSBpcGFweXRob24uaW5zdGFsbC5jb21tb24gaW1wb3J0IHN0ZXAKLStmcm9tIGlwYXBsYXRm b3JtIGltcG9ydCBzZXJ2aWNlcwotIAotIGZyb20gLmluc3RhbGwgaW1wb3J0IHZhbGlkYXRlX2Fk bWluX3Bhc3N3b3JkLCB2YWxpZGF0ZV9kbV9wYXNzd29yZAotIGZyb20gLmluc3RhbGwgaW1wb3J0 IGdldF9taW5faWRzdGFydAotQEAgLTQ0Miw2ICs0NDMsMTggQEAgY2xhc3MgU2VydmVySW5zdGFs bEludGVyZmFjZShTZXJ2ZXJDZXJ0aWZpY2F0ZUluc3RhbGxJbnRlcmZhY2UsCi0gICAgICAgICAg ICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICJZb3UgY2Fu bm90IHNwZWNpZnkgYSAtLW5vLWRuc3NlYy12YWxpZGF0aW9uIG9wdGlvbiAiCi0gICAgICAgICAg ICAgICAgICAgICAid2l0aG91dCB0aGUgLS1zZXR1cC1kbnMgb3B0aW9uIikKLSsgICAgICAgICAg ICBpZiBzZWxmLmRvdF9mb3J3YXJkZXJzOgotKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1l RXJyb3IoCi0rICAgICAgICAgICAgICAgICAgICAiWW91IGNhbm5vdCBzcGVjaWZ5IGEgLS1kb3Qt Zm9yd2FyZGVyIG9wdGlvbiAiCi0rICAgICAgICAgICAgICAgICAgICAid2l0aG91dCB0aGUgLS1z ZXR1cC1kbnMgb3B0aW9uIikKLSsgICAgICAgICAgICBpZiBzZWxmLmRuc19vdmVyX3Rsc19jZXJ0 OgotKyAgICAgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCi0rICAgICAgICAgICAgICAg ICAgICAiWW91IGNhbm5vdCBzcGVjaWZ5IGEgLS1kbnMtb3Zlci10bHMtY2VydCBvcHRpb24gIgot KyAgICAgICAgICAgICAgICAgICAgIndpdGhvdXQgdGhlIC0tc2V0dXAtZG5zIG9wdGlvbiIpCi0r ICAgICAgICAgICAgaWYgc2VsZi5kbnNfb3Zlcl90bHNfa2V5OgotKyAgICAgICAgICAgICAgICBy YWlzZSBSdW50aW1lRXJyb3IoCi0rICAgICAgICAgICAgICAgICAgICAiWW91IGNhbm5vdCBzcGVj aWZ5IGEgLS1kbnMtb3Zlci10bHMta2V5IG9wdGlvbiAiCi0rICAgICAgICAgICAgICAgICAgICAi d2l0aG91dCB0aGUgLS1zZXR1cC1kbnMgb3B0aW9uIikKLSAgICAgICAgIGVsaWYgc2VsZi5mb3J3 YXJkZXJzIGFuZCBzZWxmLm5vX2ZvcndhcmRlcnM6Ci0gICAgICAgICAgICAgcmFpc2UgUnVudGlt ZUVycm9yKAotICAgICAgICAgICAgICAgICAiWW91IGNhbm5vdCBzcGVjaWZ5IGEgLS1mb3J3YXJk ZXIgb3B0aW9uIHRvZ2V0aGVyIHdpdGggIgotQEAgLTQ1OCw3ICs0NzEsMzIgQEAgY2xhc3MgU2Vy dmVySW5zdGFsbEludGVyZmFjZShTZXJ2ZXJDZXJ0aWZpY2F0ZUluc3RhbGxJbnRlcmZhY2UsCi0g ICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAotICAgICAgICAgICAgICAgICAiWW91IGNh bm5vdCBzcGVjaWZ5IGEgLS1hdXRvLXJldmVyc2Ugb3B0aW9uIHRvZ2V0aGVyIHdpdGggIgotICAg ICAgICAgICAgICAgICAiLS1uby1yZXZlcnNlIikKLS0KLSsgICAgICAgIGVsaWYgc2VsZi5kb3Rf Zm9yd2FyZGVycyBhbmQgbm90IHNlbGYuZG5zX292ZXJfdGxzOgotKyAgICAgICAgICAgIHJhaXNl IFJ1bnRpbWVFcnJvcigKLSsgICAgICAgICAgICAgICAgIllvdSBjYW5ub3Qgc3BlY2lmeSBhIC0t ZG90LWZvcndhcmRlciBvcHRpb24gIgotKyAgICAgICAgICAgICAgICAid2l0aG91dCB0aGUgLS1k bnMtb3Zlci10bHMgb3B0aW9uIikKLSsgICAgICAgIGVsaWYgKHNlbGYuZG5zX292ZXJfdGxzCi0r ICAgICAgICAgICAgICBhbmQgbm90IHNlcnZpY2VzLmtub3duc2VydmljZXNbInVuYm91bmQiXS5p c19pbnN0YWxsZWQoKSk6Ci0rICAgICAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKAotKyAgICAg ICAgICAgICAgICAiVG8gZW5hYmxlIEROUyBvdmVyIFRMUywgcGFja2FnZSBpcGEtc2VydmVyLWVu Y3J5cHRlZC1kbnMgIgotKyAgICAgICAgICAgICAgICAibXVzdCBiZSBpbnN0YWxsZWQuIgotKyAg ICAgICAgICAgICkKLSsgICAgICAgIGVsaWYgc2VsZi5kbnNfcG9saWN5ID09ICJlbmZvcmNlZCIg YW5kIG5vdCBzZWxmLmRuc19vdmVyX3RsczoKLSsgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJy b3IoCi0rICAgICAgICAgICAgICAgICJZb3UgY2Fubm90IHNwZWNpZnkgYSAtLWRucy1wb2xpY3kg b3B0aW9uICIKLSsgICAgICAgICAgICAgICAgIndpdGhvdXQgdGhlIC0tZG5zLW92ZXItdGxzIG9w dGlvbiIpCi0rICAgICAgICBlbGlmIHNlbGYuZG5zX292ZXJfdGxzX2NlcnQgYW5kIG5vdCBzZWxm LmRuc19vdmVyX3RsczoKLSsgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCi0rICAgICAg ICAgICAgICAgICJZb3UgY2Fubm90IHNwZWNpZnkgYSAtLWRucy1vdmVyLXRscy1jZXJ0IG9wdGlv biAiCi0rICAgICAgICAgICAgICAgICJ3aXRob3V0IHRoZSAtLWRucy1vdmVyLXRscyBvcHRpb24i KQotKyAgICAgICAgZWxpZiBzZWxmLmRuc19vdmVyX3Rsc19rZXkgYW5kIG5vdCBzZWxmLmRuc19v dmVyX3RsczoKLSsgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoCi0rICAgICAgICAgICAg ICAgICJZb3UgY2Fubm90IHNwZWNpZnkgYSAtLWRucy1vdmVyLXRscy1rZXkgb3B0aW9uICIKLSsg ICAgICAgICAgICAgICAgIndpdGhvdXQgdGhlIC0tZG5zLW92ZXItdGxzIG9wdGlvbiIpCi0rICAg ICAgICBlbGlmIGJvb2woc2VsZi5kbnNfb3Zlcl90bHNfa2V5KSAhPSBib29sKHNlbGYuZG5zX292 ZXJfdGxzX2NlcnQpOgotKyAgICAgICAgICAgIHJhaXNlIFJ1bnRpbWVFcnJvcigKLSsgICAgICAg ICAgICAgICAgIllvdSBjYW5ub3Qgc3BlY2lmeSBhIC0tZG5zLW92ZXItdGxzLWtleSBvcHRpb24g IgotKyAgICAgICAgICAgICAgICAid2l0aG91dCB0aGUgLS1kbnMtb3Zlci10bHMtY2VydCBvcHRp b24gYW5kIHZpY2UgdmVyc2EiKQotICAgICAgICAgaWYgbm90IHNlbGYuc2V0dXBfYWR0cnVzdDoK LSAgICAgICAgICAgICBpZiBzZWxmLmFkZF9hZ2VudHM6Ci0gICAgICAgICAgICAgICAgIHJhaXNl IFJ1bnRpbWVFcnJvcigKLUBAIC01MDQsMTIgKzU0MiwxOCBAQCBjbGFzcyBTZXJ2ZXJJbnN0YWxs SW50ZXJmYWNlKFNlcnZlckNlcnRpZmljYXRlSW5zdGFsbEludGVyZmFjZSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAiSW4gdW5hdHRlbmRlZCBtb2RlIHlvdSBuZWVkIHRvIHByb3ZpZGUgYXQg bGVhc3QgLXIsICIKLSAgICAgICAgICAgICAgICAgICAgICAgICAiLXAgYW5kIC1hIG9wdGlvbnMi KQotICAgICAgICAgICAgICAgICBpZiBzZWxmLnNldHVwX2RuczoKLS0gICAgICAgICAgICAgICAg ICAgIGlmIChub3Qgc2VsZi5mb3J3YXJkZXJzIGFuZAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBub3Qgc2VsZi5ub19mb3J3YXJkZXJzIGFuZAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBub3Qgc2VsZi5hdXRvX2ZvcndhcmRlcnMpOgotKyAgICAgICAgICAgICAgICAgICAgaWYg KG5vdCBzZWxmLmZvcndhcmRlcnMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG5v dCBzZWxmLm5vX2ZvcndhcmRlcnMKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIG5v dCBzZWxmLmF1dG9fZm9yd2FyZGVycwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQg bm90IHNlbGYuZG90X2ZvcndhcmRlcnMpOgotICAgICAgICAgICAgICAgICAgICAgICAgIHJhaXNl IFJ1bnRpbWVFcnJvcigKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIllvdSBtdXN0IHNw ZWNpZnkgYXQgbGVhc3Qgb25lIG9mIC0tZm9yd2FyZGVyLCAiCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICItLWF1dG8tZm9yd2FyZGVycywgb3IgLS1uby1mb3J3YXJkZXJzIG9wdGlvbnMi KQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1hdXRvLWZvcndhcmRlcnMsIC0tZG90 LWZvcndhcmRlciBvciAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLW5vLWZvcndh cmRlcnMgb3B0aW9ucyIpCi0rICAgICAgICAgICAgICAgICAgICBlbGlmIHNlbGYuZG5zX292ZXJf dGxzIGFuZCBub3Qgc2VsZi5kb3RfZm9yd2FyZGVyczoKLSsgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZSBSdW50aW1lRXJyb3IoCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICJZb3Ug bXVzdCBzcGVjaWZ5IC0tZG90LWZvcndhcmRlciAiCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJ3aGVuIGVuYWJsaW5nIEROUyBvdmVyIFRMUyIpCi0gCi0gICAgICAgICAgICAgYW55X2ln bm9yZV9vcHRpb25fdHJ1ZSA9IGFueSgKLSAgICAgICAgICAgICAgICAgW3NlbGYuaWdub3JlX3Rv cG9sb2d5X2Rpc2Nvbm5lY3QsIHNlbGYuaWdub3JlX2xhc3Rfb2Zfcm9sZV0pCi1AQCAtNTQxLDEw ICs1ODUsMTIgQEAgY2xhc3MgU2VydmVySW5zdGFsbEludGVyZmFjZShTZXJ2ZXJDZXJ0aWZpY2F0 ZUluc3RhbGxJbnRlcmZhY2UsCi0gICAgICAgICAgICAgaWYgc2VsZi5zZXR1cF9kbnM6Ci0gICAg ICAgICAgICAgICAgIGlmIChub3Qgc2VsZi5mb3J3YXJkZXJzIGFuZAotICAgICAgICAgICAgICAg ICAgICAgICAgIG5vdCBzZWxmLm5vX2ZvcndhcmRlcnMgYW5kCi0tICAgICAgICAgICAgICAgICAg ICAgICAgbm90IHNlbGYuYXV0b19mb3J3YXJkZXJzKToKLSsgICAgICAgICAgICAgICAgICAgICAg ICBub3Qgc2VsZi5hdXRvX2ZvcndhcmRlcnMKLSsgICAgICAgICAgICAgICAgICAgICAgICBhbmQg bm90IHNlbGYuZG90X2ZvcndhcmRlcnMpOgotICAgICAgICAgICAgICAgICAgICAgcmFpc2UgUnVu dGltZUVycm9yKAotICAgICAgICAgICAgICAgICAgICAgICAgICJZb3UgbXVzdCBzcGVjaWZ5IGF0 IGxlYXN0IG9uZSBvZiAtLWZvcndhcmRlciwgIgotLSAgICAgICAgICAgICAgICAgICAgICAgICIt LWF1dG8tZm9yd2FyZGVycywgb3IgLS1uby1mb3J3YXJkZXJzIG9wdGlvbnMiKQotKyAgICAgICAg ICAgICAgICAgICAgICAgICItLWF1dG8tZm9yd2FyZGVycywgLS1kb3QtZm9yd2FyZGVyLCAiCi0r ICAgICAgICAgICAgICAgICAgICAgICAgIm9yIC0tbm8tZm9yd2FyZGVycyBvcHRpb25zIikKLSAK LSAKLSBTZXJ2ZXJNYXN0ZXJJbnN0YWxsSW50ZXJmYWNlID0gaW5zdGFsbHNfbWFzdGVyKFNlcnZl ckluc3RhbGxJbnRlcmZhY2UpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmVy L2luc3RhbGwucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvaW5zdGFsbC5weQotaW5kZXgg YzM5YzgwN2E5Li40MzU0NjgzZjEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2 ZXIvaW5zdGFsbC5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL2luc3RhbGwucHkK LUBAIC0xMDE4LDYgKzEwMTgsMTAgQEAgZGVmIGluc3RhbGwoaW5zdGFsbGVyKToKLSAKLSAgICAg aWYgb3B0aW9ucy5zZXR1cF9kbnM6Ci0gICAgICAgICBkbnMuaW5zdGFsbChGYWxzZSwgRmFsc2Us IG9wdGlvbnMpCi0rICAgIGVsaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHM6Ci0rICAgICAgICBzZXJ2 aWNlLnByaW50X21zZygiV2FybmluZzogLS1kbnMtb3Zlci10bHMgb3B0aW9uICIKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICJzcGVjaWZpZWQgd2l0aG91dCAtLXNldHVwLWRucywgaWdub3Jp bmciKQotKyAgICAgICAgb3B0aW9ucy5kbnNfb3Zlcl90bHMgPSBGYWxzZQotIAotICAgICAjIEFs d2F5cyBjYWxsIGFkdHJ1c3QgaW5zdGFsbGVyIHRvIGNvbmZpZ3VyZSBTSUQgZ2VuZXJhdGlvbgot ICAgICAjIGlmIC0tc2V0dXAtYWR0cnVzdCBpcyBub3Qgc3BlY2lmaWVkLCBvbmx5IHRoZSBTSUQg cGFydCBpcyBleGVjdXRlZAotQEAgLTEwODksMTIgKzEwOTMsMTYgQEAgZGVmIGluc3RhbGwoaW5z dGFsbGVyKToKLSAgICAgcHJpbnQoIlx0XHQgICogODAsIDQ0MzogSFRUUC9IVFRQUyIpCi0gICAg IHByaW50KCJcdFx0ICAqIDM4OSwgNjM2OiBMREFQL0xEQVBTIikKLSAgICAgcHJpbnQoIlx0XHQg ICogODgsIDQ2NDoga2VyYmVyb3MiKQotLSAgICBpZiBvcHRpb25zLnNldHVwX2RuczoKLS0gICAg ICAgIHByaW50KCJcdFx0ICAqIDUzOiBiaW5kIikKLSsgICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90 bHMgYW5kIG9wdGlvbnMuZG5zX3BvbGljeSA9PSAiZW5mb3JjZWQiOgotKyAgICAgICAgZG5zX3Bv cnQgPSAiODUzIgotKyAgICBlbGlmIG9wdGlvbnMuZG5zX292ZXJfdGxzOgotKyAgICAgICAgZG5z X3BvcnQgPSAiNTMsIDg1MyIKLSsgICAgZWxzZToKLSsgICAgICAgIGRuc19wb3J0ID0gIjUzIgot KyAgICBwcmludChmIlx0XHQgICoge2Ruc19wb3J0fTogYmluZCIpCi0gICAgIHByaW50KCJcdFx0 VURQIFBvcnRzOiIpCi0gICAgIHByaW50KCJcdFx0ICAqIDg4LCA0NjQ6IGtlcmJlcm9zIikKLS0g ICAgaWYgb3B0aW9ucy5zZXR1cF9kbnM6Ci0tICAgICAgICBwcmludCgiXHRcdCAgKiA1MzogYmlu ZCIpCi0rICAgIHByaW50KGYiXHRcdCAgKiB7ZG5zX3BvcnR9OiBiaW5kIikKLSAgICAgaWYgbm90 IG9wdGlvbnMubm9fbnRwOgotICAgICAgICAgcHJpbnQoIlx0XHQgICogMTIzOiBudHAiKQotICAg ICBwcmludCgiIikKLUBAIC0xMTA5LDYgKzExMTcsMTQgQEAgZGVmIGluc3RhbGwoaW5zdGFsbGVy KToKLSAgICAgICAgIHByaW50KCJcdCAgIGFuZCBzZXJ2ZXJzIGZvciBjb3JyZWN0IG9wZXJhdGlv bi4gWW91IHNob3VsZCBjb25zaWRlciAiCi0gICAgICAgICAgICAgICAiZW5hYmxpbmcgY2hyb255 ZC4iKQotIAotKyAgICBpZiBvcHRpb25zLmRuc19vdmVyX3RsczoKLSsgICAgICAgIHBvbGljeSA9 ICJlbmZvcmNlZCIgaWYgb3B0aW9ucy5kbnNfcG9saWN5ID09ICJlbmZvcmNlZCIgZWxzZSAicmVs YXhlZCIKLSsgICAgICAgIHByaW50KCIiKQotKyAgICAgICAgcHJpbnQoKCJETlMgZW5jcnlwdGlv biBzdXBwb3J0IHdhcyBlbmFibGVkICIKLSsgICAgICAgICAgICAgICAid2l0aCBwb2xpY3kgJ3t9 Jy4iLmZvcm1hdChwb2xpY3kpKSkKLSsgICAgICAgIHByaW50KCgiVW5ib3VuZCBpcyBjb25maWd1 cmVkIHRvIGxpc3RlbiBvbiAxMjcuMC4wLjU1OjUzIGFuZCAiCi0rICAgICAgICAgICAgICAgImZv cndhcmQgdG8gdXBzdHJlYW0gRG9UIHNlcnZlcnMuIikpCi0rCi0gICAgIHByaW50KCIiKQotICAg ICBpZiBzZXR1cF9jYSBhbmQgbm90IG9wdGlvbnMudG9rZW5fbmFtZToKLSAgICAgICAgIHByaW50 KCgiQmUgc3VyZSB0byBiYWNrIHVwIHRoZSBDQSBjZXJ0aWZpY2F0ZXMgc3RvcmVkIGluICIgKwot ZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5zdGFsbC5weSBi L2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5zdGFsbC5weQotaW5kZXggZWVhYWFj YjY1Li4xZjJjODFmODUgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvcmVw bGljYWluc3RhbGwucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5z dGFsbC5weQotQEAgLTcyMiw2ICs3MjIsOCBAQCBkZWYgZW5zdXJlX2Vucm9sbGVkKGluc3RhbGxl cik6Ci0gICAgICAgICAgICAgYXJncy5leHRlbmQoKCItLW50cC1zZXJ2ZXIiLCBzZXJ2ZXIpKQot ICAgICBpZiBpbnN0YWxsZXIubnRwX3Bvb2w6Ci0gICAgICAgICBhcmdzLmV4dGVuZCgoIi0tbnRw LXBvb2wiLCBpbnN0YWxsZXIubnRwX3Bvb2wpKQotKyAgICBpZiBpbnN0YWxsZXIuZG5zX292ZXJf dGxzIGFuZCBub3QgaW5zdGFsbGVyLnNldHVwX2RuczoKLSsgICAgICAgIGFyZ3MuYXBwZW5kKCIt LWRucy1vdmVyLXRscyIpCi0gCi0gICAgIHRyeToKLSAgICAgICAgICMgQ2FsbCBjbGllbnQgaW5z dGFsbCBzY3JpcHQKLS0tIAotMi40OS4wCi0KLQotRnJvbSAxODZkNWY2NWRjNTdkYmEzYmIwMjdm YTRjNWM0Y2IxNjAzY2UzMDVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQW50b25p byBUb3JyZXMgPGFudG9ycmVzQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDExIERlYyAyMDI0IDEz OjM4OjI4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgzLzExNl0gaXBhdGVzdHM6IGFkZCB0ZXN0 cyBmb3IgRE5TIG92ZXIgVExTCi0KLVNpZ25lZC1vZmYtYnk6IEFudG9uaW8gVG9ycmVzIDxhbnRv cnJlc0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZyYW5jaXNjbyBUcml2aW5vIDxmdHJpdmlu b0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUBy ZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFZhcnVuIE15bGFyYWlhaCA8bXZhcnVuQHJlZGhhdC5j b20+Ci1SZXZpZXdlZC1CeTogUGF2ZWwgQnJlemluYSA8cGJyZXppbmFAcmVkaGF0LmNvbT4KLS0t LQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5zLnB5IHwgMjU3ICsrKysrKysr KysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjU3IGluc2VydGlvbnMoKykKLSBj cmVhdGUgbW9kZSAxMDA2NDQgaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkK LQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5zLnB5IGIv aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkKLW5ldyBmaWxlIG1vZGUgMTAw NjQ0Ci1pbmRleCAwMDAwMDAwMDAuLmI0MjU3MGZmYQotLS0tIC9kZXYvbnVsbAotKysrIGIvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkKLUBAIC0wLDAgKzEsMjU3IEBACi0r IwotKyMgQ29weXJpZ2h0IChDKSAyMDI0ICBGcmVlSVBBIENvbnRyaWJ1dG9ycyBzZWUgQ09QWUlO RyBmb3IgbGljZW5zZQotKyMKLSsiIiJUaGlzIGNvdmVycyB0ZXN0cyBmb3IgRE5TIG92ZXIgVExT IHJlbGF0ZWQgZmVhdHVyZSIiIgotKwotK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVf aW1wb3J0Ci0raW1wb3J0IHRleHR3cmFwCi0rCi0rZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmlu dGVncmF0aW9uIGltcG9ydCB0YXNrcwotK2Zyb20gaXBhdGVzdHMudGVzdF9pbnRlZ3JhdGlvbi5i YXNlIGltcG9ydCBJbnRlZ3JhdGlvblRlc3QKLStmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRp b24udGVzdF9kbnMgaW1wb3J0IFRlc3RETlMKLStmcm9tIGlwYXRlc3RzLnB5dGVzdF9pcGEuaW50 ZWdyYXRpb24uZmlyZXdhbGwgaW1wb3J0IEZpcmV3YWxsCi0rZnJvbSBpcGFwbGF0Zm9ybS5wYXRo cyBpbXBvcnQgcGF0aHMKLSsKLSsKLStjbGFzcyBUZXN0RE5TT3ZlclRMUyhJbnRlZ3JhdGlvblRl c3QpOgotKyAgICAiIiJUZXN0cyBmb3IgRE5TIG92ZXIgVExTIGZlYXR1cmUuIiIiCi0rCi0rICAg IHRvcG9sb2d5ID0gJ2xpbmUnCi0rICAgIG51bV9yZXBsaWNhcyA9IDEKLSsgICAgbnVtX2NsaWVu dHMgPSAxCi0rCi0rICAgIEBjbGFzc21ldGhvZAotKyAgICBkZWYgaW5zdGFsbChjbHMsIG1oKToK LSsgICAgICAgIEZpcmV3YWxsKGNscy5tYXN0ZXIpLmVuYWJsZV9zZXJ2aWNlKCJkbnMtb3Zlci10 bHMiKQotKyAgICAgICAgRmlyZXdhbGwoY2xzLnJlcGxpY2FzWzBdKS5lbmFibGVfc2VydmljZSgi ZG5zLW92ZXItdGxzIikKLSsgICAgICAgIHRhc2tzLmluc3RhbGxfcGFja2FnZXMoY2xzLm1hc3Rl ciwgWycqaXBhLXNlcnZlci1lbmNyeXB0ZWQtZG5zJ10pCi0rICAgICAgICB0YXNrcy5pbnN0YWxs X3BhY2thZ2VzKGNscy5yZXBsaWNhc1swXSwgWycqaXBhLXNlcnZlci1lbmNyeXB0ZWQtZG5zJ10p Ci0rICAgICAgICB0YXNrcy5pbnN0YWxsX3BhY2thZ2VzKGNscy5jbGllbnRzWzBdLCBbJyppcGEt Y2xpZW50LWVuY3J5cHRlZC1kbnMnXSkKLSsKLSsgICAgZGVmIHRlc3RfaW5zdGFsbF9kbnNvdmVy dGxzX2ludmFsaWRfY2Eoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdCBj aGVja3MgdGhhdCB0aGUgaW5zdGFsbGVycyB0aHJvd3MgYW4gZXJyb3IKLSsgICAgICAgIHdoZW4g aW52YWxpZCBjZXJ0IGlzIHNwZWNpZmllZC4KLSsgICAgICAgICIiIgotKyAgICAgICAgYmFkX2Nh X2NuZiA9IHRleHR3cmFwLmRlZGVudCgiIiIKLSsgICAgICAgIFsgcmVxIF0KLSsgICAgICAgIHg1 MDlfZXh0ZW5zaW9ucyA9IHYzX2NhCi0rICAgICAgICBbIHYzX2NhIF0KLSsgICAgICAgIGJhc2lj Q29uc3RyYWludHMgPSBjcml0aWNhbCxDQTpmYWxzZQotKyAgICAgICAgIiIiKQotKyAgICAgICAg c2VsZi5tYXN0ZXIucHV0X2ZpbGVfY29udGVudHMoIi9iYWRfY2EuY25mIiwgYmFkX2NhX2NuZikK LSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsib3BlbnNzbCIsICJyZXEiLCAiLW5l d2tleSIsICJyc2E6MjA0OCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1u b2RlcyIsICIta2V5b3V0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2V0 Yy9wa2kvdGxzL2NlcnRzL3ByaXZrZXktaW52YWxpZC5wZW0iLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIteDUwOSIsICItZGF5cyIsICIzNjUwMCIsICItb3V0IiwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiL2V0Yy9wa2kvdGxzL2NlcnRzL2NlcnRpZmlj YXRlLWludmFsaWQucGVtIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLXN1 YmoiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgiL0M9RVMvU1Q9QW5kYWx1 Y2lhL0w9U2V2aWxsYS9PPUNvbXBhbnlOYW1lLyIKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIk9VPUlUL0NOPXd3dy5leGFtcGxlLmNvbS8iCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJlbWFpbEFkZHJlc3M9ZW1haWxAZXhhbXBsZS5jb20iKSwKLSsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWNvbmZpZyIsICIvYmFkX2NhLmNuZiJdKQot KyAgICAgICAgYXJncyA9IFsKLSsgICAgICAgICAgICAiLS1kbnMtb3Zlci10bHMiLAotKyAgICAg ICAgICAgICItLWRvdC1mb3J3YXJkZXIiLCAiMS4xLjEuMSNjbG91ZGZsYXJlLWRucy5jb20iLAot KyAgICAgICAgICAgICItLWRucy1vdmVyLXRscy1jZXJ0IiwKLSsgICAgICAgICAgICAiL2V0Yy9w a2kvdGxzL2NlcnRzL2NlcnRpZmljYXRlLWludmFsaWQucGVtIiwKLSsgICAgICAgICAgICAiLS1k bnMtb3Zlci10bHMta2V5IiwKLSsgICAgICAgICAgICAiL2V0Yy9wa2kvdGxzL2NlcnRzL3ByaXZr ZXktaW52YWxpZC5wZW0iCi0rICAgICAgICBdCi0rICAgICAgICByZXMgPSB0YXNrcy5pbnN0YWxs X21hc3RlcihzZWxmLm1hc3RlciwgZXh0cmFfYXJncz1hcmdzLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcmFpc2VvbmVycj1GYWxzZSkKLSsgICAgICAgIGFzc2VydCAiTm90 IGEgdmFsaWQgQ0EgY2VydGlmaWNhdGU6ICIgaW4gcmVzLnN0ZGVycl90ZXh0Ci0rICAgICAgICB0 YXNrcy51bmluc3RhbGxfbWFzdGVyKHNlbGYubWFzdGVyKQotKwotKyAgICBkZWYgdGVzdF9pbnN0 YWxsX2Ruc292ZXJ0bHNfd2l0aG91dF9zZXR1cF9kbnNfbWFzdGVyKHNlbGYpOgotKyAgICAgICAg IiIiCi0rICAgICAgICBUaGlzIHRlc3QgaW5zdGFsbHMgYW4gSVBBIHNlcnZlciB1c2luZyB0aGUg LS1kbnMtb3Zlci10bHMgb3B0aW9uCi0rICAgICAgICB3aXRob3V0IHVzaW5nIHNldHVwLWRucyBv cHRpb24sIGFuZCBjYXB0dXJlcyB3YXJuaW5ncyB0aGF0IGFwcGVhci4KLSsgICAgICAgICIiIgot KyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGEtc2VydmVyLWluc3RhbGwiLCAi LS11bmluc3RhbGwiLCAiLVUiXSkKLSsgICAgICAgIGFyZ3MgPSBbCi0rICAgICAgICAgICAgIi0t ZG5zLW92ZXItdGxzIiwKLSsgICAgICAgIF0KLSsgICAgICAgIHJlcyA9IHRhc2tzLmluc3RhbGxf bWFzdGVyKAotKyAgICAgICAgICAgIHNlbGYubWFzdGVyLCBleHRyYV9hcmdzPWFyZ3MsIHNldHVw X2Rucz1GYWxzZSkKLSsgICAgICAgIGFzc2VydCAoIldhcm5pbmc6IC0tZG5zLW92ZXItdGxzIG9w dGlvbiBzcGVjaWZpZWQgd2l0aG91dCAiCi0rICAgICAgICAgICAgICAgICItLXNldHVwLWRucywg aWdub3JpbmciKSBpbiByZXMuc3Rkb3V0X3RleHQKLSsgICAgICAgIHRhc2tzLnVuaW5zdGFsbF9t YXN0ZXIoc2VsZi5tYXN0ZXIpCi0rCi0rICAgIGRlZiB0ZXN0X2luc3RhbGxfZG5zb3ZlcnRsc19t YXN0ZXIoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdHMgaW5zdGFsbHMg SVBBIHNlcnZlciB3aXRoIC0tZG5zLW92ZXItdGxzIG9wdGlvbi4KLSsgICAgICAgICIiIgotKyAg ICAgICAgYXJncyA9IFsKLSsgICAgICAgICAgICAiLS1kbnMtb3Zlci10bHMiLAotKyAgICAgICAg ICAgICItLWRvdC1mb3J3YXJkZXIiLCAiMS4xLjEuMSNjbG91ZGZsYXJlLWRucy5jb20iLAotKyAg ICAgICAgXQotKyAgICAgICAgcmV0dXJuIHRhc2tzLmluc3RhbGxfbWFzdGVyKHNlbGYubWFzdGVy LCBleHRyYV9hcmdzPWFyZ3MpCi0rCi0rICAgIGRlZiB0ZXN0X2luc3RhbGxfZG5zb3ZlcnRsc19j bGllbnQoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdHMgaW5zdGFsbHMg SVBBIGNsaWVudCB3aXRoIC0tZG5zLW92ZXItdGxzIG9wdGlvbi4KLSsgICAgICAgICIiIgotKyAg ICAgICAgc2VsZi5jbGllbnRzWzBdLnB1dF9maWxlX2NvbnRlbnRzKAotKyAgICAgICAgICAgIHBh dGhzLlJFU09MVl9DT05GLAotKyAgICAgICAgICAgICJuYW1lc2VydmVyICVzIiAlIHNlbGYubWFz dGVyLmlwCi0rICAgICAgICApCi0rICAgICAgICBhcmdzID0gWwotKyAgICAgICAgICAgICItLWRu cy1vdmVyLXRscyIKLSsgICAgICAgIF0KLSsgICAgICAgIHJldHVybiB0YXNrcy5pbnN0YWxsX2Ns aWVudChzZWxmLm1hc3RlciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmNsaWVudHNbMF0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFt ZXNlcnZlcnM9Tm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRy YV9hcmdzPWFyZ3MpCi0rCi0rICAgIGRlZiB0ZXN0X2luc3RhbGxfZG5zb3ZlcnRsc19yZXBsaWNh KHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RzIGluc3RhbGxzIElQQSBy ZXBsaWNhIHdpdGggLS1kbnMtb3Zlci10bHMgb3B0aW9uLgotKyAgICAgICAgIiIiCi0rICAgICAg ICBhcmdzID0gWwotKyAgICAgICAgICAgICItLWRucy1vdmVyLXRscyIsCi0rICAgICAgICAgICAg Ii0tZG90LWZvcndhcmRlciIsICIxLjEuMS4xI2Nsb3VkZmxhcmUtZG5zLmNvbSIsCi0rICAgICAg ICBdCi0rICAgICAgICByZXR1cm4gdGFza3MuaW5zdGFsbF9yZXBsaWNhKHNlbGYubWFzdGVyLCBz ZWxmLnJlcGxpY2FzWzBdLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZXR1cF9kbnM9VHJ1ZSwgZXh0cmFfYXJncz1hcmdzKQotKwotKyAgICBkZWYgdGVzdF9xdWVyaWVz X2VuY3J5cHRlZChzZWxmKToKLSsgICAgICAgICIiIgotKyAgICAgICAgVGhpcyB0ZXN0IHBlcmZv cm1zIHF1ZXJpZXMgZnJvbSBlYWNoIG9mIHRoZSBob3N0cwotKyAgICAgICAgYW5kIGVuc3VyZXMg dGhleSB3ZXJlIHJvdXRlZCB0byAxLjEuMS4xIzg1MyAoZUROUykuCi0rICAgICAgICAiIiIKLSsg ICAgICAgIHVuYm91bmRfbG9nX2NmZyA9IHRleHR3cmFwLmRlZGVudCgiIiIKLSsgICAgICAgIHNl cnZlcjoKLSsgICAgICAgICAgICB2ZXJib3NpdHk6IDMKLSsgICAgICAgICAgICBsb2ctcXVlcmll czogeWVzCi0rICAgICAgICAiIiIpCi0rICAgICAgICAjIFRlc3Qgc2VydmVycyBmaXJzdCAocXVl cnlpbmcgdG8gbG9jYWwgVW5ib3VuZCkKLSsgICAgICAgIGZvciBzZXJ2ZXIgaW4gW3NlbGYubWFz dGVyLCBzZWxmLnJlcGxpY2FzWzBdXToKLSsgICAgICAgICAgICBzZXJ2ZXIucHV0X2ZpbGVfY29u dGVudHMoIi9ldGMvdW5ib3VuZC9jb25mLmQvbG9nLmNvbmYiLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bmJvdW5kX2xvZ19jZmcpCi0rICAgICAgICAgICAgc2VydmVy LnJ1bl9jb21tYW5kKFsic3lzdGVtY3RsIiwgInJlc3RhcnQiLCAidW5ib3VuZCJdKQotKyAgICAg ICAgICAgIHNlcnZlci5ydW5fY29tbWFuZChbImpvdXJuYWxjdGwiLCAiLS1mbHVzaCIsICItLXJv dGF0ZSIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS12YWN1dW0tdGltZT0x cyJdKQotKyAgICAgICAgICAgIHNlcnZlci5ydW5fY29tbWFuZChbImRpZyIsICJmcmVlaXBhLm9y ZyJdKQotKyAgICAgICAgICAgIHNlcnZlci5ydW5fY29tbWFuZChbImpvdXJuYWxjdGwiLCAiLXUi LCAidW5ib3VuZCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1ncmVwPTEu MS4xLjEjODUzIl0pCi0rICAgICAgICAgICAgc2VydmVyLnJ1bl9jb21tYW5kKFsiam91cm5hbGN0 bCIsICItLWZsdXNoIiwgIi0tcm90YXRlIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItLXZhY3V1bS10aW1lPTFzIl0pCi0rICAgICAgICAjIE5vdywgdGVzdCB0aGUgY2xpZW50 IChyZWRpcmVjdHMgcXVlcnkgdG8gbWFzdGVyKQotKyAgICAgICAgc2VsZi5jbGllbnRzWzBdLnJ1 bl9jb21tYW5kKFsiZGlnIiwgInJlZGhhdC5jb20iXSkKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1 bl9jb21tYW5kKFsiam91cm5hbGN0bCIsICItdSIsICJ1bmJvdW5kIiwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiLS1ncmVwPTEuMS4xLjEjODUzIl0pCi0rCi0rICAgIGRlZiB0 ZXN0X3VuaW5zdGFsbF9hbGwoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVz dCBlbnN1cmVzIHRoYXQgYWxsIGhvc3RzIGNhbiBiZSB1bmluc3RhbGxlZCBjb3JyZWN0bHkuCi0r ICAgICAgICAiIiIKLSsgICAgICAgIHRhc2tzLnVuaW5zdGFsbF9jbGllbnQoc2VsZi5jbGllbnRz WzBdKQotKyAgICAgICAgdGFza3MudW5pbnN0YWxsX3JlcGxpY2Eoc2VsZi5tYXN0ZXIsIHNlbGYu cmVwbGljYXNbMF0pCi0rICAgICAgICB0YXNrcy51bmluc3RhbGxfbWFzdGVyKHNlbGYubWFzdGVy KQotKwotKyAgICBkZWYgdGVzdF9pbnN0YWxsX2Ruc292ZXJ0bHNfbWFzdGVyX2V4dGVybmFsX2Nh KHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3QgZW5zdXJlcyB0aGF0IElQ QSBzZXJ2ZXIgY2FuIGJlIGluc3RhbGxlZAotKyAgICAgICAgd2l0aCBEb1QgdXNpbmcgYW4gZXh0 ZXJuYWwgQ0EuCi0rICAgICAgICAiIiIKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5k KFsib3BlbnNzbCIsICJyZXEiLCAiLW5ld2tleSIsICJyc2E6MjA0OCIsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIi1ub2RlcyIsICIta2V5b3V0IiwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAiL2V0Yy9wa2kvdGxzL2NlcnRzL3ByaXZrZXkucGVtIiwgIi14 NTA5IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLWRheXMiLCAiMzY1MDAi LCAiLW91dCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9ldGMvcGtpL3Rs cy9jZXJ0cy9jZXJ0aWZpY2F0ZS5wZW0iLCAiLXN1YmoiLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgiL0M9RVMvU1Q9QW5kYWx1Y2lhL0w9U2V2aWxsYS9PPUNvbXBhbnlOYW1l LyIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIk9VPUlUL0NOPXt9LyIKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImVtYWlsQWRkcmVzcz1lbWFpbEBleGFt cGxlLmNvbSIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmZvcm1hdChzZWxm Lm1hc3Rlci5ob3N0bmFtZSldKQotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJj aG93biIsICJuYW1lZDpuYW1lZCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii9ldGMvcGtpL3Rscy9jZXJ0cy9wcml2a2V5LnBlbSIsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIi9ldGMvcGtpL3Rscy9jZXJ0cy9jZXJ0aWZpY2F0ZS5wZW0iXSkKLSsgICAg ICAgIGFyZ3MgPSBbCi0rICAgICAgICAgICAgIi0tZG5zLW92ZXItdGxzIiwKLSsgICAgICAgICAg ICAiLS1kb3QtZm9yd2FyZGVyIiwgIjEuMS4xLjEjY2xvdWRmbGFyZS1kbnMuY29tIiwKLSsgICAg ICAgICAgICAiLS1kbnMtb3Zlci10bHMtY2VydCIsICIvZXRjL3BraS90bHMvY2VydHMvY2VydGlm aWNhdGUucGVtIiwKLSsgICAgICAgICAgICAiLS1kbnMtb3Zlci10bHMta2V5IiwgIi9ldGMvcGtp L3Rscy9jZXJ0cy9wcml2a2V5LnBlbSIKLSsgICAgICAgIF0KLSsgICAgICAgIHJldHVybiB0YXNr cy5pbnN0YWxsX21hc3RlcihzZWxmLm1hc3RlciwgZXh0cmFfYXJncz1hcmdzKQotKwotKyAgICBk ZWYgdGVzdF9lbnJvbGxtZW50c19leHRlcm5hbF9jYShzZWxmKToKLSsgICAgICAgICIiIgotKyAg ICAgICAgVGVzdCB0aGF0IHJlcGxpY2FzIGFuZCBjbGllbnRzIGNhbiBiZSBkZXBsb3llZCB3aGVu IHRoZSBtYXN0ZXIKLSsgICAgICAgIHVzZXMgYW4gZXh0ZXJuYWwgQ0EuCi0rICAgICAgICAiIiIK LSsgICAgICAgIHRhc2tzLmNvcHlfZmlsZXMoc2VsZi5tYXN0ZXIsIHNlbGYuY2xpZW50c1swXSwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgWyIvZXRjL3BraS90bHMvY2VydHMvY2VydGlmaWNh dGUucGVtIl0pCi0rICAgICAgICBzZWxmLmNsaWVudHNbMF0ucnVuX2NvbW1hbmQoWyJtdiIsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZXRjL3BraS90bHMvY2VydHMv Y2VydGlmaWNhdGUucGVtIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii9ldGMvcGtpL2NhLXRydXN0L3NvdXJjZS9hbmNob3JzLyJdKQotKyAgICAgICAgc2VsZi5jbGll bnRzWzBdLnJ1bl9jb21tYW5kKFsidXBkYXRlLWNhLXRydXN0IiwgImV4dHJhY3QiXSkKLSsgICAg ICAgIHNlbGYudGVzdF9pbnN0YWxsX2Ruc292ZXJ0bHNfY2xpZW50KCkKLSsgICAgICAgIHNlbGYu dGVzdF9pbnN0YWxsX2Ruc292ZXJ0bHNfcmVwbGljYSgpCi0rICAgICAgICBzZWxmLnRlc3RfcXVl cmllc19lbmNyeXB0ZWQoKQotKwotKyAgICBkZWYgdGVzdF9pbnN0YWxsX2Ruc292ZXJ0bHNfd2l0 aF9pbnZhbGlkX2lwYWRkcmVzc19tYXN0ZXIoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAg IFRoaXMgdGVzdCBpbnN0YWxscyBhbiBJUEEgc2VydmVyIHVzaW5nIHRoZSAtLWRucy1vdmVyLXRs cwotKyAgICAgICAgb3B0aW9uIHdpdGggYW4gaW52YWxpZCBJUCBhZGRyZXNzLgotKyAgICAgICAg IiIiCi0rICAgICAgICBhcmdzID0gWwotKyAgICAgICAgICAgICItLWRucy1vdmVyLXRscyIsCi0r ICAgICAgICAgICAgIi0tZG90LWZvcndhcmRlciIsICIxOTguMTY4LjAuMC4xI2V4YW1wbGUtZG5z LnRlc3QiLAotKyAgICAgICAgXQotKyAgICAgICAgcmVzID0gdGFza3MuaW5zdGFsbF9tYXN0ZXIo c2VsZi5tYXN0ZXIsIGV4dHJhX2FyZ3M9YXJncywKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UpCi0rICAgICAgICBhc3NlcnQgKCItLWRvdC1mb3J3 YXJkZXIgaW52YWxpZDogRG9UIGZvcndhcmRlciBtdXN0IGJlIGluICIKLSsgICAgICAgICAgICAg ICAgInRoZSBmb3JtYXQgb2YgJzEuMi4zLjQjZG5zLmV4YW1wbGUudGVzdCciKSBpbiByZXMuc3Rk ZXJyX3RleHQKLSsgICAgICAgIHRhc2tzLnVuaW5zdGFsbF9tYXN0ZXIoc2VsZi5tYXN0ZXIpCi0r Ci0rICAgIGRlZiB0ZXN0X3ZhbGlkYXRlX0RvVF9vcHRpb25zX21hc3RlcihzZWxmKToKLSsgICAg ICAgICIiIgotKyAgICAgICAgVGVzdHMgdGhhdCBEb1Qgb3B0aW9ucyBhcmUgZGlzcGxheWVkIGNv cnJlY3RseSBvbiBtYXN0ZXIuCi0rICAgICAgICAiIiIKLSsgICAgICAgIGNtZG91dCA9IHNlbGYu bWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBhLXNlcnZlci1pbnN0YWxsJywg Jy0taGVscCddKQotKyAgICAgICAgYXNzZXJ0ICcnJy0tZG90LWZvcndhcmRlcj1ET1RfRk9SV0FS REVSUwotKyAgICAgICAgICAgICAgICAgICAgICAgIEFkZCBhIEROUyBvdmVyIFRMUyBmb3J3YXJk ZXIuIFRoaXMgb3B0aW9uIGNhbiBiZSB1c2VkCi0rICAgICAgICAgICAgICAgICAgICAgICAgbXVs dGlwbGUgdGltZXMnJycgaW4gY21kb3V0LnN0ZG91dF90ZXh0ICAjIG5vcWE6IEU1MDEKLSsgICAg ICAgIGFzc2VydCAnJyctLWRucy1vdmVyLXRscy1jZXJ0PUROU19PVkVSX1RMU19DRVJUCi0rICAg ICAgICAgICAgICAgICAgICAgICAgQ2VydGlmaWNhdGUgdG8gdXNlIGZvciBETlMgb3ZlciBUTFMu IElmIGVtcHR5LCBhIG5ldwotKyAgICAgICAgICAgICAgICAgICAgICAgIGNlcnRpZmljYXRlIHdp bGwgYmUgcmVxdWVzdGVkIGZyb20gSVBBIENBJycnIGluIGNtZG91dC5zdGRvdXRfdGV4dCAgIyBu b3FhOiBFNTAxCi0rICAgICAgICBhc3NlcnQgJycnLS1kbnMtb3Zlci10bHMta2V5PUROU19PVkVS X1RMU19LRVkKLSsgICAgICAgICAgICAgICAgICAgICAgICBLZXkgZm9yIGNlcnRpZmljYXRlIHNw ZWNpZmllZCBpbiAtLWRucy1vdmVyLXRscy1jZXJ0JycnIGluIGNtZG91dC5zdGRvdXRfdGV4dCAg IyBub3FhOiBFNTAxCi0rICAgICAgICBhc3NlcnQgJycnLS1kbnMtb3Zlci10bHMgICAgICBDb25m aWd1cmUgRE5TIG92ZXIgVExTJycnIGluIGNtZG91dC5zdGRvdXRfdGV4dCAgIyBub3FhOiBFNTAx Ci0rCi0rICAgIGRlZiB0ZXN0X3ZhbGlkYXRlX0RvVF9vcHRpb25zX3JlcGxpY2Eoc2VsZik6Ci0r ICAgICAgICAiIiIKLSsgICAgICAgIFRlc3RzIHRoYXQgRG9UIG9wdGlvbnMgYXJlIGRpc3BsYXll ZCBjb3JyZWN0bHkgb24gcmVwbGljYS4KLSsgICAgICAgICIiIgotKyAgICAgICAgY21kb3V0ID0g c2VsZi5yZXBsaWNhc1swXS5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbJ2lwYS1zZXJ2ZXIt aW5zdGFsbCcsICctLWhlbHAnXSkKLSsgICAgICAgIGFzc2VydCAnJyctLWRvdC1mb3J3YXJkZXI9 RE9UX0ZPUldBUkRFUlMKLSsgICAgICAgICAgICAgICAgICAgICAgICBBZGQgYSBETlMgb3ZlciBU TFMgZm9yd2FyZGVyLiBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZAotKyAgICAgICAgICAgICAgICAg ICAgICAgIG11bHRpcGxlIHRpbWVzJycnIGluIGNtZG91dC5zdGRvdXRfdGV4dAotKyAgICAgICAg YXNzZXJ0ICcnJy0tZG5zLW92ZXItdGxzLWNlcnQ9RE5TX09WRVJfVExTX0NFUlQKLSsgICAgICAg ICAgICAgICAgICAgICAgICBDZXJ0aWZpY2F0ZSB0byB1c2UgZm9yIEROUyBvdmVyIFRMUy4gSWYg ZW1wdHksIGEgbmV3Ci0rICAgICAgICAgICAgICAgICAgICAgICAgY2VydGlmaWNhdGUgd2lsbCBi ZSByZXF1ZXN0ZWQgZnJvbSBJUEEgQ0EnJycgaW4gY21kb3V0LnN0ZG91dF90ZXh0ICAjIG5vcWE6 IEU1MDEKLSsgICAgICAgIGFzc2VydCAnJyctLWRucy1vdmVyLXRscy1rZXk9RE5TX09WRVJfVExT X0tFWQotKyAgICAgICAgICAgICAgICAgICAgICAgIEtleSBmb3IgY2VydGlmaWNhdGUgc3BlY2lm aWVkIGluIC0tZG5zLW92ZXItdGxzLWNlcnQnJycgaW4gY21kb3V0LnN0ZG91dF90ZXh0ICAjIG5v cWE6IEU1MDEKLSsgICAgICAgIGFzc2VydCAnJyctLWRucy1vdmVyLXRscyAgICAgIENvbmZpZ3Vy ZSBETlMgb3ZlciBUTFMnJycgaW4gY21kb3V0LnN0ZG91dF90ZXh0ICAjIG5vcWE6IEU1MDEKLSsK LSsgICAgZGVmIHRlc3RfdmFsaWRhdGVfRG9UX29wdGlvbnNfY2xpZW50KHNlbGYpOgotKyAgICAg ICAgIiIiCi0rICAgICAgICBUZXN0cyB0aGF0IERvVCBvcHRpb25zIGFyZSBkaXNwbGF5ZWQgY29y cmVjdGx5IG9uIGNsaWVudC4KLSsgICAgICAgICIiIgotKyAgICAgICAgY21kb3V0ID0gc2VsZi5j bGllbnRzWzBdLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBhLWNsaWVudC1pbnN0YWxs JywgJy0taGVscCddKQotKyAgICAgICAgYXNzZXJ0ICcnJy0tZG5zLW92ZXItdGxzICAgICAgQ29u ZmlndXJlIEROUyBvdmVyIFRMUycnJyBpbiBjbWRvdXQuc3Rkb3V0X3RleHQgICMgbm9xYTogRTUw MQotKwotKwotK2NsYXNzIFRlc3RETlNfRG9UKFRlc3RETlMpOgotKyAgICBAY2xhc3NtZXRob2QK LSsgICAgZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICB0YXNrcy5pbnN0YWxsX3BhY2th Z2VzKGNscy5tYXN0ZXIsIFsnKmlwYS1zZXJ2ZXItZW5jcnlwdGVkLWRucyddKQotKyAgICAgICAg YXJncyA9IFsKLSsgICAgICAgICAgICAiLS1kbnMtb3Zlci10bHMiLAotKyAgICAgICAgICAgICIt LWRvdC1mb3J3YXJkZXIiLCAiMS4xLjEuMSNjbG91ZGZsYXJlLWRucy5jb20iCi0rICAgICAgICBd Ci0rICAgICAgICB0YXNrcy5pbnN0YWxsX21hc3RlcihjbHMubWFzdGVyLCBleHRyYV9hcmdzPWFy Z3MpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYTMyYjhmZGE4OTNhZTAwYmNkOGVmZDkxMzM5ZGM4 ZGJlMzVmYzNjZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudG9uaW8gVG9ycmVz IDxhbnRvcnJlc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxMSBEZWMgMjAyNCAxMzozNToyOSAr MDEwMAotU3ViamVjdDogW1BBVENIIDA4NC8xMTZdIHNwZWM6IGFkZCB1bmJvdW5kIHJlcXVpcmVt ZW50IGFuZCB0ZW1wbGF0ZSBmaWxlCi0KLVNpZ25lZC1vZmYtYnk6IEFudG9uaW8gVG9ycmVzIDxh bnRvcnJlc0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZyYW5jaXNjbyBUcml2aW5vIDxmdHJp dmlub0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3Zv eUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFZhcnVuIE15bGFyYWlhaCA8bXZhcnVuQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogUGF2ZWwgQnJlemluYSA8cGJyZXppbmFAcmVkaGF0LmNvbT4K LS0tLQotIGZyZWVpcGEuc3BlYy5pbiB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwot IDEgZmlsZSBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9mcmVlaXBh LnNwZWMuaW4gYi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IDRiOTFhYTk2Zi4uYjUzOWY1MWY4IDEw MDc1NQotLS0tIGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9mcmVlaXBhLnNwZWMuaW4KLUBAIC02 MjgsNiArNjI4LDcgQEAgUmVxdWlyZXM6IG9wZW5zc2wtcGtjczExID49ICV7b3BlbnNzbF9wa2Nz MTFfdmVyc2lvbn0KLSAjIFNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcu Y2dpP2lkPTE4MjU4MTIKLSAjIFJIRUwgOC4zKyBhbmQgRmVkb3JhIDMyKyBoYXZlIDIuMQotIFJl cXVpcmVzOiBvcGVuZG5zc2VjID49IDIuMS42LTUKLStSZWNvbW1lbmRzOiAle25hbWV9LXNlcnZl ci1lbmNyeXB0ZWQtZG5zCi0gJXs/c3lzdGVtZF9yZXF1aXJlc30KLSAKLSBQcm92aWRlczogJXth bHRfbmFtZX0tc2VydmVyLWRucyA9ICV7dmVyc2lvbn0KLUBAIC02NDIsNiArNjQzLDE1IEBAIElQ QSBpbnRlZ3JhdGVkIEROUyBzZXJ2ZXIgd2l0aCBzdXBwb3J0IGZvciBhdXRvbWF0aWMgRE5TU0VD IHNpZ25pbmcuCi0gSW50ZWdyYXRlZCBETlMgc2VydmVyIGlzIEJJTkQgOS4gT3BlbkROU1NFQyBw cm92aWRlcyBrZXkgbWFuYWdlbWVudC4KLSAKLSAKLSslcGFja2FnZSBzZXJ2ZXItZW5jcnlwdGVk LWRucwotK1N1bW1hcnk6IHN1cHBvcnQgZm9yIGVuY3J5cHRlZCBETlMgaW4gSVBBIGludGVncmF0 ZWQgRE5TIHNlcnZlcgotK1JlcXVpcmVzOiAle25hbWV9LWNsaWVudC1lbmNyeXB0ZWQtZG5zCi0r Ci0rJWRlc2NyaXB0aW9uIHNlcnZlci1lbmNyeXB0ZWQtZG5zCi0rUHJvdmlkZXMgc3VwcG9ydCBm b3IgZW5hYmxpbmcgRE5TIG92ZXIgVExTIGluIHRoZSBJUEEgaW50ZWdyYXRlZCBETlMKLStzZXJ2 ZXIuCi0rCi0rCi0gJXBhY2thZ2Ugc2VydmVyLXRydXN0LWFkCi0gU3VtbWFyeTogVmlydHVhbCBw YWNrYWdlIHRvIGluc3RhbGwgcGFja2FnZXMgcmVxdWlyZWQgZm9yIEFjdGl2ZSBEaXJlY3Rvcnkg dHJ1c3RzCi0gUmVxdWlyZXM6ICV7bmFtZX0tc2VydmVyID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9 Ci1AQCAtNzIyLDYgKzczMiw3IEBAIFJlcXVpcmVzOiBsaWJuZnNpZG1hcAotIFJlcXVpcmVzOiAo bmZzLXV0aWxzIG9yIG5mc3Y0LWNsaWVudC11dGlscykKLSBSZXF1aXJlczogc3NzZC10b29scyA+ PSAle3Nzc2RfdmVyc2lvbn0KLSBSZXF1aXJlcyhwb3N0KTogcG9saWN5Y29yZXV0aWxzCi0rUmVj b21tZW5kczogJXtuYW1lfS1jbGllbnQtZW5jcnlwdGVkLWRucwotIAotICMgaHR0cHM6Ly9wYWd1 cmUuaW8vZnJlZWlwYS9pc3N1ZS84NTMwCi0gUmVjb21tZW5kczogbGlic3NzX3N1ZG8KLUBAIC03 NjMsNiArNzc0LDE0IEBAIElmIHlvdXIgbmV0d29yayB1c2VzIElQQSBmb3IgYXV0aGVudGljYXRp b24sIHRoaXMgcGFja2FnZSBzaG91bGQgYmUKLSBpbnN0YWxsZWQgb24gZXZlcnkgY2xpZW50IG1h Y2hpbmUuCi0gVGhpcyBwYWNrYWdlIHByb3ZpZGVzIGNvbW1hbmQtbGluZSB0b29scyBmb3IgSVBB IGFkbWluaXN0cmF0b3JzLgotIAotKyVwYWNrYWdlIGNsaWVudC1lbmNyeXB0ZWQtZG5zCi0rU3Vt bWFyeTogRW5hYmxlIGVuY3J5cHRlZCBETlMgc3VwcG9ydCBmb3IgY2xpZW50cwotK1JlcXVpcmVz OiB1bmJvdW5kCi0rCi0rJWRlc2NyaXB0aW9uIGNsaWVudC1lbmNyeXB0ZWQtZG5zCi0rVGhpcyBw YWNrYWdlIGVuYWJsZXMgc3VwcG9ydCBmb3IgaW5zdGFsbGluZyBjbGllbnRzIHdpdGggZW5jcnlw dGVkIEROUwotK3ZpYSBETlMgb3ZlciBUTFMuCi0rCi0gJXBhY2thZ2UgY2xpZW50LXNhbWJhCi0g U3VtbWFyeTogVG9vbHMgdG8gY29uZmlndXJlIFNhbWJhIG9uIElQQSBjbGllbnQKLSBHcm91cDog U3lzdGVtIEVudmlyb25tZW50L0Jhc2UKLUBAIC0xNzI0LDYgKzE3NDMsMTAgQEAgZmkKLSAlYXR0 cig2NDQscm9vdCxyb290KSAle191bml0ZGlyfS9pcGEtb2RzLWV4cG9ydGVyLnNvY2tldAotICVh dHRyKDY0NCxyb290LHJvb3QpICV7X3VuaXRkaXJ9L2lwYS1vZHMtZXhwb3J0ZXIuc2VydmljZQot IAotKyVmaWxlcyBzZXJ2ZXItZW5jcnlwdGVkLWRucwotKyVkb2MgUkVBRE1FLm1kIENvbnRyaWJ1 dG9ycy50eHQKLSslbGljZW5zZSBDT1BZSU5HCi0rCi0gJWZpbGVzIHNlcnZlci10cnVzdC1hZAot ICVkb2MgUkVBRE1FLm1kIENvbnRyaWJ1dG9ycy50eHQKLSAlbGljZW5zZSBDT1BZSU5HCi1AQCAt MTc4Myw2ICsxODA2LDEwIEBAIGZpCi0gJWF0dHIoNjAwLHJvb3Qscm9vdCkgJWNvbmZpZyhub3Jl cGxhY2UpICV7X3N5c2NvbmZkaXJ9L2lwYS9lcG4uY29uZgotICVhdHRyKDY0NCxyb290LHJvb3Qp ICVjb25maWcobm9yZXBsYWNlKSAle19zeXNjb25mZGlyfS9pcGEvZXBuL2V4cGlyZV9tc2cudGVt cGxhdGUKLSAKLSslZmlsZXMgY2xpZW50LWVuY3J5cHRlZC1kbnMKLSslZG9jIFJFQURNRS5tZCBD b250cmlidXRvcnMudHh0Ci0rJWxpY2Vuc2UgQ09QWUlORwotKwotICVmaWxlcyAtbiBweXRob24z LWlwYWNsaWVudAotICVkb2MgUkVBRE1FLm1kIENvbnRyaWJ1dG9ycy50eHQKLSAlbGljZW5zZSBD T1BZSU5HCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gZjQ0M2I5MWRkYjJlMGU2ZTYxZDU2YjJkMTlm ZWY3ODllNmNiMjFhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudG9uaW8gVG9y cmVzIDxhbnRvcnJlc0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAxMSBGZWIgMjAyNSAxMDoxMzow MSArMDEwMAotU3ViamVjdDogW1BBVENIIDA4NS8xMTZdIFBSQ0k6IGFkZCBkZWZpbml0aW9ucyBm b3IgRE5TIG92ZXIgVExTIHRlc3RzCi0KLVNpZ25lZC1vZmYtYnk6IEFudG9uaW8gVG9ycmVzIDxh bnRvcnJlc0ByZWRoYXQuY29tPgotLS0tCi0gLi4uL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9p cGEtNC0xMl9sYXRlc3QueWFtbCAgIHwgMTIgKysrKysrKysrKysrCi0gLi4uL25pZ2h0bHlfaXBh LTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwot IDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRleCBm MDI4MzYxNWQuLjYyMjlhMzczOSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMjE1MywzICsyMTUzLDE1 IEBAIGpvYnM6Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAg ICAgdGltZW91dDogMzYwMAotICAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSsKLSsg IGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9lZG5zOgotKyAgICByZXF1aXJlczogW2ZlZG9y YS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiAxMDAKLSsgICAgam9iOgot KyAgICAgIGNsYXNzOiBSdW5QeXRlc3QKLSsgICAgICBhcmdzOgotKyAgICAgICAgYnVpbGRfdXJs OiAne2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRfdXJsfScKLSsgICAgICAgIHRlc3Rfc3Vp dGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5zLnB5Ci0rICAgICAgICB0ZW1wbGF0ZTogKmNp LWlwYS00LTEyLWxhdGVzdAotKyAgICAgICAgdGltZW91dDogMTQ0MDAKLSsgICAgICAgIHRvcG9s b2d5OiAqbWFzdGVyXzJyZXBsXzFjbGllbnQKLVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQot ZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9s YXRlc3Rfc2VsaW51eC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lw YS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLWluZGV4IGMyODcxYzQ3My4uNGQwMWQ5MzZkIDEw MDY0NAotLS0tIGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xh dGVzdF9zZWxpbnV4LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRs eV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1AQCAtMjMyNSwzICsyMzI1LDE2IEBAIGpv YnM6Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAgICAgdGlt ZW91dDogMzYwMAotICAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSsKLSsgIGZlZG9y YS1sYXRlc3QtaXBhLTQtMTIvdGVzdF9lZG5zOgotKyAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRl c3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiAxMDAKLSsgICAgam9iOgotKyAgICAg IGNsYXNzOiBSdW5QeXRlc3QKLSsgICAgICBhcmdzOgotKyAgICAgICAgYnVpbGRfdXJsOiAne2Zl ZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRfdXJsfScKLSsgICAgICAgIHNlbGludXhfZW5mb3Jj aW5nOiBUcnVlCi0rICAgICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfZWRu cy5weQotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRp bWVvdXQ6IDE0NDAwCi0rICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8ycmVwbF8xY2xpZW50Ci1c IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKLS0tIAotMi40OS4wCi0KLQotRnJvbSBmNjVlYzk4 MWY4YjM5NWQwZTU0MDE0NTNjZWM3Y2IzYzNiMWRlMDE3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogQW50b25pbyBUb3JyZXMgPGFudG9ycmVzQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQs IDEyIEZlYiAyMDI1IDA5OjQ4OjU4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDg2LzExNl0gZG5z OiBvbmx5IGRpc2FibGUgdW5ib3VuZCB3aGVuIERvVCBpcyBlbmFibGVkCi0KLUVuc3VyZSB1bmJv dW5kIGlzIG9ubHkgc3RvcHBlZCBhbmQgZGlzYWJsZWQgd2hlbiBETlMgb3ZlciBUTFMgd2FzCi1l bmFibGVkIGR1cmluZyBpbnN0YWxsYXRpb24uCi0KLVNpZ25lZC1vZmYtYnk6IEFudG9uaW8gVG9y cmVzIDxhbnRvcnJlc0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95 IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3Jp dHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5 IHwgMTEgKysrKysrKy0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkgICAgICAgICAgfCAg MyArKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9iaW5kaW5zdGFuY2UucHkgYi9pcGFz ZXJ2ZXIvaW5zdGFsbC9iaW5kaW5zdGFuY2UucHkKLWluZGV4IDRmNGFiOWJiYy4uMGNjMWYxMzI1 IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5Ci0rKysgYi9p cGFzZXJ2ZXIvaW5zdGFsbC9iaW5kaW5zdGFuY2UucHkKLUBAIC02ODksNiArNjg5LDggQEAgY2xh c3MgQmluZEluc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAgICAgICBzZWxmLmZvcndhcmRf cG9saWN5ID0gZm9yd2FyZF9wb2xpY3kKLSAgICAgICAgIHNlbGYucmV2ZXJzZV96b25lcyA9IHJl dmVyc2Vfem9uZXMKLSAKLSsgICAgICAgIHNlbGYuc3N0b3JlLmJhY2t1cF9zdGF0ZSgiZG5zX292 ZXJfdGxzIiwgImVuYWJsZWQiLCBkbnNfb3Zlcl90bHMpCi0rCi0gICAgICAgICBpZiBub3Qgem9u ZW1ncjoKLSAgICAgICAgICAgICBzZWxmLnpvbmVtZ3IgPSAnaG9zdG1hc3Rlci4lcycgJSBub3Jt YWxpemVfem9uZShzZWxmLmRvbWFpbikKLSAgICAgICAgIGVsc2U6Ci1AQCAtMTM3NywxMCArMTM3 OSwxMSBAQCBjbGFzcyBCaW5kSW5zdGFuY2Uoc2VydmljZS5TZXJ2aWNlKToKLSAKLSAgICAgICAg IHNlbGYubmFtZWRfY29uZmxpY3QudW5tYXNrKCkKLSAKLS0gICAgICAgIGNlcnRtb25nZXIuc3Rv cF90cmFja2luZyhjZXJ0ZmlsZT1wYXRocy5CSU5EX0ROU19PVkVSX1RMU19DUlQpCi0tICAgICAg ICBjZXJ0bW9uZ2VyLnN0b3BfdHJhY2tpbmcoY2VydGZpbGU9cGF0aHMuQklORF9ETlNfT1ZFUl9U TFNfS0VZKQotLSAgICAgICAgc2VydmljZXMua25vd25zZXJ2aWNlcy51bmJvdW5kLmRpc2FibGUo KQotLSAgICAgICAgc2VydmljZXMua25vd25zZXJ2aWNlcy51bmJvdW5kLnN0b3AoKQotKyAgICAg ICAgaWYgc2VsZi5zc3RvcmUucmVzdG9yZV9zdGF0ZSgiZG5zX292ZXJfdGxzIiwgImVuYWJsZWQi KToKLSsgICAgICAgICAgICBpZiBub3Qgc2VsZi5zc3RvcmUucmVzdG9yZV9zdGF0ZSgiZG5zX292 ZXJfdGxzIiwgImV4dGVybmFsX2NydCIpOgotKyAgICAgICAgICAgICAgICBjZXJ0bW9uZ2VyLnN0 b3BfdHJhY2tpbmcoY2VydGZpbGU9cGF0aHMuQklORF9ETlNfT1ZFUl9UTFNfQ1JUKQotKyAgICAg ICAgICAgIHNlcnZpY2VzLmtub3duc2VydmljZXNbInVuYm91bmQiXS5kaXNhYmxlKCkKLSsgICAg ICAgICAgICBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJ1bmJvdW5kIl0uc3RvcCgpCi0gCi0gICAg ICAgICBpcGF1dGlsLnJlbW92ZV9maWxlKHBhdGhzLk5BTUVEX0NPTkZfQkFLKQotICAgICAgICAg aXBhdXRpbC5yZW1vdmVfZmlsZShwYXRocy5OQU1FRF9DVVNUT01fQ09ORikKLWRpZmYgLS1naXQg YS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLWlu ZGV4IDI5Y2EwZDJmZi4uODhhZmYxOWJjIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwv ZG5zLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLUBAIC00NTcsNiArNDU3LDkg QEAgZGVmIGluc3RhbGwoc3RhbmRhbG9uZSwgcmVwbGljYSwgb3B0aW9ucywgYXBpPWFwaSk6Ci0g Ci0gICAgIGJpbmQuY3JlYXRlX2luc3RhbmNlKCkKLSAKLSsgICAgYmluZC5zc3RvcmUuYmFja3Vw X3N0YXRlKCJkbnNfb3Zlcl90bHMiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImV4 dGVybmFsX2NydCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sKG9wdGlvbnMu ZG5zX292ZXJfdGxzX2NlcnQpKQotICAgICBpZiBvcHRpb25zLmRuc19vdmVyX3RsczoKLSAgICAg ICAgIHByaW50KCJTZXR0aW5nIHVwIEROUyBvdmVyIFRMUyIpCi0gICAgICAgICBfc2V0dXBfZG5z X292ZXJfdGxzKG9wdGlvbnMpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gN2ZkNGI5NDBhYmQyMDg0 ZmQ2ZWM3ZGU3M2RmZDY4NTUxZmNlNzNmZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAyOSBKYW4g MjAyNSAxMDowNzo0NSAtMDUwMAotU3ViamVjdDogW1BBVENIIDA4Ny8xMTZdIGlwYS1taWdyYXRl IC0gZG8gbm90IG1pZ3JhdGUgdG9tYnN0b25lIGVudHJpZXMsCi0gaWdub3JlIE1pZGFpckNvbGxp c2lvbnMsIGFuZCBrcmJwd2Rwb2xpY3lyZWZlcmVuY2UKLQotUmVwbGljYXRpb24gcmVsYXRlZCBl bnRyaWVzIHNob3VsZCBub3QgYmUgbWlncmF0ZWQuICBUaGUgbWFpbiByZWFzb24gaXMKLXRoYXQg d2UgZG8gbm90IGFsbG93IGVudHJpZXMgdG8gYmUgYWRkZWQgdGhhdCBoYXZlIGFuIFJETiBvZiBu c3VuaXF1ZWlkCi0ob25seSB0aGUgc2VydmVyIGNhbiBpbnRlcm5hbGx5IGFkZCB0aGVtKS4KLQot TW9zdCBtaWRhaXIgY29sbGlzaW9ucyBhcmUgdHJhbnNpZW50IGlzc3VlcyBhbmQgY2FuIGJlIGln bm9yZWQgZm9yCi1taWdyYXRpb24gcHVycG9zZXMuIEluIG1pZ3JhdGlvbiB0ZXN0cyB0aGlzIG9u bHkgaGFwcGVucyB3aGVuIGFuCi1hdHRyaWJ1dGUgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGxvY2Fs IHNlcnZlci4gIFRoaXMgaGFwcGVucyBmcmVxdWVudGx5Ci13aXRoIENPUyBhdHRyaWJ1dGVzLgot Ci1XZSBzaG91bGQgYWxzbyBpZ25vcmUgJ2tyYnB3ZHBvbGljeXJlZmVyZW5jZScgYXMgaXQncyBh biBhdHRyaWJ1dGUgdGhhdCBpcwotc2V0IGJ5IENPUyBhbmQgZG9lcyBub3QgbmVlZCB0byBiZSBt aWdyYXRlZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTczNwot UmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0g aXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkgICAgICAgICAgIHwgOCArKysrKysrKwot IGlwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2NvbnN0YW50cy5weSB8IDEgKwotIDIgZmls ZXMgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5z dGFsbC9pcGFfbWlncmF0ZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1p bmRleCBlY2U0NzNiYzguLjViYTE0MGNlMyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxs L2lwYV9taWdyYXRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQot QEAgLTE0NjIsNiArMTQ2MiwxMCBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICAgICAg aWYgRE4oZXhjbHVkZV9kbikgaW4gRE4oZW50cnlfZG4pOgotICAgICAgICAgICAgICAgICByZXR1 cm4KLSAKLSsgICAgICAgICMgU2tpcCB0b21ic3RvbmVzCi0rICAgICAgICBpZiAnbnNUb21ic3Rv bmUnIGluIGVudHJ5X2F0dHJzWydvYmplY3RDbGFzcyddOgotKyAgICAgICAgICAgIHJldHVybgot KwotICAgICAgICAgIyBEZXRlcm1pbmUgZW50cnkgdHlwZTogdXNlciwgZ3JvdXAsIGhiYWMsIGV0 YwotICAgICAgICAgZW50cnlfdHlwZSA9IHNlbGYuZ2V0X2VudHJ5X3R5cGUoZW50cnlfZG4sIGVu dHJ5X2F0dHJzKQotICAgICAgICAgaWYgZW50cnlfdHlwZSBpcyBOb25lOgotQEAgLTE1NjgsNiAr MTU3MiwxMCBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICAgICAgICAgICAgICBzdGF0 c1snY3VzdG9tJ10gKz0gMQotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAg ICAgICAgREJfT0JKRUNUU1tlbnRyeV90eXBlXVsnY291bnQnXSArPSAxCi0rICAgICAgICAgICAg ZXhjZXB0IGVycm9ycy5NaWRhaXJDb2xsaXNpb24gYXMgZToKLSsgICAgICAgICAgICAgICAgIyBU eXBpY2FsbHkgbWVhbnMgbm8gc3VjaCBhdHRyaWJ1dGUsIG9rIHRvIGlnbm9yZQotKyAgICAgICAg ICAgICAgICBzZWxmLmxvZ19kZWJ1ZyhmJ0ZhaWxlZCB0byB1cGRhdGUgIntsb2NhbF9kbn0iIGVy cm9yOiAnCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYne3N0cihlKX0gLSBvayB0 byBpZ25vcmUnKQotICAgICAgICAgICAgIGV4Y2VwdCBlcnJvcnMuRXhlY3V0aW9uRXJyb3IgYXMg ZToKLSAgICAgICAgICAgICAgICAgc2VsZi5sb2dfZXJyb3IoZidGYWlsZWQgdG8gdXBkYXRlICJ7 bG9jYWxfZG59IiBlcnJvcjogJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmJ3tz dHIoZSl9JykKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZV9jb25z dGFudHMucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLWlu ZGV4IGU4MTkyZmIxYS4uMDk4NTZmMDdjIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwv aXBhX21pZ3JhdGVfY29uc3RhbnRzLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWln cmF0ZV9jb25zdGFudHMucHkKLUBAIC03MSw2ICs3MSw3IEBAIElHTk9SRV9BVFRSUyA9IFsKLSAg ICAgJ3NlcnZlcmhvc3RuYW1lJywKLSAgICAgJ2tyYnBhc3N3b3JkZXhwaXJhdGlvbicsCi0gICAg ICdrcmJsYXN0YWRtaW51bmxvY2snLAotKyAgICAna3JicHdkcG9saWN5cmVmZXJlbmNlJywgICMg Q09TIGF0dHJpYnV0ZQotIF0KLSAKLSAjIEZvciBwcm9kdWN0aW9uIG1vZGUsIGJyaW5nIGV2ZXJ5 dGhpbmcgb3ZlcgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGM2YmFjOWJjYjRmYjZjNWI0ZjQ1ZGQ3 NjViZTRhZjAzYjFjNmYyOTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMTIgRmViIDIwMjUgMTY6 NDU6MTYgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAwODgvMTE2XSBWYWxpZGF0ZSB0aGUgZGVmYXVs dCBlLW1haWwgZG9tYWluIGluIHRoZSBjb25maWcKLSBwbHVnaW4KLQotVGhlcmUgd2FzIHplcm8g dmFsaWRhdGlvbiBhdCBhbGwuIFJlLXVzZSB0aGUgRW1haWwgdmFsaWRhdG9yCi1zaW5jZSB0aGF0 IHdpbGwgYmUgdXNlZCB0byB2YWxpZGF0ZSB0aGUgZXZlbnR1YWwgZS1tYWlsCi1hZGRyZXNzIHNl dCBpbiBhIHVzZXIuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2 ODAKLQotU2lnbmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1CeTogUmFmYWVsIEd1dGVycmVzIEplZmZtYW4gPHJqZWZmbWFuQHJlZGhhdC5j b20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci0tLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9jb25maWcucHkgICAgICAgICAgICAgICAgfCAxMyAr KysrKwotIGlwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfY29uZmlnX3BsdWdpbi5weSB8IDU3ICsr KysrKysrKysrKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDcwIGluc2VydGlvbnMoKykK LQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9wbHVnaW5zL2NvbmZpZy5weSBiL2lwYXNlcnZlci9w bHVnaW5zL2NvbmZpZy5weQotaW5kZXggZTJhYTVjZGIxLi5hZGYyMWVhMGMgMTAwNjQ0Ci0tLS0g YS9pcGFzZXJ2ZXIvcGx1Z2lucy9jb25maWcucHkKLSsrKyBiL2lwYXNlcnZlci9wbHVnaW5zL2Nv bmZpZy5weQotQEAgLTM2LDYgKzM2LDcgQEAgZnJvbSAuc2VsaW51eHVzZXJtYXAgaW1wb3J0IHZh bGlkYXRlX3NlbGludXh1c2VyCi0gZnJvbSBpcGFsaWIgaW1wb3J0IF8KLSBmcm9tIGlwYXB5dGhv bi5hZG1pbnRvb2wgaW1wb3J0IFNjcmlwdEVycm9yCi0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0 IEROCi0rZnJvbSBpcGFweXRob24uaXBhdmFsaWRhdGUgaW1wb3J0IEVtYWlsCi0gZnJvbSBpcGFz ZXJ2ZXIucGx1Z2lucy5wcml2aWxlZ2UgaW1wb3J0IHByaW5jaXBhbF9oYXNfcHJpdmlsZWdlCi0g ZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbC5hZHRydXN0IGltcG9ydCBzZXRfYW5kX2NoZWNrX25ldGJp b3NfbmFtZQotIAotQEAgLTExNiw2ICsxMTcsMTcgQEAgZGVmIHZhbGlkYXRlX3NlYXJjaF9yZWNv cmRzX2xpbWl0KHVnZXR0ZXh0LCB2YWx1ZSk6Ci0gICAgICAgICByZXR1cm4gXygnbXVzdCBiZSBh dCBsZWFzdCAxMCcpCi0gICAgIHJldHVybiBOb25lCi0gCi0rCi0rZGVmIHZhbGlkYXRlX2VtYWls ZG9tYWluKHVnZXR0ZXh0LCB2YWx1ZSk6Ci0rICAgICIiIkRvIHNvbWUgYmFzaWMgZS1tYWlsIGRv bWFpbiB2YWxpZGF0aW9uLgotKwotKyAgICAgICBUZXN0IHVzaW5nIGEgc2FtcGxlIHVzZXJAZG9t YWluLgotKyAgICAiIiIKLSsgICAgdGVzdCA9ICJ0ZXN0QHt9Ii5mb3JtYXQodmFsdWUpCi0rICAg IGlmIG5vdCBFbWFpbCh0ZXN0KToKLSsgICAgICAgIHJldHVybiBfKCdJbnZhbGlkIGUtbWFpbCBk b21haW4nKQotKyAgICByZXR1cm4gTm9uZQotKwotIEByZWdpc3RlcigpCi0gY2xhc3MgY29uZmln KExEQVBPYmplY3QpOgotICAgICAiIiIKLUBAIC0xODgsNiArMjAwLDcgQEAgY2xhc3MgY29uZmln KExEQVBPYmplY3QpOgotICAgICAgICAgICAgIGRvYz1fKCdEZWZhdWx0IGdyb3VwIGZvciBuZXcg dXNlcnMnKSwKLSAgICAgICAgICksCi0gICAgICAgICBTdHIoJ2lwYWRlZmF1bHRlbWFpbGRvbWFp bj8nLAotKyAgICAgICAgICAgIHZhbGlkYXRlX2VtYWlsZG9tYWluLAotICAgICAgICAgICAgIGNs aV9uYW1lPSdlbWFpbGRvbWFpbicsCi0gICAgICAgICAgICAgbGFiZWw9XygnRGVmYXVsdCBlLW1h aWwgZG9tYWluJyksCi0gICAgICAgICAgICAgZG9jPV8oJ0RlZmF1bHQgZS1tYWlsIGRvbWFpbicp LAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfY29uZmlnX3BsdWdpbi5w eSBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfY29uZmlnX3BsdWdpbi5weQotaW5kZXggMzg2 MjI0NmExLi4zYmUyZTA2NmIgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0 X2NvbmZpZ19wbHVnaW4ucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfY29uZmln X3BsdWdpbi5weQotQEAgLTM0MCw0ICszNDAsNjEgQEAgY2xhc3MgdGVzdF9jb25maWcoRGVjbGFy YXRpdmUpOgotICAgICAgICAgICAgICksCi0gICAgICAgICAgICAgZXhwZWN0ZWQ9ZXJyb3JzLkVt cHR5TW9kbGlzdCgpLAotICAgICAgICAgKSwKLSsKLSsgICAgICAgIGRpY3QoCi0rICAgICAgICAg ICAgZGVzYz0nU2V0IGludmFsaWQgZGVmYXVsdCBlLW1haWwgZG9tYWluLCBubyBUTEQnLAotKyAg ICAgICAgICAgIGNvbW1hbmQ9KAotKyAgICAgICAgICAgICAgICAnY29uZmlnX21vZCcsIFtdLCB7 J2lwYWRlZmF1bHRlbWFpbGRvbWFpbic6ICdmb28nfSwKLSsgICAgICAgICAgICApLAotKyAgICAg ICAgICAgIGV4cGVjdGVkPWVycm9ycy5WYWxpZGF0aW9uRXJyb3IoCi0rICAgICAgICAgICAgICAg IG5hbWU9J2VtYWlsZG9tYWluJywKLSsgICAgICAgICAgICAgICAgZXJyb3I9J0ludmFsaWQgZS1t YWlsIGRvbWFpbicpLAotKyAgICAgICAgKSwKLSsKLSsgICAgICAgIGRpY3QoCi0rICAgICAgICAg ICAgZGVzYz0nU2V0IGludmFsaWQgZGVmYXVsdCBlLW1haWwgZG9tYWluLCB0cmFpbGluZyBkb3Rz JywKLSsgICAgICAgICAgICBjb21tYW5kPSgKLSsgICAgICAgICAgICAgICAgJ2NvbmZpZ19tb2Qn LCBbXSwgeydpcGFkZWZhdWx0ZW1haWxkb21haW4nOiAnZm9vLmNvbS4uLid9LAotKyAgICAgICAg ICAgICksCi0rICAgICAgICAgICAgZXhwZWN0ZWQ9ZXJyb3JzLlZhbGlkYXRpb25FcnJvcigKLSsg ICAgICAgICAgICAgICAgbmFtZT0nZW1haWxkb21haW4nLAotKyAgICAgICAgICAgICAgICBlcnJv cj0nSW52YWxpZCBlLW1haWwgZG9tYWluJyksCi0rICAgICAgICApLAotKwotKyAgICAgICAgZGlj dCgKLSsgICAgICAgICAgICBkZXNjPSdTZXQgaW52YWxpZCBkZWZhdWx0IGUtbWFpbCBkb21haW4s IHdpdGggYW4gQCcsCi0rICAgICAgICAgICAgY29tbWFuZD0oCi0rICAgICAgICAgICAgICAgICdj b25maWdfbW9kJywgW10sIHsnaXBhZGVmYXVsdGVtYWlsZG9tYWluJzogJ0Bmb28uY29tJ30sCi0r ICAgICAgICAgICAgKSwKLSsgICAgICAgICAgICBleHBlY3RlZD1lcnJvcnMuVmFsaWRhdGlvbkVy cm9yKAotKyAgICAgICAgICAgICAgICBuYW1lPSdlbWFpbGRvbWFpbicsCi0rICAgICAgICAgICAg ICAgIGVycm9yPSdJbnZhbGlkIGUtbWFpbCBkb21haW4nKSwKLSsgICAgICAgICksCi0rCi0rCi0r ICAgICAgICBkaWN0KAotKyAgICAgICAgICAgIGRlc2M9J1NldCB2YWxpZCBkZWZhdWx0IGUtbWFp bCBkb21haW4nLAotKyAgICAgICAgICAgIGNvbW1hbmQ9KAotKyAgICAgICAgICAgICAgICAnY29u ZmlnX21vZCcsIFtdLCB7J2lwYWRlZmF1bHRlbWFpbGRvbWFpbic6ICdmb28uY29tJ30sCi0rICAg ICAgICAgICAgKSwKLSsgICAgICAgICAgICBleHBlY3RlZD17Ci0rICAgICAgICAgICAgICAgICdy ZXN1bHQnOiBsYW1iZGEgZDogZFsnaXBhZGVmYXVsdGVtYWlsZG9tYWluJ10gPT0gKCdmb28uY29t JywpLAotKyAgICAgICAgICAgICAgICAnc3VtbWFyeSc6IE5vbmUsCi0rICAgICAgICAgICAgICAg ICd2YWx1ZSc6IE5vbmUsCi0rICAgICAgICAgICAgfSwKLSsgICAgICAgICksCi0rCi0rICAgICAg ICBkaWN0KAotKyAgICAgICAgICAgIGRlc2M9J1Jlc2V0IGRlZmF1bHQgZS1tYWlsIGRvbWFpbics Ci0rICAgICAgICAgICAgY29tbWFuZD0oCi0rICAgICAgICAgICAgICAgICdjb25maWdfbW9kJywg W10sIHsnaXBhZGVmYXVsdGVtYWlsZG9tYWluJzogYXBpLmVudi5kb21haW59LAotKyAgICAgICAg ICAgICksCi0rICAgICAgICAgICAgZXhwZWN0ZWQ9ewotKyAgICAgICAgICAgICAgICAncmVzdWx0 JzogbGFtYmRhIGQ6ICgKLSsgICAgICAgICAgICAgICAgICAgIGRbJ2lwYWRlZmF1bHRlbWFpbGRv bWFpbiddID09IChhcGkuZW52LmRvbWFpbiwpLAotKyAgICAgICAgICAgICAgICApLAotKyAgICAg ICAgICAgICAgICAnc3VtbWFyeSc6IE5vbmUsCi0rICAgICAgICAgICAgICAgICd2YWx1ZSc6IE5v bmUsCi0rICAgICAgICAgICAgfSwKLSsgICAgICAgICksCi0gICAgIF0KLS0tIAotMi40OS4wCi0K LQotRnJvbSAxYzc4OWY1ZmZkZTVkNDQzZmEyY2U2Y2NmYzRlYjU1ZjlhOGFmYjRjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLURhdGU6IFR1ZSwgMjUgRmViIDIwMjUgMTA6MjQ6NTYgKzAxMDAKLVN1YmplY3Q6IFtQ QVRDSCAwODkvMTE2XSBpcGF0ZXN0czogdXNlICJzb3MgcmVwb3J0IiBpbnN0ZWFkIG9mICJzb3Ny ZXBvcnQiCi0gY29tbWFuZAotCi1UaGUgInNvc2NvbW1hbmQiIGhhcyBiZWVuIGRlcHJlY2F0ZWQg YW5kICJzb3MgcmVwb3J0IiBzaG91bGQgYmUKLXVzZWQgaW5zdGVhZC4gVGhlIHJlZGlyZWN0b3Ig d2FzIHJlbW92ZWQgaW4gc29zIDQuOS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVp cGEvaXNzdWUvOTc1MgotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9A cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVk aGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhj aGVjay5weSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf aXBhaGVhbHRoY2hlY2sucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVh bHRoY2hlY2sucHkKLWluZGV4IDdjM2Y1ODU3YS4uMDVhMGFkYjI0IDEwMDY0NAotLS0tIGEvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci0rKysgYi9pcGF0 ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLUBAIC0xNDA1LDcg KzE0MDUsNyBAQCBjbGFzcyBUZXN0SXBhSGVhbHRoQ2hlY2soSW50ZWdyYXRpb25UZXN0KToKLSAg ICAgICAgIG1zZyA9ICJbcGx1Z2luOmlwYV0gY29sbGVjdGluZyBwYXRoICd7fSciLmZvcm1hdChI RUFMVEhDSEVDS19MT0cpCi0gICAgICAgICBjbWQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgK LSAgICAgICAgICAgICBbCi0tICAgICAgICAgICAgICAgICJzb3NyZXBvcnQiLAotKyAgICAgICAg ICAgICAgICAic29zIiwgInJlcG9ydCIsCi0gICAgICAgICAgICAgICAgICItbyIsCi0gICAgICAg ICAgICAgICAgICJpcGEiLAotICAgICAgICAgICAgICAgICAiLS1jYXNlLWlkIiwKLUBAIC0xNTA4 LDcgKzE1MDgsNyBAQCBjbGFzcyBUZXN0SXBhSGVhbHRoQ2hlY2soSW50ZWdyYXRpb25UZXN0KToK LSAgICAgICAgIGNhc2VpZCA9ICIxMjM0NTYiCi0gICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29t bWFuZCgKLSAgICAgICAgICAgICBbCi0tICAgICAgICAgICAgICAgICJzb3NyZXBvcnQiLAotKyAg ICAgICAgICAgICAgICAic29zIiwgInJlcG9ydCIsCi0gICAgICAgICAgICAgICAgICItbyIsCi0g ICAgICAgICAgICAgICAgICJpcGEiLAotICAgICAgICAgICAgICAgICAiLS1jYXNlLWlkIiwKLS0t IAotMi40OS4wCi0KLQotRnJvbSBiZjRkZTYxNzg0ZDhmMzkyOThjYTk1MmU3MzllY2M0NDkyOWZh NWRhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJjcml0 dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDExIEZlYiAyMDI1IDE0OjMxOjA4IC0wNTAwCi1T dWJqZWN0OiBbUEFUQ0ggMDkwLzExNl0gVXNlIG5ldyhlcikgUEtJIGNvbm5lY3Rpb24gQVBJIGlu Ci0gaXBhLXBraS13YWl0LXJ1bm5pbmcKLQotU2luY2UgUEtJIHYxMC44LjAgdGhlIFBLSUNvbm5l Y3Rpb24gb2JqZWN0IGNhbiBsb25nZXIgYmUKLWNyZWF0ZWQgZm9yIGEgc3BlY2lmaWMgc3Vic3lz dGVtLiBUaGUgY2xpZW50IHRoYXQgY29uc3VtZXMKLXRoZSBjb25uZWN0aW9uIHNwZWNpZmllcyB0 aGUgc3Vic3lzdGVtIGluc3RlYWQuCi0KLVVzZSB0aGlzIG5ldyBBUEkgdW5jb25kaXRpb25hbGx5 IGFzIHdlIHJlcXVpcmUgUEtJID49IDEwLjEwLjAKLWFuZCB3aGF0IGlzIGF2YWlsYWJsZSBpbiBz dXBwb3J0ZWQgcmVwb3MgaXMgZ2VuZXJhbGx5IDExLjUuMCsuCi0KLVNlZSBodHRwczovL2dpdGh1 Yi5jb20vZG9ndGFncGtpL3BraS93aWtpL1BLSS0xMC44LVB5dGhvbi1DaGFuZ2VzCi0KLUZpeGVz OiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2OTEKLQotU2lnbmVkLW9mZi1ieTog Um9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmcmVuYXVkQHJlZGhhdC5jb20+Ci0tLS0KLSBpbnN0YWxsL3Rvb2xz L2lwYS1wa2ktd2FpdC1ydW5uaW5nLmluIHwgMTcgKysrKysrKystLS0tLS0tLS0KLSAxIGZpbGUg Y2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv aW5zdGFsbC90b29scy9pcGEtcGtpLXdhaXQtcnVubmluZy5pbiBiL2luc3RhbGwvdG9vbHMvaXBh LXBraS13YWl0LXJ1bm5pbmcuaW4KLWluZGV4IDljYTZlOTc0ZS4uZmU3YmIzYzg1IDEwMDY0NAot LS0tIGEvaW5zdGFsbC90b29scy9pcGEtcGtpLXdhaXQtcnVubmluZy5pbgotKysrIGIvaW5zdGFs bC90b29scy9pcGEtcGtpLXdhaXQtcnVubmluZy5pbgotQEAgLTU1LDI1ICs1NSwyNCBAQCBkZWYg Y2hlY2tfaW5zdGFsbGVkKHN1YnN5c3RlbSk6Ci0gICAgICAgICByZXR1cm4gRmFsc2UKLSAKLSAK LS1kZWYgZ2V0X2Nvbm4oaG9zdG5hbWUsIHN1YnN5c3RlbSk6Ci0rZGVmIGdldF9jbGllbnQoaG9z dG5hbWUpOgotICAgICAiIiJDcmVhdGUgYSBjb25uZWN0aW9uIG9iamVjdAotICAgICAiIiIKLSAg ICAgY29ubiA9IFBLSUNvbm5lY3Rpb24oCi0gICAgICAgICBob3N0bmFtZT1ob3N0bmFtZSwKLS0g ICAgICAgIHN1YnN5c3RlbT1zdWJzeXN0ZW0sCi0gICAgICAgICBjZXJ0X3BhdGhzPXBhdGhzLklQ QV9DQV9DUlQKLSAgICAgKQotKyAgICBjbGllbnQgPSBTeXN0ZW1TdGF0dXNDbGllbnQoY29ubiwg c3Vic3lzdGVtPVNVQlNZU1RFTSkKLSAgICAgbG9nZ2VyLmluZm8oCi0tICAgICAgICAiQ3JlYXRl ZCBjb25uZWN0aW9uICVzOi8vJXM6JXMvJXMiLAotLSAgICAgICAgY29ubi5wcm90b2NvbCwgY29u bi5ob3N0bmFtZSwgY29ubi5wb3J0LCBjb25uLnN1YnN5c3RlbQotKyAgICAgICAgIkNyZWF0ZWQg Y29ubmVjdGlvbiAlcyVzIiwKLSsgICAgICAgIGNsaWVudC5jb25uZWN0aW9uLnNlcnZlclVSSSwg Y2xpZW50LmdldF9zdGF0dXNfdXJsCi0gICAgICkKLS0gICAgcmV0dXJuIGNvbm4KLSsgICAgcmV0 dXJuIGNsaWVudAotIAotIAotLWRlZiBnZXRfc3RhdHVzKGNvbm4sIHRpbWVvdXQpOgotK2RlZiBn ZXRfc3RhdHVzKGNsaWVudCwgdGltZW91dCk6Ci0gICAgICIiIkdldCBzdGF0dXMgZnJvbSBzdWJz eXN0ZW0gYW5kIHJldHVybiBwYXJzZWQgKHN0YXR1cywgZXJyb3IpCi0gICAgICIiIgotLSAgICBj bGllbnQgPSBTeXN0ZW1TdGF0dXNDbGllbnQoY29ubikKLSAgICAgcmVzcG9uc2UgPSBjbGllbnQu Z2V0X3N0YXR1cyh0aW1lb3V0PXRpbWVvdXQpCi0gICAgIHN0YXR1cyA9IE5vbmUKLSAgICAgZXJy b3IgPSBOb25lCi1AQCAtMTAyLDExICsxMDEsMTEgQEAgZGVmIG1haW4oKToKLSAgICAgYXBpLmJv b3RzdHJhcChjb25mZGlyPXBhdGhzLkVUQ19JUEEsIGxvZz1Ob25lKQotICAgICB0aW1lb3V0ID0g YXBpLmVudi5zdGFydHVwX3RpbWVvdXQKLSAKLS0gICAgY29ubiA9IGdldF9jb25uKGFwaS5lbnYu aG9zdCwgc3Vic3lzdGVtPVNVQlNZU1RFTSkKLSsgICAgY2xpZW50ID0gZ2V0X2NsaWVudChhcGku ZW52Lmhvc3QpCi0gICAgIGVuZCA9IGN1cnRpbWUoKSArIHRpbWVvdXQKLSAgICAgd2hpbGUgY3Vy dGltZSgpIDwgZW5kOgotICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIHN0YXR1cywgZXJyb3Ig PSBnZXRfc3RhdHVzKGNvbm4sIENPTk5FQ1RJT05fVElNRU9VVCkKLSsgICAgICAgICAgICBzdGF0 dXMsIGVycm9yID0gZ2V0X3N0YXR1cyhjbGllbnQsIENPTk5FQ1RJT05fVElNRU9VVCkKLSAgICAg ICAgIGV4Y2VwdCAoQ29ubmVjdGlvbkVycm9yLCBUaW1lb3V0KSBhcyBlOgotICAgICAgICAgICAg IGxvZ2dlci5pbmZvKCJDb25uZWN0aW9uIGZhaWxlZDogJXMiLCBlKQotICAgICAgICAgZXhjZXB0 IFJlcXVlc3RFeGNlcHRpb24gYXMgZToKLS0tIAotMi40OS4wCi0KLQotRnJvbSBjODdiNjk1YWIw MjExZTljZDMzN2U0ZDE0OGMzY2MwZWU1NmEyMzJjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDEx IEZlYiAyMDI1IDEzOjUyOjI3IC0wNTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkxLzExNl0gRml4IHNv bWUgbWVtb3J5IGVycm9ycyBpZGVudGlmaWVkIGJ5IGEgc3RhdGljCi0gYW5hbHl6ZXIKLQotRml4 IGEgY291cGxlIG9mIGxlYWtzIGFuZCBhIGRvdWJsZSBmcmVlLgotCi1GaXhlczogaHR0cHM6Ly9w YWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85Njk4Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVu ZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJl bmF1ZCA8ZnJlbmF1ZEByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJhZmFlbCBHdXRlcnJlcyBK ZWZmbWFuIDxyamVmZm1hbkByZWRoYXQuY29tPgotLS0tCi0gY2xpZW50L2lwYS1ybWtleXRhYi5j ICAgICAgfCA5ICsrKysrKystLQotIGRhZW1vbnMvaXBhLW90cGQvZm9yd2FyZC5jIHwgMyArLS0K LSAyIGZpbGVzIGNoYW5nZWQsIDggaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2NsaWVudC9pcGEtcm1rZXl0YWIuYyBiL2NsaWVudC9pcGEtcm1rZXl0YWIuYwot aW5kZXggNzgwMzI0MThhLi5kMWM5ZWU2NjAgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvaXBhLXJta2V5 dGFiLmMKLSsrKyBiL2NsaWVudC9pcGEtcm1rZXl0YWIuYwotQEAgLTExMSw2ICsxMTEsOSBAQCBy ZW1vdmVfcHJpbmNpcGFsKGtyYjVfY29udGV4dCBjb250ZXh0LCBrcmI1X2tleXRhYiBrdGlkLCBj b25zdCBjaGFyICpwcmluY2lwYWwsCi0gCi0gZG9uZToKLSAKLSsgICAgaWYgKGVudHJ5LnByaW5j aXBhbCkKLSsgICAgICAgIGtyYjVfZnJlZV9wcmluY2lwYWwoY29udGV4dCwgZW50cnkucHJpbmNp cGFsKTsKLSsKLSAgICAgcmV0dXJuIHJ2YWw7Ci0gfQotIAotQEAgLTExOSw3ICsxMjIsNyBAQCBy ZW1vdmVfcmVhbG0oa3JiNV9jb250ZXh0IGNvbnRleHQsIGtyYjVfa2V5dGFiIGt0aWQsIGNvbnN0 IGNoYXIgKnJlYWxtLCBpbnQgZGVidQotIHsKLSAgICAga3JiNV9lcnJvcl9jb2RlIGtyYmVycjsK LSAgICAga3JiNV9rZXl0YWJfZW50cnkgZW50cnk7Ci0tICAgIGtyYjVfa3RfY3Vyc29yIGt0X2N1 cnNvcjsKLSsgICAga3JiNV9rdF9jdXJzb3Iga3RfY3Vyc29yID0gTlVMTDsKLSAgICAgY2hhciAq IGVudHJ5X3ByaW5jX3MgPSBOVUxMOwotICAgICBpbnQgcnZhbCA9IDA7Ci0gICAgIGJvb2wgcmVh bG1fZm91bmQgPSBmYWxzZTsKLUBAIC0xNTMsNiArMTU2LDcgQEAgcmVtb3ZlX3JlYWxtKGtyYjVf Y29udGV4dCBjb250ZXh0LCBrcmI1X2tleXRhYiBrdGlkLCBjb25zdCBjaGFyICpyZWFsbSwgaW50 IGRlYnUKLSAgICAgICAgICAgICBydmFsID0gQ1VSU09SX0VSUk9SOwotICAgICAgICAgICAgIGdv dG8gZG9uZTsKLSAgICAgICAgIH0KLSsgICAgICAgIGt0X2N1cnNvciA9IE5VTEw7Ci0gCi0gICAg ICAgICBpZiAoc3Ryc3RyKGVudHJ5X3ByaW5jX3MsIHJlYWxtKSAhPSBOVUxMKSB7Ci0gICAgICAg ICAgICAgcmVhbG1fZm91bmQgPSB0cnVlOwotQEAgLTE3Niw3ICsxODAsOCBAQCByZW1vdmVfcmVh bG0oa3JiNV9jb250ZXh0IGNvbnRleHQsIGtyYjVfa2V5dGFiIGt0aWQsIGNvbnN0IGNoYXIgKnJl YWxtLCBpbnQgZGVidQotICAgICB9Ci0gCi0gZG9uZToKLS0gICAga3JiNV9rdF9lbmRfc2VxX2dl dChjb250ZXh0LCBrdGlkLCAma3RfY3Vyc29yKTsKLSsgICAgaWYgKGt0X2N1cnNvciAhPSBOVUxM KQotKyAgICAgICAga3JiNV9rdF9lbmRfc2VxX2dldChjb250ZXh0LCBrdGlkLCAma3RfY3Vyc29y KTsKLSAgICAga3JiNV9mcmVlX3VucGFyc2VkX25hbWUoY29udGV4dCwgZW50cnlfcHJpbmNfcyk7 Ci0gICAgIHJldHVybiBydmFsOwotIH0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1vdHBkL2Zv cndhcmQuYyBiL2RhZW1vbnMvaXBhLW90cGQvZm9yd2FyZC5jCi1pbmRleCA3NzI0MWVjM2IuLjBi Nzc5Y2UwMCAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLW90cGQvZm9yd2FyZC5jCi0rKysgYi9k YWVtb25zL2lwYS1vdHBkL2ZvcndhcmQuYwotQEAgLTQ3LDggKzQ3LDcgQEAgc3RhdGljIHZvaWQg Zm9yd2FyZF9jYihrcmI1X2Vycm9yX2NvZGUgcmV0dmFsLCBjb25zdCBrcmFkX3BhY2tldCAqcmVx dWVzdCwKLSAgICAgICAgIG90cGRfbG9nX3JlcShpdGVtLT5yZXEsICJmb3J3YXJkIGVuZDogJXMi LCBrcmFkX2NvZGVfbnVtMm5hbWUoY29kZSkpOwotICAgICB9IGVsc2UgewotICAgICAgICAgY29u c3QgY2hhciAqZXJyX21zZyA9IGtyYjVfZ2V0X2Vycm9yX21lc3NhZ2UoY3R4LmtjdHgsIHJldHZh bCk7Ci0tICAgICAgICBvdHBkX2xvZ19yZXEoaXRlbS0+cmVxLCAiZm9yd2FyZCBlbmQ6ICVzIiwK LS0gICAgICAgICAgICAgICAgICAgICBrcmI1X2dldF9lcnJvcl9tZXNzYWdlKGN0eC5rY3R4LCBy ZXR2YWwpKTsKLSsgICAgICAgIG90cGRfbG9nX3JlcShpdGVtLT5yZXEsICJmb3J3YXJkIGVuZDog JXMiLCBlcnJfbXNnKTsKLSAgICAgICAgIGtyYjVfZnJlZV9lcnJvcl9tZXNzYWdlKGN0eC5rY3R4 LCBlcnJfbXNnKTsKLSAgICAgfQotIAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDhhOWM1NjI5MjE0 Y2Q3MWU4OGE1YWM5YzFiNjM5ZmFhZDlmYzRlYzEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBGcmVkZXJpayBIaW1wZSA8ZnJlZGVyaWtAZnJlaGkuYmU+Ci1EYXRlOiBUdWUsIDI1IEZl YiAyMDI1IDEzOjQ5OjIzICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDkyLzExNl0gTWFrZSBuYW1l IG9mIG5vYm9keSBncm91cCBjb25maWd1cmFibGUgYW5kIHVzZQotIG5vZ3JvdXAgb24gRGViaWFu Ci0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NTMKLQotU2lnbmVk LW9mZi1ieTogRnJlZGVyaWsgSGltcGUgPGZyZWRlcmlrQGZyZWhpLmJlPgotUmV2aWV3ZWQtQnk6 IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gaXBhcGxhdGZv cm0vYmFzZS9jb25zdGFudHMucHkgICAgICAgIHwgMSArCi0gaXBhcGxhdGZvcm0vZGViaWFuL2Nv bnN0YW50cy5weSAgICAgIHwgMSArCi0gaXBhc2VydmVyL2luc3RhbGwvYWR0cnVzdGluc3RhbmNl LnB5IHwgNiArKysrLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXBsYXRmb3JtL2Jhc2UvY29uc3RhbnRzLnB5IGIv aXBhcGxhdGZvcm0vYmFzZS9jb25zdGFudHMucHkKLWluZGV4IGYxZWY3ZWZmZi4uNGM4MDM4YTg0 IDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vYmFzZS9jb25zdGFudHMucHkKLSsrKyBiL2lwYXBs YXRmb3JtL2Jhc2UvY29uc3RhbnRzLnB5Ci1AQCAtMTI0LDYgKzEyNCw3IEBAIGNsYXNzIEJhc2VD b25zdGFudHNOYW1lc3BhY2U6Ci0gICAgIE5BTUVEX09QVElPTlNfVkFSID0gIk9QVElPTlMiCi0g ICAgIE5BTUVEX09QRU5TU0xfRU5HSU5FID0gTm9uZQotICAgICBOQU1FRF9aT05FX0NPTU1FTlQg PSAiIgotKyAgICBOT0JPRFlfR1JPVVAgPSBHcm91cCgibm9ib2R5IikKLSAgICAgUEtJX1VTRVIg PSBVc2VyKCJwa2l1c2VyIikKLSAgICAgUEtJX0dST1VQID0gR3JvdXAoInBraXVzZXIiKQotICAg ICAjIG50cGQgaW5pdCB2YXJpYWJsZSB1c2VkIGZvciBkYWVtb24gb3B0aW9ucwotZGlmZiAtLWdp dCBhL2lwYXBsYXRmb3JtL2RlYmlhbi9jb25zdGFudHMucHkgYi9pcGFwbGF0Zm9ybS9kZWJpYW4v Y29uc3RhbnRzLnB5Ci1pbmRleCA3MjE2Njk0YWQuLmY4ZWU4Y2Y5ZiAxMDA2NDQKLS0tLSBhL2lw YXBsYXRmb3JtL2RlYmlhbi9jb25zdGFudHMucHkKLSsrKyBiL2lwYXBsYXRmb3JtL2RlYmlhbi9j b25zdGFudHMucHkKLUBAIC0yOSw1ICsyOSw2IEBAIGNsYXNzIERlYmlhbkNvbnN0YW50c05hbWVz cGFjZShCYXNlQ29uc3RhbnRzTmFtZXNwYWNlKToKLSAgICAgT0RTX1VTRVIgPSBVc2VyKCJvcGVu ZG5zc2VjIikKLSAgICAgT0RTX0dST1VQID0gR3JvdXAoIm9wZW5kbnNzZWMiKQotICAgICBTRUNV UkVfTkZTX1ZBUiA9ICJORUVEX0dTU0QiCi0rICAgIE5PQk9EWV9HUk9VUCA9IEdyb3VwKCJub2dy b3VwIikKLSAKLSBjb25zdGFudHMgPSBEZWJpYW5Db25zdGFudHNOYW1lc3BhY2UoKQotZGlmZiAt LWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2FkdHJ1c3RpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9p bnN0YWxsL2FkdHJ1c3RpbnN0YW5jZS5weQotaW5kZXggZmQ1YTVhMjgyLi5kZjI1ODZlZjEgMTAw NjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9hZHRydXN0aW5zdGFuY2UucHkKLSsrKyBiL2lw YXNlcnZlci9pbnN0YWxsL2FkdHJ1c3RpbnN0YW5jZS5weQotQEAgLTEyMyw5ICsxMjMsMTEgQEAg ZGVmIG1ha2VfbmV0Ymlvc19uYW1lKHMpOgotIGRlZiBtYXBfR3Vlc3RzX3RvX25vYm9keSgpOgot ICAgICBlbnYgPSB7J0xDX0FMTCc6ICdDJ30KLSAgICAgYXJncyA9IFtwYXRocy5ORVQsICctcycs ICcvZGV2L251bGwnLCAnZ3JvdXBtYXAnLCAnYWRkJywKLS0gICAgICAgICAgICAnc2lkPVMtMS01 LTMyLTU0NicsICd1bml4Z3JvdXA9bm9ib2R5JywgJ3R5cGU9YnVpbHRpbiddCi0rICAgICAgICAg ICAgJ3NpZD1TLTEtNS0zMi01NDYnLAotKyAgICAgICAgICAgICd1bml4Z3JvdXA9IicgKyBjb25z dGFudHMuTk9CT0RZX0dST1VQICsgJyInLCAndHlwZT1idWlsdGluJ10KLSAKLS0gICAgbG9nZ2Vy LmRlYnVnKCJNYXAgQlVJTFRJTlxcR3Vlc3RzIHRvIGEgZ3JvdXAgJ25vYm9keSciKQotKyAgICBs b2dnZXIuZGVidWcoIk1hcCBCVUlMVElOXFxHdWVzdHMgdG8gYSBncm91cCAnJXMnIiwKLSsgICAg ICAgICAgICAgICAgIGNvbnN0YW50cy5OT0JPRFlfR1JPVVApCi0gICAgIGlwYXV0aWwucnVuKGFy Z3MsIGVudj1lbnYsIHJhaXNlb25lcnI9RmFsc2UsIGNhcHR1cmVfZXJyb3I9VHJ1ZSkKLSAKLSAK LS0tIAotMi40OS4wCi0KLQotRnJvbSA5YzZmZjMzYzUyMTNhMjM3NDllMjZmNmM4YTU5ZmY2ODA5 YjRlNjU0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJj cml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDMwIEphbiAyMDI1IDExOjI5OjM3IC0wNTAw Ci1TdWJqZWN0OiBbUEFUQ0ggMDkzLzExNl0gUmVtb3ZlIG1pZ3JhdGlvbiBmcm9tIG1vZF9uc3Mg dG8gbW9kX3NzbAotCi1tb2RfbnNzIHdhcyB0aGUgb3JpZ2luYWwgY3J5cHRvIGVuZ2luZSB1c2Vk IGluIEFwYWNoZSB3aXRoIElQQS4KLVN1cHBvcnQgd2FzIGRyb3BwZWQgaW4gSVBBIHJlbGVhc2Ug NC43LjAgaW4gNDU5NjY3NCBhbmQgbG9va3MKLWxpa2UgaXQgd2FzIGludHJvZHVjZWQgaW50byBG ZWRvcmEgaW4gRjI4LgotCi1JdCdzIHRpbWUgdG8gcmVtb3ZlIHRoaXMgdXBncmFkZSBjb2RlLgot Ci1UaGlzIHJldGFpbnMgdGhlIEhUVFBEX05TU19DT05GIGRlZmluaXRpb24gc28gdGhhdAotY29u dHJpYi9jb3B5LXNjaGVtYS10by1jYS1SSEVMNi5weSBjYW4gc3RpbGwgd29yay4KLQotRml4ZXM6 IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTczOQotCi1TaWduZWQtb2ZmLWJ5OiBS b2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5k ZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxs L2NhaW5zdGFuY2UucHkgICAgIHwgIDkgKy0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2h0dHBpbnN0 YW5jZS5weSAgIHwgNzMgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSBpcGFzZXJ2ZXIv aW5zdGFsbC9rcmFpbnN0YW5jZS5weSAgICB8ICA1ICstCi0gaXBhc2VydmVyL2luc3RhbGwvc2Vy dmVyL3VwZ3JhZGUucHkgfCAxNCAtLS0tLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKSwgOTYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9j YWluc3RhbmNlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5weQotaW5kZXggMzQ2 NmMzMDg4Li4yYzlmYmUwNGYgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3Rh bmNlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jYWluc3RhbmNlLnB5Ci1AQCAtMjY2LDEz ICsyNjYsOCBAQCBjbGFzcyBJbmNvbnNpc3RlbnRDUkxHZW5Db25maWdFeGNlcHRpb24oRXhjZXB0 aW9uKToKLSBjbGFzcyBDQUluc3RhbmNlKERvZ3RhZ0luc3RhbmNlKToKLSAgICAgIiIiCi0gICAg IFdoZW4gdXNpbmcgYSBkb2d0YWcgQ0EgdGhlIERTIGRhdGFiYXNlIGNvbnRhaW5zIGp1c3QgdGhl Ci0tICAgIHNlcnZlciBjZXJ0IGZvciBEUy4gVGhlIG1vZF9uc3MgZGF0YWJhc2Ugd2lsbCBjb250 YWluIHRoZSBSQSBhZ2VudAotLSAgICBjZXJ0IHRoYXQgd2lsbCBiZSB1c2VkIHRvIGRvIGF1dGhl bnRpY2F0ZWQgcmVxdWVzdHMgYWdhaW5zdCBkb2d0YWcuCi0tCi0tICAgIFRoaXMgaXMgZG9uZSBi ZWNhdXNlIHdlIHVzZSBweXRob24tbnNzIGFuZCB3aWxsIGluaGVyaXQgdGhlIG9wZW5lZAotLSAg ICBOU1MgZGF0YWJhc2UgaW4gbW9kX3B5dGhvbi4gSW4gbnNzbGliLnB5IHdlIGRvIGFuIG5zc2lu aXQgYnV0IHRoaXMgd2lsbAotLSAgICByZXR1cm4gc3VjY2VzcyBpZiB0aGUgZGF0YWJhc2UgaXMg YWxyZWFkeSBpbml0aWFsaXplZC4gSXQgZG9lc24ndCBjYXJlCi0tICAgIGlmIHRoZSBkYXRhYmFz ZSBpcyBkaWZmZXJlbnQgb3Igbm90LgotKyAgICBzZXJ2ZXIgY2VydCBmb3IgRFMuIFRoZSBSQSBh Z2VudCBjZXJ0IHRoYXQgd2lsbCBiZSB1c2VkCi0rICAgIHRvIGRvIGF1dGhlbnRpY2F0ZWQgcmVx dWVzdHMgYWdhaW5zdCBkb2d0YWcuCi0gCi0gICAgIGV4dGVybmFsIGlzIGEgc3RhdGUgbWFjaGlu ZToKLSAgICAgICAgMCA9IG5vdCBhbiBleHRlcm5hbGx5IHNpZ25lZCBDQQotZGlmZiAtLWdpdCBh L2lwYXNlcnZlci9pbnN0YWxsL2h0dHBpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2h0 dHBpbnN0YW5jZS5weQotaW5kZXggZDg5M2U3NDFiLi5iMTk2YjAwODggMTAwNjQ0Ci0tLS0gYS9p cGFzZXJ2ZXIvaW5zdGFsbC9odHRwaW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxs L2h0dHBpbnN0YW5jZS5weQotQEAgLTI1LDcgKzI1LDYgQEAgaW1wb3J0IG9zCi0gaW1wb3J0IGds b2IKLSBpbXBvcnQgc2hsZXgKLSBpbXBvcnQgc2h1dGlsCi0taW1wb3J0IHRlbXBmaWxlCi0gCi0g ZnJvbSBhdWdlYXMgaW1wb3J0IEF1Z2VhcwotIGltcG9ydCBkYnVzCi1AQCAtMTE5LDcgKzExOCw2 IEBAIGNsYXNzIEhUVFBJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotIAotICAgICAgICAgc2Vs Zi5zdGVwKCJzdG9wcGluZyBodHRwZCIsIHNlbGYuX19zdG9wKQotICAgICAgICAgc2VsZi5zdGVw KCJiYWNraW5nIHVwIHNzbC5jb25mIiwgc2VsZi5iYWNrdXBfc3NsX2NvbmYpCi0tICAgICAgICBz ZWxmLnN0ZXAoImRpc2FibGluZyBuc3MuY29uZiIsIHNlbGYuZGlzYWJsZV9uc3NfY29uZikKLSAg ICAgICAgIHNlbGYuc3RlcCgiY29uZmlndXJpbmcgbW9kX3NzbCBjZXJ0aWZpY2F0ZSBwYXRocyIs Ci0gICAgICAgICAgICAgICAgICAgc2VsZi5jb25maWd1cmVfbW9kX3NzbF9jZXJ0cykKLSAgICAg ICAgIHNlbGYuc3RlcCgic2V0dGluZyBtb2Rfc3NsIHByb3RvY29sIGxpc3QiLAotQEAgLTIyMiwz NCArMjIwLDEwIEBAIGNsYXNzIEhUVFBJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAgICAg ICAgdGFza3MuY29uZmlndXJlX2h0dHBfZ3NzcHJveHlfY29uZihJUEFBUElfVVNFUikKLSAgICAg ICAgIHNlcnZpY2VzLmtub3duc2VydmljZXMuZ3NzcHJveHkucmVzdGFydCgpCi0gCi0tICAgIGRl ZiBnZXRfbW9kX25zc19uaWNrbmFtZShzZWxmKToKLS0gICAgICAgIGNlcnQgPSBkaXJlY3RpdmVz ZXR0ZXIuZ2V0X2RpcmVjdGl2ZShwYXRocy5IVFRQRF9OU1NfQ09ORiwKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnTlNTTmlja25hbWUnKQotLSAgICAgICAg bmlja25hbWUgPSBkaXJlY3RpdmVzZXR0ZXIudW5xdW90ZV9kaXJlY3RpdmVfdmFsdWUoY2VydCwK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHF1b3RlX2NoYXI9IiciKQotLSAgICAgICAgcmV0dXJuIG5pY2tuYW1lCi0tCi0gICAgIGRl ZiBiYWNrdXBfc3NsX2NvbmYoc2VsZik6Ci0gICAgICAgICBzZWxmLmZzdG9yZS5iYWNrdXBfZmls ZShwYXRocy5IVFRQRF9TU0xfQ09ORikKLSAgICAgICAgIHNlbGYuZnN0b3JlLmJhY2t1cF9maWxl KHBhdGhzLkhUVFBEX1NTTF9TSVRFX0NPTkYpCi0gCi0tICAgIGRlZiBkaXNhYmxlX25zc19jb25m KHNlbGYpOgotLSAgICAgICAgIiIiCi0tICAgICAgICBCYWNrcyB1cCB0aGUgb3JpZ2luYWwgbnNz LmNvbmYgZmlsZSBhbmQgcmVwbGFjZSBpdCB3aXRoIHRoZSBlbXB0eSBvbmUuCi0tICAgICAgICBF bXB0eSBmaWxlIGF2b2lkcyByZWNyZWF0aW9uIG9mIG5zcy5jb25mIGluIGNhc2UgdGhlIHBhY2th Z2UgaXMKLS0gICAgICAgIHJlaW5zdGFsbGVkLgotLQotLSAgICAgICAgVGhlcmUgaXMgbm8gc2Fm ZSB3YXkgdG8gY28tZXhpc3Qgc2luY2UgdGhlcmUgaXMgbm8gc2FmZSBwb3J0Ci0tICAgICAgICB0 byBtYWtlIG1vZF9uc3MgdXNlLCBkaXNhYmxlIGl0IGNvbXBsZXRlbHkuCi0tICAgICAgICAiIiIK LS0gICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHBhdGhzLkhUVFBEX05TU19DT05GKToKLS0gICAg ICAgICAgICAjIGNoZWNrIHRoYXQgd2UgZG9uJ3QgaGF2ZSBhIGJhY2t1cCBhbHJlYWR5Ci0tICAg ICAgICAgICAgIyAobW9kX25zcyAtPiBtb2Rfc3NsIHVwZ3JhZGUgc2NlbmFyaW8pCi0tICAgICAg ICAgICAgaWYgbm90IHNlbGYuZnN0b3JlLmhhc19maWxlKHBhdGhzLkhUVFBEX05TU19DT05GKToK LS0gICAgICAgICAgICAgICAgc2VsZi5mc3RvcmUuYmFja3VwX2ZpbGUocGF0aHMuSFRUUERfTlNT X0NPTkYpCi0tCi0tICAgICAgICBvcGVuKHBhdGhzLkhUVFBEX05TU19DT05GLCAndycpLmNsb3Nl KCkKLS0KLSAgICAgZGVmIHNldF9tb2Rfc3NsX3Byb3RvY29sKHNlbGYpOgotICAgICAgICAgdGFz a3MuY29uZmlndXJlX2h0dHBkX3Byb3RvY29sKCkKLSAKLUBAIC0yNzUsOCArMjQ5LDYgQEAgY2xh c3MgSFRUUEluc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gCi0gICAgICAgICBvY3NwX2RpciA9 IGF1Zy5nZXQob2NzcF9wYXRoKQotIAotLSAgICAgICAgIyB0aGVyZSBpcyBTU0xPQ1NQRW5hYmxl IGRpcmVjdGl2ZSBpbiBuc3MuY29uZiBmaWxlLCBjb21tZW50IGl0Ci0tICAgICAgICAjIG90aGVy d2lzZSBqdXN0IGRvIG5vdGhpbmcKLSAgICAgICAgIGlmIG9jc3BfZGlyIGlzIG5vdCBOb25lOgot ICAgICAgICAgICAgIG9jc3Bfc3RhdGUgPSBhdWcuZ2V0KG9jc3BfYXJnKQotICAgICAgICAgICAg IGF1Zy5yZW1vdmUob2NzcF9hcmcpCi1AQCAtMjg1LDcgKzI1Nyw2IEBAIGNsYXNzIEhUVFBJbnN0 YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAgICAgICAgICAgIGF1Zy5zYXZlKCkKLSAKLSAgICAg ZGVmIF9fYWRkX2luY2x1ZGUoc2VsZik6Ci0tICAgICAgICAiIiJUaGlzIHNob3VsZCBydW4gYWZ0 ZXIgX19zZXRfbW9kX25zc19wb3J0IHNvIGlzIGFscmVhZHkgYmFja2VkIHVwIiIiCi0gICAgICAg ICBpZiBpbnN0YWxsdXRpbHMudXBkYXRlX2ZpbGUocGF0aHMuSFRUUERfU1NMX1NJVEVfQ09ORiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPC9WaXJ0dWFsSG9zdD4nLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdJbmNsdWRlIHtwYXRofVxuJwot QEAgLTUzOCw3ICs1MDksNyBAQCBjbGFzcyBIVFRQSW5zdGFuY2Uoc2VydmljZS5TZXJ2aWNlKToK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleHRlcm5hbC1oZWxwZXInLCBoZWxwZXIp Ci0gCi0gICAgICAgICBmb3IgZiBpbiBbcGF0aHMuSFRUUERfSVBBX0NPTkYsIHBhdGhzLkhUVFBE X1NTTF9DT05GLAotLSAgICAgICAgICAgICAgICAgIHBhdGhzLkhUVFBEX1NTTF9TSVRFX0NPTkYs IHBhdGhzLkhUVFBEX05TU19DT05GXToKLSsgICAgICAgICAgICAgICAgICBwYXRocy5IVFRQRF9T U0xfU0lURV9DT05GXToKLSAgICAgICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgICAgIHNlbGYu ZnN0b3JlLnJlc3RvcmVfZmlsZShmKQotICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yIGFz IGVycm9yOgotQEAgLTU3MCw4ICs1NDEsNiBAQCBjbGFzcyBIVFRQSW5zdGFuY2Uoc2VydmljZS5T ZXJ2aWNlKToKLSAgICAgICAgIGZvciBmaWxlbmFtZSBpbiByZW1vdmVfZmlsZXM6Ci0gICAgICAg ICAgICAgaXBhdXRpbC5yZW1vdmVfZmlsZShmaWxlbmFtZSkKLSAKLS0gICAgICAgIGlwYXV0aWwu cmVtb3ZlX2ZpbGUocGF0aHMuSFRUUERfTlNTX0NPTkYsIG9ubHlfaWZfZW1wdHk9VHJ1ZSkKLS0K LSAgICAgICAgIGZvciBkIGluICgKLSAgICAgICAgICAgICBwYXRocy5TWVNURU1EX1NZU1RFTV9I VFRQRF9EX0RJUiwKLSAgICAgICAgICAgICBwYXRocy5IVFRQRF9BTElBU19ESVIKLUBAIC02NDgs NDMgKzYxNywzIEBAIGNsYXNzIEhUVFBJbnN0YW5jZShzZXJ2aWNlLlNlcnZpY2UpOgotICAgICAg ICAgICAgICAgICAgICAgc2VydmljZV9kbiwKLSAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ9 YXBpLmVudi5yZXBsaWNhdGlvbl93YWl0X3RpbWVvdXQKLSAgICAgICAgICAgICAgICAgKQotLQot LSAgICBkZWYgbWlncmF0ZV90b19tb2Rfc3NsKHNlbGYpOgotLSAgICAgICAgIiIiRm9yIHVwZ3Jh ZGVzIG9ubHksIG1pZ3JhdGUgZnJvbSBtb2RfbnNzIHRvIG1vZF9zc2wiIiIKLS0gICAgICAgIGRi ID0gY2VydHMuQ2VydERCKGFwaS5lbnYucmVhbG0sIG5zc2Rpcj1wYXRocy5IVFRQRF9BTElBU19E SVIpCi0tICAgICAgICBuaWNrbmFtZSA9IHNlbGYuZ2V0X21vZF9uc3Nfbmlja25hbWUoKQotLSAg ICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUoKSBhcyB0ZW1wOgotLSAgICAg ICAgICAgIHBrMTJfcGFzc3dvcmQgPSBpcGF1dGlsLmlwYV9nZW5lcmF0ZV9wYXNzd29yZCgpCi0t ICAgICAgICAgICAgcGsxMl9wd2RmaWxlID0gaXBhdXRpbC53cml0ZV90bXBfZmlsZShwazEyX3Bh c3N3b3JkKQotLSAgICAgICAgICAgIGRiLmV4cG9ydF9wa2NzMTIodGVtcC5uYW1lLCBwazEyX3B3 ZGZpbGUubmFtZSwgbmlja25hbWUpCi0tICAgICAgICAgICAgY2VydHMuaW5zdGFsbF9wZW1fZnJv bV9wMTIodGVtcC5uYW1lLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHBrMTJfcGFzc3dvcmQsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGF0aHMuSFRUUERfQ0VSVF9GSUxFKQotLQotLSAgICAgICAgICAgIHBhc3N3ZF9mbmFtZSA9IHBh dGhzLkhUVFBEX1BBU1NXRF9GSUxFX0ZNVC5mb3JtYXQoCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGhvc3Q9YXBpLmVudi5ob3N0KQotLSAgICAgICAgICAgIHdpdGggb3BlbihwYXNzd2Rf Zm5hbWUsICd3YicpIGFzIHBhc3N3ZF9maWxlOgotLSAgICAgICAgICAgICAgICBvcy5mY2htb2Qo cGFzc3dkX2ZpbGUuZmlsZW5vKCksIDBvNjAwKQotLSAgICAgICAgICAgICAgICBwYXNzd2RfZmls ZS53cml0ZSgKLS0gICAgICAgICAgICAgICAgICAgIGlwYXV0aWwuaXBhX2dlbmVyYXRlX3Bhc3N3 b3JkKCkuZW5jb2RlKCd1dGYtOCcpKQotLQotLSAgICAgICAgICAgIGNlcnRzLmluc3RhbGxfa2V5 X2Zyb21fcDEyKHRlbXAubmFtZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwazEyX3Bhc3N3b3JkLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHBhdGhzLkhUVFBEX0tFWV9GSUxFLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG91dF9wYXNzd2RfZm5hbWU9cGFzc3dkX2ZuYW1lKQotLQotLSAgICAgICAgc2Vs Zi5iYWNrdXBfc3NsX2NvbmYoKQotLSAgICAgICAgc2VsZi5jb25maWd1cmVfbW9kX3NzbF9jZXJ0 cygpCi0tICAgICAgICBzZWxmLnNldF9tb2Rfc3NsX3Byb3RvY29sKCkKLS0gICAgICAgIHNlbGYu c2V0X21vZF9zc2xfbG9nZGlyKCkKLS0gICAgICAgIHNlbGYuX19hZGRfaW5jbHVkZSgpCi0tCi0t ICAgICAgICBzZWxmLmNlcnQgPSB4NTA5LmxvYWRfY2VydGlmaWNhdGVfZnJvbV9maWxlKHBhdGhz LkhUVFBEX0NFUlRfRklMRSkKLS0KLS0gICAgICAgIGlmIHNlbGYuY2FfaXNfY29uZmlndXJlZDoK LS0gICAgICAgICAgICBkYi51bnRyYWNrX3NlcnZlcl9jZXJ0KG5pY2tuYW1lKQotLSAgICAgICAg ICAgIHNlbGYuc3RhcnRfdHJhY2tpbmdfY2VydGlmaWNhdGVzKCkKLS0KLS0gICAgICAgICMgcmVt b3ZlIG5pY2tuYW1lIGFuZCBDQSBjZXJ0cyBmcm9tIE5TUyBkYgotLQotLSAgICAgICAgc2VsZi5k aXNhYmxlX25zc19jb25mKCkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9rcmFpbnN0 YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2tyYWluc3RhbmNlLnB5Ci1pbmRleCA4ZDk1YTIz ZWEuLjEyMzM1ZjQ5YSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2tyYWluc3RhbmNl LnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9rcmFpbnN0YW5jZS5weQotQEAgLTYwLDkgKzYw LDggQEAgY2xhc3MgS1JBSW5zdGFuY2UoRG9ndGFnSW5zdGFuY2UpOgotICAgICAiIiIKLSAgICAg V2UgYXNzdW1lIHRoYXQgdGhlIENBIGhhcyBhbHJlYWR5IGJlZW4gaW5zdGFsbGVkLCBhbmQgd2Ug dXNlIHRoZQotICAgICBzYW1lIHRvbWNhdCBpbnN0YW5jZSB0byBob3N0IGJvdGggdGhlIENBIGFu ZCBLUkEuCi0tICAgIFRoZSBtb2RfbnNzIGRhdGFiYXNlIHdpbGwgY29udGFpbiB0aGUgUkEgYWdl bnQgY2VydCB0aGF0IHdpbGwgYmUgdXNlZAotLSAgICB0byBkbyBhdXRoZW50aWNhdGVkIHJlcXVl c3RzIGFnYWluc3QgZG9ndGFnLiAgVGhlIFJBIGFnZW50IGNlcnQgd2lsbAotLSAgICBiZSB0aGUg c2FtZSBmb3IgYm90aCB0aGUgQ0EgYW5kIEtSQS4KLSsgICAgVGhlIHNhbWUgUkEgYWdlbnQgY2Vy dGlmaWNhdGUgdXNlZCB3aXRoIHRoZSBDQSB3aWxsIGJlIHVzZWQgZm9yIHRoZQotKyAgICBLUkEu Ci0gICAgICIiIgotIAotICAgICAjIE1hcHBpbmcgb2Ygbmlja25hbWVzIGZvciB0cmFja2luZyBy ZXF1ZXN0cywgYW5kIHRoZSBwcm9maWxlIHRvCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3Rh bGwvc2VydmVyL3VwZ3JhZGUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFkZS5w eQotaW5kZXggZmI3MWRmODFhLi5mMjZhMDhhZWYgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5z dGFsbC9zZXJ2ZXIvdXBncmFkZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL3Vw Z3JhZGUucHkKLUBAIC0xMDg4LDE5ICsxMDg4LDYgQEAgZGVmIHJlbW92ZV9kc19yYV9jZXJ0KHN1 YmplY3RfYmFzZSk6Ci0gICAgIHN5c3VwZ3JhZGUuc2V0X3VwZ3JhZGVfc3RhdGUoJ2RzJywgJ3Jl bW92ZV9yYV9jZXJ0JywgVHJ1ZSkKLSAKLSAKLS1kZWYgbWlncmF0ZV90b19tb2Rfc3NsKGh0dHAp OgotLSAgICBsb2dnZXIuaW5mbygnW01pZ3JhdGluZyBmcm9tIG1vZF9uc3MgdG8gbW9kX3NzbF0n KQotLQotLSAgICBpZiBzeXN1cGdyYWRlLmdldF91cGdyYWRlX3N0YXRlKCdzc2wuY29uZicsICdt aWdyYXRlZF90b19tb2Rfc3NsJyk6Ci0tICAgICAgICBsb2dnZXIuaW5mbygiQWxyZWFkeSBtaWdy YXRlZCB0byBtb2Rfc3NsIikKLS0gICAgICAgIHJldHVybgotLQotLSAgICBodHRwLm1pZ3JhdGVf dG9fbW9kX3NzbCgpCi0tCi0tICAgIHN5c3VwZ3JhZGUuc2V0X3VwZ3JhZGVfc3RhdGUoJ3NzbC5j b25mJywgJ21pZ3JhdGVkX3RvX21vZF9zc2wnLCBUcnVlKQotLQotLQotLQotIGRlZiB1cGRhdGVf aXBhX2h0dHBkX3NlcnZpY2VfY29uZihodHRwKToKLSAgICAgbG9nZ2VyLmluZm8oJ1tVcGRhdGlu ZyBIVFRQRCBzZXJ2aWNlIElQQSBjb25maWd1cmF0aW9uXScpCi0gICAgIGh0dHAudXBkYXRlX2h0 dHBkX3NlcnZpY2VfaXBhX2NvbmYoKQotQEAgLTE4NzQsNyArMTg2MSw2IEBAIGRlZiB1cGdyYWRl X2NvbmZpZ3VyYXRpb24oKToKLSAgICAgaHR0cC5zdG9wKCkKLSAgICAgdXBkYXRlX2lwYV9odHRw ZF9zZXJ2aWNlX2NvbmYoaHR0cCkKLSAgICAgdXBkYXRlX2lwYV9odHRwX3dzZ2lfY29uZihodHRw KQotLSAgICBtaWdyYXRlX3RvX21vZF9zc2woaHR0cCkKLSAgICAgdXBkYXRlX2h0dHBfa2V5dGFi KGh0dHApCi0gICAgIGh0dHAuY29uZmlndXJlX2dzc3Byb3h5KCkKLSAgICAgaHR0cC5zdGFydCgp Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gNWNiMzBkMjdmZTE1NjUyNDkzNDdlMTMzZWNhMzY5NTUx N2E1YmY2MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0dGVuZGVuIDxy Y3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAxMSBGZWIgMjAyNSAxMDoxMzoyMCAtMDUw MAotU3ViamVjdDogW1BBVENIIDA5NC8xMTZdIFJlbW92ZSB0aGUgbWlncmF0aW9uIG9mIHRoZSBS QSBjZXJ0IGZyb20gbW9kX25zcyB0bwotIG1vZF9zc2wKLQotT3JpZ2luYWxseSB0aGUgUkEgY2Vy dGlmaWNhdGUgd2FzIHN0b3JlZCBpbiB0aGUgQXBhY2hlIE5TUwotZGF0YWJhc2Ugc28gaXQgd2Fz IGF2YWlsYWJsZSBuYXRpdmVseSB0byB0aGUgZnJhbWV3b3JrLiBJdAotd2FzIHN1YnNlcXVlbnRs eSBtb3ZlZCBpbnRvIFBFTSBmaWxlcyBldmVuIHByaW9yIHRvIHRoZQotc3dpdGNoIGZyb20gbW9k X25zcyB0byBtb2Rfc3NsLgotCi1UaGlzIGNvZGUgd2FzIGludHJvZHVjZWQgd2l0aCA0LjUuMCBh bmQgd2FzIGxhc3Qgc2VlbiBpbiBGZWRvcmEKLWluIDI3IGluIDIwMTcuIFdlIGRvbid0IHN1cHBv cnQgZGlyZWN0IGluLXBsYWNlIHVwZ3JhZGVzIGZyb20KLXN1Y2ggYW4gb2xkIHZlcnNpb24gc28g d2Ugc2hvdWxkIGJlIHNhZmUgZnJvbSBicmlja2luZyBhIHVzZXIncwotaW5zdGFsbGF0aW9uLgot Ci1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzM5Ci0KLVNpZ25lZC1v ZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gLi4uL3VwZGF0 ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlICAgIHwgIDIgLQotIC4uLi9pbnN0YWxs L3BsdWdpbnMvdXBkYXRlX3JhX2NlcnRfc3RvcmUucHkgICB8IDczIC0tLS0tLS0tLS0tLS0tLS0t LS0KLSAyIGZpbGVzIGNoYW5nZWQsIDc1IGRlbGV0aW9ucygtKQotIGRlbGV0ZSBtb2RlIDEwMDY0 NCBpcGFzZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL3VwZGF0ZV9yYV9jZXJ0X3N0b3JlLnB5Ci0KLWRp ZmYgLS1naXQgYS9pbnN0YWxsL3VwZGF0ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRl IGIvaW5zdGFsbC91cGRhdGVzLzkwLXBvc3RfdXBncmFkZV9wbHVnaW5zLnVwZGF0ZQotaW5kZXgg YmI0OGY0ODNjLi45YTlkODBhOTIgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3VwZGF0ZXMvOTAtcG9z dF91cGdyYWRlX3BsdWdpbnMudXBkYXRlCi0rKysgYi9pbnN0YWxsL3VwZGF0ZXMvOTAtcG9zdF91 cGdyYWRlX3BsdWdpbnMudXBkYXRlCi1AQCAtMjEsOCArMjEsNiBAQCBwbHVnaW46IHVwZGF0ZV9w YWNzCi0gcGx1Z2luOiB1cGRhdGVfc2VydmljZV9wcmluY2lwYWxhbGlhcwotIHBsdWdpbjogdXBk YXRlX2ZpeF9kdXBsaWNhdGVfY2FjcnRfaW5fbGRhcAotIHBsdWdpbjogdXBkYXRlX3VwbG9hZF9j YWNydAotLSMgdXBkYXRlX3JhX2NlcnRfc3RvcmUgaGFzIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHVw ZGF0ZV9jYV9yZW5ld2FsX21hc3RlcgotLXBsdWdpbjogdXBkYXRlX3JhX2NlcnRfc3RvcmUKLSBw bHVnaW46IHVwZGF0ZV9tYXBwaW5nX0d1ZXN0c190b19ub2JvZHkKLSBwbHVnaW46IGZpeF9rcmFf cGVvcGxlX2VudHJ5Ci0gcGx1Z2luOiB1cGRhdGVfcHdwb2xpY3kKLWRpZmYgLS1naXQgYS9pcGFz ZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL3VwZGF0ZV9yYV9jZXJ0X3N0b3JlLnB5IGIvaXBhc2VydmVy L2luc3RhbGwvcGx1Z2lucy91cGRhdGVfcmFfY2VydF9zdG9yZS5weQotZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0Ci1pbmRleCA2MjBmMmUyZGQuLjAwMDAwMDAwMAotLS0tIGEvaXBhc2VydmVyL2lu c3RhbGwvcGx1Z2lucy91cGRhdGVfcmFfY2VydF9zdG9yZS5weQotKysrIC9kZXYvbnVsbAotQEAg LTEsNzMgKzAsMCBAQAotLSMKLS0jIENvcHlyaWdodCAoQykgMjAxNiAgRnJlZUlQQSBDb250cmli dXRvcnMgc2VlIENPUFlJTkcgZm9yIGxpY2Vuc2UKLS0jCi0tCi0tZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBhYnNvbHV0ZV9pbXBvcnQKLS0KLS1pbXBvcnQgbG9nZ2luZwotLWltcG9ydCBvcwotLWlt cG9ydCB0ZW1wZmlsZQotLQotLWZyb20gaXBhbGliIGltcG9ydCBSZWdpc3RyeQotLWZyb20gaXBh bGliIGltcG9ydCBVcGRhdGVyCi0tZnJvbSBpcGFsaWIuaW5zdGFsbCBpbXBvcnQgY2VydG1vbmdl cgotLWZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0tZnJvbSBpcGFweXRob24u Y2VydGRiIGltcG9ydCBOU1NEYXRhYmFzZQotLWZyb20gaXBhc2VydmVyLmluc3RhbGwgaW1wb3J0 IGNhaW5zdGFuY2UKLS0KLS1sb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLS0K LS1yZWdpc3RlciA9IFJlZ2lzdHJ5KCkKLS0KLS0KLS1AcmVnaXN0ZXIoKQotLWNsYXNzIHVwZGF0 ZV9yYV9jZXJ0X3N0b3JlKFVwZGF0ZXIpOgotLSAgICAiIiIKLS0gICAgTW92ZXMgdGhlIGlwYUNl cnQgc3RvcmUgZnJvbSAvZXRjL2h0dHBkL2FsaWFzIFJBX0FHRU5UX1BFTSwgUkFfQUdFTlRfS0VZ Ci0tICAgIGZpbGVzCi0tICAgICIiIgotLQotLSAgICBkZWYgZXhlY3V0ZShzZWxmLCAqKm9wdGlv bnMpOgotLSAgICAgICAgcmFfbmljayA9ICdpcGFDZXJ0JwotLSAgICAgICAgY2FfZW5hYmxlZCA9 IHNlbGYuYXBpLkNvbW1hbmQuY2FfaXNfZW5hYmxlZCgpWydyZXN1bHQnXQotLSAgICAgICAgaWYg bm90IGNhX2VuYWJsZWQ6Ci0tICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBbXQotLQotLSAgICAg ICAgdHJ5OgotLSAgICAgICAgICAgIGNlcnRkYiA9IE5TU0RhdGFiYXNlKG5zc2Rpcj1wYXRocy5I VFRQRF9BTElBU19ESVIpCi0tICAgICAgICBleGNlcHQgVmFsdWVFcnJvciBhcyBlOgotLSAgICAg ICAgICAgIGxvZ2dlci53YXJuaW5nKCJQcm9ibGVtIG9wZW5pbmcgTlNTIGRhdGFiYXNlIGluICIK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAiJXMuIFNraXBwaW5nIGNoZWNrIGZvciBleGlz dGluZyBSQSAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgImFnZW50IGNlcnRpZmljYXRl OiAlcyIsIHBhdGhzLkhUVFBEX0FMSUFTX0RJUiwgZSkKLS0gICAgICAgICAgICByZXR1cm4gRmFs c2UsIFtdCi0tCi0tICAgICAgICBpZiBub3QgY2VydGRiLmhhc19uaWNrbmFtZShyYV9uaWNrKToK LS0gICAgICAgICAgICAjIE5vdGhpZ24gdG8gZG8KLS0gICAgICAgICAgICByZXR1cm4gRmFsc2Us IFtdCi0tICAgICAgICBlbGlmIG9zLnBhdGguZXhpc3RzKHBhdGhzLlJBX0FHRU5UX1BFTSk6Ci0t ICAgICAgICAgICAgIyBldmVuIHRob3VnaCB0aGUgY2VydGlmaWNhdGUgZmlsZSBleGlzdHMsIHdl IHdpbGwgb3ZlcndyaXRlIGl0Ci0tICAgICAgICAgICAgIyBhcyBpdCdzIHByb2JhYmFibHkgc29t ZXRoaW5nIHdyb25nIGFueXdheQotLSAgICAgICAgICAgIGxvZ2dlci53YXJuaW5nKAotLSAgICAg ICAgICAgICAgICAiQSBjZXJ0aWZpY2F0ZSB3aXRoIHRoZSBuaWNrbmFtZSAnaXBhQ2VydCcgZXhp c3RzIGluICIKLS0gICAgICAgICAgICAgICAgInRoZSBvbGQgJyVzJyBOU1MgZGF0YWJhc2UgYXMg d2VsbCBhcyBpbiB0aGUgbmV3ICIKLS0gICAgICAgICAgICAgICAgIlBFTSBmaWxlICclcyciLAot LSAgICAgICAgICAgICAgICBwYXRocy5IVFRQRF9BTElBU19ESVIsIHBhdGhzLlJBX0FHRU5UX1BF TSkKLS0KLS0gICAgICAgIF9mZCwgcDEyZmlsZSA9IHRlbXBmaWxlLm1rc3RlbXAoZGlyPWNlcnRk Yi5zZWNkaXIpCi0tICAgICAgICAjIG5vIHBhc3N3b3JkIGlzIG5lY2Vzc2FyeSBhcyB3ZSB3aWxs IGJlIHNhdmluZyBpdCBpbiBjbGVhciBhbnl3YXkKLS0gICAgICAgIGNlcnRkYi5leHBvcnRfcGtj czEyKHJhX25pY2ssIHAxMmZpbGUsIHBrY3MxMl9wYXNzd2Q9JycpCi0tCi0tICAgICAgICAjIHN0 b3AgdHJhY2tpbmcgdGhlIG9sZCBjZXJ0IGFuZCByZW1vdmUgaXQKLS0gICAgICAgIGNlcnRtb25n ZXIuc3RvcF90cmFja2luZyhwYXRocy5IVFRQRF9BTElBU19ESVIsIG5pY2tuYW1lPXJhX25pY2sp Ci0tICAgICAgICBjZXJ0ZGIuZGVsZXRlX2tleV9hbmRfY2VydChyYV9uaWNrKQotLSAgICAgICAg aWYgb3MucGF0aC5leGlzdHMocGF0aHMuT0xEX0tSQV9BR0VOVF9QRU0pOgotLSAgICAgICAgICAg IG9zLnJlbW92ZShwYXRocy5PTERfS1JBX0FHRU5UX1BFTSkKLS0KLS0gICAgICAgICMgZ2V0IHRo ZSBwcml2YXRlIGtleSBhbmQgY2VydGlmaWNhdGUgZnJvbSB0aGUgZmlsZSBhbmQgc3RhcnQKLS0g ICAgICAgICMgdHJhY2tpbmcgaXQgaW4gY2VydG1vbmdlcgotLSAgICAgICAgY2EgPSBjYWluc3Rh bmNlLkNBSW5zdGFuY2UoKQotLSAgICAgICAgY2EuaW1wb3J0X3JhX2NlcnQocDEyZmlsZSkKLS0K LS0gICAgICAgIG9zLnJlbW92ZShwMTJmaWxlKQotLQotLSAgICAgICAgcmV0dXJuIEZhbHNlLCBb XQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDI1ODQ4YThkNDlhNzcyODBmN2IwMGNiODEyNzFkZGI5 NGFlZjdkNDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1S ZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAyNiBGZWIgMjAyNSAxNDoxMTo0NCAr MDEwMAotU3ViamVjdDogW1BBVENIIDA5NS8xMTZdIHZhdWx0OiByZW1vdmUgUEtJQ29ubmVjdGlv biBkZXByZWNhdGlvbiB3YXJuaW5nCi0KLVBLSUNvbm5lY3Rpb24gc2hvdWxkIGJlIGNyZWF0ZWQg d2l0aG91dCB0aGUgc3Vic3lzdGVtIGFuZAotdGhlIHN1c2J5c3RlbSBoYXMgdG8gYmUgcHJvdmlk ZWQgaW4gdGhlIEFjY291bnRDbGllbnQgYXMKLWRlc2NyaWJlZCBpbiBodHRwczovL2dpdGh1Yi5j b20vZG9ndGFncGtpL3BraS93aWtpL1BLSS0xMC44LVB5dGhvbi1DaGFuZ2VzCi0KLUZpeGVzOiBo dHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NTQKLVNpZ25lZC1vZmYtYnk6IEZsb3Jl bmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0 ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRnJhbmNpc2NvIFRyaXZp bm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9kb2d0YWcu cHkgfCAxIC0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy92YXVsdC5weSAgfCA5ICsrKysrKy0tLQotIDIg ZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvZG9n dGFnLnB5Ci1pbmRleCBlZTZkMGUzNDcuLjAwZmUxYWQ2NCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZl ci9wbHVnaW5zL2RvZ3RhZy5weQotKysrIGIvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5Ci1A QCAtMTU5MSw3ICsxNTkxLDYgQEAgY2xhc3Mga3JhKEJhY2tlbmQpOgotICAgICAgICAgICAgICdo dHRwcycsCi0gICAgICAgICAgICAgc2VsZi5rcmFfaG9zdCwKLSAgICAgICAgICAgICBzdHIoc2Vs Zi5rcmFfcG9ydCksCi0tICAgICAgICAgICAgJ2tyYScsCi0gICAgICAgICAgICAgY2VydF9wYXRo cz1wYXRocy5JUEFfQ0FfQ1JUCi0gICAgICAgICApCi0gCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVy L3BsdWdpbnMvdmF1bHQucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy92YXVsdC5weQotaW5kZXggMGJj YzJhMWNlLi40NjQ2MzQzMGQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy92YXVsdC5w eQotKysrIGIvaXBhc2VydmVyL3BsdWdpbnMvdmF1bHQucHkKLUBAIC04NDMsNyArODQzLDggQEAg Y2xhc3MgdmF1bHRfZGVsKExEQVBEZWxldGUpOgotIAotICAgICAgICAgd2l0aCBzZWxmLmFwaS5C YWNrZW5kLmtyYS5nZXRfY2xpZW50KCkgYXMga3JhX2NsaWVudDoKLSAgICAgICAgICAgICAjIHB5 bGludDogZGlzYWJsZT11c2VkLWJlZm9yZS1hc3NpZ25tZW50Ci0tICAgICAgICAgICAga3JhX2Fj Y291bnQgPSBwa2kuYWNjb3VudC5BY2NvdW50Q2xpZW50KGtyYV9jbGllbnQuY29ubmVjdGlvbikK LSsgICAgICAgICAgICBrcmFfYWNjb3VudCA9IHBraS5hY2NvdW50LkFjY291bnRDbGllbnQoa3Jh X2NsaWVudC5jb25uZWN0aW9uLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdWJzeXN0ZW09J2tyYScpCi0gICAgICAgICAgICAgIyBweWxpbnQ6 IGVuYWJsZT11c2VkLWJlZm9yZS1hc3NpZ25tZW50Ci0gICAgICAgICAgICAga3JhX2FjY291bnQu bG9naW4oKQotIAotQEAgLTEwODEsNyArMTA4Miw4IEBAIGNsYXNzIHZhdWx0X2FyY2hpdmVfaW50 ZXJuYWwoUEtRdWVyeSk6Ci0gCi0gICAgICAgICAjIGNvbm5lY3QgdG8gS1JBCi0gICAgICAgICB3 aXRoIHNlbGYuYXBpLkJhY2tlbmQua3JhLmdldF9jbGllbnQoKSBhcyBrcmFfY2xpZW50OgotLSAg ICAgICAgICAgIGtyYV9hY2NvdW50ID0gcGtpLmFjY291bnQuQWNjb3VudENsaWVudChrcmFfY2xp ZW50LmNvbm5lY3Rpb24pCi0rICAgICAgICAgICAga3JhX2FjY291bnQgPSBwa2kuYWNjb3VudC5B Y2NvdW50Q2xpZW50KGtyYV9jbGllbnQuY29ubmVjdGlvbiwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Vic3lzdGVtPSdrcmEnKQotICAgICAg ICAgICAgIGtyYV9hY2NvdW50LmxvZ2luKCkKLSAKLSAgICAgICAgICAgICBjbGllbnRfa2V5X2lk ID0gc2VsZi5vYmouZ2V0X2tleV9pZCh2YXVsdFsnZG4nXSkKLUBAIC0xMTYzLDcgKzExNjUsOCBA QCBjbGFzcyB2YXVsdF9yZXRyaWV2ZV9pbnRlcm5hbChQS1F1ZXJ5KToKLSAKLSAgICAgICAgICMg Y29ubmVjdCB0byBLUkEKLSAgICAgICAgIHdpdGggc2VsZi5hcGkuQmFja2VuZC5rcmEuZ2V0X2Ns aWVudCgpIGFzIGtyYV9jbGllbnQ6Ci0tICAgICAgICAgICAga3JhX2FjY291bnQgPSBwa2kuYWNj b3VudC5BY2NvdW50Q2xpZW50KGtyYV9jbGllbnQuY29ubmVjdGlvbikKLSsgICAgICAgICAgICBr cmFfYWNjb3VudCA9IHBraS5hY2NvdW50LkFjY291bnRDbGllbnQoa3JhX2NsaWVudC5jb25uZWN0 aW9uLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdWJzeXN0ZW09J2tyYScpCi0gICAgICAgICAgICAga3JhX2FjY291bnQubG9naW4oKQotIAot ICAgICAgICAgICAgIGNsaWVudF9rZXlfaWQgPSBzZWxmLm9iai5nZXRfa2V5X2lkKHZhdWx0Wydk biddKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDQ2MDI4MWY0NTA4ODY0ZWYyNWIzYjk5OTJlNTky MmU3OTQ3YTMxMDkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBEYXZpZCBIYW5pbmEg PGRoYW5pbmFAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTggRmViIDIwMjUgMTU6MzY6MTIgKzAx MDAKLVN1YmplY3Q6IFtQQVRDSCAwOTYvMTE2XSBSZXBsYWNlIGZpcHMtbW9kZS1zZXR1cAotCi1S SEVMMTAgbm8gbG9uZ2VyIHN1cHBvcnQgZmlwcy1zZXR1cC1tb2RlLCB0aGlzIGhhcyBiZWVuCi1y ZXBsYWNlZCBpbiB0aGUgaGVhbHRoY2hlY2sgdG9vbCwgYnV0IGFsc28gbmVlZHMgdG8gYmUgcmVw bGFjZWQgaGVyZS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc1 MAotCi1TaWduZWQtb2ZmLWJ5OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLVJl dmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3 ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhcGxh dGZvcm0vYmFzZS9wYXRocy5weSAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEgLQotIGlwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSB8IDE1ICsrKysrKy0t LS0tLS0tLQotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2lwYXBsYXRmb3JtL2Jhc2UvcGF0aHMucHkgYi9pcGFwbGF0Zm9y bS9iYXNlL3BhdGhzLnB5Ci1pbmRleCBiMmRhOTQ5OTIuLjZhNjJkN2JkMCAxMDA2NDQKLS0tLSBh L2lwYXBsYXRmb3JtL2Jhc2UvcGF0aHMucHkKLSsrKyBiL2lwYXBsYXRmb3JtL2Jhc2UvcGF0aHMu cHkKLUBAIC0yOCw3ICsyOCw2IEBAIGNsYXNzIEJhc2VQYXRoTmFtZXNwYWNlOgotICAgICBCSU5f SE9TVE5BTUVDVEwgPSAiL2Jpbi9ob3N0bmFtZWN0bCIKLSAgICAgQ1JZUFRPX1BPTElDWV9PUEVO U1NMQ05GX0ZJTEUgPSBOb25lCi0gICAgIEVDSE8gPSAiL2Jpbi9lY2hvIgotLSAgICBGSVBTX01P REVfU0VUVVAgPSAiL2Jpbi9maXBzLW1vZGUtc2V0dXAiCi0gICAgIEdaSVAgPSAiL2Jpbi9nemlw IgotICAgICBMUyA9ICIvYmluL2xzIgotICAgICBTWVNURU1DVEwgPSAiL2Jpbi9zeXN0ZW1jdGwi Ci1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNo ZWNrLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5 Ci1pbmRleCAwNWEwYWRiMjQuLjlmNDAxN2UzNSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci1AQCAtMzc3LDIxICszNzcsMTggQEAg Y2xhc3MgVGVzdElwYUhlYWx0aENoZWNrKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWlsdXJlc19vbmx5PUZhbHNlKQotICAg ICAgICAgYXNzZXJ0IHJldHVybmNvZGUgPT0gMAotIAotLSAgICAgICAgY21kID0gc2VsZi5tYXN0 ZXIucnVuX2NvbW1hbmQoCi0tICAgICAgICAgICAgW3BhdGhzLkZJUFNfTU9ERV9TRVRVUCwgIi0t aXMtZW5hYmxlZCJdLCByYWlzZW9uZXJyPUZhbHNlCi0tICAgICAgICApCi0tICAgICAgICByZXR1 cm5jb2RlID0gY21kLnJldHVybmNvZGUKLSsgICAgICAgIGlzX2ZpcHNfZW5hYmxlZCA9IHRhc2tz LmlzX2ZpcHNfZW5hYmxlZChzZWxmLm1hc3RlcikKLSAKLSAgICAgICAgIGFzc2VydCAiZmlwcyIg aW4gY2hlY2tbMF1bImt3Il0KLSAKLSAgICAgICAgIGlmIGNoZWNrWzBdWyJrdyJdWyJmaXBzIl0g PT0gImRpc2FibGVkIjoKLS0gICAgICAgICAgICBhc3NlcnQgcmV0dXJuY29kZSA9PSAyCi0rICAg ICAgICAgICAgYXNzZXJ0IG5vdCBpc19maXBzX2VuYWJsZWQKLSAgICAgICAgIGVsaWYgY2hlY2tb MF1bImt3Il1bImZpcHMiXSA9PSAiZW5hYmxlZCI6Ci0tICAgICAgICAgICAgYXNzZXJ0IHJldHVy bmNvZGUgPT0gMAotLSAgICAgICAgZWxpZiBjaGVja1swXVsia3ciXVsiZmlwcyJdID09IGYibWlz c2luZyB7cGF0aHMuRklQU19NT0RFX1NFVFVQfSI6Ci0tICAgICAgICAgICAgYXNzZXJ0IHJldHVy bmNvZGUgPT0gMTI3Ci0rICAgICAgICAgICAgYXNzZXJ0IGlzX2ZpcHNfZW5hYmxlZAotICAgICAg ICAgZWxzZToKLS0gICAgICAgICAgICBhc3NlcnQgcmV0dXJuY29kZSA9PSAxCi0rICAgICAgICAg ICAgcmFpc2UgVmFsdWVFcnJvcigiRmlsZSAlcyBkb2Vzbid0IGV4aXN0IG9yIGNvbnRhaW5zIHVu ZXhwZWN0ZWQgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlLCB0aGlzIGlz IGEga2VybmVsIGlzc3VlISIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgcGF0aHMu UFJPQ19GSVBTX0VOQUJMRUQpCi0gCi0gICAgIGRlZiB0ZXN0X2lwYV9oZWFsdGhjaGVja19hZnRl cl9jZXJ0dXBkYXRlKHNlbGYpOgotICAgICAgICAgIiIiCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g M2U4MzQ4YTI1MjExNDAwNTY3OGMxMTU1YzcwYmI4MDZlOWVmYzRmMCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IERhdmlkIEhhbmluYSA8ZGhhbmluYUByZWRoYXQuY29tPgotRGF0ZTog TW9uLCAyNCBGZWIgMjAyNSAxMTozMjo1OSArMDEwMAotU3ViamVjdDogW1BBVENIIDA5Ny8xMTZd IFNraXAgZm9yIHVucGF0Y2hlZCBmcmVlaXBhLWhlYWx0aGNoZWNrCi0KLVRoZSBwYXRjaCBpcyBu b3QgeWV0IGxpdmUsIHRoZXJlZm9yZSB3ZSBzaG91bGQgZXhwZWN0IGFuIGZhaWx1cmUuCi1PbmNl IHRoZSBwYXRjaGVkIHZlcnNpb24gZ29lcyBvdXQsIHRoZSB0ZXN0IHNob3VsZCB3b3JrIHByb3Bl cmx5LgotCi1TaWduZWQtb2ZmLWJ5OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2 aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5IHwgMTAgKysrKysr KysrKwotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9p cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkgYi9pcGF0ZXN0 cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLWluZGV4IDlmNDAxN2Uz NS4uZDcyODA4ZjBmIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2lwYWhlYWx0aGNoZWNrLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf aXBhaGVhbHRoY2hlY2sucHkKLUBAIC0zNzAsNiArMzcwLDE2IEBAIGNsYXNzIFRlc3RJcGFIZWFs dGhDaGVjayhJbnRlZ3JhdGlvblRlc3QpOgotIAotICAgICAgICAgaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS84OTUxCi0gICAgICAgICAiIiIKLSsgICAgICAgIGhlYWx0aGNoZWNrX3Zl cnNpb24gPSB0YXNrcy5nZXRfaGVhbHRoY2hlY2tfdmVyc2lvbihzZWxmLm1hc3RlcikKLSsgICAg ICAgIGlmICgKLSsgICAgICAgICAgICBwYXJzZV92ZXJzaW9uKGhlYWx0aGNoZWNrX3ZlcnNpb24p IDwgcGFyc2VfdmVyc2lvbigiMC4xNyIpCi0rICAgICAgICAgICAgYW5kIG9zaW5mby5pZCA9PSAn cmhlbCcKLSsgICAgICAgICAgICBhbmQgb3NpbmZvLnZlcnNpb25fbnVtYmVyID09ICgxMCwwKQot KyAgICAgICAgKToKLSsgICAgICAgICAgICAjIFBhdGNoOiBodHRwczovL2dpdGh1Yi5jb20vZnJl ZWlwYS9mcmVlaXBhLWhlYWx0aGNoZWNrL3B1bGwvMzQ5Ci0rICAgICAgICAgICAgcHl0ZXN0Lnhm YWlsKCJQYXRjaCBpcyB1bmF2YWlsYWJsZSBmb3IgUkhFTCAxMC4wIGFuZCAiCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICJmcmVlaXBhLWhlYWx0aGVjayB2ZXJzaW9uIDAuMTYgb3IgbGVzcyIp Ci0rCi0gICAgICAgICByZXR1cm5jb2RlLCBjaGVjayA9IHJ1bl9oZWFsdGhjaGVjayhzZWxmLm1h c3RlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJj ZT0iaXBhaGVhbHRoY2hlY2subWV0YS5jb3JlIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNoZWNrPSJNZXRhQ2hlY2siLAotLS0gCi0yLjQ5LjAKLQotCi1G cm9tIGZiZGY3NTUxZGU1MjRkNDUwOWM3N2YwM2JjYjU5ZDliNjE2YzE3OWYgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4K LURhdGU6IEZyaSwgMzEgSmFuIDIwMjUgMTA6NTQ6MTMgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCAw OTgvMTE2XSBMb2cgZmFpbGVkIGF1dGggYXR0ZW1wdHMgb3ZlciBMREFQIHdoZW4gYSB1c2VyIGlz Ci0gbG9ja2VkCi0KLVRoZSBLREMgbG9ncyB3aGVuIGEgdXNlciB3aG8gaXMgbG9ja2VkIG91dCB3 aXRoCi1DbGllbnQncyBjcmVkZW50aWFscyBoYXZlIGJlZW4gcmV2b2tlZAotCi1UaGUgTERBUCBz ZXJ2ZXIgZGlkIG5vdC4gVGhpcyBhZGRzIGEgbWVzc2FnZSBzbyBhZG1pbmlzdHJhdG9ycwotY2Fu IHRlbGwgd2hlbiBhIHVzZXIgaXMgbG9ja2VkIG91dC4KLQotQUxFUlQgLSBpcGFsb2Nrb3V0X3Bv c3RvcCAtIFVzZXIgdWlkPXR1c2VyLGNuPXVzZXJzLGNuPWFjY291bnRzLGRjPWV4YW1wbGUsZGM9 dGVzdCBpcyBsb2NrZWQgb3V0LiBUb28gbWFueSBmYWlsZWQgYXV0aGVudGljYXRpb24gYXR0ZW1w dHMuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NDIKLQotU2ln bmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGRhZW1vbnMv aXBhLXNsYXBpLXBsdWdpbnMvY29tbW9uL3V0aWwuaCAgICAgICB8ICAzICsrCi0gLi4uL2lwYS1s b2Nrb3V0L2lwYV9sb2Nrb3V0LmMgICAgICAgICAgICAgICAgIHwgIDEgKwotIGlwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weSAgICB8IDM3ICsrKysrKysrKysrKysrKysr KysKLSAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2Rh ZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvY29tbW9uL3V0aWwuaCBiL2RhZW1vbnMvaXBhLXNsYXBp LXBsdWdpbnMvY29tbW9uL3V0aWwuaAotaW5kZXggZGI3Y2Y3MTgxLi44YTlhYjc5OTkgMTAwNjQ0 Ci0tLS0gYS9kYWVtb25zL2lwYS1zbGFwaS1wbHVnaW5zL2NvbW1vbi91dGlsLmgKLSsrKyBiL2Rh ZW1vbnMvaXBhLXNsYXBpLXBsdWdpbnMvY29tbW9uL3V0aWwuaAotQEAgLTY3LDYgKzY3LDkgQEAK LSAgICAgICAgICAgICAgICAgICAgICJbZmlsZSAlcywgbGluZSAlZF06ICIgZm10LCBcCi0gICAg ICAgICAgICAgICAgICAgICBfX0ZJTEVfXywgX19MSU5FX18sICMjX19WQV9BUkdTX18pCi0gCi0r I2RlZmluZSBMT0dfQUxFUlQoZm10LCAuLi4pIFwKLSsgICAgc2xhcGlfbG9nX2Vycm9yKFNMQVBJ X0xPR19BTEVSVCwgbG9nX2Z1bmMsIGZtdCwgIyNfX1ZBX0FSR1NfXykKLSsKLSAjZGVmaW5lIExP R19QV0RQT0xJQ1koZm10LCAuLi4pIFwKLSAgICAgc2xhcGlfbG9nX2Vycm9yKFNMQVBJX0xPR19Q V0RQT0xJQ1ksIGxvZ19mdW5jLCBmbXQsICMjX19WQV9BUkdTX18pCi0gCi1kaWZmIC0tZ2l0IGEv ZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtbG9ja291dC9pcGFfbG9ja291dC5jIGIvZGFl bW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtbG9ja291dC9pcGFfbG9ja291dC5jCi1pbmRleCAz NjYwMTgwOTQuLmVjYjZkNmRmNSAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLXNsYXBpLXBsdWdp bnMvaXBhLWxvY2tvdXQvaXBhX2xvY2tvdXQuYwotKysrIGIvZGFlbW9ucy9pcGEtc2xhcGktcGx1 Z2lucy9pcGEtbG9ja291dC9pcGFfbG9ja291dC5jCi1AQCAtNTUyLDYgKzU1Miw3IEBAIHN0YXRp YyBpbnQgaXBhbG9ja291dF9wb3N0b3AoU2xhcGlfUEJsb2NrICpwYikKLSAgICAgICAgICAgICAg ICAgaWYgKChsb2Nrb3V0X2R1cmF0aW9uID09IDApIHx8Ci0gICAgICAgICAgICAgICAgICAgICAo dGltZV9ub3cgPCB0aW1lZ20oJnRtKSArIGxvY2tvdXRfZHVyYXRpb24pKSB7Ci0gICAgICAgICAg ICAgICAgICAgICAvKiBXaXRoaW4gbG9ja291dCBkdXJhdGlvbiAqLwotKyAgICAgICAgICAgICAg ICAgICAgTE9HX0FMRVJUKCJVc2VyICVzIGlzIGxvY2tlZCBvdXQuIFRvbyBtYW55IGZhaWxlZCBh dXRoZW50aWNhdGlvbiBhdHRlbXB0cy5cbiIsIGRuKTsKLSAgICAgICAgICAgICAgICAgICAgIGdv dG8gZG9uZTsKLSAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgIH0KLWRpZmYgLS1naXQg YS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkgYi9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLWluZGV4IGZkMzRkZWZlNS4uOWM2NWI3 YzZiIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRz LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLUBA IC0yNCw2ICsyNCw3IEBAIGZyb20gY3J5cHRvZ3JhcGh5IGltcG9ydCB4NTA5Ci0gZnJvbSBkYXRl dGltZSBpbXBvcnQgZGF0ZXRpbWUsIHRpbWVkZWx0YQotIAotIGZyb20gaXBhbGliLmNvbnN0YW50 cyBpbXBvcnQgSVBBQVBJX1VTRVIKLStmcm9tIGlwYWxpYi5lcnJvcnMgaW1wb3J0IERhdGFiYXNl RXJyb3IKLSAKLSBmcm9tIGlwYXBsYXRmb3JtLnBhdGhzIGltcG9ydCBwYXRocwotIAotQEAgLTEz NzksNiArMTM4MCw0MiBAQCBjbGFzcyBUZXN0SVBBQ29tbWFuZChJbnRlZ3JhdGlvblRlc3QpOgot ICAgICAgICAgYXNzZXJ0ICJERUJVRyIgaW4gcGtpc3Bhd25sb2cKLSAgICAgICAgIGFzc2VydCAi SU5GTyIgaW4gcGtpc3Bhd25sb2cKLSAKLSsgICAgZGVmIHRlc3RfcGFzc3dvcmRfbG9ja19sZGFw X2xvZ3Moc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRlc3QgdGhhdCB3aGVuIGEgdXNl ciBmYWlscyBMREFQIGF1dGhlbnRpY2F0aW9uIHdoaWxlIGluIGxvY2tvdXQKLSsgICAgICAgIHRo YXQgaXQgaXMgbG9nZ2VkLgotKyAgICAgICAgIiIiCi0rICAgICAgICB1c2VyID0gJ2xkYXB1c2Vy JwotKyAgICAgICAgcGFzc3dvcmQgPSAnU2VjcmV0MTIzJwotKyAgICAgICAgYmFkX3Bhc3N3b3Jk ID0gJ2ZvbycKLSsgICAgICAgIGJhc2VkbiA9IHNlbGYubWFzdGVyLmRvbWFpbi5iYXNlZG4KLSsg ICAgICAgIGJpbmRkbiA9IEROKGYidWlkPXt1c2VyfSxjbj11c2Vycyxjbj1hY2NvdW50cyx7YmFz ZWRufSIpCi0rCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLm1hc3RlcikKLSsgICAg ICAgIHRhc2tzLmNyZWF0ZV9hY3RpdmVfdXNlcigKLSsgICAgICAgICAgICBzZWxmLm1hc3Rlciwg dXNlciwgcGFzc3dvcmQ9cGFzc3dvcmQKLSsgICAgICAgICkKLSsKLSsgICAgICAgIHNlcnZlcmlk ID0gcmVhbG1fdG9fc2VydmVyaWQoc2VsZi5tYXN0ZXIuZG9tYWluLnJlYWxtKQotKyAgICAgICAg bG9nX2ZpbGUgPSAnL3Zhci9sb2cvZGlyc3J2L3NsYXBkLXt9L2Vycm9ycycuZm9ybWF0KHNlcnZl cmlkKQotKwotKyAgICAgICAgbG9nc2l6ZSA9IGxlbihzZWxmLm1hc3Rlci5nZXRfZmlsZV9jb250 ZW50cyhsb2dfZmlsZSkpCi0rCi0rICAgICAgICAjIExvY2sgb3V0IHRoZSB1c2VyIG9uIG1hc3Rl cgotKyAgICAgICAgZm9yIF9pIGluIHJhbmdlKDAsIDcpOgotKyAgICAgICAgICAgIHRhc2tzLmtp bml0X3VzZXIoc2VsZi5tYXN0ZXIsIHVzZXIsIGJhZF9wYXNzd29yZCwgcmFpc2VvbmVycj1GYWxz ZSkKLSsKLSsgICAgICAgIGNvbm4gPSBzZWxmLm1hc3Rlci5sZGFwX2Nvbm5lY3QoKQotKyAgICAg ICAgdHJ5OgotKyAgICAgICAgICAgIGNvbm4uc2ltcGxlX2JpbmQoYmluZGRuLCBmIntwYXNzd29y ZH0iKQotKyAgICAgICAgZXhjZXB0IERhdGFiYXNlRXJyb3I6Ci0rICAgICAgICAgICAgIyBUaGlz IGlzIGV4cGVjdGVkCi0rICAgICAgICAgICAgcGFzcwotKwotKyAgICAgICAgZXJyb3JfbG9nID0g c2VsZi5tYXN0ZXIuZ2V0X2ZpbGVfY29udGVudHMobG9nX2ZpbGUpW2xvZ3NpemU6XQotKwotKyAg ICAgICAgYXNzZXJ0IGInVG9vIG1hbnkgZmFpbGVkIGF1dGhlbnRpY2F0aW9uIGF0dGVtcHRzJyBp biBlcnJvcl9sb2cKLSsKLSAgICAgZGVmIHRlc3RfcmVzZXRfcGFzc3dvcmRfdW5sb2NrKHNlbGYp OgotICAgICAgICAgIiIiCi0gICAgICAgICBUZXN0IHRoYXQgd2hlbiBhIHVzZXIgaXMgYWxzbyB1 bmxvY2tlZCB3aGVuIHRoZWlyIHBhc3N3b3JkCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMTAwNzM3 ZmZmNWEwMDM5Y2Q4ODNhOTI0MDBkMTQ5NWRkNWJmNzY1OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBG cmksIDcgTWFyIDIwMjUgMDk6MDE6MzUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwOTkvMTE2XSBX ZWJVSTogZml4IHRoZSB0b29sdGlwIGZvciBTZWFyY2ggU2l6ZSBsaW1pdAotCi1UaGUgdG9vbHRp cCBmb3IgSVBBIFNlcnZlciA+IENvbmZpZ3VyYXRpb24gPiBTZWFyY2ggc2l6ZSBsaW1pdAotaXMg dXNpbmcgdGhlIGRvYyBmcm9tIGlwYXNlYXJjaHRpbWVsaW1pdCBpbnN0ZWFkIG9mCi1pcGFzZWFy Y2hyZWNvcmRzbGltaXQuCi0KLVVzZSB0aGUgcmlnaHQgdG9vbHRpcCB0byBwcm9wZXJseSBkaXNw bGF5OgotTWF4aW11bSBudW1iZXIgb2YgcmVjb3JkcyB0byBzZWFyY2ggKC0xIG9yIDAgaXMgdW5s aW1pdGVkKQotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzU4Ci1T aWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2 aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0g aW5zdGFsbC91aS9zcmMvZnJlZWlwYS9zZXJ2ZXJjb25maWcuanMgfCAyICstCi0gMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pbnN0 YWxsL3VpL3NyYy9mcmVlaXBhL3NlcnZlcmNvbmZpZy5qcyBiL2luc3RhbGwvdWkvc3JjL2ZyZWVp cGEvc2VydmVyY29uZmlnLmpzCi1pbmRleCBlODFlNDhjZmIuLmQ3ZjY3ZTg4NSAxMDA2NDQKLS0t LSBhL2luc3RhbGwvdWkvc3JjL2ZyZWVpcGEvc2VydmVyY29uZmlnLmpzCi0rKysgYi9pbnN0YWxs L3VpL3NyYy9mcmVlaXBhL3NlcnZlcmNvbmZpZy5qcwotQEAgLTQ3LDcgKzQ3LDcgQEAgcmV0dXJu IHsKLSAgICAgICAgICAgICAgICAgICAgIGZpZWxkczogWwotICAgICAgICAgICAgICAgICAgICAg ICAgIHsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ2lwYXNlYXJjaHJlY29y ZHNsaW1pdCcsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdAbWMtb3B0 OmNvbmZpZ19tb2Q6aXBhc2VhcmNodGltZWxpbWl0OmRvYycKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdG9vbHRpcDogJ0BtYy1vcHQ6Y29uZmlnX21vZDppcGFzZWFyY2hyZWNvcmRzbGlt aXQ6ZG9jJwotICAgICAgICAgICAgICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAnaXBhc2VhcmNodGlt ZWxpbWl0JywKLS0tIAotMi40OS4wCi0KLQotRnJvbSBkMDMxNjRmYzEwNDU4OGU4OGFkNzU0ODNl NzIzM2I3ZmNjYWNhYmI2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgNiBNYXIgMjAyNSAxNTo1 ODo1MyArMDEwMAotU3ViamVjdDogW1BBVENIIDEwMC8xMTZdIGlwYXRlc3RzOiBhZGFwdCBlcnJv ciBjb2RlIGFuZCBtZXNzYWdlIGZvciBzYW1iYSA0LjIyCi0KLVdoZW4gZXN0YWJsaXNoaW5nIHRy dXN0IHdpdGggYW4gdW5yZWFjaGFibGUgQUQgZG9tYWluIGNvbnRyb2xsZXIsCi10aGUgZXJyb3Ig Y29kZSBhbmQgbWVzc2FnZSBoYXZlIGNoYW5nZWQgd2l0aCBzYW1iYSA0LjIyLgotCi1VcGRhdGUg dGhlIHRlc3QgdG8gYmUgY29tcGF0aWJsZSB3aXRoIGFueSB2ZXJzaW9uIG9mIHNhbWJhLgotCi1G aXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzUxCi1TaWduZWQtb2ZmLWJ5 OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X3RydXN0LnB5IHwgMTQgKysrKysrKysrKysrLS0KLSAxIGZpbGUg Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBh L2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF90cnVzdC5weSBiL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF90cnVzdC5weQotaW5kZXggZjcxZWMzNzdiLi40MDg2Y2IzMGEgMTAw NjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfdHJ1c3QucHkKLSsrKyBi L2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF90cnVzdC5weQotQEAgLTEwNzIsOCArMTA3 MiwxOCBAQCBjbGFzcyBUZXN0VHJ1c3QoQmFzZVRlc3RUcnVzdCk6Ci0gICAgICAgICAgICAgICAg IHBhdGhzLlZBUl9MT0dfSFRUUERfRVJST1IsCi0gICAgICAgICAgICAgICAgIGVuY29kaW5nPSd1 dGYtOCcKLSAgICAgICAgICAgICApCi0tICAgICAgICAgICAgYXNzZXJ0ICdDSUZTIHNlcnZlciBj b21tdW5pY2F0aW9uIGVycm9yOiBjb2RlICIzMjIxMjI1NjUzIiwgJyBcCi0tICAgICAgICAgICAg ICAgICAgICdtZXNzYWdlICJ7RGV2aWNlIFRpbWVvdXR9JyBpbiBodHRwZF9lcnJvcl9sb2cKLSsK LSsgICAgICAgICAgICAjIFRoZSBlcnJvciBjb2RlIGFuZCBtZXNzYWdlIGNoYW5nZWQgaW4gc2Ft YmEgNC4yMgotKyAgICAgICAgICAgIG9sZF9tc2cgPSAnQ0lGUyBzZXJ2ZXIgY29tbXVuaWNhdGlv biBlcnJvcjogY29kZSAiMzIyMTIyNTY1MyIsICcgXAotKyAgICAgICAgICAgICAgICAgICAgICAn bWVzc2FnZSAie0RldmljZSBUaW1lb3V0fScKLSsgICAgICAgICAgICBuZXdfbXNnID0gJ0NJRlMg c2VydmVyIGNvbW11bmljYXRpb24gZXJyb3I6IGNvZGUgIjMyMjEyMjYwMjEiLCAnIFwKLSsgICAg ICAgICAgICAgICAgICAgICAgJ21lc3NhZ2UgIlRoZSBvYmplY3Qgd2FzIG5vdCBmb3VuZC4iJwot KyAgICAgICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsic21ic3RhdHVz IiwgIi1WIl0pLnN0ZG91dF90ZXh0Ci0rICAgICAgICAgICAgdmVyc2lvbiA9IHJlc3VsdC5zcGxp dCgpWzFdCi0rICAgICAgICAgICAgaWYgdGFza3MucGFyc2VfdmVyc2lvbih2ZXJzaW9uKSA8IHRh c2tzLnBhcnNlX3ZlcnNpb24oJzQuMjIuMHJjNCcpOgotKyAgICAgICAgICAgICAgICBhc3NlcnQg b2xkX21zZyBpbiBodHRwZF9lcnJvcl9sb2cKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAg ICAgICAgICBhc3NlcnQgbmV3X21zZyBpbiBodHRwZF9lcnJvcl9sb2cKLSAKLSAgICAgICAgICAg ICAjIENoZWNrIHRoYXQgdHJ1c3QgaXMgc3VjY2Vzc2Z1bGx5IGVzdGFibGlzaGVkIHdpdGggLS1z ZXJ2ZXIgb3B0aW9uCi0gICAgICAgICAgICAgdGFza3MuZXN0YWJsaXNoX3RydXN0X3dpdGhfYWQo Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gMzU1M2NkM2RkY2JlNzAxNGM3OTBkMGRmMWI1YjNkZTg2 YmI2NDA2NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEVyaWsgQmVsa28gPGViZWxr b0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNiBKYW4gMjAyNSAxNDozMjoxMSArMDEwMAotU3Vi amVjdDogW1BBVENIIDEwMS8xMTZdIG1hbjogZml4IGZvcm1hdHRpbmcgYW5kIHN5bnRheCBpc3N1 ZXMKLQotU2lnbmVkLW9mZi1ieTogRXJpayBCZWxrbyA8ZWJlbGtvQHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGNsaWVudC9t YW4vaXBhLWNsaWVudC1pbnN0YWxsLjEgfCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNl cnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50L21hbi9pcGEt Y2xpZW50LWluc3RhbGwuMSBiL2NsaWVudC9tYW4vaXBhLWNsaWVudC1pbnN0YWxsLjEKLWluZGV4 IGU2ZjY0MTI1NC4uNjgzMzk5MWI4IDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9pcGEtY2xpZW50 LWluc3RhbGwuMQotKysrIGIvY2xpZW50L21hbi9pcGEtY2xpZW50LWluc3RhbGwuMQotQEAgLTIz NCw5ICsyMzQsOSBAQCB1bmluc3RhbGwuCi0gCi0gLlNTICJQS0lOSVQgT1BUSU9OUyIKLSAuVFAK LS1cZkJcLVwtcGtpbml0XC1pZGVudGl0eT1cZklERU5USVRZXGZSCi0rXGZCXC1cLXBraW5pdFwt aWRlbnRpdHk9XGZJSURFTlRJVFlcZlIKLSBJZGVudGl0eSBzdHJpbmcgZm9yIFBLSU5JVCBhdXRo ZW50aWNhdGlvbiB0byB1c2UgdG8gam9pbiB0aGUgSVBBIHJlYWxtLAotLWZvciBleGFtcGxlICdG SUxFOi9wYXRoL3RvL2NlcnQucGVtLC9wYXRoL3RvL2tleS5wZW0nLiBTZWUga3JiNS5jb25mKDUp Ci0rZm9yIGV4YW1wbGUgXGZJRklMRTovcGF0aC90by9jZXJ0LnBlbSwvcGF0aC90by9rZXkucGVt XGZSLiBTZWUga3JiNS5jb25mKDUpCi0gZm9yIG1vcmUgaW5mb3JtYXRpb24uIFRoZSBvcHRpb24g aXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGgKLSBcZkJcLVwtcGFzc3dvcmRcZlIgYW5kIFxmQlwt XC1rZXl0YWJcZlIuCi0gLlRQCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gN2IwMzg3NDFiODE2ZTJj Y2RhMzNjZmJlZDhkNjRiOTgyN2QzNTY1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IFZhc2lseSBQYXJmZW5vdiA8d2FzbHlfYnJhaW5AeWFob28uY29tPgotRGF0ZTogVHVlLCA0IE1h ciAyMDI1IDEzOjQwOjM1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTAyLzExNl0gbWFuOiBmaXgg aW5jb3JyZWN0IGdyb2ZmIHN5bnRheCBpbiBtYW4gcGFnZXMKLQotVXBkYXRpbmcgY2FzZXMgaW4g bWFuIHBhZ2VzIHdoaWNoIGhhZCBpbmNvcnJlY3QgZ3JvZmYgc3ludGF4Ci0KLVNpZ25lZC1vZmYt Ynk6IEVyaWsgQmVsa28gPGViZWxrb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5j LVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSBjbGllbnQvbWFuL2RlZmF1bHQuY29uZi41 IHwgNCArKy0tCi0gY2xpZW50L21hbi9lcG4uY29uZi41ICAgICB8IDIgKy0KLSBjbGllbnQvbWFu L2lwYS4xICAgICAgICAgIHwgMiArLQotIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCsp LCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50L21hbi9kZWZhdWx0LmNvbmYu NSBiL2NsaWVudC9tYW4vZGVmYXVsdC5jb25mLjUKLWluZGV4IDQ2MWM2MDEzNC4uN2QwYmRjZjlj IDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9kZWZhdWx0LmNvbmYuNQotKysrIGIvY2xpZW50L21h bi9kZWZhdWx0LmNvbmYuNQotQEAgLTQ3LDcgKzQ3LDcgQEAgVmFsaWQgbGluZXMgY29uc2lzdCBv ZiBhbiBvcHRpb24gbmFtZSwgYW4gZXF1YWxzIHNpZ24gYW5kIGEgdmFsdWUuIFNwYWNlcyBzdXJy b3UKLSAKLSBWYWx1ZXMgc2hvdWxkIG5vdCBiZSBxdW90ZWQsIHRoZSBxdW90ZXMgd2lsbCBub3Qg YmUgc3RyaXBwZWQuCi0gCi0tLlJTIEwKLSsuUlMgNAotICAgICAjIFdyb25nIFwtIGRvbid0IGlu Y2x1ZGUgcXVvdGVzCi0gICAgIHZlcmJvc2UgPSAiVHJ1ZSIKLSAKLUBAIC0yNzMsNyArMjczLDcg QEAgSVBBIGNvbmZpZ3VyYXRpb24gdXNlZCB3aGlsZSBpbnN0YWxsaW5nIGFuIElQQSBjbGllbnQK LSAuVFAKLSBBbiBleGFtcGxlIG9mIGEgY29udGV4dC1zcGVjaWZpYyBjb25maWd1cmF0aW9uIGZp bGUgaXMgXGZCL2V0Yy9pcGEvZG5zLmNvbmZcZlIgdG8gYmUgdXNlZCB0byBpbmNyZWFzZSBkZWJ1 ZyBvdXRwdXQgb2YgdGhlIElQQSBETlNTRUMgZGFlbW9ucy4KLSAuVFAKLS0uUlMgTAotKy5SUyA0 Ci0gW2dsb2JhbF0KLSBkZWJ1ZyA9IFRydWUKLSAuUkUKLWRpZmYgLS1naXQgYS9jbGllbnQvbWFu L2Vwbi5jb25mLjUgYi9jbGllbnQvbWFuL2Vwbi5jb25mLjUKLWluZGV4IDVkZjQwOWFkNS4uOWZh ZDYwNDhhIDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9lcG4uY29uZi41Ci0rKysgYi9jbGllbnQv bWFuL2Vwbi5jb25mLjUKLUBAIC0zNCw3ICszNCw3IEBAIFZhbGlkIGxpbmVzIGNvbnNpc3Qgb2Yg YW4gb3B0aW9uIG5hbWUsIGFuIGVxdWFscyBzaWduIGFuZCBhIHZhbHVlLiBTcGFjZXMgc3Vycm91 Ci0gCi0gVmFsdWVzIHNob3VsZCBub3QgYmUgcXVvdGVkLCB0aGUgcXVvdGVzIHdpbGwgbm90IGJl IHN0cmlwcGVkLgotIAotLS5SUyBMCi0rLlJTIDQKLSAgICAgIyBXcm9uZyBcLSBkb24ndCBpbmNs dWRlIHF1b3RlcwotICAgICB2ZXJib3NlID0gIlRydWUiCi0gCi1kaWZmIC0tZ2l0IGEvY2xpZW50 L21hbi9pcGEuMSBiL2NsaWVudC9tYW4vaXBhLjEKLWluZGV4IGM0MDRjNWJlMy4uNmQzODNiNjA1 IDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9pcGEuMQotKysrIGIvY2xpZW50L21hbi9pcGEuMQot QEAgLTE0Niw3ICsxNDYsNyBAQCBNYXkgMjEgMTE6MzE6MzMgbWFzdGVyMS5pcGExLnRlc3QgL3Vz ci9iaW4vaXBhWzI0NzQyMl06IFtJUEEuQVBJXSBbYXV0b2JpbmRdOiB1cwotIGV4ZWN1dGFibGUg bmFtZSBhbmQgUElEIChgL21vZF93c2dpYCBmb3IgSFRUUCBlbmQtcG9pbnQpCi0gLlRQCi0gXGZC W0lQQS5BUEldXGZSCi0tbWFya2VyIHRvIGFsbG93IHNlYXJjaGVzIHdpdGggXGZCam91cm5hbGN0 bCAtZyBJUEEuQVBJXFIKLSttYXJrZXIgdG8gYWxsb3cgc2VhcmNoZXMgd2l0aCBcZkJqb3VybmFs Y3RsIC1nIElQQS5BUElcZlIKLSAuVFAKLSBcZkJ1c2VybmFtZUBSRUFMTVxmUgotIGF1dGhlbnRp Y2F0ZWQgS2VyYmVyb3MgcHJpbmNpcGFsIG9yIFxmQlthdXRvYmluZF1cZlIgbWFya2VyIGZvciBM REFQLWJhc2VkIG9wZXJhdGlvbnMgZG9uZSBhcyByb290Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20g MWU0NzE4NTI4OWZiYmUyOWVlZGNhODJhNDg3MmQxZDA3NWIyNmMyNiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEZyZWRlcmlrIEhpbXBlIDxmcmVkZXJpa0BmcmVoaS5iZT4KLURhdGU6 IFRodSwgMjcgRmViIDIwMjUgMTE6Mjg6MzAgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxMDMvMTE2 XSBNYWtlIHBhdGggb2YgU2FtYmEgbG9jayBkaXJlY3RvcnkgY29uZmlndXJhYmxlIGFuZAotIHVz ZSAvcnVuL3NhbWJhIG9uIERlYmlhbgotCi1TaWduZWQtb2ZmLWJ5OiBGcmVkZXJpayBIaW1wZSA8 ZnJlZGVyaWtAZnJlaGkuYmU+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5ICAgICAgICAg ICAgfCAxICsKLSBpcGFwbGF0Zm9ybS9kZWJpYW4vcGF0aHMucHkgICAgICAgICAgfCAxICsKLSBp cGFzZXJ2ZXIvaW5zdGFsbC9hZHRydXN0aW5zdGFuY2UucHkgfCAyICstCi0gMyBmaWxlcyBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXBs YXRmb3JtL2Jhc2UvcGF0aHMucHkgYi9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5Ci1pbmRleCA2 YTYyZDdiZDAuLmY3OTRhYWU2ZCAxMDA2NDQKLS0tLSBhL2lwYXBsYXRmb3JtL2Jhc2UvcGF0aHMu cHkKLSsrKyBiL2lwYXBsYXRmb3JtL2Jhc2UvcGF0aHMucHkKLUBAIC0zNTAsNiArMzUwLDcgQEAg Y2xhc3MgQmFzZVBhdGhOYW1lc3BhY2U6Ci0gICAgIEtSQV9DU19DRkdfUEFUSCA9ICIvdmFyL2xp Yi9wa2kvcGtpLXRvbWNhdC9jb25mL2tyYS9DUy5jZmciCi0gICAgIEtSQUNFUlRfUDEyID0gIi9y b290L2tyYWNlcnQucDEyIgotICAgICBTQU1CQV9ESVIgPSAiL3Zhci9saWIvc2FtYmEiCi0rICAg IFNBTUJBX0xPQ0tESVIgPSAiL3Zhci9saWIvc2FtYmEvbG9jayIKLSAgICAgU1NTRF9EQiA9ICIv dmFyL2xpYi9zc3MvZGIiCi0gICAgIFNTU0RfTUNfR1JPVVAgPSAiL3Zhci9saWIvc3NzL21jL2dy b3VwIgotICAgICBTU1NEX01DX1BBU1NXRCA9ICIvdmFyL2xpYi9zc3MvbWMvcGFzc3dkIgotZGlm ZiAtLWdpdCBhL2lwYXBsYXRmb3JtL2RlYmlhbi9wYXRocy5weSBiL2lwYXBsYXRmb3JtL2RlYmlh bi9wYXRocy5weQotaW5kZXggN2E4MDk5NjgwLi4yMjlmMTg1ZjAgMTAwNjQ0Ci0tLS0gYS9pcGFw bGF0Zm9ybS9kZWJpYW4vcGF0aHMucHkKLSsrKyBiL2lwYXBsYXRmb3JtL2RlYmlhbi9wYXRocy5w eQotQEAgLTQ0LDYgKzQ0LDcgQEAgY2xhc3MgRGViaWFuUGF0aE5hbWVzcGFjZShCYXNlUGF0aE5h bWVzcGFjZSk6Ci0gICAgIE9QRU5TU0xfRElSID0gIi91c3IvbGliL3NzbCIKLSAgICAgT1BFTlNT TF9DRVJUU19ESVIgPSAiL3Vzci9saWIvc3NsL2NlcnRzIgotICAgICBPUEVOU1NMX1BSSVZBVEVf RElSID0gIi91c3IvbGliL3NzbC9wcml2YXRlIgotKyAgICBTQU1CQV9MT0NLRElSID0gIi9ydW4v c2FtYmEiCi0gICAgIEVUQ19ERUJJQU5fVkVSU0lPTiA9ICIvZXRjL2RlYmlhbl92ZXJzaW9uIgot ICAgICAjIE9sZCB2ZXJzaW9ucyBvZiBmcmVlaXBhIHdyb3RlIGFsbCB0cnVzdGVkIGNlcnRpZmlj YXRlcyB0byBhIHNpbmdsZQotICAgICAjIGZpbGUsIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgYnkg Y2EtY2VydGlmaWNhdGVzLgotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2FkdHJ1c3Rp bnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2FkdHJ1c3RpbnN0YW5jZS5weQotaW5kZXgg ZGYyNTg2ZWYxLi5iYzNhMjgyZTYgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9hZHRy dXN0aW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2FkdHJ1c3RpbnN0YW5jZS5w eQotQEAgLTk2Miw3ICs5NjIsNyBAQCBjbGFzcyBBRFRSVVNUSW5zdGFuY2Uoc2VydmljZS5TZXJ2 aWNlKToKLSAgICAgICAgICMgaW4gL3Zhci9saWIvc2FtYmEgYW5kIC92YXIvbGliL3NhbWJhL3By aXZhdGUKLSAgICAgICAgIGZvciBzbWJwYXRoIGluIChwYXRocy5TQU1CQV9ESVIsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHBhdGhzLlNBTUJBX0RJUiwgInByaXZhdGUi KSwKLS0gICAgICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ocGF0aHMuU0FNQkFfRElS LCAibG9jayIpKToKLSsgICAgICAgICAgICAgICAgICAgICAgICBwYXRocy5TQU1CQV9MT0NLRElS KToKLSAgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZGlyKHNtYnBhdGgpOgotICAgICAgICAgICAg ICAgICB0ZGJfZmlsZXMgPSBbCi0gICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4oc21i cGF0aCwgdGRiX2ZpbGUpCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gOWI1NjZmZTQ1OGZiMzZlYjVl YjMyMTJiMDFiYzZiYTQ4YWM4MzQ5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZs b3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDExIE1hciAy MDI1IDE1OjU1OjExICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTA0LzExNl0gTGVhcHAgdXBncmFk ZTogc2tpcCBzeXN0ZW1jdGwgY2FsbHMKLQotRHVyaW5nIExFQVBQIHVwZ3JhZGUsIHRoZSBzeXN0 ZW0gaXMgYm9vdGVkIGluIGEgc3BlY2lhbCBtb2RlCi13aXRob3V0IHN5c3RlbWQuIEFzIGEgY29u c2VxdWVuY2UsIGFueSBzY3JpcHRsZXQgY2FsbGluZwotc3lzdGVtY3RsIGZhaWxzIGFuZCBtYXkg YnJlYWsgdGhlIHVwZ3JhZGUuCi0KLVNraXAgdGhlIGNhbGwgdG8gc3lzdGVtY3RsIGlmIGEgTEVB UFAgdXBncmFkZSBpcyBpbiBwcm9ncmVzcwotKHRoaXMgaXMgZWFzaWx5IGNoZWNrZWQgdXNpbmcg dGhlIGVudiB2YXJpYWJsZSAkTEVBUFBfSVBVX0lOX1BST0dSRVNTCi10aGF0IGlzIHNldCBmb3Ig aW5zdGFuY2UgdG8gTEVBUFBfSVBVX0lOX1BST0dSRVNTPTh0bzkpLgotCi1GaXhlczogUkhFTC04 MjA4OQotCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgot LS0tCi0gZnJlZWlwYS5zcGVjLmluIHwgMTQgKysrKysrKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdl ZCwgMTAgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2ZyZWVp cGEuc3BlYy5pbiBiL2ZyZWVpcGEuc3BlYy5pbgotaW5kZXggYjUzOWY1MWY4Li4xNDNlZTVjODMg MTAwNzU1Ci0tLS0gYS9mcmVlaXBhLnNwZWMuaW4KLSsrKyBiL2ZyZWVpcGEuc3BlYy5pbgotQEAg LTEyNDEsOCArMTI0MSwxMSBAQCBpZiBbICQxID0gMCBdOyB0aGVuCi0gIyBOT1RFOiBzeXN0ZW1k IHNwZWNpZmljIHNlY3Rpb24KLSAgICAgL2Jpbi9zeXN0ZW1jdGwgLS1xdWlldCBzdG9wIGlwYS5z ZXJ2aWNlIHx8IDoKLSAgICAgL2Jpbi9zeXN0ZW1jdGwgLS1xdWlldCBkaXNhYmxlIGlwYS5zZXJ2 aWNlIHx8IDoKLS0gICAgL2Jpbi9zeXN0ZW1jdGwgcmVsb2FkLW9yLXRyeS1yZXN0YXJ0IGRidXMK LS0gICAgL2Jpbi9zeXN0ZW1jdGwgcmVsb2FkLW9yLXRyeS1yZXN0YXJ0IG9kZGpvYmQKLSsgICAg IyBTa2lwIHN5c3RlbWN0bCBjYWxscyB3aGVuIGxlYXBwIHVwZ3JhZGUgaXMgaW4gcHJvZ3Jlc3MK LSsgICAgaWYgWyAteiAiJExFQVBQX0lQVV9JTl9QUk9HUkVTUyIgXSA7IHRoZW4KLSsgICAgICAg IC9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBkYnVzCi0rICAgICAgICAvYmlu L3N5c3RlbWN0bCByZWxvYWQtb3ItdHJ5LXJlc3RhcnQgb2Rkam9iZAotKyAgICBmaQotICMgRU5E Ci0gZmkKLSAKLUBAIC0xMzA2LDggKzEzMDksMTEgQEAgZmkKLSAlcHJldW4gc2VydmVyLXRydXN0 LWFkCi0gaWYgWyAkMSAtZXEgMCBdOyB0aGVuCi0gICAgICV7X3NiaW5kaXJ9L3VwZGF0ZS1hbHRl cm5hdGl2ZXMgLS1yZW1vdmUgd2luYmluZF9rcmI1X2xvY2F0b3Iuc28gL2Rldi9udWxsCi0tICAg IC9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBkYnVzCi0tICAgIC9iaW4vc3lz dGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBvZGRqb2JkCi0rICAgICMgU2tpcCBzeXN0ZW1j dGwgY2FsbHMgd2hlbiBsZWFwcCB1cGdyYWRlIGlzIGluIHByb2dyZXNzCi0rICAgIGlmIFsgLXog IiRMRUFQUF9JUFVfSU5fUFJPR1JFU1MiIF0gOyB0aGVuCi0rICAgICAgICAvYmluL3N5c3RlbWN0 bCByZWxvYWQtb3ItdHJ5LXJlc3RhcnQgZGJ1cwotKyAgICAgICAgL2Jpbi9zeXN0ZW1jdGwgcmVs b2FkLW9yLXRyeS1yZXN0YXJ0IG9kZGpvYmQKLSsgICAgZmkKLSBmaQotIAotICMgT05MWV9DTElF TlQKLS0tIAotMi40OS4wCi0KLQotRnJvbSA4ODNmNjlkYjI4MDA3MWNmODAwM2VmZjk3N2Y2ZjA2 MTY1MWM3YTdkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTEgTWFyIDIwMjUgMTg6MzI6NDMg KzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxMDUvMTE2XSBpcGF0ZXN0OiBtYWtlIHRlc3RfY2VydCBt b3JlIHJvYnVzdCB0byByZXBsaWNhdGlvbgotIGRlbGF5cwotCi1UaGUgdGVzdCBUZXN0Q0FTaG93 RXJyb3JIYW5kbGluZzo6dGVzdF9jYV9zaG93X2Vycm9yX2hhbmRsaW5nIGlzCi1hZGRpbmcgYSBz dWJjYSBvbiB0aGUgcmVwbGljYSwgdGhlbiBjaGVja3MgdGhlIGVudHJ5IGlzIHByZXNlbnQgb24g dGhlCi1tYXN0ZXIuCi1JZiB0aGUgcmVwbGljYXRpb24gaXMgYSBiaXQgc2xvdywgdGhlIGNhbGwg b24gdGhlIG1hc3RlciBtYXkgZmFpbCB0bwotcmV0dXJuIHRoZSBuZXdseSBjcmVhdGVkIHN1YmNh LgotVGhlIHRlc3Qgc2hvdWxkIHdhaXQgZm9yIHJlcGxpY2F0aW9uIHRvIGNvbXBsZXRlIGJlZm9y ZSBjYWxsaW5nCi1pcGEgY2EtZmluZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVp cGEvaXNzdWUvOTc2MgotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9A cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0 LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5IHwgMiAr KwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2lwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2NlcnQucHkKLWluZGV4IDkxNTk4YjY1NS4uYzY0MmNhYWYwIDEwMDY0NAotLS0t IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NlcnQucHkKLSsrKyBiL2lwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5Ci1AQCAtNTQ4LDYgKzU0OCw4IEBAIGNsYXNz IFRlc3RDQVNob3dFcnJvckhhbmRsaW5nKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAgICAg J2lwYScsICdjYS1hZGQnLCBsd2NhLCAnLS1zdWJqZWN0JywgJ0NOPUxXQ0EgMScKLSAgICAgICAg IF0pCi0gICAgICAgICBhc3NlcnQgJ0NyZWF0ZWQgQ0EgInt9IicuZm9ybWF0KGx3Y2EpIGluIHJl c3VsdC5zdGRvdXRfdGV4dAotKyAgICAgICAgIyB3YWl0IGZvciByZXBsaWNhdGlvbiB0byBwcm9w YWdhdGUgdGhlIGNoYW5nZQotKyAgICAgICAgdGFza3Mud2FpdF9mb3JfcmVwbGljYXRpb24oc2Vs Zi5yZXBsaWNhc1swXS5sZGFwX2Nvbm5lY3QoKSkKLSAgICAgICAgIHJlc3VsdCA9IHNlbGYubWFz dGVyLnJ1bl9jb21tYW5kKFsnaXBhJywgJ2NhLWZpbmQnXSkKLSAgICAgICAgIGFzc2VydCAnTmFt ZToge30nLmZvcm1hdChsd2NhKSBpbiByZXN1bHQuc3Rkb3V0X3RleHQKLSAgICAgICAgIHJlc3Vs dCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDY1M2I0 YjY5NzFiMTc3ODk4ODcxODg0MGEzMDFjMTBiM2UzNWU3MDAgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwg NiBNYXIgMjAyNSAwOTozMjowMSArMDEwMAotU3ViamVjdDogW1BBVENIIDEwNi8xMTZdIERpc2Fi bGUgLS1yYXcgYW5kIC0tc3RydWN0dXJlZCB0b2dldGhlcgotCi1EaXNhYmxlcyAtLXJhdyBhbmQg LS1zdHJ1Y3R1cmVkIGZvciBkbnNyZWNvcmQtKiBjb21tYW5kLgotVGhpcyBpcyBiZWluZyBzaG93 biBpbiBoZWxwIGZvciBzdHJ1Y3R1cmVkLCBhcyByYXcgaXMgaW1wbGVtZW50ZWQgaW4KLWFsbW9z dCBldmVyeSBjb21tYW5kLCB0aGVyZWZvcmUgcGVvcGxlIGFyZSBtb3JlIGxpa2VseSB0byB2aWV3 Ci1zdHJ1Y3R1cmVkLiBBbHNvIGNvbnRhaW5zIHRlc3RzLCBldmVuIHRob3VnaCB0aGlzIGlzIG5l d2x5IG5vdGVkLCB0aGlzCi1jb21iaW5hdGlvbiBoYXMgbmV2ZXIgd29ya2VkIGluIHRoZSBwYXN0 LgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzU2Ci1TaWduZWQt b2ZmLWJ5OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBS b2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYWNsaWVudC9yZW1v dGVfcGx1Z2lucy8yXzExNC9kbnMucHkgICB8IDE1ICsrKysrKystLS0tCi0gaXBhY2xpZW50L3Jl bW90ZV9wbHVnaW5zLzJfMTU2L2Rucy5weSAgIHwgMTUgKysrKysrKy0tLS0KLSBpcGFjbGllbnQv cmVtb3RlX3BsdWdpbnMvMl8xNjQvZG5zLnB5ICAgfCAxNSArKysrKysrLS0tLQotIGlwYWNsaWVu dC9yZW1vdGVfcGx1Z2lucy8yXzQ5L2Rucy5weSAgICB8IDE1ICsrKysrKystLS0tCi0gaXBhc2Vy dmVyL3BsdWdpbnMvZG5zLnB5ICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysrKysrKysr KysKLSBpcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkgfCAzNSArKysrKysr KysrKysrKysrKysrKysrKysrCi0gNiBmaWxlcyBjaGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKSwg MjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFjbGllbnQvcmVtb3RlX3BsdWdpbnMv Ml8xMTQvZG5zLnB5IGIvaXBhY2xpZW50L3JlbW90ZV9wbHVnaW5zLzJfMTE0L2Rucy5weQotaW5k ZXggNjI2MDQyMDAwLi4yZjQxNDkyN2IgMTAwNjQ0Ci0tLS0gYS9pcGFjbGllbnQvcmVtb3RlX3Bs dWdpbnMvMl8xMTQvZG5zLnB5Ci0rKysgYi9pcGFjbGllbnQvcmVtb3RlX3BsdWdpbnMvMl8xMTQv ZG5zLnB5Ci1AQCAtMjYyNSw3ICsyNjI1LDggQEAgY2xhc3MgZG5zcmVjb3JkX2FkZChNZXRob2Qp OgotICAgICAgICAgcGFyYW1ldGVycy5GbGFnKAotICAgICAgICAgICAgICdzdHJ1Y3R1cmVkJywK LSAgICAgICAgICAgICBsYWJlbD1fKHUnU3RydWN0dXJlZCcpLAotLSAgICAgICAgICAgIGRvYz1f KHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSBzdHJ1Y3R1 cmVkIHdheScpLAotKyAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3Jk cyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0rICAgICAgICAgICAgICAgICAgdSdzdHJ1Y3R1cmVk IHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGggLS1yYXcuJyksCi0gICAgICAgICAgICAgZGVmYXVs dD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRvZmlsbD1UcnVlLAotICAgICAgICAgKSwKLUBAIC0y OTkxLDcgKzI5OTIsOCBAQCBjbGFzcyBkbnNyZWNvcmRfZGVsKE1ldGhvZCk6Ci0gICAgICAgICBw YXJhbWV0ZXJzLkZsYWcoCi0gICAgICAgICAgICAgJ3N0cnVjdHVyZWQnLAotICAgICAgICAgICAg IGxhYmVsPV8odSdTdHJ1Y3R1cmVkJyksCi0tICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwg cmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhIHN0cnVjdHVyZWQgd2F5JyksCi0r ICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4g dGhlbSBpbiBhICcKLSsgICAgICAgICAgICAgICAgICB1J3N0cnVjdHVyZWQgd2F5LiBDYW4gbm90 IGJlIHVzZWQgd2l0aCAtLXJhdy4nKSwKLSAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAotICAg ICAgICAgICAgIGF1dG9maWxsPVRydWUsCi0gICAgICAgICApLAotQEAgLTM0MDUsNyArMzQwNyw4 IEBAIGNsYXNzIGRuc3JlY29yZF9maW5kKE1ldGhvZCk6Ci0gICAgICAgICBwYXJhbWV0ZXJzLkZs YWcoCi0gICAgICAgICAgICAgJ3N0cnVjdHVyZWQnLAotICAgICAgICAgICAgIGxhYmVsPV8odSdT dHJ1Y3R1cmVkJyksCi0tICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNv cmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhIHN0cnVjdHVyZWQgd2F5JyksCi0rICAgICAgICAgICAg ZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhICcK LSsgICAgICAgICAgICAgICAgICB1J3N0cnVjdHVyZWQgd2F5LiBDYW4gbm90IGJlIHVzZWQgd2l0 aCAtLXJhdy4nKSwKLSAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgIGF1 dG9maWxsPVRydWUsCi0gICAgICAgICApLAotQEAgLTQyOTAsNyArNDI5Myw4IEBAIGNsYXNzIGRu c3JlY29yZF9tb2QoTWV0aG9kKToKLSAgICAgICAgIHBhcmFtZXRlcnMuRmxhZygKLSAgICAgICAg ICAgICAnc3RydWN0dXJlZCcsCi0gICAgICAgICAgICAgbGFiZWw9Xyh1J1N0cnVjdHVyZWQnKSwK LS0gICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVy biB0aGVtIGluIGEgc3RydWN0dXJlZCB3YXknKSwKLSsgICAgICAgICAgICBkb2M9Xyh1J1BhcnNl IGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgJwotKyAgICAgICAgICAg ICAgICAgIHUnc3RydWN0dXJlZCB3YXkuIENhbiBub3QgYmUgdXNlZCB3aXRoIC0tcmF3LicpLAot ICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgYXV0b2ZpbGw9VHJ1ZSwK LSAgICAgICAgICksCi1AQCAtNDM2Myw3ICs0MzY3LDggQEAgY2xhc3MgZG5zcmVjb3JkX3Nob3co TWV0aG9kKToKLSAgICAgICAgIHBhcmFtZXRlcnMuRmxhZygKLSAgICAgICAgICAgICAnc3RydWN0 dXJlZCcsCi0gICAgICAgICAgICAgbGFiZWw9Xyh1J1N0cnVjdHVyZWQnKSwKLS0gICAgICAgICAg ICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEg c3RydWN0dXJlZCB3YXknKSwKLSsgICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5T IHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgJwotKyAgICAgICAgICAgICAgICAgIHUnc3Ry dWN0dXJlZCB3YXkuIENhbiBub3QgYmUgdXNlZCB3aXRoIC0tcmF3LicpLAotICAgICAgICAgICAg IGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgYXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAgICks Ci1kaWZmIC0tZ2l0IGEvaXBhY2xpZW50L3JlbW90ZV9wbHVnaW5zLzJfMTU2L2Rucy5weSBiL2lw YWNsaWVudC9yZW1vdGVfcGx1Z2lucy8yXzE1Ni9kbnMucHkKLWluZGV4IDRlYmFkOTNlNy4uOWNl OGE3ZWVmIDEwMDY0NAotLS0tIGEvaXBhY2xpZW50L3JlbW90ZV9wbHVnaW5zLzJfMTU2L2Rucy5w eQotKysrIGIvaXBhY2xpZW50L3JlbW90ZV9wbHVnaW5zLzJfMTU2L2Rucy5weQotQEAgLTI1NDAs NyArMjU0MCw4IEBAIGNsYXNzIGRuc3JlY29yZF9hZGQoTWV0aG9kKToKLSAgICAgICAgIHBhcmFt ZXRlcnMuRmxhZygKLSAgICAgICAgICAgICAnc3RydWN0dXJlZCcsCi0gICAgICAgICAgICAgbGFi ZWw9Xyh1J1N0cnVjdHVyZWQnKSwKLS0gICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcg RE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgc3RydWN0dXJlZCB3YXknKSwKLSsgICAg ICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVt IGluIGEgJwotKyAgICAgICAgICAgICAgICAgIHUnc3RydWN0dXJlZCB3YXkuIENhbiBub3QgYmUg dXNlZCB3aXRoIC0tcmF3LicpLAotICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAg ICAgICAgYXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAgICksCi1AQCAtMjg2MSw3ICsyODYyLDggQEAg Y2xhc3MgZG5zcmVjb3JkX2RlbChNZXRob2QpOgotICAgICAgICAgcGFyYW1ldGVycy5GbGFnKAot ICAgICAgICAgICAgICdzdHJ1Y3R1cmVkJywKLSAgICAgICAgICAgICBsYWJlbD1fKHUnU3RydWN0 dXJlZCcpLAotLSAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBh bmQgcmV0dXJuIHRoZW0gaW4gYSBzdHJ1Y3R1cmVkIHdheScpLAotKyAgICAgICAgICAgIGRvYz1f KHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0rICAg ICAgICAgICAgICAgICAgdSdzdHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGggLS1y YXcuJyksCi0gICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRvZmls bD1UcnVlLAotICAgICAgICAgKSwKLUBAIC0zMjMwLDcgKzMyMzIsOCBAQCBjbGFzcyBkbnNyZWNv cmRfZmluZChNZXRob2QpOgotICAgICAgICAgcGFyYW1ldGVycy5GbGFnKAotICAgICAgICAgICAg ICdzdHJ1Y3R1cmVkJywKLSAgICAgICAgICAgICBsYWJlbD1fKHUnU3RydWN0dXJlZCcpLAotLSAg ICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRo ZW0gaW4gYSBzdHJ1Y3R1cmVkIHdheScpLAotKyAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxs IHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0rICAgICAgICAgICAgICAg ICAgdSdzdHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGggLS1yYXcuJyksCi0gICAg ICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRvZmlsbD1UcnVlLAotICAg ICAgICAgKSwKLUBAIC00MDY1LDcgKzQwNjgsOCBAQCBjbGFzcyBkbnNyZWNvcmRfbW9kKE1ldGhv ZCk6Ci0gICAgICAgICBwYXJhbWV0ZXJzLkZsYWcoCi0gICAgICAgICAgICAgJ3N0cnVjdHVyZWQn LAotICAgICAgICAgICAgIGxhYmVsPV8odSdTdHJ1Y3R1cmVkJyksCi0tICAgICAgICAgICAgZG9j PV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhIHN0cnVj dHVyZWQgd2F5JyksCi0rICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNv cmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhICcKLSsgICAgICAgICAgICAgICAgICB1J3N0cnVjdHVy ZWQgd2F5LiBDYW4gbm90IGJlIHVzZWQgd2l0aCAtLXJhdy4nKSwKLSAgICAgICAgICAgICBkZWZh dWx0PUZhbHNlLAotICAgICAgICAgICAgIGF1dG9maWxsPVRydWUsCi0gICAgICAgICApLAotQEAg LTQxMzgsNyArNDE0Miw4IEBAIGNsYXNzIGRuc3JlY29yZF9zaG93KE1ldGhvZCk6Ci0gICAgICAg ICBwYXJhbWV0ZXJzLkZsYWcoCi0gICAgICAgICAgICAgJ3N0cnVjdHVyZWQnLAotICAgICAgICAg ICAgIGxhYmVsPV8odSdTdHJ1Y3R1cmVkJyksCi0tICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBh bGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhIHN0cnVjdHVyZWQgd2F5Jyks Ci0rICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1 cm4gdGhlbSBpbiBhICcKLSsgICAgICAgICAgICAgICAgICB1J3N0cnVjdHVyZWQgd2F5LiBDYW4g bm90IGJlIHVzZWQgd2l0aCAtLXJhdy4nKSwKLSAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAot ICAgICAgICAgICAgIGF1dG9maWxsPVRydWUsCi0gICAgICAgICApLAotZGlmZiAtLWdpdCBhL2lw YWNsaWVudC9yZW1vdGVfcGx1Z2lucy8yXzE2NC9kbnMucHkgYi9pcGFjbGllbnQvcmVtb3RlX3Bs dWdpbnMvMl8xNjQvZG5zLnB5Ci1pbmRleCBmNWFkYjRkNTQuLjI4NGVmMmNkYSAxMDA2NDQKLS0t LSBhL2lwYWNsaWVudC9yZW1vdGVfcGx1Z2lucy8yXzE2NC9kbnMucHkKLSsrKyBiL2lwYWNsaWVu dC9yZW1vdGVfcGx1Z2lucy8yXzE2NC9kbnMucHkKLUBAIC0yNTQ4LDcgKzI1NDgsOCBAQCBjbGFz cyBkbnNyZWNvcmRfYWRkKE1ldGhvZCk6Ci0gICAgICAgICBwYXJhbWV0ZXJzLkZsYWcoCi0gICAg ICAgICAgICAgJ3N0cnVjdHVyZWQnLAotICAgICAgICAgICAgIGxhYmVsPV8odSdTdHJ1Y3R1cmVk JyksCi0tICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCBy ZXR1cm4gdGhlbSBpbiBhIHN0cnVjdHVyZWQgd2F5JyksCi0rICAgICAgICAgICAgZG9jPV8odSdQ YXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhICcKLSsgICAgICAg ICAgICAgICAgICB1J3N0cnVjdHVyZWQgd2F5LiBDYW4gbm90IGJlIHVzZWQgd2l0aCAtLXJhdy4n KSwKLSAgICAgICAgICAgICBkZWZhdWx0PUZhbHNlLAotICAgICAgICAgICAgIGF1dG9maWxsPVRy dWUsCi0gICAgICAgICApLAotQEAgLTI4NjksNyArMjg3MCw4IEBAIGNsYXNzIGRuc3JlY29yZF9k ZWwoTWV0aG9kKToKLSAgICAgICAgIHBhcmFtZXRlcnMuRmxhZygKLSAgICAgICAgICAgICAnc3Ry dWN0dXJlZCcsCi0gICAgICAgICAgICAgbGFiZWw9Xyh1J1N0cnVjdHVyZWQnKSwKLS0gICAgICAg ICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGlu IGEgc3RydWN0dXJlZCB3YXknKSwKLSsgICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcg RE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgJwotKyAgICAgICAgICAgICAgICAgIHUn c3RydWN0dXJlZCB3YXkuIENhbiBub3QgYmUgdXNlZCB3aXRoIC0tcmF3LicpLAotICAgICAgICAg ICAgIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAgYXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAg ICksCi1AQCAtMzIzOCw3ICszMjQwLDggQEAgY2xhc3MgZG5zcmVjb3JkX2ZpbmQoTWV0aG9kKToK LSAgICAgICAgIHBhcmFtZXRlcnMuRmxhZygKLSAgICAgICAgICAgICAnc3RydWN0dXJlZCcsCi0g ICAgICAgICAgICAgbGFiZWw9Xyh1J1N0cnVjdHVyZWQnKSwKLS0gICAgICAgICAgICBkb2M9Xyh1 J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgc3RydWN0dXJl ZCB3YXknKSwKLSsgICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMg YW5kIHJldHVybiB0aGVtIGluIGEgJwotKyAgICAgICAgICAgICAgICAgIHUnc3RydWN0dXJlZCB3 YXkuIENhbiBub3QgYmUgdXNlZCB3aXRoIC0tcmF3LicpLAotICAgICAgICAgICAgIGRlZmF1bHQ9 RmFsc2UsCi0gICAgICAgICAgICAgYXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAgICksCi1AQCAtNDA3 Myw3ICs0MDc2LDggQEAgY2xhc3MgZG5zcmVjb3JkX21vZChNZXRob2QpOgotICAgICAgICAgcGFy YW1ldGVycy5GbGFnKAotICAgICAgICAgICAgICdzdHJ1Y3R1cmVkJywKLSAgICAgICAgICAgICBs YWJlbD1fKHUnU3RydWN0dXJlZCcpLAotLSAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJh dyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSBzdHJ1Y3R1cmVkIHdheScpLAotKyAg ICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRo ZW0gaW4gYSAnCi0rICAgICAgICAgICAgICAgICAgdSdzdHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBi ZSB1c2VkIHdpdGggLS1yYXcuJyksCi0gICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAg ICAgICAgICBhdXRvZmlsbD1UcnVlLAotICAgICAgICAgKSwKLUBAIC00MTQ2LDcgKzQxNTAsOCBA QCBjbGFzcyBkbnNyZWNvcmRfc2hvdyhNZXRob2QpOgotICAgICAgICAgcGFyYW1ldGVycy5GbGFn KAotICAgICAgICAgICAgICdzdHJ1Y3R1cmVkJywKLSAgICAgICAgICAgICBsYWJlbD1fKHUnU3Ry dWN0dXJlZCcpLAotLSAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3Jk cyBhbmQgcmV0dXJuIHRoZW0gaW4gYSBzdHJ1Y3R1cmVkIHdheScpLAotKyAgICAgICAgICAgIGRv Yz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0r ICAgICAgICAgICAgICAgICAgdSdzdHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGgg LS1yYXcuJyksCi0gICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRv ZmlsbD1UcnVlLAotICAgICAgICAgKSwKLWRpZmYgLS1naXQgYS9pcGFjbGllbnQvcmVtb3RlX3Bs dWdpbnMvMl80OS9kbnMucHkgYi9pcGFjbGllbnQvcmVtb3RlX3BsdWdpbnMvMl80OS9kbnMucHkK LWluZGV4IDRiNTQzYTJjMi4uMTYxMGY0YWYxIDEwMDY0NAotLS0tIGEvaXBhY2xpZW50L3JlbW90 ZV9wbHVnaW5zLzJfNDkvZG5zLnB5Ci0rKysgYi9pcGFjbGllbnQvcmVtb3RlX3BsdWdpbnMvMl80 OS9kbnMucHkKLUBAIC0yMjMzLDcgKzIyMzMsOCBAQCBjbGFzcyBkbnNyZWNvcmRfYWRkKE1ldGhv ZCk6Ci0gICAgICAgICBwYXJhbWV0ZXJzLkZsYWcoCi0gICAgICAgICAgICAgJ3N0cnVjdHVyZWQn LAotICAgICAgICAgICAgIGxhYmVsPV8odSdTdHJ1Y3R1cmVkJyksCi0tICAgICAgICAgICAgZG9j PV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNvcmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhIHN0cnVj dHVyZWQgd2F5JyksCi0rICAgICAgICAgICAgZG9jPV8odSdQYXJzZSBhbGwgcmF3IEROUyByZWNv cmRzIGFuZCByZXR1cm4gdGhlbSBpbiBhICcKLSsgICAgICAgICAgICAgICAgICB1J3N0cnVjdHVy ZWQgd2F5LiBDYW4gbm90IGJlIHVzZWQgd2l0aCAtLXJhdy4nKSwKLSAgICAgICAgICAgICBkZWZh dWx0PUZhbHNlLAotICAgICAgICAgICAgIGF1dG9maWxsPVRydWUsCi0gICAgICAgICApLAotQEAg LTI1OTQsNyArMjU5NSw4IEBAIGNsYXNzIGRuc3JlY29yZF9kZWwoTWV0aG9kKToKLSAgICAgICAg IHBhcmFtZXRlcnMuRmxhZygKLSAgICAgICAgICAgICAnc3RydWN0dXJlZCcsCi0gICAgICAgICAg ICAgbGFiZWw9Xyh1J1N0cnVjdHVyZWQnKSwKLS0gICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFs bCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgc3RydWN0dXJlZCB3YXknKSwK LSsgICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVy biB0aGVtIGluIGEgJwotKyAgICAgICAgICAgICAgICAgIHUnc3RydWN0dXJlZCB3YXkuIENhbiBu b3QgYmUgdXNlZCB3aXRoIC0tcmF3LicpLAotICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0g ICAgICAgICAgICAgYXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAgICksCi1AQCAtMzAxMyw3ICszMDE1 LDggQEAgY2xhc3MgZG5zcmVjb3JkX2ZpbmQoTWV0aG9kKToKLSAgICAgICAgIHBhcmFtZXRlcnMu RmxhZygKLSAgICAgICAgICAgICAnc3RydWN0dXJlZCcsCi0gICAgICAgICAgICAgbGFiZWw9Xyh1 J1N0cnVjdHVyZWQnKSwKLS0gICAgICAgICAgICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJl Y29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEgc3RydWN0dXJlZCB3YXknKSwKLSsgICAgICAgICAg ICBkb2M9Xyh1J1BhcnNlIGFsbCByYXcgRE5TIHJlY29yZHMgYW5kIHJldHVybiB0aGVtIGluIGEg JwotKyAgICAgICAgICAgICAgICAgIHUnc3RydWN0dXJlZCB3YXkuIENhbiBub3QgYmUgdXNlZCB3 aXRoIC0tcmF3LicpLAotICAgICAgICAgICAgIGRlZmF1bHQ9RmFsc2UsCi0gICAgICAgICAgICAg YXV0b2ZpbGw9VHJ1ZSwKLSAgICAgICAgICksCi1AQCAtNDAyNSw3ICs0MDI4LDggQEAgY2xhc3Mg ZG5zcmVjb3JkX21vZChNZXRob2QpOgotICAgICAgICAgcGFyYW1ldGVycy5GbGFnKAotICAgICAg ICAgICAgICdzdHJ1Y3R1cmVkJywKLSAgICAgICAgICAgICBsYWJlbD1fKHUnU3RydWN0dXJlZCcp LAotLSAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0 dXJuIHRoZW0gaW4gYSBzdHJ1Y3R1cmVkIHdheScpLAotKyAgICAgICAgICAgIGRvYz1fKHUnUGFy c2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0rICAgICAgICAg ICAgICAgICAgdSdzdHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGggLS1yYXcuJyks Ci0gICAgICAgICAgICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRvZmlsbD1UcnVl LAotICAgICAgICAgKSwKLUBAIC00MDk0LDcgKzQwOTgsOCBAQCBjbGFzcyBkbnNyZWNvcmRfc2hv dyhNZXRob2QpOgotICAgICAgICAgcGFyYW1ldGVycy5GbGFnKAotICAgICAgICAgICAgICdzdHJ1 Y3R1cmVkJywKLSAgICAgICAgICAgICBsYWJlbD1fKHUnU3RydWN0dXJlZCcpLAotLSAgICAgICAg ICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBETlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4g YSBzdHJ1Y3R1cmVkIHdheScpLAotKyAgICAgICAgICAgIGRvYz1fKHUnUGFyc2UgYWxsIHJhdyBE TlMgcmVjb3JkcyBhbmQgcmV0dXJuIHRoZW0gaW4gYSAnCi0rICAgICAgICAgICAgICAgICAgdSdz dHJ1Y3R1cmVkIHdheS4gQ2FuIG5vdCBiZSB1c2VkIHdpdGggLS1yYXcuJyksCi0gICAgICAgICAg ICAgZGVmYXVsdD1GYWxzZSwKLSAgICAgICAgICAgICBhdXRvZmlsbD1UcnVlLAotICAgICAgICAg KSwKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy9kbnMucHkgYi9pcGFzZXJ2ZXIvcGx1 Z2lucy9kbnMucHkKLWluZGV4IDBkNjI2MGNkNi4uZmYyZDNmZjhhIDEwMDY0NAotLS0tIGEvaXBh c2VydmVyL3BsdWdpbnMvZG5zLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9kbnMucHkKLUBA IC0zNTg3LDYgKzM1ODcsMTIgQEAgY2xhc3MgZG5zcmVjb3JkX2FkZChMREFQQ3JlYXRlKToKLSAK LSAgICAgZGVmIHByZV9jYWxsYmFjayhzZWxmLCBsZGFwLCBkbiwgZW50cnlfYXR0cnMsIGF0dHJz X2xpc3QsICprZXlzLCAqKm9wdGlvbnMpOgotICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZG4s IEROKQotKwotKyAgICAgICAgaWYgb3B0aW9ucy5nZXQoJ3N0cnVjdHVyZWQnKSBhbmQgb3B0aW9u cy5nZXQoJ3JhdycpOgotKyAgICAgICAgICAgIHJhaXNlIGVycm9ycy5NdXR1YWxseUV4Y2x1c2l2 ZUVycm9yKAotKyAgICAgICAgICAgICAgICByZWFzb249XygiY2Fubm90IHVzZSBzdHJ1Y3R1cmVk IHRvZ2V0aGVyIHdpdGggcmF3IikKLSsgICAgICAgICAgICApCi0rCi0gICAgICAgICBwcmVjYWxs YmFja19hdHRycyA9IFtdCi0gICAgICAgICBwcm9jZXNzZWRfYXR0cnMgPSBbXQotICAgICAgICAg Zm9yIG9wdGlvbiwgb3B0aW9uX3ZhbCBpbiBvcHRpb25zLml0ZW1zKCk6Ci1AQCAtMzcyOSw2ICsz NzM1LDEyIEBAIGNsYXNzIGRuc3JlY29yZF9tb2QoTERBUFVwZGF0ZSk6Ci0gCi0gICAgIGRlZiBw cmVfY2FsbGJhY2soc2VsZiwgbGRhcCwgZG4sIGVudHJ5X2F0dHJzLCBhdHRyc19saXN0LCAgKmtl eXMsICoqb3B0aW9ucyk6Ci0gICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShkbiwgRE4pCi0rCi0r ICAgICAgICBpZiBvcHRpb25zLmdldCgnc3RydWN0dXJlZCcpIGFuZCBvcHRpb25zLmdldCgncmF3 Jyk6Ci0rICAgICAgICAgICAgcmFpc2UgZXJyb3JzLk11dHVhbGx5RXhjbHVzaXZlRXJyb3IoCi0r ICAgICAgICAgICAgICAgIHJlYXNvbj1fKCJjYW5ub3QgdXNlIHN0cnVjdHVyZWQgdG9nZXRoZXIg d2l0aCByYXciKQotKyAgICAgICAgICAgICkKLSsKLSAgICAgICAgIGlmIG9wdGlvbnMuZ2V0KCdy ZW5hbWUnKSBhbmQgc2VsZi5vYmouaXNfcGtleV96b25lX3JlY29yZCgqa2V5cyk6Ci0gICAgICAg ICAgICAgIyB6b25lIHJlbmFtZSBpcyBub3QgYWxsb3dlZAotICAgICAgICAgICAgIHJhaXNlIGVy cm9ycy5WYWxpZGF0aW9uRXJyb3IobmFtZT0ncmVuYW1lJywKLUBAIC0zODgzLDYgKzM4OTUsNyBA QCBjbGFzcyBkbnNyZWNvcmRfZGVsKExEQVBVcGRhdGUpOgotIAotICAgICBkZWYgcHJlX2NhbGxi YWNrKHNlbGYsIGxkYXAsIGRuLCBlbnRyeV9hdHRycywgYXR0cnNfbGlzdCwgKmtleXMsICoqb3B0 aW9ucyk6Ci0gICAgICAgICBhc3NlcnQgaXNpbnN0YW5jZShkbiwgRE4pCi0rCi0gICAgICAgICB0 cnk6Ci0gICAgICAgICAgICAgb2xkX2VudHJ5ID0gbGRhcC5nZXRfZW50cnkoZG4sIF9yZWNvcmRf YXR0cmlidXRlcykKLSAgICAgICAgIGV4Y2VwdCBlcnJvcnMuTm90Rm91bmQ6Ci1AQCAtMzk4Myw2 ICszOTk2LDE2IEBAIGNsYXNzIGRuc3JlY29yZF9zaG93KExEQVBSZXRyaWV2ZSk6Ci0gICAgICAg ICBkbnNyZWNvcmQuc3RydWN0dXJlZF9mbGFnLAotICAgICApCi0gCi0rICAgIGRlZiBwcmVfY2Fs bGJhY2soc2VsZiwgbGRhcCwgZG4sIGF0dHJzX2xpc3QsICprZXlzLCAqKm9wdGlvbnMpOgotKyAg ICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoZG4sIEROKQotKwotKyAgICAgICAgaWYgb3B0aW9ucy5n ZXQoJ3N0cnVjdHVyZWQnKSBhbmQgb3B0aW9ucy5nZXQoJ3JhdycpOgotKyAgICAgICAgICAgIHJh aXNlIGVycm9ycy5NdXR1YWxseUV4Y2x1c2l2ZUVycm9yKAotKyAgICAgICAgICAgICAgICByZWFz b249XygiY2Fubm90IHVzZSBzdHJ1Y3R1cmVkIHRvZ2V0aGVyIHdpdGggcmF3IikKLSsgICAgICAg ICAgICApCi0rCi0rICAgICAgICByZXR1cm4gZG4KLSsKLSAgICAgZGVmIHBvc3RfY2FsbGJhY2so c2VsZiwgbGRhcCwgZG4sIGVudHJ5X2F0dHJzLCAqa2V5cywgKipvcHRpb25zKToKLSAgICAgICAg IGFzc2VydCBpc2luc3RhbmNlKGRuLCBETikKLSAgICAgICAgIGlmIHNlbGYub2JqLmlzX3BrZXlf em9uZV9yZWNvcmQoKmtleXMpOgotQEAgLTQwMTMsNiArNDAzNiwxMSBAQCBjbGFzcyBkbnNyZWNv cmRfZmluZChMREFQU2VhcmNoKToKLSAgICAgICAgICAgICAgICAgICAgICBkbnN6b25laWRuc25h bWUsICphcmdzLCAqKm9wdGlvbnMpOgotICAgICAgICAgYXNzZXJ0IGlzaW5zdGFuY2UoYmFzZV9k biwgRE4pCi0gCi0rICAgICAgICBpZiBvcHRpb25zLmdldCgnc3RydWN0dXJlZCcpIGFuZCBvcHRp b25zLmdldCgncmF3Jyk6Ci0rICAgICAgICAgICAgcmFpc2UgZXJyb3JzLk11dHVhbGx5RXhjbHVz aXZlRXJyb3IoCi0rICAgICAgICAgICAgICAgIHJlYXNvbj1fKCJjYW5ub3QgdXNlIHN0cnVjdHVy ZWQgdG9nZXRoZXIgd2l0aCByYXciKQotKyAgICAgICAgICAgICkKLSsKLSAgICAgICAgICMgdmFs aWRhdGUgaWYgem9uZSBpcyBtYXN0ZXIgem9uZQotICAgICAgICAgc2VsZi5vYmouY2hlY2tfem9u ZShkbnN6b25laWRuc25hbWUsICoqb3B0aW9ucykKLSAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90 ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0 X2Ruc19wbHVnaW4ucHkKLWluZGV4IDM5ZDQyZTMwNi4uODAzYjBhOTU3IDEwMDY0NAotLS0tIGEv aXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9kbnNfcGx1Z2luLnB5Ci0rKysgYi9pcGF0ZXN0cy90 ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkKLUBAIC0zNDI2LDYgKzM0MjYsNDEgQEAgY2xh c3MgdGVzdF9kbnMoRGVjbGFyYXRpdmUpOgotICAgICAgICAgICAgIH0sCi0gICAgICAgICApLAot IAotKyAgICAgICAgZGljdCgKLSsgICAgICAgICAgICBkZXNjPSJFbnN1cmUgLS1yYXcgYW5kIC0t c3RydWN0dXJlIGRvZXMgbm90IHdvcmsgIgotKyAgICAgICAgICAgICAgICAgImZvciBpcGEgZG5z cmVjb3JkLWFkZCIsCi0rICAgICAgICAgICAgY29tbWFuZD0oJ2RucmVjb3JkX2FkZCcsIFtdLCB7 dSdyYXcnOiBUcnVlLCB1J3N0cnVjdHVyZWQnOiBUcnVlfSksCi0rICAgICAgICAgICAgZXhwZWN0 ZWQ9ZXJyb3JzLk11dHVhbGx5RXhjbHVzaXZlRXJyb3IoCi0rICAgICAgICAgICAgICAgIHJlYXNv bj11ImNhbm5vdCB1c2Ugc3RydWN0dXJlZCB0b2dldGhlciB3aXRoIHJhdyIKLSsgICAgICAgICAg ICApLAotKyAgICAgICAgKSwKLSsKLSsgICAgICAgIGRpY3QoCi0rICAgICAgICAgICAgZGVzYz0i RW5zdXJlIC0tcmF3IGFuZCAtLXN0cnVjdHVyZSBkb2VzIG5vdCB3b3JrICIKLSsgICAgICAgICAg ICAgICAgICJmb3IgaXBhIGRuc3JlY29yZC1tb2QiLAotKyAgICAgICAgICAgIGNvbW1hbmQ9KCdk bnJlY29yZF9hZGQnLCBbXSwge3UncmF3JzogVHJ1ZSwgdSdzdHJ1Y3R1cmVkJzogVHJ1ZX0pLAot KyAgICAgICAgICAgIGV4cGVjdGVkPWVycm9ycy5NdXR1YWxseUV4Y2x1c2l2ZUVycm9yKAotKyAg ICAgICAgICAgICAgICByZWFzb249dSJjYW5ub3QgdXNlIHN0cnVjdHVyZWQgdG9nZXRoZXIgd2l0 aCByYXciCi0rICAgICAgICAgICAgKSwKLSsgICAgICAgICksCi0rCi0rICAgICAgICBkaWN0KAot KyAgICAgICAgICAgIGRlc2M9IkVuc3VyZSAtLXJhdyBhbmQgLS1zdHJ1Y3R1cmUgZG9lcyBub3Qg d29yayAiCi0rICAgICAgICAgICAgICAgICAiZm9yIGlwYSBkbnNyZWNvcmQtc2hvdyIsCi0rICAg ICAgICAgICAgY29tbWFuZD0oJ2RucmVjb3JkX2FkZCcsIFtdLCB7dSdyYXcnOiBUcnVlLCB1J3N0 cnVjdHVyZWQnOiBUcnVlfSksCi0rICAgICAgICAgICAgZXhwZWN0ZWQ9ZXJyb3JzLk11dHVhbGx5 RXhjbHVzaXZlRXJyb3IoCi0rICAgICAgICAgICAgICAgIHJlYXNvbj11ImNhbm5vdCB1c2Ugc3Ry dWN0dXJlZCB0b2dldGhlciB3aXRoIHJhdyIKLSsgICAgICAgICAgICApLAotKyAgICAgICAgKSwK LSsKLSsgICAgICAgIGRpY3QoCi0rICAgICAgICAgICAgZGVzYz0iRW5zdXJlIC0tcmF3IGFuZCAt LXN0cnVjdHVyZSBkb2VzIG5vdCB3b3JrICIKLSsgICAgICAgICAgICAgICAgICJmb3IgaXBhIGRu c3JlY29yZC1maW5kIiwKLSsgICAgICAgICAgICBjb21tYW5kPSgnZG5yZWNvcmRfYWRkJywgW10s IHt1J3Jhdyc6IFRydWUsIHUnc3RydWN0dXJlZCc6IFRydWV9KSwKLSsgICAgICAgICAgICBleHBl Y3RlZD1lcnJvcnMuTXV0dWFsbHlFeGNsdXNpdmVFcnJvcigKLSsgICAgICAgICAgICAgICAgcmVh c29uPXUiY2Fubm90IHVzZSBzdHJ1Y3R1cmVkIHRvZ2V0aGVyIHdpdGggcmF3IgotKyAgICAgICAg ICAgICksCi0rICAgICAgICApLAotICAgICBdCi0gCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g ZjkwNmUzNjI1NDkxZTliNmZjNjdmZGQ1YWM2YjQyOTUzMTY1OGJlMSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgot RGF0ZTogRnJpLCAyOCBGZWIgMjAyNSAxNDo1NzoyNSArMDIwMAotU3ViamVjdDogW1BBVENIIDEw Ny8xMTZdIGNvbmZpZy1tb2Q6IGFsbG93IGRpc2FibGluZyBzdWJvcmRpbmF0ZSBJRAotIGludGVn cmF0aW9uCi0KLVdoZW4gZnVsbCAzMi1iaXQgSUQgcmFuZ2UgdXNhZ2UgaXMgcmVxdWlyZWQsIHN1 Ym9yZGluYXRlIElEIHN1cHBvcnQgaGF2ZQotdG8gYmUgZGlzYWJsZWQuIEhvd2V2ZXIsIGV2ZW4g aWYgSUQgcmFuZ2UgZm9yIHN1Ym9yZGluYXRlIElEcyB3ZXJlIHRvIGJlCi1yZW1vdmVkLCBpdCB3 aWxsIGJlIHJlc3RvcmVkIGR1cmluZyB0aGUgbmV4dCBkYXRhIHVwZ3JhZGUuCi0KLUNoYW5nZSB1 cGdyYWRlIGNvZGUgdG8gb25seSBhcHBseSBzdWJJRCByYW5nZSBjcmVhdGlvbiB3aGVuIHN1YklE Ci1zdXBwb3J0IGlzIGVuYWJsZWQuCi0KLURvIG5vdCBhbGxvdyBhbGxvY2F0aW5nIHN1YklEcyBp ZiB0aGVpciB1c2UgaXMgZGlzYWJsZWQuCi0KLUFsbG93IGZ1bGwgMzItYml0IHVpZE51bWJlci9n aWROdW1iZXIgdmFsdWVzIGluIEpTT04gcGF5bG9hZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJl LmlvL2ZyZWVpcGEvaXNzdWUvOTc1NwotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3Zv eSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZs b0ByZWRoYXQuY29tPgotLS0tCi0gQVBJLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgIDIgKy0KLSBkb2MvYXBpL2NvbmZpZ19tb2QubWQgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgMiArLQotIGRvYy9kZXNpZ25zL3N1Ym9yZGluYXRlLWlkcy5tZCAgICAgICAg ICAgICAgICB8IDIyICsrKysrKysrKwotIGluc3RhbGwvc2hhcmUvTWFrZWZpbGUuYW0gICAgICAg ICAgICAgICAgICAgICB8ICAxICsKLSBpbnN0YWxsL3NoYXJlL3N1YmlkLWdlbmVyYXRvcnMudWxk aWYgICAgICAgICAgfCAzOCArKysrKysrKysrKysrKysrCi0gaW5zdGFsbC91cGRhdGVzLzczLXN1 YmlkLnVwZGF0ZSAgICAgICAgICAgICAgIHwgMzcgLS0tLS0tLS0tLS0tLS0tCi0gLi4uL3VwZGF0 ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlICAgIHwgIDEgKwotIGlwYWxpYi9tZXNz YWdlcy5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEzICsrKysrKwotIGlwYXBsYXRm b3JtL2Jhc2UvcGF0aHMucHkgICAgICAgICAgICAgICAgICAgICB8ICAxICsKLSBpcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfc3ViaWRzLnB5ICAgICAgICAgICAgICAgfCAgNSArKysKLSAuLi4vaW5zdGFs bC9wbHVnaW5zL3VwZGF0ZV9zdWJpZF9zdXBwb3J0LnB5ICAgfCA0NSArKysrKysrKysrKysrKysr KysrCi0gaXBhc2VydmVyL3BsdWdpbnMvY29uZmlnLnB5ICAgICAgICAgICAgICAgICAgIHwgMzQg KysrKysrKysrKysrKy0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9zdWJpZC5weSAgICAgICAgICAgICAg ICAgICAgfCAxMSArKysrKwotIGlwYXNlcnZlci9wbHVnaW5zL3VzZXIucHkgICAgICAgICAgICAg ICAgICAgICB8ICA0ICstCi0gMTQgZmlsZXMgY2hhbmdlZCwgMTc0IGluc2VydGlvbnMoKyksIDQy IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbnN0YWxsL3NoYXJlL3N1YmlkLWdl bmVyYXRvcnMudWxkaWYKLSBjcmVhdGUgbW9kZSAxMDA2NDQgaXBhc2VydmVyL2luc3RhbGwvcGx1 Z2lucy91cGRhdGVfc3ViaWRfc3VwcG9ydC5weQotCi1kaWZmIC0tZ2l0IGEvQVBJLnR4dCBiL0FQ SS50eHQKLWluZGV4IDYxZThlNDYzYS4uZjE5ZTNiZjM0IDEwMDY0NAotLS0tIGEvQVBJLnR4dAot KysrIGIvQVBJLnR4dAotQEAgLTEwODMsNyArMTA4Myw3IEBAIG9wdGlvbjogRmxhZygnYWxsJywg YXV0b2ZpbGw9VHJ1ZSwgY2xpX25hbWU9J2FsbCcsIGRlZmF1bHQ9RmFsc2UpCi0gb3B0aW9uOiBT dHIoJ2NhX3JlbmV3YWxfbWFzdGVyX3NlcnZlcj8nLCBhdXRvZmlsbD1GYWxzZSkKLSBvcHRpb246 IFN0cignZGVsYXR0cionLCBjbGlfbmFtZT0nZGVsYXR0cicpCi0gb3B0aW9uOiBGbGFnKCdlbmFi bGVfc2lkPycsIGF1dG9maWxsPVRydWUsIGRlZmF1bHQ9RmFsc2UpCi0tb3B0aW9uOiBTdHJFbnVt KCdpcGFjb25maWdzdHJpbmcqJywgYXV0b2ZpbGw9RmFsc2UsIGNsaV9uYW1lPSdpcGFjb25maWdz dHJpbmcnLCB2YWx1ZXM9W3UnQWxsb3dOVGhhc2gnLCB1J0tEQzpEaXNhYmxlIExhc3QgU3VjY2Vz cycsIHUnS0RDOkRpc2FibGUgTG9ja291dCcsIHUnS0RDOkRpc2FibGUgRGVmYXVsdCBQcmVhdXRo IGZvciBTUE5zJywgdSdFbmZvcmNlTERBUE9UUCddKQotK29wdGlvbjogU3RyRW51bSgnaXBhY29u Zmlnc3RyaW5nKicsIGF1dG9maWxsPUZhbHNlLCBjbGlfbmFtZT0naXBhY29uZmlnc3RyaW5nJywg dmFsdWVzPVt1J0FsbG93TlRoYXNoJywgdSdLREM6RGlzYWJsZSBMYXN0IFN1Y2Nlc3MnLCB1J0tE QzpEaXNhYmxlIExvY2tvdXQnLCB1J0tEQzpEaXNhYmxlIERlZmF1bHQgUHJlYXV0aCBmb3IgU1BO cycsIHUnRW5mb3JjZUxEQVBPVFAnLCB1J1N1YklEOkRpc2FibGUnXSkKLSBvcHRpb246IFN0cign aXBhZGVmYXVsdGVtYWlsZG9tYWluPycsIGF1dG9maWxsPUZhbHNlLCBjbGlfbmFtZT0nZW1haWxk b21haW4nKQotIG9wdGlvbjogU3RyKCdpcGFkZWZhdWx0bG9naW5zaGVsbD8nLCBhdXRvZmlsbD1G YWxzZSwgY2xpX25hbWU9J2RlZmF1bHRzaGVsbCcpCi0gb3B0aW9uOiBTdHIoJ2lwYWRlZmF1bHRw cmltYXJ5Z3JvdXA/JywgYXV0b2ZpbGw9RmFsc2UsIGNsaV9uYW1lPSdkZWZhdWx0Z3JvdXAnKQot ZGlmZiAtLWdpdCBhL2RvYy9hcGkvY29uZmlnX21vZC5tZCBiL2RvYy9hcGkvY29uZmlnX21vZC5t ZAotaW5kZXggYjMyMDNjMzUwLi5lMThkZDU1YzcgMTAwNjQ0Ci0tLS0gYS9kb2MvYXBpL2NvbmZp Z19tb2QubWQKLSsrKyBiL2RvYy9hcGkvY29uZmlnX21vZC5tZAotQEAgLTI3LDcgKzI3LDcgQEAg Tm8gYXJndW1lbnRzLgotICogaXBhdXNlcm9iamVjdGNsYXNzZXMgOiA6cmVmOmBTdHI8U3RyPmAK LSAqIGlwYXB3ZGV4cGFkdm5vdGlmeSA6IDpyZWY6YEludDxJbnQ+YAotICogaXBhY29uZmlnc3Ry aW5nIDogOnJlZjpgU3RyRW51bTxTdHJFbnVtPmAKLS0gKiBWYWx1ZXM6ICgnQWxsb3dOVGhhc2gn LCAnS0RDOkRpc2FibGUgTGFzdCBTdWNjZXNzJywgJ0tEQzpEaXNhYmxlIExvY2tvdXQnLCAnS0RD OkRpc2FibGUgRGVmYXVsdCBQcmVhdXRoIGZvciBTUE5zJywgJ0VuZm9yY2VMREFQT1RQJykKLSsg KiBWYWx1ZXM6ICgnQWxsb3dOVGhhc2gnLCAnS0RDOkRpc2FibGUgTGFzdCBTdWNjZXNzJywgJ0tE QzpEaXNhYmxlIExvY2tvdXQnLCAnS0RDOkRpc2FibGUgRGVmYXVsdCBQcmVhdXRoIGZvciBTUE5z JywgJ0VuZm9yY2VMREFQT1RQJywgJ1N1YklEOkRpc2FibGUnKQotICogaXBhc2VsaW51eHVzZXJt YXBvcmRlciA6IDpyZWY6YFN0cjxTdHI+YAotICogaXBhc2VsaW51eHVzZXJtYXBkZWZhdWx0IDog OnJlZjpgU3RyPFN0cj5gCi0gKiBpcGFrcmJhdXRoemRhdGEgOiA6cmVmOmBTdHJFbnVtPFN0ckVu dW0+YAotZGlmZiAtLWdpdCBhL2RvYy9kZXNpZ25zL3N1Ym9yZGluYXRlLWlkcy5tZCBiL2RvYy9k ZXNpZ25zL3N1Ym9yZGluYXRlLWlkcy5tZAotaW5kZXggYjI4MGRmMWE5Li5kYWMxYzMyOTIgMTAw NjQ0Ci0tLS0gYS9kb2MvZGVzaWducy9zdWJvcmRpbmF0ZS1pZHMubWQKLSsrKyBiL2RvYy9kZXNp Z25zL3N1Ym9yZGluYXRlLWlkcy5tZAotQEAgLTY0LDYgKzY0LDE4IEBAIGFuZCBkb24ndCBhdXRv LW1hcCBvciBhdXRvLWFzc2lnbiBzdWJvcmRpbmF0ZSBpZHMgYnkgZGVmYXVsdC4gSW5zdGVhZAot IHdlIGdpdmUgdGhlIGFkbWluIHNldmVyYWwgb3B0aW9ucyB0byBhc3NpZ24gdGhlbSBtYW51YWxs eSwgc2VtaS1tYW51YWwsCi0gb3IgYXV0b21hdGljYWxseS4KLSAKLStGb3IgZGVwbG95bWVudHMg d2hlcmUgdGhlcmUgaXMgYSBuZWVkIHRvIGNvbnN1bWUgSURzIGFib3ZlIDJeMzEgZm9yIG5vcm1h bCBVSUQKLSthbmQgR0lEIGFzc2lnbm1lbnRzLCBvbmUgaGFzIHRvIGRpc2FibGUgc3Vib3JkaW5h dGUgSUQgZmVhdHVyZS4gVGhpcyBzaG91bGQgYmUKLStkb25lIHdpdGggYGlwYSBjb25maWctbW9k IC0tYWRkYXR0ciBpcGFjb25maWdzdHJpbmc9U3ViSUQ6RGlzYWJsZWAgY29tbWFuZC4KLStBZnRl ciBpdCBpcyBkb25lLCBzdWJvcmRpbmF0ZSBJRCByYW5nZSBjYW4gYmUgcmVtb3ZlZCB3aXRoIGBp cGEgaWRyYW5nZS1kZWxgCi0rY29tbWFuZCBhbmQgb24gdGhlIElQQSBzZXJ2ZXIgb25lIGhhdmUg dG8gcnVuIGBpcGEtc2VydmVyLXVwZ3JhZGVgIGNvbW1hbmQgdG8KLSttYWtlIHN1cmUgaW50ZXJu YWwgRE5BIHBsdWdpbiBjb25maWd1cmF0aW9uIGlzIHJlbW92ZWQgYXMgd2VsbC4KLStGaW5hbGx5 LCBhIG5ldyBsb2NhbCBJRCByYW5nZSBjYW4gYmUgYWRkZWQgdG8gY292ZXIgcmVxdWlyZWQgcGFy dCBvZiB0aGUKLSsyXjMxLi4yXjMyLTEgc3BhY2UuIFRoZSByYW5nZSBtdXN0IGhhdmUgUklEIGJh c2VzIHRvIG1ha2Ugc3VyZSBGcmVlSVBBIHdpbGwKLStnZW5lcmF0ZSBTSURzIHByb3Blcmx5IHRv IHVzZXJzIGFuZCBncm91cHMgY3JlYXRlZCB3aXRoIElEcyBmcm9tIHRoaXMgcmFuZ2UuCi0rCi0r KipOT1RFKio6IERpc2FibGluZyBzdWJvcmRpbmF0ZSBJRCBmZWF0dXJlIGNhbiBvbmx5IGJlIGRv bmUgaWYgbm8gc3Vib3JkaW5hdGUKLStJRHMgd2VyZSBhbHJlYWR5IGFsbG9jYXRlZC4KLSAKLSAj IyMgUmV2aXNpb24gMSBsaW1pdGF0aW9uCi0gCi1AQCAtMzQwLDYgKzM1MiwxNiBAQCBzdWJvcmRp bmF0ZSBpZCBlbnRyaWVzIGZvciBuZXcgdXNlcnM6Ci0gJCBpcGEgY29uZmlnLW1vZCAtLXVzZXIt ZGVmYXVsdC1zdWJpZD10cnVlCi0gYGBgCi0gCi0rU3Vib3JkaW5hdGUgSUQgZmVhdHVyZSBjYW4g YmUgZGlzYWJsZWQgY29tcGxldGVseS4gVGhpcyBpcyBkb25lIHdpdGggYGlwYQotK2NvbmZpZy1t b2QgLS1hZGRhdHRyIGlwYWNvbmZpZ3N0cmluZz1TdWJJRDpEaXNhYmxlYCBjb21tYW5kLiBBZnRl ciBpdCBpcyBkb25lLAotK3N1Ym9yZGluYXRlIElEIHJhbmdlIGNhbiBiZSByZW1vdmVkIHdpdGgg YGlwYSBpZHJhbmdlLWRlbGAgY29tbWFuZCBhbmQgb24gdGhlCi0rSVBBIHNlcnZlciBvbmUgaGF2 ZSB0byBydW4gYGlwYS1zZXJ2ZXItdXBncmFkZWAgY29tbWFuZCB0byBtYWtlIHN1cmUgaW50ZXJu YWwKLStETkEgcGx1Z2luIGNvbmZpZ3VyYXRpb24gaXMgcmVtb3ZlZCBhcyB3ZWxsLiBGaW5hbGx5 LCBhIG5ldyBsb2NhbCBJRCByYW5nZSBjYW4KLStiZSBhZGRlZCB0byBjb3ZlciB0aGUgcmVxdWly ZWQgcGFydCBvZiB0aGUgZnVsbCAzMi1iaXQgSUQgc3BhY2UuCi0rCi0rKipOT1RFKio6IERpc2Fi bGluZyBzdWJvcmRpbmF0ZSBJRCBmZWF0dXJlIGNhbiBvbmx5IGJlIGRvbmUgaWYgbm8gc3Vib3Jk aW5hdGUKLStJRHMgd2VyZSBhbHJlYWR5IGFsbG9jYXRlZC4KLSsKLSBTdWJvcmRpbmF0ZSBpZHMg YXJlIG1hbmFnZWQgYnkgYSBuZXcgcGx1Z2luIGNsYXNzLiBUaGUgYGBzdWJpZC1hZGRgYAotIGFu ZCBgYHN1YmlkLWRlbGBgIGNvbW1hbmRzIGFyZSBoaWRkZW4gZnJvbSBjb21tYW5kIGxpbmUuIE5l dyBzdWJvcmRpbmF0ZQotIGlkcyBhcmUgZ2VuZXJhdGVkIGFuZCBhdXRvLWFzc2lnbmVkIHdpdGgg YGBzdWJpZC1nZW5lcmF0ZWBgLgotZGlmZiAtLWdpdCBhL2luc3RhbGwvc2hhcmUvTWFrZWZpbGUu YW0gYi9pbnN0YWxsL3NoYXJlL01ha2VmaWxlLmFtCi1pbmRleCA0MDI5Mjk3YjcuLmQ4ZDI3MGNh OSAxMDA2NDQKLS0tLSBhL2luc3RhbGwvc2hhcmUvTWFrZWZpbGUuYW0KLSsrKyBiL2luc3RhbGwv c2hhcmUvTWFrZWZpbGUuYW0KLUBAIC05MCw2ICs5MCw3IEBAIGRpc3RfYXBwX0RBVEEgPQkJCQlc Ci0gCXZhdWx0LmxkaWYJCQlcCi0gCWtkY3Byb3h5LWVuYWJsZS51bGRpZgkJXAotIAlrZGNwcm94 eS1kaXNhYmxlLnVsZGlmCQlcCi0rCXN1YmlkLWdlbmVyYXRvcnMudWxkaWYJCVwKLSAJaXBhLWh0 dHBkLmNvbmYudGVtcGxhdGUJCVwKLSAJaXBhLWh0dHBkLXdzZ2kuY29uZi50ZW1wbGF0ZQlcCi0g CWdzc2FwaS5sb2dpbgkJCVwKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3NoYXJlL3N1YmlkLWdlbmVy YXRvcnMudWxkaWYgYi9pbnN0YWxsL3NoYXJlL3N1YmlkLWdlbmVyYXRvcnMudWxkaWYKLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjExODA3NzM4MgotLS0tIC9kZXYvbnVs bAotKysrIGIvaW5zdGFsbC9zaGFyZS9zdWJpZC1nZW5lcmF0b3JzLnVsZGlmCi1AQCAtMCwwICsx LDM4IEBACi0rIyBETkEgcGx1Z2luIGFuZCBpZHJhbmdlIGNvbmZpZ3VyYXRpb24KLStkbjogY249 c3Vib3JkaW5hdGUtaWRzLGNuPWRuYSxjbj1pcGEsY249ZXRjLCRTVUZGSVgKLStkZWZhdWx0OiBv YmplY3RDbGFzczogbnNDb250YWluZXIKLStkZWZhdWx0OiBvYmplY3RDbGFzczogdG9wCi0rZGVm YXVsdDogY246IHN1Ym9yZGluYXRlLWlkcwotKwotK2RuOiBjbj1TdWJvcmRpbmF0ZSBJRHMsY249 RGlzdHJpYnV0ZWQgTnVtZXJpYyBBc3NpZ25tZW50IFBsdWdpbixjbj1wbHVnaW5zLGNuPWNvbmZp ZwotK2RlZmF1bHQ6IG9iamVjdGNsYXNzOiB0b3AKLStkZWZhdWx0OiBvYmplY3RjbGFzczogZXh0 ZW5zaWJsZU9iamVjdAotK2RlZmF1bHQ6IGNuOiBTdWJvcmRpbmF0ZSBJRHMKLStkZWZhdWx0OiBk bmFUeXBlOiBpcGFzdWJ1aWRudW1iZXIKLStkZWZhdWx0OiBkbmFUeXBlOiBpcGFzdWJnaWRudW1i ZXIKLStkZWZhdWx0OiBkbmFOZXh0VmFsdWU6IGV2YWwoJFNVQklEX1JBTkdFX1NUQVJUKQotK2Rl ZmF1bHQ6IGRuYU1heFZhbHVlOiBldmFsKCRTVUJJRF9SQU5HRV9NQVgpCi0rZGVmYXVsdDogZG5h TWFnaWNSZWdlbjogLTEKLStkZWZhdWx0OiBkbmFGaWx0ZXI6IChvYmplY3RDbGFzcz1pcGFTdWJv cmRpbmF0ZUlkKQotK2RlZmF1bHQ6IGRuYVNjb3BlOiAkU1VGRklYCi0rZGVmYXVsdDogZG5hVGhy ZXNob2xkOiBldmFsKCRTVUJJRF9ETkFfVEhSRVNIT0xEKQotK2RlZmF1bHQ6IGRuYVNoYXJlZENm Z0ROOiBjbj1zdWJvcmRpbmF0ZS1pZHMsY249ZG5hLGNuPWlwYSxjbj1ldGMsJFNVRkZJWAotK2Rl ZmF1bHQ6IGRuYUV4Y2x1ZGVTY29wZTogY249cHJvdmlzaW9uaW5nLCRTVUZGSVgKLStkZWZhdWx0 OiBkbmFJbnRlcnZhbDogZXZhbCgkU1VCSURfQ09VTlQpCi0rYWRkOiBhY2k6ICh0YXJnZXRhdHRy ID0gImRuYU5leHRSYW5nZSB8fCBkbmFOZXh0VmFsdWUgfHwgZG5hTWF4VmFsdWUiKSh2ZXJzaW9u IDMuMDthY2wgInBlcm1pc3Npb246TW9kaWZ5IEROQSBSYW5nZSI7YWxsb3cgKHdyaXRlKSBncm91 cGRuID0gImxkYXA6Ly8vY249TW9kaWZ5IEROQSBSYW5nZSxjbj1wZXJtaXNzaW9ucyxjbj1wYmFj LCRTVUZGSVgiOykKLSthZGQ6IGFjaTogKHRhcmdldGF0dHIgPSAiY24gfHwgZG5hTWF4VmFsdWUg fHwgZG5hTmV4dFJhbmdlIHx8IGRuYU5leHRWYWx1ZSAgfHwgZG5hVGhyZXNob2xkIHx8IGRuYVR5 cGUgfHwgb2JqZWN0Y2xhc3MiKSh2ZXJzaW9uIDMuMDthY2wgInBlcm1pc3Npb246UmVhZCBETkEg UmFuZ2UiO2FsbG93IChyZWFkLCBzZWFyY2gsIGNvbXBhcmUpIGdyb3VwZG4gPSAibGRhcDovLy9j bj1SZWFkIEROQSBSYW5nZSxjbj1wZXJtaXNzaW9ucyxjbj1wYmFjLCRTVUZGSVgiOykKLSsKLStk bjogY249JHtSRUFMTX1fc3ViaWRfcmFuZ2UsY249cmFuZ2VzLGNuPWV0YywkU1VGRklYCi0rZGVm YXVsdDogb2JqZWN0Q2xhc3M6IHRvcAotK2RlZmF1bHQ6IG9iamVjdENsYXNzOiBpcGFJRHJhbmdl Ci0rZGVmYXVsdDogb2JqZWN0Q2xhc3M6IGlwYVRydXN0ZWRBRERvbWFpblJhbmdlCi0rZGVmYXVs dDogY246ICR7UkVBTE19X3N1YmlkX3JhbmdlCi0rZGVmYXVsdDogaXBhQmFzZUlEOiAkU1VCSURf UkFOR0VfU1RBUlQKLStkZWZhdWx0OiBpcGFJRFJhbmdlU2l6ZTogJFNVQklEX1JBTkdFX1NJWkUK LSsjIEhBQ0s6IFJJRHMgdG8gd29yayBhcm91bmQgYWR0cnVzdCBzaWRnZW4gaXNzdWUKLStkZWZh dWx0OiBpcGFCYXNlUklEOiBldmFsKCRTVUJJRF9CQVNFX1JJRCkKLStkZWZhdWx0OiBpcGFOVFRy dXN0ZWREb21haW5TSUQ6IFMtMS01LTIxLTczODA2NS04Mzg1NjYtJERPTUFJTl9IQVNICi0rIyBI QUNLOiAiaXBhLWxvY2FsLXN1YmlkIiByYW5nZSB0eXBlIGNhdXNlcyBpc3N1ZXMgd2l0aCBvbGRl ciBTU1NEIGNsaWVudHMKLSsjIHNlZSBodHRwczovL2dpdGh1Yi5jb20vU1NTRC9zc3NkL2lzc3Vl cy81NTcxCi0rZGVmYXVsdDogaXBhUmFuZ2VUeXBlOiBpcGEtYWQtdHJ1c3QKLSsKLWRpZmYgLS1n aXQgYS9pbnN0YWxsL3VwZGF0ZXMvNzMtc3ViaWQudXBkYXRlIGIvaW5zdGFsbC91cGRhdGVzLzcz LXN1YmlkLnVwZGF0ZQotaW5kZXggM2MwMzBiNDFlLi4xOGJjYTYwYmMgMTAwNjQ0Ci0tLS0gYS9p bnN0YWxsL3VwZGF0ZXMvNzMtc3ViaWQudXBkYXRlCi0rKysgYi9pbnN0YWxsL3VwZGF0ZXMvNzMt c3ViaWQudXBkYXRlCi1AQCAtNjcsNDAgKzY3LDMgQEAgZG46IGNuPXN1Ymlkcyxjbj1hY2NvdW50 cywkU1VGRklYCi0gYWRkOiBhY2k6ICh0YXJnZXRmaWx0ZXIgPSAiKG9iamVjdGNsYXNzPWlwYXN1 Ym9yZGluYXRlaWRlbnRyeSkiKSh0YXJnZXRhdHRyPSJkZXNjcmlwdGlvbiB8fCBpcGFvd25lciB8 fCBpcGF1bmlxdWVpZCIpKHRhcmdhdHRyZmlsdGVycyA9ICJhZGQ9b2JqZWN0Q2xhc3M6KHwob2Jq ZWN0Q2xhc3M9dG9wKShvYmplY3RDbGFzcz1pcGFzdWJvcmRpbmF0ZWlkKShvYmplY3RDbGFzcz1p cGFzdWJvcmRpbmF0ZWlkZW50cnkpKG9iamVjdENsYXNzPWlwYXN1Ym9yZGluYXRlZ2lkKShvYmpl Y3RDbGFzcz1pcGFzdWJvcmRpbmF0ZXVpZCkpICYmIGlwYXN1YnVpZG51bWJlcjooaXBhc3VidWlk bnVtYmVyPS0xKSAmJiBpcGFzdWJ1aWRjb3VudDooaXBhc3VidWlkY291bnQ9ZXZhbCgkU1VCSURf Q09VTlQpKSAmJiBpcGFzdWJnaWRudW1iZXI6KGlwYXN1YmdpZG51bWJlcj0tMSkgJiYgaXBhc3Vi Z2lkY291bnQ6KGlwYXN1YmdpZGNvdW50PWV2YWwoJFNVQklEX0NPVU5UKSksIGRlbD1pcGFzdWJ1 aWRudW1iZXI6KCEoaXBhc3VidWlkbnVtYmVyPSopKSAmJiBpcGFzdWJ1aWRjb3VudDooIShpcGFz dWJ1aWRjb3VudD0qKSkgJiYgaXBhc3ViZ2lkbnVtYmVyOighKGlwYXN1YmdpZG51bWJlcj0qKSkg JiYgaXBhc3ViZ2lkY291bnQ6KCEoaXBhc3ViZ2lkY291bnQ9KikpIikodmVyc2lvbiAzLjA7YWNs ICJzZWxmc2VydmljZTogQWRkIHN1Ym9yZGluYXRlIGlkIjthbGxvdyAoYWRkLCB3cml0ZSkgdXNl cmF0dHIgPSAiaXBhb3duZXIjU0VMRkROIiBhbmQgZ3JvdXBkbj0ibGRhcDovLy9jbj1TZWxmLXNl cnZpY2Ugc3Vib3JkaW5hdGUgSUQsY249cGVybWlzc2lvbnMsY249cGJhYywkU1VGRklYIjspCi0g YWRkOiBhY2k6ICh0YXJnZXRmaWx0ZXIgPSAiKG9iamVjdGNsYXNzPWlwYXN1Ym9yZGluYXRlaWRl bnRyeSkiKSh0YXJnZXRhdHRyPSJkZXNjcmlwdGlvbiB8fCBpcGFvd25lciB8fCBpcGF1bmlxdWVp ZCIpKHRhcmdhdHRyZmlsdGVycyA9ICJhZGQ9b2JqZWN0Q2xhc3M6KHwob2JqZWN0Q2xhc3M9dG9w KShvYmplY3RDbGFzcz1pcGFzdWJvcmRpbmF0ZWlkKShvYmplY3RDbGFzcz1pcGFzdWJvcmRpbmF0 ZWlkZW50cnkpKG9iamVjdENsYXNzPWlwYXN1Ym9yZGluYXRlZ2lkKShvYmplY3RDbGFzcz1pcGFz dWJvcmRpbmF0ZXVpZCkpICYmIGlwYXN1YnVpZG51bWJlcjoofChpcGFzdWJ1aWRudW1iZXI+PTEp KGlwYXN1YnVpZG51bWJlcj0tMSkpICYmIGlwYXN1YnVpZGNvdW50OihpcGFzdWJ1aWRjb3VudD1l dmFsKCRTVUJJRF9DT1VOVCkpICYmIGlwYXN1YmdpZG51bWJlcjoofChpcGFzdWJnaWRudW1iZXI+ PTEpKGlwYXN1YmdpZG51bWJlcj0tMSkpICYmIGlwYXN1YmdpZGNvdW50OihpcGFzdWJnaWRjb3Vu dD1ldmFsKCRTVUJJRF9DT1VOVCkpLCBkZWw9aXBhc3VidWlkbnVtYmVyOighKGlwYXN1YnVpZG51 bWJlcj0qKSkgJiYgaXBhc3VidWlkY291bnQ6KCEoaXBhc3VidWlkY291bnQ9KikpICYmIGlwYXN1 YmdpZG51bWJlcjooIShpcGFzdWJnaWRudW1iZXI9KikpICYmIGlwYXN1YmdpZGNvdW50OighKGlw YXN1YmdpZGNvdW50PSopKSIpKHZlcnNpb24gMy4wO2FjbCAiQWRkIHN1Ym9yZGluYXRlIGlkcyB0 byBhbnkgdXNlciI7YWxsb3cgKGFkZCwgd3JpdGUpIGdyb3VwZG49ImxkYXA6Ly8vY249U3Vib3Jk aW5hdGUgSUQgQWRtaW5pc3RyYXRvcnMsY249cHJpdmlsZWdlcyxjbj1wYmFjLCRTVUZGSVgiOykK LSAKLS0jIEROQSBwbHVnaW4gYW5kIGlkcmFuZ2UgY29uZmlndXJhdGlvbgotLWRuOiBjbj1zdWJv cmRpbmF0ZS1pZHMsY249ZG5hLGNuPWlwYSxjbj1ldGMsJFNVRkZJWAotLWRlZmF1bHQ6IG9iamVj dENsYXNzOiBuc0NvbnRhaW5lcgotLWRlZmF1bHQ6IG9iamVjdENsYXNzOiB0b3AKLS1kZWZhdWx0 OiBjbjogc3Vib3JkaW5hdGUtaWRzCi0tCi0tZG46IGNuPVN1Ym9yZGluYXRlIElEcyxjbj1EaXN0 cmlidXRlZCBOdW1lcmljIEFzc2lnbm1lbnQgUGx1Z2luLGNuPXBsdWdpbnMsY249Y29uZmlnCi0t ZGVmYXVsdDogb2JqZWN0Y2xhc3M6IHRvcAotLWRlZmF1bHQ6IG9iamVjdGNsYXNzOiBleHRlbnNp YmxlT2JqZWN0Ci0tZGVmYXVsdDogY246IFN1Ym9yZGluYXRlIElEcwotLWRlZmF1bHQ6IGRuYVR5 cGU6IGlwYXN1YnVpZG51bWJlcgotLWRlZmF1bHQ6IGRuYVR5cGU6IGlwYXN1YmdpZG51bWJlcgot LWRlZmF1bHQ6IGRuYU5leHRWYWx1ZTogZXZhbCgkU1VCSURfUkFOR0VfU1RBUlQpCi0tZGVmYXVs dDogZG5hTWF4VmFsdWU6IGV2YWwoJFNVQklEX1JBTkdFX01BWCkKLS1kZWZhdWx0OiBkbmFNYWdp Y1JlZ2VuOiAtMQotLWRlZmF1bHQ6IGRuYUZpbHRlcjogKG9iamVjdENsYXNzPWlwYVN1Ym9yZGlu YXRlSWQpCi0tZGVmYXVsdDogZG5hU2NvcGU6ICRTVUZGSVgKLS1kZWZhdWx0OiBkbmFUaHJlc2hv bGQ6IGV2YWwoJFNVQklEX0ROQV9USFJFU0hPTEQpCi0tZGVmYXVsdDogZG5hU2hhcmVkQ2ZnRE46 IGNuPXN1Ym9yZGluYXRlLWlkcyxjbj1kbmEsY249aXBhLGNuPWV0YywkU1VGRklYCi0tZGVmYXVs dDogZG5hRXhjbHVkZVNjb3BlOiBjbj1wcm92aXNpb25pbmcsJFNVRkZJWAotLWRlZmF1bHQ6IGRu YUludGVydmFsOiBldmFsKCRTVUJJRF9DT1VOVCkKLS1hZGQ6IGFjaTogKHRhcmdldGF0dHIgPSAi ZG5hTmV4dFJhbmdlIHx8IGRuYU5leHRWYWx1ZSB8fCBkbmFNYXhWYWx1ZSIpKHZlcnNpb24gMy4w O2FjbCAicGVybWlzc2lvbjpNb2RpZnkgRE5BIFJhbmdlIjthbGxvdyAod3JpdGUpIGdyb3VwZG4g PSAibGRhcDovLy9jbj1Nb2RpZnkgRE5BIFJhbmdlLGNuPXBlcm1pc3Npb25zLGNuPXBiYWMsJFNV RkZJWCI7KQotLWFkZDogYWNpOiAodGFyZ2V0YXR0ciA9ICJjbiB8fCBkbmFNYXhWYWx1ZSB8fCBk bmFOZXh0UmFuZ2UgfHwgZG5hTmV4dFZhbHVlICB8fCBkbmFUaHJlc2hvbGQgfHwgZG5hVHlwZSB8 fCBvYmplY3RjbGFzcyIpKHZlcnNpb24gMy4wO2FjbCAicGVybWlzc2lvbjpSZWFkIEROQSBSYW5n ZSI7YWxsb3cgKHJlYWQsIHNlYXJjaCwgY29tcGFyZSkgZ3JvdXBkbiA9ICJsZGFwOi8vL2NuPVJl YWQgRE5BIFJhbmdlLGNuPXBlcm1pc3Npb25zLGNuPXBiYWMsJFNVRkZJWCI7KQotLQotLWRuOiBj bj0ke1JFQUxNfV9zdWJpZF9yYW5nZSxjbj1yYW5nZXMsY249ZXRjLCRTVUZGSVgKLS1kZWZhdWx0 OiBvYmplY3RDbGFzczogdG9wCi0tZGVmYXVsdDogb2JqZWN0Q2xhc3M6IGlwYUlEcmFuZ2UKLS1k ZWZhdWx0OiBvYmplY3RDbGFzczogaXBhVHJ1c3RlZEFERG9tYWluUmFuZ2UKLS1kZWZhdWx0OiBj bjogJHtSRUFMTX1fc3ViaWRfcmFuZ2UKLS1kZWZhdWx0OiBpcGFCYXNlSUQ6ICRTVUJJRF9SQU5H RV9TVEFSVAotLWRlZmF1bHQ6IGlwYUlEUmFuZ2VTaXplOiAkU1VCSURfUkFOR0VfU0laRQotLSMg SEFDSzogUklEcyB0byB3b3JrIGFyb3VuZCBhZHRydXN0IHNpZGdlbiBpc3N1ZQotLWRlZmF1bHQ6 IGlwYUJhc2VSSUQ6IGV2YWwoJFNVQklEX0JBU0VfUklEKQotLWRlZmF1bHQ6IGlwYU5UVHJ1c3Rl ZERvbWFpblNJRDogUy0xLTUtMjEtNzM4MDY1LTgzODU2Ni0kRE9NQUlOX0hBU0gKLS0jIEhBQ0s6 ICJpcGEtbG9jYWwtc3ViaWQiIHJhbmdlIHR5cGUgY2F1c2VzIGlzc3VlcyB3aXRoIG9sZGVyIFNT U0QgY2xpZW50cwotLSMgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9TU1NEL3Nzc2QvaXNzdWVzLzU1 NzEKLS1kZWZhdWx0OiBpcGFSYW5nZVR5cGU6IGlwYS1hZC10cnVzdAotZGlmZiAtLWdpdCBhL2lu c3RhbGwvdXBkYXRlcy85MC1wb3N0X3VwZ3JhZGVfcGx1Z2lucy51cGRhdGUgYi9pbnN0YWxsL3Vw ZGF0ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlCi1pbmRleCA5YTlkODBhOTIuLjdj M2JiYTNlMCAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdXBkYXRlcy85MC1wb3N0X3VwZ3JhZGVfcGx1 Z2lucy51cGRhdGUKLSsrKyBiL2luc3RhbGwvdXBkYXRlcy85MC1wb3N0X3VwZ3JhZGVfcGx1Z2lu cy51cGRhdGUKLUBAIC0zNCw2ICszNCw3IEBAIHBsdWdpbjogdXBkYXRlX2Ruc2ZvcndhcmRfZW1w dHl6b25lcwotIHBsdWdpbjogdXBkYXRlX21hbmFnZWRfcG9zdAotIHBsdWdpbjogdXBkYXRlX21h bmFnZWRfcGVybWlzc2lvbnMKLSBwbHVnaW46IHVwZGF0ZV9yZWFkX3JlcGxpY2F0aW9uX2FncmVl bWVudHNfcGVybWlzc2lvbgotK3BsdWdpbjogdXBkYXRlX3N1YmlkX3N1cHBvcnQKLSBwbHVnaW46 IHVwZGF0ZV9pZHJhbmdlX2Jhc2VyaWQKLSBwbHVnaW46IHVwZGF0ZV9wYXNzeW5jX3ByaXZpbGVn ZV91cGRhdGUKLSBwbHVnaW46IHVwZGF0ZV9kbnNzZXJ2ZXJfY29uZmlndXJhdGlvbl9pbnRvX2xk YXAKLWRpZmYgLS1naXQgYS9pcGFsaWIvbWVzc2FnZXMucHkgYi9pcGFsaWIvbWVzc2FnZXMucHkK LWluZGV4IDczMmRlN2NiOS4uNmE3MGJiYzc1IDEwMDY0NAotLS0tIGEvaXBhbGliL21lc3NhZ2Vz LnB5Ci0rKysgYi9pcGFsaWIvbWVzc2FnZXMucHkKLUBAIC01MDYsNiArNTA2LDE5IEBAIGNsYXNz IE1pc3NpbmdUYXJnZXRBdHRyaWJ1dGVzaW5QZXJtaXNzaW9uKFB1YmxpY01lc3NhZ2UpOgotICAg ICAgICAgICAgICAgICJhcmUgc2V0LiIpCi0gCi0gCi0rY2xhc3MgU2VydmVyVXBncmFkZVJlcXVp cmVkKFB1YmxpY01lc3NhZ2UpOgotKyAgICAiIiIKLSsgICAgKioxMzAzMyoqIFNlcnZlciB1cGdy YWRlIHJlcXVpcmVkCi0rICAgICIiIgotKyAgICBlcnJubyA9IDEzMDMzCi0rICAgIHR5cGUgPSAi d2FybmluZyIKLSsgICAgZm9ybWF0ID0gXygKLSsgICAgICAgICJDaGFuZ2Ugb2YgdGhlIHN0YXRl IG9mICclKGZlYXR1cmUpcycgZmVhdHVyZSByZXF1aXJlcyB0byBydW4gIgotKyAgICAgICAgIidp cGEtc2VydmVyLXVwZ3JhZGUnIGNvbW1hbmQgb24gSVBBIHNlcnZlciAlKHNlcnZlcilzICIKLSsg ICAgICAgICJ0byBhcHBseSBjb25maWd1cmF0aW9uIGNoYW5nZXMuIgotKyAgICApCi0rCi0rCi0g ZGVmIGl0ZXJfbWVzc2FnZXModmFyaWFibGVzLCBiYXNlKToKLSAgICAgIiIiUmV0dXJuIGEgdHVw bGUgd2l0aCBhbGwgc3ViY2xhc3NlcwotICAgICAiIiIKLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9y bS9iYXNlL3BhdGhzLnB5IGIvaXBhcGxhdGZvcm0vYmFzZS9wYXRocy5weQotaW5kZXggZjc5NGFh ZTZkLi5hNWJjYTc4OWIgMTAwNjQ0Ci0tLS0gYS9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5Ci0r KysgYi9pcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5Ci1AQCAtMzAyLDYgKzMwMiw3IEBAIGNsYXNz IEJhc2VQYXRoTmFtZXNwYWNlOgotICAgICBOSVNfVVBEQVRFX1VMRElGID0gIi91c3Ivc2hhcmUv aXBhL25pcy11cGRhdGUudWxkaWYiCi0gICAgIFNDSEVNQV9DT01QQVRfVUxESUYgPSAiL3Vzci9z aGFyZS9pcGEvdXBkYXRlcy85MS1zY2hlbWFfY29tcGF0LnVwZGF0ZSIKLSAgICAgU0NIRU1BX0NP TVBBVF9QT1NUX1VMRElGID0gIi91c3Ivc2hhcmUvaXBhL3NjaGVtYV9jb21wYXRfcG9zdC51bGRp ZiIKLSsgICAgU1VCSURfR0VORVJBVE9SU19VTERJRiA9ICIvdXNyL3NoYXJlL2lwYS9zdWJpZC1n ZW5lcmF0b3JzLnVsZGlmIgotICAgICBJUEFfSlNfUExVR0lOU19ESVIgPSAiL3Vzci9zaGFyZS9p cGEvdWkvanMvcGx1Z2lucyIKLSAgICAgVVBEQVRFU19ESVIgPSAiL3Vzci9zaGFyZS9pcGEvdXBk YXRlcy8iCi0gICAgIERJQ1RfV09SRFMgPSAiL3Vzci9zaGFyZS9kaWN0L3dvcmRzIgotZGlmZiAt LWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9zdWJpZHMucHkgYi9pcGFzZXJ2ZXIvaW5zdGFs bC9pcGFfc3ViaWRzLnB5Ci1pbmRleCAxNTM3MDQ3YzMuLjhjNTQyZTRlYSAxMDA2NDQKLS0tLSBh L2lwYXNlcnZlci9pbnN0YWxsL2lwYV9zdWJpZHMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxs L2lwYV9zdWJpZHMucHkKLUBAIC0xMTYsNiArMTE2LDExIEBAIGNsYXNzIElQQVN1YmlkcyhBZG1p blRvb2wpOgotICAgICAgICAgYXBpLmZpbmFsaXplKCkKLSAgICAgICAgIGFwaS5CYWNrZW5kLmxk YXAyLmNvbm5lY3QoKQotICAgICAgICAgc2VsZi5sZGFwMiA9IGFwaS5CYWNrZW5kLmxkYXAyCi0r Ci0rICAgICAgICBpZiBhcGkuT2JqZWN0LmNvbmZpZy5pc19jb25maWdfb3B0aW9uX3ByZXNlbnQo J1N1YklEOkRpc2FibGUnKToKLSsgICAgICAgICAgICBwcmludCgiU3VwcG9ydCBmb3Igc3Vib3Jk aW5hdGUgSURzIGlzIGRpc2FibGVkLiIpCi0rICAgICAgICAgICAgcmV0dXJuIDIKLSsKLSAgICAg ICAgIHN1YmlkX2dlbmVyYXRlID0gYXBpLkNvbW1hbmQuc3ViaWRfZ2VuZXJhdGUKLSAKLSAgICAg ICAgIGRyeV9ydW4gPSBzZWxmLnNhZmVfb3B0aW9ucy5kcnlfcnVuCi1kaWZmIC0tZ2l0IGEvaXBh c2VydmVyL2luc3RhbGwvcGx1Z2lucy91cGRhdGVfc3ViaWRfc3VwcG9ydC5weSBiL2lwYXNlcnZl ci9pbnN0YWxsL3BsdWdpbnMvdXBkYXRlX3N1YmlkX3N1cHBvcnQucHkKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjU0ODUyZDIwMwotLS0tIC9kZXYvbnVsbAotKysrIGIv aXBhc2VydmVyL2luc3RhbGwvcGx1Z2lucy91cGRhdGVfc3ViaWRfc3VwcG9ydC5weQotQEAgLTAs MCArMSw0NSBAQAotKyMKLSsjIENvcHlyaWdodCAoQykgMjAyNSAgRnJlZUlQQSBDb250cmlidXRv cnMgc2VlIENPUFlJTkcgZm9yIGxpY2Vuc2UKLSsjCi0raW1wb3J0IGxvZ2dpbmcKLStmcm9tIGlw YWxpYiBpbXBvcnQgUmVnaXN0cnksIFVwZGF0ZXIsIGVycm9ycwotK2Zyb20gaXBhc2VydmVyLmlu c3RhbGwgaW1wb3J0IGxkYXB1cGRhdGUKLStmcm9tIGlwYXBsYXRmb3JtLnBhdGhzIGltcG9ydCBw YXRocwotK2Zyb20gaXBhcHl0aG9uLmRuIGltcG9ydCBETgotKwotK2xvZ2dlciA9IGxvZ2dpbmcu Z2V0TG9nZ2VyKF9fbmFtZV9fKQotKwotK3JlZ2lzdGVyID0gUmVnaXN0cnkoKQotKwotKwotK0By ZWdpc3RlcigpCi0rY2xhc3MgdXBkYXRlX3N1YmlkX3N1cHBvcnQoVXBkYXRlcik6Ci0rICAgICIi IgotKyAgICBDb25kaXRpb25hbGx5IGFkZCBTdWJJRCByYW5nZXMgd2hlbiBzdWJJRCBzdXBwb3J0 IGlzIGVuYWJsZWQKLSsgICAgIiIiCi0rCi0rICAgIGRuYV9wbHVnaW5fZG4gPSBETigKLSsgICAg ICAgICgnY24nLCAnRGlzdHJpYnV0ZWQgTnVtZXJpYyBBc3NpZ25tZW50IFBsdWdpbicpLAotKyAg ICAgICAgKCdjbicsICdwbHVnaW5zJyksCi0rICAgICAgICAoJ2NuJywgJ2NvbmZpZycpCi0rICAg ICkKLSsKLSsgICAgZGVmIGV4ZWN1dGUoc2VsZiwgKipvcHRpb25zKToKLSsgICAgICAgIHN1Ymlk X2Rpc2FibGVkID0gc2VsZi5hcGkuT2JqZWN0LmNvbmZpZy5pc19jb25maWdfb3B0aW9uX3ByZXNl bnQoCi0rICAgICAgICAgICAgJ1N1YklEOkRpc2FibGUnKQotKyAgICAgICAgaWYgbm90IHN1Ymlk X2Rpc2FibGVkOgotKyAgICAgICAgICAgIGxkID0gbGRhcHVwZGF0ZS5MREFQVXBkYXRlKGFwaT1z ZWxmLmFwaSkKLSsgICAgICAgICAgICBsZC51cGRhdGUoW3BhdGhzLlNVQklEX0dFTkVSQVRPUlNf VUxESUZdKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICAjIG1ha2Ugc3VyZSB0byByZW1v dmUgRE5BIGNvbmZpZ3VyYXRpb24KLSsgICAgICAgICAgICBjb25uID0gc2VsZi5hcGkuQmFja2Vu ZC5sZGFwMgotKyAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgc3ViaWRfZG5hX2Nv bmZpZyA9IEROKAotKyAgICAgICAgICAgICAgICAgICAgKCdjbicsICdTdWJvcmRpbmF0ZSBJRHMn KSwgc2VsZi5kbmFfcGx1Z2luX2RuCi0rICAgICAgICAgICAgICAgICkKLSsgICAgICAgICAgICAg ICAgZW50cnkgPSBjb25uLmdldF9lbnRyeShzdWJpZF9kbmFfY29uZmlnKQotKyAgICAgICAgICAg ICAgICBjb25uLmRlbGV0ZV9lbnRyeShlbnRyeSkKLSsgICAgICAgICAgICBleGNlcHQgZXJyb3Jz Lk5vdEZvdW5kOgotKyAgICAgICAgICAgICAgICBwYXNzCi0rCi0rICAgICAgICByZXR1cm4gRmFs c2UsIFtdCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdpbnMvY29uZmlnLnB5IGIvaXBhc2Vy dmVyL3BsdWdpbnMvY29uZmlnLnB5Ci1pbmRleCBhZGYyMWVhMGMuLmM1MDljMmMxMyAxMDA2NDQK LS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL2NvbmZpZy5weQotKysrIGIvaXBhc2VydmVyL3BsdWdp bnMvY29uZmlnLnB5Ci1AQCAtMzMsNyArMzMsNyBAQCBmcm9tIC5iYXNlbGRhcCBpbXBvcnQgKAot ICAgICBMREFQVXBkYXRlLAotICAgICBMREFQUmV0cmlldmUpCi0gZnJvbSAuc2VsaW51eHVzZXJt YXAgaW1wb3J0IHZhbGlkYXRlX3NlbGludXh1c2VyCi0tZnJvbSBpcGFsaWIgaW1wb3J0IF8KLStm cm9tIGlwYWxpYiBpbXBvcnQgXywgbWVzc2FnZXMKLSBmcm9tIGlwYXB5dGhvbi5hZG1pbnRvb2wg aW1wb3J0IFNjcmlwdEVycm9yCi0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0IEROCi0gZnJvbSBp cGFweXRob24uaXBhdmFsaWRhdGUgaW1wb3J0IEVtYWlsCi1AQCAtMjYxLDcgKzI2MSw3IEBAIGNs YXNzIGNvbmZpZyhMREFQT2JqZWN0KToKLSAgICAgICAgICAgICB2YWx1ZXM9KHUnQWxsb3dOVGhh c2gnLAotICAgICAgICAgICAgICAgICAgICAgdSdLREM6RGlzYWJsZSBMYXN0IFN1Y2Nlc3MnLCB1 J0tEQzpEaXNhYmxlIExvY2tvdXQnLAotICAgICAgICAgICAgICAgICAgICAgdSdLREM6RGlzYWJs ZSBEZWZhdWx0IFByZWF1dGggZm9yIFNQTnMnLAotLSAgICAgICAgICAgICAgICAgICAgdSdFbmZv cmNlTERBUE9UUCcpLAotKyAgICAgICAgICAgICAgICAgICAgdSdFbmZvcmNlTERBUE9UUCcsIHUn U3ViSUQ6RGlzYWJsZScpLAotICAgICAgICAgKSwKLSAgICAgICAgIFN0cignaXBhc2VsaW51eHVz ZXJtYXBvcmRlcicsCi0gICAgICAgICAgICAgbGFiZWw9XygnU0VMaW51eCB1c2VyIG1hcCBvcmRl cicpLAotQEAgLTUyMSw2ICs1MjEsMTIgQEAgY2xhc3MgY29uZmlnKExEQVBPYmplY3QpOgotICAg ICAgICAgZm9yIGRvbWFpbiBpbiBzdWJtaXR0ZWRfZG9tYWluczoKLSAgICAgICAgICAgICBzZWxm Ll92YWxpZGF0ZV9zaW5nbGVfZG9tYWluKGF0dHJfbmFtZSwgZG9tYWluLCBrbm93bl9kb21haW5z KQotIAotKyAgICBkZWYgaXNfY29uZmlnX29wdGlvbl9wcmVzZW50KHNlbGYsIG9wdGlvbik6Ci0r ICAgICAgICBkbiA9IEROKCgnY24nLCAnaXBhY29uZmlnJyksICgnY24nLCAnZXRjJyksIHNlbGYu YXBpLmVudi5iYXNlZG4pCi0rICAgICAgICBjb25maWdlbnRyeSA9IHNlbGYuYXBpLkJhY2tlbmQu bGRhcDIuZ2V0X2VudHJ5KGRuLCBbJ2lwYWNvbmZpZ3N0cmluZyddKQotKyAgICAgICAgY29uZmln c3RyaW5nID0gY29uZmlnZW50cnlbJ2lwYWNvbmZpZ3N0cmluZyddCi0rICAgICAgICByZXR1cm4g KG9wdGlvbi5sb3dlcigpIGluIG1hcChzdHIubG93ZXIsIGNvbmZpZ3N0cmluZykpCi0rCi0gCi0g QHJlZ2lzdGVyKCkKLSBjbGFzcyBjb25maWdfbW9kKExEQVBVcGRhdGUpOgotQEAgLTY5NSw2ICs3 MDEsMzAgQEAgY2xhc3MgY29uZmlnX21vZChMREFQVXBkYXRlKToKLSAgICAgICAgICAgICAgICAg cmFpc2UgZXJyb3JzLlZhbGlkYXRpb25FcnJvcihuYW1lPWZhaWxlZGF0dHIsCi0gICAgICAgICAg ICAgICAgICAgICBlcnJvcj1fKCdTRUxpbnV4IHVzZXIgbWFwIGRlZmF1bHQgdXNlciBub3QgaW4g b3JkZXIgbGlzdCcpKQotIAotKyAgICAgICAgaWYgJ2lwYWNvbmZpZ3N0cmluZycgaW4gZW50cnlf YXR0cnM6Ci0rICAgICAgICAgICAgY29uZmlnc3RyaW5nID0gZW50cnlfYXR0cnNbJ2lwYWNvbmZp Z3N0cmluZyddCi0rICAgICAgICAgICAgaWYgJ1N1YklEOkRpc2FibGUnLmxvd2VyKCkgaW4gbWFw KHN0ci5sb3dlciwgY29uZmlnc3RyaW5nKToKLSsgICAgICAgICAgICAgICAgIyBDaGVjayBpZiBT dWJJRHMgYWxyZWFkeSBhbGxvY2F0ZWQKLSsgICAgICAgICAgICAgICAgdHJ5OgotKyAgICAgICAg ICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5hcGkuQ29tbWFuZC5zdWJpZF9zdGF0cygpCi0rICAg ICAgICAgICAgICAgICAgICBzdGF0cyA9IHJlc3VsdFsncmVzdWx0J10KLSsgICAgICAgICAgICAg ICAgZXhjZXB0IGVycm9ycy5QdWJsaWNFcnJvcjoKLSsgICAgICAgICAgICAgICAgICAgIHN0YXRz ID0geydhc3NpZ25lZF9zdWJpZHMnOiAwfQotKyAgICAgICAgICAgICAgICBpZiBzdGF0c1siYXNz aWduZWRfc3ViaWRzIl0gPiAwOgotKyAgICAgICAgICAgICAgICAgICAgZXJyb3JfbWVzc2FnZSA9 IF8oIlN1Ym9yZGluYXRlIElEIGZlYXR1cmUgY2FuIG5vdCBiZSAiCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiZGlzYWJsZWQgd2hlbiB0aGVyZSBhcmUgc3ViSURzICIK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJhbHJlYWR5IGluIHVzZS4i KQotKyAgICAgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3JzLlZhbGlkYXRpb25FcnJvcihuYW1l PSdjb25maWd1cmF0aW9uIHN0YXRlJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZXJyb3I9ZXJyb3JfbWVzc2FnZSkKLSsgICAgICAgICAgICAgICAg IyBTdWJJRDpEaXNhYmxlIGVuZm9yY2VzIGRpc2FibGluZyBkZWZhdWx0IHN1YmlkIGdlbmVyYXRp b24KLSsgICAgICAgICAgICAgICAgZW50cnlfYXR0cnNbJ2lwYXVzZXJkZWZhdWx0c3Vib3JkaW5h dGVpZCddID0gRmFsc2UKLSsgICAgICAgICAgICAgICAgc2VsZi5hZGRfbWVzc2FnZSgKLSsgICAg ICAgICAgICAgICAgICAgIG1lc3NhZ2VzLlNlcnZlclVwZ3JhZGVSZXF1aXJlZCgKLSsgICAgICAg ICAgICAgICAgICAgICAgICBmZWF0dXJlPSdTdWJvcmRpbmF0ZSBJRCcsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgc2VydmVyPV8oJzxhbGwgSVBBIHNlcnZlcnM+JykKLSsgICAgICAgICAgICAg ICAgICAgICkKLSsgICAgICAgICAgICAgICAgKQotKwotICAgICAgICAgaWYgJ2NhX3JlbmV3YWxf bWFzdGVyX3NlcnZlcicgaW4gb3B0aW9uczoKLSAgICAgICAgICAgICBuZXdfbWFzdGVyID0gb3B0 aW9uc1snY2FfcmVuZXdhbF9tYXN0ZXJfc2VydmVyJ10KLSAKLWRpZmYgLS1naXQgYS9pcGFzZXJ2 ZXIvcGx1Z2lucy9zdWJpZC5weSBiL2lwYXNlcnZlci9wbHVnaW5zL3N1YmlkLnB5Ci1pbmRleCAx MzJjODVjN2YuLjJiZTJjZGVmZiAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL3N1Ymlk LnB5Ci0rKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9zdWJpZC5weQotQEAgLTI2NSw2ICsyNjUsMTIg QEAgY2xhc3Mgc3ViaWQoTERBUE9iamVjdCk6Ci0gCi0gICAgIGRlZiBoYW5kbGVfc3Vib3JkaW5h dGVfaWRzKHNlbGYsIGxkYXAsIGRuLCBlbnRyeV9hdHRycyk6Ci0gICAgICAgICAiIiJIYW5kbGUg aXBhU3Vib3JkaW5hdGVJZCBvYmplY3QgY2xhc3MiIiIKLSsKLSsgICAgICAgIGlmIHNlbGYuYXBp Lk9iamVjdC5jb25maWcuaXNfY29uZmlnX29wdGlvbl9wcmVzZW50KCdTdWJJRDpEaXNhYmxlJyk6 Ci0rICAgICAgICAgICAgcmFpc2UgZXJyb3JzLlZhbGlkYXRpb25FcnJvcigKLSsgICAgICAgICAg ICAgICAgbmFtZT0iY29uZmlndXJhdGlvbiBzdGF0ZSIsCi0rICAgICAgICAgICAgICAgIGVycm9y PV8oIlN1cHBvcnQgZm9yIHN1Ym9yZGluYXRlIElEcyBpcyBkaXNhYmxlZCIpKQotKwotICAgICAg ICAgbmV3X3N1YnVpZCA9IGVudHJ5X2F0dHJzLnNpbmdsZV92YWx1ZS5nZXQoImlwYXN1YnVpZG51 bWJlciIpCi0gICAgICAgICBuZXdfc3ViZ2lkID0gZW50cnlfYXR0cnMuc2luZ2xlX3ZhbHVlLmdl dCgiaXBhc3ViZ2lkbnVtYmVyIikKLSAKLUBAIC01NzcsNiArNTgzLDExIEBAIGNsYXNzIHN1Ymlk X3N0YXRzKExEQVBRdWVyeSk6Ci0gICAgICAgICByZXR1cm4gaW50KGVudHJ5LnNpbmdsZV92YWx1 ZVsibnVtU3Vib3JkaW5hdGVzIl0pCi0gCi0gICAgIGRlZiBleGVjdXRlKHNlbGYsICprZXlzLCAq Km9wdGlvbnMpOgotKyAgICAgICAgaWYgc2VsZi5hcGkuT2JqZWN0LmNvbmZpZy5pc19jb25maWdf b3B0aW9uX3ByZXNlbnQoJ1N1YklEOkRpc2FibGUnKToKLSsgICAgICAgICAgICByYWlzZSBlcnJv cnMuVmFsaWRhdGlvbkVycm9yKAotKyAgICAgICAgICAgICAgICBuYW1lPSJjb25maWd1cmF0aW9u IHN0YXRlIiwKLSsgICAgICAgICAgICAgICAgZXJyb3I9XygiU3VwcG9ydCBmb3Igc3Vib3JkaW5h dGUgSURzIGlzIGRpc2FibGVkIikpCi0rCi0gICAgICAgICBsZGFwID0gc2VsZi5vYmouYmFja2Vu ZAotICAgICAgICAgZG5hX3JlbWFpbmluZyA9IHNlbGYuZ2V0X3JlbWFpbmluZ19kbmEobGRhcCwg KipvcHRpb25zKQotICAgICAgICAgYmFzZWlkLCByYW5nZXNpemUgPSBzZWxmLmdldF9pZHJhbmdl KGxkYXAsICoqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy91c2VyLnB5 IGIvaXBhc2VydmVyL3BsdWdpbnMvdXNlci5weQotaW5kZXggYTNlOWMyOTAzLi44NzVmMmI0YmEg MTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy91c2VyLnB5Ci0rKysgYi9pcGFzZXJ2ZXIv cGx1Z2lucy91c2VyLnB5Ci1AQCAtNzE4LDcgKzcxOCw5IEBAIGNsYXNzIHVzZXJfYWRkKGJhc2V1 c2VyX2FkZCk6Ci0gICAgICAgICBkZWZhdWx0X3N1YmlkID0gY29uZmlnLnNpbmdsZV92YWx1ZS5n ZXQoCi0gICAgICAgICAgICAgJ2lwYVVzZXJEZWZhdWx0U3Vib3JkaW5hdGVJZCcsIEZhbHNlCi0g ICAgICAgICApCi0tICAgICAgICBpZiBkZWZhdWx0X3N1YmlkOgotKyAgICAgICAgc3ViaWRfZGlz YWJsZWQgPSBzZWxmLmFwaS5PYmplY3QuY29uZmlnLmlzX2NvbmZpZ19vcHRpb25fcHJlc2VudCgK LSsgICAgICAgICAgICAnU3ViSUQ6RGlzYWJsZScpCi0rICAgICAgICBpZiBkZWZhdWx0X3N1Ymlk IGFuZCBub3Qgc3ViaWRfZGlzYWJsZWQ6Ci0gICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5hcGku Q29tbWFuZC5zdWJpZF9nZW5lcmF0ZSgKLSAgICAgICAgICAgICAgICAgaXBhb3duZXI9ZW50cnlf YXR0cnMuc2luZ2xlX3ZhbHVlWyd1aWQnXSwKLSAgICAgICAgICAgICAgICAgdmVyc2lvbj1vcHRp b25zWyd2ZXJzaW9uJ10KLS0tIAotMi40OS4wCi0KLQotRnJvbSBiOGI5MWRmZTcxZDdkMDQ5ZjVl NTVhODE5NWNiMzdmODc4MzdiYmNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDEyIE1hciAy MDI1IDIxOjUyOjU2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMTA4LzExNl0gdXBkYXRlX2RuYV9z aGFyZWRfY29uZmlnOiBkbyBub3QgZmFpbCB3aGVuIGNvbmZpZyBpcwotIG5vdCBmb3VuZAotCi1U aGUgaGVscGVyIGZ1bmN0aW9uIHdhcyBzdXBwb3NlZCB0byByZXR1cm4gYSBETiBvciBOb25lLgot Ci1SZWxhdGVkOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NTcKLQotU2lnbmVk LW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9p bnN0YWxsL3BsdWdpbnMvdXBkYXRlX2RuYV9zaGFyZWRfY29uZmlnLnB5IHwgMiArLQotIDEgZmls ZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEv aXBhc2VydmVyL2luc3RhbGwvcGx1Z2lucy91cGRhdGVfZG5hX3NoYXJlZF9jb25maWcucHkgYi9p cGFzZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL3VwZGF0ZV9kbmFfc2hhcmVkX2NvbmZpZy5weQotaW5k ZXggOTU1YmVlNWRkLi40MmVlODZkOGIgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9w bHVnaW5zL3VwZGF0ZV9kbmFfc2hhcmVkX2NvbmZpZy5weQotKysrIGIvaXBhc2VydmVyL2luc3Rh bGwvcGx1Z2lucy91cGRhdGVfZG5hX3NoYXJlZF9jb25maWcucHkKLUBAIC00OSw3ICs0OSw3IEBA IGNsYXNzIHVwZGF0ZV9kbmFfc2hhcmVkX2NvbmZpZyhVcGRhdGVyKToKLSAgICAgICAgIGV4Y2Vw dCBlcnJvcnMuTm90Rm91bmQ6Ci0gICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJDb3VsZCBub3Qg ZmluZCBETkEgY29uZmlnIGVudHJ5OiAlcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGRu YV9jb25maWdfYmFzZSkKLS0gICAgICAgICAgICByZXR1cm4gRmFsc2UsICgpCi0rICAgICAgICAg ICAgcmV0dXJuIE5vbmUKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgbG9nZ2VyLmRlYnVn KCdGb3VuZCBETkEgY29uZmlnICVzJywgZG5hX2NvbmZpZ19iYXNlKQotIAotLS0gCi0yLjQ5LjAK LQotCi1Gcm9tIDY1Y2IzNThjMDE1NjhlOWExMTg5OWRiZmUyMWVhZWI5MTZhZjNjZGYgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVk aGF0LmNvbT4KLURhdGU6IEZyaSwgMjggRmViIDIwMjUgMTU6MzQ6MTIgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSCAxMDkvMTE2XSBiYXNldXNlcjogYWxsb3cgdWlkTnVtYmVyIGFuZCBnaWROdW1iZXIg b2YgMzItYml0Ci0gcmFuZ2UKLQotSlNPTiBmb3JtYXQgYWxsb3dzIHRvIGVuY29kZSBpbnRlZ2Vy cyB1cCB0byAyXjUzLTEuIExpbnV4IHN5c3RlbXMgYWxsb3cKLWZvciAzMi1iaXQgSURzLiBQZXJt aXQgc2V0dGluZyBmdWxsIDMyLWJpdCB1aWROdW1iZXIgYW5kIGdpZE51bWJlcgotdGhyb3VnaCBJ UEEgQVBJLiBBZG1pbmlzdHJhdG9ycyBhbHJlYWR5IGNhbiBzZXQgMzItYml0IElEcyB2aWEgTERB UC4KLQotSUQgUmFuZ2UgYWxzbyBuZWVkcyB0byBwZXJtaXQgbGFyZ2VyIHNpemVzIG9mIFJJRCBi YXNlcy4gU0lER0VOIHBsdWdpbgotYWxyZWFkeSB0cmVhdHMgUklEIGJhc2VzIGFzIDEuLk1BWF9V SU5UMzIuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NTcKLQot U2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1S ZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNl cnZlci9wbHVnaW5zL2Jhc2V1c2VyLnB5IHwgNCArKystCi0gaXBhc2VydmVyL3BsdWdpbnMvaWRy YW5nZS5weSAgfCA0ICsrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdpbnMvYmFzZXVzZXIucHkg Yi9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNldXNlci5weQotaW5kZXggYjY2MDE2MzA1Li4yMjM5M2I4 ZjYgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNldXNlci5weQotKysrIGIvaXBh c2VydmVyL3BsdWdpbnMvYmFzZXVzZXIucHkKLUBAIC0yNiw3ICsyNiw3IEBAIGltcG9ydCBzaXgK LSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpLCBlcnJvcnMsIGNvbnN0YW50cwotIGZyb20gaXBhbGli IGltcG9ydCAoCi0gICAgIEZsYWcsIEludCwgUGFzc3dvcmQsIFN0ciwgQm9vbCwgU3RyRW51bSwg RGF0ZVRpbWUsIEROUGFyYW0pCi0tZnJvbSBpcGFsaWIucGFyYW1ldGVycyBpbXBvcnQgUHJpbmNp cGFsLCBDZXJ0aWZpY2F0ZQotK2Zyb20gaXBhbGliLnBhcmFtZXRlcnMgaW1wb3J0IFByaW5jaXBh bCwgQ2VydGlmaWNhdGUsIE1BWF9VSU5UMzIKLSBmcm9tIGlwYWxpYi5wbHVnYWJsZSBpbXBvcnQg UmVnaXN0cnkKLSBmcm9tIC5iYXNlbGRhcCBpbXBvcnQgKAotICAgICBETiwgTERBUE9iamVjdCwg TERBUENyZWF0ZSwgTERBUFVwZGF0ZSwgTERBUFNlYXJjaCwgTERBUERlbGV0ZSwKLUBAIC0zNDgs MTEgKzM0OCwxMyBAQCBjbGFzcyBiYXNldXNlcihMREFQT2JqZWN0KToKLSAgICAgICAgICAgICBs YWJlbD1fKCdVSUQnKSwKLSAgICAgICAgICAgICBkb2M9XygnVXNlciBJRCBOdW1iZXIgKHN5c3Rl bSB3aWxsIGFzc2lnbiBvbmUgaWYgbm90IHByb3ZpZGVkKScpLAotICAgICAgICAgICAgIG1pbnZh bHVlPTEsCi0rICAgICAgICAgICAgbWF4dmFsdWU9TUFYX1VJTlQzMiwKLSAgICAgICAgICksCi0g ICAgICAgICBJbnQoJ2dpZG51bWJlcj8nLAotICAgICAgICAgICAgIGxhYmVsPV8oJ0dJRCcpLAot ICAgICAgICAgICAgIGRvYz1fKCdHcm91cCBJRCBOdW1iZXInKSwKLSAgICAgICAgICAgICBtaW52 YWx1ZT0xLAotKyAgICAgICAgICAgIG1heHZhbHVlPU1BWF9VSU5UMzIsCi0gICAgICAgICApLAot ICAgICAgICAgU3RyKCdzdHJlZXQ/JywKLSAgICAgICAgICAgICBjbGlfbmFtZT0nc3RyZWV0JywK LWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy9pZHJhbmdlLnB5IGIvaXBhc2VydmVyL3Bs dWdpbnMvaWRyYW5nZS5weQotaW5kZXggZWMwNjFhNDU1Li4yNmEzYmI2NjYgMTAwNjQ0Ci0tLS0g YS9pcGFzZXJ2ZXIvcGx1Z2lucy9pZHJhbmdlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9p ZHJhbmdlLnB5Ci1AQCAtMjM1LDEwICsyMzUsMTQgQEAgY2xhc3MgaWRyYW5nZShMREFQT2JqZWN0 KToKLSAgICAgICAgIEludCgnaXBhYmFzZXJpZD8nLAotICAgICAgICAgICAgIGNsaV9uYW1lPSdy aWRfYmFzZScsCi0gICAgICAgICAgICAgbGFiZWw9XygnRmlyc3QgUklEIG9mIHRoZSBjb3JyZXNw b25kaW5nIFJJRCByYW5nZScpLAotKyAgICAgICAgICAgIG1pbnZhbHVlPTEsCi0rICAgICAgICAg ICAgbWF4dmFsdWU9SW50Lk1BWF9VSU5UMzIKLSAgICAgICAgICksCi0gICAgICAgICBJbnQoJ2lw YXNlY29uZGFyeWJhc2VyaWQ/JywKLSAgICAgICAgICAgICBjbGlfbmFtZT0nc2Vjb25kYXJ5X3Jp ZF9iYXNlJywKLSAgICAgICAgICAgICBsYWJlbD1fKCdGaXJzdCBSSUQgb2YgdGhlIHNlY29uZGFy eSBSSUQgcmFuZ2UnKSwKLSsgICAgICAgICAgICBtaW52YWx1ZT0xLAotKyAgICAgICAgICAgIG1h eHZhbHVlPUludC5NQVhfVUlOVDMyCi0gICAgICAgICApLAotICAgICAgICAgU3RyKCdpcGFudHRy dXN0ZWRkb21haW5zaWQ/JywKLSAgICAgICAgICAgICBjbGlfbmFtZT0nZG9tX3NpZCcsCi0tLSAK LTIuNDkuMAotCi0KLUZyb20gMDE1ZDI2YmFiNDI5NmRjMThlOTdkZDEwMDU0YTNmNjY4MjgyZWY4 OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9r b3ZveUByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA1IE1hciAyMDI1IDEyOjQ5OjI3ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMTEwLzExNl0gaXBhdGVzdHM6IGFkZCBhIHRlc3QgdG8gdXNlIGZ1bGwg MzItYml0IElEIHJhbmdlCi0gc3BhY2UKLQotVGhlIHRlc3QgcmVjb25maWd1cmVzIElQQSBkZXBs b3ltZW50IHRvIGRpc2FibGUgc3Vib3JkaW5hdGUgSURzIHN1cHBvcnQKLWFuZCB0aGVuIGNvbmZp Z3VyZXMgYW4gYWRkaXRpb25hbCBJRCByYW5nZSB0byBjb3ZlciB1cHBlciBoYWxmIG9mIHRoZQot Ml4zMiBJRCBzcGFjZS4gSXQgdGhlbiBtYWtlcyBzdXJlIHRoYXQgYSB1c2VyIHdpdGggYW4gVUlE L0dJRCBmcm9tIHRoYXQKLUlEIHJhbmdlIGNhbiBiZSBjcmVhdGVkIGFuZCB1c2VkLgotCi1GaXhl czogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzU3Ci0KLVNpZ25lZC1vZmYtYnk6 IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJv YiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNl IEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSAuLi4vdGVzdF9pbnRlZ3JhdGlv bi90ZXN0XzMyYml0X2lkcmFuZ2VzLnB5ICAgfCAxMDQgKysrKysrKysrKysrKysrKysrCi0gMSBm aWxlIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGlwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF8zMmJpdF9pZHJhbmdlcy5weQotCi1kaWZmIC0tZ2l0 IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0XzMyYml0X2lkcmFuZ2VzLnB5IGIvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0XzMyYml0X2lkcmFuZ2VzLnB5Ci1uZXcgZmlsZSBt b2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5lNzZlMTE3ZTUKLS0tLSAvZGV2L251bGwKLSsr KyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF8zMmJpdF9pZHJhbmdlcy5weQotQEAg LTAsMCArMSwxMDQgQEAKLSsjCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjUgIEZyZWVJUEEgQ29udHJp YnV0b3JzIHNlZSBDT1BZSU5HIGZvciBsaWNlbnNlCi0rIwotKwotK2Zyb20gX19mdXR1cmVfXyBp bXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0rCi0rZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmludGVn cmF0aW9uIGltcG9ydCB0YXNrcwotK2Zyb20gaXBhdGVzdHMudGVzdF9pbnRlZ3JhdGlvbi5iYXNl IGltcG9ydCBJbnRlZ3JhdGlvblRlc3QKLSsKLSsKLStjbGFzcyBUZXN0MzJCaXRJZFJhbmdlcyhJ bnRlZ3JhdGlvblRlc3QpOgotKyAgICB0b3BvbG9neSA9ICJsaW5lIgotKwotKyAgICBkZWYgdGVz dF9yZW1vdmVfc3ViaWRfcmFuZ2Uoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRlc3Qg dGhhdCBhbGxvY2F0aW5nIHN1YmlkIHdpbGwgZmFpbCBhZnRlciBkaXNhYmxpbmcgZ2xvYmFsIG9w dGlvbgotKyAgICAgICAgIiIiCi0rICAgICAgICBtYXN0ZXIgPSBzZWxmLm1hc3RlcgotKyAgICAg ICAgdGFza3Mua2luaXRfYWRtaW4obWFzdGVyKQotKwotKyAgICAgICAgaWRyYW5nZSA9IGYie21h c3Rlci5kb21haW4ucmVhbG19X3N1YmlkX3JhbmdlIgotKyAgICAgICAgbWFzdGVyLnJ1bl9jb21t YW5kKAotKyAgICAgICAgICAgIFsiaXBhIiwgImNvbmZpZy1tb2QiLCAiLS1hZGRhdHRyIiwgImlw YWNvbmZpZ3N0cmluZz1TdWJJRDpEaXNhYmxlIl0KLSsgICAgICAgICkKLSsgICAgICAgIG1hc3Rl ci5ydW5fY29tbWFuZChbImlwYSIsICJpZHJhbmdlLWRlbCIsIGlkcmFuZ2VdKQotKwotKyAgICAg ICAgdGFza3MudXNlcl9hZGQobWFzdGVyLCAnc3ViaWR1c2VyJykKLSsgICAgICAgIHJlc3VsdCA9 IG1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbImlwYSIsICJzdWJpZC1nZW5lcmF0 ZSIsICItLW93bmVyIiwgInN1YmlkdXNlciJdLCByYWlzZW9uZXJyPUZhbHNlCi0rICAgICAgICAp Ci0rICAgICAgICBhc3NlcnQgcmVzdWx0LnJldHVybmNvZGUgPiAwCi0rICAgICAgICBhc3NlcnQg IlN1cHBvcnQgZm9yIHN1Ym9yZGluYXRlIElEcyBpcyBkaXNhYmxlZCIgaW4gcmVzdWx0LnN0ZGVy cl90ZXh0Ci0rICAgICAgICB0YXNrcy51c2VyX2RlbChtYXN0ZXIsICdzdWJpZHVzZXInKQotKwot KyAgICBkZWYgdGVzdF9pbnZva2VfdXBncmFkZXIoc2VsZik6Ci0rICAgICAgICAiIiJUZXN0IHRo YXQgaXBhLXNlcnZlci11cGdyYWRlIGRvZXMgbm90IGFkZCBzdWJpZCByYW5nZXMgYmFjayIiIgot KwotKyAgICAgICAgbWFzdGVyID0gc2VsZi5tYXN0ZXIKLSsgICAgICAgIG1hc3Rlci5ydW5fY29t bWFuZChbJ2lwYS1zZXJ2ZXItdXBncmFkZSddLCByYWlzZW9uZXJyPVRydWUpCi0rICAgICAgICBp ZHJhbmdlID0gZiJ7bWFzdGVyLmRvbWFpbi5yZWFsbX1fc3ViaWRfcmFuZ2UiCi0rICAgICAgICBy ZXN1bHQgPSBtYXN0ZXIucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWyJpcGEiLCAiaWRyYW5n ZS1zaG93IiwgaWRyYW5nZV0sIHJhaXNlb25lcnI9RmFsc2UKLSsgICAgICAgICkKLSsgICAgICAg IGFzc2VydCByZXN1bHQucmV0dXJuY29kZSA+IDAKLSsgICAgICAgIGFzc2VydCBmIntpZHJhbmdl fTogcmFuZ2Ugbm90IGZvdW5kIiBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsKLSsgICAgICAgIHJl c3VsdCA9IHRhc2tzLmxkYXBzZWFyY2hfZG0oCi0rICAgICAgICAgICAgbWFzdGVyLAotKyAgICAg ICAgICAgICdjbj1TdWJvcmRpbmF0ZSBJRHMsY249RGlzdHJpYnV0ZWQgTnVtZXJpYyBBc3NpZ25t ZW50IFBsdWdpbiwnCi0rICAgICAgICAgICAgJ2NuPXBsdWdpbnMsY249Y29uZmlnJywKLSsgICAg ICAgICAgICBbJ2RuYVR5cGUnXSwKLSsgICAgICAgICAgICBzY29wZT0nYmFzZScsCi0rICAgICAg ICAgICAgcmFpc2VvbmVycj1GYWxzZQotKyAgICAgICAgKQotKyAgICAgICAgYXNzZXJ0IHJlc3Vs dC5yZXR1cm5jb2RlID09IDMyCi0rICAgICAgICBvdXRwdXQgPSByZXN1bHQuc3Rkb3V0X3RleHQu bG93ZXIoKQotKyAgICAgICAgYXNzZXJ0ICJkbmF0eXBlOiAiIG5vdCBpbiBvdXRwdXQKLSsKLSsg ICAgZGVmIHRlc3RfY3JlYXRlX3VzZXJfd2l0aF8zMmJpdF9pZChzZWxmKToKLSsgICAgICAgICIi IlRlc3QgdGhhdCBJRCByYW5nZSBhYm92ZSAyXjMxIGNhbiBiZSB1c2VkIHRvIGFzc2lnbiBJRHMK LSsgICAgICAgICAgIHRvIHVzZXJzIGFuZCBncm91cHMuIEFsc28gY2hlY2sgdGhhdCBTSURzIGdl bmVyYXRlZCBwcm9wZXJseS4KLSsgICAgICAgICIiIgotKwotKyAgICAgICAgbWFzdGVyID0gc2Vs Zi5tYXN0ZXIKLSsgICAgICAgIGlkcmFuZ2UgPSBmInttYXN0ZXIuZG9tYWluLnJlYWxtfV91cHBl cl8zMmJpdF9yYW5nZSIKLSsgICAgICAgIGlkX2Jhc2UgPSAxIDw8IDMxCi0rICAgICAgICBpZF9s ZW5ndGggPSAoMSA8PCAzMSkgLSAyCi0rICAgICAgICB1aWQgPSBpZF9iYXNlICsgMQotKyAgICAg ICAgZ2lkID0gaWRfYmFzZSArIDEKLSsgICAgICAgIG1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAg ICAgICAgICBbCi0rICAgICAgICAgICAgICAgICJpcGEiLAotKyAgICAgICAgICAgICAgICAiaWRy YW5nZS1hZGQiLAotKyAgICAgICAgICAgICAgICBpZHJhbmdlLAotKyAgICAgICAgICAgICAgICAi LS1iYXNlLWlkIiwgc3RyKGlkX2Jhc2UpLAotKyAgICAgICAgICAgICAgICAiLS1yYW5nZS1zaXpl Iiwgc3RyKGlkX2xlbmd0aCksCi0rICAgICAgICAgICAgICAgICItLXJpZC1iYXNlIiwgc3RyKGlu dChpZF9iYXNlID4+IDMpKSwKLSsgICAgICAgICAgICAgICAgIi0tc2Vjb25kYXJ5LXJpZC1iYXNl Iiwgc3RyKGludChpZF9iYXNlID4+IDMpICsgaWRfbGVuZ3RoKSwKLSsgICAgICAgICAgICAgICAg Ii0tdHlwZT1pcGEtbG9jYWwiCi0rICAgICAgICAgICAgXQotKyAgICAgICAgKQotKwotKyAgICAg ICAgIyBXZSBhZGRlZCBuZXcgSUQgcmFuZ2UsIFNJREdFTiB3aWxsIG9ubHkgdGFrZSBpdCBhZnRl cgotKyAgICAgICAgIyByZXN0YXJ0aW5nIGEgZGlyZWN0b3J5IHNlcnZlciBpbnN0YW5jZS4KLSsg ICAgICAgIHRhc2tzLnJlc3RhcnRfaXBhX3NlcnZlcihtYXN0ZXIpCi0rCi0rICAgICAgICAjIENs ZWFyIFNTU0QgY2FjaGUgdG8gcGljayB1cCBuZXcgSUQgcmFuZ2UKLSsgICAgICAgIHRhc2tzLmNs ZWFyX3Nzc2RfY2FjaGUobWFzdGVyKQotKwotKyAgICAgICAgdGFza3MudXNlcl9hZGQobWFzdGVy LCAidXNlciIsIGV4dHJhX2FyZ3M9WwotKyAgICAgICAgICAgICItLXVpZCIsIHN0cih1aWQpLCAi LS1naWQiLCBzdHIoZ2lkKQotKyAgICAgICAgXSkKLSsKLSsgICAgICAgIHJlc3VsdCA9IG1hc3Rl ci5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbImlwYSIsICJ1c2VyLXNob3ciLCAidXNlciIs ICItLWFsbCIsICItLXJhdyJdLCByYWlzZW9uZXJyPUZhbHNlCi0rICAgICAgICApCi0rICAgICAg ICBhc3NlcnQgcmVzdWx0LnJldHVybmNvZGUgPT0gMAotKyAgICAgICAgYXNzZXJ0ICJpcGFOVFNl Y3VyaXR5SWRlbnRpZmllcjoiIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotKwotKyAgICAgICAgcmVz dWx0ID0gbWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsiaWQiLCAidXNlciJdLCBy YWlzZW9uZXJyPUZhbHNlCi0rICAgICAgICApCi0rICAgICAgICBhc3NlcnQgcmVzdWx0LnJldHVy bmNvZGUgPT0gMAotKyAgICAgICAgYXNzZXJ0IHN0cih1aWQpIGluIHJlc3VsdC5zdGRvdXRfdGV4 dAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDAxZjIzMjE2YWI1YjM4MzcxMGRhZDA4NmEwMWJiNzNi MmRhMzgzZDEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1S ZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxNyBNYXIgMjAyNSAxNjoyMToyMyAr MDEwMAotU3ViamVjdDogW1BBVENIIDExMS8xMTZdIGlkcmFuZ2U6IHVzZSBtaW52YWx1ZT0wIGZv ciBiYXNlcmlkIGFuZAotIHNlY29uZGFyeWJhc2VyaWQKLQotV2l0aCB0aGUgc3VwcG9ydCBvZiAz MiBiaXQgaWRyYW5nZSwgdGhlIG1pbnZhbHVlIHdhcyBzZXQgdG8gMQotYnV0IHRoaXMgaW50cm9k dWNlcyBhIHJlZ3Jlc3Npb24gaW4gdGhlIGNvbW1hbmQgaXBhIHRydXN0LWFkZAotYXMgdGhlIHJh bmdlIGZvciBBRCB0cnVzdCBpcyBhZGRlZCB3aXRoIGJhc2VyaWQ9MAotCi1Mb3dlciB0aGUgbWlu dmFsdWUgdG8gMAotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzY1 Ci1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot UmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0t Ci0gaXBhc2VydmVyL3BsdWdpbnMvaWRyYW5nZS5weSB8IDQgKystLQotIDEgZmlsZSBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2 ZXIvcGx1Z2lucy9pZHJhbmdlLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvaWRyYW5nZS5weQotaW5k ZXggMjZhM2JiNjY2Li5kMTU1ZmI0NmQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9p ZHJhbmdlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9pZHJhbmdlLnB5Ci1AQCAtMjM1LDEz ICsyMzUsMTMgQEAgY2xhc3MgaWRyYW5nZShMREFQT2JqZWN0KToKLSAgICAgICAgIEludCgnaXBh YmFzZXJpZD8nLAotICAgICAgICAgICAgIGNsaV9uYW1lPSdyaWRfYmFzZScsCi0gICAgICAgICAg ICAgbGFiZWw9XygnRmlyc3QgUklEIG9mIHRoZSBjb3JyZXNwb25kaW5nIFJJRCByYW5nZScpLAot LSAgICAgICAgICAgIG1pbnZhbHVlPTEsCi0rICAgICAgICAgICAgbWludmFsdWU9MCwKLSAgICAg ICAgICAgICBtYXh2YWx1ZT1JbnQuTUFYX1VJTlQzMgotICAgICAgICAgKSwKLSAgICAgICAgIElu dCgnaXBhc2Vjb25kYXJ5YmFzZXJpZD8nLAotICAgICAgICAgICAgIGNsaV9uYW1lPSdzZWNvbmRh cnlfcmlkX2Jhc2UnLAotICAgICAgICAgICAgIGxhYmVsPV8oJ0ZpcnN0IFJJRCBvZiB0aGUgc2Vj b25kYXJ5IFJJRCByYW5nZScpLAotLSAgICAgICAgICAgIG1pbnZhbHVlPTEsCi0rICAgICAgICAg ICAgbWludmFsdWU9MCwKLSAgICAgICAgICAgICBtYXh2YWx1ZT1JbnQuTUFYX1VJTlQzMgotICAg ICAgICAgKSwKLSAgICAgICAgIFN0cignaXBhbnR0cnVzdGVkZG9tYWluc2lkPycsCi0tLSAKLTIu NDkuMAotCi0KLUZyb20gZDRmNGM3YzFiMWVkMTEzYjMzMjk4ZWFlNWM0Y2NhOTg4NDM4MzMzNSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8Zmxv QHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDE3IE1hciAyMDI1IDE2OjQyOjA4ICswMTAwCi1TdWJq ZWN0OiBbUEFUQ0ggMTEyLzExNl0gZ2F0aW5nIHRlc3RzOiBhZGQKLSB0ZXN0X2lwYWhlYWx0aGNo ZWNrLnB5OjpUZXN0SXBhSGVhbHRoQ2hlY2tXaXRoQUR0cnVzdAotCi1UaGlzIHdheSB3ZSBoYXZl IGF0IGxlYXN0IG9uZSBnYXRpbmcgdGVzdCB0aGF0IGNhbGxzCi1pcGEgdHJ1c3QtYWRkLgotCi1S ZWxhdGVkOiB0ZXN0X2lwYWhlYWx0aGNoZWNrLnB5OjpUZXN0SXBhSGVhbHRoQ2hlY2tXaXRoQUR0 cnVzdAotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4K LS0tLQotIGlwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwgfCAxNiArKysrKysr KysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdp dCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwgYi9pcGF0ZXN0cy9wcmNp X2RlZmluaXRpb25zL2dhdGluZy55YW1sCi1pbmRleCBmMTdhZjc5NmMuLmNiY2JiMDk0ZCAxMDA2 NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwKLSsrKyBiL2lw YXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwKLUBAIC0xOSw2ICsxOSwxMCBAQCB0 b3BvbG9naWVzOgotICAgICBuYW1lOiBhZF9tYXN0ZXJfMmNsaWVudAotICAgICBjcHU6IDQKLSAg ICAgbWVtb3J5OiAxMDU5NgotKyAgYWRyb290X2FkY2hpbGRfYWR0cmVlX21hc3Rlcl8xY2xpZW50 OiAmYWRyb290X2FkY2hpbGRfYWR0cmVlX21hc3Rlcl8xY2xpZW50Ci0rICAgIG5hbWU6IGFkcm9v dF9hZGNoaWxkX2FkdHJlZV9tYXN0ZXJfMWNsaWVudAotKyAgICBjcHU6IDgKLSsgICAgbWVtb3J5 OiAxNDQ2NgotICAgaXBhc2VydmVyOiAmaXBhc2VydmVyCi0gICAgIG5hbWU6IGlwYXNlcnZlcgot ICAgICBjcHU6IDIKLUBAIC0zNTAsMyArMzU0LDE1IEBAIGpvYnM6Ci0gICAgICAgICB0ZW1wbGF0 ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAgICAgdGltZW91dDogMzYwMAotICAgICAgICAg dG9wb2xvZ3k6ICptYXN0ZXJfMnJlcGxfMWNsaWVudAotKwotKyAgZmVkb3JhLWxhdGVzdC1pcGEt NC0xMi90ZXN0X2lwYWhlYWx0aGNoZWNrX2FkdHJ1c3Q6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3Jh LWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsg ICAgICBjbGFzczogUnVuQURUZXN0cwotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6 ICd7ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgdGVzdF9zdWl0 ZTogdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5OjpUZXN0SXBhSGVhbHRo Q2hlY2tXaXRoQUR0cnVzdAotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QK LSsgICAgICAgIHRpbWVvdXQ6IDQ4MDAKLSsgICAgICAgIHRvcG9sb2d5OiAqYWRyb290X2FkY2hp bGRfYWR0cmVlX21hc3Rlcl8xY2xpZW50Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gMmYzODkxNTA3 ODFmODIyZjNlYWIxM2E2N2M2ZDVkMTFkOGIzNjkyNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQs IDE5IE1hciAyMDI1IDE0OjI3OjE1ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTEzLzExNl0gaXBh dGVzdHM6IHVzZSBuZXdlciBmZWRvcmEgNDEgYm94Ci0KLVJlZ2VuZXJhdGVkIE1hcmNoIDE5IHdp dGggbGF0ZXN0IHBrZ3MKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxm bG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVk aGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwgICAg ICAgICAgICAgICAgICAgICAgICAgfCAyICstCi0gaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9u aWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sICAgICAgICB8IDIgKy0KLSAuLi4vcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwgICAgIHwgMiArLQot IGlwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFtbCAgICAgICAgICAgICAg ICAgICAgfCA0ICsrLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5n LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL2dhdGluZy55YW1sCi1pbmRleCBjYmNi YjA5NGQuLjk0OTEwYmM4YyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMv Z2F0aW5nLnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwK LUBAIC0zOSw3ICszOSw3IEBAIGpvYnM6Ci0gICAgICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVm c3BlY30nCi0gICAgICAgICB0ZW1wbGF0ZTogJmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAgICAg ICBuYW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0MQotLSAgICAgICAgICB2ZXJzaW9uOiAwLjAu MQotKyAgICAgICAgICB2ZXJzaW9uOiAwLjAuMgotICAgICAgICAgdGltZW91dDogMTgwMAotICAg ICAgICAgdG9wb2xvZ3k6ICpidWlsZAotIAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVm aW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVm aW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotaW5kZXggNjIyOWEzNzM5Li5i NTRkZTU0MDYgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlf aXBhLTQtMTJfbGF0ZXN0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmln aHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotQEAgLTU1LDcgKzU1LDcgQEAgam9iczoKLSAgICAg ICAgIGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScKLSAgICAgICAgIHRlbXBsYXRlOiAmY2kt aXBhLTQtMTItbGF0ZXN0Ci0gICAgICAgICAgIG5hbWU6IGZyZWVpcGEvY2ktaXBhLTQtMTItZjQx Ci0tICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0rICAgICAgICAgIHZlcnNpb246IDAuMC4yCi0g ICAgICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0gCi1kaWZm IC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVz dF9zZWxpbnV4LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQt MTJfbGF0ZXN0X3NlbGludXgueWFtbAotaW5kZXggNGQwMWQ5MzZkLi4zNDg4OTE1OTUgMTAwNjQ0 Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0 X3NlbGludXgueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lw YS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLUBAIC01NSw3ICs1NSw3IEBAIGpvYnM6Ci0gICAg ICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAgICAgICB0ZW1wbGF0ZTogJmNp LWlwYS00LTEyLWxhdGVzdAotICAgICAgICAgICBuYW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0 MQotLSAgICAgICAgICB2ZXJzaW9uOiAwLjAuMQotKyAgICAgICAgICB2ZXJzaW9uOiAwLjAuMgot ICAgICAgICAgdGltZW91dDogMTgwMAotICAgICAgICAgdG9wb2xvZ3k6ICpidWlsZAotIAotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFtbCBiL2lw YXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFtbAotaW5kZXggZGNjMmM1MmRj Li42NTNhYmIzZmMgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL3RlbXBf Y29tbWl0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQu eWFtbAotQEAgLTYwLDggKzYwLDggQEAgam9iczoKLSAgICAgICAgIGdpdF9yZXBvOiAne2dpdF9y ZXBvfScKLSAgICAgICAgIGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScKLSAgICAgICAgIHRl bXBsYXRlOiAmY2ktaXBhLTQtMTItbGF0ZXN0Ci0tICAgICAgICAgIG5hbWU6IGZyZWVpcGEvY2kt aXBhLTQtMTItZjQwCi0tICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0rICAgICAgICAgIG5hbWU6 IGZyZWVpcGEvY2ktaXBhLTQtMTItZjQxCi0rICAgICAgICAgIHZlcnNpb246IDAuMC4yCi0gICAg ICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0gCi0tLSAKLTIu NDkuMAotCi0KLUZyb20gNDc3NzBiODYyNmMzNTNiOTVkNGFlODlhMGZiN2UyM2IzNzkxZDNlYSBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRo YXQuY29tPgotRGF0ZTogV2VkLCAyMiBKYW4gMjAyNSAxNjowMzozNyArMDUzMAotU3ViamVjdDog W1BBVENIIDExNC8xMTZdIGlwYXRlc3RzOiBUZXN0cyB0byBjaGVjayBkYXRhIGluIGpvdXJuYWwg bG9nCi0KLVRoaXMgdGVzdGNhc2UgY2hlY2tzIHRoYXQgaXBhIGFkbWluaXN0cmF0aXZlIHVzZXIK LXBhc3N3b3JkIGlzIG5vdCBkaXNwbGF5ZWQgaW4gam91cm5hbCBsb2cuCi0KLVJlbGF0ZWQ6IGh0 dHBzOi8vaXNzdWVzLnJlZGhhdC5jb20vYnJvd3NlL1JIRUwtNjcxOTAKLQotU2lnbmVkLW9mZi1i eTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3B5dGVzdF9p cGEvaW50ZWdyYXRpb24vdGFza3MucHkgICB8ICAxMCArKwotIGlwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9jb21tYW5kcy5weSB8IDExNiArKysrKysrKysrKysrKysrKy0tLS0KLSAyIGZp bGVzIGNoYW5nZWQsIDEwNCBpbnNlcnRpb25zKCspLCAyMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vdGFza3MucHkgYi9pcGF0ZXN0 cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5Ci1pbmRleCA0Y2UzM2JiNDcuLmRjY2Zh ZjMwZSAxMDA3NTUKLS0tLSBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vdGFza3Mu cHkKLSsrKyBiL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vdGFza3MucHkKLUBAIC0z MDA0LDMgKzMwMDQsMTMgQEAgZGVmIGNvcHlfZmlsZXMoc291cmNlX2hvc3QsIGRlc3RfaG9zdCwg ZmlsZWxpc3QpOgotICAgICAgICAgZGVzdF9ob3N0LnRyYW5zcG9ydC5ta2Rpcl9yZWN1cnNpdmUo b3MucGF0aC5kaXJuYW1lKGZpbGUpKQotICAgICAgICAgZGF0YSA9IHNvdXJjZV9ob3N0LmdldF9m aWxlX2NvbnRlbnRzKGZpbGUpCi0gICAgICAgICBkZXN0X2hvc3QudHJhbnNwb3J0LnB1dF9maWxl X2NvbnRlbnRzKGZpbGUsIGRhdGEpCi0rCi0rCi0rZGVmIGNoZWNrX2pvdXJuYWxfZG9lc19ub3Rf Y29udGFpbl9zZWNyZXQoaG9zdCwgY21kKToKLSsgICAgIiIiCi0rICAgIEhlbHBlciB0byBjaGVj ayBqb3VybmFsIGxvZ3MgZG9lc250IHJldmVhbCBzZWNyZXRzCi0rICAgICIiIgotKyAgICBqb3Vy bmFsY3RsX2NtZCA9IFsnam91cm5hbGN0bCcsICctdCcsIGNtZCwgJy1uMScsICctbycsICdqc29u LXByZXR0eSddCi0rICAgIHJlc3VsdCA9IGhvc3QucnVuX2NvbW1hbmQoam91cm5hbGN0bF9jbWQs IHJhaXNlb25lcnI9RmFsc2UpCi0rICAgIGFzc2VydCAoaG9zdC5jb25maWcuYWRtaW5fcGFzc3dv cmQgbm90IGluIHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsgICAgYXNzZXJ0IChob3N0LmNvbmZpZy5k aXJtYW5fcGFzc3dvcmQgbm90IGluIHJlc3VsdC5zdGRvdXRfdGV4dCkKLWRpZmYgLS1naXQgYS9p cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkgYi9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLWluZGV4IDljNjViN2M2Yi4uNDdlZjIzMjU2 IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5 Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLUBAIC0z OSw2ICszOSw3IEBAIGZyb20gaXBhcGxhdGZvcm0udGFza3MgaW1wb3J0IHRhc2tzIGFzIHBsYXRm b3JtX3Rhc2tzCi0gZnJvbSBpcGF0ZXN0cy5jcmVhdGVfZXh0ZXJuYWxfY2EgaW1wb3J0IEV4dGVy bmFsQ0EKLSBmcm9tIGlwYXRlc3RzLnRlc3RfaXBhbGliLnRlc3RfeDUwOSBpbXBvcnQgZ29vZF9w a2NzNywgYmFkY2VydAotIGZyb20gaXBhcHl0aG9uLmlwYXV0aWwgaW1wb3J0IHJlYWxtX3RvX3N1 ZmZpeCwgaXBhX2dlbmVyYXRlX3Bhc3N3b3JkCi0rZnJvbSBpcGF0ZXN0cy50ZXN0X2ludGVncmF0 aW9uLnRlc3RfdG9wb2xvZ3kgaW1wb3J0IGZpbmRfc2VnbWVudAotIGZyb20gaXBhc2VydmVyLmlu c3RhbGwuaW5zdGFsbHV0aWxzIGltcG9ydCByZWFsbV90b19zZXJ2ZXJpZAotIGZyb20gcGtnX3Jl c291cmNlcyBpbXBvcnQgcGFyc2VfdmVyc2lvbgotIAotQEAgLTE2NjIsMjggKzE2NjMsNzcgQEAg Y2xhc3MgVGVzdElQQUNvbW1hbmQoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgIGFzc2VydCBy ZXN1bHQucmV0dXJuY29kZSA9PSAxCi0gICAgICAgICBhc3NlcnQgJ2Nhbm5vdCBiZSBkZWxldGVk IG9yIGRpc2FibGVkJyBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSAKLS0gICAgZGVmIHRlc3RfaXBh X2NhY2VydF9tYW5hZ2VfcHJ1bmUoc2VsZik6Ci0tICAgICAgICAiIiJUZXN0IGZvciBpcGEtY2Fj ZXJ0LW1hbmFnZSBwcnVuZSIiIgotLQotLSAgICAgICAgY2VydGZpbGUgPSBvcy5wYXRoLmpvaW4o c2VsZi5tYXN0ZXIuY29uZmlnLnRlc3RfZGlyLCAnY2VydC5wZW0nKQotLSAgICAgICAgc2VsZi5t YXN0ZXIucHV0X2ZpbGVfY29udGVudHMoY2VydGZpbGUsIGlzcmdyb290eDEpCi0tICAgICAgICBy ZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLS0gICAgICAgICAgICBbcGF0aHMuSVBB X0NBQ0VSVF9NQU5BR0UsICdpbnN0YWxsJywgY2VydGZpbGVdKQotLQotLSAgICAgICAgY2VydHNf YmVmb3JlX3BydW5lID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoCi0tICAgICAgICAgICAgW3Bh dGhzLklQQV9DQUNFUlRfTUFOQUdFLCAnbGlzdCddLCByYWlzZW9uZXJyPUZhbHNlCi0tICAgICAg ICApLnN0ZG91dF90ZXh0Ci0rICAgIGRlZiB0ZXN0X2lwYV9zeXN0ZW1kX2pvdXJuYWwoc2VsZik6 Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdGNhc2UgY2hlY2tzIHRoYXQgYWRtaW5p c3RyYXRpdmUgdXNlciBjcmVkZW50aWFscwotKyAgICAgICAgaXMgbm90IGxlYWtlZCB0byBqb3Vy bmFsZCBsb2cKLSsgICAgICAgICIiIgotKyAgICAgICAgdGFza3Mua2luaXRfYWRtaW4oc2VsZi5t YXN0ZXIpCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihzZWxmLnJlcGxpY2FzWzBdKQotKyAg ICAgICAgdGFza3Mua2luaXRfYWRtaW4oc2VsZi5jbGllbnRzWzBdKQotKyAgICAgICAgY21kcyA9 IFsKLSsgICAgICAgICAgICBbJy91c3Ivc2Jpbi9pcGEtYWR0cnVzdC1pbnN0YWxsJywgJy1hJywK LSsgICAgICAgICAgICAgc2VsZi5tYXN0ZXIuY29uZmlnLmFkbWluX3Bhc3N3b3JkLCAnLVUnXSwK LSsgICAgICAgICAgICBbJy91c3Ivc2Jpbi9pcGEtcmVwbGljYS1tYW5hZ2UnLCAnZGVsJywKLSsg ICAgICAgICAgICAgZiJkdW1teWhvc3Que3NlbGYubWFzdGVyLmRvbWFpbi5uYW1lfSIsICctcCcs Ci0rICAgICAgICAgICAgIHNlbGYubWFzdGVyLmNvbmZpZy5kaXJtYW5fcGFzc3dvcmRdLAotKyAg ICAgICAgICAgIFsnL3Vzci9zYmluL2lwYS1jc3JlcGxpY2EtbWFuYWdlJywgJ2RlbCcsCi0rICAg ICAgICAgICAgIGYiZHVtbXlob3N0LntzZWxmLm1hc3Rlci5kb21haW4ubmFtZX0iLCAnLXAnLAot KyAgICAgICAgICAgICBzZWxmLm1hc3Rlci5jb25maWcuZGlybWFuX3Bhc3N3b3JkXSwKLSsgICAg ICAgICAgICBbJy91c3Ivc2Jpbi9pcGEta3JhLWluc3RhbGwnLCAnLXAnLAotKyAgICAgICAgICAg ICBzZWxmLm1hc3Rlci5jb25maWcuZGlybWFuX3Bhc3N3b3JkLCAnLVUnXSwKLSsgICAgICAgICAg ICBbJy91c3Ivc2Jpbi9pcGEtc2VydmVyLWNlcnRpbnN0YWxsJywgJy1rJywgJy0tcGluJywKLSsg ICAgICAgICAgICAgc2VsZi5tYXN0ZXIuY29uZmlnLmRpcm1hbl9wYXNzd29yZCwgJy1wJywKLSsg ICAgICAgICAgICAgc2VsZi5tYXN0ZXIuY29uZmlnLmRpcm1hbl9wYXNzd29yZCwgcGF0aHMuS0RD X0NFUlQsCi0rICAgICAgICAgICAgIHBhdGhzLktEQ19LRVldCi0rICAgICAgICBdCi0rICAgICAg ICBmb3IgY21kIGluIGNtZHM6Ci0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQo Y21kLCByYWlzZW9uZXJyPUZhbHNlKQotKyAgICAgICAgICAgIHRhc2tzLmNoZWNrX2pvdXJuYWxf ZG9lc19ub3RfY29udGFpbl9zZWNyZXQoCi0rICAgICAgICAgICAgICAgIHNlbGYubWFzdGVyLCBj bWRbMF0KLSsgICAgICAgICAgICApCi0rICAgICAgICBmb3IgY21kIGluIGNtZHM6Ci0rICAgICAg ICAgICAgc2VsZi5yZXBsaWNhc1swXS5ydW5fY29tbWFuZChjbWQsIHJhaXNlb25lcnI9RmFsc2Up Ci0rICAgICAgICAgICAgdGFza3MuY2hlY2tfam91cm5hbF9kb2VzX25vdF9jb250YWluX3NlY3Jl dCgKLSsgICAgICAgICAgICAgICAgc2VsZi5yZXBsaWNhc1swXSwgY21kWzBdCi0rICAgICAgICAg ICAgKQotKyAgICAgICAgdGFza3MuY2hlY2tfam91cm5hbF9kb2VzX25vdF9jb250YWluX3NlY3Jl dCgKLSsgICAgICAgICAgICBzZWxmLmNsaWVudHNbMF0sICdweXRob24zJwotKyAgICAgICAgKQot KyAgICAgICAgIyBCYWNrdXAgYW5kIHJlc3RvcmUgSVBBIGFuZCBjaGVjayBzZWNyZXRzIGFyZSBu b3QgbGVha2VkLgotKyAgICAgICAgYmFja3VwX3BhdGggPSB0YXNrcy5nZXRfYmFja3VwX2Rpcihz ZWxmLm1hc3RlcikKLSsgICAgICAgIHJlc3RvcmVfY21kID0gKAotKyAgICAgICAgICAgIFsnL3Vz ci9zYmluL2lwYS1yZXN0b3JlJywgJy1wJywKLSsgICAgICAgICAgICAgc2VsZi5tYXN0ZXIuY29u ZmlnLmRpcm1hbl9wYXNzd29yZCwKLSsgICAgICAgICAgICAgYmFja3VwX3BhdGgsICctVSddCi0r ICAgICAgICApCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChyZXN0b3JlX2NtZCkK LSAKLS0gICAgICAgIGFzc2VydCBpc3Jncm9vdHgxX25pY2sgaW4gY2VydHNfYmVmb3JlX3BydW5l Ci0rICAgICAgICAjIHJlLWluaXRpYWxpemluZyB0b3BvbG9neSBhZnRlciByZXN0b3JlCi0rICAg ICAgICBmb3IgdG9wb19zdWZmaXggaW4gJ2RvbWFpbicsICdjYSc6Ci0rICAgICAgICAgICAgdG9w b19uYW1lID0gZmluZF9zZWdtZW50KHNlbGYubWFzdGVyLCBzZWxmLnJlcGxpY2FzWzBdLCB0b3Bv X3N1ZmZpeCkKLSsgICAgICAgICAgICBhcmcgPSBbJ2lwYScsICd0b3BvbG9neXNlZ21lbnQtcmVp bml0aWFsaXplJywKLSsgICAgICAgICAgICAgICAgICAgdG9wb19zdWZmaXgsIHRvcG9fbmFtZV0K LSsgICAgICAgICAgICBpZiB0b3BvX25hbWUuc3BsaXQoJy10by0nLCBtYXhzcGxpdD0xKVswXSAh PSBzZWxmLm1hc3Rlci5ob3N0bmFtZToKLSsgICAgICAgICAgICAgICAgYXJnLmFwcGVuZCgnLS1s ZWZ0JykKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBhcmcuYXBwZW5kKCct LXJpZ2h0JykKLSsgICAgICAgICAgICBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKGFyZykK LSAKLS0gICAgICAgICMgSnVtcCBpbiB0aW1lIHRvIG1ha2Ugc3VyZSB0aGUgY2VydCBpcyBleHBp cmVkCi0tICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2RhdGUnLCAnLXMnLCAnKzE1 WWVhcnMnXSkKLS0gICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotLSAg ICAgICAgICAgIFtwYXRocy5JUEFfQ0FDRVJUX01BTkFHRSwgJ3BydW5lJ10sIHJhaXNlb25lcnI9 RmFsc2UKLS0gICAgICAgICkuc3Rkb3V0X3RleHQKLS0gICAgICAgIHNlbGYubWFzdGVyLnJ1bl9j b21tYW5kKFsnZGF0ZScsICctcycsICctMTVZZWFycyddKQotKyAgICAgICAgIyB3YWl0IHNvbWV0 aW1lIGZvciByZS1pbml0aWFsaXphdGlvbgotKyAgICAgICAgdGFza3Mud2FpdF9mb3JfcmVwbGlj YXRpb24oc2VsZi5yZXBsaWNhc1swXS5sZGFwX2Nvbm5lY3QoKSkKLSAKLS0gICAgICAgIGFzc2Vy dCBpc3Jncm9vdHgxX25pY2sgaW4gcmVzdWx0Ci0rICAgICAgICB0YXNrcy5jaGVja19qb3VybmFs X2RvZXNfbm90X2NvbnRhaW5fc2VjcmV0KAotKyAgICAgICAgICAgIHNlbGYubWFzdGVyLCByZXN0 b3JlX2NtZFswXQotKyAgICAgICAgKQotKyAgICAgICAgIyBDaGVja2luZyBmb3Igc2VjcmV0cyBp biBJUEEgc2VydmVyIGluc3RhbGwKLSsgICAgICAgIHRhc2tzLmNoZWNrX2pvdXJuYWxfZG9lc19u b3RfY29udGFpbl9zZWNyZXQoCi0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIsICcvdXNyL3NiaW4v aXBhLXNlcnZlci1pbnN0YWxsJwotKyAgICAgICAgKQotKyAgICAgICAgIyBDaGVja2luZyBmb3Ig c2VjcmV0cyBpbiBJUEEgcmVwbGljYSBpbnN0YWxsCi0rICAgICAgICB0YXNrcy5jaGVja19qb3Vy bmFsX2RvZXNfbm90X2NvbnRhaW5fc2VjcmV0KAotKyAgICAgICAgICAgIHNlbGYucmVwbGljYXNb MF0sICcvdXNyL3NiaW4vaXBhLXJlcGxpY2EtaW5zdGFsbCcKLSsgICAgICAgICkKLSAKLSAKLSBj bGFzcyBUZXN0SVBBQ29tbWFuZFdpdGhvdXRSZXBsaWNhKEludGVncmF0aW9uVGVzdCk6Ci1AQCAt MTcxOSwxMCArMTc2OSw5IEBAIGNsYXNzIFRlc3RJUEFDb21tYW5kV2l0aG91dFJlcGxpY2EoSW50 ZWdyYXRpb25UZXN0KToKLSAgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhJywg J3VzZXItc2hvdycsICdpcGF1c2VyMSddKQotIAotICAgICBkZWYgdGVzdF9iYXNlc2VhcmNoX2Nv bXBhdF90cmVlKHNlbGYpOgotLSAgICAgICAgIiIiVGVzdCBsZGFwc2VhcmNoIGFnYWluc3QgY29t cGF0IHRyZWUgaXMgd29ya2luZwotLQotKyAgICAgICAgIiIiCi0rICAgICAgICBUZXN0IGxkYXBz ZWFyY2ggYWdhaW5zdCBjb21wYXQgdHJlZSBpcyB3b3JraW5nCi0gICAgICAgICBUaGlzIHRvIGVu c3VyZSB0aGF0IGxkYXBzZWFyY2ggd2l0aCBiYXNlIHNjb3BlIGlzIG5vdCBmYWlsaW5nLgotLQot ICAgICAgICAgcmVsYXRlZDogaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD0xOTU4OTA5Ci0gICAgICAgICAiIiIKLSAgICAgICAgIHZlcnNpb24gPSBzZWxmLm1hc3Rl ci5ydW5fY29tbWFuZCgKLUBAIC0xOTIwLDYgKzE5NjksMjkgQEAgY2xhc3MgVGVzdElQQUNvbW1h bmRXaXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0IG9sZF9l cnJfbXNnIG5vdCBpbiBkaXJzcnZfZXJyb3JfbG9nCi0gICAgICAgICBhc3NlcnQgcmUuc2VhcmNo KG5ld19lcnJfbXNnLCBkaXJzcnZfZXJyb3JfbG9nKQotIAotKyAgICBkZWYgdGVzdF9pcGFfY2Fj ZXJ0X21hbmFnZV9wcnVuZShzZWxmKToKLSsgICAgICAgICIiIlRlc3QgZm9yIGlwYS1jYWNlcnQt bWFuYWdlIHBydW5lIiIiCi0rCi0rICAgICAgICBjZXJ0ZmlsZSA9IG9zLnBhdGguam9pbihzZWxm Lm1hc3Rlci5jb25maWcudGVzdF9kaXIsICdjZXJ0LnBlbScpCi0rICAgICAgICBzZWxmLm1hc3Rl ci5wdXRfZmlsZV9jb250ZW50cyhjZXJ0ZmlsZSwgaXNyZ3Jvb3R4MSkKLSsgICAgICAgIHJlc3Vs dCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFtwYXRocy5JUEFfQ0FD RVJUX01BTkFHRSwgJ2luc3RhbGwnLCBjZXJ0ZmlsZV0pCi0rCi0rICAgICAgICBjZXJ0c19iZWZv cmVfcHJ1bmUgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbcGF0aHMu SVBBX0NBQ0VSVF9NQU5BR0UsICdsaXN0J10sIHJhaXNlb25lcnI9RmFsc2UKLSsgICAgICAgICku c3Rkb3V0X3RleHQKLSsKLSsgICAgICAgIGFzc2VydCBpc3Jncm9vdHgxX25pY2sgaW4gY2VydHNf YmVmb3JlX3BydW5lCi0rCi0rICAgICAgICAjIEp1bXAgaW4gdGltZSB0byBtYWtlIHN1cmUgdGhl IGNlcnQgaXMgZXhwaXJlZAotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydkYXRl JywgJy1zJywgJysxNVllYXJzJ10pCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5f Y29tbWFuZCgKLSsgICAgICAgICAgICBbcGF0aHMuSVBBX0NBQ0VSVF9NQU5BR0UsICdwcnVuZSdd LCByYWlzZW9uZXJyPUZhbHNlCi0rICAgICAgICApLnN0ZG91dF90ZXh0Ci0rICAgICAgICBzZWxm Lm1hc3Rlci5ydW5fY29tbWFuZChbJ2RhdGUnLCAnLXMnLCAnLTE1WWVhcnMnXSkKLSsKLSsgICAg ICAgIGFzc2VydCBpc3Jncm9vdHgxX25pY2sgaW4gcmVzdWx0Ci0rCi0gCi0gY2xhc3MgVGVzdElQ QWF1dG9tb3VudChJbnRlZ3JhdGlvblRlc3QpOgotICAgICBAY2xhc3NtZXRob2QKLS0tIAotMi40 OS4wCi0KLQotRnJvbSBhYzMwOGFiOGY1Njg1NDY1ZTc1NWI0YmE3ZTVkNDI4ZmUzOGJlYTRkIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJlZGhh dC5jb20+Ci1EYXRlOiBNb24sIDE3IE1hciAyMDI1IDA5OjI2OjQ0ICswMTAwCi1TdWJqZWN0OiBb UEFUQ0ggMTE1LzExNl0gRGlzYWxsb3cgcmVtb3ZhbCBvZiBkb2d0YWcgYW5kIGlwYS1kbnNrZXlz eW5jZAotIHNlcnZpY2VzIG9uIElQQSBzZXJ2ZXJzCi0KLUFsc28gcmVtb3ZlcyBkb2d0YWdsZGFw IGZyb20gdW5yZW1vdmFibGUgc2VydmljZXMKLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2Zy ZWVpcGEvaXNzdWUvOTc2NAotU2lnbmVkLW9mZi1ieTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5j b20+Ci0tLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5ICAgICAgICAgICAgICAgIHwg IDIgKy0KLSBpcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3NlcnZpY2VfcGx1Z2luLnB5IHwgMjYg KysrKysrKysrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNl LnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvc2VydmljZS5weQotaW5kZXggMDc1YTFiZThhLi5mNTA0 MDY0NzIgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5Ci0rKysgYi9p cGFzZXJ2ZXIvcGx1Z2lucy9zZXJ2aWNlLnB5Ci1AQCAtMzIzLDcgKzMyMyw3IEBAIGRlZiBjaGVj a19yZXF1aXJlZF9wcmluY2lwYWwobGRhcCwgcHJpbmNpcGFsKToKLSAgICAgdHJ5OgotICAgICAg ICAgaG9zdF9pc19tYXN0ZXIobGRhcCwgcHJpbmNpcGFsLmhvc3RuYW1lKQotICAgICBleGNlcHQg ZXJyb3JzLlZhbGlkYXRpb25FcnJvcjoKLS0gICAgICAgIHNlcnZpY2VfdHlwZXMgPSB7J2h0dHAn LCAnbGRhcCcsICdkbnMnLCAnZG9ndGFnbGRhcCd9Ci0rICAgICAgICBzZXJ2aWNlX3R5cGVzID0g eydodHRwJywgJ2xkYXAnLCAnZG5zJywgJ2RvZ3RhZycsICdpcGEtZG5za2V5c3luY2QnfQotICAg ICAgICAgaWYgcHJpbmNpcGFsLnNlcnZpY2VfbmFtZS5sb3dlcigpIGluIHNlcnZpY2VfdHlwZXM6 Ci0gICAgICAgICAgICAgcmFpc2UgZXJyb3JzLlZhbGlkYXRpb25FcnJvcigKLSAgICAgICAgICAg ICAgICAgbmFtZT0ncHJpbmNpcGFsJywKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X3htbHJw Yy90ZXN0X3NlcnZpY2VfcGx1Z2luLnB5IGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9zZXJ2 aWNlX3BsdWdpbi5weQotaW5kZXggYTNiMjQ1Njc5Li40YWVlYjlkODkgMTAwNjQ0Ci0tLS0gYS9p cGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3NlcnZpY2VfcGx1Z2luLnB5Ci0rKysgYi9pcGF0ZXN0 cy90ZXN0X3htbHJwYy90ZXN0X3NlcnZpY2VfcGx1Z2luLnB5Ci1AQCAtODY0LDYgKzg2NCwzMiBA QCBjbGFzcyB0ZXN0X3NlcnZpY2UoRGVjbGFyYXRpdmUpOgotICAgICAgICAgICAgICksCi0gICAg ICAgICApLAotIAotKyAgICAgICAgZGljdCgKLSsgICAgICAgICAgICBkZXNjPSgnRGVsZXRlIHRo ZSBjdXJyZW50IGhvc3QgKG1hc3Rlcj8pICVzIGRvZ3RhZyBzZXJ2aWNlLCcKLSsgICAgICAgICAg ICAgICAgICAnIHNob3VsZCBiZSBjYXVnaHQnICUgYXBpLmVudi5ob3N0KSwKLSsgICAgICAgICAg ICBjb21tYW5kPSgnc2VydmljZV9kZWwnLCBbJ2RvZ3RhZy8lcycgJSBhcGkuZW52Lmhvc3RdLCB7 fSksCi0rICAgICAgICAgICAgZXhwZWN0ZWQ9ZXJyb3JzLlZhbGlkYXRpb25FcnJvcigKLSsgICAg ICAgICAgICAgICAgbmFtZT0ncHJpbmNpcGFsJywKLSsgICAgICAgICAgICAgICAgZXJyb3I9J2Rv Z3RhZy8lc0AlcyBpcyByZXF1aXJlZCBieSB0aGUgSVBBIG1hc3RlcicgJSAoCi0rICAgICAgICAg ICAgICAgICAgICBhcGkuZW52Lmhvc3QsCi0rICAgICAgICAgICAgICAgICAgICBhcGkuZW52LnJl YWxtCi0rICAgICAgICAgICAgICAgICkKLSsgICAgICAgICAgICApLAotKyAgICAgICAgKSwKLSsK LSsgICAgICAgIGRpY3QoCi0rICAgICAgICAgICAgZGVzYz0oJ0RlbGV0ZSB0aGUgY3VycmVudCBo b3N0IChtYXN0ZXI/KSAlcyBpcGEtZG5za2V5c3luY2QnCi0rICAgICAgICAgICAgICAgICAgJyBz ZXJ2aWNlLCBzaG91bGQgYmUgY2F1Z2h0JyAlIGFwaS5lbnYuaG9zdCksCi0rICAgICAgICAgICAg Y29tbWFuZD0oJ3NlcnZpY2VfZGVsJywgWydpcGEtZG5za2V5c3luY2QvJXMnICUgYXBpLmVudi5o b3N0XSwge30pLAotKyAgICAgICAgICAgIGV4cGVjdGVkPWVycm9ycy5WYWxpZGF0aW9uRXJyb3Io Ci0rICAgICAgICAgICAgICAgIG5hbWU9J3ByaW5jaXBhbCcsCi0rICAgICAgICAgICAgICAgIGVy cm9yPSdpcGEtZG5za2V5c3luY2QvJXNAJXMgaXMgcmVxdWlyZWQgYnkgdGhlIElQQSBtYXN0ZXIn ICUgKAotKyAgICAgICAgICAgICAgICAgICAgYXBpLmVudi5ob3N0LAotKyAgICAgICAgICAgICAg ICAgICAgYXBpLmVudi5yZWFsbQotKyAgICAgICAgICAgICAgICApCi0rICAgICAgICAgICAgKSwK LSsgICAgICAgICksCi0rCi0gCi0gICAgICAgICBkaWN0KAotICAgICAgICAgICAgIGRlc2M9J0Rp c2FibGUgdGhlIGN1cnJlbnQgaG9zdCAobWFzdGVyPykgJXMgSFRUUCBzZXJ2aWNlLCBzaG91bGQg YmUgY2F1Z2h0JyAlIGFwaS5lbnYuaG9zdCwKLS0tIAotMi40OS4wCi0KLQotRnJvbSA3MjJhNWE0 ZTBmMGM2OTQ4MjUyZDM4NWRhNGZmZWY3YzAzMzM4YWVjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUs IDggQXVnIDIwMjQgMTY6NDg6MTkgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxMTYvMTE2XSBEb24n dCByZXF1aXJlIGNlcnRpZmljYXRlcyB0byBoYXZlIHVuaXF1ZQotIGlwYUNlcnRTdWJqZWN0Ci0K LUluIHRoZSB3aWxkIGEgcHVibGljIENBIGlzc3VlZCBhIG5ldyBzdWJvcmRpbmF0ZSBDQSBjZXJ0 aWZpY2F0ZQotd2l0aCBhbiBpZGVudGljYWwgc3ViamVjdCB0byBhbm90aGVyLCB3aXRoIGEgbmV3 IHByaXZhdGUga2V5LgotVGhpcyB3YXMgdW5pbnN0YWxsYWJsZSB1c2luZyBpcGEtY2FjZXJ0LW1h bmFnZSBiZWNhdXNlIGl0IHdvdWxkCi1mYWlsIHdpdGggInN1YmplY3QgcHVibGljIGtleSBpbmZv IG1pc21hdGNoIiBkdXJpbmcgdmVyaWZpY2F0aW9uCi1iZWNhdXNlIGEgZGlmZmVyZW50IGNlcnRp ZmljYXRlIHdpdGggdGhlIHNhbWUgc3ViamVjdCBidXQKLWRpZmZlcmVudCBwdWJsaWMga2V5IHdh cyBpbnN0YWxsZWQuCi0KLUknbSBub3Qgc3VyZSBvZiB0aGUgcmVhc29uaW5nIHRvIHByZXZlbnQg dGhpcyBzaXR1YXRpb24gYnV0IEkKLXNlZSBpdCBhcyBnaXZpbmcgdXNlcnMgZmxleGliaWxpdHku IFRoaXMgbWF5IGJlIGh1cnRmdWwgdG8gdGhlbQotYnV0IHRoZXkgY2FuIGFsd2F5cyByZW1vdmUg YW55IGFmZmVjdGVkIGNlcnRzLgotCi1UaGlzIGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGgg b2xkZXIgcmVsZWFzZXMgZnJvbSB0aGUgY2xpZW50Ci1wZXJzcGVjdGl2ZS4gT2xkZXIgc2VydmVy cyB3aWxsIGNob2tlIG9uIHRoZSBkdXBsaWNhdGVzIGFuZAotd29uJ3QgYmUgYWJsZSB0byBtYW5h Z2UgdGhlc2UuCi0KLUEgbmV3IHNlcmlhbCBudW1iZXIgb3B0aW9uIGlzIGFkZGVkIGZvciBkaXNw bGF5aW5nIHRoZSBsaXN0IG9mCi1jZXJ0aWZpY2F0ZXMgYW5kIGZvciB1c2Ugd2hlbiBkZWxldGlu ZyBvbmUgd2l0aCBhIGR1cGxpY2F0ZSBzdWJqZWN0LgotCi1pcGEtY2FjZXJ0LW1hbmFnZSBkZWxl dGUgb24gc3lzdGVtcyB3aXRob3V0IHRoaXMgcGF0Y2ggd2lsbAotc3VjY2Vzc2Z1bGx5IHJlbW92 ZSBBTEwgb2YgdGhlIHJlcXVlc3RlZCBjZXJ0aWZpY2F0ZXMuIFRoZXJlIGlzIG5vCi13YXkgdG8g ZGlzdGluZ3Vpc2guIEF0IGxlYXN0IGl0IHdvbid0IGJyZWFrIGFueXRoaW5nIGFuZCB0aGUKLWRl bGV0ZWQgY2VydGlmaWNhdGVzIGNhbiBiZSByZS1hZGRlZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY1MgotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5h dWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9r b3ZveUByZWRoYXQuY29tPgotLS0tCi0gaW5zdGFsbC9yZXN0YXJ0X3NjcmlwdHMvcmVuZXdfY2Ff Y2VydC5pbiAgICB8ICAgNCArLQotIGluc3RhbGwvdG9vbHMvbWFuL2lwYS1jYWNlcnQtbWFuYWdl LjEgICAgICAgfCAgMTEgKysKLSBpbnN0YWxsL3VwZGF0ZXMvMTAtdW5pcXVlbmVzcy51cGRhdGUg ICAgICAgIHwgIDIxICstLQotIGlwYWNsaWVudC9pbnN0YWxsL2NsaWVudC5weSAgICAgICAgICAg ICAgICAgfCAgIDYgKy0KLSBpcGFjbGllbnQvaW5zdGFsbC9pcGFfY2VydHVwZGF0ZS5weSAgICAg ICAgIHwgICAyICstCi0gaXBhbGliL2luc3RhbGwvY2VydHN0b3JlLnB5ICAgICAgICAgICAgICAg ICB8ICA0NiArKysrKy0KLSBpcGFwbGF0Zm9ybS9kZWJpYW4vdGFza3MucHkgICAgICAgICAgICAg ICAgIHwgICAyICstCi0gaXBhcGxhdGZvcm0vcmVkaGF0L3Rhc2tzLnB5ICAgICAgICAgICAgICAg ICB8ICAgMiArLQotIGlwYXB5dGhvbi9jZXJ0ZGIucHkgICAgICAgICAgICAgICAgICAgICAgICAg fCAxMTAgKysrKysrKystLS0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9jZXJ0cy5weSAgICAgICAg ICAgICAgICAgIHwgICA3ICstCi0gaXBhc2VydmVyL2luc3RhbGwvaW5zdGFsbHV0aWxzLnB5ICAg ICAgICAgICB8ICAgMyArLQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9jYWNlcnRfbWFuYWdlLnB5 ICAgICAgfCAgODIgKysrKysrKy0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVyX2Nl cnRpbnN0YWxsLnB5IHwgICA1ICstCi0gaXBhc2VydmVyL2luc3RhbGwva3JiaW5zdGFuY2UucHkg ICAgICAgICAgICB8ICAgMiArLQotIGlwYXNlcnZlci9pbnN0YWxsL3NlcnZpY2UucHkgICAgICAg ICAgICAgICAgfCAgIDQgKy0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFu ZHMucHkgIHwgMTUxICsrKysrKysrKysrKysrKysrKystCi0gMTYgZmlsZXMgY2hhbmdlZCwgMzUx IGluc2VydGlvbnMoKyksIDEwNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2luc3RhbGwv cmVzdGFydF9zY3JpcHRzL3JlbmV3X2NhX2NlcnQuaW4gYi9pbnN0YWxsL3Jlc3RhcnRfc2NyaXB0 cy9yZW5ld19jYV9jZXJ0LmluCi1pbmRleCBjYmIyYzg5YTguLjgxNGFjZGFhNyAxMDA2NDQKLS0t LSBhL2luc3RhbGwvcmVzdGFydF9zY3JpcHRzL3JlbmV3X2NhX2NlcnQuaW4KLSsrKyBiL2luc3Rh bGwvcmVzdGFydF9zY3JpcHRzL3JlbmV3X2NhX2NlcnQuaW4KLUBAIC0xNjgsNyArMTY4LDcgQEAg ZGVmIF9tYWluKCk6Ci0gICAgICAgICAgICAgICAgICAgICBjYV9jZXJ0cyA9IFtdCi0gCi0gICAg ICAgICAgICAgICAgIHJlYWxtX25pY2tuYW1lID0gZ2V0X2NhX25pY2tuYW1lKGFwaS5lbnYucmVh bG0pCi0tICAgICAgICAgICAgICAgIGZvciBjYV9jZXJ0LCBjYV9uaWNrLCBjYV9mbGFncyBpbiBj YV9jZXJ0czoKLSsgICAgICAgICAgICAgICAgZm9yIGNhX2NlcnQsIGNhX25pY2ssIGNhX2ZsYWdz LCBfc2VyaWFsIGluIGNhX2NlcnRzOgotICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIGNhX25pY2sgPT0gcmVhbG1fbmlja25hbWU6Ci0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNhX25pY2sgPSAnY2FTaWduaW5nQ2VydCBjZXJ0LXBraS1j YScKLUBAIC0xODAsNyArMTgwLDcgQEAgZGVmIF9tYWluKCk6Ci0gCi0gICAgICAgICAgICAgICAg ICMgUGFzcyBEb2d0YWcncyBzZWxmLXRlc3RzCi0gICAgICAgICAgICAgICAgIGZvciBjYV9uaWNr IGluIGRiLmZpbmRfcm9vdF9jZXJ0KG5pY2tuYW1lKVstMjotMV06Ci0tICAgICAgICAgICAgICAg ICAgICBjYV9mbGFncyA9IGRpY3QoY2NbMTpdIGZvciBjYyBpbiBjYV9jZXJ0cylbY2Ffbmlja10K LSsgICAgICAgICAgICAgICAgICAgIGNhX2ZsYWdzID0gZGljdChjY1sxOjNdIGZvciBjYyBpbiBj YV9jZXJ0cylbY2Ffbmlja10KLSAgICAgICAgICAgICAgICAgICAgIHVzYWdlcyA9IGNhX2ZsYWdz LnVzYWdlcyBvciBzZXQoKQotICAgICAgICAgICAgICAgICAgICAgY2FfZmxhZ3NfbW9kaWZpZWQg PSBUcnVzdEZsYWdzKGNhX2ZsYWdzLmhhc19rZXksCi0gICAgICAgICAgICAgICAgICAgICAgICAg VHJ1ZSwgVHJ1ZSwKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtY2FjZXJ0LW1h bmFnZS4xIGIvaW5zdGFsbC90b29scy9tYW4vaXBhLWNhY2VydC1tYW5hZ2UuMQotaW5kZXggODkx M2ZlNWQyLi4xZTE1ZDQ3YTUgMTAwNjQ0Ci0tLS0gYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtY2Fj ZXJ0LW1hbmFnZS4xCi0rKysgYi9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtY2FjZXJ0LW1hbmFnZS4x Ci1AQCAtNTcsNiArNTcsMTQgQEAgSW1wb3J0YW50OiB0aGlzIGRvZXMgbm90IHJlcGxhY2UgSVBB IENBIGJ1dCBhZGRzIHRoZSBwcm92aWRlZCBjZXJ0aWZpY2F0ZSBhcyBhIGsKLSBQbGVhc2UgZG8g bm90IGZvcmdldCB0byBydW4gaXBhLWNlcnR1cGRhdGUgb24gdGhlIG1hc3RlciwgYWxsIHRoZSBy ZXBsaWNhcyBhbmQgYWxsIHRoZSBjbGllbnRzIGFmdGVyIHRoaXMgY29tbWFuZCBpbiBvcmRlciB0 byB1cGRhdGUgSVBBIGNlcnRpZmljYXRlcyBkYXRhYmFzZXMuCi0gLnNwCi0gVGhlIHN1cHBvcnRl ZCBmb3JtYXRzIGZvciB0aGUgY2VydGlmaWNhdGUgZmlsZXMgYXJlIERFUiwgUEVNIGFuZCBQS0NT IzcgZm9ybWF0LgotKy5zcAotK0NBIGNlcnRpZmljYXRlcyB3aXRoIHRoZSBzYW1lIHN1YmplY3Qg YnV0IGRpZmZlcmVudCBwcml2YXRlIGtleXMgbWF5YmUgaW5zdGFsbGVkIHNpbXVsdGFuZW91c2x5 IHdpdGggdGhlIGZvbGxvd2luZyByZXN0cmljdGlvbnMgZnJvbSBOU1M6Ci0rLklQIFxbYnVdCi0r VGhlIGNlcnRpZmljYXRlcyBjYW5ub3QgaGF2ZSBkaWZmZXJlbnQgTlNTIHRydXN0IGZsYWdzLgot Ky5JUCBcW2J1XQotK1RoZSBuaWNrbmFtZSBpcyBub3QgY29uZmlndXJhYmxlIGJldHdlZW4gZGlm ZmVyZW50IGNlcnRpZmljYXRlcyBvZiB0aGUgc2FtZSBzdWJqZWN0LiBJdCB3aWxsIGFsd2F5cyBi ZSB0aGUgc2FtZSAoZXZlbiBpZiB5b3UgdHJ5KS4KLSsuc3AKLStBZGRpdGlvbmFsbHkgQ0EgY2Vy dGlmaWNhdGVzIHdpdGggdGhlIHNhbWUgc3ViamVjdCBzaG91bGQgaW5jbHVkZSB0aGUgQXV0aG9y aXR5IEtleSBJZGVudGlmaWVyIGV4dGVuc2lvbiBpbiBvcmRlciB0byBpZGVudGlmeSB0aGUgcHVi bGljIGtleSBvZiB0aGUgY2VydGlmaWNhdGUgaXNzdWVyIChDQSkgdGhhdCBzaWduZWQgdGhlIGNl cnRpZmljYXRlIChpdCBtYXkgYmUgaXRzZWxmKS4gU2ltaWxhcmx5IGl0IHNob3VsZCBoYXZlIGEg U3ViamVjdCBLZXkgSWRlbnRpZmllciBleHRlbnNpb24uIFRoaXMgaXMgdXNlZCB0byBjcmVhdGUg dGhlIHRydXN0IGNoYWluIG5vdCB0aHJvdWdoIHN1YmplY3RzIGJ1dCBieSB1c2luZyB0aGUgU0tJ RCBhbmQgQUtJRCB3aGljaCBpcyB3aGF0IGFsbG93cyBkdXBsaWNhdGUgY2VydGlmaWNhdGUgc3Vi amVjdHMgdG8gYmUgcmVzb2x2ZWQgY29ycmVjdGx5LiBXaXRob3V0IGFuIEFLSUQgbXVsdGlwbGUg Y2VydGlmaWNhdGVzIG9mIHRoZSBzYW1lIHN1YmplY3Qgd2lsbCBub3QgcmVzb2x2ZSBhcyBleHBl Y3RlZC4KLSAuUkUKLSAuVFAKLSBcZkJkZWxldGVcZlIKLUBAIC0xNTMsNiArMTYxLDkgQEAgcCBc LSBub3QgdHJ1c3RlZAotIC5UUAotIFxmQlwtZlxmUiwgXGZCXC1cLWZvcmNlXGZSCi0gRm9yY2Ug YSBDQSBjZXJ0aWZpY2F0ZSB0byBiZSByZW1vdmVkIGV2ZW4gaWYgY2hhaW4gdmFsaWRhdGlvbiBm YWlscy4KLSsuVFAKLStcZkJcLXNcZlIgXGZJU0VSSUFMX05VTUJFUlxmUiwgXGZCXC1cLXNlcmlh bFxmUj1cZklTRVJJQUxfTlVNQkVSXGZSCi0rU2VyaWFsIG51bWJlciBvZiB0aGUgY2VydGlmaWNh dGUgdG8gZGVsZXRlIChkZWNpbWFsKS4gVGhpcyBpcyBuZWVkZWQgdG8gZGV0ZXJtaW5lIHdoaWNo IGNlcnRpZmljYXRlIHRvIHJlbW92ZSBpZiB0aGVyZSBhcmUgbXVsdGlwbGUgY2VydGlmaWNhdGVz IHN0b3JlZCB3aXRoIHRoZSBzYW1lIG5hbWUuCi0gLlNIICJFWElUIFNUQVRVUyIKLSAwIGlmIHRo ZSBjb21tYW5kIHdhcyBzdWNjZXNzZnVsCi0gCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC91cGRhdGVz LzEwLXVuaXF1ZW5lc3MudXBkYXRlIGIvaW5zdGFsbC91cGRhdGVzLzEwLXVuaXF1ZW5lc3MudXBk YXRlCi1pbmRleCA2OTlkZTNiNGQuLmZhMTc5MTFmMiAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdXBk YXRlcy8xMC11bmlxdWVuZXNzLnVwZGF0ZQotKysrIGIvaW5zdGFsbC91cGRhdGVzLzEwLXVuaXF1 ZW5lc3MudXBkYXRlCi1AQCAtMTUsMjMgKzE1LDYgQEAgZGVmYXVsdDpuc3NsYXBkLXBsdWdpbklk OiBOU1VuaXF1ZUF0dHIKLSBkZWZhdWx0Om5zc2xhcGQtcGx1Z2luVmVyc2lvbjogMS4xLjAKLSBk ZWZhdWx0Om5zc2xhcGQtcGx1Z2luVmVuZG9yOiBGZWRvcmEgUHJvamVjdAotIAotLWRuOiBjbj1j ZXJ0aWZpY2F0ZSBzdG9yZSBzdWJqZWN0IHVuaXF1ZW5lc3MsY249cGx1Z2lucyxjbj1jb25maWcK LS1kZWZhdWx0Om9iamVjdENsYXNzOiB0b3AKLS1kZWZhdWx0Om9iamVjdENsYXNzOiBuc1NsYXBk UGx1Z2luCi0tZGVmYXVsdDpvYmplY3RDbGFzczogZXh0ZW5zaWJsZU9iamVjdAotLWRlZmF1bHQ6 Y246IGNlcnRpZmljYXRlIHN0b3JlIHN1YmplY3QgdW5pcXVlbmVzcwotLWRlZmF1bHQ6bnNzbGFw ZC1wbHVnaW5EZXNjcmlwdGlvbjogRW5mb3JjZSB1bmlxdWUgYXR0cmlidXRlIHZhbHVlcwotLWRl ZmF1bHQ6bnNzbGFwZC1wbHVnaW5QYXRoOiBsaWJhdHRyLXVuaXF1ZS1wbHVnaW4KLS1kZWZhdWx0 Om5zc2xhcGQtcGx1Z2luSW5pdGZ1bmM6IE5TVW5pcXVlQXR0cl9Jbml0Ci0tZGVmYXVsdDpuc3Ns YXBkLXBsdWdpblR5cGU6IHByZW9wZXJhdGlvbgotLWRlZmF1bHQ6bnNzbGFwZC1wbHVnaW5FbmFi bGVkOiBvbgotLWRlZmF1bHQ6dW5pcXVlbmVzcy1hdHRyaWJ1dGUtbmFtZTogaXBhQ2VydFN1Ympl Y3QKLS1kZWZhdWx0OnVuaXF1ZW5lc3Mtc3VidHJlZXM6IGNuPWNlcnRpZmljYXRlcyxjbj1pcGEs Y249ZXRjLCRTVUZGSVgKLS1kZWZhdWx0Om5zc2xhcGQtcGx1Z2luLWRlcGVuZHMtb24tdHlwZTog ZGF0YWJhc2UKLS1kZWZhdWx0Om5zc2xhcGQtcGx1Z2luSWQ6IE5TVW5pcXVlQXR0cgotLWRlZmF1 bHQ6bnNzbGFwZC1wbHVnaW5WZXJzaW9uOiAxLjEuMAotLWRlZmF1bHQ6bnNzbGFwZC1wbHVnaW5W ZW5kb3I6IEZlZG9yYSBQcm9qZWN0Ci0tCi0gZG46IGNuPWNlcnRpZmljYXRlIHN0b3JlIGlzc3Vl ci9zZXJpYWwgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNvbmZpZwotIGRlZmF1bHQ6b2JqZWN0 Q2xhc3M6IHRvcAotIGRlZmF1bHQ6b2JqZWN0Q2xhc3M6IG5zU2xhcGRQbHVnaW4KLUBAIC0xMjgs MyArMTExLDcgQEAgZGVmYXVsdDpuc3NsYXBkLXBsdWdpbi1kZXBlbmRzLW9uLXR5cGU6IGRhdGFi YXNlCi0gZGVmYXVsdDpuc3NsYXBkLXBsdWdpbklkOiBOU1VuaXF1ZUF0dHIKLSBkZWZhdWx0Om5z c2xhcGQtcGx1Z2luVmVyc2lvbjogMS4xLjAKLSBkZWZhdWx0Om5zc2xhcGQtcGx1Z2luVmVuZG9y OiBGZWRvcmEgUHJvamVjdAotKwotKyMgQSB1bmlxdWUgaXBhQ2VydFN1YmplY3QgaXMgbm8gbG9u Z2VyIHJlcXVpcmVkCi0rZG46IGNuPWNlcnRpZmljYXRlIHN0b3JlIHN1YmplY3QgdW5pcXVlbmVz cyxjbj1wbHVnaW5zLGNuPWNvbmZpZwotK2RlbGV0ZWVudHJ5OiBjbj1jZXJ0aWZpY2F0ZSBzdG9y ZSBzdWJqZWN0IHVuaXF1ZW5lc3MsY249cGx1Z2lucyxjbj1jb25maWcKLWRpZmYgLS1naXQgYS9p cGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkgYi9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkK LWluZGV4IDllNGQzYmJlNy4uMzcyZGFhNTFlIDEwMDY0NAotLS0tIGEvaXBhY2xpZW50L2luc3Rh bGwvY2xpZW50LnB5Ci0rKysgYi9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkKLUBAIC0zMjAw LDE1ICszMjAwLDE1IEBAIGRlZiBfaW5zdGFsbChvcHRpb25zLCB0ZGljdCk6Ci0gICAgICAgICBj YV9jZXJ0cyA9IGNlcnRzdG9yZS5tYWtlX2NvbXBhdF9jYV9jZXJ0cyhjYV9jZXJ0cywgY2xpX3Jl YWxtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y2Ffc3ViamVjdCkKLSAgICAgY2FfY2VydHNfdHJ1c3QgPSBbKGMsIG4sIGNlcnRzdG9yZS5rZXlf cG9saWN5X3RvX3RydXN0X2ZsYWdzKHQsIFRydWUsIHUpKQotLSAgICAgICAgICAgICAgICAgICAg ICBmb3IgKGMsIG4sIHQsIHUpIGluIGNhX2NlcnRzXQotKyAgICAgICAgICAgICAgICAgICAgICBm b3IgKGMsIG4sIHQsIHUsIHMpIGluIGNhX2NlcnRzXQotIAotICAgICB4NTA5LndyaXRlX2NlcnRp ZmljYXRlX2xpc3QoCi0tICAgICAgICBbYyBmb3IgYywgbiwgdCwgdSBpbiBjYV9jZXJ0cyBpZiB0 IGlzIG5vdCBGYWxzZV0sCi0rICAgICAgICBbYyBmb3IgYywgbiwgdCwgdSwgcyBpbiBjYV9jZXJ0 cyBpZiB0IGlzIG5vdCBGYWxzZV0sCi0gICAgICAgICBwYXRocy5LRENfQ0FfQlVORExFX1BFTSwK LSAgICAgICAgIG1vZGU9MG82NDQKLSAgICAgKQotICAgICB4NTA5LndyaXRlX2NlcnRpZmljYXRl X2xpc3QoCi0tICAgICAgICBbYyBmb3IgYywgbiwgdCwgdSBpbiBjYV9jZXJ0cyBpZiB0IGlzIG5v dCBGYWxzZV0sCi0rICAgICAgICBbYyBmb3IgYywgbiwgdCwgdSwgcyBpbiBjYV9jZXJ0cyBpZiB0 IGlzIG5vdCBGYWxzZV0sCi0gICAgICAgICBwYXRocy5DQV9CVU5ETEVfUEVNLAotICAgICAgICAg bW9kZT0wbzY0NAotICAgICApCi1kaWZmIC0tZ2l0IGEvaXBhY2xpZW50L2luc3RhbGwvaXBhX2Nl cnR1cGRhdGUucHkgYi9pcGFjbGllbnQvaW5zdGFsbC9pcGFfY2VydHVwZGF0ZS5weQotaW5kZXgg YmM3MDI1NGUyLi44ODYxOGE5YzIgMTAwNjQ0Ci0tLS0gYS9pcGFjbGllbnQvaW5zdGFsbC9pcGFf Y2VydHVwZGF0ZS5weQotKysrIGIvaXBhY2xpZW50L2luc3RhbGwvaXBhX2NlcnR1cGRhdGUucHkK LUBAIC0yNzYsNyArMjc2LDcgQEAgZGVmIHVwZGF0ZV9kYihwYXRoLCBjZXJ0cyk6Ci0gICAgIGZv ciBuYW1lLCBmbGFncyBpbiBkYi5saXN0X2NlcnRzKCk6Ci0gICAgICAgICBpZiBmbGFncy5jYToK LSAgICAgICAgICAgICBkYi5kZWxldGVfY2VydChuYW1lKQotLSAgICBmb3IgY2VydCwgbmlja25h bWUsIHRydXN0ZWQsIGVrdSBpbiBjZXJ0czoKLSsgICAgZm9yIGNlcnQsIG5pY2tuYW1lLCB0cnVz dGVkLCBla3UsIF9zZXJpYWwgaW4gY2VydHM6Ci0gICAgICAgICB0cnVzdF9mbGFncyA9IGNlcnRz dG9yZS5rZXlfcG9saWN5X3RvX3RydXN0X2ZsYWdzKHRydXN0ZWQsIFRydWUsIGVrdSkKLSAgICAg ICAgIHRyeToKLSAgICAgICAgICAgICBkYi5hZGRfY2VydChjZXJ0LCBuaWNrbmFtZSwgdHJ1c3Rf ZmxhZ3MpCi1kaWZmIC0tZ2l0IGEvaXBhbGliL2luc3RhbGwvY2VydHN0b3JlLnB5IGIvaXBhbGli L2luc3RhbGwvY2VydHN0b3JlLnB5Ci1pbmRleCA4YjE4Mjk1OGMuLmZiNGYwOWEyYiAxMDA2NDQK LS0tLSBhL2lwYWxpYi9pbnN0YWxsL2NlcnRzdG9yZS5weQotKysrIGIvaXBhbGliL2luc3RhbGwv Y2VydHN0b3JlLnB5Ci1AQCAtMTc5LDEwICsxNzksOSBAQCBkZWYgdXBkYXRlX2NhX2NlcnQobGRh cCwgYmFzZV9kbiwgY2VydCwgdHJ1c3RlZD1Ob25lLCBleHRfa2V5X3VzYWdlPU5vbmUsCi0gICAg ICAgICAjIFdlIGFyZSBhZGRpbmcgYSBuZXcgY2VydCwgdmFsaWRhdGUgaXQKLSAgICAgICAgIGlm IGVudHJ5LnNpbmdsZV92YWx1ZVsnaXBhQ2VydFN1YmplY3QnXS5sb3dlcigpICE9IHN1YmplY3Qu bG93ZXIoKToKLSAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzdWJqZWN0IG5hbWUgbWlz bWF0Y2giKQotLSAgICAgICAgaWYgZW50cnkuc2luZ2xlX3ZhbHVlWydpcGFQdWJsaWNLZXknXSAh PSBwdWJsaWNfa2V5OgotLSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoInN1YmplY3QgcHVi bGljIGtleSBpbmZvIG1pc21hdGNoIikKLSAgICAgICAgIGVudHJ5WydpcGFDZXJ0SXNzdWVyU2Vy aWFsJ10uYXBwZW5kKGlzc3Vlcl9zZXJpYWwpCi0gICAgICAgICBlbnRyeVsnY0FDZXJ0aWZpY2F0 ZTtiaW5hcnknXS5hcHBlbmQoY2VydCkKLSsgICAgICAgIGVudHJ5WydpcGFQdWJsaWNLZXknXS5h cHBlbmQocHVibGljX2tleSkKLSAKLSAgICAgIyBVcGRhdGUga2V5IHRydXN0Ci0gICAgIGlmIHRy dXN0ZWQgaXMgbm90IE5vbmU6Ci1AQCAtMjI0LDYgKzIyMywzOCBAQCBkZWYgdXBkYXRlX2NhX2Nl cnQobGRhcCwgYmFzZV9kbiwgY2VydCwgdHJ1c3RlZD1Ob25lLCBleHRfa2V5X3VzYWdlPU5vbmUs Ci0gICAgIGNsZWFuX29sZF9jb25maWcobGRhcCwgYmFzZV9kbiwgZG4sIGNvbmZpZ19pcGEsIGNv bmZpZ19jb21wYXQpCi0gCi0gCi0rZGVmIGRlbGV0ZV9jYV9jZXJ0KGxkYXAsIGJhc2VfZG4sIGNl cnQpOgotKyAgICAiIiIKLSsgICAgUmVtb3ZlIGEgQ0EgY2VydGlmaWNhdGUgaW4gdGhlIGNlcnRp ZmljYXRlIHN0b3JlLgotKyAgICAiIiIKLSsgICAgc3ViamVjdCwgaXNzdWVyX3NlcmlhbCwgX3B1 YmxpY19rZXkgPSBfcGFyc2VfY2VydChjZXJ0KQotKwotKyAgICBmaWx0ZXIgPSBsZGFwLm1ha2Vf ZmlsdGVyKHsnaXBhQ2VydFN1YmplY3QnOiBzdWJqZWN0fSkKLSsgICAgcmVzdWx0LCBfdHJ1bmNh dGVkID0gbGRhcC5maW5kX2VudHJpZXMoCi0rICAgICAgICBiYXNlX2RuPUROKCgnY24nLCAnY2Vy dGlmaWNhdGVzJyksICgnY24nLCAnaXBhJyksICgnY24nLCAnZXRjJyksCi0rICAgICAgICAgICAg ICAgICAgIGJhc2VfZG4pLAotKyAgICAgICAgZmlsdGVyPWZpbHRlciwKLSsgICAgICAgIGF0dHJz X2xpc3Q9WydjbicsICdpcGFDZXJ0U3ViamVjdCcsICdpcGFDZXJ0SXNzdWVyU2VyaWFsJywKLSsg ICAgICAgICAgICAgICAgICAgICdpcGFQdWJsaWNLZXknLCAnaXBhS2V5VHJ1c3QnLCAnaXBhS2V5 RXh0VXNhZ2UnLAotKyAgICAgICAgICAgICAgICAgICAgJ2lwYUNvbmZpZ1N0cmluZycsICdjQUNl cnRpZmljYXRlO2JpbmFyeSddKQotKyAgICBlbnRyeSA9IHJlc3VsdFswXQotKwotKyAgICBmb3Ig b2xkX2NlcnQgaW4gZW50cnlbJ2NBQ2VydGlmaWNhdGU7YmluYXJ5J106Ci0rICAgICAgICAjIENo ZWNrIGlmIHdlIGFyZSBhZGRpbmcgYSBuZXcgY2VydAotKyAgICAgICAgaWYgb2xkX2NlcnQgPT0g Y2VydDoKLSsgICAgICAgICAgICBicmVhawotKyAgICBlbHNlOgotKyAgICAgICAgcmFpc2UgVmFs dWVFcnJvcigiY2VydGlmaWNhdGUgbm90IGZvdW5kIikKLSsKLSsgICAgZW50cnlbJ2lwYUNlcnRJ c3N1ZXJTZXJpYWwnXS5yZW1vdmUoaXNzdWVyX3NlcmlhbCkKLSsgICAgZW50cnlbJ2NBQ2VydGlm aWNhdGU7YmluYXJ5J10ucmVtb3ZlKGNlcnQpCi0rCi0rICAgIGlmIGxlbihlbnRyeVsnaXBhQ2Vy dElzc3VlclNlcmlhbCddKSA9PSAwOgotKyAgICAgICAgbGRhcC5kZWxldGVfZW50cnkoZW50cnku ZG4pCi0rICAgIGVsc2U6Ci0rICAgICAgICBsZGFwLnVwZGF0ZV9lbnRyeShlbnRyeSkKLSsKLSsK LSBkZWYgcHV0X2NhX2NlcnQobGRhcCwgYmFzZV9kbiwgY2VydCwgbmlja25hbWUsIHRydXN0ZWQ9 Tm9uZSwKLSAgICAgICAgICAgICAgICAgZXh0X2tleV91c2FnZT1Ob25lLCBjb25maWdfaXBhPUZh bHNlLCBjb25maWdfY29tcGF0PUZhbHNlKToKLSAgICAgIiIiCi1AQCAtMzA5LDExICszNDAsMTQg QEAgZGVmIGdldF9jYV9jZXJ0cyhsZGFwLCBiYXNlX2RuLCBjb21wYXRfcmVhbG0sIGNvbXBhdF9p cGFfY2EsCi0gCi0gICAgICAgICAgICAgZm9yIGNlcnQgaW4gZW50cnkuZ2V0KCdjQUNlcnRpZmlj YXRlO2JpbmFyeScsIFtdKToKLSAgICAgICAgICAgICAgICAgdHJ5OgotLSAgICAgICAgICAgICAg ICAgICAgX3BhcnNlX2NlcnQoY2VydCkKLSsgICAgICAgICAgICAgICAgICAgIF9zdWJqZWN0LCBp c3N1ZXJfc2VyaWFsLCBfcGtpbmZvID0gX3BhcnNlX2NlcnQoY2VydCkKLSAgICAgICAgICAgICAg ICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgICBjZXJ0cyA9IFtdCi0g ICAgICAgICAgICAgICAgICAgICBicmVhawotLSAgICAgICAgICAgICAgICBjZXJ0cy5hcHBlbmQo KGNlcnQsIG5pY2tuYW1lLCB0cnVzdGVkLCBleHRfa2V5X3VzYWdlKSkKLSsgICAgICAgICAgICAg ICAgc2VyaWFsX251bWJlciA9IGlzc3Vlcl9zZXJpYWwuc3BsaXQoJzsnKVsxXQotKyAgICAgICAg ICAgICAgICBjZXJ0cy5hcHBlbmQoCi0rICAgICAgICAgICAgICAgICAgICAoY2VydCwgbmlja25h bWUsIHRydXN0ZWQsIGV4dF9rZXlfdXNhZ2UsIHNlcmlhbF9udW1iZXIpCi0rICAgICAgICAgICAg ICAgICkKLSAgICAgZXhjZXB0IGVycm9ycy5Ob3RGb3VuZDoKLSAgICAgICAgIHRyeToKLSAgICAg ICAgICAgICBsZGFwLmdldF9lbnRyeShjb250YWluZXJfZG4sIFsnJ10pCi1AQCAtMzgxLDkgKzQx NSw5IEBAIGRlZiBnZXRfY2FfY2VydHNfbnNzKGxkYXAsIGJhc2VfZG4sIGNvbXBhdF9yZWFsbSwg Y29tcGF0X2lwYV9jYSwKLSAKLSAgICAgY2VydHMgPSBnZXRfY2FfY2VydHMobGRhcCwgYmFzZV9k biwgY29tcGF0X3JlYWxtLCBjb21wYXRfaXBhX2NhLAotICAgICAgICAgICAgICAgICAgICAgICAg ICBmaWx0ZXJfc3ViamVjdD1maWx0ZXJfc3ViamVjdCkKLS0gICAgZm9yIGNlcnQsIG5pY2tuYW1l LCB0cnVzdGVkLCBleHRfa2V5X3VzYWdlIGluIGNlcnRzOgotKyAgICBmb3IgY2VydCwgbmlja25h bWUsIHRydXN0ZWQsIGV4dF9rZXlfdXNhZ2UsIF9zZXJpYWxfbnVtYmVyIGluIGNlcnRzOgotICAg ICAgICAgdHJ1c3RfZmxhZ3MgPSBrZXlfcG9saWN5X3RvX3RydXN0X2ZsYWdzKHRydXN0ZWQsIFRy dWUsIGV4dF9rZXlfdXNhZ2UpCi0tICAgICAgICBuc3NfY2VydHMuYXBwZW5kKChjZXJ0LCBuaWNr bmFtZSwgdHJ1c3RfZmxhZ3MpKQotKyAgICAgICAgbnNzX2NlcnRzLmFwcGVuZCgoY2VydCwgbmlj a25hbWUsIHRydXN0X2ZsYWdzLCBfc2VyaWFsX251bWJlcikpCi0gCi0gICAgIHJldHVybiBuc3Nf Y2VydHMKLSAKLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9ybS9kZWJpYW4vdGFza3MucHkgYi9pcGFw bGF0Zm9ybS9kZWJpYW4vdGFza3MucHkKLWluZGV4IGE3YjVjZGYzOC4uOGE1MGM2NmJjIDEwMDY0 NAotLS0tIGEvaXBhcGxhdGZvcm0vZGViaWFuL3Rhc2tzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9k ZWJpYW4vdGFza3MucHkKLUBAIC0xMjYsNyArMTI2LDcgQEAgdXNlZCBieSBjYS1jZXJ0aWZpY2F0 ZXMgYW5kIGlzIHByb3ZpZGVkIGZvciBpbmZvcm1hdGlvbiBvbmx5LlwKLSAgICAgICAgICAgICBs b2dnZXIuZXJyb3IoIkNvdWxkIG5vdCBjcmVhdGUgJXMiLCBwYXRoKQotICAgICAgICAgICAgIHJh aXNlCi0gCi0tICAgICAgICBmb3IgY2VydCwgbmlja25hbWUsIHRydXN0ZWQsIF9leHRfa2V5X3Vz YWdlIGluIGNhX2NlcnRzOgotKyAgICAgICAgZm9yIGNlcnQsIG5pY2tuYW1lLCB0cnVzdGVkLCBf ZXh0X2tleV91c2FnZSwgX3NlcmlhbCBpbiBjYV9jZXJ0czoKLSAgICAgICAgICAgICBpZiBub3Qg dHJ1c3RlZDoKLSAgICAgICAgICAgICAgICAgY29udGludWUKLSAKLWRpZmYgLS1naXQgYS9pcGFw bGF0Zm9ybS9yZWRoYXQvdGFza3MucHkgYi9pcGFwbGF0Zm9ybS9yZWRoYXQvdGFza3MucHkKLWlu ZGV4IDRmYjYyMDgwNy4uZDNlZGEwMTcyIDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vcmVkaGF0 L3Rhc2tzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9yZWRoYXQvdGFza3MucHkKLUBAIC0zMjksNyAr MzI5LDcgQEAgY2xhc3MgUmVkSGF0VGFza05hbWVzcGFjZShCYXNlVGFza05hbWVzcGFjZSk6Ci0g ICAgICAgICAgICAgICAgIHJhaXNlCi0gCi0gICAgICAgICAgICAgaGFzX2VrdSA9IHNldCgpCi0t ICAgICAgICAgICAgZm9yIGNlcnQsIG5pY2tuYW1lLCB0cnVzdGVkLCBfZXh0X2tleV91c2FnZSBp biBjYV9jZXJ0czoKLSsgICAgICAgICAgICBmb3IgY2VydCwgbmlja25hbWUsIHRydXN0ZWQsIF9l eHRfa2V5X3VzYWdlLCBfc2VyaWFsIGluIGNhX2NlcnRzOgotICAgICAgICAgICAgICAgICB0cnk6 Ci0gICAgICAgICAgICAgICAgICAgICBzdWJqZWN0ID0gY2VydC5zdWJqZWN0X2J5dGVzCi0gICAg ICAgICAgICAgICAgICAgICBpc3N1ZXIgPSBjZXJ0Lmlzc3Vlcl9ieXRlcwotZGlmZiAtLWdpdCBh L2lwYXB5dGhvbi9jZXJ0ZGIucHkgYi9pcGFweXRob24vY2VydGRiLnB5Ci1pbmRleCBlYzhmNjM5 MDUuLjMzMTRjM2EwMyAxMDA2NDQKLS0tLSBhL2lwYXB5dGhvbi9jZXJ0ZGIucHkKLSsrKyBiL2lw YXB5dGhvbi9jZXJ0ZGIucHkKLUBAIC02MzMsNyArNjMzLDcgQEAgY2xhc3MgTlNTRGF0YWJhc2U6 Ci0gICAgICAgICAgICAgICAgIHBrY3MxMl9wYXNzd29yZF9maWxlLmNsb3NlKCkKLSAKLSAgICAg ZGVmIGltcG9ydF9maWxlcyhzZWxmLCBmaWxlcywgaW1wb3J0X2tleXM9RmFsc2UsIGtleV9wYXNz d29yZD1Ob25lLAotLSAgICAgICAgICAgICAgICAgICAgIGtleV9uaWNrbmFtZT1Ob25lKToKLSsg ICAgICAgICAgICAgICAgICAgICBrZXlfbmlja25hbWU9Tm9uZSwgdHJ1c3RfZmxhZ3M9RU1QVFlf VFJVU1RfRkxBR1MpOgotICAgICAgICAgIiIiCi0gICAgICAgICBJbXBvcnQgY2VydGlmaWNhdGVz IGFuZCBhIHNpbmdsZSBwcml2YXRlIGtleSBmcm9tIG11bHRpcGxlIGZpbGVzCi0gCi1AQCAtODA5 LDcgKzgwOSw3IEBAIGNsYXNzIE5TU0RhdGFiYXNlOgotIAotICAgICAgICAgZm9yIGNlcnQgaW4g ZXh0cmFjdGVkX2NlcnRzOgotICAgICAgICAgICAgIG5pY2tuYW1lID0gc3RyKEROKGNlcnQuc3Vi amVjdCkpCi0tICAgICAgICAgICAgc2VsZi5hZGRfY2VydChjZXJ0LCBuaWNrbmFtZSwgRU1QVFlf VFJVU1RfRkxBR1MpCi0rICAgICAgICAgICAgc2VsZi5hZGRfY2VydChjZXJ0LCBuaWNrbmFtZSwg dHJ1c3RfZmxhZ3MpCi0gCi0gICAgICAgICBpZiBleHRyYWN0ZWRfa2V5OgotICAgICAgICAgICAg IHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3JhcnlGaWxlKCkgYXMgaW5fZmlsZSwgXAotQEAgLTg2 Nyw2ICs4NjcsMjcgQEAgY2xhc3MgTlNTRGF0YWJhc2U6Ci0gICAgICAgICBjZXJ0LCBfc3RhcnQg PSBmaW5kX2NlcnRfZnJvbV90eHQocmVzdWx0Lm91dHB1dCwgc3RhcnQ9MCkKLSAgICAgICAgIHJl dHVybiBjZXJ0Ci0gCi0rICAgIGRlZiBnZXRfYWxsX2NlcnRzKHNlbGYsIG5pY2tuYW1lKToKLSsg ICAgICAgICIiIgotKyAgICAgICAgOnBhcmFtIG5pY2tuYW1lOiBuaWNrbmFtZSBvZiB0aGUgY2Vy dGlmaWNhdGUgaW4gdGhlIE5TUyBkYXRhYmFzZQotKyAgICAgICAgOnJldHVybnM6IGxpc3Qgb2Yg Ynl0ZXMgb2YgYWxsIGNlcnRpZmljYXRlcyBmb3IgdGhlIG5pY2tuYW1lCi0rICAgICAgICAiIiIK LSsgICAgICAgIGFyZ3MgPSBbJy1MJywgJy1uJywgbmlja25hbWUsICctYSddCi0rICAgICAgICB0 cnk6Ci0rICAgICAgICAgICAgcmVzdWx0ID0gc2VsZi5ydW5fY2VydHV0aWwoYXJncywgY2FwdHVy ZV9vdXRwdXQ9VHJ1ZSkKLSsgICAgICAgIGV4Y2VwdCBpcGF1dGlsLkNhbGxlZFByb2Nlc3NFcnJv cjoKLSsgICAgICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIkZhaWxlZCB0byBnZXQgJXMiICUg bmlja25hbWUpCi0rICAgICAgICBjZXJ0cyA9IFtdCi0rCi0rICAgICAgICBzdCA9IDAKLSsgICAg ICAgIHdoaWxlIFRydWU6Ci0rICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICBjZXJ0 LCBzdCA9IGZpbmRfY2VydF9mcm9tX3R4dChyZXN1bHQub3V0cHV0LCBzdGFydD1zdCkKLSsgICAg ICAgICAgICBleGNlcHQgUnVudGltZUVycm9yOgotKyAgICAgICAgICAgICAgICBicmVhawotKyAg ICAgICAgICAgIGNlcnRzLmFwcGVuZChjZXJ0KQotKyAgICAgICAgcmV0dXJuIGNlcnRzCi0rCi0g ICAgIGRlZiBoYXNfbmlja25hbWUoc2VsZiwgbmlja25hbWUpOgotICAgICAgICAgdHJ5OgotICAg ICAgICAgICAgIHNlbGYuZ2V0X2NlcnQobmlja25hbWUpCi1AQCAtOTkwLDUzICsxMDExLDU4IEBA IGNsYXNzIE5TU0RhdGFiYXNlOgotICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ2ludmFs aWQgZm9yIHNlcnZlciAlcycgJSBob3N0bmFtZSkKLSAKLSAgICAgZGVmIHZlcmlmeV9jYV9jZXJ0 X3ZhbGlkaXR5KHNlbGYsIG5pY2tuYW1lLCBtaW5wYXRobGVuPU5vbmUpOgotLSAgICAgICAgY2Vy dCA9IHNlbGYuZ2V0X2NlcnQobmlja25hbWUpCi0tICAgICAgICBzZWxmLl92ZXJpZnlfY2VydF92 YWxpZGl0eShjZXJ0KQotKyAgICAgICAgZGVmIHZlcmlmeV9jYV9jZXJ0KGNlcnQsIG5pY2tuYW1l LCBtaW5wYXRobGVuKToKLSsgICAgICAgICAgICBzZWxmLl92ZXJpZnlfY2VydF92YWxpZGl0eShj ZXJ0KQotIAotLSAgICAgICAgaWYgbm90IGNlcnQuc3ViamVjdDoKLS0gICAgICAgICAgICByYWlz ZSBWYWx1ZUVycm9yKCJoYXMgZW1wdHkgc3ViamVjdCIpCi0rICAgICAgICAgICAgaWYgbm90IGNl cnQuc3ViamVjdDoKLSsgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigiaGFzIGVtcHR5 IHN1YmplY3QiKQotIAotLSAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIGJjID0gY2VydC5leHRl bnNpb25zLmdldF9leHRlbnNpb25fZm9yX2NsYXNzKAotKyAgICAgICAgICAgIHRyeToKLSsgICAg ICAgICAgICAgICAgYmMgPSBjZXJ0LmV4dGVuc2lvbnMuZ2V0X2V4dGVuc2lvbl9mb3JfY2xhc3Mo Ci0gICAgICAgICAgICAgICAgICAgICBjcnlwdG9ncmFwaHkueDUwOS5CYXNpY0NvbnN0cmFpbnRz KQotLSAgICAgICAgZXhjZXB0IGNyeXB0b2dyYXBoeS54NTA5LkV4dGVuc2lvbk5vdEZvdW5kOgot LSAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoIm1pc3NpbmcgYmFzaWMgY29uc3RyYWludHMi KQotLQotLSAgICAgICAgaWYgbm90IGJjLnZhbHVlLmNhOgotLSAgICAgICAgICAgIHJhaXNlIFZh bHVlRXJyb3IoIm5vdCBhIENBIGNlcnRpZmljYXRlIikKLS0gICAgICAgIGlmIG1pbnBhdGhsZW4g aXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgIyBwYXRoX2xlbmd0aCBpcyBOb25lIG1lYW5zIG5v IGxpbWl0YXRpb24KLS0gICAgICAgICAgICBwbCA9IGJjLnZhbHVlLnBhdGhfbGVuZ3RoCi0tICAg ICAgICAgICAgaWYgcGwgaXMgbm90IE5vbmUgYW5kIHBsIDwgbWlucGF0aGxlbjoKLS0gICAgICAg ICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLS0gICAgICAgICAgICAgICAgICAgICJiYXNpYyBj b250cmFpbnQgcGF0aGxlbiB7fSwgbXVzdCBiZSBhdCBsZWFzdCB7fSIuZm9ybWF0KAotLSAgICAg ICAgICAgICAgICAgICAgICAgIHBsLCBtaW5wYXRobGVuCi0rICAgICAgICAgICAgZXhjZXB0IGNy eXB0b2dyYXBoeS54NTA5LkV4dGVuc2lvbk5vdEZvdW5kOgotKyAgICAgICAgICAgICAgICByYWlz ZSBWYWx1ZUVycm9yKCJtaXNzaW5nIGJhc2ljIGNvbnN0cmFpbnRzIikKLSsKLSsgICAgICAgICAg ICBpZiBub3QgYmMudmFsdWUuY2E6Ci0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io Im5vdCBhIENBIGNlcnRpZmljYXRlIikKLSsgICAgICAgICAgICBpZiBtaW5wYXRobGVuIGlzIG5v dCBOb25lOgotKyAgICAgICAgICAgICAgICAjIHBhdGhfbGVuZ3RoIGlzIE5vbmUgbWVhbnMgbm8g bGltaXRhdGlvbgotKyAgICAgICAgICAgICAgICBwbCA9IGJjLnZhbHVlLnBhdGhfbGVuZ3RoCi0r ICAgICAgICAgICAgICAgIGlmIHBsIGlzIG5vdCBOb25lIGFuZCBwbCA8IG1pbnBhdGhsZW46Ci0r ICAgICAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKAotKyAgICAgICAgICAgICAgICAg ICAgICAgICJiYXNpYyBjb250cmFpbnQgcGF0aGxlbiB7fSwgIgotKyAgICAgICAgICAgICAgICAg ICAgICAgICJtdXN0IGJlIGF0IGxlYXN0IHt9Ii5mb3JtYXQoCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHBsLCBtaW5wYXRobGVuCi0rICAgICAgICAgICAgICAgICAgICAgICAgKQotICAg ICAgICAgICAgICAgICAgICAgKQotLSAgICAgICAgICAgICAgICApCi0gCi0tICAgICAgICB0cnk6 Ci0tICAgICAgICAgICAgc2tpID0gY2VydC5leHRlbnNpb25zLmdldF9leHRlbnNpb25fZm9yX2Ns YXNzKAotKyAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgc2tpID0gY2VydC5leHRl bnNpb25zLmdldF9leHRlbnNpb25fZm9yX2NsYXNzKAotICAgICAgICAgICAgICAgICAgICAgY3J5 cHRvZ3JhcGh5Lng1MDkuU3ViamVjdEtleUlkZW50aWZpZXIpCi0tICAgICAgICBleGNlcHQgY3J5 cHRvZ3JhcGh5Lng1MDkuRXh0ZW5zaW9uTm90Rm91bmQ6Ci0tICAgICAgICAgICAgcmFpc2UgVmFs dWVFcnJvcigibWlzc2luZyBzdWJqZWN0IGtleSBpZGVudGlmaWVyIGV4dGVuc2lvbiIpCi0tICAg ICAgICBlbHNlOgotLSAgICAgICAgICAgIGlmIGxlbihza2kudmFsdWUuZGlnZXN0KSA9PSAwOgot LSAgICAgICAgICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCJzdWJqZWN0IGtleSBpZGVudGlmaWVy IG11c3Qgbm90IGJlIGVtcHR5IikKLSsgICAgICAgICAgICBleGNlcHQgY3J5cHRvZ3JhcGh5Lng1 MDkuRXh0ZW5zaW9uTm90Rm91bmQ6Ci0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3Io Im1pc3Npbmcgc3ViamVjdCBrZXkgaWRlbnRpZmllciBleHRlbnNpb24iKQotKyAgICAgICAgICAg IGVsc2U6Ci0rICAgICAgICAgICAgICAgIGlmIGxlbihza2kudmFsdWUuZGlnZXN0KSA9PSAwOgot KyAgICAgICAgICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigic3ViamVjdCBrZXkgaWRlbnRp ZmllciBtdXN0IG5vdCBiZSBlbXB0eSIpCi0gCi0tICAgICAgICB0cnk6Ci0tICAgICAgICAgICAg c2VsZi5ydW5fY2VydHV0aWwoCi0tICAgICAgICAgICAgICAgIFsKLS0gICAgICAgICAgICAgICAg ICAgICctVicsICAgICAgICMgY2hlY2sgdmFsaWRpdHkgb2YgY2VydCBhbmQgYXR0cnMKLS0gICAg ICAgICAgICAgICAgICAgICctbicsIG5pY2tuYW1lLAotLSAgICAgICAgICAgICAgICAgICAgJy11 JywgJ0wnLCAgIyB1c2FnZTsgJ0wnIG1lYW5zICJTU0wgQ0EiCi0tICAgICAgICAgICAgICAgICAg ICAnLWUnLCAgICAgICAjIGNoZWNrIHNpZ25hdHVyZShzKTsgdGhpcyBjaGVja3MKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMga2V5IHNpemVzLCBzaWcgYWxnb3JpdGhtLCBldGMu Ci0tICAgICAgICAgICAgICAgIF0sCi0tICAgICAgICAgICAgICAgIGNhcHR1cmVfb3V0cHV0PVRy dWUpCi0tICAgICAgICBleGNlcHQgaXBhdXRpbC5DYWxsZWRQcm9jZXNzRXJyb3IgYXMgZToKLS0g ICAgICAgICAgICAjIGNlcnR1dGlsIG91dHB1dCBpbiBjYXNlIG9mIGVycm9yIGlzCi0tICAgICAg ICAgICAgIyAnY2VydHV0aWw6IGNlcnRpZmljYXRlIGlzIGludmFsaWQ6IDxFUlJPUl9TVFJJTkc+ XG4nCi0tICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcihlLm91dHB1dCkKLSsgICAgICAgICAg ICB0cnk6Ci0rICAgICAgICAgICAgICAgIHNlbGYucnVuX2NlcnR1dGlsKAotKyAgICAgICAgICAg ICAgICAgICAgWwotKyAgICAgICAgICAgICAgICAgICAgICAgICctVicsICAgICAgICMgY2hlY2sg dmFsaWRpdHkgb2YgY2VydCBhbmQgYXR0cnMKLSsgICAgICAgICAgICAgICAgICAgICAgICAnLW4n LCBuaWNrbmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAnLXUnLCAnTCcsICAjIHVzYWdl OyAnTCcgbWVhbnMgIlNTTCBDQSIKLSsgICAgICAgICAgICAgICAgICAgICAgICAnLWUnLCAgICAg ICAjIGNoZWNrIHNpZ25hdHVyZShzKTsgdGhpcyBjaGVja3MKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjIGtleSBzaXplcywgc2lnIGFsZ29yaXRobSwgZXRjLgotKyAgICAg ICAgICAgICAgICAgICAgXSwKLSsgICAgICAgICAgICAgICAgICAgIGNhcHR1cmVfb3V0cHV0PVRy dWUpCi0rICAgICAgICAgICAgZXhjZXB0IGlwYXV0aWwuQ2FsbGVkUHJvY2Vzc0Vycm9yIGFzIGU6 Ci0rICAgICAgICAgICAgICAgICMgY2VydHV0aWwgb3V0cHV0IGluIGNhc2Ugb2YgZXJyb3IgaXMK LSsgICAgICAgICAgICAgICAgIyAnY2VydHV0aWw6IGNlcnRpZmljYXRlIGlzIGludmFsaWQ6IDxF UlJPUl9TVFJJTkc+XG4nCi0rICAgICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoZS5vdXRw dXQpCi0rCi0rICAgICAgICBjZXJ0bGlzdCA9IHNlbGYuZ2V0X2FsbF9jZXJ0cyhuaWNrbmFtZSkK LSsgICAgICAgIGZvciBjZXJ0IGluIGNlcnRsaXN0OgotKyAgICAgICAgICAgIHZlcmlmeV9jYV9j ZXJ0KGNlcnQsIG5pY2tuYW1lLCBtaW5wYXRobGVuKQotIAotICAgICBkZWYgdmVyaWZ5X2tkY19j ZXJ0X3ZhbGlkaXR5KHNlbGYsIG5pY2tuYW1lLCByZWFsbSk6Ci0gICAgICAgICBuaWNrbmFtZXMg PSBzZWxmLmdldF90cnVzdF9jaGFpbihuaWNrbmFtZSkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIv aW5zdGFsbC9jZXJ0cy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2NlcnRzLnB5Ci1pbmRleCBmOGJl MWVmMDYuLmEzZTM4Y2RhYSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2NlcnRzLnB5 Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9jZXJ0cy5weQotQEAgLTM3Myw3ICszNzMsNyBAQCBj bGFzcyBDZXJ0REI6Ci0gICAgICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvcjoKLSAgICAgICAg ICAgICAgICAgYnJlYWsKLSAKLS0gICAgZGVmIGdldF9jZXJ0X2Zyb21fZGIoc2VsZiwgbmlja25h bWUpOgotKyAgICBkZWYgZ2V0X2NlcnRfZnJvbV9kYihzZWxmLCBuaWNrbmFtZSwgYWxsPUZhbHNl KToKLSAgICAgICAgICIiIgotICAgICAgICAgUmV0cmlldmUgYSBjZXJ0aWZpY2F0ZSBmcm9tIHRo ZSBjdXJyZW50IE5TUyBkYXRhYmFzZSBmb3Igbmlja25hbWUuCi0gICAgICAgICAiIiIKLUBAIC0z ODYsNyArMzg2LDEwIEBAIGNsYXNzIENlcnREQjoKLSAgICAgICAgICAgICBpZiB0b2tlbjoKLSAg ICAgICAgICAgICAgICAgYXJncy5leHRlbmQoWyctaCcsIHRva2VuXSkKLSAgICAgICAgICAgICBy ZXN1bHQgPSBzZWxmLnJ1bl9jZXJ0dXRpbChhcmdzLCBjYXB0dXJlX291dHB1dD1UcnVlKQotLSAg ICAgICAgICAgIHJldHVybiB4NTA5LmxvYWRfcGVtX3g1MDlfY2VydGlmaWNhdGUocmVzdWx0LnJh d19vdXRwdXQpCi0rICAgICAgICAgICAgaWYgYWxsOgotKyAgICAgICAgICAgICAgICByZXR1cm4g eDUwOS5sb2FkX2NlcnRpZmljYXRlX2xpc3QocmVzdWx0LnJhd19vdXRwdXQpCi0rICAgICAgICAg ICAgZWxzZToKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHg1MDkubG9hZF9wZW1feDUwOV9jZXJ0 aWZpY2F0ZShyZXN1bHQucmF3X291dHB1dCkKLSAgICAgICAgIGV4Y2VwdCBpcGF1dGlsLkNhbGxl ZFByb2Nlc3NFcnJvcjoKLSAgICAgICAgICAgICByZXR1cm4gTm9uZQotIAotZGlmZiAtLWdpdCBh L2lwYXNlcnZlci9pbnN0YWxsL2luc3RhbGx1dGlscy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lu c3RhbGx1dGlscy5weQotaW5kZXggM2EzMWY4YTk4Li5mNmYwNmM5YTEgMTAwNjQ0Ci0tLS0gYS9p cGFzZXJ2ZXIvaW5zdGFsbC9pbnN0YWxsdXRpbHMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxs L2luc3RhbGx1dGlscy5weQotQEAgLTkwMSw3ICs5MDEsOCBAQCBkZWYgbG9hZF9wa2NzMTIoY2Vy dF9maWxlcywga2V5X3Bhc3N3b3JkLCBrZXlfbmlja25hbWUsIGNhX2NlcnRfZmlsZXMsCi0gCi0g ICAgICAgICBpZiBjYV9jZXJ0X2ZpbGVzOgotICAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAg ICAgICAgbnNzZGIuaW1wb3J0X2ZpbGVzKGNhX2NlcnRfZmlsZXMpCi0rICAgICAgICAgICAgICAg IG5zc2RiLmltcG9ydF9maWxlcyhjYV9jZXJ0X2ZpbGVzLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdHJ1c3RfZmxhZ3M9RVhURVJOQUxfQ0FfVFJVU1RfRkxBR1MpCi0gICAg ICAgICAgICAgZXhjZXB0IFJ1bnRpbWVFcnJvciBhcyBlOgotICAgICAgICAgICAgICAgICByYWlz ZSBTY3JpcHRFcnJvcihzdHIoZSkpCi0gCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwv aXBhX2NhY2VydF9tYW5hZ2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfY2FjZXJ0X21hbmFn ZS5weQotaW5kZXggMDQ4MjQ1MjM3Li42YTAzZmE3NGUgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfY2FjZXJ0X21hbmFnZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvaXBh X2NhY2VydF9tYW5hZ2UucHkKLUBAIC0xMDEsNiArMTAxLDkgQEAgY2xhc3MgQ0FDZXJ0TWFuYWdl KGFkbWludG9vbC5BZG1pblRvb2wpOgotICAgICAgICAgZGVsZXRlX2dyb3VwLmFkZF9vcHRpb24o Ci0gICAgICAgICAgICAgIi1mIiwgIi0tZm9yY2UiLCBhY3Rpb249J3N0b3JlX3RydWUnLAotICAg ICAgICAgICAgIGhlbHA9IkZvcmNlIHJlbW92aW5nIHRoZSBDQSBldmVuIGlmIGNoYWluIHZhbGlk YXRpb24gZmFpbHMiKQotKyAgICAgICAgZGVsZXRlX2dyb3VwLmFkZF9vcHRpb24oCi0rICAgICAg ICAgICAgIi1zIiwgIi0tc2VyaWFsIiwKLSsgICAgICAgICAgICBoZWxwPSJTZXJpYWwgbnVtYmVy IG9mIHRoZSBjZXJ0aWZpY2F0ZSB0byBkZWxldGUgKGRlY2ltYWwpIikKLSAgICAgICAgIHBhcnNl ci5hZGRfb3B0aW9uX2dyb3VwKGRlbGV0ZV9ncm91cCkKLSAKLSAgICAgZGVmIHZhbGlkYXRlX29w dGlvbnMoc2VsZik6Ci1AQCAtNDEzLDYgKzQxNiwxMSBAQCBjbGFzcyBDQUNlcnRNYW5hZ2UoYWRt aW50b29sLkFkbWluVG9vbCk6Ci0gICAgICAgICAgICAgICAgICAgICAiTmlja25hbWUgY2FuIG9u bHkgYmUgdXNlZCBpZiBvbmx5IGEgc2luZ2xlICIKLSAgICAgICAgICAgICAgICAgICAgICJjZXJ0 aWZpY2F0ZSBpcyBsb2FkZWQiKQotIAotKyAgICAgICAgICAgIGZvciBuaWNrbmFtZSwgdHJ1c3Rf ZmxhZ3MgaW4gaW1wb3J0ZWQ6Ci0rICAgICAgICAgICAgICAgIGlmIHRydXN0X2ZsYWdzLmhhc19r ZXk6Ci0rICAgICAgICAgICAgICAgICAgICBjb250aW51ZQotKyAgICAgICAgICAgICAgICB0bXBk Yi50cnVzdF9yb290X2NlcnQobmlja25hbWUsIEVYVEVSTkFMX0NBX1RSVVNUX0ZMQUdTKQotKwot ICAgICAgICAgICAgICMgSWYgYSBuaWNrbmFtZSB3YXMgcHJvdmlkZWQgcmUtaW1wb3J0IHRoZSBj ZXJ0Ci0gICAgICAgICAgICAgaWYgb3B0aW9ucy5uaWNrbmFtZToKLSAgICAgICAgICAgICAgICAg KG5pY2tuYW1lLCB0cnVzdF9mbGFncykgPSBpbXBvcnRlZFswXQotQEAgLTQyMSw3ICs0MjksNyBA QCBjbGFzcyBDQUNlcnRNYW5hZ2UoYWRtaW50b29sLkFkbWluVG9vbCk6Ci0gICAgICAgICAgICAg ICAgIHRtcGRiLmFkZF9jZXJ0KGNlcnQsIG9wdGlvbnMubmlja25hbWUsIEVYVEVSTkFMX0NBX1RS VVNUX0ZMQUdTKQotICAgICAgICAgICAgICAgICBpbXBvcnRlZCA9IHRtcGRiLmxpc3RfY2VydHMo KQotIAotLSAgICAgICAgICAgIGZvciBjYV9jZXJ0LCBjYV9uaWNrbmFtZSwgY2FfdHJ1c3RfZmxh Z3MgaW4gY2FfY2VydHM6Ci0rICAgICAgICAgICAgZm9yIGNhX2NlcnQsIGNhX25pY2tuYW1lLCBj YV90cnVzdF9mbGFncywgX3NlcmlhbCBpbiBjYV9jZXJ0czoKLSAgICAgICAgICAgICAgICAgdG1w ZGIuYWRkX2NlcnQoY2FfY2VydCwgY2Ffbmlja25hbWUsIGNhX3RydXN0X2ZsYWdzKQotIAotICAg ICAgICAgICAgIGZvciBuaWNrbmFtZSwgdHJ1c3RfZmxhZ3MgaW4gaW1wb3J0ZWQ6Ci1AQCAtNDYx LDEwICs0NjksMTEgQEAgY2xhc3MgQ0FDZXJ0TWFuYWdlKGFkbWludG9vbC5BZG1pblRvb2wpOgot IAotICAgICAgICAgICAgIGZvciBuaWNrbmFtZSwgX3RydXN0X2ZsYWdzIGluIGltcG9ydGVkOgot ICAgICAgICAgICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgICAgICAgICBjZXJ0ID0gdG1wZGIu Z2V0X2NlcnQobmlja25hbWUpCi0tICAgICAgICAgICAgICAgICAgICBjZXJ0c3RvcmUucHV0X2Nh X2NlcnRfbnNzKAotLSAgICAgICAgICAgICAgICAgICAgICAgIGFwaS5CYWNrZW5kLmxkYXAyLCBh cGkuZW52LmJhc2VkbiwgY2VydCwgbmlja25hbWUsCi0tICAgICAgICAgICAgICAgICAgICAgICAg dHJ1c3RfZmxhZ3MpCi0rICAgICAgICAgICAgICAgICAgICBjZXJ0bGlzdCA9IHRtcGRiLmdldF9h bGxfY2VydHMobmlja25hbWUpCi0rICAgICAgICAgICAgICAgICAgICBmb3IgY2VydCBpbiBjZXJ0 bGlzdDoKLSsgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0c3RvcmUucHV0X2NhX2NlcnRfbnNz KAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGkuQmFja2VuZC5sZGFwMiwgYXBpLmVu di5iYXNlZG4sIGNlcnQsIG5pY2tuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 cnVzdF9mbGFncykKLSAgICAgICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3IgYXMgZToKLSAg ICAgICAgICAgICAgICAgICAgIHJhaXNlIGFkbWludG9vbC5TY3JpcHRFcnJvcigKLSAgICAgICAg ICAgICAgICAgICAgICAgICAiRmFpbGVkIHRvIGluc3RhbGwgdGhlIGNlcnRpZmljYXRlOiAlcyIg JSBlKQotQEAgLTQ3Niw4ICs0ODUsOCBAQCBjbGFzcyBDQUNlcnRNYW5hZ2UoYWRtaW50b29sLkFk bWluVG9vbCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFwaS5lbnYuYmFzZWRuLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhcGkuZW52LnJlYWxtLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGYWxzZSkKLS0gICAgICAgIGZvciBfY2FfY2VydCwgY2Ffbmlja25hbWUs IF9jYV90cnVzdF9mbGFncyBpbiBjYV9jZXJ0czoKLS0gICAgICAgICAgICBwcmludChjYV9uaWNr bmFtZSkKLSsgICAgICAgIGZvciBfY2FfY2VydCwgY2Ffbmlja25hbWUsIF9jYV90cnVzdF9mbGFn cywgc2VyaWFsIGluIGNhX2NlcnRzOgotKyAgICAgICAgICAgIHByaW50KGYie2NhX25pY2tuYW1l fSAge3NlcmlhbH0iKQotIAotICAgICBkZWYgX2RlbGV0ZV9ieV9uaWNrbmFtZShzZWxmLCBuaWNr bmFtZXMsIG9wdGlvbnMpOgotICAgICAgICAgY29ubiA9IGFwaS5CYWNrZW5kLmxkYXAyCi1AQCAt NDg5LDkgKzQ5OCwyNSBAQCBjbGFzcyBDQUNlcnRNYW5hZ2UoYWRtaW50b29sLkFkbWluVG9vbCk6 Ci0gCi0gICAgICAgICBpcGFfY2Ffbmlja25hbWUgPSBnZXRfY2Ffbmlja25hbWUoYXBpLmVudi5y ZWFsbSkKLSAKLSsgICAgICAgICMgQ291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgbmlja25h bWUgYXBwZWFycyBpbiBjYXNlIHdlCi0rICAgICAgICAjIGhhdmUgYSBkdXBsaWNhdGUuIElmIGEg c2VyaWFsIG51bWJlciBpcyBwcm92aWRlZCB3ZSBjYW4gc2tpcAotKyAgICAgICAgIyB0aGlzLgot KyAgICAgICAgY2VydF9jb3VudCA9IDAKLSsgICAgICAgIGlmIG5vdCBvcHRpb25zLnNlcmlhbDoK LSsgICAgICAgICAgICBmb3Igbmlja25hbWUgaW4gbmlja25hbWVzOgotKyAgICAgICAgICAgICAg ICBmb3IgX2NhX2NlcnQsIGNhX25pY2tuYW1lLCBfY2FfdHJ1c3RfZmxhZ3MsIF9zZXJpYWwgaW4g Y2FfY2VydHM6Ci0rICAgICAgICAgICAgICAgICAgICBpZiBjYV9uaWNrbmFtZSA9PSBuaWNrbmFt ZToKLSsgICAgICAgICAgICAgICAgICAgICAgICBjZXJ0X2NvdW50ICs9IDEKLSsgICAgICAgICAg ICBpZiBjZXJ0X2NvdW50ID4gMToKLSsgICAgICAgICAgICAgICAgcmFpc2UgYWRtaW50b29sLlNj cmlwdEVycm9yKAotKyAgICAgICAgICAgICAgICAgICAgJ011bHRpcGxlIG1hdGNoaW5nIGNlcnRp ZmljYXRlcyBmb3VuZCAoJWQpLiBVc2UgdGhlICcKLSsgICAgICAgICAgICAgICAgICAgICctLXNl cmlhbCBvcHRpb24gdG8gc3BlY2lmeSB3aGljaCBvbmUgdG8gcmVtb3ZlLicgJQotKyAgICAgICAg ICAgICAgICAgICAgY2VydF9jb3VudAotKyAgICAgICAgICAgICAgICApCi0rCi0gICAgICAgICBm b3Igbmlja25hbWUgaW4gbmlja25hbWVzOgotICAgICAgICAgICAgIGZvdW5kID0gRmFsc2UKLS0g ICAgICAgICAgICBmb3IgX2NhX2NlcnQsIGNhX25pY2tuYW1lLCBfY2FfdHJ1c3RfZmxhZ3MgaW4g Y2FfY2VydHM6Ci0rICAgICAgICAgICAgZm9yIF9jYV9jZXJ0LCBjYV9uaWNrbmFtZSwgX2NhX3Ry dXN0X2ZsYWdzLCBfc2VyaWFsIGluIGNhX2NlcnRzOgotICAgICAgICAgICAgICAgICBpZiBjYV9u aWNrbmFtZSA9PSBuaWNrbmFtZToKLSAgICAgICAgICAgICAgICAgICAgIGlmIGNhX25pY2tuYW1l ID09IGlwYV9jYV9uaWNrbmFtZToKLSAgICAgICAgICAgICAgICAgICAgICAgICByYWlzZSBhZG1p bnRvb2wuU2NyaXB0RXJyb3IoCi1AQCAtNTA4LDEzICs1MzMsMTcgQEAgY2xhc3MgQ0FDZXJ0TWFu YWdlKGFkbWludG9vbC5BZG1pblRvb2wpOgotIAotICAgICAgICAgd2l0aCBjZXJ0cy5OU1NEYXRh YmFzZSgpIGFzIHRtcGRiOgotICAgICAgICAgICAgIHRtcGRiLmNyZWF0ZV9kYigpCi0tICAgICAg ICAgICAgZm9yIGNhX2NlcnQsIGNhX25pY2tuYW1lLCBjYV90cnVzdF9mbGFncyBpbiBjYV9jZXJ0 czoKLSsgICAgICAgICAgICBmb3IgY2FfY2VydCwgY2Ffbmlja25hbWUsIGNhX3RydXN0X2ZsYWdz LCBzZXJpYWwgaW4gY2FfY2VydHM6Ci0rICAgICAgICAgICAgICAgIGlmIG5pY2tuYW1lID09IGNh X25pY2tuYW1lOgotKyAgICAgICAgICAgICAgICAgICAgaWYgb3B0aW9ucy5zZXJpYWwgYW5kIG9w dGlvbnMuc2VyaWFsID09IHNlcmlhbDoKLSsgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51 ZQotICAgICAgICAgICAgICAgICB0bXBkYi5hZGRfY2VydChjYV9jZXJ0LCBjYV9uaWNrbmFtZSwg Y2FfdHJ1c3RfZmxhZ3MpCi0gICAgICAgICAgICAgbG9hZGVkID0gdG1wZGIubGlzdF9jZXJ0cygp Ci0gICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJsb2FkZWQgcmF3IGNlcnRzICclcyciLCBsb2Fk ZWQpCi0gCi0tICAgICAgICAgICAgZm9yIG5pY2tuYW1lIGluIG5pY2tuYW1lczoKLS0gICAgICAg ICAgICAgICAgdG1wZGIuZGVsZXRlX2NlcnQobmlja25hbWUpCi0rICAgICAgICAgICAgaWYgbm90 IG9wdGlvbnMuc2VyaWFsOgotKyAgICAgICAgICAgICAgICBmb3Igbmlja25hbWUgaW4gbmlja25h bWVzOgotKyAgICAgICAgICAgICAgICAgICAgdG1wZGIuZGVsZXRlX2NlcnQobmlja25hbWUpCi0g Ci0gICAgICAgICAgICAgZm9yIGNhX25pY2tuYW1lLCBfdHJ1c3RfZmxhZ3MgaW4gbG9hZGVkOgot ICAgICAgICAgICAgICAgICBpZiBjYV9uaWNrbmFtZSBpbiBuaWNrbmFtZXM6Ci1AQCAtNTI2LDgg KzU1NSw4IEBAIGNsYXNzIENBQ2VydE1hbmFnZShhZG1pbnRvb2wuQWRtaW5Ub29sKToKLSAgICAg ICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAgdG1wZGIudmVyaWZ5X2NhX2Nl cnRfdmFsaWRpdHkoY2Ffbmlja25hbWUpCi0gICAgICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVy cm9yIGFzIGU6Ci0tICAgICAgICAgICAgICAgICAgICBtc2cgPSAiVmVyaWZ5aW5nIFwnJXNcJyBm YWlsZWQuIFJlbW92aW5nIHBhcnQgb2YgdGhlICIgXAotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgImNoYWluPyAlcyIgJSAobmlja25hbWUsIGUpCi0rICAgICAgICAgICAgICAgICAgICBtc2cg PSAiVmVyaWZ5aW5nIHJlbW92YWwgb2YgXCclc1wnIGZhaWxlZC4gUmVtb3ZpbmcgIiBcCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAicGFydCBvZiB0aGUgY2hhaW4/ICVzIiAlIChuaWNrbmFt ZSwgZSkKLSAgICAgICAgICAgICAgICAgICAgIGlmIG9wdGlvbnMuZm9yY2U6Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgcHJpbnQobXNnKQotICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRp bnVlCi1AQCAtNTM1LDE1ICs1NjQsMjAgQEAgY2xhc3MgQ0FDZXJ0TWFuYWdlKGFkbWludG9vbC5B ZG1pblRvb2wpOgotICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAg bG9nZ2VyLmRlYnVnKCJWZXJpZmllZCAlcyIsIGNhX25pY2tuYW1lKQotIAotLSAgICAgICAgZm9y IF9jYV9jZXJ0LCBjYV9uaWNrbmFtZSwgX2NhX3RydXN0X2ZsYWdzIGluIGNhX2NlcnRzOgotKyAg ICAgICAgZm9yIGNhX2NlcnQsIGNhX25pY2tuYW1lLCBfY2FfdHJ1c3RfZmxhZ3MsIHNlcmlhbCBp biBjYV9jZXJ0czoKLSAgICAgICAgICAgICBpZiBjYV9uaWNrbmFtZSBpbiBuaWNrbmFtZXM6Ci0t ICAgICAgICAgICAgICAgIGNvbnRhaW5lcl9kbiA9IEROKCgnY24nLCAnY2VydGlmaWNhdGVzJyks ICgnY24nLCAnaXBhJyksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgnY24n LCAnZXRjJyksIGFwaS5lbnYuYmFzZWRuKQotLSAgICAgICAgICAgICAgICBkbiA9IEROKCgnY24n LCBuaWNrbmFtZSksIGNvbnRhaW5lcl9kbikKLSsgICAgICAgICAgICAgICAgaWYgb3B0aW9ucy5z ZXJpYWwgYW5kIG9wdGlvbnMuc2VyaWFsICE9IHNlcmlhbDoKLSsgICAgICAgICAgICAgICAgICAg IGNvbnRpbnVlCi0gICAgICAgICAgICAgICAgIGxvZ2dlci5kZWJ1ZygiRGVsZXRpbmcgJXMiLCBj YV9uaWNrbmFtZSkKLS0gICAgICAgICAgICAgICAgY29ubi5kZWxldGVfZW50cnkoZG4pCi0rICAg ICAgICAgICAgICAgIGNlcnRzdG9yZS5kZWxldGVfY2FfY2VydChjb25uLCBhcGkuZW52LmJhc2Vk biwgY2FfY2VydCkKLSsKLSAgICAgICAgICAgICAgICAgcmV0dXJuCi0gCi0rICAgICAgICByYWlz ZSBhZG1pbnRvb2wuU2NyaXB0RXJyb3IoCi0rICAgICAgICAgICAgIkNlcnRpZmljYXRlIHdpdGgg bmFtZSAlcyBhbmQgc2VyaWFsIG51bWJlciAlcyBub3QgZm91bmQiCi0rICAgICAgICAgICAgJSAo Y2Ffbmlja25hbWUsIG9wdGlvbnMuc2VyaWFsKQotKyAgICAgICAgKQotKwotICAgICBkZWYgZGVs ZXRlKHNlbGYpOgotICAgICAgICAgbmlja25hbWUgPSBzZWxmLmFyZ3NbMV0KLSAgICAgICAgIHNl bGYuX2RlbGV0ZV9ieV9uaWNrbmFtZShbbmlja25hbWVdLCBzZWxmLm9wdGlvbnMpCi1AQCAtNTU2 LDE3ICs1OTAsMTcgQEAgY2xhc3MgQ0FDZXJ0TWFuYWdlKGFkbWludG9vbC5BZG1pblRvb2wpOgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGYWxzZSkKLSAK LSAgICAgICAgIG5vdyA9IGRhdGV0aW1lLmRhdGV0aW1lLm5vdyh0ej1kYXRldGltZS50aW1lem9u ZS51dGMpCi0tICAgICAgICBmb3IgY2FfY2VydCwgY2Ffbmlja25hbWUsIF9jYV90cnVzdF9mbGFn cyBpbiBjYV9jZXJ0czoKLSsgICAgICAgIGZvciBjYV9jZXJ0LCBjYV9uaWNrbmFtZSwgX2NhX3Ry dXN0X2ZsYWdzLCBfc2VyaWFsIGluIGNhX2NlcnRzOgotICAgICAgICAgICAgIGlmIGNhX2NlcnQu bm90X3ZhbGlkX2FmdGVyX3V0YyA8IG5vdzoKLSAgICAgICAgICAgICAgICAgZXhwaXJlZF9jZXJ0 cy5hcHBlbmQoY2Ffbmlja25hbWUpCi0gCi0tCi0rICAgICAgICBkZWxfb3B0aW9ucyA9IHNlbGYu b3B0aW9ucwotKyAgICAgICAgZGVsX29wdGlvbnMuZm9yY2UgPSBUcnVlCi0gICAgICAgICBpZiBl eHBpcmVkX2NlcnRzOgotLSAgICAgICAgICAgIHNlbGYuX2RlbGV0ZV9ieV9uaWNrbmFtZShleHBp cmVkX2NlcnRzLCBzZWxmLm9wdGlvbnMpCi0tCi0gICAgICAgICAgICAgcHJpbnQoIkV4cGlyZWQg Y2VydGlmaWNhdGVzIGRlbGV0ZWQ6IikKLS0gICAgICAgICAgICBmb3Igbmlja25hbWUgaW4gZXhw aXJlZF9jZXJ0czoKLS0gICAgICAgICAgICAgICAgcHJpbnQobmlja25hbWUpCi0rICAgICAgICAg ICAgZm9yIGNhX2NlcnQgaW4gZXhwaXJlZF9jZXJ0czoKLSsgICAgICAgICAgICAgICAgc2VsZi5f ZGVsZXRlX2J5X25pY2tuYW1lKFtjYV9jZXJ0XSwgZGVsX29wdGlvbnMpCi0rICAgICAgICAgICAg ICAgIHByaW50KGNhX2NlcnQpCi0gICAgICAgICAgICAgcHJpbnQoIlJ1biBpcGEtY2VydHVwZGF0 ZSBvbiBlbnJvbGxlZCBtYWNoaW5lcyB0byBhcHBseSBjaGFuZ2VzLiIpCi0gICAgICAgICBlbHNl OgotICAgICAgICAgICAgIHByaW50KCJObyBjZXJ0aWZpY2F0ZXMgd2VyZSBkZWxldGVkIikKLWRp ZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVyX2NlcnRpbnN0YWxsLnB5IGIv aXBhc2VydmVyL2luc3RhbGwvaXBhX3NlcnZlcl9jZXJ0aW5zdGFsbC5weQotaW5kZXggNzZhZDM3 Y2E3Li42ZWFmOWQxOTcgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVy X2NlcnRpbnN0YWxsLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfc2VydmVyX2NlcnRp bnN0YWxsLnB5Ci1AQCAtMjc2LDggKzI3Niw5IEBAIGNsYXNzIFNlcnZlckNlcnRJbnN0YWxsKGFk bWludG9vbC5BZG1pblRvb2wpOgotICAgICAgICAgICAgICMgaW1wb3J0IGFsbCB0aGUgQ0EgY2Vy dHMgZnJvbSBuc3NkYiBpbnRvIHRoZSB0ZW1wIGRiCi0gICAgICAgICAgICAgZm9yIG5pY2tuYW1l LCBmbGFncyBpbiBuc3NkYi5saXN0X2NlcnRzKCk6Ci0gICAgICAgICAgICAgICAgIGlmIG5vdCBm bGFncy5oYXNfa2V5OgotLSAgICAgICAgICAgICAgICAgICAgY2VydCA9IG5zc2RiLmdldF9jZXJ0 X2Zyb21fZGIobmlja25hbWUpCi0tICAgICAgICAgICAgICAgICAgICB0ZW1wbnNzZGIuYWRkX2Nl cnQoY2VydCwgbmlja25hbWUsIGZsYWdzKQotKyAgICAgICAgICAgICAgICAgICAgY2VydHMgPSBu c3NkYi5nZXRfY2VydF9mcm9tX2RiKG5pY2tuYW1lLCBhbGw9VHJ1ZSkKLSsgICAgICAgICAgICAg ICAgICAgIGZvciBjZXJ0IGluIGNlcnRzOgotKyAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBu c3NkYi5hZGRfY2VydChjZXJ0LCBuaWNrbmFtZSwgZmxhZ3MpCi0gCi0gICAgICAgICAgICAgIyBu b3cgZ2V0IHRoZSBzZXJ2ZXIgY2VydHMgZnJvbSB0ZW1wbnNzZGIgYW5kIGNoZWNrIHRoZWlyIHZh bGlkaXR5Ci0gICAgICAgICAgICAgdHJ5OgotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxs L2tyYmluc3RhbmNlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwva3JiaW5zdGFuY2UucHkKLWluZGV4 IDk5OTk1ZWEwYi4uYTk4ODc1NTM4IDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwva3Ji aW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2tyYmluc3RhbmNlLnB5Ci1AQCAt NTM2LDcgKzUzNiw3IEBAIGNsYXNzIEtyYkluc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hcGkuZW52LmJhc2Vk biwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFwaS5l bnYucmVhbG0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFs c2UpCi0tICAgICAgICBjYV9jZXJ0cyA9IFtjIGZvciBjLCBfbiwgdCwgX3UgaW4gY2FfY2VydHMg aWYgdCBpcyBub3QgRmFsc2VdCi0rICAgICAgICBjYV9jZXJ0cyA9IFtjIGZvciBjLCBfbiwgdCwg X3UsIF9zIGluIGNhX2NlcnRzIGlmIHQgaXMgbm90IEZhbHNlXQotICAgICAgICAgeDUwOS53cml0 ZV9jZXJ0aWZpY2F0ZV9saXN0KGNhX2NlcnRzLCBwYXRocy5DQUNFUlRfUEVNLCBtb2RlPTBvNjQ0 KQotIAotICAgICBkZWYgaXNzdWVfc2VsZnNpZ25lZF9wa2luaXRfY2VydHMoc2VsZik6Ci1kaWZm IC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmljZS5weSBiL2lwYXNlcnZlci9pbnN0YWxs L3NlcnZpY2UucHkKLWluZGV4IDc3NTVhNGYyZi4uNWU1YzYwYjRiIDEwMDY0NAotLS0tIGEvaXBh c2VydmVyL2luc3RhbGwvc2VydmljZS5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2Vydmlj ZS5weQotQEAgLTU0MSw3ICs1NDEsNyBAQCBjbGFzcyBTZXJ2aWNlOgotICAgICAgICAgICAgIHBh c3MKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgd2l0aCBvcGVuKGNhZmlsZSwgJ3diJykg YXMgZmQ6Ci0tICAgICAgICAgICAgICAgIGZvciBjZXJ0LCBfdW51c2VkMSwgX3VudXNlZDIsIF91 bnVzZWQzIGluIGNhX2NlcnRzOgotKyAgICAgICAgICAgICAgICBmb3IgY2VydCwgX3VudXNlZDEs IF91bnVzZWQyLCBfdW51c2VkMywgX3VudXNlZDQgaW4gY2FfY2VydHM6Ci0gICAgICAgICAgICAg ICAgICAgICBmZC53cml0ZShjZXJ0LnB1YmxpY19ieXRlcyh4NTA5LkVuY29kaW5nLlBFTSkpCi0g Ci0gICAgIGRlZiBleHBvcnRfY2FfY2VydHNfbnNzZGIoc2VsZiwgZGIsIGNhX2lzX2NvbmZpZ3Vy ZWQsIGNvbm49Tm9uZSk6Ci1AQCAtNTYxLDcgKzU2MSw3IEBAIGNsYXNzIFNlcnZpY2U6Ci0gICAg ICAgICBleGNlcHQgZXJyb3JzLk5vdEZvdW5kOgotICAgICAgICAgICAgIHBhc3MKLSAgICAgICAg IGVsc2U6Ci0tICAgICAgICAgICAgZm9yIGNlcnQsIG5pY2tuYW1lLCB0cnVzdF9mbGFncyBpbiBj YV9jZXJ0czoKLSsgICAgICAgICAgICBmb3IgY2VydCwgbmlja25hbWUsIHRydXN0X2ZsYWdzLCBf c2VyaWFsIGluIGNhX2NlcnRzOgotICAgICAgICAgICAgICAgICBkYi5hZGRfY2VydChjZXJ0LCBu aWNrbmFtZSwgdHJ1c3RfZmxhZ3MpCi0gCi0gICAgIGRlZiBpc19jb25maWd1cmVkKHNlbGYpOgot ZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weSBi L2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQotaW5kZXggNDdlZjIz MjU2Li4zYzg4M2I4YmIgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rl c3RfY29tbWFuZHMucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21t YW5kcy5weQotQEAgLTEyMyw2ICsxMjMsODIgQEAgbGV0c2VuY3J5cHRhdXRob3JpdHlyMyA9ICgK LSApCi0gbGVfcjNfbmljayA9ICJDTj1SMyxPPUxldCdzIEVuY3J5cHQsQz1VUyIKLSAKLSsjIENl cnRpZmljYXRlcyBmb3IgcmVwcm9kdWNpbmcgZHVwbGljYXRlIGlwYUNlcnRTdWJqZWN0IHZhbHVl cy4KLSsjIFRoZSB0cmljayB0byBjcmVhdGluZyB0aGUgc2Vjb25kIGludGVybWVkaWF0ZSBpcyBm b3IgdGhlIHZhbGlkaXR5Ci0rIyBwZXJpb2QgdG8gYmUgZGlmZmVyZW50LiBJbiB0aGlzIGNhc2Ug dGhlIHNlY29uZCBDQSBjZXJ0aWZpY2F0ZQotKyMgd2FzIGlzc3VlZCAzIHllYXJzKzFkYXkgYWZ0 ZXIgdGhlIG9yaWdpbmFsLgotK29yaWdpbmFsc3ViamVjdGNoYWluID0gKAotKyAgICBiJy0tLS0t QkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuJwotKyAgICBiJ01JSURjakNDQWxxZ0F3SUJBZ0lDRUFB d0RRWUpLb1pJaHZjTkFRRUxCUUF3UkRFZU1Cd0dBMVVFQ2d3VlEyVnlcbicKLSsgICAgYidkR2xt YVdOaGRHVWdVMmhoWTJzZ1RIUmtNU0l3SUFZRFZRUUREQmxEWlhKMGFXWnBZMkYwWlNCVGFHRmph eUJTXG4nCi0rICAgIGInYjI5MElFTkJNQjRYRFRJeE1EZ3dOekU0TURReU5sb1hEVFF4TURnd01U RTRNRFF5Tmxvd1RERWVNQndHQTFVRVxuJwotKyAgICBiJ0Nnd1ZRMlZ5ZEdsbWFXTmhkR1VnVTJo aFkyc2dUSFJrTVNvd0tBWURWUVFERENGRFpYSjBhV1pwWTJGMFpTQlRcbicKLSsgICAgYidhR0Zq YXlCSmJuUmxjbTFsWkdsaGRHVWdRMEV3Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdn Z0VLXG4nCi0rICAgIGInQW9JQkFRQzJSTm83YXR1VldDLzZ0RENHZm9yTkZ2dlNGZFV3cUh4bHRG bWc2MWkyaG1kSEFqVGFZSTFaSmRnQlxuJwotKyAgICBiJ3k3QXBHYzhSWWM3dGZhTnJVTkE4Q2hk LzlDdTRlVzJLdVRuQW96eHl0WFFuZU5YbG9LMnhiOWlMSWhFVGExRkNcbicKLSsgICAgYidIdzVC YnJtSlNXamlWWVFzTTZiemVpRnNLSnM0cW5QMVQ5aUZIdXFtZ2dUdENUUGFqb1lobjZaS2ZLM3Bt QjhQXG4nCi0rICAgIGInNlhSY3A1Tzl2VWhOSEpXZHB1VWpPTDMyZnNCRXBWMHZLV2xzZW1xRGhK cmh6ajMrWUNLdDZ4clNkcEs2NEhVV1xuJwotKyAgICBiJ0tmM1lNL0s0RzZ2VTVNOERnU0ZleDZU MXUydkNzUVlKNE12OExWQ2hvOGF3VFpvQnNpbXkxdGlNMFY3R21tQkVcbicKLSsgICAgYicwVWNr L1UwMzgxTkJwTllkdjdleUY2ODJTYmloQWdNQkFBR2paakJrTUIwR0ExVWREZ1FXQkJUdEhRQ3Ax ZEJGXG4nCi0rICAgIGIneXBzZWd0V2NYaFhEZG9wSWdEQWZCZ05WSFNNRUdEQVdnQlJKdXovMTRK MVpYcXZwT3Vpa0pKNjJOdHVpR1RBU1xuJwotKyAgICBiJ0JnTlZIUk1CQWY4RUNEQUdBUUgvQWdF Qk1BNEdBMVVkRHdFQi93UUVBd0lCaGpBTkJna3Foa2lHOXcwQkFRc0ZcbicKLSsgICAgYidBQU9D QVFFQWtDQm02dStrL3g0UW9xcXdPSnZ5OHNqcTdiVUNoNzNxTlBBRmxxVlNTQjhVZEN5dTIxRWFY Q2o4XG4nCi0rICAgIGInZGJaYTNHTlJHazZKQUNURVVWUTFTRDhTa0MxRTEvSVd1RXpZT0tPUDZG bVRGYkM0VjV6VTlMQW5HRkphcFM2UVxuJwotKyAgICBiJ0NHd1UyRjQ0b2ZsQmJmT29kRnpucUtQ UHVFTlgwZ21tNGRkdm9UOTE1V1VPdlZMS0x1VnVqa1UvZmZHS0FjOFVcbicKLSsgICAgYidSeFJJ SjNXMllianM5QU5nN0pxQjNOeThpNVFBR0h6alJWd1UrSWdUckpDWVBTMkRyUll0TjNnbEtCVGx5 S3lSXG4nCi0rICAgIGIneE15MFBWS3dWby9JdERPM2ZaMGZzQWlJTys0cEk1MUEwbEZnZTVCZy9E enNvdFp4Y1doZFRlbFdqWUk5Sk5jYVxuJwotKyAgICBiJ3kyR1B6VjF3bHhLK3VpMXVMQ1dFdkti UHRhQ2ZlUT09XG4nCi0rICAgIGInLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLVxuJwotKyAgICBi Jy0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tLVxuJwotKyAgICBiJ01JSURlVENDQW1HZ0F3SUJB Z0lVVWJvK2VHUlQ1amlTMmVJb0V6UmhYYVV4NGd3d0RRWUpLb1pJaHZjTkFRRUxcbicKLSsgICAg YidCUUF3UkRFZU1Cd0dBMVVFQ2d3VlEyVnlkR2xtYVdOaGRHVWdVMmhoWTJzZ1RIUmtNU0l3SUFZ RFZRUUREQmxEXG4nCi0rICAgIGInWlhKMGFXWnBZMkYwWlNCVGFHRmpheUJTYjI5MElFTkJNQjRY RFRJeE1EZ3dOekU0TURReU5sb1hEVFF4TURnd1xuJwotKyAgICBiJ01qRTRNRFF5Tmxvd1JERWVN QndHQTFVRUNnd1ZRMlZ5ZEdsbWFXTmhkR1VnVTJoaFkyc2dUSFJrTVNJd0lBWURcbicKLSsgICAg YidWUVFEREJsRFpYSjBhV1pwWTJGMFpTQlRhR0ZqYXlCU2IyOTBJRU5CTUlJQklqQU5CZ2txaGtp Rzl3MEJBUUVGXG4nCi0rICAgIGInQUFPQ0FROEFNSUlCQ2dLQ0FRRUFyaDQxUFBtSTZyZzduejNj UnFzYkNxR2dEMyt2QUQ0RE5zL0NucCt2aE0vL1xuJwotKyAgICBiJzdEaThGdU1veXlMRHBEK1Jk VC9Wa3ZoMlhocCtPY2pZU0ZMWDh4ZUZSeTBibGZ6ZWwyVHE3UGlEODNCd2V3c0dcbicKLSsgICAg YidCT2FybGhrYlFHeGxHeGtyNEZpNnowa05OQWZiRTJaekJJczRYU3BwbTd4bDRZSnlMUUQwRmt6 ZHJVK3pyWnVLXG4nCi0rICAgIGInM0VMUXprM1VXZlNTcm5iWUFCWTJMQmdrbnk1bTd5L2tKT015 cW4rL1QxQ1V0aFhEM09wR3R5UW0ya3VFb29EWlxuJwotKyAgICBiJ3hQMWVxMzBnUzhvR1lBdzJu Ui84dkpQdXllWmFNeE00ZU5MdWMzNXVxOC82cEkreE5FcHpHdDd4QWsxdWwveGNcbicKLSsgICAg Yidld09ZMmtqaDRLSkNOSy9uQ2pBTHp4cWhOUkhobkg4YkE2eHRPY2dkQndJREFRQUJvMk13WVRB ZEJnTlZIUTRFXG4nCi0rICAgIGInRmdRVVNicy85ZUNkV1Y2cjZUcm9wQ1NldGpiYm9oa3dId1lE VlIwakJCZ3dGb0FVU2JzLzllQ2RXVjZyNlRyb1xuJwotKyAgICBiJ3BDU2V0amJib2hrd0R3WURW UjBUQVFIL0JBVXdBd0VCL3pBT0JnTlZIUThCQWY4RUJBTUNBWVl3RFFZSktvWklcbicKLSsgICAg YidodmNOQVFFTEJRQURnZ0VCQUMzNXN0di8xV1poV2JsUlRaUDNYSGhIMHVzSFJHVFVZN3pOU3Jn UzVzYjNFUnNmXG4nCi0rICAgIGInaGdibUZib21yYTVqS2FCcWZmVG9PWktMRW8rbjN0ZklQb2t1 czM1TlVRbjdveC82cVBwMHJKRUs4ZGZMeDlqQVxuJwotKyAgICBiJzBWVHFSRWJnYUFmNXhMYVg4 NzQrK09UaU0xc1BWWUczRWdzYjFBL1lDdERlazhtWmtLazIxZytEWmxGTU9TRGxcbicKLSsgICAg YidIdytjM2daVW52NmJJVDhQMDl6Kzl5Y2EyTHZnL2RwajJsbjNQYk95a1h6d3VHU29OeGpVdDJP U2RDYnd5TitmXG4nCi0rICAgIGInaE80TkZ0RHZ4NzRHZ2k1YmNUcnowWktPNmc4U1FvdGlpN2NT S0FkcElXRHBYbDhjZnNLM1NSYmtDc2crRmcxU1xuJwotKyAgICBiJ2tNSkVGeURFa0t1OFFlNnp3 S1hJQW9lS1VMTE82QURnRlZIOUNtTT1cbicKLSsgICAgYictLS0tLUVORCBDRVJUSUZJQ0FURS0t LS0tXG4nCi0rKQotK2ludGVybV9uaWNrID0gIkNOPUNlcnRpZmljYXRlIFNoYWNrIEludGVybWVk aWF0ZSBDQSxPPUNlcnRpZmljYXRlIFNoYWNrIEx0ZCIKLStpbnRlcm1lZGlhdGVfc2VyaWFsID0g IjQwOTYiCi0rCi0rZHVwbGljYXRlc3ViamVjdCA9ICgKLSsgICAgYictLS0tLUJFR0lOIENFUlRJ RklDQVRFLS0tLS1cbicKLSsgICAgYidNSUlEY2pDQ0FscWdBd0lCQWdJQ0VBRXdEUVlKS29aSWh2 Y05BUUVMQlFBd1JERWVNQndHQTFVRUNnd1ZRMlZ5XG4nCi0rICAgIGInZEdsbWFXTmhkR1VnVTJo aFkyc2dUSFJrTVNJd0lBWURWUVFEREJsRFpYSjBhV1pwWTJGMFpTQlRhR0ZqYXlCU1xuJwotKyAg ICBiJ2IyOTBJRU5CTUI0WERUSTBNRGd3T0RFNE1EUXlObG9YRFRRME1EZ3dNakU0TURReU5sb3dU REVlTUJ3R0ExVUVcbicKLSsgICAgYidDZ3dWUTJWeWRHbG1hV05oZEdVZ1UyaGhZMnNnVEhSa01T b3dLQVlEVlFRRERDRkRaWEowYVdacFkyRjBaU0JUXG4nCi0rICAgIGInYUdGamF5QkpiblJsY20x bFpHbGhkR1VnUTBFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dFS1xuJwotKyAg ICBiJ0FvSUJBUUN6VW1VQkVPL3cxd3NsUzhIMzA0L3Fmc2JlSUpYMEM1VG04SzJIOUpYb2F1RkZl ajFHWm9IcWVFK3hcbicKLSsgICAgYidZUXZTTXVNRmNLa3MzcHM5Kzl5Vkt1QlB0TXdibVhzcXds UVhPUlU4RHVLaHRSektJT2o3bkVHdzZBUUlzZmtHXG4nCi0rICAgIGInUTREakQxeXRYbGl5TTd2 VmZ4WUQrUDFDRkRLNE5SK0sxSkxkaTNXa1lPZENlbE9RTXdOc3BOL2ViaXF2d29ubFxuJwotKyAg ICBiJzJhc1E2K2ExM1kwbG4xQWRyTEJ2cXRSNVorR3E1K3RpQzV0QStMS2VhMGUzbmVRR0tqZnAv Qk5QSitvb05IUFJcbicKLSsgICAgYic4NmlLRGpCS0FhYnZmckhMRzJ0Nm9vOStONHhSQkd0UFlR aDlMT1FQWjRPZWRjaUNvMXMyenMrRis0LzZjbzZUXG4nCi0rICAgIGInRHNiUXQ3TkpLUTNCSktv c3ZaQmhDNjJsYzRldkFnTUJBQUdqWmpCa01CMEdBMVVkRGdRV0JCVHZBTFQ1aTJncVxuJwotKyAg ICBiJzh5cTJVaDhsWkdnTW9LVkNsekFmQmdOVkhTTUVHREFXZ0JSSnV6LzE0SjFaWHF2cE91aWtK SjYyTnR1aUdUQVNcbicKLSsgICAgYidCZ05WSFJNQkFmOEVDREFHQVFIL0FnRUJNQTRHQTFVZER3 RUIvd1FFQXdJQmhqQU5CZ2txaGtpRzl3MEJBUXNGXG4nCi0rICAgIGInQUFPQ0FRRUFWangxYUdO SzA4L05oZjBKWU14TWI5RHFnNW03TE5PVkJzMWp1clB0d1MzdU4rODQ5OTdHUnFJUVxuJwotKyAg ICBiJ2krZ3AvdFFWRjJZVC9SQW10K1gwYURMRmlTa0JjT2s4N3pvRlJrUjdQWnJoaHRQbzZwU1ZN TjduZ0Q0L2RtcDlcbicKLSsgICAgYidFU2JpSTgraUY1WnhxSTdjM28yTi9MdFpwaStoV1NDSi94 d2JPbDA1anBOUTZkZGwrVXpEcEowb05zeW5kaUpBXG4nCi0rICAgIGIneWNpYUN2bHVLMDI3SjR4 TnltMTY2bHF3bTZDcWlPa204Ui9HNk5KckVIMlhzNVhCQ3lmZUg5VjBwa1hEYnJVZVxuJwotKyAg ICBiJ0xkcWM5eXM3bDcvTUdaaTZRZzJuQTdKOEVyQ2tySTZlWk9vY0prdFNGNlNSZlhkMU5xaXFD aU5aWlFqRDZYS1pcbicKLSsgICAgYic0Zk1LVEtQWDZRMmsxMGlyaUFJbjRSZ1Zqek0wNUE9PVxu JwotKyAgICBiJy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbicKLSspCi0rZHVwbGljYXRlX3Nl cmlhbCA9ICI0MDk3IgotKwotIAotIGNsYXNzIFRlc3RJUEFDb21tYW5kKEludGVncmF0aW9uVGVz dCk6Ci0gICAgICIiIgotQEAgLTgyNyw2ICs5MDMsMTIgQEAgY2xhc3MgVGVzdElQQUNvbW1hbmQo SW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICAgICAgICAgcGF0aHMuSVBBX0NBQ0VSVF9NQU5B R0UsCi0gICAgICAgICAgICAgICAgICdpbnN0YWxsJywKLSAgICAgICAgICAgICAgICAgZmlsZW5h bWVdKQotKyAgICAgICAgIyByZW1vdmUgdGhlIHN1YmplY3Qgb2YgZ29vZF9wa2NzNyB3ZSBqdXN0 IGFkZGVkIHRvIGF2b2lkCi0rICAgICAgICAjIGZ1dHVyZSBmYWlsdXJlcy4KLSsgICAgICAgIHNl bGYubWFzdGVyLnJ1bl9jb21tYW5kKFsKLSsgICAgICAgICAgICBwYXRocy5JUEFfQ0FDRVJUX01B TkFHRSwKLSsgICAgICAgICAgICAnZGVsZXRlJywKLSsgICAgICAgICAgICAnQ049Q2VydGlmaWNh dGUgQXV0aG9yaXR5LE89RVhBTVBMRS5DT00nXSkKLSAKLSAgICAgICAgIGZvciBjb250ZW50cyBp biAoYmFkY2VydCwpOgotICAgICAgICAgICAgIHNlbGYubWFzdGVyLnB1dF9maWxlX2NvbnRlbnRz KGZpbGVuYW1lLCBjb250ZW50cykKLUBAIC0xMTYwLDcgKzEyNDIsNyBAQCBjbGFzcyBUZXN0SVBB Q29tbWFuZChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UK LSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29kZSAhPSAwCi0tICAg ICAgICBhc3NlcnQgIlZlcmlmeWluZyBcJyVzXCcgZmFpbGVkLiBSZW1vdmluZyBwYXJ0IG9mIHRo ZSAiIFwKLSsgICAgICAgIGFzc2VydCAiVmVyaWZ5aW5nIHJlbW92YWwgb2YgXCclc1wnIGZhaWxl ZC4gUmVtb3ZpbmcgcGFydCBvZiB0aGUgIiBcCi0gICAgICAgICAgICAgICAgImNoYWluPyBjZXJ0 dXRpbDogY2VydGlmaWNhdGUgaXMgaW52YWxpZDogUGVlcidzICIgXAotICAgICAgICAgICAgICAg ICJDZXJ0aWZpY2F0ZSBpc3N1ZXIgaXMgbm90IHJlY29nbml6ZWQuIiBcCi0gICAgICAgICAgICAg ICAgJSBpc3Jncm9vdHgxX25pY2sgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci1AQCAtMTczNSw2ICsx ODE3LDY4IEBAIGNsYXNzIFRlc3RJUEFDb21tYW5kKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAg ICAgICAgc2VsZi5yZXBsaWNhc1swXSwgJy91c3Ivc2Jpbi9pcGEtcmVwbGljYS1pbnN0YWxsJwot ICAgICAgICAgKQotIAotKyAgICBkZWYgdGVzdF9pcGFfY2FjZXJ0X21hbmFnZV9kdXBsaWNhdGVf Y2VydHN1YmplY3Qoc2VsZik6Ci0rICAgICAgICAiIiJUZXN0IGZvciBpcGEtY2FjZXJ0LW1hbmFn ZSBpbnN0YWxsIHdpdGggZHVwbGljYXRlZAotKyAgICAgICAgICAgY2VydGlmaWNhdGUgc3ViamVj dHMuIFRoaXMgcmVsaWVzIG9uIHRoZSBiZWhhdmlvcgotKyAgICAgICAgICAgb2YgTlNTIHRvIHNo b3cgdGhlIGNlcnRpZmljYXRlcyBzZXBhcmF0ZWx5IHJhdGhlciB0aGFuCi0rICAgICAgICAgICBs dW1waW5nIHRoZSBkdXBsaWNhdGVzIHRvZ2V0aGVyLiBUaGlzIHJlcXVpcmVzIGRpZmZlcmVudAot KyAgICAgICAgICAgdmFsaWRpdHkgcGVyaW9kcywgc2F5IDMgeWVhcnMgKyAxIGRheS4KLSsgICAg ICAgICIiIgotKwotKyAgICAgICAgY2VydGZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5tYXN0ZXIu Y29uZmlnLnRlc3RfZGlyLCAnY2hhaW4ucGVtJykKLSsgICAgICAgIHNlbGYubWFzdGVyLnB1dF9m aWxlX2NvbnRlbnRzKGNlcnRmaWxlLCBvcmlnaW5hbHN1YmplY3RjaGFpbikKLSsgICAgICAgIHJl c3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFtwYXRocy5JUEFf Q0FDRVJUX01BTkFHRSwgJ2luc3RhbGwnLCBjZXJ0ZmlsZV0pCi0rCi0rICAgICAgICBjZXJ0cyA9 IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFtwYXRocy5JUEFfQ0FDRVJU X01BTkFHRSwgJ2xpc3QnXSwgcmFpc2VvbmVycj1GYWxzZQotKyAgICAgICAgKS5zdGRvdXRfdGV4 dAotKwotKyAgICAgICAgYXNzZXJ0IGYie2ludGVybV9uaWNrfSAge2ludGVybWVkaWF0ZV9zZXJp YWx9IiBpbiBjZXJ0cwotKwotKyAgICAgICAgY2VydGZpbGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5t YXN0ZXIuY29uZmlnLnRlc3RfZGlyLCAnaW50ZXJtLnBlbScpCi0rICAgICAgICBzZWxmLm1hc3Rl ci5wdXRfZmlsZV9jb250ZW50cyhjZXJ0ZmlsZSwgZHVwbGljYXRlc3ViamVjdCkKLSsgICAgICAg IHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFtwYXRocy5J UEFfQ0FDRVJUX01BTkFHRSwgJ2luc3RhbGwnLCBjZXJ0ZmlsZV0pCi0rCi0rICAgICAgICBjZXJ0 cyA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFtwYXRocy5JUEFfQ0FD RVJUX01BTkFHRSwgJ2xpc3QnXSwgcmFpc2VvbmVycj1GYWxzZQotKyAgICAgICAgKS5zdGRvdXRf dGV4dAotKwotKyAgICAgICAgIyBJZiB0aGUgZHVwbGljYXRlIHN1YmplY3QgY2VydGlmaWNhdGVz IGFyZSBub3Qgc3VmZmljaWVudGx5Ci0rICAgICAgICAjIGRpZmZlcmVudCBpbiB2YWxpZGl0eSBw ZXJpb2QsIG9yIHByaW9yIHRvIHRoZSB0aGlzIGZpeCwKLSsgICAgICAgICMgdGhlIHRlc3Qgd2ls bCBmYWlsIGJlY2F1c2Ugb25seSBvbmUgb2YgdGhlIGR1cGxpY2F0ZWx5IG5hbWVkCi0rICAgICAg ICAjIHN1YmplY3QgY2VydGlmaWNhdGVzIHdpbGwgYmUgdmlzaWJsZTogdGhlIHNlY29uZCBvbmUg KDQwOTcpLgotKyAgICAgICAgYXNzZXJ0IGYie2ludGVybV9uaWNrfSAge2ludGVybWVkaWF0ZV9z ZXJpYWx9IiBpbiBjZXJ0cwotKyAgICAgICAgYXNzZXJ0IGYie2ludGVybV9uaWNrfSAge2R1cGxp Y2F0ZV9zZXJpYWx9IiBpbiBjZXJ0cwotKwotKyAgICAgICAgIyBNYWtlIHN1cmUgd2UgY2FuIGlu c3RhbGwgdGhlIG5ldyBjZXJ0cyBzeXN0ZW13aWRlCi0rICAgICAgICAjIE5vIGFzc2VydGlvbnMg bmVlZGVkLCBpdCB3aWxsIHdvcmsgb3IgaXQgd29uJ3QKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1 bl9jb21tYW5kKFsiaXBhLWNlcnR1cGRhdGUiXSkKLSsKLSsgICAgICAgICMgZGVsZXRlIG9uZSBv ZiB0aGUgZHVwbGljYXRlIHN1YmplY3RzLCBubyBzZXJpYWwgbnVtYmVyCi0rICAgICAgICByZXN1 bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbJ2lwYS1jYWNlcnQt bWFuYWdlJywgJ2RlbGV0ZScsIGludGVybV9uaWNrXSwKLSsgICAgICAgICAgICByYWlzZW9uZXJy PUZhbHNlCi0rICAgICAgICApCi0rICAgICAgICBhc3NlcnQgcmVzdWx0LnJldHVybmNvZGUgPT0g MQotKyAgICAgICAgYXNzZXJ0ICdNdWx0aXBsZSBtYXRjaGluZyBjZXJ0aWZpY2F0ZXMnIGluIHJl c3VsdC5zdGRlcnJfdGV4dAotKwotKyAgICAgICAgIyBkZWxldGUgb25lIG9mIHRoZSBkdXBsaWNh dGUgc3ViamVjdHMgYnkgdGhlIHNlcmlhbCBudW1iZXIKLSsgICAgICAgIHJlc3VsdCA9IHNlbGYu bWFzdGVyLnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBhLWNhY2VydC1tYW5hZ2UnLCAn ZGVsZXRlJywgaW50ZXJtX25pY2ssCi0rICAgICAgICAgICAgICctLXNlcmlhbCcsIGludGVybWVk aWF0ZV9zZXJpYWwsXSwKLSsgICAgICAgICAgICByYWlzZW9uZXJyPUZhbHNlCi0rICAgICAgICAp Ci0rICAgICAgICBhc3NlcnQgcmVzdWx0LnJldHVybmNvZGUgPT0gMAotKwotKyAgICAgICAgY2Vy dHMgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAgICAgICBbcGF0aHMuSVBBX0NB Q0VSVF9NQU5BR0UsICdsaXN0J10sIHJhaXNlb25lcnI9RmFsc2UKLSsgICAgICAgICkuc3Rkb3V0 X3RleHQKLSsKLSsgICAgICAgIGFzc2VydCBmIntpbnRlcm1fbmlja30gIHtpbnRlcm1lZGlhdGVf c2VyaWFsfSIgbm90IGluIGNlcnRzCi0rICAgICAgICBhc3NlcnQgZiJ7aW50ZXJtX25pY2t9ICB7 ZHVwbGljYXRlX3NlcmlhbH0iIGluIGNlcnRzCi0rCi0gCi0gY2xhc3MgVGVzdElQQUNvbW1hbmRX aXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRlc3QpOgotICAgICAiIiIKLUBAIC0xOTcwLDcgKzIx MTQsMTAgQEAgY2xhc3MgVGVzdElQQUNvbW1hbmRXaXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRl c3QpOgotICAgICAgICAgYXNzZXJ0IHJlLnNlYXJjaChuZXdfZXJyX21zZywgZGlyc3J2X2Vycm9y X2xvZykKLSAKLSAgICAgZGVmIHRlc3RfaXBhX2NhY2VydF9tYW5hZ2VfcHJ1bmUoc2VsZik6Ci0t ICAgICAgICAiIiJUZXN0IGZvciBpcGEtY2FjZXJ0LW1hbmFnZSBwcnVuZSIiIgotKyAgICAgICAg IiIiVGVzdCBmb3IgaXBhLWNhY2VydC1tYW5hZ2UgcHJ1bmUKLSsKLSsgICAgICAgICAgIFRoaXMg dHdpZGRsZXMgd2l0aCB0aW1lIHNvIHNob3VsZCBiZSBydW4gbGFzdCBpbiB0aGUgY2xhc3MuCi0r ICAgICAgICAiIiIKLSAKLSAgICAgICAgIGNlcnRmaWxlID0gb3MucGF0aC5qb2luKHNlbGYubWFz dGVyLmNvbmZpZy50ZXN0X2RpciwgJ2NlcnQucGVtJykKLSAgICAgICAgIHNlbGYubWFzdGVyLnB1 dF9maWxlX2NvbnRlbnRzKGNlcnRmaWxlLCBpc3Jncm9vdHgxKQotLS0gCi0yLjQ5LjAKLQoKZGlm ZiAtLWdpdCBhL2ZyZWVpcGEtNC0xMi0yLXBvc3QtdXBkYXRlcy0yLnBhdGNoIGIvZnJlZWlwYS00 LTEyLTItcG9zdC11cGRhdGVzLTIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGY1ZGEyN2MuLjAwMDAwMDAKLS0tIGEvZnJlZWlwYS00LTEyLTItcG9zdC11cGRhdGVzLTIucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1Mzk3ICswLDAgQEAKLUZyb20gZTFkNTE3MDMyYWZhMmE4 MjU4YzFmZjhiZDZiZmRkNDE3NWI0MjMyNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEFudG9uaW8gVG9ycmVzIDxhbnRvcnJlc0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxNyBGZWIg MjAyNSAxMDoyMTo1MyArMDEwMAotU3ViamVjdDogW1BBVENIIDAxLzUzXSBkbnM6IGRvbid0IHBv cHVsYXRlIGZvcndhcmRlcnMgd2l0aCBEb1QgZm9yd2FyZGVycwotCi1ETlMgb3ZlciBUTFMgc2V0 dXAgb3ZlcnJpZGVzIGdsb2JhbCBmb3J3YXJkZXIgdG8gcG9pbnQgdG8gVW5ib3VuZCwgc28gbm8K LW5lZWQgdG8gc2V0dXAgcmVndWxhciBmb3J3YXJkZXJzLgotCi1SZXNvbHZlczogaHR0cHM6Ly9w YWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzQ4Ci1TaWduZWQtb2ZmLWJ5OiBBbnRvbmlvIFRvcnJl cyA8YW50b3JyZXNAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2Rucy5weSB8IDEyICsr LS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9u cygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5IGIvaXBhc2VydmVy L2luc3RhbGwvZG5zLnB5Ci1pbmRleCA4OGFmZjE5YmMuLjQ3MGUxOTE1OSAxMDA2NDQKLS0tLSBh L2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5 Ci1AQCAtMzYwLDE0ICszNjAsOSBAQCBkZWYgaW5zdGFsbF9jaGVjayhzdGFuZGFsb25lLCBhcGks IHJlcGxpY2EsIG9wdGlvbnMsIGhvc3RuYW1lKToKLSAKLSAgICAgaWYgb3B0aW9ucy5ub19mb3J3 YXJkZXJzOgotICAgICAgICAgb3B0aW9ucy5mb3J3YXJkZXJzID0gW10KLS0gICAgZWxpZiAob3B0 aW9ucy5mb3J3YXJkZXJzCi0tICAgICAgICAgIG9yIG9wdGlvbnMuZG90X2ZvcndhcmRlcnMgb3Ig b3B0aW9ucy5hdXRvX2ZvcndhcmRlcnMpOgotKyAgICBlbGlmIG9wdGlvbnMuZm9yd2FyZGVycyBv ciBvcHRpb25zLmF1dG9fZm9yd2FyZGVyczoKLSAgICAgICAgIGlmIG5vdCBvcHRpb25zLmZvcndh cmRlcnM6Ci0tICAgICAgICAgICAgaWYgb3B0aW9ucy5kb3RfZm9yd2FyZGVyczoKLS0gICAgICAg ICAgICAgICAgb3B0aW9ucy5mb3J3YXJkZXJzID0gW2Z3LnNwbGl0KCIjIilbMF0KLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBmdyBpbiBvcHRpb25zLmRvdF9mb3J3 YXJkZXJzXQotLSAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIG9wdGlvbnMuZm9y d2FyZGVycyA9IFtdCi0rICAgICAgICAgICAgb3B0aW9ucy5mb3J3YXJkZXJzID0gW10KLSAgICAg ICAgIGlmIG9wdGlvbnMuYXV0b19mb3J3YXJkZXJzOgotICAgICAgICAgICAgIG9wdGlvbnMuZm9y d2FyZGVycy5leHRlbmQoZG5zZm9yd2FyZGVycy5nZXRfbmFtZXNlcnZlcnMoKSkKLSAgICAgZWxp ZiBzdGFuZGFsb25lIG9yIG5vdCByZXBsaWNhOgotQEAgLTQzNiw5ICs0MzEsNiBAQCBkZWYgaW5z dGFsbChzdGFuZGFsb25lLCByZXBsaWNhLCBvcHRpb25zLCBhcGk9YXBpKToKLSAgICAgICAgICAg ICAiYW5kIElQQSBDQSBpcyBub3QgcHJlc2VudC4iCi0gICAgICAgICApCi0gCi0tICAgIGlmIG5v dCBvcHRpb25zLmZvcndhcmRlcnMgYW5kIG9wdGlvbnMuZG90X2ZvcndhcmRlcnM6Ci0tICAgICAg ICBvcHRpb25zLmZvcndhZGVycyA9IFtmdy5zcGxpdCgiIyIpWzBdIGZvciBmdyBpbiBvcHRpb25z LmRvdF9mb3J3YXJkZXJzXQotLQotICAgICBiaW5kID0gYmluZGluc3RhbmNlLkJpbmRJbnN0YW5j ZShmc3RvcmUsIGFwaT1hcGkpCi0gICAgIGJpbmQuc2V0dXAoYXBpLmVudi5ob3N0LCBpcF9hZGRy ZXNzZXMsIGFwaS5lbnYucmVhbG0sIGFwaS5lbnYuZG9tYWluLAotICAgICAgICAgICAgICAgIG9w dGlvbnMuZm9yd2FyZGVycywgb3B0aW9ucy5mb3J3YXJkX3BvbGljeSwKLS0tIAotMi40OS4wCi0K LQotRnJvbSAzZjdkODQ2Nzc3NzViZDllMjM3YjI4YjA4ZmU5NjFhMTU3YjhiMTRlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxla3NhbmRyIFNoYXJvdiA8YXNoYXJvdkByZWRoYXQu Y29tPgotRGF0ZTogU2F0LCA4IE1hciAyMDI1IDE0OjU1OjA5ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0ggMDIvNTNdIEFkZCBhIGNoZWNrIGludG8gaXBhLWNlcnQtZml4IHRvb2wgdG8gYXZvaWQgdXBk YXRpbmcKLSBjZXJ0cyBpZiBDQSBpcyBjbG9zZSB0byBiZWluZyBleHBpcmVkLgotCi1GaXhlczog aHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzYwCi1TaWduZWQtb2ZmLWJ5OiBBbGVr c2FuZHIgU2hhcm92IDxhc2hhcm92QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0 ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9jZXJ0 X2ZpeC5weSB8IDExICsrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMo KykKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9jZXJ0X2ZpeC5weSBiL2lw YXNlcnZlci9pbnN0YWxsL2lwYV9jZXJ0X2ZpeC5weQotaW5kZXggOGUwMmQxZTc1Li45NjBkN2I5 ZTAgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfY2VydF9maXgucHkKLSsrKyBi L2lwYXNlcnZlci9pbnN0YWxsL2lwYV9jZXJ0X2ZpeC5weQotQEAgLTY5LDYgKzY5LDcgQEAgbG9n Z2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0gCi0gCi0gY2VydF9uaWNrbmFtZXMg PSB7Ci0rICAgICdjYV9pc3N1aW5nJzogJ2NhU2lnbmluZ0NlcnQgY2VydC1wa2ktY2EnLAotICAg ICAnc3Nsc2VydmVyJzogJ1NlcnZlci1DZXJ0IGNlcnQtcGtpLWNhJywKLSAgICAgJ3N1YnN5c3Rl bSc6ICdzdWJzeXN0ZW1DZXJ0IGNlcnQtcGtpLWNhJywKLSAgICAgJ2NhX29jc3Bfc2lnbmluZyc6 ICdvY3NwU2lnbmluZ0NlcnQgY2VydC1wa2ktY2EnLAotQEAgLTEzNyw2ICsxMzgsMTYgQEAgY2xh c3MgSVBBQ2VydEZpeChBZG1pblRvb2wpOgotICAgICAgICAgICAgIHByaW50KCJOb3RoaW5nIHRv IGRvLiIpCi0gICAgICAgICAgICAgcmV0dXJuIDAKLSAKLSsgICAgICAgIGlmIGFueShrZXkgPT0g J2NhX2lzc3VpbmcnIGZvciBrZXksIF8gaW4gY2VydHMpOgotKyAgICAgICAgICAgIGxvZ2dlci5k ZWJ1ZygiQ0Egc2lnbmluZyBjZXJ0IGlzIGV4cGlyZWQsIGV4aXRpbmchIikKLSsgICAgICAgICAg ICBwcmludCgKLSsgICAgICAgICAgICAgICAgIlRoZSBDQSBzaWduaW5nIGNlcnRpZmljYXRlIGlz IGV4cGlyZWQgb3Igd2lsbCBleHBpcmUgd2l0aGluICIKLSsgICAgICAgICAgICAgICAgInRoZSBu ZXh0IHR3byB3ZWVrcy5cblxuaXBhLWNlcnQtZml4IGNhbm5vdCBwcm9jZWVkLCBwbGVhc2UgIgot KyAgICAgICAgICAgICAgICAicmVmZXIgdG8gdGhlIGlwYS1jYWNlcnQtbWFuYWdlIHRvb2wgdG8g cmVuZXcgdGhlIENBICIKLSsgICAgICAgICAgICAgICAgImNlcnRpZmljYXRlIGJlZm9yZSBwcm9j ZWVkaW5nLiIKLSsgICAgICAgICAgICApCi0rICAgICAgICAgICAgcmV0dXJuIDEKLSsKLSAgICAg ICAgIHByaW50KG1zZykKLSAKLSAgICAgICAgIHByaW50X2ludGVudGlvbnMoY2VydHMsIGV4dHJh X2NlcnRzLCBub25fcmVuZXdlZCkKLS0tIAotMi40OS4wCi0KLQotRnJvbSBjZGMwM2Q3YjYyMzNm NzM2YzUxYzEwYWEwNzIyNWFhYzk3MTVlNGMwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogQWxla3NhbmRyIFNoYXJvdiA8YXNoYXJvdkByZWRoYXQuY29tPgotRGF0ZTogU2F0LCA4IE1h ciAyMDI1IDE1OjA0OjU3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDMvNTNdIFRlc3QgZml4IGZv ciB0aGUgdXBkYXRlCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3 NjAKLVNpZ25lZC1vZmYtYnk6IEFsZWtzYW5kciBTaGFyb3YgPGFzaGFyb3ZAcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmll d2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9jZXJ0X2ZpeC5weSB8IDkgKysrKysrKy0t Ci0gMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfY2VydF9maXgucHkg Yi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2NlcnRfZml4LnB5Ci1pbmRleCAx NWQ4YTgxNTcuLmQxMWZkM2Q2MSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRp b24vdGVzdF9pcGFfY2VydF9maXgucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9pcGFfY2VydF9maXgucHkKLUBAIC0zMDEsMTMgKzMwMSwxOCBAQCBjbGFzcyBUZXN0SXBh Q2VydEZpeChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgdmFsaWQuIElmIENBIGNlcnQgZXhw aXJlZCwgaXBhLWNlcnQtZml4IHdvbid0IHdvcmsuCi0gCi0gICAgICAgICByZWxhdGVkOiBodHRw czovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzg3MjEKLSsKLSsgICAgICAgIElmIENBIGNlcnQg aXMgY2xvc2UgdG8gZXhwaXJ5LCB0aGVyZSdzIG5vIHJlYXNvbiB0byBpc3N1ZSBuZXcgY2VydHMK LSsgICAgICAgIHdpdGggc2hvcnQgdmFsaWRpdHkgcGVyaW9kLiBTbywgaXBhLWNlcnQtZml4IHNo b3VsZCBmYWlsIGluIHRoaXMgY2FzZS4KLSsKLSsgICAgICAgIHJlbGF0ZWQ6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc2MAotICAgICAgICAgIiIiCi0gICAgICAgICByZXN1bHQg PSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2lwYS1jZXJ0LWZpeCcsICctdiddLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW5fdGV4dD0neWVzXG4nLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFpc2VvbmVycj1GYWxz ZSkKLSAgICAgICAgICMgY2hlY2sgdGhhdCBwa2ktc2VydmVyIGNlcnQtZml4IGNvbW1hbmQgZmFp bHMKLS0gICAgICAgIGVycl9tc2cgPSAoIkVSUk9SOiBDYWxsZWRQcm9jZXNzRXJyb3IoQ29tbWFu ZCAiCi0tICAgICAgICAgICAgICAgICAgICJbJ3BraS1zZXJ2ZXInLCAnY2VydC1maXgnIikKLSsg ICAgICAgIGVycl9tc2cgPSAoIkNBIHNpZ25pbmcgY2VydCBpcyBleHBpcmVkLCBleGl0aW5nISIp Ci0rICAgICAgICBhc3NlcnQgcmVzdWx0LnJldHVybmNvZGUgPT0gMQotICAgICAgICAgYXNzZXJ0 IGVycl9tc2cgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0gCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZy b20gYjhmZDlkYmZiMjE5OWIyYWI4MjU2M2JlMjA4NWE0ZTdkNzY1ZWIwYiBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgot RGF0ZTogVGh1LCAyNyBNYXIgMjAyNSAxNjoyNjoyMCAtMDQwMAotU3ViamVjdDogW1BBVENIIDA0 LzUzXSBBZGRyZXNzIGRlcHJlY2F0aW9uIHdhcm5pbmcgaW4gaXBhLXJlcGxpY2EtbWFuYWdlCi0K LVJ1bm5pbmcgaXBhLXJlcGxpY2EtbWFuYWdlIHJlc3VsdHMgaW4gYSBkZXByZWNhdGlvbiB3YXJu aW5nOgotCi0vdXNyL2xpYi9weXRob24zLjEyL3NpdGUtcGFja2FnZXMvaXBhY2xpZW50L2luc3Rh bGwvaXBhZGlzY292ZXJ5LnB5OjIwOgotRGVwcmVjYXRpb25XYXJuaW5nOiBpcGFjbGllbnQuaW5z dGFsbC5pcGFkaXNjb3ZlcnkgaXMgZGVwcmVjYXRlZCwgdXNlIGlwYWNsaQotZW50LmRpc2NvdmVy eQotCi1Td2l0Y2ggdG8gdGhlIG5ldyB1c2FnZS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlv L2ZyZWVpcGEvaXNzdWUvOTc3MQotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZs b0ByZWRoYXQuY29tPgotLS0tCi0gaW5zdGFsbC90b29scy9pcGEtcmVwbGljYS1tYW5hZ2UuaW4g fCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0K LWRpZmYgLS1naXQgYS9pbnN0YWxsL3Rvb2xzL2lwYS1yZXBsaWNhLW1hbmFnZS5pbiBiL2luc3Rh bGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlLmluCi1pbmRleCA3ZTViMzFhNTkuLmM4YWI3NGE4 MCAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlLmluCi0rKysg Yi9pbnN0YWxsL3Rvb2xzL2lwYS1yZXBsaWNhLW1hbmFnZS5pbgotQEAgLTMwLDcgKzMwLDcgQEAg ZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBNQVhJTlQKLSAKLSBpbXBvcnQgbGRhcAotIAotLWZy b20gaXBhY2xpZW50Lmluc3RhbGwgaW1wb3J0IGlwYWRpc2NvdmVyeQotK2ltcG9ydCBpcGFjbGll bnQuZGlzY292ZXJ5IGFzIGlwYWRpc2NvdmVyeQotIGZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGF1 dGlsCi0gZnJvbSBpcGFzZXJ2ZXIuaW5zdGFsbCBpbXBvcnQgcmVwbGljYXRpb24sIGRzaW5zdGFu Y2UsIGluc3RhbGx1dGlscwotIGZyb20gaXBhc2VydmVyLmluc3RhbGwgaW1wb3J0IGJpbmRpbnN0 YW5jZSwgY2FpbnN0YW5jZQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQzZTllMzVlZjczNzI5OTU2 YzY0OWYyZWUwZDBmZjM5NjNmOTllNGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBE YXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjggTWFyIDIwMjUg MTA6MzM6MTUgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNS81M10gQ29ycmVjdCBkbnNyZWNvcmRf KiB0ZXN0cyBmb3IgLS1yYXcgLS1zdHJ1Y3R1cmVkCi0KLUZpeGVzIHR5cG8gaW4gdGhlIHRlc3Rz LCAgLS1yYXcgLS1zdHJ1Y3R1cmVkIGlzIG9ubHkgY2hlY2tlZCBpZiByZXN0IG9mCi10aGUgY29t bWFuZCBpcyBjb3JyZWN0IGFzIHdlbGwsIHRoZXJlZm9yZSB0ZXN0IGNoYW5nZXMgd2VyZSByZXF1 aXJlZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc2OAotU2ln bmVkLW9mZi1ieTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogTWljaGFsIFBvbG92a2EgPG1wb2xvdmthQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxv cmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3Rf eG1scnBjL3Rlc3RfZG5zX3BsdWdpbi5weSB8IDMyICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgMTggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkgYi9pcGF0 ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkKLWluZGV4IDgwM2IwYTk1Ny4uODY0 ZDUyODdmIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9kbnNfcGx1Z2lu LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkKLUBAIC0z NDE2LDIwICszNDE2LDExIEBAIGNsYXNzIHRlc3RfZG5zKERlY2xhcmF0aXZlKToKLSAgICAgICAg ICAgICB9LAotICAgICAgICAgKSwKLSAKLS0gICAgICAgIGRpY3QoCi0tICAgICAgICAgICAgZGVz Yz0nRGVsZXRlIHpvbmUgJXInICUgem9uZTEsCi0tICAgICAgICAgICAgY29tbWFuZD0oJ2Ruc3pv bmVfZGVsJywgW3pvbmUxXSwge30pLAotLSAgICAgICAgICAgIGV4cGVjdGVkPXsKLS0gICAgICAg ICAgICAgICAgJ3ZhbHVlJzogW3pvbmUxX2Fic29sdXRlX2Ruc25hbWVdLAotLSAgICAgICAgICAg ICAgICAnc3VtbWFyeSc6IHUnRGVsZXRlZCBETlMgem9uZSAiJXMiJyAlIHpvbmUxX2Fic29sdXRl LAotLSAgICAgICAgICAgICAgICAncmVzdWx0JzogeydmYWlsZWQnOiBbXX0sCi0tICAgICAgICAg ICAgfSwKLS0gICAgICAgICksCi0tCi0gICAgICAgICBkaWN0KAotICAgICAgICAgICAgIGRlc2M9 IkVuc3VyZSAtLXJhdyBhbmQgLS1zdHJ1Y3R1cmUgZG9lcyBub3Qgd29yayAiCi0gICAgICAgICAg ICAgICAgICAiZm9yIGlwYSBkbnNyZWNvcmQtYWRkIiwKLS0gICAgICAgICAgICBjb21tYW5kPSgn ZG5yZWNvcmRfYWRkJywgW10sIHt1J3Jhdyc6IFRydWUsIHUnc3RydWN0dXJlZCc6IFRydWV9KSwK LSsgICAgICAgICAgICBjb21tYW5kPSgnZG5zcmVjb3JkX2FkZCcsIFt6b25lMSwgbmFtZTFdLAot KyAgICAgICAgICAgICAgICAgICAgIHsnYXJlY29yZCc6IGFyZWMyLCB1J3Jhdyc6IFRydWUsIHUn c3RydWN0dXJlZCc6IFRydWV9KSwKLSAgICAgICAgICAgICBleHBlY3RlZD1lcnJvcnMuTXV0dWFs bHlFeGNsdXNpdmVFcnJvcigKLSAgICAgICAgICAgICAgICAgcmVhc29uPXUiY2Fubm90IHVzZSBz dHJ1Y3R1cmVkIHRvZ2V0aGVyIHdpdGggcmF3IgotICAgICAgICAgICAgICksCi1AQCAtMzQzOCw3 ICszNDI5LDggQEAgY2xhc3MgdGVzdF9kbnMoRGVjbGFyYXRpdmUpOgotICAgICAgICAgZGljdCgK LSAgICAgICAgICAgICBkZXNjPSJFbnN1cmUgLS1yYXcgYW5kIC0tc3RydWN0dXJlIGRvZXMgbm90 IHdvcmsgIgotICAgICAgICAgICAgICAgICAgImZvciBpcGEgZG5zcmVjb3JkLW1vZCIsCi0tICAg ICAgICAgICAgY29tbWFuZD0oJ2RucmVjb3JkX2FkZCcsIFtdLCB7dSdyYXcnOiBUcnVlLCB1J3N0 cnVjdHVyZWQnOiBUcnVlfSksCi0rICAgICAgICAgICAgY29tbWFuZD0oJ2Ruc3JlY29yZF9tb2Qn LCBbem9uZTEsIG5hbWUxXSwKLSsgICAgICAgICAgICAgICAgICAgICB7J2FyZWNvcmQnOiBhcmVj MSwgdSdyYXcnOiBUcnVlLCB1J3N0cnVjdHVyZWQnOiBUcnVlfSksCi0gICAgICAgICAgICAgZXhw ZWN0ZWQ9ZXJyb3JzLk11dHVhbGx5RXhjbHVzaXZlRXJyb3IoCi0gICAgICAgICAgICAgICAgIHJl YXNvbj11ImNhbm5vdCB1c2Ugc3RydWN0dXJlZCB0b2dldGhlciB3aXRoIHJhdyIKLSAgICAgICAg ICAgICApLAotQEAgLTM0NDcsNyArMzQzOSw4IEBAIGNsYXNzIHRlc3RfZG5zKERlY2xhcmF0aXZl KToKLSAgICAgICAgIGRpY3QoCi0gICAgICAgICAgICAgZGVzYz0iRW5zdXJlIC0tcmF3IGFuZCAt LXN0cnVjdHVyZSBkb2VzIG5vdCB3b3JrICIKLSAgICAgICAgICAgICAgICAgICJmb3IgaXBhIGRu c3JlY29yZC1zaG93IiwKLS0gICAgICAgICAgICBjb21tYW5kPSgnZG5yZWNvcmRfYWRkJywgW10s IHt1J3Jhdyc6IFRydWUsIHUnc3RydWN0dXJlZCc6IFRydWV9KSwKLSsgICAgICAgICAgICBjb21t YW5kPSgnZG5zcmVjb3JkX3Nob3cnLCBbem9uZTEsIG5hbWUxXSwKLSsgICAgICAgICAgICAgICAg ICAgICB7dSdyYXcnOiBUcnVlLCB1J3N0cnVjdHVyZWQnOiBUcnVlfSksCi0gICAgICAgICAgICAg ZXhwZWN0ZWQ9ZXJyb3JzLk11dHVhbGx5RXhjbHVzaXZlRXJyb3IoCi0gICAgICAgICAgICAgICAg IHJlYXNvbj11ImNhbm5vdCB1c2Ugc3RydWN0dXJlZCB0b2dldGhlciB3aXRoIHJhdyIKLSAgICAg ICAgICAgICApLAotQEAgLTM0NTYsMTEgKzM0NDksMjIgQEAgY2xhc3MgdGVzdF9kbnMoRGVjbGFy YXRpdmUpOgotICAgICAgICAgZGljdCgKLSAgICAgICAgICAgICBkZXNjPSJFbnN1cmUgLS1yYXcg YW5kIC0tc3RydWN0dXJlIGRvZXMgbm90IHdvcmsgIgotICAgICAgICAgICAgICAgICAgImZvciBp cGEgZG5zcmVjb3JkLWZpbmQiLAotLSAgICAgICAgICAgIGNvbW1hbmQ9KCdkbnJlY29yZF9hZGQn LCBbXSwge3UncmF3JzogVHJ1ZSwgdSdzdHJ1Y3R1cmVkJzogVHJ1ZX0pLAotKyAgICAgICAgICAg IGNvbW1hbmQ9KCdkbnNyZWNvcmRfZmluZCcsIFt6b25lMV0sCi0rICAgICAgICAgICAgICAgICAg ICAge3UncmF3JzogVHJ1ZSwgdSdzdHJ1Y3R1cmVkJzogVHJ1ZX0pLAotICAgICAgICAgICAgIGV4 cGVjdGVkPWVycm9ycy5NdXR1YWxseUV4Y2x1c2l2ZUVycm9yKAotICAgICAgICAgICAgICAgICBy ZWFzb249dSJjYW5ub3QgdXNlIHN0cnVjdHVyZWQgdG9nZXRoZXIgd2l0aCByYXciCi0gICAgICAg ICAgICAgKSwKLSAgICAgICAgICksCi0rCi0rICAgICAgICBkaWN0KAotKyAgICAgICAgICAgIGRl c2M9J0RlbGV0ZSB6b25lICVyJyAlIHpvbmUxLAotKyAgICAgICAgICAgIGNvbW1hbmQ9KCdkbnN6 b25lX2RlbCcsIFt6b25lMV0sIHt9KSwKLSsgICAgICAgICAgICBleHBlY3RlZD17Ci0rICAgICAg ICAgICAgICAgICd2YWx1ZSc6IFt6b25lMV9hYnNvbHV0ZV9kbnNuYW1lXSwKLSsgICAgICAgICAg ICAgICAgJ3N1bW1hcnknOiB1J0RlbGV0ZWQgRE5TIHpvbmUgIiVzIicgJSB6b25lMV9hYnNvbHV0 ZSwKLSsgICAgICAgICAgICAgICAgJ3Jlc3VsdCc6IHsnZmFpbGVkJzogW119LAotKyAgICAgICAg ICAgIH0sCi0rICAgICAgICApLAotICAgICBdCi0gCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20g ZDc3YzQ1OTdhODQxNzI5Y2I3Yzg5MGJiNTdjYzU0OGE3MGM4NzI0YiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTog VHVlLCAxIEFwciAyMDI1IDEyOjMxOjE4ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMDYvNTNdIGlw YXRlc3RzOiBGaXggZm9yIGlwYS1oZWFsdGhjaGVjayB0ZXN0IGluIEZJUFMgTW9kZQotCi1GaXgg aHR0cHM6Ly9naXRodWIuY29tL2ZyZWVpcGEvZnJlZWlwYS1oZWFsdGhjaGVjay9wdWxsLzM0OQot d2FzIGFkZGVkIGZvciBSSEVMMTAgb25seSBjYXVzaW5nIHRoZSB0ZXN0cyB0bwotZmFpbCBpbiBS SEVMMTAuMS4KLUhlbmNlIHRoZSBpZiBjb25kaXRpb24gaGFzIGJlZW4gY2hhbmdlZCBpbiB0aGUg dGVzdGNvZGUuCi0KLVNpZ25lZC1vZmYtYnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+ Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkg fCA0ICsrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0 aGNoZWNrLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNr LnB5Ci1pbmRleCBkNzI4MDhmMGYuLjhkMWI5ZmNlMyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotKysrIGIvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci1AQCAtMzc0LDEwICszNzQsMTAg QEAgY2xhc3MgVGVzdElwYUhlYWx0aENoZWNrKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICBp ZiAoCi0gICAgICAgICAgICAgcGFyc2VfdmVyc2lvbihoZWFsdGhjaGVja192ZXJzaW9uKSA8IHBh cnNlX3ZlcnNpb24oIjAuMTciKQotICAgICAgICAgICAgIGFuZCBvc2luZm8uaWQgPT0gJ3JoZWwn Ci0tICAgICAgICAgICAgYW5kIG9zaW5mby52ZXJzaW9uX251bWJlciA9PSAoMTAsMCkKLSsgICAg ICAgICAgICBhbmQgb3NpbmZvLnZlcnNpb25fbnVtYmVyID49ICgxMCwwKQotICAgICAgICAgKToK LSAgICAgICAgICAgICAjIFBhdGNoOiBodHRwczovL2dpdGh1Yi5jb20vZnJlZWlwYS9mcmVlaXBh LWhlYWx0aGNoZWNrL3B1bGwvMzQ5Ci0tICAgICAgICAgICAgcHl0ZXN0LnhmYWlsKCJQYXRjaCBp cyB1bmF2YWlsYWJsZSBmb3IgUkhFTCAxMC4wIGFuZCAiCi0rICAgICAgICAgICAgcHl0ZXN0Lnhm YWlsKCJQYXRjaCBpcyB1bmF2YWlsYWJsZSBmb3IgUkhFTCAxMC4wIGFuZCBhYm92ZSIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgImZyZWVpcGEtaGVhbHRoZWNrIHZlcnNpb24gMC4xNiBvciBs ZXNzIikKLSAKLSAgICAgICAgIHJldHVybmNvZGUsIGNoZWNrID0gcnVuX2hlYWx0aGNoZWNrKHNl bGYubWFzdGVyLAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDFhYWMwYTVmN2UwNzAyZTIzZTBiYTZk YWQ3MjY3MzRiNWQ3NTcxMGQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdWxpZW4g UmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDMxIE1hciAyMDI1IDExOjUw OjQxICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvNTNdIGlwYS1zaWRnZW46IGZpeCBtZW1vcnkg bGVhayBpbiBpcGFfc2lkZ2VuX2FkZF9wb3N0X29wCi0KLUFsc28gcmVtb3ZlIHVudXNlZCAic2Vh cmNoX3BiIiB2YXJpYWJsZSBhbmQgaXRzIGFzc29jaWF0ZWQgZnJlZQotZnVuY3Rpb25zLgotCi1G aXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzcyCi1TaWduZWQtb2ZmLWJ5 OiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENy aXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJv a292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1zbGFwaS1wbHVn aW5zL2lwYS1zaWRnZW4vaXBhX3NpZGdlbi5jIHwgNCArLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEg aW5zZXJ0aW9uKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEt c2xhcGktcGx1Z2lucy9pcGEtc2lkZ2VuL2lwYV9zaWRnZW4uYyBiL2RhZW1vbnMvaXBhLXNsYXBp LXBsdWdpbnMvaXBhLXNpZGdlbi9pcGFfc2lkZ2VuLmMKLWluZGV4IDk5ZTZiODUwYi4uMzVlY2Vm MjI4IDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtc2lkZ2VuL2lw YV9zaWRnZW4uYwotKysrIGIvZGFlbW9ucy9pcGEtc2xhcGktcGx1Z2lucy9pcGEtc2lkZ2VuL2lw YV9zaWRnZW4uYwotQEAgLTgxLDcgKzgxLDYgQEAgc3RhdGljIGludCBpcGFfc2lkZ2VuX2FkZF9w b3N0X29wKFNsYXBpX1BCbG9jayAqcGIpCi0gICAgIGNvbnN0IGNoYXIgKmRuX3N0cjsKLSAgICAg U2xhcGlfRE4gKmRuID0gTlVMTDsKLSAgICAgc3RydWN0IGlwYV9zaWRnZW5fY3R4ICpjdHg7Ci0t ICAgIFNsYXBpX1BCbG9jayAqc2VhcmNoX3BiID0gTlVMTDsKLSAgICAgY2hhciAqZXJybXNnID0g TlVMTDsKLSAKLSAgICAgcmV0ID0gc2xhcGlfcGJsb2NrX2dldChwYiwgU0xBUElfSVNfUkVQTElD QVRFRF9PUEVSQVRJT04sICZpc19yZXBsX29wKTsKLUBAIC0xNTIsOSArMTUxLDggQEAgc3RhdGlj IGludCBpcGFfc2lkZ2VuX2FkZF9wb3N0X29wKFNsYXBpX1BCbG9jayAqcGIpCi0gCi0gICAgIHJl dCA9IDA7Ci0gZG9uZToKLS0gICAgc2xhcGlfZnJlZV9zZWFyY2hfcmVzdWx0c19pbnRlcm5hbChz ZWFyY2hfcGIpOwotLSAgICBzbGFwaV9wYmxvY2tfZGVzdHJveShzZWFyY2hfcGIpOwotICAgICBz bGFwaV9zZG5fZnJlZSgmZG4pOwotKyAgICBzbGFwaV9lbnRyeV9mcmVlKGVudHJ5KTsKLSAKLSAg ICAgaWYgKHJldCAhPSAwKSB7Ci0gICAgICAgICBpZiAoZXJybXNnID09IE5VTEwpIHsKLS0tIAot Mi40OS4wCi0KLQotRnJvbSBhZGQyMGE3ZDAzZTY2YWQzYWEzNDQzM2MyNDQ5ZjZlMzYyMWYxZDk3 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxm bG9AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgOSBBcHIgMjAyNSAxNzo1NDo0MSArMDIwMAotU3Vi amVjdDogW1BBVENIIDA4LzUzXSBSZW1vdmUgaXBhLW5pcy1tYW5hZ2Ugb24gZmVkb3JhIDQyKwot Ci1SZW1vdmUgTklTIHNlcnZlciBpbnRlZ3JhdGlvbiBmcm9tIHRoZSBtaWdyYXRpb24gYW5kCi1t YW5hZ2VtZW50IHRvb2xzIG9uIGZlZG9yYSA0MisKLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlv L2ZyZWVpcGEvaXNzdWUvOTM2MwotCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5h dWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9r b3ZveUByZWRoYXQuY29tPgotLS0tCi0gZnJlZWlwYS5zcGVjLmluICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMTggKysrKysrKysrCi0gaW5zdGFsbC90b29scy9pcGEtY29tcGF0LW1hbmFn ZS5pbiAgICAgICAgIHwgMTcgKysrKysrKy0tCi0gaW5zdGFsbC91cGRhdGVzLzEwLWVuYWJsZS1i ZXR4bi51cGRhdGUgICAgIHwgIDIgKy0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5w eSAgICAgICAgICAgfCA0MyArKysrKysrKysrKystLS0tLS0tLS0tCi0gaXBhc2VydmVyL2luc3Rh bGwvbGRhcHVwZGF0ZS5weSAgICAgICAgICAgIHwgIDEgKwotIGlwYXRlc3RzL3Rlc3RfY21kbGlu ZS90ZXN0X2NsaS5weSAgICAgICAgICB8ICAxIC0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfY29tbWFuZHMucHkgfCAxMCArKysrKwotIDcgZmlsZXMgY2hhbmdlZCwgNjcgaW5zZXJ0 aW9ucygrKSwgMjUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9mcmVlaXBhLnNwZWMuaW4g Yi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IDE0M2VlNWM4My4uMDExOTNhMzllIDEwMDc1NQotLS0t IGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9mcmVlaXBhLnNwZWMuaW4KLUBAIC02Myw2ICs2Mywx MSBAQAotICAgICAlZ2xvYmFsIG1vZHVsZW5hbWUgaXBhCi0gJWVuZGlmCi0gCi0rIyBSZW1vdmUg TklTIHN1cHBvcnQgZm9yIGY0MisKLSslaWYgMCV7P2ZlZG9yYX0gPD0gNDEKLSsgICAgJWdsb2Jh bCB3aXRoX25pcyAxCi0rJWVuZGlmCi0rCi0gJWlmIDAlez9yaGVsfQotICVnbG9iYWwgcGFja2Fn ZV9uYW1lIGlwYQotICVnbG9iYWwgYWx0X25hbWUgZnJlZWlwYQotQEAgLTExOTEsNiArMTE5Niwx NSBAQCBta2RpciAtcCAle2J1aWxkcm9vdH0le19zeXNjb25mZGlyfS9jcm9uLmQKLSAjIE9OTFlf Q0xJRU5UCi0gJWVuZGlmCi0gCi0rJWlmICEgJXt3aXRoIG5pc30KLStybSAle2J1aWxkcm9vdH0v JXtfc2JpbmRpcn0vaXBhLW5pcy1tYW5hZ2UKLStybSAle2J1aWxkcm9vdH0vJXtfbWFuZGlyfS9t YW4xL2lwYS1uaXMtbWFuYWdlLjEqCi0rcm0gJXtidWlsZHJvb3R9JXtweXRob24zX3NpdGVsaWJ9 L2lwYXNlcnZlci9pbnN0YWxsL3BsdWdpbnMvdXBkYXRlX25pcy5weQotK3JtICV7YnVpbGRyb290 fSV7X3Vzcn0vc2hhcmUvaXBhL25pcy51bGRpZgotK3JtICV7YnVpbGRyb290fSV7X3Vzcn0vc2hh cmUvaXBhL25pcy11cGRhdGUudWxkaWYKLStybSAle2J1aWxkcm9vdH0le191c3J9L3NoYXJlL2lw YS91cGRhdGVzLzUwLW5pcy51cGRhdGUKLSslZW5kaWYKLSsKLSAlaWYgISAle09OTFlfQ0xJRU5U fQotIAotICVwb3N0IHNlcnZlcgotQEAgLTE1NDAsNyArMTU1NCw5IEBAIGZpCi0gJXtfc2JpbmRp cn0vaXBhLWxkYXAtdXBkYXRlcgotICV7X3NiaW5kaXJ9L2lwYS1vdHB0b2tlbi1pbXBvcnQKLSAl e19zYmluZGlyfS9pcGEtY29tcGF0LW1hbmFnZQotKyVpZiAle3dpdGggbmlzfQotICV7X3NiaW5k aXJ9L2lwYS1uaXMtbWFuYWdlCi0rJWVuZGlmCi0gJXtfc2JpbmRpcn0vaXBhLW1hbmFnZWQtZW50 cmllcwotICV7X3NiaW5kaXJ9L2lwYWN0bAotICV7X3NiaW5kaXJ9L2lwYS1hZHZpc2UKLUBAIC0x NjE2LDcgKzE2MzIsOSBAQCBmaQotICV7X21hbmRpcn0vbWFuMS9pcGEtY2EtaW5zdGFsbC4xKgot ICV7X21hbmRpcn0vbWFuMS9pcGEta3JhLWluc3RhbGwuMSoKLSAle19tYW5kaXJ9L21hbjEvaXBh LWNvbXBhdC1tYW5hZ2UuMSoKLSslaWYgJXt3aXRoIG5pc30KLSAle19tYW5kaXJ9L21hbjEvaXBh LW5pcy1tYW5hZ2UuMSoKLSslZW5kaWYKLSAle19tYW5kaXJ9L21hbjEvaXBhLW1hbmFnZWQtZW50 cmllcy4xKgotICV7X21hbmRpcn0vbWFuMS9pcGEtbGRhcC11cGRhdGVyLjEqCi0gJXtfbWFuZGly fS9tYW44L2lwYWN0bC44KgotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLWNvbXBhdC1t YW5hZ2UuaW4gYi9pbnN0YWxsL3Rvb2xzL2lwYS1jb21wYXQtbWFuYWdlLmluCi1pbmRleCA5NjUw YWJkNmYuLjMwMWU1MWM2NyAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMvaXBhLWNvbXBhdC1t YW5hZ2UuaW4KLSsrKyBiL2luc3RhbGwvdG9vbHMvaXBhLWNvbXBhdC1tYW5hZ2UuaW4KLUBAIC0y NSw2ICsyNSw3IEBAIGltcG9ydCBzeXMKLSBmcm9tIGlwYXBsYXRmb3JtLnBhdGhzIGltcG9ydCBw YXRocwotIHRyeToKLSAgICAgZnJvbSBpcGFweXRob24gaW1wb3J0IGlwYXV0aWwsIGNvbmZpZwot KyAgICBmcm9tIGlwYXB5dGhvbi5pcGFsZGFwIGltcG9ydCByZWFsbV90b19zZXJ2ZXJpZAotICAg ICBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBpbnN0YWxsdXRpbHMKLSAgICAgZnJvbSBp cGFzZXJ2ZXIuaW5zdGFsbC5sZGFwdXBkYXRlIGltcG9ydCBMREFQVXBkYXRlCi0gICAgIGZyb20g aXBhbGliIGltcG9ydCBhcGksIGVycm9ycwotQEAgLTE1Miw5ICsxNTMsMTkgQEAgZGVmIG1haW4o KToKLSAgICAgICAgIHRyeToKLSAgICAgICAgICAgICBlbnRyeSA9IGdldF9lbnRyeShuaXNfY29u ZmlnX2RuKQotICAgICAgICAgICAgICMgV2UgY2FuJ3QgZGlzYWJsZSBzY2hlbWEgY29tcGF0IGlm IHRoZSBOSVMgcGx1Z2luIGlzIGVuYWJsZWQKLS0gICAgICAgICAgICBpZiBlbnRyeSBpcyBub3Qg Tm9uZSBhbmQgZW50cnkuZ2V0KCduc3NsYXBkLXBsdWdpbmVuYWJsZWQnLCBbJyddKVswXS5sb3dl cigpID09ICdvbic6Ci0tICAgICAgICAgICAgICAgIHByaW50KCJUaGUgTklTIHBsdWdpbiBpcyBj b25maWd1cmVkLCBjYW5ub3QgZGlzYWJsZSBjb21wYXRpYmlsaXR5LiIsIGZpbGU9c3lzLnN0ZGVy cikKLS0gICAgICAgICAgICAgICAgcHJpbnQoIlJ1biAnaXBhLW5pcy1tYW5hZ2UgZGlzYWJsZScg Zmlyc3QuIiwgZmlsZT1zeXMuc3RkZXJyKQotKyAgICAgICAgICAgIGlmICgKLSsgICAgICAgICAg ICAgICAgZW50cnkgaXMgbm90IE5vbmUKLSsgICAgICAgICAgICAgICAgYW5kIGVudHJ5LmdldCgn bnNzbGFwZC1wbHVnaW5lbmFibGVkJywgWycnXSlbMF0ubG93ZXIoKSA9PSAnb24nCi0rICAgICAg ICAgICAgKToKLSsgICAgICAgICAgICAgICAgaW5zdGFuY2UgPSByZWFsbV90b19zZXJ2ZXJpZChh cGkuZW52LnJlYWxtKQotKyAgICAgICAgICAgICAgICBwcmludCgKLSsgICAgICAgICAgICAgICAg ICAgICJUaGUgTklTIHBsdWdpbiBpcyBjb25maWd1cmVkLCBjYW5ub3QgIgotKyAgICAgICAgICAg ICAgICAgICAgImRpc2FibGUgY29tcGF0aWJpbGl0eS4iLCBmaWxlPXN5cy5zdGRlcnIsCi0rICAg ICAgICAgICAgICAgICkKLSsgICAgICAgICAgICAgICAgcHJpbnQoCi0rICAgICAgICAgICAgICAg ICAgICBmIlJ1biBcImRzY29uZiB7aW5zdGFuY2V9IHBsdWdpbiBzZXQgLS1lbmFibGVkIG9mZiAi Ci0rICAgICAgICAgICAgICAgICAgICAiJ05JUyBTZXJ2ZXInXCIgZmlyc3QuIiwgZmlsZT1zeXMu c3RkZXJyLAotKyAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICAgICAgIHJldHZhbCA9IDIK LSAgICAgICAgIGV4Y2VwdCBlcnJvcnMuRXhlY3V0aW9uRXJyb3IgYXMgbGRlOgotICAgICAgICAg ICAgIHByaW50KCJBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSB0YWxraW5nIHRvIHRoZSBzZXJ2ZXIu IikKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3VwZGF0ZXMvMTAtZW5hYmxlLWJldHhuLnVwZGF0ZSBi L2luc3RhbGwvdXBkYXRlcy8xMC1lbmFibGUtYmV0eG4udXBkYXRlCi1pbmRleCAxZjg5MzQxYzcu LmU2ZmRlMTgzZCAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdXBkYXRlcy8xMC1lbmFibGUtYmV0eG4u dXBkYXRlCi0rKysgYi9pbnN0YWxsL3VwZGF0ZXMvMTAtZW5hYmxlLWJldHhuLnVwZGF0ZQotQEAg LTQ2LDQgKzQ2LDQgQEAgZG46IGNuPVNjaGVtYSBDb21wYXRpYmlsaXR5LCBjbj1wbHVnaW5zLCBj bj1jb25maWcKLSBvbmx5aWZleGlzdDogbnNzbGFwZC1wbHVnaW5iZXR4bjogb24KLSAKLSBkbjog Y249TklTIFNlcnZlciwgY249cGx1Z2lucywgY249Y29uZmlnCi0tb25seWlmZXhpc3Q6IG5zc2xh cGQtcGx1Z2luYmV0eG46IG9uCi0rJHtOSVN9b25seWlmZXhpc3Q6IG5zc2xhcGQtcGx1Z2luYmV0 eG46IG9uCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkgYi9p cGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQotaW5kZXggNWJhMTQwY2UzLi45NWVmMGFj NWEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQotKysrIGIv aXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkKLUBAIC0xOTc1LDI2ICsxOTc1LDI5IEBA IGNsYXNzIElQQU1pZ3JhdGUoKToKLSAgICAgICAgICAgICAgICAgICAgIHN0YXRzWydjb25maWdf cHJvY2Vzc2VkJ10gKz0gMQotIAotICAgICAgICAgICAgICMgU2xhcGkgTklTIFBsdWdpbgotLSAg ICAgICAgICAgIGlmIEROKE5JU19QTFVHSU5bJ2RuJ10pID09IEROKGVudHJ5WydkbiddKToKLS0g ICAgICAgICAgICAgICAgIyBQYXJlbnQgcGx1Z2luIGVudHJ5Ci0tICAgICAgICAgICAgICAgIHNl bGYucHJvY2Vzc19jb25maWdfZW50cnkoCi0tICAgICAgICAgICAgICAgICAgICBlbnRyeVsnZG4n XSwgZW50cnlbJ2F0dHJzJ10sIE5JU19QTFVHSU4sCi0tICAgICAgICAgICAgICAgICAgICBhZGRf bWlzc2luZz1UcnVlKQotLSAgICAgICAgICAgICAgICBzdGF0c1snY29uZmlnX3Byb2Nlc3NlZCdd ICs9IDEKLS0gICAgICAgICAgICBlbGlmIEROKE5JU19QTFVHSU5bJ2RuJ10pIGluIEROKGVudHJ5 WydkbiddKToKLS0gICAgICAgICAgICAgICAgIyBDaGlsZCBOSVMgcGx1Z2luIGVudHJ5Ci0tICAg ICAgICAgICAgICAgIG5pc19kbiA9IGVudHJ5WydkbiddCi0tICAgICAgICAgICAgICAgIGxjX3Jl bW90ZV9yZWFsbSA9IHNlbGYucmVtb3RlX3JlYWxtLmxvd2VyKCkKLS0gICAgICAgICAgICAgICAg bGNfcmVhbG0gPSBzZWxmLnJlYWxtLmxvd2VyKCkKLS0gICAgICAgICAgICAgICAgbmlzX2RuID0g bmlzX2RuLnJlcGxhY2UobGNfcmVtb3RlX3JlYWxtLCBsY19yZWFsbSkKLS0gICAgICAgICAgICAg ICAgaWYgJ25pcy1kb21haW4nIGluIGVudHJ5WydhdHRycyddOgotLSAgICAgICAgICAgICAgICAg ICAgdmFsdWUgPSBlbnRyeVsnYXR0cnMnXVsnbmlzLWRvbWFpbiddWzBdCi0tICAgICAgICAgICAg ICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UobGNfcmVtb3RlX3JlYWxtLCBsY19yZWFsbSkK LS0gICAgICAgICAgICAgICAgICAgIGVudHJ5WydhdHRycyddWyduaXMtZG9tYWluJ11bMF0gPSB2 YWx1ZQotLSAgICAgICAgICAgICAgICAjIFByb2Nlc3MgdGhlIGVudHJ5Ci0tICAgICAgICAgICAg ICAgIHNlbGYucHJvY2Vzc19jb25maWdfZW50cnkobmlzX2RuLCBlbnRyeVsnYXR0cnMnXSwgTklT X1BMVUdJTiwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRf bWlzc2luZz1UcnVlKQotLSAgICAgICAgICAgICAgICBzdGF0c1snY29uZmlnX3Byb2Nlc3NlZCdd ICs9IDEKLSsgICAgICAgICAgICAjIElmIHRoZSBmaWxlIG5pcy11cGRhdGUudWxkaWYgZG9lcyBu b3QgZXhpc3QsIG5vIHN1cHBvcnQgZm9yIE5JUwotKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhp c3RzKHBhdGhzLk5JU19VTERJRik6Ci0rICAgICAgICAgICAgICAgIGlmIEROKE5JU19QTFVHSU5b J2RuJ10pID09IEROKGVudHJ5WydkbiddKToKLSsgICAgICAgICAgICAgICAgICAgICMgUGFyZW50 IHBsdWdpbiBlbnRyeQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNzX2NvbmZpZ19l bnRyeSgKLSsgICAgICAgICAgICAgICAgICAgICAgICBlbnRyeVsnZG4nXSwgZW50cnlbJ2F0dHJz J10sIE5JU19QTFVHSU4sCi0rICAgICAgICAgICAgICAgICAgICAgICAgYWRkX21pc3Npbmc9VHJ1 ZSkKLSsgICAgICAgICAgICAgICAgICAgIHN0YXRzWydjb25maWdfcHJvY2Vzc2VkJ10gKz0gMQot KyAgICAgICAgICAgICAgICBlbGlmIEROKE5JU19QTFVHSU5bJ2RuJ10pIGluIEROKGVudHJ5Wydk biddKToKLSsgICAgICAgICAgICAgICAgICAgICMgQ2hpbGQgTklTIHBsdWdpbiBlbnRyeQotKyAg ICAgICAgICAgICAgICAgICAgbmlzX2RuID0gZW50cnlbJ2RuJ10KLSsgICAgICAgICAgICAgICAg ICAgIGxjX3JlbW90ZV9yZWFsbSA9IHNlbGYucmVtb3RlX3JlYWxtLmxvd2VyKCkKLSsgICAgICAg ICAgICAgICAgICAgIGxjX3JlYWxtID0gc2VsZi5yZWFsbS5sb3dlcigpCi0rICAgICAgICAgICAg ICAgICAgICBuaXNfZG4gPSBuaXNfZG4ucmVwbGFjZShsY19yZW1vdGVfcmVhbG0sIGxjX3JlYWxt KQotKyAgICAgICAgICAgICAgICAgICAgaWYgJ25pcy1kb21haW4nIGluIGVudHJ5WydhdHRycydd OgotKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gZW50cnlbJ2F0dHJzJ11bJ25pcy1k b21haW4nXVswXQotKyAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFj ZShsY19yZW1vdGVfcmVhbG0sIGxjX3JlYWxtKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGVu dHJ5WydhdHRycyddWyduaXMtZG9tYWluJ11bMF0gPSB2YWx1ZQotKyAgICAgICAgICAgICAgICAg ICAgIyBQcm9jZXNzIHRoZSBlbnRyeQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5wcm9jZXNz X2NvbmZpZ19lbnRyeShuaXNfZG4sIGVudHJ5WydhdHRycyddLAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOSVNfUExVR0lOLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRfbWlzc2luZz1UcnVlKQotKyAgICAg ICAgICAgICAgICAgICAgc3RhdHNbJ2NvbmZpZ19wcm9jZXNzZWQnXSArPSAxCi0gCi0gICAgICMK LSAgICAgIyBNaWdyYXRpb24KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9sZGFwdXBk YXRlLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvbGRhcHVwZGF0ZS5weQotaW5kZXggY2QyMGQxZmM5 Li5jM2I1OTczMmEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9sZGFwdXBkYXRlLnB5 Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9sZGFwdXBkYXRlLnB5Ci1AQCAtMTEwLDYgKzExMCw3 IEBAIGRlZiBnZXRfc3ViX2RpY3QocmVhbG0sIGRvbWFpbiwgc3VmZml4LCBmcWRuLCBpZHN0YXJ0 PU5vbmUsIGlkbWF4PU5vbmUpOgotICAgICAgICAgU0VMSU5VWF9VU0VSTUFQX09SREVSPXBsYXRm b3JtY29uc3RhbnRzLlNFTElOVVhfVVNFUk1BUF9PUkRFUiwKLSAgICAgICAgIE5BTUVEX1VJRD1u YW1lZF91aWQsCi0gICAgICAgICBOQU1FRF9HSUQ9bmFtZWRfZ2lkLAotKyAgICAgICAgTklTPScn IGlmIG9zLnBhdGguZXhpc3RzKHBhdGhzLk5JU19VTERJRikgZWxzZSAnIycsCi0gICAgICkKLSAK LSAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2NtZGxpbmUvdGVzdF9jbGkucHkgYi9pcGF0 ZXN0cy90ZXN0X2NtZGxpbmUvdGVzdF9jbGkucHkKLWluZGV4IGFlMGQwNTljZS4uNzE4Nzk4ZDY4 IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9jbWRsaW5lL3Rlc3RfY2xpLnB5Ci0rKysgYi9p cGF0ZXN0cy90ZXN0X2NtZGxpbmUvdGVzdF9jbGkucHkKLUBAIC0zODUsNyArMzg1LDYgQEAgSVBB X0NMSUVOVF9OT1RfQ09ORklHVVJFRCA9IGInSVBBIGNsaWVudCBpcyBub3QgY29uZmlndXJlZCBv biB0aGlzIHN5c3RlbScKLSAgICAgICAgICAgJy91c3Ivc2hhcmUvaXBhL3VwZGF0ZXMvMDUtcHJl X3VwZ3JhZGVfcGx1Z2lucy51cGRhdGUnXSwKLSAgICAgICAgICAyLCBOb25lLCBJUEFfTk9UX0NP TkZJR1VSRUQpLAotICAgICAgICAgKFsnaXBhLW1hbmFnZWQtZW50cmllcyddLCAyLCBOb25lLCBJ UEFfTk9UX0NPTkZJR1VSRUQpLAotLSAgICAgICAgKFsnaXBhLW5pcy1tYW5hZ2UnXSwgMiwgTm9u ZSwgSVBBX05PVF9DT05GSUdVUkVEKSwKLSAgICAgICAgIChbJ2lwYS1wa2luaXQtbWFuYWdlJ10s IDIsIE5vbmUsIElQQV9OT1RfQ09ORklHVVJFRCksCi0gICAgICAgICAoWydpcGEtcmVwbGljYS1t YW5hZ2UnLCAnbGlzdCddLCAxLCBJUEFfTk9UX0NPTkZJR1VSRUQsIE5vbmUpLAotICAgICAgICAg KFsnaXBhLXNlcnZlci1jZXJ0aW5zdGFsbCddLCAyLCBOb25lLCBJUEFfTk9UX0NPTkZJR1VSRUQp LAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5w eSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQotaW5kZXggM2M4 ODNiOGJiLi5mYTZkYTc4ZTkgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfY29tbWFuZHMucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9j b21tYW5kcy5weQotQEAgLTI2LDYgKzI2LDcgQEAgZnJvbSBkYXRldGltZSBpbXBvcnQgZGF0ZXRp bWUsIHRpbWVkZWx0YQotIGZyb20gaXBhbGliLmNvbnN0YW50cyBpbXBvcnQgSVBBQVBJX1VTRVIK LSBmcm9tIGlwYWxpYi5lcnJvcnMgaW1wb3J0IERhdGFiYXNlRXJyb3IKLSAKLStmcm9tIGlwYXBs YXRmb3JtLm9zaW5mbyBpbXBvcnQgb3NpbmZvCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBv cnQgcGF0aHMKLSAKLSBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLUBAIC0xMzUzLDYgKzEz NTQsOSBAQCBjbGFzcyBUZXN0SVBBQ29tbWFuZChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAg c2VydmVyaWQgPSByZWFsbV90b19zZXJ2ZXJpZChzZWxmLm1hc3Rlci5kb21haW4ucmVhbG0pCi0g ICAgICAgICByZXR1cm4gKCJkaXJzcnZAJXMuc2VydmljZSIgJSBzZXJ2ZXJpZCkKLSAKLSsgICAg QHB5dGVzdC5tYXJrLnNraXBpZigob3NpbmZvLmlkID09ICdmZWRvcmEnCi0rICAgICAgICAgICAg ICAgICAgICAgICAgYW5kIG9zaW5mby52ZXJzaW9uX251bWJlciA+ICg0MSwpKSwKLSsgICAgICAg ICAgICAgICAgICAgICAgICByZWFzb249Ik5JUyBzZXJ2ZXIgc3VwcG9ydCByZW1vdmVkIikKLSAg ICAgZGVmIHRlc3RfaXBhX25pc19tYW5hZ2VfZW5hYmxlKHNlbGYpOgotICAgICAgICAgIiIiCi0g ICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyBpZiBpcGEtbmlzLW1hbmFnZSBlbmFibGUKLUBA IC0xMzg5LDYgKzEzOTMsOSBAQCBjbGFzcyBUZXN0SVBBQ29tbWFuZChJbnRlZ3JhdGlvblRlc3Qp OgotICAgICAgICAgKQotICAgICAgICAgYXNzZXJ0IHN0YXR1c19tc2cgaW4gcmVzdWx0LnN0ZG91 dF90ZXh0Ci0gCi0rICAgIEBweXRlc3QubWFyay5za2lwaWYoKG9zaW5mby5pZCA9PSAnZmVkb3Jh JwotKyAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBvc2luZm8udmVyc2lvbl9udW1iZXIgPiAo NDEsKSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgcmVhc29uPSJOSVMgc2VydmVyIHN1cHBv cnQgcmVtb3ZlZCIpCi0gICAgIGRlZiB0ZXN0X2lwYV9uaXNfbWFuYWdlX2Rpc2FibGUoc2VsZik6 Ci0gICAgICAgICAiIiIKLSAgICAgICAgIFRoaXMgdGVzdGNhc2UgY2hlY2tzIGlmIGlwYS1uaXMt bWFuYWdlIGRpc2FibGUKLUBAIC0xNDI0LDYgKzE0MzEsOSBAQCBjbGFzcyBUZXN0SVBBQ29tbWFu ZChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0IHJlc3VsdC5yZXR1cm5jb2RlID09 IDQKLSAgICAgICAgIGFzc2VydCBzdGF0dXNfbXNnIGluIHJlc3VsdC5zdGRvdXRfdGV4dAotIAot KyAgICBAcHl0ZXN0Lm1hcmsuc2tpcGlmKChvc2luZm8uaWQgPT0gJ2ZlZG9yYScKLSsgICAgICAg ICAgICAgICAgICAgICAgICBhbmQgb3NpbmZvLnZlcnNpb25fbnVtYmVyID4gKDQxLCkpLAotKyAg ICAgICAgICAgICAgICAgICAgICAgIHJlYXNvbj0iTklTIHNlcnZlciBzdXBwb3J0IHJlbW92ZWQi KQotICAgICBkZWYgdGVzdF9pcGFfbmlzX21hbmFnZV9lbmFibGVfaW5jb3JyZWN0X3Bhc3N3b3Jk KHNlbGYpOgotICAgICAgICAgIiIiCi0gICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNrcyBpZiBp cGEtbmlzLW1hbmFnZSBlbmFibGUKLS0tIAotMi40OS4wCi0KLQotRnJvbSBkOGM3YzMyMmQyOGU4 ZjFkZDk5ZmMzOWMzMTA4YWM2MzBlODQxNmVhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMyBB cHIgMjAyNSAxNzoxOToxOCArMDIwMAotU3ViamVjdDogW1BBVENIIDA5LzUzXSBQUkNJOiBzd2l0 Y2ggdGVzdGluZyBmcm9tIGY0MSB0byBmNDIKLQotRmVkb3JhIDQyIHdpbGwgYmUgYXZhaWxhYmxl IHNvb24gYW5kIEZlZG9yYSA0MCB3aWxsIGJlIEVPTCBNYXkgMTMgMjAyNS4KLVN0YXJ0IHRlc3Rp bmcgb24gZmVkb3JhIDQyLgotCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZnJl bmF1ZEByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZyYW5jaXNjbyBUcml2aW5vIDxmdHJpdmlu b0ByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9nYXRpbmcueWFt bCAgICAgICAgICAgICAgICAgICAgICAgfCA0ICsrLS0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRp b25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICAgICB8IDYgKysrLS0tCi0gLi4uL3By Y2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sICAgfCA2 ICsrKy0tLQotIGlwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFtbCAgICAg ICAgICAgICAgICAgIHwgNCArKy0tCi0gNCBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAxMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvZ2F0aW5nLnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL2dhdGluZy55YW1sCi1p bmRleCA5NDkxMGJjOGMuLmZjYjQ3N2UzNCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVm aW5pdGlvbnMvZ2F0aW5nLnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvZ2F0 aW5nLnlhbWwKLUBAIC0zOCw4ICszOCw4IEBAIGpvYnM6Ci0gICAgICAgICBnaXRfcmVwbzogJ3tn aXRfcmVwb30nCi0gICAgICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAgICAg ICB0ZW1wbGF0ZTogJmNpLWlwYS00LTEyLWxhdGVzdAotLSAgICAgICAgICBuYW1lOiBmcmVlaXBh L2NpLWlwYS00LTEyLWY0MQotLSAgICAgICAgICB2ZXJzaW9uOiAwLjAuMgotKyAgICAgICAgICBu YW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0MgotKyAgICAgICAgICB2ZXJzaW9uOiAwLjAuMQot ICAgICAgICAgdGltZW91dDogMTgwMAotICAgICAgICAgdG9wb2xvZ3k6ICpidWlsZAotIAotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRl c3QueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRl c3QueWFtbAotaW5kZXggYjU0ZGU1NDA2Li41MDU0MGYzNjAgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0 cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwKLSsrKyBiL2lw YXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotQEAg LTU0LDggKzU0LDggQEAgam9iczoKLSAgICAgICAgIGdpdF9yZXBvOiAne2dpdF9yZXBvfScKLSAg ICAgICAgIGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScKLSAgICAgICAgIHRlbXBsYXRlOiAm Y2ktaXBhLTQtMTItbGF0ZXN0Ci0tICAgICAgICAgIG5hbWU6IGZyZWVpcGEvY2ktaXBhLTQtMTIt ZjQxCi0tICAgICAgICAgIHZlcnNpb246IDAuMC4yCi0rICAgICAgICAgIG5hbWU6IGZyZWVpcGEv Y2ktaXBhLTQtMTItZjQyCi0rICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0gICAgICAgICB0aW1l b3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0gCi1AQCAtMjE2NCw0ICsyMTY0 LDQgQEAgam9iczoKLSAgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9l ZG5zLnB5Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAgICAg dGltZW91dDogMTQ0MDAKLS0gICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzJyZXBsXzFjbGllbnQK LVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotKyAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJf MnJlcGxfMWNsaWVudAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmln aHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0 aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLWluZGV4IDM0ODg5MTU5 NS4uMDUxNjdmNmQ3IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdo dGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVm aW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1AQCAtNTQsOCAr NTQsOCBAQCBqb2JzOgotICAgICAgICAgZ2l0X3JlcG86ICd7Z2l0X3JlcG99JwotICAgICAgICAg Z2l0X3JlZnNwZWM6ICd7Z2l0X3JlZnNwZWN9JwotICAgICAgICAgdGVtcGxhdGU6ICZjaS1pcGEt NC0xMi1sYXRlc3QKLS0gICAgICAgICAgbmFtZTogZnJlZWlwYS9jaS1pcGEtNC0xMi1mNDEKLS0g ICAgICAgICAgdmVyc2lvbjogMC4wLjIKLSsgICAgICAgICAgbmFtZTogZnJlZWlwYS9jaS1pcGEt NC0xMi1mNDIKLSsgICAgICAgICAgdmVyc2lvbjogMC4wLjEKLSAgICAgICAgIHRpbWVvdXQ6IDE4 MDAKLSAgICAgICAgIHRvcG9sb2d5OiAqYnVpbGQKLSAKLUBAIC0yMzM3LDQgKzIzMzcsNCBAQCBq b2JzOgotICAgICAgICAgdGVzdF9zdWl0ZTogdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkK LSAgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBhLTQtMTItbGF0ZXN0Ci0gICAgICAgICB0aW1lb3V0 OiAxNDQwMAotLSAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMnJlcGxfMWNsaWVudAotXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCi0rICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8ycmVwbF8x Y2xpZW50Ci1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy90ZW1wX2NvbW1p dC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy90ZW1wX2NvbW1pdC55YW1sCi1pbmRl eCA2NTNhYmIzZmMuLjYyZjZmMGMwNyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvdGVtcF9jb21taXQueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy90 ZW1wX2NvbW1pdC55YW1sCi1AQCAtNjAsOCArNjAsOCBAQCBqb2JzOgotICAgICAgICAgZ2l0X3Jl cG86ICd7Z2l0X3JlcG99JwotICAgICAgICAgZ2l0X3JlZnNwZWM6ICd7Z2l0X3JlZnNwZWN9Jwot ICAgICAgICAgdGVtcGxhdGU6ICZjaS1pcGEtNC0xMi1sYXRlc3QKLS0gICAgICAgICAgbmFtZTog ZnJlZWlwYS9jaS1pcGEtNC0xMi1mNDEKLS0gICAgICAgICAgdmVyc2lvbjogMC4wLjIKLSsgICAg ICAgICAgbmFtZTogZnJlZWlwYS9jaS1pcGEtNC0xMi1mNDIKLSsgICAgICAgICAgdmVyc2lvbjog MC4wLjEKLSAgICAgICAgIHRpbWVvdXQ6IDE4MDAKLSAgICAgICAgIHRvcG9sb2d5OiAqYnVpbGQK LSAKLS0tIAotMi40OS4wCi0KLQotRnJvbSAzYWEzNWZlMTZiYjczMGNjMzg5OTMxMmJlZGM4ZTMz NWRhNGUxNDVmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMjYgTWFyIDIwMjUgMTc6NDg6NDgg KzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxMC81M10gaXBhdGVzdHM6IGZpeCB0ZXN0X2lkcAotCi1U aGUgdGVzdCBpcyBjYWxsaW5nIHN1IC1jICJzdWRvIHl1bSBsaXN0IHl1bSIga2V5Y2xvYWt1c2Vy Ci10byBlbnN1cmUgdGhhdCBrZXljbG9ha3VzZXIgaXMgYWxsb3dlZCB0byBleGVjdXRlIHRoZSB5 dW0gY29tbWFuZC4KLQotT24gZmVkb3JhIDQyIGFuZCBhYm92ZSwgdGhlIHl1bSBwYWNrYWdlIGRv ZXMgbm90IGV4aXN0IGFueSBtb3JlLgotUmVwbGFjZSB3aXRoIGEgY2FsbCB0byB5dW0gbGlzdCBz c3NkLWNsaWVudCBhcyB0aGUgcGFja2FnZQotc3NzZC1jbGllbnQgaXMgYWx3YXlzIGluc3RhbGxl ZCBvbiBvdXIgdGVzdCBtYWNoaW5lcy4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVp cGEvaXNzdWUvOTc2OQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9A cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZyZW5hdWRA cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGcmFuY2lzY28gVHJpdmlubyA8ZnRyaXZpbm9AcmVk aGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pZHAucHkgfCAy ICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRp ZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5IGIvaXBhdGVz dHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lkcC5weQotaW5kZXggNzZlZGM5NDU4Li5hMjkzMzNl ZjIgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5Ci0r KysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaWRwLnB5Ci1AQCAtMjE3LDcgKzIx Nyw3IEBAIGNsYXNzIFRlc3RJRFBLZXljbG9hayhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAg ICAgIGFzc2VydCAiVXNlciBrZXljbG9ha3VzZXIgbWF5IHJ1biB0aGUgZm9sbG93aW5nIGNvbW1h bmRzIiBpbiB0ZXN0Ci0gICAgICAgICAgICAgYXNzZXJ0ICIvdXNyL2Jpbi95dW0iIGluIHRlc3QK LSAgICAgICAgICAgICBraW5pdF9pZHAoc2VsZi5jbGllbnQsICdrZXljbG9ha3VzZXInLCBzZWxm LmNsaWVudCkKLS0gICAgICAgICAgICB0ZXN0X3N1ZG8gPSAnc3UgLWMgInN1ZG8geXVtIGxpc3Qg eXVtIiBrZXljbG9ha3VzZXInCi0rICAgICAgICAgICAgdGVzdF9zdWRvID0gJ3N1IC1jICJzdWRv IHl1bSBsaXN0IHNzc2QtY2xpZW50IiBrZXljbG9ha3VzZXInCi0gICAgICAgICAgICAgc2VsZi5j bGllbnQucnVuX2NvbW1hbmQodGVzdF9zdWRvKQotICAgICAgICAgICAgIGxpc3RfZmFpbCA9IHNl bGYubWFzdGVyLnJ1bl9jb21tYW5kKGNtZCkuc3Rkb3V0X3RleHQKLSAgICAgICAgICAgICBhc3Nl cnQgIlVzZXIga2V5Y2xvYWt1c2VyIGlzIG5vdCBhbGxvd2VkIHRvIHJ1biBzdWRvIiBpbiBsaXN0 X2ZhaWwKLS0tIAotMi40OS4wCi0KLQotRnJvbSBkMjVhZWFmOGU1ZTdkMjUwNzBmY2RhZTlmMTli NGQxNDVhNWRkNDY0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMjggTWFyIDIwMjUgMTc6NDE6 MjggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAxMS81M10gYXp1cmUgcGlwZWxpbmU6IHJlcGxhY2Ug dWJ1bnR1LTIwLjA0IHdpdGggMjQuMDQKLQotQXp1cmUgaXMgZGVwcmVjYXRpbmcgdGhlIFVidW50 dS0yMC4wNCBBcHIgMTV0aCwgc2VlIGFubm91bmNlbWVudAotaHR0cHM6Ly9kZXZibG9ncy5taWNy b3NvZnQuY29tL2Rldm9wcy91cGNvbWluZy11cGRhdGVzLWZvci1henVyZS1waXBlbGluZXMtYWdl bnRzLWltYWdlcy8jdWJ1bnR1Ci0KLVdpdGggdGhlIFVidW50dSAyNC4wNCBpbWFnZSwgd2UgbmVl ZCB0byBjaGFuZ2UgcGVybWlzc2lvbnMgb2YgL2V0Yy9zaGFkb3cKLWluIG9yZGVyIHRvIGFsbG93 IHN1ZG8gY29tbWFuZHMuCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8 ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmcmVu YXVkQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUmFmYWVsIEd1dGVycmVzIEplZmZtYW4gPHJq ZWZmbWFuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy9henVyZS9henVyZS1waXBlbGluZXMu eW1sICAgICAgICAgICAgfCA0NiArKysrKysrKysrKysrLS0tLS0tCi0gaXBhdGVzdHMvYXp1cmUv dGVtcGxhdGVzL3ZhcmlhYmxlcy1jb21tb24ueW1sIHwgIDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQs IDMyIGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvYXp1cmUvYXp1cmUtcGlwZWxpbmVzLnltbCBiL2lwYXRlc3RzL2F6dXJlL2F6dXJlLXBpcGVs aW5lcy55bWwKLWluZGV4IGFlYTI1MDI2Yy4uNmYxOGIxMDE4IDEwMDY0NAotLS0tIGEvaXBhdGVz dHMvYXp1cmUvYXp1cmUtcGlwZWxpbmVzLnltbAotKysrIGIvaXBhdGVzdHMvYXp1cmUvYXp1cmUt cGlwZWxpbmVzLnltbAotQEAgLTEwLDE0ICsxMCwyMiBAQCB2YXJpYWJsZXM6Ci0gIyBwbGF0Zm9y bSBzcGVjaWZpYyB2YXJpYWJsZXMsIGxpbmtzIHRvCi0gLSB0ZW1wbGF0ZTogJHt7IHBhcmFtZXRl cnMuVkFSSUFCTEVTX0ZJTEUgfX0KLSAKLStyZXNvdXJjZXM6Ci0rICBjb250YWluZXJzOgotKyAg LSBjb250YWluZXI6ICdidWlsZGVyJwotKyAgICBpbWFnZTogJChET0NLRVJfQlVJTERfSU1BR0Up Ci0rICAgIG9wdGlvbnM6IC0tY2FwLWFkZD1TWVNfUFRSQUNFIC0tc2VjdXJpdHktb3B0IHNlY2Nv bXA9dW5jb25maW5lZCAtLXByaXZpbGVnZWQgLS1lbnYgY29udGFpbmVyPWRvY2tlcgotKwotIGpv YnM6Ci0gLSBqb2I6IEJ1aWxkCi0gICBwb29sOgotICAgICB2bUltYWdlOiAkKFZNX0lNQUdFKQot LSAgY29udGFpbmVyOgotLSAgICBpbWFnZTogJChET0NLRVJfQlVJTERfSU1BR0UpCi0tICAgIG9w dGlvbnM6IC0tY2FwLWFkZD1TWVNfUFRSQUNFIC0tc2VjdXJpdHktb3B0IHNlY2NvbXA9dW5jb25m aW5lZCAtLXByaXZpbGVnZWQgLS1lbnYgY29udGFpbmVyPWRvY2tlcgotKyAgY29udGFpbmVyOiBi dWlsZGVyCi0gICBzdGVwczoKLSsgICAgLSBzY3JpcHQ6IHwKLSsgICAgICAgIENPTlRBSU5FUklE PWBlY2hvICckKEFnZW50LkNvbnRhaW5lck1hcHBpbmcpJyB8IGpxIC1yICcuYnVpbGRlci5pZCdg Ci0rICAgICAgICAvdXNyL2Jpbi9kb2NrZXIgZXhlYyAkQ09OVEFJTkVSSUQgYmFzaCAtYyAiY2ht b2QgYStyIC9ldGMvc2hhZG93IgotKyAgICAgIHRhcmdldDogaG9zdAotICAgICAtIHRlbXBsYXRl OiB0ZW1wbGF0ZXMvJHt7IHZhcmlhYmxlcy5QUkVQQVJFX0JVSUxEX1RFTVBMQVRFIH19Ci0gICAg IC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLkFVVE9DT05GX1RFTVBMQVRFIH19 Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLkJVSUxEX1RFTVBMQVRF IH19Ci1AQCAtNTcsMTAgKzY1LDEyIEBAIGpvYnM6Ci0gLSBqb2I6IExpbnQKLSAgIHBvb2w6Ci0g ICAgIHZtSW1hZ2U6ICQoVk1fSU1BR0UpCi0tICBjb250YWluZXI6Ci0tICAgIGltYWdlOiAkKERP Q0tFUl9CVUlMRF9JTUFHRSkKLS0gICAgb3B0aW9uczogLS1jYXAtYWRkPVNZU19QVFJBQ0UgLS1z ZWN1cml0eS1vcHQgc2VjY29tcD11bmNvbmZpbmVkIC0tcHJpdmlsZWdlZCAtLWVudiBjb250YWlu ZXI9ZG9ja2VyCi0rICBjb250YWluZXI6IGJ1aWxkZXIKLSAgIHN0ZXBzOgotKyAgICAtIHNjcmlw dDogfAotKyAgICAgICAgQ09OVEFJTkVSSUQ9YGVjaG8gJyQoQWdlbnQuQ29udGFpbmVyTWFwcGlu ZyknIHwganEgLXIgJy5idWlsZGVyLmlkJ2AKLSsgICAgICAgIC91c3IvYmluL2RvY2tlciBleGVj ICRDT05UQUlORVJJRCBiYXNoIC1jICJjaG1vZCBhK3IgL2V0Yy9zaGFkb3ciCi0rICAgICAgdGFy Z2V0OiBob3N0Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLlBSRVBB UkVfQlVJTERfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJp YWJsZXMuUFJFUEFSRV9MSU5UX1RFTVBMQVRFIH19Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRl cy8ke3sgdmFyaWFibGVzLkFVVE9DT05GX1RFTVBMQVRFIH19Ci1AQCAtNzksMTAgKzg5LDEyIEBA IGpvYnM6Ci0gLSBqb2I6IERvY3MKLSAgIHBvb2w6Ci0gICAgIHZtSW1hZ2U6ICQoVk1fSU1BR0Up Ci0tICBjb250YWluZXI6Ci0tICAgIGltYWdlOiAkKERPQ0tFUl9CVUlMRF9JTUFHRSkKLS0gICAg b3B0aW9uczogLS1jYXAtYWRkPVNZU19QVFJBQ0UgLS1zZWN1cml0eS1vcHQgc2VjY29tcD11bmNv bmZpbmVkIC0tcHJpdmlsZWdlZCAtLWVudiBjb250YWluZXI9ZG9ja2VyCi0rICBjb250YWluZXI6 IGJ1aWxkZXIKLSAgIHN0ZXBzOgotKyAgICAtIHNjcmlwdDogfAotKyAgICAgICAgQ09OVEFJTkVS SUQ9YGVjaG8gJyQoQWdlbnQuQ29udGFpbmVyTWFwcGluZyknIHwganEgLXIgJy5idWlsZGVyLmlk J2AKLSsgICAgICAgIC91c3IvYmluL2RvY2tlciBleGVjICRDT05UQUlORVJJRCBiYXNoIC1jICJj aG1vZCBhK3IgL2V0Yy9zaGFkb3ciCi0rICAgICAgdGFyZ2V0OiBob3N0Ci0gICAgIC0gdGVtcGxh dGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLlBSRVBBUkVfQlVJTERfVEVNUExBVEUgfX0KLSAg ICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJpYWJsZXMuQVVUT0NPTkZfVEVNUExBVEUg fX0KLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJpYWJsZXMuQlVJTERfRE9DU19U RU1QTEFURSB9fQotQEAgLTk1LDEwICsxMDcsMTIgQEAgam9iczoKLSAtIGpvYjogVG94Ci0gICBw b29sOgotICAgICB2bUltYWdlOiAkKFZNX0lNQUdFKQotLSAgY29udGFpbmVyOgotLSAgICBpbWFn ZTogJChET0NLRVJfQlVJTERfSU1BR0UpCi0tICAgIG9wdGlvbnM6IC0tY2FwLWFkZD1TWVNfUFRS QUNFIC0tc2VjdXJpdHktb3B0IHNlY2NvbXA9dW5jb25maW5lZCAtLXByaXZpbGVnZWQgLS1lbnYg Y29udGFpbmVyPWRvY2tlcgotKyAgY29udGFpbmVyOiBidWlsZGVyCi0gICBzdGVwczoKLSsgICAg LSBzY3JpcHQ6IHwKLSsgICAgICAgIENPTlRBSU5FUklEPWBlY2hvICckKEFnZW50LkNvbnRhaW5l ck1hcHBpbmcpJyB8IGpxIC1yICcuYnVpbGRlci5pZCdgCi0rICAgICAgICAvdXNyL2Jpbi9kb2Nr ZXIgZXhlYyAkQ09OVEFJTkVSSUQgYmFzaCAtYyAiY2htb2QgYStyIC9ldGMvc2hhZG93IgotKyAg ICAgIHRhcmdldDogaG9zdAotICAgICAtIHRlbXBsYXRlOiB0ZW1wbGF0ZXMvJHt7IHZhcmlhYmxl cy5QUkVQQVJFX0JVSUxEX1RFTVBMQVRFIH19Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8k e3sgdmFyaWFibGVzLlBSRVBBUkVfVE9YX1RFTVBMQVRFIH19Ci0gICAgIC0gc2NyaXB0OiB8Ci1A QCAtMTE4LDEwICsxMzIsMTIgQEAgam9iczoKLSAtIGpvYjogV2ViVUlfVW5pdF9UZXN0cwotICAg cG9vbDoKLSAgICAgdm1JbWFnZTogJChWTV9JTUFHRSkKLS0gIGNvbnRhaW5lcjoKLS0gICAgaW1h Z2U6ICQoRE9DS0VSX0JVSUxEX0lNQUdFKQotLSAgICBvcHRpb25zOiAtLWNhcC1hZGQ9U1lTX1BU UkFDRSAtLXNlY3VyaXR5LW9wdCBzZWNjb21wPXVuY29uZmluZWQgLS1wcml2aWxlZ2VkIC0tZW52 IGNvbnRhaW5lcj1kb2NrZXIKLSsgIGNvbnRhaW5lcjogYnVpbGRlcgotICAgc3RlcHM6Ci0rICAg IC0gc2NyaXB0OiB8Ci0rICAgICAgICBDT05UQUlORVJJRD1gZWNobyAnJChBZ2VudC5Db250YWlu ZXJNYXBwaW5nKScgfCBqcSAtciAnLmJ1aWxkZXIuaWQnYAotKyAgICAgICAgL3Vzci9iaW4vZG9j a2VyIGV4ZWMgJENPTlRBSU5FUklEIGJhc2ggLWMgImNobW9kIGErciAvZXRjL3NoYWRvdyIKLSsg ICAgICB0YXJnZXQ6IGhvc3QKLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJpYWJs ZXMuUFJFUEFSRV9CVUlMRF9URU1QTEFURSB9fQotICAgICAtIHRlbXBsYXRlOiB0ZW1wbGF0ZXMv JHt7IHZhcmlhYmxlcy5QUkVQQVJFX1dFQlVJX1RFTVBMQVRFIH19Ci0gICAgIC0gdGVtcGxhdGU6 IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLkFVVE9DT05GX1RFTVBMQVRFIH19Ci1kaWZmIC0tZ2l0 IGEvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxlcy1jb21tb24ueW1sIGIvaXBhdGVz dHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxlcy1jb21tb24ueW1sCi1pbmRleCA1YjNjMmNhNDku LjMzNjAxOWM4NiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy92YXJpYWJs ZXMtY29tbW9uLnltbAotKysrIGIvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxlcy1j b21tb24ueW1sCi1AQCAtNiw3ICs2LDcgQEAgdmFyaWFibGVzOgotICAgIyBodHRwczovL2dpdGh1 Yi5jb20vYWN0aW9ucy92aXJ0dWFsLWVudmlyb25tZW50cy9ibG9iL21hc3Rlci9pbWFnZXMvbGlu dXgvVWJ1bnR1MTYwNC1SRUEgICAgRE1FLm1kCi0gICAjIFVidW50dS0xOC4wNCAtIDMuNi45Ci0g ICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9hY3Rpb25zL3ZpcnR1YWwtZW52aXJvbm1lbnRzL2Jsb2Iv bWFzdGVyL2ltYWdlcy9saW51eC9VYnVudHUxODA0LVJFQSAgICBETUUubWQKLS0gIFZNX0lNQUdF OiAndWJ1bnR1LTIwLjA0JwotKyAgVk1fSU1BR0U6ICd1YnVudHUtMjQuMDQnCi0gICBNQVhfQ09O VEFJTkVSX0VOVlM6IDUKLSAgIElQQV9URVNUU19FTlZfV09SS0lOR19ESVI6ICQoQnVpbGQuUmVw b3NpdG9yeS5Mb2NhbFBhdGgpL2lwYV9lbnZzCi0gICBJUEFfVEVTVFNfU0NSSVBUUzogJ2lwYXRl c3RzL2F6dXJlL3NjcmlwdHMnCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYzczZWMzNmNiN2EwYjY5 MWVkNzkwNTQyNDYzYTBkMmY3YjZkMmI2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIgQXBy IDIwMjUgMTE6MzE6MDQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAxMi81M10gYXp1cmUgcGlwZWxp bmU6IHNraXAgc3RlcCBkaXNhYmxpbmcgY29uZmxpY3RpbmcKLSBhcHBhcm1vciBwcm9maWxlCi0K LWFhLWRpc2FibGUgL2V0Yy9hcHBhcm1vci5kL3Vzci5zYmluLmNocm9ueWQgZmFpbHMgb24gVWJ1 bnR1IDI0LjA0Ci1odHRwczovL2J1Z3MubGF1bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9hcHBh cm1vci8rYnVnLzIwNzkwMTkKLQotU2tpcCB0aGUgc3RlcCBmb3Igbm93Ci0KLUZpeCB0aGUgdG9w IGNvbW1hbmQgKHJlcGxhY2UgbiAxIHdpdGggLW4gMSkKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBC bGFuYy1SZW5hdWQgPGZyZW5hdWRAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSYWZhZWwgR3V0 ZXJyZXMgSmVmZm1hbiA8cmplZmZtYW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL2F6dXJl L3RlbXBsYXRlcy90ZXN0LWpvYnMueW1sIHwgNCArKy0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL2F6dXJl L3RlbXBsYXRlcy90ZXN0LWpvYnMueW1sIGIvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3Rlc3Qt am9icy55bWwKLWluZGV4IGRiYTUyNzQ3NC4uMWRmMDA5ODk5IDEwMDY0NAotLS0tIGEvaXBhdGVz dHMvYXp1cmUvdGVtcGxhdGVzL3Rlc3Qtam9icy55bWwKLSsrKyBiL2lwYXRlc3RzL2F6dXJlL3Rl bXBsYXRlcy90ZXN0LWpvYnMueW1sCi1AQCAtNDEsNyArNDEsNyBAQCBzdGVwczoKLSAgICAgcHJp bnRmICJBcHBBcm1vciBzdGF0dXNcbiIKLSAgICAgc3VkbyBhYS1zdGF0dXMKLSAgICAgcHJpbnRm ICJEaXNhYmxlIEFwcEFybW9yIGNvbmZsaWN0aW5nIHByb2ZpbGVzXG4iCi0tICAgIHN1ZG8gYWEt ZGlzYWJsZSAvZXRjL2FwcGFybW9yLmQvdXNyLnNiaW4uY2hyb255ZAotKyAgICBzdWRvIGFhLWRp c2FibGUgL2V0Yy9hcHBhcm1vci5kL3Vzci5zYmluLmNocm9ueWQgfHw6Ci0gICAgIHByaW50ZiAi UmVjaGVjayBBcHBBcm1vciBzdGF0dXNcbiIKLSAgICAgc3VkbyBhYS1zdGF0dXMKLSAgIGRpc3Bs YXlOYW1lOiBEaXNhYmxlIEFwcEFybW9yIGNvbmZsaWN0aW5nIHByb2ZpbGVzIG9uIEhvc3QKLUBA IC03NCw3ICs3NCw3IEBAIHN0ZXBzOgotIAotIC0gc2NyaXB0OiB8Ci0gICAgIHNldCAtZXUKLS0g ICAgc3VkbyB0b3AgLWIgLW8gKyVNRU0gbiAxCi0rICAgIHN1ZG8gdG9wIC1iIC1vICslTUVNIC1u IDEKLSAgIGRpc3BsYXlOYW1lOiBTaG93IEhvc3QncyB0b3AKLSAKLSAtIHNjcmlwdDogfAotLS0g Ci0yLjQ5LjAKLQotCi1Gcm9tIDRkOGUzNDFlMDY5M2FiMDVlYzgwYmVmMTM3NjhkMzNkYTQwZmY1 ODQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAyIEFwciAyMDI1IDE3OjEyOjQ3ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMTMvNTNdIEF6dXJlIENJOiB1c2UgcG9kbWFuIGluc3RlYWQgb2YgZG9j a2VyIHRocm91Z2gKLSBlbXVsYXRpb24KLQotLSBUaGUgc2NhbGVkIGNvbnRhaW5lcnMgYXJlIG5h bWVkIG5hbWVfaSBpbnN0ZWFkIG9mIG5hbWUtaQotKHdpdGggXyBpbnN0ZWFkIG9mIC0pCi0tIHBv ZG1hbi1jb21wb3NlIGRvZXNuJ3QgaGF2ZSB0aGUgb3B0aW9uIC1wIHByb2plY3RfaWQKLVVzZSB0 aGUgZW52IHZhciBDT01QT1NFX1BST0pFQ1RfTkFNRSBpbnN0ZWFkCi0tIERvIG5vdCBhZGQgYWxs IGNhcGFiaWxpdGllcyBpbiBkb2NrZXItY29tcG9zZS55bWwKLURyb3AgdGhlIENBUF9TWVNfVElN RSBjYXBhYmlsaXR5LCBvdGhlcndpc2UgY2hyb255ZCBmYWlscyB0byBzdGFydAotaW4gdGhlIGNv bnRhaW5lcgotLSBVc2UgYWJzb2x1dGUgcGF0aCB0byBtb3VudCB2b2x1bWVzIGluIHRoZSBjb250 YWluZXJzCi1XaGVuIHVzaW5nIGEgcmVsYXRpdmUgcGF0aCB3aGljaCBpcyBhIHN5bWJvbGljIGxp bmssIHBvZG1hbiBpcwotY29uZnVzZWQuIFVzZSBvbmx5IGFic29sdXRlIHBhdGhzLgotLSBVc2Ug ZGVmYXVsdCBuZXR3b3JrIGluIHBvZG1hbi1jb21wb3NlCi0tIFN0YXJ0IHBvZG1hbi5zb2NrZXQg YW5kIHNldCB0aGUgZW52IHZhciBET0NLRVJfSE9TVCB0bwotY29tbXVuaWNhdGUgd2l0aCBpdAot LSBVYnVudHUgMjQuMDQgdXNlcyBjZ3JvdXAgdjIgYW5kIGhhcyBkaWZmZXJlbnQgZmlsZXMgZm9y Ci1tZW1vcnkgY29udHJvbCBmaWxlcy4KLS0gdGVzdF9zdWRvOiBmb3JjZSBpZHJhbmdlIHRvIGJl IGNvbXBhdGlibGUgd2l0aCBjb250YWluZXJzCi1UaGUgdXNlciBkZWZpbmVkIG9uIHRoZSBob3N0 IGhhcyBhIHN1YnVpZC9zdWJnaWQgcmFuZ2Ugb2YKLTY1NTM2IGlkcy4gQ3JlYXRlIGlwYSBzZXJ2 ZXIgd2l0aCBhbiBpZHJhbmdlIGJlbG93Ci02NTUzNiwgb3RoZXJ3aXNlIHN1ZG8gY29tbWFuZHMg ZmFpbC4KLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZyZW5hdWRAcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBSYWZhZWwgR3V0ZXJyZXMgSmVmZm1hbiA8cmplZmZtYW5AcmVk aGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL2RvY2tlci1jb21wb3Nl LnltbCB8IDI0ICsrKy0tLS0tCi0gaXBhdGVzdHMvYXp1cmUvYXp1cmUtcGlwZWxpbmVzLnltbCAg ICAgICAgICAgIHwgMjUgKy0tLS0tLS0KLSBpcGF0ZXN0cy9henVyZS9zY3JpcHRzL2F6dXJlLXJ1 bi10ZXN0cy5zaCAgICAgfCA1NyArKysrKysrKysrKysrKystLS0tCi0gaXBhdGVzdHMvYXp1cmUv c2NyaXB0cy9zZXR1cF9jb250YWluZXJzLnB5ICAgIHwgMTIgKystLQotIC4uLi9henVyZS90ZW1w bGF0ZXMvcHJlcGFyZS1idWlsZC1mZWRvcmEueW1sICB8ICA4ICsrLQotIC4uLi90ZW1wbGF0ZXMv c2V0dXAtdGVzdC1lbnZpcm9ubWVudC55bWwgICAgICB8IDE4ICsrLS0tLQotIGlwYXRlc3RzL2F6 dXJlL3RlbXBsYXRlcy90ZXN0LWpvYnMueW1sICAgICAgICB8IDM4ICsrKysrKysrKystLS0KLSBp cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rfc3Vkby5weSAgICAgICAgfCAgNyArKy0KLSA4 IGZpbGVzIGNoYW5nZWQsIDExMCBpbnNlcnRpb25zKCspLCA3OSBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL2RvY2tlci1jb21wb3NlLnltbCBi L2lwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL2RvY2tlci1jb21wb3NlLnltbAotaW5kZXggZGMz NzA3ZWZmLi44ZGQ5YzU5OTYgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9henVyZS9Eb2NrZXJmaWxl cy9kb2NrZXItY29tcG9zZS55bWwKLSsrKyBiL2lwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL2Rv Y2tlci1jb21wb3NlLnltbAotQEAgLTUsNiArNSw4IEBAIHNlcnZpY2VzOgotICAgICBidWlsZDog LgotICAgICBjYXBfYWRkOgotICAgICAtIEFMTAotKyAgICBjYXBfZHJvcDoKLSsgICAgLSBDQVBf U1lTX1RJTUUKLSAgICAgc2VjdXJpdHlfb3B0OgotICAgICAtIGFwcGFybW9yOnVuY29uZmluZWQK LSAgICAgLSBzZWNjb21wOi4vc2VjY29tcC5qc29uCi1AQCAtMTIsMTcgKzE0LDE2IEBAIHNlcnZp Y2VzOgotICAgICBtZW1zd2FwX2xpbWl0OiAiJHtJUEFfVEVTVFNfU0VSVkVSX01FTVNXQVBfTElN SVR9IgotICAgICB2b2x1bWVzOgotICAgICAtIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQ6L3N5cy9m cy9jZ3JvdXAvc3lzdGVtZAotLSAgICAtIC4vaXBhLXRlc3QtY29uZmlnLnlhbWw6L3Jvb3QvLmlw YS9pcGEtdGVzdC1jb25maWcueWFtbDpybwotKyAgICAtICR7UFJPSkVDVF9ESVJ9L2lwYS10ZXN0 LWNvbmZpZy55YW1sOi9yb290Ly5pcGEvaXBhLXRlc3QtY29uZmlnLnlhbWw6cm8KLSAgICAgLSAk e0JVSUxEX1JFUE9TSVRPUllfTE9DQUxQQVRIfToke0lQQV9URVNUU19SRVBPX1BBVEh9Ci0gCi0t ICAgIG5ldHdvcmtzOgotLSAgICAtICR7SVBBX05FVFdPUkt9Ci0tCi0gICByZXBsaWNhOgotICAg ICBpbWFnZTogJHtJUEFfRE9DS0VSX0lNQUdFfQotICAgICBidWlsZDogLgotICAgICBjYXBfYWRk OgotICAgICAtIEFMTAotKyAgICBjYXBfZHJvcDoKLSsgICAgLSBDQVBfU1lTX1RJTUUKLSAgICAg c2VjdXJpdHlfb3B0OgotICAgICAtIGFwcGFybW9yOnVuY29uZmluZWQKLSAgICAgLSBzZWNjb21w Oi4vc2VjY29tcC5qc29uCi1AQCAtMzEsMTQgKzMyLDE0IEBAIHNlcnZpY2VzOgotICAgICB2b2x1 bWVzOgotICAgICAtIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQ6L3N5cy9mcy9jZ3JvdXAvc3lzdGVt ZAotICAgICAtICR7QlVJTERfUkVQT1NJVE9SWV9MT0NBTFBBVEh9OiR7SVBBX1RFU1RTX1JFUE9f UEFUSH06cm8KLS0gICAgbmV0d29ya3M6Ci0tICAgIC0gJHtJUEFfTkVUV09SS30KLSAKLSAgIGNs aWVudDoKLSAgICAgaW1hZ2U6ICR7SVBBX0RPQ0tFUl9JTUFHRX0KLSAgICAgYnVpbGQ6IC4KLSAg ICAgY2FwX2FkZDoKLSAgICAgLSBBTEwKLSsgICAgY2FwX2Ryb3A6Ci0rICAgIC0gQ0FQX1NZU19U SU1FCi0gICAgIHNlY3VyaXR5X29wdDoKLSAgICAgLSBhcHBhcm1vcjp1bmNvbmZpbmVkCi0gICAg IC0gc2VjY29tcDouL3NlY2NvbXAuanNvbgotQEAgLTUwLDE1ICs1MSw0IEBAIHNlcnZpY2VzOgot ICAgICAjIG5mcyBzZXJ2ZXIKLSAgICAgLSAuL2V4cG9ydHM6L2V4cG9ydHMKLSAgICAgLSAvbGli L21vZHVsZXM6L2xpYi9tb2R1bGVzOnJvCi0tICAgIG5ldHdvcmtzOgotLSAgICAtICR7SVBBX05F VFdPUkt9Ci0gCi0tbmV0d29ya3M6Ci0tICBpcGFuZXQ6Ci0tICAgIGRyaXZlcjogYnJpZGdlCi0t ICAgIGVuYWJsZV9pcHY2OiB0cnVlCi0tICAgIGlwYW06Ci0tICAgICAgZHJpdmVyOiBkZWZhdWx0 Ci0tICAgICAgY29uZmlnOgotLSAgICAgIC0gc3VibmV0OiAke0lQQV9JUFY2X1NVQk5FVH0KLS0g ICAgaW50ZXJuYWw6ICR7SVBBX05FVFdPUktfSU5URVJOQUx9Ci1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvYXp1cmUvYXp1cmUtcGlwZWxpbmVzLnltbCBiL2lwYXRlc3RzL2F6dXJlL2F6dXJlLXBpcGVs aW5lcy55bWwKLWluZGV4IDZmMThiMTAxOC4uNzg3NzdkNDYwIDEwMDY0NAotLS0tIGEvaXBhdGVz dHMvYXp1cmUvYXp1cmUtcGlwZWxpbmVzLnltbAotKysrIGIvaXBhdGVzdHMvYXp1cmUvYXp1cmUt cGlwZWxpbmVzLnltbAotQEAgLTIyLDEwICsyMiw2IEBAIGpvYnM6Ci0gICAgIHZtSW1hZ2U6ICQo Vk1fSU1BR0UpCi0gICBjb250YWluZXI6IGJ1aWxkZXIKLSAgIHN0ZXBzOgotLSAgICAtIHNjcmlw dDogfAotLSAgICAgICAgQ09OVEFJTkVSSUQ9YGVjaG8gJyQoQWdlbnQuQ29udGFpbmVyTWFwcGlu ZyknIHwganEgLXIgJy5idWlsZGVyLmlkJ2AKLS0gICAgICAgIC91c3IvYmluL2RvY2tlciBleGVj ICRDT05UQUlORVJJRCBiYXNoIC1jICJjaG1vZCBhK3IgL2V0Yy9zaGFkb3ciCi0tICAgICAgdGFy Z2V0OiBob3N0Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLlBSRVBB UkVfQlVJTERfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJp YWJsZXMuQVVUT0NPTkZfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxhdGVzLyR7 eyB2YXJpYWJsZXMuQlVJTERfVEVNUExBVEUgfX0KLUBAIC00MSw4ICszNyw5IEBAIGpvYnM6Ci0g ICAgICAgICBjcCAtcHIgZGlzdCBjb250YWluZXIvCi0gICAgICAgICBjcCAkKElQQV9URVNUU19E T0NLRVJGSUxFUykvJChET0NLRVJfRE9DS0VSRklMRSkgY29udGFpbmVyL0RvY2tlcmZpbGUKLSAg ICAgICAgIGNkIGNvbnRhaW5lcgotLSAgICAgICAgZG9ja2VyIGJ1aWxkIC10IGZyZWVpcGEtYXp1 cmUtYnVpbGRlciAuCi0tICAgICAgICBkb2NrZXIgc2F2ZSBmcmVlaXBhLWF6dXJlLWJ1aWxkZXIg fCBnemlwID4gJyQoYnVpbGRkaXIpL2ZyZWVpcGEtYXp1cmUtYnVpbGRlci1jb250YWluZXIudGFy Lmd6JwotKyAgICAgICAgcG9kbWFuIGJ1aWxkIC10IGZyZWVpcGEtYXp1cmUtYnVpbGRlciAuCi0r ICAgICAgICBwb2RtYW4gaW1hZ2Ugc2F2ZSAtbyAkKGJ1aWxkZGlyKS9mcmVlaXBhLWF6dXJlLWJ1 aWxkZXItY29udGFpbmVyLnRhciBmcmVlaXBhLWF6dXJlLWJ1aWxkZXI6bGF0ZXN0Ci0rICAgICAg ICBnemlwICQoYnVpbGRkaXIpL2ZyZWVpcGEtYXp1cmUtYnVpbGRlci1jb250YWluZXIudGFyCi0g ICAgICAgZGlzcGxheU5hbWU6IENyZWF0ZSBjb250YWluZXIgaW1hZ2UgZm9yIHRlc3QKLSAgICAg LSB0ZW1wbGF0ZTogdGVtcGxhdGVzL3B1Ymxpc2gtYnVpbGQueW1sCi0gICAgICAgcGFyYW1ldGVy czoKLUBAIC02NywxMCArNjQsNiBAQCBqb2JzOgotICAgICB2bUltYWdlOiAkKFZNX0lNQUdFKQot ICAgY29udGFpbmVyOiBidWlsZGVyCi0gICBzdGVwczoKLS0gICAgLSBzY3JpcHQ6IHwKLS0gICAg ICAgIENPTlRBSU5FUklEPWBlY2hvICckKEFnZW50LkNvbnRhaW5lck1hcHBpbmcpJyB8IGpxIC1y ICcuYnVpbGRlci5pZCdgCi0tICAgICAgICAvdXNyL2Jpbi9kb2NrZXIgZXhlYyAkQ09OVEFJTkVS SUQgYmFzaCAtYyAiY2htb2QgYStyIC9ldGMvc2hhZG93IgotLSAgICAgIHRhcmdldDogaG9zdAot ICAgICAtIHRlbXBsYXRlOiB0ZW1wbGF0ZXMvJHt7IHZhcmlhYmxlcy5QUkVQQVJFX0JVSUxEX1RF TVBMQVRFIH19Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLlBSRVBB UkVfTElOVF9URU1QTEFURSB9fQotICAgICAtIHRlbXBsYXRlOiB0ZW1wbGF0ZXMvJHt7IHZhcmlh Ymxlcy5BVVRPQ09ORl9URU1QTEFURSB9fQotQEAgLTkxLDEwICs4NCw2IEBAIGpvYnM6Ci0gICAg IHZtSW1hZ2U6ICQoVk1fSU1BR0UpCi0gICBjb250YWluZXI6IGJ1aWxkZXIKLSAgIHN0ZXBzOgot LSAgICAtIHNjcmlwdDogfAotLSAgICAgICAgQ09OVEFJTkVSSUQ9YGVjaG8gJyQoQWdlbnQuQ29u dGFpbmVyTWFwcGluZyknIHwganEgLXIgJy5idWlsZGVyLmlkJ2AKLS0gICAgICAgIC91c3IvYmlu L2RvY2tlciBleGVjICRDT05UQUlORVJJRCBiYXNoIC1jICJjaG1vZCBhK3IgL2V0Yy9zaGFkb3ci Ci0tICAgICAgdGFyZ2V0OiBob3N0Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFy aWFibGVzLlBSRVBBUkVfQlVJTERfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1wbGF0ZTogdGVtcGxh dGVzLyR7eyB2YXJpYWJsZXMuQVVUT0NPTkZfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1wbGF0ZTog dGVtcGxhdGVzLyR7eyB2YXJpYWJsZXMuQlVJTERfRE9DU19URU1QTEFURSB9fQotQEAgLTEwOSwx MCArOTgsNiBAQCBqb2JzOgotICAgICB2bUltYWdlOiAkKFZNX0lNQUdFKQotICAgY29udGFpbmVy OiBidWlsZGVyCi0gICBzdGVwczoKLS0gICAgLSBzY3JpcHQ6IHwKLS0gICAgICAgIENPTlRBSU5F UklEPWBlY2hvICckKEFnZW50LkNvbnRhaW5lck1hcHBpbmcpJyB8IGpxIC1yICcuYnVpbGRlci5p ZCdgCi0tICAgICAgICAvdXNyL2Jpbi9kb2NrZXIgZXhlYyAkQ09OVEFJTkVSSUQgYmFzaCAtYyAi Y2htb2QgYStyIC9ldGMvc2hhZG93IgotLSAgICAgIHRhcmdldDogaG9zdAotICAgICAtIHRlbXBs YXRlOiB0ZW1wbGF0ZXMvJHt7IHZhcmlhYmxlcy5QUkVQQVJFX0JVSUxEX1RFTVBMQVRFIH19Ci0g ICAgIC0gdGVtcGxhdGU6IHRlbXBsYXRlcy8ke3sgdmFyaWFibGVzLlBSRVBBUkVfVE9YX1RFTVBM QVRFIH19Ci0gICAgIC0gc2NyaXB0OiB8Ci1AQCAtMTM0LDEwICsxMTksNiBAQCBqb2JzOgotICAg ICB2bUltYWdlOiAkKFZNX0lNQUdFKQotICAgY29udGFpbmVyOiBidWlsZGVyCi0gICBzdGVwczoK LS0gICAgLSBzY3JpcHQ6IHwKLS0gICAgICAgIENPTlRBSU5FUklEPWBlY2hvICckKEFnZW50LkNv bnRhaW5lck1hcHBpbmcpJyB8IGpxIC1yICcuYnVpbGRlci5pZCdgCi0tICAgICAgICAvdXNyL2Jp bi9kb2NrZXIgZXhlYyAkQ09OVEFJTkVSSUQgYmFzaCAtYyAiY2htb2QgYStyIC9ldGMvc2hhZG93 IgotLSAgICAgIHRhcmdldDogaG9zdAotICAgICAtIHRlbXBsYXRlOiB0ZW1wbGF0ZXMvJHt7IHZh cmlhYmxlcy5QUkVQQVJFX0JVSUxEX1RFTVBMQVRFIH19Ci0gICAgIC0gdGVtcGxhdGU6IHRlbXBs YXRlcy8ke3sgdmFyaWFibGVzLlBSRVBBUkVfV0VCVUlfVEVNUExBVEUgfX0KLSAgICAgLSB0ZW1w bGF0ZTogdGVtcGxhdGVzLyR7eyB2YXJpYWJsZXMuQVVUT0NPTkZfVEVNUExBVEUgfX0KLWRpZmYg LS1naXQgYS9pcGF0ZXN0cy9henVyZS9zY3JpcHRzL2F6dXJlLXJ1bi10ZXN0cy5zaCBiL2lwYXRl c3RzL2F6dXJlL3NjcmlwdHMvYXp1cmUtcnVuLXRlc3RzLnNoCi1pbmRleCAyMjUyZDhjNmMuLjQ3 NmI0MjM2ZCAxMDA3NTUKLS0tLSBhL2lwYXRlc3RzL2F6dXJlL3NjcmlwdHMvYXp1cmUtcnVuLXRl c3RzLnNoCi0rKysgYi9pcGF0ZXN0cy9henVyZS9zY3JpcHRzL2F6dXJlLXJ1bi10ZXN0cy5zaAot QEAgLTcsNiArNyw4IEBAIGlmIFsgJCMgLW5lIDEgXTsgdGhlbgotICAgICBleGl0IDEKLSBmaQot IAotKyMgZG9ja2VyIHVzZXMgLSBidXQgcG9kbWFuIHVzZXMgXyBhcyBzZXBhcmF0b3Igd2hlbiBi dWlsZGluZyBzY2FsZWQgY29udGFpbmVyIG5hbWVzCi0rQ09OVEFJTkVSX1NFUD0iXyIKLSBQUk9K RUNUX0lEPSIkMSIKLSBCVUlMRF9SRVBPU0lUT1JZX0xPQ0FMUEFUSD0iJHtCVUlMRF9SRVBPU0lU T1JZX0xPQ0FMUEFUSDotJChyZWFscGF0aCAuKX0iCi0gCi1AQCAtNDEsNyArNDMsNyBAQCBJUEFf VEVTVFNfQ0xJRU5UUz0iJHshSVBBX1RFU1RTX0NMSUVOVFNfVkFSTkFNRTotMH0iCi0gSVBBX1RF U1RTX1JFUExJQ0FTX1ZBUk5BTUU9IklQQV9URVNUU19SRVBMSUNBU18ke1BST0pFQ1RfSUR9Igot IElQQV9URVNUU19SRVBMSUNBUz0iJHshSVBBX1RFU1RTX1JFUExJQ0FTX1ZBUk5BTUU6LTB9Igot IAotLUlQQV9URVNUU19DT05UUk9MTEVSPSIke1BST0pFQ1RfSUR9LW1hc3Rlci0xIgotK0lQQV9U RVNUU19DT05UUk9MTEVSPSIke1BST0pFQ1RfSUR9JHtDT05UQUlORVJfU0VQfW1hc3RlciR7Q09O VEFJTkVSX1NFUH0xIgotIElQQV9URVNUU19MT0dTRElSPSIke0lQQV9URVNUU19SRVBPX1BBVEh9 L2lwYV9lbnZzLyR7SVBBX1RFU1RTX0VOVl9OQU1FfS8ke0NJX1JVTk5FUl9MT0dTX0RJUn0iCi0g Ci0gIyBwYXRoIHRvIGF6dXJlIHNjcmlwdHMgaW5zaWRlIGNvbnRhaW5lcgotQEAgLTQ5LDYgKzUx LDggQEAgSVBBX1RFU1RTX1NDUklQVFNfSU49IiR7SVBBX1RFU1RTX1JFUE9fUEFUSH0vJHtJUEFf VEVTVFNfU0NSSVBUU30iCi0gIyBwYXRoIHRvIGF6dXJlIHNjcmlwdHMgb3V0c2lkZSBvZiBjb250 YWluZXIKLSBJUEFfVEVTVFNfU0NSSVBUU19PVVQ9IiR7QlVJTERfUkVQT1NJVE9SWV9MT0NBTFBB VEh9LyR7SVBBX1RFU1RTX1NDUklQVFN9IgotIAotK0lQQV9URVNUU19ORVRXT1JLX1ZBUk5BTUU9 IklQQV9URVNUU19ORVRXT1JLXyR7UFJPSkVDVF9JRH0iCi0rSVBBX05FVFdPUks9JHshSVBBX1RF U1RTX05FVFdPUktfVkFSTkFNRTotZGVmYXVsdH0KLSBJUEFfVEVTVFNfTkVUV09SS19JTlRFUk5B TF9WQVJOQU1FPSJJUEFfVEVTVFNfTkVUV09SS19JTlRFUk5BTF8ke1BST0pFQ1RfSUR9IgotIElQ QV9ORVRXT1JLX0lOVEVSTkFMPSIkeyFJUEFfVEVTVFNfTkVUV09SS19JTlRFUk5BTF9WQVJOQU1F Oi1mYWxzZX0iCi0gCi1AQCAtNzcsNyArODEsNyBAQCBJUEFfVEVTVFNfQ0xJRU5UX01FTVNXQVBf TElNSVQ9IiR7IUlQQV9URVNUU19DTElFTlRfTUVNU1dBUF9MSU1JVF9WQVJOQU1FOi03NjhtfQot IElQQV9URVNUU19ET01BSU49IiR7SVBBX1RFU1RTX0RPTUFJTjotaXBhLnRlc3R9IgotICMgYmFz aDQKLSBJUEFfVEVTVFNfUkVBTE09IiR7SVBBX1RFU1RTX0RPTUFJTl5efSIKLS0KLStET0NLRVJf SE9TVD0kKGV2YWwgImVjaG8gdW5peDovLyR7WERHX1JVTlRJTUVfRElSfS9wb2RtYW4vcG9kbWFu LnNvY2siKQotIAotICMgZm9yIGJhc2UgdGVzdHMgb25seSAxIG1hc3RlciBpcyBuZWVkZWQgZXZl biBpZiBhbm90aGVyIHdhcyBzcGVjaWZpZWQKLSBpZiBbICIkSVBBX1RFU1RTX1RZUEUiID09ICJi YXNlIiBdOyB0aGVuCi1AQCAtOTcsMTQgKzEwMSwxNCBAQCBJUEFfSU5TVEFMTEVEX1BLR1NfRElS PSIke3Byb2plY3RfZGlyfS9pbnN0YWxsZWRfcGFja2FnZXMiCi0gQkFTSF9DTUQ9Ii9iaW4vYmFz aCAtLW5vcHJvZmlsZSAtLW5vcmMiCi0gCi0gZnVuY3Rpb24gY29udGFpbmVycygpIHsKLS0gICAg bG9jYWwgX2NvbnRhaW5lcnM9IiR7UFJPSkVDVF9JRH0tbWFzdGVyLTEiCi0rICAgIGxvY2FsIF9j b250YWluZXJzPSIke1BST0pFQ1RfSUR9JHtDT05UQUlORVJfU0VQfW1hc3RlciR7Q09OVEFJTkVS X1NFUH0xIgotICAgICAjIGJ1aWxkIGxpc3Qgb2YgcmVwbGljYXMKLSAgICAgZm9yIGkgaW4gJChz ZXEgMSAxICIkSVBBX1RFU1RTX1JFUExJQ0FTIik7IGRvCi0tICAgICAgICBfY29udGFpbmVycys9 IiAke1BST0pFQ1RfSUR9LXJlcGxpY2EtJHtpfSIKLSsgICAgICAgIF9jb250YWluZXJzKz0iICR7 UFJPSkVDVF9JRH0ke0NPTlRBSU5FUl9TRVB9cmVwbGljYSR7Q09OVEFJTkVSX1NFUH0ke2l9Igot ICAgICBkb25lCi0gICAgICMgYnVpbGQgbGlzdCBvZiBjbGllbnRzCi0gICAgIGZvciBpIGluICQo c2VxIDEgMSAiJElQQV9URVNUU19DTElFTlRTIik7IGRvCi0tICAgICAgICBfY29udGFpbmVycys9 IiAke1BST0pFQ1RfSUR9LWNsaWVudC0ke2l9IgotKyAgICAgICAgX2NvbnRhaW5lcnMrPSIgJHtQ Uk9KRUNUX0lEfSR7Q09OVEFJTkVSX1NFUH1jbGllbnQke0NPTlRBSU5FUl9TRVB9JHtpfSIKLSAg ICAgZG9uZQotICAgICBwcmludGYgIiRfY29udGFpbmVycyIKLSB9Ci1AQCAtMTEyLDcgKzExNiw3 IEBAIGZ1bmN0aW9uIGNvbnRhaW5lcnMoKSB7Ci0gZnVuY3Rpb24gY29tcG9zZV9leGVjdXRlKCkg ewotICAgICAjIGV4ZWN1dGUgZ2l2ZW4gY29tbWFuZCB3aXRoaW4gZXZlcnkgY29udGFpbmVyIG9m IGNvbXBvc2UKLSAgICAgZm9yIGNvbnRhaW5lciBpbiAkKGNvbnRhaW5lcnMpOyBkbwotLSAgICAg ICAgZG9ja2VyIGV4ZWMgLXQgXAotKyAgICAgICAgcG9kbWFuIGV4ZWMgLXQgXAotICAgICAgICAg ICAgICIkY29udGFpbmVyIiBcCi0gICAgICAgICAgICAgIiRAIiBcCi0gICAgICAgICAyPiYxIHwg XAotQEAgLTE0NCwxMSArMTQ4LDE1IEBAIElQQV9URVNUU19DTElFTlRfTUVNX0xJTUlUPSIkSVBB X1RFU1RTX0NMSUVOVF9NRU1fTElNSVQiIFwKLSBJUEFfVEVTVFNfU0VSVkVSX01FTVNXQVBfTElN SVQ9IiRJUEFfVEVTVFNfU0VSVkVSX01FTVNXQVBfTElNSVQiIFwKLSBJUEFfVEVTVFNfUkVQTElD QV9NRU1TV0FQX0xJTUlUPSIkSVBBX1RFU1RTX1JFUExJQ0FfTUVNU1dBUF9MSU1JVCIgXAotIElQ QV9URVNUU19DTElFTlRfTUVNU1dBUF9MSU1JVD0iJElQQV9URVNUU19DTElFTlRfTUVNU1dBUF9M SU1JVCIgXAotLWRvY2tlciBjb21wb3NlIC1wICIkUFJPSkVDVF9JRCIgdXAgXAotK0NPTVBPU0Vf UFJPSkVDVF9OQU1FPSIkUFJPSkVDVF9JRCIgXAotK1BST0pFQ1RfRElSPSIkcHJvamVjdF9kaXIi IFwKLStwb2RtYW4tY29tcG9zZSB1cCBcCi0gICAgIC0tc2NhbGUgcmVwbGljYT0iJElQQV9URVNU U19SRVBMSUNBUyIgXAotICAgICAtLXNjYWxlIGNsaWVudD0iJElQQV9URVNUU19DTElFTlRTIiBc Ci0gICAgIC0tZm9yY2UtcmVjcmVhdGUgLS1yZW1vdmUtb3JwaGFucyAtZAotIAotK3BvZG1hbiBu ZXR3b3JrIGluc3BlY3QgJHtQUk9KRUNUX0lEfV8ke0lQQV9ORVRXT1JLfQotKwotIHBvcGQKLSAK LSBJUEFfVEVTVFNfQ0xJRU5UUz0iJElQQV9URVNUU19DTElFTlRTIiBcCi1AQCAtMTU5LDEwICsx NjcsMTIgQEAgSVBBX1RFU1RTX0VOVl9OQU1FPSIkSVBBX1RFU1RTX0VOVl9OQU1FIiBcCi0gSVBB X1RFU1RfQ09ORklHX1RFTVBMQVRFPSIke0JVSUxEX1JFUE9TSVRPUllfTE9DQUxQQVRIfS9pcGF0 ZXN0cy9henVyZS90ZW1wbGF0ZXMvaXBhLXRlc3QtY29uZmlnLXRlbXBsYXRlLnlhbWwiIFwKLSBJ UEFfVEVTVFNfUkVQT19QQVRIPSIkSVBBX1RFU1RTX1JFUE9fUEFUSCIgXAotIElQQV9URVNUU19E T01BSU49IiRJUEFfVEVTVFNfRE9NQUlOIiBcCi0rRE9DS0VSX0hPU1Q9IiRET0NLRVJfSE9TVCIg XAotK0lQQV9ORVRXT1JLPSIke0lQQV9ORVRXT1JLOi1pcGFuZXR9IiBcCi0gcHl0aG9uMyBzZXR1 cF9jb250YWluZXJzLnB5IHx8IFwKLSAgICAgeyBta2RpciAtcCAiJFNZU1RFTURfQk9PVF9MT0ci OwotICAgICAgIGZvciBjb250YWluZXIgaW4gJChjb250YWluZXJzKTsgZG8KLS0gICAgICAgICAg ZG9ja2VyIGV4ZWMgLXQgIiRjb250YWluZXIiIFwKLSsgICAgICAgICAgcG9kbWFuIGV4ZWMgLXQg IiRjb250YWluZXIiIFwKLSAgICAgICAgICAgICAgICRCQVNIX0NNRCAtZXUgXAotICAgICAgICAg ICAgICAgLWMgJ2pvdXJuYWxjdGwgLWIgLS1uby1wYWdlcicgPiAiJHtTWVNURU1EX0JPT1RfTE9H fS9zeXN0ZW1kX2Jvb3RfJHtjb250YWluZXJ9LmxvZyI7Ci0gICAgICAgZG9uZQotQEAgLTE3Myw3 ICsxODMsNyBAQCBweXRob24zIHNldHVwX2NvbnRhaW5lcnMucHkgfHwgXAotIG1rZGlyIC1wICIk SVBBX0lOU1RBTExFRF9QS0dTX0RJUiIKLSAKLSAjIGNvbnRyb2xsZXIKLS1kb2NrZXIgZXhlYyAt dCBcCi0rcG9kbWFuIGV4ZWMgLXQgXAotICAgICAtLWVudiBJUEFfVEVTVFNfU0NSSVBUUz0iJHtJ UEFfVEVTVFNfU0NSSVBUU19JTn0iIFwKLSAgICAgLS1lbnYgSVBBX1BMQVRGT1JNPSIkSVBBX1BM QVRGT1JNIiBcCi0gICAgICIkSVBBX1RFU1RTX0NPTlRST0xMRVIiIFwKLUBAIC0xODUsOSArMTk1 LDMwIEBAIGRvY2tlciBleGVjIC10IFwKLSAgICAgIGluc3RhbGxlZF9wYWNrYWdlcyBcCi0gICAg ICAiID4gIiR7SVBBX0lOU1RBTExFRF9QS0dTX0RJUn0vcGFja2FnZXNfY29udHJvbGxlcl8ke0lQ QV9URVNUU19DT05UUk9MTEVSfS5sb2ciCi0gCi0rIyBkaXNwbGF5IHVzZXIgbmFtZXNwYWNlCi0r cG9kbWFuIGV4ZWMgLXQgXAotKyAgICAtLWVudiBJUEFfVEVTVFNfU0NSSVBUUz0iJHtJUEFfVEVT VFNfU0NSSVBUU19JTn0iIFwKLSsgICAgLS1lbnYgSVBBX1BMQVRGT1JNPSIkSVBBX1BMQVRGT1JN IiBcCi0rICAgICIkSVBBX1RFU1RTX0NPTlRST0xMRVIiIFwKLSsgICAgJEJBU0hfQ01EIC1ldSBc Ci0rICAgIC1jIFwKLSsgICAgImNhdCAvcHJvYy9zZWxmL3VpZF9tYXAgL3Byb2Mvc2VsZi9naWRf bWFwIgotKwotKyMgd29ya2Fyb3VuZCBmb3IgL2V0Yy9zaGFkb3cgbWlzc2luZyByZWFkIHBlcm1p c3Npb25zCi0rIyB3b3JrZXJzCi0rZm9yIGNvbnRhaW5lciBpbiAkKGNvbnRhaW5lcnMpOyBkbwot KyAgICBwb2RtYW4gZXhlYyAtdCBcCi0rICAgICAgICAtLWVudiBJUEFfVEVTVFNfU0NSSVBUUz0i JHtJUEFfVEVTVFNfU0NSSVBUU19JTn0iIFwKLSsgICAgICAgIC0tZW52IElQQV9QTEFURk9STT0i JElQQV9QTEFURk9STSIgXAotKyAgICAgICAgIiRjb250YWluZXIiIFwKLSsgICAgICAgICRCQVNI X0NNRCAtZXUgXAotKyAgICAgICAgLWMgXAotKyAgICAgICAgImNobW9kIGErciAvZXRjL3NoYWRv dyIKLStkb25lCi0rCi0gIyB3b3JrZXJzCi0gZm9yIGNvbnRhaW5lciBpbiAkKGNvbnRhaW5lcnMp OyBkbwotLSAgICBkb2NrZXIgZXhlYyAtdCBcCi0rICAgIHBvZG1hbiBleGVjIC10IFwKLSAgICAg ICAgIC0tZW52IElQQV9URVNUU19TQ1JJUFRTPSIke0lQQV9URVNUU19TQ1JJUFRTX0lOfSIgXAot ICAgICAgICAgLS1lbnYgSVBBX1BMQVRGT1JNPSIkSVBBX1BMQVRGT1JNIiBcCi0gICAgICAgICAi JGNvbnRhaW5lciIgXAotQEAgLTIwNCw3ICsyMzUsNyBAQCBkb25lCi0gdGVzdHNfcnVubmVyPSIk e0lQQV9URVNUU19TQ1JJUFRTX0lOfS9henVyZS1ydW4tJHtJUEFfVEVTVFNfVFlQRX0tdGVzdHMu c2giCi0gCi0gdGVzdHNfcmVzdWx0PTEKLS17IGRvY2tlciBleGVjIC10IFwKLSt7IHBvZG1hbiBl eGVjIC10IFwKLSAgICAgLS1lbnYgSVBBX1RFU1RTX1NDUklQVFM9IiR7SVBBX1RFU1RTX1NDUklQ VFNfSU59IiBcCi0gICAgIC0tZW52IElQQV9QTEFURk9STT0iJElQQV9QTEFURk9STSIgXAotICAg ICAtLWVudiBJUEFfVEVTVFNfRE9NQUlOPSIkSVBBX1RFU1RTX0RPTUFJTiIgXAotQEAgLTI1Nyw3 ICsyODgsOSBAQCBJUEFfVEVTVFNfQ0xJRU5UX01FTV9MSU1JVD0iJElQQV9URVNUU19DTElFTlRf TUVNX0xJTUlUIiBcCi0gSVBBX1RFU1RTX1NFUlZFUl9NRU1TV0FQX0xJTUlUPSIkSVBBX1RFU1RT X1NFUlZFUl9NRU1TV0FQX0xJTUlUIiBcCi0gSVBBX1RFU1RTX1JFUExJQ0FfTUVNU1dBUF9MSU1J VD0iJElQQV9URVNUU19SRVBMSUNBX01FTVNXQVBfTElNSVQiIFwKLSBJUEFfVEVTVFNfQ0xJRU5U X01FTVNXQVBfTElNSVQ9IiRJUEFfVEVTVFNfQ0xJRU5UX01FTVNXQVBfTElNSVQiIFwKLS1kb2Nr ZXIgY29tcG9zZSAtcCAiJFBST0pFQ1RfSUQiIGRvd24KLStDT01QT1NFX1BST0pFQ1RfTkFNRT0i JFBST0pFQ1RfSUQiIFwKLStQUk9KRUNUX0RJUj0iJHByb2plY3RfZGlyIiBcCi0rcG9kbWFuLWNv bXBvc2UgZG93bgotIHBvcGQKLSAKLSBleGl0ICR0ZXN0c19yZXN1bHQKLWRpZmYgLS1naXQgYS9p cGF0ZXN0cy9henVyZS9zY3JpcHRzL3NldHVwX2NvbnRhaW5lcnMucHkgYi9pcGF0ZXN0cy9henVy ZS9zY3JpcHRzL3NldHVwX2NvbnRhaW5lcnMucHkKLWluZGV4IDlkMmYxMTQyZS4uNDc3YjMxNGU4 IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvYXp1cmUvc2NyaXB0cy9zZXR1cF9jb250YWluZXJzLnB5 Ci0rKysgYi9pcGF0ZXN0cy9henVyZS9zY3JpcHRzL3NldHVwX2NvbnRhaW5lcnMucHkKLUBAIC0x MjUsNyArMTI1LDcgQEAgY2xhc3MgQ29udGFpbmVyc0dyb3VwOgotICAgICAgICAgIyBpbml0aWFs aXplIGNvbnRhaW5lcnMKLSAgICAgICAgIHNlbGYuY29udGFpbmVycyA9IFsKLSAgICAgICAgICAg ICBDb250YWluZXIoCi0tICAgICAgICAgICAgICAgIG5hbWU9ZiJ7c2VsZi5wcmVmaXh9LXtzZWxm LnJvbGV9LXtjfSIsCi0rICAgICAgICAgICAgICAgIG5hbWU9ZiJ7c2VsZi5wcmVmaXh9X3tzZWxm LnJvbGV9X3tjfSIsCi0gICAgICAgICAgICAgICAgIGhvc3RuYW1lPWYie3NlbGYucm9sZX17Y30u e3NlbGYuZG9tYWlufSIsCi0gICAgICAgICAgICAgICAgIG5ldHdvcms9ZiJ7SVBBX1RFU1RTX0VO Vl9JRH1fe0lQQV9ORVRXT1JLfSIsCi0gICAgICAgICAgICAgKQotQEAgLTE4Nyw3ICsxODcsNyBA QCBjbGFzcyBDb250YWluZXJzR3JvdXA6Ci0gICAgICAgICAgICAgICAgICAgICAiMTI3LjAuMC4x IGxvY2FsaG9zdCIsCi0gICAgICAgICAgICAgICAgICAgICAiOjoxIGxvY2FsaG9zdCIsCi0gICAg ICAgICAgICAgICAgICAgICBmIntjb250LmlwfSB7Y29udC5ob3N0bmFtZX0iLAotLSAgICAgICAg ICAgICAgICAgICAgZiJ7Y29udC5pcHY2fSB7Y29udC5ob3N0bmFtZX0iLAotKyAgICAgICAgICAg ICAgICAgICAgIyBmIntjb250LmlwdjZ9IHtjb250Lmhvc3RuYW1lfSIsCi0gICAgICAgICAgICAg ICAgIF0KLSAgICAgICAgICAgICApCi0gICAgICAgICAgICAgY21kID0gWyIvYmluL2Jhc2giLCAi LWMiLCBmImVjaG8gLWUgJ3tob3N0c30nID4gL2V0Yy9ob3N0cyJdCi1AQCAtMjE4LDcgKzIxOCw4 IEBAIGNsYXNzIENvbnRhaW5lcnNHcm91cDoKLSAgICAgICAgIGNtZCA9IFsKLSAgICAgICAgICAg ICAiL2Jpbi9iYXNoIiwKLSAgICAgICAgICAgICAiLWMiLAotLSAgICAgICAgICAgIGYiZWNobyAt ZSAne25hbWVzZXJ2ZXJzfScgPiAvZXRjL3Jlc29sdi5jb25mIiwKLSsgICAgICAgICAgICBmImVj aG8gLWUgJ3tuYW1lc2VydmVyc30nID4gL2V0Yy9yZXNvbHYuY29uZiIKLSsgICAgICAgICAgICBm IjsgY2htb2QgMDY0NCAvZXRjL3Jlc29sdi5jb25mIiwKLSAgICAgICAgIF0KLSAgICAgICAgIHNl bGYuZXhlY3V0ZV9hbGwoY21kKQotIAotQEAgLTM2Myw3ICszNjQsNyBAQCBjbGFzcyBDb250cm9s bGVyKENvbnRhaW5lcik6Ci0gCi0gICAgICAgICAgICAgZm9yIGNvbnRhaW5lciBpbiBjb250YWlu ZXJzX2dyb3VwLmNvbnRhaW5lcnM6Ci0gICAgICAgICAgICAgICAgIGhvc3RzLmFwcGVuZChmIntj b250YWluZXIuaXB9IHtjb250YWluZXIuaG9zdG5hbWV9IikKLS0gICAgICAgICAgICAgICAgaG9z dHMuYXBwZW5kKGYie2NvbnRhaW5lci5pcHY2fSB7Y29udGFpbmVyLmhvc3RuYW1lfSIpCi0rICAg ICAgICAgICAgICAgICMgaG9zdHMuYXBwZW5kKGYie2NvbnRhaW5lci5pcHY2fSB7Y29udGFpbmVy Lmhvc3RuYW1lfSIpCi0gCi0gICAgICAgICBjbWQgPSBbCi0gICAgICAgICAgICAgIi9iaW4vYmFz aCIsCi1AQCAtMzkxLDYgKzM5Miw5IEBAIGNsYXNzIENvbnRyb2xsZXIoQ29udGFpbmVyKToKLSAg ICAgICAgICAgICB0ZW1wbGF0ZSA9IFRlbXBsYXRlKGYucmVhZCgpLCB0cmltX2Jsb2Nrcz1UcnVl LCBsc3RyaXBfYmxvY2tzPVRydWUpCi0gCi0gICAgICAgICBsb2dnaW5nLmluZm8odGVtcGxhdGUu cmVuZGVyKGNvbmZpZykpCi0rICAgICAgICBsb2dnaW5nLmluZm8oCi0rICAgICAgICAgICAgIlNh dmluZyB0aGUgdGVzdCBjb25maWcgaW4gJXMiLAotKyAgICAgICAgICAgIG9zLnBhdGguam9pbihJ UEFfVEVTVFNfRU5WX0RJUiwgSVBBX1RFU1RfQ09ORklHKSkKLSAKLSAgICAgICAgIHdpdGggb3Bl bihvcy5wYXRoLmpvaW4oSVBBX1RFU1RTX0VOVl9ESVIsIElQQV9URVNUX0NPTkZJRyksICJ3Iikg YXMgZjoKLSAgICAgICAgICAgICBmLndyaXRlKHRlbXBsYXRlLnJlbmRlcihjb25maWcpKQotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55 bWwgYi9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS1idWlsZC1mZWRvcmEueW1sCi1p bmRleCA5ZjZiOTJiNzAuLjNhNzRkN2YyYSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL2F6dXJlL3Rl bXBsYXRlcy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55bWwKLSsrKyBiL2lwYXRlc3RzL2F6dXJlL3Rl bXBsYXRlcy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55bWwKLUBAIC0xLDQgKzEsMTAgQEAKLSBzdGVw czoKLSstIHNjcmlwdDogfAotKyAgICBDT05UQUlORVJJRD1gZWNobyAnJChBZ2VudC5Db250YWlu ZXJNYXBwaW5nKScgfCBqcSAtciAnLmJ1aWxkZXIuaWQnYAotKyAgICAvdXNyL2Jpbi9kb2NrZXIg ZXhlYyAkQ09OVEFJTkVSSUQgYmFzaCAtYyAiZG5mIHJlaW5zdGFsbCAteSBzaGFkb3ctdXRpbHM7 IGNobW9kIGErciAvZXRjL3NoYWRvdyIKLSsgIHRhcmdldDogaG9zdAotKyAgZGlzcGxheU5hbWU6 IFdvcmthcm91bmQgdW5yZWFkYWJsZSAvZXRjL3NoYWRvdwotKwotIC0gc2NyaXB0OiB8Ci0gICAg IHNldCAtZQotICAgICBzdWRvIHJtIC1yZiAvdmFyL2NhY2hlL2RuZi8qCi1AQCAtMTQsNyArMjAs NyBAQCBzdGVwczoKLSAgICAgICAgIGdpdCBcCi0gICAgICAgICBhdXRvbWFrZSBcCi0gICAgICAg ICBsaWJ0b29sIFwKLS0gICAgICAgIGRvY2tlciBcCi0rICAgICAgICBwb2RtYW4gXAotICAgICAg ICAgcHl0aG9uMy1wYXJhbWlrbyBcCi0gICAgICAgICBweXRob24zLXB5eWFtbCBcCi0gCi1kaWZm IC0tZ2l0IGEvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3NldHVwLXRlc3QtZW52aXJvbm1lbnQu eW1sIGIvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3NldHVwLXRlc3QtZW52aXJvbm1lbnQueW1s Ci1pbmRleCA1ODRhYmI5OTAuLjM0NDhjNjYyZSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL2F6dXJl L3RlbXBsYXRlcy9zZXR1cC10ZXN0LWVudmlyb25tZW50LnltbAotKysrIGIvaXBhdGVzdHMvYXp1 cmUvdGVtcGxhdGVzL3NldHVwLXRlc3QtZW52aXJvbm1lbnQueW1sCi1AQCAtMiwxNiArMiw2IEBA IHBhcmFtZXRlcnM6Ci0gICBpbWFnZU5hbWU6ICdmcmVlaXBhLWF6dXJlLWJ1aWxkZXI6bGF0ZXN0 JwotIAotIHN0ZXBzOgotLS0gc2NyaXB0OiB8Ci0tICAgIHNldCAtZQotLSAgICBlY2hvICd7ICJp cHY2IjogdHJ1ZSwgImZpeGVkLWNpZHItdjYiOiAiMjAwMTpkYjg6Oi82NCIgfScgPiBkb2NrZXIt ZGFlbW9uLmpzb24KLS0gICAgc3VkbyBta2RpciAtcCAvZXRjL2RvY2tlcgotLSAgICBzdWRvIGNw IGRvY2tlci1kYWVtb24uanNvbiAvZXRjL2RvY2tlci9kYWVtb24uanNvbgotLSAgICBzdWRvIGNo b3duIHJvb3Q6cm9vdCAvZXRjL2RvY2tlci9kYWVtb24uanNvbgotLSAgICBzdWRvIHN5c3RlbWN0 bCByZXN0YXJ0IGRvY2tlcgotLSAgICBzdWRvIG1vZHByb2JlIGlwNl90YWJsZXMKLS0gIGRpc3Bs YXlOYW1lOiBDb25maWd1cmUgY29udGFpbmVyaXphdGlvbiB0byBhbGxvdyBJUHY2IG5ldHdvcmsK LS0KLSAtIHNjcmlwdDogfAotICAgICBzZXQgLWUKLSAgICAgc3VkbyBtb2Rwcm9iZSB7bmZzLG5m c2R9Ci1AQCAtMzEsNyArMjEsOSBAQCBzdGVwczoKLSAKLSAtIHNjcmlwdDogfAotICAgICBzZXQg LWUKLS0gICAgZG9ja2VyIGxvYWQgLS1pbnB1dCAkKEJ1aWxkLlJlcG9zaXRvcnkuTG9jYWxQYXRo KS9mcmVlaXBhLWF6dXJlLWJ1aWxkZXItY29udGFpbmVyLnRhci5negotLSAgICBkb2NrZXIgaW1h Z2VzCi0tICAgIGRvY2tlciBpbnNwZWN0IGZyZWVpcGEtYXp1cmUtYnVpbGRlcjpsYXRlc3QKLSsg ICAgcG9kbWFuIGxvYWQgLS1pbnB1dCAkKEJ1aWxkLlJlcG9zaXRvcnkuTG9jYWxQYXRoKS9mcmVl aXBhLWF6dXJlLWJ1aWxkZXItY29udGFpbmVyLnRhci5negotKyAgICAjIFdvcmsgYXJvdW5kIHBv ZG1hbiBsb2FkIGJ1ZyB0aGF0IG5hbWVzIGxvYWRlZCBpbWFnZSBhcyBsYXRlc3Q6bGF0ZXN0Ci0r ICAgIHBvZG1hbiBpbWFnZSB0YWcgbG9jYWxob3N0L2xhdGVzdDpsYXRlc3QgZnJlZWlwYS1henVy ZS1idWlsZGVyOmxhdGVzdCB8fDoKLSsgICAgcG9kbWFuIGltYWdlcwotKyAgICBwb2RtYW4gaW5z cGVjdCBmcmVlaXBhLWF6dXJlLWJ1aWxkZXI6bGF0ZXN0Ci0gICBkaXNwbGF5TmFtZTogSW1wb3J0 IHByZS1idWlsdCBjb250YWluZXIgdG8gdGhlIGVuZ2luZQotZGlmZiAtLWdpdCBhL2lwYXRlc3Rz L2F6dXJlL3RlbXBsYXRlcy90ZXN0LWpvYnMueW1sIGIvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVz L3Rlc3Qtam9icy55bWwKLWluZGV4IDFkZjAwOTg5OS4uNDAzN2U1MDc3IDEwMDY0NAotLS0tIGEv aXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3Rlc3Qtam9icy55bWwKLSsrKyBiL2lwYXRlc3RzL2F6 dXJlL3RlbXBsYXRlcy90ZXN0LWpvYnMueW1sCi1AQCAtMSw2ICsxLDcgQEAKLSBzdGVwczoKLSAt IHNjcmlwdDogfAotICAgICBzZXQgLWUKLSsgICAgZXhwb3J0IERPQ0tFUl9IT1NUPXVuaXg6Ly8k KFhER19SVU5USU1FX0RJUikvcG9kbWFuL3BvZG1hbi5zb2NrCi0gICAgIGVudiB8IHNvcnQKLSAg IGRpc3BsYXlOYW1lOiBQcmludCBIb3N0IEVudmlyb21lbnQKLSAKLUBAIC0xMSw2ICsxMiw3IEBA IHN0ZXBzOgotIAotIC0gc2NyaXB0OiB8Ci0gICAgIHNldCAtZQotKyAgICBzdWRvIGFwdC1nZXQg cHVyZ2UgLS1hdXRvLXJlbW92ZSBkb2NrZXItY2UtY2xpCi0gICAgIHN1ZG8gYXB0LWdldCB1cGRh dGUKLSAgICAgc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXkgXAotICAgICAgICAgYXBwYXJtb3ItdXRp bHMgXAotQEAgLTE4LDcgKzIwLDggQEAgc3RlcHM6Ci0gICAgICAgICBtb3JldXRpbHMgXAotICAg ICAgICAgcm5nLXRvb2xzIFwKLSAgICAgICAgIHN5c3RlbWQtY29yZWR1bXAgXAotLSAgICAgICAg cHl0aG9uMy1kb2NrZXIKLSsgICAgICAgIHBvZG1hbiBwb2RtYW4tZG9ja2VyIHB5dGhvbjMtcGlw IHB5dGhvbjMtdmVudgotKyAgICBzdWRvIHBpcDMgaW5zdGFsbCBwb2RtYW4tY29tcG9zZQotICAg ZGlzcGxheU5hbWU6IEluc3RhbGwgSG9zdCdzIHRlc3RzIHJlcXVpcmVtZW50cwotIAotIC0gc2Ny aXB0OiB8Ci1AQCAtMjYsNiArMjksMTEgQEAgc3RlcHM6Ci0gICAgIHN1ZG8gc3lzdGVtY3RsCi0g ICBkaXNwbGF5TmFtZTogU2hvdyBIb3N0J3Mgc3lzdGVtZCBzdGF0dXMKLSAKLSstIHNjcmlwdDog fAotKyAgICBzZXQgLWUKLSsgICAgc3lzdGVtY3RsIC0tdXNlciBlbmFibGUgLS1ub3cgcG9kbWFu LnNvY2tldCB8fDoKLSsgIGRpc3BsYXlOYW1lOiBFbmFibGUgcG9kbWFuIGVtdWxhdGlvbiBvZiBk b2NrZXIKLSsKLSAtIHNjcmlwdDogfAotICAgICBzZXQgLWUKLSAgICAgIyBtb3N0IG9mIHRoZSB0 aW1lIHN5c3RlbWQga2lsbGVkIGhvc3RuYW1lZCB3aXRoIFNJR0tJTEwgb24gdGltZW91dAotQEAg LTgyLDEzICs5MCwyNyBAQCBzdGVwczoKLSAgICAgc3VkbyBwcyAtYXV4ZgotICAgZGlzcGxheU5h bWU6IFNob3cgSG9zdCdzIHByb2Nlc3NlcwotIAotKy0gc2NyaXB0OiB8Ci0rICAgIHNldCAtZXUK LSsgICAgaWQKLSsgICAgY2F0IC9wcm9jLyQkL3N1YnVpZF9tYXAgfHw6Ci0rICAgIGNhdCAvcHJv Yy8kJC9zdWJnaWRfbWFwIHx8OgotKyAgICBjYXQgL2V0Yy9zdWJ1aWQgfHw6Ci0rICAgIGNhdCAv ZXRjL3N1YmdpZCB8fDoKLSsgIGRpc3BsYXlOYW1lOiBTaG93IEhvc3QncyBzdWJ1aWQgc2V0dGlu Z3MKLSsKLSstIHNjcmlwdDogfAotKyAgICBzZXQgLWUKLSsgICAgc3VkbyBta2RpciAtcCAvc3lz L2ZzL2Nncm91cC9zeXN0ZW1kCi0rICBkaXNwbGF5TmFtZTogQ3JlYXRlIC9zeXMvZnMvY2dyb3Vw L3N5c3RlbWQgZm9yIHRoZSB2b2x1bWUKLSsKLSAtIHRlbXBsYXRlOiBydW4tdGVzdC55bWwKLSAK LSAtIHNjcmlwdDogfAotICAgICBzZXQgLWV1eAotICAgICBmcmVlIC1tCi0tICAgIGNhdCAvc3lz L2ZzL2Nncm91cC9tZW1vcnkvbWVtb3J5Lm1lbXN3Lm1heF91c2FnZV9pbl9ieXRlcwotLSAgICBj YXQgL3N5cy9mcy9jZ3JvdXAvbWVtb3J5L21lbW9yeS5tYXhfdXNhZ2VfaW5fYnl0ZXMKLSsgICAg Y2F0IC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQvbWVtb3J5LnN3YXAucGVhawotKyAgICBjYXQgL3N5 cy9mcy9jZ3JvdXAvc3lzdGVtZC9tZW1vcnkucGVhawotICAgICBjYXQgL3Byb2Mvc3lzL3ZtL3N3 YXBwaW5lc3MKLSAgIGNvbmRpdGlvbjogc3VjY2VlZGVkT3JGYWlsZWQoKQotICAgZGlzcGxheU5h bWU6IEhvc3QncyBtZW1vcnkgc3RhdGlzdGljcwotQEAgLTE1MCwyMCArMTcyLDIwIEBAIHN0ZXBz OgotICAgICAjIGNvbnRpbnVlIGluIGNvbnRhaW5lcgotICAgICBIT1NUX0pPVVJOQUw9Ii92YXIv bG9nL2hvc3Rfam91cm5hbCIKLSAgICAgQ09OVEFJTkVSX0NPUkVEVU1QPSJkdW1wX2NvcmVzIgot LSAgICBkb2NrZXIgY3JlYXRlIC0tcHJpdmlsZWdlZCBcCi0rICAgIHBvZG1hbiBjcmVhdGUgLS1w cml2aWxlZ2VkIFwKLSAgICAgICAgIC12ICIkKHJlYWxwYXRoIGNvcmVkdW1wY3RsLnRpbWUubWFy aykiOi9jb3JlZHVtcGN0bC50aW1lLm1hcms6cm8gXAotICAgICAgICAgLXYgL3Zhci9saWIvc3lz dGVtZC9jb3JlZHVtcDovdmFyL2xpYi9zeXN0ZW1kL2NvcmVkdW1wOnJvIFwKLSAgICAgICAgIC12 IC92YXIvbG9nL2pvdXJuYWw6IiRIT1NUX0pPVVJOQUwiOnJvIFwKLSAgICAgICAgIC12ICIke0JV SUxEX1JFUE9TSVRPUllfTE9DQUxQQVRIfSI6IiR7SVBBX1RFU1RTX1JFUE9fUEFUSH0iIFwKLSAg ICAgICAgIC0tbmFtZSAiJENPTlRBSU5FUl9DT1JFRFVNUCIgZnJlZWlwYS1henVyZS1idWlsZGVy Ci0tICAgIGRvY2tlciBzdGFydCAiJENPTlRBSU5FUl9DT1JFRFVNUCIKLSsgICAgcG9kbWFuIHN0 YXJ0ICIkQ09OVEFJTkVSX0NPUkVEVU1QIgotIAotLSAgICBkb2NrZXIgZXhlYyAtdCBcCi0rICAg IHBvZG1hbiBleGVjIC10IFwKLSAgICAgICAgICIkQ09OVEFJTkVSX0NPUkVEVU1QIiBcCi0gICAg ICAgICAvYmluL2Jhc2ggLS1ub3Byb2ZpbGUgLS1ub3JjIC1ldXggXAotICAgICAgICAgICAgICIk e0lQQV9URVNUU19SRVBPX1BBVEh9LyR7SVBBX1RFU1RTX1NDUklQVFN9L3dhaXQtZm9yLXN5c3Rl bWQuc2giCi0gCi0tICAgIGRvY2tlciBleGVjIC10IFwKLSsgICAgcG9kbWFuIGV4ZWMgLXQgXAot ICAgICAgICAgLS1lbnYgSVBBX1RFU1RTX1JFUE9fUEFUSD0iJHtJUEFfVEVTVFNfUkVQT19QQVRI fSIgXAotICAgICAgICAgLS1lbnYgSVBBX1RFU1RTX1NDUklQVFM9IiR7SVBBX1RFU1RTX1JFUE9f UEFUSH0vJHtJUEFfVEVTVFNfU0NSSVBUU30iIFwKLSAgICAgICAgIC0tZW52IElQQV9QTEFURk9S TT0iJHtJUEFfUExBVEZPUk19IiBcCi1AQCAtMTcxLDcgKzE5Myw3IEBAIHN0ZXBzOgotICAgICAg ICAgL2Jpbi9iYXNoIC0tbm9wcm9maWxlIC0tbm9yYyAtZXV4IFwKLSAgICAgICAgICAgICAiJHtJ UEFfVEVTVFNfUkVQT19QQVRIfS8ke0lQQV9URVNUU19TQ1JJUFRTfS9pbnN0YWxsLWRlYnVnaW5m by5zaCIKLSAKLS0gICAgZG9ja2VyIGV4ZWMgLXQgXAotKyAgICBwb2RtYW4gZXhlYyAtdCBcCi0g ICAgICAgICAtLWVudiBJUEFfVEVTVFNfUkVQT19QQVRIPSIke0lQQV9URVNUU19SRVBPX1BBVEh9 IiBcCi0gICAgICAgICAtLWVudiBDT1JFRFVNUFNfU1VCRElSPSIkQ09SRURVTVBTX1NVQkRJUiIg XAotICAgICAgICAgLS1lbnYgSE9TVF9KT1VSTkFMPSIkSE9TVF9KT1VSTkFMIiBcCi1kaWZmIC0t Z2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3N1ZG8ucHkgYi9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3Rfc3Vkby5weQotaW5kZXggNDc2OTkwZjcxLi5jODczOTUwZmEg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rfc3Vkby5weQotKysr IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3N1ZG8ucHkKLUBAIC0yNCw3ICsyNCw3 IEBAIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0gZnJvbSBpcGF0ZXN0cy50 ZXN0X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotIGZyb20gaXBhdGVz dHMucHl0ZXN0X2lwYS5pbnRlZ3JhdGlvbi50YXNrcyBpbXBvcnQgKAotICAgICBjbGVhcl9zc3Nk X2NhY2hlLCBnZXRfaG9zdF9pcF93aXRoX2hvc3RtYXNrLCByZW1vdGVfc3NzZF9jb25maWcsCi0t ICAgIEZpbGVCYWNrdXApCi0rICAgIEZpbGVCYWNrdXAsIGluc3RhbGxfbWFzdGVyLCBpbnN0YWxs X2NsaWVudCkKLSAKLSBjbGFzcyBUZXN0U3VkbyhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAiIiIK LUBAIC0zMiwxMiArMzIsMTUgQEAgY2xhc3MgVGVzdFN1ZG8oSW50ZWdyYXRpb25UZXN0KToKLSAg ICAgaHR0cDovL3d3dy5mcmVlaXBhLm9yZy9wYWdlL1Y0L1N1ZG9fSW50ZWdyYXRpb24jVGVzdF9Q bGFuCi0gICAgICIiIgotICAgICBudW1fY2xpZW50cyA9IDEKLS0gICAgdG9wb2xvZ3kgPSAnbGlu ZScKLSAKLSAgICAgQGNsYXNzbWV0aG9kCi0gICAgIGRlZiBpbnN0YWxsKGNscywgbWgpOgotICAg ICAgICAgc3VwZXIoVGVzdFN1ZG8sIGNscykuaW5zdGFsbChtaCkKLSAKLSsgICAgICAgIGV4dHJh X2FyZ3MgPSBbIi0taWRzdGFydD02MDAwMSIsICItLWlkbWF4PTY1MDAwIl0KLSsgICAgICAgIGlu c3RhbGxfbWFzdGVyKGNscy5tYXN0ZXIsIHNldHVwX2Rucz1UcnVlLCBleHRyYV9hcmdzPWV4dHJh X2FyZ3MpCi0rICAgICAgICBpbnN0YWxsX2NsaWVudChjbHMubWFzdGVyLCBjbHMuY2xpZW50c1sw XSkKLSsKLSAgICAgICAgIGNscy5jbGllbnQgPSBjbHMuY2xpZW50c1swXQotICAgICAgICAgY2xz LmNsaWVudG5hbWUgPSBjbHMuY2xpZW50LnJ1bl9jb21tYW5kKAotICAgICAgICAgICAgIFsnaG9z dG5hbWUnLCAnLXMnXSkuc3Rkb3V0X3RleHQuc3RyaXAoKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9t IDVmNjMyZDlkNzgxM2Y4OWQ0OThjZmIyMWM4NDcyZmYzY2FjMjUzOGEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXJrIFJleW5vbGRzIDxtcmV5bm9sZHNAcmVkaGF0LmNvbT4KLURh dGU6IFR1ZSwgMjkgQXByIDIwMjUgMTM6NTU6MjMgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCAxNC81 M10gaXBhLW1pZ3JhdGUgLSByZW1vdmUgcmVwbGljYXRpb24gc3RhdGUgaW5mb3JtYXRpb24KLQot UmVtb3ZlIHJlcGxpY2F0aW9uIHN0YXRlIGluZm9ybWF0aW9uIChoYXBwZW5zIHdoZW4gTERJRnMg YXJlIHVzZWQpLgotU3RhdGUgaW5mb3JtYXRpb24gaXMgd3JpdHRlbiBsaWtlOgotCi0gICAgIGF0 dHJpYnV0ZTthZGNzbj08Q1NOPgotCi1CdXQgd2UgYWxzbyBzdXBwb3J0ICI7YmluYXJ5IiB3aGlj aCBzaG91bGQgbm90IGJlIHJlbW92ZWQgc28gc3BlY2lhbAotaGFuZGxpbmcgaXMgbmVlZGVkIGlu IHRoYXQgY2FzZS4KLQotU2lnbmVkLW9mZi1ieTogTWFyayBSZXlub2xkcyA8bWFyZXlub2xAcmVk aGF0LmNvbT4KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NzYKLVJl dmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlw YXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5IHwgMTYgKysrKysrKysrKysrLS0tLQotIDEg ZmlsZSBjaGFuZ2VkLCAxMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFs bC9pcGFfbWlncmF0ZS5weQotaW5kZXggOTVlZjBhYzVhLi44ZWYwMDcxZjUgMTAwNjQ0Ci0tLS0g YS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQotKysrIGIvaXBhc2VydmVyL2luc3Rh bGwvaXBhX21pZ3JhdGUucHkKLUBAIC0yMDIsNiArMjAyLDE0IEBAIGRlZiBkZWNvZGVfYXR0cl92 YWxzKGVudHJ5X2F0dHJzKToKLSAgICAgZGVjb2RlZF9hdHRycyA9IHt9Ci0gICAgIGZvciBhdHRy IGluIGVudHJ5X2F0dHJzOgotICAgICAgICAgdmFscyA9IGVuc3VyZV9saXN0X3N0cihlbnRyeV9h dHRyc1thdHRyXSkKLSsgICAgICAgICMgUmVtb3ZlIHJlcGxpY2F0aW9uIHN0YXRlIGRhdGEsIGJ1 dCBkb24ndCByZW1vdmUgIjtiaW5hcnkiCi0rICAgICAgICAjIGUuZy4gIHVzZXJDZXJ0aWZpZmNj YXRlO2JpbmFyeTthZGNzbj08Q1NOPgotKyAgICAgICAgcGFydHMgPSBhdHRyLnNwbGl0KCI7IikK LSsgICAgICAgIGlmIGxlbihwYXJ0cykgPiAxIGFuZCBub3QgYXR0ci5lbmRzd2l0aCgiO2JpbmFy eSIpOgotKyAgICAgICAgICAgIGlmIHBhcnRzWzFdID09ICJiaW5hcnkiOgotKyAgICAgICAgICAg ICAgICBhdHRyID0gcGFydHNbMF0gKyAiO2JpbmFyeSIKLSsgICAgICAgICAgICBlbHNlOgotKyAg ICAgICAgICAgICAgICBhdHRyID0gcGFydHNbMF0KLSAgICAgICAgIGRlY29kZWRfYXR0cnNbYXR0 cl0gPSB2YWxzCi0gICAgIHJldHVybiBkZWNvZGVkX2F0dHJzCi0gCi1AQCAtMjY5LDE5ICsyNzcs MTkgQEAgY2xhc3MgTERJRlBhcnNlcihsZGlmLkxESUZQYXJzZXIpOgotICAgICAgICAgaWYgc2Vs Zi5tYyBpcyBOb25lOgotICAgICAgICAgICAgIHJldHVybgotIAotKyAgICAgICAgZW50cnlfYXR0 cnMgPSBkZWNvZGVfYXR0cl92YWxzKGVudHJ5KQotICAgICAgICAgaWYgc2VsZi5nZXRfcmVhbG06 Ci0gICAgICAgICAgICAgIyBHZXQgdGhlIHJlYWxtIGZyb20ga3JiIGNvbnRhaW5lcgotICAgICAg ICAgICAgIGlmIEROKCgiY24iLCAia2VyYmVyb3MiKSwgc2VsZi5tYy5yZW1vdGVfc3VmZml4KSBp biBETihkbik6Ci0gICAgICAgICAgICAgICAgICMgY2hlY2sgb2JqZWN0Y2xhc3Mga3JicmVhbG1j b250YWluZXIKLSAgICAgICAgICAgICAgICAgb2NfYXR0ciA9ICdvYmplY3RDbGFzcycKLS0gICAg ICAgICAgICAgICAgaWYgJ29iamVjdGNsYXNzJyBpbiBlbnRyeToKLSsgICAgICAgICAgICAgICAg aWYgJ29iamVjdGNsYXNzJyBpbiBlbnRyeV9hdHRyczoKLSAgICAgICAgICAgICAgICAgICAgIG9j X2F0dHIgPSAnb2JqZWN0Y2xhc3MnCi0tICAgICAgICAgICAgICAgIGlmICdrcmJyZWFsbWNvbnRh aW5lcicgaW4gZW5zdXJlX2xpc3Rfc3RyKGVudHJ5W29jX2F0dHJdKToKLS0gICAgICAgICAgICAg ICAgICAgIHNlbGYubWMucmVtb3RlX3JlYWxtID0gZW5zdXJlX3N0cihlbnRyeVsnY24nXVswXSkK LSsgICAgICAgICAgICAgICAgaWYgJ2tyYnJlYWxtY29udGFpbmVyJyBpbiBlbnRyeV9hdHRyc1tv Y19hdHRyXToKLSsgICAgICAgICAgICAgICAgICAgIHNlbGYubWMucmVtb3RlX3JlYWxtID0gZW5z dXJlX3N0cihlbnRyeV9hdHRyc1snY24nXVswXSkKLSAgICAgICAgICAgICAgICAgICAgIHNlbGYu bWMubG9nX2RlYnVnKCJGb3VuZCByZW1vdGUgcmVhbG0gZnJvbSBsZGlmOiAiCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmIntzZWxmLm1jLnJlbW90ZV9yZWFsbX0iKQot ICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICBlbnRyeV9hdHRycyA9IGRlY29kZV9hdHRyX3Zh bHMoZW50cnkpCi0gICAgICAgICAgICAgc2VsZi5tYy5wcm9jZXNzX2RiX2VudHJ5KGVudHJ5X2Ru PWRuLCBlbnRyeV9hdHRycz1lbnRyeV9hdHRycykKLSAKLSAKLS0tIAotMi40OS4wCi0KLQotRnJv bSA0ZTIzZmE5MmYxYTA3NTY1NjE4ZDQ5ZWQyN2I1NGQzMzYxOGJiYTczIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogTWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJlZGhhdC5jb20+Ci1E YXRlOiBUdWUsIDI5IEFwciAyMDI1IDE0OjAwOjUxIC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggMTUv NTNdIGlwYS1taWdyYXRlIC0gZG8gbm90IHByb2Nlc3MgQUQgZW50Z3JpZXMgaW4gc3RhZ2luZwot IG1vZGUKLQotT25seSBtaWdyYXRlIEFEIGVudHJpZXMgaW4gcHJvZHVjdGlvbiBtb2RlIGR1ZSB0 byBzY2hlbWEgY29uZmxpY3RzCi1jcmVhdGVkIHdoZW4gcmVtb3ZpbmcgY2VydGFpbiBBRCBhdHRy aWJ1dGVzIChlLmcuCi1pcGFudHNlY3VyaXR5aWRlbnRpZmllcikKLQotU0lnbmVkLW9mZi1ieTog TWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJlZGhhdC5jb20+Ci1yZWxhdGVzOiBodHRwczovL3Bh Z3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NzYKLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8 cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRl X2NvbnN0YW50cy5weSB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEg ZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRl X2NvbnN0YW50cy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2NvbnN0YW50cy5w eQotaW5kZXggMDk4NTZmMDdjLi40YmVhYTRmNDIgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5z dGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2lw YV9taWdyYXRlX2NvbnN0YW50cy5weQotQEAgLTg3MCw3ICs4NzAsNyBAQCBEQl9PQkpFQ1RTID0g ewotICAgICAgICAgJ29jJzogWydpcGFudGRvbWFpbmF0dHJzJ10sCi0gICAgICAgICAnc3VidHJl ZSc6ICcsY249YWQsY249ZXRjLCRTVUZGSVgnLAotICAgICAgICAgJ2xhYmVsJzogJ0FEJywKLS0g ICAgICAgICdtb2RlJzogJ2FsbCcsCi0rICAgICAgICAnbW9kZSc6ICdwcm9kdWN0aW9uJywKLSAg ICAgICAgICdjb3VudCc6IDAsCi0gICAgIH0sCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYzA1 MmJiYmZkMjczN2Y4OGI2NDk2YmU3ZDQ4NDljZjE3ZDlhMTI2ZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotRGF0ZTog VHVlLCAyOSBBcHIgMjAyNSAxNDowNToxNSAtMDQwMAotU3ViamVjdDogW1BBVENIIDE2LzUzXSBp cGEtbWlncmF0ZSAtIGltcHJvdmUgc3VmZml4IHJlcGxhY2VtZW50Ci0KLVdoZW4gdmFsdWVzIGFy ZSAibm9ybWFsaXplZC9jb252ZXJ0ZWQiIHRvIGEgbmV3IGRvbWFpbiB0aGUgb3JkZXIgaW4KLXdo aWNoIHRoZSBob3N0L3JlbGVhc2Uvc3VmZml4IGFyZSBjb252ZXJ0ZWQgbWF0dGVycy4gUmVwbGFj aW5nIHRoZQotc3VmZml4IGZpcnN0IGNhbiBsZWFkIHRvIGluY29ycmVjdCByZXN1bHRzLCBzbyBj b252ZXJ0IHRoZSBob3N0L3JlYWxtCi1iZWZvcmUgY29udmVydGluZyB0aGUgc3VmZml4Ci0KLVNp Z25lZC1vZmYtYnk6IE1hcmsgUmV5bm9sZHMgPG1yZXlub2xkc0ByZWRoYXQuY29tPgotcmVsYXRl czogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85Nzc2Ci1SZXZpZXdlZC1CeTogUm9i IENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFs bC9pcGFfbWlncmF0ZS5weSB8IDcgKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9p cGFfbWlncmF0ZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1pbmRleCA4 ZWYwMDcxZjUuLmEyNGEyYWI3YSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9t aWdyYXRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZS5weQotQEAgLTEw ODQsMTEgKzEwODQsOSBAQCBjbGFzcyBJUEFNaWdyYXRlKCk6Ci0gICAgICAgICBpZiBpc2luc3Rh bmNlKHZhbCwgYnl0ZXMpIG9yIGlzaW5zdGFuY2UodmFsLCBETik6Ci0gICAgICAgICAgICAgcmV0 dXJuIHZhbAotIAotLSAgICAgICAgIyBSZXBsYWNlIGJhc2UgRE4KLS0gICAgICAgIHZhbCA9IHNl bGYucmVwbGFjZV9zdWZmaXhfdmFsdWUodmFsKQotLQotICAgICAgICAgIyBGb3IgRE5TIEROIHdl IG9ubHkgcmVwbGFjZSBzdWZmaXgKLSAgICAgICAgIGlmIGRuczoKLSsgICAgICAgICAgICB2YWwg PSBzZWxmLnJlcGxhY2Vfc3VmZml4X3ZhbHVlKHZhbCkKLSAgICAgICAgICAgICByZXR1cm4gdmFs Ci0gCi0gICAgICAgICAjIFJlcGxhY2UgaG9zdAotQEAgLTExMDIsNiArMTEwMCw5IEBAIGNsYXNz IElQQU1pZ3JhdGUoKToKLSAgICAgICAgICMgUmVwbGFjZSByZWFsbQotICAgICAgICAgdmFsID0g dmFsLnJlcGxhY2Uoc2VsZi5yZW1vdGVfcmVhbG0sIHNlbGYucmVhbG0pCi0gCi0rICAgICAgICAj IExhc3RseSwgcmVwbGFjZSBiYXNlIEROCi0rICAgICAgICB2YWwgPSBzZWxmLnJlcGxhY2Vfc3Vm Zml4X3ZhbHVlKHZhbCkKLSsKLSAgICAgICAgIHJldHVybiB2YWwKLSAKLSAgICAgZGVmIGNvbnZl cnRfdmFsdWVzKHNlbGYsIHZhbHVlcywgZG5zPUZhbHNlKToKLS0tIAotMi40OS4wCi0KLQotRnJv bSA1ZDg5M2M5YzNiOGQzODQ4NzNmNDBkMjUyNGIxZWJmMGYzNGZiNDUyIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgotRGF0 ZTogTW9uLCAyOCBBcHIgMjAyNSAxODowMTozOSArMDIwMAotU3ViamVjdDogW1BBVENIIDE3LzUz XSBrZGI6IGtlZXAgaXBhZGJfZ2V0X2Nvbm5lY3Rpb24oKSBmcm9tIHN1Y2NlZWRpbmcgd2l0aAot IG51bGwgTERBUCBjb250ZXh0Ci0KLVRoZSBmaW5hbCBjYWxsIHRvIGlwYWRiX3JlaW5pdF9tc3Bh YygpIGluIGlwYWRiX2dldF9jb25uZWN0aW9uKCkgaXMgbm90Ci1jb25zaWRlcmVkIGVzc2VudGlh bCBmb3IgdGhlIGZ1bmN0aW9uIHRvIHN1Y2NlZWQsIGFzIHRoZXJlIG1pZ2h0IGJlCi1jYXNlcyB3 aGVyZSB0aGUgcmVxdWlyZWQgcGllY2VzIG9mIGluZm9ybWF0aW9uIHRvIGdlbmVyYXRlIFBBQ3Mg YXJlIG5vdAoteWV0IGNvbmZpZ3VyZWQgaW4gdGhlIGRhdGFiYXNlLiBIb3dldmVyLCBpbiBlbnZp cm9ubWVudHMgd2hlcmUgMzg5ZHMgaXMKLW92ZXJ3aGVsbWVkLCB0aGUgTERBUCBjb25uZWN0aW9u IGVzdGFibGlzaGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YKLWlwYWRiX2dldF9jb25uZWN0aW9uKCkg bWlnaHQgYWxyZWFkeSBiZSBsb3N0IHdoaWxlIGV4ZWN1dGluZwotaXBhZGJfcmVpbml0X21zcGFj KCkuCi0KLUNvbm5lY3Rpb24gZXJyb3JzIHdlcmUgbm90IGRpc3Rpbmd1aXNoZWQgZnJvbSBjb25m aWd1cmF0aW9uIGVycm9ycywKLXdoaWNoIGNvdWxkIHJlc3VsdCBpbiBpcGFkYl9nZXRfY29ubmVj dGlvbigpIHN1Y2NlZWRpbmcgd2hpbGUgdGhlIExEQVAKLWNvbnRleHQgaXMgc2V0IHRvIG51bGws IGxlYWRpbmcgdG8gYSBLREMgY3Jhc2ggb24gdGhlIG5leHQgTERBUCByZXF1ZXN0LgotCi1pcGFk Yl9nZXRfY29ubmVjdGlvbigpIG5vdyBleHBsaWNpdGx5IGNoZWNrcyB0aGUgdmFsdWUgb2YgdGhl IExEQVAKLWNvbnRleHQgYmVmb3JlIHJldHVybmluZy4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJl LmlvL2ZyZWVpcGEvaXNzdWUvOTc3NwotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3Jp dHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkBy ZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJhZmFlbCBHdXRlcnJlcyBKZWZmbWFuIDxyamVmZm1h bkByZWRoYXQuY29tPgotLS0tCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9rZGIuYyB8IDMxICsrKysr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLWtkYi9pcGFf a2RiLmMgYi9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYi5jCi1pbmRleCA5MDNlMTllODMuLjUzMWVl MjIzZSAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiLmMKLSsrKyBiL2RhZW1v bnMvaXBhLWtkYi9pcGFfa2RiLmMKLUBAIC01MzAsMjYgKzUzMCw0MyBAQCBpbnQgaXBhZGJfZ2V0 X2Nvbm5lY3Rpb24oc3RydWN0IGlwYWRiX2NvbnRleHQgKmlwYWN0eCkKLSAKLSAgICAgLyogZ2V0 IGFkdHJ1c3Qgb3B0aW9ucyB1c2luZyBkZWZhdWx0IHJlZnJlc2ggaW50ZXJ2YWwgKi8KLSAgICAg cmV0ID0gaXBhZGJfcmVpbml0X21zcGFjKGlwYWN0eCwgZmFsc2UsICZzdG1zZyk7Ci0tICAgIGlm IChyZXQgJiYgc3Rtc2cpCi0tICAgICAgICBrcmI1X2tsb2dfc3lzbG9nKExPR19XQVJOSU5HLCAi TVMtUEFDIGdlbmVyYXRvcjogJXMiLCBzdG1zZyk7Ci0rICAgIGlmIChyZXQpIHsKLSsgICAgICAg IGlmIChzdG1zZykgewotKyAgICAgICAgICAgIGtyYjVfa2xvZ19zeXNsb2coTE9HX1dBUk5JTkcs ICJNUy1QQUMgZ2VuZXJhdG9yOiAlcyIsIHN0bXNnKTsKLSsgICAgICAgIH0KLSsgICAgICAgIC8q IEluaXRpYWxpemF0aW9uIG9mIHRoZSBNUy1QQUMgZ2VuZXJhdG9yIGlzIGFuIG9wdGlvbmFsIGRl cGVuZGVuY3kuCi0rICAgICAgICAgKiBGYWlsIG9ubHkgaWYgdGhlIGNvbm5lY3Rpb24gd2FzIGxv c3QuICovCi0rICAgICAgICBpZiAoIWlwYWN0eC0+bGNvbnRleHQpIHsKLSsgICAgICAgICAgICBn b3RvIGRvbmU7Ci0rICAgICAgICB9Ci0rICAgIH0KLSAKLSAgICAgcmV0ID0gMDsKLSAKLSBkb25l OgotICAgICBsZGFwX21zZ2ZyZWUocmVzKTsKLSAKLSsgICAgLyogTERBUCBjb250ZXh0IHNob3Vs ZCBuZXZlciBiZSBudWxsIG9uIHN1Y2Nlc3MsIGJ1dCBrZWVwIHRoaXMgdGVzdCBvdXQgb2YKLSsg ICAgICogc2VjdXJpdHkgdG8gbWFrZSBzdXJlIHdlIGRvIG5vdCByZXR1cm4gYW4gaW52YWxpZCBj b250ZXh0LiAqLwotKyAgICBpZiAocmV0ID09IDAgJiYgIWlwYWN0eC0+bGNvbnRleHQpIHsKLSsg ICAgICAgIGtyYjVfa2xvZ19zeXNsb2coTE9HX1dBUk5JTkcsICJJbnRlcm5hbCBtYWxmdW5jdGlv bjogTERBUCBjb25uZWN0aW9uICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJwcm9jZXNzIHJlc3VsdGVkIGluIGFuIGludmFsaWQgY29udGV4dCAiCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiKHBsZWFzZSByZXBvcnQgdGhpcyBpbmNpZGVu dCkiKTsKLSsgICAgICAgIHJldCA9IExEQVBfU0VSVkVSX0RPV047Ci0rICAgIH0KLSsKLSAgICAg aWYgKHJldCkgewotKyAgICAgICAgLyogQ2xlYW51cCBMREFQIGNvbnRleHQgaWYgY29ubmVjdGlv biBmYWlsZWQuICovCi0gICAgICAgICBpZiAoaXBhY3R4LT5sY29udGV4dCkgewotICAgICAgICAg ICAgIGxkYXBfdW5iaW5kX2V4dF9zKGlwYWN0eC0+bGNvbnRleHQsIE5VTEwsIE5VTEwpOwotICAg ICAgICAgICAgIGlwYWN0eC0+bGNvbnRleHQgPSBOVUxMOwotICAgICAgICAgfQotLSAgICAgICAg aWYgKHJldCA9PSBMREFQX1NFUlZFUl9ET1dOKSB7Ci0tICAgICAgICAgICAgcmV0dXJuIEVUSU1F RE9VVDsKLS0gICAgICAgIH0KLS0gICAgICAgIHJldHVybiBFSU87Ci0rCi0rICAgICAgICAvKiBS ZXBsYWNlIExEQVAgZXJyb3IgY29kZSBieSBQT1NJWCBlcnJvciBjb2RlLiAqLwotKyAgICAgICAg cmV0ID0gcmV0ID09IExEQVBfU0VSVkVSX0RPV04gPyBFVElNRURPVVQgOiBFSU87Ci0gICAgIH0K LSAKLS0gICAgcmV0dXJuIDA7Ci0rICAgIHJldHVybiByZXQ7Ci0gfQotIAotIHN0YXRpYyBrcmI1 X3ByaW5jaXBhbCBpcGFkYl9jcmVhdGVfbG9jYWxfdGdzKGtyYjVfY29udGV4dCBrY29udGV4dCwK LS0tIAotMi40OS4wCi0KLQotRnJvbSBiMzk0YWM2ZjdhZDYyZDAyMTQxMmQzNDM2NGEyMmVhMGRj NWE2MzYyIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJj cml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDYgTWF5IDIwMjUgMDk6NTI6MzUgLTA0MDAK LVN1YmplY3Q6IFtQQVRDSCAxOC81M10gQWRkIC0tZG9tYWluIG9wdGlvbiB0byBpcGEtY2xpZW50 LWF1dG9tb3VudCBmb3IgRE5TCi0gZGlzY292ZXJ5Ci0KLUlmIHRoZSBjbGllbnQgbWFjaGluZSBp cyBub3QgaW4gdGhlIElQQSBETlMgZG9tYWluIHRoZW4gZGlzY292ZXJ5Ci13aWxsIG5vdCBmaW5k IGEgc2VydmVyLiBBZGQgYSAtLWRvbWFpbiBvcHRpb24gc28gdGhhdCB0aGUgc2V0IG9mCi1zZXJ2 ZXJzIGNhbiBiZSBkaXNjb3ZlcmVkLgotCi1Ob3RlIHRoYXQgLS1kb21haW4gaXMgaW5pdGlhbGl6 ZWQgdG8gIiIgcmF0aGVyIHRoYW4gTm9uZSB0byBtYXRjaAotdGhlIGJlaGF2aW9yIGluIGlwYS1j bGllbnQtaW5zdGFsbC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUv OTc4MAotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLS0tLQot IGNsaWVudC9tYW4vaXBhLWNsaWVudC1hdXRvbW91bnQuMSAgICAgICAgIHwgIDMgKysrCi0gaXBh Y2xpZW50L2luc3RhbGwvaXBhX2NsaWVudF9hdXRvbW91bnQucHkgfCAgOCArKysrKysrLQotIGlw YXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9uZnMucHkgICAgIHwgMjQgKysrKysrKysrKysr KysrKysrKysrKysKLSAzIGZpbGVzIGNoYW5nZWQsIDM0IGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9tYW4vaXBhLWNsaWVudC1hdXRvbW91bnQuMSBi L2NsaWVudC9tYW4vaXBhLWNsaWVudC1hdXRvbW91bnQuMQotaW5kZXggZDU1Y2E5OTRkLi4xYTA2 MWU4NGIgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvbWFuL2lwYS1jbGllbnQtYXV0b21vdW50LjEKLSsr KyBiL2NsaWVudC9tYW4vaXBhLWNsaWVudC1hdXRvbW91bnQuMQotQEAgLTQ5LDYgKzQ5LDkgQEAg TkZTdjQgaXMgYWxzbyBjb25maWd1cmVkLiBUaGUgcnBjLmdzc2QgYW5kIHJwYy5pZG1hcGQgYXJl IHN0YXJ0ZWQgb24gY2xpZW50cyB0bwotIFxmQlwtXC1zZXJ2ZXJcZlI9XGZJU0VSVkVSXGZSCi0g U2V0IHRoZSBGUUROIG9mIHRoZSBJUEEgc2VydmVyIHRvIGNvbm5lY3QgdG8uCi0gLlRQCi0rXGZC XC1cLWRvbWFpblxmUj1cZklET01BSU5cZlIKLStQcmltYXJ5IEROUyBkb21haW4gb2YgdGhlIElQ QSBkZXBsb3ltZW50IHRvIGJlIHVzZWQgZm9yIHNlcnZlciBkaXNjb3ZlcnkuCi0rLlRQCi0gXGZC XC1cLWxvY2F0aW9uXGZSPVxmSUxPQ0FUSU9OXGZSCi0gQXV0b21vdW50IGxvY2F0aW9uLgotIC5U UAotZGlmZiAtLWdpdCBhL2lwYWNsaWVudC9pbnN0YWxsL2lwYV9jbGllbnRfYXV0b21vdW50LnB5 IGIvaXBhY2xpZW50L2luc3RhbGwvaXBhX2NsaWVudF9hdXRvbW91bnQucHkKLWluZGV4IDlmNDlm ZjllZC4uMDM1ZWVmYjFjIDEwMDY0NAotLS0tIGEvaXBhY2xpZW50L2luc3RhbGwvaXBhX2NsaWVu dF9hdXRvbW91bnQucHkKLSsrKyBiL2lwYWNsaWVudC9pbnN0YWxsL2lwYV9jbGllbnRfYXV0b21v dW50LnB5Ci1AQCAtNjEsNiArNjEsMTIgQEAgZGVmIHBhcnNlX29wdGlvbnMoKToKLSAgICAgdXNh Z2UgPSAiJXByb2cgW29wdGlvbnNdXG4iCi0gICAgIHBhcnNlciA9IElQQU9wdGlvblBhcnNlcih1 c2FnZT11c2FnZSkKLSAgICAgcGFyc2VyLmFkZF9vcHRpb24oIi0tc2VydmVyIiwgZGVzdD0ic2Vy dmVyIiwgaGVscD0iRlFETiBvZiBJUEEgc2VydmVyIikKLSsgICAgcGFyc2VyLmFkZF9vcHRpb24o Ci0rICAgICAgICAiLS1kb21haW4iLAotKyAgICAgICAgZGVzdD0iZG9tYWluIiwKLSsgICAgICAg IGRlZmF1bHQ9IiIsCi0rICAgICAgICBoZWxwPSJQcmltYXJ5IEROUyBkb21haW4gb2YgdGhlIElQ QSBkZXBsb3ltZW50IgotKyAgICApCi0gICAgIHBhcnNlci5hZGRfb3B0aW9uKAotICAgICAgICAg Ii0tbG9jYXRpb24iLAotICAgICAgICAgZGVzdD0ibG9jYXRpb24iLAotQEAgLTM4Nyw3ICszOTMs NyBAQCBkZWYgY29uZmlndXJlX2F1dG9tb3VudCgpOgotICAgICBkcyA9IGRpc2NvdmVyeS5JUEFE aXNjb3ZlcnkoKQotICAgICBpZiBub3Qgb3B0aW9ucy5zZXJ2ZXI6Ci0gICAgICAgICBwcmludCgi U2VhcmNoaW5nIGZvciBJUEEgc2VydmVyLi4uIikKLS0gICAgICAgIHJldCA9IGRzLnNlYXJjaChj YV9jZXJ0X3BhdGg9Y2FfY2VydF9wYXRoKQotKyAgICAgICAgcmV0ID0gZHMuc2VhcmNoKGRvbWFp bj1vcHRpb25zLmRvbWFpbiwgY2FfY2VydF9wYXRoPWNhX2NlcnRfcGF0aCkKLSAgICAgICAgIGxv Z2dlci5kZWJ1ZygnRXhlY3V0aW5nIEROUyBkaXNjb3ZlcnknKQotICAgICAgICAgaWYgcmV0ID09 IGRpc2NvdmVyeS5OT19MREFQX1NFUlZFUjoKLSAgICAgICAgICAgICBsb2dnZXIuZGVidWcoJ0F1 dG9kaXNjb3ZlcnkgZGlkIG5vdCBmaW5kIExEQVAgc2VydmVyJykKLWRpZmYgLS1naXQgYS9pcGF0 ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfbmZzLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X25mcy5weQotaW5kZXggNjhjYmEyOTg4Li4zMmQxMDdiNzEgMTAwNjQ0Ci0tLS0g YS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfbmZzLnB5Ci0rKysgYi9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfbmZzLnB5Ci1AQCAtMzU1LDMgKzM1NSwyNyBAQCBjbGFzcyBU ZXN0SXBhQ2xpZW50QXV0b21vdW50RmlsZVJlc3RvcmUoSW50ZWdyYXRpb25UZXN0KToKLSAKLSAg ICAgZGVmIHRlc3RfbnNzd2l0Y2hfYmFja3VwX3Jlc3RvcmVfc3NzZChzZWxmKToKLSAgICAgICAg IHNlbGYubnNzd2l0Y2hfYmFja3VwX3Jlc3RvcmUoKQotKwotKwotK2NsYXNzIFRlc3RJcGFDbGll bnRBdXRvbW91bnREaXNjb3ZlcnkoSW50ZWdyYXRpb25UZXN0KToKLSsKLSsgICAgbnVtX2NsaWVu dHMgPSAxCi0rICAgIHRvcG9sb2d5ID0gJ2xpbmUnCi0rCi0rICAgIGRlZiB0ZXN0X2F1dG9tb3Vu dF9pbnZhbGlkX2RvbWFpbihzZWxmKToKLSsgICAgICAgICIiIlZhbGlkYXRlIHRoYXQgdGhlIC0t ZG9tYWluIG9wdGlvbiBpcyBwYXNzZWQgaW50bwotKyAgICAgICAgICAgRGlzY292ZXJ5LiBUaGlz IGlzIGV4cGVjdGVkIHRvIGZhaWwgZGlzY292ZXJ5LgotKyAgICAgICAgIiIiCi0rICAgICAgICB0 ZXN0ZG9tYWluID0gImNsaWVudC50ZXN0IgotKyAgICAgICAgbXNnMSA9IGYiU2VhcmNoIGZvciBM REFQIFNSViByZWNvcmQgaW4ge3Rlc3Rkb21haW59IgotKyAgICAgICAgbXNnMiA9IGYiU2VhcmNo IEROUyBmb3IgU1JWIHJlY29yZCBvZiBfbGRhcC5fdGNwLnt0ZXN0ZG9tYWlufSIKLSsgICAgICAg IG1zZzMgPSAiQXV0b2Rpc2NvdmVyeSBkaWQgbm90IGZpbmQgTERBUCBzZXJ2ZXIiCi0rCi0rICAg ICAgICBjbGllbnQgPSBzZWxmLmNsaWVudHNbMF0KLSsgICAgICAgIHJlc3VsdCA9IGNsaWVudC5y dW5fY29tbWFuZChbCi0rICAgICAgICAgICAgJ2lwYS1jbGllbnQtYXV0b21vdW50JywgJy0tZG9t YWluJywgJ2NsaWVudC50ZXN0JywKLSsgICAgICAgICAgICAnLS1kZWJ1ZycKLSsgICAgICAgIF0s IHN0ZGluX3RleHQ9Im4iLCByYWlzZW9uZXJyPUZhbHNlKQotKyAgICAgICAgYXNzZXJ0IG1zZzEg aW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rICAgICAgICBhc3NlcnQgbXNnMiBpbiByZXN1bHQuc3Rk ZXJyX3RleHQKLSsgICAgICAgIGFzc2VydCBtc2czIGluIHJlc3VsdC5zdGRlcnJfdGV4dAotLS0g Ci0yLjQ5LjAKLQotCi1Gcm9tIDNlM2FmMmQxNTNmM2ZlOGU4YmZjMDgwNWU5MmNiYTBmNWY2NDlk NzMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJv a292b3lAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgNiBOb3YgMjAyNCAwOTo1OToyMyArMDIwMAot U3ViamVjdDogW1BBVENIIDE5LzUzXSBVc2UgT3BlblNTTCBwcm92aWRlciB3aXRoIEJJTkQgZm9y IEZlZG9yYSA0MisgYW5kCi0gUkhFTDEwKwotCi1PcGVuU1NMIEVuZ2luZSBBUEkgaXMgZGVwcmVj YXRlZCBhbmQgYWJpbGl0eSB0byBjb21waWxlIGFnYWluc3QgaXQgaXMKLXJlbW92ZWQgaW4gUkhF TDEwLiBPcGVuU1NMIHByb3ZpZGVyIEFQSSBpcyB0aGUgZnV0dXJlLgotCi1GZWRvcmEgNDIrIGFs c28gZGVmYXVsdHMgdG8gT3BlblNTTCBwcm92aWRlci4gV2l0aCBwa2NzMTEtcHJvdmlkZXIsIHRo ZQotc2FtZSBQS0NTIzExIG1vZHVsZXMgY2FuIGJlIGxvYWRlZCB0cmFuc3BhcmVudGx5IGxpa2Ug d2l0aCBPcGVuU1NMCi1lbmdpbmVzLiBUaHVzLCB3ZSBjYW4gdXBkYXRlIGNvbmZpZ3VyYXRpb24g dG8gdXNlIHRoZSBwcm92aWRlciBBUEkuCi0KLVdoaWxlIEZlZG9yYSA0MSBhbHNvIGRlZmF1bHRz IHRvIE9wZW5TU0wgcHJvdmlkZXIsIHdlIG5lZWQgQklORCB2ZXJzaW9uCi10aGF0IHN1cHBvcnRz IHVzaW5nIE9wZW5TU0wgcHJvdmlkZXIgQVBJLiBUaGlzIGJhY2twb3J0IHdhcyBvbmx5IGRvbmUg aW4KLUZlZG9yYSA0Mi4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUv OTY5NgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29t PgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgot UmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0g ZnJlZWlwYS5zcGVjLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTIgKysrLQot IGluc3RhbGwvc2hhcmUvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgICAgICB8ICAyICsKLSAu Li4vc2hhcmUvYmluZC5vcGVuc3NsLnByb3ZpZGVyLmNuZi50ZW1wbGF0ZSAgfCAxOSArKysrKysr Ci0gLi4uL2JpbmQub3BlbnNzbC5wcm92aWRlci5jcnAuY25mLnRlbXBsYXRlICAgIHwgMjUgKysr KysrKysrCi0gaXBhcGxhdGZvcm0vYmFzZS9jb25zdGFudHMucHkgICAgICAgICAgICAgICAgIHwg IDEgKwotIGlwYXBsYXRmb3JtL2ZlZG9yYS9jb25zdGFudHMucHkgICAgICAgICAgICAgICB8ICA5 ICsrLQotIGlwYXBsYXRmb3JtL3JoZWwvY29uc3RhbnRzLnB5ICAgICAgICAgICAgICAgICB8ICA3 ICsrLQotIGlwYXNlcnZlci9kbnNzZWMvYmluZG1nci5weSAgICAgICAgICAgICAgICAgICB8IDI3 ICsrKysrKy0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2Ruc2tleXN5bmNpbnN0YW5jZS5weSAgICAg ICB8IDU1ICsrKysrKysrKysrKysrKy0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBn cmFkZS5weSAgICAgICAgICAgfCAxMiArKy0tCi0gMTAgZmlsZXMgY2hhbmdlZCwgMTQwIGluc2Vy dGlvbnMoKyksIDI5IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbnN0YWxsL3No YXJlL2JpbmQub3BlbnNzbC5wcm92aWRlci5jbmYudGVtcGxhdGUKLSBjcmVhdGUgbW9kZSAxMDA2 NDQgaW5zdGFsbC9zaGFyZS9iaW5kLm9wZW5zc2wucHJvdmlkZXIuY3JwLmNuZi50ZW1wbGF0ZQot Ci1kaWZmIC0tZ2l0IGEvZnJlZWlwYS5zcGVjLmluIGIvZnJlZWlwYS5zcGVjLmluCi1pbmRleCAw MTE5M2EzOWUuLjU1OGIzY2ZmZiAxMDA3NTUKLS0tLSBhL2ZyZWVpcGEuc3BlYy5pbgotKysrIGIv ZnJlZWlwYS5zcGVjLmluCi1AQCAtMTYzLDEyICsxNjMsMjAgQEAKLSAKLSAjIEJJTkQgZW1wbG95 cyAncGtjczExJyBPcGVuU1NMIGVuZ2luZSBpbnN0ZWFkIG9mIG5hdGl2ZSBQS0NTMTEKLSAjIEZl ZG9yYSAzMSsgdXNlcyBPcGVuU1NMIGVuZ2luZSwgYXMgd2VsbCBhcyBGZWRvcmEgRUxOIChSSEVM OSkKLS0laWYgMCV7P2ZlZG9yYX0gfHwgMCV7P3JoZWx9ID49IDkKLSsjIEhvd2V2ZXZlciwgRmVk b3JhIDQwKyBhbmQgUkhFTDEwKyB1c2UgT3BlblNTTCBwcm92aWRlcgotKyVpZiAwJXs/ZmVkb3Jh fSA8IDQwIHx8IDAlez9yaGVsfSA9PSA5Ci0gICAgICVnbG9iYWwgb3BlbnNzbF9wa2NzMTFfdmVy c2lvbiAwLjQuMTAtNgotKyAgICAlZ2xvYmFsIG9wZW5zc2xfcGtjczExX25hbWUgb3BlbnNzbC1w a2NzMTEKLSAgICAgJWdsb2JhbCBzb2Z0aHNtX3ZlcnNpb24gMi41LjAtNAotKyVlbHNlCi0rJWlm IDAlez9mZWRvcmF9ID49IDQwIHx8IDAlez9yaGVsfSA+PSAxMAotKyAgICAlZ2xvYmFsIG9wZW5z c2xfcGtjczExX3ZlcnNpb24gMC4zCi0rICAgICVnbG9iYWwgb3BlbnNzbF9wa2NzMTFfbmFtZSBw a2NzMTEtcHJvdmlkZXIKLSsgICAgJWdsb2JhbCBzb2Z0aHNtX3ZlcnNpb24gMi42LjEKLSAlZWxz ZQotICAgICAlZ2xvYmFsIHdpdGhfYmluZF9wa2NzMTEgMQotICVlbmRpZgotKyVlbmRpZgotIAot ICVpZiAwJXs/cmhlbH0gPT0gOAotICMgTWFrZSBzdXJlIHRvIHVzZSBQS0kgdmVyc2lvbnMgdGhh dCB3b3JrIHdpdGggMzg5LWRzIGZpeCBmb3IgaHR0cHM6Ly9naXRodWIuY29tLzM4OWRzLzM4OS1k cy1iYXNlL2lzc3Vlcy80NjA5Ci1AQCAtNjI4LDcgKzYzNiw3IEBAIFJlcXVpcmVzOiBiaW5kLWRu c3NlYy11dGlscyA+PSAle2JpbmRfdmVyc2lvbn0KLSBSZXF1aXJlczogYmluZC1wa2NzMTEgPj0g JXtiaW5kX3ZlcnNpb259Ci0gJWVsc2UKLSBSZXF1aXJlczogc29mdGhzbSA+PSAle3NvZnRoc21f dmVyc2lvbn0KLS1SZXF1aXJlczogb3BlbnNzbC1wa2NzMTEgPj0gJXtvcGVuc3NsX3BrY3MxMV92 ZXJzaW9ufQotK1JlcXVpcmVzOiAle29wZW5zc2xfcGtjczExX25hbWV9ID49ICV7b3BlbnNzbF9w a2NzMTFfdmVyc2lvbn0KLSAlZW5kaWYKLSAjIFNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5j b20vc2hvd19idWcuY2dpP2lkPTE4MjU4MTIKLSAjIFJIRUwgOC4zKyBhbmQgRmVkb3JhIDMyKyBo YXZlIDIuMQotZGlmZiAtLWdpdCBhL2luc3RhbGwvc2hhcmUvTWFrZWZpbGUuYW0gYi9pbnN0YWxs L3NoYXJlL01ha2VmaWxlLmFtCi1pbmRleCBkOGQyNzBjYTkuLmFlNjljN2JiOCAxMDA2NDQKLS0t LSBhL2luc3RhbGwvc2hhcmUvTWFrZWZpbGUuYW0KLSsrKyBiL2luc3RhbGwvc2hhcmUvTWFrZWZp bGUuYW0KLUBAIC01MCw2ICs1MCw4IEBAIGRpc3RfYXBwX0RBVEEgPQkJCQlcCi0gCWJpbmQubmFt ZWQuY29uZi50ZW1wbGF0ZQlcCi0gCWJpbmQub3BlbnNzbC5jbmYudGVtcGxhdGUJXAotIAliaW5k Lm9wZW5zc2wuY3J5cHRvcG9saWN5LmNuZi50ZW1wbGF0ZQlcCi0rCWJpbmQub3BlbnNzbC5wcm92 aWRlci5jbmYudGVtcGxhdGUJXAotKwliaW5kLm9wZW5zc2wucHJvdmlkZXIuY3JwLmNuZi50ZW1w bGF0ZQlcCi0gCWNlcnRtYXAuY29uZi50ZW1wbGF0ZQkJXAotIAlrZGMuY29uZi50ZW1wbGF0ZQkJ XAotIAlrZGNfZXh0ZW5zaW9ucy50ZW1wbGF0ZQkJXAotZGlmZiAtLWdpdCBhL2luc3RhbGwvc2hh cmUvYmluZC5vcGVuc3NsLnByb3ZpZGVyLmNuZi50ZW1wbGF0ZSBiL2luc3RhbGwvc2hhcmUvYmlu ZC5vcGVuc3NsLnByb3ZpZGVyLmNuZi50ZW1wbGF0ZQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWlu ZGV4IDAwMDAwMDAwMC4uNjk5OTIyZDEzCi0tLS0gL2Rldi9udWxsCi0rKysgYi9pbnN0YWxsL3No YXJlL2JpbmQub3BlbnNzbC5wcm92aWRlci5jbmYudGVtcGxhdGUKLUBAIC0wLDAgKzEsMTkgQEAK LSsjIE9wZW5TU0wgY29uZmlndXJhdGlvbiBmaWxlCi0rIyBGaWxlIGdlbmVyYXRlZCBieSBJUEEg aW5zdGFsYXRpb24KLStvcGVuc3NsX2NvbmYgPSBvcGVuc3NsX2luaXQKLSsKLStbb3BlbnNzbF9p bml0XQotK3Byb3ZpZGVycyA9IHByb3ZpZGVyX3NlY3QKLSsKLStbcHJvdmlkZXJfc2VjdF0KLStk ZWZhdWx0ID0gZGVmYXVsdF9zZWN0Ci0rcGtjczExID0gcGtjczExX2JpbmRfc2VjdAotKwotK1tk ZWZhdWx0X3NlY3RdCi0rYWN0aXZhdGUgPSAxCi0rCi0rW3BrY3MxMV9iaW5kX3NlY3RdCi0rcGtj czExLW1vZHVsZS1wYXRoID0gJFNPRlRIU01fTU9EVUxFCi0rcGtjczExLW1vZHVsZS10b2tlbi1w aW4gPSBmaWxlOiRTT0ZUSFNNX1BJTgotK2FjdGl2YXRlID0gMQotKwotZGlmZiAtLWdpdCBhL2lu c3RhbGwvc2hhcmUvYmluZC5vcGVuc3NsLnByb3ZpZGVyLmNycC5jbmYudGVtcGxhdGUgYi9pbnN0 YWxsL3NoYXJlL2JpbmQub3BlbnNzbC5wcm92aWRlci5jcnAuY25mLnRlbXBsYXRlCi1uZXcgZmls ZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5iNTIxNzVlOGYKLS0tLSAvZGV2L251bGwK LSsrKyBiL2luc3RhbGwvc2hhcmUvYmluZC5vcGVuc3NsLnByb3ZpZGVyLmNycC5jbmYudGVtcGxh dGUKLUBAIC0wLDAgKzEsMjUgQEAKLSsjIE9wZW5TU0wgY29uZmlndXJhdGlvbiBmaWxlCi0rIyBG aWxlIGdlbmVyYXRlZCBieSBJUEEgaW5zdGFsYXRpb24KLStvcGVuc3NsX2NvbmYgPSBvcGVuc3Ns X2luaXQKLSsKLStbb3BlbnNzbF9pbml0XQotK3NzbF9jb25mID0gc3NsX2NvbmZpZ3VyYXRpb24K LStwcm92aWRlcnMgPSBwcm92aWRlcl9zZWN0Ci0rCi0rW3NzbF9jb25maWd1cmF0aW9uXQotK3N5 c3RlbV9kZWZhdWx0ID0gY3J5cHRvX3BvbGljeQotKwotK1tjcnlwdG9fcG9saWN5XQotKy5pbmNs dWRlICRDUllQVE9fUE9MSUNZX0ZJTEUKLSsKLStbcHJvdmlkZXJfc2VjdF0KLStkZWZhdWx0ID0g ZGVmYXVsdF9zZWN0Ci0rcGtjczExID0gcGtjczExX2JpbmRfc2VjdAotKwotK1tkZWZhdWx0X3Nl Y3RdCi0rYWN0aXZhdGUgPSAxCi0rCi0rW3BrY3MxMV9iaW5kX3NlY3RdCi0rcGtjczExLW1vZHVs ZS1wYXRoID0gJFNPRlRIU01fTU9EVUxFCi0rcGtjczExLW1vZHVsZS10b2tlbi1waW4gPSBmaWxl OiRTT0ZUSFNNX1BJTgotK2FjdGl2YXRlID0gMQotZGlmZiAtLWdpdCBhL2lwYXBsYXRmb3JtL2Jh c2UvY29uc3RhbnRzLnB5IGIvaXBhcGxhdGZvcm0vYmFzZS9jb25zdGFudHMucHkKLWluZGV4IDRj ODAzOGE4NC4uOGNhZGVkNWY5IDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vYmFzZS9jb25zdGFu dHMucHkKLSsrKyBiL2lwYXBsYXRmb3JtL2Jhc2UvY29uc3RhbnRzLnB5Ci1AQCAtMTIzLDYgKzEy Myw3IEBAIGNsYXNzIEJhc2VDb25zdGFudHNOYW1lc3BhY2U6Ci0gICAgIE5BTUVEX0RBVEFfRElS ID0gImRhdGEvIgotICAgICBOQU1FRF9PUFRJT05TX1ZBUiA9ICJPUFRJT05TIgotICAgICBOQU1F RF9PUEVOU1NMX0VOR0lORSA9IE5vbmUKLSsgICAgTkFNRURfT1BFTlNTTF9QUk9WSURFUiA9IE5v bmUKLSAgICAgTkFNRURfWk9ORV9DT01NRU5UID0gIiIKLSAgICAgTk9CT0RZX0dST1VQID0gR3Jv dXAoIm5vYm9keSIpCi0gICAgIFBLSV9VU0VSID0gVXNlcigicGtpdXNlciIpCi1kaWZmIC0tZ2l0 IGEvaXBhcGxhdGZvcm0vZmVkb3JhL2NvbnN0YW50cy5weSBiL2lwYXBsYXRmb3JtL2ZlZG9yYS9j b25zdGFudHMucHkKLWluZGV4IDg5NmU2ZjYwNy4uMTM2MGIwMzUzIDEwMDY0NAotLS0tIGEvaXBh cGxhdGZvcm0vZmVkb3JhL2NvbnN0YW50cy5weQotKysrIGIvaXBhcGxhdGZvcm0vZmVkb3JhL2Nv bnN0YW50cy5weQotQEAgLTE5LDYgKzE5LDEwIEBAIGZyb20gaXBhcGxhdGZvcm0ub3NpbmZvIGlt cG9ydCBvc2luZm8KLSAjIEZlZG9yYSAyOSBoYXMgYm90aAotIEhBU19ORlNfQ09ORiA9IG9zaW5m by52ZXJzaW9uX251bWJlciA+PSAoMzAsKQotIAotKyMgRmVkb3JhIDQwIGFuZCBsYXRlciBkZXBy ZWNhdGVkIE9wZW5TU0wgZW5naW5lIGFuZCByZWNvbW1lbmQgdXNpbmcgT3BlblNTTAotKyMgcHJv dmlkZXIgQVBJLiBIb3dldmVyLCBvbmx5IGJpbmQgOS4xOCBpbiBGNDIrIHdhcyBidWlsdCB3aXRo IE9wZW5TU0wgcHJvdmlkZXIuCi0rSEFTX09QRU5TU0xfUFJPVklERVIgPSBvc2luZm8udmVyc2lv bl9udW1iZXIgPj0gKDQyLCkKLSsKLSAKLSBfX2FsbF9fID0gKCJjb25zdGFudHMiLCAiVXNlciIs ICJHcm91cCIpCi0gCi1AQCAtMzIsNiArMzYsOSBAQCBjbGFzcyBGZWRvcmFDb25zdGFudHNOYW1l c3BhY2UoUmVkSGF0Q29uc3RhbnRzTmFtZXNwYWNlKToKLSAgICAgaWYgSEFTX05GU19DT05GOgot ICAgICAgICAgU0VDVVJFX05GU19WQVIgPSBOb25lCi0gCi0tICAgIE5BTUVEX09QRU5TU0xfRU5H SU5FID0gInBrY3MxMSIKLSsgICAgaWYgSEFTX09QRU5TU0xfUFJPVklERVI6Ci0rICAgICAgICBO QU1FRF9PUEVOU1NMX1BST1ZJREVSID0gVHJ1ZQotKyAgICBlbHNlOgotKyAgICAgICAgTkFNRURf T1BFTlNTTF9FTkdJTkUgPSAicGtjczExIgotIAotIGNvbnN0YW50cyA9IEZlZG9yYUNvbnN0YW50 c05hbWVzcGFjZSgpCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vcmhlbC9jb25zdGFudHMucHkg Yi9pcGFwbGF0Zm9ybS9yaGVsL2NvbnN0YW50cy5weQotaW5kZXggYmM4YzY1YTVkLi5mNGI1MDM1 MjEgMTAwNjQ0Ci0tLS0gYS9pcGFwbGF0Zm9ybS9yaGVsL2NvbnN0YW50cy5weQotKysrIGIvaXBh cGxhdGZvcm0vcmhlbC9jb25zdGFudHMucHkKLUBAIC0xOCw4ICsxOCwxMSBAQCBmcm9tIGlwYXBs YXRmb3JtLm9zaW5mbyBpbXBvcnQgb3NpbmZvCi0gIyBSSEVMIDggdXNlcyAvZXRjL25mcy5jb25m Ci0gSEFTX05GU19DT05GID0gb3NpbmZvLnZlcnNpb25fbnVtYmVyID49ICg4LCkKLSAjIFJIRUwg OSB1c2VzIHBrY3MxMSBhcyBvcGVuc3NsIGVuZ2luZQotLUhBU19QS0NTMTFfT1BFTlNTTF9FTkdJ TkUgPSBvc2luZm8udmVyc2lvbl9udW1iZXIgPj0gKDksKQotK0hBU19QS0NTMTFfT1BFTlNTTF9F TkdJTkUgPSBvc2luZm8udmVyc2lvbl9udW1iZXIgPT0gKDksKQotIAotKyMgUkhFTCAxMCBhbmQg bGF0ZXIgZGVwcmVjYXRlZCBPcGVuU1NMIGVuZ2luZSBhbmQgcmVjb21tZW5kIHVzaW5nIE9wZW5T U0wKLSsjIHByb3ZpZGVyIEFQSS4KLStIQVNfT1BFTlNTTF9QUk9WSURFUiA9IG9zaW5mby52ZXJz aW9uX251bWJlciA+PSAoMTAsKQotIAotIF9fYWxsX18gPSAoImNvbnN0YW50cyIsICJVc2VyIiwg Ikdyb3VwIikKLSAKLUBAIC0zMSw1ICszNCw3IEBAIGNsYXNzIFJIRUxDb25zdGFudHNOYW1lc3Bh Y2UoUmVkSGF0Q29uc3RhbnRzTmFtZXNwYWNlKToKLSAgICAgICAgIFNFQ1VSRV9ORlNfVkFSID0g Tm9uZQotICAgICBpZiBIQVNfUEtDUzExX09QRU5TU0xfRU5HSU5FOgotICAgICAgICAgTkFNRURf T1BFTlNTTF9FTkdJTkUgPSAicGtjczExIgotKyAgICBpZiBIQVNfT1BFTlNTTF9QUk9WSURFUjoK LSsgICAgICAgIE5BTUVEX09QRU5TU0xfUFJPVklERVIgPSBUcnVlCi0gCi0gY29uc3RhbnRzID0g UkhFTENvbnN0YW50c05hbWVzcGFjZSgpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2Ruc3NlYy9i aW5kbWdyLnB5IGIvaXBhc2VydmVyL2Ruc3NlYy9iaW5kbWdyLnB5Ci1pbmRleCAwYzc5Y2MwM2Qu LjRiMGVjY2VmYyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9kbnNzZWMvYmluZG1nci5weQotKysr IGIvaXBhc2VydmVyL2Ruc3NlYy9iaW5kbWdyLnB5Ci1AQCAtNjgsNyArNjgsNyBAQCBjbGFzcyBC SU5ETWdyOgotICAgICAgICAgICAgIHN0cl92YWwsCi0gICAgICAgICAgICAgaXBhbGliLmNvbnN0 YW50cy5MREFQX0dFTkVSQUxJWkVEX1RJTUVfRk9STUFUCi0gICAgICAgICApCi0tICAgICAgICBy ZXR1cm4gZHQuc3RyZnRpbWUodGltZV9iaW5kZm10KS5lbmNvZGUoJ3V0Zi04JykKLSsgICAgICAg IHJldHVybiBkdC5zdHJmdGltZSh0aW1lX2JpbmRmbXQpCi0gCi0gICAgIGRlZiBkYXRlczJwYXJh bXMoc2VsZiwgbGRhcF9hdHRycyk6Ci0gICAgICAgICAiIiJDb252ZXJ0IExEQVAgdGltZXN0YW1w cyB0byBsaXN0IG9mIHBhcmFtZXRlcnMgc3VpdGFibGUKLUBAIC0xMTcsMjEgKzExNywzMCBAQCBj bGFzcyBCSU5ETWdyOgotICAgICAgICAgIiIiUnVuIGRuc3NlYy1rZXlmcm9tbGFiZWwgb24gZ2l2 ZW4gTERBUCBvYmplY3QuCi0gICAgICAgICA6cmV0dXJuczogYmFzZSBmaWxlIG5hbWUgb2Ygb3V0 cHV0IGZpbGVzLCBlLmcuIEthYWEudGVzdC4rMDA4KzE5NzE5Ci0gICAgICAgICAiIiIKLS0gICAg ICAgIGxvZ2dlci5pbmZvKCdhdHRyczogJXMnLCBhdHRycykKLSAgICAgICAgIGFzc2VydCBhdHRy cy5nZXQoJ2lkbnNzZWNrZXl6b25lJywgW2InRkFMU0UnXSlbMF0gPT0gYidUUlVFJywgXAotICAg ICAgICAgICAgIGInb2JqZWN0ICVzIGlzIG5vdCBhIEROUyB6b25lIGtleScgJSBhdHRyc1snZG4n XQotIAotLSAgICAgICAgdXJpID0gYiIlcztwaW4tc291cmNlPSVzIiAlICgKLS0gICAgICAgICAg ICBhdHRyc1snaWRuc1NlY0tleVJlZiddWzBdLAotLSAgICAgICAgICAgIHBhdGhzLkROU1NFQ19T T0ZUSFNNX1BJTi5lbmNvZGUoJ3V0Zi04JykKLS0gICAgICAgICkKLSsgICAgICAgIHVyaSA9IE5v bmUKLSsgICAgICAgICMgTERBUCBvYmplY3QgZW50cmllcyBhcmUgYWxsIGluIGJpbmFyeSBlbmNv ZGluZwotKyAgICAgICAga2V5cmVmID0gYXR0cnNbJ2lkbnNTZWNLZXlSZWYnXVswXS5kZWNvZGUo J3V0Zi04JykKLSsgICAgICAgIGlmIHBsYXRmb3JtY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5H SU5FIGlzIG5vdCBOb25lOgotKyAgICAgICAgICAgIHVyaSA9ICIlcztwaW4tc291cmNlPSVzIiAl ICgKLSsgICAgICAgICAgICAgICAga2V5cmVmLAotKyAgICAgICAgICAgICAgICBwYXRocy5ETlNT RUNfU09GVEhTTV9QSU4KLSsgICAgICAgICAgICApCi0rICAgICAgICBlbGlmIHBsYXRmb3JtY29u c3RhbnRzLk5BTUVEX09QRU5TU0xfUFJPVklERVIgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAg dXJpID0gIiVzO3Rva2VuPSVzIiAlICgKLSsgICAgICAgICAgICAgICAga2V5cmVmLAotKyAgICAg ICAgICAgICAgICBpcGFsaWIuY29uc3RhbnRzLlNPRlRIU01fRE5TU0VDX1RPS0VOX0xBQkVMCi0r ICAgICAgICAgICAgKQotKwotKyAgICAgICAgYXNzZXJ0IHVyaSBpcyBub3QgTm9uZQotICAgICAg ICAgY21kID0gWwotICAgICAgICAgICAgIHBhdGhzLkROU1NFQ19LRVlGUk9NTEFCRUwsCi0tICAg ICAgICAgICAgJy1FJywgJ3BrY3MxMScsCi0gICAgICAgICAgICAgJy1LJywgd29ya2RpciwKLS0g ICAgICAgICAgICAnLWEnLCBhdHRyc1snaWRuc1NlY0FsZ29yaXRobSddWzBdLAotLSAgICAgICAg ICAgICctbCcsIHVyaQotKyAgICAgICAgICAgICctYScsIGF0dHJzWydpZG5zU2VjQWxnb3JpdGht J11bMF0uZGVjb2RlKCd1dGYtOCcpLAotICAgICAgICAgXQotKyAgICAgICAgY21kLmV4dGVuZChb Jy1sJywgdXJpXSkKLSAgICAgICAgIGNtZC5leHRlbmQoc2VsZi5kYXRlczJwYXJhbXMoYXR0cnMp KQotICAgICAgICAgaWYgYXR0cnMuZ2V0KCdpZG5zU2VjS2V5U2VwJywgW2InRkFMU0UnXSlbMF0u dXBwZXIoKSA9PSBiJ1RSVUUnOgotICAgICAgICAgICAgIGNtZC5leHRlbmQoWyctZicsICdLU0sn XSkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2UucHkg Yi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2UucHkKLWluZGV4IDM2NTI0NjU1 Mi4uMTk3OWE0NzJkIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvZG5za2V5c3luY2lu c3RhbmNlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2UucHkK LUBAIC0xNTUsMjEgKzE1NSwzNiBAQCBjbGFzcyBETlNLZXlTeW5jSW5zdGFuY2Uoc2VydmljZS5T ZXJ2aWNlKToKLSAgICAgICAgIHJldHVybiBGYWxzZQotIAotICAgICBkZWYgc2V0dXBfbmFtZWRf b3BlbnNzbF9jb25mKHNlbGYpOgotKyAgICAgICAgb3BlbnNzbGNuZl90bXBsID0gTm9uZQotKyAg ICAgICAgY29uZl9maWxlX2RpY3QgPSB7Ci0rICAgICAgICAgICAgJ0NSWVBUT19QT0xJQ1lfRklM RSc6IHBhdGhzLkNSWVBUT19QT0xJQ1lfT1BFTlNTTENORl9GSUxFLAotKyAgICAgICAgICAgICdT T0ZUSFNNX01PRFVMRSc6IHBhdGhzLkxJQlNPRlRIU00yX1NPLAotKyAgICAgICAgICAgICdTT0ZU SFNNX1BJTic6IHBhdGhzLkROU1NFQ19TT0ZUSFNNX1BJTiwKLSsgICAgICAgIH0KLSAgICAgICAg IGlmIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX0VOR0lORSBpcyBub3QgTm9uZToKLS0gICAgICAg ICAgICBsb2dnZXIuZGVidWcoIlNldHVwIE9wZW5TU0wgY29uZmlnIGZvciBCSU5EIikKLS0gICAg ICAgICAgICAjIHNldHVwIE9wZW5TU0wgY29uZmlnIGZvciBCSU5ELAotLSAgICAgICAgICAgICMg dGhpcyBvbmUgaXMgbmVlZGVkIGJlY2F1c2UgRnJlZUlQQSBpbnN0YWxsYXRpb24KLS0gICAgICAg ICAgICAjIGRpc2FibGVzIHAxMS1raXQtcHJveHkgUEtDUzExIG1vZHVsZQotLSAgICAgICAgICAg IGNvbmZfZmlsZV9kaWN0ID0gewotLSAgICAgICAgICAgICAgICAnT1BFTlNTTF9FTkdJTkUnOiBj b25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkUsCi0tICAgICAgICAgICAgICAgICdTT0ZUSFNN X01PRFVMRSc6IHBhdGhzLkxJQlNPRlRIU00yX1NPLAotLSAgICAgICAgICAgICAgICAnQ1JZUFRP X1BPTElDWV9GSUxFJzogcGF0aHMuQ1JZUFRPX1BPTElDWV9PUEVOU1NMQ05GX0ZJTEUsCi0tICAg ICAgICAgICAgfQotKyAgICAgICAgICAgICMgVHJhZGl0aW9uYWwgY29uZmlndXJhdGlvbiB1c2lu ZyBPcGVuU1NMIGVuZ2luZSBBUEkKLSsgICAgICAgICAgICAjIHJlcXVpcmVzIG9wZW5zc2wtcGtj czExIGVuZ2luZSB0byBsb2FkIFBLQ1MjMTEgdG9rZW4KLSsgICAgICAgICAgICAjIHByb3ZpZGVk IGJ5IFNvZnRIU012MgotKyAgICAgICAgICAgIGNvbmZfZmlsZV9kaWN0WydPUEVOU1NMX0VOR0lO RSddID0gY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5HSU5FCi0gICAgICAgICAgICAgaWYgcGF0 aHMuQ1JZUFRPX1BPTElDWV9PUEVOU1NMQ05GX0ZJTEUgaXMgTm9uZToKLSAgICAgICAgICAgICAg ICAgb3BlbnNzbGNuZl90bXBsID0gImJpbmQub3BlbnNzbC5jbmYudGVtcGxhdGUiCi0gICAgICAg ICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgb3BlbnNzbGNuZl90bXBsID0gImJpbmQub3Bl bnNzbC5jcnlwdG9wb2xpY3kuY25mLnRlbXBsYXRlIgotKyAgICAgICAgZWxpZiBjb25zdGFudHMu TkFNRURfT1BFTlNTTF9QUk9WSURFUiBpcyBub3QgTm9uZToKLSsgICAgICAgICAgICAjIE9wZW5T U0wgcHJvdmlkZXIgQVBJIGlzIHByZWZlcnJlZCBhbmQgcmVxdWlyZXMKLSsgICAgICAgICAgICAj IHBrY3MxMS1wcm92aWRlciB0byBsb2FkIFBLQ1MjMTEgdG9rZW4gcHJvdmlkZWQgYnkgU29mdEhT TXYyCi0rICAgICAgICAgICAgaWYgcGF0aHMuQ1JZUFRPX1BPTElDWV9PUEVOU1NMQ05GX0ZJTEUg aXMgTm9uZToKLSsgICAgICAgICAgICAgICAgb3BlbnNzbGNuZl90bXBsID0gImJpbmQub3BlbnNz bC5wcm92aWRlci5jbmYudGVtcGxhdGUiCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAgICAg ICAgICAgb3BlbnNzbGNuZl90bXBsID0gImJpbmQub3BlbnNzbC5wcm92aWRlci5jcnAuY25mLnRl bXBsYXRlIgotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBjb25mX2ZpbGVfZGljdCA9IE5v bmUKLSAKLSsgICAgICAgIGlmIG9wZW5zc2xjbmZfdG1wbCBpcyBub3QgTm9uZSBhbmQgY29uZl9m aWxlX2RpY3QgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAgbG9nZ2VyLmRlYnVnKCJTZXR1cCBP cGVuU1NMIGNvbmZpZyBmb3IgQklORCIpCi0rICAgICAgICAgICAgIyBzZXR1cCBPcGVuU1NMIGNv bmZpZyBmb3IgQklORCwKLSsgICAgICAgICAgICAjIHRoaXMgb25lIGlzIG5lZWRlZCBiZWNhdXNl IEZyZWVJUEEgaW5zdGFsbGF0aW9uCi0rICAgICAgICAgICAgIyBkaXNhYmxlcyBwMTEta2l0LXBy b3h5IFBLQ1MxMSBtb2R1bGUKLSAgICAgICAgICAgICBuYW1lZF9vcGVuc3NsX3R4dCA9IGlwYXV0 aWwudGVtcGxhdGVfZmlsZSgKLSAgICAgICAgICAgICAgICAgb3MucGF0aC5qb2luKHBhdGhzLlVT Ul9TSEFSRV9JUEFfRElSLCBvcGVuc3NsY25mX3RtcGwpLAotICAgICAgICAgICAgICAgICBjb25m X2ZpbGVfZGljdAotQEAgLTE4OSw3ICsyMDQsOCBAQCBjbGFzcyBETlNLZXlTeW5jSW5zdGFuY2Uo c2VydmljZS5TZXJ2aWNlKToKLSAgICAgICAgICAgICAnU09GVEhTTTJfQ09ORicsIHBhdGhzLkRO U1NFQ19TT0ZUSFNNMl9DT05GLAotICAgICAgICAgICAgIHF1b3Rlcz1GYWxzZSwgc2VwYXJhdG9y PSc9JykKLSAKLS0gICAgICAgIGlmIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX0VOR0lORSBpcyBu b3QgTm9uZToKLSsgICAgICAgIGlmIGFueShbY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5HSU5F IGlzIG5vdCBOb25lLAotKyAgICAgICAgICAgICAgICBjb25zdGFudHMuTkFNRURfT1BFTlNTTF9Q Uk9WSURFUiBpcyBub3QgTm9uZV0pOgotICAgICAgICAgICAgIGRpcmVjdGl2ZXNldHRlci5zZXRf ZGlyZWN0aXZlKAotICAgICAgICAgICAgICAgICBzeXNjb25maWcsCi0gICAgICAgICAgICAgICAg ICdPUEVOU1NMX0NPTkYnLCBwYXRocy5ETlNTRUNfT1BFTlNTTF9DT05GLAotQEAgLTIwMCw5ICsy MTYsMjMgQEAgY2xhc3MgRE5TS2V5U3luY0luc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAg ICAgICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9PUFRJT05TX1ZBUiwKLSAgICAgICAgICAgICAg ICAgc2VwYXJhdG9yPSI9IgotICAgICAgICAgICAgICkgb3IgJycKLS0gICAgICAgICAgICBpZiBu b3Qgc2VsZi5fYXJlX25hbWVkX29wdGlvbnNfY29uZmlndXJlZChvcHRpb25zKToKLSsgICAgICAg ICAgICBuZXdfb3B0aW9ucyA9IE5vbmUKLSsgICAgICAgICAgICBpZiBhbGwoW2NvbnN0YW50cy5O QU1FRF9PUEVOU1NMX0VOR0lORSBpcyBub3QgTm9uZSwKLSsgICAgICAgICAgICAgICAgICAgIG5v dCBzZWxmLl9hcmVfbmFtZWRfb3B0aW9uc19jb25maWd1cmVkKG9wdGlvbnMpXSk6Ci0gICAgICAg ICAgICAgICAgIGVuZ2luZV9jbWQgPSAiLUUge30iLmZvcm1hdChjb25zdGFudHMuTkFNRURfT1BF TlNTTF9FTkdJTkUpCi0gICAgICAgICAgICAgICAgIG5ld19vcHRpb25zID0gJyAnLmpvaW4oW29w dGlvbnMsIGVuZ2luZV9jbWRdKQotKyAgICAgICAgICAgICMgUmVtb3ZlICctRSBwa2NzMTEnIGZy b20gdGhlIG9wdGlvbnMgaW4gdGhlIE9wZW5TU0wgcHJvdmlkZXIgY2FzZQotKyAgICAgICAgICAg IGlmIGFsbChbY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5HSU5FIGlzIE5vbmUsCi0rICAgICAg ICAgICAgICAgICAgICBzZWxmLl9hcmVfbmFtZWRfb3B0aW9uc19jb25maWd1cmVkKG9wdGlvbnMp XSk6Ci0rICAgICAgICAgICAgICAgIGxzdF9vcHRpb25zID0gb3B0aW9ucy5zcGxpdCgpCi0rICAg ICAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgICAgIGlkeCA9IGxzdF9vcHRpb25z LmluZGV4KCctRScpCi0rICAgICAgICAgICAgICAgICAgICBsc3Rfb3B0aW9ucy5wb3AoaWR4KQot KyAgICAgICAgICAgICAgICAgICAgbHN0X29wdGlvbnMucG9wKGlkeCkKLSsgICAgICAgICAgICAg ICAgICAgIG5ld19vcHRpb25zID0gJyAnLmpvaW4obHN0X29wdGlvbnMpCi0rICAgICAgICAgICAg ICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgotKyAgICAgICAgICAgICAgICAgICAgcGFzcwotKyAgICAg ICAgICAgIGlmIG5ld19vcHRpb25zIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICBkaXJl Y3RpdmVzZXR0ZXIuc2V0X2RpcmVjdGl2ZSgKLSAgICAgICAgICAgICAgICAgICAgIHN5c2NvbmZp ZywKLSAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9PUFRJT05TX1ZBUiwgbmV3 X29wdGlvbnMsCi1AQCAtMjE2LDcgKzI0Niw4IEBAIGNsYXNzIEROU0tleVN5bmNJbnN0YW5jZShz ZXJ2aWNlLlNlcnZpY2UpOgotICAgICAgICAgICAgICdTT0ZUSFNNMl9DT05GJywgcGF0aHMuRE5T U0VDX1NPRlRIU00yX0NPTkYsCi0gICAgICAgICAgICAgcXVvdGVzPUZhbHNlLCBzZXBhcmF0b3I9 Jz0nKQotIAotLSAgICAgICAgaWYgY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5HSU5FIGlzIG5v dCBOb25lOgotKyAgICAgICAgaWYgYW55KFtjb25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkUg aXMgbm90IE5vbmUsCi0rICAgICAgICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX1BS T1ZJREVSIGlzIG5vdCBOb25lXSk6Ci0gICAgICAgICAgICAgZGlyZWN0aXZlc2V0dGVyLnNldF9k aXJlY3RpdmUoCi0gICAgICAgICAgICAgICAgIHN5c2NvbmZpZywKLSAgICAgICAgICAgICAgICAg J09QRU5TU0xfQ09ORicsIHBhdGhzLkROU1NFQ19PUEVOU1NMX0NPTkYsCi1kaWZmIC0tZ2l0IGEv aXBhc2VydmVyL2luc3RhbGwvc2VydmVyL3VwZ3JhZGUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9z ZXJ2ZXIvdXBncmFkZS5weQotaW5kZXggZjI2YTA4YWVmLi5mYjcxNmQ0YzIgMTAwNjQ0Ci0tLS0g YS9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFkZS5weQotKysrIGIvaXBhc2VydmVyL2lu c3RhbGwvc2VydmVyL3VwZ3JhZGUucHkKLUBAIC01NDksMTUgKzU0OSwxOSBAQCBkZWYgY2FfaW5p dGlhbGl6ZV9oc21fc3RhdGUoY2EpOgotIAotIGRlZiBkbnNzZWNfc2V0X29wZW5zc2xfZW5naW5l KGRuc2tleXN5bmNkKToKLSAgICAgIiIiCi0tICAgIFNldHVwIE9wZW5TU0wgZW5naW5lIGZvciBC SU5ECi0rICAgIFNldHVwIE9wZW5TU0wgZW5naW5lIG9yIHByb3ZpZGVyIGZvciBCSU5ECi0gICAg ICIiIgotLSAgICBpZiBjb25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkUgaXMgTm9uZToKLSsg ICAgaWYgYWxsKFtjb25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkUgaXMgTm9uZSwKLSsgICAg ICAgICAgICBjb25zdGFudHMuTkFNRURfT1BFTlNTTF9QUk9WSURFUiBpcyBOb25lXSk6Ci0gICAg ICAgICByZXR1cm4gRmFsc2UKLSAKLS0gICAgaWYgc3lzdXBncmFkZS5nZXRfdXBncmFkZV9zdGF0 ZSgnZG5zJywgJ29wZW5zc2xfZW5naW5lJyk6Ci0rICAgICMgTm90aGluZyB0byBkbyBpZiB3ZSBh cmUgdXNpbmcgT3BlblNTTCBlbmdpbmUgYWxyZWFkeSBhbmQgbm90IG9uIHRoZSBPUwotKyAgICAj IHRoYXQgcmVxdWlyZXMgT3BlblNTTCBwcm92aWRlciBpbnN0ZWFkLgotKyAgICBpZiBhbGwoW3N5 c3VwZ3JhZGUuZ2V0X3VwZ3JhZGVfc3RhdGUoJ2RucycsICdvcGVuc3NsX2VuZ2luZScpLAotKyAg ICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX1BST1ZJREVSIGlzIE5vbmVdKToKLSAg ICAgICAgIHJldHVybiBGYWxzZQotIAotLSAgICBsb2dnZXIuaW5mbygnW1NldCBPcGVuU1NMIGVu Z2luZSBmb3IgQklORF0nKQotKyAgICBsb2dnZXIuaW5mbygnW1NldCBPcGVuU1NMIGVuZ2luZSBv ciBwcm92aWRlciBmb3IgQklORF0nKQotICAgICBkbnNrZXlzeW5jZC5zZXR1cF9uYW1lZF9vcGVu c3NsX2NvbmYoKQotICAgICBkbnNrZXlzeW5jZC5zZXR1cF9uYW1lZF9zeXNjb25maWcoKQotICAg ICBkbnNrZXlzeW5jZC5zZXR1cF9pcGFfZG5za2V5c3luY2Rfc3lzY29uZmlnKCkKLS0tIAotMi40 OS4wCi0KLQotRnJvbSAzMDk0ZWY4M2I4OThiYjdiN2EzZTgzNTA4NGU0NDRmZDQwM2M2ZWU4IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95 QHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDEgQXByIDIwMjUgMTQ6NTM6MjQgKzAzMDAKLVN1Ympl Y3Q6IFtQQVRDSCAyMC81M10gRE5TOiBkZXRlY3Qgd2hlbiBPcGVuU1NMIGVuZ2luZSBzaG91bGQg YmUgcmVtb3ZlZCBvbgotIHVwZ3JhZGUKLQotRm9yIE9wZW5TU0wgUHJvdmlkZXIgQVBJIHVzZSB3 ZSBkb24ndCBuZWVkICduYW1lZCAtRSBlbmdpbmUtbmFtZScKLWFueW1vcmUsIGl0IGhhcyB0byBi ZSByZW1vdmVkLiBUaGUgcmVtb3ZhbCBwcm9jZXNzIGlzIHNsaWdodGx5Ci1jb21wbGljYXRlZCBi ZWNhdXNlIHdlIG5lZWQgdG8gZGV0ZWN0ICctRSBlbmdpbmUtbmFtZScgYW5kIGNvbXBhcmUgaXQK LXdpdGggdGhlIGVuZ2luZSB3ZSBrbm93IGFib3V0IChwa2NzMTEpIGJ1dCBpZiB3ZSBhcmUgdXBn cmFkaW5nIHRvIHRoZQotYnVpbGQgdGhhdCBzdXBwb3J0cyBPcGVuU1NMIFByb3ZpZGVyIEFQSSwg d2UgZG9uJ3Qga25vdyB0aGUgZW5naW5lIG5hbWUKLWFueW1vcmUuCi0KLUZpeGVzOiBodHRwczov L3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2OTYKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3Zv eSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2Ruc2tleXN5bmNpbnN0 YW5jZS5weSB8IDE0ICsrKysrKysrKysrKystCi0gMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2Ru c2tleXN5bmNpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2Ruc2tleXN5bmNpbnN0YW5j ZS5weQotaW5kZXggMTk3OWE0NzJkLi5hZThhNjdhMDAgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2Ru c2tleXN5bmNpbnN0YW5jZS5weQotQEAgLTE0OSw3ICsxNDksMTkgQEAgY2xhc3MgRE5TS2V5U3lu Y0luc3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAgICAgICBpZiBvcHRpb25zOgotICAgICAg ICAgICAgIHBhdHRlcm4gPSByIlsgXSotW2EtekEtWjQ2XSpFWyBdKiguKj8pKD86IHwkKSIKLSAg ICAgICAgICAgICBlbmdpbmVzID0gcmUuZmluZGFsbChwYXR0ZXJuLCBvcHRpb25zKQotLSAgICAg ICAgICAgIGlmIGVuZ2luZXMgYW5kIGVuZ2luZXNbLTFdID09IGNvbnN0YW50cy5OQU1FRF9PUEVO U1NMX0VOR0lORToKLSsKLSsgICAgICAgICAgICAjIGlmIG5vICctRSA8ZW5naW5lLW5hbWU+JyBh bmQgd2Ugc3dpdGNoZWQgdG8gdGhlIHByb3ZpZGVyIEFQSSwKLSsgICAgICAgICAgICAjIGp1c3Qg ZXhpc3QsIG5vIG5hbWVkIGNvbmZpZ3VyYXRpb24gdG8gYWRqdXN0Ci0rICAgICAgICAgICAgaWYg bGVuKGVuZ2luZXMpID09IDAgYW5kIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX0VOR0lORSBpcyBO b25lOgotKyAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLSsKLSsgICAgICAgICAgICAjIFNv bWV0aGluZyBpcyBjb25maWd1cmVkIGluICctRSA8ZW5naW5lLW5hbWU+JyBidXQgd2UgZG9uJ3Qg aGF2ZQotKyAgICAgICAgICAgICMgYW4gZW5naW5lIG5hbWUgdG8gY29tcGFyZSBiZWNhdXNlIHdl IGFscmVhZHkgc3dpdGNoZWQgdG8gdGhlCi0rICAgICAgICAgICAgIyBwcm92aWRlciBBUEksIHdl IG9ubHkgbmVlZCB0byBlbnN1cmUgb2xkIGVuZ2luZSByZWYgaXMgcmVtb3ZlZC4KLSsgICAgICAg ICAgICBpZiBjb25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkUgaXMgTm9uZToKLSsgICAgICAg ICAgICAgICAgcmV0dXJuIFRydWUKLSsKLSsgICAgICAgICAgICBpZiBlbmdpbmVzWy0xXSA9PSBj b25zdGFudHMuTkFNRURfT1BFTlNTTF9FTkdJTkU6Ci0gICAgICAgICAgICAgICAgIHJldHVybiBU cnVlCi0gCi0gICAgICAgICByZXR1cm4gRmFsc2UKLS0tIAotMi40OS4wCi0KLQotRnJvbSBlZmJl NjNhNmZmMmNiZGFiMTI4YzZkM2M4Nzk4NjJkYmEyMmFjMWNiIE1vbiBTZXAgMTcgMDA6MDA6MDAg MjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRl OiBGcmksIDI1IEFwciAyMDI1IDE0OjQ3OjAyICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMjEvNTNd IGlwYS1kbnNrZXlzeW5jZDogdXNlIHN5c3RlbWQtdG1wZmlsZXMgdG8gaGFuZGxlIHRva2Vucwot Ci1pcGEtZG5za2V5c3luY2QgZGFlbW9uIHJlbGllcyBvbiBib3RoIE9wZW5ETlNTRUMgYW5kIEJJ TkQgYWNjZXNzaW5nIHRoZQotc2FtZSBjcnlwdG9ncmFwaGljIHRva2VuLiBXZSB1c2UgU29mdEhT TXYyIGhlcmUgYW5kIHN0b3JlIHRva2VuIGluCi1ETlNTRUNfVE9LRU5TX0RJUiwgZGVmaW5lZCBi eSB0aGUgSVBBIHBsYXRmb3JtLgotCi1Db25maWd1cmUgaXBhLWRuc2tleXN5bmNkIHNlcnZpY2Ug dG8gdXBkYXRlIHBlcm1pc3Npb25zIG9mIHRoZSB0b2tlbgotZmlsZXMgdXNpbmcgY3VzdG9tIHN5 c3RlbWQtdG1wZmlsZXMgY29uZmlndXJhdGlvbi4KLQotRXh0ZW5kIFNFTGludXggcG9saWN5IHRv IGhhbmRsZSBhY2Nlc3MgdG8gdGhlIHRva2VuIHVuZGVyIGEgc2VwYXJhdGUKLWZpbGUgY29udGV4 dC4gQm90aCB0b2tlbiBhbmQgaXRzIHBpbiBmaWxlIG5lZWQgdG8gYmUgYWNjZXNzZWQgYnkgdGhl IEJJTkQKLXJuZGMgdG9vbC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNz dWUvOTY5NgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVk aGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29t PgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0t Ci0gZGFlbW9ucy9kbnNzZWMvTWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgfCAgMSArCi0gZGFl bW9ucy9kbnNzZWMvaXBhLWRuc2tleXN5bmNkLnNlcnZpY2UuaW4gfCAgMSArCi0gZnJlZWlwYS5z cGVjLmluICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMSArCi0gaW5pdC90bXBmaWxlc2Qv TWFrZWZpbGUuYW0gICAgICAgICAgICAgICAgfCAxMSArKysrKysrKy0tLQotIGluaXQvdG1wZmls ZXNkL2lwYS1kbnNzZWMuY29uZi5pbiAgICAgICAgIHwgIDQgKysrKwotIGlwYXNlcnZlci9pbnN0 YWxsL2Ruc2tleXN5bmNpbnN0YW5jZS5weSAgIHwgMTAgKysrKysrKysrKwotIGlwYXNlcnZlci9p bnN0YWxsL3NlcnZlci91cGdyYWRlLnB5ICAgICAgIHwgMTAgKysrKystLS0tLQotIHNlbGludXgv aXBhLmZjICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKysrCi0gc2VsaW51eC9pcGEu dGUgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysrKysrCi0gOSBmaWxlcyBjaGFu Z2VkLCA0MCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0 NCBpbml0L3RtcGZpbGVzZC9pcGEtZG5zc2VjLmNvbmYuaW4KLQotZGlmZiAtLWdpdCBhL2RhZW1v bnMvZG5zc2VjL01ha2VmaWxlLmFtIGIvZGFlbW9ucy9kbnNzZWMvTWFrZWZpbGUuYW0KLWluZGV4 IDBlZGFiOThiZS4uZDI3MGYwZjlhIDEwMDY0NAotLS0tIGEvZGFlbW9ucy9kbnNzZWMvTWFrZWZp bGUuYW0KLSsrKyBiL2RhZW1vbnMvZG5zc2VjL01ha2VmaWxlLmFtCi1AQCAtMzMsNiArMzMsNyBA QCBDTEVBTkZJTEVTID0gJChzeXN0ZW1kc3lzdGVtdW5pdF9EQVRBKSAkKG5vZGlzdF9hcHBfU0NS SVBUUykKLSAJCS1lICdzfEBPRFNfVVNFUltAXXwkKE9EU19VU0VSKXxnJyBcCi0gCQktZSAnc3xA T0RTX0dST1VQW0BdfCQoT0RTX0dST1VQKXxnJyBcCi0gCQktZSAnc3xATkFNRURfR1JPVVBbQF18 JChOQU1FRF9HUk9VUCl8ZycgXAotKwkJLWUgJ3N8QElQQV9EQVRBX0RJUltAXXwkKElQQV9EQVRB X0RJUil8ZycgXAotIAkJJyQoc3JjZGlyKS8kQC5pbicgPiRACi0gCi0gZG5zc2VjY29uZmRpciA9 ICQoSVBBX1NZU0NPTkZfRElSKS9kbnNzZWMKLWRpZmYgLS1naXQgYS9kYWVtb25zL2Ruc3NlYy9p cGEtZG5za2V5c3luY2Quc2VydmljZS5pbiBiL2RhZW1vbnMvZG5zc2VjL2lwYS1kbnNrZXlzeW5j ZC5zZXJ2aWNlLmluCi1pbmRleCBjZDA3Mjc1YWQuLjY3MzBjOTY3NiAxMDA2NDQKLS0tLSBhL2Rh ZW1vbnMvZG5zc2VjL2lwYS1kbnNrZXlzeW5jZC5zZXJ2aWNlLmluCi0rKysgYi9kYWVtb25zL2Ru c3NlYy9pcGEtZG5za2V5c3luY2Quc2VydmljZS5pbgotQEAgLTQsNiArNCw3IEBAIERlc2NyaXB0 aW9uPUlQQSBrZXkgZGFlbW9uCi0gW1NlcnZpY2VdCi0gRW52aXJvbm1lbnQ9TENfQUxMPUMuVVRG LTgKLSBFbnZpcm9ubWVudEZpbGU9QHN5c2NvbmZlbnZkaXJAL2lwYS1kbnNrZXlzeW5jZAotK0V4 ZWNTdGFydFByZT0vYmluL3NoIC1jICcvYmluL3NlZCAtZSAicyxARE5TU0VDX1RPS0VOU19ESVJA LCR7RE5TU0VDX1RPS0VOU19ESVJ9LGc7cyxARE5TU0VDX1NPRlRIU01fUElOQCwke0ROU1NFQ19T T0ZUSFNNX1BJTn0sZyIgQElQQV9EQVRBX0RJUkAvaXBhLWRuc3NlYy5jb25mIHwgL3Vzci9iaW4v c3lzdGVtZC10bXBmaWxlcyAtLWNyZWF0ZSAtJwotIEV4ZWNTdGFydD1AbGliZXhlY2RpckAvaXBh L2lwYS1kbnNrZXlzeW5jZAotIFVzZXI9QE9EU19VU0VSQAotIEdyb3VwPUBOQU1FRF9HUk9VUEAK LWRpZmYgLS1naXQgYS9mcmVlaXBhLnNwZWMuaW4gYi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IDU1 OGIzY2ZmZi4uNzgwMDRkYzRmIDEwMDc1NQotLS0tIGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9m cmVlaXBhLnNwZWMuaW4KLUBAIC0xNzcxLDYgKzE3NzEsNyBAQCBmaQotICV7X2xpYmV4ZWNkaXJ9 L2lwYS9pcGEtb2RzLWV4cG9ydGVyCi0gJXtfc2JpbmRpcn0vaXBhLWRucy1pbnN0YWxsCi0gJXtf bWFuZGlyfS9tYW4xL2lwYS1kbnMtaW5zdGFsbC4xKgotKyV7X3Vzcn0vc2hhcmUvaXBhL2lwYS1k bnNzZWMuY29uZgotICVhdHRyKDY0NCxyb290LHJvb3QpICV7X3VuaXRkaXJ9L2lwYS1kbnNrZXlz eW5jZC5zZXJ2aWNlCi0gJWF0dHIoNjQ0LHJvb3Qscm9vdCkgJXtfdW5pdGRpcn0vaXBhLW9kcy1l eHBvcnRlci5zb2NrZXQKLSAlYXR0cig2NDQscm9vdCxyb290KSAle191bml0ZGlyfS9pcGEtb2Rz LWV4cG9ydGVyLnNlcnZpY2UKLWRpZmYgLS1naXQgYS9pbml0L3RtcGZpbGVzZC9NYWtlZmlsZS5h bSBiL2luaXQvdG1wZmlsZXNkL01ha2VmaWxlLmFtCi1pbmRleCA1ZDZlOTZmMmMuLjhkMjY0YWFh YiAxMDA2NDQKLS0tLSBhL2luaXQvdG1wZmlsZXNkL01ha2VmaWxlLmFtCi0rKysgYi9pbml0L3Rt cGZpbGVzZC9NYWtlZmlsZS5hbQotQEAgLTEsMTIgKzEsMTcgQEAKLSBkaXN0X25vaW5zdF9EQVRB ID0gICAgIFwKLS0JaXBhLmNvbmYuaW4KLSsJaXBhLmNvbmYuaW4gICAgXAotKwlpcGEtZG5zc2Vj LmNvbmYuaW4KLSAKLSBzeXN0ZW1kdG1wZmlsZXNfREFUQSA9ICAgICAgICAgXAotIAlpcGEuY29u ZgotIAotLUNMRUFORklMRVMgPSAkKHN5c3RlbWR0bXBmaWxlc19EQVRBKQotK2FwcGRpciA9ICQo SVBBX0RBVEFfRElSKQotK2Rpc3RfYXBwX0RBVEEgPQlcCi0rCWlwYS1kbnNzZWMuY29uZgotKwot K0NMRUFORklMRVMgPSAkKHN5c3RlbWR0bXBmaWxlc19EQVRBKSAkKGFwcF9EQVRBKQotIAotICU6 ICUuaW4gTWFrZWZpbGUKLSAJc2VkIFwKLS0JCS1lICdzfEBIVFRQRF9HUk9VUFtAXXwkKEhUVFBE X0dST1VQKXxnJyBcCi0rCQktZSAnc3xASFRUUERfR1JPVVBbQF18JChIVFRQRF9HUk9VUCl8Zztz fEBPRFNfVVNFUltAXXwkKE9EU19VU0VSKXxnO3N8QE5BTUVEX0dST1VQW0BdfCQoTkFNRURfR1JP VVApfGcnIFwKLSAJCSAnJChzcmNkaXIpLyRALmluJyA+JEAKLWRpZmYgLS1naXQgYS9pbml0L3Rt cGZpbGVzZC9pcGEtZG5zc2VjLmNvbmYuaW4gYi9pbml0L3RtcGZpbGVzZC9pcGEtZG5zc2VjLmNv bmYuaW4KLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjFkZDJiNjE3MAot LS0tIC9kZXYvbnVsbAotKysrIGIvaW5pdC90bXBmaWxlc2QvaXBhLWRuc3NlYy5jb25mLmluCi1A QCAtMCwwICsxLDQgQEAKLStkCUBETlNTRUNfVE9LRU5TX0RJUkAJMjc3MAlAT0RTX1VTRVJACUBO QU1FRF9HUk9VUEAKLStBKwlARE5TU0VDX1RPS0VOU19ESVJACS0JLQktCS0JZ3JvdXA6QE5BTUVE X0dST1VQQDpydyx1c2VyOkBPRFNfVVNFUkA6cncKLStaCUBETlNTRUNfVE9LRU5TX0RJUkAJLQkt CS0JLQktCi0reglARE5TU0VDX1NPRlRIU01fUElOQAktCUBPRFNfVVNFUkAJQE5BTUVEX0dST1VQ QAktCS0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2Uu cHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2UucHkKLWluZGV4IGFlOGE2 N2EwMC4uOWMyYmJhMTFjIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvZG5za2V5c3lu Y2luc3RhbmNlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnNrZXlzeW5jaW5zdGFuY2Uu cHkKLUBAIC0yNTgsNiArMjU4LDE2IEBAIGNsYXNzIEROU0tleVN5bmNJbnN0YW5jZShzZXJ2aWNl LlNlcnZpY2UpOgotICAgICAgICAgICAgICdTT0ZUSFNNMl9DT05GJywgcGF0aHMuRE5TU0VDX1NP RlRIU00yX0NPTkYsCi0gICAgICAgICAgICAgcXVvdGVzPUZhbHNlLCBzZXBhcmF0b3I9Jz0nKQot IAotKyAgICAgICAgZGlyZWN0aXZlc2V0dGVyLnNldF9kaXJlY3RpdmUoCi0rICAgICAgICAgICAg c3lzY29uZmlnLAotKyAgICAgICAgICAgICdETlNTRUNfVE9LRU5TX0RJUicsIHBhdGhzLkROU1NF Q19UT0tFTlNfRElSLAotKyAgICAgICAgICAgIHF1b3Rlcz1GYWxzZSwgc2VwYXJhdG9yPSc9JykK LSsKLSsgICAgICAgIGRpcmVjdGl2ZXNldHRlci5zZXRfZGlyZWN0aXZlKAotKyAgICAgICAgICAg IHN5c2NvbmZpZywKLSsgICAgICAgICAgICAnRE5TU0VDX1NPRlRIU01fUElOJywgcGF0aHMuRE5T U0VDX1NPRlRIU01fUElOLAotKyAgICAgICAgICAgIHF1b3Rlcz1GYWxzZSwgc2VwYXJhdG9yPSc9 JykKLSsKLSAgICAgICAgIGlmIGFueShbY29uc3RhbnRzLk5BTUVEX09QRU5TU0xfRU5HSU5FIGlz IG5vdCBOb25lLAotICAgICAgICAgICAgICAgICBjb25zdGFudHMuTkFNRURfT1BFTlNTTF9QUk9W SURFUiBpcyBub3QgTm9uZV0pOgotICAgICAgICAgICAgIGRpcmVjdGl2ZXNldHRlci5zZXRfZGly ZWN0aXZlKAotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5 IGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL3VwZ3JhZGUucHkKLWluZGV4IGZiNzE2ZDRjMi4u NTg4OTZlMzMwIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL3VwZ3JhZGUu cHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5Ci1AQCAtNTQ3LDcg KzU0Nyw3IEBAIGRlZiBjYV9pbml0aWFsaXplX2hzbV9zdGF0ZShjYSk6Ci0gICAgICAgICBjYS5z ZXRfaHNtX3N0YXRlKGNvbmZpZykKLSAKLSAKLS1kZWYgZG5zc2VjX3NldF9vcGVuc3NsX2VuZ2lu ZShkbnNrZXlzeW5jZCk6Ci0rZGVmIGRuc3NlY19zZXRfb3BlbnNzbF9wcm92aWRlcihkbnNrZXlz eW5jZCk6Ci0gICAgICIiIgotICAgICBTZXR1cCBPcGVuU1NMIGVuZ2luZSBvciBwcm92aWRlciBm b3IgQklORAotICAgICAiIiIKLUBAIC01NTUsOSArNTU1LDkgQEAgZGVmIGRuc3NlY19zZXRfb3Bl bnNzbF9lbmdpbmUoZG5za2V5c3luY2QpOgotICAgICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9P UEVOU1NMX1BST1ZJREVSIGlzIE5vbmVdKToKLSAgICAgICAgIHJldHVybiBGYWxzZQotIAotLSAg ICAjIE5vdGhpbmcgdG8gZG8gaWYgd2UgYXJlIHVzaW5nIE9wZW5TU0wgZW5naW5lIGFscmVhZHkg YW5kIG5vdCBvbiB0aGUgT1MKLSsgICAgIyBOb3RoaW5nIHRvIGRvIGlmIHdlIGFyZSB1c2luZyBP cGVuU1NMIHByb3ZpZGVyIGFscmVhZHkgYW5kIG5vdCBvbiB0aGUgT1MKLSAgICAgIyB0aGF0IHJl cXVpcmVzIE9wZW5TU0wgcHJvdmlkZXIgaW5zdGVhZC4KLS0gICAgaWYgYWxsKFtzeXN1cGdyYWRl LmdldF91cGdyYWRlX3N0YXRlKCdkbnMnLCAnb3BlbnNzbF9lbmdpbmUnKSwKLSsgICAgaWYgYWxs KFtzeXN1cGdyYWRlLmdldF91cGdyYWRlX3N0YXRlKCdkbnMnLCAnb3BlbnNzbF9wcm92aWRlcicp LAotICAgICAgICAgICAgIGNvbnN0YW50cy5OQU1FRF9PUEVOU1NMX1BST1ZJREVSIGlzIE5vbmVd KToKLSAgICAgICAgIHJldHVybiBGYWxzZQotIAotQEAgLTU2NSw3ICs1NjUsNyBAQCBkZWYgZG5z c2VjX3NldF9vcGVuc3NsX2VuZ2luZShkbnNrZXlzeW5jZCk6Ci0gICAgIGRuc2tleXN5bmNkLnNl dHVwX25hbWVkX29wZW5zc2xfY29uZigpCi0gICAgIGRuc2tleXN5bmNkLnNldHVwX25hbWVkX3N5 c2NvbmZpZygpCi0gICAgIGRuc2tleXN5bmNkLnNldHVwX2lwYV9kbnNrZXlzeW5jZF9zeXNjb25m aWcoKQotLSAgICBzeXN1cGdyYWRlLnNldF91cGdyYWRlX3N0YXRlKCdkbnMnLCAnb3BlbnNzbF9l bmdpbmUnLCBUcnVlKQotKyAgICBzeXN1cGdyYWRlLnNldF91cGdyYWRlX3N0YXRlKCdkbnMnLCAn b3BlbnNzbF9wcm92aWRlcicsIFRydWUpCi0gCi0gICAgIHJldHVybiBUcnVlCi0gCi1AQCAtMTg5 Miw3ICsxODkyLDcgQEAgZGVmIHVwZ3JhZGVfY29uZmlndXJhdGlvbigpOgotICAgICAgICAgICAg ICAgICBkbnNrZXlzeW5jZC5jcmVhdGVfaW5zdGFuY2UoZnFkbiwgYXBpLmVudi5yZWFsbSkKLSAg ICAgICAgICAgICAgICAgZG5za2V5c3luY2Quc3RhcnRfZG5za2V5c3luY2QoKQotICAgICAgICAg ICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgIGlmIGRuc3NlY19zZXRfb3BlbnNzbF9lbmdpbmUo ZG5za2V5c3luY2QpOgotKyAgICAgICAgICAgICAgICBpZiBkbnNzZWNfc2V0X29wZW5zc2xfcHJv dmlkZXIoZG5za2V5c3luY2QpOgotICAgICAgICAgICAgICAgICAgICAgZG5za2V5c3luY2Quc3Rh cnRfZG5za2V5c3luY2QoKQotICAgICAgICAgICAgIGRuc2tleXN5bmNkLnNldF9keW5kYl9sZGFw X3dvcmtkaXJfcGVybWlzc2lvbnMoKQotIAotZGlmZiAtLWdpdCBhL3NlbGludXgvaXBhLmZjIGIv c2VsaW51eC9pcGEuZmMKLWluZGV4IDE1ZThlNDFhYS4uZmZhYjU5OTMzIDEwMDY0NAotLS0tIGEv c2VsaW51eC9pcGEuZmMKLSsrKyBiL3NlbGludXgvaXBhLmZjCi1AQCAtMjQsNiArMjQsOSBAQAot IAotIC92YXIvbGliL2lwYS9nc3Nwcm94eS9odHRwLmtleXRhYiAtLSBnZW5fY29udGV4dChzeXN0 ZW1fdTpvYmplY3RfcjppcGFfaHR0cF9rZXl0YWJfdCxzMCkKLSAKLSsvdmFyL2xpYi9pcGEvZG5z c2VjL3Rva2VucyAtLSBnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfZG5za2V5X3Qs czApCi0rL3Zhci9saWIvaXBhL2Ruc3NlYy9zb2Z0aHNtX3BpbiAtLSBnZW5fY29udGV4dChzeXN0 ZW1fdTpvYmplY3RfcjppcGFfZG5za2V5X3QsczApCi0rCi0gL3Zhci9sb2cvaXBhKC8uKik/ICAg ICAgICAgICAgICBnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3RfcjppcGFfbG9nX3QsczApCi0g Ci0gL3Zhci9sb2cvaXBhYmFja3VwLmxvZwktLQlnZW5fY29udGV4dChzeXN0ZW1fdTpvYmplY3Rf cjppcGFfbG9nX3QsczApCi1kaWZmIC0tZ2l0IGEvc2VsaW51eC9pcGEudGUgYi9zZWxpbnV4L2lw YS50ZQotaW5kZXggZTRjZTY2Njg3Li5jNmQ0MGIxNDggMTAwNjQ0Ci0tLS0gYS9zZWxpbnV4L2lw YS50ZQotKysrIGIvc2VsaW51eC9pcGEudGUKLUBAIC0yNjUsNiArMjY1LDEzIEBAIGNvcmVuZXRf dGNwX2JpbmRfZ2VuZXJpY19ub2RlKGlwYV9kbnNrZXlfdCkKLSBjb3JlbmV0X3RjcF9jb25uZWN0 X2tlcmJlcm9zX3BvcnQoaXBhX2Ruc2tleV90KQotIGNvcmVuZXRfdGNwX2Nvbm5lY3Rfcm5kY19w b3J0KGlwYV9kbnNrZXlfdCkKLSAKLSsjIEFsbG93IHJuZGMgdG8gYWNjZXNzIFNvZnRIU00gdG9r ZW4gaW4gSVBBIGRpcmVjdG9yeQotK2dlbl9yZXF1aXJlKGAKLSsgICAgdHlwZSBuZGNfdDsKLSsn KQotK2FsbG93IG5kY190IGlwYV9kbnNrZXlfdDpmaWxlIHsgZ2V0YXR0ciBvcGVuIHJlYWQgfTsK LSsKLSsKLSBkZXZfcmVhZF9yYW5kKGlwYV9kbnNrZXlfdCkKLSBkZXZfcmVhZF9zeXNmcyhpcGFf ZG5za2V5X3QpCi0gCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYTY2YWRmMjYxOGQ4ZDkyYjgwYzc5 NTM3YzdiY2FhZWRlYTJiZDlhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhh bmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyOSBBcHIgMjAy NSAwOTozNzo0NCArMDMwMAotU3ViamVjdDogW1BBVENIIDIyLzUzXSBmcmVlaXBhLnNwZWMuaW46 IHVwZGF0ZSBCSU5ELXJlbGF0ZWQgZGVwZW5kZW5jaWVzCi0KLUJJTkQgaW4gRmVkb3JhIDQyKyBp bmNsdWRlcyBhIGN1c3RvbSBiYWNrcG9ydCBmb3IgRE5TU0VDIHN1cHBvcnQgd2hlbgotdXNpbmcg T3BlblNTTCBwcm92aWRlciBBUEkuIE1ha2Ugc3VyZSB3ZSBoYXZlIHRoYXQgc3VwcG9ydCBpbmNs dWRlZC4KLQotRm9yIFJIRUwgMTAgd2Ugc2hvdWxkIGJlIHVzaW5nIGEgc2ltaWxhciBidWlsZCBi dXQgaXQgaXMgbm90IHlldAotYXZhaWxhYmxlLCBzbyBtYWtlIHN1cmUgd2UgaW5jbHVkZSB0aGUg dmVyc2lvbiB0aGF0IGlzIHVwIHRvIGRhdGUgcHJpb3IKLXRvIGVuYWJsaW5nIEROU1NFQyB3aXRo IE9wZW5TU0wgcHJvdmlkZXIgQVBJLiBPbmNlIG5ldyBCSU5EIGJ1aWxkIGlzCi1hdmFpbGFibGUs IHdlIGNhbiBlbmFibGUgT3BlblNTTCBwcm92aWRlciBBUEkgdXNhZ2UgaW4gaXBhcGxhdGZvcm0u cmhlbC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTY5NgotCi1T aWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJl dmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3 ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQt Qnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gZnJlZWlwYS5z cGVjLmluIHwgMjEgKysrKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDE2IGlu c2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9mcmVlaXBhLnNwZWMu aW4gYi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IDc4MDA0ZGM0Zi4uNzhiMDQ0YjAyIDEwMDc1NQot LS0tIGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9mcmVlaXBhLnNwZWMuaW4KLUBAIC05MCw3ICs5 MCwxMyBAQAotIAotICMgRml4IGZvciBUTFMgMS4zIFBIQSwgUkhCWiMxNzc1MTU4Ci0gJWdsb2Jh bCBodHRwZF92ZXJzaW9uIDIuNC4zNy0yMQotKwotKyMgRE5TU0VDIHN1cHBvcnQgd2l0aCBPcGVu U1NMIHByb3ZpZGVyIEFQSSBpbiBSSEVMIDEwCi0rJWlmIDAlez9yaGVsfSA8IDEwCi0gJWdsb2Jh bCBiaW5kX3ZlcnNpb24gOS4xMS4yMC02Ci0rJWVsc2UKLSslZ2xvYmFsIGJpbmRfdmVyc2lvbiA5 LjE4LjMzLTMKLSslZW5kaWYKLSAKLSAjIHN1cHBvcnQgZm9yIHBhc3NrZXkKLSAlZ2xvYmFsIHNz c2RfdmVyc2lvbiAyLjkuMAotQEAgLTEzOSwxMSArMTQ1LDExIEBACi0gIyBGaXggZm9yIFRMUyAx LjMgUEhBLCBSSEJaIzE3NzUxNDYKLSAlZ2xvYmFsIGh0dHBkX3ZlcnNpb24gMi40LjQxLTkKLSAK LS0jIEZpeCBmb3IgUkhCWiMyMTE3MzQyCi0tJWlmIDAlez9mZWRvcmF9IDwgMzcKLS0lZ2xvYmFs IGJpbmRfdmVyc2lvbiA5LjExLjI0LTEKLSslaWYgMCV7P2ZlZG9yYX0gPCA0MgotKyVnbG9iYWwg YmluZF92ZXJzaW9uIDMyOjkuMTguMzMtMQotICVlbHNlCi0tJWdsb2JhbCBiaW5kX3ZlcnNpb24g MzI6OS4xOC43LTEKLSsjIEJJTkQgdmVyc2lvbiB3aXRoIGJhY2twb3J0IG9mIEROU1NFQyBzdXBw b3J0IG92ZXIgT3BlblNTTCBwcm92aWRlciBBUEkKLSslZ2xvYmFsIGJpbmRfdmVyc2lvbiAzMjo5 LjE4LjM1LTIKLSAlZW5kaWYKLSAjIERvbid0IHVzZSBGZWRvcmEncyBQeXRob24gZGVwZW5kZW5j eSBnZW5lcmF0b3Igb24gRmVkb3JhIDMwL3Jhd2hpZGUgeWV0LgotICMgU29tZSBwYWNrYWdlcyBk b24ndCBwcm92aWRlIG5ldyBkaXN0IGFsaWFzZXMuCi1AQCAtNjI2LDcgKzYzMiwxMiBAQCBJZiB5 b3UgYXJlIGluc3RhbGxpbmcgYW4gSVBBIHNlcnZlciwgeW91IG5lZWQgdG8gaW5zdGFsbCB0aGlz IHBhY2thZ2UuCi0gU3VtbWFyeTogSVBBIGludGVncmF0ZWQgRE5TIHNlcnZlciB3aXRoIHN1cHBv cnQgZm9yIGF1dG9tYXRpYyBETlNTRUMgc2lnbmluZwotIEJ1aWxkQXJjaDogbm9hcmNoCi0gUmVx dWlyZXM6ICV7bmFtZX0tc2VydmVyID0gJXt2ZXJzaW9ufS0le3JlbGVhc2V9Ci0tUmVxdWlyZXM6 IGJpbmQtZHluZGItbGRhcCA+PSAxMS4yLTIKLSsjIEJvdGggRmVkb3JhIDQyKyBhbmQgUkhFTCBz dXBwb3J0IG5ld2VyIGJpbmQtZHluZGItbGRhcCAxMS4xMQotKyVpZiAwJXs/ZmVkb3JhfSA8IDQy Ci0rUmVxdWlyZXM6IGJpbmQtZHluZGItbGRhcCA+PSAxMS4xMC0zMwotKyVlbHNlCi0rUmVxdWly ZXM6IGJpbmQtZHluZGItbGRhcCA+PSAxMS4xMQotKyVlbmRpZgotIFJlcXVpcmVzOiBiaW5kID49 ICV7YmluZF92ZXJzaW9ufQotIFJlcXVpcmVzOiBiaW5kLXV0aWxzID49ICV7YmluZF92ZXJzaW9u fQotICMgYmluZC1kbnNzZWMtdXRpbHMgaXMgcmVxdWlyZWQgYnkgdGhlIE9wZW5ETlNTZWMgaW50 ZWdyYXRpb24KLS0tIAotMi40OS4wCi0KLQotRnJvbSAxMzMzMmJlNTkzMWIyNDkyYjE5MTIxYzA4 M2FiMGUzN2FhMWFlODhmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDUgTWF5IDIwMjUgMTE6 MTg6NTkgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAyMy81M10gZnJlZWlwYS5zcGVjLmluOiBkbyBu b3QgcmVjb21tZW5kIGVuY3J5cHRlZCBETlMgb24KLSBwcmUtRjQyIHN5c3RlbXMKLQotRmVkb3Jh IDQxIG9yIGVhcmxpZXIgZG8gbm90IGhhdmUgaW5mcmFzdHJ1Y3R1cmUgdG8gcnVuIGVuY3J5cHRl ZCBETlMKLXNlcnZlciBzaWRlLgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8 YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3Zv eUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRo YXQuY29tPgotLS0tCi0gZnJlZWlwYS5zcGVjLmluIHwgNCArKysrCi0gMSBmaWxlIGNoYW5nZWQs IDQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvZnJlZWlwYS5zcGVjLmluIGIvZnJlZWlw YS5zcGVjLmluCi1pbmRleCA3OGIwNDRiMDIuLmNjYjM3ZmYwYSAxMDA3NTUKLS0tLSBhL2ZyZWVp cGEuc3BlYy5pbgotKysrIGIvZnJlZWlwYS5zcGVjLmluCi1AQCAtNjUyLDcgKzY1Miw5IEBAIFJl cXVpcmVzOiAle29wZW5zc2xfcGtjczExX25hbWV9ID49ICV7b3BlbnNzbF9wa2NzMTFfdmVyc2lv bn0KLSAjIFNlZSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE4 MjU4MTIKLSAjIFJIRUwgOC4zKyBhbmQgRmVkb3JhIDMyKyBoYXZlIDIuMQotIFJlcXVpcmVzOiBv cGVuZG5zc2VjID49IDIuMS42LTUKLSslaWYgMCV7P2ZlZG9yYX0gPj0gNDIgfHwgMCV7P3JoZWx9 ID4gOQotIFJlY29tbWVuZHM6ICV7bmFtZX0tc2VydmVyLWVuY3J5cHRlZC1kbnMKLSslZW5kaWYK LSAlez9zeXN0ZW1kX3JlcXVpcmVzfQotIAotIFByb3ZpZGVzOiAle2FsdF9uYW1lfS1zZXJ2ZXIt ZG5zID0gJXt2ZXJzaW9ufQotQEAgLTY3MCw2ICs2NzIsOCBAQCBJbnRlZ3JhdGVkIEROUyBzZXJ2 ZXIgaXMgQklORCA5LiBPcGVuRE5TU0VDIHByb3ZpZGVzIGtleSBtYW5hZ2VtZW50LgotICVwYWNr YWdlIHNlcnZlci1lbmNyeXB0ZWQtZG5zCi0gU3VtbWFyeTogc3VwcG9ydCBmb3IgZW5jcnlwdGVk IEROUyBpbiBJUEEgaW50ZWdyYXRlZCBETlMgc2VydmVyCi0gUmVxdWlyZXM6ICV7bmFtZX0tY2xp ZW50LWVuY3J5cHRlZC1kbnMKLSsjIFdpbGwgbmVlZCBuZXdlciBiaW5kLWR5bmRiLWxkYXAgdG8g YWxsb3cgdXNlIG9mIE9wZW5TU0wgcHJvdmlkZXIgQVBJCi0rUmVxdWlyZXM6IGJpbmQtZHluZGIt bGRhcCA+PSAxMS4xMQotIAotICVkZXNjcmlwdGlvbiBzZXJ2ZXItZW5jcnlwdGVkLWRucwotIFBy b3ZpZGVzIHN1cHBvcnQgZm9yIGVuYWJsaW5nIEROUyBvdmVyIFRMUyBpbiB0aGUgSVBBIGludGVn cmF0ZWQgRE5TCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gZWVlYzU3OTQyYTM4ZGZmNjM3YWVjOGYz MDA5OWU2ZGY0MzczYjkzNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNCBOb3YgMjAyNCAxMDoz Njo0MSAtMDUwMAotU3ViamVjdDogW1BBVENIIDI0LzUzXSBBenVyZSBDSTogVXNlIEY0MgotCi1S ZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmll d2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2Vk LUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3Rz L2F6dXJlL0RvY2tlcmZpbGVzL0RvY2tlcmZpbGUuYnVpbGQuZmVkb3JhICB8IDMgKystCi0gaXBh dGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5yYXdoaWRlIHwgMSArCi0g aXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxlcy1mZWRvcmEueW1sICAgICAgIHwgMiAr LQotIDMgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5m ZWRvcmEgYi9pcGF0ZXN0cy9henVyZS9Eb2NrZXJmaWxlcy9Eb2NrZXJmaWxlLmJ1aWxkLmZlZG9y YQotaW5kZXggM2QyOTI2MTQwLi42MzcyZTgwNmUgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9henVy ZS9Eb2NrZXJmaWxlcy9Eb2NrZXJmaWxlLmJ1aWxkLmZlZG9yYQotKysrIGIvaXBhdGVzdHMvYXp1 cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5mZWRvcmEKLUBAIC0xLDQgKzEsNCBAQAot LUZST00gcmVnaXN0cnkuZmVkb3JhcHJvamVjdC5vcmcvZmVkb3JhLXRvb2xib3g6NDAKLStGUk9N IHJlZ2lzdHJ5LmZlZG9yYXByb2plY3Qub3JnL2ZlZG9yYS10b29sYm94OjQyCi0gTUFJTlRBSU5F UiBbRnJlZUlQQSBEZXZlbG9wZXJzIGZyZWVpcGEtZGV2ZWxAbGlzdHMuZmVkb3JhaG9zdGVkLm9y Z10KLSBFTlYgY29udGFpbmVyPWRvY2tlciBMQU5HPWVuX1VTLnV0ZjggTEFOR1VBR0U9ZW5fVVMu dXRmOCBMQ19BTEw9ZW5fVVMudXRmOAotIAotQEAgLTIyLDYgKzIyLDcgQEAgUlVOIGVjaG8gJ2Rl bHRhcnBtID0gZmFsc2UnID4+IC9ldGMvZG5mL2RuZi5jb25mIFwKLSAgICAgJiYgZG5mIGNsZWFu IGFsbCAmJiBybSAtcmYgL3Jvb3QvcnBtcyAvcm9vdC9zcnBtcyBcCi0gICAgICYmIHNlZCAtaSAn cy8uKlBlcm1pdFJvb3RMb2dpbiAuKi8jJi9nJyAvZXRjL3NzaC9zc2hkX2NvbmZpZyBcCi0gICAg ICYmIGVjaG8gJ1Blcm1pdFJvb3RMb2dpbiB5ZXMnID4+IC9ldGMvc3NoL3NzaGRfY29uZmlnIFwK LSsgICAgJiYgc2VkIC1pIC1lICdzQF5cKHNlc3Npb24uKnJlcXVpcmVkLipwYW1fbG9naW51aWRc KUAjXDFAJyAvZXRjL3BhbS5kL3NzaGQgXAotICAgICAmJiBzeXN0ZW1jdGwgZW5hYmxlIHNzaGQg XAotICAgICAmJiBmb3IgaSBpbiAvdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbS8qLWRvbWFpbm5hbWUu c2VydmljZTsgXAotICAgICBkbyBzZWQgLWkgJ3MjXkV4ZWNTdGFydD0vI0V4ZWNTdGFydD0tLyMn ICRpIDsgZG9uZSBcCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9j a2VyZmlsZS5idWlsZC5yYXdoaWRlIGIvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2Vy ZmlsZS5idWlsZC5yYXdoaWRlCi1pbmRleCA1NzVhZDEwYjIuLmYzOWNiODVjYiAxMDA2NDQKLS0t LSBhL2lwYXRlc3RzL2F6dXJlL0RvY2tlcmZpbGVzL0RvY2tlcmZpbGUuYnVpbGQucmF3aGlkZQot KysrIGIvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5yYXdoaWRl Ci1AQCAtMjMsNiArMjMsNyBAQCBSVU4gZWNobyAnZGVsdGFycG0gPSBmYWxzZScgPj4gL2V0Yy9k bmYvZG5mLmNvbmYgXAotICAgICAmJiBkbmYgY2xlYW4gYWxsICYmIHJtIC1yZiAvcm9vdC9ycG1z IC9yb290L3NycG1zIFwKLSAgICAgJiYgc2VkIC1pICdzLy4qUGVybWl0Um9vdExvZ2luIC4qLyMm L2cnIC9ldGMvc3NoL3NzaGRfY29uZmlnIFwKLSAgICAgJiYgZWNobyAnUGVybWl0Um9vdExvZ2lu IHllcycgPj4gL2V0Yy9zc2gvc3NoZF9jb25maWcgXAotKyAgICAmJiBzZWQgLWkgLWUgJ3NAXlwo c2Vzc2lvbi4qcmVxdWlyZWQuKnBhbV9sb2dpbnVpZFwpQCNcMUAnIC9ldGMvcGFtLmQvc3NoZCBc Ci0gICAgICYmIHN5c3RlbWN0bCBlbmFibGUgc3NoZCBcCi0gICAgICYmIGZvciBpIGluIC91c3Iv bGliL3N5c3RlbWQvc3lzdGVtLyotZG9tYWlubmFtZS5zZXJ2aWNlOyBcCi0gICAgIGRvIHNlZCAt aSAncyNeRXhlY1N0YXJ0PS8jRXhlY1N0YXJ0PS0vIycgJGkgOyBkb25lIFwKLWRpZmYgLS1naXQg YS9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFibGVzLWZlZG9yYS55bWwgYi9pcGF0ZXN0 cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFibGVzLWZlZG9yYS55bWwKLWluZGV4IGZhZmE5YTA3My4u ZjRmOTY0MzhiIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ZhcmlhYmxl cy1mZWRvcmEueW1sCi0rKysgYi9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvdmFyaWFibGVzLWZl ZG9yYS55bWwKLUBAIC0xLDcgKzEsNyBAQAotIHZhcmlhYmxlczoKLSAgIElQQV9QTEFURk9STTog ZmVkb3JhCi0gICAjIHRoZSBEb2NrZXIgcHVibGljIGltYWdlIHRvIGJ1aWxkIElQQSBwYWNrYWdl cyAocnBtcykKLS0gIERPQ0tFUl9CVUlMRF9JTUFHRTogJ3JlZ2lzdHJ5LmZlZG9yYXByb2plY3Qu b3JnL2ZlZG9yYS10b29sYm94OjQwJwotKyAgRE9DS0VSX0JVSUxEX0lNQUdFOiAncmVnaXN0cnku ZmVkb3JhcHJvamVjdC5vcmcvZmVkb3JhLXRvb2xib3g6NDInCi0gCi0gICAjIHRoZSBEb2NrZXJm aWxlIHRvIGJ1aWxkIERvY2tlciBpbWFnZSBmb3IgcnVubmluZyBJUEEgdGVzdHMKLSAgIERPQ0tF Ul9ET0NLRVJGSUxFOiAke3sgZm9ybWF0KCdEb2NrZXJmaWxlLmJ1aWxkLnswfScsIHZhcmlhYmxl cy5JUEFfUExBVEZPUk0pIH19Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gNjkxNTZjYmViNGYwOTZi NWY2MzY3NGMzZjIwYjgwNTRmZjRjZjk5MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206 IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxNCBOb3Yg MjAyNCAxMTowNToyOSAtMDUwMAotU3ViamVjdDogW1BBVENIIDI1LzUzXSBNYWtlIHRoZSBBenVy ZSB0ZW1wbGF0ZSB3b3JrIHdpdGggYm90aCBkbmY0IGFuZCBkbmY1Ci0KLUFkZCBhIHZlcnNpb24g dGVzdCB0byBjYWxsIGRuZiBidWlsZGRlcCBkaWZmZXJlbnRseSBiYXNlZCBvbgotcmVsZWFzZS4K LQotUmVtb3ZlIC0tc2tpcC1icm9rZW4gd2hlbiBjYWxsaW5nIGRuZiBidWlsZGRlcC4gVGhpcyB3 YXMgYW4KLW9sZCB3b3JrYXJvdW5kIGZyb20gMjAxOS4gIFRoZSBvcHRpb24gaXMgbm8gbG9uZ2Vy IHN1cHBvcnRlZAotd2l0aCBkbmY1LiBGaXJzdCBzZWVuIGluIEY0MS4gRHJvcCBpbiBhbGwgY2Fs bHMuCi0KLWRuZjUgZG9lc24ndCB0YWtlIGEgLS1zcGVjIG9wdGlvbi4gSXQgaGFzIHRvIGJlIHBh c3NlZCBhIHNwZWMgZmlsZS4KLVNvIGluIHRoYXQgY2FzZSBjb3B5IGZyZWVpcGEuc3BlYy5pbiB0 byBmcmVlaXBhLnNwZWMgYW5kIGNhbGwuCi0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVu IDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1 ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJl ZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS1idWlsZC1m ZWRvcmEueW1sIHwgMTAgKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRl cy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55bWwgYi9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJl cGFyZS1idWlsZC1mZWRvcmEueW1sCi1pbmRleCAzYTc0ZDdmMmEuLjY2YTQ3MjY2YiAxMDA2NDQK LS0tLSBhL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55bWwK LSsrKyBiL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9wcmVwYXJlLWJ1aWxkLWZlZG9yYS55bWwK LUBAIC0yNiw1ICsyNiwxMyBAQCBzdGVwczoKLSAKLSAgICAgZWNobyAiSW5zdGFsbGluZyBGcmVl SVBBIGRldmVsb3BtZW50IGRlcGVuZGVuY2llcyIKLSAgICAgc3VkbyBkbmYgYnVpbGRkZXAgLXkg ZnJlZWlwYQotLSAgICBzdWRvIGRuZiBidWlsZGRlcCAteSAtLXNraXAtYnJva2VuIC1EICJ3aXRo X3doZWVscyAxIiAtRCAid2l0aF9saW50IDEiIC1EICJ3aXRoX2RvYyAxIiAtLXNwZWMgZnJlZWlw YS5zcGVjLmluIC0tYmVzdCAtLWFsbG93ZXJhc2luZyAtLXNldG9wdD1pbnN0YWxsX3dlYWtfZGVw cz1GYWxzZQotKyAgICB2ZXJzaW9uPSQoZ3JlcCBWRVJTSU9OX0lEIC9ldGMvb3MtcmVsZWFzZSB8 Y3V0IC1kPSAtZjIpCi0rICAgIGlmIFsgJHZlcnNpb24gLWdlIDQxIF07IHRoZW4KLSsgICAgICAg IGNwIGZyZWVpcGEuc3BlYy5pbiBmcmVlaXBhLnNwZWMKLSsgICAgICAgIHN1ZG8gZG5mIGJ1aWxk ZGVwIC15IC1EICJ3aXRoX3doZWVscyAxIiAtRCAid2l0aF9saW50IDEiIC1EICJ3aXRoX2RvYyAx IiAtLWJlc3QgLS1hbGxvd2VyYXNpbmcgLS1zZXRvcHQ9aW5zdGFsbF93ZWFrX2RlcHM9RmFsc2Ug ZnJlZWlwYS5zcGVjCi0rICAgICAgICBybSAtZiBmcmVlaXBhLnNwZWMKLSsgICAgZWxzZQotKyAg ICAgICAgc3VkbyBkbmYgYnVpbGRkZXAgLXkgLUQgIndpdGhfd2hlZWxzIDEiIC1EICJ3aXRoX2xp bnQgMSIgLUQgIndpdGhfZG9jIDEiIC0tc3BlYyBmcmVlaXBhLnNwZWMuaW4gLS1iZXN0IC0tYWxs b3dlcmFzaW5nIC0tc2V0b3B0PWluc3RhbGxfd2Vha19kZXBzPUZhbHNlCi0rICAgIGZpCi0rCi0g ICBkaXNwbGF5TmFtZTogUHJlcGFyZSBidWlsZCBlbnZpcm9ubWVudAotLS0gCi0yLjQ5LjAKLQot Ci1Gcm9tIDZhOTlkNzVmMjU1N2Y0ZDVhZDU2OTNiM2M2M2Q1N2EyMmFmMmJmMWYgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNv bT4KLURhdGU6IFRodSwgMTQgTm92IDIwMjQgMTI6MTI6MDAgLTA1MDAKLVN1YmplY3Q6IFtQQVRD SCAyNi81M10gVGVzdDogZG5mNSBoYW5kbGVzIHVwZGF0aW5nIGl0c2VsZiBkaWZmZXJlbnRseSB0 aGFuCi0gZG5mNAotCi1JZiB0aGVyZSBhcmUgbm8gdXBkYXRlcyB0aGVuIGRuZiB1cGRhdGUgZG5m IHdpbGwgZmFpbCB3aXRoIGEgcmV0dXJuCi1jb2RlIG9mIDEuCi0KLWh0dHBzOi8vZ2l0aHViLmNv bS9ycG0tc29mdHdhcmUtbWFuYWdlbWVudC9kbmY1L2lzc3Vlcy8xODYyCi0KLVJldmlld2VkLUJ5 OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBD cml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvYXp1cmUvRG9j a2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5mZWRvcmEgfCAxIC0KLSAxIGZpbGUgY2hhbmdlZCwg MSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMv RG9ja2VyZmlsZS5idWlsZC5mZWRvcmEgYi9pcGF0ZXN0cy9henVyZS9Eb2NrZXJmaWxlcy9Eb2Nr ZXJmaWxlLmJ1aWxkLmZlZG9yYQotaW5kZXggNjM3MmU4MDZlLi43ZGEzNmIxZTEgMTAwNjQ0Ci0t LS0gYS9pcGF0ZXN0cy9henVyZS9Eb2NrZXJmaWxlcy9Eb2NrZXJmaWxlLmJ1aWxkLmZlZG9yYQot KysrIGIvaXBhdGVzdHMvYXp1cmUvRG9ja2VyZmlsZXMvRG9ja2VyZmlsZS5idWlsZC5mZWRvcmEK LUBAIC00LDcgKzQsNiBAQCBFTlYgY29udGFpbmVyPWRvY2tlciBMQU5HPWVuX1VTLnV0ZjggTEFO R1VBR0U9ZW5fVVMudXRmOCBMQ19BTEw9ZW5fVVMudXRmOAotIAotIEFERCBkaXN0IC9yb290Ci0g UlVOIGVjaG8gJ2RlbHRhcnBtID0gZmFsc2UnID4+IC9ldGMvZG5mL2RuZi5jb25mIFwKLS0gICAg JiYgZG5mIHVwZGF0ZSAteSBkbmYgXAotICAgICAmJiBkbmYgdXBkYXRlIC15IHB5dGhvbjMgXAot ICAgICAmJiAoc2VkIC1pICdzLyVfaW5zdGFsbF9sYW5ncyBcKC4qXCkvXDA6ZnIvZycgL2V0Yy9y cG0vbWFjcm9zLmltYWdlLWxhbmd1YWdlLWNvbmYgfHw6KSBcCi0gICAgICYmIGRuZiBpbnN0YWxs IC15IHN5c3RlbWQgXAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDlkOTFkMzhiMTRhNWIyNGU0ZDE0 MWMwYmI5MjVlOTcwOGIwMDBkYmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4 YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMTUgTm92IDIw MjQgMDg6NDU6MTQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyNy81M10gTW92ZSB3aGVlbCBjb25z dHJhaW50cyB0byBGNDErCi0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9r b3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8Zmxv QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5j b20+Ci0tLS0KLSAud2hlZWxjb25zdHJhaW50cy5pbiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCA0ICsrLS0KLSBpcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS1saW50LWZlZG9y YS55bWwgfCA4ICsrKysrKystCi0gcHlsaW50cmMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgNSArKysrLQotIDMgZmlsZXMgY2hhbmdlZCwgMTMgaW5zZXJ0aW9ucygr KSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhLy53aGVlbGNvbnN0cmFpbnRzLmluIGIv LndoZWVsY29uc3RyYWludHMuaW4KLWluZGV4IGNkOTU2MTlkNC4uM2U3NWE2NzE1IDEwMDY0NAot LS0tIGEvLndoZWVsY29uc3RyYWludHMuaW4KLSsrKyBiLy53aGVlbGNvbnN0cmFpbnRzLmluCi1A QCAtMTAsNSArMTAsNSBAQCBpcGFzZXJ2ZXIgPT0gQFZFUlNJT05ACi0gaXBhdGVzdHMgPT0gQFZF UlNJT05ACi0gCi0gIyBrZWVwIHB5bGludCB2ZXJzaW9uIGluIHN5bmMgd2l0aCBjdXJyZW50IEZl ZG9yYSByZWxlYXNlCi0tIyBGMzkgaGFzIDMuMC4yNQotLXB5bGludCB+PSAzLjAuMgotKyMgRjQx IGhhcyAzLjMuMQotK3B5bGludCB+PSAzLjMuMQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL2F6dXJl L3RlbXBsYXRlcy9wcmVwYXJlLWxpbnQtZmVkb3JhLnltbCBiL2lwYXRlc3RzL2F6dXJlL3RlbXBs YXRlcy9wcmVwYXJlLWxpbnQtZmVkb3JhLnltbAotaW5kZXggYzM1NzMzMTU2Li45Yjc2YjExNzcg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS1saW50LWZlZG9y YS55bWwKLSsrKyBiL2lwYXRlc3RzL2F6dXJlL3RlbXBsYXRlcy9wcmVwYXJlLWxpbnQtZmVkb3Jh LnltbAotQEAgLTEsNiArMSwxMiBAQAotIHN0ZXBzOgotIC0gc2NyaXB0OiB8Ci0gICAgIHNldCAt ZQotKyAgICBJUEFfVkVSU0lPTj0kKGVjaG8gLWUgImluY2x1ZGUoVkVSU0lPTi5tNClcbklQQV9W RVJTSU9OIiB8IG00IC0gfCB0YWlsIC0xKQotKyAgICBleHBvcnQgSVBBX1ZFUlNJT04KLSsgICAg ZWNobyAiSVBBIHZlcnNpb246ICR7SVBBX1ZFUlNJT059IgotKyAgICBjcCAud2hlZWxjb25zdHJh aW50cy5pbiAud2hlZWxjb25zdHJhaW50cwotKyAgICBzZWQgLWkgLWUgInMsQFZFUlNJT05ALCR7 SVBBX1ZFUlNJT059LGciIC53aGVlbGNvbnN0cmFpbnRzCi0gICAgIHN1ZG8gZG5mIC15IGluc3Rh bGwgcHl0aG9uMy1waXAKLS0gICAgcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtLXVzZXIgLS1jb25z dHJhaW50IC53aGVlbGNvbnN0cmFpbnRzLmluIC0taWdub3JlLWluc3RhbGxlZCBweWxpbnQKLSsg ICAgcHl0aG9uMyAtbSBwaXAgaW5zdGFsbCAtLXVzZXIgLS1jb25zdHJhaW50IC53aGVlbGNvbnN0 cmFpbnRzIC0taWdub3JlLWluc3RhbGxlZCBweWxpbnQKLSsgICAgcm0gLWYgLndoZWVsY29uc3Ry YWludHMKLSAgIGRpc3BsYXlOYW1lOiBJbnN0YWxsIExpbnQgZGVwZW5kZW5jaWVzCi1kaWZmIC0t Z2l0IGEvcHlsaW50cmMgYi9weWxpbnRyYwotaW5kZXggOGZhZGVmZmJkLi45MDA2YzM4NjkgMTAw NjQ0Ci0tLS0gYS9weWxpbnRyYwotKysrIGIvcHlsaW50cmMKLUBAIC01MCw2ICs1MCw3IEBAIGRp c2FibGU9Ci0gICAgIHRvby1tYW55LWluc3RhbmNlLWF0dHJpYnV0ZXMsCi0gICAgIHRvby1tYW55 LWxvY2FscywKLSAgICAgdG9vLW1hbnktbmVzdGVkLWJsb2NrcywKLSsgICAgdG9vLW1hbnktcG9z aXRpb25hbC1hcmd1bWVudHMsCi0gICAgIHRvby1tYW55LXB1YmxpYy1tZXRob2RzLAotICAgICB0 b28tbWFueS1yZXR1cm4tc3RhdGVtZW50cywKLSAgICAgdG9vLW1hbnktc3RhdGVtZW50cywKLUBA IC0xMjMsNiArMTI0LDkgQEAgZGlzYWJsZT0KLSAgICAgdXNlLWltcGxpY2l0LWJvb2xlYW5lc3Mt bm90LWNvbXBhcmlzb24tdG8tc3RyaW5nLAotICAgICB1c2UtaW1wbGljaXQtYm9vbGVhbmVzcy1u b3QtY29tcGFyaXNvbi10by16ZXJvLAotICAgICBicm9hZC1leGNlcHRpb24tcmFpc2VkLAotKyAg ICBwb3NzaWJseS11c2VkLWJlZm9yZS1hc3NpZ25tZW50LAotKyAgICB1c2UteWllbGQtZnJvbQot KyAgICAKLSAKLSBbUkVQT1JUU10KLSAKLUBAIC0xNDIsNyArMTQ2LDYgQEAgbXNnLXRlbXBsYXRl PSd7cGF0aH06e2xpbmV9OiBbe21zZ19pZH0oe3N5bWJvbH0pLCB7b2JqfV0ge21zZ30pJwotIFtW QVJJQUJMRVNdCi0gZHVtbXktdmFyaWFibGVzLXJneD0oXy4rfHVudXNlZCkKLSAKLS0KLSBbSVBB XQotIGZvcmJpZGRlbi1pbXBvcnRzPQotICAgICBjbGllbnQvOmlwYXNlcnZlciwKLS0tIAotMi40 OS4wCi0KLQotRnJvbSA2NmRmMTgxMmQyZDM5M2IxMjNmNjYyZTJhNzI2NjI0YmQ1MmQyZTM5IE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95 QHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDE1IE5vdiAyMDI0IDEwOjU4OjQwICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggMjgvNTNdIGZpeCB1c2VkLWJlZm9yZS1hc3NpZ25tZW50IGVycm9ycyB3aGVy ZSBweWxpbnQgY2Fubm90Ci0gaW5mZXIgbG9naWMKLQotaW5zdGFsbC90b29scy9pcGEtY3NyZXBs aWNhLW1hbmFnZTo0NzE6IFtFMDYwMSh1c2VkLWJlZm9yZS1hc3NpZ25tZW50KSwgbWFpbl0gVXNp bmcgdmFyaWFibGUgJ3JlcGxpY2ExJyBiZWZvcmUgYXNzaWdubWVudCkKLWluc3RhbGwvdG9vbHMv aXBhLWNzcmVwbGljYS1tYW5hZ2U6NDcxOiBbRTA2MDEodXNlZC1iZWZvcmUtYXNzaWdubWVudCks IG1haW5dIFVzaW5nIHZhcmlhYmxlICdyZXBsaWNhMicgYmVmb3JlIGFzc2lnbm1lbnQpCi0KLWlu c3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlOjE1OTg6IFtFMDYwMSh1c2VkLWJlZm9yZS1h c3NpZ25tZW50KSwgbWFpbl0gVXNpbmcgdmFyaWFibGUgJ3JlcGxpY2ExJyBiZWZvcmUgYXNzaWdu bWVudCkKLWluc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlOjE1OTg6IFtFMDYwMSh1c2Vk LWJlZm9yZS1hc3NpZ25tZW50KSwgbWFpbl0gVXNpbmcgdmFyaWFibGUgJ3JlcGxpY2EyJyBiZWZv cmUgYXNzaWdubWVudCkKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9A cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVk aGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNv bT4KLS0tLQotIGluc3RhbGwvdG9vbHMvaXBhLWNzcmVwbGljYS1tYW5hZ2UuaW4gfCAxICsKLSBp bnN0YWxsL3Rvb2xzL2lwYS1yZXBsaWNhLW1hbmFnZS5pbiAgIHwgMSArCi0gMiBmaWxlcyBjaGFu Z2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLWNz cmVwbGljYS1tYW5hZ2UuaW4gYi9pbnN0YWxsL3Rvb2xzL2lwYS1jc3JlcGxpY2EtbWFuYWdlLmlu Ci1pbmRleCAyZmFiMjdhOTQuLjhmNGRhZWM4OCAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMv aXBhLWNzcmVwbGljYS1tYW5hZ2UuaW4KLSsrKyBiL2luc3RhbGwvdG9vbHMvaXBhLWNzcmVwbGlj YS1tYW5hZ2UuaW4KLUBAIC00MDIsNiArNDAyLDcgQEAgZGVmIGV4aXRfb25fbWFuYWdlZF90b3Bv bG9neSh3aGF0LCBoaW50PSJ0b3BvbG9neXNlZ21lbnQiKToKLSAKLSAKLSBkZWYgbWFpbigpOgot KyAgICByZXBsaWNhID0gcmVwbGljYTEgPSByZXBsaWNhMiA9IE5vbmUKLSAgICAgaW5zdGFsbHV0 aWxzLmNoZWNrX3NlcnZlcl9jb25maWd1cmF0aW9uKCkKLSAgICAgb3B0aW9ucywgYXJncyA9IHBh cnNlX29wdGlvbnMoKQotIAotZGlmZiAtLWdpdCBhL2luc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2Et bWFuYWdlLmluIGIvaW5zdGFsbC90b29scy9pcGEtcmVwbGljYS1tYW5hZ2UuaW4KLWluZGV4IGM4 YWI3NGE4MC4uZDU2NTI2YmMwIDEwMDY0NAotLS0tIGEvaW5zdGFsbC90b29scy9pcGEtcmVwbGlj YS1tYW5hZ2UuaW4KLSsrKyBiL2luc3RhbGwvdG9vbHMvaXBhLXJlcGxpY2EtbWFuYWdlLmluCi1A QCAtMTUzMyw2ICsxNTMzLDcgQEAgZGVmIGV4aXRfb25fbWFuYWdlZF90b3BvbG9neSh3aGF0KToK LSAgICAgICAgICAgICAgInRoZSB0b3BvbG9neS4iLmZvcm1hdCh3aGF0KSkKLSAKLSBkZWYgbWFp bihvcHRpb25zLCBhcmdzKToKLSsgICAgcmVwbGljYSA9IHJlcGxpY2ExID0gcmVwbGljYTIgPSBO b25lCi0gICAgIGlmIG9zLmdldGVnaWQoKSA9PSAwOgotICAgICAgICAgaW5zdGFsbHV0aWxzLmNo ZWNrX3NlcnZlcl9jb25maWd1cmF0aW9uKCkKLSAgICAgZWxpZiBub3Qgb3MucGF0aC5leGlzdHMo cGF0aHMuSVBBX0RFRkFVTFRfQ09ORik6Ci0tLSAKLTIuNDkuMAotCi0KLUZyb20gN2E4ZjNiODI2 MDJmZGE3MTZjZTc1MTAyMTJkNmFiODc2YzFiNzg5YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogRnJp LCAxNSBOb3YgMjAyNCAxNDowMTowMSArMDIwMAotU3ViamVjdDogW1BBVENIIDI5LzUzXSBweWxp bnQ6IGRvIG5vdCB1c2UgcmV0dXJuIGF0IHRoZSBlbmQgb2YgZmxvdwotCi1weWxpbnQgMy4zKyBj b25zaWRlcnMgdGhlIGxhc3QgJ3JldHVybicgaW4gdGhlIGZsb3cgJ3VzZWxlc3MnOgotCi1jb250 cmliL3BlcmZsb2c6ODk6IFtSMTcxMSh1c2VsZXNzLXJldHVybiksIHBhcnNlbG9nLmRpc3BsYXlf dGltZXNdIFVzZWxlc3MgcmV0dXJuIGF0IGVuZCBvZiBmdW5jdGlvbiBvciBtZXRob2QpCi1pcGF0 ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5OjEzNDI6IFtSMTcxMSh1c2VsZXNz LXJldHVybiksIHR3b19jb25uZWN0ZWRfdG9wb10gVXNlbGVzcyByZXR1cm4gYXQgZW5kIG9mIGZ1 bmN0aW9uIG9yIG1ldGhvZCkKLWlwYXNlcnZlci9wbHVnaW5zL2Jhc2VsZGFwLnB5OjU3NTogW1Ix NzExKHVzZWxlc3MtcmV0dXJuKSwgaG9zdF9pc19tYXN0ZXJdIFVzZWxlc3MgcmV0dXJuIGF0IGVu ZCBvZiBmdW5jdGlvbiBvciBtZXRob2QpCi1pcGFzZXJ2ZXIvaW5zdGFsbC9yZXBsaWNhdGlvbi5w eToxNDI1OiBbUjE3MTEodXNlbGVzcy1yZXR1cm4pLCBSZXBsaWNhdGlvbk1hbmFnZXIuaW5pdGlh bGl6ZV9yZXBsaWNhdGlvbl0gVXNlbGVzcyByZXR1cm4gYXQgZW5kIG9mIGZ1bmN0aW9uIG9yIG1l dGhvZCkKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQot IGNvbnRyaWIvcGVyZmxvZyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAxIC0KLSBpcGFzZXJ2 ZXIvaW5zdGFsbC9yZXBsaWNhdGlvbi5weSAgICAgICAgIHwgMiArLQotIGlwYXNlcnZlci9wbHVn aW5zL2Jhc2VsZGFwLnB5ICAgICAgICAgICAgfCAyICstCi0gaXBhdGVzdHMvcHl0ZXN0X2lwYS9p bnRlZ3JhdGlvbi90YXNrcy5weSB8IDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDMgaW5zZXJ0aW9u cygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGVyZmxvZyBiL2Nv bnRyaWIvcGVyZmxvZwotaW5kZXggODM3ZDdmZWI0Li5jNGVhMDk1ZWYgMTAwNjQ0Ci0tLS0gYS9j b250cmliL3BlcmZsb2cKLSsrKyBiL2NvbnRyaWIvcGVyZmxvZwotQEAgLTEwOCw3ICsxMDgsNiBA QCBjbGFzcyBwYXJzZWxvZyhhZG1pbnRvb2wuQWRtaW5Ub29sKToKLSAgICAgICAgICAgICBvdXRw dXQgPSBUcnVlCi0gICAgICAgICBpZiBub3Qgb3V0cHV0OgotICAgICAgICAgICAgIHByaW50KGYn IE5vIHtlbXB0eX0gZm91bmQnKQotLSAgICAgICAgICAgIHJldHVybgotIAotICAgICBkZWYgcnVu KHNlbGYpOgotICAgICAgICAgc3VwZXIocGFyc2Vsb2csIHNlbGYpLnJ1bigpCi1kaWZmIC0tZ2l0 IGEvaXBhc2VydmVyL2luc3RhbGwvcmVwbGljYXRpb24ucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9y ZXBsaWNhdGlvbi5weQotaW5kZXggOWQ5YWExYzRiLi42ZDA3ZWRmOGUgMTAwNjQ0Ci0tLS0gYS9p cGFzZXJ2ZXIvaW5zdGFsbC9yZXBsaWNhdGlvbi5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwv cmVwbGljYXRpb24ucHkKLUBAIC0xNDI4LDcgKzE0MjgsNyBAQCBjbGFzcyBSZXBsaWNhdGlvbk1h bmFnZXI6Ci0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgY29ubi5tb2RpZnlfcyhkbiwgbW9k KQotICAgICAgICAgZXhjZXB0IGxkYXAuQUxSRUFEWV9FWElTVFM6Ci0tICAgICAgICAgICAgcmV0 dXJuCi0rICAgICAgICAgICAgcGFzcwotIAotICAgICBkZWYgZm9yY2Vfc3luYyhzZWxmLCBjb25u LCBob3N0bmFtZSk6Ci0gCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAu cHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weQotaW5kZXggZTVmYzc3MzE4Li5jOTkx ZDg0ZWEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNlbGRhcC5weQotKysrIGIv aXBhc2VydmVyL3BsdWdpbnMvYmFzZWxkYXAucHkKLUBAIC01ODQsNyArNTg0LDcgQEAgZGVmIGhv c3RfaXNfbWFzdGVyKGxkYXAsIGZxZG4pOgotICAgICAgICAgcmFpc2UgZXJyb3JzLlZhbGlkYXRp b25FcnJvcihuYW1lPSdob3N0bmFtZScsIGVycm9yPV8oJ0FuIElQQSBtYXN0ZXIgaG9zdCBjYW5u b3QgYmUgZGVsZXRlZCBvciBkaXNhYmxlZCcpKQotICAgICBleGNlcHQgZXJyb3JzLk5vdEZvdW5k OgotICAgICAgICAgIyBHb29kLCBub3QgYSBtYXN0ZXIKLS0gICAgICAgIHJldHVybgotKyAgICAg ICAgcGFzcwotIAotIAotIGRlZiBhZGRfbWlzc2luZ19vYmplY3RfY2xhc3MobGRhcCwgb2JqZWN0 Y2xhc3MsIGRuLCBlbnRyeV9hdHRycz1Ob25lLCB1cGRhdGU9VHJ1ZSk6Ci1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weSBiL2lwYXRlc3RzL3B5dGVz dF9pcGEvaW50ZWdyYXRpb24vdGFza3MucHkKLWluZGV4IGRjY2ZhZjMwZS4uYzZlMGNmMzkzIDEw MDc1NQotLS0tIGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotKysr IGIvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotQEAgLTEzOTYsNyAr MTM5Niw3IEBAIGRlZiB0d29fY29ubmVjdGVkX3RvcG8obWFzdGVyLCByZXBsaWNhcyk6Ci0gICAg ICAgICAgICAgaSArPSAxCi0gCi0gICAgIGV4Y2VwdCBJbmRleEVycm9yOgotLSAgICAgICAgcmV0 dXJuCi0rICAgICAgICBwYXNzCi0gCi0gCi0gQF90b3BvKCdkb3VibGUtY2lyY2xlJykKLS0tIAot Mi40OS4wCi0KLQotRnJvbSA3ZGYwMjFkM2QyNDcyZmY5MWQwM2VmYzExNDJlNWRjODI5NWQ4MmNi IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tv dm95QHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDE1IE5vdiAyMDI0IDE2OjI4OjIzICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMzAvNTNdIHRlc3RfY29uc29sZTogcmV3b3JrIG1hdGNoaW5nIHRvIGFk anVzdCB0byBQeXRob24gMy4xMwotCi1EaWZmZXJlbnQgZm9ybWF0dGluZyBjYXVzZXMgdGhlIG9s ZCB0ZXN0IGFzc2VydCB0byBhbHdheXMgZmFpbC4KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3Zv eSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfY21kbGluZS90ZXN0X2NvbnNv bGUucHkgfCAxMSArKysrKysrKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCsp LCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2NtZGxpbmUvdGVz dF9jb25zb2xlLnB5IGIvaXBhdGVzdHMvdGVzdF9jbWRsaW5lL3Rlc3RfY29uc29sZS5weQotaW5k ZXggNGUyNDAzZGYxLi4xYzBjNzI4ZmEgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2NtZGxp bmUvdGVzdF9jb25zb2xlLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2NtZGxpbmUvdGVzdF9jb25z b2xlLnB5Ci1AQCAtNDEsNCArNDEsMTMgQEAgY2xhc3MgVGVzdElQQUNvbnNvbGU6Ci0gICAgIGRl ZiB0ZXN0X2hlbHAoc2VsZiwgYXBpX29iaik6Ci0gICAgICAgICBzID0gc2VsZi5ydW5fcHlkb2Mo YXBpX29iai5Db21tYW5kLmdyb3VwX2FkZCkKLSAgICAgICAgICMgY2hlY2sgZm9yIF9fc2lnbmF0 dXJlX18gaW4gaGVscCgpCi0tICAgICAgICBhc3NlcnQgImdyb3VwX2FkZChjbjogc3RyLCAqLCBk ZXNjcmlwdGlvbjogc3RyID0gTm9uZSwiIGluIHMKLSsgICAgICAgICMgU2luY2UgUHl0aG9uIDMu MTMgdGhlIGZvcm1hdCBkaWQgY2hhbmdlIGFuZCBjYW5ub3QgYmUgaW5mbHVlbmNlZAotKyAgICAg ICAgIyBjaGVjayBib3RoIHZhcmlhbnRzIG9mIHRoZSBwb3NzaWJsZSBvdXRwdXQKLSsgICAgICAg IHNuaXBwZXRzID0gWwotKyAgICAgICAgICAgICIgfCAgZ3JvdXBfYWRkKFxuIHwgICAgICBjbjog c3RyLFxuIHwgICAgICAqLFxuIgotKyAgICAgICAgICAgICIgfCAgICAgIGRlc2NyaXB0aW9uOiBz dHIgPSBOb25lLCIsCi0rICAgICAgICAgICAgImdyb3VwX2FkZChjbjogc3RyLCAqLCBkZXNjcmlw dGlvbjogc3RyID0gTm9uZSwiCi0rICAgICAgICBdCi0rCi0rICAgICAgICBwcmVzZW50ID0gW3Nu aXBwZXQgaW4gcyBmb3Igc25pcHBldCBpbiBzbmlwcGV0c10KLSsgICAgICAgIGFzc2VydCBhbnko cHJlc2VudCkKLS0tIAotMi40OS4wCi0KLQotRnJvbSA2ZTQzYjJhZmVmMjM2MGNmYTVmYjRmMzAz NGEwYmQ2OTg0NmUzYWU5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDI5IEFwciAyMDI1IDEw OjMyOjQ1ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzEvNTNdIE1ha2UgSVBBQWJzdHJhY3RWZXJz aW9uIGF2YWlsYWJsZSB0byBhbGwgcGxhdGZvcm1zCi0KLVRoZXkgc3RpbGwgbmVlZCB0byBpbXBs ZW1lbnQgb3duIGNvbXBhcmlzb24gZnVuY3Rpb24KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVy IEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxh bmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3Zv eSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNy aXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXBsYXRmb3JtL2Jhc2UvdGFza3MucHkgICAgICAg ICAgICAgICB8IDMxICsrKysrKysrKysrKysrKysrKysrKy0KLSBpcGFwbGF0Zm9ybS9yZWRoYXQv dGFza3MucHkgICAgICAgICAgICAgfCAzNSArKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gaXBh dGVzdHMvdGVzdF9pcGFwbGF0Zm9ybS90ZXN0X3Rhc2tzLnB5IHwgIDEgLQotIDMgZmlsZXMgY2hh bmdlZCwgMzcgaW5zZXJ0aW9ucygrKSwgMzAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9p cGFwbGF0Zm9ybS9iYXNlL3Rhc2tzLnB5IGIvaXBhcGxhdGZvcm0vYmFzZS90YXNrcy5weQotaW5k ZXggY2QxN2U0MWQzLi41M2VmMzQ4ODIgMTAwNjQ0Ci0tLS0gYS9pcGFwbGF0Zm9ybS9iYXNlL3Rh c2tzLnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9iYXNlL3Rhc2tzLnB5Ci1AQCAtMjMsNiArMjMsNyBA QCBUaGlzIG1vZHVsZSBjb250YWlucyBkZWZhdWx0IHBsYXRmb3JtLXNwZWNpZmljIGltcGxlbWVu dGF0aW9ucyBvZiBzeXN0ZW0gdGFza3MuCi0gJycnCi0gCi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9y dCBhYnNvbHV0ZV9pbXBvcnQKLStmcm9tIGZ1bmN0b29scyBpbXBvcnQgdG90YWxfb3JkZXJpbmcK LSAKLSBpbXBvcnQgb3MKLSBpbXBvcnQgbG9nZ2luZwotQEAgLTQ4LDYgKzQ5LDM0IEBAIFJFU09M VkUxX0lQQV9DT05GID0gdGV4dHdyYXAuZGVkZW50KCIiIgotICIiIikKLSAKLSAKLStAdG90YWxf b3JkZXJpbmcKLStjbGFzcyBJUEFBYnN0cmFjdFZlcnNpb246Ci0rCi0rICAgIGRlZiBfX2luaXRf XyhzZWxmLCB2ZXJzaW9uKToKLSsgICAgICAgIHNlbGYuX3ZlcnNpb24gPSB2ZXJzaW9uCi0rICAg ICAgICBzZWxmLl9ieXRlcyA9IHZlcnNpb24uZW5jb2RlKCd1dGYtOCcpCi0rCi0rICAgIEBwcm9w ZXJ0eQotKyAgICBkZWYgdmVyc2lvbihzZWxmKToKLSsgICAgICAgIHJldHVybiBzZWxmLl92ZXJz aW9uCi0rCi0rICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotKyAgICAgICAgaWYgbm90IGlz aW5zdGFuY2Uob3RoZXIsIElQQUFic3RyYWN0VmVyc2lvbik6Ci0rICAgICAgICAgICAgcmV0dXJu IE5vdEltcGxlbWVudGVkCi0rICAgICAgICByZXR1cm4gc2VsZi5fdmVyY21wKHNlbGYuX2J5dGVz LCBvdGhlci5fYnl0ZXMpID09IDAKLSsKLSsgICAgZGVmIF9fbHRfXyhzZWxmLCBvdGhlcik6Ci0r ICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShvdGhlciwgSVBBQWJzdHJhY3RWZXJzaW9uKToKLSsg ICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLSsgICAgICAgIHJldHVybiBzZWxmLl92 ZXJjbXAoc2VsZi5fYnl0ZXMsIG90aGVyLl9ieXRlcykgPCAwCi0rCi0rICAgIGRlZiBfX2hhc2hf XyhzZWxmKToKLSsgICAgICAgIHJldHVybiBoYXNoKHNlbGYuX3ZlcnNpb24pCi0rCi0rICAgIGRl ZiBfdmVyY21wKHNlbGYsIF9hLCBfYik6Ci0rICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQK LSsKLSsKLSBjbGFzcyBCYXNlVGFza05hbWVzcGFjZToKLSAKLSAgICAgZGVmIHJlc3RvcmVfY29u dGV4dChzZWxmLCBmaWxlcGF0aCwgZm9yY2U9RmFsc2UpOgotQEAgLTI3NCw3ICszMDMsNyBAQCBj bGFzcyBCYXNlVGFza05hbWVzcGFjZToKLSAgICAgICAgIDpwYXJhbSB2ZXJzaW9uOiB0ZXh0dWFs IHZlcnNpb24KLSAgICAgICAgIDpyZXR1cm46IG9iamVjdCBpbXBsZW1lbnRpbmcgcHJvcGVyIF9f Y21wX18gbWV0aG9kIGZvciB2ZXJzaW9uIGNvbXBhcmUKLSAgICAgICAgICIiIgotLSAgICAgICAg cmV0dXJuIHBhcnNlX3ZlcnNpb24odmVyc2lvbikKLSsgICAgICAgIHJldHVybiBJUEFBYnN0cmFj dFZlcnNpb24ocGFyc2VfdmVyc2lvbih2ZXJzaW9uKSkKLSAKLSAgICAgZGVmIHNldF9ob3N0bmFt ZShzZWxmLCBob3N0bmFtZSk6Ci0gICAgICAgICAiIiIKLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9y bS9yZWRoYXQvdGFza3MucHkgYi9pcGFwbGF0Zm9ybS9yZWRoYXQvdGFza3MucHkKLWluZGV4IGQz ZWRhMDE3Mi4uMTgyMDNiZjBlIDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vcmVkaGF0L3Rhc2tz LnB5Ci0rKysgYi9pcGFwbGF0Zm9ybS9yZWRoYXQvdGFza3MucHkKLUBAIC01MCw3ICs1MCw3IEBA IGltcG9ydCBpcGFweXRob24uZXJyb3JzCi0gZnJvbSBpcGFwbGF0Zm9ybS5jb25zdGFudHMgaW1w b3J0IGNvbnN0YW50cwotIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0gZnJv bSBpcGFwbGF0Zm9ybS5yZWRoYXQuYXV0aGNvbmZpZyBpbXBvcnQgZ2V0X2F1dGhfdG9vbAotLWZy b20gaXBhcGxhdGZvcm0uYmFzZS50YXNrcyBpbXBvcnQgQmFzZVRhc2tOYW1lc3BhY2UKLStmcm9t IGlwYXBsYXRmb3JtLmJhc2UudGFza3MgaW1wb3J0IEJhc2VUYXNrTmFtZXNwYWNlLCBJUEFBYnN0 cmFjdFZlcnNpb24KLSAKLSBsb2dnZXIgPSBsb2dnaW5nLmdldExvZ2dlcihfX25hbWVfXykKLSAK LUBAIC03Nyw0NCArNzcsMjIgQEAgTk1fSVBBX0NPTkYgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0g Ci0gCi0gQHRvdGFsX29yZGVyaW5nCi0tY2xhc3MgSVBBVmVyc2lvbjoKLStjbGFzcyBJUEFWZXJz aW9uKElQQUFic3RyYWN0VmVyc2lvbik6Ci0gICAgIF9ycG12ZXJjbXBfZnVuYyA9IE5vbmUKLSAK LS0gICAgQGNsYXNzbWV0aG9kCi0tICAgIGRlZiBfcnBtdmVyY21wKGNscywgYSwgYik6Ci0rICAg IGRlZiBfdmVyY21wKHNlbGYsIGEsIGIpOgotICAgICAgICAgIiIiTGF6eSBsb2FkIGFuZCBjYWxs IGxpYnJwbSdzIHJwbXZlcmNtcAotICAgICAgICAgIiIiCi0tICAgICAgICBycG12ZXJjbXBfZnVu YyA9IGNscy5fcnBtdmVyY21wX2Z1bmMKLSsgICAgICAgIHJwbXZlcmNtcF9mdW5jID0gc2VsZi5f cnBtdmVyY21wX2Z1bmMKLSAgICAgICAgIGlmIHJwbXZlcmNtcF9mdW5jIGlzIE5vbmU6Ci0gICAg ICAgICAgICAgbGlicnBtID0gY3R5cGVzLkNETEwoZmluZF9saWJyYXJ5KCdycG0nKSkKLSAgICAg ICAgICAgICBycG12ZXJjbXBfZnVuYyA9IGxpYnJwbS5ycG12ZXJjbXAKLSAgICAgICAgICAgICAj IGludCBycG12ZXJjbXAoY29uc3QgY2hhciAqYSwgY29uc3QgY2hhciAqYikKLSAgICAgICAgICAg ICBycG12ZXJjbXBfZnVuYy5hcmd0eXBlcyA9IFtjdHlwZXMuY19jaGFyX3AsIGN0eXBlcy5jX2No YXJfcF0KLSAgICAgICAgICAgICBycG12ZXJjbXBfZnVuYy5yZXN0eXBlID0gY3R5cGVzLmNfaW50 Ci0tICAgICAgICAgICAgY2xzLl9ycG12ZXJjbXBfZnVuYyA9IHJwbXZlcmNtcF9mdW5jCi0rICAg ICAgICAgICAgc2VsZi5fcnBtdmVyY21wX2Z1bmMgPSBycG12ZXJjbXBfZnVuYwotICAgICAgICAg cmV0dXJuIHJwbXZlcmNtcF9mdW5jKGEsIGIpCi0gCi0tICAgIGRlZiBfX2luaXRfXyhzZWxmLCB2 ZXJzaW9uKToKLS0gICAgICAgIHNlbGYuX3ZlcnNpb24gPSB2ZXJzaW9uCi0tICAgICAgICBzZWxm Ll9ieXRlcyA9IHZlcnNpb24uZW5jb2RlKCd1dGYtOCcpCi0tCi0tICAgIEBwcm9wZXJ0eQotLSAg ICBkZWYgdmVyc2lvbihzZWxmKToKLS0gICAgICAgIHJldHVybiBzZWxmLl92ZXJzaW9uCi0tCi0t ICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2Uo b3RoZXIsIElQQVZlcnNpb24pOgotLSAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAot LSAgICAgICAgcmV0dXJuIHNlbGYuX3JwbXZlcmNtcChzZWxmLl9ieXRlcywgb3RoZXIuX2J5dGVz KSA9PSAwCi0tCi0tICAgIGRlZiBfX2x0X18oc2VsZiwgb3RoZXIpOgotLSAgICAgICAgaWYgbm90 IGlzaW5zdGFuY2Uob3RoZXIsIElQQVZlcnNpb24pOgotLSAgICAgICAgICAgIHJldHVybiBOb3RJ bXBsZW1lbnRlZAotLSAgICAgICAgcmV0dXJuIHNlbGYuX3JwbXZlcmNtcChzZWxmLl9ieXRlcywg b3RoZXIuX2J5dGVzKSA8IDAKLS0KLS0gICAgZGVmIF9faGFzaF9fKHNlbGYpOgotLSAgICAgICAg cmV0dXJuIGhhc2goc2VsZi5fdmVyc2lvbikKLS0KLSAKLSBjbGFzcyBSZWRIYXRUYXNrTmFtZXNw YWNlKEJhc2VUYXNrTmFtZXNwYWNlKToKLSAKLUBAIC00ODIsNyArNDYwLDggQEAgY2xhc3MgUmVk SGF0VGFza05hbWVzcGFjZShCYXNlVGFza05hbWVzcGFjZSk6Ci0gCi0gICAgICAgICByZXR1cm4g VHJ1ZQotIAotLSAgICBkZWYgcGFyc2VfaXBhX3ZlcnNpb24oc2VsZiwgdmVyc2lvbik6Ci0rICAg IEBzdGF0aWNtZXRob2QKLSsgICAgZGVmIHBhcnNlX2lwYV92ZXJzaW9uKHZlcnNpb24pOgotICAg ICAgICAgIiIiCi0gICAgICAgICA6cGFyYW0gdmVyc2lvbjogdGV4dHVhbCB2ZXJzaW9uCi0gICAg ICAgICA6cmV0dXJuOiBvYmplY3QgaW1wbGVtZW50aW5nIHByb3BlciBfX2NtcF9fIG1ldGhvZCBm b3IgdmVyc2lvbiBjb21wYXJlCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pcGFwbGF0Zm9y bS90ZXN0X3Rhc2tzLnB5IGIvaXBhdGVzdHMvdGVzdF9pcGFwbGF0Zm9ybS90ZXN0X3Rhc2tzLnB5 Ci1pbmRleCA1OTJhODY0YjMuLjY4ZmQ3YjVjZSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3Rf aXBhcGxhdGZvcm0vdGVzdF90YXNrcy5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pcGFwbGF0Zm9y bS90ZXN0X3Rhc2tzLnB5Ci1AQCAtMzEsNyArMzEsNiBAQCBkZWYgdGVzdF9pcGFfdmVyc2lvbigp OgotICAgICBhc3NlcnQgdjMgPD0gdjMKLSAgICAgYXNzZXJ0IHYzICE9IHY0Ci0gICAgIGFzc2Vy dCB2MyA9PSB2MwotLSAgICBhc3NlcnQgbm90IHYzID09IHY0Ci0gICAgIGFzc2VydCB2NCA+IHYz Ci0gICAgIGFzc2VydCB2NCA+PSB2MwotIAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDFmZWQ3NGYx MTBlZDljOGJkNzBhNDllYzg1ZWY5YTg5NWZmZmRiOWIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiA9P1VURi04P3E/TWlybz0yMEhyb249QzQ9OERvaz89IDxtaXJvQGhyb25jb2suY3o+ Ci1EYXRlOiBXZWQsIDIgQXByIDIwMjUgMTU6MDA6MDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAz Mi81M10gU3RvcCB1c2luZyBkZXByZWNhdGVkIHBrZ19yZXNvdXJjZXMKLQotVXNlIHBhY2thZ2lu Zy52ZXJzaW9uIGFuZCBpbXBvcnRsaWIubWV0YWRhdGEgaW5zdGVhZC4KLQotTm90ZSB0aGF0IHBh Y2thZ2luZy52ZXJzaW9uIG9ubHkgcGFyc2VzIHZlcnNpb25zIGNvbXBhdGlibGUgd2l0aCBQeXRo b24gcGFja2FnaW5nCi0ob3JpZ2luYWxseSBkZWZpbmVkIGluIFBFUCA0NDApLgotaHR0cHM6Ly9w YWNrYWdpbmcucHl0aG9uLm9yZy9lbi9sYXRlc3Qvc3BlY2lmaWNhdGlvbnMvdmVyc2lvbi1zcGVj aWZpZXJzLwotCi1GaXhlcyBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2NzYKLQot UmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBmcmVlaXBh LnNwZWMuaW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNiArLS0tLS0K LSBpcGFwbGF0Zm9ybS9iYXNlL3Rhc2tzLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg MiArLQotIGlwYXB5dGhvbi92ZXJzaW9uLnB5LmluICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAyICstCi0gaXBhc2VydmVyL2N1c3RvZGlhL3NlcnZlci9fX2luaXRfXy5weSAgICAgICAg ICAgICAgIHwgMTMgKysrKy0tLS0tLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2Uu cHkgICAgICAgICAgICAgICAgICAgICB8ICAyICstCi0gaXBhc2VydmVyL2luc3RhbGwva3JiaW5z dGFuY2UucHkgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9z ZXJ2ZXIvcmVwbGljYWluc3RhbGwucHkgICAgICAgICAgfCAgMiArLQotIGlwYXNlcnZlci9pbnN0 YWxsL3NlcnZlci91cGdyYWRlLnB5ICAgICAgICAgICAgICAgICB8ICAyICstCi0gLi4uL3B5dGVz dF9pcGEvaW50ZWdyYXRpb24vY3JlYXRlX2NhbGVzc19wa2kucHkgICAgIHwgIDIgKy0KLSBpcGF0 ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL3Rhc2tzLnB5ICAgICAgICAgICAgfCAgMiArLQot IGlwYXRlc3RzL3Rlc3RfY3VzdG9kaWEvdGVzdF9wbHVnaW5zLnB5ICAgICAgICAgICAgICB8IDEz ICsrKysrLS0tLS0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfYWR0cnVzdF9p bnN0YWxsLnB5ICAgfCAgMiArLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0 LnB5ICAgICAgICAgICAgICB8ICAyICstCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2NvbW1hbmRzLnB5ICAgICAgICAgIHwgIDIgKy0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfaWRwLnB5ICAgICAgICAgICAgICAgfCAgMiArLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSAgICB8ICAyICstCi0gaXBhdGVzdHMvdGVzdF93 ZWJ1aS91aV9kcml2ZXIucHkgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSBpcGF0ZXN0cy90 ZXN0X3htbHJwYy90ZXN0X2F1dG9tZW1iZXJfcGx1Z2luLnB5ICAgICAgfCAgMiArLQotIHB5cGkv dGVzdF9wbGFjZWhvbGRlci5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICsrLS0t Ci0gMTkgZmlsZXMgY2hhbmdlZCwgMjcgaW5zZXJ0aW9ucygrKSwgNDAgZGVsZXRpb25zKC0pCi0K LWRpZmYgLS1naXQgYS9mcmVlaXBhLnNwZWMuaW4gYi9mcmVlaXBhLnNwZWMuaW4KLWluZGV4IGNj YjM3ZmYwYS4uMmI5N2IxMTc2IDEwMDc1NQotLS0tIGEvZnJlZWlwYS5zcGVjLmluCi0rKysgYi9m cmVlaXBhLnNwZWMuaW4KLUBAIC05MzYsNiArOTM2LDcgQEAgUmVxdWlyZXM6IHB5dGhvbjMtandj cnlwdG8gPj0gMC40LjIKLSBSZXF1aXJlczogcHl0aG9uMy1saWJpcGFfaGJhYwotIFJlcXVpcmVz OiBweXRob24zLW5ldGFkZHIgPj0gJXtweXRob25fbmV0YWRkcl92ZXJzaW9ufQotIFJlcXVpcmVz OiBweXRob24zLWlmYWRkcgotK1JlcXVpcmVzOiBweXRob24zLXBhY2thZ2luZwotIFJlcXVpcmVz OiBweXRob24zLXB5YXNuMSA+PSAwLjMuMi0yCi0gUmVxdWlyZXM6IHB5dGhvbjMtcHlhc24xLW1v ZHVsZXMgPj0gMC4zLjItMgotIFJlcXVpcmVzOiBweXRob24zLXB5dXNiCi1AQCAtOTQ0LDExICs5 NDUsNiBAQCBSZXF1aXJlczogcHl0aG9uMy1yZXF1ZXN0cwotIFJlcXVpcmVzOiBweXRob24zLXNp eAotIFJlcXVpcmVzOiBweXRob24zLXNzcy1tdXJtdXIKLSBSZXF1aXJlczogcHl0aG9uMy15dWJp Y28gPj0gMS4zLjItNwotLSVpZiAwJXs/cmhlbH0gJiYgMCV7P3JoZWx9ID09IDgKLS1SZXF1aXJl czogcGxhdGZvcm0tcHl0aG9uLXNldHVwdG9vbHMKLS0lZWxzZQotLVJlcXVpcmVzOiBweXRob24z LXNldHVwdG9vbHMKLS0lZW5kaWYKLSAlaWYgMCV7P3JoZWx9Ci0gUmVxdWlyZXM6IHB5dGhvbjMt dXJsbGliMyA+PSAxLjI0LjItMwotICVlbHNlCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vYmFz ZS90YXNrcy5weSBiL2lwYXBsYXRmb3JtL2Jhc2UvdGFza3MucHkKLWluZGV4IDUzZWYzNDg4Mi4u NDEwOGE3Y2VkIDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vYmFzZS90YXNrcy5weQotKysrIGIv aXBhcGxhdGZvcm0vYmFzZS90YXNrcy5weQotQEAgLTI5LDcgKzI5LDcgQEAgaW1wb3J0IG9zCi0g aW1wb3J0IGxvZ2dpbmcKLSBpbXBvcnQgdGV4dHdyYXAKLSAKLS1mcm9tIHBrZ19yZXNvdXJjZXMg aW1wb3J0IHBhcnNlX3ZlcnNpb24KLStmcm9tIHBhY2thZ2luZy52ZXJzaW9uIGltcG9ydCBwYXJz ZSBhcyBwYXJzZV92ZXJzaW9uCi0gCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0 aHMKLSBmcm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhdXRpbAotZGlmZiAtLWdpdCBhL2lwYXB5dGhv bi92ZXJzaW9uLnB5LmluIGIvaXBhcHl0aG9uL3ZlcnNpb24ucHkuaW4KLWluZGV4IGE4ZjQyMThh Ny4uZWVlODkwMGJlIDEwMDY0NAotLS0tIGEvaXBhcHl0aG9uL3ZlcnNpb24ucHkuaW4KLSsrKyBi L2lwYXB5dGhvbi92ZXJzaW9uLnB5LmluCi1AQCAtMTcsNyArMTcsNyBAQAotICMgYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2Vz Lz4uCi0gIwotIAotLWZyb20gcGtnX3Jlc291cmNlcyBpbXBvcnQgcGFyc2VfdmVyc2lvbgotK2Zy b20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IHBhcnNlIGFzIHBhcnNlX3ZlcnNpb24KLSAKLSAj IFRoZSBmdWxsIHZlcnNpb24gaW5jbHVkaW5nIHN0cmluZ3MKLSBWRVJTSU9OID0gIkBWRVJTSU9O QCIKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvY3VzdG9kaWEvc2VydmVyL19faW5pdF9fLnB5IGIv aXBhc2VydmVyL2N1c3RvZGlhL3NlcnZlci9fX2luaXRfXy5weQotaW5kZXggZTcxM2RlMjBkLi4y NmNhMGE0ODEgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvY3VzdG9kaWEvc2VydmVyL19faW5pdF9f LnB5Ci0rKysgYi9pcGFzZXJ2ZXIvY3VzdG9kaWEvc2VydmVyL19faW5pdF9fLnB5Ci1AQCAtMiwx MCArMiw5IEBACi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKLSAKLSBp bXBvcnQgaW1wb3J0bGliCi0raW1wb3J0IGltcG9ydGxpYi5tZXRhZGF0YQotIGltcG9ydCBvcwot IAotLWltcG9ydCBwa2dfcmVzb3VyY2VzCi0tCi0gaW1wb3J0IHNpeAotIAotIGZyb20gaXBhc2Vy dmVyLmN1c3RvZGlhIGltcG9ydCBsb2cKLUBAIC0zNywxNyArMzYsMTMgQEAgZGVmIF9sb2FkX3Bs dWdpbl9jbGFzcyhtZW51LCBuYW1lKToKLSAgICAgRW50cnkgcG9pbnRzIGFyZSBwcmVmZXJyZWQg b3ZlciBkb3R0ZWQgaW1wb3J0IHBhdGguCi0gICAgICIiIgotICAgICBncm91cCA9ICdjdXN0b2Rp YS57fScuZm9ybWF0KG1lbnUpCi0tICAgIGVwcyA9IGxpc3QocGtnX3Jlc291cmNlcy5pdGVyX2Vu dHJ5X3BvaW50cyhncm91cCwgbmFtZSkpCi0rICAgIGVwcyA9IGltcG9ydGxpYi5tZXRhZGF0YS5l bnRyeV9wb2ludHMoZ3JvdXA9Z3JvdXAsIG5hbWU9bmFtZSkKLSAgICAgaWYgbGVuKGVwcykgPiAx OgotICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcigKLSAgICAgICAgICAgICAiTXVsdGlwbGUgZW50 cnkgcG9pbnRzIGZvciB7fSB7fToge30iLmZvcm1hdChtZW51LCBuYW1lLCBlcHMpKQotICAgICBl bGlmIGxlbihlcHMpID09IDE6Ci0tICAgICAgICAjIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5IHdp dGggb2xkIHNldHVwdG9vbHMKLS0gICAgICAgIGVwID0gZXBzWzBdCi0tICAgICAgICBpZiBoYXNh dHRyKGVwLCAncmVzb2x2ZScpOgotLSAgICAgICAgICAgIHJldHVybiBlcC5yZXNvbHZlKCkKLS0g ICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgcmV0dXJuIGVwLmxvYWQocmVxdWlyZT1GYWxzZSkK LSsgICAgICAgIGVwLCAqXyA9IGVwcwotKyAgICAgICAgcmV0dXJuIGVwLmxvYWQocmVxdWlyZT1G YWxzZSkKLSAgICAgZWxpZiAnLicgaW4gbmFtZToKLSAgICAgICAgICMgZmFsbCBiYWNrIHRvIG9s ZCBzdHlsZSBkb3R0ZWQgbmFtZQotICAgICAgICAgbW9kdWxlLCBjbGFzc25hbWUgPSBuYW1lLnJz cGxpdCgnLicsIDEpCi1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5w eSBiL2lwYXNlcnZlci9pbnN0YWxsL2NhaW5zdGFuY2UucHkKLWluZGV4IDJjOWZiZTA0Zi4uYjNj YzBiMjYyIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5weQotKysr IGIvaXBhc2VydmVyL2luc3RhbGwvY2FpbnN0YW5jZS5weQotQEAgLTM1LDcgKzM1LDcgQEAgaW1w b3J0IHN5c2xvZwotIGltcG9ydCB0aW1lCi0gaW1wb3J0IHRlbXBmaWxlCi0gZnJvbSBjb25maWdw YXJzZXIgaW1wb3J0IFJhd0NvbmZpZ1BhcnNlcgotLWZyb20gcGtnX3Jlc291cmNlcyBpbXBvcnQg cGFyc2VfdmVyc2lvbgotK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IHBhcnNlIGFzIHBh cnNlX3ZlcnNpb24KLSAKLSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpCi0gZnJvbSBpcGFsaWIgaW1w b3J0IHg1MDkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9rcmJpbnN0YW5jZS5weSBi L2lwYXNlcnZlci9pbnN0YWxsL2tyYmluc3RhbmNlLnB5Ci1pbmRleCBhOTg4NzU1MzguLjlmMGVl YTU2MyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2tyYmluc3RhbmNlLnB5Ci0rKysg Yi9pcGFzZXJ2ZXIvaW5zdGFsbC9rcmJpbnN0YW5jZS5weQotQEAgLTI2LDcgKzI2LDcgQEAgaW1w b3J0IHNvY2tldAotIGltcG9ydCBkYnVzCi0gCi0gaW1wb3J0IGRucy5uYW1lCi0tZnJvbSBwa2df cmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBp bXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIAotIGZyb20gaXBhbGliIGltcG9ydCB4NTA5 Ci0gZnJvbSBpcGFsaWIuaW5zdGFsbCBpbXBvcnQgY2VydHN0b3JlCi1kaWZmIC0tZ2l0IGEvaXBh c2VydmVyL2luc3RhbGwvc2VydmVyL3JlcGxpY2FpbnN0YWxsLnB5IGIvaXBhc2VydmVyL2luc3Rh bGwvc2VydmVyL3JlcGxpY2FpbnN0YWxsLnB5Ci1pbmRleCAxZjJjODFmODUuLjFlNzQzZDdiMyAx MDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci9yZXBsaWNhaW5zdGFsbC5weQot KysrIGIvaXBhc2VydmVyL2luc3RhbGwvc2VydmVyL3JlcGxpY2FpbnN0YWxsLnB5Ci1AQCAtMTgs NyArMTgsNyBAQCBpbXBvcnQgdGVtcGZpbGUKLSBpbXBvcnQgdGV4dHdyYXAKLSBpbXBvcnQgdHJh Y2ViYWNrCi0gCi0tZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJv bSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIGltcG9y dCBzaXgKLSAKLSBmcm9tIGlwYWNsaWVudC5pbnN0YWxsLmNsaWVudCBpbXBvcnQgY2hlY2tfbGRh cF9jb25mLCBzc3NkX2VuYWJsZV9pZnAKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9z ZXJ2ZXIvdXBncmFkZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL3NlcnZlci91cGdyYWRlLnB5Ci1p bmRleCA1ODg5NmUzMzAuLmViMTJmMDkwNyAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxs L3NlcnZlci91cGdyYWRlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9zZXJ2ZXIvdXBncmFk ZS5weQotQEAgLTE3LDcgKzE3LDcgQEAgaW1wb3J0IHN5cwotIGltcG9ydCB0ZW1wZmlsZQotIGZy b20gY29udGV4dGxpYiBpbXBvcnQgY29udGV4dG1hbmFnZXIKLSBmcm9tIGF1Z2VhcyBpbXBvcnQg QXVnZWFzCi0tZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBw YWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIAotIGZyb20g aXBhbGliIGltcG9ydCBhcGksIHg1MDkKLSBmcm9tIGlwYWxpYi5jb25zdGFudHMgaW1wb3J0IFJF TkVXQUxfQ0FfTkFNRSwgUkFfQUdFTlRfUFJPRklMRSwgSVBBX0NBX1JFQ09SRAotZGlmZiAtLWdp dCBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vY3JlYXRlX2NhbGVzc19wa2kucHkg Yi9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2NyZWF0ZV9jYWxlc3NfcGtpLnB5Ci1p bmRleCBlMDk4NGNjYzkuLjcxZDgwNGMzMyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3B5dGVzdF9p cGEvaW50ZWdyYXRpb24vY3JlYXRlX2NhbGVzc19wa2kucHkKLSsrKyBiL2lwYXRlc3RzL3B5dGVz dF9pcGEvaW50ZWdyYXRpb24vY3JlYXRlX2NhbGVzc19wa2kucHkKLUBAIC0yNiw3ICsyNiw3IEBA IGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5iYWNrZW5kcyBpbXBvcnQgZGVmYXVsdF9iYWNrZW5k Ci0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMgaW1wb3J0IGhhc2hlcywgc2Vy aWFsaXphdGlvbgotIGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzLmFzeW1tZXRy aWMgaW1wb3J0IHJzYQotIGZyb20gY3J5cHRvZ3JhcGh5Lng1MDkub2lkIGltcG9ydCBOYW1lT0lE Ci0tZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdp bmcudmVyc2lvbiBpbXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIGZyb20gcHlhc24xLnR5 cGUgaW1wb3J0IHVuaXYsIGNoYXIsIG5hbWVkdHlwZSwgdGFnCi0gZnJvbSBweWFzbjEuY29kZWMu ZGVyIGltcG9ydCBlbmNvZGVyIGFzIGRlcl9lbmNvZGVyCi0gZnJvbSBweWFzbjEuY29kZWMubmF0 aXZlIGltcG9ydCBkZWNvZGVyIGFzIG5hdGl2ZV9kZWNvZGVyCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weSBiL2lwYXRlc3RzL3B5dGVzdF9pcGEv aW50ZWdyYXRpb24vdGFza3MucHkKLWluZGV4IGM2ZTBjZjM5My4uM2VmMzYxODA3IDEwMDc1NQot LS0tIGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotKysrIGIvaXBh dGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi90YXNrcy5weQotQEAgLTM2LDcgKzM2LDcgQEAg aW1wb3J0IHRpbWUKLSBmcm9tIHNobGV4IGltcG9ydCBxdW90ZQotIGltcG9ydCBjb25maWdwYXJz ZXIKLSBmcm9tIGNvbnRleHRsaWIgaW1wb3J0IGNvbnRleHRtYW5hZ2VyCi0tZnJvbSBwa2dfcmVz b3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBv cnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIGltcG9ydCB1dWlkCi0gCi0gaW1wb3J0IGRucwot ZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfY3VzdG9kaWEvdGVzdF9wbHVnaW5zLnB5IGIvaXBh dGVzdHMvdGVzdF9jdXN0b2RpYS90ZXN0X3BsdWdpbnMucHkKLWluZGV4IGJlOGFhOTM2ZC4uOWQz ZjZjMjRmIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9jdXN0b2RpYS90ZXN0X3BsdWdpbnMu cHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfY3VzdG9kaWEvdGVzdF9wbHVnaW5zLnB5Ci1AQCAtMSw1 ICsxLDYgQEAKLSAjIENvcHlyaWdodCAoQykgMjAxNiAgQ3VzdG9kaWEgUHJvamVjdCBDb250cmli dXRvcnMgLSBzZWUgTElDRU5TRSBmaWxlCi0taW1wb3J0IHBrZ19yZXNvdXJjZXMKLStpbXBvcnQg aW1wb3J0bGliLm1ldGFkYXRhCi0rCi0gaW1wb3J0IHB5dGVzdAotIAotIGZyb20gaXBhc2VydmVy LmN1c3RvZGlhLnBsdWdpbiBpbXBvcnQgKAotQEAgLTEyLDggKzEzLDggQEAgY2xhc3MgVGVzdEN1 c3RvZGlhUGx1Z2luczoKLSAKLSAgICAgZGVmIGdldF9lbnRyeV9wb2ludHMoc2VsZiwgZ3JvdXAp OgotICAgICAgICAgZXBzID0gW10KLS0gICAgICAgIGZvciBlIGluIHBrZ19yZXNvdXJjZXMuaXRl cl9lbnRyeV9wb2ludHMoZ3JvdXApOgotLSAgICAgICAgICAgIGlmIGUuZGlzdC5wcm9qZWN0X25h bWUgIT0gc2VsZi5wcm9qZWN0X25hbWU6Ci0rICAgICAgICBmb3IgZSBpbiBpbXBvcnRsaWIubWV0 YWRhdGEuZW50cnlfcG9pbnRzKGdyb3VwPWdyb3VwKToKLSsgICAgICAgICAgICBpZiBlLmRpc3Qu bmFtZSAhPSBzZWxmLnByb2plY3RfbmFtZToKLSAgICAgICAgICAgICAgICAgIyBvbmx5IGludGVy ZXN0ZWQgaW4gb3VyIG93biBlbnRyeSBwb2ludHMKLSAgICAgICAgICAgICAgICAgY29udGludWUK LSAgICAgICAgICAgICBlcHMuYXBwZW5kKGUpCi1AQCAtMjEsMTEgKzIyLDcgQEAgY2xhc3MgVGVz dEN1c3RvZGlhUGx1Z2luczoKLSAKLSAgICAgZGVmIGFzc2VydF9lcChzZWxmLCBlcCwgYmFzZWNs cyk6Ci0gICAgICAgICB0cnk6Ci0tICAgICAgICAgICAgIyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0 eSB3aXRoIG9sZCBzZXR1cHRvb2xzCi0tICAgICAgICAgICAgaWYgaGFzYXR0cihlcCwgInJlc29s dmUiKToKLS0gICAgICAgICAgICAgICAgY2xzID0gZXAucmVzb2x2ZSgpCi0tICAgICAgICAgICAg ZWxzZToKLS0gICAgICAgICAgICAgICAgY2xzID0gZXAubG9hZChyZXF1aXJlPUZhbHNlKQotKyAg ICAgICAgICAgIGNscyA9IGVwLmxvYWQocmVxdWlyZT1GYWxzZSkKLSAgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZTogICMgcHlsaW50OiBkaXNhYmxlPWJyb2FkLWV4Y2VwdAotICAgICAgICAg ICAgIHB5dGVzdC5mYWlsKCJGYWlsZWQgdG8gbG9hZCAlcjogJXIiICUgKGVwLCBlKSkKLSAgICAg ICAgIGlmIG5vdCBpc3N1YmNsYXNzKGNscywgYmFzZWNscyk6Ci1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2FkdHJ1c3RfaW5zdGFsbC5weSBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLWluZGV4IDc5YTkxZGZhYS4u OTlkMzAyOTQ0IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2Fk dHJ1c3RfaW5zdGFsbC5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2Fk dHJ1c3RfaW5zdGFsbC5weQotQEAgLTEzLDcgKzEzLDcgQEAgZnJvbSBpcGFwbGF0Zm9ybS5wYXRo cyBpbXBvcnQgcGF0aHMKLSBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLSBmcm9tIGlwYXRl c3RzLnB5dGVzdF9pcGEuaW50ZWdyYXRpb24gaW1wb3J0IHRhc2tzCi0gZnJvbSBpcGF0ZXN0cy50 ZXN0X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotLWZyb20gcGtnX3Jl c291cmNlcyBpbXBvcnQgcGFyc2VfdmVyc2lvbgotK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1w b3J0IHBhcnNlIGFzIHBhcnNlX3ZlcnNpb24KLSAKLSBpbXBvcnQgcHl0ZXN0Ci0gCi1kaWZmIC0t Z2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NlcnQucHkgYi9pcGF0ZXN0cy90 ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5weQotaW5kZXggYzY0MmNhYWYwLi44ODg1OWU2N2Yg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5weQotKysr IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NlcnQucHkKLUBAIC0yMSw3ICsyMSw3 IEBAIGZyb20gaXBhcHl0aG9uLmRuIGltcG9ydCBETgotIGZyb20gY3J5cHRvZ3JhcGh5IGltcG9y dCB4NTA5Ci0gZnJvbSBjcnlwdG9ncmFwaHkueDUwOS5vaWQgaW1wb3J0IEV4dGVuc2lvbk9JRAot IGZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5iYWNrZW5kcyBpbXBvcnQgZGVmYXVsdF9iYWNrZW5k Ci0tZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdp bmcudmVyc2lvbiBpbXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIAotIGZyb20gaXBhdGVz dHMucHl0ZXN0X2lwYS5pbnRlZ3JhdGlvbiBpbXBvcnQgdGFza3MKLSBmcm9tIGlwYXRlc3RzLnRl c3RfaW50ZWdyYXRpb24uYmFzZSBpbXBvcnQgSW50ZWdyYXRpb25UZXN0Ci1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5IGIvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1pbmRleCBmYTZkYTc4ZTkuLmY2NDE1Mjkw OCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5w eQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAt NDIsNyArNDIsNyBAQCBmcm9tIGlwYXRlc3RzLnRlc3RfaXBhbGliLnRlc3RfeDUwOSBpbXBvcnQg Z29vZF9wa2NzNywgYmFkY2VydAotIGZyb20gaXBhcHl0aG9uLmlwYXV0aWwgaW1wb3J0IHJlYWxt X3RvX3N1ZmZpeCwgaXBhX2dlbmVyYXRlX3Bhc3N3b3JkCi0gZnJvbSBpcGF0ZXN0cy50ZXN0X2lu dGVncmF0aW9uLnRlc3RfdG9wb2xvZ3kgaW1wb3J0IGZpbmRfc2VnbWVudAotIGZyb20gaXBhc2Vy dmVyLmluc3RhbGwuaW5zdGFsbHV0aWxzIGltcG9ydCByZWFsbV90b19zZXJ2ZXJpZAotLWZyb20g cGtnX3Jlc291cmNlcyBpbXBvcnQgcGFyc2VfdmVyc2lvbgotK2Zyb20gcGFja2FnaW5nLnZlcnNp b24gaW1wb3J0IHBhcnNlIGFzIHBhcnNlX3ZlcnNpb24KLSAKLSBsb2dnZXIgPSBsb2dnaW5nLmdl dExvZ2dlcihfX25hbWVfXykKLSAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3RfaWRwLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lkcC5weQot aW5kZXggYTI5MzMzZWYyLi45OTgzYjNjOWQgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfaWRwLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rl c3RfaWRwLnB5Ci1AQCAtMTIsNyArMTIsNyBAQCBmcm9tIGlwYXRlc3RzLnB5dGVzdF9pcGEuaW50 ZWdyYXRpb24gaW1wb3J0IHRhc2tzLCBjcmVhdGVfa2V5Y2xvYWsKLSB1c2VyX2NvZGVfc2NyaXB0 ID0gdGV4dHdyYXAuZGVkZW50KCIiIgotIGZyb20gc2VsZW5pdW0gaW1wb3J0IHdlYmRyaXZlcgot IGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0aW1lCi0tZnJvbSBwa2dfcmVzb3VyY2VzIGltcG9y dCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgcGFyc2UgYXMg cGFyc2VfdmVyc2lvbgotIGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLmZpcmVmb3gub3B0aW9ucyBp bXBvcnQgT3B0aW9ucwotIGZyb20gc2VsZW5pdW0ud2ViZHJpdmVyLmNvbW1vbi5ieSBpbXBvcnQg QnkKLSBmcm9tIHNlbGVuaXVtLndlYmRyaXZlci5zdXBwb3J0LnVpIGltcG9ydCBXZWJEcml2ZXJX YWl0Ci1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0 aGNoZWNrLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNr LnB5Ci1pbmRleCA4ZDFiOWZjZTMuLmI4ZWUyODg0ZCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotKysrIGIvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci1AQCAtMjcsNyArMjcsNyBAQCBm cm9tIGlwYXBsYXRmb3JtLnBhdGhzIGltcG9ydCBwYXRocwotIGZyb20gaXBhcGxhdGZvcm0ub3Np bmZvIGltcG9ydCBvc2luZm8KLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsLmluc3RhbGx1dGlscyBp bXBvcnQgcmVzb2x2ZV9pcF9hZGRyZXNzZXNfbnNzCi0gZnJvbSBpcGF0ZXN0cy50ZXN0X2ludGVn cmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotLWZyb20gcGtnX3Jlc291cmNlcyBp bXBvcnQgcGFyc2VfdmVyc2lvbgotK2Zyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0IHBhcnNl IGFzIHBhcnNlX3ZlcnNpb24KLSBmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24udGVzdF9j ZXJ0IGltcG9ydCBnZXRfY2VydG1vbmdlcl9mc19pZAotIGZyb20gaXBhdGVzdHMudGVzdF9pbnRl Z3JhdGlvbi50ZXN0X2V4dGVybmFsX2NhIGltcG9ydCAoCi0gICAgIGluc3RhbGxfc2VydmVyX2V4 dGVybmFsX2NhX3N0ZXAxLAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3Rfd2VidWkvdWlfZHJp dmVyLnB5IGIvaXBhdGVzdHMvdGVzdF93ZWJ1aS91aV9kcml2ZXIucHkKLWluZGV4IDVkY2VhODk3 OS4uMzU2YzRhMDk5IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF93ZWJ1aS91aV9kcml2ZXIu cHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3Rfd2VidWkvdWlfZHJpdmVyLnB5Ci1AQCAtMjksNyArMjks NyBAQCBpbXBvcnQgcmUKLSBpbXBvcnQgdGltZQotIGZyb20gZGF0ZXRpbWUgaW1wb3J0IGRhdGV0 aW1lCi0gZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCi0tZnJvbSBwa2dfcmVzb3VyY2VzIGlt cG9ydCBwYXJzZV92ZXJzaW9uCi0rZnJvbSBwYWNrYWdpbmcudmVyc2lvbiBpbXBvcnQgcGFyc2Ug YXMgcGFyc2VfdmVyc2lvbgotIGZyb20gdXJsbGliLmVycm9yIGltcG9ydCBVUkxFcnJvcgotIAot IGltcG9ydCBweXRlc3QKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2F1 dG9tZW1iZXJfcGx1Z2luLnB5IGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9hdXRvbWVtYmVy X3BsdWdpbi5weQotaW5kZXggYjNjMjEzOGFhLi43ZmQ2ZjZjYTYgMTAwNjQ0Ci0tLS0gYS9pcGF0 ZXN0cy90ZXN0X3htbHJwYy90ZXN0X2F1dG9tZW1iZXJfcGx1Z2luLnB5Ci0rKysgYi9pcGF0ZXN0 cy90ZXN0X3htbHJwYy90ZXN0X2F1dG9tZW1iZXJfcGx1Z2luLnB5Ci1AQCAtMzYsNyArMzYsNyBA QCBmcm9tIGlwYXNlcnZlci5wbHVnaW5zLmF1dG9tZW1iZXIgaW1wb3J0IFJFQlVJTERfVEFTS19D T05UQUlORVIKLSBpbXBvcnQgdGltZQotIGltcG9ydCBweXRlc3QKLSBpbXBvcnQgcmUKLS1mcm9t IHBrZ19yZXNvdXJjZXMgaW1wb3J0IHBhcnNlX3ZlcnNpb24KLStmcm9tIHBhY2thZ2luZy52ZXJz aW9uIGltcG9ydCBwYXJzZSBhcyBwYXJzZV92ZXJzaW9uCi0gCi0gdHJ5OgotICAgICBmcm9tIGlw YXNlcnZlci5wbHVnaW5zLmxkYXAyIGltcG9ydCBsZGFwMgotZGlmZiAtLWdpdCBhL3B5cGkvdGVz dF9wbGFjZWhvbGRlci5weSBiL3B5cGkvdGVzdF9wbGFjZWhvbGRlci5weQotaW5kZXggNzNmNGZh YTYxLi40YjgxNzE1YzggMTAwNjQ0Ci0tLS0gYS9weXBpL3Rlc3RfcGxhY2Vob2xkZXIucHkKLSsr KyBiL3B5cGkvdGVzdF9wbGFjZWhvbGRlci5weQotQEAgLTEsOCArMSw3IEBACi0gIyBDb3B5cmln aHQgKEMpIDIwMTcgIEZyZWVJUEEgQ29udHJpYnV0b3JzIHNlZSBDT1BZSU5HIGZvciBsaWNlbnNl Ci0gCi0gaW1wb3J0IGltcG9ydGxpYgotLQotLWltcG9ydCBwa2dfcmVzb3VyY2VzCi0raW1wb3J0 IGltcG9ydGxpYi5tZXRhZGF0YQotIAotIGltcG9ydCBweXRlc3QKLSAKLUBAIC00NSw0ICs0NCw0 IEBAIGRlZiB0ZXN0X2ltcG9ydChtb2RuYW1lKToKLSAgICAgJ2lwYXRlc3RzJywKLSBdKQotIGRl ZiB0ZXN0X3BhY2thZ2VfaW5zdGFsbGVkKHBrZ25hbWUpOgotLSAgICBwa2dfcmVzb3VyY2VzLnJl cXVpcmUocGtnbmFtZSkKLSsgICAgaW1wb3J0bGliLm1ldGFkYXRhLmRpc3RyaWJ1dGlvbihwa2du YW1lKQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGI1Y2U2NzIyNTI3Y2FiODYwMjU5ODkzOTk2NGFk YTAyODg3MDdhNzAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9r b3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgMzAgQXByIDIwMjUgMTE6MzE6 MTYgKzAzMDAKLVN1YmplY3Q6IFtQQVRDSCAzMy81M10gQXp1cmUgQ0k6IGRvIG5vdCBydW4gdGVz dF9pcGFzZXJ2ZXIvdGVzdF9taWdyYXRlcHcKLQotVW5mb3J0dW5hdGVseSwgcGFzc3dvcmQgbWln cmF0aW9uIGluaXRpYWxpemVzIFB5Q0Egc2V2ZXJhbCB0aW1lcyB3aXRoaW4KLXRoZSBzYW1lIHBy b2Nlc3MuIFB5Q0EgdXNlcyBQeU8zIHdoaWNoIGV4cGxpY2l0bHkgZGlzYWJsZXMgc3VjaCBiZWhh dmlvcgotYW5kIGJyZWFrcyB0aGUgZXhlY3V0aW9uLiBBcyBhIHJlc3VsdCwgdGhlIHRlc3QgZmFp bHMgd2l0aCB0aGUgZm9sbG93aW5nCi1lcnJvciBtZXNzYWdlIGluIHRoZSBsb2dzOgotCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0gZnJvbSBjcnlwdG9ncmFwaHkuaGF6 bWF0LmJpbmRpbmdzLl9ydXN0IGltcG9ydCB4NTA5IGFzIHJ1c3RfeDUwOSwgcmVmZXJlcjogaHR0 cHM6Ly9tYXN0ZXIxLmlwYS50ZXN0L2lwYS9taWdyYXRpb24vbWlncmF0aW9uLnB5Ci0gSW1wb3J0 RXJyb3I6IFB5TzMgbW9kdWxlcyBjb21waWxlZCBmb3IgQ1B5dGhvbiAzLjggb3Igb2xkZXIgbWF5 IG9ubHkgYmUgaW5pdGlhbGl6ZWQgb25jZSBwZXIgaW50ZXJwcmV0ZXIgcHJvY2VzcywgcmVmZXJl cjogaHR0cHM6Ly9tYXN0ZXIxLmlwYS50ZXN0L2lwYS9taWdyYXRpb24vbWlncmF0aW9uLnB5Ci0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0KLVRoaXMgd2FzIGludHJvZHVj ZWQgaW4gaW4gMjAyMiB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWl0OgotaHR0cHM6Ly9naXRodWIu Y29tL1B5TzMvcHlvMy9jb21taXQvZjE3ZTcwMzE2NzUxMjg1MzQwNTA4ZDAwMDkxMDM1NzBhZjdl MDg3MwotYW5kIG1lYW5zIHRoZSB0ZXN0IGFsd2F5cyBmYWlscyB0byBkZXRlY3QgdGhlIHJlY2Vu dCBQeXRob24gMy45KyAoRmVkb3JhCi00MiBydW5zIG9uIFB5dGhvbiAzLjEzKS4KLQotRmVkb3Jh J3MgUHlPMyBidWlsZCBhbGxvd3MgdG8gcmUtZW5hYmxlIHVuc2FmZSBzdWItaW50ZXJwcmV0ZXJz IGJ1dCBpdCBoYXMKLXRvIGJlIGVuYWJsZWQgd2l0aGluIHRoZSBwYWNrYWdlIHVzaW5nIHB5bzMg cnVzdCBjcmF0ZSwgZS5nLiBQeUNBLiBQeUNBCi1pcyBidWlsdCB3aXRob3V0IHRoaXMgc3VwcG9y dC4KLQotRGlzYWJsZSB0aGUgdGVzdCB1bnRpbCB3ZSBmaW5kIG91dCBob3cgdG8gZml4IHRoaXMg bWVzcy4KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQot IGlwYXRlc3RzL2F6dXJlL2F6dXJlX2RlZmluaXRpb25zL2Jhc2UtZmVkb3JhLnltbCB8IDIgKysK LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0 cy9henVyZS9henVyZV9kZWZpbml0aW9ucy9iYXNlLWZlZG9yYS55bWwgYi9pcGF0ZXN0cy9henVy ZS9henVyZV9kZWZpbml0aW9ucy9iYXNlLWZlZG9yYS55bWwKLWluZGV4IDc2ZjAxNTk2MS4uZmU5 NzkyOGU1IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvYXp1cmUvYXp1cmVfZGVmaW5pdGlvbnMvYmFz ZS1mZWRvcmEueW1sCi0rKysgYi9pcGF0ZXN0cy9henVyZS9henVyZV9kZWZpbml0aW9ucy9iYXNl LWZlZG9yYS55bWwKLUBAIC0yNCw2ICsyNCw4IEBAIHZtczoKLSAgICAgLSB0ZXN0X2lwYXRlc3Rz X3BsdWdpbnMKLSAgICAgLSB0ZXN0X3htbHJwYy90ZXN0X2Ruc19wbHVnaW4ucHkKLSAgICAgYXJn czogIi1rICdub3QgdGVzdF9kbnNfc29hJyIKLSsgICAgaWdub3JlOgotKyAgICAtIHRlc3RfaXBh c2VydmVyL3Rlc3RfbWlncmF0ZXB3LnB5Ci0gICAgIHR5cGU6IGJhc2UKLSAgICAgaXNvbGF0ZWQ6 ICJ0cnVlIgotIAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDZiMDI3NDQwZGQyYTg1Yjk4ZWVmODU3 NTI5NjdhOGQzNGRhZTk2ZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5k ZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgNSBNYXkgMjAyNSAx MzozODozMiArMDMwMAotU3ViamVjdDogW1BBVENIIDM0LzUzXSB0ZXN0X3NjaGVtYTogZG8gbm90 IGZvb2wgcHl0ZXN0IHdpdGggYSBub24tdGVzdCBjbGFzcwotIG5hbWUKLQotU2lnbmVkLW9mZi1i eTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4 YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfY21kbGlu ZS90ZXN0X3NjaGVtYS5weSB8IDEyICsrKysrKy0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGlu c2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0 X2NtZGxpbmUvdGVzdF9zY2hlbWEucHkgYi9pcGF0ZXN0cy90ZXN0X2NtZGxpbmUvdGVzdF9zY2hl bWEucHkKLWluZGV4IDI2Y2FhOGFhMS4uNDU0MjY1YTkzIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMv dGVzdF9jbWRsaW5lL3Rlc3Rfc2NoZW1hLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2NtZGxpbmUv dGVzdF9zY2hlbWEucHkKLUBAIC03LDcgKzcsNyBAQCBpbXBvcnQgdGltZQotIGZyb20gaXBhY2xp ZW50LnJlbW90ZV9wbHVnaW5zIGltcG9ydCBTZXJ2ZXJJbmZvCi0gCi0gCi0tY2xhc3MgVGVzdFNl cnZlckluZm8oU2VydmVySW5mbyk6Ci0rY2xhc3MgQVNlcnZlckluZm8oU2VydmVySW5mbyk6Ci0g ICAgICIiIlNpbXBsaWZpZWQgU2VydmVySW5mbyBjbGFzcyB3aXRoIGhhcmRjb2RlZCB2YWx1ZXMi IiIKLSAgICAgZGVmIF9faW5pdF9fKHNlbGYsIGZpbmdlcnByaW50PSdkZWFkYmVlZicsIGhvc3Ru YW1lPSdpcGEuZXhhbXBsZS50ZXN0JywKLSAgICAgICAgICAgICAgICAgIGZvcmNlX2NoZWNrPUZh bHNlLCBsYW5ndWFnZT0nZW5fVVMnLAotQEAgLTM0LDIyICszNCwyMiBAQCBjbGFzcyBUZXN0SVBB U2VydmVySW5mbzoKLSAgICAgIiIiVGVzdCB0aGF0IFNlcnZlckluZm8gZGV0ZWN0cyBjaGFuZ2Vz IGluIHJlbW90ZSBjb25maWd1cmF0aW9uIiIiCi0gCi0gICAgIGRlZiB0ZXN0X3ZhbGlkKHNlbGYp OgotLSAgICAgICAgc2VydmVyX2luZm8gPSBUZXN0U2VydmVySW5mbygpCi0rICAgICAgICBzZXJ2 ZXJfaW5mbyA9IEFTZXJ2ZXJJbmZvKCkKLSAgICAgICAgIGFzc2VydCBzZXJ2ZXJfaW5mby5pc192 YWxpZCgpIGlzIFRydWUKLSAKLSAgICAgZGVmIHRlc3RfZm9yY2VfY2hlY2soc2VsZik6Ci0tICAg ICAgICBzZXJ2ZXJfaW5mbyA9IFRlc3RTZXJ2ZXJJbmZvKGZvcmNlX2NoZWNrPVRydWUpCi0rICAg ICAgICBzZXJ2ZXJfaW5mbyA9IEFTZXJ2ZXJJbmZvKGZvcmNlX2NoZWNrPVRydWUpCi0gICAgICAg ICBhc3NlcnQgc2VydmVyX2luZm8uaXNfdmFsaWQoKSBpcyBGYWxzZQotIAotICAgICBkZWYgdGVz dF9sYW5ndWFnZV9jaGFuZ2Uoc2VsZik6Ci0tICAgICAgICBzZXJ2ZXJfaW5mbyA9IFRlc3RTZXJ2 ZXJJbmZvKCkKLSsgICAgICAgIHNlcnZlcl9pbmZvID0gQVNlcnZlckluZm8oKQotICAgICAgICAg YXNzZXJ0IHNlcnZlcl9pbmZvLmlzX3ZhbGlkKCkgaXMgVHJ1ZQotICAgICAgICAgc2VydmVyX2lu Zm8uX2xhbmd1YWdlID0gJ2ZyX0ZSJwotICAgICAgICAgYXNzZXJ0IHNlcnZlcl9pbmZvLmlzX3Zh bGlkKCkgaXMgRmFsc2UKLSAgICAgICAgIHNlcnZlcl9pbmZvLl9sYW5ndWFnZSA9ICdlbl9VUycK LSAKLSAgICAgZGVmIHRlc3RfZXhwaXJlZChzZWxmKToKLS0gICAgICAgIHNlcnZlcl9pbmZvID0g VGVzdFNlcnZlckluZm8oZXhwaXJhdGlvbj10aW1lLnRpbWUoKSArIDIpCi0rICAgICAgICBzZXJ2 ZXJfaW5mbyA9IEFTZXJ2ZXJJbmZvKGV4cGlyYXRpb249dGltZS50aW1lKCkgKyAyKQotICAgICAg ICAgYXNzZXJ0IHNlcnZlcl9pbmZvLmlzX3ZhbGlkKCkgaXMgVHJ1ZQotIAotICAgICAgICAgIyBz a2lwIHBhc3QgdGhlIGV4cGlyYXRpb24gdGltZQotQEAgLTY1LDcgKzY1LDcgQEAgY2xhc3MgVGVz dElQQVNlcnZlckluZm86Ci0gICAgICAgICBhc3NlcnQgc2VydmVyX2luZm8uaXNfdmFsaWQoKSBp cyBGYWxzZQotIAotICAgICBkZWYgdGVzdF91cGRhdGVfdmFsaWRpdHkoc2VsZik6Ci0tICAgICAg ICBzZXJ2ZXJfaW5mbyA9IFRlc3RTZXJ2ZXJJbmZvKGV4cGlyYXRpb249dGltZS50aW1lKCkgKyAx KQotKyAgICAgICAgc2VydmVyX2luZm8gPSBBU2VydmVySW5mbyhleHBpcmF0aW9uPXRpbWUudGlt ZSgpICsgMSkKLSAKLSAgICAgICAgICMgRXhwaXJhdGlvbiBhbmQgdGltZSBhcmUgb25lIHNlY29u ZCBvZmYgc28gdGhlIGNhY2hlIGlzIG9rCi0gICAgICAgICBhc3NlcnQgc2VydmVyX2luZm8uaXNf dmFsaWQoKSBpcyBUcnVlCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMGFmZjY1ZDk0NTNkNDU2Yzdh OTljMTI5NGRkZThjMmUyYWI1N2NhOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZs b3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDEyIE1heSAy MDI1IDE2OjIyOjQ2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMzUvNTNdIGRucyBpbnN0YWxsOiBm aXggc2VsaW51eCBhdmMgcmVsYWJlbHRvCi0KLUR1cmluZyB0aGUgRE5TIHNlcnZlciBpbnN0YWxs YXRpb24gaW4gU0VMaW51eCBlbmZvcmNpbmcgbW9kZSwKLWlwYS1kbnNrZXlzeW5jZC5zZXJ2aWNl IGZhaWxzIHRvIHJlc3RhcnQgYmVjYXVzZSBvZiB0aGUgQVZDOgotYXZjOiAgZGVuaWVkICB7IHJl bGFiZWx0byB9IGZvciAgcGlkPTI5OTU1IGNvbW09InN5c3RlbWQtdG1wZmlsZSIgbmFtZT0ic29m dGhzbV9waW4iIGRldj0idmRhNCIgaW5vPTM4NDQwIHNjb250ZXh0PXN5c3RlbV91OnN5c3RlbV9y OnN5c3RlbWRfdG1wZmlsZXNfdDpzMCB0Y29udGV4dD1zeXN0ZW1fdTpvYmplY3RfcjppcGFfZG5z a2V5X3Q6czAgdGNsYXNzPWZpbGUgcGVybWlzc2l2ZT0wCi0KLUFkZCB0aGUgbWlzc2luZyBwb2xp Y2llcwotYWxsb3cgc3lzdGVtZF90bXBmaWxlc190IGlwYV9kbnNrZXlfdDpmaWxlIHJlbGFiZWx0 bzsKLWFsbG93IGlwYV9kbnNrZXlfdCBmc190OmZpbGVzeXN0ZW0gYXNzb2NpYXRlOwotYWxsb3cg aXBhX29kc19leHBvcnRlcl90IGlwYV9kbnNrZXlfdDpmaWxlIHsgZ2V0YXR0ciBpb2N0bCBvcGVu IHJlYWQgfTsKLWFsbG93IG5hbWVkX3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIG9wZW4g cmVhZCB9OwotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzgyCi1T aWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2 aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3 ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENy aXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBzZWxpbnV4L2lwYS50ZSB8IDE0 ICsrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKykKLQotZGlm ZiAtLWdpdCBhL3NlbGludXgvaXBhLnRlIGIvc2VsaW51eC9pcGEudGUKLWluZGV4IGM2ZDQwYjE0 OC4uYjUzNTQwNTE4IDEwMDY0NAotLS0tIGEvc2VsaW51eC9pcGEudGUKLSsrKyBiL3NlbGludXgv aXBhLnRlCi1AQCAtMjcxLDYgKzI3MSwxOSBAQCBnZW5fcmVxdWlyZShgCi0gJykKLSBhbGxvdyBu ZGNfdCBpcGFfZG5za2V5X3Q6ZmlsZSB7IGdldGF0dHIgb3BlbiByZWFkIH07Ci0gCi0rIyBBbGxv dyByZWxhYmVsIGZyb20gc3lzdGVtZF90bXBmaWxlc190Ci0rZ2VuX3JlcXVpcmUoYAotKyAgICB0 eXBlIHN5c3RlbWRfdG1wZmlsZXNfdDsKLSsnKQotK2FsbG93IHN5c3RlbWRfdG1wZmlsZXNfdCBp cGFfZG5za2V5X3Q6ZmlsZSB7IGdldGF0dHIgcmVsYWJlbGZyb20gcmVsYWJlbHRvIH07Ci0rZ2Vu X3JlcXVpcmUoYAotKyAgICB0eXBlIGZzX3Q7Ci0rJykKLSthbGxvdyBpcGFfZG5za2V5X3QgZnNf dDpmaWxlc3lzdGVtIGFzc29jaWF0ZTsKLStnZW5fcmVxdWlyZShgCi0rICAgIHR5cGUgbmFtZWRf dDsKLSsnKQotK2FsbG93IG5hbWVkX3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIG9wZW4g cmVhZCB9OwotIAotIGRldl9yZWFkX3JhbmQoaXBhX2Ruc2tleV90KQotIGRldl9yZWFkX3N5c2Zz KGlwYV9kbnNrZXlfdCkKLUBAIC0zMjAsNiArMzMzLDcgQEAgb3B0aW9uYWxfcG9saWN5KGAKLSBh bGxvdyBpcGFfb2RzX2V4cG9ydGVyX3Qgc2VsZjpuZXRsaW5rX3JvdXRlX3NvY2tldCB7IGJpbmQg Y3JlYXRlIGdldGF0dHIgbmxtc2dfcmVhZCB9OwotIGFsbG93IGlwYV9vZHNfZXhwb3J0ZXJfdCBz ZWxmOnVkcF9zb2NrZXQgeyBjb25uZWN0IGNyZWF0ZSBnZXRhdHRyIH07Ci0gYWxsb3cgaXBhX29k c19leHBvcnRlcl90IHNlbGY6dW5peF9kZ3JhbV9zb2NrZXQgeyBjcmVhdGUgZ2V0b3B0IHNldG9w dCB9OwotK2FsbG93IGlwYV9vZHNfZXhwb3J0ZXJfdCBpcGFfZG5za2V5X3Q6ZmlsZSB7IGdldGF0 dHIgaW9jdGwgb3BlbiByZWFkIH07Ci0gCi0gbWFuYWdlX2ZpbGVzX3BhdHRlcm4oaXBhX29kc19l eHBvcnRlcl90LCBpcGFfdmFyX2xpYl90LCBpcGFfdmFyX2xpYl90KQotIGxpc3RfZGlyc19wYXR0 ZXJuKGlwYV9vZHNfZXhwb3J0ZXJfdCwgaXBhX3Zhcl9saWJfdCwgaXBhX3Zhcl9saWJfdCkKLS0t IAotMi40OS4wCi0KLQotRnJvbSBmMTg2MjhlNTkyMmE3ZGI4NDI4NTUzMWNiOWU5ZTY0MDgyY2Yw OTQxIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVk IDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTkgTWF5IDIwMjUgMTg6MDI6MjcgKzAyMDAK LVN1YmplY3Q6IFtQQVRDSCAzNi81M10gYXp1cmUgcGlwZWxpbmU6IGRpc2FibGUgSW5zdGFsbERO U1NFQ0ZpcnN0Ci0KLVRoZSB0ZXN0IGlzIHVuc3RhYmxlIGFuZCBwcmV2ZW50cyBncmVlbiBDSS4K LU1vcmVvdmVyIGl0IGlzIGFscmVhZHkgZXhlY3V0ZWQgaW4gUFJDSSBnYXRpbmcgdGVzdHMuCi0K LVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1S ZXZpZXdlZC1CeTogRnJhbmNpc2NvIFRyaXZpbm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci0tLS0K LSAuLi4vYXp1cmUvYXp1cmVfZGVmaW5pdGlvbnMvZ2F0aW5nLWZlZG9yYS55bWwgfCAyMCArKysr KysrKystLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDEwIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvYXp1cmUvYXp1cmVfZGVmaW5pdGlv bnMvZ2F0aW5nLWZlZG9yYS55bWwgYi9pcGF0ZXN0cy9henVyZS9henVyZV9kZWZpbml0aW9ucy9n YXRpbmctZmVkb3JhLnltbAotaW5kZXggMjNhNjM5M2Y2Li4wYTUzMmVkYjMgMTAwNjQ0Ci0tLS0g YS9pcGF0ZXN0cy9henVyZS9henVyZV9kZWZpbml0aW9ucy9nYXRpbmctZmVkb3JhLnltbAotKysr IGIvaXBhdGVzdHMvYXp1cmUvYXp1cmVfZGVmaW5pdGlvbnMvZ2F0aW5nLWZlZG9yYS55bWwKLUBA IC00NSwxNiArNDUsMTYgQEAgdm1zOgotICAgICAtIHRlc3RfaW50ZWdyYXRpb24vdGVzdF9leHRl cm5hbF9jYS5weTo6VGVzdEV4dGVybmFsQ0FJbnN0YWxsCi0gCi0gLSB2bV9qb2JzOgotLSAgLSBj b250YWluZXJfam9iOiBJbnN0YWxsRE5TU0VDRmlyc3QKLS0gICAgY29udGFpbmVyczoKLS0gICAg ICByZXBsaWNhczogMQotLSAgICAgIHJlc291cmNlczoKLS0gICAgICAgIHJlcGxpY2E6Ci0tICAg ICAgICAgIG1lbV9saW1pdDogIjI0MDBtIgotLSAgICAgICAgICBtZW1zd2FwX2xpbWl0OiAiMzUw MG0iCi0tICAgIHRlc3RzOgotLSAgICAtIHRlc3RfaW50ZWdyYXRpb24vdGVzdF9kbnNzZWMucHk6 OlRlc3RJbnN0YWxsRE5TU0VDRmlyc3QKLS0KLSsjICAtIGNvbnRhaW5lcl9qb2I6IEluc3RhbGxE TlNTRUNGaXJzdAotKyMgICAgY29udGFpbmVyczoKLSsjICAgICAgcmVwbGljYXM6IDEKLSsjICAg ICAgcmVzb3VyY2VzOgotKyMgICAgICAgIHJlcGxpY2E6Ci0rIyAgICAgICAgICBtZW1fbGltaXQ6 ICIyNDAwbSIKLSsjICAgICAgICAgIG1lbXN3YXBfbGltaXQ6ICIzNTAwbSIKLSsjICAgIHRlc3Rz OgotKyMgICAgLSB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfZG5zc2VjLnB5OjpUZXN0SW5zdGFsbERO U1NFQ0ZpcnN0Ci0rIwotICAgLSBjb250YWluZXJfam9iOiBzaW1wbGVfcmVwbGljYXRpb24KLSAg ICAgY29udGFpbmVyczoKLSAgICAgICByZXBsaWNhczogMQotLS0gCi0yLjQ5LjAKLQotCi1Gcm9t IDhjZmFmZWZmZDFhZDUyNjZiMzVhN2ViNzk2OTc2ZTg3MzI3OGY1MDAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot RGF0ZTogV2VkLCAxNCBNYXkgMjAyNSAxMDo0NDoyNiArMDIwMAotU3ViamVjdDogW1BBVENIIDM3 LzUzXSBpcGF0ZXN0czogYWRkIGV4dGVuc2lvbnMgdG8gc2VydmVyIGNlcnRpZmljYXRlcyBmb3IK LSBDQWxlc3MgbW9kZQotCi1XaGVuIGluc3RhbGxpbmcgdGhlIHNlcnZlciBpbiBDQSBsZXNzIG1v ZGUsIHRoZSB0ZXN0cyBnZW5lcmF0ZQotc2VydmVyIGNlcnRpZmljYXRlcyBidXQgc29tZSBleHRl bnNpb25zIHdlcmUgbWlzc2luZy4KLQotR2VuZXJhdGUgc2VydmVyIGNlcnQgd2l0aCBhbiBBdXRo b3JpdHkgS2V5IElkZW50aWZpZXIgZXh0ZW5zaW9uCi11c2luZyB0aGUgQ0EncyBzdWJqZWN0IGtl eSBpZGVudGlmaWVyLgotCi1XaXRob3V0IHRoaXMgZXh0ZW5zaW9uLCByZXBsaWNhIGluc3RhbGxh dGlvbiBmYWlscyB3aXRoCi0gICAgY2VydGlmaWNhdGUgdmVyaWZ5IGZhaWxlZDogTWlzc2luZyBB dXRob3JpdHkgS2V5IElkZW50aWZpZXIKLWluIHRoZSBzdGVwIGZldGNoaW5nIHRoZSBETSBwYXNz d29yZCBmcm9tIHRoZSBzZXJ2ZXIuCi0KLUFkZCBLZXlVc2FnZSBhbmQgRXh0ZW5kZWQgS2V5IFVz YWdlLgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85Nzg3Ci1SZWxh dGVkOiBodHRwczovL2dpdGh1Yi5jb20vZG9ndGFncGtpL3BraS9pc3N1ZXMvNTA1MQotU2lnbmVk LW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2Vk LUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIC4uLi9pbnRl Z3JhdGlvbi9jcmVhdGVfY2FsZXNzX3BraS5weSAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysr KysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jcmVhdGVfY2FsZXNzX3BraS5weSBiL2lw YXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vY3JlYXRlX2NhbGVzc19wa2kucHkKLWluZGV4 IDcxZDgwNGMzMy4uZDA2ZjFkZDhjIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9p bnRlZ3JhdGlvbi9jcmVhdGVfY2FsZXNzX3BraS5weQotKysrIGIvaXBhdGVzdHMvcHl0ZXN0X2lw YS9pbnRlZ3JhdGlvbi9jcmVhdGVfY2FsZXNzX3BraS5weQotQEAgLTE5OSw2ICsxOTksMjAgQEAg ZGVmIHByb2ZpbGVfc2VydmVyKGJ1aWxkZXIsIGNhX25pY2ssIGNhLAotICAgICAgICAgICAgIGNy aXRpY2FsPUZhbHNlLAotICAgICAgICAgKQotIAotKyAgICBpZiBjYToKLSsgICAgICAgIHRyeToK LSsgICAgICAgICAgICBza2lfZXh0ID0gY2EuY2VydC5leHRlbnNpb25zLmdldF9leHRlbnNpb25f Zm9yX2NsYXNzKAotKyAgICAgICAgICAgICAgICB4NTA5LlN1YmplY3RLZXlJZGVudGlmaWVyKQot KyAgICAgICAgICAgIGJ1aWxkZXIgPSBidWlsZGVyLmFkZF9leHRlbnNpb24oCi0rICAgICAgICAg ICAgICAgIHg1MDkuQXV0aG9yaXR5S2V5SWRlbnRpZmllci5mcm9tX2lzc3Vlcl9zdWJqZWN0X2tl eV9pZGVudGlmaWVyKAotKyAgICAgICAgICAgICAgICAgICAgc2tpX2V4dC52YWx1ZQotKyAgICAg ICAgICAgICAgICApLAotKyAgICAgICAgICAgICAgICBjcml0aWNhbD1GYWxzZSwKLSsgICAgICAg ICAgICApCi0rICAgICAgICBleGNlcHQgeDUwOS5FeHRlbnNpb25Ob3RGb3VuZDoKLSsgICAgICAg ICAgICAjIGlmIHRoZSBDQSBkb2Vzbid0IGhhdmUgYSBTS0ksIGp1c3QgaWdub3JlCi0rICAgICAg ICAgICAgcGFzcwotKwotICAgICBpZiBiYWR1c2FnZToKLSAgICAgICAgIGJ1aWxkZXIgPSBidWls ZGVyLmFkZF9leHRlbnNpb24oCi0gICAgICAgICAgICAgeDUwOS5LZXlVc2FnZSgKLUBAIC0yMTQs NiArMjI4LDI2IEBAIGRlZiBwcm9maWxlX3NlcnZlcihidWlsZGVyLCBjYV9uaWNrLCBjYSwKLSAg ICAgICAgICAgICApLAotICAgICAgICAgICAgIGNyaXRpY2FsPUZhbHNlCi0gICAgICAgICApCi0r ICAgIGVsc2U6Ci0rICAgICAgICBidWlsZGVyID0gYnVpbGRlci5hZGRfZXh0ZW5zaW9uKAotKyAg ICAgICAgICAgIHg1MDkuS2V5VXNhZ2UoCi0rICAgICAgICAgICAgICAgIGRpZ2l0YWxfc2lnbmF0 dXJlPVRydWUsCi0rICAgICAgICAgICAgICAgIGNvbnRlbnRfY29tbWl0bWVudD1GYWxzZSwKLSsg ICAgICAgICAgICAgICAga2V5X2VuY2lwaGVybWVudD1UcnVlLAotKyAgICAgICAgICAgICAgICBk YXRhX2VuY2lwaGVybWVudD1UcnVlLAotKyAgICAgICAgICAgICAgICBrZXlfYWdyZWVtZW50PUZh bHNlLAotKyAgICAgICAgICAgICAgICBrZXlfY2VydF9zaWduPUZhbHNlLAotKyAgICAgICAgICAg ICAgICBjcmxfc2lnbj1GYWxzZSwKLSsgICAgICAgICAgICAgICAgZW5jaXBoZXJfb25seT1GYWxz ZSwKLSsgICAgICAgICAgICAgICAgZGVjaXBoZXJfb25seT1GYWxzZQotKyAgICAgICAgICAgICks Ci0rICAgICAgICAgICAgY3JpdGljYWw9RmFsc2UKLSsgICAgICAgICkKLSsKLSsgICAgYnVpbGRl ciA9IGJ1aWxkZXIuYWRkX2V4dGVuc2lvbigKLSsgICAgICAgIHg1MDkuRXh0ZW5kZWRLZXlVc2Fn ZShbeDUwOS5PYmplY3RJZGVudGlmaWVyKCcxLjMuNi4xLjUuNS43LjMuMScpXSksCi0rICAgICAg ICBjcml0aWNhbD1GYWxzZSwKLSsgICAgKQotIAotICAgICBpZiB3aWxkY2FyZDoKLSAgICAgICAg IG5hbWVzID0gW3g1MDkuRE5TTmFtZSh1JyouJyArIGRvbWFpbildCi0tLSAKLTIuNDkuMAotCi0K LUZyb20gMTdmZGZmOGYyZjE2NjRhMzg3MTQ3ZTEzYTg1MWJjMTI0OGFiYzI5YyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5j b20+Ci1EYXRlOiBNb24sIDE5IE1heSAyMDI1IDA5OjU2OjM2ICswMjAwCi1TdWJqZWN0OiBbUEFU Q0ggMzgvNTNdIGlwYXRlc3RzOiB0ZXN0X21hbnVhbF9yZW5ld2FsX21hc3Rlcl90cmFuc2ZlciBt dXN0IHdhaXQKLSBmb3IgcmVwbGljYXRpb24KLQotVGhlIHRlc3QgaXMgdHJhbnNmZXJyaW5nIHRo ZSBDQSByZW5ld2FsIHJvbGUgZnJvbSBtYXN0ZXIgdG8gcmVwbGljYS4KLUl0IGNhbGxzIGlwYSBj b25maWctbW9kIG9uIHRoZSByZXBsaWNhIHRoZW4gY2hlY2tzIHdpdGggaXBhIGNvbmZpZy1zaG93 Ci1vbiB0aGUgbWFzdGVyLgotV2FpdCBmb3IgcmVwbGljYXRpb24gdG8gY29tcGxldGUgYmV0d2Vl biB0aGUgMiBzdGVwcy4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUv OTc5MAotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0t LQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9yZXBsaWNhX3Byb21vdGlvbi5weSB8 IDMgKysrCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3JlcGxpY2FfcHJvbW90aW9uLnB5IGIvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3JlcGxpY2FfcHJvbW90aW9uLnB5Ci1pbmRleCBj NzU0Y2VmODguLjNjNjc4MzNkMyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRp b24vdGVzdF9yZXBsaWNhX3Byb21vdGlvbi5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X3JlcGxpY2FfcHJvbW90aW9uLnB5Ci1AQCAtNDE3LDYgKzQxNyw5IEBAIGNsYXNz IFRlc3RSZW5ld2FsTWFzdGVyKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICByZXBsaWNhID0g c2VsZi5yZXBsaWNhc1swXQotICAgICAgICAgcmVwbGljYS5ydW5fY29tbWFuZChbJ2lwYScsICdj b25maWctbW9kJywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICctLWNhLXJlbmV3YWwt bWFzdGVyLXNlcnZlcicsIHJlcGxpY2EuaG9zdG5hbWVdKQotKyAgICAgICAgIyB3YWl0IGZvciBy ZXBsaWNhdGlvbiB0byBjb21wbGV0ZSBiZWZvcmUgY2hlY2tpbmcgb24gdGhlIG1hc3RlcgotKyAg ICAgICAgdGFza3Mud2FpdF9mb3JfcmVwbGljYXRpb24ocmVwbGljYS5sZGFwX2Nvbm5lY3QoKSkK LSsKLSAgICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsiaXBhIiwgImNv bmZpZy1zaG93Il0pLnN0ZG91dF90ZXh0Ci0gICAgICAgICBhc3NlcnQoIklQQSBDQSByZW5ld2Fs IG1hc3RlcjogJXMiICUgcmVwbGljYS5ob3N0bmFtZSBpbiByZXN1bHQpLCAoCi0gICAgICAgICAg ICAgIlJlcGxpY2EgaG9zdG5hbWUgbm90IGZvdW5kIGFtb25nIENBIHJlbmV3YWwgbWFzdGVycyIK LS0tIAotMi40OS4wCi0KLQotRnJvbSA2ZjFiOWE0MjI4ZTQwMGVmMjNmMGY0MTFlYmY4YTk4YzMw Y2QyZjlmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgSGFuaW5hIDxkaGFu aW5hQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDUgTWF5IDIwMjUgMTc6MzE6MTggKzAyMDAKLVN1 YmplY3Q6IFtQQVRDSCAzOS81M10gUmVxdWlyZSBiYXNlcmlkIGFuZCBzZWNvbmRhcnliYXNlcmlk Ci0KLVRoaXMgaGFzIGJlZW4gYWxyZWFkeSByZXF1aXJlZCBmb3Igc29tZSB0aW1lLCBqdXN0IG5v dCByZWFsbHkgZW5mb3JjZWQuCi1BbHNvIGFkZHMgZmV3IG5ldyB0ZXN0cywgYW5kIHJlbW92ZXMg dGVzdCB3aXRob3V0IHByb3ZpZGluZyByaWQuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9m cmVlaXBhL2lzc3VlLzk3NzkKLQotU2lnbmVkLW9mZi1ieTogRGF2aWQgSGFuaW5hIDxkaGFuaW5h QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVk aGF0LmNvbT4KLS0tLQotIGlwYWNsaWVudC9wbHVnaW5zL2lkcmFuZ2UucHkgICAgICAgICAgICAg IHwgMzEgKysrLS0tLS0tLS0tLS0tCi0gaXBhc2VydmVyL3BsdWdpbnMvaWRyYW5nZS5weSAgICAg ICAgICAgICAgfCAzNSArKysrKysrLS0tLS0tLS0tLQotIGlwYXRlc3RzL3Rlc3RfY21kbGluZS90 ZXN0X2NsaS5weSAgICAgICAgIHwgMTMgLS0tLS0tLQotIGlwYXRlc3RzL3Rlc3RfeG1scnBjL3Rl c3RfcmFuZ2VfcGx1Z2luLnB5IHwgNDYgKysrKysrKysrKysrKysrKysrKysrKysKLSA0IGZpbGVz IGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0 IGEvaXBhY2xpZW50L3BsdWdpbnMvaWRyYW5nZS5weSBiL2lwYWNsaWVudC9wbHVnaW5zL2lkcmFu Z2UucHkKLWluZGV4IDFhOGQ2OGVkNy4uYjYyY2IxZTM1IDEwMDY0NAotLS0tIGEvaXBhY2xpZW50 L3BsdWdpbnMvaWRyYW5nZS5weQotKysrIGIvaXBhY2xpZW50L3BsdWdpbnMvaWRyYW5nZS5weQot QEAgLTE5LDcgKzE5LDYgQEAKLSAKLSBmcm9tIGlwYWNsaWVudC5mcm9udGVuZCBpbXBvcnQgTWV0 aG9kT3ZlcnJpZGUKLSBmcm9tIGlwYWxpYi5wbHVnYWJsZSBpbXBvcnQgUmVnaXN0cnkKLS1mcm9t IGlwYWxpYiBpbXBvcnQgYXBpCi0gCi0gcmVnaXN0ZXIgPSBSZWdpc3RyeSgpCi0gCi1AQCAtMzMs OCArMzIsNyBAQCBjbGFzcyBpZHJhbmdlX2FkZChNZXRob2RPdmVycmlkZSk6Ci0gICAgICAgICBB bHNvIGVuc3VyZSB0aGF0IHNlY29uZGFyeS1yaWQtYmFzZSBpcyBwcm9tcHRlZCBmb3Igd2hlbiBy aWQtYmFzZSBpcwotICAgICAgICAgc3BlY2lmaWVkIGFuZCB2aWNlIHZlcnNhLCBpbiBjYXNlIHRo YXQgZG9tLXNpZCB3YXMgbm90IHNwZWNpZmllZC4KLSAKLS0gICAgICAgIEFsc28gZW5zdXJlIHRo YXQgcmlkLWJhc2UgYW5kIHNlY29uZGFyeS1yaWQtYmFzZSBpcyBwcm9tcHRlZCBmb3IKLS0gICAg ICAgIGlmIGlwYS1hZHRydXN0LWluc3RhbGwgaGFzIGJlZW4gcnVuIG9uIHRoZSBzeXN0ZW0uCi0r ICAgICAgICBBbHNvIGVuc3VyZSB0aGF0IHJpZC1iYXNlIGFuZCBzZWNvbmRhcnktcmlkLWJhc2Ug aXMgcHJvbXB0ZWQgZm9yLgotICAgICAgICAgIiIiCi0gCi0gICAgICAgICAjIGRvbS1zaWQgY2Fu IGJlIHNwZWNpZmllZCB1c2luZyBkb20tc2lkIG9yIGRvbS1uYW1lIG9wdGlvbnMKLUBAIC02Mywy NyArNjEsMTAgQEAgY2xhc3MgaWRyYW5nZV9hZGQoTWV0aG9kT3ZlcnJpZGUpOgotIAotICAgICAg ICAgZWxzZToKLSAgICAgICAgICAgICAjIFRoaXMgaXMgYSBsb2NhbCByYW5nZQotLSAgICAgICAg ICAgICMgRmluZCBvdXQgd2hldGhlciBpcGEtYWR0cnVzdC1pbnN0YWxsIGhhcyBiZWVuIHJhbgot LSAgICAgICAgICAgIGFkdHJ1c3RfaXNfZW5hYmxlZCA9IGFwaS5Db21tYW5kWydhZHRydXN0X2lz X2VuYWJsZWQnXSgpWydyZXN1bHQnXQotIAotLSAgICAgICAgICAgIGlmIGFkdHJ1c3RfaXNfZW5h YmxlZDoKLS0gICAgICAgICAgICAgICAgIyBJZiBpcGEtYWR0cnVzdC1pbnN0YWxsIGhhcyBiZWVu IHJhbiwgYWxsIGxvY2FsIHJhbmdlcwotLSAgICAgICAgICAgICAgICAjIHJlcXVpcmUgYm90aCBS SUQgYmFzZSBhbmQgc2Vjb25kYXJ5IFJJRCBiYXNlCi0tCi0tICAgICAgICAgICAgICAgIGlmIHJp ZF9iYXNlIGlzIE5vbmU6Ci0tICAgICAgICAgICAgICAgICAgICBzZXRfZnJvbV9wcm9tcHQoJ2lw YWJhc2VyaWQnKQotLQotLSAgICAgICAgICAgICAgICBpZiBzZWNvbmRhcnlfcmlkX2Jhc2UgaXMg Tm9uZToKLS0gICAgICAgICAgICAgICAgICAgIHNldF9mcm9tX3Byb21wdCgnaXBhc2Vjb25kYXJ5 YmFzZXJpZCcpCi0tCi0tICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgIyBUaGlz IGlzIGEgbG9jYWwgcmFuZ2Ugb24gYSBzZXJ2ZXIgd2l0aCBubyBhZHRydXN0IHN1cHBvcnQKLS0K LS0gICAgICAgICAgICAgICAgIyBQcm9tcHQgZm9yIHNlY29uZGFyeSBSSUQgYmFzZSBvbmx5IGlm IFJJRCBiYXNlIHdhcyBnaXZlbgotLSAgICAgICAgICAgICAgICBpZiByaWRfYmFzZSBpcyBub3Qg Tm9uZSBhbmQgc2Vjb25kYXJ5X3JpZF9iYXNlIGlzIE5vbmU6Ci0tICAgICAgICAgICAgICAgICAg ICBzZXRfZnJvbV9wcm9tcHQoJ2lwYXNlY29uZGFyeWJhc2VyaWQnKQotKyAgICAgICAgICAgICMg QWxsIGxvY2FsIHJhbmdlcyByZXF1aXJlIGJvdGggUklEIGJhc2UgYW5kIHNlY29uZGFyeSBSSUQg YmFzZQotKyAgICAgICAgICAgIGlmIHJpZF9iYXNlIGlzIE5vbmU6Ci0rICAgICAgICAgICAgICAg IHNldF9mcm9tX3Byb21wdCgnaXBhYmFzZXJpZCcpCi0gCi0tICAgICAgICAgICAgICAgICMgU3lt ZXRyaWNhbGx5LCBwcm9tcHQgZm9yIFJJRCBiYXNlIGlmIHNlY29uZGFyeSBSSUQgYmFzZSB3YXMK LS0gICAgICAgICAgICAgICAgIyBnaXZlbgotLSAgICAgICAgICAgICAgICBpZiByaWRfYmFzZSBp cyBOb25lIGFuZCBzZWNvbmRhcnlfcmlkX2Jhc2UgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAg ICAgICAgICBzZXRfZnJvbV9wcm9tcHQoJ2lwYWJhc2VyaWQnKQotKyAgICAgICAgICAgIGlmIHNl Y29uZGFyeV9yaWRfYmFzZSBpcyBOb25lOgotKyAgICAgICAgICAgICAgICBzZXRfZnJvbV9wcm9t cHQoJ2lwYXNlY29uZGFyeWJhc2VyaWQnKQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9wbHVnaW5z L2lkcmFuZ2UucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9pZHJhbmdlLnB5Ci1pbmRleCBkMTU1ZmI0 NmQuLjFjOGI1YzY4OSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL2lkcmFuZ2UucHkK LSsrKyBiL2lwYXNlcnZlci9wbHVnaW5zL2lkcmFuZ2UucHkKLUBAIC03MywxMCArNzMsMTQgQEAg Qm90aCB0eXBlcyBoYXZlIHRoZSBmb2xsb3dpbmcgYXR0cmlidXRlcyBpbiBjb21tb246Ci0gV2l0 aCB0aG9zZSB0d28gYXR0cmlidXRlcyBhIHJhbmdlIG9iamVjdCBjYW4gcmVzZXJ2ZSB0aGUgUG9z aXggSURzIHN0YXJ0aW5nCi0gd2l0aCBiYXNlLWlkIHVwIHRvIGJ1dCBub3QgaW5jbHVkaW5nIGJh c2UtaWQrcmFuZ2Utc2l6ZSBleGNsdXNpdmVseS4KLSAKLS1BZGRpdGlvbmFsbHkgYW4gSUQgcmFu Z2Ugb2YgdGhlIGxvY2FsIGRvbWFpbiBtYXkgc2V0Ci0rQWRkaXRpb25hbGx5IGFuIElEIHJhbmdl IG9mIHRoZSBsb2NhbCBkb21haW4gbXVzdCBzZXQKLSAgLSByaWQtYmFzZTogdGhlIGZpcnN0IFJJ RCgqKSBvZiB0aGUgY29ycmVzcG9uZGluZyBSSUQgcmFuZ2UKLSAgLSBzZWNvbmRhcnktcmlkLWJh c2U6IGZpcnN0IFJJRCBvZiB0aGUgc2Vjb25kYXJ5IFJJRCByYW5nZQotIAotK0lmIHRoZSBzZXJ2 ZXIgaXMgdXBkYXRlZCBmcm9tIGEgcHJldmlvdXMgdmVyc2lvbiBhbmQgZGVmaW5lcyBsb2NhbCBJ RCByYW5nZXMKLSttaXNzaW5nIHRoZSByaWQtYmFzZSBhbmQgc2Vjb25kYXJ5LXJpZC1iYXNlLCBp dCBpcyByZWNvbW1lbmRlZCB0byB1c2UKLStgaXBhLWlkcmFuZ2UtZml4YCBjb21tYW5kIHRvIGlk ZW50aWZ5IHRoZSBtaXNzaW5nIHZhbHVlcyBhbmQgZml4IHRoZSBJRCByYW5nZXMuCi0rCi0gYW5k IGFuIElEIHJhbmdlIG9mIGEgdHJ1c3RlZCBkb21haW4gbXVzdCBzZXQKLSAgLSByaWQtYmFzZTog dGhlIGZpcnN0IFJJRCBvZiB0aGUgY29ycmVzcG9uZGluZyBSSUQgcmFuZ2UKLSAgLSBzaWQ6IGRv bWFpbiBTSUQgb2YgdGhlIHRydXN0ZWQgZG9tYWluCi1AQCAtNTE5LDExICs1MjMsMTUgQEAgY2xh c3MgaWRyYW5nZV9hZGQoTERBUENyZWF0ZSk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdvciBpcGEtYWQtdHJ1c3QtcG9zaXggd2hlbiAnCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdhdXRvLXByaXZhdGUtZ3JvdXBzIGlzIHNwZWNpZmllZCcpKQotIAotLSAgICAgICAgICAg ICMgc2Vjb25kYXJ5IGJhc2UgcmlkIG11c3QgYmUgc2V0IGlmIGFuZCBvbmx5IGlmIGJhc2Ugcmlk IGlzIHNldAotLSAgICAgICAgICAgIGlmIGlzX3NldCgnaXBhc2Vjb25kYXJ5YmFzZXJpZCcpICE9 IGlzX3NldCgnaXBhYmFzZXJpZCcpOgotLSAgICAgICAgICAgICAgICByYWlzZSBlcnJvcnMuVmFs aWRhdGlvbkVycm9yKG5hbWU9J0lEIFJhbmdlIHNldHVwJywKLS0gICAgICAgICAgICAgICAgICAg IGVycm9yPV8oJ09wdGlvbnMgc2Vjb25kYXJ5LXJpZC1iYXNlIGFuZCByaWQtYmFzZSBtdXN0ICcK LS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JlIHVzZWQgdG9nZXRoZXInKSkKLSsgICAg ICAgICAgICAjIGJhc2UgcmlkIGFuZCBzZWNvbmRhcnkgYmFzZSByaWQgbXVzdCBiZSBzZXQgZm9y IHNpZGdlbgotKyAgICAgICAgICAgIGlmIG5vdCAoaXNfc2V0KCdpcGFiYXNlcmlkJykgYW5kIGlz X3NldCgnaXBhc2Vjb25kYXJ5YmFzZXJpZCcpKToKLSsgICAgICAgICAgICAgICAgcmFpc2UgZXJy b3JzLlZhbGlkYXRpb25FcnJvcigKLSsgICAgICAgICAgICAgICAgICAgIG5hbWU9J0lEIFJhbmdl IHNldHVwJywKLSsgICAgICAgICAgICAgICAgICAgIGVycm9yPV8oCi0rICAgICAgICAgICAgICAg ICAgICAgICAgJ1lvdSBtdXN0IHNwZWNpZnkgYm90aCByaWQtYmFzZSBhbmQgJwotKyAgICAgICAg ICAgICAgICAgICAgICAgICdzZWNvbmRhcnktcmlkLWJhc2Ugb3B0aW9ucy4nCi0rICAgICAgICAg ICAgICAgICAgICApCi0rICAgICAgICAgICAgICAgICkKLSAKLSAgICAgICAgICAgICAjIGFuZCB0 aGV5IG11c3Qgbm90IG92ZXJsYXAKLSAgICAgICAgICAgICBpZiBpc19zZXQoJ2lwYWJhc2VyaWQn KSBhbmQgaXNfc2V0KCdpcGFzZWNvbmRhcnliYXNlcmlkJyk6Ci1AQCAtNTM0LDIxICs1NDIsNiBA QCBjbGFzcyBpZHJhbmdlX2FkZChMREFQQ3JlYXRlKToKLSAgICAgICAgICAgICAgICAgICAgICAg ICByYWlzZSBlcnJvcnMuVmFsaWRhdGlvbkVycm9yKG5hbWU9J0lEIFJhbmdlIHNldHVwJywKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I9XygiUHJpbWFyeSBSSUQgcmFuZ2UgYW5k IHNlY29uZGFyeSBSSUQgcmFuZ2UiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiBjYW5ub3Qgb3ZlcmxhcCIpKQotLQotLSAgICAgICAgICAgICMgcmlkLWJhc2UgYW5kIHNl Y29uZGFyeS1yaWQtYmFzZSBtdXN0IGJlIHNldCBpZgotLSAgICAgICAgICAgICMgaXBhLWFkdHJ1 c3QtaW5zdGFsbCBoYXMgYmVlbiBydW4gb24gdGhlIHN5c3RlbQotLSAgICAgICAgICAgIGFkdHJ1 c3RfaXNfZW5hYmxlZCA9IGFwaS5Db21tYW5kWydhZHRydXN0X2lzX2VuYWJsZWQnXSgpWydyZXN1 bHQnXQotLQotLSAgICAgICAgICAgIGlmIGFkdHJ1c3RfaXNfZW5hYmxlZCBhbmQgbm90ICgKLS0g ICAgICAgICAgICAgICAgICAgIGlzX3NldCgnaXBhYmFzZXJpZCcpIGFuZCBpc19zZXQoJ2lwYXNl Y29uZGFyeWJhc2VyaWQnKSk6Ci0tICAgICAgICAgICAgICAgIHJhaXNlIGVycm9ycy5WYWxpZGF0 aW9uRXJyb3IoCi0tICAgICAgICAgICAgICAgICAgICBuYW1lPSdJRCBSYW5nZSBzZXR1cCcsCi0t ICAgICAgICAgICAgICAgICAgICBlcnJvcj1fKAotLSAgICAgICAgICAgICAgICAgICAgICAgICdZ b3UgbXVzdCBzcGVjaWZ5IGJvdGggcmlkLWJhc2UgYW5kICcKLS0gICAgICAgICAgICAgICAgICAg ICAgICAnc2Vjb25kYXJ5LXJpZC1iYXNlIG9wdGlvbnMsIGJlY2F1c2UgJwotLSAgICAgICAgICAg ICAgICAgICAgICAgICdpcGEtYWR0cnVzdC1pbnN0YWxsIGhhcyBhbHJlYWR5IGJlZW4gcnVuLicK LS0gICAgICAgICAgICAgICAgICAgICkKLS0gICAgICAgICAgICAgICAgKQotICAgICAgICAgcmV0 dXJuIGRuCi0gCi0gICAgIGRlZiBwb3N0X2NhbGxiYWNrKHNlbGYsIGxkYXAsIGRuLCBlbnRyeV9h dHRycywgKmtleXMsICoqb3B0aW9ucyk6Ci1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9jbWRs aW5lL3Rlc3RfY2xpLnB5IGIvaXBhdGVzdHMvdGVzdF9jbWRsaW5lL3Rlc3RfY2xpLnB5Ci1pbmRl eCA3MTg3OThkNjguLjZjODZiYmI2NSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfY21kbGlu ZS90ZXN0X2NsaS5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9jbWRsaW5lL3Rlc3RfY2xpLnB5Ci1A QCAtMjc2LDI1ICsyNzYsMTIgQEAgY2xhc3MgVGVzdENMSVBhcnNpbmc6Ci0gICAgICAgICAgICAg ICAgIGlwYXNlY29uZGFyeWJhc2VyaWQ9dSc1MDAwMDAnLAotICAgICAgICAgICAgICkKLSAKLS0g ICAgICAgIGRlZiB0ZXN0X3dpdGhvdXRfb3B0aW9ucygpOgotLSAgICAgICAgICAgIHNlbGYuY2hl Y2tfY29tbWFuZCgKLS0gICAgICAgICAgICAgICAgJ2lkcmFuZ2VfYWRkIHJhbmdlMSAtLWJhc2Ut aWQ9MSAtLXJhbmdlLXNpemU9MScsCi0tICAgICAgICAgICAgICAgICdpZHJhbmdlX2FkZCcsCi0t ICAgICAgICAgICAgICAgIGNuPXUncmFuZ2UxJywKLS0gICAgICAgICAgICAgICAgaXBhYmFzZWlk PXUnMScsCi0tICAgICAgICAgICAgICAgIGlwYWlkcmFuZ2VzaXplPXUnMScsCi0tICAgICAgICAg ICAgKQotLQotICAgICAgICAgYWR0cnVzdF9kbiA9ICdjbj1BRFRSVVNULGNuPSVzLGNuPW1hc3Rl cnMsY249aXBhLGNuPWV0YywlcycgJSBcCi0gICAgICAgICAgICAgICAgICAgICAgKGFwaS5lbnYu aG9zdCwgYXBpLmVudi5iYXNlZG4pCi0gICAgICAgICBhZHRydXN0X2lzX2VuYWJsZWQgPSBhcGku Q29tbWFuZFsnYWR0cnVzdF9pc19lbmFibGVkJ10oKVsncmVzdWx0J10KLSAgICAgICAgIG1vY2ts ZGFwID0gTm9uZQotIAotICAgICAgICAgaWYgbm90IGFkdHJ1c3RfaXNfZW5hYmxlZDoKLS0gICAg ICAgICAgICAjIGlwYS1hZHRydXN0LWluc3RhbGwgbm90IHJ1biAtIG5vIG5lZWQgdG8gcGFzcyBy aWQtYmFzZQotLSAgICAgICAgICAgICMgYW5kIHNlY29uZGFyeS1yaWQtYmFzZQotLSAgICAgICAg ICAgIHRlc3Rfd2l0aG91dF9vcHRpb25zKCkKLS0KLSAgICAgICAgICAgICAjIENyZWF0ZSBhIG1v Y2sgc2VydmljZSBvYmplY3QgdG8gdGVzdCBhZ2FpbnN0Ci0gICAgICAgICAgICAgYWR0cnVzdF9h ZGQgPSBkaWN0KAotICAgICAgICAgICAgICAgICBpcGFjb25maWdzdHJpbmc9YidlbmFibGVkU2Vy dmljZScsCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9yYW5nZV9wbHVn aW4ucHkgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3JhbmdlX3BsdWdpbi5weQotaW5kZXgg MzY0Njk1MjViLi5mZmM4OWMwMjggMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90 ZXN0X3JhbmdlX3BsdWdpbi5weQotKysrIGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9yYW5n ZV9wbHVnaW4ucHkKLUBAIC0xMDg2LDQgKzEwODYsNTAgQEAgY2xhc3MgdGVzdF9yYW5nZShEZWNs YXJhdGl2ZSk6Ci0gICAgICAgICAgICAgKSwKLSAgICAgICAgICksCi0gCi0rICAgICAgICAjIEZh aWwgd2l0aG91dCBiYXNlcmlkIGFuZCBzZWNvbmRhcnliYXNlcmlkCi0rCi0rICAgICAgICBkaWN0 KAotKyAgICAgICAgICAgIGRlc2M9J1RyeSBjcmVhdGluZyBJRCByYW5nZSAlciB3aXRob3V0IGJv dGggcmlkJyAlICh0ZXN0cmFuZ2U5KSwKLSsgICAgICAgICAgICBjb21tYW5kPSgnaWRyYW5nZV9h ZGQnLCBbdGVzdHJhbmdlOV0sCi0rICAgICAgICAgICAgICAgICAgICAgZGljdChpcGFiYXNlaWQ9 dGVzdHJhbmdlOV9iYXNlX2lkLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgaXBhaWRyYW5n ZXNpemU9dGVzdHJhbmdlOV9zaXplKSksCi0rICAgICAgICAgICAgZXhwZWN0ZWQ9ZXJyb3JzLlZh bGlkYXRpb25FcnJvcigKLSsgICAgICAgICAgICAgICAgbmFtZT0nSUQgUmFuZ2Ugc2V0dXAnLAot KyAgICAgICAgICAgICAgICBlcnJvcj0oCi0rICAgICAgICAgICAgICAgICAgICAnWW91IG11c3Qg c3BlY2lmeSBib3RoIHJpZC1iYXNlIGFuZCAnCi0rICAgICAgICAgICAgICAgICAgICAnc2Vjb25k YXJ5LXJpZC1iYXNlIG9wdGlvbnMuJwotKyAgICAgICAgICAgICAgICApCi0rICAgICAgICAgICAg KQotKyAgICAgICAgKSwKLSsKLSsgICAgICAgIGRpY3QoCi0rICAgICAgICAgICAgZGVzYz0nVHJ5 IGNyZWF0aW5nIElEIHJhbmdlICVyIHdpdGhvdXQnCi0rICAgICAgICAgICAgJ3NlY29uZGFyeWJh c2VyaWQnICUgKHRlc3RyYW5nZTkpLAotKyAgICAgICAgICAgIGNvbW1hbmQ9KCdpZHJhbmdlX2Fk ZCcsIFt0ZXN0cmFuZ2U5XSwKLSsgICAgICAgICAgICAgICAgICAgICBkaWN0KGlwYWJhc2VpZD10 ZXN0cmFuZ2U5X2Jhc2VfaWQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBpcGFpZHJhbmdl c2l6ZT10ZXN0cmFuZ2U5X3NpemUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBpcGFiYXNl cmlkPXRlc3RyYW5nZTlfYmFzZV9yaWQpKSwKLSsgICAgICAgICAgICBleHBlY3RlZD1lcnJvcnMu VmFsaWRhdGlvbkVycm9yKAotKyAgICAgICAgICAgICAgICBuYW1lPSdJRCBSYW5nZSBzZXR1cCcs Ci0rICAgICAgICAgICAgICAgIGVycm9yPSgKLSsgICAgICAgICAgICAgICAgICAgICdZb3UgbXVz dCBzcGVjaWZ5IGJvdGggcmlkLWJhc2UgYW5kICcKLSsgICAgICAgICAgICAgICAgICAgICdzZWNv bmRhcnktcmlkLWJhc2Ugb3B0aW9ucy4nCi0rICAgICAgICAgICAgICAgICkKLSsgICAgICAgICAg ICApCi0rICAgICAgICApLAotKwotKyAgICAgICAgZGljdCgKLSsgICAgICAgICAgICBkZXNjPSdU cnkgY3JlYXRpbmcgSUQgcmFuZ2UgJXIgd2l0aG91dCBiYXNlcmlkJyAlICh0ZXN0cmFuZ2U5KSwK LSsgICAgICAgICAgICBjb21tYW5kPSgnaWRyYW5nZV9hZGQnLCBbdGVzdHJhbmdlOV0sCi0rICAg ICAgICAgICAgICAgICAgICAgZGljdChpcGFiYXNlaWQ9dGVzdHJhbmdlOV9iYXNlX2lkLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgaXBhaWRyYW5nZXNpemU9dGVzdHJhbmdlOV9zaXplLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgaXBhc2Vjb25kYXJ5YmFzZXJpZD10ZXN0cmFuZ2U5 X3NlY29uZGFyeV9iYXNlX3JpZCkpLAotKyAgICAgICAgICAgIGV4cGVjdGVkPWVycm9ycy5WYWxp ZGF0aW9uRXJyb3IoCi0rICAgICAgICAgICAgICAgIG5hbWU9J0lEIFJhbmdlIHNldHVwJywKLSsg ICAgICAgICAgICAgICAgZXJyb3I9KAotKyAgICAgICAgICAgICAgICAgICAgJ1lvdSBtdXN0IHNw ZWNpZnkgYm90aCByaWQtYmFzZSBhbmQgJwotKyAgICAgICAgICAgICAgICAgICAgJ3NlY29uZGFy eS1yaWQtYmFzZSBvcHRpb25zLicKLSsgICAgICAgICAgICAgICAgKQotKyAgICAgICAgICAgICkK LSsgICAgICAgICksCi0gICAgIF0KLS0tIAotMi40OS4wCi0KLQotRnJvbSBhNTVlODM1MzM5ZmY2 YWU3YTdjMDc3NWExZGY4Yjc4ZmY1MjNhMzQ2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjkg QXByIDIwMjUgMTE6MzY6NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0MC81M10gUFJDSSB0ZXN0 czogdXBkYXRlIHZhZ3JhbnQgaW1hZ2Ugd2l0aCBsYXRlc3QgYmluZAotIHBhY2thZ2UKLQotRmVk b3JhIDQyIGlzIG5vdyBvZmZpY2lhbGx5IGF2YWlsYWJsZS4gVXBkYXRlIHRoZSBiaW5kIGFuZCBi aW5kLWR5bmRiLWxkYXAKLXBhY2thZ2VzIHRvIHRoZSBsYXRlc3QgdmVyc2lvbnMKLShiaW5kLTku MTguMzUtMi5mYzQyLCBiaW5kLWR5bmRiLWxkYXAtMTEuMTEtMy5mYzQyKQotYnkgdXBkYXRpbmcg dGhlIHZyYWdyYW50IGltYWdlIHRvIDAuMC4yCi0KLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJs YW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRnJhbmNpc2NvIFRyaXZp bm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25z L2dhdGluZy55YW1sICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSBpcGF0ZXN0cy9w cmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICAgICAgICB8IDIg Ky0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3Nl bGludXgueWFtbCB8IDIgKy0KLSBpcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL3RlbXBfY29tbWl0 LnlhbWwgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KLSA0IGZpbGVzIGNoYW5nZWQsIDQgaW5z ZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lf ZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL2dhdGlu Zy55YW1sCi1pbmRleCBmY2I0NzdlMzQuLmYxZTZhZmQxZSAxMDA2NDQKLS0tLSBhL2lwYXRlc3Rz L3ByY2lfZGVmaW5pdGlvbnMvZ2F0aW5nLnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvZ2F0aW5nLnlhbWwKLUBAIC0zOSw3ICszOSw3IEBAIGpvYnM6Ci0gICAgICAgICBnaXRf cmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAgICAgICB0ZW1wbGF0ZTogJmNpLWlwYS00LTEy LWxhdGVzdAotICAgICAgICAgICBuYW1lOiBmcmVlaXBhL2NpLWlwYS00LTEyLWY0MgotLSAgICAg ICAgICB2ZXJzaW9uOiAwLjAuMQotKyAgICAgICAgICB2ZXJzaW9uOiAwLjAuMgotICAgICAgICAg dGltZW91dDogMTgwMAotICAgICAgICAgdG9wb2xvZ3k6ICpidWlsZAotIAotZGlmZiAtLWdpdCBh L2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCBi L2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAot aW5kZXggNTA1NDBmMzYwLi42MzVhNWE2NjMgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2Rl ZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3By Y2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotQEAgLTU1LDcgKzU1 LDcgQEAgam9iczoKLSAgICAgICAgIGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScKLSAgICAg ICAgIHRlbXBsYXRlOiAmY2ktaXBhLTQtMTItbGF0ZXN0Ci0gICAgICAgICAgIG5hbWU6IGZyZWVp cGEvY2ktaXBhLTQtMTItZjQyCi0tICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0rICAgICAgICAg IHZlcnNpb246IDAuMC4yCi0gICAgICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9n eTogKmJ1aWxkCi0gCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdo dGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRp b25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotaW5kZXggMDUxNjdmNmQ3 Li43Y2IwNDQ0MDQgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0 bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4LnlhbWwKLUBAIC01NSw3ICs1 NSw3IEBAIGpvYnM6Ci0gICAgICAgICBnaXRfcmVmc3BlYzogJ3tnaXRfcmVmc3BlY30nCi0gICAg ICAgICB0ZW1wbGF0ZTogJmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAgICAgICBuYW1lOiBmcmVl aXBhL2NpLWlwYS00LTEyLWY0MgotLSAgICAgICAgICB2ZXJzaW9uOiAwLjAuMQotKyAgICAgICAg ICB2ZXJzaW9uOiAwLjAuMgotICAgICAgICAgdGltZW91dDogMTgwMAotICAgICAgICAgdG9wb2xv Z3k6ICpidWlsZAotIAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVt cF9jb21taXQueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFt bAotaW5kZXggNjJmNmYwYzA3Li4yNGI3YjRjNDggMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNp X2RlZmluaXRpb25zL3RlbXBfY29tbWl0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvdGVtcF9jb21taXQueWFtbAotQEAgLTYxLDcgKzYxLDcgQEAgam9iczoKLSAgICAgICAg IGdpdF9yZWZzcGVjOiAne2dpdF9yZWZzcGVjfScKLSAgICAgICAgIHRlbXBsYXRlOiAmY2ktaXBh LTQtMTItbGF0ZXN0Ci0gICAgICAgICAgIG5hbWU6IGZyZWVpcGEvY2ktaXBhLTQtMTItZjQyCi0t ICAgICAgICAgIHZlcnNpb246IDAuMC4xCi0rICAgICAgICAgIHZlcnNpb246IDAuMC4yCi0gICAg ICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0gCi0tLSAKLTIu NDkuMAotCi0KLUZyb20gMWMwNjk2NTM4MDZjZTgyMjQxMzJhMzVkNmQzYmQwMWFjNTMwOThiNiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8Zmxv QHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDI2IE1heSAyMDI1IDE4OjI0OjEyICswMjAwCi1TdWJq ZWN0OiBbUEFUQ0ggNDEvNTNdIGlwYSBjb25maWctbW9kOiBmaXggaW50ZXJuYWxlcnJvciB3aGVu IHNldHRpbmcgYW4gZW1wdHkKLSBpcGFjb25maWdzdHJpbmcKLQotV2hlbiBpcGEgY29uZmlnLW1v ZCBpcyBjYWxsZWQgd2l0aCAtLWlwYWNvbmZpZ3N0cmluZz0iIiwgdGhlIGNvbW1hbmQKLWZhaWxz IHdpdGggYW4gSW50ZXJuYWxFcnJvci4KLVRoaXMgaGFwcGVucyBiZWNhdXNlIHRoZSBjb2RlIGFk ZGVkIGZvciAzMmJpdHMgdWlkIGRpZCBub3QgcHJvcGVybHkKLWhhbmRsZSB0aGlzIGNhc2UuCi0K LVNhbWUgaXNzdWUgaWYgaXBhIHN1YmlkLXN0YXRzIGlzIGNhbGxlZCB3aXRoIGEgbnVsbCBpcGFj b25maWdzdHJpbmcuCi0KLVRoaXMgY29tbWl0IG5vdyBoYW5kbGVzIHdoZW4gaXBhY29uZmlnc3Ry aW5nIGlzIGVtcHR5IG9yIE5vbmUsIGFuZCBhZGRzCi1hIHRlc3QuCi0KLUZpeGVzOiBodHRwczov L3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3OTQKLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJs YW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRnJhbmNpc2NvIFRyaXZp bm8gPGZ0cml2aW5vQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9jb25maWcu cHkgICAgICAgICAgICAgICAgfCAgNCArLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rl c3RfY29tbWFuZHMucHkgfCAzMCArKysrKysrKysrKysrKysrKysrKysrCi0gMiBmaWxlcyBjaGFu Z2VkLCAzMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBh c2VydmVyL3BsdWdpbnMvY29uZmlnLnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvY29uZmlnLnB5Ci1p bmRleCBjNTA5YzJjMTMuLmQ5NzY5YWIxZiAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5z L2NvbmZpZy5weQotKysrIGIvaXBhc2VydmVyL3BsdWdpbnMvY29uZmlnLnB5Ci1AQCAtNTI0LDcg KzUyNCw3IEBAIGNsYXNzIGNvbmZpZyhMREFQT2JqZWN0KToKLSAgICAgZGVmIGlzX2NvbmZpZ19v cHRpb25fcHJlc2VudChzZWxmLCBvcHRpb24pOgotICAgICAgICAgZG4gPSBETigoJ2NuJywgJ2lw YWNvbmZpZycpLCAoJ2NuJywgJ2V0YycpLCBzZWxmLmFwaS5lbnYuYmFzZWRuKQotICAgICAgICAg Y29uZmlnZW50cnkgPSBzZWxmLmFwaS5CYWNrZW5kLmxkYXAyLmdldF9lbnRyeShkbiwgWydpcGFj b25maWdzdHJpbmcnXSkKLS0gICAgICAgIGNvbmZpZ3N0cmluZyA9IGNvbmZpZ2VudHJ5WydpcGFj b25maWdzdHJpbmcnXQotKyAgICAgICAgY29uZmlnc3RyaW5nID0gY29uZmlnZW50cnkuZ2V0KCdp cGFjb25maWdzdHJpbmcnKSBvciBbXQotICAgICAgICAgcmV0dXJuIChvcHRpb24ubG93ZXIoKSBp biBtYXAoc3RyLmxvd2VyLCBjb25maWdzdHJpbmcpKQotIAotIAotQEAgLTcwMiw3ICs3MDIsNyBA QCBjbGFzcyBjb25maWdfbW9kKExEQVBVcGRhdGUpOgotICAgICAgICAgICAgICAgICAgICAgZXJy b3I9XygnU0VMaW51eCB1c2VyIG1hcCBkZWZhdWx0IHVzZXIgbm90IGluIG9yZGVyIGxpc3QnKSkK LSAKLSAgICAgICAgIGlmICdpcGFjb25maWdzdHJpbmcnIGluIGVudHJ5X2F0dHJzOgotLSAgICAg ICAgICAgIGNvbmZpZ3N0cmluZyA9IGVudHJ5X2F0dHJzWydpcGFjb25maWdzdHJpbmcnXQotKyAg ICAgICAgICAgIGNvbmZpZ3N0cmluZyA9IGVudHJ5X2F0dHJzWydpcGFjb25maWdzdHJpbmcnXSBv ciBbXQotICAgICAgICAgICAgIGlmICdTdWJJRDpEaXNhYmxlJy5sb3dlcigpIGluIG1hcChzdHIu bG93ZXIsIGNvbmZpZ3N0cmluZyk6Ci0gICAgICAgICAgICAgICAgICMgQ2hlY2sgaWYgU3ViSURz IGFscmVhZHkgYWxsb2NhdGVkCi0gICAgICAgICAgICAgICAgIHRyeToKLWRpZmYgLS1naXQgYS9p cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkgYi9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLWluZGV4IGY2NDE1MjkwOC4uOWNhZDU3NzIx IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5 Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLUBAIC0y MTIzLDYgKzIxMjMsMzYgQEAgY2xhc3MgVGVzdElQQUNvbW1hbmRXaXRob3V0UmVwbGljYShJbnRl Z3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0IG9sZF9lcnJfbXNnIG5vdCBpbiBkaXJzcnZf ZXJyb3JfbG9nCi0gICAgICAgICBhc3NlcnQgcmUuc2VhcmNoKG5ld19lcnJfbXNnLCBkaXJzcnZf ZXJyb3JfbG9nKQotIAotKyAgICBAcHl0ZXN0LmZpeHR1cmUKLSsgICAgZGVmIHVwZGF0ZV9pcGFj b25maWdzdHJpbmcoc2VsZik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgZml4dHVyZSBz dG9yZXMgdGhlIHZhbHVlIG9mIGlwYWNvbmZpZ3N0cmluZyBwYXJhbWV0ZXIKLSsgICAgICAgIGFu ZCByZXZlcnRzIHRvIHRoZSBpbml0aWFsIHZhbHVlCi0rICAgICAgICAiIiIKLSsgICAgICAgIGxk YXAgPSBzZWxmLm1hc3Rlci5sZGFwX2Nvbm5lY3QoKQotKyAgICAgICAgZG4gPSBETigKLSsgICAg ICAgICAgICAoImNuIiwgImlwYWNvbmZpZyIpLCAoJ2NuJywgJ2V0YycpLAotKyAgICAgICAgICAg IHNlbGYubWFzdGVyLmRvbWFpbi5iYXNlZG4KLSsgICAgICAgICkKLSsgICAgICAgIGVudHJ5ID0g bGRhcC5nZXRfZW50cnkoZG4pCi0rICAgICAgICB2YWwgPSBlbnRyeS5nZXQoImlwYWNvbmZpZ3N0 cmluZyIpCi0rICAgICAgICB5aWVsZAotKwotKyAgICAgICAgIyByZS1yZWFkIHRoZSBlbnRyeSBh cyB0aGUgdmFsdWUgbWF5IGhhdmUgYmVlbiBjaGFuZ2VkIGJ5IHRoZSB0ZXN0Ci0rICAgICAgICBl bnRyeSA9IGxkYXAuZ2V0X2VudHJ5KGRuKQotKyAgICAgICAgZW50cnlbImlwYWNvbmZpZ3N0cmlu ZyJdID0gdmFsCi0rICAgICAgICBsZGFwLnVwZGF0ZV9lbnRyeShlbnRyeSkKLSsKLSsgICAgZGVm IHRlc3RfZW1wdHlfaXBhY29uZmlnc3RyaW5nKHNlbGYsIHVwZGF0ZV9pcGFjb25maWdzdHJpbmcp OgotKyAgICAgICAgIiIiCi0rICAgICAgICBUZXN0IGZvciBodHRwczovL3BhZ3VyZS5pby9mcmVl aXBhL2lzc3VlLzk3OTQKLSsKLSsgICAgICAgIFRlc3QgdGhhdCBzZXR0aW5nIGFuIGVtcHR5IGlw YWNvbmZpZ3N0cmluZyBkb2VzIG5vdCBmYWlsLgotKyAgICAgICAgU3Vic2VxdWVudCBjYWxscyB0 byBpcGEgc3ViaWQtc3RhdHMgc2hvdWxkIGFsc28gc3VjY2VlZC4KLSsgICAgICAgICIiIgotKyAg ICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydpcGEnLCAnY29uZmlnLW1vZCcsICItLWlw YWNvbmZpZ3N0cmluZz0iXSkKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBh JywgJ3N1YmlkLXN0YXRzJ10pCi0rCi0gICAgIGRlZiB0ZXN0X2lwYV9jYWNlcnRfbWFuYWdlX3By dW5lKHNlbGYpOgotICAgICAgICAgIiIiVGVzdCBmb3IgaXBhLWNhY2VydC1tYW5hZ2UgcHJ1bmUK LSAKLS0tIAotMi40OS4wCi0KLQotRnJvbSAzODM1NzRiZTRlNjQ1MTU1ZmI1OGE3OTYxMjEzOGU1 MWMzYmRjNGViIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogU3VkaGlyIE1lbm9uIDxz dW1lbm9uQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDEzIE1heSAyMDI1IDE1OjU4OjU2ICswNTMw Ci1TdWJqZWN0OiBbUEFUQ0ggNDIvNTNdIGlwYXRlc3RzOiBUZXN0IHRvIGNoZWNrIGRvdCBmb3J3 YXJkZXJzIGFyZSBhZGRlZCB0bwotIHVuYm91bmQuCi0KLVRoaXMgdGVzdCBjaGVja3MgdGhhdCBk bnMgZm9yd2FyZGVyIGlzIGxpc3RlZCBpbgotZG5zc2VydmVyLXNob3cgY29tbWFuZCBhbmQgYWxz byB0aGUgZG90IGZvcndhcmRlciBpcwotYWRkZWQgdG8gdW5ib3VuZCBhbmQgaW5jbHVkZWQgaW4g L2V0Yy91bmJvdW5kL2NvbmYuZC96enotaXBhLmNvbmYKLQotU2lnbmVkLW9mZi1ieTogU3VkaGly IE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbnRvbmlvIFRvcnJlcyA8YW50 b3JyZXNAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9l ZG5zLnB5IHwgMTggKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDE4IGluc2Vy dGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9l ZG5zLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkKLWluZGV4IGI0 MjU3MGZmYS4uZGQwNDZmMjI2IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlv bi90ZXN0X2VkbnMucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5z LnB5Ci1AQCAtMjQ3LDYgKzI0Nyw3IEBAIGNsYXNzIFRlc3RETlNPdmVyVExTKEludGVncmF0aW9u VGVzdCk6Ci0gCi0gCi0gY2xhc3MgVGVzdEROU19Eb1QoVGVzdEROUyk6Ci0rCi0gICAgIEBjbGFz c21ldGhvZAotICAgICBkZWYgaW5zdGFsbChjbHMsIG1oKToKLSAgICAgICAgIHRhc2tzLmluc3Rh bGxfcGFja2FnZXMoY2xzLm1hc3RlciwgWycqaXBhLXNlcnZlci1lbmNyeXB0ZWQtZG5zJ10pCi1A QCAtMjU1LDMgKzI1NiwyMCBAQCBjbGFzcyBUZXN0RE5TX0RvVChUZXN0RE5TKToKLSAgICAgICAg ICAgICAiLS1kb3QtZm9yd2FyZGVyIiwgIjEuMS4xLjEjY2xvdWRmbGFyZS1kbnMuY29tIgotICAg ICAgICAgXQotICAgICAgICAgdGFza3MuaW5zdGFsbF9tYXN0ZXIoY2xzLm1hc3RlciwgZXh0cmFf YXJncz1hcmdzKQotKwotKyAgICBkZWYgdGVzdF9jaGVja19kb3RfZm9yd2FyZGVyX2FkZGVkX2lu X2lwYV9jb25mKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3QgY2hlY2tz IHRoYXQgZm9yd2FyZGVycyBpcyBsaXN0ZWQgaW4KLSsgICAgICAgIGRuc3NlcnZlci1zaG93IGNv bW1hbmQgYW5kIGFsc28gdGhlIGRvdCBmb3J3YXJkZXIgaXMKLSsgICAgICAgIGFkZGVkIHRvIHVu Ym91bmQgYW5kIGluY2x1ZGVkIGluCi0rICAgICAgICAvZXRjL3VuYm91bmQvY29uZi5kL3p6ei1p cGEuY29uZgotKyAgICAgICAgIiIiCi0rICAgICAgICBtc2cgPSAnRm9yd2FyZGVyczogMTI3LjAu MC41NScKLSsgICAgICAgIGNtZDEgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLSsgICAgICAg ICAgICBbImlwYSIsICJkbnNzZXJ2ZXItc2hvdyIsIHNlbGYubWFzdGVyLmhvc3RuYW1lXQotKyAg ICAgICAgKQotKyAgICAgICAgYXNzZXJ0IG1zZyBpbiBjbWQxLnN0ZG91dF90ZXh0Ci0rICAgICAg ICBjb250ZW50cyA9IHNlbGYubWFzdGVyLmdldF9maWxlX2NvbnRlbnRzKAotKyAgICAgICAgICAg IHBhdGhzLlVOQk9VTkRfQ09ORiwgZW5jb2Rpbmc9J3V0Zi04JwotKyAgICAgICAgKQotKyAgICAg ICAgYXNzZXJ0ICdmb3J3YXJkLWFkZHI6IDEuMS4xLjEjY2xvdWRmbGFyZS1kbnMuY29tJyBpbiBj b250ZW50cwotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIDc3N2Y0YzBlZDYzMWY3MGI2NGY2YTk3MmU3 ZTZjYjE0MDE1NWVmMWYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRl bmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgOCBNYXkgMjAyNSAxMzo1NToz NCAtMDQwMAotU3ViamVjdDogW1BBVENIIDQzLzUzXSBGaXggc29tZSBpc3N1ZXMgaWRlbnRpZmll ZCBieSBhIHN0YXRpYyBhbmFseXplcgotCi1SZW1vdmUgcmVzb3VyY2UgbGVhayB3aGVuIHJlYWRp bmcgdGhlIElQQSBjb25maWcgaW4gaXBhLWdldGtleXRhYgotRnJlZSBwb3B0IGluIGlwYS1nZXRr ZXl0YWIKLQotSW5pdGlhbGl6ZSByZXQgaW4gaXBhLW90cGQvcGFzc2tleS5jCi0KLVVzZSB0aGUg Y29ycmVjdCBmcmVlIGZ1bmN0aW9uIGluIHV0aWwvaXBhX2tyYjUuYwotCi1SZWxhdGVkOiBodHRw czovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk0NjgKLUZpeGVzOiBodHRwczovL3BhZ3VyZS5p by9mcmVlaXBhL2lzc3VlLzkzNjUKLQotU2lnbmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJj cml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJl ZGhhdC5jb20+Ci0tLS0KLSBjbGllbnQvaXBhLWdldGtleXRhYi5jICAgICB8IDEzICsrKysrKysr KysrKy0KLSBkYWVtb25zL2lwYS1vdHBkL3Bhc3NrZXkuYyB8ICAyICstCi0gdXRpbC9pcGFfa3Ji NS5jICAgICAgICAgICAgfCAgMiArLQotIDMgZmlsZXMgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygr KSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2NsaWVudC9pcGEtZ2V0a2V5dGFiLmMg Yi9jbGllbnQvaXBhLWdldGtleXRhYi5jCi1pbmRleCAyMjhiOTgxYzIuLjhjYTRiODEzMCAxMDA2 NDQKLS0tLSBhL2NsaWVudC9pcGEtZ2V0a2V5dGFiLmMKLSsrKyBiL2NsaWVudC9pcGEtZ2V0a2V5 dGFiLmMKLUBAIC04NjYsNiArODY2LDcgQEAgc3RhdGljIGludCByZWFkX2lwYV9jb25maWcoc3Ry dWN0IGlwYV9jb25maWcgKippcGFjZmcpCi0gICAgICAgICAoKmlwYWNmZyktPmRvbWFpbiA9IGlu aV9nZXRfc3RyaW5nX2NvbmZpZ192YWx1ZShvYmosICZyZXQpOwotICAgICB9Ci0gCi0rICAgIGlu aV9jb25maWdfZGVzdHJveShjZmdjdHgpOwotICAgICByZXR1cm4gMDsKLSB9Ci0gCi1AQCAtOTg0 LDcgKzk4NSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICphcmd2W10pCi0gCWty YjVfY29udGV4dCBrcmJjdHg7Ci0gCWtyYjVfY2NhY2hlIGNjYWNoZTsKLSAJa3JiNV9wcmluY2lw YWwgdXByaW5jID0gTlVMTDsKLS0Ja3JiNV9wcmluY2lwYWwgc3ByaW5jOwotKwlrcmI1X3ByaW5j aXBhbCBzcHJpbmMgPSBOVUxMOwotIAlrcmI1X2Vycm9yX2NvZGUga3JiZXJyOwotIAlzdHJ1Y3Qg a2V5c19jb250YWluZXIga2V5cyA9IHsgMCB9OwotIAlrcmI1X2tleXRhYiBrdDsKLUBAIC0xMDI2 LDYgKzEwMjcsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29uc3QgY2hhciAqYXJndltdKQotIAkJ CWZwcmludGYoc3Rkb3V0LCAiJXNcbiIsIGVuYyk7Ci0gCQl9Ci0gCQlpcGFfa3JiNV9mcmVlX2t0 eXBlcyhrcmJjdHgsIGt0eXBlcyk7Ci0rCQlwb3B0RnJlZUNvbnRleHQocGMpOwotIAkJZXhpdCAo MCk7Ci0gCX0KLSAKLUBAIC0xMDMzLDYgKzEwMzUsNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY29u c3QgY2hhciAqYXJndltdKQotIAkJaWYgKCFxdWlldCkgewotIAkJCXBvcHRQcmludFVzYWdlKHBj LCBzdGRlcnIsIDApOwotIAkJfQotKwkJcG9wdEZyZWVDb250ZXh0KHBjKTsKLSAJCWV4aXQoMik7 Ci0gCX0KLSAKLUBAIC0xMDQxLDEyICsxMDQ0LDE0IEBAIGludCBtYWluKGludCBhcmdjLCBjb25z dCBjaGFyICphcmd2W10pCi0gCQlpZiAoIXF1aWV0KSB7Ci0gCQkJcG9wdFByaW50VXNhZ2UocGMs IHN0ZGVyciwgMCk7Ci0gCQl9Ci0rCQlwb3B0RnJlZUNvbnRleHQocGMpOwotIAkJZXhpdCgyKTsK LSAgICAgfQotIAotICAgICBpZiAoYXNrYmluZHB3KSB7Ci0gCQliaW5kcHcgPSBhc2tfcGFzc3dv cmQoa3JiY3R4LCBfKCJFbnRlciBMREFQIHBhc3N3b3JkIiksIE5VTEwsIGZhbHNlKTsKLSAJCWlm ICghYmluZHB3KSB7Ci0rCQkJcG9wdEZyZWVDb250ZXh0KHBjKTsKLSAJCQlleGl0KDIpOwotIAkJ fQotICAgICB9Ci1AQCAtMTA1Niw2ICsxMDYxLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0 IGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAgICAgICAgICAgICAgICAgICBfKCJCaW5kIHBhc3N3b3Jk IHJlcXVpcmVkIHdoZW4gdXNpbmcgYSBiaW5kIEROICgtdyBvciAtVykuXG4iKSk7Ci0gCQlpZiAo IXF1aWV0KQotIAkJCXBvcHRQcmludFVzYWdlKHBjLCBzdGRlcnIsIDApOwotKwkJcG9wdEZyZWVD b250ZXh0KHBjKTsKLSAJCWV4aXQoMTApOwotIAl9Ci0gCi1AQCAtMTA2NCw2ICsxMDcwLDcgQEAg aW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICJhbmQgYmluZCBETiBzaW11bHRhbmVvdXNseS5cbiIpKTsKLSAgICAgICAgIGlm ICghcXVpZXQpCi0gICAgICAgICAgICAgcG9wdFByaW50VXNhZ2UocGMsIHN0ZGVyciwgMCk7Ci0r ICAgICAgICBwb3B0RnJlZUNvbnRleHQocGMpOwotICAgICAgICAgZXhpdCgyKTsKLSAgICAgfQot IAotQEAgLTEwNzEsNiArMTA3OCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjb25zdCBjaGFyICph cmd2W10pCi0gICAgICAgICBmcHJpbnRmKHN0ZGVyciwgXygiSW52YWxpZCBTQVNMIGJpbmQgbWVj aGFuaXNtXG4iKSk7Ci0gICAgICAgICBpZiAoIXF1aWV0KQotICAgICAgICAgICAgIHBvcHRQcmlu dFVzYWdlKHBjLCBzdGRlcnIsIDApOwotKyAgICAgICAgcG9wdEZyZWVDb250ZXh0KHBjKTsKLSAg ICAgICAgIGV4aXQoMik7Ci0gICAgIH0KLSAKLUBAIC0xMDgzLDggKzEwOTEsMTAgQEAgaW50IG1h aW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICJzaW11bHRhbmVvdXNseS5cbiIpKTsKLSAgICAgICAgIGlmICghcXVpZXQpCi0gICAgICAg ICAgICAgcG9wdFByaW50VXNhZ2UocGMsIHN0ZGVyciwgMCk7Ci0rICAgICAgICBwb3B0RnJlZUNv bnRleHQocGMpOwotICAgICAgICAgZXhpdCgyKTsKLSAgICAgfQotKyAgICBwb3B0RnJlZUNvbnRl eHQocGMpOwotIAotICAgICBpZiAoc2VydmVyICYmIChzdHJjYXNlY21wKHNlcnZlciwgIl9zcnZf IikgPT0gMCkpIHsKLSAgICAgICAgIHN0cnVjdCBzcnZyZWMgKnNydnJlY3MsICpzcnY7Ci1AQCAt MTExOSw2ICsxMTI5LDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNvbnN0IGNoYXIgKmFyZ3ZbXSkK LSAgICAgICAgICAgICAvKiBEaXNjb3ZlcnkgZmFpbGVkLCBmYWxsIHRocm91Z2ggdG8gb3B0aW9u IG1ldGhvZHMgKi8KLSAgICAgICAgICAgICBzZXJ2ZXIgPSBOVUxMOwotICAgICAgICAgfQotKyAg ICAgICAgZnJlZShpcGFjZmcpOwotICAgICB9Ci0gCi0gICAgIGlmICghc2VydmVyICYmICFsZGFw X3VyaSkgewotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLW90cGQvcGFzc2tleS5jIGIvZGFlbW9u cy9pcGEtb3RwZC9wYXNza2V5LmMKLWluZGV4IDgzNTFmMGZjZi4uYWQzYzQ1NDY3IDEwMDY0NAot LS0tIGEvZGFlbW9ucy9pcGEtb3RwZC9wYXNza2V5LmMKLSsrKyBiL2RhZW1vbnMvaXBhLW90cGQv cGFzc2tleS5jCi1AQCAtMzA3LDcgKzMwNyw3IEBAIGJvb2wgaXNfcGFzc2tleShzdHJ1Y3Qgb3Rw ZF9xdWV1ZV9pdGVtICppdGVtKQotIAotIHN0YXRpYyBqc29uX3QgKmlwYV9wYXNza2V5X3RvX2pz b25fYXJyYXkoY2hhciAqKmlwYV9wYXNza2V5KQotIHsKLS0gICAgaW50IHJldDsKLSsgICAgaW50 IHJldCA9IDA7Ci0gICAgIGNvbnN0IGNoYXIgKnNlcDsKLSAgICAgY2hhciAqc3RhcnQ7Ci0gICAg IHNpemVfdCBjOwotZGlmZiAtLWdpdCBhL3V0aWwvaXBhX2tyYjUuYyBiL3V0aWwvaXBhX2tyYjUu YwotaW5kZXggYmI5OGFiODk3Li4wMDg3ZTUzZTYgMTAwNjQ0Ci0tLS0gYS91dGlsL2lwYV9rcmI1 LmMKLSsrKyBiL3V0aWwvaXBhX2tyYjUuYwotQEAgLTgwLDcgKzgwLDcgQEAgc3RhdGljIGtyYjVf ZXJyb3JfY29kZSBpcGFfZ2V0X3JhbmRvbV9zYWx0KGtyYjVfY29udGV4dCBrcmJjdHgsCi0gdm9p ZAotIGlwYV9rcmI1X2ZyZWVfa3R5cGVzKGtyYjVfY29udGV4dCBjb250ZXh0LCBrcmI1X2VuY3R5 cGUgKnZhbCkKLSB7Ci0tICAgIGZyZWUodmFsKTsKLSsgICAga3JiNV9mcmVlX2VuY3R5cGVzKGNv bnRleHQsIHZhbCk7Ci0gfQotIAotIC8qCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gYTMxNjU0ZTVj NGJhNjExNzc5MjhhYmVkZTU4ODVhMjQ3MzY1ZDA2NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IFBSQU5BViBUSFVCRSA8cHRodWJlQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDE5IE1h eSAyMDI1IDE0OjQ2OjE5ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggNDQvNTNdIGlwYXRlc3RzOiBJ Z25vcmUgL3J1bi9sb2cvam91cm5hbCBpbgotIHRlc3RfdW5pbnN0YWxsYXRpb24ucHkKLQotVXBk YXRlIC0gQWRkIC9ydW4vbG9nL2pvdXJuYWwgdG8gdGhlIGFsbG93ZWQgbGlzdCBmb3IgbGVmdG92 ZXIgZmlsZXMvZGlyZWN0b3JpZXMKLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEv aXNzdWUvOTc4OAotCi1TaWduZWQtb2ZmLWJ5OiBQUkFOQVYgVEhVQkUgPHB0aHViZUByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+ Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfdW5pbnN0YWxsYXRpb24ucHkg fCAxICsKLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKykKLQotZGlmZiAtLWdpdCBhL2lw YXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF91bmluc3RhbGxhdGlvbi5weSBiL2lwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF91bmluc3RhbGxhdGlvbi5weQotaW5kZXggMDQ5YzUwZGI1 Li5mMWNjMTkxN2QgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf dW5pbnN0YWxsYXRpb24ucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF91 bmluc3RhbGxhdGlvbi5weQotQEAgLTE3OCw2ICsxNzgsNyBAQCBjbGFzcyBUZXN0VW5pbnN0YWxs Q2xlYW51cChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICcvdmFyL2xvZycsCi0gICAg ICAgICAgICAgJy92YXIvdG1wL3N5c3RlbWQtcHJpdmF0ZScsCi0gICAgICAgICAgICAgJy9ydW4v c3lzdGVtZCcsCi0rICAgICAgICAgICAgJy9ydW4vbG9nL2pvdXJuYWwnLAotICAgICAgICAgICAg ICcvdmFyL2xpYi9hdXRoc2VsZWN0L2JhY2t1cHMvcHJlX2lwYWNsaWVudCcsCi0gICAgICAgICAg ICAgJy92YXIvbmFtZWQvZGF0YS9uYW1lZC5ydW4nLAotICAgICAgICAgICAgIHBhdGhzLkROU1NF Q19TT0ZUSFNNX1BJTl9TTywgICMgU2VlIGNvbW1pdCBlYjU0ODE0NzQxCi0tLSAKLTIuNDkuMAot Ci0KLUZyb20gM2JhMGY2YTM0Y2IwMThhMzZiYzU0ODY2N2UyYjQzM2QwNWRhNmE0NSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29t PgotRGF0ZTogVHVlLCA2IE1heSAyMDI1IDE1OjM3OjU0ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0gg NDUvNTNdIGlwYXRlc3RzOiBUZXN0cyBmb3Iga3JiTGFzdFN1Y2Nlc3NmdWxBdXRoIHdhcm5pbmcK LQotVGhpcyB0ZXN0Y2FzZSBjaGVja3MgdGhhdCBpcGEtaGVhbHRoY2hlY2sgaXNzdWVzCi13YXJu aW5nIHdoZW4gaXBhY29uZmlnc3RyaW5nPUFsbG93TlRoYXNoCi0KLVJlZjogaHR0cHM6Ly9naXRo dWIuY29tL2ZyZWVpcGEvZnJlZWlwYS1oZWFsdGhjaGVjay9pc3N1ZXMvMzE1Ci0KLVNpZ25lZC1v ZmYtYnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZs b3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci0tLS0KLSAuLi4vdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5ICAgfCA0MyArKysrKysrKysrKysrKysrKyst Ci0gMSBmaWxlIGNoYW5nZWQsIDQyIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5w eSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotaW5k ZXggYjhlZTI4ODRkLi4wZWJjNzE0OWYgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotQEAgLTE1MjYsNiArMTUyNiw0OCBAQCBjbGFz cyBUZXN0SXBhSGVhbHRoQ2hlY2soSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICAgICBdCi0g ICAgICAgICApCi0gCi0rICAgIEBweXRlc3QuZml4dHVyZQotKyAgICBkZWYgY2hhbmdlX3B3ZF9w bHVnaW5fZGVmYXVsdChzZWxmKToKLSsgICAgICAgICIiIgotKyAgICAgICAgRml4dHVyZSB0byBj aGFuZ2UgdGhlIHBhc3N3b3JkIHBsdWdpbiBmZWF0dXJlCi0rICAgICAgICB0byBBbGxvd05UaGFz aCBhbmQgY2hhbmdlIGl0IHRvIGRlZmF1bHQKLSsgICAgICAgICIiIgotKyAgICAgICAgc2VsZi5t YXN0ZXIucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWwotKyAgICAgICAgICAgICAgICAiaXBh IiwgImNvbmZpZy1tb2QiLCAiLS1kZWxhdHRyIiwKLSsgICAgICAgICAgICAgICAgImlwYWNvbmZp Z3N0cmluZz1LREM6RGlzYWJsZSBMYXN0IFN1Y2Nlc3MiCi0rICAgICAgICAgICAgXQotKyAgICAg ICAgKQotKyAgICAgICAgeWllbGQKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKAot KyAgICAgICAgICAgIFsKLSsgICAgICAgICAgICAgICAgImlwYSIsICJjb25maWctbW9kIiwgIi0t YWRkYXR0ciIsCi0rICAgICAgICAgICAgICAgICJpcGFjb25maWdzdHJpbmc9S0RDOkRpc2FibGUg TGFzdCBTdWNjZXNzIgotKyAgICAgICAgICAgIF0KLSsgICAgICAgICkKLSsKLSsgICAgZGVmIHRl c3Rfa3JiTGFzdFN1Y2Nlc3NmdWxBdXRoX3dhcm5pbmcoc2VsZiwgY2hhbmdlX3B3ZF9wbHVnaW5f ZGVmYXVsdCk6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdCBjaGVja3MgdGhhdCB3 YXJuaW5nIG1lc3NhZ2UgaXMgZGlzcGxheWVkCi0rICAgICAgICB3aGVuIHBhc3N3b3JkIHBsdWdp biBmZWF0dXJlIGlzIG1vZGlmaWVkIHRvCi0rICAgICAgICBBbGxvd05UaGFzaAotKyAgICAgICAg IiIiCi0rICAgICAgICBlcnJfbXNnID0gKAotKyAgICAgICAgICAgICJMYXN0IFN1Y2Nlc3NmdWwg QXV0aCBpcyBlbmFibGVkLiAiCi0rICAgICAgICAgICAgIkl0IG1heSBjYXVzZSBwZXJmb3JtYW5j ZSBwcm9ibGVtcy4iCi0rICAgICAgICApCi0rICAgICAgICB2ZXJzaW9uID0gdGFza3MuZ2V0X2hl YWx0aGNoZWNrX3ZlcnNpb24oc2VsZi5tYXN0ZXIpCi0rICAgICAgICBpZiBwYXJzZV92ZXJzaW9u KHZlcnNpb24pIDwgcGFyc2VfdmVyc2lvbigiMC4xOCIpOgotKyAgICAgICAgICAgIHB5dGVzdC5z a2lwKCJDaGVjayBkb2VzIG5vdCBleGlzdCBpbiBpcGEtaGVhbHRoY2hlY2sgPCAwLjE4IikKLSsg ICAgICAgIHJldHVybmNvZGUsIGRhdGEgPSBydW5faGVhbHRoY2hlY2soCi0rICAgICAgICAgICAg c2VsZi5tYXN0ZXIsICJpcGFoZWFsdGhjaGVjay5pcGEuY29uZmlnIiwKLSsgICAgICAgICAgICAi SVBBa3JiTGFzdFN1Y2Nlc3NmdWxBdXRoIiwKLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCBy ZXR1cm5jb2RlID09IDEKLSsgICAgICAgIGZvciBjaGVjayBpbiBkYXRhOgotKyAgICAgICAgICAg IGFzc2VydCBjaGVja1sicmVzdWx0Il0gPT0gIldBUk5JTkciCi0rICAgICAgICAgICAgYXNzZXJ0 IGNoZWNrWyJrdyJdWyJtc2ciXSA9PSBlcnJfbXNnCi0rCi0gICAgIEBweXRlc3QuZml4dHVyZQot ICAgICBkZWYgZXhwaXJlX2NlcnRfY3JpdGljYWwoc2VsZik6Ci0gICAgICAgICAiIiIKLUBAIC0x NTUzLDcgKzE1OTUsNiBAQCBjbGFzcyBUZXN0SXBhSGVhbHRoQ2hlY2soSW50ZWdyYXRpb25UZXN0 KToKLSAgICAgICAgICAgICBhc3NlcnQgIkV4cGlyZWQgQ2VydGlmaWNhdGUiIGluIGNoZWNrWyJr dyJdWyJpdGVtcyJdCi0gICAgICAgICAgICAgYXNzZXJ0IGNoZWNrWyJrdyJdWyJtc2ciXSA9PSBt c2cKLSAKLS0KLSAgICAgZGVmIHRlc3RfaXBhX2hlYWx0aGNoZWNrX2V4cGlyaW5nKHNlbGYsIHJl c3RhcnRfc2VydmljZSk6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIFRoZXJlIGFyZSB0d28gb3Zl cmxhcHBpbmcgdGVzdHMgZm9yIGV4cGlyaW5nIGNlcnRzLCBjaGVjayBib3RoLgotLS0gCi0yLjQ5 LjAKLQotCi1Gcm9tIGNlZjE5OTYzMTEwOWI5MTQ2MmJmMjVhZTg4OTNjYTg5ODBmYWY1YmYgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdWRoaXIgTWVub24gPHN1bWVub25AcmVkaGF0 LmNvbT4KLURhdGU6IFdlZCwgMjEgTWF5IDIwMjUgMTc6MjA6MDQgKzA1MzAKLVN1YmplY3Q6IFtQ QVRDSCA0Ni81M10gaXBhdGVzdHM6IGlwYWhlYWx0aGNoZWNrIHdhcm5zIGZvciB1c2VyIHByb3Zp ZGVkCi0gY2VydGlmaWNhdGVzIGFib3V0IHRvIGV4cGlyZQotCi1UaGlzIHBhdGNoIHRlc3RzIHRo YXQgaXBhLWhlYWx0aGNoZWNrIHRvb2xzIHdhcm5zIHdoZW4gSVBBIHNlcnZlciBpcwotaW5zdGFs bGVkIENBTGVzcyBhbmQgdXNlciBwcm92aWRlZCBjZXJ0aWZpY2F0ZXMgYXJlIGFib3V0IHRvIGV4 cGlyZS4KLQotU2lnbmVkLW9mZi1ieTogU3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJl dmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0g Li4uL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSAgIHwgNTEgKysrKysr KysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1MSBpbnNlcnRpb25zKCspCi0KLWRpZmYg LS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkg Yi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLWluZGV4 IDBlYmM3MTQ5Zi4uMTNmY2MzZDQzIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3RfaXBhaGVhbHRoY2hlY2sucHkKLUBAIC0yNiw2ICsyNiw3IEBAIGZyb20gaXBhdGVz dHMucHl0ZXN0X2lwYS5pbnRlZ3JhdGlvbiBpbXBvcnQgdGFza3MKLSBmcm9tIGlwYXBsYXRmb3Jt LnBhdGhzIGltcG9ydCBwYXRocwotIGZyb20gaXBhcGxhdGZvcm0ub3NpbmZvIGltcG9ydCBvc2lu Zm8KLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsLmluc3RhbGx1dGlscyBpbXBvcnQgcmVzb2x2ZV9p cF9hZGRyZXNzZXNfbnNzCi0rZnJvbSBpcGF0ZXN0cy50ZXN0X2ludGVncmF0aW9uLnRlc3RfY2Fs ZXNzIGltcG9ydCBDQUxlc3NCYXNlCi0gZnJvbSBpcGF0ZXN0cy50ZXN0X2ludGVncmF0aW9uLmJh c2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotIGZyb20gcGFja2FnaW5nLnZlcnNpb24gaW1wb3J0 IHBhcnNlIGFzIHBhcnNlX3ZlcnNpb24KLSBmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24u dGVzdF9jZXJ0IGltcG9ydCBnZXRfY2VydG1vbmdlcl9mc19pZAotQEAgLTMxMzUsMyArMzEzNiw1 MyBAQCBjbGFzcyBUZXN0SXBhSGVhbHRoQ2hlY2tTaW5nbGVNYXN0ZXIoSW50ZWdyYXRpb25UZXN0 KToKLSAgICAgICAgIGZpbmFsbHk6Ci0gICAgICAgICAgICAgIyBjbGVhbnVwCi0gICAgICAgICAg ICAgdGFza3MudW5pbnN0YWxsX21hc3RlcihzZWxmLm1hc3RlcikKLSsKLSsKLStjbGFzcyBUZXN0 SVBBSGVhbHRoY2hlY2tXaXRoQ0FMZXNzKENBTGVzc0Jhc2UpOgotKyAgICAiIiIKLSsgICAgSW5z dGFsbCBDQUxlc3Mgc2VydmVyIHdpdGggdXNlciBwcm92aWRlZCBjZXJ0aWZpY2F0ZS4KLSsgICAg IiIiCi0rICAgIG51bV9yZXBsaWNhcyA9IDAKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0rICAgIGRl ZiBpbnN0YWxsKGNscywgbWgpOgotKyAgICAgICAgc3VwZXIoVGVzdElQQUhlYWx0aGNoZWNrV2l0 aENBTGVzcywgY2xzKS5pbnN0YWxsKG1oKQotKyAgICAgICAgY2xzLmNyZWF0ZV9wa2NzMTIoJ2Nh MS9zZXJ2ZXInKQotKyAgICAgICAgY2xzLnByZXBhcmVfY2FjZXJ0KCdjYTEnKQotKyAgICAgICAg cmVzdWx0ID0gY2xzLmluc3RhbGxfc2VydmVyKCkKLSsgICAgICAgIGFzc2VydCByZXN1bHQucmV0 dXJuY29kZSA9PSAwCi0rCi0rICAgIEBweXRlc3QuZml4dHVyZQotKyAgICBkZWYgZXhwaXJlX2Nl cnRfd2FybihzZWxmKToKLSsgICAgICAgICIiIgotKyAgICAgICAgRml4dHVyZSB0byBtb3ZlIHRo ZSBjZXJ0IHRvIGFib3V0IHRvIGV4cGlyZSwgYnkgbW92aW5nIHRoZQotKyAgICAgICAgc3lzdGVt IGRhdGUgdXNpbmcgZGF0ZSAtcyBjb21tYW5kIGFuZCByZXZlcnQgaXQgYmFjawotKyAgICAgICAg IiIiCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2RhdGUnLCctcycsICcrMTFN b250aHMxMERheXMnXSkKLSsgICAgICAgIHlpZWxkCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5f Y29tbWFuZChbJ2RhdGUnLCctcycsICctMTFNb250aHMxMERheXMnXSkKLSsgICAgICAgIHNlbGYu bWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhY3RsJywgJ3Jlc3RhcnQnXSkKLSsKLSsgICAgZGVmIHRl c3RfaXBhaGVhbHRoY2hlY2tfd2FybnNfb25fZXhwaXJlZF91c2VyX2NlcnRzKHNlbGYsIGV4cGly ZV9jZXJ0X3dhcm4pOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIHRlc3RjYXNlIGNoZWNr cyB0aGF0IGlwYS1oZWFsdGhjaGVjayB3YXJucwotKyAgICAgICAgb24gZXhwaXJpbmcgdXNlci1w cm92aWRlZCBjZXJ0aWZpY2F0ZXMuCi0rICAgICAgICAiIiIKLSsgICAgICAgIG1zZyA9ICgKLSsg ICAgICAgICAgICAnUmVxdWVzdCBpZCB7a2V5fSBleHBpcmVzIGluIHtkYXlzfSBkYXlzLiAnCi0r ICAgICAgICAgICAgJ1lvdSBuZWVkIHRvIG1hbnVhbGx5IHJlbmV3IHRoaXMgY2VydGlmaWNhdGUu JwotKyAgICAgICAgKQotKyAgICAgICAgdmVyc2lvbiA9IHRhc2tzLmdldF9oZWFsdGhjaGVja192 ZXJzaW9uKHNlbGYubWFzdGVyKQotKyAgICAgICAgaWYgcGFyc2VfdmVyc2lvbih2ZXJzaW9uKSA8 IHBhcnNlX3ZlcnNpb24oIjAuMTgiKToKLSsgICAgICAgICAgICBweXRlc3Quc2tpcCgiQ2hlY2sg ZG9lcyBub3QgZXhpc3QgaW4gaXBhLWhlYWx0aGNoZWNrIDwgMC4xOCIpCi0rICAgICAgICByZXR1 cm5jb2RlLCBkYXRhID0gcnVuX2hlYWx0aGNoZWNrKAotKyAgICAgICAgICAgIHNlbGYubWFzdGVy LCAiaXBhaGVhbHRoY2hlY2suaXBhLmNlcnRzIiwKLSsgICAgICAgICAgICAiSVBBVXNlclByb3Zp ZGVkRXhwaXJhdGlvbkNoZWNrIiwKLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCByZXR1cm5j b2RlID09IDEKLSsgICAgICAgIGNlcnRzID0gW2RbImt3Il1bImtleSJdIGZvciBkIGluIGRhdGFd Ci0rICAgICAgICBhc3NlcnQgc2V0KGNlcnRzKSA9PSB7J0hUVFAnLCAnTERBUCcsICdLREMnfQot KyAgICAgICAgZm9yIGNoZWNrIGluIGRhdGE6Ci0rICAgICAgICAgICAgYXNzZXJ0IGNoZWNrWyJy ZXN1bHQiXSA9PSAiV0FSTklORyIKLSsgICAgICAgICAgICBhc3NlcnQgY2hlY2tbImt3Il1bImtl eSJdIGluICgiTERBUCIsICJIVFRQIiwgIktEQyIpCi0rICAgICAgICAgICAgYXNzZXJ0IGNoZWNr WyJrdyJdWyJtc2ciXSA9PSBtc2cKLS0tIAotMi40OS4wCi0KLQotRnJvbSAwNzhlOTEzZTUxYjIx NDFlYzM4ZWYyYjAxYmY0MDMxMDYxOWE0ODdhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMiBK dW4gMjAyNSAwODoxNToyOSArMDIwMAotU3ViamVjdDogW1BBVENIIDQ3LzUzXSBOaWdodGx5IHRl c3RzOiBhZGQgVGVzdElQQUhlYWx0aGNoZWNrV2l0aENBTGVzcwotCi1BZGQgdGhlIHRlc3QgdG8g bmlnaHRseV9pcGEtNC0xMl9sYXRlc3QgYW5kIG5pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGlu dXgKLQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot LS0tCi0gLi4uL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCAg IHwgMTIgKysrKysrKysrKysrCi0gLi4uL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgu eWFtbCAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMjUg aW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9u aWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9u aWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRleCA2MzVhNWE2NjMuLjllMDBjNTVhMSAx MDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9s YXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00 LTEyX2xhdGVzdC55YW1sCi1AQCAtMTQ0Miw2ICsxNDQyLDE4IEBAIGpvYnM6Ci0gICAgICAgICB0 aW1lb3V0OiAzNjAwCi0gICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8xcmVwbAotIAotKyAgZmVk b3JhLWxhdGVzdC1pcGEtNC0xMi90ZXN0X2lwYWhlYWx0aGNoZWNrX2NhbGVzczoKLSsgICAgcmVx dWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkXQotKyAgICBwcmlvcml0eTogNTAK LSsgICAgam9iOgotKyAgICAgIGNsYXNzOiBSdW5QeXRlc3QKLSsgICAgICBhcmdzOgotKyAgICAg ICAgYnVpbGRfdXJsOiAne2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRfdXJsfScKLSsgICAg ICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weTo6 VGVzdElQQUhlYWx0aGNoZWNrV2l0aENBTGVzcwotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEt NC0xMi1sYXRlc3QKLSsgICAgICAgIHRpbWVvdXQ6IDM2MDAKLSsgICAgICAgIHRvcG9sb2d5OiAq bWFzdGVyXzFyZXBsCi0rCi0gICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3RfaXBhaGVhbHRo Y2hlY2tfYWR0cnVzdDoKLSAgICAgcmVxdWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1 aWxkXQotICAgICBwcmlvcml0eTogNTAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy9wcmNpX2RlZmlu aXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCBiL2lwYXRlc3RzL3By Y2lfZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1pbmRl eCA3Y2IwNDQ0MDQuLmY3NmM5NjI2NyAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi0rKysgYi9pcGF0ZXN0 cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAot QEAgLTE1NTUsNiArMTU1NSwxOSBAQCBqb2JzOgotICAgICAgICAgdGltZW91dDogMzYwMAotICAg ICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSAKLSsgIGZlZG9yYS1sYXRlc3QtaXBhLTQt MTIvdGVzdF9pcGFoZWFsdGhjaGVja19jYWxlc3M6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3JhLWxh dGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsgICAg ICBjbGFzczogUnVuUHl0ZXN0Ci0rICAgICAgYXJnczoKLSsgICAgICAgIGJ1aWxkX3VybDogJ3tm ZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkX3VybH0nCi0rICAgICAgICBzZWxpbnV4X2VuZm9y Y2luZzogVHJ1ZQotKyAgICAgICAgdGVzdF9zdWl0ZTogdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lw YWhlYWx0aGNoZWNrLnB5OjpUZXN0SVBBSGVhbHRoY2hlY2tXaXRoQ0FMZXNzCi0rICAgICAgICB0 ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotKyAgICAgICAgdGltZW91dDogMzYwMAotKyAg ICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMXJlcGwKLSsKLSAgIGZlZG9yYS1sYXRlc3QtaXBhLTQt MTIvdGVzdF9pcGFoZWFsdGhjaGVja19hZHRydXN0OgotICAgICByZXF1aXJlczogW2ZlZG9yYS1s YXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0gICAgIHByaW9yaXR5OiA1MAotLS0gCi0yLjQ5LjAKLQot Ci1Gcm9tIDViMTBkMGVlYmZmZTBhYWVjN2U3Y2I3OTc0YjgyOTk5MDVkMjg5ZTkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotRGF0ZTogTW9uLCAyIEp1biAyMDI1IDE1OjAzOjQwICswMjAwCi1TdWJqZWN0OiBbUEFU Q0ggNDgvNTNdIGlwYXRlc3RzOiBza2lwIGVuY3J5cHRlZCBkbnMgdGVzdHMgb24gZmVkb3JhIDQx Ci0KLVRoZSBwYWNrYWdlIGlwYS1zZXJ2ZXItZW5jcnlwdGVkLWRucyBpcyBub3QgYXZhaWxhYmxl IG9uIGZlZG9yYSA0MQotYXMgaXQgcmVxdWlyZXMgYSBtb3JlIHJlY2VudCBiaW5kIHZlcnNpb24u Ci1Ta2lwIHRoZSB0ZXN0cyB0aGF0IHJlcXVpcmUgdGhpcyBwYWNrYWdlIGluIGY0MS4KLQotRml4 ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc5OQotU2lnbmVkLW9mZi1ieTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2Ig Q3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBEYXZpZCBIYW5p bmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9lZG5zLnB5IHwgOCArKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA4IGluc2VydGlvbnMo KykKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5zLnB5 IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2VkbnMucHkKLWluZGV4IGRkMDQ2ZjIy Ni4uMWY4NDNjN2JjIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2VkbnMucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9lZG5zLnB5Ci1A QCAtNCwxNSArNCwyMCBAQAotICIiIlRoaXMgY292ZXJzIHRlc3RzIGZvciBETlMgb3ZlciBUTFMg cmVsYXRlZCBmZWF0dXJlIiIiCi0gCi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQKLStpbXBvcnQgcHl0ZXN0Ci0gaW1wb3J0IHRleHR3cmFwCi0gCi0gZnJvbSBpcGF0ZXN0 cy5weXRlc3RfaXBhLmludGVncmF0aW9uIGltcG9ydCB0YXNrcwotIGZyb20gaXBhdGVzdHMudGVz dF9pbnRlZ3JhdGlvbi5iYXNlIGltcG9ydCBJbnRlZ3JhdGlvblRlc3QKLSBmcm9tIGlwYXRlc3Rz LnRlc3RfaW50ZWdyYXRpb24udGVzdF9kbnMgaW1wb3J0IFRlc3RETlMKLSBmcm9tIGlwYXRlc3Rz LnB5dGVzdF9pcGEuaW50ZWdyYXRpb24uZmlyZXdhbGwgaW1wb3J0IEZpcmV3YWxsCi0rZnJvbSBp cGFwbGF0Zm9ybS5vc2luZm8gaW1wb3J0IG9zaW5mbwotIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMg aW1wb3J0IHBhdGhzCi0gCi0gCi0rQHB5dGVzdC5tYXJrLnNraXBpZigKLSsgICAgb3NpbmZvLmlk ID09ICdmZWRvcmEnIGFuZCBvc2luZm8udmVyc2lvbl9udW1iZXIgPT0gKDQxLCksCi0rICAgIHJl YXNvbj0nRW5jcnlwdGVkIEROUyBub3Qgc3VwcG9ydGVkIGluIGZlZG9yYSA0MScpCi0gY2xhc3Mg VGVzdEROU092ZXJUTFMoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgIiIiVGVzdHMgZm9yIEROUyBv dmVyIFRMUyBmZWF0dXJlLiIiIgotIAotQEAgLTI0Niw2ICsyNTEsOSBAQCBjbGFzcyBUZXN0RE5T T3ZlclRMUyhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0ICcnJy0tZG5zLW92ZXIt dGxzICAgICAgQ29uZmlndXJlIEROUyBvdmVyIFRMUycnJyBpbiBjbWRvdXQuc3Rkb3V0X3RleHQg ICMgbm9xYTogRTUwMQotIAotIAotK0BweXRlc3QubWFyay5za2lwaWYoCi0rICAgIG9zaW5mby5p ZCA9PSAnZmVkb3JhJyBhbmQgb3NpbmZvLnZlcnNpb25fbnVtYmVyID09ICg0MSwpLAotKyAgICBy ZWFzb249J0VuY3J5cHRlZCBETlMgbm90IHN1cHBvcnRlZCBpbiBmZWRvcmEgNDEnKQotIGNsYXNz IFRlc3RETlNfRG9UKFRlc3RETlMpOgotIAotICAgICBAY2xhc3NtZXRob2QKLS0tIAotMi40OS4w Ci0KLQotRnJvbSAwYzk4YWY5ZjcwYzYyZGEzZDNkZWEwMmI5MWE5MzMwYTVmOWY2NjlhIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJlZGhhdC5j b20+Ci1EYXRlOiBUaHUsIDIyIE1heSAyMDI1IDA4OjI1OjA3ICswMjAwCi1TdWJqZWN0OiBbUEFU Q0ggNDkvNTNdIFdhcm4gd2hlbiBVSUQgaXMgb3V0IG9mIGxvY2FsIElEIHJhbmdlcwotCi1Qcm92 aWRlcyBzaW1wbGUgd2FybmluZyB3aGVuIGNyZWF0aW5nIG5ldyB1c2VyIHdpdGggdWlkIG91dCBv ZgotYWxsIGxvY2FsIHJhbmdlcywgYXMgdGhpcyBpcyB0aGUgbWFpbiBjdWxwcml0IG9mIGJyZWFr aW5nIEtlcmJlcm9zLCBieQotbm90IGdlbmVyYXRpbmcgaXBhbnRzZWN1cml0eWlkZW50aWZpZXIu IFdlIGRvbid0IGhhdmUgdG8gY2hlY2sgZm9yCi11c2VyLW1vZCwgYmVjYXVzZSBtb2RpZmljYXRp b24gbmV2ZXIgY2hhbmdlcyBpcGFudHNlY3VyaXR5aWRlbnRpZmllci4KLVdlIGRvIG5vdCBoYXZl IHRvIGNoZWNrIGdyb3VwcywgYXMgZ3JvdXBzIGFyZSBpZ25vcmVkIGZvciBpcGEgd2l0aG91dAot QUQgdHJ1c3QuIEl0J3MgcmVhc29uYWJsZSB0byByZXZpc2l0IHRoaXMgaW4gdGhlIGZ1dHVyZSBm b3IgZ3JvdXAKLWNyZWF0aW9uIGFuZCB3YXJuIGFnYWluc3QgZ3JvdXBzIG91dCBvZiByYW5nZXMg YXMgd2VsbCBhcwotd2FybiBmb3IgdXNlcnMgd2l0aCBncm91cHMgd2l0aG91dCBTSUQsIGluIGNh c2UgQUQgdHJ1c3QgaXMgZW5hYmxlZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVp cGEvaXNzdWUvOTc4MQotU2lnbmVkLW9mZi1ieTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0t LQotIGlwYWxpYi9tZXNzYWdlcy5weSAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsr KysrCi0gaXBhc2VydmVyL3BsdWdpbnMvYmFzZXVzZXIucHkgICAgICAgICAgICAgICAgIHwgMjkg KysrKysrKysrKystCi0gaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9zdGFnZXVzZXJfcGx1Z2lu LnB5IHwgNDUgKysrKysrKysrKysrKysrKysrLQotIGlwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3Rf dXNlcl9wbHVnaW4ucHkgICAgICB8IDQzICsrKysrKysrKysrKysrKysrKwotIC4uLi90ZXN0X3ht bHJwYy90cmFja2VyL3N0YWdldXNlcl9wbHVnaW4ucHkgICB8IDIyICsrKysrKysrKwotIDUgZmls ZXMgY2hhbmdlZCwgMTQ4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9pcGFsaWIvbWVzc2FnZXMucHkgYi9pcGFsaWIvbWVzc2FnZXMucHkKLWluZGV4IDZhNzBi YmM3NS4uYTQ0MGNhNjIyIDEwMDY0NAotLS0tIGEvaXBhbGliL21lc3NhZ2VzLnB5Ci0rKysgYi9p cGFsaWIvbWVzc2FnZXMucHkKLUBAIC01MTksNiArNTE5LDE4IEBAIGNsYXNzIFNlcnZlclVwZ3Jh ZGVSZXF1aXJlZChQdWJsaWNNZXNzYWdlKToKLSAgICAgKQotIAotIAotK2NsYXNzIFVpZE51bWJl ck91dE9mTG9jYWxJRFJhbmdlKFB1YmxpY01lc3NhZ2UpOgotKyAgICAiIiIKLSsgICAgKioxMzAz NCoqIFVJRCBOdW1iZXIgaXMgb3V0IG9mIGFsbCBsb2NhbCBJRCBSYW5nZXMKLSsgICAgIiIiCi0r ICAgIGVycm5vID0gMTMwMzQKLSsgICAgdHlwZSA9ICJ3YXJuaW5nIgotKyAgICBmb3JtYXQgPSBf KAotKyAgICAgICAgIlVzZXIgJyUodXNlcilzJywgd2l0aCBVSUQgTnVtYmVyICclKHVpZG51bWJl cilkJyBpcyBvdXQgb2YgYWxsIElEICIKLSsgICAgICAgICJSYW5nZXMsICdTSUQnIHdpbGwgbm90 IGJlIGNvcnJlY3RseSBnZW5lcmF0ZWQuIgotKyAgICApCi0rCi0rCi0gZGVmIGl0ZXJfbWVzc2Fn ZXModmFyaWFibGVzLCBiYXNlKToKLSAgICAgIiIiUmV0dXJuIGEgdHVwbGUgd2l0aCBhbGwgc3Vi Y2xhc3NlcwotICAgICAiIiIKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNldXNl ci5weSBiL2lwYXNlcnZlci9wbHVnaW5zL2Jhc2V1c2VyLnB5Ci1pbmRleCAyMjM5M2I4ZjYuLjIx ZTA1ZDRkOSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL2Jhc2V1c2VyLnB5Ci0rKysg Yi9pcGFzZXJ2ZXIvcGx1Z2lucy9iYXNldXNlci5weQotQEAgLTIzLDcgKzIzLDcgQEAgZnJvbSBj cnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuc2VyaWFsaXphdGlvbiBpbXBvcnQgbG9hZF9w ZW1fcHVibGljX2tleQotIGltcG9ydCByZQotIGltcG9ydCBzaXgKLSAKLS1mcm9tIGlwYWxpYiBp bXBvcnQgYXBpLCBlcnJvcnMsIGNvbnN0YW50cwotK2Zyb20gaXBhbGliIGltcG9ydCBhcGksIGVy cm9ycywgY29uc3RhbnRzLCBtZXNzYWdlcwotIGZyb20gaXBhbGliIGltcG9ydCAoCi0gICAgIEZs YWcsIEludCwgUGFzc3dvcmQsIFN0ciwgQm9vbCwgU3RyRW51bSwgRGF0ZVRpbWUsIEROUGFyYW0p Ci0gZnJvbSBpcGFsaWIucGFyYW1ldGVycyBpbXBvcnQgUHJpbmNpcGFsLCBDZXJ0aWZpY2F0ZSwg TUFYX1VJTlQzMgotQEAgLTE5OCw2ICsxOTgsMjIgQEAgZGVmIHZhbGlkYXRlX3Bhc3NrZXkodWdl dHRleHQsIGtleSk6Ci0gICAgIHJldHVybiBOb25lCi0gCi0gCi0rZGVmIGlzX2luX2xvY2FsX2lk cmFuZ2UodWlkbnVtYmVyKToKLSsgICAgcmVzdWx0ID0gYXBpLkNvbW1hbmQuaWRyYW5nZV9maW5k KAotKyAgICAgICAgaXBhcmFuZ2V0eXBlPSdpcGEtbG9jYWwnLAotKyAgICAgICAgc2l6ZWxpbWl0 PTAsCi0rICAgICkKLSsKLSsgICAgZm9yIHIgaW4gcmVzdWx0WydyZXN1bHQnXToKLSsgICAgICAg IGlmICdpcGFiYXNlcmlkJyBpbiByOgotKyAgICAgICAgICAgIGlwYWJhc2VpZCA9IGludChyWydp cGFiYXNlaWQnXVswXSkKLSsgICAgICAgICAgICBpcGFpZHJhbmdlc2l6ZSA9IGludChyWydpcGFp ZHJhbmdlc2l6ZSddWzBdKQotKyAgICAgICAgICAgIGlmIGlwYWJhc2VpZCA8PSB1aWRudW1iZXIg PCBpcGFiYXNlaWQgKyBpcGFpZHJhbmdlc2l6ZToKLSsgICAgICAgICAgICAgICAgcmV0dXJuIFRy dWUKLSsKLSsgICAgcmV0dXJuIEZhbHNlCi0rCi0rCi0gY2xhc3MgYmFzZXVzZXIoTERBUE9iamVj dCk6Ci0gICAgICIiIgotICAgICBiYXNldXNlciBvYmplY3QuCi1AQCAtNjIxLDYgKzYzNywxNyBA QCBjbGFzcyBiYXNldXNlcl9hZGQoTERBUENyZWF0ZSk6Ci0gICAgICAgICAgICAgYWRkX21pc3Np bmdfb2JqZWN0X2NsYXNzKGxkYXAsICdpcGFpZHB1c2VyJywgZG4sCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVudHJ5X2F0dHJzLCB1cGRhdGU9RmFsc2UpCi0gCi0rICAg ICAgICAjIENoZWNrIGFuZCB3YXJuIGlmIHdlJ3JlIG91dCBvZiBsb2NhbCBpZHJhbmdlCi0rICAg ICAgICAjIFNraXAgZHluYW1pY2FsbHkgYXNzaWduZWQgdWlkLCBvbGQgY2xpZW50cyBzYXkgOTk5 Ci0rICAgICAgICB1aWRudW1iZXIgPSBlbnRyeV9hdHRycy5nZXQoJ3VpZG51bWJlcicpCi0rICAg ICAgICBpZiAoCi0rICAgICAgICAgICAgdWlkbnVtYmVyICE9IC0xCi0rICAgICAgICAgICAgYW5k IHVpZG51bWJlciAhPSA5OTkKLSsgICAgICAgICAgICBhbmQgbm90IGlzX2luX2xvY2FsX2lkcmFu Z2UodWlkbnVtYmVyKQotKyAgICAgICAgKToKLSsgICAgICAgICAgICBzZWxmLmFkZF9tZXNzYWdl KG1lc3NhZ2VzLlVpZE51bWJlck91dE9mTG9jYWxJRFJhbmdlKAotKyAgICAgICAgICAgICAgICB1 c2VyPWVudHJ5X2F0dHJzLmdldCgndWlkJyksIHVpZG51bWJlcj11aWRudW1iZXIpKQotKwotICAg ICBkZWYgcG9zdF9jb21tb25fY2FsbGJhY2soc2VsZiwgbGRhcCwgZG4sIGVudHJ5X2F0dHJzLCAq a2V5cywgKipvcHRpb25zKToKLSAgICAgICAgIGFzc2VydCBpc2luc3RhbmNlKGRuLCBETikKLSAg ICAgICAgIHNlbGYub2JqLmNvbnZlcnRfdXNlcmNlcnRpZmljYXRlX3Bvc3QoZW50cnlfYXR0cnMs ICoqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3N0YWdl dXNlcl9wbHVnaW4ucHkgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90ZXN0X3N0YWdldXNlcl9wbHVn aW4ucHkKLWluZGV4IDZlZDU5M2ZiZi4uZGM0OTQwYTk5IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMv dGVzdF94bWxycGMvdGVzdF9zdGFnZXVzZXJfcGx1Z2luLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0 X3htbHJwYy90ZXN0X3N0YWdldXNlcl9wbHVnaW4ucHkKLUBAIC04MCw5ICs4MCw3IEBAIG9wdGlv bnNfZGVmID0gT3JkZXJlZERpY3QoWwotICAgICAoJ2NhciBsaWNlbnNlJywge3UnY2FybGljZW5z ZSc6IHUnYWJjMTIzNCd9KSwKLSAgICAgKCdTU0gga2V5Jywge3UnaXBhc3NocHVia2V5Jzogc3No cHVia2V5fSksCi0gICAgICgnbWFuYWdlcicsIHt1J21hbmFnZXInOiB1J2F1c2VyMSd9KSwKLS0g ICAgKCd1c2VyIElEIG51bWJlcicsIHt1J3VpZG51bWJlcic6IHVpZH0pLAotICAgICAoJ2dyb3Vw IElEIG51bWJlcicsIHt1J2dpZG51bWJlcic6IGdpZH0pLAotLSAgICAoJ1VJRCBhbmQgR0lEIG51 bWJlcnMnLCB7dSd1aWRudW1iZXInOiB1aWQsIHUnZ2lkbnVtYmVyJzogZ2lkfSksCi0gICAgICgn cGFzc3dvcmQnLCB7dSd1c2VycGFzc3dvcmQnOiB1J1NlY3JldDEyMyd9KSwKLSAgICAgKCdyYW5k b20gcGFzc3dvcmQnLCB7dSdyYW5kb20nOiBUcnVlfSksCi0gICAgIF0pCi1AQCAtOTAsNiArODgs MTMgQEAgb3B0aW9uc19kZWYgPSBPcmRlcmVkRGljdChbCi0gb3B0aW9uc19vayA9IGxpc3Qob3B0 aW9uc19kZWYudmFsdWVzKCkpCi0gb3B0aW9uc19pZHMgPSBsaXN0KG9wdGlvbnNfZGVmLmtleXMo KSkKLSAKLSt3YXJuX29wdGlvbnNfZGVmID0gT3JkZXJlZERpY3QoWwotKyAgICAoJ3VzZXIgSUQg bnVtYmVyJywge3UndWlkbnVtYmVyJzogdWlkfSksCi0rICAgICgnVUlEIGFuZCBHSUQgbnVtYmVy cycsIHt1J3VpZG51bWJlcic6IHVpZCwgdSdnaWRudW1iZXInOiBnaWR9KSwKLStdKQotKwotK3dh cm5fb3B0aW9uc19vayA9IGxpc3Qod2Fybl9vcHRpb25zX2RlZi52YWx1ZXMoKSkKLSt3YXJuX29w dGlvbnNfaWRzID0gbGlzdCh3YXJuX29wdGlvbnNfZGVmLmtleXMoKSkKLSAKLSBAcHl0ZXN0LmZp eHR1cmUoc2NvcGU9J2NsYXNzJykKLSBkZWYgc3RhZ2VkdXNlcihyZXF1ZXN0LCB4bWxycGNfc2V0 dXApOgotQEAgLTEwOCw2ICsxMTMsMTIgQEAgZGVmIHN0YWdlZHVzZXIyKHJlcXVlc3QsIHhtbHJw Y19zZXR1cCk6Ci0gICAgIHJldHVybiB0cmFja2VyLm1ha2VfZml4dHVyZV9hY3RpdmF0ZShyZXF1 ZXN0KQotIAotIAotK0BweXRlc3QuZml4dHVyZShzY29wZT0nY2xhc3MnLCBwYXJhbXM9d2Fybl9v cHRpb25zX29rLCBpZHM9d2Fybl9vcHRpb25zX2lkcykKLStkZWYgd2Fybl9zdGFnZWR1c2VyKHJl cXVlc3QsIHhtbHJwY19zZXR1cCk6Ci0rICAgIHRyYWNrZXIgPSBTdGFnZVVzZXJUcmFja2VyKHUn d2FybnVzZXInLCB1J3N0YWdlZCcsIHUndXNlcicsICoqcmVxdWVzdC5wYXJhbSkKLSsgICAgcmV0 dXJuIHRyYWNrZXIubWFrZV9maXh0dXJlX2FjdGl2YXRlKHJlcXVlc3QpCi0rCi0rCi0gQHB5dGVz dC5maXh0dXJlKHNjb3BlPSdjbGFzcycpCi0gZGVmIHVzZXJfYWN0aXZhdGVkKHJlcXVlc3QsIHht bHJwY19zZXR1cCk6Ci0gICAgIHRyYWNrZXIgPSBVc2VyVHJhY2tlcih1J3N1c2VyMicsIHUnc3Rh Z2VkJywgdSd1c2VyJykKLUBAIC0yNzMsNiArMjg0LDM2IEBAIGNsYXNzIFRlc3RTdGFnZWRVc2Vy KFhNTFJQQ190ZXN0KToKLSAKLSAgICAgICAgIHVzZXJfYWN0aXZhdGVkLmRlbGV0ZSgpCi0gCi0r ICAgIGRlZiB0ZXN0X3dhcm5fY3JlYXRlX3dpdGhfYXR0cihzZWxmLCB3YXJuX3N0YWdlZHVzZXIs IHVzZXIsIHVzZXJfYWN0aXZhdGVkKToKLSsgICAgICAgICIiIiBUZXN0cyBjcmVhdGluZyBhIHVz ZXIgd2l0aCB2YXJpb3VzIHZhbGlkIGF0dHJpYnV0ZXMgdGhhdCB0aHJvdwotKyAgICAgICAgYSB3 YXJuaW5nIGxpc3RlZCBpbiAnd2Fybl9vcHRpb25zX29rJyBsaXN0IiIiCi0rICAgICAgICAjIGNy ZWF0ZSBzdGFnZWQgdXNlciB3aXRoIHNwZWNpZmllZCBwYXJhbWV0ZXJzCi0rICAgICAgICB1c2Vy LmVuc3VyZV9leGlzdHMoKSAgIyBuZWNlc3NhcnkgZm9yIG1hbmFnZXIgdGVzdAotKyAgICAgICAg d2Fybl9zdGFnZWR1c2VyLmVuc3VyZV9taXNzaW5nKCkKLSsgICAgICAgIGNvbW1hbmQgPSB3YXJu X3N0YWdlZHVzZXIubWFrZV9jcmVhdGVfY29tbWFuZCgpCi0rICAgICAgICByZXN1bHQgPSBjb21t YW5kKCkKLSsgICAgICAgIHdhcm5fc3RhZ2VkdXNlci50cmFja19jcmVhdGUoKQotKyAgICAgICAg d2Fybl9zdGFnZWR1c2VyLmNoZWNrX2NyZWF0ZV93aXRoX3dhcm5pbmcocmVzdWx0LCAoMTMwMzQs KSkKLSsKLSsgICAgICAgICMgYWN0aXZhdGUgdXNlciwgdmVyaWZ5IHRoYXQgc3BlY2lmaWVkIHZh bHVlcyB3ZXJlIHByZXNlcnZlZAotKyAgICAgICAgIyBhZnRlciBhY3RpdmF0aW9uCi0rICAgICAg ICB1c2VyX2FjdGl2YXRlZC5lbnN1cmVfbWlzc2luZygpCi0rICAgICAgICB1c2VyX2FjdGl2YXRl ZCA9IFVzZXJUcmFja2VyKAotKyAgICAgICAgICAgIHdhcm5fc3RhZ2VkdXNlci51aWQsIHdhcm5f c3RhZ2VkdXNlci5naXZlbm5hbWUsCi0rICAgICAgICAgICAgd2Fybl9zdGFnZWR1c2VyLnNuLCAq Kndhcm5fc3RhZ2VkdXNlci5rd2FyZ3MpCi0rICAgICAgICB1c2VyX2FjdGl2YXRlZC5jcmVhdGVf ZnJvbV9zdGFnZWQod2Fybl9zdGFnZWR1c2VyKQotKyAgICAgICAgY29tbWFuZCA9IHdhcm5fc3Rh Z2VkdXNlci5tYWtlX2FjdGl2YXRlX2NvbW1hbmQoKQotKyAgICAgICAgcmVzdWx0ID0gY29tbWFu ZCgpCi0rICAgICAgICB1c2VyX2FjdGl2YXRlZC5jaGVja19hY3RpdmF0ZShyZXN1bHQpCi0rCi0r ICAgICAgICAjIHZlcmlmeSB0aGUgc3RhZ2VkIHVzZXIgZG9lcyBub3QgZXhpc3QgYWZ0ZXIgYWN0 aXZhdGlvbgotKyAgICAgICAgY29tbWFuZCA9IHdhcm5fc3RhZ2VkdXNlci5tYWtlX3JldHJpZXZl X2NvbW1hbmQoKQotKyAgICAgICAgd2l0aCByYWlzZXNfZXhhY3QoZXJyb3JzLk5vdEZvdW5kKAot KyAgICAgICAgICAgICAgICByZWFzb249dSclczogc3RhZ2UgdXNlciBub3QgZm91bmQnICUgd2Fy bl9zdGFnZWR1c2VyLnVpZCkpOgotKyAgICAgICAgICAgIGNvbW1hbmQoKQotKwotKyAgICAgICAg dXNlcl9hY3RpdmF0ZWQuZGVsZXRlKCkKLSsKLSAgICAgZGVmIHRlc3RfZGVsZXRlX3N0YWdlZHVz ZXIoc2VsZiwgc3RhZ2VkdXNlcik6Ci0gICAgICAgICBzdGFnZWR1c2VyLmRlbGV0ZSgpCi0gCi1k aWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF91c2VyX3BsdWdpbi5weSBiL2lw YXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfdXNlcl9wbHVnaW4ucHkKLWluZGV4IGMwNDE1Y2FlNi4u NDIwYzgwMjEzIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF91c2VyX3Bs dWdpbi5weQotKysrIGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF91c2VyX3BsdWdpbi5weQot QEAgLTgyNiw2ICs4MjYsNDkgQEAgY2xhc3MgVGVzdENyZWF0ZShYTUxSUENfdGVzdCk6Ci0gICAg ICAgICB1c2VyX2lkcC5jaGVja19jcmVhdGUocmVzdWx0LCBbJ2lwYWlkcHN1YiddKQotICAgICAg ICAgdXNlcl9pZHAuZGVsZXRlKCkKLSAKLSsgICAgZGVmIHRlc3Rfb3V0X29mX2lkcmFuZ2Uoc2Vs Zik6Ci0rICAgICAgICAiIiJUZXN0IGVuc3VyaW5nIHdhcm5pbmcgaXMgdGhyb3duIHdoZW4gdWlk IGlzIG91dCBvZiByYW5nZSIiIgotKyAgICAgICAgdWlkbnVtYmVyID0gMjAwMAotKyAgICAgICAg dGVzdHVzZXIgPSBVc2VyVHJhY2tlcigKLSsgICAgICAgICAgICBuYW1lPSJ0ZXN0d2FybmluZyIs IGdpdmVubmFtZT0idGVzdCIsCi0rICAgICAgICAgICAgc249Indhcm5pbmciLCB1aWRudW1iZXI9 dWlkbnVtYmVyCi0rICAgICAgICApCi0rICAgICAgICB0ZXN0dXNlci5hdHRycy51cGRhdGUoCi0r ICAgICAgICAgICAgdWlkbnVtYmVyPVt1JzIwMDAnXSwKLSsgICAgICAgICkKLSsgICAgICAgIGNv bW1hbmQgPSB0ZXN0dXNlci5tYWtlX2NyZWF0ZV9jb21tYW5kKCkKLSsgICAgICAgIHJlc3VsdCA9 IGNvbW1hbmQoKQotKyAgICAgICAgcmVzdWx0X21lc3NhZ2VzID0gcmVzdWx0WydtZXNzYWdlcydd Ci0rICAgICAgICBhc3NlcnQgbGVuKHJlc3VsdF9tZXNzYWdlcykgPT0gMQotKyAgICAgICAgYXNz ZXJ0IHJlc3VsdF9tZXNzYWdlc1swXVsndHlwZSddID09ICd3YXJuaW5nJwotKyAgICAgICAgYXNz ZXJ0IHJlc3VsdF9tZXNzYWdlc1swXVsnY29kZSddID09IDEzMDM0Ci0rICAgICAgICB0ZXN0dXNl ci5kZWxldGUoKQotKwotKyAgICBkZWYgdGVzdF9pbl9pZHJhbmdlKHNlbGYpOgotKyAgICAgICAg IiIiVGVzdCBlbnN1cmluZyBubyB3YXJuaW5nIGlzIHRocm93biB3aGVuIHVpZCBpcyBpbiByYW5n ZSIiIgotKyAgICAgICAgcmVzdWx0ID0gYXBpLkNvbW1hbmQuaWRyYW5nZV9maW5kKAotKyAgICAg ICAgICAgIGlwYXJhbmdldHlwZT0naXBhLWxvY2FsJywKLSsgICAgICAgICAgICBzaXplbGltaXQ9 MCwKLSsgICAgICAgICkKLSsKLSsgICAgICAgIGFzc2VydCBsZW4ocmVzdWx0KSA+PSAxCi0rICAg ICAgICBpcGFiYXNlaWQgPSBpbnQocmVzdWx0WydyZXN1bHQnXVswXVsnaXBhYmFzZWlkJ11bMF0p Ci0rICAgICAgICBpcGFpZHJhbmdlc2l6ZSA9IGludChyZXN1bHRbJ3Jlc3VsdCddWzBdWydpcGFp ZHJhbmdlc2l6ZSddWzBdKQotKwotKyAgICAgICAgIyBUYWtlIHRoZSBsYXN0IHZhbGlkIGlkLCBh cyB3ZSdyZSBub3Qgc3VyZSB3aGljaCBoYXMgbm90IHlldCBiZWVuIHVzZWQKLSsgICAgICAgIHZh bGlkX2lkID0gaXBhYmFzZWlkICsgaXBhaWRyYW5nZXNpemUgLSAxCi0rICAgICAgICB0ZXN0dXNl ciA9IFVzZXJUcmFja2VyKAotKyAgICAgICAgICAgIG5hbWU9InRlc3Rub3dhcm5pbmciLCBnaXZl bm5hbWU9InRlc3QiLAotKyAgICAgICAgICAgIHNuPSJub3dhcm5pbmciLCB1aWRudW1iZXI9dmFs aWRfaWQKLSsgICAgICAgICkKLSsgICAgICAgIHRlc3R1c2VyLmF0dHJzLnVwZGF0ZSgKLSsgICAg ICAgICAgICB1aWRudW1iZXI9W3N0cih2YWxpZF9pZCldLAotKyAgICAgICAgKQotKyAgICAgICAg Y29tbWFuZCA9IHRlc3R1c2VyLm1ha2VfY3JlYXRlX2NvbW1hbmQoKQotKyAgICAgICAgcmVzdWx0 ID0gY29tbWFuZCgpCi0rICAgICAgICBhc3NlcnQgIm1lc3NhZ2VzIiBub3QgaW4gcmVzdWx0Ci0r ICAgICAgICB0ZXN0dXNlci5kZWxldGUoKQotKwotIAotIEBweXRlc3QubWFyay50aWVyMQotIGNs YXNzIFRlc3RVc2VyV2l0aEdyb3VwKFhNTFJQQ190ZXN0KToKLWRpZmYgLS1naXQgYS9pcGF0ZXN0 cy90ZXN0X3htbHJwYy90cmFja2VyL3N0YWdldXNlcl9wbHVnaW4ucHkgYi9pcGF0ZXN0cy90ZXN0 X3htbHJwYy90cmFja2VyL3N0YWdldXNlcl9wbHVnaW4ucHkKLWluZGV4IDE3NzQ0YTk4ZS4uOTMx NTdiYTNhIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdHJhY2tlci9zdGFnZXVz ZXJfcGx1Z2luLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X3htbHJwYy90cmFja2VyL3N0YWdldXNl cl9wbHVnaW4ucHkKLUBAIC0zLDYgKzMsNyBAQAotICMKLSAKLSBpbXBvcnQgc2l4Ci0raW1wb3J0 IGNvcHkKLSAKLSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpLCBlcnJvcnMKLSBmcm9tIGlwYXBsYXRm b3JtLmNvbnN0YW50cyBpbXBvcnQgY29uc3RhbnRzIGFzIHBsYXRmb3JtY29uc3RhbnRzCi1AQCAt MTg3LDYgKzE4OCwyNyBAQCBjbGFzcyBTdGFnZVVzZXJUcmFja2VyKFBhc3NrZXlNaXhpbiwgS2Vy YmVyb3NBbGlhc01peGluLCBUcmFja2VyKToKLSAgICAgICAgICAgICByZXN1bHQ9c2VsZi5maWx0 ZXJfYXR0cnMoZXhwZWN0ZWQpLAotICAgICAgICAgKSwgcmVzdWx0KQotIAotKyAgICBkZWYgY2hl Y2tfY3JlYXRlX3dpdGhfd2FybmluZyhzZWxmLCByZXN1bHQsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHdhcm5pbmdfY29kZXM9KCksIGV4dHJhX2tleXM9KCkpOgotKyAgICAg ICAgIiIiIENoZWNrICdzdGFnZXVzZXItYWRkJyBjb21tYW5kIHJlc3VsdCAiIiIKLSsgICAgICAg IGV4cGVjdGVkID0gc2VsZi5maWx0ZXJfYXR0cnMoc2VsZi5jcmVhdGVfa2V5cyB8IHNldChleHRy YV9rZXlzKSkKLSsKLSsgICAgICAgIHJlc3VsdCA9IGNvcHkuZGVlcGNvcHkocmVzdWx0KQotKyAg ICAgICAgYXNzZXJ0ICdtZXNzYWdlcycgaW4gcmVzdWx0Ci0rICAgICAgICBhc3NlcnQgbGVuKHJl c3VsdFsnbWVzc2FnZXMnXSkgPT0gbGVuKHdhcm5pbmdfY29kZXMpCi0rICAgICAgICBjb2RlcyA9 IFttZXNzYWdlWydjb2RlJ10gZm9yIG1lc3NhZ2UgaW4gcmVzdWx0WydtZXNzYWdlcyddXQotKyAg ICAgICAgZm9yIGNvZGUgaW4gd2FybmluZ19jb2RlczoKLSsgICAgICAgICAgICBhc3NlcnQgY29k ZSBpbiBjb2RlcwotKyAgICAgICAgICAgIGNvZGVzLnBvcChjb2Rlcy5pbmRleChjb2RlKSkKLSsK LSsgICAgICAgIGRlbCByZXN1bHRbJ21lc3NhZ2VzJ10KLSsKLSsgICAgICAgIGFzc2VydF9kZWVw ZXF1YWwoZGljdCgKLSsgICAgICAgICAgICB2YWx1ZT1zZWxmLnVpZCwKLSsgICAgICAgICAgICBz dW1tYXJ5PXUnQWRkZWQgc3RhZ2UgdXNlciAiJXMiJyAlIHNlbGYudWlkLAotKyAgICAgICAgICAg IHJlc3VsdD1zZWxmLmZpbHRlcl9hdHRycyhleHBlY3RlZCksCi0rICAgICAgICApLCByZXN1bHQp Ci0rCi0gICAgIGRlZiBjaGVja19kZWxldGUoc2VsZiwgcmVzdWx0KToKLSAgICAgICAgICIiIiBD aGVjayAnc3RhZ2V1c2VyLWRlbCcgY29tbWFuZCByZXN1bHQgIiIiCi0gICAgICAgICBhc3NlcnRf ZGVlcGVxdWFsKGRpY3QoCi0tLSAKLTIuNDkuMAotCi0KLUZyb20gMDE1NTcxODMwOGZhNThmNDNm MmVjOGRmMjQwYzFkZjFjOTI5MTk1ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZs b3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDIgSnVuIDIw MjUgMTQ6NDc6NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1MC81M10gaXBhdGVzdHM6IGZpeCBp bnZhbGlkIHJhbmdlIGNyZWF0aW9uIGluCi0gdGVzdF9pcGFfaWRyYW5nZV9maXgucHkKLQotVGhl IHRlc3QgaXMgY3JlYXRpbmcgYSBsb2NhbCBJRCByYW5nZSB3aXRob3V0IHJpZC1iYXNlIGFuZAot c2Vjb25kYXJ5LXJpZC1iYXNlIGluIG9yZGVyIHRvIHRlc3QgdGhlIGJlaGF2aW9yIG9mIGlwYS1p ZHJhbmdlLWZpeC4KLQotU2luY2UgdGhlIHBhdGNoIGZvciB0aWNrZXQgIzk3NzkgaXQgaXMgbm90 IHBvc3NpYmxlIGFueSBtb3JlIHRvIGNhbGwKLWlwYSBpZHJhbmdlLWFkZCBmb3IgbG9jYWwgcmFu Z2Ugd2l0aG91dCB0aGVzZSBwYXJhbWV0ZXJzLiBUaGUgdGVzdCBuZWVkcwotdG8gY3JlYXRlIHRo ZSBpbnZhbGlkIGxvY2FsIHJhbmdlIHVzaW5nIGEgZGlyZWN0IGxkYXBtb2RpZnkgaW5zdGVhZC4K LQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTgwMQotU2lnbmVkLW9m Zi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5 OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLS0tLQotIC4uLi90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5ICB8IDM5ICsrKysrKysrKysrKy0tLS0tLS0K LSAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCi0KLWRp ZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4 LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pZHJhbmdlX2ZpeC5weQot aW5kZXggMGM5MTViZDA5Li42NTU5ODE4ZDMgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfaXBhX2lkcmFuZ2VfZml4LnB5Ci1AQCAtNDAsMTMgKzQwLDE4IEBAIGNs YXNzIFRlc3RJcGFJZHJhbmdlRml4KEludGVncmF0aW9uVGVzdCk6Ci0gCi0gICAgIGRlZiB0ZXN0 X2lkcmFuZ2Vfbm9fcmlkX2Jhc2VzKHNlbGYpOgotICAgICAgICAgIiIiVGVzdCBpcGEtaWRyYW5n ZS1maXggY29tbWFuZCB3aXRoIElEcmFuZ2Ugd2l0aCBubyBSSUQgYmFzZXMuIiIiCi0tICAgICAg ICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0tICAgICAgICAgICAgImlwYSIsCi0tICAgICAg ICAgICAgImlkcmFuZ2UtYWRkIiwKLS0gICAgICAgICAgICAiaWRyYW5nZV9ub19yaWRfYmFzZXMi LAotLSAgICAgICAgICAgICItLWJhc2UtaWQiLCAnMTAwMDAnLAotLSAgICAgICAgICAgICItLXJh bmdlLXNpemUiLCAnMjAwMDAnLAotLSAgICAgICAgXSkKLSsgICAgICAgICMgVXNlIGxkYXBtb2Rp ZnkgdG8gY3JlYXRlIHRoZSByYW5nZSB3aXRob3V0IHJpZCBiYXNlcwotKyAgICAgICAgaWRyYW5n ZV9sZGlmID0gKAotKyAgICAgICAgICAgICJkbjogY249aWRyYW5nZV9ub19yaWRfYmFzZXMsY249 cmFuZ2VzLGNuPWV0Yyx7c3VmZml4fVxuIgotKyAgICAgICAgICAgICJjaGFuZ2V0eXBlOiBhZGRc biIKLSsgICAgICAgICAgICAib2JqZWN0Y2xhc3M6IHRvcFxuIgotKyAgICAgICAgICAgICJvYmpl Y3RjbGFzczogaXBhSURyYW5nZVxuIgotKyAgICAgICAgICAgICJvYmplY3RjbGFzczogaXBhZG9t YWluaWRyYW5nZVxuIgotKyAgICAgICAgICAgICJpcGFSYW5nZVR5cGU6IGlwYS1sb2NhbFxuIgot KyAgICAgICAgICAgICJpcGFCYXNlSUQ6IDEwMDAwXG4iCi0rICAgICAgICAgICAgImlwYUlEUmFu Z2VTaXplOiAyMDAwMFxuIgotKyAgICAgICAgKS5mb3JtYXQoc3VmZml4PXN0cihzZWxmLm1hc3Rl ci5kb21haW4uYmFzZWRuKSkKLSsgICAgICAgIHRhc2tzLmxkYXBtb2RpZnlfZG0oc2VsZi5tYXN0 ZXIsIGlkcmFuZ2VfbGRpZikKLSAKLSAgICAgICAgIHJlc3VsdCA9IHNlbGYubWFzdGVyLnJ1bl9j b21tYW5kKFsiaXBhLWlkcmFuZ2UtZml4IiwgIi0tdW5hdHRlbmRlZCJdKQotICAgICAgICAgZXhw ZWN0ZWRfdGV4dCA9ICJSSUQgYmFzZXMgdXBkYXRlZCBmb3IgcmFuZ2UgJ2lkcmFuZ2Vfbm9fcmlk X2Jhc2VzJyIKLUBAIC02MiwxMyArNjcsMTkgQEAgY2xhc3MgVGVzdElwYUlkcmFuZ2VGaXgoSW50 ZWdyYXRpb25UZXN0KToKLSAgICAgICAgIHByZXZpb3VzbHkgaGFkIGEgcmFuZ2Ugd2l0aCBSSUQg YmFzZXMgcmV2ZXJzZWQgLSBzZWNvbmRhcnkgbG93ZXIgdGhhbgotICAgICAgICAgcHJpbWFyeS4g SXQgaXMgYSB2YWxpZCBjb25maWd1cmF0aW9uLCBzbyB3ZSBzaG91bGQgZml4IG5vLVJJRCByYW5n ZS4KLSAgICAgICAgICIiIgotLSAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWwotLSAg ICAgICAgICAgICJpcGEiLAotLSAgICAgICAgICAgICJpZHJhbmdlLWFkZCIsCi0tICAgICAgICAg ICAgImlkcmFuZ2Vfbm9fcmlkX2Jhc2VzIiwKLS0gICAgICAgICAgICAiLS1iYXNlLWlkIiwgJzEw MDAwJywKLS0gICAgICAgICAgICAiLS1yYW5nZS1zaXplIiwgJzIwMDAwJywKLS0gICAgICAgIF0p Ci0rICAgICAgICAjIFVzZSBsZGFwbW9kaWZ5IHRvIGNyZWF0ZSB0aGUgcmFuZ2Ugd2l0aG91dCBy aWQgYmFzZXMKLSsgICAgICAgIGlkcmFuZ2VfbGRpZiA9ICgKLSsgICAgICAgICAgICAiZG46IGNu PWlkcmFuZ2Vfbm9fcmlkX2Jhc2VzLGNuPXJhbmdlcyxjbj1ldGMse3N1ZmZpeH1cbiIKLSsgICAg ICAgICAgICAiY2hhbmdldHlwZTogYWRkXG4iCi0rICAgICAgICAgICAgIm9iamVjdGNsYXNzOiB0 b3BcbiIKLSsgICAgICAgICAgICAib2JqZWN0Y2xhc3M6IGlwYUlEcmFuZ2VcbiIKLSsgICAgICAg ICAgICAib2JqZWN0Y2xhc3M6IGlwYWRvbWFpbmlkcmFuZ2VcbiIKLSsgICAgICAgICAgICAiaXBh UmFuZ2VUeXBlOiBpcGEtbG9jYWxcbiIKLSsgICAgICAgICAgICAiaXBhQmFzZUlEOiAxMDAwMFxu IgotKyAgICAgICAgICAgICJpcGFJRFJhbmdlU2l6ZTogMjAwMDBcbiIKLSsgICAgICAgICkuZm9y bWF0KHN1ZmZpeD1zdHIoc2VsZi5tYXN0ZXIuZG9tYWluLmJhc2VkbikpCi0rICAgICAgICB0YXNr cy5sZGFwbW9kaWZ5X2RtKHNlbGYubWFzdGVyLCBpZHJhbmdlX2xkaWYpCi0rCi0gICAgICAgICBz ZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0gICAgICAgICAgICAgImlwYSIsCi0gICAgICAgICAg ICAgImlkcmFuZ2UtYWRkIiwKLS0tIAotMi40OS4wCi0KLQotRnJvbSA4NjUzYzQ4YmQyNTUwMDYz YzQwNGNjYTgwNDUzZWY2MzkyZTBmZGRjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjAgTWF5 IDIwMjUgMTM6NTg6NTQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA1MS81M10gaXBhdGVzdHM6IGZp eCB4ZmFpbCBhbm5vdGF0aW9uIGZvcgotIHRlc3RfaXBhX2hlYWx0aGNoZWNrX2ZpcHNfZW5hYmxl ZAotCi1UaGUgdGVzdCBpcyBleHBlY3RlZCB0byBmYWlsCi0tIG9uIHJoZWwgMTAuMCB3aXRoIGlw YS1oZWFsdGhjaGVjayA8IDAuMTcKLQotT24gRmVkb3JhIDQxLCB0aGUgY29tbWFuZCBmaXBzLW1v ZGUtY2hlY2sgaXMgc3RpbGwgYXZhaWxhYmxlLgotT24gRmVkb3JhIDQyLCBpdCBoYXMgYmVlbiBy ZW1vdmVkIGJ1dCBpcGEtaGVhbHRoY2hlY2sgMC4xOCBoYXMKLWJlZW4gYWRhcHRlZC4KLQotRml4 ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc5MQotU2lnbmVkLW9mZi1ieTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBEYXZp ZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9pcGFoZWFsdGhjaGVjay5weSB8IDYgKysrLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMgaW5z ZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weQotaW5kZXggMTNmY2MzZDQzLi4zZGNjMjI0MTEg MTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhaGVhbHRoY2hl Y2sucHkKLSsrKyBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVj ay5weQotQEAgLTM3NSwxMSArMzc1LDExIEBAIGNsYXNzIFRlc3RJcGFIZWFsdGhDaGVjayhJbnRl Z3JhdGlvblRlc3QpOgotICAgICAgICAgaWYgKAotICAgICAgICAgICAgIHBhcnNlX3ZlcnNpb24o aGVhbHRoY2hlY2tfdmVyc2lvbikgPCBwYXJzZV92ZXJzaW9uKCIwLjE3IikKLSAgICAgICAgICAg ICBhbmQgb3NpbmZvLmlkID09ICdyaGVsJwotLSAgICAgICAgICAgIGFuZCBvc2luZm8udmVyc2lv bl9udW1iZXIgPj0gKDEwLDApCi0rICAgICAgICAgICAgYW5kIG9zaW5mby52ZXJzaW9uX251bWJl ciA9PSAoMTAsMCkKLSAgICAgICAgICk6Ci0gICAgICAgICAgICAgIyBQYXRjaDogaHR0cHM6Ly9n aXRodWIuY29tL2ZyZWVpcGEvZnJlZWlwYS1oZWFsdGhjaGVjay9wdWxsLzM0OQotLSAgICAgICAg ICAgIHB5dGVzdC54ZmFpbCgiUGF0Y2ggaXMgdW5hdmFpbGFibGUgZm9yIFJIRUwgMTAuMCBhbmQg YWJvdmUiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICJmcmVlaXBhLWhlYWx0aGVjayB2ZXJz aW9uIDAuMTYgb3IgbGVzcyIpCi0rICAgICAgICAgICAgcHl0ZXN0LnNraXAoIlBhdGNoIGlzIHVu YXZhaWxhYmxlIGZvciBSSEVMIDEwLjAgIgotKyAgICAgICAgICAgICAgICAgICAgICAgICJmcmVl aXBhLWhlYWx0aGNoZWNrIHZlcnNpb24gMC4xNiBvciBsZXNzIikKLSAKLSAgICAgICAgIHJldHVy bmNvZGUsIGNoZWNrID0gcnVuX2hlYWx0aGNoZWNrKHNlbGYubWFzdGVyLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlPSJpcGFoZWFsdGhjaGVjay5t ZXRhLmNvcmUiLAotLS0gCi0yLjQ5LjAKLQotCi1Gcm9tIGQwZjY5NzljMDI1MGJkZjUyOTk0MDRi ZjcxMWNlZjc0ZGQ0NTgwNDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlv IFRvcnJlcyA8YW50b3JyZXNAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgNCBKdW4gMjAyNSAwOToz Njo1NSArMDIwMAotU3ViamVjdDogW1BBVENIIDUyLzUzXSBGaXggaW5jb25zaXN0ZW5jeSBpbiBt YW5wYWdlIGZvciBEb1QgZm9yd2FyZGVyIG9wdGlvbgotCi1UaGUgZXhhbXBsZSBnaXZlbiBpbiBt YW5wYWdlcyBmb3IgLS1kb3QtZm9yd2FyZGVyIG9wdGlvbiBpcyBpbmNvbnNpc3RlbnQKLXRvIHRo ZSBmb3JtYXQgdGhhdCBpcyByZXF1aXJlZC4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2Zy ZWVpcGEvaXNzdWUvOTgwNAotU2lnbmVkLW9mZi1ieTogQW50b25pbyBUb3JyZXMgPGFudG9ycmVz QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVk aGF0LmNvbT4KLS0tLQotIGluc3RhbGwvdG9vbHMvbWFuL2lwYS1kbnMtaW5zdGFsbC4xICAgICB8 IDIgKy0KLSBpbnN0YWxsL3Rvb2xzL21hbi9pcGEtcmVwbGljYS1pbnN0YWxsLjEgfCAyICstCi0g aW5zdGFsbC90b29scy9tYW4vaXBhLXNlcnZlci1pbnN0YWxsLjEgIHwgMiArLQotIDMgZmlsZXMg Y2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv aW5zdGFsbC90b29scy9tYW4vaXBhLWRucy1pbnN0YWxsLjEgYi9pbnN0YWxsL3Rvb2xzL21hbi9p cGEtZG5zLWluc3RhbGwuMQotaW5kZXggNjAwOGQyMDI4Li45NmVlZTFlZjcgMTAwNjQ0Ci0tLS0g YS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtZG5zLWluc3RhbGwuMQotKysrIGIvaW5zdGFsbC90b29s cy9tYW4vaXBhLWRucy1pbnN0YWxsLjEKLUBAIC03NCw3ICs3NCw3IEBAIEFuIHVuYXR0ZW5kZWQg aW5zdGFsbGF0aW9uIHRoYXQgd2lsbCBuZXZlciBwcm9tcHQgZm9yIHVzZXIgaW5wdXQKLSBDb25m aWd1cmUgRE5TIG92ZXIgVExTLgotIC5UUAotIFxmQlwtXC1kb3RcLWZvcndhcmRlclxmUj1cZklJ UF9BRERSRVNTI0hPU1ROQU1FXGZSCi0tQWRkIGEgRE5TLW92ZXItVExTLWVuYWJsZWQgZm9yd2Fy ZGVyIGluIHRoZSBmb3JtYXQgb2YgaXAjaG9zdG5hbWUsIGUuZy46IGRucy5leGFtcGxlLmNvbSMx LjIuMy40LiBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCBtdWx0aXBsZSB0aW1lcy4KLStBZGQgYSBE TlMtb3Zlci1UTFMtZW5hYmxlZCBmb3J3YXJkZXIgaW4gdGhlIGZvcm1hdCBvZiBpcCNob3N0bmFt ZSwgZS5nLjogMS4yLjMuNCNkbnMuZXhhbXBsZS5jb20uIFRoaXMgb3B0aW9uIGNhbiBiZSB1c2Vk IG11bHRpcGxlIHRpbWVzLgotIC5UUAotIFxmQlwtXC1kbnNcLW92ZXJcLXRsc1wtY2VydFxmUj1c ZklGSUxFXGZSCi0gQ2VydGlmaWNhdGUgdG8gdXNlIGZvciBETlMgb3ZlciBUTFMuIElmIGVtcHR5 LCBhIG5ldyBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHJlcXVlc3RlZCBmcm9tIElQQSBDQS4KLWRpZmYg LS1naXQgYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtcmVwbGljYS1pbnN0YWxsLjEgYi9pbnN0YWxs L3Rvb2xzL21hbi9pcGEtcmVwbGljYS1pbnN0YWxsLjEKLWluZGV4IGM1NWQyMTI1My4uNjM3YzVj MWI1IDEwMDY0NAotLS0tIGEvaW5zdGFsbC90b29scy9tYW4vaXBhLXJlcGxpY2EtaW5zdGFsbC4x Ci0rKysgYi9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtcmVwbGljYS1pbnN0YWxsLjEKLUBAIC0yMjgs NyArMjI4LDcgQEAgRGlzYWJsZSBETlNTRUMgdmFsaWRhdGlvbiBvbiB0aGlzIHNlcnZlci4KLSBD b25maWd1cmUgRE5TIG92ZXIgVExTLgotIC5UUAotIFxmQlwtXC1kb3RcLWZvcndhcmRlclxmUj1c ZklJUF9BRERSRVNTI0hPU1ROQU1FXGZSCi0tQWRkIGEgRE5TLW92ZXItVExTLWVuYWJsZWQgZm9y d2FyZGVyIGluIHRoZSBmb3JtYXQgb2YgaXAjaG9zdG5hbWUsIGUuZy46IGRucy5leGFtcGxlLmNv bSMxLjIuMy40LiBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCBtdWx0aXBsZSB0aW1lcy4KLStBZGQg YSBETlMtb3Zlci1UTFMtZW5hYmxlZCBmb3J3YXJkZXIgaW4gdGhlIGZvcm1hdCBvZiBpcCNob3N0 bmFtZSwgZS5nLjogMS4yLjMuNCNkbnMuZXhhbXBsZS5jb20uIFRoaXMgb3B0aW9uIGNhbiBiZSB1 c2VkIG11bHRpcGxlIHRpbWVzLgotIC5UUAotIFxmQlwtXC1kbnNcLW92ZXJcLXRsc1wtY2VydFxm Uj1cZklGSUxFXGZSCi0gQ2VydGlmaWNhdGUgdG8gdXNlIGZvciBETlMgb3ZlciBUTFMuIElmIGVt cHR5LCBhIG5ldyBjZXJ0aWZpY2F0ZSB3aWxsIGJlIHJlcXVlc3RlZCBmcm9tIElQQSBDQS4KLWRp ZmYgLS1naXQgYS9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtc2VydmVyLWluc3RhbGwuMSBiL2luc3Rh bGwvdG9vbHMvbWFuL2lwYS1zZXJ2ZXItaW5zdGFsbC4xCi1pbmRleCA4NGQ4MjUzMWMuLmI5MzY3 Y2UxMSAxMDA2NDQKLS0tLSBhL2luc3RhbGwvdG9vbHMvbWFuL2lwYS1zZXJ2ZXItaW5zdGFsbC4x Ci0rKysgYi9pbnN0YWxsL3Rvb2xzL21hbi9pcGEtc2VydmVyLWluc3RhbGwuMQotQEAgLTI1Nyw3 ICsyNTcsNyBAQCBBbGxvdyBjcmVhdGlvbiBvZiAocmV2ZXJzZSkgem9uZSBldmVuIGlmIHRoZSB6 b25lIGlzIGFscmVhZHkgcmVzb2x2YWJsZS4gVXNpbmcgdAotIENvbmZpZ3VyZSBETlMgb3ZlciBU TFMuCi0gLlRQCi0gXGZCXC1cLWRvdFwtZm9yd2FyZGVyXGZSPVxmSUlQX0FERFJFU1MjSE9TVE5B TUVcZlIKLS1BZGQgYSBETlMtb3Zlci1UTFMtZW5hYmxlZCBmb3J3YXJkZXIgaW4gdGhlIGZvcm1h dCBvZiBpcCNob3N0bmFtZSwgZS5nLjogZG5zLmV4YW1wbGUuY29tIzEuMi4zLjQuIFRoaXMgb3B0 aW9uIGNhbiBiZSB1c2VkIG11bHRpcGxlIHRpbWVzLgotK0FkZCBhIEROUy1vdmVyLVRMUy1lbmFi bGVkIGZvcndhcmRlciBpbiB0aGUgZm9ybWF0IG9mIGlwI2hvc3RuYW1lLCBlLmcuOiAxLjIuMy40 I2Rucy5leGFtcGxlLmNvbS4gVGhpcyBvcHRpb24gY2FuIGJlIHVzZWQgbXVsdGlwbGUgdGltZXMu Ci0gLlRQCi0gXGZCXC1cLWRuc1wtb3ZlclwtdGxzXC1jZXJ0XGZSPVxmSUZJTEVcZlIKLSBDZXJ0 aWZpY2F0ZSB0byB1c2UgZm9yIEROUyBvdmVyIFRMUy4gSWYgZW1wdHksIGEgbmV3IGNlcnRpZmlj YXRlIHdpbGwgYmUgcmVxdWVzdGVkIGZyb20gSVBBIENBLgotLS0gCi0yLjQ5LjAKLQotCi1Gcm9t IDc5NmVkMjAwOTJkNTU0ZWUwYzllMjMyOTVlMzQ2ZWMxZThhMGJmNmUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURh dGU6IE1vbiwgMjggQXByIDIwMjUgMTM6NDM6NDAgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA1My81 M10gU2V0IGtyYkNhbm9uaWNhbE5hbWU9YWRtaW5AUkVBTE0gb24gdGhlIGFkbWluIHVzZXIKLQot VGhlIGFkbWluIG11c3QgYWx3YXlzIG93biB0aGlzIG5hbWUuIElmIGFub3RoZXIgZW50cnkgaGFz IHRoaXMKLXZhbHVlIHNldCB0aGVuIHJlbW92ZSBpdC4KLQotVGhlcmUgaXMgYSB1bmlxdWVuZXNz IHBsdWdpbiBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhlIG9ubHkgdHdvCi1wb3NzaWJpbGl0aWVz IGFyZToKLQotLSBubyBlbnRyeSBoYXMgdGhpcyB2YWx1ZSBzZXQKLS0gdGhlIGFkbWluIHVzZXIg aGFzIHRoaXMgdmFsdWUgc2V0Ci0tIGEgZGlmZmVyZW50IGVudHJ5IGhhcyB0aGUgdmFsdWUgc2V0 Ci0KLVN0aWxsLCBmb3Igcm9idXN0bmVzcyBwdXJwb3NlcywgdGhlIHVwZ3JhZGUgcGx1Z2luIHdp bGwgaGFuZGxlCi1tb3JlIGVudHJpZXMuCi0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVu IDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaW5zdGFsbC9zaGFyZS9ib290c3RyYXAtdGVt cGxhdGUubGRpZiAgICAgICAgIHwgIDEgKwotIC4uLi91cGRhdGVzLzkwLXBvc3RfdXBncmFkZV9w bHVnaW5zLnVwZGF0ZSAgICB8ICAxICsKLSAuLi4vcGx1Z2lucy9hZGRfYWRtaW5fa3JiY2Fub25p Y2FsbmFtZS5weSAgICAgfCA3OSArKysrKysrKysrKysrKysrKysrCi0gaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5ICAgIHwgMzggKysrKysrKysrCi0gNCBmaWxlcyBj aGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpcGFzZXJ2ZXIv aW5zdGFsbC9wbHVnaW5zL2FkZF9hZG1pbl9rcmJjYW5vbmljYWxuYW1lLnB5Ci0KLWRpZmYgLS1n aXQgYS9pbnN0YWxsL3NoYXJlL2Jvb3RzdHJhcC10ZW1wbGF0ZS5sZGlmIGIvaW5zdGFsbC9zaGFy ZS9ib290c3RyYXAtdGVtcGxhdGUubGRpZgotaW5kZXggMzI1ZWI4NDUwLi45NDk3MmViNzIgMTAw NjQ0Ci0tLS0gYS9pbnN0YWxsL3NoYXJlL2Jvb3RzdHJhcC10ZW1wbGF0ZS5sZGlmCi0rKysgYi9p bnN0YWxsL3NoYXJlL2Jvb3RzdHJhcC10ZW1wbGF0ZS5sZGlmCi1AQCAtMjM5LDYgKzIzOSw3IEBA IG9iamVjdENsYXNzOiBpcGFzc2h1c2VyCi0gdWlkOiBhZG1pbgotIGtyYlByaW5jaXBhbE5hbWU6 IGFkbWluQCRSRUFMTQotIGtyYlByaW5jaXBhbE5hbWU6IHJvb3RAJFJFQUxNCi0ra3JiQ2Fub25p Y2FsTmFtZTogYWRtaW5AJFJFQUxNCi0gY246IEFkbWluaXN0cmF0b3IKLSBzbjogQWRtaW5pc3Ry YXRvcgotIHVpZE51bWJlcjogJElEU1RBUlQKLWRpZmYgLS1naXQgYS9pbnN0YWxsL3VwZGF0ZXMv OTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlIGIvaW5zdGFsbC91cGRhdGVzLzkwLXBvc3Rf dXBncmFkZV9wbHVnaW5zLnVwZGF0ZQotaW5kZXggN2MzYmJhM2UwLi4zZDc4YzdiNWEgMTAwNjQ0 Ci0tLS0gYS9pbnN0YWxsL3VwZGF0ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlCi0r KysgYi9pbnN0YWxsL3VwZGF0ZXMvOTAtcG9zdF91cGdyYWRlX3BsdWdpbnMudXBkYXRlCi1AQCAt MjUsNiArMjUsNyBAQCBwbHVnaW46IHVwZGF0ZV9tYXBwaW5nX0d1ZXN0c190b19ub2JvZHkKLSBw bHVnaW46IGZpeF9rcmFfcGVvcGxlX2VudHJ5Ci0gcGx1Z2luOiB1cGRhdGVfcHdwb2xpY3kKLSBw bHVnaW46IHVwZGF0ZV9wd3BvbGljeV9ncmFjZQotK3BsdWdpbjogYWRkX2FkbWluX2tyYmNhbm9u aWNhbG5hbWUKLSAKLSAjIGxhc3QKLSAjIEROUyB2ZXJzaW9uIDEKLWRpZmYgLS1naXQgYS9pcGFz ZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL2FkZF9hZG1pbl9rcmJjYW5vbmljYWxuYW1lLnB5IGIvaXBh c2VydmVyL2luc3RhbGwvcGx1Z2lucy9hZGRfYWRtaW5fa3JiY2Fub25pY2FsbmFtZS5weQotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uZTlmZmRmNTVhCi0tLS0gL2Rldi9u dWxsCi0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9wbHVnaW5zL2FkZF9hZG1pbl9rcmJjYW5vbmlj YWxuYW1lLnB5Ci1AQCAtMCwwICsxLDc5IEBACi0rIwotKyMgQ29weXJpZ2h0IChDKSAyMDI1ICBG cmVlSVBBIENvbnRyaWJ1dG9ycyBzZWUgQ09QWUlORyBmb3IgbGljZW5zZQotKyMKLSsKLStmcm9t IF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAotKwotK2ltcG9ydCBsb2dnaW5nCi0r Ci0rZnJvbSBpcGFsaWIgaW1wb3J0IGVycm9ycwotK2Zyb20gaXBhbGliIGltcG9ydCBSZWdpc3Ry eQotK2Zyb20gaXBhbGliIGltcG9ydCBVcGRhdGVyCi0rZnJvbSBpcGFweXRob24uZG4gaW1wb3J0 IEROCi0rCi0rbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0rCi0rcmVnaXN0 ZXIgPSBSZWdpc3RyeSgpCi0rCi0rCi0rQHJlZ2lzdGVyKCkKLStjbGFzcyBhZGRfYWRtaW5fa3Ji Y2Fub25pY2FsbmFtZShVcGRhdGVyKToKLSsgICAgIiIiCi0rICAgIEVuc3VyZXMgdGhhdCBvbmx5 IHRoZSBhZG1pbiB1c2VyIGhhcyB0aGUga3JiQ2Fub25pY2FsTmFtZSBvZgotKyAgICBhZG1pbkAk UkVBTE0uCi0rICAgICIiIgotKwotKyAgICBkZWYgZXhlY3V0ZShzZWxmLCAqKm9wdGlvbnMpOgot KyAgICAgICAgbGRhcCA9IHNlbGYuYXBpLkJhY2tlbmQubGRhcDIKLSsKLSsgICAgICAgIHNlYXJj aF9maWx0ZXIgPSAoCi0rICAgICAgICAgICAgIihrcmJjYW5vbmljYWxuYW1lPWFkbWluQHt9KSIu Zm9ybWF0KHNlbGYuYXBpLmVudi5yZWFsbSkpCi0rICAgICAgICB0cnk6Ci0rICAgICAgICAgICAg KGVudHJpZXMsIF90cnVuY2F0ZWQpID0gbGRhcC5maW5kX2VudHJpZXMoCi0rICAgICAgICAgICAg ICAgIGZpbHRlcj1zZWFyY2hfZmlsdGVyLCBiYXNlX2RuPXNlbGYuYXBpLmVudi5iYXNlZG4sCi0r ICAgICAgICAgICAgICAgIHRpbWVfbGltaXQ9MCwgc2l6ZV9saW1pdD0wKQotKyAgICAgICAgZXhj ZXB0IGVycm9ycy5FbXB0eVJlc3VsdDoKLSsgICAgICAgICAgICBsb2dnZXIuZGVidWcoImFkZF9h ZG1pbl9rcmJjYW5vbmljYWxuYW1lOiBObyB1c2VyIHNldCB3aXRoICIKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgImFkbWluIGtyYmNhbm9uaWNhbG5hbWUiKQotKyAgICAgICAgICAgIGVudHJp ZXMgPSBbXQotKyAgICAgICAgICAgICMgZmFsbCB0aHJvdWdoCi0rICAgICAgICBleGNlcHQgZXJy b3JzLkV4ZWN1dGlvbkVycm9yIGFzIGU6Ci0rICAgICAgICAgICAgbG9nZ2VyLmVycm9yKCJhZGRf YWRtaW5fa3JiY2Fub25pY2FsbmFtZTogQ2FuIG5vdCBnZXQgbGlzdCAiCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICJvZiBrcmJjYW5vbmljYWxuYW1lOiAlcyIsIGUpCi0rICAgICAgICAgICAg cmV0dXJuIEZhbHNlLCBbXQotKwotKyAgICAgICAgYWRtaW5fc2V0ID0gRmFsc2UKLSsgICAgICAg ICMgYWRtaW4gc2hvdWxkIGJlIG9ubHkgdXNlciB3aXRoIGFkbWluQCBhcyBrcmJjYW5vbmljYWxu YW1lCi0rICAgICAgICAjIEl0IGhhcyBhIHVuaXF1bmVzcyBzZXR0aW5nIHNvIHRoZXJlIGNhbiBi ZSBvbmx5IG9uZSwgd2UKLSsgICAgICAgICMganVzdCBkaWRuJ3QgYXV0b21hdGljYWxseSBzZXQg aXQgZm9yIGFkbWluLgotKyAgICAgICAgZm9yIGVudHJ5IGluIGVudHJpZXM6Ci0rICAgICAgICAg ICAgaWYgZW50cnkuc2luZ2xlX3ZhbHVlLmdldCgndWlkJykgIT0gJ2FkbWluJzoKLSsgICAgICAg ICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKAotKyAgICAgICAgICAgICAgICAgICAgImFkZF9hZG1p bl9rcmJjYW5vbmljYWxuYW1lOiAiCi0rICAgICAgICAgICAgICAgICAgICAiZW50cnkgJXMgaGFz IGEga3JiY2Fub25pY2FsbmFtZSBvZiBhZG1pbi4gUmVtb3ZpbmcuIiwKLSsgICAgICAgICAgICAg ICAgICAgIGVudHJ5LmRuKQotKyAgICAgICAgICAgICAgICBkZWwgZW50cnlbJ2tyYmNhbm9uaWNh bG5hbWUnXQotKyAgICAgICAgICAgICAgICBsZGFwLnVwZGF0ZV9lbnRyeShlbnRyeSkKLSsgICAg ICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBhZG1pbl9zZXQgPSBUcnVlCi0rCi0rICAg ICAgICBpZiBub3QgYWRtaW5fc2V0OgotKyAgICAgICAgICAgIGRuID0gRE4oCi0rICAgICAgICAg ICAgICAgICgndWlkJywgJ2FkbWluJyksCi0rICAgICAgICAgICAgICAgIHNlbGYuYXBpLmVudi5j b250YWluZXJfdXNlciwKLSsgICAgICAgICAgICAgICAgc2VsZi5hcGkuZW52LmJhc2VkbikKLSsg ICAgICAgICAgICBlbnRyeSA9IGxkYXAuZ2V0X2VudHJ5KGRuKQotKyAgICAgICAgICAgIGVudHJ5 WydrcmJjYW5vbmljYWxuYW1lJ10gPSAnYWRtaW5AJXMnICUgc2VsZi5hcGkuZW52LnJlYWxtCi0r ICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICBsZGFwLnVwZGF0ZV9lbnRyeShlbnRy eSkKLSsgICAgICAgICAgICBleGNlcHQgZXJyb3JzLkR1cGxpY2F0ZUVudHJ5OgotKyAgICAgICAg ICAgICAgICBsb2dnZXIuY3JpdGljYWwoCi0rICAgICAgICAgICAgICAgICAgICAiYWRkX2FkbWlu X2tyYmNhbm9uaWNhbG5hbWU6ICIKLSsgICAgICAgICAgICAgICAgICAgICJGYWlsZWQgdG8gc2V0 IGtyYmNhbm9uaWNhbG5hbWUgb24gYWRtaW4uIEl0IGlzIHNldCAiCi0rICAgICAgICAgICAgICAg ICAgICAib24gYW5vdGhlciBlbnRyeS4iKQotKyAgICAgICAgICAgIGV4Y2VwdCBlcnJvcnMuRXhl Y3V0aW9uRXJyb3IgYXMgZToKLSsgICAgICAgICAgICAgICAgbG9nZ2VyLmNyaXRpY2FsKAotKyAg ICAgICAgICAgICAgICAgICAgImFkZF9hZG1pbl9rcmJjYW5vbmljYWxuYW1lOiAiCi0rICAgICAg ICAgICAgICAgICAgICAiRmFpbGVkIHRvIHNldCBrcmJjYW5vbmljYWxuYW1lIG9uIGFkbWluOiAl cyIsIGUpCi0rCi0rICAgICAgICByZXR1cm4gRmFsc2UsIFtdCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1pbmRleCA5Y2FkNTc3MjEuLmFkOTdhZmZlNiAxMDA2 NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQotKysr IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMjE3OSw2 ICsyMTc5LDQ0IEBAIGNsYXNzIFRlc3RJUEFDb21tYW5kV2l0aG91dFJlcGxpY2EoSW50ZWdyYXRp b25UZXN0KToKLSAKLSAgICAgICAgIGFzc2VydCBpc3Jncm9vdHgxX25pY2sgaW4gcmVzdWx0Ci0g Ci0rICAgIGRlZiB0ZXN0X3VuaXF1ZV9rcmJjYW5vbmljYWxuYW1lKHNlbGYpOgotKyAgICAgICAg IiIiVmVyaWZ5IHRoYXQgdGhlIHVuaXF1ZW5lc3MgZm9yIGtyYmNhbm9uaWNhbG5hbWUgaXMgd29y a2luZyIiIgotKyAgICAgICAgbWFzdGVyID0gc2VsZi5tYXN0ZXIKLSsKLSsgICAgICAgIGJhc2Vf ZG4gPSBzdHIobWFzdGVyLmRvbWFpbi5iYXNlZG4pCi0rICAgICAgICBob3N0bmFtZSA9IG1hc3Rl ci5ob3N0bmFtZQotKyAgICAgICAgcmVhbG0gPSBtYXN0ZXIuZG9tYWluLnJlYWxtCi0rICAgICAg ICBwcmluY2lwYWwgPSBmJ3Rlc3Qve2hvc3RuYW1lfUB7cmVhbG19JwotKyAgICAgICAgZW50cnlf bGRpZiA9IHRleHR3cmFwLmRlZGVudCgiIiIKLSsgICAgICAgICAgICBkbjoga3JicHJpbmNpcGFs bmFtZT17cHJpbmNpcGFsfSxjbj1zZXJ2aWNlcyxjbj1hY2NvdW50cyx7YmFzZV9kbn0KLSsgICAg ICAgICAgICBjaGFuZ2V0eXBlOiBhZGQKLSsgICAgICAgICAgICBpcGFrcmJwcmluY2lwYWxhbGlh czogdGVzdC97aG9zdG5hbWV9QHtyZWFsbX0KLSsgICAgICAgICAgICBrcmJwcmluY2lwYWxuYW1l OiB7cHJpbmNpcGFsfQotKyAgICAgICAgICAgIG9iamVjdGNsYXNzOiBpcGFrcmJwcmluY2lwYWwK LSsgICAgICAgICAgICBvYmplY3RjbGFzczogaXBhb2JqZWN0Ci0rICAgICAgICAgICAgb2JqZWN0 Y2xhc3M6IGlwYXNlcnZpY2UKLSsgICAgICAgICAgICBvYmplY3RjbGFzczoga3JicHJpbmNpcGFs Ci0rICAgICAgICAgICAgb2JqZWN0Y2xhc3M6IGtyYnByaW5jaXBhbGF1eAotKyAgICAgICAgICAg IG9iamVjdGNsYXNzOiB0b3AKLSsgICAgICAgICAgICBrcmJjYW5vbmljYWxuYW1lOiBhZG1pbkB7 cmVhbG19Ci0rICAgICAgICAgICAgbWFuYWdlZGJ5OiBmcWRuPXtob3N0bmFtZX0sY249Y29tcHV0 ZXJzLGNuPWFjY291bnRzLHtiYXNlX2RufQotKyAgICAgICAgIiIiKS5mb3JtYXQoCi0rICAgICAg ICAgICAgYmFzZV9kbj1iYXNlX2RuLAotKyAgICAgICAgICAgIGhvc3RuYW1lPWhvc3RuYW1lLAot KyAgICAgICAgICAgIHByaW5jaXBhbD1wcmluY2lwYWwsCi0rICAgICAgICAgICAgcmVhbG09cmVh bG0pCi0rICAgICAgICB0YXNrcy5rZGVzdHJveV9hbGwobWFzdGVyKQotKyAgICAgICAgbWFzdGVy LnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsna2luaXQnLCAnLWt0JywgJy9ldGMva3JiNS5r ZXl0YWInLCBmJ2hvc3Qve2hvc3RuYW1lfUB7cmVhbG19J10pCi0rICAgICAgICBhcmdzID0gWwot KyAgICAgICAgICAgICdsZGFwbW9kaWZ5JywKLSsgICAgICAgICAgICAnLVknLAotKyAgICAgICAg ICAgICdHU1NBUEknCi0rICAgICAgICBdCi0rICAgICAgICByZXN1bHQgPSBtYXN0ZXIucnVuX2Nv bW1hbmQoYXJncywgc3RkaW5fdGV4dD1lbnRyeV9sZGlmLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UpCi0rICAgICAgICBhc3NlcnQgImVudHJ5 IHdpdGggdGhlIHNhbWUgYXR0cmlidXRlIHZhbHVlIiBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsK LSAKLSBjbGFzcyBUZXN0SVBBYXV0b21vdW50KEludGVncmF0aW9uVGVzdCk6Ci0gICAgIEBjbGFz c21ldGhvZAotLS0gCi0yLjQ5LjAKLQoKZGlmZiAtLWdpdCBhL2ZyZWVpcGEtNC0xMi0yLXBvc3Qt dXBkYXRlcy0zLnBhdGNoIGIvZnJlZWlwYS00LTEyLTItcG9zdC11cGRhdGVzLTMucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNkZjM5YzAuLjAwMDAwMDAKLS0tIGEvZnJlZWlw YS00LTEyLTItcG9zdC11cGRhdGVzLTMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0NjIxICsw LDAgQEAKLUZyb20gMzllOTJjNDAzM2QwZWNkNzAyMjgxZjNlY2JlYWMzYjVmNjU0ZTk3MyBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDE5IEp1biAyMDI1IDE3OjE3OjQ0ICswMjAwCi1TdWJqZWN0 OiBbUEFUQ0ggMDEvNDddIGlwYXRlc3RzOiBmaXggdGVzdF9hZHRydXN0X2luc3RhbGxfd2l0aF9u b25faXBhX3VzZXIKLQotRml4IHRoZSB0ZXN0IHNjZW5hcmlvOgotY3JlYXRlIGEgdXNlciB3aXRo IGEgc2Vjb25kIGtyYnByaW5jaXBhbG5hbWUgYnV0IG5vCi1rcmJjYW5vbmljYWwgbmFtZS4KLWtp bml0IC1FIHdpdGggdGhlIG90aGVyIG5hbWUKLXRyeSBpcGEtYWR0cnVzdC1pbnN0YWxsIHdpdGgg dGhlIG90aGVyIG5hbWUKLUl0IHNob3VsZCBmYWlsIHdpdGggdGhlIGVycm9yIG1lc3NhZ2UgJ3Vz ZXIgbm90IGZvdW5kJwotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85 ODEyCi1TaWduZWQtb2ZmLWJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29t PgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYmJyYUB1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+Ci0tLS0KLSAuLi4vdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2FkdHJ1c3RfaW5zdGFs bC5weSAgfCA0OCArKysrKysrKysrKysrKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDM2IGluc2Vy dGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X2FkdHJ1c3RfaW5zdGFsbC5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdy YXRpb24vdGVzdF9hZHRydXN0X2luc3RhbGwucHkKLWluZGV4IDk5ZDMwMjk0NC4uMDllMjI3ZWM4 IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2FkdHJ1c3RfaW5z dGFsbC5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2FkdHJ1c3RfaW5z dGFsbC5weQotQEAgLTM2MCwyNyArMzYwLDUxIEBAIGNsYXNzIFRlc3RJcGFBZFRydXN0SW5zdGFs bChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0IG1zZyBpbiByZXN1bHQuc3Rkb3V0 X3RleHQKLSAgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29kZSA9PSAwCi0gCi0tICAgIGRl ZiB0ZXN0X2FkdHJ1c3RfaW5zdGFsbF93aXRoX25vbl9pcGFfdXNlcihzZWxmKToKLSsgICAgQHB5 dGVzdC5maXh0dXJlCi0rICAgIGRlZiBjcmVhdGVfdXNlcihzZWxmKToKLSsgICAgICAgICMgY3Jl YXRlIGEgdXNlciB3aXRoICdvdGhlcm5hbWUnIGFzIDJuZCBrcmJwcmluY2lwYWxuYW1lIGJ1dAot KyAgICAgICAgIyBubyBrcmJjYW5vbmljYWxuYW1lCi0rICAgICAgICBiYXNlZG4gPSBzZWxmLm1h c3Rlci5kb21haW4uYmFzZWRuCi0rICAgICAgICBzZWxmLnRlc3RfdXNlciA9ICdpZG11c2VyJwot KyAgICAgICAgc2VsZi50ZXN0X2FsaWFzID0gJ290aGVybmFtZScKLSsgICAgICAgIHRhc2tzLmNy ZWF0ZV9hY3RpdmVfdXNlcigKLSsgICAgICAgICAgICBzZWxmLm1hc3Rlciwgc2VsZi50ZXN0X3Vz ZXIsIHNlbGYubWFzdGVyLmNvbmZpZy5hZG1pbl9wYXNzd29yZCwKLSsgICAgICAgICAgICBmaXJz dD1zZWxmLnRlc3RfdXNlciwgbGFzdD1zZWxmLnRlc3RfdXNlcikKLSsgICAgICAgIHVzZXJfdXBk YXRlX2xkaWYgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0rICAgICAgICAgICAgZG46IHVpZD17dXNl cn0sY249dXNlcnMsY249YWNjb3VudHMse2Jhc2VfZG59Ci0rICAgICAgICAgICAgY2hhbmdldHlw ZTogbW9kaWZ5Ci0rICAgICAgICAgICAgYWRkOiBrcmJwcmluY2lwYWxuYW1lCi0rICAgICAgICAg ICAga3JicHJpbmNpcGFsbmFtZToge2FsaWFzfUB7cmVhbG19Ci0rICAgICAgICAgICAgLQotKyAg ICAgICAgICAgIGRlbGV0ZToga3JiY2Fub25pY2FsbmFtZQotKyAgICAgICAgICAgICIiIi5mb3Jt YXQoYmFzZV9kbj1iYXNlZG4sIHVzZXI9c2VsZi50ZXN0X3VzZXIsCi0rICAgICAgICAgICAgICAg ICAgICAgICBhbGlhcz1zZWxmLnRlc3RfYWxpYXMsIHJlYWxtPXNlbGYubWFzdGVyLmRvbWFpbi5y ZWFsbSkpCi0rICAgICAgICB0YXNrcy5sZGFwbW9kaWZ5X2RtKHNlbGYubWFzdGVyLCB1c2VyX3Vw ZGF0ZV9sZGlmKQotKyAgICAgICAgeWllbGQKLSsgICAgICAgIHRhc2tzLmtpbml0X2FkbWluKHNl bGYubWFzdGVyKQotKyAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWyJpcGEiLCAidXNl ci1kZWwiLCBzZWxmLnRlc3RfdXNlcl0pCi0rCi0rICAgIGRlZiB0ZXN0X2FkdHJ1c3RfaW5zdGFs bF93aXRoX3VzZXJfbWlzc2luZ19rcmJjYW5vbmljYWwoc2VsZiwgY3JlYXRlX3VzZXIpOgotICAg ICAgICAgIiIiCi0gICAgICAgICBUZXN0IHRoYXQgaXBhLWFkdHJ1c3QtaW5zdGFsbCBjb21tYW5k IHJldHVybnMKLS0gICAgICAgIGFuIGVycm9yIHdoZW4ga2luaXQgaXMgZG9uZSBhcyBhbGlhcwot LSAgICAgICAgaS5lIHJvb3Qgd2hpY2ggaXMgbm90IGFuIGlwYSB1c2VyLgotKyAgICAgICAgYW4g ZXJyb3Igd2hlbiBraW5pdCBpcyBkb25lIGFzIGFuIGFsaWFzCi0rICAgICAgICBmb3Igd2hpY2gg dGhlcmUgaXMgbm8ga3JiY2Fub25pY2FsbmFtZS4KLSAgICAgICAgICIiIgotLSAgICAgICAgbXNn ID0gKAotLSAgICAgICAgICAgICdVbnJlY29nbml6ZWQgZXJyb3IgZHVyaW5nIGNoZWNrIG9mIGFk bWluIHJpZ2h0czogJwotLSAgICAgICAgICAgICdyb290OiB1c2VyIG5vdCBmb3VuZCcKLS0gICAg ICAgICkKLS0gICAgICAgIHVzZXIgPSAncm9vdCcKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9j b21tYW5kKFsia2Rlc3Ryb3kiLCAiLUEiXSkKLSAgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21t YW5kKAotLSAgICAgICAgICAgIFsia2luaXQiLCAiLUUiLCB1c2VyXSwKLS0gICAgICAgICAgICBz dGRpbl90ZXh0PXNlbGYubWFzdGVyLmNvbmZpZy5hZG1pbl9wYXNzd29yZAotLSAgICAgICAgKQot KyAgICAgICAgICAgIFsia2luaXQiLCAiLUUiLCBzZWxmLnRlc3RfYWxpYXNdLAotKyAgICAgICAg ICAgIHN0ZGluX3RleHQ9c2VsZi5tYXN0ZXIuY29uZmlnLmFkbWluX3Bhc3N3b3JkKQotKwotICAg ICAgICAgcmVzdWx0ID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoCi0tICAgICAgICAgICAgWyJp cGEtYWR0cnVzdC1pbnN0YWxsIiwgIi1BIiwgdXNlciwKLSsgICAgICAgICAgICBbImlwYS1hZHRy dXN0LWluc3RhbGwiLCAiLUEiLCBzZWxmLnRlc3RfYWxpYXMsCi0gICAgICAgICAgICAgICItYSIs IHNlbGYubWFzdGVyLmNvbmZpZy5hZG1pbl9wYXNzd29yZCwKLSAgICAgICAgICAgICAgIi1VIl0s IHJhaXNlb25lcnI9RmFsc2UKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByZXN1bHQucmV0 dXJuY29kZSAhPSAwCi0rICAgICAgICBtc2cgPSAoCi0rICAgICAgICAgICAgJ1VucmVjb2duaXpl ZCBlcnJvciBkdXJpbmcgY2hlY2sgb2YgYWRtaW4gcmlnaHRzOiAnCi0rICAgICAgICAgICAgJ3th bGlhc306IHVzZXIgbm90IGZvdW5kJwotKyAgICAgICAgKS5mb3JtYXQoYWxpYXM9c2VsZi50ZXN0 X2FsaWFzKQotICAgICAgICAgYXNzZXJ0IG1zZyBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSAKLSAg ICAgZGVmIHRlc3RfYWR0cnVzdF9pbnN0YWxsX2FzX3JlZ3VsYXJfaXBhX3VzZXIoc2VsZik6Ci0t LSAKLTIuNTEuMAotCi0KLUZyb20gZmJhN2FhMTBjODQ4NzExNjA3NWQ1NmM4ZGVkZWViZWZjNDBi NzRlYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1 ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDE2IEp1biAyMDI1IDE4OjE1OjIyICswMjAw Ci1TdWJqZWN0OiBbUEFUQ0ggMDIvNDddIGlwYS1pZHJhbmdlLWZpeDogY2hlY2sgdGhhdCBJUEEg c2VydmVyIGlzIGluc3RhbGxlZAotCi1JZiBpcGEtaWRyYW5nZS1maXggaXMgY2FsbGVkIG9uIGEg c3lzdGVtIHdoZXJlIHRoZSBzZXJ2ZXIgaXMgbm90IGNvbmZpZ3VyZWQsCi1pdCBjcmFzaGVzIHdp dGggYSBUcmFjZWJhY2sgd2hlbiB0cnlpbmcgdG8gYWNjZXNzIGFwaS5lbnYuYmFzZWRuLgotCi1D aGVjayB0aGF0IElQQSBzZXJ2ZXIgaXMgY29uZmlndXJlZCBiZWZvcmUgcHJvY2Vzc2luZyBmdXJ0 aGVyCi0KLWlwYXRlc3RzOiBhZGQgdGVzdCBsYXVuY2hpbmcgaXBhLWlkcmFuZ2UtZml4IG9uIHVu Y29uZmlndXJlZCBzZXJ2ZXIKLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNz dWUvOTgwOQotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4K LVJldmlld2VkLUJ5OiBEYXZpZCBIYW5pbmEgPGRoYW5pbmFAcmVkaGF0LmNvbT4KLS0tLQotIGlw YXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2ZpeC5weSAgICAgICAgICAgICAgICAgICB8ICAz ICsrKwotIC4uLi90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2xpX2lwYV9ub3RfY29uZmlndXJlZC5w eSAgICB8IDEwICsrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykK LQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2ZpeC5weSBiL2lw YXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2ZpeC5weQotaW5kZXggYzZjNjdhZTkzLi5jZDIx ZWQ0MjggMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfaWRyYW5nZV9maXgucHkK LSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9pZHJhbmdlX2ZpeC5weQotQEAgLTEwLDYgKzEw LDcgQEAgZnJvbSBpcGFsaWIgaW1wb3J0IGFwaSwgZXJyb3JzCi0gZnJvbSBpcGFweXRob24uYWRt aW50b29sIGltcG9ydCBBZG1pblRvb2wKLSBmcm9tIGlwYXB5dGhvbi5kbiBpbXBvcnQgRE4KLSBm cm9tIGlwYXB5dGhvbiBpbXBvcnQgaXBhdXRpbAotK2Zyb20gaXBhc2VydmVyLmluc3RhbGwuaW5z dGFsbHV0aWxzIGltcG9ydCBjaGVja19zZXJ2ZXJfY29uZmlndXJhdGlvbgotIGZyb20gdHlwaW5n IGltcG9ydCBMaXN0LCBUdXBsZQotIAotIGxvZ2dlciA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKF9fbmFt ZV9fKQotQEAgLTE2OSw2ICsxNzAsOCBAQCBmb3IgY29uZmlybWF0aW9uIiwKLSAgICAgICAgIHN1 cGVyKCkudmFsaWRhdGVfb3B0aW9ucyhuZWVkc19yb290KQotIAotICAgICBkZWYgcnVuKHNlbGYp OgotKyAgICAgICAgY2hlY2tfc2VydmVyX2NvbmZpZ3VyYXRpb24oKQotKwotICAgICAgICAgYXBp LmJvb3RzdHJhcChpbl9zZXJ2ZXI9VHJ1ZSkKLSAgICAgICAgIGFwaS5maW5hbGl6ZSgpCi0gCi1k aWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NsaV9pcGFfbm90X2Nv bmZpZ3VyZWQucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2xpX2lwYV9ub3Rf Y29uZmlndXJlZC5weQotaW5kZXggMWJmMzZkOGVlLi43YzU2MDEyNDcgMTAwNjQ0Ci0tLS0gYS9p cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2xpX2lwYV9ub3RfY29uZmlndXJlZC5weQot KysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NsaV9pcGFfbm90X2NvbmZpZ3Vy ZWQucHkKLUBAIC0yMiwzICsyMiwxMyBAQCBjbGFzcyBUZXN0SVBBTm90Q29uZmlndXJlZChJbnRl Z3JhdGlvblRlc3QpOgotICAgICAgICAgYXNzZXJ0IChleHBfc3RyIGluIGNtZC5zdGRlcnJfdGV4 dCBhbmQKLSAgICAgICAgICAgICAgICAgY21kLnJldHVybmNvZGUgPT0gU0VSVkVSX05PVF9DT05G SUdVUkVEIGFuZAotICAgICAgICAgICAgICAgICB1bmV4cF9zdHIgbm90IGluIGNtZC5zdGRlcnJf dGV4dCkKLSsKLSsgICAgZGVmIHRlc3RfaXBhX2lkcmFuZ2VfZml4KHNlbGYpOgotKyAgICAgICAg IiIiCi0rICAgICAgICBUZXN0IGZvciBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk4 MDkKLSsgICAgICAgIExhdW5jaCBpcGEtaWRyYW5nZS1maXggY29tbWFuZCB3aGVuIHRoZSBzZXJ2 ZXIgaXMgbm90IGNvbmZpZ3VyZWQuCi0rICAgICAgICAiIiIKLSsgICAgICAgIGV4cF9zdHIgPSAi SVBBIGlzIG5vdCBjb25maWd1cmVkIgotKyAgICAgICAgY21kID0gc2VsZi5tYXN0ZXIucnVuX2Nv bW1hbmQoWyJpcGEtaWRyYW5nZS1maXgiXSwgcmFpc2VvbmVycj1GYWxzZSkKLSsgICAgICAgIGFz c2VydCAoZXhwX3N0ciBpbiBjbWQuc3RkZXJyX3RleHQKLSsgICAgICAgICAgICAgICAgYW5kIGNt ZC5yZXR1cm5jb2RlID09IFNFUlZFUl9OT1RfQ09ORklHVVJFRCkKLS0tIAotMi41MS4wCi0KLQot RnJvbSA3MzAxZjAwYjRmY2QxMTU5ZjljOTNmYzEwOWI5NWUwZjBiNzFmZmM0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+ Ci1EYXRlOiBXZWQsIDI4IE1heSAyMDI1IDExOjIzOjA2IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0gg MDMvNDddIEFkZCB0b2tlbiBvcHRpb25zIHRvIGltbXV0YWJsZXMgZm9yIHBraSBvdmVycmlkZQot Ci1TZXR0aW5nIHRoZSBIU00gb3B0aW9ucyBpbiBhIHBraS1vdmVycmlkZS1maWxlIHdpbGwKLXJl c3VsdCBpbiBhIHN1Y2Nlc3NmdWwgaW5zdGFsbGF0aW9uIGJ1dCBpdCBhZmZlY3RzIHRoZQotc3Rv cmFnZSBvZiB0aGUgdG9rZW4gbGlicmFyeSBwYXRoLiBJdCBpcyBzdG9yZWQgYXMgTm9uZS4KLQot V2UgY291bGQgYWxzbyBpbnN0ZWFkIHNhdmUgdGhlIHByb3ZpZGVkIHZhbHVlIGZyb20gdGhlCi1v dmVycmlkZSBidXQgYW4gb3ZlcnJpZGUgaXNuJ3QgbmVjZXNzYXJ5IGluIHRoaXMgY2FzZQotc2lu Y2UgSVBBIHByb3ZpZGVzIGNvbW1hbmQtbGluZSBvcHRpb25zIHRvIGVuYWJsZSBpdC4KLQotU2ln bmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdl ZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGRvYy9k ZXNpZ25zL2hzbS5tZCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCi0gaXBhc2Vy dmVyL2luc3RhbGwvZG9ndGFnaW5zdGFuY2UucHkgICAgICAgICAgIHwgIDYgKysrCi0gLi4uL3Rl c3RfcGtpX2NvbmZpZ19vdmVycmlkZS5weSAgICAgICAgICAgICAgIHwgNDUgKysrKysrKysrKysr KysrKysrKwotIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigt KQotCi1kaWZmIC0tZ2l0IGEvZG9jL2Rlc2lnbnMvaHNtLm1kIGIvZG9jL2Rlc2lnbnMvaHNtLm1k Ci1pbmRleCA3ODZmOTNlMzEuLjllNzU1N2Y0NyAxMDA2NDQKLS0tLSBhL2RvYy9kZXNpZ25zL2hz bS5tZAotKysrIGIvZG9jL2Rlc2lnbnMvaHNtLm1kCi1AQCAtMzIsNyArMzIsOCBAQCBPbmx5IFJT QSBrZXlzIHdpbGwgYmUgc3VwcG9ydGVkLgotIAotIFVzaW5nIGFuIEhTTSBzaG91bGQgYmUgbGFy Z2VseSBpbnZpc2libGUgdG8gdXNlcnMgYW5kIGFkbWluaXN0cmF0b3JzIGJleW9uZCBwYXNzaW5n IGFkZGl0aW9uYWwgb3B0aW9ucyBkdXJpbmcgaW5zdGFsbGF0aW9uLiBUaGUgb3B0aW9ucyByZXF1 aXJlZCBhbmQgYW55IHByZS1pbnN0YWxsaW9uIHdvcmsgYXJlIEhTTS1zcGVjaWZpYy4KLSAKLS1J dCB3aWxsIG5vdCBiZSBwb3NzaWJsZSB0byBtaXggYW5kIG1hdGNoIGJ5IGRlZmF1bHQuIFBLSSBz dXBwb3J0cyBzcGVjaWZ5aW5nIHRoZSB0b2tlbiB2YWx1ZXMgc28gYSB1c2VyIGNhbiBvdmVycmlk ZSB0aGVzZSB1c2luZyAtLXBraS1jb25maWctb3ZlcnJpZGUgYnV0IGl0IGlzLCBhbmQgd2lsbCBi ZSwgdW50ZXN0ZWQuCi0rSXQgd2lsbCBub3QgYmUgcG9zc2libGUgdG8gbWl4IGFuZCBtYXRjaCBi eSBkZWZhdWx0LiBJUEEgYWxsb3dzIG92ZXJyaWRpbmcgc29tZSwgYnV0IG5vdCBhbGwsIG9mIHRo ZSBQS0kgb3B0aW9ucy4gVGhlIGZvbGxvd2luZyBIU00tc3BlY2lmaWMgb3B0aW9ucyBhcmUgYWRk ZWQgdG8gdGhlIG5vdCBhbGxvd2VkIGxpc3Q6IHBraV9oc21fZW5hYmxlLCBwa2lfaHNtX2xpYmZp bGUsIHBraV9oc21fbW9kdWxlbmFtZSwgcGtpX3Rva2VuX25hbWUsIHBraV90b2tlbl9wYXNzd29y ZC4gSVBBIHJlcXVpcmVzIHRoYXQgaXRzIEhTTSBjb21tYW5kLWxpbmUgb3B0aW9ucyBhcmUgdXNl ZC4KLSsKLSAKLSBUaGVyZSBhcmUgYSBmZXcgYmFzaWMgcnVsZXM6Ci0gCi1kaWZmIC0tZ2l0IGEv aXBhc2VydmVyL2luc3RhbGwvZG9ndGFnaW5zdGFuY2UucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9k b2d0YWdpbnN0YW5jZS5weQotaW5kZXggZDU3OTZjNzVhLi4xZjE4ZDdmYWUgMTAwNjQ0Ci0tLS0g YS9pcGFzZXJ2ZXIvaW5zdGFsbC9kb2d0YWdpbnN0YW5jZS5weQotKysrIGIvaXBhc2VydmVyL2lu c3RhbGwvZG9ndGFnaW5zdGFuY2UucHkKLUBAIC0xMDQyLDYgKzEwNDIsMTIgQEAgY2xhc3MgUEtJ SW5pTG9hZGVyOgotICAgICAgICAgJ3BraV9jbG9uZV9yZXBsaWNhdGlvbl9jbG9uZV9wb3J0JywK LSAgICAgICAgICdwa2lfY2xvbmVfcmVwbGljYXRlX3NjaGVtYScsCi0gICAgICAgICAncGtpX2Ns b25lX3VyaScsCi0rICAgICAgICAjIGhzbQotKyAgICAgICAgJ3BraV9oc21fZW5hYmxlJywKLSsg ICAgICAgICdwa2lfaHNtX2xpYmZpbGUnLAotKyAgICAgICAgJ3BraV9oc21fbW9kdWxlbmFtZScs Ci0rICAgICAgICAncGtpX3Rva2VuX25hbWUnLAotKyAgICAgICAgJ3BraV90b2tlbl9wYXNzd29y ZCcsCi0gICAgICAgICAjIGNhaW5zdGFuY2UKLSAgICAgICAgICdwa2lfZHNfc2VjdXJlX2Nvbm5l Y3Rpb24nLAotICAgICAgICAgJ3BraV9zZXJ2ZXJfZGF0YWJhc2VfcGFzc3dvcmQnLAotZGlmZiAt LWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9wa2lfY29uZmlnX292ZXJyaWRl LnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X3BraV9jb25maWdfb3ZlcnJpZGUu cHkKLWluZGV4IGQ1MjBiMDBjNC4uYTdmZDkyOTZlIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X3BraV9jb25maWdfb3ZlcnJpZGUucHkKLSsrKyBiL2lwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9wa2lfY29uZmlnX292ZXJyaWRlLnB5Ci1AQCAtMjAsNiAr MjAsMjUgQEAgaXBhX2NhX2tleV9hbGdvcml0aG09U0hBNTEyd2l0aFJTQQotIGlwYV9jYV9zaWdu aW5nX2FsZ29yaXRobT1TSEE1MTJ3aXRoUlNBCi0gIiIiCi0gCi0rSFNNX09WRVJSSURFID0gIiIi Ci0rW0NBXQotK3BraV9oc21fZW5hYmxlID0gVHJ1ZQotK3BraV9oc21fbGliZmlsZSA9IC91c3Iv bGliNjQvcGtjczExL2xpYnNvZnRoc20yLnNvCi0rcGtpX2hzbV9tb2R1bGVuYW1lID0gbGlic29m dGhzbTIKLStwa2lfdG9rZW5fbmFtZSA9IGlwYV90b2tlbgotK3BraV90b2tlbl9wYXNzd29yZCA9 IFNlY3JldDEyMwotKyIiIgotKwotKwotK2RlZiBzZXJ2ZXJfaW5zdGFsbF90ZWFyZG93bihmdW5j KToKLSsgICAgZGVmIHdyYXBwZWQoKmFyZ3MpOgotKyAgICAgICAgbWFzdGVyID0gYXJnc1swXS5t YXN0ZXIKLSsgICAgICAgIHRyeToKLSsgICAgICAgICAgICBmdW5jKCphcmdzKQotKyAgICAgICAg ZmluYWxseToKLSsgICAgICAgICAgICB0YXNrcy51bmluc3RhbGxfbWFzdGVyKG1hc3RlcikKLSsg ICAgcmV0dXJuIHdyYXBwZWQKLSsKLSAKLSBjbGFzcyBUZXN0UEtJQ29uZmlnT3ZlcnJpZGUoSW50 ZWdyYXRpb25UZXN0KToKLSAgICAgQGNsYXNzbWV0aG9kCi1AQCAtNDAsMyArNTksMjkgQEAgY2xh c3MgVGVzdFBLSUNvbmZpZ092ZXJyaWRlKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICBjZXJ0 ID0gbG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0ZShjYV9wZW0pCi0gICAgICAgICBhc3NlcnQgY2Vy dC5wdWJsaWNfa2V5KCkua2V5X3NpemUgPT0gNDA5NgotICAgICAgICAgYXNzZXJ0IGNlcnQuc2ln bmF0dXJlX2hhc2hfYWxnb3JpdGhtLm5hbWUgPT0gaGFzaGVzLlNIQTUxMi5uYW1lCi0rCi0rCi0r Y2xhc3MgVGVzdFBLSUhTTUNvbmZpZ092ZXJyaWRlKEludGVncmF0aW9uVGVzdCk6Ci0rICAgIG51 bV9yZXBsaWNhcyA9IDAKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0rICAgIGRlZiBpbnN0YWxsKGNs cywgbWgpOgotKyAgICAgICAgcGFzcwotKwotKyAgICBAc2VydmVyX2luc3RhbGxfdGVhcmRvd24K LSsgICAgZGVmIHRlc3RfaW1tdXRhYmxlX29wdGlvbnMoc2VsZik6Ci0rICAgICAgICAiIiJQcm92 aWRpbmcgdGhlIGltbXVuaWJsZSBIU00gb3B0aW9ucyBzaG91bGQgZmFpbCIiIgotKyAgICAgICAg cGtpX2luaSA9IHRhc2tzLnVwbG9hZF90ZW1wX2NvbnRlbnRzKHNlbGYubWFzdGVyLCBIU01fT1ZF UlJJREUpCi0rICAgICAgICBleHRyYV9hcmdzID0gWwotKyAgICAgICAgICAgICctLXBraS1jb25m aWctb3ZlcnJpZGUnLCBwa2lfaW5pLAotKyAgICAgICAgXQotKyAgICAgICAgcmVzdWx0ID0gdGFz a3MuaW5zdGFsbF9tYXN0ZXIoCi0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIsIHNldHVwX2Rucz1G YWxzZSwgZXh0cmFfYXJncz1leHRyYV9hcmdzLAotKyAgICAgICAgICAgIHJhaXNlb25lcnI9RmFs c2UKLSsgICAgICAgICkKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsncm0nLCAn LWYnLCBwa2lfaW5pXSkKLSsgICAgICAgIHRhc2tzLmFzc2VydF9lcnJvcigKLSsgICAgICAgICAg ICByZXN1bHQsCi0rICAgICAgICAgICAgJ2ltbXV0YWJsZSBvcHRpb25zOiBwa2lfaHNtX2VuYWJs ZSwgcGtpX2hzbV9saWJmaWxlLCAnCi0rICAgICAgICAgICAgJ3BraV9oc21fbW9kdWxlbmFtZSwg cGtpX3Rva2VuX25hbWUsIHBraV90b2tlbl9wYXNzd29yZCcKLSsgICAgICAgICkKLS0tIAotMi41 MS4wCi0KLQotRnJvbSBjZWFhMWM5YTI0NDQ5OTUzNDM0M2RjNjY3MjI3ZTQ3YTkyMzIxMmVlIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJl ZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDE3IEp1biAyMDI1IDEyOjUwOjM2IC0wNDAwCi1TdWJqZWN0 OiBbUEFUQ0ggMDQvNDddIGlwYS1taWdyYXRlIC0gb25seSByZW1vdmUgcmVwbCBzdGF0ZSBhdHRy aWJ1dGUgb3B0aW9ucwotCi1JbXByb3ZlIGhvdyB3ZSBwcm9jZXNzIGF0dHJpYnV0ZXMgdGhhdCBt aWdodCBpbmNsdWRlIHJlcGxpY2F0aW9uIHN0YXRlCi1kYXRhLiBQcmV2aW91c2x5IHdlIG9ubHkg Y2FyZWQgYWJvdXQgIjtiaW5hcnkiIGJ1dCB0aGVyZSBhcmUgb3RoZXIKLWF0dHJpYnV0ZSBvcHRp b25zIHRoYXQgYXJlIHVzZWQgaW4gSVBBLiBOb3cgd2UgY29tcGxldGVseSBicmVhayBkb3duIHRo ZQotYXR0cmlidXRlIGludG8gZWFjaCBvcHRpb24gYW5kIHJlYnVpbGQgaXQgd2l0aG91dCBhbnkg cmVwbCBzdGF0ZSBvcHRpb25zCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lz c3VlLzk3ODQKLQotU2lnbmVkLW9mZi1ieTogTWFyayBSZXlub2xkcyA8bXJleW5vbGRzQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJl dmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3 ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhc2Vy dmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkgICAgICAgICAgIHwgMTcgKysrKysrKysrLS0tLS0t LS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkgfCAgMiArKwot IDIgZmlsZXMgY2hhbmdlZCwgMTEgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKLQotZGlm ZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlLnB5IGIvaXBhc2VydmVyL2lu c3RhbGwvaXBhX21pZ3JhdGUucHkKLWluZGV4IGEyNGEyYWI3YS4uYjI2ZmI2Njg1IDEwMDY0NAot LS0tIGEvaXBhc2VydmVyL2luc3RhbGwvaXBhX21pZ3JhdGUucHkKLSsrKyBiL2lwYXNlcnZlci9p bnN0YWxsL2lwYV9taWdyYXRlLnB5Ci1AQCAtMzMsNyArMzMsNyBAQCBmcm9tIGlwYXNlcnZlci5p bnN0YWxsLmlwYV9taWdyYXRlX2NvbnN0YW50cyBpbXBvcnQgKAotICAgICBEU19DT05GSUcsIERC X09CSkVDVFMsIERTX0lOREVYRVMsIEJJTkRfRE4sIExPR19GSUxFX05BTUUsCi0gICAgIFNUUklQ X09QX0FUVFJTLCBTVFJJUF9BVFRSUywgU1RSSVBfT0MsIFBST0RfQVRUUlMsCi0gICAgIEROQV9S RUdFTl9WQUwsIEROQV9SRUdFTl9BVFRSUywgTklTX1BMVUdJTiwgSUdOT1JFX0FUVFJTLAotLSAg ICBEQl9FWENMVURFX1RSRUVTLCBQT0xJQ1lfT1BfQVRUUlMKLSsgICAgREJfRVhDTFVERV9UUkVF UywgUE9MSUNZX09QX0FUVFJTLCBTVEFURV9PUFRJT05TCi0gKQotIAotICIiIgotQEAgLTIwMiwx NCArMjAyLDE1IEBAIGRlZiBkZWNvZGVfYXR0cl92YWxzKGVudHJ5X2F0dHJzKToKLSAgICAgZGVj b2RlZF9hdHRycyA9IHt9Ci0gICAgIGZvciBhdHRyIGluIGVudHJ5X2F0dHJzOgotICAgICAgICAg dmFscyA9IGVuc3VyZV9saXN0X3N0cihlbnRyeV9hdHRyc1thdHRyXSkKLS0gICAgICAgICMgUmVt b3ZlIHJlcGxpY2F0aW9uIHN0YXRlIGRhdGEsIGJ1dCBkb24ndCByZW1vdmUgIjtiaW5hcnkiCi0t ICAgICAgICAjIGUuZy4gIHVzZXJDZXJ0aWZpZmNjYXRlO2JpbmFyeTthZGNzbj08Q1NOPgotKyAg ICAgICAgIyBSZW1vdmUgIm9ubHkiIHJlcGxpY2F0aW9uIHN0YXRlIGRhdGEsIGJ1dCBkb24ndCBy ZW1vdmUgb3RoZXIgYXR0cgotKyAgICAgICAgIyBvcHRpb25zIGxpa2UgIjtiaW5hcnkiCi0rICAg ICAgICAjICAgIGUuZy4gIHVzZXJDZXJ0aWZpY2F0ZTtiaW5hcnk7YWRjc249PENTTj4KLSAgICAg ICAgIHBhcnRzID0gYXR0ci5zcGxpdCgiOyIpCi0tICAgICAgICBpZiBsZW4ocGFydHMpID4gMSBh bmQgbm90IGF0dHIuZW5kc3dpdGgoIjtiaW5hcnkiKToKLS0gICAgICAgICAgICBpZiBwYXJ0c1sx XSA9PSAiYmluYXJ5IjoKLS0gICAgICAgICAgICAgICAgYXR0ciA9IHBhcnRzWzBdICsgIjtiaW5h cnkiCi0tICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgYXR0ciA9IHBhcnRzWzBd Ci0rICAgICAgICBhdHRyX3BhcnRzID0gWwotKyAgICAgICAgICAgIHBhcnRzWzBdXSArIFtwIGZv ciBwIGluIHBhcnRzWzE6XQotKyAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgYW55KHAu c3RhcnRzd2l0aChvcHQpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9y IG9wdCBpbiBTVEFURV9PUFRJT05TKV0KLSsgICAgICAgIGF0dHIgPSAoJzsnKS5qb2luKGF0dHJf cGFydHMpCi0gICAgICAgICBkZWNvZGVkX2F0dHJzW2F0dHJdID0gdmFscwotICAgICByZXR1cm4g ZGVjb2RlZF9hdHRycwotIAotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdy YXRlX2NvbnN0YW50cy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2lwYV9taWdyYXRlX2NvbnN0YW50 cy5weQotaW5kZXggNGJlYWE0ZjQyLi4xOWNkNTE0MTMgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9pcGFfbWlncmF0ZV9jb25zdGFudHMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxs L2lwYV9taWdyYXRlX2NvbnN0YW50cy5weQotQEAgLTExNyw2ICsxMTcsOCBAQCBBRF9UUlVTVF9B VFRSUyA9IFsgICMgaXBhTlRUcnVzdGVkRG9tYWluIG9iamVjdGNsYXNzCi0gICAgICdpcGFudGFk ZGl0aW9uYWxzdWZmaXhlcycsCi0gXQotIAotK1NUQVRFX09QVElPTlMgPSAoJ2FkY3NuLScsICdt ZGNzbi0nLCAndnVjc24tJywgJ3ZkY3NuLScpCi0rCi0gRE5BX1JFR0VOX1ZBTCA9ICItMSIKLSAK LSBETkFfUkVHRU5fQVRUUlMgPSBbCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gY2FmYWVkMWMyMTE5 ZmIyZTI1MjA5ZWVmYWM3NGJjMjFjY2FiM2RjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMjUgSnVs IDIwMjQgMTk6MzU6MzMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAwNS80N10gaXBhLWtkYjogc3Vw cG9ydCBzdG9yaW5nIG11bHRpcGxlIEtWTk8gZm9yIHRoZSBzYW1lCi0gcHJpbmNpcGFsCi0KLUFs bCBNSVQga3JiNSBrZXlzIGFyZSBlbmNvZGVkIHdpdGggYW4gZW5jcnlwdGlvbiB0eXBlIGlkZW50 aWZpZXIgYW5kIGEKLUtWTk8gKGtleSB2ZXJzaW9uIG51bWJlcikuIFRoZSBLVk5PIGlzIHJlZmVy cmluZyB0byB0aGUgb3JpZ2luYWwKLWNyZWRlbnRpYWxzIHN0cmluZyAoYW5kIGl0cyBhc3NvY2lh dGVkIHNhbHQpIHdoaWNoIHdhcyB1c2VkIHRvIGdlbmVyYXRlCi10aGUga2V5IHVzaW5nIHRoZSBk ZXJpdmF0aW9uIGZ1bmN0aW9uIG9mIHRoZSBhc3NvY2lhdGVkIGVuY3J5cHRpb24gdHlwZS4KLQot U28gZmFyLCB3aGVuIGEgc2V0IG9mIEtlcmJlcm9zIGtleXMgd2FzIHByb3ZpZGVkIHRvIGlwYS1r ZGIsIG9ubHkgdGhlCi1uZXdlc3QgS1ZOTyBvbmVzIHdlcmUgc2F2ZWQgaW4gYSBzaW5nbGUgImty YlByaW5jaXBhbEtleSIgTERBUAotYXR0cmlidXRlLiBBbGwgdGhlIG9sZGVyIG9uZXMgd2VyZSBk ZWxldGVkIGluIHRoZSBwcm9jZXNzLgotCi1UaGlzIGNvbW1pdCBhbGxvd3MgdG8ga2VlcCBvbGRl ciBrZXlzIGJ5IHNwbGl0dGluZyB0aGVtIGluIG11bHRpcGxlCi0ia3JiUHJpbmNpcGFsS2V5IiBh dHRyaWJ1dGUgYmFzZWQgb24gdGhlaXIgS1ZOTy4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlv L2ZyZWVpcGEvaXNzdWUvOTM3MAotU2lnbmVkLW9mZi1ieTogSnVsaWVuIFJpc2NoZSA8anJpc2No ZUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRo YXQuY29tPgotLS0tCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfcHJpbmNpcGFscy5jIHwgMTI1 ICsrKysrKysrKysrKysrKysrKysrKysrLS0tLQotIHV0aWwvaXBhX2tyYjUuYyAgICAgICAgICAg ICAgICAgICAgICB8ICAgNyArKwotIDIgZmlsZXMgY2hhbmdlZCwgMTE1IGluc2VydGlvbnMoKyks IDE3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJf cHJpbmNpcGFscy5jIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfcHJpbmNpcGFscy5jCi1pbmRl eCAxMTQ5NTdiODguLjE5OTk4YzJhMyAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLWtkYi9pcGFf a2RiX3ByaW5jaXBhbHMuYwotKysrIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfcHJpbmNpcGFs cy5jCi1AQCAtMjIsNiArMjIsNyBAQAotIAotICNpbmNsdWRlICJpcGFfa2RiLmgiCi0gI2luY2x1 ZGUgImlwYV9rcmI1LmgiCi0rI2luY2x1ZGUgPHN0ZGxpYi5oPgotICNpbmNsdWRlIDx1bmljYXNl Lmg+Ci0gCi0gLyoKLUBAIC0yNzksMjIgKzI4MCw2NCBAQCBkb25lOgotIHN0YXRpYyBpbnQgaXBh ZGJfbGRhcF9hdHRyX3RvX2tleV9kYXRhKExEQVAgKmxjb250ZXh0LCBMREFQTWVzc2FnZSAqbGUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhciAqYXR0cm5hbWUs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3JiNV9rZXlfZGF0YSAq KnJlc3VsdCwgaW50ICpudW0sCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAga3JiNV9rdm5vICpyZXNfbWt2bm8pCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAga3JiNV9rdm5vICpta3ZubykKLSB7Ci0tICAgIHN0cnVjdCBiZXJ2YWwgKip2YWxz OwotLSAgICBpbnQgbWt2bm87Ci0rICAgIHN0cnVjdCBiZXJ2YWwgKip2YWxzLCAqKnA7Ci0rICAg IGtyYjVfa2V5X2RhdGEgKmN1cl9yZXMgPSBOVUxMLCAqZmluX3JlcyA9IE5VTEwsICp0bXBfcmVz OwotKyAgICBpbnQgZmluX21rdm5vID0gMCwgY3VyX21rdm5vLCBjdXJfbnVtLCBmaW5fbnVtID0g MDsKLSAgICAgaW50IHJldDsKLSAKLSAgICAgdmFscyA9IGxkYXBfZ2V0X3ZhbHVlc19sZW4obGNv bnRleHQsIGxlLCBhdHRybmFtZSk7Ci0tICAgIGlmICghdmFscykgewotKyAgICBpZiAoIXZhbHMp Ci0gICAgICAgICByZXR1cm4gRU5PRU5UOwotKwotKyAgICBmb3IgKHAgPSB2YWxzOyAqcDsgKytw KSB7Ci0rICAgICAgICByZXQgPSBiZXJfZGVjb2RlX2tyYjVfa2V5X2RhdGEoKnAsICZjdXJfbWt2 bm8sICZjdXJfbnVtLCAmY3VyX3Jlcyk7Ci0rICAgICAgICBpZiAocmV0KQotKyAgICAgICAgICAg IGdvdG8gZW5kOwotKwotKyAgICAgICAgLyogQWxsIGtleXMgaW4gYSBwcmluY2lwYWwgZW50cnkg c2hvdWxkIGJlIGVuY3J5cHRlZCB3aXRoIHRoZSBzYW1lCi0rICAgICAgICAgKiBtYXN0ZXIga2V5 LiAqLwotKyAgICAgICAgaWYgKGZpbl9ta3ZubyA9PSAwKSB7Ci0rICAgICAgICAgICAgZmluX21r dm5vID0gY3VyX21rdm5vOwotKyAgICAgICAgfSBlbHNlIGlmIChjdXJfbWt2bm8gIT0gZmluX21r dm5vKSB7Ci0rICAgICAgICAgICAgcmV0ID0gRUlOVkFMOwotKyAgICAgICAgICAgIGdvdG8gZW5k OwotKyAgICAgICAgfQotKwotKyAgICAgICAgaWYgKCFmaW5fcmVzKSB7Ci0rICAgICAgICAgICAg ZmluX3JlcyA9IGN1cl9yZXM7Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIHRtcF9y ZXMgPSByZWFsbG9jKGZpbl9yZXMsIChmaW5fbnVtICsgY3VyX251bSkgKiBzaXplb2YoKmZpbl9y ZXMpKTsKLSsgICAgICAgICAgICBpZiAoIXRtcF9yZXMpIHsKLSsgICAgICAgICAgICAgICAgcmV0 ID0gRU5PTUVNOwotKyAgICAgICAgICAgICAgICBnb3RvIGVuZDsKLSsgICAgICAgICAgICB9IGVs c2UgewotKyAgICAgICAgICAgICAgICBmaW5fcmVzID0gdG1wX3JlczsKLSsgICAgICAgICAgICB9 Ci0rCi0rICAgICAgICAgICAgbWVtY3B5KGZpbl9yZXMgKyBmaW5fbnVtLCBjdXJfcmVzLCBjdXJf bnVtICogc2l6ZW9mKCpmaW5fcmVzKSk7Ci0rICAgICAgICAgICAgZnJlZShjdXJfcmVzKTsKLSsg ICAgICAgIH0KLSsKLSsgICAgICAgIGN1cl9yZXMgPSBOVUxMOwotKyAgICAgICAgZmluX251bSAr PSBjdXJfbnVtOwotICAgICB9Ci0gCi0tICAgIHJldCA9IGJlcl9kZWNvZGVfa3JiNV9rZXlfZGF0 YSh2YWxzWzBdLCAmbWt2bm8sIG51bSwgcmVzdWx0KTsKLS0gICAgbGRhcF92YWx1ZV9mcmVlX2xl bih2YWxzKTsKLS0gICAgaWYgKHJldCA9PSAwKSB7Ci0tICAgICAgICAqcmVzX21rdm5vID0gbWt2 bm87Ci0rICAgIGlmIChta3ZubykKLSsgICAgICAgICpta3ZubyA9IGZpbl9ta3ZubzsKLSsgICAg aWYgKG51bSkKLSsgICAgICAgICpudW0gPSBmaW5fbnVtOwotKyAgICBpZiAocmVzdWx0KSB7Ci0r ICAgICAgICAqcmVzdWx0ID0gZmluX3JlczsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIGZyZWUo ZmluX3Jlcyk7Ci0gICAgIH0KLSsKLStlbmQ6Ci0rICAgIGxkYXBfdmFsdWVfZnJlZV9sZW4odmFs cyk7Ci0rICAgIGlmIChjdXJfcmVzICYmIGZpbl9yZXMgIT0gY3VyX3JlcykKLSsgICAgICAgIGZy ZWUoY3VyX3Jlcyk7Ci0gICAgIHJldHVybiByZXQ7Ci0gfQotIAotQEAgLTI1MzIsMTUgKzI1NzUs MjYgQEAgc3RhdGljIGtyYjVfZXJyb3JfY29kZSBpcGFkYl9nZXRfbWt2bm9fZnJvbV90bF9kYXRh KGtyYjVfdGxfZGF0YSAqdGxfZGF0YSwKLSAgICAgcmV0dXJuIDA7Ci0gfQotIAotK3N0YXRpYyBp bnQgZGVzY19rZXlfZGF0YShjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQotK3sKLSsgICAg Y29uc3Qga3JiNV9rZXlfZGF0YSAqa2EgPSBhOwotKyAgICBjb25zdCBrcmI1X2tleV9kYXRhICpr YiA9IGI7Ci0rCi0rICAgIHJldHVybiBrYS0+a2V5X2RhdGFfa3ZubyAhPSBrYi0+a2V5X2RhdGFf a3ZubwotKyAgICAgICAgPyBrYi0+a2V5X2RhdGFfa3ZubyAtIGthLT5rZXlfZGF0YV9rdm5vCi0r ICAgICAgICA6IGtiLT5rZXlfZGF0YV90eXBlWzBdIC0ga2EtPmtleV9kYXRhX3R5cGVbMF07Ci0r fQotKwotIHN0YXRpYyBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfZ2V0X2xkYXBfbW9kX2tleV9kYXRh KHN0cnVjdCBpcGFkYl9tb2RzICppbW9kcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBrcmI1X2tleV9kYXRhICprZXlfZGF0YSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbl9rZXlfZGF0 YSwgaW50IG1rdm5vLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGludCBtb2Rfb3ApCi0gewotICAgICBrcmI1X2Vycm9yX2NvZGUga2VycjsKLS0g ICAgc3RydWN0IGJlcnZhbCAqYnZhbCA9IE5VTEw7Ci0rICAgIGtyYjVfa2V5X2RhdGEgKmt2bm9f a2RhdGE7Ci0rICAgIHN0cnVjdCBiZXJ2YWwgKipidmFscyA9IE5VTEw7Ci0gICAgIExEQVBNb2Qg Km1vZDsKLS0gICAgaW50IHJldDsKLSsgICAgaW50IGksIGosIGJlZ2luLCBuX2t2bm87Ci0gCi0g ICAgIC8qIElmIHRoZSBrZXkgZGF0YSBpcyBlbXB0eSwgcmVtb3ZlIGFsbCBrZXlzLiAqLwotICAg ICBpZiAobl9rZXlfZGF0YSA9PSAwIHx8IGtleV9kYXRhID09IE5VTEwpIHsKLUBAIC0yNTU5LDE5 ICsyNjEzLDU2IEBAIHN0YXRpYyBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfZ2V0X2xkYXBfbW9kX2tl eV9kYXRhKHN0cnVjdCBpcGFkYl9tb2RzICppbW9kcywKLSAgICAgICAgIHJldHVybiAwOwotICAg ICB9Ci0gCi0tICAgIHJldCA9IGJlcl9lbmNvZGVfa3JiNV9rZXlfZGF0YShrZXlfZGF0YSwgbl9r ZXlfZGF0YSwgbWt2bm8sICZidmFsKTsKLS0gICAgaWYgKHJldCAhPSAwKSB7Ci0tICAgICAgICBr ZXJyID0gcmV0OwotKyAgICAvKiBDb3B5IGtleSBsaXN0LiAqLwotKyAgICBrdm5vX2tkYXRhID0g Y2FsbG9jKG5fa2V5X2RhdGEsIHNpemVvZigqa3Zub19rZGF0YSkpOwotKyAgICBpZiAoIWt2bm9f a2RhdGEpCi0rICAgICAgICByZXR1cm4gRU5PTUVNOwotKwotKyAgICBtZW1jcHkoa3Zub19rZGF0 YSwga2V5X2RhdGEsIG5fa2V5X2RhdGEgKiBzaXplb2YoKmt2bm9fa2RhdGEpKTsKLSsKLSsgICAg LyogTWFrZSBzdXJlIHRoZSBrZXkgbGlzdCBpcyBzb3J0ZWQgYnkgS1ZOTyBhbmQgZW5jdHlwZS4g Ki8KLSsgICAgcXNvcnQoa3Zub19rZGF0YSwgbl9rZXlfZGF0YSwgc2l6ZW9mKCprdm5vX2tkYXRh KSwgZGVzY19rZXlfZGF0YSk7Ci0rCi0rICAgIC8qIENvdW50IG51bWJlciBvZiBkaXN0aW5jdCBL Vk5Pcy4gKi8KLSsgICAgZm9yIChpID0gMSwgbl9rdm5vID0gMTsgaSA8IG5fa2V5X2RhdGE7ICsr aSkgewotKyAgICAgICAgaWYgKGt2bm9fa2RhdGFbaSAtIDFdLmtleV9kYXRhX2t2bm8gIT0ga3Zu b19rZGF0YVtpXS5rZXlfZGF0YV9rdm5vKQotKyAgICAgICAgICAgICsrbl9rdm5vOwotKyAgICB9 Ci0rCi0rICAgIGJ2YWxzID0gY2FsbG9jKG5fa3Zubywgc2l6ZW9mKCpidmFscykpOwotKyAgICBp ZiAoIWJ2YWxzKSB7Ci0rICAgICAgICBrZXJyID0gRU5PTUVNOwotICAgICAgICAgZ290byBkb25l OwotICAgICB9Ci0gCi0tICAgIGtlcnIgPSBpcGFkYl9nZXRfbGRhcF9tb2RfYnZhbHVlcyhpbW9k cywgImtyYlByaW5jaXBhbEtleSIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmYnZhbCwgMSwgbW9kX29wKTsKLSsgICAgLyogQWRkIGEgImtyYlByaW5jaXBhbEtleSIg YXR0cmlidXRlIGZvciBlYWNoIEtWTk8uICovCi0rICAgIGZvciAoaSA9IDAsIGogPSAwLCBiZWdp biA9IDA7IGkgPCBuX2tleV9kYXRhOyArK2kpIHsKLSsgICAgICAgIGlmIChrdm5vX2tkYXRhW2Jl Z2luXS5rZXlfZGF0YV9rdm5vICE9IGt2bm9fa2RhdGFbaV0ua2V5X2RhdGFfa3ZubykgewotKyAg ICAgICAgICAgIGtlcnIgPSBiZXJfZW5jb2RlX2tyYjVfa2V5X2RhdGEoa3Zub19rZGF0YSArIGJl Z2luLCBpIC0gYmVnaW4sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBta3ZubywgYnZhbHMgKyBqKTsKLSsgICAgICAgICAgICBpZiAoa2VycikKLSsgICAgICAg ICAgICAgICAgZ290byBkb25lOwotKwotKyAgICAgICAgICAgIGJlZ2luID0gaTsKLSsgICAgICAg ICAgICArK2o7Ci0rICAgICAgICB9Ci0rICAgIH0KLSsKLSsgICAga2VyciA9IGJlcl9lbmNvZGVf a3JiNV9rZXlfZGF0YShrdm5vX2tkYXRhICsgYmVnaW4sIGkgLSBiZWdpbiwgbWt2bm8sCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnZhbHMgKyBqKTsKLSsgICAgaWYgKGtl cnIpCi0rICAgICAgICBnb3RvIGRvbmU7Ci0rCi0rICAgIGtlcnIgPSBpcGFkYl9nZXRfbGRhcF9t b2RfYnZhbHVlcyhpbW9kcywgImtyYlByaW5jaXBhbEtleSIsIGJ2YWxzLCBuX2t2bm8sCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2Rfb3ApOwotIAotIGRvbmU6Ci0t ICAgIGlmIChrZXJyKSB7Ci0tICAgICAgICBiZXJfYnZmcmVlKGJ2YWwpOwotKyAgICBpZiAoa2Vy ciAmJiBidmFscykgewotKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG5fa3ZubzsgKytpKQotKyAg ICAgICAgICAgIGJlcl9idmZyZWUoYnZhbHNbaV0pOwotKyAgICAgICAgZnJlZShidmFscyk7Ci0g ICAgIH0KLSsgICAgZnJlZShrdm5vX2tkYXRhKTsKLSAgICAgcmV0dXJuIGtlcnI7Ci0gfQotIAot ZGlmZiAtLWdpdCBhL3V0aWwvaXBhX2tyYjUuYyBiL3V0aWwvaXBhX2tyYjUuYwotaW5kZXggMDA4 N2U1M2U2Li5mYmQ0ZDU3ZGUgMTAwNjQ0Ci0tLS0gYS91dGlsL2lwYV9rcmI1LmMKLSsrKyBiL3V0 aWwvaXBhX2tyYjUuYwotQEAgLTM5NCw2ICszOTQsMTMgQEAgaW50IGJlcl9lbmNvZGVfa3JiNV9r ZXlfZGF0YShrcmI1X2tleV9kYXRhICpkYXRhLAotIAotICAgICBmb3IgKGkgPSAwOyBpIDwgbnVt azsgaSsrKSB7Ci0gCi0rICAgICAgICAvKiBBbGwga2V5cyBtdXN0IGhhdmUgdGhlIHNhbWUgS1ZO TywgYmVjYXVzZSB0aGVyZSBpcyBvbmx5IG9uZSBhdHRyaWJ1dGUKLSsgICAgICAgICAqIGZvciBh bGwgb2YgdGhlbS4gKi8KLSsgICAgICAgIGlmIChkYXRhW2ldLmtleV9kYXRhX2t2bm8gIT0gZGF0 YVswXS5rZXlfZGF0YV9rdm5vKSB7Ci0rICAgICAgICAgICAgcmV0ID0gRUlOVkFMOwotKyAgICAg ICAgICAgIGdvdG8gZG9uZTsKLSsgICAgICAgIH0KLSsKLSAgICAgICAgIHJldCA9IGJlcl9wcmlu dGYoYmUsICJ7Iik7Ci0gICAgICAgICBpZiAocmV0ID09IC0xKSB7Ci0gICAgICAgICAgICAgcmV0 ID0gRUZBVUxUOwotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIGZiOTBhOTQ5MjE1MGQ2NjgwMDM5ODQz NDVkY2FjODc0YzRlMjZlNjEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdWxpZW4g UmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDEyIE1hciAyMDI1IDEzOjQ5 OjQ3ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDYvNDddIFVzZSBpcGFwbGF0Zm9ybSB0YXNrcyBm b3Iga3JiNSBlbmN0eXBlcwotCi1Qcm92aWRlIHRoZSBtYXN0ZXIga2V5IGVuY3J5cHRpb24gdHlw ZSBhbmQgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkCi1lbmNyeXB0aW9uIHR5cGVzIGFzIGlwYXBsYXRm b3JtLjxwbGF0Zm9ybT4udGFza3MgbWV0aG9kcy4gVGhpcyBhbGxvd3MKLXRvIGdlbmVyYXRlIHRo ZSBsaXN0IGF0IHJ1bnRpbWUgYmFzZWQgb24gdGhlIGVudmlyb25tZW50IChlLmcuIEZJUFMpIGFu ZAotb3ZlcnJpZGUgdGhlIGxpc3QgZGVwZW5kaW5nIG9mIHRoZSBwbGF0Zm9ybS4KLQotM0RFUyBI TUFDLVNIQTEgZW5jcnlwdGlvbiB0eXBlIGlzIG5vdyByZW1vdmVkIGZyb20gc3VwcG9ydGVkIGVu Y3J5cHRpb24KLXR5cGVzIGlmIGl0IGlzIHByZXNlbnQuCi0KLVJldmlld2VkLUJ5OiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGluc3RhbGwvc2hhcmUva2VyYmVy b3MubGRpZiAgICAgICAgICAgfCAxOCArLS0tLS0tLS0tLS0tLS0tLS0KLSBpbnN0YWxsL3VwZGF0 ZXMvNTAta3JiZW5jdHlwZXMudXBkYXRlIHwgMTEgKy0tLS0tLS0tLS0KLSBpcGFwbGF0Zm9ybS9i YXNlL3Rhc2tzLnB5ICAgICAgICAgICAgIHwgMjUgKysrKysrKysrKysrKysrKysrKysrKysrKwot IGlwYXBsYXRmb3JtL3JlZGhhdC90YXNrcy5weSAgICAgICAgICAgfCAgOCArKysrKysrKwotIGlw YXNlcnZlci9pbnN0YWxsL2tyYmluc3RhbmNlLnB5ICAgICAgfCAyNyArKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0KLSBpcGFzZXJ2ZXIvaW5zdGFsbC9sZGFwdXBkYXRlLnB5ICAgICAgIHwgMTcg KysrKysrKysrKysrKysrKy0KLSA2IGZpbGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDQ0 IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaW5zdGFsbC9zaGFyZS9rZXJiZXJvcy5sZGlm IGIvaW5zdGFsbC9zaGFyZS9rZXJiZXJvcy5sZGlmCi1pbmRleCAzYTVjMzBlYzguLjc4YzI5OTIz YiAxMDA2NDQKLS0tLSBhL2luc3RhbGwvc2hhcmUva2VyYmVyb3MubGRpZgotKysrIGIvaW5zdGFs bC9zaGFyZS9rZXJiZXJvcy5sZGlmCi1AQCAtMTQsMjUgKzE0LDkgQEAgb2JqZWN0Q2xhc3M6IGty YnJlYWxtY29udGFpbmVyCi0gb2JqZWN0Q2xhc3M6IGtyYnRpY2tldHBvbGljeWF1eAotIGtyYlN1 YlRyZWVzOiAkU1VGRklYCi0ga3JiU2VhcmNoU2NvcGU6IDIKLS1rcmJTdXBwb3J0ZWRFbmNTYWx0 VHlwZXM6IGFlczI1Ni1jdHM6bm9ybWFsCi0ta3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMy NTYtY3RzOnNwZWNpYWwKLS1rcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczEyOC1jdHM6bm9y bWFsCi0ta3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMxMjgtY3RzOnNwZWNpYWwKLS1rcmJT dXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczEyOC1zaGEyOm5vcm1hbAotLWtyYlN1cHBvcnRlZEVu Y1NhbHRUeXBlczogYWVzMTI4LXNoYTI6c3BlY2lhbAotLWtyYlN1cHBvcnRlZEVuY1NhbHRUeXBl czogYWVzMjU2LXNoYTI6bm9ybWFsCi0ta3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMyNTYt c2hhMjpzcGVjaWFsCi0tJHtGSVBTfWtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogY2FtZWxsaWEx MjgtY3RzLWNtYWM6bm9ybWFsCi0tJHtGSVBTfWtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogY2Ft ZWxsaWExMjgtY3RzLWNtYWM6c3BlY2lhbAotLSR7RklQU31rcmJTdXBwb3J0ZWRFbmNTYWx0VHlw ZXM6IGNhbWVsbGlhMjU2LWN0cy1jbWFjOm5vcm1hbAotLSR7RklQU31rcmJTdXBwb3J0ZWRFbmNT YWx0VHlwZXM6IGNhbWVsbGlhMjU2LWN0cy1jbWFjOnNwZWNpYWwKLSBrcmJNYXhUaWNrZXRMaWZl OiA4NjQwMAotIGtyYk1heFJlbmV3YWJsZUFnZTogNjA0ODAwCi0ta3JiRGVmYXVsdEVuY1NhbHRU eXBlczogYWVzMjU2LXNoYTI6c3BlY2lhbAotLWtyYkRlZmF1bHRFbmNTYWx0VHlwZXM6IGFlczEy OC1zaGEyOnNwZWNpYWwKLS1rcmJEZWZhdWx0RW5jU2FsdFR5cGVzOiBhZXMyNTYtY3RzOnNwZWNp YWwKLS1rcmJEZWZhdWx0RW5jU2FsdFR5cGVzOiBhZXMxMjgtY3RzOnNwZWNpYWwKLS0KLSske0xE SUZfU1VQUE9SVEVEX0VOQ1RZUEVTfSR7TERJRl9ERUZBVUxUX0VOQ1RZUEVTfQotICMgRGVmYXVs dCBwYXNzd29yZCBQb2xpY3kKLSBkbjogY249Z2xvYmFsX3BvbGljeSxjbj0kUkVBTE0sY249a2Vy YmVyb3MsJFNVRkZJWAotIGNoYW5nZXR5cGU6IGFkZAotZGlmZiAtLWdpdCBhL2luc3RhbGwvdXBk YXRlcy81MC1rcmJlbmN0eXBlcy51cGRhdGUgYi9pbnN0YWxsL3VwZGF0ZXMvNTAta3JiZW5jdHlw ZXMudXBkYXRlCi1pbmRleCAxYmYyYmYzM2EuLjMwNjFiOThjOSAxMDA2NDQKLS0tLSBhL2luc3Rh bGwvdXBkYXRlcy81MC1rcmJlbmN0eXBlcy51cGRhdGUKLSsrKyBiL2luc3RhbGwvdXBkYXRlcy81 MC1rcmJlbmN0eXBlcy51cGRhdGUKLUBAIC0xLDExICsxLDIgQEAKLSBkbjogY249JFJFQUxNLGNu PWtlcmJlcm9zLCRTVUZGSVgKLS0ke0ZJUFN9YWRkOiBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6 IGNhbWVsbGlhMTI4LWN0cy1jbWFjOm5vcm1hbAotLSR7RklQU31hZGQ6IGtyYlN1cHBvcnRlZEVu Y1NhbHRUeXBlczogY2FtZWxsaWExMjgtY3RzLWNtYWM6c3BlY2lhbAotLSR7RklQU31hZGQ6IGty YlN1cHBvcnRlZEVuY1NhbHRUeXBlczogY2FtZWxsaWEyNTYtY3RzLWNtYWM6bm9ybWFsCi0tJHtG SVBTfWFkZDoga3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBjYW1lbGxpYTI1Ni1jdHMtY21hYzpz cGVjaWFsCi0tYWRkOiBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczEyOC1zaGEyOm5vcm1h bAotLWFkZDoga3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMxMjgtc2hhMjpzcGVjaWFsCi0t YWRkOiBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczI1Ni1zaGEyOm5vcm1hbAotLWFkZDog a3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMyNTYtc2hhMjpzcGVjaWFsCi0tcmVtb3ZlOiBr cmJEZWZhdWx0RW5jU2FsdFR5cGVzOiBkZXMzLWhtYWMtc2hhMTpzcGVjaWFsCi0tcmVtb3ZlOiBr cmJEZWZhdWx0RW5jU2FsdFR5cGVzOiBhcmNmb3VyLWhtYWM6c3BlY2lhbAotKyR7QUREX1NVUFBP UlRFRF9FTkNUWVBFU30ke0FERF9ERUZBVUxUX0VOQ1RZUEVTfSR7UkVNT1ZFX1NVUFBPUlRFRF9F TkNUWVBFU30ke1JFTU9WRV9ERUZBVUxUX0VOQ1RZUEVTfQotZGlmZiAtLWdpdCBhL2lwYXBsYXRm b3JtL2Jhc2UvdGFza3MucHkgYi9pcGFwbGF0Zm9ybS9iYXNlL3Rhc2tzLnB5Ci1pbmRleCA0MTA4 YTdjZWQuLjllMjIxZDg3MiAxMDA2NDQKLS0tLSBhL2lwYXBsYXRmb3JtL2Jhc2UvdGFza3MucHkK LSsrKyBiL2lwYXBsYXRmb3JtL2Jhc2UvdGFza3MucHkKLUBAIC01NDAsNCArNTQwLDI5IEBAIGNs YXNzIEJhc2VUYXNrTmFtZXNwYWNlOgotICAgICAgICAgICAgICAgICAnaXBhLWNsaWVudC1hdXRv bW91bnQtbnNzd2l0Y2gnLCAncHJldmlvdXMtYXV0b21vdW50JwotICAgICAgICAgICAgICkKLSAK LSsgICAgZGVmIGdldF9tYXN0ZXJrZXlfZW5jdHlwZShzZWxmKToKLSsgICAgICAgIHJldHVybiAn YWVzMjU2LXNoYTInCi0rCi0rICAgICMgRW5jcnlwdGlvbiB0eXBlcyBhbGxvd2VkIGZvciBLZXJi ZXJvcyBrZXlzCi0rICAgIGRlZiBnZXRfc3VwcG9ydGVkX2VuY3R5cGVzKHNlbGYpOgotKyAgICAg ICAgcmV0dXJuICgnYWVzMjU2LXNoYTI6c3BlY2lhbCcsICdhZXMxMjgtc2hhMjpzcGVjaWFsJywK LSsgICAgICAgICAgICAgICAgJ2FlczI1Ni1zaGEyOm5vcm1hbCcsICdhZXMxMjgtc2hhMjpub3Jt YWwnLAotKyAgICAgICAgICAgICAgICAnYWVzMjU2LWN0czpzcGVjaWFsJywgJ2FlczEyOC1jdHM6 c3BlY2lhbCcsCi0rICAgICAgICAgICAgICAgICdhZXMyNTYtY3RzOm5vcm1hbCcsICdhZXMxMjgt Y3RzOm5vcm1hbCcsCi0rICAgICAgICAgICAgICAgICdjYW1lbGxpYTI1Ni1jdHM6c3BlY2lhbCcs ICdjYW1lbGxpYTEyOC1jdHM6c3BlY2lhbCcsCi0rICAgICAgICAgICAgICAgICdjYW1lbGxpYTI1 Ni1jdHM6bm9ybWFsJywgJ2NhbWVsbGlhMTI4LWN0czpub3JtYWwnKQotKwotKyAgICAjIEVuY3J5 cHRpb24gdHlwZXMgdXNlZCBpbiB0aGUgcGFzdCwgbm90IHN1cHBvcnRlZCBhbnltb3JlCi0rICAg IGRlZiBnZXRfcmVtb3ZlZF9zdXBwb3J0ZWRfZW5jdHlwZXMoc2VsZik6Ci0rICAgICAgICByZXR1 cm4gKCdkZXMzLWhtYWMtc2hhMTpzcGVjaWFsJykKLSsKLSsgICAgIyBFbmNyeXB0aW9uIHR5cGVz IHVzZWQgYnkgZGVmYXVsdCB3aGVuIGdlbmVyYXRpbmcgS2VyYmVyb3Mga2V5cwotKyAgICBkZWYg Z2V0X2RlZmF1bHRfZW5jdHlwZXMoc2VsZik6Ci0rICAgICAgICByZXR1cm4gKCdhZXMyNTYtc2hh MjpzcGVjaWFsJywgJ2FlczEyOC1zaGEyOnNwZWNpYWwnLAotKyAgICAgICAgICAgICAgICAnYWVz MjU2LWN0czpzcGVjaWFsJywgJ2FlczEyOC1jdHM6c3BlY2lhbCcpCi0rCi0rICAgICMgRW5jcnlw dGlvbiB0eXBlcyBubyBsb25nZXIgdXNlZCBieSBkZWZhdWx0IHdoZW4gZ2VuZXJhdGluZyBrZXlz Ci0rICAgIGRlZiBnZXRfcmVtb3ZlZF9kZWZhdWx0X2VuY3R5cGVzKHNlbGYpOgotKyAgICAgICAg cmV0dXJuICgnZGVzMy1obWFjLXNoYTE6c3BlY2lhbCcsICdhcmNmb3VyLWhtYWM6c3BlY2lhbCcp Ci0rCi0gdGFza3MgPSBCYXNlVGFza05hbWVzcGFjZSgpCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZv cm0vcmVkaGF0L3Rhc2tzLnB5IGIvaXBhcGxhdGZvcm0vcmVkaGF0L3Rhc2tzLnB5Ci1pbmRleCAx ODIwM2JmMGUuLjQ5NTNkYzc4YSAxMDA2NDQKLS0tLSBhL2lwYXBsYXRmb3JtL3JlZGhhdC90YXNr cy5weQotKysrIGIvaXBhcGxhdGZvcm0vcmVkaGF0L3Rhc2tzLnB5Ci1AQCAtNzUxLDUgKzc1MSwx MyBAQCBjbGFzcyBSZWRIYXRUYXNrTmFtZXNwYWNlKEJhc2VUYXNrTmFtZXNwYWNlKToKLSAgICAg ICAgICAgICBsb2dnZXIuaW5mbygiSXQgbWF5IGhhcHBlbiBpZiB0aGUgY29uZmlndXJhdGlvbiB3 YXMgZG9uZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgInVzaW5nIGF1dGhjb25maWcgaW5z dGVhZCBvZiBhdXRoc2VsZWN0IikKLSAKLSsgICAgZGVmIGdldF9zdXBwb3J0ZWRfZW5jdHlwZXMo c2VsZik6Ci0rICAgICAgICBlbmN0eXBlcyA9IHN1cGVyKCkuZ2V0X3N1cHBvcnRlZF9lbmN0eXBl cygpCi0rCi0rICAgICAgICBpZiBub3Qgc2VsZi5pc19maXBzX2VuYWJsZWQoKToKLSsgICAgICAg ICAgICByZXR1cm4gZW5jdHlwZXMKLSsKLSsgICAgICAgIHJldHVybiB0dXBsZShlIGZvciBlIGlu IGVuY3R5cGVzIGlmIG5vdCBlLnN0YXJ0c3dpdGgoJ2NhbWVsbGlhJykpCi0rCi0gCi0gdGFza3Mg PSBSZWRIYXRUYXNrTmFtZXNwYWNlKCkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9r cmJpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2tyYmluc3RhbmNlLnB5Ci1pbmRleCA5 ZjBlZWE1NjMuLmZiMWEyODg0MiAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxsL2tyYmlu c3RhbmNlLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9rcmJpbnN0YW5jZS5weQotQEAgLTU1 LDE0ICs1NSw2IEBAIGZyb20gaXBhcGxhdGZvcm0ucGF0aHMgaW1wb3J0IHBhdGhzCi0gCi0gbG9n Z2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCi0gCi0tTUFTVEVSX0tFWV9UWVBFID0g J2FlczI1Ni1zaGEyJwotLVNVUFBPUlRFRF9FTkNUWVBFUyA9ICgnYWVzMjU2LXNoYTI6c3BlY2lh bCcsICdhZXMxMjgtc2hhMjpzcGVjaWFsJywKLS0gICAgICAgICAgICAgICAgICAgICAgJ2FlczI1 Ni1zaGEyOm5vcm1hbCcsICdhZXMxMjgtc2hhMjpub3JtYWwnLAotLSAgICAgICAgICAgICAgICAg ICAgICAnYWVzMjU2LWN0czpzcGVjaWFsJywgJ2FlczEyOC1jdHM6c3BlY2lhbCcsCi0tICAgICAg ICAgICAgICAgICAgICAgICdhZXMyNTYtY3RzOm5vcm1hbCcsICdhZXMxMjgtY3RzOm5vcm1hbCcs Ci0tICAgICAgICAgICAgICAgICAgICAgICdjYW1lbGxpYTI1Ni1jdHM6c3BlY2lhbCcsICdjYW1l bGxpYTEyOC1jdHM6c3BlY2lhbCcsCi0tICAgICAgICAgICAgICAgICAgICAgICdjYW1lbGxpYTI1 Ni1jdHM6bm9ybWFsJywgJ2NhbWVsbGlhMTI4LWN0czpub3JtYWwnKQotLQotIAotIGRlZiBnZXRf cGtpbml0X3JlcXVlc3RfY2EoKToKLSAgICAgIiIiCi1AQCAtMjk5LDE1ICsyOTEsMTggQEAgY2xh c3MgS3JiSW5zdGFuY2Uoc2VydmljZS5TZXJ2aWNlKToKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElOQ0xVREVTPWluY2x1ZGVzLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RklQUz0nIycgaWYgZmlwc19lbmFibGVkIGVsc2UgJycpCi0gCi0tICAgICAgICBpZiBmaXBzX2Vu YWJsZWQ6Ci0tICAgICAgICAgICAgc3VwcG9ydGVkX2VuY3R5cGVzID0gbGlzdCgKLS0gICAgICAg ICAgICAgICAgZmlsdGVyKGxhbWJkYSBlOiBub3QgZS5zdGFydHN3aXRoKCdjYW1lbGxpYScpLAot LSAgICAgICAgICAgICAgICAgICAgICAgU1VQUE9SVEVEX0VOQ1RZUEVTKSkKLS0gICAgICAgIGVs c2U6Ci0tICAgICAgICAgICAgc3VwcG9ydGVkX2VuY3R5cGVzID0gU1VQUE9SVEVEX0VOQ1RZUEVT Ci0tICAgICAgICBzZWxmLnN1Yl9kaWN0WydTVVBQT1JURURfRU5DVFlQRVMnXSA9ICcgJy5qb2lu KHN1cHBvcnRlZF9lbmN0eXBlcykKLSsgICAgICAgIHN1cHBvcnRlZF9lbmN0eXBlcyA9IHRhc2tz LmdldF9zdXBwb3J0ZWRfZW5jdHlwZXMoKQotKyAgICAgICAgc3RyX3N1cHBvcnRlZF9lbmN0eXBl cyA9ICcgJy5qb2luKHN1cHBvcnRlZF9lbmN0eXBlcykKLSsgICAgICAgIGxkaWZfc3VwcG9ydGVk X2VuY3R5cGVzID0gJycuam9pbihmJ2tyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczoge2V9XG4nCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGUgaW4gc3VwcG9y dGVkX2VuY3R5cGVzKQotKyAgICAgICAgbGRpZl9kZWZhdWx0X2VuY3R5cGVzID0gJycuam9pbihm J2tyYkRlZmF1bHRFbmNTYWx0VHlwZXM6IHtlfVxuJwotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmb3IgZSBpbiB0YXNrcy5nZXRfZGVmYXVsdF9lbmN0eXBlcygpKQot KwotKyAgICAgICAgc2VsZi5zdWJfZGljdFsnU1VQUE9SVEVEX0VOQ1RZUEVTJ10gPSBzdHJfc3Vw cG9ydGVkX2VuY3R5cGVzCi0rICAgICAgICBzZWxmLnN1Yl9kaWN0WydMRElGX1NVUFBPUlRFRF9F TkNUWVBFUyddID0gbGRpZl9zdXBwb3J0ZWRfZW5jdHlwZXMKLSsgICAgICAgIHNlbGYuc3ViX2Rp Y3RbJ0xESUZfREVGQVVMVF9FTkNUWVBFUyddID0gbGRpZl9kZWZhdWx0X2VuY3R5cGVzCi0gCi0t ICAgICAgICBzZWxmLnN1Yl9kaWN0WydNQVNURVJfS0VZX1RZUEUnXSA9IE1BU1RFUl9LRVlfVFlQ RQotKyAgICAgICAgc2VsZi5zdWJfZGljdFsnTUFTVEVSX0tFWV9UWVBFJ10gPSB0YXNrcy5nZXRf bWFzdGVya2V5X2VuY3R5cGUoKQotIAotICAgICAgICAgIyBJUEEgc2VydmVyL0tEQyBpcyBub3Qg YSBzdWJkb21haW4gb2YgZGVmYXVsdCBkb21haW4KLSAgICAgICAgICMgUHJvcGVyIGRvbWFpbi1y ZWFsbSBtYXBwaW5nIG5lZWRzIHRvIGJlIHNwZWNpZmllZAotZGlmZiAtLWdpdCBhL2lwYXNlcnZl ci9pbnN0YWxsL2xkYXB1cGRhdGUucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9sZGFwdXBkYXRlLnB5 Ci1pbmRleCBjM2I1OTczMmEuLjlhMWExMTY3ZSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0 YWxsL2xkYXB1cGRhdGUucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2xkYXB1cGRhdGUucHkK LUBAIC01NCw2ICs1NCw5IEBAIFVQREFURVNfRElSPXBhdGhzLlVQREFURVNfRElSCi0gVVBEQVRF X1NFQVJDSF9USU1FX0xJTUlUID0gMzAgICMgc2Vjb25kcwotIAotIAotK2RlZiBsZGlmX21vZChv cCwgYXR0ciwgdmFsdWVzKToKLSsgICAgcmV0dXJuICcnLmpvaW4oZid7b3B9OiB7YXR0cn06IHt2 fVxuJyBmb3IgdiBpbiB2YWx1ZXMpCi0rCi0gZGVmIGdldF9zdWJfZGljdChyZWFsbSwgZG9tYWlu LCBzdWZmaXgsIGZxZG4sIGlkc3RhcnQ9Tm9uZSwgaWRtYXg9Tm9uZSk6Ci0gICAgICIiIkxEQVAg dGVtcGxhdGUgc3Vic3RpdHV0aW9uIGRpY3QgZm9yIGluc3RhbGxlciBhbmQgdXBkYXRlcgotICAg ICAiIiIKLUBAIC03Myw2ICs3NiwxNSBAQCBkZWYgZ2V0X3N1Yl9kaWN0KHJlYWxtLCBkb21haW4s IHN1ZmZpeCwgZnFkbiwgaWRzdGFydD1Ob25lLCBpZG1heD1Ob25lKToKLSAgICAgICAgIG5hbWVk X3VpZCA9IE5vbmUKLSAgICAgICAgIG5hbWVkX2dpZCA9IE5vbmUKLSAKLSsgICAgYWRkX3N1cHBv cnRlZF9lbmN0eXBlcyA9IGxkaWZfbW9kKCdhZGQnLCAna3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVz JywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhc2tzLmdldF9zdXBw b3J0ZWRfZW5jdHlwZXMoKSkKLSsgICAgYWRkX2RlZmF1bHRfZW5jdHlwZXMgPSBsZGlmX21vZCgn YWRkJywgJ2tyYkRlZmF1bHRFbmNTYWx0VHlwZXMnLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRhc2tzLmdldF9kZWZhdWx0X2VuY3R5cGVzKCkpCi0rICAgIHJtX3N1cHBv cnRlZF9lbmN0eXBlcyA9IGxkaWZfbW9kKCdyZW1vdmUnLCAna3JiU3VwcG9ydGVkRW5jU2FsdFR5 cGVzJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFza3MuZ2V0X3Jl bW92ZWRfc3VwcG9ydGVkX2VuY3R5cGVzKCkpCi0rICAgIHJtX2RlZmF1bHRfZW5jdHlwZXMgPSBs ZGlmX21vZCgncmVtb3ZlJywgJ2tyYkRlZmF1bHRFbmNTYWx0VHlwZXMnLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGFza3MuZ2V0X3JlbW92ZWRfZGVmYXVsdF9lbmN0eXBl cygpKQotKwotICAgICByZXR1cm4gZGljdCgKLSAgICAgICAgIFJFQUxNPXJlYWxtLAotICAgICAg ICAgRE9NQUlOPWRvbWFpbiwKLUBAIC04Miw3ICs5NCwxMCBAQCBkZWYgZ2V0X3N1Yl9kaWN0KHJl YWxtLCBkb21haW4sIHN1ZmZpeCwgZnFkbiwgaWRzdGFydD1Ob25lLCBpZG1heD1Ob25lKToKLSAg ICAgICAgIEhPU1Q9ZnFkbiwKLSAgICAgICAgIExJQkFSQ0g9cGF0aHMuTElCQVJDSCwKLSAgICAg ICAgIFRJTUU9aW50KHRpbWUudGltZSgpKSwKLS0gICAgICAgIEZJUFM9IiMiIGlmIHRhc2tzLmlz X2ZpcHNfZW5hYmxlZCgpIGVsc2UgIiIsCi0rICAgICAgICBBRERfU1VQUE9SVEVEX0VOQ1RZUEVT PWFkZF9zdXBwb3J0ZWRfZW5jdHlwZXMsCi0rICAgICAgICBBRERfREVGQVVMVF9FTkNUWVBFUz1h ZGRfZGVmYXVsdF9lbmN0eXBlcywKLSsgICAgICAgIFJFTU9WRV9TVVBQT1JURURfRU5DVFlQRVM9 cm1fc3VwcG9ydGVkX2VuY3R5cGVzLAotKyAgICAgICAgUkVNT1ZFX0RFRkFVTFRfRU5DVFlQRVM9 cm1fZGVmYXVsdF9lbmN0eXBlcywKLSAgICAgICAgICMgaWRzdGFydCwgaWRtYXgsIGFuZCBpZHJh bmdlX3NpemUgbWF5IGJlIE5vbmUKLSAgICAgICAgIElEU1RBUlQ9aWRzdGFydCwKLSAgICAgICAg IElETUFYPWlkbWF4LAotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIGI2OTYxNmVkNDgyMjRiNDhiNTYx NTA0NDMxNDc4N2Y2OWFmMTNjMTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdWxp ZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDEyIE1hciAyMDI1IDEz OjUwOjQ2ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDcvNDddIEFkZCB0ZXN0IGZvciBtYXN0ZXIg a2V5IHVwZ3JhZGUKLQotU2luY2UgY29tbWl0IDRlZDdkYTM3ODk0MDE5OGNmNDQxNWY4NmQ0ZWIw MTNkZTZhYzY0NTUgaW4gTUlUIGtyYjUsCi1rZGI1X3V0aWwgc2V0cyB0aGUgcmVxdWlyZWQgYml0 cyBvbiB0aGUgbW9kaWZpY2F0aW9uIG1hc2sgb2YgdXBkYXRlZAotcHJpbmNpcGFsIGVudHJpZXMg dG8gZW5hYmxlIGlwYS1rZGIgdG8gc3dpdGNoIHRoZSBhY3RpdmUgbWFzdGVyIGtleS4KLQotVGhp cyBjb21taXQgY3JlYXRlcyBhICJ0ZXN0X2ZlZG9yYV9sZWdhY3kiIGlwYXBsYXRmb3JtIHdoZXJl IHRoZSBBRVMKLUhNQUMtU0hBMiBlbmNyeXB0aW9uIHR5cGVzIGFyZSBub3QgZW5hYmxlZC4gInRl c3RfbWtleV91cGdyYWRlIiB1c2VzCi10aGlzIHBsYXRmb3JtIHRvIGluaXRpYWxpemUgYSBkb21h aW4gd2l0aCBhbiBhZXMyNTYtY3RzLWhtYWMtc2hhMS05NgotbWFzdGVyIGtleSwgYW5kIHRlc3Qg aXRzIHVwZ3JhZGUgdG8gYWVzMjU2LWN0cy1obWFjLXNoYTM4NC0xOTIuCi0KLVNvbWUgcGFydHMg b2YgdGhlIHRlc3QgaW5mcmFzdHJ1Y3R1cmUgaGFkIHRvIGJlIG1hZGUgYXdhcmUgb2YgdGhpcyBu ZXcKLXBsYXRmb3JtIChlLmcuIGZpcmV3YWxsIGludGVncmF0aW9uKS4KLQotUmV2aWV3ZWQtQnk6 IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhcGxhdGZvcm0v c2V0dXAucHkgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKLSBpcGFwbGF0Zm9ybS90 ZXN0X2ZlZG9yYV9sZWdhY3kvX19pbml0X18ucHkgICAgfCAgIDcgKwotIGlwYXBsYXRmb3JtL3Rl c3RfZmVkb3JhX2xlZ2FjeS9jb25zdGFudHMucHkgICB8ICAxNiArKysKLSBpcGFwbGF0Zm9ybS90 ZXN0X2ZlZG9yYV9sZWdhY3kvcGF0aHMucHkgICAgICAgfCAgMTMgKysKLSBpcGFwbGF0Zm9ybS90 ZXN0X2ZlZG9yYV9sZWdhY3kvc2VydmljZXMucHkgICAgfCAgMjcgKysrKwotIGlwYXBsYXRmb3Jt L3Rlc3RfZmVkb3JhX2xlZ2FjeS90YXNrcy5weSAgICAgICB8ICAzNSArKysrKwotIGlwYXRlc3Rz L3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vZmlyZXdhbGwucHkgICB8ICAgMSArCi0gLi4uL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9ta2V5X3VwZ3JhZGUucHkgICAgIHwgMTM1ICsrKysrKysrKysrKysr KysrKwotIDggZmlsZXMgY2hhbmdlZCwgMjM1IGluc2VydGlvbnMoKykKLSBjcmVhdGUgbW9kZSAx MDA2NDQgaXBhcGxhdGZvcm0vdGVzdF9mZWRvcmFfbGVnYWN5L19faW5pdF9fLnB5Ci0gY3JlYXRl IG1vZGUgMTAwNjQ0IGlwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9jb25zdGFudHMucHkK LSBjcmVhdGUgbW9kZSAxMDA2NDQgaXBhcGxhdGZvcm0vdGVzdF9mZWRvcmFfbGVnYWN5L3BhdGhz LnB5Ci0gY3JlYXRlIG1vZGUgMTAwNjQ0IGlwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9z ZXJ2aWNlcy5weQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpcGFwbGF0Zm9ybS90ZXN0X2ZlZG9yYV9s ZWdhY3kvdGFza3MucHkKLSBjcmVhdGUgbW9kZSAxMDA2NDQgaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X21rZXlfdXBncmFkZS5weQotCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vc2V0 dXAucHkgYi9pcGFwbGF0Zm9ybS9zZXR1cC5weQotaW5kZXggMDg2YTk5ZDFmLi4xZDZkZjFlZmYg MTAwNjQ0Ci0tLS0gYS9pcGFwbGF0Zm9ybS9zZXR1cC5weQotKysrIGIvaXBhcGxhdGZvcm0vc2V0 dXAucHkKLUBAIC00Miw2ICs0Miw3IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6Ci0gICAg ICAgICAgICAgImlwYXBsYXRmb3JtLnJoZWwiLAotICAgICAgICAgICAgICJpcGFwbGF0Zm9ybS5y aGVsX2NvbnRhaW5lciIsCi0gICAgICAgICAgICAgImlwYXBsYXRmb3JtLnN1c2UiLAotKyAgICAg ICAgICAgICJpcGFwbGF0Zm9ybS50ZXN0X2ZlZG9yYV9sZWdhY3kiLAotICAgICAgICAgICAgICJp cGFwbGF0Zm9ybS5vcGVuY2xvdWRvcyIsCi0gICAgICAgICAgICAgImlwYXBsYXRmb3JtLnRlbmNl bnRvcyIKLSAgICAgICAgIF0sCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vdGVzdF9mZWRvcmFf bGVnYWN5L19faW5pdF9fLnB5IGIvaXBhcGxhdGZvcm0vdGVzdF9mZWRvcmFfbGVnYWN5L19faW5p dF9fLnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5hNGY0Y2ZmNWEK LS0tLSAvZGV2L251bGwKLSsrKyBiL2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9fX2lu aXRfXy5weQotQEAgLTAsMCArMSw3IEBACi0rIwotKyMgQ29weXJpZ2h0IChDKSAyMDI1ICBGcmVl SVBBIENvbnRyaWJ1dG9ycyBzZWUgQ09QWUlORyBmb3IgbGljZW5zZQotKyMKLSsiIiIKLStUaGlz IG1vZHVsZSBjb250YWlucyBGZWRvcmEgQUVTIEhNQUMtU0hBMSBtYXN0ZXIga2V5IHNwZWNpZmlj IHBsYXRmb3JtIGZpbGVzLgotKyIiIgotK05BTUUgPSAndGVzdF9mZWRvcmFfbGVnYWN5JwotZGlm ZiAtLWdpdCBhL2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9jb25zdGFudHMucHkgYi9p cGFwbGF0Zm9ybS90ZXN0X2ZlZG9yYV9sZWdhY3kvY29uc3RhbnRzLnB5Ci1uZXcgZmlsZSBtb2Rl IDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi4wY2ViYWM4NmEKLS0tLSAvZGV2L251bGwKLSsrKyBi L2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9jb25zdGFudHMucHkKLUBAIC0wLDAgKzEs MTYgQEAKLSsjCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjUgIEZyZWVJUEEgQ29udHJpYnV0b3JzIHNl ZSBDT1BZSU5HIGZvciBsaWNlbnNlCi0rIwotKyIiIkZlZG9yYSBBRVMgSE1BQy1TSEExIG1hc3Rl ciBrZXkgY29uc3RhbnRzCi0rIiIiCi0rZnJvbSBpcGFwbGF0Zm9ybS5mZWRvcmEuY29uc3RhbnRz IGltcG9ydCBGZWRvcmFDb25zdGFudHNOYW1lc3BhY2UsIFVzZXIsIEdyb3VwCi0rCi0rCi0rX19h bGxfXyA9ICgiY29uc3RhbnRzIiwgIlVzZXIiLCAiR3JvdXAiKQotKwotKwotK2NsYXNzIFRlc3RG ZWRvcmFMZWdhY3lDb25zdGFudHNOYW1lc3BhY2UoRmVkb3JhQ29uc3RhbnRzTmFtZXNwYWNlKToK LSsgICAgcGFzcwotKwotKwotK2NvbnN0YW50cyA9IFRlc3RGZWRvcmFMZWdhY3lDb25zdGFudHNO YW1lc3BhY2UoKQotZGlmZiAtLWdpdCBhL2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9w YXRocy5weSBiL2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS9wYXRocy5weQotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uNzFmYjhhY2RjCi0tLS0gL2Rldi9udWxs Ci0rKysgYi9pcGFwbGF0Zm9ybS90ZXN0X2ZlZG9yYV9sZWdhY3kvcGF0aHMucHkKLUBAIC0wLDAg KzEsMTMgQEAKLSsjCi0rIyBDb3B5cmlnaHQgKEMpIDIwMjUgIEZyZWVJUEEgQ29udHJpYnV0b3Jz IHNlZSBDT1BZSU5HIGZvciBsaWNlbnNlCi0rIwotKyIiIkZlZG9yYSBBRVMgSE1BQy1TSEExIG1h c3RlciBrZXkgcGF0aHMKLSsiIiIKLStmcm9tIGlwYXBsYXRmb3JtLmZlZG9yYS5wYXRocyBpbXBv cnQgRmVkb3JhUGF0aE5hbWVzcGFjZQotKwotKwotK2NsYXNzIFRlc3RGZWRvcmFMZWdhY3lQYXRo TmFtZXNwYWNlKEZlZG9yYVBhdGhOYW1lc3BhY2UpOgotKyAgICBwYXNzCi0rCi0rCi0rcGF0aHMg PSBUZXN0RmVkb3JhTGVnYWN5UGF0aE5hbWVzcGFjZSgpCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZv cm0vdGVzdF9mZWRvcmFfbGVnYWN5L3NlcnZpY2VzLnB5IGIvaXBhcGxhdGZvcm0vdGVzdF9mZWRv cmFfbGVnYWN5L3NlcnZpY2VzLnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MDAwLi5hZGJlMjFmODIKLS0tLSAvZGV2L251bGwKLSsrKyBiL2lwYXBsYXRmb3JtL3Rlc3RfZmVk b3JhX2xlZ2FjeS9zZXJ2aWNlcy5weQotQEAgLTAsMCArMSwyNyBAQAotKyMKLSsjIENvcHlyaWdo dCAoQykgMjAyNSAgRnJlZUlQQSBDb250cmlidXRvcnMgc2VlIENPUFlJTkcgZm9yIGxpY2Vuc2UK LSsjCi0rIiIiRmVkb3JhIEFFUyBITUFDLVNIQTEgbWFzdGVyIGtleSBzZXJ2aWNlcwotKyIiIgot K2Zyb20gaXBhcGxhdGZvcm0uZmVkb3JhIGltcG9ydCBzZXJ2aWNlcyBhcyBmZWRvcmFfc2Vydmlj ZXMKLSsKLSsKLSt0ZXN0X2ZlZG9yYV9sZWdhY3lfc3lzdGVtX3VuaXRzID0gZmVkb3JhX3NlcnZp Y2VzLmZlZG9yYV9zeXN0ZW1fdW5pdHMuY29weSgpCi0rCi0rCi0rY2xhc3MgVGVzdEZlZG9yYUxl Z2FjeVNlcnZpY2UoZmVkb3JhX3NlcnZpY2VzLkZlZG9yYVNlcnZpY2UpOgotKyAgICBzeXN0ZW1f dW5pdHMgPSB0ZXN0X2ZlZG9yYV9sZWdhY3lfc3lzdGVtX3VuaXRzCi0rCi0rCi0rZGVmIHRlc3Rf ZmVkb3JhX2xlZ2FjeV9zZXJ2aWNlX2NsYXNzX2ZhY3RvcnkobmFtZSwgYXBpPU5vbmUpOgotKyAg ICByZXR1cm4gZmVkb3JhX3NlcnZpY2VzLmZlZG9yYV9zZXJ2aWNlX2NsYXNzX2ZhY3RvcnkobmFt ZSwgYXBpKQotKwotKwotK2NsYXNzIFRlc3RGZWRvcmFMZWdhY3lTZXJ2aWNlcyhmZWRvcmFfc2Vy dmljZXMuRmVkb3JhU2VydmljZXMpOgotKyAgICBkZWYgc2VydmljZV9jbGFzc19mYWN0b3J5KHNl bGYsIG5hbWUsIGFwaT1Ob25lKToKLSsgICAgICAgIHJldHVybiB0ZXN0X2ZlZG9yYV9sZWdhY3lf c2VydmljZV9jbGFzc19mYWN0b3J5KG5hbWUsIGFwaSkKLSsKLSsKLSt0aW1lZGF0ZV9zZXJ2aWNl cyA9IGZlZG9yYV9zZXJ2aWNlcy50aW1lZGF0ZV9zZXJ2aWNlcwotK3NlcnZpY2UgPSB0ZXN0X2Zl ZG9yYV9sZWdhY3lfc2VydmljZV9jbGFzc19mYWN0b3J5Ci0ra25vd25zZXJ2aWNlcyA9IFRlc3RG ZWRvcmFMZWdhY3lTZXJ2aWNlcygpCi1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vdGVzdF9mZWRv cmFfbGVnYWN5L3Rhc2tzLnB5IGIvaXBhcGxhdGZvcm0vdGVzdF9mZWRvcmFfbGVnYWN5L3Rhc2tz LnB5Ci1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi5lNmU3MmQ3MjMKLS0t LSAvZGV2L251bGwKLSsrKyBiL2lwYXBsYXRmb3JtL3Rlc3RfZmVkb3JhX2xlZ2FjeS90YXNrcy5w eQotQEAgLTAsMCArMSwzNSBAQAotKyMKLSsjIENvcHlyaWdodCAoQykgMjAyNSAgRnJlZUlQQSBD b250cmlidXRvcnMgc2VlIENPUFlJTkcgZm9yIGxpY2Vuc2UKLSsjCi0rIiIiRmVkb3JhIEFFUyBI TUFDLVNIQTEgbWFzdGVyIGtleSB0YXNrcwotKyIiIgotK2Zyb20gaXBhcGxhdGZvcm0uZmVkb3Jh LnRhc2tzIGltcG9ydCBGZWRvcmFUYXNrTmFtZXNwYWNlCi0rCi0rZnJvbSByZSBpbXBvcnQgY29t cGlsZQotKwotKwotK2RlZiBhZGRfYWVzX3NoYTEoZW5jdHlwZXMpOgotKyAgICByZXR1cm4gdHVw bGUoeyplbmN0eXBlcywKLSsgICAgICAgICAgICAgICAgICAnYWVzMjU2LWN0czpzcGVjaWFsJywg J2FlczEyOC1jdHM6c3BlY2lhbCcsCi0rICAgICAgICAgICAgICAgICAgJ2FlczI1Ni1jdHM6bm9y bWFsJywgJ2FlczEyOC1jdHM6bm9ybWFsJ30pCi0rCi0rCi0rY2xhc3MgVGVzdEZlZG9yYUxlZ2Fj eVRhc2tOYW1lc3BhY2UoRmVkb3JhVGFza05hbWVzcGFjZSk6Ci0rCi0rICAgIGRlZiBnZXRfbWFz dGVya2V5X2VuY3R5cGUoc2VsZik6Ci0rICAgICAgICByZXR1cm4gJ2FlczI1Ni1jdHMnCi0rCi0r ICAgIGRlZiBnZXRfc3VwcG9ydGVkX2VuY3R5cGVzKHNlbGYpOgotKyAgICAgICAgYWVzX3NoYTJf cGF0dGVybiA9IGNvbXBpbGUoJ15hZXNbMC05XSstc2hhMjonKQotKwotKyAgICAgICAgcmV0dXJu IHR1cGxlKGUgZm9yIGUgaW4gc3VwZXIoKS5nZXRfc3VwcG9ydGVkX2VuY3R5cGVzKCkKLSsgICAg ICAgICAgICAgICAgICAgICBpZiBub3QgYWVzX3NoYTJfcGF0dGVybi5tYXRjaChlKSkKLSsKLSsg ICAgZGVmIGdldF9yZW1vdmVkX3N1cHBvcnRlZF9lbmN0eXBlcyhzZWxmKToKLSsgICAgICAgIHJl dHVybiBhZGRfYWVzX3NoYTEoc3VwZXIoKS5nZXRfcmVtb3ZlZF9zdXBwb3J0ZWRfZW5jdHlwZXMo KSkKLSsKLSsgICAgZGVmIGdldF9yZW1vdmVkX2RlZmF1bHRfZW5jdHlwZXMoc2VsZik6Ci0rICAg ICAgICByZXR1cm4gYWRkX2Flc19zaGExKHN1cGVyKCkuZ2V0X3JlbW92ZWRfZGVmYXVsdF9lbmN0 eXBlcygpKQotKwotKwotK3Rhc2tzID0gVGVzdEZlZG9yYUxlZ2FjeVRhc2tOYW1lc3BhY2UoKQot ZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24vZmlyZXdhbGwucHkg Yi9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2ZpcmV3YWxsLnB5Ci1pbmRleCAxYTVh ZjVjNWUuLjAxNjYxYjZjNiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdy YXRpb24vZmlyZXdhbGwucHkKLSsrKyBiL2lwYXRlc3RzL3B5dGVzdF9pcGEvaW50ZWdyYXRpb24v ZmlyZXdhbGwucHkKLUBAIC0yMzksNiArMjM5LDcgQEAgY2xhc3MgRmlyZXdhbGwoRmlyZXdhbGxC YXNlKToKLSAgICAgICAgIGZpcmV3YWxscyA9IHsKLSAgICAgICAgICAgICAncmhlbCc6IEZpcmV3 YWxsRCwKLSAgICAgICAgICAgICAnZmVkb3JhJzogRmlyZXdhbGxELAotKyAgICAgICAgICAgICd0 ZXN0X2ZlZG9yYV9sZWdhY3knOiBGaXJld2FsbEQsCi0gICAgICAgICAgICAgJ2RlYmlhbic6IEZp cmV3YWxsRCwKLSAgICAgICAgICAgICAndWJ1bnR1JzogRmlyZXdhbGxELAotICAgICAgICAgICAg ICdhbHRsaW51eCc6IE5vT3BGaXJld2FsbCwKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfbWtleV91cGdyYWRlLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlv bi90ZXN0X21rZXlfdXBncmFkZS5weQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAw MDAwMC4uOTMzNjIzZmJmCi0tLS0gL2Rldi9udWxsCi0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfbWtleV91cGdyYWRlLnB5Ci1AQCAtMCwwICsxLDEzNSBAQAotKyMKLSsjIENv cHlyaWdodCAoQykgMjAxNSAgRnJlZUlQQSBDb250cmlidXRvcnMgc2VlIENPUFlJTkcgZm9yIGxp Y2Vuc2UKLSsjCi0rCi0raW1wb3J0IHJlCi0raW1wb3J0IHRleHR3cmFwCi0rCi0rZnJvbSBpcGF0 ZXN0cy5weXRlc3RfaXBhLmludGVncmF0aW9uIGltcG9ydCB0YXNrcwotK2Zyb20gaXBhdGVzdHMu dGVzdF9pbnRlZ3JhdGlvbi5iYXNlIGltcG9ydCBJbnRlZ3JhdGlvblRlc3QKLSsKLSsKLStjbGFz cyBUZXN0TWtleVVwZ3JhZGUoSW50ZWdyYXRpb25UZXN0KToKLSsKLSsgICAgbnVtX3JlcGxpY2Fz ID0gMQotKyAgICB0b3BvbG9neSA9ICdsaW5lJwotKwotKyAgICBAY2xhc3NtZXRob2QKLSsgICAg ZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICBjbHMubWFzdGVyLnB1dF9maWxlX2NvbnRl bnRzKAotKyAgICAgICAgICAgICcvZXRjL3Byb2ZpbGUuZC9pcGFwbGF0Zm9ybS5zaCcsCi0rICAg ICAgICAgICAgJ2V4cG9ydCBJUEFQTEFURk9STV9PVkVSUklERT10ZXN0X2ZlZG9yYV9sZWdhY3kn KQotKyAgICAgICAgY2xzLm1hc3Rlci5ydW5fY29tbWFuZChbJ21rZGlyJywgJy9ldGMvc3lzdGVt ZC9zeXN0ZW0vaXBhLnNlcnZpY2UuZCddKQotKyAgICAgICAgY2xzLm1hc3Rlci5wdXRfZmlsZV9j b250ZW50cygKLSsgICAgICAgICAgICAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9pcGEuc2VydmljZS5k L3BsYXRmb3JtLmNvbmYnLAotKyAgICAgICAgICAgICdbU2VydmljZV1cbicKLSsgICAgICAgICAg ICAnRW52aXJvbm1lbnQ9IklQQVBMQVRGT1JNX09WRVJSSURFPXRlc3RfZmVkb3JhX2xlZ2FjeSIn KQotKyAgICAgICAgY2xzLm1hc3Rlci5ydW5fY29tbWFuZChbJ3N5c3RlbWN0bCcsICdkYWVtb24t cmVsb2FkJ10pCi0rICAgICAgICB0YXNrcy5pbnN0YWxsX21hc3RlcihjbHMubWFzdGVyLCBzZXR1 cF9kbnM9RmFsc2UpCi0rICAgICAgICB0YXNrcy5pbnN0YWxsX3JlcGxpY2EoY2xzLm1hc3Rlciwg Y2xzLnJlcGxpY2FzWzBdLCBzZXR1cF9kbnM9RmFsc2UpCi0rCi0rICAgIGRlZiB0ZXN0X29sZF9h Y3RpdmVfbWtleShzZWxmKToKLSsgICAgICAgIHAgPSByZS5jb21waWxlKCdeS1ZOTzogMSwgRW5j dHlwZTogYWVzMjU2LWN0cy1obWFjLXNoYTEtOTYsIC4rIFxcKiQnLAotKyAgICAgICAgICAgICAg ICAgICAgICAgZmxhZ3M9cmUuTVVMVElMSU5FKQotKwotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5t YXN0ZXIucnVuX2NvbW1hbmQoWydrZGI1X3V0aWwnLCAnbGlzdF9ta2V5cyddKQotKyAgICAgICAg YXNzZXJ0IHAuc2VhcmNoKHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsgICAgICAgIHJlc3VsdCA9IHNl bGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoWydrZGI1X3V0aWwnLCAnbGlzdF9ta2V5cyddKQot KyAgICAgICAgYXNzZXJ0IHAuc2VhcmNoKHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsKLSsgICAgZGVm IHRlc3RfZW5hYmxlX25ld19lbnR5cGVzKHNlbGYpOgotKyAgICAgICAgYmFzZV9kbiA9ICJkYz0l cyIgJSAoIixkYz0iLmpvaW4oc2VsZi5tYXN0ZXIuZG9tYWluLm5hbWUuc3BsaXQoIi4iKSkpCi0r ICAgICAgICByZWFsbSA9IHNlbGYubWFzdGVyLmRvbWFpbi5uYW1lLnVwcGVyKCkKLSsKLSsgICAg ICAgIGVudHJ5X2xkaWYgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0rICAgICAgICAgICAgZG46IGNu PXtyZWFsbX0sY249a2VyYmVyb3Mse2Jhc2VfZG59Ci0rICAgICAgICAgICAgY2hhbmdldHlwZTog bW9kaWZ5Ci0rICAgICAgICAgICAgcmVwbGFjZToga3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzCi0r ICAgICAgICAgICAga3JiU3VwcG9ydGVkRW5jU2FsdFR5cGVzOiBhZXMxMjgtc2hhMjpub3JtYWwK LSsgICAgICAgICAgICBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczEyOC1zaGEyOnNwZWNp YWwKLSsgICAgICAgICAgICBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczI1Ni1zaGEyOm5v cm1hbAotKyAgICAgICAgICAgIGtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogYWVzMjU2LXNoYTI6 c3BlY2lhbAotKyAgICAgICAgICAgIGtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogYWVzMjU2LWN0 czpub3JtYWwKLSsgICAgICAgICAgICBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczI1Ni1j dHM6c3BlY2lhbAotKyAgICAgICAgICAgIGtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogYWVzMTI4 LWN0czpub3JtYWwKLSsgICAgICAgICAgICBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGFlczEy OC1jdHM6c3BlY2lhbAotKyAgICAgICAgICAgIGtyYlN1cHBvcnRlZEVuY1NhbHRUeXBlczogY2Ft ZWxsaWExMjgtY3RzLWNtYWM6bm9ybWFsCi0rICAgICAgICAgICAga3JiU3VwcG9ydGVkRW5jU2Fs dFR5cGVzOiBjYW1lbGxpYTEyOC1jdHMtY21hYzpzcGVjaWFsCi0rICAgICAgICAgICAga3JiU3Vw cG9ydGVkRW5jU2FsdFR5cGVzOiBjYW1lbGxpYTI1Ni1jdHMtY21hYzpub3JtYWwKLSsgICAgICAg ICAgICBrcmJTdXBwb3J0ZWRFbmNTYWx0VHlwZXM6IGNhbWVsbGlhMjU2LWN0cy1jbWFjOnNwZWNp YWwKLSsgICAgICAgICAgICAtCi0rICAgICAgICAgICAgcmVwbGFjZToga3JiRGVmYXVsdEVuY1Nh bHRUeXBlcwotKyAgICAgICAgICAgIGtyYkRlZmF1bHRFbmNTYWx0VHlwZXM6IGFlczI1Ni1zaGEy OnNwZWNpYWwKLSsgICAgICAgICAgICBrcmJEZWZhdWx0RW5jU2FsdFR5cGVzOiBhZXMxMjgtc2hh MjpzcGVjaWFsCi0rICAgICAgICAgICAga3JiRGVmYXVsdEVuY1NhbHRUeXBlczogYWVzMjU2LWN0 czpzcGVjaWFsCi0rICAgICAgICAgICAga3JiRGVmYXVsdEVuY1NhbHRUeXBlczogYWVzMTI4LWN0 czpzcGVjaWFsIiIiKS5mb3JtYXQoCi0rICAgICAgICAgICAgYmFzZV9kbj1iYXNlX2RuLCByZWFs bT1yZWFsbSkKLSsgICAgICAgIHRhc2tzLmxkYXBtb2RpZnlfZG0oc2VsZi5tYXN0ZXIsIGVudHJ5 X2xkaWYpCi0rCi0rICAgIGRlZiB0ZXN0X2FkZF9uZXdfbWtleShzZWxmKToKLSsgICAgICAgIHNl bGYubWFzdGVyLnJ1bl9jb21tYW5kKCdrZGI1X3V0aWwgYWRkX21rZXkgLWUgYWVzMjU2LXNoYTIg LXMnLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RkaW5fdGV4dD0nU2VjcmV0 MTIzXG5TZWNyZXQxMjMnKQotKwotKyAgICBkZWYgdGVzdF9uZXdfaW5hY3RpdmVfbWtleShzZWxm KToKLSsgICAgICAgIHAgPSByZS5jb21waWxlKCdeS1ZOTzogMiwgRW5jdHlwZTogYWVzMjU2LWN0 cy1obWFjLXNoYTM4NC0xOTIsICcsCi0rICAgICAgICAgICAgICAgICAgICAgICBmbGFncz1yZS5N VUxUSUxJTkUpCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChb J2tkYjVfdXRpbCcsICdsaXN0X21rZXlzJ10pCi0rICAgICAgICBhc3NlcnQgcC5zZWFyY2gocmVz dWx0LnN0ZG91dF90ZXh0KQotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXBsaWNhc1swXS5ydW5f Y29tbWFuZChbJ2tkYjVfdXRpbCcsICdsaXN0X21rZXlzJ10pCi0rICAgICAgICBhc3NlcnQgcC5z ZWFyY2gocmVzdWx0LnN0ZG91dF90ZXh0KQotKwotKyAgICBkZWYgdGVzdF9zd2l0Y2hfbWtleShz ZWxmKToKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsna2RiNV91dGlsJywgJ3Vz ZV9ta2V5JywgJzInXSkKLSsKLSsgICAgZGVmIHRlc3RfbmV3X2FjdGl2ZV9ta2V5KHNlbGYpOgot KyAgICAgICAgcCA9IHJlLmNvbXBpbGUoJ15LVk5POiAyLCBFbmN0eXBlOiBhZXMyNTYtY3RzLWht YWMtc2hhMzg0LTE5MiwgLisgXFwqJCcsCi0rICAgICAgICAgICAgICAgICAgICAgICBmbGFncz1y ZS5NVUxUSUxJTkUpCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFu ZChbJ2tkYjVfdXRpbCcsICdsaXN0X21rZXlzJ10pCi0rICAgICAgICBhc3NlcnQgcC5zZWFyY2go cmVzdWx0LnN0ZG91dF90ZXh0KQotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5yZXBsaWNhc1swXS5y dW5fY29tbWFuZChbJ2tkYjVfdXRpbCcsICdsaXN0X21rZXlzJ10pCi0rICAgICAgICBhc3NlcnQg cC5zZWFyY2gocmVzdWx0LnN0ZG91dF90ZXh0KQotKwotKyAgICBkZWYgdGVzdF91c2VkX29sZF9t a2V5KHNlbGYpOgotKyAgICAgICAgcCA9IHJlLmNvbXBpbGUoJ15NS2V5OiB2bm8gMSQnLCBmbGFn cz1yZS5NVUxUSUxJTkUpCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29t bWFuZChbJ2thZG1pbi5sb2NhbCcsICdnZXRwcmluYycsCi0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZidsZGFwL3tzZWxmLm1hc3Rlci5ob3N0bmFtZX0nXSkKLSsg ICAgICAgIGFzc2VydCBwLnNlYXJjaChyZXN1bHQuc3Rkb3V0X3RleHQpCi0rICAgICAgICByZXN1 bHQgPSBzZWxmLnJlcGxpY2FzWzBdLnJ1bl9jb21tYW5kKFsna2FkbWluLmxvY2FsJywgJ2dldHBy aW5jJywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYn bGRhcC97c2VsZi5tYXN0ZXIuaG9zdG5hbWV9J10pCi0rICAgICAgICBhc3NlcnQgcC5zZWFyY2go cmVzdWx0LnN0ZG91dF90ZXh0KQotKwotKyAgICBkZWYgdGVzdF9yZWVuY3J5cHRfd2l0aF9uZXdf bWtleShzZWxmKToKLSsgICAgICAgIHNlbGYubWFzdGVyLnJ1bl9jb21tYW5kKFsna2RiNV91dGls JywgJy14JywgJ3VubG9ja2l0ZXInLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICd1cGRhdGVfcHJpbmNfZW5jcnlwdGlvbicsICctdmYnXSkKLSsKLSsgICAgZGVmIHRlc3RfdXNl ZF9uZXdfbWtleShzZWxmKToKLSsgICAgICAgIHAgPSByZS5jb21waWxlKCdeTUtleTogdm5vIDIk JywgZmxhZ3M9cmUuTVVMVElMSU5FKQotKwotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYXN0ZXIu cnVuX2NvbW1hbmQoWydrYWRtaW4ubG9jYWwnLCAnZ2V0cHJpbmMnLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYnbGRhcC97c2VsZi5tYXN0ZXIuaG9zdG5hbWV9 J10pCi0rICAgICAgICBhc3NlcnQgcC5zZWFyY2gocmVzdWx0LnN0ZG91dF90ZXh0KQotKyAgICAg ICAgcmVzdWx0ID0gc2VsZi5yZXBsaWNhc1swXS5ydW5fY29tbWFuZChbJ2thZG1pbi5sb2NhbCcs ICdnZXRwcmluYycsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmJ2xkYXAve3NlbGYubWFzdGVyLmhvc3RuYW1lfSddKQotKyAgICAgICAgYXNzZXJ0IHAu c2VhcmNoKHJlc3VsdC5zdGRvdXRfdGV4dCkKLSsKLSsgICAgZGVmIHRlc3RfcHVyZ2Vfb2xkX21r ZXkoc2VsZik6Ci0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2tkYjVfdXRpbCcs ICdwdXJnZV9ta2V5cycsICctdmYnXSkKLSsKLSsgICAgZGVmIHRlc3Rfb25seV9uZXdfbWtleShz ZWxmKToKLSsgICAgICAgIHAgPSByZS5jb21waWxlKCdeS1ZOTzogMSwnLCBmbGFncz1yZS5NVUxU SUxJTkUpCi0rCi0rICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ2tk YjVfdXRpbCcsICdsaXN0X21rZXlzJ10pCi0rICAgICAgICBhc3NlcnQgbm90IHAuc2VhcmNoKHJl c3VsdC5zdGRvdXRfdGV4dCkKLSsgICAgICAgIHJlc3VsdCA9IHNlbGYucmVwbGljYXNbMF0ucnVu X2NvbW1hbmQoWydrZGI1X3V0aWwnLCAnbGlzdF9ta2V5cyddKQotKyAgICAgICAgYXNzZXJ0IG5v dCBwLnNlYXJjaChyZXN1bHQuc3Rkb3V0X3RleHQpCi0rCi0rICAgIEBjbGFzc21ldGhvZAotKyAg ICBkZWYgdW5pbnN0YWxsKGNscywgbWgpOgotKyAgICAgICAgY2xzLm1hc3Rlci5ydW5fY29tbWFu ZChbCi0rICAgICAgICAgICAgJ3JtJywgJy9ldGMvcHJvZmlsZS5kL2lwYXBsYXRmb3JtLnNoJywK LSsgICAgICAgICAgICAnL2V0Yy9zeXN0ZW1kL3N5c3RlbS9pcGEuc2VydmljZS5kL3BsYXRmb3Jt LmNvbmYnXSkKLSsgICAgICAgIGNscy5tYXN0ZXIucnVuX2NvbW1hbmQoWydybWRpcicsICcvZXRj L3N5c3RlbWQvc3lzdGVtL2lwYS5zZXJ2aWNlLmQnXSkKLSsgICAgICAgIHN1cGVyKCkudW5pbnN0 YWxsKG1oKQotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDVkYjNiZmFmZTZjMTIyMjJiNjU2ZjY3ZDVh ZTNmNjc0NWU1ZjI2NDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBUaG9tYXMgV29l cm5lciA8dHdvZXJuZXJAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTIgSnVuIDIwMjUgMTY6MjM6 MTMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAwOC80N10gaXBhLWNsaWVudC1pbnN0YWxsOiBOZXcg LS1uby1kbnNzZWMtdmFsaWRhdGlvbiBvcHRpb24KLQotVGhlIG5ldyBvcHRpb24gaXMgbmVlZGVk IHRvIGJlIGFibGUgdG8gZGVhY3RpdmF0ZSBETlNTRUMgdmFsaWRhdGlvbgotZm9yIHVuYm91bmQu Ci0KLVVuYm91bmQgaXMgYnkgZGVmYXVsdCBjb25maWd1cmVkIHRvIGRvIEROU1NFQyB2YWxpZGF0 aW9uIHdpdGggdGhlCi12YWxpZGF0b3IgbW9kdWxlLgotCi1UaGUgc29sdXRpb24gaXMgdG8gc2V0 IG1vZHVsZS1jb25maWcgdG8gIml0ZXJhdG9yIi4KLQotV2hlbiB0aGUgc2VydmVyIGlzIGJ1aWx0 IHdpdGggRUROUyBjbGllbnQgc3VibmV0IHN1cHBvcnQgdGhpcyBzaG91bGQgYmUKLWNoYW5nZWQg dG8gInN1Ym5ldGNhY2hlIGl0ZXJhdG9yIiBhY2NvcmRpbmcgdG8gdGhlIHVuYm91bmQgbWFuIHBh Z2UuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk4MDUKLVNpZ25l ZC1vZmYtYnk6IFRob21hcyBXb2VybmVyIDx0d29lcm5lckByZWRoYXQuY29tPgotUmV2aWV3ZWQt Qnk6IEFudG9uaW8gVG9ycmVzIDxhbnRvcnJlc0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYmJyYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+Ci0tLS0KLSBj bGllbnQvbWFuL2lwYS1jbGllbnQtaW5zdGFsbC4xICAgIHwgIDMgKysrCi0gY2xpZW50L3NoYXJl L3VuYm91bmQuY29uZi50ZW1wbGF0ZSB8ICAxICsKLSBpcGFjbGllbnQvaW5zdGFsbC9jbGllbnQu cHkgICAgICAgIHwgMjIgKysrKysrKysrKysrKysrKysrKysrLQotIDMgZmlsZXMgY2hhbmdlZCwg MjUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvY2xpZW50L21h bi9pcGEtY2xpZW50LWluc3RhbGwuMSBiL2NsaWVudC9tYW4vaXBhLWNsaWVudC1pbnN0YWxsLjEK LWluZGV4IDY4MzM5OTFiOC4uNTQzMmM0OGE5IDEwMDY0NAotLS0tIGEvY2xpZW50L21hbi9pcGEt Y2xpZW50LWluc3RhbGwuMQotKysrIGIvY2xpZW50L21hbi9pcGEtY2xpZW50LWluc3RhbGwuMQot QEAgLTIwNCw2ICsyMDQsOSBAQCBDcmVhdGUgRE5TIEEvQUFBQSByZWNvcmQgZm9yIGVhY2ggSVAg YWRkcmVzcyBvbiB0aGlzIGhvc3QuCi0gLlRQCi0gXGZCXC1cLWRuc1wtb3ZlclwtdGxzXGZSCi0g Q29uZmlndXJlIEROUyBvdmVyIFRMUy4KLSsuVFAKLStcZkJcLVwtbm9cLWRuc3NlY1wtdmFsaWRh dGlvblxmUgotK0Rpc2FibGUgRE5TU0VDIHZhbGlkYXRpb24gZm9yIEROUyBvdmVyIFRMUy4KLSAK LSAuU1MgIlNTU0QgT1BUSU9OUyIKLSAuVFAKLWRpZmYgLS1naXQgYS9jbGllbnQvc2hhcmUvdW5i b3VuZC5jb25mLnRlbXBsYXRlIGIvY2xpZW50L3NoYXJlL3VuYm91bmQuY29uZi50ZW1wbGF0ZQot aW5kZXggMTY2MDM2ZjY1Li5mNjExZWJiN2UgMTAwNjQ0Ci0tLS0gYS9jbGllbnQvc2hhcmUvdW5i b3VuZC5jb25mLnRlbXBsYXRlCi0rKysgYi9jbGllbnQvc2hhcmUvdW5ib3VuZC5jb25mLnRlbXBs YXRlCi1AQCAtMyw2ICszLDcgQEAgc2VydmVyOgotICAgICB0bHMtdXBzdHJlYW06IHllcwotICAg ICBpbnRlcmZhY2U6IDEyNy4wLjAuNTUKLSAgICAgbG9nLXNlcnZmYWlsOiB5ZXMKLSsgICAgJHtN T0RVTEVfQ09ORklHX0lURVJBVE9SfW1vZHVsZS1jb25maWc6ICJpdGVyYXRvciIKLSBmb3J3YXJk LXpvbmU6Ci0gICAgIG5hbWU6ICIuIgotICAgICBmb3J3YXJkLXRscy11cHN0cmVhbTogeWVzCi1k aWZmIC0tZ2l0IGEvaXBhY2xpZW50L2luc3RhbGwvY2xpZW50LnB5IGIvaXBhY2xpZW50L2luc3Rh bGwvY2xpZW50LnB5Ci1pbmRleCA0M2E3MTgyODMuLjk2ZTkxMjY4ZiAxMDA2NDQKLS0tLSBhL2lw YWNsaWVudC9pbnN0YWxsL2NsaWVudC5weQotKysrIGIvaXBhY2xpZW50L2luc3RhbGwvY2xpZW50 LnB5Ci1AQCAtMTY3NSwxMyArMTY3NSwxNyBAQCBkZWYgY2xpZW50X2RucyhzZXJ2ZXIsIGhvc3Ru YW1lLCBvcHRpb25zKToKLSAgICAgICAgICMgc2V0dXAgYW5kIGVuYWJsZSBVbmJvdW5kIGFzIHJl c29sdmVyCi0gICAgICAgICBzZXJ2ZXJfaXAgPSBzdHIobGlzdChkbnN1dGlsLnJlc29sdmVfaXBf YWRkcmVzc2VzKHNlcnZlcikpWzBdKQotICAgICAgICAgZm9yd2FyZF9hZGRyID0gImZvcndhcmQt YWRkcjogJXMjJXMiICUgKHNlcnZlcl9pcCwgc2VydmVyKQotKyAgICAgICAgIyBtb2R1bGVfY29u ZmlnX2l0ZXJhdG9yIGlzIGNvbW1lbnRlZCBvdXQgaWYgRE5TU0VDIHZhbGlkYXRpb24gaXMKLSsg ICAgICAgICMgbm90IGRpc2FibGVkLgotKyAgICAgICAgbW9kdWxlX2NvbmZpZ19pdGVyYXRvciA9 ICcnIGlmIG9wdGlvbnMubm9fZG5zc2VjX3ZhbGlkYXRpb24gZWxzZSAnIyAnCi0gICAgICAgICBp cGF1dGlsLmNvcHlfdGVtcGxhdGVfZmlsZSgKLSAgICAgICAgICAgICBwYXRocy5VTkJPVU5EX0NP TkZfU1JDLAotICAgICAgICAgICAgIHBhdGhzLlVOQk9VTkRfQ09ORiwKLSAgICAgICAgICAgICBk aWN0KAotICAgICAgICAgICAgICAgICBUTFNfQ0VSVF9CVU5ETEVfUEFUSD1vcy5wYXRoLmpvaW4o Ci0gICAgICAgICAgICAgICAgICAgICBwYXRocy5PUEVOU1NMX0NFUlRTX0RJUiwgImNhLWJ1bmRs ZS5jcnQiKSwKLS0gICAgICAgICAgICAgICAgRk9SV0FSRF9BRERSUz1mb3J3YXJkX2FkZHIKLSsg ICAgICAgICAgICAgICAgRk9SV0FSRF9BRERSUz1mb3J3YXJkX2FkZHIsCi0rICAgICAgICAgICAg ICAgIE1PRFVMRV9DT05GSUdfSVRFUkFUT1I9bW9kdWxlX2NvbmZpZ19pdGVyYXRvcgotICAgICAg ICAgICAgICkKLSAgICAgICAgICkKLSAgICAgICAgIHNyID0gc2VydmljZXMua25vd25zZXJ2aWNl c1sic3lzdGVtZC1yZXNvbHZlZCJdCi1AQCAtMjQxOSw2ICsyNDIzLDE2IEBAIGRlZiBpbnN0YWxs X2NoZWNrKG9wdGlvbnMpOgotICAgICBpZiBub3QgY2hlY2tfaXBfYWRkcmVzc2VzKG9wdGlvbnMp OgotICAgICAgICAgcmFpc2UgU2NyaXB0RXJyb3IocnZhbD1DTElFTlRfSU5TVEFMTF9FUlJPUikK LSAKLSsgICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHMgXAotKyAgICAgICBhbmQgbm90IHNlcnZp Y2VzLmtub3duc2VydmljZXNbInVuYm91bmQiXS5pc19pbnN0YWxsZWQoKToKLSsgICAgICAgIHJh aXNlIFNjcmlwdEVycm9yKAotKyAgICAgICAgICAgICJUbyBlbmFibGUgRE5TIG92ZXIgVExTLCBw YWNrYWdlIGlwYS1jbGllbnQtZW5jcnlwdGVkLWRucyBtdXN0ICIKLSsgICAgICAgICAgICAiYmUg aW5zdGFsbGVkLiIpCi0rICAgIGlmIG9wdGlvbnMubm9fZG5zc2VjX3ZhbGlkYXRpb24gYW5kIG5v dCBvcHRpb25zLmRuc19vdmVyX3RsczoKLSsgICAgICAgIHJhaXNlIFNjcmlwdEVycm9yKAotKyAg ICAgICAgICAgICJZb3UgY2FuIG5vdCBzcGVjaWZ5IC0tbm8tZG5zc2VjLXZhbGlkYXRpb24gb3B0 aW9uIHdpdGhvdXQgdGhlIgotKyAgICAgICAgICAgICItLWRucy1vdmVyLXRscyBvcHRpb24uIikK LSsKLSAgICAgIyBDcmVhdGUgdGhlIGRpc2NvdmVyeSBpbnN0YW5jZQotICAgICBkcyA9IGRpc2Nv dmVyeS5JUEFEaXNjb3ZlcnkoKQotIAotQEAgLTQwNjEsNiArNDA3NSwxMiBAQCBjbGFzcyBDbGll bnRJbnN0YWxsSW50ZXJmYWNlKGhvc3RuYW1lXy5Ib3N0TmFtZUluc3RhbGxJbnRlcmZhY2UsCi0g ICAgICkKLSAgICAgZG5zX292ZXJfdGxzID0gZW5yb2xsX29ubHkoZG5zX292ZXJfdGxzKQotIAot KyAgICBub19kbnNzZWNfdmFsaWRhdGlvbiA9IGtub2IoCi0rICAgICAgICBOb25lLAotKyAgICAg ICAgZGVzY3JpcHRpb249IkRpc2FibGUgRE5TU0VDIHZhbGlkYXRpb24gZm9yIEROUyBvdmVyIFRM UyIsCi0rICAgICkKLSsgICAgbm9fZG5zc2VjX3ZhbGlkYXRpb24gPSBlbnJvbGxfb25seShub19k bnNzZWNfdmFsaWRhdGlvbikKLSsKLSAgICAgcmVxdWVzdF9jZXJ0ID0ga25vYigKLSAgICAgICAg IE5vbmUsCi0gICAgICAgICBkZXByZWNhdGVkPVRydWUsCi0tLSAKLTIuNTEuMAotCi0KLUZyb20g MDQxMjI1MmRkOWEyNzEzODQxMWU5NDIzMDVjZGY1NGU3MGMwNmYyNyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IFRob21hcyBXb2VybmVyIDx0d29lcm5lckByZWRoYXQuY29tPgotRGF0 ZTogTW9uLCAyMyBKdW4gMjAyNSAxNDozNjo1MSArMDIwMAotU3ViamVjdDogW1BBVENIIDA5LzQ3 XSBpcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHk6IEFsbG93IHRvIFR1cm4gb2ZmIEROU1NFQwotIHZh bGlkYXRpb24gZm9yIHVuYm91bmQKLQotVW5ib3VuZCBpcyBieSBkZWZhdWx0IGNvbmZpZ3VyZWQg dG8gZG8gRE5TU0VDIHZhbGlkYXRpb24gd2l0aCB0aGUgdmFsaWRhdG9yCi1tb2R1bGUuIFRoZSBz b2x1dGlvbiBpcyB0byBzZXQgbW9kdWxlLWNvbmZpZyB0byAiaXRlcmF0b3IiLgotCi1XaGVuIHRo ZSBzZXJ2ZXIgaXMgYnVpbHQgd2l0aCBFRE5TIGNsaWVudCBzdWJuZXQgc3VwcG9ydCB0aGlzIHNo b3VsZCBiZQotY2hhbmdlZCB0byAic3VibmV0Y2FjaGUgaXRlcmF0b3IiIGFjY29yZGluZyB0byB0 aGUgdW5ib3VuZCBtYW4gcGFnZS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEv aXNzdWUvOTgwNQotU2lnbmVkLW9mZi1ieTogVGhvbWFzIFdvZXJuZXIgPHR3b2VybmVyQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogQW50b25pbyBUb3JyZXMgPGFudG9ycmVzQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFiYnJhQHVzZXJzLm5vcmVwbHkuZ2l0 aHViLmNvbT4KLS0tLQotIGlwYXNlcnZlci9pbnN0YWxsL2Rucy5weSB8IDYgKysrKystCi0gMSBm aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0 IGEvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5IGIvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5Ci1p bmRleCA0NzBlMTkxNTkuLmNjZWM5ZDgwMSAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9pbnN0YWxs L2Rucy5weQotKysrIGIvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5Ci1AQCAtMTMzLDEzICsxMzMs MTcgQEAgZGVmIF9zZXR1cF9kbnNfb3Zlcl90bHMob3B0aW9ucyk6Ci0gICAgIGlmIG9wdGlvbnMu ZG90X2ZvcndhcmRlcnM6Ci0gICAgICAgICBmb3J3YXJkX2FkZHJzID0gWyJmb3J3YXJkLWFkZHI6 ICVzIiAlIGZ3Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBmdyBpbiBvcHRpb25zLmRv dF9mb3J3YXJkZXJzXQotKyAgICAjIG1vZHVsZV9jb25maWdfaXRlcmF0b3IgaXMgY29tbWVudGVk IG91dCBpZiBETlNTRUMgdmFsaWRhdGlvbiBpcwotKyAgICAjIG5vdCBkaXNhYmxlZC4KLSsgICAg bW9kdWxlX2NvbmZpZ19pdGVyYXRvciA9ICcnIGlmIG9wdGlvbnMubm9fZG5zc2VjX3ZhbGlkYXRp b24gZWxzZSAnIyAnCi0gICAgIGlwYXV0aWwuY29weV90ZW1wbGF0ZV9maWxlKAotICAgICAgICAg cGF0aHMuVU5CT1VORF9DT05GX1NSQywKLSAgICAgICAgIHBhdGhzLlVOQk9VTkRfQ09ORiwKLSAg ICAgICAgIGRpY3QoCi0gICAgICAgICAgICAgVExTX0NFUlRfQlVORExFX1BBVEg9b3MucGF0aC5q b2luKAotICAgICAgICAgICAgICAgICBwYXRocy5PUEVOU1NMX0NFUlRTX0RJUiwgImNhLWJ1bmRs ZS5jcnQiKSwKLS0gICAgICAgICAgICBGT1JXQVJEX0FERFJTPSJcbiIuam9pbihmb3J3YXJkX2Fk ZHJzKQotKyAgICAgICAgICAgIEZPUldBUkRfQUREUlM9IlxuIi5qb2luKGZvcndhcmRfYWRkcnMp LAotKyAgICAgICAgICAgIE1PRFVMRV9DT05GSUdfSVRFUkFUT1I9bW9kdWxlX2NvbmZpZ19pdGVy YXRvcgotICAgICAgICAgKQotICAgICApCi0gCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gMTVhZGMy Njc5ZGFiYzk3ZmRjNDUxNGZjMDc3NWJlNzMwOGJkOTIyYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKLUZyb206IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA5 IEp1biAyMDI1IDE3OjIwOjMyICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMTAvNDddIGlwYXRlc3Rz OiBUZXN0cyBmb3IgMzJCaXRJZHJhbmdlcy4KLQotUnVubmluZyAzMkJpdElkcmFuZ2UgdGVzdHMg aW4gQUQgZW52aW9ybm1lbnQKLQotU2lnbmVkLW9mZi1ieTogU3VkaGlyIE1lbm9uIDxzdW1lbm9u QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhh dC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot LS0tCi0gLi4uL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF8zMmJpdF9pZHJhbmdlcy5weSAgIHwgMjIg KysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspCi0K LWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfMzJiaXRfaWRyYW5n ZXMucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfMzJiaXRfaWRyYW5nZXMucHkK LWluZGV4IGU3NmUxMTdlNS4uYTkyODYyOGQzIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0XzMyYml0X2lkcmFuZ2VzLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfMzJiaXRfaWRyYW5nZXMucHkKLUBAIC02LDYgKzYsNyBAQCBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydAotIAotIGZyb20gaXBhdGVzdHMucHl0ZXN0 X2lwYS5pbnRlZ3JhdGlvbiBpbXBvcnQgdGFza3MKLSBmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdy YXRpb24uYmFzZSBpbXBvcnQgSW50ZWdyYXRpb25UZXN0Ci0rZnJvbSBpcGF0ZXN0cy50ZXN0X2lu dGVncmF0aW9uLnRlc3RfdHJ1c3QgaW1wb3J0IEJhc2VUZXN0VHJ1c3QKLSAKLSAKLSBjbGFzcyBU ZXN0MzJCaXRJZFJhbmdlcyhJbnRlZ3JhdGlvblRlc3QpOgotQEAgLTEwMiwzICsxMDMsMjQgQEAg Y2xhc3MgVGVzdDMyQml0SWRSYW5nZXMoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICkKLSAg ICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29kZSA9PSAwCi0gICAgICAgICBhc3NlcnQgc3Ry KHVpZCkgaW4gcmVzdWx0LnN0ZG91dF90ZXh0Ci0rCi0rCi0rY2xhc3MgVGVzdDMyQml0SWRyYW5n ZUluVHJ1c3RFbnYoVGVzdDMyQml0SWRSYW5nZXMsIEJhc2VUZXN0VHJ1c3QpOgotKyAgICAiIiIK LSsgICAgVGVzdHMgdG8gY2hlY2sgMzJCaXRJZHJhbmdlIGZ1bmN0aW9uYWxpdHkKLSsgICAgaW4g SVBBLUFEIHRydXN0IGVudmlvcm5tZW50Ci0rICAgICIiIgotKyAgICB0b3BvbG9neSA9ICdsaW5l JwotKyAgICBudW1fYWRfZG9tYWlucyA9IDEKLSsgICAgbnVtX2FkX3N1YmRvbWFpbnMgPSAwCi0r ICAgIG51bV9hZF90cmVlZG9tYWlucyA9IDAKLSsgICAgbnVtX2NsaWVudHMgPSAwCi0rCi0rICAg IEBjbGFzc21ldGhvZAotKyAgICBkZWYgaW5zdGFsbChjbHMsIG1oKToKLSsgICAgICAgIHN1cGVy KEJhc2VUZXN0VHJ1c3QsIGNscykuaW5zdGFsbChtaCkKLSsgICAgICAgIGNscy5hZCA9IGNscy5h ZHNbMF0KLSsgICAgICAgIGNscy5hZF9kb21haW4gPSBjbHMuYWQuZG9tYWluLm5hbWUKLSsgICAg ICAgIHRhc2tzLmNvbmZpZ3VyZV9kbnNfZm9yX3RydXN0KGNscy5tYXN0ZXIsIGNscy5hZCkKLSsg ICAgICAgIHRhc2tzLmluc3RhbGxfYWR0cnVzdChjbHMubWFzdGVyKQotKyAgICAgICAgdGFza3Mu ZXN0YWJsaXNoX3RydXN0X3dpdGhfYWQoY2xzLm1hc3RlciwgY2xzLmFkLmRvbWFpbi5uYW1lKQot LS0gCi0yLjUxLjAKLQotCi1Gcm9tIDZmMmY5NDFkNTI5NTJkZWJjYzYzODc2NmRiMzNiNWFhZTI5 YmJlODEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTdWRoaXIgTWVub24gPHN1bWVu b25AcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMTYgSnVuIDIwMjUgMTI6MTU6NTMgKzA1MzAKLVN1 YmplY3Q6IFtQQVRDSCAxMS80N10gaXBhdGVzdHM6IHByY2kgbmlnaHRseSBkZWZpbml0aW9ucyBm b3IgMzJCaXRJZHJhbmdlcwotCi0zMkJpdElkcmFuZ2VzIHRlc3RzdWl0ZSBoYXMgYmVlbiBpbmNs dWRlZCBpbiB0aGUKLW5pZ2h0bHkgcHJjaSBkZWZpbml0aW9ucy4KLQotU2lnbmVkLW9mZi1ieTog U3VkaGlyIE1lbm9uIDxzdW1lbm9uQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0 ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMt UmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5h dWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gLi4uL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9p cGEtNC0xMl9sYXRlc3QueWFtbCAgIHwgMTIgKysrKysrKysrKysrCi0gLi4uL25pZ2h0bHlfaXBh LTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCAgICAgICAgICAgIHwgMTMgKysrKysrKysrKysrKwot IDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sIGIvaXBhdGVz dHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1pbmRleCA5 ZTAwYzU1YTEuLmYwYmRjMTEzOSAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlv bnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZp bml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMjE3NywzICsyMTc3LDE1 IEBAIGpvYnM6Ci0gICAgICAgICB0ZW1wbGF0ZTogKmNpLWlwYS00LTEyLWxhdGVzdAotICAgICAg ICAgdGltZW91dDogMTQ0MDAKLSAgICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzJyZXBsXzFjbGll bnQKLSsKLSsgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvdGVzdF8zMkJpdElkcmFuZ2VzOgotKyAg ICByZXF1aXJlczogW2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5 OiA1MAotKyAgICBqb2I6Ci0rICAgICAgY2xhc3M6IFJ1bkFEVGVzdHMKLSsgICAgICBhcmdzOgot KyAgICAgICAgYnVpbGRfdXJsOiAne2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRfdXJsfScK LSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF8zMmJpdF9pZHJhbmdl cy5weQotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRp bWVvdXQ6IDcyMDAKLSsgICAgICAgIHRvcG9sb2d5OiAqYWRfbWFzdGVyCi1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4 LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0 X3NlbGludXgueWFtbAotaW5kZXggZjc2Yzk2MjY3Li44NTFkNjQ0MGMgMTAwNjQ0Ci0tLS0gYS9p cGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgu eWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xh dGVzdF9zZWxpbnV4LnlhbWwKLUBAIC0yMzUxLDMgKzIzNTEsMTYgQEAgam9iczoKLSAgICAgICAg IHRlbXBsYXRlOiAqY2ktaXBhLTQtMTItbGF0ZXN0Ci0gICAgICAgICB0aW1lb3V0OiAxNDQwMAot ICAgICAgICAgdG9wb2xvZ3k6ICptYXN0ZXJfMnJlcGxfMWNsaWVudAotKwotKyAgZmVkb3JhLWxh dGVzdC1pcGEtNC0xMi90ZXN0XzMyQml0SWRyYW5nZXM6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3Jh LWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsg ICAgICBjbGFzczogUnVuQURUZXN0cwotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6 ICd7ZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgc2VsaW51eF9l bmZvcmNpbmc6IFRydWUKLSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVz dF8zMmJpdF9pZHJhbmdlcy5weQotKyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRl c3QKLSsgICAgICAgIHRpbWVvdXQ6IDcyMDAKLSsgICAgICAgIHRvcG9sb2d5OiAqYWRfbWFzdGVy Ci0tLSAKLTIuNTEuMAotCi0KLUZyb20gZjRjYmVhMDBmZGU4ZGFkYTg0YmZkMTI2MmI1MjcxMDM1 ZDNjYTdhNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRob21hcyBXb2VybmVyIDx0 d29lcm5lckByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAxMiBKdW4gMjAyNSAxODozNDo0OSArMDIw MAotU3ViamVjdDogW1BBVENIIDEyLzQ3XSBSZXBsaWNhOiBSZXF1ZXN0IGNlcnQgZm9yIERvVCBi ZWZvcmUgc2V0dGluZyB1cCBiaW5kCi0KLURlcGxveWluZyBhIHJlcGxpY2Egd2l0aCBETlMgc3Vw cG9ydCB1c2luZyBhbiBJUEEgc2VydmVyIEROUyB3aXRoIERvVAotZmFpbHMgd2hpbGUgc2V0dGlu ZyB1cCBETlMgb3ZlciBUTFMuIFRoZSByZXF1ZXN0IGZvciB0aGUgY2VydGlmaWNhdGUgZm9yCi1E b1QgdXNpbmcgSVBBIENBIGlzIGRvbmUgYWZ0ZXIgdGhlIEROUyBzZXJ2ZXIgZm9yIHRoZSByZXBs aWNhIGlzIGNvbmZpZ3VyZWQuCi0KLVRoZSBuYW1lc2VydmVyIGluIC9ldGMvcmVzb2x2LmNvbmYg aGFzIGJlZW4gY2hhbmdlZCB0byAxMjcuMC4wLjEsIGJ1dAotdW5ib3VuZCB3YXMgbm90IHlldCBj b25maWd1cmVkIGFzIGEgZm9yd2FyZGVyLgotCi1UaGUgc29sdXRpb24gaXMgdG8gbW92ZSB0aGUg Y2VydCByZXF1ZXN0IGJlZm9yZSB0aGUgRE5TIHNlcnZlcgotY29uZmlndXJhdGlvbi4gVGhlIHVu Ym91bmQgY29uZmlnIGZyb20gdGhlIGNsaWVudCBkZXBsb3ltZW50IGlzIHN0aWxsCi13b3JraW5n IGF0IHRoYXQgbW9tZW50LgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1 ZS85ODA4Ci1TaWduZWQtb2ZmLWJ5OiBUaG9tYXMgV29lcm5lciA8dHdvZXJuZXJAcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgot LS0tCi0gaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5IHwgOCArKysrKysrLQotIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2lwYXNl cnZlci9pbnN0YWxsL2Rucy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weQotaW5kZXggY2Nl YzlkODAxLi45NzQwZmFlZGQgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkK LSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weQotQEAgLTExNCw3ICsxMTQsNyBAQCBkZWYg X2Rpc2FibGVfZG5zc2VjKCk6Ci0gICAgICAgICAgICAgY29ubi51cGRhdGVfZW50cnkoZW50cnkp Ci0gCi0gCi0tZGVmIF9zZXR1cF9kbnNfb3Zlcl90bHMob3B0aW9ucyk6Ci0rZGVmIF9yZXF1ZXN0 X2NlcnRfZm9yX2Ruc19vdmVyX3RscyhvcHRpb25zKToKLSAgICAgaWYgb3MucGF0aC5pc2ZpbGUo cGF0aHMuSVBBX0NBX0NSVCkgYW5kIG5vdCBvcHRpb25zLmRuc19vdmVyX3Rsc19jZXJ0OgotICAg ICAgICAgIyByZXF1ZXN0IGNlcnRpZmljYXRlIGZvciBETlMgb3ZlciBUTFMsIHVzaW5nIElQQSBD QQotICAgICAgICAgY2VydCA9IHBhdGhzLkJJTkRfRE5TX09WRVJfVExTX0NSVAotQEAgLTEyOCw2 ICsxMjgsOCBAQCBkZWYgX3NldHVwX2Ruc19vdmVyX3RscyhvcHRpb25zKToKLSAgICAgICAgIGNv bnN0YW50cy5OQU1FRF9VU0VSLmNob3duKGNlcnQsIGdpZD1jb25zdGFudHMuTkFNRURfR1JPVVAu Z2lkKQotICAgICAgICAgY29uc3RhbnRzLk5BTUVEX1VTRVIuY2hvd24oa2V5LCBnaWQ9Y29uc3Rh bnRzLk5BTUVEX0dST1VQLmdpZCkKLSAKLSsKLStkZWYgX3NldHVwX2Ruc19vdmVyX3RscyhvcHRp b25zKToKLSAgICAgIyBzZXR1cCBhbmQgZW5hYmxlIFVuYm91bmQgYXMgcmVzb2x2ZXIKLSAgICAg Zm9yd2FyZF9hZGRycyA9IFsiIyBmb3J3YXJkLWFkZHI6IHNwZWNpZnkgaGVyZSBmb3J3YXJkZXJz Il0KLSAgICAgaWYgb3B0aW9ucy5kb3RfZm9yd2FyZGVyczoKLUBAIC00MzUsNiArNDM3LDEwIEBA IGRlZiBpbnN0YWxsKHN0YW5kYWxvbmUsIHJlcGxpY2EsIG9wdGlvbnMsIGFwaT1hcGkpOgotICAg ICAgICAgICAgICJhbmQgSVBBIENBIGlzIG5vdCBwcmVzZW50LiIKLSAgICAgICAgICkKLSAKLSsg ICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHM6Ci0rICAgICAgICBwcmludCgiUmVxdWVzdCBjZXJ0 aWZpY2F0ZSBmb3IgRE5TIG92ZXIgVExTLCB1c2luZyBJUEEgQ0EiKQotKyAgICAgICAgX3JlcXVl c3RfY2VydF9mb3JfZG5zX292ZXJfdGxzKG9wdGlvbnMpCi0rCi0gICAgIGJpbmQgPSBiaW5kaW5z dGFuY2UuQmluZEluc3RhbmNlKGZzdG9yZSwgYXBpPWFwaSkKLSAgICAgYmluZC5zZXR1cChhcGku ZW52Lmhvc3QsIGlwX2FkZHJlc3NlcywgYXBpLmVudi5yZWFsbSwgYXBpLmVudi5kb21haW4sCi0g ICAgICAgICAgICAgICAgb3B0aW9ucy5mb3J3YXJkZXJzLCBvcHRpb25zLmZvcndhcmRfcG9saWN5 LAotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIGE2YWU5Zjc0MDk5MTg4OGJlZGU4Mjg4NGJkOTYwOWRi MjIwNDMwZTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFRvcnJlcyA8 YW50b3JyZXNAcmVkaGF0LmNvbT4KLURhdGU6IE1vbiwgMjMgSnVuIDIwMjUgMTA6NDk6MzQgKzAy MDAKLVN1YmplY3Q6IFtQQVRDSCAxMy80N10gZG5zOiBvbmx5IG92ZXJ3cml0ZSByZXNvbHYuY29u ZiBkdXJpbmcgZUROUyBzZXR1cCB3aGVuCi0gbmVlZGVkCi0KLURvbid0IG92ZXJ3cml0ZSByZXNv bHYuY29uZiBpZiBpdCBhbHJlYWR5IHBvaW50cyB0byAxMjcuMC4wLjEuIFRoaXMKLWVuc3VyZXMg Y29tcGF0aWJpbGl0eSB3aXRoIHJlYWQtb25seSBjb250YWluZXJzLgotCi1GaXhlczogaHR0cHM6 Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85ODEzCi1TaWduZWQtb2ZmLWJ5OiBBbnRvbmlvIFRv cnJlcyA8YW50b3JyZXNAcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1S ZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5IHwg MTYgKysrKysrKysrLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDcg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkgYi9p cGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLWluZGV4IDk3NDBmYWVkZC4uMGY3YTMwNzNmIDEwMDY0 NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFs bC9kbnMucHkKLUBAIC0zMyw3ICszMyw3IEBAIGZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGF1dGls Ci0gZnJvbSBpcGFweXRob24gaW1wb3J0IGRuc3V0aWwKLSBmcm9tIGlwYXB5dGhvbi5jZXJ0ZGIg aW1wb3J0IEVYVEVSTkFMX0NBX1RSVVNUX0ZMQUdTCi0gZnJvbSBpcGFweXRob24uZG4gaW1wb3J0 IEROCi0tZnJvbSBpcGFweXRob24uZG5zdXRpbCBpbXBvcnQgY2hlY2tfem9uZV9vdmVybGFwCi0r ZnJvbSBpcGFweXRob24uZG5zdXRpbCBpbXBvcnQgY2hlY2tfem9uZV9vdmVybGFwLCBnZXRfaXBh X3Jlc29sdmVyCi0gZnJvbSBpcGFweXRob24uaW5zdGFsbCBpbXBvcnQgdHlwaW5nCi0gZnJvbSBp cGFweXRob24uaW5zdGFsbC5jb3JlIGltcG9ydCBncm91cCwga25vYgotIGZyb20gaXBhcHl0aG9u LmFkbWludG9vbCBpbXBvcnQgU2NyaXB0RXJyb3IKLUBAIC0xNzEsMTcgKzE3MSwxOSBAQCBkZWYg X3NldHVwX2Ruc19vdmVyX3RscyhvcHRpb25zKToKLSAgICAgICAgICAgICBmLndyaXRlKCJcbiIu am9pbihkbnNfbm9uZSkpCi0gICAgICAgICBubS5yZWxvYWRfb3JfcmVzdGFydCgpCi0gCi0tICAg ICMgT3ZlcndyaXRlIHJlc29sdi5jb25mIHRvIHBvaW50IHRvIElQQQotKyAgICAjIEVuc3VyZSBy ZXNvbHYuY29uZiBwb2ludHMgdG8gSVBBCi0gICAgIGNmZyA9IFsKLSAgICAgICAgICIjIGF1dG8t Z2VuZXJhdGVkIGJ5IElQQSBpbnN0YWxsZXIiLAotICAgICAgICAgInNlYXJjaCAuIiwKLSAgICAg ICAgICJuYW1lc2VydmVyIDEyNy4wLjAuMVxuIgotICAgICBdCi0tICAgIGZzdG9yZSA9IHN5c3Jl c3RvcmUuRmlsZVN0b3JlKHBhdGhzLlNZU1JFU1RPUkUpCi0tICAgIGZzdG9yZS5iYWNrdXBfZmls ZShwYXRocy5SRVNPTFZfQ09ORikKLS0gICAgd2l0aCBvcGVuKHBhdGhzLlJFU09MVl9DT05GLCAn dycpIGFzIGY6Ci0tICAgICAgICBmLndyaXRlKCdcbicuam9pbihjZmcpKQotLSAgICAgICAgb3Mu Y2htb2QocGF0aHMuUkVTT0xWX0NPTkYsIDBvNjQ0KQotKyAgICBuYW1lc2VydmVycyA9IGdldF9p cGFfcmVzb2x2ZXIoKS5uYW1lc2VydmVycwotKyAgICBpZiBub3QgbmFtZXNlcnZlcnMgb3IgbmFt ZXNlcnZlcnNbMF0gIT0gIjEyNy4wLjAuMSI6Ci0rICAgICAgICBmc3RvcmUgPSBzeXNyZXN0b3Jl LkZpbGVTdG9yZShwYXRocy5TWVNSRVNUT1JFKQotKyAgICAgICAgZnN0b3JlLmJhY2t1cF9maWxl KHBhdGhzLlJFU09MVl9DT05GKQotKyAgICAgICAgd2l0aCBvcGVuKHBhdGhzLlJFU09MVl9DT05G LCAndycpIGFzIGY6Ci0rICAgICAgICAgICAgZi53cml0ZSgnXG4nLmpvaW4oY2ZnKSkKLSsgICAg ICAgICAgICBvcy5jaG1vZChwYXRocy5SRVNPTFZfQ09ORiwgMG82NDQpCi0gCi0gICAgIHNlcnZp Y2VzLmtub3duc2VydmljZXMudW5ib3VuZC5lbmFibGUoKQotICAgICBzZXJ2aWNlcy5rbm93bnNl cnZpY2VzLnVuYm91bmQucmVzdGFydCgpCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gNmJiN2ViZDQw ZjNmYTljMjY2ZTYyY2FlZjk2MWMxMDc4NDQwNzUxZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IFJhZmFlbCBHdXRlcnJlcyBKZWZmbWFuIDxyamVmZm1hbkByZWRoYXQuY29tPgotRGF0 ZTogVHVlLCAxNyBKdW4gMjAyNSAxNzoxNTo0OSAtMDMwMAotU3ViamVjdDogW1BBVENIIDE0LzQ3 XSBVc2UgY29ycmVjdCBjYXBpdGFsaXphdGlvbiBmb3IgR2l0SHViIGFuZCBHaXRMYWIKLQotVGhl IGNvcnJlY3QgdGhpcmQgcGFydHkgdHJhZGVtYXJrcyBhcmUgR2l0SHViIGFuZCBHaXRMYWIsIGFu ZCB0aGlzIGlzCi10aGUgY2FwaXRhbGl6YXRpb24gdGhhdCBuZWVkcyB0byBiZSB1c2VkIGZvciBk b2N1bWVudGF0aW9uIGFuZCBtZXNzYWdlcywKLXdoZW4gcmVmZXJyaW5nIHRvIGVhY2ggc2Vydmlj ZS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTgxMQotU2lnbmVk LW9mZi1ieTogUmFmYWVsIEd1dGVycmVzIEplZmZtYW4gPHJqZWZmbWFuQHJlZGhhdC5jb20+Ci1S ZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmll d2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGRvYy9k ZXNpZ25zL2V4dGVybmFsLWlkcC9pZHAtYXBpLm1kICAgICAgfCAyMiArKysrKysrKysrKy0tLS0t LS0tLS0tCi0gZG9jL3dvcmtzaG9wLzEyLWV4dGVybmFsLWlkcC1zdXBwb3J0LnJzdCB8ICA0ICsr LS0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9pbnRlcm5hbC5weSAgICAgICAgICAgIHwgIDIgKy0KLSBp cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5weSAgIHwgIDIgKy0KLSBwby9pcGEu cG90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KLSA1IGZpbGVzIGNoYW5n ZWQsIDE2IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZG9j L2Rlc2lnbnMvZXh0ZXJuYWwtaWRwL2lkcC1hcGkubWQgYi9kb2MvZGVzaWducy9leHRlcm5hbC1p ZHAvaWRwLWFwaS5tZAotaW5kZXggZmUyYmE4ZDY3Li41OWQyY2NiNTcgMTAwNjQ0Ci0tLS0gYS9k b2MvZGVzaWducy9leHRlcm5hbC1pZHAvaWRwLWFwaS5tZAotKysrIGIvZG9jL2Rlc2lnbnMvZXh0 ZXJuYWwtaWRwL2lkcC1hcGkubWQKLUBAIC0xNTYsMTMgKzE1NiwxMyBAQCBMaXN0IG9mIHByZS1w b3B1bGF0ZWQgSWRQIHR5cGVzIGlzIGN1cnJlbnRseSBsaW1pdGVkIGJ5IHRoZSBmb2xsb3dpbmcg cHJvdmlkZXIKLSBTb21lIElkUCBwcm92aWRlcnMgc3VwcG9ydCBwYXJhbWV0cml6ZWQgVVJJcyB3 aGljaCBpbmNsdWRlIG9yZ2FuaXphdGlvbiBvciBhCi0gcmVhbG0gbmFtZSwgb3Igc3BlY2lmaWMg YmFzZSBVUkwsIG9yIGJvdGguCi0gCi0tT25lIG5vdGFibGUgb21pc3Npb24gaW4gdGhlIHByZS1w b3B1bGF0ZWQgSWRQIHR5cGVzIGFib3ZlIGlzIEdpdGxhYi4KLStPbmUgbm90YWJsZSBvbWlzc2lv biBpbiB0aGUgcHJlLXBvcHVsYXRlZCBJZFAgdHlwZXMgYWJvdmUgaXMgR2l0TGFiLgotIAotIEZy ZWVJUEEgb25seSBzdXBwb3J0cyBJZFBzIHRoYXQgaW1wbGVtZW50IE9BdXRoIDIuMCBEZXZpY2Ug YXV0aG9yaXphdGlvbgotIGdyYW50IGZsb3cgYXMgZGVmaW5lZCBieSB0aGUgW1JGQyA4NjI4XSho dHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9yZmMvcmZjODYyOCkuCi0gSWYgcmVxdWlyZWQgSWRQ IGNhbm5vdCBiZSBtYWRlIHRvIHN1cHBvcnQgRGV2aWNlIGF1dGhvcml6YXRpb24gZ3JhbnQgZmxv dywgaXQKLSBpcyByZWNvbW1lbmRlZCB0byB1c2UgT0F1dGggMi4wIGZlZGVyYXRpb24gd2l0aGlu IGFuIElkUCB0aGF0IHN1cHBvcnRzIHRoaXMKLS1tZXRob2QuIEdpdGxhYiBkb2VzIG5vdCBzdXBw b3J0IE9BdXRoIDIuMCBEZXZpY2UgYXV0aG9yaXphdGlvbiBncmFudCBmbG93IGFuZAotK21ldGhv ZC4gR2l0TGFiIGRvZXMgbm90IHN1cHBvcnQgT0F1dGggMi4wIERldmljZSBhdXRob3JpemF0aW9u IGdyYW50IGZsb3cgYW5kCi0gdGh1cyBpcyBub3Qgc3VwcG9ydGVkIGRpcmVjdGx5LgotIAotIFNT U0QgMi43LjAgaW1wbGVtZW50cyBLZXJiZXJvcyBwcmUtYXV0aGVudGljYXRpb24gbWV0aG9kIGBp ZHBgIChyZWdpc3RlcmVkIGFzIGEKLUBAIC0xOTMsNyArMTkzLDcgQEAgQ2hvb3NpbmcgYC0tcHJv dmlkZXI9Z29vZ2xlYCB3b3VsZCBleHBhbmQgdG8gdXNlIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoK LSB8IGAtLXNjb3BlYD1TVFIgICAgICAgICB8IGBvcGVuaWQgZW1haWxgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwKLSB8IGAtLWlkcC11c2VyLWlkYD1TVFIgICB8IGBlbWFp bGAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAKLS0jIyMj IEdpdGh1YiBJZFBzCi0rIyMjIyBHaXRIdWIgSWRQcwotIAotIENob29zaW5nIGAtLXByb3ZpZGVy PWdpdGh1YmAgd291bGQgZXhwYW5kIHRvIHVzZSB0aGUgZm9sbG93aW5nIG9wdGlvbnM6Ci0gCi1A QCAtMjA3LDE3ICsyMDcsMTcgQEAgQ2hvb3NpbmcgYC0tcHJvdmlkZXI9Z2l0aHViYCB3b3VsZCBl eHBhbmQgdG8gdXNlIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKLSB8IGAtLXNjb3BlYD1TVFIgICAg ICAgICB8IGB1c2VyYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKLSB8IGAtLWlkcC11c2VyLWlkYD1TVFIgICB8IGBsb2dpbmAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwKLSAKLS1QbGVhc2Ugbm90ZSB0aGF0IEdpdGh1YiBl eHBsaWNpdGx5IHN0YXRlcyB0aGF0IGEgdXNlciBsb2dpbiBpcyBub3QgdW5pcXVlIGFuZAotK1Bs ZWFzZSBub3RlIHRoYXQgR2l0SHViIGV4cGxpY2l0bHkgc3RhdGVzIHRoYXQgYSB1c2VyIGxvZ2lu IGlzIG5vdCB1bmlxdWUgYW5kCi0gY2FuIGJlIHJldXNlZCBhZnRlciBhIHVzZXIgYWNjb3VudCB3 YXMgZGVsZXRlZC4gVGhlIGNvbmZpZ3VyYXRpb24gYWJvdmUgYWltcwotLWZvciBhbiBlYXN5IHNl dHVwIGZvciB0ZXN0aW5nLiBJZiBwcm9kdWN0aW9uIGRlcGxveW1lbnQgd2l0aCBHaXRodWIgSWRQ IHdvdWxkCi0rZm9yIGFuIGVhc3kgc2V0dXAgZm9yIHRlc3RpbmcuIElmIHByb2R1Y3Rpb24gZGVw bG95bWVudCB3aXRoIEdpdEh1YiBJZFAgd291bGQKLSBiZSByZXF1aXJlZCwgaXQgaXMgcmVjb21t ZW5kZWQgdG8gY2hhbmdlIGAtLWlkcC11c2VyLWlkYCB0byBhIG1vcmUgdW5pcXVlIHN1YmplY3QK LS1saWtlIGBpZGAuIFVuZm9ydHVuYXRlbHksIEdpdGh1YiBVSSBkb2VzIG5vdCBnaXZlIGFuIGVh c3kgd2F5IHRvIGRpc2NvdmVyIGEKLStsaWtlIGBpZGAuIFVuZm9ydHVuYXRlbHksIEdpdEh1YiBV SSBkb2VzIG5vdCBnaXZlIGFuIGVhc3kgd2F5IHRvIGRpc2NvdmVyIGEKLSB1c2VyIElELiBPdGhl ciBJZFBzIGFsc28gbGFjayBhbiBlYXN5IHdheSB0byByZXNvbHZlIHRoZXNlIGludGVybmFsIGlk ZW50aWZpZXJzCi0gd2hlbiBub3QgYXV0aG9yaXplZCBieSB0aGUgdXNlciB0aGVtc2VsdmVzLgot IAotLUZvciBHaXRodWIsIHVzZXIncyBJRCBjYW4gYmUgbG9va2VkIHVwIHdpdGhvdXQgYXV0aGVu dGljYXRpb24gdGhyb3VnaCB0aGUgVXNlcnMKLStGb3IgR2l0SHViLCB1c2VyJ3MgSUQgY2FuIGJl IGxvb2tlZCB1cCB3aXRob3V0IGF1dGhlbnRpY2F0aW9uIHRocm91Z2ggdGhlIFVzZXJzCi0gQVBJ LiBBc3N1bWluZyB3ZSBoYXZlIGBjdXJsYCBhbmQgYGpxYCB1dGlsaXRpZXMgYXZhaWxhYmxlLCBh IHJlcXVlc3QgdG8KLS1kaXNjb3ZlciBhbiBJRCBvZiBhIEdpdGh1YiB1c2VyIG5hbWVkIGB0ZXN0 YCB3b3VsZCBsb29rIGxpa2U6Ci0rZGlzY292ZXIgYW4gSUQgb2YgYSBHaXRIdWIgdXNlciBuYW1l ZCBgdGVzdGAgd291bGQgbG9vayBsaWtlOgotIAotIGBgYAotICQgY3VybCAtLXNpbGVudCBcCi1A QCAtMzg2LDEwICszODYsMTAgQEAgc2NvcGUgaXMgdXNlZCwgdGhpcyB0eXBpY2FsbHkgbWFwcyB0 byBgc3ViYCB2YWx1ZS4gU2luY2UgdGhlcmUgYXJlIG5vIHdheXMgdG8KLSBwdWxsIHRoaXMgdmFs dWUgZm9yIGFsbCB1c2VycyBpbiBhZHZhbmNlLCBwcmUtcG9wdWxhdGVkIElkUCB0ZW1wbGF0ZXMg c2V0IE9BdXRoCi0gMi4wIHNjb3BlcyB0byBpbmNsdWRlIGBlbWFpbGAgYW5kIHRoZW4gdXNlIGBl bWFpbGAgdG8gbWFwIElkUCBzdWJqZWN0IHdoZXJlIHBvc3NpYmxlLgotIFRoZXJlIGFyZSBzb21l IHdlbGwta25vd24gSWRQcyB3aGljaCBhbGxvdyByZXVzZSBvZiB1c2VyIGFjY291bnRzIGFuZCBl bWFpbHMsIHRoaXMKLS1hcHBsaWVzIHRvIGJvdGggR2l0aHViIGFuZCBHaXRsYWIuIFNpbmNlIEdp dGxhYiBkb2VzIG5vdCBzdXBwb3J0IE9BdXRoIDIuMAotK2FwcGxpZXMgdG8gYm90aCBHaXRIdWIg YW5kIEdpdExhYi4gU2luY2UgR2l0TGFiIGRvZXMgbm90IHN1cHBvcnQgT0F1dGggMi4wCi0gRGV2 aWNlIGF1dGhvcml6YXRpb24gZ3JhbnQgZmxvdywgaXQgaXMgbm90IGFuIGlzc3VlIGluIGl0c2Vs ZiBmb3IgdGhpcyBwcm9qZWN0LiBIb3dldmVyLAotLWZvciBHaXRodWIgaXQgaXMga25vd24gdGhh dCB1c2VyIGFjY291bnRzIGNhbiBiZSByZWN5Y2xlZCBhZnRlciB0aGVpciByZW1vdmFsLiBJbgot LXRoaXMgY2FzZSB3ZSB3b3VsZCByZWNvbW1lbmQgdG8gdXNlIGludGVybmFsIEdpdGh1YiBpZGVu dGlmaWVyIGluc3RlYWQuCi0rZm9yIEdpdEh1YiBpdCBpcyBrbm93biB0aGF0IHVzZXIgYWNjb3Vu dHMgY2FuIGJlIHJlY3ljbGVkIGFmdGVyIHRoZWlyIHJlbW92YWwuIEluCi0rdGhpcyBjYXNlIHdl IHdvdWxkIHJlY29tbWVuZCB0byB1c2UgaW50ZXJuYWwgR2l0SHViIGlkZW50aWZpZXIgaW5zdGVh ZC4KLSAKLSAjIyBVcGdyYWRlIGFuZCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5Ci0gCi1kaWZmIC0t Z2l0IGEvZG9jL3dvcmtzaG9wLzEyLWV4dGVybmFsLWlkcC1zdXBwb3J0LnJzdCBiL2RvYy93b3Jr c2hvcC8xMi1leHRlcm5hbC1pZHAtc3VwcG9ydC5yc3QKLWluZGV4IDAyMmMyNjQ4My4uNjZjNzE0 YzI1IDEwMDY0NAotLS0tIGEvZG9jL3dvcmtzaG9wLzEyLWV4dGVybmFsLWlkcC1zdXBwb3J0LnJz dAotKysrIGIvZG9jL3dvcmtzaG9wLzEyLWV4dGVybmFsLWlkcC1zdXBwb3J0LnJzdAotQEAgLTk0 LDcgKzk0LDcgQEAgYXV0aG9yaXphdGlvbiBncmFudCBmbG93OgotIAotICogTWljcm9zb2Z0IElk ZW50aXR5IFBsYXRmb3JtLCBpbmNsdWRpbmcgQXp1cmUgQUQKLSAqIEdvb2dsZQotLSogR2l0aHVi Ci0rKiBHaXRIdWIKLSAqIEtleWNsb2FrLCBpbmNsdWRpbmcgUmVkIEhhdCBTU08KLSAqIE9rdGEK LSAKLUBAIC0zODksNyArMzg5LDcgQEAgSVBBLiBPcHRpb24gYGAtLXByb3ZpZGVyIGtleWNsb2Fr YGAgYWxsb3dzIHVzIHRvIGZpbGwtaW4gcHJlLWRlZmluZWQgdGVtcGxhdGUKLSBmb3IgS2V5Y2xv YWsgb3IgUmVkIEhhdCBTU08gSWRQcy4gVGhlIHRlbXBsYXRlIGV4cGVjdHMgYm90aCBLZXljbG9h aydzIHJlYWxtCi0gKGBgLS1vcmdgYCBvcHRpb24pIGFuZCBhIGJhc2UgVVJMIChgYC0tYmFzZS11 cmxgYCBvcHRpb24pIGJlY2F1c2UgS2V5Y2xvYWsgaXMKLSB0eXBpY2FsbHkgZGVwbG95ZWQgYXMg YSBwYXJ0IG9mIGEgbGFyZ2VyIHNvbHV0aW9uLiBUaGVzZSBvcHRpb25zIG1heSBub3QgYmUKLS1u ZWVkZWQgZm9yIG90aGVyIHByZS1kZWZpbmVkIHRlbXBsYXRlcyBsaWtlIEdvb2dsZSBvciBHaXRo dWIuCi0rbmVlZGVkIGZvciBvdGhlciBwcmUtZGVmaW5lZCB0ZW1wbGF0ZXMgbGlrZSBHb29nbGUg b3IgR2l0SHViLgotIAotIFRoZSBgb3BlbmlkYCBzY29wZSBpcyBtYW5kYXRvcnkgc2luY2UKLSBb S2V5Y2xvYWsgMTkuMC4yXShodHRwczovL3d3dy5rZXljbG9hay5vcmcvZG9jcy9sYXRlc3QvdXBn cmFkaW5nL2luZGV4Lmh0bWwjdXNlcmluZm8tZW5kcG9pbnQtY2hhbmdlcykuCi1kaWZmIC0tZ2l0 IGEvaXBhc2VydmVyL3BsdWdpbnMvaW50ZXJuYWwucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9pbnRl cm5hbC5weQotaW5kZXggZTg2NDJiNmYwLi4yODNiNDMwNzcgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2 ZXIvcGx1Z2lucy9pbnRlcm5hbC5weQotKysrIGIvaXBhc2VydmVyL3BsdWdpbnMvaW50ZXJuYWwu cHkKLUBAIC0xMTAwLDcgKzExMDAsNyBAQCBjbGFzcyBpMThuX21lc3NhZ2VzKENvbW1hbmQpOgot ICAgICAgICAgICAgICJpZHAiOiB7Ci0gICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZV9rZXljbG9h ayI6IF8oIktleWNsb2FrIG9yIFJlZCBIYXQgU1NPIiksCi0gICAgICAgICAgICAgICAgICJ0ZW1w bGF0ZV9nb29nbGUiOiBfKCJHb29nbGUiKSwKLS0gICAgICAgICAgICAgICAgInRlbXBsYXRlX2dp dGh1YiI6IF8oIkdpdGh1YiIpLAotKyAgICAgICAgICAgICAgICAidGVtcGxhdGVfZ2l0aHViIjog XygiR2l0SHViIiksCi0gICAgICAgICAgICAgICAgICJ0ZW1wbGF0ZV9taWNyb3NvZnQiOiBfKCJN aWNyb3NvZnQgb3IgQXp1cmUiKSwKLSAgICAgICAgICAgICAgICAgInRlbXBsYXRlX29rdGEiOiBf KCJPa3RhIiksCi0gICAgICAgICAgICAgICAgICJsYWJlbF9pZHBjbGllbnQiOiBfKCJPQXV0aCAy LjAgY2xpZW50IGRldGFpbHMiKSwKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3RfY2VydC5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5 Ci1pbmRleCA4ODg1OWU2N2YuLjA1YjIwYjkxMCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3Rf aW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfY2VydC5weQotQEAgLTU0MCw3ICs1NDAsNyBAQCBjbGFzcyBUZXN0Q0FTaG93RXJyb3JI YW5kbGluZyhJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgNC4gVmVyaWZ5IExXQ0EgaXMgcmVj b2duaXplZCBvbiB0aGUgc2VydmVyCi0gICAgICAgICA1LiBSdW4gYGlwYSBjYS1zaG93IDxMV0NB PmAKLSAKLS0gICAgICAgIFBLSSBHaXRodWIgTGluazogaHR0cHM6Ly9naXRodWIuY29tL2RvZ3Rh Z3BraS9wa2kvcHVsbC8zNjA1LwotKyAgICAgICAgUEtJIEdpdEh1YiBMaW5rOiBodHRwczovL2dp dGh1Yi5jb20vZG9ndGFncGtpL3BraS9wdWxsLzM2MDUvCi0gICAgICAgICAiIiIKLSAgICAgICAg IHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoWydzeXN0ZW1jdGwnLCAnc3RvcCcsICdpcGEt Y3VzdG9kaWEnXSkKLSAgICAgICAgIGx3Y2EgPSAnbHdjYTEnCi1kaWZmIC0tZ2l0IGEvcG8vaXBh LnBvdCBiL3BvL2lwYS5wb3QKLWluZGV4IDQxZWUxNDA1OS4uMDc0MTNkNTQ2IDEwMDY0NAotLS0t IGEvcG8vaXBhLnBvdAotKysrIGIvcG8vaXBhLnBvdAotQEAgLTIzOTQ0LDcgKzIzOTQ0LDcgQEAg bXNnaWQgIkdvb2dsZSIKLSBtc2dzdHIgIiIKLSAKLSAjOiBpcGFzZXJ2ZXIvcGx1Z2lucy9pbnRl cm5hbC5weToxMTAzCi0tbXNnaWQgIkdpdGh1YiIKLSttc2dpZCAiR2l0SHViIgotIG1zZ3N0ciAi IgotIAotICM6IGlwYXNlcnZlci9wbHVnaW5zL2ludGVybmFsLnB5OjExMDQKLS0tIAotMi41MS4w Ci0KLQotRnJvbSA0M2YxNjUzYzQxMzEyZmE4MzFkYjMwZjBhYTRlMTY5OTgxNmI3Y2FjIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJl ZGhhdC5jb20+Ci1EYXRlOiBGcmksIDExIEp1bCAyMDI1IDEwOjUyOjU4ICswMzAwCi1TdWJqZWN0 OiBbUEFUQ0ggMTUvNDddIGZyZWVpcGEuc3BlYy5pbjogcHJvdGVjdCBzY3JpcHRsZXRzIGluIGVu dmlyb25tZW50Ci0gd2hlcmUgZGJ1cyBvciBzeXN0ZW1kIGRvIG5vdCBydW4KLQotRm9yIHF1aXRl IHNvbWUgdGltZSwgZXZlbiBhcyBlYXJseSBhcyB3aXRoIEZlZG9yYSAzNywgd2UgaGFkCi0KLSAg UnVubmluZyBzY3JpcHRsZXQ6IGZyZWVpcGEtc2VydmVyLXRydXN0LWFkLTQuMTAuMS0xLmZjMzcu eDg2XzY0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMzOC8z NDMKLVN5c3RlbSBoYXMgbm90IGJlZW4gYm9vdGVkIHdpdGggc3lzdGVtZCBhcyBpbml0IHN5c3Rl bSAoUElEIDEpLiBDYW4ndCBvcGVyYXRlLgotRmFpbGVkIHRvIGNvbm5lY3QgdG8gYnVzOiBIb3N0 IGlzIGRvd24KLVN5c3RlbSBoYXMgbm90IGJlZW4gYm9vdGVkIHdpdGggc3lzdGVtZCBhcyBpbml0 IHN5c3RlbSAoUElEIDEpLiBDYW4ndCBvcGVyYXRlLgotRmFpbGVkIHRvIGNvbm5lY3QgdG8gYnVz OiBIb3N0IGlzIGRvd24KLXdhcm5pbmc6ICVwb3N0KGZyZWVpcGEtc2VydmVyLXRydXN0LWFkLTQu MTAuMS0xLmZjMzcueDg2XzY0KSBzY3JpcHRsZXQgZmFpbGVkLAotZXhpdCBzdGF0dXMgMQotCi1F cnJvciBpbiBQT1NUSU4gc2NyaXB0bGV0IGluIHJwbSBwYWNrYWdlIGZyZWVpcGEtc2VydmVyLXRy dXN0LWFkCi0KLXdoZW4gaW5zdGFsbGluZyBmcmVlaXBhLXNlcnZlci10cnVzdC1hZCwgYnV0IHRo ZSB3aG9sZSBycG0gdHJhbnNhY3Rpb24gcGFzc2VkCi1hbmQgdGhlIGRuZiBjb21tYW5kIHJldHVy bmVkIHdpdGggZXhpdCAwLiBTbyB3ZSBkaWQgbm90IGNhcmUgYWJvdXQgdGhhdCBmYWlsdXJlCi1i ZWNhdXNlLCB3ZWxsLCBpdCBkaWQgbm90IGdldCByZXBvcnRlZCBpbiBhbnkgd2F5IGl0IGNvdWxk IGJlIGNhdWdodC4KLQotVGhpcyBoYXMgY2hhbmdlZCB3aXRoIHJlY2VudCByZWdpc3RyeS5mZWRv cmFwcm9qZWN0Lm9yZy9mZWRvcmE6cmF3aGlkZSBpbWFnZQotd2hpY2ggc2VlbSBzbyBoYXZlIHJw bS01Ljk5LjkxLTEuZmM0My54ODZfNjQuIE5vdyBpbnN0ZWFkIG9mIGV4aXRpbmcgd2l0aCAwIGFz Ci13aXRoIHByZXZpb3VzIHJlZ2lzdHJ5LmZlZG9yYXByb2plY3Qub3JnL2ZlZG9yYTpyYXdoaWRl IGltYWdlcywgdGhlIGRuZiBleGl0cwotd2l0aCAxLCBldmVuIGlmIHRoZSB2ZXJzaW9uIGZyZWVp cGEtc2VydmVyLXRydXN0LWFkLTQuMTIuMi0xNC5mYzQzLng4Nl82NCBpcwotdGhlIHNhbWUgaW4g Ym90aCBjYXNlcy4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTgy NgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNv bT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0t LQotIGZyZWVpcGEuc3BlYy5pbiB8IDggKysrKy0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNl cnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvZnJlZWlwYS5zcGVjLmlu IGIvZnJlZWlwYS5zcGVjLmluCi1pbmRleCAyYjk3YjExNzYuLjhiN2Y3MmE3MCAxMDA3NTUKLS0t LSBhL2ZyZWVpcGEuc3BlYy5pbgotKysrIGIvZnJlZWlwYS5zcGVjLmluCi1AQCAtMTMyNiw4ICsx MzI2LDggQEAgZmkKLSAlcG9zdCBzZXJ2ZXItdHJ1c3QtYWQKLSAle19zYmluZGlyfS91cGRhdGUt YWx0ZXJuYXRpdmVzIC0taW5zdGFsbCAle19saWJkaXJ9L2tyYjUvcGx1Z2lucy9saWJrcmI1L3dp bmJpbmRfa3JiNV9sb2NhdG9yLnNvIFwKLSAgICAgICAgIHdpbmJpbmRfa3JiNV9sb2NhdG9yLnNv IC9kZXYvbnVsbCA5MAotLS9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBkYnVz Ci0tL2Jpbi9zeXN0ZW1jdGwgcmVsb2FkLW9yLXRyeS1yZXN0YXJ0IG9kZGpvYmQKLSsvYmluL3N5 c3RlbWN0bCByZWxvYWQtb3ItdHJ5LXJlc3RhcnQgZGJ1cyA+L2Rldi9udWxsIDI+JjEgfHwgOgot Ky9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBvZGRqb2JkID4vZGV2L251bGwg Mj4mMSB8fCA6Ci0gCi0gCi0gJXBvc3R0cmFucyBzZXJ2ZXItdHJ1c3QtYWQKLUBAIC0xMzQ0LDgg KzEzNDQsOCBAQCBpZiBbICQxIC1lcSAwIF07IHRoZW4KLSAgICAgJXtfc2JpbmRpcn0vdXBkYXRl LWFsdGVybmF0aXZlcyAtLXJlbW92ZSB3aW5iaW5kX2tyYjVfbG9jYXRvci5zbyAvZGV2L251bGwK LSAgICAgIyBTa2lwIHN5c3RlbWN0bCBjYWxscyB3aGVuIGxlYXBwIHVwZ3JhZGUgaXMgaW4gcHJv Z3Jlc3MKLSAgICAgaWYgWyAteiAiJExFQVBQX0lQVV9JTl9QUk9HUkVTUyIgXSA7IHRoZW4KLS0g ICAgICAgIC9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBkYnVzCi0tICAgICAg ICAvYmluL3N5c3RlbWN0bCByZWxvYWQtb3ItdHJ5LXJlc3RhcnQgb2Rkam9iZAotKyAgICAgICAg L2Jpbi9zeXN0ZW1jdGwgcmVsb2FkLW9yLXRyeS1yZXN0YXJ0IGRidXMgPi9kZXYvbnVsbCAyPiYx IHx8IDoKLSsgICAgICAgIC9iaW4vc3lzdGVtY3RsIHJlbG9hZC1vci10cnktcmVzdGFydCBvZGRq b2JkID4vZGV2L251bGwgMj4mMSB8fCA6Ci0gICAgIGZpCi0gZmkKLSAKLS0tIAotMi41MS4wCi0K LQotRnJvbSAzYjFkMGUxYzc3NGI0ZWRlYjA4NDQwMThmNTBhMDBlYTMwZTU1ZWEwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRGF2aWQgSGFuaW5hIDxkaGFuaW5hQHJlZGhhdC5jb20+ Ci1EYXRlOiBXZWQsIDE2IEp1bCAyMDI1IDA3OjA4OjA0ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0gg MTYvNDddIEZpeCB0ZXJtaW5hbCBoZWlnaHQgZm9yIFJhd2hpZGUKLQotUmVwbGFjZXMgb2xkIGlv Y3RsIGZ1bmN0aW9uIHdpdGggc2h1dGlsLmdldF90ZXJtaW5hbF9zaXplLgotVGhpcyBzaG91bGQg YmUgbW9yZSB1bml2ZXJzYWwuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lz c3VlLzk4MjQKLVNpZ25lZC1vZmYtYnk6IERhdmlkIEhhbmluYSA8ZGhhbmluYUByZWRoYXQuY29t PgotUmV2aWV3ZWQtQnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgot UmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0g aXBhbGliL3V0aWwucHkgfCAxMSArKy0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2Vy dGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFsaWIvdXRpbC5weSBi L2lwYWxpYi91dGlsLnB5Ci1pbmRleCAxMjg0MjAxODEuLjAwMzZkMTQzYiAxMDA2NDQKLS0tLSBh L2lwYWxpYi91dGlsLnB5Ci0rKysgYi9pcGFsaWIvdXRpbC5weQotQEAgLTM1LDEwICszNSw3IEBA IGltcG9ydCBkbnMKLSBpbXBvcnQgZW5jb2RpbmdzCi0gaW1wb3J0IHN5cwotIGltcG9ydCBzc2wK LS1pbXBvcnQgdGVybWlvcwotLWltcG9ydCBmY250bAotIGltcG9ydCBzaHV0aWwKLS1pbXBvcnQg c3RydWN0Ci0gaW1wb3J0IHN1YnByb2Nlc3MKLSAKLSBpbXBvcnQgbmV0YWRkcgotQEAgLTEzMzUs NyArMTMzMiw3IEBAIGRlZiBub19tYXRjaGluZ19pbnRlcmZhY2VfZm9yX2lwX2FkZHJlc3Nfd2Fy bmluZyhhZGRyX2xpc3QpOgotICAgICAgICAgICAgICkKLSAKLSAKLS1kZWYgZ2V0X3Rlcm1pbmFs X2hlaWdodChmZD0xKToKLStkZWYgZ2V0X3Rlcm1pbmFsX2hlaWdodCgpOgotICAgICAiIiIKLSAg ICAgR2V0IGN1cnJlbnQgdGVybWluYWwgaGVpZ2h0Ci0gCi1AQCAtMTM0NSwxMSArMTM0Miw3IEBA IGRlZiBnZXRfdGVybWluYWxfaGVpZ2h0KGZkPTEpOgotICAgICBSZXR1cm5zOgotICAgICAgICAg aW50OiBUZXJtaW5hbCBoZWlnaHQKLSAgICAgIiIiCi0tICAgIHRyeToKLS0gICAgICAgIHJldHVy biBzdHJ1Y3QudW5wYWNrKAotLSAgICAgICAgICAgICdoaCcsIGZjbnRsLmlvY3RsKGZkLCB0ZXJt aW9zLlRJT0NHV0lOU1osIGInMTIzNCcpKVswXQotLSAgICBleGNlcHQgKElPRXJyb3IsIE9TRXJy b3IsIHN0cnVjdC5lcnJvcik6Ci0tICAgICAgICByZXR1cm4gb3MuZW52aXJvbi5nZXQoIkxJTkVT IiwgMjUpCi0rICAgIHJldHVybiBzaHV0aWwuZ2V0X3Rlcm1pbmFsX3NpemUoKS5saW5lcwotIAot IAotIGRlZiBnZXRfcGFnZXIoKToKLS0tIAotMi41MS4wCi0KLQotRnJvbSA0NWNjZTMxZTI1OTZk ZTJjOWI2MDQ4Njc0NTEwNTcyYzI0OGUyZWM5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDE1 IEp1bCAyMDI1IDEwOjUyOjAxICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMTcvNDddIGtkYjogcHJl dmVudCBkb3VibGUgY3Jhc2ggaW4gUkJDRCBBQ0wgZnJlZQotCi1hY2xfbGlzdCB3YXMgc2V0IHRv IHByZXYtPnRsX2RhdGFfY29udGVudHMgYW5kIGl0cyB2YWx1ZSBpcyBmcmVlZCBidXQKLXRoZW4g aXMgaXMgZnJlZWQgYWdhaW4gb3V0c2lkZSBvZiB0aGUgaWYoKS4gSnVzdCByZXNldCBhY2xfbGlz dCBwb2ludGVyCi1hcyBwcmV2LT50bF9kYXRhX2NvbnRlbnRzIGlzIHJlbW92ZWQgdW5jb25kaXRp b25hbGx5IG91dHNpZGUgb2YgdGhlIFJCQ0QKLUFDTCByZW1vdmFsLgotCi1SZWxhdGVkOiBodHRw czovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzkzNjcKLQotU2lnbmVkLW9mZi1ieTogQWxleGFu ZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0 ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tk Yl9wcmluY2lwYWxzLmMgfCAzICsrLQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX3By aW5jaXBhbHMuYyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX3ByaW5jaXBhbHMuYwotaW5kZXgg MTk5OThjMmEzLi5hN2U3N2U5NDAgMTAwNjQ0Ci0tLS0gYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tk Yl9wcmluY2lwYWxzLmMKLSsrKyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX3ByaW5jaXBhbHMu YwotQEAgLTIxNjAsNyArMjE2MCw4IEBAIHZvaWQgaXBhZGJfZnJlZV9wcmluY2lwYWwoa3JiNV9j b250ZXh0IGtjb250ZXh0LCBrcmI1X2RiX2VudHJ5ICplbnRyeSkKLSAgICAgICAgICAgICAgICAg Zm9yIChpID0gMDsgKGFjbF9saXN0ICE9IE5VTEwpICYmIChhY2xfbGlzdFtpXSAhPSBOVUxMKTsg aSsrKSB7Ci0gICAgICAgICAgICAgICAgICAgICBmcmVlKGFjbF9saXN0W2ldKTsKLSAgICAgICAg ICAgICAgICAgfQotLSAgICAgICAgICAgICAgICBmcmVlKGFjbF9saXN0KTsKLSsgICAgICAgICAg ICAgICAgLyogcHJldi0+dGxfZGF0YV9jb250ZW50cyB3aWxsIGJlIHJlbW92ZWQgYmVsb3cgKi8K LSsgICAgICAgICAgICAgICAgYWNsX2xpc3QgPSBOVUxMOwotICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgICBmcmVlKHByZXYtPnRsX2RhdGFfY29udGVudHMpOwotICAgICAgICAgICAgIGZyZWUo cHJldik7Ci0tLSAKLTIuNTEuMAotCi0KLUZyb20gMGM5YmEyYTAwNzVmMDIzMTU4MTA1MjEzNTdj ZjJlNWI1MmZjN2Q0MSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFN1ZGhpciBNZW5v biA8c3VtZW5vbkByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA5IEFwciAyMDI1IDEzOjEwOjU4ICsw NTMwCi1TdWJqZWN0OiBbUEFUQ0ggMTgvNDddIGlwYXRlc3RzOiBUZXN0cyBmb3IgaXBhLW1pZ3Jh dGUgdG9vbCB3aXRoIGxkaWYgZmlsZQotCi1UaGlzIHRlc3QgY2hlY2tzIHRoYXQgd2hlbiBpcGEt bWlncmF0ZSB0b29sCi11c2VzIGxkaWYgZmlsZSBpdCB3b3JrcyB3aXRob3V0IGFueSBlcnJvci4K LQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85Nzc2Ci0KLVNpZ25l ZC1vZmYtYnk6IFN1ZGhpciBNZW5vbiA8c3VtZW5vbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6 IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9i IENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRl biA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIC4uLi90ZXN0X2lwYV9pcGFfbWlncmF0aW9u LnB5ICAgICAgICAgICAgICAgICB8IDgwICsrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hh bmdlZCwgODAgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2lwYV9pcGFfbWlncmF0aW9uLnB5Ci1pbmRleCA5NWMyOTIzNGYuLmM2MjQ3ZTc3 MiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFfaXBhX21p Z3JhdGlvbi5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYV9pcGFf bWlncmF0aW9uLnB5Ci1AQCAtMTI2NSwzICsxMjY1LDgzIEBAIGNsYXNzIFRlc3RJUEFNaWdyYXRp b25XaXRoQUR0cnVzdChJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgIFsiaXBhIiwgImlk cmFuZ2Utc2hvdyIsIGFkX2RvbWFpbl9uYW1lICsgIl9pZF9yYW5nZSJdCi0gICAgICAgICApCi0g ICAgICAgICBhc3NlcnQgY21kMS5zdGRvdXRfdGV4dCA9PSBjbWQyLnN0ZG91dF90ZXh0Ci0rCi0r Ci0rY2xhc3MgVGVzdElQQU1pZ3JhdGV3aXRoQmFja3VwUmVzdG9yZShJbnRlZ3JhdGlvblRlc3Qp OgotKyAgICAiIiIKLSsgICAgVGVzdCBmb3IgaXBhLW1pZ3JhdGUgdG9vbCB3aXRoIGJhY2t1cCBm aWxlcy4KLSsgICAgVGhlIG1hc3RlciBhbmQgcmVwbGljYXNbMV0gYXJlIHVzZWQgdG8gY3JlYXRl IHRoZSBkYXRhIHNvdXJjZS4KLSsgICAgVGhlIHJlcGxpY2FzWzBdIGlzIHVzZWQgYXMgbmV3IHNl cnZlciwgcmV0cmlldmluZyBkYXRhIGZyb20gdGhlIHNvdXJjZS4KLSsgICAgcmVwbGljYXNbMV0g aXMgbmVlZGVkIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBzb3VyY2UgTERJRgotKyAgICBmaWxlIGNv bnRhaW5zIHJlcGxpY2F0aW9uIGF0dHJpYnV0ZXMgd2l0aAotKyAgICBvcHRpb25zIChmb3IgaW5z dGFuY2Ugb2JqZWN0Q2xhc3M7dnVjc24tNjdmN2IzZGUwMDAzMDAwMzAwMDApLgotKyAgICAiIiIK LSsgICAgbnVtX3JlcGxpY2FzID0gMgotKyAgICB0b3BvbG9neSA9ICJsaW5lIgotKwotKyAgICBA Y2xhc3NtZXRob2QKLSsgICAgZGVmIGluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICB0YXNrcy5p bnN0YWxsX21hc3RlcihjbHMubWFzdGVyLCBzZXR1cF9kbnM9VHJ1ZSwgc2V0dXBfa3JhPVRydWUp Ci0rICAgICAgICBwcmVwYXJlX2lwYV9zZXJ2ZXIoY2xzLm1hc3RlcikKLSsgICAgICAgIHRhc2tz Lmluc3RhbGxfbWFzdGVyKGNscy5yZXBsaWNhc1swXSwgc2V0dXBfZG5zPVRydWUsIHNldHVwX2ty YT1UcnVlKQotKyAgICAgICAgdGFza3MuaW5zdGFsbF9yZXBsaWNhKGNscy5tYXN0ZXIsIGNscy5y ZXBsaWNhc1sxXSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXR1cF9kbnM9VHJ1 ZSwgc2V0dXBfa3JhPVRydWUpCi0rCi0rICAgIEBweXRlc3QuZml4dHVyZQotKyAgICBkZWYgY3Jl YXRlX2RlbGV0ZV91c2VyKHNlbGYpOgotKyAgICAgICAgIiIiCi0rICAgICAgICBUaGlzIGZpeHR1 cmVzIGNyZWF0ZXMgYSBsZGFwdXNlciB1c2luZyB0aGUKLSsgICAgICAgIGxkaWYgZmlsZSBhbmQg dGhlbiBkZWxldGUgdGhlIHVzZXJzCi0rICAgICAgICAiIiIKLSsgICAgICAgIHNlbGYubWFzdGVy LnJ1bl9jb21tYW5kKFsnaXBhJywgJ3VzZXItYWRkJywgJ3Rlc3R1c2VyJywKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnLS1maXJzdCcsICd0ZXN0JywKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnLS1sYXN0JywgJ3VzZXInXSkKLSsgICAgICAgIHNlbGYubWFz dGVyLnJ1bl9jb21tYW5kKFsnaXBhJywgJ3VzZXItZGVsJywgJ3Rlc3R1c2VyJ10pCi0rICAgICAg ICB5aWVsZAotKwotKyAgICBkZWYgdGVzdF9pcGFfbWlncmF0ZV9zdGFnZV9tb2RlKHNlbGYsIGNy ZWF0ZV9kZWxldGVfdXNlcik6Ci0rICAgICAgICAiIiIKLSsgICAgICAgIFRoaXMgdGVzdCBjaGVj a3MgaXBhLW1pZ3JhdGUgd2l0aCBMRElGIGZpbGUKLSsgICAgICAgIGZyb20gYmFja3VwIG9mIHJl bW90ZSBzZXJ2ZXIgaXMgc3VjY2Vzc2Z1bC4KLSsgICAgICAgICIiIgotKyAgICAgICAgRVJSX01T RyA9ICgKLSsgICAgICAgICAgICAiZXJyb3I6IGNoYW5nZSBjb2xsaWRlZCB3aXRoIGFub3RoZXIg Y2hhbmdlIgotKyAgICAgICAgKQotKyAgICAgICAgZGFzaGVkX2RvbWFpbl9uYW1lID0gc2VsZi5t YXN0ZXIuZG9tYWluLnJlYWxtLnJlcGxhY2UoCi0rICAgICAgICAgICAgIi4iLCAnLScKLSsgICAg ICAgICkKLSsgICAgICAgIERCX0xESUZfRklMRSA9ICd7fS11c2VyUm9vdC5sZGlmJy5mb3JtYXQo Ci0rICAgICAgICAgICAgZGFzaGVkX2RvbWFpbl9uYW1lCi0rICAgICAgICApCi0rICAgICAgICBT Q0hFTUFfTERJRl9GSUxFID0gJ3t9JycvY29uZmlnX2ZpbGVzL3NjaGVtYS85OXVzZXIubGRpZicu Zm9ybWF0KAotKyAgICAgICAgICAgIGRhc2hlZF9kb21haW5fbmFtZSkKLSsgICAgICAgIENPTkZJ R19MRElGX0ZJTEUgPSAne30nJy9jb25maWdfZmlsZXMvZHNlLmxkaWYnLmZvcm1hdCgKLSsgICAg ICAgICAgICBkYXNoZWRfZG9tYWluX25hbWUpCi0rICAgICAgICBwYXJhbSA9IFsKLSsgICAgICAg ICAgICAnLW4nLCAnLWcnLCBDT05GSUdfTERJRl9GSUxFLCAnLW0nLCBTQ0hFTUFfTERJRl9GSUxF LAotKyAgICAgICAgICAgICctZicsIERCX0xESUZfRklMRQotKyAgICAgICAgXQotKyAgICAgICAg dGFza3Mua2luaXRfYWRtaW4oc2VsZi5tYXN0ZXIpCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1p bihzZWxmLnJlcGxpY2FzWzBdKQotKyAgICAgICAgYmFja3VwX3BhdGggPSB0YXNrcy5nZXRfYmFj a3VwX2RpcihzZWxmLm1hc3RlcikKLSsgICAgICAgIHJlbW90ZV9pcGFfdGFyX2ZpbGUgPSBiYWNr dXBfcGF0aCArICcvaXBhLWZ1bGwudGFyJwotKyAgICAgICAgaXBhX3Rhcl9maWxlID0gc2VsZi5t YXN0ZXIuZ2V0X2ZpbGVfY29udGVudHMoCi0rICAgICAgICAgICAgcmVtb3RlX2lwYV90YXJfZmls ZQotKyAgICAgICAgKQotKyAgICAgICAgcmVwbGljYV9maWxlX25hbWUgPSAiL3RtcC9pcGEtZnVs bC50YXIiCi0rICAgICAgICBzZWxmLnJlcGxpY2FzWzBdLnB1dF9maWxlX2NvbnRlbnRzKAotKyAg ICAgICAgICAgIHJlcGxpY2FfZmlsZV9uYW1lLCBpcGFfdGFyX2ZpbGUKLSsgICAgICAgICkKLSsg ICAgICAgIHNlbGYucmVwbGljYXNbMF0ucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWycvdXNy L2Jpbi90YXInLCAnLXh2ZicsIHJlcGxpY2FfZmlsZV9uYW1lXQotKyAgICAgICAgKQotKyAgICAg ICAgcmVzdWx0ID0gcnVuX21pZ3JhdGUoCi0rICAgICAgICAgICAgc2VsZi5yZXBsaWNhc1swXSwK LSsgICAgICAgICAgICAic3RhZ2UtbW9kZSIsCi0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIuaG9z dG5hbWUsCi0rICAgICAgICAgICAgImNuPURpcmVjdG9yeSBNYW5hZ2VyIiwKLSsgICAgICAgICAg ICBzZWxmLm1hc3Rlci5jb25maWcuYWRtaW5fcGFzc3dvcmQsCi0rICAgICAgICAgICAgZXh0cmFf YXJncz1wYXJhbSwKLSsgICAgICAgICkKLSsgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29k ZSA9PSAwCi0rICAgICAgICBhc3NlcnQgRVJSX01TRyBub3QgaW4gcmVzdWx0LnN0ZGVycl90ZXh0 Ci0tLSAKLTIuNTEuMAotCi0KLUZyb20gNmVlMjExMDBhYWE3ZmZiODVmY2ViZDI5MDMzYzI3ZjNm MjU5Zjc3MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJl bmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24sIDI4IEp1bCAyMDI1IDA4OjUzOjA2ICsw MjAwCi1TdWJqZWN0OiBbUEFUQ0ggMTkvNDddIGlwYXRlc3RzOiBOaWdodGx5IGRlZmluaXRpb25z IGZvcgotIFRlc3RJUEFNaWdyYXRld2l0aEJhY2t1cFJlc3RvcmUKLQotU2lnbmVkLW9mZi1ieTog RmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9y ZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0 dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gLi4uL3ByY2lfZGVmaW5pdGlvbnMv bmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbCAgIHwgMTIgKysrKysrKysrKysrCi0gLi4uL25p Z2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCAgICAgICAgICAgIHwgMTMgKysrKysr KysrKysrKwotIDIgZmlsZXMgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0 IGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1s IGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1s Ci1pbmRleCBmMGJkYzExMzkuLmJjMmExMGRlNCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lf ZGVmaW5pdGlvbnMvbmlnaHRseV9pcGEtNC0xMl9sYXRlc3QueWFtbAotKysrIGIvaXBhdGVzdHMv cHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdC55YW1sCi1AQCAtMjE1NCw2 ICsyMTU0LDE4IEBAIGpvYnM6Ci0gICAgICAgICB0aW1lb3V0OiA3MjAwCi0gICAgICAgICB0b3Bv bG9neTogKmFkX21hc3Rlcl8xcmVwbF8xY2xpZW50Ci0gCi0rICBmZWRvcmEtbGF0ZXN0LWlwYS00 LTEyL3Rlc3RfSVBBTWlncmF0ZUJhY2t1cFJlc3RvcmU6Ci0rICAgIHJlcXVpcmVzOiBbZmVkb3Jh LWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0rICAgIGpvYjoKLSsg ICAgICBjbGFzczogUnVuUHl0ZXN0Ci0rICAgICAgYXJnczoKLSsgICAgICAgIGJ1aWxkX3VybDog J3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkX3VybH0nCi0rICAgICAgICB0ZXN0X3N1aXRl OiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfaXBhX2lwYV9taWdyYXRpb24ucHk6OlRlc3RJUEFNaWdy YXRld2l0aEJhY2t1cFJlc3RvcmUKLSsgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBhLTQtMTItbGF0 ZXN0Ci0rICAgICAgICB0aW1lb3V0OiA3MjAwCi0rICAgICAgICB0b3BvbG9neTogKm1hc3Rlcl8y cmVwbF8xY2xpZW50Ci0rCi0gICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL3Rlc3RfY29ja3BpdDoK LSAgICAgcmVxdWlyZXM6IFtmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkXQotICAgICBwcmlv cml0eTogNTAKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlf aXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMv bmlnaHRseV9pcGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi1pbmRleCA4NTFkNjQ0MGMuLmZj MzExODZkZiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvbmlnaHRseV9p cGEtNC0xMl9sYXRlc3Rfc2VsaW51eC55YW1sCi0rKysgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRp b25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbAotQEAgLTIzMjYsNiArMjMy NiwxOSBAQCBqb2JzOgotICAgICAgICAgdGltZW91dDogNzIwMAotICAgICAgICAgdG9wb2xvZ3k6 ICphZF9tYXN0ZXJfMXJlcGxfMWNsaWVudAotIAotKyAgZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi90 ZXN0X0lQQU1pZ3JhdGVCYWNrdXBSZXN0b3JlOgotKyAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRl c3QtaXBhLTQtMTIvYnVpbGRdCi0rICAgIHByaW9yaXR5OiA1MAotKyAgICBqb2I6Ci0rICAgICAg Y2xhc3M6IFJ1blB5dGVzdAotKyAgICAgIGFyZ3M6Ci0rICAgICAgICBidWlsZF91cmw6ICd7ZmVk b3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF91cmx9JwotKyAgICAgICAgc2VsaW51eF9lbmZvcmNp bmc6IFRydWUKLSsgICAgICAgIHRlc3Rfc3VpdGU6IHRlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFf aXBhX21pZ3JhdGlvbi5weTo6VGVzdElQQU1pZ3JhdGV3aXRoQmFja3VwUmVzdG9yZQotKyAgICAg ICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRpbWVvdXQ6IDcyMDAK LSsgICAgICAgIHRvcG9sb2d5OiAqbWFzdGVyXzJyZXBsXzFjbGllbnQKLSsKLSAgIGZlZG9yYS1s YXRlc3QtaXBhLTQtMTIvdGVzdF9jb2NrcGl0OgotICAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRl c3QtaXBhLTQtMTIvYnVpbGRdCi0gICAgIHByaW9yaXR5OiA1MAotLS0gCi0yLjUxLjAKLQotCi1G cm9tIDc4ODdiMDIxMWNkY2Q2ZmJkOWEzZDg2ODgyZmFiZDI2ZTUwYmNhZGQgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBTdGFuaXNsYXYgTGV2aW4gPHNsZXZAYWx0bGludXgub3JnPgot RGF0ZTogVGh1LCAxNyBKdWwgMjAyNSAxNzoyNTo1OSArMDMwMAotU3ViamVjdDogW1BBVENIIDIw LzQ3XSBpbnN0YWxsOiBtYWtlIHVzZSBvZiBzaGFyZWQgdGVtcCBkaXJlY3RvcnkgZm9yIGhzbQot IHZhbGlkYXRpb24KLQotRHVyaW5nIGhzbSB2YWxpZGF0aW9uIHRlbXBvcmFyeSBkaXJlY3Rvcnkg YW5kIGZpbGVzIGFyZSBwcmVwYXJlZAotYnkgcm9vdCBpbiBiYXNlIHRlbXBvcmFyeSBkaXJlY3Rv cnkgd2hpY2ggY2FuIGJlIHByaXZhdGUgYW5kCi10aGVyZWJ5IG5vdCByZWFkYWJsZSBieSBhbnli b2R5IGJ1dCByb290LiBUaGUgdmFsaWRhdGlvbiBpbiBpdHMKLXR1cm4sIHJ1biBzb21lIGNoZWNr cyBhcyBwa2l1c2VyIGFuZCBmYWlsIHRvIHJlYWQgbm90IGFjY2Vzc2libGUKLXJlc291cmNlcyBp biBzdWNoIGEgY2FzZS4KLQotSGVuY2UsIHRvIG1ha2UgdGhlbSBhdmFpbGFibGUgc29tZSBzaGFy ZWQgcGxhY2UgbmVlZCB0byBiZSB1c2VkLAotZS5nLiAvdG1wLgotCi1GaXhlczogaHR0cHM6Ly9w YWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85ODMxCi1TaWduZWQtb2ZmLWJ5OiBTdGFuaXNsYXYgTGV2 aW4gPHNsZXZAYWx0bGludXgub3JnPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3Jp dHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvY2EucHkgfCAxMiArKysr KysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKLQotZGlmZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2NhLnB5IGIvaXBhc2VydmVyL2lu c3RhbGwvY2EucHkKLWluZGV4IDI5NTlhY2VlZC4uZDBkOTg4N2U1IDEwMDY0NAotLS0tIGEvaXBh c2VydmVyL2luc3RhbGwvY2EucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2NhLnB5Ci1AQCAt MTEsNiArMTEsOCBAQCBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uLCBhYnNv bHV0ZV9pbXBvcnQKLSBpbXBvcnQgZW51bQotIGltcG9ydCBsb2dnaW5nCi0gaW1wb3J0IG9zLnBh dGgKLStpbXBvcnQgdGVtcGZpbGUKLSsKLSBpbXBvcnQgcGtpLnV0aWwKLSAKLSBpbXBvcnQgc2l4 Ci1AQCAtMjEyLDcgKzIxNCwxMSBAQCBkZWYgaHNtX3ZhbGlkYXRvcih0b2tlbl9uYW1lLCB0b2tl bl9saWJyYXJ5LCB0b2tlbl9wYXNzd29yZCk6Ci0gICAgIHBraXVzZXIgPSBjb25zdGFudHMuUEtJ X1VTRVIKLSAgICAgcGtpZ3JvdXAgPSBjb25zdGFudHMuUEtJX0dST1VQCi0gICAgIGdyb3VwX2xp c3QgPSBvcy5nZXRncm91cGxpc3QocGtpdXNlciwgcGtpZ3JvdXAuZ2lkKQotLSAgICB3aXRoIGNl cnRkYi5OU1NEYXRhYmFzZSgpIGFzIHRlbXBuc3NkYjoKLSsgICAgd2l0aCAoCi0rICAgICAgICB0 ZW1wZmlsZS5UZW1wb3JhcnlEaXJlY3RvcnkoZGlyPXBhdGhzLlRNUCkgYXMgdGVtcG5zc2RpciwK LSsgICAgICAgIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSJ3KyIsIGRpcj1wYXRo cy5UTVApIGFzIHB3ZGZpbGUsCi0rICAgICk6Ci0rICAgICAgICB0ZW1wbnNzZGIgPSBjZXJ0ZGIu TlNTRGF0YWJhc2UobnNzZGlyPXRlbXBuc3NkaXIpCi0gICAgICAgICB0ZW1wbnNzZGIuY3JlYXRl X2RiKHVzZXI9c3RyKHBraXVzZXIpLCBncm91cD1zdHIocGtpZ3JvdXApKQotICAgICAgICAgIyBU cnkgYWRkaW5nIHRoZSB0b2tlbiBsaWJyYXJ5IHRvIHRoZSB0ZW1wb3JhcnkgZGF0YWJhc2UgaW4K LSAgICAgICAgICMgY2FzZSBpdCBpc24ndCBhbHJlYWR5IGF2YWlsYWJsZS4gSWdub3JlIGFsbCBl cnJvcnMuCi1AQCAtMjUwLDcgKzI1Niw5IEBAIGRlZiBoc21fdmFsaWRhdG9yKHRva2VuX25hbWUs IHRva2VuX2xpYnJhcnksIHRva2VuX3Bhc3N3b3JkKToKLSAgICAgICAgICAgICAgICAgIlRva2Vu IG5hbWVkICclcycgd2FzIG5vdCBmb3VuZC4gQ2hlY2sgcGVybWlzc2lvbnMiCi0gICAgICAgICAg ICAgICAgICUgdG9rZW5fbmFtZQotICAgICAgICAgICAgICkKLS0gICAgICAgIHB3ZGZpbGUgPSBp cGF1dGlsLndyaXRlX3RtcF9maWxlKHRva2VuX3Bhc3N3b3JkKQotKwotKyAgICAgICAgcHdkZmls ZS53cml0ZSh0b2tlbl9wYXNzd29yZCkKLSsgICAgICAgIHB3ZGZpbGUuZmx1c2goKQotICAgICAg ICAgb3MuZmNob3duKHB3ZGZpbGUuZmlsZW5vKCksIHBraXVzZXIudWlkLCBwa2lncm91cC5naWQp Ci0gICAgICAgICBhcmdzID0gWwotICAgICAgICAgICAgIHBhdGhzLkNFUlRVVElMLAotLS0gCi0y LjUxLjAKLQotCi1Gcm9tIGJhZTc4MDg0M2VmMjZkYTFkMDg3NjA4NjIwNWNkYTlmNTkwZTljMDEg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbnRvbmlvIFRvcnJlcyA8YW50b3JyZXNA cmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjQgSnVuIDIwMjUgMTM6NDE6MTcgKzAyMDAKLVN1Ympl Y3Q6IFtQQVRDSCAyMS80N10gZG5zOiBkaXNhYmxlIGFsbCBwcmV2aW91cyBVbmJvdW5kIGNvbmZp Z3VyYXRpb24gYmVmb3JlCi0gZGVwbG95aW5nIG91cnMKLQotUHJldmlvdXMgY29uZmlndXJhdGlv biBmcm9tIGFub3RoZXIgcGFja2FnZXMgbWlnaHQgYnJlYWsgb3VyIFVuYm91bmQKLXNldHVwLiBS ZW5hbWUgdGhlIGNvbmZpZyBmaWxlcyB0byBkaXNhYmxlIHRoZW0gYmVmb3JlIGRlcGxveWluZyBv dXIKLWNvbmZpZ3VyYXRpb24uCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lz c3VlLzk4MTQKLVNpZ25lZC1vZmYtYnk6IEFudG9uaW8gVG9ycmVzIDxhbnRvcnJlc0ByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IFRob21hcyBXb2VybmVyIDx0d29lcm5lckByZWRoYXQuY29tPgot UmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0g aXBhY2xpZW50L2luc3RhbGwvY2xpZW50LnB5ICAgICAgIHwgMjkgKysrKysrKysrKysrKysrKysr KysrKysrKystLS0KLSBpcGFwbGF0Zm9ybS9iYXNlL3BhdGhzLnB5ICAgICAgICAgfCAgMSArCi0g aXBhc2VydmVyL2luc3RhbGwvYmluZGluc3RhbmNlLnB5IHwgMTcgKysrKysrKysrKysrKysrLS0K LSBpcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkgICAgICAgICAgfCAxMSArKysrKysrKysrLQotIDQg ZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL2lwYWNsaWVudC9pbnN0YWxsL2NsaWVudC5weSBiL2lwYWNsaWVudC9pbnN0YWxsL2Ns aWVudC5weQotaW5kZXggOTZlOTEyNjhmLi4xODg1ZTRhOGQgMTAwNjQ0Ci0tLS0gYS9pcGFjbGll bnQvaW5zdGFsbC9jbGllbnQucHkKLSsrKyBiL2lwYWNsaWVudC9pbnN0YWxsL2NsaWVudC5weQot QEAgLTE2NTYsNyArMTY1Niw3IEBAIGRlZiBnZXRfc2VydmVyX2Nvbm5lY3Rpb25faW50ZXJmYWNl KHNlcnZlcik6Ci0gICAgIHJhaXNlIFJ1bnRpbWVFcnJvcihtc2cpCi0gCi0gCi0tZGVmIGNsaWVu dF9kbnMoc2VydmVyLCBob3N0bmFtZSwgb3B0aW9ucyk6Ci0rZGVmIGNsaWVudF9kbnMoc2VydmVy LCBob3N0bmFtZSwgb3B0aW9ucywgc3RhdGVzdG9yZSk6Ci0gCi0gICAgIHRyeToKLSAgICAgICAg IHZlcmlmeV9ob3N0X3Jlc29sdmFibGUoaG9zdG5hbWUpCi1AQCAtMTY3MiwxMiArMTY3MiwyMiBA QCBkZWYgY2xpZW50X2RucyhzZXJ2ZXIsIGhvc3RuYW1lLCBvcHRpb25zKToKLSAKLSAgICAgIyBT ZXR1cCBETlMgb3ZlciBUTFMKLSAgICAgaWYgb3B0aW9ucy5kbnNfb3Zlcl90bHM6Ci0rICAgICAg ICBmc3RvcmUgPSBzeXNyZXN0b3JlLkZpbGVTdG9yZShwYXRocy5JUEFfQ0xJRU5UX1NZU1JFU1RP UkUpCi0rICAgICAgICBzdGF0ZXN0b3JlLmJhY2t1cF9zdGF0ZSgiZG5zX292ZXJfdGxzIiwgImVu YWJsZWQiLCBUcnVlKQotKyAgICAgICAgc2F2ZV9zdGF0ZShzZXJ2aWNlcy5rbm93bnNlcnZpY2Vz WyJ1bmJvdW5kIl0sIHN0YXRlc3RvcmUpCi0gICAgICAgICAjIHNldHVwIGFuZCBlbmFibGUgVW5i b3VuZCBhcyByZXNvbHZlcgotICAgICAgICAgc2VydmVyX2lwID0gc3RyKGxpc3QoZG5zdXRpbC5y ZXNvbHZlX2lwX2FkZHJlc3NlcyhzZXJ2ZXIpKVswXSkKLSAgICAgICAgIGZvcndhcmRfYWRkciA9 ICJmb3J3YXJkLWFkZHI6ICVzIyVzIiAlIChzZXJ2ZXJfaXAsIHNlcnZlcikKLSAgICAgICAgICMg bW9kdWxlX2NvbmZpZ19pdGVyYXRvciBpcyBjb21tZW50ZWQgb3V0IGlmIEROU1NFQyB2YWxpZGF0 aW9uIGlzCi0gICAgICAgICAjIG5vdCBkaXNhYmxlZC4KLSAgICAgICAgIG1vZHVsZV9jb25maWdf aXRlcmF0b3IgPSAnJyBpZiBvcHRpb25zLm5vX2Ruc3NlY192YWxpZGF0aW9uIGVsc2UgJyMgJwot KyAgICAgICAgIyBiYWNrdXAgYW5kIHJlbW92ZSBhbGwgcHJldmlvdXMgVW5ib3VuZCBjb25maWd1 cmF0aW9uCi0rICAgICAgICBmb3IgZmlsZW5hbWUgaW4gb3MubGlzdGRpcihwYXRocy5VTkJPVU5E X0NPTkZJR19ESVIpOgotKyAgICAgICAgICAgIGZpbGVwYXRoID0gb3MucGF0aC5qb2luKHBhdGhz LlVOQk9VTkRfQ09ORklHX0RJUiwgZmlsZW5hbWUpCi0rICAgICAgICAgICAgaWYgZmlsZXBhdGgg PT0gcGF0aHMuVU5CT1VORF9DT05GOgotKyAgICAgICAgICAgICAgICBjb250aW51ZQotKyAgICAg ICAgICAgIGZzdG9yZS5iYWNrdXBfZmlsZShmaWxlcGF0aCkKLSsgICAgICAgICAgICByZW1vdmVf ZmlsZShmaWxlcGF0aCkKLSAgICAgICAgIGlwYXV0aWwuY29weV90ZW1wbGF0ZV9maWxlKAotICAg ICAgICAgICAgIHBhdGhzLlVOQk9VTkRfQ09ORl9TUkMsCi0gICAgICAgICAgICAgcGF0aHMuVU5C T1VORF9DT05GLAotQEAgLTE3MTAsNyArMTcyMCw2IEBAIGRlZiBjbGllbnRfZG5zKHNlcnZlciwg aG9zdG5hbWUsIG9wdGlvbnMpOgotICAgICAgICAgICAgICJzZWFyY2ggLiIsCi0gICAgICAgICAg ICAgIm5hbWVzZXJ2ZXIgMTI3LjAuMC41NVxuIgotICAgICAgICAgXQotLSAgICAgICAgZnN0b3Jl ID0gc3lzcmVzdG9yZS5GaWxlU3RvcmUocGF0aHMuSVBBX0NMSUVOVF9TWVNSRVNUT1JFKQotICAg ICAgICAgZnN0b3JlLmJhY2t1cF9maWxlKHBhdGhzLlJFU09MVl9DT05GKQotICAgICAgICAgd2l0 aCBvcGVuKHBhdGhzLlJFU09MVl9DT05GLCAndycpIGFzIGY6Ci0gICAgICAgICAgICAgZi53cml0 ZSgnXG4nLmpvaW4oY2ZnKSkKLUBAIC0zMjQyLDcgKzMyNTEsNyBAQCBkZWYgX2luc3RhbGwob3B0 aW9ucywgdGRpY3QpOgotICAgICB0YXNrcy5pbnNlcnRfY2FfY2VydHNfaW50b19zeXN0ZW13aWRl X2NhX3N0b3JlKGNhX2NlcnRzKQotIAotICAgICBpZiBub3Qgb3B0aW9ucy5vbl9tYXN0ZXI6Ci0t ICAgICAgICBjbGllbnRfZG5zKGNsaV9zZXJ2ZXJbMF0sIGhvc3RuYW1lLCBvcHRpb25zKQotKyAg ICAgICAgY2xpZW50X2RucyhjbGlfc2VydmVyWzBdLCBob3N0bmFtZSwgb3B0aW9ucywgc3RhdGVz dG9yZSkKLSAKLSAgICAgdXBkYXRlX3NzaF9rZXlzKGhvc3RuYW1lLCBwYXRocy5TU0hfQ09ORklH X0RJUiwgb3B0aW9ucywgY2xpX3NlcnZlclswXSkKLSAKLUBAIC0zNjMyLDYgKzM2NDEsMjAgQEAg ZGVmIHVuaW5zdGFsbChvcHRpb25zKToKLSAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0gICAg ICAgICAgICAgcGFzcwotIAotKyAgICAjIFJlc3RvcmUgdW5ib3VuZCB0byBpdHMgb3JpZ2luYWwg c3RhdHVzCi0rICAgIGlmIHN0YXRlc3RvcmUucmVzdG9yZV9zdGF0ZSgiZG5zX292ZXJfdGxzIiwg ImVuYWJsZWQiKToKLSsgICAgICAgIHVuYm91bmQgPSBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyd1 bmJvdW5kJ10KLSsgICAgICAgIGlmIG5vdCBzdGF0ZXN0b3JlLnJlc3RvcmVfc3RhdGUoJ3VuYm91 bmQnLCAncnVubmluZycpOgotKyAgICAgICAgICAgIHVuYm91bmQuc3RvcCgpCi0rICAgICAgICBp ZiBub3Qgc3RhdGVzdG9yZS5yZXN0b3JlX3N0YXRlKCd1bmJvdW5kJywgJ2VuYWJsZWQnKToKLSsg ICAgICAgICAgICB1bmJvdW5kLmRpc2FibGUoKQotKyAgICAgICAgIyByZXN0b3JlIHVuYm91bmQg Y29uZmlnIGZpbGVzIHRoYXQgd2VyZSByZW1vdmVkIGR1cmluZyBJUEEgaW5zdGFsbAotKyAgICAg ICAgcmVtb3ZlX2ZpbGUocGF0aHMuVU5CT1VORF9DT05GKQotKyAgICAgICAgZm9yIGZpbGVuYW1l LCBmaWxlaW5mbyBpbiBmc3RvcmUuZmlsZXMuaXRlbXMoKToKLSsgICAgICAgICAgICBpZiBwYXRo cy5VTkJPVU5EX0NPTkZJR19ESVIgaW4gZmlsZWluZm86Ci0rICAgICAgICAgICAgICAgIGZzdG9y ZS5yZXN0b3JlX2ZpbGUoCi0rICAgICAgICAgICAgICAgICAgICBvcy5wYXRoLmpvaW4ocGF0aHMu VU5CT1VORF9DT05GSUdfRElSLCBmaWxlbmFtZSkpCi0rCi0gICAgIGxvZ2dlci5pbmZvKCJEaXNh YmxpbmcgY2xpZW50IEtlcmJlcm9zIGFuZCBMREFQIGNvbmZpZ3VyYXRpb25zIikKLSAgICAgd2Fz X3Nzc2RfaW5zdGFsbGVkID0gRmFsc2UKLSAgICAgd2FzX3NzaGRfY29uZmlndXJlZCA9IEZhbHNl Ci1kaWZmIC0tZ2l0IGEvaXBhcGxhdGZvcm0vYmFzZS9wYXRocy5weSBiL2lwYXBsYXRmb3JtL2Jh c2UvcGF0aHMucHkKLWluZGV4IGE1YmNhNzg5Yi4uOGI2Mjk3MWY5IDEwMDY0NAotLS0tIGEvaXBh cGxhdGZvcm0vYmFzZS9wYXRocy5weQotKysrIGIvaXBhcGxhdGZvcm0vYmFzZS9wYXRocy5weQot QEAgLTEwMiw2ICsxMDIsNyBAQCBjbGFzcyBCYXNlUGF0aE5hbWVzcGFjZToKLSAgICAgTkFNRURf TUFOQUdFRF9LRVlTX0RJUiA9ICIvdmFyL25hbWVkL2R5bmFtaWMiCi0gICAgIE5BTUVEX0NSWVBU T19QT0xJQ1lfRklMRSA9IE5vbmUKLSAgICAgVU5CT1VORF9DT05GX1NSQyA9ICcvdXNyL3NoYXJl L2lwYS9jbGllbnQvdW5ib3VuZC5jb25mLnRlbXBsYXRlJwotKyAgICBVTkJPVU5EX0NPTkZJR19E SVIgPSAiL2V0Yy91bmJvdW5kL2NvbmYuZC8iCi0gICAgIFVOQk9VTkRfQ09ORiA9ICIvZXRjL3Vu Ym91bmQvY29uZi5kL3p6ei1pcGEuY29uZiIKLSAgICAgTlNMQ0RfQ09ORiA9ICIvZXRjL25zbGNk LmNvbmYiCi0gICAgIE5TU19MREFQX0NPTkYgPSAiL2V0Yy9uc3NfbGRhcC5jb25mIgotZGlmZiAt LWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2JpbmRpbnN0YW5jZS5weSBiL2lwYXNlcnZlci9pbnN0 YWxsL2JpbmRpbnN0YW5jZS5weQotaW5kZXggMGNjMWYxMzI1Li5lYTRkNGJmMGUgMTAwNjQ0Ci0t LS0gYS9pcGFzZXJ2ZXIvaW5zdGFsbC9iaW5kaW5zdGFuY2UucHkKLSsrKyBiL2lwYXNlcnZlci9p bnN0YWxsL2JpbmRpbnN0YW5jZS5weQotQEAgLTY5MCw2ICs2OTAsMTAgQEAgY2xhc3MgQmluZElu c3RhbmNlKHNlcnZpY2UuU2VydmljZSk6Ci0gICAgICAgICBzZWxmLnJldmVyc2Vfem9uZXMgPSBy ZXZlcnNlX3pvbmVzCi0gCi0gICAgICAgICBzZWxmLnNzdG9yZS5iYWNrdXBfc3RhdGUoImRuc19v dmVyX3RscyIsICJlbmFibGVkIiwgZG5zX292ZXJfdGxzKQotKyAgICAgICAgc2VsZi5zc3RvcmUu YmFja3VwX3N0YXRlKCJ1bmJvdW5kIiwgInJ1bm5pbmciLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlcnZpY2VzLmtub3duc2VydmljZXNbInVuYm91bmQiXS5pc19ydW5uaW5n KCkpCi0rICAgICAgICBzZWxmLnNzdG9yZS5iYWNrdXBfc3RhdGUoInVuYm91bmQiLCAiZW5hYmxl ZCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmljZXMua25vd25zZXJ2 aWNlc1sidW5ib3VuZCJdLmlzX2VuYWJsZWQoKSkKLSAKLSAgICAgICAgIGlmIG5vdCB6b25lbWdy OgotICAgICAgICAgICAgIHNlbGYuem9uZW1nciA9ICdob3N0bWFzdGVyLiVzJyAlIG5vcm1hbGl6 ZV96b25lKHNlbGYuZG9tYWluKQotQEAgLTEzODIsOCArMTM4NiwxNyBAQCBjbGFzcyBCaW5kSW5z dGFuY2Uoc2VydmljZS5TZXJ2aWNlKToKLSAgICAgICAgIGlmIHNlbGYuc3N0b3JlLnJlc3RvcmVf c3RhdGUoImRuc19vdmVyX3RscyIsICJlbmFibGVkIik6Ci0gICAgICAgICAgICAgaWYgbm90IHNl bGYuc3N0b3JlLnJlc3RvcmVfc3RhdGUoImRuc19vdmVyX3RscyIsICJleHRlcm5hbF9jcnQiKToK LSAgICAgICAgICAgICAgICAgY2VydG1vbmdlci5zdG9wX3RyYWNraW5nKGNlcnRmaWxlPXBhdGhz LkJJTkRfRE5TX09WRVJfVExTX0NSVCkKLS0gICAgICAgICAgICBzZXJ2aWNlcy5rbm93bnNlcnZp Y2VzWyJ1bmJvdW5kIl0uZGlzYWJsZSgpCi0tICAgICAgICAgICAgc2VydmljZXMua25vd25zZXJ2 aWNlc1sidW5ib3VuZCJdLnN0b3AoKQotKyAgICAgICAgICAgICMgb25seSBkaXNhYmxlIHVuYm91 bmQgaWYgaXQgd2FzIGJlZm9yZSBJUEEgd2FzIGRlcGxveWVkCi0rICAgICAgICAgICAgaWYgbm90 IHNlbGYuc3N0b3JlLnJlc3RvcmVfc3RhdGUoInVuYm91bmQiLCAiZW5hYmxlZCIpOgotKyAgICAg ICAgICAgICAgICBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJ1bmJvdW5kIl0uZGlzYWJsZSgpCi0r ICAgICAgICAgICAgaWYgbm90IHNlbGYuc3N0b3JlLnJlc3RvcmVfc3RhdGUoInVuYm91bmQiLCAi cnVubmluZyIpOgotKyAgICAgICAgICAgICAgICBzZXJ2aWNlcy5rbm93bnNlcnZpY2VzWyJ1bmJv dW5kIl0uc3RvcCgpCi0rICAgICAgICAgICAgIyByZXN0b3JlIHVuYm91bmQgY29uZmlnIGZpbGVz IHRoYXQgd2VyZSByZW1vdmVkIGR1cmluZyBJUEEgaW5zdGFsbAotKyAgICAgICAgICAgIGlwYXV0 aWwucmVtb3ZlX2ZpbGUocGF0aHMuVU5CT1VORF9DT05GKQotKyAgICAgICAgICAgIGZvciBmaWxl bmFtZSwgZmlsZWluZm8gaW4gc2VsZi5mc3RvcmUuZmlsZXMuaXRlbXMoKToKLSsgICAgICAgICAg ICAgICAgaWYgcGF0aHMuVU5CT1VORF9DT05GSUdfRElSIGluIGZpbGVpbmZvOgotKyAgICAgICAg ICAgICAgICAgICAgc2VsZi5mc3RvcmUucmVzdG9yZV9maWxlKAotKyAgICAgICAgICAgICAgICAg ICAgICAgIG9zLnBhdGguam9pbihwYXRocy5VTkJPVU5EX0NPTkZJR19ESVIsIGZpbGVuYW1lKSkK LSAKLSAgICAgICAgIGlwYXV0aWwucmVtb3ZlX2ZpbGUocGF0aHMuTkFNRURfQ09ORl9CQUspCi0g ICAgICAgICBpcGF1dGlsLnJlbW92ZV9maWxlKHBhdGhzLk5BTUVEX0NVU1RPTV9DT05GKQotZGlm ZiAtLWdpdCBhL2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weSBiL2lwYXNlcnZlci9pbnN0YWxsL2Ru cy5weQotaW5kZXggMGY3YTMwNzNmLi4zOWMyZjY3N2IgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIv aW5zdGFsbC9kbnMucHkKLSsrKyBiL2lwYXNlcnZlci9pbnN0YWxsL2Rucy5weQotQEAgLTEzOCw2 ICsxMzgsMTYgQEAgZGVmIF9zZXR1cF9kbnNfb3Zlcl90bHMob3B0aW9ucyk6Ci0gICAgICMgbW9k dWxlX2NvbmZpZ19pdGVyYXRvciBpcyBjb21tZW50ZWQgb3V0IGlmIEROU1NFQyB2YWxpZGF0aW9u IGlzCi0gICAgICMgbm90IGRpc2FibGVkLgotICAgICBtb2R1bGVfY29uZmlnX2l0ZXJhdG9yID0g JycgaWYgb3B0aW9ucy5ub19kbnNzZWNfdmFsaWRhdGlvbiBlbHNlICcjICcKLSsKLSsgICAgIyBi YWNrdXAgYW5kIHJlbW92ZSBhbGwgcHJldmlvdXMgVW5ib3VuZCBjb25maWd1cmF0aW9uCi0rICAg IGZzdG9yZSA9IHN5c3Jlc3RvcmUuRmlsZVN0b3JlKHBhdGhzLlNZU1JFU1RPUkUpCi0rICAgIGZv ciBmaWxlbmFtZSBpbiBvcy5saXN0ZGlyKHBhdGhzLlVOQk9VTkRfQ09ORklHX0RJUik6Ci0rICAg ICAgICBmaWxlcGF0aCA9IG9zLnBhdGguam9pbihwYXRocy5VTkJPVU5EX0NPTkZJR19ESVIsIGZp bGVuYW1lKQotKyAgICAgICAgaWYgZmlsZXBhdGggPT0gcGF0aHMuVU5CT1VORF9DT05GOgotKyAg ICAgICAgICAgIGNvbnRpbnVlCi0rICAgICAgICBmc3RvcmUuYmFja3VwX2ZpbGUoZmlsZXBhdGgp Ci0rICAgICAgICBpcGF1dGlsLnJlbW92ZV9maWxlKGZpbGVwYXRoKQotKwotICAgICBpcGF1dGls LmNvcHlfdGVtcGxhdGVfZmlsZSgKLSAgICAgICAgIHBhdGhzLlVOQk9VTkRfQ09ORl9TUkMsCi0g ICAgICAgICBwYXRocy5VTkJPVU5EX0NPTkYsCi1AQCAtMTc5LDcgKzE4OSw2IEBAIGRlZiBfc2V0 dXBfZG5zX292ZXJfdGxzKG9wdGlvbnMpOgotICAgICBdCi0gICAgIG5hbWVzZXJ2ZXJzID0gZ2V0 X2lwYV9yZXNvbHZlcigpLm5hbWVzZXJ2ZXJzCi0gICAgIGlmIG5vdCBuYW1lc2VydmVycyBvciBu YW1lc2VydmVyc1swXSAhPSAiMTI3LjAuMC4xIjoKLS0gICAgICAgIGZzdG9yZSA9IHN5c3Jlc3Rv cmUuRmlsZVN0b3JlKHBhdGhzLlNZU1JFU1RPUkUpCi0gICAgICAgICBmc3RvcmUuYmFja3VwX2Zp bGUocGF0aHMuUkVTT0xWX0NPTkYpCi0gICAgICAgICB3aXRoIG9wZW4ocGF0aHMuUkVTT0xWX0NP TkYsICd3JykgYXMgZjoKLSAgICAgICAgICAgICBmLndyaXRlKCdcbicuam9pbihjZmcpKQotLS0g Ci0yLjUxLjAKLQotCi1Gcm9tIDI4NjNiNTg1ZDI3NTBjYzcxZDY0MDlkYTE4NDgxMjQ1ODNjYWJj MTMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQg PGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAzMCBKdWwgMjAyNSAxMzoxODoxMSArMDIwMAot U3ViamVjdDogW1BBVENIIDIyLzQ3XSBTcGVjIGZpbGU6IHVzZSBub2RlanMyMiBvbiBmZWRvcmEg NDErCi0KLURvIG5vdCB1c2UgdGhlIG5ld2VzdCBub2Rlc2pzMjQgYXMgaXQgZG9lcyBub3QgcHJv dmlkZSB0aGUgL3Vzci9iaW4vbm9kZQotY29tbWFuZCwgb25seSAvdXNyL2Jpbi9ub2RlLTI0Lgot Rm9yY2UgdGhlIHVzZSBvZiBub2RlanMyMi4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2Zy ZWVpcGEvaXNzdWUvOTgzNgotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxm bG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVk aGF0LmNvbT4KLS0tLQotIGZyZWVpcGEuc3BlYy5pbiB8IDMgKystCi0gMSBmaWxlIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvZnJlZWlwYS5z cGVjLmluIGIvZnJlZWlwYS5zcGVjLmluCi1pbmRleCA4YjdmNzJhNzAuLjFjYjNkMDIzMyAxMDA3 NTUKLS0tLSBhL2ZyZWVpcGEuc3BlYy5pbgotKysrIGIvZnJlZWlwYS5zcGVjLmluCi1AQCAtMzI4 LDggKzMyOCw5IEBAIEJ1aWxkUmVxdWlyZXM6ICBsaWJzc3NfaWRtYXAtZGV2ZWwKLSBCdWlsZFJl cXVpcmVzOiAgbGlic3NzX2NlcnRtYXAtZGV2ZWwKLSBCdWlsZFJlcXVpcmVzOiAgbGlic3NzX25z c19pZG1hcC1kZXZlbCA+PSAle3Nzc2RfdmVyc2lvbn0KLSAlaWYgMCV7P2ZlZG9yYX0gPj0gNDEg fHwgMCV7P3JoZWx9ID49IDEwCi0rIyBvbiBmZWRvcmEgNDErLCBzdGljayB0byBub2RlanMyMgot ICMgRG8gbm90IHVzZSBub2RlanMyMiBvbiBmZWRvcmEgPCA0MSwgaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS85NjQzCi0tQnVpbGRSZXF1aXJlczogbm9kZWpzKGFiaSkKLStCdWlsZFJl cXVpcmVzOiBub2RlanMoYWJpKSA9PSAxMjcKLSAlZWxpZiAwJXs/ZmVkb3JhfSA+PSAzOQotICMg RG8gbm90IHVzZSBub2RlanMyMCBvbiBmZWRvcmEgPCAzOSwgaHR0cHM6Ly9wYWd1cmUuaW8vZnJl ZWlwYS9pc3N1ZS85Mzc0Ci0gQnVpbGRSZXF1aXJlczogIG5vZGVqcyhhYmkpIDwgMTI3Ci0tLSAK LTIuNTEuMAotCi0KLUZyb20gYjY5MzYzOTQwYjdhZDYxZTgwNjQ5Mzg5ZWRhODBmNTNmNzIyZmQ3 YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFudWphIE1vcmUgPGFtb3JlQHJlZGhh dC5jb20+Ci1EYXRlOiBUaHUsIDI0IEp1bCAyMDI1IDE2OjU3OjMzICswNTMwCi1TdWJqZWN0OiBb UEFUQ0ggMjMvNDddIGlwYXRlc3RzOiBSZW1vdmUgeGZhaWwgZnJvbQotIHRlc3RfaW5zdGFsbGF0 aW9uOjp0ZXN0X251bWJlcl9vZl96b25lcwotCi1SZW1vdmVkIHhmYWlsIGZvciB0ZXN0X251bWJl cl9vZl96b25lcwotVGhpcyB0ZXN0IGlzIHhwYXNzIHdoZW4gZXhlY3V0ZWQgaW4gSWRNLUNJCi1i dXQgc3RpbGwgZmFpbGluZyBpbiBQUkNJLiBUaGVyZSBpcyBhIGRpZmZlcmVudCBjb25maWd1cmF0 aW9uCi1pbiB0aGUgMiBDSXMgYW5kIHdpdGggdGhpcyB3ZSB3aWxsIGdldCBhIGdyZWVuIHRlc3QK LWluIElkTS1DSSBuaWdodGx5IHRlc3RzLgotCi1SZWxhdGVkIDogaHR0cHM6Ly9wYWd1cmUuaW8v ZnJlZWlwYS9pc3N1ZS85MTM1Ci0KLVNpZ25lZC1vZmYtYnk6IEFudWphIE1vcmUgPGFtb3JlQHJl ZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0 LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4K LS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pbnN0YWxsYXRpb24ucHkgfCA5 ICsrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25z KC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFs bGF0aW9uLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2luc3RhbGxhdGlvbi5w eQotaW5kZXggMWZhZTQ3MjY3Li5lOGNhNzYzMDAgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0aW9uLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0aW9uLnB5Ci1AQCAtNTg3LDEzICs1ODcsMTYgQEAgY2xh c3MgVGVzdEluc3RhbGxXaXRoQ0FfRE5TMyhDQUxlc3NCYXNlKToKLSAgICAgdGlja2V0IDcyMzkK LSAgICAgIiIiCi0gCi0tICAgIEBweXRlc3QubWFyay54ZmFpbCgKLS0gICAgICAgIG9zaW5mby5p ZCA9PSAnZmVkb3JhJyBhbmQgb3NpbmZvLnZlcnNpb25fbnVtYmVyID49ICgzNiwpLAotLSAgICAg ICAgcmVhc29uPSdmcmVlaXBhIHRpY2tldCA5MTM1Jywgc3RyaWN0PVRydWUpCi0gICAgIEBzZXJ2 ZXJfaW5zdGFsbF9zZXR1cAotICAgICBkZWYgdGVzdF9udW1iZXJfb2Zfem9uZXMoc2VsZik6Ci0g ICAgICAgICAiIiJUaGVyZSBzaG91bGQgYmUgdHdvIHpvbmVzOiBvbmUgZm9yd2FyZCwgb25lIHJl dmVyc2UiIiIKLSAKLSsgICAgICAgICMgUmVtb3ZlZCB4ZmFpbCBmb3IgdGVzdF9udW1iZXJfb2Zf em9uZXMKLSsgICAgICAgICMgVGhpcyB0ZXN0IGlzIHhwYXNzIHdoZW4gZXhlY3V0ZWQgaW4gSWRN LUNJCi0rICAgICAgICAjIGJ1dCBzdGlsbCBmYWlsaW5nIGluIFBSQ0kuIFRoZXJlIGlzIGEgZGlm ZmVyZW50IGNvbmZpZ3VyYXRpb24KLSsgICAgICAgICMgaW4gdGhlIDIgQ0lzIGFuZCB3aXRoIHRo aXMgd2Ugd2lsbCBnZXQgYSBncmVlbiB0ZXN0Ci0rICAgICAgICAjIGluIElkTS1DSSBuaWdodGx5 IHRlc3RzLgotKwotICAgICAgICAgc2VsZi5jcmVhdGVfcGtjczEyKCdjYTEvc2VydmVyJykKLSAg ICAgICAgIHNlbGYucHJlcGFyZV9jYWNlcnQoJ2NhMScpCi0gCi0tLSAKLTIuNTEuMAotCi0KLUZy b20gMWY5MTVkNGIyYTE3OTNhMGEzZTUzNjYwNDY0M2Y4MGFhNzZiNmIwYyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IEFudWphIE1vcmUgPGFtb3JlQHJlZGhhdC5jb20+Ci1EYXRlOiBG cmksIDIzIEF1ZyAyMDI0IDE1OjA4OjU3ICswNTMwCi1TdWJqZWN0OiBbUEFUQ0ggMjQvNDddIGlw YXRlc3RzOiBVcGRhdGUgaXBhdGVzdHMgdG8gdGVzdCB0b3BvbG9neSB3aXRoCi0gbXVsdGlwbGUg ZG9tYWluLgotCi1BZGRlZCBjaGFuZ2VzIGluIGlwYXRlc3RzIHNvIHRoYXQgaXBhIHNlcnZlci1y ZXBsaWNhLWNsaWVudAotY2FuIGJlIGluc3RhbGxlZCB3aXRoIHR3byBkb21haW4gLSBpcGEudGVz dCBhbmQgdHJ1c3RlZGlwYS50ZXN0Ci0KLVJlbGF0ZWQ6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVp cGEvaXNzdWUvOTY1NwotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqYSBNb3JlIDxhbW9yZUByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+ Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0K LSBpcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL19faW5pdF9fLnB5ICAgfCAzNCArKysr KysrKy0KLSBpcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2NvbmZpZy5weSAgICAgfCAz MCArKysrKysrLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vYmFzZS5weSAgICAgICAgICAg ICB8IDcxICsrKysrKysrKysrKysrKysrKysKLSAuLi4vdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X211 bHRpZG9tYWluX2lwYS5weSAgfCA1NCArKysrKysrKysrKysrKwotIHB5bGludF9wbHVnaW5zLnB5 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyICsrKysKLSA1IGZpbGVzIGNoYW5nZWQs IDE5OCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBp cGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfbXVsdGlkb21haW5faXBhLnB5Ci0KLWRpZmYg LS1naXQgYS9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL19faW5pdF9fLnB5IGIvaXBh dGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9fX2luaXRfXy5weQotaW5kZXggZWIwMzJjZDcy Li4zMWU5MDkxNjAgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9u L19faW5pdF9fLnB5Ci0rKysgYi9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL19faW5p dF9fLnB5Ci1AQCAtNDE1LDYgKzQxNSwxNiBAQCBkZWYgbWgocmVxdWVzdCwgY2xhc3NfaW50ZWdy YXRpb25fbG9ncyk6Ci0gICAgICAgICAgICAgJ3R5cGUnOiAnQURfVFJFRURPTUFJTicsCi0gICAg ICAgICAgICAgJ2hvc3RzJzogeydhZF90cmVlZG9tYWluJzogMX0KLSAgICAgICAgIH0pCi0rICAg IGZvciBfaSBpbiByYW5nZShjbHMubnVtX3RydXN0ZWRfZG9tYWlucyk6Ci0rICAgICAgICBkb21h aW5fZGVzY3JpcHRpb25zLmFwcGVuZCh7Ci0rICAgICAgICAgICAgJ3R5cGUnOiAnVFJVU1RFRF9J UEEnLAotKyAgICAgICAgICAgICdob3N0cyc6Ci0rICAgICAgICAgICAgewotKyAgICAgICAgICAg ICAgICAnbWFzdGVyJzogMSwKLSsgICAgICAgICAgICAgICAgJ3JlcGxpY2EnOiBjbHMubnVtX3Ry dXN0ZWRfcmVwbGljYXMsCi0rICAgICAgICAgICAgICAgICdjbGllbnQnOiBjbHMubnVtX3RydXN0 ZWRfY2xpZW50cywKLSsgICAgICAgICAgICB9Ci0rICAgICAgICB9KQotIAotICAgICBtaCA9IG1h a2VfbXVsdGlob3N0X2ZpeHR1cmUoCi0gICAgICAgICByZXF1ZXN0LAotQEAgLTQyMywxMCArNDMz LDIwIEBAIGRlZiBtaChyZXF1ZXN0LCBjbGFzc19pbnRlZ3JhdGlvbl9sb2dzKToKLSAgICAgICAg IF9jb25maWc9Z2V0X2dsb2JhbF9jb25maWcoKSwKLSAgICAgKQotIAotLSAgICBtaC5kb21haW4g PSBtaC5jb25maWcuZG9tYWluc1swXQotKyAgICBmb3IgZG9tYWluIGluIG1oLmNvbmZpZy5kb21h aW5zOgotKyAgICAgICAgaWYgZG9tYWluLnR5cGUgPT0gJ0lQQSc6Ci0rICAgICAgICAgICAgbWgu ZG9tYWluID0gZG9tYWluCi0rICAgICAgICBlbGlmIGRvbWFpbi50eXBlID09ICdUUlVTVEVEX0lQ QSc6Ci0rICAgICAgICAgICAgbWgudHJ1c3RlZF9kb21haW4gPSBkb21haW4KLSsKLSAgICAgW21o Lm1hc3Rlcl0gPSBtaC5kb21haW4uaG9zdHNfYnlfcm9sZSgnbWFzdGVyJykKLSAgICAgbWgucmVw bGljYXMgPSBtaC5kb21haW4uaG9zdHNfYnlfcm9sZSgncmVwbGljYScpCi0gICAgIG1oLmNsaWVu dHMgPSBtaC5kb21haW4uaG9zdHNfYnlfcm9sZSgnY2xpZW50JykKLSsgICAgaWYgbWguY29uZmln LnRydXN0ZWRfZG9tYWluczoKLSsgICAgICAgIFttaC50cnVzdGVkX21hc3Rlcl0gPSBtaC50cnVz dGVkX2RvbWFpbi5ob3N0c19ieV9yb2xlKCdtYXN0ZXInKQotKyAgICAgICAgbWgudHJ1c3RlZF9y ZXBsaWNhcyA9IG1oLnRydXN0ZWRfZG9tYWluLmhvc3RzX2J5X3JvbGUoJ3JlcGxpY2EnKQotKyAg ICAgICAgbWgudHJ1c3RlZF9jbGllbnRzID0gbWgudHJ1c3RlZF9kb21haW4uaG9zdHNfYnlfcm9s ZSgnY2xpZW50JykKLSsKLSAgICAgYWRfZG9tYWlucyA9IG1oLmNvbmZpZy5hZF9kb21haW5zCi0g ICAgIGlmIGFkX2RvbWFpbnM6Ci0gICAgICAgICBtaC5hZHMgPSBbXQotQEAgLTQ4OSw2ICs1MDks MTIgQEAgZGVmIGFkZF9jb21wYXRfYXR0cnMoY2xzLCBtaCk6Ci0gICAgICAgICBjbHMuYWRfc3Vi ZG9tYWlucyA9IG1oLmFkX3N1YmRvbWFpbnMKLSAgICAgICAgIGNscy5hZF90cmVlZG9tYWlucyA9 IG1oLmFkX3RyZWVkb21haW5zCi0gCi0rICAgIGNscy50cnVzdGVkX2RvbWFpbnMgPSBtaC5jb25m aWcudHJ1c3RlZF9kb21haW5zCi0rICAgIGlmIGNscy50cnVzdGVkX2RvbWFpbnM6Ci0rICAgICAg ICBjbHMudHJ1c3RlZF9tYXN0ZXIgPSBtaC50cnVzdGVkX21hc3RlcgotKyAgICAgICAgY2xzLnRy dXN0ZWRfcmVwbGljYXMgPSBtaC50cnVzdGVkX3JlcGxpY2FzCi0rICAgICAgICBjbHMudHJ1c3Rl ZF9jbGllbnRzID0gbWgudHJ1c3RlZF9jbGllbnRzCi0rCi0gCi0gZGVmIGRlbF9jb21wYXRfYXR0 cnMoY2xzKToKLSAgICAgIiIiUmVtb3ZlIGNvbnZlbmllbmNlIGF0dHJpYnV0ZXMgZnJvbSB0aGUg dGVzdCBjbGFzcwotQEAgLTUwNiw2ICs1MzIsMTIgQEAgZGVmIGRlbF9jb21wYXRfYXR0cnMoY2xz KToKLSAgICAgICAgIGRlbCBjbHMuYWRfdHJlZWRvbWFpbnMKLSAgICAgZGVsIGNscy5hZF9kb21h aW5zCi0gCi0rICAgIGlmIGNscy50cnVzdGVkX2RvbWFpbnM6Ci0rICAgICAgICBkZWwgY2xzLnRy dXN0ZWRfbWFzdGVyCi0rICAgICAgICBkZWwgY2xzLnRydXN0ZWRfcmVwbGljYXMKLSsgICAgICAg IGRlbCBjbHMudHJ1c3RlZF9jbGllbnRzCi0rICAgIGRlbCBjbHMudHJ1c3RlZF9kb21haW5zCi0r Ci0gCi0gZGVmIHNraXBfaWZfZmlwcyhyZWFzb249J05vdCBzdXBwb3J0ZWQgaW4gRklQUyBtb2Rl JywgaG9zdD0nbWFzdGVyJyk6Ci0gICAgIGlmIGNhbGxhYmxlKHJlYXNvbik6Ci1kaWZmIC0tZ2l0 IGEvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jb25maWcucHkgYi9pcGF0ZXN0cy9w eXRlc3RfaXBhL2ludGVncmF0aW9uL2NvbmZpZy5weQotaW5kZXggMWY0ZGZmN2Y2Li4wZmIyMzEz ZGIgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9weXRlc3RfaXBhL2ludGVncmF0aW9uL2NvbmZpZy5w eQotKysrIGIvaXBhdGVzdHMvcHl0ZXN0X2lwYS9pbnRlZ3JhdGlvbi9jb25maWcucHkKLUBAIC04 OCwxMyArODgsMTkgQEAgY2xhc3MgQ29uZmlnKHB5dGVzdF9tdWx0aWhvc3QuY29uZmlnLkNvbmZp Zyk6Ci0gICAgIGRlZiBhZF9kb21haW5zKHNlbGYpOgotICAgICAgICAgcmV0dXJuIFtkIGZvciBk IGluIHNlbGYuZG9tYWlucyBpZiBkLmlzX2FkX3R5cGVdCi0gCi0rICAgIEBwcm9wZXJ0eQotKyAg ICBkZWYgdHJ1c3RlZF9kb21haW5zKHNlbGYpOgotKyAgICAgICAgcmV0dXJuIFtkIGZvciBkIGlu IHNlbGYuZG9tYWlucyBpZiBkLmlzX3RydXN0ZWRfaXBhX3R5cGVdCi0rCi0gICAgIGRlZiBnZXRf YWxsX2hvc3RzKHNlbGYpOgotICAgICAgICAgZm9yIGRvbWFpbiBpbiBzZWxmLmRvbWFpbnM6Ci0g ICAgICAgICAgICAgZm9yIGhvc3QgaW4gZG9tYWluLmhvc3RzOgotICAgICAgICAgICAgICAgICB5 aWVsZCBob3N0Ci0gCi0gICAgIGRlZiBnZXRfYWxsX2lwYV9ob3N0cyhzZWxmKToKLS0gICAgICAg IGZvciBpcGFfZG9tYWluIGluIChkIGZvciBkIGluIHNlbGYuZG9tYWlucyBpZiBkLmlzX2lwYV90 eXBlKToKLSsgICAgICAgIGZvciBpcGFfZG9tYWluIGluIChkIGZvciBkIGluIHNlbGYuZG9tYWlu cwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIGQuaXNfaXBhX3R5cGUgb3IgZC5pc190 cnVzdGVkX2lwYV90eXBlCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgKToKLSAgICAgICAg ICAgICBmb3IgaXBhX2hvc3QgaW4gaXBhX2RvbWFpbi5ob3N0czoKLSAgICAgICAgICAgICAgICAg eWllbGQgaXBhX2hvc3QKLSAKLUBAIC0xMzUsNyArMTQxLDcgQEAgY2xhc3MgRG9tYWluKHB5dGVz dF9tdWx0aWhvc3QuY29uZmlnLkRvbWFpbik6Ci0gICAgICAgICBzZWxmLm5hbWUgPSBzdHIobmFt ZSkKLSAgICAgICAgIHNlbGYuaG9zdHMgPSBbXQotIAotLSAgICAgICAgYXNzZXJ0IHNlbGYuaXNf aXBhX3R5cGUgb3Igc2VsZi5pc19hZF90eXBlCi0rICAgICAgICBhc3NlcnQgc2VsZi5pc19pcGFf dHlwZSBvciBzZWxmLmlzX2FkX3R5cGUgb3Igc2VsZi5pc190cnVzdGVkX2lwYV90eXBlCi0gICAg ICAgICBzZWxmLnJlYWxtID0gc2VsZi5uYW1lLnVwcGVyKCkKLSAgICAgICAgIHNlbGYuYmFzZWRu ID0gRE4oKigoJ2RjJywgcCkgZm9yIHAgaW4gbmFtZS5zcGxpdCgnLicpKSkKLSAKLUBAIC0xNDMs NiArMTQ5LDEwIEBAIGNsYXNzIERvbWFpbihweXRlc3RfbXVsdGlob3N0LmNvbmZpZy5Eb21haW4p OgotICAgICBkZWYgaXNfaXBhX3R5cGUoc2VsZik6Ci0gICAgICAgICByZXR1cm4gc2VsZi50eXBl ID09ICdJUEEnCi0gCi0rICAgIEBwcm9wZXJ0eQotKyAgICBkZWYgaXNfdHJ1c3RlZF9pcGFfdHlw ZShzZWxmKToKLSsgICAgICAgIHJldHVybiBzZWxmLnR5cGUgPT0gJ1RSVVNURURfSVBBJwotKwot ICAgICBAcHJvcGVydHkKLSAgICAgZGVmIGlzX2FkX3R5cGUoc2VsZik6Ci0gICAgICAgICByZXR1 cm4gc2VsZi50eXBlID09ICdBRCcgb3Igc2VsZi50eXBlLnN0YXJ0c3dpdGgoJ0FEXycpCi1AQCAt MTU4LDYgKzE2OCw4IEBAIGNsYXNzIERvbWFpbihweXRlc3RfbXVsdGlob3N0LmNvbmZpZy5Eb21h aW4pOgotICAgICAgICAgICAgIHJldHVybiAoJ2FkX3N1YmRvbWFpbicsKQotICAgICAgICAgZWxp ZiBzZWxmLnR5cGUgPT0gJ0FEX1RSRUVET01BSU4nOgotICAgICAgICAgICAgIHJldHVybiAoJ2Fk X3RyZWVkb21haW4nLCkKLSsgICAgICAgIGVsaWYgc2VsZi50eXBlID09ICdUUlVTVEVEX0lQQSc6 Ci0rICAgICAgICAgICAgcmV0dXJuICgndHJ1c3RlZF9tYXN0ZXInLCAndHJ1c3RlZF9yZXBsaWNh JywgJ3RydXN0ZWRfY2xpZW50JykKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgcmFpc2Ug TG9va3VwRXJyb3Ioc2VsZi50eXBlKQotIAotQEAgLTE2OCw2ICsxODAsOCBAQCBjbGFzcyBEb21h aW4ocHl0ZXN0X211bHRpaG9zdC5jb25maWcuRG9tYWluKToKLSAgICAgICAgICAgICByZXR1cm4g SG9zdAotICAgICAgICAgZWxpZiBzZWxmLmlzX2FkX3R5cGU6Ci0gICAgICAgICAgICAgcmV0dXJu IFdpbkhvc3QKLSsgICAgICAgIGVsaWYgc2VsZi5pc190cnVzdGVkX2lwYV90eXBlOgotKyAgICAg ICAgICAgIHJldHVybiBIb3N0Ci0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIHJhaXNlIExv b2t1cEVycm9yKHNlbGYudHlwZSkKLSAKLUBAIC0xNzUsNiArMTg5LDEwIEBAIGNsYXNzIERvbWFp bihweXRlc3RfbXVsdGlob3N0LmNvbmZpZy5Eb21haW4pOgotICAgICBkZWYgbWFzdGVyKHNlbGYp OgotICAgICAgICAgcmV0dXJuIHNlbGYuaG9zdF9ieV9yb2xlKCdtYXN0ZXInKQotIAotKyAgICBA cHJvcGVydHkKLSsgICAgZGVmIHRydXN0ZWRfbWFzdGVyKHNlbGYpOgotKyAgICAgICAgcmV0dXJu IHNlbGYuaG9zdF9ieV9yb2xlKCd0cnVzdGVkX21hc3RlcicpCi0rCi0gICAgIEBwcm9wZXJ0eQot ICAgICBkZWYgbWFzdGVycyhzZWxmKToKLSAgICAgICAgIHJldHVybiBzZWxmLmhvc3RzX2J5X3Jv bGUoJ21hc3RlcicpCi1AQCAtMTgzLDEwICsyMDEsMTggQEAgY2xhc3MgRG9tYWluKHB5dGVzdF9t dWx0aWhvc3QuY29uZmlnLkRvbWFpbik6Ci0gICAgIGRlZiByZXBsaWNhcyhzZWxmKToKLSAgICAg ICAgIHJldHVybiBzZWxmLmhvc3RzX2J5X3JvbGUoJ3JlcGxpY2EnKQotIAotKyAgICBAcHJvcGVy dHkKLSsgICAgZGVmIHRydXN0ZWRfcmVwbGljYXMoc2VsZik6Ci0rICAgICAgICByZXR1cm4gc2Vs Zi5ob3N0c19ieV9yb2xlKCdyZXBsaWNhJykKLSsKLSAgICAgQHByb3BlcnR5Ci0gICAgIGRlZiBj bGllbnRzKHNlbGYpOgotICAgICAgICAgcmV0dXJuIHNlbGYuaG9zdHNfYnlfcm9sZSgnY2xpZW50 JykKLSAKLSsgICAgQHByb3BlcnR5Ci0rICAgIGRlZiB0cnVzdGVkX2NsaWVudHMoc2VsZik6Ci0r ICAgICAgICByZXR1cm4gc2VsZi5ob3N0c19ieV9yb2xlKCdjbGllbnQnKQotKwotICAgICBAcHJv cGVydHkKLSAgICAgZGVmIGFkcyhzZWxmKToKLSAgICAgICAgIHJldHVybiBzZWxmLmhvc3RzX2J5 X3JvbGUoJ2FkJykKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL2Jhc2Uu cHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL2Jhc2UucHkKLWluZGV4IDQ3MTc2NjdjYi4u Y2IzNDA2N2Q0IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi9iYXNlLnB5 Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL2Jhc2UucHkKLUBAIC0zMyw2ICszMyw3 IEBAIGNsYXNzIEludGVncmF0aW9uVGVzdDoKLSAgICAgbnVtX3JlcGxpY2FzID0gMAotICAgICBu dW1fY2xpZW50cyA9IDAKLSAgICAgbnVtX2FkX2RvbWFpbnMgPSAwCi0rICAgIG51bV90cnVzdGVk X2RvbWFpbnMgPSAwCi0gICAgIG51bV9hZF9zdWJkb21haW5zID0gMAotICAgICBudW1fYWRfdHJl ZWRvbWFpbnMgPSAwCi0gICAgIHJlcXVpcmVkX2V4dHJhX3JvbGVzID0gW10KLUBAIC05NSw2ICs5 Niw3IEBAIGNsYXNzIEludGVncmF0aW9uVGVzdDoKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY2xzLmNsaWVudHMsIGRvbWFpbl9sZXZlbCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmFuZG9tX3NlcmlhbD1jbHMucmFuZG9tX3NlcmlhbCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncz1leHRyYV9hcmdzLCkKLSsKLSAgICAgQGNsYXNz bWV0aG9kCi0gICAgIGRlZiB1bmluc3RhbGwoY2xzLCBtaCk6Ci0gICAgICAgICBmb3IgcmVwbGlj YSBpbiBjbHMucmVwbGljYXM6Ci1AQCAtMTEyLDMgKzExNCw3MiBAQCBjbGFzcyBJbnRlZ3JhdGlv blRlc3Q6Ci0gICAgICAgICAgICAgdGFza3MudW5pbnN0YWxsX2NsaWVudChjbGllbnQpCi0gICAg ICAgICBpZiBjbHMuZmlwc19tb2RlOgotICAgICAgICAgICAgIGNscy5kaXNhYmxlX2ZpcHNfbW9k ZSgpCi0rCi0rCi0rQG9yZGVyZWQKLStAcHl0ZXN0Lm1hcmsudXNlZml4dHVyZXMoJ21oJykKLStA cHl0ZXN0Lm1hcmsudXNlZml4dHVyZXMoJ2ludGVncmF0aW9uX2xvZ3MnKQotK2NsYXNzIE11bHRp RG9tYWluSW50ZWdyYXRpb25UZXN0KEludGVncmF0aW9uVGVzdCk6Ci0rICAgIG51bV90cnVzdGVk X2RvbWFpbnMgPSAxCi0rICAgIG51bV90cnVzdGVkX3JlcGxpY2FzID0gMAotKyAgICBudW1fdHJ1 c3RlZF9jbGllbnRzID0gMAotKwotKyAgICBAY2xhc3NtZXRob2QKLSsgICAgZGVmIGdldF9kb21h aW5zKGNscyk6Ci0rICAgICAgICByZXR1cm4gc3VwZXIoTXVsdGlEb21haW5JbnRlZ3JhdGlvblRl c3QsIGNscwotKyAgICAgICAgICAgICAgICAgICAgICkuZ2V0X2RvbWFpbnMoKSArIGNscy50cnVz dGVkX2RvbWFpbnMKLSsKLSsgICAgQGNsYXNzbWV0aG9kCi0rICAgIGRlZiBpbnN0YWxsKGNscywg bWgpOgotKyAgICAgICAgc3VwZXIoTXVsdGlEb21haW5JbnRlZ3JhdGlvblRlc3QsIGNscykuaW5z dGFsbChtaCkKLSsgICAgICAgIGV4dHJhX2FyZ3MgPSBbXQotKyAgICAgICAgaWYgY2xzLnRvcG9s b2d5IGlzIE5vbmU6Ci0rICAgICAgICAgICAgcmV0dXJuCi0rICAgICAgICBlbHNlOgotKyAgICAg ICAgICAgIGlmIGNscy50b2tlbl9wYXNzd29yZDoKLSsgICAgICAgICAgICAgICAgZXh0cmFfYXJn cy5leHRlbmQoKCctLXRva2VuLXBhc3N3b3JkJywgY2xzLnRva2VuX3Bhc3N3b3JkLCkpCi0rICAg ICAgICAgICAgdGFza3MuaW5zdGFsbF90b3BvKGNscy50b3BvbG9neSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xzLnRydXN0ZWRfbWFzdGVyLCBjbHMudHJ1c3RlZF9yZXBsaWNh cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLnRydXN0ZWRfY2xpZW50cywg MSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZG9tX3NlcmlhbD1jbHMucmFu ZG9tX3NlcmlhbCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncz1l eHRyYV9hcmdzLCkKLSsgICAgICAgIHRhc2tzLmtpbml0X2FkbWluKGNscy5tYXN0ZXIpCi0rICAg ICAgICB0YXNrcy5raW5pdF9hZG1pbihjbHMudHJ1c3RlZF9tYXN0ZXIpCi0rICAgICAgICAjIE5v dyBlbmFibGUgZG5zc2VjIG9uIHRoZSB6b25lcwotKyAgICAgICAgY2xzLm1hc3Rlci5ydW5fY29t bWFuZChbCi0rICAgICAgICAgICAgImlwYS1kbnMtaW5zdGFsbCIsCi0rICAgICAgICAgICAgIi0t ZG5zc2VjLW1hc3RlciIsCi0rICAgICAgICAgICAgIi0tZm9yd2FyZGVyIiwgY2xzLm1hc3Rlci5j b25maWcuZG5zX2ZvcndhcmRlciwKLSsgICAgICAgICAgICAiLVUiLAotKyAgICAgICAgXSkKLSsg ICAgICAgIGNscy5tYXN0ZXIucnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAgICJpcGEiLCAiZG5z em9uZS1tb2QiLCBjbHMubWFzdGVyLmRvbWFpbi5uYW1lLAotKyAgICAgICAgICAgICItLWRuc3Nl Yz1UcnVlIgotKyAgICAgICAgXSkKLSsgICAgICAgIGNscy50cnVzdGVkX21hc3Rlci5ydW5fY29t bWFuZChbCi0rICAgICAgICAgICAgImlwYS1kbnMtaW5zdGFsbCIsCi0rICAgICAgICAgICAgIi0t ZG5zc2VjLW1hc3RlciIsCi0rICAgICAgICAgICAgIi0tZm9yd2FyZGVyIiwgY2xzLnRydXN0ZWRf bWFzdGVyLmNvbmZpZy5kbnNfZm9yd2FyZGVyLAotKyAgICAgICAgICAgICItVSIsCi0rICAgICAg ICBdKQotKyAgICAgICAgY2xzLnRydXN0ZWRfbWFzdGVyLnJ1bl9jb21tYW5kKFsKLSsgICAgICAg ICAgICAiaXBhIiwgImRuc3pvbmUtbW9kIiwgY2xzLnRydXN0ZWRfbWFzdGVyLmRvbWFpbi5uYW1l LAotKyAgICAgICAgICAgICItLWRuc3NlYz1UcnVlIgotKyAgICAgICAgXSkKLSsKLSsgICAgQGNs YXNzbWV0aG9kCi0rICAgIGRlZiB1bmluc3RhbGwoY2xzLCBtaCk6Ci0rICAgICAgICBzdXBlcihN dWx0aURvbWFpbkludGVncmF0aW9uVGVzdCwgY2xzKS51bmluc3RhbGwobWgpCi0rICAgICAgICBm b3IgdHJ1c3RlZHJlcGxpY2EgaW4gY2xzLnRydXN0ZWRfcmVwbGljYXM6Ci0rICAgICAgICAgICAg dHJ5OgotKyAgICAgICAgICAgICAgICB0YXNrcy5ydW5fc2VydmVyX2RlbCgKLSsgICAgICAgICAg ICAgICAgICAgIGNscy50cnVzdGVkX21hc3RlciwgdHJ1c3RlZHJlcGxpY2EuaG9zdG5hbWUsIGZv cmNlPVRydWUsCi0rICAgICAgICAgICAgICAgICAgICBpZ25vcmVfdG9wb2xvZ3lfZGlzY29ubmVj dD1UcnVlLCBpZ25vcmVfbGFzdF9vZl9yb2xlPVRydWUpCi0rICAgICAgICAgICAgZXhjZXB0IHN1 YnByb2Nlc3MuQ2FsbGVkUHJvY2Vzc0Vycm9yOgotKyAgICAgICAgICAgICAgICAjIElmIHRoZSBt YXN0ZXIgaGFzIGFscmVhZHkgYmVlbiB1bmluc3RhbGxlZCwKLSsgICAgICAgICAgICAgICAgIyB0 aGlzIGNhbGwgbWF5IGZhaWwKLSsgICAgICAgICAgICAgICAgcGFzcwotKyAgICAgICAgICAgIHRh c2tzLnVuaW5zdGFsbF9tYXN0ZXIodHJ1c3RlZHJlcGxpY2EpCi0rICAgICAgICB0YXNrcy51bmlu c3RhbGxfbWFzdGVyKGNscy50cnVzdGVkX21hc3RlcikKLSsgICAgICAgIGZvciBjbGllbnQgaW4g Y2xzLnRydXN0ZWRfY2xpZW50czoKLSsgICAgICAgICAgICB0YXNrcy51bmluc3RhbGxfY2xpZW50 KGNsaWVudCkKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfbXVs dGlkb21haW5faXBhLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X211bHRpZG9t YWluX2lwYS5weQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAwMC4uYjFhMzlh MDcyCi0tLS0gL2Rldi9udWxsCi0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rf bXVsdGlkb21haW5faXBhLnB5Ci1AQCAtMCwwICsxLDU0IEBACi0rZnJvbSBpcGF0ZXN0cy5weXRl c3RfaXBhLmludGVncmF0aW9uIGltcG9ydCB0YXNrcwotK2Zyb20gaXBhdGVzdHMudGVzdF9pbnRl Z3JhdGlvbi5iYXNlIGltcG9ydCBNdWx0aURvbWFpbkludGVncmF0aW9uVGVzdAotKwotKwotK2Ns YXNzIFRlc3RNdWx0aWRvbWFpbihNdWx0aURvbWFpbkludGVncmF0aW9uVGVzdCk6Ci0rICAgIG51 bV9jbGllbnRzID0gMQotKyAgICBudW1fcmVwbGljYXMgPSAxCi0rICAgIG51bV90cnVzdGVkX2Ns aWVudHMgPSAxCi0rICAgIG51bV90cnVzdGVkX3JlcGxpY2FzID0gMQotKyAgICB0b3BvbG9neSA9 ICdsaW5lJwotKwotKyAgICBkZWYgdGVzdF9tdWx0aWRvbWFpbl90cnVzdChzZWxmKToKLSsgICAg ICAgICIiIgotKyAgICAgICAgVGVzdCBzZXJ2aWNlcyBvbiBtdWx0aWRvbWFpbiB0b3BvbG9neS4K LSsgICAgICAgICIiIgotKwotKyAgICAgICAgZm9yIGhvc3QgaW4gKHNlbGYubWFzdGVyLCBzZWxm LnJlcGxpY2FzWzBdLAotKyAgICAgICAgICAgICAgICAgICAgIHNlbGYudHJ1c3RlZF9tYXN0ZXIs IHNlbGYudHJ1c3RlZF9yZXBsaWNhc1swXQotKyAgICAgICAgICAgICAgICAgICAgICk6Ci0rICAg ICAgICAgICAgdGFza3Muc3RhcnRfaXBhX3NlcnZlcihob3N0KQotKwotKyAgICAgICAgZm9yIGhv c3QgaW4gKHNlbGYubWFzdGVyLCBzZWxmLnRydXN0ZWRfbWFzdGVyKToKLSsgICAgICAgICAgICB0 YXNrcy5kaXNhYmxlX2Ruc3NlY192YWxpZGF0aW9uKGhvc3QpCi0rICAgICAgICAgICAgdGFza3Mu cmVzdGFydF9uYW1lZChob3N0KQotKwotKyAgICAgICAgZm9yIGhvc3QgaW4gKHNlbGYubWFzdGVy LCBzZWxmLnJlcGxpY2FzWzBdLAotKyAgICAgICAgICAgICAgICAgICAgIHNlbGYudHJ1c3RlZF9t YXN0ZXIsIHNlbGYudHJ1c3RlZF9yZXBsaWNhc1swXSwKLSsgICAgICAgICAgICAgICAgICAgICBz ZWxmLmNsaWVudHNbMF0sIHNlbGYudHJ1c3RlZF9jbGllbnRzWzBdCi0rICAgICAgICAgICAgICAg ICAgICAgKToKLSsgICAgICAgICAgICB0YXNrcy5raW5pdF9hZG1pbihob3N0KQotKwotKyAgICAg ICAgIyBBZGQgRE5TIGZvcndhcmRlciB0byB0cnVzdGVkIGRvbWFpbiBvbiBpcGEgZG9tYWluCi0r ICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgImlwYSIsICJk bnNmb3J3YXJkem9uZS1hZGQiLCBzZWxmLnRydXN0ZWRfbWFzdGVyLmRvbWFpbi5uYW1lLAotKyAg ICAgICAgICAgICItLWZvcndhcmRlciIsIHNlbGYudHJ1c3RlZF9tYXN0ZXIuaXAsCi0rICAgICAg ICAgICAgIi0tZm9yd2FyZC1wb2xpY3k9b25seSIKLSsgICAgICAgIF0pCi0rICAgICAgICBzZWxm LnRydXN0ZWRfbWFzdGVyLnJ1bl9jb21tYW5kKFsKLSsgICAgICAgICAgICAiaXBhIiwgImRuc2Zv cndhcmR6b25lLWFkZCIsIHNlbGYubWFzdGVyLmRvbWFpbi5uYW1lLAotKyAgICAgICAgICAgICIt LWZvcndhcmRlciIsIHNlbGYubWFzdGVyLmlwLAotKyAgICAgICAgICAgICItLWZvcndhcmQtcG9s aWN5PW9ubHkiCi0rICAgICAgICBdKQotKwotKyAgICAgICAgdGFza3MuaW5zdGFsbF9hZHRydXN0 KHNlbGYubWFzdGVyKQotKyAgICAgICAgdGFza3MuaW5zdGFsbF9hZHRydXN0KHNlbGYudHJ1c3Rl ZF9tYXN0ZXIpCi0rCi0rICAgICAgICAjICBFc3RhYmxpc2ggdHJ1c3QKLSsgICAgICAgICMgc2Vs Zi5tYXN0ZXIucnVuX2NvbW1hbmQoWwotKyAgICAgICAgIyAgICAgImlwYSIsICJ0cnVzdC1hZGQi LCAiLS10eXBlPWlwYSIsCi0rICAgICAgICAjICAgICAiLS1hZG1pbiIsICJhZG1pbkB7fSIuZm9y bWF0KHNlbGYudHJ1c3RlZF9tYXN0ZXIuZG9tYWluLnJlYWxtKSwKLSsgICAgICAgICMgICAgICIt LXJhbmdlLXR5cGU9aXBhLWFkLXRydXN0LXBvc2l4IiwKLSsgICAgICAgICMgICAgICItLXBhc3N3 b3JkIiwgIi0tdHdvLXdheT10cnVlIiwKLSsgICAgICAgICMgICAgIHNlbGYudHJ1c3RlZF9tYXN0 ZXIuZG9tYWluLm5hbWUKLSsgICAgICAgICMgXSwgc3RkaW5fdGV4dD1zZWxmLnRydXN0ZWRfbWFz dGVyLmNvbmZpZy5hZG1pbl9wYXNzd29yZCkKLWRpZmYgLS1naXQgYS9weWxpbnRfcGx1Z2lucy5w eSBiL3B5bGludF9wbHVnaW5zLnB5Ci1pbmRleCBkNzVkYTNmNGEuLjc1ZDY1ZjAxNiAxMDA2NDQK LS0tLSBhL3B5bGludF9wbHVnaW5zLnB5Ci0rKysgYi9weWxpbnRfcGx1Z2lucy5weQotQEAgLTU2 Niw2ICs1NjYsNyBAQCBBc3Ryb2lkQnVpbGRlcihNQU5BR0VSKS5zdHJpbmdfYnVpbGQoCi0gICAg IHRleHR3cmFwLmRlZGVudCgKLSAgICAgICAgICIiIlwKLSAgICAgZnJvbSBpcGF0ZXN0cy50ZXN0 X2ludGVncmF0aW9uLmJhc2UgaW1wb3J0IEludGVncmF0aW9uVGVzdAotKyAgICBmcm9tIGlwYXRl c3RzLnRlc3RfaW50ZWdyYXRpb24uYmFzZSBpbXBvcnQgTXVsdGlEb21haW5JbnRlZ3JhdGlvblRl c3QKLSAgICAgZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmludGVncmF0aW9uLmhvc3QgaW1wb3J0 IEhvc3QsIFdpbkhvc3QKLSAgICAgZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmludGVncmF0aW9u LmNvbmZpZyBpbXBvcnQgQ29uZmlnLCBEb21haW4KLSAKLUBAIC01ODQsNiArNTg1LDkgQEAgQXN0 cm9pZEJ1aWxkZXIoTUFOQUdFUikuc3RyaW5nX2J1aWxkKAotICAgICAgICAgZGVmIF9fZ2V0aXRl bV9fKHNlbGYsIGtleSk6Ci0gICAgICAgICAgICAgcmV0dXJuIERvbWFpbigpCi0gCi0rICAgIGNs YXNzIFB5bGludFRydXN0ZWREb21haW5zOgotKyAgICAgICAgZGVmIF9fZ2V0aXRlbV9fKHNlbGYs IGtleSk6Ci0rICAgICAgICAgICAgcmV0dXJuIERvbWFpbigpCi0gCi0gICAgIEhvc3QuY29uZmln ID0gQ29uZmlnKCkKLSAgICAgSG9zdC5kb21haW4gPSBEb21haW4oKQotQEAgLTU5Niw2ICs2MDAs MTQgQEAgQXN0cm9pZEJ1aWxkZXIoTUFOQUdFUikuc3RyaW5nX2J1aWxkKAotICAgICBJbnRlZ3Jh dGlvblRlc3QuYWRfdHJlZWRvbWFpbnMgPSBQeWxpbnRXaW5Ib3N0cygpCi0gICAgIEludGVncmF0 aW9uVGVzdC5hZF9zdWJkb21haW5zID0gUHlsaW50V2luSG9zdHMoKQotICAgICBJbnRlZ3JhdGlv blRlc3QuYWRfZG9tYWlucyA9IFB5bGludEFERG9tYWlucygpCi0rICAgIE11bHRpRG9tYWluSW50 ZWdyYXRpb25UZXN0LmRvbWFpbiA9IERvbWFpbigpCi0rICAgIE11bHRpRG9tYWluSW50ZWdyYXRp b25UZXN0Lm1hc3RlciA9IEhvc3QoKQotKyAgICBNdWx0aURvbWFpbkludGVncmF0aW9uVGVzdC5y ZXBsaWNhcyA9IFB5bGludElQQUhvc3RzKCkKLSsgICAgTXVsdGlEb21haW5JbnRlZ3JhdGlvblRl c3QuY2xpZW50cyA9IFB5bGludElQQUhvc3RzKCkKLSsgICAgTXVsdGlEb21haW5JbnRlZ3JhdGlv blRlc3QudHJ1c3RlZF9tYXN0ZXIgPSBIb3N0KCkKLSsgICAgTXVsdGlEb21haW5JbnRlZ3JhdGlv blRlc3QudHJ1c3RlZF9yZXBsaWNhcyA9IFB5bGludElQQUhvc3RzKCkKLSsgICAgTXVsdGlEb21h aW5JbnRlZ3JhdGlvblRlc3QudHJ1c3RlZF9jbGllbnRzID0gUHlsaW50SVBBSG9zdHMoKQotKyAg ICBNdWx0aURvbWFpbkludGVncmF0aW9uVGVzdC50cnVzdGVkX2RvbWFpbnMgPSBQeWxpbnRUcnVz dGVkRG9tYWlucygpCi0gICAgICIiIgotICAgICApCi0gKQotLS0gCi0yLjUxLjAKLQotCi1Gcm9t IDkwMmRiZWI2N2UwNTc0ZGNhNGM3NjFkMDU4YjQzYWYzYWMyY2VmNmEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBBbnVqYSBNb3JlIDxhbW9yZUByZWRoYXQuY29tPgotRGF0ZTogTW9u LCAyNiBNYXkgMjAyNSAyMDoyNzowMiArMDUzMAotU3ViamVjdDogW1BBVENIIDI1LzQ3XSBpcGF0 ZXN0czogQWRkIGNvbXByZWhlbnNpdmUgdGVzdHMgZm9yCi0gaXBhLWNsaWVudC1hdXRvbW91bnQg LS1kb21haW4gb3B0aW9uCi0KLS0gQWRkIHBhcmFtZXRyaXplZCB0ZXN0IGZvciBkb21haW4gdmFs aWRhdGlvbiBjb3ZlcmluZyB2YWxpZC9pbnZhbGlkIGZvcm1hdHMKLS0gQWRkIGNyb3NzLWRvbWFp biBkaXNjb3ZlcnkgdGVzdCBzaG93aW5nIC0tZG9tYWluIGVuYWJsZXMgZGlzY292ZXJ5IHdoZW4K LSAgY2xpZW50IGlzIGluIGRpZmZlcmVudCBkb21haW4gdGhhbiBJUEEgZG9tYWluCi0tIFZhbGlk YXRlIGNvbmZpZ3VyYXRpb24gaW4gc3NzZC5jb25mIGFmdGVyIHN1Y2Nlc3NmdWwgYXV0b21vdW50 IHNldHVwCi0KLVRoZSBuZXcgdGVzdHMgZW5zdXJlIC0tZG9tYWluIG9wdGlvbiB3b3JrcyBjb3Jy ZWN0bHkgYW5kIHByb3ZpZGVzIHByb3BlcgotaGludHMgZm9yIEROUyBkaXNjb3ZlcnkgaW4gY3Jv c3MtZG9tYWluIHNjZW5hcmlvcywgcmVkdWNpbmcgdXNlciBmcmljdGlvbgotY29tcGFyZWQgdG8g cmVxdWlyaW5nIC0tc2VydmVyIHNwZWNpZmljYXRpb24uCi0KLVJlbGF0ZWQ6IGh0dHBzOi8vcGFn dXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTc4MAotCi1TaWduZWQtb2ZmLWJ5OiBBbnVqYSBNb3JlIDxh bW9yZUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkBy ZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQu Y29tPgotLS0tCi0gLi4uL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgICAgICAgICAgICAg IHwgIDE3ICsrCi0gLi4uL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgueWFtbCAgICAg IHwgIDE4ICsrCi0gaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy90ZW1wX2NvbW1pdC55YW1sICAg IHwgICA0ICsKLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfbmZzLnB5ICAgICAgICAg fCAyMTUgKysrKysrKysrKysrKysrKy0tCi0gaXBhdGVzdHMvdGVzdF9pcGFsaWIvdGVzdF91dGls LnB5ICAgICAgICAgICAgIHwgIDIxICstCi0gNSBmaWxlcyBjaGFuZ2VkLCAyNTUgaW5zZXJ0aW9u cygrKSwgMjAgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy9wcmNpX2RlZmlu aXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmlu aXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwKLWluZGV4IGJjMmExMGRlNC4uMTk4 YzZhY2VjIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lw YS00LTEyX2xhdGVzdC55YW1sCi0rKysgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0 bHlfaXBhLTQtMTJfbGF0ZXN0LnlhbWwKLUBAIC00Myw2ICs0MywxMCBAQCB0b3BvbG9naWVzOgot ICAgICBuYW1lOiBhZF9tYXN0ZXJfMXJlcGxfMWNsaWVudAotICAgICBjcHU6IDYKLSAgICAgbWVt b3J5OiAxMjA5NgotKyAgaXBhX2lwYV90cnVzdDogJmlwYV9pcGFfdHJ1c3QKLSsgICAgbmFtZTog aXBhX2lwYV90cnVzdAotKyAgICBjcHU6IDcKLSsgICAgbWVtb3J5OiAxNDc1MAotIAotIGpvYnM6 Ci0gICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkOgotQEAgLTU5LDYgKzYzLDE5IEBAIGpv YnM6Ci0gICAgICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0g Ci0rICBmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL25mc19hdXRvbW91bnRkaXNjb3Zlcnk6Ci0rICAg IHJlcXVpcmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6 IDUwCi0rICAgIGpvYjoKLSsgICAgICBjbGFzczogUnVuUHl0ZXN0Ci0rICAgICAgYXJnczoKLSsg ICAgICAgIGJ1aWxkX3VybDogJ3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkX3VybH0nCi0r ICAgICAgICB0ZXN0X3N1aXRlOiB0ZXN0X2ludGVncmF0aW9uL3Rlc3RfbmZzLnB5OjpUZXN0SXBh Q2xpZW50QXV0b21vdW50RGlzY292ZXJ5Ci0rICAgICAgICB0cnVzdGVkX2RvbWFpbjogVHJ1ZQot KyAgICAgICAgdGVtcGxhdGU6ICpjaS1pcGEtNC0xMi1sYXRlc3QKLSsgICAgICAgIHRpbWVvdXQ6 IDM2MDAKLSsgICAgICAgIHRvcG9sb2d5OiAqaXBhX2lwYV90cnVzdAotKwotICAgZmVkb3JhLWxh dGVzdC1pcGEtNC0xMi9zaW1wbGVfcmVwbGljYXRpb246Ci0gICAgIHJlcXVpcmVzOiBbZmVkb3Jh LWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSAgICAgcHJpb3JpdHk6IDUwCi1kaWZmIC0tZ2l0IGEv aXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xhdGVzdF9zZWxpbnV4 LnlhbWwgYi9pcGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0 X3NlbGludXgueWFtbAotaW5kZXggZmMzMTE4NmRmLi44ZjAxYmI4NDEgMTAwNjQ0Ci0tLS0gYS9p cGF0ZXN0cy9wcmNpX2RlZmluaXRpb25zL25pZ2h0bHlfaXBhLTQtMTJfbGF0ZXN0X3NlbGludXgu eWFtbAotKysrIGIvaXBhdGVzdHMvcHJjaV9kZWZpbml0aW9ucy9uaWdodGx5X2lwYS00LTEyX2xh dGVzdF9zZWxpbnV4LnlhbWwKLUBAIC00Myw2ICs0MywxMCBAQCB0b3BvbG9naWVzOgotICAgICBu YW1lOiBhZF9tYXN0ZXJfMXJlcGxfMWNsaWVudAotICAgICBjcHU6IDYKLSAgICAgbWVtb3J5OiAx MjA5NgotKyAgaXBhX2lwYV90cnVzdDogJmlwYV9pcGFfdHJ1c3QKLSsgICAgbmFtZTogaXBhX2lw YV90cnVzdAotKyAgICBjcHU6IDcKLSsgICAgbWVtb3J5OiAxNDc1MAotIAotIGpvYnM6Ci0gICBm ZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkOgotQEAgLTU5LDYgKzYzLDIwIEBAIGpvYnM6Ci0g ICAgICAgICB0aW1lb3V0OiAxODAwCi0gICAgICAgICB0b3BvbG9neTogKmJ1aWxkCi0gCi0rICBm ZWRvcmEtbGF0ZXN0LWlwYS00LTEyL25mc19hdXRvbW91bnRkaXNjb3Zlcnk6Ci0rICAgIHJlcXVp cmVzOiBbZmVkb3JhLWxhdGVzdC1pcGEtNC0xMi9idWlsZF0KLSsgICAgcHJpb3JpdHk6IDUwCi0r ICAgIGpvYjoKLSsgICAgICBjbGFzczogUnVuUHl0ZXN0Ci0rICAgICAgYXJnczoKLSsgICAgICAg IGJ1aWxkX3VybDogJ3tmZWRvcmEtbGF0ZXN0LWlwYS00LTEyL2J1aWxkX3VybH0nCi0rICAgICAg ICBzZWxpbnV4X2VuZm9yY2luZzogVHJ1ZQotKyAgICAgICAgdGVzdF9zdWl0ZTogdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X25mcy5weTo6VGVzdElwYUNsaWVudEF1dG9tb3VudERpc2NvdmVyeQotKyAg ICAgICAgdHJ1c3RlZF9kb21haW46IFRydWUKLSsgICAgICAgIHRlbXBsYXRlOiAqY2ktaXBhLTQt MTItbGF0ZXN0Ci0rICAgICAgICB0aW1lb3V0OiAzNjAwCi0rICAgICAgICB0b3BvbG9neTogKmlw YV9pcGFfdHJ1c3QKLSsKLSAgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvc2ltcGxlX3JlcGxpY2F0 aW9uOgotICAgICByZXF1aXJlczogW2ZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGRdCi0gICAg IHByaW9yaXR5OiA1MAotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVt cF9jb21taXQueWFtbCBiL2lwYXRlc3RzL3ByY2lfZGVmaW5pdGlvbnMvdGVtcF9jb21taXQueWFt bAotaW5kZXggMjRiN2I0YzQ4Li4wMzZhMWY0OTUgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9wcmNp X2RlZmluaXRpb25zL3RlbXBfY29tbWl0LnlhbWwKLSsrKyBiL2lwYXRlc3RzL3ByY2lfZGVmaW5p dGlvbnMvdGVtcF9jb21taXQueWFtbAotQEAgLTQ5LDYgKzQ5LDEwIEBAIHRvcG9sb2dpZXM6Ci0g ICAgIG5hbWU6IGFkX21hc3Rlcl8xcmVwbF8xY2xpZW50Ci0gICAgIGNwdTogNgotICAgICBtZW1v cnk6IDEyMDk2Ci0rICBpcGFfaXBhX3RydXN0OiAmaXBhX2lwYV90cnVzdAotKyAgICBuYW1lOiBp cGFfaXBhX3RydXN0Ci0rICAgIGNwdTogNwotKyAgICBtZW1vcnk6IDE0NzUwCi0gCi0gam9iczoK LSAgIGZlZG9yYS1sYXRlc3QtaXBhLTQtMTIvYnVpbGQ6Ci1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMv dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X25mcy5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24v dGVzdF9uZnMucHkKLWluZGV4IDMyZDEwN2I3MS4uNDlhODZmYzhlIDEwMDY0NAotLS0tIGEvaXBh dGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X25mcy5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X25mcy5weQotQEAgLTIxLDE1ICsyMSwzNSBAQCBpbXBvcnQgdGltZQot IAotIGltcG9ydCBweXRlc3QKLSAKLS1mcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24uYmFz ZSBpbXBvcnQgSW50ZWdyYXRpb25UZXN0Ci0rZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQg cGF0aHMKLStmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24uYmFzZSBpbXBvcnQgKAotKyAg ICBJbnRlZ3JhdGlvblRlc3QsIE11bHRpRG9tYWluSW50ZWdyYXRpb25UZXN0KQotIGZyb20gaXBh dGVzdHMucHl0ZXN0X2lwYS5pbnRlZ3JhdGlvbiBpbXBvcnQgdGFza3MKLS0KLSAjIGdpdmUgc29t ZSB0aW1lIGZvciB1bml0cyB0byBzdGFiaWxpemUKLSAjIG90aGVyd2lzZSB3ZSBnZXQgdHJhbnNp ZW50IGVycm9ycwotIFdBSVRfQUZURVJfSU5TVEFMTCA9IDUKLSBXQUlUX0FGVEVSX1VOSU5TVEFM TCA9IFdBSVRfQUZURVJfSU5TVEFMTAotIAotIAotK2RlZiByZW1vdmVfYXV0b21vdW50KGhvc3Qp OgotKyAgICB0aW1lLnNsZWVwKFdBSVRfQUZURVJfSU5TVEFMTCkKLSsgICAgaG9zdC5ydW5fY29t bWFuZChbCi0rICAgICAgICAnaXBhLWNsaWVudC1hdXRvbW91bnQnLCAnLS11bmluc3RhbGwnLCAn LVUnCi0rICAgIF0sIHJhaXNlb25lcnI9RmFsc2UpCi0rICAgIHRpbWUuc2xlZXAoV0FJVF9BRlRF Ul9VTklOU1RBTEwpCi0rCi0rCi0rZGVmIGFkZF9hdXRvbW91bnQoaG9zdCwgZXh0cmFfYXJncywg cmFpc2VvbmVycj1GYWxzZSk6Ci0rICAgIHRpbWUuc2xlZXAoV0FJVF9BRlRFUl9VTklOU1RBTEwp Ci0rICAgIGFyZ3MgPSBbCi0rICAgICAgICAiaXBhLWNsaWVudC1hdXRvbW91bnQiLAotKyAgICBd Ci0rICAgIGFyZ3MuZXh0ZW5kKGV4dHJhX2FyZ3MpCi0rICAgIHJldCA9IGhvc3QucnVuX2NvbW1h bmQoYXJncywgcmFpc2VvbmVycj1yYWlzZW9uZXJyKQotKyAgICB0aW1lLnNsZWVwKFdBSVRfQUZU RVJfSU5TVEFMTCkKLSsgICAgcmV0dXJuIHJldAotKwotKwotIGNsYXNzIFRlc3RORlMoSW50ZWdy YXRpb25UZXN0KToKLSAKLSAgICAgbnVtX2NsaWVudHMgPSAzCi1AQCAtMzU3LDI1ICszNzcsMTg0 IEBAIGNsYXNzIFRlc3RJcGFDbGllbnRBdXRvbW91bnRGaWxlUmVzdG9yZShJbnRlZ3JhdGlvblRl c3QpOgotICAgICAgICAgc2VsZi5uc3N3aXRjaF9iYWNrdXBfcmVzdG9yZSgpCi0gCi0gCi0tY2xh c3MgVGVzdElwYUNsaWVudEF1dG9tb3VudERpc2NvdmVyeShJbnRlZ3JhdGlvblRlc3QpOgotK2Ns YXNzIFRlc3RJcGFDbGllbnRBdXRvbW91bnREaXNjb3ZlcnkoTXVsdGlEb21haW5JbnRlZ3JhdGlv blRlc3QpOgotIAotKyAgICBudW1fcmVwbGljYXMgPSAwCi0rICAgIG51bV90cnVzdGVkX3JlcGxp Y2FzID0gMAotICAgICBudW1fY2xpZW50cyA9IDEKLS0gICAgdG9wb2xvZ3kgPSAnbGluZScKLSsg ICAgbnVtX3RydXN0ZWRfY2xpZW50cyA9IDEKLSsgICAgdG9wb2xvZ3kgPSAibGluZSIKLSsKLSsg ICAgZGVmIHRlc3RfYXV0b21vdW50X3ZhbGlkX2RvbWFpbihzZWxmKToKLSsgICAgICAgICIiIlRl c3QgdGhhdCAtLWRvbWFpbiBvcHRpb24gY29udHJvbHMgd2hpY2ggZG9tYWluIGlzIHVzZWQKLSsg ICAgICAgIGZvciBETlMgU1JWIHJlY29yZCBsb29rdXAuCi0gCi0tICAgIGRlZiB0ZXN0X2F1dG9t b3VudF9pbnZhbGlkX2RvbWFpbihzZWxmKToKLS0gICAgICAgICIiIlZhbGlkYXRlIHRoYXQgdGhl IC0tZG9tYWluIG9wdGlvbiBpcyBwYXNzZWQgaW50bwotLSAgICAgICAgICAgRGlzY292ZXJ5LiBU aGlzIGlzIGV4cGVjdGVkIHRvIGZhaWwgZGlzY292ZXJ5LgotKyAgICAgICAgV2l0aG91dCAtLWRv bWFpbjogY2xpZW50IHNlYXJjaGVzIGluIGl0cyBsb2NhbCBkb21haW4gKGZhaWxzIGlmIG5vCi0r ICAgICAgICBJUEEgcmVjb3JkcykgV2l0aCAtLWRvbWFpbjogY2xpZW50IHNlYXJjaGVzIGluIHRo ZSBzcGVjaWZpZWQKLSsgICAgICAgIGRvbWFpbiAoc3VjY2VlZHMgZm9yIElQQSBkb21haW4pCi0g ICAgICAgICAiIiIKLS0gICAgICAgIHRlc3Rkb21haW4gPSAiY2xpZW50LnRlc3QiCi0tICAgICAg ICBtc2cxID0gZiJTZWFyY2ggZm9yIExEQVAgU1JWIHJlY29yZCBpbiB7dGVzdGRvbWFpbn0iCi0t ICAgICAgICBtc2cyID0gZiJTZWFyY2ggRE5TIGZvciBTUlYgcmVjb3JkIG9mIF9sZGFwLl90Y3Au e3Rlc3Rkb21haW59IgotLSAgICAgICAgbXNnMyA9ICJBdXRvZGlzY292ZXJ5IGRpZCBub3QgZmlu ZCBMREFQIHNlcnZlciIKLSsgICAgICAgIHRlc3Rkb21haW4xID0gc2VsZi5tYXN0ZXIuZG9tYWlu Lm5hbWUKLSsgICAgICAgIGNsaWVudDIgPSBzZWxmLnRydXN0ZWRfY2xpZW50c1swXQotKyAgICAg ICAgdGFza3MudW5pbnN0YWxsX2NsaWVudChjbGllbnQyKQotKyAgICAgICAgY2xpZW50Mi5ydW5f Y29tbWFuZChbImlwYS1jbGllbnQtaW5zdGFsbCIsICItLWRvbWFpbiIsIHRlc3Rkb21haW4xLAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tcmVhbG0iLCBzZWxmLm1hc3Rlci5kb21h aW4ucmVhbG0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1zZXJ2ZXIiLCBzZWxm Lm1hc3Rlci5ob3N0bmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItcCIsIGNs aWVudDIuY29uZmlnLmFkbWluX25hbWUsICItdyIsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjbGllbnQyLmNvbmZpZy5hZG1pbl9wYXNzd29yZCwgIi1VIl0KLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKQotKyAgICAgICAgcmVzdWx0ID0gYWRkX2F1dG9tb3VudCgKLSsgICAg ICAgICAgICBjbGllbnQyLCBleHRyYV9hcmdzPVsnLS1kZWJ1ZycsICctVSddCi0rICAgICAgICAp Ci0rICAgICAgICBtc2cgPSAiU2VhcmNoIEROUyBmb3IgU1JWIHJlY29yZCBvZiBfbGRhcC5fdGNw LnswfSIKLSsgICAgICAgIGFzc2VydCBtc2cuZm9ybWF0KGNsaWVudDIuZG9tYWluLm5hbWUpIGlu IHJlc3VsdC5zdGRlcnJfdGV4dAotKyAgICAgICAgcmVtb3ZlX2F1dG9tb3VudChjbGllbnQyKQot KyAgICAgICAgcmVzdWx0MiA9IGFkZF9hdXRvbW91bnQoCi0rICAgICAgICAgICAgY2xpZW50Miwg ZXh0cmFfYXJncz1bJy0tZGVidWcnLCAnLS1kb21haW4nLCB0ZXN0ZG9tYWluMSwgJy1VJ10KLSsg ICAgICAgICkKLSsgICAgICAgIGFzc2VydCBtc2cuZm9ybWF0KHRlc3Rkb21haW4xKSBpbiByZXN1 bHQyLnN0ZGVycl90ZXh0Ci0gCi0rICAgIEBweXRlc3QubWFyay5wYXJhbWV0cml6ZSgKLSsgICAg ICAgICJkb21haW5faW5wdXQsZXhwZWN0ZWRfc3VjY2Vzcyx0ZXN0X2Rlc2NyaXB0aW9uIiwgWwot KyAgICAgICAgICAgICgie2lwYV9kb21haW59IiwgVHJ1ZSwgInZhbGlkIElQQSBkb21haW4gc2hv dWxkIHN1Y2NlZWQiKSwKLSsgICAgICAgICAgICAoImNsaWVudC50ZXN0IiwgRmFsc2UsICJub24t SVBBIGRvbWFpbiBzaG91bGQgZmFpbCBkaXNjb3ZlcnkiKSwKLSsgICAgICAgICAgICAoIiAgZXhh bXBsZS5jb20gICIsIFRydWUsICJ3aGl0ZXNwYWNlIHNob3VsZCBiZSB0cmltbWVkIiksCi0rICAg ICAgICAgICAgKCJFWEFNUExFLkNPTSIsIFRydWUsICJ1cHBlcmNhc2Ugc2hvdWxkIHdvcmsiKSwK LSsKLSsgICAgICAgIF0pCi0rICAgIGRlZiB0ZXN0X2F1dG9tb3VudF9kb21haW5fb3B0aW9uX2lu dGVncmF0aW9uKAotKyAgICAgICAgICAgIHNlbGYsIGRvbWFpbl9pbnB1dCwgZXhwZWN0ZWRfc3Vj Y2VzcywgdGVzdF9kZXNjcmlwdGlvbik6Ci0rICAgICAgICAiIiJUZXN0IGZvciAtLWRvbWFpbiBh ZmZlY3RzIEROUyBkaXNjb3ZlcnkgYW5kIHN5c3RlbSBpbnRlZ3JhdGlvbi4KLSsKLSsgICAgICAg IFRoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IHRoZSAtLWRvbWFpbiBvcHRpb24gYWN0dWFsbHkgY2hh bmdlcyB0aGUgRE5TCi0rICAgICAgICBkaXNjb3ZlcnkgYmVoYXZpb3IgYW5kIHN5c3RlbSBjb25m aWd1cmF0aW9uLCBub3QganVzdCBpbnB1dCB2YWxpZGF0aW9uLgotKwotKyAgICAgICAgVGVzdCBj YXNlczoKLSsgICAgICAgIC0gVmFsaWQgSVBBIGRvbWFpbjogU2hvdWxkIHN1Y2Nlc3NmdWxseSBk aXNjb3ZlciBJUEEgc2VydmljZXMgYW5kCi0rICAgICAgICAgIGNvbmZpZ3VyZSBhdXRvbW91bnQg Y29ycmVjdGx5Ci0rICAgICAgICAtIE5vbi1JUEEgZG9tYWluOiBTaG91bGQgZmFpbCBkaXNjb3Zl cnkgc2luY2Ugbm8gSVBBIEROUyByZWNvcmRzCi0rICAgICAgICAgIGV4aXN0IGluIHRoYXQgZG9t YWluCi0rICAgICAgICAiIiIKLSsgICAgICAgIGNsaWVudCA9IHNlbGYuY2xpZW50c1swXQotKyAg ICAgICAgaXBhX2RvbWFpbiA9IHNlbGYubWFzdGVyLmRvbWFpbi5uYW1lCi0rCi0rICAgICAgICAj IFJlcGxhY2UgcGxhY2Vob2xkZXJzIGluIGRvbWFpbl9pbnB1dAotKyAgICAgICAgZG9tYWluX3Rv X3Rlc3QgPSBkb21haW5faW5wdXQuZm9ybWF0KGlwYV9kb21haW49aXBhX2RvbWFpbikKLSsKLSsg ICAgICAgIGlmIGV4cGVjdGVkX3N1Y2Nlc3M6Ci0rICAgICAgICAgICAgIyBTaG91bGQgc3VjY2Vl ZAotKyAgICAgICAgICAgIGFkZF9hdXRvbW91bnQoCi0rICAgICAgICAgICAgICAgIGNsaWVudCwg ZXh0cmFfYXJncz1bJy0tZG9tYWluJywgZG9tYWluX3RvX3Rlc3QsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJy0tZGVidWcnLCAnLVUnXQotKyAgICAgICAgICAgICkKLSsg ICAgICAgICAgICAjIFZlcmlmeSBjb25maWd1cmF0aW9uIGlmIHN1Y2Nlc3NmdWwKLSsgICAgICAg ICAgICBzc3NkX2NvbmYgPSBjbGllbnQuZ2V0X2ZpbGVfY29udGVudHMoCi0rICAgICAgICAgICAg ICAgIHBhdGhzLlNTU0RfQ09ORikuZGVjb2RlKCkKLSsgICAgICAgICAgICBhc3NlcnQgImF1dG9m c19wcm92aWRlciA9IGlwYSIgaW4gc3NzZF9jb25mLCBcCi0rICAgICAgICAgICAgICAgICJBdXRv ZnMgcHJvdmlkZXIgc2hvdWxkIGJlIHNldCB0byBpcGEiCi0rICAgICAgICAgICAgIyBDbGVhbiB1 cAotKyAgICAgICAgICAgIHJlbW92ZV9hdXRvbW91bnQoY2xpZW50KQotKyAgICAgICAgZWxzZToK LSsgICAgICAgICAgICAjIFNob3VsZCBmYWlsCi0rICAgICAgICAgICAgcmVzdWx0ID0gY2xpZW50 LnJ1bl9jb21tYW5kKFsKLSsgICAgICAgICAgICAgICAgJ2lwYS1jbGllbnQtYXV0b21vdW50Jywg Jy0tZG9tYWluJywgZG9tYWluX3RvX3Rlc3QsCi0rICAgICAgICAgICAgICAgICctLWRlYnVnJwot KyAgICAgICAgICAgIF0sIHN0ZGluX3RleHQ9Im4iLCByYWlzZW9uZXJyPUZhbHNlKQotKyAgICAg ICAgICAgIGFzc2VydCAoCi0rICAgICAgICAgICAgICAgIHJlc3VsdC5yZXR1cm5jb2RlICE9IDAK LSsgICAgICAgICAgICAgICAgb3IgIkF1dG9kaXNjb3ZlcnkgZGlkIG5vdCBmaW5kIExEQVAgc2Vy dmVyIiBpbgotKyAgICAgICAgICAgICAgICByZXN1bHQuc3RkZXJyX3RleHQKLSsgICAgICAgICAg ICAgICAgb3IgIkludmFsaWQgZG9tYWluIiBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSsgICAgICAg ICAgICApLCBmIlNob3VsZCBoYXZlIGZhaWxlZDoge3Rlc3RfZGVzY3JpcHRpb259IgotKwotKyAg ICBkZWYgdGVzdF9hdXRvbW91bnRfZG9tYWluX29wdGlvbl9vdmVycmlkZXNfZGlzY292ZXJ5KHNl bGYpOgotKyAgICAgICAgIiIiVGVzdCB0aGF0IGV4cGxpY2l0IC0tZG9tYWluIG9wdGlvbiBvdmVy cmlkZXMgYXV0b21hdGljIGRpc2NvdmVyeS4iIiIKLSAgICAgICAgIGNsaWVudCA9IHNlbGYuY2xp ZW50c1swXQotLSAgICAgICAgcmVzdWx0ID0gY2xpZW50LnJ1bl9jb21tYW5kKFsKLS0gICAgICAg ICAgICAnaXBhLWNsaWVudC1hdXRvbW91bnQnLCAnLS1kb21haW4nLCAnY2xpZW50LnRlc3QnLAot LSAgICAgICAgICAgICctLWRlYnVnJwotLSAgICAgICAgXSwgc3RkaW5fdGV4dD0ibiIsIHJhaXNl b25lcnI9RmFsc2UpCi0tICAgICAgICBhc3NlcnQgbXNnMSBpbiByZXN1bHQuc3RkZXJyX3RleHQK LS0gICAgICAgIGFzc2VydCBtc2cyIGluIHJlc3VsdC5zdGRlcnJfdGV4dAotLSAgICAgICAgYXNz ZXJ0IG1zZzMgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rICAgICAgICBpcGFfZG9tYWluID0gc2Vs Zi5tYXN0ZXIuZG9tYWluLm5hbWUKLSsKLSsgICAgICAgICMgRmlyc3QgaW5zdGFsbCB3aXRob3V0 IGRvbWFpbiB0byBlc3RhYmxpc2ggYmFzZWxpbmUKLSsgICAgICAgIHJlc3VsdF9hdXRvID0gYWRk X2F1dG9tb3VudChjbGllbnQsIGV4dHJhX2FyZ3M9WyctLWRlYnVnJywgJy1VJ10pCi0rICAgICAg ICBhc3NlcnQgIlNlYXJjaCBETlMgZm9yIFNSViByZWNvcmQiIGluIHJlc3VsdF9hdXRvLnN0ZGVy cl90ZXh0Ci0rICAgICAgICByZW1vdmVfYXV0b21vdW50KGNsaWVudCkKLSsKLSsgICAgICAgICMg Tm93IHdpdGggZXhwbGljaXQgZG9tYWluCi0rICAgICAgICByZXN1bHRfZXhwbGljaXQgPSBhZGRf YXV0b21vdW50KAotKyAgICAgICAgICAgIGNsaWVudCwgZXh0cmFfYXJncz1bJy0tZG9tYWluJywg aXBhX2RvbWFpbiwgJy0tZGVidWcnLCAnLVUnXQotKyAgICAgICAgKQotKyAgICAgICAgZXhwbGlj aXRfZG9tYWluX21zZyA9ICgKLSsgICAgICAgICAgICBmIlVzaW5nIGRvbWFpbiAne2lwYV9kb21h aW59JyIgaW4gcmVzdWx0X2V4cGxpY2l0LnN0ZGVycl90ZXh0Ci0rICAgICAgICAgICAgb3IgZiJT ZWFyY2ggRE5TIGZvciBTUlYgcmVjb3JkIG9mIF9sZGFwLl90Y3Aue2lwYV9kb21haW59IgotKyAg ICAgICAgICAgIGluIHJlc3VsdF9leHBsaWNpdC5zdGRlcnJfdGV4dAotKyAgICAgICAgKQotKwot KyAgICAgICAgYXNzZXJ0IGV4cGxpY2l0X2RvbWFpbl9tc2csIFwKLSsgICAgICAgICAgICAiRXhw bGljaXQgZG9tYWluIHNob3VsZCBvdmVycmlkZSBhdXRvbWF0aWMgZGlzY292ZXJ5IgotKwotKyAg ICAgICAgIyBGaW5hbCBjbGVhbnVwCi0rICAgICAgICByZW1vdmVfYXV0b21vdW50KGNsaWVudCkK LSsKLSsgICAgZGVmIHRlc3RfYXV0b21vdW50X2RvbWFpbl9oaW50X2Zvcl9jcm9zc19kb21haW5f ZGlzY292ZXJ5KHNlbGYpOgotKyAgICAgICAgIiIiVGVzdCB0aGF0IC0tZG9tYWluIG9wdGlvbiBl bmFibGVzIGRpc2NvdmVyeSB3aGVuIGNsaWVudCBpcyBpbgotKyAgICAgICAgICAgYSBkaWZmZXJl bnQgZG9tYWluIHRoYW4gdGhlIElQQSBkb21haW4uCi0rICAgICAgICAiIiIKLSsgICAgICAgIGNs aWVudCA9IHNlbGYuY2xpZW50c1swXQotKyAgICAgICAgb3RoZXJfZG9tYWluID0gc2VsZi50cnVz dGVkX21hc3Rlci5kb21haW4ubmFtZQotKyAgICAgICAgdGFza3MudW5pbnN0YWxsX2NsaWVudChj bGllbnQpCi0rICAgICAgICAjIEFkZCBETlMgZm9yd2FyZGVyCi0rICAgICAgICBzZWxmLm1hc3Rl ci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgImlwYSIsICJkbnNmb3J3YXJkem9uZS1hZGQi LCBzZWxmLnRydXN0ZWRfbWFzdGVyLmRvbWFpbi5uYW1lLAotKyAgICAgICAgICAgICItLWZvcndh cmRlciIsIHNlbGYudHJ1c3RlZF9tYXN0ZXIuaXAsCi0rICAgICAgICAgICAgIi0tZm9yd2FyZC1w b2xpY3k9b25seSIKLSsgICAgICAgIF0pCi0rICAgICAgICBzZWxmLnRydXN0ZWRfbWFzdGVyLnJ1 bl9jb21tYW5kKFsKLSsgICAgICAgICAgICAiaXBhIiwgImRuc2ZvcndhcmR6b25lLWFkZCIsIHNl bGYubWFzdGVyLmRvbWFpbi5uYW1lLAotKyAgICAgICAgICAgICItLWZvcndhcmRlciIsIHNlbGYu bWFzdGVyLmlwLAotKyAgICAgICAgICAgICItLWZvcndhcmQtcG9saWN5PW9ubHkiCi0rICAgICAg ICBdKQotKyAgICAgICAgIyBCYWNrdXAgb3JpZ2luYWwgcmVzb2x2LmNvbmYKLSsgICAgICAgIHRh c2tzLmJhY2t1cF9maWxlKGNsaWVudCwgcGF0aHMuUkVTT0xWX0NPTkYpCi0rCi0rICAgICAgICB0 cnk6Ci0rICAgICAgICAgICAgIyBJbnN0YWxsIGNsaWVudCBpbiBhIGRvbWFpbiBvdGhlciB0aGFu IHRoZSBJUEEgZG9tYWluCi0rICAgICAgICAgICAgbm9uX2lwYV9yZXNvbHZfY29uZiA9IGYiIiJz ZWFyY2gge290aGVyX2RvbWFpbn0KLStuYW1lc2VydmVyIHtzZWxmLnRydXN0ZWRfbWFzdGVyLmlw fQotKyIiIgotKyAgICAgICAgICAgIGNsaWVudC5wdXRfZmlsZV9jb250ZW50cyhwYXRocy5SRVNP TFZfQ09ORiwgbm9uX2lwYV9yZXNvbHZfY29uZikKLSsKLSsgICAgICAgICAgICAjIEVuc3VyZSBj bGllbnQgaXMgaW5zdGFsbGVkIGZvciB0aGUgdGVzdAotKyAgICAgICAgICAgIHRhc2tzLnVuaW5z dGFsbF9jbGllbnQoY2xpZW50KQotKyAgICAgICAgICAgIGNsaWVudC5ydW5fY29tbWFuZChbImlw YS1jbGllbnQtaW5zdGFsbCIsICItLWRvbWFpbiIsIG90aGVyX2RvbWFpbiwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICItLXJlYWxtIiwgc2VsZi50cnVzdGVkX21hc3Rlci5kb21h aW4ucmVhbG0sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLS1zZXJ2ZXIiLCBz ZWxmLnRydXN0ZWRfbWFzdGVyLmhvc3RuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIi1wIiwgY2xpZW50LmNvbmZpZy5hZG1pbl9uYW1lLCAiLXciLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY2xpZW50LmNvbmZpZy5hZG1pbl9wYXNzd29yZCwgIi1VIl0K LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQotKyAgICAgICAgICAgICMgVmVyaWZ5 IEROUyBkaXNjb3Zlcnkgd2lsbCBmYWlsIHdoZW4gY2xpZW50IGlzIGluIE5vbi1JUEEgZG9tYWlu Ci0rICAgICAgICAgICAgIyBBdHRlbXB0IGF1dG9tb3VudCB3aXRoIC0tZG9tYWluIGhpbnQgKHNo b3VsZCBzdWNjZWVkKQotKyAgICAgICAgICAgIG5vZG9tYWluID0gYWRkX2F1dG9tb3VudCgKLSsg ICAgICAgICAgICAgICAgY2xpZW50LCBleHRyYV9hcmdzPVsnLS1kZWJ1ZycsICctVSddCi0rICAg ICAgICAgICAgKQotKyAgICAgICAgICAgICMgVmVyaWZ5IGRpc2NvdmVyeSBmYWlscy4KLSsgICAg ICAgICAgICBhc3NlcnQgIkROUyByZWNvcmQgbm90IGZvdW5kIiBpbiBub2RvbWFpbi5zdGRlcnJf dGV4dAotKyAgICAgICAgICAgIHJlbW92ZV9hdXRvbW91bnQoY2xpZW50KQotKwotKyAgICAgICAg ICAgICMgQXR0ZW1wdCBhdXRvbW91bnQgd2l0aCAtLWRvbWFpbiBoaW50IChzaG91bGQgc3VjY2Vl ZCkKLSsgICAgICAgICAgICB3aXRoZG9tYWluID0gYWRkX2F1dG9tb3VudCgKLSsgICAgICAgICAg ICAgICAgY2xpZW50LCBleHRyYV9hcmdzPVsnLS1kb21haW4nLCBvdGhlcl9kb21haW4sCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy0tZGVidWcnLCAnLVUnXQotKyAgICAg ICAgICAgICkKLSsgICAgICAgICAgICAjIFZlcmlmeSBkaXNjb3ZlcnkgZmluZHMgYSBJUEEgc2Vy dmVyLgotKyAgICAgICAgICAgIGFzc2VydCAiRE5TIHJlY29yZCBmb3VuZCIgaW4gd2l0aGRvbWFp bi5zdGRlcnJfdGV4dAotKyAgICAgICAgICAgIGlwYV9kaXNjb3ZlcnkgPSAoCi0rICAgICAgICAg ICAgICAgIGYiVmFsaWRhdGVkIHNlcnZlcnM6IHtzZWxmLnRydXN0ZWRfbWFzdGVyLmhvc3RuYW1l fSIKLSsgICAgICAgICAgICAgICAgaW4gd2l0aGRvbWFpbi5zdGRlcnJfdGV4dAotKyAgICAgICAg ICAgICkKLSsgICAgICAgICAgICBhc3NlcnQgaXBhX2Rpc2NvdmVyeSwgXAotKyAgICAgICAgICAg ICAgICAiQXV0b2Rpc2NvdmVyeSBzdWNjZXNzIgotKyAgICAgICAgICAgICMgVmVyaWZ5IGNvbmZp Z3VyYXRpb24gd2FzIGFwcGxpZWQgY29ycmVjdGx5Ci0rICAgICAgICAgICAgc3NzZF9jb25mID0g Y2xpZW50LmdldF9maWxlX2NvbnRlbnRzKHBhdGhzLlNTU0RfQ09ORikuZGVjb2RlKCkKLSsgICAg ICAgICAgICBhc3NlcnQgImF1dG9mc19wcm92aWRlciA9IGlwYSIgaW4gc3NzZF9jb25mLCBcCi0r ICAgICAgICAgICAgICAgICJBdXRvZnMgcHJvdmlkZXIgc2hvdWxkIGJlIGNvbmZpZ3VyZWQiCi0r ICAgICAgICBmaW5hbGx5OgotKyAgICAgICAgICAgICMgQ2xlYW51cDogcmVzdG9yZSBvcmlnaW5h bCByZXNvbHYuY29uZiBhbmQgdW5pbnN0YWxsCi0rICAgICAgICAgICAgdGFza3MucmVzdG9yZV9m aWxlcyhjbGllbnQpCi0rICAgICAgICAgICAgcmVtb3ZlX2F1dG9tb3VudChjbGllbnQpCi1kaWZm IC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pcGFsaWIvdGVzdF91dGlsLnB5IGIvaXBhdGVzdHMvdGVz dF9pcGFsaWIvdGVzdF91dGlsLnB5Ci1pbmRleCA3NGEzMmI3MmMuLmJhMWI5ZjEyMCAxMDA2NDQK LS0tLSBhL2lwYXRlc3RzL3Rlc3RfaXBhbGliL3Rlc3RfdXRpbC5weQotKysrIGIvaXBhdGVzdHMv dGVzdF9pcGFsaWIvdGVzdF91dGlsLnB5Ci1AQCAtMTEsOCArMTEsMTAgQEAgZnJvbSB1bml0dGVz dCBpbXBvcnQgbW9jawotIGltcG9ydCBweXRlc3QKLSAKLSBmcm9tIGlwYWxpYi51dGlsIGltcG9y dCAoCi0tICAgIGdldF9wYWdlciwgY3JlYXRlX2h0dHBzX2Nvbm5lY3Rpb24sIGdldF9wcm9wZXJf dGxzX3ZlcnNpb25fc3BhbgotKyAgICBnZXRfcGFnZXIsIGNyZWF0ZV9odHRwc19jb25uZWN0aW9u LCBnZXRfcHJvcGVyX3Rsc192ZXJzaW9uX3NwYW4sCi0rICAgIHZhbGlkYXRlX2RvbWFpbl9uYW1l Ci0gKQotKwotIGZyb20gaXBhcGxhdGZvcm0uY29uc3RhbnRzIGltcG9ydCBjb25zdGFudHMKLSAK LSAKLUBAIC0yNyw3ICsyOSw3IEBAIGZyb20gaXBhcGxhdGZvcm0uY29uc3RhbnRzIGltcG9ydCBj b25zdGFudHMKLSBkZWYgdGVzdF9nZXRfcGFnZXIocGFnZXIsIGV4cGVjdGVkX3Jlc3VsdCk6Ci0g ICAgIHdpdGggbW9jay5wYXRjaC5kaWN0KG9zLmVudmlyb24sIHsnUEFHRVInOiBwYWdlcn0pOgot ICAgICAgICAgcGFnZXIgPSBnZXRfcGFnZXIoKQotLSAgICAgICAgYXNzZXJ0KHBhZ2VyID09IGV4 cGVjdGVkX3Jlc3VsdCBvciBwYWdlci5lbmRzd2l0aChleHBlY3RlZF9yZXN1bHQpKQotKyAgICAg ICAgYXNzZXJ0IChwYWdlciA9PSBleHBlY3RlZF9yZXN1bHQgb3IgcGFnZXIuZW5kc3dpdGgoZXhw ZWN0ZWRfcmVzdWx0KSkKLSAKLSAKLSBCQVNFX0NUWCA9IHNzbC5TU0xDb250ZXh0KHNzbC5QUk9U T0NPTF9UTFMpCi1AQCAtNzUsMyArNzcsMTggQEAgZGVmIHRlc3RfdGxzX3ZlcnNpb25fc3Bhbiht aW52ZXIsIG1heHZlciwgb3B0LCBleHBlY3RlZCk6Ci0gICAgIGN0eCA9IGdldGF0dHIoY29ubiwg Il9jb250ZXh0IikKLSAgICAgYXNzZXJ0IGN0eC5vcHRpb25zID09IEJBU0VfT1BUIHwgb3B0Ci0g ICAgIGFzc2VydCBjdHguZ2V0X2NpcGhlcnMoKSA9PSBCQVNFX0NUWC5nZXRfY2lwaGVycygpCi0r Ci0rCi0rQHB5dGVzdC5tYXJrLnBhcmFtZXRyaXplKCJkb21haW5faW5wdXQsZXhwZWN0ZWRfdmFs aWQsZGVzY3JpcHRpb24iLCBbCi0rICAgICgiaW52YWxpZC4uZG9tYWluIiwgRmFsc2UsICJkb3Vi bGUgZG90cyBzaG91bGQgYmUgcmVqZWN0ZWQiKSwKLSsgICAgKCIuaW52YWxpZC5kb21haW4iLCBG YWxzZSwgImxlYWRpbmcgZG90IHNob3VsZCBiZSByZWplY3RlZCIpLAotKyAgICAoImludmFsaWQg ZG9tYWluIHdpdGggc3BhY2VzIiwgRmFsc2UsICJzcGFjZXMgc2hvdWxkIGJlIHJlamVjdGVkIiks Ci0rICAgICgidG9vbG9uZyIgKyAieCIgKiAyNTAgKyAiLmRvbWFpbiIsIEZhbHNlLCAib3Zlcmx5 IGxvbmcgZG9tYWluIHJlamVjdGVkIiksCi0rICAgICgiIiwgRmFsc2UsICJlbXB0eSBzdHJpbmcg c2hvdWxkIGJlIHJlamVjdGVkIiksCi0rICAgICgic2luZ2xlIiwgRmFsc2UsICJzaW5nbGUgbGFi ZWwgc2hvdWxkIGJlIHJlamVjdGVkIiksCi0rXSkKLStkZWYgdGVzdF92YWxpZGF0ZV9kb21haW5f bmFtZShkb21haW5faW5wdXQsIGV4cGVjdGVkX3ZhbGlkLCBkZXNjcmlwdGlvbik6Ci0rICAgICIi IlRlc3QgZG9tYWluIG5hbWUgdmFsaWRhdGlvbiBsb2dpYyBpbiBpcGFsaWIudXRpbC52YWxpZGF0 ZV9kb21haW5fbmFtZSIiIgotKwotKyAgICB3aXRoIHB5dGVzdC5yYWlzZXMoKFZhbHVlRXJyb3Is IFR5cGVFcnJvcikpOgotKyAgICAgICAgdmFsaWRhdGVfZG9tYWluX25hbWUoZG9tYWluX2lucHV0 KQotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDA5YWNjODYxNjkyZDI2NWI3MmQwNTgxOTJmOWRkNmYw NzU4MTgzOWMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBTYW0gTW9ycmlzIDxzYW1A cm9ib3RzLm9yZy51az4KLURhdGU6IFRodSwgMzEgSnVsIDIwMjUgMTU6NTI6MzcgKzAxMDAKLVN1 YmplY3Q6IFtQQVRDSCAyNi80N10gRml4IGlwYS1jbGllbnQtaW5zdGFsbCBmYWlsdXJlIHdoZW4g YSB0cnVzdGVkIENBJ3MKLSBkaXN0aW5ndWlzaGVkIG5hbWUgY29udGFpbnMgc2xhc2ggY2hhcmFj dGVycwotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS84OTI0Ci1TaWdu ZWQtb2ZmLWJ5OiBTYW0gTW9ycmlzIDxzYW1Acm9ib3RzLm9yZy51az4KLVJldmlld2VkLUJ5OiBS b2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5k ZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNvbT4KLS0tLQotIGlwYXBsYXRmb3JtL2RlYmlh bi90YXNrcy5weSB8IDEyICsrKysrKysrKy0tLQotIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGFwbGF0Zm9ybS9kZWJpYW4v dGFza3MucHkgYi9pcGFwbGF0Zm9ybS9kZWJpYW4vdGFza3MucHkKLWluZGV4IDhhNTBjNjZiYy4u YjU2YjVhMjZiIDEwMDY0NAotLS0tIGEvaXBhcGxhdGZvcm0vZGViaWFuL3Rhc2tzLnB5Ci0rKysg Yi9pcGFwbGF0Zm9ybS9kZWJpYW4vdGFza3MucHkKLUBAIC0xNDYsOSArMTQ2LDE1IEBAIHVzZWQg YnkgY2EtY2VydGlmaWNhdGVzIGFuZCBpcyBwcm92aWRlZCBmb3IgaW5mb3JtYXRpb24gb25seS5c Ci0gICAgICAgICAgICAgIyBDQXMgd2hvIHVzZWQgdGhlIHNhbWUgc2VyaWFsIG51bWJlcj8pCi0g ICAgICAgICAgICAgZmlsZW5hbWUgPSBmJ3tzdWJqZWN0LmxkYXBfdGV4dCgpfSB7Y2VydC5zZXJp YWxfbnVtYmVyfS5jcnQnCi0gCi0tICAgICAgICAgICAgIyBweWxpbnQ6IGRpc2FibGU9b2xkLWRp dmlzaW9uCi0tICAgICAgICAgICAgY2VydF9wYXRoID0gcGF0aCAvIGZpbGVuYW1lCi0tICAgICAg ICAgICAgIyBweWxpbnQ6IGVuYWJsZT1vbGQtZGl2aXNpb24KLSsgICAgICAgICAgICAjIFNvbWUg Q0FzIGhhdmUgRE5zIHdpdGggYSAvIG9yIE5VTCBjaGFyYWN0ZXIsIHdoaWNoIGFyZSBub3QgbGVn YWwKLSsgICAgICAgICAgICAjIGluIHBhdGhzLiBBbHNvIGVzY2FwZSBzb21lIG90aGVyIGFubm95 aW5nIGNoYXJhY3RlcnMgZm9yIGdvb2QKLSsgICAgICAgICAgICAjIG1lYXN1cmUuCi0rICAgICAg ICAgICAgYmFkX2NoYXJzID0geydcMCcsICcvJywgJzonfQotKyAgICAgICAgICAgIHNhZmVfZmls ZW5hbWUgPSAnJy5qb2luKAotKyAgICAgICAgICAgICAgICAoJy0nIGlmIGMgaW4gYmFkX2NoYXJz IGVsc2UgYyBmb3IgYyBpbiBmaWxlbmFtZSkKLSsgICAgICAgICAgICApCi0rCi0rICAgICAgICAg ICAgY2VydF9wYXRoID0gb3MucGF0aC5qb2luKHBhdGgsIHNhZmVfZmlsZW5hbWUpCi0gICAgICAg ICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICBmID0gb3BlbihjZXJ0X3BhdGgsICd3JykKLSAg ICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDcyZTFh MWRiNmViNzYyODExZTM3ZTViNGQ5MjliNDdiNGE2OWYwMDYgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTog TW9uLCAyNSBBdWcgMjAyNSAxNTozMjozOCArMDIwMAotU3ViamVjdDogW1BBVENIIDI3LzQ3XSBT cGVjIGZpbGU6IGJ1bXAgc2FtYmEgdmVyc2lvbiB0byA0LjIzLjAgaW4gZjQzIGFuZAotIGFib3Zl Ci0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk4NDMKLVNpZ25lZC1v ZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBmcmVlaXBh LnNwZWMuaW4gfCAxMCArKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMo KykKLQotZGlmZiAtLWdpdCBhL2ZyZWVpcGEuc3BlYy5pbiBiL2ZyZWVpcGEuc3BlYy5pbgotaW5k ZXggMWNiM2QwMjMzLi41ZDVkNzVhNDkgMTAwNzU1Ci0tLS0gYS9mcmVlaXBhLnNwZWMuaW4KLSsr KyBiL2ZyZWVpcGEuc3BlYy5pbgotQEAgLTEwOSw3ICsxMDksMTcgQEAKLSAlZ2xvYmFsIHB5dGhv bl9uZXRhZGRyX3ZlcnNpb24gMC43LjE2Ci0gIyBSZXF1aXJlIDQuNy4wIHdoaWNoIGJyaW5ncyBQ eXRob24gMyBiaW5kaW5ncwotICMgUmVxdWlyZSA0LjEyIHdoaWNoIGhhcyBEc1JHZXRGb3Jlc3RU cnVzdEluZm9ybWF0aW9uIGFjY2VzcyByaWdodHMgZml4ZXMKLSslaWYgMCV7P2ZlZG9yYX0gPD0g NDAKLSAlZ2xvYmFsIHNhbWJhX3ZlcnNpb24gMjo0LjEyLjEwCi0rJWVsaWYgMCV7P2ZlZG9yYX0g PT0gNDEKLSsjIFJlcXVpcmUgNC4yMC4wIG9yIGxhdGVyIGZvciBsaWJuZHI0LCBsYXRlc3QgRjQx IGlzIDQuMjEuNyBhbHJlYWR5Ci0rJWdsb2JhbCBzYW1iYV92ZXJzaW9uIDI6NC4yMS43Ci0rJWVs aWYgMCV7P2ZlZG9yYX0gPT0gNDIKLSslZ2xvYmFsIHNhbWJhX3ZlcnNpb24gMjo0LjIyLjAKLSsl ZWxzZQotKyMgUmVxdWlyZSA0LjIzIGZvciBwYXNzZGIgQUJJIGJ1bXAKLSslZ2xvYmFsIHNhbWJh X3ZlcnNpb24gMjo0LjIzLjAKLSslZW5kaWYKLSAKLSAjIDMuMTQuNS00NSBvciBsYXRlciBpbmNs dWRlcyBhIG51bWJlciBvZiBpbnRlcmZhY2VzIGZpeGVzIGZvciBJUEEgaW50ZXJmYWNlCi0gIyAz Ni4xNi0xIGZpeGVzIEJaIzIxMTU2OTEKLS0tIAotMi41MS4wCi0KLQotRnJvbSBiYzNjMDk1ZDc0 YzJkNTZhMjAzNDZkYjg3OGU4YzcyNGEyY2ZkMjI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwg MjcgQXVnIDIwMjUgMTc6MTg6NTcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAyOC80N10gRE5TIG92 ZXIgVExTOiB1c2Ugc3lzdGVtIHRydXN0IHN0b3JlCi0KLVdoZW4gYSBjbGllbnQgb3Igc2VydmVy IGlzIGNvbmZpZ3VyZWQgd2l0aCBEb1QsIHRoZSBpbnN0YWxsZXIKLWNyZWF0ZXMgL2V0Yy91bmJv dW5kL2NvbmYuZC96enotaXBhLmNvbmYgd2l0aAotICAgIHRscy1jZXJ0LWJ1bmRsZTogL2V0Yy9w a2kvdGxzL2NlcnRzL2NhLWJ1bmRsZS5jcnQKLQotVGhpcyBjZXJ0aWZpY2F0ZSBidW5kbGUgZG9l cyBub3QgZXhpc3QgYW55IG1vcmUgaW4gZmVkb3JhIDQzKwotKGh0dHBzOi8vZmVkb3JhcHJvamVj dC5vcmcvd2lraS9DaGFuZ2VzL2Ryb3BwaW5nT2ZDZXJ0UGVtRmlsZSkKLWFuZCB0aGUgbWlzc2lu ZyBmaWxlIHByZXZlbnRzIHVuYm91bmQgc2VydmljZSBmcm9tIHN0YXJ0aW5nLgotCi1UaGUgY29u ZmlndXJhdGlvbiBzaG91bGQgcmF0aGVyIHNldAotICAgIHRscy1zeXN0ZW0tY2VydDogeWVzCi1p biBvcmRlciB0byByZWx5IG9uIHRoZSBzeXN0ZW13aWRlIHRydXN0IHN0b3JlLgotCi1UaGUgdXBn cmFkZSBpcyBhbHNvIGhhbmRsZWQgYnkgdGhpcyBjaGFuZ2UuCi0KLUZpeGVzOiBodHRwczovL3Bh Z3VyZS5pby9mcmVlaXBhL2lzc3VlLzk4MzgKLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5j LVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kg PGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBjbGllbnQvc2hhcmUvdW5ib3VuZC5jb25mLnRl bXBsYXRlIHwgIDIgKy0KLSBmcmVlaXBhLnNwZWMuaW4gICAgICAgICAgICAgICAgICAgIHwgMTEg KysrKysrKysrKysKLSBpcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkgICAgICAgIHwgIDIgLS0K LSBpcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkgICAgICAgICAgIHwgIDIgLS0KLSA0IGZpbGVzIGNo YW5nZWQsIDEyIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9j bGllbnQvc2hhcmUvdW5ib3VuZC5jb25mLnRlbXBsYXRlIGIvY2xpZW50L3NoYXJlL3VuYm91bmQu Y29uZi50ZW1wbGF0ZQotaW5kZXggZjYxMWViYjdlLi45YjFjOTgzZTUgMTAwNjQ0Ci0tLS0gYS9j bGllbnQvc2hhcmUvdW5ib3VuZC5jb25mLnRlbXBsYXRlCi0rKysgYi9jbGllbnQvc2hhcmUvdW5i b3VuZC5jb25mLnRlbXBsYXRlCi1AQCAtMSw1ICsxLDUgQEAKLSBzZXJ2ZXI6Ci0tICAgIHRscy1j ZXJ0LWJ1bmRsZTogJFRMU19DRVJUX0JVTkRMRV9QQVRICi0rICAgIHRscy1zeXN0ZW0tY2VydDog eWVzCi0gICAgIHRscy11cHN0cmVhbTogeWVzCi0gICAgIGludGVyZmFjZTogMTI3LjAuMC41NQot ICAgICBsb2ctc2VydmZhaWw6IHllcwotZGlmZiAtLWdpdCBhL2ZyZWVpcGEuc3BlYy5pbiBiL2Zy ZWVpcGEuc3BlYy5pbgotaW5kZXggNWQ1ZDc1YTQ5Li5jOGRjNjdmNGYgMTAwNzU1Ci0tLS0gYS9m cmVlaXBhLnNwZWMuaW4KLSsrKyBiL2ZyZWVpcGEuc3BlYy5pbgotQEAgLTE0MTMsNiArMTQxMywx NyBAQCBpZiBbICQxIC1ndCAxIF0gOyB0aGVuCi0gICAgICAgICAgICAgZmkKLSAgICAgICAgIGZp Ci0gICAgIGZpCi0rCi0rICAgIFVOQk9VTkRfQ0ZHPS9ldGMvdW5ib3VuZC9jb25mLmQvenp6LWlw YS5jb25mCi0rICAgIGlmIFsgLWYgIiRVTkJPVU5EX0NGRyIgLWEgJHJlc3RvcmUgLWdlIDIgXTsg dGhlbgotKyAgICAgICAgIyBUaGUgY2xpZW50IGhhcyBiZWVuIGNvbmZpZ3VyZWQgZm9yIERvdAot KyAgICAgICAgIyByZXBsYWNlIHRoZSBsaW5lIHRscy1jZXJ0LWJ1bmRsZTogL2V0Yy9wa2kvdGxz L2NlcnRzL2NhLWJ1bmRsZS5jcnQKLSsgICAgICAgICMgd2l0aCB0bHMtc3lzdGVtLWNlcnQ6IHll cwotKyAgICAgICAgIyBTZWUgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0NoYW5nZXMv ZHJvcHBpbmdPZkNlcnRQZW1GaWxlCi0rICAgICAgICBpZiBncmVwIC1FIC1xICd0bHMtY2VydC1i dW5kbGU6IFwvZXRjXC9wa2lcL3Rsc1wvY2VydHNcL2NhLWJ1bmRsZS5jcnQnICAkVU5CT1VORF9D RkcgMj4vZGV2L251bGw7IHRoZW4KLSsgICAgICAgICAgICBzZWQgLUUgLS1pbi1wbGFjZT0ub3Jp ZyAncy90bHMtY2VydC1idW5kbGU6IFwvZXRjXC9wa2lcL3Rsc1wvY2VydHNcL2NhLWJ1bmRsZS5j cnQvdGxzLXN5c3RlbS1jZXJ0OiB5ZXMvJyAkVU5CT1VORF9DRkcKLSsgICAgICAgIGZpCi0rICAg IGZpCi0gZmkKLSAKLSAKLWRpZmYgLS1naXQgYS9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkg Yi9pcGFjbGllbnQvaW5zdGFsbC9jbGllbnQucHkKLWluZGV4IDE4ODVlNGE4ZC4uMmE3ZjRiOTU2 IDEwMDY0NAotLS0tIGEvaXBhY2xpZW50L2luc3RhbGwvY2xpZW50LnB5Ci0rKysgYi9pcGFjbGll bnQvaW5zdGFsbC9jbGllbnQucHkKLUBAIC0xNjkyLDggKzE2OTIsNiBAQCBkZWYgY2xpZW50X2Ru cyhzZXJ2ZXIsIGhvc3RuYW1lLCBvcHRpb25zLCBzdGF0ZXN0b3JlKToKLSAgICAgICAgICAgICBw YXRocy5VTkJPVU5EX0NPTkZfU1JDLAotICAgICAgICAgICAgIHBhdGhzLlVOQk9VTkRfQ09ORiwK LSAgICAgICAgICAgICBkaWN0KAotLSAgICAgICAgICAgICAgICBUTFNfQ0VSVF9CVU5ETEVfUEFU SD1vcy5wYXRoLmpvaW4oCi0tICAgICAgICAgICAgICAgICAgICBwYXRocy5PUEVOU1NMX0NFUlRT X0RJUiwgImNhLWJ1bmRsZS5jcnQiKSwKLSAgICAgICAgICAgICAgICAgRk9SV0FSRF9BRERSUz1m b3J3YXJkX2FkZHIsCi0gICAgICAgICAgICAgICAgIE1PRFVMRV9DT05GSUdfSVRFUkFUT1I9bW9k dWxlX2NvbmZpZ19pdGVyYXRvcgotICAgICAgICAgICAgICkKLWRpZmYgLS1naXQgYS9pcGFzZXJ2 ZXIvaW5zdGFsbC9kbnMucHkgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLWluZGV4IDM5YzJm Njc3Yi4uNzJmOWRlMDdjIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvZG5zLnB5Ci0r KysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC9kbnMucHkKLUBAIC0xNTIsOCArMTUyLDYgQEAgZGVmIF9z ZXR1cF9kbnNfb3Zlcl90bHMob3B0aW9ucyk6Ci0gICAgICAgICBwYXRocy5VTkJPVU5EX0NPTkZf U1JDLAotICAgICAgICAgcGF0aHMuVU5CT1VORF9DT05GLAotICAgICAgICAgZGljdCgKLS0gICAg ICAgICAgICBUTFNfQ0VSVF9CVU5ETEVfUEFUSD1vcy5wYXRoLmpvaW4oCi0tICAgICAgICAgICAg ICAgIHBhdGhzLk9QRU5TU0xfQ0VSVFNfRElSLCAiY2EtYnVuZGxlLmNydCIpLAotICAgICAgICAg ICAgIEZPUldBUkRfQUREUlM9IlxuIi5qb2luKGZvcndhcmRfYWRkcnMpLAotICAgICAgICAgICAg IE1PRFVMRV9DT05GSUdfSVRFUkFUT1I9bW9kdWxlX2NvbmZpZ19pdGVyYXRvcgotICAgICAgICAg KQotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDAzZjQ4YmZmZGQ4MmNjNDhiNTk1MmMxMTJkYjJiMDI0 ZjA4NWQ1ZDQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9yZW5jZSBCbGFuYy1S ZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCA0IFNlcCAyMDI1IDE2OjA4OjIyICsw MjAwCi1TdWJqZWN0OiBbUEFUQ0ggMjkvNDddIHhtbHJwYyB0ZXN0OiBmaXggdGVzdF9maW5kX29y cGhhbl9hdXRvbWVtYmVyX3J1bGVzCi0KLVRoZSB0ZXN0IHdhcyB3cml0dGVuIHdpdGggYSBjb21w bGV4IGxvZ2ljIGRlcGVuZGluZyBvbiB0aGUKLWluc3RhbGxlZCB2ZXJzaW9uIG9mIDM4OS1kcy4g VGhlIGNvbW1hbmQgd2FzIGV4cGVjdGVkIHRvIGZhaWwgaWYKLXZlcnNpb24gPCAxLjQuMC4yMi4K LQotRmVkb3JhIGhhcyBiZWVuIHNoaXBwaW5nIHRoZSBmaXhlZCB2ZXJzaW9uIGZvciBhIGxvbmcg dGltZSBhbHJlYWR5LAotYW5kIHRoZSB0ZXN0IGNhbiBiZSBzaW1wbGlmaWVkLiBNb3Jlb3Zlciwg dGhlIGNvZGUgcmVzcG9uc2libGUKLWZvciByZXRyaWV2aW5nIDM4OSBkcyB2ZXJzaW9uIGRvZXMg bm90IHdvcmsgZm9yIGRzIDMuMS4zIHdoaWNoCi1wcm92aWRlcyBhIHZlbmRvclZlcnNpb24gYXR0 cmlidXRlIG5vdCBjb21wbGlhbnQgd2l0aCBweXRob24KLXZlcnNpb25pbmcgc2NoZW1hLgotCi1G aXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85ODUwCi1TaWduZWQtb2ZmLWJ5 OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gLi4uL3Rlc3RfeG1s cnBjL3Rlc3RfYXV0b21lbWJlcl9wbHVnaW4ucHkgICAgIHwgMjkgKystLS0tLS0tLS0tLS0tLS0t LQotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVzdF9hdXRvbWVtYmVyX3BsdWdpbi5w eSBiL2lwYXRlc3RzL3Rlc3RfeG1scnBjL3Rlc3RfYXV0b21lbWJlcl9wbHVnaW4ucHkKLWluZGV4 IDdmZDZmNmNhNi4uYWE3YzFkNjVhIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF94bWxycGMv dGVzdF9hdXRvbWVtYmVyX3BsdWdpbi5weQotKysrIGIvaXBhdGVzdHMvdGVzdF94bWxycGMvdGVz dF9hdXRvbWVtYmVyX3BsdWdpbi5weQotQEAgLTM1LDggKzM1LDYgQEAgZnJvbSBpcGFzZXJ2ZXIu cGx1Z2lucy5hdXRvbWVtYmVyIGltcG9ydCBSRUJVSUxEX1RBU0tfQ09OVEFJTkVSCi0gCi0gaW1w b3J0IHRpbWUKLSBpbXBvcnQgcHl0ZXN0Ci0taW1wb3J0IHJlCi0tZnJvbSBwYWNrYWdpbmcudmVy c2lvbiBpbXBvcnQgcGFyc2UgYXMgcGFyc2VfdmVyc2lvbgotIAotIHRyeToKLSAgICAgZnJvbSBp cGFzZXJ2ZXIucGx1Z2lucy5sZGFwMiBpbXBvcnQgbGRhcDIKLUBAIC0xNDkyLDMxICsxNDkwLDgg QEAgY2xhc3MgVGVzdEF1dG9tZW1iZXJGaW5kT3JwaGFucyhYTUxSUENfdGVzdCk6Ci0gCi0gICAg ICAgICBob3N0Z3JvdXAxLmVuc3VyZV9taXNzaW5nKCkKLSAKLS0gICAgICAgICMgVGVzdCByZWJ1 aWxkIChpcyBmYWlsaW5nKQotLSAgICAgICAgIyByZWJ1aWxkIGZhaWxzIGlmIDM4OS1kcyBpcyBv bGRlciB0aGFuIDEuNC4wLjIyIHdoZXJlIHVubWVtYmVyaW5nCi0tICAgICAgICAjIGZlYXR1cmUg d2FzIGltcGxlbWVudGVkOiBodHRwczovL3BhZ3VyZS5pby8zODktZHMtYmFzZS9pc3N1ZS81MDA3 NwotLSAgICAgICAgaWYgbm90IGhhdmVfbGRhcDI6Ci0tICAgICAgICAgICAgcHl0ZXN0LnNraXAo J3NlcnZlciBwbHVnaW4gbm90IGF2YWlsYWJsZScpCi0tICAgICAgICBsZGFwID0gbGRhcDIoYXBp KQotLSAgICAgICAgbGRhcC5jb25uZWN0KCkKLS0gICAgICAgIHJvb3Rkc2UgPSBsZGFwLmdldF9l bnRyeShETignJyksIFsndmVuZG9yVmVyc2lvbiddKQotLSAgICAgICAgdmVyc2lvbiA9IHJvb3Rk c2Uuc2luZ2xlX3ZhbHVlLmdldCgndmVuZG9yVmVyc2lvbicpCi0tICAgICAgICAjIFRoZSBmb3Jt YXQgb2YgdmVuZG9yVmVyc2lvbiBpcyB0aGUgZm9sbG93aW5nOgotLSAgICAgICAgIyAzODktRGly ZWN0b3J5LzEuMy44LjQgQjIwMTkuMDM3LjE1MzUKLS0gICAgICAgICMgRXh0cmFjdCBldmVyeXRo aW5nIGJldHdlZW4gMzg5LURpcmVjdG9yeS8gYW5kICcgQicKLS0gICAgICAgIG1vID0gcmUuc2Vh cmNoKHInMzg5LURpcmVjdG9yeS8oLiopIEInLCB2ZXJzaW9uKQotLSAgICAgICAgdmVuZG9yX3Zl cnNpb24gPSBwYXJzZV92ZXJzaW9uKG1vLmdyb3VwcygpWzBdKQotLSAgICAgICAgZXhwZWN0ZWRf ZmFpbHVyZSA9IHZlbmRvcl92ZXJzaW9uIDwgcGFyc2VfdmVyc2lvbignMS40LjAuMjInKQotLQot LSAgICAgICAgdHJ5OgotLSAgICAgICAgICAgIGFwaS5Db21tYW5kWydhdXRvbWVtYmVyX3JlYnVp bGQnXSh0eXBlPXUnaG9zdGdyb3VwJykKLS0gICAgICAgIGV4Y2VwdCBlcnJvcnMuRGF0YWJhc2VF cnJvcjoKLS0gICAgICAgICAgICByZWJ1aWxkX2ZhaWx1cmUgPSBUcnVlCi0tICAgICAgICBlbHNl OgotLSAgICAgICAgICAgIHJlYnVpbGRfZmFpbHVyZSA9IEZhbHNlCi0tICAgICAgICBpZiBleHBl Y3RlZF9mYWlsdXJlICE9IHJlYnVpbGRfZmFpbHVyZToKLS0gICAgICAgICAgICBweXRlc3QuZmFp bCgidW5leHBlY3RlZCByZXN1bHQgZm9yIGF1dG9tZW1iZXJfcmVidWlsZCB3aXRoICIKLS0gICAg ICAgICAgICAgICAgICAgICAgICAiYW4gb3JwaGFuIGF1dG9tZW1iZXIgcnVsZSIpCi0rICAgICAg ICAjIFJlYnVpbGQgd2l0aCBhIG1pc3NpbmcgaG9zdGdyb3VwCi0rICAgICAgICBhcGkuQ29tbWFu ZFsnYXV0b21lbWJlcl9yZWJ1aWxkJ10odHlwZT11J2hvc3Rncm91cCcpCi0gCi0gICAgICAgICAj IEZpbmQgb2Jzb2xldGUgYXV0b21lbWJlciBydWxlcwotICAgICAgICAgcmVzdWx0ID0gYXBpLkNv bW1hbmRbJ2F1dG9tZW1iZXJfZmluZF9vcnBoYW5zJ10odHlwZT11J2hvc3Rncm91cCcpCi0tLSAK LTIuNTEuMAotCi0KLUZyb20gNTM3ZTAzMmFhZTU4OTZiMTJmNmQ1MzEyOTE5NTQ4MzliNzkwYzcx MiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8 ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDkgU2VwIDIwMjUgMTI6NTU6MjggKzAyMDAKLVN1 YmplY3Q6IFtQQVRDSCAzMC80N10gYXp1cmUgd2VidWkgdGVzdHM6IGZvcmNlIGNocm9taXVtIHZl cnNpb24KLQotYXp1cmUgd2VidWkgdGVzdHMgYXJlIGZhaWxpbmcgd2l0aCBjaHJvbWl1bS0xNDAu MC43MzM5LjgwLTEuZmM0MgotRm9yY2UgdG8gaW5zdGFsbCBhbiBvbGRlciB2ZXJzaW9uCi0KLVNp Z25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBp cGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS13ZWJ1aS1mZWRvcmEueW1sIHwgMyArKy0K LSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYg LS1naXQgYS9pcGF0ZXN0cy9henVyZS90ZW1wbGF0ZXMvcHJlcGFyZS13ZWJ1aS1mZWRvcmEueW1s IGIvaXBhdGVzdHMvYXp1cmUvdGVtcGxhdGVzL3ByZXBhcmUtd2VidWktZmVkb3JhLnltbAotaW5k ZXggOWUyZDkzNjFlLi45NTkwYTdkNjIgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy9henVyZS90ZW1w bGF0ZXMvcHJlcGFyZS13ZWJ1aS1mZWRvcmEueW1sCi0rKysgYi9pcGF0ZXN0cy9henVyZS90ZW1w bGF0ZXMvcHJlcGFyZS13ZWJ1aS1mZWRvcmEueW1sCi1AQCAtMSw1ICsxLDYgQEAKLSBzdGVwczoK LSAtIHNjcmlwdDogfAotICAgICBzZXQgLWUKLS0gICAgc3VkbyBkbmYgLXkgaW5zdGFsbCBucG0g Zm9udGNvbmZpZyBndGszIGF0ayBhdC1zcGkyLWF0ayBjaHJvbWl1bQotKyAgICBzdWRvIGRuZiBp bnN0YWxsIC15IGNocm9taXVtLTEzNC4wLjY5OTguMTY1LTEuZmM0MgotKyAgICBzdWRvIGRuZiAt eSBpbnN0YWxsIG5wbSBmb250Y29uZmlnIGd0azMgYXRrIGF0LXNwaTItYXRrCi0gICBkaXNwbGF5 TmFtZTogSW5zdGFsbCBXZWJVSSBVbml0IHRlc3RzIHByZXJlcXVpc2l0ZXMKLS0tIAotMi41MS4w Ci0KLQotRnJvbSBiOTIzMzU1ZmYwNGRkODhiMTUzMGQwYmIyZTAzMjI4MGFmYzVkMzE1IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVk aGF0LmNvbT4KLURhdGU6IFR1ZSwgMjYgQXVnIDIwMjUgMDk6MDA6NDggKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSCAzMS80N10gaXBhdGVzdHM6IHJlbW92ZSB4ZmFpbCBmb3IgUEtJIDExLjcKLQotVGhl IHRlc3QgdGVzdF9jYV9zaG93X2Vycm9yX2hhbmRsaW5nIGlzIGdyZWVuIHdpdGggUEtJIDExLjcK LWJlY2F1c2UgdGhlIFBLSSByZWdyZXNzaW9uIGhhcyBiZWVuIGZpeGVkLgotVXBkYXRlIHRoZSB4 ZmFpbCBjb25kaXRpb24gdG8gMTEuNSA8PSB2ZXJzaW9uIDwgMTEuNy4KLQotRml4ZXM6IGh0dHBz Oi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTYwNgotU2lnbmVkLW9mZi1ieTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBBbGV4YW5kZXIgQm9r b3ZveSA8YWJicmFAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBD cml0dGVuZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2NlcnQucHkgfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2lu dGVncmF0aW9uL3Rlc3RfY2VydC5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9j ZXJ0LnB5Ci1pbmRleCAwNWIyMGI5MTAuLjg0YWRmMmNlYSAxMDA2NDQKLS0tLSBhL2lwYXRlc3Rz L3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVn cmF0aW9uL3Rlc3RfY2VydC5weQotQEAgLTU1OCw4ICs1NTgsMTAgQEAgY2xhc3MgVGVzdENBU2hv d0Vycm9ySGFuZGxpbmcoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICkKLSAgICAgICAgIGVy cm9yX21zZyA9ICdpcGE6IEVSUk9SOiBUaGUgY2VydGlmaWNhdGUgZm9yICcgXAotICAgICAgICAg ICAgICAgICAgICAgJ3t9IGlzIG5vdCBhdmFpbGFibGUgb24gdGhpcyBzZXJ2ZXIuJy5mb3JtYXQo bHdjYSkKLS0gICAgICAgIGJhZF92ZXJzaW9uID0gKHRhc2tzLmdldF9wa2lfdmVyc2lvbihzZWxm Lm1hc3RlcikKLS0gICAgICAgICAgICAgICAgICAgICAgID49IHRhc2tzLnBhcnNlX3ZlcnNpb24o JzExLjUuMCcpKQotKyAgICAgICAgcGtpX3ZlcnNpb24gPSB0YXNrcy5nZXRfcGtpX3ZlcnNpb24o c2VsZi5tYXN0ZXIpCi0rICAgICAgICAjIFRoZSByZWdyZXNzaW9uIHdhcyBpbnRyb2R1Y2VkIGlu IDExLjUgYW5kIGZpeGVkIGluIDExLjcKLSsgICAgICAgIGJhZF92ZXJzaW9uID0gKHRhc2tzLnBh cnNlX3ZlcnNpb24oJzExLjUuMCcpIDw9IHBraV92ZXJzaW9uCi0rICAgICAgICAgICAgICAgICAg ICAgICA8IHRhc2tzLnBhcnNlX3ZlcnNpb24oJzExLjcuMCcpKQotICAgICAgICAgd2l0aCB4ZmFp bF9jb250ZXh0KGJhZF92ZXJzaW9uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYXNv bj0iaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NjA2Iik6Ci0gICAgICAgICAgICAg YXNzZXJ0IGVycm9yX21zZyBpbiByZXN1bHQuc3RkZXJyX3RleHQKLS0tIAotMi41MS4wCi0KLQot RnJvbSA0YTJlOTEyZDIzODZkZmViOTc2NWUzMmRkMjQ0YjMyYjAzY2JmOWE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQotRnJvbTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNv bT4KLURhdGU6IFR1ZSwgMiBTZXAgMjAyNSAxMDowNTozMSArMDIwMAotU3ViamVjdDogW1BBVENI IDMyLzQ3XSBpcGF0ZXN0czogZml4IHRlc3RfY2VydG1vbmdlcl9pcGFfcmVzcG9uZGVyX2pzb25y cGMKLQotVGVzdCBzY2VuYXJpbzoKLS0gaW5zdGFsbCBJUEEgc2VydmVyIGFuZCBjbGllbnQKLS0g c3RvcmUgdGhlIHN0YXJ0IGRhdGUKLS0gcmVxdWVzdCBhIGNlcnRpZmljYXRlIG9uIHRoZSBjbGll bnQgdXNpbmcgaXBhLWdldGNlcnQKLS0gY2hlY2sgaW4gdGhlIGpvdXJuYWwgYWZ0ZXIgc3RhcnQg ZGF0ZSB0aGF0IHRoZSByZXF1ZXN0IHdhcyBkb25lIHVzaW5nIHRoZQotaHR0cHM6Ly8uLi4vaXBh L2pzb24gVVJJCi0KLVRoZSB0ZXN0IG9idGFpbnMgdGhlIHN0YXJ0IGRhdGUgb24gdGhlIHJ1bm5l ci4gQXMgYSBjb25zZXF1ZW5jZSwgaWYgdGhlIHJ1bm5lcgotaXMgbGF0ZSBjb21wYXJlZCB0byB0 aGUgY2xpZW50LCBpdCBtYXkgbWlzcyB0aGUgbWVzc2FnZSBpbiB0aGUgam91cm5hbC4KLVRoZSBk YXRlIHNob3VsZCByYXRoZXIgYmUgb2J0YWluZWQgb24gdGhlIGNsaWVudC4KLQotRml4ZXM6IGh0 dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNzdWUvOTg0OAotU2lnbmVkLW9mZi1ieTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBSb2IgQ3JpdHRl bmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRp b24vdGVzdF9jZXJ0LnB5IHwgNiArKystLS0KLSAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25z KCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2NlcnQucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5w eQotaW5kZXggODRhZGYyY2VhLi5kZGM0ZTA4OWEgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0 X2ludGVncmF0aW9uL3Rlc3RfY2VydC5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlv bi90ZXN0X2NlcnQucHkKLUBAIC0xMyw3ICsxMyw2IEBAIGltcG9ydCBweXRlc3QKLSBpbXBvcnQg cmFuZG9tCi0gaW1wb3J0IHJlCi0gaW1wb3J0IHN0cmluZwotLWltcG9ydCB0aW1lCi0gaW1wb3J0 IHRleHR3cmFwCi0gCi0gZnJvbSBpcGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0aHMKLUBAIC03 MCw5ICs2OSwxMCBAQCBjbGFzcyBUZXN0SW5zdGFsbE1hc3RlckNsaWVudChJbnRlZ3JhdGlvblRl c3QpOgotICAgICBkZWYgaW5zdGFsbChjbHMsIG1oKToKLSAgICAgICAgIHN1cGVyKCkuaW5zdGFs bChtaCkKLSAKLS0gICAgICAgICMgdGltZSB0byBsb29rIGludG8gam91cm5hbCBsb2dzIGluCi0r ICAgICAgICAjIHN0b3JlIHRoZSBzdGFydCB0aW1lIHRvIGxvb2sgaW50byBqb3VybmFsIGxvZ3Mg aW4KLSAgICAgICAgICMgdGVzdF9jZXJ0bW9uZ2VyX2lwYV9yZXNwb25kZXJfanNvbnJwYwotLSAg ICAgICAgY2xzLnNpbmNlID0gdGltZS5zdHJmdGltZSgnJVktJW0tJWQgJUg6JU06JVMnKQotKyAg ICAgICAgcmVzdWx0ID0gY2xzLmNsaWVudHNbMF0ucnVuX2NvbW1hbmQoWydkYXRlJywgJyslWS0l bS0lZCAlSDolTTolUyddKQotKyAgICAgICAgY2xzLnNpbmNlID0gcmVzdWx0LnN0ZG91dF90ZXh0 LnN0cmlwKCkKLSAKLSAgICAgZGVmIHRlc3RfY2FjZXJ0X2ZpbGVfYXBwZWFyX3dpdGhfb3B0aW9u X0Yoc2VsZik6Ci0gICAgICAgICAiIiJUZXN0IGlmIGdldGNlcnQgY3JlYXRlcyBjYWNlcnQgZmls ZSB3aXRoIC1GIG9wdGlvbgotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDliNjMxZjgwNzIwZmUxZjI0 OTJkMWEzMGJiMWMyNDEwYWY1ZWI1ODcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBG bG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAzIFNlcCAy MDI1IDE0OjU3OjUyICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMzMvNDddIGlwYXRlc3RzOiBmaXgg dGVzdF9vdHAKLQotVGhlIHRlc3QgaXMgcGVyZm9ybWluZyBzc2ggZnJvbSB0aGUgcnVubmVyIHRv IHRoZSBtYXN0ZXIKLWJ1dCBpcyB1c2luZyB0aGUgZXh0ZXJuYWxfaG9zdG5hbWUgYW5kIHJhbmRv bWx5IGZhaWxzLgotCi1NYWtlIHN1cmUgdG8gdXNlIHRoZSBjb25maWd1cmVkIGhvc3RuYW1lIGlu c3RlYWQuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk4NDkKLVNp Z25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZp ZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0 ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3Rfb3RwLnB5IHwgNCArKy0tCi0gMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0 aW9uL3Rlc3Rfb3RwLnB5Ci1pbmRleCAwYmFiYjQ1ODkuLmE0YWRlZWU2OSAxMDA2NDQKLS0tLSBh L2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkKLSsrKyBiL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9vdHAucHkKLUBAIC01MDQsNyArNTA0LDcgQEAgY2xhc3MgVGVz dE9UUFRva2VuKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAgICAgICAgKQotICAgICAgICAgICAg IHdpdGggeGZhaWxfY29udGV4dChyaGVsX2ZhaWwgb3IgZmVkb3JhX2ZhaWwsIHJlYXNvbj1naXRo dWJfdGlja2V0KToKLSAgICAgICAgICAgICAgICAgcmVzdWx0ID0gc3NoXzJmYV93aXRoX2NtZCht YXN0ZXIsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5t YXN0ZXIuZXh0ZXJuYWxfaG9zdG5hbWUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5tYXN0ZXIuaG9zdG5hbWUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVVNFUjMsIFBBU1NXT1JELCBvdHB2YWx1ZT1vdHB2YWx1ZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21tYW5kPSJrbGlz dCIpCi0gICAgICAgICAgICAgICAgIHByaW50KHJlc3VsdC5zdGRvdXRfdGV4dCkKLUBAIC01NTIs NyArNTUyLDcgQEAgY2xhc3MgVGVzdE9UUFRva2VuKEludGVncmF0aW9uVGVzdCk6Ci0gICAgICAg ICAgICAgb3RwdmFsdWUgPSB0b3RwLmdlbmVyYXRlKGludCh0aW1lLnRpbWUoKSkpLmRlY29kZSgn YXNjaWknKQotICAgICAgICAgICAgIHRhc2tzLmNsZWFyX3Nzc2RfY2FjaGUoc2VsZi5tYXN0ZXIp Ci0gICAgICAgICAgICAgcmVzdWx0ID0gc3NoXzJmYV93aXRoX2NtZChtYXN0ZXIsCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hc3Rlci5leHRlcm5hbF9ob3N0 bmFtZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFzdGVy Lmhvc3RuYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVVNFUjQs IFBBU1NXT1JELCBvdHB2YWx1ZT1vdHB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbW1hbmQ9ImtsaXN0IikKLSAgICAgICAgICAgICBwcmludChyZXN1bHQu c3Rkb3V0X3RleHQpCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gN2Q0YjU1NDFiMmRlMzBhOTFjZDFm MTRiNzkwYmZhMzNkY2E4ZWE1ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhh bmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA4IFNlcCAyMDI1 IDE4OjU3OjA5ICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzQvNDddIGRjZXJwYzogbWFrZSBzdXJl IGZvcmVzdCB0cnVzdCBpbmZvIHN0cnVjdHVyZSB2ZXJzaW9uCi0gaXMgMQotCi1bTVMtRFJTUl0g NS42NCBGT1JFU1RfVFJVU1RfSU5GT1JNQVRJT04gZGVmaW5lcyB2ZXJzaW9uIG9mIHRoZQotRm9y ZXN0VHJ1c3RJbmZvIHN0cnVjdHVyZSBhcyAxLiBXZSBkaWRuJ3Qgc2V0IGl0IHNvIGl0IHdhcyBk ZWZhdWx0aW5nIHRvCi16ZXJvLiBTYW1iYSB2YWxpZGF0ZXMgdGhlIHZlcnNpb24gbnVtYmVyIGFu ZCByZWplY3RzIEZvcmVzdFRydXN0SW5mbwotc3RydWN0dXJlcyBmcm9tIEZyZWVJUEEuCi0KLU1h a2Ugc3VyZSBuZXcgc3RydWN0dXJlcyBhcmUgYWx3YXlzIHNldCB0byB2ZXJzaW9uIDEgYW5kIG9s ZCBzdHJ1dHVyZXMKLWZpeGVkIHVwIHRvIGhhdmUgdmVyc2lvbiAxLgotCi1GaXhlczogaHR0cHM6 Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85ODUyCi0KLVNpZ25lZC1vZmYtYnk6IEFsZXhhbmRl ciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJs YW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogSnVsaWVuIFJpc2NoZSA8 anJpc2NoZUByZWRoYXQuY29tPgotLS0tCi0gZGFlbW9ucy9pcGEtc2FtL2lwYV9zYW0uYyB8IDM4 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCi0gaXBhc2VydmVyL2RjZXJw Yy5weSAgICAgICB8ICAxICsKLSAyIGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMgYi9k YWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jCi1pbmRleCAyNmY4ZTg5ZWMuLjNiOGZjOTBmYiAxMDA2 NDQKLS0tLSBhL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMKLSsrKyBiL2RhZW1vbnMvaXBhLXNh bS9pcGFfc2FtLmMKLUBAIC0zMCw2ICszMCw4IEBAIGNoYXIgKnNtYl94c3RyZHVwKGNvbnN0IGNo YXIgKnMpOwotICNpbmNsdWRlIDxzbWJsZGFwLmg+Ci0gCi0gI2luY2x1ZGUgPGdlbl9uZHIvc2Ft ci5oPgotKyNpbmNsdWRlIDxnZW5fbmRyL2Ryc2Jsb2JzLmg+Ci0rI2luY2x1ZGUgPGdlbl9uZHIv bmRyX2Ryc2Jsb2JzLmg+Ci0gCi0gI2luY2x1ZGUgPHBhc3NkYi5oPgotIAotQEAgLTEwMSw3ICsx MDMsNiBAQCBzdHJ1Y3QgdW5peGlkIHsKLSAJZW51bSBpZF90eXBlIHR5cGU7Ci0gfS8qIFtwdWJs aWNdICovOwotIAotLWVudW0gbmRyX2Vycl9jb2RlIG5kcl9wdWxsX3RydXN0QXV0aEluT3V0Qmxv YihzdHJ1Y3QgbmRyX3B1bGwgKm5kciwgaW50IG5kcl9mbGFncywgc3RydWN0IHRydXN0QXV0aElu T3V0QmxvYiAqcik7IC8qYXZhaWxhYmxlIGluIGxpYm5kci1zYW1iYS5zbyAqLwotIGJvb2wgc2lk X2NoZWNrX2lzX2J1aWx0aW4oY29uc3Qgc3RydWN0IGRvbV9zaWQgKnNpZCk7IC8qIGF2YWlsYWJs ZSBpbiBsaWJwZGIuc28gKi8KLSAvKiBhdmFpbGFibGUgaW4gbGlicGRiLnNvLCByZW5hbWVkIGZy b20gc2lkX2NoZWNrX2lzX2RvbWFpbigpIGluIGM0MzUwNWI2MjE3MjVjOWE3NTRmMGVlOTgzMThk NDUxYjA5M2YyZWQgKi8KLSBib29sIHNpZF9saW5lYXJpemUoY2hhciAqb3V0YnVmLCBzaXplX3Qg bGVuLCBjb25zdCBzdHJ1Y3QgZG9tX3NpZCAqc2lkKTsgLyogYXZhaWxhYmxlIGluIGxpYnNtYmNv bmYuc28gKi8KLUBAIC0yNDIyLDYgKzI0MjMsMzYgQEAgc3RhdGljIGJvb2wgZ2V0X3VpbnQzMl90 X2Zyb21fbGRhcF9tc2coc3RydWN0IGlwYXNhbV9wcml2YXRlICppcGFzYW1fc3RhdGUsCi0gCXJl dHVybiB0cnVlOwotIH0KLSAKLStzdGF0aWMgYm9vbCByZXBhY2tfcGRiX2ZvcmVzdF90cnVzdF9p bmZvKHN0cnVjdCBwZGJfdHJ1c3RlZF9kb21haW4gKnRkKQotK3sKLSsJc3RydWN0IEZvcmVzdFRy dXN0SW5mbyAqZnRpID0gTlVMTDsKLSsJZW51bSBuZHJfZXJyX2NvZGUgbmRyX2VyciA9IDA7Ci0r CS8qCi0rCSAqIEZpeC11cCB0aGUgdmVyc2lvbiBmaWVsZCBhcyBTYW1iYSBleHBlY3RzIGl0Lgot KwkgKiBXZSBuZWVkIHRvIHVucGFjayB0aGUgYmxvYiwgY2hhbmdlLCBhbmQgcGFjayBpdCBhZ2Fp bgotKwkgKi8KLSsJZnRpID0gdGFsbG9jKHRkLCBzdHJ1Y3QgRm9yZXN0VHJ1c3RJbmZvKTsKLSsJ aWYgKGZ0aSA9PSBOVUxMKSB7Ci0rCSAgICByZXR1cm4gZmFsc2U7Ci0rCX0KLSsJbmRyX2VyciA9 IG5kcl9wdWxsX3N0cnVjdF9ibG9iX2FsbCgmdGQtPnRydXN0X2ZvcmVzdF90cnVzdF9pbmZvLCB0 ZCwgZnRpLAotKwkJCQkJICAgKG5kcl9wdWxsX2ZsYWdzX2ZuX3QpbmRyX3B1bGxfRm9yZXN0VHJ1 c3RJbmZvKTsKLSsJaWYgKCFORFJfRVJSX0NPREVfSVNfU1VDQ0VTUyhuZHJfZXJyKSkgewotKwkg ICAgVEFMTE9DX0ZSRUUoZnRpKTsKLSsJICAgIHJldHVybiBmYWxzZTsKLSsJfQotKwotKwlmdGkt PnZlcnNpb24gPSAxOwotKwotKwl0YWxsb2NfZnJlZSh0ZC0+dHJ1c3RfZm9yZXN0X3RydXN0X2lu Zm8uZGF0YSk7Ci0rCXRkLT50cnVzdF9mb3Jlc3RfdHJ1c3RfaW5mbyA9IGRhdGFfYmxvYl9udWxs OwotKwotKwluZHJfZXJyID0gbmRyX3B1c2hfc3RydWN0X2Jsb2IoJnRkLT50cnVzdF9mb3Jlc3Rf dHJ1c3RfaW5mbywgdGQsIGZ0aSwKLSsJCQkJICAgICAgIChuZHJfcHVzaF9mbGFnc19mbl90KW5k cl9wdXNoX0ZvcmVzdFRydXN0SW5mbyk7Ci0rCVRBTExPQ19GUkVFKGZ0aSk7Ci0rCXJldHVybiBO RFJfRVJSX0NPREVfSVNfU1VDQ0VTUyhuZHJfZXJyKTsKLSt9Ci0rCi0gc3RhdGljIGJvb2wgZmls bF9wZGJfdHJ1c3RlZF9kb21haW4oVEFMTE9DX0NUWCAqbWVtX2N0eCwKLSAJCQkJICAgIHN0cnVj dCBpcGFzYW1fcHJpdmF0ZSAqaXBhc2FtX3N0YXRlLAotIAkJCQkgICAgTERBUE1lc3NhZ2UgKmVu dHJ5LAotQEAgLTI2MTQsNiArMjY0NSwxMSBAQCBzdGF0aWMgYm9vbCBmaWxsX3BkYl90cnVzdGVk X2RvbWFpbihUQUxMT0NfQ1RYICptZW1fY3R4LAotIAkJCQkJTERBUF9BVFRSSUJVVEVfVFJVU1Rf Rk9SRVNUX1RSVVNUX0lORk8sCi0gCQkJCQkmdGQtPnRydXN0X2ZvcmVzdF90cnVzdF9pbmZvKSkg ewotIAkJREVCVUcoOSwgKCJGYWlsZWQgdG8gc2V0IGZvcmVzdCB0cnVzdCBpbmZvLlxuIikpOwot Kwl9IGVsc2UgewotKwkJcmVzID0gcmVwYWNrX3BkYl9mb3Jlc3RfdHJ1c3RfaW5mbyh0ZCk7Ci0r CQlpZiAoIXJlcykgewotKwkJCXJldHVybiBmYWxzZTsKLSsJCX0KLSAJfQotIAotIAkqX3RkID0g dGQ7Ci1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL2RjZXJwYy5weSBiL2lwYXNlcnZlci9kY2VycGMu cHkKLWluZGV4IDMzNDRlYTIyNi4uYjc1YzRmY2NmIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2Rj ZXJwYy5weQotKysrIGIvaXBhc2VydmVyL2RjZXJwYy5weQotQEAgLTE2NTgsNiArMTY1OCw3IEBA IGRlZiBmZXRjaF9kb21haW5zKGFwaSwgbXlkb21haW4sIHRydXN0ZG9tYWluLCBjcmVkcz1Ob25l LCBzZXJ2ZXI9Tm9uZSk6Ci0gCi0gICAgIGZ0aW5mby5jb3VudCA9IGxlbihmdGluZm9fcmVjb3Jk cykKLSAgICAgZnRpbmZvLnJlY29yZHMgPSBmdGluZm9fcmVjb3JkcwotKyAgICBmdGluZm8udmVy c2lvbiA9IDEKLSAgICAgcmVzdWx0WydmdGluZm9fZGF0YSddID0gbmRyX3BhY2soZnRpbmZvKQot ICAgICByZXR1cm4gcmVzdWx0Ci0gCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gNDg2NTU4YzYzZTRi MGRiNjY3M2U4NjNhNmJkODllODg1ZjgxMDZkZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogTW9uLCA4 IFNlcCAyMDI1IDE4OjU5OjUwICswMzAwCi1TdWJqZWN0OiBbUEFUQ0ggMzUvNDddIGRjZXJwYzog U3VwcG9ydCBTYW1iYSA0LjIzCi0KLVNhbWJhIDQuMjMgaWdub3JlcyB0cnVzdCB0byBQSU0gYW5k ICd3aXRoaW4gdGhlIGZvcmVzdCcgZG9tYWlucy4gSXQKLWRpZG4ndCBrbm93IHdoYXQgdG8gZG8g d2l0aCB0aGVtIGluIHBhc3QgYXMgd2VsbCBidXQgc3RhcnRpbmcgd2l0aCA0LjIzCi10aGUgZG9t YWluIHRydXN0IGVudHJpZXMgd2hpY2ggaGF2ZSB0cnVzdCBhdHRyaWJ1dGVzIHdpdGgKLUxTQV9U UlVTVF9BVFRSSUJVVEVfUElNX1RSVVNUIGFuZCBMU0FfVFJVU1RfQVRUUklCVVRFX1dJVEhJTl9G T1JFU1QgYml0cwotc2V0IHdpbGwgYmUgaWdub3JlZC4KLQotRnJlZUlQQSBkaWQgZGVmYXVsdCB0 byBMU0FfVFJVU1RfQVRUUklCVVRFX1dJVEhJTl9GT1JFU1QgZm9yIGRvbWFpbnMKLXN0b3JlZCB3 aXRoIHRydXN0ZWQgYXR0cmlidXRlcyBzZXQgdG8gMCBvciBtaXNzaW5nLiBUaGlzIHdhcyBiZWhh dmlvciBpbgotcGFzdCBmb3IgU2FtYmEgYXMgd2VsbC4gU2luY2UgRnJlZUlQQSBvbmx5IHN1cHBv cnRzIGZvcmVzdCB0cnVzdCBhbmQgYW4KLWV4dGVybmFsIHRydXN0LCBpbiBib3RoIGNhc2VzIHdl IHNob3VsZCBzZXQgZXhwbGljaXQgTFNBIHRydXN0IGF0dHJpYnV0ZQotYml0czoKLSAtIExTQV9U UlVTVF9BVFRSSUJVVEVfRk9SRVNUX1RSQU5TSVRJVkUgZm9yIHRoZSBmb3Jlc3QgdHJ1c3QKLSAt IExTQV9UUlVTVF9BVFRSSUJVVEVfTk9OX1RSQU5TSVRJVkUgZm9yIHRoZSBleHRlcm5hbCB0cnVz dAotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85ODUyCi0KLVNpZ25l ZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotUmV2aWV3 ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgotLS0tCi0gZGFlbW9ucy9pcGEt c2FtL2lwYV9zYW0uYyB8IDggKysrKy0tLS0KLSBpcGFzZXJ2ZXIvZGNlcnBjLnB5ICAgICAgIHwg MiArKwotIDIgZmlsZXMgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEtc2FtL2lwYV9zYW0uYyBiL2RhZW1vbnMvaXBhLXNh bS9pcGFfc2FtLmMKLWluZGV4IDNiOGZjOTBmYi4uOWZiNGRiNGM1IDEwMDY0NAotLS0tIGEvZGFl bW9ucy9pcGEtc2FtL2lwYV9zYW0uYwotKysrIGIvZGFlbW9ucy9pcGEtc2FtL2lwYV9zYW0uYwot QEAgLTI1OTQsMTAgKzI1OTQsMTAgQEAgc3RhdGljIGJvb2wgZmlsbF9wZGJfdHJ1c3RlZF9kb21h aW4oVEFMTE9DX0NUWCAqbWVtX2N0eCwKLSAJCVRBTExPQ19GUkVFKHRkKTsKLSAJCXJldHVybiBm YWxzZTsKLSAJfQotLQlpZiAodGQtPnRydXN0X2F0dHJpYnV0ZXMgPT0gMCkgewotLQkJLyogYXR0 cmlidXRlIHdhc24ndCBwcmVzZW50LCB0aGlzIGlzIGEgc3ViZG9tYWluIHdpdGhpbiB0aGUKLS0J CSAqIHBhcmVudCBmb3Jlc3QgKi8KLS0JCXRkLT50cnVzdF9hdHRyaWJ1dGVzID0gTFNBX1RSVVNU X0FUVFJJQlVURV9XSVRISU5fRk9SRVNUOwotKwlpZiAodGQtPnRydXN0X2F0dHJpYnV0ZXMgPT0g MCAmJiAodGQtPmRvbWFpbl9uYW1lICE9IGRuc19kb21haW4pKSB7Ci0rICAgICAgICAgICAgICAg IC8qIGF0dHJpYnV0ZSB3YXNuJ3QgcHJlc2VudCBhbmQgdGhpcyBpcyBub3QgYSBzdWJkb21haW4g d2l0aGluCi0rICAgICAgICAgICAgICAgICAqIHRoZSBwYXJlbnQgZm9yZXN0ICovCi0rCQl0ZC0+ dHJ1c3RfYXR0cmlidXRlcyA9IExTQV9UUlVTVF9BVFRSSUJVVEVfRk9SRVNUX1RSQU5TSVRJVkU7 Ci0gCX0KLSAKLSAJcmVzID0gZ2V0X3VpbnQzMl90X2Zyb21fbGRhcF9tc2coaXBhc2FtX3N0YXRl LCBlbnRyeSwKLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvZGNlcnBjLnB5IGIvaXBhc2VydmVyL2Rj ZXJwYy5weQotaW5kZXggYjc1YzRmY2NmLi4xMTgyZjEyOGIgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2 ZXIvZGNlcnBjLnB5Ci0rKysgYi9pcGFzZXJ2ZXIvZGNlcnBjLnB5Ci1AQCAtMTM2Miw2ICsxMzYy LDggQEAgY2xhc3MgVHJ1c3REb21haW5JbnN0YW5jZToKLSAgICAgICAgIGluZm8udHJ1c3RfYXR0 cmlidXRlcyA9IDAKLSAgICAgICAgIGlmIHRydXN0X2V4dGVybmFsOgotICAgICAgICAgICAgIGlu Zm8udHJ1c3RfYXR0cmlidXRlcyB8PSBsc2EuTFNBX1RSVVNUX0FUVFJJQlVURV9OT05fVFJBTlNJ VElWRQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBpbmZvLnRydXN0X2F0dHJpYnV0ZXMg fD0gbHNhLkxTQV9UUlVTVF9BVFRSSUJVVEVfRk9SRVNUX1RSQU5TSVRJVkUKLSAKLSAgICAgICAg IHRyeToKLSAgICAgICAgICAgICBkbmFtZSA9IGxzYS5TdHJpbmcoKQotLS0gCi0yLjUxLjAKLQot Ci1Gcm9tIGZjZDBmMGM2ZTA3MjAwZTkwNjI4ZjEwOGM3NTY2YjBlZGU3ODc5YjggTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0 LmNvbT4KLURhdGU6IFRodSwgMTEgU2VwIDIwMjUgMTM6NTI6NDEgKzAzMDAKLVN1YmplY3Q6IFtQ QVRDSCAzNi80N10gaXBhc2FtOiBzaW1wbGlmeSBlcnJvciBoYW5kbGluZyBpbgotIGZpbGxfcGRi X3RydXN0ZWRfZG9tYWluCi0KLVJlbGF0ZWQ6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEvaXNz dWUvOTg1MgotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVk aGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotUmV2aWV3ZWQtQnk6IEp1bGllbiBSaXNjaGUgPGpyaXNjaGVAcmVkaGF0LmNvbT4KLS0t LQotIGRhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMgfCA0NCArKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgMjQg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jIGIv ZGFlbW9ucy9pcGEtc2FtL2lwYV9zYW0uYwotaW5kZXggOWZiNGRiNGM1Li5lYTg1YTdmNDMgMTAw NjQ0Ci0tLS0gYS9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jCi0rKysgYi9kYWVtb25zL2lwYS1z YW0vaXBhX3NhbS5jCi1AQCAtMjUwNyw3ICsyNTA3LDggQEAgc3RhdGljIGJvb2wgZmlsbF9wZGJf dHJ1c3RlZF9kb21haW4oVEFMTE9DX0NUWCAqbWVtX2N0eCwKLSAJcmMgPSBsZGFwX3N0cjJkbihz dHJkbiwgJmRuLCBMREFQX0ROX0ZPUk1BVF9MREFQVjMpOwotIAlpZiAocmMpIHsKLSAJCWZyZWUo c3RyZG4pOwotLQkJcmV0dXJuIGZhbHNlOwotKwkJcmVzID0gZmFsc2U7Ci0rCQlnb3RvIGRvbmU7 Ci0gCX0KLSAKLSAJZm9yIChjb3VudCA9IDA7IGRuW2NvdW50XSAhPSBOVUxMOyBjb3VudCsrKTsK LUBAIC0yNTE5LDggKzI1MjAsOCBAQCBzdGF0aWMgYm9vbCBmaWxsX3BkYl90cnVzdGVkX2RvbWFp bihUQUxMT0NfQ1RYICptZW1fY3R4LAotIAkJCSAgc3RyZG4sIGlwYXNhbV9zdGF0ZS0+dHJ1c3Rf ZG4pKTsKLSAJCWxkYXBfZG5mcmVlKGRuKTsKLSAJCWZyZWUoc3RyZG4pOwotLQkJVEFMTE9DX0ZS RUUodGQpOwotLQkJcmV0dXJuIGZhbHNlOwotKwkJcmVzID0gZmFsc2U7Ci0rCQlnb3RvIGRvbmU7 Ci0gCi0gCX0KLSAKLUBAIC0yNTQzLDcgKzI1NDQsOCBAQCBzdGF0aWMgYm9vbCBmaWxsX3BkYl90 cnVzdGVkX2RvbWFpbihUQUxMT0NfQ1RYICptZW1fY3R4LAotIAkJCQkJICAgICAgIGR1bW15LCAm c2lkKTsKLSAJCVRBTExPQ19GUkVFKGR1bW15KTsKLSAJCWlmIChlcnIgIT0gSURNQVBfU1VDQ0VT UykgewotLQkJCXJldHVybiBmYWxzZTsKLSsJCQlyZXMgPSBmYWxzZTsKLSsJCQlnb3RvIGRvbmU7 Ci0gCQl9Ci0gCQlzaWRfY29weSgmdGQtPnNlY3VyaXR5X2lkZW50aWZpZXIsIHNpZCk7Ci0gCQl0 YWxsb2NfZnJlZShzaWQpOwotQEAgLTI1ODMsMTYgKzI1ODUsMTQgQEAgc3RhdGljIGJvb2wgZmls bF9wZGJfdHJ1c3RlZF9kb21haW4oVEFMTE9DX0NUWCAqbWVtX2N0eCwKLSAJCQkJCSBMREFQX0FU VFJJQlVURV9UUlVTVF9ESVJFQ1RJT04sCi0gCQkJCQkgJnRkLT50cnVzdF9kaXJlY3Rpb24pOwot IAlpZiAoIXJlcykgewotLQkJVEFMTE9DX0ZSRUUodGQpOwotLQkJcmV0dXJuIGZhbHNlOwotKwkJ Z290byBkb25lOwotIAl9Ci0gCi0gCXJlcyA9IGdldF91aW50MzJfdF9mcm9tX2xkYXBfbXNnKGlw YXNhbV9zdGF0ZSwgZW50cnksCi0gCQkJCQkgTERBUF9BVFRSSUJVVEVfVFJVU1RfQVRUUklCVVRF UywKLSAJCQkJCSAmdGQtPnRydXN0X2F0dHJpYnV0ZXMpOwotIAlpZiAoIXJlcykgewotLQkJVEFM TE9DX0ZSRUUodGQpOwotLQkJcmV0dXJuIGZhbHNlOwotKwkJZ290byBkb25lOwotIAl9Ci0gCWlm ICh0ZC0+dHJ1c3RfYXR0cmlidXRlcyA9PSAwICYmICh0ZC0+ZG9tYWluX25hbWUgIT0gZG5zX2Rv bWFpbikpIHsKLSAgICAgICAgICAgICAgICAgLyogYXR0cmlidXRlIHdhc24ndCBwcmVzZW50IGFu ZCB0aGlzIGlzIG5vdCBhIHN1YmRvbWFpbiB3aXRoaW4KLUBAIC0yNjA0LDggKzI2MDQsNyBAQCBz dGF0aWMgYm9vbCBmaWxsX3BkYl90cnVzdGVkX2RvbWFpbihUQUxMT0NfQ1RYICptZW1fY3R4LAot IAkJCQkJIExEQVBfQVRUUklCVVRFX1RSVVNUX1RZUEUsCi0gCQkJCQkgJnRkLT50cnVzdF90eXBl KTsKLSAJaWYgKCFyZXMpIHsKLS0JCVRBTExPQ19GUkVFKHRkKTsKLS0JCXJldHVybiBmYWxzZTsK LSsJCWdvdG8gZG9uZTsKLSAJfQotIAlpZiAodGQtPnRydXN0X3R5cGUgPT0gMCkgewotIAkJLyog YXR0cmlidXRlIHdhc24ndCBwcmVzZW50LCBzZXQgZGVmYXVsdCB2YWx1ZSAqLwotQEAgLTI2MTQs MjggKzI2MTMsMjQgQEAgc3RhdGljIGJvb2wgZmlsbF9wZGJfdHJ1c3RlZF9kb21haW4oVEFMTE9D X0NUWCAqbWVtX2N0eCwKLSAKLSAJdGQtPnRydXN0X3Bvc2l4X29mZnNldCA9IHRhbGxvY196ZXJv KHRkLCB1aW50MzJfdCk7Ci0gCWlmICh0ZC0+dHJ1c3RfcG9zaXhfb2Zmc2V0ID09IE5VTEwpIHsK LS0JCVRBTExPQ19GUkVFKHRkKTsKLS0JCXJldHVybiBmYWxzZTsKLSsJCWdvdG8gZG9uZTsKLSAJ fQotIAlyZXMgPSBnZXRfdWludDMyX3RfZnJvbV9sZGFwX21zZyhpcGFzYW1fc3RhdGUsIGVudHJ5 LAotIAkJCQkJIExEQVBfQVRUUklCVVRFX1RSVVNUX1BPU0lYX09GRlNFVCwKLSAJCQkJCSB0ZC0+ dHJ1c3RfcG9zaXhfb2Zmc2V0KTsKLSAJaWYgKCFyZXMpIHsKLS0JCVRBTExPQ19GUkVFKHRkKTsK LS0JCXJldHVybiBmYWxzZTsKLSsJCWdvdG8gZG9uZTsKLSAJfQotIAotIAl0ZC0+c3VwcG9ydGVk X2VuY190eXBlID0gdGFsbG9jX3plcm8odGQsIHVpbnQzMl90KTsKLSAJaWYgKHRkLT5zdXBwb3J0 ZWRfZW5jX3R5cGUgPT0gTlVMTCkgewotLQkJVEFMTE9DX0ZSRUUodGQpOwotLQkJcmV0dXJuIGZh bHNlOwotKwkJZ290byBkb25lOwotIAl9Ci0gCXJlcyA9IGdldF91aW50MzJfdF9mcm9tX2xkYXBf bXNnKGlwYXNhbV9zdGF0ZSwgZW50cnksCi0gCQkJCQkgTERBUF9BVFRSSUJVVEVfU1VQUE9SVEVE X0VOQ19UWVBFLAotIAkJCQkJIHRkLT5zdXBwb3J0ZWRfZW5jX3R5cGUpOwotIAlpZiAoIXJlcykg ewotLQkJVEFMTE9DX0ZSRUUodGQpOwotLQkJcmV0dXJuIGZhbHNlOwotKwkJZ290byBkb25lOwot IAl9Ci0gCWlmICgqdGQtPnN1cHBvcnRlZF9lbmNfdHlwZSA9PSAwKSB7Ci0gCQkqdGQtPnN1cHBv cnRlZF9lbmNfdHlwZSA9IGlwYXNhbV9zdGF0ZS0+c3VwcG9ydGVkX2VuY3R5cGVzOwotQEAgLTI2 NDcsMTQgKzI2NDIsMTUgQEAgc3RhdGljIGJvb2wgZmlsbF9wZGJfdHJ1c3RlZF9kb21haW4oVEFM TE9DX0NUWCAqbWVtX2N0eCwKLSAJCURFQlVHKDksICgiRmFpbGVkIHRvIHNldCBmb3Jlc3QgdHJ1 c3QgaW5mby5cbiIpKTsKLSAJfSBlbHNlIHsKLSAJCXJlcyA9IHJlcGFja19wZGJfZm9yZXN0X3Ry dXN0X2luZm8odGQpOwotLQkJaWYgKCFyZXMpIHsKLS0JCQlyZXR1cm4gZmFsc2U7Ci0tCQl9Ci0g CX0KLSAKLS0JKl90ZCA9IHRkOwotLQotLQlyZXR1cm4gdHJ1ZTsKLStkb25lOgotKwlpZiAocmVz KSB7Ci0rCQkqX3RkID0gdGQ7Ci0rCX0gZWxzZSB7Ci0rCQlUQUxMT0NfRlJFRSh0ZCk7Ci0rCX0K LSsJcmV0dXJuIHJlczsKLSB9Ci0gCi0gc3RhdGljIE5UU1RBVFVTIGlwYXNhbV9nZXRfdHJ1c3Rl ZF9kb21haW4oc3RydWN0IHBkYl9tZXRob2RzICptZXRob2RzLAotLS0gCi0yLjUxLjAKLQotCi1G cm9tIGNiMzZjM2Q5OTY5Y2UwYzBiZWFjYjQzYzdkNGVhMjlkYTY1MmM0OTkgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lAcmVkaGF0LmNv bT4KLURhdGU6IFRodSwgMTEgU2VwIDIwMjUgMTM6NTc6NDYgKzAzMDAKLVN1YmplY3Q6IFtQQVRD SCAzNy80N10gaXBhc2FtOiBhZGRyZXNzIHNpZ25lZG5lc3Mgd2FybmluZ3MKLQotU2lnbmVkLW9m Zi1ieTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1C eTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBK dWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1zYW0v aXBhX3NhbS5jIHwgNyArKy0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwg NSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMg Yi9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jCi1pbmRleCBlYTg1YTdmNDMuLjU1YTNhMDNhNSAx MDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMKLSsrKyBiL2RhZW1vbnMvaXBh LXNhbS9pcGFfc2FtLmMKLUBAIC0yMzYsMTUgKzIzNiwxMyBAQCBzdGF0aWMgdm9pZCBpZG1hcF90 YWxsb2NfZnJlZSh2b2lkICpwdHIsIHZvaWQgKnB2dCkKLSAKLSBzdGF0aWMgdm9pZCBzaWRfY29w eShzdHJ1Y3QgZG9tX3NpZCAqZHN0LCBjb25zdCBzdHJ1Y3QgZG9tX3NpZCAqc3JjKQotIHsKLS0J c2l6ZV90IGM7Ci0tCi0gCW1lbXNldChkc3QsIDAsIHNpemVvZigqZHN0KSk7Ci0gCi0gCWRzdC0+ c2lkX3Jldl9udW0gPSBzcmMtPnNpZF9yZXZfbnVtOwotIAlkc3QtPm51bV9hdXRocyA9IHNyYy0+ bnVtX2F1dGhzOwotIAltZW1jcHkoJmRzdC0+aWRfYXV0aFswXSwgJnNyYy0+aWRfYXV0aFswXSwg c2l6ZW9mKHNyYy0+aWRfYXV0aCkpOwotIAotLQlmb3IgKGMgPSAwOyBjIDwgc3JjLT5udW1fYXV0 aHM7IGMrKykgewotKwlmb3IgKGludDhfdCBjID0gMDsgYyA8IHNyYy0+bnVtX2F1dGhzOyBjKysp IHsKLSAJCWRzdC0+c3ViX2F1dGhzW2NdID0gc3JjLT5zdWJfYXV0aHNbY107Ci0gCX0KLSB9Ci1A QCAtMzI0OSw3ICszMjQ3LDYgQEAgc3RhdGljIE5UU1RBVFVTIGlwYXNhbV9lbnVtX3RydXN0ZWRk b21zKHN0cnVjdCBwZGJfbWV0aG9kcyAqbWV0aG9kcywKLSB7Ci0gCU5UU1RBVFVTIHN0YXR1czsK LSAJc3RydWN0IHBkYl90cnVzdGVkX2RvbWFpbiAqKnRkOwotLQlpbnQgaTsKLSAKLSAJc3RhdHVz ID0gaXBhc2FtX2VudW1fdHJ1c3RlZF9kb21haW5zKG1ldGhvZHMsIG1lbV9jdHgsCi0gCQkJCQkg ICAgIG51bV9kb21haW5zLCAmdGQpOwotQEAgLTMyNjcsNyArMzI2NCw3IEBAIHN0YXRpYyBOVFNU QVRVUyBpcGFzYW1fZW51bV90cnVzdGVkZG9tcyhzdHJ1Y3QgcGRiX21ldGhvZHMgKm1ldGhvZHMs Ci0gCQlnb3RvIGZhaWw7Ci0gCX0KLSAKLS0JZm9yIChpID0gMDsgaSA8ICpudW1fZG9tYWluczsg aSsrKSB7Ci0rCWZvciAodWludDMyX3QgaSA9IDA7IGkgPCAqbnVtX2RvbWFpbnM7IGkrKykgewot IAkJc3RydWN0IHRydXN0ZG9tX2luZm8gKmRvbV9pbmZvOwotIAotIAkJZG9tX2luZm8gPSB0YWxs b2MoKmRvbWFpbnMsIHN0cnVjdCB0cnVzdGRvbV9pbmZvKTsKLS0tIAotMi41MS4wCi0KLQotRnJv bSBmYzQwYzdjZGNmYTNlNTlkNTEyMjI0OGYzZWQ5ZmFhMTM1ZGUyMmE2IE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci1EYXRlOiBUaHUsIDExIFNlcCAyMDI1IDEzOjU4OjAzICswMzAwCi1TdWJqZWN0OiBbUEFUQ0gg MzgvNDddIGlwYXNhbTogZGVmaW5lIHByb3RvdHlwZXMKLQotU2lnbmVkLW9mZi1ieTogQWxleGFu ZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2Ug QmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBKdWxpZW4gUmlzY2hl IDxqcmlzY2hlQHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jIHwg MiArKwotIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2Rh ZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMgYi9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jCi1pbmRl eCA1NWEzYTAzYTUuLjgzOWE2MjFlZiAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLXNhbS9pcGFf c2FtLmMKLSsrKyBiL2RhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMKLUBAIC01MzgwLDEyICs1Mzgw LDE0IEBAIHN0YXRpYyBOVFNUQVRVUyBwZGJfaW5pdF9pcGFzYW0oc3RydWN0IHBkYl9tZXRob2Rz ICoqcGRiX21ldGhvZCwKLSAJcmV0dXJuIE5UX1NUQVRVU19PSzsKLSB9Ci0gCi0rTlRTVEFUVVMg c2FtYmFfbW9kdWxlX2luaXQodm9pZCk7Ci0gTlRTVEFUVVMgc2FtYmFfbW9kdWxlX2luaXQodm9p ZCkKLSB7Ci0gCXJldHVybiBzbWJfcmVnaXN0ZXJfcGFzc2RiKFBBU1NEQl9JTlRFUkZBQ0VfVkVS U0lPTiwgImlwYXNhbSIsCi0gCQkJCSAgIHBkYl9pbml0X2lwYXNhbSk7Ci0gfQotIAotK05UU1RB VFVTIHNhbWJhX2luaXRfbW9kdWxlKHZvaWQpOwotIE5UU1RBVFVTIHNhbWJhX2luaXRfbW9kdWxl KHZvaWQpCi0gewotIAlyZXR1cm4gc21iX3JlZ2lzdGVyX3Bhc3NkYihQQVNTREJfSU5URVJGQUNF X1ZFUlNJT04sICJpcGFzYW0iLAotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDk0NDkzNjQwZTEwNTQ3 Y2Q0YWZmODJiMDE3MzkxOTE2MTQ5ODIyZTUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxNyBT ZXAgMjAyNSAxMDoxMzo0NCArMDIwMAotU3ViamVjdDogW1BBVENIIDM5LzQ3XSBpcGF0ZXN0czog dXBkYXRlIHRoZSBMZXQncyBFbmNyeXB0IGNlcnQgY2hhaW4KLQotVGhlIHRlc3QgVGVzdElQQUNv bW1hbmQ6OnRlc3RfY2FjZXJ0X21hbmFnZSBpcyB1c2luZwotTGV0J3MgRW5jcnlwdCBjaGFpbiB0 byBjaGVjayB0aGUgaXBhLWNhY2VydC1tYW5hZ2UgaW5zdGFsbAotY29tbWFuZC4KLVRoZSBjaGFp biBpc3Jncm9vdHgxID4gcjMgbXVzdCBiZSByZXBsYWNlZCB3aXRoCi1pc3Jncm9vdHgxID4gcjEy IGJlY2F1c2UgcjMgZXhwaXJlZCBTZXAgMTUuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9m cmVlaXBhL2lzc3VlLzk4NTcKLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8 ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95 QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhh dC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkg fCA2MyArKysrKysrKysrKy0tLS0tLS0tLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDMxIGluc2VydGlv bnMoKyksIDMyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5IGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2NvbW1hbmRzLnB5Ci1pbmRleCBhZDk3YWZmZTYuLmZjZjM0N2VlMCAxMDA2NDQKLS0tLSBhL2lw YXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQotKysrIGIvaXBhdGVzdHMv dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtODgsNDEgKzg4LDQwIEBAIGlz cmdyb290eDEgPSAoCi0gKQotIGlzcmdyb290eDFfbmljayA9ICdDTj1JU1JHIFJvb3QgWDEsTz1J bnRlcm5ldCBTZWN1cml0eSBSZXNlYXJjaCBHcm91cCxDPVVTJwotIAotLSMgVGhpcyBzdWItQ0Eg ZXhwaXJlcyBvbiBTZXAgMTUsIDIwMjUgYW5kIHdpbGwgbmVlZCB0byBiZSByZXBsYWNlZAotKyMg VGhpcyBzdWItQ0EgZXhwaXJlcyBvbiBNYXJjaCAxMiwgMjAyNyBhbmQgd2lsbCBuZWVkIHRvIGJl IHJlcGxhY2VkCi0gIyBhZnRlciB0aGlzIGRhdGUuIE90aGVyd2lzZSBUZXN0SVBBQ29tbWFuZDo6 dGVzdF9jYWNlcnRfbWFuYWdlIGZhaWxzLgotLWxldHNlbmNyeXB0YXV0aG9yaXR5cjMgPSAoCi0r bGV0c2VuY3J5cHRhdXRob3JpdHlyMTIgPSAoCi0gICAgIGInLS0tLS1CRUdJTiBDRVJUSUZJQ0FU RS0tLS0tXG4nCi0tICAgIGInTUlJRkZqQ0NBdjZnQXdJQkFnSVJBSkVyQ0VyUERCaW5VL2JXTGlX blgxb3dEUVlKS29aSWh2Y05BUUVMQlFBd1xuJwotKyAgICBiJ01JSUZCakNDQXU2Z0F3SUJBZ0lS QU1JU01rdHdxYlNSY2R4QTkrS0ZKand3RFFZSktvWklodmNOQVFFTEJRQXdcbicKLSAgICAgYidU ekVMTUFrR0ExVUVCaE1DVlZNeEtUQW5CZ05WQkFvVElFbHVkR1Z5Ym1WMElGTmxZM1Z5YVhSNUlG SmxjMlZoXG4nCi0tICAgIGInY21Ob0lFZHliM1Z3TVJVd0V3WURWUVFERXd4SlUxSkhJRkp2YjNR Z1dERXdIaGNOTWpBd09UQTBNREF3TURBd1xuJwotLSAgICBiJ1doY05NalV3T1RFMU1UWXdNREF3 V2pBeU1Rc3dDUVlEVlFRR0V3SlZVekVXTUJRR0ExVUVDaE1OVEdWMEozTWdcbicKLS0gICAgYidS VzVqY25sd2RERUxNQWtHQTFVRUF4TUNVak13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3 QXdnZ0VLXG4nCi0tICAgIGInQW9JQkFRQzdBaFVvelBhZ2xOTVBFdXlOVlpMRCtJTHhtYVo2UW9p blhTYXF0U3U1eFV5eHI0NXIrWFhJbzljUFxuJwotLSAgICBiJ1I1UVVWVFZYako2b29qa1o5WUk4 UXFsT2J2VTd3eTdiamNDd1hQTlpPT2Z0ejJud1dnc2J2c0NVSkNXSCtqZHhcbicKLS0gICAgYidz eFBuSEt6aG0rL2I1RHRGVWtXV3FjRlR6alRJVXU2MXJ1MlAzbUJ3NHFWVXE3WnREcGVsUURScks5 TzhadXRtXG4nCi0tICAgIGInTkh6NmE0dVBWeW1aK0RBWFhicHliL3VCeGEzU2hsZzlGOGZuQ2J2 eEsvZUczTUhhY1YzVVJ1UE1yU1hCaUx4Z1xuJwotLSAgICBiJ1ozVm1zL0VZOTZKYzVsUC9Pb2ky UjZYL0V4anFtQWwzUDUxVCtjOEI1ZldtY0JjVXIyT2svNW16azUzY1U2Y0dcbicKLS0gICAgYicv a2lGSGFGcHJpVjF1eFBNVWdQMTdWR2hpOXNWQWdNQkFBR2pnZ0VJTUlJQkJEQU9CZ05WSFE4QkFm OEVCQU1DXG4nCi0tICAgIGInQVlZd0hRWURWUjBsQkJZd0ZBWUlLd1lCQlFVSEF3SUdDQ3NHQVFV RkJ3TUJNQklHQTFVZEV3RUIvd1FJTUFZQlxuJwotLSAgICBiJ0FmOENBUUF3SFFZRFZSME9CQllF RkJRdXN4ZTNXRmJMcmxBSlFPWWZyNTJMRk1MR01COEdBMVVkSXdRWU1CYUFcbicKLS0gICAgYidG SG0wV2VaN3R1WGtBWE9BQ0lqSUdsajI2WnR1TURJR0NDc0dBUVVGQndFQkJDWXdKREFpQmdnckJn RUZCUWN3XG4nCi0tICAgIGInQW9ZV2FIUjBjRG92TDNneExta3ViR1Z1WTNJdWIzSm5MekFuQmdO VkhSOEVJREFlTUJ5Z0dxQVloaFpvZEhSd1xuJwotLSAgICBiJ09pOHZlREV1WXk1c1pXNWpjaTV2 Y21jdk1DSUdBMVVkSUFRYk1Ca3dDQVlHWjRFTUFRSUJNQTBHQ3lzR0FRUUJcbicKLS0gICAgYidn dDhUQVFFQk1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQ0FRQ0Z5azVIUHFQM2hVU0Z2TlZuZUxLWVk2 MTFUUjZXXG4nCi0tICAgIGInUFRObGNsUXRnYURxdyszNElMOWZ6TGR3QUxkdU8vWmVsTjdrSUor bTc0dXlBK2VpdFJZOGtjNjA3VGtDNTN3bFxuJwotLSAgICBiJ2lrZm1aVzQvUnZUWjhNNlVLKzVV emhLOGpDZEx1TUdZTDZLdnpYR1JTZ2kzeUxnamV3UXRDUGtJVno2RDJRUXpcbicKLS0gICAgYidD a2NoZUFtQ0o4TXF5SnU1emx6eVpNakF2bm5BVDQ1dFJBeGVrcnN1OTRzUTRlZ2RSQ25iV1NEdFk3 a2grQkltXG4nCi0tICAgIGInbEpOWG9CMWxCTUVLSXE0UURVT1hvUmdmZnVEZ2hqZTFXckc5TUwr SGJpc3EveUZPR3dYRDlSaVg4RjZzdzZXNFxuJwotLSAgICBiJ2F2QXV2RHN6dWU1TDNzejg1SytF QzRZL3dGVkROdlpvNFRZWGFvNlowZitsUUtjMHQ4RFFZemsxT1hWdThycDJcbicKLS0gICAgYid5 Sk1DNmFsTGJCZk9EQUxadllIN243ZG8xQVpsczRJOWQxUDRqbmtEclFveEIzVXFROWhWbDNMRUtR NzN4RjFPXG4nCi0tICAgIGIneUs1R2hERFg4b1ZmR0tGNXUrZGVjSXNINFlhVHc3bVAzR0Z4SlNx djMrMGxVRkpvaTVMYzVkYTE0OXA5MElkc1xuJwotLSAgICBiJ2hDRXhyb0wxKzdtcnlJa1hQZUZN NVRnTzlyMHJ2WmFCRk92VjJ6MGdwMzVaMCtMNFdQbGJ1RWpOL2x4UEZpbitcbicKLS0gICAgYidI bFVqcjhnUnNJM3FmSk9RRnkvOXJLSUpSMFkvOE9td3QvOG9UV2d5MW1kZUhtbWprN2oxbllzdkM5 SlNRNlp2XG4nCi0tICAgIGInTWxkbFRUS0IzemhUaFYxK1hXWXA2cmpkNUpXMXpiVldFa0xOeEU3 R0pUaEVVRzNzemdCVkdQN3BTV1RVVHNxWFxuJwotLSAgICBiJ25MUmJ3SE9vcTdoSHdnPT1cbicK LSsgICAgYidjbU5vSUVkeWIzVndNUlV3RXdZRFZRUURFd3hKVTFKSElGSnZiM1FnV0RFd0hoY05N alF3TXpFek1EQXdNREF3XG4nCi0rICAgIGInV2hjTk1qY3dNekV5TWpNMU9UVTVXakF6TVFzd0NR WURWUVFHRXdKVlV6RVdNQlFHQTFVRUNoTU5UR1YwSjNNZ1xuJwotKyAgICBiJ1JXNWpjbmx3ZERF TU1Bb0dBMVVFQXhNRFVqRXlNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJcbicK LSsgICAgYidDZ0tDQVFFQTJwZ29kSzIrbFA0NzRCN2k1VXQxcXl3U2YrMm5BekorTnBmczZER1Bw Uk9OQzVrdUhzMEJVVDFNXG4nCi0rICAgIGInNVNodUNWVXhxcVVpWFhMMExRZkNUVUE4M3dFanVY ZzM5UnBsTWpUbWhuR2RCTytFQ0Z1OUFocVo2NllCQUpwelxuJwotKyAgICBiJ2tHMlBvZ2VnMEpm VDJrVmhnVFU5RlBuRXdGOXEzQXVXR3JDZjR5cnF2U3JXbU1lYmNhczdkQTg4MjdKZ3ZscExcbicK LSsgICAgYidUaGpwMnlwelhJbGhaWjcrN1R5bXkwNXY1Sjc1QUVhei94bE5LbU96am1iR0dJVnd4 MUJsYnp0MDVVaUREd2hZXG4nCi0rICAgIGInWFMwam5WNmovdWpiQUtIUzlPTVpUZkx1ZXZZbm51 WE5uQzJpOG4rY0Y2M3ZFemM1MGJUSUxFSFdoc0RwN0NINFxuJwotKyAgICBiJ1dSdC91VHA4bjF3 Qm5XSUV3aWk5Q3EwOHloRHNHd0lEQVFBQm80SDRNSUgxTUE0R0ExVWREd0VCL3dRRUF3SUJcbicK LSsgICAgYidoakFkQmdOVkhTVUVGakFVQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0VnWURW UjBUQVFIL0JBZ3dCZ0VCXG4nCi0rICAgIGInL3dJQkFEQWRCZ05WSFE0RUZnUVVBTFVwOGkyT2J6 SG9tMHl0ZUQ3NjNPa00wZEl3SHdZRFZSMGpCQmd3Rm9BVVxuJwotKyAgICBiJ2ViUlo1bnUyNWVR QmM0QUlpTWdhV1BicG0yNHdNZ1lJS3dZQkJRVUhBUUVFSmpBa01DSUdDQ3NHQVFVRkJ6QUNcbicK LSsgICAgYidoaFpvZEhSd09pOHZlREV1YVM1c1pXNWpjaTV2Y21jdk1CTUdBMVVkSUFRTU1Bb3dD QVlHWjRFTUFRSUJNQ2NHXG4nCi0rICAgIGInQTFVZEh3UWdNQjR3SEtBYW9CaUdGbWgwZEhBNkx5 OTRNUzVqTG14bGJtTnlMbTl5Wnk4d0RRWUpLb1pJaHZjTlxuJwotKyAgICBiJ0FRRUxCUUFEZ2dJ QkFJOTEwQW5QYW5aSVpUS1MzclZFeUlWMjlCV0VqQUsvZHV1ejhlTDVib1NvVnBIaGtrdjNcbicK LSsgICAgYic0ZW9BZUVpUGRaTGo1RVo3RzJBcklLK2d6aFRsUlExcTRGS0dwUFBhRkJTcHFWL3hi VWI1VWxBWFFPbmtIbjNtXG4nCi0rICAgIGInRlZqK3FZdjg3L1dlWStCbTRzTjNPeDhCaHlhVTdV QVEzTGVaN04xWDAxeHhRZTR3SUFBRTNKVkxVQ2lIbVpMK1xuJwotKyAgICBiJ3FvQ1V0Z1lJRlBn Y2czNTBRTVVJV2d4UFhOR0VuY1Q5MjFuZTdubHVJMDJWOHBMVW1DbHFYT3NDd1VMdytQVk9cbicK LSsgICAgYidaQ0I3cU9NeHhNQm9DVWVMMkxsNG9NcE9TcjVwSkNwTE4zdFJBMnM2UDFLTHM5VFNy VmhPays3TFgyOE5NVWxJXG4nCi0rICAgIGIndXNRL254TEpJRDBSaEFlRnRQanlPQ09zY1FCQTUz K05SalNDYWs3UDRBNWpYN3BwbWtjSkVDTCtTMGkza1hWVVxuJwotKyAgICBiJ3k1TWU1QmJyVTg5 NzNqWk52L2F4NitaSzZUTThqV21pbUw2b2Y2T3JYN1pVNkUyV3FhenpzRnJMRzNvMmt5U2JcbicK LSsgICAgYid6bGhTZ0o4MUNsNHR2M1NiWWlZWG5KRXhLUXZ6ZjgzRFlvdG94M2YwZnd2N3hsbjFB MlpMcGxDYjBPK2wvQUswXG4nCi0rICAgIGInWUUwRFMyRlB4U0FIaTBpd01mVzJuTkhKclhjWTNM TEhENzdnUmdqZTRFdmV1YmkyeHhhK05tay9obWhMZElFVFxuJwotKyAgICBiJ2lWREZhbm9Dck1W SXBRNTlYV0hremRGbW9IWEhCVjdvaWJWakdTTzdVTFNRN01KMU56NTFwaHVESlNnQUlVN0FcbicK LSsgICAgYicwenJMbk9yQWovZGZybEVXUmhDdkFnYnV3TFpYMUEyc2pOalhvUE9IYnNQaXkrbE8x S0Y4L1hZN1xuJwotICAgICBiJy0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbicKLSApCi0tbGVf cjNfbmljayA9ICJDTj1SMyxPPUxldCdzIEVuY3J5cHQsQz1VUyIKLStsZV9yMTJfbmljayA9ICJD Tj1SMTIsTz1MZXQncyBFbmNyeXB0LEM9VVMiCi0gCi0gIyBDZXJ0aWZpY2F0ZXMgZm9yIHJlcHJv ZHVjaW5nIGR1cGxpY2F0ZSBpcGFDZXJ0U3ViamVjdCB2YWx1ZXMuCi0gIyBUaGUgdHJpY2sgdG8g Y3JlYXRpbmcgdGhlIHNlY29uZCBpbnRlcm1lZGlhdGUgaXMgZm9yIHRoZSB2YWxpZGl0eQotQEAg LTEyMzAsNyArMTIyOSw3IEBAIGNsYXNzIFRlc3RJUEFDb21tYW5kKEludGVncmF0aW9uVGVzdCk6 Ci0gICAgICAgICAgICAgICAgcmVzdWx0LnN0ZGVycl90ZXh0Ci0gCi0gICAgICAgICAjIEluc3Rh bGwgM3JkIHBhcnR5IENBJ3MsIExldCdzIEVuY3J5cHQgaW4gdGhpcyBjYXNlCi0tICAgICAgICBm b3IgY2VydCBpbiAoaXNyZ3Jvb3R4MSwgbGV0c2VuY3J5cHRhdXRob3JpdHlyMyk6Ci0rICAgICAg ICBmb3IgY2VydCBpbiAoaXNyZ3Jvb3R4MSwgbGV0c2VuY3J5cHRhdXRob3JpdHlyMTIpOgotICAg ICAgICAgICAgIGNlcnRmaWxlID0gb3MucGF0aC5qb2luKHNlbGYubWFzdGVyLmNvbmZpZy50ZXN0 X2RpciwgJ2NlcnQucGVtJykKLSAgICAgICAgICAgICBzZWxmLm1hc3Rlci5wdXRfZmlsZV9jb250 ZW50cyhjZXJ0ZmlsZSwgY2VydCkKLSAgICAgICAgICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5y dW5fY29tbWFuZCgKLUBAIC0xMjU3LDcgKzEyNTYsNyBAQCBjbGFzcyBUZXN0SVBBQ29tbWFuZChJ bnRlZ3JhdGlvblRlc3QpOgotIAotICAgICAgICAgIyBkZWxldGlvbiBvZiBhIHN1YmNhCi0gICAg ICAgICByZXN1bHQgPSBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZCgKLS0gICAgICAgICAgICBbJ2lw YS1jYWNlcnQtbWFuYWdlJywgJ2RlbGV0ZScsIGxlX3IzX25pY2tdLAotKyAgICAgICAgICAgIFsn aXBhLWNhY2VydC1tYW5hZ2UnLCAnZGVsZXRlJywgbGVfcjEyX25pY2tdLAotICAgICAgICAgICAg IHJhaXNlb25lcnI9RmFsc2UKLSAgICAgICAgICkKLSAgICAgICAgIGFzc2VydCByZXN1bHQucmV0 dXJuY29kZSA9PSAwCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gMGE1NTA5NjY1NDg1YmFhNTE5MGYy ZTNjNmZkZDc2NWM5NjZhNDQwNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhh bmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxNSBTZXAgMjAy NSAwOTo0MTozMSArMDMwMAotU3ViamVjdDogW1BBVENIIDQwLzQ3XSBHZXRFbnRyeUZyb21MRElG OiBoYW5kbGUgRE5zIGNhc2UtaW5zZW5zaXRpdmUKLQotTERBUCBleHBlY3RzIGNhc2UtaW5zZW5z aXRpdmUgRE5zLCBzbyBtb2RpZnkgTERJRiBwYXJzZXIgdG8KLWNvbXBhcmUgRE5zIGFzIGNhc2Ut aW5zZW5zaXRpdmUgc3RyaW5ncyBhbmQgdXNlIGNhc2UtcHJlc2VydmluZyBidXQKLWNhc2UtaW5z ZW5zaXRpdmUgZGljdGlvbmFyeS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEv aXNzdWUvOTg1NAotCi1TaWduZWQtb2ZmLWJ5OiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lA cmVkaGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRo YXQuY29tPgotLS0tCi0gaXBhc2VydmVyL2luc3RhbGwvdXBncmFkZWluc3RhbmNlLnB5IHwgOCAr KysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9pcGFzZXJ2ZXIvaW5zdGFsbC91cGdyYWRlaW5zdGFuY2UucHkgYi9p cGFzZXJ2ZXIvaW5zdGFsbC91cGdyYWRlaW5zdGFuY2UucHkKLWluZGV4IGI4NGY1MGIwNS4uZWNk MGEwOGVhIDEwMDY0NAotLS0tIGEvaXBhc2VydmVyL2luc3RhbGwvdXBncmFkZWluc3RhbmNlLnB5 Ci0rKysgYi9pcGFzZXJ2ZXIvaW5zdGFsbC91cGdyYWRlaW5zdGFuY2UucHkKLUBAIC0yOSw3ICsy OSw3IEBAIGltcG9ydCB0cmFjZWJhY2sKLSBmcm9tIGlwYWxpYiBpbXBvcnQgYXBpCi0gZnJvbSBp cGFwbGF0Zm9ybS5wYXRocyBpbXBvcnQgcGF0aHMKLSBmcm9tIGlwYXBsYXRmb3JtIGltcG9ydCBz ZXJ2aWNlcwotLWZyb20gaXBhcHl0aG9uIGltcG9ydCBpcGFsZGFwCi0rZnJvbSBpcGFweXRob24g aW1wb3J0IGlwYWxkYXAsIGlwYXV0aWwKLSAKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9y dCBpbnN0YWxsdXRpbHMKLSBmcm9tIGlwYXNlcnZlci5pbnN0YWxsIGltcG9ydCBzY2hlbWF1cGRh dGUKLUBAIC01Nyw4ICs1Nyw4IEBAIGNsYXNzIEdldEVudHJ5RnJvbUxESUYobGRpZi5MRElGUGFy c2VyKToKLSAgICAgICAgICByZXR1cm5lZCBpZiBsaXN0IGlzIGVtcHR5LgotICAgICAgICAgIiIi Ci0gICAgICAgICBsZGlmLkxESUZQYXJzZXIuX19pbml0X18oc2VsZiwgaW5wdXRfZmlsZSkKLS0g ICAgICAgIHNlbGYuZW50cmllc19kbiA9IGVudHJpZXNfZG4KLS0gICAgICAgIHNlbGYucmVzdWx0 cyA9IHt9Ci0rICAgICAgICBzZWxmLmVudHJpZXNfZG4gPSBbZS5sb3dlcigpIGZvciBlIGluIGVu dHJpZXNfZG5dCi0rICAgICAgICBzZWxmLnJlc3VsdHMgPSBpcGF1dGlsLkNJRGljdCgpCi0gCi0g ICAgIGRlZiBnZXRfcmVzdWx0cyhzZWxmKToKLSAgICAgICAgICIiIgotQEAgLTY3LDcgKzY3LDcg QEAgY2xhc3MgR2V0RW50cnlGcm9tTERJRihsZGlmLkxESUZQYXJzZXIpOgotICAgICAgICAgcmV0 dXJuIHNlbGYucmVzdWx0cwotIAotICAgICBkZWYgaGFuZGxlKHNlbGYsIGRuLCBlbnRyeSk6Ci0t ICAgICAgICBpZiBzZWxmLmVudHJpZXNfZG4gYW5kIGRuIG5vdCBpbiBzZWxmLmVudHJpZXNfZG46 Ci0rICAgICAgICBpZiBzZWxmLmVudHJpZXNfZG4gYW5kIGRuLmxvd2VyKCkgbm90IGluIHNlbGYu ZW50cmllc19kbjoKLSAgICAgICAgICAgICByZXR1cm4KLSAKLSAgICAgICAgIHNlbGYucmVzdWx0 c1tkbl0gPSBlbnRyeQotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIGFhZTczZGZjM2I1NDlmMWRjMjFh OGJkM2EyYmJkN2QwNWQ4ZWRjZTEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGbG9y ZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQuY29tPgotRGF0ZTogTW9uLCAxNSBTZXAgMjAy NSAxNjo1OTo1MiArMDIwMAotU3ViamVjdDogW1BBVENIIDQxLzQ3XSBpcGF0ZXN0czogZXhjbHVk ZSBUb21jYXRGaWxlQ2hlY2sgd2hlbiBSU04gYXJlIGVuYWJsZWQKLQotQmVjYXVzZSBvZiBQS0kg aXNzdWUgIzQ5MDYsIHRoZSBwZXJtaXNzaW9ucyBvZgotL3Zhci9saWIvcGtpL3BraS10b21jYXQv Y29uZi9jYS9DUy5jZmcKLWFyZSB0b28gcGVybWlzc2l2ZSB3aGVuIFJTTiBpcyBlbmFibGVkIGFu ZCB0aGUgY2hlY2sgVG9tY2F0RmlsZUNoZWNrCi1mcm9tIGlwYWhlYWx0aGNoZWNrLmlwYS5maWxl cyBmYWlscy4KLQotRXhjbHVkZSB0aGlzIGNoZWNrIHdoZW4gUlNOIGFyZSBlbmFibGVkLgotCi1S ZWxhdGVkOiBodHRwczovL2dpdGh1Yi5jb20vZG9ndGFncGtpL3BraS9pc3N1ZXMvNDkwNgotU2ln bmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLVJldmll d2VkLUJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXRl c3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFsdGhjaGVjay5weSB8IDYgKysrKysrCi0g MSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvaXBhdGVzdHMv dGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5IGIvaXBhdGVzdHMvdGVzdF9p bnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0aGNoZWNrLnB5Ci1pbmRleCAzZGNjMjI0MTEuLjZkMDRk M2IxMCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9pcGFoZWFs dGhjaGVjay5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2lwYWhlYWx0 aGNoZWNrLnB5Ci1AQCAtMjUyMSw2ICsyNTIxLDEyIEBAIGNsYXNzIFRlc3RJcGFIZWFsdGhDTEko SW50ZWdyYXRpb25UZXN0KToKLSAgICAgICAgICkKLSAgICAgICAgIHRhc2tzLmluc3RhbGxfcGFj a2FnZXMoY2xzLm1hc3RlciwgSEVBTFRIQ0hFQ0tfUEtHKQotICAgICAgICAgc2V0X2V4Y2x1ZGVz KGNscy5tYXN0ZXIsICJrZXkiLCAiRFNDTEUwMDA0IikKLSsgICAgICAgICMgQmVjYXVzZSBvZiBp c3N1ZSBQS0kjNDkwNiwgc2tpcCB0aGUgY2hlY2sgaXBhaGVhbHRoY2hlY2suaXBhLmZpbGVzCi0r ICAgICAgICAjIFRvbWNhdEZpbGVDaGVjayBpZiByYW5kb20gc2VyaWFsIG51bWJlcnMgYXJlIGVu YWJsZWQKLSsgICAgICAgIGNzX2NmZyA9IGNscy5tYXN0ZXIuZ2V0X2ZpbGVfY29udGVudHMocGF0 aHMuQ0FfQ1NfQ0ZHX1BBVEgsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGVuY29kaW5nPSd1dGYtOCcpCi0rICAgICAgICBpZiAiZGJzLmNlcnQuaWQuZ2Vu ZXJhdG9yPXJhbmRvbSIgaW4gY3NfY2ZnOgotKyAgICAgICAgICAgIHNldF9leGNsdWRlcyhjbHMu bWFzdGVyLCAiY2hlY2siLCAiVG9tY2F0RmlsZUNoZWNrIikKLSAKLSAgICAgZGVmIHRlc3RfaW5k ZW50KHNlbGYpOgotICAgICAgICAgIiIiCi0tLSAKLTIuNTEuMAotCi0KLUZyb20gYTIzZTA4Mjg2 ZGU5NjZhYTM1MDcxMzc4ZjljZTI3ZTRmZDUzOTkzYSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBNb24s IDE1IFNlcCAyMDI1IDE1OjA5OjI4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNDIvNDddIGlwYXRl c3RzOiBhZGQgeGZhaWwgZm9yIFRlc3RLUkFpbnN0YWxsQWZ0ZXJDZXJ0UmVuZXcKLQotV2l0aCBQ S0kgMTEuNiwgcGtpc3Bhd24gY2hlY2tzIHRoYXQgdGhlIGNlcnRpZmljYXRlIHByb3ZpZGVkIGlu Ci1wa2lfYWRtaW5fY2VydF9maWxlID0gL3Jvb3QvLmRvZ3RhZy9wa2ktdG9tY2F0L2NhX2FkbWlu LmNlcnQgaXMgc3RpbGwKLXZhbGlkLgotSW4gdGhpcyBzY2VuYXJpbyB0aGUgZGF0ZSBpcyBtb3Zl ZCBwYXN0IHRoZSB2YWxpZHkgZGF0ZSBhbmQgSVBBCi1kb2VzIG5vdCByZWZyZXNoIHRoZSBjZXJ0 aWZpY2F0ZSwgaGVuY2UgdGhlIHRlc3QgZmFpbHMuCi1NYXJrIGFzIGtub3duIGlzc3VlICh0aWNr ZXQgaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzYzKQotCi1SZWxhdGVkOiBodHRw czovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NjMKLVNpZ25lZC1vZmYtYnk6IEZsb3JlbmNl IEJsYW5jLVJlbmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5k ZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9u L3Rlc3RfaW5zdGFsbGF0aW9uLnB5IHwgMTUgKysrKysrKysrKysrKy0tCi0gMSBmaWxlIGNoYW5n ZWQsIDEzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pcGF0 ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0aW9uLnB5IGIvaXBhdGVzdHMvdGVz dF9pbnRlZ3JhdGlvbi90ZXN0X2luc3RhbGxhdGlvbi5weQotaW5kZXggZThjYTc2MzAwLi4zNGNj YzMxN2YgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFs bGF0aW9uLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfaW5zdGFsbGF0 aW9uLnB5Ci1AQCAtMzYsNiArMzYsNyBAQCBmcm9tIGlwYXRlc3RzLnRlc3RfaW50ZWdyYXRpb24u YmFzZSBpbXBvcnQgSW50ZWdyYXRpb25UZXN0Ci0gZnJvbSBpcGF0ZXN0cy50ZXN0X2ludGVncmF0 aW9uLnRlc3RfY2FsZXNzIGltcG9ydCBDQUxlc3NCYXNlLCBpcGFfY2VydHNfY2xlYW51cAotIGZy b20gaXBhdGVzdHMudGVzdF9pbnRlZ3JhdGlvbi50ZXN0X2NlcnQgaW1wb3J0IGdldF9jZXJ0bW9u Z2VyX2ZzX2lkCi0gZnJvbSBpcGF0ZXN0cy5weXRlc3RfaXBhLmludGVncmF0aW9uIGltcG9ydCBz a2lwX2lmX2ZpcHMKLStmcm9tIGlwYXRlc3RzLnV0aWwgaW1wb3J0IHhmYWlsX2NvbnRleHQKLSBm cm9tIGlwYXBsYXRmb3JtIGltcG9ydCBzZXJ2aWNlcwotIAotIAotQEAgLTE2MjcsOCArMTYyOCwx OCBAQCBjbGFzcyBUZXN0S1JBaW5zdGFsbEFmdGVyQ2VydFJlbmV3KEludGVncmF0aW9uVGVzdCk6 Ci0gCi0gICAgICAgICBwYXNzd2QgPSAie3Bhc3N3ZH1cbntwYXNzd2R9XG57cGFzc3dkfSIuZm9y bWF0KHBhc3N3ZD1hZG1pbl9wYXNzKQotICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQo WydraW5pdCcsICdhZG1pbiddLCBzdGRpbl90ZXh0PXBhc3N3ZCkKLS0gICAgICAgIGNtZCA9IHNl bGYubWFzdGVyLnJ1bl9jb21tYW5kKFsnaXBhLWtyYS1pbnN0YWxsJywgJy1wJywgZG1fcGFzcywg Jy1VJ10pCi0tICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFuZChbJ3N5c3RlbWN0bCcsICdz dGFydCcsICdjaHJvbnlkJ10pCi0rICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgIyBXaXRoIFBL SSAxMS42IHRoZSB2YWxpZGl0eSBvZiB0aGUgY2VydCBpbgotKyAgICAgICAgICAgICMgL3Jvb3Qv LmRvZ3RhZy9wa2ktdG9tY2F0L2NhX2FkbWluLmNlcnQgaXMgY2hlY2tlZAotKyAgICAgICAgICAg ICMgYW5kIEtSQSBpbnN0YWxsIGZhaWxzLiBLbm93biBJUEEgaXNzdWUKLSsgICAgICAgICAgICBw a2lfdmVyc2lvbiA9IHRhc2tzLmdldF9wa2lfdmVyc2lvbihzZWxmLm1hc3RlcikKLSsgICAgICAg ICAgICB3aXRoIHhmYWlsX2NvbnRleHQocGtpX3ZlcnNpb24gPj0gdGFza3MucGFyc2VfdmVyc2lv bignMTEuNi4wJyksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdodHRwczovL3Bh Z3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3NjMnKToKLSsgICAgICAgICAgICAgICAgY21kID0gc2Vs Zi5tYXN0ZXIucnVuX2NvbW1hbmQoWwotKyAgICAgICAgICAgICAgICAgICAgJ2lwYS1rcmEtaW5z dGFsbCcsICctcCcsIGRtX3Bhc3MsICctVScKLSsgICAgICAgICAgICAgICAgXSkKLSsgICAgICAg IGZpbmFsbHk6Ci0rICAgICAgICAgICAgc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydzeXN0ZW1j dGwnLCAnc3RhcnQnLCAnY2hyb255ZCddKQotIAotIAotIGNsYXNzIFRlc3RLUkFpbnN0YWxsT25S ZXBsaWNhV2l0aENBSG9zdChJbnRlZ3JhdGlvblRlc3QpOgotLS0gCi0yLjUxLjAKLQotCi1Gcm9t IGVjOTJmNzI2YzNlMTRkYjEzNWUxMTI2ODk4M2U5ZTg0MmZjYWY0ODUgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURh dGU6IFRodSwgMTQgQXVnIDIwMjUgMTM6NTE6NDUgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSCA0My80 N10gVGVzdCB0aGF0IGNlcnRpZmljYXRlcyBiZXlvbmQgMjAzOCBjYW4gYmUgcGFyc2VkCi0KLVRo ZSBvbGQgMzItYml0IHRpbWVfdCB3aWxsIG92ZXJmbG93IGluIDIwMzguIFRlc3QgdGhhdAotdGhl IElQQSBjZXJ0aWZpY2F0ZSBsb2FkZXIgd2lsbCBiZSBhYmxlIHRvIHBhcnNlCi1jZXJ0aWZpY2F0 ZXMgZmFyIGludG8gdGhlIGZ1dHVyZS4KLQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJl ZWlwYS9pc3N1ZS8yNDk2Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVuZGVuIDxyY3JpdHRl bkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJlbmF1ZCA8ZmxvQHJl ZGhhdC5jb20+Ci0tLS0KLSBpcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1MDkucHkgfCAzNSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCi0gMSBmaWxlIGNoYW5nZWQsIDM1IGluc2Vy dGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaXBhbGliL3Rlc3RfeDUwOS5w eSBiL2lwYXRlc3RzL3Rlc3RfaXBhbGliL3Rlc3RfeDUwOS5weQotaW5kZXggNzQ3NjEyOTZlLi41 OTI3MzAyOWEgMTAwNjQ0Ci0tLS0gYS9pcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3g1MDkucHkK LSsrKyBiL2lwYXRlc3RzL3Rlc3RfaXBhbGliL3Rlc3RfeDUwOS5weQotQEAgLTE4NSw2ICsxODUs MzIgQEAgYnN3Tmx4V2ZvaGFXMEZ6VFJmVE1iSXJ3b1VDV2lsL1V3MmtCWW5sZDE1Z3d6dUxETlE9 PQotIC0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0KLSAnJycKLSAKLSsjIEdlbmVyYXRlZCBieSBt b3ZpbmcgdGhlIGRhdGUgZm9yd2FyZCAyMCB5ZWFycyBhbmQgcnVubmluZwotKyMgY2VydHV0aWwg LVMgLWQgLiAteCAtbiBjYWNlcnQgLXMgJ0NOPUF1dGhvcml0eSxPPUVYQU1QTEUnLCBcCi0rIyAt dCBDVCxDVCxDVCAtbSAxIC12IDEyMDAgLXogL2V0Yy9ncm91cCAtLWtleVVzYWdlIGNlcnRTaWdu aW5nIC0yCi0rIwotKyMgVGhlIGFuc3dlcnMgYXJlIFksIDAsIFkgZm9yIENBLCAwIHBhdGhsZW4s IFkgY3JpdGljYWwKLStmdXR1cmVfY3J0ID0gYicnJ1wKLSstLS0tLUJFR0lOIENFUlRJRklDQVRF LS0tLS0KLStNSUlDN0RDQ0FkU2dBd0lCQWdJQkFUQU5CZ2txaGtpRzl3MEJBUXNGQURBbU1SQXdE Z1lEVlFRS0V3ZEZXRUZOCi0rVUV4Rk1SSXdFQVlEVlFRREV3bEJkWFJvYjNKcGRIa3dJQmNOTkRV d09ERXpNakF6T0RNMVdoZ1BNakUwTlRBNAotK01UTXlNRE00TXpWYU1DWXhFREFPQmdOVkJBb1RC MFZZUVUxUVRFVXhFakFRQmdOVkJBTVRDVUYxZEdodmNtbDAKLStlVENDQVNJd0RRWUpLb1pJaHZj TkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFORW9WaUdGK0FaUGJ5RnVQVmN2Ci0rSWJPUlNoV3kw aUlQQ1R3K21keFRwK3czZzN3ekNRTlFQMWQweThrSTR4SHFtM1BUbVZmMExkR3dBaGdLcGVUdQot K0NkUjk3c2N2akdETkNhOHBsdVExa21hbDJya1NlS1lrVkV3NEJ3TzBSZkJQWWozV0lrYW1MSUhj RmFwRDk3QzMKLStNMlVwdEFVajZ3Q3BSelJtRkc2SDJ2Z3VqY1paL0o0UDVDOTdzeFBhOUg4QlJZ akVQbklYUnNtS09vZjlFTS9RCi0rdS9oYUJKbnEyN2FqU0xPK1N6MEowZEtHMSthWmowdEp3NGRX c2pkeUhRMVM1SkJJNnhkdk9GR213czZYUmtncAotKzlNcjdNUzRqOXh1Tms1dE11Y1AycnNpKyt3 anU3aHJoYVdmcWZjZlFGZitnU0NUM2wwRm5vVDVuMHRQRWpFaVAKLSsxdU1DQXdFQUFhTWpNQ0V3 RWdZRFZSMFRBUUgvQkFnd0JnRUIvd0lCQURBTEJnTlZIUThFQkFNQ0FnUXdEUVlKCi0rS29aSWh2 Y05BUUVMQlFBRGdnRUJBQy9VTy9DT1RDSWRBK0E3bTZZR0NjUGNkdGd2TU9RVmZLdHE1VVlBYUcv aQotK3pFMDltR1FxTWdpR0poN1BXVEtUN1I2UTljYUZGSEJuVHkybVVrdlYwTzd4SHRLU1Z5TWxr bVE5K2dhMGpxK0QKLSs1dUtBS1pMcmVmQytwYmpJSWd1bkhUT2FTRmZnZ1Q5WitpM0lQMk0xSnlB MHpNcmNSUUlNMk95RGRuOEY0L2s1Ci0rVmVnVEFVUC9XL1dnTUM2V3J2TGhLQ1FxUU9SUHQ2emJ2 dUswR3ZRWFNCVFJnRytjdFg0TjFMYUxodjhsRjZrTAotK2R5VkdLMUVHaTlHZXU1SEhmclpUSHg2 cUxnWEtEMUtiZlpWZE10WDkwdlRPL0lTWE9obm1SekM3RXFMaTlZRUoKLStub0xxSHY1RFVqU09J TzNnTUtUQkltdlVOZzg4aFBwN3pFLzMvL3VTdlhjPQotKy0tLS0tRU5EIENFUlRJRklDQVRFLS0t LS0KLSsnJycKLSsKLSAKLSBjbGFzcyB0ZXN0X3g1MDk6Ci0gICAgICIiIgotQEAgLTMzMiw2ICsz NTgsMTUgQEAgY2xhc3MgdGVzdF94NTA5OgotICAgICAgICAgd2l0aCBweXRlc3QucmFpc2VzKFZh bHVlRXJyb3IpOgotICAgICAgICAgICAgIHg1MDkubG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0ZSh2 MV9jZXJ0KQotIAotKyAgICBkZWYgdGVzdF9mdXR1cmVfY2VydGlmaWNhdGVfZGF0ZXMoc2VsZik6 Ci0rICAgICAgICAiIiIKLSsgICAgICAgIElzc3VlIGEgY2VydGlmaWNhdGUgdGhhdCBpcyB2YWxp ZCBhZnRlciAyMDM4IHRoYXQgd2lsbCBiZSB2YWxpZAotKyAgICAgICAgYWZ0ZXIgMjAxNiBhbmQg dmFsaWRhdGUgdGhhdCBpdCBpcyByZWFkYWJsZSBieSBpcGFsaWIueDUwOS5weS4KLSsgICAgICAg ICIiIgotKyAgICAgICAgY2VydCA9IHg1MDkubG9hZF9wZW1feDUwOV9jZXJ0aWZpY2F0ZShmdXR1 cmVfY3J0KQotKyAgICAgICAgYXNzZXJ0IGNlcnQubm90X3ZhbGlkX2JlZm9yZS55ZWFyID4gMjAz OAotKyAgICAgICAgYXNzZXJ0IGNlcnQubm90X3ZhbGlkX2FmdGVyLnllYXIgPiAyMTA2Ci0rCi0g Ci0gY2xhc3MgdGVzdF9FeHRlcm5hbENBUHJvZmlsZToKLSAgICAgZGVmIHRlc3RfTVNDU1RlbXBs YXRlVjFfZ29vZChzZWxmKToKLS0tIAotMi41MS4wCi0KLQotRnJvbSBiZTcyNTVlYTYwMjVkZjQy MzM0OGFkNThhYmNlYTZjMjNkZjFkNjM0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog Um9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDE0IEF1ZyAy MDI1IDE2OjIwOjQ4IC0wNDAwCi1TdWJqZWN0OiBbUEFUQ0ggNDQvNDddIFRlc3QgdGhhdCBwYXNz d29yZCBleHBpcmF0aW9uIGRhdGUgcGFzdCAyMDM4IHdvcmtzCi0KLVRoZXJlIHdhcyBhIHRpbWUg d2UgY2FwcGVkIHRoZSBleHBpcmF0aW9uIGRhdGUgYXQgMjAzOAotYmVjYXVzZSBvdGhlcndpc2Ug dGltZSB3b3VsZCBvdmVyZmxvdy4gVGhhdCB3YXMgZml4ZWQuCi1BZGQgYSB0ZXN0IHRvIGVuc3Vy ZSBpdCBzdGF5cyB0aGF0IHdheS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZyZWVpcGEv aXNzdWUvMjQ5NgotCi1TaWduZWQtb2ZmLWJ5OiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVk aGF0LmNvbT4KLVJldmlld2VkLUJ5OiBGbG9yZW5jZSBCbGFuYy1SZW5hdWQgPGZsb0ByZWRoYXQu Y29tPgotLS0tCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5IHwg NTMgKysrKysrKysrKysrKysrKysrKysrKwotIDEgZmlsZSBjaGFuZ2VkLCA1MyBpbnNlcnRpb25z KCspCi0KLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFu ZHMucHkgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY29tbWFuZHMucHkKLWluZGV4 IGZjZjM0N2VlMC4uNmFhZjRmMjk5IDEwMDY0NAotLS0tIGEvaXBhdGVzdHMvdGVzdF9pbnRlZ3Jh dGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rl c3RfY29tbWFuZHMucHkKLUBAIC0yMDAsNiArMjAwLDI4IEBAIGR1cGxpY2F0ZXN1YmplY3QgPSAo Ci0gZHVwbGljYXRlX3NlcmlhbCA9ICI0MDk3IgotIAotIAotK0BweXRlc3QuZml4dHVyZSgpCi0r ZGVmIGV4cGlyZV9wYXNzd29yZCgpOgotKyAgICAiIiIKLSsgICAgRml4dHVyZSB0byBleHBpcmUg YSB1c2VyJ3MgcGFzc3dvcmQgZmFyIGludG8gdGhlIGZ1dHVyZSBwYXN0Ci0rICAgIDIwMzgsIHRo ZW4gcmV2ZXJ0IHRpbWUgYmFjay4KLSsgICAgIiIiCi0rICAgIGhvc3RzID0gZGljdCgpCi0rCi0r ICAgIGRlZiBfZXhwaXJlX3Bhc3N3b3JkKGhvc3QpOgotKyAgICAgICAgaG9zdHNbJ2hvc3QnXSA9 IGhvc3QKLSsgICAgICAgIHRhc2tzLm1vdmVfZGF0ZShob3N0LCAnc3RvcCcsICcrMjBZZWFycycp Ci0rICAgICAgICBob3N0LnJ1bl9jb21tYW5kKAotKyAgICAgICAgICAgIFsnaXBhY3RsJywgJ3Jl c3RhcnQnLCAnLS1pZ25vcmUtc2VydmljZS1mYWlsdXJlcyddCi0rICAgICAgICApCi0rCi0rICAg IHlpZWxkIF9leHBpcmVfcGFzc3dvcmQKLSsKLSsgICAgaG9zdCA9IGhvc3RzLnBvcCgnaG9zdCcp Ci0rICAgIHRhc2tzLnVuaW5zdGFsbF9tYXN0ZXIoaG9zdCkKLSsgICAgdGFza3MubW92ZV9kYXRl KGhvc3QsICdzdGFydCcsICctMjBZZWFycycpCi0rCi0rCi0gY2xhc3MgVGVzdElQQUNvbW1hbmQo SW50ZWdyYXRpb25UZXN0KToKLSAgICAgIiIiCi0gICAgIEEgbG90IG9mIGNvbW1hbmRzIGNhbiBi ZSBleGVjdXRlZCBhZ2FpbnN0IGEgc2luZ2xlIElQQSBpbnN0YWxsYXRpb24KLUBAIC0xODg4LDYg KzE5MTAsMzcgQEAgY2xhc3MgVGVzdElQQUNvbW1hbmQoSW50ZWdyYXRpb25UZXN0KToKLSAgICAg ICAgIGFzc2VydCBmIntpbnRlcm1fbmlja30gIHtpbnRlcm1lZGlhdGVfc2VyaWFsfSIgbm90IGlu IGNlcnRzCi0gICAgICAgICBhc3NlcnQgZiJ7aW50ZXJtX25pY2t9ICB7ZHVwbGljYXRlX3Nlcmlh bH0iIGluIGNlcnRzCi0gCi0rICAgIGRlZiB0ZXN0X2V4cGlyYXRpb25fZGF0ZV9wb3N0XzIwMzgo c2VsZiwgZXhwaXJlX3Bhc3N3b3JkKToKLSsgICAgICAgICIiIlRlc3QgdGhhdCBleHBpcmF0aW9u IGRhdGVzIGFmdGVyIDIwMzggZnVuY3Rpb24gd2l0aG91dAotKyAgICAgICAgICAgb3ZlcmZsb3cu Ci0rICAgICAgICAiIiIKLSsgICAgICAgIHRlc3R1c2VyID0gJ3Rlc3R1c2VyMjAzOCcKLSsgICAg ICAgIHBhc3N3b3JkID0gJ1NlY3JldEAxMjMnCi0rCi0rICAgICAgICB0YXNrcy5raW5pdF9hZG1p bihzZWxmLm1hc3RlcikKLSsgICAgICAgIHRhc2tzLnVzZXJfYWRkKHNlbGYubWFzdGVyLCB0ZXN0 dXNlciwgcGFzc3dvcmQ9cGFzc3dvcmQpCi0rICAgICAgICBzZWxmLm1hc3Rlci5ydW5fY29tbWFu ZChbCi0rICAgICAgICAgICAgJ2lwYScsICd1c2VyLW1vZCcsIHRlc3R1c2VyLCAnLS1wYXNzd29y ZC1leHBpcmF0aW9uJywKLSsgICAgICAgICAgICAnMjAzODExMTIxNzUzMjJaJywKLSsgICAgICAg IF0pCi0rCi0rICAgICAgICB0YXNrcy5rZGVzdHJveV9hbGwoc2VsZi5tYXN0ZXIpCi0rICAgICAg ICBleHBpcmVfcGFzc3dvcmQoc2VsZi5tYXN0ZXIpCi0rCi0rICAgICAgICBuZXdfcGFzc3dvcmQg PSAiJXNcbiVzXG4lc1xuIiAlIChwYXNzd29yZCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHBhc3N3b3JkLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFzc3dvcmQpCi0rCi0rICAgICAgICAjIGtpbml0X3VzZXIgd2lsbCBwYXNz IGluIHRoZSAicGFzc3dvcmQiIHZhbHVlIGFzIHN0ZGluLiBXZQotKyAgICAgICAgIyBzaG91bGQg c2VlIGEgcHJvbXB0IGFib3V0IGFuIGV4cGlyZWQgcGFzc3dvcmQgYW5kIHNldCBhIG5ldwotKyAg ICAgICAgIyBvbmUgKHRvIHRoZSBzYW1lIHRoaW5nKS4gSWYgdGhpcyBraW5pdCBzdWNjZWVkcyB0 aGVuIHRoZQotKyAgICAgICAgIyBleHBpcmF0aW9uIGRhdGUgd2FzIGhvbm9yZWQgYW5kIGEgbmV3 IG9uZSBjYW4gYmUgc2V0LiBUaW1lIHdpbGwKLSsgICAgICAgICMgYmUgcmVzdG9yZWQgb24gcmV0 dXJuIGZyb20gdGhpcyBmdW5jdGlvbi4KLSsgICAgICAgIHRhc2tzLmtpbml0X3VzZXIoc2VsZi5t YXN0ZXIsIHRlc3R1c2VyLCBuZXdfcGFzc3dvcmQpCi0rCi0rICAgICAgICAjIFRoaXMgbXVzdCBi ZSB0aGUgbGFzdCB0ZXN0IGluIHRoaXMgY2xhc3MgYmVjYXVzZSBpdCBtb3ZlcwotKyAgICAgICAg IyB0aW1lIGFuZCB1bmluc3RhbGxzIHRoZSBzZXJ2ZXIgd2hlbiBpdCBpcyBmaW5pc2hlZC4KLSsK LSAKLSBjbGFzcyBUZXN0SVBBQ29tbWFuZFdpdGhvdXRSZXBsaWNhKEludGVncmF0aW9uVGVzdCk6 Ci0gICAgICIiIgotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDFkYjY2ZDIzYzc5ZjlkOGY1M2FkNGFk NmZlYmQyNWU1NGY5ZjZkYTAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBSb2IgQ3Jp dHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTkgTm92IDIwMjQgMTY6 MzY6MzIgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSCA0NS80N10gQ2F0Y2ggZGVjb2RpbmcgZXJyb3Jz IGluIENlcnRpZmljYXRlU2lnbmluZ1JlcXVlc3QKLSBwYXJhbWV0ZXJzCi0KLUEgdHJ5L2V4Y2Vw dCBpcyBuZWVkZWQgYXJvdW5kIGJhc2U2NC5iNjRkZWNvZGUgaW4gY2FzZSBhbiBpbnZhbGlkCi1D U1IgaXMgcGFzc2VkIGluIHRvIGEgY2VydCBmdW5jdGlvbi4KLQotUmVsYXRlZDogaHR0cHM6Ly9w YWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85NzM4Ci0KLVNpZ25lZC1vZmYtYnk6IFJvYiBDcml0dGVu ZGVuIDxyY3JpdHRlbkByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IEZsb3JlbmNlIEJsYW5jLVJl bmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5kZW4gPHJjcml0 dGVuQHJlZGhhdC5jb20+Ci0tLS0KLSBpcGFsaWIvcGFyYW1ldGVycy5weSAgICAgICAgICAgICAg ICAgICAgfCAgOSArKysrKysrLS0KLSBpcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3BhcmFtZXRl cnMucHkgfCAyNSArKysrKysrKysrKysrKysrKy0tLS0tLS0tCi0gMiBmaWxlcyBjaGFuZ2VkLCAy NCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYWxpYi9w YXJhbWV0ZXJzLnB5IGIvaXBhbGliL3BhcmFtZXRlcnMucHkKLWluZGV4IGQwYzhhODRhOS4uMzU1 YmEzZWVjIDEwMDY0NAotLS0tIGEvaXBhbGliL3BhcmFtZXRlcnMucHkKLSsrKyBiL2lwYWxpYi9w YXJhbWV0ZXJzLnB5Ci1AQCAtMTAyLDYgKzEwMiw3IEBAIGEgbW9yZSBkZXRhaWxlZCBkZXNjcmlw dGlvbiBmb3IgY2xhcml0eS4KLSBpbXBvcnQgcmUKLSBpbXBvcnQgZGVjaW1hbAotIGltcG9ydCBi YXNlNjQKLStpbXBvcnQgYmluYXNjaWkKLSBpbXBvcnQgZGF0ZXRpbWUKLSBpbXBvcnQgaW5zcGVj dAotIGltcG9ydCB0eXBpbmcKLUBAIC0xNTIzLDcgKzE1MjQsMTEgQEAgY2xhc3MgQ2VydGlmaWNh dGVTaWduaW5nUmVxdWVzdChQYXJhbSk6Ci0gICAgICAgICAgICAgcmV0dXJuIHZhbHVlCi0gCi0g ICAgICAgICB2YWx1ZSA9IHN0cmlwX2Nzcl9oZWFkZXIodmFsdWUpCi0tICAgICAgICByZXR1cm4g YmFzZTY0LmI2NGRlY29kZSh2YWx1ZSkKLSsgICAgICAgIHRyeToKLSsgICAgICAgICAgICByZXR1 cm4gYmFzZTY0LmI2NGRlY29kZSh2YWx1ZSkKLSsgICAgICAgIGV4Y2VwdCBiaW5hc2NpaS5FcnJv ciBhcyBlOgotKyAgICAgICAgICAgIHJhaXNlIENlcnRpZmljYXRlT3BlcmF0aW9uRXJyb3IoCi0r ICAgICAgICAgICAgICAgIGVycm9yPV8oJ25vdCBhIHZhbGlkIENTUjogJXMnKSAlIGUpCi0gCi0g ICAgIGRlZiBfY29udmVydF9zY2FsYXIoc2VsZiwgdmFsdWUsIGluZGV4PU5vbmUpOgotICAgICAg ICAgIiIiCi1AQCAtMTUzNyw3ICsxNTQyLDcgQEAgY2xhc3MgQ2VydGlmaWNhdGVTaWduaW5nUmVx dWVzdChQYXJhbSk6Ci0gICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICB2YWx1ZSA9 IHZhbHVlLmVuY29kZSgnYXNjaWknKQotICAgICAgICAgICAgIGV4Y2VwdCBVbmljb2RlRGVjb2Rl RXJyb3I6Ci0tICAgICAgICAgICAgICAgIHJhaXNlIENlcnRpZmljYXRlT3BlcmF0aW9uRXJyb3Io J25vdCBhIHZhbGlkIENTUicpCi0rICAgICAgICAgICAgICAgIHJhaXNlIENlcnRpZmljYXRlT3Bl cmF0aW9uRXJyb3IoZXJyb3I9Xygnbm90IGEgdmFsaWQgQ1NSJykpCi0gCi0gICAgICAgICBpZiBp c2luc3RhbmNlKHZhbHVlLCBieXRlcyk6Ci0gICAgICAgICAgICAgIyB0cnkgdG8gZXh0cmFjdCBE RVIgZnJvbSB3aGF0ZXZlciB3ZSBnb3QKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2lwYWxp Yi90ZXN0X3BhcmFtZXRlcnMucHkgYi9pcGF0ZXN0cy90ZXN0X2lwYWxpYi90ZXN0X3BhcmFtZXRl cnMucHkKLWluZGV4IDlmZWI2MTNiNS4uNjBhYmViOTVlIDEwMDY0NAotLS0tIGEvaXBhdGVzdHMv dGVzdF9pcGFsaWIvdGVzdF9wYXJhbWV0ZXJzLnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2lwYWxp Yi90ZXN0X3BhcmFtZXRlcnMucHkKLUBAIC0xNzIwLDExICsxNzIwLDE2IEBAIGNsYXNzIHRlc3Rf Q2VydGlmaWNhdGVTaWduaW5nUmVxdWVzdChDbGFzc0NoZWNrZXIpOgotICAgICAgICAgYidceGVk XHJceDk2XHhmYlx4MWJceDhkTlx4YWNceDg5Z3o5XHg5OFx4ZDlceGQ2XHg5ZVx4N2ZXfVx4ZjRc eDk3OycKLSAgICAgICAgIGInXHhhZFx4ZmVceGFkXHhjMjc2XHg4MHFtRVx4Yzd8XHgwYlx4YjFe Ul0sJwotICAgICApCi0tICAgIG1hbGZvcm1lZF9jc3IgPSAoCi0rICAgIG1hbGZvcm1lZF9jc3Ig PSAoICAjIHZhbHVlIG5vdCBhIENTUgotICAgICAgICAgYictLS0tLUJFR0lOIENFUlRJRklDQVRF IFJFUVVFU1QtLS0tLVxuJwotICAgICAgICAgYidWR2hwY3lCcGN5QmhiaUJwYm5aaGJHbGtJRU5U VWc9PVxuJwotICAgICAgICAgYictLS0tLUVORCBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS1cbicK LSAgICAgKQotKyAgICBtYWxmb3JtZWRfY3NyXzIgPSAoICAjIGludmFsaWQgaW5wdXQKLSsgICAg ICAgIGInLS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS1cbicKLSsgICAgICAgIGIn MTIzXG4nCi0rICAgICAgICBiJy0tLS0tRU5EIENFUlRJRklDQVRFIFJFUVVFU1QtLS0tLVxuJwot KyAgICApCi0gCi0gICAgIGRlZiB0ZXN0X2luaXQoc2VsZik6Ci0gICAgICAgICAjIGNyZWF0ZSB0 aGUgcGFyYW1ldGVyCi1AQCAtMTc1MiwxNCArMTc1NywxOCBAQCBjbGFzcyB0ZXN0X0NlcnRpZmlj YXRlU2lnbmluZ1JlcXVlc3QoQ2xhc3NDaGVja2VyKToKLSAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2FtcGxlX2NzcikKLSAKLSAgICAgICAgICMgdGVzdCB0aGF0IHdlIGZhaWwgdGhlIHNhbWUg d2l0aCBtYWxmb3JtZWQgQ1NSIGFzIGJ5dGVzIG9yIHN0cgotLSAgICAgICAgZm9yIHByZXBfaW5w dXQgaW4gKAotLSAgICAgICAgICAgIGxhbWJkYSB4OiB4LAotLSAgICAgICAgICAgIGxhbWJkYSB4 OiB4LmRlY29kZSgndXRmLTgnKSwKLSsgICAgICAgIGZvciBpbnB1dCBpbiAoCi0rICAgICAgICAg ICAgc2VsZi5tYWxmb3JtZWRfY3NyLAotKyAgICAgICAgICAgIHNlbGYubWFsZm9ybWVkX2Nzcl8y Ci0gICAgICAgICApOgotLSAgICAgICAgICAgICMgdGVzdCB0aGF0IG1hbGZvcm1lZCBDU1JzIHdv bid0IGJlIGFjY2VwdGVkCi0tICAgICAgICAgICAgcmFpc2VzKGVycm9ycy5DZXJ0aWZpY2F0ZU9w ZXJhdGlvbkVycm9yLAotLSAgICAgICAgICAgICAgICAgICBvLmNvbnZlcnQsCi0tICAgICAgICAg ICAgICAgICAgIHByZXBfaW5wdXQoc2VsZi5tYWxmb3JtZWRfY3NyKSkKLSsgICAgICAgICAgICBm b3IgcHJlcF9pbnB1dCBpbiAoCi0rICAgICAgICAgICAgICAgIGxhbWJkYSB4OiB4LAotKyAgICAg ICAgICAgICAgICBsYW1iZGEgeDogeC5kZWNvZGUoJ3V0Zi04JyksCi0rICAgICAgICAgICAgKToK LSsgICAgICAgICAgICAgICAgIyB0ZXN0IHRoYXQgbWFsZm9ybWVkIENTUnMgd29uJ3QgYmUgYWNj ZXB0ZWQKLSsgICAgICAgICAgICAgICAgcmFpc2VzKGVycm9ycy5DZXJ0aWZpY2F0ZU9wZXJhdGlv bkVycm9yLAotKyAgICAgICAgICAgICAgICAgICAgICAgby5jb252ZXJ0LAotKyAgICAgICAgICAg ICAgICAgICAgICAgcHJlcF9pbnB1dChpbnB1dCkpCi0gCi0gICAgICAgICAjIHRlc3QgREVSIGFz IGFuIGlucHV0IHRvIHRoZSBjb252ZXJ0IG1ldGhvZAotICAgICAgICAgY3NyX29iamVjdCA9IG8u Y29udmVydChzZWxmLnNhbXBsZV9kZXJfY3NyKQotLS0gCi0yLjUxLjAKLQotCi1Gcm9tIDI3MmVk NGQ5ZjU0Y2MzOGVlZWNlNDMxNGM3Njc3NWZkOTVhN2U2NjcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBSb2IgQ3JpdHRlbmRlbiA8cmNyaXR0ZW5AcmVkaGF0LmNvbT4KLURhdGU6IFR1 ZSwgMjIgQXByIDIwMjUgMTU6Mzk6MTYgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCA0Ni80N10gRG9u J3QgbGV0IGxhY2sgb2Ygc3ViY2EgaW4gUEtJIHByZXZlbnQgTERBUCBkZWxldGlvbgotCi1JZiBh IHN1YkNBIG9ubHkgZXhpc3RzIGluIExEQVAgdGhlbiBpdCBjb3VsZG4ndCBiZSByZW1vdmVkLgot Ci1BbGxvdyB0aGUgcHJvY2VzcyB0byBjb250aW51ZS4gSXQgd2lsbCBmYWlsIGluIHRoZSBzYW1l IHdheSBpZgotaXQgZG9lc24ndCBleGlzdCBvbiBib3RoIERvZ3RhZyBhbmQgSVBBLgotCi1SZWxh dGVkOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk3MzgKLQotU2lnbmVkLW9mZi1i eTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVu Y2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGlwYXNlcnZlci9wbHVnaW5z L2NhLnB5ICAgICAgICAgICAgICAgIHwgIDUgKysrKy0KLSBpcGFzZXJ2ZXIvcGx1Z2lucy9kb2d0 YWcucHkgICAgICAgICAgICB8ICAyICsrCi0gaXBhdGVzdHMvdGVzdF9pbnRlZ3JhdGlvbi90ZXN0 X2NlcnQucHkgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmlsZXMgY2hhbmdl ZCwgMzMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvaXBhc2Vy dmVyL3BsdWdpbnMvY2EucHkgYi9pcGFzZXJ2ZXIvcGx1Z2lucy9jYS5weQotaW5kZXggNDRkZDI5 OTQxLi5kMzUyNzVjYzYgMTAwNjQ0Ci0tLS0gYS9pcGFzZXJ2ZXIvcGx1Z2lucy9jYS5weQotKysr IGIvaXBhc2VydmVyL3BsdWdpbnMvY2EucHkKLUBAIC0zNTMsNyArMzUzLDEwIEBAIGNsYXNzIGNh X2RlbChMREFQRGVsZXRlKToKLSAgICAgICAgICAgICAgICAga2V5PWtleXNbMF0sCi0gICAgICAg ICAgICAgICAgIHJlYXNvbj1fKCJJUEEgQ0EgY2Fubm90IGJlIGRlbGV0ZWQiKSkKLSAKLS0gICAg ICAgIGNhX2lkID0gc2VsZi5hcGkuQ29tbWFuZC5jYV9zaG93KGtleXNbMF0pWydyZXN1bHQnXVsn aXBhY2FpZCddWzBdCi0rICAgICAgICB0cnk6Ci0rICAgICAgICAgICAgY2FfaWQgPSBzZWxmLmFw aS5Db21tYW5kLmNhX3Nob3coa2V5c1swXSlbJ3Jlc3VsdCddWydpcGFjYWlkJ11bMF0KLSsgICAg ICAgIGV4Y2VwdCBlcnJvcnMuTm90Rm91bmQ6Ci0rICAgICAgICAgICAgcmV0dXJuIGRuCi0gICAg ICAgICB3aXRoIHNlbGYuYXBpLkJhY2tlbmQucmFfbGlnaHR3ZWlnaHRfY2EgYXMgY2FfYXBpOgot ICAgICAgICAgICAgIGRhdGEgPSBjYV9hcGkucmVhZF9jYShjYV9pZCkKLSAgICAgICAgICAgICBp ZiBkYXRhWydlbmFibGVkJ106Ci1kaWZmIC0tZ2l0IGEvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFn LnB5IGIvaXBhc2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5Ci1pbmRleCAwMGZlMWFkNjQuLjAzYzA2 ZWFhNCAxMDA2NDQKLS0tLSBhL2lwYXNlcnZlci9wbHVnaW5zL2RvZ3RhZy5weQotKysrIGIvaXBh c2VydmVyL3BsdWdpbnMvZG9ndGFnLnB5Ci1AQCAtNjY3LDYgKzY2Nyw4IEBAIGNsYXNzIFJlc3RD bGllbnQoQmFja2VuZCk6Ci0gICAgICAgICApCi0gICAgICAgICBpZiBzdGF0dXMgPCAyMDAgb3Ig c3RhdHVzID49IDMwMDoKLSAgICAgICAgICAgICBleHBsYW5hdGlvbiA9IHNlbGYuX3BhcnNlX2Rv Z3RhZ19lcnJvcihyZXNwX2JvZHkpIG9yICcnCi0rICAgICAgICAgICAgaWYgc3RhdHVzID09IDQw NDoKLSsgICAgICAgICAgICAgICAgcmFpc2UgZXJyb3JzLk5vdEZvdW5kKHJlYXNvbj1leHBsYW5h dGlvbikKLSAgICAgICAgICAgICByYWlzZSBlcnJvcnMuSFRUUFJlcXVlc3RFcnJvcigKLSAgICAg ICAgICAgICAgICAgc3RhdHVzPXN0YXR1cywKLSAgICAgICAgICAgICAgICAgcmVhc29uPV8oJ05v bi0yeHggcmVzcG9uc2UgZnJvbSBDQSBSRVNUIEFQSTogJShzdGF0dXMpZC4gJShleHBsYW5hdGlv bilzJykKLWRpZmYgLS1naXQgYS9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5w eSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jZXJ0LnB5Ci1pbmRleCBkZGM0ZTA4 OWEuLjNlMWU4ZmQxZiAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVz dF9jZXJ0LnB5Ci0rKysgYi9pcGF0ZXN0cy90ZXN0X2ludGVncmF0aW9uL3Rlc3RfY2VydC5weQot QEAgLTI5OSw2ICsyOTksMzMgQEAgY2xhc3MgVGVzdEluc3RhbGxNYXN0ZXJDbGllbnQoSW50ZWdy YXRpb25UZXN0KToKLSAgICAgICAgICkuc3Rkb3V0X3RleHQKLSAgICAgICAgIGFzc2VydCAnaXNz dWVkOicgaW4gcmVzdWx0Ci0gCi0rICAgIGRlZiB0ZXN0X3JlbW92ZV9taXNzaW5nX2x3Y2Eoc2Vs Zik6Ci0rICAgICAgICAiIiJUZXN0IHJlbW92aW5nIGFuIElQQSBMV0NBIGlmIHRoZSBQS0kgY29w eSBpcyBtaXNzaW5nLiIiIgotKyAgICAgICAgbHdjYV9yZWdleCA9IHInICBBdXRob3JpdHkgSUQ6 ICguKikkJwotKyAgICAgICAgbHdjYSA9ICdsd2NhJwotKyAgICAgICAgc3ViamVjdCA9ICdDTj1M V0NBJwotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWwotKyAgICAg ICAgICAgICdpcGEnLCAnY2EtYWRkJywgbHdjYSwgJy0tc3ViamVjdCcsIHN1YmplY3QKLSsgICAg ICAgIF0pCi0rICAgICAgICBhc3NlcnQgJ0NyZWF0ZWQgQ0EgInt9IicuZm9ybWF0KGx3Y2EpIGlu IHJlc3VsdC5zdGRvdXRfdGV4dAotKwotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5tYXN0ZXIucnVu X2NvbW1hbmQoWydpcGEnLCAnY2Etc2hvdycsIGx3Y2EsICctLWFsbCddKQotKyAgICAgICAgbSA9 IE5vbmUKLSsgICAgICAgIGZvciBsaW5lIGluIHJlc3VsdC5zdGRvdXRfdGV4dC5zcGxpdCgnXG4n KToKLSsgICAgICAgICAgICBtID0gcmUubWF0Y2gobHdjYV9yZWdleCwgbGluZSkKLSsgICAgICAg ICAgICBpZiBtOgotKyAgICAgICAgICAgICAgICBicmVhawotKyAgICAgICAgYXNzZXJ0IG0KLSsg ICAgICAgIGNhX2lkID0gbS5ncm91cHMoMClbMF0KLSsKLSsgICAgICAgIHJlbW92ZV9jYV9sZGlm ID0gdGV4dHdyYXAuZGVkZW50KCIiIgotKyAgICAgICAgICAgICBkbjogY249e2NhX2lkfSxvdT1h dXRob3JpdGllcyxvdT1jYSxvPWlwYWNhCi0rICAgICAgICAgICAgIGNoYW5nZXR5cGU6IGRlbGV0 ZQotKyAgICAgICAgICAgICAiIiIuZm9ybWF0KGNhX2lkPWNhX2lkKSkKLSsgICAgICAgIHRhc2tz LmxkYXBtb2RpZnlfZG0oc2VsZi5tYXN0ZXIsIHJlbW92ZV9jYV9sZGlmKQotKwotKyAgICAgICAg c2VsZi5tYXN0ZXIucnVuX2NvbW1hbmQoWydpcGEnLCAnY2EtZGVsJywgbHdjYV0pCi0rCi0gCi0g Y2xhc3MgVGVzdENlcnRtb25nZXJSZWtleShJbnRlZ3JhdGlvblRlc3QpOgotIAotLS0gCi0yLjUx LjAKLQotCi1Gcm9tIGMxYzBjMGQ4Nzg0ZmRlYzc4ZGNkNTkwYjVjZGZhYjZmM2EyYjRiMGQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8YWJva292b3lA cmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTggU2VwIDIwMjUgMTg6MjA6MTEgKzAzMDAKLVN1Ympl Y3Q6IFtQQVRDSCA0Ny80N10gaXBhc2FtOiByZW1vdmUgZGVmaW5pdGlvbnMgd2hpY2ggaW5jbHVk ZWQgZnJvbQotIG5kcl9kcnNibG9icy5oCi0KLURvIG5vdCBuZWVkIHRvIGhhdmUgZHVwbGljYXRl cyBhcyB3ZSBpbmNsdWRlIHRoZW0uIFRoZXkgdXNlZCB0byBiZSBub3QKLWV4cG9ydGVkIGJ5IFNh bWJhIGJ1dCBub3QgYW55bW9yZS4KLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292b3kg PGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogRmxvcmVuY2UgQmxhbmMtUmVuYXVk IDxmbG9AcmVkaGF0LmNvbT4KLS0tLQotIGRhZW1vbnMvaXBhLXNhbS9pcGFfc2FtLmMgfCA0NyAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwg NDcgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5j IGIvZGFlbW9ucy9pcGEtc2FtL2lwYV9zYW0uYwotaW5kZXggODM5YTYyMWVmLi5jNDNmZmRkYmIg MTAwNjQ0Ci0tLS0gYS9kYWVtb25zL2lwYS1zYW0vaXBhX3NhbS5jCi0rKysgYi9kYWVtb25zL2lw YS1zYW0vaXBhX3NhbS5jCi1AQCAtNDMsNTMgKzQzLDYgQEAgY2hhciAqc21iX3hzdHJkdXAoY29u c3QgY2hhciAqcyk7Ci0gI2luY2x1ZGUgImlwYV9wd2QuaCIKLSAjaW5jbHVkZSAiaXBhX21zcGFj LmgiCi0gCi0tLyogZnJvbSBkcnNibG9icy5oICovCi0tc3RydWN0IEF1dGhJbmZvTm9uZSB7Ci0t CXVpbnQzMl90IHNpemU7LyogW3ZhbHVlKDApXSAqLwotLX07Ci0tCi0tc3RydWN0IEF1dGhJbmZv TlQ0T3dmIHsKLS0JdWludDMyX3Qgc2l6ZTsvKiBbdmFsdWUoMTYpXSAqLwotLQlzdHJ1Y3Qgc2Ft cl9QYXNzd29yZCBwYXNzd29yZDsKLS19OwotLQotLXN0cnVjdCBBdXRoSW5mb0NsZWFyIHsKLS0J dWludDMyX3Qgc2l6ZTsKLS0JdWludDhfdCAqcGFzc3dvcmQ7Ci0tfTsKLS0KLS1zdHJ1Y3QgQXV0 aEluZm9WZXJzaW9uIHsKLS0JdWludDMyX3Qgc2l6ZTsvKiBbdmFsdWUoNCldICovCi0tCXVpbnQz Ml90IHZlcnNpb247Ci0tfTsKLS0KLS11bmlvbiBBdXRoSW5mbyB7Ci0tCXN0cnVjdCBBdXRoSW5m b05vbmUgbm9uZTsvKiBbY2FzZShUUlVTVF9BVVRIX1RZUEVfTk9ORSldICovCi0tCXN0cnVjdCBB dXRoSW5mb05UNE93ZiBudDRvd2Y7LyogW2Nhc2UoVFJVU1RfQVVUSF9UWVBFX05UNE9XRildICov Ci0tCXN0cnVjdCBBdXRoSW5mb0NsZWFyIGNsZWFyOy8qIFtjYXNlKFRSVVNUX0FVVEhfVFlQRV9D TEVBUildICovCi0tCXN0cnVjdCBBdXRoSW5mb1ZlcnNpb24gdmVyc2lvbjsvKiBbY2FzZShUUlVT VF9BVVRIX1RZUEVfVkVSU0lPTildICovCi0tfS8qIFtub2Rpc2NyaW1pbmFudF0gKi87Ci0tCi0t c3RydWN0IEF1dGhlbnRpY2F0aW9uSW5mb3JtYXRpb24gewotLQlOVFRJTUUgTGFzdFVwZGF0ZVRp bWU7Ci0tCWVudW0gbHNhX1RydXN0QXV0aFR5cGUgQXV0aFR5cGU7Ci0tCXVuaW9uIEF1dGhJbmZv IEF1dGhJbmZvOy8qIFtzd2l0Y2hfaXMoQXV0aFR5cGUpXSAqLwotLQlEQVRBX0JMT0IgX3BhZDsv KiBbZmxhZyhMSUJORFJfRkxBR19BTElHTjQpXSAqLwotLX0vKiBbcHVibGljXSAqLzsKLS0KLS1z dHJ1Y3QgQXV0aGVudGljYXRpb25JbmZvcm1hdGlvbkFycmF5IHsKLS0JdWludDMyX3QgY291bnQ7 Ci0tCXN0cnVjdCBBdXRoZW50aWNhdGlvbkluZm9ybWF0aW9uICphcnJheTsKLS19LyogW2dlbnNp emUsbm9wdXNoLHB1YmxpYyxub3B1bGxdICovOwotLQotLXN0cnVjdCB0cnVzdEF1dGhJbk91dEJs b2IgewotLQl1aW50MzJfdCBjb3VudDsKLS0JdWludDMyX3QgY3VycmVudF9vZmZzZXQ7LyogW3Zh bHVlKChjb3VudD4wKT8xMjowKV0gKi8KLS0JdWludDMyX3QgcHJldmlvdXNfb2Zmc2V0Oy8qIFt2 YWx1ZSgoY291bnQ+MCk/MTIrbmRyX3NpemVfQXV0aGVudGljYXRpb25JbmZvcm1hdGlvbkFycmF5 KCZjdXJyZW50LG5kci0+ZmxhZ3MpOjApXSAqLwotLQlzdHJ1Y3QgQXV0aGVudGljYXRpb25JbmZv cm1hdGlvbkFycmF5IGN1cnJlbnQ7LyogW3N1YmNvbnRleHRfc2l6ZSgocHJldmlvdXNfb2Zmc2V0 KS0oY3VycmVudF9vZmZzZXQpKSxzdWJjb250ZXh0KDApXSAqLwotLQlzdHJ1Y3QgQXV0aGVudGlj YXRpb25JbmZvcm1hdGlvbkFycmF5IHByZXZpb3VzOy8qIFtzdWJjb250ZXh0KDApLGZsYWcoTElC TkRSX0ZMQUdfUkVNQUlOSU5HKV0gKi8KLS19LyogW2dlbnNpemUscHVibGljLG5vcHVzaF0gKi87 Ci0tCi0gLyogZnJvbSBnZW5lcmF0ZWQgaWRtYXAuaCAtIGhvcGVmdWxseSBPSyAqLwotIGVudW0g aWRfdHlwZSB7Ci0gCUlEX1RZUEVfTk9UX1NQRUNJRklFRCwKLS0tIAotMi41MS4wCi0KCmRpZmYg LS1naXQgYS9mcmVlaXBhLTQtMTItMi1wb3N0LXVwZGF0ZXMtZWRucy5wYXRjaCBiL2ZyZWVpcGEt NC0xMi0yLXBvc3QtdXBkYXRlcy1lZG5zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCBlOGI2YzNiLi4wMDAwMDAwCi0tLSBhL2ZyZWVpcGEtNC0xMi0yLXBvc3QtdXBkYXRlcy1l ZG5zLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjQyICswLDAgQEAKLUZyb20gNjAzNzkyYjg2 YTI1ZDJmNzhhMjQ1OGZhNGNjOTNlYmUxYmJhYmI2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK LUZyb206IEZyYW5jaXNjbyBUcml2aW5vIDxmdHJpdmlub0ByZWRoYXQuY29tPgotRGF0ZTogV2Vk LCAxMiBKdW4gMjAyNCAxNToyODoyOCArMDIwMAotU3ViamVjdDogW1BBVENIXSBkb2MvZGVzaWdu czogYWRkIGVuY3J5cHRlZCBETlMgZGVzaWduIGRvY3VtZW50cwotCi1BZGQgZGVzaWduIHBhZ2Ug Zm9yIEVuY3J5cHRlZCBETlMgdHJhZmZpYyBzdXBwb3J0LgotCi1SZWxhdGVkOiBodHRwczovL3Bh Z3VyZS5pby9mcmVlaXBhL2lzc3VlLzk2MDUKLVNpZ25lZC1vZmYtYnk6IEZyYW5jaXNjbyBUcml2 aW5vIDxmdHJpdmlub0ByZWRoYXQuY29tPgotUmV2aWV3ZWQtQnk6IFJvYiBDcml0dGVuZGVuIDxy Y3JpdHRlbkByZWRoYXQuY29tPgotLS0tCi0gZG9jL2Rlc2lnbnMvZWRucy5tZCAgICAgICAgICAg ICAgICAgICAgICAgIHwgMTk5ICsrKysrKysrKysrKysrKysrKysrKwotIGRvYy9kZXNpZ25zL2Vk bnMvRnJlZUlQQS1lRE5TLXZlcnNpb24zLmpwZyB8IEJpbiAwIC0+IDIzODA5NCBieXRlcwotIGRv Yy9kZXNpZ25zL2luZGV4LnJzdCAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCi0gMyBmaWxl cyBjaGFuZ2VkLCAyMDAgaW5zZXJ0aW9ucygrKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2MvZGVz aWducy9lZG5zLm1kCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9kZXNpZ25zL2VkbnMvRnJlZUlQ QS1lRE5TLXZlcnNpb24zLmpwZwotCi1kaWZmIC0tZ2l0IGEvZG9jL2Rlc2lnbnMvZWRucy5tZCBi L2RvYy9kZXNpZ25zL2VkbnMubWQKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAw MDAuLjk3YTU3ZjI2YwotLS0tIC9kZXYvbnVsbAotKysrIGIvZG9jL2Rlc2lnbnMvZWRucy5tZAot QEAgLTAsMCArMSwxOTkgQEAKLSsjIEZyZWVJUEEgSW50ZWdyYXRlZCBETlMgU2VydmljZSB3aXRo IERvVCBTdXBwb3J0Ci0rCi0rRW5jcnlwdGVkIEROUywgYWxzbyBrbm93biBhcyBETlMgb3ZlciBI VFRQUyAoRG9IKSBvciBETlMgb3ZlciBUTFMgKERvVCksIGlzIGEgcHJvdG9jb2wgdGhhdCBlbmNy eXB0cyBETlMgcXVlcmllcyBhbmQgcmVzcG9uc2VzIGV4Y2hhbmdlZCBiZXR3ZWVuIEROUyBjbGll bnRzIChzdWNoIGFzIHdlYiBicm93c2VycyBvciBhcHBsaWNhdGlvbnMpIGFuZCBETlMgc2VydmVy cy4gVHJhZGl0aW9uYWwgRE5TIHF1ZXJpZXMgYXJlIHNlbnQgb3ZlciBwbGFpbnRleHQgY29ubmVj dGlvbnMsIHdoaWNoIGNhbiBiZSBpbnRlcmNlcHRlZCBhbmQgbW9uaXRvcmVkIGJ5IG1hbGljaW91 cyBhY3RvcnMsIHBvc2luZyBwcml2YWN5IGFuZCBzZWN1cml0eSByaXNrcy4KLSsKLStJbiBtb2Rl cm4gZGVwbG95bWVudHMsIHRoZSBpbnRlcm5hbCBuZXR3b3JrIGNhbiBubyBsb25nZXIgYmUgdHJ1 c3RlZCwgaXQgbWVhbnMgdGhhdCBhbGwgdHJhZmZpYyBtdXN0IGJlIGF1dGhlbnRpY2F0ZWQsIGF1 dGhvcml6ZWQgYW5kIGVuY3J5cHRlZC4gRW5jcnlwdGVkIEROUyBlbnN1cmVzIHNlY3VyZSBjb21t dW5pY2F0aW9uIGJ5IGVuZm9yY2luZyB0aGUgdXNlIG9mIERvVCBvciBEb0ggbWV0aG9kcywgZW5j cnlwdGluZyBhbGwgRE5TIHF1ZXJpZXMgYW5kIHJlc3BvbnNlcy4gVGhpcyBmZWF0dXJlIGludGVn cmF0ZXMgZW5jcnlwdGVkIEROUyBzZWFtbGVzc2x5IGludG8gdGhlIEZyZWVJUEEgbWFuYWdlbWVu dCBmcmFtZXdvcmssIGFsbG93aW5nIGFkbWluaXN0cmF0b3JzIHRvIGRlY2lkZSB3aGV0aGVyIHRo ZSBETlMgdHJhZmZpYyBtdXN0IGJlIGVuY3J5cHRlZCBvciBub3QuCi0rCi0rRnJlZUlQQSBub3cg aW5jbHVkZXMgc3VwcG9ydCBmb3IgZGVwbG95aW5nIGl0cyBpbnRlZ3JhdGVkIEROUyBzZXJ2aWNl IHdpdGggRG9UIGVuYWJsZWQuIFRoaXMgZW5oYW5jZW1lbnQgYWxpZ25zIHdpdGggbW9kZXJuIHNl Y3VyaXR5IHN0YW5kYXJkcywgcHJvdmlkaW5nIGVuY3J5cHRlZCBjb21tdW5pY2F0aW9uIGJldHdl ZW4gRE5TIGNsaWVudHMgYW5kIHRoZSBGcmVlSVBBIEROUyBzZXJ2ZXIgd2hpbGUgcmV0YWluaW5n IHRoZSBzYW1lIGZlYXR1cmVzIGFuZCBiZW5lZml0cyBvZiBGcmVlSVBBJ3MgRE5TIGludGVncmF0 aW9uLgotKwotKyMjIEdvYWxzCi0rCi0rVGhlIHByaW1hcnkgZ29hbCBpcyB0byBwcm92aWRlIGEg d2F5IHRvIGRlcGxveSBhbiBpbnRlZ3JhdGVkIEROUyBzZXJ2ZXIgd2l0aCB0aGUgZW5mb3JjZW1l bnQgb2YgdXNpbmcgRE5TIG92ZXIgZW5jcnlwdGVkIGNoYW5uZWxzIGluc3RlYWQgb2YgdXNpbmcg c3RhbmRhcmQgVURQIHBvcnQgNTMgd2l0aCB1bmVuY3J5cHRlZCBjb21tdW5pY2F0aW9uLiBUaGlz IG1lYW5zIHRoYXQgRE5TIGNsaWVudHMgbXVzdCB0YWxrIHRvIEROUyBzZXJ2ZXJzIHVzaW5nIGEg RG9UIG1ldGhvZCB0aGF0IGlzIGZ1bGx5IGVuY3J5cHRlZC4gVGhlIHNjb3BlIGZvciB0aGUgdHJh ZmZpYyBlbmNyeXB0aW9uIGlzIGZvciBhbGwgRE5TIHF1ZXJpZXMgdGhhdCBhcmUgbGVhdmluZyB0 aGUgaG9zdCwgd2hpbGUgdGhlIGxvY2FsIGNvbW11bmljYXRpb24gd2l0aGluIHRoZSBob3N0IGRv ZXMgbm90IHJlcXVpcmUgZW5jcnlwdGlvbi4KLSsKLSsKLSsjIyBEZXNpZ24gQ2hvaWNlcwotKwot K1RoaXMgZmVhdHVyZSBidWlsZHMgdXBvbiB0aGUgZXhpc3RpbmcgRE5TIGNvbXBvbmVudCBpbiBG cmVlSVBBLCBtYWludGFpbmluZyBpdHMgY29yZSBhc3N1bXB0aW9ucyBhbmQgZ29hbHMgd2hpbGUg aW50cm9kdWNpbmcgc2VjdXJlIGNvbW11bmljYXRpb24gdGhyb3VnaCBEb1QuIEl0IGlzIGRlc2ln bmVkIHRvIGVuaGFuY2UgRnJlZUlQQSdzIEROUyBkZXBsb3ltZW50IG9wdGlvbnMgYW5kIGFkZHJl c3MgdGhlIGdyb3dpbmcgbmVlZCBmb3IgZW5jcnlwdGVkIEROUyBjb21tdW5pY2F0aW9uLiBUaGlz IGZpcnN0IHZlcnNpb24gb2YgdGhlIGZlYXR1cmUgaXMgbGltaXRlZCBhbmQgcmVzdHJpY3RlZCBh cyB3ZSBhcmUgYWltaW5nIGZvciBhIHNpbXBsZSBpbXBsZW1lbnRhdGlvbiB0aGF0IGNvdmVycyBi YXNpYyB1c2UgY2FzZXMuIFRoZXNlIHJlc3RyaWN0aW9ucyB3aWxsIGJlIGFkZHJlc3NlZCBpbiBm dXR1cmUgaXRlcmF0aW9ucyBvZiB0aGUgZmVhdHVyZSBkZXZlbG9wbWVudC4KLSsKLStUaGUgaW5p dGlhbCB2ZXJzaW9uIG9mIERvVCBpcyBzdXBwb3J0ZWQgb25seSBmb3IgbmV3IGluc3RhbGxhdGlv bnMsIHVwZ3JhZGUgc2NlbmFyaW9zIHRvIGEgRG9ULWVuYWJsZWQgc2V0dXAgaGF2ZSBub3QgYmVl biB0ZXN0ZWQuIEhvd2V2ZXIsIGFkbWluaXN0cmF0b3JzIGNhbiBlbmFibGUgRG9UIG9uIGFuIGV4 aXN0aW5nIGRlcGxveW1lbnQgYnkgcmVjb25maWd1cmluZyB0aGUgaW50ZWdyYXRlZCBETlMgc2Vy dmljZSB1c2luZyBgaXBhLWRucy1pbnN0YWxsYCB3aXRoIHRoZSBuZXcgRG9UIG9wdGlvbnMuCi0r Ci0rVGhlIGRlcGxveW1lbnQgb2YgdGhlIEROUyBzZXJ2aWNlIHdpbGwgZGVwZW5kIG9uIHRoZSBp bmZyYXN0cnVjdHVyZSBjb25maWd1cmF0aW9uLiBEdXJpbmcgc2VydmVyL3JlcGxpY2EvY2xpZW50 IGRlcGxveW1lbnQgb3IgY2xpZW50L3JlcGxpY2EgZW5yb2xsbWVudCwgYm90aCB1bmVuY3J5cHRl ZCBhbmQgZW5jcnlwdGVkIGNvbW11bmljYXRpb25zIHdpbGwgYmUgYWxsb3dlZCBieSBkZWZhdWx0 LiBIb3dldmVyLCBmb3IgbW9yZSByZXN0cmljdGl2ZSBzY2VuYXJpb3Mgd2hlcmUgb25seSBlbmNy eXB0ZWQgY29tbXVuaWNhdGlvbnMgYXJlIGFsbG93ZWQsIGEgbmV3IG9wdGlvbiBpcyBuZWVkZWQg dG8gZW5mb3JjZSB0aGlzIGJlaGF2aW9yLiBUaGUgbmV3IG9wdGlvbiBgLS1kbnMtcG9saWN5YCB3 aWxsIGhhdmUgdHdvIGNob2ljZXM6IGByZWxheGVkYCB3aWxsIGFsbG93IHVuZW5jcnlwdGVkIERO UyBxdWVyaWVzLCB3aGlsZSBgZW5mb3JjZWRgIHdpbGwgcmVzdHJpY3QgdW5lbmNyeXB0ZWQgcXVl cmllcyBvbiBwb3J0IDUzLgotKwotK1RoZSBpbXBsZW1lbnRhdGlvbiBvZiBEb1QgaW4gRnJlZUlQ QSdzIEROUyBzZXJ2aWNlIGxldmVyYWdlcyB0aGUgZm9sbG93aW5nIGRlc2lnbiBjaG9pY2VzOgot KwotKy0gQ3VycmVudCBGcmVlSVBBIHdvcmtzIHdpdGggYEJpbmRgIDkuMTguIFRoaXMgdmVyc2lv biBvZiBCaW5kIGRvZXNuJ3Qgc3VwcG9ydCBEb1QtZm9yd2FyZGluZy4gVGhlcmVmb3JlLCBmb3Ig c2VydmVyL3JlcGxpY2EgZGVwbG95bWVudCwgd2UgcmVseSBvbiBhbiBhZGRpdGlvbmFsIGNvbXBv bmVudCwgYHVuYm91bmRgLCB3aGljaCByZWRpcmVjdHMgZW5jcnlwdGVkIEROUyBxdWVyaWVzIHRv IHRoZSBleHRlcm5hbCBETlMgc2VydmVyLiBUaGlzIGluY2x1ZGVzIGVuYWJsaW5nIFRMUyBjb25u ZWN0aW9ucyBvbiBUQ1AgcG9ydCA4NTMgYW5kIG1hbmFnaW5nIFRMUyBjZXJ0aWZpY2F0ZXMgZm9y IGJvdGggY29tcG9uZW50cyBgQmluZGAgYW5kIGBVbmJvdW5kYC4gVGhlIHVwZ3JhZGUgdG8gdGhl IGxhdGVzdCBMVFMgYEJpbmRgIHZlcnNpb24gKDkuMjApIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3Mg YnV0IG5vdCBjb21wbGV0ZWQuIE9uY2UgdGhpcyB1cGdyYWRlIGlzIGNvbXBsZXRlLCB0aGUgZGVz aWduIHdpbGwgYmUgc2ltcGxpZmllZCBieSByZW1vdmluZyBgdW5ib3VuZGAgYXMgQmluZCB3aWxs IGZ1bGx5IHN1cHBvcnQgRG9ULWZvcndhcmRpbmcuIAotKwotKy0gQ29uZmlndXJhdGlvbiBNYW5h Z2VtZW50OiBOZXcgRnJlZUlQQSBDTEkgb3B0aW9ucyBhcmUgaW50cm9kdWNlZCB0byBlbmFibGUg YW5kIGNvbmZpZ3VyZSBEb1Qgc2V0dGluZ3MuCi0rCi0rLSBDZXJ0aWZpY2F0ZSBJbnRlZ3JhdGlv bjogRnJlZUlQQSdzIGNlcnRpZmljYXRlIG1hbmFnZW1lbnQgZnJhbWV3b3JrIGNhbiBhdXRvbWF0 aWNhbGx5IGJlIHVzZWQgdG8gZ2VuZXJhdGUgYW5kIG1hbmFnZSBUTFMgY2VydGlmaWNhdGVzIGdp dmluZyB0aGUgYWRtaW5pc3RyYXRvcnMgdGhlIGNob2ljZSB0byBlaXRoZXIgcHJvdmlkZSBhIGNl cnRpZmljYXRlIG9yIHJlbHkgb24gY3VzdG9kaWEgZm9yIGNlcnRpZmljYXRlIGF1dG8gZW5yb2xs bWVudCBpZiBubyBjZXJ0aWZpY2F0ZSBpcyBwcm92aWRlZC4gVGhlc2Ugb3B0aW9ucyBhcmUgaGFu ZGxlZCBieSB0aGUgcHJvcGVyIENMSSBvcHRpb25zIChwbGVhc2UgY2hlY2sgc2VjdGlvbiBbQ0xJ XSgjY2xpKSkuCi0rCi0rLSBTZXJ2aWNlIERpc2NvdmVyeTogQ2xpZW50cyBhbmQgcmVwbGljYXMg Y2FuIGRldGVjdCBEb1QtY2FwYWJsZSBETlMgc2VydmVycyBkaXJlY3RseSBkdXJpbmcgaW5zdGFs bGF0aW9uLiBIb3dldmVyLCBiZWZvcmUgdXNpbmcgdGhlIGVuZm9yY2VkIHBvbGljeSBmb3IgcmVw bGljYSBvciBjbGllbnQgZW5yb2xsbWVudCBgLS1kbnMtcG9saWN5PWVuZm9yY2VkYCwgdGhlIGFk bWluaXN0cmF0b3IgbXVzdCBjb25maWd1cmUgdGhlIHN5c3RlbSdzIEROUyBzZXR0aW5ncyBpbiBO ZXR3b3JrTWFuYWdlciB0byBlbnN1cmUgc2VjdXJlIGRpc2NvdmVyeSBvZiBJUEEgc2VydmVycy4g U3BlY2lmaWNhbGx5LCB0aGUgc3lzdGVtIG11c3QgYmUgc2V0IHVwIHRvIHVzZSBhIERvVC1jYXBh YmxlIHJlc29sdmVyLiBDdXJyZW50bHksIHRoaXMgbWFudWFsIGNvbmZpZ3VyYXRpb24gaXMgcmVx dWlyZWQsIGJ1dCBmdXR1cmUgaW1wcm92ZW1lbnRzIHdpbGwgYXV0b21hdGUgdGhlIHByb2Nlc3Mu IFRoZSBwbGFuIGlzIHRvIGVuaGFuY2UgYGlwYS1jbGllbnQtaW5zdGFsbGAgdG8gY29uZmlndXJl IFVuYm91bmQgYXMgYSBEb1QgZm9yd2FyZGVyIGJlZm9yZSBwZXJmb3JtaW5nIGRvbWFpbiBkaXNj b3ZlcnksIGVuc3VyaW5nIHRoYXQgU1JWL1RYVCByZWNvcmRzIGZvciBJUEEgc2VydmVyIGRpc2Nv dmVyeSBhcmUgcmVzb2x2ZWQgY29ycmVjdGx5LiBUaGlzIGlzIHB1cmVseSB0byBvdmVyY29tZSBh biBleGlzdGluZyBsaW1pdGF0aW9uIHdpdGggQmluZCA5LjE4LiBOb3RlIHRoYXQgb25jZSBCaW5k IDkuMjAgaXMgZnVsbHkgaW50ZWdyYXRlZCB3aXRoIElQQSwgVW5ib3VuZCB3aWxsIG5vIGxvbmdl ciBiZSBuZWNlc3NhcnksIGFzIEJpbmQgd2lsbCBzdXBwb3J0IERvVCBmb3J3YXJkaW5nLgotKwot Ky0gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaW50cm9kdWNlcyB0d28gbmV3IHN1YnBhY2th Z2VzOiBgZnJlZWlwYS1jbGllbnQtZW5jcnlwdGVkLWRuc2AgYW5kIGBmcmVlaXBhLXNlcnZlci1l bmNyeXB0ZWQtZG5zYC4gVGhlIGBmcmVlaXBhLXNlcnZlci1lbmNyeXB0ZWQtZG5zYCBwYWNrYWdl IG11c3QgYmUgbWFudWFsbHkgaW5zdGFsbGVkIG9uIEZyZWVJUEEgc2VydmVycyBhbmQgcmVwbGlj YXMsIHdoaWxlIHRoZSBgZnJlZWlwYS1jbGllbnQtZW5jcnlwdGVkLWRuc2AgcGFja2FnZSBzaG91 bGQgYmUgaW5zdGFsbGVkIG9uIGNsaWVudCBtYWNoaW5lcy4gVGhpcyBkZXNpZ24gZW5zdXJlcyB0 aGF0IHRoZSBlbmNyeXB0ZWQgRE5TIGZlYXR1cmUsIGFsb25nIHdpdGggaXRzIGNvbmZpZ3VyYXRp b24gdGVtcGxhdGVzIGFuZCBkZXBlbmRlbmNpZXMsIHJlbWFpbnMgaXNvbGF0ZWQgZnJvbSBub3Jt YWwgRnJlZUlQQSBkZXBsb3ltZW50cy4gQnkgc3RydWN0dXJpbmcgaXQgdGhpcyB3YXksIGVudmly b25tZW50cyB0aGF0IGRvIG5vdCByZXF1aXJlIGVuY3J5cHRlZCBETlMgc3VwcG9ydCBhcmUgdW5h ZmZlY3RlZC4gRW5hYmxpbmcgRG9UIGZ1bmN0aW9uYWxpdHkgcmVxdWlyZXMgZXhwbGljaXRseSBp bnN0YWxsaW5nIHRoZXNlIHN1YnBhY2thZ2VzLCBwcm92aWRpbmcgYSBjbGVhciBhbmQgbW9kdWxh ciBhcHByb2FjaCB0byBpbnRlZ3JhdGluZyBlbmNyeXB0ZWQgRE5TIGludG8gRnJlZUlQQSBkZXBs b3ltZW50cy4KLSsKLSsKLSsjIyBEZXNpZ24gRGlhZ3JhbQotKwotK1RoZSBmb2xsb3dpbmcgZGlh Z3JhbSByZXByZXNlbnRzIGEgdG9wb2xvZ3kgaW52b2x2aW5nIEZyZWVJUEEgU2VydmVyLCBSZXBs aWNhIGFuZCBDbGllbnQ6Ci0rCi0rIVtlZG5zLWRpYWdyYW1dKGVkbnMvRnJlZUlQQS1lRE5TLXZl cnNpb24zLmpwZykKLSsKLStOb3RlIGZyb20gdGhlIGRpYWdyYW0gdGhhdCBlbmNyeXB0aW9uIGlz IG5lZWRlZCB3aGVuIHF1ZXJpZXMgYXJlIGxlYXZpbmcgdGhlIG1hY2hpbmVzLiBXaGVuIGNvbW11 bmljYXRpb24gaGFwcGVucyBpbnNpZGUgdGhlIGhvc3Qgb25seSwgZW5jcnlwdGlvbiBpcyBub3Qg bmVjZXNzYXJ5LgotKwotK0ZyZWVJUEEgY3VycmVudGx5IHJlbGllcyBvbiBzeXN0ZW1kLXJlc29s dmVkIGFzIGEgbG9jYWwgY2FjaGUgcmVzb2x2ZXIsIHdoaWNoIGlzIGVuYWJsZWQgYnkgZGVmYXVs dC4gVGhlIGRlc2lnbiBpbnZvbHZlcyBkaXNhYmxpbmcgdGhlIHN5c3RlbWQtcmVzb2x2ZWQgc2Vy dmljZSBhbmQgcmVwbGFjaW5nIGl0IHdpdGggdGhlIFVuYm91bmQgc2VydmljZS4gVGhlIGNsaWVu dCBjb25maWd1cmF0aW9uIHJlbGllcyBleGNsdXNpdmVseSBvbiBVbmJvdW5kLCB3aXRoIGEgRG9U IGZvcndhcmRlciBwb2ludGluZyB0byB0aGUgRE5TIHNlcnZlci4gVGhlIEZyZWVJUEEgc2VydmVy IGNvbmZpZ3VyYXRpb24gY29uc2lzdHMgb2YgdHdvIG1haW4gY29tcG9uZW50czogYEJpbmQgKG5h bWVkKWAgYXMgYW4gaW50ZWdyYXRlZCBETlMgc2VydmVyLCBhY2NlcHRpbmcgYm90aCBpbmNvbWlu ZyB1bmVuY3J5cHRlZCBxdWVyaWVzIGZyb20gbG9jYWxob3N0IGFuZCBpbmNvbWluZyBlbmNyeXB0 ZWQgcXVlcmllcyBmcm9tIGV4dGVybmFsIHRyYWZmaWMsIHdoaWxlIHJlbHlpbmcgb24gYFVuYm91 bmRgIGZvciBoYW5kbGluZyBvdXRnb2luZyBleHRlcm5hbCBlbmNyeXB0ZWQgdHJhZmZpYy4gV2Ug aW5pdGlhbGx5IG9wdGVkIGZvciBVbmJvdW5kIG92ZXIgc3lzdGVtZC1yZXNvbHZlZCBiZWNhdXNl IGZlYXR1cmVzIHN1Y2ggYXMgRG9UIGFuZCBEb0ggYXJlIG1vcmUgcm9idXN0IGFuZCBtYXR1cmUg aW4gVW5ib3VuZC4gQWRkaXRpb25hbGx5LCBwcm9wb3NlZCBjaGFuZ2VzIHRvIEZlZG9yYSB0byBl bmhhbmNlIHN5c3RlbWQtcmVzb2x2ZWQgd2VyZSBuZXZlciBhY2NlcHRlZCAoW0NoYW5nZXMvRE5T IE92ZXIgVExTXShodHRwczovL3d3dy5mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0NoYW5nZXMvRE5T X092ZXJfVExTKSwgW3N5c3RlbWQgaXNzdWUgIzIwODAxXShodHRwczovL2dpdGh1Yi5jb20vc3lz dGVtZC9zeXN0ZW1kL2lzc3Vlcy8yMDgwMSksIFtCWiMxODg5OTAxXShodHRwczovL2J1Z3ppbGxh LnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTE4ODk5MDEpKS4KLSsKLStUaGUgRnJlZUlQQSBy ZXBsaWNhIGRlcGxveW1lbnQgZGVwZW5kcyBvbiB3aGV0aGVyIHRoZSBETlMgaW50ZWdyYXRlZCBz ZXJ2aWNlIGlzIGRlcGxveWVkLCBkaXN0aW5ndWlzaGluZyBiZXR3ZWVuIHR3byB1c2UgY2FzZXM6 IHdpdGggYW5kIHdpdGhvdXQgRE5TIGludGVncmF0ZWQgc2VydmljZS4gQSByZXBsaWNhIHdpdGgg RE5TIEludGVncmF0ZWQgU2VydmljZSB3aWxsIG1pbWljIGEgY2xpZW50IGNvbmZpZ3VyYXRpb246 IGl0IHdpbGwgdXNlIFVuYm91bmQgd2l0aCBhIERvVCBmb3J3YXJkZXIgcG9pbnRpbmcgdG8gdGhl IEROUyBzZXJ2ZXIuIEEgcmVwbGljYSB3aXRob3V0IEROUyBJbnRlZ3JhdGVkIFNlcnZpY2Ugd2ls bCBtaW1pYyBhIHNlcnZlciBjb25maWd1cmF0aW9uOiBpdCB3aWxsIHVzZSBgQmluZGAgZm9yIGhh bmRsaW5nIGluY29taW5nIHVuZW5jcnlwdGVkIHF1ZXJpZXMgZnJvbSBsb2NhbGhvc3QgYW5kIGVu Y3J5cHRlZCBxdWVyaWVzIGZyb20gZXh0ZXJuYWwgc291cmNlcywgYWxvbmcgd2l0aCBgVW5ib3Vu ZGAgZm9yIG91dGdvaW5nIGVuY3J5cHRlZCB0cmFmZmljLgotKwotK0Fub3RoZXIgaW1wb3J0YW50 IGFzcGVjdCBpcyB0aGUgY2xpZW50J3MgYWJpbGl0eSB0byBwZXJmb3JtIEROUyB1cGRhdGVzIChg bnN1cGRhdGVgKSB3aGVuZXZlciBpdHMgSVAgYWRkcmVzcyBjaGFuZ2VzLCBlbnN1cmluZyB0aGF0 IGl0cyBETlMgcmVjb3JkIHJlbWFpbnMgdXAtdG8tZGF0ZS4gVGhpcyBjb21tdW5pY2F0aW9uIG11 c3QgYWxzbyBiZSBzZWN1cmVkIHVzaW5nIERvVC9Eb0guIEN1cnJlbnRseSwgdGhlIGNsaWVudCBk b2Vzbid0IHN1cHBvcnQgbnN1cGRhdGUgd2l0aCBHU1MtVFNJRyAod2hpY2ggcmVsaWVzIG9uIEdT Uy1BUEkgdG8gb2J0YWluIHRoZSBzZWNyZXQgVFNJRyBrZXkpIGFuZCB1bmF1dGhlbnRpY2F0ZWQg dXBkYXRlcy4gSG93ZXZlciwgdG8gYWRkcmVzcyB0aGlzLCB3ZSBpbnRlZ3JhdGVkIGBuc3VwZGF0 ZWAgRG9UIGZ1bmN0aW9uYWxpdHkgZnJvbSBCaW5kIDkuMjAgaW50byBCaW5kIDkuMTgsIHRoZSB2 ZXJzaW9uIGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgRnJlZUlQQS4gQXMgYSByZXN1bHQsIGBuc3Vw ZGF0ZWAgaXMgbm93IGVuaGFuY2VkIHdpdGggbmV3IERvVCBvcHRpb25zLCBhbGxvd2luZyBpdCB0 byBmdW5jdGlvbiBjb3JyZWN0bHkgaW4gc2VjdXJlIGVudmlyb25tZW50cy4KLSsKLSsjIyBIaWdo LWxldmVsIHdvcmtmbG93Ci0rCi0rRW5hYmxpbmcgRG9UOiBBZG1pbmlzdHJhdG9ycyBlbmFibGUg RG9UIGR1cmluZyBpbml0aWFsIHNldHVwIG9yIGJ5IHVwZGF0aW5nIGV4aXN0aW5nIEROUyBjb25m aWd1cmF0aW9ucyB0aHJvdWdoIHRoZSBDTEkuCi0rCi0rQ2VydGlmaWNhdGUgTWFuYWdlbWVudDog RnJlZUlQQSBnZW5lcmF0ZXMgYW5kIGFzc2lnbnMgVExTIGNlcnRpZmljYXRlcyB0byB0aGUgRE5T IHNlcnZpY2UuIEFkbWluaXN0cmF0b3JzIGNhbiBhbHNvIHByb3ZpZGUgY3VzdG9tIGNlcnRpZmlj YXRlcyBpZiBuZWVkZWQuCi0rCi0rRG9UIE9wZXJhdGlvbnM6IFRoZSBETlMgY29tcG9uZW50cyBs aXN0ZW4gZm9yIERvVCB0cmFmZmljIG9uIFRDUCBwb3J0IDg1MywgcHJvdmlkaW5nIHNlY3VyZSBj b21tdW5pY2F0aW9uIHRvIGNsaWVudHMuCi0rCi0rIyMgSG93IHRvIFVzZQotKwotK0R1cmluZyB0 aGUgZGVwbG95bWVudCBvZiBhIEZyZWVJUEEgc2VydmVyLCByZXBsaWNhLCBvciBjbGllbnQsIG5l dyBvcHRpb25zIGFyZSBhdmFpbGFibGUgdG8gZW5hYmxlIERvVCBzdXBwb3J0LiBUaGVzZSBvcHRp b25zIGFsbG93IGFkbWluaXN0cmF0b3JzIHRvIGVuaGFuY2UgdGhlIHNlY3VyaXR5IG9mIEROUyB0 cmFmZmljLiBIZXJl4oCZcyBob3cgdG8gdXNlIHRoZSBuZXcgb3B0aW9uczoKLSsKLSstIEVuYWJs ZSBEb1Q6IHVzZSB0aGUgYC0tZG5zLW92ZXItdGxzYCBvcHRpb24gdG8gZW5hYmxlIERvVCBzdXBw b3J0IGR1cmluZyB0aGUgZGVwbG95bWVudCBvZiBjbGllbnRzLCBzZXJ2ZXJzLCBvciByZXBsaWNh cy4gVGhpcyBvcHRpb24gZGVwbG95cyBVbmJvdW5kIGFzIGEgbG9jYWwgY2FjaGUgcmVzb2x2ZXIg KHdpdGggL2V0Yy9yZXNvbHYuY29uZiBwb2ludGluZyB0byAxMjcuMC4wLjEgb24gc2VydmVycyBh bmQgcmVwbGljYXMpIGFuZCBjb25maWd1cmVzIEJpbmQgb24gdGhlIHNlcnZlciB0byByZWNlaXZl IERvVCByZXF1ZXN0cy4gT24gdGhlIGNsaWVudCBzaWRlLCBvbmx5IFVuYm91bmQgd2lsbCBiZSBk ZXBsb3llZCAod2l0aCAvZXRjL3Jlc29sdi5jb25mIHBvaW50aW5nIHRvIDEyNy4wLjAuNTMpLiBS ZXBsaWNhIGRlcGxveW1lbnQgY29uZmlndXJhdGlvbiBkZXBlbmRzIG9uIHdoZXRoZXIgdGhlIElu dGVncmF0ZWQgRE5TIHNlcnZpY2UgaXMgZGVwbG95ZWQgb24gdGhlIG5ldyByZXBsaWNhLiBJZiBp dCBpcywgdGhlIHNlcnZlciBjb25maWd1cmF0aW9uIHdpbGwgYXBwbHkuIElmIHRoZSBJbnRlZ3Jh dGVkIEROUyBzZXJ2ZXIgaXMgbm90IGRlcGxveWVkIG9uIHRoZSByZXBsaWNhLCB0aGUgY2xpZW50 IGNvbmZpZ3VyYXRpb24gd2lsbCBhcHBseS4KLSsKLSstIFNwZWNpZnkgYW4gVXBzdHJlYW0gRE5T IFNlcnZlciB3aXRoIERvVCBlbmFibGVkOiB1c2UgdGhlIGAtLWRvdC1mb3J3YXJkZXJgIG9wdGlv biB0byBzcGVjaWZ5IHRoZSB1cHN0cmVhbSBETlMgc2VydmVyIHRoYXQgc3VwcG9ydHMgRG9ULiBU aGUgZm9ybWF0IG11c3QgYmUgMS4yLjMuNCNkbnMuc2VydmVyLnRlc3QuIFlvdSBzdGlsbCBuZWVk IHRvIHNwZWNpZnkgYXQgbGVhc3Qgb25lIG9mIGAtLWZvcndhcmRlcmAsIGAtLWF1dG8tZm9yd2Fy ZGVyc2AsIG9yIGAtLW5vLWZvcndhcmRlcnNgIG9wdGlvbnMgZm9yIHRoZSBub24tZW5jcnlwdGVk IGNvbW11bmljYXRpb24gYXMgd2VsbCBhcyBkaXNjb3ZlcnkgcHJvY2Vzcy4KLSsKLSstIERvVCBD ZXJ0aWZpY2F0ZXMuIElmIHlvdSBwcmVmZXIgdG8gdXNlIGNlcnRpZmljYXRlcyBmb3IgRG9UIGlu IEJpbmQvVW5ib3VuZCwgdXNlIHRoZSBgLS1kbnMtb3Zlci10bHMta2V5YCBhbmQgYC0tZG5zLW92 ZXItdGxzLWNlcnRgIG9wdGlvbnMuIFRoZXNlIG9wdGlvbnMgcHJpbWFyaWx5IHdvcmtzIHdpdGgg UEVNLWZvcm1hdHRlZCBjZXJ0aWZpY2F0ZSBmaWxlcy4gSWYgdGhlc2Ugb3B0aW9ucyBhcmUgbm90 IHNwZWNpZmllZCwgdGhlIElQQSBDQSB3aWxsIGJlIHVzZWQgdG8gcmVxdWVzdCBhIG5ldyBjZXJ0 aWZpY2F0ZS4KLSsKLSstIEROUyBQb2xpY3k6IHVzZSBgLS1kbnMtcG9saWN5YCB0byBkZWZpbmUg dGhlIEROUyBzZWN1cml0eSBwb2xpY3kgZm9yIEZyZWVJUEEgZGVwbG95bWVudHMuIEl0IGFjY2Vw dHMgdHdvIHZhbHVlczogYHJlbGF4ZWRgIGFuZCBgZW5mb3JjZWRgLiBXaGVuIHNldCB0byBgcmVs YXhlZGAsIHRoZSBzeXN0ZW0gd2lsbCBhdHRlbXB0IHRvIHVzZSBEb1QgYnV0IHdpbGwgZmFsbCBi YWNrIHRvIHVuZW5jcnlwdGVkIEROUyBpZiBEb1QgaXMgdW5hdmFpbGFibGUuIFRoaXMgbW9kZSBl bnN1cmVzIGNvbXBhdGliaWxpdHkgd2l0aCBlbnZpcm9ubWVudHMgd2hlcmUgZW5jcnlwdGVkIERO UyBpcyBub3QgZnVsbHkgc3VwcG9ydGVkLiBXaGVuIHNldCB0byBgZW5mb3JjZWRgLCB0aGUgc3lz dGVtIHN0cmljdGx5IHJlcXVpcmVzIERvVCwgYW5kIGFueSBETlMgcmVzb2x1dGlvbiB0aGF0IGRv ZXMgbm90IHN1cHBvcnQgZW5jcnlwdGlvbiB3aWxsIGJlIHJlamVjdGVkLCBpbmNsdWRpbmcgZGlz Y292ZXJ5IGZyb20gY2xpZW50cy4KLSsKLSsKLSsjIyMgQ0xJCi0rCi0rT3ZlcnZpZXcgb2YgdGhl IENMSSBjb21tYW5kcyBmb3IgdGhlIEZyZWVJUEEgaW5zdGFsbGVycyBhbmQgRnJlZUlQQSBETlMg aW5zdGFsbGVyczoKLSsKLStDb25maWd1cmluZyBETlMgc2VydmljZXMgdXNpbmcgaXBhLWRucy1p bnN0YWxsIGZvbGxvd3MgdGhlIHNhbWUgcHJpbmNpcGxlcyBhcyBpbnN0YWxsaW5nIEROUyB3aXRo IHRoZSBpcGEtc2VydmVyLWluc3RhbGwgdXRpbGl0eS4KLSsKLSsKLSt8IE9wdGlvbiB8IERlc2Ny aXB0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAotK3w6LS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tIHwgOi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8Ci0r fCAtLWRucy1vdmVyLXRscyAgfCBlbmFibGUgRE5TIG92ZXIgVExTIHN1cHBvcnQuIFRoaXMgb3B0 aW9uIGlzIHByZXNlbnQgb24gYm90aCBjbGllbnQgYW5kIHNlcnZlci4gSXQgZGVwbG95cyBVbmJv dW5kIGFuZCBjb25maWd1cmVzIEJpbmQgb24gdGhlIHNlcnZlciB0byByZWNlaXZlIERvVCByZXF1 ZXN0cy58Ci0rfCAtLWRvdC1mb3J3YXJkZXIgfCB0aGUgdXBzdHJlYW0gRE5TIHNlcnZlciB3aXRo IERvVCBzdXBwb3J0LiBJdCBtdXN0IGJlIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDEuMi4zLjQj ZG5zLnNlcnZlci50ZXN0fAotK3wgLS1kbnMtb3Zlci10bHMta2V5IGFuZCAtLWRucy1vdmVyLXRs cy1jZXJ0IHwgaW4gY2FzZSB1c2VyIHByZWZlcnMgdG8gaGF2ZSB0aGUgRG9UIGNlcnRpZmljYXRl IGluIEJpbmQgZ2VuZXJhdGVkIGJ5IHRoZW1zZWx2ZXMuIElmIHRoZXNlIGFyZSBlbXB0eSwgSVBB IENBIGlzIHVzZWQgaW5zdGVhZCB0byByZXF1ZXN0IGEgbmV3IGNlcnRpZmljYXRlLiB8Ci0rfCAt LWRucy1wb2xpY3kgfCBEZWZpbmVzIHRoZSBETlMgc2VjdXJpdHkgcG9saWN5LiBBY2NlcHRzIGBy ZWxheGVkYCAoYXR0ZW1wdHMgRG9UIGJ1dCBmYWxscyBiYWNrIHRvIHVuZW5jcnlwdGVkIEROUyBp ZiB1bmF2YWlsYWJsZSkgb3IgYGVuZm9yY2VkYCAoc3RyaWN0bHkgcmVxdWlyZXMgRG9UIGFuZCBy ZWplY3RzIHVuZW5jcnlwdGVkIEROUyByZXNvbHV0aW9uKS4gfAotKwotKwotKyMjIFRyb3VibGVz aG9vdGluZyBhbmQgZGVidWdnaW5nCi0rCi0rIyMjIFRlc3RpbmcgYW5kIERlYnVnZ2luZyBVbmJv dW5kCi0rCi0rSWYgeW91IGhhdmUgRE5TIHJlc29sdXRpb24gaXNzdWVzLCBjb25maXJtIHRoYXQg dGhlIFVuYm91bmQgc2VydmljZSBpcyBydW5uaW5nIHdpdGg6Ci0rCi0rYCMgc3lzdGVtY3RsIHN0 YXR1cyB1bmJvdW5kYAotKwotK090aGVyIGNoZWNrcyB0aGF0IGNhbiBiZSBwZXJmb3JtZWQ6Ci0r LSBWZXJpZnkgdGhhdCBVbmJvdW5kIGlzIGxpc3RlbmluZyBvbiB0aGUgY29ycmVjdCBJUCBhZGRy ZXNzZXMgYW5kIHBvcnRzLgotKy0gRW5zdXJlIGZpcmV3YWxsIHNldHRpbmdzIGFsbG93IHRyYWZm aWMgb24gcG9ydCA1MyAoRE5TKSBhbmQgcG9ydCA4NTMgKEROUyBvdmVyIFRMUykuCi0rLSBSZXZp ZXcgdGhlIFVuYm91bmQgY29uZmlndXJhdGlvbiBmaWxlIGAvZXRjL3VuYm91bmQvdW5ib3VuZC5j b25mYCB0byBlbnN1cmUgcHJvcGVyIHNldHVwLgotKy0gQ2hlY2sgZm9yIGVycm9ycyBpbiB0aGUg VW5ib3VuZCBsb2dzOiBgam91cm5hbGN0bCAtdSB1bmJvdW5kYAotKwotKwotK1lvdSBjYW4gYWxz byBpbmNyZWFzZSB0aGUgbG9nZ2luZyBvdXRwdXQgZm9yIFVuYm91bmQgZWRpdCBgL2V0Yy91bmJv dW5kL3VuYm91bmQuY29uZmAgb3IgY3JlYXRlIGEgc3BlY2lmaWMgbG9nZ2luZyBjb25maWd1cmF0 aW9uIGZpbGUgKGUuZy4gYC9ldGMvdW5ib3VuZC9jb25mLmQvbG9nZ2luZy5jb25mYCk6Ci0rCi0r YGBgCi0rc2VydmVyOgotKyAgICB2ZXJib3NpdHk6IDMKLStgYGAKLSsKLStSZXN0YXJ0IFVuYm91 bmQgdG8gYXBwbHkgdGhlIGNoYW5nZXM6Ci0rYCMgc3lzdGVtY3RsIHJlc3RhcnQgdW5ib3VuZGAK LSsKLSthbmQgbW9uaXRvciB0aGUgVW5ib3VuZCBsb2dzIGZvciBkZXRhaWxlZCBvdXRwdXQ6Ci0r Ci0rYCMgdGFpbCAtZiAvdmFyL2xvZy91bmJvdW5kL3VuYm91bmQubG9nYAotKwotK1RvIHRlc3Qg dGhlIHJlc29sdXRpb24gZnJvbSBVbmJvdW5kIHVzaW5nIHRoZSB1bmJvdW5kLWhvc3Qgc3RhbmRh bG9uZSB1dGlsaXR5IHlvdSB3YW50IHRvIHVzZToKLSsKLStgIyB1bmJvdW5kLWhvc3QgLUMgL2V0 Yy91bmJvdW5kL2NvbmYuZC90bHMtY2xpZW50LmNvbmYgZXhhbXBsZS5vcmdgCi0rCi0rCi0rSWYg eW91IGhhdmUgaXNzdWVzIHdpdGggZW5jcnlwdGlvbiBub3Qgd29ya2luZzoKLSstIEVuc3VyZSB0 aGF0IGZvcndhcmQtdGxzLXVwc3RyZWFtIGlzIGVuYWJsZWQgaW4gdGhlIFVuYm91bmQgY29uZmln dXJhdGlvbiAoYC9ldGMvdW5ib3VuZC91bmJvdW5kLmNvbmZgKS4KLSstIFZlcmlmeSB0aGF0IHRs cy1jZXJ0LWJ1bmRsZSBvciB0bHMtc3lzdGVtLWNlcnQgaXMgY29ycmVjdGx5IGNvbmZpZ3VyZWQg YW5kIHRoYXQgdGhlIHNwZWNpZmllZCBjZXJ0aWZpY2F0ZSBmaWxlcyBhcmUgYWNjZXNzaWJsZSBh bmQgaGF2ZSB0aGUgY29ycmVjdCBwZXJtaXNzaW9ucy4KLSstIENoZWNrIGlmIHRoZSBzeXN0ZW3i gJlzIGNlcnRpZmljYXRlIGJ1bmRsZSBpcyBsb2NhdGVkIGF0IHRoZSBleHBlY3RlZCBwYXRoIChl LmcuIGAvZXRjL3BraS9jYS10cnVzdC9leHRyYWN0ZWQvcGVtL2ApLgotKwotKwotK0FsdGVybmF0 aXZlbHkgeW91IGNhbiBhbHNvIHVzZSBiaW5kLXV0aWxzIHRvIHZlcmlmeSB0aGF0IHJlc29sdXRp b24gd29ya3MgdGhyb3VnaCBVbmJvdW5kOgotKwotK2AjIGRpZyBAbG9jYWxob3N0IGV4YW1wbGUu b3JnYAotKwotK0ZvciBhIHZlcnkgYmFzaWMgdGVzdCBvZiBVbmJvdW5kIHVzaW5nIE9wZW5TU0wK LSsKLStgIyBvcGVuc3NsIHNfY2xpZW50IC1jb25uZWN0IFs6OjFdOjg1MyAtdmVyaWZ5X2hvc3Ru YW1lIHVuYm91bmQgPCAvZGV2L251bGxgCi0rCi0rT3V0cHV0IGV4YW1wbGU6Ci0rCi0rYGBgCi0r Q09OTkVDVEVEKDAwMDAwMDAzKQotK0Nhbid0IHVzZSBTU0xfZ2V0X3NlcnZlcm5hbWUKLStkZXB0 aD0wIENOID0gdW5ib3VuZAotK3ZlcmlmeSBlcnJvcjpudW09MTg6c2VsZi1zaWduZWQgY2VydGlm aWNhdGUKLSt2ZXJpZnkgcmV0dXJuOjEKLStkZXB0aD0wIENOID0gdW5ib3VuZAotK3ZlcmlmeSBy ZXR1cm46MQotKy0tLQotK0NlcnRpZmljYXRlIGNoYWluCi0rIDAgczpDTiA9IHVuYm91bmQKLSsg ICBpOkNOID0gdW5ib3VuZAotKyAgIGE6UEtFWTogcnNhRW5jcnlwdGlvbiwgMzA3MiAoYml0KTsg c2lnYWxnOiBSU0EtU0hBMjU2Ci0rICAgdjpOb3RCZWZvcmU6IEp1bCAxMyAxODowOTo1MCAyMDIz IEdNVDsgTm90QWZ0ZXI6IE1hciAzMCAxODowOTo1MCAyMDQzIEdNVAotKy0tLQotK2BgYAotKwot KyMjIyBUZXN0aW5nIGFuZCBEZWJ1Z2dpbmcgQmluZAotKwotK1ZlcmlmeSB0aGF0IHRoZSBCaW5k IHNlcnZpY2UgaXMgcnVubmluZyBjb3JyZWN0bHk6Ci0rCi0rYCMgc3lzdGVtY3RsIHN0YXR1cyBu YW1lZGAKLSsKLStZb3UgY2FuIHJ1biBjaGVjayB0b29sIHRvIHZlcmlmeSB0aGUgQmluZCBjb25m aWd1cmF0aW9uOgotKwotK2AjIG5hbWVkLWNoZWNrY29uZiAvZXRjL25hbWVkLmNvbmZgCi0rCi0r Q2hlY2sgZm9yIGVycm9ycyByZWxhdGVkIHRvIEROUyByZXNvbHV0aW9uIGluIHRoZSBzeXN0ZW0g bG9ncyBgL3Zhci9uYW1lZC9kYXRhL25hbWVkLnJ1bmAgb3IgcnVuIGBqb3VybmFsY3RsIC11IG5h bWVkYAotKwotK1Jlc3RhcnQgdGhlIEJpbmQgc2VydmljZSB0byBhcHBseSBjaGFuZ2VzIGBzeXN0 ZW1jdGwgcmVzdGFydCBuYW1lZGAKLSsKLStZb3UgY2FuIGFsd2F5cyBpbmNyZWFzZSB0aGUgQmlu ZCBsb2dnaW5nIHZlcmJvc2l0eSB0byBkZWJ1ZyBpc3N1ZXMuIEVkaXQgdGhlIEJpbmQgY29uZmln dXJhdGlvbiBmaWxlIHRvIGluY3JlYXNlIGxvZ2dpbmcgbGV2ZWxzOgotKwotK2BgYAotK2xvZ2dp bmcgewotKyAgICBjaGFubmVsIGRlZmF1bHRfZGVidWcgewotKyAgICAgICAgZmlsZSAiZGF0YS9u YW1lZC5ydW4iOwotKyAgICAgICAgc2V2ZXJpdHkgZHluYW1pYzsKLSsgICAgfTsKLSsgICAgY2F0 ZWdvcnkgZGVmYXVsdCB7IGRlZmF1bHRfZGVidWc7IH07Ci0rfTsKLStgYGAKLStSZXN0YXJ0IEJp bmQgdG8gYXBwbHkgdGhlIGNoYW5nZXM6Ci0rYCMgc3lzdGVtY3RsIHJlc3RhcnQgbmFtZWRgCi0r Ci0rYW5kIG1vbml0b3IgdGhlIGxvZ3MgZm9yIGRldGFpbGVkIG91dHB1dDoKLSsKLStgIyB0YWls IC1mIC92YXIvbmFtZWQvZGF0YS9uYW1lZC5ydW5gCi0rCi0rCi0rCi0rIyMjIE1vbml0b3Jpbmcg VHJhZmZpYyB3aXRoIHRjcGR1bXAgYW5kIFdpcmVzaGFyawotKwotK1RvIHdhdGNoIEROUyByZXF1 ZXN0cyBhbmQgZW5zdXJlIHRoZXkgYXJlIGVuY3J5cHRlZCB5b3UgY2FuIGVhc2lseSB1c2UgdGNw ZHVtcCB0byBjYXB0dXJlIHRyYWZmaWMgb24gcG9ydCA1MyBhbmQgcG9ydCA4NTM6Ci0rYCMgdGNw ZHVtcCAtbiBwb3J0IDUzIG9yIHBvcnQgODUzYAotKwotK0FsdGVybmF0aXZlbHkgeW91IGNhbiBy ZWx5IG9uIFdpcmVzaGFyayBmb3IgbW9yZSBkZXRhaWxlZCBhbmFseXNpcyB3aGVyZToKLSstIFBv cnQgNTMgcXVlcmllcyBzaG91bGQgYmUgdmlzaWJsZSBhbmQgZGVjb2RhYmxlLgotKy0gUG9ydCA4 NTMgcXVlcmllcyBvciBhbnN3ZXJzIHNob3VsZCBiZSBlbmNyeXB0ZWQgYW5kIG5vdCBkZWNvZGFi bGUuIEEgcHJpdmF0ZSBrZXkgY2FuIGJlIGxvYWRlZCBpbnRvIHdpcmVzaGFyayB0byBkZWNyeXB0 IHRoZSB0cmFmZmljIChodHRwczovL3dpa2kud2lyZXNoYXJrLm9yZy9UTFMjdGxzLWRlY3J5cHRp b24pCi0rCi0rIyMjIERlYnVnZ2luZyBDbGllbnQtU2lkZSBvciBuc3VwZGF0ZSBJc3N1ZXMKLSsK LStUbyB0ZXN0IG5zdXBkYXRlIGFuZCBlbnN1cmUgdGhhdCBETlMgdXBkYXRlcyBhcmUgZnVuY3Rp b25pbmcgY29ycmVjdGx5IHlvdSBjYW4gaW5jcmVhc2UgdGhlIHZlcmJvc2l0eSBvZiBuc3VwZGF0 ZSBsb2dzIGZvciBkZXRhaWxlZCBkZWJ1Z2dpbmcgd2hlbiBydW5uaW5nIGFuIHVwZGF0ZSwgeW91 IHdhbnQgdG8gcHJvdmlkZSBEb1Qgb3B0aW9uczoKLSsKLStgIyBuc3VwZGF0ZSAtQSB0bHNjYWZp bGUgLUUgdGxzY2VydGZpbGUgLUggdGxzaG9zdG5hbWUgLUsgdGxza2V5ZmlsZSAtZCAtdmAKLWRp ZmYgLS1naXQgYS9kb2MvZGVzaWducy9lZG5zL0ZyZWVJUEEtZUROUy12ZXJzaW9uMy5qcGcgYi9k b2MvZGVzaWducy9lZG5zL0ZyZWVJUEEtZUROUy12ZXJzaW9uMy5qcGcKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLjYyNjg2MjRlYwotQmluYXJ5IGZpbGVzIC9kZXYvbnVs bCBhbmQgYi9kb2MvZGVzaWducy9lZG5zL0ZyZWVJUEEtZUROUy12ZXJzaW9uMy5qcGcgZGlmZmVy Ci1kaWZmIC0tZ2l0IGEvZG9jL2Rlc2lnbnMvaW5kZXgucnN0IGIvZG9jL2Rlc2lnbnMvaW5kZXgu cnN0Ci1pbmRleCBhZTE0NjAyMjAuLjg4MDRhMzNhMSAxMDA2NDQKLS0tLSBhL2RvYy9kZXNpZ25z L2luZGV4LnJzdAotKysrIGIvZG9jL2Rlc2lnbnMvaW5kZXgucnN0Ci1AQCAtMTEsNiArMTEsNyBA QCBGcmVlSVBBIGRlc2lnbiBkb2N1bWVudGF0aW9uCi0gICAgYWR0cnVzdC9zdWRvcnVsZXMtd2l0 aC1hZC1vYmplY3RzLm1kCi0gICAgYWR0cnVzdC9hdXRvLXByaXZhdGUtZ3JvdXBzLm1kCi0gICAg YWR0cnVzdC9zaWRjb25maWcubWQKLSsgICBlZG5zLm1kCi0gICAgaHNtLm1kCi0gICAga3JiLXRp Y2tldC1wb2xpY3kubWQKLSAgICBleHRkb20tcGx1Z2luLXByb3RvY29sLm1kCi0tLSAKLTIuNDku MAotCgpkaWZmIC0tZ2l0IGEvZnJlZWlwYS00LTEyLTUtY3ZlLTIwMjUtNzQ5My1wYXRjaHNldC0x LnBhdGNoIGIvZnJlZWlwYS00LTEyLTUtY3ZlLTIwMjUtNzQ5My1wYXRjaHNldC0xLnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjZGZhYzJlLi4wMDAwMDAwCi0tLSBhL2ZyZWVp cGEtNC0xMi01LWN2ZS0yMDI1LTc0OTMtcGF0Y2hzZXQtMS5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDEwNiArMCwwIEBACi1Gcm9tIGEzN2RlOGMyMjk3NmE3NWNhZjk2OWUyMzIyMjlmZjY1MjFm ZjQ5MzYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxDQotRnJvbTogUm9iIENyaXR0ZW5kZW4gPHJj cml0dGVuQHJlZGhhdC5jb20+DQotRGF0ZTogVGh1LCAxMCBKdWwgMjAyNSAxMTo0NDozNiAtMDQw MA0KLVN1YmplY3Q6IFtQQVRDSF0gRW5mb3JjZSB1bmlxdWVuZXNzIGFjcm9zcyBrcmJwcmluY2lw YWxuYW1lIGFuZA0KLSBrcmJjYW5vbmljYWxuYW1lDQotDQotVGhpcyByZWxpZXMgb24gYSBmaXgg aW4gMzg5LWRzIHRoYXQgZXh0ZW5kcyB0aGUgdW5pcXVlbmVzcyBwbHVnaW4NCi10byBiZSBhYmxl IHRvIGNvbXBhcmUgYXR0cmlidXRlcyB3aXRoIGRpZmZlcmVudCBtYXRjaGluZyBzeW50YXguDQot DQotVGhpcyB3aWxsIHByZXZlbnQgcHJpdmlsZWdlIGVzY2FsYXRpb24gYXR0YWNrcyBpZiBvbmUg b2YgdGhlDQotYXR0cmlidXRlcyBpcyBub3Qgc2V0IG9uIGFuIGVudHJ5IGlmIGl0IGlzIHNldCBl bHNld2hlcmUuDQotDQotU2lnbmVkLW9mZi1ieTogUm9iIENyaXR0ZW5kZW4gPHJjcml0dGVuQHJl ZGhhdC5jb20+DQotLS0tDQotIGluc3RhbGwvc2hhcmUvdW5pcXVlLWF0dHJpYnV0ZXMubGRpZiB8 IDI4ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCi0gaW5zdGFsbC91cGRhdGVzLzEwLXVu aXF1ZW5lc3MudXBkYXRlIHwgMjcgKysrKysrKysrKysrKysrKysrKysrKystLS0tDQotIDIgZmls ZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pDQotDQotZGlmZiAt LWdpdCBhL2luc3RhbGwvc2hhcmUvdW5pcXVlLWF0dHJpYnV0ZXMubGRpZiBiL2luc3RhbGwvc2hh cmUvdW5pcXVlLWF0dHJpYnV0ZXMubGRpZg0KLWluZGV4IDYwZjJjMzQ3MC4uYjI4ZDk4MWI1IDEw MDY0NA0KLS0tLSBhL2luc3RhbGwvc2hhcmUvdW5pcXVlLWF0dHJpYnV0ZXMubGRpZg0KLSsrKyBi L2luc3RhbGwvc2hhcmUvdW5pcXVlLWF0dHJpYnV0ZXMubGRpZg0KLUBAIC0xLDM0ICsxLDE2IEBA DQotLWRuOiBjbj1rcmJQcmluY2lwYWxOYW1lIHVuaXF1ZW5lc3MsY249cGx1Z2lucyxjbj1jb25m aWcNCi0rZG46IGNuPWtlcmJlcm9zIG5hbWUgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNvbmZp Zw0KLSBjaGFuZ2V0eXBlOiBhZGQNCi0gb2JqZWN0Q2xhc3M6IHRvcA0KLSBvYmplY3RDbGFzczog bnNTbGFwZFBsdWdpbg0KLSBvYmplY3RDbGFzczogZXh0ZW5zaWJsZU9iamVjdA0KLS1jbjoga3Ji UHJpbmNpcGFsTmFtZSB1bmlxdWVuZXNzDQotK2NuOiBrZXJiZXJvcyBuYW1lIHVuaXF1ZW5lc3MN Ci0gbnNzbGFwZC1wbHVnaW5QYXRoOiBsaWJhdHRyLXVuaXF1ZS1wbHVnaW4NCi0gbnNzbGFwZC1w bHVnaW5Jbml0ZnVuYzogTlNVbmlxdWVBdHRyX0luaXQNCi0gbnNzbGFwZC1wbHVnaW5UeXBlOiBw cmVvcGVyYXRpb24NCi0gbnNzbGFwZC1wbHVnaW5FbmFibGVkOiBvbg0KLS11bmlxdWVuZXNzLWF0 dHJpYnV0ZS1uYW1lOiBrcmJQcmluY2lwYWxOYW1lDQotLW5zc2xhcGQtcGx1Z2luLWRlcGVuZHMt b24tdHlwZTogZGF0YWJhc2UNCi0tbnNzbGFwZC1wbHVnaW5JZDogTlNVbmlxdWVBdHRyDQotLW5z c2xhcGQtcGx1Z2luVmVyc2lvbjogMS4xLjANCi0tbnNzbGFwZC1wbHVnaW5WZW5kb3I6IEZlZG9y YSBQcm9qZWN0DQotLW5zc2xhcGQtcGx1Z2luRGVzY3JpcHRpb246IEVuZm9yY2UgdW5pcXVlIGF0 dHJpYnV0ZSB2YWx1ZXMNCi0tdW5pcXVlbmVzcy1zdWJ0cmVlczogJFNVRkZJWA0KLS11bmlxdWVu ZXNzLWV4Y2x1ZGUtc3VidHJlZXM6IGNuPXN0YWdlZCB1c2Vycyxjbj1hY2NvdW50cyxjbj1wcm92 aXNpb25pbmcsJFNVRkZJWA0KLS11bmlxdWVuZXNzLWFjcm9zcy1hbGwtc3VidHJlZXM6IG9uDQot LQ0KLS1kbjogY249a3JiQ2Fub25pY2FsTmFtZSB1bmlxdWVuZXNzLGNuPXBsdWdpbnMsY249Y29u ZmlnDQotLWNoYW5nZXR5cGU6IGFkZA0KLS1vYmplY3RDbGFzczogdG9wDQotLW9iamVjdENsYXNz OiBuc1NsYXBkUGx1Z2luDQotLW9iamVjdENsYXNzOiBleHRlbnNpYmxlT2JqZWN0DQotLWNuOiBr cmJDYW5vbmljYWxOYW1lIHVuaXF1ZW5lc3MNCi0tbnNzbGFwZC1wbHVnaW5QYXRoOiBsaWJhdHRy LXVuaXF1ZS1wbHVnaW4NCi0tbnNzbGFwZC1wbHVnaW5Jbml0ZnVuYzogTlNVbmlxdWVBdHRyX0lu aXQNCi0tbnNzbGFwZC1wbHVnaW5UeXBlOiBwcmVvcGVyYXRpb24NCi0tbnNzbGFwZC1wbHVnaW5F bmFibGVkOiBvbg0KLS11bmlxdWVuZXNzLWF0dHJpYnV0ZS1uYW1lOiBrcmJDYW5vbmljYWxOYW1l DQotK3VuaXF1ZW5lc3MtYXR0cmlidXRlLW5hbWU6IGtyYlByaW5jaXBhbE5hbWU6Q2FzZUlnbm9y ZU1hdGNoOg0KLSt1bmlxdWVuZXNzLWF0dHJpYnV0ZS1uYW1lOiBrcmJQcmluY2lwYWxBbGlhczpD YXNlSWdub3JlTWF0Y2g6DQotK3VuaXF1ZW5lc3MtYXR0cmlidXRlLW5hbWU6IGtyYkNhbm9uaWNh bE5hbWU6Q2FzZUlnbm9yZU1hdGNoOg0KLSBuc3NsYXBkLXBsdWdpbi1kZXBlbmRzLW9uLXR5cGU6 IGRhdGFiYXNlDQotIG5zc2xhcGQtcGx1Z2luSWQ6IE5TVW5pcXVlQXR0cg0KLSBuc3NsYXBkLXBs dWdpblZlcnNpb246IDEuMS4wDQotZGlmZiAtLWdpdCBhL2luc3RhbGwvdXBkYXRlcy8xMC11bmlx dWVuZXNzLnVwZGF0ZSBiL2luc3RhbGwvdXBkYXRlcy8xMC11bmlxdWVuZXNzLnVwZGF0ZQ0KLWlu ZGV4IGZhMTc5MTFmMi4uNWM1YmZkM2UwIDEwMDY0NA0KLS0tLSBhL2luc3RhbGwvdXBkYXRlcy8x MC11bmlxdWVuZXNzLnVwZGF0ZQ0KLSsrKyBiL2luc3RhbGwvdXBkYXRlcy8xMC11bmlxdWVuZXNz LnVwZGF0ZQ0KLUBAIC02MywxMyArNjMsMzIgQEAgYWRkOnVuaXF1ZW5lc3Mtc3VidHJlZS1lbnRy aWVzLW9jOiBwb3NpeEFjY291bnQNCi0gDQotICMga3JiUHJpbmNpcGFsTmFtZSB1bmlxdWVuZXNz IHNjb3BlcyBBY3RpdmUvRGVsZXRlIGNvbnRhaW5lcnMNCi0gZG46IGNuPWtyYlByaW5jaXBhbE5h bWUgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNvbmZpZw0KLS1hZGQ6dW5pcXVlbmVzcy1leGNs dWRlLXN1YnRyZWVzOiBjbj1zdGFnZWQgdXNlcnMsY249YWNjb3VudHMsY249cHJvdmlzaW9uaW5n LCRTVUZGSVgNCi0tYWRkOnVuaXF1ZW5lc3MtYWNyb3NzLWFsbC1zdWJ0cmVlczogb24NCi0rZGVs ZXRlZW50cnk6IGNuPWtyYlByaW5jaXBhbE5hbWUgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNv bmZpZw0KLSANCi0gIyBrcmJDYW5vbmljYWxOYW1lIHVuaXF1ZW5lc3Mgc2NvcGVzIEFjdGl2ZS9E ZWxldGUgY29udGFpbmVycw0KLSBkbjogY249a3JiQ2Fub25pY2FsTmFtZSB1bmlxdWVuZXNzLGNu PXBsdWdpbnMsY249Y29uZmlnDQotLWFkZDp1bmlxdWVuZXNzLWV4Y2x1ZGUtc3VidHJlZXM6IGNu PXN0YWdlZCB1c2Vycyxjbj1hY2NvdW50cyxjbj1wcm92aXNpb25pbmcsJFNVRkZJWA0KLS1hZGQ6 dW5pcXVlbmVzcy1hY3Jvc3MtYWxsLXN1YnRyZWVzOiBvbg0KLStkZWxldGVlbnRyeTogZG46IGNu PWtyYkNhbm9uaWNhbE5hbWUgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNvbmZpZw0KLSsNCi0r ZG46IGNuPWtlcmJlcm9zIG5hbWUgdW5pcXVlbmVzcyxjbj1wbHVnaW5zLGNuPWNvbmZpZw0KLStk ZWZhdWx0Om9iamVjdENsYXNzOiB0b3ANCi0rZGVmYXVsdDpvYmplY3RDbGFzczogbnNTbGFwZFBs dWdpbg0KLStkZWZhdWx0Om9iamVjdENsYXNzOiBleHRlbnNpYmxlT2JqZWN0DQotK2RlZmF1bHQ6 Y246IGtlcmJlcm9zIG5hbWUgdW5pcXVlbmVzcw0KLStkZWZhdWx0Om5zc2xhcGQtcGx1Z2luUGF0 aDogbGliYXR0ci11bmlxdWUtcGx1Z2luDQotK2RlZmF1bHQ6bnNzbGFwZC1wbHVnaW5Jbml0ZnVu YzogTlNVbmlxdWVBdHRyX0luaXQNCi0rZGVmYXVsdDpuc3NsYXBkLXBsdWdpblR5cGU6IHByZW9w ZXJhdGlvbg0KLStkZWZhdWx0Om5zc2xhcGQtcGx1Z2luRW5hYmxlZDogb24NCi0rZGVmYXVsdDp1 bmlxdWVuZXNzLWF0dHJpYnV0ZS1uYW1lOiBrcmJQcmluY2lwYWxOYW1lOkNhc2VJZ25vcmVNYXRj aDoNCi0rZGVmYXVsdDp1bmlxdWVuZXNzLWF0dHJpYnV0ZS1uYW1lOiBrcmJQcmluY2lwYWxBbGlh czpDYXNlSWdub3JlTWF0Y2g6DQotK2RlZmF1bHQ6dW5pcXVlbmVzcy1hdHRyaWJ1dGUtbmFtZTog a3JiQ2Fub25pY2FsTmFtZTpDYXNlSWdub3JlTWF0Y2g6DQotK2RlZmF1bHQ6bnNzbGFwZC1wbHVn aW4tZGVwZW5kcy1vbi10eXBlOiBkYXRhYmFzZQ0KLStkZWZhdWx0Om5zc2xhcGQtcGx1Z2luSWQ6 IE5TVW5pcXVlQXR0cg0KLStkZWZhdWx0Om5zc2xhcGQtcGx1Z2luVmVyc2lvbjogMS4xLjANCi0r ZGVmYXVsdDpuc3NsYXBkLXBsdWdpblZlbmRvcjogRmVkb3JhIFByb2plY3QNCi0rZGVmYXVsdDpu c3NsYXBkLXBsdWdpbkRlc2NyaXB0aW9uOiBFbmZvcmNlIHVuaXF1ZSBhdHRyaWJ1dGUgdmFsdWVz DQotK2RlZmF1bHQ6dW5pcXVlbmVzcy1zdWJ0cmVlczogJFNVRkZJWA0KLStkZWZhdWx0OnVuaXF1 ZW5lc3MtZXhjbHVkZS1zdWJ0cmVlczogY249c3RhZ2VkIHVzZXJzLGNuPWFjY291bnRzLGNuPXBy b3Zpc2lvbmluZywkU1VGRklYDQotK2RlZmF1bHQ6dW5pcXVlbmVzcy1hY3Jvc3MtYWxsLXN1YnRy ZWVzOiBvbg0KLSANCi0gIyBpcGFVbmlxdWVJRCB1bmlxdWVuZXNzIHNjb3BlcyBBY3RpdmUvRGVs ZXRlIGNvbnRhaW5lcnMNCi0gZG46IGNuPWlwYVVuaXF1ZUlEIHVuaXF1ZW5lc3MsY249cGx1Z2lu cyxjbj1jb25maWcNCi0tLSANCi0yLjUwLjENCi0NCgpkaWZmIC0tZ2l0IGEvZnJlZWlwYS00LTEy LTUtY3ZlLTIwMjUtNzQ5My1wYXRjaHNldC0yLnBhdGNoIGIvZnJlZWlwYS00LTEyLTUtY3ZlLTIw MjUtNzQ5My1wYXRjaHNldC0yLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0 MTQxMDBjLi4wMDAwMDAwCi0tLSBhL2ZyZWVpcGEtNC0xMi01LWN2ZS0yMDI1LTc0OTMtcGF0Y2hz ZXQtMi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIyNyArMCwwIEBACi1Gcm9tIDU0YTlkMThj NzRhODg3YzE5NDkyMzBjYzIzNjAwMzE3YWY5YTg2MmQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1EYXRlOiBGcmksIDE4 IEp1bCAyMDI1IDEwOjI2OjM3ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGlwYS1rZGI6IGVuZm9y Y2UgUEFDIHByZXNlbmNlIG9uIFRHVCBmb3IgVEdTLVJFUQotCi1NUy1LSUxFJ3MgUEEtUEFDLVJF UVVFU1Qgc2VxdWVuY2UgYWxsb3dzIHRoZSBLZXJiZXJvcyBjbGllbnQgdG8gcmVxdWVzdAotYSBU R1Qgd2l0aG91dCBhIFBBQy4gQXQgdGhlIG1vbWVudCwgdGhlcmUgaXMgbm8gd2F5IHRvIGNvbmZp Z3VyZSB0aGUgTUlUCi1LREMgdG8gcmVqZWN0IHN1Y2ggcmVxdWVzdC4KLQotVGhpcyBjb21taXQg ZW5mb3JjZXMgdGhlIHByZXNlbmNlIG9mIHRoZSBQQUMgd2hlbiBwcm9jZXNzaW5nIFRHVHMKLXBy b3ZpZGVkIGJ5IFRHUy1SRVEuIEl0IGVuc3VyZXMgdGhlIHNlcnZlciBwcmluY2lwYWwgb2YgdGhl IFRHVCBpcyB0aGUKLXNhbWUgYXMgdGhlIG9uZSBpbiBQQUNfQ0xJRU5UX0lORk8gKGkuZS4gZW5m b3JjZXMgY2xpZW50IHByaW5jaXBhbAotY2Fub25pY2FsaXphdGlvbikgd2l0aCBpbnRlZ3JpdHkg Y2hlY2suCi0KLU9ubHkgb25lIGV4Y2VwdGlvbiBpcyBhcHBsaWVkOiB0aGlzIGNoZWNrIGlzIHNr aXBwZWQgZm9yIGxvY2FsIFRHVHMgb24KLWRvbWFpbiB3aGVyZSB0aGUgTVMtUEFDIGdlbmVyYXRv ciBpcyBub3QgaW5pdGlhbGl6ZWQgKGkuZS4gZG9tYWlucyB3aGVyZQotU0lEIGdlbmVyYXRpb24g d2FzIG5vdCBleGVjdXRlZCB5ZXQpLgotCi1TaWduZWQtb2ZmLWJ5OiBKdWxpZW4gUmlzY2hlIDxq cmlzY2hlQHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYi5oICAgICAg ICAgICAgfCAgOSArKysKLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9jb21tb24uYyAgICAgfCAx OCArKysrKysKLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9rZGNwb2xpY3kuYyAgfCAgMiArLQot IGRhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjLmMgICAgICB8IDg3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysKLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9wcmluY2lwYWxzLmMgfCAy MSArLS0tLS0tCi0gNSBmaWxlcyBjaGFuZ2VkLCAxMTYgaW5zZXJ0aW9ucygrKSwgMjEgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYi5oIGIvZGFlbW9u cy9pcGEta2RiL2lwYV9rZGIuaAotaW5kZXggNThhMDMzOWZjLi44ZmEwNTA5OTUgMTAwNjQ0Ci0t LS0gYS9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYi5oCi0rKysgYi9kYWVtb25zL2lwYS1rZGIvaXBh X2tkYi5oCi1AQCAtNDMxLDYgKzQzMSwxNCBAQCBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfaXNfcHJp bmNfZnJvbV90cnVzdGVkX3JlYWxtKGtyYjVfY29udGV4dCBrY29udGV4dCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKnRlc3Rf cmVhbG0sIHNpemVfdCBzaXplLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY2hhciAqKnRydXN0ZWRfcmVhbG0pOwotIAotKy8qIENoZWNrIHRoZSB0 aWNrZXQgcHJvdmlkZWQgaW4gYSBUR1MtUkVRLiBJbiBzb21lIHNpdHVhdGlvbnMsIHRoZSB0aWNr ZXQgaXMKLSsgKiBleHBlY3RlZCB0byBjb250YWluIGEgUEFDLiBJZiBpdCBpcyBub3QgdGhlIGNh c2UsIG9yIGlmIHRoZSBmdW5jdGlvbiBpcwotKyAqIGVuYWJsZSB0byBkZWNvZGUgYW4gYXV0aG9y aXphdGlvbi1kYXRhIGVsZW1lbnQsIGl0IGZhaWxzLgotKyAqIEFueSBmYWlsdXJlIHNob3VsZCBy ZXN1bHQgaW4gdGhlIFRHUy1SRVEgdG8gYmUgcmVqZWN0ZWQuICovCi0ra3JiNV9lcnJvcl9jb2Rl IGlwYWRiX2VuZm9yY2VfcGFjKGtyYjVfY29udGV4dCBrY29udGV4dCwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qga3JiNV90aWNrZXQgKnRpY2tldCwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKnN0YXR1cyk7Ci0rCi0gLyog REVMRUdBVElPTiBDSEVDS1MgKi8KLSAKLSBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfY2hlY2tfYWxs b3dlZF90b19kZWxlZ2F0ZShrcmI1X2NvbnRleHQga2NvbnRleHQsCi1AQCAtNDc1LDMgKzQ4Myw0 IEBAIGludCBpcGFkYl9zdHJpbmdfdG9fc2lkKGNvbnN0IGNoYXIgKnN0ciwgc3RydWN0IGRvbV9z aWQgKnNpZCk7Ci0gdm9pZCBhbGxvY19zaWQoc3RydWN0IGRvbV9zaWQgKipzaWQpOwotIHZvaWQg ZnJlZV9zaWQoc3RydWN0IGRvbV9zaWQgKipzaWQpOwotIGJvb2wgZG9tX3NpZF9jaGVjayhjb25z dCBzdHJ1Y3QgZG9tX3NpZCAqc2lkMSwgY29uc3Qgc3RydWN0IGRvbV9zaWQgKnNpZDIsIGJvb2wg ZXhhY3RfY2hlY2spOwotK2Jvb2wgaXBhZGJfaXNfdGdzX3ByaW5jKGtyYjVfY29udGV4dCBrY29u dGV4dCwga3JiNV9jb25zdF9wcmluY2lwYWwgcHJpbmMpOwotZGlmZiAtLWdpdCBhL2RhZW1vbnMv aXBhLWtkYi9pcGFfa2RiX2NvbW1vbi5jIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfY29tbW9u LmMKLWluZGV4IGFlNzc0MmEzMi4uZmM2MDNjYmUyIDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEt a2RiL2lwYV9rZGJfY29tbW9uLmMKLSsrKyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX2NvbW1v bi5jCi1AQCAtNzY3LDMgKzc2NywyMSBAQCBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfbXVsdGliYXNl X3NlYXJjaChzdHJ1Y3QgaXBhZGJfY29udGV4dCAqaXBhY3R4LAotICAgICByZXR1cm4gaXBhZGJf c2ltcGxlX2xkYXBfdG9fa2VycihyZXQpOwotIH0KLSAKLStib29sCi0raXBhZGJfaXNfdGdzX3By aW5jKGtyYjVfY29udGV4dCBrY29udGV4dCwga3JiNV9jb25zdF9wcmluY2lwYWwgcHJpbmMpCi0r ewotKyAgICBrcmI1X2RhdGEgKnByaW1hcnk7Ci0rICAgIHNpemVfdCBsX3Rnc19uYW1lOwotKwot KyAgICBpZiAoMiAhPSBrcmI1X3ByaW5jX3NpemUoa2NvbnRleHQsIHByaW5jKSkKLSsgICAgICAg IHJldHVybiBmYWxzZTsKLSsKLSsgICAgcHJpbWFyeSA9IGtyYjVfcHJpbmNfY29tcG9uZW50KGtj b250ZXh0LCBwcmluYywgMCk7Ci0rCi0rICAgIGxfdGdzX25hbWUgPSBzdHJsZW4oS1JCNV9UR1Nf TkFNRSk7Ci0rCi0rICAgIGlmIChsX3Rnc19uYW1lICE9IHByaW1hcnktPmxlbmd0aCkKLSsgICAg ICAgIHJldHVybiBmYWxzZTsKLSsKLSsgICAgcmV0dXJuIDAgPT0gbWVtY21wKHByaW1hcnktPmRh dGEsIEtSQjVfVEdTX05BTUUsIGxfdGdzX25hbWUpOwotK30KLWRpZmYgLS1naXQgYS9kYWVtb25z L2lwYS1rZGIvaXBhX2tkYl9rZGNwb2xpY3kuYyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX2tk Y3BvbGljeS5jCi1pbmRleCAyODAyMjIxYzcuLmFhOGRlM2VkYSAxMDA2NDQKLS0tLSBhL2RhZW1v bnMvaXBhLWtkYi9pcGFfa2RiX2tkY3BvbGljeS5jCi0rKysgYi9kYWVtb25zL2lwYS1rZGIvaXBh X2tkYl9rZGNwb2xpY3kuYwotQEAgLTE5NSw3ICsxOTUsNyBAQCBpcGFfa2RjcG9saWN5X2NoZWNr X3RncyhrcmI1X2NvbnRleHQgY29udGV4dCwga3JiNV9rZGNwb2xpY3lfbW9kZGF0YSBtb2RkYXRh LAotICAgICAqbGlmZXRpbWVfb3V0ID0gMDsKLSAgICAgKnJlbmV3X2xpZmV0aW1lX291dCA9IDA7 Ci0gCi0tICAgIHJldHVybiAwOwotKyAgICByZXR1cm4gaXBhZGJfZW5mb3JjZV9wYWMoY29udGV4 dCwgdGlja2V0LCBzdGF0dXMpOwotIH0KLSAKLSBrcmI1X2Vycm9yX2NvZGUga2RjcG9saWN5X2lw YWtkYl9pbml0dnQoa3JiNV9jb250ZXh0IGNvbnRleHQsCi1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9p cGEta2RiL2lwYV9rZGJfbXNwYWMuYyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjLmMK LWluZGV4IDk3MjMxMDNkOC4uOWE3YWVkZDg0IDEwMDY0NAotLS0tIGEvZGFlbW9ucy9pcGEta2Ri L2lwYV9rZGJfbXNwYWMuYwotKysrIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWMuYwot QEAgLTMzNDYsMyArMzM0Niw5MCBAQCBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfaXNfcHJpbmNfZnJv bV90cnVzdGVkX3JlYWxtKGtyYjVfY29udGV4dCBrY29udGV4dCwKLSAKLSAJcmV0dXJuIEtSQjVf S0RCX05PRU5UUlk7Ci0gfQotKwotK3N0YXRpYyBrcmI1X2Vycm9yX2NvZGUKLStjaGVja19mb3Jf cGFjKGtyYjVfY29udGV4dCBrY29udGV4dCwga3JiNV9hdXRoZGF0YSAqKmF1dGhkYXRhLCBib29s ICpwYWNfcHJlc2VudCkKLSt7Ci0rICAgIGtyYjVfZXJyb3JfY29kZSBrZXJyID0gRU5PRU5UOwot KyAgICBzaXplX3QgaSwgajsKLSsgICAga3JiNV9hdXRoZGF0YSAqKmlmcmVsID0gTlVMTDsKLSsK LSsgICAgZm9yIChpID0gMDsgYXV0aGRhdGEgJiYgYXV0aGRhdGFbaV07ICsraSkgewotKyAgICAg ICAgaWYgKGF1dGhkYXRhW2ldLT5hZF90eXBlICE9IEtSQjVfQVVUSERBVEFfSUZfUkVMRVZBTlQp IHsKLSsgICAgICAgICAgICBjb250aW51ZTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGtlcnIg PSBrcmI1X2RlY29kZV9hdXRoZGF0YV9jb250YWluZXIoa2NvbnRleHQsCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtSQjVfQVVUSERBVEFfSUZfUkVMRVZB TlQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGhk YXRhW2ldLCAmaWZyZWwpOwotKyAgICAgICAgaWYgKGtlcnIpIHsKLSsgICAgICAgICAgICBnb3Rv IGVuZDsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGZvciAoaiA9IDA7IGlmcmVsW2pdOyArK2op IHsKLSsgICAgICAgICAgICBpZiAoaWZyZWxbal0tPmFkX3R5cGUgPT0gS1JCNV9BVVRIREFUQV9X SU4yS19QQUMpIHsKLSsgICAgICAgICAgICAgICAgYnJlYWs7Ci0rICAgICAgICAgICAgfQotKyAg ICAgICAgfQotKyAgICAgICAgaWYgKGlmcmVsW2pdKSB7Ci0rICAgICAgICAgICAgYnJlYWs7Ci0r ICAgICAgICB9Ci0rCi0rICAgICAgICBrcmI1X2ZyZWVfYXV0aGRhdGEoa2NvbnRleHQsIGlmcmVs KTsKLSsgICAgICAgIGlmcmVsID0gTlVMTDsKLSsgICAgfQotKwotKyAgICAqcGFjX3ByZXNlbnQg PSBpZnJlbDsKLSsgICAga2VyciA9IDA7Ci0rCi0rZW5kOgotKyAgICBrcmI1X2ZyZWVfYXV0aGRh dGEoa2NvbnRleHQsIGlmcmVsKTsKLSsgICAgcmV0dXJuIGtlcnI7Ci0rfQotKwotK2tyYjVfZXJy b3JfY29kZQotK2lwYWRiX2VuZm9yY2VfcGFjKGtyYjVfY29udGV4dCBrY29udGV4dCwgY29uc3Qg a3JiNV90aWNrZXQgKnRpY2tldCwKLSsgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqc3Rh dHVzKQotK3sKLSsgICAgc3RydWN0IGlwYWRiX2NvbnRleHQgKmlwYWN0eDsKLSsgICAgYm9vbCBw YWNfcHJlc2VudDsKLSsgICAga3JiNV9lcnJvcl9jb2RlIGtlcnI7Ci0rCi0rICAgIC8qIEZpbHRl ciBUR1RzIG9ubHkgKi8KLSsgICAgaWYgKCFpcGFkYl9pc190Z3NfcHJpbmMoa2NvbnRleHQsIHRp Y2tldC0+c2VydmVyKSkgewotKyAgICAgICAga2VyciA9IDA7Ci0rICAgICAgICBnb3RvIGVuZDsK LSsgICAgfQotKwotKyAgICAvKiBHZXQgSVBBIGNvbnRleHQgKi8KLSsgICAgaXBhY3R4ID0gaXBh ZGJfZ2V0X2NvbnRleHQoa2NvbnRleHQpOwotKyAgICBpZiAoIWlwYWN0eCkgewotKyAgICAgICAg a2VyciA9IEtSQjVfS0RCX0RCTk9USU5JVEVEOwotKyAgICAgICAgZ290byBlbmQ7Ci0rICAgIH0K LSsKLSsgICAgLyogSWYgbG9jYWwgVEdUIGJ1dCBQQUMgZ2VuZXJhdG9yIG5vdCBpbml0aWFsaXpl ZCwgc2tpcCBQQUMgZW5mb3JjZW1lbnQgKi8KLSsgICAgaWYgKGtyYjVfcmVhbG1fY29tcGFyZShr Y29udGV4dCwgaXBhY3R4LT5sb2NhbF90Z3MsIHRpY2tldC0+c2VydmVyKSAmJgotKyAgICAgICAg IWlwYWN0eC0+bXNwYWMpCi0rICAgIHsKLSsgICAgICAgIGtyYjVfa2xvZ19zeXNsb2coTE9HX1dB Uk5JTkcsICJNUy1QQUMgbm90IGF2YWlsYWJsZS4gVGhpcyBtYWtlcyAiCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICJGcmVlSVBBIHZ1bG5lcmFibGUgdG8gcHJpdmlsZWdlIGVzY2FsYXRpb24g ZXhwbG9pdCAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICIoQ1ZFLTIwMjUtNzQ5MykuIFBs ZWFzZSBnZW5lcmF0ZSBTSURzIHRvIGVuYWJsZSBQQUMgIgotKyAgICAgICAgICAgICAgICAgICAg ICAgICAic3VwcG9ydC4iKTsKLSsgICAgICAgIGtlcnIgPSAwOwotKyAgICAgICAgZ290byBlbmQ7 Ci0rICAgIH0KLSsKLSsgICAgLyogU2VhcmNoIGZvciB0aGUgUEFDLCBmYWlsIGlmIGl0IGNhbm5v dCBiZSBmb3VuZCAqLwotKyAgICBrZXJyID0gY2hlY2tfZm9yX3BhYyhrY29udGV4dCwgdGlja2V0 LT5lbmNfcGFydDItPmF1dGhvcml6YXRpb25fZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgJnBhY19wcmVzZW50KTsKLSsgICAgaWYgKGtlcnIpIHsKLSsgICAgICAgICpzdGF0dXMgPSAi UEFDX0VORk9SQ0VNRU5UX0NBTk5PVF9ERUNPREVfVEdUX0FVVEhEQVRBIjsKLSsgICAgfSBlbHNl IGlmICghcGFjX3ByZXNlbnQpIHsKLSsgICAgICAgIGtlcnIgPSBFTk9FTlQ7Ci0rICAgICAgICAq c3RhdHVzID0gIlBBQ19FTkZPUkNFTUVOVF9UR1RfV0lUSE9VVF9QQUMiOwotKyAgICB9Ci0rCi0r ZW5kOgotKyAgICByZXR1cm4ga2VycjsKLSt9Ci1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2Ri L2lwYV9rZGJfcHJpbmNpcGFscy5jIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfcHJpbmNpcGFs cy5jCi1pbmRleCAxOTk5OGMyYTMuLmEyMzhiZGU3NSAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBh LWtkYi9pcGFfa2RiX3ByaW5jaXBhbHMuYwotKysrIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJf cHJpbmNpcGFscy5jCi1AQCAtMTg4LDI1ICsxODgsNiBAQCBkb25lOgotICAgICByZXR1cm4gcmV0 OwotIH0KLSAKLS1zdGF0aWMgYm9vbAotLWlzX3Rnc19wcmluYyhrcmI1X2NvbnRleHQga2NvbnRl eHQsIGtyYjVfY29uc3RfcHJpbmNpcGFsIHByaW5jKQotLXsKLS0gICAga3JiNV9kYXRhICpwcmlt YXJ5OwotLSAgICBzaXplX3QgbF90Z3NfbmFtZTsKLS0KLS0gICAgaWYgKDIgIT0ga3JiNV9wcmlu Y19zaXplKGtjb250ZXh0LCBwcmluYykpCi0tICAgICAgICByZXR1cm4gZmFsc2U7Ci0tCi0tICAg IHByaW1hcnkgPSBrcmI1X3ByaW5jX2NvbXBvbmVudChrY29udGV4dCwgcHJpbmMsIDApOwotLQot LSAgICBsX3Rnc19uYW1lID0gc3RybGVuKEtSQjVfVEdTX05BTUUpOwotLQotLSAgICBpZiAobF90 Z3NfbmFtZSAhPSBwcmltYXJ5LT5sZW5ndGgpCi0tICAgICAgICByZXR1cm4gZmFsc2U7Ci0tCi0t ICAgIHJldHVybiAwID09IG1lbWNtcChwcmltYXJ5LT5kYXRhLCBLUkI1X1RHU19OQU1FLCBsX3Rn c19uYW1lKTsKLS19Ci0tCi0gc3RhdGljIGtyYjVfZXJyb3JfY29kZQotIGNtcF9sb2NhbF90Z3Nf cHJpbmMoa3JiNV9jb250ZXh0IGtjb250ZXh0LCBjb25zdCBjaGFyICpsb2NhbF9yZWFsbSwKLSAg ICAgICAgICAgICAgICAgICAga3JiNV9jb25zdF9wcmluY2lwYWwgcHJpbmMsIGJvb2wgKnJlc3Vs dCkKLUBAIC0yMDgwLDcgKzIwNjEsNyBAQCBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfZ2V0X3ByaW5j aXBhbChrcmI1X2NvbnRleHQga2NvbnRleHQsCi0gICAgICAgICByZXR1cm4ga2VycjsKLSAKLSAg ICAgLyogSWYgVEdTIHByaW5jaXBhbCwgc29tZSB2aXJ0dWFsIGF0dHJpYnV0ZXMgbWF5IGJlIGFk ZGVkICovCi0tICAgIGlmIChpc190Z3NfcHJpbmMoa2NvbnRleHQsICgqZW50cnkpLT5wcmluYykp IHsKLSsgICAgaWYgKGlwYWRiX2lzX3Rnc19wcmluYyhrY29udGV4dCwgKCplbnRyeSktPnByaW5j KSkgewotICAgICAgICAga2VyciA9IGNtcF9sb2NhbF90Z3NfcHJpbmMoa2NvbnRleHQsIGlwYWN0 eC0+cmVhbG0sICgqZW50cnkpLT5wcmluYywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZpc19sb2NhbF90Z3NfcHJpbmMpOwotICAgICAgICAgaWYgKGtlcnIpCi0tLSAKLTIu NTEuMAotCgpkaWZmIC0tZ2l0IGEvZnJlZWlwYS00LTEyLTUtY3ZlLTIwMjUtNzQ5My1wYXRjaHNl dC0zLnBhdGNoIGIvZnJlZWlwYS00LTEyLTUtY3ZlLTIwMjUtNzQ5My1wYXRjaHNldC0zLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlMzUxMjU5Li4wMDAwMDAwCi0tLSBhL2Zy ZWVpcGEtNC0xMi01LWN2ZS0yMDI1LTc0OTMtcGF0Y2hzZXQtMy5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDkzICswLDAgQEAKLUZyb20gZDU3ZDExOTc0ZTA1Zjg0YzA5NjRjYTk0MWE2YjUwNzQx OWIwMjIxMSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZsb3JlbmNlIEJsYW5jLVJl bmF1ZCA8ZmxvQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUsIDI4IEF1ZyAyMDI1IDE1OjMxOjM5ICsw MjAwCi1TdWJqZWN0OiBbUEFUQ0hdIGlwYXRlc3RzOiBleHRlbmQgdGVzdCBmb3IgdW5pcXVlIGty YmNhbm9uaWNhbG5hbWUKLQotQWRkIGEgdGVzdCBlbnN1cmluZyB0aGF0IHJvb3RAUkVBTE0gY2Fu bm90IGJlIGFkZGVkIGFzCi1rcmJjYW5vbmljYWxuYW1lCi0KLUFkZCBhIHRlc3QgZm9yIFBBQyBl bmZvcmNlbWVudDoKLXRyeSB0byBhY2Nlc3MgYSBzZXJ2aWNlIHVzaW5nIGEgVEdUIG9idGFpbmVk IHdpdGhvdXQgUEFDLgotU2hvdWxkIGZhaWwgYXMgUEFDIGlzIG5vdyBlbmZvcmNlZC4KLQotU2ln bmVkLW9mZi1ieTogRmxvcmVuY2UgQmxhbmMtUmVuYXVkIDxmbG9AcmVkaGF0LmNvbT4KLS0tLQot IGlwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weSB8IDQ0ICsrKysrKysr KysrKysrKysrKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9j b21tYW5kcy5weSBiL2lwYXRlc3RzL3Rlc3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQot aW5kZXggMzgyMDJjOWEzZmJjNWU5MWMwM2E1OTUzYTVkOWJlYzNjMDcxMTdmNC4uYzk4MmM2Nzhh YWUwNDdkNWNiNTA1ODg5NzI5YmNiNWJjY2JjM2MyMCAxMDA2NDQKLS0tLSBhL2lwYXRlc3RzL3Rl c3RfaW50ZWdyYXRpb24vdGVzdF9jb21tYW5kcy5weQotKysrIGIvaXBhdGVzdHMvdGVzdF9pbnRl Z3JhdGlvbi90ZXN0X2NvbW1hbmRzLnB5Ci1AQCAtMjA5MCw3ICsyMDkwLDcgQEAgY2xhc3MgVGVz dElQQUNvbW1hbmRXaXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgaG9z dG5hbWUgPSBtYXN0ZXIuaG9zdG5hbWUKLSAgICAgICAgIHJlYWxtID0gbWFzdGVyLmRvbWFpbi5y ZWFsbQotICAgICAgICAgcHJpbmNpcGFsID0gZid0ZXN0L3tob3N0bmFtZX1Ae3JlYWxtfScKLS0g ICAgICAgIGVudHJ5X2xkaWYgPSB0ZXh0d3JhcC5kZWRlbnQoIiIiCi0rICAgICAgICBlbnRyeV9s ZGlmX3RlbXBsYXRlID0gdGV4dHdyYXAuZGVkZW50KCIiIgotICAgICAgICAgICAgIGRuOiBrcmJw cmluY2lwYWxuYW1lPXtwcmluY2lwYWx9LGNuPXNlcnZpY2VzLGNuPWFjY291bnRzLHtiYXNlX2Ru fQotICAgICAgICAgICAgIGNoYW5nZXR5cGU6IGFkZAotICAgICAgICAgICAgIGlwYWtyYnByaW5j aXBhbGFsaWFzOiB0ZXN0L3tob3N0bmFtZX1Ae3JlYWxtfQotQEAgLTIxMDEsMTMgKzIxMDEsMTUg QEAgY2xhc3MgVGVzdElQQUNvbW1hbmRXaXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRlc3QpOgot ICAgICAgICAgICAgIG9iamVjdGNsYXNzOiBrcmJwcmluY2lwYWwKLSAgICAgICAgICAgICBvYmpl Y3RjbGFzczoga3JicHJpbmNpcGFsYXV4Ci0gICAgICAgICAgICAgb2JqZWN0Y2xhc3M6IHRvcAot LSAgICAgICAgICAgIGtyYmNhbm9uaWNhbG5hbWU6IGFkbWluQHtyZWFsbX0KLSsgICAgICAgICAg ICBrcmJjYW5vbmljYWxuYW1lOiB7dXNlcn1Ae3JlYWxtfQotICAgICAgICAgICAgIG1hbmFnZWRi eTogZnFkbj17aG9zdG5hbWV9LGNuPWNvbXB1dGVycyxjbj1hY2NvdW50cyx7YmFzZV9kbn0KLS0g ICAgICAgICIiIikuZm9ybWF0KAotKyAgICAgICAgIiIiKQotKyAgICAgICAgZW50cnlfbGRpZiA9 IGVudHJ5X2xkaWZfdGVtcGxhdGUuZm9ybWF0KAotICAgICAgICAgICAgIGJhc2VfZG49YmFzZV9k biwKLSAgICAgICAgICAgICBob3N0bmFtZT1ob3N0bmFtZSwKLSAgICAgICAgICAgICBwcmluY2lw YWw9cHJpbmNpcGFsLAotLSAgICAgICAgICAgIHJlYWxtPXJlYWxtKQotKyAgICAgICAgICAgIHJl YWxtPXJlYWxtLAotKyAgICAgICAgICAgIHVzZXI9J2FkbWluJykKLSAgICAgICAgIHRhc2tzLmtk ZXN0cm95X2FsbChtYXN0ZXIpCi0gICAgICAgICBtYXN0ZXIucnVuX2NvbW1hbmQoCi0gICAgICAg ICAgICAgWydraW5pdCcsICcta3QnLCAnL2V0Yy9rcmI1LmtleXRhYicsIGYnaG9zdC97aG9zdG5h bWV9QHtyZWFsbX0nXSkKLUBAIC0yMTIwLDYgKzIxMjIsNDAgQEAgY2xhc3MgVGVzdElQQUNvbW1h bmRXaXRob3V0UmVwbGljYShJbnRlZ3JhdGlvblRlc3QpOgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UpCi0gICAgICAgICBhc3NlcnQgImVudHJ5 IHdpdGggdGhlIHNhbWUgYXR0cmlidXRlIHZhbHVlIiBpbiByZXN1bHQuc3RkZXJyX3RleHQKLSAK LSsgICAgICAgICMgTm93IHRyeSB3aXRoIHJvb3RAcmVhbG0gaW5zdGVhZCBvZiBhZG1pbkByZWFs bQotKyAgICAgICAgZW50cnlfbGRpZiA9IGVudHJ5X2xkaWZfdGVtcGxhdGUuZm9ybWF0KAotKyAg ICAgICAgICAgIGJhc2VfZG49YmFzZV9kbiwKLSsgICAgICAgICAgICBob3N0bmFtZT1ob3N0bmFt ZSwKLSsgICAgICAgICAgICBwcmluY2lwYWw9cHJpbmNpcGFsLAotKyAgICAgICAgICAgIHJlYWxt PXJlYWxtLAotKyAgICAgICAgICAgIHVzZXI9J3Jvb3QnKQotKyAgICAgICAgYXJncyA9IFsKLSsg ICAgICAgICAgICAnbGRhcG1vZGlmeScsCi0rICAgICAgICAgICAgJy1ZJywKLSsgICAgICAgICAg ICAnR1NTQVBJJwotKyAgICAgICAgXQotKyAgICAgICAgcmVzdWx0ID0gbWFzdGVyLnJ1bl9jb21t YW5kKGFyZ3MsIHN0ZGluX3RleHQ9ZW50cnlfbGRpZiwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByYWlzZW9uZXJyPUZhbHNlKQotKyAgICAgICAgYXNzZXJ0ICJlbnRyeSB3 aXRoIHRoZSBzYW1lIGF0dHJpYnV0ZSB2YWx1ZSIgaW4gcmVzdWx0LnN0ZGVycl90ZXh0Ci0rICAg ICAgICB0YXNrcy5rZGVzdHJveV9hbGwobWFzdGVyKQotKwotKyAgICBkZWYgdGVzdF9ub19yZXF1 ZXN0X3BhYyhzZWxmKToKLSsgICAgICAgICMgVHJ5IHRvIHVzZSBhIFRHVCBvYnRhaW5lZCB3aXRo b3V0IFBBQwotKyAgICAgICAgIyBTaG91bGQgZmFpbCBhcyB0aGUgcHJlc2VuY2Ugb2YgdGhlIFBB QyB3aGVuIHByb2Nlc3NpbmcgVEdUcwotKyAgICAgICAgIyBwcm92aWRlZCBieSBUR1MtUkVRIGlz IG5vdyBlbmZvcmNlZC4KLSsgICAgICAgIGhvc3RuYW1lID0gc2VsZi5tYXN0ZXIuaG9zdG5hbWUK LSsgICAgICAgIHJlYWxtID0gc2VsZi5tYXN0ZXIuZG9tYWluLnJlYWxtCi0rICAgICAgICBzZWxm Lm1hc3Rlci5ydW5fY29tbWFuZChbCi0rICAgICAgICAgICAgJ2tpbml0JywgJy1rdCcsICcvZXRj L2tyYjUua2V5dGFiJywgZidob3N0L3tob3N0bmFtZX1Ae3JlYWxtfScsCi0rICAgICAgICAgICAg Jy0tbm8tcmVxdWVzdC1wYWMnCi0rICAgICAgICBdKQotKyAgICAgICAgcmVzdWx0ID0gc2VsZi5t YXN0ZXIucnVuX2NvbW1hbmQoCi0rICAgICAgICAgICAgWydrdm5vJywgZidsZGFwL3tob3N0bmFt ZX1Ae3JlYWxtfSddLAotKyAgICAgICAgICAgIHJhaXNlb25lcnI9RmFsc2UKLSsgICAgICAgICkK LSsgICAgICAgIGFzc2VydCByZXN1bHQucmV0dXJuY29kZSA9PSAxCi0rICAgICAgICBhc3NlcnQg IlBBQ19FTkZPUkNFTUVOVF9UR1RfV0lUSE9VVF9QQUMiIGluIHJlc3VsdC5zdGRlcnJfdGV4dAot KwotIAotIGNsYXNzIFRlc3RJUEFhdXRvbW91bnQoSW50ZWdyYXRpb25UZXN0KToKLSAgICAgQGNs YXNzbWV0aG9kCi0tLSAKLTIuNTEuMAotCgpkaWZmIC0tZ2l0IGEvZnJlZWlwYS00LjEzLW1zcGFj LXdhcm5pbmdzLnBhdGNoIGIvZnJlZWlwYS00LjEzLW1zcGFjLXdhcm5pbmdzLnBhdGNoCmRlbGV0 ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0YTNiYjA2Li4wMDAwMDAwCi0tLSBhL2ZyZWVpcGEt NC4xMy1tc3BhYy13YXJuaW5ncy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDIxMSArMCwwIEBA Ci1Gcm9tIGFlNmM0NDE1ZTc1NGRkNmM1MGQxNzFlNWY5MjFjN2MwMDc1MTQ3YzQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCi1Gcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+ Ci1EYXRlOiBXZWQsIDE4IE1hciAyMDI2IDE2OjQ3OjMwICswMTAwCi1TdWJqZWN0OiBbUEFUQ0gg MS8yXSBpcGEta2RiOiBmaXggUEFDIGNyZWF0aW9uIGZhaWx1cmUgaW4gREFMIHY5IHdoZW4gUEFD Ci0gZ2VuZXJhdG9yIG5vdCBpbml0aWFsaXplZAotCi1XaGVuIHRoZSBNUy1QQUMgZ2VuZXJhdG9y IGlzIG5vdCBpbml0aWFsaXplZDoKLS0gREFMIHY2OiBCb3RoIFBBQyBjcmVhdGlvbiBhbmQgdmVy aWZpY2F0aW9uIHByb2NlZWQgd2l0aG91dCBQQUMKLS0gREFMIHY5OiBQQUMgdmVyaWZpY2F0aW9u IHdvcmtzLCBidXQgUEFDIGNyZWF0aW9uIGZhaWxzIHdpdGgKLSAgS1JCNV9QTFVHSU5fT1BfTk9U U1VQUAotCi1UaGlzIGNhdXNlZCBBUy1SRVEgYW5kIFM0VTJTZWxmIHJlcXVlc3RzIHRvIGZhaWwg b24gREFMIHY5IHdoZW4gdGhlCi1NUy1QQUMgZ2VuZXJhdG9yIHdhc24ndCBpbml0aWFsaXplZCwg d2hpbGUgdGhlIHNhbWUgcmVxdWVzdHMgc3VjY2VlZGVkCi1vbiBEQUwgdjYuCi0KLVRoZSBpc3N1 ZSB3YXMgYSByZWR1bmRhbnQgY2hlY2sgaW4gaXBhZGJfdjlfaXNzdWVfcGFjKCkgdGhhdCByZXR1 cm5lZAotS1JCNV9QTFVHSU5fT1BfTk9UU1VQUCBiZWZvcmUgaXBhZGJfZ2V0X3BhYygpIGNvdWxk IHJldHVybiBFTk9FTlQuCi1SZW1vdmUgdGhpcyByZWR1bmRhbnQgY2hlY2sgYW5kIGFkZCBFTk9F TlQgaGFuZGxpbmcgYWZ0ZXIgY2FsbGluZwotaXBhZGJfZ2V0X3BhYygpIGFuZCBpcGFkYl9jb21t b25fdmVyaWZ5X3BhYygpLCBtYXRjaGluZyBEQUwgdjYKLWJlaGF2aW9yLgotCi1EQUwgdjYgYW5k IHY5IG5vdyBoYXZlIGNvbnNpc3RlbnQgYmVoYXZpb3I6IGFsbCBvcGVyYXRpb25zIHByb2NlZWQK LXdpdGhvdXQgUEFDIHdoZW4gdGhlIE1TLVBBQyBnZW5lcmF0b3IgaXMgbm90IGluaXRpYWxpemVk LgotCi1SZWxhdGVkOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk5NjIKLQotQ28t QXV0aG9yZWQtQnk6IENsYXVkZSBTb25uZXQgNC41IDxub3JlcGx5QGFudGhyb3BpYy5jb20+Ci1T aWduZWQtb2ZmLWJ5OiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci0tLS0KLSBk YWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY192OS5jIHwgMTIgKysrKystLS0tLS0tCi0gMSBm aWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdp dCBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3Y5LmMgYi9kYWVtb25zL2lwYS1rZGIv aXBhX2tkYl9tc3BhY192OS5jCi1pbmRleCA2MGRiMDQ4ZTEuLjJkNTJkYTcwMCAxMDA2NDQKLS0t LSBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFjX3Y5LmMKLSsrKyBiL2RhZW1vbnMvaXBh LWtkYi9pcGFfa2RiX21zcGFjX3Y5LmMKLUBAIC0xMjAsMTAgKzEyMCw2IEBAIGlwYWRiX3Y5X2lz c3VlX3BhYyhrcmI1X2NvbnRleHQgY29udGV4dCwgdW5zaWduZWQgaW50IGZsYWdzLAotICAgICAg ICAgICAgIC8qIENvbnRpbnVlIGV2ZW4gaWYgaW5pdGlsaXphdGlvbiBvZiBQQUMgZ2VuZXJhdG9y IGZhaWxlZC4KLSAgICAgICAgICAgICAgKiBJdCBtYXkgY2F1c2VkIGJ5IHRoZSB0cnVzdCBvYmpl Y3RzIHBhcnQgb25seS4gKi8KLSAKLS0gICAgICAgICAgICAvKiBBdCBsZWFzdCB0aGUgY29yZSBw YXJ0IG9mIHRoZSBQQUMgZ2VuZXJhdG9yIGlzIHJlcXVpcmVkLiAqLwotLSAgICAgICAgICAgIGlm ICghaXBhY3R4LT5tc3BhYykKLS0gICAgICAgICAgICAgICAgcmV0dXJuIEtSQjVfUExVR0lOX09Q X05PVFNVUFA7Ci0tCi0gICAgICAgICAgICAga2VyciA9IGlwYWRiX2dldF9wYWMoY29udGV4dCwg ZmxhZ3MsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LCBzZXJ2ZXIs IHJlcGxhY2VkX3JlcGx5X2tleSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh dXRodGltZSwgJm5ld19wYWMpOwotQEAgLTEzNSw5ICsxMzEsMTEgQEAgaXBhZGJfdjlfaXNzdWVf cGFjKGtyYjVfY29udGV4dCBjb250ZXh0LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGF1dGh0aW1lLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvbGRfcGFjLCAmbmV3X3BhYyk7Ci0tICAgICAgICBpZiAoa2VyciA9 PSBFTk9FTlQpIHsKLS0gICAgICAgICAgICBrZXJyID0gMDsKLS0gICAgICAgIH0KLSsgICAgfQot KwotKyAgICBpZiAoa2VyciA9PSBFTk9FTlQpIHsKLSsgICAgICAgIC8qIE1TLVBBQyBnZW5lcmF0 b3Igbm90IGluaXRpYWxpemVkOyBwcm9jZWVkIHdpdGhvdXQgUEFDLiAqLwotKyAgICAgICAga2Vy ciA9IDA7Ci0gICAgIH0KLSAKLSAgICAgLyogaW4ga3JiNSAxLjIwIG5vIG5lZWQgdG8gc2lnbiB0 aWNrZXRzIGFueW1vcmUsIEtEQyBkb2VzIGl0IGZvciB1cyAqLwotLS0gCi0yLjUzLjAKLQotCi1G cm9tIDEyYjE5NzFmNGEwNTljY2FlMDU2NGQxY2ZlNTI3MTZjZTE2YzY5YmIgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBKdWxpZW4gUmlzY2hlIDxqcmlzY2hlQHJlZGhhdC5jb20+Ci1E YXRlOiBXZWQsIDE4IE1hciAyMDI2IDE4OjAzOjI4ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMi8y XSBpcGEta2RiOiB3YXJuIHdoZW4gdGlja2V0cyBhcmUgaXNzdWVkIHdpdGhvdXQgUEFDCi0KLVdo ZW4gdGhlIE1TLVBBQyBnZW5lcmF0b3IgaXMgbm90IGluaXRpYWxpemVkIGFuZCBhIHRpY2tldCBp cyBjcmVhdGVkCi1vciB2ZXJpZmllZCB3aXRob3V0IGEgUEFDLCBsb2cgYSB3YXJuaW5nIG1lc3Nh Z2UuIFRoaXMgaGVscHMgaWRlbnRpZnkKLWRlcGxveW1lbnRzIHZ1bG5lcmFibGUgdG8gQ1ZFLTIw MjUtNzQ5My4KLQotQSBuZXcgd2Fybl9tc3BhY191bmF2YWlsYWJsZSgpIGhlbHBlciBmdW5jdGlv biBpcyBpbnRyb2R1Y2VkIHRvIGF2b2lkCi1jb2RlIGR1cGxpY2F0aW9uLiBJdCB0YWtlcyBhIGJv b2xlYW4gcGFyYW1ldGVyIHRvIGRpc3Rpbmd1aXNoIGJldHdlZW4KLXRpY2tldCBjcmVhdGlvbiBh bmQgdmVyaWZpY2F0aW9uIGNvbnRleHRzLgotCi1UaGUgd2FybmluZyBpcyBub3cgY29uc2lzdGVu dGx5IGxvZ2dlZCBpbiBhbGwgc2NlbmFyaW9zIHdoZXJlIHRpY2tldHMKLXByb2NlZWQgd2l0aG91 dCBQQUM6Ci0tIERBTCB2NiBhbmQgdjk6IFBBQyBjcmVhdGlvbiBmYWlsdXJlcyAoQVMtUkVRLCBT NFUyU2VsZiwgUzRVMlByb3h5KQotLSBEQUwgdjYgYW5kIHY5OiBQQUMgdmVyaWZpY2F0aW9uIGZh aWx1cmVzCi0tIEtEQyBwb2xpY3kgcGx1Z2luOiBQQUMgZW5mb3JjZW1lbnQgY2hlY2sgZm9yIGxv Y2FsIFRHVHMKLQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85OTYy Ci0KLUNvLUF1dGhvcmVkLUJ5OiBDbGF1ZGUgU29ubmV0IDQuNSA8bm9yZXBseUBhbnRocm9waWMu Y29tPgotU2lnbmVkLW9mZi1ieTogSnVsaWVuIFJpc2NoZSA8anJpc2NoZUByZWRoYXQuY29tPgot LS0tCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWMuYyAgICAgICAgIHwgMTUgKysrKysr KysrKystLS0tCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0ZS5oIHwgIDIg KysKLSBkYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY192Ni5jICAgICAgfCAxNiArKysrKysr KysrKysrLS0tCi0gZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfdjkuYyAgICAgIHwgIDMg KysrCi0gNCBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWMuYyBiL2RhZW1vbnMv aXBhLWtkYi9pcGFfa2RiX21zcGFjLmMKLWluZGV4IDlhN2FlZGQ4NC4uMWVkNjJhZTgyIDEwMDY0 NAotLS0tIGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWMuYwotKysrIGIvZGFlbW9ucy9p cGEta2RiL2lwYV9rZGJfbXNwYWMuYwotQEAgLTkzLDYgKzkzLDE2IEBAIHZvaWQgZnJlZV9zaWQo c3RydWN0IGRvbV9zaWQgKipzaWQpCi0gICAgIH0KLSB9Ci0gCi0rdm9pZCB3YXJuX21zcGFjX3Vu YXZhaWxhYmxlKGJvb2wgaXNfY3JlYXRpb24pCi0rewotKyAgICBjb25zdCBjaGFyICpvcGVyYXRp b24gPSBpc19jcmVhdGlvbiA/ICJjcmVhdGlvbiIgOiAidmVyaWZpY2F0aW9uIjsKLSsgICAga3Ji NV9rbG9nX3N5c2xvZyhMT0dfV0FSTklORywKLSsgICAgICAgICAgICAgICAgICAgICAiTVMtUEFD IG5vdCBhdmFpbGFibGUgZHVyaW5nIHRpY2tldCAlcy4gVGhpcyBtYWtlcyAiCi0rICAgICAgICAg ICAgICAgICAgICAgIkZyZWVJUEEgdnVsbmVyYWJsZSB0byBwcml2aWxlZ2UgZXNjYWxhdGlvbiBl eHBsb2l0ICIKLSsgICAgICAgICAgICAgICAgICAgICAiKENWRS0yMDI1LTc0OTMpLiBQbGVhc2Ug Z2VuZXJhdGUgU0lEcyB0byBlbmFibGUgUEFDICIKLSsgICAgICAgICAgICAgICAgICAgICAic3Vw cG9ydC4iLCBvcGVyYXRpb24pOwotK30KLSsKLSBpbnQgaXBhZGJfc3RyaW5nX3RvX3NpZChjb25z dCBjaGFyICpzdHIsIHN0cnVjdCBkb21fc2lkICpzaWQpCi0gewotICAgICB1bnNpZ25lZCBsb25n IHZhbDsKLUBAIC0zNDEyLDEwICszNDIyLDcgQEAgaXBhZGJfZW5mb3JjZV9wYWMoa3JiNV9jb250 ZXh0IGtjb250ZXh0LCBjb25zdCBrcmI1X3RpY2tldCAqdGlja2V0LAotICAgICBpZiAoa3JiNV9y ZWFsbV9jb21wYXJlKGtjb250ZXh0LCBpcGFjdHgtPmxvY2FsX3RncywgdGlja2V0LT5zZXJ2ZXIp ICYmCi0gICAgICAgICAhaXBhY3R4LT5tc3BhYykKLSAgICAgewotLSAgICAgICAga3JiNV9rbG9n X3N5c2xvZyhMT0dfV0FSTklORywgIk1TLVBBQyBub3QgYXZhaWxhYmxlLiBUaGlzIG1ha2VzICIK LS0gICAgICAgICAgICAgICAgICAgICAgICAgIkZyZWVJUEEgdnVsbmVyYWJsZSB0byBwcml2aWxl Z2UgZXNjYWxhdGlvbiBleHBsb2l0ICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIihDVkUt MjAyNS03NDkzKS4gUGxlYXNlIGdlbmVyYXRlIFNJRHMgdG8gZW5hYmxlIFBBQyAiCi0tICAgICAg ICAgICAgICAgICAgICAgICAgICJzdXBwb3J0LiIpOwotKyAgICAgICAgd2Fybl9tc3BhY191bmF2 YWlsYWJsZShmYWxzZSk7Ci0gICAgICAgICBrZXJyID0gMDsKLSAgICAgICAgIGdvdG8gZW5kOwot ICAgICB9Ci1kaWZmIC0tZ2l0IGEvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0 ZS5oIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0ZS5oCi1pbmRleCBlNjUw Y2ZhNzMuLmViOGFlMjI0MCAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21z cGFjX3ByaXZhdGUuaAotKysrIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfcHJpdmF0 ZS5oCi1AQCAtNzQsMyArNzQsNSBAQCBrcmI1X2Vycm9yX2NvZGUgaXBhZGJfY29tbW9uX3Zlcmlm eV9wYWMoa3JiNV9jb250ZXh0IGNvbnRleHQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGtyYjVfdGltZXN0YW1wIGF1dGh0aW1lLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBrcmI1X3BhYyBvbGRfcGFjLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBrcmI1X3BhYyAqcGFjKTsKLSsKLSt2b2lkIHdhcm5f bXNwYWNfdW5hdmFpbGFibGUoYm9vbCBpc19jcmVhdGlvbik7Ci1kaWZmIC0tZ2l0IGEvZGFlbW9u cy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfdjYuYyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21z cGFjX3Y2LmMKLWluZGV4IDk2Y2Q1MGU0Yy4uODkyMjE1MzBkIDEwMDY0NAotLS0tIGEvZGFlbW9u cy9pcGEta2RiL2lwYV9rZGJfbXNwYWNfdjYuYwotKysrIGIvZGFlbW9ucy9pcGEta2RiL2lwYV9r ZGJfbXNwYWNfdjYuYwotQEAgLTMxNSw3ICszMTUsMTAgQEAga3JiNV9lcnJvcl9jb2RlIGlwYWRi X3NpZ25fYXV0aGRhdGEoa3JiNV9jb250ZXh0IGNvbnRleHQsCi0gICAgICAgICAgICAga3JiNV9r bG9nX3N5c2xvZyhMT0dfV0FSTklORywgIk1TLVBBQyBnZW5lcmF0b3I6ICVzIiwgc3Rtc2cpOwot IAotICAgICAgICAga2VyciA9IGlwYWRiX2dldF9wYWMoY29udGV4dCwgZmxhZ3MsIGNsaWVudCwg c2VydmVyLCBOVUxMLCBhdXRodGltZSwgJnBhYyk7Ci0tICAgICAgICBpZiAoa2VyciAhPSAwICYm IGtlcnIgIT0gRU5PRU5UKSB7Ci0rICAgICAgICBpZiAoa2VyciA9PSBFTk9FTlQpIHsKLSsgICAg ICAgICAgICAvKiBNUy1QQUMgZ2VuZXJhdG9yIG5vdCBpbml0aWFsaXplZDsgcHJvY2VlZCB3aXRo b3V0IFBBQy4gKi8KLSsgICAgICAgICAgICB3YXJuX21zcGFjX3VuYXZhaWxhYmxlKHRydWUpOwot KyAgICAgICAgfSBlbHNlIGlmIChrZXJyICE9IDApIHsKLSAgICAgICAgICAgICBnb3RvIGRvbmU7 Ci0gICAgICAgICB9Ci0gICAgIH0gZWxzZSBpZiAod2l0aF9wYWMgJiYgIWlzX2FzX3JlcSkgewot QEAgLTMyOSw3ICszMzIsMTAgQEAga3JiNV9lcnJvcl9jb2RlIGlwYWRiX3NpZ25fYXV0aGRhdGEo a3JiNV9jb250ZXh0IGNvbnRleHQsCi0gICAgICAgICBpZiAoKHBhY19hdXRoX2RhdGEgPT0gTlVM TCkgfHwgKHBhY19hdXRoX2RhdGFbMF0gPT0gTlVMTCkpIHsKLSAgICAgICAgICAgICBpZiAoZmxh Z3MgJiBLUkI1X0tEQl9GTEFHX0NPTlNUUkFJTkVEX0RFTEVHQVRJT04pIHsKLSAgICAgICAgICAg ICAgICAga2VyciA9IGlwYWRiX2dldF9wYWMoY29udGV4dCwgZmxhZ3MsIGNsaWVudF9lbnRyeSwg c2VydmVyLCBOVUxMLCBhdXRodGltZSwgJnBhYyk7Ci0tICAgICAgICAgICAgICAgIGlmIChrZXJy ICE9IDAgJiYga2VyciAhPSBFTk9FTlQpIHsKLSsgICAgICAgICAgICAgICAgaWYgKGtlcnIgPT0g RU5PRU5UKSB7Ci0rICAgICAgICAgICAgICAgICAgICAvKiBNUy1QQUMgZ2VuZXJhdG9yIG5vdCBp bml0aWFsaXplZDsgcHJvY2VlZCB3aXRob3V0IFBBQy4gKi8KLSsgICAgICAgICAgICAgICAgICAg IHdhcm5fbXNwYWNfdW5hdmFpbGFibGUodHJ1ZSk7Ci0rICAgICAgICAgICAgICAgIH0gZWxzZSBp ZiAoa2VyciAhPSAwKSB7Ci0gICAgICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7Ci0gICAgICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICB9Ci1AQCAtMzQyLDcgKzM0OCwxMSBAQCBrcmI1X2Vy cm9yX2NvZGUgaXBhZGJfc2lnbl9hdXRoZGF0YShrcmI1X2NvbnRleHQgY29udGV4dCwKLSAgICAg ICAgICAgICBrZXJyID0gaXBhZGJfdmVyaWZ5X3BhYyhjb250ZXh0LCBmbGFncywga3NfY2xpZW50 X3ByaW5jLCBjbGllbnQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyLCBrcmJ0Z3QsIHNlcnZlcl9rZXksIGtyYnRndF9rZXksCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgYXV0aHRpbWUsIHBhY19hdXRoX2RhdGEsICZwYWMpOwotLSAgICAg ICAgICAgIGlmIChrZXJyICE9IDApIHsKLSsgICAgICAgICAgICBpZiAoa2VyciA9PSBFTk9FTlQp IHsKLSsgICAgICAgICAgICAgICAgLyogTVMtUEFDIG5vdCBpbml0aWFsaXplZDsgcHJvY2VlZCB3 aXRob3V0IFBBQyB2ZXJpZmljYXRpb24uICovCi0rICAgICAgICAgICAgICAgIHdhcm5fbXNwYWNf dW5hdmFpbGFibGUoZmFsc2UpOwotKyAgICAgICAgICAgICAgICBrZXJyID0gMDsKLSsgICAgICAg ICAgICB9IGVsc2UgaWYgKGtlcnIgIT0gMCkgewotICAgICAgICAgICAgICAgICBnb3RvIGRvbmU7 Ci0gICAgICAgICAgICAgfQotICAgICAgICAgfQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLWtk Yi9pcGFfa2RiX21zcGFjX3Y5LmMgYi9kYWVtb25zL2lwYS1rZGIvaXBhX2tkYl9tc3BhY192OS5j Ci1pbmRleCAyZDUyZGE3MDAuLjZmZTk0ZTNiOCAxMDA2NDQKLS0tLSBhL2RhZW1vbnMvaXBhLWtk Yi9pcGFfa2RiX21zcGFjX3Y5LmMKLSsrKyBiL2RhZW1vbnMvaXBhLWtkYi9pcGFfa2RiX21zcGFj X3Y5LmMKLUBAIC00Niw2ICs0Niw3IEBAIGlwYWRiX3Y5X2lzc3VlX3BhYyhrcmI1X2NvbnRleHQg Y29udGV4dCwgdW5zaWduZWQgaW50IGZsYWdzLAotICAgICBib29sIHdpdGhfcGFkOwotICAgICBr cmI1X2Vycm9yX2NvZGUga2VyciA9IDA7Ci0gICAgIGJvb2wgaXNfYXNfcmVxID0gZmxhZ3MgJiBD TElFTlRfUkVGRVJSQUxTX0ZMQUdTOwotKyAgICBib29sIGlzX3BhY19jcmVhdGlvbiA9IGZhbHNl OwotICAgICBjb25zdCBjaGFyICpzdG1zZyA9IE5VTEw7Ci0gCi0gICAgIGlmIChpc19hc19yZXEp IHsKLUBAIC04NSw2ICs4Niw3IEBAIGlwYWRiX3Y5X2lzc3VlX3BhYyhrcmI1X2NvbnRleHQgY29u dGV4dCwgdW5zaWduZWQgaW50IGZsYWdzLAotICAgICBpZiAob2xkX3BhYyA9PSBOVUxMIHx8Ci0g ICAgICAgICAoY2xpZW50ICE9IE5VTEwgJiYgKGZsYWdzICYgS1JCNV9LREJfRkxBR19QUk9UT0NP TF9UUkFOU0lUSU9OKSkpIHsKLSAgICAgICAgIC8qIGdlbmVyYXRlIGluaXRpYWwgUEFDICovCi0r ICAgICAgICBpc19wYWNfY3JlYXRpb24gPSB0cnVlOwotICAgICAgICAgaWYgKHdpdGhfcGFjKSB7 Ci0gICAgICAgICAgICAga3JiNV9ib29sZWFuIGZvcmNlX3JlaW5pdF9tc3BhYyA9IEZBTFNFOwot ICAgICAgICAgICAgIHN0cnVjdCBpcGFkYl9jb250ZXh0ICppcGFjdHggPSBpcGFkYl9nZXRfY29u dGV4dChjb250ZXh0KTsKLUBAIC0xMzUsNiArMTM3LDcgQEAgaXBhZGJfdjlfaXNzdWVfcGFjKGty YjVfY29udGV4dCBjb250ZXh0LCB1bnNpZ25lZCBpbnQgZmxhZ3MsCi0gCi0gICAgIGlmIChrZXJy ID09IEVOT0VOVCkgewotICAgICAgICAgLyogTVMtUEFDIGdlbmVyYXRvciBub3QgaW5pdGlhbGl6 ZWQ7IHByb2NlZWQgd2l0aG91dCBQQUMuICovCi0rICAgICAgICB3YXJuX21zcGFjX3VuYXZhaWxh YmxlKGlzX3BhY19jcmVhdGlvbik7Ci0gICAgICAgICBrZXJyID0gMDsKLSAgICAgfQotIAotLS0g Ci0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhL2ZyZWVpcGEtZml4LXBhc3NrZXktY3Jhc2gucGF0Y2gg Yi9mcmVlaXBhLWZpeC1wYXNza2V5LWNyYXNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAyNTRkMzM2Li4wMDAwMDAwCi0tLSBhL2ZyZWVpcGEtZml4LXBhc3NrZXktY3Jhc2gu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0MSArMCwwIEBACi1Gcm9tIDVmN2JkOTYxMmVkZDVh YjZiOGNkNDUxNDhiZTc1YjNmZDdjODZjZjggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBTdW1pdCBCb3NlIDxzYm9zZUByZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxNCBKYW4gMjAyNiAx Mzo1ODo0MSArMDEwMAotU3ViamVjdDogW1BBVENIXSBpcGEtb3RwZDogZG8gbm90IHBhc3MgcmVm ZXJlbmNlIG9mIGRhdGFfb3V0LT5qZGF0YQotCi1UaGUgJ28nIGZvcm1hdCBzcGVjaWZpZXIgd2ls bCBwYXNzIHRoZSByZWZlcmVuY2Ugb2YgZGF0YV9vdXQtPmpkYXRhIHRvCi10aGUgY3JlYXRlZCBv YmplY3QgYW5kIGRhdGFfb3V0LT5qZGF0YSB3aWxsIGJlIGRlcmVmZXJlbmNlZCBpZiB0aGUgbmV3 Ci1vYmplY3QgaXMgZGVyZWZlcmVuY2VkLiBEb2luZyBhbiBleHBsaWNpdCBkZXJlZmVyZW5jZWQg b2YKLWRhdGFfb3V0LT5qZGF0YSBsYXRlciBvbiB3aWxsIGNhdXNlIGEgZG91YmxlLWZyZWUgY3Jh c2guCi0KLVdpdGggJ08nIHRoZSByZWZlcmVuY2UgY291bnRlciBvZiBkYXRhX291dC0+amRhdGEg aXMganVzdCBpbmNyZW1lbnRlZAotYW5kIHNvIGl0IGNhbiBiZSBwcm9wZXJseSBkZXJlZmVyZW5j ZWQuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mcmVlaXBhL2lzc3VlLzk5MDYKLVNpZ25l ZC1vZmYtYnk6IFN1bWl0IEJvc2UgPHNib3NlQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxl eGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENy aXR0ZW5kZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogUm9iIENyaXR0ZW5k ZW4gPHJjcml0dGVuQHJlZGhhdC5jb20+Ci1SZXZpZXdlZC1CeTogQWxleGFuZGVyIEJva292b3kg PGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBkYWVtb25zL2lwYS1vdHBkL3Bhc3NrZXkuYyB8 IDQgKysrLQotIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL2RhZW1vbnMvaXBhLW90cGQvcGFzc2tleS5jIGIvZGFlbW9ucy9pcGEt b3RwZC9wYXNza2V5LmMKLWluZGV4IGFkM2M0NTQ2Ny4uNTFkNWMzMTZjIDEwMDY0NAotLS0tIGEv ZGFlbW9ucy9pcGEtb3RwZC9wYXNza2V5LmMKLSsrKyBiL2RhZW1vbnMvaXBhLW90cGQvcGFzc2tl eS5jCi1AQCAtNDM3LDcgKzQzNyw5IEBAIHN0YXRpYyBpbnQgcHJlcGFyZV9yYWRfcmVwbHkoc3Ry dWN0IG90cGRfcXVldWVfaXRlbSAqaXRlbSkKLSAgICAgICAgIGdvdG8gZG9uZTsKLSAgICAgfQot IAotLSAgICBqdG1wID0ganNvbl9wYWNrKCJ7czppLCBzOnMsIHM6b30iLCAicGhhc2UiLCBpdGVt LT5wYXNza2V5LT5kYXRhX291dC0+cGhhc2UsCi0rICAgIC8qIGl0ZW0tPnBhc3NrZXktPmRhdGFf b3V0LT5qZGF0YSB3aWxsIGJlIGRlcmVmZXJlbmNlZCBsYXRlciwgc28gd2UgaGF2ZQotKyAgICAg KiB0byB1c2UgJ08nIHRvIGtlZXAgdGhlIHJlZmVyZW5jZS4gKi8KLSsgICAganRtcCA9IGpzb25f cGFjaygie3M6aSwgczpzLCBzOk99IiwgInBoYXNlIiwgaXRlbS0+cGFzc2tleS0+ZGF0YV9vdXQt PnBoYXNlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RhdGUi LCBpdGVtLT5wYXNza2V5LT5kYXRhX291dC0+c3RhdGUsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJkYXRhIiwgaXRlbS0+cGFzc2tleS0+ZGF0YV9vdXQtPmpkYXRh KTsKLSAgICAgaWYgKGp0bXAgPT0gTlVMTCkgewotLS0gCi0yLjUwLjEKLQoKZGlmZiAtLWdpdCBh L2ZyZWVpcGEtc3NzZC1tZmEtc2VsaW51eC1wb2xpY3ktdXBkYXRlLnBhdGNoIGIvZnJlZWlwYS1z c3NkLW1mYS1zZWxpbnV4LXBvbGljeS11cGRhdGUucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IGY2ZmE5YzQuLjAwMDAwMDAKLS0tIGEvZnJlZWlwYS1zc3NkLW1mYS1zZWxpbnV4 LXBvbGljeS11cGRhdGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxODAgKzAsMCBAQAotRnJv bSBkMWJkNDNhZmRkNWYxOTkyYTY2MjU0YmMxMzJiYWI5ZTRjYTdkYjBkIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQotRnJvbTogQWxleGFuZGVyIEJva292b3kgPGFib2tvdm95QHJlZGhhdC5jb20+ Ci1EYXRlOiBUaHUsIDUgTWFyIDIwMjYgMTg6MzQ6MTcgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAx LzRdIFNFTGludXg6IHRyYW5zaXRpb24gaXBhX290cGRfdCB0byBzc3NkX21mYV90IHdoZW4KLSBl eGVjdXRpbmcgTUZBIGhlbHBlcnMKLQotV2hlbiBpcGFfb3RwZF90IGV4ZWN1dGVzIHNzc2QgTUZB IGhlbHBlciBiaW5hcmllcyAob2lkY19jaGlsZCwKLXBhc3NrZXlfY2hpbGQpIGxhYmVsZWQgc3Nz ZF9tZmFfZXhlY190LCB1c2UgZG9tdHJhbnNfcGF0dGVybiB0bwotdHJhbnNpdGlvbiBpbnRvIHNz c2RfbWZhX3QgcmF0aGVyIHRoYW4gcnVubmluZyB0aGVtIGluIHRoZSBpcGFfb3RwZF90Ci1kb21h aW4uIHNzc2RfbWZhX3QgYWxyZWFkeSBjYXJyaWVzIHRoZSBjb3JyZWN0IG5ldHdvcmsgYW5kIGRl dmljZQotcGVybWlzc2lvbnMgZm9yIHRob3NlIGhlbHBlcnMuCi0KLVNpZ25lZC1vZmYtYnk6IEFs ZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0gc2VsaW51eC9pcGEu dGUgfCA1ICsrKystCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvc2VsaW51eC9pcGEudGUgYi9zZWxpbnV4L2lwYS50ZQotaW5k ZXggYTkxYzRlZmNlLi5mOTgxMDhlZDIgMTAwNjQ0Ci0tLS0gYS9zZWxpbnV4L2lwYS50ZQotKysr IGIvc2VsaW51eC9pcGEudGUKLUBAIC0xNiw3ICsxNiw3IEBAIGluaXRfZGFlbW9uX2RvbWFpbihp cGFfb3RwZF90LCBpcGFfb3RwZF9leGVjX3QpCi0gCi0gdHlwZSBzc3NkX21mYV90LCBpcGFfZG9t YWluOwotIHR5cGUgc3NzZF9tZmFfZXhlY190OwotLWNhbl9leGVjKHNzc2RfbWZhX3Qsc3NzZF9t ZmFfZXhlY190KQotK2luaXRfZGFlbW9uX2RvbWFpbihzc3NkX21mYV90LCBzc3NkX21mYV9leGVj X3QpCi0gCi0ga2VybmVsX2RncmFtX3NlbmQoaXBhX290cGRfdCkKLSBhbGxvdyBpcGFfb3RwZF90 IHNlbGY6dW5peF9kZ3JhbV9zb2NrZXQgeyBjcmVhdGUgZ2V0b3B0IHNldG9wdCB9OwotQEAgLTE1 Niw2ICsxNTYsOSBAQCBvcHRpb25hbF9wb2xpY3koYAotIAotIGxvZ2dpbmdfc2VuZF9zeXNsb2df bXNnKGlwYV9vdHBkX3QpCi0gCi0rZG9tdHJhbnNfcGF0dGVybihpcGFfb3RwZF90LCBzc3NkX21m YV9leGVjX3QsIHNzc2RfbWZhX3QpCi0rYWxsb3cgaXBhX290cGRfdCBzc3NkX21mYV90OnByb2Nl c3MgeyBub2F0c2VjdXJlIHJsaW1pdGluaCBzaWdpbmggfTsKLSsKLSAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gIwotICMgc3NzZF9tZmEgbG9jYWwgcG9saWN5Ci0t LSAKLTIuNTAuMQotCi0KLUZyb20gYTI5YTQxNzVmM2IxOGU1YWNmOWYwNWU4MjdkYjhjNDBhYjg2 OTczNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFsZXhhbmRlciBCb2tvdm95IDxh Ym9rb3ZveUByZWRoYXQuY29tPgotRGF0ZTogVGh1LCA1IE1hciAyMDI2IDE4OjM0OjUwICswMjAw Ci1TdWJqZWN0OiBbUEFUQ0ggMi80XSBTRUxpbnV4OiB3cmFwIGJhcmUgZ2VuX3JlcXVpcmUgYmxv Y2tzIGluIG9wdGlvbmFsX3BvbGljeQotIGluIGRuc2tleSBzZWN0aW9uCi0KLUZvdXIgYmFyZSBn ZW5fcmVxdWlyZSthbGxvdyBibG9ja3MgaW4gdGhlIGlwYV9kbnNrZXlfdCBsb2NhbCBwb2xpY3kK LXJlZmVyZW5jZWQgZXh0ZXJuYWwgdHlwZXMgKG5kY190LCBzeXN0ZW1kX3RtcGZpbGVzX3QsIGZz X3QsIG5hbWVkX3QpCi1vdXRzaWRlIG9mIG9wdGlvbmFsX3BvbGljeSwgY2F1c2luZyBoYXJkIGNv bXBpbGF0aW9uIGZhaWx1cmVzIGlmIHRob3NlCi10eXBlcyBhcmUgYWJzZW50IGZyb20gdGhlIGxv YWRlZCBwb2xpY3kuIFdyYXAgZWFjaCBibG9jayBpbgotb3B0aW9uYWxfcG9saWN5IHRvIG1hdGNo IHRoZSBjb252ZW50aW9uIHVzZWQgdGhyb3VnaG91dCB0aGUgcmVzdCBvZgotdGhlIG1vZHVsZS4K LQotUmVsYXRlZDogaHR0cHM6Ly9wYWd1cmUuaW8vZnJlZWlwYS9pc3N1ZS85OTQ4Ci0KLVNpZ25l ZC1vZmYtYnk6IEFsZXhhbmRlciBCb2tvdm95IDxhYm9rb3ZveUByZWRoYXQuY29tPgotLS0tCi0g c2VsaW51eC9pcGEudGUgfCAzMiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQotIDEg ZmlsZSBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKLQotZGlmZiAt LWdpdCBhL3NlbGludXgvaXBhLnRlIGIvc2VsaW51eC9pcGEudGUKLWluZGV4IGY5ODEwOGVkMi4u OTI5NTFhMTcwIDEwMDY0NAotLS0tIGEvc2VsaW51eC9pcGEudGUKLSsrKyBiL3NlbGludXgvaXBh LnRlCi1AQCAtMzcwLDI0ICszNzAsMzIgQEAgY29yZW5ldF90Y3BfY29ubmVjdF9rZXJiZXJvc19w b3J0KGlwYV9kbnNrZXlfdCkKLSBjb3JlbmV0X3RjcF9jb25uZWN0X3JuZGNfcG9ydChpcGFfZG5z a2V5X3QpCi0gCi0gIyBBbGxvdyBybmRjIHRvIGFjY2VzcyBTb2Z0SFNNIHRva2VuIGluIElQQSBk aXJlY3RvcnkKLS1nZW5fcmVxdWlyZShgCi0tICAgIHR5cGUgbmRjX3Q7Ci0rb3B0aW9uYWxfcG9s aWN5KGAKLSsgICAgZ2VuX3JlcXVpcmUoYAotKyAgICAgICAgdHlwZSBuZGNfdDsKLSsgICAgJykK LSsgICAgYWxsb3cgbmRjX3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIG9wZW4gcmVhZCB9 OwotICcpCi0tYWxsb3cgbmRjX3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIG9wZW4gcmVh ZCB9OwotIAotICMgQWxsb3cgcmVsYWJlbCBmcm9tIHN5c3RlbWRfdG1wZmlsZXNfdAotLWdlbl9y ZXF1aXJlKGAKLS0gICAgdHlwZSBzeXN0ZW1kX3RtcGZpbGVzX3Q7Ci0rb3B0aW9uYWxfcG9saWN5 KGAKLSsgICAgZ2VuX3JlcXVpcmUoYAotKyAgICAgICAgdHlwZSBzeXN0ZW1kX3RtcGZpbGVzX3Q7 Ci0rICAgICcpCi0rICAgIGFsbG93IHN5c3RlbWRfdG1wZmlsZXNfdCBpcGFfZG5za2V5X3Q6Zmls ZSB7IGdldGF0dHIgcmVsYWJlbGZyb20gcmVsYWJlbHRvIH07Ci0gJykKLS1hbGxvdyBzeXN0ZW1k X3RtcGZpbGVzX3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIHJlbGFiZWxmcm9tIHJlbGFi ZWx0byB9OwotLWdlbl9yZXF1aXJlKGAKLS0gICAgdHlwZSBmc190OwotK29wdGlvbmFsX3BvbGlj eShgCi0rICAgIGdlbl9yZXF1aXJlKGAKLSsgICAgICAgIHR5cGUgZnNfdDsKLSsgICAgJykKLSsg ICAgYWxsb3cgaXBhX2Ruc2tleV90IGZzX3Q6ZmlsZXN5c3RlbSBhc3NvY2lhdGU7Ci0gJykKLS1h bGxvdyBpcGFfZG5za2V5X3QgZnNfdDpmaWxlc3lzdGVtIGFzc29jaWF0ZTsKLS1nZW5fcmVxdWly ZShgCi0tICAgIHR5cGUgbmFtZWRfdDsKLStvcHRpb25hbF9wb2xpY3koYAotKyAgICBnZW5fcmVx dWlyZShgCi0rICAgICAgICB0eXBlIG5hbWVkX3Q7Ci0rICAgICcpCi0rICAgIGFsbG93IG5hbWVk X3QgaXBhX2Ruc2tleV90OmZpbGUgeyBnZXRhdHRyIG9wZW4gcmVhZCB9OwotICcpCi0tYWxsb3cg bmFtZWRfdCBpcGFfZG5za2V5X3Q6ZmlsZSB7IGdldGF0dHIgb3BlbiByZWFkIH07Ci0gCi0gZGV2 X3JlYWRfcmFuZChpcGFfZG5za2V5X3QpCi0gZGV2X3JlYWRfc3lzZnMoaXBhX2Ruc2tleV90KQot LS0gCi0yLjUwLjEKLQotCi1Gcm9tIDIzYmYxMTc5NTg4M2FkYjk4YmNmN2E0NmU2NDI2NzQ5NWIz NzQxZmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbGV4YW5kZXIgQm9rb3ZveSA8 YWJva292b3lAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgNSBNYXIgMjAyNiAyMjozMTo0MyArMDIw MAotU3ViamVjdDogW1BBVENIIDMvNF0gU0VMaW51eDogZXhwYW5kIHBvbGljeSBjb3ZlcmFnZSBm b3Igc3NzZF9tZmFfdCBkb21haW4KLQotc3NzZF9tZmFfdCBydW5zIG9pZGNfY2hpbGQgYW5kIHBh c3NrZXlfY2hpbGQuIEFkZCBwZXJtaXNzaW9ucyBuZWVkZWQKLWZvciB0aGVpciBydW50aW1lIG9w ZXJhdGlvbjoKLQotLSBhdXRoX3VzZV9uc3N3aXRjaDogTlNTIGxvb2t1cHMgKG5zc3dpdGNoLmNv bmYgdHJhdmVyc2FsKQotLSBmaWxlc19yZWFkX3Vzcl9maWxlczogT3BlblNTTCBjcnlwdG8tcG9s aWNpZXMgY29uZmlnIGluIC91c3Ivc2hhcmUKLS0gbWlzY2ZpbGVzX3JlYWRfbG9jYWxpemF0aW9u OiB0aW1lem9uZSBkYXRhCi0tIGtlcm5lbF9yZWFkX2NyeXB0b19zeXNjdGxzOiAvcHJvYy9zeXMv Y3J5cHRvL2ZpcHNfZW5hYmxlZCBjaGVjawotLSBzZWxpbnV4X2dldGF0dHJfZnM6IFNFTGludXgg c3RhdHVzIHByb2JlIChpc19zZWxpbnV4X2VuYWJsZWQpCi0tIGRvbnRhdWRpdCBuZXRfYWRtaW46 IHN1cHByZXNzIGNhcGFiaWxpdHkgcHJvYmUgdGhhdCBpcyBub3QgcmVxdWlyZWQKLS0gZG9udGF1 ZGl0IGluaXRfdDp1bml4X3N0cmVhbV9zb2NrZXQ6IHN1cHByZXNzIG5vaXNlIGZyb20gUkFESVVT Ci0gIHNvY2tldCBsZWFrZWQgdG8gY2hpbGQgKHNob3VsZCBiZSBjbG9zZS1vbi1leGVjIGluIGlw YS1vdHBkKQotLSBwc19wcm9jZXNzX3BhdHRlcm4oc3lzbG9nZF90KTogYWxsb3cgc3lzdGVtZC1q b3VybmFsIHRvIHJlYWQKLSAgc3NzZF9tZmFfdCBwcm9jZXNzIGVudHJpZXMgaW4gL3Byb2MgZm9y IHN0cnVjdHVyZWQgbG9nIGVudHJpZXMKLQotU2lnbmVkLW9mZi1ieTogQWxleGFuZGVyIEJva292 b3kgPGFib2tvdm95QHJlZGhhdC5jb20+Ci0tLS0KLSBzZWxpbnV4L2lwYS50ZSB8IDI1ICsrKysr KysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjUgaW5zZXJ0aW9ucygrKQot Ci1kaWZmIC0tZ2l0IGEvc2VsaW51eC9pcGEudGUgYi9zZWxpbnV4L2lwYS50ZQotaW5kZXggOTI5 NTFhMTcwLi5jYTEzZDViN2MgMTAwNjQ0Ci0tLS0gYS9zZWxpbnV4L2lwYS50ZQotKysrIGIvc2Vs aW51eC9pcGEudGUKLUBAIC0yMDUsNiArMjA1LDMxIEBAIG9wdGlvbmFsX3BvbGljeShgCi0gCi0g bG9nZ2luZ19zZW5kX3N5c2xvZ19tc2coc3NzZF9tZmFfdCkKLSAKLSthdXRoX3VzZV9uc3N3aXRj aChzc3NkX21mYV90KQotKwotK2ZpbGVzX3JlYWRfdXNyX2ZpbGVzKHNzc2RfbWZhX3QpCi0rbWlz Y2ZpbGVzX3JlYWRfbG9jYWxpemF0aW9uKHNzc2RfbWZhX3QpCi0rCi0ra2VybmVsX3JlYWRfY3J5 cHRvX3N5c2N0bHMoc3NzZF9tZmFfdCkKLSsKLStzZWxpbnV4X2dldGF0dHJfZnMoc3NzZF9tZmFf dCkKLSsKLStkb250YXVkaXQgc3NzZF9tZmFfdCBzZWxmOmNhcGFiaWxpdHkgbmV0X2FkbWluOwot KwotK29wdGlvbmFsX3BvbGljeShgCi0rICAgIGdlbl9yZXF1aXJlKGAKLSsgICAgICAgIHR5cGUg aW5pdF90OwotKyAgICAnKQotKyAgICBkb250YXVkaXQgc3NzZF9tZmFfdCBpbml0X3Q6dW5peF9z dHJlYW1fc29ja2V0IHsgcmVhZCB3cml0ZSB9OwotKycpCi0rCi0rb3B0aW9uYWxfcG9saWN5KGAK LSsgICAgZ2VuX3JlcXVpcmUoYAotKyAgICAgICAgdHlwZSBzeXNsb2dkX3Q7Ci0rICAgICcpCi0r ICAgIHBzX3Byb2Nlc3NfcGF0dGVybihzeXNsb2dkX3QsIHNzc2RfbWZhX3QpCi0rJykKLSsKLSBv cHRpb25hbF9wb2xpY3koYAotIAlpcGFfcmVhZF9saWIoc3NzZF9tZmFfdCkKLSAJaXBhX3NlYXJj aF9saWIoc3NzZF9tZmFfdCkKLS0tIAotMi41MC4xCi0K