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: Carl George To: git-commits@fedoraproject.org Subject: [rpms/caddy] epel10: Port to new golang packaging guidelines Date: Wed, 24 Jun 2026 03:10:29 GMT Message-ID: <178227062992.1.12567154914091177584.rpms-caddy-1603919fd45c@fedoraproject.org> List-ID: X-Git-Repo: rpms/caddy X-Git-Branch: epel10 X-Git-Rev: 1603919fd45cbc752394021a99e387a65098f612 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvY2FkZHkKICAgICAgICAgICAgQnJhbmNoIDogZXBlbDEwCiAgICAgICAgICAg IENvbW1pdCA6IDE2MDM5MTlmZDQ1Y2JjNzUyMzk0MDIxYTk5ZTM4N2E2NTA5OGY2MTIKICAgICAg ICAgICAgQXV0aG9yIDogQ2FybCBHZW9yZ2UgPGNhcmx3Z2VvcmdlQGdtYWlsLmNvbT4KICAgICAg ICAgICAgRGF0ZSAgIDogMjAyNi0wNi0yMlQyMjoxOTo1MC0wNTowMAogICAgICAgICAgICBTdGF0 cyAgOiArMTUyMS8tMjcxIGluIDE0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9jYWRkeS9jLzE2MDM5MTlmZDQ1Y2JjNzUyMzk0 MDIxYTk5ZTM4N2E2NTA5OGY2MTI/YnJhbmNoPWVwZWwxMAoKICAgICAgICAgICAgTG9nOgogICAg ICAgICAgICBQb3J0IHRvIG5ldyBnb2xhbmcgcGFja2FnaW5nIGd1aWRlbGluZXMKCi0gQmFja3Bv cnQgdXBzdHJlYW0gZml4IGZvciBDVkUtMjAyNi0yNzU4NQotIEJhY2twb3J0IHVwc3RyZWFtIGZp eCBmb3IgQ1ZFLTIwMjYtMjc1ODYKLSBCYWNrcG9ydCB1cHN0cmVhbSBmaXggZm9yIENWRS0yMDI2 LTI3NTg3Ci0gQmFja3BvcnQgdXBzdHJlYW0gZml4IGZvciBDVkUtMjAyNi0yNzU4OAotIEJhY2tw b3J0IHVwc3RyZWFtIGZpeCBmb3IgQ1ZFLTIwMjYtMjc1ODkKLSBCYWNrcG9ydCB1cHN0cmVhbSBm aXggZm9yIENWRS0yMDI2LTI3NTkwCi0gQmFja3BvcnQgdXBzdHJlYW0gZml4IGZvciBDVkUtMjAy Ni0zMDg1MQotIEJhY2twb3J0IHVwc3RyZWFtIGZpeCBmb3IgQ1ZFLTIwMjYtMzA4NTIKLSBVcGRh dGUgdmVuZG9yZWQgZ2l0aHViLmNvbS9xdWljLWdvL3F1aWMtZ28gdG8gdjAuNTcuMCBmb3IgQ1ZF LTIwMjUtNjQ3MDIKLSBVcGRhdGUgdmVuZG9yZWQgZ29sYW5nLm9yZy94L2NyeXB0byB0byB2MC41 Mi4wIGZvciBDVkUtMjAyNS00NzkxMywgQ1ZFLTIwMjYtMzk4MjgsIENWRS0yMDI2LTM5ODI5LCBh bmQgQ1ZFLTIwMjYtMzk4MzAKLSBVcGRhdGUgdmVuZG9yZWQgZ2l0aHViLmNvbS9zbWFsbHN0ZXAv Y2VydGlmaWNhdGVzIHRvIHYwLjMwLjAgZm9yIENWRS0yMDI1LTQ0MDA1IGFuZCBDVkUtMjAyNi00 MDA5NwotIFVwZGF0ZSB2ZW5kb3JlZCBnaXRodWIuY29tL2dvLWNoaS9jaGkvdjUgdG8gdjUuMi41 IGZvciBDVkUtMjAyNS02OTcyNQotIFVwZGF0ZSB2ZW5kb3JlZCBnaXRodWIuY29tL3l1aW4vZ29s ZG1hcmsvcmVuZGVyZXIvaHRtbCB0byB2MS43LjE3IGZvciBDVkUtMjAyNi01MTYwCgotLS0KZGlm ZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDdiNjM1N2YuLjdiNDI2OWIg MTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtMSArMSwyIEBACi1j YWRkeS0qLnRhci5negorL2NhZGR5LSoudGFyLmd6CisvY2FkZHktKi12ZW5kb3IudGFyLmJ6MgoK ZGlmZiAtLWdpdCBhLzAwMDEtRGlzYWJsZS1jb21tYW5kcy10aGF0LWNhbi1hbHRlci10aGUtYmlu YXJ5LnBhdGNoIGIvMDAwMS1EaXNhYmxlLWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5h cnkucGF0Y2gKaW5kZXggNzNhNTNjOC4uODIxMTEwNSAxMDA2NDQKLS0tIGEvMDAwMS1EaXNhYmxl LWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5hcnkucGF0Y2gKKysrIGIvMDAwMS1EaXNh YmxlLWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRoZS1iaW5hcnkucGF0Y2gKQEAgLTkxLDYgKzkx LDMgQEAgaW5kZXggMDg1YTlkNzguLmY2ZDAxZmEzIDEwMDY0NAogIAl9CiAgCiAgCWlmICFyZWZs ZWN0LkRlZXBFcXVhbChleHBlY3RlZENvbW1hbmROYW1lcywgY29tbWFuZE5hbWVzKSB7Ci0tLSAK LTIuNTAuMQotCgpkaWZmIC0tZ2l0IGEvMDAwMi1maWxlc2VydmVyLVJlcGxhY2Utd2l0aC1pbi1m aWxlLW1hdGNoZXItcGF0aHMucGF0Y2ggYi8wMDAyLWZpbGVzZXJ2ZXItUmVwbGFjZS13aXRoLWlu LWZpbGUtbWF0Y2hlci1wYXRocy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi4wZTBmNGY2Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1maWxlc2VydmVyLVJlcGxhY2Ut d2l0aC1pbi1maWxlLW1hdGNoZXItcGF0aHMucGF0Y2gKQEAgLTAsMCArMSw0NyBAQAorRnJvbSA1 MGUxMTc0NDBjMWEwYWIwN2QzMTNiZGYwNzRlMWM2OGMxNjg4MjNmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogTWF0dGhldyBIb2x0IDxtaG9sdEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5j b20+CitEYXRlOiBUaHUsIDE5IEZlYiAyMDI2IDEzOjE3OjE5IC0wNzAwCitTdWJqZWN0OiBbUEFU Q0hdIGZpbGVzZXJ2ZXI6IFJlcGxhY2UgXCB3aXRoIFxcIGluIGZpbGUgbWF0Y2hlciBwYXRocwor CitGaXhlczogQ1ZFLTIwMjYtMjc1ODUKKworKGNoZXJyeSBwaWNrZWQgZnJvbSBjb21taXQgYTI4 MjVjNWRkOTUyNzY5ZjEzOWExNjQ0OGRjMWNhMWJlNjFiNjA1OCkKKy0tLQorIG1vZHVsZXMvY2Fk ZHlodHRwL2ZpbGVzZXJ2ZXIvbWF0Y2hlci5nbyAgICAgICAgICAgICAgICAgICAgIHwgMSArCisg bW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNlcnZlci9tYXRjaGVyX3Rlc3QuZ28gICAgICAgICAgICAg ICAgfCA2ICsrKysrKworICJtb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL3Rlc3RkYXRhL2Zv b2Rpci9zZWNyXFxldC50eHQiIHwgMAorIDMgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCsp CisgY3JlYXRlIG1vZGUgMTAwNjQ0ICJtb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL3Rlc3Rk YXRhL2Zvb2Rpci9zZWNyXFxldC50eHQiCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NhZGR5aHR0 cC9maWxlc2VydmVyL21hdGNoZXIuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21h dGNoZXIuZ28KK2luZGV4IGZiY2QzNmUwLi45ZmUyNzc0YyAxMDA2NDQKKy0tLSBhL21vZHVsZXMv Y2FkZHlodHRwL2ZpbGVzZXJ2ZXIvbWF0Y2hlci5nbworKysrIGIvbW9kdWxlcy9jYWRkeWh0dHAv ZmlsZXNlcnZlci9tYXRjaGVyLmdvCitAQCAtNzIwLDYgKzcyMCw3IEBAIHZhciBnbG9iU2FmZVJl cGwgPSBzdHJpbmdzLk5ld1JlcGxhY2VyKAorIAkiKiIsICJcXCoiLAorIAkiWyIsICJcXFsiLAor IAkiPyIsICJcXD8iLAorKwkiXFwiLCAiXFxcXCIsCisgKQorIAorIGNvbnN0ICgKK2RpZmYgLS1n aXQgYS9tb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21hdGNoZXJfdGVzdC5nbyBiL21vZHVs ZXMvY2FkZHlodHRwL2ZpbGVzZXJ2ZXIvbWF0Y2hlcl90ZXN0LmdvCitpbmRleCBmMGVjNGIzOS4u MzY0ODNmY2QgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9maWxlc2VydmVyL21hdGNo ZXJfdGVzdC5nbworKysrIGIvbW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNlcnZlci9tYXRjaGVyX3Rl c3QuZ28KK0BAIC0xMTUsNiArMTE1LDEyIEBAIGZ1bmMgVGVzdEZpbGVNYXRjaGVyKHQgKnRlc3Rp bmcuVCkgeworIAkJCWV4cGVjdGVkVHlwZTogImZpbGUiLAorIAkJCW1hdGNoZWQ6ICAgICAgIWlz V2luZG93cywKKyAJCX0sCisrCQl7CisrCQkJcGF0aDogICAgICAgICAiL2Zvb2Rpci9zZWNyJTVD ZXQudHh0IiwKKysJCQlleHBlY3RlZFBhdGg6ICIvZm9vZGlyL3NlY3JcXGV0LnR4dCIsCisrCQkJ ZXhwZWN0ZWRUeXBlOiAiZmlsZSIsCisrCQkJbWF0Y2hlZDogICAgICB0cnVlLAorKwkJfSwKKyAJ fSB7CisgCQltIDo9ICZNYXRjaEZpbGV7CisgCQkJZnNtYXA6ICAgICZmaWxlc3lzdGVtcy5GaWxl U3lzdGVtTWFwe30sCitkaWZmIC0tZ2l0ICJhL21vZHVsZXMvY2FkZHlodHRwL2ZpbGVzZXJ2ZXIv dGVzdGRhdGEvZm9vZGlyL3NlY3JcXGV0LnR4dCIgImIvbW9kdWxlcy9jYWRkeWh0dHAvZmlsZXNl cnZlci90ZXN0ZGF0YS9mb29kaXIvc2VjclxcZXQudHh0IgorbmV3IGZpbGUgbW9kZSAxMDA2NDQK K2luZGV4IDAwMDAwMDAwLi5lNjlkZTI5YgoKZGlmZiAtLWdpdCBhLzAwMDMtY2FkZHl0bHMtUmV0 dXJuLWVycm9ycy1pbnN0ZWFkLW9mLW5pbC1pbi1jbGllbnQtYXV0aC1wcm92aXNpb25pbmctNzQ2 NC5wYXRjaCBiLzAwMDMtY2FkZHl0bHMtUmV0dXJuLWVycm9ycy1pbnN0ZWFkLW9mLW5pbC1pbi1j bGllbnQtYXV0aC1wcm92aXNpb25pbmctNzQ2NC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4wNmU3ODUwCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMy1jYWRkeXRscy1S ZXR1cm4tZXJyb3JzLWluc3RlYWQtb2YtbmlsLWluLWNsaWVudC1hdXRoLXByb3Zpc2lvbmluZy03 NDY0LnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNzNhNjI4NzAzMWY1ZWE2ODQ3ZjIyMmFh OTY0MWZmNWI3MmJhNDIwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IG1vc2Nvd2No aWxsIDw3MjU3ODg3OSttb3Njb3djaGlsbEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRl OiBUaHUsIDEyIEZlYiAyMDI2IDIzOjQyOjU0ICswODAwCitTdWJqZWN0OiBbUEFUQ0hdIGNhZGR5 dGxzOiBSZXR1cm4gZXJyb3JzIGluc3RlYWQgb2YgbmlsIGluIGNsaWVudCBhdXRoCisgcHJvdmlz aW9uaW5nICgjNzQ2NCkKKworVHdvIGVycm9yIHJldHVybnMgaW4gQ2xpZW50QXV0aGVudGljYXRp b24ucHJvdmlzaW9uKCkgd2VyZQorcmV0dXJuaW5nIG5pbCBpbnN0ZWFkIG9mIHRoZSBhY3R1YWwg ZXJyb3IsIHNpbGVudGx5IHN3YWxsb3dpbmcKK2ZhaWx1cmVzIHdoZW4gY29udmVydGluZyBQRU0g ZmlsZXMgdG8gREVSIGFuZCB3aGVuIHByb3Zpc2lvbmluZwordGhlIENBIHBvb2wuIFRoaXMgY291 bGQgY2F1c2UgbVRMUyBjbGllbnQgYXV0aGVudGljYXRpb24gdG8KK3NpbGVudGx5IGZhbGwgYmFj ayB0byB0aGUgc3lzdGVtIHRydXN0IHN0b3JlLCBhY2NlcHRpbmcgYW55CitjbGllbnQgY2VydGlm aWNhdGUgc2lnbmVkIGJ5IGEgcHVibGljIENBIGluc3RlYWQgb2YgcmVzdHJpY3RpbmcKK3RvIHRo ZSBjb25maWd1cmVkIHRydXN0IGFuY2hvcnMuCisKK0ZpeGVzOiBDVkUtMjAyNi0yNzU4NgorCiso Y2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBkNDJkMzliNGJjMjM3YzYyOGY5YTk1MzYzYjI4MDQ0 Y2I3YTdmZTcyKQorLS0tCisgbW9kdWxlcy9jYWRkeXRscy9jb25ucG9saWN5LmdvIHwgNCArKy0t CisgMSBmaWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL21vZHVsZXMvY2FkZHl0bHMvY29ubnBvbGljeS5nbyBiL21vZHVsZXMvY2FkZHl0 bHMvY29ubnBvbGljeS5nbworaW5kZXggNzI0MjcxYTguLmE2YWVkY2MyIDEwMDY0NAorLS0tIGEv bW9kdWxlcy9jYWRkeXRscy9jb25ucG9saWN5LmdvCisrKysgYi9tb2R1bGVzL2NhZGR5dGxzL2Nv bm5wb2xpY3kuZ28KK0BAIC03OTQsNyArNzk0LDcgQEAgZnVuYyAoY2xpZW50YXV0aCAqQ2xpZW50 QXV0aGVudGljYXRpb24pIHByb3Zpc2lvbihjdHggY2FkZHkuQ29udGV4dCkgZXJyb3IgeworIAkJ Zm9yIF8sIGZwYXRoIDo9IHJhbmdlIGNsaWVudGF1dGguVHJ1c3RlZENBQ2VydFBFTUZpbGVzIHsK KyAJCQlkZXJzLCBlcnIgOj0gY29udmVydFBFTUZpbGVzVG9ERVIoZnBhdGgpCisgCQkJaWYgZXJy ICE9IG5pbCB7CistCQkJCXJldHVybiBuaWwKKysJCQkJcmV0dXJuIGVycgorIAkJCX0KKyAJCQlj bGllbnRhdXRoLlRydXN0ZWRDQUNlcnRzID0gYXBwZW5kKGNsaWVudGF1dGguVHJ1c3RlZENBQ2Vy dHMsIGRlcnMuLi4pCisgCQl9CitAQCAtODA3LDcgKzgwNyw3IEBAIGZ1bmMgKGNsaWVudGF1dGgg KkNsaWVudEF1dGhlbnRpY2F0aW9uKSBwcm92aXNpb24oY3R4IGNhZGR5LkNvbnRleHQpIGVycm9y IHsKKyAJCX0KKyAJCWVyciA6PSBjYVBvb2wuUHJvdmlzaW9uKGN0eCkKKyAJCWlmIGVyciAhPSBu aWwgeworLQkJCXJldHVybiBuaWwKKysJCQlyZXR1cm4gZXJyCisgCQl9CisgCQljbGllbnRhdXRo LmNhID0gY2FQb29sCisgCX0KCmRpZmYgLS1naXQgYS8wMDA0LWNhZGR5aHR0cC1Mb3dlcmNhc2Ut Y29tcGFyaXNvbi13aGVuLW1hdGNoaW5nLXdpdGgtZXNjYXBlLXNlcXVlbmNlLnBhdGNoIGIvMDAw NC1jYWRkeWh0dHAtTG93ZXJjYXNlLWNvbXBhcmlzb24td2hlbi1tYXRjaGluZy13aXRoLWVzY2Fw ZS1zZXF1ZW5jZS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTRh MzFkCi0tLSAvZGV2L251bGwKKysrIGIvMDAwNC1jYWRkeWh0dHAtTG93ZXJjYXNlLWNvbXBhcmlz b24td2hlbi1tYXRjaGluZy13aXRoLWVzY2FwZS1zZXF1ZW5jZS5wYXRjaApAQCAtMCwwICsxLDY0 IEBACitGcm9tIDQxZGYyOTU1YjBmMzIyMmNjMDFhMWY1ZDBiNGRiYzA4ZWMzOWNlZGIgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aGV3IEhvbHQgPG1ob2x0QHVzZXJzLm5vcmVw bHkuZ2l0aHViLmNvbT4KK0RhdGU6IE1vbiwgOSBGZWIgMjAyNiAwOTo0MzowNyAtMDcwMAorU3Vi amVjdDogW1BBVENIXSBjYWRkeWh0dHA6IExvd2VyY2FzZSBjb21wYXJpc29uIHdoZW4gbWF0Y2hp bmcgd2l0aCBlc2NhcGUKKyBzZXF1ZW5jZQorCitOZWNlc3NhcnkgYXMgb3RoZXJ3aXNlIHRoZSBl YXJseS1iYWlsIGluIGB1bnRpbCA9CitzdHJpbmdzLkluZGV4Qnl0ZShyZW1haW5pbmcsIG5leHRD aCkgLi4uIGlmIHVudGlsID09IC0xYCBjYW4gY2F1c2UgYQorY2FzZS1pbnNlbnNpdGl2ZSBtaXNt YXRjaAorCitGaXhlczogQ1ZFLTIwMjYtMjc1ODcKK0NvLWF1dGhvcmVkLWJ5OiBBc2ltIFZpbGFk aSBPZ2x1IE1hbml6YWRhIDxtYW5pemFkYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisKKyhj aGVycnkgcGlja2VkIGZyb20gY29tbWl0IGJkMzc0Y2E5ZDcyZTI5NmM5MzYxYWVlNzY5MjRiNjU0 MGYyMmYwYzApCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBhMTA4MTE5NGJmYWU0ZTBkOGMy MjdlYzQ0YWVjYjk1ZWRlZDU1ZDFlKQorLS0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnMu Z28gICAgICB8ICA1ICsrKy0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyB8 IDEwICsrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbyBi L21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzLmdvCitpbmRleCAyMjk3NmNmYi4uM2U2YzI5MzIg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbworKysrIGIvbW9kdWxl cy9jYWRkeWh0dHAvbWF0Y2hlcnMuZ28KK0BAIC01MzMsNiArNTMzLDcgQEAgZnVuYyAobSBNYXRj aFBhdGgpIE1hdGNoV2l0aEVycm9yKHIgKmh0dHAuUmVxdWVzdCkgKGJvb2wsIGVycm9yKSB7Cisg fQorIAorIGZ1bmMgKE1hdGNoUGF0aCkgbWF0Y2hQYXR0ZXJuV2l0aEVzY2FwZVNlcXVlbmNlKGVz Y2FwZWRQYXRoLCBtYXRjaFBhdGggc3RyaW5nKSBib29sIHsKKysJZXNjYXBlZFBhdGggPSBzdHJp bmdzLlRvTG93ZXIoZXNjYXBlZFBhdGgpCisgCS8vIFdlIHdvdWxkIGp1c3QgY29tcGFyZSB0aGUg cGF0dGVybiBhZ2FpbnN0IHIuVVJMLlBhdGgsCisgCS8vIGJ1dCB0aGUgcGF0dGVybiBjb250YWlu cyAlLCBpbmRpY2F0aW5nIHRoYXQgd2Ugc2hvdWxkCisgCS8vIGNvbXBhcmUgYXQgbGVhc3Qgc29t ZSBwYXJ0IG9mIHRoZSBwYXRoIGluIHJhdy9lc2NhcGVkCitAQCAtNjMyLDggKzYzMyw4IEBAIGZ1 bmMgKE1hdGNoUGF0aCkgbWF0Y2hQYXR0ZXJuV2l0aEVzY2FwZVNlcXVlbmNlKGVzY2FwZWRQYXRo LCBtYXRjaFBhdGggc3RyaW5nKSBiCisgCS8vIHdlIGNhbiBub3cgdHJlYXQgcmF3cGF0aCBnbG9i cyAoJSopIGFzIHJlZ3VsYXIgZ2xvYnMgKCopCisgCW1hdGNoUGF0aCA9IHN0cmluZ3MuUmVwbGFj ZUFsbChtYXRjaFBhdGgsICIlKiIsICIqIikKKyAKKy0JLy8gaWdub3JlIGVycm9yIGhlcmUgYmVj YXVzZSB3ZSBjYW4ndCBoYW5kbGUgaXQgYW55d2F5PQorLQltYXRjaGVzLCBfIDo9IHBhdGguTWF0 Y2gobWF0Y2hQYXRoLCBzYi5TdHJpbmcoKSkKKysJLy8gaWdub3JlIGVycm9yIGhlcmUgYmVjYXVz ZSB3ZSBjYW4ndCBoYW5kbGUgaXQgYW55d2F5CisrCW1hdGNoZXMsIF8gOj0gcGF0aC5NYXRjaCht YXRjaFBhdGgsIHN0cmluZ3MuVG9Mb3dlcihzYi5TdHJpbmcoKSkpCisgCXJldHVybiBtYXRjaGVz CisgfQorIAorZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzX3Rlc3QuZ28g Yi9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCitpbmRleCAwNjgyMDdlOC4uYzAw MmEzZTQgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCisr KysgYi9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVyc190ZXN0LmdvCitAQCAtNDEyLDYgKzQxMiwx NiBAQCBmdW5jIFRlc3RQYXRoTWF0Y2hlcih0ICp0ZXN0aW5nLlQpIHsKKyAJCQlpbnB1dDogICIv Zm9vJTJmYmFyL2JheiIsCisgCQkJZXhwZWN0OiB0cnVlLAorIAkJfSwKKysJCXsKKysJCQltYXRj aDogIE1hdGNoUGF0aHsiL2FkbWluJTJmcGFuZWwifSwKKysJCQlpbnB1dDogICIvQURNSU4lMmZw YW5lbCIsCisrCQkJZXhwZWN0OiB0cnVlLAorKwkJfSwKKysJCXsKKysJCQltYXRjaDogIE1hdGNo UGF0aHsiL2FkbWluJTJmcGEqZWwifSwKKysJCQlpbnB1dDogICIvQURNSU4lMmZQYUF6WkxtMTIz TkVMIiwKKysJCQlleHBlY3Q6IHRydWUsCisrCQl9LAorIAl9IHsKKyAJCWVyciA6PSB0Yy5tYXRj aC5Qcm92aXNpb24oY2FkZHkuQ29udGV4dHt9KQorIAkJaWYgZXJyID09IG5pbCAmJiB0Yy5wcm92 aXNpb25FcnIgewoKZGlmZiAtLWdpdCBhLzAwMDUtY2FkZHlodHRwLVVzZS1jYXNlLWluc2Vuc2l0 aXZlLWNvbXBhcmlzb24tZm9yLWxhcmdlLUhvc3QtbGlzdHMucGF0Y2ggYi8wMDA1LWNhZGR5aHR0 cC1Vc2UtY2FzZS1pbnNlbnNpdGl2ZS1jb21wYXJpc29uLWZvci1sYXJnZS1Ib3N0LWxpc3RzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2OTc2OTAKLS0tIC9kZXYv bnVsbAorKysgYi8wMDA1LWNhZGR5aHR0cC1Vc2UtY2FzZS1pbnNlbnNpdGl2ZS1jb21wYXJpc29u LWZvci1sYXJnZS1Ib3N0LWxpc3RzLnBhdGNoCkBAIC0wLDAgKzEsNjMgQEAKK0Zyb20gYzhmMjdl NzVmZTk3NjcyZGZmYWZjY2FiNmQ3YjJiMjZmMDJiYTlkZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IE1hdHRoZXcgSG9sdCA8bWhvbHRAdXNlcnMubm9yZXBseS5naXRodWIuY29tPgor RGF0ZTogTW9uLCA5IEZlYiAyMDI2IDE0OjE4OjU1IC0wNzAwCitTdWJqZWN0OiBbUEFUQ0hdIGNh ZGR5aHR0cDogVXNlIGNhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbiBmb3IgbGFyZ2UgSG9zdAor IGxpc3RzCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK05vcm1hbGl6ZSBl eGFjdCBob3N0cyBhdCBwcm92aXNpb25pbmcgYW5kIHJlcUhvc3QgaW4gdGhlIGZhc3QgcGF0aCBz byBjYXNlLWRpZmZlcmVudCBIb3N0IHZhcmlhbnRzIGNhbuKAmXQgYnlwYXNzIGhvc3QtZ2F0ZWQg cm91dGVzLgorCitGaXhlczogQ1ZFLTIwMjYtMjc1ODgKK0NvLWF1dGhvcmVkLWJ5OiBBc2ltIFZp bGFkaSBPZ2x1IE1hbml6YWRhIDxtYW5pemFkYUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisK KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDFmNDNlODU2NmI0YzFkNjZhMDBhMTM4MTg4ZjBk ZWZjNWFkYzZkNzUpCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCBlZWMzMmEwYmI1YTExNjUx YzZhN2IwNGNlODJkYzUwNjEwZjJiMjdlKQorLS0tCisgbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hl cnMuZ28gfCAxNSArKysrKysrKysrLS0tLS0KKyAxIGZpbGUgY2hhbmdlZCwgMTAgaW5zZXJ0aW9u cygrKSwgNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL21h dGNoZXJzLmdvIGIvbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnMuZ28KK2luZGV4IDNlNmMyOTMy Li4yN2U1YzVhZSAxMDA2NDQKKy0tLSBhL21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzLmdvCisr KysgYi9tb2R1bGVzL2NhZGR5aHR0cC9tYXRjaGVycy5nbworQEAgLTI2MiwxMyArMjYyLDE3IEBA IGZ1bmMgKG0gTWF0Y2hIb3N0KSBQcm92aXNpb24oXyBjYWRkeS5Db250ZXh0KSBlcnJvciB7Cisg CQlpZiBlcnIgIT0gbmlsIHsKKyAJCQlyZXR1cm4gZm10LkVycm9yZigiY29udmVydGluZyBob3N0 bmFtZSAnJXMnIHRvIEFTQ0lJOiAldiIsIGhvc3QsIGVycikKKyAJCX0KKy0JCWlmIGFzY2lpSG9z dCAhPSBob3N0IHsKKy0JCQltW2ldID0gYXNjaWlIb3N0CistCQl9CisgCQlub3JtYWxpemVkSG9z dCA6PSBzdHJpbmdzLlRvTG93ZXIoYXNjaWlIb3N0KQorIAkJaWYgZmlyc3RJLCBvayA6PSBzZWVu W25vcm1hbGl6ZWRIb3N0XTsgb2sgeworIAkJCXJldHVybiBmbXQuRXJyb3JmKCJob3N0IGF0IGlu ZGV4ICVkIGlzIHJlcGVhdGVkIGF0IGluZGV4ICVkOiAlcyIsIGZpcnN0SSwgaSwgaG9zdCkKKyAJ CX0KKysJCS8vIE5vcm1hbGl6ZSBleGFjdCBob3N0cyBmb3Igc3RhbmRhcmRpemVkIGNvbXBhcmlz b24gaW4gbGFyZ2UtbGlzdCBmYXN0cGF0aCBsYXRlciBvbi4KKysJCS8vIEtlZXAgd2lsZGNhcmRz L3BsYWNlaG9sZGVycyB1bnRvdWNoZWQuCisrCQlpZiBtLmZ1enp5KGFzY2lpSG9zdCkgeworKwkJ CW1baV0gPSBhc2NpaUhvc3QKKysJCX0gZWxzZSB7CisrCQkJbVtpXSA9IG5vcm1hbGl6ZWRIb3N0 CisrCQl9CisgCQlzZWVuW25vcm1hbGl6ZWRIb3N0XSA9IGkKKyAJfQorIAorQEAgLTMxMiwxNCAr MzE2LDE1IEBAIGZ1bmMgKG0gTWF0Y2hIb3N0KSBNYXRjaFdpdGhFcnJvcihyICpodHRwLlJlcXVl c3QpIChib29sLCBlcnJvcikgeworIAl9CisgCisgCWlmIG0ubGFyZ2UoKSB7CisrCQlyZXFIb3N0 TG93ZXIgOj0gc3RyaW5ncy5Ub0xvd2VyKHJlcUhvc3QpCisgCQkvLyBmYXN0IHBhdGg6IGxvY2F0 ZSBleGFjdCBtYXRjaCB1c2luZyBiaW5hcnkgc2VhcmNoIChhYm91dCAxMDAtMTAwMHggZmFzdGVy IGZvciBsYXJnZSBsaXN0cykKKyAJCXBvcyA6PSBzb3J0LlNlYXJjaChsZW4obSksIGZ1bmMoaSBp bnQpIGJvb2wgeworIAkJCWlmIG0uZnV6enkobVtpXSkgeworIAkJCQlyZXR1cm4gZmFsc2UKKyAJ CQl9CistCQkJcmV0dXJuIG1baV0gPj0gcmVxSG9zdAorKwkJCXJldHVybiBtW2ldID49IHJlcUhv c3RMb3dlcgorIAkJfSkKKy0JCWlmIHBvcyA8IGxlbihtKSAmJiBtW3Bvc10gPT0gcmVxSG9zdCB7 CisrCQlpZiBwb3MgPCBsZW4obSkgJiYgbVtwb3NdID09IHJlcUhvc3RMb3dlciB7CisgCQkJcmV0 dXJuIHRydWUsIG5pbAorIAkJfQorIAl9CgpkaWZmIC0tZ2l0IGEvMDAwNi1hZG1pbi1SZWplY3Qt cmVxdWVzdHMtd2l0aC1TZWMtRmV0Y2gtTW9kZS1oZWFkZXJzLnBhdGNoIGIvMDAwNi1hZG1pbi1S ZWplY3QtcmVxdWVzdHMtd2l0aC1TZWMtRmV0Y2gtTW9kZS1oZWFkZXJzLnBhdGNoCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiODk1ODAKLS0tIC9kZXYvbnVsbAorKysgYi8w MDA2LWFkbWluLVJlamVjdC1yZXF1ZXN0cy13aXRoLVNlYy1GZXRjaC1Nb2RlLWhlYWRlcnMucGF0 Y2gKQEAgLTAsMCArMSw2MCBAQAorRnJvbSA2MWY4ZTY4YTRhYmFkMzI5NThkMmFkZjAzYmE3MzNk ZTIzMDczYzQzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGhldyBIb2x0IDxt aG9sdEB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUsIDUgRmViIDIwMjYgMDk6 Mzk6MTEgLTA3MDAKK1N1YmplY3Q6IFtQQVRDSF0gYWRtaW46IFJlamVjdCByZXF1ZXN0cyB3aXRo IFNlYy1GZXRjaC1Nb2RlIGhlYWRlcnMKKworQW5kIGJ1Z2d5IE9yaWdpbjogbnVsbCBoZWFkZXJz LgorCitSZXNvbHZlcyBhIGxvdy1yaXNrIHNlY3VyaXR5IHJlcG9ydCBieSBAMXNlYWwuCisKK0Zp eGVzOiBDVkUtMjAyNi0yNzU4OQorCisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCA0MmNhMDEw ZTlkOGRhMzVlOTFlZGQ2OWU3MjRkMzczNjY3OGI1NjIwKQorLS0tCisgYWRtaW4uZ28gfCAyNyAr KysrKysrKysrKysrKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMjYgaW5zZXJ0aW9u cygrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvYWRtaW4uZ28gYi9hZG1pbi5nbwor aW5kZXggZTY4OTVjMzkuLjdkYmZkNDc4IDEwMDY0NAorLS0tIGEvYWRtaW4uZ28KKysrKyBiL2Fk bWluLmdvCitAQCAtODA3LDEzICs4MDcsMzggQEAgZnVuYyAoaCBhZG1pbkhhbmRsZXIpIHNlcnZl SFRUUCh3IGh0dHAuUmVzcG9uc2VXcml0ZXIsIHIgKmh0dHAuUmVxdWVzdCkgeworIAkJfQorIAl9 CisgCisrCS8vIGNvbW1vbiBtaXRpZ2F0aW9ucyBpbiBicm93c2VyIGNvbnRleHRzCisgCWlmIHN0 cmluZ3MuQ29udGFpbnMoci5IZWFkZXIuR2V0KCJVcGdyYWRlIiksICJ3ZWJzb2NrZXQiKSB7Cisg CQkvLyBJJ3ZlIG5ldmVyIGJlZW4gYWJsZSBkZW1vbnN0cmF0ZSBhIHZ1bG5lcmFiaWxpdHkgbXlz ZWxmLCBidXQgYXBwYXJlbnRseQorIAkJLy8gV2ViU29ja2V0IGNvbm5lY3Rpb25zIG9yaWdpbmF0 aW5nIGZyb20gYnJvd3NlcnMgYXJlbid0IHN1YmplY3QgdG8gQ09SUworIAkJLy8gcmVzdHJpY3Rp b25zLCBzbyB3ZSdsbCBqdXN0IGJlIG9uIHRoZSBzYWZlIHNpZGUKKy0JCWguaGFuZGxlRXJyb3Io dywgciwgZm10LkVycm9yZigid2Vic29ja2V0IGNvbm5lY3Rpb25zIGFyZW4ndCBhbGxvd2VkIikp CisrCQloLmhhbmRsZUVycm9yKHcsIHIsIEFQSUVycm9yeworKwkJCUhUVFBTdGF0dXM6IGh0dHAu U3RhdHVzQmFkUmVxdWVzdCwKKysJCQlFcnI6ICAgICAgICBlcnJvcnMuTmV3KCJ3ZWJzb2NrZXQg Y29ubmVjdGlvbnMgYXJlbid0IGFsbG93ZWQiKSwKKysJCQlNZXNzYWdlOiAgICAiV2ViU29ja2V0 IGNvbm5lY3Rpb25zIGFyZW4ndCBhbGxvd2VkLiIsCisrCQl9KQorIAkJcmV0dXJuCisgCX0KKysJ aWYgc3RyaW5ncy5Db250YWlucyhyLkhlYWRlci5HZXQoIlNlYy1GZXRjaC1Nb2RlIiksICJuby1j b3JzIikgeworKwkJLy8gdHVybnMgb3V0IHdlYiBwYWdlcyBjYW4ganVzdCBkaXNhYmxlIHRoZSBz YW1lLW9yaWdpbiBwb2xpY3kgKCE/Pz8hPykKKysJCS8vIGJ1dCBhdCBsZWFzdCBicm93c2VycyBs ZXQgdXMga25vdyB0aGF0J3MgdGhlIGNhc2UsIGhvbHkgaGVjaworKwkJaC5oYW5kbGVFcnJvcih3 LCByLCBBUElFcnJvcnsKKysJCQlIVFRQU3RhdHVzOiBodHRwLlN0YXR1c0JhZFJlcXVlc3QsCisr CQkJRXJyOiAgICAgICAgZXJyb3JzLk5ldygiY2xpZW50IGF0dGVtcHRlZCB0byBtYWtlIHJlcXVl c3QgYnkgZGlzYWJsaW5nIHNhbWUtb3JpZ2luIHBvbGljeSB1c2luZyBuby1jb3JzIG1vZGUiKSwK KysJCQlNZXNzYWdlOiAgICAiRGlzYWJsaW5nIHNhbWUtb3JpZ2luIHJlc3RyaWN0aW9ucyBpcyBu b3QgYWxsb3dlZC4iLAorKwkJfSkKKysJCXJldHVybgorKwl9CisrCWlmIHIuSGVhZGVyLkdldCgi T3JpZ2luIikgPT0gIm51bGwiIHsKKysJCS8vIGJ1ZyBpbiBGaXJlZm94IGluIGNlcnRhaW4gY3Jv c3Mtb3JpZ2luIHNpdHVhdGlvbnMgKHlpa2VzPykKKysJCS8vIChub3Qgc3RyaWN0bHkgYSBzZWN1 cml0eSB2dWxuIG9uIGl0cyBvd24sIGJ1dCBpdCdzIHJlZCBmbGFnZ3ksCisrCQkvLyBzaW5jZSBp dCBzZWVtcyB0byBtYW5pZmVzdCBpbiBjcm9zcy1vcmlnaW4gY29udGV4dHMpCisrCQloLmhhbmRs ZUVycm9yKHcsIHIsIEFQSUVycm9yeworKwkJCUhUVFBTdGF0dXM6IGh0dHAuU3RhdHVzQmFkUmVx dWVzdCwKKysJCQlFcnI6ICAgICAgICBlcnJvcnMuTmV3KCJpbnZhbGlkIG9yaWdpbiAnbnVsbCci KSwKKysJCQlNZXNzYWdlOiAgICAiQnVnZ3kgYnJvd3NlciBpcyBzZW5kaW5nIG51bGwgT3JpZ2lu IGhlYWRlci4iLAorKwkJfSkKKysJfQorIAorIAlpZiBoLmVuZm9yY2VIb3N0IHsKKyAJCS8vIERO UyByZWJpbmRpbmcgbWl0aWdhdGlvbgoKZGlmZiAtLWdpdCBhLzAwMDctZml4LUZhc3RDR0ktc3Bs aXQtU0NSSVBUX05BTUUtUEFUSF9JTkZPLWNvbmZ1c2lvbi5wYXRjaCBiLzAwMDctZml4LUZhc3RD R0ktc3BsaXQtU0NSSVBUX05BTUUtUEFUSF9JTkZPLWNvbmZ1c2lvbi5wYXRjaApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YzM0MmM5Ci0tLSAvZGV2L251bGwKKysrIGIvMDAw Ny1maXgtRmFzdENHSS1zcGxpdC1TQ1JJUFRfTkFNRS1QQVRIX0lORk8tY29uZnVzaW9uLnBhdGNo CkBAIC0wLDAgKzEsNDE3IEBACitGcm9tIGM4NDBiZmFmNGE1ZjBjMTZiMmE1ODgwYTNiOTVmMzJk M2U4M2FlYmEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/Sz1DMz1B OXZpbj0yMER1bmdsYXM/PSA8a2V2aW5AZHVuZ2xhcy5mcj4KK0RhdGU6IFR1ZSwgMTAgRmViIDIw MjYgMTk6NTI6MzYgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gZml4OiBGYXN0Q0dJIHNwbGl0IFND UklQVF9OQU1FL1BBVEhfSU5GTyBjb25mdXNpb24KKworRml4ZXM6IENWRS0yMDI2LTI3NTkwCisK KyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDdjMjhjMGMwN2FjNzBhODk2MGExNjZjNzEyNjE1 MGE0MDhiYTc0NjQpCistLS0KKyAuLi4vY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zh c3RjZ2kuZ28gfCAgOTAgKysrKysrLQorIC4uLi9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dp X3Rlc3QuZ28gICAgICB8IDI0NiArKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQs IDMzMiBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIGNyZWF0ZSBtb2RlIDEwMDY0NCBt b2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28KKwor ZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zhc3Rj Z2kuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdv CitpbmRleCBkNDUxZGQzOC4uNTFkNGViYzIgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0 cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0 cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpLmdvCitAQCAtMTYsNiArMTYsNyBAQCBwYWNr YWdlIGZhc3RjZ2kKKyAKKyBpbXBvcnQgKAorIAkiY3J5cHRvL3RscyIKKysJImVycm9ycyIKKyAJ ImZtdCIKKyAJIm5ldCIKKyAJIm5ldC9odHRwIgorQEAgLTIzLDkgKzI0LDEyIEBAIGltcG9ydCAo CisgCSJzdHJjb252IgorIAkic3RyaW5ncyIKKyAJInRpbWUiCisrCSJ1bmljb2RlL3V0ZjgiCisg CisgCSJnby51YmVyLm9yZy96YXAiCisgCSJnby51YmVyLm9yZy96YXAvemFwY29yZSIKKysJImdv bGFuZy5vcmcveC90ZXh0L2xhbmd1YWdlIgorKwkiZ29sYW5nLm9yZy94L3RleHQvc2VhcmNoIgor IAorIAkiZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jYWRkeS92MiIKKyAJImdpdGh1Yi5jb20vY2Fk ZHlzZXJ2ZXIvY2FkZHkvdjIvbW9kdWxlcy9jYWRkeWh0dHAiCitAQCAtMzMsNyArMzcsMTEgQEAg aW1wb3J0ICgKKyAJImdpdGh1Yi5jb20vY2FkZHlzZXJ2ZXIvY2FkZHkvdjIvbW9kdWxlcy9jYWRk eXRscyIKKyApCisgCistdmFyIG5vb3BMb2dnZXIgPSB6YXAuTmV3Tm9wKCkKKyt2YXIgKAorKwlF cnJJbnZhbGlkU3BsaXRQYXRoID0gZXJyb3JzLk5ldygic3BsaXQgcGF0aCBjb250YWlucyBub24t QVNDSUkgY2hhcmFjdGVycyIpCisrCisrCW5vb3BMb2dnZXIgPSB6YXAuTmV3Tm9wKCkKKyspCisg CisgZnVuYyBpbml0KCkgeworIAljYWRkeS5SZWdpc3Rlck1vZHVsZShUcmFuc3BvcnR7fSkKK0BA IC01MCw2ICs1OCw5IEBAIHR5cGUgVHJhbnNwb3J0IHN0cnVjdCB7CisgCS8vIGFjdHVhbCByZXNv dXJjZSAoQ0dJIHNjcmlwdCkgbmFtZSwgYW5kIHRoZSBzZWNvbmQgcGllY2Ugd2lsbCBiZSBzZXQg dG8KKyAJLy8gUEFUSF9JTkZPIGZvciB0aGUgQ0dJIHNjcmlwdCB0byB1c2UuCisgCS8vCisrCS8v IFNwbGl0IHBhdGhzIGNhbiBvbmx5IGNvbnRhaW4gQVNDSUkgY2hhcmFjdGVycy4KKysJLy8gQ29t cGFyaXNvbiBpcyBjYXNlLWluc2Vuc2l0aXZlLgorKwkvLworIAkvLyBGdXR1cmUgZW5oYW5jZW1l bnRzIHNob3VsZCBiZSBjYXJlZnVsIHRvIGF2b2lkIENWRS0yMDE5LTExMDQzLAorIAkvLyB3aGlj aCBjYW4gYmUgbWl0aWdhdGVkIHdpdGggdXNlIG9mIGEgdHJ5X2ZpbGVzLWxpa2UgYmVoYXZpb3IK KyAJLy8gdGhhdCA0MDRzIGlmIHRoZSBmYXN0Y2dpIHBhdGggaW5mbyBpcyBub3QgZm91bmQuCitA QCAtMTA5LDYgKzEyMCwyOCBAQCBmdW5jICh0ICpUcmFuc3BvcnQpIFByb3Zpc2lvbihjdHggY2Fk ZHkuQ29udGV4dCkgZXJyb3IgeworIAkJdC5EaWFsVGltZW91dCA9IGNhZGR5LkR1cmF0aW9uKDMg KiB0aW1lLlNlY29uZCkKKyAJfQorIAorKwl2YXIgYiBzdHJpbmdzLkJ1aWxkZXIKKysKKysJZm9y IGksIHNwbGl0IDo9IHJhbmdlIHQuU3BsaXRQYXRoIHsKKysJCWIuR3JvdyhsZW4oc3BsaXQpKQor KworKwkJZm9yIGogOj0gMDsgaiA8IGxlbihzcGxpdCk7IGorKyB7CisrCQkJYyA6PSBzcGxpdFtq XQorKwkJCWlmIGMgPj0gdXRmOC5SdW5lU2VsZiB7CisrCQkJCXJldHVybiBFcnJJbnZhbGlkU3Bs aXRQYXRoCisrCQkJfQorKworKwkJCWlmICdBJyA8PSBjICYmIGMgPD0gJ1onIHsKKysJCQkJYi5X cml0ZUJ5dGUoYyArICdhJyAtICdBJykKKysJCQl9IGVsc2UgeworKwkJCQliLldyaXRlQnl0ZShj KQorKwkJCX0KKysJCX0KKysKKysJCXQuU3BsaXRQYXRoW2ldID0gYi5TdHJpbmcoKQorKwkJYi5S ZXNldCgpCisrCX0KKysKKyAJcmV0dXJuIG5pbAorIH0KKyAKK0BAIC0zNzEsOCArNDA0LDE1IEBA IGZ1bmMgKHQgVHJhbnNwb3J0KSBidWlsZEVudihyICpodHRwLlJlcXVlc3QpIChlbnZWYXJzLCBl cnJvcikgeworIAlyZXR1cm4gZW52LCBuaWwKKyB9CisgCisrdmFyIHNwbGl0U2VhcmNoTm9uQVND SUkgPSBzZWFyY2guTmV3KGxhbmd1YWdlLlVuZCwgc2VhcmNoLklnbm9yZUNhc2UpCisrCisgLy8g c3BsaXRQb3MgcmV0dXJucyB0aGUgaW5kZXggd2hlcmUgcGF0aCBzaG91bGQKKyAvLyBiZSBzcGxp dCBiYXNlZCBvbiB0LlNwbGl0UGF0aC4KKysvLworKy8vIGV4YW1wbGU6IGlmIHNwbGl0UGF0aCBp cyBbIi5waHAiXQorKy8vICIvcGF0aC90by9zY3JpcHQucGhwL3NvbWUvcGF0aCI6ICgiL3BhdGgv dG8vc2NyaXB0LnBocCIsICIvc29tZS9wYXRoIikKKysvLworKy8vIEFkYXB0ZWQgZnJvbSBGcmFu a2VuUEhQJ3MgY29kZSAoY29weXJpZ2h0IDIwMjYgS8OpdmluIER1bmdsYXMsIE1JVCBsaWNlbnNl KQorIGZ1bmMgKHQgVHJhbnNwb3J0KSBzcGxpdFBvcyhwYXRoIHN0cmluZykgaW50IHsKKyAJLy8g VE9ETzogZnJvbSB2MS4uLgorIAkvLyBpZiBodHRwc2VydmVyLkNhc2VTZW5zaXRpdmVQYXRoIHsK K0BAIC0zODIsMTIgKzQyMiw1NCBAQCBmdW5jICh0IFRyYW5zcG9ydCkgc3BsaXRQb3MocGF0aCBz dHJpbmcpIGludCB7CisgCQlyZXR1cm4gMAorIAl9CisgCistCWxvd2VyUGF0aCA6PSBzdHJpbmdz LlRvTG93ZXIocGF0aCkKKysJcGF0aExlbiA6PSBsZW4ocGF0aCkKKysKKysJLy8gV2UgYXJlIHN1 cmUgdGhhdCBzcGxpdCBzdHJpbmdzIGFyZSBhbGwgQVNDSUktb25seSBhbmQgbG93ZXItY2FzZSBi ZWNhdXNlIG9mIHZhbGlkYXRpb24gYW5kIG5vcm1hbGl6YXRpb24gaW4gUHJvdmlzaW9uKCkuCisg CWZvciBfLCBzcGxpdCA6PSByYW5nZSB0LlNwbGl0UGF0aCB7CistCQlpZiBpZHggOj0gc3RyaW5n cy5JbmRleChsb3dlclBhdGgsIHN0cmluZ3MuVG9Mb3dlcihzcGxpdCkpOyBpZHggPiAtMSB7Cist CQkJcmV0dXJuIGlkeCArIGxlbihzcGxpdCkKKysJCXNwbGl0TGVuIDo9IGxlbihzcGxpdCkKKysK KysJCWZvciBpIDo9IDA7IGkgPCBwYXRoTGVuOyBpKysgeworKwkJCWlmIHBhdGhbaV0gPj0gdXRm OC5SdW5lU2VsZiB7CisrCQkJCWlmIF8sIGVuZCA6PSBzcGxpdFNlYXJjaE5vbkFTQ0lJLkluZGV4 U3RyaW5nKHBhdGgsIHNwbGl0KTsgZW5kID4gLTEgeworKwkJCQkJcmV0dXJuIGVuZAorKwkJCQl9 CisrCisrCQkJCWJyZWFrCisrCQkJfQorKworKwkJCWlmIGkrc3BsaXRMZW4gPiBwYXRoTGVuIHsK KysJCQkJY29udGludWUKKysJCQl9CisrCisrCQkJbWF0Y2ggOj0gdHJ1ZQorKwkJCWZvciBqIDo9 IDA7IGogPCBzcGxpdExlbjsgaisrIHsKKysJCQkJYyA6PSBwYXRoW2kral0KKysKKysJCQkJaWYg YyA+PSB1dGY4LlJ1bmVTZWxmIHsKKysJCQkJCWlmIF8sIGVuZCA6PSBzcGxpdFNlYXJjaE5vbkFT Q0lJLkluZGV4U3RyaW5nKHBhdGgsIHNwbGl0KTsgZW5kID4gLTEgeworKwkJCQkJCXJldHVybiBl bmQKKysJCQkJCX0KKysKKysJCQkJCWJyZWFrCisrCQkJCX0KKysKKysJCQkJaWYgJ0EnIDw9IGMg JiYgYyA8PSAnWicgeworKwkJCQkJYyArPSAnYScgLSAnQScKKysJCQkJfQorKworKwkJCQlpZiBj ICE9IHNwbGl0W2pdIHsKKysJCQkJCW1hdGNoID0gZmFsc2UKKysKKysJCQkJCWJyZWFrCisrCQkJ CX0KKysJCQl9CisrCisrCQkJaWYgbWF0Y2ggeworKwkJCQlyZXR1cm4gaSArIHNwbGl0TGVuCisr CQkJfQorIAkJfQorIAl9CisrCisgCXJldHVybiAtMQorIH0KKyAKK2RpZmYgLS1naXQgYS9tb2R1 bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28gYi9tb2R1 bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZmFzdGNnaS9mYXN0Y2dpX3Rlc3QuZ28KK25ldyBm aWxlIG1vZGUgMTAwNjQ0CitpbmRleCAwMDAwMDAwMC4uNzA5N2ZmNzkKKy0tLSAvZGV2L251bGwK KysrKyBiL21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vwcm94eS9mYXN0Y2dpL2Zhc3RjZ2lfdGVz dC5nbworQEAgLTAsMCArMSwyNDYgQEAKKytwYWNrYWdlIGZhc3RjZ2kKKysKKytpbXBvcnQgKAor Kwkic3RyaW5ncyIKKysJInRlc3RpbmciCisrCisrCSJnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3Rp ZnkvYXNzZXJ0IgorKwkiZ2l0aHViLmNvbS9zdHJldGNoci90ZXN0aWZ5L3JlcXVpcmUiCisrCisr CSJnaXRodWIuY29tL2NhZGR5c2VydmVyL2NhZGR5L3YyIgorKykKKysKKytmdW5jIFRlc3RQcm92 aXNpb25TcGxpdFBhdGgodCAqdGVzdGluZy5UKSB7CisrCXRlc3RzIDo9IFtdc3RydWN0IHsKKysJ CW5hbWUgICAgICAgICAgc3RyaW5nCisrCQlzcGxpdFBhdGggICAgIFtdc3RyaW5nCisrCQl3YW50 RXJyICAgICAgIGVycm9yCisrCQl3YW50U3BsaXRQYXRoIFtdc3RyaW5nCisrCX17CisrCQl7Cisr CQkJbmFtZTogICAgICAgICAgInZhbGlkIGxvd2VyY2FzZSBzcGxpdCBwYXRoIiwKKysJCQlzcGxp dFBhdGg6ICAgICBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRFcnI6ICAgICAgIG5pbCwKKysJ CQl3YW50U3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJfSwKKysJCXsKKysJCQluYW1l OiAgICAgICAgICAidmFsaWQgdXBwZXJjYXNlIHNwbGl0IHBhdGggbm9ybWFsaXplZCIsCisrCQkJ c3BsaXRQYXRoOiAgICAgW11zdHJpbmd7Ii5QSFAifSwKKysJCQl3YW50RXJyOiAgICAgICBuaWws CisrCQkJd2FudFNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCX0sCisrCQl7CisrCQkJ bmFtZTogICAgICAgICAgInZhbGlkIG1peGVkIGNhc2Ugc3BsaXQgcGF0aCBub3JtYWxpemVkIiwK KysJCQlzcGxpdFBhdGg6ICAgICBbXXN0cmluZ3siLlBoUCIsICIuUEhUTUwifSwKKysJCQl3YW50 RXJyOiAgICAgICBuaWwsCisrCQkJd2FudFNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAiLCAiLnBo dG1sIn0sCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgICAgICJlbXB0eSBzcGxpdCBwYXRo IiwKKysJCQlzcGxpdFBhdGg6ICAgICBbXXN0cmluZ3t9LAorKwkJCXdhbnRFcnI6ICAgICAgIG5p bCwKKysJCQl3YW50U3BsaXRQYXRoOiBbXXN0cmluZ3t9LAorKwkJfSwKKysJCXsKKysJCQluYW1l OiAgICAgICJub24tQVNDSUkgY2hhcmFjdGVyIGluIHNwbGl0IHBhdGggcmVqZWN0ZWQiLAorKwkJ CXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAiLCAiLsi6cGhwIn0sCisrCQkJd2FudEVycjogICBF cnJJbnZhbGlkU3BsaXRQYXRoLAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAgICJ1bmljb2Rl IGNoYXJhY3RlciBpbiBzcGxpdCBwYXRoIHJlamVjdGVkIiwKKysJCQlzcGxpdFBhdGg6IFtdc3Ry aW5neyIucGhw4rGlIn0sCisrCQkJd2FudEVycjogICBFcnJJbnZhbGlkU3BsaXRQYXRoLAorKwkJ fSwKKysJfQorKworKwlmb3IgXywgdHQgOj0gcmFuZ2UgdGVzdHMgeworKwkJdC5SdW4odHQubmFt ZSwgZnVuYyh0ICp0ZXN0aW5nLlQpIHsKKysJCQl0ciA6PSBUcmFuc3BvcnR7U3BsaXRQYXRoOiB0 dC5zcGxpdFBhdGh9CisrCQkJZXJyIDo9IHRyLlByb3Zpc2lvbihjYWRkeS5Db250ZXh0e30pCisr CisrCQkJaWYgdHQud2FudEVyciAhPSBuaWwgeworKwkJCQlyZXF1aXJlLkVycm9ySXModCwgZXJy LCB0dC53YW50RXJyKQorKworKwkJCQlyZXR1cm4KKysJCQl9CisrCisrCQkJcmVxdWlyZS5Ob0Vy cm9yKHQsIGVycikKKysJCQlhc3NlcnQuRXF1YWwodCwgdHQud2FudFNwbGl0UGF0aCwgdHIuU3Bs aXRQYXRoKQorKwkJfSkKKysJfQorK30KKysKKytmdW5jIFRlc3RTcGxpdFBvcyh0ICp0ZXN0aW5n LlQpIHsKKysJdGVzdHMgOj0gW11zdHJ1Y3QgeworKwkJbmFtZSAgICAgIHN0cmluZworKwkJcGF0 aCAgICAgIHN0cmluZworKwkJc3BsaXRQYXRoIFtdc3RyaW5nCisrCQl3YW50UG9zICAgaW50Cisr CX17CisrCQl7CisrCQkJbmFtZTogICAgICAic2ltcGxlIHBocCBleHRlbnNpb24iLAorKwkJCXBh dGg6ICAgICAgIi9wYXRoL3RvL3NjcmlwdC5waHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7 Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE5LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAg ICJwaHAgZXh0ZW5zaW9uIHdpdGggcGF0aCBpbmZvIiwKKysJCQlwYXRoOiAgICAgICIvcGF0aC90 by9zY3JpcHQucGhwL3NvbWUvcGF0aCIsCisrCQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9 LAorKwkJCXdhbnRQb3M6ICAgMTksCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgImNhc2Ug aW5zZW5zaXRpdmUgbWF0Y2giLAorKwkJCXBhdGg6ICAgICAgIi9wYXRoL3RvL3NjcmlwdC5QSFAi LAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE5LAor KwkJfSwKKysJCXsKKysJCQluYW1lOiAgICAgICJtaXhlZCBjYXNlIG1hdGNoIiwKKysJCQlwYXRo OiAgICAgICIvcGF0aC90by9zY3JpcHQuUGhQL2luZm8iLAorKwkJCXNwbGl0UGF0aDogW11zdHJp bmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE5LAorKwkJfSwKKysJCXsKKysJCQluYW1lOiAg ICAgICJubyBtYXRjaCIsCisrCQkJcGF0aDogICAgICAiL3BhdGgvdG8vc2NyaXB0LnR4dCIsCisr CQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRQb3M6ICAgLTEsCisrCQl9 LAorKwkJeworKwkJCW5hbWU6ICAgICAgImVtcHR5IHNwbGl0IHBhdGgiLAorKwkJCXBhdGg6ICAg ICAgIi9wYXRoL3RvL3NjcmlwdC5waHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7fSwKKysJ CQl3YW50UG9zOiAgIDAsCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgIm11bHRpcGxlIHNw bGl0IHBhdGhzIGZpcnN0IG1hdGNoIiwKKysJCQlwYXRoOiAgICAgICIvcGF0aC90by9zY3JpcHQu cGhwIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIiwgIi5waHRtbCJ9LAorKwkJCXdh bnRQb3M6ICAgMTksCisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgIm11bHRpcGxlIHNwbGl0 IHBhdGhzIHNlY29uZCBtYXRjaCIsCisrCQkJcGF0aDogICAgICAiL3BhdGgvdG8vc2NyaXB0LnBo dG1sIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIiwgIi5waHRtbCJ9LAorKwkJCXdh bnRQb3M6ICAgMjEsCisrCQl9LAorKwkJLy8gVW5pY29kZSBjYXNlLWZvbGRpbmcgdGVzdHMgKHNl Y3VyaXR5IGZpeCBmb3IgR0hTQS1nOTY2LTgzdzctNnczOCkKKysJCS8vIFUrMDIzQSAoyLopIGxv d2VyY2FzZXMgdG8gVSsyQzY1ICjisaUpLCB3aGljaCBoYXMgZGlmZmVyZW50IFVURi04IGJ5dGUg bGVuZ3RoCisrCQkvLyDIujogMiBieXRlcyAoQzggQkEpLCDisaU6IDMgYnl0ZXMgKEUyIEIxIEE1 KQorKwkJeworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgcGF0aCB3aXRoIGNhc2UtZm9sZGluZyBs ZW5ndGggZXhwYW5zaW9uIiwKKysJCQlwYXRoOiAgICAgICIvyLrIusi6yLpzaGVsbC5waHAiLAor KwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE4LCAvLyBj b3JyZWN0IHBvc2l0aW9uIGluIG9yaWdpbmFsIHN0cmluZworKwkJfSwKKysJCXsKKysJCQluYW1l OiAgICAgICJ1bmljb2RlIHBhdGggd2l0aCBleHRlbnNpb24gYWZ0ZXIgZXhwYW5zaW9uIGNoYXJz IiwKKysJCQlwYXRoOiAgICAgICIvyLrIusi6yLpzaGVsbC5waHAvcGF0aC9pbmZvIiwKKysJCQlz cGxpdFBhdGg6IFtdc3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAxOCwKKysJCX0sCisr CQl7CisrCQkJbmFtZTogICAgICAidW5pY29kZSBpbiBmaWxlbmFtZSB3aXRoIG11bHRpcGxlIHBo cCBvY2N1cnJlbmNlcyIsCisrCQkJcGF0aDogICAgICAiL8i6yLrIusi6c2hlbGwucGhwLnR4dC5w aHAiLAorKwkJCXNwbGl0UGF0aDogW11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDE4 LCAvLyBzaG91bGQgbWF0Y2ggZmlyc3QgLnBocCwgbm90IGJlIGNvbmZ1c2VkIGJ5IGJ5dGUgb2Zm c2V0IHNoaWZ0CisrCQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgY2FzZSBpbnNl bnNpdGl2ZSBleHRlbnNpb24iLAorKwkJCXBhdGg6ICAgICAgIi/Iusi6yLrIunNoZWxsLlBIUCIs CisrCQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9LAorKwkJCXdhbnRQb3M6ICAgMTgsCisr CQl9LAorKwkJeworKwkJCW5hbWU6ICAgICAgInVuaWNvZGUgaW4gbWlkZGxlIG9mIHBhdGgiLAor KwkJCXBhdGg6ICAgICAgIi9wYXRoL8i6dGVzdC9zY3JpcHQucGhwIiwKKysJCQlzcGxpdFBhdGg6 IFtdc3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAyMywgLy8gyLogaXMgMiBieXRlcywg c28gcGF0aCBpcyAyMyBieXRlcyB0b3RhbCwgLnBocCBlbmRzIGF0IGJ5dGUgMjMKKysJCX0sCisr CQl7CisrCQkJbmFtZTogICAgICAidW5pY29kZSBvbmx5IGluIGRpcmVjdG9yeSBub3QgZmlsZW5h bWUiLAorKwkJCXBhdGg6ICAgICAgIi/Iui9zY3JpcHQucGhwIiwKKysJCQlzcGxpdFBhdGg6IFtd c3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAxNCwKKysJCX0sCisrCQkvLyBBZGRpdGlv bmFsIFVuaWNvZGUgY2hhcmFjdGVycyB0aGF0IGV4cGFuZCB3aGVuIGxvd2VyY2FzZWQKKysJCS8v IFUrMDEzMCAoxLAgLSBUdXJraXNoIGNhcGl0YWwgSSB3aXRoIGRvdCkgbG93ZXJjYXNlcyB0byBV KzAwNjkgKyBVKzAzMDcKKysJCXsKKysJCQluYW1lOiAgICAgICJ0dXJraXNoIGNhcGl0YWwgSSB3 aXRoIGRvdCIsCisrCQkJcGF0aDogICAgICAiL8SwdGVzdC5waHAiLAorKwkJCXNwbGl0UGF0aDog W11zdHJpbmd7Ii5waHAifSwKKysJCQl3YW50UG9zOiAgIDExLAorKwkJfSwKKysJCS8vIEVuc3Vy ZSBzdGFuZGFyZCBBU0NJSSBzdGlsbCB3b3JrcyBjb3JyZWN0bHkKKysJCXsKKysJCQluYW1lOiAg ICAgICJhc2NpaSBvbmx5IHBhdGggd2l0aCBjYXNlIHZhcmlhdGlvbiIsCisrCQkJcGF0aDogICAg ICAiL1BBVEgvVE8vU0NSSVBULlBIUC9JTkZPIiwKKysJCQlzcGxpdFBhdGg6IFtdc3RyaW5neyIu cGhwIn0sCisrCQkJd2FudFBvczogICAxOSwKKysJCX0sCisrCQl7CisrCQkJbmFtZTogICAgICAi cGF0aCBhdCByb290IiwKKysJCQlwYXRoOiAgICAgICIvaW5kZXgucGhwIiwKKysJCQlzcGxpdFBh dGg6IFtdc3RyaW5neyIucGhwIn0sCisrCQkJd2FudFBvczogICAxMCwKKysJCX0sCisrCQl7Cisr CQkJbmFtZTogICAgICAiZXh0ZW5zaW9uIGluIG1pZGRsZSBvZiBmaWxlbmFtZSIsCisrCQkJcGF0 aDogICAgICAiL3Rlc3QucGhwLmJhayIsCisrCQkJc3BsaXRQYXRoOiBbXXN0cmluZ3siLnBocCJ9 LAorKwkJCXdhbnRQb3M6ICAgOSwKKysJCX0sCisrCX0KKysKKysJZm9yIF8sIHR0IDo9IHJhbmdl IHRlc3RzIHsKKysJCXQuUnVuKHR0Lm5hbWUsIGZ1bmModCAqdGVzdGluZy5UKSB7CisrCQkJZ290 UG9zIDo9IFRyYW5zcG9ydHtTcGxpdFBhdGg6IHR0LnNwbGl0UGF0aH0uc3BsaXRQb3ModHQucGF0 aCkKKysJCQlhc3NlcnQuRXF1YWwodCwgdHQud2FudFBvcywgZ290UG9zLCAic3BsaXRQb3MoJXEs ICV2KSIsIHR0LnBhdGgsIHR0LnNwbGl0UGF0aCkKKysKKysJCQkvLyBWZXJpZnkgdGhhdCB0aGUg c3BsaXQgcHJvZHVjZXMgdmFsaWQgc3Vic3RyaW5ncworKwkJCWlmIGdvdFBvcyA+IDAgJiYgZ290 UG9zIDw9IGxlbih0dC5wYXRoKSB7CisrCQkJCXNjcmlwdE5hbWUgOj0gdHQucGF0aFs6Z290UG9z XQorKwkJCQlwYXRoSW5mbyA6PSB0dC5wYXRoW2dvdFBvczpdCisrCisrCQkJCS8vIFRoZSBzY3Jp cHQgbmFtZSBzaG91bGQgZW5kIHdpdGggb25lIG9mIHRoZSBzcGxpdCBleHRlbnNpb25zIChjYXNl LWluc2Vuc2l0aXZlKQorKwkJCQloYXNWYWxpZEVuZGluZyA6PSBmYWxzZQorKwkJCQlmb3IgXywg c3BsaXQgOj0gcmFuZ2UgdHQuc3BsaXRQYXRoIHsKKysJCQkJCWlmIHN0cmluZ3MuSGFzU3VmZml4 KHN0cmluZ3MuVG9Mb3dlcihzY3JpcHROYW1lKSwgc3BsaXQpIHsKKysJCQkJCQloYXNWYWxpZEVu ZGluZyA9IHRydWUKKysJCQkJCQlicmVhaworKwkJCQkJfQorKwkJCQl9CisrCQkJCWFzc2VydC5U cnVlKHQsIGhhc1ZhbGlkRW5kaW5nLCAic2NyaXB0IG5hbWUgJXEgc2hvdWxkIGVuZCB3aXRoIG9u ZSBvZiAldiIsIHNjcmlwdE5hbWUsIHR0LnNwbGl0UGF0aCkKKysKKysJCQkJLy8gT3JpZ2luYWwg cGF0aCBzaG91bGQgYmUgcmVjb25zdHJ1Y3RhYmxlCisrCQkJCWFzc2VydC5FcXVhbCh0LCB0dC5w YXRoLCBzY3JpcHROYW1lK3BhdGhJbmZvLCAicGF0aCBzaG91bGQgYmUgcmVjb25zdHJ1Y3RhYmxl IGZyb20gc3BsaXQgcGFydHMiKQorKwkJCX0KKysJCX0pCisrCX0KKyt9CisrCisrLy8gVGVzdFNw bGl0UG9zVW5pY29kZVNlY3VyaXR5UmVncmVzc2lvbiBzcGVjaWZpY2FsbHkgdGVzdHMgdGhlIHZ1 bG5lcmFiaWxpdHkKKysvLyBkZXNjcmliZWQgaW4gR0hTQS1nOTY2LTgzdzctNnczOCB3aGVyZSBV bmljb2RlIGNhc2UtZm9sZGluZyBjYXVzZWQKKysvLyBpbmNvcnJlY3QgU0NSSVBUX05BTUUvUEFU SF9JTkZPIHNwbGl0dGluZworK2Z1bmMgVGVzdFNwbGl0UG9zVW5pY29kZVNlY3VyaXR5UmVncmVz c2lvbih0ICp0ZXN0aW5nLlQpIHsKKysJLy8gVSswMjNBOiDIuiAoVVRGLTg6IEM4IEJBKS4gTG93 ZXJjYXNlIGlzIOKxpSAoVVRGLTg6IEUyIEIxIEE1KSwgbG9uZ2VyIGluIGJ5dGVzLgorKwlwYXRo IDo9ICIvyLrIusi6yLpzaGVsbC5waHAudHh0LnBocCIKKysJc3BsaXQgOj0gW11zdHJpbmd7Ii5w aHAifQorKworKwlwb3MgOj0gVHJhbnNwb3J0e1NwbGl0UGF0aDogc3BsaXR9LnNwbGl0UG9zKHBh dGgpCisrCisrCS8vIFRoZSB2dWxuZXJhYmxlIGNvZGUgd291bGQgcmV0dXJuIDIyIChjb21wdXRl ZCBvbiBsb3dlcmNhc2VkIHN0cmluZykKKysJLy8gVGhlIGNvcnJlY3QgY29kZSBzaG91bGQgcmV0 dXJuIDE4IChwb3NpdGlvbiBpbiBvcmlnaW5hbCBzdHJpbmcpCisrCWV4cGVjdGVkUG9zIDo9IHN0 cmluZ3MuSW5kZXgocGF0aCwgIi5waHAiKSArIGxlbigiLnBocCIpCisrCWFzc2VydC5FcXVhbCh0 LCBleHBlY3RlZFBvcywgcG9zLCAic3BsaXQgcG9zaXRpb24gc2hvdWxkIG1hdGNoIGZpcnN0IC5w aHAgaW4gb3JpZ2luYWwgc3RyaW5nIikKKysJYXNzZXJ0LkVxdWFsKHQsIDE4LCBwb3MsICJzcGxp dCBwb3NpdGlvbiBzaG91bGQgYmUgMTgsIG5vdCAyMiIpCisrCisrCWlmIHBvcyA+IDAgJiYgcG9z IDw9IGxlbihwYXRoKSB7CisrCQlzY3JpcHROYW1lIDo9IHBhdGhbOnBvc10KKysJCXBhdGhJbmZv IDo9IHBhdGhbcG9zOl0KKysKKysJCWFzc2VydC5FcXVhbCh0LCAiL8i6yLrIusi6c2hlbGwucGhw Iiwgc2NyaXB0TmFtZSwgInNjcmlwdCBuYW1lIHNob3VsZCBiZSB0aGUgcGF0aCB1cCB0byBmaXJz dCAucGhwIikKKysJCWFzc2VydC5FcXVhbCh0LCAiLnR4dC5waHAiLCBwYXRoSW5mbywgInBhdGgg aW5mbyBzaG91bGQgYmUgdGhlIHJlbWFpbmRlciBhZnRlciBmaXJzdCAucGhwIikKKysJfQorK30K CmRpZmYgLS1naXQgYS8wMDA4LWZvcndhcmRfYXV0aC1jb3B5X2hlYWRlcnMtZG9lcy1ub3Qtc3Ry aXAtY2xpZW50LXN1cHBsaWVkLWlkZW50aXR5LWhlYWRlcnMtNzU0NS5wYXRjaCBiLzAwMDgtZm9y d2FyZF9hdXRoLWNvcHlfaGVhZGVycy1kb2VzLW5vdC1zdHJpcC1jbGllbnQtc3VwcGxpZWQtaWRl bnRpdHktaGVhZGVycy03NTQ1LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjZjY2MwOTMKLS0tIC9kZXYvbnVsbAorKysgYi8wMDA4LWZvcndhcmRfYXV0aC1jb3B5X2hl YWRlcnMtZG9lcy1ub3Qtc3RyaXAtY2xpZW50LXN1cHBsaWVkLWlkZW50aXR5LWhlYWRlcnMtNzU0 NS5wYXRjaApAQCAtMCwwICsxLDYzMCBAQAorRnJvbSAyNGRkNzAyNmVjMWE2ZmVjN2ZmZTQ0N2Y5 NjllMWQyZGQxMWQ1MTkzIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogbmV3a2xlaSA8 MTA1NjMyMTE5K051Y2xlaUF2QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KK0RhdGU6IFR1ZSwg MyBNYXIgMjAyNiAyMzozMDo0OSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBmb3J3YXJkX2F1dGg6 IGBjb3B5X2hlYWRlcnNgIGRvZXMgbm90IHN0cmlwIGNsaWVudC1zdXBwbGllZAorIGlkZW50aXR5 IGhlYWRlcnMgKCM3NTQ1KQorCitXaGVuIHVzaW5nIGNvcHlfaGVhZGVycyBpbiBhIGZvcndhcmRf YXV0aCBibG9jaywgY2xpZW50LXN1cHBsaWVkIGhlYWRlcnMgd2l0aAordGhlIHNhbWUgbmFtZXMg d2VyZSBub3QgYmVpbmcgcmVtb3ZlZCBiZWZvcmUgYmVpbmcgZm9yd2FyZGVkIHRvIHRoZSBiYWNr ZW5kLgorCitUaGlzIGhhcHBlbnMgYmVjYXVzZSBQUiAjNjYwOCBhZGRlZCBhIE1hdGNoTm90IGd1 YXJkIHRoYXQgc2tpcHMgdGhlIFNldAorb3BlcmF0aW9uIHdoZW4gdGhlIGF1dGggc2VydmljZSBk b2VzIG5vdCByZXR1cm4gYSBnaXZlbiBoZWFkZXIuIFRoYXQgZ3VhcmQKK3ByZXZlbnRzIHNldHRp bmcgaGVhZGVycyB0byBlbXB0eSBzdHJpbmdzLCB3aGljaCBpcyB0aGUgY29ycmVjdCBiZWhhdmlv ciwKK2J1dCBpdCBhbHNvIG1lYW5zIGEgY2xpZW50IGNhbiBzZW5kIFgtVXNlci1JZDogYWRtaW4g aW4gdGhlaXIgcmVxdWVzdCBhbmQKK2lmIHRoZSBhdXRoIHNlcnZpY2UgdmFsaWRhdGVzIHRoZSB0 b2tlbiB3aXRob3V0IHJldHVybmluZyBYLVVzZXItSWQsIENhZGR5Citza2lwcyB0aGUgU2V0IGFu ZCB0aGUgY2xpZW50IHZhbHVlIHBhc3NlcyB0aHJvdWdoIHVuY2hhbmdlZCB0byB0aGUgYmFja2Vu ZC4KKworVGhlIGZpeCBhZGRzIGFuIHVuY29uZGl0aW9uYWwgZGVsZXRlIHJvdXRlIGZvciBlYWNo IGNvcHlfaGVhZGVycyBlbnRyeSwKK3BsYWNlZCBqdXN0IGJlZm9yZSB0aGUgZXhpc3RpbmcgY29u ZGl0aW9uYWwgc2V0IHJvdXRlLiBUaGUgZGVsZXRlIGFsd2F5cyBydW5zCityZWdhcmRsZXNzIG9m IHdoYXQgdGhlIGF1dGggc2VydmljZSByZXR1cm5zLiBUaGUgY29uZGl0aW9uYWwgc2V0IHN0aWxs IG9ubHkKK3J1bnMgd2hlbiB0aGUgYXV0aCBzZXJ2aWNlIHByb3ZpZGVzIHRoYXQgaGVhZGVyLgor CitUaGUgZW5kIHJlc3VsdCBpczoKKyAgLSBDbGllbnQtc3VwcGxpZWQgaGVhZGVycyBhcmUgYWx3 YXlzIHJlbW92ZWQKKyAgLSBXaGVuIHRoZSBhdXRoIHNlcnZpY2UgcmV0dXJucyB0aGUgaGVhZGVy LCB0aGUgYmFja2VuZCBnZXRzIHRoYXQgdmFsdWUKKyAgLSBXaGVuIHRoZSBhdXRoIHNlcnZpY2Ug ZG9lcyBub3QgcmV0dXJuIHRoZSBoZWFkZXIsIHRoZSBiYWNrZW5kIHNlZXMgbm90aGluZworCitF eGlzdGluZyBiZWhhdmlvciBpcyB1bmNoYW5nZWQgZm9yIGFueSBkZXBsb3ltZW50IHdoZXJlIHRo ZSBhdXRoIHNlcnZpY2UKK3JldHVybnMgYWxsIG9mIHRoZSBjb25maWd1cmVkIGNvcHlfaGVhZGVy cyBlbnRyaWVzLgorCitGaXhlczogR0hTQS03cjRwLXZqZjQtZ3h2NAorRml4ZXM6IENWRS0yMDI2 LTMwODUxCisKKyhjaGVycnkgcGlja2VkIGZyb20gY29tbWl0IDJkYmNkZWZiYmVlNjhlN2I0YTMx YWM2NjM2MWEwZjRlM2JjZDJlZWEpCistLS0KKyAuLi4vZm9yd2FyZF9hdXRoX2F1dGhlbGlhLmNh ZGR5ZmlsZXRlc3QgICAgICAgfCAgNTAgKysrKy0KKyAuLi53YXJkX2F1dGhfY29weV9oZWFkZXJz X3N0cmlwLmNhZGR5ZmlsZXRlc3QgfCAxNDYgKysrKysrKysrKysrKworIC4uLi9mb3J3YXJkX2F1 dGhfcmVuYW1lX2hlYWRlcnMuY2FkZHlmaWxldGVzdCB8ICA2MiArKysrKy0KKyBjYWRkeXRlc3Qv aW50ZWdyYXRpb24vZm9yd2FyZGF1dGhfdGVzdC5nbyAgICAgfCAyMDYgKysrKysrKysrKysrKysr KysrCisgLi4uL3JldmVyc2Vwcm94eS9mb3J3YXJkYXV0aC9jYWRkeWZpbGUuZ28gICAgIHwgIDE4 ICsrCisgNSBmaWxlcyBjaGFuZ2VkLCA0ODAgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK KyBjcmVhdGUgbW9kZSAxMDA2NDQgY2FkZHl0ZXN0L2ludGVncmF0aW9uL2NhZGR5ZmlsZV9hZGFw dC9mb3J3YXJkX2F1dGhfY29weV9oZWFkZXJzX3N0cmlwLmNhZGR5ZmlsZXRlc3QKKyBjcmVhdGUg bW9kZSAxMDA2NDQgY2FkZHl0ZXN0L2ludGVncmF0aW9uL2ZvcndhcmRhdXRoX3Rlc3QuZ28KKwor ZGlmZiAtLWdpdCBhL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2Fy ZF9hdXRoX2F1dGhlbGlhLmNhZGR5ZmlsZXRlc3QgYi9jYWRkeXRlc3QvaW50ZWdyYXRpb24vY2Fk ZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxpYS5jYWRkeWZpbGV0ZXN0CitpbmRleCAy NDBiZGM2Mi4uODMxZDdkMmYgMTAwNjQ0CistLS0gYS9jYWRkeXRlc3QvaW50ZWdyYXRpb24vY2Fk ZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxpYS5jYWRkeWZpbGV0ZXN0CisrKysgYi9j YWRkeXRlc3QvaW50ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9hdXRoZWxp YS5jYWRkeWZpbGV0ZXN0CitAQCAtNDYsNiArNDYsMTggQEAgYXBwLmV4YW1wbGUuY29tIHsKKyAJ CQkJCQkJCQkJCQkJCQkJCQl9CisgCQkJCQkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJCQkJ CX0sCisrCQkJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisr CQkJCQkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFk ZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkJCQkJInJlcXVlc3QiOiB7CisrCQkJCQkJCQkJCQkJCQkJ CQkJCQkiZGVsZXRlIjogWworKwkJCQkJCQkJCQkJCQkJCQkJCQkJCSJSZW1vdGUtRW1haWwiCisr CQkJCQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJ CQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0sCisgCQkJ CQkJCQkJCQkJCQkJCXsKKyAJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJ CQkJCQkJCQkJeworQEAgLTczLDYgKzg1LDE4IEBAIGFwcC5leGFtcGxlLmNvbSB7CisgCQkJCQkJ CQkJCQkJCQkJCQkJfQorIAkJCQkJCQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCQkJCQl9LAor KwkJCQkJCQkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJ CQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIs CisrCQkJCQkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJCQkJCQkJ ImRlbGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCQkJCQkiUmVtb3RlLUdyb3VwcyIKKysJCQkJ CQkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJ CQkJCX0KKysJCQkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJfSwKKyAJCQkJCQkJ CQkJCQkJCQkJeworIAkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsKKyAJCQkJCQkJCQkJCQkJ CQkJCQl7CitAQCAtMTAwLDYgKzEyNCwxOCBAQCBhcHAuZXhhbXBsZS5jb20geworIAkJCQkJCQkJ CQkJCQkJCQkJCX0KKyAJCQkJCQkJCQkJCQkJCQkJCV0KKyAJCQkJCQkJCQkJCQkJCQkJfSwKKysJ CQkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsKKysJCQkJCQkJ CQkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGVyIjogImhlYWRlcnMiLAor KwkJCQkJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCQkJCSJk ZWxldGUiOiBbCisrCQkJCQkJCQkJCQkJCQkJCQkJCQkJIlJlbW90ZS1OYW1lIgorKwkJCQkJCQkJ CQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQkJCQkJ fQorKwkJCQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCQl9LAorIAkJCQkJCQkJCQkJ CQkJCQl7CisgCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJCQkJ CXsKK0BAIC0xMjcsNiArMTYzLDE4IEBAIGFwcC5leGFtcGxlLmNvbSB7CisgCQkJCQkJCQkJCQkJ CQkJCQkJfQorIAkJCQkJCQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCQkJCQl9LAorKwkJCQkJ CQkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJ CQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJ CQkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJCQkJCQkJImRlbGV0 ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCQkJCQkiUmVtb3RlLVVzZXIiCisrCQkJCQkJCQkJCQkJ CQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQkJCQl9Cisr CQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJCQkJ CXsKKyAJCQkJCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJCQkJCQkJCQkJewor QEAgLTIwMCw0ICsyNDgsNCBAQCBhcHAuZXhhbXBsZS5jb20geworIAkJCX0KKyAJCX0KKyAJfQor LX0KK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorK30KK2RpZmYgLS1naXQgYS9jYWRkeXRl c3QvaW50ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9jb3B5X2hlYWRlcnNf c3RyaXAuY2FkZHlmaWxldGVzdCBiL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRh cHQvZm9yd2FyZF9hdXRoX2NvcHlfaGVhZGVyc19zdHJpcC5jYWRkeWZpbGV0ZXN0CituZXcgZmls ZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMDAuLjg4N2JlZjBhCistLS0gL2Rldi9udWxsCisr KysgYi9jYWRkeXRlc3QvaW50ZWdyYXRpb24vY2FkZHlmaWxlX2FkYXB0L2ZvcndhcmRfYXV0aF9j b3B5X2hlYWRlcnNfc3RyaXAuY2FkZHlmaWxldGVzdAorQEAgLTAsMCArMSwxNDYgQEAKKys6ODA4 MAorKworK2ZvcndhcmRfYXV0aCAxMjcuMC4wLjE6OTA5MSB7CisrCXVyaSAvCisrCWNvcHlfaGVh ZGVycyBYLVVzZXItSWQgWC1Vc2VyLVJvbGUKKyt9CisrLS0tLS0tLS0tLQorK3sKKysJImFwcHMi OiB7CisrCQkiaHR0cCI6IHsKKysJCQkic2VydmVycyI6IHsKKysJCQkJInNydjAiOiB7CisrCQkJ CQkibGlzdGVuIjogWworKwkJCQkJCSI6ODA4MCIKKysJCQkJCV0sCisrCQkJCQkicm91dGVzIjog WworKwkJCQkJCXsKKysJCQkJCQkJImhhbmRsZSI6IFsKKysJCQkJCQkJCXsKKysJCQkJCQkJCQki aGFuZGxlX3Jlc3BvbnNlIjogWworKwkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkibWF0Y2giOiB7 CisrCQkJCQkJCQkJCQkJInN0YXR1c19jb2RlIjogWworKwkJCQkJCQkJCQkJCQkyCisrCQkJCQkJ CQkJCQkJXQorKwkJCQkJCQkJCQkJfSwKKysJCQkJCQkJCQkJCSJyb3V0ZXMiOiBbCisrCQkJCQkJ CQkJCQkJeworKwkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJ CQkJCQkJCQkJCQkJCSJoYW5kbGVyIjogInZhcnMiCisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCV0KKysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJ ImhhbmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6 ICJoZWFkZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJ CQkJImRlbGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItSWQiCisrCQkJCQkJCQkJ CQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJ CQkJCV0KKysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhh bmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJo ZWFkZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJ InNldCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItSWQiOiBbCisrCQkJCQkJCQkJCQkJ CQkJCQkJIntodHRwLnJldmVyc2VfcHJveHkuaGVhZGVyLlgtVXNlci1JZH0iCisrCQkJCQkJCQkJ CQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCV0sCisrCQkJCQkJCQkJCQkJCSJtYXRjaCI6IFsKKysJ CQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkibm90IjogWworKwkJCQkJCQkJCQkJCQkJ CQl7CisrCQkJCQkJCQkJCQkJCQkJCQkidmFycyI6IHsKKysJCQkJCQkJCQkJCQkJCQkJCQkie2h0 dHAucmV2ZXJzZV9wcm94eS5oZWFkZXIuWC1Vc2VyLUlkfSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJ CQkJIiIKKysJCQkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCV0KKysJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJ ImhhbmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6 ICJoZWFkZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJ CQkJImRlbGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJYLVVzZXItUm9sZSIKKysJCQkJCQkJ CQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJ CQkJCQkJXQorKwkJCQkJCQkJCQkJCX0sCisrCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQki aGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJCSJoYW5kbGVyIjog ImhlYWRlcnMiLAorKwkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJCQkJCQkJCQkJ CQkic2V0IjogeworKwkJCQkJCQkJCQkJCQkJCQkJIlgtVXNlci1Sb2xlIjogWworKwkJCQkJCQkJ CQkJCQkJCQkJCSJ7aHR0cC5yZXZlcnNlX3Byb3h5LmhlYWRlci5YLVVzZXItUm9sZX0iCisrCQkJ CQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJCQl9Cisr CQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCV0sCisrCQkJCQkJCQkJCQkJCSJtYXRjaCI6 IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkibm90IjogWworKwkJCQkJCQkJ CQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCQkJCQkidmFycyI6IHsKKysJCQkJCQkJCQkJCQkJCQkJ CQkie2h0dHAucmV2ZXJzZV9wcm94eS5oZWFkZXIuWC1Vc2VyLVJvbGV9IjogWworKwkJCQkJCQkJ CQkJCQkJCQkJCQkiIgorKwkJCQkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQkJCX0K KysJCQkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCX0K KysJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJCV0KKysJCQkJCQkJ CQkJfQorKwkJCQkJCQkJCV0sCisrCQkJCQkJCQkJImhhbmRsZXIiOiAicmV2ZXJzZV9wcm94eSIs CisrCQkJCQkJCQkJImhlYWRlcnMiOiB7CisrCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJCQkJ CQkJCQkJInNldCI6IHsKKysJCQkJCQkJCQkJCQkiWC1Gb3J3YXJkZWQtTWV0aG9kIjogWworKwkJ CQkJCQkJCQkJCQkie2h0dHAucmVxdWVzdC5tZXRob2R9IgorKwkJCQkJCQkJCQkJCV0sCisrCQkJ CQkJCQkJCQkJIlgtRm9yd2FyZGVkLVVyaSI6IFsKKysJCQkJCQkJCQkJCQkJIntodHRwLnJlcXVl c3QudXJpfSIKKysJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCX0KKysJ CQkJCQkJCQl9LAorKwkJCQkJCQkJCSJyZXdyaXRlIjogeworKwkJCQkJCQkJCQkibWV0aG9kIjog IkdFVCIsCisrCQkJCQkJCQkJCSJ1cmkiOiAiLyIKKysJCQkJCQkJCQl9LAorKwkJCQkJCQkJCSJ1 cHN0cmVhbXMiOiBbCisrCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCSJkaWFsIjogIjEyNy4wLjAu MTo5MDkxIgorKwkJCQkJCQkJCQl9CisrCQkJCQkJCQkJXQorKwkJCQkJCQkJfQorKwkJCQkJCQld CisrCQkJCQkJfQorKwkJCQkJXQorKwkJCQl9CisrCQkJfQorKwkJfQorKwl9CisrfQorXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC0tZ2l0IGEvY2FkZHl0ZXN0L2ludGVncmF0aW9u L2NhZGR5ZmlsZV9hZGFwdC9mb3J3YXJkX2F1dGhfcmVuYW1lX2hlYWRlcnMuY2FkZHlmaWxldGVz dCBiL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRoX3Jl bmFtZV9oZWFkZXJzLmNhZGR5ZmlsZXRlc3QKK2luZGV4IGMyYmUyZWQ0Li41ZDYxZTVmZiAxMDA2 NDQKKy0tLSBhL2NhZGR5dGVzdC9pbnRlZ3JhdGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9h dXRoX3JlbmFtZV9oZWFkZXJzLmNhZGR5ZmlsZXRlc3QKKysrKyBiL2NhZGR5dGVzdC9pbnRlZ3Jh dGlvbi9jYWRkeWZpbGVfYWRhcHQvZm9yd2FyZF9hdXRoX3JlbmFtZV9oZWFkZXJzLmNhZGR5Zmls ZXRlc3QKK0BAIC0zNSw2ICszNSwxOCBAQCBmb3J3YXJkX2F1dGggbG9jYWxob3N0OjkwMDAgewor IAkJCQkJCQkJCQkJCQkJfQorIAkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJfSwKKysJCQkJ CQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisrCQkJCQkJCQkJCQkJCQl7Cisr CQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJCQkJCQkJCQkJCQkJInJl cXVlc3QiOiB7CisrCQkJCQkJCQkJCQkJCQkJCSJkZWxldGUiOiBbCisrCQkJCQkJCQkJCQkJCQkJ CQkiMSIKKysJCQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJCQkJ CQkJCX0KKysJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJewor IAkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJeworQEAgLTYyLDYgKzc0 LDE4IEBAIGZvcndhcmRfYXV0aCBsb2NhbGhvc3Q6OTAwMCB7CisgCQkJCQkJCQkJCQkJCQl9Cisg CQkJCQkJCQkJCQkJCV0KKyAJCQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJ CQkJCQkJImhhbmRsZSI6IFsKKysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFu ZGxlciI6ICJoZWFkZXJzIiwKKysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJ CQkJCQkJCQkJImRlbGV0ZSI6IFsKKysJCQkJCQkJCQkJCQkJCQkJCSJCIgorKwkJCQkJCQkJCQkJ CQkJCQldCisrCQkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJ CQldCisrCQkJCQkJCQkJCQkJfSwKKyAJCQkJCQkJCQkJCQl7CisgCQkJCQkJCQkJCQkJCSJoYW5k bGUiOiBbCisgCQkJCQkJCQkJCQkJCQl7CitAQCAtODksNiArMTEzLDE4IEBAIGZvcndhcmRfYXV0 aCBsb2NhbGhvc3Q6OTAwMCB7CisgCQkJCQkJCQkJCQkJCQl9CisgCQkJCQkJCQkJCQkJCV0KKyAJ CQkJCQkJCQkJCQl9LAorKwkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJImhhbmRsZSI6IFsK KysJCQkJCQkJCQkJCQkJCXsKKysJCQkJCQkJCQkJCQkJCQkiaGFuZGxlciI6ICJoZWFkZXJzIiwK KysJCQkJCQkJCQkJCQkJCQkicmVxdWVzdCI6IHsKKysJCQkJCQkJCQkJCQkJCQkJImRlbGV0ZSI6 IFsKKysJCQkJCQkJCQkJCQkJCQkJCSIzIgorKwkJCQkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJ CQkJCQkJfQorKwkJCQkJCQkJCQkJCQkJfQorKwkJCQkJCQkJCQkJCQldCisrCQkJCQkJCQkJCQkJ fSwKKyAJCQkJCQkJCQkJCQl7CisgCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisgCQkJCQkJCQkJ CQkJCQl7CitAQCAtMTE2LDYgKzE1MiwxOCBAQCBmb3J3YXJkX2F1dGggbG9jYWxob3N0OjkwMDAg eworIAkJCQkJCQkJCQkJCQkJfQorIAkJCQkJCQkJCQkJCQldCisgCQkJCQkJCQkJCQkJfSwKKysJ CQkJCQkJCQkJCQl7CisrCQkJCQkJCQkJCQkJCSJoYW5kbGUiOiBbCisrCQkJCQkJCQkJCQkJCQl7 CisrCQkJCQkJCQkJCQkJCQkJImhhbmRsZXIiOiAiaGVhZGVycyIsCisrCQkJCQkJCQkJCQkJCQkJ InJlcXVlc3QiOiB7CisrCQkJCQkJCQkJCQkJCQkJCSJkZWxldGUiOiBbCisrCQkJCQkJCQkJCQkJ CQkJCQkiRCIKKysJCQkJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCQkJCX0KKysJCQkJCQkJ CQkJCQkJCX0KKysJCQkJCQkJCQkJCQkJXQorKwkJCQkJCQkJCQkJCX0sCisgCQkJCQkJCQkJCQkJ eworIAkJCQkJCQkJCQkJCQkiaGFuZGxlIjogWworIAkJCQkJCQkJCQkJCQkJeworQEAgLTE0Myw2 ICsxOTEsMTggQEAgZm9yd2FyZF9hdXRoIGxvY2FsaG9zdDo5MDAwIHsKKyAJCQkJCQkJCQkJCQkJ CX0KKyAJCQkJCQkJCQkJCQkJXQorIAkJCQkJCQkJCQkJCX0sCisrCQkJCQkJCQkJCQkJeworKwkJ CQkJCQkJCQkJCQkiaGFuZGxlIjogWworKwkJCQkJCQkJCQkJCQkJeworKwkJCQkJCQkJCQkJCQkJ CSJoYW5kbGVyIjogImhlYWRlcnMiLAorKwkJCQkJCQkJCQkJCQkJCSJyZXF1ZXN0IjogeworKwkJ CQkJCQkJCQkJCQkJCQkiZGVsZXRlIjogWworKwkJCQkJCQkJCQkJCQkJCQkJIjUiCisrCQkJCQkJ CQkJCQkJCQkJCV0KKysJCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJCQkJCQkJCQl9CisrCQkJCQkJ CQkJCQkJCV0KKysJCQkJCQkJCQkJCQl9LAorIAkJCQkJCQkJCQkJCXsKKyAJCQkJCQkJCQkJCQkJ ImhhbmRsZSI6IFsKKyAJCQkJCQkJCQkJCQkJCXsKK0BAIC0yMDMsNCArMjYzLDQgQEAgZm9yd2Fy ZF9hdXRoIGxvY2FsaG9zdDo5MDAwIHsKKyAJCQl9CisgCQl9CisgCX0KKy19CitcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKKyt9CitkaWZmIC0tZ2l0IGEvY2FkZHl0ZXN0L2ludGVncmF0aW9u L2ZvcndhcmRhdXRoX3Rlc3QuZ28gYi9jYWRkeXRlc3QvaW50ZWdyYXRpb24vZm9yd2FyZGF1dGhf dGVzdC5nbworbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAwLi5kMGVjYzJiZQor LS0tIC9kZXYvbnVsbAorKysrIGIvY2FkZHl0ZXN0L2ludGVncmF0aW9uL2ZvcndhcmRhdXRoX3Rl c3QuZ28KK0BAIC0wLDAgKzEsMjA2IEBACisrLy8gQ29weXJpZ2h0IDIwMTUgTWF0dGhldyBIb2x0 IGFuZCBUaGUgQ2FkZHkgQXV0aG9ycworKy8vCisrLy8gTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNo ZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlICJMaWNlbnNlIik7CisrLy8geW91IG1heSBub3Qg dXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgorKy8v IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorKy8vCisrLy8gICAgIGh0 dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorKy8vCisrLy8gVW5sZXNz IHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0 d2FyZQorKy8vIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9u IGFuICJBUyBJUyIgQkFTSVMsCisrLy8gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMg T0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuCisrLy8gU2VlIHRoZSBMaWNl bnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAor Ky8vIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgorKworK3BhY2thZ2UgaW50ZWdyYXRp b24KKysKKytpbXBvcnQgKAorKwkiZm10IgorKwkibmV0L2h0dHAiCisrCSJuZXQvaHR0cC9odHRw dGVzdCIKKysJInN0cmluZ3MiCisrCSJzeW5jIgorKwkidGVzdGluZyIKKysKKysJImdpdGh1Yi5j b20vY2FkZHlzZXJ2ZXIvY2FkZHkvdjIvY2FkZHl0ZXN0IgorKykKKysKKysvLyBUZXN0Rm9yd2Fy ZEF1dGhDb3B5SGVhZGVyc1N0cmlwc0NsaWVudEhlYWRlcnMgaXMgYSByZWdyZXNzaW9uIHRlc3Qg Zm9yIHRoZQorKy8vIGhlYWRlciBpbmplY3Rpb24gdnVsbmVyYWJpbGl0eSBpbiBmb3J3YXJkX2F1 dGggY29weV9oZWFkZXJzLgorKy8vCisrLy8gV2hlbiB0aGUgYXV0aCBzZXJ2aWNlIHJldHVybnMg MjAwIE9LIHdpdGhvdXQgb25lIG9mIHRoZSBjb3B5X2hlYWRlcnMgaGVhZGVycywKKysvLyB0aGUg TWF0Y2hOb3QgZ3VhcmQgc2tpcHMgdGhlIFNldCBvcGVyYXRpb24uIEJlZm9yZSB0aGlzIGZpeCwg dGhlIG9yaWdpbmFsCisrLy8gY2xpZW50LXN1cHBsaWVkIGhlYWRlciBzdXJ2aXZlZCB1bmNoYW5n ZWQgaW50byB0aGUgYmFja2VuZCByZXF1ZXN0LCBhbGxvd2luZworKy8vIHByaXZpbGVnZSBlc2Nh bGF0aW9uIHdpdGggb25seSBhIHZhbGlkIChub24tcHJpdmlsZWdlZCkgYmVhcmVyIHRva2VuLiBB ZnRlcgorKy8vIHRoZSBmaXgsIGFuIHVuY29uZGl0aW9uYWwgZGVsZXRlIHJvdXRlIHJ1bnMgZmly c3QsIHNvIHRoZSBiYWNrZW5kIGFsd2F5cworKy8vIHNlZXMgYW4gYWJzZW50IGhlYWRlciByYXRo ZXIgdGhhbiB0aGUgYXR0YWNrZXItc3VwcGxpZWQgdmFsdWUuCisrZnVuYyBUZXN0Rm9yd2FyZEF1 dGhDb3B5SGVhZGVyc1N0cmlwc0NsaWVudEhlYWRlcnModCAqdGVzdGluZy5UKSB7CisrCS8vIE1v Y2sgYXV0aCBzZXJ2aWNlOiBhY2NlcHRzIGFueSBCZWFyZXIgdG9rZW4sIHJldHVybnMgMjAwIE9L IHdpdGggTk8KKysJLy8gaWRlbnRpdHkgaGVhZGVycy4gVGhpcyBpcyB0aGUgc3RhdGVsZXNzIEpX VCB2YWxpZGF0b3IgcGF0dGVybiB0aGF0CisrCS8vIHRyaWdnZXJzIHRoZSB2dWxuZXJhYmlsaXR5 LgorKwlhdXRoU3J2IDo9IGh0dHB0ZXN0Lk5ld1NlcnZlcihodHRwLkhhbmRsZXJGdW5jKGZ1bmMo dyBodHRwLlJlc3BvbnNlV3JpdGVyLCByICpodHRwLlJlcXVlc3QpIHsKKysJCWlmIHN0cmluZ3Mu SGFzUHJlZml4KHIuSGVhZGVyLkdldCgiQXV0aG9yaXphdGlvbiIpLCAiQmVhcmVyICIpIHsKKysJ CQl3LldyaXRlSGVhZGVyKGh0dHAuU3RhdHVzT0spCisrCQkJcmV0dXJuCisrCQl9CisrCQl3Lldy aXRlSGVhZGVyKGh0dHAuU3RhdHVzVW5hdXRob3JpemVkKQorKwl9KSkKKysJZGVmZXIgYXV0aFNy di5DbG9zZSgpCisrCisrCS8vIE1vY2sgYmFja2VuZDogcmVjb3JkcyB0aGUgaWRlbnRpdHkgaGVh ZGVycyBpdCByZWNlaXZlcy4gQSByZWFsIGFwcGxpY2F0aW9uCisrCS8vIHdvdWxkIHVzZSBYLVVz ZXItSWQgLyBYLVVzZXItUm9sZSB0byBtYWtlIGF1dGhvcml6YXRpb24gZGVjaXNpb25zLgorKwl0 eXBlIHJlY2VpdmVkIHN0cnVjdHsgdXNlcklELCB1c2VyUm9sZSBzdHJpbmcgfQorKwl2YXIgKAor KwkJbXUgICBzeW5jLk11dGV4CisrCQlsYXN0IHJlY2VpdmVkCisrCSkKKysJYmFja2VuZFNydiA6 PSBodHRwdGVzdC5OZXdTZXJ2ZXIoaHR0cC5IYW5kbGVyRnVuYyhmdW5jKHcgaHR0cC5SZXNwb25z ZVdyaXRlciwgciAqaHR0cC5SZXF1ZXN0KSB7CisrCQltdS5Mb2NrKCkKKysJCWxhc3QgPSByZWNl aXZlZHsKKysJCQl1c2VySUQ6ICAgci5IZWFkZXIuR2V0KCJYLVVzZXItSWQiKSwKKysJCQl1c2Vy Um9sZTogci5IZWFkZXIuR2V0KCJYLVVzZXItUm9sZSIpLAorKwkJfQorKwkJbXUuVW5sb2NrKCkK KysJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNPSykKKysJCWZtdC5GcHJpbnQodywgIm9rIikK KysJfSkpCisrCWRlZmVyIGJhY2tlbmRTcnYuQ2xvc2UoKQorKworKwlhdXRoQWRkciA6PSBzdHJp bmdzLlRyaW1QcmVmaXgoYXV0aFNydi5VUkwsICJodHRwOi8vIikKKysJYmFja2VuZEFkZHIgOj0g c3RyaW5ncy5UcmltUHJlZml4KGJhY2tlbmRTcnYuVVJMLCAiaHR0cDovLyIpCisrCisrCXRlc3Rl ciA6PSBjYWRkeXRlc3QuTmV3VGVzdGVyKHQpCisrCXRlc3Rlci5Jbml0U2VydmVyKGZtdC5TcHJp bnRmKGAKKysJeworKwkJc2tpcF9pbnN0YWxsX3RydXN0CisrCQlhZG1pbiBsb2NhbGhvc3Q6Mjk5 OQorKwkJaHR0cF9wb3J0IDkwODAKKysJCWh0dHBzX3BvcnQgOTQ0MworKwkJZ3JhY2VfcGVyaW9k IDFucworKwl9CisrCWh0dHA6Ly9sb2NhbGhvc3Q6OTA4MCB7CisrCQlmb3J3YXJkX2F1dGggJXMg eworKwkJCXVyaSAvCisrCQkJY29weV9oZWFkZXJzIFgtVXNlci1JZCBYLVVzZXItUm9sZQorKwkJ fQorKwkJcmV2ZXJzZV9wcm94eSAlcworKwl9CisrCWAsIGF1dGhBZGRyLCBiYWNrZW5kQWRkciks ICJjYWRkeWZpbGUiKQorKworKwkvLyBDYXNlIDE6IG5vIHRva2VuLiBBdXRoIG11c3Qgc3RpbGwg cmVqZWN0IHRoZSByZXF1ZXN0IGV2ZW4gd2hlbiB0aGUgY2xpZW50CisrCS8vIGluY2x1ZGVzIGlk ZW50aXR5IGhlYWRlcnMuIFRoaXMgY29uZmlybXMgdGhlIGF1dGggY2hlY2sgaXMgbm90IGJ5cGFz c2VkLgorKwlyZXEsIF8gOj0gaHR0cC5OZXdSZXF1ZXN0KGh0dHAuTWV0aG9kR2V0LCAiaHR0cDov L2xvY2FsaG9zdDo5MDgwLyIsIG5pbCkKKysJcmVxLkhlYWRlci5TZXQoIlgtVXNlci1JZCIsICJp bmplY3RlZCIpCisrCXJlcS5IZWFkZXIuU2V0KCJYLVVzZXItUm9sZSIsICJpbmplY3RlZCIpCisr CXJlc3AgOj0gdGVzdGVyLkFzc2VydFJlc3BvbnNlQ29kZShyZXEsIGh0dHAuU3RhdHVzVW5hdXRo b3JpemVkKQorKwlyZXNwLkJvZHkuQ2xvc2UoKQorKworKwkvLyBDYXNlIDI6IHZhbGlkIHRva2Vu LCBubyBpbmplY3RlZCBoZWFkZXJzLiBUaGUgYmFja2VuZCBzaG91bGQgc2VlIGFic2VudAorKwkv LyBpZGVudGl0eSBoZWFkZXJzICh0aGUgYXV0aCBzZXJ2aWNlIG5ldmVyIHJldHVybnMgdGhlbSku CisrCXJlcSwgXyA9IGh0dHAuTmV3UmVxdWVzdChodHRwLk1ldGhvZEdldCwgImh0dHA6Ly9sb2Nh bGhvc3Q6OTA4MC8iLCBuaWwpCisrCXJlcS5IZWFkZXIuU2V0KCJBdXRob3JpemF0aW9uIiwgIkJl YXJlciB0b2tlbjEyMyIpCisrCXRlc3Rlci5Bc3NlcnRSZXNwb25zZShyZXEsIGh0dHAuU3RhdHVz T0ssICJvayIpCisrCW11LkxvY2soKQorKwlnb3RJRCwgZ290Um9sZSA6PSBsYXN0LnVzZXJJRCwg bGFzdC51c2VyUm9sZQorKwltdS5VbmxvY2soKQorKwlpZiBnb3RJRCAhPSAiIiB7CisrCQl0LkVy cm9yZigiYmFzZWxpbmU6IFgtVXNlci1JZCBzaG91bGQgYmUgYWJzZW50LCBnb3QgJXEiLCBnb3RJ RCkKKysJfQorKwlpZiBnb3RSb2xlICE9ICIiIHsKKysJCXQuRXJyb3JmKCJiYXNlbGluZTogWC1V c2VyLVJvbGUgc2hvdWxkIGJlIGFic2VudCwgZ290ICVxIiwgZ290Um9sZSkKKysJfQorKworKwkv LyBDYXNlIDMgKHRoZSBzZWN1cml0eSByZWdyZXNzaW9uKTogdmFsaWQgdG9rZW4gcGx1cyBmb3Jn ZWQgaWRlbnRpdHkgaGVhZGVycy4KKysJLy8gVGhlIGZpeCBtdXN0IHN0cmlwIHRob3NlIHZhbHVl cyBzbyB0aGUgYmFja2VuZCBuZXZlciBzZWVzIHRoZW0uCisrCXJlcSwgXyA9IGh0dHAuTmV3UmVx dWVzdChodHRwLk1ldGhvZEdldCwgImh0dHA6Ly9sb2NhbGhvc3Q6OTA4MC8iLCBuaWwpCisrCXJl cS5IZWFkZXIuU2V0KCJBdXRob3JpemF0aW9uIiwgIkJlYXJlciB0b2tlbjEyMyIpCisrCXJlcS5I ZWFkZXIuU2V0KCJYLVVzZXItSWQiLCAiYWRtaW4iKSAgICAgICAgLy8gZm9yZ2VkCisrCXJlcS5I ZWFkZXIuU2V0KCJYLVVzZXItUm9sZSIsICJzdXBlcmFkbWluIikgLy8gZm9yZ2VkCisrCXRlc3Rl ci5Bc3NlcnRSZXNwb25zZShyZXEsIGh0dHAuU3RhdHVzT0ssICJvayIpCisrCW11LkxvY2soKQor Kwlnb3RJRCwgZ290Um9sZSA9IGxhc3QudXNlcklELCBsYXN0LnVzZXJSb2xlCisrCW11LlVubG9j aygpCisrCWlmIGdvdElEICE9ICIiIHsKKysJCXQuRXJyb3JmKCJpbmplY3Rpb246IFgtVXNlci1J ZCBtdXN0IGJlIHN0cmlwcGVkLCBnb3QgJXEiLCBnb3RJRCkKKysJfQorKwlpZiBnb3RSb2xlICE9 ICIiIHsKKysJCXQuRXJyb3JmKCJpbmplY3Rpb246IFgtVXNlci1Sb2xlIG11c3QgYmUgc3RyaXBw ZWQsIGdvdCAlcSIsIGdvdFJvbGUpCisrCX0KKyt9CisrCisrLy8gVGVzdEZvcndhcmRBdXRoQ29w eUhlYWRlcnNBdXRoUmVzcG9uc2VXaW5zIHZlcmlmaWVzIHRoYXQgd2hlbiB0aGUgYXV0aAorKy8v IHNlcnZpY2UgZG9lcyBpbmNsdWRlIGEgY29weV9oZWFkZXJzIGhlYWRlciBpbiBpdHMgcmVzcG9u c2UsIHRoYXQgdmFsdWUKKysvLyBpcyBmb3J3YXJkZWQgdG8gdGhlIGJhY2tlbmQgYW5kIHRha2Vz IHByZWNlZGVuY2Ugb3ZlciBhbnkgY2xpZW50LXN1cHBsaWVkCisrLy8gdmFsdWUgZm9yIHRoZSBz YW1lIGhlYWRlci4KKytmdW5jIFRlc3RGb3J3YXJkQXV0aENvcHlIZWFkZXJzQXV0aFJlc3BvbnNl V2lucyh0ICp0ZXN0aW5nLlQpIHsKKysJY29uc3Qgd2FudFVzZXJJRCA9ICJzZXJ2aWNlLXVzZXIt NDIiCisrCWNvbnN0IHdhbnRVc2VyUm9sZSA9ICJlZGl0b3IiCisrCisrCS8vIEF1dGggc2Vydmlj ZTogYWNjZXB0cyBiZWFyZXIgdG9rZW4gYW5kIHNldHMgaWRlbnRpdHkgaGVhZGVycy4KKysJYXV0 aFNydiA6PSBodHRwdGVzdC5OZXdTZXJ2ZXIoaHR0cC5IYW5kbGVyRnVuYyhmdW5jKHcgaHR0cC5S ZXNwb25zZVdyaXRlciwgciAqaHR0cC5SZXF1ZXN0KSB7CisrCQlpZiBzdHJpbmdzLkhhc1ByZWZp eChyLkhlYWRlci5HZXQoIkF1dGhvcml6YXRpb24iKSwgIkJlYXJlciAiKSB7CisrCQkJdy5IZWFk ZXIoKS5TZXQoIlgtVXNlci1JZCIsIHdhbnRVc2VySUQpCisrCQkJdy5IZWFkZXIoKS5TZXQoIlgt VXNlci1Sb2xlIiwgd2FudFVzZXJSb2xlKQorKwkJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNP SykKKysJCQlyZXR1cm4KKysJCX0KKysJCXcuV3JpdGVIZWFkZXIoaHR0cC5TdGF0dXNVbmF1dGhv cml6ZWQpCisrCX0pKQorKwlkZWZlciBhdXRoU3J2LkNsb3NlKCkKKysKKysJdHlwZSByZWNlaXZl ZCBzdHJ1Y3R7IHVzZXJJRCwgdXNlclJvbGUgc3RyaW5nIH0KKysJdmFyICgKKysJCW11ICAgc3lu Yy5NdXRleAorKwkJbGFzdCByZWNlaXZlZAorKwkpCisrCWJhY2tlbmRTcnYgOj0gaHR0cHRlc3Qu TmV3U2VydmVyKGh0dHAuSGFuZGxlckZ1bmMoZnVuYyh3IGh0dHAuUmVzcG9uc2VXcml0ZXIsIHIg Kmh0dHAuUmVxdWVzdCkgeworKwkJbXUuTG9jaygpCisrCQlsYXN0ID0gcmVjZWl2ZWR7CisrCQkJ dXNlcklEOiAgIHIuSGVhZGVyLkdldCgiWC1Vc2VyLUlkIiksCisrCQkJdXNlclJvbGU6IHIuSGVh ZGVyLkdldCgiWC1Vc2VyLVJvbGUiKSwKKysJCX0KKysJCW11LlVubG9jaygpCisrCQl3LldyaXRl SGVhZGVyKGh0dHAuU3RhdHVzT0spCisrCQlmbXQuRnByaW50KHcsICJvayIpCisrCX0pKQorKwlk ZWZlciBiYWNrZW5kU3J2LkNsb3NlKCkKKysKKysJYXV0aEFkZHIgOj0gc3RyaW5ncy5UcmltUHJl Zml4KGF1dGhTcnYuVVJMLCAiaHR0cDovLyIpCisrCWJhY2tlbmRBZGRyIDo9IHN0cmluZ3MuVHJp bVByZWZpeChiYWNrZW5kU3J2LlVSTCwgImh0dHA6Ly8iKQorKworKwl0ZXN0ZXIgOj0gY2FkZHl0 ZXN0Lk5ld1Rlc3Rlcih0KQorKwl0ZXN0ZXIuSW5pdFNlcnZlcihmbXQuU3ByaW50ZihgCisrCXsK KysJCXNraXBfaW5zdGFsbF90cnVzdAorKwkJYWRtaW4gbG9jYWxob3N0OjI5OTkKKysJCWh0dHBf cG9ydCA5MDgwCisrCQlodHRwc19wb3J0IDk0NDMKKysJCWdyYWNlX3BlcmlvZCAxbnMKKysJfQor KwlodHRwOi8vbG9jYWxob3N0OjkwODAgeworKwkJZm9yd2FyZF9hdXRoICVzIHsKKysJCQl1cmkg LworKwkJCWNvcHlfaGVhZGVycyBYLVVzZXItSWQgWC1Vc2VyLVJvbGUKKysJCX0KKysJCXJldmVy c2VfcHJveHkgJXMKKysJfQorKwlgLCBhdXRoQWRkciwgYmFja2VuZEFkZHIpLCAiY2FkZHlmaWxl IikKKysKKysJLy8gVGhlIGNsaWVudCBzZW5kcyBmb3JnZWQgaGVhZGVyczsgdGhlIGF1dGggc2Vy dmljZSBvdmVycmlkZXMgdGhlbSB3aXRoCisrCS8vIGl0cyBvd24gdmFsdWVzLiBUaGUgYmFja2Vu ZCBtdXN0IHJlY2VpdmUgdGhlIGF1dGggc2VydmljZSB2YWx1ZXMuCisrCXJlcSwgXyA6PSBodHRw Lk5ld1JlcXVlc3QoaHR0cC5NZXRob2RHZXQsICJodHRwOi8vbG9jYWxob3N0OjkwODAvIiwgbmls KQorKwlyZXEuSGVhZGVyLlNldCgiQXV0aG9yaXphdGlvbiIsICJCZWFyZXIgdG9rZW4xMjMiKQor KwlyZXEuSGVhZGVyLlNldCgiWC1Vc2VyLUlkIiwgImZvcmdlZC1pZCIpICAgLy8gbXVzdCBiZSBv dmVyd3JpdHRlbgorKwlyZXEuSGVhZGVyLlNldCgiWC1Vc2VyLVJvbGUiLCAiZm9yZ2VkLXJvbGUi KSAvLyBtdXN0IGJlIG92ZXJ3cml0dGVuCisrCXRlc3Rlci5Bc3NlcnRSZXNwb25zZShyZXEsIGh0 dHAuU3RhdHVzT0ssICJvayIpCisrCisrCW11LkxvY2soKQorKwlnb3RJRCwgZ290Um9sZSA6PSBs YXN0LnVzZXJJRCwgbGFzdC51c2VyUm9sZQorKwltdS5VbmxvY2soKQorKwlpZiBnb3RJRCAhPSB3 YW50VXNlcklEIHsKKysJCXQuRXJyb3JmKCJYLVVzZXItSWQ6IHdhbnQgJXEsIGdvdCAlcSIsIHdh bnRVc2VySUQsIGdvdElEKQorKwl9CisrCWlmIGdvdFJvbGUgIT0gd2FudFVzZXJSb2xlIHsKKysJ CXQuRXJyb3JmKCJYLVVzZXItUm9sZTogd2FudCAlcSwgZ290ICVxIiwgd2FudFVzZXJSb2xlLCBn b3RSb2xlKQorKwl9CisrfQorZGlmZiAtLWdpdCBhL21vZHVsZXMvY2FkZHlodHRwL3JldmVyc2Vw cm94eS9mb3J3YXJkYXV0aC9jYWRkeWZpbGUuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNl cHJveHkvZm9yd2FyZGF1dGgvY2FkZHlmaWxlLmdvCitpbmRleCAzNDdmNmRmYi4uNWQ0MzkzYWMg MTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZm9yd2FyZGF1dGgv Y2FkZHlmaWxlLmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0cC9yZXZlcnNlcHJveHkvZm9yd2Fy ZGF1dGgvY2FkZHlmaWxlLmdvCitAQCAtMjA4LDYgKzIwOCwyNCBAQCBmdW5jIHBhcnNlQ2FkZHlm aWxlKGggaHR0cGNhZGR5ZmlsZS5IZWxwZXIpIChbXWh0dHBjYWRkeWZpbGUuQ29uZmlnVmFsdWUs IGVycm9yKQorIAlmb3IgXywgZnJvbSA6PSByYW5nZSBzb3J0ZWRIZWFkZXJzVG9Db3B5IHsKKyAJ CXRvIDo9IGh0dHAuQ2Fub25pY2FsSGVhZGVyS2V5KGhlYWRlcnNUb0NvcHlbZnJvbV0pCisgCQlw bGFjZWhvbGRlck5hbWUgOj0gImh0dHAucmV2ZXJzZV9wcm94eS5oZWFkZXIuIiArIGh0dHAuQ2Fu b25pY2FsSGVhZGVyS2V5KGZyb20pCisrCisrCQkvLyBBbHdheXMgZGVsZXRlIHRoZSBjbGllbnQt c3VwcGxpZWQgaGVhZGVyIGJlZm9yZSBjb25kaXRpb25hbGx5IHNldHRpbmcKKysJCS8vIGl0IGZy b20gdGhlIGF1dGggcmVzcG9uc2UuIFdpdGhvdXQgdGhpcywgYSBjbGllbnQgdGhhdCBwcmUtc3Vw cGxpZXMgYQorKwkJLy8gaGVhZGVyIGxpc3RlZCBpbiBjb3B5X2hlYWRlcnMgY2FuIGluamVjdCBh cmJpdHJhcnkgdmFsdWVzIHdoZW4gdGhlIGF1dGgKKysJCS8vIHNlcnZpY2UgZG9lcyBub3QgcmV0 dXJuIHRoYXQgaGVhZGVyOiB0aGUgTWF0Y2hOb3QgZ3VhcmQgYmVsb3cgd291bGQKKysJCS8vIHNr aXAgdGhlIFNldCBlbnRpcmVseSwgbGVhdmluZyB0aGUgb3JpZ2luYWwgY2xpZW50LWNvbnRyb2xs ZWQgdmFsdWUKKysJCS8vIGludGFjdCBhbmQgZm9yd2FyZGluZyBpdCB0byB0aGUgYmFja2VuZC4K KysJCWNvcHlIZWFkZXJSb3V0ZXMgPSBhcHBlbmQoY29weUhlYWRlclJvdXRlcywgY2FkZHlodHRw LlJvdXRleworKwkJCUhhbmRsZXJzUmF3OiBbXWpzb24uUmF3TWVzc2FnZXtjYWRkeWNvbmZpZy5K U09OTW9kdWxlT2JqZWN0KAorKwkJCQkmaGVhZGVycy5IYW5kbGVyeworKwkJCQkJUmVxdWVzdDog JmhlYWRlcnMuSGVhZGVyT3BzeworKwkJCQkJCURlbGV0ZTogW11zdHJpbmd7dG99LAorKwkJCQkJ fSwKKysJCQkJfSwKKysJCQkJImhhbmRsZXIiLCAiaGVhZGVycyIsIG5pbCwKKysJCQkpfSwKKysJ CX0pCisrCisgCQloYW5kbGVyIDo9ICZoZWFkZXJzLkhhbmRsZXJ7CisgCQkJUmVxdWVzdDogJmhl YWRlcnMuSGVhZGVyT3BzeworIAkJCQlTZXQ6IGh0dHAuSGVhZGVyewoKZGlmZiAtLWdpdCBhLzAw MDktT25seS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFsdWVzLWZyb20tbGl0ZXJhbC12YXJp YWJsZS1uYW1lcy5wYXRjaCBiLzAwMDktT25seS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFs dWVzLWZyb20tbGl0ZXJhbC12YXJpYWJsZS1uYW1lcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi44Y2M3NWEzCi0tLSAvZGV2L251bGwKKysrIGIvMDAwOS1Pbmx5LWFw cGx5LXJlcGwuUmVwbGFjZUFsbC1vbi12YWx1ZXMtZnJvbS1saXRlcmFsLXZhcmlhYmxlLW5hbWVz LnBhdGNoCkBAIC0wLDAgKzEsOTMgQEAKK0Zyb20gNmEwYzZlODRiMTc3NTRlYjkyY2ZiMjAwYTU4 ZGNhOGRmMjI4ZjIxMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206ICJTYW0uQW4iIDw1 NjIxNTg5MStzYW1taWVlNTMxMUB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CitEYXRlOiBUaHUs IDUgTWFyIDIwMjYgMDE6MDg6MzkgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gT25seSBhcHBseSBy ZXBsLlJlcGxhY2VBbGwoKSBvbiB2YWx1ZXMgZnJvbSBsaXRlcmFsIHZhcmlhYmxlCisgbmFtZXMK KworT25seSBhcHBseSByZXBsLlJlcGxhY2VBbGwoKSBvbiB2YWx1ZXMgZnJvbSBsaXRlcmFsIHZh cmlhYmxlIG5hbWVzCisoZS5nLiBtYXAgb3V0cHV0cyksIG5vdCBvbiB2YWx1ZXMgcmVzb2x2ZWQg ZnJvbSBwbGFjZWhvbGRlciBrZXlzCisoZS5nLiB7aHR0cC5yZXF1ZXN0LmhlYWRlci4qfSkuIFRo ZSBwbGFjZWhvbGRlciBwYXRoIGFscmVhZHkgcmVzb2x2ZXMKK3RoZSB2YWx1ZSB2aWEgcmVwbC5H ZXQoKSwgc28gYSBzZWNvbmQgZXhwYW5zaW9uIGFsbG93cyB1c2VyLWNvbnRyb2xsZWQKK2lucHV0 IGNvbnRhaW5pbmcge2Vudi4qfSBvciB7ZmlsZS4qfSB0byBiZSBldmFsdWF0ZWQsIGxlYWtpbmcK K2Vudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgZmlsZSBjb250ZW50cy4KKworQWRkIHJlZ3Jlc3Np b24gdGVzdCB0byB2ZXJpZnkgcGxhY2Vob2xkZXItc291cmNlZCB2YWx1ZXMgYXJlIG5vdAorcmUt ZXhwYW5kZWQuCisKK0ZpeGVzOiBDVkUtMjAyNi0zMDg1MgorCisoY2hlcnJ5IHBpY2tlZCBmcm9t IGNvbW1pdCA3ZTgzNzc1ZTNhZGVhOGI4ZGE3MmZlYTNiMTU5MjA3YmQ3MTAwMGRkKQorLS0tCisg bW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyB8IDExICsrKysrKysrKystCisgbW9k dWxlcy9jYWRkeWh0dHAvdmFycy5nbyAgICAgICAgICB8IDExICsrKysrKysrKystCisgMiBmaWxl cyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0 IGEvbW9kdWxlcy9jYWRkeWh0dHAvbWF0Y2hlcnNfdGVzdC5nbyBiL21vZHVsZXMvY2FkZHlodHRw L21hdGNoZXJzX3Rlc3QuZ28KK2luZGV4IGMwMDJhM2U0Li5lOTFjYjQ0ZSAxMDA2NDQKKy0tLSBh L21vZHVsZXMvY2FkZHlodHRwL21hdGNoZXJzX3Rlc3QuZ28KKysrKyBiL21vZHVsZXMvY2FkZHlo dHRwL21hdGNoZXJzX3Rlc3QuZ28KK0BAIC05NjcsNiArOTY3LDcgQEAgZnVuYyBUZXN0VmFyUkVN YXRjaGVyKHQgKnRlc3RpbmcuVCkgeworIAkJZGVzYyAgICAgICBzdHJpbmcKKyAJCW1hdGNoICAg ICAgTWF0Y2hWYXJzUkUKKyAJCWlucHV0ICAgICAgVmFyc01pZGRsZXdhcmUKKysJCWhlYWRlcnMg ICAgaHR0cC5IZWFkZXIKKyAJCWV4cGVjdCAgICAgYm9vbAorIAkJZXhwZWN0UmVwbCBtYXBbc3Ry aW5nXXN0cmluZworIAl9eworQEAgLTEwMDEsNiArMTAwMiwxNCBAQCBmdW5jIFRlc3RWYXJSRU1h dGNoZXIodCAqdGVzdGluZy5UKSB7CisgCQkJaW5wdXQ6ICBWYXJzTWlkZGxld2FyZXsiVmFyMSI6 ICJ2YXIxVmFsdWUifSwKKyAJCQlleHBlY3Q6IHRydWUsCisgCQl9LAorKwkJeworKwkJCWRlc2M6 ICAgICAgICJwbGFjZWhvbGRlciBrZXkgdmFsdWUgY29udGFpbmluZyBicmFjZXMgaXMgbm90IGRv dWJsZS1leHBhbmRlZCIsCisrCQkJbWF0Y2g6ICAgICAgTWF0Y2hWYXJzUkV7IntodHRwLnJlcXVl c3QuaGVhZGVyLlgtSW5wdXR9IjogJk1hdGNoUmVnZXhwe1BhdHRlcm46ICIuKyIsIE5hbWU6ICJ2 YWwifX0sCisrCQkJaW5wdXQ6ICAgICAgVmFyc01pZGRsZXdhcmV7fSwKKysJCQloZWFkZXJzOiAg ICBodHRwLkhlYWRlcnsiWC1JbnB1dCI6IFtdc3RyaW5neyJ7ZW52LkhPTUV9In19LAorKwkJCWV4 cGVjdDogICAgIHRydWUsCisrCQkJZXhwZWN0UmVwbDogbWFwW3N0cmluZ11zdHJpbmd7InZhbC4w IjogIntlbnYuSE9NRX0ifSwKKysJCX0sCisgCX0geworIAkJdGMgOj0gdGMgLy8gY2FwdHVyZSBy YW5nZSB2YWx1ZQorIAkJdC5SdW4odGMuZGVzYywgZnVuYyh0ICp0ZXN0aW5nLlQpIHsKK0BAIC0x MDE4LDcgKzEwMjcsNyBAQCBmdW5jIFRlc3RWYXJSRU1hdGNoZXIodCAqdGVzdGluZy5UKSB7Cisg CQkJfQorIAorIAkJCS8vIHNldCB1cCB0aGUgZmFrZSByZXF1ZXN0IGFuZCBpdHMgUmVwbGFjZXIK Ky0JCQlyZXEgOj0gJmh0dHAuUmVxdWVzdHtVUkw6IG5ldyh1cmwuVVJMKSwgTWV0aG9kOiBodHRw Lk1ldGhvZEdldH0KKysJCQlyZXEgOj0gJmh0dHAuUmVxdWVzdHtVUkw6IG5ldyh1cmwuVVJMKSwg TWV0aG9kOiBodHRwLk1ldGhvZEdldCwgSGVhZGVyOiB0Yy5oZWFkZXJzfQorIAkJCXJlcGwgOj0g Y2FkZHkuTmV3UmVwbGFjZXIoKQorIAkJCWN0eCA6PSBjb250ZXh0LldpdGhWYWx1ZShyZXEuQ29u dGV4dCgpLCBjYWRkeS5SZXBsYWNlckN0eEtleSwgcmVwbCkKKyAJCQljdHggPSBjb250ZXh0Lldp dGhWYWx1ZShjdHgsIFZhcnNDdHhLZXksIG1ha2UobWFwW3N0cmluZ11hbnkpKQorZGlmZiAtLWdp dCBhL21vZHVsZXMvY2FkZHlodHRwL3ZhcnMuZ28gYi9tb2R1bGVzL2NhZGR5aHR0cC92YXJzLmdv CitpbmRleCBkMDFmNGE0My4uZjE5Y2ExNmYgMTAwNjQ0CistLS0gYS9tb2R1bGVzL2NhZGR5aHR0 cC92YXJzLmdvCisrKysgYi9tb2R1bGVzL2NhZGR5aHR0cC92YXJzLmdvCitAQCAtMzEyLDEwICsz MTIsMTIgQEAgZnVuYyAobSBNYXRjaFZhcnNSRSkgTWF0Y2hXaXRoRXJyb3IociAqaHR0cC5SZXF1 ZXN0KSAoYm9vbCwgZXJyb3IpIHsKKyAJcmVwbCA6PSByLkNvbnRleHQoKS5WYWx1ZShjYWRkeS5S ZXBsYWNlckN0eEtleSkuKCpjYWRkeS5SZXBsYWNlcikKKyAJZm9yIGtleSwgdmFsIDo9IHJhbmdl IG0geworIAkJdmFyIHZhclZhbHVlIGFueQorKwkJdmFyIGZyb21QbGFjZWhvbGRlciBib29sCisg CQlpZiBzdHJpbmdzLkhhc1ByZWZpeChrZXksICJ7IikgJiYKKyAJCQlzdHJpbmdzLkhhc1N1ZmZp eChrZXksICJ9IikgJiYKKyAJCQlzdHJpbmdzLkNvdW50KGtleSwgInsiKSA9PSAxIHsKKyAJCQl2 YXJWYWx1ZSwgXyA9IHJlcGwuR2V0KHN0cmluZ3MuVHJpbShrZXksICJ7fSIpKQorKwkJCWZyb21Q bGFjZWhvbGRlciA9IHRydWUKKyAJCX0gZWxzZSB7CisgCQkJdmFyVmFsdWUgPSB2YXJzW2tleV0K KyAJCX0KK0BAIC0zMzQsNyArMzM2LDE0IEBAIGZ1bmMgKG0gTWF0Y2hWYXJzUkUpIE1hdGNoV2l0 aEVycm9yKHIgKmh0dHAuUmVxdWVzdCkgKGJvb2wsIGVycm9yKSB7CisgCQkJdmFyU3RyID0gZm10 LlNwcmludGYoIiV2IiwgdnYpCisgCQl9CisgCistCQl2YWxFeHBhbmRlZCA6PSByZXBsLlJlcGxh Y2VBbGwodmFyU3RyLCAiIikKKysJCS8vIE9ubHkgZXhwYW5kIHBsYWNlaG9sZGVycyBpbiB2YWx1 ZXMgZnJvbSBsaXRlcmFsIHZhcmlhYmxlIG5hbWVzCisrCQkvLyAoZS5nLiBtYXAgb3V0cHV0cyku IFZhbHVlcyByZXNvbHZlZCBmcm9tIHBsYWNlaG9sZGVyIGtleXMgYXJlCisrCQkvLyBhbHJlYWR5 IGZpbmFsIGFuZCBtdXN0IG5vdCBiZSByZS1leHBhbmRlZCwgYXMgdGhhdCB3b3VsZCBhbGxvdwor KwkJLy8gdXNlciBpbnB1dCBsaWtlIHtlbnYuU0VDUkVUfSB0byBiZSBldmFsdWF0ZWQuCisrCQl2 YWxFeHBhbmRlZCA6PSB2YXJTdHIKKysJCWlmICFmcm9tUGxhY2Vob2xkZXIgeworKwkJCXZhbEV4 cGFuZGVkID0gcmVwbC5SZXBsYWNlQWxsKHZhclN0ciwgIiIpCisrCQl9CisgCQlpZiBtYXRjaCA6 PSB2YWwuTWF0Y2godmFsRXhwYW5kZWQsIHJlcGwpOyBtYXRjaCB7CisgCQkJcmV0dXJuIG1hdGNo LCBuaWwKKyAJCX0KCmRpZmYgLS1naXQgYS9jYWRkeS5zcGVjIGIvY2FkZHkuc3BlYwppbmRleCBj YzU1MzAxLi43MjI5ZjllIDEwMDY0NAotLS0gYS9jYWRkeS5zcGVjCisrKyBiL2NhZGR5LnNwZWMK QEAgLTEsMjQgKzEsMTggQEAKLSVnbG9iYWwgZ29pcGF0aCAgICAgICAgIGdpdGh1Yi5jb20vY2Fk ZHlzZXJ2ZXIvY2FkZHkKKyViY29uZCBjaGVjayAxCiAKLSVpZiAle2RlZmluZWQgZWw4fQotJWds b2JhbCBnb3Rlc3QoKSBnbyB0ZXN0IC1zaG9ydCAtY29tcGlsZXIgZ2MgLWxkZmxhZ3MgIiR7TERG TEFHUzotfSIgJXs/Kip9OwotJWVsc2UKKyVnbG9iYWwgZ29tb2R1bGVzbW9kZSBHTzExMU1PRFVM RT1vbgogJWdsb2JhbCBnb3Rlc3RmbGFncyAle2dvY29tcGlsZXJmbGFnc30gLXNob3J0Ci0lZW5k aWYKIAogTmFtZTogICAgICAgICAgIGNhZGR5CiBWZXJzaW9uOiAgICAgICAgMi4xMC4yCiBSZWxl YXNlOiAgICAgICAgJWF1dG9yZWxlYXNlCitFeGNsdXNpdmVBcmNoOiAgJXtnb2xhbmdfYXJjaGVz X2Z1dHVyZX0KIFN1bW1hcnk6ICAgICAgICBXZWIgc2VydmVyIHdpdGggYXV0b21hdGljIEhUVFBT CitMaWNlbnNlOiAgICAgICAgQXBhY2hlLTIuMCBBTkQgQlNELTItQ2xhdXNlIEFORCBCU0QtMi1D bGF1c2UtVmlld3MgQU5EIEJTRC0zLUNsYXVzZSBBTkQgQ0MwLTEuMCBBTkQgSVNDIEFORCBNSVQg QU5EIE1QTC0yLjAKIFVSTDogICAgICAgICAgICBodHRwczovL2NhZGR5c2VydmVyLmNvbQotCi0j IG1haW4gc291cmNlIGNvZGUgaXMgQXBhY2hlLTIuMAotIyBzZWUgY29tbWVudHMgYWJvdmUgYnVu ZGxlZCBwcm92aWRlcyBmb3IgYSBicmVha2Rvd24gb2YgdGhlIHJlc3QKLUxpY2Vuc2U6ICAgICAg ICBBcGFjaGUtMi4wIEFORCBCU0QtMS1DbGF1c2UgQU5EIEJTRC0yLUNsYXVzZSBBTkQgQlNELTIt Q2xhdXNlLVZpZXdzIEFORCBCU0QtMy1DbGF1c2UgQU5EIENDMC0xLjAgQU5EIElTQyBBTkQgTUlU IEFORCBNUEwtMi4wCi0KLVNvdXJjZTA6ICAgICAgICBodHRwczovLyV7Z29pcGF0aH0vYXJjaGl2 ZS92JXt2ZXJzaW9ufS9jYWRkeS0le3ZlcnNpb259LnRhci5negotU291cmNlMTogICAgICAgIGNh ZGR5LSV7dmVyc2lvbn0tdmVuZG9yLnRhci5negotU291cmNlMjogICAgICAgIGNyZWF0ZS12ZW5k b3ItdGFyYmFsbC5zaAorU291cmNlMDogICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNl cnZlci9jYWRkeS9hcmNoaXZlL3Yle3ZlcnNpb259L2NhZGR5LSV7dmVyc2lvbn0udGFyLmd6CitT b3VyY2UxOiAgICAgICAgY2FkZHktJXt2ZXJzaW9ufS12ZW5kb3IudGFyLmJ6MgorU291cmNlMjog ICAgICAgIGdvLXZlbmRvci10b29scy50b21sCiAKICMgYmFzZWQgb24gcmVmZXJlbmNlIGZpbGVz IHVwc3RyZWFtCiAjIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9kaXN0CkBAIC0zMCwx NCArMjQsMjggQEAgU291cmNlMzA6ICAgICAgIHBvd2VyZWRieS13aGl0ZS5wbmcKIFNvdXJjZTMx OiAgICAgICBwb3dlcmVkYnktYmxhY2sucG5nCiAKICMgZG93bnN0cmVhbSBvbmx5IHBhdGNoIHRv IGRpc2FibGUgY29tbWFuZHMgdGhhdCBjYW4gYWx0ZXIgdGhlIGJpbmFyeQotUGF0Y2gxOiAgICAg ICAgIDAwMDEtRGlzYWJsZS1jb21tYW5kcy10aGF0LWNhbi1hbHRlci10aGUtYmluYXJ5LnBhdGNo CitQYXRjaDogICAgICAgICAgMDAwMS1EaXNhYmxlLWNvbW1hbmRzLXRoYXQtY2FuLWFsdGVyLXRo ZS1iaW5hcnkucGF0Y2gKKworIyBDVkUtMjAyNi0yNzU4NQorUGF0Y2g6ICAgICAgICAgIDAwMDIt ZmlsZXNlcnZlci1SZXBsYWNlLXdpdGgtaW4tZmlsZS1tYXRjaGVyLXBhdGhzLnBhdGNoCisjIENW RS0yMDI2LTI3NTg2CitQYXRjaDogICAgICAgICAgMDAwMy1jYWRkeXRscy1SZXR1cm4tZXJyb3Jz LWluc3RlYWQtb2YtbmlsLWluLWNsaWVudC1hdXRoLXByb3Zpc2lvbmluZy03NDY0LnBhdGNoCisj IENWRS0yMDI2LTI3NTg3CitQYXRjaDogICAgICAgICAgMDAwNC1jYWRkeWh0dHAtTG93ZXJjYXNl LWNvbXBhcmlzb24td2hlbi1tYXRjaGluZy13aXRoLWVzY2FwZS1zZXF1ZW5jZS5wYXRjaAorIyBD VkUtMjAyNi0yNzU4OAorUGF0Y2g6ICAgICAgICAgIDAwMDUtY2FkZHlodHRwLVVzZS1jYXNlLWlu c2Vuc2l0aXZlLWNvbXBhcmlzb24tZm9yLWxhcmdlLUhvc3QtbGlzdHMucGF0Y2gKKyMgQ1ZFLTIw MjYtMjc1ODkKK1BhdGNoOiAgICAgICAgICAwMDA2LWFkbWluLVJlamVjdC1yZXF1ZXN0cy13aXRo LVNlYy1GZXRjaC1Nb2RlLWhlYWRlcnMucGF0Y2gKKyMgQ1ZFLTIwMjYtMjc1OTAKK1BhdGNoOiAg ICAgICAgICAwMDA3LWZpeC1GYXN0Q0dJLXNwbGl0LVNDUklQVF9OQU1FLVBBVEhfSU5GTy1jb25m dXNpb24ucGF0Y2gKKyMgQ1ZFLTIwMjYtMzA4NTEKK1BhdGNoOiAgICAgICAgICAwMDA4LWZvcndh cmRfYXV0aC1jb3B5X2hlYWRlcnMtZG9lcy1ub3Qtc3RyaXAtY2xpZW50LXN1cHBsaWVkLWlkZW50 aXR5LWhlYWRlcnMtNzU0NS5wYXRjaAorIyBDVkUtMjAyNi0zMDg1MgorUGF0Y2g6ICAgICAgICAg IDAwMDktT25seS1hcHBseS1yZXBsLlJlcGxhY2VBbGwtb24tdmFsdWVzLWZyb20tbGl0ZXJhbC12 YXJpYWJsZS1uYW1lcy5wYXRjaAogCi0laWYgJXtkZWZpbmVkIGVsOH0KLUV4Y2x1c2l2ZUFyY2g6 ICAle2dvbGFuZ19hcmNoZXN9Ci0lZWxzZQogQnVpbGRSZXF1aXJlczogIGdvLXJwbS1tYWNyb3MK LUV4Y2x1c2l2ZUFyY2g6ICAle2dvbGFuZ19hcmNoZXNfZnV0dXJlfQotJWVuZGlmCitCdWlsZFJl cXVpcmVzOiAgZ28tdmVuZG9yLXRvb2xzCitCdWlsZFJlcXVpcmVzOiAgYXNrYWxvbm8tY2xpCiAK IEJ1aWxkUmVxdWlyZXM6ICBzeXN0ZW1kLXJwbS1tYWNyb3MKICV7P3N5c3RlbWRfcmVxdWlyZXN9 CkBAIC00NiwxOTAgKzU0LDYgQEAgQnVpbGRSZXF1aXJlczogIHN5c3RlbWQtcnBtLW1hY3Jvcwog UmVxdWlyZXM6ICAgICAgIHN5c3RlbS1sb2dvcy1odHRwZAogUHJvdmlkZXM6ICAgICAgIHdlYnNl cnZlcgogCi0jIGh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jYWRkeS9jb21taXQvMDVh Y2M1MTMxZWQ1YzgwYWNiZDI4ZWQ4ZDkwN2IxNjZjZDE1YjcyYwotQnVpbGRSZXF1aXJlczogIGdv bGFuZyA+PSAxLjI1Ci0KLSMgQXBhY2hlLTIuMDoKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdv bGFuZyhjZWwuZGV2L2V4cHIpKSA9IDAuMjQuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29s YW5nKGNsb3VkLmdvb2dsZS5jb20vZ28vYXV0aCkpID0gMC4xNi4yCi1Qcm92aWRlczogICAgICAg YnVuZGxlZChnb2xhbmcoY2xvdWQuZ29vZ2xlLmNvbS9nby9hdXRoL29hdXRoMmFkYXB0KSkgPSAw LjIuOAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGNsb3VkLmdvb2dsZS5jb20vZ28v Y29tcHV0ZS9tZXRhZGF0YSkpID0gMC43LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFu ZyhnaXRodWIuY29tL01hc3Rlcm1pbmRzL2dvdXRpbHMpKSA9IDEuMS4xCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9jZXJ0bWFnaWMpKSA9IDAu MjQuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY29yZW9zL2dv LW9pZGMvdjMpKSA9IDMuMTQuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20vZGdyYXBoLWlvL2JhZGdlcikpID0gMS42LjIKLVByb3ZpZGVzOiAgICAgICBidW5kbGVk KGdvbGFuZyhnaXRodWIuY29tL2RncmFwaC1pby9iYWRnZXIvdjIpKSA9IDIuMjAwNy40Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1sb2dyL2xvZ3IpKSA9IDEu NC4zCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1sb2dyL3N0 ZHIpKSA9IDEuMi4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9n b29nbGUvY2VsLWdvKSkgPSAwLjI2LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhn aXRodWIuY29tL2dvb2dsZS9jZXJ0aWZpY2F0ZS10cmFuc3BhcmVuY3ktZ28pKSA9IDc0YTVkZDMK LVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2dvb2dsZS9nby10cG0p KSA9IDAuOS41Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nb29n bGUvZ28tdHNwaSkpID0gMC4zLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRo dWIuY29tL2dvb2dsZS9zMmEtZ28pKSA9IDAuMS45Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ2l0aHViLmNvbS9nb29nbGVhcGlzL2VudGVycHJpc2UtY2VydGlmaWNhdGUtcHJveHkp KSA9IDAuMy42Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9pbmNv bnNocmV2ZWFibGUvbW91c2V0cmFwKSkgPSAxLjEuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20va3lsZWxlbW9ucy9nb2RlYnVnKSkgPSAxLjEuMAotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vcGlyZXMvZ28tcHJveHlwcm90bykpID0g MC44LjEKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Byb21ldGhl dXMvY2xpZW50X21vZGVsKSkgPSAwLjYuMgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9jb21tb24pKSA9IDAuNjUuMAotUHJvdmlkZXM6ICAgICAg IGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vcHJvbWV0aGV1cy9wcm9jZnMpKSA9IDAuMTYuMQot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL2dvLWF0 dGVzdGF0aW9uKSkgPSAyMzA2ZDViCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0 aHViLmNvbS9zbWFsbHN0ZXAvbGlua2VkY2EpKSA9IDAuMjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1 bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL25vc3FsKSkgPSAwLjcuMAotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3RydXN0c3RvcmUp KSA9IDAuMTMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc3Bm MTMvY29icmEpKSA9IDEuOS4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3Bl bnRlbGVtZXRyeS5pby9hdXRvL3NkaykpID0gMS4xLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVk KGdvbGFuZyhnby5vcGVudGVsZW1ldHJ5LmlvL2NvbnRyaWIvaW5zdHJ1bWVudGF0aW9uL25ldC9o dHRwL290ZWxodHRwKSkgPSAwLjYxLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhn by5vcGVudGVsZW1ldHJ5LmlvL2NvbnRyaWIvcHJvcGFnYXRvcnMvYXV0b3Byb3ApKSA9IDAuNjIu MAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9wZW50ZWxlbWV0cnkuaW8vY29u dHJpYi9wcm9wYWdhdG9ycy9hd3MpKSA9IDEuMzcuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdvLm9wZW50ZWxlbWV0cnkuaW8vY29udHJpYi9wcm9wYWdhdG9ycy9iMykpID0gMS4z Ny4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9j b250cmliL3Byb3BhZ2F0b3JzL2phZWdlcikpID0gMS4zNy4wCi1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9jb250cmliL3Byb3BhZ2F0b3JzL290KSkg PSAxLjM3LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby5vcGVudGVsZW1ldHJ5 LmlvL290ZWwpKSA9IDEuMzcuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9w ZW50ZWxlbWV0cnkuaW8vb3RlbC9leHBvcnRlcnMvb3RscC9vdGxwdHJhY2UpKSA9IDEuMzcuMAot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLm9wZW50ZWxlbWV0cnkuaW8vb3RlbC9l eHBvcnRlcnMvb3RscC9vdGxwdHJhY2Uvb3RscHRyYWNlZ3JwYykpID0gMS4zNy4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL21ldHJpYykp ID0gMS4zNy4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28ub3BlbnRlbGVtZXRy eS5pby9vdGVsL3NkaykpID0gMS4zNy4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z28ub3BlbnRlbGVtZXRyeS5pby9vdGVsL3RyYWNlKSkgPSAxLjM3LjAKLVByb3ZpZGVzOiAgICAg ICBidW5kbGVkKGdvbGFuZyhnby5vcGVudGVsZW1ldHJ5LmlvL3Byb3RvL290bHApKSA9IDEuNy4w Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28udWJlci5vcmcvbW9jaykpID0gMC41 LjIKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnb29nbGUuZ29sYW5nLm9yZy9nZW5w cm90by9nb29nbGVhcGlzL2FwaSkpID0gNTEzZjIzOQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdvb2dsZS5nb2xhbmcub3JnL2dlbnByb3RvL2dvb2dsZWFwaXMvcnBjKSkgPSA1MTNm MjM5Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdvbGFuZy5vcmcvZ3Jw YykpID0gMS43My4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdvbGFu Zy5vcmcvZ3JwYy9jbWQvcHJvdG9jLWdlbi1nby1ncnBjKSkgPSAxLjUuMQotCi0jIEJTRC0yLUNs YXVzZToKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3BrZy9lcnJv cnMpKSA9IDAuOS4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9y dXNzcm9zcy9ibGFja2ZyaWRheS92MikpID0gMi4xLjAKLQotIyBCU0QtMy1DbGF1c2U6Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZGFyaW8uY2F0L21lcmdvKSkgPSAxLjAuMQotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vYW50bHI0LWdvL2FudGxyL3Y0 KSkgPSA0LjEzLjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Ns b3VkZmxhcmUvY2lyY2wpKSA9IDEuNi4xCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9nb2xhbmcvcHJvdG9idWYpKSA9IDEuNS40Ci1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nb2xhbmcvc25hcHB5KSkgPSAwLjAuNAotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZ29vZ2xlL3V1aWQpKSA9IDEuNi4wCi1Q cm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9ncnBjLWVjb3N5c3RlbS9n cnBjLWdhdGV3YXkvdjIpKSA9IDIuMjcuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20vbWFuaWZvbGRjby9wcm9tcHR1aSkpID0gMC45LjAKLVByb3ZpZGVzOiAgICAg ICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL21pZWtnL2RucykpID0gMS4xLjYzCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9tdW5uZXJ6L2dvYXV0b25lZykpID0g YTdkYzhiNgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vcGJuamF5 L21lbW9yeSkpID0gN2I0ZWVhNgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20vcG1lemFyZC9nby1kaWZmbGliKSkgPSAxLjAuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRs ZWQoZ29sYW5nKGdpdGh1Yi5jb20vc3BmMTMvcGZsYWcpKSA9IDEuMC43Ci1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS90YWlsc2NhbGUvdHNjZXJ0KSkgPSBkM2Y4MzQw Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L2NyeXB0bykpID0g MC40MC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L2NyeXB0 by94NTA5cm9vdHMvZmFsbGJhY2spKSA9IDQ5YmY1YjgKLVByb3ZpZGVzOiAgICAgICBidW5kbGVk KGdvbGFuZyhnb2xhbmcub3JnL3gvZXhwKSkgPSA3ZTRjZTBhCi1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L21vZCkpID0gMC4yNS4wCi1Qcm92aWRlczogICAgICAg YnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L25ldCkpID0gMC40Mi4wCi1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L29hdXRoMikpID0gMC4zMC4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L3N5bmMpKSA9IDAuMTYuMAotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC9zeXMpKSA9IDAuMzQuMAot UHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC90ZXJtKSkgPSAwLjMz LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnb2xhbmcub3JnL3gvdGV4dCkpID0g MC4yNy4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29sYW5nLm9yZy94L3RpbWUp KSA9IDAuMTIuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvbGFuZy5vcmcveC90 b29scykpID0gMC4zNC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ29vZ2xlLmdv bGFuZy5vcmcvYXBpKSkgPSAwLjI0MC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z29vZ2xlLmdvbGFuZy5vcmcvcHJvdG9idWYpKSA9IDEuMzYuNgotCi0jIENDMC0xLjA6Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS96ZWViby9ibGFrZTMpKSA9IDAu Mi40Ci0KLSMgSVNDOgotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v ZGF2ZWNnaC9nby1zcGV3KSkgPSAxLjEuMQotCi0jIE1JVDoKLVByb3ZpZGVzOiAgICAgICBidW5k bGVkKGdvbGFuZyhnaXRodWIuY29tL0J1cm50U3VzaGkvdG9tbCkpID0gMS41LjAKLVByb3ZpZGVz OiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL0tpbU1hY2hpbmVHdW4vYXV0b21lbWxp bWl0KSkgPSAwLjcuNAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v TWFzdGVybWluZHMvc2VtdmVyL3YzKSkgPSAzLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20vTWFzdGVybWluZHMvc3ByaWcvdjMpKSA9IDMuMy4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9NaWNyb3NvZnQvZ28td2luaW8pKSA9 IDAuNi4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9hbGVjdGhv bWFzL2Nocm9tYS92MikpID0gMi4yMC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9hcnlhbm4vZGlmZmxpYikpID0gZmY1ZmY2ZAotUHJvdmlkZXM6ICAgICAgIGJ1 bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vYmVvcm43L3BlcmtzKSkgPSAxLjAuMQotUHJvdmlkZXM6 ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY2FkZHlzZXJ2ZXIvemVyb3NzbCkpID0g MC4xLjMKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Njb3ZlaWxs ZS9nby1zYWZlY2FzdCkpID0gMS42LjEKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhn aXRodWIuY29tL2NlbmthbHRpL2JhY2tvZmYvdjUpKSA9IDUuMC4yCi1Qcm92aWRlczogICAgICAg YnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9jZXNwYXJlL3h4aGFzaCkpID0gMS4xLjAKLVByb3Zp ZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2Nlc3BhcmUveHhoYXNoL3YyKSkg PSAyLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vY2h6eWVy L3JlYWRsaW5lKSkgPSAxLjUuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1 Yi5jb20vY3B1Z3V5ODMvZ28tbWQybWFuL3YyKSkgPSAyLjAuNwotUHJvdmlkZXM6ICAgICAgIGJ1 bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZGdyeXNraS9nby1mYXJtKSkgPSBhNmFlMjM2Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9kbGNsYXJrL3JlZ2V4cDIpKSA9 IDEuMTEuNQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vZHVzdGlu L2dvLWh1bWFuaXplKSkgPSAxLjAuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdp dGh1Yi5jb20vZmVsaXhnZS9odHRwc25vb3ApKSA9IDEuMC40Ci1Qcm92aWRlczogICAgICAgYnVu ZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9mcmFuY29pc3BxdC9nb2pheSkpID0gMS4yLjEzCi1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9meGFtYWNrZXIvY2Jvci92Mikp ID0gMi44LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL2dvLWNo aS9jaGkvdjUpKSA9IDUuMi4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHVi LmNvbS9odWFuZHUveHN0cmluZ3MpKSA9IDEuNS4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ2l0aHViLmNvbS9qYWNrYy9wZ3Bhc3NmaWxlKSkgPSAxLjAuMAotUHJvdmlkZXM6ICAg ICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vamFja2MvcGdzZXJ2aWNlZmlsZSkpID0gMDkx YzBiYQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vamFja2MvcGd4 L3Y1KSkgPSA1LjYuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v amFja2MvcHVkZGxlL3YyKSkgPSAyLjIuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5n KGdpdGh1Yi5jb20va2xhdXNwb3N0L2NwdWlkL3YyKSkgPSAyLjMuMAotUHJvdmlkZXM6ICAgICAg IGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vbGliZG5zL2xpYmRucykpID0gMS4xLjAKLVByb3Zp ZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL21hdHRuL2dvLWNvbG9yYWJsZSkp ID0gMC4xLjEzCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9tYXR0 bi9nby1pc2F0dHkpKSA9IDAuMC4yMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdp dGh1Yi5jb20vbWd1dHovYW5zaSkpID0gZDUxZTgwZQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQo Z29sYW5nKGdpdGh1Yi5jb20vbWl0Y2hlbGxoL2NvcHlzdHJ1Y3R1cmUpKSA9IDEuMi4wCi1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9taXRjaGVsbGgvZ28tcHMpKSA9 IDEuMC4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9taXRjaGVs bGgvcmVmbGVjdHdhbGspKSA9IDEuMC4yCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmco Z2l0aHViLmNvbS9xdWljLWdvL3FwYWNrKSkgPSAwLjUuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRs ZWQoZ29sYW5nKGdpdGh1Yi5jb20vcXVpYy1nby9xdWljLWdvKSkgPSAwLjU0LjAKLVByb3ZpZGVz OiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3JzL3hpZCkpID0gMS42LjAKLVByb3Zp ZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Nob3BzcHJpbmcvZGVjaW1hbCkp ID0gMS40LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NodXJj b29ML3Nhbml0aXplZF9hbmNob3JfbmFtZSkpID0gMS4wLjAKLVByb3ZpZGVzOiAgICAgICBidW5k bGVkKGdvbGFuZyhnaXRodWIuY29tL3NpcnVwc2VuL2xvZ3J1cykpID0gMS45LjMKLVByb3ZpZGVz OiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NsYWNraHEvbmVidWxhKSkgPSAxLjku NQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3Br Y3M3KSkgPSAwLjIuMQotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20v c3BmMTMvY2FzdCkpID0gMS43LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRo dWIuY29tL3N0b2V3ZXIvZ28tc3RyY2FzZSkpID0gMS4yLjAKLVByb3ZpZGVzOiAgICAgICBidW5k bGVkKGdvbGFuZyhnaXRodWIuY29tL3N0cmV0Y2hyL3Rlc3RpZnkpKSA9IDEuMTAuMAotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vdXJmYXZlL2NsaSkpID0gMS4yMi4x NwotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20veDQ0OC9mbG9hdDE2 KSkgPSAwLjguNAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20veXVp bi9nb2xkbWFyaykpID0gMS43LjEzCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0 aHViLmNvbS95dWluL2dvbGRtYXJrLWhpZ2hsaWdodGluZy92MikpID0gMzc0NDlhYgotUHJvdmlk ZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLmV0Y2QuaW8vYmJvbHQpKSA9IDEuMy4xMAotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvLnViZXIub3JnL2F1dG9tYXhwcm9jcykpID0g MS42LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby51YmVyLm9yZy9tdWx0aWVy cikpID0gMS4xMS4wCi1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ28udWJlci5vcmcv emFwKSkgPSAxLjI3LjAKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnby51YmVyLm9y Zy96YXAvZXhwKSkgPSAwLjMuMAotUHJvdmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdvcGtn LmluL25hdGVmaW5jaC9sdW1iZXJqYWNrLnYyKSkgPSAyLjIuMQotCi0jIE1QTC0yLjA6Ci1Qcm92 aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1zcWwtZHJpdmVyL215c3Fs KSkgPSAxLjguMQotCi0jIEFwYWNoZS0yLjAgQU5EIEJTRC0yLUNsYXVzZToKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnby5zdGVwLnNtL2NyeXB0bykpID0gMC42Ny4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9zbWFsbHN0ZXAvY2xpLXV0aWxzKSkg PSAwLjEyLjEKLQotIyBBcGFjaGUtMi4wIEFORCBCU0QtMy1DbGF1c2U6Ci1Qcm92aWRlczogICAg ICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1qb3NlL2dvLWpvc2UvdjMpKSA9IDMuMC40 Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNvbS9nby1qb3NlL2dvLWpv c2UvdjQpKSA9IDQuMC41Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChnb2xhbmcoZ2l0aHViLmNv bS9nb29nbGVhcGlzL2dheC1nby92MikpID0gMi4xNC4yCi1Qcm92aWRlczogICAgICAgYnVuZGxl ZChnb2xhbmcoZ2l0aHViLmNvbS9taG9sdC9hY21lei92MykpID0gMy4xLjIKLVByb3ZpZGVzOiAg ICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3NtYWxsc3RlcC9jZXJ0aWZpY2F0ZXMpKSA9 IDAuMjguNAotCi0jIEFwYWNoZS0yLjAgQU5EIE1JVDoKLVByb3ZpZGVzOiAgICAgICBidW5kbGVk KGdvbGFuZyhnaXRodWIuY29tL2RncmFwaC1pby9yaXN0cmV0dG8pKSA9IDAuMi4wCi1Qcm92aWRl czogICAgICAgYnVuZGxlZChnb2xhbmcoZ29wa2cuaW4veWFtbC52MykpID0gMy4wLjEKLQotIyBC U0QtMS1DbGF1c2UgQU5EIEJTRC0zLUNsYXVzZToKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdv bGFuZyhmaWxpcHBvLmlvL2Vkd2FyZHMyNTUxOSkpID0gMS4xLjAKLQotIyBCU0QtMi1DbGF1c2Ut Vmlld3MgQU5EIEJTRC0zLUNsYXVzZToKLVByb3ZpZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyho b3dldHQubmV0L3BsaXN0KSkgPSAxLjAuMAotCi0jIEJTRC0zLUNsYXVzZSBBTkQgTUlUOgotUHJv dmlkZXM6ICAgICAgIGJ1bmRsZWQoZ29sYW5nKGdpdGh1Yi5jb20vc21hbGxzdGVwL3NjZXApKSA9 IDhjZjFjYTQKLQotIyBDQzAtMS4wIEFORCBNSVQ6Ci1Qcm92aWRlczogICAgICAgYnVuZGxlZChn b2xhbmcoZ2l0aHViLmNvbS9BbmRyZWFzQnJpZXNlL2JibG9vbSkpID0gNDZiMzQ1YgotCi0jIEFw YWNoZS0yLjAgQU5EIEJTRC0zLUNsYXVzZSBBTkQgTUlUOgotUHJvdmlkZXM6ICAgICAgIGJ1bmRs ZWQoZ29sYW5nKGdpdGh1Yi5jb20va2xhdXNwb3N0L2NvbXByZXNzKSkgPSAxLjE4LjAKLVByb3Zp ZGVzOiAgICAgICBidW5kbGVkKGdvbGFuZyhnaXRodWIuY29tL3Byb21ldGhldXMvY2xpZW50X2dv bGFuZykpID0gMS4yMy4wCi0KIAogJWRlc2NyaXB0aW9uCiBDYWRkeSBpcyBhbiBleHRlbnNpYmxl IHNlcnZlciBwbGF0Zm9ybSB0aGF0IHVzZXMgVExTIGJ5IGRlZmF1bHQuCkBAIC0yMzcsMjQgKzYx LDIxIEBAIENhZGR5IGlzIGFuIGV4dGVuc2libGUgc2VydmVyIHBsYXRmb3JtIHRoYXQgdXNlcyBU TFMgYnkgZGVmYXVsdC4KIAogJXByZXAKICVhdXRvc2V0dXAgLXAgMSAtYSAxCi1ta2RpciAtcCBz cmMvJChkaXJuYW1lICV7Z29pcGF0aH0pCi1sbiAtcyAkUFdEIHNyYy8le2dvaXBhdGh9CiAKIAog JWJ1aWxkCi0laWYgJXtkZWZpbmVkIGVsOH0KLWV4cG9ydCBHTzExMU1PRFVMRT1vZmYKLSVlbmRp ZgotZXhwb3J0IEdPUEFUSD0kUFdECi1leHBvcnQgTERGTEFHUz0iLVggJXtnb2lwYXRofS5DdXN0 b21WZXJzaW9uPXYle3ZlcnNpb259IgotJWdvYnVpbGQgLW8gYmluL2NhZGR5ICV7Z29pcGF0aH0v Y21kL2NhZGR5CitleHBvcnQgR09fTERGTEFHUz0iLVggZ2l0aHViLmNvbS9jYWRkeXNlcnZlci9j YWRkeS92Mi5DdXN0b21WZXJzaW9uPXYle3ZlcnNpb259IgorJWdvYnVpbGQgLW8gYmluL2NhZGR5 IC4vY21kL2NhZGR5CiAKIAogJWluc3RhbGwKKyMgbGljZW5zZXMKKyVnb192ZW5kb3JfbGljZW5z ZV9pbnN0YWxsIC1jICV7UzoyfQorCiAjIGNvbW1hbmQKIGluc3RhbGwgLUQgLXAgLW0gMDc1NSAt dCAle2J1aWxkcm9vdH0le19iaW5kaXJ9IGJpbi9jYWRkeQogCi0jIG1hbiBwYWdlcworIyBtYW4g cGFnZQogLi9iaW4vY2FkZHkgbWFucGFnZSAtLWRpcmVjdG9yeSAle2J1aWxkcm9vdH0le19tYW5k aXJ9L21hbjgKIAogIyBjb25maWcKQEAgLTI5NywxMCArMTE4LDEzIEBAIGluc3RhbGwgLWQgLW0g MDc1NSAle2J1aWxkcm9vdH0le2Zpc2hfY29tcGxldGlvbnNfZGlyfQogIyBlbnN1cmUgdGhhdCB0 aGUgdmVyc2lvbiB3YXMgZW1iZWRkZWQgY29ycmVjdGx5CiBbWyAiJCguL2Jpbi9jYWRkeSB2ZXJz aW9uKSIgPT0gInYle3ZlcnNpb259IiBdXSB8fCBleGl0IDEKIAotIyBydW4gdGhlIHVwc3RyZWFt IHRlc3RzCi1leHBvcnQgR09QQVRIPSRQV0QKLWNkIHNyYy8le2dvaXBhdGh9Ci0lZ290ZXN0IC4v Li4uCisjIGxpY2Vuc2UgdmFsaWRhdGlvbgorJWdvX3ZlbmRvcl9saWNlbnNlX2NoZWNrIC1jICV7 UzoyfQorCisjIHVwc3RyZWFtIHRlc3RzCislaWYgJXt3aXRoIGNoZWNrfQorJWdvY2hlY2syCisl ZW5kaWYKIAogCiAlcHJlCkBAIC0zNTgsOSArMTgyLDcgQEAgaWYgWyAkMSAtZXEgMCBdOyB0aGVu CiBmaQogCiAKLSVmaWxlcwotJWxpY2Vuc2UgTElDRU5TRQotJWRvYyBSRUFETUUubWQgQVVUSE9S UworJWZpbGVzIC1mICV7Z29fdmVuZG9yX2xpY2Vuc2VfZmlsZWxpc3R9CiAle19iaW5kaXJ9L2Nh ZGR5CiAle19tYW5kaXJ9L21hbjgvY2FkZHkqLjgqCiAle19kYXRhZGlyfS9jYWRkeQpAQCAtMzcx LDEzICsxOTMsNiBAQCBmaQogJWNvbmZpZyhub3JlcGxhY2UpICV7X3N5c2NvbmZkaXJ9L2NhZGR5 L0NhZGR5ZmlsZQogJWRpciAle19zeXNjb25mZGlyfS9jYWRkeS9DYWRkeWZpbGUuZAogJWF0dHIo MDc1MCxjYWRkeSxjYWRkeSkgJWRpciAle19zaGFyZWRzdGF0ZWRpcn0vY2FkZHkKLSVpZiAle2Rl ZmluZWQgZWw4fQotIyB0aGlzIGlzIG5vcm1hbGx5IG93bmVkIGJ5IGZpbGVzeXN0ZW0KLSVkaXIg JXtfZGF0YWRpcn0venNoCi0lZGlyICV7X2RhdGFkaXJ9L3pzaC9zaXRlLWZ1bmN0aW9ucwotJWRp ciAle19kYXRhZGlyfS9maXNoCi0lZGlyICV7X2RhdGFkaXJ9L2Zpc2gvdmVuZG9yX2NvbXBsZXRp b25zLmQKLSVlbmRpZgogJXtiYXNoX2NvbXBsZXRpb25zX2Rpcn0vY2FkZHkKICV7enNoX2NvbXBs ZXRpb25zX2Rpcn0vX2NhZGR5CiAle2Zpc2hfY29tcGxldGlvbnNfZGlyfS9jYWRkeS5maXNoCgpk aWZmIC0tZ2l0IGEvY3JlYXRlLXZlbmRvci10YXJiYWxsLnNoIGIvY3JlYXRlLXZlbmRvci10YXJi YWxsLnNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDc1NQppbmRleCA4N2JhY2UxLi4wMDAwMDAwCi0t LSBhL2NyZWF0ZS12ZW5kb3ItdGFyYmFsbC5zaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAg QEAKLSMhL3Vzci9iaW4vYmFzaAotCi10YWc9JDEKLQotaWYgW1sgLXogJHRhZyBdXTsgdGhlbgot ICAgIGVjaG8gIlRoaXMgc2NyaXB0IHJlcXVpcmVzIHRoZSB0YWcgYXMgYW4gYXJndW1lbnQuIgot ICAgIGV4aXQgMQotZmkKLQotc2V0IC1ldW8gcGlwZWZhaWwKLQotUEtHPSJjYWRkeSIKLVJFUE89 Imh0dHBzOi8vZ2l0aHViLmNvbS9jYWRkeXNlcnZlci8kUEtHIgotCi0jIHRyYW5zZm9ybSB0YWcg aW50byB2ZXJzaW9uCi1jYXNlICR0YWcgaW4KLSAgICAqYmV0YSopCi0gICAgICAgICMgdjIuMC4w LWJldGEuMSAtPiAyLjAuMH5iZXRhMQotICAgICAgICB0ZW1wPSR7dGFnI3Z9Ci0gICAgICAgIHZl cnNpb249JHt0ZW1wLy1iZXRhLi9+YmV0YX0KLSAgICAgICAgOzsKLSAgICAqcmMqKQotICAgICAg ICAjIHYyLjAuMC1yYy4xIC0+IDIuMC4wfnJjMQotICAgICAgICB0ZW1wPSR7dGFnI3Z9Ci0gICAg ICAgIHZlcnNpb249JHt0ZW1wLy1yYy4vfnJjfQotICAgICAgICA7OwotICAgICopCi0gICAgICAg ICMgdjIuMC4wIC0+IDIuMC4wCi0gICAgICAgIHZlcnNpb249JHt0YWcjdn0KLSAgICAgICAgOzsK LWVzYWMKLQotZWNobyAiVXNpbmcgdGFnOiAkdGFnIgotZWNobyAiVXNpbmcgdmVyc2lvbjogJHZl cnNpb24iCi0KLWdpdCAtYyBhZHZpY2UuZGV0YWNoZWRIZWFkPWZhbHNlIGNsb25lIC0tYnJhbmNo ICR0YWcgLS1kZXB0aCAxICRSRVBPLmdpdCAkUEtHLSR2ZXJzaW9uCi1wdXNoZCAkUEtHLSR2ZXJz aW9uCi1HT1BST1hZPSdodHRwczovL3Byb3h5LmdvbGFuZy5vcmcsZGlyZWN0JyBnbyBtb2QgdmVu ZG9yCi1wb3BkCi10YXIgLUMgJFBLRy0kdmVyc2lvbiAtY3pmICRQS0ctJHZlcnNpb24tdmVuZG9y LnRhci5neiB2ZW5kb3IKCmRpZmYgLS1naXQgYS9nby12ZW5kb3ItdG9vbHMudG9tbCBiL2dvLXZl bmRvci10b29scy50b21sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZjE2 MzYKLS0tIC9kZXYvbnVsbAorKysgYi9nby12ZW5kb3ItdG9vbHMudG9tbApAQCAtMCwwICsxLDYw IEBACitbYXJjaGl2ZV0KK3ByZV9jb21tYW5kcyA9IFsKKyAgICAjIHRoaXMgcGF0Y2ggYWRkcyBz b21lIGltcG9ydCBwYXRocyB0aGF0IHZlbmRvcmluZyBtdXN0IGFjY291bnQgZm9yCisgICAgWyJi YXNoIiwgIi1jIiwgInBhdGNoIC1wIDEgLWkgJEdWVF9DV0QvMDAwNy1maXgtRmFzdENHSS1zcGxp dC1TQ1JJUFRfTkFNRS1QQVRIX0lORk8tY29uZnVzaW9uLnBhdGNoIl0sCitdCisKK1thcmNoaXZl LmRlcGVuZGVuY3lfb3ZlcnJpZGVzXQorIyBDVkUtMjAyNS02NDcwMgorImdpdGh1Yi5jb20vcXVp Yy1nby9xdWljLWdvIiA9ICJ2MC41Ny4wIgorCisjIENWRS0yMDI1LTQ3OTEzLCBDVkUtMjAyNi0z OTgyOCwgQ1ZFLTIwMjYtMzk4MjksIGFuZCBDVkUtMjAyNi0zOTgzMAorImdvbGFuZy5vcmcveC9j cnlwdG8iID0gInYwLjUyLjAiCisKKyMgQ1ZFLTIwMjUtNDQwMDUgYW5kIENWRS0yMDI2LTQwMDk3 CisiZ2l0aHViLmNvbS9zbWFsbHN0ZXAvY2VydGlmaWNhdGVzIiA9ICJ2MC4zMC4wIgorCisjIENW RS0yMDI1LTY5NzI1CisjIHY1LjIuNCBmaXhlcyB0aGUgQ1ZFLCBidXQgdjUuMi41IGlzIG5lZWRl ZCB0byB3b3JrIHdpdGggb3RoZXIgb3ZlcnJpZGVzCisiZ2l0aHViLmNvbS9nby1jaGkvY2hpL3Y1 IiA9ICJ2NS4yLjUiCisKKyMgQ1ZFLTIwMjYtNTE2MAorImdpdGh1Yi5jb20veXVpbi9nb2xkbWFy ay9yZW5kZXJlci9odG1sIiA9ICJ2MS43LjE3IgorCitbbGljZW5zaW5nXQorZGV0ZWN0b3IgPSAi YXNrYWxvbm8iCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3BhdGggPSAidmVuZG9yL2dpdGh1 Yi5jb20vQW5kcmVhc0JyaWVzZS9iYmxvb20vTElDRU5TRSIKK3NoYTI1NnN1bSA9ICI2ZGQxY2Vj OGZlOTY2OTkwZmJjZGQwMGNhNjRlMDU2MDRjNjZiZDFmYTE1NzNkODYyZGNlYWYxOGNkZTg2OWU0 IgorZXhwcmVzc2lvbiA9ICJDQzAtMS4wIEFORCBNSVQiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2Vz XV0KK3BhdGggPSAidmVuZG9yL2dpdGh1Yi5jb20vY2xvdWRmbGFyZS9jaXJjbC9MSUNFTlNFIgor c2hhMjU2c3VtID0gImIwZGExNzY0ZmU0ZDEzZDYxMGI2OTU1MzZmYzNmMmViYzM2MjQ4MmQwNTNh MWNkMjU4ZTM2OTc1YmM2Yjk3YTciCitleHByZXNzaW9uID0gIkJTRC0zLUNsYXVzZSIKKworW1ts aWNlbnNpbmcubGljZW5zZXNdXQorcGF0aCA9ICJ2ZW5kb3IvZ2l0aHViLmNvbS9kZ3JhcGgtaW8v cmlzdHJldHRvL3ovTElDRU5TRSIKK3NoYTI1NnN1bSA9ICIzNDlmZWMyNzExNDQzZTBkYThmMzZl Mzg4OTMxZmRmZTJmODc0ZmRkNGRmMzA3YjlhMzc5ZDAxYmI5NzY0ZGM4IgorZXhwcmVzc2lvbiA9 ICJBcGFjaGUtMi4wIEFORCBNSVQiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2VzXV0KK3BhdGggPSAi dmVuZG9yL2dpdGh1Yi5jb20vbWlla2cvZG5zL0NPUFlSSUdIVCIKK3NoYTI1NnN1bSA9ICI2NjU1 MGMwYWQ1Y2E3ZWMxZTA4NjgzZTVmODcyY2M0NWM3NDFmMzExZWVlM2I4ZWU0ODQyMDZlY2JmOWM3 NDBkIgorZXhwcmVzc2lvbiA9ICJCU0QtMy1DbGF1c2UiCisKK1tbbGljZW5zaW5nLmxpY2Vuc2Vz XV0KK3BhdGggPSAidmVuZG9yL2dpdGh1Yi5jb20vc2hvcHNwcmluZy9kZWNpbWFsL0xJQ0VOU0Ui CitzaGEyNTZzdW0gPSAiYjkyYmEwZjZlZTAyZjIzMDk2MjhiZmRhZGIxMjM2NjhhMTdjMDE2ZTQ3 NWJhNDc3Yjg1N2QzMzQ3MGQ5ZDYyNSIKK2V4cHJlc3Npb24gPSAiTUlUIgorCitbW2xpY2Vuc2lu Zy5saWNlbnNlc11dCitwYXRoID0gInZlbmRvci9nb3BrZy5pbi95YW1sLnYzL0xJQ0VOU0UiCitz aGEyNTZzdW0gPSAiZDE4ZjYzMjNiNzFiMGI3NjhiYjVlOTYxNmUzNmRhMzkwZmJkMzkzNjlhODE4 MDdjY2EzNTJkZTRlNGU2YWEwYiIKK2V4cHJlc3Npb24gPSAiQXBhY2hlLTIuMCBBTkQgTUlUIgor CitbW2xpY2Vuc2luZy5saWNlbnNlc11dCitwYXRoID0gInZlbmRvci9ob3dldHQubmV0L3BsaXN0 L0xJQ0VOU0UiCitzaGEyNTZzdW0gPSAiMjBkOWI3ZDkzNzIzNjk0ODRlY2FkYWUyMjlkM2UzZWZl ZTgwMjliMjU5ZTExYzlhMWIwN2QyZTBhM2M4MmUzOSIKK2V4cHJlc3Npb24gPSAiQlNELTItQ2xh dXNlLVZpZXdzIEFORCBCU0QtMy1DbGF1c2UiCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJj ZXMKaW5kZXggODNkOGNiYy4uMWQ2NDI0MCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3Vy Y2VzCkBAIC0xLDIgKzEsMiBAQAogU0hBNTEyIChjYWRkeS0yLjEwLjIudGFyLmd6KSA9IDk4NmIx MWUyNmNkYWE0ZmJlNTU0Y2Y3YjZiYjMzMzQwNGZjMzMxOTA5NDVlZjk5NTEyMjUxOGEzZmUyZmU1 ODJhNGNmNGQyYThhYjQ2M2UwNDU4NTc2NTBlOWRlYjg4MTIzZjhkODZhOTNkYmRjNDY1NjM1NzU1 YjAwMzU2MjA1Ci1TSEE1MTIgKGNhZGR5LTIuMTAuMi12ZW5kb3IudGFyLmd6KSA9IDhiNGI2M2Y1 YjhiYTRiMjllYzAxZGE1NTgyMDIxNGY0YzYzYTFjNTQ1NzU2ODE1ZTI2ZDczYmRjYzNiM2FjNWFh ZGE4NjNlZjMyYWI2ZGI4OThiOTBhOTUwMWMwZWQ2ZTAzZWQ0NGU1MzYxMmNkYjhkODcyYWI4OTQ4 MGQ0NjZkCitTSEE1MTIgKGNhZGR5LTIuMTAuMi12ZW5kb3IudGFyLmJ6MikgPSBkMmY2NGFiZWU3 MDUwM2I3MDI2OGMxZjYyNDk3YzkzNjg1MTdlYTFhN2ZmMDczOTc3OTc0ZWJlZTA5NjhjZDIxNjQ5 ZmUwMWJmNjkxYmVmMWUzYjBhNjBmNTU5NmFmMjE3ZWJiYjUwZDQyNjM4MzFiYjViN2NiZjhmYTQ2 ZDZlZAo=