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: =?utf-8?b?T25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+?= To: git-commits@fedoraproject.org Subject: [rpms/rpkg] 1.70-1: New release 1.67 Date: Mon, 10 Aug 2026 21:44:43 GMT Message-ID: <178639828310.1.3930174049131886884.rpms-rpkg-8a987032d167@fedoraproject.org> List-ID: X-Git-Repo: rpms/rpkg X-Git-Branch: 1.70-1 X-Git-Rev: 8a987032d1675375f57417d2b7b255d8fdb815a1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcnBrZwogICAgICAgICAgICBCcmFuY2ggOiAxLjcwLTEKICAgICAgICAgICAg Q29tbWl0IDogOGE5ODcwMzJkMTY3NTM3NWY1NzQxN2QyYjdiMjU1ZDhmZGI4MTVhMQogICAgICAg ICAgICBBdXRob3IgOiBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAyNC0wNi0yNlQwNDowMTowNSswMDowMAogICAgICAgICAgICBTdGF0cyAg OiArNjgvLTMyMjkgaW4gMzcgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRwczovL3Ny Yy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3Jwa2cvYy84YTk4NzAzMmQxNjc1Mzc1ZjU3NDE3ZDJi N2IyNTVkOGZkYjgxNWExP2JyYW5jaD0xLjcwLTEKCiAgICAgICAgICAgIExvZzoKICAgICAgICAg ICAgTmV3IHJlbGVhc2UgMS42NwoKU2lnbmVkLW9mZi1ieTogT25kxZllaiBOb3NlayA8b25vc2Vr QHJlZGhhdC5jb20+CgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmlu ZGV4IGEyOTI1N2UuLjdhOTMzYzQgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGln bm9yZQpAQCAtNjIsMyArNjIsNCBAQAogL3Jwa2ctMS42NC50YXIuZ3oKIC9ycGtnLTEuNjUudGFy Lmd6CiAvcnBrZy0xLjY2LnRhci5negorL3Jwa2ctMS42Ny50YXIuZ3oKCmRpZmYgLS1naXQgYS8w MDAyLVJlbW92ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoIGIvMDAwMi1SZW1vdmUt cHl0ZXN0LWNvdmVyYWdlLWV4ZWN1dGlvbi5wYXRjaAppbmRleCBmYmM5Y2I3Li5kNzQ2YzdiIDEw MDY0NAotLS0gYS8wMDAyLVJlbW92ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoCisr KyBiLzAwMDItUmVtb3ZlLXB5dGVzdC1jb3ZlcmFnZS1leGVjdXRpb24ucGF0Y2gKQEAgLTEsMjUg KzEsMTEgQEAKLUZyb20gOGJmN2MzYjEzMzY3MzhlZDU5MzhmNjc5ZmM0ZDQ1MGMzZjhmMGE2MiBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhh dC5jb20+Ci1EYXRlOiBXZWQsIDcgU2VwIDIwMjIgMDA6MTE6NTYgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSF0gUmVtb3ZlIHB5dGVzdCBjb3ZlcmFnZSBleGVjdXRpb24KLQotU2lnbmVkLW9mZi1ieTog T25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHNldHVwLmNmZyB8IDEgLQot IDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zZXR1cC5jZmcg Yi9zZXR1cC5jZmcKLWluZGV4IDVlMjljMmYuLjRmZTczZmEgMTAwNjQ0Ci0tLS0gYS9zZXR1cC5j ZmcKLSsrKyBiL3NldHVwLmNmZwotQEAgLTUsNyArNSw2IEBAIHRlc3QgPSBweXRlc3QKKy0tLSBh L3NldHVwLmNmZwkyMDIzLTEyLTExIDE4OjIxOjQ1LjU4NjY1NjA1OCArMDEwMAorKysrIGIvc2V0 dXAuY2ZnCTIwMjQtMDYtMjYgMDI6MzM6NTMuMDE3NjQ1NjEyICswMjAwCitAQCAtNSw4ICs1LDQg QEAKICBtYXgtbGluZS1sZW5ndGggPSAxMDAKICAKICBbdG9vbDpweXRlc3RdCistIyBhZGRpdGlv bmFsIHZhbHVlcyBmb3IgJ2FkZG9wdHMnIGNhbiBiZToKKy0jIC0tY292LXJlcG9ydCBodG1sCist IyAtcmEgLXEKIC1hZGRvcHRzID0gLS1jb3Y9cHlycGtnCiAgdGVzdHBhdGhzID0gdGVzdHMKLSAK LSBbZWdnX2luZm9dCi0tLSAKLTIuMzcuMgotCgpkaWZmIC0tZ2l0IGEvMDAwNC1Qcm9jZXNzLXNv dXJjZS1VUkxzLXdpdGgtZnJhZ21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaCBiLzAwMDQtUHJv Y2Vzcy1zb3VyY2UtVVJMcy13aXRoLWZyYWdtZW50LWluLXByZS1wdXNoLWhvb2sucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGUyNTIwMzguLjAwMDAwMDAKLS0tIGEvMDAwNC1Q cm9jZXNzLXNvdXJjZS1VUkxzLXdpdGgtZnJhZ21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaAor KysgL2Rldi9udWxsCkBAIC0xLDQyICswLDAgQEAKLUZyb20gNmQ4MTNkNDBhZmY5MTM0NWIxNzEz MjM1MTJiM2FlNjQxYTE2OGQ0NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRG LTg/cT9MdWJvbT1DMz1BRHI9MjBTZWRsPUMzPUExPUM1PTk5Pz0gPGxzZWRsYXJAcmVkaGF0LmNv bT4KLURhdGU6IE1vbiwgMjcgRmViIDIwMjMgMDg6MzY6MjAgKzAxMDAKLVN1YmplY3Q6IFtQQVRD SF0gUHJvY2VzcyBzb3VyY2UgVVJMcyB3aXRoIGZyYWdtZW50IGluIHByZS1wdXNoIGhvb2sKLU1J TUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK LUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotU29tZSBkb3dubG9hZCBzZXJ2aWNl cyBkbyBub3QgaGF2ZSB0aGUgYWN0dWFsIGZpbGVuYW1lIGluIHRoZSBVUkwuCi1QYWNrYWdlcnMg d29yayBhcm91bmQgdGhhdCBieSBhZGRpbmcgYSBmcmFnbWVudCB0byB0aGUgVVJMLiBUaGlzIGlz IHRoZW4KLWlnbm9yZWQgYnkgYW55IHNlcnZlciwgYnV0IHRyaWNrcyBSUE0gaW50byBnZXR0aW5n IHRoZSBjb3JyZWN0IGZpbGVuYW1lLgotCi1FeGFtcGxlOgotCi0gICAgU291cmNlMDogaHR0cHM6 Ly9jcmF0ZXMuaW8vYXBpL3YxL2NyYXRlcy9hY3RpeC8wLjEzLjAvZG93bmxvYWQjL2FjdGl4LTAu MTMuMC5jcmF0ZQotCi1UaGUgZmlsZW5hbWUgaXMgb2J2aW91c2x5IGBhY3RpeC0wLjEzLjAuY3Jh dGVgLCBidXQgcnBrZyB3aXRob3V0IHRoaXMKLXBhdGNoIHdpbGwgY29tZSB1cCB3aXRoIGBkb3du bG9hZGAuCi0KLVNpZ25lZC1vZmYtYnk6IEx1Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhh dC5jb20+Ci0tLS0KLSBweXJwa2cvX19pbml0X18ucHkgfCA0ICsrKy0KLSAxIGZpbGUgY2hhbmdl ZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9weXJwa2cv X19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKLWluZGV4IDZhMGU5ZWIuLmM2NTA4NTEg MTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkKLSsrKyBiL3B5cnBrZy9fX2luaXRfXy5w eQotQEAgLTQ0NjQsNyArNDQ2NCw5IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAg ICAgICAgICAgICMgZmluZCBvdXQgdGhlIGZvcm1hdCBvZiB0aGUgc291cmNlIGZpbGUgcGF0aC4g RnJvbSBVUkwgdXNlIGp1c3QgdGhlIGZpbGUgbmFtZS4KLSAgICAgICAgICAgICAgICAgIyBXZSB3 YW50IHRvIGtlZXAgaGllcmFyY2h5IG9mIHRoZSBmaWxlcyBpZiBwb3NzaWJsZQotICAgICAgICAg ICAgICAgICByZXMgPSB1cmxsaWIucGFyc2UudXJscGFyc2UoZmlsZV9sb2NhdGlvbikKLS0gICAg ICAgICAgICAgICAgaWYgcmVzLnNjaGVtZSBhbmQgcmVzLm5ldGxvYzoKLSsgICAgICAgICAgICAg ICAgaWYgcmVzLnNjaGVtZSBhbmQgcmVzLmZyYWdtZW50OgotKyAgICAgICAgICAgICAgICAgICAg c291cmNlX2ZpbGVzLmFwcGVuZChvcy5wYXRoLmJhc2VuYW1lKHJlcy5mcmFnbWVudCkpCi0rICAg ICAgICAgICAgICAgIGVsaWYgcmVzLnNjaGVtZSBhbmQgcmVzLm5ldGxvYzoKLSAgICAgICAgICAg ICAgICAgICAgIHNvdXJjZV9maWxlcy5hcHBlbmQob3MucGF0aC5iYXNlbmFtZShyZXMucGF0aCkp Ci0gICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBzb3VyY2VfZmls ZXMuYXBwZW5kKGZpbGVfbG9jYXRpb24pCi0tLSAKLTIuMzkuMgotCgpkaWZmIC0tZ2l0IGEvMDAw NS1jb250YWluZXItYnVpbGQtdXBkYXRlLXNpZ25pbmctaW50ZW50LWhlbHAtZm9yLU9TQlMtLnBh dGNoIGIvMDAwNS1jb250YWluZXItYnVpbGQtdXBkYXRlLXNpZ25pbmctaW50ZW50LWhlbHAtZm9y LU9TQlMtLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0ZWFkNmEzLi4wMDAw MDAwCi0tLSBhLzAwMDUtY29udGFpbmVyLWJ1aWxkLXVwZGF0ZS1zaWduaW5nLWludGVudC1oZWxw LWZvci1PU0JTLS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gZTM4 Y2ZlNGI2ODhiNjAwYzQxMWE5NzQ1OTIyYjc3ZWJiOWMxNDEyMiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEtlbiBEcmV5ZXIgPGtkcmV5ZXJAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwg MjggRmViIDIwMjMgMTY6MTc6MDMgLTA1MDAKLVN1YmplY3Q6IFtQQVRDSF0gY29udGFpbmVyLWJ1 aWxkOiB1cGRhdGUgLS1zaWduaW5nLWludGVudCBoZWxwIGZvciBPU0JTIDIKLQotT1NCUyAyIGxv Z3MgdGhlIHJlYWN0b3IgY29uZmlndXJhdGlvbiBpbiBhIHNsaWdodGx5IGRpZmZlcmVudCB3YXku Ci1VcGRhdGUgdGhlIC0taGVscCB0ZXh0IGZvciAtLXNpZ25pbmctaW50ZW50IHRvIHBvaW50IHVz ZXJzIGF0IHRoZSBuZXcKLWxvY2F0aW9uLgotCi1TaWduZWQtb2ZmLWJ5OiBLZW4gRHJleWVyIDxr ZHJleWVyQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cvY2xpLnB5IHwgMiArLQotIDEgZmlsZSBj aGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1kaWZmIC0tZ2l0IGEvcHly cGtnL2NsaS5weSBiL3B5cnBrZy9jbGkucHkKLWluZGV4IDQxYzQzNTQuLmMzNjcyYjMgMTAwNjQ0 Ci0tLS0gYS9weXJwa2cvY2xpLnB5Ci0rKysgYi9weXJwa2cvY2xpLnB5Ci1AQCAtMTcyNCw3ICsx NzI0LDcgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6Ci0gICAgICAgICAgICAgIiBzZXJ2ZXIu IElmIHVuc3BlY2lmaWVkLCB0aGUgc2VydmVyIHdpbGwgdXNlIHRoZSBzaWduaW5nIGludGVudCIK LSAgICAgICAgICAgICAiIG9mIHRoZSBjb21wb3NlX2lkcyB5b3Ugc3BlY2lmeSwgb3IgdGhlIHNl cnZlcidzIgotICAgICAgICAgICAgICIgZGVmYXVsdF9zaWduaW5nX2ludGVudC4gVG8gdmlldyB0 aGUgZnVsbCBsaXN0IG9mIHBvc3NpYmxlIgotLSAgICAgICAgICAgICIgbmFtZXMsIHNlZSBSRUFD VE9SX0NPTkZJRyBpbiBvcmNoZXN0cmF0b3IubG9nLiIpCi0rICAgICAgICAgICAgIiBuYW1lcywg c2VlIGF0b21pY19yZWFjdG9yLmNvbmZpZyBpbiBvc2JzLWJ1aWxkLmxvZy4iKQotIAotICAgICAg ICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKLSAgICAgICAgICAgICAnLS1za2lwLXJlbW90ZS1ydWxl cy12YWxpZGF0aW9uJywKLS0tIAotMi4zOS4yCi0KCmRpZmYgLS1naXQgYS8wMDA2LURvLW5vdC1n ZW5lcmF0ZS1wcmUtcHVzaC1ob29rLXNjcmlwdC1pbi1zb21lLWNhc2VzLnBhdGNoIGIvMDAwNi1E by1ub3QtZ2VuZXJhdGUtcHJlLXB1c2gtaG9vay1zY3JpcHQtaW4tc29tZS1jYXNlcy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzM2OTk1OS4uMDAwMDAwMAotLS0gYS8wMDA2 LURvLW5vdC1nZW5lcmF0ZS1wcmUtcHVzaC1ob29rLXNjcmlwdC1pbi1zb21lLWNhc2VzLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSAzMGYxODk3MzYxMzdhNTBkYTRi NzQwYWNmNzc1ZmY2Njc1YTE1YTcwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25k cmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IFdlZCwgOCBNYXIgMjAyMyAxNjoz OToxNiArMDEwMAotU3ViamVjdDogW1BBVENIXSBEbyBub3QgZ2VuZXJhdGUgcHJlLXB1c2ggaG9v ayBzY3JpcHQgaW4gc29tZSBjYXNlcwotCi1Tb21lIHJwa2cgdXNlcnMgZG9uJ3QgdXNlIGZlZHBr ZyBvciBzaW1pbGFyIHRvb2wgZm9yIGNsb25pbmcKLWFuZCB0aGVyZWZvcmUgdGhlcmUgaXMgbm8g dG9vbCB0byBleGVjdXRlIHRoZSBwcmUtcHVzaC1jaGVjawotZnVuY3Rpb24uIERvIG5vdCBnZW5l cmF0ZSB0aGUgaG9vayBzY3JpcHQgaW4gdGhpcyBjYXNlLgotCi1GaXhlczogIzY2NQotSklSQTog UkhFTENNUC0xMTM5MgotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0 LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8IDcgKysrKysrKwotIDEgZmlsZSBjaGFu Z2VkLCA3IGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBi L3B5cnBrZy9fX2luaXRfXy5weQotaW5kZXggYWNkYWQyMi4uNzc2Y2IyMSAxMDA2NDQKLS0tLSBh L3B5cnBrZy9fX2luaXRfXy5weQotKysrIGIvcHlycGtnL19faW5pdF9fLnB5Ci1AQCAtMTc5NSw2 ICsxNzk1LDEzIEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAgICBmb3IgcG9zc2li bGUgdXNlciBtaXN0YWtlcy4KLSAgICAgICAgICIiIgotICAgICAgICAgdG9vbF9uYW1lID0gb3Mu cGF0aC5iYXNlbmFtZShzeXMuYXJndlswXSkgICMgcmhwa2d8ZmVkcGtnfC4uLgotKyAgICAgICAg aWYgbm90IHRvb2xfbmFtZToKLSsgICAgICAgICAgICAjIGVtcHR5IGFyZ3YgLSB0aGlzIGZ1bmN0 aW9uYWxpdHkgaXMgbm90IGV4ZWN1dGVkIGZyb20geC1wa2cgdG9vbAotKyAgICAgICAgICAgICMg YW5kIHRoZXJlZm9yZSB0aGVyZSBpc24ndCBhIHByb2dyYW0gdGhhdCBjYW4gcnVuIHByZS1wdXNo LWNoZWNrLgotKyAgICAgICAgICAgICMgRXhhbXBsZTogdGhlIENPUFIgdGVhbSBleGVjdXRlcyAn Y2xvbmUnIGJ5IHRoZWlyIG93biBzY3JpcHQuCi0rICAgICAgICAgICAgc2VsZi5sb2cuZGVidWco J1ByZS1wdXNoIGhvb2sgc2NyaXB0IHdhcyBOT1QgYWRkZWQgLSBtaXNzaW5nICcKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAndGhlIHBhY2thZ2luZyB0b29sIGxpa2UgZmVkcGtnLCByaHBr ZywgLi4uJykKLSsgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgIGhvb2tfY29udGVudCA9IHRl eHR3cmFwLmRlZGVudCgiIiIKLSAgICAgICAgICAgICAjIS9iaW4vYmFzaAotIAotLS0gCi0yLjM5 LjIKLQoKZGlmZiAtLWdpdCBhLzAwMDctTW9yZS1yb2J1c3Qtc3BlYy1maWxlLXByZXNlbmNlLWNo ZWNraW5nLnBhdGNoIGIvMDAwNy1Nb3JlLXJvYnVzdC1zcGVjLWZpbGUtcHJlc2VuY2UtY2hlY2tp bmcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGExZGRlNjQuLjAwMDAwMDAK LS0tIGEvMDAwNy1Nb3JlLXJvYnVzdC1zcGVjLWZpbGUtcHJlc2VuY2UtY2hlY2tpbmcucGF0Y2gK KysrIC9kZXYvbnVsbApAQCAtMSwyOTIgKzAsMCBAQAotRnJvbSAxMTA4ODEwYmRlZmQwZDg4MDUx N2IyNzRhY2Q2YTNiZDBkNDE1NmUwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25k cmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMjEgTWFyIDIwMjMgMDI6 NDQ6MDQgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSCAwNy8xMl0gTW9yZSByb2J1c3Qgc3BlYyBmaWxl IHByZXNlbmNlIGNoZWNraW5nCi0KLVNvbWUgY29tbWFuZHMgKHZlcnJlbCwgc291cmNlcywgcHJl cCwgaW1wb3J0LCAuLi4pIG5lZWQgdG8gY2hlY2sKLXdoZXRoZXIgdGhlIGRpc3QtZ2l0IHJlcG9z aXRvcnkgaXMgaW4gdGhlIGNvcnJlY3Qgc3RhdGUuIEl0IG1lYW5zCi1hdCBsZWFzdCB0aGUgcHJl c2VuY2Ugb2YgdGhlIHNwZWNmaWxlLgotSW4gdGhlIGJlZ2lubmluZywgcnBrZyBkZXRlY3RzIGxh eW91dHMuIExheW91dHMgZGV0ZXJtaW5lIHRoZSBmaWxlCi1zdHJ1Y3R1cmUgb2YgdGhlIHJlcG9z aXRvcnkuIEZvciBleGFtcGxlLCBtb3N0IGNvbW1hbmRzIGNhbid0Ci1iZSBleGVjdXRlZCBmb3Ig dGhlIFJldGlyZWRMYXlvdXQgKHRoZXJlIGlzIG5vIHNwZWNmaWxlKS4KLVdoZW4gdGhlIHJlcG9z aXRvcnkgZGlyZWN0b3J5IGV4aXN0cywgc29tZSBsYXlvdXQgY2FuIGJlIGFsd2F5cwotZGV0ZWN0 ZWQuIFRoZXJlZm9yZSAnLS1wYXRoJyBhcmd1bWVudCBpcyBub3cgY2hlY2tlZCBmb3IKLWEgdmFs aWQgZGlyZWN0b3J5LgotVGhlIHRpbWVvdXQgY2hhbmdlIGluIHRoZSByZXF1ZXN0IGZpeGVzIHRo ZSBuZXcgYmFuZGl0J3MgZmluZGluZy4KLQotRml4ZXM6ICM2NjMKLUpJUkE6IFJIRUxDTVAtMTEz ODcKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0t LQotIHB5cnBrZy9fX2luaXRfXy5weSAgICAgICAgICB8ICA5ICsrKystLS0KLSBweXJwa2cvY2xp LnB5ICAgICAgICAgICAgICAgfCAgOCArKystLS0KLSBweXJwa2cvbGF5b3V0L19faW5pdF9fLnB5 ICAgfCAgNCArLS0KLSBweXJwa2cvdXRpbHMucHkgICAgICAgICAgICAgfCAxNCArKysrKysrKysr Ci0gdGVzdHMvY29tbWFuZHMvdGVzdF9wdXNoLnB5IHwgNTQgKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLQotIHRlc3RzL3Rlc3RfY2xpLnB5ICAgICAgICAgICB8IDEyICsrKysr Ky0tLQotIDYgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0p Ci0KLWRpZmYgLS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkK LWluZGV4IDc3NmNiMjEuLjAyOGQxOTUgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkK LSsrKyBiL3B5cnBrZy9fX2luaXRfXy5weQotQEAgLTkyMyw5ICs5MjMsOCBAQCBjbGFzcyBDb21t YW5kcyhvYmplY3QpOgotICAgICBkZWYgbG9hZF9zcGVjKHNlbGYpOgotICAgICAgICAgIiIiVGhp cyBzZXRzIHRoZSBzcGVjIGF0dHJpYnV0ZSIiIgotIAotLSAgICAgICAgaWYgc2VsZi5sYXlvdXQg aXMgTm9uZToKLSsgICAgICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShz ZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxldGVMYXlvdXQpOgotICAgICAgICAgICAgIHJhaXNl IHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5vdCBhdmFpbGFibGUnKQotLQotICAgICAgICAgaWYg c2VsZi5pc19yZXRpcmVkKCk6Ci0gICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdUaGlzIHBh Y2thZ2Ugb3IgbW9kdWxlIGlzIHJldGlyZWQuIFRoZSBhY3Rpb24gaGFzIHN0b3BwZWQuJykKLSAK LUBAIC0xMTY2LDggKzExNjUsMTAgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAKLSAgICAg QHByb3BlcnR5Ci0gICAgIGRlZiBzb3VyY2VzX2ZpbGVuYW1lKHNlbGYpOgotLSAgICAgICAgaWYg c2VsZi5sYXlvdXQgaXMgTm9uZToKLS0gICAgICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKHNl bGYucGF0aCwgJ3NvdXJjZXMnKQotKyAgICAgICAgaWYgc2VsZi5sYXlvdXQgaXMgTm9uZSBvciBp c2luc3RhbmNlKHNlbGYubGF5b3V0LCBsYXlvdXQuSW5jb21wbGV0ZUxheW91dCk6Ci0rICAgICAg ICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdTcGVjIGZpbGUgaXMgbm90IGF2YWlsYWJsZScpCi0rICAg ICAgICBpZiBzZWxmLmlzX3JldGlyZWQoKToKLSsgICAgICAgICAgICByYWlzZSBycGtnRXJyb3Io J1RoaXMgcGFja2FnZSBvciBtb2R1bGUgaXMgcmV0aXJlZC4gVGhlIGFjdGlvbiBoYXMgc3RvcHBl ZC4nKQotICAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbigKLSAgICAgICAgICAgICBzZWxmLnBh dGgsIHNlbGYubGF5b3V0LnNvdXJjZXNfZmlsZV90ZW1wbGF0ZS5yZXBsYWNlKCJ7MC5yZXBvX25h bWV9Iiwgc2VsZi5yZXBvX25hbWUpKQotIAotZGlmZiAtLWdpdCBhL3B5cnBrZy9jbGkucHkgYi9w eXJwa2cvY2xpLnB5Ci1pbmRleCBjMzY3MmIzLi4xYmNmNmU0IDEwMDY0NAotLS0tIGEvcHlycGtn L2NsaS5weQotKysrIGIvcHlycGtnL2NsaS5weQotQEAgLTM4Niw3ICszODYsNyBAQCBjbGFzcyBj bGlDbGllbnQob2JqZWN0KToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWxw PSdSdW4gS29qaSBjb21tYW5kcyBhcyBhIGRpZmZlcmVudCB1c2VyJykKLSAgICAgICAgICMgTGV0 IHRoZSB1c2VyIGRlZmluZSBhIHBhdGggdG8gd29yayBpbiByYXRoZXIgdGhhbiBjd2QKLSAgICAg ICAgIHNlbGYucGFyc2VyLmFkZF9hcmd1bWVudCgnLS1wYXRoJywgZGVmYXVsdD1Ob25lLAotLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9dXRpbHMudSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXV0aWxzLnZhbGlkYXRlX3BhdGgsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVscD0nRGVmaW5lIHRoZSBkaXJlY3RvcnkgdG8g d29yayBpbiAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhkZWZhdWx0cyB0 byBjd2QpJykKLSAgICAgICAgICMgVmVyYm9zaXR5Ci1AQCAtOTExLDggKzkxMSw5IEBAIGNsYXNz IGNsaUNsaWVudChvYmplY3QpOgotICAgICAgICAgaWYgJ3BhdGgnIGluIGFyZ3M6Ci0gICAgICAg ICAgICAgIyBXaXRob3V0ICJwYXRoIiwgd2UgY2FuJ3QgcmVhbGx5IHRlc3QuLi4KLSAgICAgICAg ICAgICB1cmwgPSAnJShwcm90b2NvbClzOi8vJShob3N0KXMvJShwYXRoKXMvaW5mby9yZWZzP3Nl cnZpY2U9Z2l0LXJlY2VpdmUtcGFjaycgJSBhcmdzCi0tICAgICAgICAgICAgcmVzcCA9IHJlcXVl c3RzLmhlYWQodXJsLCBhdXRoPUhUVFBCYXNpY0F1dGgoYXJnc1sndXNlcm5hbWUnXSwKLS0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdz WydwYXNzd29yZCddKSkKLSsgICAgICAgICAgICByZXNwID0gcmVxdWVzdHMuaGVhZCh1cmwsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0aD1IVFRQQmFzaWNBdXRoKGFyZ3Nb J3VzZXJuYW1lJ10sIGFyZ3NbJ3Bhc3N3b3JkJ10pLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRpbWVvdXQ9MTUpCi0gICAgICAgICAgICAgaWYgcmVzcC5zdGF0dXNfY29kZSA9 PSA0MDE6Ci0gICAgICAgICAgICAgICAgIHJldHVybiBzZWxmLm9pZGNfY2xpZW50LnJlcG9ydF90 b2tlbl9pc3N1ZSgpCi0gCi1AQCAtMjM2Myw2ICsyMzY0LDcgQEAgY2xhc3MgY2xpQ2xpZW50KG9i amVjdCk6Ci0gCi0gICAgIGRlZiBpbXBvcnRfc3JwbShzZWxmKToKLSAgICAgICAgIHVwbG9hZGZp bGVzID0gc2VsZi5jbWQuaW1wb3J0X3NycG0oc2VsZi5hcmdzLnNycG0pCi0rICAgICAgICBzZWxm LmxvYWRfY21kKCkgICMgdG8gcmVsb2FkIGxheW91dHMgLSBiZWNhdXNlIGEgc3BlY2ZpbGUgY291 bGQgYXBwZWFyIGR1cmluZyBpbXBvcnQKLSAgICAgICAgIGlmIHVwbG9hZGZpbGVzOgotICAgICAg ICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgc2VsZi5jbWQudXBsb2FkKHVwbG9hZGZpbGVz LCByZXBsYWNlPVRydWUsIG9mZmxpbmU9c2VsZi5hcmdzLm9mZmxpbmUpCi1kaWZmIC0tZ2l0IGEv cHlycGtnL2xheW91dC9fX2luaXRfXy5weSBiL3B5cnBrZy9sYXlvdXQvX19pbml0X18ucHkKLWlu ZGV4IDc2MmFmMGQuLjg1MGRkYzIgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvbGF5b3V0L19faW5pdF9f LnB5Ci0rKysgYi9weXJwa2cvbGF5b3V0L19faW5pdF9fLnB5Ci1AQCAtMTIsOCArMTIsOCBAQAot IGZyb20gcHlycGtnLmVycm9ycyBpbXBvcnQgTGF5b3V0RXJyb3IKLSAKLSBmcm9tIC5iYXNlIGlt cG9ydCBNZXRhTGF5b3V0Ci0tZnJvbSAubGF5b3V0cyBpbXBvcnQgKERpc3RHaXRMYXlvdXQsIElu Y29tcGxldGVMYXlvdXQsICAjIG5vcWE6IEY0MDEKLS0gICAgICAgICAgICAgICAgICAgICAgUmV0 aXJlZExheW91dCwgU1JQTUxheW91dCkKLStmcm9tIC5sYXlvdXRzIGltcG9ydCAoRGlzdEdpdExh eW91dCwgRGlzdEdpdFJlc3VsdHNEaXJMYXlvdXQsICAjIG5vcWE6IEY0MDEKLSsgICAgICAgICAg ICAgICAgICAgICAgSW5jb21wbGV0ZUxheW91dCwgUmV0aXJlZExheW91dCwgU1JQTUxheW91dCkK LSAKLSAKLSBkZWYgYnVpbGQocGF0aCwgaGludD1Ob25lKToKLWRpZmYgLS1naXQgYS9weXJwa2cv dXRpbHMucHkgYi9weXJwa2cvdXRpbHMucHkKLWluZGV4IGNlYjQ5MDYuLjMzMzdiZGIgMTAwNjQ0 Ci0tLS0gYS9weXJwa2cvdXRpbHMucHkKLSsrKyBiL3B5cnBrZy91dGlscy5weQotQEAgLTI2LDEx ICsyNiwyNSBAQCBpZiBzaXguUFkzOgotICAgICBkZWYgdShzKToKLSAgICAgICAgIHJldHVybiBz Ci0gCi0rICAgIGRlZiB2YWxpZGF0ZV9wYXRoKHMpOgotKyAgICAgICAgYWJzcGF0aCA9IG9zLnBh dGguYWJzcGF0aChzKQotKyAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoYWJzcGF0aCk6Ci0rICAg ICAgICAgICAgcmV0dXJuIHMKLSsgICAgICAgIGVsc2U6Ci0rICAgICAgICAgICAgcmFpc2UgYXJn cGFyc2UuQXJndW1lbnRUeXBlRXJyb3IoJ2dpdmVuIHBhdGggXCd7MH1cJyBkb2VzblwndCBleGlz dCcuZm9ybWF0KGFic3BhdGgpKQotKwotICAgICBnZXRjd2QgPSBvcy5nZXRjd2QKLSBlbHNlOgot ICAgICBkZWYgdShzKToKLSAgICAgICAgIHJldHVybiBzLmRlY29kZSgndXRmLTgnKQotIAotKyAg ICBkZWYgdmFsaWRhdGVfcGF0aChzKToKLSsgICAgICAgIGFic3BhdGggPSBvcy5wYXRoLmFic3Bh dGgocy5kZWNvZGUoJ3V0Zi04JykpCi0rICAgICAgICBpZiBvcy5wYXRoLmV4aXN0cyhhYnNwYXRo KToKLSsgICAgICAgICAgICByZXR1cm4gcy5kZWNvZGUoJ3V0Zi04JykKLSsgICAgICAgIGVsc2U6 Ci0rICAgICAgICAgICAgcmFpc2UgYXJncGFyc2UuQXJndW1lbnRUeXBlRXJyb3IoJ2dpdmVuIHBh dGggXCd7MH1cJyBkb2VzblwndCBleGlzdCcuZm9ybWF0KGFic3BhdGgpKQotKwotICAgICBnZXRj d2QgPSBvcy5nZXRjd2R1Ci0gCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvY29tbWFuZHMvdGVzdF9w dXNoLnB5IGIvdGVzdHMvY29tbWFuZHMvdGVzdF9wdXNoLnB5Ci1pbmRleCBlZjgwNTdhLi43OWMz YThiIDEwMDY0NAotLS0tIGEvdGVzdHMvY29tbWFuZHMvdGVzdF9wdXNoLnB5Ci0rKysgYi90ZXN0 cy9jb21tYW5kcy90ZXN0X3B1c2gucHkKLUBAIC0xLDkgKzEsMTMgQEAKLSAjIC0qLSBjb2Rpbmc6 IHV0Zi04IC0qLQotIAotIGltcG9ydCBvcwotK2ltcG9ydCBzdWJwcm9jZXNzCi0gCi0gaW1wb3J0 IGdpdAotIAotK2ltcG9ydCBweXJwa2cKLStmcm9tIHB5cnBrZy5zb3VyY2VzIGltcG9ydCBTb3Vy Y2VzRmlsZQotKwotIGZyb20gLiBpbXBvcnQgQ29tbWFuZFRlc3RDYXNlCi0gCi0gU1BFQ0ZJTEVf VEVNUExBVEUgPSAiIiJOYW1lOiAgICAgICAgICAgdGVzdAotQEAgLTIyLDExICsyNiw2IEBAIFRl c3QKLSAlJWluc3RhbGwKLSBybSAtZiAkUlBNX0JVSUxEX1JPT1QlJXtfc3lzY29uZmRpcn0vIiIi Ci0gCi0tQ0xPTkVfQ09ORklHID0gJycnCi0tICAgIGJ6LmRlZmF1bHQtY29tcG9uZW50ICUobW9k dWxlKXMKLS0gICAgc2VuZGVtYWlsLnRvICUobW9kdWxlKXMtb3duZXJAZmVkb3JhcHJvamVjdC5v cmcKLS0nJycKLS0KLSAKLSBjbGFzcyBDb21tYW5kUHVzaFRlc3RDYXNlKENvbW1hbmRUZXN0Q2Fz ZSk6Ci0gCi1AQCAtNDUsMjggKzQ0LDMwIEBAIGNsYXNzIENvbW1hbmRQdXNoVGVzdENhc2UoQ29t bWFuZFRlc3RDYXNlKToKLSAKLSAgICAgICAgIHNlbGYubWFrZV9uZXdfZ2l0KHNlbGYubW9kdWxl KQotIAotLSAgICAgICAgaW1wb3J0IHB5cnBrZwotLSAgICAgICAgY21kID0gcHlycGtnLkNvbW1h bmRzKHNlbGYucGF0aCwgc2VsZi5sb29rYXNpZGUsCi0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5sb29rYXNpZGVoYXNoLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYubG9va2FzaWRlX2NnaSwgc2VsZi5naXRiYXNldXJsLAotLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuYW5vbmdpdHVybCwgc2VsZi5icmFuY2hyZSwgc2VsZi5rb2ppcHJv ZmlsZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2NsaWVudCwg c2VsZi51c2VyLCBzZWxmLmRpc3QsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi50YXJnZXQsIHNlbGYucXVpZXQpCi0tICAgICAgICBjbWQuY2xvbmVfY29uZmlnX3JwbXMgPSBD TE9ORV9DT05GSUcKLS0gICAgICAgIGNtZC5jbG9uZShzZWxmLm1vZHVsZSwgYW5vbj1UcnVlKQot LSAgICAgICAgY21kLnBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVsZSkK LS0gICAgICAgIG9zLmNoZGlyKG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKSkK LSsgICAgICAgIG1vZHVsZWRpciA9IG9zLnBhdGguam9pbihzZWxmLmdpdHJvb3QsIHNlbGYubW9k dWxlKQotKyAgICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnZ2l0JywgJ2Nsb25lJywgJ2Zp bGU6Ly8lcycgJSBtb2R1bGVkaXJdLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN3 ZD1zZWxmLnBhdGgsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKLSsKLSsgICAgICAgIHNlbGYuY2xv bmVkX2RpciA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQotKyAgICAgICAg c2VsZi5jbWQgPSBweXJwa2cuQ29tbWFuZHMoc2VsZi5jbG9uZWRfZGlyLCBzZWxmLmxvb2thc2lk ZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9va2FzaWRlaGFz aCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9va2FzaWRlX2Nn aSwgc2VsZi5naXRiYXNldXJsLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5hbm9uZ2l0dXJsLCBzZWxmLmJyYW5jaHJlLCBzZWxmLmtvamlwcm9maWxlLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9jbGllbnQsIHNlbGYudXNl ciwgc2VsZi5kaXN0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50 YXJnZXQsIHNlbGYucXVpZXQpCi0rICAgICAgICBvcy5jaGRpcihzZWxmLmNsb25lZF9kaXIpCi0g Ci0gICAgICAgICBzcGVjX2ZpbGUgPSAnbW9kdWxlLnNwZWMnCi0gICAgICAgICB3aXRoIG9wZW4o c3BlY19maWxlLCAndycpIGFzIGY6Ci0gICAgICAgICAgICAgZi53cml0ZShTUEVDRklMRV9URU1Q TEFURSAlICcnKQotIAotLSAgICAgICAgY21kLnJlcG8uaW5kZXguYWRkKFtzcGVjX2ZpbGVdKQot LSAgICAgICAgY21kLnJlcG8uaW5kZXguY29tbWl0KCJhZGQgU1BFQyIpCi0rICAgICAgICBzZWxm LmNtZC5yZXBvLmluZGV4LmFkZChbc3BlY19maWxlXSkKLSsgICAgICAgIHNlbGYuY21kLnJlcG8u aW5kZXguY29tbWl0KCJhZGQgU1BFQyIpCi0gCi0gICAgICAgICAjIE5vdywgY2hhbmdlIGRpcmVj dG9yeSB0byBwYXJlbnQgYW5kIHRlc3QgdGhlIHB1c2gKLSAgICAgICAgIG9zLmNoZGlyKHNlbGYu cGF0aCkKLS0gICAgICAgIGNtZC5wdXNoKG5vX3ZlcmlmeT1UcnVlKQotKyAgICAgICAgc2VsZi5j bWQucHVzaChub192ZXJpZnk9VHJ1ZSkKLSAKLSAKLSBjbGFzcyBUZXN0UHVzaFdpdGhQYXRjaGVz KENvbW1hbmRUZXN0Q2FzZSk6Ci1AQCAtNzYsMTggKzc3LDIwIEBAIGNsYXNzIFRlc3RQdXNoV2l0 aFBhdGNoZXMoQ29tbWFuZFRlc3RDYXNlKToKLSAKLSAgICAgICAgIHNlbGYubWFrZV9uZXdfZ2l0 KHNlbGYubW9kdWxlKQotIAotLSAgICAgICAgaW1wb3J0IHB5cnBrZwotLSAgICAgICAgc2VsZi5j bWQgPSBweXJwa2cuQ29tbWFuZHMoc2VsZi5wYXRoLCBzZWxmLmxvb2thc2lkZSwKLSsgICAgICAg IG1vZHVsZWRpciA9IG9zLnBhdGguam9pbihzZWxmLmdpdHJvb3QsIHNlbGYubW9kdWxlKQotKyAg ICAgICAgc3VicHJvY2Vzcy5jaGVja19jYWxsKFsnZ2l0JywgJ2Nsb25lJywgJ2ZpbGU6Ly8lcycg JSBtb2R1bGVkaXJdLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN3ZD1zZWxmLnBh dGgsIHN0ZG91dD1zdWJwcm9jZXNzLlBJUEUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RkZXJyPXN1YnByb2Nlc3MuUElQRSkKLSsKLSsgICAgICAgIHNlbGYuY2xvbmVkX2RpciA9 IG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQotKyAgICAgICAgc2VsZi5jbWQg PSBweXJwa2cuQ29tbWFuZHMoc2VsZi5jbG9uZWRfZGlyLCBzZWxmLmxvb2thc2lkZSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9va2FzaWRlaGFzaCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9va2FzaWRlX2NnaSwgc2VsZi5n aXRiYXNldXJsLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5hbm9u Z2l0dXJsLCBzZWxmLmJyYW5jaHJlLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5rb2ppcHJvZmlsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuYnVpbGRfY2xpZW50LCBzZWxmLnVzZXIsIHNlbGYuZGlzdCwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGFyZ2V0LCBzZWxmLnF1aWV0KQotLSAgICAgICAg c2VsZi5jbWQuY2xvbmVfY29uZmlnX3JwbXMgPSBDTE9ORV9DT05GSUcKLS0gICAgICAgIHNlbGYu Y21kLmNsb25lKHNlbGYubW9kdWxlLCBhbm9uPVRydWUpCi0tICAgICAgICBzZWxmLmNtZC5wYXRo ID0gb3MucGF0aC5qb2luKHNlbGYucGF0aCwgc2VsZi5tb2R1bGUpCi0tICAgICAgICBvcy5jaGRp cihvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVsZSkpCi0rICAgICAgICBvcy5jaGRp cihzZWxmLmNsb25lZF9kaXIpCi0gCi0gICAgICAgICAjIFRyYWNrIFNQRUMgYW5kIGEucGF0Y2gg aW4gZ2l0Ci0gICAgICAgICBzcGVjX2ZpbGUgPSAnbW9kdWxlLnNwZWMnCi1AQCAtMTAzLDcgKzEw Niw2IEBAIFBhdGNoMzogZC5wYXRoCi0gICAgICAgICAgICAgICAgIGYud3JpdGUocGF0Y2hfZmls ZSkKLSAKLSAgICAgICAgICMgVHJhY2sgYy5wYXRjaCBpbiBzb3VyY2VzCi0tICAgICAgICBmcm9t IHB5cnBrZy5zb3VyY2VzIGltcG9ydCBTb3VyY2VzRmlsZQotICAgICAgICAgc291cmNlc19maWxl ID0gU291cmNlc0ZpbGUoc2VsZi5jbWQuc291cmNlc19maWxlbmFtZSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuY21kLnNvdXJjZV9lbnRyeV90eXBlKQotICAgICAg ICAgZmlsZV9oYXNoID0gc2VsZi5jbWQubG9va2FzaWRlY2FjaGUuaGFzaF9maWxlKCdjLnBhdGNo JykKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2NsaS5weSBiL3Rlc3RzL3Rlc3RfY2xpLnB5Ci1p bmRleCBkZjA1M2FhLi44NjhhZDFmIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdF9jbGkucHkKLSsr KyBiL3Rlc3RzL3Rlc3RfY2xpLnB5Ci1AQCAtMTg0MSw5ICsxODQxLDExIEBAIGNsYXNzIFRlc3RN b2NrYnVpbGQoQ2xpVGVzdENhc2UpOgotICAgICBAcGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5fY29u ZmlnX2Rpcl9iYXNpYycpCi0gICAgIEBwYXRjaCgncHlycGtnLkNvbW1hbmRzLl9jb25maWdfZGly X290aGVyJykKLSAgICAgQHBhdGNoKCdvcy5wYXRoLmV4aXN0cycsIHJldHVybl92YWx1ZT1GYWxz ZSkKLSsgICAgQHBhdGNoKCdweXJwa2cudXRpbHMudmFsaWRhdGVfcGF0aCcpCi0gICAgIGRlZiB0 ZXN0X3VzZV9tb2NrX2NvbmZpZ19nb3RfZnJvbV9rb2ppKAotLSAgICAgICAgICAgIHNlbGYsIGV4 aXN0cywgY29uZmlnX2Rpcl9vdGhlciwgY29uZmlnX2Rpcl9iYXNpYyk6Ci0rICAgICAgICAgICAg c2VsZiwgdmFsaWRhdGVfcGF0aCwgZXhpc3RzLCBjb25maWdfZGlyX290aGVyLCBjb25maWdfZGly X2Jhc2ljKToKLSAgICAgICAgIG1vY2tfbGF5b3V0ID0gbGF5b3V0LkRpc3RHaXRMYXlvdXQocm9v dF9kaXI9c2VsZi5jbG9uZWRfcmVwb19wYXRoKQotKyAgICAgICAgdmFsaWRhdGVfcGF0aC5yZXR1 cm5fdmFsdWUgPSBzZWxmLmNsb25lZF9yZXBvX3BhdGgKLSAgICAgICAgIHdpdGggcGF0Y2goJ3B5 cnBrZy5sYXlvdXQuYnVpbGQnLCByZXR1cm5fdmFsdWU9bW9ja19sYXlvdXQpOgotICAgICAgICAg ICAgIGNvbmZpZ19kaXJfYmFzaWMucmV0dXJuX3ZhbHVlID0gJy9wYXRoL3RvL2NvbmZpZy1kaXIn Ci0gCi1AQCAtMTg1OSw5ICsxODYxLDExIEBAIGNsYXNzIFRlc3RNb2NrYnVpbGQoQ2xpVGVzdENh c2UpOgotIAotICAgICBAcGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5fY29uZmlnX2Rpcl9iYXNpYycp Ci0gICAgIEBwYXRjaCgnb3MucGF0aC5leGlzdHMnLCByZXR1cm5fdmFsdWU9RmFsc2UpCi0rICAg IEBwYXRjaCgncHlycGtnLnV0aWxzLnZhbGlkYXRlX3BhdGgnKQotICAgICBkZWYgdGVzdF9mYWls X3RvX3N0b3JlX21vY2tfY29uZmlnX2luX2NyZWF0ZWRfY29uZmlnX2RpcigKLS0gICAgICAgICAg ICBzZWxmLCBleGlzdHMsIGNvbmZpZ19kaXJfYmFzaWMpOgotKyAgICAgICAgICAgIHNlbGYsIHZh bGlkYXRlX3BhdGgsIGV4aXN0cywgY29uZmlnX2Rpcl9iYXNpYyk6Ci0gICAgICAgICBjb25maWdf ZGlyX2Jhc2ljLnNpZGVfZWZmZWN0ID0gcnBrZ0Vycm9yCi0rICAgICAgICB2YWxpZGF0ZV9wYXRo LnJldHVybl92YWx1ZSA9IHNlbGYuY2xvbmVkX3JlcG9fcGF0aAotIAotICAgICAgICAgY2xpX2Nt ZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNsb25lZF9yZXBvX3BhdGgsCi0gICAgICAgICAg ICAgICAgICAgICctLXJlbGVhc2UnLCAncmhlbC03JywgJ21vY2tidWlsZCddCi1AQCAtMTg3MCwx MCArMTg3NCwxMiBAQCBjbGFzcyBUZXN0TW9ja2J1aWxkKENsaVRlc3RDYXNlKToKLSAgICAgQHBh dGNoKCdweXJwa2cuQ29tbWFuZHMuX2NvbmZpZ19kaXJfYmFzaWMnKQotICAgICBAcGF0Y2goJ3B5 cnBrZy5Db21tYW5kcy5fY29uZmlnX2Rpcl9vdGhlcicpCi0gICAgIEBwYXRjaCgnb3MucGF0aC5l eGlzdHMnLCByZXR1cm5fdmFsdWU9RmFsc2UpCi0rICAgIEBwYXRjaCgncHlycGtnLnV0aWxzLnZh bGlkYXRlX3BhdGgnKQotICAgICBkZWYgdGVzdF9mYWlsX3RvX3BvcHVsYXRlX21vY2tfY29uZmln KAotLSAgICAgICAgICAgIHNlbGYsIGV4aXN0cywgY29uZmlnX2Rpcl9vdGhlciwgY29uZmlnX2Rp cl9iYXNpYyk6Ci0rICAgICAgICAgICAgc2VsZiwgdmFsaWRhdGVfcGF0aCwgZXhpc3RzLCBjb25m aWdfZGlyX290aGVyLCBjb25maWdfZGlyX2Jhc2ljKToKLSAgICAgICAgIGNvbmZpZ19kaXJfYmFz aWMucmV0dXJuX3ZhbHVlID0gJy9wYXRoL3RvL2NvbmZpZy1kaXInCi0gICAgICAgICBjb25maWdf ZGlyX290aGVyLnNpZGVfZWZmZWN0ID0gcnBrZ0Vycm9yCi0rICAgICAgICB2YWxpZGF0ZV9wYXRo LnJldHVybl92YWx1ZSA9IHNlbGYuY2xvbmVkX3JlcG9fcGF0aAotIAotICAgICAgICAgY2xpX2Nt ZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNsb25lZF9yZXBvX3BhdGgsCi0gICAgICAgICAg ICAgICAgICAgICctLXJlbGVhc2UnLCAncmhlbC03JywgJ21vY2tidWlsZCddCi0tLSAKLTIuMzku MgotCgpkaWZmIC0tZ2l0IGEvMDAwOC1VcGRhdGUtdG8tc3BlYy1maWxlLXByZXNlbmNlLWNoZWNr aW5nLnBhdGNoIGIvMDAwOC1VcGRhdGUtdG8tc3BlYy1maWxlLXByZXNlbmNlLWNoZWNraW5nLnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjM0MTVmLi4wMDAwMDAwCi0tLSBh LzAwMDgtVXBkYXRlLXRvLXNwZWMtZmlsZS1wcmVzZW5jZS1jaGVja2luZy5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQzICswLDAgQEAKLUZyb20gNzkxZmQwM2I0ZGUxMzI0NTA4NTgzYWI1M2M4 OWNjNjc0NTlkYjM1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9uZHJlaiBOb3Nl ayA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBUdWUsIDIxIE1hciAyMDIzIDEzOjQ0OjM4ICsw MTAwCi1TdWJqZWN0OiBbUEFUQ0ggMDgvMTJdIFVwZGF0ZSB0byBzcGVjIGZpbGUgcHJlc2VuY2Ug Y2hlY2tpbmcKLQotVXNpbmcgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdG8gY2hlY2tpbmcgdGhlIGxh eW91dC4gT2xkZXIgd2F5IHByZXZlbnRlZAotYHJldGlyZWAgZnVuY3Rpb24gd29ya2luZyBjb3Jy ZWN0bHkuIExheW91dHMgYXJlIGRldGVjdGVkIGF0IHRoZQotYmVnaW5uaW5nIG9mIHRoZSBydW4g YW5kIHRoZSByZXN1bHQgc3RheXMgdGhlIHNhbWUsIHVubGlrZSB0aGUgZGlyZWN0Ci1jaGVja2lu ZyBmaWxlcyBsaWtlIGRlYWQucGFja2FnZSBpbiBmdW5jdGlvbiBgaXNfcmV0aXJlZGAuCi0KLUZp eGVzOiAjNjYzCi1KSVJBOiBSSEVMQ01QLTExMzg3Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZHJlaiBO b3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cvX19pbml0X18ucHkgfCA0ICsr LS0KLSAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1k aWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRl eCAwMjhkMTk1Li5lOGY0ODg2IDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysg Yi9weXJwa2cvX19pbml0X18ucHkKLUBAIC05MjUsNyArOTI1LDcgQEAgY2xhc3MgQ29tbWFuZHMo b2JqZWN0KToKLSAKLSAgICAgICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmUgb3IgaXNpbnN0YW5j ZShzZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxldGVMYXlvdXQpOgotICAgICAgICAgICAgIHJh aXNlIHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5vdCBhdmFpbGFibGUnKQotLSAgICAgICAgaWYg c2VsZi5pc19yZXRpcmVkKCk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYubGF5b3V0LCBs YXlvdXQuUmV0aXJlZExheW91dCk6Ci0gICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdUaGlz IHBhY2thZ2Ugb3IgbW9kdWxlIGlzIHJldGlyZWQuIFRoZSBhY3Rpb24gaGFzIHN0b3BwZWQuJykK LSAKLSAgICAgICAgICMgR2V0IGEgbGlzdCBvZiAiLnNwZWMiIGZpbGVzIGluIHRoZSBwYXRoIHdl J3JlIGxvb2tpbmcgYXQKLUBAIC0xMTY3LDcgKzExNjcsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmpl Y3QpOgotICAgICBkZWYgc291cmNlc19maWxlbmFtZShzZWxmKToKLSAgICAgICAgIGlmIHNlbGYu bGF5b3V0IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShzZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxl dGVMYXlvdXQpOgotICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5v dCBhdmFpbGFibGUnKQotLSAgICAgICAgaWYgc2VsZi5pc19yZXRpcmVkKCk6Ci0rICAgICAgICBp ZiBpc2luc3RhbmNlKHNlbGYubGF5b3V0LCBsYXlvdXQuUmV0aXJlZExheW91dCk6Ci0gICAgICAg ICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdUaGlzIHBhY2thZ2Ugb3IgbW9kdWxlIGlzIHJldGlyZWQu IFRoZSBhY3Rpb24gaGFzIHN0b3BwZWQuJykKLSAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4o Ci0gICAgICAgICAgICAgc2VsZi5wYXRoLCBzZWxmLmxheW91dC5zb3VyY2VzX2ZpbGVfdGVtcGxh dGUucmVwbGFjZSgiezAucmVwb19uYW1lfSIsIHNlbGYucmVwb19uYW1lKSkKLS0tIAotMi4zOS4y Ci0KCmRpZmYgLS1naXQgYS8wMDA5LUFkZC1tb3JlLWluZm9ybWF0aW9uLWFib3V0LXByZS1wdXNo LWhvb2sucGF0Y2ggYi8wMDA5LUFkZC1tb3JlLWluZm9ybWF0aW9uLWFib3V0LXByZS1wdXNoLWhv b2sucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDYwYmFkMjcuLjAwMDAwMDAK LS0tIGEvMDAwOS1BZGQtbW9yZS1pbmZvcm1hdGlvbi1hYm91dC1wcmUtcHVzaC1ob29rLnBhdGNo CisrKyAvZGV2L251bGwKQEAgLTEsNDQgKzAsMCBAQAotRnJvbSAwMzkzZGMzOWJmNDUwY2YyMGRm OWRiNjNiYWMxMzVjMDc4ZjY0YTE0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9V VEYtOD9xP0x1Ym9tPUMzPUFEcj0yMFNlZGw9QzM9QTE9QzU9OTk/PSA8bHNlZGxhckByZWRoYXQu Y29tPgotRGF0ZTogVHVlLCAyOCBNYXIgMjAyMyAwODo1MzozMCArMDIwMAotU3ViamVjdDogW1BB VENIIDA5LzEyXSBBZGQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBwcmUtcHVzaCBob29rCi1NSU1F LVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUl0J3Mgbm90IG9idmlvdXMgdG8gbWFu eSB1c2VycyB3aGVyZSB0aGUgY2hlY2sgaXMgY29taW5nIGZyb20sIGFuZCB0aGV5Ci1oYXZlIHRo ZSBwb3dlciB0byBlZGl0IHRoZSBzY3JpcHQgb3IgZGVsZXRlIGl0IGNvbXBsZXRlbHkuIExldCdz IHRyeSB0bwotaW1wcm92ZSB0aGF0IGEgYml0LgotCi1TaWduZWQtb2ZmLWJ5OiBMdWJvbcOtciBT ZWRsw6HFmSA8bHNlZGxhckByZWRoYXQuY29tPgotLS0tCi0gcHlycGtnL19faW5pdF9fLnB5IHwg NiArKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Ci0KLWRpZmYgLS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkK LWluZGV4IGU4ZjQ4ODYuLjdhM2M5YzYgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkK LSsrKyBiL3B5cnBrZy9fX2luaXRfXy5weQotQEAgLTE4MDYsNiArMTgwNiwxMCBAQCBjbGFzcyBD b21tYW5kcyhvYmplY3QpOgotICAgICAgICAgaG9va19jb250ZW50ID0gdGV4dHdyYXAuZGVkZW50 KCIiIgotICAgICAgICAgICAgICMhL2Jpbi9iYXNoCi0gCi0rICAgICAgICAgICAgIyBUaGlzIGZp bGUgd2FzIGdlbmVyYXRlZCBieSB7MH0gd2hlbiBjbG9uaW5nIHRoZSByZXBvc2l0b3J5LgotKyAg ICAgICAgICAgICMgWW91IGNhbiBlZGl0IGl0IHRvIHlvdXIgbGlraW5nIG9yIGRlbGV0ZSBjb21w bGV0ZWx5LiBJdCB3aWxsIG5vdAotKyAgICAgICAgICAgICMgYmUgcmVjcmVhdGVkLgotKwotICAg ICAgICAgICAgIF9yZW1vdGU9IiQxIgotICAgICAgICAgICAgIF91cmw9IiQyIgotIAotQEAgLTQ0 MjksNyArNDQzMyw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAgICByZXR1cm4g c2VsZi5fcmVwb19uYW1lLCB2ZXJzaW9uLCByZWxlYXNlCi0gCi0gICAgIGRlZiBwcmVfcHVzaF9j aGVjayhzZWxmLCByZWYpOgotLSAgICAgICAgc2hvd19oaW50ID0gKCdIaW50OiB0aGlzIGNoZWNr IChwcmUtcHVzaCBob29rIHNjcmlwdCkgY2FuIGJlIGJ5cGFzc2VkIGJ5IGFkZGluZyAnCi0rICAg ICAgICBzaG93X2hpbnQgPSAoJ0hpbnQ6IHRoaXMgY2hlY2sgKC5naXQvaG9va3MvcHJlLXB1c2gg c2NyaXB0KSBjYW4gYmUgYnlwYXNzZWQgYnkgYWRkaW5nICcKLSAgICAgICAgICAgICAgICAgICAg ICAndGhlIGFyZ3VtZW50IFwnLS1uby12ZXJpZnlcJyBhcmd1bWVudCB0byB0aGUgcHVzaCBjb21t YW5kLicpCi0gICAgICAgICB0cnk6Ci0gICAgICAgICAgICAgY29tbWl0ID0gc2VsZi5yZXBvLmNv bW1pdChyZWYpCi0tLSAKLTIuMzkuMgotCgpkaWZmIC0tZ2l0IGEvMDAxMC1wcmUtcHVzaC1jaGVj ay1oYXZlLXRvLXVzZS1zcGVjdG9vbC13aXRoLWRlZmluZS5wYXRjaCBiLzAwMTAtcHJlLXB1c2gt Y2hlY2staGF2ZS10by11c2Utc3BlY3Rvb2wtd2l0aC1kZWZpbmUucGF0Y2gKZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IGJmZTcwOTQuLjAwMDAwMDAKLS0tIGEvMDAxMC1wcmUtcHVzaC1j aGVjay1oYXZlLXRvLXVzZS1zcGVjdG9vbC13aXRoLWRlZmluZS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE0NiArMCwwIEBACi1Gcm9tIGQ1YmU1MWVlYzk5MTA4YzM4MDk1NTFiNjE1MDY0ZDBj NWNiZTYyOGEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPbmRyZWogTm9zZWsgPG9u b3Nla0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCAyOCBNYXIgMjAyMyAxOTo1ODowNiArMDIwMAot U3ViamVjdDogW1BBVENIIDEwLzEyXSBgcHJlLXB1c2gtY2hlY2tgIGhhdmUgdG8gdXNlIHNwZWN0 b29sIHdpdGggLS1kZWZpbmUKLQotVG8gZ2V0IGFsbCBkZWZpbmVkIHNvdXJjZSBmaWxlcyBhbmQg cGF0Y2hlcyBmcm9tIHRoZSBzcGVjZmlsZSwKLXRoZSAnc3BlY3Rvb2wnIHV0aWxpdHkgbmVlZHMg Jy0tZGVmaW5lJyBhcmd1bWVudChzKSB0byBzZXQgc3BlY2lmaWMKLXBhdGhzIGZvciB0aGUgcmVw b3NpdG9yeS4KLQotSklSQTogUkhFTENNUC0xMTQ2NgotRml4ZXM6ICM2NzIKLQotU2lnbmVkLW9m Zi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2lu aXRfXy5weSAgICAgICAgICAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKystLS0tLS0tLS0t LS0KLSB0ZXN0cy9jb21tYW5kcy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5IHwgIDMgKy0KLSAyIGZp bGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCA3YTNj OWM2Li41ODRjMTQxIDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJw a2cvX19pbml0X18ucHkKLUBAIC00NDQyLDMwICs0NDQyLDQxIEBAIGNsYXNzIENvbW1hbmRzKG9i amVjdCk6Ci0gICAgICAgICAgICAgc3lzLmV4aXQoMSkKLSAKLSAgICAgICAgIHRyeToKLSsgICAg ICAgICAgICBjbG9uZV9kaXIgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD0icHJlX3B1c2hfaG9v a18iKQotKyAgICAgICAgICAgIGZvciBjbWQgaW4gWwotKyAgICAgICAgICAgICAgICAoJ2dpdCcs ICdjbG9uZScsIHNlbGYucGF0aCwgY2xvbmVfZGlyKSwKLSsgICAgICAgICAgICAgICAgKCdnaXQn LCAnY2hlY2tvdXQnLCByZWYpLAotKyAgICAgICAgICAgIF06Ci0rICAgICAgICAgICAgICAgIHJl dCwgXywgXyA9IHNlbGYuX3J1bl9jb21tYW5kKGNtZCwgY3dkPWNsb25lX2RpciwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzdXBwcmVzcyB1bndhbnRl ZCBwcmludGluZyBvZiBjb21tYW5kIGxpbmUgbWVzc2FnZXMKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuX3N0ZG91dD1UcnVlLCByZXR1cm5fc3Rk ZXJyPVRydWUpCi0rICAgICAgICAgICAgICAgIGlmIHJldCAhPSAwOgotKyAgICAgICAgICAgICAg ICAgICAgc2VsZi5sb2cuZXJyb3IoJ0NvbW1hbmQgXCd7MH1cJyBmYWlsZWQuIFB1c2ggb3BlcmF0 aW9uICcKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd3YXMgY2FuY2VsbGVk LicuZm9ybWF0KCcgJy5qb2luKGNtZCkpKQotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5sb2cu d2FybmluZyhzaG93X2hpbnQpCi0rICAgICAgICAgICAgICAgICAgICBzeXMuZXhpdCgyKQotKwot KyAgICAgICAgICAgICMgZ2V0IGFsbCBzb3VyY2UgZmlsZXMgZnJvbSB0aGUgc3BlY2ZpbGUgKGlu Y2x1ZGluZyBwYXRjaGVzKQotICAgICAgICAgICAgICMgQXNzdW1lLCB0aGF0IHNwZWNmaWxlIG5h bWVzIGFyZSBzYW1lIGluIHRoZSBhY3RpdmUgYnJhbmNoCi0gICAgICAgICAgICAgIyBhbmQgaW4g dGhlIHB1c2hlZCBicmFuY2ggKGdpdCBjaGVja291dCBmMzcgJiYgZ2l0IHB1c2ggb3JpZ2luIHJh d2hpZGUpCi0gICAgICAgICAgICAgIyBpbiB0aGlzIGNhc2UgJ2YzNycgaXMgYWN0aXZlIGJyYW5j aCBhbmQgJ3Jhd2hpZGUnIGlzIHB1c2hlZCBicmFuY2guCi0gICAgICAgICAgICAgc3BlY2ZpbGVf cGF0aF9hYnNvbHV0ZSA9IG9zLnBhdGguam9pbihzZWxmLmxheW91dC5zcGVjZGlyLCBzZWxmLnNw ZWMpCi0gICAgICAgICAgICAgIyBjb252ZXJ0IHRvIHJlbGF0aXZlIHBhdGgKLSAgICAgICAgICAg ICBzcGVjZmlsZV9wYXRoID0gb3MucGF0aC5yZWxwYXRoKHNwZWNmaWxlX3BhdGhfYWJzb2x1dGUs IHN0YXJ0PXNlbGYucGF0aCkKLS0gICAgICAgICAgICBzcGVjX2NvbnRlbnQgPSBzZWxmLnJlcG8u Z2l0LmNhdF9maWxlKCItcCIsICJ7MH06ezF9Ii5mb3JtYXQocmVmLCBzcGVjZmlsZV9wYXRoKSkK LS0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0tICAgICAgICAgICAgIyBJdCBtaWdodCBiZSB0 aGUgY2FzZSBvZiBhbiBlbXB0eSBjb21taXQKLS0gICAgICAgICAgICBzZWxmLmxvZy53YXJuaW5n KCdTcGVjZmlsZSBkb2VzblwndCBleGlzdC4gUHVzaCBvcGVyYXRpb24gY29udGludWVzLicpCi0t ICAgICAgICAgICAgcmV0dXJuCi0tCi0tICAgICAgICAjIGxvYWQgc3BlY2ZpbGUgY29udGVudCBm cm9tIHB1c2hlZCBicmFuY2ggYW5kIHNhdmUgaXQgaW50byBhIHRlbXBvcmFyeSBmaWxlCi0tICAg ICAgICB3aXRoIHRlbXBmaWxlLk5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSJ3KyIpIGFzIHRlbXBv cmFyeV9zcGVjOgotLSAgICAgICAgICAgIHRlbXBvcmFyeV9zcGVjLndyaXRlKHNwZWNfY29udGVu dCkKLS0gICAgICAgICAgICB0ZW1wb3Jhcnlfc3BlYy5mbHVzaCgpCi0tICAgICAgICAgICAgIyBn ZXQgYWxsIHNvdXJjZSBmaWxlcyBmcm9tIHRoZSBzcGVjZmlsZSAoaW5jbHVkaW5nIHBhdGNoZXMp Ci0tICAgICAgICAgICAgY21kID0gKCdzcGVjdG9vbCcsICctbCcsIHRlbXBvcmFyeV9zcGVjLm5h bWUpCi0tICAgICAgICAgICAgcmV0LCBzdGRvdXQsIF8gPSBzZWxmLl9ydW5fY29tbWFuZChjbWQs IHJldHVybl90ZXh0PVRydWUsIHJldHVybl9zdGRvdXQ9VHJ1ZSkKLSsgICAgICAgICAgICBjbWQg PSBbJ3NwZWN0b29sJywgJy1sJywgb3MucGF0aC5qb2luKGNsb25lX2Rpciwgc3BlY2ZpbGVfcGF0 aCldCi0rICAgICAgICAgICAgIyBleHRyYWN0IGp1c3QgJy0tZGVmaW5lJyBhcmd1bWVudHMgZnJv bSBycG1kZWZpbmVzCi0rICAgICAgICAgICAgZm9yIG9wdCwgdmFsIGluIHppcChzZWxmLnJwbWRl ZmluZXNbMDo6Ml0sIHNlbGYucnBtZGVmaW5lc1sxOjoyXSk6Ci0rICAgICAgICAgICAgICAgIGlm IG9wdCA9PSAnLS1kZWZpbmUnOgotKyAgICAgICAgICAgICAgICAgICAgY21kLmV4dGVuZCgob3B0 LCB2YWwpKQotKyAgICAgICAgICAgIHJldCwgc3Rkb3V0LCBfID0gc2VsZi5fcnVuX2NvbW1hbmQo Y21kLCBjd2Q9Y2xvbmVfZGlyLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuX3RleHQ9VHJ1ZSwgcmV0dXJuX3N0ZG91dD1UcnVlKQotICAgICAg ICAgICAgIGlmIHJldCAhPSAwOgotICAgICAgICAgICAgICAgICBzZWxmLmxvZy5lcnJvcignQ29t bWFuZCBcJ3swfVwnIGZhaWxlZC4gUHVzaCBvcGVyYXRpb24gJwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnd2FzIGNhbmNlbGxlZC4nLmZvcm1hdCgnICcuam9pbihjbWQpKSkKLSAg ICAgICAgICAgICAgICAgc2VsZi5sb2cud2FybmluZyhzaG93X2hpbnQpCi0tICAgICAgICAgICAg ICAgIHN5cy5leGl0KDIpCi0rICAgICAgICAgICAgICAgIHN5cy5leGl0KDMpCi0rICAgICAgICBm aW5hbGx5OgotKyAgICAgICAgICAgIHNlbGYuX2NsZWFudXBfdG1wX2RpcihjbG9uZV9kaXIpCi0g Ci0gICAgICAgICBzb3VyY2VfZmlsZXMgPSBbXQotICAgICAgICAgIyBleHRyYWN0IHNvdXJjZSBm aWxlcyBmcm9tIHRoZSBzcGVjdG9vbCdzIG91dHB1dAotQEAgLTQ0OTAsMjIgKzQ1MDEsMTYgQEAg Y2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICBzb3VyY2VzX2ZpbGVfcGF0aF9h YnNvbHV0ZSA9IHNlbGYuc291cmNlc19maWxlbmFtZQotICAgICAgICAgICAgICMgY29udmVydCB0 byByZWxhdGl2ZSBwYXRoCi0gICAgICAgICAgICAgc291cmNlc19maWxlX3BhdGggPSBvcy5wYXRo LnJlbHBhdGgoc291cmNlc19maWxlX3BhdGhfYWJzb2x1dGUsIHN0YXJ0PXNlbGYucGF0aCkKLS0g ICAgICAgICAgICBzb3VyY2VzX2ZpbGVfY29udGVudCA9IHNlbGYucmVwby5naXQuY2F0X2ZpbGUo Ci0tICAgICAgICAgICAgICAgICctcCcsICd7MH06ezF9Jy5mb3JtYXQocmVmLCBzb3VyY2VzX2Zp bGVfcGF0aCkpCi0rCi0rICAgICAgICAgICAgIyBwYXJzZSAnc291cmNlcycgZmlsZXMgY29udGVu dAotKyAgICAgICAgICAgIHNvdXJjZXNmID0gU291cmNlc0ZpbGUoc291cmNlc19maWxlX3BhdGgs IHNlbGYuc291cmNlX2VudHJ5X3R5cGUpCi0rICAgICAgICAgICAgc291cmNlc2ZfZW50cmllcyA9 IHNldChpdGVtLmZpbGUgZm9yIGl0ZW0gaW4gc291cmNlc2YuZW50cmllcykKLSAgICAgICAgIGV4 Y2VwdCBFeGNlcHRpb246Ci0gICAgICAgICAgICAgc2VsZi5sb2cud2FybmluZygnXCdzb3VyY2Vz XCcgZmlsZSBkb2VzblwndCBleGlzdC4gUHVzaCBvcGVyYXRpb24gY29udGludWVzLicpCi0gICAg ICAgICAgICAgIyBOT1RFOiBjaGVjayBkb2Vzbid0IGZhaWwgd2hlbiAnc291cmNlcycgZmlsZSBk b2Vzbid0IGV4aXN0LiBKdXN0IHNraXBzIHRoZSByZXN0LgotICAgICAgICAgICAgICMgaXQgbWln aHQgYmUgdGhlIGNhc2Ugb2YgdGhlIHB1c2ggd2l0aG91dCAnc291cmNlcycgPSByZXRpcmluZyB0 aGUgcmVwb3NpdG9yeQotICAgICAgICAgICAgIHJldHVybgotIAotLSAgICAgICAgIyBsb2FkICdz b3VyY2VzJyBmaWxlIGNvbnRlbnQgZnJvbSBwdXNoZWQgYnJhbmNoIGFuZCBzYXZlIGl0IGludG8g YSB0ZW1wb3JhcnkgZmlsZQotLSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZp bGUobW9kZT0idysiKSBhcyB0ZW1wb3Jhcnlfc291cmNlc19maWxlOgotLSAgICAgICAgICAgIHRl bXBvcmFyeV9zb3VyY2VzX2ZpbGUud3JpdGUoc291cmNlc19maWxlX2NvbnRlbnQpCi0tICAgICAg ICAgICAgdGVtcG9yYXJ5X3NvdXJjZXNfZmlsZS5mbHVzaCgpCi0tICAgICAgICAgICAgIyBwYXJz ZSAnc291cmNlcycgZmlsZXMgY29udGVudAotLSAgICAgICAgICAgIHNvdXJjZXNmID0gU291cmNl c0ZpbGUodGVtcG9yYXJ5X3NvdXJjZXNfZmlsZS5uYW1lLCBzZWxmLnNvdXJjZV9lbnRyeV90eXBl KQotLSAgICAgICAgc291cmNlc2ZfZW50cmllcyA9IHNldChpdGVtLmZpbGUgZm9yIGl0ZW0gaW4g c291cmNlc2YuZW50cmllcykKLS0KLSAgICAgICAgICMgbGlzdCBvZiBhbGwgZmlsZXMgKHRoZWly IHJlbGF0aXZlIHBhdGhzKSBpbiB0aGUgY29tbWl0Ci0gICAgICAgICByZXBvX2VudHJpZXMgPSBz ZXQoaXRlbS5wYXRoIGZvciBpdGVtIGluIGNvbW1pdC50cmVlLnRyYXZlcnNlKCkgaWYgaXRlbS50 eXBlICE9ICJ0cmVlIikKLSAKLUBAIC00NTE4LDcgKzQ1MjMsNyBAQCBjbGFzcyBDb21tYW5kcyhv YmplY3QpOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm9yIHRyYWNrZWQgaW4g Z2l0LiAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdXNoIG9wZXJhdGlvbiB3 YXMgY2FuY2VsbGVkJy5mb3JtYXQoc291cmNlX2ZpbGUpKQotICAgICAgICAgICAgICAgICBzZWxm LmxvZy53YXJuaW5nKHNob3dfaGludCkKLS0gICAgICAgICAgICAgICAgc3lzLmV4aXQoMykKLSsg ICAgICAgICAgICAgICAgc3lzLmV4aXQoNCkKLSAKLSAgICAgICAgICMgdmVyaWZ5IGFsbCBmaWxl IGVudHJpZXMgaW4gJ3NvdXJjZXMnIHdlcmUgdXBsb2FkZWQgdG8gdGhlIGxvb2thc2lkZSBjYWNo ZQotICAgICAgICAgZm9yIGVudHJ5IGluIHNvdXJjZXNmLmVudHJpZXM6Ci1AQCAtNDUzMiw2ICs0 NTM3LDYgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICAgICAgc2VsZi5s b2cuZXJyb3IoJ1NvdXJjZSBmaWxlIChvciB0YXJiYWxsKSBcJ3t9XCcgd2FzblwndCB1cGxvYWRl ZCB0byB0aGUgbG9va2FzaWRlICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Nh Y2hlLiBQdXNoIG9wZXJhdGlvbiB3YXMgY2FuY2VsbGVkLicuZm9ybWF0KGZpbGVuYW1lKSkKLSAg ICAgICAgICAgICAgICAgc2VsZi5sb2cud2FybmluZyhzaG93X2hpbnQpCi0tICAgICAgICAgICAg ICAgIHN5cy5leGl0KDQpCi0rICAgICAgICAgICAgICAgIHN5cy5leGl0KDUpCi0gCi0gICAgICAg ICByZXR1cm4gMCAgIyBUaGUgcHVzaCBvcGVyYXRpb24gY29udGludWVzCi1kaWZmIC0tZ2l0IGEv dGVzdHMvY29tbWFuZHMvdGVzdF9wcmVfcHVzaF9jaGVjay5weSBiL3Rlc3RzL2NvbW1hbmRzL3Rl c3RfcHJlX3B1c2hfY2hlY2sucHkKLWluZGV4IDVlMzE0YjkuLmVlMTUxYzEgMTAwNjQ0Ci0tLS0g YS90ZXN0cy9jb21tYW5kcy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5Ci0rKysgYi90ZXN0cy9jb21t YW5kcy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5Ci1AQCAtMzcsNiArMzcsNyBAQCBjbGFzcyBUZXN0 UHJlUHVzaENoZWNrKENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAgIGRlZiBzZXRVcChzZWxmKToKLSAg ICAgICAgIHN1cGVyKFRlc3RQcmVQdXNoQ2hlY2ssIHNlbGYpLnNldFVwKCkKLSAKLSsgICAgICAg IHNlbGYuZGlzdCA9ICJyaGVsLTgiCi0gICAgICAgICBzZWxmLm1ha2VfbmV3X2dpdChzZWxmLm1v ZHVsZSkKLSAKLSAgICAgICAgIG1vZHVsZWRpciA9IG9zLnBhdGguam9pbihzZWxmLmdpdHJvb3Qs IHNlbGYubW9kdWxlKQotQEAgLTg3LDcgKzg4LDcgQEAgUGF0Y2gzOiBkLnBhdGNoCi0gICAgICAg ICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKFN5c3RlbUV4aXQpIGFzIGV4YzoKLSAgICAgICAgICAg ICBzZWxmLmNtZC5wcmVfcHVzaF9jaGVjaygiSEVBRCIpCi0gCi0tICAgICAgICBzZWxmLmFzc2Vy dEVxdWFsKGV4Yy5leGNlcHRpb24uY29kZSwgMykKLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwo ZXhjLmV4Y2VwdGlvbi5jb2RlLCA0KQotICAgICAgICAgbG9nX2Vycm9yLmFzc2VydF9jYWxsZWRf b25jZV93aXRoKCJTb3VyY2UgZmlsZSAnYi5wYXRjaCcgd2FzIG5laXRoZXIgbGlzdGVkIGluIHRo ZSAiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIidzb3VyY2Vz JyBmaWxlIG5vciB0cmFja2VkIGluIGdpdC4gUHVzaCBvcGVyYXRpb24gIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ3YXMgY2FuY2VsbGVkIikKLS0tIAotMi4z OS4yCi0KCmRpZmYgLS1naXQgYS8wMDExLUEtSEVBRC1xdWVyeS1pbnRvLWEtbG9va2FzaWRlLWNh Y2hlLnBhdGNoIGIvMDAxMS1BLUhFQUQtcXVlcnktaW50by1hLWxvb2thc2lkZS1jYWNoZS5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTMyODFiMi4uMDAwMDAwMAotLS0gYS8w MDExLUEtSEVBRC1xdWVyeS1pbnRvLWEtbG9va2FzaWRlLWNhY2hlLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsOTcgKzAsMCBAQAotRnJvbSA3N2NkNjA4ZTU5NmFmOTQ4MTFjMjJhMTZmZjU4YTI2 NWQ5YzczODFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxv bm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IEZyaSwgMzEgTWFyIDIwMjMgMTQ6MDk6MDkgKzAyMDAK LVN1YmplY3Q6IFtQQVRDSCAxMS8xMl0gQSBIRUFEIHF1ZXJ5IGludG8gYSBsb29rYXNpZGUgY2Fj aGUKLQotQSBxdWVyeSBhYm91dCB3aGV0aGVyIHNvbWUgZmlsZSBpcyBwcmVzZW50IGluIHRoZSBs b29rYXNpZGUgY2FjaGUgd2FzCi11bmRlciBhdXRoZW50aWNhdGlvbiBhbmQgaXQgcHJldmVudGVk IHVzaW5nIGNvbW1hbmQgYHByZS1wdXNoLWNoZWNrYAotZm9yIHRob3NlIHdpdGhvdXQgdGhlICdw YWNrYWdlcicgcGVybWlzc2lvbi4KLUFkZGVkIGFub3RoZXIgbWV0aG9kIChiYXNlZCBvbiBIVFRQ IEhFQUQpLCB0aGF0IGFsbG93cyB0aGUgc2FtZSBjaGVjawotd2l0aG91dCBhdXRoZW50aWNhdGlv bi4KLQotSklSQTogUkhFTENNUC0xMTQ4NQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBr Zy9pc3N1ZS81MTMKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0 LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSAgfCAgMiArLQotIHB5cnBrZy9sb29rYXNp ZGUucHkgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KLSAyIGZpbGVz IGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQg YS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKLWluZGV4IDU4NGMxNDEu LjE1MjAzYjcgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkKLSsrKyBiL3B5cnBrZy9f X2luaXRfXy5weQotQEAgLTQ1MjksNyArNDUyOSw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6 Ci0gICAgICAgICBmb3IgZW50cnkgaW4gc291cmNlc2YuZW50cmllczoKLSAgICAgICAgICAgICBm aWxlbmFtZSA9IGVudHJ5LmZpbGUKLSAgICAgICAgICAgICBoYXNoID0gZW50cnkuaGFzaAotLSAg ICAgICAgICAgIGZpbGVfZXhpc3RzX2luX2xvb2thc2lkZSA9IHNlbGYubG9va2FzaWRlY2FjaGUu cmVtb3RlX2ZpbGVfZXhpc3RzKAotKyAgICAgICAgICAgIGZpbGVfZXhpc3RzX2luX2xvb2thc2lk ZSA9IHNlbGYubG9va2FzaWRlY2FjaGUucmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoCi0gICAgICAg ICAgICAgICAgIHNlbGYubnNfcmVwb19uYW1lIGlmIHNlbGYubG9va2FzaWRlX25hbWVzcGFjZWQg ZWxzZSBzZWxmLnJlcG9fbmFtZSwKLSAgICAgICAgICAgICAgICAgZmlsZW5hbWUsCi0gICAgICAg ICAgICAgICAgIGhhc2gpCi1kaWZmIC0tZ2l0IGEvcHlycGtnL2xvb2thc2lkZS5weSBiL3B5cnBr Zy9sb29rYXNpZGUucHkKLWluZGV4IDkwZjBmMWUuLmVjYmYxMmIgMTAwNjQ0Ci0tLS0gYS9weXJw a2cvbG9va2FzaWRlLnB5Ci0rKysgYi9weXJwa2cvbG9va2FzaWRlLnB5Ci1AQCAtMjIsNyArMjIs NyBAQCBpbXBvcnQgc3lzCi0gCi0gaW1wb3J0IHB5Y3VybAotIGltcG9ydCBzaXgKLS1mcm9tIHNp eC5tb3ZlcyBpbXBvcnQgaHR0cF9jbGllbnQKLStmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgaHR0cF9j bGllbnQsIHVybGxpYgotIAotIGZyb20gLmVycm9ycyBpbXBvcnQgKEFscmVhZHlVcGxvYWRlZEVy cm9yLCBEb3dubG9hZEVycm9yLCBJbnZhbGlkSGFzaFR5cGUsCi0gICAgICAgICAgICAgICAgICAg ICAgVXBsb2FkRXJyb3IpCi1AQCAtMTU3LDcgKzE1Nyw3IEBAIGNsYXNzIENHSUxvb2thc2lkZUNh Y2hlKG9iamVjdCk6Ci0gICAgICAgICAgICAgICAgIHJldHVybgotIAotICAgICAgICAgc2VsZi5s b2cuaW5mbygiRG93bmxvYWRpbmcgJXMiLCBmaWxlbmFtZSkKLS0gICAgICAgIHVybGVkX2ZpbGUg PSBmaWxlbmFtZS5yZXBsYWNlKCcgJywgJyUyMCcpCi0rICAgICAgICB1cmxlZF9maWxlID0gdXJs bGliLnBhcnNlLnF1b3RlKGZpbGVuYW1lKQotICAgICAgICAgdXJsID0gc2VsZi5nZXRfZG93bmxv YWRfdXJsKG5hbWUsIHVybGVkX2ZpbGUsIGhhc2gsIGhhc2h0eXBlLCAqKmt3YXJncykKLSAgICAg ICAgIGlmIGlzaW5zdGFuY2UodXJsLCBzaXgudGV4dF90eXBlKToKLSAgICAgICAgICAgICB1cmwg PSB1cmwuZW5jb2RlKCd1dGYtOCcpCi1AQCAtMjAwLDYgKzIwMCwzOCBAQCBjbGFzcyBDR0lMb29r YXNpZGVDYWNoZShvYmplY3QpOgotICAgICAgICAgaWYgbm90IHNlbGYuZmlsZV9pc192YWxpZChv dXRmaWxlLCBoYXNoLCBoYXNodHlwZT1oYXNodHlwZSk6Ci0gICAgICAgICAgICAgcmFpc2UgRG93 bmxvYWRFcnJvcignJXMgZmFpbGVkIGNoZWNrc3VtJyAlIGZpbGVuYW1lKQotIAotKyAgICBkZWYg cmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoc2VsZiwgbmFtZSwgZmlsZW5hbWUsIGhhc2gpOgotKyAg ICAgICAgIiIiVmVyaWZ5IHdoZXRoZXIgYSBmaWxlIGV4aXN0cyBvbiB0aGUgbG9va2FzaWRlIGNh Y2hlLgotKyAgICAgICAgVXNlcyBhIEhUVFAgSEVBRCByZXF1ZXN0IGFuZCBkb2Vzbid0IHJlcXVp cmUgYXV0aGVudGljYXRpb24uCi0rCi0rICAgICAgICA6cGFyYW0gc3RyIG5hbWU6IFRoZSBuYW1l IG9mIHRoZSBtb2R1bGUuICh1c3VhbGx5IHRoZSBuYW1lIG9mIHRoZQotKyAgICAgICAgICAgIFNS UE0pLiBUaGlzIGNhbiBpbmNsdWRlIHRoZSBuYW1lc3BhY2UgYXMgd2VsbCAoZGVwZW5kaW5nIG9u IHdoYXQKLSsgICAgICAgICAgICB0aGUgc2VydmVyIHNpZGUgZXhwZWN0cykuCi0rICAgICAgICA6 cGFyYW0gc3RyIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBjaGVjayBmb3IuCi0r ICAgICAgICA6cGFyYW0gc3RyIGhhc2g6IFRoZSBrbm93biBnb29kIGhhc2ggb2YgdGhlIGZpbGUu Ci0rICAgICAgICAiIiIKLSsKLSsgICAgICAgIHVybGVkX2ZpbGUgPSB1cmxsaWIucGFyc2UucXVv dGUoZmlsZW5hbWUpCi0rICAgICAgICB1cmwgPSBzZWxmLmdldF9kb3dubG9hZF91cmwobmFtZSwg dXJsZWRfZmlsZSwgaGFzaCwgc2VsZi5oYXNodHlwZSkKLSsKLSsgICAgICAgIGMgPSBweWN1cmwu Q3VybCgpCi0rICAgICAgICBjLnNldG9wdChweWN1cmwuVVJMLCB1cmwpCi0rICAgICAgICBjLnNl dG9wdChweWN1cmwuTk9CT0RZLCBUcnVlKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkZPTExP V0xPQ0FUSU9OLCAxKQotKwotKyAgICAgICAgdHJ5OgotKyAgICAgICAgICAgIGMucGVyZm9ybSgp Ci0rICAgICAgICAgICAgc3RhdHVzID0gYy5nZXRpbmZvKHB5Y3VybC5SRVNQT05TRV9DT0RFKQot KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotKyAgICAgICAgICAgIHJhaXNlIERvd25s b2FkRXJyb3IoZSkKLSsgICAgICAgIGZpbmFsbHk6Ci0rICAgICAgICAgICAgYy5jbG9zZSgpCi0r Ci0rICAgICAgICBpZiBzdGF0dXMgIT0gMjAwOgotKyAgICAgICAgICAgIHNlbGYubG9nLmRlYnVn KCdVbmF2YWlsYWJsZSBmaWxlIFwnJXNcJyBhdCAlcycgJSAoZmlsZW5hbWUsIHVybCkpCi0rICAg ICAgICAgICAgcmV0dXJuIEZhbHNlCi0rICAgICAgICByZXR1cm4gVHJ1ZQotKwotICAgICBkZWYg cmVtb3RlX2ZpbGVfZXhpc3RzKHNlbGYsIG5hbWUsIGZpbGVuYW1lLCBoYXNoKToKLSAgICAgICAg ICIiIlZlcmlmeSB3aGV0aGVyIGEgZmlsZSBleGlzdHMgb24gdGhlIGxvb2thc2lkZSBjYWNoZQot IAotLS0gCi0yLjM5LjIKLQoKZGlmZiAtLWdpdCBhLzAwMTItcHJlLXB1c2gtaG9vay1zY3JpcHQt Y29udGFpbnMtYS11c2VyLXMtY29uZmlnLnBhdGNoIGIvMDAxMi1wcmUtcHVzaC1ob29rLXNjcmlw dC1jb250YWlucy1hLXVzZXItcy1jb25maWcucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IGZmMjY3NmQuLjAwMDAwMDAKLS0tIGEvMDAxMi1wcmUtcHVzaC1ob29rLXNjcmlwdC1j b250YWlucy1hLXVzZXItcy1jb25maWcucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxOTcgKzAs MCBAQAotRnJvbSAxZjAzZWI5MTAyZjc2NWMzNmNjMjAxYTQ5OWQ4MTU3MzJlNjdkZDM5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNv bT4KLURhdGU6IE1vbiwgMjcgTWFyIDIwMjMgMjM6MzQ6MTIgKzAyMDAKLVN1YmplY3Q6IFtQQVRD SCAxMi8xMl0gcHJlLXB1c2ggaG9vayBzY3JpcHQgY29udGFpbnMgYSB1c2VyJ3MgY29uZmlnCi0K LVdoZW4gdGhlIGBjbG9uZWAgY29tbWFuZCBpcyBjYWxsZWQgd2l0aCBhbiBhcmd1bWVudAotLUN8 LS1jb25maWcgPGNvbmZpZ19maWxlPgotdGhpcyBhcmd1bWVudCBpcyBwbGFjZWQgdG8gdGhlIGdl bmVyYXRlZCBwcmUtcHVzaCBzY3JpcHQuCi0KLUZpeGVzOiAjNjY3Ci1KSVJBOiBSSEVMQ01QLTEx Mzk0Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0t LS0KLSBweXJwa2cvX19pbml0X18ucHkgICAgICAgICAgIHwgMjMgKysrKysrKysrKysrLS0tLS0t LQotIHB5cnBrZy9jbGkucHkgICAgICAgICAgICAgICAgfCAgNiArKystLQotIHRlc3RzL2NvbW1h bmRzL3Rlc3RfY2xvbmUucHkgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysKLSAzIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1p bmRleCAxNTIwM2I3Li45OTk2NDAyIDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0r KysgYi9weXJwa2cvX19pbml0X18ucHkKLUBAIC0xNTY2LDcgKzE1NjYsOCBAQCBjbGFzcyBDb21t YW5kcyhvYmplY3QpOgotICAgICAgICAgcmV0dXJuCi0gCi0gICAgIGRlZiBjbG9uZShzZWxmLCBy ZXBvLCBwYXRoPU5vbmUsIGJyYW5jaD1Ob25lLCBiYXJlX2Rpcj1Ob25lLAotLSAgICAgICAgICAg ICAgYW5vbj1GYWxzZSwgdGFyZ2V0PU5vbmUsIGRlcHRoPU5vbmUsIGV4dHJhX2FyZ3M9Tm9uZSk6 Ci0rICAgICAgICAgICAgICBhbm9uPUZhbHNlLCB0YXJnZXQ9Tm9uZSwgZGVwdGg9Tm9uZSwgZXh0 cmFfYXJncz1Ob25lLAotKyAgICAgICAgICAgICAgY29uZmlnX3BhdGg9Tm9uZSk6Ci0gICAgICAg ICAiIiJDbG9uZSBhIHJlcG8sIG9wdGlvbmFsbHkgY2hlY2sgb3V0IGEgc3BlY2lmaWMgYnJhbmNo LgotIAotICAgICAgICAgOnBhcmFtIHN0ciByZXBvOiB0aGUgbmFtZSBvZiB0aGUgcmVwb3NpdG9y eSB0byBjbG9uZS4KLUBAIC0xNTgzLDYgKzE1ODQsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3Qp OgotICAgICAgICAgICAgIHRvIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNvbW1pdHMuCi0gICAg ICAgICA6cGFyYW0gbGlzdCBleHRyYV9hcmdzOiBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFy ZSBwYXNzZWQgdG8KLSAgICAgICAgICAgICB0aGUgY2xvbmUgY29tbWFuZC4KLSsgICAgICAgIDpw YXJhbSBzdHIgY29uZmlnX3BhdGg6IHBhdGggdG8gdGhlIGdsb2JhbCBjb25maWcgZmlsZQotICAg ICAgICAgIiIiCi0gCi0gICAgICAgICBpZiBub3QgcGF0aDoKLUBAIC0xNjM4LDcgKzE2NDAsNyBA QCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgotIAotICAgICAgICAgaWYgbm90IGJhcmVfZGlyOgot ICAgICAgICAgICAgIHNlbGYuX2FkZF9naXRfZXhjbHVkZXMob3MucGF0aC5qb2luKHBhdGgsIGdp dF9kaXIpKQotLSAgICAgICAgICAgIHNlbGYuX2FkZF9naXRfcHJlX3B1c2hfaG9vayhvcy5wYXRo LmpvaW4ocGF0aCwgZ2l0X2RpcikpCi0rICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9wcmVfcHVz aF9ob29rKG9zLnBhdGguam9pbihwYXRoLCBnaXRfZGlyKSwgY29uZmlnX3BhdGgpCi0gCi0gICAg ICAgICByZXR1cm4KLSAKLUBAIC0xNjU0LDcgKzE2NTYsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmpl Y3QpOgotICAgICAgICAgcmV0dXJuIHJlcG8KLSAKLSAgICAgZGVmIGNsb25lX3dpdGhfZGlycyhz ZWxmLCByZXBvLCBhbm9uPUZhbHNlLCB0YXJnZXQ9Tm9uZSwgZGVwdGg9Tm9uZSwKLS0gICAgICAg ICAgICAgICAgICAgICAgICBleHRyYV9hcmdzPU5vbmUpOgotKyAgICAgICAgICAgICAgICAgICAg ICAgIGV4dHJhX2FyZ3M9Tm9uZSwgY29uZmlnX3BhdGg9Tm9uZSk6Ci0gICAgICAgICAiIiJDbG9u ZSBhIHJlcG8gb2xkIHN0eWxlIHdpdGggc3ViZGlycyBmb3IgZWFjaCBicmFuY2guCi0gCi0gICAg ICAgICA6cGFyYW0gc3RyIHJlcG86IG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gY2xvbmUuCi1A QCAtMTY2Niw2ICsxNjY4LDcgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAg ICB0byB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBjb21taXRzLgotICAgICAgICAgOnBhcmFtIGxp c3QgZXh0cmFfYXJnczogYWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFzc2VkIHRvCi0g ICAgICAgICAgICAgdGhlIGNsb25lIGNvbW1hbmQuCi0rICAgICAgICA6cGFyYW0gc3RyIGNvbmZp Z19wYXRoOiBwYXRoIHRvIHRoZSBnbG9iYWwgY29uZmlnIGZpbGUKLSAgICAgICAgICIiIgotIAot ICAgICAgICAgc2VsZi5fcHVzaF91cmwgPSBOb25lCi1AQCAtMTcyNCw3ICsxNzI3LDcgQEAgY2xh c3MgQ29tbWFuZHMob2JqZWN0KToKLSAKLSAgICAgICAgICAgICAgICAgIyBBZGQgZXhjbHVkZXMK LSAgICAgICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9leGNsdWRlcyhicmFuY2hfcGF0aCkKLS0g ICAgICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9wcmVfcHVzaF9ob29rKGJyYW5jaF9wYXRoKQot KyAgICAgICAgICAgICAgICBzZWxmLl9hZGRfZ2l0X3ByZV9wdXNoX2hvb2soYnJhbmNoX3BhdGgs IGNvbmZpZ19wYXRoKQotICAgICAgICAgICAgIGV4Y2VwdCAoZ2l0LkdpdENvbW1hbmRFcnJvciwg T1NFcnJvcikgYXMgZToKLSAgICAgICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdDb3VsZCBu b3QgbG9jYWxseSBjbG9uZSAlcyBmcm9tICVzOiAlcycKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICUgKGJyYW5jaCwgcmVwb19wYXRoLCBlKSkKLUBAIC0xNzg3LDcgKzE3OTAsNyBA QCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgotICAgICAgICAgZ2l0X2V4Y2x1ZGVzLndyaXRlKCkK LSAgICAgICAgIHNlbGYubG9nLmRlYnVnKCdHaXQtZXhjbHVkZXMgcGF0dGVybnMgd2VyZSBhZGRl ZCBpbnRvICVzJyAlIGdpdF9leGNsdWRlc19wYXRoKQotIAotLSAgICBkZWYgX2FkZF9naXRfcHJl X3B1c2hfaG9vayhzZWxmLCBjb25mX2Rpcik6Ci0rICAgIGRlZiBfYWRkX2dpdF9wcmVfcHVzaF9o b29rKHNlbGYsIHJlcG9fZGlyLCBjb25maWdfcGF0aD1Ob25lKToKLSAgICAgICAgICIiIgotICAg ICAgICAgQ3JlYXRlIHByZS1wdXNoIGhvb2sgc2NyaXB0IGFuZCB3cml0ZSBpdCBpbiB0aGUgbG9j YXRpb246Ci0gICAgICAgICA8cmVwb3NpdG9yeV9kaXJlY3Rvcnk+Ly5naXQvaG9va3MvcHJlLXB1 c2gKLUBAIC0xODAzLDYgKzE4MDYsMTAgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAg ICAgICAgICBzZWxmLmxvZy5kZWJ1ZygnUHJlLXB1c2ggaG9vayBzY3JpcHQgd2FzIE5PVCBhZGRl ZCAtIG1pc3NpbmcgJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgcGFja2FnaW5n IHRvb2wgbGlrZSBmZWRwa2csIHJocGtnLCAuLi4nKQotICAgICAgICAgICAgIHJldHVybgotKwot KyAgICAgICAgIyBpbiBjYXNlIHRoZSBjbG9uZSBjb21tYW5kIHJ1biB3aXRoICd4LXBrZyAtQyA8 Y29uZmlnX3BhdGg+IGNsb25lIDxyZXBvX25hbWU+JwotKyAgICAgICAgY29uZmlnX2FyZyA9ICcg LUMgInswfSInLmZvcm1hdChvcy5wYXRoLnJlYWxwYXRoKGNvbmZpZ19wYXRoKSkgaWYgY29uZmln X3BhdGggZWxzZSAiIgotKwotICAgICAgICAgaG9va19jb250ZW50ID0gdGV4dHdyYXAuZGVkZW50 KCIiIgotICAgICAgICAgICAgICMhL2Jpbi9iYXNoCi0gCi1AQCAtMTgxOCw3ICsxODI1LDcgQEAg Y2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICBkbwotICAgICAgICAgICAgICAg ICBjb21tYW5kIC12IHswfSA+L2Rldi9udWxsIDI+JjEgfHwge3sgZWNobyA+JjIgIldhcm5pbmc6 ICd7MH0nIGlzIG1pc3NpbmcsIFxcCi0gICAgICAgICAgICAgcHJlLXB1c2ggY2hlY2sgaXMgb21p dHRlZC4gU2VlIC5naXQvaG9va3MvcHJlLXB1c2giOyBleGl0IDA7IH19Ci0tICAgICAgICAgICAg ICAgIHswfSBwcmUtcHVzaC1jaGVjayAiJGxvY2FsX3NoYSIKLSsgICAgICAgICAgICAgICAgezB9 ezF9IHByZS1wdXNoLWNoZWNrICIkbG9jYWxfc2hhIgotICAgICAgICAgICAgICAgICByZXRfY29k ZT0kPwotICAgICAgICAgICAgICAgICBpZiBbICRyZXRfY29kZSAtbmUgMCBdICYmIFsgJGV4aXRf Y29kZSAtZXEgMCBdOyB0aGVuCi0gICAgICAgICAgICAgICAgICAgICBleGl0X2NvZGU9JHJldF9j b2RlCi1AQCAtMTgyNiw4ICsxODMzLDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAg ICAgICAgICBkb25lCi0gCi0gICAgICAgICAgICAgZXhpdCAkZXhpdF9jb2RlCi0tICAgICAgICAi IiIpLnN0cmlwKCkuZm9ybWF0KHRvb2xfbmFtZSkKLS0gICAgICAgIGdpdF9wcmVfcHVzaF9ob29r X3BhdGggPSBvcy5wYXRoLmpvaW4oY29uZl9kaXIsICcuZ2l0L2hvb2tzL3ByZS1wdXNoJykKLSsg ICAgICAgICIiIikuc3RyaXAoKS5mb3JtYXQodG9vbF9uYW1lLCBjb25maWdfYXJnKQotKyAgICAg ICAgZ2l0X3ByZV9wdXNoX2hvb2tfcGF0aCA9IG9zLnBhdGguam9pbihyZXBvX2RpciwgJy5naXQv aG9va3MvcHJlLXB1c2gnKQotICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG9zLnBhdGgu ZGlybmFtZShnaXRfcHJlX3B1c2hfaG9va19wYXRoKSk6Ci0gICAgICAgICAgICAgIyBwcmVwYXJl ICIuZ2l0L2hvb2tzIiBkaXJlY3RvcnkgaWYgaXQgaXMgbWlzc2luZwotICAgICAgICAgICAgIG9z Lm1ha2VkaXJzKG9zLnBhdGguZGlybmFtZShnaXRfcHJlX3B1c2hfaG9va19wYXRoKSkKLWRpZmYg LS1naXQgYS9weXJwa2cvY2xpLnB5IGIvcHlycGtnL2NsaS5weQotaW5kZXggMWJjZjZlNC4uM2Q4 Y2UzMyAxMDA2NDQKLS0tLSBhL3B5cnBrZy9jbGkucHkKLSsrKyBiL3B5cnBrZy9jbGkucHkKLUBA IC0yMTgyLDE0ICsyMTgyLDE2IEBAIGNsYXNzIGNsaUNsaWVudChvYmplY3QpOgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbm9uPXNlbGYuYXJncy5hbm9ueW1vdXMsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1zZWxmLmFyZ3MuY2xv bmVfdGFyZ2V0LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXB0aD1z ZWxmLmFyZ3MuZGVwdGgsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4 dHJhX2FyZ3M9c2VsZi5leHRyYV9hcmdzKQotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBleHRyYV9hcmdzPXNlbGYuZXh0cmFfYXJncywKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGg9c2VsZi5hcmdzLmNvbmZpZykKLSAgICAgICAg IGVsc2U6Ci0gICAgICAgICAgICAgc2VsZi5jbWQuY2xvbmUoc2VsZi5hcmdzLnJlcG9bMF0sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJhbmNoPXNlbGYuYXJncy5icmFuY2gsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgYW5vbj1zZWxmLmFyZ3MuYW5vbnltb3VzLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1zZWxmLmFyZ3MuY2xvbmVfdGFyZ2V0LAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoPXNlbGYuYXJncy5kZXB0aCwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICBleHRyYV9hcmdzPXNlbGYuZXh0cmFfYXJncykKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICBleHRyYV9hcmdzPXNlbGYuZXh0cmFfYXJncywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25maWdfcGF0aD1zZWxmLmFyZ3MuY29uZmlnKQotIAotICAg ICBkZWYgY29tbWl0KHNlbGYpOgotICAgICAgICAgaWYgc2VsZi5hcmdzLndpdGhfY2hhbmdlbG9n IGFuZCBub3Qgc2VsZi5hcmdzLm1lc3NhZ2U6Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvY29tbWFuZHMv dGVzdF9jbG9uZS5weSBiL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkKLWluZGV4IGY3NDE4 NjQuLjZlZjEzMDAgMTAwNjQ0Ci0tLS0gYS90ZXN0cy9jb21tYW5kcy90ZXN0X2Nsb25lLnB5Ci0r KysgYi90ZXN0cy9jb21tYW5kcy90ZXN0X2Nsb25lLnB5Ci1AQCAtOTUsNiArOTUsNTAgQEAgY2xh c3MgQ29tbWFuZENsb25lVGVzdENhc2UoQ29tbWFuZFRlc3RDYXNlKToKLSAKLSAgICAgICAgIHNo dXRpbC5ybXRyZWUoYWx0cGF0aCkKLSAKLSsgICAgZGVmIHRlc3RfY2xvbmVfYW5vbnltb3VzX3By ZV9wdXNoX2hvb2soc2VsZik6Ci0rICAgICAgICBzZWxmLm1ha2VfbmV3X2dpdChzZWxmLm1vZHVs ZSkKLSsKLSsgICAgICAgIGFsdHBhdGggPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD0ncnBrZy10 ZXN0cy4nKQotKwotKyAgICAgICAgY21kID0gcHlycGtnLkNvbW1hbmRzKHNlbGYucGF0aCwgc2Vs Zi5sb29rYXNpZGUsIHNlbGYubG9va2FzaWRlaGFzaCwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLmxvb2thc2lkZV9jZ2ksIHNlbGYuZ2l0YmFzZXVybCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZWxmLmFub25naXR1cmwsIHNlbGYuYnJhbmNocmUsIHNlbGYu a29qaXByb2ZpbGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5idWlsZF9j bGllbnQsIHNlbGYudXNlciwgc2VsZi5kaXN0LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYudGFyZ2V0LCBzZWxmLnF1aWV0KQotKyAgICAgICAgY21kLmNsb25lKHNlbGYubW9k dWxlLCBhbm9uPVRydWUsIGNvbmZpZ19wYXRoPU5vbmUpCi0rCi0rICAgICAgICBtb2R1bGVkaXIg PSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVsZSkKLSsgICAgICAgIHNlbGYuYXNz ZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4obW9kdWxlZGlyLCAnLmdpdC9ob29r cy9wcmUtcHVzaCcpKSkKLSsKLSsgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obW9kdWxl ZGlyLCAnLmdpdC9ob29rcy9wcmUtcHVzaCcpKSBhcyBnaXRfaG9va19zY3JpcHQ6Ci0rICAgICAg ICAgICAgY29udGVudCA9IGdpdF9ob29rX3NjcmlwdC5yZWFkKCkKLSsgICAgICAgICAgICBwYXR0 ZXJuID0gJ19fbWFpbl9fLnB5IHByZS1wdXNoLWNoZWNrICIkbG9jYWxfc2hhIicKLSsgICAgICAg ICAgICBzZWxmLmFzc2VydEluKHBhdHRlcm4sIGNvbnRlbnQpCi0rCi0rICAgICAgICBzaHV0aWwu cm10cmVlKGFsdHBhdGgpCi0rCi0rICAgIGRlZiB0ZXN0X2Nsb25lX2Fub255bW91c19wcmVfcHVz aF9ob29rX2NvbmZpZyhzZWxmKToKLSsgICAgICAgIHNlbGYubWFrZV9uZXdfZ2l0KHNlbGYubW9k dWxlKQotKwotKyAgICAgICAgYWx0cGF0aCA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4PSdycGtn LXRlc3RzLicpCi0rCi0rICAgICAgICBjbWQgPSBweXJwa2cuQ29tbWFuZHMoc2VsZi5wYXRoLCBz ZWxmLmxvb2thc2lkZSwgc2VsZi5sb29rYXNpZGVoYXNoLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYubG9va2FzaWRlX2NnaSwgc2VsZi5naXRiYXNldXJsLAotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYW5vbmdpdHVybCwgc2VsZi5icmFuY2hyZSwgc2Vs Zi5rb2ppcHJvZmlsZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxk X2NsaWVudCwgc2VsZi51c2VyLCBzZWxmLmRpc3QsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi50YXJnZXQsIHNlbGYucXVpZXQpCi0rICAgICAgICBjbWQuY2xvbmUoc2VsZi5t b2R1bGUsIGFub249VHJ1ZSwgY29uZmlnX3BhdGg9Ii9ob21lL2NvbmYvcmhwa2cuY29uZiIpCi0r Ci0rICAgICAgICBtb2R1bGVkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVs ZSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4o bW9kdWxlZGlyLCAnLmdpdC9ob29rcy9wcmUtcHVzaCcpKSkKLSsKLSsgICAgICAgIHdpdGggb3Bl bihvcy5wYXRoLmpvaW4obW9kdWxlZGlyLCAnLmdpdC9ob29rcy9wcmUtcHVzaCcpKSBhcyBnaXRf aG9va19zY3JpcHQ6Ci0rICAgICAgICAgICAgY29udGVudCA9IGdpdF9ob29rX3NjcmlwdC5yZWFk KCkKLSsgICAgICAgICAgICBwYXR0ZXJuID0gJ19fbWFpbl9fLnB5IC1DICIvaG9tZS9jb25mL3Jo cGtnLmNvbmYiIHByZS1wdXNoLWNoZWNrICIkbG9jYWxfc2hhIicKLSsgICAgICAgICAgICBzZWxm LmFzc2VydEluKHBhdHRlcm4sIGNvbnRlbnQpCi0rCi0rICAgICAgICBzaHV0aWwucm10cmVlKGFs dHBhdGgpCi0rCi0gICAgIGRlZiB0ZXN0X2Nsb25lX2Fub255bW91c193aXRoX2JyYW5jaChzZWxm KToKLSAgICAgICAgIHNlbGYubWFrZV9uZXdfZ2l0KHNlbGYubW9kdWxlLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgYnJhbmNoZXM9WydycGtnLXRlc3RzLTEnLCAncnBrZy10ZXN0cy0yJ10p Ci0tLSAKLTIuMzkuMgotCgpkaWZmIC0tZ2l0IGEvMDAxMy1GaXgtdW5pdHRlc3RzLWZvci1jbG9u ZS1hbmQtcHJlLXB1c2gtaG9vay1zY3JpcHQucGF0Y2ggYi8wMDEzLUZpeC11bml0dGVzdHMtZm9y LWNsb25lLWFuZC1wcmUtcHVzaC1ob29rLXNjcmlwdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggOTkxZmIyMi4uMDAwMDAwMAotLS0gYS8wMDEzLUZpeC11bml0dGVzdHMtZm9y LWNsb25lLWFuZC1wcmUtcHVzaC1ob29rLXNjcmlwdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDQ5ICswLDAgQEAKLUZyb20gMWQ4MmI3ZWFmOThlNjk1Njg5YTdkYzEwYmQzMDgwMzBlM2MxM2Vl YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJl ZGhhdC5jb20+Ci1EYXRlOiBTYXQsIDEgQXByIDIwMjMgMDE6MzQ6MzQgKzAyMDAKLVN1YmplY3Q6 IFtQQVRDSF0gRml4IHVuaXR0ZXN0cyBmb3IgYGNsb25lYCBhbmQgcHJlLXB1c2ggaG9vayBzY3Jp cHQKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0t LQotIHRlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkgfCA4ICsrKysrKy0tCi0gMSBmaWxlIGNo YW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rl c3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkgYi90ZXN0cy9jb21tYW5kcy90ZXN0X2Nsb25lLnB5 Ci1pbmRleCA2ZWYxMzAwLi44NWZkZmQxIDEwMDY0NAotLS0tIGEvdGVzdHMvY29tbWFuZHMvdGVz dF9jbG9uZS5weQotKysrIGIvdGVzdHMvY29tbWFuZHMvdGVzdF9jbG9uZS5weQotQEAgLTEsNSAr MSw2IEBACi0gaW1wb3J0IG9zCi0gaW1wb3J0IHNodXRpbAotK2ltcG9ydCBzeXMKLSBpbXBvcnQg dGVtcGZpbGUKLSAKLSBpbXBvcnQgZ2l0Ci1AQCAtMTEwLDkgKzExMSwxMCBAQCBjbGFzcyBDb21t YW5kQ2xvbmVUZXN0Q2FzZShDb21tYW5kVGVzdENhc2UpOgotICAgICAgICAgbW9kdWxlZGlyID0g b3MucGF0aC5qb2luKHNlbGYucGF0aCwgc2VsZi5tb2R1bGUpCi0gICAgICAgICBzZWxmLmFzc2Vy dFRydWUob3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKG1vZHVsZWRpciwgJy5naXQvaG9va3Mv cHJlLXB1c2gnKSkpCi0gCi0rICAgICAgICBjbG9ubmVkX2J5ID0gb3MucGF0aC5iYXNlbmFtZShz eXMuYXJndlswXSkKLSAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obW9kdWxlZGlyLCAn LmdpdC9ob29rcy9wcmUtcHVzaCcpKSBhcyBnaXRfaG9va19zY3JpcHQ6Ci0gICAgICAgICAgICAg Y29udGVudCA9IGdpdF9ob29rX3NjcmlwdC5yZWFkKCkKLS0gICAgICAgICAgICBwYXR0ZXJuID0g J19fbWFpbl9fLnB5IHByZS1wdXNoLWNoZWNrICIkbG9jYWxfc2hhIicKLSsgICAgICAgICAgICBw YXR0ZXJuID0gJ3swfSBwcmUtcHVzaC1jaGVjayAiJGxvY2FsX3NoYSInLmZvcm1hdChjbG9ubmVk X2J5KQotICAgICAgICAgICAgIHNlbGYuYXNzZXJ0SW4ocGF0dGVybiwgY29udGVudCkKLSAKLSAg ICAgICAgIHNodXRpbC5ybXRyZWUoYWx0cGF0aCkKLUBAIC0xMzIsOSArMTM0LDExIEBAIGNsYXNz IENvbW1hbmRDbG9uZVRlc3RDYXNlKENvbW1hbmRUZXN0Q2FzZSk6Ci0gICAgICAgICBtb2R1bGVk aXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVsZSkKLSAgICAgICAgIHNlbGYu YXNzZXJ0VHJ1ZShvcy5wYXRoLmlzZmlsZShvcy5wYXRoLmpvaW4obW9kdWxlZGlyLCAnLmdpdC9o b29rcy9wcmUtcHVzaCcpKSkKLSAKLSsgICAgICAgIGNsb25uZWRfYnkgPSBvcy5wYXRoLmJhc2Vu YW1lKHN5cy5hcmd2WzBdKQotICAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihtb2R1bGVk aXIsICcuZ2l0L2hvb2tzL3ByZS1wdXNoJykpIGFzIGdpdF9ob29rX3NjcmlwdDoKLSAgICAgICAg ICAgICBjb250ZW50ID0gZ2l0X2hvb2tfc2NyaXB0LnJlYWQoKQotLSAgICAgICAgICAgIHBhdHRl cm4gPSAnX19tYWluX18ucHkgLUMgIi9ob21lL2NvbmYvcmhwa2cuY29uZiIgcHJlLXB1c2gtY2hl Y2sgIiRsb2NhbF9zaGEiJwotKyAgICAgICAgICAgIHBhdHRlcm4gPSAnezB9IC1DICIvaG9tZS9j b25mL3JocGtnLmNvbmYiIHByZS1wdXNoLWNoZWNrICcgXAotKyAgICAgICAgICAgICAgICAgICAg ICAnIiRsb2NhbF9zaGEiJy5mb3JtYXQoY2xvbm5lZF9ieSkKLSAgICAgICAgICAgICBzZWxmLmFz c2VydEluKHBhdHRlcm4sIGNvbnRlbnQpCi0gCi0gICAgICAgICBzaHV0aWwucm10cmVlKGFsdHBh dGgpCi0tLSAKLTIuMzkuMgotCgpkaWZmIC0tZ2l0IGEvMDAxNC1pbXBvcnRfc3JwbS1hbGxvdy1w cmUtZ2VuZXJhdGVkLXNycG1zLnBhdGNoIGIvMDAxNC1pbXBvcnRfc3JwbS1hbGxvdy1wcmUtZ2Vu ZXJhdGVkLXNycG1zLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmNTk2MjY1 Li4wMDAwMDAwCi0tLSBhLzAwMTQtaW1wb3J0X3NycG0tYWxsb3ctcHJlLWdlbmVyYXRlZC1zcnBt cy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1Gcm9tIGQ4N2NiMzdmYTJm ZWEyZWQ1MzViOTA4NWExZjRjNjA3MDgzZTFjMmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1G cm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgotRGF0ZTogVHVlLCA0IEFwciAy MDIzIDAxOjQwOjIzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMS82XSBpbXBvcnRfc3JwbTogYWxs b3cgcHJlLWdlbmVyYXRlZCBzcnBtcwotCi1XaGVuIGFjdGl2ZSwgZG8gbm90IGNhcmUgc3BlY2Zp bGUgaW4gdGhlIHNycG0gaXMgcHJvY2Vzc2VkIGJ5Ci1ycG1hdXRvc3BlYy4gQ2FuIGJlIGFjdGl2 YXRlZCBvbmx5IGRpcmVjdGx5IHZpYSBweXJwa2cgJ0NvbW1hbmRzJwotb2JqZWN0LgotCi1SZWxh dGVzOiBodHRwczovL2dpdGh1Yi5jb20vZmVkb3JhLWNvcHIvY29wci9pc3N1ZXMvMjMxNwotRml4 ZXM6ICM2NTUKLVJIRUxDTVAtMTEwODUKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxv bm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8ICA2ICsrKysrLQot IHRlc3RzL3Rlc3RfY2xpLnB5ICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCi0gMiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9u KC0pCi0KLWRpZmYgLS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18u cHkKLWluZGV4IDk5OTY0MDIuLmVjYjk5YzkgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18u cHkKLSsrKyBiL3B5cnBrZy9fX2luaXRfXy5weQotQEAgLTExMCw3ICsxMTAsNyBAQCBjbGFzcyBD b21tYW5kcyhvYmplY3QpOgotICAgICAgICAgICAgICAgICAgYnVpbGRfY2xpZW50LCB1c2VyPU5v bmUsCi0gICAgICAgICAgICAgICAgICBkaXN0PU5vbmUsIHRhcmdldD1Ob25lLCBxdWlldD1GYWxz ZSwKLSAgICAgICAgICAgICAgICAgIGRpc3RnaXRfbmFtZXNwYWNlZD1GYWxzZSwgcmVhbG1zPU5v bmUsIGxvb2thc2lkZV9uYW1lc3BhY2VkPUZhbHNlLAotLSAgICAgICAgICAgICAgICAgZ2l0X2V4 Y2x1ZGVzPU5vbmUsIHJlc3VsdHNfZGlyPSdyb290Jyk6Ci0rICAgICAgICAgICAgICAgICBnaXRf ZXhjbHVkZXM9Tm9uZSwgcmVzdWx0c19kaXI9J3Jvb3QnLCBhbGxvd19wcmVfZ2VuZXJhdGVkX3Ny cG09RmFsc2UpOgotICAgICAgICAgIiIiSW5pdCB0aGUgb2JqZWN0IGFuZCBzb21lIGNvbmZpZ3Vy YXRpb24gZGV0YWlscy4iIiIKLSAKLSAgICAgICAgICMgUGF0aCB0byBvcGVyYXRlIG9uLCBtb3N0 IG9mdGVuIHB3ZAotQEAgLTIzOSw2ICsyMzksOSBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgot ICAgICAgICAgIyBMYXlvdXQgc2V0dXAKLSAgICAgICAgIHNlbGYubGF5b3V0ID0gbGF5b3V0LmJ1 aWxkKHNlbGYucGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1 bHRzZGlyJyBpZiBzZWxmLnJlc3VsdHNfZGlyID09ICdzdWJkaXInIGVsc2UgTm9uZSkKLSsgICAg ICAgICMgQSBDb25maWd1cmF0aW9uIHZhbHVlIHVzZWQgaW4gJ2ltcG9ydF9zcnBtJyBjb21tYW5k IChjb21lcyBmcm9tIHRoZSBDb3ByIHRlYW0pCi0rICAgICAgICAjIElmIHByZS1nZW5lcmF0ZWQg c3JwbXMgYXJlIGFsbG93ZWQsIGRvbid0IGNhcmUgc3BlY2ZpbGUgaXMgcHJvY2Vzc2VkIGJ5IHJw bWF1dG9zcGVjCi0rICAgICAgICBzZWxmLmFsbG93X3ByZV9nZW5lcmF0ZWRfc3JwbSA9IGFsbG93 X3ByZV9nZW5lcmF0ZWRfc3JwbQotIAotICAgICAjIERlZmluZSBwcm9wZXJ0aWVzIGhlcmUKLSAg ICAgIyBQcm9wZXJ0aWVzIGFsbG93IHVzIHRvICJsYXp5IGxvYWQiIHZhcmlvdXMgYXR0cmlidXRl cywgd2hpY2ggYWxzbyBtZWFucwotQEAgLTE0NzEsNiArMTQ3NCw3IEBAIGNsYXNzIENvbW1hbmRz KG9iamVjdCk6Ci0gICAgICAgICAgICAgICAgICMgdGhlIGRpc3QtZ2l0IHJlcG8gd2l0aG91dCBh bnkgc3BlY2ZpbGVzIC0gcmlnaHQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24pIHdlIGFyZQotICAgICAg ICAgICAgICAgICAjIG5vdCBhYmxlIGRldGVybWluZSB3aGljaCB0aGUgbWFpbiBzcGVjZmlsZSBp cy4KLSAgICAgICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgnLnNwZWMnKSBhbmQgbm90IGZp bGUuc3RhcnRzd2l0aCgnLicpIFwKLSsgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbm90IHNl bGYuYWxsb3dfcHJlX2dlbmVyYXRlZF9zcnBtIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICBh bmQgc3BlY19maWxlX3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYyhmaWxlLCB0YXJnZXRfZGlyKToK LSAgICAgICAgICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU1JQTSB3YXMgcHJvY2Vzc2Vk IGJ5IHJwbWF1dG9zcGVjICcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KHNwZWNmaWxlICJ7fSIgd2FzIGFuYWx5emVkKScuZm9ybWF0KGZpbGUpKQotZGlmZiAtLWdpdCBh L3Rlc3RzL3Rlc3RfY2xpLnB5IGIvdGVzdHMvdGVzdF9jbGkucHkKLWluZGV4IDg2OGFkMWYuLjAy NjIwZWYgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X2NsaS5weQotKysrIGIvdGVzdHMvdGVzdF9j bGkucHkKLUBAIC0xNzg0LDYgKzE3ODQsNDcgQEAgY2xhc3MgVGVzdEltcG9ydFNycG0oTG9va2Fz aWRlQ2FjaGVNb2NrLCBDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICBzZWxmLmFzc2VydEZpbGVzRXhp c3QoWydwYWNrYWdlLnJwbWxpbnRyYyddLCBzZWFyY2hfZGlyPXNlbGYuY2hhb3NfcmVwbykKLSAg ICAgICAgIHNlbGYuYXNzZXJ0RmlsZXNOb3RFeGlzdChbJ3RoZV9maWxlX2lzX25vdF9pbl9yZXNl cnZlZC55YW1sJ10sIHNlYXJjaF9kaXI9c2VsZi5jaGFvc19yZXBvKQotIAotKyAgICBAcGF0Y2go J3B5cnBrZy5zcGVjX2ZpbGVfcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjJykKLSsgICAgZGVmIHRl c3RfaW1wb3J0X3NycG1fbm90X3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYyhzZWxmLCBycG1hdXRv c3BlY19wcm9jZXNzZWQpOgotKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBz ZWxmLmNoYW9zX3JlcG8sICctLW5hbWUnLCAnZG9jcGtnJywKLSsgICAgICAgICAgICAgICAgICAg J2ltcG9ydCcsICctLXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KLSsKLSsgICAgICAgIHJw bWF1dG9zcGVjX3Byb2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBGYWxzZQotKyAgICAgICAgd2l0aCBw YXRjaCgnc3lzLmFyZ3YnLCBuZXc9Y2xpX2NtZCk6Ci0rICAgICAgICAgICAgY2xpID0gc2VsZi5u ZXdfY2xpKCkKLSsgICAgICAgICAgICB3aXRoIHBhdGNoKCdweXJwa2cubG9va2FzaWRlLkNHSUxv b2thc2lkZUNhY2hlLnVwbG9hZCcsIHNlbGYubG9va2FzaWRlY2FjaGVfdXBsb2FkKToKLSsgICAg ICAgICAgICAgICAgY2xpLmltcG9ydF9zcnBtKCkgICMgbm8gZXhjZXB0aW9uIHNob3VsZCBiZSBy YWlzZWQKLSsgICAgICAgICAgICBycG1hdXRvc3BlY19wcm9jZXNzZWQuYXNzZXJ0X2NhbGxlZF9v bmNlKCkKLSsKLSsgICAgQHBhdGNoKCdweXJwa2cuc3BlY19maWxlX3Byb2Nlc3NlZF9ieV9ycG1h dXRvc3BlYycpCi0rICAgIGRlZiB0ZXN0X2ltcG9ydF9zcnBtX3Byb2Nlc3NlZF9ieV9ycG1hdXRv c3BlYyhzZWxmLCBycG1hdXRvc3BlY19wcm9jZXNzZWQpOgotKyAgICAgICAgY2xpX2NtZCA9IFsn cnBrZycsICctLXBhdGgnLCBzZWxmLmNoYW9zX3JlcG8sICctLW5hbWUnLCAnZG9jcGtnJywKLSsg ICAgICAgICAgICAgICAgICAgJ2ltcG9ydCcsICctLXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmls ZV0KLSsKLSsgICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBUcnVl Ci0rICAgICAgICB3aXRoIHBhdGNoKCdzeXMuYXJndicsIG5ldz1jbGlfY21kKToKLSsgICAgICAg ICAgICBjbGkgPSBzZWxmLm5ld19jbGkoKQotKyAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBr Zy5sb29rYXNpZGUuQ0dJTG9va2FzaWRlQ2FjaGUudXBsb2FkJywgc2VsZi5sb29rYXNpZGVjYWNo ZV91cGxvYWQpOgotKyAgICAgICAgICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCi0rICAg ICAgICAgICAgICAgICAgICBzZWxmLAotKyAgICAgICAgICAgICAgICAgICAgcnBrZ0Vycm9yLAot KyAgICAgICAgICAgICAgICAgICAgJ1NSUE0gd2FzIHByb2Nlc3NlZCBieSBycG1hdXRvc3BlYycs Ci0rICAgICAgICAgICAgICAgICAgICBjbGkuaW1wb3J0X3NycG0pCi0rICAgICAgICAgICAgcnBt YXV0b3NwZWNfcHJvY2Vzc2VkLmFzc2VydF9jYWxsZWRfb25jZSgpCi0rCi0rICAgIEBwYXRjaCgn cHlycGtnLnNwZWNfZmlsZV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMnKQotKyAgICBkZWYgdGVz dF9pbXBvcnRfc3JwbV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWNfYWxsb3dlZChzZWxmLCBycG1h dXRvc3BlY19wcm9jZXNzZWQpOgotKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgn LCBzZWxmLmNoYW9zX3JlcG8sICctLW5hbWUnLCAnZG9jcGtnJywKLSsgICAgICAgICAgICAgICAg ICAgJ2ltcG9ydCcsICctLXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KLSsKLSsgICAgICAg IHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBUcnVlCi0rICAgICAgICB3aXRo IHBhdGNoKCdzeXMuYXJndicsIG5ldz1jbGlfY21kKToKLSsgICAgICAgICAgICBjbGkgPSBzZWxm Lm5ld19jbGkoKQotKyAgICAgICAgICAgIGNsaS5jbWQuYWxsb3dfcHJlX2dlbmVyYXRlZF9zcnBt ID0gVHJ1ZQotKyAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5sb29rYXNpZGUuQ0dJTG9v a2FzaWRlQ2FjaGUudXBsb2FkJywgc2VsZi5sb29rYXNpZGVjYWNoZV91cGxvYWQpOgotKyAgICAg ICAgICAgICAgICBjbGkuaW1wb3J0X3NycG0oKSAgIyBubyBleGNlcHRpb24gc2hvdWxkIGJlIHJh aXNlZAotKyAgICAgICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5hc3NlcnRfbm90X2NhbGxl ZCgpCi0rCi0gCi0gY2xhc3MgVGVzdE1vY2tidWlsZChDbGlUZXN0Q2FzZSk6Ci0gICAgICIiIlRl c3QgbW9ja2J1aWxkIGNvbW1hbmQiIiIKLS0tIAotMi4zOS4yCi0KCmRpZmYgLS1naXQgYS8wMDE1 LUlnbm9yZS1taXNzaW5nLXNwZWMtZmlsZS1pbi1wcmUtcHVzaC1ob29rLnBhdGNoIGIvMDAxNS1J Z25vcmUtbWlzc2luZy1zcGVjLWZpbGUtaW4tcHJlLXB1c2gtaG9vay5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYjMyODMzYy4uMDAwMDAwMAotLS0gYS8wMDE1LUlnbm9yZS1t aXNzaW5nLXNwZWMtZmlsZS1pbi1wcmUtcHVzaC1ob29rLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzcgKzAsMCBAQAotRnJvbSAzZWJmZWFlMjBjNzRkZTBjYTRiMjZiMjIxMzVlMTk5NjI2NWVh NGNlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0x1Ym9tPUMzPUFE cj0yMFNlZGw9QzM9QTE9QzU9OTk/PSA8bHNlZGxhckByZWRoYXQuY29tPgotRGF0ZTogV2VkLCA1 IEFwciAyMDIzIDExOjQxOjIzICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi82XSBJZ25vcmUgbWlz c2luZyBzcGVjIGZpbGUgaW4gcHJlLXB1c2ggaG9vawotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNv ZGluZzogOGJpdAotCi1Gb3IgbW9kdWxlcyBvciBjb250YWluZXJzIHRoZXJlIHdpbGwgYmUgbm8g c3BlYyBmaWxlLCBhbmQgdGhlcmUgaXMKLW5vdGhpbmcgdG8gYmxvY2sgdGhlIHB1c2ggb24uCi0K LVNpZ25lZC1vZmYtYnk6IEx1Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+Ci0t LS0KLSBweXJwa2cvX19pbml0X18ucHkgfCA3ICsrKysrKy0KLSAxIGZpbGUgY2hhbmdlZCwgNiBp bnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9weXJwa2cvX19pbml0 X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKLWluZGV4IGVjYjk5YzkuLmQzYTdhMWMgMTAwNjQ0 Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkKLSsrKyBiL3B5cnBrZy9fX2luaXRfXy5weQotQEAg LTQ0NzEsNyArNDQ3MSwxMiBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgotICAgICAgICAgICAg ICMgQXNzdW1lLCB0aGF0IHNwZWNmaWxlIG5hbWVzIGFyZSBzYW1lIGluIHRoZSBhY3RpdmUgYnJh bmNoCi0gICAgICAgICAgICAgIyBhbmQgaW4gdGhlIHB1c2hlZCBicmFuY2ggKGdpdCBjaGVja291 dCBmMzcgJiYgZ2l0IHB1c2ggb3JpZ2luIHJhd2hpZGUpCi0gICAgICAgICAgICAgIyBpbiB0aGlz IGNhc2UgJ2YzNycgaXMgYWN0aXZlIGJyYW5jaCBhbmQgJ3Jhd2hpZGUnIGlzIHB1c2hlZCBicmFu Y2guCi0tICAgICAgICAgICAgc3BlY2ZpbGVfcGF0aF9hYnNvbHV0ZSA9IG9zLnBhdGguam9pbihz ZWxmLmxheW91dC5zcGVjZGlyLCBzZWxmLnNwZWMpCi0rICAgICAgICAgICAgdHJ5OgotKyAgICAg ICAgICAgICAgICBzcGVjZmlsZV9wYXRoX2Fic29sdXRlID0gb3MucGF0aC5qb2luKHNlbGYubGF5 b3V0LnNwZWNkaXIsIHNlbGYuc3BlYykKLSsgICAgICAgICAgICBleGNlcHQgcnBrZ0Vycm9yOgot KyAgICAgICAgICAgICAgICAjIE5vIHNwZWNmaWxlIGZvdW5kLCBub3RoaW5nIHRvIGNoZWNrCi0r ICAgICAgICAgICAgICAgIHJldHVybgotKwotICAgICAgICAgICAgICMgY29udmVydCB0byByZWxh dGl2ZSBwYXRoCi0gICAgICAgICAgICAgc3BlY2ZpbGVfcGF0aCA9IG9zLnBhdGgucmVscGF0aChz cGVjZmlsZV9wYXRoX2Fic29sdXRlLCBzdGFydD1zZWxmLnBhdGgpCi0gICAgICAgICAgICAgY21k ID0gWydzcGVjdG9vbCcsICctbCcsIG9zLnBhdGguam9pbihjbG9uZV9kaXIsIHNwZWNmaWxlX3Bh dGgpXQotLS0gCi0yLjM5LjIKLQoKZGlmZiAtLWdpdCBhLzAwMTYtQ2hlY2stcmVtb3RlLWZpbGUt d2l0aC1jb3JyZWN0LWhhc2gucGF0Y2ggYi8wMDE2LUNoZWNrLXJlbW90ZS1maWxlLXdpdGgtY29y cmVjdC1oYXNoLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5YmY5ZWFjLi4w MDAwMDAwCi0tLSBhLzAwMTYtQ2hlY2stcmVtb3RlLWZpbGUtd2l0aC1jb3JyZWN0LWhhc2gucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MSArMCwwIEBACi1Gcm9tIDRiZDRhYjE4MjNhN2Q0YmMy MThiODA1N2I3ZjAwODA4ZmFiZjc2NDggTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9 P1VURi04P3E/THVib209QzM9QURyPTIwU2VkbD1DMz1BMT1DNT05OT89IDxsc2VkbGFyQHJlZGhh dC5jb20+Ci1EYXRlOiBXZWQsIDUgQXByIDIwMjMgMDk6MzQ6MzMgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSCAzLzZdIENoZWNrIHJlbW90ZSBmaWxlIHdpdGggY29ycmVjdCBoYXNoCi1NSU1FLVZlcnNp b246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50 LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVRoZSBjb25maWd1cmVkIGhhc2h0eXBlIGRvZXNu J3QgaGF2ZSB0byBhY3R1YWxseSBiZSB1c2VkLiBUaGVyZSBjYW4gYmUKLW9sZCByZXBvcyB0aGF0 IHN0aWxsIHVzZSBtZDUuCi0KLUpJUkE6IFJIRUxDTVAtMTE1MDgKLVNpZ25lZC1vZmYtYnk6IEx1 Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cvX19pbml0 X18ucHkgIHwgMyArKy0KLSBweXJwa2cvbG9va2FzaWRlLnB5IHwgNSArKystLQotIDIgZmlsZXMg Y2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv cHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCBkM2E3YTFjLi4w YjlhODY5IDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19p bml0X18ucHkKLUBAIC00NTQ4LDcgKzQ1NDgsOCBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgot ICAgICAgICAgICAgIGZpbGVfZXhpc3RzX2luX2xvb2thc2lkZSA9IHNlbGYubG9va2FzaWRlY2Fj aGUucmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoCi0gICAgICAgICAgICAgICAgIHNlbGYubnNfcmVw b19uYW1lIGlmIHNlbGYubG9va2FzaWRlX25hbWVzcGFjZWQgZWxzZSBzZWxmLnJlcG9fbmFtZSwK LSAgICAgICAgICAgICAgICAgZmlsZW5hbWUsCi0tICAgICAgICAgICAgICAgIGhhc2gpCi0rICAg ICAgICAgICAgICAgIGhhc2gsCi0rICAgICAgICAgICAgICAgIGhhc2h0eXBlPWVudHJ5Lmhhc2h0 eXBlKQotICAgICAgICAgICAgIGlmIG5vdCBmaWxlX2V4aXN0c19pbl9sb29rYXNpZGU6Ci0gICAg ICAgICAgICAgICAgIHNlbGYubG9nLmVycm9yKCdTb3VyY2UgZmlsZSAob3IgdGFyYmFsbCkgXCd7 fVwnIHdhc25cJ3QgdXBsb2FkZWQgdG8gdGhlIGxvb2thc2lkZSAnCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICdjYWNoZS4gUHVzaCBvcGVyYXRpb24gd2FzIGNhbmNlbGxlZC4nLmZv cm1hdChmaWxlbmFtZSkpCi1kaWZmIC0tZ2l0IGEvcHlycGtnL2xvb2thc2lkZS5weSBiL3B5cnBr Zy9sb29rYXNpZGUucHkKLWluZGV4IGVjYmYxMmIuLjNlZmNkODggMTAwNjQ0Ci0tLS0gYS9weXJw a2cvbG9va2FzaWRlLnB5Ci0rKysgYi9weXJwa2cvbG9va2FzaWRlLnB5Ci1AQCAtMjAwLDcgKzIw MCw3IEBAIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9iamVjdCk6Ci0gICAgICAgICBpZiBub3Qg c2VsZi5maWxlX2lzX3ZhbGlkKG91dGZpbGUsIGhhc2gsIGhhc2h0eXBlPWhhc2h0eXBlKToKLSAg ICAgICAgICAgICByYWlzZSBEb3dubG9hZEVycm9yKCclcyBmYWlsZWQgY2hlY2tzdW0nICUgZmls ZW5hbWUpCi0gCi0tICAgIGRlZiByZW1vdGVfZmlsZV9leGlzdHNfaGVhZChzZWxmLCBuYW1lLCBm aWxlbmFtZSwgaGFzaCk6Ci0rICAgIGRlZiByZW1vdGVfZmlsZV9leGlzdHNfaGVhZChzZWxmLCBu YW1lLCBmaWxlbmFtZSwgaGFzaCwgaGFzaHR5cGUpOgotICAgICAgICAgIiIiVmVyaWZ5IHdoZXRo ZXIgYSBmaWxlIGV4aXN0cyBvbiB0aGUgbG9va2FzaWRlIGNhY2hlLgotICAgICAgICAgVXNlcyBh IEhUVFAgSEVBRCByZXF1ZXN0IGFuZCBkb2Vzbid0IHJlcXVpcmUgYXV0aGVudGljYXRpb24uCi0g Ci1AQCAtMjA5LDEwICsyMDksMTEgQEAgY2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGUob2JqZWN0KToK LSAgICAgICAgICAgICB0aGUgc2VydmVyIHNpZGUgZXhwZWN0cykuCi0gICAgICAgICA6cGFyYW0g c3RyIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBjaGVjayBmb3IuCi0gICAgICAg ICA6cGFyYW0gc3RyIGhhc2g6IFRoZSBrbm93biBnb29kIGhhc2ggb2YgdGhlIGZpbGUuCi0rICAg ICAgICA6cGFyYW0gc3RyIGhhc2h0eXBlOiBUaGUgdHlwZSBvZiBoYXNoCi0gICAgICAgICAiIiIK LSAKLSAgICAgICAgIHVybGVkX2ZpbGUgPSB1cmxsaWIucGFyc2UucXVvdGUoZmlsZW5hbWUpCi0t ICAgICAgICB1cmwgPSBzZWxmLmdldF9kb3dubG9hZF91cmwobmFtZSwgdXJsZWRfZmlsZSwgaGFz aCwgc2VsZi5oYXNodHlwZSkKLSsgICAgICAgIHVybCA9IHNlbGYuZ2V0X2Rvd25sb2FkX3VybChu YW1lLCB1cmxlZF9maWxlLCBoYXNoLCBoYXNodHlwZSBvciBzZWxmLmhhc2h0eXBlKQotIAotICAg ICAgICAgYyA9IHB5Y3VybC5DdXJsKCkKLSAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5VUkwsIHVy bCkKLS0tIAotMi4zOS4yCi0KCmRpZmYgLS1naXQgYS8wMDE3LUFsbG93LWVtcHR5LWNvbW1pdHMt d2hlbi11c2VzX3JwbWF1dG9zcGVjLnBhdGNoIGIvMDAxNy1BbGxvdy1lbXB0eS1jb21taXRzLXdo ZW4tdXNlc19ycG1hdXRvc3BlYy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg NDQ4Y2JjOS4uMDAwMDAwMAotLS0gYS8wMDE3LUFsbG93LWVtcHR5LWNvbW1pdHMtd2hlbi11c2Vz X3JwbWF1dG9zcGVjLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzUgKzAsMCBAQAotRnJvbSBk MmM2M2MzMjMwNjczMjY5NWI3ZmU1ZjlkZGEzZGVlY2I3ODk5ZjRmIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogSmlyaSBLeWpvdnNreSA8ajEua3lqb3Zza3lAZ21haWwuY29tPgotRGF0 ZTogU2F0LCAxNSBBcHIgMjAyMyAxMzo0NjoyMSArMDIwMAotU3ViamVjdDogW1BBVENIIDQvNl0g QWxsb3cgZW1wdHkgY29tbWl0cyB3aGVuIGB1c2VzX3JwbWF1dG9zcGVjYAotCi1UbyBhdm9pZCBz aXR1YXRpb25zIHdoZXJlIHRoZSBjb21tYW5kIGBjb21taXRgIGJ5IGRlZmF1bHQgZG9lcwotY29t bWl0IHdoZW4gbm8gY2hhbmdlIGluIHJlcG8gaXMgcHJlc2VudC4KLQotRml4ZXM6ICM2NzcKLUpJ UkE6IFJIRUxDTVAtMTE0ODkKLU1lcmdlczogaHR0cHM6Ly9wYWd1cmUuaW8vcnBrZy9wdWxsLXJl cXVlc3QvNjg4Ci0KLVNpZ25lZC1vZmYtYnk6IEppcmkgS3lqb3Zza3kgPGoxLmt5am92c2t5QGdt YWlsLmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8IDQgKysrLQotIDEgZmlsZSBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3B5cnBr Zy9fX2luaXRfXy5weSBiL3B5cnBrZy9fX2luaXRfXy5weQotaW5kZXggMGI5YTg2OS4uMTg3Nzk2 ZSAxMDA2NDQKLS0tLSBhL3B5cnBrZy9fX2luaXRfXy5weQotKysrIGIvcHlycGtnL19faW5pdF9f LnB5Ci1AQCAtMTg2Nyw3ICsxODY3LDkgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAKLSAg ICAgICAgICMgY29uc3RydWN0IHRoZSBnaXQgY29tbWFuZAotICAgICAgICAgIyBXZSBkbyB0aGlz IHZpYSBzdWJwcm9jZXNzIGJlY2F1c2UgdGhlIGdpdCBtb2R1bGUgaXMgdGVycmlibGUuCi0tICAg ICAgICBjbWQgPSBbJ2dpdCcsICdjb21taXQnLCAnLS1hbGxvdy1lbXB0eSddCi0rICAgICAgICBj bWQgPSBbJ2dpdCcsICdjb21taXQnXQotKyAgICAgICAgaWYgbm90IHNlbGYuaXNfcmV0aXJlZCgp IGFuZCBzZWxmLnVzZXNfcnBtYXV0b3NwZWM6Ci0rICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1h bGxvdy1lbXB0eScpCi0gICAgICAgICBpZiBzaWdub2ZmOgotICAgICAgICAgICAgIGNtZC5hcHBl bmQoJy1zJykKLSAgICAgICAgIGlmIHNlbGYucXVpZXQ6Ci0tLSAKLTIuMzkuMgotCgpkaWZmIC0t Z2l0IGEvMDAxOC1Db25maWctZmlsZS1vcHRpb24tdG8tc2tpcC10aGUtaG9vay1zY3JpcHQtY3Jl YXRpb24ucGF0Y2ggYi8wMDE4LUNvbmZpZy1maWxlLW9wdGlvbi10by1za2lwLXRoZS1ob29rLXNj cmlwdC1jcmVhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE5YWEw MS4uMDAwMDAwMAotLS0gYS8wMDE4LUNvbmZpZy1maWxlLW9wdGlvbi10by1za2lwLXRoZS1ob29r LXNjcmlwdC1jcmVhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEyNiArMCwwIEBACi1G cm9tIGI0OGViNTAyZDMzMGVjN2E1NDM4MDVkN2YxODVlYTI3MGRmNzViOTAgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCi1Gcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgotRGF0 ZTogV2VkLCAxMiBBcHIgMjAyMyAwMDo0MjowNCArMDIwMAotU3ViamVjdDogW1BBVENIIDUvNl0g Q29uZmlnIGZpbGUgb3B0aW9uIHRvIHNraXAgdGhlIGhvb2sgc2NyaXB0IGNyZWF0aW9uCi0KLUEg bmV3IG9wdGlvbiBuYW1lZCAic2tpcF9ob29rcyIgY2FuIGJlIGFkZGVkIHRvIHRoZSBjb25maWcg ZmlsZQotKGludG8gdGhlIG1haW4gc2VjdGlvbikuIEl0IGFjY2VwdHMgYm9vbGVhbiB2YWx1ZXMg YW5kIHdoZW4KLXRoZSBvcHRpb24gaXMgcHJlc2VudCBhbmQgc2V0LCBpdCBwcmV2ZW50cyBjcmVh dGluZyB0aGUgcHJlLXB1c2gKLWhvb2sgc2NyaXB0IGR1cmluZyBjbG9uaW5nIGEgZGlzdC1naXQg cmVwb3NpdG9yeS4KLQotRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBrZy9pc3N1ZS81MTUK LUpJUkE6IFJIRUxDTVAtMTE0OTEKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9z ZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8IDE0ICsrKysrKysrKyst LS0tCi0gcHlycGtnL2NsaS5weSAgICAgIHwgMTMgKysrKysrKysrKystLQotIDIgZmlsZXMgY2hh bmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3B5 cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9fX2luaXRfXy5weQotaW5kZXggMTg3Nzk2ZS4uN2Zk ZGZmNyAxMDA2NDQKLS0tLSBhL3B5cnBrZy9fX2luaXRfXy5weQotKysrIGIvcHlycGtnL19faW5p dF9fLnB5Ci1AQCAtMTU3MSw3ICsxNTcxLDcgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAK LSAgICAgZGVmIGNsb25lKHNlbGYsIHJlcG8sIHBhdGg9Tm9uZSwgYnJhbmNoPU5vbmUsIGJhcmVf ZGlyPU5vbmUsCi0gICAgICAgICAgICAgICBhbm9uPUZhbHNlLCB0YXJnZXQ9Tm9uZSwgZGVwdGg9 Tm9uZSwgZXh0cmFfYXJncz1Ob25lLAotLSAgICAgICAgICAgICAgY29uZmlnX3BhdGg9Tm9uZSk6 Ci0rICAgICAgICAgICAgICBjb25maWdfcGF0aD1Ob25lLCBza2lwX2hvb2tzPU5vbmUpOgotICAg ICAgICAgIiIiQ2xvbmUgYSByZXBvLCBvcHRpb25hbGx5IGNoZWNrIG91dCBhIHNwZWNpZmljIGJy YW5jaC4KLSAKLSAgICAgICAgIDpwYXJhbSBzdHIgcmVwbzogdGhlIG5hbWUgb2YgdGhlIHJlcG9z aXRvcnkgdG8gY2xvbmUuCi1AQCAtMTU4OSw2ICsxNTg5LDcgQEAgY2xhc3MgQ29tbWFuZHMob2Jq ZWN0KToKLSAgICAgICAgIDpwYXJhbSBsaXN0IGV4dHJhX2FyZ3M6IGFkZGl0aW9uYWwgYXJndW1l bnRzIHRoYXQgYXJlIHBhc3NlZCB0bwotICAgICAgICAgICAgIHRoZSBjbG9uZSBjb21tYW5kLgot ICAgICAgICAgOnBhcmFtIHN0ciBjb25maWdfcGF0aDogcGF0aCB0byB0aGUgZ2xvYmFsIGNvbmZp ZyBmaWxlCi0rICAgICAgICA6cGFyYW0gYm9vbCBza2lwX2hvb2tzOiBza2lwIGNyZWF0aW9uIHBy ZS1wdXNoIGhvb2sgc2NyaXB0Ci0gICAgICAgICAiIiIKLSAKLSAgICAgICAgIGlmIG5vdCBwYXRo OgotQEAgLTE2NDQsNyArMTY0NSw4IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gCi0gICAg ICAgICBpZiBub3QgYmFyZV9kaXI6Ci0gICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9leGNsdWRl cyhvcy5wYXRoLmpvaW4ocGF0aCwgZ2l0X2RpcikpCi0tICAgICAgICAgICAgc2VsZi5fYWRkX2dp dF9wcmVfcHVzaF9ob29rKG9zLnBhdGguam9pbihwYXRoLCBnaXRfZGlyKSwgY29uZmlnX3BhdGgp Ci0rICAgICAgICAgICAgaWYgbm90IHNraXBfaG9va3M6Ci0rICAgICAgICAgICAgICAgIHNlbGYu X2FkZF9naXRfcHJlX3B1c2hfaG9vayhvcy5wYXRoLmpvaW4ocGF0aCwgZ2l0X2RpciksIGNvbmZp Z19wYXRoKQotIAotICAgICAgICAgcmV0dXJuCi0gCi1AQCAtMTY2MCw3ICsxNjYyLDcgQEAgY2xh c3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgIHJldHVybiByZXBvCi0gCi0gICAgIGRlZiBj bG9uZV93aXRoX2RpcnMoc2VsZiwgcmVwbywgYW5vbj1GYWxzZSwgdGFyZ2V0PU5vbmUsIGRlcHRo PU5vbmUsCi0tICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncz1Ob25lLCBjb25maWdf cGF0aD1Ob25lKToKLSsgICAgICAgICAgICAgICAgICAgICAgICBleHRyYV9hcmdzPU5vbmUsIGNv bmZpZ19wYXRoPU5vbmUsIHNraXBfaG9va3M9Tm9uZSk6Ci0gICAgICAgICAiIiJDbG9uZSBhIHJl cG8gb2xkIHN0eWxlIHdpdGggc3ViZGlycyBmb3IgZWFjaCBicmFuY2guCi0gCi0gICAgICAgICA6 cGFyYW0gc3RyIHJlcG86IG5hbWUgb2YgdGhlIHJlcG9zaXRvcnkgdG8gY2xvbmUuCi1AQCAtMTY3 Myw2ICsxNjc1LDcgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgIDpwYXJhbSBs aXN0IGV4dHJhX2FyZ3M6IGFkZGl0aW9uYWwgYXJndW1lbnRzIHRoYXQgYXJlIHBhc3NlZCB0bwot ICAgICAgICAgICAgIHRoZSBjbG9uZSBjb21tYW5kLgotICAgICAgICAgOnBhcmFtIHN0ciBjb25m aWdfcGF0aDogcGF0aCB0byB0aGUgZ2xvYmFsIGNvbmZpZyBmaWxlCi0rICAgICAgICA6cGFyYW0g Ym9vbCBza2lwX2hvb2tzOiBza2lwIGNyZWF0aW9uIHByZS1wdXNoIGhvb2sgc2NyaXB0Ci0gICAg ICAgICAiIiIKLSAKLSAgICAgICAgIHNlbGYuX3B1c2hfdXJsID0gTm9uZQotQEAgLTE3MzEsNyAr MTczNCw4IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gCi0gICAgICAgICAgICAgICAgICMg QWRkIGV4Y2x1ZGVzCi0gICAgICAgICAgICAgICAgIHNlbGYuX2FkZF9naXRfZXhjbHVkZXMoYnJh bmNoX3BhdGgpCi0tICAgICAgICAgICAgICAgIHNlbGYuX2FkZF9naXRfcHJlX3B1c2hfaG9vayhi cmFuY2hfcGF0aCwgY29uZmlnX3BhdGgpCi0rICAgICAgICAgICAgICAgIGlmIG5vdCBza2lwX2hv b2tzOgotKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9wcmVfcHVzaF9ob29rKGJy YW5jaF9wYXRoLCBjb25maWdfcGF0aCkKLSAgICAgICAgICAgICBleGNlcHQgKGdpdC5HaXRDb21t YW5kRXJyb3IsIE9TRXJyb3IpIGFzIGU6Ci0gICAgICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJv cignQ291bGQgbm90IGxvY2FsbHkgY2xvbmUgJXMgZnJvbSAlczogJXMnCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAlIChicmFuY2gsIHJlcG9fcGF0aCwgZSkpCi1AQCAtMTgyMCw2 ICsxODI0LDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICAjIFRoaXMg ZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHswfSB3aGVuIGNsb25pbmcgdGhlIHJlcG9zaXRvcnkuCi0g ICAgICAgICAgICAgIyBZb3UgY2FuIGVkaXQgaXQgdG8geW91ciBsaWtpbmcgb3IgZGVsZXRlIGNv bXBsZXRlbHkuIEl0IHdpbGwgbm90Ci0gICAgICAgICAgICAgIyBiZSByZWNyZWF0ZWQuCi0rICAg ICAgICAgICAgIyBDcmVhdGluZyB0aGlzIGZpbGUgY2FuIGJlIGFsc28gcHJldmVudGVkIGJ5IGFk ZGluZyBhbiBvcHRpb24KLSsgICAgICAgICAgICAjICJza2lwX2hvb2tzID0gVHJ1ZSIgaW50byB0 aGUgezB9J3MgY29uZmlnIGZpbGU7IFt7MH1dIHNlY3Rpb24uCi0gCi0gICAgICAgICAgICAgX3Jl bW90ZT0iJDEiCi0gICAgICAgICAgICAgX3VybD0iJDIiCi1kaWZmIC0tZ2l0IGEvcHlycGtnL2Ns aS5weSBiL3B5cnBrZy9jbGkucHkKLWluZGV4IDNkOGNlMzMuLmExZjNmNDQgMTAwNjQ0Ci0tLS0g YS9weXJwa2cvY2xpLnB5Ci0rKysgYi9weXJwa2cvY2xpLnB5Ci1AQCAtMjE3NywxMyArMjE3Nywy MSBAQCBjbGFzcyBjbGlDbGllbnQob2JqZWN0KToKLSAgICAgICAgICAgICBzZWxmLmxvZy53YXJu aW5nKCJSZXBvIG5hbWUgc2hvdWxkJ3QgY29udGFpbiAnLmdpdCcgc3VmZml4LiAiCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiQ29ycmVjdGluZyB0aGUgcmVwbyBuYW1lOiAnJXMnIiAl IHJlcG8pCi0gCi0rICAgICAgICBza2lwX2hvb2tzID0gTm9uZQotKyAgICAgICAgaWYgc2VsZi5j b25maWcuaGFzX29wdGlvbihzZWxmLm5hbWUsICJza2lwX2hvb2tzIik6Ci0rICAgICAgICAgICAg dHJ5OgotKyAgICAgICAgICAgICAgICBza2lwX2hvb2tzID0gc2VsZi5jb25maWcuZ2V0Ym9vbGVh bihzZWxmLm5hbWUsICJza2lwX2hvb2tzIikKLSsgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJv cjoKLSsgICAgICAgICAgICAgICAgc2VsZi5sb2cuZXJyb3IoIkVycm9yOiBjb25maWcgZmlsZSBv cHRpb24gJ3NraXBfaG9va3MnIikKLSsgICAgICAgICAgICAgICAgcmFpc2UKLSAgICAgICAgIGlm IHNlbGYuYXJncy5icmFuY2hlczoKLSAgICAgICAgICAgICBzZWxmLmNtZC5jbG9uZV93aXRoX2Rp cnMoc2VsZi5hcmdzLnJlcG9bMF0sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGFub249c2VsZi5hcmdzLmFub255bW91cywKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdGFyZ2V0PXNlbGYuYXJncy5jbG9uZV90YXJnZXQsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoPXNlbGYuYXJncy5kZXB0aCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncz1zZWxmLmV4dHJhX2FyZ3Ms Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ19wYXRoPXNlbGYu YXJncy5jb25maWcpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZp Z19wYXRoPXNlbGYuYXJncy5jb25maWcsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNraXBfaG9va3M9c2tpcF9ob29rcykKLSAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg ICAgc2VsZi5jbWQuY2xvbmUoc2VsZi5hcmdzLnJlcG9bMF0sCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnJhbmNoPXNlbGYuYXJncy5icmFuY2gsCi1AQCAtMjE5MSw3ICsyMTk5LDggQEAg Y2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFy Z2V0PXNlbGYuYXJncy5jbG9uZV90YXJnZXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGVwdGg9c2VsZi5hcmdzLmRlcHRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dHJh X2FyZ3M9c2VsZi5leHRyYV9hcmdzLAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZp Z19wYXRoPXNlbGYuYXJncy5jb25maWcpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u ZmlnX3BhdGg9c2VsZi5hcmdzLmNvbmZpZywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICBz a2lwX2hvb2tzPXNraXBfaG9va3MpCi0gCi0gICAgIGRlZiBjb21taXQoc2VsZik6Ci0gICAgICAg ICBpZiBzZWxmLmFyZ3Mud2l0aF9jaGFuZ2Vsb2cgYW5kIG5vdCBzZWxmLmFyZ3MubWVzc2FnZToK LS0tIAotMi4zOS4yCi0KCmRpZmYgLS1naXQgYS8wMDE5LVByZS1wdXNoLWhvb2std29uLXQtY2hl Y2stcHJpdmF0ZS1icmFuY2hlcy5wYXRjaCBiLzAwMTktUHJlLXB1c2gtaG9vay13b24tdC1jaGVj ay1wcml2YXRlLWJyYW5jaGVzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAz N2E3YzUyLi4wMDAwMDAwCi0tLSBhLzAwMTktUHJlLXB1c2gtaG9vay13b24tdC1jaGVjay1wcml2 YXRlLWJyYW5jaGVzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDUgKzAsMCBAQAotRnJvbSA0 NTUzZGEzNjRkN2Q4YTk3NGFiMGMwODgzNGVlMGE1NDMyMGRhMmNiIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IFR1 ZSwgMTggQXByIDIwMjMgMTY6MDY6NDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA2LzZdIFByZS1w dXNoIGhvb2sgd29uJ3QgY2hlY2sgcHJpdmF0ZSBicmFuY2hlcwotCi1UaGUgcHJlLXB1c2ggaG9v ayBzY3JpcHQgd2FzIGZhaWxpbmcgdGhlIHdoZW4gdXNlciB0cmllZCB0byBwdXNoCi1hIHByaXZh dGUgYnJhbmNoLiBJdCByZXF1aXJlZCB1c2luZyB0aGUgLS1yZWxlYXNlIGFyZ3VtZW50IHdpdGgK LXRoZSBwcmUtcHVzaC1jaGVjayBjb21tYW5kIGFuZCBwYXNzaW5nIGFkZGl0aW9uYWwgYXJndW1l bnRzIGludG8KLXRoZSBob29rIHNjcmlwdC4gVGhhdCB3YXMgZm91bmQgdW5yZWxpYWJsZSBhbmQg cHJpdmF0ZSBicmFuY2hlcwotd29uJ3QgYmUgY2hlY2tlZC4KLQotRml4ZXM6ICM2ODMKLUpJUkE6 IFJIRUxDTVAtMTE1MjgKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVk aGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8IDEyICsrKysrKysrKy0tLQotIDEg ZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKLWluZGV4IDdmZGRm ZjcuLjNmOTM0ZDMgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0X18ucHkKLSsrKyBiL3B5cnBr Zy9fX2luaXRfXy5weQotQEAgLTQ0ODksOSArNDQ4OSwxNSBAQCBjbGFzcyBDb21tYW5kcyhvYmpl Y3QpOgotICAgICAgICAgICAgIHNwZWNmaWxlX3BhdGggPSBvcy5wYXRoLnJlbHBhdGgoc3BlY2Zp bGVfcGF0aF9hYnNvbHV0ZSwgc3RhcnQ9c2VsZi5wYXRoKQotICAgICAgICAgICAgIGNtZCA9IFsn c3BlY3Rvb2wnLCAnLWwnLCBvcy5wYXRoLmpvaW4oY2xvbmVfZGlyLCBzcGVjZmlsZV9wYXRoKV0K LSAgICAgICAgICAgICAjIGV4dHJhY3QganVzdCAnLS1kZWZpbmUnIGFyZ3VtZW50cyBmcm9tIHJw bWRlZmluZXMKLS0gICAgICAgICAgICBmb3Igb3B0LCB2YWwgaW4gemlwKHNlbGYucnBtZGVmaW5l c1swOjoyXSwgc2VsZi5ycG1kZWZpbmVzWzE6OjJdKToKLS0gICAgICAgICAgICAgICAgaWYgb3B0 ID09ICctLWRlZmluZSc6Ci0tICAgICAgICAgICAgICAgICAgICBjbWQuZXh0ZW5kKChvcHQsIHZh bCkpCi0rICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICBmb3Igb3B0LCB2YWwgaW4g emlwKHNlbGYucnBtZGVmaW5lc1swOjoyXSwgc2VsZi5ycG1kZWZpbmVzWzE6OjJdKToKLSsgICAg ICAgICAgICAgICAgICAgIGlmIG9wdCA9PSAnLS1kZWZpbmUnOgotKyAgICAgICAgICAgICAgICAg ICAgICAgIGNtZC5leHRlbmQoKG9wdCwgdmFsKSkKLSsgICAgICAgICAgICBleGNlcHQgcnBrZ0Vy cm9yOgotKyAgICAgICAgICAgICAgICAjIHRoaXMgZXhjZXB0aW9uIHdhcyBjYXVzZWQgcHJvYmFi bHkgYnkgdXNpbmcgYSBwcml2YXRlIGJyYW5jaAotKyAgICAgICAgICAgICAgICBzZWxmLmxvZy53 YXJuaW5nKCdUaGUgcHJlLXB1c2ggc2NyaXB0IGNhblwndCBjaGVjayBwcml2YXRlIGJyYW5jaGVz LiAnCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1B1c2ggb3BlcmF0aW9uIGNv bnRpbnVlcy4nKQotKyAgICAgICAgICAgICAgICByZXR1cm4KLSAgICAgICAgICAgICByZXQsIHN0 ZG91dCwgXyA9IHNlbGYuX3J1bl9jb21tYW5kKGNtZCwgY3dkPWNsb25lX2RpciwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl90ZXh0PVRydWUs IHJldHVybl9zdGRvdXQ9VHJ1ZSkKLSAgICAgICAgICAgICBpZiByZXQgIT0gMDoKLS0tIAotMi4z OS4yCi0KCmRpZmYgLS1naXQgYS8wMDIwLVVzZS1yZWxlYXNlLXMtcnBtZGVmaW5lcy1pbi11bnVz ZWQtc291cmNlcy1jaGVjay5wYXRjaCBiLzAwMjAtVXNlLXJlbGVhc2Utcy1ycG1kZWZpbmVzLWlu LXVudXNlZC1zb3VyY2VzLWNoZWNrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCA2YmU3Y2VlLi4wMDAwMDAwCi0tLSBhLzAwMjAtVXNlLXJlbGVhc2Utcy1ycG1kZWZpbmVzLWlu LXVudXNlZC1zb3VyY2VzLWNoZWNrLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTcwICswLDAg QEAKLUZyb20gODY2N2Q1Mzc5MTYxMTgzYjMwNmJkZDRhNjczM2M2NjZjZDJlZjMxMCBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE90dG8gTGlsamFsYWFrc28gPG90dG8ubGlsamFsYWFr c29AaWtpLmZpPgotRGF0ZTogU3VuLCAyIEFwciAyMDIzIDE3OjIxOjAwICswMzAwCi1TdWJqZWN0 OiBbUEFUQ0ggMS8yXSBVc2UgcmVsZWFzZSdzIHJwbWRlZmluZXMgaW4gdW51c2VkIHNvdXJjZXMg Y2hlY2sKLQotQ29uZGl0aW9uYWwgU291cmNlOiB0YWdzIGFyZSBwcm9ibGVtYXRpYyBhbmQsIGlu IGZhY3QsIGZvcmJpZGRlbiBpbiBhdAotbGVhc3QgRmVkb3JhLiBIb3dldmVyLCB0aGVyZSBhcmUg cGFja2FnZXMgdGhhdCBjb25kaXRpb25hbGl6ZSBwYWNrYWdlcwotYmFzZWQgb24gbWFjcm9zIHN1 Y2ggYXMgJXtyaGVsfSBvciAle2ZlZG9yYX0uICd4LXBrZyBzb3VyY2VzJyBkaWQgbm90Ci1oYW5k bGUgc3VjaCBwYWNrYWdlcyBjb3JyZWN0bHksIGJlY2F1c2Ugd2hlbiB0aGUgc3BlY2ZpbGUgd2Fz IHBhcnNlZAotdG8gY2hlY2sgZm9yIHVudXNlZCBzb3VyY2VzLCB2YWx1ZXMgZm9yIHRob3NlIG1h Y3JvcyB3ZXJlIG5vdCBzZXQuIFRoaXMKLXdhcyBkaWZmZXJlbnQgZnJvbSBvdGhlciBjb21tYW5k cyB3aGljaCBzZXQgc3VjaCBtYWNyb3MgYmFzZWQgb24gdGhlCi12YWx1ZSBvZiAtLXJlbGVhc2Ug cGFyYW1ldGVyIG9yIEdpdCBicmFuY2ggbmFtZS4KLQotSW1wcm92ZSBzdXBwb3J0IGZvciBjb25k aXRpb25hbCBTb3VyY2U6IHRhZ3MgYnkgdXNpbmcgdGhlIHN0YW5kYXJkIHNldAotb2YgcnBtZGVm aW5lcyB3aGVuIHRoZSBzcGVjZmlsZSBpcyBwYXJzZWQgaW4gJ2ZlZHBrZyBzb3VyY2VzJy4KLQot Rml4ZXM6ICM2NzEKLUpJUkE6IFJIRUxDTVAtMTE0NjUKLU1lcmdlczogaHR0cHM6Ly9wYWd1cmUu aW8vcnBrZy9wdWxsLXJlcXVlc3QvNjc4Ci0KLVNpZ25lZC1vZmYtYnk6IE90dG8gTGlsamFsYWFr c28gPG90dG8ubGlsamFsYWFrc29AaWtpLmZpPgotLS0tCi0gcHlycGtnL19faW5pdF9fLnB5IHwg MjEgKysrKysrKysrKysrKysrLS0tLS0tCi0gcHlycGtnL3NwZWMucHkgICAgIHwgMTIgKysrKysr Ky0tLS0tCi0gdGVzdHMvdGVzdF9jbGkucHkgIHwgMjEgKysrKysrKysrKysrKysrKysrKystCi0g dGVzdHMvdGVzdF9zcGVjLnB5IHwgIDggKysrKysrLS0KLSA0IGZpbGVzIGNoYW5nZWQsIDQ4IGlu c2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL19faW5p dF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCAzZjkzNGQzLi44MTdlZjMzIDEwMDY0 NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19pbml0X18ucHkKLUBA IC0yMjYxLDEzICsyMjYxLDIyIEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAgICBz b3VyY2VzZiA9IFNvdXJjZXNGaWxlKHNlbGYuc291cmNlc19maWxlbmFtZSwgc2VsZi5zb3VyY2Vf ZW50cnlfdHlwZSkKLSAKLSAgICAgICAgIHRyeToKLS0gICAgICAgICAgICBzcGVjZiA9IFNwZWNG aWxlKG9zLnBhdGguam9pbihzZWxmLmxheW91dC5zcGVjZGlyLCBzZWxmLnNwZWMpLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5sYXlvdXQuc291cmNlZGlyKQotLSAgICAgICAg ICAgIHNwZWNfcGFyc2VkID0gVHJ1ZQotLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKLS0gICAg ICAgICAgICBzZWxmLmxvZy53YXJuaW5nKCJQYXJzaW5nIHNwZWNmaWxlIGZvciB1c2VkIHNvdXJj ZXMgZmFpbGVkLiAiCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRmFsbGluZyBiYWNr IHRvIGRvd25sb2FkaW5nIGFsbCBzb3VyY2VzLiIpCi0rICAgICAgICAgICAgIyBUcnkgcmVzb2x2 aW5nIHJwbWRlZmluZXMgc2VwYXJhdGVseS4gVGhpcyBwcm9kdWNlcyBhIGNsZWFyIGVycm9yCi0r ICAgICAgICAgICAgIyBtZXNzYWdlIGluIHRoZSBjb21tb24gZmFpbHVyZSBjYXNlIG9mIGN1c3Rv bSBicmFuY2ggbmFtZS4KLSsgICAgICAgICAgICBzZWxmLnJwbWRlZmluZXMKLSsgICAgICAgIGV4 Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgotKyAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoIlBh cnNpbmcgc3BlY2ZpbGUgZm9yIHVzZWQgc291cmNlcyBmYWlsZWQ6ICVzIiAlIGVycikKLSsgICAg ICAgICAgICBzZWxmLmxvZy53YXJuaW5nKCJGYWxsaW5nIGJhY2sgdG8gZG93bmxvYWRpbmcgYWxs IHNvdXJjZXMuIikKLSAgICAgICAgICAgICBzcGVjX3BhcnNlZCA9IEZhbHNlCi0rICAgICAgICBl bHNlOgotKyAgICAgICAgICAgIHRyeToKLSsgICAgICAgICAgICAgICAgc3BlY2YgPSBTcGVjRmls ZShvcy5wYXRoLmpvaW4oc2VsZi5sYXlvdXQuc3BlY2Rpciwgc2VsZi5zcGVjKSwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnJwbWRlZmluZXMpCi0rICAgICAgICAgICAg ICAgIHNwZWNfcGFyc2VkID0gVHJ1ZQotKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0r ICAgICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoIlBhcnNpbmcgc3BlY2ZpbGUgZm9yIHVz ZWQgc291cmNlcyBmYWlsZWQuICIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi RmFsbGluZyBiYWNrIHRvIGRvd25sb2FkaW5nIGFsbCBzb3VyY2VzLiIpCi0rICAgICAgICAgICAg ICAgIHNwZWNfcGFyc2VkID0gRmFsc2UKLSAKLSAgICAgICAgIGFyZ3MgPSBkaWN0KCkKLSAgICAg ICAgIGlmIHNlbGYubG9va2FzaWRlX3JlcXVlc3RfcGFyYW1zOgotZGlmZiAtLWdpdCBhL3B5cnBr Zy9zcGVjLnB5IGIvcHlycGtnL3NwZWMucHkKLWluZGV4IGQ3MmYxZmIuLjU0MDBkZTMgMTAwNjQ0 Ci0tLS0gYS9weXJwa2cvc3BlYy5weQotKysrIGIvcHlycGtnL3NwZWMucHkKLUBAIC0xOCwxNiAr MTgsMTYgQEAgY2xhc3MgU3BlY0ZpbGUob2JqZWN0KToKLSAgICAgICAgIHInXigoc291cmNlWzAt OV0qfHBhdGNoWzAtOV0qKVxzKjpccyooP1A8dmFsPi4qKSlccyokJywKLSAgICAgICAgIHJlLklH Tk9SRUNBU0UpCi0gCi0tICAgIGRlZiBfX2luaXRfXyhzZWxmLCBzcGVjLCBzb3VyY2VkaXIpOgot KyAgICBkZWYgX19pbml0X18oc2VsZiwgc3BlYywgcnBtZGVmaW5lcyk6Ci0gICAgICAgICBzZWxm LnNwZWMgPSBzcGVjCi0tICAgICAgICBzZWxmLnNvdXJjZWRpciA9IHNvdXJjZWRpcgotKyAgICAg ICAgc2VsZi5ycG1kZWZpbmVzID0gcnBtZGVmaW5lcwotICAgICAgICAgc2VsZi5zb3VyY2VzID0g W10KLSAKLSAgICAgICAgIHNlbGYucGFyc2UoKQotIAotICAgICBkZWYgcGFyc2Uoc2VsZik6Ci0g ICAgICAgICAiIiJDYWxsIHJwbXNwZWMgYW5kIGZpbmQgc291cmNlIHRhZ3MgZnJvbSB0aGUgcmVz dWx0LiIiIgotLSAgICAgICAgc3Rkb3V0ID0gcnVuKHNlbGYuc3BlYywgc2VsZi5zb3VyY2VkaXIp Ci0rICAgICAgICBzdGRvdXQgPSBydW4oc2VsZi5zcGVjLCBzZWxmLnJwbWRlZmluZXMpCi0gICAg ICAgICBmb3IgbGluZSBpbiBzdGRvdXQuc3BsaXRsaW5lcygpOgotICAgICAgICAgICAgIG0gPSBz ZWxmLnNvdXJjZWZpbGVfZXhwcmVzc2lvbi5tYXRjaChsaW5lKQotICAgICAgICAgICAgIGlmIG5v dCBtOgotQEAgLTM4LDggKzM4LDEwIEBAIGNsYXNzIFNwZWNGaWxlKG9iamVjdCk6Ci0gICAgICAg ICAgICAgc2VsZi5zb3VyY2VzLmFwcGVuZCh2YWwpCi0gCi0gCi0tZGVmIHJ1bihzcGVjLCBzb3Vy Y2VkaXIpOgotLSAgICBjbWRsaW5lID0gWydycG1zcGVjJywgJy0tZGVmaW5lJywgIl9zb3VyY2Vk aXIgJXMiICUgc291cmNlZGlyLCAnLVAnLCBzcGVjXQotK2RlZiBydW4oc3BlYywgcnBtZGVmaW5l cyk6Ci0rICAgIGNtZGxpbmUgPSBbJ3JwbXNwZWMnXQotKyAgICBjbWRsaW5lLmV4dGVuZChycG1k ZWZpbmVzKQotKyAgICBjbWRsaW5lLmV4dGVuZChbJy1QJywgc3BlY10pCi0gICAgIHRyeToKLSAg ICAgICAgIHByb2Nlc3MgPSBzdWJwcm9jZXNzLlBvcGVuKGNtZGxpbmUsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAotZGlmZiAtLWdp dCBhL3Rlc3RzL3Rlc3RfY2xpLnB5IGIvdGVzdHMvdGVzdF9jbGkucHkKLWluZGV4IDAyNjIwZWYu LjU4ZGYwNDcgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X2NsaS5weQotKysrIGIvdGVzdHMvdGVz dF9jbGkucHkKLUBAIC0xNjA3LDYgKzE2MDcsMjUgQEAgY2xhc3MgVGVzdFNvdXJjZXMoTG9va2Fz aWRlQ2FjaGVNb2NrLCBDbGlUZXN0Q2FzZSk6Ci0gICAgIGRlZiB0ZXN0X3VudXNlZF9zb3VyY2Vz X2FyZV9ub3RfZG93bmxvYWRlZChzZWxmKToKLSAgICAgICAgIHNlbGYuX3VwbG9hZF91bnVzZWQo KQotIAotKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNsb25lZF9y ZXBvX3BhdGgsICdzb3VyY2VzJ10KLSsgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2JywgbmV3 PWNsaV9jbWQpOgotKyAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5ycG1k ZWZpbmVzJywKLSsgICAgICAgICAgICAgICAgICAgICAgICBuZXc9WyctLWRlZmluZScsICdfc291 cmNlZGlyICVzJyAlIHNlbGYuY2xvbmVkX3JlcG9fcGF0aF0pOgotKyAgICAgICAgICAgICAgICBj bGkgPSBzZWxmLm5ld19jbGkoKQotKyAgICAgICAgICAgICAgICB3aXRoIHBhdGNoKCdweXJwa2cu bG9va2FzaWRlLkNHSUxvb2thc2lkZUNhY2hlLmRvd25sb2FkJywKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICBuZXc9c2VsZi5sb29rYXNpZGVjYWNoZV9kb3dubG9hZCk6Ci0rICAgICAgICAg ICAgICAgICAgICBjbGkuc291cmNlcygpCi0rCi0rICAgICAgICBwYXRoID0gb3MucGF0aC5qb2lu KHNlbGYuY2xvbmVkX3JlcG9fcGF0aCwgJ3VudXNlZC5wYXRjaCcpCi0rICAgICAgICBzZWxmLmFz c2VydEZhbHNlKG9zLnBhdGguZXhpc3RzKHBhdGgpKQotKwotKyAgICBAcGF0Y2goJ3B5cnBrZy5D b21tYW5kcy5sb2FkX3JwbWRlZmluZXMnKQotKyAgICBkZWYgdGVzdF9kb3dubG9hZF9zb3VyY2Vz X2luY2x1ZGluZ191bnVzZWQoc2VsZiwgcnBtZGVmaW5lcyk6Ci0rICAgICAgICBzZWxmLl91cGxv YWRfdW51c2VkKCkKLSsgICAgICAgICMgU3BlY0ZpbGUgcGFyc2luZyBleGVjdXRlcyAncnBtc3Bl YycsIHRoYXQgbmVlZHMgJy0tZGVmaW5lJyBhcmd1bWVudHMgZnJvbSBycG1kZWZpbmVzCi0rICAg ICAgICAjIHdoZW4gcnBtZGVmaW5lcyByYWlzZXMgZWNlcHRpb24sIFNwZWNGaWxlIHBhcnNpbmcg ZmFpbHMgLS0+IGFsbCBzb3VyY2VzIGFyZSBkb3dubG9hZGVkLgotKyAgICAgICAgcnBtZGVmaW5l cy5zaWRlX2VmZmVjdCA9IHJwa2dFcnJvcgotKwotICAgICAgICAgY2xpX2NtZCA9IFsncnBrZycs ICctLXBhdGgnLCBzZWxmLmNsb25lZF9yZXBvX3BhdGgsICdzb3VyY2VzJ10KLSAgICAgICAgIHdp dGggcGF0Y2goJ3N5cy5hcmd2JywgbmV3PWNsaV9jbWQpOgotICAgICAgICAgICAgIGNsaSA9IHNl bGYubmV3X2NsaSgpCi1AQCAtMTYxNSw3ICsxNjM0LDcgQEAgY2xhc3MgVGVzdFNvdXJjZXMoTG9v a2FzaWRlQ2FjaGVNb2NrLCBDbGlUZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgICAgIGNsaS5zb3Vy Y2VzKCkKLSAKLSAgICAgICAgIHBhdGggPSBvcy5wYXRoLmpvaW4oc2VsZi5jbG9uZWRfcmVwb19w YXRoLCAndW51c2VkLnBhdGNoJykKLS0gICAgICAgIHNlbGYuYXNzZXJ0RmFsc2Uob3MucGF0aC5l eGlzdHMocGF0aCkpCi0rICAgICAgICBzZWxmLmFzc2VydFRydWUob3MucGF0aC5leGlzdHMocGF0 aCkpCi0gCi0gICAgIGRlZiB0ZXN0X2ZvcmNlX29wdGlvbl9kb3dubG9hZHNfdW51c2VkX3NvdXJj ZXMoc2VsZik6Ci0gICAgICAgICBzZWxmLl91cGxvYWRfdW51c2VkKCkKLWRpZmYgLS1naXQgYS90 ZXN0cy90ZXN0X3NwZWMucHkgYi90ZXN0cy90ZXN0X3NwZWMucHkKLWluZGV4IGVlZmM0NzUuLjBj NzkwN2EgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X3NwZWMucHkKLSsrKyBiL3Rlc3RzL3Rlc3Rf c3BlYy5weQotQEAgLTEwLDYgKzEwLDEwIEBAIGZyb20gcHlycGtnLmVycm9ycyBpbXBvcnQgcnBr Z0Vycm9yCi0gY2xhc3MgU3BlY0ZpbGVUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAg IGRlZiBzZXRVcChzZWxmKToKLSAgICAgICAgIHNlbGYud29ya2RpciA9IHRlbXBmaWxlLm1rZHRl bXAocHJlZml4PSdycGtnLXRlc3RzLicpCi0rICAgICAgICBzZWxmLnJwbWRlZmluZXMgPSBbIi0t ZGVmaW5lIiwgIl9zb3VyY2VkaXIgJXMiICUgc2VsZi53b3JrZGlyLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICItLWRlZmluZSIsICJfc3BlY2RpciAlcyIgJSBzZWxmLndvcmtkaXIsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tZGVmaW5lIiwgIl9idWlsZGRpciAlcyIgJSBz ZWxmLndvcmtkaXIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIi0tZXZhbCIsICIlJXVu ZGVmaW5lIHJoZWwiXQotICAgICAgICAgc2VsZi5zcGVjZmlsZSA9IG9zLnBhdGguam9pbihzZWxm LndvcmtkaXIsIHNlbGYuX3Rlc3RNZXRob2ROYW1lKQotIAotICAgICAgICAgIyBXcml0ZSBjb21t b24gaGVhZGVyCi1AQCAtNDMsNyArNDcsNyBAQCBjbGFzcyBTcGVjRmlsZVRlc3RDYXNlKHVuaXR0 ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgICAgICAiUEF0Y2g5OTk6IGh0dHBzOi8vcmVtb3RlLnBh dGNoLXNvdXJjY2Uub3JnL2Fub3RoZXItcGF0Y2guYnoyXG4iKQotICAgICAgICAgc3BlY19mZC5j bG9zZSgpCi0gCi0tICAgICAgICBzID0gc3BlYy5TcGVjRmlsZShzZWxmLnNwZWNmaWxlLCBzZWxm LndvcmtkaXIpCi0rICAgICAgICBzID0gc3BlYy5TcGVjRmlsZShzZWxmLnNwZWNmaWxlLCBzZWxm LnJwbWRlZmluZXMpCi0gICAgICAgICBhY3R1YWwgPSBzLnNvdXJjZXMKLSAgICAgICAgIGV4cGVj dGVkID0gWwotICAgICAgICAgICAgICJ0YXJiYWxsLnRhci5neiIsCi1AQCAtNjUsNCArNjksNCBA QCBjbGFzcyBTcGVjRmlsZVRlc3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgICAgIHNl bGYuYXNzZXJ0UmFpc2VzKHJwa2dFcnJvciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNw ZWMuU3BlY0ZpbGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNwZWNmaWxlLAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi53b3JrZGlyKQotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5ycG1kZWZpbmVzKQotLS0gCi0yLjQwLjAKLQoKZGlmZiAtLWdpdCBh LzAwMjEtRG8tbm90LXJlcXVpcmUtc291cmNlcy1maWxlLWZvci1hbGwtbmFtZXNwYWNlcy5wYXRj aCBiLzAwMjEtRG8tbm90LXJlcXVpcmUtc291cmNlcy1maWxlLWZvci1hbGwtbmFtZXNwYWNlcy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTRjNzFhYS4uMDAwMDAwMAotLS0g YS8wMDIxLURvLW5vdC1yZXF1aXJlLXNvdXJjZXMtZmlsZS1mb3ItYWxsLW5hbWVzcGFjZXMucGF0 Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MCArMCwwIEBACi1Gcm9tIDA3OWE2NGRkZTI1OGY0NWUy NmZlMzVkZTg2YjFhMDkxNWY0OTczY2QgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBP bmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgotRGF0ZTogVGh1LCAyNyBBcHIgMjAyMyAy MzowNTo0OCArMDIwMAotU3ViamVjdDogW1BBVENIIDIvMl0gRG8gbm90IHJlcXVpcmUgJ3NvdXJj ZXMnIGZpbGUgZm9yIGFsbCBuYW1lc3BhY2VzCi0KLVJlcXVpcmVtZW50IGZvciAnc291cmNlcycg ZmlsZSBmb3IgYWxsIGxheW91dHMgZXhjZXB0IHRoZSBSZXRpcmVkTGF5b3V0Ci0oYW5kIHRodXMg YWxsIG5hbWVzcGFjZXMpIHdhcyB0b28gcmVzdHJpY3RpdmUgYW5kIHVuZXhwZWN0ZWQuCi1QYXJ0 aWFsbHkgcmV2ZXJ0cyB0aGUgY29tbWl0IDExMDg4MTBiZGVmZDBkODgwNTE3YjI3NGFjZDZhM2Jk MGQ0MTU2ZTAuCi0KLUZpeGVzOiAjNjg0Ci1KSVJBOiBSSEVMQ01QLTExNTI5Ci0KLVNpZ25lZC1v ZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cvX19p bml0X18ucHkgfCAyIC0tCi0gcHlycGtnL2NsaS5weSAgICAgIHwgMSAtCi0gdGVzdHMvdGVzdF9j bGkucHkgIHwgMiArLQotIDMgZmlsZXMgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDQgZGVsZXRp b25zKC0pCi0KLWRpZmYgLS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0 X18ucHkKLWluZGV4IDgxN2VmMzMuLjExYjhkYWUgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvX19pbml0 X18ucHkKLSsrKyBiL3B5cnBrZy9fX2luaXRfXy5weQotQEAgLTExNjgsOCArMTE2OCw2IEBAIGNs YXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gCi0gICAgIEBwcm9wZXJ0eQotICAgICBkZWYgc291cmNl c19maWxlbmFtZShzZWxmKToKLS0gICAgICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmUgb3IgaXNp bnN0YW5jZShzZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxldGVMYXlvdXQpOgotLSAgICAgICAg ICAgIHJhaXNlIHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5vdCBhdmFpbGFibGUnKQotICAgICAg ICAgaWYgaXNpbnN0YW5jZShzZWxmLmxheW91dCwgbGF5b3V0LlJldGlyZWRMYXlvdXQpOgotICAg ICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignVGhpcyBwYWNrYWdlIG9yIG1vZHVsZSBpcyByZXRp cmVkLiBUaGUgYWN0aW9uIGhhcyBzdG9wcGVkLicpCi0gICAgICAgICByZXR1cm4gb3MucGF0aC5q b2luKAotZGlmZiAtLWdpdCBhL3B5cnBrZy9jbGkucHkgYi9weXJwa2cvY2xpLnB5Ci1pbmRleCBh MWYzZjQ0Li5kYzFlYjRlIDEwMDY0NAotLS0tIGEvcHlycGtnL2NsaS5weQotKysrIGIvcHlycGtn L2NsaS5weQotQEAgLTIzNzUsNyArMjM3NSw2IEBAIGNsYXNzIGNsaUNsaWVudChvYmplY3QpOgot IAotICAgICBkZWYgaW1wb3J0X3NycG0oc2VsZik6Ci0gICAgICAgICB1cGxvYWRmaWxlcyA9IHNl bGYuY21kLmltcG9ydF9zcnBtKHNlbGYuYXJncy5zcnBtKQotLSAgICAgICAgc2VsZi5sb2FkX2Nt ZCgpICAjIHRvIHJlbG9hZCBsYXlvdXRzIC0gYmVjYXVzZSBhIHNwZWNmaWxlIGNvdWxkIGFwcGVh ciBkdXJpbmcgaW1wb3J0Ci0gICAgICAgICBpZiB1cGxvYWRmaWxlczoKLSAgICAgICAgICAgICB0 cnk6Ci0gICAgICAgICAgICAgICAgIHNlbGYuY21kLnVwbG9hZCh1cGxvYWRmaWxlcywgcmVwbGFj ZT1UcnVlLCBvZmZsaW5lPXNlbGYuYXJncy5vZmZsaW5lKQotZGlmZiAtLWdpdCBhL3Rlc3RzL3Rl c3RfY2xpLnB5IGIvdGVzdHMvdGVzdF9jbGkucHkKLWluZGV4IDU4ZGYwNDcuLjZlNGVjNmEgMTAw NjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X2NsaS5weQotKysrIGIvdGVzdHMvdGVzdF9jbGkucHkKLUBA IC0xNjEwLDcgKzE2MTAsNyBAQCBjbGFzcyBUZXN0U291cmNlcyhMb29rYXNpZGVDYWNoZU1vY2ss IENsaVRlc3RDYXNlKToKLSAgICAgICAgIGNsaV9jbWQgPSBbJ3Jwa2cnLCAnLS1wYXRoJywgc2Vs Zi5jbG9uZWRfcmVwb19wYXRoLCAnc291cmNlcyddCi0gICAgICAgICB3aXRoIHBhdGNoKCdzeXMu YXJndicsIG5ldz1jbGlfY21kKToKLSAgICAgICAgICAgICB3aXRoIHBhdGNoKCdweXJwa2cuQ29t bWFuZHMucnBtZGVmaW5lcycsCi0tICAgICAgICAgICAgICAgICAgICAgICAgbmV3PVsnLS1kZWZp bmUnLCAnX3NvdXJjZWRpciAlcycgJSBzZWxmLmNsb25lZF9yZXBvX3BhdGhdKToKLSsgICAgICAg ICAgICAgICAgICAgICAgIG5ldz1bJy0tZGVmaW5lJywgJ19zb3VyY2VkaXIgJXMnICUgc2VsZi5j bG9uZWRfcmVwb19wYXRoXSk6Ci0gICAgICAgICAgICAgICAgIGNsaSA9IHNlbGYubmV3X2NsaSgp Ci0gICAgICAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5sb29rYXNpZGUuQ0dJTG9va2Fz aWRlQ2FjaGUuZG93bmxvYWQnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldz1zZWxm Lmxvb2thc2lkZWNhY2hlX2Rvd25sb2FkKToKLS0tIAotMi40MC4wCi0KCmRpZmYgLS1naXQgYS8w MDIyLWNvcHItYnVpbGQtcGFzc2VzLWV4dHJhX2FyZ3MtdG8tY29wci1jbGktY29tbWFuZC5wYXRj aCBiLzAwMjItY29wci1idWlsZC1wYXNzZXMtZXh0cmFfYXJncy10by1jb3ByLWNsaS1jb21tYW5k LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NjZmMGVmLi4wMDAwMDAwCi0t LSBhLzAwMjItY29wci1idWlsZC1wYXNzZXMtZXh0cmFfYXJncy10by1jb3ByLWNsaS1jb21tYW5k LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTEzICswLDAgQEAKLUZyb20gYWQ2N2ZhOTA2OWJl ZmVmM2U0YmE1MTgwZWVhNmJmNTZiNjU4ZTY2NCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDMgTWF5IDIw MjMgMDA6NDE6MzQgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAwMS8xN10gYGNvcHItYnVpbGRgIHBh c3NlcyBleHRyYV9hcmdzIHRvIGNvcHItY2xpIGNvbW1hbmQKLQotVGhlIHJpZ2h0IHRhcmdldCBm b3IgcGFzc2luZyBleHRyYV9hcmdzIChhcmd1bWVudHMgdGhhdCBhcmUgcGxhY2VkCi1hZnRlciAn LS0nIG9uIHRoZSBjb21tYW5kIGxpbmUpIGlzIHRoZSBjb21tYW5kIGNvcHItY2xpIGluc3RlYWQK LW9mIHJwbWJ1aWxkIGNvbW1hbmQuCi0KLUZpeGVzOiBodHRwczovL3BhZ3VyZS5pby9mZWRwa2cv aXNzdWUvNTEwCi1KSVJBOiBSSEVMQ01QLTExNDI5Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZHJlaiBO b3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cvX19pbml0X18ucHkgfCAgNSAr KysrLQotIHB5cnBrZy9jbGkucHkgICAgICB8IDExICsrKysrKysrKystCi0gdGVzdHMvdGVzdF9j bGkucHkgIHwgMjQgKysrKysrKysrKysrKysrKysrKysrKysrCi0gMyBmaWxlcyBjaGFuZ2VkLCAz OCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL19f aW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCAxMWI4ZGFlLi5mMTRiMDU1IDEw MDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19pbml0X18ucHkK LUBAIC0zNTc2LDEzICszNTc2LDE2IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAg ICBlbHNlOgotICAgICAgICAgICAgIHNlbGYubG9nLmluZm8oJ05vdGhpbmcgdG8gYmUgZG9uZScp Ci0gCi0tICAgIGRlZiBjb3ByX2J1aWxkKHNlbGYsIHByb2plY3QsIHNycG1fbmFtZSwgbm93YWl0 LCBjb25maWdfZmlsZSk6Ci0rICAgIGRlZiBjb3ByX2J1aWxkKHNlbGYsIHByb2plY3QsIHNycG1f bmFtZSwgbm93YWl0LCBjb25maWdfZmlsZSwgZXh0cmFfYXJncz1Ob25lKToKLSAgICAgICAgIGNt ZCA9IFsnY29wci1jbGknXQotICAgICAgICAgaWYgY29uZmlnX2ZpbGU6Ci0gICAgICAgICAgICAg Y21kLmV4dGVuZChbJy0tY29uZmlnJywgY29uZmlnX2ZpbGVdKQotICAgICAgICAgY21kLmFwcGVu ZCgnYnVpbGQnKQotICAgICAgICAgaWYgbm93YWl0OgotICAgICAgICAgICAgIGNtZC5hcHBlbmQo Jy0tbm93YWl0JykKLSsgICAgICAgIGlmIGV4dHJhX2FyZ3M6Ci0rICAgICAgICAgICAgY21kLmV4 dGVuZChleHRyYV9hcmdzKQotKyAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKCJFeHRyYSBhcmdz ICd7MH0nIGFyZSBwYXNzZWQgdG8gY29wci1jbGkgY29tbWFuZCIuZm9ybWF0KGV4dHJhX2FyZ3Mp KQotICAgICAgICAgY21kLmV4dGVuZChbcHJvamVjdCwgc3JwbV9uYW1lXSkKLSAgICAgICAgIHNl bGYuX3J1bl9jb21tYW5kKGNtZCkKLSAKLWRpZmYgLS1naXQgYS9weXJwa2cvY2xpLnB5IGIvcHly cGtnL2NsaS5weQotaW5kZXggZGMxZWI0ZS4uMDIwYTI0NyAxMDA2NDQKLS0tLSBhL3B5cnBrZy9j bGkucHkKLSsrKyBiL3B5cnBrZy9jbGkucHkKLUBAIC0xNTYxLDYgKzE1NjEsMTAgQEAgY2xhc3Mg Y2xpQ2xpZW50KG9iamVjdCk6Ci0gICAgICAgICAgICAgaGVscD0iRG9uJ3Qgd2FpdCBvbiBidWls ZCIpCi0gICAgICAgICBjb3ByX3BhcnNlci5hZGRfYXJndW1lbnQoCi0gICAgICAgICAgICAgJ3By b2plY3QnLCBuYXJncz0xLCBoZWxwPSdOYW1lIG9mIHRoZSBwcm9qZWN0IGluIGZvcm1hdCBVU0VS L1BST0pFQ1QnKQotKyAgICAgICAgY29wcl9wYXJzZXIuYWRkX2FyZ3VtZW50KAotKyAgICAgICAg ICAgICJleHRyYV9hcmdzIiwgZGVmYXVsdD1Ob25lLCBuYXJncz1hcmdwYXJzZS5SRU1BSU5ERVIs Ci0rICAgICAgICAgICAgaGVscD0iQ3VzdG9tIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXNzZWQgdG8g dGhlICdjb3ByLWNsaScuICIKLSsgICAgICAgICAgICAgICAgICJVc2UgJy0tJyB0byBzZXBhcmF0 ZSB0aGVtIGZyb20gb3RoZXIgYXJndW1lbnRzLiIpCi0gICAgICAgICBjb3ByX3BhcnNlci5zZXRf ZGVmYXVsdHMoY29tbWFuZD1zZWxmLmNvcHJfYnVpbGQpCi0gCi0gICAgIGRlZiByZWdpc3Rlcl9z d2l0Y2hfYnJhbmNoKHNlbGYpOgotQEAgLTIzNTQsMTIgKzIzNTgsMTcgQEAgY2xhc3MgY2xpQ2xp ZW50KG9iamVjdCk6Ci0gICAgIGRlZiBjb3ByX2J1aWxkKHNlbGYpOgotICAgICAgICAgc2VsZi5s b2cuZGVidWcoJ0dlbmVyYXRpbmcgYW4gc3JwbScpCi0gICAgICAgICBzZWxmLmFyZ3MuaGFzaCA9 IE5vbmUKLSsgICAgICAgICMgZG8gbm90IHBhc3MgJ2V4dHJhX2FyZ3MnIHRvICdycG1idWlsZCcg Y29tbWFuZCBpbiAnc3JwbScgbWV0aG9kOyBQYXNzIGl0IHRvIGNvcHItY2xpLgotKyAgICAgICAg ZXh0cmFfYXJnc19iYWNrdXAgPSBzZWxmLmV4dHJhX2FyZ3MKLSsgICAgICAgIHNlbGYuZXh0cmFf YXJncyA9IE5vbmUKLSAgICAgICAgIHNlbGYuc3JwbSgpCi0rICAgICAgICBzZWxmLmV4dHJhX2Fy Z3MgPSBleHRyYV9hcmdzX2JhY2t1cAotICAgICAgICAgc3JwbV9uYW1lID0gJyVzLnNyYy5ycG0n ICUgc2VsZi5jbWQubnZyCi0gICAgICAgICBzZWxmLmNtZC5jb3ByX2J1aWxkKHNlbGYuYXJncy5w cm9qZWN0WzBdLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcnBtX25hbWUsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXJncy5ub3dhaXQsCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuYXJncy5jb3ByX2NvbmZpZykKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5hcmdzLmNvcHJfY29uZmlnLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBleHRyYV9hcmdzPXNlbGYuZXh0cmFfYXJncykKLSAKLSAgICAgZGVmIGRpZmYoc2Vs Zik6Ci0gICAgICAgICBzZWxmLmNtZC5kaWZmKHNlbGYuYXJncy5jYWNoZWQsIHNlbGYuYXJncy5m aWxlcykKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X2NsaS5weSBiL3Rlc3RzL3Rlc3RfY2xpLnB5 Ci1pbmRleCA2ZTRlYzZhLi5mMmU2OGRmIDEwMDY0NAotLS0tIGEvdGVzdHMvdGVzdF9jbGkucHkK LSsrKyBiL3Rlc3RzL3Rlc3RfY2xpLnB5Ci1AQCAtNjM2LDYgKzYzNiwzMCBAQCBjbGFzcyBUZXN0 Q2xvbmUoQ2xpVGVzdENhc2UpOgotICAgICAgICAgb3V0cHV0ID0gc3lzLnN0ZGVyci5nZXR2YWx1 ZSgpLnN0cmlwKCkKLSAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoJycsIG91dHB1dCkKLSAKLSsg ICAgQHBhdGNoKCdzeXMuc3RkZXJyJywgbmV3PVN0cmluZ0lPKCkpCi0rICAgIEBwYXRjaCgncHly cGtnLkNvbW1hbmRzLl9jbG9uZV9jb25maWcnLCBuZXdfY2FsbGFibGU9TW9jaygpKQotKyAgICBA cGF0Y2goJ3B5cnBrZy5Db21tYW5kcy5fcnVuX2NvbW1hbmQnKQotKyAgICBkZWYgdGVzdF9leHRy YV9hcmdzX2NvcHIoc2VsZiwgX3J1bl9jb21tYW5kLCBfY2xvbmVfY29uZmlnKToKLSsgICAgICAg ICMgY29wci1idWlsZCBpcyB0aGUgY29tbWFuZCB0aGF0IGhhcyB0d28gc3ViY29tbWFuZHMgKHJw bWJ1aWxkIGFuZCBjb3ByLWNsaSkKLSsgICAgICAgICMgdGhhdCBtaWdodCBhY2NlcHQgdGhlIGV4 dHJhIGFyZ3MuIFRoaXMgdGVzdHMgcmVxdWllcyBleHRyYV9hcmdzIGF0IGNvcHItY2xpLgotKyAg ICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXVzZXInLCAnZHVkZScsICctLXBhdGgnLCBzZWxm LmNsb25lZF9yZXBvX3BhdGgsCi0rICAgICAgICAgICAgICAgICAgICctLXJlbGVhc2UnLCAncmhl bC02JywgJ2NvcHItYnVpbGQnLCAnQ09QUi1SRVBPJywKLSsgICAgICAgICAgICAgICAgICAgJy0t JywgJy0tYWZ0ZXItYnVpbGQtaWQnLCAnSUQnXQotKwotKyAgICAgICAgd2l0aCBwYXRjaCgnc3lz LmFyZ3YnLCBuZXc9Y2xpX2NtZCk6Ci0rICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdfY2xpKCkK LSsgICAgICAgICAgICBjbGkuY29wcl9idWlsZCgpCi0rCi0rICAgICAgICBleHBlY3RlZF9jbWQg PSBbJ2NvcHItY2xpJywgJ2J1aWxkJywgJy0tYWZ0ZXItYnVpbGQtaWQnLCAnSUQnLCAnQ09QUi1S RVBPJ10KLSsgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMiwgX3J1bl9jb21tYW5kLmNhbGxfY291 bnQpCi0rICAgICAgICBjb3ByX2NsaV9jYWxsID0gX3J1bl9jb21tYW5kLm1vY2tfY2FsbHNbMV0K LSsgICAgICAgIGlmICdhcmdzJyBpbiBkaXIoY29wcl9jbGlfY2FsbCk6ICAjIGRvZXNuJ3Qgd29y ayBpbiA8PXB5MzYKLSsgICAgICAgICAgICAjIHN0cmlwIHRoZSBsYXN0IGFyZ3VtZW50IC0gaXQg Y29udGFpbnMgZHluYW1pY2FsbHkgZ2VuZXJhdGVkIHNyYy5ycG0gZmlsZW5hbWUKLSsgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKGV4cGVjdGVkX2NtZCwgY29wcl9jbGlfY2FsbC5hcmdzWzBd WzotMV0pCi0rCi0rICAgICAgICBvdXRwdXQgPSBzeXMuc3RkZXJyLmdldHZhbHVlKCkuc3RyaXAo KQotKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgnJywgb3V0cHV0KQotKwotICAgICBAcGF0Y2go J3N5cy5zdGRlcnInLCBuZXc9U3RyaW5nSU8oKSkKLSAgICAgQHBhdGNoKCdweXJwa2cuQ29tbWFu ZHMuX2Nsb25lX2NvbmZpZycsIG5ld19jYWxsYWJsZT1Nb2NrKCkpCi0gICAgIEBwYXRjaCgncHly cGtnLkNvbW1hbmRzLl9ydW5fY29tbWFuZCcpCi0tLSAKLTIuNDMuMAotCgpkaWZmIC0tZ2l0IGEv MDAyMy1jb21taXQtY29tbWFuZC1mYWlscy1vbi1jb250YWluZXJzLW5hbWVzcGFjZS5wYXRjaCBi LzAwMjMtY29tbWl0LWNvbW1hbmQtZmFpbHMtb24tY29udGFpbmVycy1uYW1lc3BhY2UucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDIxYWU4ZTMuLjAwMDAwMDAKLS0tIGEvMDAy My1jb21taXQtY29tbWFuZC1mYWlscy1vbi1jb250YWluZXJzLW5hbWVzcGFjZS5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLUZyb20gN2FkZThjMWYzOGVmYWE4ODE3YmQxMGRm NmIwOTI4ZWY3MDgyMmY2ZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9uZHJlaiBO b3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE3IE1heSAyMDIzIDAwOjMyOjQ3 ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMDIvMTddIGBjb21taXRgIGNvbW1hbmQgZmFpbHMgb24g J2NvbnRhaW5lcnMnIG5hbWVzcGFjZQotCi1Db21taXQgZmFpbGVkIHdoZW4gJ3VzZXNfcnBtYXV0 b3NwZWMnIHRyaWVkIHRvIHNlYXJjaCBmb3IgYSBzcGVjZmlsZS4KLVRoZXJlIGlzIG5vIHNwZWNm aWxlIGluICdjb250YWluZXJzJyBuYW1lc3BhY2UgcmVwb3NpdG9yeS4KLQotSklSQTogUkhFTENN UC0xMTczNAotCi1TaWduZWQtb2ZmLWJ5OiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29t PgotLS0tCi0gcHlycGtnL19faW5pdF9fLnB5IHwgMTEgKysrKysrKysrLS0KLSAxIGZpbGUgY2hh bmdlZCwgOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHly cGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCBmMTRiMDU1Li5iNDVh ZDhmIDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19pbml0 X18ucHkKLUBAIC0xODcyLDggKzE4NzIsMTUgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAg ICAgICAgICMgY29uc3RydWN0IHRoZSBnaXQgY29tbWFuZAotICAgICAgICAgIyBXZSBkbyB0aGlz IHZpYSBzdWJwcm9jZXNzIGJlY2F1c2UgdGhlIGdpdCBtb2R1bGUgaXMgdGVycmlibGUuCi0gICAg ICAgICBjbWQgPSBbJ2dpdCcsICdjb21taXQnXQotLSAgICAgICAgaWYgbm90IHNlbGYuaXNfcmV0 aXJlZCgpIGFuZCBzZWxmLnVzZXNfcnBtYXV0b3NwZWM6Ci0tICAgICAgICAgICAgY21kLmFwcGVu ZCgnLS1hbGxvdy1lbXB0eScpCi0rICAgICAgICBpZiBub3Qgc2VsZi5pc19yZXRpcmVkKCk6Ci0r ICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICAjIHJhaXNlcyBleGNlcHRpb24gd2hl biBhIHNwZWNmaWxlIGlzIG1pc3NpbmcKLSsgICAgICAgICAgICAgICAgIyAoZm9yIGV4YW1wbGUg d2hlbiBwcm9jZXNzaW5nICJjb250YWluZXJzIiBuYW1lc3BhY2UgcmVwb3NpdG9yeSkKLSsgICAg ICAgICAgICAgICAgdXNlc19ycG1hdXRvc3BlYyA9IHNlbGYudXNlc19ycG1hdXRvc3BlYwotKyAg ICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0rICAgICAgICAgICAgICAgIHVzZXNfcnBtYXV0 b3NwZWMgPSBGYWxzZQotKyAgICAgICAgICAgIGlmIHVzZXNfcnBtYXV0b3NwZWM6Ci0rICAgICAg ICAgICAgICAgIGNtZC5hcHBlbmQoJy0tYWxsb3ctZW1wdHknKQotICAgICAgICAgaWYgc2lnbm9m ZjoKLSAgICAgICAgICAgICBjbWQuYXBwZW5kKCctcycpCi0gICAgICAgICBpZiBzZWxmLnF1aWV0 OgotLS0gCi0yLjQzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMjQtU3BsaXQtZ2l0LWNyZWRlbnRpYWwt ZGF0YS1vbi1maXJzdC1vbmx5LnBhdGNoIGIvMDAyNC1TcGxpdC1naXQtY3JlZGVudGlhbC1kYXRh LW9uLWZpcnN0LW9ubHkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDhmN2Fi NmIuLjAwMDAwMDAKLS0tIGEvMDAyNC1TcGxpdC1naXQtY3JlZGVudGlhbC1kYXRhLW9uLWZpcnN0 LW9ubHkucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBACi1Gcm9tIDc1ZDQyYmFk NzliNTQ2NTRmY2E5NzcwYTI4NTdlNzllODJkODNjM2UgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiA9P1VURi04P3E/THVib209QzM9QURyPTIwU2VkbD1DMz1BMT1DNT05OT89IDxsc2Vk bGFyQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDIxIEp1biAyMDIzIDEwOjQyOjQ1ICswMjAwCi1T dWJqZWN0OiBbUEFUQ0ggMDMvMTddIFNwbGl0IGdpdCBjcmVkZW50aWFsIGRhdGEgb24gZmlyc3Qg PSBvbmx5Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVRoZSB2YWx1ZSBp dHNlbGYgY2FuIGNvbnRhaW4gYSA9IGNoYXJhY3RlciwgYnV0IHdlIGRvbid0IHJlYWxseSBjYXJl Ci1hYm91dCB0aGF0LiBXZSBjYW4gdHJlYXQgdGhlIHZhbHVlIG9mIHRoZSBrZXkgYXMgb3BhcXVl LgotCi1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vcnBrZy9pc3N1ZS82OTQKLVNpZ25lZC1vZmYt Ynk6IEx1Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+Ci0tLS0KLSBweXJwa2cv Y2xpLnB5IHwgMiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL2NsaS5weSBiL3B5cnBrZy9jbGkucHkKLWluZGV4 IDAyMGEyNDcuLjFiZDc5NzkgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvY2xpLnB5Ci0rKysgYi9weXJw a2cvY2xpLnB5Ci1AQCAtODI0LDcgKzgyNCw3IEBAIGNsYXNzIGNsaUNsaWVudChvYmplY3QpOgot ICAgICAgICAgIiIiUGFyc2VzIHRoZSBnaXQtY3JlZGVudGlhbC1oZWxwZXIgSU8gZm9ybWF0IGlu cHV0LiIiIgotICAgICAgICAgaW5wID0ge30KLSAgICAgICAgIGZvciBsaW5lIGluIHN5cy5zdGRp bjoKLS0gICAgICAgICAgICB2YWxzID0gbGluZS5zcGxpdCgnPScsIDIpCi0rICAgICAgICAgICAg dmFscyA9IGxpbmUuc3BsaXQoJz0nLCAxKQotICAgICAgICAgICAgIGlmIGxlbih2YWxzKSAhPSAy OgotICAgICAgICAgICAgICAgICBwcmludCgnSW52YWxpZCBpbnB1dDogJXMnICUgbGluZSwgZmls ZT1zeXMuc3RkZXJyKQotICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKLS0tIAotMi40My4w Ci0KCmRpZmYgLS1naXQgYS8wMDI1LVN1cHBvcnQtZm9yLWNoZWNraW5nLWV4cGxvZGVkLXNvdXJj ZXMtYmVmb3JlLXB1c2gucGF0Y2ggYi8wMDI1LVN1cHBvcnQtZm9yLWNoZWNraW5nLWV4cGxvZGVk LXNvdXJjZXMtYmVmb3JlLXB1c2gucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IGNkMWUzNGEuLjAwMDAwMDAKLS0tIGEvMDAyNS1TdXBwb3J0LWZvci1jaGVja2luZy1leHBsb2Rl ZC1zb3VyY2VzLWJlZm9yZS1wdXNoLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNzEgKzAsMCBA QAotRnJvbSA4N2Q0OTk1YjQwZmJjZGRhYzg4ZmIyMTE5MWViMmQ1ZDFmMjQ4NTUwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4K LURhdGU6IFR1ZSwgMTEgSnVsIDIwMjMgMTc6MDA6NDggKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCAw NC8xN10gU3VwcG9ydCBmb3IgY2hlY2tpbmcgZXhwbG9kZWQgc291cmNlcyBiZWZvcmUgcHVzaAot Ci1wcmUtcHVzaC1jaGVjayBub3cgaW5jbHVkZXMgdGVzdCB3aGV0aGVyIHNvdXJjZSBmaWxlcyBs aXN0ZWQKLWluIGEgc3BlY2ZpbGUgY29tZSBmcm9tIGFkZGl0aW9uYWwgc291cmNlcy4KLVRoaXMg ZnVuY3Rpb25hbGl0eSBpcyByZWxldmFudCBvbmx5IGZvciBzb21lIHgtcGtnIHRvb2xzLCBvdGhl cnMKLXNob3VsZCBub3QgYmUgYWZmZWN0ZWQuCi0KLUpJUkE6IFJIRUxDTVAtMTE3NzcKLQotU2ln bmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBr Zy9fX2luaXRfXy5weSAgICAgICAgICAgICAgICAgICAgfCAxMiArKysrKysrKysrLS0KLSB0ZXN0 cy9jb21tYW5kcy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5IHwgIDQgKystLQotIDIgZmlsZXMgY2hh bmdlZCwgMTIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3B5 cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9fX2luaXRfXy5weQotaW5kZXggYjQ1YWQ4Zi4uYmM2 NjliOSAxMDA2NDQKLS0tLSBhL3B5cnBrZy9fX2luaXRfXy5weQotKysrIGIvcHlycGtnL19faW5p dF9fLnB5Ci1AQCAtNDQ2OCw2ICs0NDY4LDEwIEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0g Ci0gICAgICAgICByZXR1cm4gc2VsZi5fcmVwb19uYW1lLCB2ZXJzaW9uLCByZWxlYXNlCi0gCi0r ICAgICMgV29ya3MgYXMgdmlydHVhbCBtZXRob2QuIE90aGVyIHgtcGtnIHRvb2xzIGNhbiBhZGQg dGhlaXIgc3BlY2lmaWMgc291cmNlcwotKyAgICBkZWYgYWRkaXRpb25hbF9zb3VyY2VfZW50cmll cyhzZWxmKToKLSsgICAgICAgIHJldHVybiB7fQotKwotICAgICBkZWYgcHJlX3B1c2hfY2hlY2so c2VsZiwgcmVmKToKLSAgICAgICAgIHNob3dfaGludCA9ICgnSGludDogdGhpcyBjaGVjayAoLmdp dC9ob29rcy9wcmUtcHVzaCBzY3JpcHQpIGNhbiBiZSBieXBhc3NlZCBieSBhZGRpbmcgJwotICAg ICAgICAgICAgICAgICAgICAgICd0aGUgYXJndW1lbnQgXCctLW5vLXZlcmlmeVwnIGFyZ3VtZW50 IHRvIHRoZSBwdXNoIGNvbW1hbmQuJykKLUBAIC00NTYxLDEzICs0NTY1LDE3IEBAIGNsYXNzIENv bW1hbmRzKG9iamVjdCk6Ci0gICAgICAgICAjIGxpc3Qgb2YgYWxsIGZpbGVzICh0aGVpciByZWxh dGl2ZSBwYXRocykgaW4gdGhlIGNvbW1pdAotICAgICAgICAgcmVwb19lbnRyaWVzID0gc2V0KGl0 ZW0ucGF0aCBmb3IgaXRlbSBpbiBjb21taXQudHJlZS50cmF2ZXJzZSgpIGlmIGl0ZW0udHlwZSAh PSAidHJlZSIpCi0gCi0rICAgICAgICAjIG90aGVyIHgtcGtnIHRvb2xzIGNhbiBhZGQgdGhlaXIg c3BlY2lmaWMgc291cmNlcwotKyAgICAgICAgYWRkaXRpb25hbF9lbnRyaWVzID0gc2V0KHNlbGYu YWRkaXRpb25hbF9zb3VyY2VfZW50cmllcygpKQotKwotICAgICAgICAgIyBjaGVjayB3aGV0aGVy IGV2ZXJ5IHNvdXJjZSBmaWxlIGlzIGVpdGhlciBsaXN0ZWQgaW4gdGhlICdzb3VyY2VzJyBmaWxl IG9yIHRyYWNrZWQgaW4gZ2l0Ci0gICAgICAgICBmb3Igc291cmNlX2ZpbGUgaW4gc291cmNlX2Zp bGVzOgotICAgICAgICAgICAgIGxpc3RlZCA9IHNvdXJjZV9maWxlIGluIHNvdXJjZXNmX2VudHJp ZXMKLSAgICAgICAgICAgICB0cmFja2VkID0gc291cmNlX2ZpbGUgaW4gcmVwb19lbnRyaWVzCi0t ICAgICAgICAgICAgaWYgbm90IChsaXN0ZWQgb3IgdHJhY2tlZCk6Ci0rICAgICAgICAgICAgbGlz dGVkX2FkZGl0aW9uYWwgPSBzb3VyY2VfZmlsZSBpbiBhZGRpdGlvbmFsX2VudHJpZXMKLSsgICAg ICAgICAgICBpZiBub3QgKGxpc3RlZCBvciB0cmFja2VkIG9yIGxpc3RlZF9hZGRpdGlvbmFsKToK LSAgICAgICAgICAgICAgICAgc2VsZi5sb2cuZXJyb3IoJ1NvdXJjZSBmaWxlIFwnezB9XCcgd2Fz IG5laXRoZXIgbGlzdGVkIGluIHRoZSBcJ3NvdXJjZXNcJyBmaWxlICcKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ25vciB0cmFja2VkIGluIGdpdC4gJwotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnbm9yIHRyYWNrZWQgaW4gZ2l0IG5vciBsaXN0ZWQgaW4gYWRkaXRp b25hbCBzb3VyY2VzLiAnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQdXNoIG9w ZXJhdGlvbiB3YXMgY2FuY2VsbGVkJy5mb3JtYXQoc291cmNlX2ZpbGUpKQotICAgICAgICAgICAg ICAgICBzZWxmLmxvZy53YXJuaW5nKHNob3dfaGludCkKLSAgICAgICAgICAgICAgICAgc3lzLmV4 aXQoNCkKLWRpZmYgLS1naXQgYS90ZXN0cy9jb21tYW5kcy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5 IGIvdGVzdHMvY29tbWFuZHMvdGVzdF9wcmVfcHVzaF9jaGVjay5weQotaW5kZXggZWUxNTFjMS4u NzkxNjVlYyAxMDA2NDQKLS0tLSBhL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfcHJlX3B1c2hfY2hlY2su cHkKLSsrKyBiL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfcHJlX3B1c2hfY2hlY2sucHkKLUBAIC05MCw4 ICs5MCw4IEBAIFBhdGNoMzogZC5wYXRjaAotIAotICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbChl eGMuZXhjZXB0aW9uLmNvZGUsIDQpCi0gICAgICAgICBsb2dfZXJyb3IuYXNzZXJ0X2NhbGxlZF9v bmNlX3dpdGgoIlNvdXJjZSBmaWxlICdiLnBhdGNoJyB3YXMgbmVpdGhlciBsaXN0ZWQgaW4gdGhl ICIKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiJ3NvdXJjZXMn IGZpbGUgbm9yIHRyYWNrZWQgaW4gZ2l0LiBQdXNoIG9wZXJhdGlvbiAiCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndhcyBjYW5jZWxsZWQiKQotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInc291cmNlcycgZmlsZSBub3IgdHJh Y2tlZCBpbiBnaXQgbm9yIGxpc3RlZCAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgImluIGFkZGl0aW9uYWwgc291cmNlcy4gUHVzaCBvcGVyYXRpb24gd2FzIGNh bmNlbGxlZCIpCi0gCi0gICAgICAgICAjIFZlcmlmeSBhZGRlZCBmaWxlcyBhcmUgY29tbWl0dGVk IGJ1dCBub3QgcHVzaGVkIHRvIG9yaWdpbgotICAgICAgICAgbG9jYWxfcmVwbyA9IGdpdC5SZXBv KHNlbGYuY2xvbmVkX2RpcikKLS0tIAotMi40My4wCi0KCmRpZmYgLS1naXQgYS8wMDI2LUZpeC1m bGFrZTgtY29tcGxhaW50cy5wYXRjaCBiLzAwMjYtRml4LWZsYWtlOC1jb21wbGFpbnRzLnBhdGNo CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0OTU1YTQ5Li4wMDAwMDAwCi0tLSBhLzAw MjYtRml4LWZsYWtlOC1jb21wbGFpbnRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAs MCBAQAotRnJvbSA1YzkxNWE1NDlhZDJkMTBhM2ViMzZjNTY4MDE1NzRkODFhNjAxNjcwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNv bT4KLURhdGU6IFR1ZSwgMSBBdWcgMjAyMyAyMzoyNjo0MyArMDIwMAotU3ViamVjdDogW1BBVENI IDA1LzE3XSBGaXggZmxha2U4IGNvbXBsYWludHMKLQotRTcyMSBkbyBub3QgY29tcGFyZSB0eXBl cywgZm9yIGV4YWN0IGNoZWNrcyB1c2UgYGlzYCAvIGBpcyBub3RgLCBmb3IKLWluc3RhbmNlIGNo ZWNrcyB1c2UgYGlzaW5zdGFuY2UoKWAKLUNvbmRpdGlvbnMgaW4gdGhlIG1ldGhvZCBgX2xpc3Rf YnJhbmNoZXNgIHdlcmUgc3dpdGNoZWQgYmVjYXVzZToKLWBpc3N1YmNsYXNzKGdpdC5SZW1vdGVS ZWZlcmVuY2UsIGdpdC5IZWFkKWAKLQotU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9z ZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5weSB8IDggKysrKy0tLS0KLSAx IGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQotCi1kaWZmIC0t Z2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCBiYzY2 OWI5Li5mNjlmMmNlIDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJw a2cvX19pbml0X18ucHkKLUBAIC0xNDExLDE1ICsxNDExLDE1IEBAIGNsYXNzIENvbW1hbmRzKG9i amVjdCk6Ci0gICAgICAgICByZW1vdGVzID0gW10KLSAgICAgICAgIGxvY2FscyA9IFtdCi0gICAg ICAgICBmb3IgcmVmIGluIHJlZnM6Ci0tICAgICAgICAgICAgaWYgdHlwZShyZWYpID09IGdpdC5I ZWFkOgotLSAgICAgICAgICAgICAgICBzZWxmLmxvZy5kZWJ1ZygnRm91bmQgbG9jYWwgYnJhbmNo ICVzJywgcmVmLm5hbWUpCi0tICAgICAgICAgICAgICAgIGxvY2Fscy5hcHBlbmQocmVmLm5hbWUp Ci0tICAgICAgICAgICAgZWxpZiB0eXBlKHJlZikgPT0gZ2l0LlJlbW90ZVJlZmVyZW5jZToKLSsg ICAgICAgICAgICBpZiBpc2luc3RhbmNlKHJlZiwgZ2l0LlJlbW90ZVJlZmVyZW5jZSk6Ci0gICAg ICAgICAgICAgICAgIGlmIHJlZi5yZW1vdGVfaGVhZCA9PSAnSEVBRCc6Ci0gICAgICAgICAgICAg ICAgICAgICBzZWxmLmxvZy5kZWJ1ZygnU2tpcHBpbmcgcmVtb3RlIGJyYW5jaCBhbGlhcyBIRUFE JykKLSAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAjIE5vdCB1c2VmdWwgaW4gdGhpcyBj b250ZXh0Ci0gICAgICAgICAgICAgICAgIHNlbGYubG9nLmRlYnVnKCdGb3VuZCByZW1vdGUgYnJh bmNoICVzJywgcmVmLm5hbWUpCi0gICAgICAgICAgICAgICAgIHJlbW90ZXMuYXBwZW5kKHJlZi5u YW1lKQotKyAgICAgICAgICAgIGVsaWYgaXNpbnN0YW5jZShyZWYsIGdpdC5IZWFkKToKLSsgICAg ICAgICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ0ZvdW5kIGxvY2FsIGJyYW5jaCAlcycsIHJlZi5u YW1lKQotKyAgICAgICAgICAgICAgICBsb2NhbHMuYXBwZW5kKHJlZi5uYW1lKQotICAgICAgICAg cmV0dXJuIChsb2NhbHMsIHJlbW90ZXMpCi0gCi0gICAgIGRlZiBfc3JwbWRldGFpbHMoc2VsZiwg c3JwbSk6Ci0tLSAKLTIuNDMuMAotCgpkaWZmIC0tZ2l0IGEvMDAyNy1QcmVwYXJlLXRoZS1sb29r YXNpZGUtY2FjaGUtY29kZS1mb3ItcmV0cmllcy5wYXRjaCBiLzAwMjctUHJlcGFyZS10aGUtbG9v a2FzaWRlLWNhY2hlLWNvZGUtZm9yLXJldHJpZXMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDQ4YTU5NjIuLjAwMDAwMDAKLS0tIGEvMDAyNy1QcmVwYXJlLXRoZS1sb29rYXNp ZGUtY2FjaGUtY29kZS1mb3ItcmV0cmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0OCAr MCwwIEBACi1Gcm9tIDFhMDYwMWQyOTc5NGNlYzFmNzM1YTEwMjA4MzY0ZDExOTU4YzQxZWMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQu Y29tPgotRGF0ZTogV2VkLCAyNiBKdWwgMjAyMyAwMTozMDoxMiArMDIwMAotU3ViamVjdDogW1BB VENIIDA2LzE3XSBQcmVwYXJlIHRoZSBsb29rYXNpZGUgY2FjaGUgY29kZSBmb3IgcmV0cmllcwot Ci1UaGVzZSBjaGFuZ2VzIHNob3VsZCBub3QgaGF2ZSBhbiBpbXBhY3Qgb24gdGhlIG9yaWdpbmFs IGZ1bmN0aW9uYWxpdHkuCi0KLUpJUkE6IFJIRUxDTVAtMTEyMTAKLQotU2lnbmVkLW9mZi1ieTog T25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9sb29rYXNpZGUu cHkgfCA5NiArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAx IGZpbGUgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9weXJwa2cvbG9va2FzaWRlLnB5IGIvcHlycGtnL2xvb2thc2lkZS5weQotaW5kZXgg M2VmY2Q4OC4uZjk0ZmZkYiAxMDA2NDQKLS0tLSBhL3B5cnBrZy9sb29rYXNpZGUucHkKLSsrKyBi L3B5cnBrZy9sb29rYXNpZGUucHkKLUBAIC0xNjMsMTcgKzE2MywxNyBAQCBjbGFzcyBDR0lMb29r YXNpZGVDYWNoZShvYmplY3QpOgotICAgICAgICAgICAgIHVybCA9IHVybC5lbmNvZGUoJ3V0Zi04 JykKLSAgICAgICAgIHNlbGYubG9nLmRlYnVnKCJGdWxsIHVybDogJXMiLCB1cmwpCi0gCi0rICAg ICAgICBjID0gcHljdXJsLkN1cmwoKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLlVSTCwgdXJs KQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkhUVFBIRUFERVIsIFsnUHJhZ21hOiddKQotKyAg ICAgICAgYy5zZXRvcHQocHljdXJsLk5PUFJPR1JFU1MsIEZhbHNlKQotKyAgICAgICAgYy5zZXRv cHQocHljdXJsLlBST0dSRVNTRlVOQ1RJT04sIHNlbGYucHJpbnRfcHJvZ3Jlc3MpCi0rICAgICAg ICBjLnNldG9wdChweWN1cmwuT1BUX0ZJTEVUSU1FLCBUcnVlKQotKyAgICAgICAgYy5zZXRvcHQo cHljdXJsLkxPV19TUEVFRF9MSU1JVCwgMTAwMCkKLSsgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5M T1dfU1BFRURfVElNRSwgMzAwKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkZPTExPV0xPQ0FU SU9OLCAxKQotICAgICAgICAgd2l0aCBvcGVuKG91dGZpbGUsICd3YicpIGFzIGY6Ci0tICAgICAg ICAgICAgYyA9IHB5Y3VybC5DdXJsKCkKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuVVJM LCB1cmwpCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLkhUVFBIRUFERVIsIFsnUHJhZ21h OiddKQotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5OT1BST0dSRVNTLCBGYWxzZSkKLS0g ICAgICAgICAgICBjLnNldG9wdChweWN1cmwuUFJPR1JFU1NGVU5DVElPTiwgc2VsZi5wcmludF9w cm9ncmVzcykKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuT1BUX0ZJTEVUSU1FLCBUcnVl KQotICAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5XUklURURBVEEsIGYpCi0tICAgICAgICAg ICAgYy5zZXRvcHQocHljdXJsLkxPV19TUEVFRF9MSU1JVCwgMTAwMCkKLS0gICAgICAgICAgICBj LnNldG9wdChweWN1cmwuTE9XX1NQRUVEX1RJTUUsIDMwMCkKLS0gICAgICAgICAgICBjLnNldG9w dChweWN1cmwuRk9MTE9XTE9DQVRJT04sIDEpCi0gICAgICAgICAgICAgdHJ5OgotICAgICAgICAg ICAgICAgICBjLnBlcmZvcm0oKQotICAgICAgICAgICAgICAgICB0c3RhbXAgPSBjLmdldGluZm8o cHljdXJsLklORk9fRklMRVRJTUUpCi1AQCAtMjU0LDI5ICsyNTQsMjkgQEAgY2xhc3MgQ0dJTG9v a2FzaWRlQ2FjaGUob2JqZWN0KToKLSAgICAgICAgICAgICAgICAgICAgICAoJyVzc3VtJyAlIHNl bGYuaGFzaHR5cGUsIGhhc2gpLAotICAgICAgICAgICAgICAgICAgICAgICgnZmlsZW5hbWUnLCBm aWxlbmFtZSldCi0gCi0tICAgICAgICB3aXRoIGlvLkJ5dGVzSU8oKSBhcyBidWY6Ci0tICAgICAg ICAgICAgYyA9IHB5Y3VybC5DdXJsKCkKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuVVJM LCBzZWxmLnVwbG9hZF91cmwpCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLldSSVRFRlVO Q1RJT04sIGJ1Zi53cml0ZSkKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuSFRUUFBPU1Qs IHBvc3RfZGF0YSkKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuRk9MTE9XTE9DQVRJT04s IDEpCi0rICAgICAgICBjID0gcHljdXJsLkN1cmwoKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJs LlVSTCwgc2VsZi51cGxvYWRfdXJsKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkhUVFBQT1NU LCBwb3N0X2RhdGEpCi0rICAgICAgICBjLnNldG9wdChweWN1cmwuRk9MTE9XTE9DQVRJT04sIDEp Ci0gCi0tICAgICAgICAgICAgaWYgc2VsZi5jbGllbnRfY2VydCBpcyBub3QgTm9uZToKLS0gICAg ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5jbGllbnRfY2VydCk6Ci0tICAgICAg ICAgICAgICAgICAgICBjLnNldG9wdChweWN1cmwuU1NMQ0VSVCwgc2VsZi5jbGllbnRfY2VydCkK LS0gICAgICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLndh cm5pbmcoIk1pc3NpbmcgY2VydGlmaWNhdGU6ICVzIgotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAlIHNlbGYuY2xpZW50X2NlcnQpCi0rICAgICAgICBpZiBzZWxmLmNsaWVu dF9jZXJ0IGlzIG5vdCBOb25lOgotKyAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYu Y2xpZW50X2NlcnQpOgotKyAgICAgICAgICAgICAgICBjLnNldG9wdChweWN1cmwuU1NMQ0VSVCwg c2VsZi5jbGllbnRfY2VydCkKLSsgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAgICAgICBz ZWxmLmxvZy53YXJuaW5nKCJNaXNzaW5nIGNlcnRpZmljYXRlOiAlcyIKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAlIHNlbGYuY2xpZW50X2NlcnQpCi0gCi0tICAgICAgICAgICAg aWYgc2VsZi5jYV9jZXJ0IGlzIG5vdCBOb25lOgotLSAgICAgICAgICAgICAgICBpZiBvcy5wYXRo LmV4aXN0cyhzZWxmLmNhX2NlcnQpOgotLSAgICAgICAgICAgICAgICAgICAgYy5zZXRvcHQocHlj dXJsLkNBSU5GTywgc2VsZi5jYV9jZXJ0KQotLSAgICAgICAgICAgICAgICBlbHNlOgotLSAgICAg ICAgICAgICAgICAgICAgc2VsZi5sb2cud2FybmluZygiTWlzc2luZyBjZXJ0aWZpY2F0ZTogJXMi LCBzZWxmLmNhX2NlcnQpCi0rICAgICAgICBpZiBzZWxmLmNhX2NlcnQgaXMgbm90IE5vbmU6Ci0r ICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5jYV9jZXJ0KToKLSsgICAgICAgICAg ICAgICAgYy5zZXRvcHQocHljdXJsLkNBSU5GTywgc2VsZi5jYV9jZXJ0KQotKyAgICAgICAgICAg IGVsc2U6Ci0rICAgICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoIk1pc3NpbmcgY2VydGlm aWNhdGU6ICVzIiwgc2VsZi5jYV9jZXJ0KQotIAotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3Vy bC5IVFRQQVVUSCwgcHljdXJsLkhUVFBBVVRIX0dTU05FR09USUFURSkKLS0gICAgICAgICAgICBj LnNldG9wdChweWN1cmwuVVNFUlBXRCwgJzonKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkhU VFBBVVRILCBweWN1cmwuSFRUUEFVVEhfR1NTTkVHT1RJQVRFKQotKyAgICAgICAgYy5zZXRvcHQo cHljdXJsLlVTRVJQV0QsICc6JykKLSAKLSsgICAgICAgIHdpdGggaW8uQnl0ZXNJTygpIGFzIGJ1 ZjoKLSsgICAgICAgICAgICBjLnNldG9wdChweWN1cmwuV1JJVEVGVU5DVElPTiwgYnVmLndyaXRl KQotICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAgYy5wZXJmb3JtKCkKLSAgICAg ICAgICAgICAgICAgc3RhdHVzID0gYy5nZXRpbmZvKHB5Y3VybC5SRVNQT05TRV9DT0RFKQotQEAg LTM0MSwzMCArMzQxLDMwIEBAIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9iamVjdCk6Ci0gICAg ICAgICAgICAgKCdtdGltZScsIHN0cihpbnQob3Muc3RhdChmaWxlcGF0aCkuc3RfbXRpbWUpKSks Ci0gICAgICAgICBdCi0gCi0tICAgICAgICB3aXRoIGlvLkJ5dGVzSU8oKSBhcyBidWY6Ci0tICAg ICAgICAgICAgYyA9IHB5Y3VybC5DdXJsKCkKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwu VVJMLCBzZWxmLnVwbG9hZF91cmwpCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLk5PUFJP R1JFU1MsIEZhbHNlKQotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5QUk9HUkVTU0ZVTkNU SU9OLCBzZWxmLnByaW50X3Byb2dyZXNzKQotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5X UklURUZVTkNUSU9OLCBidWYud3JpdGUpCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLkhU VFBQT1NULCBwb3N0X2RhdGEpCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLkZPTExPV0xP Q0FUSU9OLCAxKQotKyAgICAgICAgYyA9IHB5Y3VybC5DdXJsKCkKLSsgICAgICAgIGMuc2V0b3B0 KHB5Y3VybC5VUkwsIHNlbGYudXBsb2FkX3VybCkKLSsgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5O T1BST0dSRVNTLCBGYWxzZSkKLSsgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5QUk9HUkVTU0ZVTkNU SU9OLCBzZWxmLnByaW50X3Byb2dyZXNzKQotKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkhUVFBQ T1NULCBwb3N0X2RhdGEpCi0rICAgICAgICBjLnNldG9wdChweWN1cmwuRk9MTE9XTE9DQVRJT04s IDEpCi0gCi0tICAgICAgICAgICAgaWYgc2VsZi5jbGllbnRfY2VydCBpcyBub3QgTm9uZToKLS0g ICAgICAgICAgICAgICAgaWYgb3MucGF0aC5leGlzdHMoc2VsZi5jbGllbnRfY2VydCk6Ci0tICAg ICAgICAgICAgICAgICAgICBjLnNldG9wdChweWN1cmwuU1NMQ0VSVCwgc2VsZi5jbGllbnRfY2Vy dCkKLS0gICAgICAgICAgICAgICAgZWxzZToKLS0gICAgICAgICAgICAgICAgICAgIHNlbGYubG9n Lndhcm5pbmcoIk1pc3NpbmcgY2VydGlmaWNhdGU6ICVzIiwgc2VsZi5jbGllbnRfY2VydCkKLSsg ICAgICAgIGlmIHNlbGYuY2xpZW50X2NlcnQgaXMgbm90IE5vbmU6Ci0rICAgICAgICAgICAgaWYg b3MucGF0aC5leGlzdHMoc2VsZi5jbGllbnRfY2VydCk6Ci0rICAgICAgICAgICAgICAgIGMuc2V0 b3B0KHB5Y3VybC5TU0xDRVJULCBzZWxmLmNsaWVudF9jZXJ0KQotKyAgICAgICAgICAgIGVsc2U6 Ci0rICAgICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoIk1pc3NpbmcgY2VydGlmaWNhdGU6 ICVzIiwgc2VsZi5jbGllbnRfY2VydCkKLSAKLS0gICAgICAgICAgICBpZiBzZWxmLmNhX2NlcnQg aXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKHNlbGYuY2Ff Y2VydCk6Ci0tICAgICAgICAgICAgICAgICAgICBjLnNldG9wdChweWN1cmwuQ0FJTkZPLCBzZWxm LmNhX2NlcnQpCi0tICAgICAgICAgICAgICAgIGVsc2U6Ci0tICAgICAgICAgICAgICAgICAgICBz ZWxmLmxvZy53YXJuaW5nKCJNaXNzaW5nIGNlcnRpZmljYXRlOiAlcyIsIHNlbGYuY2FfY2VydCkK LSsgICAgICAgIGlmIHNlbGYuY2FfY2VydCBpcyBub3QgTm9uZToKLSsgICAgICAgICAgICBpZiBv cy5wYXRoLmV4aXN0cyhzZWxmLmNhX2NlcnQpOgotKyAgICAgICAgICAgICAgICBjLnNldG9wdChw eWN1cmwuQ0FJTkZPLCBzZWxmLmNhX2NlcnQpCi0rICAgICAgICAgICAgZWxzZToKLSsgICAgICAg ICAgICAgICAgc2VsZi5sb2cud2FybmluZygiTWlzc2luZyBjZXJ0aWZpY2F0ZTogJXMiLCBzZWxm LmNhX2NlcnQpCi0gCi0tICAgICAgICAgICAgYy5zZXRvcHQocHljdXJsLkhUVFBBVVRILCBweWN1 cmwuSFRUUEFVVEhfR1NTTkVHT1RJQVRFKQotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5V U0VSUFdELCAnOicpCi0rICAgICAgICBjLnNldG9wdChweWN1cmwuSFRUUEFVVEgsIHB5Y3VybC5I VFRQQVVUSF9HU1NORUdPVElBVEUpCi0rICAgICAgICBjLnNldG9wdChweWN1cmwuVVNFUlBXRCwg JzonKQotIAotKyAgICAgICAgd2l0aCBpby5CeXRlc0lPKCkgYXMgYnVmOgotKyAgICAgICAgICAg IGMuc2V0b3B0KHB5Y3VybC5XUklURUZVTkNUSU9OLCBidWYud3JpdGUpCi0gICAgICAgICAgICAg dHJ5OgotICAgICAgICAgICAgICAgICBjLnBlcmZvcm0oKQotICAgICAgICAgICAgICAgICBzdGF0 dXMgPSBjLmdldGluZm8ocHljdXJsLlJFU1BPTlNFX0NPREUpCi0tLSAKLTIuNDMuMAotCgpkaWZm IC0tZ2l0IGEvMDAyOC1Mb29rYXNpZGUtY2FjaGUtb3BlcmF0aW9ucy1yZXRyaWVzLnBhdGNoIGIv MDAyOC1Mb29rYXNpZGUtY2FjaGUtb3BlcmF0aW9ucy1yZXRyaWVzLnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCA4MmM5OGNkLi4wMDAwMDAwCi0tLSBhLzAwMjgtTG9va2FzaWRl LWNhY2hlLW9wZXJhdGlvbnMtcmV0cmllcy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDI3OCAr MCwwIEBACi1Gcm9tIDNhOTYyOTNkMjQ3OWE3NTM0OGY0MjQ4MDYwMjhjOWI2NDBhZmYzMWMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQu Y29tPgotRGF0ZTogVHVlLCAyMiBBdWcgMjAyMyAxNDo0ODowMiArMDIwMAotU3ViamVjdDogW1BB VENIIDA3LzE3XSBMb29rYXNpZGUgY2FjaGUgb3BlcmF0aW9ucyByZXRyaWVzCi0KLUJvdGggdXBs b2FkIGFuZCBkb3dubG9hZCBuZXR3b3JrIG9wZXJhdGlvbnMgbWlnaHQgZmFpbAotYW5kIGluIHRo aXMgY2FzZSwgYSByZXRyeSBtZWNoYW5pc20gd2FzIGltcGxlbWVudGVkLgotSW4gY2FzZSBvZiBm YWlsdXJlLCB0aGVyZSBpcyBhIGRlbGF5IGFuZCBhbm90aGVyIGF0dGVtcHQocykuCi1EZWxheXMg YXJlIGluY3JlYXNpbmcgd2l0aCBldmVyeSBhdHRlbXB0LgotCi1KSVJBOiBSSEVMQ01QLTExMjEw Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0tLS0K LSBweXJwa2cvbG9va2FzaWRlLnB5ICAgICB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tCi0gdGVzdHMvdGVzdF9sb29rYXNpZGUucHkgfCAgMTIgKystLQotIDIg ZmlsZXMgY2hhbmdlZCwgODkgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9weXJwa2cvbG9va2FzaWRlLnB5IGIvcHlycGtnL2xvb2thc2lkZS5weQotaW5kZXgg Zjk0ZmZkYi4uMDFlZWU0YSAxMDA2NDQKLS0tLSBhL3B5cnBrZy9sb29rYXNpZGUucHkKLSsrKyBi L3B5cnBrZy9sb29rYXNpZGUucHkKLUBAIC0xNCwxMSArMTQsMTMgQEAgd2F5IGl0IGlzIGRvbmUg YnkgRmVkb3JhLCBSSEVMLCBhbmQgb3RoZXIgZGlzdHJpYnV0aW9ucyBtYWludGFpbmVycy4KLSAi IiIKLSAKLSAKLStpbXBvcnQgZnVuY3Rvb2xzCi0gaW1wb3J0IGhhc2hsaWIKLSBpbXBvcnQgaW8K LSBpbXBvcnQgbG9nZ2luZwotIGltcG9ydCBvcwotIGltcG9ydCBzeXMKLStpbXBvcnQgdGltZQot IAotIGltcG9ydCBweWN1cmwKLSBpbXBvcnQgc2l4Ci1AQCAtMzEsNyArMzMsNyBAQCBmcm9tIC5l cnJvcnMgaW1wb3J0IChBbHJlYWR5VXBsb2FkZWRFcnJvciwgRG93bmxvYWRFcnJvciwgSW52YWxp ZEhhc2hUeXBlLAotIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9iamVjdCk6Ci0gICAgICIiIkEg Y2xhc3MgdG8gaW50ZXJhY3Qgd2l0aCBhIENHSS1iYXNlZCBsb29rYXNpZGUgY2FjaGUiIiIKLSAg ICAgZGVmIF9faW5pdF9fKHNlbGYsIGhhc2h0eXBlLCBkb3dubG9hZF91cmwsIHVwbG9hZF91cmws Ci0tICAgICAgICAgICAgICAgICBjbGllbnRfY2VydD1Ob25lLCBjYV9jZXJ0PU5vbmUpOgotKyAg ICAgICAgICAgICAgICAgY2xpZW50X2NlcnQ9Tm9uZSwgY2FfY2VydD1Ob25lLCBhdHRlbXB0cz1O b25lLCBkZWxheT1Ob25lKToKLSAgICAgICAgICIiIkNvbnN0cnVjdG9yCi0gCi0gICAgICAgICA6 cGFyYW0gc3RyIGhhc2h0eXBlOiBUaGUgaGFzaCBhbGdvcml0aG0gdG8gdXNlIGZvciB1cGxvYWRz LiAoZS5nICdtZDUnKQotQEAgLTQ1LDEyICs0NywxOCBAQCBjbGFzcyBDR0lMb29rYXNpZGVDYWNo ZShvYmplY3QpOgotICAgICAgICAgICAgIHVzZSBmb3IgSFRUUFMgY29ubmV4aW9ucy4gKGUuZyBp ZiB0aGUgc2VydmVyIGNlcnRpZmljYXRlIGlzCi0gICAgICAgICAgICAgc2VsZi1zaWduZWQuIEl0 IGRlZmF1bHRzIHRvIE5vbmUsIGluIHdoaWNoIGNhc2UgdGhlIHN5c3RlbSBDQQotICAgICAgICAg ICAgIGJ1bmRsZSBpcyB1c2VkLgotKyAgICAgICAgOnBhcmFtIGludCBhdHRlbXB0czogcmVwZWF0 IG5ldHdvcmsgb3BlcmF0aW9ucyBhZnRlciBmYWlsdXJlLiBUaGUgcGFyYW0KLSsgICAgICAgICAg ICBzYXlzIGhvdyBtYW55IHRyaWVzIHRvIGRvLiBOb25lID0gc2luZ2xlIGF0dGVtcHQgLyBuby1y ZXRyeWluZwotKyAgICAgICAgOnBhcmFtIGludCBkZWxheTogSW5pdGlhbCBkZWxheSBiZXR3ZWVu IG5ldHdvcmsgb3BlcmF0aW9uIGF0dGVtcHRzLgotKyAgICAgICAgICAgIEVhY2ggYXR0ZW1wdCBk b3VibGVzIHRoZSBwcmV2aW91cyBkZWxheSB2YWx1ZS4gSW4gc2Vjb25kcy4KLSAgICAgICAgICIi IgotICAgICAgICAgc2VsZi5oYXNodHlwZSA9IGhhc2h0eXBlCi0gICAgICAgICBzZWxmLmRvd25s b2FkX3VybCA9IGRvd25sb2FkX3VybAotICAgICAgICAgc2VsZi51cGxvYWRfdXJsID0gdXBsb2Fk X3VybAotICAgICAgICAgc2VsZi5jbGllbnRfY2VydCA9IGNsaWVudF9jZXJ0Ci0gICAgICAgICBz ZWxmLmNhX2NlcnQgPSBjYV9jZXJ0Ci0rICAgICAgICBzZWxmLmF0dGVtcHRzID0gYXR0ZW1wdHMg aWYgYXR0ZW1wdHMgaXMgbm90IE5vbmUgYW5kIGF0dGVtcHRzID4gMSBlbHNlIDEKLSsgICAgICAg IHNlbGYuZGVsYXlfYmV0d2Vlbl9hdHRlbXB0cyA9IGRlbGF5IGlmIGRlbGF5IGlzIG5vdCBOb25l IGFuZCBkZWxheSA+PSAwIGVsc2UgMTUKLSAKLSAgICAgICAgIHNlbGYubG9nID0gbG9nZ2luZy5n ZXRMb2dnZXIoX19uYW1lX18pCi0gCi1AQCAtMTcwLDIwICsxNzgsMTMgQEAgY2xhc3MgQ0dJTG9v a2FzaWRlQ2FjaGUob2JqZWN0KToKLSAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5QUk9HUkVTU0ZV TkNUSU9OLCBzZWxmLnByaW50X3Byb2dyZXNzKQotICAgICAgICAgYy5zZXRvcHQocHljdXJsLk9Q VF9GSUxFVElNRSwgVHJ1ZSkKLSAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5MT1dfU1BFRURfTElN SVQsIDEwMDApCi0tICAgICAgICBjLnNldG9wdChweWN1cmwuTE9XX1NQRUVEX1RJTUUsIDMwMCkK LSsgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5MT1dfU1BFRURfVElNRSwgNjApCi0gICAgICAgICBj LnNldG9wdChweWN1cmwuRk9MTE9XTE9DQVRJT04sIDEpCi0tICAgICAgICB3aXRoIG9wZW4ob3V0 ZmlsZSwgJ3diJykgYXMgZjoKLS0gICAgICAgICAgICBjLnNldG9wdChweWN1cmwuV1JJVEVEQVRB LCBmKQotLSAgICAgICAgICAgIHRyeToKLS0gICAgICAgICAgICAgICAgYy5wZXJmb3JtKCkKLS0g ICAgICAgICAgICAgICAgdHN0YW1wID0gYy5nZXRpbmZvKHB5Y3VybC5JTkZPX0ZJTEVUSU1FKQot LSAgICAgICAgICAgICAgICBzdGF0dXMgPSBjLmdldGluZm8ocHljdXJsLlJFU1BPTlNFX0NPREUp Ci0tCi0tICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgotLSAgICAgICAgICAgICAg ICByYWlzZSBEb3dubG9hZEVycm9yKGUpCi0gCi0tICAgICAgICAgICAgZmluYWxseToKLS0gICAg ICAgICAgICAgICAgYy5jbG9zZSgpCi0rICAgICAgICAjIGNhbGwgcmV0cnkgbWV0aG9kIGRpcmVj dGx5IGluc3RlYWQgb2YgQHJldHJ5IGRlY29yYXRvciAtIHRoaXMgYXBwcm9hY2ggYWxsb3dzIHBh c3NpbmcKLSsgICAgICAgICMgb2JqZWN0J3MgaW50ZXJuYWwgdmFyaWFibGVzIGludG8gdGhlIHJl dHJ5IG1ldGhvZAotKyAgICAgICAgc3RhdHVzLCB0c3RhbXAgPSBzZWxmLnJldHJ5KHJhaXNlcz1E b3dubG9hZEVycm9yKShzZWxmLnJldHJ5X2Rvd25sb2FkKShjLCBvdXRmaWxlKQotKyAgICAgICAg Yy5jbG9zZSgpCi0gCi0gICAgICAgICAjIEdldCBiYWNrIGEgbmV3IGxpbmUsIGFmdGVyIGRpc3Bs YXlpbmcgdGhlIGRvd25sb2FkIHByb2dyZXNzCi0gICAgICAgICBpZiBzeXMuc3Rkb3V0LmlzYXR0 eSgpOgotQEAgLTIyMCwxMyArMjIxLDggQEAgY2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGUob2JqZWN0 KToKLSAgICAgICAgIGMuc2V0b3B0KHB5Y3VybC5OT0JPRFksIFRydWUpCi0gICAgICAgICBjLnNl dG9wdChweWN1cmwuRk9MTE9XTE9DQVRJT04sIDEpCi0gCi0tICAgICAgICB0cnk6Ci0tICAgICAg ICAgICAgYy5wZXJmb3JtKCkKLS0gICAgICAgICAgICBzdGF0dXMgPSBjLmdldGluZm8ocHljdXJs LlJFU1BPTlNFX0NPREUpCi0tICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Ci0tICAgICAg ICAgICAgcmFpc2UgRG93bmxvYWRFcnJvcihlKQotLSAgICAgICAgZmluYWxseToKLS0gICAgICAg ICAgICBjLmNsb3NlKCkKLSsgICAgICAgIHN0YXR1cyA9IHNlbGYucmV0cnkocmFpc2VzPURvd25s b2FkRXJyb3IpKHNlbGYucmV0cnlfcmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQpKGMpCi0rICAgICAg ICBjLmNsb3NlKCkKLSAKLSAgICAgICAgIGlmIHN0YXR1cyAhPSAyMDA6Ci0gICAgICAgICAgICAg c2VsZi5sb2cuZGVidWcoJ1VuYXZhaWxhYmxlIGZpbGUgXCclc1wnIGF0ICVzJyAlIChmaWxlbmFt ZSwgdXJsKSkKLUBAIC0yNzUsMTkgKzI3MSw4IEBAIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9i amVjdCk6Ci0gICAgICAgICBjLnNldG9wdChweWN1cmwuSFRUUEFVVEgsIHB5Y3VybC5IVFRQQVVU SF9HU1NORUdPVElBVEUpCi0gICAgICAgICBjLnNldG9wdChweWN1cmwuVVNFUlBXRCwgJzonKQot IAotLSAgICAgICAgd2l0aCBpby5CeXRlc0lPKCkgYXMgYnVmOgotLSAgICAgICAgICAgIGMuc2V0 b3B0KHB5Y3VybC5XUklURUZVTkNUSU9OLCBidWYud3JpdGUpCi0tICAgICAgICAgICAgdHJ5Ogot LSAgICAgICAgICAgICAgICBjLnBlcmZvcm0oKQotLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBj LmdldGluZm8ocHljdXJsLlJFU1BPTlNFX0NPREUpCi0tCi0tICAgICAgICAgICAgZXhjZXB0IEV4 Y2VwdGlvbiBhcyBlOgotLSAgICAgICAgICAgICAgICByYWlzZSBVcGxvYWRFcnJvcihlKQotLQot LSAgICAgICAgICAgIGZpbmFsbHk6Ci0tICAgICAgICAgICAgICAgIGMuY2xvc2UoKQotLQotLSAg ICAgICAgICAgIG91dHB1dCA9IGJ1Zi5nZXR2YWx1ZSgpLnN0cmlwKCkKLSsgICAgICAgIHN0YXR1 cywgb3V0cHV0ID0gc2VsZi5yZXRyeShyYWlzZXM9VXBsb2FkRXJyb3IpKHNlbGYucmV0cnlfcmVt b3RlX2ZpbGVfZXhpc3RzKShjKQotKyAgICAgICAgYy5jbG9zZSgpCi0gCi0gICAgICAgICBpZiBz dGF0dXMgIT0gMjAwOgotICAgICAgICAgICAgIHNlbGYucmFpc2VfdXBsb2FkX2Vycm9yKHN0YXR1 cykKLUBAIC0zNjMsMTkgKzM0OCw4IEBAIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9iamVjdCk6 Ci0gICAgICAgICBjLnNldG9wdChweWN1cmwuSFRUUEFVVEgsIHB5Y3VybC5IVFRQQVVUSF9HU1NO RUdPVElBVEUpCi0gICAgICAgICBjLnNldG9wdChweWN1cmwuVVNFUlBXRCwgJzonKQotIAotLSAg ICAgICAgd2l0aCBpby5CeXRlc0lPKCkgYXMgYnVmOgotLSAgICAgICAgICAgIGMuc2V0b3B0KHB5 Y3VybC5XUklURUZVTkNUSU9OLCBidWYud3JpdGUpCi0tICAgICAgICAgICAgdHJ5OgotLSAgICAg ICAgICAgICAgICBjLnBlcmZvcm0oKQotLSAgICAgICAgICAgICAgICBzdGF0dXMgPSBjLmdldGlu Zm8ocHljdXJsLlJFU1BPTlNFX0NPREUpCi0tCi0tICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biBhcyBlOgotLSAgICAgICAgICAgICAgICByYWlzZSBVcGxvYWRFcnJvcihlKQotLQotLSAgICAg ICAgICAgIGZpbmFsbHk6Ci0tICAgICAgICAgICAgICAgIGMuY2xvc2UoKQotLQotLSAgICAgICAg ICAgIG91dHB1dCA9IGJ1Zi5nZXR2YWx1ZSgpLnN0cmlwKCkKLSsgICAgICAgIHN0YXR1cywgb3V0 cHV0ID0gc2VsZi5yZXRyeShyYWlzZXM9VXBsb2FkRXJyb3IpKHNlbGYucmV0cnlfdXBsb2FkKShj KQotKyAgICAgICAgYy5jbG9zZSgpCi0gCi0gICAgICAgICAjIEdldCBiYWNrIGEgbmV3IGxpbmUs IGFmdGVyIGRpc3BsYXlpbmcgdGhlIGRvd25sb2FkIHByb2dyZXNzCi0gICAgICAgICBpZiBzeXMu c3Rkb3V0LmlzYXR0eSgpOgotQEAgLTM4NywzICszNjEsNjYgQEAgY2xhc3MgQ0dJTG9va2FzaWRl Q2FjaGUob2JqZWN0KToKLSAKLSAgICAgICAgIGlmIG91dHB1dDoKLSAgICAgICAgICAgICBzZWxm LmxvZy5kZWJ1ZyhvdXRwdXQpCi0rCi0rICAgIGRlZiByZXRyeV9kb3dubG9hZChzZWxmLCBjdXJs LCBvdXRmaWxlKToKLSsgICAgICAgIHdpdGggb3BlbihvdXRmaWxlLCAnd2InKSBhcyBmOgotKyAg ICAgICAgICAgIGN1cmwuc2V0b3B0KHB5Y3VybC5XUklURURBVEEsIGYpCi0rICAgICAgICAgICAg Y3VybC5wZXJmb3JtKCkKLSsgICAgICAgICAgICB0c3RhbXAgPSBjdXJsLmdldGluZm8ocHljdXJs LklORk9fRklMRVRJTUUpCi0rICAgICAgICAgICAgc3RhdHVzID0gY3VybC5nZXRpbmZvKHB5Y3Vy bC5SRVNQT05TRV9DT0RFKQotKyAgICAgICAgcmV0dXJuIHN0YXR1cywgdHN0YW1wCi0rCi0rICAg IGRlZiByZXRyeV9yZW1vdGVfZmlsZV9leGlzdHNfaGVhZChzZWxmLCBjdXJsKToKLSsgICAgICAg IGN1cmwucGVyZm9ybSgpCi0rICAgICAgICBzdGF0dXMgPSBjdXJsLmdldGluZm8ocHljdXJsLlJF U1BPTlNFX0NPREUpCi0rICAgICAgICByZXR1cm4gc3RhdHVzCi0rCi0rICAgIGRlZiByZXRyeV9y ZW1vdGVfZmlsZV9leGlzdHMoc2VsZiwgY3VybCk6Ci0rICAgICAgICB3aXRoIGlvLkJ5dGVzSU8o KSBhcyBidWY6Ci0rICAgICAgICAgICAgY3VybC5zZXRvcHQocHljdXJsLldSSVRFRlVOQ1RJT04s IGJ1Zi53cml0ZSkKLSsgICAgICAgICAgICBjdXJsLnBlcmZvcm0oKQotKyAgICAgICAgICAgIHN0 YXR1cyA9IGN1cmwuZ2V0aW5mbyhweWN1cmwuUkVTUE9OU0VfQ09ERSkKLSsgICAgICAgICAgICBv dXRwdXQgPSBidWYuZ2V0dmFsdWUoKS5zdHJpcCgpCi0rICAgICAgICByZXR1cm4gc3RhdHVzLCBv dXRwdXQKLSsKLSsgICAgZGVmIHJldHJ5X3VwbG9hZChzZWxmLCBjdXJsKToKLSsgICAgICAgIHdp dGggaW8uQnl0ZXNJTygpIGFzIGJ1ZjoKLSsgICAgICAgICAgICBjdXJsLnNldG9wdChweWN1cmwu V1JJVEVGVU5DVElPTiwgYnVmLndyaXRlKQotKyAgICAgICAgICAgIGN1cmwucGVyZm9ybSgpCi0r ICAgICAgICAgICAgc3RhdHVzID0gY3VybC5nZXRpbmZvKHB5Y3VybC5SRVNQT05TRV9DT0RFKQot KyAgICAgICAgICAgIG91dHB1dCA9IGJ1Zi5nZXR2YWx1ZSgpLnN0cmlwKCkKLSsgICAgICAgIHJl dHVybiBzdGF0dXMsIG91dHB1dAotKwotKyAgICBkZWYgcmV0cnkoc2VsZiwgYXR0ZW1wdHM9Tm9u ZSwgZGVsYXlfYmV0d2Vlbl9hdHRlbXB0cz1Ob25lLCB3YWl0X29uPXB5Y3VybC5lcnJvciwgcmFp c2VzPU5vbmUpOgotKyAgICAgICAgIiIiQSBkZWNvcmF0b3IgdGhhdCBhbGxvd3MgdG8gcmV0cnkg YSBzZWN0aW9uIG9mIGNvZGUgdW50aWwgc3VjY2VzcyBvciBjb3VudGVyIGVsYXBzZXMKLSsgICAg ICAgICIiIgotKwotKyAgICAgICAgZGVmIHdyYXBwZXIoZnVuY3Rpb24pOgotKyAgICAgICAgICAg IEBmdW5jdG9vbHMud3JhcHMoZnVuY3Rpb24pCi0rICAgICAgICAgICAgZGVmIGlubmVyKCphcmdz LCAqKmt3YXJncyk6Ci0rCi0rICAgICAgICAgICAgICAgIGF0dGVtcHRzX2FsbCA9IGF0dGVtcHRz IG9yIHNlbGYuYXR0ZW1wdHMKLSsgICAgICAgICAgICAgICAgYXR0ZW1wdHNfbGVmdCA9IGF0dGVt cHRzX2FsbAotKyAgICAgICAgICAgICAgICBkZWxheSA9IGRlbGF5X2JldHdlZW5fYXR0ZW1wdHMg b3Igc2VsZi5kZWxheV9iZXR3ZWVuX2F0dGVtcHRzCi0rICAgICAgICAgICAgICAgIHdoaWxlIGF0 dGVtcHRzX2xlZnQgPiAwOgotKyAgICAgICAgICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiBmdW5jdGlvbigqYXJncywgKiprd2FyZ3MpCi0rICAgICAgICAg ICAgICAgICAgICBleGNlcHQgd2FpdF9vbiBhcyBlOgotKyAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYubG9nLndhcm4oIk5ldHdvcmsgZXJyb3I6ICVzIiAlIChlKSkKLSsgICAgICAgICAgICAg ICAgICAgICAgICBhdHRlbXB0c19sZWZ0IC09IDEKLSsgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmxvZy5kZWJ1ZygiQXR0ZW1wdCAlZC8lZCBoYXMgZmFpbGVkLiIKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAlIChhdHRlbXB0c19hbGwgLSBhdHRlbXB0c19sZWZ0 LCBhdHRlbXB0c19hbGwpKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIGF0dGVtcHRzX2xl ZnQ6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9nLmluZm8oIlRoZSBvcGVy YXRpb24gd2lsbCBiZSByZXRyaWVkIGluICVkcy4iICUgKGRlbGF5KSkKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdGltZS5zbGVlcChkZWxheSkKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGVsYXkgKj0gMgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZy5p bmZvKCJSZXRyeWluZyAuLi4iKQotKyAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJhaXNlcyBpcyBOb25lOgotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmFpc2UgICMgVGhpcyByZS1yYWlzZXMgdGhlIGxhc3QgZXhj ZXB0aW9uLgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlOgotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmFpc2UgcmFpc2VzKGUpCi0rCi0rICAgICAgICAgICAgcmV0 dXJuIGlubmVyCi0rCi0rICAgICAgICByZXR1cm4gd3JhcHBlcgotZGlmZiAtLWdpdCBhL3Rlc3Rz L3Rlc3RfbG9va2FzaWRlLnB5IGIvdGVzdHMvdGVzdF9sb29rYXNpZGUucHkKLWluZGV4IDM1ZDM0 OTkuLjJmZTFiZGIgMTAwNjQ0Ci0tLS0gYS90ZXN0cy90ZXN0X2xvb2thc2lkZS5weQotKysrIGIv dGVzdHMvdGVzdF9sb29rYXNpZGUucHkKLUBAIC0xNzUsNyArMTc1LDcgQEAgY2xhc3MgQ0dJTG9v a2FzaWRlQ2FjaGVUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgcmV0 dXJuIDIwMCBpZiBpbmZvID09IHB5Y3VybC5SRVNQT05TRV9DT0RFIGVsc2UgMAotIAotICAgICAg ICAgZGVmIG1vY2tfcGVyZm9ybSgpOgotLSAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVu YW1lKSBhcyBmOgotKyAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBh cyBmOgotICAgICAgICAgICAgICAgICBjdXJsb3B0c1tweWN1cmwuV1JJVEVEQVRBXS53cml0ZShm LnJlYWQoKSkKLSAKLSAgICAgICAgIGRlZiBtb2NrX3NldG9wdChvcHQsIHZhbHVlKToKLUBAIC0y MDAsNyArMjAwLDcgQEAgY2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGVUZXN0Q2FzZSh1bml0dGVzdC5U ZXN0Q2FzZSk6Ci0gICAgIEBtb2NrLnBhdGNoKCdweXJwa2cubG9va2FzaWRlLnB5Y3VybC5DdXJs JykKLSAgICAgZGVmIHRlc3RfZG93bmxvYWRfZmFpbGVkKHNlbGYsIG1vY2tfY3VybCk6Ci0gICAg ICAgICBjdXJsID0gbW9ja19jdXJsLnJldHVybl92YWx1ZQotLSAgICAgICAgY3VybC5wZXJmb3Jt LnNpZGVfZWZmZWN0ID0gRXhjZXB0aW9uKAotKyAgICAgICAgY3VybC5wZXJmb3JtLnNpZGVfZWZm ZWN0ID0gcHljdXJsLmVycm9yKAotICAgICAgICAgICAgICdDb3VsZCBub3QgcmVzb2x2ZSBob3N0 OiBleGFtcGxlLmNvbScpCi0gCi0gICAgICAgICB3aXRoIG9wZW4oc2VsZi5maWxlbmFtZSwgJ3di JykgYXMgZjoKLUBAIC0yMTksNyArMjE5LDcgQEAgY2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGVUZXN0 Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAgICAgICAgICAgcmV0dXJuIDUwMCBpZiBpbmZv ID09IHB5Y3VybC5SRVNQT05TRV9DT0RFIGVsc2UgMAotIAotICAgICAgICAgZGVmIG1vY2tfcGVy Zm9ybSgpOgotLSAgICAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lKSBhcyBmOgotKyAg ICAgICAgICAgIHdpdGggb3BlbihzZWxmLmZpbGVuYW1lLCAicmIiKSBhcyBmOgotICAgICAgICAg ICAgICAgICBjdXJsb3B0c1tweWN1cmwuV1JJVEVEQVRBXS53cml0ZShmLnJlYWQoKSkKLSAKLSAg ICAgICAgIGRlZiBtb2NrX3NldG9wdChvcHQsIHZhbHVlKToKLUBAIC00MjQsNyArNDI0LDcgQEAg Y2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGVUZXN0Q2FzZSh1bml0dGVzdC5UZXN0Q2FzZSk6Ci0gICAg IEBtb2NrLnBhdGNoKCdweXJwa2cubG9va2FzaWRlLnB5Y3VybC5DdXJsJykKLSAgICAgZGVmIHRl c3RfcmVtb3RlX2ZpbGVfZXhpc3RzX2NoZWNrX2ZhaWxlZChzZWxmLCBtb2NrX2N1cmwpOgotICAg ICAgICAgY3VybCA9IG1vY2tfY3VybC5yZXR1cm5fdmFsdWUKLS0gICAgICAgIGN1cmwucGVyZm9y bS5zaWRlX2VmZmVjdCA9IEV4Y2VwdGlvbigKLSsgICAgICAgIGN1cmwucGVyZm9ybS5zaWRlX2Vm ZmVjdCA9IHB5Y3VybC5lcnJvcigKLSAgICAgICAgICAgICAnQ291bGQgbm90IHJlc29sdmUgaG9z dDogZXhhbXBsZS5jb20nKQotIAotICAgICAgICAgbGMgPSBDR0lMb29rYXNpZGVDYWNoZSgnXycs ICdfJywgJ18nKQotQEAgLTQ1Miw3ICs0NTIsNyBAQCBjbGFzcyBDR0lMb29rYXNpZGVDYWNoZVRl c3RDYXNlKHVuaXR0ZXN0LlRlc3RDYXNlKToKLSAgICAgQG1vY2sucGF0Y2goJ3B5cnBrZy5sb29r YXNpZGUucHljdXJsLkN1cmwnKQotICAgICBkZWYgdGVzdF9yZW1vdGVfZmlsZV9leGlzdHNfY2hl Y2tfdW5leHBlY3RlZF9lcnJvcihzZWxmLCBtb2NrX2N1cmwpOgotICAgICAgICAgZGVmIG1vY2tf cGVyZm9ybSgpOgotLSAgICAgICAgICAgIGN1cmxvcHRzW3B5Y3VybC5XUklURUZVTkNUSU9OXSgn U29tZXRoaW5nIHVuZXhwZWN0ZWQnKQotKyAgICAgICAgICAgIGN1cmxvcHRzW3B5Y3VybC5XUklU RUZVTkNUSU9OXShiJ1NvbWV0aGluZyB1bmV4cGVjdGVkJykKLSAKLSAgICAgICAgIGRlZiBtb2Nr X3NldG9wdChvcHQsIHZhbHVlKToKLSAgICAgICAgICAgICBjdXJsb3B0c1tvcHRdID0gdmFsdWUK LUBAIC01OTAsNyArNTkwLDcgQEAgY2xhc3MgQ0dJTG9va2FzaWRlQ2FjaGVUZXN0Q2FzZSh1bml0 dGVzdC5UZXN0Q2FzZSk6Ci0gICAgIEBtb2NrLnBhdGNoKCdweXJwa2cubG9va2FzaWRlLnB5Y3Vy bC5DdXJsJykKLSAgICAgZGVmIHRlc3RfdXBsb2FkX2ZhaWxlZChzZWxmLCBtb2NrX2N1cmwpOgot ICAgICAgICAgY3VybCA9IG1vY2tfY3VybC5yZXR1cm5fdmFsdWUKLS0gICAgICAgIGN1cmwucGVy Zm9ybS5zaWRlX2VmZmVjdCA9IEV4Y2VwdGlvbigKLSsgICAgICAgIGN1cmwucGVyZm9ybS5zaWRl X2VmZmVjdCA9IHB5Y3VybC5lcnJvcigKLSAgICAgICAgICAgICAnQ291bGQgbm90IHJlc29sdmUg aG9zdDogZXhhbXBsZS5jb20nKQotIAotICAgICAgICAgbGMgPSBDR0lMb29rYXNpZGVDYWNoZSgn XycsICdfJywgJ18nKQotLS0gCi0yLjQzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMjktTWFrZS1sb29r YXNpZGUtY2FjaGUtcmV0cmllcy1jb25maWd1cmFibGUucGF0Y2ggYi8wMDI5LU1ha2UtbG9va2Fz aWRlLWNhY2hlLXJldHJpZXMtY29uZmlndXJhYmxlLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAppbmRleCA2MWZjNDFjLi4wMDAwMDAwCi0tLSBhLzAwMjktTWFrZS1sb29rYXNpZGUtY2Fj aGUtcmV0cmllcy1jb25maWd1cmFibGUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDggKzAs MCBAQAotRnJvbSAwOGNlYmU1ZmFlNDI2YzExYjUxZTY0NTc1NGI4N2U0ZWM1NzM3ZWYzIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNv bT4KLURhdGU6IFR1ZSwgMjIgQXVnIDIwMjMgMjI6MjI6MDMgKzAyMDAKLVN1YmplY3Q6IFtQQVRD SCAwOC8xN10gTWFrZSBsb29rYXNpZGUgY2FjaGUgcmV0cmllcyBjb25maWd1cmFibGUKLQotVGhl IG51bWJlciBvZiBhdHRlbXB0cyBmb3IgbG9va2FzaWRlIGNhY2hlIG5ldHdvcmsgb3BlcmF0aW9u cyBpcyBub3cKLWNvbmZpZ3VyYWJsZSAtIHRoZXJlIGFyZSBuZXcga2V5cyAnbG9va2FzaWRlX2F0 dGVtcHRzJwotYW5kICdsb29rYXNpZGVfZGVsYXknIGluIHRoZSBjb25maWd1cmF0aW9uLgotVGhl IEZvcm1lciBleHByZXNzZXMgYSBtYXhpbXVtIG51bWJlciBvZiBhdHRlbXB0cyB0byB0cnkgdGhl IG9wZXJhdGlvbi4KLScwJyBvciAnMScgaXMgZm9yIGEgc2luZ2xlIHRyeSAobm8tcmV0cnkpLgot VGhlIGxhdHRlciBtZWFucyBhbiBpbml0aWFsIGRlbGF5IGJldHdlZW4gbmV0d29yayBvcGVyYXRp b24gYXR0ZW1wdHMuCi1FYWNoIGF0dGVtcHQgZG91YmxlcyB0aGUgcHJldmlvdXMgZGVsYXkgdmFs dWUuIEluIHNlY29uZHMuCi0KLUpJUkE6IFJIRUxDTVAtMTEyMTAKLQotU2lnbmVkLW9mZi1ieTog T25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9fX2luaXRfXy5w eSB8IDEwICsrKysrKysrLS0KLSBweXJwa2cvY2xpLnB5ICAgICAgfCAzNCArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystCi0gMiBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCsp LCAzIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHly cGtnL19faW5pdF9fLnB5Ci1pbmRleCBmNjlmMmNlLi41OTI4ZDQ3IDEwMDY0NAotLS0tIGEvcHly cGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19pbml0X18ucHkKLUBAIC0xMTAsNyArMTEw LDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICAgICAgIGJ1aWxkX2Ns aWVudCwgdXNlcj1Ob25lLAotICAgICAgICAgICAgICAgICAgZGlzdD1Ob25lLCB0YXJnZXQ9Tm9u ZSwgcXVpZXQ9RmFsc2UsCi0gICAgICAgICAgICAgICAgICBkaXN0Z2l0X25hbWVzcGFjZWQ9RmFs c2UsIHJlYWxtcz1Ob25lLCBsb29rYXNpZGVfbmFtZXNwYWNlZD1GYWxzZSwKLS0gICAgICAgICAg ICAgICAgIGdpdF9leGNsdWRlcz1Ob25lLCByZXN1bHRzX2Rpcj0ncm9vdCcsIGFsbG93X3ByZV9n ZW5lcmF0ZWRfc3JwbT1GYWxzZSk6Ci0rICAgICAgICAgICAgICAgICBnaXRfZXhjbHVkZXM9Tm9u ZSwgcmVzdWx0c19kaXI9J3Jvb3QnLCBhbGxvd19wcmVfZ2VuZXJhdGVkX3NycG09RmFsc2UsCi0r ICAgICAgICAgICAgICAgICBsb29rYXNpZGVfYXR0ZW1wdHM9Tm9uZSwgbG9va2FzaWRlX2RlbGF5 PU5vbmUpOgotICAgICAgICAgIiIiSW5pdCB0aGUgb2JqZWN0IGFuZCBzb21lIGNvbmZpZ3VyYXRp b24gZGV0YWlscy4iIiIKLSAKLSAgICAgICAgICMgUGF0aCB0byBvcGVyYXRlIG9uLCBtb3N0IG9m dGVuIHB3ZAotQEAgLTI0Miw2ICsyNDMsMTAgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAg ICAgICAgICMgQSBDb25maWd1cmF0aW9uIHZhbHVlIHVzZWQgaW4gJ2ltcG9ydF9zcnBtJyBjb21t YW5kIChjb21lcyBmcm9tIHRoZSBDb3ByIHRlYW0pCi0gICAgICAgICAjIElmIHByZS1nZW5lcmF0 ZWQgc3JwbXMgYXJlIGFsbG93ZWQsIGRvbid0IGNhcmUgc3BlY2ZpbGUgaXMgcHJvY2Vzc2VkIGJ5 IHJwbWF1dG9zcGVjCi0gICAgICAgICBzZWxmLmFsbG93X3ByZV9nZW5lcmF0ZWRfc3JwbSA9IGFs bG93X3ByZV9nZW5lcmF0ZWRfc3JwbQotKyAgICAgICAgIyBudW1iZXIgb2YgYXR0ZW1wdHMgZm9y IGxvb2thc2lkZSBuZXR3b3JrIG9wZXJhdGlvbnMKLSsgICAgICAgIHNlbGYubG9va2FzaWRlX2F0 dGVtcHRzID0gbG9va2FzaWRlX2F0dGVtcHRzCi0rICAgICAgICAjIGluaXRpYWwgZGVsYXkgYmV0 d2VlbiBuZXR3b3JrIG9wZXJhdGlvbiBhdHRlbXB0cy4gSW4gc2Vjb25kcy4KLSsgICAgICAgIHNl bGYubG9va2FzaWRlX2RlbGF5ID0gbG9va2FzaWRlX2RlbGF5Ci0gCi0gICAgICMgRGVmaW5lIHBy b3BlcnRpZXMgaGVyZQotICAgICAjIFByb3BlcnRpZXMgYWxsb3cgdXMgdG8gImxhenkgbG9hZCIg dmFyaW91cyBhdHRyaWJ1dGVzLCB3aGljaCBhbHNvIG1lYW5zCi1AQCAtMjYyLDcgKzI2Nyw4IEBA IGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Ci0gICAgICAgICAiIiIKLSAgICAgICAgIHJldHVybiBD R0lMb29rYXNpZGVDYWNoZSgKLSAgICAgICAgICAgICBzZWxmLmxvb2thc2lkZWhhc2gsIHNlbGYu bG9va2FzaWRlLCBzZWxmLmxvb2thc2lkZV9jZ2ksCi0tICAgICAgICAgICAgY2xpZW50X2NlcnQ9 c2VsZi5jZXJ0X2ZpbGUsIGNhX2NlcnQ9c2VsZi5jYV9jZXJ0KQotKyAgICAgICAgICAgIGNsaWVu dF9jZXJ0PXNlbGYuY2VydF9maWxlLCBjYV9jZXJ0PXNlbGYuY2FfY2VydCwKLSsgICAgICAgICAg ICBhdHRlbXB0cz1zZWxmLmxvb2thc2lkZV9hdHRlbXB0cywgZGVsYXk9c2VsZi5sb29rYXNpZGVf ZGVsYXkpCi0gCi0gICAgIEBwcm9wZXJ0eQotICAgICBkZWYgcGF0aChzZWxmKToKLWRpZmYgLS1n aXQgYS9weXJwa2cvY2xpLnB5IGIvcHlycGtnL2NsaS5weQotaW5kZXggMWJkNzk3OS4uMTYyOThm MCAxMDA2NDQKLS0tLSBhL3B5cnBrZy9jbGkucHkKLSsrKyBiL3B5cnBrZy9jbGkucHkKLUBAIC0y NjEsNyArMjYxLDkgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVhbG1zPXJlYWxtcywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsb29rYXNpZGVfbmFtZXNwYWNlZD1sYV9uYW1lc3BhY2Vk LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdF9leGNsdWRlcz1n aXRfZXhjbHVkZXMsCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVz dWx0c19kaXI9cmVzdWx0c19kaXIKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXN1bHRzX2Rpcj1yZXN1bHRzX2RpciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBsb29rYXNpZGVfYXR0ZW1wdHM9c2VsZi5sb29rYXNpZGVfYXR0ZW1wdHMs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9va2FzaWRlX2RlbGF5 PXNlbGYubG9va2FzaWRlX2RlbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKQotIAotICAgICAgICAgaWYgc2VsZi5hcmdzLnJlcG9fbmFtZToKLUBAIC0zMDg3LDMg KzMwODksMzMgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6Ci0gCi0gICAgIGRlZiBwcmVfcHVz aF9jaGVjayhzZWxmKToKLSAgICAgICAgIHNlbGYuY21kLnByZV9wdXNoX2NoZWNrKHNlbGYuYXJn cy5yZWYpCi0rCi0rICAgIEBwcm9wZXJ0eQotKyAgICBkZWYgbG9va2FzaWRlX2F0dGVtcHRzKHNl bGYpOgotKyAgICAgICAgIiIibG9hZHMgcGFyYW1ldGVyICdsb29rYXNpZGVfYXR0ZW1wdHMnIGZy b20gdGhlIGNvbmZpZyBmaWxlCi0rICAgICAgICAiIiIKLSsgICAgICAgIHZhbCA9IE5vbmUKLSsg ICAgICAgIGlmIHNlbGYuY29uZmlnLmhhc19vcHRpb24oc2VsZi5uYW1lLCAnbG9va2FzaWRlX2F0 dGVtcHRzJyk6Ci0rICAgICAgICAgICAgdmFsID0gc2VsZi5jb25maWcuZ2V0KHNlbGYubmFtZSwg J2xvb2thc2lkZV9hdHRlbXB0cycpCi0rICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAg ICB2YWwgPSBpbnQodmFsKQotKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0rICAgICAg ICAgICAgICAgIHNlbGYubG9nLmVycm9yKCJFcnJvcjogVGhlIGNvbmZpZyB2YWx1ZSAnbG9va2Fz aWRlX2F0dGVtcHRzJyAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGQg YmUgYW4gaW50ZWdlci4iKQotKyAgICAgICAgICAgICAgICB2YWwgPSBOb25lCi0rICAgICAgICBy ZXR1cm4gdmFsCi0rCi0rICAgIEBwcm9wZXJ0eQotKyAgICBkZWYgbG9va2FzaWRlX2RlbGF5KHNl bGYpOgotKyAgICAgICAgIiIibG9hZHMgcGFyYW1ldGVyICdsb29rYXNpZGVfZGVsYXknIGZyb20g dGhlIGNvbmZpZyBmaWxlCi0rICAgICAgICAiIiIKLSsgICAgICAgIHZhbCA9IE5vbmUKLSsgICAg ICAgIGlmIHNlbGYuY29uZmlnLmhhc19vcHRpb24oc2VsZi5uYW1lLCAnbG9va2FzaWRlX2RlbGF5 Jyk6Ci0rICAgICAgICAgICAgdmFsID0gc2VsZi5jb25maWcuZ2V0KHNlbGYubmFtZSwgJ2xvb2th c2lkZV9kZWxheScpCi0rICAgICAgICAgICAgdHJ5OgotKyAgICAgICAgICAgICAgICB2YWwgPSBp bnQodmFsKQotKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb246Ci0rICAgICAgICAgICAgICAg IHNlbGYubG9nLmVycm9yKCJFcnJvcjogVGhlIGNvbmZpZyB2YWx1ZSAnbG9va2FzaWRlX2RlbGF5 JyAiCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG91bGQgYmUgYW4gaW50ZWdl ci4iKQotKyAgICAgICAgICAgICAgICB2YWwgPSBOb25lCi0rICAgICAgICByZXR1cm4gdmFsCi0t LSAKLTIuNDMuMAotCgpkaWZmIC0tZ2l0IGEvMDAzMC1wa2ctaW1wb3J0LURvbi10LWRlbGV0ZS1j aGFuZ2Vsb2ctZ2VuZXJhdGVkLWJ5LXJwbWF1LnBhdGNoIGIvMDAzMC1wa2ctaW1wb3J0LURvbi10 LWRlbGV0ZS1jaGFuZ2Vsb2ctZ2VuZXJhdGVkLWJ5LXJwbWF1LnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBmM2JkOWJlLi4wMDAwMDAwCi0tLSBhLzAwMzAtcGtnLWltcG9ydC1E b24tdC1kZWxldGUtY2hhbmdlbG9nLWdlbmVyYXRlZC1ieS1ycG1hdS5wYXRjaAorKysgL2Rldi9u dWxsCkBAIC0xLDMwICswLDAgQEAKLUZyb20gMmZkYjc4MDZhYTk0N2Q0OTk3YWVhNmNiMzNmM2U4 OTNhMmI3ZDg3NiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NaXJv PTIwSHJvbj1DND04RG9rPz0gPG1pcm9AaHJvbmNvay5jej4KLURhdGU6IFRodSwgNSBPY3QgMjAy MyAxNzowMzozOSArMDIwMAotU3ViamVjdDogW1BBVENIIDA5LzE3XSAqcGtnIGltcG9ydDogRG9u J3QgZGVsZXRlIGNoYW5nZWxvZyBnZW5lcmF0ZWQgYnkKLSBgcnBtYXV0b3NwZWMgY29udmVydGAK LU1JTUUtVmVyc2lvbjogMS4wCi1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRG LTgKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKLQotU2lnbmVkLW9mZi1ieTogTWly byBIcm9uxI1vayA8bWlyb0Bocm9uY29rLmN6PgotLS0tCi0gcHlycGtnL19faW5pdF9fLnB5IHwg MiArLQotIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQotCi1k aWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRl eCA1OTI4ZDQ3Li5iMjU3ZmVjIDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysg Yi9weXJwa2cvX19pbml0X18ucHkKLUBAIC0yMDQwLDcgKzIwNDAsNyBAQCBjbGFzcyBDb21tYW5k cyhvYmplY3QpOgotICAgICAgICAgIyBub3QgYmUgcmVtb3ZlZCBieSBpbXBvcnQgY29tbWFuZC4K LSAgICAgICAgIHJlc2VydmVkX291cmZpbGVzID0gWwotICAgICAgICAgICAgICdSRUFETUUubWQn LCAnZ2F0aW5nLnlhbWwnLCAndGVzdHMvKicsICcqLnJwbWxpbnRyYycsCi0tICAgICAgICAgICAg Jy5mbWYvKicsICcqLmZtZiddCi0rICAgICAgICAgICAgJy5mbWYvKicsICcqLmZtZicsICdjaGFu Z2Vsb2cnXQotIAotICAgICAgICAgIyBHZXQgYSBsaXN0IG9mIGZpbGVzIHdlJ3JlIGN1cnJlbnRs eSB0cmFja2luZwotICAgICAgICAgb3VyZmlsZXMgPSBzZWxmLnJlcG8uZ2l0LmxzX2ZpbGVzKCku c3BsaXQoJ1xuJykKLS0tIAotMi40My4wCi0KCmRpZmYgLS1naXQgYS8wMDMxLXBrZy1pbXBvcnQt VW5kby1ycG1hdXRvc3BlYy1wcm9jZXNzaW5nLnBhdGNoIGIvMDAzMS1wa2ctaW1wb3J0LVVuZG8t cnBtYXV0b3NwZWMtcHJvY2Vzc2luZy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMmQxZjllNC4uMDAwMDAwMAotLS0gYS8wMDMxLXBrZy1pbXBvcnQtVW5kby1ycG1hdXRvc3Bl Yy1wcm9jZXNzaW5nLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYyICswLDAgQEAKLUZyb20g ZWJiNWM0YjgyY2FlYzUxNjA1NDRmZGJiMmQ1MzlmZDFiNWEzYWJmYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206ID0/VVRGLTg/cT9NaXJvPTIwSHJvbj1DND04RG9rPz0gPG1pcm9AaHJv bmNvay5jej4KLURhdGU6IFRodSwgNSBPY3QgMjAyMyAxNjo1OToyMiArMDIwMAotU3ViamVjdDog W1BBVENIIDEwLzE3XSAqcGtnIGltcG9ydDogVW5kbyBycG1hdXRvc3BlYyBwcm9jZXNzaW5nCi1N SU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUZpeGVzIGh0dHBzOi8vcGFndXJl LmlvL2ZlZHBrZy9pc3N1ZS81MjcKLQotRGVwZW5kcy1vbjogaHR0cHM6Ly9wYWd1cmUuaW8vZmVk b3JhLWluZnJhL3JwbWF1dG9zcGVjL3B1bGwtcmVxdWVzdC8zMTIKLQotU2lnbmVkLW9mZi1ieTog TWlybyBIcm9uxI1vayA8bWlyb0Bocm9uY29rLmN6PgotLS0tCi0gcHlycGtnL19faW5pdF9fLnB5 IHwgMjIgKysrKysrLS0tLS0tLQotIHB5cnBrZy91dGlscy5weSAgICB8IDc3ICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KLSAyIGZpbGVzIGNoYW5nZWQsIDc4 IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL19f aW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1pbmRleCBiMjU3ZmVjLi5mNTYyZTcxIDEw MDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0rKysgYi9weXJwa2cvX19pbml0X18ucHkK LUBAIC01Myw3ICs1Myw3IEBAIGZyb20gcHlycGtnLnNvdXJjZXMgaW1wb3J0IFNvdXJjZXNGaWxl Ci0gZnJvbSBweXJwa2cuc3BlYyBpbXBvcnQgU3BlY0ZpbGUKLSBmcm9tIHB5cnBrZy51dGlscyBp bXBvcnQgKGNhY2hlZF9wcm9wZXJ0eSwgZXh0cmFjdF9zcnBtLCBmaW5kX21lLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgaXNfZmlsZV90cmFja2VkLCBpc19sb29rYXNpZGVfZWxpZ2libGVf ZmlsZSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgIGxvZ19yZXN1bHQsIHNwZWNfZmlsZV9w cm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBsb2df cmVzdWx0LCBzcGVjX2ZpbGVfdW5kb19ycG1hdXRvc3BlYykKLSAKLSBmcm9tIC5naXRpZ25vcmUg aW1wb3J0IEdpdElnbm9yZQotIAotQEAgLTE0NzMsMTYgKzE0NzMsNiBAQCBjbGFzcyBDb21tYW5k cyhvYmplY3QpOgotICAgICAgICAgICAgICAgICAgICAgdXBsb2FkZmlsZXMuYXBwZW5kKGZpbGUp Ci0gICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgICBmaWxlcy5hcHBl bmQoZmlsZSkKLS0KLS0gICAgICAgICAgICAgICAgIyBDaGVjayBhbGwgc3BlY2ZpbGVzIGluIFNS UE0uIEF0IHRoaXMgcG9pbnQgKHRoZSAnaW1wb3J0JyBjb21tYW5kIGNhbiBydW4gdW5kZXIKLS0g ICAgICAgICAgICAgICAgIyB0aGUgZGlzdC1naXQgcmVwbyB3aXRob3V0IGFueSBzcGVjZmlsZXMg LSByaWdodCBhZnRlciBpbml0aWFsaXphdGlvbikgd2UgYXJlCi0tICAgICAgICAgICAgICAgICMg bm90IGFibGUgZGV0ZXJtaW5lIHdoaWNoIHRoZSBtYWluIHNwZWNmaWxlIGlzLgotLSAgICAgICAg ICAgICAgICBpZiBmaWxlLmVuZHN3aXRoKCcuc3BlYycpIGFuZCBub3QgZmlsZS5zdGFydHN3aXRo KCcuJykgXAotLSAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBub3Qgc2VsZi5hbGxvd19wcmVf Z2VuZXJhdGVkX3NycG0gXAotLSAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBzcGVjX2ZpbGVf cHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjKGZpbGUsIHRhcmdldF9kaXIpOgotLSAgICAgICAgICAg ICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdTUlBNIHdhcyBwcm9jZXNzZWQgYnkgcnBtYXV0b3Nw ZWMgJwotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoc3BlY2ZpbGUgInt9 IiB3YXMgYW5hbHl6ZWQpJy5mb3JtYXQoZmlsZSkpCi0tCi0gICAgICAgICBmaW5hbGx5OgotICAg ICAgICAgICAgIHNodXRpbC5ybXRyZWUodGFyZ2V0X2RpcikKLSAKLUBAIC0yMDgxLDYgKzIwNzEs MTYgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgICAgICBvcy5jaGRpcihvbGRw YXRoKQotICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcigiR290IGFuIGVycm9yIGZyb20gcnBt MmNwaW86ICVzIiAlIGVycikKLSAKLSsgICAgICAgICMgVW5kbyBycG1hdXRvc3BlYyBmcm9tIGFs bCB0aGUgc3BlYyBmaWxlcy4KLSsgICAgICAgICMgQXQgdGhpcyBwb2ludCAodGhlICdpbXBvcnQn IGNvbW1hbmQgY2FuIHJ1biB1bmRlciB0aGUgZGlzdC1naXQgcmVwbwotKyAgICAgICAgIyB3aXRo b3V0IGFueSBzcGVjZmlsZXMgLSByaWdodCBhZnRlciBpbml0aWFsaXphdGlvbikgd2UgYXJlCi0r ICAgICAgICAjIG5vdCBhYmxlIGRldGVybWluZSB3aGljaCB0aGUgbWFpbiBzcGVjZmlsZSBpcy4K LSsgICAgICAgIGlmIG5vdCBzZWxmLmFsbG93X3ByZV9nZW5lcmF0ZWRfc3JwbToKLSsgICAgICAg ICAgICBmb3IgZmlsZSBpbiBmaWxlczoKLSsgICAgICAgICAgICAgICAgaWYgZmlsZS5lbmRzd2l0 aCgnLnNwZWMnKSBhbmQgbm90IGZpbGUuc3RhcnRzd2l0aCgnLicpOgotKyAgICAgICAgICAgICAg ICAgICAgaWYgc3BlY19maWxlX3VuZG9fcnBtYXV0b3NwZWMoZmlsZSk6Ci0rICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5sb2cuZGVidWcoInJwbWF1dG9zcGVjIHByb2Nlc3NpbmcgcmVtb3Zl ZCBmcm9tIHswfSIuZm9ybWF0KGZpbGUpKQotKwotICAgICAgICAgIyBBbmQgZmluYWxseSBhZGQg YWxsIHRoZSBmaWxlcyB3ZSBrbm93IGFib3V0IChhbmQgb3VyIHN0b2NrIGZpbGVzKQotICAgICAg ICAgZm9yIGZpbGUgaW4gKCcuZ2l0aWdub3JlJywgJ3NvdXJjZXMnKToKLSAgICAgICAgICAgICBp ZiBub3Qgb3MucGF0aC5leGlzdHMoZmlsZSk6Ci1kaWZmIC0tZ2l0IGEvcHlycGtnL3V0aWxzLnB5 IGIvcHlycGtnL3V0aWxzLnB5Ci1pbmRleCAzMzM3YmRiLi5mM2M4YjI1IDEwMDY0NAotLS0tIGEv cHlycGtnL3V0aWxzLnB5Ci0rKysgYi9weXJwa2cvdXRpbHMucHkKLUBAIC0zMzYsMjIgKzMzNiw3 OSBAQCBkZWYgaXNfbG9va2FzaWRlX2VsaWdpYmxlX2ZpbGUoZmlsZV9uYW1lLCBkaXJfcGF0aD1O b25lKToKLSAgICAgcmV0dXJuIGVuY29kaW5nID09ICJiaW5hcnkiCi0gCi0gCi0tZGVmIHNwZWNf ZmlsZV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMoZmlsZV9uYW1lLCBkaXJfcGF0aD1Ob25lKToK LStkZWYgX3JlcGxhY2VfbGluZXMobGluZXMsIHN0YXJ0bGluZSwgZW5kbGluZSwgcmVwbGFjZW1l bnRfbGluZXM9Tm9uZSwgc3RyaXBfZW5kbGluZT1GYWxzZSk6Ci0rICAgIHJlcGxhY2VtZW50X2xp bmVzID0gcmVwbGFjZW1lbnRfbGluZXMgb3IgW10KLSsgICAgdHJ5OgotKyAgICAgICAgc3RhcnQg PSBsaW5lcy5pbmRleChzdGFydGxpbmUpCi0rICAgICAgICBlbmQgPSBsaW5lcy5pbmRleChlbmRs aW5lLCBzdGFydCkKLSsgICAgZXhjZXB0IFZhbHVlRXJyb3I6Ci0rICAgICAgICAjIGlmIGJvdGgg YXJlIG1pc3NpbmcsIG5vdGhpbmcgdG8gZG8sIGFsbCBnb29kCi0rICAgICAgICAjIGlmIG9ubHkg b25lIG9mIHRoZW0gaXMgcHJlc2VudCwgd2UgYmV0dGVyIG5vdCB0b3VjaCBpdAotKyAgICAgICAg cmV0dXJuIGxpbmVzLCBGYWxzZQotKyAgICBlbHNlOgotKyAgICAgICAgIyBycG1hdXRvc3BlYyBh ZGRzIGFuIGVtcHR5IGxpbmUgYWZ0ZXIgdGhlIGVuZAotKyAgICAgICAgIyB3ZSB3YW50IHRvIHJl bW92ZSBpdCwgYnV0IG9ubHkgaWYgaXQgaXMgYWN0dWFsbHkgZW1wdHkKLSsgICAgICAgIGlmIHN0 cmlwX2VuZGxpbmUgYW5kIGxpbmVzW2VuZCsxXSA9PSAiXG4iOgotKyAgICAgICAgICAgIGVuZCAr PSAxCi0rICAgICAgICBsaW5lcyA9IGxpbmVzWzpzdGFydF0gKyByZXBsYWNlbWVudF9saW5lcyAr IGxpbmVzW2VuZCsxOl0KLSsgICAgICAgIHJldHVybiBsaW5lcywgVHJ1ZQotKwotKwotK2RlZiBz cGVjX2ZpbGVfdW5kb19ycG1hdXRvc3BlYyhmaWxlX25hbWUsIGRpcl9wYXRoPU5vbmUpOgotKyAg ICAiIiIKLSsgICAgR2l2ZW4gYSBwYXRoIHRvIHNwZWNmaWxlLCB1bmRvIGNoYW5nZXMgZ2VuZXJh dGVkIGJ5IHJwbWF1dG9zcGVjLgotKyAgICBJZmYgdGhlcmUgaXMgc29tZXRoaW5nIHRvIHVuZG8s IHRoZSBzcGVjZmlsZSB3aWxsIGJlIG92ZXJ3cml0dGVuLgotKwotKyAgICBOYW1lbHk6Ci0rCi0r ICAgICAxLiBSZW1vdmVzIGV2ZXJ5dGhpbmcgYmV0d2VlbiB0aGUgZm9sbG93aW5nIGxpbmVzOgot KyAgICAgICAgICAjIyBTVEFSVDogU2V0IGJ5IHJwbWF1dG9zcGVjCi0rICAgICAgICAgICMjIEVO RDogU2V0IGJ5IHJwbWF1dG9zcGVjCi0rICAgICAyLiBSZXBsYWNlcyBldmVyeXRoaW5nIGJldHdl ZW4gdGhlIGZvbGxvd2luZyBsaW5lcyB3aXRoICVhdXRvY2hhbmdlbG9nOgotKyAgICAgICAgICAj IyBTVEFSVDogR2VuZXJhdGVkIGJ5IHJwbWF1dG9zcGVjCi0rICAgICAgICAgICMjIEVORDogR2Vu ZXJhdGVkIGJ5IHJwbWF1dG9zcGVjCi0rCi0rICAgIEJvdGggb2YgdGhlIHN0ZXBzIG9ubHkgaGFw cGVuIG9uY2UuIElmIHRoZSBzcGVjZmlsZSBjb250YWlucyBtdWx0aXBsZSBzdWNoIHNlY3Rpb25z LAotKyAgICBvbmx5IHRoZSBmaXJzdCBvbmUgaXMgcmVtb3ZlZC9yZXBsYWNlZC4KLSsKLSsgICAg VGhlIHNhdmVkIHNwZWMgZmlsZSBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBiaXQtYnktYml0IGlk ZW50aWNhbCB3aXRoIHRoZSBvcmlnaW5hbAotKyAgICBzcGVjIGZpbGUgdXNlZCBhcyBhbiBpbnB1 dCB0byBycG1hdXRvc3BlYy4KLSsgICAgSG93ZXZlciwgc3Vic2VxdWVudCByZXBlYXRlZCBjb252 ZXJzaW9ucyB0aGVyZSBhbmQgYmFjayBzaG91bGQgYmUgcXVpdGUgc3RhYmxlLgotKwotKyAgICBU aGUgcmV0dXJuIHZhbHVlIHNheXMgd2hldGhlciB0aGUgc3BlY2ZpbGUgd2FzIG92ZXJ3cml0dGVu LgotKyAgICAiIiIKLSAgICAgZmlsZV9wYXRoID0gb3MucGF0aC5qb2luKGRpcl9wYXRoIG9yICIi LCBmaWxlX25hbWUpCi0gCi0gICAgIHRyeToKLS0gICAgICAgIGNvbnRlbnRzID0gb3BlbihmaWxl X3BhdGgpLnJlYWRsaW5lcygpCi0rICAgICAgICB3aXRoIG9wZW4oZmlsZV9wYXRoKSBhcyBmOgot KyAgICAgICAgICAgIGNvbnRlbnRzID0gZi5yZWFkbGluZXMoKQotICAgICBleGNlcHQgRXhjZXB0 aW9uOgotLSAgICAgICAgIyBpZiB3ZSBjYW4ndCByZWFkIGl0LCBsZXQncyBhc3N1bWUgdGhlIGFu c3dlciBpcyAibm8iLgotKyAgICAgICAgIyBpZiB3ZSBjYW4ndCByZWFkIGl0LCBsZXQncyBkbyBu b3RoaW5nCi0gICAgICAgICByZXR1cm4gRmFsc2UKLSAKLS0gICAgIyBDaGVjayBmb3IgdGhlICVh dXRvcmVsZWFzZSBoZWFkZXIgcHJlcGVuZGVkIHRvIHRoZSBmaWxlCi0tICAgIGlmIGFueSgnU1RB UlQ6IFNldCBieSBycG1hdXRvc3BlYycgaW4gbGluZSBmb3IgbGluZSBpbiBjb250ZW50c1s6MTBd KToKLSsgICAgIyByZW1vdmUgdGhlIGdlbmVyYXRlZCBtYWNybyBzZWN0aW9uIG5lYXIgdGhlIGJl Z2lubmluZyBvZiB0aGUgc3BlY2ZpbGUKLSsgICAgY29udGVudHMsIHdhc19yZW1vdmVkID0gX3Jl cGxhY2VfbGluZXMoCi0rICAgICAgICBjb250ZW50cywKLSsgICAgICAgICcjIyBTVEFSVDogU2V0 IGJ5IHJwbWF1dG9zcGVjXG4nLAotKyAgICAgICAgJyMjIEVORDogU2V0IGJ5IHJwbWF1dG9zcGVj XG4nLAotKyAgICAgICAgc3RyaXBfZW5kbGluZT1UcnVlKQotKwotKyAgICAjIHJlcGxhY2UgdGhl IGdlbmVyYXRlZCBjaGFuZ2Vsb2cgd2l0aCAlYXV0b2NoYW5nZWxvZwotKyAgICAjIG5vdGUgdGhh dCB0aGlzIGRvZXMgbm90IGdlbmVyYWxseSBwcm9kdWNlIGNvbnRlbnQgaWRlbnRpY2FsIHRvIHRo ZSBvcmlnaW5hbAotKyAgICAjIGUuZy4gdGhlIG1hY3JvIGNvdWxkIGhhdmUgYmVlbiBjb25kaXRp b25hbGl6ZWQgb3IgaW4gY3VybHkgYnJhY2tldHMKLSsgICAgIyBtb3N0IGltcG9ydGFudGx5LCB0 aGUgJWNoYW5nZWxvZyBzZWN0aW9uIG1pZ2h0IGhhdmUgYmVlbiBvbWl0dGVkIGVudGlyZWx5Ci0r ICAgICMgaG93ZXZlciwgdGhpcyBzaG91bGQgYmUgR29vZCBFbm91Z2ggZm9yIG1vc3Qgb2YgdXMK LSsgICAgY29udGVudHMsIHdhc19yZXBsYWNlZCA9IF9yZXBsYWNlX2xpbmVzKAotKyAgICAgICAg Y29udGVudHMsCi0rICAgICAgICAnIyMgU1RBUlQ6IEdlbmVyYXRlZCBieSBycG1hdXRvc3BlY1xu JywKLSsgICAgICAgICcjIyBFTkQ6IEdlbmVyYXRlZCBieSBycG1hdXRvc3BlY1xuJywKLSsgICAg ICAgIFsnJWF1dG9jaGFuZ2Vsb2dcbiddKQotKwotKyAgICAjIGZpbmFsbHksIHJlcGxhY2UgdGhl IHNwZWMgaWYgbmVlZGVkCi0rICAgICMgaWYgd2UgY2Fubm90IHdyaXRlIGl0LCBiZXR0ZXIgYmxv dyB1cAotKyAgICBpZiB3YXNfcmVtb3ZlZCBvciB3YXNfcmVwbGFjZWQ6Ci0rICAgICAgICB3aXRo IG9wZW4oZmlsZV9wYXRoLCAndycpIGFzIGY6Ci0rICAgICAgICAgICAgZi53cml0ZWxpbmVzKGNv bnRlbnRzKQotICAgICAgICAgcmV0dXJuIFRydWUKLSAKLS0gICAgIyBJdCBzZWVtcyB0aGF0IGN1 cnJlbnRseSB0aGVyZSdzIG5vIG1lY2hhbmlzbSB0byBkZXRlY3QKLS0gICAgIyAlYXV0b2NoYW5n ZWxvZyBwcm9jZXNzaW5nLiBCdXQgbW9zdCBwYWNrYWdlcyB3b3VsZCB1c2UgYm90aAotLSAgICAj ICVhdXRvY2hhbmdlbG9nIGFuZCAlYXV0b3JlbGVhc2UgdG9nZXRoZXIsIHNvIHdlIHNob3VsZCBj YXRjaAotLSAgICAjIG1vc3QgY2FzZXMgYnkgY2hlY2tpbmcgZm9yICVhdXRvcmVsZWFzZSBvbmx5 LgotLSAgICAjIGh0dHBzOi8vcGFndXJlLmlvL2ZlZG9yYS1pbmZyYS9ycG1hdXRvc3BlYy9pc3N1 ZS8yNjkKLSAgICAgcmV0dXJuIEZhbHNlCi0tLSAKLTIuNDMuMAotCgpkaWZmIC0tZ2l0IGEvMDAz Mi1Vbml0dGVzdHMtZm9yLVVuZG8tcnBtYXV0b3NwZWMtcHJvY2Vzc2luZy5wYXRjaCBiLzAwMzIt VW5pdHRlc3RzLWZvci1VbmRvLXJwbWF1dG9zcGVjLXByb2Nlc3NpbmcucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IGY4MDZjMWMuLjAwMDAwMDAKLS0tIGEvMDAzMi1Vbml0dGVz dHMtZm9yLVVuZG8tcnBtYXV0b3NwZWMtcHJvY2Vzc2luZy5wYXRjaAorKysgL2Rldi9udWxsCkBA IC0xLDI4OSArMCwwIEBACi1Gcm9tIDJiZDcyNmQyMGYzZTVkMTUwMmEyMTkxZDBkMjYzZDBiNjEz Mjk4MmIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/T25kPUM1PTk5 ZWo9MjBOb3Nlaz89IDxvbm9zZWtAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTIgT2N0IDIwMjMg MDE6NDA6MzYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0gVW5pdHRlc3RzIGZvciAiVW5kbyBycG1h dXRvc3BlYyBwcm9jZXNzaW5nIgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAot Ci1NZXJnZXM6IGh0dHBzOi8vcGFndXJlLmlvL3Jwa2cvcHVsbC1yZXF1ZXN0LzY5OQotU2lnbmVk LW9mZi1ieTogT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+Ci0tLS0KLSBKZW5raW5z ZmlsZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQotIGplbmtpbnNf dGVzdC5kb2NrZXJmaWxlICAgICAgICAgICAgICAgICAgICAgICB8ICAzICstCi0gcHlycGtnL3V0 aWxzLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDYgKy0tCi0gdGVzdHMvZml4 dHVyZXMvZG9jcGtnL2RvY3BrZy1ycG1hdXRvc3BlYy5zcGVjIHwgNTMgKysrKysrKysrKysrKysr KysrKwotIHRlc3RzL3Rlc3RfY2xpLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDQw ICsrKysrKystLS0tLS0tCi0gdGVzdHMvdGVzdF91dGlscy5weSAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwgMzYgKysrKysrKysrKysrLQotIDYgZmlsZXMgY2hhbmdlZCwgMTE2IGluc2VydGlv bnMoKyksIDI0IGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9maXh0dXJl cy9kb2Nwa2cvZG9jcGtnLXJwbWF1dG9zcGVjLnNwZWMKLQotZGlmZiAtLWdpdCBhL0plbmtpbnNm aWxlIGIvSmVua2luc2ZpbGUKLWluZGV4IDdiNjc0MmYuLmU2ZDYzOTQgMTAwNjQ0Ci0tLS0gYS9K ZW5raW5zZmlsZQotKysrIGIvSmVua2luc2ZpbGUKLUBAIC01MCw3ICs1MCw3IEBAIGdpdCBmZXRj aCBwcm9wb3NlZAotIGdpdCBjaGVja291dCAib3JpZ2luLyRwYXJhbXMuQlJBTkNIX1RPIgotIGdp dCBtZXJnZSAtLW5vLWZmICJwcm9wb3NlZC8kcGFyYW1zLkJSQU5DSCIgLW0gIk1lcmdlIFBSIgot IAotLXBvZG1hbiBydW4gLS1ybSAtdiAuOi9zcmM6WiBxdWF5LmlvL2V4ZC1ndWlsZC1zb3VyY2Ut dG9vbHMvcnBrZy10ZXN0OmxhdGVzdCB0b3ggLWUgcHkzNixweTM5LGZsYWtlOCxiYW5kaXQgLS13 b3JrZGlyIC90bXAvdG94ICR7VE9YX1BPU0FSR1N9Ci0rcG9kbWFuIHJ1biAtLXJtIC12IC46L3Ny YzpaIHF1YXkuaW8vZXhkLWd1aWxkLXNvdXJjZS10b29scy9ycGtnLXRlc3Q6bGF0ZXN0IHRveCAt ZSBweTM2LHB5MzkscHkzMTEsZmxha2U4LGJhbmRpdCAtLXdvcmtkaXIgL3RtcC90b3ggJHtUT1hf UE9TQVJHU30KLSAjIGRpc2FibGVkIHB5MjcgZW52aXJvbm1lbnQgZm9yIG5vdzsga2VlcCBqdXN0 IGZsYWtlOCBmb3IgUHl0aG9uIDIKLSBwb2RtYW4gcnVuIC0tcm0gLXYgLjovc3JjOlogcXVheS5p by9leGQtZ3VpbGQtc291cmNlLXRvb2xzL3Jwa2ctdGVzdC1weTI6bGF0ZXN0IHRveCAtZSBmbGFr ZThweXRob24yIC0td29ya2RpciAvdG1wL3RveCAke1RPWF9QT1NBUkdTfQotICAgICAgICAgICAg ICAgICAgICAgICAgICIiIgotZGlmZiAtLWdpdCBhL2plbmtpbnNfdGVzdC5kb2NrZXJmaWxlIGIv amVua2luc190ZXN0LmRvY2tlcmZpbGUKLWluZGV4IGRmODc2MmUuLmQyMTdhNTUgMTAwNjQ0Ci0t LS0gYS9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQotKysrIGIvamVua2luc190ZXN0LmRvY2tlcmZp bGUKLUBAIC0xLDQgKzEsNCBAQAotLUZST00gZmVkb3JhOjM3Ci0rRlJPTSBmZWRvcmE6MzgKLSBM QUJFTCBcCi0gICAgIG5hbWU9InJwa2cgdGVzdCIgXAotICAgICBkZXNjcmlwdGlvbj0iUnVuIHRl c3RzIHVzaW5nIHRveCB3aXRoIFB5dGhvbiAzIiBcCi1AQCAtOSw2ICs5LDcgQEAgUlVOIGRuZiAt eSB1cGRhdGUgJiYgZG5mIC15IGluc3RhbGwgXAotICAgICAgICAgcHl0aG9uMy1kZXZlbCBcCi0g ICAgICAgICBweXRob24zLW9wZW5pZGMtY2xpZW50IFwKLSAgICAgICAgIHB5dGhvbjMtbGlibW9k dWxlbWQgXAotKyAgICAgICAgcHl0aG9uMy1ycG1hdXRvc3BlYyBcCi0gICAgICAgICBweXRob24z LXNldHVwdG9vbHMgXAotICAgICAgICAgcnBtbGludCBcCi0gICAgICAgICBycG0tYnVpbGQgXAot ZGlmZiAtLWdpdCBhL3B5cnBrZy91dGlscy5weSBiL3B5cnBrZy91dGlscy5weQotaW5kZXggZjNj OGIyNS4uZmMwMWM3ZCAxMDA2NDQKLS0tLSBhL3B5cnBrZy91dGlscy5weQotKysrIGIvcHlycGtn L3V0aWxzLnB5Ci1AQCAtMTA0LDcgKzEwNCw3IEBAIGRlZiBsb2dfcmVzdWx0KGxvZ19mdW5jLCBy ZXN1bHQsIGxldmVsPTAsIGluZGVudD0yKToKLSAgICAgZWxpZiBpc2luc3RhbmNlKHJlc3VsdCwg ZGljdCk6Ci0gICAgICAgICBmb3Iga2V5LCB2YWx1ZSBpbiByZXN1bHQuaXRlbXMoKToKLSAgICAg ICAgICAgICBfbG9nX3ZhbHVlKGxvZ19mdW5jLCBrZXksIGxldmVsLCBpbmRlbnQsICc6JykKLS0g ICAgICAgICAgICBsb2dfcmVzdWx0KGxvZ19mdW5jLCB2YWx1ZSwgbGV2ZWwrMSkKLSsgICAgICAg ICAgICBsb2dfcmVzdWx0KGxvZ19mdW5jLCB2YWx1ZSwgbGV2ZWwgKyAxKQotICAgICBlbHNlOgot ICAgICAgICAgX2xvZ192YWx1ZShsb2dfZnVuYywgcmVzdWx0LCBsZXZlbCwgaW5kZW50KQotIAot QEAgLTM0OCw5ICszNDgsOSBAQCBkZWYgX3JlcGxhY2VfbGluZXMobGluZXMsIHN0YXJ0bGluZSwg ZW5kbGluZSwgcmVwbGFjZW1lbnRfbGluZXM9Tm9uZSwgc3RyaXBfZW5kbAotICAgICBlbHNlOgot ICAgICAgICAgIyBycG1hdXRvc3BlYyBhZGRzIGFuIGVtcHR5IGxpbmUgYWZ0ZXIgdGhlIGVuZAot ICAgICAgICAgIyB3ZSB3YW50IHRvIHJlbW92ZSBpdCwgYnV0IG9ubHkgaWYgaXQgaXMgYWN0dWFs bHkgZW1wdHkKLS0gICAgICAgIGlmIHN0cmlwX2VuZGxpbmUgYW5kIGxpbmVzW2VuZCsxXSA9PSAi XG4iOgotKyAgICAgICAgaWYgc3RyaXBfZW5kbGluZSBhbmQgbGluZXNbZW5kICsgMV0gPT0gIlxu IjoKLSAgICAgICAgICAgICBlbmQgKz0gMQotLSAgICAgICAgbGluZXMgPSBsaW5lc1s6c3RhcnRd ICsgcmVwbGFjZW1lbnRfbGluZXMgKyBsaW5lc1tlbmQrMTpdCi0rICAgICAgICBsaW5lcyA9IGxp bmVzWzpzdGFydF0gKyByZXBsYWNlbWVudF9saW5lcyArIGxpbmVzW2VuZCArIDE6XQotICAgICAg ICAgcmV0dXJuIGxpbmVzLCBUcnVlCi0gCi0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvZml4dHVyZXMv ZG9jcGtnL2RvY3BrZy1ycG1hdXRvc3BlYy5zcGVjIGIvdGVzdHMvZml4dHVyZXMvZG9jcGtnL2Rv Y3BrZy1ycG1hdXRvc3BlYy5zcGVjCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAw MC4uNTk3NGI1NwotLS0tIC9kZXYvbnVsbAotKysrIGIvdGVzdHMvZml4dHVyZXMvZG9jcGtnL2Rv Y3BrZy1ycG1hdXRvc3BlYy5zcGVjCi1AQCAtMCwwICsxLDUzIEBACi0rIyMgU1RBUlQ6IFNldCBi eSBycG1hdXRvc3BlYwotKyMjIChycG1hdXRvc3BlYyB2ZXJzaW9uIDAuMy41KQotKyMjIFJQTUFV VE9TUEVDOiBhdXRvcmVsZWFzZSwgYXV0b2NoYW5nZWxvZwotKyVkZWZpbmUgYXV0b3JlbGVhc2Uo ZTpzOnBiOm4pICV7Py1wOjAufSV7bHVhOgotKyAgICByZWxlYXNlX251bWJlciA9IDg7Ci0rICAg IGJhc2VfcmVsZWFzZV9udW1iZXIgPSB0b251bWJlcihycG0uZXhwYW5kKCIlez8tYip9JXshPy1i OjF9IikpOwotKyAgICBwcmludChyZWxlYXNlX251bWJlciArIGJhc2VfcmVsZWFzZV9udW1iZXIg LSAxKTsKLSt9JXs/LWU6LiV7LWUqfX0lez8tczouJXstcyp9fSV7IT8tbjolez9kaXN0fX0KLSsj IyBFTkQ6IFNldCBieSBycG1hdXRvc3BlYwotKwotKyMgYXV0b2dlbmVyYXRlZCBzcGVjZmlsZQot K1N1bW1hcnk6IER1bW15IHN1bW1hcnkKLStOYW1lOiBkb2Nwa2ctcnBtYXV0b3NwZWMKLStWZXJz aW9uOiAwLjIKLStSZWxlYXNlOiAxJXtkaXN0fQotK0xpY2Vuc2U6IEdQTAotK0dyb3VwOiBBcHBs aWNhdGlvbnMvUHJvZHVjdGl2aXR5Ci0rCi0rQnVpbGRSb290OiAlKG1rdGVtcCAtdWQgJXtfdG1w cGF0aH0vJXtuYW1lfS0le3ZlcnNpb259LSV7cmVsZWFzZX0tWFhYWFhYKQotK1NvdXJjZTA6IGhl bGxvLXdvcmxkLnR4dAotK1NvdXJjZTE6IGRvY3BrZy50YXIuZ3oKLStTb3VyY2UyOiBzb3VyY2Ut d2l0aG91dC1leHRlbnNpb24KLSsjIGFkZGVkIGVtcHR5IGRpciBqdXN0IHRvIHRlc3QgaW1wb3J0 IHNycG0gYGZlZHBrZyBpbXBvcnRgLiBJdCBzaG91bGQgc2tpcCB0aGUgZGlyLgotK1NvdXJjZTM6 IEVNUFRZX0RJUgotKwotKyVkZXNjcmlwdGlvbgotK1RoaXMgaXMgYSBkdW1teSBkZXNjcmlwdGlv bi4KLSsKLSslcHJlcAotK2NwICV7U09VUkNFMH0gLgotKwotKyVidWlsZAotKwotKyVjbGVhbgot K3JtIC1yZiAkJFJQTV9CVUlMRF9ST09UCi0rJWluc3RhbGwKLStybSAtcmYgJFJQTV9CVUlMRF9S T09UCi0rbWtkaXIgJFJQTV9CVUlMRF9ST09UCi0rbWtkaXIgLXAgJFJQTV9CVUlMRF9ST09UL3Vz ci9zaGFyZS9kb2MKLStjcCAle1NPVVJDRTB9ICRSUE1fQlVJTERfUk9PVC91c3Ivc2hhcmUvZG9j L2hlbGxvLXdvcmxkLnR4dAotKwotKyVmaWxlcwotKyVkb2MgIi91c3Ivc2hhcmUvZG9jL2hlbGxv LXdvcmxkLnR4dCIKLSsKLSslY2hhbmdlbG9nCi0rIyMgU1RBUlQ6IEdlbmVyYXRlZCBieSBycG1h dXRvc3BlYwotKyogU3VuIEphbiAgMSAyMDA2IHRlc3RlciA8dGVzdGVyQGV4YW1wbGUuY29tPiAt IDAuMi0xCi0rLSAtIE5ldyByZWxlYXNlIDAuMi0xCi0rCi0rKiBTdW4gSmFuICAxIDIwMDYgSm9o biBEb2UgPGpkb2VAZXhhbXBsZS5jb20+IC0gMC4yLTEKLSstIEluaXRpYWwgdmVyc2lvbgotKwot KyMjIEVORDogR2VuZXJhdGVkIGJ5IHJwbWF1dG9zcGVjCi1kaWZmIC0tZ2l0IGEvdGVzdHMvdGVz dF9jbGkucHkgYi90ZXN0cy90ZXN0X2NsaS5weQotaW5kZXggZjJlNjhkZi4uM2Q5MGYzNiAxMDA2 NDQKLS0tLSBhL3Rlc3RzL3Rlc3RfY2xpLnB5Ci0rKysgYi90ZXN0cy90ZXN0X2NsaS5weQotQEAg LTE3MDYsMTAgKzE3MDYsMTAgQEAgY2xhc3MgVGVzdEZhaWx1cmVJbXBvcnRTcnBtKENsaVRlc3RD YXNlKToKLSBjbGFzcyBUZXN0SW1wb3J0U3JwbShMb29rYXNpZGVDYWNoZU1vY2ssIENsaVRlc3RD YXNlKToKLSAKLSAgICAgQHN0YXRpY21ldGhvZAotLSAgICBkZWYgYnVpbGRfc3JwbShzcmNycG1k aXIpOgotKyAgICBkZWYgYnVpbGRfc3JwbShzcmNycG1kaXIsIHNwZWNmaWxlX25hbWU9J2RvY3Br Zy5zcGVjJyk6Ci0gICAgICAgICAiIiJCdWlsZCBhIGZha2UgU1JQTSB1c2VkIGJ5IHRoaXMgdGVz dCBjYXNlIiIiCi0gICAgICAgICBkb2Nwa2dfZGlyID0gb3MucGF0aC5qb2luKGZpeHR1cmVzX2Rp ciwgJ2RvY3BrZycpCi0tICAgICAgICBzcGVjZmlsZSA9IG9zLnBhdGguam9pbihkb2Nwa2dfZGly LCAnZG9jcGtnLnNwZWMnKQotKyAgICAgICAgc3BlY2ZpbGUgPSBvcy5wYXRoLmpvaW4oZG9jcGtn X2Rpciwgc3BlY2ZpbGVfbmFtZSkKLSAgICAgICAgIHJwbWJ1aWxkID0gWwotICAgICAgICAgICAg ICdycG1idWlsZCcsICctYnMnLAotICAgICAgICAgICAgICctLWRlZmluZScsICdfdG9wZGlyIHsw fScuZm9ybWF0KHNyY3JwbWRpciksCi1AQCAtMTczNSw2ICsxNzM1LDkgQEAgY2xhc3MgVGVzdElt cG9ydFNycG0oTG9va2FzaWRlQ2FjaGVNb2NrLCBDbGlUZXN0Q2FzZSk6Ci0gCi0gICAgICAgICBz ZWxmLnNyY3JwbWRpciA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4PSd0ZXN0LWltcG9ydC1zcnBt LXRvcGRpci0nKQotICAgICAgICAgc2VsZi5zcnBtX2ZpbGUgPSBUZXN0SW1wb3J0U3JwbS5idWls ZF9zcnBtKHNlbGYuc3JjcnBtZGlyKQotKyAgICAgICAgc2VsZi5zcnBtX2ZpbGVfcnBtYXV0b3Nw ZWMgPSBUZXN0SW1wb3J0U3JwbS5idWlsZF9zcnBtKAotKyAgICAgICAgICAgIHNlbGYuc3JjcnBt ZGlyLAotKyAgICAgICAgICAgIHNwZWNmaWxlX25hbWU9J2RvY3BrZy1ycG1hdXRvc3BlYy5zcGVj JykKLSAKLSAgICAgICAgIHNlbGYuY2hhb3NfcmVwbyA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4 PSdycGtnLXRlc3RzLWNoYW9zLXJlcG8tJykKLSAgICAgICAgIGNtZHMgPSAoCi1AQCAtMTgyNyw0 MCArMTgzMCwyOSBAQCBjbGFzcyBUZXN0SW1wb3J0U3JwbShMb29rYXNpZGVDYWNoZU1vY2ssIENs aVRlc3RDYXNlKToKLSAgICAgICAgIHNlbGYuYXNzZXJ0RmlsZXNFeGlzdChbJ3BhY2thZ2UucnBt bGludHJjJ10sIHNlYXJjaF9kaXI9c2VsZi5jaGFvc19yZXBvKQotICAgICAgICAgc2VsZi5hc3Nl cnRGaWxlc05vdEV4aXN0KFsndGhlX2ZpbGVfaXNfbm90X2luX3Jlc2VydmVkLnlhbWwnXSwgc2Vh cmNoX2Rpcj1zZWxmLmNoYW9zX3JlcG8pCi0gCi0tICAgIEBwYXRjaCgncHlycGtnLnNwZWNfZmls ZV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMnKQotLSAgICBkZWYgdGVzdF9pbXBvcnRfc3JwbV9u b3RfcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjKHNlbGYsIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZCk6 Ci0rICAgIGRlZiB0ZXN0X2ltcG9ydF9zcnBtX25vdF9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMo c2VsZik6Ci0gICAgICAgICBjbGlfY21kID0gWydycGtnJywgJy0tcGF0aCcsIHNlbGYuY2hhb3Nf cmVwbywgJy0tbmFtZScsICdkb2Nwa2cnLAotICAgICAgICAgICAgICAgICAgICAnaW1wb3J0Jywg Jy0tc2tpcC1kaWZmcycsIHNlbGYuc3JwbV9maWxlXQotIAotLSAgICAgICAgcnBtYXV0b3NwZWNf cHJvY2Vzc2VkLnJldHVybl92YWx1ZSA9IEZhbHNlCi0gICAgICAgICB3aXRoIHBhdGNoKCdzeXMu YXJndicsIG5ldz1jbGlfY21kKToKLSAgICAgICAgICAgICBjbGkgPSBzZWxmLm5ld19jbGkoKQot ICAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5sb29rYXNpZGUuQ0dJTG9va2FzaWRlQ2Fj aGUudXBsb2FkJywgc2VsZi5sb29rYXNpZGVjYWNoZV91cGxvYWQpOgotICAgICAgICAgICAgICAg ICBjbGkuaW1wb3J0X3NycG0oKSAgIyBubyBleGNlcHRpb24gc2hvdWxkIGJlIHJhaXNlZAotLSAg ICAgICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5hc3NlcnRfY2FsbGVkX29uY2UoKQotIAot LSAgICBAcGF0Y2goJ3B5cnBrZy5zcGVjX2ZpbGVfcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjJykK LS0gICAgZGVmIHRlc3RfaW1wb3J0X3NycG1fcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjKHNlbGYs IHJwbWF1dG9zcGVjX3Byb2Nlc3NlZCk6Ci0rICAgIGRlZiB0ZXN0X2ltcG9ydF9zcnBtX3Byb2Nl c3NlZF9ieV9ycG1hdXRvc3BlYyhzZWxmKToKLSAgICAgICAgIGNsaV9jbWQgPSBbJ3Jwa2cnLCAn LS1wYXRoJywgc2VsZi5jaGFvc19yZXBvLCAnLS1uYW1lJywgJ2RvY3BrZycsCi0tICAgICAgICAg ICAgICAgICAgICdpbXBvcnQnLCAnLS1za2lwLWRpZmZzJywgc2VsZi5zcnBtX2ZpbGVdCi0rICAg ICAgICAgICAgICAgICAgICdpbXBvcnQnLCAnLS1za2lwLWRpZmZzJywgc2VsZi5zcnBtX2ZpbGVf cnBtYXV0b3NwZWNdCi0gCi0tICAgICAgICBycG1hdXRvc3BlY19wcm9jZXNzZWQucmV0dXJuX3Zh bHVlID0gVHJ1ZQotICAgICAgICAgd2l0aCBwYXRjaCgnc3lzLmFyZ3YnLCBuZXc9Y2xpX2NtZCk6 Ci0gICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdfY2xpKCkKLSAgICAgICAgICAgICB3aXRoIHBh dGNoKCdweXJwa2cubG9va2FzaWRlLkNHSUxvb2thc2lkZUNhY2hlLnVwbG9hZCcsIHNlbGYubG9v a2FzaWRlY2FjaGVfdXBsb2FkKToKLS0gICAgICAgICAgICAgICAgc2l4LmFzc2VydFJhaXNlc1Jl Z2V4KAotLSAgICAgICAgICAgICAgICAgICAgc2VsZiwKLS0gICAgICAgICAgICAgICAgICAgIHJw a2dFcnJvciwKLS0gICAgICAgICAgICAgICAgICAgICdTUlBNIHdhcyBwcm9jZXNzZWQgYnkgcnBt YXV0b3NwZWMnLAotLSAgICAgICAgICAgICAgICAgICAgY2xpLmltcG9ydF9zcnBtKQotLSAgICAg ICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5hc3NlcnRfY2FsbGVkX29uY2UoKQotKyAgICAg ICAgICAgICAgICBjbGkuaW1wb3J0X3NycG0oKQotIAotLSAgICBAcGF0Y2goJ3B5cnBrZy5zcGVj X2ZpbGVfcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjJykKLSsgICAgQHBhdGNoKCdweXJwa2cuc3Bl Y19maWxlX3VuZG9fcnBtYXV0b3NwZWMnKQotICAgICBkZWYgdGVzdF9pbXBvcnRfc3JwbV9wcm9j ZXNzZWRfYnlfcnBtYXV0b3NwZWNfYWxsb3dlZChzZWxmLCBycG1hdXRvc3BlY19wcm9jZXNzZWQp OgotICAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNoYW9zX3JlcG8s ICctLW5hbWUnLCAnZG9jcGtnJywKLSAgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCcsICctLXNr aXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KLSAKLS0gICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nl c3NlZC5yZXR1cm5fdmFsdWUgPSBUcnVlCi0gICAgICAgICB3aXRoIHBhdGNoKCdzeXMuYXJndics IG5ldz1jbGlfY21kKToKLSAgICAgICAgICAgICBjbGkgPSBzZWxmLm5ld19jbGkoKQotICAgICAg ICAgICAgIGNsaS5jbWQuYWxsb3dfcHJlX2dlbmVyYXRlZF9zcnBtID0gVHJ1ZQotQEAgLTE4Njgs NiArMTg2MCwxOCBAQCBjbGFzcyBUZXN0SW1wb3J0U3JwbShMb29rYXNpZGVDYWNoZU1vY2ssIENs aVRlc3RDYXNlKToKLSAgICAgICAgICAgICAgICAgY2xpLmltcG9ydF9zcnBtKCkgICMgbm8gZXhj ZXB0aW9uIHNob3VsZCBiZSByYWlzZWQKLSAgICAgICAgICAgICBycG1hdXRvc3BlY19wcm9jZXNz ZWQuYXNzZXJ0X25vdF9jYWxsZWQoKQotIAotKyAgICBAcGF0Y2goJ3B5cnBrZy5zcGVjX2ZpbGVf dW5kb19ycG1hdXRvc3BlYycpCi0rICAgIGRlZiB0ZXN0X2ltcG9ydF9zcnBtX3Byb2Nlc3NlZF9i eV9ycG1hdXRvc3BlY19ub3RfYWxsb3dlZChzZWxmLCBycG1hdXRvc3BlY19wcm9jZXNzZWQpOgot KyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNoYW9zX3JlcG8sICct LW5hbWUnLCAnZG9jcGtnJywKLSsgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCcsICctLXNraXAt ZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KLSsKLSsgICAgICAgIHdpdGggcGF0Y2goJ3N5cy5hcmd2 JywgbmV3PWNsaV9jbWQpOgotKyAgICAgICAgICAgIGNsaSA9IHNlbGYubmV3X2NsaSgpCi0rICAg ICAgICAgICAgY2xpLmNtZC5hbGxvd19wcmVfZ2VuZXJhdGVkX3NycG0gPSBGYWxzZSAgIyBvciBO b25lCi0rICAgICAgICAgICAgd2l0aCBwYXRjaCgncHlycGtnLmxvb2thc2lkZS5DR0lMb29rYXNp ZGVDYWNoZS51cGxvYWQnLCBzZWxmLmxvb2thc2lkZWNhY2hlX3VwbG9hZCk6Ci0rICAgICAgICAg ICAgICAgIGNsaS5pbXBvcnRfc3JwbSgpICAjIG5vIGV4Y2VwdGlvbiBzaG91bGQgYmUgcmFpc2Vk Ci0rICAgICAgICAgICAgcnBtYXV0b3NwZWNfcHJvY2Vzc2VkLmFzc2VydF9jYWxsZWRfb25jZSgp Ci0rCi0gCi0gY2xhc3MgVGVzdE1vY2tidWlsZChDbGlUZXN0Q2FzZSk6Ci0gICAgICIiIlRlc3Qg bW9ja2J1aWxkIGNvbW1hbmQiIiIKLWRpZmYgLS1naXQgYS90ZXN0cy90ZXN0X3V0aWxzLnB5IGIv dGVzdHMvdGVzdF91dGlscy5weQotaW5kZXggMzQxODhjNS4uMGNkNjJkOCAxMDA2NDQKLS0tLSBh L3Rlc3RzL3Rlc3RfdXRpbHMucHkKLSsrKyBiL3Rlc3RzL3Rlc3RfdXRpbHMucHkKLUBAIC0xLDE1 ICsxLDIyIEBACi0gaW1wb3J0IG9zCi0raW1wb3J0IHNodXRpbAotIGltcG9ydCB0ZW1wZmlsZQot IGltcG9ydCB1bml0dGVzdAotIGltcG9ydCB3YXJuaW5ncwotIAotK3RyeToKLSsgICAgaW1wb3J0 IHJwbWF1dG9zcGVjCi0rZXhjZXB0IEltcG9ydEVycm9yOgotKyAgICBycG1hdXRvc3BlYyA9IE5v bmUKLSsKLSB0cnk6Ci0gICAgIGZyb20gdW5pdHRlc3QgaW1wb3J0IG1vY2sKLSBleGNlcHQgSW1w b3J0RXJyb3I6Ci0gICAgIGltcG9ydCBtb2NrCi0gCi0gZnJvbSBweXJwa2cudXRpbHMgaW1wb3J0 IChjYWNoZWRfcHJvcGVydHksIGlzX2ZpbGVfaW5fZGlyZWN0b3J5LAotLSAgICAgICAgICAgICAg ICAgICAgICAgICAgaXNfZmlsZV90cmFja2VkLCBsb2dfcmVzdWx0LCB3YXJuX2RlcHJlY2F0ZWQp Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBpc19maWxlX3RyYWNrZWQsIGxvZ19yZXN1bHQs Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjX2ZpbGVfdW5kb19ycG1hdXRvc3BlYywg d2Fybl9kZXByZWNhdGVkKQotIAotIGZyb20gdXRpbHMgaW1wb3J0IENvbW1hbmRUZXN0Q2FzZQot IAotQEAgLTI4NywzICsyOTQsMzAgQEAgY2xhc3MgRmlsZVRyYWNrZWRUZXN0Q2FzZShDb21tYW5k VGVzdENhc2UpOgotICAgICAgICAgICAgICAgICBzZWxmLnJlcG9fcGF0aAotICAgICAgICAgICAg ICkKLSAgICAgICAgICkKLSsKLSsKLStAdW5pdHRlc3Quc2tpcElmKAotKyAgICBycG1hdXRvc3Bl YyBpcyBOb25lLAotKyAgICAiU2tpcCB0ZXN0IG9uIHJlbGVhc2VzIHdoZXJlIHJwbWF1dG9zcGVj IGlzIG5vdCBhdmFpbGFibGUgKFJIRUwpIikKLStjbGFzcyBTcGVjRmlsZVVuZG9ScG1hdXRvc3Bl YyhDb21tYW5kVGVzdENhc2UpOgotKyAgICBkZWYgdGVzdF9yZW1vdmVfYXV0b3NwZWNfZnJvbV9z cGVjZmlsZShzZWxmKToKLSsgICAgICAgIGZpeHR1cmVzX2RpciA9IG9zLnBhdGguam9pbihvcy5w YXRoLmRpcm5hbWUoX19maWxlX18pLCAiZml4dHVyZXMiLCAiZG9jcGtnIikKLSsKLSsgICAgICAg IHNwZWNmaWxlX3dpdGhvdXRfcnBtYXV0b3NwZWMgPSBvcy5wYXRoLmpvaW4oZml4dHVyZXNfZGly LCAiZG9jcGtnLnNwZWMiKQotKyAgICAgICAgc3BlY2ZpbGVfd2l0aG91dF9ycG1hdXRvc3BlY19j b3B5ID0gb3MucGF0aC5qb2luKHNlbGYucmVwb19wYXRoLCAiZG9jcGtnLnNwZWMiKQotKyAgICAg ICAgc2h1dGlsLmNvcHkyKHNwZWNmaWxlX3dpdGhvdXRfcnBtYXV0b3NwZWMsIHNwZWNmaWxlX3dp dGhvdXRfcnBtYXV0b3NwZWNfY29weSkKLSsgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UocnBtYXV0 b3NwZWMuc3BlY2ZpbGVfdXNlc19ycG1hdXRvc3BlYyhzcGVjZmlsZV93aXRob3V0X3JwbWF1dG9z cGVjX2NvcHkpKQotKyAgICAgICAgc2VsZi5hc3NlcnRGYWxzZShzcGVjX2ZpbGVfdW5kb19ycG1h dXRvc3BlYyhzcGVjZmlsZV93aXRob3V0X3JwbWF1dG9zcGVjX2NvcHkpKQotKyAgICAgICAgc2Vs Zi5hc3NlcnRGYWxzZShycG1hdXRvc3BlYy5zcGVjZmlsZV91c2VzX3JwbWF1dG9zcGVjKHNwZWNm aWxlX3dpdGhvdXRfcnBtYXV0b3NwZWNfY29weSkpCi0rICAgICAgICBvcy5yZW1vdmUoc3BlY2Zp bGVfd2l0aG91dF9ycG1hdXRvc3BlY19jb3B5KQotKwotKyAgICAgICAgc3BlY2ZpbGVfd2l0aF9y cG1hdXRvc3BlYyA9IG9zLnBhdGguam9pbihmaXh0dXJlc19kaXIsICJkb2Nwa2ctcnBtYXV0b3Nw ZWMuc3BlYyIpCi0rICAgICAgICBzcGVjZmlsZV93aXRoX3JwbWF1dG9zcGVjX2NvcHkgPSBvcy5w YXRoLmpvaW4oc2VsZi5yZXBvX3BhdGgsICJkb2Nwa2ctcnBtYXV0b3NwZWMuc3BlYyIpCi0rICAg ICAgICBzaHV0aWwuY29weTIoc3BlY2ZpbGVfd2l0aF9ycG1hdXRvc3BlYywgc3BlY2ZpbGVfd2l0 aF9ycG1hdXRvc3BlY19jb3B5KQotKyAgICAgICAgIyByZXR1cm5zIFRydWUgaWYgdGhlIHNwZWNm aWxlIHdhcyBtb2RpZmllZAotKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHNwZWNfZmlsZV91bmRv X3JwbWF1dG9zcGVjKHNwZWNmaWxlX3dpdGhfcnBtYXV0b3NwZWNfY29weSkpCi0rICAgICAgICBz ZWxmLmFzc2VydEZhbHNlKHJwbWF1dG9zcGVjLnNwZWNmaWxlX3VzZXNfcnBtYXV0b3NwZWMoCi0r ICAgICAgICAgICAgc3BlY2ZpbGVfd2l0aF9ycG1hdXRvc3BlY19jb3B5LCBjaGVja19hdXRvY2hh bmdlbG9nPUZhbHNlLCBjaGVja19hdXRvcmVsZWFzZT1UcnVlKSkKLSsgICAgICAgIHNlbGYuYXNz ZXJ0VHJ1ZShycG1hdXRvc3BlYy5zcGVjZmlsZV91c2VzX3JwbWF1dG9zcGVjKAotKyAgICAgICAg ICAgIHNwZWNmaWxlX3dpdGhfcnBtYXV0b3NwZWNfY29weSwgY2hlY2tfYXV0b2NoYW5nZWxvZz1U cnVlLCBjaGVja19hdXRvcmVsZWFzZT1GYWxzZSkpCi0rICAgICAgICBvcy5yZW1vdmUoc3BlY2Zp bGVfd2l0aF9ycG1hdXRvc3BlY19jb3B5KQotLS0gCi0yLjQzLjAKLQoKZGlmZiAtLWdpdCBhLzAw MzMtVXBkYXRlLWRvY2tlci1pbWFnZS1mb3ItSmVua2lua3MtdGVzdHMucGF0Y2ggYi8wMDMzLVVw ZGF0ZS1kb2NrZXItaW1hZ2UtZm9yLUplbmtpbmtzLXRlc3RzLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwNmQ3NDdkLi4wMDAwMDAwCi0tLSBhLzAwMzMtVXBkYXRlLWRvY2tl ci1pbWFnZS1mb3ItSmVua2lua3MtdGVzdHMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MyAr MCwwIEBACi1Gcm9tIDg5OGIyYzYxNTA2ZTcyODQ3YmFlMDBhYThmZmUyMjhhZWJiNjk1NDcgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQu Y29tPgotRGF0ZTogVHVlLCA3IE1hciAyMDIzIDE5OjE1OjI4ICswMTAwCi1TdWJqZWN0OiBbUEFU Q0hdIFVwZGF0ZSBkb2NrZXIgaW1hZ2UgZm9yIEplbmtpbmtzIHRlc3RzCi0KLVJlZ2VuZXJhdGUg dGhlIGRvY2tlciBpbWFnZTogRmVkb3JhIDM1IC0tPiBGZWRvcmEgMzcuCi1KZW5raW5zZmlsZSBh cyBhIHBpcGVsaW5lIHNjcmlwdCBpcyB1bmlmaWVkIHdpdGggZmVkcGtnLgotCi1KSVJBOiBSSEVM Q01QLTExMzkxCi1TaWduZWQtb2ZmLWJ5OiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29t PgotLS0tCi0gSmVua2luc2ZpbGUgICAgICAgICAgICAgfCAxNCArKysrKysrKystLS0tLQotIGpl bmtpbnNfdGVzdC5kb2NrZXJmaWxlIHwgIDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQsIDEwIGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9KZW5raW5zZmlsZSBiL0pl bmtpbnNmaWxlCi1pbmRleCBiNjdiOWE3Li43YjY3NDJmIDEwMDY0NAotLS0tIGEvSmVua2luc2Zp bGUKLSsrKyBiL0plbmtpbnNmaWxlCi1AQCAtMjMsNyArMjMsNyBAQCBwaXBlbGluZSB7Ci0gICAg ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgICB0cnkgewotICAgICAgICAg ICAgICAgICAgICAgICAgIGVjaG8gIlJlcXVlc3RpbmcgZHVmZnkgbm9kZSAuLi4iCi0tICAgICAg ICAgICAgICAgICAgICAgICAgZGVmIHNlc3Npb25fc3RyID0gc2ggcmV0dXJuU3Rkb3V0OiB0cnVl LCBzY3JpcHQ6ICJzZXQgK3g7IGR1ZmZ5IGNsaWVudCAtLXVybCBodHRwczovL2R1ZmZ5LmNpLmNl bnRvcy5vcmcvYXBpL3YxIC0tYXV0aC1uYW1lIGZlZG9yYS1pbmZyYSAtLWF1dGgta2V5ICRDSUNP X0FQSV9LRVkgcmVxdWVzdC1zZXNzaW9uIHBvb2w9dmlydC1lYzItdDItY2VudG9zLTlzLXg4Nl82 NCxxdWFudGl0eT0xIgotKyAgICAgICAgICAgICAgICAgICAgICAgIGRlZiBzZXNzaW9uX3N0ciA9 IHNoIHJldHVyblN0ZG91dDogdHJ1ZSwgc2NyaXB0OiAic2V0ICt4OyBkdWZmeSBjbGllbnQgLS11 cmwgaHR0cHM6Ly9kdWZmeS5jaS5jZW50b3Mub3JnL2FwaS92MSAtLWF1dGgtbmFtZSBmZWRvcmEt aW5mcmEgLS1hdXRoLWtleSAkQ0lDT19BUElfS0VZIHJlcXVlc3Qtc2Vzc2lvbiBwb29sPXZpcnQt ZWMyLXQyLWNlbnRvcy04cy14ODZfNjQscXVhbnRpdHk9MSIKLSAgICAgICAgICAgICAgICAgICAg ICAgICBkZWYgc2Vzc2lvbiA9IHJlYWRKU09OIHRleHQ6IHNlc3Npb25fc3RyCi0gICAgICAgICAg ICAgICAgICAgICAgICAgRFVGRllfU0VTU0lPTl9JRD0gc2Vzc2lvbi5zZXNzaW9uLmlkCi0gICAg ICAgICAgICAgICAgICAgICAgICAgZGVmIGhvc3RuYW1lID0gc2Vzc2lvbi5zZXNzaW9uLm5vZGVz WzBdLmhvc3RuYW1lCi1AQCAtMzEsNyArMzEsNyBAQCBwaXBlbGluZSB7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgZGVmIHJlbW90ZV9kaXIgPSAiL3RtcC8kSkVOS0lOU19BR0VOVF9OQU1FIgot ICAgICAgICAgICAgICAgICAgICAgICAgIGVjaG8gInJlbW90ZV9kaXI6ICRyZW1vdGVfZGlyIgot ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRoaXMgbWFrZXMgdGVzdHMgcnVuIGluIHBhcmFs bGVsIGlmIG5lZWRlZDogIi0tcGFyYWxsZWw9YXV0byAtLXBhcmFsbGVsLWxpdmUiCi0tICAgICAg ICAgICAgICAgICAgICAgICAgZGVmIFRPWF9QT1NBUkdTID0KLSsgICAgICAgICAgICAgICAgICAg ICAgICBkZWYgVE9YX1BPU0FSR1MgPSAiIgotICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRl RmlsZSBmaWxlOiAnam9iLnNoJywgdGV4dDogIiIiCi0gc2V0IC14ZQotIGRuZiBpbnN0YWxsIC15 IGdpdCBwb2RtYW4KLUBAIC00MCwxNSArNDAsMTkgQEAgZ2l0IGNvbmZpZyAtLWdsb2JhbCB1c2Vy Lm5hbWUgImplbmtpbnMiCi0gY2QgJHJlbW90ZV9kaXIKLSBnaXQgY2xvbmUgaHR0cHM6Ly9wYWd1 cmUuaW8vcnBrZy5naXQgLWIgbWFzdGVyCi0gY2QgcnBrZwotLWdpdCByZW1vdGUgcm0gcHJvcG9z ZWQgfHwgdHJ1ZQotKyMgcmVtb3ZlIHJlbW90ZSBvbmx5IGlmIGV4aXN0cwotK3JlbW90ZXM9XCQo Z2l0IHJlbW90ZSkKLStpZiBlY2hvICJcJHJlbW90ZXMiIHwgZ3JlcCAtcSAiXnByb3Bvc2VkXCQi OyB0aGVuCi0rICBnaXQgcmVtb3RlIHJtIHByb3Bvc2VkIHx8IHRydWUKLStmaQotIGdpdCByZW1v dGUgYWRkIHByb3Bvc2VkICIkcGFyYW1zLlJFUE8iCi0gZ2l0IGZldGNoIHByb3Bvc2VkCi0gZ2l0 IGNoZWNrb3V0ICJvcmlnaW4vJHBhcmFtcy5CUkFOQ0hfVE8iCi0gZ2l0IG1lcmdlIC0tbm8tZmYg InByb3Bvc2VkLyRwYXJhbXMuQlJBTkNIIiAtbSAiTWVyZ2UgUFIiCi0gCi0tcG9kbWFuIHJ1biAt LXJtIC12IC46L3NyYzpaIHF1YXkuaW8vZXhkLWd1aWxkLXNvdXJjZS10b29scy9ycGtnLXRlc3Qg dG94IC1lIHB5MzYscHkzOSxmbGFrZTgsYmFuZGl0IC0td29ya2RpciAvdG1wL3RveCAke1RPWF9Q T1NBUkdTfQotK3BvZG1hbiBydW4gLS1ybSAtdiAuOi9zcmM6WiBxdWF5LmlvL2V4ZC1ndWlsZC1z b3VyY2UtdG9vbHMvcnBrZy10ZXN0OmxhdGVzdCB0b3ggLWUgcHkzNixweTM5LGZsYWtlOCxiYW5k aXQgLS13b3JrZGlyIC90bXAvdG94ICR7VE9YX1BPU0FSR1N9Ci0gIyBkaXNhYmxlZCBweTI3IGVu dmlyb25tZW50IGZvciBub3c7IGtlZXAganVzdCBmbGFrZTggZm9yIFB5dGhvbiAyCi0tcG9kbWFu IHJ1biAtLXJtIC12IC46L3NyYzpaIHF1YXkuaW8vZXhkLWd1aWxkLXNvdXJjZS10b29scy9ycGtn LXRlc3QtcHkyIHRveCAtZSBmbGFrZThweXRob24yIC0td29ya2RpciAvdG1wL3RveCAke1RPWF9Q T1NBUkdTfQotK3BvZG1hbiBydW4gLS1ybSAtdiAuOi9zcmM6WiBxdWF5LmlvL2V4ZC1ndWlsZC1z b3VyY2UtdG9vbHMvcnBrZy10ZXN0LXB5MjpsYXRlc3QgdG94IC1lIGZsYWtlOHB5dGhvbjIgLS13 b3JrZGlyIC90bXAvdG94ICR7VE9YX1BPU0FSR1N9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg IiIiCi0gICAgICAgICAgICAgICAgICAgICAgICAgc2ggImNhdCBqb2Iuc2giCi0gICAgICAgICAg ICAgICAgICAgICAgICAgc2ggInNzaCAtbyBTdHJpY3RIb3N0S2V5Q2hlY2tpbmc9bm8gcm9vdEAk aG9zdG5hbWUgbWtkaXIgJHJlbW90ZV9kaXIiCi1kaWZmIC0tZ2l0IGEvamVua2luc190ZXN0LmRv Y2tlcmZpbGUgYi9qZW5raW5zX3Rlc3QuZG9ja2VyZmlsZQotaW5kZXggNDMyNDViMS4uZGY4NzYy ZSAxMDA2NDQKLS0tLSBhL2plbmtpbnNfdGVzdC5kb2NrZXJmaWxlCi0rKysgYi9qZW5raW5zX3Rl c3QuZG9ja2VyZmlsZQotQEAgLTEsNCArMSw0IEBACi0tRlJPTSBmZWRvcmE6MzUKLStGUk9NIGZl ZG9yYTozNwotIExBQkVMIFwKLSAgICAgbmFtZT0icnBrZyB0ZXN0IiBcCi0gICAgIGRlc2NyaXB0 aW9uPSJSdW4gdGVzdHMgdXNpbmcgdG94IHdpdGggUHl0aG9uIDMiIFwKLS0tIAotMi40My4wCi0K CmRpZmYgLS1naXQgYS8wMDM0LW1vY2tidWlsZC1uZXctYXJndW1lbnQtZXh0cmEtcGtncy5wYXRj aCBiLzAwMzQtbW9ja2J1aWxkLW5ldy1hcmd1bWVudC1leHRyYS1wa2dzLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA5NTc5ZGQzLi4wMDAwMDAwCi0tLSBhLzAwMzQtbW9ja2J1 aWxkLW5ldy1hcmd1bWVudC1leHRyYS1wa2dzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjgg KzAsMCBAQAotRnJvbSA4OWQzYmIwZDM0MjUwZmUyNGVlZDViYzYzZWRkOTkyZTkzMmE2MjJhIE1v biBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP09uZD1DNT05OWVqPTIwTm9z ZWs/PSA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBXZWQsIDE1IE5vdiAyMDIzIDAyOjUzOjEw ICswMTAwCi1TdWJqZWN0OiBbUEFUQ0ggMTQvMTddIGBtb2NrYnVpbGRgOiBuZXcgYXJndW1lbnQg LS1leHRyYS1wa2dzCi1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWlu OyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLUFkZGVk IHRoZSBuZXcgYXJndW1lbnQgYC0tZXh0cmEtcGtnc2AgdG8gYG1vY2tidWlsZGAgY29tbWFuZC4K LUl0IGluc3RhbGxzIGFkZGl0aW9uYWwgcGFja2FnZXMgdG8gbW9jaydzIGNocm9vdC4gSW4gc29t ZSBjYXNlcyBpcwotcG9zc2libGUgdG8gdXNlIHRoZSBjdXJyZW50IG1lY2hhbmlzbSBvZiBleHRy YSBhcmdzIHBsYWNlZAotYWZ0ZXIgYC0tYCBhdCB0aGUgZW5kIG9mIHRoZSBjb21tYW5kIGxpbmUg aW5zdGVhZCBvZiBgLS1leHRyYS1wa2dzYC4KLQotICBFeGFtcGxlOiBmZWRwa2cgbW9ja2J1aWxk IC0tIC0tYWRkaXRpb25hbC1wYWNrYWdlIDxwa2c+Ci0KLUFyZ3VtZW50KHMpIGBhZGRpdGlvbmFs LXBhY2thZ2VgIGlzIHBhc3NlZCB0byBgbW9ja2AuCi1gYWRkaXRpb25hbC1wYWNrYWdlYCBjYW4n dCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggYC0tc2hlbGxgLgotCi1KSVJBOiBSSEVMQ01QLTExMDE3 Ci1GaXhlczogaHR0cHM6Ly9wYWd1cmUuaW8vZmVkcGtnL2lzc3VlLzQ5OAotCi1TaWduZWQtb2Zm LWJ5OiBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KLS0tLQotIHB5cnBrZy9jbGku cHkgfCAyMSArKysrKysrKysrKysrKysrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgMjEgaW5zZXJ0 aW9ucygrKQotCi1kaWZmIC0tZ2l0IGEvcHlycGtnL2NsaS5weSBiL3B5cnBrZy9jbGkucHkKLWlu ZGV4IDZmZDZkZjAuLjA2ZjRjMWEgMTAwNjQ0Ci0tLS0gYS9weXJwa2cvY2xpLnB5Ci0rKysgYi9w eXJwa2cvY2xpLnB5Ci1AQCAtMTE1Miw2ICsxMTUyLDkgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVj dCk6Ci0gICAgICAgICAgICAgJy0tdXNlLWxvY2FsLW1vY2stY29uZmlnJywgZGVmYXVsdD1Ob25l LCBkZXN0PSJsb2NhbF9tb2NrX2NvbmZpZyIsCi0gICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90 cnVlJywKLSAgICAgICAgICAgICBoZWxwPSJFbmZvcmNlIHVzZSBvZiBsb2NhbCBNb2NrIGNvbmZp Z3VyYXRpb24uIikKLSsgICAgICAgIG1vY2tidWlsZF9wYXJzZXIuYWRkX2FyZ3VtZW50KAotKyAg ICAgICAgICAgICctLWV4dHJhLXBrZ3MnLCBhY3Rpb249J2FwcGVuZCcsIG5hcmdzPScqJywKLSsg ICAgICAgICAgICBoZWxwPSJJbnN0YWxsIGFkZGl0aW9uYWwgcGFja2FnZXMgaW50byBjaHJvb3Qi KQotIAotICAgICAgICAgbW9ja2J1aWxkX3BhcnNlci5zZXRfZGVmYXVsdHMoY29tbWFuZD1zZWxm Lm1vY2tidWlsZCkKLSAKLUBAIC0yNTE0LDYgKzI1MTcsMjQgQEAgY2xhc3MgY2xpQ2xpZW50KG9i amVjdCk6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICIlcy0lcy0lcy5zcmMucnBtIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAlIChzZWxmLmNtZC5yZXBvX25hbWUsIHNlbGYuY21kLnZlciwgc2VsZi5j bWQucmVsKSkKLSAgICAgICAgICAgICAgICAgc2VsZi5sb2cuZGVidWcoJ1NycG0gZ2VuZXJhdGVk OiB7MH0nLmZvcm1hdChzZWxmLmNtZC5zcnBtbmFtZSkpCi0rICAgICAgICAgICAgaWYgc2VsZi5h cmdzLmV4dHJhX3BrZ3M6Ci0rICAgICAgICAgICAgICAgIG1vY2thcmdzX2V4dHJhX3BrZ3MgPSBb XQotKyAgICAgICAgICAgICAgICBsaXN0X2V4dHJhX3BrZ3MgPSBbXQotKyAgICAgICAgICAgICAg ICAjIHByb2Nlc3MgcG9zc2libGUgbXVsdGlwbGUgYXJndW1lbnQncyBvY2N1cnJlbmNlcwotKyAg ICAgICAgICAgICAgICBmb3IgYXJnX2FyciBpbiBzZWxmLmFyZ3MuZXh0cmFfcGtnczoKLSsgICAg ICAgICAgICAgICAgICAgIGZvciBhZGRpdGlvbmFsX3BhY2thZ2UgaW4gYXJnX2FycjoKLSsgICAg ICAgICAgICAgICAgICAgICAgICBtb2NrYXJnc19leHRyYV9wa2dzLmV4dGVuZChbJy0tYWRkaXRp b25hbC1wYWNrYWdlJywgYWRkaXRpb25hbF9wYWNrYWdlXSkKLSsgICAgICAgICAgICAgICAgICAg ICAgICBsaXN0X2V4dHJhX3BrZ3MuYXBwZW5kKGFkZGl0aW9uYWxfcGFja2FnZSkKLSsgICAgICAg ICAgICAgICAgIyBpbnN0YWxsYXRpb24gd2lsbCBydW4gaW4gc2VwYXJhdGVkIG1vY2sgcHJvY2Vz cywgc28gZG8gbm90IGNsZWFuIHByZXBhcmVkIGNocm9vdAotKyAgICAgICAgICAgICAgICAjIGJl Zm9yZSB0aGUgbWFpbiBtb2NrIHJ1bgotKyAgICAgICAgICAgICAgICBtb2NrYXJnc19leHRyYV9w a2dzLmV4dGVuZChbJy0tbm8tY2xlYW51cC1hZnRlciddKQotKyAgICAgICAgICAgICAgICBzZWxm LmxvZy5pbmZvKCdJbnN0YWxsaW5nIGV4dHJhIHBhY2thZ2VzIGludG8gdGhlIG1vY2sgY2hyb290 OiB7fScuZm9ybWF0KAotKyAgICAgICAgICAgICAgICAgICAgJywgJy5qb2luKGxpc3RfZXh0cmFf cGtncykpKQotKyAgICAgICAgICAgICAgICBzZWxmLmNtZC5tb2NrYnVpbGQobW9ja2FyZ3NfZXh0 cmFfcGtncywgc2VsZi5hcmdzLnJvb3QsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBoYXNodHlwZT1zZWxmLmFyZ3MuaGFzaCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNoZWxsPU5vbmUsICAjIG5vc2VjCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBmb3JjZV9sb2NhbF9tb2NrX2NvbmZpZz1zZWxmLmFyZ3MubG9jYWxfbW9ja19j b25maWcpCi0rCi0gICAgICAgICAgICAgc2VsZi5jbWQubW9ja2J1aWxkKG1vY2thcmdzLCBzZWxm LmFyZ3Mucm9vdCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzaHR5cGU9c2Vs Zi5hcmdzLmhhc2gsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsPXNlbGYu YXJncy5zaGVsbCwgICMgbm9zZWMKLS0tIAotMi40My4wCi0KCmRpZmYgLS1naXQgYS8wMDM1LUFk ZC1vcHRpb24tdG8tbW9ja2J1aWxkLXVzZS1kZWZhdWx0LXJlc3VsdGRpci1vZi1tb2MucGF0Y2gg Yi8wMDM1LUFkZC1vcHRpb24tdG8tbW9ja2J1aWxkLXVzZS1kZWZhdWx0LXJlc3VsdGRpci1vZi1t b2MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDlmOGY0YTAuLjAwMDAwMDAK LS0tIGEvMDAzNS1BZGQtb3B0aW9uLXRvLW1vY2tidWlsZC11c2UtZGVmYXVsdC1yZXN1bHRkaXIt b2YtbW9jLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjkgKzAsMCBAQAotRnJvbSA0NDZiODBh ZDc0Njc3MWRiZmE5Mzg0NzY1MDRlMTNjODI5ZjJlN2Y2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQotRnJvbTogPT9VVEYtOD9xP1M9QzM9QTlyZ2lvPTIwTT0yRT0yMEJhc3RvPz0gPHNlcmdpb0Bz ZXJqdXguY29tPgotRGF0ZTogTW9uLCAzIE9jdCAyMDIyIDAxOjExOjIwICswMTAwCi1TdWJqZWN0 OiBbUEFUQ0ggMTcvMTddIEFkZCBvcHRpb24gdG8gbW9ja2J1aWxkIHVzZSBkZWZhdWx0IHJlc3Vs dGRpciBvZiBtb2NrCi0gKHYzKQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4 dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAot Ci1NZXJnZXM6IGh0dHBzOi8vcGFndXJlLmlvL3Jwa2cvcHVsbC1yZXF1ZXN0LzYzNwotCi1TaWdu ZWQtb2ZmLWJ5OiBTw6lyZ2lvIE0uIEJhc3RvIDxzZXJnaW9Ac2VyanV4LmNvbT4KLS0tLQotIHB5 cnBrZy9fX2luaXRfXy5weSB8IDYgKysrKy0tCi0gcHlycGtnL2NsaS5weSAgICAgIHwgNyArKysr KystCi0gMiBmaWxlcyBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQot Ci1kaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5Ci1p bmRleCBkMmQ4YzhhLi40YzU2MTY5IDEwMDY0NAotLS0tIGEvcHlycGtnL19faW5pdF9fLnB5Ci0r KysgYi9weXJwa2cvX19pbml0X18ucHkKLUBAIC0zMTI3LDcgKzMxMjcsNyBAQCBjbGFzcyBDb21t YW5kcyhvYmplY3QpOgotICAgICAgICAgcmV0dXJuIHJvb3QsIGNvbmZpZ19kaXIKLSAKLSAgICAg ZGVmIG1vY2tidWlsZChzZWxmLCBtb2NrYXJncz1bXSwgcm9vdD1Ob25lLCBoYXNodHlwZT1Ob25l LCBzaGVsbD1Ob25lLAotLSAgICAgICAgICAgICAgICAgIGZvcmNlX2xvY2FsX21vY2tfY29uZmln PU5vbmUsIHNycG1fbW9jaz1GYWxzZSk6Ci0rICAgICAgICAgICAgICAgICAgZm9yY2VfbG9jYWxf bW9ja19jb25maWc9Tm9uZSwgc3JwbV9tb2NrPUZhbHNlLCBkZWZhdWx0X21vY2tfcmVzdWx0ZGly PUZhbHNlKToKLSAgICAgICAgICIiIkJ1aWxkIHRoZSBwYWNrYWdlIGluIG1vY2ssIHVzaW5nIG1v Y2thcmdzCi0gCi0gICAgICAgICBMb2cgdGhlIG91dHB1dCBhbmQgcmV0dXJucyBub3RoaW5nCi1A QCAtMzE2Nyw3ICszMTY3LDkgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKLSAgICAgICAgIGlm IGNvbmZpZ19kaXI6Ci0gICAgICAgICAgICAgY21kLmV4dGVuZChbJy0tY29uZmlnZGlyJywgY29u ZmlnX2Rpcl0pCi0gCi0tICAgICAgICBjbWQgKz0gWyctcicsIHJvb3QsICctLXJlc3VsdGRpcics IHNlbGYubW9ja19yZXN1bHRzX2Rpcl0KLSsgICAgICAgIGNtZCArPSBbJy1yJywgcm9vdF0KLSsg ICAgICAgIGlmIGRlZmF1bHRfbW9ja19yZXN1bHRkaXIgaXMgbm90IFRydWU6Ci0rICAgICAgICAg ICAgY21kICs9IFsnLS1yZXN1bHRkaXInLCBzZWxmLm1vY2tfcmVzdWx0c19kaXJdCi0gCi0gICAg ICAgICBpZiBzaGVsbDoKLSAgICAgICAgICAgICBjbWQuYXBwZW5kKCctLXNoZWxsJykKLWRpZmYg LS1naXQgYS9weXJwa2cvY2xpLnB5IGIvcHlycGtnL2NsaS5weQotaW5kZXggYjZhZGFhZC4uNjIx ZGYzMiAxMDA2NDQKLS0tLSBhL3B5cnBrZy9jbGkucHkKLSsrKyBiL3B5cnBrZy9jbGkucHkKLUBA IC0xMTU0LDYgKzExNTQsMTAgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6Ci0gICAgICAgICAg ICAgJy0tdXNlLWxvY2FsLW1vY2stY29uZmlnJywgZGVmYXVsdD1Ob25lLCBkZXN0PSJsb2NhbF9t b2NrX2NvbmZpZyIsCi0gICAgICAgICAgICAgYWN0aW9uPSdzdG9yZV90cnVlJywKLSAgICAgICAg ICAgICBoZWxwPSJFbmZvcmNlIHVzZSBvZiBsb2NhbCBNb2NrIGNvbmZpZ3VyYXRpb24uIikKLSsg ICAgICAgIG1vY2tidWlsZF9wYXJzZXIuYWRkX2FyZ3VtZW50KAotKyAgICAgICAgICAgICctLWRl ZmF1bHQtbW9jay1yZXN1bHRkaXInLCBkZWZhdWx0PU5vbmUsIGRlc3Q9ImRlZmF1bHRfbW9ja19y ZXN1bHRkaXIiLAotKyAgICAgICAgICAgIGFjdGlvbj0nc3RvcmVfdHJ1ZScsCi0rICAgICAgICAg ICAgaGVscD0iRG9uJ3QgbW9kaWZ5IE1vY2sgcmVzdWx0ZGlyLiIpCi0gICAgICAgICBtb2NrYnVp bGRfcGFyc2VyLmFkZF9hcmd1bWVudCgKLSAgICAgICAgICAgICAnLS1leHRyYS1wa2dzJywgYWN0 aW9uPSdhcHBlbmQnLCBuYXJncz0nKicsCi0gICAgICAgICAgICAgaGVscD0iSW5zdGFsbCBhZGRp dGlvbmFsIHBhY2thZ2VzIGludG8gY2hyb290IikKLUBAIC0yNTQ0LDcgKzI1NDgsOCBAQCBjbGFz cyBjbGlDbGllbnQob2JqZWN0KToKLSAgICAgICAgICAgICBzZWxmLmNtZC5tb2NrYnVpbGQobW9j a2FyZ3MsIHNlbGYuYXJncy5yb290LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBo YXNodHlwZT1zZWxmLmFyZ3MuaGFzaCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2hlbGw9c2VsZi5hcmdzLnNoZWxsLCAgIyBub3NlYwotLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb3JjZV9sb2NhbF9tb2NrX2NvbmZpZz1zZWxmLmFyZ3MubG9jYWxfbW9ja19jb25m aWcpCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcmNlX2xvY2FsX21vY2tfY29u ZmlnPXNlbGYuYXJncy5sb2NhbF9tb2NrX2NvbmZpZywKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGVmYXVsdF9tb2NrX3Jlc3VsdGRpcj1zZWxmLmFyZ3MuZGVmYXVsdF9tb2NrX3Jl c3VsdGRpcikKLSAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKLSAgICAgICAgICAgICBy YWlzZSBycGtnRXJyb3IoZSkKLSAKLS0tIAotMi40My4wCi0KCmRpZmYgLS1naXQgYS8wMDM2LUZp eC1jb21wYXRpYmlsaXR5LXdpdGgtUHl0aG9uLTMuMTMtcmhiei0yMjc2ODk2LnBhdGNoIGIvMDAz Ni1GaXgtY29tcGF0aWJpbGl0eS13aXRoLVB5dGhvbi0zLjEzLXJoYnotMjI3Njg5Ni5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg5N2Q1ZC4uMDAwMDAwMAotLS0gYS8wMDM2 LUZpeC1jb21wYXRpYmlsaXR5LXdpdGgtUHl0aG9uLTMuMTMtcmhiei0yMjc2ODk2LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjkgKzAsMCBAQAotRnJvbSA4YWJlZGM1N2IxZjViMzk2ZWExYWNk ZjliNDc2YTI5OWU4MTQxZWFiIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYt OD9xP09uZD1DNT05OWVqPTIwTm9zZWs/PSA8b25vc2VrQHJlZGhhdC5jb20+Ci1EYXRlOiBUaHUs IDIzIE1heSAyMDI0IDExOjIzOjAzICswMDAwCi1TdWJqZWN0OiBbUEFUQ0hdIEZpeCBjb21wYXRp YmlsaXR5IHdpdGggUHl0aG9uIDMuMTMrIC0gcmhieiMyMjc2ODk2Ci1NSU1FLVZlcnNpb246IDEu MAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Ci1Db250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiA4Yml0Ci0KLVNpZ25lZC1vZmYtYnk6IE9uZMWZZWogTm9zZWsgPG9ub3Nl a0ByZWRoYXQuY29tPgotLS0tCi0gcHlycGtnL2xvb2thc2lkZS5weSB8IDIgKy0KLSAxIGZpbGUg Y2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3B5 cnBrZy9sb29rYXNpZGUucHkgYi9weXJwa2cvbG9va2FzaWRlLnB5Ci1pbmRleCAwMWVlZTRhLi5k Yzg0YjFkIDEwMDY0NAotLS0tIGEvcHlycGtnL2xvb2thc2lkZS5weQotKysrIGIvcHlycGtnL2xv b2thc2lkZS5weQotQEAgLTQwNiw3ICs0MDYsNyBAQCBjbGFzcyBDR0lMb29rYXNpZGVDYWNoZShv YmplY3QpOgotICAgICAgICAgICAgICAgICAgICAgdHJ5OgotICAgICAgICAgICAgICAgICAgICAg ICAgIHJldHVybiBmdW5jdGlvbigqYXJncywgKiprd2FyZ3MpCi0gICAgICAgICAgICAgICAgICAg ICBleGNlcHQgd2FpdF9vbiBhcyBlOgotLSAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9n Lndhcm4oIk5ldHdvcmsgZXJyb3I6ICVzIiAlIChlKSkKLSsgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLmxvZy53YXJuaW5nKCJOZXR3b3JrIGVycm9yOiAlcyIgJSAoZSkpCi0gICAgICAgICAg ICAgICAgICAgICAgICAgYXR0ZW1wdHNfbGVmdCAtPSAxCi0gICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5sb2cuZGVidWcoIkF0dGVtcHQgJWQvJWQgaGFzIGZhaWxlZC4iCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJSAoYXR0ZW1wdHNfYWxsIC0gYXR0ZW1wdHNf bGVmdCwgYXR0ZW1wdHNfYWxsKSkKLS0tIAotMi40My4yCi0KCmRpZmYgLS1naXQgYS9ycGtnLnNw ZWMgYi9ycGtnLnNwZWMKaW5kZXggODdlYjE5Ny4uZWViYmU0NyAxMDA2NDQKLS0tIGEvcnBrZy5z cGVjCisrKyBiL3Jwa2cuc3BlYwpAQCAtMSw2ICsxLDYgQEAKIE5hbWU6ICAgICAgICAgICBycGtn Ci1WZXJzaW9uOiAgICAgICAgMS42NgotUmVsZWFzZTogICAgICAgIDE5JXs/ZGlzdH0KK1ZlcnNp b246ICAgICAgICAxLjY3CitSZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CiAKIFN1bW1hcnk6ICAg ICAgICBQeXRob24gbGlicmFyeSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBycG0rZ2l0CiBMaWNlbnNl OiAgICAgICAgR1BMdjIrIGFuZCBMR1BMdjIKQEAgLTM3LDM5ICszNyw3IEBAIFBhdGNoMjogICAg ICAgICAwMDAyLVJlbW92ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoCiAlaWYgMCV7 P3dpdGhfcHl0aG9uMn0KIFBhdGNoMzogICAgICAgICAwMDAzLVJlbW92ZS1FbnZpcm9ubWVudC1N YXJrZXJzLXN5bnRheC5wYXRjaAogJWVuZGlmCi1QYXRjaDQ6ICAgICAgICAgMDAwNC1Qcm9jZXNz LXNvdXJjZS1VUkxzLXdpdGgtZnJhZ21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaAotUGF0Y2g1 OiAgICAgICAgIDAwMDUtY29udGFpbmVyLWJ1aWxkLXVwZGF0ZS1zaWduaW5nLWludGVudC1oZWxw LWZvci1PU0JTLS5wYXRjaAotUGF0Y2g2OiAgICAgICAgIDAwMzMtVXBkYXRlLWRvY2tlci1pbWFn ZS1mb3ItSmVua2lua3MtdGVzdHMucGF0Y2gKLVBhdGNoNzogICAgICAgICAwMDA2LURvLW5vdC1n ZW5lcmF0ZS1wcmUtcHVzaC1ob29rLXNjcmlwdC1pbi1zb21lLWNhc2VzLnBhdGNoCi1QYXRjaDg6 ICAgICAgICAgMDAwNy1Nb3JlLXJvYnVzdC1zcGVjLWZpbGUtcHJlc2VuY2UtY2hlY2tpbmcucGF0 Y2gKLVBhdGNoOTogICAgICAgICAwMDA4LVVwZGF0ZS10by1zcGVjLWZpbGUtcHJlc2VuY2UtY2hl Y2tpbmcucGF0Y2gKLVBhdGNoMTA6ICAgICAgICAwMDA5LUFkZC1tb3JlLWluZm9ybWF0aW9uLWFi b3V0LXByZS1wdXNoLWhvb2sucGF0Y2gKLVBhdGNoMTE6ICAgICAgICAwMDEwLXByZS1wdXNoLWNo ZWNrLWhhdmUtdG8tdXNlLXNwZWN0b29sLXdpdGgtZGVmaW5lLnBhdGNoCi1QYXRjaDEyOiAgICAg ICAgMDAxMS1BLUhFQUQtcXVlcnktaW50by1hLWxvb2thc2lkZS1jYWNoZS5wYXRjaAotUGF0Y2gx MzogICAgICAgIDAwMTItcHJlLXB1c2gtaG9vay1zY3JpcHQtY29udGFpbnMtYS11c2VyLXMtY29u ZmlnLnBhdGNoCi1QYXRjaDE0OiAgICAgICAgMDAxMy1GaXgtdW5pdHRlc3RzLWZvci1jbG9uZS1h bmQtcHJlLXB1c2gtaG9vay1zY3JpcHQucGF0Y2gKLVBhdGNoMTU6ICAgICAgICAwMDE0LWltcG9y dF9zcnBtLWFsbG93LXByZS1nZW5lcmF0ZWQtc3JwbXMucGF0Y2gKLVBhdGNoMTY6ICAgICAgICAw MDE1LUlnbm9yZS1taXNzaW5nLXNwZWMtZmlsZS1pbi1wcmUtcHVzaC1ob29rLnBhdGNoCi1QYXRj aDE3OiAgICAgICAgMDAxNi1DaGVjay1yZW1vdGUtZmlsZS13aXRoLWNvcnJlY3QtaGFzaC5wYXRj aAotUGF0Y2gxODogICAgICAgIDAwMTctQWxsb3ctZW1wdHktY29tbWl0cy13aGVuLXVzZXNfcnBt YXV0b3NwZWMucGF0Y2gKLVBhdGNoMTk6ICAgICAgICAwMDE4LUNvbmZpZy1maWxlLW9wdGlvbi10 by1za2lwLXRoZS1ob29rLXNjcmlwdC1jcmVhdGlvbi5wYXRjaAotUGF0Y2gyMDogICAgICAgIDAw MTktUHJlLXB1c2gtaG9vay13b24tdC1jaGVjay1wcml2YXRlLWJyYW5jaGVzLnBhdGNoCi1QYXRj aDIxOiAgICAgICAgMDAyMC1Vc2UtcmVsZWFzZS1zLXJwbWRlZmluZXMtaW4tdW51c2VkLXNvdXJj ZXMtY2hlY2sucGF0Y2gKLVBhdGNoMjI6ICAgICAgICAwMDIxLURvLW5vdC1yZXF1aXJlLXNvdXJj ZXMtZmlsZS1mb3ItYWxsLW5hbWVzcGFjZXMucGF0Y2gKLVBhdGNoMjM6ICAgICAgICAwMDIyLWNv cHItYnVpbGQtcGFzc2VzLWV4dHJhX2FyZ3MtdG8tY29wci1jbGktY29tbWFuZC5wYXRjaAotUGF0 Y2gyNDogICAgICAgIDAwMjMtY29tbWl0LWNvbW1hbmQtZmFpbHMtb24tY29udGFpbmVycy1uYW1l c3BhY2UucGF0Y2gKLVBhdGNoMjU6ICAgICAgICAwMDI0LVNwbGl0LWdpdC1jcmVkZW50aWFsLWRh dGEtb24tZmlyc3Qtb25seS5wYXRjaAotUGF0Y2gyNjogICAgICAgIDAwMjUtU3VwcG9ydC1mb3It Y2hlY2tpbmctZXhwbG9kZWQtc291cmNlcy1iZWZvcmUtcHVzaC5wYXRjaAotUGF0Y2gyNzogICAg ICAgIDAwMjYtRml4LWZsYWtlOC1jb21wbGFpbnRzLnBhdGNoCi1QYXRjaDI4OiAgICAgICAgMDAy Ny1QcmVwYXJlLXRoZS1sb29rYXNpZGUtY2FjaGUtY29kZS1mb3ItcmV0cmllcy5wYXRjaAotUGF0 Y2gyOTogICAgICAgIDAwMjgtTG9va2FzaWRlLWNhY2hlLW9wZXJhdGlvbnMtcmV0cmllcy5wYXRj aAotUGF0Y2gzMDogICAgICAgIDAwMjktTWFrZS1sb29rYXNpZGUtY2FjaGUtcmV0cmllcy1jb25m aWd1cmFibGUucGF0Y2gKLVBhdGNoMzE6ICAgICAgICAwMDMwLXBrZy1pbXBvcnQtRG9uLXQtZGVs ZXRlLWNoYW5nZWxvZy1nZW5lcmF0ZWQtYnktcnBtYXUucGF0Y2gKLVBhdGNoMzI6ICAgICAgICAw MDMxLXBrZy1pbXBvcnQtVW5kby1ycG1hdXRvc3BlYy1wcm9jZXNzaW5nLnBhdGNoCi1QYXRjaDMz OiAgICAgICAgMDAzMi1Vbml0dGVzdHMtZm9yLVVuZG8tcnBtYXV0b3NwZWMtcHJvY2Vzc2luZy5w YXRjaAotUGF0Y2gzNDogICAgICAgIDAwMzQtbW9ja2J1aWxkLW5ldy1hcmd1bWVudC1leHRyYS1w a2dzLnBhdGNoCi1QYXRjaDM1OiAgICAgICAgMDAzNS1BZGQtb3B0aW9uLXRvLW1vY2tidWlsZC11 c2UtZGVmYXVsdC1yZXN1bHRkaXItb2YtbW9jLnBhdGNoCi1QYXRjaDM2OiAgICAgICAgMDAzNi1G aXgtY29tcGF0aWJpbGl0eS13aXRoLVB5dGhvbi0zLjEzLXJoYnotMjI3Njg5Ni5wYXRjaAorCiAK ICVkZXNjcmlwdGlvbgogUHl0aG9uIGxpYnJhcnkgZm9yIGludGVyYWN0aW5nIHdpdGggcnBtK2dp dApAQCAtOTEsNyArNTksNyBAQCBCdWlsZFJlcXVpcmVzOiAgUHlZQU1MCiBCdWlsZFJlcXVpcmVz OiAgR2l0UHl0aG9uCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uLXB5Y3VybAogQnVpbGRSZXF1aXJl czogIHB5dGhvbi1yZXF1ZXN0cwotQnVpbGRSZXF1aXJlczogIHB5dGhvbi1yZXF1ZXN0cy1rZXJi ZXJvcworQnVpbGRSZXF1aXJlczogIHB5dGhvbi1yZXF1ZXN0cy1nc3NhcGkKIEJ1aWxkUmVxdWly ZXM6ICBweXRob24tc2l4ID49IDEuOS4wCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMi1hcmdjb21w bGV0ZQogQnVpbGRSZXF1aXJlczogIHB5dGhvbjItbW9jawpAQCAtMTEwLDcgKzc4LDcgQEAgUmVx dWlyZXM6ICAgICAgIFB5WUFNTAogUmVxdWlyZXM6ICAgICAgIEdpdFB5dGhvbiA+PSAwLjIuMAog UmVxdWlyZXM6ICAgICAgIHB5dGhvbi1weWN1cmwKIFJlcXVpcmVzOiAgICAgICBweXRob24tcmVx dWVzdHMKLVJlcXVpcmVzOiAgICAgICBweXRob24tcmVxdWVzdHMta2VyYmVyb3MKK1JlcXVpcmVz OiAgICAgICBweXRob24tcmVxdWVzdHMtZ3NzYXBpCiBSZXF1aXJlczogICAgICAgcHl0aG9uLXNp eCA+PSAxLjkuMAogUmVxdWlyZXM6ICAgICAgIHJwbS1weXRob24KIApAQCAtMTQ1LDcgKzExMyw3 IEBAIEJ1aWxkUmVxdWlyZXM6ICBweXRob24zLWtvamkgPj0gMS4yNAogJWlmIDAlez9yaGVsfQog QnVpbGRSZXF1aXJlczogIHB5dGhvbjMtZ29iamVjdC1iYXNlCiBCdWlsZFJlcXVpcmVzOiAgbGli bW9kdWxlbWQKLUJ1aWxkUmVxdWlyZXM6ICBweXRob24zLXJlcXVlc3RzLWtlcmJlcm9zCitCdWls ZFJlcXVpcmVzOiAgcHl0aG9uMy1yZXF1ZXN0cy1nc3NhcGkKICVlbHNlCiBCdWlsZFJlcXVpcmVz OiAgcHl0aG9uMy1saWJtb2R1bGVtZAogJWVuZGlmCkBAIC0xNzQsNyArMTQyLDcgQEAgUmVxdWly ZXM6ICAgICAgIHB5dGhvbjMta29qaSA+PSAxLjI0CiAlaWYgMCV7P3JoZWx9CiBSZXF1aXJlczog ICAgICAgcHl0aG9uMy1nb2JqZWN0LWJhc2UKIFJlcXVpcmVzOiAgICAgICBsaWJtb2R1bGVtZAot UmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtcmVxdWVzdHMta2VyYmVyb3MKK1JlcXVpcmVzOiAgICAg ICBweXRob24zLXJlcXVlc3RzLWdzc2FwaQogJWVsc2UKIFJlcXVpcmVzOiAgICAgICBweXRob24z LWxpYm1vZHVsZW1kCiBSZXF1aXJlczogICAgICAgcHl0aG9uMy1ycG1hdXRvc3BlYyA+PSAwLjMu OApAQCAtMjg2LDkgKzI1NCw2MiBAQCBleGFtcGxlX2NsaV9kaXI9JFJQTV9CVUlMRF9ST09UJXtf ZGF0YWRpcn0vJXtuYW1lfS9leGFtcGxlcy9jbGkKIAogCiAlY2hhbmdlbG9nCisqIFR1ZSBKdW4g MjUgMjAyNCBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjY3LTEKKy0gSW5j bHVkZSBVUkwgaW4gdXBsb2FkL2Rvd25sb2FkICh3YWx0ZXJzKQorLSBVc2UgcHl0aG9uLXJlcXVl c3RzLWdzc2FwaSBpbnN0ZWFkIG9mIC1rZXJiZXJvcyAobHNlZGxhcikKKy0gbWFuIHBhZ2UgZ2Vu ZXJhdG9yOiB1c2UgJFNPVVJDRV9EQVRFX0VQT0NIIGlmIHNwZWNpZmllZCAoemJ5c3playkKKy0g ZG8gbm90IGJsb2NrIHRhZyAtLWNsb2cgZHVlIGF1dG9zcGVjIHVzYWdlIChtc3VjaHkpCistIFBy b2Nlc3Npbmcgb2YgYW5vdGhlciByZXR1cm4gbWVzc2FnZSBmcm9tIGxvb2thc2lkZSBjYWNoZSAo b25vc2VrKQorLSBBbGxvdyBzZXR0aW5nIC0tZm9yY2UgZm9yIHNvdXJjZXMgY29tbWFuZCBieSBl bnYgdmFyIChsc2VkbGFyKQorLSBVcGRhdGUgZG9ja2VyIGltYWdlIGZvciBKZW5raW5rcyB0ZXN0 cyAob25vc2VrKQorLSAnX3NldF90b2tlbicgbWV0aG9kIG1vdmVkIHRvIGEgc2hhcmVkIHBsYWNl IChvbm9zZWspCistIEZpeCBjb3ByLWJ1aWxkIGNvbW1hbmQgd2l0aCByZXN1bHRzX2Rpcj1zdWJk aXIgb3B0aW9uIChvdHRvLmxpbGphbGFha3NvKQorLSBtb2NrYnVpbGQ6IHVzZSByZXN1bHRzL21v Y2tfKiB3aGVuIHJlc3VsdHNfZGlyPXN1YmRpciAodG16KQorLSBBZGQgb3B0aW9uIHRvIG1vY2ti dWlsZCB1c2UgZGVmYXVsdCByZXN1bHRkaXIgb2YgbW9jayAodjMpIChzZXJnaW8pCistIFJlc3Ry aWN0IGNvbXBsZXRpb24gdG8gLnNyYy5ycG0gZmlsZXMgZm9yIGltcG9ydCAtICM3MDYgKG9yaW9u KQorLSBgcmVtb3RlIGFkZGAgY29tbWFuZDogY3JlYXRlIGEgbm9uLWFub255bW91cyByZW1vdGUg LSAjNTk5IChvbm9zZWspCistIGBtb2NrYnVpbGRgOiBuZXcgYXJndW1lbnQgLS1leHRyYS1wa2dz IC0gNDk4IChvbm9zZWspCistICpwa2cgaW1wb3J0OiBjaGVjayBzcGVjZmlsZSBtYXRjaGVzIHRo ZSByZXBvIG5hbWUgLSA1MjkgKG9ub3NlaykKKy0gRml4ZXMgc3ludGF4IGlzc3VlcyByZXBvcnRl ZCBieSBmbGFrZTggKG9ub3NlaykKKy0gVW5pdHRlc3RzIGZvciAiVW5kbyBycG1hdXRvc3BlYyBw cm9jZXNzaW5nIiAob25vc2VrKQorLSAqcGtnIGltcG9ydDogVW5kbyBycG1hdXRvc3BlYyBwcm9j ZXNzaW5nIC0gNTI3IChtaXJvKQorLSAqcGtnIGltcG9ydDogRG9uJ3QgZGVsZXRlIGNoYW5nZWxv ZyBnZW5lcmF0ZWQgYnkgYHJwbWF1dG9zcGVjIGNvbnZlcnRgIChtaXJvKQorLSBNYWtlIGxvb2th c2lkZSBjYWNoZSByZXRyaWVzIGNvbmZpZ3VyYWJsZSAob25vc2VrKQorLSBMb29rYXNpZGUgY2Fj aGUgb3BlcmF0aW9ucyByZXRyaWVzIChvbm9zZWspCistIFByZXBhcmUgdGhlIGxvb2thc2lkZSBj YWNoZSBjb2RlIGZvciByZXRyaWVzIChvbm9zZWspCistIEZpeCBmbGFrZTggY29tcGxhaW50cyAo b25vc2VrKQorLSBTdXBwb3J0IGZvciBjaGVja2luZyBleHBsb2RlZCBzb3VyY2VzIGJlZm9yZSBw dXNoIChvbm9zZWspCistIFNwbGl0IGdpdCBjcmVkZW50aWFsIGRhdGEgb24gZmlyc3QgPSBvbmx5 IC0gNjk0IChsc2VkbGFyKQorLSBgY29tbWl0YCBjb21tYW5kIGZhaWxzIG9uICdjb250YWluZXJz JyBuYW1lc3BhY2UgKG9ub3NlaykKKy0gYGNvcHItYnVpbGRgIHBhc3NlcyBleHRyYV9hcmdzIHRv IGNvcHItY2xpIGNvbW1hbmQgLSA1MTAgKG9ub3NlaykKKy0gRG8gbm90IHJlcXVpcmUgJ3NvdXJj ZXMnIGZpbGUgZm9yIGFsbCBuYW1lc3BhY2VzIC0gIzY4NCAob25vc2VrKQorLSBVc2UgcmVsZWFz ZSdzIHJwbWRlZmluZXMgaW4gdW51c2VkIHNvdXJjZXMgY2hlY2sgLSAjNjcxIChvdHRvLmxpbGph bGFha3NvKQorLSBQcmUtcHVzaCBob29rIHdvbid0IGNoZWNrIHByaXZhdGUgYnJhbmNoZXMgLSAj NjgzIChvbm9zZWspCistIENvbmZpZyBmaWxlIG9wdGlvbiB0byBza2lwIHRoZSBob29rIHNjcmlw dCBjcmVhdGlvbiAtIDUxNSAob25vc2VrKQorLSBBbGxvdyBlbXB0eSBjb21taXRzIHdoZW4gYHVz ZXNfcnBtYXV0b3NwZWNgIC0gIzY3NyAoajEua3lqb3Zza3kpCistIENoZWNrIHJlbW90ZSBmaWxl IHdpdGggY29ycmVjdCBoYXNoIChsc2VkbGFyKQorLSBJZ25vcmUgbWlzc2luZyBzcGVjIGZpbGUg aW4gcHJlLXB1c2ggaG9vayAobHNlZGxhcikKKy0gaW1wb3J0X3NycG06IGFsbG93IHByZS1nZW5l cmF0ZWQgc3JwbXMgLSAjNjU1IChvbm9zZWspCistIEZpeCB1bml0dGVzdHMgZm9yIGBjbG9uZWAg YW5kIHByZS1wdXNoIGhvb2sgc2NyaXB0IChvbm9zZWspCistIHByZS1wdXNoIGhvb2sgc2NyaXB0 IGNvbnRhaW5zIGEgdXNlcidzIGNvbmZpZyAtICM2NjcgKG9ub3NlaykKKy0gQSBIRUFEIHF1ZXJ5 IGludG8gYSBsb29rYXNpZGUgY2FjaGUgLSA1MTMgKG9ub3NlaykKKy0gYHByZS1wdXNoLWNoZWNr YCBoYXZlIHRvIHVzZSBzcGVjdG9vbCB3aXRoIC0tZGVmaW5lIC0gIzY3MiAob25vc2VrKQorLSBB ZGQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBwcmUtcHVzaCBob29rIChsc2VkbGFyKQorLSBVcGRh dGUgdG8gc3BlYyBmaWxlIHByZXNlbmNlIGNoZWNraW5nIC0gIzY2MyAob25vc2VrKQorLSBNb3Jl IHJvYnVzdCBzcGVjIGZpbGUgcHJlc2VuY2UgY2hlY2tpbmcgLSAjNjYzIChvbm9zZWspCistIERv IG5vdCBnZW5lcmF0ZSBwcmUtcHVzaCBob29rIHNjcmlwdCBpbiBzb21lIGNhc2VzIC0gIzY2NSAo b25vc2VrKQorLSBBdm9pZCBjYWxsaW5nIHJlcG9fbmFtZSBmcm9tIGxvYWRfbmFtZXZlcnJlbCAt ICM2NTcgKG90dG8ubGlsamFsYWFrc28pCistIE1vdmUgd2FybmluZ3MgZnJvbSBtaXNzaW5nIEdp dCByZXBvIHRvIGRlYnVnIGxldmVsIC0gIzY1OSAob3R0by5saWxqYWxhYWtzbykKKy0gVXBkYXRl IGRvY2tlciBpbWFnZSBmb3IgSmVua2lua3MgdGVzdHMgKG9ub3NlaykKKy0gY29udGFpbmVyLWJ1 aWxkOiB1cGRhdGUgLS1zaWduaW5nLWludGVudCBoZWxwIGZvciBPU0JTIDIgKGtkcmV5ZXIpCist IFByb2Nlc3Mgc291cmNlIFVSTHMgd2l0aCBmcmFnbWVudCBpbiBwcmUtcHVzaCBob29rIChsc2Vk bGFyKQorCiAqIFN1biBKdW4gMDkgMjAyNCBQeXRob24gTWFpbnQgPHB5dGhvbi1tYWludEByZWRo YXQuY29tPiAtIDEuNjYtMTkKIC0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTMKIAorKiBUdWUgTWF5 IDI4IDIwMjQgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42Ni0xNgorLSBQ YXRjaDogVXNlIHB5dGhvbi1yZXF1ZXN0cy1nc3NhcGkgaW5zdGVhZCBvZiAta2VyYmVyb3MKKwog KiBUaHUgTWF5IDIzIDIwMjQgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42 Ni0xOAogLSBGaXggY29tcGF0aWJpbGl0eSB3aXRoIFB5dGhvbiAzLjEzKyAtIHJoYnojMjI3Njg5 NgogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggZDk4YjNmOS4uZTdlOWEx NCAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xICsxIEBACi1TSEE1MTIg KHJwa2ctMS42Ni50YXIuZ3opID0gMTRhNjk0NzE0NmNkNWE4ZjliYWEyZDNmYmEwYTM3YmIwZDdh YjViZDY5ZTI5YzA0MjgyYzg4MmUxZjI0OTgzMWM4ZmFmNDQzZDRkZDk0YWRmZTFiZjM4NWY2NTI1 Y2VmZWY4NGIxMGQ0NGEzOTQ5ZDgxNWZkMjkzZDVmNWZjY2MKK1NIQTUxMiAocnBrZy0xLjY3LnRh ci5neikgPSA2NGFlMDljOTgwMjAzY2Q3MDMzZTI4MGZmN2U4OWEzZTU0ZGQ0MGJlOGQwOTQxNGQ5 MjhkNTdlMjNmMTUxNDUxNjUyMGM2OWRjZjhjMmJiYzBjMzI1M2E0ZmZhNTU2YmEyMWFkYjBjMmY1 OTBlMjI0NWE3MDZkY2QyNjRmZTE4Ygo=