Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1etgQf-0007Qi-9m for pgadmin-hackers@arkaria.postgresql.org; Wed, 07 Mar 2018 21:16:54 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1etgQe-0002ki-41 for pgadmin-hackers@arkaria.postgresql.org; Wed, 07 Mar 2018 21:16:52 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1etgQG-00004w-Jt for pgadmin-hackers@lists.postgresql.org; Wed, 07 Mar 2018 21:16:29 +0000 Received: from mail-it0-x22f.google.com ([2607:f8b0:4001:c0b::22f]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1etgQB-0001o7-OP for pgadmin-hackers@postgresql.org; Wed, 07 Mar 2018 21:16:26 +0000 Received: by mail-it0-x22f.google.com with SMTP id k135so5007670ite.2 for ; Wed, 07 Mar 2018 13:16:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=VZiKo1YybIh3jW6b3yUL9rg2uwhz/hzSXn6oC6vlU3E=; b=iKFRIINTSIX2Wy9+ekAxaGFwKB4lJ2KZw+eRRowiUkb6DCSyv1fCGymn+nH1k/TMHA KBo07Hrh5p6YbagDFSKD4hNHNl+loV6Je05AD+ChgIdQiApZmgpWB0m4VhVRcC4jNFks 5E8eSsmwkslJNdl8h4DV199RphfqqfUXZz/Tjr+kLDAvOiE7CCzS3v2AeiXZyQf1/nCh hPMPJ6sxpNCU3eJhj1ehcuzF6KodnEyCsoO/OkHgfqFZUg6/rl/DKNo+cPzJD7sxfZFx OiOfQsas8uCdUfhLjC6Afm+DXtmb7dClpZL8vucveHbMlFjGVTpk7VpUHYV6Ps8kKA9w lkTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=VZiKo1YybIh3jW6b3yUL9rg2uwhz/hzSXn6oC6vlU3E=; b=MTCvqCTjVZw0FnSsDnHyDngxw/1Ffz+p7pg1sEBVUVAe9g93DGY8czKNtrWqvHb3zZ oJQFY7Uy0ie3PmuJ8wek6xQ7V/nuVUj9y3X4Rhowv2lpWY+tI8DWhwc3EWplfJLKKRx6 I3z8riuXzOJvuoZLcwn7SlOVtTSWAPeEx9Uj0hXQlpmVxSoIj9LEvbOjGc3VvG6RsYtY XWuWlHvU9/stp8WANWzJcu/LsiU1TVA/FPghaykrl7W1NCNQFPZnePA1ofrir15xbKCS udaE2KbnIvrRqb2O4KN3BxqlxzpDkWO9xWqsz5+CmrZJs3TVxqfSUF9I0BLpFCjE6dwg ayEg== X-Gm-Message-State: AElRT7FTv4XZ+36L8nc/hd+yvYMlG6kgCqQf0CQPyyR74X28VNKD0Uzj Fji07UwACLsUm20oDDJ+BON5SZwqK+2UJK/QsYTjOw== X-Google-Smtp-Source: AG47ELviMotvvBI/00frKUUPyOK2NdY9Kf9lHhpERzZ1PZ0kKl34VEX/NbmZc92+7+06OjEWViVq+iO8YPqYTVcEC0E= X-Received: by 10.36.39.200 with SMTP id g191mr3256570ita.69.1520457381485; Wed, 07 Mar 2018 13:16:21 -0800 (PST) MIME-Version: 1.0 From: Joao De Almeida Pereira Date: Wed, 07 Mar 2018 21:16:10 +0000 Message-ID: Subject: Last PEP-8 changes To: pgadmin-hackers Content-Type: multipart/mixed; boundary="001a1147ce141ee7bc0566d912e9" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --001a1147ce141ee7bc0566d912e9 Content-Type: multipart/alternative; boundary="001a1147ce141ee7b90566d912e7" --001a1147ce141ee7b90566d912e7 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached you can find the last changes to PEP-8, after this we should not have any missing PEP change. Thanks Joao --001a1147ce141ee7b90566d912e7 Content-Type: text/html; charset="UTF-8"
Hi Hackers,
Attached you can find the last changes to PEP-8, after this we should not have any missing PEP change.

Thanks
Joao
--001a1147ce141ee7b90566d912e7-- --001a1147ce141ee7bc0566d912e9 Content-Type: application/octet-stream; name="last-pep-8-changes.diff" Content-Disposition: attachment; filename="last-pep-8-changes.diff" Content-Transfer-Encoding: base64 Content-ID: <16202521080db979f4e1> X-Attachment-Id: 16202521080db979f4e1 ZGlmZiAtLWdpdCBhL3dlYi9jb25maWcucHkgYi93ZWIvY29uZmlnLnB5CmluZGV4IGQ0ZGRkOWRi Li40MGM5YTE2NCAxMDA2NDQKLS0tIGEvd2ViL2NvbmZpZy5weQorKysgYi93ZWIvY29uZmlnLnB5 CkBAIC0yMCw3ICsyMCw2IEBAIGlmIHN5cy52ZXJzaW9uX2luZm9bMF0gPj0gMzoKIGVsc2U6CiAg ICAgaW1wb3J0IF9fYnVpbHRpbl9fIGFzIGJ1aWx0aW5zCiAKLQogIyBXZSBuZWVkIHRvIGluY2x1 ZGUgdGhlIHJvb3QgZGlyZWN0b3J5IGluIHN5cy5wYXRoIHRvIGVuc3VyZSB0aGF0IHdlIGNhbgog IyBmaW5kIGV2ZXJ5dGhpbmcgd2UgbmVlZCB3aGVuIHJ1bm5pbmcgaW4gdGhlIHN0YW5kYWxvbmUg cnVudGltZS4KIHJvb3QgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2ZpbGVf XykpCkBAIC05OCw3ICs5Nyw2IEBAIE1PRFVMRV9CTEFDS0xJU1QgPSBbJ3Rlc3QnXQogIyBMaXN0 IG9mIHRyZWV2aWV3IGJyb3dzZXIgbm9kZXMgdG8gc2tpcCB3aGVuIGR5bmFtaWNhbGx5IGxvYWRp bmcKIE5PREVfQkxBQ0tMSVNUID0gW10KIAotCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTZXJ2ZXIg c2V0dGluZ3MKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0xNzAsNyArMTY4LDYgQEAgZWxzZToKICAg ICBlbHNlOgogICAgICAgICBEQVRBX0RJUiA9IG9zLnBhdGgucmVhbHBhdGgob3MucGF0aC5leHBh bmR1c2VyKHUnfi8ucGdhZG1pbi8nKSkKIAotCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBMb2cgc2V0 dGluZ3MKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0yMDAsNyArMTk3LDYgQEAgaWYgU0VSVkVSX01P REUgYW5kIG5vdCBJU19XSU46CiBlbHNlOgogICAgIExPR19GSUxFID0gb3MucGF0aC5qb2luKERB VEFfRElSLCAncGdhZG1pbjQubG9nJykKIAotCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogIyBTZXJ2ZXIg Q29ubmVjdGlvbiBEcml2ZXIgU2V0dGluZ3MKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCkBAIC0zMDksNyAr MzA1LDYgQEAgVVBHUkFERV9DSEVDS19VUkwgPSAnaHR0cHM6Ly93d3cucGdhZG1pbi5vcmcvdmVy c2lvbnMuanNvbicKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiBTVE9SQUdFX0RJUiA9IG9zLnBhdGguam9p bihEQVRBX0RJUiwgJ3N0b3JhZ2UnKQogCi0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIERlZmF1bHQg bG9jYXRpb25zIGZvciBiaW5hcnkgdXRpbGl0aWVzIChwZ19kdW1wLCBwZ19yZXN0b3JlIGV0YykK ICMKQEAgLTMyNiw3ICszMjEsNyBAQCBTVE9SQUdFX0RJUiA9IG9zLnBhdGguam9pbihEQVRBX0RJ UiwgJ3N0b3JhZ2UnKQogIwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIERFRkFVTFRfQklOQVJZX1BBVEhT ID0gewotICAgICJwZyI6ICAgIiIsCisgICAgInBnIjogIiIsCiAgICAgInBwYXMiOiAiIiwKICAg ICAiZ3BkYiI6ICIiCiB9CkBAIC0zMzgsNyArMzMzLDYgQEAgREVGQVVMVF9CSU5BUllfUEFUSFMg PSB7CiAjIFRoZSBkZWZhdWx0IHBhdGggZm9yIFNRTGl0ZSBkYXRhYmFzZSBmb3IgdGVzdGluZwog VEVTVF9TUUxJVEVfUEFUSCA9IG9zLnBhdGguam9pbihEQVRBX0RJUiwgJ3Rlc3RfcGdhZG1pbjQu ZGInKQogCi0KICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAjIEFsbG93cyBmbGFzayBhcHBsaWNhdGlvbiB0 byByZXNwb25zZSB0byB0aGUgZWFjaCByZXF1ZXN0IGFzeW5jaHJvbm91c2x5CiAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIwpkaWZmIC0tZ2l0IGEvd2ViL3BnQWRtaW40LnB5IGIvd2ViL3BnQWRtaW40LnB5Cmlu ZGV4IDY5OTBkMTQ5Li4xMzhjZTY5NiAxMDA2NDQKLS0tIGEvd2ViL3BnQWRtaW40LnB5CisrKyBi L3dlYi9wZ0FkbWluNC5weQpAQCAtNDIsNiArNDIsNyBAQCBpZiBjb25maWcuREVCVUc6CiAjIEdl dCB0aGUgY29uZmlnIGRhdGFiYXNlIHNjaGVtYSB2ZXJzaW9uLiBXZSBzdG9yZSB0aGlzIGluIHBn YWRtaW4ubW9kZWwKICMgYXMgaXQgdHVybnMgb3V0IHRoYXQgcHV0dGluZyBpdCBpbiB0aGUgY29u ZmlnIGZpbGVzIGlzbid0IGEgZ3JlYXQgaWRlYQogZnJvbSBwZ2FkbWluLm1vZGVsIGltcG9ydCBT Q0hFTUFfVkVSU0lPTgorCiBjb25maWcuU0VUVElOR1NfU0NIRU1BX1ZFUlNJT04gPSBTQ0hFTUFf VkVSU0lPTgogCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpAQCAtNTQsNyArNTUsNyBAQCBpZiBub3Qgb3Mu cGF0aC5pc2ZpbGUoY29uZmlnLlNRTElURV9QQVRIKToKICAgICAgICAgb3MucGF0aC5kaXJuYW1l KG9zLnBhdGgucmVhbHBhdGgodShfX2ZpbGVfXywgZnNfZW5jb2RpbmcpKSksCiAgICAgICAgIHUn c2V0dXAucHknCiAgICAgKQotICAgIGV4ZWMob3BlbihmaWxlX3F1b3RlKHNldHVwZmlsZSksICdy JykucmVhZCgpKQorICAgIGV4ZWMgKG9wZW4oZmlsZV9xdW90ZShzZXR1cGZpbGUpLCAncicpLnJl YWQoKSkKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU2VydmVyIHN0YXJ0dXAKQEAgLTEzNyw2ICsx MzgsNyBAQCBpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgogICAgICAgICAjCiAgICAgICAgICMg U2V0dGluZyBQWVRIT05IT01FIGxhdW5jaCB0aGVtIHByb3Blcmx5LgogICAgICAgICBmcm9tIHBn YWRtaW4udXRpbHMgaW1wb3J0IElTX1dJTgorCiAgICAgICAgIGlmIElTX1dJTjoKICAgICAgICAg ICAgIG9zLmVudmlyb25bJ1BZVEhPTkhPTUUnXSA9IHN5cy5wcmVmaXgKIApAQCAtMTUwLDggKzE1 Miw4IEBAIGlmIF9fbmFtZV9fID09ICdfX21haW5fXyc6CiAgICAgICAgICAgICBob3N0PWNvbmZp Zy5ERUZBVUxUX1NFUlZFUiwKICAgICAgICAgICAgIHBvcnQ9c2VydmVyX3BvcnQsCiAgICAgICAg ICAgICB1c2VfcmVsb2FkZXI9KAotICAgICAgICAgICAgICAgIChub3QgUEdBRE1JTl9SVU5USU1F KSBhbmQgYXBwLmRlYnVnCi0gICAgICAgICAgICAgICAgYW5kIG9zLmVudmlyb24uZ2V0KCJXRVJL WkVVR19SVU5fTUFJTiIpIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgKG5vdCBQR0FETUlO X1JVTlRJTUUpIGFuZCBhcHAuZGVidWcgYW5kCisgICAgICAgICAgICAgICAgb3MuZW52aXJvbi5n ZXQoIldFUktaRVVHX1JVTl9NQUlOIikgaXMgbm90IE5vbmUKICAgICAgICAgICAgICksCiAgICAg ICAgICAgICB0aHJlYWRlZD1jb25maWcuVEhSRUFERURfTU9ERQogICAgICAgICApCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL19faW5pdF9fLnB5Cmlu ZGV4IDkwZWNmOTliLi4zNTQ2ZjNkMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vX19pbml0X18u cHkKKysrIGIvd2ViL3BnYWRtaW4vX19pbml0X18ucHkKQEAgLTE4LDIzICsxOCwyMCBAQCBmcm9t IGltcG9ydGxpYiBpbXBvcnQgaW1wb3J0X21vZHVsZQogZnJvbSBmbGFzayBpbXBvcnQgRmxhc2ss IGFib3J0LCByZXF1ZXN0LCBjdXJyZW50X2FwcCwgc2Vzc2lvbiwgdXJsX2ZvcgogZnJvbSBmbGFz a19iYWJlbCBpbXBvcnQgQmFiZWwsIGdldHRleHQKIGZyb20gZmxhc2tfbG9naW4gaW1wb3J0IHVz ZXJfbG9nZ2VkX2luLCB1c2VyX2xvZ2dlZF9vdXQKLWZyb20gZmxhc2tfc2VjdXJpdHkgaW1wb3J0 IFNlY3VyaXR5LCBTUUxBbGNoZW15VXNlckRhdGFzdG9yZSwgY3VycmVudF91c2VyCiBmcm9tIGZs YXNrX21haWwgaW1wb3J0IE1haWwKK2Zyb20gZmxhc2tfcGFyYW5vaWQgaW1wb3J0IFBhcmFub2lk Citmcm9tIGZsYXNrX3NlY3VyaXR5IGltcG9ydCBTZWN1cml0eSwgU1FMQWxjaGVteVVzZXJEYXRh c3RvcmUsIGN1cnJlbnRfdXNlcgogZnJvbSBmbGFza19zZWN1cml0eS51dGlscyBpbXBvcnQgbG9n aW5fdXNlcgogZnJvbSB3ZXJremV1Zy5kYXRhc3RydWN0dXJlcyBpbXBvcnQgSW1tdXRhYmxlRGlj dAotZnJvbSBmbGFza19wYXJhbm9pZCBpbXBvcnQgUGFyYW5vaWQKLQotZnJvbSBwZ2FkbWluLnV0 aWxzIGltcG9ydCBQZ0FkbWluTW9kdWxlLCBkcml2ZXIKLWZyb20gcGdhZG1pbi51dGlscy52ZXJz aW9uZWRfdGVtcGxhdGVfbG9hZGVyIGltcG9ydCBWZXJzaW9uZWRUZW1wbGF0ZUxvYWRlcgotZnJv bSBwZ2FkbWluLnV0aWxzLnNlc3Npb24gaW1wb3J0IGNyZWF0ZV9zZXNzaW9uX2ludGVyZmFjZSwg cGdhX3VuYXV0aG9yaXNlZAogZnJvbSB3ZXJremV1Zy5sb2NhbCBpbXBvcnQgTG9jYWxQcm94eQog ZnJvbSB3ZXJremV1Zy51dGlscyBpbXBvcnQgZmluZF9tb2R1bGVzCiAKLWZyb20gcGdhZG1pbi51 dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKLQogZnJvbSBwZ2FkbWluLm1vZGVs IGltcG9ydCBkYiwgUm9sZSwgU2VydmVyLCBTZXJ2ZXJHcm91cCwgXAogICAgIFVzZXIsIEtleXMs IFZlcnNpb24sIFNDSEVNQV9WRVJTSU9OIGFzIENVUlJFTlRfU0NIRU1BX1ZFUlNJT04KLQorZnJv bSBwZ2FkbWluLnV0aWxzIGltcG9ydCBQZ0FkbWluTW9kdWxlLCBkcml2ZXIKK2Zyb20gcGdhZG1p bi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKK2Zyb20gcGdhZG1pbi51dGls cy5zZXNzaW9uIGltcG9ydCBjcmVhdGVfc2Vzc2lvbl9pbnRlcmZhY2UsIHBnYV91bmF1dGhvcmlz ZWQKK2Zyb20gcGdhZG1pbi51dGlscy52ZXJzaW9uZWRfdGVtcGxhdGVfbG9hZGVyIGltcG9ydCBW ZXJzaW9uZWRUZW1wbGF0ZUxvYWRlcgogCiAjIElmIHNjcmlwdCBpcyBydW5uaW5nIHVuZGVyIHB5 dGhvbjMsIGl0IHdpbGwgbm90IGhhdmUgdGhlIHhyYW5nZSBmdW5jdGlvbgogIyBkZWZpbmVkCkBA IC0xNjksNyArMTY2LDYgQEAgY3VycmVudF9ibHVlcHJpbnQgPSBMb2NhbFByb3h5KF9maW5kX2Js dWVwcmludCkKIAogCiBkZWYgY3JlYXRlX2FwcChhcHBfbmFtZT1Ob25lKToKLQogICAgICMgQ29u ZmlndXJhdGlvbiBzZXR0aW5ncwogICAgIGltcG9ydCBjb25maWcKICAgICBpZiBub3QgYXBwX25h bWU6CkBAIC0yMTcsOCArMjEzLDEwIEBAIGRlZiBjcmVhdGVfYXBwKGFwcF9uYW1lPU5vbmUpOgog ICAgIGxvZ2dlci5zZXRMZXZlbChsb2dnaW5nLklORk8pCiAKICAgICAjIFNldCBTUUxJVEVfUEFU SCB0byBURVNUX1NRTElURV9QQVRIIHdoaWxlIHJ1bm5pbmcgdGVzdCBjYXNlcwotICAgIGlmICJQ R0FETUlOX1RFU1RJTkdfTU9ERSIgaW4gb3MuIGVudmlyb24gYW5kIFwKLSAgICAgICAgICAgIG9z LmVudmlyb25bIlBHQURNSU5fVEVTVElOR19NT0RFIl0gPT0gIjEiOgorICAgIGlmICgKKyAgICAg ICAgJ1BHQURNSU5fVEVTVElOR19NT0RFJyBpbiBvcy5lbnZpcm9uIGFuZAorICAgICAgICBvcy5l bnZpcm9uWydQR0FETUlOX1RFU1RJTkdfTU9ERSddID09ICcxJworICAgICk6CiAgICAgICAgIGNv bmZpZy5TUUxJVEVfUEFUSCA9IGNvbmZpZy5URVNUX1NRTElURV9QQVRICiAKICAgICAjIEVuc3Vy ZSB0aGUgdmFyaW91cyB3b3JraW5nIGRpcmVjdG9yaWVzIGV4aXN0CkBAIC0yOTEsNyArMjg5LDcg QEAgZGVmIGNyZWF0ZV9hcHAoYXBwX25hbWU9Tm9uZSk6CiAgICAgIyBTZXR1cCBhdXRoZW50aWNh dGlvbgogICAgICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLSAgICBhcHAuY29uZmlnWydTUUxBTENIRU1Z X0RBVEFCQVNFX1VSSSddID0gdSdzcWxpdGU6Ly8vezB9P3RpbWVvdXQ9ezF9J1wKKyAgICBhcHAu Y29uZmlnWydTUUxBTENIRU1ZX0RBVEFCQVNFX1VSSSddID0gdSdzcWxpdGU6Ly8vezB9P3RpbWVv dXQ9ezF9JyBcCiAgICAgICAgIC5mb3JtYXQoY29uZmlnLlNRTElURV9QQVRILnJlcGxhY2UodSdc XCcsIHUnLycpLAogICAgICAgICAgICAgICAgIGdldGF0dHIoY29uZmlnLCAnU1FMSVRFX1RJTUVP VVQnLCA1MDApCiAgICAgICAgICAgICAgICAgKQpAQCAtNDA2LDYgKzQwNCw3IEBAIGRlZiBjcmVh dGVfYXBwKGFwcF9uYW1lPU5vbmUpOgogICAgICAgICAgICAgc2VydmVyZ3JvdXBfaWQgPSBzZXJ2 ZXJncm91cC5pZAogCiAgICAgICAgICcnJ0FkZCBhIHNlcnZlciB0byB0aGUgY29uZmlnIGRhdGFi YXNlJycnCisKICAgICAgICAgZGVmIGFkZF9zZXJ2ZXIodXNlcl9pZCwgc2VydmVyZ3JvdXBfaWQs IG5hbWUsIHN1cGVydXNlciwgcG9ydCwKICAgICAgICAgICAgICAgICAgICAgICAgZGlzY292ZXJ5 X2lkLCBjb21tZW50KToKICAgICAgICAgICAgICMgQ3JlYXRlIGEgc2VydmVyIG9iamVjdCBpZiBu ZWVkZWQsIGFuZCBzdG9yZSBpdC4KQEAgLTUwMyw4ICs1MDIsMTAgQEAgZGVmIGNyZWF0ZV9hcHAo YXBwX25hbWU9Tm9uZSk6CiAKICAgICAgICAgICAgICMgTG9vcCB0aGUgc2VjdGlvbnMsIGFuZCBn ZXQgdGhlIGRhdGEgZnJvbSBhbnkgdGhhdCBhcmUgUEcgb3IgUFBBUwogICAgICAgICAgICAgZm9y IHNlY3Rpb24gaW4gc2VjdGlvbnM6Ci0gICAgICAgICAgICAgICAgaWYgc2VjdGlvbi5zdGFydHN3 aXRoKCdQb3N0Z3JlU1FMLycpIFwKLSAgICAgICAgICAgICAgICAgICAgICAgIG9yIHNlY3Rpb24u c3RhcnRzd2l0aCgnRW50ZXJwcmlzZURCLycpOgorICAgICAgICAgICAgICAgIGlmICgKKyAgICAg ICAgICAgICAgICAgICAgc2VjdGlvbi5zdGFydHN3aXRoKCdQb3N0Z3JlU1FMLycpIG9yCisgICAg ICAgICAgICAgICAgICAgIHNlY3Rpb24uc3RhcnRzd2l0aCgnRW50ZXJwcmlzZURCLycpCisgICAg ICAgICAgICAgICAgKToKICAgICAgICAgICAgICAgICAgICAgc3ZyX25hbWUgPSByZWdpc3RyeS5n ZXQoc2VjdGlvbiwgJ0Rlc2NyaXB0aW9uJykKICAgICAgICAgICAgICAgICAgICAgc3ZyX3N1cGVy dXNlciA9IHJlZ2lzdHJ5LmdldChzZWN0aW9uLCAnU3VwZXJ1c2VyJykKICAgICAgICAgICAgICAg ICAgICAgc3ZyX3BvcnQgPSByZWdpc3RyeS5nZXRpbnQoc2VjdGlvbiwgJ1BvcnQnKQpAQCAtNTE2 LDkgKzUxNyw5IEBAIGRlZiBjcmVhdGVfYXBwKGFwcF9uYW1lPU5vbmUpOgogICAgICAgICAgICAg ICAgICAgICAgICAgZGF0YV9kaXJlY3RvcnkgPSBkYXRhX2RpcmVjdG9yeS5kZWNvZGUoJ3V0Zi04 JykKICAgICAgICAgICAgICAgICAgICAgc3ZyX2NvbW1lbnQgPSBnZXR0ZXh0KHUiQXV0by1kZXRl Y3RlZCAlcyBpbnN0YWxsYXRpb24gIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdSJ3aXRoIHRoZSBkYXRhIGRpcmVjdG9yeSBhdCAlcyIgJSAoCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFfZGlyZWN0b3J5 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhX2RpcmVjdG9yeQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICBhZGRf c2VydmVyKHVzZXJfaWQsIHNlcnZlcmdyb3VwX2lkLCBzdnJfbmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdnJfc3VwZXJ1c2VyLCBzdnJfcG9ydCwgc3ZyX2Rpc2NvdmVyeV9p ZCwKQEAgLTU1Miw3ICs1NTMsNyBAQCBkZWYgY3JlYXRlX2FwcChhcHBfbmFtZT1Ob25lKToKICAg ICAgICAgaWYgbm90IGNvbmZpZy5TRVJWRVJfTU9ERSBhbmQgYXBwLlBHQURNSU5fS0VZICE9ICcn OgogICAgICAgICAgICAgaWYgKAogICAgICAgICAgICAgICAgICgna2V5JyBub3QgaW4gcmVxdWVz dC5hcmdzIG9yCi0gICAgICAgICAgICAgICAgICAgIHJlcXVlc3QuYXJnc1sna2V5J10gIT0gYXBw LlBHQURNSU5fS0VZKSBhbmQKKyAgICAgICAgICAgICAgICAgcmVxdWVzdC5hcmdzWydrZXknXSAh PSBhcHAuUEdBRE1JTl9LRVkpIGFuZAogICAgICAgICAgICAgICAgIHJlcXVlc3QuY29va2llcy5n ZXQoJ1BHQURNSU5fS0VZJykgIT0gYXBwLlBHQURNSU5fS0VZIGFuZAogICAgICAgICAgICAgICAg IHJlcXVlc3QuZW5kcG9pbnQgIT0gJ2hlbHAuc3RhdGljJwogICAgICAgICAgICAgKToKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL19faW5pdF9fLnB5CmluZGV4IGRkMjU0MmZiLi5hMTJlZGM2OSAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL19f aW5pdF9fLnB5CkBAIC0xMCwzMyArMTAsMzMgQEAKIGltcG9ydCBqc29uCiBpbXBvcnQgbG9nZ2lu ZwogZnJvbSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFic3RyYWN0bWV0aG9kLCBhYnN0cmFjdHByb3Bl cnR5Ci1pbXBvcnQgc2l4Ci1mcm9tIHNvY2tldCBpbXBvcnQgZXJyb3IgYXMgU09DS0VURXJyb3JF eGNlcHRpb24KLWZyb20gc210cGxpYiBpbXBvcnQgU01UUENvbm5lY3RFcnJvciwgU01UUFJlc3Bv bnNlRXhjZXB0aW9uLFwKK2Zyb20gc210cGxpYiBpbXBvcnQgU01UUENvbm5lY3RFcnJvciwgU01U UFJlc3BvbnNlRXhjZXB0aW9uLCBcCiAgICAgU01UUFNlcnZlckRpc2Nvbm5lY3RlZCwgU01UUERh dGFFcnJvciwgU01UUEhlbG9FcnJvciwgU01UUEV4Y2VwdGlvbiwgXAogICAgIFNNVFBBdXRoZW50 aWNhdGlvbkVycm9yLCBTTVRQU2VuZGVyUmVmdXNlZCwgU01UUFJlY2lwaWVudHNSZWZ1c2VkCitm cm9tIHNvY2tldCBpbXBvcnQgZXJyb3IgYXMgU09DS0VURXJyb3JFeGNlcHRpb24KKworaW1wb3J0 IHNpeAogZnJvbSBmbGFzayBpbXBvcnQgY3VycmVudF9hcHAsIHJlbmRlcl90ZW1wbGF0ZSwgdXJs X2ZvciwgbWFrZV9yZXNwb25zZSwgXAogICAgIGZsYXNoLCBSZXNwb25zZSwgcmVxdWVzdCwgYWZ0 ZXJfdGhpc19yZXF1ZXN0LCByZWRpcmVjdAogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4 dAotZnJvbSBmbGFza19sb2dpbiBpbXBvcnQgY3VycmVudF91c2VyLCBsb2dpbl9yZXF1aXJlZAot ZnJvbSBmbGFza19zZWN1cml0eS5kZWNvcmF0b3JzIGltcG9ydCBhbm9ueW1vdXNfdXNlcl9yZXF1 aXJlZAogZnJvbSBmbGFza19ncmF2YXRhciBpbXBvcnQgR3JhdmF0YXIKLWZyb20gcGdhZG1pbi5z ZXR0aW5ncyBpbXBvcnQgZ2V0X3NldHRpbmcKLWZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgUGdB ZG1pbk1vZHVsZQotZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNw b25zZQotZnJvbSBwZ2FkbWluLnV0aWxzLnByZWZlcmVuY2VzIGltcG9ydCBQcmVmZXJlbmNlcwot ZnJvbSB3ZXJremV1Zy5kYXRhc3RydWN0dXJlcyBpbXBvcnQgTXVsdGlEaWN0Ci1mcm9tIGZsYXNr X3NlY3VyaXR5LnZpZXdzIGltcG9ydCBfc2VjdXJpdHksIF9jb21taXQsIF9yZW5kZXJfanNvbiwg X2N0eAorZnJvbSBmbGFza19sb2dpbiBpbXBvcnQgY3VycmVudF91c2VyLCBsb2dpbl9yZXF1aXJl ZAogZnJvbSBmbGFza19zZWN1cml0eS5jaGFuZ2VhYmxlIGltcG9ydCBjaGFuZ2VfdXNlcl9wYXNz d29yZAorZnJvbSBmbGFza19zZWN1cml0eS5kZWNvcmF0b3JzIGltcG9ydCBhbm9ueW1vdXNfdXNl cl9yZXF1aXJlZAogZnJvbSBmbGFza19zZWN1cml0eS5yZWNvdmVyYWJsZSBpbXBvcnQgcmVzZXRf cGFzc3dvcmRfdG9rZW5fc3RhdHVzLCBcCiAgICAgZ2VuZXJhdGVfcmVzZXRfcGFzc3dvcmRfdG9r ZW4sIHVwZGF0ZV9wYXNzd29yZAotZnJvbSBmbGFza19zZWN1cml0eS51dGlscyBpbXBvcnQgY29u ZmlnX3ZhbHVlLCBkb19mbGFzaCwgZ2V0X3VybCwgZ2V0X21lc3NhZ2UsXAotICAgIHNsYXNoX3Vy bF9zdWZmaXgsIGxvZ2luX3VzZXIsIHNlbmRfbWFpbAogZnJvbSBmbGFza19zZWN1cml0eS5zaWdu YWxzIGltcG9ydCByZXNldF9wYXNzd29yZF9pbnN0cnVjdGlvbnNfc2VudAotCitmcm9tIGZsYXNr X3NlY3VyaXR5LnV0aWxzIGltcG9ydCBjb25maWdfdmFsdWUsIGRvX2ZsYXNoLCBnZXRfdXJsLCBc CisgICAgZ2V0X21lc3NhZ2UsIHNsYXNoX3VybF9zdWZmaXgsIGxvZ2luX3VzZXIsIHNlbmRfbWFp bAorZnJvbSBmbGFza19zZWN1cml0eS52aWV3cyBpbXBvcnQgX3NlY3VyaXR5LCBfY29tbWl0LCBf cmVuZGVyX2pzb24sIF9jdHgKK2Zyb20gd2Vya3pldWcuZGF0YXN0cnVjdHVyZXMgaW1wb3J0IE11 bHRpRGljdAogCiBpbXBvcnQgY29uZmlnCiBmcm9tIHBnYWRtaW4gaW1wb3J0IGN1cnJlbnRfYmx1 ZXByaW50Citmcm9tIHBnYWRtaW4uc2V0dGluZ3MgaW1wb3J0IGdldF9zZXR0aW5nCitmcm9tIHBn YWRtaW4udXRpbHMgaW1wb3J0IFBnQWRtaW5Nb2R1bGUKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4 IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2UKK2Zyb20gcGdhZG1pbi51dGlscy5wcmVmZXJlbmNl cyBpbXBvcnQgUHJlZmVyZW5jZXMKIAogdHJ5OgogICAgIGltcG9ydCB1cmxsaWIucmVxdWVzdCBh cyB1cmxyZXEKQEAgLTUxLDE3ICs1MSwxOSBAQCBjbGFzcyBCcm93c2VyTW9kdWxlKFBnQWRtaW5N b2R1bGUpOgogCiAgICAgZGVmIGdldF9vd25fc3R5bGVzaGVldHMoc2VsZik6CiAgICAgICAgIHN0 eWxlc2hlZXRzID0gW10KKyAgICAgICAgY29udGV4dF9tZW51X2ZpbGUgPSAndmVuZG9yL2pRdWVy eS1jb250ZXh0TWVudS8nIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAnanF1ZXJ5LmNv bnRleHRNZW51Lm1pbi5jc3MnCisgICAgICAgIHdjZG9ja2VyX2ZpbGUgPSAndmVuZG9yL3djRG9j a2VyL3djRG9ja2VyLm1pbi5jc3MnCisgICAgICAgIGlmIGN1cnJlbnRfYXBwLmRlYnVnOgorICAg ICAgICAgICAgY29udGV4dF9tZW51X2ZpbGUgPSAndmVuZG9yL2pRdWVyeS1jb250ZXh0TWVudS8n IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2pxdWVyeS5jb250ZXh0TWVudS5j c3MnCisgICAgICAgICAgICB3Y2RvY2tlcl9maWxlID0gJ3ZlbmRvci93Y0RvY2tlci93Y0RvY2tl ci5jc3MnCiAgICAgICAgICMgQWRkIGJyb3dzZXIgc3R5bGVzaGVldHMKICAgICAgICAgZm9yIChl bmRwb2ludCwgZmlsZW5hbWUpIGluIFsKICAgICAgICAgICAgICgnc3RhdGljJywgJ3ZlbmRvci9j b2RlbWlycm9yL2NvZGVtaXJyb3IuY3NzJyksCiAgICAgICAgICAgICAoJ3N0YXRpYycsICd2ZW5k b3IvY29kZW1pcnJvci9hZGRvbi9kaWFsb2cvZGlhbG9nLmNzcycpLAotICAgICAgICAgICAgKCdz dGF0aWMnLCAndmVuZG9yL2pRdWVyeS1jb250ZXh0TWVudS9qcXVlcnkuY29udGV4dE1lbnUuY3Nz JwotICAgICAgICAgICAgICAgICAgICAgICBpZiBjdXJyZW50X2FwcC5kZWJ1ZwotICAgICAgICAg ICAgICAgICAgICAgICBlbHNlCi0gICAgICAgICAgICAgICAgICAgICAgICd2ZW5kb3IvalF1ZXJ5 LWNvbnRleHRNZW51L2pxdWVyeS5jb250ZXh0TWVudS5taW4uY3NzJyksCi0gICAgICAgICAgICAo J3N0YXRpYycsICd2ZW5kb3Ivd2NEb2NrZXIvd2NEb2NrZXIuY3NzJwotICAgICAgICAgICAgICAg ICAgICAgICBpZiBjdXJyZW50X2FwcC5kZWJ1ZwotICAgICAgICAgICAgICAgICAgICAgICBlbHNl ICd2ZW5kb3Ivd2NEb2NrZXIvd2NEb2NrZXIubWluLmNzcycpLAorICAgICAgICAgICAgKCdzdGF0 aWMnLCBjb250ZXh0X21lbnVfZmlsZSksCisgICAgICAgICAgICAoJ3N0YXRpYycsIHdjZG9ja2Vy X2ZpbGUpLAogICAgICAgICAgICAgKCdicm93c2VyLnN0YXRpYycsICdjc3MvYnJvd3Nlci5jc3Mn KSwKICAgICAgICAgICAgICgnYnJvd3Nlci5zdGF0aWMnLCAndmVuZG9yL2FjaVRyZWUvY3NzL2Fj aVRyZWUuY3NzJykKICAgICAgICAgXToKQEAgLTg2LDggKzg4LDggQEAgY2xhc3MgQnJvd3Nlck1v ZHVsZShQZ0FkbWluTW9kdWxlKToKICAgICAgICAgICAgICdwYXRoJzogdXJsX2ZvcigKICAgICAg ICAgICAgICAgICAnc3RhdGljJywKICAgICAgICAgICAgICAgICBmaWxlbmFtZT0ndmVuZG9yL2pR dWVyeS1jb250ZXh0TWVudS9qcXVlcnkudWkucG9zaXRpb24nIGlmCi0gICAgICAgICAgICAgICAg ICAgIGN1cnJlbnRfYXBwLmRlYnVnIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJ3ZlbmRvci9q UXVlcnktY29udGV4dE1lbnUvanF1ZXJ5LnVpLnBvc2l0aW9uLm1pbicKKyAgICAgICAgICAgICAg ICBjdXJyZW50X2FwcC5kZWJ1ZyBlbHNlCisgICAgICAgICAgICAgICAgJ3ZlbmRvci9qUXVlcnkt Y29udGV4dE1lbnUvanF1ZXJ5LnVpLnBvc2l0aW9uLm1pbicKICAgICAgICAgICAgICksCiAgICAg ICAgICAgICAnZGVwcyc6IFsnanF1ZXJ5J10sCiAgICAgICAgICAgICAnZXhwb3J0cyc6ICdqUXVl cnkudWkucG9zaXRpb24nLApAQCAtOTgsOCArMTAwLDggQEAgY2xhc3MgQnJvd3Nlck1vZHVsZShQ Z0FkbWluTW9kdWxlKToKICAgICAgICAgICAgICdwYXRoJzogdXJsX2ZvcigKICAgICAgICAgICAg ICAgICAnc3RhdGljJywKICAgICAgICAgICAgICAgICBmaWxlbmFtZT0ndmVuZG9yL2pRdWVyeS1j b250ZXh0TWVudS9qcXVlcnkuY29udGV4dE1lbnUnIGlmCi0gICAgICAgICAgICAgICAgICAgIGN1 cnJlbnRfYXBwLmRlYnVnIGVsc2UKLSAgICAgICAgICAgICAgICAgICAgJ3ZlbmRvci9qUXVlcnkt Y29udGV4dE1lbnUvanF1ZXJ5LmNvbnRleHRNZW51Lm1pbicKKyAgICAgICAgICAgICAgICBjdXJy ZW50X2FwcC5kZWJ1ZyBlbHNlCisgICAgICAgICAgICAgICAgJ3ZlbmRvci9qUXVlcnktY29udGV4 dE1lbnUvanF1ZXJ5LmNvbnRleHRNZW51Lm1pbicKICAgICAgICAgICAgICksCiAgICAgICAgICAg ICAnZGVwcyc6IFsnanF1ZXJ5JywgJ2pxdWVyeXVpLnBvc2l0aW9uJ10sCiAgICAgICAgICAgICAn ZXhwb3J0cyc6ICdqUXVlcnkuY29udGV4dE1lbnUnLApAQCAtMTY3LDkgKzE2OSwxMCBAQCBjbGFz cyBCcm93c2VyTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgICAgICB9KQogCiAgICAgICAgIGZv ciBuYW1lLCBzY3JpcHQgaW4gWwotICAgICAgICAgICAgICAgIFsncGdhZG1pbi5icm93c2VyJywg J2pzL2Jyb3dzZXInXSwKLSAgICAgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nlci5lbmRwb2lu dHMnLCAnanMvZW5kcG9pbnRzJ10sCi0gICAgICAgICAgICAgICAgWydwZ2FkbWluLmJyb3dzZXIu ZXJyb3InLCAnanMvZXJyb3InXV06CisgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3NlcicsICdq cy9icm93c2VyJ10sCisgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nlci5lbmRwb2ludHMnLCAn anMvZW5kcG9pbnRzJ10sCisgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nlci5lcnJvcicsICdq cy9lcnJvciddCisgICAgICAgIF06CiAgICAgICAgICAgICBzY3JpcHRzLmFwcGVuZCh7CiAgICAg ICAgICAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICAgICAgICAgICdwYXRoJzogdXJsX2Zv cignYnJvd3Nlci5pbmRleCcpICsgc2NyaXB0LApAQCAtMTc3LDkgKzE4MCwxMCBAQCBjbGFzcyBC cm93c2VyTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgICAgICAgICAgfSkKIAogICAgICAgICBm b3IgbmFtZSwgc2NyaXB0IGluIFsKLSAgICAgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nlci5u b2RlJywgJ2pzL25vZGUnXSwKLSAgICAgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nlci5tZXNz YWdlcycsICdqcy9tZXNzYWdlcyddLAotICAgICAgICAgICAgICAgIFsncGdhZG1pbi5icm93c2Vy LmNvbGxlY3Rpb24nLCAnanMvY29sbGVjdGlvbiddXToKKyAgICAgICAgICAgIFsncGdhZG1pbi5i cm93c2VyLm5vZGUnLCAnanMvbm9kZSddLAorICAgICAgICAgICAgWydwZ2FkbWluLmJyb3dzZXIu bWVzc2FnZXMnLCAnanMvbWVzc2FnZXMnXSwKKyAgICAgICAgICAgIFsncGdhZG1pbi5icm93c2Vy LmNvbGxlY3Rpb24nLCAnanMvY29sbGVjdGlvbiddCisgICAgICAgIF06CiAgICAgICAgICAgICBz Y3JpcHRzLmFwcGVuZCh7CiAgICAgICAgICAgICAgICAgJ25hbWUnOiBuYW1lLAogICAgICAgICAg ICAgICAgICdwYXRoJzogdXJsX2ZvcignYnJvd3Nlci5pbmRleCcpICsgc2NyaXB0LApAQCAtMTg4 LDkgKzE5MiwxMCBAQCBjbGFzcyBCcm93c2VyTW9kdWxlKFBnQWRtaW5Nb2R1bGUpOgogICAgICAg ICAgICAgfSkKIAogICAgICAgICBmb3IgbmFtZSwgZW5kIGluIFsKLSAgICAgICAgICAgICAgICBb J3BnYWRtaW4uYnJvd3Nlci5tZW51JywgJ2pzL21lbnUnXSwKLSAgICAgICAgICAgICAgICBbJ3Bn YWRtaW4uYnJvd3Nlci5wYW5lbCcsICdqcy9wYW5lbCddLAotICAgICAgICAgICAgICAgIFsncGdh ZG1pbi5icm93c2VyLmZyYW1lJywgJ2pzL2ZyYW1lJ11dOgorICAgICAgICAgICAgWydwZ2FkbWlu LmJyb3dzZXIubWVudScsICdqcy9tZW51J10sCisgICAgICAgICAgICBbJ3BnYWRtaW4uYnJvd3Nl ci5wYW5lbCcsICdqcy9wYW5lbCddLAorICAgICAgICAgICAgWydwZ2FkbWluLmJyb3dzZXIuZnJh bWUnLCAnanMvZnJhbWUnXQorICAgICAgICBdOgogICAgICAgICAgICAgc2NyaXB0cy5hcHBlbmQo ewogICAgICAgICAgICAgICAgICduYW1lJzogbmFtZSwgJ3BhdGgnOiB1cmxfZm9yKCdicm93c2Vy LnN0YXRpYycsIGZpbGVuYW1lPWVuZCksCiAgICAgICAgICAgICAgICAgJ3ByZWxvYWRlZCc6IFRy dWV9KQpAQCAtNTgyLDcgKzU4Nyw3IEBAIGNsYXNzIEJyb3dzZXJQbHVnaW5Nb2R1bGUoUGdBZG1p bk1vZHVsZSk6CiAgICAgICAgIHJldHVybiBzY3JpcHRzCiAKICAgICBkZWYgZ2VuZXJhdGVfYnJv d3Nlcl9ub2RlKAotICAgICAgICAgICAgc2VsZiwgbm9kZV9pZCwgcGFyZW50X2lkLCBsYWJlbCwg aWNvbiwgaW5vZGUsIG5vZGVfdHlwZSwgKiprd2FyZ3MKKyAgICAgICAgc2VsZiwgbm9kZV9pZCwg cGFyZW50X2lkLCBsYWJlbCwgaWNvbiwgaW5vZGUsIG5vZGVfdHlwZSwgKiprd2FyZ3MKICAgICAp OgogICAgICAgICAiIiIKICAgICAgICAgSGVscGVyIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGJyb3dz ZXIgbm9kZSBmb3IgdGhpcyBwYXJ0aWN1bGFyIHN1Ym5vZGUuCkBAIC05NTAsNiArOTU1LDcgQEAg ZGVmIGdldF9ub2RlcygpOgogCiAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZShkYXRhPW5v ZGVzKQogCisKICMgT25seSByZWdpc3RlciByb3V0ZSBpZiBTRUNVUklUWV9DSEFOR0VBQkxFIGlz IHNldCB0byBUcnVlCiAjIFdlIGNhbid0IGFjY2VzcyBhcHAgY29udGV4dCBoZXJlIHNvIGNhbm5v dAogIyB1c2UgYXBwLmNvbmZpZ1snU0VDVVJJVFlfQ0hBTkdFQUJMRSddCkBAIC0xMDE5LDcgKzEw MjUsNiBAQCBpZiBoYXNhdHRyKGNvbmZpZywgJ1NFQ1VSSVRZX0NIQU5HRUFCTEUnKSBhbmQgY29u ZmlnLlNFQ1VSSVRZX0NIQU5HRUFCTEU6CiAgICAgICAgICAgICBjaGFuZ2VfcGFzc3dvcmRfZm9y bT1mb3JtLAogICAgICAgICAgICAgKipfY3R4KCdjaGFuZ2VfcGFzc3dvcmQnKSkKIAotCiAjIE9u bHkgcmVnaXN0ZXIgcm91dGUgaWYgU0VDVVJJVFlfUkVDT1ZFUkFCTEUgaXMgc2V0IHRvIFRydWUK IGlmIGhhc2F0dHIoY29uZmlnLCAnU0VDVVJJVFlfUkVDT1ZFUkFCTEUnKSBhbmQgY29uZmlnLlNF Q1VSSVRZX1JFQ09WRVJBQkxFOgogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkKaW5kZXgg MzQzOGQ0NTEuLmRjNDY1YjBjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL19faW5pdF9fLnB5CkBAIC05 LDI2ICs5LDI2IEBACiAKICIiIkltcGxlbWVudHMgdGhlIERhdGFiYXNlIE5vZGUiIiIKIAotaW1w b3J0IHNpbXBsZWpzb24gYXMganNvbgogaW1wb3J0IHJlCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQg d3JhcHMKIAotaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMgYXMg c2VydmVycworaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmbGFzayBpbXBvcnQgcmVu ZGVyX3RlbXBsYXRlLCBjdXJyZW50X2FwcCwgcmVxdWVzdCwganNvbmlmeQogZnJvbSBmbGFza19i YWJlbCBpbXBvcnQgZ2V0dGV4dCBhcyBfCisKK2ltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzIGFzIHNlcnZlcnMKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxU X0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbiBpbXBvcnQgQ29sbGVjdGlv bk5vZGVNb2R1bGUKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5k YXRhYmFzZXMudXRpbHMgaW1wb3J0IFwKICAgICBwYXJzZV9zZWNfbGFiZWxzX2Zyb21fZGIsIHBh cnNlX3ZhcmlhYmxlc19mcm9tX2RiCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMudXRpbHMgaW1wb3J0IHBhcnNlX3ByaXZfZnJvbV9kYiwgXAogICAgIHBhcnNlX3By aXZfdG9fZGIKIGZyb20gcGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZp ZXcKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBnb25lCiBmcm9tIHBnYWRtaW4udXRp bHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBcCiAgICAgbWFrZV9yZXNwb25zZSBh cyBhamF4X3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IsIHVuYXV0aG9yaXplZAotZnJv bSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IGdvbmUKIGZyb20gcGdhZG1pbi51dGlscy5kcml2 ZXIgaW1wb3J0IGdldF9kcml2ZXIKIAotZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJ VkVSCi0KIAogY2xhc3MgRGF0YWJhc2VNb2R1bGUoQ29sbGVjdGlvbk5vZGVNb2R1bGUpOgogICAg IE5PREVfVFlQRSA9ICdkYXRhYmFzZScKQEAgLTIwMSwxMCArMjAxLDcgQEAgY2xhc3MgRGF0YWJh c2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uKGFjdGlv bj0ibGlzdCIpCiAgICAgZGVmIGxpc3Qoc2VsZiwgZ2lkLCBzaWQpOgotICAgICAgICBsYXN0X3N5 c3RlbV9vaWQgPSAwIGlmIHNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMgZWxzZSBc Ci0gICAgICAgICAgICAoc2VsZi5tYW5hZ2VyLmRiX2luZm9bc2VsZi5tYW5hZ2VyLmRpZF0pWydk YXRsYXN0c3lzb2lkJ10gXAotICAgICAgICAgICAgaWYgc2VsZi5tYW5hZ2VyLmRiX2luZm8gaXMg bm90IE5vbmUgYW5kIFwKLSAgICAgICAgICAgIHNlbGYubWFuYWdlci5kaWQgaW4gc2VsZi5tYW5h Z2VyLmRiX2luZm8gZWxzZSAwCisgICAgICAgIGxhc3Rfc3lzdGVtX29pZCA9IHNlbGYucmV0cmll dmVfbGFzdF9zeXN0ZW1fb2lkKCkKIAogICAgICAgICBkYl9kaXNwX3JlcyA9IE5vbmUKICAgICAg ICAgcGFyYW1zID0gTm9uZQpAQCAtMjMwLDE0ICsyMjcsMjEgQEAgY2xhc3MgRGF0YWJhc2VWaWV3 KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBzdGF0dXM9MjAwCiAgICAgICAgICkKIAor ICAgIGRlZiByZXRyaWV2ZV9sYXN0X3N5c3RlbV9vaWQoc2VsZik6CisgICAgICAgIGxhc3Rfc3lz dGVtX29pZCA9IDAKKyAgICAgICAgaWYgc2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0 czoKKyAgICAgICAgICAgIGxhc3Rfc3lzdGVtX29pZCA9IDAKKyAgICAgICAgZWxpZiAoCisgICAg ICAgICAgICBzZWxmLm1hbmFnZXIuZGJfaW5mbyBpcyBub3QgTm9uZSBhbmQKKyAgICAgICAgICAg IHNlbGYubWFuYWdlci5kaWQgaW4gc2VsZi5tYW5hZ2VyLmRiX2luZm8KKyAgICAgICAgKToKKyAg ICAgICAgICAgIGxhc3Rfc3lzdGVtX29pZCA9IChzZWxmLm1hbmFnZXIuZGJfaW5mb1tzZWxmLm1h bmFnZXIuZGlkXSlbCisgICAgICAgICAgICAgICAgJ2RhdGxhc3RzeXNvaWQnXQorICAgICAgICBy ZXR1cm4gbGFzdF9zeXN0ZW1fb2lkCisKICAgICBkZWYgZ2V0X25vZGVzKHNlbGYsIGdpZCwgc2lk LCBzaG93X3N5c3RlbV90ZW1wbGF0ZXM9RmFsc2UpOgogICAgICAgICByZXMgPSBbXQotICAgICAg ICBsYXN0X3N5c3RlbV9vaWQgPSAwIGlmIHNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVj dHMgb3IgXAotICAgICAgICAgICAgc2hvd19zeXN0ZW1fdGVtcGxhdGVzIGVsc2UgKAotICAgICAg ICAgICAgICAgIChzZWxmLm1hbmFnZXIuZGJfaW5mb1tzZWxmLm1hbmFnZXIuZGlkXSlbJ2RhdGxh c3RzeXNvaWQnXQotICAgICAgICAgICAgICAgIGlmIHNlbGYubWFuYWdlci5kYl9pbmZvIGlzIG5v dCBOb25lIGFuZAotICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci5kaWQgaW4gc2VsZi5tYW5h Z2VyLmRiX2luZm8gZWxzZSAwCi0gICAgICAgICAgICApCisgICAgICAgIGxhc3Rfc3lzdGVtX29p ZCA9IHNlbGYucmV0cmlldmVfbGFzdF9zeXN0ZW1fb2lkKCkKICAgICAgICAgc2VydmVyX25vZGVf cmVzID0gc2VsZi5tYW5hZ2VyCiAKICAgICAgICAgZGJfZGlzcF9yZXMgPSBOb25lCkBAIC0zMjEs MTMgKzMyNSwxNSBAQCBjbGFzcyBEYXRhYmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgY29ubiA9IHNlbGYubWFuYWdlci5jb25uZWN0 aW9uKHJvd1snbmFtZSddKQogICAgICAgICAgICAgICAgIGNvbm5lY3RlZCA9IGNvbm4uY29ubmVj dGVkKCkKKyAgICAgICAgICAgIGljb25fY3NzX2NsYXNzID0gInBnLWljb24tZGF0YWJhc2UiCisg ICAgICAgICAgICBpZiBub3QgY29ubmVjdGVkOgorICAgICAgICAgICAgICAgIGljb25fY3NzX2Ns YXNzID0gImljb24tZGF0YWJhc2Utbm90LWNvbm5lY3RlZCIKICAgICAgICAgICAgIHJldHVybiBt YWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICAgICAgZGF0YT1zZWxmLmJsdWVwcmludC5n ZW5lcmF0ZV9icm93c2VyX25vZGUoCiAgICAgICAgICAgICAgICAgICAgIHJvd1snZGlkJ10sCiAg ICAgICAgICAgICAgICAgICAgIHNpZCwKICAgICAgICAgICAgICAgICAgICAgcm93WyduYW1lJ10s Ci0gICAgICAgICAgICAgICAgICAgIGljb249Imljb24tZGF0YWJhc2Utbm90LWNvbm5lY3RlZCIg aWYgbm90IGNvbm5lY3RlZAotICAgICAgICAgICAgICAgICAgICBlbHNlICJwZy1pY29uLWRhdGFi YXNlIiwKKyAgICAgICAgICAgICAgICAgICAgaWNvbj1pY29uX2Nzc19jbGFzcywKICAgICAgICAg ICAgICAgICAgICAgY29ubmVjdGVkPWNvbm5lY3RlZCwKICAgICAgICAgICAgICAgICAgICAgc3Bj bmFtZT1yb3dbJ3NwY25hbWUnXSwKICAgICAgICAgICAgICAgICAgICAgYWxsb3dDb25uPXJvd1sn ZGF0YWxsb3djb25uJ10sCkBAIC01ODAsNyArNTg2LDcgQEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICApCiAgICAgICAgICkKIAotICAgIEBjaGVja19w cmVjb25kaXRpb24oYWN0aW9uPSJ1cGRhdGUiKQorICAgIEBjaGVja19wcmVjb25kaXRpb24oYWN0 aW9uPSd1cGRhdGUnKQogICAgIGRlZiB1cGRhdGUoc2VsZiwgZ2lkLCBzaWQsIGRpZCk6CiAgICAg ICAgICIiIlVwZGF0ZSB0aGUgZGF0YWJhc2UuIiIiCiAKQEAgLTU4OSw3ICs1OTUsNyBAQCBjbGFz cyBEYXRhYmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgKQogCiAgICAgICAgICMg R2VuZXJpYyBjb25uZWN0aW9uIGZvciBvZmZsaW5lIHVwZGF0ZXMKLSAgICAgICAgY29ubiA9IHNl bGYubWFuYWdlci5jb25uZWN0aW9uKGNvbm5faWQ9ImRiX29mZmxpbmVfdXBkYXRlIikKKyAgICAg ICAgY29ubiA9IHNlbGYubWFuYWdlci5jb25uZWN0aW9uKGNvbm5faWQ9J2RiX29mZmxpbmVfdXBk YXRlJykKICAgICAgICAgc3RhdHVzLCBlcnJtc2cgPSBjb25uLmNvbm5lY3QoKQogICAgICAgICBp ZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmVycm9yKApAQCAt NjExLDcgKzYxNyw3IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogCiAg ICAgICAgICAgICBpZiBsZW4ocnNldFsncm93cyddKSA9PSAwOgogICAgICAgICAgICAgICAgIHJl dHVybiBnb25lKAotICAgICAgICAgICAgICAgICAgICBfKCJDb3VsZCBub3QgZmluZCB0aGUgZGF0 YWJhc2Ugb24gdGhlIHNlcnZlci4iKQorICAgICAgICAgICAgICAgICAgICBfKCdDb3VsZCBub3Qg ZmluZCB0aGUgZGF0YWJhc2Ugb24gdGhlIHNlcnZlci4nKQogICAgICAgICAgICAgICAgICkKIAog ICAgICAgICAgICAgZGF0YVsnb2xkX25hbWUnXSA9IChyc2V0Wydyb3dzJ11bMF0pWyduYW1lJ10K QEAgLTYzOSw4ICs2NDUsOCBAQCBjbGFzcyBEYXRhYmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToK IAogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICBjdXJyZW50X2Fw cC5sb2dnZXIuZXJyb3IoCi0gICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgY29ubmVjdGVk IHRvIGRhdGFiYXNlKCN7MH0pLlxuIgotICAgICAgICAgICAgICAgICAgICAiRXJyb3I6IHsxfSIu Zm9ybWF0KGRpZCwgZXJybXNnKQorICAgICAgICAgICAgICAgICAgICAnQ291bGQgbm90IGNvbm5l Y3RlZCB0byBkYXRhYmFzZSgjezB9KS5cbicKKyAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiB7 MX0nLmZvcm1hdChkaWQsIGVycm1zZykKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAg ICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJtc2cpCiAKQEAgLTkwNCwxMCArOTEw LDcgQEAgY2xhc3MgRGF0YWJhc2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgIG90aGVy d2lzZSBpdCB3aWxsIHJldHVybiBzdGF0aXN0aWNzIGZvciBhbGwgdGhlIGRhdGFiYXNlcyBpbiB0 aGF0CiAgICAgICAgIHNlcnZlci4KICAgICAgICAgIiIiCi0gICAgICAgIGxhc3Rfc3lzdGVtX29p ZCA9IDAgaWYgc2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cyBlbHNlIFwKLSAgICAg ICAgICAgIChzZWxmLm1hbmFnZXIuZGJfaW5mb1tzZWxmLm1hbmFnZXIuZGlkXSlbJ2RhdGxhc3Rz eXNvaWQnXSBcCi0gICAgICAgICAgICBpZiBzZWxmLm1hbmFnZXIuZGJfaW5mbyBpcyBub3QgTm9u ZSBhbmQgXAotICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLmRpZCBpbiBzZWxmLm1hbmFnZXIuZGJf aW5mbyBlbHNlIDAKKyAgICAgICAgbGFzdF9zeXN0ZW1fb2lkID0gc2VsZi5yZXRyaWV2ZV9sYXN0 X3N5c3RlbV9vaWQoKQogCiAgICAgICAgIGRiX2Rpc3BfcmVzID0gTm9uZQogICAgICAgICBwYXJh bXMgPSBOb25lCkBAIC05MTgsMTQgKzkyMSwxMiBAQCBjbGFzcyBEYXRhYmFzZVZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgICAgICAgIHBhcmFtcyA9IHR1cGxlKHNlbGYubWFuYWdlci5kYl9y ZXMuc3BsaXQoJywnKSkKIAogICAgICAgICBjb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24o KQotICAgICAgICBzdGF0dXMsIHJlcyA9IGNvbm4uZXhlY3V0ZV9kaWN0KAotICAgICAgICAgICAg cmVuZGVyX3RlbXBsYXRlKAotICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsICdzdGF0cy5zcWwnXSksCi0gICAgICAgICAgICAgICAgZGlkPWRpZCwKLSAgICAgICAg ICAgICAgICBjb25uPWNvbm4sCi0gICAgICAgICAgICAgICAgbGFzdF9zeXN0ZW1fb2lkPWxhc3Rf c3lzdGVtX29pZCwKLSAgICAgICAgICAgICAgICBkYl9yZXN0cmljdGlvbnM9ZGJfZGlzcF9yZXMK LSAgICAgICAgICAgICksCisgICAgICAgIHN0YXR1cywgcmVzID0gY29ubi5leGVjdXRlX2RpY3Qo cmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0 aCwgJ3N0YXRzLnNxbCddKSwKKyAgICAgICAgICAgIGRpZD1kaWQsCisgICAgICAgICAgICBjb25u PWNvbm4sCisgICAgICAgICAgICBsYXN0X3N5c3RlbV9vaWQ9bGFzdF9zeXN0ZW1fb2lkLAorICAg ICAgICAgICAgZGJfcmVzdHJpY3Rpb25zPWRiX2Rpc3BfcmVzKSwKICAgICAgICAgICAgIHBhcmFt cwogICAgICAgICApCiAKQEAgLTEwMjIsNyArMTAyMyw3IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKICAgICAgICAgICAg IGRpZDogRGF0YWJhc2UgSUQKICAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVudHNfcmVzdWx0 ID0gc2VsZi5nZXRfZGVwZW5kZW50cyhzZWxmLmNvbm4sIGRpZCkgaWZcCisgICAgICAgIGRlcGVu ZGVudHNfcmVzdWx0ID0gc2VsZi5nZXRfZGVwZW5kZW50cyhzZWxmLmNvbm4sIGRpZCkgaWYgXAog ICAgICAgICAgICAgc2VsZi5jb25uLmNvbm5lY3RlZCgpIGVsc2UgW10KICAgICAgICAgcmV0dXJu IGFqYXhfcmVzcG9uc2UoCiAgICAgICAgICAgICByZXNwb25zZT1kZXBlbmRlbnRzX3Jlc3VsdCwK QEAgLTEwNDAsNyArMTA0MSw3IEBAIGNsYXNzIERhdGFiYXNlVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKICAgICAgICAgICAgIGRpZDogRGF0YWJhc2Ug SUQKICAgICAgICAgIiIiCi0gICAgICAgIGRlcGVuZGVuY2llc19yZXN1bHQgPSBzZWxmLmdldF9k ZXBlbmRlbmNpZXMoc2VsZi5jb25uLCBkaWQpIGlmXAorICAgICAgICBkZXBlbmRlbmNpZXNfcmVz dWx0ID0gc2VsZi5nZXRfZGVwZW5kZW5jaWVzKHNlbGYuY29ubiwgZGlkKSBpZiBcCiAgICAgICAg ICAgICBzZWxmLmNvbm4uY29ubmVjdGVkKCkgZWxzZSBbXQogICAgICAgICByZXR1cm4gYWpheF9y ZXNwb25zZSgKICAgICAgICAgICAgIHJlc3BvbnNlPWRlcGVuZGVuY2llc19yZXN1bHQsCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL19faW5pdF9fLnB5CmluZGV4IDAwNGQ3YjVjLi45 YTQzYjRkMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvX19pbml0X18ucHkK QEAgLTcsMTMgKzcsMTUgQEAKICMKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKLWltcG9ydCBzaW1wbGVq c29uIGFzIGpzb24KIGltcG9ydCByZQogZnJvbSBmdW5jdG9vbHMgaW1wb3J0IHdyYXBzCiAKLWlt cG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzIGFzIHNlcnZlcnMKK2lt cG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0 ZSwgcmVxdWVzdCwganNvbmlmeSwgY3VycmVudF9hcHAKIGZyb20gZmxhc2tfYmFiZWwgaW1wb3J0 IGdldHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMg YXMgc2VydmVycworZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCiBmcm9tIHBn YWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uIGltcG9ydCBDb2xsZWN0aW9uTm9kZU1vZHVsZSwgUEdD aGlsZE1vZHVsZQogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnV0 aWxzIGltcG9ydCBwYXJzZV9wcml2X2Zyb21fZGIsIFwKICAgICBwYXJzZV9wcml2X3RvX2RiCkBA IC0yMiw4ICsyNCw2IEBAIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pzb25f cmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9lcnJvciwgXAogICAgIG1ha2VfcmVzcG9uc2UgYXMg YWpheF9yZXNwb25zZSwgZ29uZSwgYmFkX3JlcXVlc3QKIGZyb20gcGdhZG1pbi51dGlscy5kcml2 ZXIgaW1wb3J0IGdldF9kcml2ZXIKIAotZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJ VkVSCi0KICIiIgogICAgIFRoaXMgbW9kdWxlIGlzIHJlc3BvbnNpYmxlIGZvciBnZW5lcmF0aW5n IHR3byBub2RlcwogICAgIDEpIFNjaGVtYQpAQCAtMjgzLDcgKzI4Myw4IEBAIGNsYXNzIFNjaGVt YVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YVthY2xjb2xdW21vZGlmaWVyXSwgYWxsb3dlZGFjbFsnYWNsJ10KICAgICAgICAgICAgICAg ICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAg ICAgZGF0YVthY2xjb2xdID0gcGFyc2VfcHJpdl90b19kYihkYXRhW2FjbGNvbF0sIGFsbG93ZWRh Y2xbJ2FjbCddKQorICAgICAgICAgICAgICAgICAgICBkYXRhW2FjbGNvbF0gPSBwYXJzZV9wcml2 X3RvX2RiKGRhdGFbYWNsY29sXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhbGxvd2VkYWNsWydhY2wnXSkKIAogICAgICAgICByZXR1cm4gYWNs cwogCkBAIC0zNjYsNyArMzY3LDggQEAgY2xhc3MgU2NoZW1hVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogICAgIEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgbGlzdChzZWxmLCBnaWQsIHNpZCwg ZGlkKToKICAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0 IGFsbCB0aGUgc2NoZW1hIG5vZGVzIHdpdGhpbiB0aGUgY29sbGVjdGlvbi4KKyAgICAgICAgVGhp cyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSBzY2hlbWEgbm9kZXMgd2l0aGluIHRo ZQorICAgICAgICBjb2xsZWN0aW9uLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6 IFNlcnZlciBncm91cCBJRApAQCAtNDkxLDEzICs0OTMsMTMgQEAgSXQgbWF5IGhhdmUgYmVlbiBy ZW1vdmVkIGJ5IGFub3RoZXIgdXNlci4KICAgICAgICAgZm9yIHJvdyBpbiByc2V0Wydyb3dzJ106 CiAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAg IGRhdGE9c2VsZi5ibHVlcHJpbnQuZ2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAotICAgICAgICAgICAg ICAgICAgICAgICAgcm93WydvaWQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGRpZCwKLSAg ICAgICAgICAgICAgICAgICAgICAgIHJvd1snbmFtZSddLAotICAgICAgICAgICAgICAgICAgICAg ICAgaWNvbj1pY29uLAotICAgICAgICAgICAgICAgICAgICAgICAgY2FuX2NyZWF0ZT1yb3dbJ2Nh bl9jcmVhdGUnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIGhhc191c2FnZT1yb3dbJ2hhc191 c2FnZSddCi0gICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAgICAgICAgIHJvd1sn b2lkJ10sCisgICAgICAgICAgICAgICAgICAgIGRpZCwKKyAgICAgICAgICAgICAgICAgICAgcm93 WyduYW1lJ10sCisgICAgICAgICAgICAgICAgICAgIGljb249aWNvbiwKKyAgICAgICAgICAgICAg ICAgICAgY2FuX2NyZWF0ZT1yb3dbJ2Nhbl9jcmVhdGUnXSwKKyAgICAgICAgICAgICAgICAgICAg aGFzX3VzYWdlPXJvd1snaGFzX3VzYWdlJ10KKyAgICAgICAgICAgICAgICApLAogICAgICAgICAg ICAgICAgIHN0YXR1cz0yMDAKICAgICAgICAgICAgICkKIApAQCAtNTI4LDkgKzUzMCwxMCBAQCBJ dCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgYnkgYW5vdGhlciB1c2VyLgogICAgICAgICAgICAgcmV0 dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKICAgICAgICAgaWYgbGVu KHJlc1sncm93cyddKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0gICAgICAgICAg ICAgICAgZ2V0dGV4dCgiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSBpbiB0aGUgZGF0YWJhc2Uu IEl0IG1heSBoYXZlIGJlZW4gcmVtb3ZlZCBieSBhbm90aGVyIHVzZXIuIgotICAgICAgICAgICAg ICAgICkpCisgICAgICAgICAgICByZXR1cm4gZ29uZShnZXR0ZXh0KAorICAgICAgICAgICAgICAg ICJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIGluIHRoZSBkYXRhYmFzZS4gIgorICAgICAgICAg ICAgICAgICJJdCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgYnkgYW5vdGhlciB1c2VyLiIKKyAgICAg ICAgICAgICkpCiAKICAgICAgICAgIyBNYWtpbmcgY29weSBvZiBvdXRwdXQgZm9yIGZ1dHVyZSB1 c2UKICAgICAgICAgY29weV9kYXRhID0gZGljdChyZXNbJ3Jvd3MnXVswXSkKQEAgLTgwMSw3ICs4 MDQsOSBAQCBJdCBtYXkgaGF2ZSBiZWVuIHJlbW92ZWQgYnkgYW5vdGhlciB1c2VyLgogICAgICAg ICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKICAgICAg ICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIGdvbmUoZ2V0 dGV4dCgiIiJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIGluIHRoZSBkYXRhYmFzZS4gSXQgbWF5 IGhhdmUgYmVlbiByZW1vdmVkIGJ5IGFub3RoZXIgdXNlci4iIiIpKQorICAgICAgICAgICAgcmV0 dXJuIGdvbmUoZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAnQ291bGQgbm90IGZpbmQgdGhlIHNj aGVtYSBpbiB0aGUgZGF0YWJhc2UuJworICAgICAgICAgICAgICAgICcgSXQgbWF5IGhhdmUgYmVl biByZW1vdmVkIGJ5IGFub3RoZXIgdXNlci4nKSkKIAogICAgICAgICBkYXRhID0gcmVzWydyb3dz J11bMF0KICAgICAgICAgZGF0YSA9IHNlbGYuX2Zvcm1hdHRlcihkYXRhLCBzY2lkKQpAQCAtODky LDEwICs4OTcsMTIgQEAgSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGJ5IGFub3RoZXIgdXNlci4K ICAgICAgICAgbm9kZXMgPSBbXQogICAgICAgICBmb3IgbW9kdWxlIGluIHNlbGYuYmx1ZXByaW50 LnN1Ym1vZHVsZXM6CiAgICAgICAgICAgICBpZiBpc2luc3RhbmNlKG1vZHVsZSwgUEdDaGlsZE1v ZHVsZSk6Ci0gICAgICAgICAgICAgICAgaWYgc2VsZi5tYW5hZ2VyIGlzIG5vdCBOb25lIGFuZCBc Ci0gICAgICAgICAgICAgICAgICAgICAgICBtb2R1bGUuQmFja2VuZFN1cHBvcnRlZCgKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIsICoqYmFja2VuZF9zdXBwb3J0X2tl eXdvcmRzCi0gICAgICAgICAgICAgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgIGlmICgK KyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5hZ2VyIGlzIG5vdCBOb25lIGFuZAorICAgICAg ICAgICAgICAgICAgICBtb2R1bGUuQmFja2VuZFN1cHBvcnRlZCgKKyAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYubWFuYWdlciwgKipiYWNrZW5kX3N1cHBvcnRfa2V5d29yZHMKKyAgICAgICAg ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAgICAgICAgICAgIG5v ZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoqa3dhcmdzKSkKICAgICAgICAgICAgIGVsc2U6 CiAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5kKG1vZHVsZS5nZXRfbm9kZXMoKiprd2FyZ3Mp KQpAQCAtMTAwNyw1ICsxMDE0LDYgQEAgSXQgbWF5IGhhdmUgYmVlbiByZW1vdmVkIGJ5IGFub3Ro ZXIgdXNlci4KIAogICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShyZXNwb25zZT1TUUwuc3Ry aXAoIlxuIikpCiAKKwogU2NoZW1hVmlldy5yZWdpc3Rlcl9ub2RlX3ZpZXcoc2NoZW1hX2JsdWVw cmludCkKIENhdGFsb2dWaWV3LnJlZ2lzdGVyX25vZGVfdmlldyhjYXRhbG9nX2JsdWVwcmludCkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2NhdGFsb2dfb2JqZWN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NhdGFsb2df b2JqZWN0cy9fX2luaXRfXy5weQppbmRleCBjYWI1ZTAxMi4uNmYyZjM1MjQgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2NhdGFsb2dfb2JqZWN0cy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVjdHMv X19pbml0X18ucHkKQEAgLTExLDE4ICsxMSwxOCBAQAogCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQg d3JhcHMKIAotaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzIGFzIGRhdGFiYXNlCiBmcm9tIGZsYXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUKIGZy b20gZmxhc2tfYmFiZWwgaW1wb3J0IGdldHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlCitmcm9tIGNvbmZpZyBp bXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBcCiAgICAgaW1wb3J0IFNjaGVtYUNo aWxkTW9kdWxlCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE5vZGVW aWV3Citmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgZ29uZQogZnJvbSBwZ2FkbWluLnV0 aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9y LCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlCiBmcm9tIHBnYWRtaW4udXRp bHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCi1mcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBv cnQgZ29uZQotCi1mcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIAogCiBjbGFz cyBDYXRhbG9nT2JqZWN0TW9kdWxlKFNjaGVtYUNoaWxkTW9kdWxlKToKQEAgLTU1LDcgKzU1LDgg QEAgY2xhc3MgQ2F0YWxvZ09iamVjdE1vZHVsZShTY2hlbWFDaGlsZE1vZHVsZSk6CiAKICAgICBk ZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgIiIiCi0gICAgICAg IE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIENhdGFsb2dPYmplY3RNb2R1bGUgYW5k IGl0J3MgYmFzZSBtb2R1bGUuCisgICAgICAgIE1ldGhvZCBpcyB1c2VkIHRvIGluaXRpYWxpemUg dGhlIENhdGFsb2dPYmplY3RNb2R1bGUgYW5kIGl0J3MgYmFzZQorICAgICAgICBtb2R1bGUuCiAK ICAgICAgICAgQXJnczoKICAgICAgICAgICAgICphcmdzOgpAQCAtMTg4LDcgKzE4OSw4IEBAIGNs YXNzIENhdGFsb2dPYmplY3RWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNoZWNrX3ByZWNv bmRpdGlvbgogICAgIGRlZiBub2RlcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkKToKICAgICAg ICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhl IGNoaWxkIG5vZGUgd2l0aGluIHRoYXQgY29sbGVjdGlvbi4KKyAgICAgICAgVGhpcyBmdW5jdGlv biB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhhdAorICAg ICAgICBjb2xsZWN0aW9uLgogICAgICAgICBIZXJlIGl0IHdpbGwgY3JlYXRlIGFsbCB0aGUgY2F0 YWxvZyBvYmplY3RzIG5vZGUuCiAKICAgICAgICAgQXJnczoKQEAgLTI1Nyw3ICsyNTksOCBAQCBj bGFzcyBDYXRhbG9nT2JqZWN0VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAg IHN0YXR1cz0yMDAKICAgICAgICAgICAgICkKIAotICAgICAgICByZXR1cm4gZ29uZShlcnJvcm1z Zz1nZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIGNhdGFsb2cgb2JqZWN0LiIp KQorICAgICAgICByZXR1cm4gZ29uZSgKKyAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoIkNv dWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgY2F0YWxvZyBvYmplY3QuIikpCiAKICAgICBAY2hl Y2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwg c2NpZCwgY29pZCk6CkBAIC0yODYsNyArMjg5LDggQEAgY2xhc3MgQ2F0YWxvZ09iamVjdFZpZXco UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IoZXJyb3Jtc2c9cmVzKQogCiAgICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPT0gMDoKLSAg ICAgICAgICAgIHJldHVybiBnb25lKGdldHRleHQoIiIiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNp ZmllZCBjYXRhbG9nIG9iamVjdC4iIiIpKQorICAgICAgICAgICAgcmV0dXJuIGdvbmUoCisgICAg ICAgICAgICAgICAgZ2V0dGV4dCgiIiJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIGNhdGFs b2cgb2JqZWN0LiIiIikpCiAKICAgICAgICAgcmV0dXJuIGFqYXhfcmVzcG9uc2UoCiAgICAgICAg ICAgICByZXNwb25zZT1yZXNbJ3Jvd3MnXVswXSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NhdGFsb2dfb2Jq ZWN0cy9jb2x1bW5zL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY2F0YWxvZ19vYmplY3RzL2NvbHVtbnMvX19p bml0X18ucHkKaW5kZXggODkwZjExYWYuLmUxYjUxM2ZjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9n X29iamVjdHMvY29sdW1ucy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jYXRhbG9nX29iamVjdHMvY29s dW1ucy9fX2luaXRfXy5weQpAQCAtMTEsMTkgKzExLDE5IEBACiAKIGZyb20gZnVuY3Rvb2xzIGlt cG9ydCB3cmFwcwogCi1pbXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKIGZyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0 ZQogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4dAorCitpbXBvcnQgcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKK2Zyb20gY29u ZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuY29sbGVj dGlvbiBpbXBvcnQgQ29sbGVjdGlvbk5vZGVNb2R1bGUKIGZyb20gcGdhZG1pbi5icm93c2VyLnV0 aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZpZXcKK2Zyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9y dCBnb25lCiBmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNl LCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IsIFwKICAgICBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVz cG9uc2UKIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKLWZyb20g cGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBnb25lCiBmcm9tIHBnYWRtaW4udXRpbHMucHJlZmVy ZW5jZXMgaW1wb3J0IFByZWZlcmVuY2VzCiAKLWZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxU X0RSSVZFUgotCiAKIGNsYXNzIENhdGFsb2dPYmplY3RDb2x1bW5zTW9kdWxlKENvbGxlY3Rpb25O b2RlTW9kdWxlKToKICAgICAiIiIKQEAgLTE3NCw3ICsxNzQsOCBAQCBjbGFzcyBDYXRhbG9nT2Jq ZWN0Q29sdW1uc1ZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBrd2FyZ3Nb J3NpZCddCiAgICAgICAgICAgICApCiAgICAgICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFn ZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdzWydkaWQnXSkKLSAgICAgICAgICAgIHNlbGYudGVtcGxh dGVfcGF0aCA9ICdjYXRhbG9nX29iamVjdF9jb2x1bW4vc3FsLyN7MH0jJy5mb3JtYXQoc2VsZi5t YW5hZ2VyLnZlcnNpb24pCisgICAgICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAnY2F0YWxv Z19vYmplY3RfY29sdW1uL3NxbC8jezB9IycuZm9ybWF0KAorICAgICAgICAgICAgICAgIHNlbGYu bWFuYWdlci52ZXJzaW9uKQogCiAgICAgICAgICAgICByZXR1cm4gZigqYXJncywgKiprd2FyZ3Mp CiAKQEAgLTIxMCw3ICsyMTEsOCBAQCBjbGFzcyBDYXRhbG9nT2JqZWN0Q29sdW1uc1ZpZXcoUEdD aGlsZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIG5vZGVzKHNl bGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIGNvaWQpOgogICAgICAgICAiIiIKLSAgICAgICAgVGhp cyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4g dGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVh dGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbiB0aGF0CisgICAgICAgIGNvbGxlY3Rpb24uCiAg ICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSBjb2x1bW4gbm9kZS4KIAogICAgICAg ICBBcmdzOgpAQCAtMjYyLDcgKzI2NCw4IEBAIGNsYXNzIENhdGFsb2dPYmplY3RDb2x1bW5zVmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgSlNPTiBvZiBzZWxlY3RlZCBjb2x1bW4g bm9kZQogICAgICAgICAiIiIKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2lu KFtzZWxmLnRlbXBsYXRlX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncHJv cGVydGllcy5zcWwnXSksIGNvaWQ9Y29pZCwgY2xpZD1jbGlkKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzLnNxbCddKSwgY29pZD1jb2lkLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xpZD1jbGlkKQogICAgICAgICBzdGF0dXMsIHJl cyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQogCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6 CkBAIC0zMjEsNyArMzI0LDggQEAgY2xhc3MgQ2F0YWxvZ09iamVjdENvbHVtbnNWaWV3KFBHQ2hp bGROb2RlVmlldyk6CiAgICAgICAgICAgICBlbGlmIGRlcF9zdHIgPT0gJ2knOgogICAgICAgICAg ICAgICAgIGRlcF90eXBlID0gJ2ludGVybmFsJwogCi0gICAgICAgICAgICBkZXBlbmRlbnRzX3Jl c3VsdC5hcHBlbmQoeyd0eXBlJzogJ3NlcXVlbmNlJywgJ25hbWUnOiByZWZfbmFtZSwgJ2ZpZWxk JzogZGVwX3R5cGV9KQorICAgICAgICAgICAgZGVwZW5kZW50c19yZXN1bHQuYXBwZW5kKAorICAg ICAgICAgICAgICAgIHsndHlwZSc6ICdzZXF1ZW5jZScsICduYW1lJzogcmVmX25hbWUsICdmaWVs ZCc6IGRlcF90eXBlfSkKIAogICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZSgKICAgICAgICAg ICAgIHJlc3BvbnNlPWRlcGVuZGVudHNfcmVzdWx0LApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9u cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvX19pbml0X18ucHkKaW5kZXggNDJmY2ZkYjAu Ljk0N2EwNTM5IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL19faW5pdF9fLnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2NvbGxhdGlvbnMvX19pbml0X18ucHkKQEAgLTksMjEgKzksMjMgQEAKIAogIiIiIEltcGxlbWVu dHMgQ29sbGF0aW9uIE5vZGUgIiIiCiAKLWltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20g ZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCi1pbXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKK2ltcG9ydCBzaW1wbGVqc29uIGFz IGpzb24KIGZyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgcmVxdWVzdCwganNvbmlm eQogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4dAorCitpbXBvcnQgcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKK2Zyb20gY29u ZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnV0aWxzIFwKICAgICBpbXBvcnQgU2No ZW1hQ2hpbGRNb2R1bGUKIGZyb20gcGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxk Tm9kZVZpZXcKK2Zyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgSVNfUFkyCiBmcm9tIHBnYWRtaW4u dXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJy b3IsIFwKICAgICBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVzcG9uc2UsIGdvbmUKIGZyb20gcGdh ZG1pbi51dGlscy5jb21waWxlX3RlbXBsYXRlX25hbWUgaW1wb3J0IGNvbXBpbGVfdGVtcGxhdGVf cGF0aAogZnJvbSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotZnJvbSBj b25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCi1mcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0 IElTX1BZMgorCiAjIElmIHdlIGFyZSBpbiBQeXRob24zCiBpZiBub3QgSVNfUFkyOgogICAgIHVu aWNvZGUgPSBzdHIKQEAgLTE5NywxMiArMTk5LDE0IEBAIGNsYXNzIENvbGxhdGlvblZpZXcoUEdD aGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgcmV0dXJuIGYoKmFy Z3MsICoqa3dhcmdzKQorCiAgICAgICAgIHJldHVybiB3cmFwCiAKICAgICBAY2hlY2tfcHJlY29u ZGl0aW9uCiAgICAgZGVmIGxpc3Qoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCk6CiAgICAgICAg ICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIGNvbGxh dGlvbiBub2RlcyB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9u IGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIGNvbGxhdGlvbiBub2RlcyB3aXRoaW4gdGhhdAorICAg ICAgICBjb2xsZWN0aW9uLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZl ciBncm91cCBJRApAQCAtMjI4LDcgKzIzMiw4IEBAIGNsYXNzIENvbGxhdGlvblZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIG5vZGVzKHNlbGYs IGdpZCwgc2lkLCBkaWQsIHNjaWQpOgogICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5jdGlv biB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhhdCBjb2xs ZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVhdGUgYWxsIHRo ZSBjaGlsZCBub2RlIHdpdGhpbiB0aGF0CisgICAgICAgIGNvbGxlY3Rpb24uCiAgICAgICAgIEhl cmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSBjb2xsYXRpb24gbm9kZS4KIAogICAgICAgICBBcmdz OgpAQCAtMzgwLDIyICszODUsMjggQEAgY2xhc3MgQ29sbGF0aW9uVmlldyhQR0NoaWxkTm9kZVZp ZXcpOgogICAgICAgICBtaXNzaW5nX2RlZmluaXRpb25fZmxhZyA9IEZhbHNlCiAKICAgICAgICAg Zm9yIGFyZyBpbiBkZWZpbml0aW9uX2FyZ3M6Ci0gICAgICAgICAgICBpZiBhcmcgPT0gJ2xvY2Fs ZScgYW5kIFwKLSAgICAgICAgICAgICAgICAgICAgKGFyZyBub3QgaW4gZGF0YSBvciBkYXRhW2Fy Z10gPT0gJycpOgorICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgIGFyZyA9PSAnbG9j YWxlJyBhbmQKKyAgICAgICAgICAgICAgICAoYXJnIG5vdCBpbiBkYXRhIG9yIGRhdGFbYXJnXSA9 PSAnJykKKyAgICAgICAgICAgICk6CiAgICAgICAgICAgICAgICAgaWYgJ2NvcHlfY29sbGF0aW9u JyBub3QgaW4gZGF0YSBhbmQgKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbGNf Y29sbGF0ZScgbm90IGluIGRhdGEgYW5kICdsY190eXBlJyBub3QgaW4gZGF0YQorICAgICAgICAg ICAgICAgICAgICAnbGNfY29sbGF0ZScgbm90IGluIGRhdGEgYW5kICdsY190eXBlJyBub3QgaW4g ZGF0YQogICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmdfZGVm aW5pdGlvbl9mbGFnID0gVHJ1ZQogCi0gICAgICAgICAgICBpZiBhcmcgPT0gJ2NvcHlfY29sbGF0 aW9uJyBhbmQgXAotICAgICAgICAgICAgICAgICAgICAoYXJnIG5vdCBpbiBkYXRhIG9yIGRhdGFb YXJnXSA9PSAnJyk6CisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgYXJnID09ICdj b3B5X2NvbGxhdGlvbicgYW5kCisgICAgICAgICAgICAgICAgKGFyZyBub3QgaW4gZGF0YSBvciBk YXRhW2FyZ10gPT0gJycpCisgICAgICAgICAgICApOgogICAgICAgICAgICAgICAgIGlmICdsb2Nh bGUnIG5vdCBpbiBkYXRhIGFuZCAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICds Y19jb2xsYXRlJyBub3QgaW4gZGF0YSBhbmQgJ2xjX3R5cGUnIG5vdCBpbiBkYXRhCisgICAgICAg ICAgICAgICAgICAgICdsY19jb2xsYXRlJyBub3QgaW4gZGF0YSBhbmQgJ2xjX3R5cGUnIG5vdCBp biBkYXRhCiAgICAgICAgICAgICAgICAgKToKICAgICAgICAgICAgICAgICAgICAgbWlzc2luZ19k ZWZpbml0aW9uX2ZsYWcgPSBUcnVlCiAKLSAgICAgICAgICAgIGlmIChhcmcgPT0gJ2xjX2NvbGxh dGUnIG9yIGFyZyA9PSAnbGNfdHlwZScpIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgIChhcmcg bm90IGluIGRhdGEgb3IgZGF0YVthcmddID09ICcnKToKKyAgICAgICAgICAgIGlmICgKKyAgICAg ICAgICAgICAgICAoYXJnID09ICdsY19jb2xsYXRlJyBvciBhcmcgPT0gJ2xjX3R5cGUnKSBhbmQK KyAgICAgICAgICAgICAgICAoYXJnIG5vdCBpbiBkYXRhIG9yIGRhdGFbYXJnXSA9PSAnJykKKyAg ICAgICAgICAgICk6CiAgICAgICAgICAgICAgICAgaWYgJ2NvcHlfY29sbGF0aW9uJyBub3QgaW4g ZGF0YSBhbmQgJ2xvY2FsZScgbm90IGluIGRhdGE6CiAgICAgICAgICAgICAgICAgICAgIG1pc3Np bmdfZGVmaW5pdGlvbl9mbGFnID0gVHJ1ZQogCkBAIC00MzUsNyArNDQ2LDggQEAgY2xhc3MgQ29s bGF0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIHN0YXR1cz00MTAs CiAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAogICAgICAgICAgICAgICAgIGVycm9ybXNnPWdl dHRleHQoCi0gICAgICAgICAgICAgICAgICAgICJEZWZpbml0aW9uIGluY29tcGxldGUuIFBsZWFz ZSBwcm92aWRlIExvY2FsZSBPUiBDb3B5IENvbGxhdGlvbiBPUiBMQ19UWVBFL0xDX0NPTExBVEUu IgorICAgICAgICAgICAgICAgICAgICAiRGVmaW5pdGlvbiBpbmNvbXBsZXRlLiBQbGVhc2UgcHJv dmlkZSBMb2NhbGUgT1IgQ29weSAiCisgICAgICAgICAgICAgICAgICAgICJDb2xsYXRpb24gT1Ig TENfVFlQRS9MQ19DT0xMQVRFLiIKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAK QEAgLTYwMyw3ICs2MTUsNyBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6 CiAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAg IGRhdGE9U1FMLAogICAgICAgICAgICAgICAgIHN0YXR1cz0yMDAKLSAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICApCiAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAg ICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKQogCkBAIC02 MjAsNyArNjMyLDggQEAgY2xhc3MgQ29sbGF0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQog ICAgICAgICAgICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAwOgogICAgICAgICAgICAgICAgIHJl dHVybiBnb25lKAotICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0 aGUgY29sbGF0aW9uIG9iamVjdCBpbiB0aGUgZGF0YWJhc2UuIikKKyAgICAgICAgICAgICAgICAg ICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUg Y29sbGF0aW9uIG9iamVjdCBpbiB0aGUgZGF0YWJhc2UuIikKICAgICAgICAgICAgICAgICApCiAK ICAgICAgICAgICAgIG9sZF9kYXRhID0gcmVzWydyb3dzJ11bMF0KQEAgLTYyOCw3ICs2NDEsOCBA QCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAg Ii8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3VwZGF0ZS5zcWwnXSksCiAgICAgICAgICAg ICAgICAgZGF0YT1kYXRhLCBvX2RhdGE9b2xkX2RhdGEsIGNvbm49c2VsZi5jb25uCiAgICAgICAg ICAgICApCi0gICAgICAgICAgICByZXR1cm4gU1FMLnN0cmlwKCdcbicpLCBkYXRhWyduYW1lJ10g aWYgJ25hbWUnIGluIGRhdGEgZWxzZSBvbGRfZGF0YVsnbmFtZSddCisgICAgICAgICAgICByZXR1 cm4gU1FMLnN0cmlwKCdcbicpLCBkYXRhWyduYW1lJ10gaWYgJ25hbWUnIGluIGRhdGEgZWxzZSBc CisgICAgICAgICAgICAgICAgb2xkX2RhdGFbJ25hbWUnXQogICAgICAgICBlbHNlOgogICAgICAg ICAgICAgcmVxdWlyZWRfYXJncyA9IFsKICAgICAgICAgICAgICAgICAnbmFtZScKQEAgLTY0OSw3 ICs2NjMsOCBAQCBjbGFzcyBDb2xsYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgQGNo ZWNrX3ByZWNvbmRpdGlvbgogICAgIGRlZiBzcWwoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwg Y29pZCk6CiAgICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGVz IHJldmVyc2UgZW5naW5lZXJlZCBzcWwgZm9yIGNvbGxhdGlvbiBvYmplY3QKKyAgICAgICAgVGhp cyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlcyByZXZlcnNlIGVuZ2luZWVyZWQgc3FsIGZvciBjb2xs YXRpb24KKyAgICAgICAgb2JqZWN0CiAKICAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgIGdpZDog U2VydmVyIEdyb3VwIElECmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL19faW5pdF9f LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy9fX2luaXRfXy5weQppbmRleCA0ZTUyZTJjMS4uY2Nk MDgxYzQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvX19pbml0X18ucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvY29sbGF0aW9ucy90ZXN0cy9fX2luaXRfXy5weQpAQCAtMTQsNCArMTQsMyBAQCBjbGFzcyBD b2xsYXRpb25UZXN0R2VuZXJhdG9yKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIGRlZiBnZW5l cmF0ZV90ZXN0cyhzZWxmKToKICAgICAgICAgcmV0dXJuCi0KZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxh dGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy90 ZXN0X2NvbGxhdGlvbl9hZGQucHkKaW5kZXggYjU0MTU4MGUuLjIyMGY0NzE1IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9jb2xsYXRpb25zL3Rlc3RzL3Rlc3RfY29sbGF0aW9uX2FkZC5weQorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xs YXRpb25zL3Rlc3RzL3Rlc3RfY29sbGF0aW9uX2FkZC5weQpAQCAtNjQsOCArNjQsOCBAQCBjbGFz cyBDb2xsYXRpb25BZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICAi c2NoZW1hIjogc2NoZW1hX25hbWUKICAgICAgICAgfQogICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLnBvc3Qoc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyAr IHN0cigKLSAgICAgICAgICAgIGRiX2lkKSArICcvJyArIHN0cihzY2hlbWFfaWQpICsgJy8nLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycg KyBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cihzY2hlbWFfaWQpICsgJy8nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs cyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90 ZXN0cy90ZXN0X2NvbGxhdGlvbl9wdXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL3Rlc3RfY29s bGF0aW9uX3B1dC5weQppbmRleCA0YzgzMzBmZi4uMGNmNDc5ODggMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Nv bGxhdGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fcHV0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMv dGVzdHMvdGVzdF9jb2xsYXRpb25fcHV0LnB5CkBAIC02OSw4ICs2OSw5IEBAIGNsYXNzIENvbGxh dGlvblB1dFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgICAgICJpZCI6IGNv bGxhdGlvbl9pZAogICAgICAgICB9CiAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVy LnB1dChzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3Ry KGRiX2lkKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyAnLycgKyBz dHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsgc3RyKHNjaGVtYV9pZCkgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihjb2xsYXRpb25faWQpLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvX19pbml0X18u cHkKaW5kZXggN2VjODdhZjQuLjczYWQyM2VhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL19faW5p dF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvX19pbml0X18ucHkKQEAgLTksMjMgKzksMjUgQEAKIAog IiIiSW1wbGVtZW50cyB0aGUgRG9tYWluIE5vZGUuIiIiCiAKLWltcG9ydCBzaW1wbGVqc29uIGFz IGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCi1pbXBvcnQgcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2VzCitpbXBvcnQg c2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZsYXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUsIG1h a2VfcmVzcG9uc2UsIHJlcXVlc3QsIGpzb25pZnkKIGZyb20gZmxhc2tfYmFiZWwgaW1wb3J0IGdl dHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzIGFzIGRhdGFiYXNlcworZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVS CiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNj aGVtYXMudXRpbHMgaW1wb3J0IFwKICAgICBTY2hlbWFDaGlsZE1vZHVsZSwgRGF0YVR5cGVSZWFk ZXIKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMu dXRpbHMgaW1wb3J0IFwKICAgICBwYXJzZV9zZWNfbGFiZWxzX2Zyb21fZGIKIGZyb20gcGdhZG1p bi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZpZXcKK2Zyb20gcGdhZG1pbi51dGls cyBpbXBvcnQgSVNfUFkyCiBmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29u X3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IsIFwKICAgICBtYWtlX3Jlc3BvbnNlIGFz IGFqYXhfcmVzcG9uc2UsIGdvbmUKIGZyb20gcGdhZG1pbi51dGlscy5jb21waWxlX3RlbXBsYXRl X25hbWUgaW1wb3J0IGNvbXBpbGVfdGVtcGxhdGVfcGF0aAogZnJvbSBwZ2FkbWluLnV0aWxzLmRy aXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJ VkVSCi1mcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IElTX1BZMgorCiAjIElmIHdlIGFyZSBpbiBQ eXRob24zCiBpZiBub3QgSVNfUFkyOgogICAgIHVuaWNvZGUgPSBzdHIKQEAgLTIwOSw3ICsyMTEs OCBAQCBjbGFzcyBEb21haW5WaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz00MTAsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3VjY2Vzcz0wLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9y bXNnPWdldHRleHQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3Qg ZmluZCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyICglcykuIiAlIGFyZworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGZpbmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAo JXMpLiIgJQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmcKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCiAgICAgICAgICAgICAgICAgICAgICAgICApCiAKQEAgLTIxOSwx NSArMjIyLDE5IEBAIGNsYXNzIERvbWFpblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJl YWRlcik6CiAgICAgICAgICAgICAgICAgICAgIGxpc3RfcGFyYW1zID0gWydjb25zdHJhaW50cycs ICdzZWNsYWJlbHMnXQogCiAgICAgICAgICAgICAgICAgZm9yIGtleSBpbiByZXE6Ci0gICAgICAg ICAgICAgICAgICAgIGlmIGtleSBpbiBsaXN0X3BhcmFtcyBhbmQgcmVxW2tleV0gIT0gJycgXAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZXFba2V5XSBpcyBub3QgTm9uZToKKyAg ICAgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICAgICAga2V5IGluIGxp c3RfcGFyYW1zIGFuZCByZXFba2V5XSAhPSAnJyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAg IHJlcVtrZXldIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAg ICAgICAgICAgICAgICAjIENvdmVydHMgc3RyaW5nIGludG8gcHl0aG9uIGxpc3QgYXMgZXhwZWN0 ZWQuCiAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBqc29uLmxvYWRzKHJlcVtr ZXldLCBlbmNvZGluZz0ndXRmLTgnKQogICAgICAgICAgICAgICAgICAgICBlbGlmIGtleSA9PSAn dHlwbm90bnVsbCc6Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBUcnVlIGlm IHJlcVtrZXldID09ICd0cnVlJyBvciByZXFba2V5XSBpcyBcCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcnVlIGVsc2Ug XAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChGYWxzZSBpZiByZXFba2V5XSA9PSAnZmFs c2UnIG9yIHJlcVtrZXldIGlzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRmFsc2UgZWxzZSAnJykKKyAgICAgICAgICAgICAgICAg ICAgICAgIGlmIHJlcVtrZXldID09ICd0cnVlJyBvciByZXFba2V5XSBpcyBUcnVlOgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IFRydWUKKyAgICAgICAgICAgICAgICAg ICAgICAgIGVsaWYgcmVxW2tleV0gPT0gJ2ZhbHNlJyBvciByZXFba2V5XSBpcyBGYWxzZToKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBGYWxzZQorICAgICAgICAgICAg ICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0g PSAnJwogICAgICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YVtrZXldID0gcmVxW2tleV0KIApAQCAtNjExLDcgKzYxOCw3IEBAIEFORCByZWxraW5kICE9 ICdjJykpIiIiCiAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogCi0gICAgICAgIG5h bWUgID0gcmVzWydyb3dzJ11bMF1bJ25hbWUnXQorICAgICAgICBuYW1lID0gcmVzWydyb3dzJ11b MF1bJ25hbWUnXQogICAgICAgICBiYXNlbnNwID0gcmVzWydyb3dzJ11bMF1bJ2Jhc2Vuc3AnXQog CiAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLApAQCAtNjU5LDcgKzY2Niw3IEBAIEFORCByZWxraW5kICE9ICdjJykpIiIiCiAgICAgICAg ICMgR2V0IFNjaGVtYSBJZAogICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnZ2V0X29pZC5zcWwnXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRv aWQ9ZG9pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvaWQ9ZG9pZCkKICAgICAg ICAgc3RhdHVzLCBzY2lkID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFyKFNRTCkKICAgICAgICAg aWYgbm90IHN0YXR1czoKICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9cmVzKQpAQCAtNjkzLDkgKzcwMCw5IEBAIEFORCByZWxraW5kICE9ICdjJykpIiIi CiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2Vy dmVyX2Vycm9yKGVycm9ybXNnPXJlcykKICAgICAgICAgaWYgbGVuKHJlc1sncm93cyddKSA9PSAw OgotICAgICAgICAgICAgICAgIHJldHVybiBnb25lKAotICAgICAgICAgICAgICAgICAgICBnZXR0 ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIGRvbWFpbi4iKQotICAgICAgICAgICAg ICAgICkKKyAgICAgICAgICAgIHJldHVybiBnb25lKAorICAgICAgICAgICAgICAgIGdldHRleHQo IkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgZG9tYWluLiIpCisgICAgICAgICAgICApCiAK ICAgICAgICAgZGF0YSA9IHJlc1sncm93cyddWzBdCiAKQEAgLTc2Miw3ICs3NjksNyBAQCBBTkQg cmVsa2luZCAhPSAnYycpKSIiIgogICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25z ZSgKICAgICAgICAgICAgICAgICBkYXRhPVNRTCwKICAgICAgICAgICAgICAgICBzdGF0dXM9MjAw Ci0gICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQogICAgICAgICBleGNlcHQgRXhjZXB0 aW9uIGFzIGU6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9y bXNnPXN0cihlKSkKIApAQCAtNzg3LDkgKzc5NCw5IEBAIEFORCByZWxraW5kICE9ICdjJykpIiIi CiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgICAgIHJldHVybiBGYWxz ZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKICAgICAgICAgICAgIGlmIGxl bihyZXNbJ3Jvd3MnXSkgPT0gMDoKLSAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0g ICAgICAgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lm aWVkIGRvbWFpbi4iKQotICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgcmV0 dXJuIGdvbmUoCisgICAgICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRo ZSBzcGVjaWZpZWQgZG9tYWluLiIpCisgICAgICAgICAgICAgICAgKQogCiAgICAgICAgICAgICBv bGRfZGF0YSA9IHJlc1sncm93cyddWzBdCiAKQEAgLTgxMCw3ICs4MTcsOCBAQCBBTkQgcmVsa2lu ZCAhPSAnYycpKSIiIgogICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAg ICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICd1cGRhdGUuc3FsJ10pLAog ICAgICAgICAgICAgICAgIGRhdGE9ZGF0YSwgb19kYXRhPW9sZF9kYXRhKQotICAgICAgICAgICAg cmV0dXJuIFNRTC5zdHJpcCgnXG4nKSwgZGF0YVsnbmFtZSddIGlmICduYW1lJyBpbiBkYXRhIGVs c2Ugb2xkX2RhdGFbJ25hbWUnXQorICAgICAgICAgICAgcmV0dXJuIFNRTC5zdHJpcCgnXG4nKSwg ZGF0YVsnbmFtZSddIGlmICduYW1lJyBpbiBkYXRhIGVsc2UgXAorICAgICAgICAgICAgICAgIG9s ZF9kYXRhWyduYW1lJ10KICAgICAgICAgZWxzZToKICAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90 ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlLnNxbCddKSwKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2RvbWFpbnMvZG9tYWluX2NvbnN0cmFpbnRzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy9kb21h aW5fY29uc3RyYWludHMvX19pbml0X18ucHkKaW5kZXggYzQxNjMyNGQuLjBkNTg0YzYyIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9kb21haW5zL2RvbWFpbl9jb25zdHJhaW50cy9fX2luaXRfXy5weQorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9kb21haW5zL2RvbWFpbl9jb25zdHJhaW50cy9fX2luaXRfXy5weQpAQCAtOSwxOSArOSwyMCBA QAogCiAiIiJJbXBsZW1lbnRzIHRoZSBEb21haW4gQ29uc3RyYWludCBNb2R1bGUuIiIiCiAKLWlt cG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCi1p bXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2No ZW1hcy5kb21haW5zIFwKLSAgICBhcyBkb21haW5zCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29u CiBmcm9tIGZsYXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUsIHJlcXVlc3QsIGpzb25pZnkKIGZy b20gZmxhc2tfYmFiZWwgaW1wb3J0IGdldHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMuZG9tYWlucyBcCisgICAgYXMg ZG9tYWlucworZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCiBmcm9tIHBnYWRt aW4uYnJvd3Nlci5jb2xsZWN0aW9uIGltcG9ydCBDb2xsZWN0aW9uTm9kZU1vZHVsZQogZnJvbSBw Z2FkbWluLmJyb3dzZXIudXRpbHMgaW1wb3J0IFBHQ2hpbGROb2RlVmlldwogZnJvbSBwZ2FkbWlu LnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vy cm9yLCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlLCBnb25lCiBmcm9tIHBn YWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCi1mcm9tIGNvbmZpZyBpbXBvcnQg UEdfREVGQVVMVF9EUklWRVIKIAogCiBjbGFzcyBEb21haW5Db25zdHJhaW50TW9kdWxlKENvbGxl Y3Rpb25Ob2RlTW9kdWxlKToKQEAgLTIxMSw3ICsyMTIsOCBAQCBjbGFzcyBEb21haW5Db25zdHJh aW50VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 YXR1cz00MTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyICgl cykuIiAlIGFyZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGZp bmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAoJXMpLiIgJQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhcmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgICApCiAKQEAgLTI0Nyw5ICsyNDksMTEgQEAgY2xhc3MgRG9tYWluQ29uc3Ry YWludFZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIHNlbGYucXRJZGVudCA9IGRy aXZlci5xdElkZW50CiAKICAgICAgICAgICAgICMgU2V0IHRoZSB0ZW1wbGF0ZSBwYXRoIGZvciB0 aGUgU1FMIHNjcmlwdHMKLSAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdkb21haW5f Y29uc3RyYWludHMvc3FsLyN7MH0jJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNpb24pCisgICAg ICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAnZG9tYWluX2NvbnN0cmFpbnRzL3NxbC8jezB9 IycuZm9ybWF0KAorICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci52ZXJzaW9uKQogCiAgICAg ICAgICAgICByZXR1cm4gZigqYXJncywgKiprd2FyZ3MpCisKICAgICAgICAgcmV0dXJuIHdyYXAK IAogICAgIEBjaGVja19wcmVjb25kaXRpb24KQEAgLTM4Myw3ICszODcsNyBAQCBjbGFzcyBEb21h aW5Db25zdHJhaW50VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBpZiBsZW4ocmVzWydy b3dzJ10pID09IDA6CiAgICAgICAgICAgICByZXR1cm4gZ29uZShnZXR0ZXh0KAogICAgICAgICAg ICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUgc3BlY2lmaWVkIGRvbWFpbiBjb25zdHJhaW50LiIK LSAgICAgICAgICAgICAgICApCisgICAgICAgICAgICApCiAgICAgICAgICAgICApCiAKICAgICAg ICAgZGF0YSA9IHJlc1sncm93cyddWzBdCkBAIC01ODUsNyArNTg5LDcgQEAgY2xhc3MgRG9tYWlu Q29uc3RyYWludFZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgaWYgbGVuKHJlc1sncm93 cyddKSA9PSAwOgogICAgICAgICAgICAgcmV0dXJuIGdvbmUoZ2V0dGV4dCgKICAgICAgICAgICAg ICAgICAiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBkb21haW4gY29uc3RyYWludC4iCi0g ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogCiAgICAgICAg IGRhdGEgPSByZXNbJ3Jvd3MnXVswXQpAQCAtNjU3LDcgKzY2MSw3IEBAIGNsYXNzIERvbWFpbkNv bnN0cmFpbnRWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgaWYgbGVuKHJl c1sncm93cyddKSA9PSAwOgogICAgICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UsIGdvbmUo Z2V0dGV4dCgKICAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUgc3Bl Y2lmaWVkIGRvbWFpbiBjb25zdHJhaW50LiIKLSAgICAgICAgICAgICAgICAgICAgICAgICkKKyAg ICAgICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICApCiAKICAgICAgICAgICAg ICAgICBvbGRfZGF0YSA9IHJlc1sncm93cyddWzBdCkBAIC02NzIsNyArNjc2LDEwIEBAIGNsYXNz IERvbWFpbkNvbnN0cmFpbnRWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAg U1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlLnNxbCdd KSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBkb21h aW49ZG9tYWluLCBzY2hlbWE9c2NoZW1hKQotICAgICAgICAgICAgcmV0dXJuIFRydWUsIFNRTC5z dHJpcCgnXG4nKSwgZGF0YVsnbmFtZSddIGlmICduYW1lJyBpbiBkYXRhIGVsc2Ugb2xkX2RhdGFb J25hbWUnXQorICAgICAgICAgICAgaWYgJ25hbWUnIGluIGRhdGE6CisgICAgICAgICAgICAgICAg cmV0dXJuIFRydWUsIFNRTC5zdHJpcCgnXG4nKSwgZGF0YVsnbmFtZSddCisgICAgICAgICAgICBl bHNlOgorICAgICAgICAgICAgICAgIHJldHVybiBUcnVlLCBTUUwuc3RyaXAoJ1xuJyksIG9sZF9k YXRhWyduYW1lJ10KICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAg cmV0dXJuIEZhbHNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c3RyKGUpKSwgTm9u ZQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3RzL3Rlc3RfZG9tYWluX2FkZC5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2RvbWFpbnMvdGVzdHMvdGVzdF9kb21haW5fYWRkLnB5CmluZGV4IGNjOWJkNmU2Li5jODAzNTM4 YiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy90ZXN0cy90ZXN0X2RvbWFpbl9hZGQucHkKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZG9tYWlucy90ZXN0cy90ZXN0X2RvbWFpbl9hZGQucHkKQEAgLTY3LDggKzY3LDggQEAgY2xh c3MgRG9tYWluQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICB9CiAgICAg ICAgICMgQ2FsbCBQT1NUIEFQSSB0byBhZGQgZG9tYWluCiAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnNlcnZlcl9pZCkg KyAnLycgKyBzdHIoCi0gICAgICAgICAgICBzZWxmLmRiX2lkKSArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLmRiX2lkKSArCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2NoZW1hX2lkKSArICcvJywKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5z L3Rlc3RzL3V0aWxzLnB5CmluZGV4IDIzYjc1NjEwLi5hNTBiYzBlMyAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv ZG9tYWlucy90ZXN0cy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3RzL3V0aWxzLnB5CkBA IC0zNyw4ICszNyw4IEBAIGRlZiBjcmVhdGVfZG9tYWluKHNlcnZlciwgZGJfbmFtZSwgc2NoZW1h X25hbWUsIHNjaGVtYV9pZCwgZG9tYWluX25hbWUpOgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydob3N0J10sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQnXSkKICAgICAgICAgcGdfY3Vy c29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQotICAgICAgICBxdWVyeSA9ICdDUkVBVEUgRE9NQUlO ICcrc2NoZW1hX25hbWUrJy4nK2RvbWFpbl9uYW1lKycgQVMnIFwKLSAgICAgICAgICAgICAgICAn IGNoYXJhY3RlcigxMCkgQ09MTEFURSBwZ19jYXRhbG9nLiJQT1NJWCIgREVGQVVMVCAxJworICAg ICAgICBxdWVyeSA9ICdDUkVBVEUgRE9NQUlOICcgKyBzY2hlbWFfbmFtZSArICcuJyArIGRvbWFp bl9uYW1lICsgXAorICAgICAgICAgICAgICAgICcgQVMgY2hhcmFjdGVyKDEwKSBDT0xMQVRFIHBn X2NhdGFsb2cuIlBPU0lYIiBERUZBVUxUIDEnCiAgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKHF1 ZXJ5KQogICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgpCiAgICAgICAgICMgR2V0ICdvaWQnIGZy b20gbmV3bHkgY3JlYXRlZCBkb21haW4KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvX19pbml0X18ucHkKaW5kZXggYzM2NTk4YzAu LmE5OGFkYTc0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy9fX2luaXRfXy5weQorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mb3JlaWduX3RhYmxlcy9fX2luaXRfXy5weQpAQCAtOSwxNSArOSwxNyBAQAogCiAiIiJJ bXBsZW1lbnRzIHRoZSBGb3JlaWduIFRhYmxlIE1vZHVsZS4iIiIKIAotaW1wb3J0IHNpbXBsZWpz b24gYXMganNvbgogaW1wb3J0IHN5cwogaW1wb3J0IHRyYWNlYmFjawogZnJvbSBmdW5jdG9vbHMg aW1wb3J0IHdyYXBzCiAKLWltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2 ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZXMKK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZy b20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgbWFrZV9yZXNwb25zZSwgcmVxdWVzdCwg anNvbmlmeSwgXAogICAgIGN1cnJlbnRfYXBwCiBmcm9tIGZsYXNrX2JhYmVsIGltcG9ydCBnZXR0 ZXh0CisKK2ltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcyBhcyBkYXRhYmFzZXMKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgog ZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hl bWFzLnV0aWxzIGltcG9ydCBcCiAgICAgU2NoZW1hQ2hpbGRNb2R1bGUsIERhdGFUeXBlUmVhZGVy CiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnV0 aWxzIGltcG9ydCBcCkBAIC0yNSwxMiArMjcsMTIgQEAgZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy51dGlscyBpbXBvcnQgXAogZnJvbSBwZ2FkbWlu LmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnV0aWxzIGltcG9ydCBwYXJzZV9wcml2X2Zy b21fZGIsIFwKICAgICBwYXJzZV9wcml2X3RvX2RiCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGls cyBpbXBvcnQgUEdDaGlsZE5vZGVWaWV3Citmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IElTX1BZ MgogZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50 ZXJuYWxfc2VydmVyX2Vycm9yLCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNl LCBnb25lCiBmcm9tIHBnYWRtaW4udXRpbHMuY29tcGlsZV90ZW1wbGF0ZV9uYW1lIGltcG9ydCBj b21waWxlX3RlbXBsYXRlX3BhdGgKIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdl dF9kcml2ZXIKLWZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgotZnJvbSBwZ2Fk bWluLnV0aWxzIGltcG9ydCBJU19QWTIKKwogIyBJZiB3ZSBhcmUgaW4gUHl0aG9uMwogaWYgbm90 IElTX1BZMjoKICAgICB1bmljb2RlID0gc3RyCkBAIC0yNTIsNyArMjU0LDggQEAgY2xhc3MgRm9y ZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdGF0dXM9NDEwLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN1Y2Nlc3M9MCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0 ZXh0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGZpbmQgdGhl IHJlcXVpcmVkIHBhcmFtZXRlciAoJXMpLiIgJSBhcmcKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIkNvdWxkIG5vdCBmaW5kIHRoZSByZXF1aXJlZCBwYXJhbWV0ZXIgKCVzKS4iICUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKQogICAgICAgICAgICAgICAgICAgICAgICAgKQogCkBAIC0yNjUsMTIgKzI2OCwx NCBAQCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFk ZXIpOgogICAgICAgICAgICAgICAgICAgICBsaXN0X3BhcmFtcyA9IFsnaW5oZXJpdHMnXQogCiAg ICAgICAgICAgICAgICAgZm9yIGtleSBpbiByZXE6Ci0gICAgICAgICAgICAgICAgICAgIGlmIGtl eSBpbiBsaXN0X3BhcmFtcyBhbmQgcmVxW2tleV0gIT0gJycgXAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFuZCByZXFba2V5XSBpcyBub3QgTm9uZToKKyAgICAgICAgICAgICAgICAgICAg aWYgKAorICAgICAgICAgICAgICAgICAgICAgICAga2V5IGluIGxpc3RfcGFyYW1zIGFuZCByZXFb a2V5XSAhPSAnJyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcVtrZXldIGlzIG5vdCBO b25lCisgICAgICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAgICAgICAgICAgICAgICAjIENv dmVydHMgc3RyaW5nIGludG8gcHl0aG9uIGxpc3QgYXMgZXhwZWN0ZWQuCi0gICAgICAgICAgICAg ICAgICAgICAgICBkYXRhW2tleV0gPSBbXSBpZiBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgdHlwZShyZXFba2V5XSkgPT0gbGlzdCBhbmQgbGVuKHJlcVtrZXldKSA9PSAwIGVsc2UgXAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb24ubG9hZHMocmVxW2tleV0sIGVuY29kaW5n PSd1dGYtOCcpCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXQorICAgICAg ICAgICAgICAgICAgICAgICAgaWYgdHlwZShyZXFba2V5XSkgIT0gbGlzdCBvciBsZW4ocmVxW2tl eV0pICE9IDA6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldID0ganNvbi5s b2FkcyhyZXFba2V5XSwgZW5jb2Rpbmc9J3V0Zi04JykKIAogICAgICAgICAgICAgICAgICAgICAg ICAgaWYga2V5ID09ICdpbmhlcml0cyc6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBD b252ZXJ0IFRhYmxlIGlkcyBmcm9tIHVuaWNvZGUvc3RyaW5nIHRvIGludApAQCAtMzUyLDYgKzM1 Nyw3IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJl YWRlcik6CiAgICAgICAgICAgICApCiAKICAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3 YXJncykKKwogICAgICAgICByZXR1cm4gd3JhcAogCiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgpA QCAtNDQyLDggKzQ0OCw4IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICApCiAKICAgICAgICAgcmV0dXJuIGdvbmUo Z2V0dGV4dCgKLSAgICAgICAgICAgICAgICAgICAgJ0NvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZp ZWQgZm9yZWlnbiB0YWJsZS4nCi0gICAgICAgICAgICAgICAgICAgICkpCisgICAgICAgICAgICAn Q291bGQgbm90IGZpbmQgdGhlIHNwZWNpZmllZCBmb3JlaWduIHRhYmxlLicKKyAgICAgICAgKSkK IAogICAgIEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgcHJvcGVydGllcyhzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkLCBmb2lkKToKQEAgLTQ1OCw3ICs0NjQsNyBAQCBjbGFzcyBGb3JlaWdu VGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAg Zm9pZDogRm9yZWlnbiBUYWJsZSBJZAogICAgICAgICAiIiIKICAgICAgICAgZGF0YSA9IHNlbGYu X2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm9pZCkKLSAgICAgICAgaWYg ZGF0YSA9PSBGYWxzZToKKyAgICAgICAgaWYgZGF0YSBpcyBGYWxzZToKICAgICAgICAgICAgIHJl dHVybiBnb25lKAogICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBm b3JlaWduIHRhYmxlIG9uIHRoZSBzZXJ2ZXIuIikKICAgICAgICAgICAgICkKQEAgLTU3OSw3ICs1 ODUsNyBAQCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICByZXMgPSBbXQogICAgICAgICB0cnk6CiAgICAgICAgICAgICBTUUwg PSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oCi0gICAgICAgICAgICAgICAgW3NlbGYudGVtcGxh dGVfcGF0aCwnZ2V0X3RhYmxlcy5zcWwnXSksCisgICAgICAgICAgICAgICAgW3NlbGYudGVtcGxh dGVfcGF0aCwgJ2dldF90YWJsZXMuc3FsJ10pLAogICAgICAgICAgICAgICAgIGZvaWQ9Zm9pZCwg c2VydmVyX3R5cGU9c2VsZi5tYW5hZ2VyLnNlcnZlcl90eXBlLAogICAgICAgICAgICAgICAgIHNo b3dfc3lzX29iamVjdHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cykKICAgICAg ICAgICAgIHN0YXR1cywgcnNldCA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQpAQCAtNTkx LDcgKzU5Nyw3IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRh VHlwZVJlYWRlcik6CiAgICAgICAgICAgICAgICAgc3RhdHVzPTIwMAogICAgICAgICAgICAgKQog Ci0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbjoKICAgICAgICAgICAg IGV4Y190eXBlLCBleGNfdmFsdWUsIGV4Y190cmFjZWJhY2sgPSBzeXMuZXhjX2luZm8oKQogICAg ICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmVycm9yKAogICAgICAgICAgICAgICAgIHRyYWNl YmFjay5wcmludF9leGNlcHRpb24oZXhjX3R5cGUsCkBAIC02MzQsNyArNjQwLDcgQEAgY2xhc3Mg Rm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAg ICAgICAgICAgICAgICAgZGF0YT1yZXNbJ3Jvd3MnXSwKICAgICAgICAgICAgICAgICAgICAgc3Rh dHVzPTIwMAogICAgICAgICAgICAgICAgICkKLSAgICAgICAgZXhjZXB0OgorICAgICAgICBleGNl cHQgRXhjZXB0aW9uOgogICAgICAgICAgICAgZXhjX3R5cGUsIGV4Y192YWx1ZSwgZXhjX3RyYWNl YmFjayA9IHN5cy5leGNfaW5mbygpCiAgICAgICAgICAgICBjdXJyZW50X2FwcC5sb2dnZXIuZXJy b3IodHJhY2ViYWNrLnByaW50X2V4Y2VwdGlvbigKICAgICAgICAgICAgICAgICBleGNfdHlwZSwK QEAgLTcyMiw3ICs3MjgsOCBAQCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmll dywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICAjIEZldGNoIE5h bWUgYW5kIFNjaGVtYSBOYW1lIHRvIGRlbGV0ZSB0aGUgZm9yZWlnbiB0YWJsZS4KICAgICAgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVsZXRlLnNxbCdd KSwgc2NpZD1zY2lkLCBmb2lkPWZvaWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdkZWxldGUuc3FsJ10pLCBzY2lkPXNjaWQsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZm9pZD1mb2lkKQogICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBz ZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KFNRTCkKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6 CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1y ZXMpCkBAIC03MzgsNyArNzQ1LDcgQEAgY2xhc3MgRm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9k ZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICAgICAgKQogICAgICAgICAg ICAgICAgICkKIAotICAgICAgICAgICAgbmFtZSA9ICByZXNbJ3Jvd3MnXVswXVsnbmFtZSddCisg ICAgICAgICAgICBuYW1lID0gcmVzWydyb3dzJ11bMF1bJ25hbWUnXQogICAgICAgICAgICAgYmFz ZW5zcCA9IHJlc1sncm93cyddWzBdWydiYXNlbnNwJ10KIAogICAgICAgICAgICAgU1FMID0gcmVu ZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCkBAIC04MjMsMTQgKzgz MCwxNCBAQCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICAgICAgZm9pZDogRm9yZWlnbiBUYWJsZSBJZAogICAgICAgICAiIiIK ICAgICAgICAgZGF0YSA9IHNlbGYuX2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2Np ZCwgZm9pZCwgaW5oZXJpdHM9VHJ1ZSkKLSAgICAgICAgaWYgZGF0YSA9PSBGYWxzZToKKyAgICAg ICAgaWYgZGF0YSBpcyBGYWxzZToKICAgICAgICAgICAgIHJldHVybiBnb25lKAogICAgICAgICAg ICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIHRhYmxlIG9uIHRoZSBz ZXJ2ZXIuIikKICAgICAgICAgICAgICkKIAogICAgICAgICBjb2xfZGF0YSA9IFtdCiAgICAgICAg IGZvciBjIGluIGRhdGFbJ2NvbHVtbnMnXToKLSAgICAgICAgICAgIGlmIChub3QgJ2luaGVyaXRl ZGZyb20nIGluIGMpIG9yIChjWydpbmhlcml0ZWRmcm9tJ10gaXMgTm9uZSk6CisgICAgICAgICAg ICBpZiAoJ2luaGVyaXRlZGZyb20nIG5vdCBpbiBjKSBvciAoY1snaW5oZXJpdGVkZnJvbSddIGlz IE5vbmUpOgogICAgICAgICAgICAgICAgIGNvbF9kYXRhLmFwcGVuZChjKQogCiAgICAgICAgIGRh dGFbJ2NvbHVtbnMnXSA9IGNvbF9kYXRhCkBAIC04NzgsNyArODg1LDcgQEAgY2xhc3MgRm9yZWln blRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICAgICAgZGF0YT1TUUwsCiAg ICAgICAgICAgICAgICAgc3RhdHVzPTIwMAotICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAg ICkKICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCiAKQEAgLTg5Niw3ICs5MDMsNyBA QCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIp OgogICAgICAgICBpZiBmb2lkIGlzIG5vdCBOb25lOgogICAgICAgICAgICAgb2xkX2RhdGEgPSBz ZWxmLl9mZXRjaF9wcm9wZXJ0aWVzKGdpZCwgc2lkLCBkaWQsIHNjaWQsIGZvaWQsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdHM9VHJ1ZSkKLSAg ICAgICAgICAgIGlmIG9sZF9kYXRhID09IEZhbHNlOgorICAgICAgICAgICAgaWYgb2xkX2RhdGEg aXMgRmFsc2U6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoCiAgICAgICAgICAgICAgICAg ICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIHRhYmxlIG9uIHRoZSBzZXJ2 ZXIuIikKICAgICAgICAgICAgICAgICApCkBAIC05MjAsNyArOTI3LDEwIEBAIGNsYXNzIEZvcmVp Z25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAg ICAgICAgICAjIFBhcnNlIENvbHVtbiBPcHRpb25zCiAgICAgICAgICAgICAgICAgZm9yIGMgaW4g ZGF0YVsnY29sdW1ucyddWydjaGFuZ2VkJ106Ci0gICAgICAgICAgICAgICAgICAgIG9sZF9jb2xf b3B0aW9ucyA9IGNbJ2F0dGZkd29wdGlvbnMnXSBpZiAoJ2F0dGZkd29wdGlvbnMnIGluIGMgYW5k IGNbJ2F0dGZkd29wdGlvbnMnXSkgZWxzZSBbXQorICAgICAgICAgICAgICAgICAgICBvbGRfY29s X29wdGlvbnMgPSBjWydhdHRmZHdvcHRpb25zJ10gPSBbXQorICAgICAgICAgICAgICAgICAgICBp ZiAnYXR0ZmR3b3B0aW9ucycgaW4gYyBhbmQgY1snYXR0ZmR3b3B0aW9ucyddOgorICAgICAgICAg ICAgICAgICAgICAgICAgb2xkX2NvbF9vcHRpb25zID0gY1snYXR0ZmR3b3B0aW9ucyddCisKICAg ICAgICAgICAgICAgICAgICAgb2xkX2NvbF9mcm10X29wdGlvbnMgPSB7fQogCiAgICAgICAgICAg ICAgICAgICAgIGZvciBvIGluIG9sZF9jb2xfb3B0aW9uczoKQEAgLTkzMyw4ICs5NDMsMTAgQEAg Y2xhc3MgRm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToK IAogICAgICAgICAgICAgICAgICAgICBpZiAnY29sb3B0aW9ucycgaW4gYyBhbmQgbGVuKGNbJ2Nv bG9wdGlvbnMnXSkgPiAwOgogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG8gaW4gY1snY29s b3B0aW9ucyddOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG9bJ29wdGlvbiddIGlu IG9sZF9jb2xfZnJtdF9vcHRpb25zIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG9bJ3ZhbHVlJ10gIT0gb2xkX2NvbF9mcm10X29wdGlvbnNbb1snb3B0 aW9uJ11dOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb1snb3B0aW9uJ10gaW4gb2xkX2NvbF9mcm10X29wdGlvbnMgYW5k CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9bJ3ZhbHVlJ10gIT0gb2xkX2NvbF9m cm10X29wdGlvbnNbb1snb3B0aW9uJ11dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKToK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY1snY29sb3B0aW9uc191cGRhdGVkJ11b J2NoYW5nZWQnXS5hcHBlbmQobykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGlmIG9b J29wdGlvbiddIG5vdCBpbiBvbGRfY29sX2ZybXRfb3B0aW9uczoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY1snY29sb3B0aW9uc191cGRhdGVkJ11bJ2FkZGVkJ10uYXBwZW5kKG8p CkBAIC05NDIsNyArOTU0LDggQEAgY2xhc3MgRm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZp ZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVs IG9sZF9jb2xfZnJtdF9vcHRpb25zW29bJ29wdGlvbiddXQogCiAgICAgICAgICAgICAgICAgICAg IGZvciBvIGluIG9sZF9jb2xfZnJtdF9vcHRpb25zOgotICAgICAgICAgICAgICAgICAgICAgICAg Y1snY29sb3B0aW9uc191cGRhdGVkJ11bJ2RlbGV0ZWQnXS5hcHBlbmQoeydvcHRpb24nOiBvfSkK KyAgICAgICAgICAgICAgICAgICAgICAgIGNbJ2NvbG9wdGlvbnNfdXBkYXRlZCddWydkZWxldGVk J10uYXBwZW5kKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnb3B0aW9uJzogb30pCiAK ICAgICAgICAgICAgICMgUGFyc2UgUHJpdmlsZWdlcwogICAgICAgICAgICAgaWYgJ2FjbCcgaW4g ZGF0YSBhbmQgJ2FkZGVkJyBpbiBkYXRhWydhY2wnXToKQEAgLTk3Miw3ICs5ODUsNiBAQCBjbGFz cyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3JlYXRlLnNxbCddKSwg ZGF0YT1kYXRhKQogICAgICAgICAgICAgcmV0dXJuIFNRTCwgZGF0YVsnbmFtZSddCiAKLQogICAg IEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgZGVwZW5kZW50cyhzZWxmLCBnaWQsIHNpZCwg ZGlkLCBzY2lkLCBmb2lkKToKICAgICAgICAgIiIiCkBAIC0xMDk2LDEzICsxMTA4LDEzIEBAIGNs YXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAg ICAgICAgICMgU28sIHdlIG5lZWQgdG8gc2VwYXJhdGUgaXQgYXMgTGVuZ3RoOiAxLCBQcmVjaXNp b246IDEKICAgICAgICAgZm9yIGMgaW4gY29sc1sncm93cyddOgogICAgICAgICAgICAgaWYgY1sn ZnVsbHR5cGUnXSAhPSAnJyBhbmQgY1snZnVsbHR5cGUnXS5maW5kKCIoIikgPiAwOgotICAgICAg ICAgICAgICAgIHN1YnN0ciA9IGNbJ2Z1bGx0eXBlJ11bY1snZnVsbHR5cGUnXS5maW5kKCIoIikg KyAxOmNbJ2Z1bGx0eXBlJ10uZmluZCgiKSIpXQorICAgICAgICAgICAgICAgIHN1YnN0ciA9IHNl bGYuZXh0cmFjdF90eXBlX2xlbmd0aF9wcmVjaXNpb24oYykKICAgICAgICAgICAgICAgICB0eXBs ZW4gPSBzdWJzdHIuc3BsaXQoIiwiKQogICAgICAgICAgICAgICAgIGlmIGxlbih0eXBsZW4pID4g MToKLSAgICAgICAgICAgICAgICAgICAgY1sndHlwbGVuJ10gPSBpbnQodHlwbGVuWzBdKSBpZiB0 eXBsZW5bMF0uaXNkaWdpdCgpIGVsc2UgdHlwbGVuWzBdCi0gICAgICAgICAgICAgICAgICAgIGNb J3ByZWNpc2lvbiddID0gaW50KHR5cGxlblsxXSkgaWYgdHlwbGVuWzFdLmlzZGlnaXQoKSBlbHNl IHR5cGxlblsxXQorICAgICAgICAgICAgICAgICAgICBjWyd0eXBsZW4nXSA9IHNlbGYuY29udmVy dF90eXBsZW5fdG9faW50KHR5cGxlbikKKyAgICAgICAgICAgICAgICAgICAgY1sncHJlY2lzaW9u J10gPSBzZWxmLmNvbnZlcnRfcHJlY2lzaW9uX3RvX2ludCh0eXBsZW4pCiAgICAgICAgICAgICAg ICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAgY1sndHlwbGVuJ10gPSBpbnQodHlwbGVuWzBd KSBpZiB0eXBsZW5bMF0uaXNkaWdpdCgpIGVsc2UgdHlwbGVuWzBdCisgICAgICAgICAgICAgICAg ICAgIGNbJ3R5cGxlbiddID0gc2VsZi5jb252ZXJ0X3R5cGxlbl90b19pbnQodHlwbGVuKQogICAg ICAgICAgICAgICAgICAgICBjWydwcmVjaXNpb24nXSA9IE5vbmUKIAogICAgICAgICAgICAgIyBH ZXQgZm9ybWF0dGVkIENvbHVtbiBPcHRpb25zCkBAIC0xMTMzLDYgKzExNDUsMjkgQEAgY2xhc3Mg Rm9yZWlnblRhYmxlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKIAogICAg ICAgICByZXR1cm4gZGF0YQogCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBjb252ZXJ0X3By ZWNpc2lvbl90b19pbnQodHlwbGVuKToKKyAgICAgICAgcmV0dXJuIGludCh0eXBsZW5bMV0pIGlm IHR5cGxlblsxXS5pc2RpZ2l0KCkgZWxzZSBcCisgICAgICAgICAgICB0eXBsZW5bMV0KKworICAg IEBzdGF0aWNtZXRob2QKKyAgICBkZWYgY29udmVydF90eXBsZW5fdG9faW50KHR5cGxlbik6Cisg ICAgICAgIHJldHVybiBpbnQodHlwbGVuWzBdKSBpZiB0eXBsZW5bMF0uaXNkaWdpdCgpIGVsc2Ug XAorICAgICAgICAgICAgdHlwbGVuWzBdCisKKyAgICBkZWYgZXh0cmFjdF90eXBlX2xlbmd0aF9w cmVjaXNpb24oc2VsZiwgY29sdW1uKToKKyAgICAgICAgZnVsbF90eXBlID0gY29sdW1uWydmdWxs dHlwZSddCisgICAgICAgIHJldHVybiBmdWxsX3R5cGVbc2VsZi50eXBlX3N0YXJ0X3Bvc2l0aW9u KGNvbHVtbik6CisgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlX2VuZF9wb3NpdGlv bihjb2x1bW4pXQorCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiB0eXBlX2VuZF9wb3NpdGlv bihjb2x1bW4pOgorICAgICAgICByZXR1cm4gY29sdW1uWydmdWxsdHlwZSddLmZpbmQoIikiKQor CisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiB0eXBlX3N0YXJ0X3Bvc2l0aW9uKGNvbHVtbik6 CisgICAgICAgIHJldHVybiBjb2x1bW5bJ2Z1bGx0eXBlJ10uZmluZCgiKCIpICsgMQorCiAgICAg ZGVmIF9mb3JtYXRfcHJvYWNsX2Zyb21fZGIoc2VsZiwgcHJvYWNsKToKICAgICAgICAgIiIiCiAg ICAgICAgIFJldHVybnMgcHJpdmlsZWdlcy4KQEAgLTEyMDAsNyArMTIzNSw3IEBAIGNsYXNzIEZv cmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAg ICAgICBTRUxFQ1QgU2NyaXB0IHNxbCBmb3IgdGhlIG9iamVjdAogICAgICAgICAiIiIKICAgICAg ICAgZGF0YSA9IHNlbGYuX2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm9p ZCkKLSAgICAgICAgaWYgZGF0YSA9PSBGYWxzZToKKyAgICAgICAgaWYgZGF0YSBpcyBGYWxzZToK ICAgICAgICAgICAgIHJldHVybiBnb25lKAogICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxk IG5vdCBmaW5kIHRoZSBmb3JlaWduIHRhYmxlIG9uIHRoZSBzZXJ2ZXIuIikKICAgICAgICAgICAg ICkKQEAgLTEyMzcsNyArMTI3Miw3IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5v ZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICBJTlNFUlQgU2NyaXB0IHNxbCBm b3IgdGhlIG9iamVjdAogICAgICAgICAiIiIKICAgICAgICAgZGF0YSA9IHNlbGYuX2ZldGNoX3By b3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm9pZCkKLSAgICAgICAgaWYgZGF0YSA9PSBG YWxzZToKKyAgICAgICAgaWYgZGF0YSBpcyBGYWxzZToKICAgICAgICAgICAgIHJldHVybiBnb25l KAogICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIHRh YmxlIG9uIHRoZSBzZXJ2ZXIuIikKICAgICAgICAgICAgICkKQEAgLTEyNzksNyArMTMxNCw3IEBA IGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6 CiAgICAgICAgICAgICBVUERBVEUgU2NyaXB0IHNxbCBmb3IgdGhlIG9iamVjdAogICAgICAgICAi IiIKICAgICAgICAgZGF0YSA9IHNlbGYuX2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwg c2NpZCwgZm9pZCkKLSAgICAgICAgaWYgZGF0YSA9PSBGYWxzZToKKyAgICAgICAgaWYgZGF0YSBp cyBGYWxzZToKICAgICAgICAgICAgIHJldHVybiBnb25lKAogICAgICAgICAgICAgICAgIGdldHRl eHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBmb3JlaWduIHRhYmxlIG9uIHRoZSBzZXJ2ZXIuIikKICAg ICAgICAgICAgICkKQEAgLTEzMjQsNyArMTM1OSw3IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXco UEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICBERUxFVEUgU2Ny aXB0IHNxbCBmb3IgdGhlIG9iamVjdAogICAgICAgICAiIiIKICAgICAgICAgZGF0YSA9IHNlbGYu X2ZldGNoX3Byb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm9pZCkKLSAgICAgICAgaWYg ZGF0YSA9PSBGYWxzZToKKyAgICAgICAgaWYgZGF0YSBpcyBGYWxzZToKICAgICAgICAgICAgIHJl dHVybiBnb25lKAogICAgICAgICAgICAgICAgIGdldHRleHQoIkNvdWxkIG5vdCBmaW5kIHRoZSBm b3JlaWduIHRhYmxlIG9uIHRoZSBzZXJ2ZXIuIikKICAgICAgICAgICAgICkKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJsZV9hZGQucHkgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVpZ25fdGFibGVfYWRkLnB5CmluZGV4IGZmZjky YzU5Li41MTE1ODJjYiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvdGVzdHMvdGVzdF9m b3JlaWduX3RhYmxlX2FkZC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2Zv cmVpZ25fdGFibGVfYWRkLnB5CkBAIC0xMiw5ICsxMiw5IEBAIGZyb20gX19mdXR1cmVfXyBpbXBv cnQgcHJpbnRfZnVuY3Rpb24KIGltcG9ydCBqc29uCiBpbXBvcnQgdXVpZAogCi1mcm9tIHBnYWRt aW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLmZvcmVpZ25fZGF0YV93 cmFwcGVycy5cCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0 YWJhc2VzLmZvcmVpZ25fZGF0YV93cmFwcGVycy4gXAogICAgIGZvcmVpZ25fc2VydmVycy50ZXN0 cyBpbXBvcnQgdXRpbHMgYXMgZnNydl91dGlscwotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWduX2RhdGFfd3JhcHBlcnMuXAorZnJvbSBw Z2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWduX2Rh dGFfd3JhcHBlcnMuIFwKICAgICB0ZXN0cyBpbXBvcnQgdXRpbHMgYXMgZmR3X3V0aWxzCiBmcm9t IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGlt cG9ydCBcCiAgICAgdXRpbHMgYXMgZGF0YWJhc2VfdXRpbHMKQEAgLTcxLDE0ICs3MSwxMyBAQCBj bGFzcyBGb3JlaWduVGFibGVBZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg IGRhdGEgPSB7CiAgICAgICAgICAgICAiYWNsIjogW10sCiAgICAgICAgICAgICAiYmFzZW5zcCI6 IHNlbGYuc2NoZW1hX25hbWUsCi0gICAgICAgICAgICAiY29sdW1ucyI6Ci0gICAgICAgICAgICAg ICAgWwotICAgICAgICAgICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAiYXR0 bmFtZSI6ICJlbmFtZSIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiZGF0YXR5cGUiOiAidGV4 dCIsCi0gICAgICAgICAgICAgICAgICAgICAgICAiY29sb3B0aW9ucyI6IFtdCi0gICAgICAgICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgImNvbHVtbnMiOiBb CisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAiYXR0bmFtZSI6ICJlbmFt ZSIsCisgICAgICAgICAgICAgICAgICAgICJkYXRhdHlwZSI6ICJ0ZXh0IiwKKyAgICAgICAgICAg ICAgICAgICAgImNvbG9wdGlvbnMiOiBbXQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg IF0sCiAgICAgICAgICAgICAiY29uc3RyYWludHMiOiBbXSwKICAgICAgICAgICAgICJmdG9wdGlv bnMiOiBbXSwKICAgICAgICAgICAgICJpbmhlcml0cyI6IFtdLApAQCAtOTIsOCArOTEsOCBAQCBj bGFzcyBGb3JlaWduVGFibGVBZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAKICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KAogICAgICAgICAgICAgc2VsZi51cmwgKyBz dHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0gICAgICAgICAgICBzdHIoc2VsZi5zZXJ2 ZXJfaWQpICsgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsgJy8nCi0gICAgICAgICAgICArIHN0cihz ZWxmLnNjaGVtYV9pZCkgKyAnLycsIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAg IHN0cihzZWxmLnNlcnZlcl9pZCkgKyAnLycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKworICAg ICAgICAgICAgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJywgZGF0YT1qc29uLmR1bXBzKGRhdGEp LAogICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQogCiAgICAgICAgIHNlbGYu YXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVpZ25fdGFibGVfZGVsZXRlLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9y ZWlnbl90YWJsZXMvdGVzdHMvdGVzdF9mb3JlaWduX3RhYmxlX2RlbGV0ZS5weQppbmRleCA5OTcz ZDEwNi4uZjExNmYzNDYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3Rf Zm9yZWlnbl90YWJsZV9kZWxldGUucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvdGVzdHMvdGVz dF9mb3JlaWduX3RhYmxlX2RlbGV0ZS5weQpAQCAtNTIsNyArNTIsOCBAQCBjbGFzcyBGb3JlaWdu VGFibGVEZWxldGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mc3J2X25hbWUsIHNlbGYuZmR3X25h bWUpCiAgICAgICAgIHNlbGYuZnRfaWQgPSBmdF91dGlscy5jcmVhdGVfZm9yZWlnbl90YWJsZShz ZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnNydl9uYW1lLCBzZWxmLmZ0 X25hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLmZzcnZfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuZnRfbmFtZSkKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAg ICAgICAiIiJUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIGZvcmVpZ24gdGFibGUgdW5kZXIgdGVz dCBkYXRhYmFzZS4iIiIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3Rf Zm9yZWlnbl90YWJsZV9nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVp Z25fdGFibGVfZ2V0LnB5CmluZGV4IDQ2NTNjYWM3Li4xYzkwOGI5NSAxMDA2NDQKLS0tIGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Zm9yZWlnbl90YWJsZXMvdGVzdHMvdGVzdF9mb3JlaWduX3RhYmxlX2dldC5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVpZ25fdGFibGVfZ2V0LnB5CkBAIC0xMSw5ICsx MSw5IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IHV1 aWQKIAotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNl cy5mb3JlaWduX2RhdGFfd3JhcHBlcnMuXAorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5mb3JlaWduX2RhdGFfd3JhcHBlcnMuIFwKICAgICBmb3Jl aWduX3NlcnZlcnMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIGZzcnZfdXRpbHMKLWZyb20gcGdhZG1p bi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuZm9yZWlnbl9kYXRhX3dy YXBwZXJzLlwKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRh YmFzZXMuZm9yZWlnbl9kYXRhX3dyYXBwZXJzLiBcCiAgICAgdGVzdHMgaW1wb3J0IHV0aWxzIGFz IGZkd191dGlscwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRh dGFiYXNlcy50ZXN0cyBpbXBvcnQgXAogICAgIHV0aWxzIGFzIGRhdGFiYXNlX3V0aWxzCkBAIC01 Miw3ICs1Miw4IEBAIGNsYXNzIEZvcmVpZ25UYWJsZUdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJh dG9yKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm LmZzcnZfbmFtZSwgc2VsZi5mZHdfbmFtZSkKICAgICAgICAgc2VsZi5mdF9pZCA9IGZ0X3V0aWxz LmNyZWF0ZV9mb3JlaWduX3RhYmxlKHNlbGYuc2VydmVyLCBzZWxmLmRiX25hbWUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNjaGVtYV9u YW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5mc3J2X25hbWUsIHNlbGYuZnRfbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnNydl9uYW1lLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mdF9uYW1lKQogCiAgICAg ZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBm b3JlaWduIHRhYmxlIHVuZGVyIHRlc3QgZGF0YWJhc2UuIiIiCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3Jl aWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVpZ25fdGFibGVfcHV0LnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90 YWJsZXMvdGVzdHMvdGVzdF9mb3JlaWduX3RhYmxlX3B1dC5weQppbmRleCBlNzJjNGNjYS4uYWE2 MmVhNTQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90 YWJsZV9wdXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvdGVzdHMvdGVzdF9mb3JlaWduX3Rh YmxlX3B1dC5weQpAQCAtNTMsNyArNTMsOCBAQCBjbGFzcyBGb3JlaWduVGFibGVQdXRUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5mc3J2X25hbWUsIHNlbGYuZmR3X25hbWUpCiAgICAgICAgIHNlbGYu ZnRfaWQgPSBmdF91dGlscy5jcmVhdGVfZm9yZWlnbl90YWJsZShzZWxmLnNlcnZlciwgc2VsZi5k Yl9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5zY2hlbWFfbmFtZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuZnNydl9uYW1lLCBzZWxmLmZ0X25hbWUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmZzcnZfbmFtZSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu ZnRfbmFtZSkKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiJUaGlzIGZ1bmN0 aW9uIHdpbGwgdXBkYXRlIGZvcmVpZ24gdGFibGUgdW5kZXIgdGVzdCBkYXRhYmFzZS4iIiIKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90 YWJsZXMvdGVzdHMvdXRpbHMucHkKaW5kZXggZmU2N2EzMjUuLmEzYzk4YmZiIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxl cy90ZXN0cy91dGlscy5weQpAQCAtNDgsOCArNDgsOCBAQCBkZWYgY3JlYXRlX2ZvcmVpZ25fdGFi bGUoc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwgZnNydl9uYW1lLAogICAgICAgICAjIEdl dCAnb2lkJyBmcm9tIG5ld2x5IGNyZWF0ZWQgZm9yZWlnbiB0YWJsZQogICAgICAgICBwZ19jdXJz b3IuZXhlY3V0ZSgKICAgICAgICAgICAgICJTRUxFQ1QgZnRyZWxpZCBGUk9NIHBnX2ZvcmVpZ25f dGFibGUgV0hFUkUgZnRzZXJ2ZXIgPSAiCi0gICAgICAgICAgICAiKFNFTEVDVCBvaWQgRlJPTSBw Z19mb3JlaWduX3NlcnZlciBXSEVSRSBzcnZuYW1lID0gJyVzJykgT1JERVIgQlkgIgotICAgICAg ICAgICAgImZ0cmVsaWQgQVNDIGxpbWl0IDEiICUgZnNydl9uYW1lKQorICAgICAgICAgICAgIihT RUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9zZXJ2ZXIgV0hFUkUgc3J2bmFtZSA9ICclcycpICIK KyAgICAgICAgICAgICJPUkRFUiBCWSBmdHJlbGlkIEFTQyBsaW1pdCAxIiAlIGZzcnZfbmFtZSkK IAogICAgICAgICBvaWQgPSBwZ19jdXJzb3IuZmV0Y2hvbmUoKQogICAgICAgICBmdF9pZCA9ICcn CkBAIC03NCw4ICs3NCw4IEBAIGRlZiB2ZXJpZnlfZm9yZWlnbl90YWJsZShzZXJ2ZXIsIGRiX25h bWUsIGZzcnZfbmFtZSk6CiAKICAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoCiAgICAgICAgICAg ICAiU0VMRUNUIGZ0cmVsaWQgRlJPTSBwZ19mb3JlaWduX3RhYmxlIFdIRVJFIGZ0c2VydmVyID0g IgotICAgICAgICAgICAgIihTRUxFQ1Qgb2lkIEZST00gcGdfZm9yZWlnbl9zZXJ2ZXIgV0hFUkUg c3J2bmFtZSA9ICclcycpIE9SREVSIEJZICIKLSAgICAgICAgICAgICJmdHJlbGlkIEFTQyBsaW1p dCAxIiAlIGZzcnZfbmFtZSkKKyAgICAgICAgICAgICIoU0VMRUNUIG9pZCBGUk9NIHBnX2ZvcmVp Z25fc2VydmVyIFdIRVJFIHNydm5hbWUgPSAnJXMnKSAiCisgICAgICAgICAgICAiT1JERVIgQlkg ZnRyZWxpZCBBU0MgbGltaXQgMSIgJSBmc3J2X25hbWUpCiAgICAgICAgIGZ0cyA9IHBnX2N1cnNv ci5mZXRjaG9uZSgpCiAgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQogICAgICAgICByZXR1cm4g ZnRzCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvX19pbml0X18ucHkgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m dHNfY29uZmlndXJhdGlvbnMvX19pbml0X18ucHkKaW5kZXggOWYyZDZjZjMuLjljMGRiMWQ2IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRz X2NvbmZpZ3VyYXRpb25zL19faW5pdF9fLnB5CkBAIC05LDIwICs5LDIyIEBACiAKICIiIkRlZmlu ZXMgdmlld3MgZm9yIG1hbmFnZW1lbnQgb2YgRnRzIENvbmZpZ3VyYXRpb24gbm9kZSIiIgogCi1p bXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKIAot aW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFz IGRhdGFiYXNlcworaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmbGFzayBpbXBvcnQg cmVuZGVyX3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlLCBjdXJyZW50X2FwcCwgcmVxdWVzdCwganNv bmlmeQogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4dCBhcyBfCisKK2ltcG9ydCBwZ2Fk bWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZXMK K2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dz ZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnV0aWxzIFwKICAgICBp bXBvcnQgU2NoZW1hQ2hpbGRNb2R1bGUKIGZyb20gcGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9y dCBQR0NoaWxkTm9kZVZpZXcKK2Zyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgSVNfUFkyCiBmcm9t IHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29uX3Jlc3BvbnNlLCBpbnRlcm5hbF9z ZXJ2ZXJfZXJyb3IsIFwKICAgICBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVzcG9uc2UsIGdvbmUK IGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKLWZyb20gY29uZmln IGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgotZnJvbSBwZ2FkbWluLnV0aWxzIGltcG9ydCBJU19Q WTIKKwogIyBJZiB3ZSBhcmUgaW4gUHl0aG9uMwogaWYgbm90IElTX1BZMjoKICAgICB1bmljb2Rl ID0gc3RyCkBAIC0zMiw3ICszNCw4IEBAIGNsYXNzIEZ0c0NvbmZpZ3VyYXRpb25Nb2R1bGUoU2No ZW1hQ2hpbGRNb2R1bGUpOgogICAgICIiIgogICAgICBjbGFzcyBGdHNDb25maWd1cmF0aW9uTW9k dWxlKFNjaGVtYUNoaWxkTW9kdWxlKQogCi0gICAgICAgIEEgbW9kdWxlIGNsYXNzIGZvciBGVFMg Q29uZmlndXJhdGlvbiBub2RlIGRlcml2ZWQgZnJvbSBTY2hlbWFDaGlsZE1vZHVsZS4KKyAgICAg ICAgQSBtb2R1bGUgY2xhc3MgZm9yIEZUUyBDb25maWd1cmF0aW9uIG5vZGUgZGVyaXZlZCBmcm9t CisgICAgICAgIFNjaGVtYUNoaWxkTW9kdWxlLgogCiAgICAgTWV0aG9kczoKICAgICAtLS0tLS0t CkBAIC0xMDIsNyArMTA1LDggQEAgY2xhc3MgRnRzQ29uZmlndXJhdGlvblZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICBNZXRob2RzOgogICAgIC0tLS0tLS0KICAgICAqIF9faW5pdF9fKCoqa3dh cmdzKQotICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBpbml0aWFsaXplIHRoZSBGdHNDb25maWd1 cmF0aW9uVmlldyBhbmQgaXQncyBiYXNlIHZpZXcuCisgICAgICAtIE1ldGhvZCBpcyB1c2VkIHRv IGluaXRpYWxpemUgdGhlIEZ0c0NvbmZpZ3VyYXRpb25WaWV3IGFuZCBpdCdzIGJhc2UKKyAgICAg IHZpZXcuCiAKICAgICAqIG1vZHVsZV9qcygpCiAgICAgICAtIFRoaXMgcHJvcGVydHkgZGVmaW5l cyAoaWYgamF2YXNjcmlwdCkgZXhpc3RzIGZvciB0aGlzIG5vZGUuCkBAIC0xMTcsNyArMTIxLDgg QEAgY2xhc3MgRnRzQ29uZmlndXJhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgIC0g VGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSAgbm9kZXMgd2l0aGluIHRoYXQg Y29sbGVjdGlvbi4KIAogICAgICogbm9kZXMoKQotICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwg YmUgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbiBjb2xsZWN0aW9uLgor ICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGls ZCBub2RlIHdpdGhpbgorICAgICAgY29sbGVjdGlvbi4KICAgICAgICAgSGVyZSBpdCB3aWxsIGNy ZWF0ZSBhbGwgdGhlIEZUUyBDb25maWd1cmF0aW9uIG5vZGVzLgogCiAgICAgKiBub2RlKCkKQEAg LTEyNSwxMyArMTMwLDE1IEBAIGNsYXNzIEZ0c0NvbmZpZ3VyYXRpb25WaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAgICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUgdGhlIEZUUyBUZW1wbGF0ZSBub2Rl IGJhc2VkIG9uIGl0cyBvaWQKIAogICAgICogcHJvcGVydGllcyhnaWQsIHNpZCwgZGlkLCBzY2lk LCBjZmdpZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMg b2YgdGhlIHNlbGVjdGVkIEZUUyBDb25maWd1cmF0aW9uIG5vZGUKKyAgICAgIC0gVGhpcyBmdW5j dGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkCisgICAgICBGVFMg Q29uZmlndXJhdGlvbiBub2RlCiAKICAgICAqIGNyZWF0ZShnaWQsIHNpZCwgZGlkLCBzY2lkKQog ICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIHRoZSBuZXcgRlRTIENvbmZpZ3VyYXRp b24gb2JqZWN0CiAKICAgICAqIHVwZGF0ZShnaWQsIHNpZCwgZGlkLCBzY2lkLCBjZmdpZCkKLSAg ICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0aGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVk IEZUUyBDb25maWd1cmF0aW9uIG5vZGUKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0 ZSB0aGUgZGF0YSBmb3IgdGhlIHNlbGVjdGVkCisgICAgICBGVFMgQ29uZmlndXJhdGlvbiBub2Rl CiAKICAgICAqIGRlbGV0ZShzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCBjZmdpZCk6CiAgICAg ICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBkcm9wIHRoZSBGVFMgQ29uZmlndXJhdGlvbiBvYmplY3QK QEAgLTE0OSw3ICsxNTYsOCBAQCBjbGFzcyBGdHNDb25maWd1cmF0aW9uVmlldyhQR0NoaWxkTm9k ZVZpZXcpOgogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggYWxsIGZ0cCBwYXJzZXJz IGZyb20gdGhlIHNhbWUgc2NoZW1hCiAKICAgICAqIGNvcHlDb25maWcoKToKLSAgICAgIC0gVGhp cyBmdW5jdGlvbiB3aWxsIGZldGNoIGFsbCBleGlzdGVkIGZ0cyBjb25maWd1cmF0aW9ucyBmcm9t IHNhbWUgc2NoZW1hCisgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBhbGwgZXhpc3Rl ZCBmdHMgY29uZmlndXJhdGlvbnMgZnJvbSBzYW1lCisgICAgICBzY2hlbWEKIAogICAgICogdG9r ZW5zKCk6CiAgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBhbGwgdG9rZW5zIGZyb20g ZnRzIHBhcnNlciByZWxhdGVkIHRvIG5vZGUKQEAgLTIzNCw5ICsyNDIsMTEgQEAgY2xhc3MgRnRz Q29uZmlndXJhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBrd2Fy Z3NbJ3NpZCddKQogICAgICAgICAgICAgc2VsZi5jb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rp b24oZGlkPWt3YXJnc1snZGlkJ10pCiAgICAgICAgICAgICAjIFNldCB0aGUgdGVtcGxhdGUgcGF0 aCBmb3IgdGhlIFNRTCBzY3JpcHRzCi0gICAgICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAn ZnRzX2NvbmZpZ3VyYXRpb24vc3FsLyN7MH0jJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNpb24p CisgICAgICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAnZnRzX2NvbmZpZ3VyYXRpb24vc3Fs LyN7MH0jJy5mb3JtYXQoCisgICAgICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLnZlcnNpb24pCiAK ICAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKKwogICAgICAgICByZXR1cm4g d3JhcAogCiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgpAQCAtMzYzLDcgKzM3Myw5IEBAIGNsYXNz IEZ0c0NvbmZpZ3VyYXRpb25WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAKICAgICAgICAgaWYgbGVu KHJlc1sncm93cyddKSA9PSAwOgogICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0gICAgICAgICAg ICAgICAgXygiQ291bGQgbm90IGZpbmQgdGhlIEZUUyBDb25maWd1cmF0aW9uIG5vZGUgaW4gdGhl IGRhdGFiYXNlIG5vZGUuIikKKyAgICAgICAgICAgICAgICBfKAorICAgICAgICAgICAgICAgICAg ICAiQ291bGQgbm90IGZpbmQgdGhlIEZUUyBDb25maWd1cmF0aW9uIG5vZGUgaW4gdGhlICIKKyAg ICAgICAgICAgICAgICAgICAgImRhdGFiYXNlIG5vZGUuIikKICAgICAgICAgICAgICkKIAogICAg ICAgICAjIEluIGVkaXQgbW9kZSBmZXRjaCB0b2tlbi9kaWN0aW9uYXJ5IGxpc3QgYWxzbwpAQCAt NjE0LDcgKzYyNiw3IEBAIGNsYXNzIEZ0c0NvbmZpZ3VyYXRpb25WaWV3KFBHQ2hpbGROb2RlVmll dyk6CiAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICBkYXRh PVNRTCwKICAgICAgICAgICAgIHN0YXR1cz0yMDAKLSAgICAgICAgICAgICkKKyAgICAgICAgKQog CiAgICAgZGVmIGdldF9zcWwoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZGF0YSwgY2ZnaWQ9 Tm9uZSk6CiAgICAgICAgICIiIgpAQCAtNjc1LDcgKzY4NywxMCBAQCBjbGFzcyBGdHNDb25maWd1 cmF0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGRhdGE9bmV3X2Rh dGEsIG9fZGF0YT1vbGRfZGF0YQogICAgICAgICAgICAgKQogICAgICAgICAgICAgIyBGZXRjaCBz cWwgcXVlcnkgZm9yIG1vZGlmaWVkIGRhdGEKLSAgICAgICAgICAgIHJldHVybiBzcWwuc3RyaXAo J1xuJyksIGRhdGFbJ25hbWUnXSBpZiAnbmFtZScgaW4gZGF0YSBlbHNlIG9sZF9kYXRhWyduYW1l J10KKyAgICAgICAgICAgIGlmICduYW1lJyBpbiBkYXRhOgorICAgICAgICAgICAgICAgIHJldHVy biBzcWwuc3RyaXAoJ1xuJyksIGRhdGFbJ25hbWUnXQorCisgICAgICAgICAgICByZXR1cm4gc3Fs LnN0cmlwKCdcbicpLCBvbGRfZGF0YVsnbmFtZSddCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICAjIEZldGNoIHNjaGVtYSBuYW1lIGZyb20gc2NoZW1hIG9pZAogICAgICAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKApAQCAtNjkxLDggKzcwNiwxMCBAQCBjbGFzcyBGdHNDb25maWd1cmF0 aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgbmV3X2RhdGEgPSBkYXRhLmNv cHkoKQogICAgICAgICAgICAgbmV3X2RhdGFbJ3NjaGVtYSddID0gc2NoZW1hCiAKLSAgICAgICAg ICAgIGlmICduYW1lJyBpbiBuZXdfZGF0YSBhbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdzY2hlbWEnIGluIG5ld19kYXRhOgorICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAg ICAgICduYW1lJyBpbiBuZXdfZGF0YSBhbmQKKyAgICAgICAgICAgICAgICAnc2NoZW1hJyBpbiBu ZXdfZGF0YQorICAgICAgICAgICAgKToKICAgICAgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVt cGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdjcmVhdGUuc3FsJ10pLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPW5ld19kYXRhLApAQCAtODYyLDE2ICs4Nzks MTYgQEAgY2xhc3MgRnRzQ29uZmlndXJhdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcigKICAgICAgICAgICAgICAgICAgICAgXygKLSAgICAgICAgICAgICAgICAgICAg ICAgICJDb3VsZCBub3QgZ2VuZXJhdGUgcmV2ZXJzZWQgZW5naW5lZXJlZCBxdWVyeSBmb3IgdGhl IEZUUyBDb25maWd1cmF0aW9uLlxuezB9IgotICAgICAgICAgICAgICAgICAgICApLmZvcm1hdCgK LSAgICAgICAgICAgICAgICAgICAgICAgIHJlcwotICAgICAgICAgICAgICAgICAgICApCisgICAg ICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGdlbmVyYXRlIHJldmVyc2VkIGVuZ2luZWVy ZWQgcXVlcnkgZm9yIHRoZSAiCisgICAgICAgICAgICAgICAgICAgICAgICAiRlRTIENvbmZpZ3Vy YXRpb24uXG57MH0iCisgICAgICAgICAgICAgICAgICAgICkuZm9ybWF0KHJlcykKICAgICAgICAg ICAgICAgICApCiAKICAgICAgICAgICAgIGlmIHJlcyBpcyBOb25lOgogICAgICAgICAgICAgICAg IHJldHVybiBnb25lKAogICAgICAgICAgICAgICAgICAgICBfKAotICAgICAgICAgICAgICAgICAg ICAgICAgIkNvdWxkIG5vdCBnZW5lcmF0ZSByZXZlcnNlZCBlbmdpbmVlcmVkIHF1ZXJ5IGZvciBG VFMgQ29uZmlndXJhdGlvbiBub2RlLiIpCisgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQg bm90IGdlbmVyYXRlIHJldmVyc2VkIGVuZ2luZWVyZWQgcXVlcnkgZm9yICIKKyAgICAgICAgICAg ICAgICAgICAgICAgICJGVFMgQ29uZmlndXJhdGlvbiBub2RlLiIpCiAgICAgICAgICAgICAgICAg KQogCiAgICAgICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShyZXNwb25zZT1yZXMpCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfY29u ZmlndXJhdGlvbnMvdGVzdHMvdXRpbHMucHkKaW5kZXggMWQ2ZTVkMjcuLmYyOGFjMDJkIDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mdHNfY29uZmlndXJhdGlvbnMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRz X2NvbmZpZ3VyYXRpb25zL3Rlc3RzL3V0aWxzLnB5CkBAIC0zMSw4ICszMSw4IEBAIGRlZiBjcmVh dGVfZnRzX2NvbmZpZ3VyYXRpb24oc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwgZnRzX2Nv bmZfbmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJb J3NzbG1vZGUnXSkKICAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQogCi0g ICAgICAgIHF1ZXJ5ID0gIkNSRUFURSBURVhUIFNFQVJDSCBDT05GSUdVUkFUSU9OICIgKyBzY2hl bWFfbmFtZSArICIuIiArIGZ0c19jb25mX25hbWUgKyBcCi0gICAgICAgICAgICAgICAgIihQQVJT RVI9ZGVmYXVsdCkiCisgICAgICAgIHF1ZXJ5ID0gIkNSRUFURSBURVhUIFNFQVJDSCBDT05GSUdV UkFUSU9OICIgKyBzY2hlbWFfbmFtZSArICIuIiArIFwKKyAgICAgICAgICAgICAgICBmdHNfY29u Zl9uYW1lICsgIihQQVJTRVI9ZGVmYXVsdCkiCiAKICAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUo cXVlcnkpCiAgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19k aWN0aW9uYXJpZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfZGljdGlvbmFyaWVzL19faW5pdF9fLnB5 CmluZGV4IDcyNjJmOTVhLi5iODc5NmE5MiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX2RpY3Rpb25hcmll cy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfZGljdGlvbmFyaWVzL19faW5pdF9fLnB5CkBAIC05 LDIwICs5LDIyIEBACiAKICIiIkRlZmluZXMgdmlld3MgZm9yIG1hbmFnZW1lbnQgb2YgRnRzIERp Y3Rpb25hcnkgbm9kZSIiIgogCi1pbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0 b29scyBpbXBvcnQgd3JhcHMKIAotaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlcworaW1wb3J0IHNpbXBsZWpzb24gYXMganNv bgogZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVyX3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlLCBjdXJy ZW50X2FwcCwgcmVxdWVzdCwganNvbmlmeQogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4 dCBhcyBfCisKK2ltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRh dGFiYXNlcyBhcyBkYXRhYmFzZXMKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZF UgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5z Y2hlbWFzLnV0aWxzIFwKICAgICBpbXBvcnQgU2NoZW1hQ2hpbGRNb2R1bGUKIGZyb20gcGdhZG1p bi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZpZXcKK2Zyb20gcGdhZG1pbi51dGls cyBpbXBvcnQgSVNfUFkyCiBmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFrZV9qc29u X3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IsIFwKICAgICBtYWtlX3Jlc3BvbnNlIGFz IGFqYXhfcmVzcG9uc2UsIGdvbmUKIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdl dF9kcml2ZXIKLWZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgotZnJvbSBwZ2Fk bWluLnV0aWxzIGltcG9ydCBJU19QWTIKKwogIyBJZiB3ZSBhcmUgaW4gUHl0aG9uMwogaWYgbm90 IElTX1BZMjoKICAgICB1bmljb2RlID0gc3RyCkBAIC0xMjIsNyArMTI0LDggQEAgY2xhc3MgRnRz RGljdGlvbmFyeVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgIC0gVGhpcyBmdW5jdGlvbiBp cyB1c2VkIHRvIGxpc3QgYWxsIHRoZSAgbm9kZXMgd2l0aGluIHRoYXQgY29sbGVjdGlvbi4KIAog ICAgICogbm9kZXMoKQotICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBjcmVh dGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbiBjb2xsZWN0aW9uLgorICAgICAgLSBUaGlzIGZ1 bmN0aW9uIHdpbGwgYmUgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbgor ICAgICAgY29sbGVjdGlvbi4KICAgICAgICAgSGVyZSBpdCB3aWxsIGNyZWF0ZSBhbGwgdGhlIEZU UyBEaWN0aW9uYXJ5IG5vZGVzLgogCiAgICAgKiBub2RlKCkKQEAgLTEzMCw3ICsxMzMsOCBAQCBj bGFzcyBGdHNEaWN0aW9uYXJ5VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBIZXJlIGl0 IHdpbGwgY3JlYXRlIHRoZSBGVFMgVGVtcGxhdGUgbm9kZSBiYXNlZCBvbiBpdHMgb2lkCiAKICAg ICAqIHByb3BlcnRpZXMoZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZGNpZCkKLSAgICAgIC0gVGhpcyBm dW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkIEZUUyBEaWN0 aW9uYXJ5IG5vZGUKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhlIHByb3BlcnRp ZXMgb2YgdGhlIHNlbGVjdGVkIEZUUyBEaWN0aW9uYXJ5CisgICAgICBub2RlCiAKICAgICAqIGNy ZWF0ZShnaWQsIHNpZCwgZGlkLCBzY2lkKQogICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgY3Jl YXRlIHRoZSBuZXcgRlRTIERpY3Rpb25hcnkgb2JqZWN0CkBAIC0yMjgsOSArMjMyLDExIEBAIGNs YXNzIEZ0c0RpY3Rpb25hcnlWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBkcml2 ZXIgPSBnZXRfZHJpdmVyKFBHX0RFRkFVTFRfRFJJVkVSKQogICAgICAgICAgICAgc2VsZi5xdElk ZW50ID0gZHJpdmVyLnF0SWRlbnQKICAgICAgICAgICAgICMgU2V0IHRoZSB0ZW1wbGF0ZSBwYXRo IGZvciB0aGUgU1FMIHNjcmlwdHMKLSAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdm dHNfZGljdGlvbmFyeS9zcWwvI3swfSMnLmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbikKKyAg ICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdmdHNfZGljdGlvbmFyeS9zcWwvI3swfSMn LmZvcm1hdCgKKyAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbikKIAogICAgICAg ICAgICAgcmV0dXJuIGYoKmFyZ3MsICoqa3dhcmdzKQorCiAgICAgICAgIHJldHVybiB3cmFwCiAK ICAgICBkZWYgdG9rZW5pemVfb3B0aW9ucyhzZWxmLCBvcHRpb25fdmFsdWUpOgpAQCAtMzg0LDkg KzM5MCw5IEBAIGNsYXNzIEZ0c0RpY3Rpb25hcnlWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAg ICAgIGlmIHJlc1sncm93cyddWzBdWyd0ZW1wbGF0ZV9zY2hlbWEnXSBpcyBub3QgTm9uZToKICAg ICAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWyd0ZW1wbGF0ZV9zY2hlbWEnXSAhPSAicGdfY2F0 YWxvZyI6CiAgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3RlbXBsYXRlJ10gPSBzZWxm LnF0SWRlbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbm4sIHJlc1sncm93cydd WzBdWyd0ZW1wbGF0ZV9zY2hlbWEnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc1sncm93 cyddWzBdWyd0ZW1wbGF0ZSddCi0gICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAg ICAgICAgc2VsZi5jb25uLCByZXNbJ3Jvd3MnXVswXVsndGVtcGxhdGVfc2NoZW1hJ10sCisgICAg ICAgICAgICAgICAgICAgIHJlc1sncm93cyddWzBdWyd0ZW1wbGF0ZSddCisgICAgICAgICAgICAg ICAgKQogCiAgICAgICAgIGlmIHJlc1sncm93cyddWzBdWydvcHRpb25zJ10gaXMgbm90IE5vbmU6 CiAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsnb3B0aW9ucyddID0gc2VsZi50b2tlbml6ZV9v cHRpb25zKApAQCAtNDIzLDcgKzQyOSw4IEBAIGNsYXNzIEZ0c0RpY3Rpb25hcnlWaWV3KFBHQ2hp bGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgK ICAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTQxMCwKICAgICAgICAgICAgICAgICAgICAgc3Vj Y2Vzcz0wLAotICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKCJDb3VsZCBub3QgZmluZCB0 aGUgcmVxdWlyZWQgcGFyYW1ldGVyICglcykuIiAlIGFyZykKKyAgICAgICAgICAgICAgICAgICAg ZXJyb3Jtc2c9XygKKyAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUg cmVxdWlyZWQgcGFyYW1ldGVyICglcykuIiAlIGFyZykKICAgICAgICAgICAgICAgICApCiAgICAg ICAgICMgRmV0Y2ggc2NoZW1hIG5hbWUgZnJvbSBzY2hlbWEgb2lkCiAgICAgICAgIHNxbCA9IHJl bmRlcl90ZW1wbGF0ZSgKQEAgLTQ1Niw3ICs0NjMsNyBAQCBjbGFzcyBGdHNEaWN0aW9uYXJ5Vmll dyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgbmFtZT1kYXRhWyduYW1lJ10sCiAgICAg ICAgICAgICBzY2lkPWRhdGFbJ3NjaGVtYSddCiAgICAgICAgICkKLSAgICAgICAgc3RhdHVzLCBk Y2lkPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQorICAgICAgICBzdGF0dXMsIGRjaWQg PSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2FsYXIoc3FsKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgog ICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1kY2lkKQog CkBAIC02MTIsNyArNjE5LDcgQEAgY2xhc3MgRnRzRGljdGlvbmFyeVZpZXcoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKICAgICAgICAgICAgIGRh dGE9U1FMLAogICAgICAgICAgICAgc3RhdHVzPTIwMAotICAgICAgICAgICAgKQorICAgICAgICAp CiAKICAgICBkZWYgZ2V0X3NxbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCBkYXRhLCBkY2lk PU5vbmUpOgogICAgICAgICAiIiIKQEAgLTY4MSw3ICs2ODgsMTAgQEAgY2xhc3MgRnRzRGljdGlv bmFyeVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBkYXRhPW5ld19kYXRh LCBvX2RhdGE9b2xkX2RhdGEKICAgICAgICAgICAgICkKICAgICAgICAgICAgICMgRmV0Y2ggc3Fs IHF1ZXJ5IGZvciBtb2RpZmllZCBkYXRhCi0gICAgICAgICAgICByZXR1cm4gc3FsLnN0cmlwKCdc bicpLCBkYXRhWyduYW1lJ10gaWYgJ25hbWUnIGluIGRhdGEgZWxzZSBvbGRfZGF0YVsnbmFtZSdd CisgICAgICAgICAgICBpZiAnbmFtZScgaW4gZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4g c3FsLnN0cmlwKCdcbicpLCBkYXRhWyduYW1lJ10KKworICAgICAgICAgICAgcmV0dXJuIHNxbC5z dHJpcCgnXG4nKSwgb2xkX2RhdGFbJ25hbWUnXQogICAgICAgICBlbHNlOgogICAgICAgICAgICAg IyBGZXRjaCBzY2hlbWEgbmFtZSBmcm9tIHNjaGVtYSBvaWQKICAgICAgICAgICAgIHNxbCA9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnc2NoZW1hLnNxbCdd KSwKQEAgLTY5NSw5ICs3MDUsMTEgQEAgY2xhc3MgRnRzRGljdGlvbmFyeVZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgICAgIG5ld19kYXRhID0gZGF0YS5jb3B5KCkKICAgICAgICAgICAg IG5ld19kYXRhWydzY2hlbWEnXSA9IHNjaGVtYQogCi0gICAgICAgICAgICBpZiAndGVtcGxhdGUn IGluIG5ld19kYXRhIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25hbWUnIGlu IG5ld19kYXRhIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjaGVtYScgaW4g bmV3X2RhdGE6CisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgJ3RlbXBsYXRlJyBp biBuZXdfZGF0YSBhbmQKKyAgICAgICAgICAgICAgICAnbmFtZScgaW4gbmV3X2RhdGEgYW5kCisg ICAgICAgICAgICAgICAgJ3NjaGVtYScgaW4gbmV3X2RhdGEKKyAgICAgICAgICAgICk6CiAgICAg ICAgICAgICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Y3JlYXRlLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YT1uZXdfZGF0YSwKQEAgLTgwMyw3ICs4MTUsOCBAQCBjbGFzcyBGdHNEaWN0aW9uYXJ5VmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogCiAtLSBEUk9QIFRFWFQgU0VBUkNIIERJQ1RJT05BUlkgezB9Owog Ci0iIiIuZm9ybWF0KHNlbGYucXRJZGVudChzZWxmLmNvbm4sIHJlc1sncm93cyddWzBdWydzY2hl bWEnXSwgcmVzWydyb3dzJ11bMF1bJ25hbWUnXSkpCisiIiIuZm9ybWF0KHNlbGYucXRJZGVudChz ZWxmLmNvbm4sIHJlc1sncm93cyddWzBdWydzY2hlbWEnXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgIHJlc1sncm93cyddWzBdWyduYW1lJ10pKQogCiAgICAgICAgIHNxbCA9IHNxbF9oZWFkZXIg KyBzcWwKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3BhcnNlci9fX2luaXRfXy5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19w YXJzZXIvX19pbml0X18ucHkKaW5kZXggNDE0YjcyOGEuLjM5YmYyNDMxIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mdHNfcGFyc2VyL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIvX19pbml0X18ucHkK QEAgLTksMTkgKzksMjIgQEAKIAogIiIiRGVmaW5lcyB2aWV3cyBmb3IgbWFuYWdlbWVudCBvZiBG VFMgUGFyc2VyIG5vZGUiIiIKIAotaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmdW5j dG9vbHMgaW1wb3J0IHdyYXBzCiAKK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZmxh c2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZSwgcmVxdWVzdCwganNvbmlmeSwgY3VycmVudF9hcHAK IGZyb20gZmxhc2tfYmFiZWwgaW1wb3J0IGdldHRleHQgYXMgXworCitmcm9tIGNvbmZpZyBpbXBv cnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMu c2VydmVycy5kYXRhYmFzZXMgaW1wb3J0IERhdGFiYXNlTW9kdWxlCi1mcm9tIHBnYWRtaW4uYnJv d3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgaW1wb3J0 IFNjaGVtYUNoaWxkTW9kdWxlCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNl cnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgaW1wb3J0IFwKKyAgICBTY2hlbWFDaGlsZE1v ZHVsZQogZnJvbSBwZ2FkbWluLmJyb3dzZXIudXRpbHMgaW1wb3J0IFBHQ2hpbGROb2RlVmlldwor ZnJvbSBwZ2FkbWluLnV0aWxzIGltcG9ydCBJU19QWTIKIGZyb20gcGdhZG1pbi51dGlscy5hamF4 IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9lcnJvciwgXAogICAg IG1ha2VfcmVzcG9uc2UgYXMgYWpheF9yZXNwb25zZSwgZ29uZQogZnJvbSBwZ2FkbWluLnV0aWxz LmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRf RFJJVkVSCi1mcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IElTX1BZMgorCiAjIElmIHdlIGFyZSBp biBQeXRob24zCiBpZiBub3QgSVNfUFkyOgogICAgIHVuaWNvZGUgPSBzdHIKQEAgLTE5MiwxMSAr MTk1LDE1IEBAIGNsYXNzIEZ0c1BhcnNlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAg J2RlcGVuZGVuY3knOiBbeydnZXQnOiAnZGVwZW5kZW5jaWVzJ31dLAogICAgICAgICAnZGVwZW5k ZW50JzogW3snZ2V0JzogJ2RlcGVuZGVudHMnfV0sCiAgICAgICAgICdtb2R1bGUuanMnOiBbe30s IHt9LCB7J2dldCc6ICdtb2R1bGVfanMnfV0sCi0gICAgICAgICdzdGFydF9mdW5jdGlvbnMnOiBb eydnZXQnOiAnc3RhcnRfZnVuY3Rpb25zJ30sIHsnZ2V0JzogJ3N0YXJ0X2Z1bmN0aW9ucyd9XSwK LSAgICAgICAgJ3Rva2VuX2Z1bmN0aW9ucyc6IFt7J2dldCc6ICd0b2tlbl9mdW5jdGlvbnMnfSwg eydnZXQnOiAndG9rZW5fZnVuY3Rpb25zJ31dLAorICAgICAgICAnc3RhcnRfZnVuY3Rpb25zJzog W3snZ2V0JzogJ3N0YXJ0X2Z1bmN0aW9ucyd9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsnZ2V0JzogJ3N0YXJ0X2Z1bmN0aW9ucyd9XSwKKyAgICAgICAgJ3Rva2VuX2Z1bmN0aW9ucyc6 IFt7J2dldCc6ICd0b2tlbl9mdW5jdGlvbnMnfSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7J2dldCc6ICd0b2tlbl9mdW5jdGlvbnMnfV0sCiAgICAgICAgICdlbmRfZnVuY3Rpb25zJzog W3snZ2V0JzogJ2VuZF9mdW5jdGlvbnMnfSwgeydnZXQnOiAnZW5kX2Z1bmN0aW9ucyd9XSwKLSAg ICAgICAgJ2xleHR5cGVfZnVuY3Rpb25zJzogW3snZ2V0JzogJ2xleHR5cGVfZnVuY3Rpb25zJ30s IHsnZ2V0JzogJ2xleHR5cGVfZnVuY3Rpb25zJ31dLAotICAgICAgICAnaGVhZGxpbmVfZnVuY3Rp b25zJzogW3snZ2V0JzogJ2hlYWRsaW5lX2Z1bmN0aW9ucyd9LCB7J2dldCc6ICdoZWFkbGluZV9m dW5jdGlvbnMnfV0sCisgICAgICAgICdsZXh0eXBlX2Z1bmN0aW9ucyc6IFt7J2dldCc6ICdsZXh0 eXBlX2Z1bmN0aW9ucyd9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeydnZXQnOiAn bGV4dHlwZV9mdW5jdGlvbnMnfV0sCisgICAgICAgICdoZWFkbGluZV9mdW5jdGlvbnMnOiBbeydn ZXQnOiAnaGVhZGxpbmVfZnVuY3Rpb25zJ30sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeydnZXQnOiAnaGVhZGxpbmVfZnVuY3Rpb25zJ31dLAogICAgIH0pCiAKICAgICBkZWYgX2lu aXRfKHNlbGYsICoqa3dhcmdzKToKQEAgLTIyNyw5ICsyMzQsMTEgQEAgY2xhc3MgRnRzUGFyc2Vy VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgICAgIGt3YXJnc1snc2lkJ10pCiAg ICAgICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdz WydkaWQnXSkKICAgICAgICAgICAgICMgU2V0IHRoZSB0ZW1wbGF0ZSBwYXRoIGZvciB0aGUgU1FM IHNjcmlwdHMKLSAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdmdHNfcGFyc2VyL3Nx bC8jezB9IycuZm9ybWF0KHNlbGYubWFuYWdlci52ZXJzaW9uKQorICAgICAgICAgICAgc2VsZi50 ZW1wbGF0ZV9wYXRoID0gJ2Z0c19wYXJzZXIvc3FsLyN7MH0jJy5mb3JtYXQoCisgICAgICAgICAg ICAgICAgc2VsZi5tYW5hZ2VyLnZlcnNpb24pCiAKICAgICAgICAgICAgIHJldHVybiBmKCphcmdz LCAqKmt3YXJncykKKwogICAgICAgICByZXR1cm4gd3JhcAogCiAgICAgQGNoZWNrX3ByZWNvbmRp dGlvbgpAQCAtMzEwLDcgKzMxOSw4IEBAIGNsYXNzIEZ0c1BhcnNlclZpZXcoUEdDaGlsZE5vZGVW aWV3KToKICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9 cmVzKQogCiAgICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPT0gMDoKLSAgICAgICAgICAgIHJl dHVybiBnb25lKF8oIkNvdWxkIG5vdCBmaW5kIHRoZSBGVFMgUGFyc2VyIG5vZGUgaW4gdGhlIGRh dGFiYXNlIG5vZGUuIikpCisgICAgICAgICAgICByZXR1cm4gZ29uZSgKKyAgICAgICAgICAgICAg ICBfKCJDb3VsZCBub3QgZmluZCB0aGUgRlRTIFBhcnNlciBub2RlIGluIHRoZSBkYXRhYmFzZSBu b2RlLiIpKQogCiAgICAgICAgIHJldHVybiBhamF4X3Jlc3BvbnNlKAogICAgICAgICAgICAgcmVz cG9uc2U9cmVzWydyb3dzJ11bMF0sCkBAIC00NDIsNyArNDUyLDYgQEAgY2xhc3MgRnRzUGFyc2Vy VmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgKQogICAgICAgICApCiAKLQogICAg IEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgZGVsZXRlKHNlbGYsIGdpZCwgc2lkLCBkaWQs IHNjaWQsIHBpZCk6CiAgICAgICAgICIiIgpAQCAtNTM0LDcgKzU0Myw3IEBAIGNsYXNzIEZ0c1Bh cnNlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNw b25zZSgKICAgICAgICAgICAgIGRhdGE9U1FMLAogICAgICAgICAgICAgc3RhdHVzPTIwMAotICAg ICAgICAgICAgKQorICAgICAgICApCiAKICAgICBkZWYgZ2V0X3NxbChzZWxmLCBnaWQsIHNpZCwg ZGlkLCBzY2lkLCBkYXRhLCBwaWQ9Tm9uZSk6CiAgICAgICAgICIiIgpAQCAtNTk3LDcgKzYwNiw5 IEBAIGNsYXNzIEZ0c1BhcnNlclZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAg ICBvX2RhdGE9b2xkX2RhdGEKICAgICAgICAgICAgICkKICAgICAgICAgICAgICMgRmV0Y2ggc3Fs IHF1ZXJ5IGZvciBtb2RpZmllZCBkYXRhCi0gICAgICAgICAgICByZXR1cm4gc3FsLnN0cmlwKCdc bicpLCBkYXRhWyduYW1lJ10gaWYgJ25hbWUnIGluIGRhdGEgZWxzZSBvbGRfZGF0YVsnbmFtZSdd CisgICAgICAgICAgICBpZiAnbmFtZScgaW4gZGF0YToKKyAgICAgICAgICAgICAgICByZXR1cm4g c3FsLnN0cmlwKCdcbicpLCBkYXRhWyduYW1lJ10KKyAgICAgICAgICAgIHJldHVybiBzcWwuc3Ry aXAoJ1xuJyksIG9sZF9kYXRhWyduYW1lJ10KICAgICAgICAgZWxzZToKICAgICAgICAgICAgICMg RmV0Y2ggc2NoZW1hIG5hbWUgZnJvbSBzY2hlbWEgb2lkCiAgICAgICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoCkBAIC02MTMsMTIgKzYyNCwxNCBAQCBjbGFzcyBGdHNQYXJzZXJWaWV3KFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBuZXdfZGF0YSA9IGRhdGEuY29weSgpCiAgICAg ICAgICAgICBuZXdfZGF0YVsnc2NoZW1hJ10gPSBzY2hlbWEKIAotICAgICAgICAgICAgaWYgJ3By c3N0YXJ0JyBpbiBuZXdfZGF0YSBhbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdw cnN0b2tlbicgaW4gbmV3X2RhdGEgYW5kIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAn cHJzZW5kJyBpbiBuZXdfZGF0YSBhbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdw cnNsZXh0eXBlJyBpbiBuZXdfZGF0YSBhbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICduYW1lJyBpbiBuZXdfZGF0YSBhbmQgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICdz Y2hlbWEnIGluIG5ld19kYXRhOgorICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICdw cnNzdGFydCcgaW4gbmV3X2RhdGEgYW5kCisgICAgICAgICAgICAgICAgJ3Byc3Rva2VuJyBpbiBu ZXdfZGF0YSBhbmQKKyAgICAgICAgICAgICAgICAncHJzZW5kJyBpbiBuZXdfZGF0YSBhbmQKKyAg ICAgICAgICAgICAgICAncHJzbGV4dHlwZScgaW4gbmV3X2RhdGEgYW5kCisgICAgICAgICAgICAg ICAgJ25hbWUnIGluIG5ld19kYXRhIGFuZAorICAgICAgICAgICAgICAgICdzY2hlbWEnIGluIG5l d19kYXRhCisgICAgICAgICAgICApOgogICAgICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1w bGF0ZSgKICAgICAgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwg J2NyZWF0ZS5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAgIGRhdGE9bmV3X2RhdGEsCkBAIC03 ODQsMTQgKzc5NywxNiBAQCBjbGFzcyBGdHNQYXJzZXJWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5h bF9zZXJ2ZXJfZXJyb3IoCiAgICAgICAgICAgICAgICAgICAgIF8oCi0gICAgICAgICAgICAgICAg ICAgICAgICAiQ291bGQgbm90IGdlbmVyYXRlIHJldmVyc2VkIGVuZ2luZWVyZWQgcXVlcnkgZm9y IHRoZSBGVFMgUGFyc2VyLlxuezB9IgorICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5v dCBnZW5lcmF0ZSByZXZlcnNlZCBlbmdpbmVlcmVkIHF1ZXJ5IGZvciB0aGUgIgorICAgICAgICAg ICAgICAgICAgICAgICAgIkZUUyBQYXJzZXIuXG57MH0iCiAgICAgICAgICAgICAgICAgICAgICku Zm9ybWF0KHJlcykKICAgICAgICAgICAgICAgICApCiAKICAgICAgICAgICAgIGlmIHJlcyBpcyBO b25lOgogICAgICAgICAgICAgICAgIHJldHVybiBnb25lKAogICAgICAgICAgICAgICAgICAgICBf KAotICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBnZW5lcmF0ZSByZXZlcnNlZCBl bmdpbmVlcmVkIHF1ZXJ5IGZvciBGVFMgUGFyc2VyIG5vZGUiCisgICAgICAgICAgICAgICAgICAg ICAgICAiQ291bGQgbm90IGdlbmVyYXRlIHJldmVyc2VkIGVuZ2luZWVyZWQgcXVlcnkgZm9yICIK KyAgICAgICAgICAgICAgICAgICAgICAgICJGVFMgUGFyc2VyIG5vZGUiCiAgICAgICAgICAgICAg ICAgICAgICkKICAgICAgICAgICAgICAgICApCiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIv dGVzdHMvdGVzdF9mdHNfcGFyc2VyX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIvdGVzdHMvdGVz dF9mdHNfcGFyc2VyX2RlbGV0ZS5weQppbmRleCBhZTM5MWFiZi4uNjY0ZmVkNjQgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Z0c19wYXJzZXIvdGVzdHMvdGVzdF9mdHNfcGFyc2VyX2RlbGV0ZS5weQorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mdHNfcGFyc2VyL3Rlc3RzL3Rlc3RfZnRzX3BhcnNlcl9kZWxldGUucHkKQEAgLTYxLDkgKzYx LDEwIEBAIGNsYXNzIEZ0c1BhcnNlckRlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK ICAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYS4iKQogCi0gICAgICAgIHBhcnNlcl9yZXNw b25zZSA9IGZ0c19wYXJzZXJfdXRpbHMudmVyaWZ5X2Z0c19wYXJzZXIoc2VsZi5zZXJ2ZXIsCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5kYl9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZnRzX3BhcnNlcl9uYW1lKQorICAgICAgICBwYXJz ZXJfcmVzcG9uc2UgPSBmdHNfcGFyc2VyX3V0aWxzLnZlcmlmeV9mdHNfcGFyc2VyKAorICAgICAg ICAgICAgc2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAgICAgICAg ICBzZWxmLmZ0c19wYXJzZXJfbmFtZSkKIAogICAgICAgICBpZiBub3QgcGFyc2VyX3Jlc3BvbnNl OgogICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgRlRTIHBh cnNlci4iKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3BhcnNlci90ZXN0cy90ZXN0X2Z0c19wYXJzZXJf cHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZnRzX3BhcnNlci90ZXN0cy90ZXN0X2Z0c19wYXJzZXJfcHV0LnB5CmluZGV4 IDRjODYwZWUzLi5iMWVmNzhkMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3BhcnNlci90ZXN0cy90ZXN0 X2Z0c19wYXJzZXJfcHV0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIvdGVzdHMvdGVzdF9mdHNfcGFy c2VyX3B1dC5weQpAQCAtNjIsOSArNjIsMTAgQEAgY2xhc3MgRnRzUGFyc2VyUHV0VGVzdENhc2Uo QmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBpZiBub3Qgc2NoZW1hX3Jlc3BvbnNlOgogICAg ICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hLiIpCiAK LSAgICAgICAgcGFyc2VyX3Jlc3BvbnNlID0gZnRzX3BhcnNlcl91dGlscy52ZXJpZnlfZnRzX3Bh cnNlcihzZWxmLnNlcnZlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5mdHNfcGFyc2Vy X25hbWUpCisgICAgICAgIHBhcnNlcl9yZXNwb25zZSA9IGZ0c19wYXJzZXJfdXRpbHMudmVyaWZ5 X2Z0c19wYXJzZXIoCisgICAgICAgICAgICBzZWxmLnNlcnZlciwKKyAgICAgICAgICAgIHNlbGYu ZGJfbmFtZSwKKyAgICAgICAgICAgIHNlbGYuZnRzX3BhcnNlcl9uYW1lKQogCiAgICAgICAgIGlm IG5vdCBwYXJzZXJfcmVzcG9uc2U6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxk IG5vdCBmaW5kIHRoZSBGVFMgcGFyc2VyLiIpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfcGFyc2VyL3Rl c3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3BhcnNlci90ZXN0cy91dGlscy5weQppbmRleCA3YTFjNDRm Yi4uZWFjODcyNGYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c19wYXJzZXIvdGVzdHMvdXRpbHMucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZnRzX3BhcnNlci90ZXN0cy91dGlscy5weQpAQCAtMzAsMTAgKzMwLDEyIEBAIGRlZiBj cmVhdGVfZnRzX3BhcnNlcihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCBmdHNfcGFyc2Vy X25hbWUpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydz c2xtb2RlJ10pCiAgICAgICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKIAotICAg ICAgICBxdWVyeSA9ICJEUk9QIFRFWFQgU0VBUkNIIFBBUlNFUiBJRiBFWElTVFMgIiArIHNjaGVt YV9uYW1lICsgIi4iICsgZnRzX3BhcnNlcl9uYW1lCisgICAgICAgIHF1ZXJ5ID0gIkRST1AgVEVY VCBTRUFSQ0ggUEFSU0VSIElGIEVYSVNUUyAiICsgc2NoZW1hX25hbWUgKyAiLiIgKyBcCisgICAg ICAgICAgICAgICAgZnRzX3BhcnNlcl9uYW1lCiAgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKHF1 ZXJ5KQogCi0gICAgICAgIHF1ZXJ5ID0gIkNSRUFURSBURVhUIFNFQVJDSCBQQVJTRVIgIiArIHNj aGVtYV9uYW1lICsgIi4iICsgZnRzX3BhcnNlcl9uYW1lICsgXAorICAgICAgICBxdWVyeSA9ICJD UkVBVEUgVEVYVCBTRUFSQ0ggUEFSU0VSICIgKyBzY2hlbWFfbmFtZSArICIuIiArIFwKKyAgICAg ICAgICAgICAgICBmdHNfcGFyc2VyX25hbWUgKyBcCiAgICAgICAgICAgICAgICAgIihTVEFSVD1w cnNkX3N0YXJ0LCBHRVRUT0tFTj1wcnNkX25leHR0b2tlbiwgIiBcCiAgICAgICAgICAgICAgICAg IkVORD1wcnNkX2VuZCwgTEVYVFlQRVM9ZGlzcGVsbF9pbml0KSIKIApkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv ZnRzX3RlbXBsYXRlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0c190ZW1wbGF0ZXMvX19pbml0X18ucHkK aW5kZXggZTA0MGZiMmIuLjdhYTA1ZTk3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL19f aW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Z0c190ZW1wbGF0ZXMvX19pbml0X18ucHkKQEAgLTksMTkgKzks MjIgQEAKIAogIiIiRGVmaW5lcyB2aWV3cyBmb3IgbWFuYWdlbWVudCBvZiBGdHMgVGVtcGxhdGUg bm9kZSIiIgogCi1pbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0b29scyBpbXBv cnQgd3JhcHMKIAoraW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgogZnJvbSBmbGFzayBpbXBvcnQg cmVuZGVyX3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlLCByZXF1ZXN0LCBqc29uaWZ5CiBmcm9tIGZs YXNrX2JhYmVsIGltcG9ydCBnZXR0ZXh0CisKK2Zyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxU X0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcyBpbXBvcnQgRGF0YWJhc2VNb2R1bGUKLWZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBpbXBvcnQgU2NoZW1hQ2hpbGRN b2R1bGUKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy51dGlscyBpbXBvcnQgXAorICAgIFNjaGVtYUNoaWxkTW9kdWxlCiBmcm9tIHBn YWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE5vZGVWaWV3Citmcm9tIHBnYWRtaW4u dXRpbHMgaW1wb3J0IElTX1BZMgogZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2Vf anNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yLCBcCiAgICAgbWFrZV9yZXNwb25z ZSBhcyBhamF4X3Jlc3BvbnNlLCBnb25lCiBmcm9tIHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9y dCBnZXRfZHJpdmVyCi1mcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKLWZyb20g cGdhZG1pbi51dGlscyBpbXBvcnQgSVNfUFkyCisKICMgSWYgd2UgYXJlIGluIFB5dGhvbjMKIGlm IG5vdCBJU19QWTI6CiAgICAgdW5pY29kZSA9IHN0cgpAQCAtMzYsNyArMzksOCBAQCBjbGFzcyBG dHNUZW1wbGF0ZU1vZHVsZShTY2hlbWFDaGlsZE1vZHVsZSk6CiAgICAgTWV0aG9kczoKICAgICAt LS0tLS0tCiAgICAgKiBfX2luaXRfXygqYXJncywgKiprd2FyZ3MpCi0gICAgICAtIE1ldGhvZCBp cyB1c2VkIHRvIGluaXRpYWxpemUgdGhlIEZ0c1RlbXBsYXRlTW9kdWxlIGFuZCBpdCdzIGJhc2Ug bW9kdWxlLgorICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBpbml0aWFsaXplIHRoZSBGdHNUZW1w bGF0ZU1vZHVsZSBhbmQgaXQncyBiYXNlCisgICAgICBtb2R1bGUuCiAKICAgICAqIGdldF9ub2Rl cyhnaWQsIHNpZCwgZGlkLCBzY2lkKQogICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBnZW5lcmF0 ZSB0aGUgYnJvd3NlciBjb2xsZWN0aW9uIG5vZGUuCkBAIC05MCwxMCArOTQsMTEgQEAgY2xhc3Mg RnRzVGVtcGxhdGVWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgIiIiCiAgICAgY2xhc3MgRnRz VGVtcGxhdGVWaWV3KFBHQ2hpbGROb2RlVmlldykKIAotICAgICAgICBBIHZpZXcgY2xhc3MgZm9y IEZUUyBUZW1wYWx0ZSBub2RlIGRlcml2ZWQgZnJvbSBQR0NoaWxkTm9kZVZpZXcuIFRoaXMgY2xh c3MgaXMKLSAgICAgICAgcmVzcG9uc2libGUgZm9yIGFsbCB0aGUgc3R1ZmYgcmVsYXRlZCB0byB2 aWV3IGxpa2UgY3JlYXRlL3VwZGF0ZS9kZWxldGUKLSAgICAgICAgcmVzcG9uc2libGUgZm9yIGFs bCB0aGUgc3R1ZmYgcmVsYXRlZCB0byB2aWV3IGxpa2UgY3JlYXRlL3VwZGF0ZS9kZWxldGUKLSAg ICAgICAgRlRTIHRlbXBsYXRlLCBzaG93aW5nIHByb3BlcnRpZXMgb2Ygbm9kZSwgc2hvd2luZyBz cWwgaW4gc3FsIHBhbmUuCisgICAgICAgIEEgdmlldyBjbGFzcyBmb3IgRlRTIFRlbXBhbHRlIG5v ZGUgZGVyaXZlZCBmcm9tIFBHQ2hpbGROb2RlVmlldy4gVGhpcworICAgICAgICBjbGFzcyBpcyBy ZXNwb25zaWJsZSBmb3IgYWxsIHRoZSBzdHVmZiByZWxhdGVkIHRvIHZpZXcgbGlrZQorICAgICAg ICBjcmVhdGUvdXBkYXRlL2RlbGV0ZSByZXNwb25zaWJsZSBmb3IgYWxsIHRoZSBzdHVmZiByZWxh dGVkIHRvIHZpZXcKKyAgICAgICAgbGlrZSBjcmVhdGUvdXBkYXRlL2RlbGV0ZSBGVFMgdGVtcGxh dGUsIHNob3dpbmcgcHJvcGVydGllcyBvZiBub2RlLAorICAgICAgICBzaG93aW5nIHNxbCBpbiBz cWwgcGFuZS4KIAogICAgIE1ldGhvZHM6CiAgICAgLS0tLS0tLQpAQCAtMTEzLDExICsxMTgsMTMg QEAgY2xhc3MgRnRzVGVtcGxhdGVWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAtIFRoaXMg ZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0IGFsbCB0aGUgIG5vZGVzIHdpdGhpbiB0aGF0IGNvbGxl Y3Rpb24uCiAKICAgICAqIG5vZGVzKCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQg dG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAg ICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2Rl IHdpdGhpbiB0aGF0CisgICAgICBjb2xsZWN0aW9uLgogICAgICAgICBIZXJlIGl0IHdpbGwgY3Jl YXRlIGFsbCB0aGUgRlRTIFRlbXBsYXRlIG5vZGVzLgogCiAgICAgKiBwcm9wZXJ0aWVzKGdpZCwg c2lkLCBkaWQsIHNjaWQsIHRpZCkKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIHNob3cgdGhl IHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkIEZUUyBUZW1wbGF0ZSBub2RlCisgICAgICAtIFRo aXMgZnVuY3Rpb24gd2lsbCBzaG93IHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBzZWxlY3RlZCBGVFMg VGVtcGxhdGUKKyAgICAgIG5vZGUKIAogICAgICogY3JlYXRlKGdpZCwgc2lkLCBkaWQsIHNjaWQp CiAgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBjcmVhdGUgdGhlIG5ldyBGVFMgVGVtcGxhdGUg b2JqZWN0CkBAIC0xMjksMjIgKzEzNiwyNyBAQCBjbGFzcyBGdHNUZW1wbGF0ZVZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIGRyb3AgdGhlIEZUUyBUZW1w bGF0ZSBvYmplY3QKIAogICAgICogbXNxbChnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQpCi0gICAg ICAtIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byByZXR1cm4gbW9kaWZpZWQgU1FMIGZvciB0aGUg c2VsZWN0ZWQgRlRTIFRlbXBsYXRlIG5vZGUKKyAgICAgIC0gVGhpcyBmdW5jdGlvbiBpcyB1c2Vk IHRvIHJldHVybiBtb2RpZmllZCBTUUwgZm9yIHRoZSBzZWxlY3RlZCBGVFMKKyAgICAgIFRlbXBs YXRlIG5vZGUKIAogICAgICogZ2V0X3NxbChkYXRhLCB0aWQpCiAgICAgICAtIFRoaXMgZnVuY3Rp b24gd2lsbCBnZW5lcmF0ZSBzcWwgZnJvbSBtb2RlbCBkYXRhCiAKICAgICAqIHNxbChnaWQsIHNp ZCwgZGlkLCBzY2lkLCAgdGlkKToKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRl IHNxbCB0byBzaG93IGl0IGluIHNxbCBwYW5lIGZvciB0aGUgc2VsZWN0ZWQgRlRTIFRlbXBsYXRl IG5vZGUuCisgICAgICAtIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSBzcWwgdG8gc2hvdyBp dCBpbiBzcWwgcGFuZSBmb3IgdGhlIHNlbGVjdGVkCisgICAgICBGVFMgVGVtcGxhdGUgbm9kZS4K IAogICAgICogZ2V0X3R5cGUoKToKLSAgICAgIC0gVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIGFs bCB0aGUgdHlwZXMgZm9yIHNvdXJjZSBhbmQgdGFyZ2V0IHR5cGVzIHNlbGVjdCBjb250cm9sLgor ICAgICAgLSBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggYWxsIHRoZSB0eXBlcyBmb3Igc291cmNl IGFuZCB0YXJnZXQgdHlwZXMKKyAgICAgIHNlbGVjdCBjb250cm9sLgogCiAgICAgKiBkZXBlbmRl bnRzKGdpZCwgc2lkLCBkaWQsIHNjaWQsIHRpZCk6Ci0gICAgICAtIFRoaXMgZnVuY3Rpb24gZ2V0 IHRoZSBkZXBlbmRlbnRzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlIEZ0cyBUZW1w YWx0ZSBub2RlLgorICAgICAgLSBUaGlzIGZ1bmN0aW9uIGdldCB0aGUgZGVwZW5kZW50cyBhbmQg cmV0dXJuIGFqYXggcmVzcG9uc2UgZm9yIHRoZQorICAgICAgRnRzIFRlbXBsYXRlIG5vZGUuCiAK ICAgICAqIGRlcGVuZGVuY2llcyhzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQpOgotICAg ICAgLSBUaGlzIGZ1bmN0aW9uIGdldCB0aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm4gYWpheCBy ZXNwb25zZSBmb3IgdGhlIEZUUyBUZW1wYWx0ZSBub2RlLgorICAgICAgLSBUaGlzIGZ1bmN0aW9u IGdldCB0aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm4gYWpheCByZXNwb25zZSBmb3IgdGhlCisg ICAgICBGVFMgVGVtcGxhdGUgbm9kZS4KIAogICAgICIiIgogCkBAIC0yMTIsOSArMjI0LDExIEBA IGNsYXNzIEZ0c1RlbXBsYXRlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAgICAgICAgc2Vs Zi5tYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5h Z2VyKAogICAgICAgICAgICAgICAgIGt3YXJnc1snc2lkJ10pCiAgICAgICAgICAgICBzZWxmLmNv bm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdzWydkaWQnXSkKLSAgICAgICAg ICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdmdHNfdGVtcGxhdGUvc3FsLyN7MH0jJy5mb3JtYXQo c2VsZi5tYW5hZ2VyLnZlcnNpb24pCisgICAgICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAn ZnRzX3RlbXBsYXRlL3NxbC8jezB9IycuZm9ybWF0KAorICAgICAgICAgICAgICAgIHNlbGYubWFu YWdlci52ZXJzaW9uKQogCiAgICAgICAgICAgICByZXR1cm4gZigqYXJncywgKiprd2FyZ3MpCisK ICAgICAgICAgcmV0dXJuIHdyYXAKIAogICAgIEBjaGVja19wcmVjb25kaXRpb24KQEAgLTUwMiw3 ICs1MTYsNyBAQCBjbGFzcyBGdHNUZW1wbGF0ZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKICAgICAgICAgICAgIGRhdGE9U1FMLAogICAg ICAgICAgICAgc3RhdHVzPTIwMAotICAgICAgICAgICAgKQorICAgICAgICApCiAKICAgICBkZWYg Z2V0X3NxbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCBkYXRhLCB0aWQ9Tm9uZSk6CiAgICAg ICAgICIiIgpAQCAtNTMzLDcgKzU0Nyw4IEBAIGNsYXNzIEZ0c1RlbXBsYXRlVmlldyhQR0NoaWxk Tm9kZVZpZXcpOgogICAgICAgICAgICAgb2xkX2RhdGEgPSByZXNbJ3Jvd3MnXVswXQogCiAgICAg ICAgICAgICAjIElmIHVzZXIgaGFzIGNoYW5nZWQgdGhlIHNjaGVtYSB0aGVuIGZldGNoIG5ldyBz Y2hlbWEgZGlyZWN0bHkKLSAgICAgICAgICAgICMgdXNpbmcgaXRzIG9pZCBvdGhlcndpc2UgZmV0 Y2ggb2xkIHNjaGVtYSBuYW1lIHVzaW5nIGZ0cyB0ZW1wbGF0ZSBvaWQKKyAgICAgICAgICAgICMg dXNpbmcgaXRzIG9pZCBvdGhlcndpc2UgZmV0Y2ggb2xkIHNjaGVtYSBuYW1lIHVzaW5nCisgICAg ICAgICAgICAjIGZ0cyB0ZW1wbGF0ZSBvaWQKICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1w bGF0ZSgKICAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnc2No ZW1hLnNxbCddKSwKICAgICAgICAgICAgICAgICBkYXRhPWRhdGEpCkBAIC01NjQsNyArNTc5LDkg QEAgY2xhc3MgRnRzVGVtcGxhdGVWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAg ICAgZGF0YT1uZXdfZGF0YSwgb19kYXRhPW9sZF9kYXRhCiAgICAgICAgICAgICApCiAgICAgICAg ICAgICAjIEZldGNoIHNxbCBxdWVyeSBmb3IgbW9kaWZpZWQgZGF0YQotICAgICAgICAgICAgcmV0 dXJuIHNxbC5zdHJpcCgnXG4nKSwgZGF0YVsnbmFtZSddIGlmICduYW1lJyBpbiBkYXRhIGVsc2Ug b2xkX2RhdGFbJ25hbWUnXQorICAgICAgICAgICAgaWYgJ25hbWUnIGluIGRhdGE6CisgICAgICAg ICAgICAgICAgcmV0dXJuIHNxbC5zdHJpcCgnXG4nKSwgZGF0YVsnbmFtZSddCisgICAgICAgICAg ICByZXR1cm4gc3FsLnN0cmlwKCdcbicpLCBvbGRfZGF0YVsnbmFtZSddCiAgICAgICAgIGVsc2U6 CiAgICAgICAgICAgICAjIEZldGNoIHNjaGVtYSBuYW1lIGZyb20gc2NoZW1hIG9pZAogICAgICAg ICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs ICdzY2hlbWEuc3FsJ10pLApAQCAtNTc4LDkgKzU5NSwxMSBAQCBjbGFzcyBGdHNUZW1wbGF0ZVZp ZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgIG5ld19kYXRhID0gZGF0YS5jb3B5KCkK ICAgICAgICAgICAgIG5ld19kYXRhWydzY2hlbWEnXSA9IHNjaGVtYQogCi0gICAgICAgICAgICBp ZiAndG1wbGxleGl6ZScgaW4gbmV3X2RhdGEgYW5kIFwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnbmFtZScgaW4gbmV3X2RhdGEgYW5kIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnc2NoZW1hJyBpbiBuZXdfZGF0YToKKyAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAg ICAndG1wbGxleGl6ZScgaW4gbmV3X2RhdGEgYW5kCisgICAgICAgICAgICAgICAgJ25hbWUnIGlu IG5ld19kYXRhIGFuZAorICAgICAgICAgICAgICAgICdzY2hlbWEnIGluIG5ld19kYXRhCisgICAg ICAgICAgICApOgogICAgICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9p bihbc2VsZi50ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ2NyZWF0ZS5zcWwnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGE9bmV3X2RhdGEsCkBAIC02NjcsMTUgKzY4NiwxNSBAQCBjbGFzcyBG dHNUZW1wbGF0ZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgaWYgbm90IHN0YXR1czoK ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoCiAgICAgICAgICAgICAg ICAgZ2V0dGV4dCgKLSAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBnZW5lcmF0ZSByZXZl cnNlZCBlbmdpbmVlcmVkIHF1ZXJ5IGZvciB0aGUgRlRTIFRlbXBsYXRlLlxuezB9IikuZm9ybWF0 KAotICAgICAgICAgICAgICAgICAgICByZXMKLSAgICAgICAgICAgICAgICApCisgICAgICAgICAg ICAgICAgICAgICJDb3VsZCBub3QgZ2VuZXJhdGUgcmV2ZXJzZWQgZW5naW5lZXJlZCBxdWVyeSBm b3IgdGhlICIKKyAgICAgICAgICAgICAgICAgICAgIkZUUyBUZW1wbGF0ZS5cbnswfSIpLmZvcm1h dChyZXMpCiAgICAgICAgICAgICApCiAKICAgICAgICAgaWYgcmVzIGlzIE5vbmU6CiAgICAgICAg ICAgICByZXR1cm4gZ29uZSgKICAgICAgICAgICAgICAgICBnZXR0ZXh0KAotICAgICAgICAgICAg ICAgICAgICAiQ291bGQgbm90IGdlbmVyYXRlIHJldmVyc2VkIGVuZ2luZWVyZWQgcXVlcnkgZm9y IEZUUyBUZW1wbGF0ZSBub2RlLiIpCisgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZ2Vu ZXJhdGUgcmV2ZXJzZWQgZW5naW5lZXJlZCBxdWVyeSBmb3IgIgorICAgICAgICAgICAgICAgICAg ICAiRlRTIFRlbXBsYXRlIG5vZGUuIikKICAgICAgICAgICAgICkKIAogICAgICAgICByZXR1cm4g YWpheF9yZXNwb25zZShyZXNwb25zZT1yZXMpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVz L3Rlc3RzL3Rlc3RfZnRzX3RlbXBsYXRlc19hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL3Rlc3Rz L3Rlc3RfZnRzX3RlbXBsYXRlc19hZGQucHkKaW5kZXggMDIyZDEwODAuLjEyYzQ0YTg1IDEwMDY0 NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL3Rlc3RzL3Rlc3RfZnRzX3RlbXBsYXRlc19hZGQucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZnRzX3RlbXBsYXRlcy90ZXN0cy90ZXN0X2Z0c190ZW1wbGF0ZXNfYWRkLnB5CkBA IC0yOCw3ICsyOCw4IEBAIGNsYXNzIEZ0c1RlbXBsYXRlQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5l cmF0b3IpOgogICAgIHNjZW5hcmlvcyA9IFsKICAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVS TCBmb3IgRlRTIHRlbXBsYXRlIG5vZGUuCiAgICAgICAgICgKLSAgICAgICAgJ0ZldGNoIEZUUyB0 ZW1wbGF0ZXMgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvZnRzX3RlbXBsYXRlL29iai8n KSkKKyAgICAgICAgICAgICdGZXRjaCBGVFMgdGVtcGxhdGVzIE5vZGUgVVJMJywKKyAgICAgICAg ICAgIGRpY3QodXJsPScvYnJvd3Nlci9mdHNfdGVtcGxhdGUvb2JqLycpKQogICAgIF0KIAogICAg IGRlZiBydW5UZXN0KHNlbGYpOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy90ZXN0cy90 ZXN0X2Z0c190ZW1wbGF0ZXNfZ2V0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy90ZXN0cy90ZXN0X2Z0 c190ZW1wbGF0ZXNfZ2V0LnB5CmluZGV4IDJhYWMyYzhhLi5mYTY0NjQ4ZiAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnRzX3RlbXBsYXRlcy90ZXN0cy90ZXN0X2Z0c190ZW1wbGF0ZXNfZ2V0LnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z0c190ZW1wbGF0ZXMvdGVzdHMvdGVzdF9mdHNfdGVtcGxhdGVzX2dldC5weQpAQCAtMjYsNyAr MjYsOSBAQCBjbGFzcyBGdHNUZW1wbGF0ZUdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK IAogICAgIHNjZW5hcmlvcyA9IFsKICAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3Ig RlRTIHRlbXBsYXRlIG5vZGUuCi0gICAgICAgICgnRmV0Y2ggRlRTIHRlbXBsYXRlcyBOb2RlIFVS TCcsIGRpY3QodXJsPScvYnJvd3Nlci9mdHNfdGVtcGxhdGUvb2JqLycpKQorICAgICAgICAoJ0Zl dGNoIEZUUyB0ZW1wbGF0ZXMgTm9kZSBVUkwnLCBkaWN0KAorICAgICAgICAgICAgdXJsPScvYnJv d3Nlci9mdHNfdGVtcGxhdGUvb2JqLycpCisgICAgICAgICApCiAgICAgXQogCiAgICAgZGVmIHNl dFVwKHNlbGYpOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnRzX3RlbXBsYXRlcy90ZXN0cy91dGlscy5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Z0c190ZW1wbGF0ZXMvdGVzdHMvdXRpbHMucHkKaW5kZXggZjM3M2ViZTYuLjM1YzE5YTUz IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mdHNfdGVtcGxhdGVzL3Rlc3RzL3V0aWxzLnB5CisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z0 c190ZW1wbGF0ZXMvdGVzdHMvdXRpbHMucHkKQEAgLTMwLDE3ICszMCwyMCBAQCBkZWYgY3JlYXRl X2Z0c190ZW1wbGF0ZShzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCBmdHNfdGVtcF9uYW1l KToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnc3NsbW9k ZSddKQogICAgICAgICBwZ19jdXJzb3IgPSBjb25uZWN0aW9uLmN1cnNvcigpCiAKLSAgICAgICAg cXVlcnkgPSAiRFJPUCBURVhUIFNFQVJDSCBURU1QTEFURSBJRiBFWElTVFMgIiArIHNjaGVtYV9u YW1lICsgIi4iICsgZnRzX3RlbXBfbmFtZQorICAgICAgICBxdWVyeSA9ICJEUk9QIFRFWFQgU0VB UkNIIFRFTVBMQVRFIElGIEVYSVNUUyAiICsgc2NoZW1hX25hbWUgKyAiLiIgKyBcCisgICAgICAg ICAgICAgICAgZnRzX3RlbXBfbmFtZQogICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZShxdWVyeSkK IAotICAgICAgICBxdWVyeSA9ICJDUkVBVEUgVEVYVCBTRUFSQ0ggVEVNUExBVEUgIiArIHNjaGVt YV9uYW1lICsgIi4iICsgZnRzX3RlbXBfbmFtZSArIFwKKyAgICAgICAgcXVlcnkgPSAiQ1JFQVRF IFRFWFQgU0VBUkNIIFRFTVBMQVRFICIgKyBzY2hlbWFfbmFtZSArICIuIiArIFwKKyAgICAgICAg ICAgICAgICBmdHNfdGVtcF9uYW1lICsgXAogICAgICAgICAgICAgICAgICIoSU5JVD1kaXNwZWxs X2luaXQsIExFWElaRT1kaXNwZWxsX2xleGl6ZSkiCiAgICAgICAgIHBnX2N1cnNvci5leGVjdXRl KHF1ZXJ5KQogICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgpCiAKICAgICAgICAgIyBHZXQgJ29p ZCcgZnJvbSBuZXdseSBjcmVhdGVkIHRlbXBsYXRlCiAgICAgICAgIHBnX2N1cnNvci5leGVjdXRl KCJzZWxlY3Qgb2lkIGZyb20gcGdfY2F0YWxvZy5wZ190c190ZW1wbGF0ZSB3aGVyZSAiCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICJ0bXBsbmFtZSA9ICclcycgb3JkZXIgYnkgb2lkIEFTQyBs aW1pdCAxIiAlIGZ0c190ZW1wX25hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ0bXBs bmFtZSA9ICclcycgb3JkZXIgYnkgb2lkIEFTQyBsaW1pdCAxIiAlCisgICAgICAgICAgICAgICAg ICAgICAgICAgIGZ0c190ZW1wX25hbWUpCiAKICAgICAgICAgb2lkID0gcGdfY3Vyc29yLmZldGNo b25lKCkKICAgICAgICAgZnRzX3RlbXBfaWQgPSAnJwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25z L19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CmluZGV4IDJiN2QyMzMxLi41 MDY5NjRiNCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1 bmN0aW9ucy9fX2luaXRfXy5weQpAQCAtMjYwLDEzICsyNjAsMTQgQEAgY2xhc3MgRnVuY3Rpb25W aWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogCiAgICAgICAgICAgICAgICAg Zm9yIGFyZyBpbiBzZWxmLnJlcXVpcmVkX2FyZ3M6CiAgICAgICAgICAgICAgICAgICAgIGlmIChh cmcgbm90IGluIHJlcSBvciByZXFbYXJnXSA9PSAnJykgb3IgXAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChhcmcgPT0gJ3Byb2JpbicgYW5kIHJlcVsnbGFubmFtZSddID09ICdjJwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgKGFyZyBub3QgaW4gcmVxIG9yIHJlcVthcmdd ID09ICcnKSk6CisgICAgICAgICAgICAgICAgICAgICAgICAoYXJnID09ICdwcm9iaW4nIGFuZCBy ZXFbJ2xhbm5hbWUnXSA9PSAnYycgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgKGFyZyBu b3QgaW4gcmVxIG9yIHJlcVthcmddID09ICcnKSk6CiAgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 YXR1cz00MTAsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGVycm9ybXNnPWdldHRleHQoCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyICgl cykuIiAlIGFyZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90IGZp bmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAoJXMpLiIgJQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhcmcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICAgICAgICAgICAgICApCiAKQEAgLTI3NiwxNCArMjc3LDE2IEBAIGNsYXNzIEZ1bmN0aW9uVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnc2VjbGFiZWxzJywgJ2FjbCcsICdhcmdzJ10KIAogICAgICAgICAgICAgZm9y IGtleSBpbiByZXE6Ci0gICAgICAgICAgICAgICAgaWYga2V5IGluIGxpc3RfcGFyYW1zIGFuZCBy ZXFba2V5XSAhPSAnJyBcCi0gICAgICAgICAgICAgICAgICAgICAgICBhbmQgcmVxW2tleV0gaXMg bm90IE5vbmU6CisgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICBrZXkg aW4gbGlzdF9wYXJhbXMgYW5kIHJlcVtrZXldICE9ICcnIGFuZAorICAgICAgICAgICAgICAgICAg ICByZXFba2V5XSBpcyBub3QgTm9uZQorICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAgICAg ICAgICAgICMgQ292ZXJ0cyBzdHJpbmcgaW50byBweXRob24gbGlzdCBhcyBleHBlY3RlZC4KICAg ICAgICAgICAgICAgICAgICAgZGF0YVtrZXldID0ganNvbi5sb2FkcyhyZXFba2V5XSwgZW5jb2Rp bmc9J3V0Zi04JykKICAgICAgICAgICAgICAgICBlbGlmICgKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAga2V5ID09ICdwcm9yZXRzZXQnIG9yIGtleSA9PSAncHJv aXNzdHJpY3QnIG9yCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5 ID09ICdwcm9zZWNkZWYnIG9yIGtleSA9PSAncHJvaXN3aW5kb3cnIG9yCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGtleSA9PSAncHJvbGVha3Byb29mJworICAgICAgICAgICAgICAg ICAgICBrZXkgPT0gJ3Byb3JldHNldCcgb3Iga2V5ID09ICdwcm9pc3N0cmljdCcgb3IKKyAgICAg ICAgICAgICAgICAgICAga2V5ID09ICdwcm9zZWNkZWYnIG9yIGtleSA9PSAncHJvaXN3aW5kb3cn IG9yCisgICAgICAgICAgICAgICAgICAgIGtleSA9PSAncHJvbGVha3Byb29mJwogICAgICAgICAg ICAgICAgICk6CiAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IFRydWUgaWYgKAogICAg ICAgICAgICAgICAgICAgICAgICAgcmVxW2tleV0gPT0gJ3RydWUnIG9yIHJlcVtrZXldIGlzIFRy dWUpIFwKQEAgLTM5Miw3ICszOTUsOCBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVW aWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgIGlmIGZuaWQgaXMgbm90IE5vbmU6CiAgICAg ICAgICAgICBpZiBsZW4ocnNldFsncm93cyddKSA9PSAwOgogICAgICAgICAgICAgICAgIHJldHVy biBnb25lKAotICAgICAgICAgICAgICAgICAgICAgXygiQ291bGQgbm90IGZpbmQgdGhlIHNwZWNp ZmllZCAlcy4iKS5mb3JtYXQoc2VsZi5ub2RlX3R5cGUpCisgICAgICAgICAgICAgICAgICAgIF8o IkNvdWxkIG5vdCBmaW5kIHRoZSBzcGVjaWZpZWQgJXMuIikuZm9ybWF0KAorICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5ub2RlX3R5cGUpCiAgICAgICAgICAgICAgICAgKQogCiAgICAgICAg ICAgICByb3cgPSByc2V0Wydyb3dzJ11bMF0KQEAgLTU3Miw3ICs1NzYsNyBAQCBjbGFzcyBGdW5j dGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICBw cm9hcmduYW1lc1tpXSBpZiBsZW4ocHJvYXJnbmFtZXMpID4gaSBlbHNlICcnLAogICAgICAgICAg ICAgcHJvYXJnZGVmYXVsdHZhbHNbaV0gaWYgbGVuKHByb2FyZ2RlZmF1bHR2YWxzKSA+IGkgZWxz ZSAnJwogICAgICAgICApCi0gICAgICAgICAgICAgICAgICAgZm9yIGkgaW4gcmFuZ2UobGVuKHBy b2FyZ3R5cGVzKSldCisgICAgICAgICAgICBmb3IgaSBpbiByYW5nZShsZW4ocHJvYXJndHlwZXMp KV0KIAogICAgICAgICBwcm9hcmdzID0geyJwcm9hcmdzIjogIiwgIi5qb2luKHByb2FyZ3MpfQog CkBAIC02NTQsOSArNjU4LDEyIEBAIGNsYXNzIEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcs IERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgIGZuaWQ6IEZ1bmN0aW9uIElkCiAgICAgICAg ICIiIgogCi0gICAgICAgIGNvbmRpdGlvbiA9ICIodHlwdHlwZSBJTiAoJ2InLCAnYycsICdkJywg J2UnLCAncCcsICdyJykgQU5EIHR5cG5hbWUgTk9UIElOICgnYW55JywgJ3RyaWdnZXInLCAnbGFu Z3VhZ2VfaGFuZGxlcicsICdldmVudF90cmlnZ2VyJykpIgorICAgICAgICBjb25kaXRpb24gPSAi KHR5cHR5cGUgSU4gKCdiJywgJ2MnLCAnZCcsICdlJywgJ3AnLCAncicpIEFORCAiIFwKKyAgICAg ICAgICAgICAgICAgICAgInR5cG5hbWUgTk9UIElOICgnYW55JywgJ3RyaWdnZXInLCAnbGFuZ3Vh Z2VfaGFuZGxlcicsICIgXAorICAgICAgICAgICAgICAgICAgICAiJ2V2ZW50X3RyaWdnZXInKSki CiAgICAgICAgIGlmIHNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHM6Ci0gICAgICAg ICAgICBjb25kaXRpb24gKz0gIiBBTkQgbnNwbmFtZSBOT1QgTElLRSBFJ3BnXFxcXF90b2FzdCUn IEFORCBuc3BuYW1lIE5PVCBMSUtFIEUncGdcXFxcX3RlbXAlJyIKKyAgICAgICAgICAgIGNvbmRp dGlvbiArPSAiIEFORCBuc3BuYW1lIE5PVCBMSUtFIEUncGdcXFxcX3RvYXN0JScgQU5EICIgXAor ICAgICAgICAgICAgICAgICAgICAgICAgICJuc3BuYW1lIE5PVCBMSUtFIEUncGdcXFxcX3RlbXAl JyIKIAogICAgICAgICAjIEdldCBUeXBlcwogICAgICAgICBzdGF0dXMsIHR5cGVzID0gc2VsZi5n ZXRfdHlwZXMoc2VsZi5jb25uLCBjb25kaXRpb24sIEZhbHNlLCBzY2lkKQpAQCAtNjk3LDcgKzcw NCw3IEBAIGNsYXNzIEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVy KToKICAgICAgICAgICAgICAgICBkYXRhPXJlcywKICAgICAgICAgICAgICAgICBzdGF0dXM9MjAw CiAgICAgICAgICAgICApCi0gICAgICAgIGV4Y2VwdDoKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlv bjoKICAgICAgICAgICAgIGV4Y190eXBlLCBleGNfdmFsdWUsIGV4Y190cmFjZWJhY2sgPSBzeXMu ZXhjX2luZm8oKQogICAgICAgICAgICAgY3VycmVudF9hcHAubG9nZ2VyLmVycm9yKHRyYWNlYmFj ay5wcmludF9leGNlcHRpb24oCiAgICAgICAgICAgICAgICAgZXhjX3R5cGUsCkBAIC04MTAsNyAr ODE3LDggQEAgY2xhc3MgRnVuY3Rpb25WaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFk ZXIpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICAjIEZldGNoIE5hbWUgYW5kIFNjaGVtYSBO YW1lIHRvIGRlbGV0ZSB0aGUgRnVuY3Rpb24uCiAgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVt cGxhdGUoIi8iLmpvaW4oW3NlbGYuc3FsX3RlbXBsYXRlX3BhdGgsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkZWxldGUuc3FsJ10pLCBzY2lkPXNjaWQsIGZu aWQ9Zm5pZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2Rl bGV0ZS5zcWwnXSksIHNjaWQ9c2NpZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmbmlkPWZuaWQpCiAgICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRl XzJkYXJyYXkoU1FMKQogICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAg ICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKQEAgLTk0MSwxMyAr OTQ5LDE4IEBAIGNsYXNzIEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVh ZGVyKToKICAgICAgICAgICAgIHJlc3BfZGF0YVsnYXJncyddID0gcmVzcF9kYXRhWydhcmd1bWVu dHMnXQogCiAgICAgICAgIGZvciBhIGluIGFyZ3NfbGlzdDoKLSAgICAgICAgICAgIGlmICgoJ2Fy Z21vZGUnIGluIGEgYW5kIGFbJ2FyZ21vZGUnXSAhPSAnT1VUJyBhbmQKKyAgICAgICAgICAgIGlm ICgKKyAgICAgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgICAgICdhcmdtb2RlJyBpbiBh IGFuZCBhWydhcmdtb2RlJ10gIT0gJ09VVCcgYW5kCiAgICAgICAgICAgICAgICAgICAgIGFbJ2Fy Z21vZGUnXSBpcyBub3QgTm9uZQotICAgICAgICAgICAgICAgICApIG9yICdhcmdtb2RlJyBub3Qg aW4gYSk6CisgICAgICAgICAgICAgICAgKSBvciAnYXJnbW9kZScgbm90IGluIGEKKyAgICAgICAg ICAgICk6CiAgICAgICAgICAgICAgICAgaWYgJ2FyZ21vZGUnIGluIGE6CiAgICAgICAgICAgICAg ICAgICAgIGFyZ3MgKz0gYVsnYXJnbW9kZSddICsgIiAiCi0gICAgICAgICAgICAgICAgaWYgJ2Fy Z25hbWUnIGluIGEgYW5kIGFbJ2FyZ25hbWUnXSAhPSAnJyBcCi0gICAgICAgICAgICAgICAgICAg ICAgICBhbmQgYVsnYXJnbmFtZSddIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAgIGlmICgK KyAgICAgICAgICAgICAgICAgICAgJ2FyZ25hbWUnIGluIGEgYW5kIGFbJ2FyZ25hbWUnXSAhPSAn JyBhbmQKKyAgICAgICAgICAgICAgICAgICAgYVsnYXJnbmFtZSddIGlzIG5vdCBOb25lCisgICAg ICAgICAgICAgICAgKToKICAgICAgICAgICAgICAgICAgICAgYXJncyArPSBzZWxmLnF0SWRlbnQo CiAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNvbm4sIGFbJ2FyZ25hbWUnXSkgKyAiICIK ICAgICAgICAgICAgICAgICBpZiAnYXJndHlwZScgaW4gYToKQEAgLTk3MCw4ICs5ODMsOCBAQCBj bGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAKICAg ICAgICAgICAgICMgR2V0IFNjaGVtYSBOYW1lIGZyb20gaXRzIE9JRC4KICAgICAgICAgICAgIGlm ICdwcm9uYW1lc3BhY2UnIGluIHJlc3BfZGF0YToKLSAgICAgICAgICAgICAgICByZXNwX2RhdGFb J3Byb25hbWVzcGFjZSddID0gc2VsZi5fZ2V0X3NjaGVtYShyZXNwX2RhdGFbCi0gICAgICAgICAg ICAgICAgICAgICdwcm9uYW1lc3BhY2UnXSkKKyAgICAgICAgICAgICAgICByZXNwX2RhdGFbJ3By b25hbWVzcGFjZSddID0gc2VsZi5fZ2V0X3NjaGVtYSgKKyAgICAgICAgICAgICAgICAgICAgcmVz cF9kYXRhWydwcm9uYW1lc3BhY2UnXSkKIAogICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBs YXRlKCIvIi5qb2luKFtzZWxmLnNxbF90ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0X2RlZmluaXRpb24uc3FsJ10KQEAgLTk4Miwx MSArOTk1LDExIEBAIGNsYXNzIEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBl UmVhZGVyKToKICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0 dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKLSAgICAgICAgICAgIG5h bWVfd2l0aF9kZWZhdWx0X2FyZ3MgPSBzZWxmLnF0SWRlbnQoc2VsZi5jb25uLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsn bnNwbmFtZSddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICByZXNbJ3Jvd3MnXVswXVsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdwcm9uYW1lJ10pICsgJygnICsgXAotICAgICAgICAgICAgICAg IHJlc1sncm93cyddWzBdWydmdW5jX2FyZ3MnXSArICcpJworICAgICAgICAgICAgbmFtZV93aXRo X2RlZmF1bHRfYXJncyA9IHNlbGYucXRJZGVudCgKKyAgICAgICAgICAgICAgICBzZWxmLmNvbm4s CisgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ25zcG5hbWUnXSwKKyAgICAgICAgICAg ICAgICByZXNbJ3Jvd3MnXVswXVsncHJvbmFtZSddCisgICAgICAgICAgICApICsgJygnICsgcmVz Wydyb3dzJ11bMF1bJ2Z1bmNfYXJncyddICsgJyknCiAgICAgICAgICAgICAjIEFkZCBuZXdsaW5l IGFuZCB0YWIgYmVmb3JlIGVhY2ggYXJndW1lbnQgdG8gZm9ybWF0CiAgICAgICAgICAgICBuYW1l X3dpdGhfZGVmYXVsdF9hcmdzID0gbmFtZV93aXRoX2RlZmF1bHRfYXJncy5yZXBsYWNlKAogICAg ICAgICAgICAgICAgICcsICcsICcsXHJcdCcpLnJlcGxhY2UoJygnLCAnKFxyXHQnKQpAQCAtOTk2 LDEzICsxMDA5LDE0IEBAIGNsYXNzIEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFU eXBlUmVhZGVyKToKICAgICAgICAgICAgICAgICByZXNwX2RhdGFbJ2FjbCddID0gcGFyc2VfcHJp dl90b19kYihyZXNwX2RhdGFbJ2FjbCddLCBbJ1gnXSkKIAogICAgICAgICAgICAgICAgICMgQ2hl Y2sgUmV2b2tlIGFsbCBmb3IgcHVibGljCi0gICAgICAgICAgICAgICAgcmVzcF9kYXRhWydyZXZv a2VfYWxsJ10gPSBzZWxmLl9zZXRfcmV2b2tlX2FsbChyZXNwX2RhdGFbJ2FjbCddKQorICAgICAg ICAgICAgICAgIHJlc3BfZGF0YVsncmV2b2tlX2FsbCddID0gc2VsZi5fc2V0X3Jldm9rZV9hbGwo CisgICAgICAgICAgICAgICAgICAgIHJlc3BfZGF0YVsnYWNsJ10pCiAKICAgICAgICAgICAgICMg R2VuZXJhdGUgc3FsIGZvciAiU1FMIHBhbmVsIgogICAgICAgICAgICAgIyBmdW5jX2RlZiBpcyBw cm9jZWR1cmUgc2lnbmF0dXJlIHdpdGggZGVmYXVsdCBhcmd1bWVudHMKICAgICAgICAgICAgICMg cXVlcnlfZm9yIC0gVG8gZGlzdGluZ3Vpc2ggdGhlIHR5cGUgb2YgY2FsbAogICAgICAgICAgICAg ZnVuY19kZWYgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYuc3FsX3RlbXBsYXRlX3Bh dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY3Jl YXRlLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnY3JlYXRlLnNxbCddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRhdGE9cmVzcF9kYXRhLCBxdWVyeV90eXBlPSJjcmVhdGUiLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZnVuY19kZWY9bmFtZV93aXRoX2RlZmF1bHRfYXJncywK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHF1ZXJ5X2Zvcj0ic3FsX3Bh bmVsIikKQEAgLTEwMTEsMTUgKzEwMjUsMTcgQEAgY2xhc3MgRnVuY3Rpb25WaWV3KFBHQ2hpbGRO b2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogCiAgICAgICAgICAgICAjIEdldCBTY2hlbWEgTmFt ZSBmcm9tIGl0cyBPSUQuCiAgICAgICAgICAgICBpZiAncHJvbmFtZXNwYWNlJyBpbiByZXNwX2Rh dGE6Ci0gICAgICAgICAgICAgICAgcmVzcF9kYXRhWydwcm9uYW1lc3BhY2UnXSA9IHNlbGYuX2dl dF9zY2hlbWEocmVzcF9kYXRhWwotICAgICAgICAgICAgICAgICAgICAncHJvbmFtZXNwYWNlJ10p CisgICAgICAgICAgICAgICAgcmVzcF9kYXRhWydwcm9uYW1lc3BhY2UnXSA9IHNlbGYuX2dldF9z Y2hlbWEoCisgICAgICAgICAgICAgICAgICAgIHJlc3BfZGF0YVsncHJvbmFtZXNwYWNlJ10KKyAg ICAgICAgICAgICAgICApCiAKICAgICAgICAgICAgICMgUGFyc2UgcHJpdmlsZWdlIGRhdGEKICAg ICAgICAgICAgIGlmICdhY2wnIGluIHJlc3BfZGF0YToKICAgICAgICAgICAgICAgICByZXNwX2Rh dGFbJ2FjbCddID0gcGFyc2VfcHJpdl90b19kYihyZXNwX2RhdGFbJ2FjbCddLCBbJ1gnXSkKIAog ICAgICAgICAgICAgICAgICMgQ2hlY2sgUmV2b2tlIGFsbCBmb3IgcHVibGljCi0gICAgICAgICAg ICAgICAgcmVzcF9kYXRhWydyZXZva2VfYWxsJ10gPSBzZWxmLl9zZXRfcmV2b2tlX2FsbChyZXNw X2RhdGFbJ2FjbCddKQorICAgICAgICAgICAgICAgIHJlc3BfZGF0YVsncmV2b2tlX2FsbCddID0g c2VsZi5fc2V0X3Jldm9rZV9hbGwoCisgICAgICAgICAgICAgICAgICAgIHJlc3BfZGF0YVsnYWNs J10pCiAKICAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi5z cWxfdGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ2dldF9kZWZpbml0aW9uLnNxbCddCkBAIC0xMDMwLDExICsxMDQ2LDE2IEBAIGNsYXNz IEZ1bmN0aW9uVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAg ICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZl cl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKLSAgICAgICAgICAgIG5hbWVfd2l0aF9kZWZhdWx0X2Fy Z3MgPSBzZWxmLnF0SWRlbnQoc2VsZi5jb25uLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsnbnNwbmFtZSddLCByZXNbJ3Jv d3MnXVswXVsncHJvbmFtZSddKSArICcoJyArIHJlc1sncm93cyddWzBdWydmdW5jX2FyZ3MnXSAr ICcpJworICAgICAgICAgICAgbmFtZV93aXRoX2RlZmF1bHRfYXJncyA9IHNlbGYucXRJZGVudCgK KyAgICAgICAgICAgICAgICBzZWxmLmNvbm4sCisgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11b MF1bJ25zcG5hbWUnXSwKKyAgICAgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncHJvbmFtZSdd CisgICAgICAgICAgICApICsgJygnICsgcmVzWydyb3dzJ11bMF1bJ2Z1bmNfYXJncyddICsgJykn CiAgICAgICAgICAgICAjIEFkZCBuZXdsaW5lIGFuZCB0YWIgYmVmb3JlIGVhY2ggYXJndW1lbnQg dG8gZm9ybWF0Ci0gICAgICAgICAgICBuYW1lX3dpdGhfZGVmYXVsdF9hcmdzID0gbmFtZV93aXRo X2RlZmF1bHRfYXJncy5yZXBsYWNlKCcsICcsICcsXHJcdCcpLnJlcGxhY2UoJygnLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICcoXHJcdCcpCisgICAgICAgICAgICBuYW1lX3dpdGhfZGVmYXVsdF9hcmdzID0gbmFt ZV93aXRoX2RlZmF1bHRfYXJncy5yZXBsYWNlKAorICAgICAgICAgICAgICAgICcsICcsCisgICAg ICAgICAgICAgICAgJyxcclx0JworICAgICAgICAgICAgKS5yZXBsYWNlKCcoJywgJyhcclx0JykK IAogICAgICAgICAgICAgIyBHZW5lcmF0ZSBzcWwgZm9yICJTUUwgcGFuZWwiCiAgICAgICAgICAg ICAjIGZ1bmNfZGVmIGlzIGZ1bmN0aW9uIHNpZ25hdHVyZSB3aXRoIGRlZmF1bHQgYXJndW1lbnRz CkBAIC0xMTA3LDggKzExMjgsOSBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAgIyBHZXQgU2NoZW1hIE5hbWUgZnJvbSBpdHMg T0lELgogICAgICAgICBpZiAncHJvbmFtZXNwYWNlJyBpbiBkYXRhOgotICAgICAgICAgICAgZGF0 YVsncHJvbmFtZXNwYWNlJ10gPSBzZWxmLl9nZXRfc2NoZW1hKGRhdGFbCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9uYW1lc3BhY2Un XSkKKyAgICAgICAgICAgIGRhdGFbJ3Byb25hbWVzcGFjZSddID0gc2VsZi5fZ2V0X3NjaGVtYSgK KyAgICAgICAgICAgICAgICBkYXRhWydwcm9uYW1lc3BhY2UnXQorICAgICAgICAgICAgKQogICAg ICAgICBpZiAncHJvdm9sYXRpbGUnIGluIGRhdGE6CiAgICAgICAgICAgICBkYXRhWydwcm92b2xh dGlsZSddID0gdm9sX2RpY3RbZGF0YVsncHJvdm9sYXRpbGUnXV0KIApAQCAtMTEyNywxNCArMTE0 OSwxNiBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRl cik6CiAgICAgICAgICAgICAgICAgKQogCiAgICAgICAgICAgICAjIEdldCBTY2hlbWEgTmFtZQot ICAgICAgICAgICAgb2xkX2RhdGFbJ3Byb25hbWVzcGFjZSddID0gc2VsZi5fZ2V0X3NjaGVtYShv bGRfZGF0YVsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdwcm9uYW1lc3BhY2UnXSkKKyAgICAgICAgICAgIG9sZF9kYXRhWydwcm9u YW1lc3BhY2UnXSA9IHNlbGYuX2dldF9zY2hlbWEoCisgICAgICAgICAgICAgICAgb2xkX2RhdGFb J3Byb25hbWVzcGFjZSddCisgICAgICAgICAgICApCiAKICAgICAgICAgICAgIGlmICdwcm92b2xh dGlsZScgaW4gb2xkX2RhdGE6CiAgICAgICAgICAgICAgICAgb2xkX2RhdGFbJ3Byb3ZvbGF0aWxl J10gPSB2b2xfZGljdFtvbGRfZGF0YVsncHJvdm9sYXRpbGUnXV0KIAogICAgICAgICAgICAgaWYg J3Byb3BhcmFsbGVsJyBpbiBvbGRfZGF0YToKLSAgICAgICAgICAgICAgICBvbGRfZGF0YVsncHJv cGFyYWxsZWwnXSA9IHBhcmFsbGVsX2RpY3Rbb2xkX2RhdGFbJ3Byb3BhcmFsbGVsJ11dCisgICAg ICAgICAgICAgICAgb2xkX2RhdGFbJ3Byb3BhcmFsbGVsJ10gPSBwYXJhbGxlbF9kaWN0WworICAg ICAgICAgICAgICAgICAgICBvbGRfZGF0YVsncHJvcGFyYWxsZWwnXV0KIAogICAgICAgICAgICAg IyBJZiBhbnkgb2YgdGhlIGJlbG93IGFyZ3VtZW50IGlzIGNoYW5nZWQsCiAgICAgICAgICAgICAj IHRoZW4gQ1JFQVRFIE9SIFJFUExBQ0UgU1FMIHN0YXRlbWVudCBzaG91bGQgYmUgY2FsbGVkCkBA IC0xMTQ1LDggKzExNjksNyBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBE YXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAgICAgIGRhdGFbJ2NoYW5nZV9mdW5jJ10gPSBGYWxz ZQogICAgICAgICAgICAgZm9yIGFyZyBpbiBmdW5fY2hhbmdlX2FyZ3M6Ci0gICAgICAgICAgICAg ICAgaWYgYXJnID09ICdhcmd1bWVudHMnIGFuZCBhcmcgaW4gZGF0YSBhbmQgbGVuKGRhdGFbYXJn XSkgXAotICAgICAgICAgICAgICAgICAgICAgICAgPiAwOgorICAgICAgICAgICAgICAgIGlmIGFy ZyA9PSAnYXJndW1lbnRzJyBhbmQgYXJnIGluIGRhdGEgYW5kIGxlbihkYXRhW2FyZ10pID4gMDoK ICAgICAgICAgICAgICAgICAgICAgZGF0YVsnY2hhbmdlX2Z1bmMnXSA9IFRydWUKICAgICAgICAg ICAgICAgICBlbGlmIGFyZyBpbiBkYXRhOgogICAgICAgICAgICAgICAgICAgICBkYXRhWydjaGFu Z2VfZnVuYyddID0gVHJ1ZQpAQCAtMTIwNCw4ICsxMjI3LDEwIEBAIGNsYXNzIEZ1bmN0aW9uVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKIAogICAgICAgICAgICAgICAgICMg UHJlcGFyZSBmaW5hbCBkaWN0IG9mIG5ldyBhbmQgb2xkIHZhcmlhYmxlcwogICAgICAgICAgICAg ICAgIGZvciBuYW1lLCB2YWwgaW4gb2xkX2RhdGFbJ2NobmdkX3ZhcmlhYmxlcyddLml0ZW1zKCk6 Ci0gICAgICAgICAgICAgICAgICAgIGlmIG5hbWUgbm90IGluIGNobmdkX3ZhcmlhYmxlcyBhbmQg bmFtZSBub3QgaW4gXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbF92YXJpYWJsZXM6 CisgICAgICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUg bm90IGluIGNobmdkX3ZhcmlhYmxlcyBhbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUg bm90IGluIGRlbF92YXJpYWJsZXMKKyAgICAgICAgICAgICAgICAgICAgKToKICAgICAgICAgICAg ICAgICAgICAgICAgIGNobmdkX3ZhcmlhYmxlc1tuYW1lXSA9IHZhbAogCiAgICAgICAgICAgICAg ICAgIyBQcmVwYXJlIGRpY3QgaW4gW3snbmFtZSc6IHZhcl9uYW1lLCAndmFsdWUnOiB2YXJfdmFs fSwuLl0KQEAgLTEyNDMsMTUgKzEyNjgsMTkgQEAgY2xhc3MgRnVuY3Rpb25WaWV3KFBHQ2hpbGRO b2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgZWxpZiAnYXJncycgaW4gZGF0 YSBhbmQgbGVuKGRhdGFbJ2FyZ3MnXSkgPiAwOgogICAgICAgICAgICAgICAgIGFyZ3NfbGlzdCA9 IGRhdGFbJ2FyZ3MnXQogICAgICAgICAgICAgZm9yIGEgaW4gYXJnc19saXN0OgotICAgICAgICAg ICAgICAgIGlmICgoJ2FyZ21vZGUnIGluIGEgYW5kIGFbJ2FyZ21vZGUnXSAhPSAnT1VUJyBhbmQK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYVsnYXJnbW9kZSddIGlzIG5vdCBOb25lCi0g ICAgICAgICAgICAgICAgICAgICApIG9yICdhcmdtb2RlJyBub3QgaW4gYSk6CisgICAgICAgICAg ICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICAoCisgICAgICAgICAgICAgICAgICAgICAg ICAnYXJnbW9kZScgaW4gYSBhbmQgYVsnYXJnbW9kZSddICE9ICdPVVQnIGFuZAorICAgICAgICAg ICAgICAgICAgICAgICAgYVsnYXJnbW9kZSddIGlzIG5vdCBOb25lCisgICAgICAgICAgICAgICAg ICAgICkgb3IgJ2FyZ21vZGUnIG5vdCBpbiBhCisgICAgICAgICAgICAgICAgKToKICAgICAgICAg ICAgICAgICAgICAgaWYgJ2FyZ21vZGUnIGluIGE6CiAgICAgICAgICAgICAgICAgICAgICAgICBh cmdzICs9IGFbJ2FyZ21vZGUnXSArICIgIgotICAgICAgICAgICAgICAgICAgICBpZiAnYXJnbmFt ZScgaW4gYSBhbmQgYVsnYXJnbmFtZSddICE9ICcnIFwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhbmQgYVsnYXJnbmFtZSddIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgICAgICAg ICAgYXJncyArPSBzZWxmLnF0SWRlbnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5jb25uLCBhWydhcmduYW1lJ10pICsgIiAiCisgICAgICAgICAgICAgICAgICAgIGlmICgKKyAg ICAgICAgICAgICAgICAgICAgICAgICdhcmduYW1lJyBpbiBhIGFuZCBhWydhcmduYW1lJ10gIT0g JycgYW5kCisgICAgICAgICAgICAgICAgICAgICAgICBhWydhcmduYW1lJ10gaXMgbm90IE5vbmUK KyAgICAgICAgICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3MgKz0g c2VsZi5xdElkZW50KHNlbGYuY29ubiwgYVsnYXJnbmFtZSddKSArICIgIgogICAgICAgICAgICAg ICAgICAgICBpZiAnYXJndHlwZScgaW4gYToKICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Mg Kz0gYVsnYXJndHlwZSddCiAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzX3dpdGhvdXRfbmFt ZS5hcHBlbmQoYVsnYXJndHlwZSddKQpAQCAtMTM1Myw3ICsxMzgyLDcgQEAgY2xhc3MgRnVuY3Rp b25WaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICBmb3IgcCBp biBwcml2aWxlZ2VzOgogICAgICAgICAgICAgaWYgcFsnZ3JhbnRlZSddID09ICdQVUJMSUMnOgog ICAgICAgICAgICAgICAgIHJldm9rZV9hbGwgPSBGYWxzZQotICAgICAgICAgICAgICAgIGJyZWFr OworICAgICAgICAgICAgICAgIGJyZWFrCiAKICAgICAgICAgcmV0dXJuIHJldm9rZV9hbGwKIApA QCAtMTQwOSwxNCArMTQzOCwxNiBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICIiIgogICAgICAgICAjIEZldGNoIHRoZSBmdW5j dGlvbiBkZWZpbml0aW9uLgogICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYuc3FsX3RlbXBsYXRlX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn Z2V0X2RlZmluaXRpb24uc3FsJ10pLCBmbmlkPWZuaWQsIHNjaWQ9c2NpZCkKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZ2V0X2RlZmluaXRpb24uc3FsJ10pLCBmbmlk PWZuaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2lkPXNjaWQpCiAgICAgICAg IHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCiAgICAgICAgIGlm IG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVy cm9ybXNnPXJlcykKIAotICAgICAgICBuYW1lID0gc2VsZi5xdElkZW50KHNlbGYuY29ubiwgcmVz Wydyb3dzJ11bMF1bJ25zcG5hbWUnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNb J3Jvd3MnXVswXVsncHJvbmFtZSddKSArICcoJyArIFwKLSAgICAgICAgICAgIHJlc1sncm93cydd WzBdWydmdW5jX3dpdGhfaWRlbnRpdHlfYXJndW1lbnRzJ10gKyAnKScKKyAgICAgICAgbmFtZSA9 IHNlbGYucXRJZGVudCgKKyAgICAgICAgICAgIHNlbGYuY29ubiwgcmVzWydyb3dzJ11bMF1bJ25z cG5hbWUnXSwKKyAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydwcm9uYW1lJ10KKyAgICAgICAg KSArICcoJyArIHJlc1sncm93cyddWzBdWydmdW5jX3dpdGhfaWRlbnRpdHlfYXJndW1lbnRzJ10g KyAnKScKIAogICAgICAgICAjIEZldGNoIG9ubHkgYXJndW1lbnRzCiAgICAgICAgIGFyZ1N0cmlu ZyA9IG5hbWVbbmFtZS5yZmluZCgnKCcpOl0uc3RyaXAoJygnKS5zdHJpcCgnKScpCkBAIC0xNDk4 LDcgKzE1MjksOCBAQCBjbGFzcyBGdW5jdGlvblZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlw ZVJlYWRlcik6CiAgICAgICAgICAgICAjIEdldCBzY2hlbWEgbmFtZQogICAgICAgICAgICAgc3Rh dHVzLCBzY2hlbWFfbmFtZSA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcigKICAgICAgICAgICAg ICAgICByZW5kZXJfdGVtcGxhdGUoCi0gICAgICAgICAgICAgICAgICAgICdzY2hlbWEvcGcvI3sw fSMvc3FsL2dldF9uYW1lLnNxbCcuZm9ybWF0KHNlbGYubWFuYWdlci52ZXJzaW9uKSwKKyAgICAg ICAgICAgICAgICAgICAgJ3NjaGVtYS9wZy8jezB9Iy9zcWwvZ2V0X25hbWUuc3FsJy5mb3JtYXQo CisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbiksCiAgICAgICAg ICAgICAgICAgICAgIHNjaWQ9c2NpZAogICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19hZGQucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1bmNfYWRkLnB5CmluZGV4IGM5ZGEx NmFlLi44ZDUwZmZlZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dl cl9mdW5jX2FkZC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1bmNf YWRkLnB5CkBAIC0xMDIsOCArMTAyLDkgQEAgY2xhc3MgVHJpZ2dlckZ1bmNBZGRUZXN0Q2FzZShC YXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAgc2NoZW1hX2lkID0gZGF0YVsncHJv bmFtZXNwYWNlJ10KICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKICAg ICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsK LSAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKyAnLycg KyBzdHIoc2NoZW1hX2lkKQotICAgICAgICAgICAgICAgICsgJy8nLCBkYXRhPWpzb24uZHVtcHMo ZGF0YSksIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKyAgICAgICAgICAgICAgICBzdHIoc2Vy dmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKyAnLycgKyBzdHIoc2NoZW1hX2lkKSArCisgICAg ICAgICAgICAgICAgJy8nLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksIGNvbnRlbnRfdHlwZT0naHRt bC9qc29uJworICAgICAgICAgICAgKQogCiAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhy ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogICAgICAgICAjIERpc2Nvbm5lY3QgdGhlIGRhdGFi YXNlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1bmNfZGVs ZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX2RlbGV0ZS5weQpp bmRleCA1NDg4MzYwNi4uMjNjZmNlNTIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90 ZXN0X3RyaWdnZXJfZnVuY19kZWxldGUucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3Rf dHJpZ2dlcl9mdW5jX2RlbGV0ZS5weQpAQCAtNjIsMTAgKzYyLDExIEBAIGNsYXNzIFRyaWdnZXJG dW5jRGVsZXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJDb3VsZCBub3QgZmluZCB0aGUgc2NoZW1hIHRvIGFkZCB0aGUgY29sbGF0aW9u LiIpCiAgICAgICAgIHRyaWdnZXJfZnVuY19pZCA9IHNlbGYuZnVuY3Rpb25faW5mb1swXQogICAg ICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZSgKLSAgICAgICAgICAgIHNlbGYudXJs ICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycKLSAgICAgICAgICAgICsgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgIHNlbGYudXJsICsg c3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisg ICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKICAgICAgICAgICAgIHN0cihzZWxmLnNjaGVt YV9pZCkgKyAnLycgKyBzdHIodHJpZ2dlcl9mdW5jX2lkKSwKLSAgICAgICAgICAgIGNvbnRlbnRf dHlwZT0naHRtbC9qc29uJykKKyAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJwor ICAgICAgICApCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2Rl LCAyMDApCiAgICAgICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKICAgICAgICAgZGF0YWJh c2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZXJ2ZXJfaWQsIGRiX2lkKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX2dldC5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19nZXQucHkKaW5kZXggMWRjNjBkZTUu LjZlNGM1YjQ3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1 bmNfZ2V0LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19nZXQu cHkKQEAgLTYzLDggKzYzLDggQEAgY2xhc3MgVHJpZ2dlckZ1bmNHZXRUZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5k IHRoZSBzY2hlbWEgdG8gYWRkIHRoZSBjb2xsYXRpb24uIikKICAgICAgICAgdHJpZ2dlcl9mdW5j X2lkID0gc2VsZi5mdW5jdGlvbl9pbmZvWzBdCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KAotICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSAr ICcvJwotICAgICAgICAgICAgKyBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKyAn LycgKworICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcv JyArIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycg KwogICAgICAgICAgICAgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJyArIHN0cih0cmlnZ2VyX2Z1 bmNfaWQpLAogICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQogICAgICAgICBz ZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX3B1dC5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9u cy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19wdXQucHkKaW5kZXggM2ZlZDIwM2EuLjAyNTYxZDlk IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1bmNfcHV0LnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19wdXQucHkKQEAgLTc1 LDEyICs3NSwxMyBAQCBjbGFzcyBUcmlnZ2VyRnVuY1B1dFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJh dG9yKToKICAgICAgICAgICAgICJpZCI6IHRyaWdnZXJfZnVuY19pZAogICAgICAgICB9CiAKLSAg ICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHV0aWxz LlNFUlZFUl9HUk9VUCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Jy8nICsgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArICcvJyArIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycg KwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHRyaWdnZXJfZnVu Y19pZCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWpzb24u ZHVtcHMoZGF0YSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xs b3dfcmVkaXJlY3RzPVRydWUpCisgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1 dCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKworICAg ICAgICAgICAgJy8nICsgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsgJy8nICsK KyAgICAgICAgICAgIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgc3Ry KHRyaWdnZXJfZnVuY19pZCksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisg ICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1 YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogICAgICAgICAjIERpc2Nvbm5lY3Qg dGhlIGRhdGFiYXNlCiAgICAgICAgIGRhdGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uo c2VsZiwgc2VydmVyX2lkLCBkYl9pZCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy91 dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy91dGlscy5weQppbmRleCA5M2U3YjU0MC4uNGZh Y2Y2MDggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy91dGlscy5weQorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m dW5jdGlvbnMvdGVzdHMvdXRpbHMucHkKQEAgLTI5LDEwICsyOSwxMiBAQCBkZWYgY3JlYXRlX3Ry aWdnZXJfZnVuY3Rpb24oc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwgZnVuY19uYW1lLAog ICAgICAgICByX3R5cGUgPSAiZXZlbnRfdHJpZ2dlciIKICAgICAgICAgaWYgc2VydmVyX3ZlcnNp b24gIT0gMDoKICAgICAgICAgICAgIHJfdHlwZSA9ICJ0cmlnZ2VyIgotICAgICAgICBxdWVyeSA9 ICJDUkVBVEUgRlVOQ1RJT04gIitzY2hlbWFfbmFtZSsiLiIrZnVuY19uYW1lKyIoKSIgXAorICAg ICAgICBxdWVyeSA9ICJDUkVBVEUgRlVOQ1RJT04gIiArIHNjaGVtYV9uYW1lICsgIi4iICsgZnVu Y19uYW1lICsgXAorICAgICAgICAgICAgICAgICIoKSIgXAogICAgICAgICAgICAgICAgICIgUkVU VVJOUyB7MH0gTEFOR1VBR0UgJ3BscGdzcWwnIFNUQUJMRSBMRUFLUFJPT0YiIFwKICAgICAgICAg ICAgICAgICAiIFNFQ1VSSVRZIERFRklORVIgU0VUIGVuYWJsZV9zb3J0PXRydWUgQVMgJEJPRFkk IEJFR0lOIiBcCi0gICAgICAgICAgICAgICAgIiBOVUxMOyBFTkQ7ICRCT0RZJCIuZm9ybWF0KHJf dHlwZSkKKyAgICAgICAgICAgICAgICAiIE5VTEw7IEVORDsgJEJPRFkkIi5mb3JtYXQoCisgICAg ICAgICAgICAgICAgICAgIHJfdHlwZSkKICAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUocXVlcnkp CiAgICAgICAgIGNvbm5lY3Rpb24uY29tbWl0KCkKICAgICAgICAgIyBHZXQgJ29pZCcgZnJvbSBu ZXdseSBjcmVhdGVkIGZ1bmN0aW9uCkBAIC00Nyw3ICs0OSw3IEBAIGRlZiBjcmVhdGVfdHJpZ2dl cl9mdW5jdGlvbihzZXJ2ZXIsIGRiX25hbWUsIHNjaGVtYV9uYW1lLCBmdW5jX25hbWUsCiAKIAog ZGVmIGNyZWF0ZV90cmlnZ2VyX2Z1bmN0aW9uX3dpdGhfdHJpZ2dlcihzZXJ2ZXIsIGRiX25hbWUs IHNjaGVtYV9uYW1lLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmdW5jX25hbWUpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBmdW5jX25hbWUpOgogICAgICIiIlRoaXMgZnVuY3Rpb24gYWRkIHRoZSB0cmlnZ2VyIGZ1bmN0 aW9uIHRvIHNjaGVtYSIiIgogICAgIHRyeToKICAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdl dF9kYl9jb25uZWN0aW9uKGRiX25hbWUsCkBAIC01Nyw3ICs1OSw4IEBAIGRlZiBjcmVhdGVfdHJp Z2dlcl9mdW5jdGlvbl93aXRoX3RyaWdnZXIoc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsncG9y dCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVy Wydzc2xtb2RlJ10pCiAgICAgICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKLSAg ICAgICAgcXVlcnkgPSAiQ1JFQVRFIEZVTkNUSU9OICIrc2NoZW1hX25hbWUrIi4iK2Z1bmNfbmFt ZSsiKCkiIFwKKyAgICAgICAgcXVlcnkgPSAiQ1JFQVRFIEZVTkNUSU9OICIgKyBzY2hlbWFfbmFt ZSArICIuIiArIGZ1bmNfbmFtZSArIFwKKyAgICAgICAgICAgICAgICAiKCkiIFwKICAgICAgICAg ICAgICAgICAiIFJFVFVSTlMgdHJpZ2dlciBMQU5HVUFHRSAncGxwZ3NxbCcgU1RBQkxFIExFQUtQ Uk9PRiIgXAogICAgICAgICAgICAgICAgICIgU0VDVVJJVFkgREVGSU5FUiBTRVQgZW5hYmxlX3Nv cnQ9dHJ1ZSBBUyAkQk9EWSQgQkVHSU4iIFwKICAgICAgICAgICAgICAgICAiIE5VTEw7IEVORDsg JEJPRFkkIgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdl cy9fX2luaXRfXy5weQppbmRleCBlZmE4OWZiNy4uYzhhOWE1YWQgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Bh Y2thZ2VzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL19faW5pdF9fLnB5CkBAIC05LDIz ICs5LDI1IEBACiAKICIiIkltcGxlbWVudHMgUGFja2FnZSBOb2RlIiIiCiBpbXBvcnQgcmUKLWlt cG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFwcwogCi1p bXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMg ZGF0YWJhc2UKK2ltcG9ydCBzaW1wbGVqc29uIGFzIGpzb24KIGZyb20gZmxhc2sgaW1wb3J0IHJl bmRlcl90ZW1wbGF0ZSwgbWFrZV9yZXNwb25zZSwgcmVxdWVzdCwganNvbmlmeQogZnJvbSBmbGFz a19iYWJlbCBpbXBvcnQgZ2V0dGV4dCBhcyBfCisKK2ltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2Vy dmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcyBhcyBkYXRhYmFzZQorZnJvbSBjb25maWcgaW1w b3J0IFBHX0RFRkFVTFRfRFJJVkVSCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgXAogICAgIGltcG9ydCBTY2hlbWFDaGls ZE1vZHVsZQogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnV0aWxz IGltcG9ydCBwYXJzZV9wcml2X2Zyb21fZGIsIFwKICAgICBwYXJzZV9wcml2X3RvX2RiCiBmcm9t IHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE5vZGVWaWV3Citmcm9tIHBnYWRt aW4udXRpbHMgaW1wb3J0IElTX1BZMgogZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1h a2VfanNvbl9yZXNwb25zZSwgXAogICAgIG1ha2VfcmVzcG9uc2UgYXMgYWpheF9yZXNwb25zZSwg aW50ZXJuYWxfc2VydmVyX2Vycm9yLCBcCiAgICAgcHJlY29uZGl0aW9uX3JlcXVpcmVkLCBnb25l CiBmcm9tIHBnYWRtaW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCi1mcm9tIGNvbmZp ZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKLWZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgSVNf UFkyCisKICMgSWYgd2UgYXJlIGluIFB5dGhvbjMKIGlmIG5vdCBJU19QWTI6CiAgICAgdW5pY29k ZSA9IHN0cgpAQCAtMTQ4LDcgKzE1MCw4IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNvbm5lY3Rpb24gdG8gdGhlIHNl cnZlciBoYXMgYmVlbiBsb3N0LiIKICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAg ICAgICAgICAgICAgKQotICAgICAgICAgICAgICAgIHNlbGYudGVtcGxhdGVfcGF0aCA9ICdwYWNr YWdlL3BwYXMvI3swfSMnLmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbikKKyAgICAgICAgICAg ICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAncGFja2FnZS9wcGFzLyN7MH0jJy5mb3JtYXQoCisg ICAgICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci52ZXJzaW9uKQogCiAgICAgICAgICAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAgICAgICAiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLCAnZ2V0X3NjaGVtYS5zcWwnXSksCkBAIC0xNzEsNyArMTc0LDgg QEAgY2xhc3MgUGFja2FnZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29u ZGl0aW9uKGFjdGlvbj0nbGlzdCcpCiAgICAgZGVmIGxpc3Qoc2VsZiwgZ2lkLCBzaWQsIGRpZCwg c2NpZCk6CiAgICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlz dCBhbGwgdGhlIHBhY2thZ2Ugbm9kZXMgd2l0aGluIHRoZSBjb2xsZWN0aW9uLgorICAgICAgICBU aGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIHBhY2thZ2Ugbm9kZXMgd2l0aGlu IHRoZQorICAgICAgICBjb2xsZWN0aW9uLgogCiAgICAgICAgIEFyZ3M6CiAgICAgICAgICAgZ2lk OiBTZXJ2ZXIgR3JvdXAgSUQKQEAgLTE4Miw3ICsxODYsOCBAQCBjbGFzcyBQYWNrYWdlVmlldyhQ R0NoaWxkTm9kZVZpZXcpOgogICAgICAgICBSZXR1cm5zOgogCiAgICAgICAgICIiIgotICAgICAg ICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3By b3BlcnRpZXMuc3FsJ10pLCBzY2lkPXNjaWQpCisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0 ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzY2lkPXNjaWQpCiAgICAgICAgIHN0YXR1cywgcmVz ID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAKICAgICAgICAgaWYgbm90IHN0YXR1czoK QEAgLTE5NSw3ICsyMDAsOCBAQCBjbGFzcyBQYWNrYWdlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgog ICAgIEBjaGVja19wcmVjb25kaXRpb24oYWN0aW9uPSdub2RlcycpCiAgICAgZGVmIG5vZGVzKHNl bGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIHBrZ2lkPU5vbmUpOgogICAgICAgICAiIiIKLSAgICAg ICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNyZWF0ZSBhbGwgdGhlIGNoaWxkIG5vZGVzIHdp dGhpbiB0aGUgY29sbGVjdGlvbi4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGNy ZWF0ZSBhbGwgdGhlIGNoaWxkIG5vZGVzIHdpdGhpbiB0aGUKKyAgICAgICAgY29sbGVjdGlvbi4K ICAgICAgICAgSGVyZSBpdCB3aWxsIGNyZWF0ZSBhbGwgdGhlIHBhY2thZ2Ugbm9kZXMuCiAKICAg ICAgICAgQXJnczoKQEAgLTIyMCw3ICsyMjYsNyBAQCBjbGFzcyBQYWNrYWdlVmlldyhQR0NoaWxk Tm9kZVZpZXcpOgogICAgICAgICBpZiBwa2dpZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGlm IGxlbihyc2V0Wydyb3dzJ10pID09IDA6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoCi0g ICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKCJDb3VsZCBub3QgZmluZCB0aGUgcGFja2Fn ZS4iKQorICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKCJDb3VsZCBub3QgZmluZCB0aGUg cGFja2FnZS4iKQogICAgICAgICAgICAgICAgICkKIAogICAgICAgICAgICAgcm93ID0gcnNldFsn cm93cyddWzBdCkBAIC0zMDUsNyArMzExLDggQEAgY2xhc3MgUGFja2FnZVZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgUmV0dXJuczoKIAogICAgICAgICAiIiIKLSAgICAgICAgU1FMID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVz LnNxbCddKSwgc2NpZD1zY2lkLCBwa2dpZD1wa2dpZCkKKyAgICAgICAgU1FMID0gcmVuZGVyX3Rl bXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwgcGtnaWQ9cGtnaWQpCiAg ICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAKICAgICAg ICAgaWYgbm90IHN0YXR1czoKQEAgLTMxNiw4ICszMjMsMTAgQEAgY2xhc3MgUGFja2FnZVZpZXco UEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKCJDb3VsZCBub3Qg ZmluZCB0aGUgcGFja2FnZSBpbiB0aGUgZGF0YWJhc2UuIikKICAgICAgICAgICAgICkKIAotICAg ICAgICByZXNbJ3Jvd3MnXVswXVsncGtnaGVhZHNyYyddID0gc2VsZi5nZXRfaW5uZXIocmVzWydy b3dzJ11bMF1bJ3BrZ2hlYWRzcmMnXSkKLSAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3BrZ2JvZHlz cmMnXSA9IHNlbGYuZ2V0X2lubmVyKHJlc1sncm93cyddWzBdWydwa2dib2R5c3JjJ10pCisgICAg ICAgIHJlc1sncm93cyddWzBdWydwa2doZWFkc3JjJ10gPSBzZWxmLmdldF9pbm5lcigKKyAgICAg ICAgICAgIHJlc1sncm93cyddWzBdWydwa2doZWFkc3JjJ10pCisgICAgICAgIHJlc1sncm93cydd WzBdWydwa2dib2R5c3JjJ10gPSBzZWxmLmdldF9pbm5lcigKKyAgICAgICAgICAgIHJlc1sncm93 cyddWzBdWydwa2dib2R5c3JjJ10pCiAKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIv Ii5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2NpZD1zY2lkLApAQCAtNDI1LDcgKzQzNCw5IEBAIGNsYXNzIFBhY2th Z2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBjYXNjYWRlID0gRmFsc2UKIAog ICAgICAgICB0cnk6Ci0gICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLCBzY2lkPXNjaWQsIHBrZ2lk PXBrZ2lkKQorICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAg ICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwgc2Np ZD1zY2lkLAorICAgICAgICAgICAgICAgIHBrZ2lkPXBrZ2lkKQogICAgICAgICAgICAgc3RhdHVz LCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKICAgICAgICAgICAgIGlmIG5vdCBz dGF0dXM6CiAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJv cm1zZz1yZXMpCkBAIC01NzEsNyArNTgyLDkgQEAgY2xhc3MgUGFja2FnZVZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKIAogICAgICAgICBpZiBwa2dpZCBpcyBub3QgTm9uZToKICAgICAgICAgICAgIGRh dGFbJ3NjaGVtYSddID0gc2VsZi5zY2hlbWEKLSAgICAgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1w bGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksIHNj aWQ9c2NpZCwgcGtnaWQ9cGtnaWQpCisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUo CisgICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3Byb3BlcnRp ZXMuc3FsJ10pLCBzY2lkPXNjaWQsCisgICAgICAgICAgICAgICAgcGtnaWQ9cGtnaWQpCiAgICAg ICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQogICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2Vy dmVyX2Vycm9yKGVycm9ybXNnPXJlcykKQEAgLTU4MCw4ICs1OTMsMTAgQEAgY2xhc3MgUGFja2Fn ZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Xygi Q291bGQgbm90IGZpbmQgdGhlIHBhY2thZ2UgaW4gdGhlIGRhdGFiYXNlLiIpCiAgICAgICAgICAg ICAgICAgKQogCi0gICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncGtnaGVhZHNyYyddID0gc2Vs Zi5nZXRfaW5uZXIocmVzWydyb3dzJ11bMF1bJ3BrZ2hlYWRzcmMnXSkKLSAgICAgICAgICAgIHJl c1sncm93cyddWzBdWydwa2dib2R5c3JjJ10gPSBzZWxmLmdldF9pbm5lcihyZXNbJ3Jvd3MnXVsw XVsncGtnYm9keXNyYyddKQorICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3BrZ2hlYWRzcmMn XSA9IHNlbGYuZ2V0X2lubmVyKAorICAgICAgICAgICAgICAgIHJlc1sncm93cyddWzBdWydwa2do ZWFkc3JjJ10pCisgICAgICAgICAgICByZXNbJ3Jvd3MnXVswXVsncGtnYm9keXNyYyddID0gc2Vs Zi5nZXRfaW5uZXIoCisgICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3BrZ2JvZHlzcmMn XSkKIAogICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRl bXBsYXRlX3BhdGgsICdhY2wuc3FsJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNjaWQ9c2NpZCwKQEAgLTYwMywxMSArNjE4LDE0IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBH Q2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBmb3Iga2V5IGluIFsncGtnYWNsJ106CiAgICAg ICAgICAgICAgICAgaWYga2V5IGluIGRhdGEgYW5kIGRhdGFba2V5XSBpcyBub3QgTm9uZToKICAg ICAgICAgICAgICAgICAgICAgaWYgJ2FkZGVkJyBpbiBkYXRhW2tleV06Ci0gICAgICAgICAgICAg ICAgICAgICAgICBkYXRhW2tleV1bJ2FkZGVkJ10gPSBwYXJzZV9wcml2X3RvX2RiKGRhdGFba2V5 XVsnYWRkZWQnXSwgc2VsZi5hY2wpCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1b J2FkZGVkJ10gPSBwYXJzZV9wcml2X3RvX2RiKAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGFba2V5XVsnYWRkZWQnXSwgc2VsZi5hY2wpCiAgICAgICAgICAgICAgICAgICAgIGlmICdj aGFuZ2VkJyBpbiBkYXRhW2tleV06Ci0gICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1b J2NoYW5nZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVtrZXldWydjaGFuZ2VkJ10sIHNlbGYu YWNsKQorICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydjaGFuZ2VkJ10gPSBwYXJz ZV9wcml2X3RvX2RiKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnY2hh bmdlZCddLCBzZWxmLmFjbCkKICAgICAgICAgICAgICAgICAgICAgaWYgJ2RlbGV0ZWQnIGluIGRh dGFba2V5XToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCddID0g cGFyc2VfcHJpdl90b19kYihkYXRhW2tleV1bJ2RlbGV0ZWQnXSwgc2VsZi5hY2wpCisgICAgICAg ICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0ZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIo CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydkZWxldGVkJ10sIHNlbGYu YWNsKQogCiAgICAgICAgICAgICAjIElmIG5hbWUgaXMgbm90IHByZXNlbnQgd2l0aCBpbiB1cGRh dGUgZGF0YSB0aGVuIGNvcHkgaXQKICAgICAgICAgICAgICMgZnJvbSBvbGQgZGF0YQpAQCAtNjIz LDcgKzY0MSw4IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAg ICAgICBpZiAncGtnYWNsJyBpbiBkYXRhOgogICAgICAgICAgICAgICAgIGRhdGFbJ3BrZ2FjbCdd ID0gcGFyc2VfcHJpdl90b19kYihkYXRhWydwa2dhY2wnXSwgc2VsZi5hY2wpCiAKLSAgICAgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAn Y3JlYXRlLnNxbCddKSwgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubikKKyAgICAgICAgICAgIFNR TCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCAnY3JlYXRl LnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRhdGEsIGNv bm49c2VsZi5jb25uKQogCiAgICAgICAgICAgICByZXR1cm4gU1FMLCBkYXRhWyduYW1lJ10KIApA QCAtNjQwLDcgKzY1OSw5IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAg ICAgICAgICAgICBwa2dpZDogUGFja2FnZSBJRAogICAgICAgICAiIiIKICAgICAgICAgdHJ5Ogot ICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRl X3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwgc2NpZD1zY2lkLCBwa2dpZD1wa2dpZCkKKyAgICAg ICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAiLyIuam9pbihb c2VsZi50ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksIHNjaWQ9c2NpZCwKKyAgICAg ICAgICAgICAgICBwa2dpZD1wa2dpZCkKICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5j b25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQpAQCAt NjQ5LDggKzY3MCwxMCBAQCBjbGFzcyBQYWNrYWdlVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAg ICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKCJDb3VsZCBub3QgZmluZCB0aGUgcGFja2FnZSBp biB0aGUgZGF0YWJhc2UuIikKICAgICAgICAgICAgICAgICApCiAKLSAgICAgICAgICAgIHJlc1sn cm93cyddWzBdWydwa2doZWFkc3JjJ10gPSBzZWxmLmdldF9pbm5lcihyZXNbJ3Jvd3MnXVswXVsn cGtnaGVhZHNyYyddKQotICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3BrZ2JvZHlzcmMnXSA9 IHNlbGYuZ2V0X2lubmVyKHJlc1sncm93cyddWzBdWydwa2dib2R5c3JjJ10pCisgICAgICAgICAg ICByZXNbJ3Jvd3MnXVswXVsncGtnaGVhZHNyYyddID0gc2VsZi5nZXRfaW5uZXIoCisgICAgICAg ICAgICAgICAgcmVzWydyb3dzJ11bMF1bJ3BrZ2hlYWRzcmMnXSkKKyAgICAgICAgICAgIHJlc1sn cm93cyddWzBdWydwa2dib2R5c3JjJ10gPSBzZWxmLmdldF9pbm5lcigKKyAgICAgICAgICAgICAg ICByZXNbJ3Jvd3MnXVswXVsncGtnYm9keXNyYyddKQogCiAgICAgICAgICAgICBTUUwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2FjbC5zcWwnXSksCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpZD1zY2lkLApAQCAtNjg2LDcgKzcw OSw3IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICBy ZXR1cm4gYWpheF9yZXNwb25zZShyZXNwb25zZT1zcWwpCiAKICAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgotICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9c3RyKGUpKQorICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJv cihlcnJvcm1zZz1zdHIoZSkpCiAKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uKGFjdGlvbj0iZGVw ZW5kZW50cyIpCiAgICAgZGVmIGRlcGVuZGVudHMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwg cGtnaWQpOgpAQCAtNzQ1LDQgKzc2OCw1IEBAIGNsYXNzIFBhY2thZ2VWaWV3KFBHQ2hpbGROb2Rl Vmlldyk6CiAKICAgICAgICAgcmV0dXJuIHNxbFtzdGFydDplbmRdLnN0cmlwKCJcbiIpCiAKKwog UGFja2FnZVZpZXcucmVnaXN0ZXJfbm9kZV92aWV3KGJsdWVwcmludCkKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3BhY2thZ2VzL2VkYmZ1bmNzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvZWRiZnVuY3MvX19p bml0X18ucHkKaW5kZXggNjAwYTIyMzQuLjNiN2UwYmU2IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdl cy9lZGJmdW5jcy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdlcy9lZGJmdW5jcy9fX2luaXRf Xy5weQpAQCAtMTMsOSArMTMsMTIgQEAgaW1wb3J0IGNvcHkKIGltcG9ydCByZQogZnJvbSBmdW5j dG9vbHMgaW1wb3J0IHdyYXBzCiAKLWltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnBhY2thZ2VzIGFzIHBhY2thZ2VzCiBmcm9tIGZs YXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUsIG1ha2VfcmVzcG9uc2UKIGZyb20gZmxhc2tfYmFi ZWwgaW1wb3J0IGdldHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzXAorICAgIC5zY2hlbWFzLnBhY2thZ2VzIGFzIHBhY2thZ2VzCitm cm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93c2Vy LmNvbGxlY3Rpb24gaW1wb3J0IENvbGxlY3Rpb25Ob2RlTW9kdWxlCiBmcm9tIHBnYWRtaW4uYnJv d3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudXRpbHMgaW1wb3J0 IFwKICAgICBEYXRhVHlwZVJlYWRlcgpAQCAtMjYsOCArMjksNiBAQCBmcm9tIHBnYWRtaW4udXRp bHMuYWpheCBpbXBvcnQgcHJlY29uZGl0aW9uX3JlcXVpcmVkCiBmcm9tIHBnYWRtaW4udXRpbHMu ZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCiBmcm9tIHBnYWRtaW4udXRpbHMucHJlZmVyZW5jZXMg aW1wb3J0IFByZWZlcmVuY2VzCiAKLWZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZF UgotCiAKIGNsYXNzIEVkYkZ1bmNNb2R1bGUoQ29sbGVjdGlvbk5vZGVNb2R1bGUpOgogICAgICIi IgpAQCAtMTI1LDggKzEyNiw4IEBAIGNsYXNzIEVkYkZ1bmNWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogICAgICIiIgogICAgIGNsYXNzIEVkYkZ1bmNWaWV3KFBHQ2hpbGRO b2RlVmlldywgRGF0YVR5cGVSZWFkZXIpCiAKLSAgICBUaGlzIGNsYXNzIGluaGVyaXRzIFBHQ2hp bGROb2RlVmlldyBhbmQgRGF0YVR5cGVSZWFkZXIgdG8gZ2V0IHRoZSBkaWZmZXJlbnQgcm91dGVz IGZvcgotICAgIHRoZSBtb2R1bGUuCisgICAgVGhpcyBjbGFzcyBpbmhlcml0cyBQR0NoaWxkTm9k ZVZpZXcgYW5kIERhdGFUeXBlUmVhZGVyIHRvIGdldCB0aGUgZGlmZmVyZW50CisgICAgcm91dGVz IGZvciB0aGUgbW9kdWxlLgogCiAgICAgVGhlIGNsYXNzIGlzIHJlc3BvbnNpYmxlIHRvIENyZWF0 ZSwgUmVhZCwgVXBkYXRlIGFuZCBEZWxldGUgb3BlcmF0aW9ucyBmb3IKICAgICB0aGUgRnVuY3Rp b25zLgpAQCAtNDYxLDcgKzQ2Miw3IEBAIGNsYXNzIEVkYkZ1bmNWaWV3KFBHQ2hpbGROb2RlVmll dywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgcHJvYXJnbmFtZXNbaV0gaWYgbGVuKHBy b2FyZ25hbWVzKSA+IGkgZWxzZSAnJywKICAgICAgICAgICAgIHByb2FyZ2RlZmF1bHR2YWxzW2ld IGlmIGxlbihwcm9hcmdkZWZhdWx0dmFscykgPiBpIGVsc2UgJycKICAgICAgICAgKQotICAgICAg ICAgICAgICAgICAgIGZvciBpIGluIHJhbmdlKGxlbihwcm9hcmd0eXBlcykpXQorICAgICAgICAg ICAgZm9yIGkgaW4gcmFuZ2UobGVuKHByb2FyZ3R5cGVzKSldCiAKICAgICAgICAgcHJvYXJncyA9 IHsicHJvYXJncyI6ICIsICIuam9pbihwcm9hcmdzKX0KIApAQCAtNTI5LDkgKzUzMCwxMCBAQCBj bGFzcyBFZGJGdW5jVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAg ICAgICAgIHNjaWQ6IFNjaGVtYSBJZAogICAgICAgICAgICAgZm5pZDogRnVuY3Rpb24gSWQKICAg ICAgICAgIiIiCi0gICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi5z cWxfdGVtcGxhdGVfcGF0aCwgJ2dldF9ib2R5LnNxbCddKSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNjaWQ9c2NpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBrZ2lk PXBrZ2lkKQorICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAiLyIu am9pbihbc2VsZi5zcWxfdGVtcGxhdGVfcGF0aCwgJ2dldF9ib2R5LnNxbCddKSwKKyAgICAgICAg ICAgIHNjaWQ9c2NpZCwKKyAgICAgICAgICAgIHBrZ2lkPXBrZ2lkKQogCiAgICAgICAgIHN0YXR1 cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAgICAgIGlmIG5vdCBzdGF0 dXM6CkBAIC02MjAsNiArNjIyLDcgQEAgY2xhc3MgRWRiRnVuY1ZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAgcmV0dXJuIHNxbFtzdGFydDplbmRdLnN0cmlw KCJcbiIpCiAKKwogRWRiRnVuY1ZpZXcucmVnaXN0ZXJfbm9kZV92aWV3KGJsdWVwcmludCkKIAog CkBAIC03MDksNiArNzEyLDcgQEAgY2xhc3MgRWRiUHJvY01vZHVsZShDb2xsZWN0aW9uTm9kZU1v ZHVsZSk6CiAgICAgICAgICIiIgogICAgICAgICByZXR1cm4gRmFsc2UKIAorCiBwcm9jZWR1cmVf Ymx1ZXByaW50ID0gRWRiUHJvY01vZHVsZShfX25hbWVfXykKIAogCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9w YWNrYWdlcy9lZGJ2YXJzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvZWRidmFycy9fX2luaXRf Xy5weQppbmRleCBhMzJkM2IyZC4uODc1ODEyM2IgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL2Vk YnZhcnMvX19pbml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvZWRidmFycy9fX2luaXRfXy5weQpA QCAtOSwxMiArOSwxNCBAQAogCiAiIiJJbXBsZW1lbnRzIEVkYiBGdW5jdGlvbnMvRWRiIFByb2Nl ZHVyZXMgTm9kZS4iIiIKIAotaW1wb3J0IGNvcHkKIGZyb20gZnVuY3Rvb2xzIGltcG9ydCB3cmFw cwogCi1pbXBvcnQgcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFz ZXMuc2NoZW1hcy5wYWNrYWdlcyBhcyBwYWNrYWdlcwogZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVy X3RlbXBsYXRlLCBtYWtlX3Jlc3BvbnNlCiBmcm9tIGZsYXNrX2JhYmVsIGltcG9ydCBnZXR0ZXh0 CisKK2ltcG9ydCBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNl cy5zY2hlbWFzIFwKKyAgICAucGFja2FnZXMgYXMgcGFja2FnZXMKK2Zyb20gY29uZmlnIGltcG9y dCBQR19ERUZBVUxUX0RSSVZFUgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuY29sbGVjdGlvbiBpbXBv cnQgQ29sbGVjdGlvbk5vZGVNb2R1bGUKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBpbXBvcnQgXAogICAgIERhdGFUeXBl UmVhZGVyCkBAIC0yNCw4ICsyNiw2IEBAIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBt YWtlX2pzb25fcmVzcG9uc2UsIFwKIGZyb20gcGdhZG1pbi51dGlscy5hamF4IGltcG9ydCBwcmVj b25kaXRpb25fcmVxdWlyZWQKIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9k cml2ZXIKIAotZnJvbSBjb25maWcgaW1wb3J0IFBHX0RFRkFVTFRfRFJJVkVSCi0KIAogY2xhc3Mg RWRiVmFyTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxlKToKICAgICAiIiIKQEAgLTk5LDYgKzk5 LDcgQEAgY2xhc3MgRWRiVmFyTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxlKToKICAgICAgICAg IiIiCiAgICAgICAgIHJldHVybiBGYWxzZQogCisKIGJsdWVwcmludCA9IEVkYlZhck1vZHVsZShf X25hbWVfXykKIAogCkBAIC0xMDYsNyArMTA3LDggQEAgY2xhc3MgRWRiVmFyVmlldyhQR0NoaWxk Tm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAiIiIKICAgICBjbGFzcyBFZGJGdW5jVmll dyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKQogCi0gICAgVGhpcyBjbGFzcyBpbmhl cml0cyBQR0NoaWxkTm9kZVZpZXcgYW5kIERhdGFUeXBlUmVhZGVyIHRvIGdldCB0aGUgZGlmZmVy ZW50IHJvdXRlcyBmb3IKKyAgICBUaGlzIGNsYXNzIGluaGVyaXRzIFBHQ2hpbGROb2RlVmlldyBh bmQgRGF0YVR5cGVSZWFkZXIgdG8gZ2V0IHRoZSBkaWZmZXJlbnQKKyAgICByb3V0ZXMgZm9yCiAg ICAgdGhlIG1vZHVsZS4KIAogICAgIFRoZSBjbGFzcyBpcyByZXNwb25zaWJsZSB0byBDcmVhdGUs IFJlYWQsIFVwZGF0ZSBhbmQgRGVsZXRlIG9wZXJhdGlvbnMgZm9yCkBAIC0zMTUsOSArMzE3LDEw IEBAIGNsYXNzIEVkYlZhclZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAg ICAgICAgICAgICBwa2dpZDogUGFja2FnZSBJZAogICAgICAgICAgICAgdmFyaWQ6IHZhcmlhYmxl IElkCiAgICAgICAgICIiIgotICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYuc3FsX3RlbXBsYXRlX3BhdGgsICdwcm9wZXJ0aWVzLnNxbCddKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhcmlkPXZhcmlkLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcGtnaWQ9cGtnaWQpCisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAg ICAgICAgICIvIi5qb2luKFtzZWxmLnNxbF90ZW1wbGF0ZV9wYXRoLCAncHJvcGVydGllcy5zcWwn XSksCisgICAgICAgICAgICB2YXJpZD12YXJpZCwKKyAgICAgICAgICAgIHBrZ2lkPXBrZ2lkKQog CiAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAg ICAgIGlmIG5vdCBzdGF0dXM6CkBAIC0zMzUsNCArMzM4LDUgQEAgY2xhc3MgRWRiVmFyVmlldyhQ R0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKIAogICAgICAgICByZXR1cm4gYWpheF9y ZXNwb25zZShyZXNwb25zZT1zcWwpCiAKKwogRWRiVmFyVmlldy5yZWdpc3Rlcl9ub2RlX3ZpZXco Ymx1ZXByaW50KQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvdGVzdHMvdGVzdF9wYWNrYWdlX2Rl bGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3BhY2thZ2VzL3Rlc3RzL3Rlc3RfcGFja2FnZV9kZWxldGUucHkKaW5kZXgg YjczZTM5ODUuLjI4ZGJkMWY1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdlcy90ZXN0cy90ZXN0X3Bh Y2thZ2VfZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL3Rlc3RzL3Rlc3RfcGFja2FnZV9kZWxl dGUucHkKQEAgLTM1LDcgKzM1LDcgQEAgY2xhc3MgUGFja2FnZURlbGV0ZVRlc3RDYXNlKEJhc2VU ZXN0R2VuZXJhdG9yKToKICAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzY2hlbWFfaW5mb1sic2No ZW1hX2lkIl0KICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSA9IHNjaGVtYV9pbmZvWyJzY2hlbWFf bmFtZSJdCiAgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNl Il1bLTFdWyJkYl9uYW1lIl0KLSAgICAgICAgc2VsZi5wa2dfbmFtZT0gInBrZ18lcyIgJSBzdHIo dXVpZC51dWlkNCgpKVsxOjhdCisgICAgICAgIHNlbGYucGtnX25hbWUgPSAicGtnXyVzIiAlIHN0 cih1dWlkLnV1aWQ0KCkpWzE6OF0KICAgICAgICAgc2VsZi5wcm9jX25hbWUgPSAicHJvY18lcyIg JSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCiAgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2NoZW1h X2luZm9bInNlcnZlcl9pZCJdCiAgICAgICAgIHNlbGYuZGJfaWQgPSBzY2hlbWFfaW5mb1siZGJf aWQiXQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvdGVzdHMvdGVzdF9wYWNrYWdlX2dldC5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3BhY2thZ2VzL3Rlc3RzL3Rlc3RfcGFja2FnZV9nZXQucHkKaW5kZXggOGIzYzJiMTguLmMw MjA0NWMxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdlcy90ZXN0cy90ZXN0X3BhY2thZ2VfZ2V0LnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3BhY2thZ2VzL3Rlc3RzL3Rlc3RfcGFja2FnZV9nZXQucHkKQEAgLTM1LDcgKzM1 LDcgQEAgY2xhc3MgUGFja2FnZUdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAg ICAgc2VsZi5zY2hlbWFfaWQgPSBzY2hlbWFfaW5mb1sic2NoZW1hX2lkIl0KICAgICAgICAgc2Vs Zi5zY2hlbWFfbmFtZSA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfbmFtZSJdCiAgICAgICAgIHNlbGYu ZGJfbmFtZSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KLSAg ICAgICAgc2VsZi5wa2dfbmFtZT0gInBrZ18lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCisg ICAgICAgIHNlbGYucGtnX25hbWUgPSAicGtnXyVzIiAlIHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0K ICAgICAgICAgc2VsZi5wcm9jX25hbWUgPSAicHJvY18lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsx OjhdCiAgICAgICAgIHNlbGYuc2VydmVyX2lkID0gc2NoZW1hX2luZm9bInNlcnZlcl9pZCJdCiAg ICAgICAgIHNlbGYuZGJfaWQgPSBzY2hlbWFfaW5mb1siZGJfaWQiXQpAQCAtNzAsMTEgKzcwLDEz IEBAIGNsYXNzIFBhY2thZ2VHZXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg IGlmIG5vdCBzY2hlbWFfcmVzcG9uc2U6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNv dWxkIG5vdCBmaW5kIHRoZSBzY2hlbWEuIikKIAotICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmdldChzZWxmLnVybAotICAgICAgICAgICAgICAgICAgICArIHN0cih1dGlscy5TRVJWRVJf R1JPVVApICsgJy8nICsKLSAgICAgICAgICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSAr ICcvJyArIHN0cihzZWxmLmRiX2lkKSArICcvJyArCi0gICAgICAgICAgICAgICAgICAgIHN0cihz ZWxmLnNjaGVtYV9pZCkgKyAnLycgKyBzdHIoc2VsZi5wYWNrYWdlX2lkKSwKLSAgICAgICAgICAg ICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICByZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldChzZWxmLnVybCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLmRiX2lkKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLnNjaGVtYV9pZCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5wYWNrYWdlX2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n KQogCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDAp CiAKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3BhY2thZ2VzL3Rlc3RzL3Rlc3RfcGFja2FnZV9wdXQucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9wYWNrYWdlcy90ZXN0cy90ZXN0X3BhY2thZ2VfcHV0LnB5CmluZGV4IDdjMmIwMGVjLi5mZDBj YmY1MCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvdGVzdHMvdGVzdF9wYWNrYWdlX3B1dC5weQor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9wYWNrYWdlcy90ZXN0cy90ZXN0X3BhY2thZ2VfcHV0LnB5CkBAIC0zNiw3ICszNiw3 IEBAIGNsYXNzIFBhY2thZ2VQdXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg IHNlbGYuc2NoZW1hX2lkID0gc2NoZW1hX2luZm9bInNjaGVtYV9pZCJdCiAgICAgICAgIHNlbGYu c2NoZW1hX25hbWUgPSBzY2hlbWFfaW5mb1sic2NoZW1hX25hbWUiXQogICAgICAgICBzZWxmLmRi X25hbWUgPSBwYXJlbnRfbm9kZV9kaWN0WyJkYXRhYmFzZSJdWy0xXVsiZGJfbmFtZSJdCi0gICAg ICAgIHNlbGYucGtnX25hbWU9ICJwa2dfJXMiICUgc3RyKHV1aWQudXVpZDQoKSlbMTo4XQorICAg ICAgICBzZWxmLnBrZ19uYW1lID0gInBrZ18lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCiAg ICAgICAgIHNlbGYucHJvY19uYW1lID0gInByb2NfJXMiICUgc3RyKHV1aWQudXVpZDQoKSlbMTo4 XQogICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJfaWQiXQogICAg ICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lkIl0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Bh Y2thZ2VzL3Rlc3RzL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvcGFja2FnZXMvdGVzdHMvdXRpbHMucHkKaW5kZXgg NDQ2NWU0YzcuLjgwYmFjNmYyIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9wYWNrYWdlcy90ZXN0cy91dGlscy5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9wYWNrYWdlcy90ZXN0cy91dGlscy5weQpAQCAtMzgsOCArMzgsOSBAQCBkZWYg Y3JlYXRlX3BhY2thZ2Uoc2VydmVyLCBkYl9uYW1lLCBzY2hlbWFfbmFtZSwgcGtnX25hbWUsIHBy b2NfbmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZXJ2ZXJbJ3NzbG1vZGUnXSkKICAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3Io KQogICAgICAgICBxdWVyeSA9ICJDUkVBVEUgT1IgUkVQTEFDRSBQQUNLQUdFICVzLiVzIElTIFBS T0NFRFVSRSAlcygpOyBFTkQgJXM7ICIgXAotICAgICAgICAgICAgICAgICJDUkVBVEUgT1IgUkVQ TEFDRSBQQUNLQUdFIEJPRFkgJXMuJXMgSVMgUFJPQ0VEVVJFICVzKCkgSVMgQkVHSU4gIiBcCi0g ICAgICAgICAgICAgICAgImRibXNfb3V0cHV0LnB1dF9saW5lKCdUZXN0X3BrZy5Qcm9jLi4uJyk7 IEVORDsgRU5EICVzOyIgJSBcCisgICAgICAgICAgICAgICAgIkNSRUFURSBPUiBSRVBMQUNFIFBB Q0tBR0UgQk9EWSAlcy4lcyBJUyBQUk9DRURVUkUgJXMoKSBJUyAiIFwKKyAgICAgICAgICAgICAg ICAiQkVHSU4gZGJtc19vdXRwdXQucHV0X2xpbmUoJ1Rlc3RfcGtnLlByb2MuLi4nKTsgRU5EOyAi IFwKKyAgICAgICAgICAgICAgICAiRU5EICVzOyIgJSBcCiAgICAgICAgICAgICAgICAgKHNjaGVt YV9uYW1lLCBwa2dfbmFtZSwgcHJvY19uYW1lLCBwa2dfbmFtZSwgc2NoZW1hX25hbWUsCiAgICAg ICAgICAgICAgICAgIHBrZ19uYW1lLCBwcm9jX25hbWUsIHBrZ19uYW1lKQogCmRpZmYgLS1naXQg YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9zeW5vbnltcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL19faW5pdF9fLnB5CmluZGV4 IDQ3ZDIyYTc0Li45NDA2MmRlNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc3lub255bXMvX19pbml0X18ucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvc3lub255bXMvX19pbml0X18ucHkKQEAgLTI0LDYgKzI0LDcgQEAgZnJvbSBwZ2Fk bWluLnV0aWxzLmFqYXggaW1wb3J0IHByZWNvbmRpdGlvbl9yZXF1aXJlZAogZnJvbSBwZ2FkbWlu LnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgogZnJvbSBjb25maWcgaW1wb3J0IFBHX0RF RkFVTFRfRFJJVkVSCiBmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IElTX1BZMgorCiAjIElmIHdl IGFyZSBpbiBQeXRob24zCiBpZiBub3QgSVNfUFkyOgogICAgIHVuaWNvZGUgPSBzdHIKQEAgLTIw Myw3ICsyMDQsOCBAQCBjbGFzcyBTeW5vbnltVmlldyhQR0NoaWxkTm9kZVZpZXcpOgogICAgICAg ICAgICAgICAgICkKIAogICAgICAgICAgICAgIyB3ZSB3aWxsIHNldCB0ZW1wbGF0ZSBwYXRoIGZv ciBzcWwgc2NyaXB0cwotICAgICAgICAgICAgc2VsZi50ZW1wbGF0ZV9wYXRoID0gJ3N5bm9ueW0v c3FsLyN7MH0jJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNpb24pCisgICAgICAgICAgICBzZWxm LnRlbXBsYXRlX3BhdGggPSAnc3lub255bS9zcWwvI3swfSMnLmZvcm1hdCgKKyAgICAgICAgICAg ICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbikKIAogICAgICAgICAgICAgcmV0dXJuIGYoKmFyZ3Ms ICoqa3dhcmdzKQogCkBAIC0yMTIsNyArMjE0LDggQEAgY2xhc3MgU3lub255bVZpZXcoUEdDaGls ZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIGxpc3Qoc2VsZiwg Z2lkLCBzaWQsIGRpZCwgc2NpZCk6CiAgICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9u IGlzIHVzZWQgdG8gbGlzdCBhbGwgdGhlIHN5bm9ueW0gbm9kZXMgd2l0aGluIHRoYXQgY29sbGVj dGlvbi4KKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSBzeW5v bnltIG5vZGVzIHdpdGhpbiB0aGF0CisgICAgICAgIGNvbGxlY3Rpb24uCiAKICAgICAgICAgQXJn czoKICAgICAgICAgICAgIGdpZDogU2VydmVyIGdyb3VwIElECkBAIC0yMzgsNyArMjQxLDggQEAg Y2xhc3MgU3lub255bVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICBAY2hlY2tfcHJlY29uZGl0 aW9uCiAgICAgZGVmIG5vZGVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQpOgogICAgICAgICAi IiIKLSAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hp bGQgbm9kZSB3aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdp bGwgdXNlZCB0byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbiB0aGF0CisgICAgICAg IGNvbGxlY3Rpb24uCiAgICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSBzeW5vbnlt IG5vZGUuCiAKICAgICAgICAgQXJnczoKQEAgLTMzNSwxOSArMzM5LDIzIEBAIGNsYXNzIFN5bm9u eW1WaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKIAog ICAgICAgICBpc192YWxpZF9yZXF1ZXN0ID0gVHJ1ZQotICAgICAgICBpZiAndHJnVHlwJyBub3Qg aW4gZGF0YSBvciBkYXRhWyd0cmdUeXAnXSBpcyBOb25lIG9yIFwKLSAgICAgICAgICAgIGRhdGFb J3RyZ1R5cCddLnN0cmlwKCkgPT0gJyc6CisgICAgICAgIGlmICgKKyAgICAgICAgICAgICd0cmdU eXAnIG5vdCBpbiBkYXRhIG9yIGRhdGFbJ3RyZ1R5cCddIGlzIE5vbmUgb3IKKyAgICAgICAgICAg IGRhdGFbJ3RyZ1R5cCddLnN0cmlwKCkgPT0gJycKKyAgICAgICAgKToKICAgICAgICAgICAgIGlz X3ZhbGlkX3JlcXVlc3QgPSBGYWxzZQogCi0gICAgICAgIGlmICd0cmdTY2hlbWEnIG5vdCBpbiBk YXRhIG9yIGRhdGFbJ3RyZ1NjaGVtYSddIGlzIE5vbmUgb3IgXAotICAgICAgICAgICAgZGF0YVsn dHJnU2NoZW1hJ10uc3RyaXAoKSA9PSAnJzoKKyAgICAgICAgaWYgKAorICAgICAgICAgICAgJ3Ry Z1NjaGVtYScgbm90IGluIGRhdGEgb3IgZGF0YVsndHJnU2NoZW1hJ10gaXMgTm9uZSBvcgorICAg ICAgICAgICAgZGF0YVsndHJnU2NoZW1hJ10uc3RyaXAoKSA9PSAnJworICAgICAgICApOgogICAg ICAgICAgICAgaXNfdmFsaWRfcmVxdWVzdCA9IEZhbHNlCiAKICAgICAgICAgaWYgaXNfdmFsaWRf cmVxdWVzdDoKICAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2Vs Zi50ZW1wbGF0ZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnZ2V0X29iamVjdHMuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB0cmdUeXA9ZGF0YVsndHJnVHlwJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRyZ1NjaGVtYT1kYXRhWyd0cmdTY2hlbWEnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0cmdUeXA9ZGF0YVsndHJnVHlwJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdHJnU2NoZW1hPWRhdGFbJ3RyZ1NjaGVtYSddKQogICAgICAgICAgICAgc3RhdHVz LCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCiAKICAgICAgICAgICAgIGlmIG5v dCBzdGF0dXM6CkBAIC02NDIsNyArNjUwLDcgQEAgY2xhc3MgU3lub255bVZpZXcoUEdDaGlsZE5v ZGVWaWV3KToKICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jt c2c9cmVzKQogCiAgICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPiAwOgotICAgICAgICAgICBk YXRhID0gcmVzWydyb3dzJ11bMF0KKyAgICAgICAgICAgIGRhdGEgPSByZXNbJ3Jvd3MnXVswXQog ICAgICAgICBlbHNlOgogICAgICAgICAgICAgcmV0dXJuIGdvbmUoCiAgICAgICAgICAgICAgICAg Z2V0dGV4dCgnVGhlIHNwZWNpZmllZCBzeW5vbnltIGNvdWxkIG5vdCBiZSBmb3VuZC4nKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvc3lub255bXMvdGVzdHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9zeW5vbnltcy90ZXN0 cy9fX2luaXRfXy5weQppbmRleCAzZDI1NjY4MS4uM2NhYzQ0ZjcgMTAwNjQ0Ci0tLSBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5 bm9ueW1zL3Rlc3RzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL3Rlc3RzL19faW5pdF9f LnB5CkBAIC0xNCw0ICsxNCwzIEBAIGNsYXNzIFN5bm9ueW1UZXN0R2VuZXJhdG9yKEJhc2VUZXN0 R2VuZXJhdG9yKToKIAogICAgIGRlZiBnZW5lcmF0ZV90ZXN0cyhzZWxmKToKICAgICAgICAgcmV0 dXJuCi0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3N5bm9ueW1zL3Rlc3RzL3Rlc3Rfc3lub255bV9hZGQucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9zeW5vbnltcy90ZXN0cy90ZXN0X3N5bm9ueW1fYWRkLnB5CmluZGV4IDA3YzE5NGRkLi41 MTdiNjQ1MyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvc3lub255bXMvdGVzdHMvdGVzdF9zeW5vbnltX2FkZC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9zeW5vbnltcy90ZXN0cy90ZXN0X3N5bm9ueW1fYWRkLnB5CkBAIC03Miw4ICs3 Miw4IEBAIGNsYXNzIFN5bm9ueW1BZGRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAg ICAgIH0KIAogICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoCi0gICAgICAgICAg ICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsgc3RyKHNlbGYuc2Vy dmVyX2lkKQotICAgICAgICAgICAgKyAnLycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKyBzdHIo c2VsZi5zY2hlbWFfaWQpICsgJy8nLAorICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRpbHMu U0VSVkVSX0dST1VQKSArICcvJyArIHN0cihzZWxmLnNlcnZlcl9pZCkgKworICAgICAgICAgICAg Jy8nICsgc3RyKHNlbGYuZGJfaWQpICsgJy8nICsgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJywK ICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwgY29udGVudF90eXBlPSdodG1sL2pz b24nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAw KQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvX19pbml0 X18ucHkKaW5kZXggMmJkMzBkMWMuLjExNjBjZmJiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvX19p bml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL19faW5pdF9fLnB5CkBAIC0zNDksNyArMzQ5LDYgQEAg Y2xhc3MgVGFibGVWaWV3KEJhc2VUYWJsZVZpZXcsIERhdGFUeXBlUmVhZGVyLCBWYWN1dW1TZXR0 aW5ncyk6CiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICByZXR1cm4gaW50ZXJu YWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJzZXQpCiAKLQogICAgICAgICBmb3Igcm93IGluIHJz ZXRbJ3Jvd3MnXToKICAgICAgICAgICAgIGlmICdpc19wYXJ0aXRpb25lZCcgaW4gcm93IGFuZCBy b3dbJ2lzX3BhcnRpdGlvbmVkJ106CiAgICAgICAgICAgICAgICAgaWNvbiA9ICJpY29uLXBhcnRp dGlvbiIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVzdHMvdGVzdF9jb2x1bW5fbXNx bC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVzdHMvdGVzdF9jb2x1bW5fbXNxbC5weQppbmRleCAz Y2RjMjkyZC4uMGNiY2FmMTEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVzdHMvdGVz dF9jb2x1bW5fbXNxbC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29sdW1uL3Rlc3RzL3Rlc3RfY29sdW1u X21zcWwucHkKQEAgLTE2NywxNiArMTY3LDE5IEBAIGNsYXNzIENvbHVtbk1zcWxUZXN0Q2FzZShC YXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgIGlmIG5vdCBleHBlY3RlZF9wcmVjaXNpb24gYW5k IGhhc2F0dHIoc2VsZiwgJ29sZF9wcmVjaXNpb24nKToKICAgICAgICAgICAgIGV4cGVjdGVkX3By ZWNpc2lvbiA9IHNlbGYub2xkX3ByZWNpc2lvbgogCi0gICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHJlc3BvbnNlX2RhdGFbJ2RhdGEnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5l eHBlY3RlZF9yZXMuZm9ybWF0KAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipkaWN0 KFsoJ3NjaGVtYScsIHNlbGYuc2NoZW1hX25hbWUpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoJ3RhYmxlJywgc2VsZi50YWJsZV9uYW1lKSwKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKCdjb2x1bW4nLCBzZWxmLmNvbHVtbl9uYW1lKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCdsZW4nLCBleHBlY3RlZF9sZW4p LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ3ByZWNpc2lvbicsIGV4 cGVjdGVkX3ByZWNpc2lvbikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgKSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoCisgICAgICAgICAgICBy ZXNwb25zZV9kYXRhWydkYXRhJ10sCisgICAgICAgICAgICBzZWxmLmV4cGVjdGVkX3Jlcy5mb3Jt YXQoCisgICAgICAgICAgICAgICAgKipkaWN0KAorICAgICAgICAgICAgICAgICAgICBbKCdzY2hl bWEnLCBzZWxmLnNjaGVtYV9uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICgndGFibGUnLCBz ZWxmLnRhYmxlX25hbWUpLAorICAgICAgICAgICAgICAgICAgICAgKCdjb2x1bW4nLCBzZWxmLmNv bHVtbl9uYW1lKSwKKyAgICAgICAgICAgICAgICAgICAgICgnbGVuJywgZXhwZWN0ZWRfbGVuKSwK KyAgICAgICAgICAgICAgICAgICAgICgncHJlY2lzaW9uJywgZXhwZWN0ZWRfcHJlY2lzaW9uKQor ICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkK KyAgICAgICAgKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYpOgogICAgICAgICAjIERpc2Nvbm5l Y3QgdGhlIGRhdGFiYXNlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9kZWxldGUu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9kZWxldGUucHkKaW5kZXggYzRhZGE2ZmEuLmFlOGUw NDdiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3NjaGVtYV9kZWxldGUucHkKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGVzdHMvdGVzdF9zY2hlbWFfZGVsZXRlLnB5CkBAIC01Niw4ICs1Niw4IEBAIGNsYXNzIFNjaGVt YURlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgaWYgbm90IHNjaGVt YV9yZXNwb25zZToKICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQg dGhlIHNjaGVtYSB0byBkZWxldGUuIikKIAotICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LmRlbGV0ZShzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICsgJy8nICsgc3RyKHNlcnZlcl9pZCkgKyAnLycgKwor ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cih1dGls cy5TRVJWRVJfR1JPVVApICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Jy8nICsgc3RyKHNlcnZlcl9pZCkgKyAnLycgKwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsgc3RyKHNjaGVtYV9pZCksCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3Rlc3RzL3Rlc3RfdXRpbHMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0X3V0aWxzLnB5CmluZGV4 IDc1NTBjZTRkLi44MjZjMDAzYyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF91dGlscy5weQor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90ZXN0cy90ZXN0X3V0aWxzLnB5CkBAIC05LDcgKzksOCBAQAogCiBpbXBvcnQgc3lz CiAKLWZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMu c2NoZW1hcy51dGlscyBpbXBvcnQgRGF0YVR5cGVSZWFkZXIKK2Zyb20gcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBpbXBvcnQgXAor ICAgIERhdGFUeXBlUmVhZGVyCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCiAKIGlmIHN5cy52ZXJzaW9uX2luZm8gPCAoMywgMyk6CkBAIC01NSw3ICs1 Niw4IEBAIGNsYXNzIERhdGFUeXBlUmVhZGVyVGVzdChCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAg ICAgICAgICAgZXhwZWN0ZWRfc3FsX3RlbXBsYXRlX3BhdGg9J3NvbWVwbGF0ZS93aGVyZS90ZW1w bGF0ZXMvYXJlJywKICAgICAgICAgICAgICBleHBlY3RlZF9mdW5jdGlvbl9vdXRwdXQ9X2RlZmF1 bHRfZXhwZWN0ZWRfZnVuY3Rpb25fb3V0cHV0CiAgICAgICAgICApKSwKLSAgICAgICAgKCdXaGVu IG5vIGRhdGFfdHlwZV90ZW1wbGF0ZV9wYXRoIGlzIHByZXNlbnQgaW4gY2xhc3MsIHNob3VsZCBj cmVhdGUgdGVtcGxhdGUgcGF0aCB3aXRoIHZlcnNpb24gbnVtYmVyJywKKyAgICAgICAgKCdXaGVu IG5vIGRhdGFfdHlwZV90ZW1wbGF0ZV9wYXRoIGlzIHByZXNlbnQgaW4gY2xhc3MsICcKKyAgICAg ICAgICdzaG91bGQgY3JlYXRlIHRlbXBsYXRlIHBhdGggd2l0aCB2ZXJzaW9uIG51bWJlcicsCiAg ICAgICAgICBkaWN0KAogICAgICAgICAgICAgIG1hbmFnZXI9X2RlZmF1bHRfbWFuYWdlciwKICAg ICAgICAgICAgICBleGVjdXRlX3JldHVybl92YWx1ZXM9X2RlZmF1bHRfZGF0YWJhc2VfcmVzcG9u c2UsCkBAIC04MSw3ICs4Myw4IEBAIGNsYXNzIERhdGFUeXBlUmVhZGVyVGVzdChCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgICApKQogICAgIF0KIAotICAgIEBwYXRjaCgncGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscy5yZW5kZXJf dGVtcGxhdGUnKQorICAgIEBwYXRjaCgncGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscycKKyAgICAgICAgICAgJy5yZW5kZXJfdGVtcGxh dGUnKQogICAgIGRlZiBydW5UZXN0KHNlbGYsIHRlbXBsYXRlX21vY2spOgogICAgICAgICB0ZW1w bGF0ZV9tb2NrLnJldHVybl92YWx1ZSA9ICdTb21lIFNRTCcKICAgICAgICAgY29ubmVjdGlvbiA9 IE1vY2soKQpAQCAtMTAxLDcgKzEwNCw4IEBAIGNsYXNzIERhdGFUeXBlUmVhZGVyVGVzdChCYXNl VGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICByZWFkZXIuZGF0YV90eXBlX3RlbXBsYXRlX3Bh dGggPSBzZWxmLmRhdGFfdHlwZV90ZW1wbGF0ZV9wYXRoCiAgICAgICAgIGV4Y2VwdCBBdHRyaWJ1 dGVFcnJvcjoKICAgICAgICAgICAgICcnCi0gICAgICAgIHJlc3VsdCA9IHJlYWRlci5nZXRfdHlw ZXMoY29ubmVjdGlvbiwgc2VsZi5zcWxfY29uZGl0aW9uLCBzZWxmLmFkZF9zZXJpYWxzLCBzZWxm LnNjaGVtYV9vaWQpCisgICAgICAgIHJlc3VsdCA9IHJlYWRlci5nZXRfdHlwZXMoY29ubmVjdGlv biwgc2VsZi5zcWxfY29uZGl0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuYWRkX3NlcmlhbHMsIHNlbGYuc2NoZW1hX29pZCkKICAgICAgICAgc2VsZi5hc3NlcnRF cXVhbChyZXN1bHRbMV0sIHNlbGYuZXhwZWN0ZWRfZnVuY3Rpb25fb3V0cHV0KQogICAgICAgICBz ZWxmLmFzc2VydFRydWUocmVzdWx0WzBdKQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy91dGlscy5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3Rlc3RzL3V0aWxzLnB5CmluZGV4IGFiNDA4MmZjLi5iY2YzYmE4NSAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGVzdHMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdXRpbHMucHkKQEAgLTI2LDI0ICsy NiwyNCBAQCBkZWYgZ2V0X3NjaGVtYV9jb25maWdfZGF0YShkYl91c2VyKToKICAgICAgICAgIm5h bWUiOiAidGVzdF9zY2hlbWFfezB9Ii5mb3JtYXQoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCiAg ICAgICAgICJuYW1lc3BhY2Vvd25lciI6IGRiX3VzZXIsCiAgICAgICAgICJuc3BhY2wiOiBbCi0g ICAgICAgICAgICAgICAgICAgICAgewotICAgICAgICAgICAgICAgICAgICAgICAgImdyYW50ZWUi OiBkYl91c2VyLAotICAgICAgICAgICAgICAgICAgICAgICAgImdyYW50b3IiOiBkYl91c2VyLAot ICAgICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZXMiOgotICAgICAgICAgICAgICAgICAg ICAgICAgWwotICAgICAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgImdyYW50ZWUiOiBkYl91c2VyLAorICAgICAgICAgICAgICAgICJncmFudG9y IjogZGJfdXNlciwKKyAgICAgICAgICAgICAgICAicHJpdmlsZWdlcyI6CisgICAgICAgICAgICAg ICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiQyIsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgInByaXZpbGVnZSI6IFRydWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpdGhf Z3JhbnQiOiBGYWxzZQotICAgICAgICAgICAgICAgICAgICAgICAgICB9LAotICAgICAgICAgICAg ICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlw ZSI6ICJVIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCi0gICAgICAg ICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAgIF0KLSAgICAgICAg ICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAg ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0KKyAgICAgICAg XSwKICAgICAgICAgInNlY2xhYmVscyI6IFtdCiAgICAgfQogICAgIHJldHVybiBkYXRhCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90eXBlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5CmluZGV4 IGE1ZWQ1NmFiLi4yMzk1NDM5YyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvX19pbml0X18ucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdHlwZXMvX19pbml0X18ucHkKQEAgLTksMjIgKzksMjQgQEAKIAogIiIiIEltcGxlbWVu dHMgVHlwZSBOb2RlICIiIgogCi1pbXBvcnQgc2ltcGxlanNvbiBhcyBqc29uCiBmcm9tIGZ1bmN0 b29scyBpbXBvcnQgd3JhcHMKIAotaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlCitpbXBvcnQgc2ltcGxlanNvbiBhcyBqc29u CiBmcm9tIGZsYXNrIGltcG9ydCByZW5kZXJfdGVtcGxhdGUsIHJlcXVlc3QsIGpzb25pZnkKIGZy b20gZmxhc2tfYmFiZWwgaW1wb3J0IGdldHRleHQKKworaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlCitmcm9tIGNvbmZpZyBp bXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91 cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBcCiAgICAgaW1wb3J0IFNjaGVtYUNo aWxkTW9kdWxlLCBEYXRhVHlwZVJlYWRlcgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLnV0aWxzIGltcG9ydCBwYXJzZV9wcml2X2Zyb21fZGIsIFwKICAgICBwYXJz ZV9wcml2X3RvX2RiCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE5v ZGVWaWV3Citmcm9tIHBnYWRtaW4udXRpbHMgaW1wb3J0IElTX1BZMgogZnJvbSBwZ2FkbWluLnV0 aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9y LCBcCiAgICAgbWFrZV9yZXNwb25zZSBhcyBhamF4X3Jlc3BvbnNlLCBnb25lCiBmcm9tIHBnYWRt aW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCi1mcm9tIGNvbmZpZyBpbXBvcnQgUEdf REVGQVVMVF9EUklWRVIKLWZyb20gcGdhZG1pbi51dGlscyBpbXBvcnQgSVNfUFkyCisKICMgSWYg d2UgYXJlIGluIFB5dGhvbjMKIGlmIG5vdCBJU19QWTI6CiAgICAgdW5pY29kZSA9IHN0cgpAQCAt MjAzLDkgKzIwNSwxMSBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBl UmVhZGVyKToKICAgICAgICAgJ2dldF9zdHlwZXMnOiBbeydnZXQnOiAnZ2V0X3N1YnR5cGVzJ30s IHsnZ2V0JzogJ2dldF9zdWJ0eXBlcyd9XSwKICAgICAgICAgJ2dldF9zdWJvcGNsYXNzJzogW3sn Z2V0JzogJ2dldF9zdWJ0eXBlX29wY2xhc3MnfSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsnZ2V0JzogJ2dldF9zdWJ0eXBlX29wY2xhc3MnfV0sCi0gICAgICAgICdnZXRfc3R5cGVkaWZm JzogW3snZ2V0JzogJ2dldF9zdWJ0eXBlX2RpZmYnfSwgeydnZXQnOiAnZ2V0X3N1YnR5cGVfZGlm Zid9XSwKKyAgICAgICAgJ2dldF9zdHlwZWRpZmYnOiBbeydnZXQnOiAnZ2V0X3N1YnR5cGVfZGlm Zid9LAorICAgICAgICAgICAgICAgICAgICAgICAgICB7J2dldCc6ICdnZXRfc3VidHlwZV9kaWZm J31dLAogICAgICAgICAnZ2V0X2Nhbm9uaWNhbCc6IFt7J2dldCc6ICdnZXRfY2Fub25pY2FsJ30s IHsnZ2V0JzogJ2dldF9jYW5vbmljYWwnfV0sCi0gICAgICAgICdnZXRfY29sbGF0aW9ucyc6IFt7 J2dldCc6ICdnZXRfY29sbGF0aW9ucyd9LCB7J2dldCc6ICdnZXRfY29sbGF0aW9ucyd9XSwKKyAg ICAgICAgJ2dldF9jb2xsYXRpb25zJzogW3snZ2V0JzogJ2dldF9jb2xsYXRpb25zJ30sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICB7J2dldCc6ICdnZXRfY29sbGF0aW9ucyd9XSwKICAgICAg ICAgJ2dldF9leHRlcm5hbF9mdW5jdGlvbnMnOiBbeydnZXQnOiAnZ2V0X2V4dGVybmFsX2Z1bmN0 aW9uc19saXN0J30sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsnZ2V0Jzog J2dldF9leHRlcm5hbF9mdW5jdGlvbnNfbGlzdCd9XQogICAgIH0pCkBAIC0yMjEsMTQgKzIyNSwx OCBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAg ICAgICAgZGVmIHdyYXAoKmFyZ3MsICoqa3dhcmdzKToKICAgICAgICAgICAgICMgSGVyZSBhcmdz WzBdIHdpbGwgaG9sZCBzZWxmICYga3dhcmdzIHdpbGwgaG9sZCBnaWQsc2lkLGRpZAogICAgICAg ICAgICAgc2VsZiA9IGFyZ3NbMF0KLSAgICAgICAgICAgIHNlbGYubWFuYWdlciA9IGdldF9kcml2 ZXIoUEdfREVGQVVMVF9EUklWRVIpLmNvbm5lY3Rpb25fbWFuYWdlcihrd2FyZ3NbJ3NpZCddKQor ICAgICAgICAgICAgc2VsZi5tYW5hZ2VyID0gZ2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUiku Y29ubmVjdGlvbl9tYW5hZ2VyKAorICAgICAgICAgICAgICAgIGt3YXJnc1snc2lkJ10pCiAgICAg ICAgICAgICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbihkaWQ9a3dhcmdzWydk aWQnXSkKIAogICAgICAgICAgICAgIyBXZSBuZWVkIGRhdGxhc3RzeXNvaWQgdG8gY2hlY2sgaWYg Y3VycmVudCB0eXBlIGlzIHN5c3RlbSB0eXBlCi0gICAgICAgICAgICBzZWxmLmRhdGxhc3RzeXNv aWQgPSBzZWxmLm1hbmFnZXIuZGJfaW5mb1sKLSAgICAgICAgICAgICAgICBrd2FyZ3NbJ2RpZCdd Ci0gICAgICAgICAgICBdWydkYXRsYXN0c3lzb2lkJ10gaWYgc2VsZi5tYW5hZ2VyLmRiX2luZm8g aXMgbm90IE5vbmUgYW5kIFwKLSAgICAgICAgICAgICAgICBrd2FyZ3NbJ2RpZCddIGluIHNlbGYu bWFuYWdlci5kYl9pbmZvIGVsc2UgMAorICAgICAgICAgICAgc2VsZi5kYXRsYXN0c3lzb2lkID0g MAorICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci5kYl9pbmZv IGlzIG5vdCBOb25lIGFuZAorICAgICAgICAgICAgICAgIGt3YXJnc1snZGlkJ10gaW4gc2VsZi5t YW5hZ2VyLmRiX2luZm8KKyAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgc2VsZi5kYXRs YXN0c3lzb2lkID0gc2VsZi5tYW5hZ2VyLmRiX2luZm9ba3dhcmdzWydkaWQnXV1bCisgICAgICAg ICAgICAgICAgICAgICdkYXRsYXN0c3lzb2lkJ10KIAogICAgICAgICAgICAgIyBEZWNsYXJlIGFs bG93cyBhY2wgb24gdHlwZQogICAgICAgICAgICAgc2VsZi5hY2wgPSBbJ1UnXQpAQCAtMjQzLDEy ICsyNTEsMTQgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRl cik6CiAgICAgICAgICAgICApCiAKICAgICAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJn cykKKwogICAgICAgICByZXR1cm4gd3JhcAogCiAgICAgQGNoZWNrX3ByZWNvbmRpdGlvbgogICAg IGRlZiBsaXN0KHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQpOgogICAgICAgICAiIiIKLSAgICAg ICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSB0eXBlIG5vZGVzIHdpdGhp biB0aGF0IGNvbGxlY3Rpb24uCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBsaXN0 IGFsbCB0aGUgdHlwZSBub2RlcyB3aXRoaW4gdGhhdAorICAgICAgICBjb2xsZWN0aW9uLgogCiAg ICAgICAgIEFyZ3M6CiAgICAgICAgICAgICBnaWQ6IFNlcnZlciBncm91cCBJRApAQCAtMjYxLDEw ICsyNzEsMTEgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRl cik6CiAgICAgICAgICAgICBKU09OIG9mIGF2YWlsYWJsZSB0eXBlIG5vZGVzCiAgICAgICAgICIi IgogCi0gICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0 ZV9wYXRoLCAncHJvcGVydGllcy5zcWwnXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzY2lkPXNjaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRsYXN0c3lzb2lk PXNlbGYuZGF0bGFzdHN5c29pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3df c3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cykKKyAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVt cGxhdGVfcGF0aCwgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgc2NpZD1zY2lkLAor ICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQsCisgICAgICAgICAg ICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMp CiAKICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKIApA QCAtMjc4LDcgKzI4OSw4IEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5 cGVSZWFkZXIpOgogICAgIEBjaGVja19wcmVjb25kaXRpb24KICAgICBkZWYgbm9kZShzZWxmLCBn aWQsIHNpZCwgZGlkLCBzY2lkLCB0aWQpOgogICAgICAgICAiIiIKLSAgICAgICAgVGhpcyBmdW5j dGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3aXRoaW4gdGhhdCBj b2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0byBjcmVhdGUgYWxs IHRoZSBjaGlsZCBub2RlIHdpdGhpbiB0aGF0CisgICAgICAgIGNvbGxlY3Rpb24uCiAgICAgICAg IEhlcmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSB0eXBlIG5vZGUuCiAKICAgICAgICAgQXJnczoK QEAgLTI5MiwyNCArMzA0LDI2IEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0 YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgSlNPTiBvZiBhdmFpbGFibGUgdHlwZSBjaGlsZCBu b2RlcwogICAgICAgICAiIiIKIAotICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpv aW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnbm9kZXMuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Np ZD1zY2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGlkPXRpZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQu c2hvd19zeXN0ZW1fb2JqZWN0cykKKyAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAorICAg ICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAg ICAgICAnbm9kZXMuc3FsJ10pLAorICAgICAgICAgICAgc2NpZD1zY2lkLAorICAgICAgICAgICAg dGlkPXRpZCwKKyAgICAgICAgICAgIHNob3dfc3lzdGVtX29iamVjdHM9c2VsZi5ibHVlcHJpbnQu c2hvd19zeXN0ZW1fb2JqZWN0cykKICAgICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25uLmV4 ZWN1dGVfMmRhcnJheShTUUwpCiAgICAgICAgIGlmIG5vdCBzdGF0dXM6CiAgICAgICAgICAgICBy ZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJzZXQpCiAKICAgICAgICAgaWYg bGVuKHJzZXRbJ3Jvd3MnXSkgPT0gMDoKLSAgICAgICAgICAgIHJldHVybiBnb25lKGdldHRleHQo IiIiQ291bGQgbm90IGZpbmQgdGhlIHR5cGUgaW4gdGhlIGRhdGFiYXNlLiIiIikpCisgICAgICAg ICAgICByZXR1cm4gZ29uZSgKKyAgICAgICAgICAgICAgICBnZXR0ZXh0KCIiIkNvdWxkIG5vdCBm aW5kIHRoZSB0eXBlIGluIHRoZSBkYXRhYmFzZS4iIiIpKQogCiAgICAgICAgIHJlcyA9IHNlbGYu Ymx1ZXByaW50LmdlbmVyYXRlX2Jyb3dzZXJfbm9kZSgKLSAgICAgICAgICAgICAgICByc2V0Wydy b3dzJ11bMF1bJ29pZCddLAotICAgICAgICAgICAgICAgIHNjaWQsCi0gICAgICAgICAgICAgICAg cnNldFsncm93cyddWzBdWyduYW1lJ10sCi0gICAgICAgICAgICAgICAgaWNvbj0iaWNvbi0lcyIg JSBzZWxmLm5vZGVfdHlwZQotICAgICAgICAgICAgKQorICAgICAgICAgICAgcnNldFsncm93cydd WzBdWydvaWQnXSwKKyAgICAgICAgICAgIHNjaWQsCisgICAgICAgICAgICByc2V0Wydyb3dzJ11b MF1bJ25hbWUnXSwKKyAgICAgICAgICAgIGljb249Imljb24tJXMiICUgc2VsZi5ub2RlX3R5cGUK KyAgICAgICAgKQogCiAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAgICAgICAg ICAgICBkYXRhPXJlcywKQEAgLTMxOSw3ICszMzMsOCBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxk Tm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAg ZGVmIG5vZGVzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQpOgogICAgICAgICAiIiIKLSAgICAg ICAgVGhpcyBmdW5jdGlvbiB3aWxsIHVzZWQgdG8gY3JlYXRlIGFsbCB0aGUgY2hpbGQgbm9kZSB3 aXRoaW4gdGhhdCBjb2xsZWN0aW9uLgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgdXNlZCB0 byBjcmVhdGUgYWxsIHRoZSBjaGlsZCBub2RlIHdpdGhpbiB0aGF0CisgICAgICAgIGNvbGxlY3Rp b24uCiAgICAgICAgIEhlcmUgaXQgd2lsbCBjcmVhdGUgYWxsIHRoZSB0eXBlIG5vZGUuCiAKICAg ICAgICAgQXJnczoKQEAgLTMzNCw5ICszNDksMTAgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5v ZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICIiIgogCiAgICAgICAgIHJlcyA9IFtd Ci0gICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9w YXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdub2Rlcy5zcWwn XSksIHNjaWQ9c2NpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3dfc3lzdGVt X29iamVjdHM9c2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0cykKKyAgICAgICAgU1FM ID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVf cGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAnbm9kZXMuc3FsJ10pLCBzY2lkPXNjaWQsCisg ICAgICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVt X29iamVjdHMpCiAgICAgICAgIHN0YXR1cywgcnNldCA9IHNlbGYuY29ubi5leGVjdXRlXzJkYXJy YXkoU1FMKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgcmV0dXJuIGludGVy bmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yc2V0KQpAQCAtMzk0LDcgKzQxMCw4IEBAIGNsYXNz IFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogCiAgICAgZGVmIGFk ZGl0aW9uYWxfcHJvcGVydGllcyhzZWxmLCBjb3B5X2RpY3QsIHRpZCk6CiAgICAgICAgICIiIgot ICAgICAgICBXZSB3aWxsIHVzZSB0aGlzIGZ1bmN0aW9uIHRvIGFkZCBhZGRpdGlvbmFsIHByb3Bl cnRpZXMgYWNjb3JkaW5nIHRvIHR5cGUKKyAgICAgICAgV2Ugd2lsbCB1c2UgdGhpcyBmdW5jdGlv biB0byBhZGQgYWRkaXRpb25hbCBwcm9wZXJ0aWVzIGFjY29yZGluZyB0bworICAgICAgICB0eXBl CiAKICAgICAgICAgUmV0dXJuczoKICAgICAgICAgICAgIGFkZGl0aW9uYWwgcHJvcGVydGllcyBm b3IgdHlwZSBsaWtlIHJhbmdlL2NvbXBvc2l0ZS9lbnVtCkBAIC00MDMsNyArNDIwLDggQEAgY2xh c3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICMg RmV0Y2hpbmcgdHlwZSBvZiB0eXBlCiAgICAgICAgIG9mX3R5cGUgPSBjb3B5X2RpY3RbJ3R5cHR5 cGUnXQogICAgICAgICByZXMgPSBkaWN0KCkKLSAgICAgICAgIyBJZiB0eXBlIGlzIG9mIENvbXBv c2l0ZSB0aGVuIHdlIG5lZWQgdG8gYWRkIG1lbWJlcnMgbGlzdCBpbiBvdXIgb3V0cHV0CisgICAg ICAgICMgSWYgdHlwZSBpcyBvZiBDb21wb3NpdGUgdGhlbiB3ZSBuZWVkIHRvIGFkZCBtZW1iZXJz IGxpc3QgaW4gb3VyCisgICAgICAgICMgb3V0cHV0CiAgICAgICAgIGlmIG9mX3R5cGUgPT0gJ2Mn OgogICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdh ZGRpdGlvbmFsX3Byb3BlcnRpZXMuc3FsJ10pLApAQCAtNDIxLDEwICs0MzksMTQgQEAgY2xhc3Mg VHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICBm b3Igcm93IGluIHJzZXRbJ3Jvd3MnXToKICAgICAgICAgICAgICAgICAjIFdlIHdpbGwgZmV0Y2gg RnVsbCB0eXBlIG5hbWUKIAotCiAgICAgICAgICAgICAgICAgdHlwZWxpc3QgPSAnICcuam9pbihb cm93WydhdHRuYW1lJ10sIHJvd1snZnVsbHR5cGUnXV0pCi0gICAgICAgICAgICAgICAgaWYgbm90 IHJvd1snY29sbG5hbWUnXSBvciAocm93Wydjb2xsbmFtZSddID09ICdkZWZhdWx0JwotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByb3dbJ2NvbGxuc3BuYW1l J10gPT0gJ3BnX2NhdGFsb2cnKToKKyAgICAgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAg ICAgICAgIG5vdCByb3dbJ2NvbGxuYW1lJ10gb3IKKyAgICAgICAgICAgICAgICAgICAgKAorICAg ICAgICAgICAgICAgICAgICAgICAgcm93Wydjb2xsbmFtZSddID09ICdkZWZhdWx0JyBhbmQKKyAg ICAgICAgICAgICAgICAgICAgICAgIHJvd1snY29sbG5zcG5hbWUnXSA9PSAncGdfY2F0YWxvZycK KyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAgICAg ICAgICAgIGZ1bGxfY29sbGF0ZSA9ICcnCiAgICAgICAgICAgICAgICAgICAgIGNvbGxhdGUgPSAn JwogICAgICAgICAgICAgICAgIGVsc2U6CkBAIC00MzcsOSArNDU5LDExIEBAIGNsYXNzIFR5cGVW aWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgICAgIGlz X3RsZW5ndGggPSBGYWxzZQogICAgICAgICAgICAgICAgIGlzX3ByZWNpc2lvbiA9IEZhbHNlCiAg ICAgICAgICAgICAgICAgaWYgJ2VsZW1vaWQnIGluIHJvdzoKLSAgICAgICAgICAgICAgICAgICAg aXNfdGxlbmd0aCwgaXNfcHJlY2lzaW9uLCB0eXBldmFsID0gc2VsZi5nZXRfbGVuZ3RoX3ByZWNp c2lvbihyb3dbJ2VsZW1vaWQnXSkKKyAgICAgICAgICAgICAgICAgICAgaXNfdGxlbmd0aCwgaXNf cHJlY2lzaW9uLCB0eXBldmFsID0gXAorICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5nZXRf bGVuZ3RoX3ByZWNpc2lvbihyb3dbJ2VsZW1vaWQnXSkKIAotICAgICAgICAgICAgICAgICMgQmVs b3cgbG9naWMgd2lsbCBhbGxvdyB1cyB0byBzcGxpdCBsZW5ndGgsIHByZWNpc2lvbiBmcm9tIHR5 cGUgbmFtZSBmb3IgZ3JpZAorICAgICAgICAgICAgICAgICMgQmVsb3cgbG9naWMgd2lsbCBhbGxv dyB1cyB0byBzcGxpdCBsZW5ndGgsIHByZWNpc2lvbiBmcm9tCisgICAgICAgICAgICAgICAgIyB0 eXBlIG5hbWUgZm9yIGdyaWQKICAgICAgICAgICAgICAgICBpbXBvcnQgcmUKICAgICAgICAgICAg ICAgICB0X2xlbiA9IE5vbmUKICAgICAgICAgICAgICAgICB0X3ByZWMgPSBOb25lCkBAIC00NTcs MTggKzQ4MSwxOSBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVh ZGVyKToKICAgICAgICAgICAgICAgICAgICAgICAgIHRfbGVuID0gbWF0Y2hPYmouZ3JvdXAoMSkK ICAgICAgICAgICAgICAgICAgICAgICAgIHRfcHJlYyA9IE5vbmUKIAotCiAgICAgICAgICAgICAg ICAgdHlwZV9uYW1lID0gRGF0YVR5cGVSZWFkZXIucGFyc2VfdHlwZV9uYW1lKHJvd1sndHlwbmFt ZSddKQogCiAgICAgICAgICAgICAgICAgcm93Wyd0eXBlJ10gPSBzZWxmLl9jbHR5cGVfZm9ybWF0 dGVyKHR5cGVfbmFtZSkKICAgICAgICAgICAgICAgICByb3dbJ2hhc1NxckJyYWNrZXQnXSA9IHNl bGYuaGFzU3FyQnJhY2tldAogICAgICAgICAgICAgICAgIHJvdyA9IHNlbGYuY29udmVydF9sZW5n dGhfcHJlY2lzaW9uX3RvX3N0cmluZyhyb3cpCiAgICAgICAgICAgICAgICAgY29tcG9zaXRlX2xz dC5hcHBlbmQoewotICAgICAgICAgICAgICAgICAgICAnYXR0bnVtJzogcm93WydhdHRudW0nXSwg J21lbWJlcl9uYW1lJzogcm93WydhdHRuYW1lJ10sICd0eXBlJzogdHlwZV9uYW1lLAorICAgICAg ICAgICAgICAgICAgICAnYXR0bnVtJzogcm93WydhdHRudW0nXSwgJ21lbWJlcl9uYW1lJzogcm93 WydhdHRuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICd0eXBlJzogdHlwZV9uYW1lLAogICAg ICAgICAgICAgICAgICAgICAnY29sbGF0aW9uJzogZnVsbF9jb2xsYXRlLCAnY2x0eXBlJzogcm93 Wyd0eXBlJ10sCiAgICAgICAgICAgICAgICAgICAgICd0bGVuZ3RoJzogdF9sZW4sICdwcmVjaXNp b24nOiB0X3ByZWMsCiAgICAgICAgICAgICAgICAgICAgICdpc190bGVuZ3RoJzogaXNfdGxlbmd0 aCwgJ2lzX3ByZWNpc2lvbic6IGlzX3ByZWNpc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgJ2hh c1NxckJyYWNrZXQnOiByb3dbJ2hhc1NxckJyYWNrZXQnXSwgJ2Z1bGx0eXBlJzogcm93WydmdWxs dHlwZSddfSkKKyAgICAgICAgICAgICAgICAgICAgJ2hhc1NxckJyYWNrZXQnOiByb3dbJ2hhc1Nx ckJyYWNrZXQnXSwKKyAgICAgICAgICAgICAgICAgICAgJ2Z1bGx0eXBlJzogcm93WydmdWxsdHlw ZSddfSkKIAogICAgICAgICAgICAgIyBBZGRpbmcgYm90aCByZXN1bHRzCiAgICAgICAgICAgICBy ZXNbJ21lbWJlcl9saXN0J10gPSAnLCAnLmpvaW4ocHJvcGVydGllc19saXN0KQpAQCAtNDk0LDcg KzUxOSw4IEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVSZWFkZXIp OgogICAgICAgICAgICAgcmVzWydlbnVtX2xpc3QnXSA9ICcsICcuam9pbihwcm9wZXJ0aWVzX2xp c3QpCiAgICAgICAgICAgICByZXNbJ2VudW0nXSA9IGVudW1fbGlzdAogCi0gICAgICAgICMgSWYg dHlwZSBpcyBvZiBSYW5nZSB0aGVuIHdlIG5lZWQgdG8gYWRkIGNvbGxhdGlvbixzdWJ0eXBlIGV0 YyBpbiBvdXIgb3V0cHV0CisgICAgICAgICMgSWYgdHlwZSBpcyBvZiBSYW5nZSB0aGVuIHdlIG5l ZWQgdG8gYWRkIGNvbGxhdGlvbixzdWJ0eXBlIGV0YyBpbiBvdXIKKyAgICAgICAgIyBvdXRwdXQK ICAgICAgICAgaWYgb2ZfdHlwZSA9PSAncic6CiAgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVt cGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ2FkZGl0aW9uYWxfcHJvcGVydGllcy5zcWwnXSksCkBA IC01MzUsMTggKzU2MSwyMCBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFU eXBlUmVhZGVyKToKICAgICAgICAgICAgIEpTT04gb2Ygc2VsZWN0ZWQgdHlwZSBub2RlCiAgICAg ICAgICIiIgogCi0gICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdw cm9wZXJ0aWVzLnNxbCddKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2Np ZCwgdGlkPXRpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9 c2VsZi5kYXRsYXN0c3lzb2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19z eXN0ZW1fb2JqZWN0cz1zZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9vYmplY3RzCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgK KyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAg ICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9 dGlkLAorICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQsCisgICAg ICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29i amVjdHMKKyAgICAgICAgKQogICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRl X2RpY3QoU1FMKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgcmV0dXJuIGlu dGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKICAgICAgICAgaWYgbGVuKHJlc1sn cm93cyddKSA9PSAwOgotICAgICAgICAgICAgcmV0dXJuIGdvbmUoZ2V0dGV4dCgiIiJDb3VsZCBu b3QgZmluZCB0aGUgdHlwZSBpbiB0aGUgZGF0YWJhc2UuIiIiKSkKKyAgICAgICAgICAgIHJldHVy biBnb25lKAorICAgICAgICAgICAgICAgIGdldHRleHQoIiIiQ291bGQgbm90IGZpbmQgdGhlIHR5 cGUgaW4gdGhlIGRhdGFiYXNlLiIiIikpCiAKICAgICAgICAgIyBNYWtpbmcgY29weSBvZiBvdXRw dXQgZm9yIGZ1dHVyZSB1c2UKICAgICAgICAgY29weV9kaWN0ID0gZGljdChyZXNbJ3Jvd3MnXVsw XSkKQEAgLTkyNSwxNSArOTUzLDE4IEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogICAgICAgICAgICAgIyBJZiB0eXBlIGlzIGV4dGVybmFsIHRoZW4g Y2hlY2sgaWYgaW5wdXQvb3V0cHV0CiAgICAgICAgICAgICAjIGNvbnZlcnNpb24gZnVuY3Rpb24g aXMgZGVmaW5lZAogICAgICAgICAgICAgaWYgZGF0YSBhbmQgZGF0YVthcmddID09ICdiJzoKLSAg ICAgICAgICAgICAgICBpZiAndHlwaW5wdXQnIG5vdCBpbiBkYXRhIG9yIFwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3R5cG91dHB1dCcgbm90IGluIGRhdGEgb3IgXAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWyd0eXBpbnB1dCddIGlzIE5vbmUgb3IgXAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWyd0eXBvdXRwdXQnXSBpcyBOb25l OgorICAgICAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAgICAgJ3R5cGlucHV0JyBu b3QgaW4gZGF0YSBvcgorICAgICAgICAgICAgICAgICAgICAndHlwb3V0cHV0JyBub3QgaW4gZGF0 YSBvcgorICAgICAgICAgICAgICAgICAgICBkYXRhWyd0eXBpbnB1dCddIGlzIE5vbmUgb3IKKyAg ICAgICAgICAgICAgICAgICAgZGF0YVsndHlwb3V0cHV0J10gaXMgTm9uZQorICAgICAgICAgICAg ICAgICk6CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCiAg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM9NDEwLAogICAgICAgICAgICAgICAgICAgICAg ICAgc3VjY2Vzcz0wLAogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3Jtc2c9Z2V0dGV4dCgK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAnRXh0ZXJuYWwgdHlwZXMgcmVxdWlyZSBib3Ro IGlucHV0IGFuZCBvdXRwdXQgY29udmVyc2lvbiBmdW5jdGlvbnMuJworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICdFeHRlcm5hbCB0eXBlcyByZXF1aXJlIGJvdGggaW5wdXQgYW5kIG91dHB1 dCAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2NvbnZlcnNpb24gZnVuY3Rpb25zLicK ICAgICAgICAgICAgICAgICAgICAgICAgICkKICAgICAgICAgICAgICAgICAgICAgKQogCkBAIC05 NDYsOCArOTc3LDEwIEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywgRGF0YVR5cGVS ZWFkZXIpOgogICAgICAgICB0cnk6CiAgICAgICAgICAgICBpZiAnY29tcG9zaXRlJyBpbiBkYXRh IGFuZCBsZW4oZGF0YVsnY29tcG9zaXRlJ10pID4gMDoKICAgICAgICAgICAgICAgICBmb3IgZWFj aF90eXBlIGluIGRhdGFbJ2NvbXBvc2l0ZSddOgotICAgICAgICAgICAgICAgICAgICBlYWNoX3R5 cGUgPSBzZWxmLmNvbnZlcnRfbGVuZ3RoX3ByZWNpc2lvbl90b19zdHJpbmcoZWFjaF90eXBlKQot ICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2NsdHlwZSddID0gc2VsZi5fY2x0eXBlX2Zv cm1hdHRlcihlYWNoX3R5cGVbJ3R5cGUnXSkKKyAgICAgICAgICAgICAgICAgICAgZWFjaF90eXBl ID0gc2VsZi5jb252ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKAorICAgICAgICAgICAg ICAgICAgICAgICAgZWFjaF90eXBlKQorICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2Ns dHlwZSddID0gc2VsZi5fY2x0eXBlX2Zvcm1hdHRlcigKKyAgICAgICAgICAgICAgICAgICAgICAg IGVhY2hfdHlwZVsndHlwZSddKQogICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2hhc1Nx ckJyYWNrZXQnXSA9IHNlbGYuaGFzU3FyQnJhY2tldAogCiAgICAgICAgICAgICBTUUwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ2NyZWF0ZS5zcWwnXSks CkBAIC05NTksNyArOTkyLDggQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRh VHlwZVJlYWRlcik6CiAgICAgICAgICAgICBpZiAnc2NoZW1hJyBpbiBkYXRhOgogICAgICAgICAg ICAgICAgICMgd2UgbmVlZCBzY2lkIHRvIHVwZGF0ZSBpbiBicm93c2VyIHRyZWUKICAgICAgICAg ICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0 aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2dldF9zY2lkLnNxbCdd KSwgc2NoZW1hPWRhdGFbJ3NjaGVtYSddKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2dldF9zY2lkLnNxbCddKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2NoZW1hPWRhdGFbJ3NjaGVtYSddKQogICAgICAgICAgICAgICAg IHN0YXR1cywgc2NpZCA9IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihTUUwpCiAgICAgICAgICAg ICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFs X3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zY2lkKQpAQCAtMTAxMCw3ICsxMDQ0LDcgQEAgY2xhc3Mg VHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICAg ICAgcmV0dXJuIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCiAKICAgICAgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXRfc2NpZC5zcWwnXSksIHRpZD10 aWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdnZXRfc2Np ZC5zcWwnXSksIHRpZD10aWQpCiAKICAgICAgICAgICAgICMgR2V0IHVwZGF0ZWQgc2NoZW1hIG9p ZAogICAgICAgICAgICAgc3RhdHVzLCBzY2lkID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFyKFNR TCkKQEAgLTEwNTAsMTIgKzEwODQsMTMgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAKICAgICAgICAgdHJ5OgogCi0gICAgICAgICAgICBTUUwgPSBy ZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwgdGlkPXRpZCwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRsYXN0c3lzb2lkPXNlbGYuZGF0bGFzdHN5 c29pZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93X3N5c3RlbV9vYmpl Y3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoCisg ICAgICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgICAgIHNjaWQ9 c2NpZCwgdGlkPXRpZCwKKyAgICAgICAgICAgICAgICBkYXRsYXN0c3lzb2lkPXNlbGYuZGF0bGFz dHN5c29pZCwKKyAgICAgICAgICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXBy aW50LnNob3dfc3lzdGVtX29iamVjdHMKKyAgICAgICAgICAgICkKICAgICAgICAgICAgIHN0YXR1 cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAgICAgICAgICBpZiBub3Qg c3RhdHVzOgogICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cmVzKQpAQCAtMTE2OCwyNyArMTIwMywzMyBAQCBjbGFzcyBUeXBlVmlldyhQR0NoaWxk Tm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyKToKICAgICAgICAgICAgIGZvciBrZXkgaW4gWyd0eXBh Y2wnXToKICAgICAgICAgICAgICAgICBpZiBrZXkgaW4gZGF0YSBhbmQgZGF0YVtrZXldIGlzIG5v dCBOb25lOgogICAgICAgICAgICAgICAgICAgICBpZiAnYWRkZWQnIGluIGRhdGFba2V5XToKLSAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnYWRkZWQnXSA9IHBhcnNlX3ByaXZfdG9f ZGIoZGF0YVtrZXldWydhZGRlZCddLCBzZWxmLmFjbCkKKyAgICAgICAgICAgICAgICAgICAgICAg IGRhdGFba2V5XVsnYWRkZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGF0YVtrZXldWydhZGRlZCddLCBzZWxmLmFjbCkKICAgICAgICAgICAgICAg ICAgICAgaWYgJ2NoYW5nZWQnIGluIGRhdGFba2V5XToKLSAgICAgICAgICAgICAgICAgICAgICAg IGRhdGFba2V5XVsnY2hhbmdlZCddID0gcGFyc2VfcHJpdl90b19kYihkYXRhW2tleV1bJ2NoYW5n ZWQnXSwgc2VsZi5hY2wpCisgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2NoYW5n ZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YVtrZXldWydjaGFuZ2VkJ10sIHNlbGYuYWNsKQogICAgICAgICAgICAgICAgICAgICBpZiAnZGVs ZXRlZCcgaW4gZGF0YVtrZXldOgotICAgICAgICAgICAgICAgICAgICAgICAgZGF0YVtrZXldWydk ZWxldGVkJ10gPSBwYXJzZV9wcml2X3RvX2RiKGRhdGFba2V5XVsnZGVsZXRlZCddLCBzZWxmLmFj bCkKKyAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XVsnZGVsZXRlZCddID0gcGFyc2Vf cHJpdl90b19kYigKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0 ZWQnXSwgc2VsZi5hY2wpCiAKICAgICAgICAgICAgIGlmICdjb21wb3NpdGUnIGluIGRhdGEgYW5k IGxlbihkYXRhWydjb21wb3NpdGUnXSkgPiAwOgogICAgICAgICAgICAgICAgIGZvciBrZXkgaW4g WydhZGRlZCcsICdjaGFuZ2VkJywgJ2RlbGV0ZWQnXToKICAgICAgICAgICAgICAgICAgICAgaWYg a2V5IGluIGRhdGFbJ2NvbXBvc2l0ZSddOgogICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGVh Y2hfdHlwZSBpbiBkYXRhWydjb21wb3NpdGUnXVtrZXldOgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGVhY2hfdHlwZSA9IHNlbGYuY29udmVydF9sZW5ndGhfcHJlY2lzaW9uX3RvX3N0cmlu ZyhlYWNoX3R5cGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFjaF90eXBlID0gc2Vs Zi4gXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb252ZXJ0X2xlbmd0aF9wcmVj aXNpb25fdG9fc3RyaW5nKGVhY2hfdHlwZSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp ZiAndHlwZScgaW4gZWFjaF90eXBlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBl YWNoX3R5cGVbJ2NsdHlwZSddID0gc2VsZi5fY2x0eXBlX2Zvcm1hdHRlcihlYWNoX3R5cGVbJ3R5 cGUnXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWFjaF90eXBlWydjbHR5cGUn XSA9IHNlbGYuX2NsdHlwZV9mb3JtYXR0ZXIoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBlYWNoX3R5cGVbJ3R5cGUnXSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZWFjaF90eXBlWydoYXNTcXJCcmFja2V0J10gPSBzZWxmLmhhc1NxckJyYWNrZXQKIAotICAg ICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0 aWVzLnNxbCddKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2lkPXNjaWQs IHRpZD10aWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0bGFzdHN5c29p ZD1zZWxmLmRhdGxhc3RzeXNvaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2hvd19zeXN0ZW1fb2JqZWN0cz1zZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9vYmplY3RzCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgU1FMID0gcmVu ZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3Bh dGgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9wZXJ0aWVzLnNxbCddKSwKKyAgICAg ICAgICAgICAgICBzY2lkPXNjaWQsIHRpZD10aWQsCisgICAgICAgICAgICAgICAgZGF0bGFzdHN5 c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQsCisgICAgICAgICAgICAgICAgc2hvd19zeXN0ZW1fb2Jq ZWN0cz1zZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9vYmplY3RzCisgICAgICAgICAgICApCiAg ICAgICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKICAgICAgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxf c2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKQEAgLTEyNDksMTAgKzEyOTAsMTIgQEAgY2xhc3Mg VHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICAj IElmIHR5cGUgaXMgZXh0ZXJuYWwgdGhlbiBjaGVjayBpZiBpbnB1dC9vdXRwdXQKICAgICAgICAg ICAgICMgY29udmVyc2lvbiBmdW5jdGlvbiBpcyBkZWZpbmVkCiAgICAgICAgICAgICBpZiBkYXRh IGFuZCBkYXRhW2FyZ10gPT0gJ2InOgotICAgICAgICAgICAgICAgIGlmICd0eXBpbnB1dCcgbm90 IGluIGRhdGEgb3IgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndHlwb3V0cHV0 JyBub3QgaW4gZGF0YSBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFb J3R5cGlucHV0J10gaXMgTm9uZSBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGFbJ3R5cG91dHB1dCddIGlzIE5vbmU6CisgICAgICAgICAgICAgICAgaWYgKAorICAgICAg ICAgICAgICAgICAgICAndHlwaW5wdXQnIG5vdCBpbiBkYXRhIG9yCisgICAgICAgICAgICAgICAg ICAgICd0eXBvdXRwdXQnIG5vdCBpbiBkYXRhIG9yCisgICAgICAgICAgICAgICAgICAgIGRhdGFb J3R5cGlucHV0J10gaXMgTm9uZSBvcgorICAgICAgICAgICAgICAgICAgICBkYXRhWyd0eXBvdXRw dXQnXSBpcyBOb25lCisgICAgICAgICAgICAgICAgKToKICAgICAgICAgICAgICAgICAgICAgcmV0 dXJuICItLSBkZWZpbml0aW9uIGluY29tcGxldGUiCiAKICAgICAgICAgICAgICMgUHJpdmlsZWdl cwpAQCAtMTI2Myw4ICsxMzA2LDEwIEBAIGNsYXNzIFR5cGVWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIpOgogCiAgICAgICAgICAgICBpZiAnY29tcG9zaXRlJyBpbiBkYXRhIGFu ZCBsZW4oZGF0YVsnY29tcG9zaXRlJ10pID4gMDoKICAgICAgICAgICAgICAgICBmb3IgZWFjaF90 eXBlIGluIGRhdGFbJ2NvbXBvc2l0ZSddOgotICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGUg PSBzZWxmLmNvbnZlcnRfbGVuZ3RoX3ByZWNpc2lvbl90b19zdHJpbmcoZWFjaF90eXBlKQotICAg ICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2NsdHlwZSddID0gc2VsZi5fY2x0eXBlX2Zvcm1h dHRlcihlYWNoX3R5cGVbJ3R5cGUnXSkKKyAgICAgICAgICAgICAgICAgICAgZWFjaF90eXBlID0g c2VsZi5jb252ZXJ0X2xlbmd0aF9wcmVjaXNpb25fdG9fc3RyaW5nKAorICAgICAgICAgICAgICAg ICAgICAgICAgZWFjaF90eXBlKQorICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2NsdHlw ZSddID0gc2VsZi5fY2x0eXBlX2Zvcm1hdHRlcigKKyAgICAgICAgICAgICAgICAgICAgICAgIGVh Y2hfdHlwZVsndHlwZSddKQogICAgICAgICAgICAgICAgICAgICBlYWNoX3R5cGVbJ2hhc1NxckJy YWNrZXQnXSA9IHNlbGYuaGFzU3FyQnJhY2tldAogCiAgICAgICAgICAgICBTUUwgPSByZW5kZXJf dGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwKQEAgLTEyODUsMTIgKzEzMzAs MTMgQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRlcik6CiAg ICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAogICAgICAgICAgICB0aWQ6IFR5cGUgSUQKICAgICAg ICAgIiIiCi0gICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwcm9w ZXJ0aWVzLnNxbCddKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwg dGlkPXRpZCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGxhc3RzeXNvaWQ9c2Vs Zi5kYXRsYXN0c3lzb2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19zeXN0 ZW1fb2JqZWN0cz1zZWxmLmJsdWVwcmludC5zaG93X3N5c3RlbV9vYmplY3RzCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApCisgICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAg ICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsCisgICAgICAgICAgICAgICAg ICAgICAgJ3Byb3BlcnRpZXMuc3FsJ10pLAorICAgICAgICAgICAgc2NpZD1zY2lkLCB0aWQ9dGlk LAorICAgICAgICAgICAgZGF0bGFzdHN5c29pZD1zZWxmLmRhdGxhc3RzeXNvaWQsCisgICAgICAg ICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVj dHMKKyAgICAgICAgKQogICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2Rp Y3QoU1FMKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgcmV0dXJuIGludGVy bmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZXN0 cy90ZXN0X3R5cGVzX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL3Rlc3RzL3Rlc3RfdHlwZXNfZGVsZXRl LnB5CmluZGV4IGI3Y2UxNjdkLi4wYzg4N2UzZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVzdHMv dGVzdF90eXBlc19kZWxldGUucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVzdHMvdGVzdF90eXBlc19kZWxl dGUucHkKQEAgLTUxLDcgKzUxLDcgQEAgY2xhc3MgVHlwZXNEZWxldGVUZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CiAgICAgICAgIHR5cGVfcmVzcG9uc2UgPSB0eXBlc191dGlscy52ZXJpZnlf dHlwZShzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50eXBlX25hbWUpCiAgICAgICAgIGlmIG5vdCB0 eXBlX3Jlc3BvbnNlOgotICAgICAgICAgICAgcmFpc2UgIEV4Y2VwdGlvbigiQ291bGQgbm90IGZp bmQgdGhlIHR5cGUgdG8gZGVsZXRlLiIpCisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNv dWxkIG5vdCBmaW5kIHRoZSB0eXBlIHRvIGRlbGV0ZS4iKQogICAgICAgICByZXNwb25zZSA9IHNl bGYudGVzdGVyLmRlbGV0ZSgKICAgICAgICAgICAgICJ7MH17MX0vezJ9L3szfS97NH0vezV9Ii5m b3JtYXQoc2VsZi51cmwsIHV0aWxzLlNFUlZFUl9HUk9VUCwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQsCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3V0aWxzLnB5CmluZGV4IGRkZWJkNWVkLi5mMzMwZWQ5 NiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdXRpbHMucHkKQEAgLTEyLDYgKzEy LDcgQEAKIGltcG9ydCBqc29uCiAKIGZyb20gZmxhc2sgaW1wb3J0IHJlbmRlcl90ZW1wbGF0ZQor CiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5jb2xsZWN0aW9uIGltcG9ydCBDb2xsZWN0aW9uTm9kZU1v ZHVsZQogZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IGludGVybmFsX3NlcnZlcl9lcnJv cgogCkBAIC00MywyMyArNDQsMzAgQEAgY2xhc3MgU2NoZW1hQ2hpbGRNb2R1bGUoQ29sbGVjdGlv bk5vZGVNb2R1bGUpOgogCiAgICAgZGVmIEJhY2tlbmRTdXBwb3J0ZWQoc2VsZiwgbWFuYWdlciwg Kiprd2FyZ3MpOgogICAgICAgICByZXR1cm4gKAotICAgICAgICAgICAgICAgICAgICgKLSAgICAg ICAgICAgICAgICAgICAgICAga3dhcmdzWydpc19jYXRhbG9nJ10gYW5kICgoCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuQ0FUQUxPR19E Ql9TVVBQT1JURUQgYW5kIGt3YXJnc1snZGJfc3VwcG9ydCddCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSBvciAoCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBzZWxmLkNBVEFMT0dfREJfU1VQ UE9SVEVEIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBub3Qga3dhcmdzWydkYl9zdXBwb3J0J10gYW5kCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuU1VQUE9SVEVEX1NDSEVN QVMgaXMgTm9uZSBvciAoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAga3dhcmdzWydzY2hlbWFfbmFtZSddIGluIHNlbGYuU1VQUE9S VEVEX1NDSEVNQVMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICkpCi0gICAgICAgICAgICAgICAgICAgKSBvciAoCi0gICAgICAgICAgICAgICAgICAg ICAgIG5vdCBrd2FyZ3NbJ2lzX2NhdGFsb2cnXSBhbmQgc2VsZi5DQVRBTE9HX0RCX1NVUFBPUlRF RAotICAgICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgICAgICkgYW5kIENvbGxlY3Rpb25O b2RlTW9kdWxlLkJhY2tlbmRTdXBwb3J0ZWQoCi0gICAgICAgICAgICBzZWxmLCBtYW5hZ2VyLCAq Kmt3YXJncworICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAg ICAgICAga3dhcmdzWydpc19jYXRhbG9nJ10gYW5kCisgICAgICAgICAgICAgICAgICAgICgKKyAg ICAgICAgICAgICAgICAgICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxm LkNBVEFMT0dfREJfU1VQUE9SVEVEIGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3 YXJnc1snZGJfc3VwcG9ydCddCisgICAgICAgICAgICAgICAgICAgICAgICApIG9yICgKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBub3Qgc2VsZi5DQVRBTE9HX0RCX1NVUFBPUlRFRCBhbmQK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3Qga3dhcmdzWworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnZGJfc3VwcG9ydCddIGFuZAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5TVVBQT1JURURf U0NIRU1BUyBpcyBOb25lIG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJn c1sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzY2hlbWFfbmFtZSddIGlu IHNlbGYuU1VQUE9SVEVEX1NDSEVNQVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisg ICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAg ICAgICAgICApIG9yCisgICAgICAgICAgICAgICAgKAorICAgICAgICAgICAgICAgICAgICBub3Qg a3dhcmdzWydpc19jYXRhbG9nJ10gYW5kIHNlbGYuQ0FUQUxPR19EQl9TVVBQT1JURUQKKyAgICAg ICAgICAgICAgICApCisgICAgICAgICAgICApIGFuZAorICAgICAgICAgICAgQ29sbGVjdGlvbk5v ZGVNb2R1bGUuQmFja2VuZFN1cHBvcnRlZChzZWxmLCBtYW5hZ2VyLCAqKmt3YXJncykKICAgICAg ICAgKQogCiAgICAgQHByb3BlcnR5CkBAIC04Myw3ICs5MSw3IEBAIGNsYXNzIERhdGFUeXBlUmVh ZGVyOgogICAgICAgLSBSZXR1cm5zIGRhdGEtdHlwZXMgb24gdGhlIGJhc2lzIG9mIHRoZSBjb25k aXRpb24gcHJvdmlkZWQuCiAgICAgIiIiCiAKLSAgICBkZWYgZ2V0X3R5cGVzKHNlbGYsIGNvbm4s IGNvbmRpdGlvbiwgYWRkX3NlcmlhbHM9RmFsc2UsIHNjaGVtYV9vaWQgPSAnJyk6CisgICAgZGVm IGdldF90eXBlcyhzZWxmLCBjb25uLCBjb25kaXRpb24sIGFkZF9zZXJpYWxzPUZhbHNlLCBzY2hl bWFfb2lkPScnKToKICAgICAgICAgIiIiCiAgICAgICAgIFJldHVybnMgZGF0YS10eXBlcyBpbmNs dWRpbmcgY2FsY3VsYXRpb24gZm9yIExlbmd0aCBhbmQgUHJlY2lzaW9uLgogCkBAIC0xMDYsNyAr MTE0LDcgQEAgY2xhc3MgRGF0YVR5cGVSZWFkZXI6CiAgICAgICAgICAgICAgICAgICAgICcjezB9 IycuZm9ybWF0KHNlbGYubWFuYWdlci52ZXJzaW9uKQogICAgICAgICAgICAgICAgICkKICAgICAg ICAgICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKLSAgICAgICAgICAgICAgICAiLyIuam9pbihb c2VsZi5kYXRhX3R5cGVfdGVtcGxhdGVfcGF0aCwnZ2V0X3R5cGVzLnNxbCddKSwKKyAgICAgICAg ICAgICAgICAiLyIuam9pbihbc2VsZi5kYXRhX3R5cGVfdGVtcGxhdGVfcGF0aCwgJ2dldF90eXBl cy5zcWwnXSksCiAgICAgICAgICAgICAgICAgY29uZGl0aW9uPWNvbmRpdGlvbiwKICAgICAgICAg ICAgICAgICBhZGRfc2VyaWFscz1hZGRfc2VyaWFscywKICAgICAgICAgICAgICAgICBzY2hlbWFf b2lkPXNjaGVtYV9vaWQKQEAgLTEyNSw3ICsxMzMsOCBAQCBjbGFzcyBEYXRhVHlwZVJlYWRlcjoK IAogICAgICAgICAgICAgICAgICMgQ2hlY2sgaWYgdGhlIHR5cGUgd2lsbCBoYXZlIGxlbmd0aCBh bmQgcHJlY2lzaW9uIG9yIG5vdAogICAgICAgICAgICAgICAgIGlmIHJvd1snZWxlbW9pZCddOgot ICAgICAgICAgICAgICAgICAgICBsZW5ndGgsIHByZWNpc2lvbiwgdHlwZXZhbCA9IHNlbGYuZ2V0 X2xlbmd0aF9wcmVjaXNpb24ocm93WydlbGVtb2lkJ10pCisgICAgICAgICAgICAgICAgICAgIGxl bmd0aCwgcHJlY2lzaW9uLCB0eXBldmFsID0gc2VsZi5nZXRfbGVuZ3RoX3ByZWNpc2lvbigKKyAg ICAgICAgICAgICAgICAgICAgICAgIHJvd1snZWxlbW9pZCddKQogCiAgICAgICAgICAgICAgICAg aWYgbGVuZ3RoOgogICAgICAgICAgICAgICAgICAgICBtaW5fdmFsID0gMCBpZiB0eXBldmFsID09 ICdEJyBlbHNlIDEKQEAgLTE2NywxMSArMTc2LDE2IEBAIGNsYXNzIERhdGFUeXBlUmVhZGVyOgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDE1LCAndmFyY2hhcltdJywgJ2No YXJhY3RlciB2YXJ5aW5nW10nKToKICAgICAgICAgICAgICAgICB0eXBldmFsID0gJ0wnCiAgICAg ICAgICAgICBlbGlmIGVsZW1vaWRfb3JfbmFtZSBpbiAoMTA4MywgJ3RpbWUnLCAndGltZSB3aXRo b3V0IHRpbWUgem9uZScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTEx NCwgJ3RpbWVzdGFtcCcsICd0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUnLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExMTUsICd0aW1lc3RhbXBbXScsICd0aW1lc3Rh bXAgd2l0aG91dCB0aW1lIHpvbmVbXScsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMTE4MywgJ3RpbWVbXScsICd0aW1lIHdpdGhvdXQgdGltZSB6b25lW10nLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExODQsICd0aW1lc3RhbXB0eicsICd0aW1l c3RhbXAgd2l0aCB0aW1lIHpvbmUnLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDExODUsICd0aW1lc3RhbXB0eltdJywgJ3RpbWVzdGFtcCB3aXRoIHRpbWUgem9uZVtdJywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTE0LCAndGltZXN0YW1wJywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGltZXN0YW1wIHdpdGhvdXQg dGltZSB6b25lJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTE1LCAn dGltZXN0YW1wW10nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aW1l c3RhbXAgd2l0aG91dCB0aW1lIHpvbmVbXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMTE4MywgJ3RpbWVbXScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3RpbWUgd2l0aG91dCB0aW1lIHpvbmVbXScsCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMTE4NCwgJ3RpbWVzdGFtcHR6JywKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAndGltZXN0YW1wIHdpdGggdGltZSB6b25lJywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAxMTg1LCAndGltZXN0YW1wdHpbXScsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpbWVzdGFtcCB3aXRoIHRpbWUgem9uZVtd JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTg2LCAnaW50ZXJ2YWwn LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExODcsICdpbnRlcnZhbFtd JywgJ2ludGVydmFsW10nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEy NjYsICd0aW1ldHonLCAndGltZSB3aXRoIHRpbWUgem9uZScsCkBAIC0yMDUsOCArMjE5LDggQEAg Y2xhc3MgRGF0YVR5cGVSZWFkZXI6CiAgICAgICAgIGFycmF5ID0gJycKICAgICAgICAgbGVuZ3Ro ID0gJycKIAotICAgICAgICAjIEFib3ZlIDcuNCwgZm9ybWF0X3R5cGUgYWxzbyBzZW5kcyB0aGUg c2NoZW1hIG5hbWUgaWYgaXQncyBub3QgaW5jbHVkZWQKLSAgICAgICAgIyBpbiB0aGUgc2VhcmNo X3BhdGgsIHNvIHdlIG5lZWQgdG8gc2tpcCBpdCBpbiB0aGUgdHlwbmFtZQorICAgICAgICAjIEFi b3ZlIDcuNCwgZm9ybWF0X3R5cGUgYWxzbyBzZW5kcyB0aGUgc2NoZW1hIG5hbWUgaWYgaXQncyBu b3QKKyAgICAgICAgIyBpbmNsdWRlZCBpbiB0aGUgc2VhcmNoX3BhdGgsIHNvIHdlIG5lZWQgdG8g c2tpcCBpdCBpbiB0aGUgdHlwbmFtZQogICAgICAgICBpZiB0eXBuYW1lLmZpbmQoc2NoZW1hICsg JyIuJykgPj0gMDoKICAgICAgICAgICAgIG5hbWUgPSB0eXBuYW1lW2xlbihzY2hlbWEpICsgM10K ICAgICAgICAgZWxpZiB0eXBuYW1lLmZpbmQoc2NoZW1hICsgJy4nKSA+PSAwOgpAQCAtMjM1LDIy ICsyNDksMjQgQEAgY2xhc3MgRGF0YVR5cGVSZWFkZXI6CiAgICAgICAgIGlmIHR5cG1vZCAhPSAt MToKICAgICAgICAgICAgIGxlbmd0aCA9ICcoJwogICAgICAgICAgICAgaWYgbmFtZSA9PSAnbnVt ZXJpYyc6Ci0gICAgICAgICAgICAgICAgX2xlbiA9ICh0eXBtb2QgLSA0KSA+PiAxNjsKLSAgICAg ICAgICAgICAgICBfcHJlYyA9ICh0eXBtb2QgLSA0KSAmIDB4ZmZmZjsKKyAgICAgICAgICAgICAg ICBfbGVuID0gKHR5cG1vZCAtIDQpID4+IDE2CisgICAgICAgICAgICAgICAgX3ByZWMgPSAodHlw bW9kIC0gNCkgJiAweGZmZmYKICAgICAgICAgICAgICAgICBsZW5ndGggKz0gc3RyKF9sZW4pCiAg ICAgICAgICAgICAgICAgaWYgX3ByZWMgaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAgICAgICAg IGxlbmd0aCArPSAnLCcgKyBzdHIoX3ByZWMpCi0gICAgICAgICAgICBlbGlmIG5hbWUgPT0gJ3Rp bWUnIG9yIFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID09ICd0aW1ldHonIG9y IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lID09ICd0aW1lIHdpdGhvdXQgdGlt ZSB6b25lJyBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9PSAndGltZSB3 aXRoIHRpbWUgem9uZScgb3IgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT0g J3RpbWVzdGFtcCcgb3IgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUgPT0gJ3Rp bWVzdGFtcHR6JyBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSA9PSAndGlt ZXN0YW1wIHdpdGhvdXQgdGltZSB6b25lJyBvciBcCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgbmFtZSA9PSAndGltZXN0YW1wIHdpdGggdGltZSB6b25lJyBvciBcCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgbmFtZSA9PSAnYml0JyBvciBcCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgbmFtZSA9PSAnYml0IHZhcnlpbmcnIG9yIFwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICBuYW1lID09ICd2YXJiaXQnOgorICAgICAgICAgICAgZWxpZiAoCisgICAgICAgICAgICAg ICAgbmFtZSA9PSAndGltZScgb3IKKyAgICAgICAgICAgICAgICBuYW1lID09ICd0aW1ldHonIG9y CisgICAgICAgICAgICAgICAgbmFtZSA9PSAndGltZSB3aXRob3V0IHRpbWUgem9uZScgb3IKKyAg ICAgICAgICAgICAgICBuYW1lID09ICd0aW1lIHdpdGggdGltZSB6b25lJyBvcgorICAgICAgICAg ICAgICAgIG5hbWUgPT0gJ3RpbWVzdGFtcCcgb3IKKyAgICAgICAgICAgICAgICBuYW1lID09ICd0 aW1lc3RhbXB0eicgb3IKKyAgICAgICAgICAgICAgICBuYW1lID09ICd0aW1lc3RhbXAgd2l0aG91 dCB0aW1lIHpvbmUnIG9yCisgICAgICAgICAgICAgICAgbmFtZSA9PSAndGltZXN0YW1wIHdpdGgg dGltZSB6b25lJyBvcgorICAgICAgICAgICAgICAgIG5hbWUgPT0gJ2JpdCcgb3IKKyAgICAgICAg ICAgICAgICBuYW1lID09ICdiaXQgdmFyeWluZycgb3IKKyAgICAgICAgICAgICAgICBuYW1lID09 ICd2YXJiaXQnCisgICAgICAgICAgICApOgogICAgICAgICAgICAgICAgIF9wcmVjID0gMAogICAg ICAgICAgICAgICAgIF9sZW4gPSB0eXBtb2QKICAgICAgICAgICAgICAgICBsZW5ndGggKz0gc3Ry KF9sZW4pCkBAIC01NjcsNyArNTgzLDggQEAgY2xhc3MgVmFjdXVtU2V0dGluZ3M6CiAgICAgICAg IGVsaWYgdHlwZSBpcyAndG9hc3QnOgogICAgICAgICAgICAgZm9yIHJvdyBpbiByZXNbJ3Jvd3Mn XToKICAgICAgICAgICAgICAgICByb3dfb2xkX25hbWUgPSByb3dbJ25hbWUnXQotICAgICAgICAg ICAgICAgIHJvd19uYW1lID0gJ3RvYXN0X3swfScuZm9ybWF0KHZhY3V1bV9maWVsZHNbdHlwZV1b cm93X29sZF9uYW1lXVswXSkKKyAgICAgICAgICAgICAgICByb3dfbmFtZSA9ICd0b2FzdF97MH0n LmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgdmFjdXVtX2ZpZWxkc1t0eXBlXVtyb3dfb2xk X25hbWVdWzBdKQogICAgICAgICAgICAgICAgIHJvd1snbmFtZSddID0gdmFjdXVtX2ZpZWxkc1t0 eXBlXVtyb3dfb2xkX25hbWVdWzBdCiAgICAgICAgICAgICAgICAgcm93WydsYWJlbCddID0gdmFj dXVtX2ZpZWxkc1t0eXBlXVtyb3dfb2xkX25hbWVdWzFdCiAgICAgICAgICAgICAgICAgcm93Wydj b2x1bW5fdHlwZSddID0gdmFjdXVtX2ZpZWxkc1t0eXBlXVtyb3dfb2xkX25hbWVdWzJdCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy92aWV3cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL19faW5pdF9fLnB5CmluZGV4 IDJjNTFmMTQzLi4xNWI5NTU5YyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvX19pbml0X18ucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvX19pbml0X18ucHkKQEAgLTExLDE5ICsxMSwyMCBAQAogCiBmcm9tIGZ1bmN0 b29scyBpbXBvcnQgd3JhcHMKIAotaW1wb3J0IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBz LnNlcnZlcnMuZGF0YWJhc2VzIGFzIGRhdGFiYXNlcwogaW1wb3J0IHNpbXBsZWpzb24gYXMganNv bgogZnJvbSBmbGFzayBpbXBvcnQgcmVuZGVyX3RlbXBsYXRlLCByZXF1ZXN0LCBqc29uaWZ5LCBj dXJyZW50X2FwcAogZnJvbSBmbGFza19iYWJlbCBpbXBvcnQgZ2V0dGV4dAorCitpbXBvcnQgcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2Vz Citmcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93 c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMuc2NoZW1hcy51dGlscyBpbXBvcnQg XAogICAgIFNjaGVtYUNoaWxkTW9kdWxlLCBwYXJzZV9ydWxlX2RlZmluaXRpb24sIFZhY3V1bVNl dHRpbmdzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudXRpbHMg aW1wb3J0IHBhcnNlX3ByaXZfZnJvbV9kYiwgXAorICAgIHBhcnNlX3ByaXZfdG9fZGIKIGZyb20g cGdhZG1pbi5icm93c2VyLnV0aWxzIGltcG9ydCBQR0NoaWxkTm9kZVZpZXcKIGZyb20gcGdhZG1p bi51dGlscy5hamF4IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9l cnJvciwgXAotICAgIG1ha2VfcmVzcG9uc2UgYXMgYWpheF9yZXNwb25zZSwgYmFkX3JlcXVlc3Qs IGdvbmUKKyAgICBtYWtlX3Jlc3BvbnNlIGFzIGFqYXhfcmVzcG9uc2UsIGdvbmUKIGZyb20gcGdh ZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKLWZyb20gcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy51dGlscyBpbXBvcnQgcGFyc2VfcHJpdl9mcm9tX2RiLFwK LSAgICBwYXJzZV9wcml2X3RvX2RiCi1mcm9tIGNvbmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklW RVIKIAogIiIiCiAgICAgVGhpcyBtb2R1bGUgaXMgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcg dHdvIG5vZGVzCkBAIC0xNzEsMTAgKzE3MiwxMyBAQCBkZWYgY2hlY2tfcHJlY29uZGl0aW9uKGYp OgogICAgICAgICAgICAga3dhcmdzWydzaWQnXQogICAgICAgICApCiAgICAgICAgIHNlbGYuY29u biA9IHNlbGYubWFuYWdlci5jb25uZWN0aW9uKGRpZD1rd2FyZ3NbJ2RpZCddKQotICAgICAgICBz ZWxmLmRhdGxhc3RzeXNvaWQgPSBzZWxmLm1hbmFnZXIuZGJfaW5mb1sKLSAgICAgICAgICAgIGt3 YXJnc1snZGlkJ10KLSAgICAgICAgXVsnZGF0bGFzdHN5c29pZCddIGlmIHNlbGYubWFuYWdlci5k Yl9pbmZvIGlzIG5vdCBOb25lIGFuZCBcCi0gICAgICAgICAgICBrd2FyZ3NbJ2RpZCddIGluIHNl bGYubWFuYWdlci5kYl9pbmZvIGVsc2UgMAorICAgICAgICBzZWxmLmRhdGxhc3RzeXNvaWQgPSAw CisgICAgICAgIGlmICgKKyAgICAgICAgICAgIHNlbGYubWFuYWdlci5kYl9pbmZvIGlzIG5vdCBO b25lIGFuZAorICAgICAgICAgICAga3dhcmdzWydkaWQnXSBpbiBzZWxmLm1hbmFnZXIuZGJfaW5m bworICAgICAgICApOgorICAgICAgICAgICAgc2VsZi5kYXRsYXN0c3lzb2lkID0gc2VsZi5tYW5h Z2VyLmRiX2luZm9ba3dhcmdzWydkaWQnXV1bCisgICAgICAgICAgICAgICAgJ2RhdGxhc3RzeXNv aWQnXQogCiAgICAgICAgICMgU2V0IHRlbXBsYXRlIHBhdGggZm9yIHNxbCBzY3JpcHRzCiAgICAg ICAgIGlmIHNlbGYubWFuYWdlci5zZXJ2ZXJfdHlwZSA9PSAnZ3BkYic6CkBAIC0xODUsNyArMTg5 LDggQEAgZGVmIGNoZWNrX3ByZWNvbmRpdGlvbihmKToKICAgICAgICAgICAgIF90ZW1wID0gc2Vs Zi5wZ190ZW1wbGF0ZV9wYXRoKHNlbGYubWFuYWdlci52ZXJzaW9uKQogICAgICAgICBzZWxmLnRl bXBsYXRlX3BhdGggPSBzZWxmLnRlbXBsYXRlX2luaXRpYWwgKyAnLycgKyBfdGVtcAogCi0gICAg ICAgIHNlbGYuY29sdW1uX3RlbXBsYXRlX3BhdGggPSAnY29sdW1uL3NxbC8jezB9IycuZm9ybWF0 KHNlbGYubWFuYWdlci52ZXJzaW9uKQorICAgICAgICBzZWxmLmNvbHVtbl90ZW1wbGF0ZV9wYXRo ID0gJ2NvbHVtbi9zcWwvI3swfSMnLmZvcm1hdCgKKyAgICAgICAgICAgIHNlbGYubWFuYWdlci52 ZXJzaW9uKQogCiAgICAgICAgIHJldHVybiBmKCphcmdzLCAqKmt3YXJncykKIApAQCAtMzU1LDEx ICszNjAsMTEgQEAgY2xhc3MgVmlld05vZGUoUEdDaGlsZE5vZGVWaWV3LCBWYWN1dW1TZXR0aW5n cyk6CiAgICAgICAgICAgICByZXR1cm4gZ29uZShnZXR0ZXh0KCIiIkNvdWxkIG5vdCBmaW5kIHRo ZSB2aWV3LiIiIikpCiAKICAgICAgICAgcmVzID0gc2VsZi5ibHVlcHJpbnQuZ2VuZXJhdGVfYnJv d3Nlcl9ub2RlKAotICAgICAgICAgICAgICAgIHJzZXRbJ3Jvd3MnXVswXVsnb2lkJ10sCi0gICAg ICAgICAgICAgICAgc2NpZCwKLSAgICAgICAgICAgICAgICByc2V0Wydyb3dzJ11bMF1bJ25hbWUn XSwKLSAgICAgICAgICAgICAgICBpY29uPSJpY29uLXZpZXciCi0gICAgICAgICAgICApCisgICAg ICAgICAgICByc2V0Wydyb3dzJ11bMF1bJ29pZCddLAorICAgICAgICAgICAgc2NpZCwKKyAgICAg ICAgICAgIHJzZXRbJ3Jvd3MnXVswXVsnbmFtZSddLAorICAgICAgICAgICAgaWNvbj0iaWNvbi12 aWV3IgorICAgICAgICApCiAKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKICAg ICAgICAgICAgIGRhdGE9cmVzLApAQCAtNzYzLDcgKzc2OCw4IEBAIGNsYXNzIFZpZXdOb2RlKFBH Q2hpbGROb2RlVmlldywgVmFjdXVtU2V0dGluZ3MpOgogCiAgICAgICAgIHNlbGYuaW5kZXhfdGVt cF9wYXRoID0gJ2luZGV4JwogICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o W3NlbGYuaW5kZXhfdGVtcF9wYXRoLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdzcWwvI3swfSMvY29sdW1uX2RldGFpbHMuc3FsJy5mb3JtYXQoc2VsZi5tYW5hZ2Vy LnZlcnNpb24pXSksIGlkeD1pZHgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3NxbC8jezB9Iy9jb2x1bW5fZGV0YWlscy5zcWwnLmZvcm1hdCgKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLnZlcnNpb24pXSks IGlkeD1pZHgpCiAgICAgICAgIHN0YXR1cywgcnNldCA9IHNlbGYuY29ubi5leGVjdXRlXzJkYXJy YXkoU1FMKQogICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAgICAgICAgICAgcmV0dXJuIGludGVy bmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yc2V0KQpAQCAtODgwLDcgKzg4Niw4IEBAIGNsYXNz IFZpZXdOb2RlKFBHQ2hpbGROb2RlVmlldywgVmFjdXVtU2V0dGluZ3MpOgogCiAgICAgICAgIFNR TF9kYXRhID0gJycKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKAotICAg ICAgICAgICAgW3NlbGYudHJpZ2dlcl90ZW1wX3BhdGgsICdzcWwvI3swfSMvcHJvcGVydGllcy5z cWwnLmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbildKSwKKyAgICAgICAgICAgIFtzZWxmLnRy aWdnZXJfdGVtcF9wYXRoLAorICAgICAgICAgICAgICdzcWwvI3swfSMvcHJvcGVydGllcy5zcWwn LmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbildKSwKICAgICAgICAgICAgIHRpZD12aWQpCiAK ICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCkBAIC04 ODksNyArODk2LDggQEAgY2xhc3MgVmlld05vZGUoUEdDaGlsZE5vZGVWaWV3LCBWYWN1dW1TZXR0 aW5ncyk6CiAKICAgICAgICAgZm9yIHRyaWdnZXIgaW4gZGF0YVsncm93cyddOgogICAgICAgICAg ICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKAotICAgICAgICAgICAgICAgIFtzZWxm LnRyaWdnZXJfdGVtcF9wYXRoLCAnc3FsLyN7MH0jL3Byb3BlcnRpZXMuc3FsJy5mb3JtYXQoc2Vs Zi5tYW5hZ2VyLnZlcnNpb24pXSksCisgICAgICAgICAgICAgICAgW3NlbGYudHJpZ2dlcl90ZW1w X3BhdGgsCisgICAgICAgICAgICAgICAgICdzcWwvI3swfSMvcHJvcGVydGllcy5zcWwnLmZvcm1h dChzZWxmLm1hbmFnZXIudmVyc2lvbildKSwKICAgICAgICAgICAgICAgICB0aWQ9dmlkLAogICAg ICAgICAgICAgICAgIHRyaWQ9dHJpZ2dlclsnb2lkJ10KICAgICAgICAgICAgICkKQEAgLTkxNywy NyArOTI1LDMzIEBAIGNsYXNzIFZpZXdOb2RlKFBHQ2hpbGROb2RlVmlldywgVmFjdXVtU2V0dGlu Z3MpOgogICAgICAgICAgICAgcmVzX3Jvd3NbJ3NjaGVtYSddID0gc2VsZi52aWV3X3NjaGVtYQog CiAgICAgICAgICAgICAjIEdldCB0cmlnZ2VyIGZ1bmN0aW9uIHdpdGggaXRzIHNjaGVtYSBuYW1l Ci0gICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NlbGYudHJpZ2dl cl90ZW1wX3BhdGgsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdzcWwvI3swfSMvZ2V0X3RyaWdnZXJmdW5jdGlvbnMuc3FsJy5mb3JtYXQoc2VsZi5tYW5hZ2Vy LnZlcnNpb24pXSksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGdmb2lkPXJl c19yb3dzWyd0Z2ZvaWQnXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93 X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50LnNob3dfc3lzdGVtX29iamVjdHMpCisgICAg ICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oWworICAgICAgICAgICAgICAg IHNlbGYudHJpZ2dlcl90ZW1wX3BhdGgsCisgICAgICAgICAgICAgICAgJ3NxbC8jezB9Iy9nZXRf dHJpZ2dlcmZ1bmN0aW9ucy5zcWwnLmZvcm1hdCgKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5t YW5hZ2VyLnZlcnNpb24pXSksCisgICAgICAgICAgICAgICAgdGdmb2lkPXJlc19yb3dzWyd0Z2Zv aWQnXSwKKyAgICAgICAgICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPXNlbGYuYmx1ZXByaW50 LnNob3dfc3lzdGVtX29iamVjdHMpCiAKICAgICAgICAgICAgIHN0YXR1cywgcmVzdWx0ID0gc2Vs Zi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCiAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgogICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzdWx0 KQogCi0gICAgICAgICAgICAjIFVwZGF0ZSB0aGUgdHJpZ2dlciBmdW5jdGlvbiB3aGljaCB3ZSBo YXZlIGZldGNoZWQgd2l0aCBzY2hlbWEgbmFtZQotICAgICAgICAgICAgaWYgJ3Jvd3MnIGluIHJl c3VsdCBhbmQgbGVuKHJlc3VsdFsncm93cyddKSA+IDAgYW5kIFwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAndGZ1bmN0aW9ucycgaW4gcmVzdWx0Wydyb3dzJ11bMF06CisgICAgICAgICAg ICAjIFVwZGF0ZSB0aGUgdHJpZ2dlciBmdW5jdGlvbiB3aGljaCB3ZSBoYXZlIGZldGNoZWQgd2l0 aCBzY2hlbWFuYW1lCisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgJ3Jvd3MnIGlu IHJlc3VsdCBhbmQgbGVuKHJlc3VsdFsncm93cyddKSA+IDAgYW5kCisgICAgICAgICAgICAgICAg J3RmdW5jdGlvbnMnIGluIHJlc3VsdFsncm93cyddWzBdCisgICAgICAgICAgICApOgogICAgICAg ICAgICAgICAgIHJlc19yb3dzWyd0ZnVuY3Rpb24nXSA9IHJlc3VsdFsncm93cyddWzBdWyd0ZnVu Y3Rpb25zJ10KIAogICAgICAgICAgICAgIyBGb3JtYXQgYXJndW1lbnRzCiAgICAgICAgICAgICBp ZiBsZW4ocmVzX3Jvd3NbJ2N1c3RvbV90Z2FyZ3MnXSkgPiAxOgotICAgICAgICAgICAgICAgIGZv cm1hdHRlZF9hcmdzID0gWyJ7MH0iLmZvcm1hdChhcmcpIGZvciBhcmcgaW4gcmVzX3Jvd3NbJ2N1 c3RvbV90Z2FyZ3MnXV0KKyAgICAgICAgICAgICAgICBmb3JtYXR0ZWRfYXJncyA9IFsiezB9Ii5m b3JtYXQoYXJnKSBmb3IgYXJnIGluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVzX3Jvd3NbJ2N1c3RvbV90Z2FyZ3MnXV0KICAgICAgICAgICAgICAgICByZXNfcm93c1sndGdh cmdzJ10gPSAnLCAnLmpvaW4oZm9ybWF0dGVkX2FyZ3MpCiAKICAgICAgICAgICAgIFNRTCA9IHJl bmRlcl90ZW1wbGF0ZSgiLyIuam9pbigKLSAgICAgICAgICAgICAgICBbc2VsZi50cmlnZ2VyX3Rl bXBfcGF0aCwgJ3NxbC8jezB9Iy9jcmVhdGUuc3FsJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNp b24pXSksCisgICAgICAgICAgICAgICAgW3NlbGYudHJpZ2dlcl90ZW1wX3BhdGgsCisgICAgICAg ICAgICAgICAgICdzcWwvI3swfSMvY3JlYXRlLnNxbCcuZm9ybWF0KHNlbGYubWFuYWdlci52ZXJz aW9uKV0pLAogICAgICAgICAgICAgICAgIGRhdGE9cmVzX3Jvd3MsIGRpc3BsYXlfY29tbWVudHM9 VHJ1ZSkKICAgICAgICAgICAgIFNRTF9kYXRhICs9ICdcbicKICAgICAgICAgICAgIFNRTF9kYXRh ICs9IFNRTApAQCAtOTU0LDcgKzk2OCw4IEBAIGNsYXNzIFZpZXdOb2RlKFBHQ2hpbGROb2RlVmll dywgVmFjdXVtU2V0dGluZ3MpOgogICAgICAgICBzZWxmLmluZGV4X3RlbXBfcGF0aCA9ICdpbmRl eCcKICAgICAgICAgU1FMX2RhdGEgPSAnJwogICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUo Ii8iLmpvaW4oCi0gICAgICAgICAgICBbc2VsZi5pbmRleF90ZW1wX3BhdGgsICdzcWwvI3swfSMv cHJvcGVydGllcy5zcWwnLmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbildKSwKKyAgICAgICAg ICAgIFtzZWxmLmluZGV4X3RlbXBfcGF0aCwKKyAgICAgICAgICAgICAnc3FsLyN7MH0jL3Byb3Bl cnRpZXMuc3FsJy5mb3JtYXQoc2VsZi5tYW5hZ2VyLnZlcnNpb24pXSksCiAgICAgICAgICAgICBk aWQ9ZGlkLAogICAgICAgICAgICAgdGlkPXZpZCkKICAgICAgICAgc3RhdHVzLCBkYXRhID0gc2Vs Zi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCkBAIC05NjQsNyArOTc5LDggQEAgY2xhc3MgVmlld05v ZGUoUEdDaGlsZE5vZGVWaWV3LCBWYWN1dW1TZXR0aW5ncyk6CiAgICAgICAgIGZvciBpbmRleCBp biBkYXRhWydyb3dzJ106CiAgICAgICAgICAgICByZXMgPSBbXQogICAgICAgICAgICAgU1FMID0g cmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKAotICAgICAgICAgICAgICAgIFtzZWxmLmluZGV4X3Rl bXBfcGF0aCwgJ3NxbC8jezB9Iy9wcm9wZXJ0aWVzLnNxbCcuZm9ybWF0KHNlbGYubWFuYWdlci52 ZXJzaW9uKV0pLAorICAgICAgICAgICAgICAgIFtzZWxmLmluZGV4X3RlbXBfcGF0aCwKKyAgICAg ICAgICAgICAgICAgJ3NxbC8jezB9Iy9wcm9wZXJ0aWVzLnNxbCcuZm9ybWF0KHNlbGYubWFuYWdl ci52ZXJzaW9uKV0pLAogICAgICAgICAgICAgICAgIGlkeD1pbmRleFsnb2lkJ10sCiAgICAgICAg ICAgICAgICAgZGlkPWRpZCwKICAgICAgICAgICAgICAgICB0aWQ9dmlkCkBAIC05ODAsNyArOTk2 LDggQEAgY2xhc3MgVmlld05vZGUoUEdDaGlsZE5vZGVWaWV3LCBWYWN1dW1TZXR0aW5ncyk6CiAg ICAgICAgICAgICBkYXRhID0gc2VsZi5nZXRfaW5kZXhfY29sdW1uX2RldGFpbHMoaW5kZXhbJ29p ZCddLCBkYXRhKQogCiAgICAgICAgICAgICBTUUwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4o Ci0gICAgICAgICAgICAgICAgW3NlbGYuaW5kZXhfdGVtcF9wYXRoLCAnc3FsLyN7MH0jL2NyZWF0 ZS5zcWwnLmZvcm1hdChzZWxmLm1hbmFnZXIudmVyc2lvbildKSwKKyAgICAgICAgICAgICAgICBb c2VsZi5pbmRleF90ZW1wX3BhdGgsCisgICAgICAgICAgICAgICAgICdzcWwvI3swfSMvY3JlYXRl LnNxbCcuZm9ybWF0KHNlbGYubWFuYWdlci52ZXJzaW9uKV0pLAogICAgICAgICAgICAgICAgIGRh dGE9ZGF0YSwgZGlzcGxheV9jb21tZW50cz1UcnVlKQogICAgICAgICAgICAgU1FMX2RhdGEgKz0g J1xuJwogICAgICAgICAgICAgU1FMX2RhdGEgKz0gU1FMCkBAIC0xMzM1LDcgKzEzNTIsOCBAQCBj bGFzcyBNVmlld05vZGUoVmlld05vZGUsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAgICAgICAg ICByZXR1cm4gTm9uZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKICAgICAg ICAgICAgIGlmIGxlbihyZXNbJ3Jvd3MnXSkgPT0gMDoKICAgICAgICAgICAgICAgICByZXR1cm4g Tm9uZSwgZ29uZSgKLSAgICAgICAgICAgICAgICAgICAgZ2V0dGV4dCgiQ291bGQgbm90IGZpbmQg dGhlIG1hdGVyaWFsaXplZCB2aWV3IG9uIHRoZSBzZXJ2ZXIuIikKKyAgICAgICAgICAgICAgICAg ICAgZ2V0dGV4dCgKKyAgICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUg bWF0ZXJpYWxpemVkIHZpZXcgb24gdGhlIHNlcnZlci4iKQogICAgICAgICAgICAgICAgICkKIAog ICAgICAgICAgICAgb2xkX2RhdGEgPSByZXNbJ3Jvd3MnXVswXQpAQCAtMTM2MCwxOCArMTM3OCwy NiBAQCBjbGFzcyBNVmlld05vZGUoVmlld05vZGUsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFbJ3ZhY3V1bV9kYXRhJ11bJ3Jlc2V0J10u YXBwZW5kKGl0ZW0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZToKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZF9kYXRhW2l0ZW1bJ25hbWUnXV0gaXMgTm9u ZSBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmbG9hdChvbGRf ZGF0YVtpdGVtWyduYW1lJ11dKSAhPSBmbG9hdChpdGVtWyd2YWx1ZSddKSkpOgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsb2F0KG9sZF9kYXRhW2l0ZW1bJ25hbWUnXV0p ICE9IGZsb2F0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1b J3ZhbHVlJ10pKSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWyd2 YWN1dW1fZGF0YSddWydjaGFuZ2VkJ10uYXBwZW5kKGl0ZW0pCiAKLSAgICAgICAgICAgIGlmICgn YXV0b3ZhY3V1bV9lbmFibGVkJyBpbiBkYXRhIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAg b2xkX2RhdGFbJ2F1dG92YWN1dW1fZW5hYmxlZCddIGlzIG5vdCBOb25lKToKLSAgICAgICAgICAg ICAgICBpZiAoZGF0YVsnYXV0b3ZhY3V1bV9lbmFibGVkJ10gIT0KLSAgICAgICAgICAgICAgICAg ICAgICAgIG9sZF9kYXRhWydhdXRvdmFjdXVtX2VuYWJsZWQnXSk6CisgICAgICAgICAgICBpZiAo CisgICAgICAgICAgICAgICAgJ2F1dG92YWN1dW1fZW5hYmxlZCcgaW4gZGF0YSBhbmQKKyAgICAg ICAgICAgICAgICBvbGRfZGF0YVsnYXV0b3ZhY3V1bV9lbmFibGVkJ10gaXMgbm90IE5vbmUKKyAg ICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICBk YXRhWydhdXRvdmFjdXVtX2VuYWJsZWQnXSAhPQorICAgICAgICAgICAgICAgICAgICBvbGRfZGF0 YVsnYXV0b3ZhY3V1bV9lbmFibGVkJ10KKyAgICAgICAgICAgICAgICApOgogICAgICAgICAgICAg ICAgICAgICBkYXRhWyd2YWN1dW1fZGF0YSddWydjaGFuZ2VkJ10uYXBwZW5kKAogICAgICAgICAg ICAgICAgICAgICAgICAgeyduYW1lJzogJ2F1dG92YWN1dW1fZW5hYmxlZCcsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3ZhbHVlJzogZGF0YVsnYXV0b3ZhY3V1bV9lbmFibGVkJ119KQotICAg ICAgICAgICAgZWxpZiAoJ2F1dG92YWN1dW1fZW5hYmxlZCcgaW4gZGF0YSBhbmQgJ2F1dG92YWN1 dW1fY3VzdG9tJyBpbiBkYXRhIGFuZAotICAgICAgICAgICAgICAgICAgICAgICAgICBvbGRfZGF0 YVsnYXV0b3ZhY3V1bV9lbmFibGVkJ10gaXMgTm9uZSBhbmQgZGF0YVsnYXV0b3ZhY3V1bV9jdXN0 b20nXSk6CisgICAgICAgICAgICBlbGlmICgKKyAgICAgICAgICAgICAgICAnYXV0b3ZhY3V1bV9l bmFibGVkJyBpbiBkYXRhIGFuZAorICAgICAgICAgICAgICAgICdhdXRvdmFjdXVtX2N1c3RvbScg aW4gZGF0YSBhbmQKKyAgICAgICAgICAgICAgICBvbGRfZGF0YVsnYXV0b3ZhY3V1bV9lbmFibGVk J10gaXMgTm9uZSBhbmQgZGF0YVsKKyAgICAgICAgICAgICAgICAgICAgJ2F1dG92YWN1dW1fY3Vz dG9tJ10pOgogICAgICAgICAgICAgICAgIGRhdGFbJ3ZhY3V1bV9kYXRhJ11bJ2NoYW5nZWQnXS5h cHBlbmQoCiAgICAgICAgICAgICAgICAgICAgIHsnbmFtZSc6ICdhdXRvdmFjdXVtX2VuYWJsZWQn LAogICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJzogZGF0YVsnYXV0b3ZhY3V1bV9lbmFibGVk J119KQpAQCAtMTM4OCwxOCArMTQxNCwyNyBAQCBjbGFzcyBNVmlld05vZGUoVmlld05vZGUsIFZh Y3V1bVNldHRpbmdzKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFb J3ZhY3V1bV9kYXRhJ11bJ3Jlc2V0J10uYXBwZW5kKGl0ZW0pCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG9sZF9k YXRhW3RvYXN0X2tleV0gaXMgTm9uZSBvcgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmbG9hdChvbGRfZGF0YVt0b2FzdF9rZXldKSAhPSBmbG9hdChpdGVtWyd2YWx1 ZSddKSkpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZsb2F0KG9sZF9k YXRhW3RvYXN0X2tleV0pICE9IGZsb2F0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGl0ZW1bJ3ZhbHVlJ10pKSk6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhWyd2YWN1dW1fZGF0YSddWydjaGFuZ2VkJ10uYXBwZW5kKGl0ZW0pCiAKLSAg ICAgICAgICAgIGlmICgndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJyBpbiBkYXRhIGFuZAotICAg ICAgICAgICAgICAgICAgICAgICAgb2xkX2RhdGFbJ3RvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCdd IGlzIG5vdCBOb25lKToKLSAgICAgICAgICAgICAgICBpZiAoZGF0YVsndG9hc3RfYXV0b3ZhY3V1 bV9lbmFibGVkJ10gIT0KLSAgICAgICAgICAgICAgICAgICAgICAgIG9sZF9kYXRhWyd0b2FzdF9h dXRvdmFjdXVtX2VuYWJsZWQnXSk6CisgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAg J3RvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCcgaW4gZGF0YSBhbmQKKyAgICAgICAgICAgICAgICBv bGRfZGF0YVsndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJ10gaXMgbm90IE5vbmUKKyAgICAgICAg ICAgICk6CisgICAgICAgICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICBkYXRhWyd0 b2FzdF9hdXRvdmFjdXVtX2VuYWJsZWQnXSAhPQorICAgICAgICAgICAgICAgICAgICBvbGRfZGF0 YVsndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJ10KKyAgICAgICAgICAgICAgICApOgogICAgICAg ICAgICAgICAgICAgICBkYXRhWyd2YWN1dW1fZGF0YSddWydjaGFuZ2VkJ10uYXBwZW5kKAogICAg ICAgICAgICAgICAgICAgICAgICAgeyduYW1lJzogJ3RvYXN0LmF1dG92YWN1dW1fZW5hYmxlZCcs CiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJzogZGF0YVsndG9hc3RfYXV0b3ZhY3V1 bV9lbmFibGVkJ119KQotICAgICAgICAgICAgZWxpZiAoJ3RvYXN0X2F1dG92YWN1dW1fZW5hYmxl ZCcgaW4gZGF0YSBhbmQgJ3RvYXN0X2F1dG92YWN1dW0nIGluIGRhdGEgYW5kCi0gICAgICAgICAg ICAgICAgICAgICAgICAgIG9sZF9kYXRhWyd0b2FzdF9hdXRvdmFjdXVtX2VuYWJsZWQnXSBpcyBO b25lIGFuZCBkYXRhWyd0b2FzdF9hdXRvdmFjdXVtJ10pOgorICAgICAgICAgICAgZWxpZiAoCisg ICAgICAgICAgICAgICAgJ3RvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCcgaW4gZGF0YSBhbmQKKyAg ICAgICAgICAgICAgICAndG9hc3RfYXV0b3ZhY3V1bScgaW4gZGF0YSBhbmQKKyAgICAgICAgICAg ICAgICBvbGRfZGF0YVsndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJ10gaXMgTm9uZSBhbmQKKyAg ICAgICAgICAgICAgICBkYXRhWyd0b2FzdF9hdXRvdmFjdXVtJ10KKyAgICAgICAgICAgICk6CiAg ICAgICAgICAgICAgICAgZGF0YVsndmFjdXVtX2RhdGEnXVsnY2hhbmdlZCddLmFwcGVuZCgKICAg ICAgICAgICAgICAgICAgICAgeyduYW1lJzogJ3RvYXN0LmF1dG92YWN1dW1fZW5hYmxlZCcsCiAg ICAgICAgICAgICAgICAgICAgICAndmFsdWUnOiBkYXRhWyd0b2FzdF9hdXRvdmFjdXVtX2VuYWJs ZWQnXX0pCkBAIC0xNDc1LDE0ICsxNTEwLDE3IEBAIGNsYXNzIE1WaWV3Tm9kZShWaWV3Tm9kZSwg VmFjdXVtU2V0dGluZ3MpOgogCiAgICAgICAgICAgICAjIGFkZCB2YWN1dW1fdG9hc3QgZGljdCB0 byB2YWN1dW1fZGF0YSBvbmx5IGlmCiAgICAgICAgICAgICAjIHRhYmxlICYgdG9hc3QncyBjdXN0 b20gYXV0b3ZhY3V1bSBpcyBlbmFibGVkCi0gICAgICAgICAgICBkYXRhWyd2YWN1dW1fZGF0YSdd ID0gKHZhY3V1bV90YWJsZSBpZiAoCisgICAgICAgICAgICBkYXRhWyd2YWN1dW1fZGF0YSddID0g W10KKyAgICAgICAgICAgIGlmICgKICAgICAgICAgICAgICAgICAnYXV0b3ZhY3V1bV9jdXN0b20n IGluIGRhdGEgYW5kCiAgICAgICAgICAgICAgICAgZGF0YVsnYXV0b3ZhY3V1bV9jdXN0b20nXSBp cyBUcnVlCi0gICAgICAgICAgICApIGVsc2UgW10pICsgKAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2YWN1dW1fdG9hc3QgaWYgKAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3RvYXN0X2F1dG92YWN1dW0nIGluIGRhdGEgYW5kCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhWyd0b2FzdF9hdXRvdmFj dXVtJ10gaXMgVHJ1ZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIGVs c2UgW10pCisgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgIGRhdGFbJ3ZhY3V1bV9kYXRh J10gPSB2YWN1dW1fdGFibGUKKyAgICAgICAgICAgIGlmICgKKyAgICAgICAgICAgICAgICAndG9h c3RfYXV0b3ZhY3V1bScgaW4gZGF0YSBhbmQKKyAgICAgICAgICAgICAgICBkYXRhWyd0b2FzdF9h dXRvdmFjdXVtJ10gaXMgVHJ1ZQorICAgICAgICAgICAgKToKKyAgICAgICAgICAgICAgICBkYXRh Wyd2YWN1dW1fZGF0YSddICs9IHZhY3V1bV90b2FzdAogCiAgICAgICAgICAgICBhY2xzID0gW10K ICAgICAgICAgICAgIHRyeToKQEAgLTE1NDUsMTUgKzE1ODMsMTkgQEAgY2xhc3MgTVZpZXdOb2Rl KFZpZXdOb2RlLCBWYWN1dW1TZXR0aW5ncyk6CiAKICAgICAgICAgIyBtZXJnZSB2YWN1dW0gbGlz dHMgaW50byBvbmUKICAgICAgICAgdmFjdXVtX3RhYmxlID0gW2l0ZW0gZm9yIGl0ZW0gaW4gcmVz dWx0Wyd2YWN1dW1fdGFibGUnXQotICAgICAgICAgICAgICAgICAgICAgICAgaWYgJ3ZhbHVlJyBp biBpdGVtLmtleXMoKSBhbmQgaXRlbVsndmFsdWUnXSBpcyBub3QgTm9uZV0KKyAgICAgICAgICAg ICAgICAgICAgICAgIGlmCisgICAgICAgICAgICAgICAgICAgICAgICAndmFsdWUnIGluIGl0ZW0u a2V5cygpIGFuZCBpdGVtWyd2YWx1ZSddIGlzIG5vdCBOb25lXQogICAgICAgICB2YWN1dW1fdG9h c3QgPSBbCiAgICAgICAgICAgICB7J25hbWUnOiAndG9hc3QuJyArIGl0ZW1bJ25hbWUnXSwgJ3Zh bHVlJzogaXRlbVsndmFsdWUnXX0KLSAgICAgICAgICAgIGZvciBpdGVtIGluIHJlc3VsdFsndmFj dXVtX3RvYXN0J10gaWYgJ3ZhbHVlJyBpbiBpdGVtLmtleXMoKSBhbmQgaXRlbVsndmFsdWUnXSBp cyBub3QgTm9uZV0KKyAgICAgICAgICAgIGZvciBpdGVtIGluIHJlc3VsdFsndmFjdXVtX3RvYXN0 J10gaWYKKyAgICAgICAgICAgICd2YWx1ZScgaW4gaXRlbS5rZXlzKCkgYW5kIGl0ZW1bJ3ZhbHVl J10gaXMgbm90IE5vbmVdCiAKICAgICAgICAgIyBhZGQgdmFjdXVtX3RvYXN0IGRpY3QgdG8gdmFj dXVtX2RhdGEgb25seSBpZgogICAgICAgICAjIHRvYXN0J3MgYXV0b3ZhY3V1bSBpcyBlbmFibGVk Ci0gICAgICAgIGlmICgndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJyBpbiByZXN1bHQgYW5kCi0g ICAgICAgICAgICAgICAgICAgIHJlc3VsdFsndG9hc3RfYXV0b3ZhY3V1bV9lbmFibGVkJ10gaXMg VHJ1ZSk6CisgICAgICAgIGlmICgKKyAgICAgICAgICAgICd0b2FzdF9hdXRvdmFjdXVtX2VuYWJs ZWQnIGluIHJlc3VsdCBhbmQKKyAgICAgICAgICAgIHJlc3VsdFsndG9hc3RfYXV0b3ZhY3V1bV9l bmFibGVkJ10gaXMgVHJ1ZQorICAgICAgICApOgogICAgICAgICAgICAgcmVzdWx0Wyd2YWN1dW1f ZGF0YSddID0gdmFjdXVtX3RhYmxlICsgdmFjdXVtX3RvYXN0CiAgICAgICAgIGVsc2U6CiAgICAg ICAgICAgICByZXN1bHRbJ3ZhY3V1bV9kYXRhJ10gPSB2YWN1dW1fdGFibGUKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL2NoaWxkcmVuL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvY2hpbGRyZW4vX19pbml0 X18ucHkKaW5kZXggZWFlMWZlOGUuLjBiNTUwMGEzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9jaGls ZHJlbi9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy9jaGlsZHJlbi9fX2luaXRfXy5weQpAQCAt NiwxMCArNiwxMCBAQCBEbyBub3QgcmVtb3ZlIHRoZXNlIGltcG9ydHMgYXMgdGhleSB3aWxsIGJl IGF1dG9tYXRpY2FsbHkgaW1wb3J0ZWQgYnkgdGhlIHZpZXcKIG1vZHVsZSBhcyBpdHMgY2hpbGRy ZW4KICIiIgogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcy5zY2hlbWFzLnRhYmxlcy5jb2x1bW4gXAotICBpbXBvcnQgYmx1ZXByaW50IGFzIGNvbHVt bnNfbW9kdWxlCisgICAgaW1wb3J0IGJsdWVwcmludCBhcyBjb2x1bW5zX21vZHVsZQogZnJvbSBw Z2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRh Ymxlcy5pbmRleGVzIFwKLSAgaW1wb3J0IGJsdWVwcmludCBhcyBpbmRleGVzX21vZHVsZXMKKyAg ICBpbXBvcnQgYmx1ZXByaW50IGFzIGluZGV4ZXNfbW9kdWxlcwogZnJvbSBwZ2FkbWluLmJyb3dz ZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy50cmlnZ2Vy cyBcCi0gIGltcG9ydCBibHVlcHJpbnQgYXMgdHJpZ2dlcnNfbW9kdWxlcworICAgIGltcG9ydCBi bHVlcHJpbnQgYXMgdHJpZ2dlcnNfbW9kdWxlcwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVy X2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRhYmxlcy5ydWxlcyBcCi0gIGltcG9y dCBibHVlcHJpbnQgYXMgcnVsZXNfbW9kdWxlcworICAgIGltcG9ydCBibHVlcHJpbnQgYXMgcnVs ZXNfbW9kdWxlcwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF92aWV3c19hZGQucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdzX2FkZC5weQppbmRleCAzZjQzOGUxNi4uZmI1Nzc2 MzggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfYWRkLnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfYWRkLnB5CkBAIC05Myw4ICs5Myw4IEBAIGNsYXNzIFZp ZXdzQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICBzZWxmLmRhdGFbInNj aGVtYSJdID0gc2VsZi5zY2hlbWFfbmFtZQogICAgICAgICBzZWxmLmRhdGFbIm93bmVyIl0gPSBk Yl91c2VyCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdCgKLSAgICAgICAgICAg IHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKyBzdHIoc2VsZi5zZXJ2 ZXJfaWQpCi0gICAgICAgICAgICArICcvJyArIHN0cihzZWxmLmRiX2lkKSArICcvJyArIHN0cihz ZWxmLnNjaGVtYV9pZCkgKyAnLycsCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1dGlscy5T RVJWRVJfR1JPVVApICsgJy8nICsgc3RyKHNlbGYuc2VydmVyX2lkKSArCisgICAgICAgICAgICAn LycgKyBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKyBzdHIoc2VsZi5zY2hlbWFfaWQpICsgJy8nLAog ICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuZGF0YSksIGNvbnRlbnRfdHlwZT0naHRt bC9qc29uJykKICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKIApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF92aWV3c19kZWxldGUucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdzX2RlbGV0ZS5weQppbmRleCA5ZDQ2M2MyNy4uYjk2 ODA0OGQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfZGVsZXRlLnB5Cisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3NfZGVsZXRlLnB5CkBAIC0yOCwxMSArMjgsMTAg QEAgY2xhc3MgVmlld3NEZWxldGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAg ICAgICAgICAgICJTRUxFQ1QgJ3Rlc3RfcGdhZG1pbicgV0lUSCBOTyBEQVRBO0FMVEVSIFRBQkxF ICVzLiVzIE9XTkVSIiBcCiAgICAgICAgICAgICAgICAgICIgVE8gJXMiCiAgICAgc2NlbmFyaW9z ID0gWwotICAgICAgICAoJ0RlbGV0ZSB2aWV3IHVuZGVyIHNjaGVtYSBub2RlJywgZGljdCh1cmw9 Jy9icm93c2VyL3ZpZXcvb2JqLycsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHZpZXdfbmFtZT0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgInRlc3Rfdmlld19kZWxldGVfJXMiICUKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcWxfcXVlcnk9 dmlld19zcWwpKSwKKyAgICAgICAgKCdEZWxldGUgdmlldyB1bmRlciBzY2hlbWEgbm9kZScsIGRp Y3QoCisgICAgICAgICAgICB1cmw9Jy9icm93c2VyL3ZpZXcvb2JqLycsCisgICAgICAgICAgICB2 aWV3X25hbWU9InRlc3Rfdmlld19kZWxldGVfJXMiICUgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0p LAorICAgICAgICAgICAgc3FsX3F1ZXJ5PXZpZXdfc3FsKSksCiAgICAgICAgICgnRGVsZXRlIG1h dGVyaWFsaXplZCB2aWV3IHVuZGVyIHNjaGVtYSBub2RlJywKICAgICAgICAgIGRpY3QodXJsPScv YnJvd3Nlci9tdmlldy9vYmovJywKICAgICAgICAgICAgICAgdmlld19uYW1lPSJ0ZXN0X212aWV3 X2RlbGV0ZV8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZXN0cy90ZXN0X3ZpZXdzX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld3Nf Z2V0LnB5CmluZGV4IDk0NGYzN2JhLi4xNGMwOGJmOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVz dHMvdGVzdF92aWV3c19nZXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF92aWV3c19nZXQu cHkKQEAgLTI4LDExICsyOCwxMCBAQCBjbGFzcyBWaWV3c0dldFRlc3RDYXNlKEJhc2VUZXN0R2Vu ZXJhdG9yKToKICAgICAgICAgICAgICAgICAgIlNFTEVDVCAndGVzdF9wZ2FkbWluJyBXSVRIIE5P IERBVEE7QUxURVIgVEFCTEUgJXMuJXMgT1dORVIiIFwKICAgICAgICAgICAgICAgICAgIiBUTyAl cyIKICAgICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICgnR2V0IHZpZXcgdW5kZXIgc2NoZW1hIG5v ZGUnLCBkaWN0KHVybD0nL2Jyb3dzZXIvdmlldy9vYmovJywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdmlld19uYW1lPQotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAidGVzdF92aWV3X2dldF8lcyIgJQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSks Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNxbF9xdWVyeT12 aWV3X3NxbCkpLAorICAgICAgICAoJ0dldCB2aWV3IHVuZGVyIHNjaGVtYSBub2RlJywgZGljdCgK KyAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvdmlldy9vYmovJywKKyAgICAgICAgICAgIHZpZXdf bmFtZT0idGVzdF92aWV3X2dldF8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCisgICAg ICAgICAgICBzcWxfcXVlcnk9dmlld19zcWwpKSwKICAgICAgICAgKCdHZXQgbWF0ZXJpYWxpemVk IHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUnLAogICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL212 aWV3L29iai8nLAogICAgICAgICAgICAgICB2aWV3X25hbWU9InRlc3RfbXZpZXdfZ2V0XyVzIiAl IChzdHIodXVpZC51dWlkNCgpKVsxOjhdKSwKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rl c3Rfdmlld3NfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF92aWV3c19wdXQucHkKaW5kZXgg MDVhMjUzNDYuLmM2MzUxYjZiIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdz X3B1dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdzX3B1dC5weQpAQCAtMjksMTEg KzI5LDEwIEBAIGNsYXNzIFZpZXdzVXBkYXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgog ICAgICAgICAgICAgICAgICAiU0VMRUNUICd0ZXN0X3BnYWRtaW4nIFdJVEggTk8gREFUQTtBTFRF UiBUQUJMRSAlcy4lcyBPV05FUiIgXAogICAgICAgICAgICAgICAgICAiIFRPICVzIgogICAgIHNj ZW5hcmlvcyA9IFsKLSAgICAgICAgKCdVcGRhdGUgdmlldyB1bmRlciBzY2hlbWEgbm9kZScsIGRp Y3QodXJsPScvYnJvd3Nlci92aWV3L29iai8nLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB2aWV3X25hbWU9Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJ0ZXN0X3ZpZXdfcHV0XyVzIiAlCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHIodXVpZC51dWlkNCgpKVsxOjhd KSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3FsX3F1 ZXJ5PXZpZXdfc3FsKSksCisgICAgICAgICgnVXBkYXRlIHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUn LCBkaWN0KAorICAgICAgICAgICAgdXJsPScvYnJvd3Nlci92aWV3L29iai8nLAorICAgICAgICAg ICAgdmlld19uYW1lPSJ0ZXN0X3ZpZXdfcHV0XyVzIiAlIChzdHIodXVpZC51dWlkNCgpKVsxOjhd KSwKKyAgICAgICAgICAgIHNxbF9xdWVyeT12aWV3X3NxbCkpLAogICAgICAgICAoJ1VwZGF0ZSBt YXRlcmlhbGl6ZWQgdmlldyB1bmRlciBzY2hlbWEgbm9kZScsCiAgICAgICAgICBkaWN0KHVybD0n L2Jyb3dzZXIvbXZpZXcvb2JqLycsCiAgICAgICAgICAgICAgIHZpZXdfbmFtZT0idGVzdF9tdmll d19wdXRfJXMiICUgKHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0pLApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9jaGVja19zc2xf Y29ubmVjdGlvbi5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3Rlc3RzL3Rlc3RfY2hlY2tfc3NsX2Nvbm5lY3Rpb24ucHkKaW5kZXggNDU1NDIwYjYuLmJjYzMy YTMxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZXN0cy90ZXN0X2NoZWNrX3NzbF9jb25uZWN0aW9uLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfY2hlY2tfc3NsX2Nvbm5lY3Rp b24ucHkKQEAgLTE0LDE2ICsxNCwxNiBAQCBmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRp bHMgaW1wb3J0IHRlc3RfdXRpbHMKIGNsYXNzIFRlc3RTU0xDb25uZWN0aW9uKEJhc2VUZXN0R2Vu ZXJhdG9yKToKICAgICAiIiJUaGlzIHdpbGwgY2hlY2sgaWYgU1NMIGlzIHVzZWQgaW4gb3VyIGRh dGFiYXNlIGNvbm5lY3Rpb24iIiIKICAgICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICgiVGVzdCBm b3IgU1NMIGNvbm5lY3Rpb24iLCBkaWN0KCkpCisgICAgICAgICgnVGVzdCBmb3IgU1NMIGNvbm5l Y3Rpb24nLCBkaWN0KCkpCiAgICAgXQogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAgICAg IGlmIGhhc2F0dHIoc2VsZiwgImlnbm9yZV90ZXN0Iik6CisgICAgICAgIGlmIGhhc2F0dHIoc2Vs ZiwgJ2lnbm9yZV90ZXN0Jyk6CiAgICAgICAgICAgICByZXR1cm4KICAgICAgICAgc3VwcG9ydGVk X21vZGVzID0gWydyZXF1aXJlJywgJ3ZlcmlmeS1jYScsICd2ZXJpZnktZnVsbCddCiAgICAgICAg IGlmIHNlbGYuc2VydmVyWydzc2xtb2RlJ10gaW4gc3VwcG9ydGVkX21vZGVzOgogICAgICAgICAg ICAgd2l0aCB0ZXN0X3V0aWxzLkRhdGFiYXNlKHNlbGYuc2VydmVyKSBhcyAoCi0gICAgICAgICAg ICAgICAgICAgIGNvbm5lY3Rpb24sIGRhdGFiYXNlX25hbWUKKyAgICAgICAgICAgICAgICBjb25u ZWN0aW9uLCBkYXRhYmFzZV9uYW1lCiAgICAgICAgICAgICApOgogCiAgICAgICAgICAgICAgICAg Y3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQpAQCAtMzMsNyArMzMsNiBAQCBjbGFzcyBUZXN0 U1NMQ29ubmVjdGlvbihCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICAgICAgICAgaXNfc3Ns X3VzZWQgPSBjdXJzb3IuZmV0Y2hvbmUoKVswXQogICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWxzKFRydWUsIGlzX3NzbF91c2VkKQogICAgICAgICBlbHNlOgotICAgICAgICAgICAgc2Vs Zi5za2lwVGVzdCgiQ2Fubm90IHJ1biBTU0wgY29ubmVjdGlvbiBjaGVjayB0ZXN0ICIKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIndpdGggJ3swfScgc3NsbW9kZSIuZm9ybWF0KAotICAgICAg ICAgICAgICAgIHNlbGYuc2VydmVyWydzc2xtb2RlJ10KLSAgICAgICAgICAgICkpCisgICAgICAg ICAgICBzZWxmLnNraXBUZXN0KAorICAgICAgICAgICAgICAgICdDYW5ub3QgcnVuIFNTTCBjb25u ZWN0aW9uIGNoZWNrIHRlc3QgJworICAgICAgICAgICAgICAgICd3aXRoIFwnezB9XCcgc3NsbW9k ZScuZm9ybWF0KHNlbGYuc2VydmVyWydzc2xtb2RlJ10pKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9kZXBlbmRlbmNpZXNf c3FsLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMv dGVzdF9kZXBlbmRlbmNpZXNfc3FsLnB5CmluZGV4IGUyMTY0ZWNhLi44MjRmYzQ0MSAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVz dF9kZXBlbmRlbmNpZXNfc3FsLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZGVwZW5kZW5jaWVzX3NxbC5weQpAQCAtOSw3ICs5LDgg QEAKIAogaW1wb3J0IG9zCiAKLWZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscy5zcWxf dGVtcGxhdGVfdGVzdF9iYXNlIGltcG9ydCBTUUxUZW1wbGF0ZVRlc3RCYXNlCitmcm9tIHJlZ3Jl c3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMuc3FsX3RlbXBsYXRlX3Rlc3RfYmFzZSBpbXBvcnQgXAor ICAgIFNRTFRlbXBsYXRlVGVzdEJhc2UKIGZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGls cy50ZW1wbGF0ZV9oZWxwZXIgaW1wb3J0IGZpbGVfYXNfdGVtcGxhdGUKIAogCkBAIC0zMiw3ICsz Myw4IEBAIGNsYXNzIFRlc3REZXBlbmRlbmNpZXNTcWwoU1FMVGVtcGxhdGVUZXN0QmFzZSk6CiAg ICAgZGVmIGdlbmVyYXRlX3NxbChzZWxmLCB2ZXJzaW9uKToKICAgICAgICAgdGVtcGxhdGVfZmls ZSA9IHNlbGYuZ2V0X3RlbXBsYXRlX2ZpbGUodmVyc2lvbiwgImRlcGVuZGVuY2llcy5zcWwiKQog ICAgICAgICB0ZW1wbGF0ZSA9IGZpbGVfYXNfdGVtcGxhdGUodGVtcGxhdGVfZmlsZSkKLSAgICAg ICAgc3FsID0gdGVtcGxhdGUucmVuZGVyKHdoZXJlX2NsYXVzZT0iV0hFUkUgZGVwLm9iamlkPSVz OjpvaWQiICUgc2VsZi50YWJsZV9pZCkKKyAgICAgICAgc3FsID0gdGVtcGxhdGUucmVuZGVyKAor ICAgICAgICAgICAgd2hlcmVfY2xhdXNlPSJXSEVSRSBkZXAub2JqaWQ9JXM6Om9pZCIgJSBzZWxm LnRhYmxlX2lkKQogCiAgICAgICAgIHJldHVybiBzcWwKIApAQCAtNDgsNCArNTAsNSBAQCBjbGFz cyBUZXN0RGVwZW5kZW5jaWVzU3FsKFNRTFRlbXBsYXRlVGVzdEJhc2UpOgogCiAgICAgQHN0YXRp Y21ldGhvZAogICAgIGRlZiBnZXRfdGVtcGxhdGVfZmlsZSh2ZXJzaW9uLCBmaWxlbmFtZSk6Ci0g ICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u IiwgInRlbXBsYXRlcyIsICJkZXBlbmRzIiwgInNxbCIsIHZlcnNpb24sIGZpbGVuYW1lKQorICAg ICAgICByZXR1cm4gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIs ICJ0ZW1wbGF0ZXMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkZXBlbmRzIiwgInNx bCIsIHZlcnNpb24sIGZpbGVuYW1lKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9kZXBlbmRlbnRzX3NxbC5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZGVwZW5kZW50 c19zcWwucHkKaW5kZXggYTBjOGMzOWUuLjlkNjI1OWY1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X2RlcGVuZGVudHNfc3Fs LnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L3Rlc3RfZGVwZW5kZW50c19zcWwucHkKQEAgLTksNyArOSw4IEBACiAKIGltcG9ydCBvcwogCi1m cm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMuc3FsX3RlbXBsYXRlX3Rlc3RfYmFzZSBp bXBvcnQgU1FMVGVtcGxhdGVUZXN0QmFzZQorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0 aWxzLnNxbF90ZW1wbGF0ZV90ZXN0X2Jhc2UgaW1wb3J0IFwKKyAgICBTUUxUZW1wbGF0ZVRlc3RC YXNlCiBmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMudGVtcGxhdGVfaGVscGVyIGlt cG9ydCBmaWxlX2FzX3RlbXBsYXRlCiAKIApAQCAtMzIsNyArMzMsOCBAQCBjbGFzcyBUZXN0RGVw ZW5kZW50c1NxbChTUUxUZW1wbGF0ZVRlc3RCYXNlKToKICAgICBkZWYgZ2VuZXJhdGVfc3FsKHNl bGYsIHZlcnNpb24pOgogICAgICAgICB0ZW1wbGF0ZV9maWxlID0gc2VsZi5nZXRfdGVtcGxhdGVf ZmlsZSh2ZXJzaW9uLCAiZGVwZW5kZW50cy5zcWwiKQogICAgICAgICB0ZW1wbGF0ZSA9IGZpbGVf YXNfdGVtcGxhdGUodGVtcGxhdGVfZmlsZSkKLSAgICAgICAgc3FsID0gdGVtcGxhdGUucmVuZGVy KHdoZXJlX2NsYXVzZT0iV0hFUkUgZGVwLm9iamlkPSVzOjpvaWQiICUgc2VsZi50YWJsZV9pZCkK KyAgICAgICAgc3FsID0gdGVtcGxhdGUucmVuZGVyKAorICAgICAgICAgICAgd2hlcmVfY2xhdXNl PSJXSEVSRSBkZXAub2JqaWQ9JXM6Om9pZCIgJSBzZWxmLnRhYmxlX2lkKQogCiAgICAgICAgIHJl dHVybiBzcWwKIApAQCAtNDgsNCArNTAsNSBAQCBjbGFzcyBUZXN0RGVwZW5kZW50c1NxbChTUUxU ZW1wbGF0ZVRlc3RCYXNlKToKIAogICAgIEBzdGF0aWNtZXRob2QKICAgICBkZWYgZ2V0X3RlbXBs YXRlX2ZpbGUodmVyc2lvbiwgZmlsZW5hbWUpOgotICAgICAgICByZXR1cm4gb3MucGF0aC5qb2lu KG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIuLiIsICJ0ZW1wbGF0ZXMiLCAiZGVwZW5kcyIs ICJzcWwiLCB2ZXJzaW9uLCBmaWxlbmFtZSkKKyAgICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihv cy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4iLCAidGVtcGxhdGVzIiwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZGVwZW5kcyIsICJzcWwiLCB2ZXJzaW9uLCBmaWxlbmFtZSkKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L3Rlc3Rfcm9sZV9kZXBlbmRlbmNpZXNfc3FsLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9yb2xlX2RlcGVuZGVuY2llc19zcWwucHkKaW5k ZXggYWMyMmI1YmEuLjllZmU0ZDZhIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3JvbGVfZGVwZW5kZW5jaWVzX3NxbC5weQor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0 X3JvbGVfZGVwZW5kZW5jaWVzX3NxbC5weQpAQCAtNiwxNCArNiwxMSBAQAogIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKICMKICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCi1mcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMucm9s ZXMudGVzdHMudXRpbHMgaW1wb3J0IGNyZWF0ZV9yb2xlLCBkZWxldGVfcm9sZQotZnJvbSBwZ2Fk bWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgogaW1wb3J0IG9zCiAKK2Zy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGZyb20gcmVn cmVzc2lvbi5weXRob25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscwotZnJvbSByZWdyZXNz aW9uLnB5dGhvbl90ZXN0X3V0aWxzLnNxbF90ZW1wbGF0ZV90ZXN0X2Jhc2UgaW1wb3J0IFNRTFRl bXBsYXRlVGVzdEJhc2UKIGZyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscy50ZW1wbGF0 ZV9oZWxwZXIgaW1wb3J0IGZpbGVfYXNfdGVtcGxhdGUKLWZyb20gcmVncmVzc2lvbi5weXRob25f dGVzdF91dGlscy50ZXN0X3V0aWxzIGltcG9ydCBjcmVhdGVfZGF0YWJhc2UKIAogCiBjbGFzcyBU ZXN0Um9sZURlcGVuZGVuY2llc1NxbChCYXNlVGVzdEdlbmVyYXRvcik6CkBAIC00NSw3ICs0Miw4 IEBAIGNsYXNzIFRlc3RSb2xlRGVwZW5kZW5jaWVzU3FsKEJhc2VUZXN0R2VuZXJhdG9yKToKICAg ICAgICAgICAgIHJldHVybgogCiAgICAgICAgIHdpdGggdGVzdF91dGlscy5EYXRhYmFzZShzZWxm LnNlcnZlcikgYXMgKGNvbm5lY3Rpb24sIGRhdGFiYXNlX25hbWUpOgotICAgICAgICAgICAgdGVz dF91dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXJfd2l0aF9tb2RpZmllZF91c2VyLCBkYXRh YmFzZV9uYW1lLCAidGVzdF9uZXdfcm9sZV90YWJsZSIpCisgICAgICAgICAgICB0ZXN0X3V0aWxz LmNyZWF0ZV90YWJsZShzZWxmLnNlcnZlcl93aXRoX21vZGlmaWVkX3VzZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhYmFzZV9uYW1lLCAidGVzdF9uZXdfcm9sZV90 YWJsZSIpCiAgICAgICAgICAgICBjdXJzb3IgPSBjb25uZWN0aW9uLmN1cnNvcigpCiAgICAgICAg ICAgICBjdXJzb3IuZXhlY3V0ZSgiU0VMRUNUIHBnX2NsYXNzLm9pZCBBUyB0YWJsZV9pZCAiCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiRlJPTSBwZ19jbGFzcyAiCkBAIC02NSw5ICs2Mywx MSBAQCBjbGFzcyBUZXN0Um9sZURlcGVuZGVuY2llc1NxbChCYXNlVGVzdEdlbmVyYXRvcik6CiAg ICAgICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgpCiAKICAgICBkZWYgZ2VuZXJhdGVfc3FsKHNl bGYsIHZlcnNpb24pOgotICAgICAgICB0ZW1wbGF0ZV9maWxlID0gc2VsZi5nZXRfdGVtcGxhdGVf ZmlsZSh2ZXJzaW9uLCAicm9sZV9kZXBlbmRlbmNpZXMuc3FsIikKKyAgICAgICAgdGVtcGxhdGVf ZmlsZSA9IHNlbGYuZ2V0X3RlbXBsYXRlX2ZpbGUodmVyc2lvbiwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJvbGVfZGVwZW5kZW5jaWVzLnNxbCIpCiAg ICAgICAgIHRlbXBsYXRlID0gZmlsZV9hc190ZW1wbGF0ZSh0ZW1wbGF0ZV9maWxlKQotICAgICAg ICBzcWwgPSB0ZW1wbGF0ZS5yZW5kZXIod2hlcmVfY2xhdXNlPSJXSEVSRSBkZXAub2JqaWQ9JXM6 Om9pZCIgJSBzZWxmLnRhYmxlX2lkKQorICAgICAgICBzcWwgPSB0ZW1wbGF0ZS5yZW5kZXIoCisg ICAgICAgICAgICB3aGVyZV9jbGF1c2U9IldIRVJFIGRlcC5vYmppZD0lczo6b2lkIiAlIHNlbGYu dGFibGVfaWQpCiAKICAgICAgICAgcmV0dXJuIHNxbAogCkBAIC04Miw0ICs4Miw1IEBAIGNsYXNz IFRlc3RSb2xlRGVwZW5kZW5jaWVzU3FsKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIEBzdGF0 aWNtZXRob2QKICAgICBkZWYgZ2V0X3RlbXBsYXRlX2ZpbGUodmVyc2lvbiwgZmlsZW5hbWUpOgot ICAgICAgICByZXR1cm4gb3MucGF0aC5qb2luKG9zLnBhdGguZGlybmFtZShfX2ZpbGVfXyksICIu LiIsICJ0ZW1wbGF0ZXMiLCAiZGVwZW5kcyIsICJzcWwiLCB2ZXJzaW9uLCBmaWxlbmFtZSkKKyAg ICAgICAgcmV0dXJuIG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19maWxlX18pLCAiLi4i LCAidGVtcGxhdGVzIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVwZW5kcyIsICJz cWwiLCB2ZXJzaW9uLCBmaWxlbmFtZSkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv dGVzdHMvdGVzdF9jaGFuZ2VfcGFzc3dvcmQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3Rz L3Rlc3RfY2hhbmdlX3Bhc3N3b3JkLnB5CmluZGV4IGUzNGUxYzAyLi41YjMzN2RiNyAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X2NoYW5nZV9wYXNzd29yZC5weQor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfY2hhbmdlX3Bhc3N3b3JkLnB5CkBA IC0yNiwzNCArMjYsMzkgQEAgY2xhc3MgQ2hhbmdlUGFzc3dvcmRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgc2NlbmFyaW9zID0gWwogICAgICAgICAjIFRoaXMgdGVzdGNhc2UgdmFs aWRhdGVzIGludmFsaWQgY29uZmlybWF0aW9uIHBhc3N3b3JkCiAgICAgICAgICgnVGVzdENhc2Ug Zm9yIFZhbGlkYXRpbmcgSW5jb3JyZWN0X05ld19QYXNzd29yZCcsIGRpY3QoCi0gICAgICAgICAg ICBwYXNzd29yZD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxzJ10KLSAg ICAgICAgICAgICAgICAgICAgICBbJ2xvZ2luX3Bhc3N3b3JkJ10pLAotICAgICAgICAgICAgbmV3 X3Bhc3N3b3JkPShjb25maWdfZGF0YVsncGdBZG1pbjRfbG9naW5fY3JlZGVudGlhbHMnXQotICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ25ld19wYXNzd29yZCddKSwKKyAgICAgICAgICAgIHBh c3N3b3JkPSgKKyAgICAgICAgICAgICAgICBjb25maWdfZGF0YVsncGdBZG1pbjRfbG9naW5fY3Jl ZGVudGlhbHMnXQorICAgICAgICAgICAgICAgIFsnbG9naW5fcGFzc3dvcmQnXSksCisgICAgICAg ICAgICBuZXdfcGFzc3dvcmQ9KAorICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWlu NF9sb2dpbl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgWyduZXdfcGFzc3dvcmQnXSks CiAgICAgICAgICAgICBuZXdfcGFzc3dvcmRfY29uZmlybT1zdHIodXVpZC51dWlkNCgpKVs0Ojhd LAogICAgICAgICAgICAgcmVzcGRhdGE9J1Bhc3N3b3JkcyBkbyBub3QgbWF0Y2gnKSksCiAKICAg ICAgICAgIyBUaGlzIHRlc3RjYXNlIHZhbGlkYXRlcyBpZiBjb25maXJtYXRpb24gcGFzc3dvcmQg aXMgbGVzcyB0aGFuCiAgICAgICAgICMgbWluaW11bSBsZW5ndGgKICAgICAgICAgKCdUZXN0Q2Fz ZSBmb3IgVmFsaWRhdGluZyBOZXdfUGFzc3dvcmRfTGVzc19UaGFuX01pbl9MZW5ndGgnLAotICAg ICAgICAgZGljdChwYXNzd29yZD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRp YWxzJ10KLSAgICAgICAgICAgICAgICAgICAgICAgIFsnbG9naW5fcGFzc3dvcmQnXSksCi0gICAg ICAgICAgICAgIG5ld19wYXNzd29yZD1zdHIodXVpZC51dWlkNCgpKVs0OjhdLAotICAgICAgICAg ICAgICBuZXdfcGFzc3dvcmRfY29uZmlybT1zdHIodXVpZC51dWlkNCgpKVs0OjhdLAotICAgICAg ICAgICAgICByZXNwZGF0YT0nUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMn KSksCisgICAgICAgICBkaWN0KHBhc3N3b3JkPSgKKyAgICAgICAgICAgICBjb25maWdfZGF0YVsn cGdBZG1pbjRfbG9naW5fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgIFsnbG9naW5fcGFzc3dv cmQnXSksCisgICAgICAgICAgICAgbmV3X3Bhc3N3b3JkPXN0cih1dWlkLnV1aWQ0KCkpWzQ6OF0s CisgICAgICAgICAgICAgbmV3X3Bhc3N3b3JkX2NvbmZpcm09c3RyKHV1aWQudXVpZDQoKSlbNDo4 XSwKKyAgICAgICAgICAgICByZXNwZGF0YT0nUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNo YXJhY3RlcnMnKSksCiAKICAgICAgICAgIyBUaGlzIHRlc3RjYXNlIHZhbGlkYXRlcyBpZiBib3Ro IHBhc3N3b3JkIGZpZWxkcyBhcmUgbGVmdCBibGFuawogICAgICAgICAoJ1Rlc3RDYXNlIGZvciBW YWxpZGF0aW5nIEVtcHR5X05ld19QYXNzd29yZCcsIGRpY3QoCi0gICAgICAgICAgICBwYXNzd29y ZD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxzJ10KLSAgICAgICAgICAg ICAgICAgICAgICBbJ2xvZ2luX3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgcGFzc3dvcmQ9KAor ICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dpbl9jcmVkZW50aWFscydd CisgICAgICAgICAgICAgICAgWydsb2dpbl9wYXNzd29yZCddKSwKICAgICAgICAgICAgIG5ld19w YXNzd29yZD0nJywgbmV3X3Bhc3N3b3JkX2NvbmZpcm09JycsCiAgICAgICAgICAgICByZXNwZGF0 YT0nUGFzc3dvcmQgbm90IHByb3ZpZGVkJykpLAogCiAgICAgICAgICMgVGhpcyB0ZXN0Y2FzZSB2 YWxpZGF0ZXMgaWYgY3VycmVudCBlbnRlcmVkIHBhc3N3b3JkIGlzIGluY29ycmVjdAogICAgICAg ICAoJ1Rlc3RDYXNlIGZvciBWYWxpZGF0aW5nIEluY29ycmVjdF9DdXJyZW50X1Bhc3N3b3JkJywg ZGljdCgKICAgICAgICAgICAgIHBhc3N3b3JkPXN0cih1dWlkLnV1aWQ0KCkpWzQ6OF0sCi0gICAg ICAgICAgICBuZXdfcGFzc3dvcmQ9KGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dpbl9jcmVkZW50 aWFscyddCi0gICAgICAgICAgICAgICAgICAgICAgICAgIFsnbmV3X3Bhc3N3b3JkJ10pLAorICAg ICAgICAgICAgbmV3X3Bhc3N3b3JkPSgKKyAgICAgICAgICAgICAgICBjb25maWdfZGF0YVsncGdB ZG1pbjRfbG9naW5fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgIFsnbmV3X3Bhc3N3b3Jk J10pLAogICAgICAgICAgICAgbmV3X3Bhc3N3b3JkX2NvbmZpcm09KAogICAgICAgICAgICAgICAg IGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dpbl9jcmVkZW50aWFscyddCiAgICAgICAgICAgICAg ICAgWyduZXdfcGFzc3dvcmQnXSksCkBAIC02MiwxMiArNjcsMTUgQEAgY2xhc3MgQ2hhbmdlUGFz c3dvcmRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICMgVGhpcyB0ZXN0IGNh c2UgY2hlY2tzIGZvciB2YWxpZCBwYXNzd29yZAogICAgICAgICAoJ1Rlc3RDYXNlIGZvciBDaGFu Z2luZyBWYWxpZF9QYXNzd29yZCcsIGRpY3QoCiAgICAgICAgICAgICB2YWxpZF9wYXNzd29yZD0n cmVhc3NpZ25pbmdfcGFzc3dvcmQnLAotICAgICAgICAgICAgdXNlcm5hbWU9KGNvbmZpZ19kYXRh WydwZ0FkbWluNF90ZXN0X3VzZXJfY3JlZGVudGlhbHMnXQotICAgICAgICAgICAgICAgICAgICAg IFsnbG9naW5fdXNlcm5hbWUnXSksCi0gICAgICAgICAgICBwYXNzd29yZD0oY29uZmlnX2RhdGFb J3BnQWRtaW40X3Rlc3RfdXNlcl9jcmVkZW50aWFscyddCi0gICAgICAgICAgICAgICAgICAgICAg Wydsb2dpbl9wYXNzd29yZCddKSwKLSAgICAgICAgICAgIG5ld19wYXNzd29yZD0oY29uZmlnX2Rh dGFbJ3BnQWRtaW40X3Rlc3RfdXNlcl9jcmVkZW50aWFscyddCi0gICAgICAgICAgICAgICAgICAg ICAgICAgIFsnbmV3X3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgdXNlcm5hbWU9KAorICAgICAg ICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF90ZXN0X3VzZXJfY3JlZGVudGlhbHMnXQor ICAgICAgICAgICAgICAgIFsnbG9naW5fdXNlcm5hbWUnXSksCisgICAgICAgICAgICBwYXNzd29y ZD0oCisgICAgICAgICAgICAgICAgY29uZmlnX2RhdGFbJ3BnQWRtaW40X3Rlc3RfdXNlcl9jcmVk ZW50aWFscyddCisgICAgICAgICAgICAgICAgWydsb2dpbl9wYXNzd29yZCddKSwKKyAgICAgICAg ICAgIG5ld19wYXNzd29yZD0oCisgICAgICAgICAgICAgICAgY29uZmlnX2RhdGFbJ3BnQWRtaW40 X3Rlc3RfdXNlcl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgWyduZXdfcGFzc3dvcmQn XSksCiAgICAgICAgICAgICBuZXdfcGFzc3dvcmRfY29uZmlybT0oCiAgICAgICAgICAgICAgICAg Y29uZmlnX2RhdGFbJ3BnQWRtaW40X3Rlc3RfdXNlcl9jcmVkZW50aWFscyddCiAgICAgICAgICAg ICAgICAgWyduZXdfcGFzc3dvcmQnXSksCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3Rlc3RzL3Rlc3RfbG9naW4ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9n aW4ucHkKaW5kZXggMGYwYTMwZWQuLmQ4MzBkZmJjIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0 cy90ZXN0X2xvZ2luLnB5CkBAIC0yNCwyMSArMjQsMjQgQEAgY2xhc3MgTG9naW5UZXN0Q2FzZShC YXNlVGVzdEdlbmVyYXRvcik6CiAgICAgc2NlbmFyaW9zID0gWwogICAgICAgICAjIFRoaXMgdGVz dCBjYXNlIHZhbGlkYXRlcyB0aGUgaW52YWxpZC9pbmNvcnJlY3QgcGFzc3dvcmQKICAgICAgICAg KCdUZXN0Q2FzZSBmb3IgQ2hlY2tpbmcgSW52YWxpZF9QYXNzd29yZCcsIGRpY3QoCi0gICAgICAg ICAgICBlbWFpbD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxzJ10KLSAg ICAgICAgICAgICAgICAgICBbJ2xvZ2luX3VzZXJuYW1lJ10pLAorICAgICAgICAgICAgZW1haWw9 KAorICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dpbl9jcmVkZW50aWFs cyddCisgICAgICAgICAgICAgICAgWydsb2dpbl91c2VybmFtZSddKSwKICAgICAgICAgICAgIHBh c3N3b3JkPXN0cih1dWlkLnV1aWQ0KCkpWzQ6OF0sCiAgICAgICAgICAgICByZXNwZGF0YT0nSW52 YWxpZCBwYXNzd29yZCcpKSwKIAogICAgICAgICAjIFRoaXMgdGVzdCBjYXNlIHZhbGlkYXRlcyB0 aGUgZW1wdHkgcGFzc3dvcmQgZmllbGQKICAgICAgICAgKCdFbXB0eV9QYXNzd29yZCcsIGRpY3Qo Ci0gICAgICAgICAgICBlbWFpbD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRp YWxzJ10KLSAgICAgICAgICAgICAgICAgICBbJ2xvZ2luX3VzZXJuYW1lJ10pLCBwYXNzd29yZD0n JywKKyAgICAgICAgICAgIGVtYWlsPSgKKyAgICAgICAgICAgICAgICBjb25maWdfZGF0YVsncGdB ZG1pbjRfbG9naW5fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgIFsnbG9naW5fdXNlcm5h bWUnXSksIHBhc3N3b3JkPScnLAogICAgICAgICAgICAgcmVzcGRhdGE9J1Bhc3N3b3JkIG5vdCBw cm92aWRlZCcpKSwKIAogICAgICAgICAjIFRoaXMgdGVzdCBjYXNlIHZhbGlkYXRlcyBibGFuayBl bWFpbCBmaWVsZAogICAgICAgICAoJ0VtcHR5X0VtYWlsJywgZGljdCgKLSAgICAgICAgICAgIGVt YWlsPScnLCBwYXNzd29yZD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxz J10KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWydsb2dpbl9wYXNzd29yZCddKSwK KyAgICAgICAgICAgIGVtYWlsPScnLCBwYXNzd29yZD0oCisgICAgICAgICAgICAgICAgY29uZmln X2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICBbJ2xv Z2luX3Bhc3N3b3JkJ10pLAogICAgICAgICAgICAgcmVzcGRhdGE9J0VtYWlsIG5vdCBwcm92aWRl ZCcpKSwKIAogICAgICAgICAjIFRoaXMgdGVzdCBjYXNlIHZhbGlkYXRlcyBlbXB0eSBlbWFpbCBh bmQgcGFzc3dvcmQKQEAgLTQ5LDggKzUyLDkgQEAgY2xhc3MgTG9naW5UZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CiAgICAgICAgICMgVGhpcyB0ZXN0IGNhc2UgdmFsaWRhdGVzIHRoZSBpbnZh bGlkL2luY29ycmVjdCBlbWFpbCBpZAogICAgICAgICAoJ0ludmFsaWRfRW1haWwnLCBkaWN0KAog ICAgICAgICAgICAgZW1haWw9c3RyKHV1aWQudXVpZDQoKSlbMTo4XSArICdAeHl6LmNvbScsCi0g ICAgICAgICAgICBwYXNzd29yZD0oY29uZmlnX2RhdGFbJ3BnQWRtaW40X2xvZ2luX2NyZWRlbnRp YWxzJ10KLSAgICAgICAgICAgICAgICAgICAgICBbJ2xvZ2luX3Bhc3N3b3JkJ10pLAorICAgICAg ICAgICAgcGFzc3dvcmQ9KAorICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF9s b2dpbl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgWydsb2dpbl9wYXNzd29yZCddKSwK ICAgICAgICAgICAgIHJlc3BkYXRhPSdTcGVjaWZpZWQgdXNlciBkb2VzIG5vdCBleGlzdCcpKSwK IAogICAgICAgICAjIFRoaXMgdGVzdCBjYXNlIHZhbGlkYXRlcyBpbnZhbGlkIGVtYWlsIGFuZCBw YXNzd29yZApAQCAtNjIsMTUgKzY2LDE1IEBAIGNsYXNzIExvZ2luVGVzdENhc2UoQmFzZVRlc3RH ZW5lcmF0b3IpOgogICAgICAgICAjIFRoaXMgdGVzdCBjYXNlIHZhbGlkYXRlcyB0aGUgdmFsaWQv Y29ycmVjdCBjcmVkZW50aWFscyBhbmQgYWxsb3cgdXNlcgogICAgICAgICAjIHRvIGxvZ2luIHBn QWRtaW4gNAogICAgICAgICAoJ1ZhbGlkX0NyZWRlbnRpYWxzJywgZGljdCgKLSAgICAgICAgICAg IGVtYWlsPShjb25maWdfZGF0YVsKLSAgICAgICAgICAgICAgICAncGdBZG1pbjRfbG9naW5fY3Jl ZGVudGlhbHMnCi0gICAgICAgICAgICBdWydsb2dpbl91c2VybmFtZSddKSwKLSAgICAgICAgICAg IHBhc3N3b3JkPShjb25maWdfZGF0YVsKLSAgICAgICAgICAgICAgICAncGdBZG1pbjRfbG9naW5f Y3JlZGVudGlhbHMnCi0gICAgICAgICAgICBdWydsb2dpbl9wYXNzd29yZCddKSwKLSAgICAgICAg ICAgIHJlc3BkYXRhPSclcycgJSBjb25maWdfZGF0YVsncGdBZG1pbjRfbG9naW5fY3JlZGVudGlh bHMnXQotICAgICAgICAgICAgWydsb2dpbl91c2VybmFtZSddKQotICAgICAgICAgKQorICAgICAg ICAgICAgZW1haWw9KAorICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dp bl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgWydsb2dpbl91c2VybmFtZSddKSwKKyAg ICAgICAgICAgIHBhc3N3b3JkPSgKKyAgICAgICAgICAgICAgICBjb25maWdfZGF0YVsncGdBZG1p bjRfbG9naW5fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgIFsnbG9naW5fcGFzc3dvcmQn XSksCisgICAgICAgICAgICByZXNwZGF0YT0nR3JhdmF0YXIgaW1hZ2UgZm9yICVzJyAlCisgICAg ICAgICAgICAgICAgICAgICBjb25maWdfZGF0YVsncGdBZG1pbjRfbG9naW5fY3JlZGVudGlhbHMn XQorICAgICAgICAgICAgICAgICAgICAgWydsb2dpbl91c2VybmFtZSddKSkKICAgICBdCiAKICAg ICBAY2xhc3NtZXRob2QKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvdGVz dF92ZXJzaW9uX2luX3JhbmdlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0cy90ZXN0X3Zl cnNpb25faW5fcmFuZ2UucHkKaW5kZXggNTQ4YjJhMGEuLjRkOWNhNzZkIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfdmVyc2lvbl9pbl9yYW5nZS5weQorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfdmVyc2lvbl9pbl9yYW5nZS5weQpAQCAtMjEs NDMgKzIxLDM2IEBAIGNsYXNzIFZlcnNpb25JblJhbmdlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0 b3IpOgogICAgIHNjZW5hcmlvcyA9IFsKICAgICAgICAgKAogICAgICAgICAgICAgJ1Rlc3RDYXNl IGZvciBWYWxpZGF0aW5nIHBndmVyc2lvbiA4LjIzIGFuZCBtaW5fdmVyc2lvbiBpcyA5MTAwMCwg JwotICAgICAgICAgICAgJ3Nob3VsZCBub3Qgc2hvdycsCi0gICAgICAgICAgICBkaWN0KAorICAg ICAgICAgICAgJ2l0IHNob3VsZCBub3Qgc2hvdycsIGRpY3QoCiAgICAgICAgICAgICAgICAgc3Zl cnNpb249ODIzMDAsCiAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb249OTAxMDAsCiAgICAgICAg ICAgICAgICAgbWF4X3ZlcnNpb249MTAwMDAwMDAwMCwKICAgICAgICAgICAgICAgICBzY2VuYXJp bz0yCi0gICAgICAgICAgICApCi0gICAgICAgICksCisgICAgICAgICAgICApKSwKICAgICAgICAg KAotICAgICAgICAgICAgJ1Rlc3RDYXNlIGZvciBWYWxpZGF0aW5nIHBndmVyc2lvbiA5LjIgYW5k IHNob3VsZCBzaG93IGJ5IGRlZmF1bHQnLAotICAgICAgICAgICAgZGljdCgKKyAgICAgICAgICAg ICdUZXN0Q2FzZSBmb3IgVmFsaWRhdGluZyBwZ3ZlcnNpb24gOS4yLCAnCisgICAgICAgICAgICAn aXQgc2hvdWxkIHNob3cgYnkgZGVmYXVsdCcsIGRpY3QoCiAgICAgICAgICAgICAgICAgc3ZlcnNp b249OTAyMDAsCiAgICAgICAgICAgICAgICAgbWluX3ZlcnNpb249MCwKICAgICAgICAgICAgICAg ICBtYXhfdmVyc2lvbj0xMDAwMDAwMDAwLAogICAgICAgICAgICAgICAgIHNjZW5hcmlvPTEKLSAg ICAgICAgICAgICkKLSAgICAgICAgKSwKKyAgICAgICAgICAgICkpLAogICAgICAgICAoCiAgICAg ICAgICAgICAnVGVzdENhc2UgZm9yIFZhbGlkYXRpbmcgcGd2ZXJzaW9uIDkuMiBhbmQgbWluL21h eCBhcmUgTm9uZSwgJwotICAgICAgICAgICAgJ3Nob3VsZCBzaG93IGJ5IGRlZmF1bHQnLAotICAg ICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICdpdCBzaG91bGQgc2hvdyBieSBkZWZhdWx0Jywg ZGljdCgKICAgICAgICAgICAgICAgICBzdmVyc2lvbj05MDIwMCwKICAgICAgICAgICAgICAgICBt aW5fdmVyc2lvbj1Ob25lLAogICAgICAgICAgICAgICAgIG1heF92ZXJzaW9uPU5vbmUsCiAgICAg ICAgICAgICAgICAgc2NlbmFyaW89MQotICAgICAgICAgICAgKQotICAgICAgICApLAorICAgICAg ICAgICAgKSksCiAgICAgICAgICgKLSAgICAgICAgICAgICdUZXN0Q2FzZSBmb3IgVmFsaWRhdGlu ZyBwZ3ZlcnNpb24gOS42IGFuZCBtYXggaXMgbG93ZXIsIHNob3VsZCAnCi0gICAgICAgICAgICAn bm90IHNob3cnLAotICAgICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICdUZXN0Q2FzZSBmb3Ig VmFsaWRhdGluZyBwZ3ZlcnNpb24gOS42IGFuZCBtYXggaXMgbG93ZXIsICcKKyAgICAgICAgICAg ICdpdCBzaG91bGQgbm90IHNob3cnLCBkaWN0KAogICAgICAgICAgICAgICAgIHN2ZXJzaW9uPTkw NjAwLAogICAgICAgICAgICAgICAgIG1pbl92ZXJzaW9uPU5vbmUsCiAgICAgICAgICAgICAgICAg bWF4X3ZlcnNpb249OTA0MDAsCiAgICAgICAgICAgICAgICAgc2NlbmFyaW89MgotICAgICAgICAg ICAgKQotICAgICAgICApCisgICAgICAgICAgICApKQogICAgIF0KIAogICAgIEBjbGFzc21ldGhv ZApAQCAtNzQsMTMgKzY3LDE3IEBAIGNsYXNzIFZlcnNpb25JblJhbmdlVGVzdENhc2UoQmFzZVRl c3RHZW5lcmF0b3IpOgogICAgIGRlZiB0ZXN0X3Jlc3VsdF9pc190cnVlKHNlbGYpOgogICAgICAg ICBzZWxmLmFzc2VydFRydWUoCiAgICAgICAgICAgICBpc192ZXJzaW9uX2luX3JhbmdlKAotICAg ICAgICAgICAgICAgIHNlbGYuc3ZlcnNpb24sIHNlbGYubWluX3ZlcnNpb24sIHNlbGYubWF4X3Zl cnNpb24KKyAgICAgICAgICAgICAgICBzZWxmLnN2ZXJzaW9uLAorICAgICAgICAgICAgICAgIHNl bGYubWluX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgc2VsZi5tYXhfdmVyc2lvbgogICAgICAg ICAgICAgKQogICAgICAgICApCiAKICAgICBkZWYgdGVzdF9yZXN1bHRfaXNfZmFsc2Uoc2VsZik6 CiAgICAgICAgIHNlbGYuYXNzZXJ0RmFsc2UoCiAgICAgICAgICAgICBpc192ZXJzaW9uX2luX3Jh bmdlKAotICAgICAgICAgICAgICAgIHNlbGYuc3ZlcnNpb24sIHNlbGYubWluX3ZlcnNpb24sIHNl bGYubWF4X3ZlcnNpb24KKyAgICAgICAgICAgICAgICBzZWxmLnN2ZXJzaW9uLAorICAgICAgICAg ICAgICAgIHNlbGYubWluX3ZlcnNpb24sCisgICAgICAgICAgICAgICAgc2VsZi5tYXhfdmVyc2lv bgogICAgICAgICAgICAgKQogICAgICAgICApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5weQppbmRleCA3NDQ4YThh NS4uZGY2NzU4ZDUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdXRpbHMucHkKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5weQpAQCAtMTMsMTEgKzEzLDExIEBAIGZyb20g YWJjIGltcG9ydCBhYnN0cmFjdG1ldGhvZAogCiBpbXBvcnQgZmxhc2sKIGZyb20gZmxhc2sgaW1w b3J0IHJlbmRlcl90ZW1wbGF0ZSwgY3VycmVudF9hcHAKLWZyb20gZmxhc2tfYmFiZWwgaW1wb3J0 IGdldHRleHQKIGZyb20gZmxhc2sudmlld3MgaW1wb3J0IFZpZXcsIE1ldGhvZFZpZXdUeXBlLCB3 aXRoX21ldGFjbGFzcwotZnJvbSBwZ2FkbWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9y ZXNwb25zZSwgcHJlY29uZGl0aW9uX3JlcXVpcmVkCitmcm9tIGZsYXNrX2JhYmVsIGltcG9ydCBn ZXR0ZXh0CiAKIGZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgorZnJvbSBwZ2Fk bWluLnV0aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgcHJlY29uZGl0aW9uX3Jl cXVpcmVkCiAKIAogZGVmIGlzX3ZlcnNpb25faW5fcmFuZ2Uoc3ZlcnNpb24sIG1pbl92ZXIsIG1h eF92ZXIpOgpAQCAtNjQsMTggKzY0LDE5IEBAIGNsYXNzIFBHQ2hpbGRNb2R1bGUob2JqZWN0KToK ICAgICAgICAgICAgICAgICByZXR1cm4gRmFsc2UKICAgICAgICAgc3ZlcnNpb24gPSBnZXRhdHRy KG1hbmFnZXIsICdzdmVyc2lvbicsIE5vbmUpCiAKLSAgICAgICAgaWYgKHN2ZXJzaW9uIGlzIE5v bmUgb3Igbm90IGlzaW5zdGFuY2Uoc3ZlcnNpb24sIGludCkpOgorICAgICAgICBpZiBzdmVyc2lv biBpcyBOb25lIG9yIG5vdCBpc2luc3RhbmNlKHN2ZXJzaW9uLCBpbnQpOgogICAgICAgICAgICAg cmV0dXJuIEZhbHNlCiAKICAgICAgICAgYXNzZXJ0IChzZWxmLnNlcnZlcl90eXBlIGlzIE5vbmUg b3IgaXNpbnN0YW5jZShzZWxmLnNlcnZlcl90eXBlLCBsaXN0KSkKIAogICAgICAgICBpZiBzZWxm LnNlcnZlcl90eXBlIGlzIE5vbmUgb3IgbWFuYWdlci5zZXJ2ZXJfdHlwZSBpbiBzZWxmLnNlcnZl cl90eXBlOgotICAgICAgICAgICAgcmV0dXJuIGlzX3ZlcnNpb25faW5fcmFuZ2Uoc3ZlcnNpb24s IHNlbGYubWluX2dwZGJ2ZXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlmIG1hbmFnZXIuc2VydmVyX3R5cGUgPT0gJ2dwZGInCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlbHNlIHNlbGYubWluX3ZlciwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYubWF4X2dwZGJ2ZXIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGlmIG1hbmFnZXIuc2VydmVyX3R5cGUgPT0gJ2dwZGInCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHNlbGYubWF4X3ZlcikKKyAg ICAgICAgICAgIG1pbl9zZXJ2ZXJfdmVyc2lvbiA9IHNlbGYubWluX3ZlcgorICAgICAgICAgICAg bWF4X3NlcnZlcl92ZXJzaW9uID0gc2VsZi5tYXhfdmVyCisgICAgICAgICAgICBpZiBtYW5hZ2Vy LnNlcnZlcl90eXBlID09ICdncGRiJzoKKyAgICAgICAgICAgICAgICBtaW5fc2VydmVyX3ZlcnNp b24gPSBzZWxmLm1pbl9ncGRidmVyCisgICAgICAgICAgICAgICAgbWF4X3NlcnZlcl92ZXJzaW9u ID0gc2VsZi5tYXhfZ3BkYnZlcgorICAgICAgICAgICAgcmV0dXJuIGlzX3ZlcnNpb25faW5fcmFu Z2Uoc3ZlcnNpb24sIG1pbl9zZXJ2ZXJfdmVyc2lvbiwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG1heF9zZXJ2ZXJfdmVyc2lvbikKIAogICAgICAgICByZXR1cm4gRmFs c2UKIApAQCAtMjA1LDM1ICsyMDYsMzggQEAgY2xhc3MgTm9kZVZpZXcod2l0aF9tZXRhY2xhc3Mo TWV0aG9kVmlld1R5cGUsIFZpZXcpKToKICAgICAgICAgcmV0dXJuIGhhc19hcmdzLCBoYXNfaWQg YW5kIGhhc19hcmdzCiAKICAgICBkZWYgZGlzcGF0Y2hfcmVxdWVzdChzZWxmLCAqYXJncywgKipr d2FyZ3MpOgotICAgICAgICBtZXRoID0gZmxhc2sucmVxdWVzdC5tZXRob2QubG93ZXIoKQotICAg ICAgICBpZiBtZXRoID09ICdoZWFkJzoKLSAgICAgICAgICAgIG1ldGggPSAnZ2V0JworICAgICAg ICBodHRwX21ldGhvZCA9IGZsYXNrLnJlcXVlc3QubWV0aG9kLmxvd2VyKCkKKyAgICAgICAgaWYg aHR0cF9tZXRob2QgPT0gJ2hlYWQnOgorICAgICAgICAgICAgaHR0cF9tZXRob2QgPSAnZ2V0Jwog CiAgICAgICAgIGFzc2VydCBzZWxmLmNtZCBpbiBzZWxmLm9wZXJhdGlvbnMsIFwKLSAgICAgICAg ICAgICJVbmltcGxlbWVudGVkIGNvbW1hbmQgKHswfSkgZm9yIHsxfSIuZm9ybWF0KAorICAgICAg ICAgICAgJ1VuaW1wbGVtZW50ZWQgY29tbWFuZCAoezB9KSBmb3IgezF9Jy5mb3JtYXQoCiAgICAg ICAgICAgICAgICAgc2VsZi5jbWQsCiAgICAgICAgICAgICAgICAgc3RyKHNlbGYuX19jbGFzc19f Ll9fbmFtZV9fKQogICAgICAgICAgICAgKQogCiAgICAgICAgIGhhc19hcmdzLCBoYXNfaWQgPSBz ZWxmLmNoZWNrX2FyZ3MoKiprd2FyZ3MpCiAKLSAgICAgICAgYXNzZXJ0IChzZWxmLmNtZCBpbiBz ZWxmLm9wZXJhdGlvbnMgYW5kCi0gICAgICAgICAgICAgICAgKGhhc19pZCBhbmQgbGVuKHNlbGYu b3BlcmF0aW9uc1tzZWxmLmNtZF0pID4gMCBhbmQKLSAgICAgICAgICAgICAgICAgbWV0aCBpbiBz ZWxmLm9wZXJhdGlvbnNbc2VsZi5jbWRdWzBdKSBvcgotICAgICAgICAgICAgICAgIChub3QgaGFz X2lkIGFuZCBsZW4oc2VsZi5vcGVyYXRpb25zW3NlbGYuY21kXSkgPiAxIGFuZAotICAgICAgICAg ICAgICAgICBtZXRoIGluIHNlbGYub3BlcmF0aW9uc1tzZWxmLmNtZF1bMV0pIG9yCi0gICAgICAg ICAgICAgICAgKGxlbihzZWxmLm9wZXJhdGlvbnNbc2VsZi5jbWRdKSA+IDIgYW5kCi0gICAgICAg ICAgICAgICAgIG1ldGggaW4gc2VsZi5vcGVyYXRpb25zW3NlbGYuY21kXVsyXSkpLCBcCi0gICAg ICAgICAgICAiVW5pbXBsZW1lbnRlZCBtZXRob2QgKHswfSkgZm9yIGNvbW1hbmQgKHsxfSksIHdo aWNoIHsyfSBhbiBpZCJcCi0gICAgICAgICAgICAuZm9ybWF0KAotICAgICAgICAgICAgICAgIG1l dGgsIHNlbGYuY21kLAotICAgICAgICAgICAgICAgICdyZXF1aXJlcycgaWYgaGFzX2lkIGVsc2Ug J2RvZXMgbm90IHJlcXVpcmUnCi0gICAgICAgICAgICApCi0KLSAgICAgICAgbWV0aCA9IHNlbGYu b3BlcmF0aW9uc1tzZWxmLmNtZF1bMF1bbWV0aF0gaWYgaGFzX2lkIGVsc2UgXAotICAgICAgICAg ICAgc2VsZi5vcGVyYXRpb25zW3NlbGYuY21kXVsxXVttZXRoXSBcCi0gICAgICAgICAgICBpZiBo YXNfYXJncyBhbmQgbWV0aCBpbiBzZWxmLm9wZXJhdGlvbnNbc2VsZi5jbWRdWzFdIFwKLSAgICAg ICAgICAgIGVsc2Ugc2VsZi5vcGVyYXRpb25zW3NlbGYuY21kXVsyXVttZXRoXQorICAgICAgICBh c3NlcnQgKAorICAgICAgICAgICAgc2VsZi5jbWQgaW4gc2VsZi5vcGVyYXRpb25zIGFuZAorICAg ICAgICAgICAgKGhhc19pZCBhbmQgbGVuKHNlbGYub3BlcmF0aW9uc1tzZWxmLmNtZF0pID4gMCBh bmQKKyAgICAgICAgICAgICBodHRwX21ldGhvZCBpbiBzZWxmLm9wZXJhdGlvbnNbc2VsZi5jbWRd WzBdKSBvcgorICAgICAgICAgICAgKG5vdCBoYXNfaWQgYW5kIGxlbihzZWxmLm9wZXJhdGlvbnNb c2VsZi5jbWRdKSA+IDEgYW5kCisgICAgICAgICAgICAgaHR0cF9tZXRob2QgaW4gc2VsZi5vcGVy YXRpb25zW3NlbGYuY21kXVsxXSkgb3IKKyAgICAgICAgICAgIChsZW4oc2VsZi5vcGVyYXRpb25z W3NlbGYuY21kXSkgPiAyIGFuZAorICAgICAgICAgICAgIGh0dHBfbWV0aG9kIGluIHNlbGYub3Bl cmF0aW9uc1tzZWxmLmNtZF1bMl0pCisgICAgICAgICksIFwKKyAgICAgICAgICAgICdVbmltcGxl bWVudGVkIG1ldGhvZCAoezB9KSBmb3IgY29tbWFuZCAoezF9KSwgd2hpY2ggezJ9ICcgXAorICAg ICAgICAgICAgJ2FuIGlkJy5mb3JtYXQoaHR0cF9tZXRob2QsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLmNtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXF1aXJlcycg aWYgaGFzX2lkIGVsc2UgJ2RvZXMgbm90IHJlcXVpcmUnKQorICAgICAgICBtZXRoID0gTm9uZQor ICAgICAgICBpZiBoYXNfaWQ6CisgICAgICAgICAgICBtZXRoID0gc2VsZi5vcGVyYXRpb25zW3Nl bGYuY21kXVswXVtodHRwX21ldGhvZF0KKyAgICAgICAgZWxpZiBoYXNfYXJncyBhbmQgaHR0cF9t ZXRob2QgaW4gc2VsZi5vcGVyYXRpb25zW3NlbGYuY21kXVsxXToKKyAgICAgICAgICAgIG1ldGgg PSBzZWxmLm9wZXJhdGlvbnNbc2VsZi5jbWRdWzFdW2h0dHBfbWV0aG9kXQorICAgICAgICBlbHNl OgorICAgICAgICAgICAgbWV0aCA9IHNlbGYub3BlcmF0aW9uc1tzZWxmLmNtZF1bMl1baHR0cF9t ZXRob2RdCiAKICAgICAgICAgbWV0aG9kID0gZ2V0YXR0cihzZWxmLCBtZXRoLCBOb25lKQogCkBA IC0yNDIsNyArMjQ2LDcgQEAgY2xhc3MgTm9kZVZpZXcod2l0aF9tZXRhY2xhc3MoTWV0aG9kVmll d1R5cGUsIFZpZXcpKToKICAgICAgICAgICAgICAgICBzdGF0dXM9NDA2LAogICAgICAgICAgICAg ICAgIHN1Y2Nlc3M9MCwKICAgICAgICAgICAgICAgICBlcnJvcm1zZz1nZXR0ZXh0KAotICAgICAg ICAgICAgICAgICAgICAiVW5pbXBsZW1lbnRlZCBtZXRob2QgKHswfSkgZm9yIHRoaXMgdXJsICh7 MX0pIi5mb3JtYXQoCisgICAgICAgICAgICAgICAgICAgICdVbmltcGxlbWVudGVkIG1ldGhvZCAo ezB9KSBmb3IgdGhpcyB1cmwgKHsxfSknLmZvcm1hdCgKICAgICAgICAgICAgICAgICAgICAgICAg IG1ldGgsIGZsYXNrLnJlcXVlc3QucGF0aCkKICAgICAgICAgICAgICAgICApCiAgICAgICAgICAg ICApCkBAIC0zMzUsOCArMzM5LDEwIEBAIGNsYXNzIFBHQ2hpbGROb2RlVmlldyhOb2RlVmlldyk6 CiAgICAgICAgIG5vZGVzID0gW10KICAgICAgICAgZm9yIG1vZHVsZSBpbiBzZWxmLmJsdWVwcmlu dC5zdWJtb2R1bGVzOgogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShtb2R1bGUsIFBHQ2hpbGRN b2R1bGUpOgotICAgICAgICAgICAgICAgIGlmIG1hbmFnZXIgaXMgbm90IE5vbmUgYW5kIFwKLSAg ICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5CYWNrZW5kU3VwcG9ydGVkKG1hbmFnZXIsICoq a3dhcmdzKToKKyAgICAgICAgICAgICAgICBpZiAoCisgICAgICAgICAgICAgICAgICAgIG1hbmFn ZXIgaXMgbm90IE5vbmUgYW5kCisgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5CYWNrZW5kU3Vw cG9ydGVkKG1hbmFnZXIsICoqa3dhcmdzKQorICAgICAgICAgICAgICAgICk6CiAgICAgICAgICAg ICAgICAgICAgIG5vZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoqa3dhcmdzKSkKICAgICAg ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5kKG1vZHVsZS5nZXRfbm9k ZXMoKiprd2FyZ3MpKQo= --001a1147ce141ee7bc0566d912e9--