Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b9pbg-0007mt-US for pgadmin-hackers@arkaria.postgresql.org; Mon, 06 Jun 2016 08:09:57 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b9pbg-0004N5-Ae for pgadmin-hackers@arkaria.postgresql.org; Mon, 06 Jun 2016 08:09:56 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b9cHy-0005Ho-Mw for pgadmin-hackers@postgresql.org; Sun, 05 Jun 2016 17:56:42 +0000 Received: from mail-qk0-x22c.google.com ([2607:f8b0:400d:c09::22c]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b9cHh-0005DM-RI for pgadmin-hackers@postgresql.org; Sun, 05 Jun 2016 17:56:41 +0000 Received: by mail-qk0-x22c.google.com with SMTP id i187so69279676qkd.3 for ; Sun, 05 Jun 2016 10:56:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=9v1BJ0upv3atIHRQTI3AF7f3+6Nbto2NtL7Da44bJi4=; b=upq5Le31ztpk0Tn8JTQy1d1gNv7DVgLTJ+zdEKo8vk0V7UBgo98qqOrT6wT45NZ8vs fekxY+L5KuGnsdXWaGSnfFecXqRtN6x/6mDGBfiTDVUtpkb/RazaL1ckX49ERGtKfcPL KNp57sQV+x79cfsGkbzICju2rhJ+QCF1VkRL0nzx6ep1DCw27xXmhlayLDqGFnM8iW1t mQbxfKzuTbXGSFPwgIY8tycIF8dVGMxZtQf7KwAfO9e70ERavRjlpO8RasJ/MuwoUpB1 9XKEwosJeEYgRzrd+nm0t0T3f5lN4NPAfeUMSCuNbNg9Bq6NBeiFFgxnmqahZBiH2h2t 3ddA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=9v1BJ0upv3atIHRQTI3AF7f3+6Nbto2NtL7Da44bJi4=; b=B16rQesEIoL7IbXwiYBEacre7B4XRqMn6boNWiIDmrc7BtxxFWf+uH3LVnFZm7G1bq g5jD0xxPkcig5r9SA6jbBk9rNaBSaE3eOxz3O0FQ+xH4r/jtaQgBc1SUpu0S4KkFLUuP rLfi8b6F2vHVYDNJ45MnSq4o9PVhogpUTxTEqWnVjoQ3Y5aKl+wV0Dgh+DaDbPmbFLig 3vu2sEYVNnzMkWXjU7Psr49OQ5oJTp+nDBzhjpJAd3E9XtheFgjesf9vUFOjEkNtjTLN sWTJuJWs0Nu4IGzjdQ1toam5HBICJl1PfMZG+uSBztzH5w34ZQdqgKaIV9OD4FQfKc5M 22bA== X-Gm-Message-State: ALyK8tKN7Mn4ANAS6q0hEkQoxqInvW+/lsVFdEFypl+Sg2e7pd003+yW9QTCNiay0rG6pCK/tPIuS4qdSmqYK7Ax X-Received: by 10.233.239.18 with SMTP id d18mr12923823qkg.41.1465149383067; Sun, 05 Jun 2016 10:56:23 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.38.196 with HTTP; Sun, 5 Jun 2016 10:56:03 -0700 (PDT) From: Priyanka Shendge Date: Sun, 5 Jun 2016 23:26:03 +0530 Message-ID: Subject: pgAdmin IV API test cases patch To: pgadmin-hackers@postgresql.org Cc: Kanchan Mohitey Content-Type: multipart/mixed; boundary=94eb2c04b5ee8579e305348bac15 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --94eb2c04b5ee8579e305348bac15 Content-Type: multipart/alternative; boundary=94eb2c04b5ee8579df05348bac13 --94eb2c04b5ee8579df05348bac13 Content-Type: text/plain; charset=UTF-8 Hi, PFA patch for API test cases for tree nodes/modules. This patch does not include api tests for following modules: 1. Type 2. Table child nodes 3. FTS modules Kindly, review the same and let me know for any modification. -- Best, Priyanka EnterpriseDB Corporation The Enterprise PostgreSQL Company --94eb2c04b5ee8579df05348bac13 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

PFA patch for AP= I test cases for tree nodes/modules. This patch does not include
a= pi tests for following modules:

1. Type
2. Table chil= d nodes
3. FTS modules
<= div>
Kindly, review the same and let me know for any modifica= tion.

--
Be= st,
Priyanka
=
EnterpriseDB CorporationThe Enterprise PostgreSQL Company
--94eb2c04b5ee8579df05348bac13-- --94eb2c04b5ee8579e305348bac15 Content-Type: text/x-patch; charset=US-ASCII; name="pgAdmin_api_tests.patch" Content-Disposition: attachment; filename="pgAdmin_api_tests.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ip2vwuwy0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZXN0cy9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9jYXN0cy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmIwMjYzCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAg KzEsMTYgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBw Z2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgor CisKK2NsYXNzIENhc3RUZXN0R2VuZXJhdG9yKEJhc2VUZXN0R2VuZXJhdG9y KToKKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgIHJldHVybiBb XQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9h ZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdGVzdF9jYXN0X2FkZC5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzc5M2NkCi0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2Fz dF9hZGQucHkKQEAgLTAsMCArMSw4MCBAQAorIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisj IENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVs b3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRl ciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25m aWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dp biBpbXBvcnQgTG9naW5UZXN0Q2FzZQoraW1wb3J0IGpzb24sIHBpY2tsZSwg b3MKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRz Citmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRu b2RlcworCisKK2NsYXNzIENhc3RzQWRkVGVzdENhc2UoTG9naW5UZXN0Q2Fz ZSk6CisgICAgIiIiVGhpcyBjbGFzcyB3aWxsIGFkZCBjYXN0IHVuZGVyIGRh dGFiYXNlIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSAxOQorCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJM IGZvciBjYXN0IG5vZGUuCisgICAgICAgICgnQ2hlY2sgQ2FzdCBOb2RlJywg ZGljdCh1cmw9Jy9icm93c2VyL2Nhc3Qvb2JqLycpKQorICAgIF0KKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIGFkZCBjYXN0IHVuZGVyIDFzdCBzZXJ2ZXIgb2YgdHJlZSBub2Rl LiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAg ICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lk ID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmln X2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24g PSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9j b25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIGRhdGEg PVwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJj YXN0Y29udGV4dCI6IGNvbmZpZ19kYXRhWyd0ZXN0X2Nhc3RzX2NyZWRlbnRp YWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbJ3Rlc3RfY2FzdF9jb250ZXh0J10sCisgICAgICAgICAgICAg ICAgICAgICJlbmNvZGluZyI6IGNvbmZpZ19kYXRhWyd0ZXN0X2Nhc3RzX2Ny ZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBbJ3Rlc3RfZW5jb2RpbmcnXSwKKyAgICAgICAgICAgICAg ICAgICAgIm5hbWUiOiBjb25maWdfZGF0YVsndGVzdF9jYXN0c19jcmVkZW50 aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbJ3Rlc3RfbmFtZSddLAorICAgICAgICAgICAgICAgICAgICAic3JjdHlw IjogY29uZmlnX2RhdGFbJ3Rlc3RfY2FzdHNfY3JlZGVudGlhbHMnXQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf c291cmNlX3R5cGUnXSwKKyAgICAgICAgICAgICAgICAgICAgInRyZ3R5cCI6 IGNvbmZpZ19kYXRhWyd0ZXN0X2Nhc3RzX2NyZWRlbnRpYWxzJ10KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3Rh cmdldF90eXBlJ10KKworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHNlbGYudXJsICsgc3Ry KHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9p ZCkgKyAnLycsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BvbnNl LnN0YXR1c19jb2RlLCAyMDApCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAg ICAgICBjYXN0X2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10KKworICAg ICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9Eb3dubG9h ZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAgICAgICAg ICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9h ZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnL3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQucGtsJywgJ3Ji JykKKyAgICAgICAgICAgICAgICBhbGxfaWQgPSBwaWNrbGUubG9hZChleHN0 X3NlcnZlcl9pZCkKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGljdCA9 IGFsbF9pZAorCisgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsiY2lkIl0u YXBwZW5kKGNhc3RfaWQpCisKKyAgICAgICAgICAgIGNhc3Rfb3V0cHV0ID0g b3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvcmVncmVz c2lvbi8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVu dF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1bXAocGlj a2xlX2lkX2RpY3QsIGNhc3Rfb3V0cHV0KQorICAgICAgICAgICAgY2FzdF9v dXRwdXQuY2xvc2UoKQorCisKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90 ZXN0cy90ZXN0X2Nhc3RfZGVsZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3Rz L3Rlc3RfY2FzdF9kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uYmU3NjUyOQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy90ZXN0cy90ZXN0X2Nhc3RfZGVsZXRlLnB5CkBAIC0wLDAgKzEs NjAgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0 IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGlj ZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdy ZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1p bi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENh c2UKK2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBp bXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1w b3J0IHRlc3RfZ2V0bm9kZXMKKworCitjbGFzcyBDYXN0c0RlbGV0ZVRlc3RD YXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAgIFRoaXMgY2xhc3Mg d2lsbCBkZWxldGUgY2FzdCBub2RlIHByZXNlbnQgb24gdGhlIG9iamVjdCBi cm93c2VyJ3MKKyAgICB0cmVlIG5vZGUgYnkgcmVzcG9uc2UgY29kZS4KKyAg ICAiIiIKKyAgICBwcmlvcml0eSA9IDIyCisKKyAgICBzY2VuYXJpb3MgPSBb CisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIGNhc3Qgbm9k ZS4KKyAgICAgICAgKCdDaGVjayBDYXN0IE5vZGUnLCBkaWN0KHVybD0nL2Jy b3dzZXIvY2FzdC9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qo c2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRl IGNhc3QgdW5kZXIgMXN0IHNlcnZlciBvZiB0cmVlIG5vZGUuICIiIgorCisg ICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9p ZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRb ImRpZCJdWzBdCisgICAgICAgIGNhc3RfaWQgPSBhbGxfaWRbImNpZCJdWzBd CisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJf Z3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9k ZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0 ZWQiXToKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5n ZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICcvJyArIHN0cihjYXN0X2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxv YWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlm IGxlbihyZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBF eGNlcHRpb24oIk5vIHJvbGVzKHMpIHRvIGRlbGV0ZSEhISIpCisKKyAgICAg ICAgICAgIGRlbF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZShzZWxm LnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKyBzdHIoY2FzdF9pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Zm9sbG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBkZWxfcmVz cGRhdGEgPSBqc29uLmxvYWRzKGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgp KQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRh WydzdWNjZXNzJ10sIDEpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9nZXQu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdGVzdF9jYXN0X2dldC5weQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjAzNzA3Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9n ZXQucHkKQEAgLTAsMCArMSw0NiBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENv cHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3Bt ZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0 aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdf ZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBp bXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRp bHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVz IGltcG9ydCB0ZXN0X2dldG5vZGVzCisKKworY2xhc3MgQ2FzdHNHZXRUZXN0 Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxs IGZldGNoIHRoZSBjYXN0IG5vZGUgYWRkZWQgdW5kZXIgZGF0YWJhc2UuICIi IgorCisgICAgcHJpb3JpdHkgPSAyMAorCisgICAgc2NlbmFyaW9zID0gWwor ICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBjYXN0IG5vZGUu CisgICAgICAgICgnQ2hlY2sgQ2FzdCBOb2RlJywgZGljdCh1cmw9Jy9icm93 c2VyL2Nhc3Qvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGdldCBjYXN0 IHVuZGVyIDFzdCBzZXJ2ZXIgb2YgdHJlZSBub2RlLiAiIiIKKworICAgICAg ICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBh bGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQi XVswXQorICAgICAgICBjYXN0X2lkID0gYWxsX2lkWyJjaWQiXVswXQorICAg ICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3Vw J10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2Vs ZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06 CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNl bGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8n ICsgc3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnLycgKyBzdHIoY2FzdF9pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwv anNvbicpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3Bv bnNlLnN0YXR1c19jb2RlLCAyMDApCisKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9j YXN0cy90ZXN0cy90ZXN0X2Nhc3RfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rl c3RzL3Rlc3RfY2FzdF9wdXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZmY2NzM1YwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9jYXN0cy90ZXN0cy90ZXN0X2Nhc3RfcHV0LnB5CkBAIC0wLDAgKzEsNjYg QEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0g UG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNz aW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5i cm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UK K2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBv cnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0 IHRlc3RfZ2V0bm9kZXMKKworCitjbGFzcyBDYXN0c1VwZGF0ZVRlc3RDYXNl KExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAgIFRoaXMgY2xhc3Mgd2ls bCB1cGRhdGUgY2FzdCBub2RlIHByZXNlbnQgb24gdGhlIG9iamVjdCBicm93 c2VyJ3MKKyAgICB0cmVlIG5vZGUgYnkgcmVzcG9uc2UgY29kZS4KKyAgICAi IiIKKyAgICBwcmlvcml0eSA9IDIxCisKKyAgICBzY2VuYXJpb3MgPSBbCisg ICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIGNhc3Qgbm9kZS4K KyAgICAgICAgKCdDaGVjayBDYXN0IE5vZGUnLCBkaWN0KHVybD0nL2Jyb3dz ZXIvY2FzdC9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2Vs Zik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRlIGNh c3QgdW5kZXIgMXN0IHNlcnZlciBvZiB0cmVlIG5vZGUuICIiIgorCisgICAg ICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9 IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRp ZCJdWzBdCisgICAgICAgIGNhc3RfaWQgPSBhbGxfaWRbImNpZCJdWzBdCisg ICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1z ZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQi XToKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQo c2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAn LycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcvJyArIHN0cihjYXN0X2lkKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRt bC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRz KHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxl bihyZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNl cHRpb24oIk5vIHJvbGVzKHMpIHRvIHVwZGF0ZSEhISIpCisKKyAgICAgICAg ICAgIGRhdGEgPSB7CisgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjog Y29uZmlnX2RhdGFbInRlc3RfY2FzdF91cGRhdGVfZGF0YSJdCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsidGVzdF9jb21tZW50Il0s CisgICAgICAgICAgICAgICAgImlkIjogY2FzdF9pZAorICAgICAgICAgICAg ICAgfQorCisgICAgICAgICAgICBwdXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5wdXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2 ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKGNhc3RfaWQp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUp CisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25z ZS5zdGF0dXNfY29kZSwgMjAwKQorCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZl bnRfdHJpZ2dlcnMvdGVzdHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRf dHJpZ2dlcnMvdGVzdHMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNGI4ZGYwNgotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9ldmVudF90cmlnZ2Vycy90ZXN0cy9fX2luaXRfXy5weQpAQCAt MCwwICsxLDE2IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQor IyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0 b3IKKworCitjbGFzcyBFdmVudFRyaWdnZXJHZW5lcmF0b3JUZXN0Q2FzZShC YXNlVGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToK KyAgICAgICAgcmV0dXJuIFtdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL3Rlc3RzL3Rl c3RfZXZlbnRfdHJpZ2dlcl9hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRfdHJpZ2dl cnMvdGVzdHMvdGVzdF9ldmVudF90cmlnZ2VyX2FkZC5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGZmNWVlCi0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJzL3Rlc3RzL3Rlc3RfZXZl bnRfdHJpZ2dlcl9hZGQucHkKQEAgLTAsMCArMSw4MCBAQAorIyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRv b2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGlt cG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMu dGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNz aW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lv bi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNv bgoraW1wb3J0IHBpY2tsZQoraW1wb3J0IG9zCisKKworY2xhc3MgRXZlbnRU cmlnZ2VyQWRkVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRo aXMgY2xhc3Mgd2lsbCBhZGQgbmV3IGV2ZW50IHRyaWdnZXIgdW5kZXIgc2No ZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSAzOQorCisgICAgc2Nl bmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZv ciBldmVudCB0cmlnZ2VyIG5vZGUuCisgICAgICAgICgnRmV0Y2ggRXZlbnQg VHJpZ2dlciBOb2RlIFVSTCcsCisgICAgICAgICBkaWN0KHVybD0nL2Jyb3dz ZXIvZXZlbnRfdHJpZ2dlci9vYmovJykpCisgICAgICAgIF0KKworICAgIGRl ZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3 aWxsIGFkZCBldmVudCB0cmlnZ2VyIHVuZGVyIGRhdGFiYXNlIG5vZGUuICIi IgorCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNl cnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBh bGxfaWRbImRpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0 YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRl c3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2Nvblsn ZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAgZGF0YSA9IFwK KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJlbmFi bGVkIjogY29uZmlnX2RhdGFbJ3Rlc3RfZXZlbnRfdHJpZ2dlcl9jcmVkZW50 aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3RfZW5hYmxlJ10sCisgICAgICAgICAgICAgICAgICAgICJl dmVudGZ1bm5hbWUiOiBjb25maWdfZGF0YVsndGVzdF9ldmVudF90cmlnZ2Vy X2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyd0ZXN0X2V2ZW50X2Z1bmMnXSwKKyAgICAg ICAgICAgICAgICAgICAgImV2ZW50bmFtZSI6IGNvbmZpZ19kYXRhWyd0ZXN0 X2V2ZW50X3RyaWdnZXJfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZXZlbnRfbmFt ZSddLAorICAgICAgICAgICAgICAgICAgICAiZXZlbnRvd25lciI6IGNvbmZp Z19kYXRhWyd0ZXN0X2V2ZW50X3RyaWdnZXJfY3JlZGVudGlhbHMnXQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0 ZXN0X2V2ZW50X293bmVyJ10sCisgICAgICAgICAgICAgICAgICAgICJuYW1l IjogY29uZmlnX2RhdGFbJ3Rlc3RfZXZlbnRfdHJpZ2dlcl9jcmVkZW50aWFs cyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb J3Rlc3RfbmFtZSddLAorICAgICAgICAgICAgICAgICAgICAicHJvdmlkZXJz IjogY29uZmlnX2RhdGFbJ3Rlc3RfZXZlbnRfdHJpZ2dlcl9jcmVkZW50aWFs cyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsndGVzdF9wcm92aWRlciddCisgICAgICAgICAgICAgICAgfQorCisg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3Qoc2VsZi51 cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsg c3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJy8nLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAg ZXZlbnRfdHJpZ2dlcl9pZCA9IHJlc3BkYXRhWydub2RlJ11bJ19pZCddCisK KyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNmaWxlKCcvaG9tZS9lZGIvRG93 bmxvYWRzL3BnYWRtaW40L3dlYi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICdwYXJlbnRfaWQucGtsJyk6CisgICAgICAg ICAgICAgICAgZXhzdF9zZXJ2ZXJfaWQgPSBvcGVuKCcvaG9tZS9lZGIvRG93 bmxvYWRzL3BnYWRtaW40L3dlYicKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJy9yZWdyZXNzaW9uLycncGFyZW50X2lkLnBrbCcs ICdyYicpCisgICAgICAgICAgICAgICAgYWxsX2lkID0gcGlja2xlLmxvYWQo ZXhzdF9zZXJ2ZXJfaWQpCisgICAgICAgICAgICAgICAgcGlja2xlX2lkX2Rp Y3QgPSBhbGxfaWQKKworICAgICAgICAgICAgcGlja2xlX2lkX2RpY3RbImV0 aWQiXS5hcHBlbmQoZXZlbnRfdHJpZ2dlcl9pZCkKKworICAgICAgICAgICAg ZXZlbnRfdHJpZ2dlcl9vdXRwdXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxv YWRzL3BnYWRtaW40L3dlYi8nCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3JlZ3Jlc3Npb24vcGFyZW50X2lkLnBrbCcsICd3 YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwg ZXZlbnRfdHJpZ2dlcl9vdXRwdXQpCisgICAgICAgICAgICBldmVudF90cmln Z2VyX291dHB1dC5jbG9zZSgpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRf dHJpZ2dlcnMvdGVzdHMvdGVzdF9ldmVudF90cmlnZ2VyX2RlbGV0ZS5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9ldmVudF90cmlnZ2Vycy90ZXN0cy90ZXN0X2V2ZW50X3RyaWdn ZXJfZGVsZXRlLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmJiY2IxOWMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXZlbnRf dHJpZ2dlcnMvdGVzdHMvdGVzdF9ldmVudF90cmlnZ2VyX2RlbGV0ZS5weQpA QCAtMCwwICsxLDU5IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisj IHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0 IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVh bQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitm cm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBM b2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBv cnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0 IHRlc3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29uCisKKworY2xhc3MgRXZlbnRU cmlnZ2VyRGVsZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi IFRoaXMgY2xhc3Mgd2lsbCBkZWxldGUgYWRkZWQgZXZlbnQgdHJpZ2dlciB1 bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9IDQyCisK KyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVs dCBVUkwgZm9yIGV2ZW50IHRyaWdnZXIgIG5vZGUuCisgICAgICAgICgnRmV0 Y2ggRXZlbnQgVHJpZ2dlciBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nl ci9ldmVudF90cmlnZ2VyL29iai8nKSkKKyAgICAgICAgXQorCisgICAgZGVm IHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdp bGwgZGVsZXRlIGV2ZW50IHRyaWdnZXIgdW5kZXIgZGF0YWJhc2Ugbm9kZS4g IiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAg c2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9 IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZXZlbnRfdHJpZ2dlcl9pZCA9 IGFsbF9pZFsiZXRpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdf ZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9 IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2Nv blsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAgcmVzcG9u c2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihl dmVudF90cmlnZ2VyX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAg ICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEu ZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgPT0g MDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIGV2ZW50 IHRyaWdnZXIocykgdG8gdXBkYXRlISEhIikKKworICAgICAgICAgICAgZGVs X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsgc3Ry KHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RyKGRiX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKGV2ZW50X3RyaWdnZXJfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAgZGVsX3Jl c3BkYXRhID0ganNvbi5sb2FkcyhkZWxfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRlbF9yZXNwZGF0 YVsnc3VjY2VzcyddLCAxKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9ldmVudF90cmlnZ2Vycy90ZXN0cy90ZXN0 X2V2ZW50X3RyaWdnZXJfZ2V0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdnZXJz L3Rlc3RzL3Rlc3RfZXZlbnRfdHJpZ2dlcl9nZXQucHkKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJiNDE3YgotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9ldmVudF90cmlnZ2Vycy90ZXN0cy90ZXN0X2V2ZW50 X3RyaWdnZXJfZ2V0LnB5CkBAIC0wLDAgKzEsNDcgQEAKKyMgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29s cworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFz ZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBv cnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRl c3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lv bi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24u dGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRub2RlcworCisKK2NsYXNzIEV2 ZW50VHJpZ2dlckdldFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIi IiBUaGlzIGNsYXNzIHdpbGwgZmV0Y2ggYWRkZWQgZXZlbnQgdHJpZ2dlciB1 bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9IDQwCisK KyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVs dCBVUkwgZm9yIGV2ZW50IHRyaWdnZXIgIG5vZGUuCisgICAgICAgICgnRmV0 Y2ggRXZlbnQgVHJpZ2dlciBOb2RlIFVSTCcsCisgICAgICAgICBkaWN0KHVy bD0nL2Jyb3dzZXIvZXZlbnRfdHJpZ2dlci9vYmovJykpCisgICAgICAgIF0K KworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBm dW5jdGlvbiB3aWxsIGZldGNoIGV2ZW50IHRyaWdnZXIgdW5kZXIgZGF0YWJh c2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisK KyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAg ICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZXZlbnRfdHJp Z2dlcl9pZCA9IGFsbF9pZFsiZXRpZCJdWzBdCisgICAgICAgIHNydl9ncnAg PSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAg IGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAg IGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQp ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcv JyArIHN0cihldmVudF90cmlnZ2VyX2lkKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29u JykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uu c3RhdHVzX2NvZGUsIDIwMCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50 X3RyaWdnZXJzL3Rlc3RzL3Rlc3RfZXZlbnRfdHJpZ2dlcl9wdXQucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZXZlbnRfdHJpZ2dlcnMvdGVzdHMvdGVzdF9ldmVudF90cmlnZ2Vy X3B1dC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5i OGFiOGRlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V2ZW50X3RyaWdn ZXJzL3Rlc3RzL3Rlc3RfZXZlbnRfdHJpZ2dlcl9wdXQucHkKQEAgLTAsMCAr MSw2NSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWlu IDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAx MyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhp cyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBM aWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJl Z3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2Fk bWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0 Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9p ZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dl dG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIEV2ZW50VHJpZ2dlclB1 dFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNz IHdpbGwgdXBkYXRlIGFkZGVkIGV2ZW50IHRyaWdnZXIgdW5kZXIgc2NoZW1h IG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA0MQorCisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBl dmVudCB0cmlnZ2VyICBub2RlLgorICAgICAgICAoJ0ZldGNoIEV2ZW50IFRy aWdnZXIgTm9kZSBVUkwnLAorICAgICAgICAgZGljdCh1cmw9Jy9icm93c2Vy L2V2ZW50X3RyaWdnZXIvb2JqLycpKQorICAgICAgICBdCisKKyAgICBkZWYg cnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2ls bCB1cGRhdGUgZXZlbnQgdHJpZ2dlciB1bmRlciBkYXRhYmFzZSBub2RlLiAi IiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBz ZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lkID0g YWxsX2lkWyJkaWQiXVswXQorICAgICAgICBldmVudF90cmlnZ2VyX2lkID0g YWxsX2lkWyJldGlkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19k YXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29uID0g dGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYgZGJfY29u WydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAgICByZXNwb25z ZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSAr ICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKGV2 ZW50X3RyaWdnZXJfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAg ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSA9PSAw OgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gZXZlbnQg dHJpZ2dlcihzKSB0byB1cGRhdGUhISEiKQorCisgICAgICAgICAgICBkYXRh ID0gXAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ImNvbW1lbnQiOiBjb25maWdfZGF0YVsndGVzdF9ldmVudF90cmlnZ2VyX3Vw ZGF0ZV9kYXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsndGVzdF9jb21tZW50J10sCisgICAgICAgICAgICAgICAg ICAgICJpZCI6IGV2ZW50X3RyaWdnZXJfaWQKKyAgICAgICAgICAgICAgICB9 CisKKyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1 dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9p ZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoZXZlbnRfdHJpZ2dl cl9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9 VHJ1ZSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jl c3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv ZXh0ZW5zaW9ucy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNp b25zL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjAyNWI1N2UKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvZXh0ZW5zaW9ucy90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDE2 IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2Vu Y2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKKworCitj bGFzcyBFeHRlbnNpb25HZW5lcmF0b3JUZXN0Q2FzZShCYXNlVGVzdEdlbmVy YXRvcik6CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgcmV0 dXJuIFtdClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2V4dGVuc2lvbnMvdGVzdHMvdGVzdF9leHRlbnNpb25fYWRk LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2V4dGVuc2lvbnMvdGVzdHMvdGVzdF9leHRlbnNpb25f YWRkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFm MDJiZTgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZXh0ZW5zaW9ucy90 ZXN0cy90ZXN0X2V4dGVuc2lvbl9hZGQucHkKQEAgLTAsMCArMSw3NyBAQAor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0 Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisj CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dz ZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQoraW1w b3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBvcworZnJvbSByZWdy ZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVz c2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCisKKworY2xh c3MgRXh0ZW5zaW9uc0FkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAg ICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBleHRlbnNpb24gdW5kZXIg ZXh0ZW5zaW9uIG5vZGUuICIiIgorICAgIHByaW9yaXR5ID0gMzMKKworICAg IHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVS TCBmb3IgZXh0ZW5zaW9uIG5vZGUuCisgICAgICAgICgnQ2hlY2sgRXh0ZW5z aW9uIE5vZGUnLCBkaWN0KHVybD0nL2Jyb3dzZXIvZXh0ZW5zaW9uL29iai8n KSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAg IiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgZXh0ZW5zaW9uIHVuZGVyIDFz dCBzZXJ2ZXIgb2YgdHJlZSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQg PSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNp ZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAg ICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3Vw J10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2Vs ZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06 CisKKyAgICAgICAgICAgIGRhdGEgPVwKKyAgICAgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgICAgICAgICJuYW1lIjogY29uZmlnX2RhdGFbJ3Rlc3Rf ZXh0ZW5zaW9uX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfbmFtZSddLAorICAg ICAgICAgICAgICAgICAgICAicmVsb2NhdGFibGUiOiBjb25maWdfZGF0YVsn dGVzdF9leHRlbnNpb25fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9yZWxvY2F0ZSdd LAorICAgICAgICAgICAgICAgICAgICAic2NoZW1hIjogY29uZmlnX2RhdGFb J3Rlc3RfZXh0ZW5zaW9uX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9zY2hlbWEnXSwKKyAg ICAgICAgICAgICAgICAgICAgInZlcnNpb24iOiBjb25maWdfZGF0YVsndGVz dF9leHRlbnNpb25fY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfdmVyc2lvbiddCisKKyAg ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsgJy8nLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5k dW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAg ICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAw KQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9u c2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgZXh0ZW5zaW9uX2lk ID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10KKworICAgICAgICAgICAgaWYg b3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQv d2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAgICAgICAgICAgICBleHN0X3Nl cnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQv d2ViJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn L3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQucGtsJywgJ3JiJykKKyAgICAgICAg ICAgICAgICBhbGxfaWQgPSBwaWNrbGUubG9hZChleHN0X3NlcnZlcl9pZCkK KyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGljdCA9IGFsbF9pZAorCisg ICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsiZWlkIl0uYXBwZW5kKGV4dGVu c2lvbl9pZCkKKworICAgICAgICAgICAgZXh0ZW5zaW9uX291dHB1dCA9IG9w ZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Np b24vJworICAgICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBr bCcsICd3YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRf ZGljdCwgZXh0ZW5zaW9uX291dHB1dCkKKyAgICAgICAgICAgIGV4dGVuc2lv bl9vdXRwdXQuY2xvc2UoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3RzL3Rlc3RfZXh0 ZW5zaW9uX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3RzL3Rl c3RfZXh0ZW5zaW9uX2RlbGV0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi4zM2ZjOWJjCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2V4dGVuc2lvbnMvdGVzdHMvdGVzdF9leHRlbnNpb25fZGVsZXRlLnB5 CkBAIC0wLDAgKzEsNTkgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMK KyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBU ZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBv c3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KworZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEK K2Zyb20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0 IExvZ2luVGVzdENhc2UKK2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24u dGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRl c3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKKworCitjbGFzcyBFeHRl bnNpb25EZWxldGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIg VGhpcyBjbGFzcyB3aWxsIGRlbGV0ZSBleHRlbnNpb24gbm9kZSBhZGRlZCB1 bmRlciBkYXRhYmFzZSBub2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gOTYK KworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZh dWx0IFVSTCBmb3IgZXh0ZW5zaW9uIG5vZGUuCisgICAgICAgICgnQ2hlY2sg Q2FzdCBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2V4dGVuc2lvbi9vYmov JykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAg ICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIGFkZGVkIGV4dGVuc2lv biB1bmRlciBkYXRhYmFzZSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQg PSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNp ZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAg ICAgICBleHRlbnNpb25faWQgPSBhbGxfaWRbImVpZCJdWzBdCisgICAgICAg IHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQor CisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQor CisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKwor ICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51 cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGRi X2lkKSArICcvJyArIHN0cihleHRlbnNpb25faWQpLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1s L2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMo cmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVu KHJlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiTm8gZXh0ZW5zaW9uKHMpIHRvIGRlbGV0ZSEhISIpCisKKyAgICAg ICAgICAgIGRlbF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZShzZWxm LnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihleHRlbnNpb25f aWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAg ZGVsX3Jlc3BkYXRhID0ganNvbi5sb2FkcyhkZWxfcmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRlbF9y ZXNwZGF0YVsnc3VjY2VzcyddLCAxKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3RzL3Rl c3RfZXh0ZW5zaW9uX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3Rz L3Rlc3RfZXh0ZW5zaW9uX2dldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi44Nzc4NjUxCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2V4dGVuc2lvbnMvdGVzdHMvdGVzdF9leHRlbnNpb25fZ2V0LnB5CkBA IC0wLDAgKzEsNDUgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor ZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zy b20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExv Z2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9y dCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQg dGVzdF9nZXRub2RlcworCisKK2NsYXNzIEV4dGVuc2lvbkdldFRlc3RDYXNl KExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgZmV0 Y2ggdGhlIGV4dGVuc2lvbiBub2RlIGFkZGVkIHVuZGVyIGRhdGFiYXNlLiAi IiIKKworICAgIHByaW9yaXR5ID0gMjQKKworICAgIHNjZW5hcmlvcyA9IFsK KyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgZXh0ZW5zaW9u IG5vZGUuCisgICAgICAgICgnQ2hlY2sgQ2FzdCBOb2RlJywgZGljdCh1cmw9 Jy9icm93c2VyL2V4dGVuc2lvbi9vYmovJykpCisgICAgXQorCisgICAgZGVm IHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdp bGwgZmV0Y2ggY2FzdCB1bmRlciAxc3Qgc2VydmVyIG9mIHRyZWUgbm9kZS4g IiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAg c2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9 IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZXh0ZW5zaW9uX2lkID0gYWxs X2lkWyJlaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFb J3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0 X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2Rh dGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0g c2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8n ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoZXh0ZW5z aW9uX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3RzL3Rlc3RfZXh0 ZW5zaW9uX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9leHRlbnNpb25zL3Rlc3RzL3Rlc3Rf ZXh0ZW5zaW9uX3B1dC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5jYWE2OGRlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V4 dGVuc2lvbnMvdGVzdHMvdGVzdF9leHRlbnNpb25fcHV0LnB5CkBAIC0wLDAg KzEsNjYgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGls cyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMg aW1wb3J0IHRlc3RfZ2V0bm9kZXMKKworCitjbGFzcyBFeHRlbnNpb25EZWxl dGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIKKyAgICBUaGlz IGNsYXNzIHdpbGwgdXBkYXRlIGV4dGVuc2lvbiBub2RlIHByZXNlbnQgb24g dGhlIG9iamVjdCBicm93c2VyJ3MKKyAgICB0cmVlIG5vZGUgYnkgcmVzcG9u c2UgY29kZS4KKyAgICAiIiIKKyAgICBwcmlvcml0eSA9IDI1CisKKyAgICBz Y2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwg Zm9yIGV4dGVuc2lvbiBub2RlLgorICAgICAgICAoJ0NoZWNrIENhc3QgTm9k ZScsIGRpY3QodXJsPScvYnJvd3Nlci9leHRlbnNpb24vb2JqLycpKQorICAg IF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhp cyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSBleHRlbnNpb24gbm9kZS4gIiIiCisK KyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVy X2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9p ZFsiZGlkIl1bMF0KKyAgICAgICAgZXh0ZW5zaW9uX2lkID0gYWxsX2lkWyJl aWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rf c2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5v ZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsi Y29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArIHN0cihzZXJ2 ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArICcvJworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBzdHIoZXh0ZW5zaW9uX2lk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3Bk YXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBpZiBsZW4ocmVzcGRhdGEpID09IDA6CisgICAgICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBleHRlbnNpb24ocykgdG8gdXBk YXRlISEhIikKKworICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAgICAgICAg ICAgICB7CisgICAgICAgICAgICAgICAgICAgICJpZCI6IGV4dGVuc2lvbl9p ZCwKKyAgICAgICAgICAgICAgICAgICAgInNjaGVtYSI6IGNvbmZpZ19kYXRh WyJ0ZXN0X2V4dGVuc2lvbl91cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsidGVzdF9zY2hlbWEiXQorICAgICAg ICAgICAgICAgIH0KKworICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihl eHRlbnNpb25faWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVk aXJlY3RzPVRydWUpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2Rh dGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL19faW5pdF9fLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZl cnMvdGVzdHMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uOGZkMTQyMgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3Rz L19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMgIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwor IworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBE ZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQg dW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9y dCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIEZvcmVpZ25TZXJ2ZXJz R2VuZXJhdG9yVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgorCisgICAg ZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIHJldHVybiBbXQpcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3Jl aWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rf Zm9yZWlnbl9zZXJ2ZXJzX2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFf d3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9z ZXJ2ZXJzX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5hM2U2OWYwCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVp Z25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9m b3JlaWduX3NlcnZlcnNfYWRkLnB5CkBAIC0wLDAgKzEsOTIgQEAKKyMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNR TCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUg cGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMg cmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNvbmZp ZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnRl c3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2Zyb20gcmVn cmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJlZ3Jl c3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRub2RlcworaW1wb3J0 IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHBpY2tsZQorCisKK2NsYXNzIEZv cmVpZ25TZXJ2ZXJBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAi IiIKKyAgICBUaGlzIGNsYXNzIHdpbGwgYWRkIGZvcmVpZ24gc2VydmVyIHVu ZGVyIGRhdGFiYXNlIG5vZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA3 MQorCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRl ZmF1bHQgVVJMIGZvciBmb3JlaWduIHNlcnZlciBub2RlLgorICAgICAgICAo J0NoZWNrIEZEVyBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVpZ25f c2VydmVyL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxm KToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgZm9yZWln biBzZXJ2ZXIgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAg YWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxs X2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1b MF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVswXQorICAgICAg ICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10K KworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikK KworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisK KyAgICAgICAgICAgICMgR2V0IEZEVworICAgICAgICAgICAgZmR3X3Jlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9mb3JlaWduX2RhdGFf d3JhcHBlci9vYmovJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3Jw LCBzZXJ2ZXJfaWQsIGRiX2lkLCBmZHdfaWQpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRt bC9qc29uJykKKworICAgICAgICAgICAgZmR3X3Jlc3BkYXRhID0ganNvbi5s b2FkcyhmZHdfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAg ICAgaWYgbGVuKGZkd19yZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24oIk5vIEZEVyhzKSB0byB1cGRhdGUhIikKKwor ICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgICJmc3J2YWNsIjogY29uZmlnX2RhdGFbJ3Rlc3Rf Zm9yZWlnbl9zZXJ2ZXJfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2Zzcl9hY2wnXSwK KyAgICAgICAgICAgICAgICAgICAgImZzcnZvcHRpb25zIjogY29uZmlnX2Rh dGFbJ3Rlc3RfZm9yZWlnbl9zZXJ2ZXJfY3JlZGVudGlhbHMnXQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVz dF9mc3Jfb3B0bnMnXSwKKyAgICAgICAgICAgICAgICAgICAgImZzcnZvd25l ciI6IGNvbmZpZ19kYXRhWyd0ZXN0X2ZvcmVpZ25fc2VydmVyX2NyZWRlbnRp YWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X2Zzcl9vd25lciddLAorICAgICAgICAgICAgICAgICAg ICAibmFtZSI6IGNvbmZpZ19kYXRhWyd0ZXN0X2ZvcmVpZ25fc2VydmVyX2Ny ZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsndGVzdF9uYW1lJ10KKyAgICAgICAgICAgICAgICB9CisKKyAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVy bCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBz dHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnLycgKyBzdHIoZmR3X2lkKSArICcvJywKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMo ZGF0YSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICBz ZWxmLmFzc2VydFRydWUocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKwor ICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRh dGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGZyc19pZCA9IHJlc3BkYXRh Wydub2RlJ11bJ19pZCddCisKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNm aWxlKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dlYi9yZWdyZXNz aW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJlbnRf aWQucGtsJyk6CisgICAgICAgICAgICAgICAgZXhzdF9zZXJ2ZXJfaWQgPSBv cGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dlYicKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvcmVncmVzc2lv bi8nJ3BhcmVudF9pZC5wa2wnLCAncmInKQorICAgICAgICAgICAgICAgIGFs bF9pZCA9IHBpY2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQorICAgICAgICAg ICAgICAgIHBpY2tsZV9pZF9kaWN0ID0gYWxsX2lkCisKKyAgICAgICAgICAg IHBpY2tsZV9pZF9kaWN0WyJmc2lkIl0uYXBwZW5kKGZyc19pZCkKKworICAg ICAgICAgICAgZnJzX291dHB1dCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9h ZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAgICAg ICAgICAgICAgICAncGFyZW50X2lkLnBrbCcsICd3YicpCisgICAgICAgICAg ICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwgZnJzX291dHB1dCkKKyAg ICAgICAgICAgIGZyc19vdXRwdXQuY2xvc2UoKQorCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90 ZXN0cy90ZXN0X2ZvcmVpZ25fc2VydmVyc19kZWxldGUucHkgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv Zm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90 ZXN0X2ZvcmVpZ25fc2VydmVyc19kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uODRiOGUyZAotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2 ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX2RlbGV0ZS5weQpAQCAt MCwwICsxLDczIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQor IyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zy b20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9t IHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dp blRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQg Z2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRl c3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29uCisKKworY2xhc3MgRm9yZWlnblNl cnZlckRlbGV0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBU aGlzIGNsYXNzIHdpbGwgZGVsZXRlIGZvcmVpZ24gc2VydmVyIHVuZGVyIGRh dGFiYXNlIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA5NAorCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJM IGZvciBmb3JlaWduIHNlcnZlciBub2RlLgorICAgICAgICAoJ0NoZWNrIEZE VyBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVpZ25fc2VydmVyL29i ai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAg ICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgZm9yZWlnbiBzZXJ2 ZXIgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lk ID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJz aWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAg ICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVswXQorICAgICAgICBmcnNf aWQgPSBhbGxfaWRbJ2ZzaWQnXVswXQorICAgICAgICBzcnZfZ3JwID0gY29u ZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9j b24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBk Yl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgICMg R2V0IEZEVworICAgICAgICAgICAgZmR3X3Jlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KCcvYnJvd3Nlci9mb3JlaWduX2RhdGFfd3JhcHBlci9vYmovJwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7 MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRi X2lkLCBmZHdfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAg ICAgICAgICAgZmR3X3Jlc3BkYXRhID0ganNvbi5sb2FkcyhmZHdfcmVzcG9u c2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKGZkd19y ZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIk5vIEZEVyhzKSB0byBhdmFpbGFibGUhIikKKworICAgICAgICAgICAg ZnJzX3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3Ry KHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihk Yl9pZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICcvJyArIHN0cihmZHdfaWQpICsgJy8nICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZnJzX2lkKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIGZyc19y ZXNwZGF0YSA9IGpzb24ubG9hZHMoZnJzX3Jlc3BvbnNlLmRhdGEuZGVjb2Rl KCkpCisKKyAgICAgICAgICAgIGlmIGxlbihmcnNfcmVzcGRhdGEpID09IDA6 CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBGUlMocykg dG8gdXBkYXRlISIpCisKKyAgICAgICAgICAgIGRlbGV0ZV9yZXNwb25zZSA9 IHNlbGYudGVzdGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cihzcnZfZ3JwKSAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJy8nICsgc3RyKHNlcnZlcl9pZCkgKyAnLycgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihk Yl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cihmZHdfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoZnJzX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisKKyAg ICAgICAgICAgIGRlbF9yZXNwZGF0YSA9IGpzb24ubG9hZHMoZGVsZXRlX3Jl c3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIHNlbGYuYXNz ZXJ0VHJ1ZShkZWxfcmVzcGRhdGFbJ3N1Y2Nlc3MnXSwgMSkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2 ZXJzL3Rlc3RzL3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX2dldC5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Rlc3Rz L3Rlc3RfZm9yZWlnbl9zZXJ2ZXJzX2dldC5weQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi41YmRmMzVhCi0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZl cnMvdGVzdHMvdGVzdF9mb3JlaWduX3NlcnZlcnNfZ2V0LnB5CkBAIC0wLDAg KzEsNjEgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9n ZXRub2RlcworaW1wb3J0IGpzb24KKworCitjbGFzcyBGb3JlaWduU2VydmVy R2V0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiCisgICAgVGhp cyBjbGFzcyB3aWxsIGFkZCBmb3JlaWduIHNlcnZlciB1bmRlciBGRFcgbm9k ZS4KKyAgICAiIiIKKyAgICBwcmlvcml0eSA9IDcyCisKKyAgICBzY2VuYXJp b3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIGZv cmVpZ24gc2VydmVyIG5vZGUuCisgICAgICAgICgnQ2hlY2sgRkRXIE5vZGUn LCBkaWN0KHVybD0nL2Jyb3dzZXIvZm9yZWlnbl9zZXJ2ZXIvb2JqLycpKQor ICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIg VGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBmb3JlaWduIHNlcnZlciB1bmRlciBG RFcgbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisK KyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAg ICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZmR3X2lkID0g YWxsX2lkWyJmaWQiXVswXQorICAgICAgICBmcnNfaWQgPSBhbGxfaWRbJ2Zz aWQnXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rf c2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5v ZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsi Y29ubmVjdGVkIl06CisKKyAgICAgICAgICAgICMgR2V0IEZEVworICAgICAg ICAgICAgZmR3X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nl ci9mb3JlaWduX2RhdGFfd3JhcHBlci9vYmovJworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30n LmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBmZHdfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZmR3X3Jl c3BkYXRhID0ganNvbi5sb2FkcyhmZHdfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgaWYgbGVuKGZkd19yZXNwZGF0YSkgPT0gMDoK KyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZEVyhzKSB0 byBhdmFpbGFibGUhIikKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNl cnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihmZHdfaWQpICsg Jy8nICsgc3RyKGZyc19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAg ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19j b2RlLCAyMDApCisKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0 YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9mb3JlaWdu X3NlcnZlcnNfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVy cy9mb3JlaWduX3NlcnZlcnMvdGVzdHMvdGVzdF9mb3JlaWduX3NlcnZlcnNf cHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJk MTcwYjMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRh X3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy90ZXN0cy90ZXN0X2ZvcmVpZ25f c2VydmVyc19wdXQucHkKQEAgLTAsMCArMSw3OSBAQAorIyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xz CisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWlu IERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNl ZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9y dCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVz dF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9u LnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50 ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgor CisKK2NsYXNzIEZvcmVpZ25TZXJ2ZXJQdXRUZXN0Q2FzZShMb2dpblRlc3RD YXNlKToKKyAgICAiIiIKKyAgICBUaGlzIGNsYXNzIHdpbGwgdXBkYXRlIGZv cmVpZ24gc2VydmVyIHVuZGVyIGRhdGFiYXNlIG5vZGUuCisgICAgIiIiCisg ICAgcHJpb3JpdHkgPSA3MworCisgICAgc2NlbmFyaW9zID0gWworICAgICAg ICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBmb3JlaWduIHNlcnZlciBu b2RlLgorICAgICAgICAoJ0NoZWNrIEZEVyBOb2RlJywgZGljdCh1cmw9Jy9i cm93c2VyL2ZvcmVpZ25fc2VydmVyL29iai8nKSkKKyAgICBdCisKKyAgICBk ZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24g d2lsbCBhZGQgZm9yZWlnbiBzZXJ2ZXIgdW5kZXIgZGF0YWJhc2Ugbm9kZS4g IiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAg c2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9 IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJm aWQiXVswXQorICAgICAgICBmcnNfaWQgPSBhbGxfaWRbJ2ZzaWQnXVswXQor ICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dy b3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9 c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVk Il06CisKKyAgICAgICAgICAgICMgR2V0IEZEVworICAgICAgICAgICAgZmR3 X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9mb3JlaWdu X2RhdGFfd3JhcHBlci9vYmovJworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZvcm1hdAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz cnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBmZHdfaWQpLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlw ZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZmR3X3Jlc3BkYXRhID0g anNvbi5sb2FkcyhmZHdfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAg ICAgICAgICAgaWYgbGVuKGZkd19yZXNwZGF0YSkgPT0gMDoKKyAgICAgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZEVyhzKSB0byBhdmFpbGFi bGUhIikKKworICAgICAgICAgICAgIyBHZXQgRlJTCisgICAgICAgICAgICBm cnNfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRi X2lkKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJy8nICsgc3RyKGZkd19pZCkgKyAnLycgKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihmcnNfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZnJzX3Jl c3BkYXRhID0ganNvbi5sb2FkcyhmcnNfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgaWYgbGVuKGZyc19yZXNwZGF0YSkgPT0gMDoK KyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZSUyhzKSB0 byB1cGRhdGUhIikKKworICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAgICAg ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6 IGNvbmZpZ19kYXRhWyd0ZXN0X0ZSU191cGRhdGVfZGF0YSddCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfY29t bWVudCddLAorICAgICAgICAgICAgICAgICAgICAiaWQiOiBmcnNfaWQKKyAg ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9 IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBz dHIoZmR3X2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyKGZyc19pZCksIGRhdGE9anNvbi5kdW1w cyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwg MjAwKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJz L3VzZXJfbWFwcGluZy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3Jl aWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGlu Zy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4wYjg3ZGIyCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMvdXNlcl9t YXBwaW5nL3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUg aXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxz LnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIFVz ZXJNYXBwaW5nR2VuZXJhdG9yVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3Ip OgorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgIHJldHVybiBb XQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Vz ZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19hZGQucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL2ZvcmVpZ25fc2VydmVycy91 c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2VyX21hcHBpbmdfYWRkLnB5Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NWZmMDYKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJz L2ZvcmVpZ25fc2VydmVycy91c2VyX21hcHBpbmcvdGVzdHMvdGVzdF91c2Vy X21hcHBpbmdfYWRkLnB5CkBAIC0wLDAgKzEsMTA0IEBACisjICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1w b3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50 ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Np b24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9u LnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29u CitpbXBvcnQgb3MKK2ltcG9ydCBwaWNrbGUKKworCitjbGFzcyBVc2VyTWFw cGluZ0FkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAg IFRoaXMgY2xhc3Mgd2lsbCBhZGQgdXNlciBtYXBwaW5nIHVuZGVyIGZvcmVp Z24gc2VydmVyIG5vZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA3NAor CisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1 bHQgVVJMIGZvciB1c2VyIG1hcHBpbmcgbm9kZS4KKyAgICAgICAgKCdDaGVj ayB1c2VyIG1hcHBpbmcgTm9kZScsIGRpY3QodXJsPScvYnJvd3Nlci91c2Vy X21hcHBpbmcvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCB1c2Vy IG1hcHBpbmcgdW5kZXIgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4gIiIiCisKKyAg ICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lk ID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsi ZGlkIl1bMF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVswXQor ICAgICAgICBmcnNfaWQgPSBhbGxfaWRbJ2ZzaWQnXVswXQorICAgICAgICBz cnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKwor ICAgICAgICAjcHJpbnQoImluIGZzOjo6OjoiLCBmZHdfaWQpCisKKyAgICAg ICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAg ICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAg ICAgICAjIEdldCBGRFcKKyAgICAgICAgICAgIGZkd19yZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvZm9yZWlnbl9kYXRhX3dyYXBwZXIv b2JqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVy X2lkLCBkYl9pZCwgZmR3X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIGZkd19yZXNwZGF0YSA9IGpzb24ubG9hZHMoZmR3 X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxl bihmZHdfcmVzcGRhdGEpID09IDA6CisgICAgICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJObyBGRFcocykgYXZhaWxhYmxlISIpCisKKyAgICAgICAg ICAgICMgR2V0IEZSUworICAgICAgICAgICAgZnJzX3Jlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9mb3JlaWduX3NlcnZlci9vYmovJwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7 MH0vezF9L3syfS97M30vezR9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lk LCBkYl9pZCwgZmR3X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmcnNfaWQpLCBjb250ZW50X3R5cGU9J2h0bWwv anNvbicpCisKKyAgICAgICAgICAgIGZyc19yZXNwZGF0YSA9IGpzb24ubG9h ZHMoZnJzX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAg IGlmIGxlbihmcnNfcmVzcGRhdGEpID09IDA6CisgICAgICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJObyBGUlMocykgYXZhaWxhYmxlISIpCisKKyAg ICAgICAgICAgIGRhdGEgPSBcCisgICAgICAgICAgICAgICAgeworICAgICAg ICAgICAgICAgICAgICAibmFtZSI6IGNvbmZpZ19kYXRhWyd0ZXN0X3VzZXJf bWFwcGluZ19jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbJ3Rlc3RfbmFtZSddLAorICAgICAgICAgICAg ICAgICAgICAidW1fb3B0aW9ucyI6IGNvbmZpZ19kYXRhWyd0ZXN0X3VzZXJf bWFwcGluZ19jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfb3B0aW9uJ10sCisgICAg ICAgICAgICAgICAgICAgICJ1bW9wdGlvbnMiOiBjb25maWdfZGF0YVsndGVz dF91c2VyX21hcHBpbmdfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfb3B0aW9ucydd CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLnBvc3Qoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKGZk d19pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihmcnNfaWQpICsgJy8nLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRh KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHNlbGYu YXNzZXJ0VHJ1ZShyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAg ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgdW1faWQgPSByZXNwZGF0YVsnbm9k ZSddWydfaWQnXQorCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgn L2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvcmVncmVzc2lvbi8n CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBr bCcpOgorICAgICAgICAgICAgICAgIGV4c3Rfc2VydmVyX2lkID0gb3Blbign L2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWInCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvcmVncmVzc2lvbi8nJ3Bh cmVudF9pZC5wa2wnLCAncmInKQorICAgICAgICAgICAgICAgIGFsbF9pZCA9 IHBpY2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQorICAgICAgICAgICAgICAg IHBpY2tsZV9pZF9kaWN0ID0gYWxsX2lkCisKKyAgICAgICAgICAgIHBpY2ts ZV9pZF9kaWN0WyJ1bWlkIl0uYXBwZW5kKHVtX2lkKQorCisgICAgICAgICAg ICB1bV9vdXRwdXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRt aW40L3dlYi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3BhcmVudF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlj a2xlLmR1bXAocGlja2xlX2lkX2RpY3QsIHVtX291dHB1dCkKKyAgICAgICAg ICAgIHVtX291dHB1dC5jbG9zZSgpClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVy cy9mb3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3RzL3Rlc3RfdXNl cl9tYXBwaW5nX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3Jh cHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0 X3VzZXJfbWFwcGluZ19kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uMGJkNjQ0YQotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3Vz ZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19kZWxldGUucHkK QEAgLTAsMCArMSw4NCBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIFVzZXJN YXBwaW5nRGVsZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi CisgICAgVGhpcyBjbGFzcyB3aWxsIGRlbGV0ZSB1c2VyIG1hcHBpbmcgdW5k ZXIgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4KKyAgICAiIiIKKyAgICBwcmlvcml0 eSA9IDc3CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hp bmcgZGVmYXVsdCBVUkwgZm9yIHVzZXIgbWFwcGluZyBub2RlLgorICAgICAg ICAoJ0NoZWNrIHVzZXIgbWFwcGluZyBOb2RlJywgZGljdCh1cmw9Jy9icm93 c2VyL3VzZXJfbWFwcGluZy9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIGRlbGV0 ZSB1c2VyIG1hcHBpbmcgdW5kZXIgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4gIiIi CisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2Vy dmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFs bF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQi XVswXQorICAgICAgICBmcnNfaWQgPSBhbGxfaWRbJ2ZzaWQnXVswXQorICAg ICAgICB1bV9pZCA9IGFsbF9pZFsndW1pZCddWzBdCisgICAgICAgIHNydl9n cnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAg ICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAg ICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAg ICAgICAgIyBHZXQgRkRXCisgICAgICAgICAgICBmZHdfcmVzcG9uc2UgPSBz ZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVy L29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ3swfS97MX0vezJ9L3szfScuZm9ybWF0CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZl cl9pZCwgZGJfaWQsIGZkd19pZCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n KQorCisgICAgICAgICAgICBmZHdfcmVzcGRhdGEgPSBqc29uLmxvYWRzKGZk d19yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBs ZW4oZmR3X3Jlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNl IEV4Y2VwdGlvbigiTm8gRkRXKHMpIGF2YWlsYWJsZSEiKQorCisgICAgICAg ICAgICAjIEdldCBGUlMKKyAgICAgICAgICAgIGZyc19yZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvZm9yZWlnbl9zZXJ2ZXIvb2JqLycK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn ezB9L3sxfS97Mn0vezN9L3s0fScuZm9ybWF0CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9p ZCwgZGJfaWQsIGZkd19pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZnJzX2lkKSwgY29udGVudF90eXBlPSdodG1s L2pzb24nKQorCisgICAgICAgICAgICBmcnNfcmVzcGRhdGEgPSBqc29uLmxv YWRzKGZyc19yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAg ICBpZiBsZW4oZnJzX3Jlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAg IHJhaXNlIEV4Y2VwdGlvbigiTm8gRlJTKHMpIGF2YWlsYWJsZSEiKQorCisg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVy bCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0 cihkYl9pZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJy8nICsgc3RyKGZkd19pZCkgKyAnLycgKyBzdHIoZnJzX2lkKSAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycg KyBzdHIodW1faWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAg ICAgICB1bV9yZXNwZGF0YSA9IGpzb24ubG9hZHMoZmR3X3Jlc3BvbnNlLmRh dGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbih1bV9yZXNwZGF0 YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5v IHVzZXIgbWFwcGluZyhzKSB0byBkZWxldGUhIikKKworICAgICAgICAgICAg cHV0X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsg c3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKGRiX2lkKSArICcvJyArIHN0cihmZHdfaWQpICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBz dHIoZnJzX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHVtX2lkKSwgZm9sbG93X3JlZGly ZWN0cz1UcnVlKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhw dXRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKwpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9mb3JlaWduX3NlcnZlcnMv dXNlcl9tYXBwaW5nL3Rlc3RzL3Rlc3RfdXNlcl9tYXBwaW5nX2dldC5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJz L3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19nZXQucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQxZjM3MQot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBl cnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3Vz ZXJfbWFwcGluZ19nZXQucHkKQEAgLTAsMCArMSw3MiBAQAorIyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRv b2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGlt cG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMu dGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNz aW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lv bi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNv bgorCisKK2NsYXNzIFVzZXJNYXBwaW5nR2V0VGVzdENhc2UoTG9naW5UZXN0 Q2FzZSk6CisgICAgIiIiCisgICAgVGhpcyBjbGFzcyB3aWxsIGFkZCB1c2Vy IG1hcHBpbmcgdW5kZXIgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4KKyAgICAiIiIK KyAgICBwcmlvcml0eSA9IDc1CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAg ICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHVzZXIgbWFwcGluZyBu b2RlLgorICAgICAgICAoJ0NoZWNrIHVzZXIgbWFwcGluZyBOb2RlJywgZGlj dCh1cmw9Jy9icm93c2VyL3VzZXJfbWFwcGluZy9vYmovJykpCisgICAgXQor CisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1 bmN0aW9uIHdpbGwgZmV0Y2ggdXNlciBtYXBwaW5nIHVuZGVyIGZvcmVpZ24g c2VydmVyIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMo KQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAg ICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAgIGZkd19p ZCA9IGFsbF9pZFsiZmlkIl1bMF0KKyAgICAgICAgZnJzX2lkID0gYWxsX2lk Wydmc2lkJ11bMF0KKyAgICAgICAgdW1faWQgPSBhbGxfaWRbJ3VtaWQnXVsw XQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVy X2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5v ZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVj dGVkIl06CisKKyAgICAgICAgICAgICMgR2V0IEZEVworICAgICAgICAgICAg ZmR3X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9mb3Jl aWduX2RhdGFfd3JhcHBlci9vYmovJworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZvcm1h dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBmZHdfaWQpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRf dHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZmR3X3Jlc3BkYXRh ID0ganNvbi5sb2FkcyhmZHdfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKwor ICAgICAgICAgICAgaWYgbGVuKGZkd19yZXNwZGF0YSkgPT0gMDoKKyAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZEVyhzKSBhdmFpbGFi bGUhIikKKworICAgICAgICAgICAgIyBHZXQgRlJTCisgICAgICAgICAgICBm cnNfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL2ZvcmVp Z25fc2VydmVyL29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3swfS97MX0vezJ9L3szfS97NH0nLmZvcm1hdAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz cnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBmZHdfaWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZyc19pZCksIGNv bnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZnJzX3Jl c3BkYXRhID0ganNvbi5sb2FkcyhmcnNfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgaWYgbGVuKGZyc19yZXNwZGF0YSkgPT0gMDoK KyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZSUyhzKSBh dmFpbGFibGUhIikKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihmZHdfaWQpICsgJy8n ICsgc3RyKGZyc19pZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJy8nICsgc3RyKHVtX2lkKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BvbnNl LnN0YXR1c19jb2RlLCAyMDApClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy9m b3JlaWduX3NlcnZlcnMvdXNlcl9tYXBwaW5nL3Rlc3RzL3Rlc3RfdXNlcl9t YXBwaW5nX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMv Zm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGluZy90ZXN0cy90ZXN0X3VzZXJf bWFwcGluZ19wdXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZjVlNWRiYgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3Jl aWduX2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3VzZXJfbWFwcGlu Zy90ZXN0cy90ZXN0X3VzZXJfbWFwcGluZ19wdXQucHkKQEAgLTAsMCArMSw5 MiBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQg LSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAt IDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBz b2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNl bmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jl c3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWlu LmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2Fz ZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMK K2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5v ZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIFVzZXJNYXBwaW5nUHV0VGVz dENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiCisgICAgVGhpcyBjbGFz cyB3aWxsIHVwZGF0ZSB1c2VyIG1hcHBpbmcgdW5kZXIgZm9yZWlnbiBzZXJ2 ZXIgbm9kZS4KKyAgICAiIiIKKyAgICBwcmlvcml0eSA9IDc2CisKKyAgICBz Y2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwg Zm9yIHVzZXIgbWFwcGluZyBub2RlLgorICAgICAgICAoJ0NoZWNrIHVzZXIg bWFwcGluZyBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3VzZXJfbWFwcGlu Zy9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6Cisg ICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHVwZGF0ZSB1c2VyIG1hcHBpbmcg dW5kZXIgZm9yZWlnbiBzZXJ2ZXIgbm9kZS4gIiIiCisKKyAgICAgICAgYWxs X2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lk WyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0K KyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVswXQorICAgICAgICBm cnNfaWQgPSBhbGxfaWRbJ2ZzaWQnXVswXQorICAgICAgICB1bV9pZCA9IGFs bF9pZFsndW1pZCddWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0 YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRl c3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2Nvblsn ZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAgIyBHZXQgRkRX CisgICAgICAgICAgICBmZHdfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQo Jy9icm93c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVyL29iai8nCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3swfS97MX0v ezJ9L3szfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIGZk d19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAg ICBmZHdfcmVzcGRhdGEgPSBqc29uLmxvYWRzKGZkd19yZXNwb25zZS5kYXRh LmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4oZmR3X3Jlc3BkYXRh KSA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8g RkRXKHMpIGF2YWlsYWJsZSEiKQorCisgICAgICAgICAgICAjIEdldCBGUlMK KyAgICAgICAgICAgIGZyc19yZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgn L2Jyb3dzZXIvZm9yZWlnbl9zZXJ2ZXIvb2JqLycKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9 L3s0fScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIGZkd19p ZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZnJzX2lkKSwgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAg ICAgICAgICBmcnNfcmVzcGRhdGEgPSBqc29uLmxvYWRzKGZyc19yZXNwb25z ZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4oZnJzX3Jl c3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiTm8gRlJTKHMpIGF2YWlsYWJsZSEiKQorCisgICAgICAgICAgICByZXNw b25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0cihzcnZfZ3Jw KSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3Ry KGZkd19pZCkgKyAnLycgKyBzdHIoZnJzX2lkKSArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIodW1faWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICB1bV9yZXNwZGF0 YSA9IGpzb24ubG9hZHMoZmR3X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisK KyAgICAgICAgICAgIGlmIGxlbih1bV9yZXNwZGF0YSkgPT0gMDoKKyAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHVzZXIgbWFwcGluZyhz KSB0byB1cGRhdGUhIikKKworICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAg ICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICJpZCI6IHVtX2lk LAorICAgICAgICAgICAgICAgICAgICAidW1vcHRpb25zIjogY29uZmlnX2Rh dGFbJ3Rlc3RfdXNlcl9tYXBwaW5nX3VwZGF0ZV9kYXRhJ10KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X29w dGlvbnMnXQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcHV0 X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHNy dl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9p ZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICcvJyArIHN0cihmZHdfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoZnJzX2lkKSArICcv JyArIHN0cih1bV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19y ZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVh bHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvdGVzdHMvX19pbml0 X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3RzL19f aW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjZmOWYwNjQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9k YXRhX3dyYXBwZXJzL3Rlc3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYg QEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0g UG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWlu LnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2Ns YXNzIEZEV0dlbmVyYXRvclRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToK KworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICByZXR1cm4gW10K XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3RzL3Rlc3RfRkRXX2FkZC5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvdGVzdHMvdGVzdF9G RFdfYWRkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmNmNjhmY2QKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9k YXRhX3dyYXBwZXJzL3Rlc3RzL3Rlc3RfRkRXX2FkZC5weQpAQCAtMCwwICsx LDgxIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4g NCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlz IHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExp Y2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVn cmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRt aW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RD YXNlCitpbXBvcnQganNvbiwgb3MsIHBpY2tsZQorZnJvbSByZWdyZXNzaW9u LnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50 ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCisKKworY2xhc3MgRkRX REFkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAgIFRo aXMgY2xhc3Mgd2lsbCBhZGQgZm9yZWlnbiBkYXRhIHdyYXBwZXJzIHVuZGVy IGRhdGFiYXNlIG5vZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA0NAor CisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1 bHQgVVJMIGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlLgorICAgICAg ICAoJ0NoZWNrIEZEVyBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVp Z25fZGF0YV93cmFwcGVyL29iai8nKSkKKworICAgIF0KKworICAgIGRlZiBy dW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxs IGFkZCBmb3JlaWduIGRhdGEgd3JhcHBlciB1bmRlciBkYXRhYmFzZSBub2Rl LiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAg ICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lk ID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmln X2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24g PSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9j b25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIGRhdGEg PSBcCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAi ZmR3YWNsIjogY29uZmlnX2RhdGFbJ3Rlc3RfRkRXX2NyZWRlbnRpYWxzJ10K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0 ZXN0X2FjbCddLAorICAgICAgICAgICAgICAgICAgICAiZmR3aGFuIjogY29u ZmlnX2RhdGFbJ3Rlc3RfRkRXX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2hhbmRsZXIn XSwKKyAgICAgICAgICAgICAgICAgICAgImZkd29wdGlvbnMiOiBjb25maWdf ZGF0YVsndGVzdF9GRFdfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X29wdGlvbnMn XSwKKyAgICAgICAgICAgICAgICAgICAgImZkd293bmVyIjogY29uZmlnX2Rh dGFbJ3Rlc3RfRkRXX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfb3duZXInXSwKKyAg ICAgICAgICAgICAgICAgICAgImZkd3ZhbHVlIjogY29uZmlnX2RhdGFbJ3Rl c3RfRkRXX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfdmFsaWRhdG9yJ10sCisgICAg ICAgICAgICAgICAgICAgICJuYW1lIjogY29uZmlnX2RhdGFbJ3Rlc3RfRkRX X2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsndGVzdF9uYW1lJ10KKyAgICAgICAgICAgICAgICB9CisK KyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxm LnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycg KyBzdHIoZGJfaWQpICsgJy8nLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5 cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1 ZShyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgICAgICBy ZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkK KworICAgICAgICAgICAgZmR3X2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lk J10KKworICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2Vk Yi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAg ICAgICAgICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2Vk Yi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJy9yZWdyZXNzaW9uLycncGFyZW50X2lk LnBrbCcsICdyYicpCisgICAgICAgICAgICAgICAgYWxsX2lkID0gcGlja2xl LmxvYWQoZXhzdF9zZXJ2ZXJfaWQpCisgICAgICAgICAgICAgICAgcGlja2xl X2lkX2RpY3QgPSBhbGxfaWQKKworICAgICAgICAgICAgcGlja2xlX2lkX2Rp Y3RbImZpZCJdLmFwcGVuZChmZHdfaWQpCisKKyAgICAgICAgICAgIGZkd19v dXRwdXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dl Yi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bh cmVudF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1bXAo cGlja2xlX2lkX2RpY3QsIGZkd19vdXRwdXQpCisgICAgICAgICAgICBmZHdf b3V0cHV0LmNsb3NlKCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3Rz L3Rlc3RfRkRXX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3Jh cHBlcnMvdGVzdHMvdGVzdF9GRFdfZGVsZXRlLnB5Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMDAwNGQKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3RzL3Rlc3Rf RkRXX2RlbGV0ZS5weQpAQCAtMCwwICsxLDYwIEBACisjICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMK KyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2Vk IHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0 IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0 X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitpbXBvcnQganNvbgorZnJv bSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20g cmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCisK KworY2xhc3MgRkRXRGVsZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6Cisg ICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBkZWxldGUgZm9yZWlnbiBkYXRhIHdy YXBwZXJzIHVuZGVyIGRhdGFiYXNlIG5vZGUuICIiIgorCisgICAgcHJpb3Jp dHkgPSA5NQorCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNo aW5nIGRlZmF1bHQgVVJMIGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciBub2Rl LgorICAgICAgICAoJ0NoZWNrIEZEVyBOb2RlJywgZGljdCh1cmw9Jy9icm93 c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVyL29iai8nKSkKKyAgICBdCisKKyAg ICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiCisgICAgICAgIFRo aXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgZm9yZWlnbiBkYXRhIHdyYXBwZXIg dW5kZXIgZGF0YWJhc2Ugbm9kZS4KKyAgICAgICAgIiIiCisKKyAgICAgICAg YWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxs X2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1b MF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVswXQorICAgICAg ICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10K KworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikK KworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisK KyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYu dXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsg c3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnLycgKyBzdHIoZmR3X2lkKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29u JykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3Bv bnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNw ZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o Ik5vIEZEVyhzKSB0byBkZWxldGUhISEiKQorCisgICAgICAgICAgICBkZWxf cmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUoc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoZGJfaWQpICsgJy8nICsgc3RyKGZkd19pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGly ZWN0cz1UcnVlKQorCisgICAgICAgICAgICBkZWxfcmVzcGRhdGEgPSBqc29u LmxvYWRzKGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAg ICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNjZXNzJ10s IDEpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL2ZvcmVpZ25fZGF0YV93cmFwcGVycy90ZXN0cy90ZXN0X0ZEV19n ZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3RzL3Rl c3RfRkRXX2dldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41ODhjMGZiCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2ZvcmVp Z25fZGF0YV93cmFwcGVycy90ZXN0cy90ZXN0X0ZEV19nZXQucHkKQEAgLTAs MCArMSw0OCBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9t IHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBw Z2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5U ZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdl dF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0 X2dldG5vZGVzCisKKworY2xhc3MgRkRXREdldFRlc3RDYXNlKExvZ2luVGVz dENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgZmV0Y2ggZm9yZWln biBkYXRhIHdyYXBwZXJzIHVuZGVyIGRhdGFiYXNlIG5vZGUuICIiIgorCisg ICAgcHJpb3JpdHkgPSA0NQorCisgICAgc2NlbmFyaW9zID0gWworICAgICAg ICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBmb3JlaWduIGRhdGEgd3Jh cHBlciBub2RlLgorICAgICAgICAoJ0NoZWNrIEZEVyBOb2RlJywgZGljdCh1 cmw9Jy9icm93c2VyL2ZvcmVpZ25fZGF0YV93cmFwcGVyL29iai8nKSkKKyAg ICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRo aXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBmb3JlaWduIGRhdGEgd3JhcHBlciBh ZGRlZAorICAgICAgICAgICAgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisK KyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVy X2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9p ZFsiZGlkIl1bMF0KKyAgICAgICAgZmR3X2lkID0gYWxsX2lkWyJmaWQiXVsw XQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVy X2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5v ZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVj dGVkIl06CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIu Z2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQp ICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnLycgKyBzdHIoZmR3X2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo cmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvZm9yZWlnbl9kYXRhX3dyYXBwZXJzL3Rlc3RzL3Rlc3RfRkRXX3B1 dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvdGVzdHMvdGVz dF9GRFdfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmY4OTE0ZjUKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvZm9yZWln bl9kYXRhX3dyYXBwZXJzL3Rlc3RzL3Rlc3RfRkRXX3B1dC5weQpAQCAtMCww ICsxLDY4IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRt aW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBn YWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRl c3RDYXNlCitpbXBvcnQganNvbgorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRp bHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVz IGltcG9ydCB0ZXN0X2dldG5vZGVzCisKKworY2xhc3MgRkRXRFB1dFRlc3RD YXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAgIFRoaXMgY2xhc3Mg d2lsbCB1cGRhdGUgZm9yZWlnbiBkYXRhIHdyYXBwZXJzIHVuZGVyIGRhdGFi YXNlIG5vZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA0NgorCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJM IGZvciBmb3JlaWduIGRhdGEgd3JhcHBlciBub2RlLgorICAgICAgICAoJ0No ZWNrIEZEVyBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2ZvcmVpZ25fZGF0 YV93cmFwcGVyL29iai8nKSkKKworICAgIF0KKworICAgIGRlZiBydW5UZXN0 KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0 ZSBmb3JlaWduIGRhdGEgd3JhcHBlciB1bmRlcgorICAgICAgICAgICAgZGF0 YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygp CisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAg ICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgZmR3X2lk ID0gYWxsX2lkWyJmaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmln X2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24g PSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9j b25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnAp ICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIo ZmR3X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAg cmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkp CisKKyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgPT0gMDoKKyAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIEZEVyhzKSB0byB1cGRh dGUhISEiKQorCisgICAgICAgICAgICBkYXRhID0gXAorICAgICAgICAgICAg ICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogY29u ZmlnX2RhdGFbJ3Rlc3RfRkRXX3VwZGF0ZV9kYXRhJ10KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9jb21tZW50 J10sCisgICAgICAgICAgICAgICAgICAgICJpZCI6IGZkd19pZAorICAgICAg ICAgICAgICAgIH0KKworICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKGRiX2lkKSArICcvJyArIHN0cihm ZHdfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3Rz PVRydWUpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9y ZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvbGFuZ3VhZ2VzL3Rlc3RzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1 YWdlcy90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5mNWEyNDBlCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL2xhbmd1YWdlcy90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDE2 IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2Vu Y2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcGdhZG1p bi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKKworCitj bGFzcyBMYW5ndWFnZVRlc3RHZW5lcmF0b3IoQmFzZVRlc3RHZW5lcmF0b3Ip OgorCisgICBkZWYgZ2VuZXJhdGVfdGVzdHMoc2VsZik6CisgICAgICAgcmV0 dXJuIFtdCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL3Rlc3RzL3Rl c3RfbGFuZ3VhZ2VfZ2V0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy90ZXN0cy90 ZXN0X2xhbmd1YWdlX2dldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4yZmM1NGE4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L2xhbmd1YWdlcy90ZXN0cy90ZXN0X2xhbmd1YWdlX2dldC5weQpAQCAtMCww ICsxLDQ2IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRt aW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBU aGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBn YWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRl c3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVz dF9nZXRub2RlcworZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0 IGdldF9pZHMKKworCitjbGFzcyBMYW5ndWFnZUdldFRlc3RDYXNlKExvZ2lu VGVzdENhc2UpOgorICAgICIiIgorICAgIFRoaXMgY2xhc3Mgd2lsbCBmZXRj aCBsYW5ndWFnZSBub2RlIGF2YWlsYWJsZSB1bmRlciBkYXRhYmFzZSBub2Rl LgorICAgICIiIgorICAgIHByaW9yaXR5ID0gMzEKKworICAgIHNjZW5hcmlv cyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgbGFu Z3VhZ2Ugbm9kZS4KKyAgICAgICAgKCdDaGVjayBDYXN0IE5vZGUnLCBkaWN0 KHVybD0nL2Jyb3dzZXIvbGFuZ3VhZ2Uvb2JqLycpKQorICAgIF0KKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIGZldGNoIGxhbmd1YWdlIHVuZGVyIDFzdCBzZXJ2ZXIgb2YgdHJl ZSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKwor ICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAg IGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBsYW5nX2lkID0g YWxsX2lkWyJsaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2Rh dGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0 ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25b J2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsg Jy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKyBzdHIobGFu Z19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvbGFuZ3VhZ2VzL3Rlc3RzL3Rlc3RfbGFuZ3Vh Z2VfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdlcy90ZXN0cy90ZXN0X2xhbmd1 YWdlX3B1dC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5kZjBhMmUyCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2xhbmd1YWdl cy90ZXN0cy90ZXN0X2xhbmd1YWdlX3B1dC5weQpAQCAtMCwwICsxLDYzIEBA CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAx NiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK KyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lv bi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJv d3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitp bXBvcnQganNvbgorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0 IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0 ZXN0X2dldG5vZGVzCisKKworY2xhc3MgTGFuZ3VhZ2VVcGRhdGVUZXN0Q2Fz ZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHVw ZGF0ZSBhdmFpbGFibGUgbGFuZ3VhZ2Ugbm9kZSB1bmRlciBkYXRhYmFzZSBu b2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gMzIKKworICAgIHNjZW5hcmlv cyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgY2Fz dCBub2RlLgorICAgICAgICAoJ0NoZWNrIExhbmd1YWdlIE5vZGUgVVJMJywg ZGljdCh1cmw9Jy9icm93c2VyL2xhbmd1YWdlL29iai8nKSkKKyAgICBdCisK KyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVu Y3Rpb24gd2lsbCB1cGRhdGUgbGFuZ3VhZ2Ugbm9kZSdzIGNvbW1lbnRzIGZp ZWxkLiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAg ICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRi X2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBsYW5nX2lkID0gYWxs X2lkWyJsaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFb J3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0 X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2Rh dGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0g c2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8n ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIobGFuZ19p ZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3Bk YXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBpZiBsZW4ocmVzcGRhdGEpID09IDA6CisgICAgICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBsYW5ndWFnZShzKSB0byB1cGRh dGUhISEiKQorCisgICAgICAgICAgICBkYXRhID0geworICAgICAgICAgICAg ICAgICJkZXNjcmlwdGlvbiI6IGNvbmZpZ19kYXRhWyJ0ZXN0X2xhbmd1YWdl X3VwZGF0ZV9kYXRhIl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyJ0ZXN0X2NvbW1lbnQiXSwKKyAgICAgICAgICAgICAgICAiaWQi OiBsYW5nX2lkCisgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHB1 dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCArIHN0cihz cnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJf aWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnLycgKyBzdHIobGFuZ19pZCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAgc2VsZi5h c3NlcnRFcXVhbHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApClwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvX19pbml0X18ucHkKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE3OGNiMQotLS0gL2Rl di9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMv X19pbml0X18ucHkKQEAgLTAsMCArMSwxNiBAQAorIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBU b29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdB ZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxz LnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIENv bGxhdGlvblRlc3RHZW5lcmF0b3IoQmFzZVRlc3RHZW5lcmF0b3IpOgorCisg ICBkZWYgZ2VuZXJhdGVfdGVzdHMoc2VsZik6CisgICAgICAgcmV0dXJuIFtd CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3Rz L3Rlc3RfY29sbGF0aW9uX2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2NvbGxh dGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fYWRkLnB5Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5Y2EwZWYKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL3Rlc3Rf Y29sbGF0aW9uX2FkZC5weQpAQCAtMCwwICsxLDgyIEBACisjICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1w b3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50 ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Np b24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9u LnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29u CitpbXBvcnQgcGlja2xlCitpbXBvcnQgb3MKKworCitjbGFzcyBDb2xsYXRp b25BZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBj bGFzcyB3aWxsIGFkZCBuZXcgY29sbGF0aW9uIHVuZGVyIHNjaGVtYSBub2Rl LiAiIiIKKworICAgIHByaW9yaXR5ID0gNDgKKworICAgIHNjZW5hcmlvcyA9 IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgY29sbGF0 aW9uIG5vZGUuCisgICAgICAgICgnRGVmYXVsdCBOb2RlIFVSTCcsIGRpY3Qo dXJsPScvYnJvd3Nlci9jb2xsYXRpb24vb2JqLycpKQorICAgIF0KKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIGFkZCBjb2xsYXRpb24gdW5kZXIgc2NoZW1hIG5vZGUuICIiIgor CisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZl cl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxf aWRbImRpZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2Np ZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9z ZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9k ZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJj b25uZWN0ZWQiXToKKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9vYmovJyArIHN0cihzcnZfZ3Jw KSArICcvJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKyBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKyAnLycK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc3Ry KHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAg ICAgICBkYXRhID0gXAorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAg ICAgICAgICAgImNvcHlfY29sbGF0aW9uIjogY29uZmlnX2RhdGFbJ3Rlc3Rf Y29sbGF0aW9uX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfY29weV9jb2xs YXRpb24nXSwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiBjb25maWdf ZGF0YVsndGVzdF9jb2xsYXRpb25fY3JlZGVudGlhbHMnXQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X25hbWUnXSwK KyAgICAgICAgICAgICAgICAgICAgIm93bmVyIjogY29uZmlnX2RhdGFbJ3Rl c3RfY29sbGF0aW9uX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfb3duZXInXSwKKyAgICAg ICAgICAgICAgICAgICAgInNjaGVtYSI6IGNvbmZpZ19kYXRhWyd0ZXN0X2Nv bGxhdGlvbl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsndGVzdF9zY2hlbWEnXQorICAgICAgICAg ICAgICAgIH0KKworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5wb3N0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVy X2lkKSArICcvJyArIHN0cihkYl9pZCkgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihzY2hlbWFfaWQpICsg Jy8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25z ZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBjb2xsYXRpb25faWQg PSByZXNwZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAgICAgICAgICBpZiBv cy5wYXRoLmlzZmlsZSgnL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93 ZWIvcmVncmVzc2lvbi8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAncGFyZW50X2lkLnBrbCcpOgorICAgICAgICAgICAgICAgIGV4c3Rfc2Vy dmVyX2lkID0gb3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93 ZWInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcv cmVncmVzc2lvbi8nJ3BhcmVudF9pZC5wa2wnLCAncmInKQorICAgICAgICAg ICAgICAgIGFsbF9pZCA9IHBpY2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQor ICAgICAgICAgICAgICAgIHBpY2tsZV9pZF9kaWN0ID0gYWxsX2lkCisKKyAg ICAgICAgICAgIHBpY2tsZV9pZF9kaWN0WyJjb2lkIl0uYXBwZW5kKGNvbGxh dGlvbl9pZCkKKworICAgICAgICAgICAgY29sbGF0aW9uX291dHB1dCA9IG9w ZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViLycKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWdyZXNzaW9uL3Bh cmVudF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1bXAo cGlja2xlX2lkX2RpY3QsIGNvbGxhdGlvbl9vdXRwdXQpCisgICAgICAgICAg ICBjb2xsYXRpb25fb3V0cHV0LmNsb3NlKCkKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fZGVs ZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy90ZXN0 X2NvbGxhdGlvbl9kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uOTZkOTVmZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2NvbGxhdGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fZGVs ZXRlLnB5CkBAIC0wLDAgKzEsNjIgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmln X2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4g aW1wb3J0IExvZ2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0 aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2Rl cyBpbXBvcnQgdGVzdF9nZXRub2RlcworaW1wb3J0IGpzb24KKworCitjbGFz cyBDb2xsYXRpb25EZWxldGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAg ICAiIiIgVGhpcyBjbGFzcyB3aWxsIGRlbGV0ZSBhZGRlZCBjb2xsYXRpb24g dW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA1MQor CisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1 bHQgVVJMIGZvciBjb2xsYXRpb24gbm9kZS4KKyAgICAgICAgKCdGZXRjaCBj b2xsYXRpb24gTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvY29sbGF0 aW9uL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToK KyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgY29sbGF0 aW9uIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQg PSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNp ZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAg ICAgICBzY2hlbWFfaWQgPSBhbGxfaWRbInNjaWQiXVswXQorICAgICAgICBj b2xsYXRpb25faWQgPSBhbGxfaWRbImNvaWQiXVswXQorICAgICAgICBzcnZf Z3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAg ICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAg ICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAg ICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAgICByZXNwb25z ZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sx fS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hl bWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICBy ZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkK KworICAgICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSA9PSAwOgorICAgICAg ICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyBzY2hlbWEocykgdG8g ZGVsZXRlISEhIikKKworICAgICAgICAgICAgZGVsX3Jlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8n ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGRiX2lkKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RyKHNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihjb2xsYXRpb25f aWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAg ZGVsX3Jlc3BkYXRhID0ganNvbi5sb2FkcyhkZWxfcmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKGRlbF9y ZXNwZGF0YVsnc3VjY2VzcyddLCAxKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvY29sbGF0aW9ucy90ZXN0cy90ZXN0X2NvbGxhdGlvbl9nZXQucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9jb2xsYXRpb25zL3Rlc3RzL3Rlc3RfY29sbGF0 aW9uX2dldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5jNDExZDcwCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Y29sbGF0aW9ucy90ZXN0cy90ZXN0X2NvbGxhdGlvbl9nZXQucHkKQEAgLTAs MCArMSw1OSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9t IHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBw Z2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5U ZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdl dF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0 X2dldG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIENvbGxhdGlvbkdl dFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNz IHdpbGwgZmV0Y2ggbmV3IGNvbGxhdGlvbiB1bmRlciBzY2hlbWEgbm9kZS4g IiIiCisKKyAgICBwcmlvcml0eSA9IDQ5CisKKyAgICBzY2VuYXJpb3MgPSBb CisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIGNvbGxhdGlv biBub2RlLgorICAgICAgICAoJ0ZlY3RoIGNvbGxhdGlvbiBOb2RlIFVSTCcs IGRpY3QodXJsPScvYnJvd3Nlci9jb2xsYXRpb24vb2JqLycpKQorICAgIF0K KworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBm dW5jdGlvbiB3aWxsIGZldGNoIGNvbGxhdGlvbiB1bmRlciBzY2hlbWEgbm9k ZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAg ICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9p ZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxs X2lkWyJzY2lkIl1bMF0KKyAgICAgICAgY29sbGF0aW9uX2lkID0gYWxsX2lk WyJjb2lkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0 ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9n ZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYgZGJfY29uWydkYXRh J11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAgICAjIEdldCBzY2hlbWEg aWQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcv YnJvd3Nlci9zY2hlbWEvb2JqLycKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZvcm1hdAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAs IHNlcnZlcl9pZCwgZGJfaWQsIHNjaGVtYV9pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwv anNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2Fkcyhy ZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4o cmVzcGRhdGEpICE9IDA6CisKKyAgICAgICAgICAgICAgICBnZXRfcmVzcG9u c2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9p ZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihj b2xsYXRpb25faWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisK KyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhnZXRfcmVzcG9u c2Uuc3RhdHVzX2NvZGUsIDIwMCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2NvbGxhdGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fcHV0LnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvY29sbGF0aW9ucy90ZXN0cy90ZXN0X2NvbGxhdGlv bl9wdXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u YjE3Y2RkNwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Nv bGxhdGlvbnMvdGVzdHMvdGVzdF9jb2xsYXRpb25fcHV0LnB5CkBAIC0wLDAg KzEsNjggQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9n ZXRub2RlcworaW1wb3J0IGpzb24KKworCitjbGFzcyBDb2xsYXRpb25QdXRU ZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3 aWxsIHVwZGF0ZSBhZGRlZCBjb2xsYXRpb24gdW5kZXIgc2NoZW1hIG5vZGUu ICIiIgorCisgICAgcHJpb3JpdHkgPSA1MAorCisgICAgc2NlbmFyaW9zID0g WworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBjb2xsYXRp b24gbm9kZS4KKyAgICAgICAgKCdGZXRjaCBjb2xsYXRpb24gTm9kZSBVUkwn LCBkaWN0KHVybD0nL2Jyb3dzZXIvY29sbGF0aW9uL29iai8nKSkKKyAgICBd CisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMg ZnVuY3Rpb24gd2lsbCB1cGRhdGUgY29sbGF0aW9uIHVuZGVyIHNjaGVtYSBu b2RlLiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAg ICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRi X2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBzY2hlbWFfaWQgPSBh bGxfaWRbInNjaWQiXVswXQorICAgICAgICBjb2xsYXRpb25faWQgPSBhbGxf aWRbImNvaWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFb J3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0 X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2Rh dGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgICMgR2V0IHNjaGVt YQorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9i cm93c2VyL3NjaGVtYS9vYmovJworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3swfS97MX0vezJ9L3szfScuZm9ybWF0CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwg c2VydmVyX2lkLCBkYl9pZCwgc2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJl c3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihy ZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIk5vIHNjaGVtYShzKSBhdmFpbGFibGUhISEiKQorCisgICAgICAgICAg ICBkYXRhID0gXAorICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg ICAiZGVzY3JpcHRpb24iOiBjb25maWdfZGF0YVsndGVzdF9jb2xsYXRpb25f dXBkYXRlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ3Rlc3RfY29tbWVudCddLAorICAgICAgICAgICAg ICAgICAgImlkIjogY29sbGF0aW9uX2lkLAorICAgICAgICAgICAgICB9CisK KyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dChz ZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzY2hlbWFfaWQpICsgJy8n ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoY29sbGF0aW9uX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9s bG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBzZWxmLmFzc2Vy dEVxdWFscyhwdXRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFpbnMvdGVzdHMvX19pbml0X18u cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3RzL19faW5pdF9fLnB5 Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkY2EyMDQK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rl c3RzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhl IHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcGdhZG1pbi51 dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKKworCitjbGFz cyBEb21haW5UZXN0R2VuZXJhdG9yKEJhc2VUZXN0R2VuZXJhdG9yKToKKwor ICAgZGVmIGdlbmVyYXRlX3Rlc3RzKHNlbGYpOgorICAgICAgIHJldHVybiBb XQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZG9tYWlucy90ZXN0cy90 ZXN0X2RvbWFpbl9hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rl c3RzL3Rlc3RfZG9tYWluX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi42YjA5YzQyCi0tLSAvZGV2L251bGwKKysrIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZG9tYWlucy90ZXN0cy90ZXN0X2RvbWFpbl9hZGQucHkK QEAgLTAsMCArMSw5OSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgoraW1wb3J0IHBpY2tsZQor aW1wb3J0IG9zCisKKworY2xhc3MgRG9tYWluQWRkVGVzdENhc2UoTG9naW5U ZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQgbmV3IGRv bWFpbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9 IDUyCisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcg ZGVmYXVsdCBVUkwgZm9yIGRvbWFpbiBub2RlLgorICAgICAgICAoJ0ZlY3Ro IGRvbWFpbiBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9kb21haW4v b2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBkb21haW4gdW5kZXIg c2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMo KQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAg ICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAgIHNjaGVt YV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBj b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRi X2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlm IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAg IyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9 Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICBkYXRhID0gXAor ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgImJhc2Vu c3AiOiBjb25maWdfZGF0YVsndGVzdF9kb21haW5fZGF0YSddCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2No ZW1hJ10sCisgICAgICAgICAgICAgICAgICAgICJiYXNldHlwZSI6IGNvbmZp Z19kYXRhWyd0ZXN0X2RvbWFpbl9kYXRhJ10KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfYmFzZXR5cGUnXSwK KyAgICAgICAgICAgICAgICAgICAgImNvbGxuYW1lIjogY29uZmlnX2RhdGFb J3Rlc3RfZG9tYWluX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsndGVzdF9jb2xsYXRpb24nXSwKKyAgICAg ICAgICAgICAgICAgICAgImNvbnN0cmFpbnRzIjogY29uZmlnX2RhdGFbJ3Rl c3RfZG9tYWluX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsndGVzdF9jb25zdHJhaW50cyddLAorICAg ICAgICAgICAgICAgICAgICAiaXNfdGxlbmd0aCI6IGNvbmZpZ19kYXRhWyd0 ZXN0X2RvbWFpbl9kYXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsndGVzdF9sZW5naHQnXSwKKyAgICAgICAg ICAgICAgICAgICAgIm1heF92YWwiOiBjb25maWdfZGF0YVsndGVzdF9kb21h aW5fZGF0YSddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbJ3Rlc3RfbWF4X3ZhbHVlJ10sCisgICAgICAgICAgICAgICAg ICAgICJtaW5fdmFsIjogY29uZmlnX2RhdGFbJ3Rlc3RfZG9tYWluX2RhdGEn XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Wyd0ZXN0X21pbl92YWx1ZSddLAorICAgICAgICAgICAgICAgICAgICAibmFt ZSI6IGNvbmZpZ19kYXRhWyd0ZXN0X2RvbWFpbl9kYXRhJ10KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9uYW1lJ10s CisgICAgICAgICAgICAgICAgICAgICJvd25lciI6IGNvbmZpZ19kYXRhWyd0 ZXN0X2RvbWFpbl9kYXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ3Rlc3Rfb3duZXInXSwKKyAgICAgICAgICAgICAg ICAgICAgInNlY2xhYmVscyI6IGNvbmZpZ19kYXRhWyd0ZXN0X2RvbWFpbl9k YXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X3NlY3VyaXR5J10sCisgICAgICAgICAgICAgICAgICAg ICJ0eXBkZWZhdWx0IjogY29uZmlnX2RhdGFbJ3Rlc3RfZG9tYWluX2RhdGEn XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyd0ZXN0X2RlZmFsdF90eXBlJ10sCisgICAgICAgICAgICAgICAgICAg ICJ0eXBsZW4iOiBjb25maWdfZGF0YVsndGVzdF9kb21haW5fZGF0YSddCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVz dF90eXBlX2xlbiddLAorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg ICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHNlbGYudXJsICsgc3Ry KHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9p ZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICcvJyArIHN0cihzY2hlbWFfaWQpICsgJy8nLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRh KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3Bk YXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBkb21haW5faWQgPSByZXNwZGF0YVsnbm9kZSddWydfaWQn XQorCisgICAgICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgnL2hvbWUvZWRi L0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvcmVncmVzc2lvbi8nCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcpOgorICAg ICAgICAgICAgICAgIGV4c3Rfc2VydmVyX2lkID0gb3BlbignL2hvbWUvZWRi L0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAncmVncmVzc2lvbi8nJ3BhcmVudF9pZC5w a2wnLCAncmInKQorICAgICAgICAgICAgICAgIGFsbF9pZCA9IHBpY2tsZS5s b2FkKGV4c3Rfc2VydmVyX2lkKQorICAgICAgICAgICAgICAgIHBpY2tsZV9p ZF9kaWN0ID0gYWxsX2lkCisKKyAgICAgICAgICAgIHBpY2tsZV9pZF9kaWN0 WyJkb2lkIl0uYXBwZW5kKGRvbWFpbl9pZCkKKworICAgICAgICAgICAgZG9t YWluX291dHB1dCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1p bjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ3BhcmVudF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAg cGlja2xlLmR1bXAocGlja2xlX2lkX2RpY3QsIGRvbWFpbl9vdXRwdXQpCisg ICAgICAgICAgICBkb21haW5fb3V0cHV0LmNsb3NlKCkKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9k b21haW5zL3Rlc3RzL3Rlc3RfZG9tYWluX2RlbGV0ZS5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2RvbWFpbnMvdGVzdHMvdGVzdF9kb21haW5fZGVsZXRlLnB5Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOWEyNzAKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3Rz L3Rlc3RfZG9tYWluX2RlbGV0ZS5weQpAQCAtMCwwICsxLDYyIEBACisjICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhl IHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlz IHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25m aWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50 ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJl Z3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdy ZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2ltcG9y dCBqc29uCisKKworY2xhc3MgRG9tYWluRGVsZXRlVGVzdENhc2UoTG9naW5U ZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBkZWxldGUgbmV3 IGRvbWFpbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0 eSA9IDU1CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hp bmcgZGVmYXVsdCBVUkwgZm9yIGRvbWFpbiBub2RlLgorICAgICAgICAoJ0Zl Y3RoIGRvbWFpbiBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9kb21h aW4vb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgor ICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGRlbGV0ZSBkb21haW4g dW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdl dF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1b MF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAg IHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIGRvbWFp bl9pZD0gYWxsX2lkWyJkb2lkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNv bmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJf Y29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYg ZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAgICAj IEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2JqLycKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30n LmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIHNjaGVtYV9pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50 X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAg ICAgICBpZiBsZW4ocmVzcGRhdGEpID09IDA6CisgICAgICAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24oIk5vIHNjaGVtYShzKSB0byBkZWxldGUhISEi KQorCisgICAgICAgICAgICBkZWxfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5k ZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihz ZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo c2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKGRvbWFpbl9pZCksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93 X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBkZWxfcmVzcGRhdGEg PSBqc29uLmxvYWRzKGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNj ZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5z L3Rlc3RzL3Rlc3RfZG9tYWluX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Rv bWFpbnMvdGVzdHMvdGVzdF9kb21haW5fZ2V0LnB5Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyYjU1ZDAKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3RzL3Rlc3RfZG9tYWlu X2dldC5weQpAQCAtMCwwICsxLDU5IEBACisjICMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMg Q29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxv cG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVy IHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZp Z19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2lu IGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91 dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9k ZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29uCisKKworY2xh c3MgRG9tYWluR2V0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi IFRoaXMgY2xhc3Mgd2lsbCBmZXRjaCBuZXcgY29sbGF0aW9uIHVuZGVyIHNj aGVtYSBub2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gNTMKKworICAgIHNj ZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBm b3IgZG9tYWluIG5vZGUuCisgICAgICAgICgnRmVjdGggZG9tYWluIE5vZGUg VVJMJywgZGljdCh1cmw9Jy9icm93c2VyL2RvbWFpbi9vYmovJykpCisgICAg XQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgYWRkIGRvbWFpbiB1bmRlciBzY2hlbWEgbm9kZS4g IiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAg c2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9 IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lk WyJzY2lkIl1bMF0KKyAgICAgICAgZG9tYWluX2lkPSBhbGxfaWRbImRvaWQi XVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2Vy dmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVz KG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29u bmVjdGVkIl06CisKKyAgICAgICAgICAgICMgR2V0IHNjaGVtYSBpZAorICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2Vy L3NjaGVtYS9vYmovJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ3swfS97MX0vezJ9L3szfScuZm9ybWF0CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVy X2lkLCBkYl9pZCwgc2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykK KworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNl LmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0 YSkgIT0gMDoKKworICAgICAgICAgICAgICAgIGdldF9yZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGRiX2lkKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cihzY2hlbWFfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGRvbWFpbl9p ZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAg ICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2Rl LCAyMDApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rl c3RzL3Rlc3RfZG9tYWluX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2RvbWFp bnMvdGVzdHMvdGVzdF9kb21haW5fcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjBkN2RlZWEKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9kb21haW5zL3Rlc3RzL3Rlc3RfZG9tYWluX3B1 dC5weQpAQCAtMCwwICsxLDY2IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29w eXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRo ZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19k YXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGlt cG9ydCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGls cyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMg aW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2ltcG9ydCBqc29uCisKKworY2xhc3Mg RG9tYWluUHV0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRo aXMgY2xhc3Mgd2lsbCBmZXRjaCBuZXcgY29sbGF0aW9uIHVuZGVyIHNjaGVt YSBub2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gNTQKKworICAgIHNjZW5h cmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3Ig ZG9tYWluIG5vZGUuCisgICAgICAgICgnRmVjdGggZG9tYWluIE5vZGUgVVJM JywgZGljdCh1cmw9Jy9icm93c2VyL2RvbWFpbi9vYmovJykpCisgICAgXQor CisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1 bmN0aW9uIHdpbGwgdXBkYXRlIGRvbWFpbiB1bmRlciBzY2hlbWEgbm9kZS4g IiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAg c2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9 IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lk WyJzY2lkIl1bMF0KKyAgICAgICAgZG9tYWluX2lkPSBhbGxfaWRbImRvaWQi XVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2Vy dmVyX2dyb3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVz KG5vZGU9c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29u bmVjdGVkIl06CisKKyAgICAgICAgICAgICMgR2V0IHNjaGVtYSBpZAorICAg ICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2Vy L3NjaGVtYS9vYmovJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ3swfS97MX0vezJ9L3szfScuZm9ybWF0CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVy X2lkLCBkYl9pZCwgc2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykK KworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNl LmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0 YSkgIT0gMDoKKyAgICAgICAgICAgICAgICBkYXRhID0gXAorICAgICAgICAg ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgImRl c2NyaXB0aW9uIjogY29uZmlnX2RhdGFbJ3Rlc3RfZG9tYWluX3VwZGF0ZV9k YXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ3Rlc3RfY29tbWVudCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAiaWQiOiBkb21haW5faWQsCisgICAgICAgICAgICAg ICAgICAgICAgfQorCisgICAgICAgICAgICBwdXRfcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5wdXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2No ZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKGRvbWFpbl9pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBz KGRhdGEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAy MDApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxl cy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25f dGFibGVzL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjIyYTQwNjMKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy9fX2luaXRfXy5w eQpAQCAtMCwwICsxLDE2IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisj IENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVs b3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRl ciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1w b3J0IEJhc2VUZXN0R2VuZXJhdG9yCisKKworY2xhc3MgRm9yZWlnblRhYmxl VGVzdEdlbmVyYXRvcihCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYg Z2VuZXJhdGVfdGVzdHMoc2VsZik6CisgICAgICAgIHJldHVybiBbXQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvdGVzdHMv dGVzdF9mb3JlaWduX3RhYmxlX2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv cmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJsZV9hZGQucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZmNDdhYgot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFi bGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJsZV9hZGQucHkKQEAgLTAsMCAr MSwxMDIgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9n ZXRub2RlcworaW1wb3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBv cworCisKK2NsYXNzIEZvcmVpZ25UYWJsZUFkZFRlc3RDYXNlKExvZ2luVGVz dENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBmb3Jl aWduIHRhYmxlIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgIHByaW9y aXR5ID0gNzgKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRj aGluZyBkZWZhdWx0IFVSTCBmb3IgdGFibGUgbm9kZS4KKyAgICAgICAgKCdG ZWN0aCB0YWJsZSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9mb3Jl aWduLXRhYmxlL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChz ZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGFi bGUgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9 IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lk Il1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAg ICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIHNy dl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisg ICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisg ICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAg ICAgICAgICAgIyBHZXQgc2NoZW1hCisgICAgICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai97MH0vezF9 L3syfS8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFf aWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNw ZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKwor ICAgICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSA9PSAwOgorICAgICAgICAg ICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gc2NoZW1hKHMpIGF2YWlsYWJs ZSEhISIpCisKKyAgICAgICAgICAgIGRhdGEgPSBcCisgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAiYWNsIjogY29uZmlnX2RhdGFb J3Rlc3RfZm9yZWlnbl90YWJsZV9jcmVkZW50aWFscyddCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9hY2wnXSwKKyAg ICAgICAgICAgICAgICAgICAgImJhc2Vuc3AiOiBjb25maWdfZGF0YVsndGVz dF9mb3JlaWduX3RhYmxlX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9zY2hlbWFfbmFt ZSddLAorICAgICAgICAgICAgICAgICAgICAiY29sdW1ucyI6IGNvbmZpZ19k YXRhWyd0ZXN0X2ZvcmVpZ25fdGFibGVfY3JlZGVudGlhbHMnXQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2Nv bHVtbiddLAorICAgICAgICAgICAgICAgICAgICAiY29uc3RyYWludHMiOiBj b25maWdfZGF0YVsndGVzdF9mb3JlaWduX3RhYmxlX2NyZWRlbnRpYWxzJ10K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBbJ3Rlc3RfY29uc3RyYWludHMnXSwKKyAgICAgICAgICAgICAgICAgICAg ImZ0b3B0aW9ucyI6IGNvbmZpZ19kYXRhWyd0ZXN0X2ZvcmVpZ25fdGFibGVf Y3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ3Rlc3Rfb3B0aW9ucyddLAorICAgICAgICAgICAg ICAgICAgICAiZnRzcnZuYW1lIjogY29uZmlnX2RhdGFbJ3Rlc3RfZm9yZWln bl90YWJsZV9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9mcnNfbmFtZSddLAorICAg ICAgICAgICAgICAgICAgICAibmFtZSI6IGNvbmZpZ19kYXRhWyd0ZXN0X2Zv cmVpZ25fdGFibGVfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X25hbWUnXSwKKyAgICAgICAg ICAgICAgICAgICAgIm93bmVyIjogY29uZmlnX2RhdGFbJ3Rlc3RfZm9yZWln bl90YWJsZV9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyd0ZXN0X293bmVyJ10sCisgICAgICAgICAg ICAgICAgICAgICJyZWxhY2wiOiBjb25maWdfZGF0YVsndGVzdF9mb3JlaWdu X3RhYmxlX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyd0ZXN0X3JlbF9hY2wnXSwKKyAgICAgICAg ICAgICAgICAgICAgInNlY2xhYmVscyI6IGNvbmZpZ19kYXRhWyd0ZXN0X2Zv cmVpZ25fdGFibGVfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2VjX2xhYmxlJ10s CisgICAgICAgICAgICAgICAgICAgICJzdHJhY2wiOiBjb25maWdfZGF0YVsn dGVzdF9mb3JlaWduX3RhYmxlX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3N0cl9hY2wn XQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5wb3N0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsg Jy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihz Y2hlbWFfaWQpICsgJy8nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9 J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5s b2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBm dF9pZCA9IHJlc3BkYXRhWydub2RlJ11bJ19pZCddCisKKyAgICAgICAgICAg IGlmIG9zLnBhdGguaXNmaWxlKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRt aW40L3dlYi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdwYXJlbnRfaWQucGtsJyk6CisgICAgICAgICAgICAgICAgZXhz dF9zZXJ2ZXJfaWQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRt aW40L3dlYicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJy9yZWdyZXNzaW9uLycncGFyZW50X2lkLnBrbCcsICdyYicpCisgICAg ICAgICAgICAgICAgYWxsX2lkID0gcGlja2xlLmxvYWQoZXhzdF9zZXJ2ZXJf aWQpCisgICAgICAgICAgICAgICAgcGlja2xlX2lkX2RpY3QgPSBhbGxfaWQK KworICAgICAgICAgICAgcGlja2xlX2lkX2RpY3RbImZvaWQiXS5hcHBlbmQo ZnRfaWQpCisKKyAgICAgICAgICAgIGZ0X291dHB1dCA9IG9wZW4oJy9ob21l L2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcsICd3 YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwg ZnRfb3V0cHV0KQorICAgICAgICAgICAgZnRfb3V0cHV0LmNsb3NlKCkKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2ZvcmVpZ25fdGFi bGVfZGVsZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMv dGVzdHMvdGVzdF9mb3JlaWduX3RhYmxlX2RlbGV0ZS5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOWYyOGU5Ci0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvdGVzdHMv dGVzdF9mb3JlaWduX3RhYmxlX2RlbGV0ZS5weQpAQCAtMCwwICsxLDc2IEBA CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAx NiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK KyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lv bi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJv d3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJv bSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMK K2ltcG9ydCBqc29uCitpbXBvcnQgcGlja2xlCitpbXBvcnQgb3MKKworCitj bGFzcyBGb3JlaWduVGFibGVEZWxldGVUZXN0Q2FzZShMb2dpblRlc3RDYXNl KToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGRlbGV0ZSB0aGUgYWRkZWQg Zm9yZWlnbiB0YWJsZSB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBw cmlvcml0eSA9IDgxCisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMg RmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHRhYmxlIG5vZGUuCisgICAgICAg ICgnRmVjdGggdGFibGUgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIv Zm9yZWlnbi10YWJsZS9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRl c3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVs ZXRlIHRhYmxlIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgICAgICBh bGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxf aWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVsw XQorICAgICAgICBzY2hlbWFfaWQgPSBhbGxfaWRbInNjaWQiXVswXQorICAg ICAgICBmdF9pZCA9IGFsbF9pZFsiZm9pZCJdWzBdCisgICAgICAgIHNydl9n cnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAg ICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAg ICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAg ICAgICAgIyBHZXQgc2NoZW1hCisgICAgICAgICAgICByZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0v ezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQp LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29u dGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0 YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAg ICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAg ICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gc2NoZW1hKHMpIGF2YWlsYWJsZSEh ISIpCisKKyAgICAgICAgICAgIGdldF9yZXNwb25zZSA9IHNlbGYudGVzdGVy LmdldChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2NoZW1hX2lk KSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RyKGZ0X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhnZXRfcmVz cG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKHJl c3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiTm8gZm9yZWlnbiB0YWJsZShzKSBhdmFpbGFibGUhISEiKQorCisgICAg ICAgICAgICBkZWxldGVfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUo c2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0cihzZXJ2 ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGZ0X2lkKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm b2xsb3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAgICAgICAgIHNlbGYuYXNz ZXJ0RXF1YWxzKGRlbGV0ZV9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQor CisKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJs ZXMvdGVzdHMvdGVzdF9mb3JlaWduX3RhYmxlX2dldC5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJs ZV9nZXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u MmZlMjY5ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv cmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJsZV9nZXQucHkK QEAgLTAsMCArMSw2MSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgoraW1wb3J0IHBpY2tsZQor aW1wb3J0IG9zCisKKworY2xhc3MgRm9yZWlnblRhYmxlR2V0VGVzdENhc2Uo TG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQg bmV3IGZvcmVpZ24gdGFibGUgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisg ICAgcHJpb3JpdHkgPSA3OQorCisgICAgc2NlbmFyaW9zID0gWworICAgICAg ICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0YWJsZSBub2RlLgorICAg ICAgICAoJ0ZlY3RoIHRhYmxlIE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93 c2VyL2ZvcmVpZ24tdGFibGUvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBy dW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxs IGFkZCB0YWJsZSB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICAgICAg YWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxs X2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1b MF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAg ICAgICAgZnRfaWQgPSBhbGxfaWRbImZvaWQiXVswXQorICAgICAgICBzcnZf Z3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAg ICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAg ICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAg ICAgICAgICMgR2V0IHNjaGVtYQorICAgICAgICAgICAgcmVzcG9uc2UgPSBz ZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9vYmovJworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3swfS97MX0vezJ9 L3szfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkLCBkYl9pZCwgc2NoZW1hX2lk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRh dGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAg ICAgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAg ICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHNjaGVtYShzKSBhdmFpbGFibGUh ISEiKQorCisgICAgICAgICAgICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2 ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKHNjaGVtYV9p ZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihmdF9pZCksIGNvbnRlbnRfdHlwZT0naHRtbC9qc29u JykKKworICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoZ2V0X3Jlc3Bv bnNlLnN0YXR1c19jb2RlLCAyMDApCisKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2ZvcmVpZ25fdGFibGVzL3Rlc3RzL3Rlc3RfZm9yZWlnbl90YWJs ZV9wdXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0 cy90ZXN0X2ZvcmVpZ25fdGFibGVfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjc3ZGY0NjQKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mb3JlaWduX3RhYmxlcy90ZXN0cy90ZXN0X2Zv cmVpZ25fdGFibGVfcHV0LnB5CkBAIC0wLDAgKzEsODEgQEAKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBU b29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdB ZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBp bXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2VyLnRlc3Rz LnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2Zyb20gcmVncmVz c2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Np b24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRub2RlcworaW1wb3J0IGpz b24KKworCitjbGFzcyBGb3JlaWduVGFibGVQdXRUZXN0Q2FzZShMb2dpblRl c3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIHVwZGF0ZSBhZGRl ZCBmb3JlaWduIHRhYmxlIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAg IHByaW9yaXR5ID0gODAKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAg IyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgZm9yZWlnbiB0YWJsZSBub2Rl LgorICAgICAgICAoJ0ZlY3RoIHRhYmxlIE5vZGUgVVJMJywgZGljdCh1cmw9 Jy9icm93c2VyL2ZvcmVpZ24tdGFibGUvb2JqLycpKQorICAgIF0KKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIHVwZGF0ZSBmb3JlaWduICB1bmRlciBzY2hlbWEgbm9kZS4gIiIi CisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2Vy dmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFs bF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJz Y2lkIl1bMF0KKyAgICAgICAgZnRfaWQgPSBhbGxfaWRbImZvaWQiXVswXQor ICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dy b3VwJ10KKworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9 c2VsZikKKworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVk Il06CisKKyAgICAgICAgICAgICMgR2V0IHNjaGVtYQorICAgICAgICAgICAg cmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9v YmovJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg J3swfS97MX0vezJ9L3szfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkLCBkYl9p ZCwgc2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAg ICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVj b2RlKCkpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgPT0gMDoK KyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHNjaGVtYShz KSBhdmFpbGFibGUhISEiKQorCisgICAgICAgICAgICBnZXRfcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSArCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsg c3RyKHNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihmdF9pZCksIGNvbnRlbnRfdHlw ZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29u LmxvYWRzKGdldF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAg ICAgICBpZiBsZW4ocmVzcGRhdGEpID09IDA6CisgICAgICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJObyBmb3JlaWduIHRhYmxlKHMpIGF2YWlsYWJs ZSEhISIpCisKKyAgICAgICAgICAgIGRhdGEgPSBcCisgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiBjb25m aWdfZGF0YVsndGVzdF9GVF91cGRhdGVfZGF0YSddCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfY29tbWVudCddLAorICAg ICAgICAgICAgICAgICAgICAiaWQiOiBmdF9pZCwKKyAgICAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVy LnB1dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzY2hlbWFfaWQp ICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoZnRfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xs b3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisKKwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL19f aW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL19f aW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjAzYmYzZjYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m dW5jdGlvbnMvdGVzdHMvX19pbml0X18ucHkKQEAgLTAsMCArMSwxNiBAQAor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0 IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGlj ZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJv bSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRv cgorCisKK2NsYXNzIFRyaWdnZXJGdW5jdGlvblRlc3RHZW5lcmF0b3IoQmFz ZVRlc3RHZW5lcmF0b3IpOgorCisgICBkZWYgZ2VuZXJhdGVfdGVzdHMoc2Vs Zik6CisgICAgICAgcmV0dXJuIFtdCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mdW5jdGlvbnMvdGVzdHMvdGVzdF90cmlnZ2VyX2Z1bmNfYWRkLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dl cl9mdW5jX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi43MTNiZDIzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX2FkZC5weQpA QCAtMCwwICsxLDExMiBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgoraW1wb3J0IHBpY2tsZQor aW1wb3J0IG9zCisKKworY2xhc3MgVHJpZ2dlckZ1bmNBZGRUZXN0Q2FzZShM b2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGFkZCBu ZXcgdHJpZ2dlciBmdW5jdGlvbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisK KyAgICBwcmlvcml0eSA9IDM2CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAg ICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHRyaWdnZXIgZnVuY3Rp b24gbm9kZS4KKyAgICAgICAgKCdGZWN0aCBUcmlnZ2VyIEZ1bmN0aW9uIE5v ZGUgVVJMJywKKyAgICAgICAgIGRpY3QodXJsPScvYnJvd3Nlci90cmlnZ2Vy X2Z1bmN0aW9uL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChz ZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdHJp Z2dlciBmdW5jdGlvbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICAg ICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0g YWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlk Il1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0K KyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9n cm91cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2Rl PXNlbGYpCisKKyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3Rl ZCJdOgorCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdl dCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nICsgc3RyKHNydl9ncnApICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0 cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKyBzdHIoc2NoZW1h X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgZGF0 YSA9IFwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAg ICJhY2wiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rl c3RfdHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscyddWyd0ZXN0X2FjbCdd LAorICAgICAgICAgICAgICAgICAgICAiYXJndW1lbnRzIjogY29uZmlnX2Rh dGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3RyaWdnZXJfZnVuY3Rp b25fY3JlZGVudGlhbHMnXVsndGVzdF9hcmdzJ10sCisgICAgICAgICAgICAg ICAgICAgICJmdW5jb3duZXIiOiBjb25maWdfZGF0YQorICAgICAgICAgICAg ICAgICAgICBbJ3Rlc3RfdHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscydd Wyd0ZXN0X2Z1bl9vd25lciddLAorICAgICAgICAgICAgICAgICAgICAibGFu bmFtZSI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVz dF90cmlnZ2VyX2Z1bmN0aW9uX2NyZWRlbnRpYWxzJ11bJ3Rlc3RfbGFuZ3Vh Z2UnXSwKKyAgICAgICAgICAgICAgICAgICAgIm5hbWUiOiBjb25maWdfZGF0 YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfdHJpZ2dlcl9mdW5jdGlv bl9jcmVkZW50aWFscyddWyd0ZXN0X25hbWUnXSwKKyAgICAgICAgICAgICAg ICAgICAgIm9wdGlvbnMiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3RfdHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscyddWyd0 ZXN0X29wdGlvbnMnXSwKKyAgICAgICAgICAgICAgICAgICAgInByb2JpbiI6 IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90cmln Z2VyX2Z1bmN0aW9uX2NyZWRlbnRpYWxzJ11bJ3Rlc3RfcHJvYmUnXSwKKyAg ICAgICAgICAgICAgICAgICAgInByb2xlYWtwcm9vZiI6IGNvbmZpZ19kYXRh CisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90cmlnZ2VyX2Z1bmN0aW9u X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfbGVha19wcm9vZiddLAorICAgICAgICAg ICAgICAgICAgICAicHJvbmFtZXNwYWNlIjogY29uZmlnX2RhdGEKKyAgICAg ICAgICAgICAgICAgICAgWyd0ZXN0X3RyaWdnZXJfZnVuY3Rpb25fY3JlZGVu dGlhbHMnXVsndGVzdF9uYW1lc3BhY2UnXSwKKyAgICAgICAgICAgICAgICAg ICAgInByb3JldHR5cGVuYW1lIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAg ICAgICAgICAgWyd0ZXN0X3RyaWdnZXJfZnVuY3Rpb25fY3JlZGVudGlhbHMn XVsndGVzdF90eXBlJ10sCisgICAgICAgICAgICAgICAgICAgICJwcm9zZWNk ZWYiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf dHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscyddWyd0ZXN0X3NlY19kZWYn XSwKKyAgICAgICAgICAgICAgICAgICAgInByb3NyYyI6IGNvbmZpZ19kYXRh CisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90cmlnZ2VyX2Z1bmN0aW9u X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfY29kZSddLAorICAgICAgICAgICAgICAg ICAgICAicHJvdm9sYXRpbGUiOiBjb25maWdfZGF0YQorICAgICAgICAgICAg ICAgICAgICBbJ3Rlc3RfdHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscydd Wyd0ZXN0X3ZvbGl0aWxlJ10sCisgICAgICAgICAgICAgICAgICAgICJzZWNs YWJlbHMiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rl c3RfdHJpZ2dlcl9mdW5jdGlvbl9jcmVkZW50aWFscyddWyd0ZXN0X3NlY19s YWJlbCddLAorICAgICAgICAgICAgICAgICAgICAidmFyaWFibGVzIjogY29u ZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3RyaWdnZXJf ZnVuY3Rpb25fY3JlZGVudGlhbHMnXVsndGVzdF9WYXJpYWJsZSddCisgICAg ICAgICAgICAgICAgfQorCisgICAgICAgICAgICBpZiBzY2hlbWFfaWQ6Cisg ICAgICAgICAgICAgICAgZGF0YVsncHJvbmFtZXNwYWNlJ10gPSBzY2hlbWFf aWQKKyAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAgc2NoZW1h X2lkID0gZGF0YVsncHJvbmFtZXNwYWNlJ10KKworICAgICAgICAgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KHNlbGYudXJsICsgc3RyKHNydl9n cnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihkYl9pZCkgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyAr IHN0cihzY2hlbWFfaWQpICsgJy8nLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50 X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0 VHJ1ZShyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgICAg ICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgdHJnX2Z1bmNfX2lkID0gcmVzcGRhdGFbJ25v ZGUnXVsnX2lkJ10KKworICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUo Jy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViLycKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdyZWdyZXNzaW9uL3BhcmVudF9pZC5w a2wnKToKKyAgICAgICAgICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4o Jy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnL3JlZ3Jlc3Npb24vJydw YXJlbnRfaWQucGtsJywgJ3JiJykKKyAgICAgICAgICAgICAgICBhbGxfaWQg PSBwaWNrbGUubG9hZChleHN0X3NlcnZlcl9pZCkKKyAgICAgICAgICAgICAg ICBwaWNrbGVfaWRfZGljdCA9IGFsbF9pZAorCisgICAgICAgICAgICBwaWNr bGVfaWRfZGljdFsidGZuaWQiXS5hcHBlbmQodHJnX2Z1bmNfX2lkKQorCisg ICAgICAgICAgICBleHRlbnNpb25fb3V0cHV0ID0gb3BlbignL2hvbWUvZWRi L0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ3JlZ3Jlc3Npb24vcGFyZW50X2lkLnBrbCcs ICd3YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGlj dCwgZXh0ZW5zaW9uX291dHB1dCkKKyAgICAgICAgICAgIGV4dGVuc2lvbl9v dXRwdXQuY2xvc2UoKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVu Y3Rpb25zL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX2RlbGV0ZS5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVu Y19kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uNDZkMDg1OQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19kZWxldGUucHkK QEAgLTAsMCArMSw2MyBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIFRyaWdn ZXJGdW5jRGVsZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi IFRoaXMgY2xhc3Mgd2lsbCBhZGQgbmV3IHRyaWdnZXIgZnVuY3Rpb24gdW5k ZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA0MworCisg ICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQg VVJMIGZvciB0cmlnZ2VyIGZ1bmN0aW9uIG5vZGUuCisgICAgICAgICgnRmV0 Y2ggVHJpZ2dlciBGdW5jdGlvbiBOb2RlIFVSTCcsCisgICAgICAgICBkaWN0 KHVybD0nL2Jyb3dzZXIvdHJpZ2dlcl9mdW5jdGlvbi9vYmovJykpCisgICAg XQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHRyaWdnZXIgZnVuY3Rpb24gdW5kZXIg ZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lk cygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQor ICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2No ZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAgdHJnX2Z1bmNf X2lkID0gYWxsX2lkWyJ0Zm5pZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBj b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRi X2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlm IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAg IyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9 Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9 IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAg ICAgICAgaWYgbGVuKHJlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAg ICByYWlzZSBFeGNlcHRpb24oIk5vIHNjaGVtYShzKSB0byBkZWxldGUhISEi KQorCisgICAgICAgICAgICBkZWxfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5k ZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihz ZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo c2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHRyZ19mdW5jX19pZCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9s bG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBkZWxfcmVzcGRh dGEgPSBqc29uLmxvYWRzKGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQor CisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydz dWNjZXNzJ10sIDEpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rlc3RzL3Rlc3Rf dHJpZ2dlcl9mdW5jX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9u cy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19nZXQucHkKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWIwNWZlMAotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3Ry aWdnZXJfZnVuY19nZXQucHkKQEAgLTAsMCArMSw2MSBAQAorIyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRv b2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0Fk bWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxl YXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGlt cG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMu dGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNz aW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lv bi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNv bgorCisKK2NsYXNzIFRyaWdnZXJGdW5jR2V0VGVzdENhc2UoTG9naW5UZXN0 Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBmZXRjaCBhZGRlZCB0 cmlnZ2VyIGZ1bmN0aW9uIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAg IHByaW9yaXR5ID0gMzcKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAg IyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgdHJpZ2dlciBmdW5jdGlvbiBu b2RlLgorICAgICAgICAoJ0ZldGNoIFRyaWdnZXIgRnVuY3Rpb24gTm9kZSBV UkwnLAorICAgICAgICAgZGljdCh1cmw9Jy9icm93c2VyL3RyaWdnZXJfZnVu Y3Rpb24vb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYp OgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIHRyaWdn ZXIgZnVuY3Rpb24gdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAg ICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0g YWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlk Il1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0K KyAgICAgICAgdHJnX2Z1bmNfX2lkID0gYWxsX2lkWyJ0Zm5pZCJdWzBdCisg ICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1z ZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQi XToKKworICAgICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAg ICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1h L29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRi X2lkLCBzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAg ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSAhPSAw OgorCisgICAgICAgICAgICAgICAgZ2V0X3Jlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KHNlcnZlcl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RyKHNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIodHJnX2Z1bmNfX2lkKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICAg ICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIw MCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZnVuY3Rpb25zL3Rl c3RzL3Rlc3RfdHJpZ2dlcl9mdW5jX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Z1bmN0aW9ucy90ZXN0cy90ZXN0X3RyaWdnZXJfZnVuY19wdXQucHkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0MzFkNwotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Z1bmN0aW9ucy90ZXN0 cy90ZXN0X3RyaWdnZXJfZnVuY19wdXQucHkKQEAgLTAsMCArMSw2OSBAQAor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0 Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisj CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dz ZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJv bSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20g cmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitp bXBvcnQganNvbgorCisKK2NsYXNzIFRyaWdnZXJGdW5jUHV0VGVzdENhc2Uo TG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCB1cGRh dGUgbmV3IHRyaWdnZXIgZnVuY3Rpb24gdW5kZXIgc2NoZW1hIG5vZGUuICIi IgorCisgICAgcHJpb3JpdHkgPSAzOAorCisgICAgc2NlbmFyaW9zID0gWwor ICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0cmlnZ2VyIGZ1 bmN0aW9uIG5vZGUuCisgICAgICAgICgnRmVjdGggVHJpZ2dlciBGdW5jdGlv biBOb2RlIFVSTCcsCisgICAgICAgICBkaWN0KHVybD0nL2Jyb3dzZXIvdHJp Z2dlcl9mdW5jdGlvbi9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRl c3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBk YXRlIHRyaWdnZXIgZnVuY3Rpb24gdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIi CisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2Vy dmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFs bF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJz Y2lkIl1bMF0KKyAgICAgICAgdHJnX2Z1bmNfX2lkID0gYWxsX2lkWyJ0Zm5p ZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9z ZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9k ZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJj b25uZWN0ZWQiXToKKworICAgICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisg ICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dz ZXIvc2NoZW1hL29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2 ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n KQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9u c2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKHJlc3Bk YXRhKSAhPSAwOgorCisgICAgICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAg ICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAgICAgImRl c2NyaXB0aW9uIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAg ICAgIFsndGVzdF90cmlnZ2VyX2Z1bmNfdXBkYXRlX2RhdGEnXVsndGVzdF9j b21tZW50J10sCisgICAgICAgICAgICAgICAgICAgICAgICAiaWQiOiB0cmdf ZnVuY19faWQKKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg ICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KHNlbGYudXJs ICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNjaGVtYV9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIodHJnX2Z1bmNfX2lkKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1 bXBzKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAg ICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwdXRfcmVzcG9uc2Uuc3Rh dHVzX2NvZGUsIDIwMCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv c2VxdWVuY2VzL3Rlc3RzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv c2VxdWVuY2VzL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmZmMTFlM2UKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9zZXF1ZW5jZXMvdGVzdHMvX19pbml0X18ucHkK QEAgLTAsMCArMSwxNiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9y dCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIFNlcXVlbmNlVGVzdEdl bmVyYXRvcihCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgIGRlZiBnZW5lcmF0 ZV90ZXN0cyhzZWxmKToKKyAgICAgICByZXR1cm4gW10KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3NlcXVlbmNlcy90ZXN0cy90ZXN0X3NlcXVlbmNl X2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3NlcXVlbmNlcy90ZXN0cy90ZXN0 X3NlcXVlbmNlX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi41Y2I3NDEzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvc2VxdWVuY2VzL3Rlc3RzL3Rlc3Rfc2VxdWVuY2VfYWRkLnB5CkBA IC0wLDAgKzEsOTcgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor ZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zy b20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExv Z2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9y dCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQg dGVzdF9nZXRub2RlcworaW1wb3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2lt cG9ydCBvcworCisKK2NsYXNzIFNlcXVlbmNlQWRkVGVzdENhc2UoTG9naW5U ZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQgbmV3IGNv bGxhdGlvbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0 eSA9IDU2CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hp bmcgZGVmYXVsdCBVUkwgZm9yIHNlcXVlbmNlIG5vZGUuCisgICAgICAgICgn RmV0Y2ggc2VxdWVuY2UgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIv c2VxdWVuY2Uvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBzZXF1 ZW5jZSB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lk ID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJz aWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAg ICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAg c3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisK KyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisK KyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisg ICAgICAgICAgICAjIEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2JqLycK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0v ezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIHNj aGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAg IGRhdGEgPSBcCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAg ICAgICAiY2FjaGUiOiBjb25maWdfZGF0YVsndGVzdF9zZXF1ZW5jZV9jcmVk ZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X2NhY2hlJ10sCisgICAgICAgICAgICAgICAgICAgICJj eWNsZWQiOiBjb25maWdfZGF0YVsndGVzdF9zZXF1ZW5jZV9jcmVkZW50aWFs cyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFsndGVzdF9jeWNsZWQnXSwKKyAgICAgICAgICAgICAgICAgICAgImluY3Jl bWVudCI6IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcXVlbmNlX2NyZWRlbnRpYWxz J10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyd0ZXN0X2luY3JlbWVudCddLAorICAgICAgICAgICAgICAgICAgICAi bWF4aW11bSI6IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcXVlbmNlX2NyZWRlbnRp YWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsndGVzdF9tYXhfdmFsdWUnXSwKKyAgICAgICAgICAgICAgICAgICAg Im1pbmltdW0iOiBjb25maWdfZGF0YVsndGVzdF9zZXF1ZW5jZV9jcmVkZW50 aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3RfbWluX3ZhbHVlJ10sCisgICAgICAgICAgICAgICAgICAg ICJuYW1lIjogY29uZmlnX2RhdGFbJ3Rlc3Rfc2VxdWVuY2VfY3JlZGVudGlh bHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Wyd0ZXN0X25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgInJlbGFjbCI6 IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcXVlbmNlX2NyZWRlbnRpYWxzJ10KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0 X2FjbCddLAorICAgICAgICAgICAgICAgICAgICAic2NoZW1hIjogY29uZmln X2RhdGFbJ3Rlc3Rfc2VxdWVuY2VfY3JlZGVudGlhbHMnXQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2NoZW1h X25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgInNlY3VyaXRpZXMiOiBj b25maWdfZGF0YVsndGVzdF9zZXF1ZW5jZV9jcmVkZW50aWFscyddCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rl c3Rfc2VjdXJpdHknXSwKKyAgICAgICAgICAgICAgICAgICAgInNlcW93bmVy IjogY29uZmlnX2RhdGFbJ3Rlc3Rfc2VxdWVuY2VfY3JlZGVudGlhbHMnXQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsn dGVzdF9vd25lciddLAorICAgICAgICAgICAgICAgICAgICAic3RhcnQiOiBj b25maWdfZGF0YVsndGVzdF9zZXF1ZW5jZV9jcmVkZW50aWFscyddCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3N0 YXJ0X3ZhbCddCisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy ZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3Qoc2VsZi51cmwgKyBzdHIoc3J2 X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8n ICsgc3RyKHNjaGVtYV9pZCkgKyAnLycsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRl bnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEg PSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAg ICAgICAgIHNlcXVlbmNlX2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10K KworICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9E b3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAg ICAgICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9E b3dubG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnL3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQucGts JywgJ3JiJykKKyAgICAgICAgICAgICAgICBhbGxfaWQgPSBwaWNrbGUubG9h ZChleHN0X3NlcnZlcl9pZCkKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRf ZGljdCA9IGFsbF9pZAorCisgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsi c2VpZCJdLmFwcGVuZChzZXF1ZW5jZV9pZCkKKworICAgICAgICAgICAgc2Vx dWVuY2Vfb3V0cHV0ID0gb3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2Fk bWluNC93ZWIvJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAncmVncmVzc2lvbi9wYXJlbnRfaWQucGtsJywgJ3diJykKKyAgICAgICAg ICAgIHBpY2tsZS5kdW1wKHBpY2tsZV9pZF9kaWN0LCBzZXF1ZW5jZV9vdXRw dXQpCisgICAgICAgICAgICBzZXF1ZW5jZV9vdXRwdXQuY2xvc2UoKQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3NlcXVlbmNlcy90ZXN0cy90ZXN0X3NlcXVlbmNlX2RlbGV0ZS5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3NlcXVlbmNlcy90ZXN0cy90ZXN0X3NlcXVl bmNlX2RlbGV0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5mNzA4YTJiCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvc2VxdWVuY2VzL3Rlc3RzL3Rlc3Rfc2VxdWVuY2VfZGVsZXRlLnB5CkBA IC0wLDAgKzEsNzMgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor ZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zy b20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExv Z2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9y dCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQg dGVzdF9nZXRub2RlcworaW1wb3J0IGpzb24KKworCitjbGFzcyBTZXF1ZW5j ZURlbGV0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlz IGNsYXNzIHdpbGwgZGVsZXRlIGFkZGVkIHNlcXVlbmNlIG5vZGUgdW5kZXIg c2NoZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA1OQorCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJM IGZvciBzZXF1ZW5jZSBub2RlLgorICAgICAgICAoJ0ZlY3RoIHNlcXVlbmNl IE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93c2VyL3NlcXVlbmNlL29iai8n KSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAg IiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgYWRkZWQgc2VxdWVuY2Ug dW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdl dF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1b MF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAg IHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIHNlcXVl bmNlX2lkID0gYWxsX2lkWyJzZWlkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9 IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAg ZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAg aWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAg ICAjIEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2JqLycKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97 M30nLmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIHNjaGVtYV9pZCks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250 ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRh ID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAg ICAgICAgICBpZiBsZW4ocmVzcGRhdGEpICE9IDA6CisKKyAgICAgICAgICAg ICAgICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwg KyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSAr ICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihzZXF1ZW5jZV9pZCksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJykKKworICAgICAgICAgICAgICAgIGdldF9yZXNwZGF0YSA9 IGpzb24ubG9hZHMoZ2V0X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAg ICAgICAgICAgICAgICBpZiBsZW4oZ2V0X3Jlc3BkYXRhKSA9PSAwOgorICAg ICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHNlcXVlbmNl IG5vZGUgdG8gZGVsZXRlISIpCisKKyAgICAgICAgICAgICAgICBkZWxfcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2 X2dycCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSAr ICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cihzZXF1ZW5jZV9pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19y ZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICAgICAgICAgIGRlbF9yZXNwZGF0 YSA9IGpzb24ubG9hZHMoZGVsX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisK KyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRh WydzdWNjZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9z ZXF1ZW5jZXMvdGVzdHMvdGVzdF9zZXF1ZW5jZV9nZXQucHkgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9zZXF1ZW5jZXMvdGVzdHMvdGVzdF9zZXF1ZW5jZV9nZXQucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVjMDY0ZQot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3NlcXVlbmNlcy90 ZXN0cy90ZXN0X3NlcXVlbmNlX2dldC5weQpAQCAtMCwwICsxLDU5IEBACisj ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwg VGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMK KyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5j b25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nl ci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9t IHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSBy ZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2lt cG9ydCBqc29uCisKKworY2xhc3MgU2VxdWVuY2VHZXRUZXN0Q2FzZShMb2dp blRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGFkZCBuZXcg Y29sbGF0aW9uIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgIHByaW9y aXR5ID0gNTcKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRj aGluZyBkZWZhdWx0IFVSTCBmb3Igc2VxdWVuY2Ugbm9kZS4KKyAgICAgICAg KCdGZXRjaCBzZXF1ZW5jZSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nl ci9zZXF1ZW5jZS9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qo c2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2gg YWRkZWQgc2VxdWVuY2UgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAg ICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9 IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRp ZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBd CisgICAgICAgIHNlcXVlbmNlX2lkID0gYWxsX2lkWyJzZWlkIl1bMF0KKyAg ICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91 cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNl bGYpCisKKyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJd OgorCisgICAgICAgICAgICAjIEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAg IHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEv b2JqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICd7MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJf aWQsIHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAg ICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRl Y29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4ocmVzcGRhdGEpICE9IDA6 CisKKyAgICAgICAgICAgICAgICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo c2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXF1ZW5jZV9pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgICAg IHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDAp ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvc2VxdWVuY2VzL3Rlc3RzL3Rlc3Rfc2VxdWVuY2VfcHV0 LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvc2VxdWVuY2VzL3Rlc3RzL3Rlc3Rfc2Vx dWVuY2VfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmU3ODYxMzAKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9zZXF1ZW5jZXMvdGVzdHMvdGVzdF9zZXF1ZW5jZV9wdXQucHkKQEAgLTAs MCArMSw4MCBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykg MjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMg VGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNR TCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9t IHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBw Z2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5U ZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdl dF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0 X2dldG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIFNlcXVlbmNlVXBk YXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xh c3Mgd2lsbCB1cGRhdGUgbmV3IHNlcXVlbmNlIG5vZGUgdW5kZXIgc2NoZW1h IG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA1OAorCisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBz ZXF1ZW5jZSBub2RlLgorICAgICAgICAoJ0ZldGNoIHNlcXVlbmNlIE5vZGUg VVJMJywgZGljdCh1cmw9Jy9icm93c2VyL3NlcXVlbmNlL29iai8nKSkKKyAg ICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRo aXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgYWRkZWQgc2VxdWVuY2UgdW5kZXIg c2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMo KQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAg ICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAgIHNjaGVt YV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIHNlcXVlbmNlX2lk ID0gYWxsX2lkWyJzZWlkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZp Z19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29u ID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYgZGJf Y29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAgICAjIEdl dCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2JqLycKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZv cm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIHNjaGVtYV9pZCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5 cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNv bi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAg ICBpZiBsZW4ocmVzcGRhdGEpICE9IDA6CisKKyAgICAgICAgICAgICAgICBn ZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihzZXF1ZW5jZV9pZCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgICAgIGdldF9yZXNwZGF0YSA9IGpzb24u bG9hZHMoZ2V0X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAg ICAgICAgICBpZiBsZW4oZ2V0X3Jlc3BkYXRhKSA9PSAwOgorICAgICAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHNlcXVlbmNlIG5vZGUg dG8gdXBkYXRlISIpCisKKyAgICAgICAgICAgICAgICBkYXRhID1cCisgICAg ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICJj b21tZW50IjogY29uZmlnX2RhdGFbJ3Rlc3Rfc2VxdW5jZV91cGRhdGVfZGF0 YSddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X2NvbW1lbnQnXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICJpZCI6IHNlcXVlbmNlX2lkCisgICAgICAgICAgICAgICAgICAgIH0K KworICAgICAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVy LnB1dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihz ZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKGRiX2lkKSArICcvJyArCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihzY2hlbWFfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcXVlbmNlX2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRy dWUpCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwdXRf cmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL19faW5pdF9fLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0NTBlZGIKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvX19pbml0X18u cHkKQEAgLTAsMCArMSwxNiBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIwor IyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGlt cG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIFRhYmxlVGVzdEdl bmVyYXRvcihCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgIGRlZiBnZW5lcmF0 ZV90ZXN0cyhzZWxmKToKKyAgICAgICByZXR1cm4gW10KZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZXN0cy90ZXN0X3RhYmxlX2FkZC5w eSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZXN0cy90ZXN0X3RhYmxlX2Fk ZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjFj Mzc1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3Rlc3RzL3Rlc3RfdGFibGVfYWRkLnB5CkBAIC0wLDAgKzEsMTE2IEBACisj ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3Rn cmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwg VGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMK KyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5j b25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nl ci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitmcm9t IHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSBy ZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2lt cG9ydCBqc29uCitpbXBvcnQgcGlja2xlCitpbXBvcnQgb3MKKworCitjbGFz cyBUYWJsZUFkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBU aGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBjb2xsYXRpb24gdW5kZXIgc2NoZW1h IG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA2MAorCisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0 YWJsZSBub2RlLgorICAgICAgICAoJ0ZlY3RoIHRhYmxlIE5vZGUgVVJMJywg ZGljdCh1cmw9Jy9icm93c2VyL3RhYmxlL29iai8nKSkKKyAgICBdCisKKyAg ICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rp b24gd2lsbCBhZGQgdGFibGUgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisg ICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9p ZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRb ImRpZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJd WzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2 ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMo bm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25u ZWN0ZWQiXToKKworICAgICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisgICAg ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIv c2NoZW1hL29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJf aWQsIGRiX2lkLCBzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQor ICAgICAgICAgICAgZGF0YSA9IFwKKyAgICAgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgICAgICJjaGVja19jb25zdHJhaW50IjogY29uZmlnX2Rh dGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3RhYmxlX2NyZWRlbnRp YWxzJ11bJ3Rlc3RfY29uc3RyYWludCddLAorICAgICAgICAgICAgICAgICAg ICAiY29sbF9pbmhlcml0cyI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAg ICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50aWFscyddWyd0ZXN0X2NvbF9p bmhlcml0J10sCisgICAgICAgICAgICAgICAgICAgICJjb2x1bW5zIjogY29u ZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3RhYmxlX2Ny ZWRlbnRpYWxzJ11bJ3Rlc3RfY29sdW1ucyddLAorICAgICAgICAgICAgICAg ICAgICAiZXhjbHVkZV9jb25zdHJhaW50IjogY29uZmlnX2RhdGEKKyAgICAg ICAgICAgICAgICAgICAgWyd0ZXN0X3RhYmxlX2NyZWRlbnRpYWxzJ11bJ3Rl c3RfaGFzX2NvbnN0cmFpbnQnXSwKKyAgICAgICAgICAgICAgICAgICAgImZp bGxmYWN0b3IiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBb J3Rlc3RfdGFibGVfY3JlZGVudGlhbHMnXVsndGVzdF9maWxsZmFjdG9yJ10s CisgICAgICAgICAgICAgICAgICAgICJmb3JlaWduX2tleSI6IGNvbmZpZ19k YXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50 aWFscyddWyd0ZXN0X2hhc19GSyddLAorICAgICAgICAgICAgICAgICAgICAi aGFzdG9hc3R0YWJsZSI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAg ICAgIFsndGVzdF90YWJsZV9jcmVkZW50aWFscyddWyd0ZXN0X2hhc190b2Fz dF90YmwnXSwKKyAgICAgICAgICAgICAgICAgICAgImxpa2VfY29uc3RyYWlu dHMiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf dGFibGVfY3JlZGVudGlhbHMnXVsndGVzdF9saWtlX2NvbnN0cmFpbnQnXSwK KyAgICAgICAgICAgICAgICAgICAgImxpa2VfZGVmYXVsdF92YWx1ZSI6IGNv bmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9j cmVkZW50aWFscyddWyd0ZXN0X2xpa2VfZGVmYXVsdF92YWx1ZSddLAorICAg ICAgICAgICAgICAgICAgICAibGlrZV9yZWxhdGlvbiI6IGNvbmZpZ19kYXRh CisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50aWFs cyddWyd0ZXN0X2xpa2VfcmVsYXRpb24nXSwKKyAgICAgICAgICAgICAgICAg ICAgIm5hbWUiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBb J3Rlc3RfdGFibGVfY3JlZGVudGlhbHMnXVsndGVzdF9uYW1lJ10sCisgICAg ICAgICAgICAgICAgICAgICJwcmltYXJ5X2tleSI6IGNvbmZpZ19kYXRhCisg ICAgICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50aWFscydd Wyd0ZXN0X1BLJ10sCisgICAgICAgICAgICAgICAgICAgICJyZWxhY2wiOiBj b25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfdGFibGVf Y3JlZGVudGlhbHMnXVsndGVzdF9hY2wnXSwKKyAgICAgICAgICAgICAgICAg ICAgInJlbGhhc29pZHMiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3RfdGFibGVfY3JlZGVudGlhbHMnXVsndGVzdF9oYXNfb2lk J10sCisgICAgICAgICAgICAgICAgICAgICJyZWxvd25lciI6IGNvbmZpZ19k YXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50 aWFscyddWyd0ZXN0X293bmVyJ10sCisgICAgICAgICAgICAgICAgICAgICJz Y2hlbWEiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rl c3RfdGFibGVfY3JlZGVudGlhbHMnXVsndGVzdF9zY2hlbWEnXSwKKyAgICAg ICAgICAgICAgICAgICAgInNlY2xhYmVscyI6IGNvbmZpZ19kYXRhCisgICAg ICAgICAgICAgICAgICAgIFsndGVzdF90YWJsZV9jcmVkZW50aWFscyddWyd0 ZXN0X3NlY19hY2wnXSwKKyAgICAgICAgICAgICAgICAgICAgInNwY25hbWUi OiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfdGFi bGVfY3JlZGVudGlhbHMnXVsndGVzdF90YnNjcCddLAorICAgICAgICAgICAg ICAgICAgICAidW5pcXVlX2NvbnN0cmFpbnQiOiBjb25maWdfZGF0YQorICAg ICAgICAgICAgICAgICAgICBbJ3Rlc3RfdGFibGVfY3JlZGVudGlhbHMnXVsn dGVzdF91bmlxdWVfY29uc3RyYWludCddLAorICAgICAgICAgICAgICAgICAg ICAidmFjdXVtX3RhYmxlIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X3RhYmxlX2NyZWRlbnRpYWxzJ11bJ3Rlc3RfdmFjdXVt X3RibCddLAorICAgICAgICAgICAgICAgICAgICAidmFjdXVtX3RvYXN0Ijog Y29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3RhYmxl X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfdmFjdXVtX3RvYXN0J10KKyAgICAgICAg ICAgICAgICB9CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIucG9zdChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2NoZW1hX2lkKSAr ICcvJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n KQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9u c2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgdGFibGVfaWQgPSBy ZXNwZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAgICAgICAgICBpZiBvcy5w YXRoLmlzZmlsZSgnL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIv cmVncmVzc2lvbi8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn cGFyZW50X2lkLnBrbCcpOgorICAgICAgICAgICAgICAgIGV4c3Rfc2VydmVy X2lkID0gb3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIn CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvcmVn cmVzc2lvbi8nJ3BhcmVudF9pZC5wa2wnLCAncmInKQorICAgICAgICAgICAg ICAgIGFsbF9pZCA9IHBpY2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQorICAg ICAgICAgICAgICAgIHBpY2tsZV9pZF9kaWN0ID0gYWxsX2lkCisKKyAgICAg ICAgICAgIHBpY2tsZV9pZF9kaWN0WyJ0aWQiXS5hcHBlbmQodGFibGVfaWQp CisKKyAgICAgICAgICAgIHRhYmxlX291dHB1dCA9IG9wZW4oJy9ob21lL2Vk Yi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcsICd3 YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwg dGFibGVfb3V0cHV0KQorICAgICAgICAgICAgdGFibGVfb3V0cHV0LmNsb3Nl KCkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9kZWxldGUu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9k ZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NGI4ZjM0NQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy90ZXN0cy90ZXN0X3RhYmxlX2RlbGV0ZS5weQpAQCAtMCwwICsxLDcz IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2Vu Y2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVz c2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4u YnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNl Citmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcwor ZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9k ZXMKK2ltcG9ydCBqc29uCisKKworY2xhc3MgVGFibGVEZWxldGVUZXN0Q2Fz ZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGRl bGV0ZSBuZXcgdGFibGUgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAg cHJpb3JpdHkgPSA5NworCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAj IEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0YWJsZSBub2RlLgorICAgICAg ICAoJ0ZlY3RoIHRhYmxlIE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93c2Vy L3RhYmxlL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxm KToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgYWRk ZWQgdGFibGUgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFs bF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9p ZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBd CisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAg ICAgIHRhYmxlX2lkID0gYWxsX2lkWyJ0aWQiXVswXQorICAgICAgICBzcnZf Z3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAg ICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAg ICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAg ICAgICAgICMgR2V0IHNjaGVtYSBpZAorICAgICAgICAgICAgcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9vYmovJworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3swfS97MX0v ezJ9L3szfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkLCBkYl9pZCwgc2NoZW1h X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVz cGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisK KyAgICAgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgIT0gMDoKKworICAgICAg ICAgICAgICAgIGdldF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxm LnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQp ICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKGRiX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzY2hlbWFf aWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHRhYmxlX2lkKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgICAgICAgICAgICAgZ2V0X3Jlc3BkYXRh ID0ganNvbi5sb2FkcyhnZXRfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKwor ICAgICAgICAgICAgICAgIGlmIGxlbihnZXRfcmVzcGRhdGEpID09IDA6Cisg ICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gVGFibGUg dG8gZGVsZXRlISIpCisKKyAgICAgICAgICAgICAgICBkZWxfcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5kZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkg KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnLycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cih0YWJsZV9pZCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9 VHJ1ZSkKKworICAgICAgICAgICAgICAgIGRlbF9yZXNwZGF0YSA9IGpzb24u bG9hZHMoZGVsX3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAg ICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNjZXNz J10sIDEpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL3Rlc3RfdGFibGVfZ2V0 LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rlc3RzL3Rlc3RfdGFibGVf Z2V0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5 OGEzZDMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvdGVzdHMvdGVzdF90YWJsZV9nZXQucHkKQEAgLTAsMCArMSw1OSBAQAor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0 Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2Fy ZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisj CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dz ZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJv bSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20g cmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitp bXBvcnQganNvbgorCisKK2NsYXNzIFRhYmxlR2V0VGVzdENhc2UoTG9naW5U ZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQgbmV3IGNv bGxhdGlvbiB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICBwcmlvcml0 eSA9IDYxCisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hp bmcgZGVmYXVsdCBVUkwgZm9yIHRhYmxlIG5vZGUuCisgICAgICAgICgnRmVj dGggdGFibGUgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvdGFibGUv b2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIGFkZGVkIHRhYmxl IHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQgPSBn ZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJd WzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAg ICBzY2hlbWFfaWQgPSBhbGxfaWRbInNjaWQiXVswXQorICAgICAgICB0YWJs ZV9pZCA9IGFsbF9pZFsidGlkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNv bmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJf Y29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYg ZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAgICAgICAj IEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2JqLycKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7MH0vezF9L3syfS97M30n LmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQsIHNjaGVtYV9pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50 X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgICAgIHJlc3BkYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAg ICAgICBpZiBsZW4ocmVzcGRhdGEpICE9IDA6CisKKyAgICAgICAgICAgICAg ICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBz dHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyAr CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cih0YWJsZV9pZCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJl c3BvbnNlLnN0YXR1c19jb2RlLCAyMDApClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Rl c3RzL3Rlc3RfdGFibGVfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3Rlc3RzL3Rlc3RfdGFibGVfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLjg2N2JiNTIKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90YWJsZXMvdGVzdHMvdGVzdF90YWJsZV9wdXQucHkK QEAgLTAsMCArMSw3OSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X25vZGVzIGltcG9y dCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgorCisKK2NsYXNzIFRhYmxl VXBkYXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMg Y2xhc3Mgd2lsbCBhZGQgbmV3IGNvbGxhdGlvbiB1bmRlciBzY2hlbWEgbm9k ZS4gIiIiCisKKyAgICBwcmlvcml0eSA9IDYyCisKKyAgICBzY2VuYXJpb3Mg PSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHRhYmxl IG5vZGUuCisgICAgICAgICgnRmVjdGggdGFibGUgTm9kZSBVUkwnLCBkaWN0 KHVybD0nL2Jyb3dzZXIvdGFibGUvb2JqLycpKQorICAgIF0KKworICAgIGRl ZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3 aWxsIGZldGNoIGFkZGVkIHRhYmxlIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIK KworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2 ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxs X2lkWyJkaWQiXVswXQorICAgICAgICBzY2hlbWFfaWQgPSBhbGxfaWRbInNj aWQiXVswXQorICAgICAgICB0YWJsZV9pZCA9IGFsbF9pZFsidGlkIl1bMF0K KyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9n cm91cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2Rl PXNlbGYpCisKKyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3Rl ZCJdOgorCisgICAgICAgICAgICAjIEdldCBzY2hlbWEgaWQKKyAgICAgICAg ICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hl bWEvb2JqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICd7MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwg ZGJfaWQsIHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAg ICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRh LmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4ocmVzcGRhdGEpICE9 IDA6CisKKyAgICAgICAgICAgICAgICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cih0YWJsZV9pZCksCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgICAg IGdldF9yZXNwZGF0YSA9IGpzb24ubG9hZHMoZ2V0X3Jlc3BvbnNlLmRhdGEu ZGVjb2RlKCkpCisKKyAgICAgICAgICAgICAgICBpZiBsZW4oZ2V0X3Jlc3Bk YXRhKSA9PSAwOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24gKCJObyBUYWJsZSB0byB1cGRhdGUhIikKKworICAgICAgICAgICAgICAg IGRhdGEgPVwKKyAgICAgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogY29uZmlnX2RhdGFbJ3Rlc3Rf dGFibGVfdXBkYXRlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9jb21tZW50J10sCisgICAg ICAgICAgICAgICAgICAgICAgICAiaWQiOiB0YWJsZV9pZAorICAgICAgICAg ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBwdXRfcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5wdXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cih0YWJs ZV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3Jl ZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRF cXVhbHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjM0MDNmNGYKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90ZXN0cy9fX2luaXRfXy5weQpAQCAtMCwwICsx LDE2IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAo QykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0K KyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdy ZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IworCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0 R2VuZXJhdG9yCisKKworY2xhc3MgU2NoZW1hVGVzdEdlbmVyYXRvcihCYXNl VGVzdEdlbmVyYXRvcik6CisKKyAgIGRlZiBnZW5lcmF0ZV90ZXN0cyhzZWxm KToKKyAgICAgICByZXR1cm4gW10KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2FkZC5weSBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3Rlc3RzL3Rlc3Rfc2NoZW1hX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi43MDM5ODNiCi0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfYWRkLnB5CkBAIC0w LDAgKzEsOTAgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdB ZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMp IDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisj IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVT UUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJv bSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20g cGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2lu VGVzdENhc2UKK2ltcG9ydCBqc29uCitpbXBvcnQgcGlja2xlCitpbXBvcnQg b3MKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRz Citmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRu b2RlcworCisKK2NsYXNzIFNjaGVtYUFkZFRlc3RDYXNlKExvZ2luVGVzdENh c2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBzY2hlbWEg dW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9IDIz CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVm YXVsdCBVUkwgZm9yIHNjaGVtYSBub2RlLgorICAgICAgICAoJ0NoZWNrIFNj aGVtYSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9zY2hlbWEvb2Jq LycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAg ICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBzY2hlbWEgdW5kZXIgZGF0 YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygp CisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAg ICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc3J2X2dy cCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAg ICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAg ICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAg ICAgICBkYXRhID1cCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAg ImRlZmZ1bmNhY2wiOiBjb25maWdfZGF0YVsndGVzdF9zY2hlbWFfY3JlZGVu dGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsndGVzdF9mdW5jX2FjbCddLAorICAgICAgICAgICAgICAg ICJkZWZzZXFhY2wiOiBjb25maWdfZGF0YVsndGVzdF9zY2hlbWFfY3JlZGVu dGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFsndGVzdF9zZXFfYWNsJ10sCisgICAgICAgICAgICAgICAg ImRlZnRibGFjbCI6IGNvbmZpZ19kYXRhWyd0ZXN0X3NjaGVtYV9jcmVkZW50 aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyd0ZXN0X3RibF9hY2wnXSwKKyAgICAgICAgICAgICAgICAi ZGVmdHlwZWFjbCI6IGNvbmZpZ19kYXRhWyd0ZXN0X3NjaGVtYV9jcmVkZW50 aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyd0ZXN0X3R5cGVfYWNsJ10sCisgICAgICAgICAgICAgICAg Im5hbWUiOiBjb25maWdfZGF0YVsndGVzdF9zY2hlbWFfY3JlZGVudGlhbHMn XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFsndGVzdF9uYW1lJ10sCisgICAgICAgICAgICAgICAgIm5hbWVzcGFj ZW93bmVyIjogY29uZmlnX2RhdGFbJ3Rlc3Rfc2NoZW1hX2NyZWRlbnRpYWxz J10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3Rfb3duZXInXSwKKyAgICAgICAgICAgICAgICAibnNwYWNs IjogY29uZmlnX2RhdGFbJ3Rlc3Rfc2NoZW1hX2NyZWRlbnRpYWxzJ10KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBb J3Rlc3RfcHJpdmlsZWdlJ10sCisgICAgICAgICAgICAgICAgInNlY2xhYmVs cyI6IGNvbmZpZ19kYXRhWyd0ZXN0X3NjaGVtYV9jcmVkZW50aWFscyddCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Wyd0ZXN0X3NlY19sYWJlbCddCisgICAgICAgICAgICB9CisKKyAgICAgICAg ICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0 cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJf aWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnLycsIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwv anNvbicpCisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwb25z ZS5zdGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgICAgICByZXNwZGF0YSA9 IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAg ICAgICAgc2NoZW1hX2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10KKwor ICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9Eb3du bG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAgICAg ICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9Eb3du bG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAnL3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQucGtsJywg J3JiJykKKyAgICAgICAgICAgICAgICBhbGxfaWQgPSBwaWNrbGUubG9hZChl eHN0X3NlcnZlcl9pZCkKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGlj dCA9IGFsbF9pZAorCisgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsic2Np ZCJdLmFwcGVuZChzY2hlbWFfaWQpCisKKyAgICAgICAgICAgIHNjaGVtYV9v dXRwdXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dl Yi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICdwYXJlbnRfaWQucGtsJywgJ3diJykKKyAgICAgICAgICAgIHBpY2ts ZS5kdW1wKHBpY2tsZV9pZF9kaWN0LCBzY2hlbWFfb3V0cHV0KQorICAgICAg ICAgICAgc2NoZW1hX291dHB1dC5jbG9zZSgpCisKKworCisKKwpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfZGVsZXRl LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hlbWFfZGVsZXRl LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNmNk NzMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90 ZXN0X3NjaGVtYV9kZWxldGUucHkKQEAgLTAsMCArMSw1OSBAQAorIyAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FM IFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBw Z0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmln IGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVz dHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdy ZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVz c2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQg anNvbgorCisKK2NsYXNzIFNjaGVtYURlbGV0ZVRlc3RDYXNlKExvZ2luVGVz dENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBzY2hl bWEgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9 IDk4CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcg ZGVmYXVsdCBVUkwgZm9yIGV4dGVuc2lvbiBub2RlLgorICAgICAgICAoJ0No ZWNrIFNjaGVtYSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9zY2hl bWEvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgor ICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGRlbGV0ZSBzY2hlbWEg dW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0g Z2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQi XVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAg ICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAgc3J2 X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAg ICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAg ICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAg ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCAr IHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cihk Yl9pZCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJy8nICsgc3RyKHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25z ZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4ocmVzcGRh dGEpID09IDA6CisgICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJO byBzY2hlbWEocykgdG8gZGVsZXRlISEhIikKKworICAgICAgICAgICAgZGVs X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHNlbGYudXJsICsgc3Ry KHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RyKGRiX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHNjaGVtYV9pZCksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93 X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBkZWxfcmVzcGRhdGEg PSBqc29uLmxvYWRzKGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisg ICAgICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNj ZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90 ZXN0X3NjaGVtYV9nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90ZXN0cy90ZXN0 X3NjaGVtYV9nZXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uZjcxMmY1MAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3Rlc3RzL3Rlc3Rfc2NoZW1hX2dldC5weQpAQCAtMCwwICsxLDQ0IEBA CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAx NiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK KyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lv bi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJv d3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJv bSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMK KworCitjbGFzcyBTY2hlbWFHZXRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToK KyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGFkZCBuZXcgc2NoZW1hIHVuZGVy IGRhdGFiYXNlIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSAzNAorCisg ICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQg VVJMIGZvciBleHRlbnNpb24gbm9kZS4KKyAgICAgICAgKCdDaGVjayBTY2hl bWEgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvc2NoZW1hL29iai8n KSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAg IiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBzY2hlbWEgdW5kZXIgZGF0 YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygp CisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVswXQorICAg ICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAgc2NoZW1h X2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNv bmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgZGJf Y29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYg ZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dy cCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcvJyArIHN0 cihzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwg MjAwKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9z Y2hlbWFfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGVzdHMvdGVzdF9zY2hl bWFfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjYwM2MwNTgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 ZXN0cy90ZXN0X3NjaGVtYV9wdXQucHkKQEAgLTAsMCArMSw2MCBAQAorIyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3Jl U1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRo ZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBp cyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisj ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29u ZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIu dGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSBy ZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVn cmVzc2lvbi50ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBv cnQganNvbgorCisKK2NsYXNzIFNjaGVtYVB1dFRlc3RDYXNlKExvZ2luVGVz dENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdpbGwgYWRkIG5ldyBzY2hl bWEgdW5kZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICBwcmlvcml0eSA9 IDM1CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcg ZGVmYXVsdCBVUkwgZm9yIHNjaGVtYSBub2RlLgorICAgICAgICAoJ0NoZWNr IFNjaGVtYSBOb2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9zY2hlbWEv b2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSBzY2hlbWEgdW5k ZXIgZGF0YWJhc2Ugbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0 X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVsw XQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAg c2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAgc3J2X2dy cCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAg ICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAg ICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorCisgICAgICAg ICAgICBkYXRhID1cCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAg ICAgICAgICAiZGVmZnVuY2FjbCI6IGNvbmZpZ19kYXRhWyJ0ZXN0X3NjaGVt YV91cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbInRlc3RfZnVuY19hY2wiXSwKKyAgICAgICAg ICAgICAgICAgICAgImRlZnNlcWFjbCI6IGNvbmZpZ19kYXRhWyJ0ZXN0X3Nj aGVtYV91cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFsidGVzdF9zZXFfYWNsIl0sCisgICAgICAg ICAgICAgICAgICAgICJkZWZ0YmxhY2wiOiBjb25maWdfZGF0YVsidGVzdF9z Y2hlbWFfdXBkYXRlX2RhdGEiXQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBbInRlc3RfdGJsX2FjbCJdLAorICAgICAg ICAgICAgICAgICAgICAiaWQiOiBzY2hlbWFfaWQKKyAgICAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVy LnB1dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZl cl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2NoZW1hX2lk KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVl KQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhwdXRfcmVzcG9u c2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAgICAgICAgICAgIHJlc3BkYXRhID0g anNvbi5sb2FkcyhwdXRfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKyAgICAg ICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwZGF0YVsnc3VjY2VzcyddLCAx KQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvX19p bml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy9fX2luaXRf Xy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzhj MjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVzdHMvX19pbml0X18ucHkKQEAgLTAsMCArMSwxNiBAQAorIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUg aXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwor IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBwZ2FkbWlu LnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorCisKK2Ns YXNzIFZpZXdUZXN0R2VuZXJhdG9yKEJhc2VUZXN0R2VuZXJhdG9yKToKKwor ICAgZGVmIGdlbmVyYXRlX3Rlc3RzKHNlbGYpOgorICAgICAgIHJldHVybiBb XQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVz dF9tdmlld19hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90 ZXN0X212aWV3X2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5iZWU0MWM5Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdmlld3MvdGVzdHMvdGVzdF9tdmlld19hZGQucHkKQEAgLTAsMCAr MSwxMDIgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9n ZXRub2RlcworaW1wb3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBv cworCisKK2NsYXNzIE1WaWV3QWRkVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6 CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBhZGQgbmV3IHZpZXcgdW5kZXIg c2NoZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA2NworCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJM IGZvciBtYXRlcmlhbGl6ZWQgdmlldyBub2RlLgorICAgICAgICAoJ0ZlY3Ro IG1hdGVyaWFsaXplZCB2aWV3IE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93 c2VyL212aWV3L29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChz ZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgbWF0 ZXJpYWxpemVkIHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAg ICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9 IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRp ZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBd CisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJf Z3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9k ZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0 ZWQiXToKKworICAgICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisgICAgICAg ICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2No ZW1hL29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQs IGRiX2lkLCBzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisg ICAgICAgICAgICBkYXRhID0gXAorICAgICAgICAgICAgICAgIHsKKyAgICAg ICAgICAgICAgICAgICAgImRhdGFjbCI6IGNvbmZpZ19kYXRhCisgICAgICAg ICAgICAgICAgICAgIFsndGVzdF9tdmlld19jcmVkZW50aWFscyddWyd0ZXN0 X2FjbCddLAorICAgICAgICAgICAgICAgICAgICAiZGVmaW5pdGlvbiI6IGNv bmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF9tdmlld19j cmVkZW50aWFscyddWyd0ZXN0X2RlZmluaXRpb24nXSwKKyAgICAgICAgICAg ICAgICAgICAgImZpbGxmYWN0b3IiOiBjb25maWdfZGF0YQorICAgICAgICAg ICAgICAgICAgICBbJ3Rlc3RfbXZpZXdfY3JlZGVudGlhbHMnXVsndGVzdF9m aWxsZmFjdG9yJ10sCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogY29u ZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X212aWV3X2Ny ZWRlbnRpYWxzJ11bJ3Rlc3RfbmFtZSddLAorICAgICAgICAgICAgICAgICAg ICAib3duZXIiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBb J3Rlc3RfbXZpZXdfY3JlZGVudGlhbHMnXVsndGVzdF9vd25lciddLAorICAg ICAgICAgICAgICAgICAgICAic2NoZW1hIjogY29uZmlnX2RhdGEKKyAgICAg ICAgICAgICAgICAgICAgWyd0ZXN0X212aWV3X2NyZWRlbnRpYWxzJ11bJ3Rl c3Rfc2NoZW1hX25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgInNlY2xh YmVscyI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVz dF9tdmlld19jcmVkZW50aWFscyddWyd0ZXN0X3NlY19sYWJlbCddLAorICAg ICAgICAgICAgICAgICAgICAic3BjbmFtZSI6IGNvbmZpZ19kYXRhCisgICAg ICAgICAgICAgICAgICAgIFsndGVzdF9tdmlld19jcmVkZW50aWFscyddWyd0 ZXN0X3Ric2NwJ10sCisgICAgICAgICAgICAgICAgICAgICJ0b2FzdF9hdXRv dmFjdXVtIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0 ZXN0X212aWV3X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfdG9hc3RfYXV0b3ZhY3V1 bSddLAorICAgICAgICAgICAgICAgICAgICAidG9hc3RfYXV0b3ZhY3V1bV9l bmFibGVkIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgWyd0 ZXN0X212aWV3X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfdG9hc3RfYXV0b3ZhY3V1 bV9lbmFibGVkJ10sCisgICAgICAgICAgICAgICAgICAgICJ2YWN1dW1fdGFi bGUiOiBjb25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf bXZpZXdfY3JlZGVudGlhbHMnXVsndGVzdF92YWN1dW1fdGJsJ10sCisgICAg ICAgICAgICAgICAgICAgICJ2YWN1dW1fdG9hc3QiOiBjb25maWdfZGF0YQor ICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfbXZpZXdfY3JlZGVudGlhbHMn XVsndGVzdF92YWN1dW1fdG9hc3QnXSwKKyAgICAgICAgICAgICAgICAgICAg IndpdGhfZGF0YSI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAg IFsndGVzdF9tdmlld19jcmVkZW50aWFscyddWyd0ZXN0X3dpdGhfZGF0YSdd CisKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSAr ICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzdHIo c2NoZW1hX2lkKSArICcvJywKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAg bXZpZXdfaWQgPSByZXNwZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAgICAg ICAgICBpZiBvcy5wYXRoLmlzZmlsZSgnL2hvbWUvZWRiL0Rvd25sb2Fkcy9w Z2FkbWluNC93ZWIvcmVncmVzc2lvbi8nCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAncGFyZW50X2lkLnBrbCcpOgorICAgICAgICAgICAgICAg IGV4c3Rfc2VydmVyX2lkID0gb3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9w Z2FkbWluNC93ZWInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnL3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQucGtsJywgJ3JiJykK KyAgICAgICAgICAgICAgICBhbGxfaWQgPSBwaWNrbGUubG9hZChleHN0X3Nl cnZlcl9pZCkKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGljdCA9IGFs bF9pZAorCisgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsibXZpZCJdLmFw cGVuZChtdmlld19pZCkKKworICAgICAgICAgICAgbXZpZXdfb3V0cHV0ID0g b3BlbignL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvcmVncmVz c2lvbi8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJl bnRfaWQucGtsJywgJ3diJykKKyAgICAgICAgICAgIHBpY2tsZS5kdW1wKHBp Y2tsZV9pZF9kaWN0LCBtdmlld19vdXRwdXQpCisgICAgICAgICAgICBtdmll d19vdXRwdXQuY2xvc2UoKQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rf bXZpZXdfZGVsZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMv dGVzdF9tdmlld19kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uOTYzNzFjNwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3RfbXZpZXdfZGVsZXRlLnB5CkBA IC0wLDAgKzEsNzUgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor ZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zy b20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExv Z2luVGVzdENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9y dCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQg dGVzdF9nZXRub2RlcworaW1wb3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2lt cG9ydCBvcworCisKK2NsYXNzIE1WaWV3RGVsZXRlVGVzdENhc2UoTG9naW5U ZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBkZWxldGUgbmV3 IG1hdGVyaWFsaXplZCB2aWV3IHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKwor ICAgIHByaW9yaXR5ID0gNzAKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAg ICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgbWF0ZXJpYWxpemVkIHZp ZXcgbm9kZS4KKyAgICAgICAgKCdGZXRjaCBtYXRlcmlhbGl6ZWQgdmlldyBO b2RlIFVSTCcsIGRpY3QodXJsPScvYnJvd3Nlci9tdmlldy9vYmovJykpCisg ICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBU aGlzIGZ1bmN0aW9uIHdpbGwgYWRkIG1hdGVyaWFsaXplZCB2aWV3IHVuZGVy IHNjaGVtYSBub2RlLiAiIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRz KCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBdCisg ICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgICAgICBzY2hl bWFfaWQgPSBhbGxfaWRbInNjaWQiXVswXQorICAgICAgICBtdmlld19pZCA9 IGFsbF9pZFsibXZpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdf ZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9 IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2Nv blsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAgIyBHZXQg c2NoZW1hIGlkCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9Jy5mb3Jt YXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChz cnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQpLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAgICAg aWYgbGVuKHJlc3BkYXRhKSAhPSAwOgorCisgICAgICAgICAgICAgICAgZ2V0 X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNy dl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc3RyKHNjaGVtYV9pZCkgKyAnLycgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHIobXZpZXdfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgICAgICBnZXRfcmVzcGRhdGEgPSBqc29uLmxvYWRz KGdldF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICAg ICAgaWYgbGVuKGdldF9yZXNwZGF0YSkgPT0gMDoKKyAgICAgICAgICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJObyB2aWV3IG5vZGUgdG8gZGVsZXRl ISIpCisKKyAgICAgICAgICAgICAgICBkZWxfcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5kZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn LycgKyBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cihtdmlld19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKwor ICAgICAgICAgICAgICAgIGRlbF9yZXNwZGF0YSA9IGpzb24ubG9hZHMoZGVs X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgICAgICBz ZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNjZXNzJ10sIDEpCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X212 aWV3X2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rf bXZpZXdfZ2V0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmE5ZWUwMGMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy92aWV3cy90ZXN0cy90ZXN0X212aWV3X2dldC5weQpAQCAtMCwwICsxLDYw IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAt IFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0g MjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNv ZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2Vu Y2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVz c2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4u YnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNl Citmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcwor ZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9k ZXMKK2ltcG9ydCBqc29uCisKKworY2xhc3MgTVZpZXdHZXRUZXN0Q2FzZShM b2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGZldGNo IG5ldyBtYXRlcmlhbGl6ZWQgdmlldyB1bmRlciBzY2hlbWEgbm9kZS4gIiIi CisKKyAgICBwcmlvcml0eSA9IDY4CisKKyAgICBzY2VuYXJpb3MgPSBbCisg ICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIG1hdGVyaWFsaXpl ZCB2aWV3IG5vZGUuCisgICAgICAgICgnRmV0Y2ggbWF0ZXJpYWxpemVkIHZp ZXcgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvbXZpZXcvb2JqLycp KQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAi IiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFkZCBtYXRlcmlhbGl6ZWQgdmlldyB1 bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0gZ2V0 X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQiXVsw XQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlkIl1bMF0KKyAgICAgICAg c2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1bMF0KKyAgICAgICAgbXZpZXdf aWQgPSBhbGxfaWRbIm12aWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29u ZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKworICAgICAgICBkYl9j b24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikKKworICAgICAgICBpZiBk Yl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisKKyAgICAgICAgICAgICMg R2V0IHNjaGVtYSBpZAorICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRl c3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9vYmonCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnL3swfS97MX0vezJ9L3szfScu Zm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3J2X2dycCwgc2VydmVyX2lkLCBkYl9pZCwgc2NoZW1hX2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRf dHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgcmVzcGRhdGEgPSBq c29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAg ICAgIGlmIGxlbihyZXNwZGF0YSkgIT0gMDoKKworICAgICAgICAgICAgICAg IGdldF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0 cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKGRiX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzY2hlbWFfaWQpICsgJy8n ICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RyKG12aWV3X2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pz b24nKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVz cG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF9tdmlld19wdXQucHkgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X212aWV3X3B1dC5weQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTQyMDM3Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVz dF9tdmlld19wdXQucHkKQEAgLTAsMCArMSw4MCBAQAorIyAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xz CisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWlu IERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNl ZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9y dCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVz dF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9u LnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50 ZXN0X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgor CisKK2NsYXNzIE1WaWV3UHV0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6Cisg ICAgIiIiIFRoaXMgY2xhc3Mgd2lsbCBmZXRjaCBuZXcgbWF0ZXJpYWxpemVk IHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkg PSA2OQorCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5n IGRlZmF1bHQgVVJMIGZvciBtYXRlcmlhbGl6ZWQgdmlldyBub2RlLgorICAg ICAgICAoJ0ZldGNoIG1hdGVyaWFsaXplZCB2aWV3IE5vZGUgVVJMJywgZGlj dCh1cmw9Jy9icm93c2VyL212aWV3L29iai8nKSkKKyAgICBdCisKKyAgICBk ZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24g d2lsbCBhZGQgbWF0ZXJpYWxpemVkIHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUu ICIiIgorCisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAg IHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQg PSBhbGxfaWRbImRpZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9p ZFsic2NpZCJdWzBdCisgICAgICAgIG12aWV3X2lkID0gYWxsX2lkWyJtdmlk Il1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3Nl cnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rl cyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNv bm5lY3RlZCJdOgorCisgICAgICAgICAgICAjIEdldCBzY2hlbWEgaWQKKyAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nl ci9zY2hlbWEvb2JqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICd7MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZl cl9pZCwgZGJfaWQsIHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25z ZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICBpZiBsZW4ocmVzcGRh dGEpICE9IDA6CisKKyAgICAgICAgICAgICAgICBnZXRfcmVzcG9uc2UgPSBz ZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycg KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihtdmlld19p ZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAg ICAgICAgIGdldF9yZXNwZGF0YSA9IGpzb24ubG9hZHMoZ2V0X3Jlc3BvbnNl LmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgICAgICAgICBpZiBsZW4oZ2V0 X3Jlc3BkYXRhKSA9PSAwOgorICAgICAgICAgICAgICAgICAgICByYWlzZSBF eGNlcHRpb24gKCJObyB2aWV3IHRvIHVwZGF0ZSEiKQorCisgICAgICAgICAg ICAgICAgZGF0YSA9XAorICAgICAgICAgICAgICAgICAgICB7CisgICAgICAg ICAgICAgICAgICAgICAgICAiY29tbWVudCI6IGNvbmZpZ19kYXRhWyd0ZXN0 X3ZpZXdfdXBkYXRlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9jb21tZW50J10sCisgICAg ICAgICAgICAgICAgICAgICAgICAiaWQiOiBtdmlld19pZAorICAgICAgICAg ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBwdXRfcmVzcG9uc2Ug PSBzZWxmLnRlc3Rlci5wdXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkg KyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIoc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihtdmll d19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3Jl ZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRF cXVhbHMocHV0X3Jlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld19h ZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdf YWRkLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBi OGRhODkKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3 cy90ZXN0cy90ZXN0X3ZpZXdfYWRkLnB5CkBAIC0wLDAgKzEsODkgQEAKKyMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUg aXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNv bmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2Vy LnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2Zyb20g cmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJl Z3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9nZXRub2RlcworaW1w b3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBvcworCisKK2NsYXNz IFZpZXdBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhp cyBjbGFzcyB3aWxsIGFkZCBuZXcgdmlldyB1bmRlciBzY2hlbWEgbm9kZS4g IiIiCisKKyAgICBwcmlvcml0eSA9IDYzCisKKyAgICBzY2VuYXJpb3MgPSBb CisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHZpZXcgbm9k ZS4KKyAgICAgICAgKCdGZWN0aCB2aWV3IE5vZGUgVVJMJywgZGljdCh1cmw9 Jy9icm93c2VyL3ZpZXcvb2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5U ZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGFk ZCB2aWV3IHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKworICAgICAgICBhbGxf aWQgPSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRb InNpZCJdWzBdCisgICAgICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQor ICAgICAgICBzY2hlbWFfaWQgPSBhbGxfaWRbInNjaWQiXVswXQorICAgICAg ICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10K KworICAgICAgICBkYl9jb24gPSB0ZXN0X2dldG5vZGVzKG5vZGU9c2VsZikK KworICAgICAgICBpZiBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisK KyAgICAgICAgICAgICMgR2V0IHNjaGVtYSBpZAorICAgICAgICAgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoJy9icm93c2VyL3NjaGVtYS9vYmov JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3sw fS97MX0vezJ9L3szfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkLCBkYl9pZCwg c2NoZW1hX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAg ICAgZGF0YSA9IFwKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAg ICAgICAgICJjaGVja19vcHRpb24iOiBjb25maWdfZGF0YQorICAgICAgICAg ICAgICAgICAgICBbJ3Rlc3Rfdmlld19jcmVkZW50aWFscyddWyd0ZXN0X2No ZWNrX29wdGlvbnMnXSwKKyAgICAgICAgICAgICAgICAgICAgImRhdGFjbCI6 IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF92aWV3 X2NyZWRlbnRpYWxzJ11bJ3Rlc3RfYWNsJ10sCisgICAgICAgICAgICAgICAg ICAgICJkZWZpbml0aW9uIjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X3ZpZXdfY3JlZGVudGlhbHMnXVsndGVzdF9kZWZpbml0 aW9uJ10sCisgICAgICAgICAgICAgICAgICAgICJuYW1lIjogY29uZmlnX2Rh dGEKKyAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3ZpZXdfY3JlZGVudGlh bHMnXVsndGVzdF9uYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICJvd25l ciI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF92 aWV3X2NyZWRlbnRpYWxzJ11bJ3Rlc3Rfb3duZXInXSwKKyAgICAgICAgICAg ICAgICAgICAgInNjaGVtYSI6IGNvbmZpZ19kYXRhCisgICAgICAgICAgICAg ICAgICAgIFsndGVzdF92aWV3X2NyZWRlbnRpYWxzJ11bJ3Rlc3Rfc2NoZW1h X25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgInNlY2xhYmVscyI6IGNv bmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgIFsndGVzdF92aWV3X2Ny ZWRlbnRpYWxzJ11bJ3Rlc3Rfc2VjX2xhYmVsJ10KKyAgICAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9z dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkg KyAnLycgKyBzdHIoZGJfaWQpICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnLycgKyBzdHIoc2NoZW1hX2lkKSArICcvJywK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRh PWpzb24uZHVtcHMoZGF0YSksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisg ICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0 YS5kZWNvZGUoKSkKKworICAgICAgICAgICAgdmlld19pZCA9IHJlc3BkYXRh Wydub2RlJ11bJ19pZCddCisKKyAgICAgICAgICAgIGlmIG9zLnBhdGguaXNm aWxlKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dlYi9yZWdyZXNz aW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwYXJlbnRf aWQucGtsJyk6CisgICAgICAgICAgICAgICAgZXhzdF9zZXJ2ZXJfaWQgPSBv cGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dlYi8nCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZWdyZXNzaW9u L3BhcmVudF9pZC5wa2wnLCAncmInKQorICAgICAgICAgICAgICAgIGFsbF9p ZCA9IHBpY2tsZS5sb2FkKGV4c3Rfc2VydmVyX2lkKQorICAgICAgICAgICAg ICAgIHBpY2tsZV9pZF9kaWN0ID0gYWxsX2lkCisKKyAgICAgICAgICAgIHBp Y2tsZV9pZF9kaWN0WyJ2aWQiXS5hcHBlbmQodmlld19pZCkKKworICAgICAg ICAgICAgdmlld19vdXRwdXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRz L3BnYWRtaW40L3dlYi9yZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcsICd3YicpCisgICAgICAg ICAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwgdmlld19vdXRwdXQp CisgICAgICAgICAgICB2aWV3X291dHB1dC5jbG9zZSgpClwgTm8gbmV3bGlu ZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVzdHMvdGVzdF92aWV3X2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmlld19kZWxldGUucHkKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNmODAyMwotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3RzL3Rlc3Rfdmll d19kZWxldGUucHkKQEAgLTAsMCArMSw3NyBAQAorIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisj CisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERl dmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1 bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBj b25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9s b2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQorZnJvbSByZWdyZXNzaW9uLnRl c3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKK2Zyb20gcmVncmVzc2lvbi50ZXN0 X25vZGVzIGltcG9ydCB0ZXN0X2dldG5vZGVzCitpbXBvcnQganNvbgoraW1w b3J0IHBpY2tsZQoraW1wb3J0IG9zCisKKworY2xhc3MgVmlld0RlbGV0ZVRl c3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIiBUaGlzIGNsYXNzIHdp bGwgdXBkYXRlIG5ldyB2aWV3IHVuZGVyIHNjaGVtYSBub2RlLiAiIiIKKwor ICAgIHByaW9yaXR5ID0gNjYKKworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAg ICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3IgdmlldyBub2RlLgorICAg ICAgICAoJ0ZlY3RoIHZpZXcgTm9kZSBVUkwnLCBkaWN0KHVybD0nL2Jyb3dz ZXIvdmlldy9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2Vs Zik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHZp ZXcgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorCisgICAgICAgIGFsbF9pZCA9 IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lk Il1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisgICAg ICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2NpZCJdWzBdCisgICAgICAgIHZp ZXdfaWQgPSBhbGxfaWRbInZpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBj b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRi X2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlm IGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQiXToKKworICAgICAgICAgICAg IyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1hL29iai8nCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0vezN9 Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRiX2lkLCBzY2hlbWFfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICByZXNwZGF0YSA9 IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAg ICAgICAgaWYgbGVuKHJlc3BkYXRhKSAhPSAwOgorCisgICAgICAgICAgICAg ICAgZ2V0X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsg c3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycg KworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNjaGVtYV9pZCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHIodmlld19pZCksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKKworICAgICAgICAgICAgICAgIGdldF9yZXNwZGF0YSA9IGpzb24u bG9hZHMoZ2V0X3Jlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAg ICAgICAgICBpZiBsZW4oZ2V0X3Jlc3BkYXRhKSA9PSAwOgorICAgICAgICAg ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIHZpZXcgbm9kZSB0byBk ZWxldGUhIikKKworICAgICAgICAgICAgICAgIGRlbF9yZXNwb25zZSA9IHNl bGYudGVzdGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICcvJyArIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKGRi X2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cihzY2hlbWFfaWQpICsgJy8nICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RyKHZpZXdfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUp CisKKyAgICAgICAgICAgICAgICBkZWxfcmVzcGRhdGEgPSBqc29uLmxvYWRz KGRlbF9yZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAgICAgICAgICAg ICAgc2VsZi5hc3NlcnRUcnVlKGRlbF9yZXNwZGF0YVsnc3VjY2VzcyddLCAx KQorCisKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3ZpZXdzL3Rlc3Rz L3Rlc3Rfdmlld19nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0 cy90ZXN0X3ZpZXdfZ2V0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmVlNTk3YWIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X3ZpZXdfZ2V0LnB5CkBAIC0wLDAg KzEsNjEgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIw MTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRo aXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwg TGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSBy ZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdh ZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVz dENhc2UKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBpbXBvcnQgdGVzdF9n ZXRub2RlcworaW1wb3J0IGpzb24KK2ltcG9ydCBwaWNrbGUKK2ltcG9ydCBv cworCisKK2NsYXNzIFZpZXdHZXRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToK KyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGZldGNoIG5ldyB2aWV3IHVuZGVy IHNjaGVtYSBub2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gNjQKKworICAg IHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVS TCBmb3IgdmlldyBub2RlLgorICAgICAgICAoJ0ZldGNoIHZpZXcgTm9kZSBV UkwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvdmlldy9vYmovJykpCisgICAgXQor CisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1 bmN0aW9uIHdpbGwgYWRkIHZpZXcgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgor CisgICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZl cl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxf aWRbImRpZCJdWzBdCisgICAgICAgIHNjaGVtYV9pZCA9IGFsbF9pZFsic2Np ZCJdWzBdCisgICAgICAgIHZpZXdfaWQgPSBhbGxfaWRbInZpZCJdWzBdCisg ICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3RfZ2V0bm9kZXMobm9kZT1z ZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsnZGF0YSddWyJjb25uZWN0ZWQi XToKKworICAgICAgICAgICAgIyBHZXQgc2NoZW1hIGlkCisgICAgICAgICAg ICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgnL2Jyb3dzZXIvc2NoZW1h L29iai8nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnezB9L3sxfS97Mn0vezN9Jy5mb3JtYXQKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3JwLCBzZXJ2ZXJfaWQsIGRi X2lkLCBzY2hlbWFfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorCisgICAg ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgICAgICAgICAgaWYgbGVuKHJlc3BkYXRhKSAhPSAw OgorCisgICAgICAgICAgICAgICAgZ2V0X3Jlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KHNlcnZlcl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RyKHNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIodmlld19pZCksCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAgICAgIHNl bGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90ZXN0cy90ZXN0X3Zp ZXdfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3MvdGVzdHMvdGVzdF92 aWV3X3B1dC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5hODM4ZmNlCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dmlld3MvdGVzdHMvdGVzdF92aWV3X3B1dC5weQpAQCAtMCwwICsxLDgxIEBA CisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBv c3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAx NiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK KyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lv bi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJv d3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJv bSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMK K2ltcG9ydCBqc29uCitpbXBvcnQgcGlja2xlCitpbXBvcnQgb3MKKworCitj bGFzcyBWaWV3UHV0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi IFRoaXMgY2xhc3Mgd2lsbCB1cGRhdGUgbmV3IHZpZXcgdW5kZXIgc2NoZW1h IG5vZGUuICIiIgorCisgICAgcHJpb3JpdHkgPSA2NQorCisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB2 aWV3IG5vZGUuCisgICAgICAgICgnRmVjdGggdmlldyBOb2RlIFVSTCcsIGRp Y3QodXJsPScvYnJvd3Nlci92aWV3L29iai8nKSkKKyAgICBdCisKKyAgICBk ZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24g d2lsbCB1cGRhdGUgdmlldyB1bmRlciBzY2hlbWEgbm9kZS4gIiIiCisKKyAg ICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lk ID0gYWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsi ZGlkIl1bMF0KKyAgICAgICAgc2NoZW1hX2lkID0gYWxsX2lkWyJzY2lkIl1b MF0KKyAgICAgICAgdmlld19pZCA9IGFsbF9pZFsidmlkIl1bMF0KKyAgICAg ICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCdd CisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYp CisKKyAgICAgICAgaWYgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgor CisgICAgICAgICAgICAjIEdldCBzY2hlbWEgaWQKKyAgICAgICAgICAgIHJl c3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KCcvYnJvd3Nlci9zY2hlbWEvb2Jq LycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICd7 MH0vezF9L3syfS97M30nLmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQs IHNjaGVtYV9pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAg ICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29k ZSgpKQorCisgICAgICAgICAgICBpZiBsZW4ocmVzcGRhdGEpICE9IDA6CisK KyAgICAgICAgICAgICAgICBnZXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5n ZXQoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2Vy dmVyX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCkgKyAnLycgKworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIo c2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cih2aWV3X2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQorCisgICAgICAgICAgICAgICAgZ2V0X3Jl c3BkYXRhID0ganNvbi5sb2FkcyhnZXRfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICAgICAgICAgIGlmIGxlbihnZXRfcmVzcGRhdGEpID09 IDA6CisgICAgICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbiAoIk5v IHZpZXcgdG8gdXBkYXRlISIpCisKKyAgICAgICAgICAgICAgICBkYXRhID1c CisgICAgICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAg ICAgICJjb21tZW50IjogY29uZmlnX2RhdGFbJ3Rlc3Rfdmlld191cGRhdGVf ZGF0YSddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyd0ZXN0X2NvbW1lbnQnXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICJpZCI6IHZpZXdfaWQKKyAgICAgICAgICAgICAgICAgICAgfQor CisgICAgICAgICAgICAgICAgcHV0X3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIu cHV0KHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNl cnZlcl9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoZGJfaWQpICsgJy8nICsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ry KHNjaGVtYV9pZCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdHIodmlld19pZCksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9 anNvbi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jlc3Bv bnNlLnN0YXR1c19jb2RlLCAyMDApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVz dHMvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvX19pbml0X18ucHkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWNhZGE2MQotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy9fX2luaXRfXy5weQpAQCAt MCwwICsxLDYgQEAKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQg QmFzZVRlc3RHZW5lcmF0b3IKKworY2xhc3MgREJHZW5lcmF0b3JUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYgcnVuVGVzdChzZWxm KToKKyAgICAgICAgcmV0dXJuIFtdClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfYWRkLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfYWRkLnB5Cm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNGM5ZWQKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9hZGQucHkKQEAgLTAsMCArMSwx MDEgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0 IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMg c29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGlj ZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdy ZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1p bi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENh c2UKK2ltcG9ydCBqc29uLCBwaWNrbGUsIHV1aWQsIG9zCitmcm9tIHJlZ3Jl c3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworCitjbGFzcyBEYXRh YmFzZUFkZFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgorICAg IFRoaXMgY2xhc3Mgd2lsbCBjaGVjayBzZXJ2ZXIgZ3JvdXAgbm9kZSBwcmVz ZW50IG9uIHRoZSBvYmplY3QgYnJvd3NlcidzCisgICAgdHJlZSBub2RlIGJ5 IHJlc3BvbnNlIGNvZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA4CisK KyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVs dCBVUkwgZm9yIGRhdGFiYXNlIG5vZGUuCisgICAgICAgICgnQ2hlY2sgRGF0 YWJhc2VzIE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93c2VyL2RhdGFiYXNl L29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAg ICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgZGF0YWJhc2UgdW5k ZXIgMXN0IHNlcnZlciBvZiB0cmVlIG5vZGUuICIiIgorCisgICAgICAgIHNy dl9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNlcnZlcl9pZCA9IHNydl9p ZFsic2lkIl1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0 ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxm LnRlc3Rlci5wb3N0KCdicm93c2VyL3NlcnZlci9jb25uZWN0LycgKyBzdHIo c3J2X2dycCkgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJy8nICsgc2VydmVyX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZGF0YT1kaWN0KAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcGFzc3dvcmQ9Y29uZmlnX2RhdGEKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9zZXJ2ZXJfY3Jl ZGVudGlhbHMnXVswXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgWyd0ZXN0X2RiX3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor CisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19j b2RlLCAyMDApCisKKyAgICAgICAgc3J2X2Nvbm5lY3QgPSBqc29uLmxvYWRz KHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAgaWYgc3J2X2Nv bm5lY3RbJ2RhdGEnXVsnY29ubmVjdGVkJ106CisKKyAgICAgICAgICAgIGRh dGEgPSB7CisgICAgICAgICAgICAgICAgICAgICAiZGF0YWNsIjogY29uZmln X2RhdGFbJ3Rlc3RfYWRkX2RhdGFiYXNlX2RhdGEnXQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X3ByaXZpbGVn ZXNfYWNsJ10sCisgICAgICAgICAgICAgICAgICAgICAiZGF0Y29ubmxpbWl0 IjogY29uZmlnX2RhdGFbJ3Rlc3RfYWRkX2RhdGFiYXNlX2RhdGEnXQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Wyd0ZXN0X2Nvbm5fbGltaXQnXSwKKyAgICAgICAgICAgICAgICAgICAgICJk YXRvd25lciI6IGNvbmZpZ19kYXRhWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRh J10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyd0ZXN0X293bmVyJ10sCisgICAgICAgICAgICAgICAgICAgICAiZGVm ZnVuY2FjbCI6IGNvbmZpZ19kYXRhWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRh J10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBbJ3Rlc3RfZnVuX2FjbCddLAorICAgICAgICAgICAgICAgICAgICAg ImRlZnNlcWFjbCI6IGNvbmZpZ19kYXRhWyd0ZXN0X2FkZF9kYXRhYmFzZV9k YXRhJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsndGVzdF9zZXFfYWNsJ10sCisgICAgICAgICAgICAgICAgICAg ICAiZGVmdGJsYWNsIjogY29uZmlnX2RhdGFbJ3Rlc3RfYWRkX2RhdGFiYXNl X2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgWyd0ZXN0X3RibF9hY2wnXSwKKyAgICAgICAgICAgICAgICAg ICAgICJkZWZ0eXBlYWNsIjogY29uZmlnX2RhdGFbJ3Rlc3RfYWRkX2RhdGFi YXNlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsndGVzdF90eXBlX2FjbCddLAorICAgICAgICAgICAg ICAgICAgICAgImVuY29kaW5nIjogY29uZmlnX2RhdGFbJ3Rlc3RfYWRkX2Rh dGFiYXNlX2RhdGEnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ3Rlc3RfZW5jb2RpbmcnXSwKKyAgICAgICAgICAg ICAgICAgICAgICJuYW1lIjogc3RyKHV1aWQudXVpZDQoKSlbMTo4XSwKKyAg ICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2VzIjogY29uZmlnX2RhdGFb J3Rlc3RfYWRkX2RhdGFiYXNlX2RhdGEnXQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9wcml2aWxlZ2Vz J10sCisgICAgICAgICAgICAgICAgICAgICAic2VjdXJpdGllcyI6IGNvbmZp Z19kYXRhWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRhJ10KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2Vj dXJpdGllcyddLAorICAgICAgICAgICAgICAgICAgICAgInZhcmlhYmxlcyI6 IGNvbmZpZ19kYXRhWyd0ZXN0X2FkZF9kYXRhYmFzZV9kYXRhJ10KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVz dF92YXJpYWJsZXMnXQorICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAg ICAgICAgIGRiX3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVy bCArIHN0cihzcnZfZ3JwKSArICIvIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArIHNlcnZlcl9pZCArICIvIiwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YT1qc29uLmR1bXBzKGRhdGEpLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CisKKyAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShkYl9yZXNwb25zZS5z dGF0dXNfY29kZSwgMjAwKQorCisgICAgICAgICAgICByZXNwZGF0YSA9IGpz b24ubG9hZHMoZGJfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAg ICAgICAgZGJfaWQgPSByZXNwZGF0YVsnbm9kZSddWydfaWQnXQorCisgICAg ICAgICAgICBpZiBvcy5wYXRoLmlzZmlsZSgnL2hvbWUvZWRiL0Rvd25sb2Fk cy9wZ2FkbWluNC93ZWIvcmVncmVzc2lvbi8nCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcpOgorCisgICAgICAgICAg ICAgICAgZXhzdF9zZXJ2ZXJfaWQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxv YWRzL3BnYWRtaW40L3dlYicKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJy9yZWdyZXNzaW9uLycncGFyZW50X2lkLnBrbCcsICdy YicpCisKKyAgICAgICAgICAgICAgICB0b2xfc2VydmVyX2lkID0gcGlja2xl LmxvYWQoZXhzdF9zZXJ2ZXJfaWQpCisgICAgICAgICAgICAgICAgcGlja2xl X2lkX2RpY3QgPSB0b2xfc2VydmVyX2lkCisKKyAgICAgICAgICAgICAgICBw aWNrbGVfaWRfZGljdFsiZGlkIl0uYXBwZW5kKGRiX2lkKQorCisgICAgICAg ICAgICAgICAgZGJfb3V0cHV0ID0gb3BlbignL2hvbWUvZWRiL0Rvd25sb2Fk cy9wZ2FkbWluNC93ZWIvcmVncmVzc2lvbi8nCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAncGFyZW50X2lkLnBrbCcsICd3YicpCisgICAg ICAgICAgICAgICAgcGlja2xlLmR1bXAocGlja2xlX2lkX2RpY3QsIGRiX291 dHB1dCkKKyAgICAgICAgICAgICAgICBkYl9vdXRwdXQuY2xvc2UoKQorCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9kZWxldGUucHkgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvdGVzdHMvdGVzdF9kYl9kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uMjZjNTU3NAotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2RlbGV0ZS5weQpAQCAtMCwwICsx LDQ3IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4g NCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlz IHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExp Y2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVn cmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRt aW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RD YXNlCitpbXBvcnQganNvbgorZnJvbSByZWdyZXNzaW9uLnRlc3Rfbm9kZXMg aW1wb3J0IHRlc3RfZ2V0bm9kZXMKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0 aWxzIGltcG9ydCBnZXRfaWRzCisKKworY2xhc3MgRGF0YWJhc2VEZWxldGVU ZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFzcyB3 aWxsIGRlbGV0ZSB0aGUgZGF0YWJhc2UgdW5kZXIgbGFzdCBhZGRlZCBzZXJ2 ZXIuICIiIgorCisgICAgcHJpb3JpdHkgPSA5OQorCisgICAgc2NlbmFyaW9z ID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBkYXRh YmFzZSBub2RlLgorICAgICAgICAoJ0NoZWNrIERhdGFiYXNlcyBOb2RlIFVS TCcsIGRpY3QodXJsPScvYnJvd3Nlci9kYXRhYmFzZS9vYmovJykpCisgICAg XQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHRoZSBkYXRhYmFzZS4iIiIKKworICAg ICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKyAgICAgICAgc2VydmVyX2lkID0g YWxsX2lkWyJzaWQiXVswXQorICAgICAgICBkYl9pZCA9IGFsbF9pZFsiZGlk Il1bMF0KKyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3Nl cnZlcl9ncm91cCddCisKKyAgICAgICAgZGJfY29uID0gdGVzdF9nZXRub2Rl cyhub2RlPXNlbGYpCisKKyAgICAgICAgaWYgbGVuKGRiX2NvbikgPT0gMDoK KyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gZGF0YWJhc2Uocykg dG8gZGVsZXRlISEhIikKKworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZXJ2 ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor CisgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRh LmRlY29kZSgpKQorCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwZGF0 YVsnc3VjY2VzcyddLCAxKQorCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMv dGVzdF9kYl9nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9nZXQucHkK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRhNjc3OAot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2dldC5w eQpAQCAtMCwwICsxLDQzIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj CisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJp Z2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRh Citmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9y dCBMb2dpblRlc3RDYXNlCitmcm9tIHJlZ3Jlc3Npb24udGVzdF9ub2RlcyBp bXBvcnQgdGVzdF9nZXRub2RlcworZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRp bHMgaW1wb3J0IGdldF9pZHMKKworCitjbGFzcyBEYXRhYmFzZXNHZXRUZXN0 Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIKKyAgICBUaGlzIGNsYXNz IHdpbGwgZmV0Y2ggZGF0YWJhc2UgYWRkZWQgdW5kZXIgbGFzdCBhZGRlZCBz ZXJ2ZXIuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSA5CisKKyAgICBzY2Vu YXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9y IGRhdGFiYXNlIG5vZGUuCisgICAgICAgICgnQ2hlY2sgRGF0YWJhc2VzIE5v ZGUgVVJMJywgZGljdCh1cmw9Jy9icm93c2VyL2RhdGFiYXNlL29iai8nKSkK KyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIi IFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBhZGRlZCBkYXRhYmFzZS4gIiIi CisKKyAgICAgICAgYWxsX2lkID0gZ2V0X2lkcygpCisgICAgICAgIHNlcnZl cl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKyAgICAgICAgZGJfaWQgPSBhbGxf aWRbImRpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsn dGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIGRiX2NvbiA9IHRlc3Rf Z2V0bm9kZXMobm9kZT1zZWxmKQorCisgICAgICAgIGlmIGRiX2NvblsiaW5m byJdID09ICJEYXRhYmFzZSBDb25uZWN0ZWQuIjoKKworICAgICAgICAgICAg cmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2VsZi51cmwgKyBzdHIoc3J2 X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RyKHNlcnZlcl9pZCkgKyAnLycgKyBzdHIoZGJfaWQpLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93 X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydEVx dWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0 X2RiX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX3B1dC5weQpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjE1ZTc1Ci0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfcHV0LnB5CkBA IC0wLDAgKzEsNDkgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKwor ZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zy b20gcGdhZG1pbi5icm93c2VyLnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExv Z2luVGVzdENhc2UKK2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVz dF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJvbSByZWdyZXNzaW9uLnRlc3Rf bm9kZXMgaW1wb3J0IHRlc3RfZ2V0bm9kZXMKKworCitjbGFzcyBEYXRhYmFz ZXNVcGRhdGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIKKyAg ICBUaGlzIGNsYXNzIHdpbGwgdXBkYXRlIHRoZSBkYXRhYmFzZSB1bmRlciBs YXN0IGFkZGVkIHNlcnZlci4KKyAgICAiIiIKKyAgICBwcmlvcml0eSA9IDEw CisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVm YXVsdCBVUkwgZm9yIGRhdGFiYXNlIG5vZGUuCisgICAgICAgICgnQ2hlY2sg RGF0YWJhc2VzIE5vZGUnLCBkaWN0KHVybD0nL2Jyb3dzZXIvZGF0YWJhc2Uv b2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIHVwZGF0ZSB0aGUgY29tbWVu dHMgZmllbGQgb2YgZGF0YWJhc2UuIiIiCisKKyAgICAgICAgYWxsX2lkID0g Z2V0X2lkcygpCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsic2lkIl1b MF0KKyAgICAgICAgZGJfaWQgPSBhbGxfaWRbImRpZCJdWzBdCisKKyAgICAg ICAgdGVzdF9nZXRub2Rlcyhub2RlPXNlbGYpCisKKyAgICAgICAgc3J2X2dy cCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAg ICAgZGF0YSA9IHsiY29tbWVudHMiOiBjb25maWdfZGF0YVsidGVzdF9kYl91 cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBbInRlc3RfY29tbWVudCJdLAorICAgICAgICAgICAgICAgICJp ZCI6IGRiX2lkCisgICAgICAgICAgICAgICB9CisKKyAgICAgICAgcHV0X3Jl c3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KHNlbGYudXJsICsgc3RyKHNydl9n cnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKGRiX2lkKSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNv bi5kdW1wcyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICBz ZWxmLmFzc2VydEVxdWFscyhwdXRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIw MCkKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3JvbGVzL3Rlc3RzL19faW5pdF9fLnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVz dHMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uNGExMWJmOAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3JvbGVzL3Rlc3RzL19f aW5pdF9fLnB5CkBAIC0wLDAgKzEsMTYgQEAKKyMgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIwor IyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZl bG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5k ZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKKworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBC YXNlVGVzdEdlbmVyYXRvcgorCisKK2NsYXNzIFJvbGVHZW5lcmF0b3JUZXN0 Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisKKyAgICBkZWYgcnVuVGVzdChz ZWxmKToKKyAgICAgICAgcmV0dXJuCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy90ZXN0cy90 ZXN0X3JvbGVfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xlX2FkZC5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YTJiYjA4Ci0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xlX2FkZC5weQpA QCAtMCwwICsxLDkyIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisj IHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0 IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVh bQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitm cm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBM b2dpblRlc3RDYXNlCitpbXBvcnQganNvbiwgcGlja2xlLCB1dWlkLCBvcwor ZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKKwor CitjbGFzcyBMb2dpblJvbGVBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToK KyAgICAiIiIgVGhpcyBjbGFzcyB3aWxsIGFkZCBsb2dpbiByb2xlIG5vZGUg dW5kZXIgYWRkZWQgc2VydmVyLiAiIiIKKworICAgIHByaW9yaXR5ID0gMTIK KworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZh dWx0IFVSTCBmb3Igcm9sZXMgbm9kZS4KKyAgICAgICAgKCdDaGVjayBSb2xl IE5vZGUnLCBkaWN0KHVybD0nL2Jyb3dzZXIvcm9sZS9vYmovJykpCisgICAg XQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgYWRkIG5ldyByb2xlIHVuZGVyIDFzdCBzZXJ2ZXIg b2YgdHJlZSBub2RlLiAiIiIKKworICAgICAgICBzcnZfaWQgPSBnZXRfaWRz KCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBzcnZfaWRbInNpZCJdWzBdCisK KyAgICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9n cm91cCddCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0 KCdicm93c2VyL3NlcnZlci9jb25uZWN0LycgKyBzdHIoc3J2X2dycCkgKwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc2Vy dmVyX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YT1kaWN0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFzc3dvcmQ9Y29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsndGVzdF9zZXJ2ZXJfY3JlZGVudGlhbHMnXVsw XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0 X2RiX3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgIHNy dl9jb25uZWN0ID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgp KQorCisgICAgICAgIGlmIHNydl9jb25uZWN0WydkYXRhJ11bJ2Nvbm5lY3Rl ZCddOgorCisgICAgICAgICAgICBkYXRhID0geworICAgICAgICAgICAgICAg ICAgICAicm9sY2FubG9naW4iOiBjb25maWdfZGF0YVsndGVzdF9scl9jcmVk ZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyd0ZXN0X2Nhbl9sb2dpbiddLAorICAgICAgICAgICAg ICAgICAgICAicm9sY29ubmxpbWl0IjogY29uZmlnX2RhdGFbJ3Rlc3RfbHJf Y3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbJ3Rlc3RfY29ubl9saW1pdCddLAorICAgICAg ICAgICAgICAgICAgICAicm9sY3JlYXRlcm9sZSI6IGNvbmZpZ19kYXRhWyd0 ZXN0X2xyX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9jcmVhdGVfcm9sZSdd LAorICAgICAgICAgICAgICAgICAgICAicm9saW5oZXJpdCI6IGNvbmZpZ19k YXRhWyd0ZXN0X2xyX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9yb2xlX2luaGVy aXQnXSwKKyAgICAgICAgICAgICAgICAgICAgInJvbG1lbWJlcnNoaXAiOiBj b25maWdfZGF0YVsndGVzdF9scl9jcmVkZW50aWFscyddCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf cm9sZV9tZW1iZXJzaGlwJ10sCisgICAgICAgICAgICAgICAgICAgICJyb2xu YW1lIjogc3RyKHV1aWQudXVpZDQoKSlbMTo4XSwKKyAgICAgICAgICAgICAg ICAgICAgInJvbHBhc3N3b3JkIjogY29uZmlnX2RhdGFbJ3Rlc3RfbHJfY3Jl ZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsndGVzdF9scl9wYXNzd29yZCddLAorICAgICAgICAg ICAgICAgICAgICAicm9sdmFsaWR1bnRpbCI6IGNvbmZpZ19kYXRhWyd0ZXN0 X2xyX2NyZWRlbnRpYWxzJ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF9scl92YWxpZGl0eSddLAor ICAgICAgICAgICAgICAgICAgICAic2VjbGFiZWxzIjogY29uZmlnX2RhdGFb J3Rlc3RfbHJfY3JlZGVudGlhbHMnXQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rfc2VjX2xhYmxlJ10sCisg ICAgICAgICAgICAgICAgICAgICJ2YXJpYWJsZXMiOiBjb25maWdfZGF0YVsn dGVzdF9scl9jcmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFsndGVzdF92YXJpYWJsZSddCisgICAg ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICByZXNwb25zZSA9IHNl bGYudGVzdGVyLnBvc3Qoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgc2Vy dmVyX2lkICsgJy8nLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBl PSdodG1sL2pzb24nKQorCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo cmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworICAgICAgICAgICAgcmVz cGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisK KyAgICAgICAgICAgIGxyX2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10K KworICAgICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9E b3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAg ICAgICAgICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9E b3dubG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJy9yZWdyZXNzaW9uLycncGFyZW50X2lkLnBr bCcsICdyYicpCisgICAgICAgICAgICAgICAgYWxsX2lkID0gcGlja2xlLmxv YWQoZXhzdF9zZXJ2ZXJfaWQpCisgICAgICAgICAgICAgICAgcGlja2xlX2lk X2RpY3QgPSBhbGxfaWQKKworICAgICAgICAgICAgcGlja2xlX2lkX2RpY3Rb ImxyaWQiXS5hcHBlbmQobHJfaWQpCisKKyAgICAgICAgICAgIGxyX291dHB1 dCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3Jl Z3Jlc3Npb24vJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAncGFy ZW50X2lkLnBrbCcsICd3YicpCisgICAgICAgICAgICBwaWNrbGUuZHVtcChw aWNrbGVfaWRfZGljdCwgbHJfb3V0cHV0KQorICAgICAgICAgICAgbHJfb3V0 cHV0LmNsb3NlKCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xl X2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3JvbGVzL3Rlc3RzL3Rlc3Rfcm9sZV9kZWxldGUucHkKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ1ZmQ3YwotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3JvbGVzL3Rlc3RzL3Rlc3Rfcm9sZV9kZWxldGUucHkK QEAgLTAsMCArMSw0NyBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBvcnQg TG9naW5UZXN0Q2FzZQoraW1wb3J0IGpzb24KK2Zyb20gLnRlc3Rfcm9sZV9m dW5jIGltcG9ydCB0ZXN0X2dldHJvbGUKK2Zyb20gcmVncmVzc2lvbi50ZXN0 X3V0aWxzIGltcG9ydCBnZXRfaWRzCisKKworY2xhc3MgTG9naW5Sb2xlRGVs ZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xh c3Mgd2lsbCBkZWxldGUgYWRkZWQgbG9naW4gcm9sZSBwcmVzZW50IHVuZGVy IHNlcnZlciBub2RlLiAiIiIKKworICAgIHByaW9yaXR5ID0gMTQKKworICAg IHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVS TCBmb3Igcm9sZXMgbm9kZS4KKyAgICAgICAgKCdDaGVjayBSb2xlIE5vZGUn LCBkaWN0KHVybD0nL2Jyb3dzZXIvcm9sZS9vYmovJykpCisgICAgXQorCisg ICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0 aW9uIHdpbGwgZGVsZXRlIHRoZSByb2xlLiAiIiIKKworICAgICAgICBhbGxf aWQgPSBnZXRfaWRzKCkKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJz aWQiXVswXQorICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rf c2VydmVyX2dyb3VwJ10KKworICAgICAgICByZXNwZGF0YSA9IHRlc3RfZ2V0 cm9sZShub2RlPXNlbGYpCisKKyAgICAgICAgcm9sZV9pZCA9IHJlc3BkYXRh WydvaWQnXQorCisgICAgICAgIGlmIGxlbihyZXNwZGF0YSkgPT0gMDoKKyAg ICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gcm9sZXMocykgdG8gZGVs ZXRlISEhIikKKworICAgICAgICBkZWxfcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5kZWxldGUoc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNl cnZlcl9pZCkgKyAnLycgKyBzdHIocm9sZV9pZCksCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3Rz PVRydWUpCisKKyAgICAgICAgZGVsX3Jlc3BkYXRhID0ganNvbi5sb2Fkcyhk ZWxfcmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICBzZWxmLmFz c2VydFRydWUoZGVsX3Jlc3BkYXRhWydzdWNjZXNzJ10sIDEpClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdGVz dF9yb2xlX2Z1bmMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9yb2xlcy90ZXN0cy90ZXN0X3JvbGVfZnVuYy5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTA2YjA4Ci0t LSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xlX2Z1bmMucHkK QEAgLTAsMCArMSw0OCBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwor Citmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQor aW1wb3J0IGpzb24KK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9y dCBnZXRfaWRzCisKKworZGVmIHRlc3RfZ2V0cm9sZShub2RlPU5vbmUpOgor CisgICAgaWYgbm90IG5vZGU6CisgICAgICAgIHJldHVybiBOb25lCisKKyAg ICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgIHNlcnZlcl9pZCA9IGFsbF9p ZFsic2lkIl1bMF0KKyAgICByb2xlX2lkID0gYWxsX2lkWyJscmlkIl1bMF0K KworICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQorCisgICAgcmVzcG9uc2UgPSBub2RlLnRlc3Rlci5wb3N0KCdicm93 c2VyL3NlcnZlci9jb25uZWN0L3swfS97MX0nLmZvcm1hdAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kaWN0KAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZD1jb25m aWdfZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rl c3Rfc2VydmVyX2NyZWRlbnRpYWxzJ11bMF0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWyd0ZXN0X2RiX3Bhc3N3b3JkJ10pLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRy dWUpCisKKyAgICBzcnZfY29ubmVjdCA9IGpzb24ubG9hZHMocmVzcG9uc2Uu ZGF0YS5kZWNvZGUoKSkKKworICAgIGlmIHNydl9jb25uZWN0WydkYXRhJ11b J2Nvbm5lY3RlZCddOgorCisgICAgICAgIHJlc3BvbnNlID0gbm9kZS50ZXN0 ZXIuZ2V0KCcvYnJvd3Nlci9yb2xlL29iai97MH0vezF9L3syfScuZm9ybWF0 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzcnZfZ3Jw LCBzZXJ2ZXJfaWQsIHJvbGVfaWQpLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAg ICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVj b2RlKCkpCisKKyAgICAgICAgcmV0dXJuIHJlc3BkYXRhCisKKworCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9yb2xlcy90ZXN0cy90ZXN0X3JvbGVfZ2V0LnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMv dGVzdF9yb2xlX2dldC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi42MzZjZTFjCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcm9sZXMvdGVzdHMv dGVzdF9yb2xlX2dldC5weQpAQCAtMCwwICsxLDU2IEBACisjICMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1w b3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50 ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitpbXBvcnQganNvbgor ZnJvbSByZWdyZXNzaW9uLnV0aWxzIGltcG9ydCBnZXRfaWRzCisKKworY2xh c3MgTG9naW5Sb2xlR2V0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAg IiIiCisgICAgVGhpcyBjbGFzcyB3aWxsIGZldGNoIGxvZ2luIHJvbGVzIG5v ZGUgcHJlc2VudCB1bmRlciB0aGUgb2JqZWN0IGJyb3dzZXIncworICAgIHRy ZWUgbm9kZSBieSByZXNwb25zZSBjb2RlLgorICAgICIiIgorCisgICAgcHJp b3JpdHkgPSAxMworCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZl dGNoaW5nIGRlZmF1bHQgVVJMIGZvciByb2xlcyBub2RlLgorICAgICAgICAo J0NoZWNrIFJvbGUgTm9kZScsIGRpY3QodXJsPScvYnJvd3Nlci9yb2xlL29i ai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAg ICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBmZXRjaCBhZGRlZCBsb2dpbiBy b2xlIHVuZGVyIHRyZWUgbm9kZS4gIiIiCisKKyAgICAgICAgYWxsX2lkID0g Z2V0X2lkcygpCisKKyAgICAgICAgc2VydmVyX2lkID0gYWxsX2lkWyJzaWQi XVswXQorICAgICAgICByb2xlX2lkID0gYWxsX2lkWyJscmlkIl1bMF0KKyAg ICAgICAgc3J2X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91 cCddCisKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KCdi cm93c2VyL3NlcnZlci9jb25uZWN0LycgKyBzdHIoc3J2X2dycCkgKworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc2VydmVy X2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YT1kaWN0KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cGFzc3dvcmQ9Y29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFsndGVzdF9zZXJ2ZXJfY3JlZGVudGlhbHMnXVswXQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0X2Ri X3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorCisgICAgICAgIHNydl9j b25uZWN0ID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQor CisgICAgICAgIGlmIHNydl9jb25uZWN0WydkYXRhJ11bJ2Nvbm5lY3RlZCdd OgorCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChz ZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcv JyArIHN0cihyb2xlX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAg ICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2Nv ZGUsIDIwMCkKKworCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9yb2xlcy90ZXN0cy90ZXN0X3JvbGVf cHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xlX3B1dC5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDg3OWY0Ci0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcm9sZXMvdGVzdHMvdGVzdF9yb2xlX3B1dC5weQpAQCAtMCwwICsx LDUxIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4g NCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEz IC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlz IHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExp Y2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2Zyb20gcmVn cmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHBnYWRt aW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RD YXNlCitpbXBvcnQganNvbgorZnJvbSAudGVzdF9yb2xlX2Z1bmMgaW1wb3J0 IHRlc3RfZ2V0cm9sZQorZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1w b3J0IGdldF9pZHMKKworCitjbGFzcyBMb2dpblJvbGVQdXRUZXN0Q2FzZShM b2dpblRlc3RDYXNlKToKKyAgICAiIiJUaGlzIGNsYXNzIHVwZGF0ZSB0aGUg Y29tbWVudCBmaWVsZCBvZiBsb2dpbiByb2xlcyBub2RlLiIiIgorCisgICAg cHJpb3JpdHkgPSAxMworCisgICAgc2NlbmFyaW9zID0gWworICAgICAgICAj IEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciByb2xlcyBub2RlLgorICAgICAg ICAoJ0NoZWNrIFJvbGUgTm9kZScsIGRpY3QodXJsPScvYnJvd3Nlci9yb2xl L29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAg ICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgdGhlIHJvbGUn cyBjb21tZW50IGZpZWxkLiIiIgorCisgICAgICAgIGFsbF9pZCA9IGdldF9p ZHMoKQorCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9z ZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIHNlcnZlcl9pZCA9IGFsbF9pZFsi c2lkIl1bMF0KKworICAgICAgICByZXNwZGF0YSA9IHRlc3RfZ2V0cm9sZShu b2RlPXNlbGYpCisKKyAgICAgICAgcm9sZV9pZCA9IHJlc3BkYXRhWydvaWQn XQorCisgICAgICAgIGRhdGEgPSB7CisgICAgICAgICAgICAgICAgImRlc2Ny aXB0aW9uIjogY29uZmlnX2RhdGFbInRlc3RfbHJfdXBkYXRlX2RhdGEiXQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyJ0 ZXN0X2NvbW1lbnQiXSwKKyAgICAgICAgICAgICAgICAib2lkIjogcm9sZV9p ZAorICAgICAgICAgICAgICAgfQorCisgICAgICAgIHB1dF9yZXNwb25zZSA9 IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCArIHN0cihzcnZfZ3JwKSArICcv JyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz dHIoc2VydmVyX2lkKSArICcvJyArIHN0cihyb2xlX2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1w cyhkYXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgICAgICBzZWxmLmFz c2VydEVxdWFscyhwdXRfcmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNl cy90ZXN0cy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3RhYmxlc3BhY2VzL3Rlc3RzL19faW5pdF9f LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZmNj MTYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy9fX2luaXRf Xy5weQpAQCAtMCwwICsxLDE2IEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29w eXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRo ZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCisKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRl c3RHZW5lcmF0b3IKKworCitjbGFzcyBUYmxzcGFjZUdlbmVyYXRvclRlc3RD YXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKworICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICByZXR1cm4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ric3BjX2Fk ZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3RhYmxlc3BhY2VzL3Rlc3RzL3Rlc3RfdGJzcGNfYWRkLnB5Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0ZDZiZDYKLS0tIC9k ZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ric3BjX2FkZC5w eQpAQCAtMCwwICsxLDgzIEBACisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisj CisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJp Z2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQg VGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQ b3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRh Citmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9y dCBMb2dpblRlc3RDYXNlCitpbXBvcnQganNvbiwgcGlja2xlLCB1dWlkLCBv cworZnJvbSByZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMK KworY2xhc3MgVGJzcGNBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKwor ICAgICIiIgorICAgIFRoaXMgY2xhc3Mgd2lsbCBjaGVjayBzZXJ2ZXIgbm9k ZSBwcmVzZW50IG9uIHRoZSBvYmplY3QgYnJvd3NlcidzIHRyZWUgbm9kZSBi eSByZXNwb25zZSBjb2RlLgorICAgICIiIgorICAgIHByaW9yaXR5ID0gMTUK KworICAgIHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZh dWx0IFVSTCBmb3IgdGFibGVzcGFjZSBub2RlLgorICAgICAgICAoJ0NoZWNr IFRhYmxlc3BhY2UgTm9kZScsIGRpY3QodXJsPScvYnJvd3Nlci90YWJsZXNw YWNlL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgcnVuVGVzdChzZWxmKToK KyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgbmV3IHRhYmxl c3BhY2UgdW5kZXIgMXN0IHNlcnZlciBvZiB0cmVlIG5vZGUuIiIiCisKKyAg ICAgICAgc3J2X2lkID0gZ2V0X2lkcygpCisKKyAgICAgICAgc3J2X2dycCA9 IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCisKKyAgICAgICAg c2VydmVyX2lkID0gc3J2X2lkWyJzaWQiXVswXQorCisgICAgICAgIHJlc3Bv bnNlID0gc2VsZi50ZXN0ZXIucG9zdCgnYnJvd3Nlci9zZXJ2ZXIvY29ubmVj dC8nICsgc3RyKHNydl9ncnApICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcvJyArIHNlcnZlcl9pZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRhdGE9ZGljdCgKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3b3JkPWNvbmZpZ19kYXRh CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3Rf c2VydmVyX2NyZWRlbnRpYWxzJ11bMF0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsndGVzdF9kYl9wYXNzd29yZCddKSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVj dHM9VHJ1ZSkKKworICAgICAgICBzcnZfY29ubmVjdCA9IGpzb24ubG9hZHMo cmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICBpZiBzcnZfY29u bmVjdFsnZGF0YSddWydjb25uZWN0ZWQnXToKKyAgICAgICAgICAgIGRhdGEg PSBcCisgICAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICAgICAi bmFtZSI6IHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0sCisgICAgICAgICAgICAg ICAgICAgICJzZWNsYWJlbHMiOiBjb25maWdfZGF0YVsidGVzdF90YWJsZXNw Y19jcmVkZW50aWFscyJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFsidGVzdF9zcGNfc2VjbGFibGUiXSwKKyAgICAg ICAgICAgICAgICAgICAgInNwY2FjbCI6IGNvbmZpZ19kYXRhWyJ0ZXN0X3Rh Ymxlc3BjX2NyZWRlbnRpYWxzIl0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyJ0ZXN0X3NwY19hY2wiXSwKKyAgICAgICAg ICAgICAgICAgICAgInNwY2xvY2F0aW9uIjogY29uZmlnX2RhdGFbInRlc3Rf dGFibGVzcGNfY3JlZGVudGlhbHMiXQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFsidGVzdF9zcGNfbG9jYXRpb24i XSwKKyAgICAgICAgICAgICAgICAgICAgInNwY29wdGlvbnMiOiBjb25maWdf ZGF0YVsidGVzdF90YWJsZXNwY19jcmVkZW50aWFscyJdCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInRlc3Rfc3Bj X29wdHMiXSwKKyAgICAgICAgICAgICAgICAgICAgInNwY3VzZXIiOiBjb25m aWdfZGF0YVsidGVzdF90YWJsZXNwY19jcmVkZW50aWFscyJdCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbInRlc3Rfc3Bj X3VzZXIiXQorICAgICAgICAgICAgICAgIH0KKyMKKyAgICAgICAgICAgIHJl c3BvbnNlID0gc2VsZi50ZXN0ZXIucG9zdChzZWxmLnVybCArIHN0cihzcnZf Z3JwKSArICcvJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKyBzZXJ2ZXJfaWQgKyAnLycsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWpzb24uZHVt cHMoZGF0YSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICAgICAg c2VsZi5hc3NlcnRUcnVlKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisg ICAgICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0 YS5kZWNvZGUoKSkKKyAgICAgICAgICAgIHRic3BjX2lkID0gcmVzcGRhdGFb J25vZGUnXVsnX2lkJ10KKworICAgICAgICAgICAgaWYgb3MucGF0aC5pc2Zp bGUoJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Np b24vJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVudF9p ZC5wa2wnKToKKyAgICAgICAgICAgICAgICBleHN0X2lkcyA9IG9wZW4oJy9o b21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViJworICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnL3JlZ3Jlc3Npb24vJydwYXJlbnRfaWQu cGtsJywgJ3JiJykKKyAgICAgICAgICAgICAgICBhbGxfaWQgPSBwaWNrbGUu bG9hZChleHN0X2lkcykKKyAgICAgICAgICAgICAgICBwaWNrbGVfaWRfZGlj dCA9IGFsbF9pZAorCisgICAgICAgICAgICBwaWNrbGVfaWRfZGljdFsidHNp ZCJdLmFwcGVuZCh0YnNwY19pZCkKKworICAgICAgICAgICAgc3BjX291dHB1 dCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9hZHMvcGdhZG1pbjQvd2ViL3Jl Z3Jlc3Npb24vJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Bh cmVudF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1bXAo cGlja2xlX2lkX2RpY3QsIHNwY19vdXRwdXQpCisgICAgICAgICAgICBzcGNf b3V0cHV0LmNsb3NlKCkKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvdGVzdHMv dGVzdF90YnNwY19kZWxldGUucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ri c3BjX2RlbGV0ZS5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi44Njc0YmE0Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvdGVz dHMvdGVzdF90YnNwY19kZWxldGUucHkKQEAgLTAsMCArMSw1MSBAQAorIyAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3Jl U1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRo ZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBp cyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisj ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitmcm9tIHJlZ3Jlc3Npb24uY29u ZmlnIGltcG9ydCBjb25maWdfZGF0YQorZnJvbSBwZ2FkbWluLmJyb3dzZXIu dGVzdHMudGVzdF9sb2dpbiBpbXBvcnQgTG9naW5UZXN0Q2FzZQoraW1wb3J0 IGpzb24KK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRf aWRzCitmcm9tIC50ZXN0X3Ric3BjX2Z1bmMgaW1wb3J0IHRlc3RfZ2V0dGJs c3BjCisKK2NsYXNzIFRic3BjRGVsZXRlVGVzdENhc2UoTG9naW5UZXN0Q2Fz ZSk6CisgICAgIiIiCisgICAgVGhpcyBjbGFzcyB3aWxsIGRlbGV0ZSB0YWJs ZXNwYWNlIG5vZGUgcHJlc2VudCB1bmRlciB0aGUgb2JqZWN0IGJyb3dzZXIn cworICAgIHRyZWUgbm9kZSBieSByZXNwb25zZSBjb2RlLgorICAgICIiIgor CisgICAgcHJpb3JpdHkgPSAxOAorCisgICAgc2NlbmFyaW9zID0gWworICAg ICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0YWJsZXNwYWNlIG5v ZGUuCisgICAgICAgICgnQ2hlY2sgVGFibGVzcGFjZSBOb2RlJywgZGljdCh1 cmw9Jy9icm93c2VyL3RhYmxlc3BhY2Uvb2JqLycpKQorICAgIF0KKworICAg IGRlZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIGRlbGV0ZSB0aGUgYWRkZWQgdGFibGVzcGFjZSIiIgorCisgICAg ICAgIGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgICAgIHNydl9ncnAgPSBj b25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIHNl cnZlcl9pZCA9IGFsbF9pZFsic2lkIl1bMF0KKworICAgICAgICByZXNwZGF0 YSA9IHRlc3RfZ2V0dGJsc3BjKG5vZGU9c2VsZikKKworICAgICAgICB0YnNw Y19pZCA9IHJlc3BkYXRhWydvaWQnXQorCisgICAgICAgIGlmIGxlbihyZXNw ZGF0YSkgPT0gMDoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8g dGFibGVzcGFjZShzKSB0byBkZWxldGUhISEiKQorCisgICAgICAgIGRlbF9y ZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZShzZWxmLnVybCArIHN0cihz cnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cih0YnNw Y19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAgICAgZGVsX3Jl c3BkYXRhID0ganNvbi5sb2FkcyhkZWxfcmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICBzZWxmLmFzc2VydFRydWUoZGVsX3Jlc3BkYXRhWydz dWNjZXNzJ10sIDEpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvdGFibGVzcGFjZXMvdGVzdHMvdGVzdF90YnNwY19mdW5jLnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFi bGVzcGFjZXMvdGVzdHMvdGVzdF90YnNwY19mdW5jLnB5Cm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhYmNmOGQKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ric3BjX2Z1bmMucHkKQEAg LTAsMCArMSw0NSBAQAorIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAo QykgMjAxMyAtIDIwMTYsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0K KyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdy ZVNRTCBMaWNlbmNlCisjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitm cm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcworZnJv bSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2ltcG9y dCBqc29uCisKKworZGVmIHRlc3RfZ2V0dGJsc3BjKG5vZGU9Tm9uZSk6CisK KyAgICBpZiBub3Qgbm9kZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAg IGFsbF9pZCA9IGdldF9pZHMoKQorCisgICAgc2VydmVyX2lkID0gYWxsX2lk WyJzaWQiXVswXQorICAgIHRic3BjX2lkID0gYWxsX2lkWyJ0c2lkIl1bMF0K KworICAgIHNydl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3Jv dXAnXQorCisgICAgcmVzcG9uc2UgPSBub2RlLnRlc3Rlci5wb3N0KCdicm93 c2VyL3NlcnZlci9jb25uZWN0L3swfS97MX0nLmZvcm1hdAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkKSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kaWN0KHBh c3N3b3JkPWNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsndGVzdF9zZXJ2ZXJfY3JlZGVudGlhbHMnXVswXQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGJfcGFzc3dvcmQn XSksIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKworICAgIHNydl9jb25uZWN0 ID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgpKQorCisgICAg aWYgc3J2X2Nvbm5lY3RbJ2RhdGEnXVsnY29ubmVjdGVkJ106CisKKyAgICAg ICAgcmVzcG9uc2UgPSBub2RlLnRlc3Rlci5nZXQoJy9icm93c2VyL3RhYmxl c3BhY2Uvb2JqL3swfS97MX0vezJ9Jy5mb3JtYXQKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCwgdGJz cGNfaWQpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250ZW50X3R5cGU9J2h0bWwvanNvbicpCisKKyAgICAgICAgbm9kZS5hc3Nl cnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworICAgICAg ICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUo KSkKKworICAgICAgICByZXR1cm4gcmVzcGRhdGEKXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0 X3Ric3BjX2dldC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3RhYmxlc3BhY2VzL3Rlc3RzL3Rlc3RfdGJzcGNfZ2V0 LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBkODVm NDYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ri c3BjX2dldC5weQpAQCAtMCwwICsxLDU3IEBACisjICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMK KyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2 ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVu ZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCisKK2Zyb20gcmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNv bmZpZ19kYXRhCitmcm9tIHBnYWRtaW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xv Z2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitpbXBvcnQganNvbgorZnJvbSBy ZWdyZXNzaW9uLnRlc3RfdXRpbHMgaW1wb3J0IGdldF9pZHMKKworCitjbGFz cyBUYnNwY0dldFRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgorICAgICIiIgor ICAgIFRoaXMgY2xhc3Mgd2lsbCBmZXRjaCBhZGRlZCB0YWJsZXNwYWNlIHVu ZGVyIHRoZSBvYmplY3QgYnJvd3NlcidzCisgICAgdHJlZSBub2RlIGJ5IHJl c3BvbnNlIGNvZGUuCisgICAgIiIiCisgICAgcHJpb3JpdHkgPSAxNgorCisg ICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQg VVJMIGZvciB0YWJsZXNwYWNlIG5vZGUuCisgICAgICAgICgnQ2hlY2sgVGFi bGVzcGFjZSBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3RhYmxlc3BhY2Uv b2JqLycpKQorICAgIF0KKworICAgIGRlZiBydW5UZXN0KHNlbGYpOgorICAg ICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxsIGdldCB0aGUgYWRkZWQgdGFi bGVzcGFjZS4iIiIKKworICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKwor ICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dy b3VwJ10KKworICAgICAgICBzZXJ2ZXJfaWQgPSBhbGxfaWRbInNpZCJdWzBd CisgICAgICAgIHRic3BjX2lkID0gYWxsX2lkWyJ0c2lkIl1bMF0KKworICAg ICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnBvc3QoJ2Jyb3dzZXIvc2Vy dmVyL2Nvbm5lY3QvJyArIHN0cihzcnZfZ3JwKSArCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAnLycgKyBzZXJ2ZXJfaWQsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPWRpY3QoCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXNzd29yZD1j b25maWdfZGF0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgWyd0ZXN0X3NlcnZlcl9jcmVkZW50aWFscyddWzBdCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGJfcGFzc3dvcmQn XSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb2xs b3dfcmVkaXJlY3RzPVRydWUpCisKKyAgICAgICAgc3J2X2Nvbm5lY3QgPSBq c29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2RlKCkpCisKKyAgICAgICAg aWYgc3J2X2Nvbm5lY3RbJ2RhdGEnXVsnY29ubmVjdGVkJ106CisKKyAgICAg ICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHNlbGYudXJsICsg c3RyKHNydl9ncnApICsgJy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKHRi c3BjX2lkKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKKworICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkK KworICAgICAgICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNl LmRhdGEuZGVjb2RlKCkpCisgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUo cmVzcGRhdGFbJ29pZCddLCB0YnNwY19pZCkKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RhYmxlc3Bh Y2VzL3Rlc3RzL3Rlc3RfdGJzcGNfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGFibGVzcGFjZXMvdGVzdHMv dGVzdF90YnNwY19wdXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNTlhMzhmMwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RhYmxlc3BhY2Vz L3Rlc3RzL3Rlc3RfdGJzcGNfcHV0LnB5CkBAIC0wLDAgKzEsNTYgQEAKKyMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUg aXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwor IyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKworZnJvbSByZWdyZXNzaW9uLmNv bmZpZyBpbXBvcnQgY29uZmlnX2RhdGEKK2Zyb20gcGdhZG1pbi5icm93c2Vy LnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKK2ltcG9y dCBqc29uCitmcm9tIC50ZXN0X3Ric3BjX2Z1bmMgaW1wb3J0IHRlc3RfZ2V0 dGJsc3BjCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0 X2lkcworCisKK2NsYXNzIFRic3BjVXBkYXRlVGVzdENhc2UoTG9naW5UZXN0 Q2FzZSk6CisgICAgIiIiCisgICAgVGhpcyBjbGFzcyB3aWxsIHVwZGF0ZSBj b21tZW50IGZpZWxkIG9mICBhZGRlZCB0YWJsZXNwYWNlIHVuZGVyIHRoZQor ICAgIG9iamVjdCBicm93c2VyJ3MgdHJlZSBub2RlLgorICAgICIiIgorCisg ICAgcHJpb3JpdHkgPSAxNworCisgICAgc2NlbmFyaW9zID0gWworICAgICAg ICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciB0YWJsZXNwYWNlIG5vZGUu CisgICAgICAgICgnQ2hlY2sgVGFibGVzcGFjZSBOb2RlJywgZGljdCh1cmw9 Jy9icm93c2VyL3RhYmxlc3BhY2Uvb2JqLycpKQorICAgIF0KKworICAgIGRl ZiBydW5UZXN0KHNlbGYpOgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3 aWxsIHVwZGF0ZSB0aGUgYWRkZWQgdGFibGVzcGFjZS4iIiIKKworICAgICAg ICBhbGxfaWQgPSBnZXRfaWRzKCkKKworICAgICAgICBzZXJ2ZXJfaWQgPSBh bGxfaWRbInNpZCJdWzBdCisgICAgICAgIHNydl9ncnAgPSBjb25maWdfZGF0 YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisgICAgICAgIHJlc3BkYXRhID0g dGVzdF9nZXR0YmxzcGMobm9kZT1zZWxmKQorCisgICAgICAgIHRic3BjX2lk ID0gcmVzcGRhdGFbJ29pZCddCisKKyAgICAgICAgZGF0YSA9IFwKKyAgICAg ICAgICAgIHsKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiBjb25m aWdfZGF0YVsidGVzdF9scl91cGRhdGVfZGF0YSJdCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgWyJ0ZXN0X2NvbW1lbnQiXSwKKyAgICAgICAg ICAgICAgICAiaWQiOiB0YnNwY19pZAorICAgICAgICAgICAgfQorCisgICAg ICAgIHB1dF9yZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCAr IHN0cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cih0 YnNwY19pZCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUp CisKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocHV0X3Jlc3BvbnNlLnN0 YXR1c19jb2RlLCAyMDApCisKKwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2 ZXJfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfYWRkLnB5CmluZGV4IDBhZjEz ZDMuLmI3MjJhZWIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2FkZC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90ZXN0cy90ZXN0X3NlcnZlcl9hZGQucHkKQEAgLTgsMTYgKzgsMTQg QEAKICMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAogaW1wb3J0 IGpzb24KLQoraW1wb3J0IHBpY2tsZQoraW1wb3J0IG9zCiBmcm9tIHBnYWRt aW4uYnJvd3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RD YXNlCiBmcm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0 YQogCiAKIGNsYXNzIFNlcnZlcnNBZGRUZXN0Q2FzZShMb2dpblRlc3RDYXNl KToKLSAgICAiIiIKLSAgICBUaGlzIGNsYXNzIHdpbGwgYWRkIHRoZSBzZXJ2 ZXJzIHVuZGVyIGRlZmF1bHQgc2VydmVyIGdyb3VwIGFuZCB2ZXJpZnkgd2l0 aAotICAgIHNlcnZlcidzIG5hbWUuCi0gICAgIiIiCisgICAgIiIiIFRoaXMg Y2xhc3Mgd2lsbCBhZGQgdGhlIHNlcnZlcnMgdW5kZXIgZGVmYXVsdCBzZXJ2 ZXIgZ3JvdXAuICIiIgogCiAgICAgcHJpb3JpdHkgPSA0CiAKQEAgLTI3LDEw ICsyNSwzMSBAQCBjbGFzcyBTZXJ2ZXJzQWRkVGVzdENhc2UoTG9naW5UZXN0 Q2FzZSk6CiAgICAgXQogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAg ICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIHRoZSBz ZXJ2ZXIgdW5kZXIgZGVmYXVsdCBzZXJ2ZXIgZ3JvdXAuCi0gICAgICAgIFZl cmlmeSB0aGUgYWRkZWQgc2VydmVyIHdpdGggcmVzcG9uc2UgY29kZSBhcyB3 ZWxsIGFzIHNlcnZlciBuYW1lLgotICAgICAgICAiIiIKKyAgICAgICAgIiIi IFRoaXMgZnVuY3Rpb24gd2lsbCBhZGQgdGhlIHNlcnZlciB1bmRlciBkZWZh dWx0IHNlcnZlciBncm91cC4iIiIKKworICAgICAgICAjIFN0b3JpbmcgcGFy ZW50IGlkJ3MgaW50byBwaWNrbGUgZGljdAorICAgICAgICBwaWNrbGVfaWRf ZGljdCA9IHsKKyAgICAgICAgICAgICJzaWQiOiBbXSwgICNzZXJ2ZXIKKyAg ICAgICAgICAgICJkaWQiOiBbXSwgICNkYXRhYmFzZQorICAgICAgICAgICAg ImxyaWQiOiBbXSwgI2xvZ2luIHJvbGUKKyAgICAgICAgICAgICJ0c2lkIjog W10sICN0YWJsc3BhY2UKKyAgICAgICAgICAgICJjaWQiOiBbXSwgICNjYXN0 CisgICAgICAgICAgICAiZWlkIjogW10sICAjZXh0ZW50aW9uCisgICAgICAg ICAgICAibGlkIjogWzEyMzk3XSwgI2xhbmd1YWdlCisgICAgICAgICAgICAi c2NpZCI6IFtdLCAgICAgI3NjaGVtYQorICAgICAgICAgICAgInRmbmlkIjog W10sICAgICN0cmlnZ2VyIGZ1bmN0aW9uCisgICAgICAgICAgICAiZXRpZCI6 IFtdLCAgICAgI2V2ZW50IHRyaWdnZXIKKyAgICAgICAgICAgICJjb2lkIjog W10sICAgICAjY29sbGF0aW9uCisgICAgICAgICAgICAiZmlkIjogW10sICAj RkRXCisgICAgICAgICAgICAiZG9pZCI6IFtdLCAjRG9tYWluCisgICAgICAg ICAgICAic2VpZCI6IFtdLCAgI1NlcXVlbmNlCisgICAgICAgICAgICAidGlk IjogW10sICAgI3RhYmxlCisgICAgICAgICAgICAidmlkIjogW10sICAjdmll dworICAgICAgICAgICAgIm12aWQiOiBbXSwgICNtdmlldworICAgICAgICAg ICAgImZzaWQiOiBbXSwgICNmb3JlaWduIHNlcnZlcgorICAgICAgICAgICAg InVtaWQiOiBbXSwgICNVc2VyIG1hcHBpbmcKKyAgICAgICAgICAgICJmb2lk IjogW10gICNmb3JlaWduIHRhYmxlCisgICAgICAgIH0KIAogICAgICAgICBz cnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KIApA QCAtNDgsNiArNjcsMjAgQEAgY2xhc3MgU2VydmVyc0FkZFRlc3RDYXNlKExv Z2luVGVzdENhc2UpOgogCiAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLnBvc3QodXJsLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90 eXBlPSdodG1sL2pzb24nKQorCiAgICAgICAgICAgICBzZWxmLmFzc2VydFRy dWUocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAgIHJl c3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQotICAgICAgICAg ICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydub2RlJ11bJ2xhYmVsJ10s IHNydlsndGVzdF9uYW1lJ10pCisgICAgICAgICAgICByZXNwZGF0YSA9IGpz b24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoKSkKKworICAgICAgICAg ICAgc2VydmVyX2lkID0gcmVzcGRhdGFbJ25vZGUnXVsnX2lkJ10KKworICAg ICAgICAgICAgaWYgb3MucGF0aC5pc2ZpbGUoJy9ob21lL2VkYi9Eb3dubG9h ZHMvcGdhZG1pbjQvd2ViL3JlZ3Jlc3Npb24vJworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJ3BhcmVudF9pZC5wa2wnKToKKyAgICAgICAgICAg ICAgICBleHN0X3NlcnZlcl9pZCA9IG9wZW4oJy9ob21lL2VkYi9Eb3dubG9h ZHMvcGdhZG1pbjQvd2ViLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ3JlZ3Jlc3Npb24vcGFyZW50X2lkLnBrbCcsICdyYicp CisgICAgICAgICAgICAgICAgcGlja2xlX2lkX2RpY3QgPSBwaWNrbGUubG9h ZChleHN0X3NlcnZlcl9pZCkKKworICAgICAgICAgICAgcGlja2xlX2lkX2Rp Y3RbInNpZCJdLmFwcGVuZChzZXJ2ZXJfaWQpCisgICAgICAgICAgICBvdXRw dXQgPSBvcGVuKCcvaG9tZS9lZGIvRG93bmxvYWRzL3BnYWRtaW40L3dlYi9y ZWdyZXNzaW9uLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgJ3BhcmVu dF9pZC5wa2wnLCAnd2InKQorICAgICAgICAgICAgcGlja2xlLmR1bXAocGlj a2xlX2lkX2RpY3QsIG91dHB1dCkKKyAgICAgICAgICAgIG91dHB1dC5jbG9z ZSgpClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVz dHMvdGVzdF9zZXJ2ZXJfZGVsZXRlLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfZGVs ZXRlLnB5CmluZGV4IDMyOWQ3NGYuLmE3ZGQxMDEgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L3Rlc3Rfc2VydmVyX2RlbGV0ZS5weQorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9k ZWxldGUucHkKQEAgLTgsMTYgKzgsMTMgQEAKICMgIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCiAKIGltcG9ydCBqc29uCi0KIGZyb20gcGdhZG1pbi5icm93c2Vy LnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKIGZyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCiAKIAotY2xh c3MgU2VydmVyc0RlbGV0ZVRlc3RDYXNlKExvZ2luVGVzdENhc2UpOgotICAg ICIiIgotICAgIFRoaXMgY2xhc3Mgd2lsbCBjaGVjayBzZXJ2ZXIgbm9kZSBw cmVzZW50IG9uIHRoZSBvYmplY3QgYnJvd3NlcidzIHRyZWUgbm9kZQotICAg IGJ5IHJlc3BvbnNlIGNvZGUuCi0gICAgIiIiCitjbGFzcyBTZXJ2ZXJEZWxl dGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKKyAgICAiIiIgVGhpcyBjbGFz cyB3aWxsIGRlbGV0ZSB0aGUgbGFzdCBzZXJ2ZXIgcHJlc2VudCB1bmRlciB0 cmVlIG5vZGUuIiIiCisKICAgICBwcmlvcml0eSA9IDcKIAogICAgIHNjZW5h cmlvcyA9IFsKQEAgLTI2LDMyICsyMywyMiBAQCBjbGFzcyBTZXJ2ZXJzRGVs ZXRlVGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CiAgICAgXQogCiAgICAgZGVm IHJ1blRlc3Qoc2VsZik6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1 bmN0aW9uIHdpbGwgZ2V0IGFsbCBhdmFpbGFibGUgc2VydmVycyB1bmRlciBv YmplY3QgYnJvd3NlcgotICAgICAgICBhbmQgZGVsZXRlIHRoZSBzZXJ2ZXJz IHVzaW5nIHNlcnZlciBpZC4KLSAgICAgICAgIiIiCisgICAgICAgICIiIiBU aGlzIGZ1bmN0aW9uIHdpbGwgZ2V0IGFsbCBhdmFpbGFibGUgc2VydmVycyB1 bmRlciBvYmplY3QgYnJvd3NlcgorICAgICAgICBhbmQgZGVsZXRlIHRoZSBs YXN0IHNlcnZlciB1c2luZyBzZXJ2ZXIgaWQuIiIiCiAKICAgICAgICAgc3J2 X2dycCA9IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9ncm91cCddCiAKLSAg ICAgICAgZm9yIHNydiBpbiBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfY3Jl ZGVudGlhbHMnXToKLQotICAgICAgICAgICAgZGF0YSA9IHsibmFtZSI6IHNy dlsndGVzdF9uYW1lJ10sCi0gICAgICAgICAgICAgICAgICAgICJob3N0Ijog c3J2Wyd0ZXN0X2hvc3QnXSwKLSAgICAgICAgICAgICAgICAgICAgInBvcnQi OiBzcnZbJ3Rlc3RfZGJfcG9ydCddLAotICAgICAgICAgICAgICAgICAgICAi ZGIiOiBzcnZbJ3Rlc3RfbWFpbnRlbmFuY2VfZGInXSwKLSAgICAgICAgICAg ICAgICAgICAgInVzZXJuYW1lIjogc3J2Wyd0ZXN0X2RiX3VzZXJuYW1lJ10s Ci0gICAgICAgICAgICAgICAgICAgICJyb2xlIjogIiIsCi0gICAgICAgICAg ICAgICAgICAgICJzc2xtb2RlIjogc3J2Wyd0ZXN0X3NzbG1vZGUnXX0KKyAg ICAgICAgdXJsID0gc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAiLyIKIAot ICAgICAgICAgICAgdXJsID0gc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAi LyIKKyAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQodXJsKQor ICAgICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKIAotICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rl ci5nZXQodXJsLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0 bWwvanNvbicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcG9u c2Uuc3RhdHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAgIHJlc3BkYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQorICAgICAgICBpZiBsZW4ocmVz cGRhdGEpID09IDA6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5v IHNlcnZlcihzKSB0byBkZWxldGUhISEiKQogCi0gICAgICAgICAgICBmb3Ig c2VydmVyIGluIHJlc3BkYXRhOgotICAgICAgICAgICAgICAgIHJlc3BvbnNl ID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHVybCArIGpzb24uZHVtcHMoc2VydmVy WydpZCddKSkKLSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVz cG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAgICAgICByZXNw ZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YSkKLSAgICAgICAgICAg ICAgICBzZWxmLmFzc2VydFRydWUocmVzcGRhdGFbJ3N1Y2Nlc3MnXSwgMSkK KyAgICAgICAgIyBkZWxldGUgbGFzdCBzZXJ2ZXIKKyAgICAgICAgc2VydmVy ID0gcmVzcGRhdGFbLTFdCisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZGVsZXRlKHVybCArIHN0cihzZXJ2ZXJbJ2lkJ10pKQorICAgICAgICBz ZWxmLmFzc2VydFRydWUocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAg ICAgICAgcmVzcGRhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVj b2RlKCkpCisgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNwZGF0YVsnc3Vj Y2VzcyddLCAxKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfZ2V0LnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv dGVzdHMvdGVzdF9zZXJ2ZXJfZ2V0LnB5CmluZGV4IDA1MDg0M2UuLjE2M2Zl ZjMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2dldC5weQorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0 cy90ZXN0X3NlcnZlcl9nZXQucHkKQEAgLTcsMTUgKzcsMTQgQEAKICMKICMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAotaW1wb3J0IGpzb24K LQogZnJvbSBwZ2FkbWluLmJyb3dzZXIudGVzdHMudGVzdF9sb2dpbiBpbXBv cnQgTG9naW5UZXN0Q2FzZQogZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBv cnQgY29uZmlnX2RhdGEKK2Zyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGlt cG9ydCBnZXRfaWRzCiAKIAogY2xhc3MgU2VydmVyc0dldFRlc3RDYXNlKExv Z2luVGVzdENhc2UpOgogICAgICIiIgotICAgIFRoaXMgY2xhc3Mgd2lsbCBj aGVjayBzZXJ2ZXIgbm9kZSBwcmVzZW50IG9uIHRoZSBvYmplY3QgYnJvd3Nl cidzIHRyZWUgbm9kZQorICAgIFRoaXMgY2xhc3Mgd2lsbCBmZXRjaCBhZGRl ZCBzZXJ2ZXJzIHVuZGVyIGRlZmF1bHQgc2VydmVyIGdyb3VwCiAgICAgYnkg cmVzcG9uc2UgY29kZS4KICAgICAiIiIKIApAQCAtMjcsMjMgKzI2LDE2IEBA IGNsYXNzIFNlcnZlcnNHZXRUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKICAg ICBdCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKLSAgICAgICAgIiIiCi0g ICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZXQgYWxsIGF2YWlsYWJsZSBz ZXJ2ZXJzIHByZXNlbnQgdW5kZXIKLSAgICAgICAgb2JqZWN0IGJyb3dzZXIu Ci0gICAgICAgICIiIgorICAgICAgICAiIiIgVGhpcyBmdW5jdGlvbiB3aWxs IGZldGNoIHRoZSBhZGRlZCBzZXJ2ZXJzIHRvIG9iamVjdCBicm93c2VyLiAi IiIKIAorICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKyAgICAgICAgc2Vy dmVyX2lkID0gYWxsX2lkWyJzaWQiXQogICAgICAgICBzcnZfZ3JwID0gY29u ZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KIAotICAgICAgICBmb3Ig c3J2IGluIGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9jcmVkZW50aWFscydd OgotICAgICAgICAgICAgZGF0YSA9IHsibmFtZSI6IHNydlsndGVzdF9uYW1l J10sCi0gICAgICAgICAgICAgICAgICAgICJob3N0Ijogc3J2Wyd0ZXN0X2hv c3QnXSwKLSAgICAgICAgICAgICAgICAgICAgInBvcnQiOiBzcnZbJ3Rlc3Rf ZGJfcG9ydCddLAotICAgICAgICAgICAgICAgICAgICAiZGIiOiBzcnZbJ3Rl c3RfbWFpbnRlbmFuY2VfZGInXSwKLSAgICAgICAgICAgICAgICAgICAgInVz ZXJuYW1lIjogc3J2Wyd0ZXN0X2RiX3VzZXJuYW1lJ10sCi0gICAgICAgICAg ICAgICAgICAgICJyb2xlIjogIiIsCi0gICAgICAgICAgICAgICAgICAgICJz c2xtb2RlIjogc3J2Wyd0ZXN0X3NzbG1vZGUnXX0KLQotICAgICAgICAgICAg dXJsID0gc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAiLyIKLSAgICAgICAg ICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KHVybCwgZGF0YT1qc29u LmR1bXBzKGRhdGEpLAorICAgICAgICBmb3Igc3J2IGluIHNlcnZlcl9pZDoK KworICAgICAgICAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5nZXQoc2Vs Zi51cmwgKyBzdHIoc3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RyKHNydiksCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0 bWwvanNvbicpCi0gICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcG9u c2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworICAgICAgICAgICAgc2VsZi5hc3Nl cnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L3Rlc3RzL3Rlc3Rfc2VydmVyX3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX3B1 dC5weQppbmRleCAzMDZiYjAzLi4wZGFhYzczIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90 ZXN0X3NlcnZlcl9wdXQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5 CkBAIC04LDE2ICs4LDEzIEBACiAjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCiAKIGltcG9ydCBqc29uCi0KIGZyb20gcGdhZG1pbi5icm93c2Vy LnRlc3RzLnRlc3RfbG9naW4gaW1wb3J0IExvZ2luVGVzdENhc2UKIGZyb20g cmVncmVzc2lvbi5jb25maWcgaW1wb3J0IGNvbmZpZ19kYXRhCitmcm9tIHJl Z3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0X2lkcwogCiAKLWNsYXNz IFNlcnZlcnNVcGRhdGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKLSAgICAi IiIKLSAgICBUaGlzIGNsYXNzIHdpbGwgY2hlY2sgc2VydmVyIG5vZGUgcHJl c2VudCBvbiB0aGUgb2JqZWN0IGJyb3dzZXIncyB0cmVlIG5vZGUKLSAgICBi eSByZXNwb25zZSBjb2RlLgotICAgICIiIgorY2xhc3MgU2VydmVyVXBkYXRl VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIiIFRoaXMgY2xhc3Mg d2lsbCB1cGRhdGUgc2VydmVyJ3MgY29tbWVudCBmaWVsZC4gIiIiCiAKICAg ICBwcmlvcml0eSA9IDYKIApAQCAtMjcsMzkgKzI0LDQwIEBAIGNsYXNzIFNl cnZlcnNVcGRhdGVUZXN0Q2FzZShMb2dpblRlc3RDYXNlKToKICAgICBdCiAK ICAgICBkZWYgcnVuVGVzdChzZWxmKToKLSAgICAgICAgIiIiCi0gICAgICAg IFRoaXMgZnVuY3Rpb24gd2lsbCBlZGl0IGFuZCB1cGRhdGUgdGhlIHNlcnZl cidzIGNvbW1lbnQgZmllbGQKLSAgICAgICAgYnkgdGhlIHNlcnZlciBpZC4K LSAgICAgICAgIiIiCisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwg dXBkYXRlIHRoZSBzZXJ2ZXIncyBjb21tZW50IGZpZWxkLiAiIiIKIAorICAg ICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKKyAgICAgICAgc2VydmVyX2lkID0g YWxsX2lkWyJzaWQiXVswXQogICAgICAgICBzcnZfZ3JwID0gY29uZmlnX2Rh dGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KIAotICAgICAgICBmb3Igc3J2IGlu IGNvbmZpZ19kYXRhWyd0ZXN0X3NlcnZlcl9jcmVkZW50aWFscyddOgorICAg ICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCArIHN0 cihzcnZfZ3JwKSArICcvJyArCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cihzZXJ2ZXJfaWQpLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCiAKLSAg ICAgICAgICAgIGRhdGEgPSB7Im5hbWUiOiBzcnZbJ3Rlc3RfbmFtZSddLAot ICAgICAgICAgICAgICAgICAgICAiaG9zdCI6IHNydlsndGVzdF9ob3N0J10s Ci0gICAgICAgICAgICAgICAgICAgICJwb3J0Ijogc3J2Wyd0ZXN0X2RiX3Bv cnQnXSwKLSAgICAgICAgICAgICAgICAgICAgImRiIjogc3J2Wyd0ZXN0X21h aW50ZW5hbmNlX2RiJ10sCi0gICAgICAgICAgICAgICAgICAgICJ1c2VybmFt ZSI6IHNydlsndGVzdF9kYl91c2VybmFtZSddLAotICAgICAgICAgICAgICAg ICAgICAicm9sZSI6ICIiLAotICAgICAgICAgICAgICAgICAgICAic3NsbW9k ZSI6IHNydlsndGVzdF9zc2xtb2RlJ119CisgICAgICAgIGNvbl9yZXNwb25z ZSA9IHNlbGYudGVzdGVyLnBvc3QoJ2Jyb3dzZXIvc2VydmVyL2Nvbm5lY3Qv ezB9L3sxfScuZm9ybWF0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHNydl9ncnAsIHNlcnZlcl9pZCksCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kaWN0KHBhc3N3 b3JkPWNvbmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgWyd0ZXN0X3NlcnZlcl9jcmVkZW50aWFscyddWzBdCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgWyd0ZXN0 X2RiX3Bhc3N3b3JkJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKIAotICAgICAg ICAgICAgdXJsID0gc2VsZi51cmwgKyBzdHIoc3J2X2dycCkgKyAiLyIKKyAg ICAgICAgc3J2X2NvbiA9IGpzb24ubG9hZHMoY29uX3Jlc3BvbnNlLmRhdGEu ZGVjb2RlKCkpCiAKLSAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0 ZXIuZ2V0KHVybCwgZGF0YT1qc29uLmR1bXBzKGRhdGEpLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdo dG1sL2pzb24nKQorICAgICAgICBpZiBsZW4oc3J2X2NvbikgPT0gMDoKKyAg ICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gU2VydmVyKHMpIGNvbm5l Y3RlZCB0byB1cGRhdGUhISEiKQogCi0gICAgICAgICAgICBzZWxmLmFzc2Vy dFRydWUocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKLSAgICAgICAgICAg IHJlc3BkYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhKQorICAgICAg ICBkYXRhID0gXAorICAgICAgICAgICAgeworICAgICAgICAgICAgICAgICJj b21tZW50IjogY29uZmlnX2RhdGEKKyAgICAgICAgICAgICAgICBbJ3Rlc3Rf c2VydmVyX3VwZGF0ZV9kYXRhJ11bJ3Rlc3RfY29tbWVudCddLAorICAgICAg ICAgICAgICAgICJpZCI6IHNlcnZlcl9pZAorICAgICAgICAgICAgfQogCi0g ICAgICAgICAgICBmb3Igc2VydmVyIGluIHJlc3BkYXRhOgorICAgICAgICBw dXRfcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wdXQoc2VsZi51cmwgKyBzdHIo c3J2X2dycCkgKyAnLycgKworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKHNlcnZlcl9pZCksIGRhdGE9anNvbi5kdW1wcyhk YXRhKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGNvbnRlbnRfdHlwZT0naHRtbC9qc29uJykKIAotICAgICAgICAgICAgICAg IHVybCA9IHNlbGYudXJsICsgc3RyKHNydl9ncnApICsgIi8iICsganNvbi5k dW1wcyhzZXJ2ZXJbJ2lkJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHB1dF9yZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogCi0gICAgICAgICAg ICAgICAgZm9yIHNlcnZlciBpbiBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJf dXBkYXRlX2RhdGEnXToKLSAgICAgICAgICAgICAgICAgICAgZGF0YSA9IHsi Y29tbWVudCI6IHNlcnZlclsndGVzdF9jb21tZW50J119Ci0gICAgICAgICAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KHVybCwgZGF0 YT1qc29uLmR1bXBzKGRhdGEpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNv bicpCi0gICAgICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0VHJ1ZShyZXNw b25zZS5zdGF0dXNfY29kZSwgMjAwKQotICAgICAgICAgICAgICAgICAgICBy ZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YSkKLSAgICAgICAg ICAgICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydzdWNjZXNz J10sIDEpCisgICAgICAgIHJlc3BkYXRhID0ganNvbi5sb2FkcyhwdXRfcmVz cG9uc2UuZGF0YS5kZWNvZGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVl KHJlc3BkYXRhWydzdWNjZXNzJ10sIDEpCmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvdGVzdHMvdGVzdF9zZ19nZXQu cHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvdGVzdHMv dGVzdF9zZ19nZXQucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYzU1MmQ4ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy90ZXN0cy90ZXN0X3NnX2dldC5weQpA QCAtMCwwICsxLDM2IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjCisKK2ltcG9ydCBqc29uCitmcm9tIHBnYWRtaW4uYnJv d3Nlci50ZXN0cy50ZXN0X2xvZ2luIGltcG9ydCBMb2dpblRlc3RDYXNlCitm cm9tIHJlZ3Jlc3Npb24uY29uZmlnIGltcG9ydCBjb25maWdfZGF0YQorCisK K2NsYXNzIFNnR2V0VGVzdENhc2UoTG9naW5UZXN0Q2FzZSk6CisgICAgIiIi CisgICAgIFRoaXMgY2xhc3Mgd2lsbCBjaGVjayBhdmFpbGFibGUgc2VydmVy IGdyb3VwcyBpbiBwZ0FkbWluLgorICAgICIiIgorCisgICAgcHJpb3JpdHkg PSAzCisKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcg dGhlIGRlZmF1bHQgdXJsIGZvciBzZXJ2ZXIgZ3JvdXAgbm9kZQorICAgICAg ICAoJ0NoZWNrIFNlcnZlciBHcm91cCBOb2RlJywgZGljdCh1cmw9Jy9icm93 c2VyL3NlcnZlci1ncm91cC9vYmovJykpCisgICAgXQorCisgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24gd2lsbCBj aGVjayBhdmFpbGFibGUgc2VydmVyIGdyb3Vwcy4iIiIKKworICAgICAgICBz cnZfZ3JwID0gY29uZmlnX2RhdGFbJ3Rlc3Rfc2VydmVyX2dyb3VwJ10KKwor ICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldChzZWxmLnVybCAr IHN0cihzcnZfZ3JwKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICBzZWxm LmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQorICAg ICAgICByZXNwZGF0YSA9IGpzb24ubG9hZHMocmVzcG9uc2UuZGF0YS5kZWNv ZGUoKSkKKyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKHJlc3BkYXRhWydpZCdd LCBzcnZfZ3JwKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci90 ZXN0cy90ZXN0X2xvZ2luLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci90ZXN0 cy90ZXN0X2xvZ2luLnB5CmluZGV4IDdjMmI3OTYuLmQyNzJhNjMgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdGVzdHMvdGVzdF9sb2dpbi5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Rlc3RzL3Rlc3RfbG9naW4u cHkKQEAgLTgsNyArOCw2IEBACiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwogCiBpbXBvcnQgdXVpZAotCiBmcm9tIHBnYWRtaW4udXRpbHMucm91 dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9tIHJlZ3Jlc3Npb24u Y29uZmlnIGltcG9ydCBjb25maWdfZGF0YQogCkBAIC02Nyw3ICs2Niw5IEBA IGNsYXNzIExvZ2luVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAg ICAgICAgICAgICAgICAgIFsndGVzdF9sb2dpbl91c2VybmFtZSddKSwKICAg ICAgICAgICAgIHBhc3N3b3JkPShjb25maWdfZGF0YVsncGdBZG1pbjRfbG9n aW5fY3JlZGVudGlhbHMnXQogICAgICAgICAgICAgICAgICAgICAgIFsndGVz dF9sb2dpbl9wYXNzd29yZCddKSwKLSAgICAgICAgICAgIHJlc3BkYXRhPSdZ b3UgYXJlIGN1cnJlbnRseSBydW5uaW5nIHZlcnNpb24nKSkKKyAgICAgICAg ICAgIHJlc3BkYXRhPSdHcmF2YXRhciBpbWFnZSBmb3IgJXMnICUKKyAgICAg ICAgICAgICAgICAgICAgIGNvbmZpZ19kYXRhWydwZ0FkbWluNF9sb2dpbl9j cmVkZW50aWFscyddCisgICAgICAgICAgICAgICAgICAgICBbJ3Rlc3RfbG9n aW5fdXNlcm5hbWUnXSkpCiAgICAgXQogCiAgICAgZGVmIHJ1blRlc3Qoc2Vs Zik6CkBAIC03Niw0ICs3Nyw0IEBAIGNsYXNzIExvZ2luVGVzdENhc2UoQmFz ZVRlc3RHZW5lcmF0b3IpOgogICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLnBvc3QoJy9sb2dpbicsIGRhdGE9ZGljdCgKICAgICAgICAgICAgIGVt YWlsPXNlbGYuZW1haWwsIHBhc3N3b3JkPXNlbGYucGFzc3dvcmQpLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGly ZWN0cz1UcnVlKQotICAgICAgICBzZWxmLmFzc2VydEluKHNlbGYucmVzcGRh dGEsIHJlc3BvbnNlLmRhdGEpCisgICAgICAgIHNlbGYuYXNzZXJ0SW4oc2Vs Zi5yZXNwZGF0YSwgcmVzcG9uc2UuZGF0YS5kZWNvZGUoJ3V0ZjgnKSkKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3V0aWxzL3JvdXRlLnB5IGIvd2ViL3Bn YWRtaW4vdXRpbHMvcm91dGUucHkKaW5kZXggMWZmNDFkZS4uM2Q0MWUwZiAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdXRpbHMvcm91dGUucHkKKysrIGIv d2ViL3BnYWRtaW4vdXRpbHMvcm91dGUucHkKQEAgLTksNiArOSw4IEBACiAK IGZyb20gYWJjIGltcG9ydCBBQkNNZXRhLCBhYnN0cmFjdG1ldGhvZAogaW1w b3J0IHVuaXR0ZXN0Citmcm9tIGltcG9ydGxpYiBpbXBvcnQgaW1wb3J0X21v ZHVsZQorZnJvbSB3ZXJremV1Zy51dGlscyBpbXBvcnQgZmluZF9tb2R1bGVz CiAKIAogY2xhc3MgVGVzdHNHZW5lcmF0b3JSZWdpc3RyeShBQkNNZXRhKToK QEAgLTQ4LDE4ICs1MCwxOCBAQCBjbGFzcyBUZXN0c0dlbmVyYXRvclJlZ2lz dHJ5KEFCQ01ldGEpOgogCiAgICAgICAgIGNscy5yZWdpc3RyeSA9IGRpY3Qo KQogCi0gICAgICAgIGZyb20gaW1wb3J0bGliIGltcG9ydCBpbXBvcnRfbW9k dWxlCi0gICAgICAgIGZyb20gd2Vya3pldWcudXRpbHMgaW1wb3J0IGZpbmRf bW9kdWxlcwotCiAgICAgICAgIGZvciBtb2R1bGVfbmFtZSBpbiBmaW5kX21v ZHVsZXMocGtnLCBGYWxzZSwgVHJ1ZSk6Ci0gICAgICAgICAgICBtb2R1bGUg PSBpbXBvcnRfbW9kdWxlKG1vZHVsZV9uYW1lKQotCisgICAgICAgICAgICB0 cnk6CisgICAgICAgICAgICAgICAgbW9kdWxlID0gaW1wb3J0X21vZHVsZSht b2R1bGVfbmFtZSkKKyAgICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoK KyAgICAgICAgICAgICAgICBwYXNzCiAKIGltcG9ydCBzaXgKIAogCiBAc2l4 LmFkZF9tZXRhY2xhc3MoVGVzdHNHZW5lcmF0b3JSZWdpc3RyeSkKIGNsYXNz IEJhc2VUZXN0R2VuZXJhdG9yKHVuaXR0ZXN0LlRlc3RDYXNlKToKKwogICAg ICMgRGVmaW5pbmcgYWJzdHJhY3QgbWV0aG9kIHdoaWNoIHdpbGwgb3ZlcnJp ZGUgYnkgaW5kaXZpZHVhbCB0ZXN0Y2FzZS4KICAgICBAYWJzdHJhY3RtZXRo b2QKICAgICBkZWYgcnVuVGVzdChzZWxmKToKZGlmZiAtLWdpdCBhL3dlYi9y ZWdyZXNzaW9uL3BhcmVudF9pZC5wa2wgYi93ZWIvcmVncmVzc2lvbi9wYXJl bnRfaWQucGtsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LjcyMjc0NDQKQmluYXJ5IGZpbGVzIC9kZXYvbnVsbCBhbmQgYi93ZWIvcmVn cmVzc2lvbi9wYXJlbnRfaWQucGtsIGRpZmZlcgpkaWZmIC0tZ2l0IGEvd2Vi L3JlZ3Jlc3Npb24vdGVzdF9jb25maWcuanNvbiBiL3dlYi9yZWdyZXNzaW9u L3Rlc3RfY29uZmlnLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uMmYwZDA5ZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9yZWdy ZXNzaW9uL3Rlc3RfY29uZmlnLmpzb24KQEAgLTAsMCArMSw5MTAgQEAKK3sK KyAgInBnQWRtaW40X2xvZ2luX2NyZWRlbnRpYWxzIjoKKyAgeworICAgICJ0 ZXN0X25ld19wYXNzd29yZCIgOiAibmV3cGFzcyIsCisgICAgInRlc3RfbG9n aW5fcGFzc3dvcmQiIDogInRlc3QxMjMiLAorICAgICJ0ZXN0X2xvZ2luX3Vz ZXJuYW1lIiA6ICJ1c2VyQGV4YW1wbGUuY29tIgorICB9LAorCisKKyAgInRl c3Rfc2VydmVyX2dyb3VwIiA6IDEsCisKKyAgInRlc3Rfc2VydmVyX2NyZWRl bnRpYWxzIjoKKyAgW3sKKyAgICAidGVzdF9uYW1lIiA6ICJQRzkuNSIsCisg ICAgInRlc3RfZGJfdXNlcm5hbWUiIDogInBvc3RncmVzIiwKKyAgICAidGVz dF9ob3N0IiA6ICJsb2NhbGhvc3QiLAorICAgICJ0ZXN0X2RiX3Bhc3N3b3Jk IiA6ICJlZGIiLAorICAgICJ0ZXN0X2RiX3BvcnQiIDogNTQzMywKKyAgICAi dGVzdF9tYWludGVuYW5jZV9kYiIgOiAicG9zdGdyZXMiLAorICAgICJ0ZXN0 X3NzbG1vZGUiIDoicHJlZmVyIgorICB9LAorICB7CisgICAgInRlc3RfbmFt ZSIgOiAiUFBBUzkuNCIsCisgICAgInRlc3RfZGJfdXNlcm5hbWUiIDogImVu dGVycHJpc2VkYiIsCisgICAgInRlc3RfaG9zdCIgOiAibG9jYWxob3N0IiwK KyAgICAidGVzdF9kYl9wYXNzd29yZCIgOiAiZWRiIiwKKyAgICAidGVzdF9k Yl9wb3J0IiA6IDU0NDQsCisgICAgInRlc3RfbWFpbnRlbmFuY2VfZGIiIDog ImVkYiIsCisgICAgInRlc3Rfc3NsbW9kZSIgOiJwcmVmZXIiCisgIH1dLAor CisgICJ0ZXN0X3NlcnZlcl91cGRhdGVfZGF0YSI6CisgIHsKKyAgICAgICJ0 ZXN0X2NvbW1lbnQiOiAiVGhpcyBpcyB0ZXN0IHVwZGF0ZSBjb21tZW50Igor ICB9LAorCisgICJ0ZXN0X2FkZF9kYXRhYmFzZV9kYXRhIjogeworICAgICJ0 ZXN0X3ByaXZpbGVnZXNfYWNsIjogWworICAgICAgeworICAgICAgICAiZ3Jh bnRlZSI6ICJwb3N0Z3JlcyIsCisgICAgICAgICJncmFudG9yIjogInBvc3Rn cmVzIiwKKyAgICAgICAgInByaXZpbGVnZXMiOiBbCisgICAgICAgICAgewor ICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIkMiLAorICAgICAgICAg ICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFu dCI6IHRydWUKKyAgICAgICAgICB9LAorICAgICAgICAgIHsKKyAgICAgICAg ICAgICJwcml2aWxlZ2VfdHlwZSI6ICJUIiwKKyAgICAgICAgICAgICJwcml2 aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxz ZQorICAgICAgICAgIH0KKyAgICAgICAgXQorICAgICAgfQorICAgIF0sCisg ICAgInRlc3RfY29ubl9saW1pdCI6IC0xLAorICAgICJ0ZXN0X293bmVyIjog InBvc3RncmVzIiwKKyAgICAidGVzdF9mdW5fYWNsIjogWworICAgICAgewor ICAgICAgICAiZ3JhbnRlZSI6ICJwb3N0Z3JlcyIsCisgICAgICAgICJncmFu dG9yIjogInBvc3RncmVzIiwKKyAgICAgICAgInByaXZpbGVnZXMiOiBbCisg ICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIlgi LAorICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAgICAg ICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgfQorICAgICAgICBd CisgICAgICB9CisgICAgXSwKKyAgICAidGVzdF9zZXFfYWNsIjogWworICAg ICAgeworICAgICAgICAiZ3JhbnRlZSI6ICJwb3N0Z3JlcyIsCisgICAgICAg ICJncmFudG9yIjogInBvc3RncmVzIiwKKyAgICAgICAgInByaXZpbGVnZXMi OiBbCisgICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBl IjogInIiLAorICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAg ICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgfSwKKyAg ICAgICAgICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAidyIs CisgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAg ICJ3aXRoX2dyYW50IjogZmFsc2UKKyAgICAgICAgICB9LAorICAgICAgICAg IHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJVIiwKKyAgICAg ICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAgIndpdGhf Z3JhbnQiOiBmYWxzZQorICAgICAgICAgIH0KKyAgICAgICAgXQorICAgICAg fQorICAgIF0sCisgICAgInRlc3RfdGJsX2FjbCI6IFsKKyAgICAgIHsKKyAg ICAgICAgImdyYW50ZWUiOiAicG9zdGdyZXMiLAorICAgICAgICAiZ3JhbnRv ciI6ICJwb3N0Z3JlcyIsCisgICAgICAgICJwcml2aWxlZ2VzIjogWworICAg ICAgICAgIHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJhIiwK KyAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAg IndpdGhfZ3JhbnQiOiB0cnVlCisgICAgICAgICAgfSwKKyAgICAgICAgICB7 CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiciIsCisgICAgICAg ICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICJ3aXRoX2dy YW50IjogZmFsc2UKKyAgICAgICAgICB9CisgICAgICAgIF0KKyAgICAgIH0K KyAgICBdLAorICAgICJ0ZXN0X3R5cGVfYWNsIjogWworICAgICAgeworICAg ICAgICAiZ3JhbnRlZSI6ICJwb3N0Z3JlcyIsCisgICAgICAgICJncmFudG9y IjogInBvc3RncmVzIiwKKyAgICAgICAgInByaXZpbGVnZXMiOiBbCisgICAg ICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogIlUiLAor ICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAgICAgICAi d2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgfQorICAgICAgICBdCisg ICAgICB9CisgICAgXSwKKyAgICAidGVzdF9lbmNvZGluZyI6ICJVVEY4IiwK KyAgICAidGVzdF9uYW1lIjogInRlc3RfZGJfYXV0b21hdGlvbiIsCisgICAg InRlc3RfcHJpdmlsZWdlcyI6IFtdLAorICAgICJ0ZXN0X3NlY3VyaXRpZXMi OiBbXSwKKyAgICAidGVzdF92YXJpYWJsZXMiOiBbXQorICB9LAorCisgICAg InRlc3RfZGJfdXBkYXRlX2RhdGEiOgorICB7CisgICAgICAidGVzdF9jb21t ZW50IjogIlRoaXMgaXMgZGIgdXBkYXRlIGNvbW1lbnQiCisgIH0sCisKKyAg ICAidGVzdF9scl9jcmVkZW50aWFscyI6CisgICAgeworICAgICAgInRlc3Rf Y2FuX2xvZ2luIjogInRydWUiLAorICAgICAgInRlc3RfY29ubl9saW1pdCI6 IC0xLAorICAgICAgInRlc3RfY3JlYXRlX3JvbGUiOiAidHJ1ZSIsCisgICAg ICAidGVzdF9yb2xlX2luaGVyaXQiOiAidHJ1ZSIsCisgICAgICAidGVzdF9y b2xlX21lbWJlcnNoaXAiOiBbXSwKKyAgICAgICJ0ZXN0X2xyX25hbWUiOiAg InRlc3RscmcxIiwKKyAgICAgICJ0ZXN0X2xyX3Bhc3N3b3JkIjogImVkYiIs CisgICAgICAidGVzdF9scl92YWxpZGl0eSI6ICIxMi8yNy8yMDE2IiwKKyAg ICAgICJ0ZXN0X3NlY19sYWJsZSI6IFtdLAorICAgICAgInRlc3RfdmFyaWFi bGUiOlsKKyAgICAgICAgeyJuYW1lIjoid29ya19tZW0iLAorICAgICAgICAg ICJkYXRhYmFzZSI6InBvc3RncmVzIiwKKyAgICAgICAgICAidmFsdWUiOjY1 CisgICAgICAgIH0KKyAgICAgIF0KKyAgICB9LAorCisgICJ0ZXN0X2xyX3Vw ZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X2NvbW1lbnQiOiAiVGhpcyBp cyBsb2dpbiByb2xlIHVwZGF0ZSBjb21tZW50IgorICB9LAorCisgICJ0ZXN0 X3RhYmxlc3BjX2NyZWRlbnRpYWxzIjoKKyAgeworICAgICJ0ZXN0X3RibHNw YWNlX25hbWUiOiAidGVzdF90YWJsZXNwYWNlIiwKKyAgICAidGVzdF9zcGNf c2VjbGFibGUiOiBbXSwKKyAgICAidGVzdF9zcGNfYWNsIjogWworICAgICAg eworICAgICAgICAiZ3JhbnRlZSI6InBvc3RncmVzIiwKKyAgICAgICAgImdy YW50b3IiOiJwb3N0Z3JlcyIsCisgICAgICAgICJwcml2aWxlZ2VzIjpbCisg ICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjoiQyIs CisgICAgICAgICAgICAicHJpdmlsZWdlIjp0cnVlLAorICAgICAgICAgICAg IndpdGhfZ3JhbnQiOmZhbHNlCisgICAgICAgICAgfQorICAgICAgICBdCisg ICAgICB9CisgICAgXSwKKyAgICAidGVzdF9zcGNfbG9jYXRpb24iOiAiL29w dC9Qb3N0Z3JlU1FMLzkuNS9kYXRhIiwKKyAgICAidGVzdF9zcGNfb3B0cyI6 IFtdLAorICAgICJ0ZXN0X3NwY191c2VyIjogInBvc3RncmVzIgorICB9LAor CisgICAgInRlc3RfdGJzcGNfdXBkYXRlX2RhdGEiOgorICB7CisgICAgInRl c3RfY29tbWVudCI6ICJUaGlzIGlzIHRhYmxlc3BhY2UgdXBkYXRlIGNvbW1l bnQiCisgIH0sCisKKyAgInRlc3RfY2FzdHNfY3JlZGVudGlhbHMiOgorICB7 CisgICAgInRlc3RfY2FzdF9jb250ZXh0IjogIklNUExJQ0lUIiwKKyAgICAi dGVzdF9lbmNvZGluZyI6ICJVVEY4IiwKKyAgICAidGVzdF9uYW1lIjogIm1v bmV5LT5iaWdpbnQiLAorICAgICJ0ZXN0X3NvdXJjZV90eXBlIjogIm1vbmV5 IiwKKyAgICAidGVzdF90YXJnZXRfdHlwZSI6ICJiaWdpbnQiCisgIH0sCisK KyAgICAgInRlc3RfY2FzdF91cGRhdGVfZGF0YSI6CisgIHsKKyAgICAidGVz dF9jb21tZW50IjogIlRoaXMgaXMgY2FzdCB1cGRhdGUgY29tbWVudCIKKyAg fSwKKworICAgICJ0ZXN0X2V4dGVuc2lvbl9jcmVkZW50aWFscyI6CisgIHsK KyAgICAidGVzdF9uYW1lIjogInBvc3RncmVzX2ZkdyIsCisgICAgInRlc3Rf cmVsb2NhdGUiOiB0cnVlLAorICAgICJ0ZXN0X3NjaGVtYSI6ICJwdWJsaWMi LAorICAgICJ0ZXN0X3ZlcnNpb24iOiAiMS4wIgorICB9LAorCisgICAgInRl c3RfZXh0ZW5zaW9uX3VwZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X3Nj aGVtYSI6ICJ0ZXN0MSIKKyAgfSwKKworICAgICAgInRlc3RfbGFuZ3VhZ2Vf dXBkYXRlX2RhdGEiOgorICB7CisgICAgInRlc3RfY29tbWVudCI6ICJUaGlz IGlzIGxhbmd1YWdlIHVwZGF0ZSBjb21tZW50IgorICB9LAorCisgICJ0ZXN0 X3NjaGVtYV9jcmVkZW50aWFscyI6CisgIHsKKyAgICAidGVzdF9mdW5jX2Fj bCI6IFtdLAorICAgICJ0ZXN0X3NlcV9hY2wiOiBbXSwKKyAgICAidGVzdF90 YmxfYWNsIjogW10sCisgICAgInRlc3RfdHlwZV9hY2wiOiBbXSwKKyAgICAi dGVzdF9uYW1lIjogInRlc3Rfc2NoZW1hIiwKKyAgICAidGVzdF9vd25lciI6 ICJwb3N0Z3JlcyIsCisgICAgInRlc3RfcHJpdmlsZWdlIjoKKyAgICBbCisg ICAgICB7CisgICAgICAgICJncmFudGVlIjoicG9zdGdyZXMiLAorICAgICAg ICAiZ3JhbnRvciI6InBvc3RncmVzIiwKKyAgICAgICAgInByaXZpbGVnZXMi OgorICAgICAgICBbCisgICAgICAgICAgeworICAgICAgICAgICAgInByaXZp bGVnZV90eXBlIjoiQyIsCisgICAgICAgICAgICAicHJpdmlsZWdlIjp0cnVl LAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOmZhbHNlCisgICAgICAgICAg fSwKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUi OiJVIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisgICAgICAg ICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAgICAgICAgICB9CisgICAgICAg IF0KKyAgICAgIH0KKyAgICBdLAorICAgICJ0ZXN0X3NlY19sYWJlbCI6IFtd CisgIH0sCisKKyAgInRlc3Rfc2NoZW1hX3VwZGF0ZV9kYXRhIjoKKyAgewor ICAidGVzdF90YmxfYWNsIjoKKyAgeworICAgICJhZGRlZCI6CisgICAgWwor ICAgICAgeworICAgICAgICAiZ3JhbnRlZSI6ICJwdWJsaWMiLAorICAgICAg ICAiZ3JhbnRvciI6ICJwb3N0Z3JlcyIsCisgICAgICAgICJwcml2aWxlZ2Vz IjoKKyAgICAgICAgWworICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2 aWxlZ2VfdHlwZSI6ICJEIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0 cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQorICAgICAg ICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90 eXBlIjogIngiLAorICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisg ICAgICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgfQor ICAgICAgICBdCisgICAgICB9CisgICAgXQorICB9LAorICAgICJ0ZXN0X2Z1 bmNfYWNsIjoKKyAgICB7CisgICAgICAiYWRkZWQiOgorICAgICAgWworICAg ICAgICB7CisgICAgICAgICAgImdyYW50ZWUiOiJwb3N0Z3JlcyIsCisgICAg ICAgICAgImdyYW50b3IiOiJwb3N0Z3JlcyIsCisgICAgICAgICAgInByaXZp bGVnZXMiOgorICAgICAgICAgIFsKKyAgICAgICAgICAgIHsKKyAgICAgICAg ICAgICAgInByaXZpbGVnZV90eXBlIjoiWCIsCisgICAgICAgICAgICAgICJw cml2aWxlZ2UiOnRydWUsCisgICAgICAgICAgICAgICJ3aXRoX2dyYW50Ijp0 cnVlCisgICAgICAgICAgICB9CisgICAgICAgICAgXQorICAgICAgICB9Cisg ICAgICBdCisgICAgfSwKKyAgICAidGVzdF9zZXFfYWNsIjoKKyAgICB7Cisg ICAgICAiYWRkZWQiOgorICAgICAgWworICAgICAgICB7CisgICAgICAgICAg ImdyYW50ZWUiOiJwb3N0Z3JlcyIsCisgICAgICAgICAgImdyYW50b3IiOiJw b3N0Z3JlcyIsCisgICAgICAgICAgInByaXZpbGVnZXMiOgorICAgICAgICAg IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90 eXBlIjoiciIsCisgICAgICAgICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisg ICAgICAgICAgICAgICJ3aXRoX2dyYW50IjpmYWxzZQorICAgICAgICAgICAg fSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90 eXBlIjoidyIsCisgICAgICAgICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisg ICAgICAgICAgICAgICJ3aXRoX2dyYW50IjpmYWxzZQorICAgICAgICAgICAg fSwKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90 eXBlIjoiVSIsCisgICAgICAgICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisg ICAgICAgICAgICAgICJ3aXRoX2dyYW50IjpmYWxzZQorICAgICAgICAgICAg fQorICAgICAgICAgIF0KKyAgICAgICAgfQorICAgICAgXQorICAgIH0KKyAg fSwKKworICAidGVzdF90cmlnZ2VyX2Z1bmN0aW9uX2NyZWRlbnRpYWxzIjoK KyAgeworICAgICJ0ZXN0X2FjbCI6CisgICAgWworICAgICAgeworICAgICAg ICAiZ3JhbnRlZSI6InBvc3RncmVzIiwKKyAgICAgICAgImdyYW50b3IiOiJw b3N0Z3JlcyIsCisgICAgICAgICJwcml2aWxlZ2VzIjoKKyAgICAgICAgWwor ICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6Ilgi LAorICAgICAgICAgICAgInByaXZpbGVnZSI6dHJ1ZSwKKyAgICAgICAgICAg ICJ3aXRoX2dyYW50Ijp0cnVlCisgICAgICAgICAgfQorICAgICAgICBdCisg ICAgICB9CisgICAgXSwKKyAgICAidGVzdF9hcmdzIjogW10sCisgICAgInRl c3RfZnVuX293bmVyIjogInBvc3RncmVzIiwKKyAgICAidGVzdF9sYW5ndWFn ZSI6ICJwbHBnc3FsIiwKKyAgICAidGVzdF9uYW1lIjogInRlc3RfYWJvcnRf YW55X2NvbW1hbmQiLAorICAgICJ0ZXN0X29wdGlvbnMiOiBbXSwKKyAgICAi dGVzdF9wcm9iZSI6ICIkbGliZGlyLyIsCisgICAgInRlc3RfbGVha19wcm9v ZiI6IHRydWUsCisgICAgInRlc3RfbmFtZXNwYWNlIjogMjIwMCwKKyAgICAi dGVzdF90eXBlIjogImV2ZW50X3RyaWdnZXIiLAorICAgICJ0ZXN0X3NlY19k ZWYiOiB0cnVlLAorICAgICJ0ZXN0X2NvZGUiOiAiQkVHSU4gICBSQUlTRSBF WENFUFRJT04gJ2NvbW1hbmQgJSBpcyBkaXNhYmxlZCcsIHRnX3RhZzsgRU5E OyIsCisgICAgInRlc3Rfdm9saXRpbGUiOiAicyIsCisgICAgInRlc3Rfc2Vj X2xhYmVsIjogW10sCisgICAgInRlc3RfVmFyaWFibGUiOgorICAgIFsKKyAg ICAgIHsKKyAgICAgICAgIm5hbWUiOiJlbmFibGVfc29ydCIsCisgICAgICAg ICJ2YWx1ZSI6dHJ1ZQorICAgICAgfQorICAgIF0KKyAgfSwKKworICAidGVz dF90cmlnZ2VyX2Z1bmNfdXBkYXRlX2RhdGEiOgorICB7CisgICAgInRlc3Rf Y29tbWVudCI6ICJUaGlzIGlzIHRyaWdnZXIgZnVuY3Rpb24gdXBkYXRlIGNv bW1lbnQiCisgIH0sCisKKyAgInRlc3RfZXZlbnRfdHJpZ2dlcl9jcmVkZW50 aWFscyI6CisgIHsKKyAgICAidGVzdF9lbmFibGUiOiAiTyIsCisgICAgInRl c3RfZXZlbnRfZnVuYyI6ICJ0ZXN0X3NjaGVtYS50ZXN0X2Fib3J0X2FueV9j b21tYW5kIiwKKyAgICAidGVzdF9ldmVudF9uYW1lIjogICJERExfQ09NTUFO RF9FTkQiLAorICAgICJ0ZXN0X2V2ZW50X293bmVyIjogICJwb3N0Z3JlcyIs CisgICAgInRlc3RfbmFtZSI6ICJ0ZXN0X2V2ZW50X3RyZyIsCisgICAgInRl c3RfcHJvdmlkZXIiOiBbXQorICB9LAorCisgICAidGVzdF9ldmVudF90cmln Z2VyX3VwZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X2NvbW1lbnQiOiAi VGhpcyBpcyBldmVudCB0cmlnZ2VyIHVwZGF0ZSBjb21tZW50IgorICB9LAor CisgICJ0ZXN0X0ZEV19jcmVkZW50aWFscyI6CisgIHsKKyAgICAidGVzdF9h Y2wiOgorICAgIFsKKyAgICAgIHsKKyAgICAgICAgImdyYW50ZWUiOiJwb3N0 Z3JlcyIsCisgICAgICAgICJncmFudG9yIjoicG9zdGdyZXMiLAorICAgICAg ICAicHJpdmlsZWdlcyI6CisgICAgICAgIFsKKyAgICAgICAgICB7CisgICAg ICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiJVIiwKKyAgICAgICAgICAgICJw cml2aWxlZ2UiOnRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6dHJ1 ZQorICAgICAgICAgIH0KKyAgICAgICAgXQorICAgICAgfQorICAgIF0sCisK KyAgICAidGVzdF9oYW5kbGVyIjogInBvc3RncmVzX2Zkd19oYW5kbGVyIiwK KyAgICAidGVzdF9vcHRpb25zIjogW10sCisgICAgInRlc3Rfb3duZXIiOiAi cG9zdGdyZXMiLAorICAgICJ0ZXN0X3ZhbGlkYXRvciI6ICJwb3N0Z3Jlc3Fs X2Zkd192YWxpZGF0b3IiLAorICAgICJ0ZXN0X25hbWUiOiAidGVzdF9mZHci CisgIH0sCisKKyAgICAidGVzdF9GRFdfdXBkYXRlX2RhdGEiOgorICB7Cisg ICAgInRlc3RfY29tbWVudCI6ICJUaGlzIGlzIEZEVyB1cGRhdGUgY29tbWVu dCIKKyAgfSwKKworICAidGVzdF9jb2xsYXRpb25fY3JlZGVudGlhbHMiOgor ICB7CisgICAgInRlc3RfY29weV9jb2xsYXRpb24iOiAicGdfY2F0YWxvZy5c IlBPU0lYXCIiLAorICAgICJ0ZXN0X25hbWUiOiAidGVzdF9jb2xsYXRpb24i LAorICAgICJ0ZXN0X293bmVyIjogInBvc3RncmVzIiwKKyAgICAidGVzdF9z Y2hlbWEiOiAidGVzdF9zY2hlbWEiCisgIH0sCisKKyAgICJ0ZXN0X2NvbGxh dGlvbl91cGRhdGVfZGF0YSI6CisgIHsKKyAgICAidGVzdF9jb21tZW50Ijog IlRoaXMgaXMgY29sbGF0aW9uIHVwZGF0ZSBjb21tZW50IgorICB9LAorCisK KyAgInRlc3RfZG9tYWluX2RhdGEiOgorICB7CisgICAgInRlc3Rfc2NoZW1h IjogInRlc3Rfc2NoZW1hIiwKKyAgICAidGVzdF9iYXNldHlwZSI6ICJjaGFy YWN0ZXIiLAorICAgICJ0ZXN0X2NvbGxhdGlvbiI6ICJwZ19jYXRhbG9nLlwi ZW5fQUdcIiIsCisgICAgInRlc3RfY29uc3RyYWludHMiOgorICAgIFsKKyAg ICAgIHsKKyAgICAgICAgImNvbm5hbWUiOiJudW0iLAorICAgICAgICAiY29u dmFsaWRhdGVkIjp0cnVlCisgICAgICB9CisgICAgXSwKKyAgICAidGVzdF9s ZW5naHQiOiB0cnVlLAorICAgICJ0ZXN0X21heF92YWx1ZSI6ICAyMTQ3NDgz NjQ3LAorICAgICJ0ZXN0X21pbl92YWx1ZSI6IDEsCisgICAgInRlc3RfbmFt ZSI6ICJ0ZXN0X2RvbWFpbiIsCisgICAgInRlc3Rfb3duZXIiOiAicG9zdGdy ZXMiLAorICAgICJ0ZXN0X3NlY3VyaXR5IjogW10sCisgICAgInRlc3RfZGVm YWx0X3R5cGUiOiAiMSIsCisgICAgInRlc3RfdHlwZV9sZW4iOiAiMTAiCisg IH0sCisKKyAgInRlc3RfZG9tYWluX3VwZGF0ZV9kYXRhIjoKKyAgeworICAg ICJ0ZXN0X2NvbW1lbnQiOiAiVGhpcyBpcyBkb21haW4gdXBkYXRlIGNvbW1l bnQiCisgIH0sCisKKyAgInRlc3Rfc2VxdWVuY2VfY3JlZGVudGlhbHMiOgor ICB7CisgICAgInRlc3RfY2FjaGUiOiAiMSIsCisgICAgInRlc3RfY3ljbGVk IjogdHJ1ZSwKKyAgICAidGVzdF9pbmNyZW1lbnQiOiAgIjEiLAorICAgICJ0 ZXN0X21heF92YWx1ZSI6ICIxMDAwMDAiLAorICAgICJ0ZXN0X21pbl92YWx1 ZSI6ICIxIiwKKyAgICAidGVzdF9uYW1lIjogInRlc3RfZW1wbm8iLAorICAg ICJ0ZXN0X2FjbCI6CisgICAgWworICAgICAgeworICAgICAgICAiZ3JhbnRl ZSI6InBvc3RncmVzIiwKKyAgICAgICAgImdyYW50b3IiOiJwb3N0Z3JlcyIs CisgICAgICAgICJwcml2aWxlZ2VzIjoKKyAgICAgICAgWworICAgICAgICAg IHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6InIiLAorICAgICAg ICAgICAgInByaXZpbGVnZSI6dHJ1ZSwKKyAgICAgICAgICAgICJ3aXRoX2dy YW50IjpmYWxzZQorICAgICAgICAgIH0sCisgICAgICAgICAgeworICAgICAg ICAgICAgInByaXZpbGVnZV90eXBlIjoidyIsCisgICAgICAgICAgICAicHJp dmlsZWdlIjp0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOmZhbHNl CisgICAgICAgICAgfSwKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJp dmlsZWdlX3R5cGUiOiJVIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOnRy dWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAgICAgICAg ICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAorICAgICJ0ZXN0X3Nj aGVtYV9uYW1lIjogInRlc3Rfc2NoZW1hIiwKKyAgICAidGVzdF9zZWN1cml0 eSI6ICBbXSwKKyAgICAidGVzdF9vd25lciI6ICAicG9zdGdyZXMiLAorICAg ICJ0ZXN0X3N0YXJ0X3ZhbCI6ICIxMDAiCisgIH0sCisKKyAgICAidGVzdF9z ZXF1bmNlX3VwZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X2NvbW1lbnQi OiAiVGhpcyBpcyBzZXF1ZW5jZSB1cGRhdGUgY29tbWVudCIKKyAgfSwKKwor ICAidGVzdF90YWJsZV9jcmVkZW50aWFscyI6CisgIHsKKyAgICAidGVzdF9j b25zdHJhaW50IjogW10sCisgICAgInRlc3RfY29sX2luaGVyaXQiOiAiW10i LAorICAgICJ0ZXN0X2NvbHVtbnMiOgorICAgIFsKKyAgICAgIHsKKyAgICAg ICAgIm5hbWUiOiJlbXBubyIsCisgICAgICAgICJjbHR5cGUiOiJudW1lcmlj IiwKKyAgICAgICAgImF0dGFjbCI6W10sCisgICAgICAgICJpc19wcmltYXJ5 X2tleSI6ZmFsc2UsCisgICAgICAgICJhdHRvcHRpb25zIjpbXSwKKyAgICAg ICAgInNlY2xhYmVscyI6W10KKyAgICAgIH0sCisgICAgICB7CisgICAgICAg ICJuYW1lIjoiZW1wbmFtZSIsCisgICAgICAgICJjbHR5cGUiOiJjaGFyYWN0 ZXJbXSIsCisgICAgICAgICJhdHRhY2wiOltdLAorICAgICAgICAiaXNfcHJp bWFyeV9rZXkiOmZhbHNlLAorICAgICAgICAiYXR0b3B0aW9ucyI6W10sCisg ICAgICAgICJzZWNsYWJlbHMiOltdCisgICAgICB9LAorICAgICAgeyJuYW1l IjoiRE9KIiwKKyAgICAgICAgImNsdHlwZSI6ImRhdGVbXSIsCisgICAgICAg ICJhdHRhY2wiOltdLAorICAgICAgICAiaXNfcHJpbWFyeV9rZXkiOmZhbHNl LAorICAgICAgICAiYXR0b3B0aW9ucyI6W10sCisgICAgICAgICJzZWNsYWJl bHMiOltdCisgICAgICB9CisgICAgXSwKKyAgICAidGVzdF9oYXNfY29uc3Ry YWludCI6IFtdLAorICAgICJ0ZXN0X2ZpbGxmYWN0b3IiOiAiMTEiLAorICAg ICJ0ZXN0X2hhc19GSyI6IFtdLAorICAgICJ0ZXN0X2hhc190b2FzdF90Ymwi OiB0cnVlLAorICAgICJ0ZXN0X2xpa2VfY29uc3RyYWludCI6ICB0cnVlLAor ICAgICJ0ZXN0X2xpa2VfZGVmYXVsdF92YWx1ZSI6IHRydWUsCisgICAgInRl c3RfbGlrZV9yZWxhdGlvbiI6ICJwZ19jYXRhbG9nLnBnX3RhYmxlcyIsCisg ICAgInRlc3RfbmFtZSI6ICJ0ZXN0X2VtcCIsCisgICAgInRlc3RfUEsiOiBb XSwKKyAgICAidGVzdF9hY2wiOgorICAgIFsKKyAgICAgIHsKKyAgICAgICAg ImdyYW50ZWUiOiJwb3N0Z3JlcyIsCisgICAgICAgICJncmFudG9yIjoicG9z dGdyZXMiLAorICAgICAgICAicHJpdmlsZWdlcyI6CisgICAgICAgIFsKKyAg ICAgICAgICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiJhIiwK KyAgICAgICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisgICAgICAgICAgICAi d2l0aF9ncmFudCI6dHJ1ZQorICAgICAgICAgIH0sCisgICAgICAgICAgewor ICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjoiciIsCisgICAgICAgICAg ICAicHJpdmlsZWdlIjp0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQi OmZhbHNlCisgICAgICAgICAgfSwKKyAgICAgICAgICB7CisgICAgICAgICAg ICAicHJpdmlsZWdlX3R5cGUiOiJ3IiwKKyAgICAgICAgICAgICJwcml2aWxl Z2UiOnRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAg ICAgICAgICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAorICAgICJ0 ZXN0X2hhc19vaWQiOiB0cnVlLAorICAgICJ0ZXN0X293bmVyIjogICJwb3N0 Z3JlcyIsCisgICAgInRlc3Rfc2NoZW1hIjogInRlc3Rfc2NoZW1hIiwKKyAg ICAidGVzdF9zZWNfYWNsIjogIFtdLAorICAgICJ0ZXN0X3Ric2NwIjogInBn X2RlZmF1bHQiLAorICAgICJ0ZXN0X3VuaXF1ZV9jb25zdHJhaW50IjogW10s CisgICAgInRlc3RfdmFjdXVtX3RibCI6CisgICAgWworICAgICAgeworICAg ICAgICAibmFtZSI6ImF1dG92YWN1dW1fYW5hbHl6ZV9zY2FsZV9mYWN0b3Ii CisgICAgICB9LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1 dW1fYW5hbHl6ZV90aHJlc2hvbGQiCisgICAgICB9LAorICAgICAgeworICAg ICAgICAibmFtZSI6ImF1dG92YWN1dW1fZnJlZXplX21heF9hZ2UiCisgICAg ICB9LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1fdmFj dXVtX2Nvc3RfZGVsYXkiCisgICAgICB9LAorICAgICAgeworICAgICAgICAi bmFtZSI6ImF1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQiCisgICAgICB9 LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1fdmFjdXVt X3NjYWxlX2ZhY3RvciIKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJu YW1lIjoiYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkIgorICAgICAgfSwK KyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX2ZyZWV6ZV9t aW5fYWdlIgorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJh dXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UiCisgICAgICB9CisgICAgXSwK KworICAgICJ0ZXN0X3ZhY3V1bV90b2FzdCI6CisgICAgWworICAgICAgewor ICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1fZnJlZXplX21heF9hZ2UiCisg ICAgICB9LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1f dmFjdXVtX2Nvc3RfZGVsYXkiCisgICAgICB9LAorICAgICAgeworICAgICAg ICAibmFtZSI6ImF1dG92YWN1dW1fdmFjdXVtX2Nvc3RfbGltaXQiCisgICAg ICB9LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1fdmFj dXVtX3NjYWxlX2ZhY3RvciIKKyAgICAgIH0sCisgICAgICB7CisgICAgICAg ICJuYW1lIjoiYXV0b3ZhY3V1bV92YWN1dW1fdGhyZXNob2xkIgorICAgICAg fSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX2ZyZWV6 ZV9taW5fYWdlIgorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUi OiJhdXRvdmFjdXVtX2ZyZWV6ZV90YWJsZV9hZ2UiCisgICAgICB9CisgICAg XQorCisgIH0sCisKKyAgICAidGVzdF90YWJsZV91cGRhdGVfZGF0YSI6Cisg IHsKKyAgICAidGVzdF9jb21tZW50IjogIlRoaXMgaXMgdGFibGUgdXBkYXRl IGNvbW1lbnQiCisgIH0sCisKKyAgInRlc3Rfdmlld19jcmVkZW50aWFscyI6 CisgIHsKKyAgICAidGVzdF9jaGVja19vcHRpb25zIjogImxvY2FsIiwKKyAg ICAidGVzdF9hY2wiOgorICAgIFsKKyAgICAgIHsKKyAgICAgICAgImdyYW50 ZWUiOiJwb3N0Z3JlcyIsCisgICAgICAgICJncmFudG9yIjoicG9zdGdyZXMi LAorICAgICAgICAicHJpdmlsZWdlcyI6CisgICAgICAgIFsKKyAgICAgICAg ICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiJhIiwKKyAgICAg ICAgICAgICJwcml2aWxlZ2UiOnRydWUsCisgICAgICAgICAgICAid2l0aF9n cmFudCI6dHJ1ZQorICAgICAgICAgIH0sCisgICAgICAgICAgeworICAgICAg ICAgICAgInByaXZpbGVnZV90eXBlIjoiciIsCisgICAgICAgICAgICAicHJp dmlsZWdlIjp0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOmZhbHNl CisgICAgICAgICAgfQorICAgICAgICBdCisgICAgICB9CisgICAgXSwKKyAg ICAidGVzdF9kZWZpbml0aW9uIjogICJzZWxlY3QgdGVzdF9lbXAuZW1wbmFt ZSBmcm9tIHRlc3Rfc2NoZW1hLnRlc3RfZW1wOyIsCisgICAgInRlc3RfbmFt ZSI6ICAidGVzdF92aWV3IiwKKyAgICAidGVzdF9vd25lciI6ICJwb3N0Z3Jl cyIsCisgICAgInRlc3Rfc2NoZW1hX25hbWUiOiAidGVzdF9zY2hlbWEiLAor ICAgICJ0ZXN0X3NlY19sYWJlbCI6IFtdCisgIH0sCisKKyAgInRlc3Rfdmll d191cGRhdGVfZGF0YSI6CisgIHsKKyAgICAidGVzdF9jb21tZW50IjogIlRo aXMgaXMgdmlldyB1cGRhdGUgY29tbWVudCIKKyAgfSwKKworICAidGVzdF9t dmlld19jcmVkZW50aWFscyI6CisgIHsKKyAgICAidGVzdF9hY2wiOgorICAg IFsKKyAgICAgIHsKKyAgICAgICAgImdyYW50ZWUiOiJwb3N0Z3JlcyIsCisg ICAgICAgICJncmFudG9yIjoicG9zdGdyZXMiLAorICAgICAgICAicHJpdmls ZWdlcyI6CisgICAgICAgIFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAi cHJpdmlsZWdlX3R5cGUiOiJhIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2Ui OnRydWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAgICAg ICAgICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAorICAgICJ0ZXN0 X2RlZmluaXRpb24iOiAic2VsZWN0IHRlc3RfZW1wLmVtcG5hbWUgZnJvbSB0 ZXN0X3NjaGVtYS50ZXN0X2VtcCB3aGVyZSB0ZXN0X2VtcC5lbXBubyA9IDE7 IiwKKyAgICAidGVzdF9maWxsZmFjdG9yIjogICIxMSIsCisgICAgInRlc3Rf bmFtZSI6ICJ0ZXN0X212aWV3IiwKKyAgICAidGVzdF9vd25lciI6ICJwb3N0 Z3JlcyIsCisgICAgInRlc3Rfc2NoZW1hX25hbWUiOiAidGVzdF9zY2hlbWEi LAorICAgICJ0ZXN0X3NlY19sYWJlbCI6IFtdLAorICAgICJ0ZXN0X3Ric2Nw IjogInBnX2RlZmF1bHQiLAorICAgICJ0ZXN0X3RvYXN0X2F1dG92YWN1dW0i OiB0cnVlLAorICAgICJ0ZXN0X3RvYXN0X2F1dG92YWN1dW1fZW5hYmxlZCI6 IGZhbHNlLAorICAgICJ0ZXN0X3ZhY3V1bV90YmwiOgorICAgIFsKKyAgICAg IHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX2FuYWx5emVfc2NhbGVf ZmFjdG9yIgorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJh dXRvdmFjdXVtX2FuYWx5emVfdGhyZXNob2xkIgorICAgICAgfSwKKyAgICAg IHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX2ZyZWV6ZV9tYXhfYWdl IgorICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFj dXVtX3ZhY3V1bV9jb3N0X2RlbGF5IgorICAgICAgfSwKKyAgICAgIHsKKyAg ICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX3ZhY3V1bV9jb3N0X2xpbWl0Igor ICAgICAgfSwKKyAgICAgIHsKKyAgICAgICAgIm5hbWUiOiJhdXRvdmFjdXVt X3ZhY3V1bV9zY2FsZV9mYWN0b3IiCisgICAgICB9LAorICAgICAgeworICAg ICAgICAibmFtZSI6ImF1dG92YWN1dW1fdmFjdXVtX3RocmVzaG9sZCIKKyAg ICAgIH0sCisgICAgICB7CisgICAgICAgICJuYW1lIjoiYXV0b3ZhY3V1bV9m cmVlemVfbWluX2FnZSIKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJu YW1lIjoiYXV0b3ZhY3V1bV9mcmVlemVfdGFibGVfYWdlIgorICAgICAgfQor ICAgIF0sCisgICAgInRlc3RfdmFjdXVtX3RvYXN0IjoKKyAgICBbCisgICAg ICB7CisgICAgICAgICJuYW1lIjoiYXV0b3ZhY3V1bV9mcmVlemVfbWF4X2Fn ZSIKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJuYW1lIjoiYXV0b3Zh Y3V1bV92YWN1dW1fY29zdF9kZWxheSIKKyAgICAgIH0sCisgICAgICB7Cisg ICAgICAgICJuYW1lIjoiYXV0b3ZhY3V1bV92YWN1dW1fY29zdF9saW1pdCIK KyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJuYW1lIjoiYXV0b3ZhY3V1 bV92YWN1dW1fc2NhbGVfZmFjdG9yIgorICAgICAgfSwKKyAgICAgIHsKKyAg ICAgICAgIm5hbWUiOiJhdXRvdmFjdXVtX3ZhY3V1bV90aHJlc2hvbGQiCisg ICAgICB9LAorICAgICAgeworICAgICAgICAibmFtZSI6ImF1dG92YWN1dW1f ZnJlZXplX21pbl9hZ2UiCisgICAgICB9LAorICAgICAgeworICAgICAgICAi bmFtZSI6ImF1dG92YWN1dW1fZnJlZXplX3RhYmxlX2FnZSIKKyAgICAgIH0K KyAgICBdLAorCisgICAgInRlc3Rfd2l0aF9kYXRhIjogdHJ1ZQorICB9LAor CisgICAgInRlc3RfbXZpZXdfdXBkYXRlX2RhdGEiOgorICB7CisgICAgInRl c3RfY29tbWVudCI6ICJUaGlzIGlzIG1hdGVyaWFsaXplZCB2aWV3IHVwZGF0 ZSBjb21tZW50IgorICB9LAorCisgICJ0ZXN0X2ZvcmVpZ25fc2VydmVyX2Ny ZWRlbnRpYWxzIjoKKyAgeworICAgICJ0ZXN0X2Zzcl9hY2wiOgorICAgIFsK KyAgICAgIHsKKyAgICAgICAgImdyYW50ZWUiOiJwb3N0Z3JlcyIsCisgICAg ICAgICJncmFudG9yIjoicG9zdGdyZXMiLAorICAgICAgICAicHJpdmlsZWdl cyI6CisgICAgICAgIFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJp dmlsZWdlX3R5cGUiOiJVIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOnRy dWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAgICAgICAg ICB9CisgICAgICAgIF0KKyAgICAgIH0KKyAgICBdLAorCisgICAgInRlc3Rf ZnNyX29wdG5zIjoKKyAgICBbCisgICAgICB7CisgICAgICAgICJmc3J2b3B0 aW9uIjoiaG9zdCIsCisgICAgICAgICJmc3J2dmFsdWUiOiJsb2NhbGhvc3Qi CisgICAgICB9LAorICAgICAgeworICAgICAgICAiZnNydm9wdGlvbiI6InBv cnQiLAorICAgICAgICAiZnNydnZhbHVlIjoiNTQzMyIKKyAgICAgIH0sCisg ICAgICB7CisgICAgICAgICJmc3J2b3B0aW9uIjoiZGJuYW1lIiwKKyAgICAg ICAgImZzcnZ2YWx1ZSI6InBvc3RncmVzIgorICAgICAgfQorICAgIF0sCisg ICAgInRlc3RfZnNyX293bmVyIjogInBvc3RncmVzIiwKKyAgICAidGVzdF9u YW1lIjogInRlc3RfZm9yZWlnbl9zZXJ2ZXIiCisgIH0sCisKKyAgInRlc3Rf RlJTX3VwZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X2NvbW1lbnQiOiAi VGhpcyBpcyBmb3JlaWduIHNlcnZlciB1cGRhdGUgY29tbWVudCIKKyAgfSwK KworICAidGVzdF91c2VyX21hcHBpbmdfY3JlZGVudGlhbHMiOgorICB7Cisg ICAgInRlc3RfbmFtZSI6ICJwb3N0Z3JlcyIsCisgICAgInRlc3Rfb3B0aW9u IjogW10sCisgICAgInRlc3Rfb3B0aW9ucyI6CisgICAgWworICAgICAgewor ICAgICAgICAidW1vcHRpb24iOiJ1c2VyIiwKKyAgICAgICAgInVtdmFsdWUi OiJwb3N0Z3JlcyIKKyAgICAgIH0sCisgICAgICB7CisgICAgICAgICJ1bW9w dGlvbiI6InBhc3N3b3JkIiwKKyAgICAgICAgInVtdmFsdWUiOiJlZGIiCisg ICAgICB9CisgICAgXQorICB9LAorCisgICJ0ZXN0X3VzZXJfbWFwcGluZ191 cGRhdGVfZGF0YSI6CisgIHsKKyAgICAidGVzdF9vcHRpb25zIjoKKyAgICB7 CisgICAgICAiY2hhbmdlZCI6CisgICAgICBbCisgICAgICAgIHsidW1vcHRp b24iOiJwYXNzd29yZCIsCisgICAgICAgICAgInVtdmFsdWUiOiJlZGIxIgor ICAgICAgICB9CisgICAgICBdCisgICAgfQorICB9LAorCisgICJ0ZXN0X2Zv cmVpZ25fdGFibGVfY3JlZGVudGlhbHMiOgorICB7CisgICAgInRlc3RfYWNs IjoKKyAgICBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjoicG9zdGdy ZXMiLAorICAgICAgICAiZ3JhbnRvciI6InBvc3RncmVzIiwKKyAgICAgICAg InByaXZpbGVnZXMiOgorICAgICAgICBbCisgICAgICAgICAgeworICAgICAg ICAgICAgInByaXZpbGVnZV90eXBlIjoiYSIsCisgICAgICAgICAgICAicHJp dmlsZWdlIjp0cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOmZhbHNl CisgICAgICAgICAgfSwKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJp dmlsZWdlX3R5cGUiOiJyIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOnRy dWUsCisgICAgICAgICAgICAid2l0aF9ncmFudCI6ZmFsc2UKKyAgICAgICAg ICB9LAorICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlw ZSI6InciLAorICAgICAgICAgICAgInByaXZpbGVnZSI6dHJ1ZSwKKyAgICAg ICAgICAgICJ3aXRoX2dyYW50IjpmYWxzZQorICAgICAgICAgIH0sCisgICAg ICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjoieCIsCisg ICAgICAgICAgICAicHJpdmlsZWdlIjp0cnVlLAorICAgICAgICAgICAgIndp dGhfZ3JhbnQiOmZhbHNlCisgICAgICAgICAgfQorICAgICAgICBdCisgICAg ICB9CisgICAgXSwKKyAgICAidGVzdF9zY2hlbWFfbmFtZSI6ICJ0ZXN0X3Nj aGVtYSIsCisgICAgInRlc3RfY29sdW1uIjoKKyAgICBbCisgICAgICB7Cisg ICAgICAgICJhdHRuYW1lIjoiZW5tZSIsCisgICAgICAgICJkYXRhdHlwZSI6 InRleHQiLAorICAgICAgICAiYXR0bm90bnVsbCI6dHJ1ZSwKKyAgICAgICAg ImNvbGxuYW1lIjoicGdfY2F0YWxvZy5cImRlZmF1bHRcIiIsCisgICAgICAg ICJpc190bGVuZ3RoIjpmYWxzZSwKKyAgICAgICAgImlzX3ByZWNpc2lvbiI6 ZmFsc2UKKyAgICAgIH0KKyAgICBdLAorICAgICJ0ZXN0X2NvbnN0cmFpbnRz IjogW10sCisgICAgInRlc3Rfb3B0aW9ucyI6IFtdLAorICAgICJ0ZXN0X2Zy c19uYW1lIjogICJ0ZXN0X2ZvcmVpZ25fc2VydmVyIiwKKyAgICAidGVzdF9u YW1lIjogInRlc3RfZnQiLAorICAgICJ0ZXN0X293bmVyIjogICJwb3N0Z3Jl cyIsCisgICAgInRlc3RfcmVsX2FjbCI6ICBbXSwKKyAgICAidGVzdF9zZWNf bGFibGUiOiBbXSwKKyAgICAidGVzdF9zdHJfYWNsIjogW10KKyAgfSwKKwor ICAgICJ0ZXN0X0ZUX3VwZGF0ZV9kYXRhIjoKKyAgeworICAgICJ0ZXN0X2Nv bW1lbnQiOiAiVGhpcyBpcyBmb3JlaWduIHRhYmxlIHVwZGF0ZSBjb21tZW50 IgorICB9CisKKworCisKKworCisKKworCisKKworCisKKworCisKKworCisK KworCisKKworCisKK30KZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rl c3Rfbm9kZXMucHkgYi93ZWIvcmVncmVzc2lvbi90ZXN0X25vZGVzLnB5Cm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4NzdhMDQKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lvbi90ZXN0X25vZGVzLnB5 CkBAIC0wLDAgKzEsNDAgQEAKKyMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMK KyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmln aHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBU ZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBv c3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KworZnJvbSByZWdyZXNzaW9uLmNvbmZpZyBpbXBvcnQgY29uZmlnX2RhdGEK K2ltcG9ydCBqc29uCitmcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBv cnQgZ2V0X2lkcworCisKK2RlZiB0ZXN0X2dldG5vZGVzKG5vZGU9Tm9uZSk6 CisgICAgIyBDb25uZWN0IHRvIHNlcnZlciBhbmQgZGF0YWJhc2UuCisKKyAg ICBpZiBub3Qgbm9kZToKKyAgICAgICAgcmV0dXJuIE5vbmUKKworICAgIGFs bF9pZCA9IGdldF9pZHMoKQorCisgICAgc2VydmVyX2lkID0gYWxsX2lkWyJz aWQiXVswXQorICAgIGRiX2lkID0gYWxsX2lkWyJkaWQiXVswXQorICAgIHNy dl9ncnAgPSBjb25maWdfZGF0YVsndGVzdF9zZXJ2ZXJfZ3JvdXAnXQorCisg ICAgcmVzcG9uc2UgPSBub2RlLnRlc3Rlci5wb3N0KCdicm93c2VyL3NlcnZl ci9jb25uZWN0L3swfS97MX0nLmZvcm1hdAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc3J2X2dycCwgc2VydmVyX2lkKSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1kaWN0KHBhc3N3b3JkPWNv bmZpZ19kYXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFsn dGVzdF9zZXJ2ZXJfY3JlZGVudGlhbHMnXVswXQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBbJ3Rlc3RfZGJfcGFzc3dvcmQnXSksIGZvbGxv d19yZWRpcmVjdHM9VHJ1ZSkKKworICAgIGNvbl9yZXNwb25zZSA9IG5vZGUu dGVzdGVyLnBvc3QoJ2Jyb3dzZXIvZGF0YWJhc2UvY29ubmVjdC8nCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnezB9L3sxfS97Mn0n LmZvcm1hdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNydl9ncnAsIHNlcnZlcl9pZCwgZGJfaWQpLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQor CisgICAgZGJfY29uID0ganNvbi5sb2Fkcyhjb25fcmVzcG9uc2UuZGF0YS5k ZWNvZGUoKSkKKworICAgIHJldHVybiBkYl9jb24KZGlmZiAtLWdpdCBhL3dl Yi9yZWdyZXNzaW9uL3Rlc3RfdXRpbHMucHkgYi93ZWIvcmVncmVzc2lvbi90 ZXN0X3V0aWxzLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmFiYzA2ZDAKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcmVncmVzc2lv bi90ZXN0X3V0aWxzLnB5CkBAIC0wLDAgKzEsMTkgQEAKKyMgIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29s cworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE2LCBUaGUgcGdBZG1p biBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFz ZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIworIyAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKworaW1wb3J0IHBpY2tsZQorCisKK2RlZiBnZXRf aWRzKHVybD0nL2hvbWUvZWRiL0Rvd25sb2Fkcy9wZ2FkbWluNC93ZWIvcmVn cmVzc2lvbi9wYXJlbnRfaWQucGtsJyk6CisgICAgIyBUaGlzIGZ1bmN0aW9u IHdpbGwgcmVhZCBwYXJlbnQgbm9kZXMgaWQncyBhbmQgcmV0dXJuIGl0Lgor CisgICAgb3V0cHV0ID0gb3Blbih1cmwsICdyYicpCisgICAgaWRzID0gcGlj a2xlLmxvYWQob3V0cHV0KQorICAgIG91dHB1dC5jbG9zZSgpCisgICAgcmV0 dXJuIGlkcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp dCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RzdWl0ZS5weSBiL3dlYi9yZWdyZXNz aW9uL3Rlc3RzdWl0ZS5weQppbmRleCA5ZWM3ZmZlLi42ZDhlMDc0IDEwMDY0 NAotLS0gYS93ZWIvcmVncmVzc2lvbi90ZXN0c3VpdGUucHkKKysrIGIvd2Vi L3JlZ3Jlc3Npb24vdGVzdHN1aXRlLnB5CkBAIC05LDEwICs5LDEyIEBACiAK ICIiIiBUaGlzIGZpbGUgY29sbGVjdCBhbGwgbW9kdWxlcy9maWxlcyBwcmVz ZW50IGluIHRlc3RzIGRpcmVjdG9yeSBhbmQgYWRkCiB0aGVtIHRvIFRlc3RT dWl0ZS4gIiIiCi0KK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVu Y3Rpb24KIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0ZXN0 CitpbXBvcnQgb3BlcmF0b3IKK2ltcG9ydCBsb2dnaW5nCiBmcm9tIHRlc3Rz Y2VuYXJpb3Muc2NlbmFyaW9zIGltcG9ydCBnZW5lcmF0ZV9zY2VuYXJpb3MK IAogIyBXZSBuZWVkIHRvIGluY2x1ZGUgdGhlIHJvb3QgZGlyZWN0b3J5IGlu IHN5cy5wYXRoIHRvIGVuc3VyZSB0aGF0IHdlIGNhbgpAQCAtNDQsNiArNDYs MjEgQEAgVGVzdHNHZW5lcmF0b3JSZWdpc3RyeS5sb2FkX2dlbmVyYXRvcnMo J3BnYWRtaW4nKQogIyBhcHBsaWNhdGlvbi4gV2UgY2FuIHRyaWdnZXIgdGVz dCByZXF1ZXN0IHRvIHRoZSBhcHBsaWNhdGlvbi4KIHRlc3RfY2xpZW50ID0g YXBwLnRlc3RfY2xpZW50KCkKIAorY2xhc3MgU3RyZWFtVG9Mb2dnZXIob2Jq ZWN0KToKKyAgICAiIiIKKyAgICBGYWtlIGZpbGUtbGlrZSBzdHJlYW0gb2Jq ZWN0IHRoYXQgcmVkaXJlY3RzIHdyaXRlcyB0byBhIGxvZ2dlciBpbnN0YW5j ZS4KKyAgICAiIiIKKyAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2VyLCBs b2dfbGV2ZWw9bG9nZ2luZy5JTkZPKToKKyAgICAgICAgc2VsZi5sb2dnZXIg PSBsb2dnZXIKKyAgICAgICAgc2VsZi5sb2dfbGV2ZWwgPSBsb2dfbGV2ZWwK KyAgICAgICAgc2VsZi5saW5lYnVmID0gJycKKworICAgIGRlZiB3cml0ZShz ZWxmLCBidWYpOgorICAgICAgICBmb3IgbGluZSBpbiBidWYucnN0cmlwKCku c3BsaXRsaW5lcygpOgorICAgICAgICAgICAgc2VsZi5sb2dnZXIubG9nKHNl bGYubG9nX2xldmVsLCBsaW5lLnJzdHJpcCgpKQorCisgICAgZGVmIGZsdXNo KHNlbGYpOgorICAgICAgICBwYXNzCiAKIGRlZiBzdWl0ZSgpOgogICAgICIi IiBEZWZpbmluZyB0ZXN0IHN1aXRlIHdoaWNoIHdpbGwgZXhlY3V0ZSBhbGwg dGhlIHRlc3RjYXNlcyBwcmVzZW50IGluCkBAIC01OCw2ICs3NSw4IEBAIGRl ZiBzdWl0ZSgpOgogCiAgICAgICAgIG1vZHVsZXMuaW5zZXJ0KGdlbi5wcmlv cml0eSwgZ2VuKQogCisgICAgbW9kdWxlcy5zb3J0KGtleT1vcGVyYXRvci5h dHRyZ2V0dGVyKCdwcmlvcml0eScpKQorCiAgICAgZm9yIG0gaW4gbW9kdWxl czoKICAgICAgICAgb2JqID0gbSgpCiAgICAgICAgIG9iai5zZXRUZXN0Q2xp ZW50KHRlc3RfY2xpZW50KQpAQCAtNjYsNyArODUsMjYgQEAgZGVmIHN1aXRl KCk6CiAKICAgICByZXR1cm4gcGdhZG1pbl9zdWl0ZQogCi0KIGlmIF9fbmFt ZV9fID09ICdfX21haW5fXyc6CisKKyAgICBwcmludCgiUGxlYXNlIGNoZWNr IG91dHB1dCBpbiBmaWxlOiBsb2dnZXIubG9nIHBsYWNlZCBhdCAiCisgICAg ICAgICAgIi4uLi9wZ2FkbWluNC93ZWIvcmVncmVzc2lvbiIpCisKKyAgICBs b2dnaW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcsCisgICAg ICAgICAgICAgICAgICAgICAgICBmb3JtYXQ9JyUoYXNjdGltZSlzOiUobGV2 ZWxuYW1lKXM6JShuYW1lKXM6JShtZXNzYWdlKXMnLAorICAgICAgICAgICAg ICAgICAgICAgICAgZmlsZW5hbWU9ImxvZ2dlci5sb2ciLAorICAgICAgICAg ICAgICAgICAgICAgICAgZmlsZW1vZGU9J3cnCisgICAgICAgICAgICAgICAg ICAgICAgICApCisKKyAgICBzdGRvdXRfbG9nZ2VyID0gbG9nZ2luZy5nZXRM b2dnZXIoJ1NURE9VVCcpCisgICAgc2wgPSBTdHJlYW1Ub0xvZ2dlcihzdGRv dXRfbG9nZ2VyLCBsb2dnaW5nLklORk8pCisgICAgc3lzLnN0ZG91dCA9IHNs CisKKyAgICBzdGRlcnJfbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoJ1NU REVSUicpCisgICAgc2wgPSBTdHJlYW1Ub0xvZ2dlcihzdGRlcnJfbG9nZ2Vy LCBsb2dnaW5nLkVSUk9SKQorICAgIHN5cy5zdGRlcnIgPSBzbAorCiAgICAg c3VpdGUgPSBzdWl0ZSgpCi0gICAgdGVzdHMgPSB1bml0dGVzdC5UZXh0VGVz dFJ1bm5lcihkZXNjcmlwdGlvbnM9VHJ1ZSwgdmVyYm9zaXR5PTIpLnJ1bihz dWl0ZSkKKyAgICB0ZXN0cyA9IHVuaXR0ZXN0LlRleHRUZXN0UnVubmVyKGRl c2NyaXB0aW9ucz1UcnVlLCB2ZXJib3NpdHk9MiwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cmVhbT1zeXMuc3Rkb3V0KS5ydW4o c3VpdGUpCisgICAgb3MucmVtb3ZlKCJwYXJlbnRfaWQucGtsIikK --94eb2c04b5ee8579e305348bac15 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --94eb2c04b5ee8579e305348bac15--