From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Marian Koncek To: git-commits@fedoraproject.org Subject: [rpms/mysql-connector-java] f45: Update to upstream version 9.7.0 and add tests subpackage Date: Mon, 17 Aug 2026 08:31:17 GMT Message-ID: <178695547772.1.14982776954536016815.rpms-mysql-connector-java-f59103549d67@fedoraproject.org> List-ID: X-Git-Repo: rpms/mysql-connector-java X-Git-Branch: f45 X-Git-Rev: f59103549d6765cb6140e644151c7bfd6ce72a10 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvbXlzcWwtY29ubmVj dG9yLWphdmEKQnJhbmNoIDogZjQ1CkNvbW1pdCA6IGY1OTEwMzU0OWQ2NzY1Y2I2MTQwZTY0NDE1 MWM3YmZkNmNlNzJhMTAKQXV0aG9yIDogTWFyaWFuIEtvbmNlayA8bWtvbmNla0ByZWRoYXQuY29t PgpEYXRlICAgOiAyMDI2LTA4LTEyVDExOjQzOjI3KzAyOjAwClN0YXRzICA6ICs0MzUvLTU3NCBp biAxMSBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMv bXlzcWwtY29ubmVjdG9yLWphdmEvYy9mNTkxMDM1NDlkNjc2NWNiNjE0MGU2NDQxNTFjN2JmZDZj ZTcyYTEwP2JyYW5jaD1mNDUKCkxvZzoKVXBkYXRlIHRvIHVwc3RyZWFtIHZlcnNpb24gOS43LjAg YW5kIGFkZCB0ZXN0cyBzdWJwYWNrYWdlCgotLS0KZGlmZiAtLWdpdCBhLy5naXRpZ25vcmUgYi8u Z2l0aWdub3JlCmluZGV4IDllZGRkZWEuLmYyOGYyMGYgMTAwNjQ0Ci0tLSBhLy5naXRpZ25vcmUK KysrIGIvLmdpdGlnbm9yZQpAQCAtMjQsMyArMjQsNCBAQAogL215c3FsLWNvbm5lY3Rvci1qYXZh LTguMC4yOC1ub2phcnMudGFyLnh6CiAvbXlzcWwtY29ubmVjdG9yLWphdmEtOC4wLjI5LW5vamFy cy50YXIueHoKIC9teXNxbC1jb25uZWN0b3ItamF2YS04LjAuMzAtbm9qYXJzLnRhci54egorL215 c3FsLWNvbm5lY3Rvci1qYXZhLTkuNy4wLnRhci56c3QKCmRpZmYgLS1naXQgYS8wMDAxLVJlbW92 ZS1jb3ZlcmFnZS10ZXN0LnBhdGNoIGIvMDAwMS1SZW1vdmUtY292ZXJhZ2UtdGVzdC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNThhODRlYS4uMDAwMDAwMAotLS0gYS8wMDAx LVJlbW92ZS1jb3ZlcmFnZS10ZXN0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkyICswLDAg QEAKLUZyb20gY2RlMDI3YTQ4ODZhYzExNjBhYzQyYTZlNGJhMWZhMmQyNzEwMDliZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE9uZHJlaiBEdWJhaiA8b2R1YmFqQHJlZGhhdC5jb20+ Ci1EYXRlOiBUaHUsIDI4IEp1bCAyMDIyIDA5OjU0OjA2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0hd IFJlbW92ZSBjb3ZlcmFnZSB0ZXN0Ci0KLS0tLQotIGJ1aWxkLnhtbCB8IDE2MiAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSAxIGZpbGUgY2hh bmdlZCwgMTYyIGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYnVpbGQueG1sIGIvYnVpbGQu eG1sCi1pbmRleCA4YzRlOWY1Li4zZDEzYmY0IDEwMDY0NAotLS0tIGEvYnVpbGQueG1sCi0rKysg Yi9idWlsZC54bWwKLUBAIC0xMjc5LDgyICsxMjc5LDYgQEAgU2VlIGFsc28gY29tLm15c3FsLmNq LmNvbmYuUHJvcGVydHlEZWZpbml0aW9ucy5TWVNQXyogdmFyaWFibGVzIGZvciBvdGhlciB0ZXN0 IG8KLSAgICAgICAgIDwvY29uZGl0aW9uPgotICAgICAgICAgPGVjaG8+JHtjb20ubXlzcWwuY2ou dGVzdHN1aXRlLm1lc3NhZ2UudGVzdC5tb2RlfTwvZWNobz4KLSAKLS0gICAgICAgIDxsb2NhbCBu YW1lPSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292ZXJhZ2UiIC8+Ci0tICAgICAgICA8 Y29uZGl0aW9uIHByb3BlcnR5PSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292ZXJhZ2Ui IHZhbHVlPSJ0cnVlIiBlbHNlPSJmYWxzZSI+Ci0tICAgICAgICAgICAgPGlzc2V0IHByb3BlcnR5 PSJjb20ubXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0LmRpci5maW5hbCIgLz4KLS0gICAgICAgIDwv Y29uZGl0aW9uPgotLQotLSAgICAgICAgPGxvY2FsIG5hbWU9ImNvbS5teXNxbC5jai50ZXN0c3Vp dGUudGVzdC5jb3ZlcmFnZS5qdm1hcmdmaW5hbCIgLz4KLS0gICAgICAgIDxjb25kaXRpb24gcHJv cGVydHk9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jb3ZlcmFnZS5qdm1hcmdmaW5hbCIK LS0gICAgICAgICAgICAgICAgICAgdmFsdWU9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0 LmNvdmVyYWdlLmp2bWFyZ30iCi0tICAgICAgICAgICAgICAgICAgIGVsc2U9Ii1EY292ZXJhZ2U9 ZGlzYWJsZWQiPgotLSAgICAgICAgICAgIDxhbmQ+Ci0tICAgICAgICAgICAgICAgIDxpc3NldCBw cm9wZXJ0eT0iY29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNvdmVyYWdlLmp2bWFyZyIgLz4K LS0gICAgICAgICAgICAgICAgPG5vdD4KLS0gICAgICAgICAgICAgICAgICAgIDxlcXVhbHMgYXJn MT0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY292ZXJhZ2UuanZtYXJnfSIgYXJnMj0i IiAvPgotLSAgICAgICAgICAgICAgICA8L25vdD4KLS0gICAgICAgICAgICA8L2FuZD4KLS0gICAg ICAgIDwvY29uZGl0aW9uPgotLQotLSAgICAgICAgPCEtLSBhbnQgMS4xMC4xMCBhbmQgYWJvdmUg cHJpbnQgcmVwb3J0IHN1bW1hcmllcyB0byB0aGUgY29uc29sZSBmcm9tIHdoZXJlIHRlc3QgY291 bnRzIGNhbiBiZSByZXRyaWV2ZWQuIC0tPgotLSAgICAgICAgPGFudHZlcnNpb24gcHJvcGVydHk9 ImNvbS5teXNxbC5jai50ZXN0c3VpdGUuYW50LnZlcnNpb24iIGF0bGVhc3Q9IjEuMTAuMTAiIC8+ Ci0tCi0tICAgICAgICA8anVuaXRsYXVuY2hlciBoYWx0T25GYWlsdXJlPSJmYWxzZSIgcHJpbnRT dW1tYXJ5PSJ0cnVlIiBmYWlsdXJlUHJvcGVydHk9ImNvbS5teXNxbC5jai50ZXN0c3VpdGUuanVu aXQuZmFpbCI+Ci0tICAgICAgICAgICAgPGNsYXNzcGF0aCByZWZpZD0iY29tLm15c3FsLmNqLnRl c3RzdWl0ZS5idWlsZC5jbGFzc3BhdGgiIC8+Ci0tCi0tICAgICAgICAgICAgPHRlc3QgaWY9IiR7 Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0Lm1ldGhvZHMuZW5hYmxlZH0iCi0tICAgICAgICAg ICAgICAgICAgbmFtZT0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY2xhc3N9IgotLSAg ICAgICAgICAgICAgICAgIG1ldGhvZHM9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0Lm1l dGhvZHN9IgotLSAgICAgICAgICAgICAgICAgIG91dHB1dGRpcj0iJHtjb20ubXlzcWwuY2oudGVz dHN1aXRlLmp1bml0LnJlc3VsdHN9Ij4KLS0gICAgICAgICAgICAgICAgPGZvcms+Ci0tICAgICAg ICAgICAgICAgICAgICA8anZtYXJnIHZhbHVlPSItRGZpbGUuZW5jb2Rpbmc9VVRGLTgiIC8+Ci0t ICAgICAgICAgICAgICAgICAgICA8anZtYXJnIHZhbHVlPSItWG14MTAyNG0iIC8+Ci0tICAgICAg ICAgICAgICAgICAgICA8anZtYXJnIHZhbHVlPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUudGVz dC5jb3ZlcmFnZS5qdm1hcmdmaW5hbH0iIC8+Ci0tICAgICAgICAgICAgICAgICAgICA8c3lzcHJv cGVydHlzZXQgcmVmaWQ9Imp1bml0LnN5c3RlbS5wcm9wZXJ0aWVzIiAvPgotLSAgICAgICAgICAg ICAgICA8L2Zvcms+Ci0tICAgICAgICAgICAgICAgIDxsaXN0ZW5lciBjbGFzc25hbWU9InRlc3Rz dWl0ZS5KVW5pdFN1bW1hcnkiIHVubGVzcz0iY29tLm15c3FsLmNqLnRlc3RzdWl0ZS5hbnQudmVy c2lvbiIgLz4KLS0gICAgICAgICAgICAgICAgPGxpc3RlbmVyIHR5cGU9ImxlZ2FjeS14bWwiIHNl bmRTeXNPdXQ9InRydWUiIHNlbmRTeXNFcnI9InRydWUiIC8+Ci0tICAgICAgICAgICAgICAgIDxs aXN0ZW5lciB0eXBlPSJsZWdhY3ktcGxhaW4iIHNlbmRTeXNPdXQ9InRydWUiIHNlbmRTeXNFcnI9 InRydWUiIC8+Ci0tICAgICAgICAgICAgPC90ZXN0PgotLQotLSAgICAgICAgICAgIDx0ZXN0IGlm PSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QuY2xhc3MiCi0tICAgICAgICAgICAgICAgICAg dW5sZXNzPSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnRlc3QubWV0aG9kcyIKLS0gICAgICAgICAg ICAgICAgICBuYW1lPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUudGVzdC5jbGFzc30iCi0tICAg ICAgICAgICAgICAgICAgb3V0cHV0ZGlyPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUuanVuaXQu cmVzdWx0c30iPgotLSAgICAgICAgICAgICAgICA8Zm9yaz4KLS0gICAgICAgICAgICAgICAgICAg IDxqdm1hcmcgdmFsdWU9Ii1EZmlsZS5lbmNvZGluZz1VVEYtOCIgLz4KLS0gICAgICAgICAgICAg ICAgICAgIDxqdm1hcmcgdmFsdWU9Ii1YbXgxMDI0bSIgLz4KLS0gICAgICAgICAgICAgICAgICAg IDxqdm1hcmcgdmFsdWU9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNvdmVyYWdlLmp2 bWFyZ2ZpbmFsfSIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDxzeXNwcm9wZXJ0eXNldCByZWZp ZD0ianVuaXQuc3lzdGVtLnByb3BlcnRpZXMiIC8+Ci0tICAgICAgICAgICAgICAgIDwvZm9yaz4K LS0gICAgICAgICAgICAgICAgPGxpc3RlbmVyIGNsYXNzbmFtZT0idGVzdHN1aXRlLkpVbml0U3Vt bWFyeSIgdW5sZXNzPSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLmFudC52ZXJzaW9uIiAvPgotLSAg ICAgICAgICAgICAgICA8bGlzdGVuZXIgdHlwZT0ibGVnYWN5LXhtbCIgc2VuZFN5c091dD0idHJ1 ZSIgc2VuZFN5c0Vycj0idHJ1ZSIgLz4KLS0gICAgICAgICAgICAgICAgPGxpc3RlbmVyIHR5cGU9 ImxlZ2FjeS1wbGFpbiIgc2VuZFN5c091dD0idHJ1ZSIgc2VuZFN5c0Vycj0idHJ1ZSIgLz4KLS0g ICAgICAgICAgICA8L3Rlc3Q+Ci0tCi0tICAgICAgICAgICAgPHRlc3RjbGFzc2VzIHVubGVzcz0i Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNsYXNzIiBvdXRwdXRkaXI9IiR7Y29tLm15c3Fs LmNqLnRlc3RzdWl0ZS5qdW5pdC5yZXN1bHRzfSI+Ci0tICAgICAgICAgICAgICAgIDxmaWxlc2V0 IGRpcj0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLmJ1aWxkLmRpcn0vJHtjb20ubXlzcWwuY2ou YnVpbGQuZHJpdmVyLmZ1bGxOYW1lfSI+Ci0tICAgICAgICAgICAgICAgICAgICA8aW5jbHVkZSBu YW1lPSIqKi8qVGVzdC5jbGFzcyIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDxleGNsdWRlIG5h bWU9IioqL3BlcmYvKi5jbGFzcyIgLz4KLS0gICAgICAgICAgICAgICAgPC9maWxlc2V0PgotLSAg ICAgICAgICAgICAgICA8Zm9yaz4KLS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcgdmFsdWU9 Ii1EZmlsZS5lbmNvZGluZz1VVEYtOCIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcg dmFsdWU9Ii1YbXgxMDI0bSIgLz4KLS0gICAgICAgICAgICAgICAgICAgIDxqdm1hcmcgdmFsdWU9 IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS50ZXN0LmNvdmVyYWdlLmp2bWFyZ2ZpbmFsfSIgLz4K LS0gICAgICAgICAgICAgICAgICAgIDxzeXNwcm9wZXJ0eXNldCByZWZpZD0ianVuaXQuc3lzdGVt LnByb3BlcnRpZXMiIC8+Ci0tICAgICAgICAgICAgICAgIDwvZm9yaz4KLS0gICAgICAgICAgICAg ICAgPGxpc3RlbmVyIGNsYXNzbmFtZT0idGVzdHN1aXRlLkpVbml0U3VtbWFyeSIgdW5sZXNzPSJj b20ubXlzcWwuY2oudGVzdHN1aXRlLmFudC52ZXJzaW9uIiAvPgotLSAgICAgICAgICAgICAgICA8 bGlzdGVuZXIgdHlwZT0ibGVnYWN5LXhtbCIgc2VuZFN5c091dD0idHJ1ZSIgc2VuZFN5c0Vycj0i dHJ1ZSIgLz4KLS0gICAgICAgICAgICAgICAgPGxpc3RlbmVyIHR5cGU9ImxlZ2FjeS1wbGFpbiIg c2VuZFN5c091dD0idHJ1ZSIgc2VuZFN5c0Vycj0idHJ1ZSIgLz4KLS0gICAgICAgICAgICA8L3Rl c3RjbGFzc2VzPgotLSAgICAgICAgPC9qdW5pdGxhdW5jaGVyPgotLQotLSAgICAgICAgPGp1bml0 cmVwb3J0IHRvZGlyPSIke2NvbS5teXNxbC5jai50ZXN0c3VpdGUuanVuaXQucmVzdWx0c30vcmVw b3J0Ij4KLS0gICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0 ZS5qdW5pdC5yZXN1bHRzfSI+Ci0tICAgICAgICAgICAgICAgIDxpbmNsdWRlIG5hbWU9IioqL1RF U1QtKi54bWwiIC8+Ci0tICAgICAgICAgICAgPC9maWxlc2V0PgotLSAgICAgICAgICAgIDxyZXBv cnQgc3R5bGVkaXI9IiR7anVuaXQuc3R5bGVkaXJ9IiBmb3JtYXQ9ImZyYW1lcyIgdG9kaXI9IiR7 Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS5qdW5pdC5yZXN1bHRzfS9yZXBvcnQiIC8+Ci0tICAgICAg ICA8L2p1bml0cmVwb3J0PgotIAotICAgICAgICAgPCEtLSBEb24ndCBmYWlsIHRoZSBidWlsZCBp ZiB3ZSdyZSBkb2luZyBjb3ZlcmFnZSB0ZXN0LiAtLT4KLSAgICAgICAgIDxmYWlsIG1lc3NhZ2U9 IlRlc3RzIGZhaWxlZC4gQ2hlY2sgbG9ncyBhbmQvb3IgcmVwb3J0cyBpbiAnJHtjb20ubXlzcWwu Y2oudGVzdHN1aXRlLmp1bml0LnJlc3VsdHN9Jy4iPgotQEAgLTEzNjcsOTIgKzEyOTEsNiBAQCBT ZWUgYWxzbyBjb20ubXlzcWwuY2ouY29uZi5Qcm9wZXJ0eURlZmluaXRpb25zLlNZU1BfKiB2YXJp YWJsZXMgZm9yIG90aGVyIHRlc3QgbwotICAgICA8L3RhcmdldD4KLSAKLSAKLS0gICAgPCEtLSAq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogLS0+Ci0tICAgIDwhLS0gKioqKiogVEVT VElORyBDT0RFIENPVkVSQUdFICoqKioqIC0tPgotLSAgICA8IS0tICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKiAtLT4KLS0KLS0KLS0gICAgPHRhcmdldCBuYW1lPSJ0ZXN0LWNvdmVy YWdlIiBkZXNjcmlwdGlvbj0iUnVucyB0ZXN0cyBjb2xsZWN0aW5nIGNvdmVyYWdlIHJlc3VsdHMu IiBkZXBlbmRzPSItc2V0dXAtdGVzdC1jb3ZlcmFnZS1hZ2VudCwgdGVzdCIgLz4KLS0KLS0KLS0g ICAgPHRhcmdldCBuYW1lPSItc2V0LXRlc3QtY292ZXJhZ2UtZGVmYXVsdHMiIGRlcGVuZHM9Ii1l eHRyYS1saWJzLWNoZWNrIj4KLS0gICAgICAgIDxjb25kaXRpb24gcHJvcGVydHk9ImNvbS5teXNx bC5jai5jb3ZlcmFnZS5yZXN1bHQuZGlyLmZpbmFsIgotLSAgICAgICAgICAgICAgICAgICB2YWx1 ZT0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0LmRpcn0iCi0tICAgICAgICAgICAgICAg ICAgIGVsc2U9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0ZS5idWlsZC5kaXJ9L2NvdmVyYWdlIj4K LS0gICAgICAgICAgICA8aXNzZXQgcHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1 bHQuZGlyIiAvPgotLSAgICAgICAgPC9jb25kaXRpb24+Ci0tICAgICAgICA8Y29uZGl0aW9uIHBy b3BlcnR5PSJjb20ubXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0Lm5hbWUuZmluYWwiIHZhbHVlPSIk e2NvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQubmFtZX0iIGVsc2U9ImphY29jby5leGVjIj4K LS0gICAgICAgICAgICA8aXNzZXQgcHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1 bHQubmFtZSIgLz4KLS0gICAgICAgIDwvY29uZGl0aW9uPgotLQotLSAgICAgICAgPHRhc2tkZWYg dXJpPSJhbnRsaWI6b3JnLmphY29jby5hbnQiIHJlc291cmNlPSJvcmcvamFjb2NvL2FudC9hbnRs aWIueG1sIj4KLS0gICAgICAgICAgICA8Y2xhc3NwYXRoPgotLSAgICAgICAgICAgICAgICA8Zmls ZXNldCBkaXI9IiR7Y29tLm15c3FsLmNqLmV4dHJhLmxpYnN9Ij4KLS0gICAgICAgICAgICAgICAg ICAgIDxpbmNsdWRlIG5hbWU9IioqL2phY29jb2FudC5qYXIiIC8+Ci0tICAgICAgICAgICAgICAg IDwvZmlsZXNldD4KLS0gICAgICAgICAgICA8L2NsYXNzcGF0aD4KLS0gICAgICAgIDwvdGFza2Rl Zj4KLS0gICAgPC90YXJnZXQ+Ci0tCi0tCi0tICAgIDx0YXJnZXQgbmFtZT0iLXNldHVwLXRlc3Qt Y292ZXJhZ2UtYWdlbnQiIGRlcGVuZHM9Ii1zZXQtdGVzdC1jb3ZlcmFnZS1kZWZhdWx0cyI+Ci0t ICAgICAgICA8amFjb2NvOmFnZW50IGRlc3RmaWxlPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5y ZXN1bHQuZGlyLmZpbmFsfS8ke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXN1bHQubmFtZS5maW5h bH0iCi0tICAgICAgICAgICAgICAgICAgICAgIHByb3BlcnR5PSJjb20ubXlzcWwuY2oudGVzdHN1 aXRlLnRlc3QuY292ZXJhZ2UuanZtYXJnIiAvPgotLSAgICA8L3RhcmdldD4KLS0KLS0KLS0gICAg PCEtLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4KLS0gICAgPCEtLSAq KioqKiBSRVBPUlRJTkcgQ09ERSBDT1ZFUkFHRSAqKioqKiAtLT4KLS0gICAgPCEtLSAqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiAtLT4KLS0KLS0KLS0gICAgPHRhcmdldCBuYW1l PSJyZXBvcnQtY292ZXJhZ2UiCi0tICAgICAgICAgICAgZGVwZW5kcz0iLXNldC1yZXBvcnQtY292 ZXJhZ2UtZGVmYXVsdHMsIC1qYWNvY28tbWVyZ2UiCi0tICAgICAgICAgICAgZGVzY3JpcHRpb249 Ik1lcmdlcyBjb3ZlcmFnZSByZXN1bHRzIGFuZCBjcmVhdGVzIEhUTUwgY292ZXJhZ2UgcmVwb3J0 LiI+Ci0tICAgICAgICA8amFjb2NvOnJlcG9ydD4KLS0gICAgICAgICAgICA8ZXhlY3V0aW9uZGF0 YT4KLS0gICAgICAgICAgICAgICAgPGZpbGUgZmlsZT0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2Uu bWVyZ2UucmVzdWx0LmZpbmFsfSIgLz4KLS0gICAgICAgICAgICA8L2V4ZWN1dGlvbmRhdGE+Ci0t Ci0tICAgICAgICAgICAgPHN0cnVjdHVyZSBuYW1lPSJDb25uZWN0b3IvSiBjbGFzc2VzIj4KLS0g ICAgICAgICAgICAgICAgPGNsYXNzZmlsZXM+Ci0tICAgICAgICAgICAgICAgICAgICA8ZmlsZXNl dCBkaXI9IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmRpci5kcml2ZXJ9Ij4KLS0gICAgICAgICAgICAg ICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSJjb20vbXlzcWwvY2ovKioiIC8+Ci0tICAgICAgICAg ICAgICAgICAgICAgICAgPGV4Y2x1ZGUgbmFtZT0iY29tL215c3FsL2NqL3gvcHJvdG9idWYvKioi IC8+Ci0tICAgICAgICAgICAgICAgICAgICA8L2ZpbGVzZXQ+Ci0tICAgICAgICAgICAgICAgIDwv Y2xhc3NmaWxlcz4KLS0gICAgICAgICAgICAgICAgPHNvdXJjZWZpbGVzIGVuY29kaW5nPSJVVEYt OCI+Ci0tICAgICAgICAgICAgICAgICAgICA8ZmlsZXNldCBkaXI9IiR7Y29tLm15c3FsLmNqLmJ1 aWxkLmRpci5kcml2ZXJ9Ij4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aW5jbHVkZSBuYW1l PSJjb20vbXlzcWwvY2ovKioiIC8+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGV4Y2x1ZGUg bmFtZT0iY29tL215c3FsL2NqL3gvcHJvdG9idWYvKioiIC8+Ci0tICAgICAgICAgICAgICAgICAg ICA8L2ZpbGVzZXQ+Ci0tICAgICAgICAgICAgICAgIDwvc291cmNlZmlsZXM+Ci0tICAgICAgICAg ICAgPC9zdHJ1Y3R1cmU+Ci0tCi0tICAgICAgICAgICAgPGh0bWwgZGVzdGRpcj0iJHtjb20ubXlz cWwuY2ouY292ZXJhZ2UucmVwb3J0LmRpci5maW5hbH0iIC8+Ci0tICAgICAgICA8L2phY29jbzpy ZXBvcnQ+Ci0tICAgIDwvdGFyZ2V0PgotLQotLQotLSAgICA8dGFyZ2V0IG5hbWU9Ii1qYWNvY28t bWVyZ2UiIGRlcGVuZHM9Ii1zZXQtcmVwb3J0LWNvdmVyYWdlLWRlZmF1bHRzIiBpZj0iY29tLm15 c3FsLmNqLmNvdmVyYWdlLm1lcmdlLmZpbGVzIj4KLS0gICAgICAgIDxqYWNvY286bWVyZ2UgZGVz dGZpbGU9IiR7Y29tLm15c3FsLmNqLmNvdmVyYWdlLm1lcmdlLnJlc3VsdC5maW5hbH0iPgotLSAg ICAgICAgICAgIDxmaWxlc2V0IGRpcj0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0LmRp ci5maW5hbH0iIGluY2x1ZGVzPSIke2NvbS5teXNxbC5jai5jb3ZlcmFnZS5tZXJnZS5maWxlc30i IC8+Ci0tICAgICAgICA8L2phY29jbzptZXJnZT4KLS0gICAgPC90YXJnZXQ+Ci0tCi0tCi0tICAg IDx0YXJnZXQgbmFtZT0iLXNldC1yZXBvcnQtY292ZXJhZ2UtZGVmYXVsdHMiIGRlcGVuZHM9Ii1z ZXQtdGVzdC1jb3ZlcmFnZS1kZWZhdWx0cyI+Ci0tICAgICAgICA8Y29uZGl0aW9uIHByb3BlcnR5 PSJjb20ubXlzcWwuY2ouY292ZXJhZ2UubWVyZ2UucmVzdWx0LmZpbmFsIgotLSAgICAgICAgICAg ICAgICAgICB2YWx1ZT0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2UubWVyZ2UucmVzdWx0fSIKLS0g ICAgICAgICAgICAgICAgICAgZWxzZT0iJHtjb20ubXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0LmRp ci5maW5hbH0vamFjb2NvLmV4ZWMiPgotLSAgICAgICAgICAgIDxpc3NldCBwcm9wZXJ0eT0iY29t Lm15c3FsLmNqLmNvdmVyYWdlLm1lcmdlLnJlc3VsdCIgLz4KLS0gICAgICAgIDwvY29uZGl0aW9u PgotLSAgICAgICAgPGNvbmRpdGlvbiBwcm9wZXJ0eT0iY29tLm15c3FsLmNqLmNvdmVyYWdlLnJl cG9ydC5kaXIuZmluYWwiCi0tICAgICAgICAgICAgICAgICAgIHZhbHVlPSIke2NvbS5teXNxbC5j ai5jb3ZlcmFnZS5yZXBvcnQuZGlyfSIKLS0gICAgICAgICAgICAgICAgICAgZWxzZT0iJHtjb20u bXlzcWwuY2ouY292ZXJhZ2UucmVzdWx0LmRpci5maW5hbH0vcmVwb3J0Ij4KLS0gICAgICAgICAg ICA8aXNzZXQgcHJvcGVydHk9ImNvbS5teXNxbC5jai5jb3ZlcmFnZS5yZXBvcnQuZGlyIiAvPgot LSAgICAgICAgPC9jb25kaXRpb24+Ci0tICAgIDwvdGFyZ2V0PgotIAotIAotICAgICA8IS0tICoq KioqKioqKioqKioqKioqKioqKioqKioqKioqIC0tPgotLS0gCi0yLjQ4LjEKLQoKZGlmZiAtLWdp dCBhLzAwMDItUmVtb3ZlLWF1dGhlbnRpY2F0aW9uLXBsdWdpbi5wYXRjaCBiLzAwMDItUmVtb3Zl LWF1dGhlbnRpY2F0aW9uLXBsdWdpbi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMjcwZjcyZi4uMDAwMDAwMAotLS0gYS8wMDAyLVJlbW92ZS1hdXRoZW50aWNhdGlvbi1wbHVn aW4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyMzUgKzAsMCBAQAotRnJvbSA0Nzc5M2I4OTMw MGExOWM1ZmQxM2I3ODFmMDNkZDU4MGZjMDE4NmE2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQot RnJvbTogT25kcmVqIER1YmFqIDxvZHViYWpAcmVkaGF0LmNvbT4KLURhdGU6IFR1ZSwgMTggSmFu IDIwMjIgMTQ6NTg6NTcgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gcmVtb3ZlIEF1dGhlbnRpY2F0 aW9uT2NpQ2xpZW50IHBsdWdpbiBkdWUgdG8gbWlzc2luZyBvcmFjbGUgZGVwZW5kZW5jeQotCi0t LS0KLSAuLi4vYS9OYXRpdmVBdXRoZW50aWNhdGlvblByb3ZpZGVyLmphdmEgICAgICAgfCAgIDIg LQotIC4uLi9BdXRoZW50aWNhdGlvbk9jaUNsaWVudC5qYXZhICAgICAgICAgICAgICB8IDE3NyAt LS0tLS0tLS0tLS0tLS0tLS0KLSAuLi4vY2ovTG9jYWxpemVkRXJyb3JNZXNzYWdlcy5wcm9wZXJ0 aWVzICAgICAgfCAgIDYgLQotIDMgZmlsZXMgY2hhbmdlZCwgMTg1IGRlbGV0aW9ucygtKQotIGRl bGV0ZSBtb2RlIDEwMDY0NCBzcmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2Nq L3Byb3RvY29sL2EvYXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25PY2lDbGllbnQuamF2YQot Ci1kaWZmIC0tZ2l0IGEvc3JjL21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9w cm90b2NvbC9hL05hdGl2ZUF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuamF2YSBiL3NyYy9tYWluL3By b3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9OYXRpdmVBdXRoZW50aWNh dGlvblByb3ZpZGVyLmphdmEKLWluZGV4IDBkOTQwNjEuLjU4YmJmMjMgMTAwNjQ0Ci0tLS0gYS9z cmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2EvTmF0aXZl QXV0aGVudGljYXRpb25Qcm92aWRlci5qYXZhCi0rKysgYi9zcmMvbWFpbi9wcm90b2NvbC1pbXBs L2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2EvTmF0aXZlQXV0aGVudGljYXRpb25Qcm92aWRl ci5qYXZhCi1AQCAtNTgsNyArNTgsNiBAQCBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEu TmF0aXZlQ29uc3RhbnRzLlN0cmluZ1NlbGZEYXRhVHlwZTsKLSBpbXBvcnQgY29tLm15c3FsLmNq LnByb3RvY29sLmEuYXV0aGVudGljYXRpb24uQXV0aGVudGljYXRpb25GaWRvQ2xpZW50OwotIGlt cG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlvbi5BdXRoZW50aWNhdGlv bktlcmJlcm9zQ2xpZW50OwotIGltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50 aWNhdGlvbi5BdXRoZW50aWNhdGlvbkxkYXBTYXNsQ2xpZW50UGx1Z2luOwotLWltcG9ydCBjb20u bXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlvbi5BdXRoZW50aWNhdGlvbk9jaUNsaWVu dDsKLSBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0aGVudGljYXRpb24uQ2FjaGlu Z1NoYTJQYXNzd29yZFBsdWdpbjsKLSBpbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuYXV0 aGVudGljYXRpb24uTXlzcWxDbGVhclBhc3N3b3JkUGx1Z2luOwotIGltcG9ydCBjb20ubXlzcWwu Y2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlvbi5NeXNxbE5hdGl2ZVBhc3N3b3JkUGx1Z2luOwot QEAgLTI1Niw3ICsyNTUsNiBAQCBwdWJsaWMgY2xhc3MgTmF0aXZlQXV0aGVudGljYXRpb25Qcm92 aWRlciBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9uUHJvdmlkZXI8TmF0aQotICAgICAgICAgcGx1 Z2luc1RvSW5pdC5hZGQobmV3IE15c3FsT2xkUGFzc3dvcmRQbHVnaW4oKSk7Ci0gICAgICAgICBw bHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0aGVudGljYXRpb25MZGFwU2FzbENsaWVudFBsdWdpbigp KTsKLSAgICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBBdXRoZW50aWNhdGlvbktlcmJlcm9z Q2xpZW50KCkpOwotLSAgICAgICAgcGx1Z2luc1RvSW5pdC5hZGQobmV3IEF1dGhlbnRpY2F0aW9u T2NpQ2xpZW50KCkpOwotICAgICAgICAgcGx1Z2luc1RvSW5pdC5hZGQobmV3IEF1dGhlbnRpY2F0 aW9uRmlkb0NsaWVudCgpKTsKLSAKLSAgICAgICAgIC8vIHBsdWdpbnMgZnJvbSBhdXRoZW50aWNh dGlvblBsdWdpbkNsYXNzZXMgY29ubmVjdGlvbiBwYXJhbWV0ZXIKLWRpZmYgLS1naXQgYS9zcmMv bWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2EvYXV0aGVudGlj YXRpb24vQXV0aGVudGljYXRpb25PY2lDbGllbnQuamF2YSBiL3NyYy9tYWluL3Byb3RvY29sLWlt cGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9hdXRoZW50aWNhdGlvbi9BdXRoZW50aWNh dGlvbk9jaUNsaWVudC5qYXZhCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDQ3M2U1 MzIuLjAwMDAwMDAKLS0tLSBhL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwv Y2ovcHJvdG9jb2wvYS9hdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk9jaUNsaWVudC5qYXZh Ci0rKysgL2Rldi9udWxsCi1AQCAtMSwxNzcgKzAsMCBAQAotLS8qCi0tICogQ29weXJpZ2h0IChj KSAyMDIxLCAyMDIyLCBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLgotLSAqCi0tICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkgaXQgdW5kZXIKLS0gKiB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlLCB2ZXJzaW9uIDIuMCwgYXMgcHVibGlzaGVkIGJ5IHRoZQotLSAqIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KLS0gKgotLSAqIFRoaXMgcHJvZ3JhbSBpcyBhbHNvIGRpc3RyaWJ1 dGVkIHdpdGggY2VydGFpbiBzb2Z0d2FyZSAoaW5jbHVkaW5nIGJ1dCBub3QKLS0gKiBsaW1pdGVk IHRvIE9wZW5TU0wpIHRoYXQgaXMgbGljZW5zZWQgdW5kZXIgc2VwYXJhdGUgdGVybXMsIGFzIGRl c2lnbmF0ZWQgaW4gYQotLSAqIHBhcnRpY3VsYXIgZmlsZSBvciBjb21wb25lbnQgb3IgaW4gaW5j bHVkZWQgbGljZW5zZSBkb2N1bWVudGF0aW9uLiBUaGUKLS0gKiBhdXRob3JzIG9mIE15U1FMIGhl cmVieSBncmFudCB5b3UgYW4gYWRkaXRpb25hbCBwZXJtaXNzaW9uIHRvIGxpbmsgdGhlCi0tICog cHJvZ3JhbSBhbmQgeW91ciBkZXJpdmF0aXZlIHdvcmtzIHdpdGggdGhlIHNlcGFyYXRlbHkgbGlj ZW5zZWQgc29mdHdhcmUgdGhhdAotLSAqIHRoZXkgaGF2ZSBpbmNsdWRlZCB3aXRoIE15U1FMLgot LSAqCi0tICogV2l0aG91dCBsaW1pdGluZyBhbnl0aGluZyBjb250YWluZWQgaW4gdGhlIGZvcmVn b2luZywgdGhpcyBmaWxlLCB3aGljaCBpcwotLSAqIHBhcnQgb2YgTXlTUUwgQ29ubmVjdG9yL0os IGlzIGFsc28gc3ViamVjdCB0byB0aGUgVW5pdmVyc2FsIEZPU1MgRXhjZXB0aW9uLAotLSAqIHZl cnNpb24gMS4wLCBhIGNvcHkgb2Ygd2hpY2ggY2FuIGJlIGZvdW5kIGF0Ci0tICogaHR0cDovL29z cy5vcmFjbGUuY29tL2xpY2Vuc2VzL3VuaXZlcnNhbC1mb3NzLWV4Y2VwdGlvbi4KLS0gKgotLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLCBidXQgV0lUSE9VVAotLSAqIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTCi0tICogRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCB2 ZXJzaW9uIDIuMCwKLS0gKiBmb3IgbW9yZSBkZXRhaWxzLgotLSAqCi0tICogWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxv bmcgd2l0aAotLSAqIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAotLSAqIDUxIEZyYW5rbGluIFN0LCBGaWZ0aCBGbG9vciwg Qm9zdG9uLCBNQSAwMjExMC0xMzAxICBVU0EKLS0gKi8KLS0KLS1wYWNrYWdlIGNvbS5teXNxbC5j ai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uOwotLQotLWltcG9ydCBqYXZhLmlvLklPRXhjZXB0 aW9uOwotLWltcG9ydCBqYXZhLm5pby5jaGFyc2V0LkNoYXJzZXQ7Ci0taW1wb3J0IGphdmEubmlv LmZpbGUuRmlsZXM7Ci0taW1wb3J0IGphdmEubmlvLmZpbGUuUGF0aHM7Ci0taW1wb3J0IGphdmEu c2VjdXJpdHkuaW50ZXJmYWNlcy5SU0FQcml2YXRlS2V5OwotLWltcG9ydCBqYXZhLnV0aWwuQmFz ZTY0OwotLWltcG9ydCBqYXZhLnV0aWwuTGlzdDsKLS0KLS1pbXBvcnQgY29tLm15c3FsLmNqLk1l c3NhZ2VzOwotLWltcG9ydCBjb20ubXlzcWwuY2ouY2FsbGJhY2suTXlzcWxDYWxsYmFja0hhbmRs ZXI7Ci0taW1wb3J0IGNvbS5teXNxbC5jai5jYWxsYmFjay5Vc2VybmFtZUNhbGxiYWNrOwotLWlt cG9ydCBjb20ubXlzcWwuY2ouY29uZi5Qcm9wZXJ0eUtleTsKLS1pbXBvcnQgY29tLm15c3FsLmNq LmV4Y2VwdGlvbnMuRXhjZXB0aW9uRmFjdG9yeTsKLS1pbXBvcnQgY29tLm15c3FsLmNqLmV4Y2Vw dGlvbnMuUlNBRXhjZXB0aW9uOwotLWltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuQXV0aGVu dGljYXRpb25QbHVnaW47Ci0taW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5FeHBvcnRDb250 cm9sbGVkOwotLWltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuUHJvdG9jb2w7Ci0taW1wb3J0 IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLk5hdGl2ZUNvbnN0YW50cy5TdHJpbmdTZWxmRGF0YVR5 cGU7Ci0taW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLk5hdGl2ZVBhY2tldFBheWxvYWQ7 Ci0taW1wb3J0IGNvbS5teXNxbC5jai51dGlsLlN0cmluZ1V0aWxzOwotLWltcG9ydCBjb20ub3Jh Y2xlLmJtYy5Db25maWdGaWxlUmVhZGVyOwotLWltcG9ydCBjb20ub3JhY2xlLmJtYy5Db25maWdG aWxlUmVhZGVyLkNvbmZpZ0ZpbGU7Ci0tCi0tLyoqCi0tICogTXlTUUwgJ2F1dGhlbnRpY2F0aW9u X2lhbV9jbGllbnQnIGF1dGhlbnRpY2F0aW9uIHBsdWdpbi4KLS0gKi8KLS1wdWJsaWMgY2xhc3Mg QXV0aGVudGljYXRpb25PY2lDbGllbnQgaW1wbGVtZW50cyBBdXRoZW50aWNhdGlvblBsdWdpbjxO YXRpdmVQYWNrZXRQYXlsb2FkPiB7Ci0tICAgIHB1YmxpYyBzdGF0aWMgU3RyaW5nIFBMVUdJTl9O QU1FID0gImF1dGhlbnRpY2F0aW9uX29jaV9jbGllbnQiOwotLQotLSAgICBwcml2YXRlIFN0cmlu ZyBzb3VyY2VPZkF1dGhEYXRhID0gUExVR0lOX05BTUU7Ci0tCi0tICAgIHByb3RlY3RlZCBQcm90 b2NvbDxOYXRpdmVQYWNrZXRQYXlsb2FkPiBwcm90b2NvbCA9IG51bGw7Ci0tICAgIHByaXZhdGUg TXlzcWxDYWxsYmFja0hhbmRsZXIgdXNlcm5hbWVDYWxsYmFja0hhbmRsZXIgPSBudWxsOwotLSAg ICBwcml2YXRlIFN0cmluZyBmaW5nZXJwcmludCA9IG51bGw7Ci0tICAgIHByaXZhdGUgUlNBUHJp dmF0ZUtleSBwcml2YXRlS2V5ID0gbnVsbDsKLS0KLS0gICAgQE92ZXJyaWRlCi0tICAgIHB1Ymxp YyB2b2lkIGluaXQoUHJvdG9jb2w8TmF0aXZlUGFja2V0UGF5bG9hZD4gcHJvdCwgTXlzcWxDYWxs YmFja0hhbmRsZXIgY2JoKSB7Ci0tICAgICAgICB0aGlzLnByb3RvY29sID0gcHJvdDsKLS0gICAg ICAgIHRoaXMudXNlcm5hbWVDYWxsYmFja0hhbmRsZXIgPSBjYmg7Ci0tICAgIH0KLS0KLS0gICAg QE92ZXJyaWRlCi0tICAgIHB1YmxpYyB2b2lkIHJlc2V0KCkgewotLSAgICAgICAgdGhpcy5maW5n ZXJwcmludCA9IG51bGw7Ci0tICAgICAgICB0aGlzLnByaXZhdGVLZXkgPSBudWxsOwotLSAgICB9 Ci0tCi0tICAgIEBPdmVycmlkZQotLSAgICBwdWJsaWMgdm9pZCBkZXN0cm95KCkgewotLSAgICAg ICAgcmVzZXQoKTsKLS0gICAgICAgIHRoaXMucHJvdG9jb2wgPSBudWxsOwotLSAgICAgICAgdGhp cy51c2VybmFtZUNhbGxiYWNrSGFuZGxlciA9IG51bGw7Ci0tICAgIH0KLS0KLS0gICAgQE92ZXJy aWRlCi0tICAgIHB1YmxpYyBTdHJpbmcgZ2V0UHJvdG9jb2xQbHVnaW5OYW1lKCkgewotLSAgICAg ICAgcmV0dXJuIFBMVUdJTl9OQU1FOwotLSAgICB9Ci0tCi0tICAgIEBPdmVycmlkZQotLSAgICBw dWJsaWMgYm9vbGVhbiByZXF1aXJlc0NvbmZpZGVudGlhbGl0eSgpIHsKLS0gICAgICAgIHJldHVy biBmYWxzZTsKLS0gICAgfQotLQotLSAgICBAT3ZlcnJpZGUKLS0gICAgcHVibGljIGJvb2xlYW4g aXNSZXVzYWJsZSgpIHsKLS0gICAgICAgIHJldHVybiBmYWxzZTsKLS0gICAgfQotLQotLSAgICBA T3ZlcnJpZGUKLS0gICAgcHVibGljIHZvaWQgc2V0QXV0aGVudGljYXRpb25QYXJhbWV0ZXJzKFN0 cmluZyB1c2VyLCBTdHJpbmcgcGFzc3dvcmQpIHsKLS0gICAgICAgIGlmICh1c2VyID09IG51bGwg JiYgdGhpcy51c2VybmFtZUNhbGxiYWNrSGFuZGxlciAhPSBudWxsKSB7Ci0tICAgICAgICAgICAg Ly8gRmFsbCBiYWNrIHRvIHN5c3RlbSBsb2dpbiB1c2VyLgotLSAgICAgICAgICAgIHRoaXMudXNl cm5hbWVDYWxsYmFja0hhbmRsZXIuaGFuZGxlKG5ldyBVc2VybmFtZUNhbGxiYWNrKFN5c3RlbS5n ZXRQcm9wZXJ0eSgidXNlci5uYW1lIikpKTsKLS0gICAgICAgIH0KLS0gICAgfQotLQotLSAgICBA T3ZlcnJpZGUKLS0gICAgcHVibGljIHZvaWQgc2V0U291cmNlT2ZBdXRoRGF0YShTdHJpbmcgc291 cmNlT2ZBdXRoRGF0YSkgewotLSAgICAgICAgdGhpcy5zb3VyY2VPZkF1dGhEYXRhID0gc291cmNl T2ZBdXRoRGF0YTsKLS0gICAgfQotLQotLSAgICBAT3ZlcnJpZGUKLS0gICAgcHVibGljIGJvb2xl YW4gbmV4dEF1dGhlbnRpY2F0aW9uU3RlcChOYXRpdmVQYWNrZXRQYXlsb2FkIGZyb21TZXJ2ZXIs IExpc3Q8TmF0aXZlUGFja2V0UGF5bG9hZD4gdG9TZXJ2ZXIpIHsKLS0gICAgICAgIHRvU2VydmVy LmNsZWFyKCk7Ci0tCi0tICAgICAgICBpZiAoIXRoaXMuc291cmNlT2ZBdXRoRGF0YS5lcXVhbHMo UExVR0lOX05BTUUpIHx8IGZyb21TZXJ2ZXIuZ2V0UGF5bG9hZExlbmd0aCgpID09IDApIHsKLS0g ICAgICAgICAgICAvLyBDYW5ub3QgZG8gYW55dGhpbmcgd2l0aCB3aGF0ZXZlciBwYXlsb2FkIGNv bWVzIGZyb20gdGhlIHNlcnZlciwgc28ganVzdCBza2lwIHRoaXMgaXRlcmF0aW9uIGFuZCB3YWl0 IGZvciBhIFByb3RvY29sOjpBdXRoU3dpdGNoUmVxdWVzdCBvciBhCi0tICAgICAgICAgICAgLy8g UHJvdG9jb2w6OkF1dGhOZXh0RmFjdG9yLgotLSAgICAgICAgICAgIHRvU2VydmVyLmFkZChuZXcg TmF0aXZlUGFja2V0UGF5bG9hZCgwKSk7Ci0tICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0tICAg ICAgICB9Ci0tCi0tICAgICAgICBpbml0aWFsaXplUHJpdmF0ZUtleSgpOwotLQotLSAgICAgICAg Ynl0ZVtdIG5vbmNlID0gZnJvbVNlcnZlci5yZWFkQnl0ZXMoU3RyaW5nU2VsZkRhdGFUeXBlLlNU UklOR19FT0YpOwotLSAgICAgICAgYnl0ZVtdIHNpZ25hdHVyZSA9IEV4cG9ydENvbnRyb2xsZWQu c2lnbihub25jZSwgdGhpcy5wcml2YXRlS2V5KTsKLS0gICAgICAgIGlmIChzaWduYXR1cmUgPT0g bnVsbCkgewotLSAgICAgICAgICAgIHNpZ25hdHVyZSA9IG5ldyBieXRlWzBdOwotLSAgICAgICAg fQotLSAgICAgICAgU3RyaW5nIHBheWxvYWQgPSBTdHJpbmcuZm9ybWF0KCJ7XCJmaW5nZXJwcmlu dFwiOlwiJXNcIiwgXCJzaWduYXR1cmVcIjpcIiVzXCJ9IiwgdGhpcy5maW5nZXJwcmludCwgQmFz ZTY0LmdldEVuY29kZXIoKS5lbmNvZGVUb1N0cmluZyhzaWduYXR1cmUpKTsKLS0gICAgICAgIHRv U2VydmVyLmFkZChuZXcgTmF0aXZlUGFja2V0UGF5bG9hZChwYXlsb2FkLmdldEJ5dGVzKENoYXJz ZXQuZGVmYXVsdENoYXJzZXQoKSkpKTsKLS0gICAgICAgIHJldHVybiB0cnVlOwotLSAgICB9Ci0t Ci0tICAgIHByaXZhdGUgdm9pZCBpbml0aWFsaXplUHJpdmF0ZUtleSgpIHsKLS0gICAgICAgIGlm ICh0aGlzLnByaXZhdGVLZXkgIT0gbnVsbCkgewotLSAgICAgICAgICAgIC8vIEFscmVhZHkgaW5p dGlhbGl6ZWQuCi0tICAgICAgICAgICAgcmV0dXJuOwotLSAgICAgICAgfQotLQotLSAgICAgICAg Q29uZmlnRmlsZSBjb25maWdGaWxlOwotLSAgICAgICAgdHJ5IHsKLS0gICAgICAgICAgICBTdHJp bmcgY29uZmlnRmlsZVBhdGggPSB0aGlzLnByb3RvY29sLmdldFByb3BlcnR5U2V0KCkuZ2V0U3Ry aW5nUHJvcGVydHkoUHJvcGVydHlLZXkub2NpQ29uZmlnRmlsZS5nZXRLZXlOYW1lKCkpLmdldFN0 cmluZ1ZhbHVlKCk7Ci0tICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWxzLmlzTnVsbE9yRW1wdHko Y29uZmlnRmlsZVBhdGgpKSB7Ci0tICAgICAgICAgICAgICAgIGNvbmZpZ0ZpbGUgPSBDb25maWdG aWxlUmVhZGVyLnBhcnNlRGVmYXVsdCgpOwotLSAgICAgICAgICAgIH0gZWxzZSBpZiAoRmlsZXMu ZXhpc3RzKFBhdGhzLmdldChjb25maWdGaWxlUGF0aCkpKSB7Ci0tICAgICAgICAgICAgICAgIGNv bmZpZ0ZpbGUgPSBDb25maWdGaWxlUmVhZGVyLnBhcnNlKGNvbmZpZ0ZpbGVQYXRoKTsKLS0gICAg ICAgICAgICB9IGVsc2UgewotLSAgICAgICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5 LmNyZWF0ZUV4Y2VwdGlvbigiY29uZmlndXJhdGlvbiBmaWxlIGRvZXMgbm90IGV4aXN0Iik7Ci0t ICAgICAgICAgICAgfQotLSAgICAgICAgfSBjYXRjaCAoTm9DbGFzc0RlZkZvdW5kRXJyb3IgZSkg ewotLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1l c3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uU2RrTm90Rm91 bmQiKSwgZSk7Ci0tICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7Ci0tICAgICAgICAg ICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3Ry aW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5PY2lDb25maWdGaWxlRXJyb3IiKSwg ZSk7Ci0tICAgICAgICB9Ci0tICAgICAgICB0aGlzLmZpbmdlcnByaW50ID0gY29uZmlnRmlsZS5n ZXQoImZpbmdlcnByaW50Iik7Ci0tICAgICAgICBpZiAoU3RyaW5nVXRpbHMuaXNOdWxsT3JFbXB0 eSh0aGlzLmZpbmdlcnByaW50KSkgewotLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3Rv cnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lD bGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZU1pc3NpbmdFbnRyeSIpKTsKLS0gICAgICAgIH0KLS0g ICAgICAgIFN0cmluZyBrZXlGaWxlUGF0aCA9IGNvbmZpZ0ZpbGUuZ2V0KCJrZXlfZmlsZSIpOwot LSAgICAgICAgaWYgKFN0cmluZ1V0aWxzLmlzTnVsbE9yRW1wdHkoa2V5RmlsZVBhdGgpKSB7Ci0t ICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2Fn ZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5PY2lDb25maWdGaWxl TWlzc2luZ0VudHJ5IikpOwotLSAgICAgICAgfQotLQotLSAgICAgICAgdHJ5IHsKLS0gICAgICAg ICAgICBTdHJpbmcga2V5ID0gbmV3IFN0cmluZyhGaWxlcy5yZWFkQWxsQnl0ZXMoUGF0aHMuZ2V0 KGtleUZpbGVQYXRoKSksIENoYXJzZXQuZGVmYXVsdENoYXJzZXQoKSk7Ci0tICAgICAgICAgICAg dGhpcy5wcml2YXRlS2V5ID0gRXhwb3J0Q29udHJvbGxlZC5kZWNvZGVSU0FQcml2YXRlS2V5KGtl eSk7Ci0tICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7Ci0tICAgICAgICAgICAgdGhy b3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJB dXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5Qcml2YXRlS2V5Tm90Rm91bmQiKSwgZSk7Ci0t ICAgICAgICB9IGNhdGNoIChSU0FFeGNlcHRpb24gfCBJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24g ZSkgewotLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9u KE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJpdmF0 ZUtleU5vdFZhbGlkIiksIGUpOwotLSAgICAgICAgfQotLSAgICB9Ci0tfQotZGlmZiAtLWdpdCBh L3NyYy9tYWluL3Jlc291cmNlcy9jb20vbXlzcWwvY2ovTG9jYWxpemVkRXJyb3JNZXNzYWdlcy5w cm9wZXJ0aWVzIGIvc3JjL21haW4vcmVzb3VyY2VzL2NvbS9teXNxbC9jai9Mb2NhbGl6ZWRFcnJv ck1lc3NhZ2VzLnByb3BlcnRpZXMKLWluZGV4IDhhNWJmYzEuLjUzYWZmYzQgMTAwNjQ0Ci0tLS0g YS9zcmMvbWFpbi9yZXNvdXJjZXMvY29tL215c3FsL2NqL0xvY2FsaXplZEVycm9yTWVzc2FnZXMu cHJvcGVydGllcwotKysrIGIvc3JjL21haW4vcmVzb3VyY2VzL2NvbS9teXNxbC9jai9Mb2NhbGl6 ZWRFcnJvck1lc3NhZ2VzLnByb3BlcnRpZXMKLUBAIC01MCwxMiArNTAsNiBAQCBBdXRoZW50aWNh dGlvbkxkYXBTYXNsQ2xpZW50UGx1Z2luLk1pc3NpbmdMZGFwU2VydmVySG9zdG5hbWU9QW4gTERB UCBTZXJ2ZXIgaG9zdAotIEF1dGhlbnRpY2F0aW9uTGRhcFNhc2xDbGllbnRQbHVnaW4uRmFpbENy ZWF0ZVNhc2xDbGllbnQ9RmFpbGVkIGNyZWF0aW5nIGEgU0FTTCBjbGllbnQgZm9yIHRoZSBhdXRo ZW50aWNhdGlvbiBtZWNoYW5pc20gJyd7MH0nJy4KLSBBdXRoZW50aWNhdGlvbkxkYXBTYXNsQ2xp ZW50UGx1Z2luLkVyclByb2Nlc3NpbmdBdXRoSXRlcj1FcnJvciB3aGlsZSBwcm9jZXNzaW5nIGFu IGF1dGhlbnRpY2F0aW9uIGl0ZXJhdGlvbiBmb3IgdGhlIGF1dGhlbnRpY2F0aW9uIG1lY2hhbmlz bSAnJ3swfScnLgotIAotLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlNka05vdEZvdW5k PVRoZSBPQ0kgU0RLIGNvdWxkIG5vdCBiZSBmb3VuZCBvciBpcyBub3QgaW5zdGFsbGVkLgotLUF1 dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNvbmZpZ0ZpbGVFcnJvcj1PQ0kgY29uZmln dXJhdGlvbiBmaWxlIGNvdWxkIG5vdCBiZSByZWFkLgotLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50 UGx1Z2luLk9jaUNvbmZpZ0ZpbGVNaXNzaW5nRW50cnk9T0NJIGNvbmZpZ3VyYXRpb24gZmlsZSBk b2VzIG5vdCBjb250YWluIGEgJydmaW5nZXJwcmludCcnIG9yICcna2V5X2ZpbGUnJyBlbnRyeS4K LS1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5Qcml2YXRlS2V5Tm90Rm91bmQ9UHJpdmF0 ZSBrZXkgY291bGQgbm90IGJlIGZvdW5kIGF0IGxvY2F0aW9uIGdpdmVuIGJ5IE9DSSBjb25maWd1 cmF0aW9uIGVudHJ5ICcna2V5X2ZpbGUnJy4KLS1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdp bi5Qcml2YXRlS2V5Tm90VmFsaWQ9T0NJIGNvbmZpZ3VyYXRpb24gZW50cnkgJydrZXlfZmlsZScn IGRvZXMgbm90IHJlZmVyZW5jZSBhIHZhbGlkIGtleSBmaWxlLgotLQotIEF1dGhlbnRpY2F0aW9u UHJvdmlkZXIuQmFkQXV0aGVudGljYXRpb25QbHVnaW49VW5hYmxlIHRvIGxvYWQgYXV0aGVudGlj YXRpb24gcGx1Z2luICcnezB9JycuCi0gQXV0aGVudGljYXRpb25Qcm92aWRlci5CYWREZWZhdWx0 QXV0aGVudGljYXRpb25QbHVnaW49SW1wcm9wZXIgdmFsdWUgInswfSIgZm9yIHByb3BlcnR5ICcn ZGVmYXVsdEF1dGhlbnRpY2F0aW9uUGx1Z2luJycuCi0gQXV0aGVudGljYXRpb25Qcm92aWRlci5E ZWZhdWx0QXV0aGVudGljYXRpb25QbHVnaW5Jc05vdExpc3RlZD1EZWZhdWx0IGF1dGhlbnRpY2F0 aW9uIHBsdWdpbiAiezB9IiBpcyBuZWl0aGVyIG9uZSBvZiB0aGUgYnVpbHQtaW4gcGx1Z2lucyBu b3Igb25lIG9mIHRoZSBwbHVnaW5zIGxpc3RlZCBpbiAnJ2F1dGhlbnRpY2F0aW9uUGx1Z2lucycn LgotLS0gCi0yLjQ4LjEKLQoKZGlmZiAtLWdpdCBhLzAwMDMtUmVtb3ZlLVN0YXRlbWVudHNUZXN0 LnBhdGNoIGIvMDAwMy1SZW1vdmUtU3RhdGVtZW50c1Rlc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDIwMWEzMzAuLjAwMDAwMDAKLS0tIGEvMDAwMy1SZW1vdmUtU3RhdGVt ZW50c1Rlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw4NyArMCwwIEBACi1Gcm9tIGI5YTdh OTI5ZjU0N2QxNDA4YzQyYWNhMzE2MDNkNTI1MThmNjI5NmIgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBadXphbmEgTWlrbGFua292YSA8em1pa2xhbmtAcmVkaGF0LmNvbT4KLURhdGU6 IFR1ZSwgMTggSmFuIDIwMjIgMTU6MDQ6MDkgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gcGF0Y2gK LQotLS0tCi0gLi4uL3JlZ3Jlc3Npb24vU3RhdGVtZW50UmVncmVzc2lvblRlc3QuamF2YSAgIHwg NTAgLS0tLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA1MCBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3JlZ3Jlc3Npb24vU3RhdGVt ZW50UmVncmVzc2lvblRlc3QuamF2YSBiL3NyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3JlZ3Jlc3Np b24vU3RhdGVtZW50UmVncmVzc2lvblRlc3QuamF2YQotaW5kZXggN2U1YTVmOC4uOGU3N2RlNSAx MDA2NDQKLS0tLSBhL3NyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3JlZ3Jlc3Npb24vU3RhdGVtZW50 UmVncmVzc2lvblRlc3QuamF2YQotKysrIGIvc3JjL3Rlc3QvamF2YS90ZXN0c3VpdGUvcmVncmVz c2lvbi9TdGF0ZW1lbnRSZWdyZXNzaW9uVGVzdC5qYXZhCi1AQCAtMTU2LDcgKzE1Niw2IEBAIGlt cG9ydCBjb20ubXlzcWwuY2oudXRpbC5UaW1lVXRpbDsKLSBpbXBvcnQgdGVzdHN1aXRlLkJhc2VR dWVyeUludGVyY2VwdG9yOwotIGltcG9ydCB0ZXN0c3VpdGUuQmFzZVRlc3RDYXNlOwotIGltcG9y dCB0ZXN0c3VpdGUuVW5yZWxpYWJsZVNvY2tldEZhY3Rvcnk7Ci0taW1wb3J0IHRlc3RzdWl0ZS5z aW1wbGUuU3RhdGVtZW50c1Rlc3Q7Ci0gCi0gLyoqCi0gICogUmVncmVzc2lvbiB0ZXN0cyBmb3Ig dGhlIFN0YXRlbWVudCBjbGFzcwotQEAgLTExNjA3LDIwICsxMTYwNiw2IEBAIHB1YmxpYyBjbGFz cyBTdGF0ZW1lbnRSZWdyZXNzaW9uVGVzdCBleHRlbmRzIEJhc2VUZXN0Q2FzZSB7Ci0gICAgICAg ICB9Ci0gICAgIH0KLSAKLS0gICAgLyoqCi0tICAgICAqIFRlc3RzIGZpeCBmb3IgQnVnIzIzMjA0 NjUyLCBDVVJTT1IgUE9TSVRJT05JTkcgQVBJJ1MgRE9FU05PVCBDSEVDSyBUSEUgVkFMSURJVFkg T0YgUkVTVUxUU0VULgotLSAgICAgKiAKLS0gICAgICogQHRocm93cyBFeGNlcHRpb24KLS0gICAg ICogCi0tICAgICAqIEBzZWUgU3RhdGVtZW50c1Rlc3QjdGVzdFJlc3VsdFNldFByb2R1Y2luZ1F1 ZXJpZXMoKQotLSAgICAgKi8KLS0gICAgQFRlc3QKLS0gICAgcHVibGljIHZvaWQgdGVzdEJ1ZzIz MjA0NjUyKCkgdGhyb3dzIEV4Y2VwdGlvbiB7Ci0tICAgICAgICBhc3NlcnRUaHJvd3MoU1FMRXhj ZXB0aW9uLmNsYXNzLCAiU3RhdGVtZW50XFwuZXhlY3V0ZVF1ZXJ5XFwoXFwpIGNhbm5vdCBpc3N1 ZSBzdGF0ZW1lbnRzIHRoYXQgZG8gbm90IHByb2R1Y2UgcmVzdWx0IHNldHNcXC4iLCAoKSAtPiB7 Ci0tICAgICAgICAgICAgdGhpcy5zdG10LmV4ZWN1dGVRdWVyeSgiRE8gMSArIDIiKTsKLS0gICAg ICAgICAgICByZXR1cm4gbnVsbDsKLS0gICAgICAgIH0pOwotLSAgICB9Ci0gCi0gICAgIC8qKgot ICAgICAgKiBUZXN0cyBmaXggZm9yIEJ1ZyM3MTkyOSAoMTgzNDY1MDEpLCBQcmVmaXhpbmcgcXVl cnkgd2l0aCBkb3VibGUgY29tbWVudHMgY2FuY2VscyBxdWVyeSBETUwgdmFsaWRhdGlvbi4KLUBA IC0xMTY0OCw0MSArMTE2MzMsNiBAQCBwdWJsaWMgY2xhc3MgU3RhdGVtZW50UmVncmVzc2lvblRl c3QgZXh0ZW5kcyBCYXNlVGVzdENhc2UgewotICAgICAgICAgfQotICAgICB9Ci0gCi0tICAgIC8q KgotLSAgICAgKiBUZXN0IGZpeCBmb3IgQnVnIzEwMzYxMiAoMzI5MDIwMTkpLCBJbmNvcnJlY3Rs eSBpZGVudGlmaWVkIFdJVEguLi5TRUxFQ1QgYXMgdW5zYWZlIGZvciByZWFkLW9ubHkgY29ubmVj dGlvbnMuCi0tICAgICAqIAotLSAgICAgKiBAdGhyb3dzIEV4Y2VwdGlvbgotLSAgICAgKiAKLS0g ICAgICogQHNlZSBTdGF0ZW1lbnRzVGVzdCN0ZXN0UmVhZE9ubHlTYWZlU3RhdGVtZW50cygpCi0t ICAgICAqLwotLSAgICBAVGVzdAotLSAgICBwdWJsaWMgdm9pZCB0ZXN0QnVnMTAzNjEyKCkgdGhy b3dzIEV4Y2VwdGlvbiB7Ci0tICAgICAgICBhc3N1bWVUcnVlKHZlcnNpb25NZWV0c01pbmltdW0o OCwgMCwgMSksICJNeVNRTCA4LjAuMSsgaXMgcmVxdWlyZWQgdG8gcnVuIHRoaXMgdGVzdC4iKTsK LS0KLS0gICAgICAgIGNyZWF0ZVRhYmxlKCJ0ZXN0QnVnMTAzNjEyIiwgIihpZCBJTlQpIik7Ci0t ICAgICAgICBTdHJpbmcgcXVlcnkgPSAiV0lUSCBjdGUgQVMgKFNFTEVDVCAqIEZST00gdGVzdEJ1 ZzEwMzYxMikgU0VMRUNUICogRlJPTSBjdGUiOwotLQotLSAgICAgICAgYm9vbGVhbiB1c2VTUFMg PSBmYWxzZTsKLS0gICAgICAgIGJvb2xlYW4gcmVhZE9ubHkgPSBmYWxzZTsKLS0gICAgICAgIGRv IHsKLS0gICAgICAgICAgICBmaW5hbCBTdHJpbmcgdGVzdENhc2UgPSBTdHJpbmcuZm9ybWF0KCJD YXNlIFtTUFM6ICVzLCBSZWFkT25seTogJXNdIiwgdXNlU1BTID8gIlkiIDogIk4iLCByZWFkT25s eSA/ICJZIiA6ICJOIik7Ci0tCi0tICAgICAgICAgICAgUHJvcGVydGllcyBwcm9wcyA9IG5ldyBQ cm9wZXJ0aWVzKCk7Ci0tICAgICAgICAgICAgcHJvcHMuc2V0UHJvcGVydHkoUHJvcGVydHlLZXku dXNlU2VydmVyUHJlcFN0bXRzLmdldEtleU5hbWUoKSwgQm9vbGVhbi50b1N0cmluZyh1c2VTUFMp KTsKLS0gICAgICAgICAgICBDb25uZWN0aW9uIHRlc3RDb25uID0gZ2V0Q29ubmVjdGlvbldpdGhQ cm9wcyhwcm9wcyk7Ci0tICAgICAgICAgICAgdGVzdENvbm4uc2V0UmVhZE9ubHkocmVhZE9ubHkp OwotLQotLSAgICAgICAgICAgIHRyeSAoU3RhdGVtZW50IHRlc3RTdG10ID0gdGVzdENvbm4uY3Jl YXRlU3RhdGVtZW50KCkpIHsKLS0gICAgICAgICAgICAgICAgYXNzZXJ0VHJ1ZSh0ZXN0U3RtdC5l eGVjdXRlKHF1ZXJ5KSwgdGVzdENhc2UpOwotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgICB0 cnkgKFByZXBhcmVkU3RhdGVtZW50IHRlc3RQc3RtdCA9IHRlc3RDb25uLnByZXBhcmVTdGF0ZW1l bnQocXVlcnkpKSB7Ci0tICAgICAgICAgICAgICAgIGFzc2VydFRydWUodGVzdFBzdG10LmV4ZWN1 dGUoKSwgdGVzdENhc2UpOwotLSAgICAgICAgICAgIH0KLS0KLS0gICAgICAgICAgICB0ZXN0Q29u bi5jbG9zZSgpOwotLSAgICAgICAgfSB3aGlsZSAoKHVzZVNQUyA9ICF1c2VTUFMpIHx8IChyZWFk T25seSA9ICFyZWFkT25seSkpOwotLSAgICB9Ci0tCi0gICAgIC8qKgotICAgICAgKiBUZXN0cyBm aXggZm9yIEJ1ZyMxMDEzODkgKDMyMDg5MDE4KSwgR0VUV0FSTklOR1MgU0hPVUxEIENIRUNLIFdB Uk5JTkcgQ09VTlQgQkVGT1JFIFNFTkRJTkcgU0hPVy4KLSAgICAgICogCi0tLSAKLTIuNDguMQot CgpkaWZmIC0tZ2l0IGEvMDAwNC1Qb3J0LXRvLUphdmEtMjEucGF0Y2ggYi8wMDA0LVBvcnQtdG8t SmF2YS0yMS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTc2NTk0Yi4uMDAw MDAwMAotLS0gYS8wMDA0LVBvcnQtdG8tSmF2YS0yMS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0x LDQyICswLDAgQEAKLUZyb20gNzkwZTliZGIxYzczYjM2OTVhMWJlYTlkMGZjY2Y5MTM0MTcyOGZj NyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IHJwbS1idWlsZCA8cnBtLWJ1aWxkPgot RGF0ZTogRnJpLCAyNCBKYW4gMjAyNSAxMDowOToxNiArMDEwMAotU3ViamVjdDogW1BBVENIIDQv NF0gUG9ydCB0byBKYXZhIDIxCi0KLS0tLQotIGJ1aWxkLnhtbCB8IDEyICstLS0tLS0tLS0tLQot IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYg LS1naXQgYS9idWlsZC54bWwgYi9idWlsZC54bWwKLWluZGV4IDNkMTNiZjQuLmIzNDM3ZDUgMTAw NjQ0Ci0tLS0gYS9idWlsZC54bWwKLSsrKyBiL2J1aWxkLnhtbAotQEAgLTM1MCwxNyArMzUwLDYg QEAgU2VlIGFsc28gY29tLm15c3FsLmNqLmNvbmYuUHJvcGVydHlEZWZpbml0aW9ucy5TWVNQXyog dmFyaWFibGVzIGZvciBvdGhlciB0ZXN0IG8KLSAgICAgICAgICAgICA8YXJnIHZhbHVlPSItdmVy c2lvbiIgLz4KLSAgICAgICAgIDwvZXhlYz4KLSAKLS0gICAgICAgIDxmYWlsIG1lc3NhZ2U9Ikph dmEgOCBpcyByZXF1aXJlZC4gU2V0IHRoZSBmdWxsIHBhdGggdG8gdGhpcyBKREsgaG9tZSB3aXRo IHRoZSBwcm9wZXJ0eSAnY29tLm15c3FsLmNqLmJ1aWxkLmpkaycuIERlZmF1bHQ6ICcvdXNyL2xp Yi9qdm0vamRrMS44JykuIj4KLS0gICAgICAgICAgICA8Y29uZGl0aW9uPgotLSAgICAgICAgICAg ICAgICA8bm90PgotLSAgICAgICAgICAgICAgICAgICAgPGFuZD4KLS0gICAgICAgICAgICAgICAg ICAgICAgICA8ZXF1YWxzIGFyZzE9IiR7Y29tLm15c3FsLmNqLmJ1aWxkLmpkay5leGl0U3RhdHVz fSIgYXJnMj0iMCIgLz4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8Y29udGFpbnMgc3RyaW5n PSIke2NvbS5teXNxbC5jai5idWlsZC5qZGsudmVyc2lvbn0iIHN1YnN0cmluZz0idmVyc2lvbiAm cXVvdDsxLjgiIGNhc2VzZW5zaXRpdmU9InRydWUiIC8+Ci0tICAgICAgICAgICAgICAgICAgICA8 L2FuZD4KLS0gICAgICAgICAgICAgICAgPC9ub3Q+Ci0tICAgICAgICAgICAgPC9jb25kaXRpb24+ Ci0tICAgICAgICA8L2ZhaWw+Ci0tCi0gICAgICAgICA8ZXhlYyBleGVjdXRhYmxlPSIke2NvbS5t eXNxbC5jai5idWlsZC5qZGsuamF2YWN9IgotICAgICAgICAgICAgICAgb3V0cHV0cHJvcGVydHk9 ImNvbS5teXNxbC5jai5kaXN0Lmpkay5jb21waWxlclZlcnNpb24iCi0gICAgICAgICAgICAgICBm YWlsb25lcnJvcj0idHJ1ZSIKLUBAIC0xMDU0LDYgKzEwNDMsNyBAQCBTZWUgYWxzbyBjb20ubXlz cWwuY2ouY29uZi5Qcm9wZXJ0eURlZmluaXRpb25zLlNZU1BfKiB2YXJpYWJsZXMgZm9yIG90aGVy IHRlc3QgbwotICAgICAgICAgICAgICAgIGV4ZWN1dGFibGU9IiR7Y29tLm15c3FsLmNqLmJ1aWxk Lmpkay5qYXZhY30iCi0gICAgICAgICAgICAgICAgY29tcGlsZXI9Im1vZGVybiIKLSAgICAgICAg ICAgICAgICBpbmNsdWRlYW50cnVudGltZT0iZmFsc2UiCi0rICAgICAgICAgICAgICAgcmVsZWFz ZT0iOCIKLSAgICAgICAgICAgICAgICBlbmNvZGluZz0iVVRGLTgiPgotICAgICAgICAgICAgIDxp bmNsdWRlIG5hbWU9IioqLyouamF2YSIgLz4KLSAgICAgICAgICAgICA8ZXhjbHVkZSBuYW1lPSJ0 ZXN0c3VpdGUvKioiIC8+Ci0tLSAKLTIuNDguMQotCgpkaWZmIC0tZ2l0IGEvQWRkLXBhY2thZ2Ut dGVzdHMtdGFyZ2V0LnBhdGNoIGIvQWRkLXBhY2thZ2UtdGVzdHMtdGFyZ2V0LnBhdGNoCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyNjJhZGMKLS0tIC9kZXYvbnVsbAorKysg Yi9BZGQtcGFja2FnZS10ZXN0cy10YXJnZXQucGF0Y2gKQEAgLTAsMCArMSwzNyBAQAorRnJvbSAw MDQzMGNkNmY3NmFlOGQ1Y2Y3YjlhNTJhNjRkOTIyNTc3ZTAwMjE0IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogTWFyaWFuIEtvbmNlayA8bWtvbmNla0ByZWRoYXQuY29tPgorRGF0ZTog TW9uLCAxMCBBdWcgMjAyNiAxMjo0NzoxOSArMDIwMAorU3ViamVjdDogW1BBVENIXSBBZGQgcGFj a2FnZS10ZXN0cyB0YXJnZXQKKworLS0tCisgYnVpbGQueG1sIHwgMTQgKysrKysrKysrKysrKysK KyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvYnVpbGQu eG1sIGIvYnVpbGQueG1sCitpbmRleCA4YWM1MWZjLi5kM2E4MzBjIDEwMDY0NAorLS0tIGEvYnVp bGQueG1sCisrKysgYi9idWlsZC54bWwKK0BAIC04MDQsNiArODA0LDIwIEBAIFNlZSBhbHNvIGNv bS5teXNxbC5jai5jb25mLlByb3BlcnR5RGVmaW5pdGlvbnMuU1lTUF8qIHZhcmlhYmxlcyBmb3Ig b3RoZXIgdGVzdCBvCisgICAgICAgICAgICAgZGVwZW5kcz0iLWNsZWFuLWFsbCwgYnVpbGQsIC1z ZXQtbm8tc291cmNlcywgLW1ha2UtcGFja2FnZXMsIC1yZW1vdmUtc291cmNlcywgLWNyZWF0ZS1h cmNoaXZlcyIgLz4KKyAKKyAKKysgICAgPCEtLSBDb21waWxlIHRoZSB0ZXN0IHN1aXRlIGFuZCBw YWNrYWdlIGl0IGludG8gYSBKQVIgd2l0aCBhIGNsYXNzcGF0aCBmaWxlLiAtLT4KKysgICAgPHRh cmdldCBuYW1lPSJwYWNrYWdlLXRlc3RzIgorKyAgICAgICAgICAgIGRlc2NyaXB0aW9uPSJDb21w aWxlcyB0aGUgdGVzdCBzdWl0ZSBhbmQgY3JlYXRlcyBhIHRlc3RzIEpBUiBhbmQgYSBjbGFzc3Bh dGggZmlsZSBmb3IgcnVubmluZyB0aGVtLiIKKysgICAgICAgICAgICBkZXBlbmRzPSItY29tcGls ZS10ZXN0c3VpdGUiPgorKyAgICAgICAgPGphciBqYXJmaWxlPSIke2NvbS5teXNxbC5jai5idWls ZC5kaXJ9LyR7Y29tLm15c3FsLmNqLmJ1aWxkLmRyaXZlci5leHRlbmRlZE5hbWV9LXRlc3RzLmph ciIKKysgICAgICAgICAgICAgYmFzZWRpcj0iJHtjb20ubXlzcWwuY2oudGVzdHN1aXRlLmNvbXBp bGVyLm91dHB1dH0iCisrICAgICAgICAgICAgIGluY2x1ZGVzPSIqKi8qLmNsYXNzIiAvPgorKwor KyAgICAgICAgPHBhdGhjb252ZXJ0IHByb3BlcnR5PSJjb20ubXlzcWwuY2oudGVzdHN1aXRlLnJ1 bi5jbGFzc3BhdGgiIHJlZmlkPSJjb20ubXlzcWwuY2ouZXh0cmEubGlicy5jbGFzc3BhdGgiIC8+ CisrICAgICAgICA8ZWNobyBmaWxlPSIke2NvbS5teXNxbC5jai5idWlsZC5kaXJ9L3Rlc3RzLWNs YXNzcGF0aCIKKysgICAgICAgICAgICAgIG1lc3NhZ2U9IiR7Y29tLm15c3FsLmNqLnRlc3RzdWl0 ZS5ydW4uY2xhc3NwYXRofSIgLz4KKysgICAgPC90YXJnZXQ+CisrCisrCisgICAgIDwhLS0gQnVp bGQgYW5kIGluc3RhbGwgdGhlIGRyaXZlciBqYXIgaW50byB0aGUgbG9jYWwgbWF2ZW4gcmVwb3Np dG9yeS4gLS0+CisgICAgIDx0YXJnZXQgbmFtZT0iaW5zdGFsbCIgZGVzY3JpcHRpb249IkJ1aWxk cyBhbmQgaW5zdGFsbHMgdGhlIGRyaXZlciBqYXIgaW50byB0aGUgbG9jYWwgbWF2ZW4gcmVwb3Np dG9yeS4iIGRlcGVuZHM9InBhY2thZ2UiPgorICAgICAgICAgPGV4ZWMgZXhlY3V0YWJsZT0ibXZu IiBvc2ZhbWlseT0idW5peCIgZmFpbG9uZXJyb3I9InRydWUiIGZhaWxpZmV4ZWN1dGlvbmZhaWxz PSJ0cnVlIj4KKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS9Qb3J0LXRvLUphdmEtMjEucGF0 Y2ggYi9Qb3J0LXRvLUphdmEtMjEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMzFmMzgxYQotLS0gL2Rldi9udWxsCisrKyBiL1BvcnQtdG8tSmF2YS0yMS5wYXRjaApA QCAtMCwwICsxLDQyIEBACitGcm9tIDc5MGU5YmRiMWM3M2IzNjk1YTFiZWE5ZDBmY2NmOTEzNDE3 MjhmYzcgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBycG0tYnVpbGQgPHJwbS1idWls ZD4KK0RhdGU6IEZyaSwgMjQgSmFuIDIwMjUgMTA6MDk6MTYgKzAxMDAKK1N1YmplY3Q6IFtQQVRD SCA0LzRdIFBvcnQgdG8gSmF2YSAyMQorCistLS0KKyBidWlsZC54bWwgfCAxMiArLS0tLS0tLS0t LS0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDExIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvYnVpbGQueG1sIGIvYnVpbGQueG1sCitpbmRleCA5Nzg0ZTllLi44YWM1MWZj IDEwMDY0NAorLS0tIGEvYnVpbGQueG1sCisrKysgYi9idWlsZC54bWwKK0BAIC0zNTEsMTcgKzM1 MSw2IEBAIFNlZSBhbHNvIGNvbS5teXNxbC5jai5jb25mLlByb3BlcnR5RGVmaW5pdGlvbnMuU1lT UF8qIHZhcmlhYmxlcyBmb3Igb3RoZXIgdGVzdCBvCisgICAgICAgICAgICAgPGFyZyB2YWx1ZT0i LXZlcnNpb24iIC8+CisgICAgICAgICA8L2V4ZWM+CisgCistICAgICAgICA8ZmFpbCBtZXNzYWdl PSJKYXZhIDggaXMgcmVxdWlyZWQgZm9yIGNvbXBpbGluZyB0aGUgc291cmNlIGNvZGUuIFNldCB0 aGUgcGF0aCB0byB0aGUgSkRLIGhvbWUgd2l0aCB0aGUgcHJvcGVydHkgJ2NvbS5teXNxbC5jai5i dWlsZC5qZGsnLiBEZWZhdWx0OiAnL3Vzci9saWIvanZtL2pkazEuOCcpLiI+CistICAgICAgICAg ICAgPGNvbmRpdGlvbj4KKy0gICAgICAgICAgICAgICAgPG5vdD4KKy0gICAgICAgICAgICAgICAg ICAgIDxhbmQ+CistICAgICAgICAgICAgICAgICAgICAgICAgPGVxdWFscyBhcmcxPSIke2NvbS5t eXNxbC5jai5idWlsZC5qZGsuZXhpdFN0YXR1c30iIGFyZzI9IjAiIC8+CistICAgICAgICAgICAg ICAgICAgICAgICAgPGNvbnRhaW5zIHN0cmluZz0iJHtjb20ubXlzcWwuY2ouYnVpbGQuamRrLnZl cnNpb259IiBzdWJzdHJpbmc9InZlcnNpb24gJnF1b3Q7MS44IiBjYXNlc2Vuc2l0aXZlPSJ0cnVl IiAvPgorLSAgICAgICAgICAgICAgICAgICAgPC9hbmQ+CistICAgICAgICAgICAgICAgIDwvbm90 PgorLSAgICAgICAgICAgIDwvY29uZGl0aW9uPgorLSAgICAgICAgPC9mYWlsPgorLQorICAgICAg ICAgPGV4ZWMgZXhlY3V0YWJsZT0iJHtjb20ubXlzcWwuY2ouYnVpbGQuamRrLmphdmFjfSIKKyAg ICAgICAgICAgICAgIG91dHB1dHByb3BlcnR5PSJjb20ubXlzcWwuY2ouZGlzdC5qZGsuY29tcGls ZXJWZXJzaW9uIgorICAgICAgICAgICAgICAgZmFpbG9uZXJyb3I9InRydWUiCitAQCAtMTA1Miw2 ICsxMDQxLDcgQEAgU2VlIGFsc28gY29tLm15c3FsLmNqLmNvbmYuUHJvcGVydHlEZWZpbml0aW9u cy5TWVNQXyogdmFyaWFibGVzIGZvciBvdGhlciB0ZXN0IG8KKyAgICAgICAgICAgICAgICBleGVj dXRhYmxlPSIke2NvbS5teXNxbC5jai5idWlsZC5qZGsuamF2YWN9IgorICAgICAgICAgICAgICAg IGNvbXBpbGVyPSJtb2Rlcm4iCisgICAgICAgICAgICAgICAgaW5jbHVkZWFudHJ1bnRpbWU9ImZh bHNlIgorKyAgICAgICAgICAgICAgIHJlbGVhc2U9IjgiCisgICAgICAgICAgICAgICAgZW5jb2Rp bmc9IlVURi04Ij4KKyAgICAgICAgICAgICA8aW5jbHVkZSBuYW1lPSIqKi8qLmphdmEiIC8+Cisg ICAgICAgICAgICAgPGV4Y2x1ZGUgbmFtZT0idGVzdHN1aXRlLyoqIiAvPgorLS0gCisyLjU0LjAK KwoKZGlmZiAtLWdpdCBhL1JlbW92ZS1hdXRoZW50aWNhdGlvbi1wbHVnaW4ucGF0Y2ggYi9SZW1v dmUtYXV0aGVudGljYXRpb24tcGx1Z2luLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjkwZDBlZjgKLS0tIC9kZXYvbnVsbAorKysgYi9SZW1vdmUtYXV0aGVudGljYXRp b24tcGx1Z2luLnBhdGNoCkBAIC0wLDAgKzEsMjc1IEBACitGcm9tIDQ3NzkzYjg5MzAwYTE5YzVm ZDEzYjc4MWYwM2RkNTgwZmMwMTg2YTYgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBP bmRyZWogRHViYWogPG9kdWJhakByZWRoYXQuY29tPgorRGF0ZTogVHVlLCAxOCBKYW4gMjAyMiAx NDo1ODo1NyArMDEwMAorU3ViamVjdDogW1BBVENIXSByZW1vdmUgQXV0aGVudGljYXRpb25PY2lD bGllbnQgcGx1Z2luIGR1ZSB0byBtaXNzaW5nIG9yYWNsZSBkZXBlbmRlbmN5CisKKy0tLQorIC4u Li9hL05hdGl2ZUF1dGhlbnRpY2F0aW9uUHJvdmlkZXIuamF2YSAgICAgICB8ICAgMiAtCisgLi4u L0F1dGhlbnRpY2F0aW9uT2NpQ2xpZW50LmphdmEgICAgICAgICAgICAgIHwgMjExIC0tLS0tLS0t LS0tLS0tLS0tLQorIC4uLi9jai9Mb2NhbGl6ZWRFcnJvck1lc3NhZ2VzLnByb3BlcnRpZXMgICAg ICB8ICAxMiAtCisgMyBmaWxlcyBjaGFuZ2VkLCAyMjUgZGVsZXRpb25zKC0pCisgZGVsZXRlIG1v ZGUgMTAwNjQ0IHNyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9j b2wvYS9hdXRoZW50aWNhdGlvbi9BdXRoZW50aWNhdGlvbk9jaUNsaWVudC5qYXZhCisKK2RpZmYg LS1naXQgYS9zcmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29s L2EvTmF0aXZlQXV0aGVudGljYXRpb25Qcm92aWRlci5qYXZhIGIvc3JjL21haW4vcHJvdG9jb2wt aW1wbC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL05hdGl2ZUF1dGhlbnRpY2F0aW9uUHJv dmlkZXIuamF2YQoraW5kZXggNWQ2NzhhZi4uZGU0MTgzYiAxMDA2NDQKKy0tLSBhL3NyYy9tYWlu L3Byb3RvY29sLWltcGwvamF2YS9jb20vbXlzcWwvY2ovcHJvdG9jb2wvYS9OYXRpdmVBdXRoZW50 aWNhdGlvblByb3ZpZGVyLmphdmEKKysrKyBiL3NyYy9tYWluL3Byb3RvY29sLWltcGwvamF2YS9j b20vbXlzcWwvY2ovcHJvdG9jb2wvYS9OYXRpdmVBdXRoZW50aWNhdGlvblByb3ZpZGVyLmphdmEK K0BAIC00OCw3ICs0OCw2IEBAIGltcG9ydCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5OYXRpdmVD b25zdGFudHMuU3RyaW5nTGVuZ3RoRGF0YVR5cGU7CisgaW1wb3J0IGNvbS5teXNxbC5jai5wcm90 b2NvbC5hLk5hdGl2ZUNvbnN0YW50cy5TdHJpbmdTZWxmRGF0YVR5cGU7CisgaW1wb3J0IGNvbS5t eXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9uS2VyYmVyb3ND bGllbnQ7CisgaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1 dGhlbnRpY2F0aW9uTGRhcFNhc2xDbGllbnRQbHVnaW47CistaW1wb3J0IGNvbS5teXNxbC5jai5w cm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50OworIGltcG9y dCBjb20ubXlzcWwuY2oucHJvdG9jb2wuYS5hdXRoZW50aWNhdGlvbi5BdXRoZW50aWNhdGlvbk9w ZW5pZENvbm5lY3RDbGllbnQ7CisgaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhl bnRpY2F0aW9uLkF1dGhlbnRpY2F0aW9uV2ViQXV0aG5DbGllbnQ7CisgaW1wb3J0IGNvbS5teXNx bC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uLkNhY2hpbmdTaGEyUGFzc3dvcmRQbHVnaW47 CitAQCAtMjQ5LDcgKzI0OCw2IEBAIHB1YmxpYyBjbGFzcyBOYXRpdmVBdXRoZW50aWNhdGlvblBy b3ZpZGVyIGltcGxlbWVudHMgQXV0aGVudGljYXRpb25Qcm92aWRlcjxOYXRpCisgICAgICAgICBw bHVnaW5zVG9Jbml0LmFkZChuZXcgTXlzcWxPbGRQYXNzd29yZFBsdWdpbigpKTsKKyAgICAgICAg IHBsdWdpbnNUb0luaXQuYWRkKG5ldyBBdXRoZW50aWNhdGlvbkxkYXBTYXNsQ2xpZW50UGx1Z2lu KCkpOworICAgICAgICAgcGx1Z2luc1RvSW5pdC5hZGQobmV3IEF1dGhlbnRpY2F0aW9uS2VyYmVy b3NDbGllbnQoKSk7CistICAgICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0aGVudGljYXRp b25PY2lDbGllbnQoKSk7CisgICAgICAgICBwbHVnaW5zVG9Jbml0LmFkZChuZXcgQXV0aGVudGlj YXRpb25XZWJBdXRobkNsaWVudCgpKTsKKyAgICAgICAgIHBsdWdpbnNUb0luaXQuYWRkKG5ldyBB dXRoZW50aWNhdGlvbk9wZW5pZENvbm5lY3RDbGllbnQoKSk7CisgCitkaWZmIC0tZ2l0IGEvc3Jj L21haW4vcHJvdG9jb2wtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9wcm90b2NvbC9hL2F1dGhlbnRp Y2F0aW9uL0F1dGhlbnRpY2F0aW9uT2NpQ2xpZW50LmphdmEgYi9zcmMvbWFpbi9wcm90b2NvbC1p bXBsL2phdmEvY29tL215c3FsL2NqL3Byb3RvY29sL2EvYXV0aGVudGljYXRpb24vQXV0aGVudGlj YXRpb25PY2lDbGllbnQuamF2YQorZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CitpbmRleCA2Yzgw MjlmLi4wMDAwMDAwCistLS0gYS9zcmMvbWFpbi9wcm90b2NvbC1pbXBsL2phdmEvY29tL215c3Fs L2NqL3Byb3RvY29sL2EvYXV0aGVudGljYXRpb24vQXV0aGVudGljYXRpb25PY2lDbGllbnQuamF2 YQorKysrIC9kZXYvbnVsbAorQEAgLTEsMjExICswLDAgQEAKKy0vKgorLSAqIENvcHlyaWdodCAo YykgMjAyMSwgMjAyNiwgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4KKy0gKgorLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UsIHZlcnNpb24gMi4wLCBhcyBwdWJsaXNoZWQgYnkKKy0gKiB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLgorLSAqCistICogVGhpcyBwcm9ncmFtIGlzIGRlc2lnbmVkIHRvIHdvcmsg d2l0aCBjZXJ0YWluIHNvZnR3YXJlIHRoYXQgaXMgbGljZW5zZWQgdW5kZXIgc2VwYXJhdGUgdGVy bXMsIGFzIGRlc2lnbmF0ZWQgaW4gYSBwYXJ0aWN1bGFyIGZpbGUgb3IgY29tcG9uZW50IG9yIGlu CistICogaW5jbHVkZWQgbGljZW5zZSBkb2N1bWVudGF0aW9uLiBUaGUgYXV0aG9ycyBvZiBNeVNR TCBoZXJlYnkgZ3JhbnQgeW91IGFuIGFkZGl0aW9uYWwgcGVybWlzc2lvbiB0byBsaW5rIHRoZSBw cm9ncmFtIGFuZCB5b3VyIGRlcml2YXRpdmUgd29ya3Mgd2l0aCB0aGUKKy0gKiBzZXBhcmF0ZWx5 IGxpY2Vuc2VkIHNvZnR3YXJlIHRoYXQgdGhleSBoYXZlIGVpdGhlciBpbmNsdWRlZCB3aXRoIHRo ZSBwcm9ncmFtIG9yIHJlZmVyZW5jZWQgaW4gdGhlIGRvY3VtZW50YXRpb24uCistICoKKy0gKiBX aXRob3V0IGxpbWl0aW5nIGFueXRoaW5nIGNvbnRhaW5lZCBpbiB0aGUgZm9yZWdvaW5nLCB0aGlz IGZpbGUsIHdoaWNoIGlzIHBhcnQgb2YgTXlTUUwgQ29ubmVjdG9yL0osIGlzIGFsc28gc3ViamVj dCB0byB0aGUgVW5pdmVyc2FsIEZPU1MgRXhjZXB0aW9uLAorLSAqIHZlcnNpb24gMS4wLCBhIGNv cHkgb2Ygd2hpY2ggY2FuIGJlIGZvdW5kIGF0IGh0dHA6Ly9vc3Mub3JhY2xlLmNvbS9saWNlbnNl cy91bml2ZXJzYWwtZm9zcy1leGNlcHRpb24uCistICoKKy0gKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hB TlRBQklMSVRZIG9yCistICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMi4wLCBmb3IgbW9yZSBkZXRh aWxzLgorLSAqCistICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwg d3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKy0gKiA1MSBGcmFu a2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKy0gKi8KKy0K Ky1wYWNrYWdlIGNvbS5teXNxbC5jai5wcm90b2NvbC5hLmF1dGhlbnRpY2F0aW9uOworLQorLWlt cG9ydCBqYXZhLmlvLklPRXhjZXB0aW9uOworLWltcG9ydCBqYXZhLm5pby5jaGFyc2V0LkNoYXJz ZXQ7CistaW1wb3J0IGphdmEubmlvLmZpbGUuRmlsZXM7CistaW1wb3J0IGphdmEubmlvLmZpbGUu UGF0aDsKKy1pbXBvcnQgamF2YS5uaW8uZmlsZS5QYXRoczsKKy1pbXBvcnQgamF2YS5zZWN1cml0 eS5pbnRlcmZhY2VzLlJTQVByaXZhdGVLZXk7CistaW1wb3J0IGphdmEudXRpbC5CYXNlNjQ7Cist aW1wb3J0IGphdmEudXRpbC5MaXN0OworLQorLWltcG9ydCBjb20ubXlzcWwuY2ouTWVzc2FnZXM7 CistaW1wb3J0IGNvbS5teXNxbC5jai5jYWxsYmFjay5NeXNxbENhbGxiYWNrSGFuZGxlcjsKKy1p bXBvcnQgY29tLm15c3FsLmNqLmNhbGxiYWNrLlVzZXJuYW1lQ2FsbGJhY2s7CistaW1wb3J0IGNv bS5teXNxbC5jai5jb25mLlByb3BlcnR5S2V5OworLWltcG9ydCBjb20ubXlzcWwuY2ouZXhjZXB0 aW9ucy5FeGNlcHRpb25GYWN0b3J5OworLWltcG9ydCBjb20ubXlzcWwuY2ouZXhjZXB0aW9ucy5S U0FFeGNlcHRpb247CistaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5BdXRoZW50aWNhdGlv blBsdWdpbjsKKy1pbXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLkV4cG9ydENvbnRyb2xsZWQ7 CistaW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5Qcm90b2NvbDsKKy1pbXBvcnQgY29tLm15 c3FsLmNqLnByb3RvY29sLmEuTmF0aXZlQ29uc3RhbnRzLlN0cmluZ1NlbGZEYXRhVHlwZTsKKy1p bXBvcnQgY29tLm15c3FsLmNqLnByb3RvY29sLmEuTmF0aXZlUGFja2V0UGF5bG9hZDsKKy1pbXBv cnQgY29tLm15c3FsLmNqLnV0aWwuU3RyaW5nVXRpbHM7CistaW1wb3J0IGNvbS5vcmFjbGUuYm1j LkNvbmZpZ0ZpbGVSZWFkZXI7CistaW1wb3J0IGNvbS5vcmFjbGUuYm1jLkNvbmZpZ0ZpbGVSZWFk ZXIuQ29uZmlnRmlsZTsKKy0KKy0vKioKKy0gKiBNeVNRTCAnYXV0aGVudGljYXRpb25faWFtX2Ns aWVudCcgYXV0aGVudGljYXRpb24gcGx1Z2luLgorLSAqLworLXB1YmxpYyBjbGFzcyBBdXRoZW50 aWNhdGlvbk9jaUNsaWVudCBpbXBsZW1lbnRzIEF1dGhlbnRpY2F0aW9uUGx1Z2luPE5hdGl2ZVBh Y2tldFBheWxvYWQ+IHsKKy0KKy0gICAgcHVibGljIHN0YXRpYyBTdHJpbmcgUExVR0lOX05BTUUg PSAiYXV0aGVudGljYXRpb25fb2NpX2NsaWVudCI7CistCistICAgIHByaXZhdGUgU3RyaW5nIHNv dXJjZU9mQXV0aERhdGEgPSBQTFVHSU5fTkFNRTsKKy0KKy0gICAgcHJvdGVjdGVkIFByb3RvY29s PE5hdGl2ZVBhY2tldFBheWxvYWQ+IHByb3RvY29sID0gbnVsbDsKKy0gICAgcHJpdmF0ZSBNeXNx bENhbGxiYWNrSGFuZGxlciB1c2VybmFtZUNhbGxiYWNrSGFuZGxlciA9IG51bGw7CistICAgIHBy aXZhdGUgU3RyaW5nIGNvbmZpZ0ZpbmdlcnByaW50ID0gbnVsbDsKKy0gICAgcHJpdmF0ZSBTdHJp bmcgY29uZmlnS2V5RmlsZSA9IG51bGw7CistICAgIHByaXZhdGUgU3RyaW5nIGNvbmZpZ1NlY3Vy aXR5VG9rZW5GaWxlID0gbnVsbDsKKy0gICAgcHJpdmF0ZSBSU0FQcml2YXRlS2V5IHByaXZhdGVL ZXkgPSBudWxsOworLSAgICBwcml2YXRlIGJ5dGVbXSB0b2tlbiA9IG51bGw7CistCistICAgIEBP dmVycmlkZQorLSAgICBwdWJsaWMgdm9pZCBpbml0KFByb3RvY29sPE5hdGl2ZVBhY2tldFBheWxv YWQ+IHByb3QsIE15c3FsQ2FsbGJhY2tIYW5kbGVyIGNiaCkgeworLSAgICAgICAgdGhpcy5wcm90 b2NvbCA9IHByb3Q7CistICAgICAgICB0aGlzLnVzZXJuYW1lQ2FsbGJhY2tIYW5kbGVyID0gY2Jo OworLSAgICB9CistCistICAgIEBPdmVycmlkZQorLSAgICBwdWJsaWMgdm9pZCByZXNldCgpIHsK Ky0gICAgICAgIHRoaXMuY29uZmlnRmluZ2VycHJpbnQgPSBudWxsOworLSAgICAgICAgdGhpcy5w cml2YXRlS2V5ID0gbnVsbDsKKy0gICAgfQorLQorLSAgICBAT3ZlcnJpZGUKKy0gICAgcHVibGlj IHZvaWQgZGVzdHJveSgpIHsKKy0gICAgICAgIHJlc2V0KCk7CistICAgICAgICB0aGlzLnByb3Rv Y29sID0gbnVsbDsKKy0gICAgICAgIHRoaXMudXNlcm5hbWVDYWxsYmFja0hhbmRsZXIgPSBudWxs OworLSAgICB9CistCistICAgIEBPdmVycmlkZQorLSAgICBwdWJsaWMgU3RyaW5nIGdldFByb3Rv Y29sUGx1Z2luTmFtZSgpIHsKKy0gICAgICAgIHJldHVybiBQTFVHSU5fTkFNRTsKKy0gICAgfQor LQorLSAgICBAT3ZlcnJpZGUKKy0gICAgcHVibGljIGJvb2xlYW4gcmVxdWlyZXNDb25maWRlbnRp YWxpdHkoKSB7CistICAgICAgICByZXR1cm4gZmFsc2U7CistICAgIH0KKy0KKy0gICAgQE92ZXJy aWRlCistICAgIHB1YmxpYyBib29sZWFuIGlzUmV1c2FibGUoKSB7CistICAgICAgICByZXR1cm4g ZmFsc2U7CistICAgIH0KKy0KKy0gICAgQE92ZXJyaWRlCistICAgIHB1YmxpYyB2b2lkIHNldEF1 dGhlbnRpY2F0aW9uUGFyYW1ldGVycyhTdHJpbmcgdXNlciwgU3RyaW5nIHBhc3N3b3JkKSB7Cist ICAgICAgICBpZiAodXNlciA9PSBudWxsICYmIHRoaXMudXNlcm5hbWVDYWxsYmFja0hhbmRsZXIg IT0gbnVsbCkgeworLSAgICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBzeXN0ZW0gbG9naW4gdXNl ci4KKy0gICAgICAgICAgICB0aGlzLnVzZXJuYW1lQ2FsbGJhY2tIYW5kbGVyLmhhbmRsZShuZXcg VXNlcm5hbWVDYWxsYmFjayhTeXN0ZW0uZ2V0UHJvcGVydHkoInVzZXIubmFtZSIpKSk7CistICAg ICAgICB9CistICAgIH0KKy0KKy0gICAgQE92ZXJyaWRlCistICAgIHB1YmxpYyB2b2lkIHNldFNv dXJjZU9mQXV0aERhdGEoU3RyaW5nIHNvdXJjZU9mQXV0aERhdGEpIHsKKy0gICAgICAgIHRoaXMu c291cmNlT2ZBdXRoRGF0YSA9IHNvdXJjZU9mQXV0aERhdGE7CistICAgIH0KKy0KKy0gICAgQE92 ZXJyaWRlCistICAgIHB1YmxpYyBib29sZWFuIG5leHRBdXRoZW50aWNhdGlvblN0ZXAoTmF0aXZl UGFja2V0UGF5bG9hZCBmcm9tU2VydmVyLCBMaXN0PE5hdGl2ZVBhY2tldFBheWxvYWQ+IHRvU2Vy dmVyKSB7CistICAgICAgICB0b1NlcnZlci5jbGVhcigpOworLQorLSAgICAgICAgaWYgKCF0aGlz LnNvdXJjZU9mQXV0aERhdGEuZXF1YWxzKFBMVUdJTl9OQU1FKSB8fCBmcm9tU2VydmVyLmdldFBh eWxvYWRMZW5ndGgoKSA9PSAwKSB7CistICAgICAgICAgICAgLy8gQ2Fubm90IGRvIGFueXRoaW5n IHdpdGggd2hhdGV2ZXIgcGF5bG9hZCBjb21lcyBmcm9tIHRoZSBzZXJ2ZXIsIHNvIGp1c3Qgc2tp cCB0aGlzIGl0ZXJhdGlvbiBhbmQgd2FpdCBmb3IgYSBQcm90b2NvbDo6QXV0aFN3aXRjaFJlcXVl c3Qgb3IgYQorLSAgICAgICAgICAgIC8vIFByb3RvY29sOjpBdXRoTmV4dEZhY3Rvci4KKy0gICAg ICAgICAgICB0b1NlcnZlci5hZGQobmV3IE5hdGl2ZVBhY2tldFBheWxvYWQoMCkpOworLSAgICAg ICAgICAgIHJldHVybiB0cnVlOworLSAgICAgICAgfQorLQorLSAgICAgICAgbG9hZE9jaUNvbmZp ZygpOworLSAgICAgICAgaW5pdGlhbGl6ZVByaXZhdGVLZXkoKTsKKy0gICAgICAgIGluaXRpYWxp emVUb2tlbigpOworLQorLSAgICAgICAgYnl0ZVtdIG5vbmNlID0gZnJvbVNlcnZlci5yZWFkQnl0 ZXMoU3RyaW5nU2VsZkRhdGFUeXBlLlNUUklOR19FT0YpOworLSAgICAgICAgYnl0ZVtdIHNpZ25h dHVyZSA9IEV4cG9ydENvbnRyb2xsZWQuc2lnbihub25jZSwgdGhpcy5wcml2YXRlS2V5KTsKKy0g ICAgICAgIGlmIChzaWduYXR1cmUgPT0gbnVsbCkgeworLSAgICAgICAgICAgIHNpZ25hdHVyZSA9 IG5ldyBieXRlWzBdOworLSAgICAgICAgfQorLSAgICAgICAgU3RyaW5nIHBheWxvYWQgPSBTdHJp bmcuZm9ybWF0KCJ7XCJmaW5nZXJwcmludFwiOlwiJXNcIiwgXCJzaWduYXR1cmVcIjpcIiVzXCIs IFwidG9rZW5cIjpcIiVzXCJ9IiwgdGhpcy5jb25maWdGaW5nZXJwcmludCwKKy0gICAgICAgICAg ICAgICAgQmFzZTY0LmdldEVuY29kZXIoKS5lbmNvZGVUb1N0cmluZyhzaWduYXR1cmUpLCBuZXcg U3RyaW5nKHRoaXMudG9rZW4pKTsKKy0gICAgICAgIHRvU2VydmVyLmFkZChuZXcgTmF0aXZlUGFj a2V0UGF5bG9hZChwYXlsb2FkLmdldEJ5dGVzKENoYXJzZXQuZGVmYXVsdENoYXJzZXQoKSkpKTsK Ky0gICAgICAgIHJldHVybiB0cnVlOworLSAgICB9CistCistICAgIHByaXZhdGUgdm9pZCBsb2Fk T2NpQ29uZmlnKCkgeworLSAgICAgICAgQ29uZmlnRmlsZSBjb25maWdGaWxlOworLSAgICAgICAg dHJ5IHsKKy0gICAgICAgICAgICBTdHJpbmcgY29uZmlnRmlsZVBhdGggPSB0aGlzLnByb3RvY29s LmdldFByb3BlcnR5U2V0KCkuZ2V0U3RyaW5nUHJvcGVydHkoUHJvcGVydHlLZXkub2NpQ29uZmln RmlsZS5nZXRLZXlOYW1lKCkpLmdldFN0cmluZ1ZhbHVlKCk7CistICAgICAgICAgICAgU3RyaW5n IGNvbmZpZ1Byb2ZpbGUgPSB0aGlzLnByb3RvY29sLmdldFByb3BlcnR5U2V0KCkuZ2V0U3RyaW5n UHJvcGVydHkoUHJvcGVydHlLZXkub2NpQ29uZmlnUHJvZmlsZS5nZXRLZXlOYW1lKCkpLmdldFN0 cmluZ1ZhbHVlKCk7CistICAgICAgICAgICAgaWYgKFN0cmluZ1V0aWxzLmlzTnVsbE9yRW1wdHko Y29uZmlnRmlsZVBhdGgpKSB7CistICAgICAgICAgICAgICAgIGNvbmZpZ0ZpbGUgPSBDb25maWdG aWxlUmVhZGVyLnBhcnNlRGVmYXVsdChjb25maWdQcm9maWxlKTsKKy0gICAgICAgICAgICB9IGVs c2UgaWYgKEZpbGVzLmV4aXN0cyhQYXRocy5nZXQoY29uZmlnRmlsZVBhdGgpKSkgeworLSAgICAg ICAgICAgICAgICBjb25maWdGaWxlID0gQ29uZmlnRmlsZVJlYWRlci5wYXJzZShjb25maWdGaWxl UGF0aCwgY29uZmlnUHJvZmlsZSk7CistICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAgICAg ICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0 U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5Db25maWdGaWxlTm90Rm91bmQi KSk7CistICAgICAgICAgICAgfQorLSAgICAgICAgfSBjYXRjaCAoTm9DbGFzc0RlZkZvdW5kRXJy b3IgZSkgeworLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0 aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2Np U2RrTm90Rm91bmQiKSwgZSk7CistICAgICAgICB9IGNhdGNoIChJT0V4Y2VwdGlvbiBlKSB7Cist ICAgICAgICAgICAgdGhyb3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2Fn ZXMuZ2V0U3RyaW5nKCJBdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5PY2lDb25maWdGaWxl RXJyb3IiKSwgZSk7CistICAgICAgICB9IGNhdGNoIChJbGxlZ2FsQXJndW1lbnRFeGNlcHRpb24g ZSkgeworLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9u KE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJvZmls ZU5vdEZvdW5kIiksIGUpOworLSAgICAgICAgfQorLQorLSAgICAgICAgdGhpcy5jb25maWdGaW5n ZXJwcmludCA9IGNvbmZpZ0ZpbGUuZ2V0KCJmaW5nZXJwcmludCIpOworLSAgICAgICAgaWYgKFN0 cmluZ1V0aWxzLmlzTnVsbE9yRW1wdHkodGhpcy5jb25maWdGaW5nZXJwcmludCkpIHsKKy0gICAg ICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5n ZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNvbmZpZ0ZpbGVNaXNz aW5nRW50cnkiKSk7CistICAgICAgICB9CistICAgICAgICB0aGlzLmNvbmZpZ0tleUZpbGUgPSBj b25maWdGaWxlLmdldCgia2V5X2ZpbGUiKTsKKy0gICAgICAgIGlmIChTdHJpbmdVdGlscy5pc051 bGxPckVtcHR5KHRoaXMuY29uZmlnS2V5RmlsZSkpIHsKKy0gICAgICAgICAgICB0aHJvdyBFeGNl cHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRp Y2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNvbmZpZ0ZpbGVNaXNzaW5nRW50cnkiKSk7CistICAg ICAgICB9CistICAgICAgICB0aGlzLmNvbmZpZ1NlY3VyaXR5VG9rZW5GaWxlID0gY29uZmlnRmls ZS5nZXQoInNlY3VyaXR5X3Rva2VuX2ZpbGUiKTsKKy0gICAgfQorLQorLSAgICBwcml2YXRlIHZv aWQgaW5pdGlhbGl6ZVByaXZhdGVLZXkoKSB7CistICAgICAgICBpZiAodGhpcy5wcml2YXRlS2V5 ICE9IG51bGwpIHsKKy0gICAgICAgICAgICAvLyBBbHJlYWR5IGluaXRpYWxpemVkLgorLSAgICAg ICAgICAgIHJldHVybjsKKy0gICAgICAgIH0KKy0gICAgICAgIHRyeSB7CistICAgICAgICAgICAg UGF0aCBrZXlGaWxlUGF0aCA9IFBhdGhzLmdldCh0aGlzLmNvbmZpZ0tleUZpbGUpOworLSAgICAg ICAgICAgIGlmIChGaWxlcy5ub3RFeGlzdHMoa2V5RmlsZVBhdGgpKSB7CistICAgICAgICAgICAg ICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0 cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJpdmF0ZUtleU5vdEZvdW5kIikp OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBTdHJpbmcga2V5ID0gbmV3IFN0cmluZyhG aWxlcy5yZWFkQWxsQnl0ZXMoa2V5RmlsZVBhdGgpKTsKKy0gICAgICAgICAgICB0aGlzLnByaXZh dGVLZXkgPSBFeHBvcnRDb250cm9sbGVkLmRlY29kZVJTQVByaXZhdGVLZXkoa2V5KTsKKy0gICAg ICAgIH0gY2F0Y2ggKElPRXhjZXB0aW9uIGUpIHsKKy0gICAgICAgICAgICB0aHJvdyBFeGNlcHRp b25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0 aW9uT2NpQ2xpZW50UGx1Z2luLkZhaWxlZFJlYWRpbmdQcml2YXRlS2V5IiksIGUpOworLSAgICAg ICAgfSBjYXRjaCAoUlNBRXhjZXB0aW9uIHwgSWxsZWdhbEFyZ3VtZW50RXhjZXB0aW9uIGUpIHsK Ky0gICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5LmNyZWF0ZUV4Y2VwdGlvbihNZXNz YWdlcy5nZXRTdHJpbmcoIkF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlByaXZhdGVLZXlO b3RWYWxpZCIpLCBlKTsKKy0gICAgICAgIH0KKy0gICAgfQorLQorLSAgICBwcml2YXRlIHZvaWQg aW5pdGlhbGl6ZVRva2VuKCkgeworLSAgICAgICAgaWYgKHRoaXMudG9rZW4gIT0gbnVsbCkgewor LSAgICAgICAgICAgIC8vIEFscmVhZHkgaW5pdGlhbGl6ZWQuCistICAgICAgICAgICAgcmV0dXJu OworLSAgICAgICAgfQorLSAgICAgICAgaWYgKFN0cmluZ1V0aWxzLmlzTnVsbE9yRW1wdHkodGhp cy5jb25maWdTZWN1cml0eVRva2VuRmlsZSkpIHsKKy0gICAgICAgICAgICB0aGlzLnRva2VuID0g bmV3IGJ5dGVbMF07CistICAgICAgICAgICAgcmV0dXJuOworLSAgICAgICAgfQorLSAgICAgICAg dHJ5IHsKKy0gICAgICAgICAgICBQYXRoIHNlY3VyaXR5VG9rZW5GaWxlUGF0aCA9IFBhdGhzLmdl dCh0aGlzLmNvbmZpZ1NlY3VyaXR5VG9rZW5GaWxlKTsKKy0gICAgICAgICAgICBpZiAoRmlsZXMu bm90RXhpc3RzKHNlY3VyaXR5VG9rZW5GaWxlUGF0aCkpIHsKKy0gICAgICAgICAgICAgICAgdGhy b3cgRXhjZXB0aW9uRmFjdG9yeS5jcmVhdGVFeGNlcHRpb24oTWVzc2FnZXMuZ2V0U3RyaW5nKCJB dXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5TZWN1cml0eVRva2VuRmlsZU5vdEZvdW5kIikp OworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBsb25nIHNpemUgPSBGaWxlcy5zaXplKHNl Y3VyaXR5VG9rZW5GaWxlUGF0aCk7CistICAgICAgICAgICAgaWYgKHNpemUgPiAxMDI0MCkgeyAv LyBGYWlsIGlmIGFib3ZlIDEwS0IuCistICAgICAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZh Y3RvcnkuY3JlYXRlRXhjZXB0aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25P Y2lDbGllbnRQbHVnaW4uU2VjdXJpdHlUb2tlblRvb0JpZyIpKTsKKy0gICAgICAgICAgICB9Cist ICAgICAgICAgICAgdGhpcy50b2tlbiA9IEZpbGVzLnJlYWRBbGxCeXRlcyhQYXRocy5nZXQodGhp cy5jb25maWdTZWN1cml0eVRva2VuRmlsZSkpOworLSAgICAgICAgfSBjYXRjaCAoSU9FeGNlcHRp b24gZSkgeworLSAgICAgICAgICAgIHRocm93IEV4Y2VwdGlvbkZhY3RvcnkuY3JlYXRlRXhjZXB0 aW9uKE1lc3NhZ2VzLmdldFN0cmluZygiQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uRmFp bGVkUmVhZGluZ1NlY3VyaXR5VG9rZW5GaWxlIiksIGUpOworLSAgICAgICAgfQorLSAgICB9Cist CistfQorZGlmZiAtLWdpdCBhL3NyYy9tYWluL3Jlc291cmNlcy9jb20vbXlzcWwvY2ovTG9jYWxp emVkRXJyb3JNZXNzYWdlcy5wcm9wZXJ0aWVzIGIvc3JjL21haW4vcmVzb3VyY2VzL2NvbS9teXNx bC9jai9Mb2NhbGl6ZWRFcnJvck1lc3NhZ2VzLnByb3BlcnRpZXMKK2luZGV4IGE2YWUwMTcuLmU0 MWFmYzAgMTAwNjQ0CistLS0gYS9zcmMvbWFpbi9yZXNvdXJjZXMvY29tL215c3FsL2NqL0xvY2Fs aXplZEVycm9yTWVzc2FnZXMucHJvcGVydGllcworKysrIGIvc3JjL21haW4vcmVzb3VyY2VzL2Nv bS9teXNxbC9jai9Mb2NhbGl6ZWRFcnJvck1lc3NhZ2VzLnByb3BlcnRpZXMKK0BAIC00MiwxOCAr NDIsNiBAQCBBdXRoZW50aWNhdGlvbk9wZW5pZENvbm5lY3QuTWlzc2luZ0lkVG9rZW5GaWxlT3B0 aW9uPUEgcGF0aCB0byBhIGZpbGUgY29udGFpbmluZworIEF1dGhlbnRpY2F0aW9uT3BlbmlkQ29u bmVjdC5GYWlsUmVhZElkVG9rZW5GaWxlPUZhaWxlZCByZWFkaW5nIHRoZSBPcGVuSUQgSWRlbnRp dHkgVG9rZW4gZmlsZSBzcGVjaWZpZWQgaW4gdGhlIGNvbm5lY3Rpb24gcHJvcGVydHkgJydpZFRv a2VuRmlsZScnLgorIEF1dGhlbnRpY2F0aW9uT3BlbmlkQ29ubmVjdC5JbnZhbGlkSWRUb2tlbkZp bGU9VGhlIGZpbGUgc3BlY2lmaWVkIGluIHRoZSBjb25uZWN0aW9uIHByb3BlcnR5ICcnaWRUb2tl bkZpbGUnJyBjb250YWlucyBhbiBpbnZhbGlkIE9wZW5JRCBJZGVudGl0eSBUb2tlbi4KKyAKKy1B dXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5Db25maWdGaWxlTm90Rm91bmQ9T0NJIGNvbmZp Z3VyYXRpb24gZmlsZSBub3QgZm91bmQuCistQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4u T2NpU2RrTm90Rm91bmQ9VGhlIE9DSSBTREsgY2Fubm90IGJlIGZvdW5kIG9yIGl0IGlzIG5vdCBp bnN0YWxsZWQuCistQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uT2NpQ29uZmlnRmlsZUVy cm9yPVRoZSBPQ0kgY29uZmlndXJhdGlvbiBmaWxlIGNhbm5vdCBiZSByZWFkLgorLUF1dGhlbnRp Y2F0aW9uT2NpQ2xpZW50UGx1Z2luLlByb2ZpbGVOb3RGb3VuZD1UaGUgc3BlY2lmaWVkIHByb2Zp bGUgaXMgbm90IGZvdW5kIGluIHRoZSBPQ0kgY29uZmlndXJhdGlvbiBmaWxlLgorLUF1dGhlbnRp Y2F0aW9uT2NpQ2xpZW50UGx1Z2luLk9jaUNvbmZpZ0ZpbGVNaXNzaW5nRW50cnk9VGhlIE9DSSBj b25maWd1cmF0aW9uIGZpbGUgZG9lcyBub3QgY29udGFpbiBhICcnZmluZ2VycHJpbnQnJyBvciAn J2tleV9maWxlJycgZW50cnkuCistQXV0aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uUHJpdmF0 ZUtleU5vdEZvdW5kPVRoZSBwcml2YXRlIGtleSBjYW5ub3QgYmUgZm91bmQgYXQgdGhlIGxvY2F0 aW9uIHJlZmVyZW5jZWQgaW4gdGhlIE9DSSBjb25maWd1cmF0aW9uIGVudHJ5ICcna2V5X2ZpbGUn Jy4KKy1BdXRoZW50aWNhdGlvbk9jaUNsaWVudFBsdWdpbi5GYWlsZWRSZWFkaW5nUHJpdmF0ZUtl eT1GYWlsZWQgcmVhZGluZyB0aGUgcHJpdmF0ZSBrZXkgZmlsZSByZWZlcmVuY2VkIGluIHRoZSBP Q0kgY29uZmlndXJhdGlvbiBlbnRyeSAnJ2tleV9maWxlJycuCistQXV0aGVudGljYXRpb25PY2lD bGllbnRQbHVnaW4uUHJpdmF0ZUtleU5vdFZhbGlkPVRoZSBPQ0kgY29uZmlndXJhdGlvbiBlbnRy eSAnJ2tleV9maWxlJycgZG9lcyBub3QgcmVmZXJlbmNlIGEgdmFsaWQga2V5IGZpbGUuCistQXV0 aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uU2VjdXJpdHlUb2tlbkZpbGVOb3RGb3VuZD1UaGUg c2VjdXJpdHkgdG9rZW4gZmlsZSBjYW5ub3QgYmUgZm91bmQgYXQgdGhlIGxvY2F0aW9uIHJlZmVy ZW5jZWQgaW4gdGhlIE9DSSBjb25maWd1cmF0aW9uIGVudHJ5ICcnc2VjdXJpdHlfdG9rZW5fZmls ZScnLgorLUF1dGhlbnRpY2F0aW9uT2NpQ2xpZW50UGx1Z2luLlNlY3VyaXR5VG9rZW5Ub29CaWc9 SW52YWxpZCBzZWN1cml0eSB0b2tlbiBmaWxlLiBGaWxlIHNpemUgYWJvdmUgMTAgS0IuCistQXV0 aGVudGljYXRpb25PY2lDbGllbnRQbHVnaW4uRmFpbGVkUmVhZGluZ1NlY3VyaXR5VG9rZW5GaWxl PUZhaWxlZCByZWFkaW5nIHRoZSBzZWN1cml0eSB0b2tlbiBmaWxlIHJlZmVyZW5jZWQgaW4gdGhl IE9DSSBjb25maWd1cmF0aW9uIGVudHJ5ICcnc2VjdXJpdHlfdG9rZW5fZmlsZScnLgorLQorIEF1 dGhlbnRpY2F0aW9uUHJvdmlkZXIuQmFkQXV0aGVudGljYXRpb25QbHVnaW49VW5hYmxlIHRvIGxv YWQgYXV0aGVudGljYXRpb24gcGx1Z2luICcnezB9JycuCisgQXV0aGVudGljYXRpb25Qcm92aWRl ci5CYWREZWZhdWx0QXV0aGVudGljYXRpb25QbHVnaW49SW1wcm9wZXIgdmFsdWUgInswfSIgZm9y IHByb3BlcnR5ICcnZGVmYXVsdEF1dGhlbnRpY2F0aW9uUGx1Z2luJycuCisgQXV0aGVudGljYXRp b25Qcm92aWRlci5EZWZhdWx0QXV0aGVudGljYXRpb25QbHVnaW5Jc05vdExpc3RlZD1EZWZhdWx0 IGF1dGhlbnRpY2F0aW9uIHBsdWdpbiAiezB9IiBpcyBuZWl0aGVyIG9uZSBvZiB0aGUgYnVpbHQt aW4gcGx1Z2lucyBub3Igb25lIG9mIHRoZSBwbHVnaW5zIGxpc3RlZCBpbiAnJ2F1dGhlbnRpY2F0 aW9uUGx1Z2lucycnLgorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhL1JlbW92ZS11c2FnZS1v Zi1pby5vcGVudGVsZW1ldHJ5LmFwaS5wYXRjaCBiL1JlbW92ZS11c2FnZS1vZi1pby5vcGVudGVs ZW1ldHJ5LmFwaS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzg5 MGZjCi0tLSAvZGV2L251bGwKKysrIGIvUmVtb3ZlLXVzYWdlLW9mLWlvLm9wZW50ZWxlbWV0cnku YXBpLnBhdGNoCkBAIC0wLDAgKzEsNDIgQEAKK0Zyb20gZTExMWUzZGI5ZjA5YThlOWVhNmFlMGFi YzUxNTJkN2RjMGRkMGQzYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hcmlhbiBL b25jZWsgPG1rb25jZWtAcmVkaGF0LmNvbT4KK0RhdGU6IFdlZCwgMjkgSnVsIDIwMjYgMTQ6NDg6 MTQgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIHVzYWdlIG9mIGlvLm9wZW50ZWxlbWV0 cnkuYXBpCisKKy0tLQorIHNyYy9tYWluL2NvcmUtaW1wbC9qYXZhL2NvbS9teXNxbC9jai9OYXRp dmVTZXNzaW9uLmphdmEgfCA1ICstLS0tCisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCsp LCA0IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL21haW4vY29yZS1pbXBsL2phdmEv Y29tL215c3FsL2NqL05hdGl2ZVNlc3Npb24uamF2YSBiL3NyYy9tYWluL2NvcmUtaW1wbC9qYXZh L2NvbS9teXNxbC9jai9OYXRpdmVTZXNzaW9uLmphdmEKK2luZGV4IGIwNWVkZDYuLjg0MzcwOGEg MTAwNjQ0CistLS0gYS9zcmMvbWFpbi9jb3JlLWltcGwvamF2YS9jb20vbXlzcWwvY2ovTmF0aXZl U2Vzc2lvbi5qYXZhCisrKysgYi9zcmMvbWFpbi9jb3JlLWltcGwvamF2YS9jb20vbXlzcWwvY2ov TmF0aXZlU2Vzc2lvbi5qYXZhCitAQCAtNTQsNyArNTQsNiBAQCBpbXBvcnQgY29tLm15c3FsLmNq LmV4Y2VwdGlvbnMuTXlzcWxFcnJvck51bWJlcnM7CisgaW1wb3J0IGNvbS5teXNxbC5jai5leGNl cHRpb25zLk9wZXJhdGlvbkNhbmNlbGxlZEV4Y2VwdGlvbjsKKyBpbXBvcnQgY29tLm15c3FsLmNq LmludGVyY2VwdG9ycy5RdWVyeUludGVyY2VwdG9yOworIGltcG9ydCBjb20ubXlzcWwuY2oubG9n LkxvZzsKKy1pbXBvcnQgY29tLm15c3FsLmNqLm90ZWwuT3BlblRlbGVtZXRyeUhhbmRsZXI7Cisg aW1wb3J0IGNvbS5teXNxbC5jai5wcm90b2NvbC5Db2x1bW5EZWZpbml0aW9uOworIGltcG9ydCBj b20ubXlzcWwuY2oucHJvdG9jb2wuTmV0d29ya1Jlc291cmNlczsKKyBpbXBvcnQgY29tLm15c3Fs LmNqLnByb3RvY29sLlByb3RvY29sRW50aXR5RmFjdG9yeTsKK0BAIC0xMTQsNyArMTEzLDcgQEAg cHVibGljIGNsYXNzIE5hdGl2ZVNlc3Npb24gZXh0ZW5kcyBDb3JlU2Vzc2lvbiBpbXBsZW1lbnRz IFNlcmlhbGl6YWJsZSB7CisgICAgICAgICAvLyBDaGVjayBUZWxlbWV0cnkgb3B0aW9uLgorICAg ICAgICAgUnVudGltZVByb3BlcnR5PE9wZW5UZWxlbWV0cnk+IG9wZW5UZWxlbWV0cnkgPSB0aGlz LnByb3BlcnR5U2V0LmdldEVudW1Qcm9wZXJ0eShQcm9wZXJ0eUtleS5vcGVuVGVsZW1ldHJ5KTsK KyAgICAgICAgIGlmIChvcGVuVGVsZW1ldHJ5LmdldFZhbHVlKCkgPT0gT3BlblRlbGVtZXRyeS5Q UkVGRVJSRUQgfHwgb3BlblRlbGVtZXRyeS5nZXRWYWx1ZSgpID09IE9wZW5UZWxlbWV0cnkuUkVR VUlSRUQpIHsKKy0gICAgICAgICAgICBpZiAoIU9wZW5UZWxlbWV0cnlIYW5kbGVyLmlzT3BlblRl bGVtZXRyeUFwaUF2YWlsYWJsZSgpKSB7CisrICAgICAgICAgICAgaWYgKHRydWUpIHsKKyAgICAg ICAgICAgICAgICAgaWYgKG9wZW5UZWxlbWV0cnkuZ2V0VmFsdWUoKSA9PSBPcGVuVGVsZW1ldHJ5 LlJFUVVJUkVEKSB7CisgICAgICAgICAgICAgICAgICAgICB0aHJvdyBFeGNlcHRpb25GYWN0b3J5 LmNyZWF0ZUV4Y2VwdGlvbihNZXNzYWdlcy5nZXRTdHJpbmcoIkNvbm5lY3Rpb24uT3RlbEFwaU5v dEZvdW5kIikpOworICAgICAgICAgICAgICAgICB9CitAQCAtMTIyLDggKzEyMSw2IEBAIHB1Ymxp YyBjbGFzcyBOYXRpdmVTZXNzaW9uIGV4dGVuZHMgQ29yZVNlc3Npb24gaW1wbGVtZW50cyBTZXJp YWxpemFibGUgeworICAgICAgICAgICAgICAgICAgICAgZ2V0TG9nKCkubG9nSW5mbyhNZXNzYWdl cy5nZXRTdHJpbmcoIkNvbm5lY3Rpb24uT3RlbEFwaU5vdEZvdW5kIikpOworICAgICAgICAgICAg ICAgICB9CisgICAgICAgICAgICAgICAgIHNldFRlbGVtZXRyeUhhbmRsZXIoTm9vcFRlbGVtZXRy eUhhbmRsZXIuZ2V0SW5zdGFuY2UoKSk7CistICAgICAgICAgICAgfSBlbHNlIHsKKy0gICAgICAg ICAgICAgICAgc2V0VGVsZW1ldHJ5SGFuZGxlcihuZXcgT3BlblRlbGVtZXRyeUhhbmRsZXIoKSk7 CisgICAgICAgICAgICAgfQorICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBzZXRUZWxl bWV0cnlIYW5kbGVyKE5vb3BUZWxlbWV0cnlIYW5kbGVyLmdldEluc3RhbmNlKCkpOworLS0gCisy LjU0LjAKKwoKZGlmZiAtLWdpdCBhL215c3FsLWNvbm5lY3Rvci1qYXZhLnNwZWMgYi9teXNxbC1j b25uZWN0b3ItamF2YS5zcGVjCmluZGV4IDc0YmQzZmIuLjlmZmM1YTcgMTAwNjQ0Ci0tLSBhL215 c3FsLWNvbm5lY3Rvci1qYXZhLnNwZWMKKysrIGIvbXlzcWwtY29ubmVjdG9yLWphdmEuc3BlYwpA QCAtMSw2ICsxLDYgQEAKIE5hbWU6ICAgICAgICAgICBteXNxbC1jb25uZWN0b3ItamF2YQogRXBv Y2g6ICAgICAgICAgIDEKLVZlcnNpb246ICAgICAgICA4LjAuMzAKK1ZlcnNpb246ICAgICAgICA5 LjcuMAogUmVsZWFzZTogICAgICAgICVhdXRvcmVsZWFzZQogU3VtbWFyeTogICAgICAgIE9mZmlj aWFsIEpEQkMgZHJpdmVyIGZvciBNeVNRTAogTGljZW5zZTogICAgICAgIEdQTC0yLjAtb25seQpA QCAtOSwxOSArOSwyMSBAQCBCdWlsZEFyY2g6ICAgICAgbm9hcmNoCiBFeGNsdXNpdmVBcmNoOiAg JXtqYXZhX2FyY2hlc30gbm9hcmNoCiAKICMgR2VuZXJhdGVkIHdpdGggZ2VuZXJhdGUtdGFyYmFs bC5zaAotU291cmNlMDogICAgICAgICV7bmFtZX0tJXt2ZXJzaW9ufS1ub2phcnMudGFyLnh6CitT b3VyY2UwOiAgICAgICAgJXtuYW1lfS0le3ZlcnNpb259LnRhci56c3QKIFNvdXJjZTE6ICAgICAg ICBnZW5lcmF0ZS10YXJiYWxsLnNoCiAKLVBhdGNoOiAgICAgICAgICAwMDAxLVJlbW92ZS1jb3Zl cmFnZS10ZXN0LnBhdGNoCi1QYXRjaDogICAgICAgICAgMDAwMi1SZW1vdmUtYXV0aGVudGljYXRp b24tcGx1Z2luLnBhdGNoCi1QYXRjaDogICAgICAgICAgMDAwMy1SZW1vdmUtU3RhdGVtZW50c1Rl c3QucGF0Y2gKLVBhdGNoOiAgICAgICAgICAwMDA0LVBvcnQtdG8tSmF2YS0yMS5wYXRjaAorUGF0 Y2g6ICAgICAgICAgIFJlbW92ZS1hdXRoZW50aWNhdGlvbi1wbHVnaW4ucGF0Y2gKK1BhdGNoOiAg ICAgICAgICBQb3J0LXRvLUphdmEtMjEucGF0Y2gKK1BhdGNoOiAgICAgICAgICBSZW1vdmUtdXNh Z2Utb2YtaW8ub3BlbnRlbGVtZXRyeS5hcGkucGF0Y2gKK1BhdGNoOiAgICAgICAgICBBZGQtcGFj a2FnZS10ZXN0cy10YXJnZXQucGF0Y2gKIAogQnVpbGRSZXF1aXJlczogIGphdmFwYWNrYWdlcy1s b2NhbC1vcGVuamRrMjUKK0J1aWxkUmVxdWlyZXM6ICBhbnQtanVuaXQKIEJ1aWxkUmVxdWlyZXM6 ICBhbnQtanVuaXQ1CiBCdWlsZFJlcXVpcmVzOiAgamF2YXNzaXN0CiBCdWlsZFJlcXVpcmVzOiAg cHJvdG9idWYtamF2YQogQnVpbGRSZXF1aXJlczogIHNsZjRqCitCdWlsZFJlcXVpcmVzOiAgaGFt Y3Jlc3QKIAogJWRlc2NyaXB0aW9uCiBNeVNRTCBDb25uZWN0b3IvSiBpcyBhIG5hdGl2ZSBKYXZh IGRyaXZlciB0aGF0IGNvbnZlcnRzIEpEQkMgKEphdmEgRGF0YWJhc2UKQEAgLTMyLDMzICszNCw1 MSBAQCBkYXRhLCBldmVuIGluIGEgaGV0ZXJvZ2VuZW91cyBlbnZpcm9ubWVudC4gTXlTUUwgQ29u bmVjdG9yL0ogaXMgYSBUeXBlCiBJViBKREJDIGRyaXZlciBhbmQgaGFzIGEgY29tcGxldGUgSkRC QyBmZWF0dXJlIHNldCB0aGF0IHN1cHBvcnRzIHRoZQogY2FwYWJpbGl0aWVzIG9mIE15U1FMLgog CislcGFja2FnZSB0ZXN0cworU3VtbWFyeTogVGVzdHMgZm9yICV7bmFtZX0KKworJWRlc2NyaXB0 aW9uIHRlc3RzCitUaGlzIHBhY2thZ2UgY29udGFpbnMgdGVzdHMgZm9yICV7bmFtZX0uCisKICVw cmVwCiAlYXV0b3NldHVwIC1wMSAtQwogCiAjIHhtbHN0YXJsZXQgZWQgLUwgLU4gcG9tPSJodHRw Oi8vbWF2ZW4uYXBhY2hlLm9yZy9QT00vNC4wLjAiIC11ICIvcHJvamVjdC92ZXJzaW9uIiAtdiAi OC4wLjMzIiBzcmMvYnVpbGQvbWlzYy9wb20ueG1sCiAlcG9tX3hwYXRoX3NldCAncG9tOnByb2pl Y3QvcG9tOnZlcnNpb24nICV7dmVyc2lvbn0gc3JjL2J1aWxkL21pc2MvcG9tLnhtbAogCi0jIFdl IGN1cnJlbnRseSBuZWVkIHRvIGRpc2FibGUgamJvc3MgaW50ZWdyYXRpb24gYmVjYXVzZSBvZiBt aXNzaW5nIGpib3NzLWNvbW1vbi1qZGJjLXdyYXBwZXIuamFyIChidWlsdCBmcm9tIHNvdXJjZXMp LgotIyBTZWUgQlojNDgwMTU0IGFuZCBCWiM0NzE5MTUgZm9yIGRldGFpbHMuCi1ybSAtcmYgc3Jj L21haW4vdXNlci1pbXBsL2phdmEvY29tL215c3FsL2NqL2pkYmMvaW50ZWdyYXRpb24vamJvc3MK LXJtIHNyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3JlZ3Jlc3Npb24vQ29ubmVjdGlvblJlZ3Jlc3Np b25UZXN0LmphdmEKLXJtIHNyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3JlZ3Jlc3Npb24vRGF0YVNv dXJjZVJlZ3Jlc3Npb25UZXN0LmphdmEKLXJtIHNyYy90ZXN0L2phdmEvdGVzdHN1aXRlL3NpbXBs ZS9TdGF0ZW1lbnRzVGVzdC5qYXZhCisjIFJlbW92ZSB1c2FnZSBvZiAnaW8ub3BlbnRlbGVtZXRy eS5hcGknCitybSAtcnYgc3JjL21haW4vY29yZS1pbXBsL2phdmEvY29tL215c3FsL2NqL290ZWwK IAogJWJ1aWxkCi1hbnQgLURjb20ubXlzcWwuY2ouYnVpbGQuamRrPSV7amF2YV9ob21lfSBcCi0g ICAgLURjb20ubXlzcWwuY2ouZXh0cmEubGlicz0le19qYXZhZGlyfSBcCi0gICAgdGVzdCBkaXN0 CithbnQgcGFja2FnZS1uby1zb3VyY2VzIFwKKyAtRGNvbS5teXNxbC5jai5idWlsZC5qZGs9JXtq YXZhX2hvbWV9IFwKKyAtRGNvbS5teXNxbC5jai5leHRyYS5saWJzPSV7X2phdmFkaXJ9IFwKKyAt RGNvbS5teXNxbC5jai5kaXN0Lm5vTWF2ZW49dHJ1ZSBcCis7CisKKyMgQ29tcGlsZSB0ZXN0IHN1 aXRlIGFuZCBjcmVhdGUgdGVzdHMgSkFSICsgY2xhc3NwYXRoIGZpbGUKK2FudCBwYWNrYWdlLXRl c3RzIFwKKyAtRGNvbS5teXNxbC5jai5idWlsZC5qZGs9JXtqYXZhX2hvbWV9IFwKKyAtRGNvbS5t eXNxbC5jai5leHRyYS5saWJzPSV7X2phdmFkaXJ9IFwKKyAtRGNvbS5teXNxbC5jai5idWlsZC5u b0NsZWFuQmV0d2VlbkNvbXBpbGVzPXllcyBcCis7CiAKICVpbnN0YWxsCi0jIEluc3RhbGwgdGhl IE1hdmVuIGJ1aWxkIGluZm9ybWF0aW9uCiAlbXZuX2ZpbGUgbXlzcWw6bXlzcWwtY29ubmVjdG9y LWphdmEgJXtuYW1lfQotJW12bl9hcnRpZmFjdCBzcmMvYnVpbGQvbWlzYy9wb20ueG1sIGJ1aWxk LyV7bmFtZX0tJXt2ZXJzaW9ufS1TTkFQU0hPVC8le25hbWV9LSV7dmVyc2lvbn0tU05BUFNIT1Qu amFyCislbXZuX2FydGlmYWN0IGJ1aWxkL215c3FsLWNvbm5lY3Rvci1qLSV7dmVyc2lvbn0tU05B UFNIT1QvcG9tLnhtbCBidWlsZC9teXNxbC1jb25uZWN0b3Itai0le3ZlcnNpb259LVNOQVBTSE9U L215c3FsLWNvbm5lY3Rvci1qLSV7dmVyc2lvbn0tU05BUFNIT1QuamFyCiAlbXZuX2luc3RhbGwK K2luc3RhbGwgLW0gNjQ0IC1EIGJ1aWxkL215c3FsLWNvbm5lY3Rvci1qLXRlc3RzLmphciAle2J1 aWxkcm9vdH0le19qYXZhZGlyfS8le25hbWV9LXRlc3RzLmphcgoraW5zdGFsbCAtbSA2NDQgLUQg YnVpbGQvdGVzdHMtY2xhc3NwYXRoICV7YnVpbGRyb290fSV7X2RhdGFkaXJ9LyV7bmFtZX0tdGVz dHMvY2xhc3NwYXRoCitjcCAtYSBzcmMvdGVzdC9jb25maWcvc3NsLXRlc3QtY2VydHMgJXtidWls ZHJvb3R9JXtfZGF0YWRpcn0vJXtuYW1lfS10ZXN0cy9zc2wtdGVzdC1jZXJ0cwogCiAlZmlsZXMg LWYgLm1maWxlcwogJWRvYyBDSEFOR0VTIFJFQURNRSBSRUFETUUubWQKICVsaWNlbnNlIExJQ0VO U0UKIAorJWZpbGVzIHRlc3RzCisle19qYXZhZGlyfS8le25hbWV9LXRlc3RzLmphcgorJXtfZGF0 YWRpcn0vJXtuYW1lfS10ZXN0cworJWxpY2Vuc2UgTElDRU5TRQorCiAlY2hhbmdlbG9nCiAlYXV0 b2NoYW5nZWxvZwoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IDNlOGFjN2Iu LjhlZjA2MTUgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAot U0hBNTEyIChteXNxbC1jb25uZWN0b3ItamF2YS04LjAuMzAtbm9qYXJzLnRhci54eikgPSA1OTJj ZDg4ZjdkMmY3ZGFlYzI1MTM4NDZhNGY3NWQyZjhiNWJjMGFjZWMyODZjNWRhNTZlNjJjZmM1MzY2 ZWQ2MmI4YmQ1YzRhMTIwZjQxZjBlMmVhZTNhMTg4OWUxZmYyMzdkZWU4MGMwMjFkMjdlNzMyYmRm NjA0Mzk4NDQyZAorU0hBNTEyIChteXNxbC1jb25uZWN0b3ItamF2YS05LjcuMC50YXIuenN0KSA9 IGRkMGE1YjljZTc1NzQ1ZGQ2N2NjMTlmMDI0YjhkMzYwNzA2ZmRkNjY5ZDA5NjNjOTlkMGZlNGQ3 ZTVhNjlhN2IxN2IyZDU3ZTIzZDAyNTcyMTA4ZDQ4NjkwN2VjM2I0YzVkMDFjYjVmNWVhZjE0MzYy MDVjYmExYjk2MzVhMzU2Cg==