From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=ALL_TRUSTED, DKIM_ADSP_NXDOMAIN autolearn=no autolearn_force=no version=3.4.4 Received: (qmail 2976 invoked from network); 21 Nov 2021 09:58:40 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 21 Nov 2021 09:58:40 -0000 Content-Type: multipart/mixed; boundary="===============3957664662728841418==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_firefox-esr=3A_update_to_91=2E3=2E0=2E?= To: ml@inbox.vuxu.org From: jdnuemm Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Sun, 21 Nov 2021 10:58:39 +0100 List-Id: Message-ID: <20211121095839.nm2lfCDOBWk-MIp7CCjZCWqPOcxmGiMU0PybSFjwB9M@z> GitHub notification mails are now in MIME to allow UTF8. --===============3957664662728841418== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgamRudWVtbSBhZ2FpbnN0IG1hc3Rl ciBvbiB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vamRu dWVtbS92b2lkLXBhY2thZ2VzIGZpcmVmb3gtZXNyLTkxLjMuMApodHRwczovL2dpdGh1Yi5jb20v dm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMzQxNjcKCmZpcmVmb3gtZXNyOiB1cGRhdGUg dG8gOTEuMy4wLgpUZXN0aW5nIHRoZSBjaGFuZ2VzOg0KDQotIEkgdGVzdGVkIHRoZSBjaGFuZ2Vz IGluIHRoaXMgUFI6IGJyaWVmbHkNCg0KTG9jYWwgYnVpbGQgdGVzdGluZzoNCg0KLSBJIGJ1aWx0 IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVjdHVyZSwgeDg2XzY0LWdsaWJj DQoNCk5vdGU6DQoNCkkgdXNlIHRoZSBQYXRjaGVzIGZyb20gVGh1bmRlcmJpcmQgYW5kIHN5bmMg dGhlIHRlbXBsYXRlIHdpdGggRmlyZWZveC4gDQoNCltza2lwIENJXQoKQSBwYXRjaCBmaWxlIGZy b20gaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM0MTY3 LnBhdGNoIGlzIGF0dGFjaGVk --===============3957664662728841418== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-firefox-esr-91.3.0-34167.patch" RnJvbSA2Mzg0MDE2Mjk5NDY0NjY2ODAzY2JkYzdjMjlmMTRjYmYwNDFiZjdhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKb2hhbm5lcyBEYW5pZWwgTnVlbW0gPGRhbmllbC5udWVtbUBi bGFja3RyZS5lcz4KRGF0ZTogVGh1LCAxOCBOb3YgMjAyMSAxODozMzo0MSArMDEwMApTdWJqZWN0 OiBbUEFUQ0ggMS8yXSBmaXJlZm94LWVzcjogdXBkYXRlIHRvIDkxLjMuMC4KCi0tLQogc3JjcGtn cy9maXJlZm94LWVzci9maWxlcy9tb3pjb25maWcgICAgICAgICAgIHwgICAxICsKIHNyY3BrZ3Mv ZmlyZWZveC1lc3IvZmlsZXMvdmVuZG9yLmpzICAgICAgICAgICB8ICAgMiArLQogLi4uL3BhdGNo ZXMvYXZvaWQtcmVkZWZpbml0aW9uLnBhdGNoICAgICAgICAgIHwgIDE1ICsKIHNyY3BrZ3MvZmly ZWZveC1lc3IvcGF0Y2hlcy9maXgtY3Jvc3MucGF0Y2ggICB8ICAxNiAtCiAuLi4vcGF0Y2hlcy9m aXgtZm9ydGlmeS1pbmxpbmUucGF0Y2ggICAgICAgICAgfCAgMTEgLQogLi4uL2ZpcmVmb3gtZXNy L3BhdGNoZXMvZml4LWkzODYtZmRsaWJtLnBhdGNoIHwgIDE4ICsKIC4uLi9maXJlZm94LWVzci9w YXRjaGVzL2ZpeC1weXRob24zLjEwLnBhdGNoICB8IDgyNiAtLS0tLS0tLS0tLS0tLS0tLS0KIC4u Li9maXJlZm94LWVzci9wYXRjaGVzL2ZpeC13YXNtLWFybS5wYXRjaCAgICB8ICAxNSAtCiAuLi4v cGF0Y2hlcy9maXgtd2VicnRjLWdsaWJjaXNtcy5wYXRjaCAgICAgICAgfCAgIDQgKy0KIC4uLi9m aXJlZm94LWVzci9wYXRjaGVzL2ZsYWMtbm8tZmZ2cHgucGF0Y2ggICB8ICAgNSArLQogLi4uL3Bh dGNoZXMvbXVzbC1ydXN0LmNvbmZpZ3VyZS5wYXRjaCAgICAgICAgIHwgIDI2IC0KIC4uLi9maXJl Zm94LWVzci9wYXRjaGVzL3J1c3QtY29uZmlndXJlLnBhdGNoICB8IDEzMiArKy0KIC4uLi9maXJl Zm94LWVzci9wYXRjaGVzL3J1c3QtaGFzLWkxMjgucGF0Y2ggICB8ICAyMSAtCiAuLi4vZmlyZWZv eC1lc3IvcGF0Y2hlcy9zYW5kYm94LWZvcmsucGF0Y2ggICAgfCAgIDQgKy0KIHNyY3BrZ3MvZmly ZWZveC1lc3IvcGF0Y2hlcy9zbmRpby5wYXRjaCAgICAgICB8ICAxNCArLQogc3JjcGtncy9maXJl Zm94LWVzci90ZW1wbGF0ZSAgICAgICAgICAgICAgICAgIHwgMTI3ICsrLQogMTYgZmlsZXMgY2hh bmdlZCwgMjA4IGluc2VydGlvbnMoKyksIDEwMjkgZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAx MDA2NDQgc3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVzL2F2b2lkLXJlZGVmaW5pdGlvbi5wYXRj aAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtY3Jv c3MucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMv Zml4LWZvcnRpZnktaW5saW5lLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9maXJl Zm94LWVzci9wYXRjaGVzL2ZpeC1pMzg2LWZkbGlibS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0 IHNyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtcHl0aG9uMy4xMC5wYXRjaAogZGVsZXRl IG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtd2FzbS1hcm0ucGF0 Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvbXVzbC1y dXN0LmNvbmZpZ3VyZS5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZmlyZWZveC1l c3IvcGF0Y2hlcy9ydXN0LWhhcy1pMTI4LnBhdGNoCgpkaWZmIC0tZ2l0IGEvc3JjcGtncy9maXJl Zm94LWVzci9maWxlcy9tb3pjb25maWcgYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL2ZpbGVzL21vemNv bmZpZwppbmRleCA3MDhlZTllZGVkOWIuLmZhNWE3YTQyZTA0YiAxMDA2NDQKLS0tIGEvc3JjcGtn cy9maXJlZm94LWVzci9maWxlcy9tb3pjb25maWcKKysrIGIvc3JjcGtncy9maXJlZm94LWVzci9m aWxlcy9tb3pjb25maWcKQEAgLTMyLDQgKzMyLDUgQEAgYWNfYWRkX29wdGlvbnMgLS1lbmFibGUt b3B0aW1pemU9IiRDRkxBR1MiCiAKIGFjX2FkZF9vcHRpb25zIC0tZW5hYmxlLW9mZmljaWFsLWJy YW5kaW5nCiBhY19hZGRfb3B0aW9ucyAtLWVuYWJsZS1hcHBsaWNhdGlvbj1icm93c2VyCisKIGFj X2FkZF9vcHRpb25zIC0tYWxsb3ctYWRkb24tc2lkZWxvYWQKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZmlyZWZveC1lc3IvZmlsZXMvdmVuZG9yLmpzIGIvc3JjcGtncy9maXJlZm94LWVzci9maWxlcy92 ZW5kb3IuanMKaW5kZXggZDhkNjA2YmMxNWQ3Li41YmU0ZjFiNWYzZmYgMTAwNjQ0Ci0tLSBhL3Ny Y3BrZ3MvZmlyZWZveC1lc3IvZmlsZXMvdmVuZG9yLmpzCisrKyBiL3NyY3BrZ3MvZmlyZWZveC1l c3IvZmlsZXMvdmVuZG9yLmpzCkBAIC0xLDUgKzEsNSBAQAogLy8gVXNlIExBTkcgZW52aXJvbm1l bnQgdmFyaWFibGUgdG8gY2hvb3NlIGxvY2FsZQotcHJlZigiaW50bC5sb2NhbGUubWF0Y2hPUyIs IHRydWUpOworcHJlZigiaW50bC5sb2NhbGUucmVxdWVzdGVkIiwgIiIpOwogCiAvLyBEaXNhYmxl IGRlZmF1bHQgYnJvd3NlciBjaGVja2luZy4KIHByZWYoImJyb3dzZXIuc2hlbGwuY2hlY2tEZWZh dWx0QnJvd3NlciIsIGZhbHNlKTsKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0 Y2hlcy9hdm9pZC1yZWRlZmluaXRpb24ucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNo ZXMvYXZvaWQtcmVkZWZpbml0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uODY3ZDM3YzYyYTkwCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9maXJl Zm94LWVzci9wYXRjaGVzL2F2b2lkLXJlZGVmaW5pdGlvbi5wYXRjaApAQCAtMCwwICsxLDE1IEBA CitBdXRob3I6IFJhc211cyBUaG9tc2VuIDxvc3NAY29naXRyaS5kZXY+CitSZWFzb246IEZGIGlz IG1peGluZyB1c2Vyc3BhY2UgbmV0IGhlYWRlcnMgKG5ldC9pZi5oKSBhbmQga2VybmVsc3BhY2Ug b25lcworKGxpbnV4L2lmLmgpLCBsZWFkaW5nIHRvIHJlZGVmaW5pdGlvbnMuIFdlIG5lZWQgdG8g aW5jbHVkZSBuZXQvaWYuaCBiZWZvcmUKK2xpbnV4L2lmLmggYmVjYXVzZSBsaW51eC9pZi5oIGhh cyByZWRpZmluaXRpb24gZ3VhcmRzIHdoZXJlYXMgbmV0L2lmLmggZG9lc250CitVcHN0cmVhbTog Tm8KKy0tLSBhL2RvbS9tZWRpYS93ZWJydGMvdHJhbnNwb3J0L3RoaXJkX3BhcnR5L25JQ0VyL3Ny Yy9zdHVuL2FkZHJzLW5ldGxpbmsuYwkyMDIwLTA3LTI4IDE5OjI0OjMyLjM1OTc1MTA0NiArMDIw MAorKysrIGIvZG9tL21lZGlhL3dlYnJ0Yy90cmFuc3BvcnQvdGhpcmRfcGFydHkvbklDRXIvc3Jj L3N0dW4vYWRkcnMtbmV0bGluay5jCTIwMjAtMDctMjggMTk6MjQ6MzcuODU2MzQzNzUxICswMjAw CitAQCAtMzEsNiArMzEsNyBAQAorICovCisgCisgI2lmIGRlZmluZWQoTElOVVgpCisrI2luY2x1 ZGUgPG5ldC9pZi5oPgorICNpbmNsdWRlICJhZGRycy1uZXRsaW5rLmgiCisgI2luY2x1ZGUgPGNz aV9wbGF0Zm9ybS5oPgorICNpbmNsdWRlIDxhc3NlcnQuaD4KZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv ZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtY3Jvc3MucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gtZXNy L3BhdGNoZXMvZml4LWNyb3NzLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBm YWQ4ZjkwNjBjNDYuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNo ZXMvZml4LWNyb3NzLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTYgKzAsMCBAQAotdGVycmli bGUgaGFjayB0byBmaXggY3Jvc3MgYnVpbGRzCi1vdmVyd3JpdGUgSE9TVF8qIGZsYWdzIHRvIGdl dCByaWQgb2YgLU1GCi0KLW5vdGU6IHRoaXMgcGF0Y2ggd2FzIHVzZWQgZnJvbSBmaXJlZm94LTc3 IHVudGlsIDgwLCBkcm9wcGVkIHdpdGggdGhlIHVwZGF0ZSB0byA4MQotCi0tLS0gYS90aGlyZF9w YXJ0eS9ydXN0L2dsc2xvcHQvYnVpbGQucnMKLSsrKyBiL3RoaXJkX3BhcnR5L3J1c3QvZ2xzbG9w dC9idWlsZC5ycwotQEAgLTI4LDYgKzI4LDggQEAKLSAgICAgZW52OjpyZW1vdmVfdmFyKGZvcm1h dCEoIkNYWEZMQUdTX3t9IiwgJnRhcmdldCkpOwotICAgICBlbnY6OnJlbW92ZV92YXIoZm9ybWF0 ISgiQ0ZMQUdTX3t9IiwgdGFyZ2V0LnJlcGxhY2UoIi0iLCAiXyIpKSk7Ci0gICAgIGVudjo6cmVt b3ZlX3Zhcihmb3JtYXQhKCJDWFhGTEFHU197fSIsIHRhcmdldC5yZXBsYWNlKCItIiwgIl8iKSkp OwotKyAgICBlbnY6OnNldF92YXIoIkhPU1RfQ0ZMQUdTIiwgIi1PMiIpOwotKyAgICBlbnY6OnNl dF92YXIoIkhPU1RfQ1hYRkxBR1MiLCAiLU8yIik7Ci0KLSAgICAgY29uZmlndXJlKCZtdXQgY2M6 OkJ1aWxkOjpuZXcoKSkKLSAgICAgICAgIC53YXJuaW5ncyhmYWxzZSkKZGlmZiAtLWdpdCBhL3Ny Y3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtZm9ydGlmeS1pbmxpbmUucGF0Y2ggYi9zcmNw a2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LWZvcnRpZnktaW5saW5lLnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNDk4YzU3ZmM3MzguLjAwMDAwMDAwMDAwMAotLS0gYS9z cmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LWZvcnRpZnktaW5saW5lLnBhdGNoCisrKyAv ZGV2L251bGwKQEAgLTEsMTEgKzAsMCBAQAotLS0tIGEvbWVkaWEvd2VicnRjL3NpZ25hbGluZy9z cmMvc2RwL3NpcGNjL3NkcF9vc19kZWZzLmgKLSsrKyBiL21lZGlhL3dlYnJ0Yy9zaWduYWxpbmcv c3JjL3NkcC9zaXBjYy9zZHBfb3NfZGVmcy5oCi1AQCAtMjcsOCArMjcsNSBAQAotIHR5cGVkZWYg aW50MTZfdCAgICBpbnQxNjsKLSB0eXBlZGVmIHVuc2lnbmVkIHNob3J0IHVzaG9ydDsKLSB0eXBl ZGVmIHVuc2lnbmVkIGxvbmcgIHVsb25nOwotLSNpZm5kZWYgX19HTlVDX1NURENfSU5MSU5FX18K LS0jZGVmaW5lIGlubGluZQotLSNlbmRpZgotIAotICNlbmRpZiAvKiBfU0RQX09TX0RFRlNfSF8g Ki8KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtaTM4Ni1mZGxp Ym0ucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LWkzODYtZmRsaWJtLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODMxZTVlMDM2Nzhk Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVzL2ZpeC1pMzg2 LWZkbGlibS5wYXRjaApAQCAtMCwwICsxLDE4IEBACisjIGVycm9yOiB0eXBlZGVmIHJlZGVmaW5p dGlvbiB3aXRoIGRpZmZlcmVudCB0eXBlcyAoJ19fZG91YmxlX3QnIChha2EgJ2RvdWJsZScpIHZz ICdsb25nIGRvdWJsZScpCisjIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcu Y2dpP2lkPTE3Mjk0NTkKKworLS0tIGEvbW9kdWxlcy9mZGxpYm0vc3JjL21hdGhfcHJpdmF0ZS5o CisrKysgYi9tb2R1bGVzL2ZkbGlibS9zcmMvbWF0aF9wcml2YXRlLmgKK0BAIC0zMCw3ICszMCwx MiBAQAorICAqIEFkYXB0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vZnJlZWJzZC9mcmVlYnNk LXNyYy9zZWFyY2g/cT1fX2RvdWJsZV90CisgICovCisgCisrI2lmIGRlZmluZWQoX19saW51eF9f KSAmJiBkZWZpbmVkKF9faTM4Nl9fKQorKy8vIHJlbHkgb24gZ2xpYmMncyBkb3VibGVfdAorK3R5 cGVkZWYgbG9uZyBkb3VibGUgX19kb3VibGVfdDsKKysjZWxzZQorIHR5cGVkZWYgZG91YmxlICAg ICAgX19kb3VibGVfdDsKKysjZW5kaWYKKyB0eXBlZGVmIF9fZG91YmxlX3QgIGRvdWJsZV90Owor IAorIC8qCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXB5dGhv bjMuMTAucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXB5dGhvbjMuMTAu cGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0M2U1ODc4MjU4MS4uMDAwMDAw MDAwMDAwCi0tLSBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtcHl0aG9uMy4xMC5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDgyNiArMCwwIEBACi1kaWZmIC11ciBhL3B5dGhvbi9t YWNoL21hY2gvY29uZmlnLnB5IGIvcHl0aG9uL21hY2gvbWFjaC9jb25maWcucHkKLS0tLSBhL3B5 dGhvbi9tYWNoL21hY2gvY29uZmlnLnB5CTIwMjEtMDktMDEgMTM6MjY6MTguMDAwMDAwMDAwIC0w NDAwCi0rKysgYi9weXRob24vbWFjaC9tYWNoL2NvbmZpZy5weQkyMDIxLTExLTA1IDE1OjI5OjEy LjAwMDAwMDAwMCAtMDQwMAotQEAgLTE0NCw3ICsxNDQsNyBAQAotICAgICByZXR1cm4gXwotIAot IAotLWNsYXNzIENvbmZpZ1NldHRpbmdzKGNvbGxlY3Rpb25zLk1hcHBpbmcpOgotK2NsYXNzIENv bmZpZ1NldHRpbmdzKGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKToKLSAgICAgIiIiSW50ZXJmYWNl IGZvciBjb25maWd1cmF0aW9uIHNldHRpbmdzLgotIAotICAgICBUaGlzIGlzIHRoZSBtYWluIGlu dGVyZmFjZSB0byB0aGUgY29uZmlndXJhdGlvbi4KLUBAIC0xOTAsNyArMTkwLDcgQEAKLSAgICAg d2lsbCByZXN1bHQgaW4gZXhjZXB0aW9ucyBiZWluZyByYWlzZWQuCi0gICAgICIiIgotIAotLSAg ICBjbGFzcyBDb25maWdTZWN0aW9uKGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nLCBvYmplY3Qp OgotKyAgICBjbGFzcyBDb25maWdTZWN0aW9uKGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGlu Zywgb2JqZWN0KToKLSAgICAgICAgICIiIlJlcHJlc2VudHMgYW4gaW5kaXZpZHVhbCBjb25maWcg c2VjdGlvbi4iIiIKLSAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBjb25maWcsIG5hbWUsIHNl dHRpbmdzKToKLSAgICAgICAgICAgICBvYmplY3QuX19zZXRhdHRyX18oc2VsZiwgJ19jb25maWcn LCBjb25maWcpCi1kaWZmIC11ciBhL3B5dGhvbi9tYWNoL21hY2gvZGVjb3JhdG9ycy5weSBiL3B5 dGhvbi9tYWNoL21hY2gvZGVjb3JhdG9ycy5weQotLS0tIGEvcHl0aG9uL21hY2gvbWFjaC9kZWNv cmF0b3JzLnB5CTIwMjEtMDktMDEgMTM6MjY6MTguMDAwMDAwMDAwIC0wNDAwCi0rKysgYi9weXRo b24vbWFjaC9tYWNoL2RlY29yYXRvcnMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAg LTA0MDAKLUBAIC0xNDAsNyArMTQwLDcgQEAKLSAgICAgICAgICAgICAgICdDb25kaXRpb25zIGFy Z3VtZW50IG11c3QgdGFrZSBhIGxpc3QgJyArIFwKLSAgICAgICAgICAgICAgICdvZiBmdW5jdGlv bnMuIEZvdW5kICVzIGluc3RlYWQuJwotIAotLSAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UoY29t bWFuZC5jb25kaXRpb25zLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6Ci0rICAgICAgICBpZiBub3Qg aXNpbnN0YW5jZShjb21tYW5kLmNvbmRpdGlvbnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6 Ci0gICAgICAgICAgICAgbXNnID0gbXNnICUgKGNvbW1hbmQubmFtZSwgdHlwZShjb21tYW5kLmNv bmRpdGlvbnMpKQotICAgICAgICAgICAgIHJhaXNlIE1hY2hFcnJvcihtc2cpCi0gCi1kaWZmIC11 ciBhL3B5dGhvbi9tYWNoL21hY2gvbWFpbi5weSBiL3B5dGhvbi9tYWNoL21hY2gvbWFpbi5weQot LS0tIGEvcHl0aG9uL21hY2gvbWFjaC9tYWluLnB5CTIwMjEtMDktMDEgMTM6MjY6MjMuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi9weXRob24vbWFjaC9tYWNoL21haW4ucHkJMjAyMS0xMS0wNSAxNToy OToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xNiw3ICsxNiw3IEBACi0gaW1wb3J0IHN5cwotIGlt cG9ydCB0cmFjZWJhY2sKLSBpbXBvcnQgdXVpZAotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IEl0 ZXJhYmxlCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJhYmxlCi0gCi0gZnJvbSBz aXggaW1wb3J0IHN0cmluZ190eXBlcwotIAotZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96 YnVpbGQvYmFja2VuZC9jb25maWdlbnZpcm9ubWVudC5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pi dWlsZC9iYWNrZW5kL2NvbmZpZ2Vudmlyb25tZW50LnB5Ci0tLS0gYS9weXRob24vbW96YnVpbGQv bW96YnVpbGQvYmFja2VuZC9jb25maWdlbnZpcm9ubWVudC5weQkyMDIxLTA5LTAxIDEzOjI2OjM0 LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL2JhY2tlbmQv Y29uZmlnZW52aXJvbm1lbnQucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAK LUBAIC05LDcgKzksOCBAQAotIGltcG9ydCBzeXMKLSBpbXBvcnQganNvbgotIAotLWZyb20gY29s bGVjdGlvbnMgaW1wb3J0IEl0ZXJhYmxlLCBPcmRlcmVkRGljdAotK2Zyb20gY29sbGVjdGlvbnMg aW1wb3J0IE9yZGVyZWREaWN0Ci0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0ZXJhYmxl Ci0gZnJvbSB0eXBlcyBpbXBvcnQgTW9kdWxlVHlwZQotIAotIGltcG9ydCBtb3pwYWNrLnBhdGgg YXMgbW96cGF0aAotZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQvbWFrZXV0aWwu cHkgYi9weXRob24vbW96YnVpbGQvbW96YnVpbGQvbWFrZXV0aWwucHkKLS0tLSBhL3B5dGhvbi9t b3pidWlsZC9tb3pidWlsZC9tYWtldXRpbC5weQkyMDIxLTA5LTAxIDEzOjI2OjE4LjAwMDAwMDAw MCAtMDQwMAotKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL21ha2V1dGlsLnB5CTIwMjEt MTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtNyw3ICs3LDcgQEAKLSBpbXBvcnQg b3MKLSBpbXBvcnQgcmUKLSBpbXBvcnQgc2l4Ci0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgSXRl cmFibGUKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgSXRlcmFibGUKLSAKLSAKLSBjbGFz cyBNYWtlZmlsZShvYmplY3QpOgotZGlmZiAtdXIgYS9weXRob24vbW96YnVpbGQvbW96YnVpbGQv dXRpbC5weSBiL3B5dGhvbi9tb3pidWlsZC9tb3pidWlsZC91dGlsLnB5Ci0tLS0gYS9weXRob24v bW96YnVpbGQvbW96YnVpbGQvdXRpbC5weQkyMDIxLTA5LTAxIDEzOjI2OjE4LjAwMDAwMDAwMCAt MDQwMAotKysrIGIvcHl0aG9uL21vemJ1aWxkL21vemJ1aWxkL3V0aWwucHkJMjAyMS0xMS0wNSAx NToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC03ODIsNyArNzgyLDcgQEAKLSAgICAgICAgIHNl bGYuX3N0cmluZ3MgPSBTdHJpY3RPcmRlcmluZ09uQXBwZW5kTGlzdCgpCi0gICAgICAgICBzZWxm Ll9jaGlsZHJlbiA9IHt9Ci0gCi0tICAgIGNsYXNzIFN0cmluZ0xpc3RBZGFwdG9yKGNvbGxlY3Rp b25zLlNlcXVlbmNlKToKLSsgICAgY2xhc3MgU3RyaW5nTGlzdEFkYXB0b3IoY29sbGVjdGlvbnMu YWJjLlNlcXVlbmNlKToKLSAgICAgICAgIGRlZiBfX2luaXRfXyhzZWxmLCBoc2wpOgotICAgICAg ICAgICAgIHNlbGYuX2hzbCA9IGhzbAotIAotZGlmZiAtdXIgYS90ZXN0aW5nL21hcmlvbmV0dGUv Y2xpZW50L21hcmlvbmV0dGVfZHJpdmVyL3dhaXQucHkgYi90ZXN0aW5nL21hcmlvbmV0dGUvY2xp ZW50L21hcmlvbmV0dGVfZHJpdmVyL3dhaXQucHkKLS0tLSBhL3Rlc3RpbmcvbWFyaW9uZXR0ZS9j bGllbnQvbWFyaW9uZXR0ZV9kcml2ZXIvd2FpdC5weQkyMDIxLTA5LTAxIDEzOjI2OjMwLjAwMDAw MDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy9tYXJpb25ldHRlL2NsaWVudC9tYXJpb25ldHRlX2Ry aXZlci93YWl0LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtODIs NyArODIsNyBAQAotIAotICAgICAgICAgZXhjZXB0aW9ucyA9IFtdCi0gICAgICAgICBpZiBpZ25v cmVkX2V4Y2VwdGlvbnMgaXMgbm90IE5vbmU6Ci0tICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShp Z25vcmVkX2V4Y2VwdGlvbnMsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKToKLSsgICAgICAgICAgICBp ZiBpc2luc3RhbmNlKGlnbm9yZWRfZXhjZXB0aW9ucywgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxl KToKLSAgICAgICAgICAgICAgICAgZXhjZXB0aW9ucy5leHRlbmQoaXRlcihpZ25vcmVkX2V4Y2Vw dGlvbnMpKQotICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMu YXBwZW5kKGlnbm9yZWRfZXhjZXB0aW9ucykKLWRpZmYgLXVyIGEvdGVzdGluZy9tb3piYXNlL21h bmlmZXN0cGFyc2VyL21hbmlmZXN0cGFyc2VyL2ZpbHRlcnMucHkgYi90ZXN0aW5nL21vemJhc2Uv bWFuaWZlc3RwYXJzZXIvbWFuaWZlc3RwYXJzZXIvZmlsdGVycy5weQotLS0tIGEvdGVzdGluZy9t b3piYXNlL21hbmlmZXN0cGFyc2VyL21hbmlmZXN0cGFyc2VyL2ZpbHRlcnMucHkJMjAyMS0wOS0w MSAxMzoyNjoyMy4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3RpbmcvbW96YmFzZS9tYW5pZmVz dHBhcnNlci9tYW5pZmVzdHBhcnNlci9maWx0ZXJzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAw MDAwMDAwIC0wNDAwCi1AQCAtMTIsNyArMTIsOCBAQAotIAotIGltcG9ydCBpdGVydG9vbHMKLSBp bXBvcnQgb3MKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZhdWx0ZGljdCwgTXV0YWJsZVNl cXVlbmNlCi0rZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKLStmcm9tIGNvbGxl Y3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZVNlcXVlbmNlCi0gCi0gaW1wb3J0IHNpeAotIGZyb20g c2l4IGltcG9ydCBzdHJpbmdfdHlwZXMKLWRpZmYgLXVyIGEvdGVzdGluZy9tb3piYXNlL3ZlcnNp b25pbmZvLnB5IGIvdGVzdGluZy9tb3piYXNlL3ZlcnNpb25pbmZvLnB5Ci0tLS0gYS90ZXN0aW5n L21vemJhc2UvdmVyc2lvbmluZm8ucHkJMjAyMS0wOS0wMSAxMzoyNjoyMy4wMDAwMDAwMDAgLTA0 MDAKLSsrKyBiL3Rlc3RpbmcvbW96YmFzZS92ZXJzaW9uaW5mby5weQkyMDIxLTExLTA1IDE1OjI5 OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTExLDcgKzExLDcgQEAKLSAKLSBmcm9tIF9fZnV0dXJl X18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgcHJpbnRfZnVuY3Rpb24KLSAKLS1mcm9tIGNvbGxl Y3Rpb25zIGltcG9ydCBJdGVyYWJsZQotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBJdGVy YWJsZQotIGZyb20gZGlzdHV0aWxzLnZlcnNpb24gaW1wb3J0IFN0cmljdFZlcnNpb24KLSBpbXBv cnQgYXJncGFyc2UKLSBpbXBvcnQgb3MKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0v dGVzdHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90 ZXN0cy90b29scy9tYW5pZmVzdC90eXBlZGF0YS5weQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZv cm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdHlwZWRhdGEucHkJMjAyMS0wOS0wMSAxMzoyNjo0MC4w MDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21h bmlmZXN0L3R5cGVkYXRhLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1A QCAtMSw0ICsxLDQgQEAKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlTWFwcGluZwot K2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNdXRhYmxlTWFwcGluZwotIAotIGZyb20gc2l4 IGltcG9ydCBpdGVydmFsdWVzLCBpdGVyaXRlbXMKLSAKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWIt cGxhdGZvcm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5IGIvdGVzdGluZy93ZWItcGxhdGZv cm0vdGVzdHMvdG9vbHMvbWFuaWZlc3QvdmNzLnB5Ci0tLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9y bS90ZXN0cy90b29scy9tYW5pZmVzdC92Y3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAw MDAgLTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL21hbmlmZXN0 L3Zjcy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTMsNyArMyw3 IEBACi0gaW1wb3J0IG9zCi0gaW1wb3J0IHN0YXQKLSBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBk ZXF1ZQotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0rZnJvbSBjb2xs ZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5nCi0gCi0gZnJvbSBzaXggaW1wb3J0IHdp dGhfbWV0YWNsYXNzLCBQWTIKLSAKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVz dHMvdG9vbHMvdGhpcmRfcGFydHkvYXR0cnMvdGVzdHMvdGVzdF9mdW5jcy5weSBiL3Rlc3Rpbmcv d2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2F0dHJzL3Rlc3RzL3Rlc3RfZnVu Y3MucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5 L2F0dHJzL3Rlc3RzL3Rlc3RfZnVuY3MucHkJMjAyMS0wOS0wMSAxMzoyNjo1Ni4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5 L2F0dHJzL3Rlc3RzL3Rlc3RfZnVuY3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAg LTA0MDAKLUBAIC00LDcgKzQsOCBAQAotIAotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1 dGVfaW1wb3J0LCBkaXZpc2lvbiwgcHJpbnRfZnVuY3Rpb24KLSAKLS1mcm9tIGNvbGxlY3Rpb25z IGltcG9ydCBNYXBwaW5nLCBPcmRlcmVkRGljdCwgU2VxdWVuY2UKLStmcm9tIGNvbGxlY3Rpb25z IGltcG9ydCBPcmRlcmVkRGljdAotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5n LCBTZXF1ZW5jZQotIAotIGltcG9ydCBweXRlc3QKLSAKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWIt cGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaDIvaDIvc2V0dGluZ3MucHkgYi90ZXN0 aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oMi9oMi9zZXR0aW5ncy5w eQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaDIv aDIvc2V0dGluZ3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBi L3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2gyL2gyL3NldHRp bmdzLnB5CTIwMjEtMTEtMDUgMTU6MzI6MjguODE3NzM3MzU3IC0wNDAwCi1AQCAtODgsNyArODgs NyBAQAotICAgICAgICAgKQotIAotIAotLWNsYXNzIFNldHRpbmdzKGNvbGxlY3Rpb25zLk11dGFi bGVNYXBwaW5nKToKLStjbGFzcyBTZXR0aW5ncyhjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBp bmcpOgotICAgICAiIiIKLSAgICAgQW4gb2JqZWN0IHRoYXQgZW5jYXBzdWxhdGVzIEhUVFAvMiBz ZXR0aW5ncyBzdGF0ZS4KLSAKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMv dG9vbHMvdGhpcmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvX3RyaWUvX2Jhc2UucHkgYi90ZXN0 aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9odG1sNWxpYi9odG1sNWxp Yi9fdHJpZS9fYmFzZS5weQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMv dGhpcmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvX3RyaWUvX2Jhc2UucHkJMjAyMS0wOS0wMSAx MzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3Rz L3Rvb2xzL3RoaXJkX3BhcnR5L2h0bWw1bGliL2h0bWw1bGliL190cmllL19iYXNlLnB5CTIwMjEt MTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMSw2ICsxLDYgQEAKLSBmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCwgZGl2aXNpb24sIHVuaWNvZGVfbGl0ZXJh bHMKLSAKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nCi0rZnJvbSBjb2xsZWN0aW9u cy5hYmMgaW1wb3J0IE1hcHBpbmcKLSAKLSAKLSBjbGFzcyBUcmllKE1hcHBpbmcpOgotZGlmZiAt dXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9odG1sNWxp Yi9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVz dHMvdG9vbHMvdGhpcmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5w eQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHRt bDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTA5LTAxIDEzOjI3OjA1LjAw MDAwMDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhp cmRfcGFydHkvaHRtbDVsaWIvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTExLTA1 IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEsNyArMSw3IEBACi0gZnJvbSBfX2Z1dHVy ZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0g Ci0gCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLStmcm9tIGNvbGxl Y3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLSBmcm9tIHhtbC5kb20gaW1wb3J0IG1p bmlkb20sIE5vZGUKLSBpbXBvcnQgd2Vha3JlZgotIAotZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1w bGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9jb21tb24vaGVhZGVy cy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVy L2h5cGVyL2NvbW1vbi9oZWFkZXJzLnB5Ci0tLS0gYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0 cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9jb21tb24vaGVhZGVycy5weQkyMDIxLTA5 LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy93ZWItcGxhdGZvcm0v dGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvY29tbW9uL2hlYWRlcnMucHkJMjAy MS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xMCw3ICsxMCw3IEBACi0gZnJv bSBoeXBlci5jb21tb24udXRpbCBpbXBvcnQgdG9fYnl0ZXN0cmluZywgdG9fYnl0ZXN0cmluZ190 dXBsZQotIAotIAotLWNsYXNzIEhUVFBIZWFkZXJNYXAoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBp bmcpOgotK2NsYXNzIEhUVFBIZWFkZXJNYXAoY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5n KToKLSAgICAgIiIiCi0gICAgIEEgc3RydWN0dXJlIHRoYXQgY29udGFpbnMgSFRUUCBoZWFkZXJz LgotIAotZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9w YXJ0eS9oeXBlci9oeXBlci9oMi9zZXR0aW5ncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rl c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2gyL3NldHRpbmdzLnB5Ci0tLS0gYS90 ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9o Mi9zZXR0aW5ncy5weQkyMDIxLTA5LTAxIDEzOjI2OjU2LjAwMDAwMDAwMCAtMDQwMAotKysrIGIv dGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIv aDIvc2V0dGluZ3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0x NTEsNyArMTUxLDcgQEAKLSAgICAgICAgICkKLSAKLSAKLS1jbGFzcyBTZXR0aW5ncyhjb2xsZWN0 aW9ucy5NdXRhYmxlTWFwcGluZyk6Ci0rY2xhc3MgU2V0dGluZ3MoY29sbGVjdGlvbnMuYWJjLk11 dGFibGVNYXBwaW5nKToKLSAgICAgIiIiCi0gICAgIEFuIG9iamVjdCB0aGF0IGVuY2Fwc3VsYXRl cyBIVFRQLzIgc2V0dGluZ3Mgc3RhdGUuCi0gCi1kaWZmIC11ciBhL3Rlc3Rpbmcvd2ViLXBsYXRm b3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2h0dHAxMS9jb25uZWN0aW9u LnB5IGIvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIv aHlwZXIvaHR0cDExL2Nvbm5lY3Rpb24ucHkKLS0tLSBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rl c3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL2h0dHAxMS9jb25uZWN0aW9uLnB5CTIw MjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90ZXN0aW5nL3dlYi1wbGF0 Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlci9oeXBlci9odHRwMTEvY29ubmVjdGlv bi5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEwLDcgKzEwLDcg QEAKLSBpbXBvcnQgc29ja2V0Ci0gaW1wb3J0IGJhc2U2NAotIAotLWZyb20gY29sbGVjdGlvbnMg aW1wb3J0IEl0ZXJhYmxlLCBNYXBwaW5nCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IEl0 ZXJhYmxlLCBNYXBwaW5nCi0gCi0gaW1wb3J0IGNvbGxlY3Rpb25zCi0gZnJvbSBoeXBlcmZyYW1l LmZyYW1lIGltcG9ydCBTZXR0aW5nc0ZyYW1lCi1AQCAtMjk1LDcgKzI5NSw3IEBACi0gICAgICAg ICAgICAgICAgIHJldHVybgotIAotICAgICAgICAgICAgICMgSXRlcmFibGVzIHRoYXQgc2V0IGEg c3BlY2lmaWMgY29udGVudCBsZW5ndGguCi0tICAgICAgICAgICAgZWxpZiBpc2luc3RhbmNlKGJv ZHksIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKToKLSsgICAgICAgICAgICBlbGlmIGlzaW5zdGFuY2Uo Ym9keSwgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKToKLSAgICAgICAgICAgICAgICAgZm9yIGl0 ZW0gaW4gYm9keToKLSAgICAgICAgICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLl9zb2NrLnNlbmQoaXRlbSkKLWRpZmYgLXVyIGEvdGVzdGluZy93ZWItcGxh dGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXIvaHlwZXIvcGFja2FnZXMvaHlwZXJm cmFtZS9mbGFncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3Bh cnR5L2h5cGVyL2h5cGVyL3BhY2thZ2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkKLS0tLSBhL3Rlc3Rp bmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyL2h5cGVyL3BhY2th Z2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0wOS0wMSAxMzoyNzowNS4wMDAwMDAwMDAgLTA0 MDAKLSsrKyBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5 cGVyL2h5cGVyL3BhY2thZ2VzL2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0xMS0wNSAxNToyOTox Mi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xMSw3ICsxMSw3IEBACi0gRmxhZyA9IGNvbGxlY3Rpb25z Lm5hbWVkdHVwbGUoIkZsYWciLCBbIm5hbWUiLCAiYml0Il0pCi0gCi0gCi0tY2xhc3MgRmxhZ3Mo Y29sbGVjdGlvbnMuTXV0YWJsZVNldCk6Ci0rY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuYWJjLk11 dGFibGVTZXQpOgotICAgICAiIiIKLSAgICAgQSBzaW1wbGUgTXV0YWJsZVNldCBpbXBsZW1lbnRh dGlvbiB0aGF0IHdpbGwgb25seSBhY2NlcHQga25vd24gZmxhZ3MgYXMgZWxlbWVudHMuCi0gCi1k aWZmIC11ciBhL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3RoaXJkX3BhcnR5L2h5 cGVyZnJhbWUvaHlwZXJmcmFtZS9mbGFncy5weSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3Rz L3Rvb2xzL3RoaXJkX3BhcnR5L2h5cGVyZnJhbWUvaHlwZXJmcmFtZS9mbGFncy5weQotLS0tIGEv dGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvdGhpcmRfcGFydHkvaHlwZXJmcmFtZS9o eXBlcmZyYW1lL2ZsYWdzLnB5CTIwMjEtMDktMDEgMTM6MjY6MzkuMDAwMDAwMDAwIC0wNDAwCi0r KysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy90aGlyZF9wYXJ0eS9oeXBlcmZy YW1lL2h5cGVyZnJhbWUvZmxhZ3MucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0 MDAKLUBAIC0xMSw3ICsxMSw3IEBACi0gRmxhZyA9IGNvbGxlY3Rpb25zLm5hbWVkdHVwbGUoIkZs YWciLCBbIm5hbWUiLCAiYml0Il0pCi0gCi0gCi0tY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuTXV0 YWJsZVNldCk6Ci0rY2xhc3MgRmxhZ3MoY29sbGVjdGlvbnMuYWJjLk11dGFibGVTZXQpOgotICAg ICAiIiIKLSAgICAgQSBzaW1wbGUgTXV0YWJsZVNldCBpbXBsZW1lbnRhdGlvbiB0aGF0IHdpbGwg b25seSBhY2NlcHQga25vd24gZmxhZ3MgYXMKLSAgICAgZWxlbWVudHMuCi1kaWZmIC11ciBhL3Rl c3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2NvbmZpZy5w eSBiL3Rlc3Rpbmcvd2ViLXBsYXRmb3JtL3Rlc3RzL3Rvb2xzL3dwdHNlcnZlL3dwdHNlcnZlL2Nv bmZpZy5weQotLS0tIGEvdGVzdGluZy93ZWItcGxhdGZvcm0vdGVzdHMvdG9vbHMvd3B0c2VydmUv d3B0c2VydmUvY29uZmlnLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAwIC0wNDAwCi0r KysgYi90ZXN0aW5nL3dlYi1wbGF0Zm9ybS90ZXN0cy90b29scy93cHRzZXJ2ZS93cHRzZXJ2ZS9j b25maWcucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0yLDcgKzIs OCBAQAotIGltcG9ydCBsb2dnaW5nCi0gaW1wb3J0IG9zCi0gCi0tZnJvbSBjb2xsZWN0aW9ucyBp bXBvcnQgZGVmYXVsdGRpY3QsIE1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBkZWZh dWx0ZGljdAotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBzaXgg aW1wb3J0IGludGVnZXJfdHlwZXMsIGl0ZXJpdGVtcywgaXRlcnZhbHVlcywgc3RyaW5nX3R5cGVz Ci0gCi0gZnJvbSAuIGltcG9ydCBzc2x1dGlscwotZGlmZiAtdXIgYS90ZXN0aW5nL3dlYi1wbGF0 Zm9ybS90ZXN0cy93ZWJkcml2ZXIvdGVzdHMvc3VwcG9ydC9zeW5jLnB5IGIvdGVzdGluZy93ZWIt cGxhdGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQotLS0tIGEvdGVz dGluZy93ZWItcGxhdGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQky MDIxLTA5LTAxIDEzOjI3OjA1LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGVzdGluZy93ZWItcGxh dGZvcm0vdGVzdHMvd2ViZHJpdmVyL3Rlc3RzL3N1cHBvcnQvc3luYy5weQkyMDIxLTExLTA1IDE1 OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTgxLDcgKzgxLDcgQEAKLSAKLSAgICAgICAgIGV4 Y2VwdGlvbnMgPSBbXQotICAgICAgICAgaWYgaWdub3JlZF9leGNlcHRpb25zIGlzIG5vdCBOb25l OgotLSAgICAgICAgICAgIGlmIGlzaW5zdGFuY2UoaWdub3JlZF9leGNlcHRpb25zLCBjb2xsZWN0 aW9ucy5JdGVyYWJsZSk6Ci0rICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShpZ25vcmVkX2V4Y2Vw dGlvbnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVyYWJsZSk6Ci0gICAgICAgICAgICAgICAgIGV4Y2Vw dGlvbnMuZXh0ZW5kKGl0ZXIoaWdub3JlZF9leGNlcHRpb25zKSkKLSAgICAgICAgICAgICBlbHNl OgotICAgICAgICAgICAgICAgICBleGNlcHRpb25zLmFwcGVuZChpZ25vcmVkX2V4Y2VwdGlvbnMp Ci1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIvZ3lwL2NvbW1vbi5weSBi L3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHlsaWIvZ3lwL2NvbW1vbi5weQotLS0tIGEvdGhpcmRf cGFydHkvcHl0aG9uL2d5cC9weWxpYi9neXAvY29tbW9uLnB5CTIwMjEtMDktMDEgMTM6MjY6NDYu MDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9j b21tb24ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC00OTQsNyAr NDk0LDcgQEAKLSAKLSAKLSAjIEJhc2VkIG9uIGh0dHA6Ly9jb2RlLmFjdGl2ZXN0YXRlLmNvbS9y ZWNpcGVzLzU3NjY5NC8uCi0tY2xhc3MgT3JkZXJlZFNldChjb2xsZWN0aW9ucy5NdXRhYmxlU2V0 KToKLStjbGFzcyBPcmRlcmVkU2V0KGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlU2V0KToKLSAgIGRl ZiBfX2luaXRfXyhzZWxmLCBpdGVyYWJsZT1Ob25lKToKLSAgICAgc2VsZi5lbmQgPSBlbmQgPSBb XQotICAgICBlbmQgKz0gW05vbmUsIGVuZCwgZW5kXSAgICAgICAgICMgc2VudGluZWwgbm9kZSBm b3IgZG91Ymx5IGxpbmtlZCBsaXN0Ci1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAv cHlsaWIvZ3lwL21zdnNfZW11bGF0aW9uLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL2d5cC9weWxp Yi9neXAvbXN2c19lbXVsYXRpb24ucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvcHls aWIvZ3lwL21zdnNfZW11bGF0aW9uLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0w NDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vZ3lwL3B5bGliL2d5cC9tc3ZzX2VtdWxhdGlv bi5weQkyMDIxLTExLTA1IDE1OjMwOjQ3Ljc1Nzc2MDgyMCAtMDQwMAotQEAgLTkxLDcgKzkxLDcg QEAKLSAgICIiIkFkZCB8cHJlZml4fCB0byB8ZWxlbWVudHwgb3IgZWFjaCBzdWJlbGVtZW50IGlm IGVsZW1lbnQgaXMgaXRlcmFibGUuIiIiCi0gICBpZiBlbGVtZW50IGlzIE5vbmU6Ci0gICAgIHJl dHVybiBlbGVtZW50Ci0tICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5JdGVy YWJsZSkgYW5kCi0rICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5hYmMuSXRl cmFibGUpIGFuZAotICAgICAgIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsIGJhc2VzdHJpbmcpKToK LSAgICAgcmV0dXJuIFtwcmVmaXggKyBlIGZvciBlIGluIGVsZW1lbnRdCi0gICBlbHNlOgotQEAg LTEwNCw3ICsxMDQsNyBAQAotICAgaWYgbWFwIGlzIG5vdCBOb25lIGFuZCBlbGVtZW50IGlzIG5v dCBOb25lOgotICAgICBpZiBub3QgY2FsbGFibGUobWFwKToKLSAgICAgICBtYXAgPSBtYXAuZ2V0 ICMgQXNzdW1lIGl0J3MgYSBkaWN0LCBvdGhlcndpc2UgYSBjYWxsYWJsZSB0byBkbyB0aGUgcmVt YXAuCi0tICAgIGlmIChpc2luc3RhbmNlKGVsZW1lbnQsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlKSBh bmQKLSsgICAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxl KSBhbmQKLSAgICAgICAgIG5vdCBpc2luc3RhbmNlKGVsZW1lbnQsIGJhc2VzdHJpbmcpKToKLSAg ICAgICBlbGVtZW50ID0gZmlsdGVyKE5vbmUsIFttYXAoZWxlbSkgZm9yIGVsZW0gaW4gZWxlbWVu dF0pCi0gICAgIGVsc2U6Ci1AQCAtMTE3LDcgKzExNyw3IEBACi0gICB0aGVuIGFkZCB8ZWxlbWVu dHwgdG8gaXQsIGFkZGluZyBlYWNoIGl0ZW0gaW4gfGVsZW1lbnR8IGlmIGl0J3MgYSBsaXN0IG9y Ci0gICB0dXBsZS4iIiIKLSAgIGlmIGFwcGVuZCBpcyBub3QgTm9uZSBhbmQgZWxlbWVudCBpcyBu b3QgTm9uZToKLS0gICAgaWYgKGlzaW5zdGFuY2UoZWxlbWVudCwgY29sbGVjdGlvbnMuSXRlcmFi bGUpIGFuZAotKyAgICBpZiAoaXNpbnN0YW5jZShlbGVtZW50LCBjb2xsZWN0aW9ucy5hYmMuSXRl cmFibGUpIGFuZAotICAgICAgICAgbm90IGlzaW5zdGFuY2UoZWxlbWVudCwgYmFzZXN0cmluZykp OgotICAgICAgIGFwcGVuZC5leHRlbmQoZWxlbWVudCkKLSAgICAgZWxzZToKLWRpZmYgLXVyIGEv dGhpcmRfcGFydHkvcHl0aG9uL2d5cC90ZXN0L2xpYi9UZXN0R3lwLnB5IGIvdGhpcmRfcGFydHkv cHl0aG9uL2d5cC90ZXN0L2xpYi9UZXN0R3lwLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24v Z3lwL3Rlc3QvbGliL1Rlc3RHeXAucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0 MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9neXAvdGVzdC9saWIvVGVzdEd5cC5weQkyMDIx LTExLTA1IDE1OjMwOjM3LjY3MTc2MzE1NyAtMDQwMAotQEAgLTQ5Niw3ICs0OTYsNyBAQAotICAg ICBpZiBzdGF0dXMgaXMgTm9uZToKLSAgICAgICBrd1snc3RhdHVzJ10gPSBOb25lCi0gICAgIGVs c2U6Ci0tICAgICAgaWYgbm90IGlzaW5zdGFuY2Uoc3RhdHVzLCBjb2xsZWN0aW9ucy5JdGVyYWJs ZSk6IHN0YXR1cyA9IChzdGF0dXMsKQotKyAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHN0YXR1cywg Y29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKTogc3RhdHVzID0gKHN0YXR1cywpCi0gICAgICAga3db J3N0YXR1cyddID0gbGlzdChpdGVydG9vbHMuY2hhaW4oKDAsKSwgc3RhdHVzKSkKLSAgICAgc2Vs Zi5jbWFrZV9idWlsZChneXBfZmlsZSwgdGFyZ2V0LCAqKmt3KQotICAgICBrd1snc3RhdHVzJ10g PSBzdGF0dXMKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0 Y2hlZC9ub3RwaXAvX3ZlbmRvci9kaXN0bGliL2NvbXBhdC5weSBiL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkK LS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192 ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0 MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlw L192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAg LTA0MDAKLUBAIC0zMTksNyArMzE5LDcgQEAKLSB0cnk6Ci0gICAgIGNhbGxhYmxlID0gY2FsbGFi bGUKLSBleGNlcHQgTmFtZUVycm9yOiAgICMgcHJhZ21hOiBubyBjb3ZlcgotLSAgICBmcm9tIGNv bGxlY3Rpb25zIGltcG9ydCBDYWxsYWJsZQotKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBv cnQgQ2FsbGFibGUKLSAKLSAgICAgZGVmIGNhbGxhYmxlKG9iaik6Ci0gICAgICAgICByZXR1cm4g aXNpbnN0YW5jZShvYmosIENhbGxhYmxlKQotQEAgLTQ3NSw3ICs0NzUsNyBAQAotIHRyeToKLSAg ICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2hhaW5NYXAKLSBleGNlcHQgSW1wb3J0RXJyb3I6 ICMgcHJhZ21hOiBubyBjb3ZlcgotLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxl TWFwcGluZwotKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcK LSAKLSAgICAgdHJ5OgotICAgICAgICAgZnJvbSByZXBybGliIGltcG9ydCByZWN1cnNpdmVfcmVw ciBhcyBfcmVjdXJzaXZlX3JlcHIKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9t LnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3Zl bmRvci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9tLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRo b24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL2h0bWw1bGliL3RyZWVidWls ZGVycy9kb20ucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3Ro aXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvaHRt bDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAt MDQwMAotQEAgLTEsNyArMSw3IEBACi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9p bXBvcnQsIGRpdmlzaW9uLCB1bmljb2RlX2xpdGVyYWxzCi0gCi0gCi0tZnJvbSBjb2xsZWN0aW9u cyBpbXBvcnQgTXV0YWJsZU1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0 YWJsZU1hcHBpbmcKLSBmcm9tIHhtbC5kb20gaW1wb3J0IG1pbmlkb20sIE5vZGUKLSBpbXBvcnQg d2Vha3JlZgotIAotZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9w YXRjaGVkL25vdHBpcC9fdmVuZG9yL3B5cGFyc2luZy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcHlwYXJzaW5nLnB5Ci0tLS0gYS90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3B5 cGFyc2luZy5weQkyMDIxLTA5LTAxIDEzOjI2OjQ2LjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhp cmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9weXBh cnNpbmcucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC05NDAsNyAr OTQwLDcgQEAKLSAgICAgZGVmIF9fZGlyX18oc2VsZik6Ci0gICAgICAgICByZXR1cm4gKGRpcih0 eXBlKHNlbGYpKSArIGxpc3Qoc2VsZi5rZXlzKCkpKQotIAotLWNvbGxlY3Rpb25zLk11dGFibGVN YXBwaW5nLnJlZ2lzdGVyKFBhcnNlUmVzdWx0cykKLStjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1h cHBpbmcucmVnaXN0ZXIoUGFyc2VSZXN1bHRzKQotIAotIGRlZiBjb2wgKGxvYyxzdHJnKToKLSAg ICAgIiIiUmV0dXJucyBjdXJyZW50IGNvbHVtbiB3aXRoaW4gYSBzdHJpbmcsIGNvdW50aW5nIG5l d2xpbmVzIGFzIGxpbmUgc2VwYXJhdG9ycy4KLUBAIC0zMjIzLDcgKzMyMjMsNyBAQAotIAotICAg ICAgICAgaWYgaXNpbnN0YW5jZSggZXhwcnMsIGJhc2VzdHJpbmcgKToKLSAgICAgICAgICAgICBz ZWxmLmV4cHJzID0gWyBQYXJzZXJFbGVtZW50Ll9saXRlcmFsU3RyaW5nQ2xhc3MoIGV4cHJzICkg XQotLSAgICAgICAgZWxpZiBpc2luc3RhbmNlKCBleHBycywgY29sbGVjdGlvbnMuSXRlcmFibGUg KToKLSsgICAgICAgIGVsaWYgaXNpbnN0YW5jZSggZXhwcnMsIGNvbGxlY3Rpb25zLmFiYy5JdGVy YWJsZSApOgotICAgICAgICAgICAgIGV4cHJzID0gbGlzdChleHBycykKLSAgICAgICAgICAgICAj IGlmIHNlcXVlbmNlIG9mIHN0cmluZ3MgcHJvdmlkZWQsIHdyYXAgd2l0aCBMaXRlcmFsCi0gICAg ICAgICAgICAgaWYgYWxsKGlzaW5zdGFuY2UoZXhwciwgYmFzZXN0cmluZykgZm9yIGV4cHIgaW4g ZXhwcnMpOgotQEAgLTQ1NjQsNyArNDU2NCw3IEBACi0gICAgIHN5bWJvbHMgPSBbXQotICAgICBp ZiBpc2luc3RhbmNlKHN0cnMsYmFzZXN0cmluZyk6Ci0gICAgICAgICBzeW1ib2xzID0gc3Rycy5z cGxpdCgpCi0tICAgIGVsaWYgaXNpbnN0YW5jZShzdHJzLCBjb2xsZWN0aW9ucy5JdGVyYWJsZSk6 Ci0rICAgIGVsaWYgaXNpbnN0YW5jZShzdHJzLCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUpOgot ICAgICAgICAgc3ltYm9scyA9IGxpc3Qoc3RycykKLSAgICAgZWxzZToKLSAgICAgICAgIHdhcm5p bmdzLndhcm4oIkludmFsaWQgYXJndW1lbnQgdG8gb25lT2YsIGV4cGVjdGVkIHN0cmluZyBvciBp dGVyYWJsZSIsCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Bh dGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weSBiL3RoaXJkX3BhcnR5L3B5 dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvY29va2ll cy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3Rw aXAvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVk L25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4w MDAwMDAwMDAgLTA0MDAKLUBAIC0xNjksNyArMTY5LDcgQEAKLSAgICAgIiIiCi0gCi0gCi0tY2xh c3MgUmVxdWVzdHNDb29raWVKYXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlvbnMuTXV0 YWJsZU1hcHBpbmcpOgotK2NsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVK YXIsIGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIkNvbXBhdGliaWxp dHkgY2xhc3M7IGlzIGEgY29va2llbGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMgYSBkaWN0Ci0g ICAgIGludGVyZmFjZS4KLSAKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9w aXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkgYi90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3Rz L21vZGVscy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hl ZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4w MDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Bh dGNoZWQvbm90cGlwL192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMTEtMDUgMTU6MzE6 MzUuNzQ1NzQ5NjkyIC0wNDAwCi1AQCAtMTc0LDEwICsxNzQsMTAgQEAKLSAgICAgICAgIGlmIGV2 ZW50IG5vdCBpbiBzZWxmLmhvb2tzOgotICAgICAgICAgICAgIHJhaXNlIFZhbHVlRXJyb3IoJ1Vu c3VwcG9ydGVkIGV2ZW50IHNwZWNpZmllZCwgd2l0aCBldmVudCBuYW1lICIlcyInICUgKGV2ZW50 KSkKLSAKLS0gICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlvbnMuQ2FsbGFibGUp OgotKyAgICAgICAgaWYgaXNpbnN0YW5jZShob29rLCBjb2xsZWN0aW9ucy5hYmMuQ2FsbGFibGUp OgotICAgICAgICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmFwcGVuZChob29rKQotICAgICAgICAg ZWxpZiBoYXNhdHRyKGhvb2ssICdfX2l0ZXJfXycpOgotLSAgICAgICAgICAgIHNlbGYuaG9va3Nb ZXZlbnRdLmV4dGVuZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9u cy5DYWxsYWJsZSkpCi0rICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9y IGggaW4gaG9vayBpZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSkpCi0g Ci0gICAgIGRlZiBkZXJlZ2lzdGVyX2hvb2soc2VsZiwgZXZlbnQsIGhvb2spOgotICAgICAgICAg IiIiRGVyZWdpc3RlciBhIHByZXZpb3VzbHkgcmVnaXN0ZXJlZCBob29rLgotQEAgLTQ2MSw3ICs0 NjEsNyBAQAotIAotICAgICAgICAgaXNfc3RyZWFtID0gYWxsKFsKLSAgICAgICAgICAgICBoYXNh dHRyKGRhdGEsICdfX2l0ZXJfXycpLAotLSAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEs IChiYXNlc3RyaW5nLCBsaXN0LCB0dXBsZSwgY29sbGVjdGlvbnMuTWFwcGluZykpCi0rICAgICAg ICAgICAgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxlLCBjb2xs ZWN0aW9ucy5hYmMuTWFwcGluZykpCi0gICAgICAgICBdKQotIAotICAgICAgICAgdHJ5OgotZGlm ZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9f dmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52 L3BpcGVudi9wYXRjaGVkL25vdHBpcC9fdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkKLS0t LSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5k b3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAt MDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3Rw aXAvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAw MDAwMDAwIC0wNDAwCi1AQCAtMTIsNyArMTIsNyBAQAotIGZyb20gLmNvbXBhdCBpbXBvcnQgT3Jk ZXJlZERpY3QKLSAKLSAKLS1jbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLk11 dGFibGVNYXBwaW5nKToKLStjbGFzcyBDYXNlSW5zZW5zaXRpdmVEaWN0KGNvbGxlY3Rpb25zLmFi Yy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIkEgY2FzZS1pbnNlbnNpdGl2ZSBgYGRpY3RgYC1s aWtlIG9iamVjdC4KLSAKLSAgICAgSW1wbGVtZW50cyBhbGwgbWV0aG9kcyBhbmQgb3BlcmF0aW9u cyBvZgotQEAgLTcxLDcgKzcxLDcgQEAKLSAgICAgICAgICkKLSAKLSAgICAgZGVmIF9fZXFfXyhz ZWxmLCBvdGhlcik6Ci0tICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5N YXBwaW5nKToKLSsgICAgICAgIGlmIGlzaW5zdGFuY2Uob3RoZXIsIGNvbGxlY3Rpb25zLmFiYy5N YXBwaW5nKToKLSAgICAgICAgICAgICBvdGhlciA9IENhc2VJbnNlbnNpdGl2ZURpY3Qob3RoZXIp Ci0gICAgICAgICBlbHNlOgotICAgICAgICAgICAgIHJldHVybiBOb3RJbXBsZW1lbnRlZAotZGlm ZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi9wYXRjaGVkL25vdHBpcC9f dmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBl bnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weQotLS0tIGEvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1ZXN0 cy91dGlscy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhp cmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci9yZXF1 ZXN0cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMxOjQwLjE1Nzc0ODY2NSAtMDQwMAotQEAgLTI2 Miw3ICsyNjIsNyBAQAotICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAoc3RyLCBieXRlcywgYm9v bCwgaW50KSk6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3QgZW5jb2RlIG9iamVj dHMgdGhhdCBhcmUgbm90IDItdHVwbGVzJykKLSAKLS0gICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwg Y29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rp b25zLmFiYy5NYXBwaW5nKToKLSAgICAgICAgIHZhbHVlID0gdmFsdWUuaXRlbXMoKQotIAotICAg ICByZXR1cm4gbGlzdCh2YWx1ZSkKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvcGF0Y2hlZC9ub3RwaXAvX3ZlbmRvci91cmxsaWIzL19jb2xsZWN0aW9ucy5weSBi L3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3Iv dXJsbGliMy9fY29sbGVjdGlvbnMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAy MS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3BhdGNoZWQvbm90cGlwL192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlv bnMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0xLDUgKzEsNSBA QAotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0Ci0tZnJvbSBjb2xsZWN0 aW9ucyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBpbmcKLStmcm9tIGNvbGxlY3Rpb25zLmFi YyBpbXBvcnQgTWFwcGluZywgTXV0YWJsZU1hcHBpbmcKLSB0cnk6Ci0gICAgIGZyb20gdGhyZWFk aW5nIGltcG9ydCBSTG9jawotIGV4Y2VwdCBJbXBvcnRFcnJvcjogICMgUGxhdGZvcm0tc3BlY2lm aWM6IE5vIHRocmVhZHMgYXZhaWxhYmxlCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9w aXBlbnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvc2FuZGJveC5weSBiL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9qaW5qYTIvc2FuZGJveC5weQotLS0tIGEvdGhpcmRfcGFy dHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL2ppbmphMi9zYW5kYm94LnB5CTIwMjEtMDkt MDEgMTM6Mjc6MDkuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlw ZW52L3BpcGVudi92ZW5kb3IvamluamEyL3NhbmRib3gucHkJMjAyMS0xMS0wNSAxNToyOToxMi4w MDAwMDAwMDAgLTA0MDAKLUBAIC0xNCw3ICsxNCw3IEBACi0gIiIiCi0gaW1wb3J0IHR5cGVzCi0g aW1wb3J0IG9wZXJhdG9yCi0tZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTWFwcGluZwotK2Zyb20g Y29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nCi0gZnJvbSBqaW5qYTIuZW52aXJvbm1lbnQg aW1wb3J0IEVudmlyb25tZW50Ci0gZnJvbSBqaW5qYTIuZXhjZXB0aW9ucyBpbXBvcnQgU2VjdXJp dHlFcnJvcgotIGZyb20gamluamEyLl9jb21wYXQgaW1wb3J0IHN0cmluZ190eXBlcywgUFkyCi1A QCAtNzksNyArNzksNyBAQAotICAgICBwYXNzCi0gCi0gIzogcmVnaXN0ZXIgUHl0aG9uIDIuNiBh YnN0cmFjdCBiYXNlIGNsYXNzZXMKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNdXRhYmxlU2V0 LCBNdXRhYmxlTWFwcGluZywgTXV0YWJsZVNlcXVlbmNlCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMg aW1wb3J0IE11dGFibGVTZXQsIE11dGFibGVNYXBwaW5nLCBNdXRhYmxlU2VxdWVuY2UKLSBfbXV0 YWJsZV9zZXRfdHlwZXMgKz0gKE11dGFibGVTZXQsKQotIF9tdXRhYmxlX21hcHBpbmdfdHlwZXMg Kz0gKE11dGFibGVNYXBwaW5nLCkKLSBfbXV0YWJsZV9zZXF1ZW5jZV90eXBlcyArPSAoTXV0YWJs ZVNlcXVlbmNlLCkKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYv dmVuZG9yL2ppbmphMi91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52 L3ZlbmRvci9qaW5qYTIvdXRpbHMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9qaW5qYTIvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAw MDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9q aW5qYTIvdXRpbHMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC00 ODIsNyArNDgyLDcgQEAKLSAKLSAjIHJlZ2lzdGVyIHRoZSBMUlUgY2FjaGUgYXMgbXV0YWJsZSBt YXBwaW5nIGlmIHBvc3NpYmxlCi0gdHJ5OgotLSAgICBmcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBN dXRhYmxlTWFwcGluZwotKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBvcnQgTXV0YWJsZU1h cHBpbmcKLSAgICAgTXV0YWJsZU1hcHBpbmcucmVnaXN0ZXIoTFJVQ2FjaGUpCi0gZXhjZXB0IElt cG9ydEVycm9yOgotICAgICBwYXNzCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvZGlzdGxpYi9jb21wYXQucHkgYi90aGlyZF9w YXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2Rpc3RsaWIvY29t cGF0LnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlw OS9fdmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDUuMDAwMDAwMDAw IC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlw OS9fdmVuZG9yL2Rpc3RsaWIvY29tcGF0LnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAw IC0wNDAwCi1AQCAtMzE5LDcgKzMxOSw3IEBACi0gdHJ5OgotICAgICBjYWxsYWJsZSA9IGNhbGxh YmxlCi0gZXhjZXB0IE5hbWVFcnJvcjogICAjIHByYWdtYTogbm8gY292ZXIKLS0gICAgZnJvbSBj b2xsZWN0aW9ucyBpbXBvcnQgQ2FsbGFibGUKLSsgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1w b3J0IENhbGxhYmxlCi0gCi0gICAgIGRlZiBjYWxsYWJsZShvYmopOgotICAgICAgICAgcmV0dXJu IGlzaW5zdGFuY2Uob2JqLCBDYWxsYWJsZSkKLUBAIC00NzUsNyArNDc1LDcgQEAKLSB0cnk6Ci0g ICAgIGZyb20gY29sbGVjdGlvbnMgaW1wb3J0IENoYWluTWFwCi0gZXhjZXB0IEltcG9ydEVycm9y OiAjIHByYWdtYTogbm8gY292ZXIKLS0gICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgTXV0YWJs ZU1hcHBpbmcKLSsgICAgZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5n Ci0gCi0gICAgIHRyeToKLSAgICAgICAgIGZyb20gcmVwcmxpYiBpbXBvcnQgcmVjdXJzaXZlX3Jl cHIgYXMgX3JlY3Vyc2l2ZV9yZXByCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvaHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5w eSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3Iv aHRtbDVsaWIvdHJlZWJ1aWxkZXJzL2RvbS5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9uL3Bp cGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9odG1sNWxpYi90cmVlYnVpbGRlcnMvZG9t LnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0 eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL2h0bWw1bGliL3RyZWVi dWlsZGVycy9kb20ucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBAIC0x LDcgKzEsNyBAQAotIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0LCBkaXZp c2lvbiwgdW5pY29kZV9saXRlcmFscwotIAotIAotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE11 dGFibGVNYXBwaW5nCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE11dGFibGVNYXBwaW5n Ci0gZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9tLCBOb2RlCi0gaW1wb3J0IHdlYWtyZWYKLSAK LWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkv X3ZlbmRvci9weXBhcnNpbmcucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92 ZW5kb3IvcGlwOS9fdmVuZG9yL3B5cGFyc2luZy5weQotLS0tIGEvdGhpcmRfcGFydHkvcHl0aG9u L3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9weXBhcnNpbmcucHkJMjAyMS0wOS0w MSAxMzoyNjo0Ni4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcHlwYXJzaW5nLnB5CTIwMjEtMTEtMDUgMTU6 Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtOTQwLDcgKzk0MCw3IEBACi0gICAgIGRlZiBfX2Rp cl9fKHNlbGYpOgotICAgICAgICAgcmV0dXJuIChkaXIodHlwZShzZWxmKSkgKyBsaXN0KHNlbGYu a2V5cygpKSkKLSAKLS1jb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZy5yZWdpc3RlcihQYXJzZVJl c3VsdHMpCi0rY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5nLnJlZ2lzdGVyKFBhcnNlUmVz dWx0cykKLSAKLSBkZWYgY29sIChsb2Msc3RyZyk6Ci0gICAgICIiIlJldHVybnMgY3VycmVudCBj b2x1bW4gd2l0aGluIGEgc3RyaW5nLCBjb3VudGluZyBuZXdsaW5lcyBhcyBsaW5lIHNlcGFyYXRv cnMuCi1AQCAtMzIyMyw3ICszMjIzLDcgQEAKLSAKLSAgICAgICAgIGlmIGlzaW5zdGFuY2UoIGV4 cHJzLCBiYXNlc3RyaW5nICk6Ci0gICAgICAgICAgICAgc2VsZi5leHBycyA9IFsgUGFyc2VyRWxl bWVudC5fbGl0ZXJhbFN0cmluZ0NsYXNzKCBleHBycyApIF0KLS0gICAgICAgIGVsaWYgaXNpbnN0 YW5jZSggZXhwcnMsIGNvbGxlY3Rpb25zLkl0ZXJhYmxlICk6Ci0rICAgICAgICBlbGlmIGlzaW5z dGFuY2UoIGV4cHJzLCBjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUgKToKLSAgICAgICAgICAgICBl eHBycyA9IGxpc3QoZXhwcnMpCi0gICAgICAgICAgICAgIyBpZiBzZXF1ZW5jZSBvZiBzdHJpbmdz IHByb3ZpZGVkLCB3cmFwIHdpdGggTGl0ZXJhbAotICAgICAgICAgICAgIGlmIGFsbChpc2luc3Rh bmNlKGV4cHIsIGJhc2VzdHJpbmcpIGZvciBleHByIGluIGV4cHJzKToKLUBAIC00NTY0LDcgKzQ1 NjQsNyBAQAotICAgICBzeW1ib2xzID0gW10KLSAgICAgaWYgaXNpbnN0YW5jZShzdHJzLGJhc2Vz dHJpbmcpOgotICAgICAgICAgc3ltYm9scyA9IHN0cnMuc3BsaXQoKQotLSAgICBlbGlmIGlzaW5z dGFuY2Uoc3RycywgY29sbGVjdGlvbnMuSXRlcmFibGUpOgotKyAgICBlbGlmIGlzaW5zdGFuY2Uo c3RycywgY29sbGVjdGlvbnMuYWJjLkl0ZXJhYmxlKToKLSAgICAgICAgIHN5bWJvbHMgPSBsaXN0 KHN0cnMpCi0gICAgIGVsc2U6Ci0gICAgICAgICB3YXJuaW5ncy53YXJuKCJJbnZhbGlkIGFyZ3Vt ZW50IHRvIG9uZU9mLCBleHBlY3RlZCBzdHJpbmcgb3IgaXRlcmFibGUiLAotZGlmZiAtdXIgYS90 aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVl c3RzL2Nvb2tpZXMucHkgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3Iv cGlwOS9fdmVuZG9yL3JlcXVlc3RzL2Nvb2tpZXMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQky MDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAwMCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0 aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9jb29raWVzLnB5 CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1AQCAtMTY5LDcgKzE2OSw3IEBA Ci0gICAgICIiIgotIAotIAotLWNsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29r aWVKYXIsIGNvbGxlY3Rpb25zLk11dGFibGVNYXBwaW5nKToKLStjbGFzcyBSZXF1ZXN0c0Nvb2tp ZUphcihjb29raWVsaWIuQ29va2llSmFyLCBjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcp OgotICAgICAiIiJDb21wYXRpYmlsaXR5IGNsYXNzOyBpcyBhIGNvb2tpZWxpYi5Db29raWVKYXIs IGJ1dCBleHBvc2VzIGEgZGljdAotICAgICBpbnRlcmZhY2UuCi0gCi1kaWZmIC11ciBhL3RoaXJk X3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMv bW9kZWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkv X3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBl bnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvbW9kZWxzLnB5CTIwMjEtMDkt MDEgMTM6MjY6NDYuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlw ZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3JlcXVlc3RzL21vZGVscy5weQkyMDIxLTEx LTA1IDE1OjMxOjUyLjM5Nzc0NTgyNSAtMDQwMAotQEAgLTE3NCwxMCArMTc0LDEwIEBACi0gICAg ICAgICBpZiBldmVudCBub3QgaW4gc2VsZi5ob29rczoKLSAgICAgICAgICAgICByYWlzZSBWYWx1 ZUVycm9yKCdVbnN1cHBvcnRlZCBldmVudCBzcGVjaWZpZWQsIHdpdGggZXZlbnQgbmFtZSAiJXMi JyAlIChldmVudCkpCi0gCi0tICAgICAgICBpZiBpc2luc3RhbmNlKGhvb2ssIGNvbGxlY3Rpb25z LkNhbGxhYmxlKToKLSsgICAgICAgIGlmIGlzaW5zdGFuY2UoaG9vaywgY29sbGVjdGlvbnMuYWJj LkNhbGxhYmxlKToKLSAgICAgICAgICAgICBzZWxmLmhvb2tzW2V2ZW50XS5hcHBlbmQoaG9vaykK LSAgICAgICAgIGVsaWYgaGFzYXR0cihob29rLCAnX19pdGVyX18nKToKLS0gICAgICAgICAgICBz ZWxmLmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFuY2UoaCwg Y29sbGVjdGlvbnMuQ2FsbGFibGUpKQotKyAgICAgICAgICAgIHNlbGYuaG9va3NbZXZlbnRdLmV4 dGVuZChoIGZvciBoIGluIGhvb2sgaWYgaXNpbnN0YW5jZShoLCBjb2xsZWN0aW9ucy5hYmMuQ2Fs bGFibGUpKQotIAotICAgICBkZWYgZGVyZWdpc3Rlcl9ob29rKHNlbGYsIGV2ZW50LCBob29rKToK LSAgICAgICAgICIiIkRlcmVnaXN0ZXIgYSBwcmV2aW91c2x5IHJlZ2lzdGVyZWQgaG9vay4KLUBA IC00NjEsNyArNDYxLDcgQEAKLSAKLSAgICAgICAgIGlzX3N0cmVhbSA9IGFsbChbCi0gICAgICAg ICAgICAgaGFzYXR0cihkYXRhLCAnX19pdGVyX18nKSwKLS0gICAgICAgICAgICBub3QgaXNpbnN0 YW5jZShkYXRhLCAoYmFzZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLk1hcHBpbmcp KQotKyAgICAgICAgICAgIG5vdCBpc2luc3RhbmNlKGRhdGEsIChiYXNlc3RyaW5nLCBsaXN0LCB0 dXBsZSwgY29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpKQotICAgICAgICAgXSkKLSAKLSAgICAgICAg IHRyeToKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9y L3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9u L3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5 Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVu ZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5 L192ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5weQkyMDIxLTExLTA1IDE1OjMyOjAyLjc2NTc0 MzQxMyAtMDQwMAotQEAgLTEyLDcgKzEyLDcgQEAKLSBmcm9tIC5jb21wYXQgaW1wb3J0IE9yZGVy ZWREaWN0Ci0gCi0gCi0tY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGljdChjb2xsZWN0aW9ucy5NdXRh YmxlTWFwcGluZyk6Ci0rY2xhc3MgQ2FzZUluc2Vuc2l0aXZlRGljdChjb2xsZWN0aW9ucy5hYmMu TXV0YWJsZU1hcHBpbmcpOgotICAgICAiIiJBIGNhc2UtaW5zZW5zaXRpdmUgYGBkaWN0YGAtbGlr ZSBvYmplY3QuCi0gCi0gICAgIEltcGxlbWVudHMgYWxsIG1ldGhvZHMgYW5kIG9wZXJhdGlvbnMg b2YKLUBAIC03MSw3ICs3MSw3IEBACi0gICAgICAgICApCi0gCi0gICAgIGRlZiBfX2VxX18oc2Vs Ziwgb3RoZXIpOgotLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29sbGVjdGlvbnMuTWFw cGluZyk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5hYmMuTWFw cGluZyk6Ci0gICAgICAgICAgICAgb3RoZXIgPSBDYXNlSW5zZW5zaXRpdmVEaWN0KG90aGVyKQot ICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLWRpZmYg LXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3BpcDkvX3ZlbmRv ci9yZXF1ZXN0cy91dGlscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3Zl bmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5 dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJ MjAyMS0wOS0wMSAxMzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5 dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9waXA5L192ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJ MjAyMS0xMS0wNSAxNTozMTo1Ny4xMjM3NDQ3MjQgLTA0MDAKLUBAIC0yNjIsNyArMjYyLDcgQEAK LSAgICAgaWYgaXNpbnN0YW5jZSh2YWx1ZSwgKHN0ciwgYnl0ZXMsIGJvb2wsIGludCkpOgotICAg ICAgICAgcmFpc2UgVmFsdWVFcnJvcignY2Fubm90IGVuY29kZSBvYmplY3RzIHRoYXQgYXJlIG5v dCAyLXR1cGxlcycpCi0gCi0tICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxlY3Rpb25zLk1h cHBpbmcpOgotKyAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGlu Zyk6Ci0gICAgICAgICB2YWx1ZSA9IHZhbHVlLml0ZW1zKCkKLSAKLSAgICAgcmV0dXJuIGxpc3Qo dmFsdWUpCi1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRv ci9waXA5L192ZW5kb3IvdXJsbGliMy9fY29sbGVjdGlvbnMucHkgYi90aGlyZF9wYXJ0eS9weXRo b24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25z LnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcGlwOS9f dmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAw MDAwIC0wNDAwCi0rKysgYi90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3Iv cGlwOS9fdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIu MDAwMDAwMDAwIC0wNDAwCi1AQCAtMSw1ICsxLDUgQEAKLSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0 IGFic29sdXRlX2ltcG9ydAotLWZyb20gY29sbGVjdGlvbnMgaW1wb3J0IE1hcHBpbmcsIE11dGFi bGVNYXBwaW5nCi0rZnJvbSBjb2xsZWN0aW9ucy5hYmMgaW1wb3J0IE1hcHBpbmcsIE11dGFibGVN YXBwaW5nCi0gdHJ5OgotICAgICBmcm9tIHRocmVhZGluZyBpbXBvcnQgUkxvY2sKLSBleGNlcHQg SW1wb3J0RXJyb3I6ICAjIFBsYXRmb3JtLXNwZWNpZmljOiBObyB0aHJlYWRzIGF2YWlsYWJsZQot ZGlmZiAtdXIgYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVz dHMvY29va2llcy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9y ZXF1ZXN0cy9jb29raWVzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVu di92ZW5kb3IvcmVxdWVzdHMvY29va2llcy5weQkyMDIxLTA5LTAxIDEzOjI3OjAwLjAwMDAwMDAw MCAtMDQwMAotKysrIGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3Jl cXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0xMS0wNSAxNToyOToxMi4wMDAwMDAwMDAgLTA0MDAKLUBA IC0xNjksNyArMTY5LDcgQEAKLSAgICAgIiIiCi0gCi0gCi0tY2xhc3MgUmVxdWVzdHNDb29raWVK YXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgotK2Ns YXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxpYi5Db29raWVKYXIsIGNvbGxlY3Rpb25zLmFi Yy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIkNvbXBhdGliaWxpdHkgY2xhc3M7IGlzIGEgY29v a2llbGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMgYSBkaWN0Ci0gICAgIGludGVyZmFjZS4KLSAK LWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVl c3RzL21vZGVscy5weSBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9y ZXF1ZXN0cy9tb2RlbHMucHkKLS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52 L3ZlbmRvci9yZXF1ZXN0cy9tb2RlbHMucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1 ZXN0cy9tb2RlbHMucHkJMjAyMS0xMS0wNSAxNTozMjowOS43MzI3NDE3OTMgLTA0MDAKLUBAIC0x NzQsMTAgKzE3NCwxMCBAQAotICAgICAgICAgaWYgZXZlbnQgbm90IGluIHNlbGYuaG9va3M6Ci0g ICAgICAgICAgICAgcmFpc2UgVmFsdWVFcnJvcignVW5zdXBwb3J0ZWQgZXZlbnQgc3BlY2lmaWVk LCB3aXRoIGV2ZW50IG5hbWUgIiVzIicgJSAoZXZlbnQpKQotIAotLSAgICAgICAgaWYgaXNpbnN0 YW5jZShob29rLCBjb2xsZWN0aW9ucy5DYWxsYWJsZSk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNl KGhvb2ssIGNvbGxlY3Rpb25zLmFiYy5DYWxsYWJsZSk6Ci0gICAgICAgICAgICAgc2VsZi5ob29r c1tldmVudF0uYXBwZW5kKGhvb2spCi0gICAgICAgICBlbGlmIGhhc2F0dHIoaG9vaywgJ19faXRl cl9fJyk6Ci0tICAgICAgICAgICAgc2VsZi5ob29rc1tldmVudF0uZXh0ZW5kKGggZm9yIGggaW4g aG9vayBpZiBpc2luc3RhbmNlKGgsIGNvbGxlY3Rpb25zLkNhbGxhYmxlKSkKLSsgICAgICAgICAg ICBzZWxmLmhvb2tzW2V2ZW50XS5leHRlbmQoaCBmb3IgaCBpbiBob29rIGlmIGlzaW5zdGFuY2Uo aCwgY29sbGVjdGlvbnMuYWJjLkNhbGxhYmxlKSkKLSAKLSAgICAgZGVmIGRlcmVnaXN0ZXJfaG9v ayhzZWxmLCBldmVudCwgaG9vayk6Ci0gICAgICAgICAiIiJEZXJlZ2lzdGVyIGEgcHJldmlvdXNs eSByZWdpc3RlcmVkIGhvb2suCi1AQCAtNDYxLDcgKzQ2MSw3IEBACi0gCi0gICAgICAgICBpc19z dHJlYW0gPSBhbGwoWwotICAgICAgICAgICAgIGhhc2F0dHIoZGF0YSwgJ19faXRlcl9fJyksCi0t ICAgICAgICAgICAgbm90IGlzaW5zdGFuY2UoZGF0YSwgKGJhc2VzdHJpbmcsIGxpc3QsIHR1cGxl LCBjb2xsZWN0aW9ucy5NYXBwaW5nKSkKLSsgICAgICAgICAgICBub3QgaXNpbnN0YW5jZShkYXRh LCAoYmFzZXN0cmluZywgbGlzdCwgdHVwbGUsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKSkKLSAg ICAgICAgIF0pCi0gCi0gICAgICAgICB0cnk6Ci1kaWZmIC11ciBhL3RoaXJkX3BhcnR5L3B5dGhv bi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5IGIvdGhpcmRfcGFy dHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkKLS0t LSBhL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci9yZXF1ZXN0cy9zdHJ1 Y3R1cmVzLnB5CTIwMjEtMDktMDEgMTM6Mjc6MDAuMDAwMDAwMDAwIC0wNDAwCi0rKysgYi90aGly ZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvc3RydWN0dXJlcy5w eQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTEyLDcgKzEyLDcgQEAK LSBmcm9tIC5jb21wYXQgaW1wb3J0IE9yZGVyZWREaWN0Ci0gCi0gCi0tY2xhc3MgQ2FzZUluc2Vu c2l0aXZlRGljdChjb2xsZWN0aW9ucy5NdXRhYmxlTWFwcGluZyk6Ci0rY2xhc3MgQ2FzZUluc2Vu c2l0aXZlRGljdChjb2xsZWN0aW9ucy5hYmMuTXV0YWJsZU1hcHBpbmcpOgotICAgICAiIiJBIGNh c2UtaW5zZW5zaXRpdmUgYGBkaWN0YGAtbGlrZSBvYmplY3QuCi0gCi0gICAgIEltcGxlbWVudHMg YWxsIG1ldGhvZHMgYW5kIG9wZXJhdGlvbnMgb2YKLUBAIC03MSw3ICs3MSw3IEBACi0gICAgICAg ICApCi0gCi0gICAgIGRlZiBfX2VxX18oc2VsZiwgb3RoZXIpOgotLSAgICAgICAgaWYgaXNpbnN0 YW5jZShvdGhlciwgY29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNl KG90aGVyLCBjb2xsZWN0aW9ucy5hYmMuTWFwcGluZyk6Ci0gICAgICAgICAgICAgb3RoZXIgPSBD YXNlSW5zZW5zaXRpdmVEaWN0KG90aGVyKQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICBy ZXR1cm4gTm90SW1wbGVtZW50ZWQKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVu di9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3Bp cGVudi9waXBlbnYvdmVuZG9yL3JlcXVlc3RzL3V0aWxzLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9w eXRob24vcGlwZW52L3BpcGVudi92ZW5kb3IvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0wOS0wMSAx MzoyNzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYv cGlwZW52L3ZlbmRvci9yZXF1ZXN0cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMyOjEzLjc3Njc0 MDg2MCAtMDQwMAotQEAgLTI2Miw3ICsyNjIsNyBAQAotICAgICBpZiBpc2luc3RhbmNlKHZhbHVl LCAoc3RyLCBieXRlcywgYm9vbCwgaW50KSk6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdj YW5ub3QgZW5jb2RlIG9iamVjdHMgdGhhdCBhcmUgbm90IDItdHVwbGVzJykKLSAKLS0gICAgaWYg aXNpbnN0YW5jZSh2YWx1ZSwgY29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgIGlmIGlzaW5zdGFu Y2UodmFsdWUsIGNvbGxlY3Rpb25zLmFiYy5NYXBwaW5nKToKLSAgICAgICAgIHZhbHVlID0gdmFs dWUuaXRlbXMoKQotIAotICAgICByZXR1cm4gbGlzdCh2YWx1ZSkKLWRpZmYgLXVyIGEvdGhpcmRf cGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5 IGIvdGhpcmRfcGFydHkvcHl0aG9uL3BpcGVudi9waXBlbnYvdmVuZG9yL3VybGxpYjMvX2NvbGxl Y3Rpb25zLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcGlwZW52L3BpcGVudi92ZW5kb3Iv dXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0wOS0wMSAxMzoyNjo0Ni4wMDAwMDAwMDAgLTA0 MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9waXBlbnYvcGlwZW52L3ZlbmRvci91cmxsaWIz L19jb2xsZWN0aW9ucy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAg LTEsNSArMSw1IEBACi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0ZV9pbXBvcnQKLS1m cm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZwotK2Zyb20gY29s bGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZwotIHRyeToKLSAgICAg ZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFJMb2NrCi0gZXhjZXB0IEltcG9ydEVycm9yOiAgIyBQbGF0 Zm9ybS1zcGVjaWZpYzogTm8gdGhyZWFkcyBhdmFpbGFibGUKLWRpZmYgLXVyIGEvdGhpcmRfcGFy dHkvcHl0aG9uL3B5eWFtbC9saWIzL3lhbWwvY29uc3RydWN0b3IucHkgYi90aGlyZF9wYXJ0eS9w eXRob24vcHl5YW1sL2xpYjMveWFtbC9jb25zdHJ1Y3Rvci5weQotLS0tIGEvdGhpcmRfcGFydHkv cHl0aG9uL3B5eWFtbC9saWIzL3lhbWwvY29uc3RydWN0b3IucHkJMjAyMS0wOS0wMSAxMzoyNzow MC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9weXlhbWwvbGliMy95 YW1sL2NvbnN0cnVjdG9yLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAwCi1A QCAtMTIzLDcgKzEyMyw3IEBACi0gICAgICAgICBtYXBwaW5nID0ge30KLSAgICAgICAgIGZvciBr ZXlfbm9kZSwgdmFsdWVfbm9kZSBpbiBub2RlLnZhbHVlOgotICAgICAgICAgICAgIGtleSA9IHNl bGYuY29uc3RydWN0X29iamVjdChrZXlfbm9kZSwgZGVlcD1kZWVwKQotLSAgICAgICAgICAgIGlm IG5vdCBpc2luc3RhbmNlKGtleSwgY29sbGVjdGlvbnMuSGFzaGFibGUpOgotKyAgICAgICAgICAg IGlmIG5vdCBpc2luc3RhbmNlKGtleSwgY29sbGVjdGlvbnMuYWJjLkhhc2hhYmxlKToKLSAgICAg ICAgICAgICAgICAgcmFpc2UgQ29uc3RydWN0b3JFcnJvcigid2hpbGUgY29uc3RydWN0aW5nIGEg bWFwcGluZyIsIG5vZGUuc3RhcnRfbWFyaywKLSAgICAgICAgICAgICAgICAgICAgICAgICAiZm91 bmQgdW5oYXNoYWJsZSBrZXkiLCBrZXlfbm9kZS5zdGFydF9tYXJrKQotICAgICAgICAgICAgIHZh bHVlID0gc2VsZi5jb25zdHJ1Y3Rfb2JqZWN0KHZhbHVlX25vZGUsIGRlZXA9ZGVlcCkKLWRpZmYg LXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL2Nvb2tpZXMucHkgYi90 aGlyZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvY29va2llcy5weQotLS0tIGEvdGhp cmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL2Nvb2tpZXMucHkJMjAyMS0wOS0wMSAx MzoyNzowNS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0 cy9yZXF1ZXN0cy9jb29raWVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAwMDAwIC0wNDAw Ci1AQCAtMTYxLDcgKzE2MSw3IEBACi0gICAgIFVzZSAuZ2V0IGFuZCAuc2V0IGFuZCBpbmNsdWRl IGRvbWFpbiBhbmQgcGF0aCBhcmdzIGluIG9yZGVyIHRvIGJlIG1vcmUgc3BlY2lmaWMuIiIiCi0g Ci0gCi0tY2xhc3MgUmVxdWVzdHNDb29raWVKYXIoY29va2llbGliLkNvb2tpZUphciwgY29sbGVj dGlvbnMuTXV0YWJsZU1hcHBpbmcpOgotK2NsYXNzIFJlcXVlc3RzQ29va2llSmFyKGNvb2tpZWxp Yi5Db29raWVKYXIsIGNvbGxlY3Rpb25zLmFiYy5NdXRhYmxlTWFwcGluZyk6Ci0gICAgICIiIkNv bXBhdGliaWxpdHkgY2xhc3M7IGlzIGEgY29va2llbGliLkNvb2tpZUphciwgYnV0IGV4cG9zZXMg YSBkaWN0Ci0gICAgIGludGVyZmFjZS4KLSAKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9u L3JlcXVlc3RzL3JlcXVlc3RzL3BhY2thZ2VzL3VybGxpYjMvX2NvbGxlY3Rpb25zLnB5IGIvdGhp cmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3BhY2thZ2VzL3VybGxpYjMvX2NvbGxl Y3Rpb25zLnB5Ci0tLS0gYS90aGlyZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvcGFj a2FnZXMvdXJsbGliMy9fY29sbGVjdGlvbnMucHkJMjAyMS0wOS0wMSAxMzoyNzoxMy4wMDAwMDAw MDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9yZXF1ZXN0cy9wYWNr YWdlcy91cmxsaWIzL19jb2xsZWN0aW9ucy5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAw MCAtMDQwMAotQEAgLTEsNSArMSw1IEBACi0gZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBhYnNvbHV0 ZV9pbXBvcnQKLS1mcm9tIGNvbGxlY3Rpb25zIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGlu ZwotK2Zyb20gY29sbGVjdGlvbnMuYWJjIGltcG9ydCBNYXBwaW5nLCBNdXRhYmxlTWFwcGluZwot IHRyeToKLSAgICAgZnJvbSB0aHJlYWRpbmcgaW1wb3J0IFJMb2NrCi0gZXhjZXB0IEltcG9ydEVy cm9yOiAgIyBQbGF0Zm9ybS1zcGVjaWZpYzogTm8gdGhyZWFkcyBhdmFpbGFibGUKLWRpZmYgLXVy IGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkgYi90 aGlyZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvc3RydWN0dXJlcy5weQotLS0tIGEv dGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3N0cnVjdHVyZXMucHkJMjAyMS0w OS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9y ZXF1ZXN0cy9yZXF1ZXN0cy9zdHJ1Y3R1cmVzLnB5CTIwMjEtMTEtMDUgMTU6Mjk6MTIuMDAwMDAw MDAwIC0wNDAwCi1AQCAtMTEsNyArMTEsNyBAQAotIGltcG9ydCBjb2xsZWN0aW9ucwotIAotIAot LWNsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuTXV0YWJsZU1hcHBpbmcpOgot K2NsYXNzIENhc2VJbnNlbnNpdGl2ZURpY3QoY29sbGVjdGlvbnMuYWJjLk11dGFibGVNYXBwaW5n KToKLSAgICAgIiIiCi0gICAgIEEgY2FzZS1pbnNlbnNpdGl2ZSBgYGRpY3RgYC1saWtlIG9iamVj dC4KLSAKLUBAIC03MSw3ICs3MSw3IEBACi0gICAgICAgICApCi0gCi0gICAgIGRlZiBfX2VxX18o c2VsZiwgb3RoZXIpOgotLSAgICAgICAgaWYgaXNpbnN0YW5jZShvdGhlciwgY29sbGVjdGlvbnMu TWFwcGluZyk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKG90aGVyLCBjb2xsZWN0aW9ucy5hYmMu TWFwcGluZyk6Ci0gICAgICAgICAgICAgb3RoZXIgPSBDYXNlSW5zZW5zaXRpdmVEaWN0KG90aGVy KQotICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICByZXR1cm4gTm90SW1wbGVtZW50ZWQKLWRp ZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3V0aWxzLnB5IGIv dGhpcmRfcGFydHkvcHl0aG9uL3JlcXVlc3RzL3JlcXVlc3RzL3V0aWxzLnB5Ci0tLS0gYS90aGly ZF9wYXJ0eS9weXRob24vcmVxdWVzdHMvcmVxdWVzdHMvdXRpbHMucHkJMjAyMS0wOS0wMSAxMzoy NzowOS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi9yZXF1ZXN0cy9y ZXF1ZXN0cy91dGlscy5weQkyMDIxLTExLTA1IDE1OjMwOjU1LjQyMDc1OTA0NSAtMDQwMAotQEAg LTE4OSw3ICsxODksNyBAQAotICAgICBpZiBpc2luc3RhbmNlKHZhbHVlLCAoc3RyLCBieXRlcywg Ym9vbCwgaW50KSk6Ci0gICAgICAgICByYWlzZSBWYWx1ZUVycm9yKCdjYW5ub3QgZW5jb2RlIG9i amVjdHMgdGhhdCBhcmUgbm90IDItdHVwbGVzJykKLSAKLS0gICAgaWYgaXNpbnN0YW5jZSh2YWx1 ZSwgY29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgIGlmIGlzaW5zdGFuY2UodmFsdWUsIGNvbGxl Y3Rpb25zLmFiYy5NYXBwaW5nKToKLSAgICAgICAgIHZhbHVlID0gdmFsdWUuaXRlbXMoKQotIAot ICAgICByZXR1cm4gbGlzdCh2YWx1ZSkKLWRpZmYgLXVyIGEvdGhpcmRfcGFydHkvcHl0aG9uL3Zp cnR1YWxlbnYvX192aXJ0dWFsZW52X18vZGlzdGxpYi0wLjMuMS1weTIucHkzLW5vbmUtYW55L2Rp c3RsaWIvY29tcGF0LnB5IGIvdGhpcmRfcGFydHkvcHl0aG9uL3ZpcnR1YWxlbnYvX192aXJ0dWFs ZW52X18vZGlzdGxpYi0wLjMuMS1weTIucHkzLW5vbmUtYW55L2Rpc3RsaWIvY29tcGF0LnB5Ci0t LS0gYS90aGlyZF9wYXJ0eS9weXRob24vdmlydHVhbGVudi9fX3ZpcnR1YWxlbnZfXy9kaXN0bGli LTAuMy4xLXB5Mi5weTMtbm9uZS1hbnkvZGlzdGxpYi9jb21wYXQucHkJMjAyMS0wOS0wMSAxMzoy NzowMC4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJkX3BhcnR5L3B5dGhvbi92aXJ0dWFsZW52 L19fdmlydHVhbGVudl9fL2Rpc3RsaWItMC4zLjEtcHkyLnB5My1ub25lLWFueS9kaXN0bGliL2Nv bXBhdC5weQkyMDIxLTExLTA1IDE1OjI5OjEyLjAwMDAwMDAwMCAtMDQwMAotQEAgLTQ4MSw3ICs0 ODEsNyBAQAotIHRyeToKLSAgICAgZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgQ2hhaW5NYXAKLSBl eGNlcHQgSW1wb3J0RXJyb3I6ICMgcHJhZ21hOiBubyBjb3ZlcgotLSAgICBmcm9tIGNvbGxlY3Rp b25zIGltcG9ydCBNdXRhYmxlTWFwcGluZwotKyAgICBmcm9tIGNvbGxlY3Rpb25zLmFiYyBpbXBv cnQgTXV0YWJsZU1hcHBpbmcKLSAKLSAgICAgdHJ5OgotICAgICAgICAgZnJvbSByZXBybGliIGlt cG9ydCByZWN1cnNpdmVfcmVwciBhcyBfcmVjdXJzaXZlX3JlcHIKLWRpZmYgLXVyIGEvdGhpcmRf cGFydHkvcHl0aG9uL3ZvbHVwdHVvdXMvdm9sdXB0dW91cy9zY2hlbWFfYnVpbGRlci5weSBiL3Ro aXJkX3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1aWxkZXIucHkK LS0tLSBhL3RoaXJkX3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1 aWxkZXIucHkJMjAyMS0wOS0wMSAxMzoyNzowOS4wMDAwMDAwMDAgLTA0MDAKLSsrKyBiL3RoaXJk X3BhcnR5L3B5dGhvbi92b2x1cHR1b3VzL3ZvbHVwdHVvdXMvc2NoZW1hX2J1aWxkZXIucHkJMjAy MS0xMS0wNSAxNTozMDozMi4zOTk3NjQzNzQgLTA0MDAKLUBAIC0yODAsNyArMjgwLDcgQEAKLSAg ICAgICAgICAgICByZXR1cm4gc2NoZW1hLl9fdm9sdXB0dW91c19jb21waWxlX18oc2VsZikKLSAg ICAgICAgIGlmIGlzaW5zdGFuY2Uoc2NoZW1hLCBPYmplY3QpOgotICAgICAgICAgICAgIHJldHVy biBzZWxmLl9jb21waWxlX29iamVjdChzY2hlbWEpCi0tICAgICAgICBpZiBpc2luc3RhbmNlKHNj aGVtYSwgY29sbGVjdGlvbnMuTWFwcGluZyk6Ci0rICAgICAgICBpZiBpc2luc3RhbmNlKHNjaGVt YSwgY29sbGVjdGlvbnMuYWJjLk1hcHBpbmcpOgotICAgICAgICAgICAgIHJldHVybiBzZWxmLl9j b21waWxlX2RpY3Qoc2NoZW1hKQotICAgICAgICAgZWxpZiBpc2luc3RhbmNlKHNjaGVtYSwgbGlz dCk6Ci0gICAgICAgICAgICAgcmV0dXJuIHNlbGYuX2NvbXBpbGVfbGlzdChzY2hlbWEpCmRpZmYg LS1naXQgYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXdhc20tYXJtLnBhdGNoIGIv c3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVzL2ZpeC13YXNtLWFybS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggYTYwMzVlODc2MTYzLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9maXJlZm94LWVzci9wYXRjaGVzL2ZpeC13YXNtLWFybS5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDE1ICswLDAgQEAKLS0tLSBhL2pzL3NyYy93YXNtL1dhc21TaWduYWxIYW5kbGVycy5j cHAKLSsrKyBiL2pzL3NyYy93YXNtL1dhc21TaWduYWxIYW5kbGVycy5jcHAKLUBAIC0yNDMsOSAr MjQzLDkgQEAKLSAvLyBJZiB5b3UgcnVuIGludG8gY29tcGlsZSBwcm9ibGVtcyBvbiBhIHRpZXIt MyBwbGF0Zm9ybSwgeW91IGNhbiBkaXNhYmxlIHRoZQotIC8vIGVtdWxhdGlvbiBoZXJlLgotIAot LSNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX2FybV9fKQotLSMgIGRlZmluZSBX QVNNX0VNVUxBVEVfQVJNX1VOQUxJR05FRF9GUF9BQ0NFU1MKLS0jZW5kaWYKLSsvLyAjaWYgZGVm aW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hcm1fXykKLSsvLyAjICBkZWZpbmUgV0FTTV9F TVVMQVRFX0FSTV9VTkFMSUdORURfRlBfQUNDRVNTCi0rLy8gI2VuZGlmCi0gCi0gI2lmZGVmIFdB U01fRU1VTEFURV9BUk1fVU5BTElHTkVEX0ZQX0FDQ0VTUwotICMgIGluY2x1ZGUgPHN5cy91c2Vy Lmg+CmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXdlYnJ0Yy1n bGliY2lzbXMucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXdlYnJ0Yy1n bGliY2lzbXMucGF0Y2gKaW5kZXggNzA5MTBkYTU4NjFlLi41ZDE3MDIxYTk5ZjQgMTAwNjQ0Ci0t LSBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9maXgtd2VicnRjLWdsaWJjaXNtcy5wYXRj aAorKysgYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvZml4LXdlYnJ0Yy1nbGliY2lzbXMu cGF0Y2gKQEAgLTEsNSArMSw1IEBACi0tLS0gYS9tZWRpYS93ZWJydGMvdHJ1bmsvd2VicnRjL3N5 c3RlbV93cmFwcGVycy9zb3VyY2UvY3B1X2ZlYXR1cmVzX2xpbnV4LmMJMjAxOS0wMS0yOSAxMToy MDo1Mi4yOTg3OTMyMjMgKzAxMDAKLSsrKyBiL21lZGlhL3dlYnJ0Yy90cnVuay93ZWJydGMvc3lz dGVtX3dyYXBwZXJzL3NvdXJjZS9jcHVfZmVhdHVyZXNfbGludXguYwkyMDE5LTAxLTI5IDExOjIx OjQ4LjI1MDI1MDg1MCArMDEwMAorLS0tIGEvdGhpcmRfcGFydHkvbGlid2VicnRjL3dlYnJ0Yy9z eXN0ZW1fd3JhcHBlcnMvc291cmNlL2NwdV9mZWF0dXJlc19saW51eC5jCTIwMTktMDEtMjkgMTE6 MjA6NTIuMjk4NzkzMjIzICswMTAwCisrKysgYi90aGlyZF9wYXJ0eS9saWJ3ZWJydGMvd2VicnRj L3N5c3RlbV93cmFwcGVycy9zb3VyY2UvY3B1X2ZlYXR1cmVzX2xpbnV4LmMJMjAxOS0wMS0yOSAx MToyMTo0OC4yNTAyNTA4NTAgKzAxMDAKIEBAIC0xNCw3ICsxNCw3IEBACiAgI2lmbmRlZiBfX0dM SUJDX1BSRVJFUQogICNkZWZpbmUgX19HTElCQ19QUkVSRVEoYSwgYikgMApkaWZmIC0tZ2l0IGEv c3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVzL2ZsYWMtbm8tZmZ2cHgucGF0Y2ggYi9zcmNwa2dz L2ZpcmVmb3gtZXNyL3BhdGNoZXMvZmxhYy1uby1mZnZweC5wYXRjaAppbmRleCAxNTRhYWQ2M2Uz M2EuLmViZjQ4ZGViOTcyMCAxMDA2NDQKLS0tIGEvc3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVz L2ZsYWMtbm8tZmZ2cHgucGF0Y2gKKysrIGIvc3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVzL2Zs YWMtbm8tZmZ2cHgucGF0Y2gKQEAgLTEyLDE1ICsxMiwxNCBAQCBpbmRleCA1M2ZjM2M5OTM3Zjcu LmIyMzc3MWFiODBmYSAxMDA2NDQKICAKICBuYW1lc3BhY2UgbW96aWxsYSB7CiAgCi1AQCAtMTQs NiArMTUsMTEgQEAgbmFtZXNwYWNlIG1vemlsbGEgeworQEAgLTE0LDYgKzE1LDEwIEBAIG5hbWVz cGFjZSBtb3ppbGxhIHsKICBib29sIEZsYWNEZWNvZGVyOjpJc0VuYWJsZWQoKSB7CiAgI2lmZGVm IE1PWl9GRlZQWAogICAgcmV0dXJuIFN0YXRpY1ByZWZzOjptZWRpYV9mbGFjX2VuYWJsZWQoKTsK ICsjZWxpZiBkZWZpbmVkKE1PWl9GRk1QRUcpCiArICBSZWZQdHI8UERNRmFjdG9yeT4gcGxhdGZv cm0gPSBuZXcgUERNRmFjdG9yeSgpOwogKyAgcmV0dXJuIFN0YXRpY1ByZWZzOjptZWRpYV9mbGFj X2VuYWJsZWQoKSAmJgotKyAgICAgICAgIHBsYXRmb3JtLT5TdXBwb3J0c01pbWVUeXBlKCJhdWRp by9mbGFjIl9ucywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZWNv ZGVyRG9jdG9yRGlhZ25vc3RpY3MqICovIG51bGxwdHIpOworKyAgICAgICAgIHBsYXRmb3JtLT5T dXBwb3J0c01pbWVUeXBlKCJhdWRpby9mbGFjIl9ucyk7CiAgI2Vsc2UKICAgIC8vIFVudGlsIGJ1 ZyAxMjk1ODg2IGlzIGZpeGVkLgogICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9maXJlZm94LWVzci9wYXRjaGVzL211c2wtcnVzdC5jb25maWd1cmUucGF0Y2ggYi9zcmNwa2dz L2ZpcmVmb3gtZXNyL3BhdGNoZXMvbXVzbC1ydXN0LmNvbmZpZ3VyZS5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMGIyZjdkZWUxZDNjLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9maXJlZm94LWVzci9wYXRjaGVzL211c2wtcnVzdC5jb25maWd1cmUucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwyNiArMCwwIEBACi0tLS0gYS9idWlsZC9tb3ouY29uZmlndXJlL3J1c3Qu Y29uZmlndXJlCTIwMTktMTAtMjggMTI6MDU6MDQuOTMwNDA0NjAzICswNzAwCi0rKysgYi9idWls ZC9tb3ouY29uZmlndXJlL3J1c3QuY29uZmlndXJlCTIwMTktMTAtMjggMTI6MDk6NDIuNzQyMzM4 OTU3ICswNzAwCi1AQCAtMjk3LDExICsyOTcsMjAgQEAKLSAgICAgICAgICAgICAgICAgICAgIHN1 ZmZpeCA9ICdoZicKLSAgICAgICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAgICAgICAgICAg IHN1ZmZpeCA9ICcnCi0rCi0rICAgICAgICAgICAgICAgIG5hcnJvd2VkID0gW10KLSAgICAgICAg ICAgICAgICAgZm9yIHAgaW4gcHJlZml4ZXM6Ci0gICAgICAgICAgICAgICAgICAgICBmb3IgYyBp biBjYW5kaWRhdGVzOgotLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIGMucnVzdF90YXJnZXQu c3RhcnRzd2l0aCgne30tJy5mb3JtYXQocCkpIGFuZCBcCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjLnJ1c3RfdGFyZ2V0LmVuZHN3aXRoKHN1ZmZpeCk6Ci0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBjLnJ1c3RfdGFyZ2V0Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgaWYgYy5ydXN0X3RhcmdldC5zdGFydHN3aXRoKCd7fS0nLmZvcm1hdChwKSk6Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5hcnJvd2VkLmFwcGVuZChjLnJ1c3RfdGFyZ2V0KQot KwotKyAgICAgICAgICAgICAgICBmb3IgdGFyZ2V0IGluIG5hcnJvd2VkOgotKyAgICAgICAgICAg ICAgICAgICAgaWYgdGFyZ2V0LmVuZHN3aXRoKGhvc3Rfb3JfdGFyZ2V0LnJhd19vcyk6Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldAotKwotKyAgICAgICAgICAgICAgICBm b3IgdGFyZ2V0IGluIG5hcnJvd2VkOgotKyAgICAgICAgICAgICAgICAgICAgaWYgdGFyZ2V0LmVu ZHN3aXRoKHN1ZmZpeCk6Ci0rICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldAot IAotICAgICAgICAgICAgICMgU2VlIGlmIHdlIGNhbiBuYXJyb3cgZG93biBvbiB0aGUgZXhhY3Qg YWxpYXMKLSAgICAgICAgICAgICBuYXJyb3dlZCA9IFtjIGZvciBjIGluIGNhbmRpZGF0ZXMgaWYg Yy50YXJnZXQuYWxpYXMgPT0gaG9zdF9vcl90YXJnZXQuYWxpYXNdCmRpZmYgLS1naXQgYS9zcmNw a2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvcnVzdC1jb25maWd1cmUucGF0Y2ggYi9zcmNwa2dzL2Zp cmVmb3gtZXNyL3BhdGNoZXMvcnVzdC1jb25maWd1cmUucGF0Y2gKaW5kZXggMDdiOThkNmM3Y2Fl Li42MWZiMmJhODkxZDkgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9y dXN0LWNvbmZpZ3VyZS5wYXRjaAorKysgYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvcnVz dC1jb25maWd1cmUucGF0Y2gKQEAgLTEsNDIgKzEsMTEyIEBACiBNb3ppbGxhIHJ1c3RjIGNoZWNr IGRvZXMgbm90IHN1cHBvcnQgY3Jvc3NidWlsZDogbGV0J3MgcmVtb3ZlIGl0CiBSZW1vdmUgY2Fs bHMgdG8gdW53cmFwX3J1c3R1cCwgdGhleSBmYWlsIGlmIHJ1c3R1cCBpc24ndCBwcmVzZW50CiAK LS0tLSBhL2J1aWxkL21vei5jb25maWd1cmUvcnVzdC5jb25maWd1cmUJMjAxOS0xMC0xNyAwNDox OTo1OS4wMDAwMDAwMDAgKzA3MDAKLSsrKyBiL2J1aWxkL21vei5jb25maWd1cmUvcnVzdC5jb25m aWd1cmUJMjAxOS0xMC0yMiAxMTo0ODo1NS42MTYwMjIxNDAgKzA3MDAKLUBAIC03OCw5ICs3OCw2 IEBACi0gCitEbyBub3QgdHJ5IHRvIGZpZ3VyZSBvdXQgdGhlIHJ1c3QgdGFyZ2V0IGFzIGl0IGlz IGJyb2tlbiBvbiBtdXNsCitpbnN0ZWFkIHVzZSB3aGF0IGlzIHNldCBpbiBSVVNUX1RBUkdFVAor CitTa2lwIGV4dHJhIGNoZWNrcyBvbiBjcm9zcyBidWlsZHMgKGJyb2tlbiBmb3IgYXJtKikKKwor LS0tIGEvYnVpbGQvbW96LmNvbmZpZ3VyZS9ydXN0LmNvbmZpZ3VyZQkyMDIwLTEyLTEyIDAxOjM1 OjMzLjAwMDAwMDAwMCArMDEwMAorKysrIGIvYnVpbGQvbW96LmNvbmZpZ3VyZS9ydXN0LmNvbmZp Z3VyZQkyMDIwLTEyLTE1IDE5OjQ1OjE2LjQ2Nzc1MDc4NyArMDEwMAorQEAgLTkxLDkgKzkxLDYg QEAKICAgICAgcmV0dXJuIHVud3JhcAogIAotLXJ1c3RjID0gdW53cmFwX3J1c3R1cChydXN0Yywg J3J1c3RjJykKLS1jYXJnbyA9IHVud3JhcF9ydXN0dXAoY2FyZ28sICdjYXJnbycpCisgCistcnVz dGMgPSB1bndyYXBfcnVzdHVwKHJ1c3RjLCAicnVzdGMiKQorLWNhcmdvID0gdW53cmFwX3J1c3R1 cChjYXJnbywgImNhcmdvIikKIC0KICAKLSBzZXRfY29uZmlnKCdDQVJHTycsIGNhcmdvKQotIHNl dF9jb25maWcoJ1JVU1RDJywgcnVzdGMpCi1AQCAtMzQ4LDI2ICszNDUsNiBAQAorIHNldF9jb25m aWcoIkNBUkdPIiwgY2FyZ28pCisgc2V0X2NvbmZpZygiUlVTVEMiLCBydXN0YykKK0BAIC0yNjAs NyArMjU3LDkgQEAKKyAgICAgICAgIGRhdGEuc2V0ZGVmYXVsdChrZXksIFtdKS5hcHBlbmQobmFt ZXNwYWNlKHJ1c3RfdGFyZ2V0PXQsIHRhcmdldD1pbmZvKSkKKyAgICAgcmV0dXJuIGRhdGEKKyAK Ky0KKytAaW1wb3J0cygnb3MnKQorK0BpbXBvcnRzKF9mcm9tPSdtb3pidWlsZC51dGlsJywgX2lt cG9ydD0nZW5zdXJlX3VuaWNvZGUnKQorK0BpbXBvcnRzKF9mcm9tPSdtb3pidWlsZC51dGlsJywg X2ltcG9ydD0nc3lzdGVtX2VuY29kaW5nJykKKyBkZWYgZGV0ZWN0X3J1c3RjX3RhcmdldCgKKyAg ICAgaG9zdF9vcl90YXJnZXQsIGNvbXBpbGVyX2luZm8sIGFybV90YXJnZXQsIHJ1c3Rfc3VwcG9y dGVkX3RhcmdldHMKKyApOgorQEAgLTM4MiwxMiArMzgxLDEyIEBACisgCisgICAgICAgICByZXR1 cm4gTm9uZQorIAorLSAgICBydXN0Y190YXJnZXQgPSBmaW5kX2NhbmRpZGF0ZShjYW5kaWRhdGVz KQorKyAgICBydXN0Y190YXJnZXQgPSBvcy5lbnZpcm9uWydSVVNUX1RBUkdFVCddCiAgCi0gICAg ICAgICAgICAgb3Mud3JpdGUoaW5fZmQsIHNvdXJjZSkKLSAgICAgICAgICAgICBvcy5jbG9zZShp bl9mZCkKKyAgICAgaWYgcnVzdGNfdGFyZ2V0IGlzIE5vbmU6CisgICAgICAgICBkaWUoIkRvbid0 IGtub3cgaG93IHRvIHRyYW5zbGF0ZSB7fSBmb3IgcnVzdGMiLmZvcm1hdChob3N0X29yX3Rhcmdl dC5hbGlhcykpCisgCistICAgIHJldHVybiBydXN0Y190YXJnZXQKKysgICAgcmV0dXJuIGVuc3Vy ZV91bmljb2RlKHJ1c3RjX3RhcmdldCwgc3lzdGVtX2VuY29kaW5nKQorIAorIAorIEBpbXBvcnRz KCJvcyIpCitAQCAtNDEwLDM1ICs0MDksNiBAQAorIAorICAgICAgICAgb3Mud3JpdGUoaW5fZmQs IGVuc3VyZV9iaW5hcnkoc291cmNlKSkKKyAgICAgICAgIG9zLmNsb3NlKGluX2ZkKQogLQotLSAg ICAgICAgICAgIGNtZCA9IFsKLS0gICAgICAgICAgICAgICAgcnVzdGMsCi0tICAgICAgICAgICAg ICAgICctLWNyYXRlLXR5cGUnLCAnc3RhdGljbGliJywKLS0gICAgICAgICAgICAgICAgdGFyZ2V0 X2FyZywKLS0gICAgICAgICAgICAgICAgJy1vJywgb3V0X3BhdGgsCi0tICAgICAgICAgICAgICAg IGluX3BhdGgsCi0tICAgICAgICAgICAgXQorLSAgICAgICAgY21kID0gWworLSAgICAgICAgICAg IHJ1c3RjLAorLSAgICAgICAgICAgICItLWNyYXRlLXR5cGUiLAorLSAgICAgICAgICAgICJzdGF0 aWNsaWIiLAorLSAgICAgICAgICAgIHRhcmdldF9hcmcsCistICAgICAgICAgICAgIi1vIiwKKy0g ICAgICAgICAgICBvdXRfcGF0aCwKKy0gICAgICAgICAgICBpbl9wYXRoLAorLSAgICAgICAgXQog LQotLSAgICAgICAgICAgIGRlZiBmYWlsZWQoKToKLS0gICAgICAgICAgICAgICAgZGllKGRlZGVu dCgnJydcCi0tICAgICAgICAgICAgICAgIENhbm5vdCBjb21waWxlIGZvciB7fSB3aXRoIHt9Ci0t ICAgICAgICAgICAgICAgIFRoZSB0YXJnZXQgbWF5IGJlIHVuc3VwcG9ydGVkLCBvciB5b3UgbWF5 IG5vdCBoYXZlCi0tICAgICAgICAgICAgICAgIGEgcnVzdCBzdGQgbGlicmFyeSBmb3IgdGhhdCB0 YXJnZXQgaW5zdGFsbGVkLiBUcnk6CistICAgICAgICBkZWYgZmFpbGVkKCk6CistICAgICAgICAg ICAgZGllKAorLSAgICAgICAgICAgICAgICBkZWRlbnQoCistICAgICAgICAgICAgICAgICAgICAi IiJcCistICAgICAgICAgICAgQ2Fubm90IGNvbXBpbGUgZm9yIHt9IHdpdGgge30KKy0gICAgICAg ICAgICBUaGUgdGFyZ2V0IG1heSBiZSB1bnN1cHBvcnRlZCwgb3IgeW91IG1heSBub3QgaGF2ZQor LSAgICAgICAgICAgIGEgcnVzdCBzdGQgbGlicmFyeSBmb3IgdGhhdCB0YXJnZXQgaW5zdGFsbGVk LiBUcnk6CiAtCi0tICAgICAgICAgICAgICAgICAgcnVzdHVwIHRhcmdldCBhZGQge30KLS0gICAg ICAgICAgICAgICAgJycnLmZvcm1hdChob3N0X29yX3RhcmdldC5hbGlhcywgcnVzdGMsIHJ1c3Rj X3RhcmdldCkpKQotLSAgICAgICAgICAgIGNoZWNrX2NtZF9vdXRwdXQoKmNtZCwgb25lcnJvcj1m YWlsZWQpCi0tICAgICAgICAgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKG91dF9wYXRoKSBvciBv cy5wYXRoLmdldHNpemUob3V0X3BhdGgpID09IDA6Ci0tICAgICAgICAgICAgICAgIGZhaWxlZCgp Ci0gICAgICAgICBmaW5hbGx5OgotICAgICAgICAgICAgIG9zLnJlbW92ZShpbl9wYXRoKQotICAg ICAgICAgICAgIG9zLnJlbW92ZShvdXRfcGF0aCkKKy0gICAgICAgICAgICAgIHJ1c3R1cCB0YXJn ZXQgYWRkIHt9CistICAgICAgICAgICAgIiIiLmZvcm1hdCgKKy0gICAgICAgICAgICAgICAgICAg ICAgICBob3N0X29yX3RhcmdldC5hbGlhcywgcnVzdGMsIHJ1c3RjX3RhcmdldAorLSAgICAgICAg ICAgICAgICAgICAgKQorLSAgICAgICAgICAgICAgICApCistICAgICAgICAgICAgKQorLQorLSAg ICAgICAgY2hlY2tfY21kX291dHB1dCgqY21kLCBvbmVycm9yPWZhaWxlZCkKKy0gICAgICAgIGlm IG5vdCBvcy5wYXRoLmV4aXN0cyhvdXRfcGF0aCkgb3Igb3MucGF0aC5nZXRzaXplKG91dF9wYXRo KSA9PSAwOgorLSAgICAgICAgICAgIGZhaWxlZCgpCisgICAgIGZpbmFsbHk6CisgICAgICAgICBv cy5yZW1vdmUoaW5fcGF0aCkKKyAgICAgICAgIG9zLnJlbW92ZShvdXRfcGF0aCkKK0BAIC00NjIs MjggKzQzMiw3IEBACisgICAgICAgICBob3N0LCBjb21waWxlcl9pbmZvLCBhcm1fdGFyZ2V0LCBy dXN0X3N1cHBvcnRlZF90YXJnZXRzCisgICAgICkKKyAgICAgaWYgcnVzdGNfdGFyZ2V0ICE9IHJ1 c3RjX2hvc3Q6CistICAgICAgICBpZiBob3N0LmFsaWFzID09IHJ1c3RjX3RhcmdldDoKKy0gICAg ICAgICAgICBjb25maWd1cmVfaG9zdCA9IGhvc3QuYWxpYXMKKy0gICAgICAgIGVsc2U6CistICAg ICAgICAgICAgY29uZmlndXJlX2hvc3QgPSAie30ve30iLmZvcm1hdChob3N0LmFsaWFzLCBydXN0 Y190YXJnZXQpCistICAgICAgICBkaWUoCistICAgICAgICAgICAgZGVkZW50KAorLSAgICAgICAg ICAgICAgICAiIiJcCistICAgICAgICBUaGUgcnVzdCBjb21waWxlciBob3N0ICh7cnVzdGN9KSBp cyBub3Qgc3VpdGFibGUgZm9yIHRoZSBjb25maWd1cmUgaG9zdCAoe2NvbmZpZ3VyZX0pLgorLQor LSAgICAgICAgWW91IGNhbiBzb2x2ZSB0aGlzIGJ5OgorLSAgICAgICAgKiBTZXQgeW91ciBjb25m aWd1cmUgaG9zdCB0byBtYXRjaCB0aGUgcnVzdCBjb21waWxlciBob3N0IGJ5IGVkaXRpbmcgeW91 cgorLSAgICAgICAgbW96Y29uZmlnIGFuZCBhZGRpbmcgImFjX2FkZF9vcHRpb25zIC0taG9zdD17 cnVzdGN9Ii4KKy0gICAgICAgICogT3IsIGluc3RhbGwgdGhlIHJ1c3QgdG9vbGNoYWluIGZvciB7 Y29uZmlndXJlfSwgaWYgc3VwcG9ydGVkLCBieSBydW5uaW5nCistICAgICAgICAicnVzdHVwIGRl ZmF1bHQgc3RhYmxlLXtydXN0Y190YXJnZXR9IgorLSAgICAgICAgIiIiLmZvcm1hdCgKKy0gICAg ICAgICAgICAgICAgICAgIHJ1c3RjPXJ1c3RjX2hvc3QsCistICAgICAgICAgICAgICAgICAgICBj b25maWd1cmU9Y29uZmlndXJlX2hvc3QsCistICAgICAgICAgICAgICAgICAgICBydXN0Y190YXJn ZXQ9cnVzdGNfdGFyZ2V0LAorLSAgICAgICAgICAgICAgICApCistICAgICAgICAgICAgKQorLSAg ICAgICAgKQorLSAgICBhc3NlcnRfcnVzdF9jb21waWxlKGhvc3QsIHJ1c3RjX3RhcmdldCwgcnVz dGMpCisrICAgICAgICByZXR1cm4gcnVzdGNfaG9zdAorICAgICByZXR1cm4gcnVzdGNfdGFyZ2V0 CisgCisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvcnVzdC1oYXMt aTEyOC5wYXRjaCBiL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9ydXN0LWhhcy1pMTI4LnBh dGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjMjVhMTg1YzFjMTEuLjAwMDAwMDAw MDAwMAotLS0gYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvcnVzdC1oYXMtaTEyOC5wYXRj aAorKysgL2Rldi9udWxsCkBAIC0xLDIxICswLDAgQEAKLVRoZSBjb25maWd1cmUgY2hlY2sgZmFp bHMgZm9yIGNyb3NzIGJ1aWxkcy4KLWkxMjggaXMgc3VwcG9ydGVkIHNpbmNlIHJ1c3QtMS4yNiwg c28gaXQgaXMgc2FmZSBmb3IgdXMgdG8gYXNzdW1lIGl0IGlzIGFsd2F5cyBwcmVzZW50Ci0KLS0t LSBhL3RoaXJkX3BhcnR5L3J1c3QvbnVtLXRyYWl0cy9idWlsZC5ycwkyMDIwLTAyLTE0IDIzOjU3 OjI1Ljk4NTM1NTYxMCArMDEwMAotKysrIGIvdGhpcmRfcGFydHkvcnVzdC9udW0tdHJhaXRzL2J1 aWxkLnJzCTIwMjAtMDItMTQgMjM6NTg6MzYuMjU1NzEwMTg4ICswMTAwCi1AQCAtMSwxNCArMSw1 IEBACi0tZXh0ZXJuIGNyYXRlIGF1dG9jZmc7Ci0tCi0tdXNlIHN0ZDo6ZW52OwotLQotIGZuIG1h aW4oKSB7Ci0tICAgIGxldCBhYyA9IGF1dG9jZmc6Om5ldygpOwotLSAgICBpZiBhYy5wcm9iZV90 eXBlKCJpMTI4IikgewotLSAgICAgICAgcHJpbnRsbiEoImNhcmdvOnJ1c3RjLWNmZz1oYXNfaTEy OCIpOwotLSAgICB9IGVsc2UgaWYgZW52Ojp2YXJfb3MoIkNBUkdPX0ZFQVRVUkVfSTEyOCIpLmlz X3NvbWUoKSB7Ci0tICAgICAgICBwYW5pYyEoImkxMjggc3VwcG9ydCB3YXMgbm90IGRldGVjdGVk ISIpOwotLSAgICB9Ci0rICAgIHByaW50bG4hKCJjYXJnbzpydXN0Yy1jZmc9aGFzX2kxMjgiKTsK LSAKLSAgICAgYXV0b2NmZzo6cmVydW5fcGF0aCgiYnVpbGQucnMiKTsKLSB9CmRpZmYgLS1naXQg YS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvc2FuZGJveC1mb3JrLnBhdGNoIGIvc3JjcGtn cy9maXJlZm94LWVzci9wYXRjaGVzL3NhbmRib3gtZm9yay5wYXRjaAppbmRleCAzMjg5NDNjYjAw MTMuLmQ0NTg0ZTc0YjkxYyAxMDA2NDQKLS0tIGEvc3JjcGtncy9maXJlZm94LWVzci9wYXRjaGVz L3NhbmRib3gtZm9yay5wYXRjaAorKysgYi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvc2Fu ZGJveC1mb3JrLnBhdGNoCkBAIC0yLDEyICsyLDE0IEBAIG1ha2UgU1lTX2Zvcmsgbm9uLWZhdGFs LCBtdXNsIHVzZXMgaXQgZm9yIGZvcmsoMikKIAogLS0tIGEvc2VjdXJpdHkvc2FuZGJveC9saW51 eC9TYW5kYm94RmlsdGVyLmNwcAogKysrIGIvc2VjdXJpdHkvc2FuZGJveC9saW51eC9TYW5kYm94 RmlsdGVyLmNwcAotQEAgLTEyNTMsNiArMTI1Myw4IEBACitAQCAtMTQyMCw2ICsxNDIwLDEwIEBA CiAgICAgICAgICAvLyB1c3VhbGx5IGRvIHNvbWV0aGluZyByZWFzb25hYmxlIG9uIGVycm9yLgog ICAgICAgIGNhc2UgX19OUl9jbG9uZToKICAgICAgICAgIHJldHVybiBDbG9uZVBvbGljeShFcnJv cihFUEVSTSkpOworKyMgIGlmZGVmIF9fTlJfZm9yawogKyAgICAgIGNhc2UgX19OUl9mb3JrOgog KyAgICAgICAgcmV0dXJuIEVycm9yKEVOT1NZUyk7CisrIyAgZW5kaWYKICAKICAjICBpZmRlZiBf X05SX2ZhZHZpc2U2NAogICAgICAgIGNhc2UgX19OUl9mYWR2aXNlNjQ6CmRpZmYgLS1naXQgYS9z cmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvc25kaW8ucGF0Y2ggYi9zcmNwa2dzL2ZpcmVmb3gt ZXNyL3BhdGNoZXMvc25kaW8ucGF0Y2gKaW5kZXggOTU5ZmMxZWM5MTNhLi42ODYyOGJlYThkOGYg MTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvcGF0Y2hlcy9zbmRpby5wYXRjaAorKysg Yi9zcmNwa2dzL2ZpcmVmb3gtZXNyL3BhdGNoZXMvc25kaW8ucGF0Y2gKQEAgLTQyLDExICs0Miwx MSBAQAogIGlmIENPTkZJR1snT1NfVEFSR0VUJ10gPT0gJ0Rhcndpbic6CiAtLS0gYS9idWlsZC9t b3ouY29uZmlndXJlL29sZC5jb25maWd1cmUJMjAyMC0wNi0zMCAxMjoxNzowNC4wODc2MDkwNzAg KzAyMDAKICsrKyBiL2J1aWxkL21vei5jb25maWd1cmUvb2xkLmNvbmZpZ3VyZQkyMDIwLTA2LTMw IDEyOjE3OjA0LjA4NzYwOTA3MCArMDIwMAotQEAgLTIxMCw2ICsyMTAsNyBAQAorQEAgLTg4LDYg Kzg4LDcgQEAKICBAb2xkX2NvbmZpZ3VyZV9vcHRpb25zKAotICAgICAnLS1jYWNoZS1maWxlJywK LSAgICAgJy0tZGF0YWRpcicsCi0rICAgICctLWVuYWJsZS1zbmRpbycsCi0gICAgICctLWVuYWJs ZS1jcmFzaHJlcG9ydGVyJywKLSAgICAgJy0tZW5hYmxlLWRidXMnLAotICAgICAnLS1lbmFibGUt ZGVidWctanMtbW9kdWxlcycsCisgICAgICItLWNhY2hlLWZpbGUiLAorICAgICAiLS1kYXRhZGly IiwKKysgICAgIi0tZW5hYmxlLXNuZGlvIiwKKyAgICAgIi0tZW5hYmxlLWNyYXNocmVwb3J0ZXIi LAorICAgICAiLS1lbmFibGUtZGJ1cyIsCisgICAgICItLWVuYWJsZS1kZWJ1Zy1qcy1tb2R1bGVz IiwKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmlyZWZveC1lc3IvdGVtcGxhdGUgYi9zcmNwa2dzL2Zp cmVmb3gtZXNyL3RlbXBsYXRlCmluZGV4IDMzZmE0ZGZhZjJhMC4uMzVlN2IwYmU5M2M4IDEwMDY0 NAotLS0gYS9zcmNwa2dzL2ZpcmVmb3gtZXNyL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmlyZWZv eC1lc3IvdGVtcGxhdGUKQEAgLTMsNTggKzMsNjMgQEAKICMgVEhJUyBQS0cgTVVTVCBCRSBTWU5D SFJPTklaRUQgV0lUSCAic3JjcGtncy9maXJlZm94LWVzci1pMThuIi4KICMKIHBrZ25hbWU9Zmly ZWZveC1lc3IKLXZlcnNpb249NzguMTQuMAordmVyc2lvbj05MS4zLjAKIHJldmlzaW9uPTEKIHdy a3NyYz0iZmlyZWZveC0ke3ZlcnNpb259IgotYnVpbGRfaGVscGVyPSJydXN0IHFlbXUiCitidWls ZF9oZWxwZXI9InJ1c3QiCitzaG9ydF9kZXNjPSJNb3ppbGxhIEZpcmVmb3ggd2ViIGJyb3dzZXIg LSBFeHRlbmRlZCBTdXBwb3J0IFJlbGVhc2UiCittYWludGFpbmVyPSJPcnBoYW5lZCA8b3JwaGFu QHZvaWRsaW51eC5vcmc+IgorbGljZW5zZT0iTVBMLTIuMCwgR1BMLTIuMC1vci1sYXRlciwgTEdQ TC0yLjEtb3ItbGF0ZXIiCitob21lcGFnZT0iaHR0cHM6Ly93d3cubW96aWxsYS5vcmcvZmlyZWZv eC8iCitkaXN0ZmlsZXM9IiR7TU9aSUxMQV9TSVRFfS9maXJlZm94L3JlbGVhc2VzLyR7dmVyc2lv bn1lc3Ivc291cmNlL2ZpcmVmb3gtJHt2ZXJzaW9ufWVzci5zb3VyY2UudGFyLnh6IgorY2hlY2tz dW09MTI4YjUzNDlmMTEyZDhhMGZkODY5OGYzNjQ1ZWQ0M2VhMjlkNGI5NTA0N2I3YzRmZDc3MGI5 NWQwNjYxZTk2YworCitsaWIzMmRpc2FibGVkPXllcworCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9j b25mMjEzIHVuemlwIHppcCBwa2ctY29uZmlnIHBlcmwgcHl0aG9uMyB5YXNtIHJ1c3QgY2FyZ28K ICBsbHZtIGNsYW5nIG5vZGVqcy1sdHMgY2JpbmRnZW4gcHl0aG9uIG5hc20gd2hpY2ggdGFyIgot bWFrZWRlcGVuZHM9Im5zcy1kZXZlbCBsaWJqcGVnLXR1cmJvLWRldmVsIGd0aystZGV2ZWwgZ3Rr KzMtZGV2ZWwgaWN1LWRldmVsCittYWtlZGVwZW5kcz0ibnNzLWRldmVsIGxpYmpwZWctdHVyYm8t ZGV2ZWwgZ3RrKzMtZGV2ZWwgaWN1LWRldmVsCiAgcGl4bWFuLWRldmVsIGxpYmV2ZW50LWRldmVs IGxpYm5vdGlmeS1kZXZlbCBsaWJ2cHgtZGV2ZWwKICBsaWJYcmVuZGVyLWRldmVsIGxpYlhjb21w b3NpdGUtZGV2ZWwgbGliU00tZGV2ZWwgbGliWHQtZGV2ZWwgcnVzdC1zdGQKICBsaWJYZGFtYWdl LWRldmVsIGZyZWV0eXBlLWRldmVsICQodm9wdF9pZiBhbHNhIGFsc2EtbGliLWRldmVsKQogICQo dm9wdF9pZiBkYnVzIGRidXMtZ2xpYi1kZXZlbCkgJCh2b3B0X2lmIHB1bHNlYXVkaW8gcHVsc2Vh dWRpby1kZXZlbCkKICAkKHZvcHRfaWYgeHNjcmVlbnNhdmVyIGxpYlhTY3JuU2F2ZXItZGV2ZWwp CiAgJCh2b3B0X2lmIHNuZGlvIHNuZGlvLWRldmVsKSAkKHZvcHRfaWYgamFjayBqYWNrLWRldmVs KSIKLWRlcGVuZHM9Im5zcz49My41MyBkZXNrdG9wLWZpbGUtdXRpbHMgaGljb2xvci1pY29uLXRo ZW1lIgotc2hvcnRfZGVzYz0iRmlyZWZveCBicm93c2VyIC0gRXh0ZW5kZWQgU3VwcG9ydCBSZWxl YXNlIgotbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIKLWxpY2Vu c2U9Ik1QTC0yLjAsIEdQTC0yLjAtb3ItbGF0ZXIsIExHUEwtMi4xLW9yLWxhdGVyIgotaG9tZXBh Z2U9Imh0dHBzOi8vd3d3Lm1vemlsbGEub3JnL2ZpcmVmb3gvb3JnYW5pemF0aW9ucy8iCi1kaXN0 ZmlsZXM9IiR7TU9aSUxMQV9TSVRFfS9maXJlZm94L3JlbGVhc2VzLyR7dmVyc2lvbn1lc3Ivc291 cmNlL2ZpcmVmb3gtJHt2ZXJzaW9ufWVzci5zb3VyY2UudGFyLnh6IgotY2hlY2tzdW09YWEwZTI4 YTQxNTBjMzNhMTY1MTIwYTI0ZjIwZTAzNzNlNzQ2MzVjOWY4MTI3MzJhMDg4NTBkNzFjZGEzYjJm YQotbGliMzJkaXNhYmxlZD15ZXMKK2RlcGVuZHM9Im5zcz49My42NiBuc3ByPj00LjMyIGRlc2t0 b3AtZmlsZS11dGlscyBoaWNvbG9yLWljb24tdGhlbWUiCiBjb25mbGljdHM9ImZpcmVmb3g+PTAi CiAKIGJ1aWxkX29wdGlvbnM9ImFsc2EgamFjayBkYnVzIHB1bHNlYXVkaW8geHNjcmVlbnNhdmVy IHNuZGlvIHdheWxhbmQiCiBidWlsZF9vcHRpb25zX2RlZmF1bHQ9ImFsc2EgamFjayBkYnVzIHB1 bHNlYXVkaW8geHNjcmVlbnNhdmVyIHNuZGlvIHdheWxhbmQiCiAKLWlmIFsgIiRYQlBTX1RBUkdF VF9OT19BVE9NSUM4IiBdOyB0aGVuCi0JbWFrZWRlcGVuZHMrPSIgbGliYXRvbWljLWRldmVsIgot ZmkKLQogY2FzZSAkWEJQU19UQVJHRVRfTUFDSElORSBpbgotCWFybXZbNTZdKikgYnJva2VuPSJy ZXF1aXJlZCBORU9OIGV4dGVuc2lvbnMgYXJlIG5vdCBzdXBwb3J0ZWQgb24gYXJtdls1Nl0iIDs7 CisJYXJtdls1Nl0qKSBicm9rZW49InJlcXVpcmVkIE5FT04gZXh0ZW5zaW9ucyBhcmUgbm90IHN1 cHBvcnRlZCBvbiBhcm12NiIgOzsKIAlwcGM2NCopIDs7CiAJcHBjKikgYnJva2VuPSJ4cHRjYWxs IGJpdHJvdCIgOzsKIGVzYWMKIAotQ1hYRkxBR1M9Ii1Xbm8tY2xhc3MtbWVtYWNjZXNzIC1Xbm8t dW51c2VkLWZ1bmN0aW9uIgoraWYgWyAiJFhCUFNfVEFSR0VUX05PX0FUT01JQzgiIF07IHRoZW4K KwltYWtlZGVwZW5kcys9IiBsaWJhdG9taWMtZGV2ZWwiCitmaQorCisjIHdvcmsgYXJvdW5kIGxh cmdlIGRlYnVnIHN5bWJvbHMgb24gMzItYml0IGhvc3RzCisjIGNhcmdvOndhcm5pbmc9Y2MxcGx1 czogb3V0IG9mIG1lbW9yeSBhbGxvY2F0aW5nIDY1NTM2IGJ5dGVzIGFmdGVyIGEgdG90YWwgb2Yg MTAxMDEyNjg0OCBieXRlcworaWYgWyAiJFhCUFNfV09SRFNJWkUiID0gIjMyIiBdOyB0aGVuCisJ bm9kZWJ1Zz15ZXMKK2ZpCiAKLSMgV2UgbmVlZCB0aGlzIGJlY2F1c2UgY2FyZ28gdmVyaWZpZXMg Y2hlY2tzdW1zIG9mIGFsbCBmaWxlcwotIyBpbiB2ZW5kb3IgY3JhdGVzIHdoZW4gaXQgYnVpbGRz IGFuZCBnaXZlcyB1cyBubyB3YXkgdG8KLSMgb3ZlcnJpZGUgb3IgdXBkYXRlIHRoZSBmaWxlIHNh bmVseS4uLiBzbyBqdXN0IGNsZWFyIG91dCB0aGUgZmlsZSBsaXN0CisjIHdlIG5lZWQgdGhpcyBi ZWNhdXNlIGNhcmdvIHZlcmlmaWVzIGNoZWNrc3VtcyBvZiBhbGwgZmlsZXMgaW4gdmVuZG9yCisj IGNyYXRlcyB3aGVuIGl0IGJ1aWxkcyBhbmQgZ2l2ZXMgdXMgbm8gd2F5IHRvIG92ZXJyaWRlIG9y IHVwZGF0ZSB0aGUKKyMgZmlsZSBzYW5lbHkuLi4gc28ganVzdCBjbGVhciBvdXQgdGhlIGZpbGUg bGlzdAogX2NsZWFyX3ZlbmRvcl9jaGVja3N1bXMoKSB7CiAJc2VkIC1pICdzL1woImZpbGVzIjp7 XClbXn1dKi9cMS8nIHRoaXJkX3BhcnR5L3J1c3QvJDEvLmNhcmdvLWNoZWNrc3VtLmpzb24KIH0K IAogcG9zdF9leHRyYWN0KCkgewotCWlmIFsgIiRYQlBTX1RBUkdFVF9MSUJDIiA9IG11c2wgXTsg dGhlbgorCWNhc2UgIiRYQlBTX1RBUkdFVF9NQUNISU5FIiBpbgorCSotbXVzbCkKIAkJY3AgIiR7 RklMRVNESVJ9L3N0YWIuaCIgdG9vbGtpdC9jcmFzaHJlcG9ydGVyL2dvb2dsZS1icmVha3BhZC9z cmMvCi0JZmkKLQkjIEdvb2dsZSBBUEkga2V5IChzZWUgaHR0cDovL3d3dy5jaHJvbWl1bS5vcmcv ZGV2ZWxvcGVycy9ob3ctdG9zL2FwaS1rZXlzKQotCSMgTm90ZTogVGhpcyBpcyBmb3IgVm9pZCBM aW51eCB1c2UgT05MWS4KLQllY2hvIC1uICJBSXphU3lDSUZkQkE3ZVFQNDNSNmtYUndUcTdqNk12 ajFJVHplOTAiID4gZ29vZ2xlLWFwaS1rZXkKKwkJOzsKKwllc2FjCiAKIAkjIE1vemlsbGEgQVBJ IGtleXMgKHNlZSBodHRwczovL2xvY2F0aW9uLnNlcnZpY2VzLm1vemlsbGEuY29tL2FwaSkKIAkj IE5vdGU6IFRoaXMgaXMgZm9yIFZvaWQgTGludXggdXNlIE9OTFkuCkBAIC02MywyMCArNjgsMjAg QEAgcG9zdF9leHRyYWN0KCkgewogCiBwb3N0X3BhdGNoKCkgewogCV9jbGVhcl92ZW5kb3JfY2hl Y2tzdW1zIG51bS10cmFpdHMKLQlfY2xlYXJfdmVuZG9yX2NoZWNrc3VtcyBnbHNsb3B0CiB9CiAK IGRvX2J1aWxkKCkgewotCWNwICR7RklMRVNESVJ9L21vemNvbmZpZyAubW96Y29uZmlnCisJY3Ag IiR7RklMRVNESVJ9L21vemNvbmZpZyIgIiR7d3Jrc3JjfS8ubW96Y29uZmlnIgogCi0JaWYgWyAi JFhCUFNfVEFSR0VUX0xJQkMiID0gbXVzbCBdOyB0aGVuCisJY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCisJKi1tdXNsKQogCQllY2hvICJhY19hZGRfb3B0aW9ucyAtLWRpc2FibGUtamVt YWxsb2MiID4+Lm1vemNvbmZpZwogCQllY2hvICJhY19hZGRfb3B0aW9ucyAtLWRpc2FibGUtZ29s ZCIgPj4ubW96Y29uZmlnCi0JCWVjaG8gImFjX2FkZF9vcHRpb25zIC0tZW5hYmxlLXJlbGVhc2Ui ID4+Lm1vemNvbmZpZwotCWZpCisJCTs7CisJZXNhYwogCiAJY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCi0JYXJtKnx4ODZfNjQqfGk2ODYqKQorCXg4Nl82NCp8aTY4Nip8YXJtKikKIAkJ ZWNobyAiYWNfYWRkX29wdGlvbnMgLS1kaXNhYmxlLWVsZi1oYWNrIiA+Pi5tb3pjb25maWcKIAkJ OzsKIAllc2FjCkBAIC05OCwxNiArMTAzLDE3IEBAIGRvX2J1aWxkKCkgewogCiAJCWV4cG9ydCBC SU5ER0VOX0NGTEFHUz0iLS10YXJnZXQ9JFhCUFNfQ1JPU1NfVFJJUExFVCBcCiAJCQktLXN5c3Jv b3Q9JHtYQlBTX0NST1NTX0JBU0V9ICR7QklOREdFTl9JTkNMVURFX0ZMQUdTfSIKLQkJZXhwb3J0 IEhPU1RfQ0M9IiR7Q0NfaG9zdH0iCisJCWV4cG9ydCBIT1NUX0NDPWNjCiAJCWV4cG9ydCBUQVJH RVRfQ0M9IiR7Q0N9IgogCQlleHBvcnQgSE9TVF9DRkxBR1M9IiR7WEJQU19DRkxBR1N9IgogCQll eHBvcnQgSE9TVF9DWFhGTEFHUz0iJHtYQlBTX0NYWEZMQUdTfSIKLQkJZWNobyAiYWNfY3Zfc3Fs aXRlX3NlY3VyZV9kZWxldGU9eWVzIiA+PiAubW96Y29uZmlnCi0JCWVjaG8gImFjX2N2X3NxbGl0 ZV90aHJlYWRzYWZlPXllcyIgPj4gLm1vemNvbmZpZwotCQllY2hvICJhY19jdl9zcWxpdGVfZW5h YmxlX2Z0czM9eWVzIiA+PiAubW96Y29uZmlnCi0JCWVjaG8gImFjX2N2X3NxbGl0ZV9kYnN0YXRf dnRhYj15ZXMiID4+IC5tb3pjb25maWcKLQkJZWNobyAiYWNfY3Zfc3FsaXRlX2VuYWJsZV91bmxv Y2tfbm90aWZ5PXllcyIgPj4gLm1vemNvbmZpZwotCQllY2hvICJhY19jdl9wcm9nX2hvc3RjeHhf d29ya3M9MSIgPj4gLm1vemNvbmZpZworCQlleHBvcnQgYWNfY3Zfc3FsaXRlX3NlY3VyZV9kZWxl dGU9eWVzIFwKKwkJCWFjX2N2X3NxbGl0ZV90aHJlYWRzYWZlPXllcyBcCisJCQlhY19jdl9zcWxp dGVfZW5hYmxlX2Z0czM9eWVzIFwKKwkJCWFjX2N2X3NxbGl0ZV9kYnN0YXRfdnRhYj15ZXMgXAor CQkJYWNfY3Zfc3FsaXRlX2VuYWJsZV91bmxvY2tfbm90aWZ5PXllcyBcCisJCQlhY19jdl9wcm9n X2hvc3RjeHhfd29ya3M9MQorCiAJCWVjaG8gImFjX2FkZF9vcHRpb25zIC0tdGFyZ2V0PSRYQlBT X0NST1NTX1RSSVBMRVQiID4+Lm1vemNvbmZpZwogCQllY2hvICJhY19hZGRfb3B0aW9ucyAtLWhv c3Q9JFhCUFNfVFJJUExFVCIgPj4ubW96Y29uZmlnCiAJZWxzZQpAQCAtMTI2LDE5ICsxMzIsMTgg QEAgZG9fYnVpbGQoKSB7CiAKIAkjIHdvcmsgYXJvdW5kIGxhcmdlIGRlYnVnIHN5bWJvbHMgb24g MzItYml0IGhvc3RzCiAJaWYgWyAiJFhCUFNfV09SRFNJWkUiID0gIjMyIiBdOyB0aGVuCi0JCWV4 cG9ydCBDRkxBR1M9IiR7Q0ZMQUdTLy1nLy1nMX0iCi0JCWV4cG9ydCBDWFhGTEFHUz0iJHtDWFhG TEFHUy8tZy8tZzF9IgorCQllY2hvICJhY19hZGRfb3B0aW9ucyAtLWRpc2FibGUtZGVidWctc3lt Ym9scyIgPj4ubW96Y29uZmlnCisJCWVjaG8gImFjX2FkZF9vcHRpb25zIC0tZGlzYWJsZS1kZWJ1 ZyIgPj4ubW96Y29uZmlnCiAJCWV4cG9ydCBMREZMQUdTKz0iIC1XbCwtLW5vLWtlZXAtbWVtb3J5 IgogCQkjIHBhdGNoIHRoZSBydXN0IGRlYnVnIGxldmVsLCB0aGlzIGlzIGhhcmRjb2RlZAotCQlz ZWQgLWkgInMvZGVidWdfaW5mbyA9ICcyJy9kZWJ1Z19pbmZvID0gJzEnLyIgXAorCQl2c2VkIC1p ICdzL2RlYnVnX2luZm8gPSAiMiIvZGVidWdfaW5mbyA9ICIwIi8nIFwKIAkJYnVpbGQvbW96LmNv bmZpZ3VyZS90b29sY2hhaW4uY29uZmlndXJlCiAJZmkKIAotCSMgRklYTUU6IGluY29tcGF0aWJs ZSB3aXRoIHJ1c3QgMS40OCBpbiB0aGlzIHJlbGVhc2UKLQkjY2FzZSAiJFhCUFNfVEFSR0VUX01B Q0hJTkUiIGluCi0JI2FhcmNoNjQqfGk2ODYqfHg4Nl82NCopCi0JIwllY2hvICJhY19hZGRfb3B0 aW9ucyAtLWVuYWJsZS1ydXN0LXNpbWQiID4+Lm1vemNvbmZpZyA7OwotCSNlc2FjCisJY2FzZSAi JFhCUFNfVEFSR0VUX01BQ0hJTkUiIGluCisJYWFyY2g2NCp8aTY4Nip8eDg2XzY0KikKKwkJZWNo byAiYWNfYWRkX29wdGlvbnMgLS1lbmFibGUtcnVzdC1zaW1kIiA+Pi5tb3pjb25maWcgOzsKKwll c2FjCiAKIAlleHBvcnQgTERGTEFHUys9IiAtV2wsLXJwYXRoPS91c3IvbGliL2ZpcmVmb3giCiAK QEAgLTE1Myw5ICsxNTgsNyBAQCBkb19idWlsZCgpIHsKIAogCWV4cG9ydCBBUz0kQ0MKIAotCWNh dCA+Pi5tb3pjb25maWcgPDxFT0YKLWFjX2FkZF9vcHRpb25zIC0td2l0aC1nb29nbGUtbG9jYXRp b24tc2VydmljZS1hcGkta2V5ZmlsZT0iJHt3cmtzcmN9L2dvb2dsZS1hcGkta2V5IgotYWNfYWRk X29wdGlvbnMgLS13aXRoLWdvb2dsZS1zYWZlYnJvd3NpbmctYXBpLWtleWZpbGU9IiR7d3Jrc3Jj fS9nb29nbGUtYXBpLWtleSIKKwljYXQgPDwhID4+Lm1vemNvbmZpZwogYWNfYWRkX29wdGlvbnMg LS13aXRoLW1vemlsbGEtYXBpLWtleWZpbGU9IiR7d3Jrc3JjfS9tb3ppbGxhLWFwaS1rZXkiCiBh Y19hZGRfb3B0aW9ucyAkKHZvcHRfZW5hYmxlIGFsc2EpCiBhY19hZGRfb3B0aW9ucyAkKHZvcHRf ZW5hYmxlIGphY2spCkBAIC0xNjQsNDIgKzE2NywyOCBAQCBhY19hZGRfb3B0aW9ucyAkKHZvcHRf ZW5hYmxlIGRidXMpCiBhY19hZGRfb3B0aW9ucyAkKHZvcHRfZW5hYmxlIGRidXMgbmVja28td2lm aSkKIGFjX2FkZF9vcHRpb25zICQodm9wdF9lbmFibGUgcHVsc2VhdWRpbykKIGFjX2FkZF9vcHRp b25zIC0tZW5hYmxlLWRlZmF1bHQtdG9vbGtpdD0kKHZvcHRfaWYgd2F5bGFuZCAnY2Fpcm8tZ3Rr My13YXlsYW5kJyAnY2Fpcm8tZ3RrMycpCi1FT0YKKyEKKwogCXJtIC1mIG9sZC1jb25maWd1cmUK IAkuL21hY2ggYnVpbGQKLQotCSMgTWFrZSBsYW5ncGFja3MgZm9yIGFsbCBsYW5ndWFnZXMKLQlk aXI9JChscyAtZCBvYmotKi9icm93c2VyL2xvY2FsZXMpCi0JY2QgJHt3cmtzcmN9LyR7ZGlyfQot CWZvciBsYW5nIGluICR7bGFuZ3VhZ2VzWypdfTsgZG8KLQkJbXNnX25vcm1hbCAiTWFraW5nIGxh bmdwYWNrIGZvciAke2xhbmd9IC4uLlxuIgotCQltYWtlICR7bWFrZWpvYnN9IGxhbmdwYWNrLSR7 bGFuZ30gTE9DQUxFX01FUkdFRElSPS4KLQlkb25lCiB9Ci0KIGRvX2luc3RhbGwoKSB7CiAJZXhw b3J0IE1BQ0hfVVNFX1NZU1RFTV9QWVRIT049MQogCURFU1RESVI9IiRERVNURElSIiAuL21hY2gg aW5zdGFsbAogCi0JdmJpbiAke0ZJTEVTRElSfS9maXJlZm94LXdheWxhbmQKIAl2aW5zdGFsbCAk e0ZJTEVTRElSfS92ZW5kb3IuanMgNjQ0IHVzci9saWIvZmlyZWZveC9icm93c2VyL2RlZmF1bHRz L3ByZWZlcmVuY2VzCiAJdmluc3RhbGwgdGFza2NsdXN0ZXIvZG9ja2VyL2ZpcmVmb3gtc25hcC9m aXJlZm94LmRlc2t0b3AgNjQ0IHVzci9zaGFyZS9hcHBsaWNhdGlvbnMKIAotCWZvciBpIGluIDE2 eDE2IDIyeDIyIDI0eDI0IDMyeDMyIDQ4eDQ4IDI1NngyNTY7IGRvCisJZm9yIGkgaW4gMTZ4MTYg MjJ4MjIgMjR4MjQgMzJ4MzIgNDh4NDggMTI4eDEyOCAyNTZ4MjU2OyBkbwogCQl2aW5zdGFsbCAk e3dya3NyY30vYnJvd3Nlci9icmFuZGluZy9vZmZpY2lhbC9kZWZhdWx0JHtpJXgqfS5wbmcgNjQ0 IFwKIAkJCXVzci9zaGFyZS9pY29ucy9oaWNvbG9yLyR7aX0vYXBwcyBmaXJlZm94LnBuZwogCWRv bmUKLQl2aW5zdGFsbCAke3dya3NyY30vYnJvd3Nlci9icmFuZGluZy9vZmZpY2lhbC9kZWZhdWx0 MjU2LnBuZyA2NDQgXAotCQl1c3Ivc2hhcmUvcGl4bWFwcyBmaXJlZm94LnBuZwogCi0JIyBVc2Ug c3lzdGVtLXByb3ZpZGVkIGRpY3Rpb25hcmllcwotCXJtIC1yZiAke0RFU1RESVJ9L3Vzci9saWIv ZmlyZWZveC97ZGljdGlvbmFyaWVzLGh5cGhlbmF0aW9ufQotCWxuIC1zIC91c3Ivc2hhcmUvaHVu c3BlbGwgJHtERVNURElSfS91c3IvbGliL2ZpcmVmb3gvZGljdGlvbmFyaWVzCi0JbG4gLXMgL3Vz ci9zaGFyZS9oeXBoZW4gJHtERVNURElSfS91c3IvbGliL2ZpcmVmb3gvaHlwaGVuYXRpb24KKwkj IFdlIGRvbid0IHdhbnQgdGhlIGRldmVsb3BtZW50IHN0dWZmCisJcm0gLXJmICR7REVTVERJUn0v dXNyL3tpbmNsdWRlLGxpYi9maXJlZm94LWRldmVsLHNoYXJlL2lkbH0KIAogCSMgaHR0cHM6Ly9i dWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4ODUwCiAJbG4gLXNmIGZpcmVm b3ggJHtERVNURElSfS91c3IvbGliL2ZpcmVmb3gvZmlyZWZveC1iaW4KIAotCSMgUmVtb3ZlIHRo ZSBkZXZlbG9wbWVudCBmaWxlcyAtIG5vb25lIHVzZXMgdGhlbQotCXJtIC1yZiAke0RFU1RESVJ9 L3Vzci97aW5jbHVkZSxsaWIvZmlyZWZveC1kZXZlbCxzaGFyZS9pZGx9CisJdmJpbiAke0ZJTEVT RElSfS9maXJlZm94LXdheWxhbmQKIH0KCkZyb20gNmVjMWUwMzk4NTU3ZjM0YWQyZDQ3MGYxYzM3 YWUwZGI1N2NiZWY4ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogSm9oYW5uZXMgRGFu aWVsIE51ZW1tIDxkYW5pZWwubnVlbW1AYmxhY2t0cmUuZXM+CkRhdGU6IFNhdCwgMjAgTm92IDIw MjEgMTU6MTM6NDMgKzAxMDAKU3ViamVjdDogW1BBVENIIDIvMl0gZmlyZWZveC1lc3ItaTE4bjog dXBkYXRlIHRvIDkxLjMuMC4KCi0tLQogc3JjcGtncy9maXJlZm94LWVzci1pMThuL3RlbXBsYXRl IHwgMTg4ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDk0 IGluc2VydGlvbnMoKyksIDk0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvZmly ZWZveC1lc3ItaTE4bi90ZW1wbGF0ZSBiL3NyY3BrZ3MvZmlyZWZveC1lc3ItaTE4bi90ZW1wbGF0 ZQppbmRleCAyNTg0OTRjNGE3MjMuLjUxNTgzZmI4MGU5YiAxMDA2NDQKLS0tIGEvc3JjcGtncy9m aXJlZm94LWVzci1pMThuL3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvZmlyZWZveC1lc3ItaTE4bi90 ZW1wbGF0ZQpAQCAtMSw2ICsxLDYgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ2ZpcmVmb3gtZXNy LWkxOG4nCiBwa2duYW1lPWZpcmVmb3gtZXNyLWkxOG4KLXZlcnNpb249NzguMTQuMAordmVyc2lv bj05MS4zLjAKIHJldmlzaW9uPTEKIGJ1aWxkX3N0eWxlPW1ldGEKIHNob3J0X2Rlc2M9IkZpcmVm b3ggRVNSIGxhbmd1YWdlIHBhY2tzIgpAQCAtMTM1LDk2ICsxMzUsOTYgQEAgX3BrZ3RtcGwoKSB7 CiAJfQogfQogCi1jaGVja3N1bT0iNmU5MTA3MGMwZWU1ODg1MmFjM2I4YzhmMGFjOTYyMDI4OWNh NGUyMDBiODA3NGRlZTg0NDkzNzQzMDE2MTZkMQotIDc2NGE3ZjNhNjFmMGQxYjUwZmRjNmRjMzEz Zjc2NTFlOGFhNjJkZjRlODg4M2FmMWE2ZWY0ZDE4NzUwOTA5YzcKLSA5NDFhYjYxYzZjYjBkNTJj MGUzNDhlMDgwZTc2OWNmZWJlMjM2NGViOGNmMjRhOTRmNjI1YjU3Zjg0YmExN2YxCi0gYTBlMDY0 OTUzMmMzNGNjZGMxYWJlMWNjMTIxNWU2NjE4NmRmOGQ5ZDQ4NGRmYzQzMzdkZjkyMTUxNjI5ZTA0 ZAotIDZjMjE2MzVlOGIxMjkzZjliNmI4YWNkY2ViZDM3MjU3NDYxMGJhNTM1ZDM1ZjIxY2Y3N2M3 M2JmZmI4OGRkOTIKLSA3MWQ0YTZiMjVkNmYxOGUyMDdjNzc0OWY4ZTUwYTcwYTEyMmFjZWE4MjA4 Yzk5NDBjOGM4ODJjZWE3NDM1ZTBkCi0gMzcyMDkzNjZlZDdhNjZhZDc3MTBmMjY4ZDMyNmE3OTE5 OGMwZTk0NTlmNzUxNzc2Y2Y3NGNiNWU1YjE4MWQwOAotIDc2MzhlYWZhODNhYzAwYzg4ZjQ0MTBi ZDY3ZDk5NzU3MGYyNjM1Y2ZjOWU3NDQ4Mzg5YWQ3M2U5MzMwYjIxNDEKLSAzZDBlMjc2Zjk4MjUz MDIwOTM1ZmRlYzU0ZDkwNjYzMzk5Mjg0OGFjZDRhMTRkM2M0OGYzMGZiYzZkNThjNzUyCi0gMGI4 MDczYTM0Y2Q2YzYyZWQ4YTMyYzVhMGQwNGE3MTU4MzliNzQyMWE0YTY4MWM2OWJjZjljNWQzYjBi MjU3ZAotIDM5ZWUzYTViZThmZWFkNmY5ZDY5ZTE1MTEwNzQwMmUyMzRiYTZjY2Q2MDUyNTczZWM0 OGNlNzFjN2Q2M2M5NjQKLSAwNGQ1MTc3ODNlYzUxOGFmYzY1NTBiN2NhN2I1OTFmYjE3OTY3ZDhm MWM0N2NmZDU1MmI3YWVhYjNkNzIzOWMxCi0gZDg3MTEyZTI3OTFhM2ZjNDljMzNlNGE0YmU0NDVi ZWJlNjRkNjk4OTRhNDcyZDBjM2YwNjMxMjkyOTRjMzIxZgotIGU4YWIxYThmOTM2ZjlmOGI1NTQ1 NzNiOWI2NWQ4YjMzNzdmNmZjYzYyNTYwODc0MjQ4NjZkM2M5M2RjNGJkMzEKLSA1MTgyMzJhYmFi YmYwYTRmOGQ1YzlhZWEwZTIxYTJkMDE5Yjc4MTk4OGJjNDQ4YTIwMDY2Yjk3OThiZjc5YTdlCi0g NTBkMWZjNDk1OTFiMmE0MjExMzM3MDM0ZjAzNjcyNWJmNmQwZDE4MTZjZjU0YjVhN2M0MDkxYWY1 MDQ1NDFiYwotIGY2MTkwMmQ5ODQ1Njc5NmQ1NDVhOWNmY2MzMzYyYzY4MmI5OTM4YmRmZGI2YjVk NGI5MTg0Y2MzM2VmYmI0ODEKLSBjMjU0ZWVkMTgyYjVjNDliNTJkY2VhMzlmOGE0YWYwYzE0ZWNl Y2UxNGVhMWZiMDJmZTc1NzcwZmRhNGRjZWMxCi0gOGM5YmE1ZjM4YzkzOTE2NmZhNTU3ZTdmYzJk ZTFlNzg4MDcxOWU0NjcxZDNlMzVkN2YwOTAyZDczNjdhNzU5ZQotIGE3NmE4MjYzODg3ZGM4OWM0 ZjVjYzRjZmQ3MGViMzY0MDZmZGRkOGU5ZDU2OWJiNjJhYjgyZmM2ODg0OWE2NTUKLSBlNmQzM2Mz ZjFkMDE3Mzg4NmJmOTExODY5NWZhOWI2MTNiOTlmZGI1Nzc3YjI1ODJjMmQ0MzgyN2UwODczMmZh Ci0gZjUyNGZhZWMzY2JmMDQ0ZTIwODIzMDZkZWNkMWY2YzQ3MzdhNmJhYmM0YTU4ODZiNTBkZTcx YzZhMTQ4MmRlMgotIGUxYWQyMTkxMjExN2VkNzAxOTQ5OGEyYTBmNjVkYjAzZWJhY2UwMjVmYmQ3 MTE5ZjI2MzJmNTgwZTFiZmRmYzYKLSA1ODY1MzhhOGI1YTY0MzMyOWUyMWEwZTY2MjQ0ZGMzMGM1 YjA2NTY4NGMzN2MwNmQ5MmNjZmMyNDRiYjExN2E2Ci0gNzQxYzVjMzRlZjU1YmRkMzQ4NGYzMmFh MTFjZTk2MjMwYTRhZDk0YmU5MjlmYzMyMTk5MzVkMDljMjJkYWMwOQotIDU1NzIzMzc3Mzk2OTc5 OWQyYjk0NmE2OGU3MzJjNTVmZjRiOTAxZDVhMWNmNDU1NTJhYjFiYjY4MDEwMjRlMDEKLSA4YWEx YmYwMGQ3ZTk3OTgxZGMwOTMzZGJlNGY4ODZhYzlmOWUxNTY5ZjViNjBhZTIxOWM1MGE3ZTgyZDZl ODFmCi0gMWNmZmE5MjU4ZGU4Yzg5MmVhZjEzZGM2ZmNiMDg4M2IyYmNkNDE4YWY1NjdkNjY4NWVi MGI4OWFkYTFiNjI2MAotIGM1YjMyNzEwNjlkZTg2Y2MxNzEzYzlhOTNkNGJlMTk0MTc5MmE1NWI3 ODMxYTE5MTM2OTkzNWIxOGQ0NTBmZDEKLSAwMDMzOGJhNWY0NzBjM2Q0MTcxZDI3MWI5NzY5MmY2 ZTY2Zjk0NTc5NzA5Mzk1Zjc0MDlmNGI1MzVjYmVlMWMzCi0gMTcwODMyNjE5NzY2NDE1OWQ4Njgx MmUyODA4NDk3NWY2M2FlODExMmIyZDgwNWU2MmY0YWNiNzQxYmFlODAzYgotIDFjODZjMDU5ZWMx Y2ExMzkwNGQ0MGZlMTIxY2FiNWVkNTAyZjgyOTUzM2ZiMGVmNjQ5Mzk2Y2Q1ZDk0ZTA3NGUKLSA2 Yjc4ODVhN2NiNTJjNmE3NDA2NGJjODNmN2YxZDQxMTc5OTRiZGExNDg3MjU1ZjFkOTFjYjZkNjYz MTQ5MDczCi0gZDNiMTRmNzVmYzBkYTA5NDBhNTQwYWZiNDAyZjQxZjA5N2VjYWEyODFmNWRlY2Jj YmM2YTA1Y2EwZTEwMjI4MwotIGMyZGQ4YTc5MjBjMWJhYTJhMTNhZjljYzEzYjUyM2M5MTYyYzIx M2M3OWIwNjNlMWIyYmI0MTI5MGM1OTM4ZjIKLSBlZjdlOTRkZWViMzFiZmMwZWRlYzMyNjVkZTA1 YmYxODgxYmY0YzliMzQ4ZjliYTUzOWYwZTRiNzQzNjgyMjVlCi0gZjgwMzFmYmMzYjg1MzI0YWQw NWU0MTVhMGNkZjhjMTg5ZWQ5NWJmNmZkNGE3OTNlM2Q1ZjdiOGUxZTM2MTk2NgotIDEzOGM0MzA3 ODc0NjJlM2U3N2U4N2FlODYxNzhhNjYzNzc3YTk3MGM1YTNiY2M2MjM2ZDBlNTA0MmE5NThjMWUK LSA0OWQ5OGZkYmJlZTQ5OThhODU2NjM0ZTQ1NTZhNGVhMWJkYTEzZWU2MGVhMzI4YWNjZDM4MWEz ZWIwY2UxMTk2Ci0gMjdlZDE4NDI0ZTQyYjk4YjIxMzcxNGY4NjQyMTZiZTllZmYwOGE1ZWQ5MTBi ZTY5YjZkZDgyYjllYzU5MmNhOQotIGRjNGNmM2Y5ZDBjOTEwNGQ2MTVlMTc2MGVhZTA5MzI2NjA1 YjMxYTRlZmI2OTkzOGNmZmJmNTUzZGVjMGQwYTIKLSA2ZGI1OGNjY2Q4Y2M5NjAxNGNlNDgxMjI1 YjM0YTVkMmJjYmU0NzY2Y2VjYTY3NmJiNmI1NmVlNTNhMzFmY2QxCi0gYWMxMGQzMTYzZDhkNTA3 NDZkM2YyYmJlZTgzMDk1MDgyOTc2NTRhNWY1ZjQwZDAwMzYzMWNlY2Q5OTIwZThjZQotIGQ0YzAz ZGU2ZmNlN2FiYzhjZTBjOTg1NDdjNDVmZWQ2YzQ0MjI5ZmUwNzM3ZGQ1MTRjMDY4MWRjMzFlMzdj ZGUKLSA4ZWE1NjI0ZjEzYjMzMDczYjcwNGE1Zjk2NzA3NWMyOWNjZmE2NGI5OTg1NDMyNDA3YjY1 NmE2NmE2ZTQ3YjY0Ci0gZjdiODY1NGI4ZDVkMGI1NTEzYmZhYTRjZTFhYjE3MWNlNGI2M2FlZDI5 N2JlN2M0MTZkZjQyYTVlMTI3YzM3MAotIGE3ZTgwNTcxMWVmNGZkYmU0MDJiZWY4MDdhNWE4YWY5 MmFmOTk0NDgzNjZmMzRkNjFiYTllM2Q4ZDI2N2MxZjgKLSA0ZmIxMGIyZDg4YWY0Y2UwNWI2ODU1 NjJhMDdjYjhmZDI5Y2ZlMGE0Nzk0NzJkNmMxNTY3OTljODNlMmJmNTc5Ci0gNDM5ODQ0N2Y1Zjg2 NDQ2MDk1ZjVmMzYxZWNjODA3NTBkMGQ2ZmJlZDZhYTFjZjg1YWZlNTk0YmViMjY4N2M4OAotIGZk ODdiMmZkYTdkMDBkNmU5ODFkNWViYThkY2NjZThkMWEzMGE1NTgyYTJjN2RjZjc0NmQwNjIzM2I0 NWMxOGIKLSAwNDM2YmY3YzE2MjYzMmRiZTRjNjRkMTU0MDFiNWY1YzQyZmVhZjcyM2VhNjdjZjA1 YTllMzE2ZGVhMTRhYmFmCi0gZjg5OThiYjNiNTc2MWEwMGE1N2FlMDQyNDIyNzc5ZjA1MDM0ZGQ2 OWYzMTk2ZmI4MjhhYWY3NWU1ZTNiNjMzNwotIGMzN2JiMmM5YmMzMTg0ZDdhZDRlY2Q1ODQ5ZDBj MmE1ZTc3YzRkN2VjNGFmYzA4NDRmZWI5ZjNhZDc1N2QxZDUKLSBmMzcxZGVlZGY1NmIzZjI1NTM3 OWNhOTdhYTZkYWZhNDdkY2VlZTU4ZmQ2ZDE2MTkzZjE4NmRiYWI3NDY1YWQxCi0gYzc2YmM1OWQy MjA4NDk0ZjA5YmRmYjRkOTZhYzlhN2VkNWYxYTYzOGU1NGRiZmVlYTQ1MGE2OWI1ODg4MGY2ZAot IDE2YmI5NjlhYzYzNjFiZTQ3Mzk2NDMzNTU5MDk2YTM3ZDZjY2ExZjA1YmVkZDllMzY2NTE1Yjhh MzRhZDhjMWIKLSBlMWMxMTAwYjc1YjFhMTU2MTZlNjQ2Mjg5Nzg1NjczYjNlOGY4YTdlMjIzODZk Yzc3YWExODAxNmY3ZWE0OTM0Ci0gYTViOGIyYmFmZjFhZGY5ZWRhNjAxMjEwZDg2YWFjYzkzM2M0 MjI4NjExYmM0NWQxYTZkZjg0MzNjYTZlZjk0NgotIDBiM2ZlYTAwOWM1YWRkODRhNjQwZmJhZTMw N2Q1OTE3MTRmMDEyMjlmNTdmNDMyNTdmYTZjMmUxOWI0NjRiNWYKLSA5ZDMwZmE4YTI1YTI0YzUy NGQxZTIzYTA2Njg5ZGQyZjgzMGFlYmJjYTkyZjBmNzdmNzJjMzcyOGVmYTFkOTYwCi0gNDU5MWYz NmYxZWUyMWRmZTY0NzEwZjUwMjc1NDk1OTFjZWNiOTUyYzFkNGU2N2Q0ZWY3MDAzOGM2MzE5NDg3 NAotIDcxNmFkNjliYjllM2YwNmU2ZDAwYWNjMzRiZTgxNjA3MmUwZGQxZDk2NzE1ZWUwZDc5MDZi ZWVkOTRlZTQ3MzIKLSAzMTZkOTNlOWRkMzQ0OTViMTU2Y2M2MjViNWE0MDc3ZDQyN2NmODA5YWRl MGUwZjgxMGFlMzViYjE2NzY2YmY2Ci0gMzBlYTUwY2Q4NTE4YmI3ZTUzMzkxMTFlYWZkMGFmODdh MzVkZDkzMGVmYzFlNjM1NzYwZDNlNDYyN2VmNzU1NAotIGQ5OWJmMDllMmNjOTRjYmY3NTJhMTQ0 ZTZjMGNiNDdmNTFlYjVmNjc4NTcwOWFmMjQxMGNlNjE3N2RlZTIwZGUKLSA2MzU1ZmQzNmYyOGI4 MWVmMDhiNmEwMzhjZjZiM2RjN2JkMjJiMzZiYjEzNTQ3M2ZjMjU5NDUzYmQ3M2MxNDMyCi0gZWY4 YjhiN2Q3OWU4ZDllYThjMmE0NDE5MzQ5OGQ0ODg3ZDFjZTFlZDViZDY2MzczNDIyYjY4ZTg2Zjgx YjNkMQotIDU2MDdlOTNhMzZhOWRjZjc4MDAwZmFiN2I2OWU0YmJhODY4NjU0YTZhMWIwZjlkNTE2 ZWQ0NDYzYzQ5MGY1N2EKLSBlMGVjZDBkZDU1OWMwNTBmNGYxZThkYjhlOTRiN2RiODRhYjczZTM0 MTc2NThlZjgzNzRiNWYxMTYwNTBkNTMwCi0gYzVmZTUxYzAwNTM4YWE4MjQxYjk0YzFhNDI5N2E2 NmVhMTBjZDU0YmRmNzFkOTAyNTNhY2U3YzczMWJhOWZiZQotIGEzMzVlYzUzYzZkY2RmN2E0NjRk M2I1Mjc3OTIxYzUzNDYxZjkxZTJmOWEwM2VjNWQwOGRhYTcyYjE2MDBlZmMKLSA4ZjhhNTJmOWU4 MGM5ODVhYzE2Y2FlNTI2YTY4YWEwOGUyODY5ZmNhZjFhY2ZlZjk0MzhiNTg3Y2NjNTE5NDFmCi0g NTZmYzk2OTFkNDM4ZjJkMTIwYThkNzY5ODk2Y2JhNjEzMmNlMmMxYjRhMWEzNmI2NGViODUwNDk4 N2M2NTc5YgotIDEwYmE4M2M2MzU1YzZmN2ZmZWUzMDFjMjg5NDBkOTgyNDljMDZlOGYzNmQwYzcy OGQ0NDgyNDRiMTQ0ZDRmM2MKLSA0MDdhMjEzN2FlY2IyMzNiY2IzNTdjZmUyMGM3OThlM2ZiMzdj MWQ3MTVkOThkNWYyOTBmZGQwNzcwYzE1ZWY2Ci0gYTE3NWEyMDQ2Yzg4ZjcwZDU3NThkYzhkYmUy YzQxODE1MmZlNGU0YjAwOGNhNGNkMGMzZTVhYzZkZTEzMjkwYwotIDM1Yzg3ZTNhZDVkYWQ3NzM2 MDM2ZWRjZjM1YjFjMmYzM2E0ZjQ2ZGY0MWQwYjgwMmUxMzZlZTEzZmFlYWQxZmMKLSBjNTZlYmI0 ZjFkMWI4ODdhODI5YmE0NjBmYjAzYzQ3NGNiNjdiNDcwYjhmOTM4ZmY4YTMyZGExZDU4ZmM0OGZi Ci0gYWViYWIwMTIzY2U3NzY2OGNmZjcyYmIwOTVkMmFjMzA2MjE4Njg3ODJjNGZjOTNiNTJhNWY4 NTc2ZDNhODg3MQotIGJiMDhhZGYyNmE4NWY3NDA2ZGM5OTZiODlhNDg3YzVmYTBkM2MwZTQzMDVm YTRjNTMzODQxYjQxMDc2YmQ1MDcKLSBjNmM4YTgzMDdlMzMyNjM5YzdiYzllZjg0MGIwOWNkNGM4 NjFjMWJkOTQzYjdjNjZjMWI0NDRjMjQ1YzFjZjkzCi0gZDBjN2ViZDMwMjQ0YzUxNWUxYmUzMmY2 MjNkMzM4Y2M0ZDYxNWQzNmRhZTE2MmY4MmM3MDdiYTY5ZGEzZjQ4NAotIDk0N2U3ZDYxOTU2Mjcy MjU5MGRiMzgyNmNmMTAxZDc3OGEyNmU3YWVkNzBkOGU5ZWFkNDM5YzA1ZTZmODA5YmYKLSA1NzRi MWUwNDgyNDE1OGU1YTA5NTc0MzhlZTYyODZhZGViMWNiNDJmZTY0NmNhNDJmZjc1YzFjODZlM2Fk MTdkCi0gMDk5YzY3MWU0NGUyNDY5YzBkZDM0NmIzZDRjNTEzMTEzMDk2MjhiOTZiMzVmMTIwOGUw OTYzZDhjZjM0OThjNAotIDg3ZDExNjEyZWU0ZDdmYjA1YmE4ZTQwOWI4YjI2YmNmNWUwYzIxMGEy ZGExMmRlNzFhYTk3ZDdmZjI1YTFjMGEKLSBiYjlkMzhjZmQ5ZjczOWYwMDUxNTA4NTI3YTlhNTNj NmFkNDVmNGM2ZjZjYTFkNDdjY2EzYjA1NjRlNzMyODE3Ci0gZjlmZDIyYTdiNjZkNDU0NzVlODE3 YmI5YzA0NWI0NmQ0ZDgxOWI5YjYwOGI2NDk4N2M0MzkzNWY1MWRlNDBmOAotIGI1ODdjOTMyYTVj NDkzZjRmNzU3MmNhMTVjNDNhZjJlZmIyNjExZjgyNzE5NGI3M2E2OTViOWQ1MDRmNWU4OWUKLSA4 NjFmZTM3ZDExZGFmMWIwZDc4OWE5MTBiYTk1MWI3ODI2ZTY5ZTBmOGYyMjJkZjE1ZGYxNTZkZmI5 MTQ0ODIxCi0gZTVhZjc4YjhlMzg1MWUwNTdlMzZlNTYyOTE0OTA3ZmU2ZWFiNTI3ODg1ZjY3MWY4 YjY4YjQ0NzMwNGM4MDRmOAotIDEyMTFkMjEwMjYwYWQ3ODhiODVjNzJhMGVjM2VhYzk5MDRkZTVj NjE0MjZlZjRmZTVjY2NlNWIzZTBkZTUzNmYKLSA1ZDAxNzAzNjVhMzJjMWRmN2E0NTA0NDMwZDU0 N2Q3YjliNzYyNjcxNWJhNTJkMDAzMzQ3MTdlZDU2OTZhN2Y0IgorY2hlY2tzdW09IjBlZWUxYjE3 YjFmNWFlZDY3NmEyYTQ5NGNmMjliNWU1ZDNkMjY5ODcyOGEzNWViYTA4ZTY2NTcxZDhjODRjMTQK KyBiZmYwOTJmNWUxYmM4ZTAxZTNkODhmYWQ0ZjYxMjFmNzFjNmRmOWYzZjY4YTA0MzdlZjBhMTQw NTBjN2UzYjQyCisgNzE0OThmYWVmNDZmZjY0NWJiYmFjNTI2YmI2NmIxY2JjYTM0YzJiNzAyMmFj NTcwYTQ3OTZjNmEzOWE4OTc1ZgorIGJkOTlmOWFkYTJjODI0OGVlMTIzOWFhOTVmNDQ4ODA0ZWM5 Njg2YTczYTI4MDQ1YmYwNTY4OWQ2OTE5ZmJmY2QKKyA0NjdlMDRiZDZlZWNmMTRmMWI1NjVlZTli ODkxNjE4NzNkMjA1ZjU0MDc2ZDk0ZDQxYThiZmM2ZmEyYTU4OTk2CisgOTg4MTg3NDY1OGU2MDY2 YjM2NmEwYTBmNjE0MDE0MWNhYTE2NWMxODMwZjc0OTQ3MjcwYzUyYzA2Y2IzOGZhOAorIGE5YzFj OTU1ZmIxMWM3ZjQ3M2VhNjE1YzkxNzgwNGNiYmExY2MxYzg3YjAyN2I1ODFmNWM4YTczOGYxYTM0 ZmIKKyBjNjFmNTc4MTM2Yzk5OGQ3ZmNmZTE1N2RkODU2MzdkNTM2ZGE0NTkzYTRmOGZhOTBmZmM1 ZmU5NGJiYTlhODAzCisgNDdjZTg0YTBkNzQ0YzMzMDQ5YTZlMDgxYmQ4ZDY1ZGFjNTE1MjM3ZTUy OThmZjlmYzQyNGExYmM0NzAwY2M5MgorIDA4ZjZlYjU3NzlmNDM5OWZkZjBhODEzMmRjOTI0Mzhl OTc0Y2QzZGNiNGM1NDM4ZmI1ODdkYjg3NmVlODg5ZWMKKyBlMTZlZDE5MDZjNDllZGZhYWEyMzMz MzhiZmQ2ZWFmOWU0ZjIxMTMyNjBhNTY4MmQ0ZmRkOWU5Y2U3MWIwMTdlCisgZGRiMjVkZTNhOWU0 Y2MzZTI4MmZmZTI3MGU2MmMxMzI4N2EwMTZlM2MwZDY3NmNmODI0MmI2ZDkzYWZjY2FmNQorIDlh ZDUxYzYzNDZlN2Q3MGE5NDI3N2VhZjcxNDZmYTExMTk5YjJhYjQwZDkxNjUzZDZhYmYwZDM3NGY3 MTM0ZmQKKyA2NGFkMDI2NzQ1NzY3OGE3YjZmMmIzZTQ1MmYzNjc4YTNhYWYxNGJmYjkwNWY0Zjc4 Y2U0ZDk5ZTA2MzEyYzM3CisgOTFkZjQ4YzliNmFlMjNlOWU5NDY0MWI5OGEwYmE5NzhmMzA4Y2Zk NzIyMzZmMGEwYjlmYTcxMmUwMjZjYzcxZAorIDUyZTg3MDQ4MTIwMjQzMDkyZDc3Zjc5YWEzMzg1 MmI1N2Y2YWVjODc1YjQ0Y2M3ZjMyMWFiZDUwZjg4YWZlN2QKKyBhOThhMjZkMGE1MGFmN2ZlYzdh OTVmMTM4ZDcyNGVmNjdmMzA5MzAzYTBkZjgwNjdjMDc1NWMxMzliMjU0YWVlCisgMTI2ODk0MDE1 ZjE3ZDkwODA2MmYxNjAwYzdkOGZhNDAxMGI4ZWQ3MGQyMDZiZmZjNGE0MDhiNDMzNTZlYTNkNAor IDIyMTgwZjY2MDEzNzZiMTMyZjJmNDZlYjA4YTRlY2IzYzQ4NGU3NmJiOTA1ODc3NjRhZGRkNWQw NjQ3MDI5ZWEKKyBjYmIzMjNiMmIxMTMzZDgyOTBiOTkxYjc5MDA4ZWU4NDcxYTkxNmM1YmE1NDJj YThlMzU5NzcwYzE5ZDQ3NTlhCisgYjMwMTVhN2RiZjY5M2NlOWVmNDRjNmYzYjhmN2MwZjA0M2Ji MTM0NzRlNDE0NDE1OWNjMjZhNjVjYmIyMzUyMQorIDJhYjg1MTk3NGJkYmI1YjkxNGFjZDQ0ZWRm ZDZlZjJhZGY0ZDBkODNiODcyYThhZGI4YjJiNjRkNjIwYjI3ZmMKKyAyMzRlY2M1N2U5OWJlMzlh YTUxYWI1ZTVlNWIyMzhhOWM1ODU3ZmQzNjZmNjljZGYxNjBlZmQyNTIzN2QwNDk2CisgZTYyN2Fh OWVlODVlNDQ5Y2VkMmU2NTVmNDVhYjYwZTEzNzJhMzZmNGI5ZmY4NTQzODM5YTg2NDc2NjcxODU2 OQorIGRlOWIxYTY0YjAxZmQxNWZmNmI4OWQ2Y2NjOTM0NTFlMWYxMTIxNmIwN2RjNWU2ZmEwNTI2 OGMzZTkyNmNhZTEKKyAyY2E4ODkxODAxOTFkODE4M2UwNTJjOWRmM2MzNzc2MDBmY2FlNjIyZjc2 NDlhYjQ4OGEzYzFhNWExY2Q4ZDViCisgM2I5NWFhY2UzNTc5YjUzNWE1NTEyOGI5OTU5OTc5YTYx ZGJhMjJiY2RiMTk1ZTM2MmNlZWI3NTI2NDA3Yzc3YQorIDQ5MTU0Mzg4NTQ5YTljNWRiMzIxZWJi N2QzMjc3MDhhN2JmNGIzNmRlMzljZGYwZDkzZDNiODhjZWUwNzdmYjMKKyA5ZjJiMzViYzk0MmNh NjljYjQ5OGMyNzUyYTIzNGY1OGExYTc2NWNlMzA1NjM1ODljNzIwYTc1NWJmMjllNjU1CisgZTEw YThlNzJmMGI2YWEyNjdhNGEzZTUxNzA4Yzg2YzIxZDliOTJkZGZhYzI4ZDFmMmQ2OGE4YjIxNzI5 Y2E4YworIDA5YTFlNTFiYTY2ODk1OTMzMWFjNDYwNDFhNzZjYzE1ZjM0NWI4NjM0YTY0MjkxODU0 NGMwMTU4Nzc3ZGQ5ODkKKyA3NzkyYmJjYzlhMWRkY2ZjYTg5NjhjZWE1YmNhYWUyNTAwOTViNWE0 NmZkZTVkNTFhNDhkNDQyNmI0YzZmNWQyCisgNjM4YzY2NTU1N2VmNjU1NmE1YmJiMmM5Zjc5ZmNh NzgwYTA4MTIyNmRiZDVhNDY1ZTc2MTVmMDU1YTExNzc0OAorIDljM2I0NTkwMGEyOGFiM2VmYjVi M2JiNTJkYWViYWNjMWRkM2EyNDY5MzZiNzQ1ZmZmNjc2ZTZjM2ZkMjUxZmQKKyA3YmNiYmEzZTM1 M2NjN2EwMzQ0MzAyZGI4YTk4ODhmNjA2ZTI4ZThjMmYxMWY0Zjg4ZGRlNTJmYmE2OWI0M2M0Cisg NjIzODNiYTk4YTE2OTY0Y2U2ZWYyYmRlODc4NTE1NTA1OTY1Y2ZkZWQxN2I2OWU0NzdkMzY3MWUx YTk0MmZlZgorIGRjYzIyMTI1MjliZWE0ZThiMjFiZWRmM2NlZWZlZWMxYTc5ODgxODAwNWQ1MjZk NmQxOGNhYmVjZGZmMjMwZTEKKyA1ZDBjNjRjZWM2YWFmY2Y0NzhiNTdjMjY2NDBlMThjZmFlNjky OGQ1YWU3MDViOWE4MjMzNzU1OTM4OWE1N2ZlCisgZGFiNzMwZWFiMjE2YzJjYjBhMTY3MmEyMWU3 OGZiZjkzYzY3MjQ5OGQ1ZTM2NzgxYjFjNjgwNTBhZTg0MzFkOQorIGU5Mjk2ZmRhZGI4NGQzNDYy ZjYzYTA2ZTllNzJlM2Q3YzFlNmRmOTU4NzBhNmYzMDNiNDk4ZmIxMTVlOGFjNmIKKyA1MTlmMWFm ZTJiMWE2NzQ3ZTI2NzE4ZjI4YjM5ZDI3ZjVkMDE4OGJjODVlZDkwNmI1NGQxOGNiY2E2YTY3ZWM3 CisgZTkwZmRkMzRkMWQ0NjEyYmQxYTdhODFjYTMyNzViZTJkYWRhMjY4NjI5NDRiNGNhZWIzNTY0 ODI1OTZmNTkxYQorIDgzMTQyYWZhODJhOWRiMzI3NDc1YWZjYzMzMTg4ODJmZDhhMjZkODFiYzk0 Njc0OWQ1N2ViMzkyM2M1ZjQ4OWIKKyAwMjc2MDQzMjg4NjBkNWJjOTM4YWM5NTY0YWFlODk1NzMw OGRhNWI5ZWMwNWNkMzk4NDg1NmRhMWMyYWYzZWEwCisgYTcwMjgzOTg4MTZhZTIzMzRiZjk0YzY2 ZWZlNDI5ZDk4MWE0OGI3OTAyODZkMjdmZGMyNWYzMzg4NzIwZTYyYworIDkyMjRhN2UwZjFjZWVj ZGY0YzdmNzdmZGViNTEwMTAwNDE5ZjllODA1ZTBiMjA0ZjBjNTlkMzYyNzVmNmQ5MjUKKyA4YWY5 OTBhNmZiODA1ZjU1MjY0M2I2ZWUzOGQxNzhkMmY3NWJkMTY5ODAyY2VjMTc4MTc1YzgwMDViYzc3 YjM3CisgYjYyOTg4NmE0N2ZhY2FmN2ZhZDEwNWI3ZWU5ZGM5OGI0NzA2NzBiMjViNTc1ZTUxNzEw ZDg3NjIzNTIwOTY3NAorIDMxZmM3Zjg4MmI3OWM0ZDkxZDI3MGJjYzhlNWIyZmE3MDY2ZjIxZDZj OGE1ZDRkNDkxZDc4OTZlNDkyMDJmMDYKKyBmZDdlNWRjNTEwNzcwY2M2MDFmOWVkNGUxNzRiODU4 NWVmMjgzMTZmNjYwMzc5MjM1MjQ1ZjEwY2MwYzZiYzNlCisgZTBhYzZkMTYyNmMxZGZhMDViY2Y2 Mjk4OTE5YWVlZTRmYTY5MDRkNGEzNDc2MDhkNzI5ZTM4ZWFkNGJhZjEyMAorIGZlMDVlMDA0MTNh MjkwNWYzZjI1ZDY1ZDYzNTY1NWNmOWUzN2Q2MmZlYzVkMGQyMzVlYTVjYzdmYTA4ZWUxZmQKKyAy MGZmMmM5MzBiNzMyMDgyYTQ0MDIwZmRlYmM1ODhhYzA2OTI2NGVhZDQ4ZmEwZjlhY2U1YWVhNDIx MGIwNDZmCisgNDM0NmU0NzQwMDljYmI2MzAzOTJlZDA1ODNjNjU0NDhlZTU3N2E3MTQwM2NiMTY0 ZTkwNGE5OWJmNmU4MTljMgorIGY0OGFjMmUyNzI1YzgzYzgyYWYwMzc0YjVhYTdhMWRhMjcwYmYy NWVhNjk2YzUzM2M5ODFkMzQ1MTg3NDZmYmQKKyBlNTIwYTc5ZWJkZWM4Mjk4ODlhMjIyNTA3OWVh NzA4MWJmYTE1M2NjZjcxMDI0YTk2MTc2MjViODg5MjNkMDExCisgZmViNDcxNjgyZThhYTc5Y2Rj NDEwYzA1M2JkMjc2Mzg3ODI3NWYxYWJmZjE3YmNiMTc4Mzc5OGVlMjY0YjZiZQorIGY5OGEwN2Nj YjQ4MDZkZGZlZjgxNTcxMjc1NmYwNmI4MjU0M2RkMTM0ODNhYmU5ODY1NDM0ZDRjMjQ3ZmEyYjAK KyAxN2Y2Mzg4ODA3ZWM0OGE4NDE5ZGNjNjczODFmOGQ4YTVhYWRkNDY3ZWQ3ZDZjMzg2ZmY1NjE3 M2U2NDU2MzNjCisgZjdhYWIyYzUxYTc4Y2FjNDcyNzBiZDM3YzliNTQ1ZmUwN2IwODQyOTI5OWQ4 ZmRjMjdiMDg3Y2NiYjQxMDhmMQorIDBkZDU5ZTlhNjY5ODk0ZDlhZTgyYzUwZjJlZTA0NDk1OTIy YWE2ZjQ1NzgwYjUxZGYwODk3MDZjN2JhOWNiY2MKKyA3NTc5Y2U4M2YwODg2OTM5ODkzMjZiNzE2 NmY2NmEzODA4Mzk4YmU4MWI5MjIzNjE1NTZjM2VmYmM4YThjMDhhCisgZjA3ZTk1ZWVhMTFjOGY2 ZTUxNmMwZmRiMzMwMzhjMzIxYWU4YWEyN2FjODFmNWM2NzczY2YzMTA0ZTk2N2ExOQorIDVlMjQ3 Zjg2YzE1YTI2N2FjMDE3ZGZjZjczMzk1ZWQzMTA0ZjQwN2M5NmJiNjA2ZTM0MDcwMzMyZTJiMjYw NTAKKyA4YjYxYTM2N2ExODZmZWNhNzM1NDg3ZDlmNjJmMGRlNzg2NWQxYTY3OGU3ZTlmOTkwYWQz MTk0NWJhYjEwZWI3CisgMDgwZjE1MGUwNjY1MDg5NDY0ODJlNzhkY2M3MTRjOWZiM2I2M2E3OTc1 ZjY2Y2ViYTAxOGZmYzViYzY1YTgzMworIGU5ZjViNzRhMjg1NmZjMDA5YzMxMzkxNjQ4NzJjY2Jl Mjg0NjE4ZDdmYzFmYTU5YzE2NTc1YzgyY2RhODQ5MWUKKyA4MGM1MGIyNTJiNGJjMGMwMGEzMzZh OWJkYmZiMDVlN2M1MTBmNGFkMWFlNmM2NGY5MmY2ZjZhMDM3ZjlkNzYyCisgODU1OTZhNzNhOTU3 ZmY4MGQ0MDNkNjkxY2JjOTY3MjRiYWU3MTg2ZTEzNThmODVjM2VmMjFjNTAxYjAzM2FkMQorIDgx Mjc3YTNlOGI4OTZlNzYwZWY3NWFkOTBjMTk3ODE4YWEzMzk1YWJmMDE3Yjc1NjBkYjViMTg5MzAy ZDhlMWQKKyA3MzNkZTJkZjQ5NzYyZTdjNmUxNmEwMmFjYmZlNDA5ODY5ZWM2MWYwNzEzNjRkMGJi ZThjYmVlNDNmMzUwYzA3CisgYjhkNjM0YzZjZTdiMDNiYzc4YzAyNDgwZDgyYTRlZmZiZWM0NjEx OWNkOGE2YzdhMGZiZmJkYmQ3ZjhiZWU5MworIGY2OGM4YzhkZTIzZWM0ZWFlNDA3ZTQ0MTc2ZGY3 N2I0ODE0NmEyYmQ2ZGU0ZWRiY2Y2ZWNhMzNmM2NmOTNjYjIKKyBkYTViOGQxMGJmYWU5ODcwNTFm OTc4ZjVmNTcwN2M5NTMyYzEyNDIzMzkyOTQwMjI0OWFjOTlmZTAyN2M0YzU2CisgNWEwMDIyMWMy NjRlMDZiMDQ0NzZhY2Y0MDk4ZWI5YTU4MTNlYWViZDM4ZDM1NTI3NjUyYWU3NTdiZDdhYzgxOQor IDg0OTg3MmYxZWRmNjc0YjUyMDBjMzViMDUzNzVhMjNhZTU2NDM3ZThlYzFmNWNiYmQ4Y2Q0NDcw MTI3ODk2ZDEKKyBjMzcwNzUxOTE0ODFhOTNmZDgyYzNlYzEyY2I1ZWQ4MTY4MmVmZjQ3MjJlMWQ1 MTkyODc1MzVlOTU5YTQ2Mzc5CisgMjg2ZmQyOTkxNTcwYmU3ODEzYTczNzJiMDY1MWVlODRkZTNl OTRlMTJiNDFlOTA2ZGUzODA1NzNjMDViNzVhOQorIDhmMzY3ZmVlYmQ2MzRiMWNkZDAwNGMwYzQ0 OGZlZDg0NzNmNzgwNTExZjUyNWViYTdhOTAyNzUzZDg3M2I2M2EKKyBmNThiM2ViOGRiZjRiMjE0 Y2Q2ZGU0NGZmYzIzZGRkZGQyYTJlNjFiYTRmMmIyMWViMWFlMTM0NjY5ZTNlMTlhCisgYzUyN2Nh Mjc2ZDdjMmI2NzZlODkwMzBhMzZiMWIwZDJlYjMwZWI5ODY4NDlkMWVjYzNjN2ZjOTBlZDFiNWIy MgorIDg5MzQ4NGZiZmEyOTdmYzg3NzMzOTE4NjIwZjk0NjI5ZjJiYWVlNWQ3NDdiOGNiY2VmNGZm NTI2OGQwYjhkM2UKKyAxMWE0NmRkZTJmNGUzMmM3YmE1NDk4MTk1OTczZTI2ZGQ3NTdlNmViNmY4 MTcxNzI1OTA2MmE5MmMwYmM2Y2MwCisgMGJjYTk5ZmY1MGNiNzEwNWJiYWJhMTliMzQ1YzkzM2I5 ZTQ5MDJhOTJlNDM5YmMxYmRkYzhkYjIxMGEwNDE2ZQorIDA3NTM2YTg3ODEzYmU1ZGUzZjJkN2I5 ODI4YjlkODQ2ZGFhNDY1NmVkOTgzZWY4MzIxNDk2ZDYzZDc0ZWQ1NWYKKyBiZjU3ZTk4NjU5YzM1 N2ZiNDIyM2QxMzIwZDQ0NWFkNThjYjc1YTUzMjdlY2VlY2M5ZGVlZjRmODFiNzEzMzg4CisgNzk1 MzIyMjIwZWM4OTE2ZTE1OTM4NjM3ZDNkMGVlMGZlZGM4NzZlNjAyMGE1ZThkMjZkODI4MTgyOWI3 YTYwOQorIDBiNDMyN2MxMDRmMTU5MjAyZjRkMGVjMmM0YWYzZjc0MjU1MTMyMmVhNzg4MDE5NGNi NGQ1ZWIyZTcyZWZiMzkKKyA5Y2MzYWM2YzU5MmY3Y2MwOGY1YmQwYzcyODVjNWRlNjUzMGE2MzM5 NzIxMjg3OGQ2OWY0MzZmMDcxMTAwNDliCisgYzYzYzE3MGM2NmIzOWFkOWRlM2Y4ZjZhZGM1OTgw Yzc5OTRlYTVlZTg3MzE0MDY1NGJkY2YxMmMzYmMzMTVkMQorIGNmOTRhYzZmODcyODM2N2Q0ODUx NzNhZmM2YjE3ZDE2ODdlYmIyM2NiN2JjM2NmMzYwNzNjZWIwNzg2ZTYyODMKKyBhYmNlYjJmN2Y5 ZWExNDJjOTAyOTM0NGU1MDJjZmFkODIxZDMyOTYwNDYyYjljMTc0N2MyODlkYjE5YTY1MmJjCisg ZTBlYjA2YmY2ODE4ZGYxMDM0NWUwOGFkMTQzMWQzMDBiYmUyNmM1MmYxYzE3OTVlOTVmZDE1NzI5 NmQzNzk0ZCIK --===============3957664662728841418==--