From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Bumped to 1.5.1 Date: Sun, 31 May 2026 02:05:54 GMT Message-ID: <178019315435.1.1296106000456445743.rpms-ibus-ecac051715f1@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: ecac051715f1bd592f47db0560256e099720b6ae QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvaWJ1cwpCcmFuY2gg OiBhdXRvdG9vbApDb21taXQgOiBlY2FjMDUxNzE1ZjFiZDU5MmY0N2RiMDU2MDI1NmUwOTk3MjBi NmFlCkF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgpEYXRlICAg OiAyMDEzLTAxLTE1VDE5OjAyOjQxKzA5OjAwClN0YXRzICA6ICs2NTkvLTI3ODcgaW4gMTAgZmls ZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2lidXMvYy9l Y2FjMDUxNzE1ZjFiZDU5MmY0N2RiMDU2MDI1NmUwOTk3MjBiNmFlP2JyYW5jaD1hdXRvdG9vbAoK TG9nOgpCdW1wZWQgdG8gMS41LjEKCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRp Z25vcmUKaW5kZXggOTFlOWZlZC4uMjk3YjA4MCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysg Yi8uZ2l0aWdub3JlCkBAIC01LDYgKzUsNyBAQCBpYnVzLTEuMy42LnRhci5negogL2lidXMtMS4z LjkudGFyLmd6CiAvaWJ1cy0xLjQuMC50YXIuZ3oKIC9pYnVzLTEuNC4xLnRhci5negorL2lidXMt MS41LjEudGFyLmd6CiAvaWJ1cy0xLjMuOTkuMjAxMDEwMjgudGFyLmd6CiAvaWJ1cy0xLjMuOTku MjAxMDExMTgudGFyLmd6CiAvaWJ1cy0xLjMuOTkuMjAxMDEyMDIudGFyLmd6CkBAIC00OSw0ICs1 MCw0IEBAIGlidXMtMS4zLjYudGFyLmd6CiAvaWJ1cy1nanMtMy40LjEuMjAxMjA0MjgudGFyLmd6 CiAvaWJ1cy1nanMtMy40LjEuMjAxMjA1MTgudGFyLmd6CiAvaWJ1cy1nanMtMy40LjEuMjAxMjA4 MTUudGFyLmd6Ci0vaWJ1cy1wby0xLjQuOTkuMjAxMjEyMDcudGFyLmd6CisvaWJ1cy1nanMtMy40 LjEuMjAxMzAxMTUudGFyLmd6CgpkaWZmIC0tZ2l0IGEvaWJ1cy01MzA3MTEtcHJlbG9hZC1zeXMu cGF0Y2ggYi9pYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaAppbmRleCAwODcwY2MxLi41NGIw ZWVjIDEwMDY0NAotLS0gYS9pYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaAorKysgYi9pYnVz LTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gZGZlODU4Zjdi YTQ3NmFhODc4YzVkNjBhNzQ4MGEwM2RlZjU1ODQ2MyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb20gZjIwOWQ0YzM0MzBkZjM3MDdjNDMyZGRmY2ZjMTg0Yjc5MWJiNTBmZCBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IFR1ZSwgMjcgTm92IDIwMTIgMTU6NTM6MjcgKzA5MDAKK0RhdGU6IEZyaSwgMTEg SmFuIDIwMTMgMjM6MDM6MTkgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gUmVsb2FkIHByZWxvYWQg ZW5naW5lcyB1bnRpbCB1c2VycyBjdXN0b21pemUgdGhlIGxpc3QuCiAKIFRoZSBpZGVhIGlzLCBp ZiB1c2VycyBkb24ndCBjdXN0b21pemUgdGhlIHByZWxvYWRfZW5naW5lcyB3aXRoIGlidXMtc2V0 dXAsCkBAIC0yNSw3ICsyNSw3IEBAIElCVVNfUFJFTE9BRF9FTkdJTkVfTU9ERV9VU0VSIGFuZCB1 c2VycyBjYW4gY3VzdG9taXplIHRoZSB2YWx1ZQogIDUgZmlsZXMgY2hhbmdlZCwgMjQ2IGluc2Vy dGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9kYXRhL2lidXMuc2NoZW1h cy5pbiBiL2RhdGEvaWJ1cy5zY2hlbWFzLmluCi1pbmRleCAxYTBlMmQyLi42NGY2ZjMzIDEwMDY0 NAoraW5kZXggNzBiZjljYS4uNzgzMzk1OSAxMDA2NDQKIC0tLSBhL2RhdGEvaWJ1cy5zY2hlbWFz LmluCiArKysgYi9kYXRhL2lidXMuc2NoZW1hcy5pbgogQEAgLTIsNiArMiwzMCBAQApAQCAtNjAs MTAgKzYwLDEwIEBAIGluZGV4IDFhMGUyZDIuLjY0ZjZmMzMgMTAwNjQ0CiAgICAgICAgPGFwcGx5 dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL3ByZWxvYWRfZW5naW5lczwvYXBwbHl0bz4KICAgICAg ICA8b3duZXI+aWJ1czwvb3duZXI+CiBkaWZmIC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVw L21haW4ucHkKLWluZGV4IGMwMjIyOWIuLjVkYTYzNDAgMTAwNjQ0CitpbmRleCA3MDdmYWE0Li5h YWU2YmI5IDEwMDY0NAogLS0tIGEvc2V0dXAvbWFpbi5weQogKysrIGIvc2V0dXAvbWFpbi5weQot QEAgLTE5Niw2ICsxOTYsMjAgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKK0BAIC0xOTAsNiArMTkw LDIwIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CiAgICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25f dXNlX2dsb2JhbF9lbmdpbmUuY29ubmVjdCgidG9nZ2xlZCIsCiAgICAgICAgICAgICAgICAgIHNl bGYuX19jaGVja2J1dHRvbl91c2VfZ2xvYmFsX2VuZ2luZV90b2dnbGVkX2NiKQogIApAQCAtODMs OCArODMsOCBAQCBpbmRleCBjMDIyMjliLi41ZGE2MzQwIDEwMDY0NAogKwogICAgICAgICAgIyBp bml0IGVuZ2luZSBwYWdlCiAgICAgICAgICBzZWxmLl9fZW5naW5lcyA9IHNlbGYuX19idXMubGlz dF9lbmdpbmVzKCkKLSAgICAgICAgIHZhbHVlID0gc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUoImdl bmVyYWwiLCAibG9hZF94a2JfbGF5b3V0cyIpCi1AQCAtMjU3LDYgKzI3MSw3IEBAIGNsYXNzIFNl dHVwKG9iamVjdCk6CisgICAgICAgICBzZWxmLl9fY29tYm9ib3ggPSBzZWxmLl9fYnVpbGRlci5n ZXRfb2JqZWN0KCJjb21ib2JveF9lbmdpbmVzIikKK0BAIC0yNDMsNiArMjU3LDcgQEAgY2xhc3Mg U2V0dXAob2JqZWN0KToKICAgICAgICAgICAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX2F1dG9f c3RhcnRfdG9nZ2xlZF9jYikKICAKICAgICAgICAgIHNlbGYuX19jb25maWcgPSBzZWxmLl9fYnVz LmdldF9jb25maWcoKQpAQCAtOTIsNyArOTIsNyBAQCBpbmRleCBjMDIyMjliLi41ZGE2MzQwIDEw MDY0NAogIAogICAgICAgICAgc2VsZi5fX2luaXRfaG90a2V5KCkKICAgICAgICAgIHNlbGYuX19p bml0X3BhbmVsKCkKLUBAIC0yNzEsOCArMjg2LDggQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKK0BA IC0yNTEsOCArMjY2LDggQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKICAgICAgZGVmIF9fY29tYm9i b3hfbm90aWZ5X2FjdGl2ZV9lbmdpbmVfY2Ioc2VsZiwgY29tYm9ib3gsIHByb3BlcnR5KToKICAg ICAgICAgIGVuZ2luZSA9IHNlbGYuX19jb21ib2JveC5nZXRfYWN0aXZlX2VuZ2luZSgpCiAgICAg ICAgICBidXR0b24gPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJidXR0b25fZW5naW5lX2Fk ZCIpCkBAIC0xMDMsNyArMTAzLDcgQEAgaW5kZXggYzAyMjI5Yi4uNWRhNjM0MCAxMDA2NDQKICAK ICAgICAgZGVmIF9fZ2V0X2VuZ2luZV9zZXR1cF9leGVjX2FyZ3Moc2VsZiwgZW5naW5lKToKICAg ICAgICAgIGFyZ3MgPSBbXQotQEAgLTM1MSw2ICszNjYsMzQgQEAgY2xhc3MgU2V0dXAob2JqZWN0 KToKK0BAIC0zMjQsNiArMzM5LDM0IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CiAgICAgICAgICAg ICAgZGVsIHNlbGYuX19lbmdpbmVfc2V0dXBfZXhlY19saXN0W25hbWVdCiAgICAgICAgICBzZWxm Ll9fZW5naW5lX3NldHVwX2V4ZWNfbGlzdFtuYW1lXSA9IG9zLnNwYXdubChvcy5QX05PV0FJVCwg KmFyZ3MpCiAgCkBAIC0xMzgsNyArMTM4LDcgQEAgaW5kZXggYzAyMjI5Yi4uNWRhNjM0MCAxMDA2 NDQKICAgICAgZGVmIF9faW5pdF9idXMoc2VsZik6CiAgICAgICAgICBzZWxmLl9fYnVzID0gSUJ1 cy5CdXMoKQogICAgICAgICAgaWYgc2VsZi5fX2J1cy5pc19jb25uZWN0ZWQoKToKLUBAIC01NjIs OCArNjA1LDE4IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CitAQCAtNTM4LDggKzU4MSwxOCBAQCBj bGFzcyBTZXR1cChvYmplY3QpOgogICAgICAgICAgdmFsdWUgPSBHTGliLlZhcmlhbnQubmV3X2Jv b2xlYW4odmFsdWUpCiAgICAgICAgICBzZWxmLl9fY29uZmlnLnNldF92YWx1ZSgiZ2VuZXJhbCIs ICJ1c2VfZ2xvYmFsX2VuZ2luZSIsIHZhbHVlKQogIApAQCAtMTQ4LDcgKzE0OCw3IEBAIGluZGV4 IGMwMjIyOWIuLjVkYTYzNDAgMTAwNjQ0CiArICAgICAgICBpZiBzZWN0aW9uID09ICdnZW5lcmFs JyBhbmQgbmFtZSA9PSAncHJlbG9hZF9lbmdpbmVzJzoKICsgICAgICAgICAgICB2YWx1ZSA9IFtd CiArICAgICAgICAgICAgaWYgdmFyaWFudCAhPSBOb25lOgotKyAgICAgICAgICAgICAgICB2YWx1 ZSA9IHNlbGYuX192YXJpYW50X2R1cF9zdHJ2KHZhcmlhbnQpCisrICAgICAgICAgICAgICAgIHZh bHVlID0gdmFyaWFudC51bnBhY2soKQogKyAgICAgICAgICAgIGVuZ2luZXMgPSBzZWxmLl9fZ2V0 X2VuZ2luZV9kZXNjc19mcm9tX25hbWVzKHZhbHVlKQogKyAgICAgICAgICAgIGN1cnJlbnRfZW5n aW5lcyA9IHNlbGYuX190cmVldmlldy5nZXRfZW5naW5lcygpCiArICAgICAgICAgICAgZW5naW5l c19jc3YgPSBzdHIuam9pbignLCcsIG1hcChsYW1iZGEgZTogZS5nZXRfbmFtZSgpLCBlbmdpbmVz KSkKQEAgLTE2MCwxMCArMTYwLDEwIEBAIGluZGV4IGMwMjIyOWIuLjVkYTYzNDAgMTAwNjQ0CiAg ICAgIGRlZiBfX2NvbmZpZ19yZWxvYWRlZF9jYihzZWxmLCBidXMpOgogICAgICAgICAgcGFzcwog ZGlmZiAtLWdpdCBhL3NldHVwL3NldHVwLnVpIGIvc2V0dXAvc2V0dXAudWkKLWluZGV4IDgxMjFk NjIuLjIwMjYxNzIgMTAwNjQ0CitpbmRleCBlNTZlOTE3Li5iMzE2NWFhIDEwMDY0NAogLS0tIGEv c2V0dXAvc2V0dXAudWkKICsrKyBiL3NldHVwL3NldHVwLnVpCi1AQCAtNjUzLDcgKzY1MywyMyBA QAorQEAgLTY2OSw3ICs2NjksMjMgQEAKICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAg ICAgIDxjaGlsZD4KQEAgLTE4OCw3ICsxODgsNyBAQCBpbmRleCA4MTIxZDYyLi4yMDI2MTcyIDEw MDY0NAogICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5U cnVlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i Y2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNo aWxkPgotQEAgLTg0Miw3ICs4NTgsNyBAQAorQEAgLTg1OCw3ICs4NzQsNyBAQAogICAgICAgICAg ICAgICAgICAgICAgICA8cGFja2luZz4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iZXhwYW5kIj5UcnVlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0iZmlsbCI+VHJ1ZTwvcHJvcGVydHk+CkBAIC0xOTcsNyArMTk3LDcg QEAgaW5kZXggODEyMWQ2Mi4uMjAyNjE3MiAxMDA2NDQKICAgICAgICAgICAgICAgICAgICAgICAg PC9wYWNraW5nPgogICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KICAgICAgICAgICAgICAg ICAgICAgIDxjaGlsZD4KLUBAIC04ODksNyArOTA1LDcgQEAgWW91IG1heSB1c2UgdXAvZG93biBi dXR0b25zIHRvIGNoYW5nZSBpdC4mbHQ7L2kmZ3Q7Jmx0Oy9zbWFsbCZndDs8L3Byb3BlcnR5Pgor QEAgLTkwNSw3ICs5MjEsNyBAQCBZb3UgbWF5IHVzZSB1cC9kb3duIGJ1dHRvbnMgdG8gY2hhbmdl IGl0LiZsdDsvaSZndDsmbHQ7L3NtYWxsJmd0OzwvcHJvcGVydHk+CiAgICAgICAgICAgICAgICAg ICAgICAgIDxwYWNraW5nPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJleHBhbmQiPkZhbHNlPC9wcm9wZXJ0eT4KICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0iZmlsbCI+VHJ1ZTwvcHJvcGVydHk+CkBAIC0yMjgsMTAgKzIyOCwxMCBAQCBp bmRleCA3MzdiM2UyLi44Y2U1YTE2IDEwMDY0NAogICAqIEB4OiB4IGNvb3JkaW5hdGUuCiAgICog QHk6IHkgY29vcmRpbmF0ZS4KIGRpZmYgLS1naXQgYS91aS9ndGszL3BhbmVsLnZhbGEgYi91aS9n dGszL3BhbmVsLnZhbGEKLWluZGV4IDYzYjBjZGUuLmM0YzhmMmMgMTAwNjQ0CitpbmRleCA1NWI2 M2NlLi40NzE3NDMxIDEwMDY0NAogLS0tIGEvdWkvZ3RrMy9wYW5lbC52YWxhCiArKysgYi91aS9n dGszL3BhbmVsLnZhbGEKLUBAIC0zMTMsNiArMzEzLDggQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBh bmVsU2VydmljZSB7CitAQCAtMjkxLDYgKzI5MSw4IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5l bFNlcnZpY2UgewogICAgICAgICAgaWYgKG1fY29uZmlnICE9IG51bGwpIHsKICAgICAgICAgICAg ICBtX2NvbmZpZy52YWx1ZV9jaGFuZ2VkLmNvbm5lY3QoY29uZmlnX3ZhbHVlX2NoYW5nZWRfY2Ip OwogICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJnZW5lcmFsIiwgInByZWxvYWRfZW5naW5l cyIpOwpAQCAtMjM5LDggKzIzOSw4IEBAIGluZGV4IDYzYjBjZGUuLmM0YzhmMmMgMTAwNjQ0CiAr ICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVfbW9k ZSIpOwogICAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJnZW5lcmFsIiwgImVuZ2luZXNfb3Jk ZXIiKTsKICAgICAgICAgICAgICBtX2NvbmZpZy53YXRjaCgiZ2VuZXJhbCIsICJzd2l0Y2hlcl9k ZWxheV90aW1lIik7Ci0gICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVyYWwvaG90a2V5 IiwgInRyaWdnZXJfYWNjZWwiKTsKLUBAIC00MjUsNyArNDI3LDEzNiBAQCBjbGFzcyBQYW5lbCA6 IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAgICAgICAgICAgICBtX2NvbmZpZy53YXRjaCgiZ2VuZXJh bC9ob3RrZXkiLCAidHJpZ2dlcnMiKTsKK0BAIC0zNTgsNyArMzYwLDEzNiBAQCBjbGFzcyBQYW5l bCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKICAgICAgICAgICAgICBpbml0X2drYmQoKTsKICAgICAg ICAgIH0KICAKQEAgLTM3Nyw3ICszNzcsNyBAQCBpbmRleCA2M2IwY2RlLi5jNGM4ZjJjIDEwMDY0 NAogICAgICB9CiAgCiAgICAgIHByaXZhdGUgdm9pZCB1cGRhdGVfeGtiX2VuZ2luZXMoKSB7Ci1A QCAtNTkxLDYgKzcyMiwxMSBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKK0BA IC01NzMsNiArNzA0LDExIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIHNlY3Rpb24sCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgbmFtZSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhbnQgdmFyaWFudCkg ewoKZGlmZiAtLWdpdCBhL2lidXMtNTQxNDkyLXhrYi5wYXRjaCBiL2lidXMtNTQxNDkyLXhrYi5w YXRjaAppbmRleCBlNzJlYzQ0Li41MmU5MGQwIDEwMDY0NAotLS0gYS9pYnVzLTU0MTQ5Mi14a2Iu cGF0Y2gKKysrIGIvaWJ1cy01NDE0OTIteGtiLnBhdGNoCkBAIC0xLDQwICsxLDI4IEBACi1Gcm9t IDk2NWYwOWE5NDc0NGI2Mzc0NjU2MjQ3ZmYwOTFlYjkxYjViYWQwYjIgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tIDY3NzJiYzBmYzgyMDc0Y2QwMGQ1NmMwZTk3OTVkMTYzYjQ4OTI4MWUg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCiBGcm9tOiBmdWppd2FyYXQgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci1EYXRlOiBNb24sIDEwIERlYyAyMDEyIDE2OjI0OjM0ICswOTAwCitEYXRl OiBGcmksIDExIEphbiAyMDEzIDIyOjU1OjE3ICswOTAwCiBTdWJqZWN0OiBbUEFUQ0hdIEFkZCBp YnVzLXhrYiBhbmQgbGliZ25vbWVrYmQuCiAKIC0tLQogIGJpbmRpbmdzL3ZhbGEvR2tiZC0zLjAu bWV0YWRhdGEgfCAgIDEgKwotIGJpbmRpbmdzL3ZhbGEvTWFrZWZpbGUuYW0gICAgICAgfCAgMjMg KysKKyBiaW5kaW5ncy92YWxhL01ha2VmaWxlLmFtICAgICAgIHwgIDE1ICsrCiAgYmluZGluZ3Mv dmFsYS9Ya2wtMS4wLm1ldGFkYXRhICB8ICAgMyArCi0gY29uZmlndXJlLmFjICAgICAgICAgICAg ICAgICAgICB8ICA2OCArKysrKwotIGRhdGEvaWJ1cy5zY2hlbWFzLmluICAgICAgICAgICAgfCAg OTQgKysrKysrKwotIGVuZ2luZS9NYWtlZmlsZS5hbSAgICAgICAgICAgICAgfCAgIDYgKwotIGVu Z2luZS9pYnVzLXhrYi9NYWtlZmlsZS5hbSAgICAgfCAgNjEgKysrKwotIGVuZ2luZS9pYnVzLXhr Yi9pYnVzLXhrYi1tYWluLmMgfCAxNzMgKysrKysrKysrKysrCi0gZW5naW5lL2lidXMteGtiL3hr YmxpYi5jICAgICAgICB8IDMyNyArKysrKysrKysrKysrKysrKysrKysrCi0gZW5naW5lL2lidXMt eGtiL3hrYmxpYi5oICAgICAgICB8ICA0MSArKysKLSBlbmdpbmUvbWFpbi52YWxhICAgICAgICAg ICAgICAgIHwgIDg2ICsrKysrKwotIGVuZ2luZS9zaW1wbGUueG1sLmluLmluICAgICAgICAgfCA2 MDUgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIGlidXMtMS4wLnBj LmluICAgICAgICAgICAgICAgICAgfCAgIDQgKwotIGlidXMuc3BlYy5pbiAgICAgICAgICAgICAg ICAgICAgfCAgMTIgKwotIHNldHVwL21haW4ucHkgICAgICAgICAgICAgICAgICAgfCAgMzggKyst Ci0gc3JjL01ha2VmaWxlLmFtICAgICAgICAgICAgICAgICB8ICAgNSArCisgY29uZmlndXJlLmFj ICAgICAgICAgICAgICAgICAgICB8ICA0MCArKysrCisgZGF0YS9pYnVzLnNjaGVtYXMuaW4gICAg ICAgICAgICB8ICA1OSArKysrKworIGlidXMtMS4wLnBjLmluICAgICAgICAgICAgICAgICAgfCAg IDEgKworIGlidXMuc3BlYy5pbiAgICAgICAgICAgICAgICAgICAgfCAgMTIgKysKKyBzcmMvTWFr ZWZpbGUuYW0gICAgICAgICAgICAgICAgIHwgICAzICsKICBzcmMvaWJ1cy5oICAgICAgICAgICAg ICAgICAgICAgIHwgICAxICsKLSBzcmMvaWJ1c3hrYnhtbC5jICAgICAgICAgICAgICAgIHwgNDY2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSBzcmMvaWJ1c3hrYnhtbC5oICAgICAg ICAgICAgICAgIHwgMTg3ICsrKysrKysrKysrKysKLSB1aS9ndGszL01ha2VmaWxlLmFtICAgICAg ICAgICAgIHwgIDM3ICsrKwotIHVpL2d0azMvZ2tiZGxheW91dC52YWxhLmZhbHNlICAgfCAgNjMg KysrKysKLSB1aS9ndGszL2drYmRsYXlvdXQudmFsYS50cnVlICAgIHwgMTA4ICsrKysrKysKLSB1 aS9ndGszL3BhbmVsLnZhbGEgICAgICAgICAgICAgIHwgMzYyICsrKysrKysrKysrKysrKysrKysr KystLQotIHVpL2d0azMveGtibGF5b3V0LnZhbGEgICAgICAgICAgfCA0NjUgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCi0gMjQgZmlsZXMgY2hhbmdlZCwgMjU5NyBpbnNlcnRpb25zKCsp LCA2MzkgZGVsZXRpb25zKC0pCisgc3JjL2lidXN4a2J4bWwuYyAgICAgICAgICAgICAgICB8IDQ2 NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisgc3JjL2lidXN4a2J4 bWwuaCAgICAgICAgICAgICAgICB8IDE4NyArKysrKysrKysrKysrKysrCisgdWkvZ3RrMy9NYWtl ZmlsZS5hbSAgICAgICAgICAgICB8ICAzNiArKysrCisgdWkvZ3RrMy9na2JkbGF5b3V0LnZhbGEu ZmFsc2UgICB8ICA2MyArKysrKysKKyB1aS9ndGszL2drYmRsYXlvdXQudmFsYS50cnVlICAgIHwg MTA4ICsrKysrKysrKysKKyB1aS9ndGszL3BhbmVsLnZhbGEgICAgICAgICAgICAgIHwgMjE2ICsr KysrKysrKysrKysrKysrKy0KKyB1aS9ndGszL3hrYmxheW91dC52YWxhICAgICAgICAgIHwgNDMx ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKKyAxNiBmaWxlcyBjaGFuZ2Vk LCAxNjQxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKICBjcmVhdGUgbW9kZSAxMDA2NDQg YmluZGluZ3MvdmFsYS9Ha2JkLTMuMC5tZXRhZGF0YQogIGNyZWF0ZSBtb2RlIDEwMDY0NCBiaW5k aW5ncy92YWxhL1hrbC0xLjAubWV0YWRhdGEKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZW5naW5lL2li dXMteGtiL01ha2VmaWxlLmFtCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2luZS9pYnVzLXhrYi9p YnVzLXhrYi1tYWluLmMKLSBjcmVhdGUgbW9kZSAxMDA2NDQgZW5naW5lL2lidXMteGtiL3hrYmxp Yi5jCi0gY3JlYXRlIG1vZGUgMTAwNjQ0IGVuZ2luZS9pYnVzLXhrYi94a2JsaWIuaAogIGNyZWF0 ZSBtb2RlIDEwMDY0NCBzcmMvaWJ1c3hrYnhtbC5jCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9p YnVzeGtieG1sLmgKICBjcmVhdGUgbW9kZSAxMDA2NDQgdWkvZ3RrMy9na2JkbGF5b3V0LnZhbGEu ZmFsc2UKQEAgLTQ5LDM3ICszNywxNiBAQCBpbmRleCAwMDAwMDAwLi42NjFlNmZkCiBAQCAtMCww ICsxIEBACiArQ29uZmlndXJhdGlvbiBjaGVhZGVyX2ZpbGVuYW1lPSJsaWJnbm9tZWtiZC9na2Jk LWNvbmZpZ3VyYXRpb24uaCIKIGRpZmYgLS1naXQgYS9iaW5kaW5ncy92YWxhL01ha2VmaWxlLmFt IGIvYmluZGluZ3MvdmFsYS9NYWtlZmlsZS5hbQotaW5kZXggYWJjYzU0My4uMzA3YTE2MSAxMDA2 NDQKK2luZGV4IGFiYTM0NTQuLmJmMzA3NGEgMTAwNjQ0CiAtLS0gYS9iaW5kaW5ncy92YWxhL01h a2VmaWxlLmFtCiArKysgYi9iaW5kaW5ncy92YWxhL01ha2VmaWxlLmFtCi1AQCAtMjcsMTIgKzI3 LDIyIEBAIGRpc3RfdmFwaV9EQVRBID0gXAorQEAgLTI4LDYgKzI4LDE3IEBAIHZhcGlfZGVwcyA9 IFwKKyAJJCh0b3BfYnVpbGRkaXIpL3NyYy9JQnVzLTEuMC5naXIgXAogIAkkKE5VTEwpCiAgCi0g IyBEb24ndCByZWJ1aWxkIHZhcGkgZXZlcnkgdGltZSBnaXIgaXMgdXBkYXRlZC4KLStpZiBFTkFC TEVfTElCR05PTUVLQkQKLSB2YXBpX2RlcHMgPSBcCi0gCSQoc3JjZGlyKS9JQnVzLTEuMC5tZXRh ZGF0YSBcCi0gCSQoc3JjZGlyKS9JQnVzLTEuMC1jdXN0b20udmFsYSBcCi0gCXwgXAotKwkkKGJ1 aWxkZGlyKS9na2JkLnZhcGkgXAotIAkkKHRvcF9zcmNkaXIpL3NyYy9JQnVzLUBJQlVTX0FQSV9W RVJTSU9OQC5naXIgXAotIAkkKE5VTEwpCi0rZWxzZQotK3ZhcGlfZGVwcyA9IFwKLSsJJChzcmNk aXIpL0lCdXMtMS4wLm1ldGFkYXRhIFwKLSsJJChzcmNkaXIpL0lCdXMtMS4wLWN1c3RvbS52YWxh IFwKLSsJfCBcCi0rCSQodG9wX3NyY2Rpcikvc3JjL0lCdXMtQElCVVNfQVBJX1ZFUlNJT05ALmdp ciBcCi0rCSQoTlVMTCkKLStlbmRpZgotIAotIGlidXMtQElCVVNfQVBJX1ZFUlNJT05ALnZhcGk6 ICQodmFwaV9kZXBzKQotIAkkKEFNX1ZfR0VOKSAkKFZBUElHRU4pIC0tbGlicmFyeSBpYnVzLUBJ QlVTX0FQSV9WRVJTSU9OQCBcCi1AQCAtNDEsMTMgKzUxLDI2IEBAIGlidXMtQElCVVNfQVBJX1ZF UlNJT05ALnZhcGk6ICQodmFwaV9kZXBzKQotIAkJCSQodG9wX3NyY2Rpcikvc3JjL0lCdXMtQElC VVNfQVBJX1ZFUlNJT05ALmdpciBcCi0gCQkJJChzcmNkaXIpL0lCdXMtMS4wLWN1c3RvbS52YWxh Ci0gCiAraWYgRU5BQkxFX0xJQkdOT01FS0JECisrdmFwaV9kZXBzICs9ICQoYnVpbGRkaXIpL2dr YmQudmFwaQorKwogKyQoYnVpbGRkaXIpL2drYmQudmFwaToKICsJJChBTV9WX0dFTikgJChWQVBJ R0VOKSAtLWxpYnJhcnkgZ2tiZCBcCiArCSAgICAtLW1ldGFkYXRhZGlyICQoc3JjZGlyKSBcCkBA IC04OCwxMCArNTUsMTcgQEAgaW5kZXggYWJjYzU0My4uMzA3YTE2MSAxMDA2NDQKICsJJChOVUxM KQogK2VuZGlmCiArCisgaWJ1cy0xLjAudmFwaTogJCh2YXBpX2RlcHMpCisgCisgVkFQSUdFTl9W QVBJUyA9IGlidXMtMS4wLnZhcGkKK0BAIC00MywxMSArNTQsMTUgQEAgdmFwaWRpciA9ICQoZGF0 YWRpcikvdmFsYS92YXBpCisgdmFwaV9EQVRBID0gJChWQVBJR0VOX1ZBUElTKSAkKFZBUElHRU5f VkFQSVM6LnZhcGk9LmRlcHMpCisgCiAgRVhUUkFfRElTVCA9IFwKICsJR2tiZC0zLjAubWV0YWRh dGEgXAogIAlJQnVzLTEuMC5tZXRhZGF0YSBcCiAgCUlCdXMtMS4wLWN1c3RvbS52YWxhIFwKKyAJ aWJ1cy0xLjAuZGVwcyBcCiAgCWNvbmZpZy52YXBpIFwKICAJeGkudmFwaSBcCiArCVhrbC0xLjAu bWV0YWRhdGEgXApAQCAtOTksOCArNzMsNiBAQCBpbmRleCBhYmNjNTQzLi4zMDdhMTYxIDEwMDY0 NAogIAogK0NMRUFORklMRVMgPSBna2JkLnZhcGkKICsKLSBNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9 IGlidXMtQElCVVNfQVBJX1ZFUlNJT05ALnZhcGkKLSAKICAtaW5jbHVkZSAkKHRvcF9zcmNkaXIp L2dpdC5tawogZGlmZiAtLWdpdCBhL2JpbmRpbmdzL3ZhbGEvWGtsLTEuMC5tZXRhZGF0YSBiL2Jp bmRpbmdzL3ZhbGEvWGtsLTEuMC5tZXRhZGF0YQogbmV3IGZpbGUgbW9kZSAxMDA2NDQKQEAgLTEx Miw0NCArODQsMTggQEAgaW5kZXggMDAwMDAwMC4uNDk2MWQwYwogK0VuZ2luZQogKyAgICAuZmls dGVyX2V2ZW50cy5ldnQgcmVmIHR5cGU9IlguRXZlbnQiCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJl LmFjIGIvY29uZmlndXJlLmFjCi1pbmRleCBjYzdkMGUwLi4yNDZiM2ZjIDEwMDY0NAoraW5kZXgg YjMyODA3My4uNjFkMTQ2NCAxMDA2NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmln dXJlLmFjCi1AQCAtMjUyLDYgKzI1Miw3MSBAQCBlbHNlCitAQCAtMjM3LDYgKzIzNyw0NSBAQCBl bHNlCiAgICAgIGVuYWJsZV94aW09Im5vIChkaXNhYmxlZCwgdXNlIC0tZW5hYmxlLXhpbSB0byBl bmFibGUpIgogIGZpCiAgCiArIyBPcHRpb24gZm9yIFhLQiBjb21tYW5kLgotK0FDX0FSR19XSVRI KHhrYi1jb21tYW5kLAotKyAgICBBU19IRUxQX1NUUklORyhbLS13aXRoLXhrYi1jb21tYW5kWz1Y S0JfQ09NTUFORF1dLAotKyAgICAgICAgW1VzZSBYS0JfQ09NTUFORCB0byBzZXQga2V5bWFwLiBp YnVzLXhrYiBpcyBhdmFpbGFibGUuIChkZWZhdWx0IGlzIHNldHhrYm1hcCldKSwKLSsgICAgWEtC X0NPTU1BTkQ9JHdpdGhfeGtiX2NvbW1hbmQsCi0rICAgIFhLQl9DT01NQU5EPXNldHhrYm1hcAor K1BLR19DSEVDS19NT0RVTEVTKFhLQiwKKysgICAgW3hrYmZpbGVdLCwKKysgICAgW1hLQl9MSUJT PSItbHhrYmZpbGUiXQogKykKLStBQ19ERUZJTkVfVU5RVU9URUQoWEtCX0NPTU1BTkQsICIkWEtC X0NPTU1BTkQiLAotKyAgICAgICAgICAgICAgICAgICBbeGtiIGNvbW1hbmQgbGluZSB0byBzZXQg eGtiIGtleW1hcHMuXSkKLSsKLStpZiB0ZXN0IHgiJFhLQl9DT01NQU5EIiA9IHgiaWJ1cy14a2Ii OyB0aGVuCi0rICAgIGVuYWJsZV9pYnVzX3hrYj15ZXMKLStlbHNlCi0rICAgIGVuYWJsZV9pYnVz X3hrYj1ubwotK2ZpCi0rCi0rQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JQlVTX1hLQl0sIFt0ZXN0 IHgiJGVuYWJsZV9pYnVzX3hrYiIgPSB4InllcyJdKQotK2lmIHRlc3QgeCIkZW5hYmxlX2lidXNf eGtiIiA9IHgieWVzIjsgdGhlbgotKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhYMTEsIFsKLSsgICAg ICAgIHgxMQotKyAgICBdKQotKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhYS0IsCi0rICAgICAgICBb eGtiZmlsZV0sLAotKyAgICAgICAgW1hLQl9MSUJTPSItbHhrYmZpbGUiXQotKyAgICApCi0rICAg IEFDX0RFRklORShIQVZFX0lCVVNfWEtCLCAxLCBbZGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgeGti ZmlsZV0pCi0rICAgIEhBVkVfSUJVU19YS0I9dHJ1ZQotK2Vsc2UKLSsgICAgSEFWRV9JQlVTX1hL Qj1mYWxzZQotK2ZpCi0rQUNfU1VCU1QoSEFWRV9JQlVTX1hLQikKICsKICsjIC0tZW5hYmxlLWxp Ymdub21la2JkIG9wdGlvbi4KICtBQ19BUkdfRU5BQkxFKGxpYmdub21la2JkLApAQCAtMTg3LDI1 ICsxMzMsMTYgQEAgaW5kZXggY2M3ZDBlMC4uMjQ2YjNmYyAxMDA2NDQKICAjIEdPYmplY3QgaW50 cm9zcGVjdGlvbgogIEdPQkpFQ1RfSU5UUk9TUEVDVElPTl9DSEVDSyhbMC42LjhdKQogIAotQEAg LTUxNyw2ICs1ODIsNyBAQCBzcmMvaWJ1c3ZlcnNpb24uaAotIHNyYy90ZXN0cy9NYWtlZmlsZQot IGJ1cy9NYWtlZmlsZQotIGVuZ2luZS9NYWtlZmlsZQotK2VuZ2luZS9pYnVzLXhrYi9NYWtlZmls ZQotIGVuZ2luZS9zaW1wbGUueG1sLmluCi0gdXRpbC9NYWtlZmlsZQotIHV0aWwvSU1ka2l0L01h a2VmaWxlCi1AQCAtNTc2LDYgKzY0Miw4IEBAIEJ1aWxkIG9wdGlvbnM6CitAQCAtNTc5LDYgKzYx OCw3IEBAIEJ1aWxkIG9wdGlvbnM6CiAgICBObyBzbm9vcGVyIHJlZ2V4ZXMgICAgICAgICIkTk9f U05PT1BFUl9BUFBTIgogICAgUGFuZWwgaWNvbiAgICAgICAgICAgICAgICAiJElCVVNfSUNPTl9L RVlCT0FSRCIKICAgIEVuYWJsZSBzdXJyb3VuZGluZy10ZXh0ICAgJGVuYWJsZV9zdXJyb3VuZGlu Z190ZXh0Ci0rICBYS0IgY29tbWFuZCAgICAgICAgICAgICAgICRYS0JfQ09NTUFORAogKyAgQnVp bGQgbGliZ25vbWVia2QgICAgICAgICAkZW5hYmxlX2xpYmdub21la2JkCiAgICBSdW4gdGVzdCBj YXNlcyAgICAgICAgICAgICRlbmFibGVfdGVzdHMKICBdKQogIAogZGlmZiAtLWdpdCBhL2RhdGEv aWJ1cy5zY2hlbWFzLmluIGIvZGF0YS9pYnVzLnNjaGVtYXMuaW4KLWluZGV4IGE4YzdkN2YuLjFh MGUyZDIgMTAwNjQ0CitpbmRleCBkYmI2ZGE4Li43MGJmOWNhIDEwMDY0NAogLS0tIGEvZGF0YS9p YnVzLnNjaGVtYXMuaW4KICsrKyBiL2RhdGEvaWJ1cy5zY2hlbWFzLmluCiBAQCAtNDIsNiArNDIs NTIgQEAKQEAgLTI2MSwxNDM2ICsxOTgsMzQgQEAgaW5kZXggYThjN2Q3Zi4uMWEwZTJkMiAxMDA2 NDQKICAgICAgICA8a2V5Pi9zY2hlbWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90cmln Z2VyPC9rZXk+CiAgICAgICAgPGFwcGx5dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90 cmlnZ2VyPC9hcHBseXRvPgogICAgICAgIDxvd25lcj5pYnVzPC9vd25lcj4KLUBAIC01MCw2ICs5 Niw1NCBAQAotICAgICAgIDxkZWZhdWx0PltDb250cm9sK3NwYWNlLFplbmtha3VfSGFua2FrdSxB bHQrS2FuamksQWx0K2dyYXZlLEhhbmd1bCxBbHQrUmVsZWFzZStBbHRfUl08L2RlZmF1bHQ+Ci0g ICAgICAgPGxvY2FsZSBuYW1lPSJDIj4KLSAgICAgICAgIDxzaG9ydD5UcmlnZ2VyIHNob3J0Y3V0 IGtleXM8L3Nob3J0PgotKyAgICAgICAgICAgIDxsb25nPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0 dXJuaW5nIGlucHV0IG1ldGhvZCBvbiBvciBvZmY8L2xvbmc+Ci0rICAgICAgPC9sb2NhbGU+Ci0r ICAgIDwvc2NoZW1hPgotKyAgICA8c2NoZW1hPgotKyAgICAgIDxrZXk+L3NjaGVtYXMvZGVza3Rv cC9pYnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXJfYWNjZWw8L2tleT4KLSsgICAgICA8YXBwbHl0 bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXJfYWNjZWw8L2FwcGx5dG8+Ci0r ICAgICAgPG93bmVyPmlidXM8L293bmVyPgotKyAgICAgIDx0eXBlPmxpc3Q8L3R5cGU+Ci0rICAg ICAgPGxpc3RfdHlwZT5zdHJpbmc8L2xpc3RfdHlwZT4KLSsgICAgICA8ZGVmYXVsdD5bJmx0O0Nv bnRyb2wmZ3Q7c3BhY2VdPC9kZWZhdWx0PgotKyAgICAgIDxsb2NhbGUgbmFtZT0iQyI+Ci0rICAg ICAgICA8c2hvcnQ+VHJpZ2dlciBzaG9ydGN1dCBrZXlzIGZvciBndGtfYWNjZWxlcmF0b3JfcGFy c2U8L3Nob3J0PgotKyAgICAgICAgICAgIDxsb25nPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0dXJu aW5nIGlucHV0IG1ldGhvZCBvbiBvciBvZmY8L2xvbmc+Ci0rICAgICAgPC9sb2NhbGU+Ci0rICAg IDwvc2NoZW1hPgotKyAgICA8c2NoZW1hPgotKyAgICAgIDxrZXk+L3NjaGVtYXMvZGVza3RvcC9p YnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXJfYWNjZWxfYmFja3dhcmQ8L2tleT4KLSsgICAgICA8 YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvaG90a2V5L3RyaWdnZXJfYWNjZWxfYmFja3dh cmQ8L2FwcGx5dG8+Ci0rICAgICAgPG93bmVyPmlidXM8L293bmVyPgotKyAgICAgIDx0eXBlPmxp c3Q8L3R5cGU+Ci0rICAgICAgPGxpc3RfdHlwZT5zdHJpbmc8L2xpc3RfdHlwZT4KLSsgICAgICA8 ZGVmYXVsdD5bJmx0O0NvbnRyb2wmZ3Q7Jmx0O1NoaWZ0Jmd0O3NwYWNlXTwvZGVmYXVsdD4KLSsg ICAgICA8bG9jYWxlIG5hbWU9IkMiPgotKyAgICAgICAgPHNob3J0PlRyaWdnZXIgcmV2ZXJzZSBz aG9ydGN1dCBrZXlzIGZvciBndGtfYWNjZWxlcmF0b3JfcGFyc2U8L3Nob3J0PgotKyAgICAgICAg ICAgIDxsb25nPlRoZSByZXZlcnNlIHNob3J0Y3V0IGtleXMgZm9yIHR1cm5pbmcgaW5wdXQgbWV0 aG9kIG9uIG9yIG9mZjwvbG9uZz4KLSsgICAgICA8L2xvY2FsZT4KLSsgICAgPC9zY2hlbWE+Ci0r ICAgIDxzY2hlbWE+Ci0rICAgICAgPGtleT4vc2NoZW1hcy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9o b3RrZXkvdHJpZ2dlcl9qYTwva2V5PgotKyAgICAgIDxhcHBseXRvPi9kZXNrdG9wL2lidXMvZ2Vu ZXJhbC9ob3RrZXkvdHJpZ2dlcl9qYTwvYXBwbHl0bz4KK0BAIC02Niw2ICsxMTIsMTkgQEAKKyAg ICAgICA8L2xvY2FsZT4KKyAgICAgPC9zY2hlbWE+CisgICAgIDxzY2hlbWE+CisrICAgICAgPGtl eT4vc2NoZW1hcy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9ob3RrZXkvdHJpZ2dlcnMtbm8tbW9kaWZp ZXJzPC9rZXk+CisrICAgICAgPGFwcGx5dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90 cmlnZ2Vycy1uby1tb2RpZmllcnM8L2FwcGx5dG8+CiArICAgICAgPG93bmVyPmlidXM8L293bmVy PgogKyAgICAgIDx0eXBlPmxpc3Q8L3R5cGU+CiArICAgICAgPGxpc3RfdHlwZT5zdHJpbmc8L2xp c3RfdHlwZT4KLSsgICAgICA8ZGVmYXVsdD5bWmVua2FrdV9IYW5rYWt1XTwvZGVmYXVsdD4KKysg ICAgICA8ZGVmYXVsdD5bXTwvZGVmYXVsdD4KICsgICAgICA8bG9jYWxlIG5hbWU9IkMiPgotKyAg ICAgICAgPHNob3J0PlRyaWdnZXIgc2hvcnRjdXQga2V5cyBmb3IgamEgZ3RrX2FjY2VsZXJhdG9y X3BhcnNlPC9zaG9ydD4KLSsJICAgIDxsb25nPlRoZSBzaG9ydGN1dCBrZXlzIGZvciB0dXJuaW5n IGlucHV0IG1ldGhvZCBvbiBvciBvZmY8L2xvbmc+CisrICAgICAgICA8c2hvcnQ+VHJpZ2dlciBz aG9ydGN1dCBrZXlzIHdpdGhvdXQgbW9kaWZpZXIga2V5czwvc2hvcnQ+CisrICAgICAgICAgIDxs b25nPlRyaWdnZXIgc2hvcnRjdXQga2V5cyB3aXRob3V0IG1vZGlmaWVyIGtleXMuCisrICAgICAg ICAgICAgICAgIFRoZSBsaXN0IGlzIHVzZWQgYnkgaWJ1cy1nanMuPC9sb25nPgogKyAgICAgIDwv bG9jYWxlPgogKyAgICA8L3NjaGVtYT4KICsgICAgPHNjaGVtYT4KLSsgICAgICA8a2V5Pi9zY2hl bWFzL2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90cmlnZ2VyX2tvPC9rZXk+Ci0rICAgICAg PGFwcGx5dG8+L2Rlc2t0b3AvaWJ1cy9nZW5lcmFsL2hvdGtleS90cmlnZ2VyX2tvPC9hcHBseXRv PgotKyAgICAgIDxvd25lcj5pYnVzPC9vd25lcj4KLSsgICAgICA8dHlwZT5saXN0PC90eXBlPgot KyAgICAgIDxsaXN0X3R5cGU+c3RyaW5nPC9saXN0X3R5cGU+Ci0rICAgICAgPGRlZmF1bHQ+W0hh bmd1bCwgQWx0X1JdPC9kZWZhdWx0PgotKyAgICAgIDxsb2NhbGUgbmFtZT0iQyI+Ci0rICAgICAg ICA8c2hvcnQ+VHJpZ2dlciBzaG9ydGN1dCBrZXlzIGZvciBrbyBndGtfYWNjZWxlcmF0b3JfcGFy c2U8L3Nob3J0PgotIAkgICAgPGxvbmc+VGhlIHNob3J0Y3V0IGtleXMgZm9yIHR1cm5pbmcgaW5w dXQgbWV0aG9kIG9uIG9yIG9mZjwvbG9uZz4KLSAgICAgICA8L2xvY2FsZT4KLSAgICAgPC9zY2hl bWE+Ci1kaWZmIC0tZ2l0IGEvZW5naW5lL01ha2VmaWxlLmFtIGIvZW5naW5lL01ha2VmaWxlLmFt Ci1pbmRleCBiM2I0NmJlLi45MGM2ZmRlIDEwMDY0NAotLS0tIGEvZW5naW5lL01ha2VmaWxlLmFt Ci0rKysgYi9lbmdpbmUvTWFrZWZpbGUuYW0KLUBAIC0yMiw2ICsyMiwxMiBAQAotIAotIGxpYmli dXMgPSAkKHRvcF9idWlsZGRpcikvc3JjL2xpYmlidXMtQElCVVNfQVBJX1ZFUlNJT05ALmxhCi0g Ci0rU1VCRElSUyA9Ci0rCi0raWYgRU5BQkxFX0lCVVNfWEtCCi0rU1VCRElSUyArPSBpYnVzLXhr YgotK2VuZGlmCi0rCi0gSU5DTFVERVMgPSBcCi0gCS1JJCh0b3Bfc3JjZGlyKS9zcmMgXAotIAkt SSQodG9wX2J1aWxkZGlyKS9zcmMgXAotZGlmZiAtLWdpdCBhL2VuZ2luZS9pYnVzLXhrYi9NYWtl ZmlsZS5hbSBiL2VuZ2luZS9pYnVzLXhrYi9NYWtlZmlsZS5hbQotbmV3IGZpbGUgbW9kZSAxMDA2 NDQKLWluZGV4IDAwMDAwMDAuLjRhMzJlODcKLS0tLSAvZGV2L251bGwKLSsrKyBiL2VuZ2luZS9p YnVzLXhrYi9NYWtlZmlsZS5hbQotQEAgLTAsMCArMSw2MSBAQAotKyMgdmltOnNldCBub2V0IHRz PTQ6Ci0rIwotKyMgaWJ1cyAtIFRoZSBJbnB1dCBCdXMKLSsjCi0rIyBDb3B5cmlnaHQgKGMpIDIw MTIgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci0rIyBDb3B5cmln aHQgKGMpIDIwMTIgUmVkIEhhdCwgSW5jLgotKyMKLSsjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSsjIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsjIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyMg dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotKyMKLSsjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSsjIEdOVSBMZXNzZXIg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyMKLSsjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMK LSsjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhl Ci0rIyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3Vp dGUgMzMwLAotKyMgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCi0rCi0rbGliaWJ1cyA9ICQo dG9wX2J1aWxkZGlyKS9zcmMvbGliaWJ1cy1ASUJVU19BUElfVkVSU0lPTkAubGEKLSsKLStJTkNM VURFUyA9IFwKLSsJLUkkKHRvcF9zcmNkaXIpL3NyYyBcCi0rCS1JJCh0b3BfYnVpbGRkaXIpL3Ny YyBcCi0rCSQoTlVMTCkKLSsKLStBTV9DRkxBR1MgPSBcCi0rCSQoSU5DTFVERVMpIFwKLSsJLURH X0xPR19ET01BSU49XCJJQlVTXCIgXAotKwktRElCVVNfRElTQUJMRV9ERVBSRUNBVEVEIFwKLSsJ LVduby11bnVzZWQtdmFyaWFibGUgXAotKwktV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlIFwK LSsJLVduby11bnVzZWQtZnVuY3Rpb24gXAotKwkkKE5VTEwpCi0rCi0rbGliZXhlY19QUk9HUkFN UyA9IGlidXMteGtiCi0rCi0raWJ1c194a2JfU09VUkNFUyA9IFwKLSsJaWJ1cy14a2ItbWFpbi5j IFwKLSsJeGtibGliLmggXAotKwl4a2JsaWIuYyBcCi0rCSQoTlVMTCkKLStpYnVzX3hrYl9DRkxB R1MgPSBcCi0rCUBYS0JfQ0ZMQUdTQCBcCi0rCUBYMTFfQ0ZMQUdTQCBcCi0rCUBHTElCMl9DRkxB R1NAIFwKLSsJJChOVUxMKQotK2lidXNfeGtiX0xEQUREID0gXAotKwlAWEtCX0xJQlNAIFwKLSsJ QFgxMV9MSUJTQCBcCi0rCUBHTElCMl9MSUJTQCBcCi0rCSQobGliaWJ1cykgXAotKwkkKE5VTEwp Ci0rCi0rJChsaWJpYnVzKToKLSsJJChNQUtFKSAtQyAkKHRvcF9idWlsZGRpcikvc3JjCi0rCi0r LWluY2x1ZGUgJCh0b3Bfc3JjZGlyKS9naXQubWsKLWRpZmYgLS1naXQgYS9lbmdpbmUvaWJ1cy14 a2IvaWJ1cy14a2ItbWFpbi5jIGIvZW5naW5lL2lidXMteGtiL2lidXMteGtiLW1haW4uYwotbmV3 IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjNkZmQ5ODcKLS0tLSAvZGV2L251bGwK LSsrKyBiL2VuZ2luZS9pYnVzLXhrYi9pYnVzLXhrYi1tYWluLmMKLUBAIC0wLDAgKzEsMTczIEBA Ci0rLyogLSotIG1vZGU6IEM7IGMtYmFzaWMtb2Zmc2V0OiA0OyBpbmRlbnQtdGFicy1tb2RlOiBu aWw7IC0qLSAqLwotKy8qIHZpbTpzZXQgZXQgc3RzPTQ6ICovCi0rLyogYnVzIC0gVGhlIElucHV0 IEJ1cwotKyAqIENvcHlyaWdodCAoQykgMjAxMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdh cmExQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUGVuZyBIdWFuZyA8c2hhd24u cC5odWFuZ0BnbWFpbC5jb20+Ci0rICogQ29weXJpZ2h0IChDKSAyMDEyIFJlZCBIYXQsIEluYy4K LSsgKgotKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IKLSsgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg TGVzc2VyIEdlbmVyYWwgUHVibGljCi0rICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0rICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKyAqCi0rICogVGhp cyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0rICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSsgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuCSBTZWUgdGhlIEdOVQotKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rICoKLSsgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2 ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCi0rICogTGljZW5zZSBh bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgaWYgbm90LCB3cml0ZSB0byB0aGUKLSsgKiBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSAtIFN1aXRlIDMzMCwKLSsg KiBCb3N0b24sIE1BIDAyMTExLTEzMDcsIFVTQS4KLSsgKi8KLSsjaWZkZWYgSEFWRV9DT05GSUdf SAotKyNpbmNsdWRlIDxjb25maWcuaD4KLSsjZW5kaWYKLSsKLSsjaW5jbHVkZSA8Z2xpYi5oPgot KyNpbmNsdWRlIDxnbGliL2dwcmludGYuaD4KLSsjaW5jbHVkZSA8Z2xpYi9naTE4bi5oPgotKyNp bmNsdWRlIDxYMTEvWGxpYi5oPgotKwotKyNpZmRlZiBFTkFCTEVfTkxTCi0rI2luY2x1ZGUgPGxv Y2FsZS5oPgotKyNlbmRpZgotKwotKyNpbmNsdWRlICJ4a2JsaWIuaCIKLSsKLStzdGF0aWMgZ2Jv b2xlYW4gcXVlcnkgPSBGQUxTRTsKLStzdGF0aWMgZ2Jvb2xlYW4gZ2V0X2dyb3VwID0gRkFMU0U7 Ci0rc3RhdGljIGdjaGFyICpsYXlvdXQgPSBOVUxMOwotK3N0YXRpYyBnY2hhciAqdmFyaWFudCA9 IE5VTEw7Ci0rc3RhdGljIGdjaGFyICpvcHRpb24gPSBOVUxMOwotK3N0YXRpYyBpbnQgZ3JvdXAg PSAwOwotKwotK3N0YXRpYyBjb25zdCBHT3B0aW9uRW50cnkgZW50cmllc1tdID0KLSt7Ci0rICAg IHsgImdldCIsICdnJywgMCwgR19PUFRJT05fQVJHX05PTkUsICZxdWVyeSwgTl8oIlF1ZXJ5IHRo ZSBjdXJyZW50IHhrYiBsYXlvdXQiKSwgTlVMTCB9LAotKyAgICB7ICJsYXlvdXQiLCAnbCcsIDAs IEdfT1BUSU9OX0FSR19TVFJJTkcsICZsYXlvdXQsIE5fKCJTZXQgeGtiIExBWU9VVCIpLCBOXygi TEFZT1VUIikgfSwKLSsgICAgeyAidmFyaWFudCIsICd2JywgMCwgR19PUFRJT05fQVJHX1NUUklO RywgJnZhcmlhbnQsIE5fKCJTZXQgeGtiIFZBUklBTlQiKSwgTl8oIlZBUklBTlQiKSB9LAotKyAg ICB7ICJvcHRpb24iLCAnbycsIDAsIEdfT1BUSU9OX0FSR19TVFJJTkcsICZvcHRpb24sIE5fKCJT ZXQgeGtiIE9QVElPTiIpLCBOXygiT1BUSU9OIikgfSwKLSsgICAgeyAiZ2V0LWdyb3VwIiwgJ0cn LCAwLCBHX09QVElPTl9BUkdfTk9ORSwgJmdldF9ncm91cCwgTl8oIkdldCBjdXJyZW50IHhrYiBz dGF0ZSIpLCBOVUxMIH0sCi0rICAgIHsgTlVMTCB9LAotK307Ci0rCi0rCi0rZ2Jvb2xlYW4KLStw YXJzZV9zZXR4a2JtYXBfYXJncyAoaW50ICpwYXJnYywgY2hhciAqKipwYXJndikKLSt7Ci0rICAg IGludCBhcmdjID0gKnBhcmdjOwotKyAgICBjaGFyICoqYXJndiA9ICpwYXJndjsKLSsgICAgY2hh ciAqKm5ld19hcmd2ID0gTlVMTDsKLSsgICAgaW50IG4gPSAxOwotKyAgICBpbnQgaTsKLSsgICAg Z2Jvb2xlYW4gcmV0dmFsID0gRkFMU0U7Ci0rCi0rICAgIGZvciAoaSA9IDA7IGkgPCBhcmdjOyBp KyspIHsKLSsgICAgICAgIGlmIChnX3N0cmNtcDAgKGFyZ3ZbaV0sICItbGF5b3V0IikgPT0gMCAm JiBpICsgMSA8IGFyZ2MpIHsKLSsgICAgICAgICAgICBnX2ZyZWUgKGxheW91dCk7Ci0rICAgICAg ICAgICAgbGF5b3V0ID0gZ19zdHJkdXAgKGFyZ3ZbaSArIDFdKTsKLSsgICAgICAgICAgICBpKys7 Ci0rICAgICAgICAgICAgcmV0dmFsID0gVFJVRTsKLSsgICAgICAgICAgICBjb250aW51ZTsKLSsg ICAgICAgIH0KLSsgICAgICAgIGlmIChnX3N0cmNtcDAgKGFyZ3ZbaV0sICItdmFyaWFudCIpID09 IDAgJiYgaSArIDEgPCBhcmdjKSB7Ci0rICAgICAgICAgICAgZ19mcmVlICh2YXJpYW50KTsKLSsg ICAgICAgICAgICB2YXJpYW50ID0gZ19zdHJkdXAgKGFyZ3ZbaSArIDFdKTsKLSsgICAgICAgICAg ICBpKys7Ci0rICAgICAgICAgICAgcmV0dmFsID0gVFJVRTsKLSsgICAgICAgICAgICBjb250aW51 ZTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChnX3N0cmNtcDAgKGFyZ3ZbaV0sICItb3B0aW9u IikgPT0gMCAmJiBpICsgMSA8IGFyZ2MpIHsKLSsgICAgICAgICAgICBnX2ZyZWUgKG9wdGlvbik7 Ci0rICAgICAgICAgICAgb3B0aW9uID0gZ19zdHJkdXAgKGFyZ3ZbaSArIDFdKTsKLSsgICAgICAg ICAgICBpKys7Ci0rICAgICAgICAgICAgcmV0dmFsID0gVFJVRTsKLSsgICAgICAgICAgICBjb250 aW51ZTsKLSsgICAgICAgIH0KLSsgICAgICAgIGlmIChnX3N0cmNtcDAgKGFyZ3ZbaV0sICItcXVl cnkiKSA9PSAwKSB7Ci0rICAgICAgICAgICAgcXVlcnkgPSBUUlVFOwotKyAgICAgICAgICAgIHJl dHZhbCA9IFRSVUU7Ci0rICAgICAgICAgICAgY29udGludWU7Ci0rICAgICAgICB9Ci0rCi0rICAg ICAgICBuZXdfYXJndiA9IGdfcmVuZXcoY2hhciosIG5ld19hcmd2LCBuKTsKLSsgICAgICAgIG5l d19hcmd2W24gLSAxXSA9IGdfc3RyZHVwIChhcmd2W2ldKTsKLSsgICAgICAgIG4rKzsKLSsgICAg fQotKwotKyAgICAqcGFyZ2MgPSBuIC0gMTsKLSsgICAgKnBhcmd2ID0gbmV3X2FyZ3Y7Ci0rCi0r ICAgIHJldHVybiByZXR2YWw7Ci0rfQotKwotK2ludAotK21haW4gKGludCBhcmdjLCBjaGFyICph cmd2W10pCi0rewotKyAgICBnYm9vbGVhbiBwYXJzZWQ7Ci0rICAgIEdPcHRpb25Db250ZXh0ICpj b250ZXh0OwotKyAgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKLSsgICAgRGlzcGxheSAqeGRpc3Bs YXk7Ci0rCi0rI2lmZGVmIEVOQUJMRV9OTFMKLSsgICAgc2V0bG9jYWxlIChMQ19BTEwsICIiKTsK LSsKLSsgICAgYmluZHRleHRkb21haW4gKEdFVFRFWFRfUEFDS0FHRSwgR0xJQl9MT0NBTEVfRElS KTsKLSsgICAgYmluZF90ZXh0ZG9tYWluX2NvZGVzZXQgKEdFVFRFWFRfUEFDS0FHRSwgIlVURi04 Iik7Ci0rI2VuZGlmCi0rCi0rICAgIHBhcnNlZCA9IHBhcnNlX3NldHhrYm1hcF9hcmdzICgmYXJn YywgJmFyZ3YpOwotKwotKyAgICBjb250ZXh0ID0gZ19vcHRpb25fY29udGV4dF9uZXcgKCItIGli dXMgZGFlbW9uIik7Ci0rCi0rICAgIGdfb3B0aW9uX2NvbnRleHRfc2V0X3RyYW5zbGF0aW9uX2Rv bWFpbiAoY29udGV4dCwgR0VUVEVYVF9QQUNLQUdFKTsKLSsgICAgZ19vcHRpb25fY29udGV4dF9h ZGRfbWFpbl9lbnRyaWVzIChjb250ZXh0LCBlbnRyaWVzLCBHRVRURVhUX1BBQ0tBR0UpOwotKwot KyAgICBpZiAoIXBhcnNlZCAmJiAhZ19vcHRpb25fY29udGV4dF9wYXJzZSAoY29udGV4dCwgJmFy Z2MsICZhcmd2LCAmZXJyb3IpKSB7Ci0rICAgICAgICBnX3ByaW50ZXJyICgiT3B0aW9uIHBhcnNp bmcgZmFpbGVkOiAlc1xuIiwgZXJyb3ItPm1lc3NhZ2UpOwotKyAgICAgICAgcmV0dXJuIC0xOwot KyAgICB9Ci0rCi0rICAgIHhkaXNwbGF5ID0gWE9wZW5EaXNwbGF5IChOVUxMKTsKLSsgICAgaWYg KHhkaXNwbGF5ID09IE5VTEwpIHsKLSsgICAgICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBvcGVu IGRpc3BsYXkiKTsKLSsgICAgICAgIHJldHVybiAtMTsKLSsgICAgfQotKyAgICBpYnVzX3hrYl9p bml0ICh4ZGlzcGxheSk7Ci0rCi0rICAgIGlmIChsYXlvdXQpIHsKLSsgICAgICAgIGlmIChvcHRp b24gPT0gTlVMTCkgewotKyAgICAgICAgICAgIG9wdGlvbiA9IGlidXNfeGtiX2dldF9jdXJyZW50 X29wdGlvbiAoKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIGlidXNfeGtiX3NldF9sYXlvdXQg KGxheW91dCwgdmFyaWFudCwgb3B0aW9uKTsKLSsgICAgfQotKwotKyAgICBpZiAocXVlcnkpIHsK LSsgICAgICAgIGdfZnJlZSAobGF5b3V0KTsKLSsgICAgICAgIGdfZnJlZSAodmFyaWFudCk7Ci0r ICAgICAgICBnX2ZyZWUgKG9wdGlvbik7Ci0rCi0rICAgICAgICBsYXlvdXQgPSBpYnVzX3hrYl9n ZXRfY3VycmVudF9sYXlvdXQgKCk7Ci0rICAgICAgICB2YXJpYW50ID0gaWJ1c194a2JfZ2V0X2N1 cnJlbnRfdmFyaWFudCAoKTsKLSsgICAgICAgIG9wdGlvbiA9IGlidXNfeGtiX2dldF9jdXJyZW50 X29wdGlvbiAoKTsKLSsgICAgICAgIGdfcHJpbnRmICgibGF5b3V0OiAlc1xuIgotKyAgICAgICAg ICAgICAgICAgICJ2YXJpYW50OiAlc1xuIgotKyAgICAgICAgICAgICAgICAgICJvcHRpb246ICVz XG4iLAotKyAgICAgICAgICAgICAgICAgIGxheW91dCA/IGxheW91dCA6ICIiLAotKyAgICAgICAg ICAgICAgICAgIHZhcmlhbnQgPyB2YXJpYW50IDogIiIsCi0rICAgICAgICAgICAgICAgICAgb3B0 aW9uID8gb3B0aW9uIDogIiIpOwotKyAgICAgICAgZ19mcmVlIChsYXlvdXQpOwotKyAgICAgICAg Z19mcmVlICh2YXJpYW50KTsKLSsgICAgICAgIGdfZnJlZSAob3B0aW9uKTsKLSsgICAgfQotKyAg ICBpZiAoZ2V0X2dyb3VwKSB7Ci0rICAgICAgICBncm91cCA9IGlidXNfeGtiX2dldF9jdXJyZW50 X2dyb3VwICgpOwotKyAgICAgICAgZ19wcmludGYgKCJncm91cDogJWRcbiIsIGdyb3VwKTsKLSsg ICAgfQotKwotKyAgICBpYnVzX3hrYl9maW5pdCAoKTsKLSsKLSsgICAgcmV0dXJuIDA7Ci0rfQot ZGlmZiAtLWdpdCBhL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuYyBiL2VuZ2luZS9pYnVzLXhrYi94 a2JsaWIuYwotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLmJiMjU0NTUKLS0t LSAvZGV2L251bGwKLSsrKyBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuYwotQEAgLTAsMCArMSwz MjcgQEAKLSsvKiAtKi0gbW9kZTogQzsgYy1iYXNpYy1vZmZzZXQ6IDQ7IGluZGVudC10YWJzLW1v ZGU6IG5pbDsgLSotICovCi0rLyogdmltOnNldCBldCBzdHM9NDogKi8KLSsvKiBidXMgLSBUaGUg SW5wdXQgQnVzCi0rICogQ29weXJpZ2h0IChDKSAyMDEyIFRha2FvIEZ1aml3YXJhIDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgotKyAqIENvcHlyaWdodCAoQykgMjAxMiBQZW5nIEh1YW5nIDxz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTIgUmVkIEhhdCwg SW5jLgotKyAqCi0rICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgotKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSsgKiB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rICoKLSsg KiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSsgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgotKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4JIFNlZSB0aGUgR05VCi0rICogTGVzc2VyIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsgKgotKyAqIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKLSsgKiBMaWNl bnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZQotKyAqIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMw LAotKyAqIEJvc3RvbiwgTUEgMDIxMTEtMTMwNywgVVNBLgotKyAqLwotKyNpZmRlZiBIQVZFX0NP TkZJR19ICi0rI2luY2x1ZGUgPGNvbmZpZy5oPgotKyNlbmRpZgotKwotKyNpbmNsdWRlIDxnbGli Lmg+Ci0rI2luY2x1ZGUgPFgxMS9YbGliLmg+Ci0rI2luY2x1ZGUgPFgxMS9YYXRvbS5oPgotKyNp bmNsdWRlIDxYMTEvWEtCbGliLmg+Ci0rI2luY2x1ZGUgPHN0ZGlvLmg+IC8qIGZvciBYS0JydWxl cy5oICovCi0rI2luY2x1ZGUgPFgxMS9leHRlbnNpb25zL1hLQnJ1bGVzLmg+Ci0rI2luY2x1ZGUg PFgxMS9leHRlbnNpb25zL1hLQnN0ci5oPgotKyNpbmNsdWRlIDxzdHJpbmcuaD4KLSsKLSsjaW5j bHVkZSAieGtibGliLmgiCi0rCi0rI2lmbmRlZiBYS0JfUlVMRVNfWE1MX0ZJTEUKLSsjZGVmaW5l IFhLQl9SVUxFU19YTUxfRklMRSAiL3Vzci9zaGFyZS9YMTEveGtiL3J1bGVzL2V2ZGV2LnhtbCIK LSsjZW5kaWYKLSsKLStzdGF0aWMgZ2NoYXIgICAgICAgICAgKipkZWZhdWx0X2xheW91dHM7Ci0r c3RhdGljIGdjaGFyICAgICAgICAgICoqZGVmYXVsdF92YXJpYW50czsKLStzdGF0aWMgZ2NoYXIg ICAgICAgICAgKipkZWZhdWx0X29wdGlvbnM7Ci0rc3RhdGljIGludCAgICAgICAgICAgICAgZGVm YXVsdF9sYXlvdXRfZ3JvdXA7Ci0rCi0rc3RhdGljIERpc3BsYXkgKgotK2dldF94ZGlzcGxheSAo RGlzcGxheSAqeGRpc3BsYXkpCi0rewotKyAgICBzdGF0aWMgRGlzcGxheSAqc2F2ZWRfeGRpc3Bs YXkgPSBOVUxMOwotKyAgICBpZiAoeGRpc3BsYXkgIT0gTlVMTCkgewotKyAgICAgICAgc2F2ZWRf eGRpc3BsYXkgPSB4ZGlzcGxheTsKLSsgICAgfQotKyAgICByZXR1cm4gc2F2ZWRfeGRpc3BsYXk7 Ci0rfQotKwotK3N0YXRpYyB2b2lkCi0raW5pdF94a2JfZGVmYXVsdF9sYXlvdXRzIChEaXNwbGF5 ICp4ZGlzcGxheSkKLSt7Ci0rICAgIFhrYlN0YXRlUmVjIHN0YXRlOwotKyAgICBBdG9tIHhrYl9y dWxlc19uYW1lLCB0eXBlOwotKyAgICBpbnQgZm9ybWF0OwotKyAgICB1bnNpZ25lZCBsb25nIGws IG5pdGVtcywgYnl0ZXNfYWZ0ZXI7Ci0rICAgIHVuc2lnbmVkIGNoYXIgKnByb3AgPSBOVUxMOwot KwotKyAgICB4a2JfcnVsZXNfbmFtZSA9IFhJbnRlcm5BdG9tICh4ZGlzcGxheSwgIl9YS0JfUlVM RVNfTkFNRVMiLCBUUlVFKTsKLSsgICAgaWYgKHhrYl9ydWxlc19uYW1lID09IE5vbmUpIHsKLSsg ICAgICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBnZXQgWEtCIHJ1bGVzIGF0b20iKTsKLSsgICAg ICAgIHJldHVybjsKLSsgICAgfQotKyAgICBpZiAoWEdldFdpbmRvd1Byb3BlcnR5ICh4ZGlzcGxh eSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgWERlZmF1bHRSb290V2luZG93ICh4ZGlz cGxheSksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhrYl9ydWxlc19uYW1lLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAxMDI0LCBGQUxTRSwgWEFfU1RSSU5HLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmdHlwZSwgJmZvcm1hdCwgJm5pdGVtcywgJmJ5dGVz X2FmdGVyLCAmcHJvcCkgIT0gU3VjY2VzcykgewotKyAgICAgICAgZ193YXJuaW5nICgiQ291bGQg bm90IGdldCBYIHByb3BlcnR5Iik7Ci0rICAgICAgICByZXR1cm47Ci0rICAgIH0KLSsgICAgaWYg KG5pdGVtcyA8IDMpIHsKLSsgICAgICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBnZXQgZ3JvdXAg bGF5b3V0IGZyb20gWCBwcm9wZXJ0eSIpOwotKyAgICAgICAgcmV0dXJuOwotKyAgICB9Ci0rICAg IGZvciAobCA9IDA7IGwgPCAyOyBsKyspIHsKLSsgICAgICAgIHByb3AgKz0gc3RybGVuICgoY29u c3QgY2hhciAqKSBwcm9wKSArIDE7Ci0rICAgIH0KLSsgICAgaWYgKHByb3AgPT0gTlVMTCB8fCAq cHJvcCA9PSAnXDAnKSB7Ci0rICAgICAgICBnX3dhcm5pbmcgKCJObyBsYXlvdXRzIGZvcm0gWCBw cm9wZXJ0eSIpOwotKyAgICAgICAgcmV0dXJuOwotKyAgICB9Ci0rICAgIGRlZmF1bHRfbGF5b3V0 cyA9IGdfc3Ryc3BsaXQgKChnY2hhciAqKSBwcm9wLCAiLCIsIC0xKTsKLSsgICAgcHJvcCArPSBz dHJsZW4gKChjb25zdCBjaGFyICopIHByb3ApICsgMTsKLSsgICAgZGVmYXVsdF92YXJpYW50cyA9 IGdfc3Ryc3BsaXQgKChnY2hhciAqKSBwcm9wLCAiLCIsIC0xKTsKLSsgICAgcHJvcCArPSBzdHJs ZW4gKChjb25zdCBjaGFyICopIHByb3ApICsgMTsKLSsgICAgZGVmYXVsdF9vcHRpb25zID0gZ19z dHJzcGxpdCAoKGdjaGFyICopIHByb3AsICIsIiwgLTEpOwotKwotKyAgICBpZiAoWGtiR2V0U3Rh dGUgKHhkaXNwbGF5LCBYa2JVc2VDb3JlS2JkLCAmc3RhdGUpICE9IFN1Y2Nlc3MpIHsKLSsgICAg ICAgIGdfd2FybmluZyAoIkNvdWxkIG5vdCBnZXQgc3RhdGUiKTsKLSsgICAgICAgIHJldHVybjsK LSsgICAgfQotKyAgICBkZWZhdWx0X2xheW91dF9ncm91cCA9IHN0YXRlLmdyb3VwOwotK30KLSsK LStzdGF0aWMgQm9vbAotK3NldF94a2JfcnVsZXMgKERpc3BsYXkgKnhkaXNwbGF5LAotKyAgICAg ICAgICAgICAgIGNvbnN0IGNoYXIgKnJ1bGVzX2ZpbGUsIGNvbnN0IGNoYXIgKm1vZGVsLAotKyAg ICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFsbF9sYXlvdXRzLCBjb25zdCBjaGFyICphbGxfdmFy aWFudHMsCi0rICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYWxsX29wdGlvbnMpCi0rewotKyAg ICBnY2hhciAqcnVsZXNfcGF0aDsKLSsgICAgWGtiUkZfUnVsZXNQdHIgcnVsZXM7Ci0rICAgIFhr YlJGX1ZhckRlZnNSZWMgcmRlZnM7Ci0rICAgIFhrYkNvbXBvbmVudE5hbWVzUmVjIHJuYW1lczsK LSsgICAgWGtiRGVzY1B0ciB4a2I7Ci0rCi0rICAgIHJ1bGVzX3BhdGggPSBnX3N0cmR1cCAoIi4v cnVsZXMvZXZkZXYiKTsKLSsgICAgcnVsZXMgPSBYa2JSRl9Mb2FkIChydWxlc19wYXRoLCAiQyIs IFRSVUUsIFRSVUUpOwotKyAgICBpZiAocnVsZXMgPT0gTlVMTCkgewotKyAgICAgICAgZ19yZXR1 cm5fdmFsX2lmX2ZhaWwgKFhLQl9SVUxFU19YTUxfRklMRSAhPSBOVUxMLCBGQUxTRSk7Ci0rCi0r ICAgICAgICBnX2ZyZWUgKHJ1bGVzX3BhdGgpOwotKyAgICAgICAgaWYgKGdfc3RyX2hhc19zdWZm aXggKFhLQl9SVUxFU19YTUxfRklMRSwgIi54bWwiKSkgewotKyAgICAgICAgICAgIHJ1bGVzX3Bh dGggPSBnX3N0cm5kdXAgKFhLQl9SVUxFU19YTUxfRklMRSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJsZW4gKFhLQl9SVUxFU19YTUxfRklMRSkgLSA0KTsKLSsgICAg ICAgIH0gZWxzZSB7Ci0rICAgICAgICAgICAgcnVsZXNfcGF0aCA9IGdfc3RyZHVwIChYS0JfUlVM RVNfWE1MX0ZJTEUpOwotKyAgICAgICAgfQotKyAgICAgICAgcnVsZXMgPSBYa2JSRl9Mb2FkIChy dWxlc19wYXRoLCAiQyIsIFRSVUUsIFRSVUUpOwotKyAgICB9Ci0rICAgIGdfcmV0dXJuX3ZhbF9p Zl9mYWlsIChydWxlcyAhPSBOVUxMLCBGQUxTRSk7Ci0rCi0rICAgIG1lbXNldCAoJnJkZWZzLCAw LCBzaXplb2YgKFhrYlJGX1ZhckRlZnNSZWMpKTsKLSsgICAgbWVtc2V0ICgmcm5hbWVzLCAwLCBz aXplb2YgKFhrYkNvbXBvbmVudE5hbWVzUmVjKSk7Ci0rICAgIHJkZWZzLm1vZGVsID0gbW9kZWwg PyBnX3N0cmR1cCAobW9kZWwpIDogTlVMTDsKLSsgICAgcmRlZnMubGF5b3V0ID0gYWxsX2xheW91 dHMgPyBnX3N0cmR1cCAoYWxsX2xheW91dHMpIDogTlVMTDsKLSsgICAgcmRlZnMudmFyaWFudCA9 IGFsbF92YXJpYW50cyA/IGdfc3RyZHVwIChhbGxfdmFyaWFudHMpIDogTlVMTDsKLSsgICAgcmRl ZnMub3B0aW9ucyA9IGFsbF9vcHRpb25zID8gZ19zdHJkdXAgKGFsbF9vcHRpb25zKSA6IE5VTEw7 Ci0rICAgIFhrYlJGX0dldENvbXBvbmVudHMgKHJ1bGVzLCAmcmRlZnMsICZybmFtZXMpOwotKyAg ICB4a2IgPSBYa2JHZXRLZXlib2FyZEJ5TmFtZSAoeGRpc3BsYXksIFhrYlVzZUNvcmVLYmQsICZy bmFtZXMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYa2JHQk5fQWxsQ29tcG9u ZW50c01hc2ssCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBYa2JHQk5fQWxsQ29t cG9uZW50c01hc2sgJgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKH5Ya2JHQk5f R2VvbWV0cnlNYXNrKSwgVHJ1ZSk7Ci0rICAgIGlmICgheGtiKSB7Ci0rICAgICAgICBnX3dhcm5p bmcgKCJDYW5ub3QgbG9hZCBuZXcga2V5Ym9hcmQgZGVzY3JpcHRpb24uIik7Ci0rICAgICAgICBy ZXR1cm4gRkFMU0U7Ci0rICAgIH0KLSsgICAgWGtiUkZfU2V0TmFtZXNQcm9wICh4ZGlzcGxheSwg cnVsZXNfcGF0aCwgJnJkZWZzKTsKLSsgICAgZ19mcmVlIChydWxlc19wYXRoKTsKLSsgICAgZ19m cmVlIChyZGVmcy5tb2RlbCk7Ci0rICAgIGdfZnJlZSAocmRlZnMubGF5b3V0KTsKLSsgICAgZ19m cmVlIChyZGVmcy52YXJpYW50KTsKLSsgICAgZ19mcmVlIChyZGVmcy5vcHRpb25zKTsKLSsKLSsg ICAgcmV0dXJuIFRSVUU7Ci0rfQotKwotK3N0YXRpYyBCb29sCi0rdXBkYXRlX3hrYl9wcm9wZXJ0 aWVzIChEaXNwbGF5ICp4ZGlzcGxheSwKLSsgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKnJ1bGVzX2ZpbGUsIGNvbnN0IGNoYXIgKm1vZGVsLAotKyAgICAgICAgICAgICAgICAgICAg ICAgY29uc3QgY2hhciAqYWxsX2xheW91dHMsIGNvbnN0IGNoYXIgKmFsbF92YXJpYW50cywKLSsg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmFsbF9vcHRpb25zKQotK3sKLSsgICAg aW50IGxlbjsKLSsgICAgY2hhciAqcHZhbDsKLSsgICAgY2hhciAqbmV4dDsKLSsgICAgQXRvbSBy dWxlc19hdG9tOwotKyAgICBXaW5kb3cgcm9vdF93aW5kb3c7Ci0rCi0rICAgIGxlbiA9IChydWxl c19maWxlID8gc3RybGVuIChydWxlc19maWxlKSA6IDApOwotKyAgICBsZW4gKz0gKG1vZGVsID8g c3RybGVuIChtb2RlbCkgOiAwKTsKLSsgICAgbGVuICs9IChhbGxfbGF5b3V0cyA/IHN0cmxlbiAo YWxsX2xheW91dHMpIDogMCk7Ci0rICAgIGxlbiArPSAoYWxsX3ZhcmlhbnRzID8gc3RybGVuIChh bGxfdmFyaWFudHMpIDogMCk7Ci0rICAgIGxlbiArPSAoYWxsX29wdGlvbnMgPyBzdHJsZW4gKGFs bF9vcHRpb25zKSA6IDApOwotKwotKyAgICBpZiAobGVuIDwgMSkgewotKyAgICAgICAgcmV0dXJu IFRSVUU7Ci0rICAgIH0KLSsgICAgbGVuICs9IDU7IC8qIHRyYWlsaW5nIE5VTHMgKi8KLSsKLSsg ICAgcnVsZXNfYXRvbSA9IFhJbnRlcm5BdG9tICh4ZGlzcGxheSwgX1hLQl9SRl9OQU1FU19QUk9Q X0FUT00sIEZhbHNlKTsKLSsgICAgcm9vdF93aW5kb3cgPSBYRGVmYXVsdFJvb3RXaW5kb3cgKHhk aXNwbGF5KTsKLSsgICAgcHZhbCA9IG5leHQgPSBnX25ldzAgKGNoYXIsIGxlbiArIDEpOwotKyAg ICBpZiAoIXB2YWwpIHsKLSsgICAgICAgIHJldHVybiBUUlVFOwotKyAgICB9Ci0rCi0rICAgIGlm IChydWxlc19maWxlKSB7Ci0rICAgICAgICBzdHJjcHkgKG5leHQsIHJ1bGVzX2ZpbGUpOwotKyAg ICAgICAgbmV4dCArPSBzdHJsZW4gKHJ1bGVzX2ZpbGUpOwotKyAgICB9Ci0rICAgICpuZXh0Kysg PSAnXDAnOwotKyAgICBpZiAobW9kZWwpIHsKLSsgICAgICAgIHN0cmNweSAobmV4dCwgbW9kZWwp OwotKyAgICAgICAgbmV4dCArPSBzdHJsZW4gKG1vZGVsKTsKLSsgICAgfQotKyAgICAqbmV4dCsr ID0gJ1wwJzsKLSsgICAgaWYgKGFsbF9sYXlvdXRzKSB7Ci0rICAgICAgICBzdHJjcHkgKG5leHQs IGFsbF9sYXlvdXRzKTsKLSsgICAgICAgIG5leHQgKz0gc3RybGVuIChhbGxfbGF5b3V0cyk7Ci0r ICAgIH0KLSsgICAgKm5leHQrKyA9ICdcMCc7Ci0rICAgIGlmIChhbGxfdmFyaWFudHMpIHsKLSsg ICAgICAgIHN0cmNweSAobmV4dCwgYWxsX3ZhcmlhbnRzKTsKLSsgICAgICAgIG5leHQgKz0gc3Ry bGVuIChhbGxfdmFyaWFudHMpOwotKyAgICB9Ci0rICAgICpuZXh0KysgPSAnXDAnOwotKyAgICBp ZiAoYWxsX29wdGlvbnMpIHsKLSsgICAgICAgIHN0cmNweSAobmV4dCwgYWxsX29wdGlvbnMpOwot KyAgICAgICAgbmV4dCArPSBzdHJsZW4gKGFsbF9vcHRpb25zKTsKLSsgICAgfQotKyAgICAqbmV4 dCsrID0gJ1wwJzsKLSsgICAgaWYgKChuZXh0IC0gcHZhbCkgIT0gbGVuKSB7Ci0rICAgICAgICBn X2ZyZWUgKHB2YWwpOwotKyAgICAgICAgcmV0dXJuIFRSVUU7Ci0rICAgIH0KLSsKLSsgICAgWENo YW5nZVByb3BlcnR5ICh4ZGlzcGxheSwgcm9vdF93aW5kb3csCi0rICAgICAgICAgICAgICAgICAg ICBydWxlc19hdG9tLCBYQV9TVFJJTkcsIDgsIFByb3BNb2RlUmVwbGFjZSwKLSsgICAgICAgICAg ICAgICAgICAgICh1bnNpZ25lZCBjaGFyICopIHB2YWwsIGxlbik7Ci0rICAgIFhTeW5jKHhkaXNw bGF5LCBGYWxzZSk7Ci0rCi0rICAgIHJldHVybiBUUlVFOwotK30KLSsKLSt2b2lkCi0raWJ1c194 a2JfaW5pdCAoRGlzcGxheSAqeGRpc3BsYXkpCi0rewotKyAgICBnZXRfeGRpc3BsYXkgKHhkaXNw bGF5KTsKLSsgICAgaW5pdF94a2JfZGVmYXVsdF9sYXlvdXRzICh4ZGlzcGxheSk7Ci0rfQotKwot K3ZvaWQKLStpYnVzX3hrYl9maW5pdCAodm9pZCkKLSt7Ci0rICAgIGdfc3RyZnJlZXYgKGRlZmF1 bHRfbGF5b3V0cyk7Ci0rICAgIGRlZmF1bHRfbGF5b3V0cyA9IE5VTEw7Ci0rICAgIGdfc3RyZnJl ZXYgKGRlZmF1bHRfdmFyaWFudHMpOwotKyAgICBkZWZhdWx0X3ZhcmlhbnRzID0gTlVMTDsKLSsg ICAgZ19zdHJmcmVldiAoZGVmYXVsdF9vcHRpb25zKTsKLSsgICAgZGVmYXVsdF9vcHRpb25zID0g TlVMTDsKLSt9Ci0rCi0rZ2NoYXIgKgotK2lidXNfeGtiX2dldF9jdXJyZW50X2xheW91dCAodm9p ZCkKLSt7Ci0rICAgIGlmIChkZWZhdWx0X2xheW91dHMgPT0gTlVMTCkgewotKyAgICAgICAgZ193 YXJuaW5nICgiWW91ciBzeXN0ZW0gc2VlbXMgbm90IHRvIHN1cHBvcnQgWEtCLiIpOwotKyAgICAg ICAgcmV0dXJuIE5VTEw7Ci0rICAgIH0KLSsKLSsgICAgcmV0dXJuIGdfc3Ryam9pbnYgKCIsIiwg KGdjaGFyICoqKSBkZWZhdWx0X2xheW91dHMpOwotK30KLSsKLStnY2hhciAqCi0raWJ1c194a2Jf Z2V0X2N1cnJlbnRfdmFyaWFudCAodm9pZCkKLSt7Ci0rICAgIGlmIChkZWZhdWx0X3ZhcmlhbnRz ID09IE5VTEwpIHsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAgICB9Ci0rCi0rICAgIHJldHVy biBnX3N0cmpvaW52ICgiLCIsIChnY2hhciAqKikgZGVmYXVsdF92YXJpYW50cyk7Ci0rfQotKwot K2djaGFyICoKLStpYnVzX3hrYl9nZXRfY3VycmVudF9vcHRpb24gKHZvaWQpCi0rewotKyAgICBp ZiAoZGVmYXVsdF9vcHRpb25zID09IE5VTEwpIHsKLSsgICAgICAgIHJldHVybiBOVUxMOwotKyAg ICB9Ci0rCi0rICAgIHJldHVybiBnX3N0cmpvaW52ICgiLCIsIChnY2hhciAqKikgZGVmYXVsdF9v cHRpb25zKTsKLSt9Ci0rCi0rZ2Jvb2xlYW4KLStpYnVzX3hrYl9zZXRfbGF5b3V0ICAoY29uc3Qg Y2hhciAqbGF5b3V0cywKLSsgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdmFyaWFu dHMsCi0rICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm9wdGlvbnMpCi0rewotKyAg ICBEaXNwbGF5ICp4ZGlzcGxheTsKLSsgICAgZ2Jvb2xlYW4gcmV0dmFsOwotKyAgICBnY2hhciAq bGF5b3V0c19saW5lOwotKwotKyAgICBpZiAoZGVmYXVsdF9sYXlvdXRzID09IE5VTEwpIHsKLSsg ICAgICAgIGdfd2FybmluZyAoIllvdXIgc3lzdGVtIHNlZW1zIG5vdCB0byBzdXBwb3J0IFhLQi4i KTsKLSsgICAgICAgIHJldHVybiBGQUxTRTsKLSsgICAgfQotKwotKyAgICBpZiAobGF5b3V0cyA9 PSBOVUxMIHx8IGdfc3RyY21wMCAobGF5b3V0cywgImRlZmF1bHQiKSA9PSAwKSB7Ci0rICAgICAg ICBsYXlvdXRzX2xpbmUgPSBnX3N0cmpvaW52ICgiLCIsIChnY2hhciAqKikgZGVmYXVsdF9sYXlv dXRzKTsKLSsgICAgfSBlbHNlIHsKLSsgICAgICAgIGxheW91dHNfbGluZSA9IGdfc3RyZHVwIChs YXlvdXRzKTsKLSsgICAgfQotKwotKyAgICB4ZGlzcGxheSA9IGdldF94ZGlzcGxheSAoTlVMTCk7 Ci0rICAgIHJldHZhbCA9IHNldF94a2JfcnVsZXMgKHhkaXNwbGF5LAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAiZXZkZXYiLCAiZXZkZXYiLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBsYXlvdXRzX2xpbmUsIHZhcmlhbnRzLCBvcHRpb25zKTsKLSsgICAgdXBkYXRlX3hrYl9w cm9wZXJ0aWVzICh4ZGlzcGxheSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAiZXZkZXYi LCAiZXZkZXYiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dHNfbGluZSwgdmFy aWFudHMsIG9wdGlvbnMpOwotKyAgICBnX2ZyZWUgKGxheW91dHNfbGluZSk7Ci0rCi0rICAgIHJl dHVybiByZXR2YWw7Ci0rfQotKwotK2ludAotK2lidXNfeGtiX2dldF9jdXJyZW50X2dyb3VwICh2 b2lkKQotK3sKLSsgICAgRGlzcGxheSAqeGRpc3BsYXkgPSBnZXRfeGRpc3BsYXkgKE5VTEwpOwot KyAgICBYa2JTdGF0ZVJlYyBzdGF0ZTsKLSsKLSsgICAgaWYgKGRlZmF1bHRfbGF5b3V0cyA9PSBO VUxMKSB7Ci0rICAgICAgICBnX3dhcm5pbmcgKCJZb3VyIHN5c3RlbSBzZWVtcyBub3QgdG8gc3Vw cG9ydCBYS0IuIik7Ci0rICAgICAgICByZXR1cm4gMDsKLSsgICAgfQotKwotKyAgICBpZiAoeGRp c3BsYXkgPT0gTlVMTCkgewotKyAgICAgICAgZ193YXJuaW5nICgiaWJ1cy14a2IgaXMgbm90IGlu aXRpYWxpemVkLiIpOwotKyAgICAgICAgcmV0dXJuIDA7Ci0rICAgIH0KLSsKLSsgICAgaWYgKFhr YkdldFN0YXRlICh4ZGlzcGxheSwgWGtiVXNlQ29yZUtiZCwgJnN0YXRlKSAhPSBTdWNjZXNzKSB7 Ci0rICAgICAgICBnX3dhcm5pbmcgKCJDb3VsZCBub3QgZ2V0IHN0YXRlIik7Ci0rICAgICAgICBy ZXR1cm4gMDsKLSsgICAgfQotKwotKyAgICByZXR1cm4gc3RhdGUuZ3JvdXA7Ci0rfQotZGlmZiAt LWdpdCBhL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuaCBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIu aAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDAwMDAwMDAuLjM2NTk3YzMKLS0tLSAvZGV2 L251bGwKLSsrKyBiL2VuZ2luZS9pYnVzLXhrYi94a2JsaWIuaAotQEAgLTAsMCArMSw0MSBAQAot Ky8qIC0qLSBtb2RlOiBDOyBjLWJhc2ljLW9mZnNldDogNDsgaW5kZW50LXRhYnMtbW9kZTogbmls OyAtKi0gKi8KLSsvKiB2aW06c2V0IGV0IHN0cz00OiAqLwotKy8qIGJ1cyAtIFRoZSBJbnB1dCBC dXMKLSsgKiBDb3B5cmlnaHQgKEMpIDIwMTIgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJh MUBnbWFpbC5jb20+Ci0rICogQ29weXJpZ2h0IChDKSAyMDEyIFBlbmcgSHVhbmcgPHNoYXduLnAu aHVhbmdAZ21haWwuY29tPgotKyAqIENvcHlyaWdodCAoQykgMjAxMiBSZWQgSGF0LCBJbmMuCi0r ICoKLSsgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCi0rICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYwotKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsgKgotKyAqIFRoaXMg bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0rICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLgkgU2VlIHRoZSBHTlUKLSsgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotKyAqCi0rICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYwotKyAqIExpY2Vuc2UgYWxv bmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlCi0rICogRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UgLSBTdWl0ZSAzMzAsCi0rICog Qm9zdG9uLCBNQSAwMjExMS0xMzA3LCBVU0EuCi0rICovCi0rI2lmbmRlZiBfX1hLQkxJQl9IXwot KyNkZWZpbmUgX19YS0JMSUJfSF8KLSsKLSsjaW5jbHVkZSA8WDExL1hsaWIuaD4KLSsKLStHX0JF R0lOX0RFQ0xTCi0rCi0rdm9pZCAgICAgICAgICAgICBpYnVzX3hrYl9pbml0ICAgICAgICAgICAg ICAgICAgIChEaXNwbGF5ICp4ZGlzcGxheSk7Ci0rdm9pZCAgICAgICAgICAgICBpYnVzX3hrYl9m aW5pdCAgICAgICAgICAgICAgICAgICh2b2lkKTsKLStnY2hhciAgICAgICAgICAgKmlidXNfeGti X2dldF9jdXJyZW50X2xheW91dCAgICAgKHZvaWQpOwotK2djaGFyICAgICAgICAgICAqaWJ1c194 a2JfZ2V0X2N1cnJlbnRfdmFyaWFudCAgICAodm9pZCk7Ci0rZ2NoYXIgICAgICAgICAgICppYnVz X3hrYl9nZXRfY3VycmVudF9vcHRpb24gICAgICh2b2lkKTsKLStnYm9vbGVhbiAgICAgICAgIGli dXNfeGtiX3NldF9sYXlvdXQgICAgICAgICAgICAgKGNvbnN0IGNoYXIgKmxheW91dHMsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFy ICp2YXJpYW50cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGNvbnN0IGNoYXIgKm9wdGlvbnMpOwotK2ludCAgICAgICAgICAgICAgaWJ1c194a2Jf Z2V0X2N1cnJlbnRfZ3JvdXAgICAgICAodm9pZCk7Ci0rCi0rR19FTkRfREVDTFMKLSsjZW5kaWYK LWRpZmYgLS1naXQgYS9lbmdpbmUvbWFpbi52YWxhIGIvZW5naW5lL21haW4udmFsYQotaW5kZXgg YWNmYTczNy4uYWZhZGNhMCAxMDA2NDQKLS0tLSBhL2VuZ2luZS9tYWluLnZhbGEKLSsrKyBiL2Vu Z2luZS9tYWluLnZhbGEKLUBAIC0yMSw2ICsyMSw4NSBAQAotICAqLwotIAotIHVzaW5nIElCdXM7 Ci0rdXNpbmcgR0xpYjsKLSsKLStwcml2YXRlIHZvaWQgcHJpbnRfeG1sKHN0cmluZyAgbGF5b3V0 LAotKyAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nICBsYXlvdXRfZGVzYywKLSsgICAgICAg ICAgICAgICAgICAgICAgIHN0cmluZz8gdmFyaWFudCwKLSsgICAgICAgICAgICAgICAgICAgICAg IHN0cmluZz8gdmFyaWFudF9kZXNjLAotKyAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nICBs YW5nKSB7Ci0rICAgIHN0cmluZyBuYW1lID0gInhrYjolczolczolcyIucHJpbnRmKGxheW91dCwg dmFyaWFudCA/PyAiIiwgbGFuZyk7Ci0rICAgIHN0cmluZyBrZXltYXAgPSBsYXlvdXQ7Ci0rICAg IHN0cmluZyBkZXNjID0gbGF5b3V0X2Rlc2M7Ci0rICAgIHN0cmluZyBzeW1ib2wgPSBsYW5nOwot KwotKyAgICBpZiAodmFyaWFudCAhPSBudWxsKSB7Ci0rICAgICAgICBrZXltYXAgPSAiJXMoJXMp Ii5wcmludGYobGF5b3V0LCB2YXJpYW50KTsKLSsgICAgfQotKwotKyAgICBpZiAodmFyaWFudF9k ZXNjICE9IG51bGwpIHsKLSsgICAgICAgIGRlc2MgPSB2YXJpYW50X2Rlc2M7Ci0rICAgIH0KLSsK LSsgICAgZGVzYyA9IGRlc2MucmVwbGFjZSgiPCIsICImbHQ7IikucmVwbGFjZSgiPiIsICImZ3Q7 Iik7Ci0rCi0rICAgIGlmIChsYW5nLmxlbmd0aCA+IDIpIHsKLSsgICAgICAgIHN5bWJvbCA9IGxh bmdbMDoyXTsKLSsgICAgfQotKwotKyAgICBzdHJpbmcgZW5naW5lID0gIgotKyAgICAgICAgICAg ICAgPGVuZ2luZT4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8bmFtZT4lczwvbmFtZT4KLSsg ICAgICAgICAgICAgICAgICAgICAgICA8bGFuZ3VhZ2U+JXM8L2xhbmd1YWdlPgotKyAgICAgICAg ICAgICAgICAgICAgICAgIDxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSsgICAgICAgICAgICAgICAg ICAgICAgICA8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0 OzwvYXV0aG9yPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxsYXlvdXQ+JXM8L2xheW91dD4K LSsgICAgICAgICAgICAgICAgICAgICAgICA8bG9uZ25hbWU+JXM8L2xvbmduYW1lPgotKyAgICAg ICAgICAgICAgICAgICAgICAgIDxkZXNjcmlwdGlvbj4lczwvZGVzY3JpcHRpb24+Ci0rICAgICAg ICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLSsgICAgICAgICAg ICAgICAgICAgICAgICA8c3ltYm9sPiVzPC9zeW1ib2w+Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgPHJhbms+JWQ8L3Jhbms+Ci0rICAgICAgICAgICAgICA8L2VuZ2luZT4iLnByaW50ZihuYW1l LCBsYW5nLCBrZXltYXAsIGRlc2MsIGRlc2MsIHN5bWJvbCwgOTkpOwotKyAgICBwcmludCAoZW5n aW5lKTsKLSt9Ci0rCi0rcHJpdmF0ZSB2b2lkIHByaW50X2NvbXBvbmVudCgpIHsKLSsgICAgSUJ1 cy5YS0JDb25maWdSZWdpc3RyeSByZWdpc3RyeSA9IG5ldyBJQnVzLlhLQkNvbmZpZ1JlZ2lzdHJ5 KCk7Ci0rICAgIEdMaWIuTGlzdCBsYXlvdXRzID0gcmVnaXN0cnkubGF5b3V0X2xpc3RfZ2V0X2xh eW91dHMoKTsKLSsgICAgR0xpYi5MaXN0IHZhcmlhbnRzOwotKyAgICBHTGliLkxpc3QgbGFuZ3M7 Ci0rICAgIHN0cmluZyBsYXlvdXRfZGVzYzsKLSsgICAgY29uc3Qgc3RyaW5nIGhlYWRlciA9ICI8 ZW5naW5lcz4iOwotKyAgICBjb25zdCBzdHJpbmcgZm9vdGVyID0gIgotKzwvZW5naW5lcz4iOwot KwotKyAgICBwcmludCAoaGVhZGVyKTsKLSsgICAgZm9yICh1bm93bmVkIEdMaWIuTGlzdDxzdHJp bmc+IGwgPSBsYXlvdXRzOyBsICE9IG51bGw7IGwgPSBsLm5leHQpIHsKLSsgICAgICAgIHZhcmlh bnRzID0gcmVnaXN0cnkubGF5b3V0X2xpc3RfZ2V0X3ZhcmlhbnRzKGwuZGF0YSk7Ci0rICAgICAg ICBsYW5ncyA9IHJlZ2lzdHJ5LmxheW91dF9sYW5nX2dldF9sYW5ncyhsLmRhdGEpOwotKyAgICAg ICAgbGF5b3V0X2Rlc2MgPSByZWdpc3RyeS5sYXlvdXRfZGVzY19nZXRfZGVzYyhsLmRhdGEpOwot KyAgICAgICAgZm9yICh1bm93bmVkIEdMaWIuTGlzdDxzdHJpbmc+IGxnID0gbGFuZ3M7IGxnICE9 IG51bGw7IGxnID0gbGcubmV4dCkgewotKyAgICAgICAgICAgIHByaW50X3htbChsLmRhdGEsIGxh eW91dF9kZXNjLCBudWxsLCBudWxsLCBsZy5kYXRhKTsKLSsgICAgICAgIH0KLSsgICAgICAgIGZv ciAodW5vd25lZCBHTGliLkxpc3Q8c3RyaW5nPiB2ID0gdmFyaWFudHM7IHYgIT0gbnVsbDsgdiA9 IHYubmV4dCkgewotKyAgICAgICAgICAgIHZhciBsX3YgPSAiJXMoJXMpIi5wcmludGYobC5kYXRh LCB2LmRhdGEpOwotKyAgICAgICAgICAgIHVub3duZWQgR0xpYi5MaXN0PHN0cmluZz4gbF92X2xh bmdzID0gbnVsbDsKLSsgICAgICAgICAgICBHTGliLkxpc3Q8c3RyaW5nPiBfbF92X2xhbmdzID0g cmVnaXN0cnkubGF5b3V0X2xhbmdfZ2V0X2xhbmdzKGxfdik7Ci0rICAgICAgICAgICAgbF92X2xh bmdzID0gX2xfdl9sYW5nczsKLSsgICAgICAgICAgICBpZiAobF92X2xhbmdzID09IG51bGwpIHsK LSsgICAgICAgICAgICAgICAgbF92X2xhbmdzID0gbGFuZ3M7Ci0rICAgICAgICAgICAgfQotKyAg ICAgICAgICAgIGZvciAodW5vd25lZCBHTGliLkxpc3Q8c3RyaW5nPiBsZyA9IGxfdl9sYW5nczsg bGcgIT0gbnVsbDsgbGcgPSBsZy5uZXh0KSB7Ci0rICAgICAgICAgICAgICAgIHByaW50X3htbChs LmRhdGEsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRfZGVzYywKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgIHYuZGF0YSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgIHJl Z2lzdHJ5LnZhcmlhbnRfZGVzY19nZXRfZGVzYyhsX3YpLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgbGcuZGF0YSk7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotKyAgICB9Ci0rICAg IHByaW50IChmb290ZXIpOwotK30KLSAKLSBjbGFzcyBEdW1teUVuZ2luZSA6IElCdXMuRW5naW5l U2ltcGxlIHsKLSB9Ci1AQCAtMjgsNiArMTA3LDEzIEBAIGNsYXNzIER1bW15RW5naW5lIDogSUJ1 cy5FbmdpbmVTaW1wbGUgewotIHB1YmxpYyBpbnQgbWFpbihzdHJpbmdbXSBhcmdzKSB7Ci0gICAg IElCdXMuaW5pdCgpOwotIAotKyAgICBpZiAoYXJncy5sZW5ndGggPj0gMikgewotKyAgICAgICAg aWYgKGFyZ3NbMV0gPT0gIi0teG1sIiB8fCBhcmdzWzFdID09ICIteCIpIHsKLSsgICAgICAgICAg ICBwcmludF9jb21wb25lbnQoKTsKLSsgICAgICAgICAgICByZXR1cm4gMDsKLSsgICAgICAgIH0K LSsgICAgfQotKwotICAgICBJQnVzLkJ1cyBidXMgPSBuZXcgSUJ1cy5CdXMoKTsKLSAgICAgaWYg KCFidXMuaXNfY29ubmVjdGVkKCkpIHsKLSAgICAgICAgIHdhcm5pbmcoImlidXMtZGFlbW9uIGRv ZXMgbm90IGV4aXN0LiIpOwotZGlmZiAtLWdpdCBhL2VuZ2luZS9zaW1wbGUueG1sLmluLmluIGIv ZW5naW5lL3NpbXBsZS54bWwuaW4uaW4KLWluZGV4IGQwNjRhZDYuLmQxNGFkOTMgMTAwNjQ0Ci0t LS0gYS9lbmdpbmUvc2ltcGxlLnhtbC5pbi5pbgotKysrIGIvZW5naW5lL3NpbXBsZS54bWwuaW4u aW4KLUBAIC03LDYwOCArNyw1IEBACi0gCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSAJPGhvbWVw YWdlPmh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9pYnVzPC9ob21lcGFnZT4KLSAJPHRleHRkb21h aW4+aWJ1czwvdGV4dGRvbWFpbj4KLS0JPGVuZ2luZXM+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1l PnhrYjp1czo6ZW5nPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgotLQkJCTxs aWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAu aHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+dXM8L2xheW91dD4KLS0J CQk8bG9uZ25hbWU+RW5nbGlzaCAoVVMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5n bGlzaCAoVVMpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5p YnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0t CQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjp1czppbnRsOmVuZzwvbmFtZT4KLS0JCQk8bGFuZ3Vh Z2U+ZW5nPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhv cj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0J CQk8bGF5b3V0PnVzPC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92YXJpYW50PmludGw8L2xheW91dF92 YXJpYW50PgotLQkJCTxsb25nbmFtZT5FbmdsaXNoIChVUywgaW50ZXJuYXRpb25hbCB3aXRoIGRl YWQga2V5cyk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChVUywgaW50ZXJu YXRpb25hbCB3aXRoIGRlYWQga2V5cyk8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAg ICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0t CQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnVzOmNvbGVtYWs6ZW5nPC9u YW1lPgotLQkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGlj ZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29t Jmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+dXM8L2xheW91dD4KLS0JCQk8bGF5b3V0X3Zhcmlh bnQ+Y29sZW1hazwvbGF5b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmduYW1lPkVuZ2xpc2ggKENvbGVt YWspPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoQ29sZW1hayk8L2Rlc2Ny aXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJ PG5hbWU+eGtiOnVzOmR2b3Jhazplbmc8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3Vh Z2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAm bHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD51czwv bGF5b3V0PgotLQkJCTxsYXlvdXRfdmFyaWFudD5kdm9yYWs8L2xheW91dF92YXJpYW50PgotLQkJ CTxsb25nbmFtZT5FbmdsaXNoIChEdm9yYWspPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+ RW5nbGlzaCAoRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAg PGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5n aW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6dXM6YWx0Z3ItaW50bDplbmc8L25hbWU+ Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNl PgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7 PC9hdXRob3I+Ci0tCQkJPGxheW91dD51czwvbGF5b3V0PgotLQkJCTxsYXlvdXRfdmFyaWFudD5h bHRnci1pbnRsPC9sYXlvdXRfdmFyaWFudD4KLS0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoaW50ZXJu YXRpb25hbCBBbHRHciBkZWFkIGtleXMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5n bGlzaCAoaW50ZXJuYXRpb25hbCBBbHRHciBkZWFkIGtleXMpPC9kZXNjcmlwdGlvbj4KLS0gICAg ICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5r Pjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjphcmE6 OmFyYTwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+YXJhPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5H UEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdt YWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmFyYTwvbGF5b3V0PgotLQkJCTxsb25n bmFtZT5BcmFiaWM8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5BcmFiaWM8L2Rlc2NyaXB0 aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5h bWU+eGtiOmJlOjpnZXI8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0tCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5iZTwvbGF5b3V0Pgot LQkJCTxsb25nbmFtZT5CZWxnaWFuPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+QmVsZ2lh bjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXli b2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2lu ZT4KLS0JCQk8bmFtZT54a2I6YmU6Om5sZDwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+bmxkPC9sYW5n dWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5n ICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmJl PC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkJlbGdpYW48L2xvbmduYW1lPgotLQkJCTxkZXNjcmlw dGlvbj5CZWxnaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpiZTo6ZnJhPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT5mcmE8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+YmU8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+QmVsZ2lhbjwvbG9uZ25hbWU+Ci0t CQkJPGRlc2NyaXB0aW9uPkJlbGdpYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAg ICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0t CQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmJyOjpwb3I8L25hbWU+Ci0t CQkJPGxhbmd1YWdlPnBvcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgot LQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9h dXRob3I+Ci0tCQkJPGxheW91dD5icjwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5Qb3J0dWd1ZXNl IChCcmF6aWwpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+UG9ydHVndWVzZSAoQnJhemls KTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXli b2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2lu ZT4KLS0JCQk8bmFtZT54a2I6YnI6ZHZvcmFrOnBvcjwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+cG9y PC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5n IEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5 b3V0PmJyPC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92YXJpYW50PmR2b3JhazwvbGF5b3V0X3Zhcmlh bnQ+Ci0tCQkJPGxvbmduYW1lPlBvcnR1Z3Vlc2UgKEJyYXppbCwgRHZvcmFrKTwvbG9uZ25hbWU+ Ci0tCQkJPGRlc2NyaXB0aW9uPlBvcnR1Z3Vlc2UgKEJyYXppbCwgRHZvcmFrKTwvZGVzY3JpcHRp b24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4K LS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFt ZT54a2I6Ymc6OmJ1bDwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+YnVsPC9sYW5ndWFnZT4KLS0JCQk8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmJnPC9sYXlvdXQ+Ci0t CQkJPGxvbmduYW1lPkJ1bGdhcmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkJ1bGdh cmlhbjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1r ZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVu Z2luZT4KLS0JCQk8bmFtZT54a2I6Ymc6cGhvbmV0aWM6YnVsPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT5idWw8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+Ymc8L2xheW91dD4KLS0JCQk8bGF5b3V0X3ZhcmlhbnQ+cGhvbmV0aWM8L2xheW91 dF92YXJpYW50PgotLQkJCTxsb25nbmFtZT5CdWxnYXJpYW4gKHRyYWRpdGlvbmFsIHBob25ldGlj KTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkJ1bGdhcmlhbiAodHJhZGl0aW9uYWwgcGhv bmV0aWMpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8 ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpjYTo6ZnJhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5mcmE8 L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlv dXQ+Y2E8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+RnJlbmNoIChDYW5hZGEpPC9sb25nbmFtZT4K LS0JCQk8ZGVzY3JpcHRpb24+RnJlbmNoIChDYW5hZGEpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAg ICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5 PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpjYTplbmc6 ZW5nPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+Y2E8L2xheW91dD4KLS0JCQk8bGF5b3V0 X3ZhcmlhbnQ+ZW5nPC9sYXlvdXRfdmFyaWFudD4KLS0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoQ2Fu YWRhKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKENhbmFkYSk8L2Rlc2Ny aXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2lj b24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJ PG5hbWU+eGtiOmhyOjpzY3I8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnNjcjwvbGFuZ3VhZ2U+Ci0t CQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hh d24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5ocjwvbGF5b3V0 PgotLQkJCTxsb25nbmFtZT5Dcm9hdGlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkNy b2F0aWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8 ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpjejo6Y3plPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5jemU8 L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlv dXQ+Y3o8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+Q3plY2g8L2xvbmduYW1lPgotLQkJCTxkZXNj cmlwdGlvbj5DemVjaDwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGlj b24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5l PgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6ZGs6OmRhbjwvbmFtZT4KLS0JCQk8bGFuZ3Vh Z2U+ZGFuPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhv cj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0J CQk8bGF5b3V0PmRrPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkRhbmlzaDwvbG9uZ25hbWU+Ci0t CQkJPGRlc2NyaXB0aW9uPkRhbmlzaDwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAg ICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0J CTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6ZWU6OmVzdDwvbmFtZT4KLS0J CQk8bGFuZ3VhZ2U+ZXN0PC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0t CQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1 dGhvcj4KLS0JCQk8bGF5b3V0PmVlPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkVzdG9uaWFuPC9s b25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RXN0b25pYW48L2Rlc2NyaXB0aW9uPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+ OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmZpOjpm aW48L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmZpbjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BM PC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFp bC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5maTwvbGF5b3V0PgotLQkJCTxsb25nbmFt ZT5GaW5uaXNoPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RmlubmlzaDwvZGVzY3JpcHRp b24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4K LS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFt ZT54a2I6ZnI6OmZyYTwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5ndWFnZT4KLS0JCQk8 bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5w Lmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmZyPC9sYXlvdXQ+Ci0t CQkJPGxvbmduYW1lPkZyZW5jaDwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkZyZW5jaDwv ZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2Fy ZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4K LS0JCQk8bmFtZT54a2I6ZnI6ZHZvcmFrOmZyYTwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZnJhPC9s YW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1 YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0 PmZyPC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92YXJpYW50PmR2b3JhazwvbGF5b3V0X3ZhcmlhbnQ+ Ci0tCQkJPGxvbmduYW1lPkZyZW5jaCAoRHZvcmFrKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPkZyZW5jaCAoRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwv ZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6ZGU6OmdlcjwvbmFtZT4KLS0JCQk8 bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJ PGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhv cj4KLS0JCQk8bGF5b3V0PmRlPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkdlcm1hbjwvbG9uZ25h bWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkdlcm1hbjwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAg ICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFu az4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6ZGU6ZHZvcmFrOmdl cjwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8 L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWls LmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmRlPC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92 YXJpYW50PmR2b3JhazwvbGF5b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmduYW1lPkdlcm1hbiAoRHZv cmFrKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkdlcm1hbiAoRHZvcmFrKTwvZGVzY3Jp cHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8 bmFtZT54a2I6ZGU6bmVvOmdlcjwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4K LS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmRlPC9sYXlv dXQ+Ci0tCQkJPGxheW91dF92YXJpYW50Pm5lbzwvbGF5b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmdu YW1lPkdlcm1hbiAoTmVvIDIpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+R2VybWFuIChO ZW8gMik8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMt a2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxl bmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmdyOjpncmU8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmdyZTwv bGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBI dWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91 dD5ncjwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5HcmVlazwvbG9uZ25hbWU+Ci0tCQkJPGRlc2Ny aXB0aW9uPkdyZWVrPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpodTo6aHVuPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT5odW48L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+aHU8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+SHVuZ2FyaWFuPC9sb25nbmFtZT4K LS0JCQk8ZGVzY3JpcHRpb24+SHVuZ2FyaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAg ICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5r PgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjppbDo6aGViPC9uYW1l PgotLQkJCTxsYW5ndWFnZT5oZWI8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5z ZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0 OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+aWw8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+SGVicmV3 PC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+SGVicmV3PC9kZXNjcmlwdGlvbj4KLS0gICAg ICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5r Pjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjppdDo6 aXRhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5pdGE8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQ TDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21h aWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+aXQ8L2xheW91dD4KLS0JCQk8bG9uZ25h bWU+SXRhbGlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkl0YWxpYW48L2Rlc2NyaXB0 aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5h bWU+eGtiOmpwOjpqcG48L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmpwbjwvbGFuZ3VhZ2U+Ci0tCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5qcDwvbGF5b3V0Pgot LQkJCTxsb25nbmFtZT5KYXBhbmVzZTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkphcGFu ZXNlPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtl eWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5n aW5lPgotLQkJCTxuYW1lPnhrYjpsYXRhbTo6c3BhPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zcGE8 L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlv dXQ+bGF0YW08L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+U3BhbmlzaCAoTGF0aW4gQW1lcmljYW4p PC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+U3BhbmlzaCAoTGF0aW4gQW1lcmljYW4pPC9k ZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJk PC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgot LQkJCTxuYW1lPnhrYjpsdDo6bGl0PC9uYW1lPgotLQkJCTxsYW5ndWFnZT5saXQ8L2xhbmd1YWdl PgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0 O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+bHQ8L2xh eW91dD4KLS0JCQk8bG9uZ25hbWU+TGl0aHVhbmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPkxpdGh1YW5pYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxp Y29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2lu ZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmx2OmFwb3N0cm9waGU6bGF2PC9uYW1lPgot LQkJCTxsYW5ndWFnZT5sYXY8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4K LS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0Ozwv YXV0aG9yPgotLQkJCTxsYXlvdXQ+bHY8L2xheW91dD4KLS0JCQk8bGF5b3V0X3ZhcmlhbnQ+YXBv c3Ryb3BoZTwvbGF5b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmduYW1lPkxhdHZpYW4gKGFwb3N0cm9w aGUgdmFyaWFudCk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5MYXR2aWFuIChhcG9zdHJv cGhlIHZhcmlhbnQpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpwbDo6cG9sPC9uYW1lPgotLQkJCTxsYW5ndWFn ZT5wb2w8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9y PlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJ CTxsYXlvdXQ+cGw8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+UG9saXNoPC9sb25nbmFtZT4KLS0J CQk8ZGVzY3JpcHRpb24+UG9saXNoPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAg ICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJ PC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpwbDpkdm9yYWs6cG9sPC9uYW1l PgotLQkJCTxsYW5ndWFnZT5wb2w8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5z ZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0 OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+cGw8L2xheW91dD4KLS0JCQk8bGF5b3V0X3ZhcmlhbnQ+ ZHZvcmFrPC9sYXlvdXRfdmFyaWFudD4KLS0JCQk8bG9uZ25hbWU+UG9saXNoIChEdm9yYWspPC9s b25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+UG9saXNoIChEdm9yYWspPC9kZXNjcmlwdGlvbj4K LS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJ CTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhr YjpwdDo6cG9yPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5wb3I8L2xhbmd1YWdlPgotLQkJCTxsaWNl bnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVh bmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+cHQ8L2xheW91dD4KLS0JCQk8 bG9uZ25hbWU+UG9ydHVndWVzZTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPlBvcnR1Z3Vl c2U8L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5 Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdp bmU+Ci0tCQkJPG5hbWU+eGtiOnJvOjpydW08L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnJ1bTwvbGFu Z3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5y bzwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5Sb21hbmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2Ny aXB0aW9uPlJvbWFuaWFuPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdp bmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjpydTo6cnVzPC9uYW1lPgotLQkJCTxsYW5n dWFnZT5ydXM8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0 aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgot LQkJCTxsYXlvdXQ+cnU8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+UnVzc2lhbjwvbG9uZ25hbWU+ Ci0tCQkJPGRlc2NyaXB0aW9uPlJ1c3NpYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAg ICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+ Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnJ1OnBob25ldGljOnJ1 czwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+cnVzPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8 L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWls LmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PnJ1PC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92 YXJpYW50PnBob25ldGljPC9sYXlvdXRfdmFyaWFudD4KLS0JCQk8bG9uZ25hbWU+UnVzc2lhbiAo cGhvbmV0aWMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+UnVzc2lhbiAocGhvbmV0aWMp PC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJv YXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5l PgotLQkJCTxuYW1lPnhrYjpyczo6c3JwPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zcnA8L2xhbmd1 YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcg Jmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+cnM8 L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+U2VyYmlhbjwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0 aW9uPlNlcmJpYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29u PmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4K LS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnNpOjpzbHY8L25hbWU+Ci0tCQkJPGxhbmd1YWdl PnNsdjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+ UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJ PGxheW91dD5zaTwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5TbG92ZW5pYW48L2xvbmduYW1lPgot LQkJCTxkZXNjcmlwdGlvbj5TbG92ZW5pYW48L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAg ICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+ Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOnNrOjpzbG88L25hbWU+ Ci0tCQkJPGxhbmd1YWdlPnNsbzwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNl PgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7 PC9hdXRob3I+Ci0tCQkJPGxheW91dD5zazwvbGF5b3V0PgotLQkJCTxsb25nbmFtZT5TbG92YWs8 L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5TbG92YWs8L2Rlc2NyaXB0aW9uPgotLSAgICAg ICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJhbms+ OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmVzOjpz cGE8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnNwYTwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BM PC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFp bC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5lczwvbGF5b3V0PgotLQkJCTxsb25nbmFt ZT5TcGFuaXNoPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+U3BhbmlzaDwvZGVzY3JpcHRp b24+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4K LS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFt ZT54a2I6ZXM6Y2F0OmNhdDwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+Y2F0PC9sYW5ndWFnZT4KLS0J CQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3 bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmVzPC9sYXlvdXQ+ Ci0tCQkJPGxheW91dF92YXJpYW50PmNhdDwvbGF5b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmduYW1l PkNhdGFsYW4gKFNwYWluLCB3aXRoIG1pZGRsZS1kb3QgTCk8L2xvbmduYW1lPgotLQkJCTxkZXNj cmlwdGlvbj5DYXRhbGFuIChTcGFpbiwgd2l0aCBtaWRkbGUtZG90IEwpPC9kZXNjcmlwdGlvbj4K LS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJ CTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhr YjpzZTo6c3dlPC9uYW1lPgotLQkJCTxsYW5ndWFnZT5zd2U8L2xhbmd1YWdlPgotLQkJCTxsaWNl bnNlPkdQTDwvbGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVh bmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+c2U8L2xheW91dD4KLS0JCQk8 bG9uZ25hbWU+U3dlZGlzaDwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPlN3ZWRpc2g8L2Rl c2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8 L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0t CQkJPG5hbWU+eGtiOnNlOmR2b3Jhazpzd2U8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPnN3ZTwvbGFu Z3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5z ZTwvbGF5b3V0PgotLQkJCTxsYXlvdXRfdmFyaWFudD5kdm9yYWs8L2xheW91dF92YXJpYW50Pgot LQkJCTxsb25nbmFtZT5Td2VkaXNoIChEdm9yYWspPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRp b24+U3dlZGlzaCAoRHZvcmFrKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAgICAg ICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0JCTwv ZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6Y2g6OmdlcjwvbmFtZT4KLS0JCQk8 bGFuZ3VhZ2U+Z2VyPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJ PGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhv cj4KLS0JCQk8bGF5b3V0PmNoPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPkdlcm1hbiAoU3dpdHpl cmxhbmQpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+R2VybWFuIChTd2l0emVybGFuZCk8 L2Rlc2NyaXB0aW9uPgotLSAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9h cmQ8L2ljb24+Ci0tCQkJPHJhbms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+ Ci0tCQkJPG5hbWU+eGtiOmNoOmZyOmZyYTwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5n dWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5n ICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmNo PC9sYXlvdXQ+Ci0tCQkJPGxheW91dF92YXJpYW50PmZyPC9sYXlvdXRfdmFyaWFudD4KLS0JCQk8 bG9uZ25hbWU+RnJlbmNoIChTd2l0emVybGFuZCk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlv bj5GcmVuY2ggKFN3aXR6ZXJsYW5kKTwvZGVzY3JpcHRpb24+Ci0tICAgICAgICAgICAgICAgICAg ICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLS0JCQk8cmFuaz45OTwvcmFuaz4KLS0J CTwvZW5naW5lPgotLQkJPGVuZ2luZT4KLS0JCQk8bmFtZT54a2I6dHI6OnR1cjwvbmFtZT4KLS0J CQk8bGFuZ3VhZ2U+dHVyPC9sYW5ndWFnZT4KLS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0t CQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1 dGhvcj4KLS0JCQk8bGF5b3V0PnRyPC9sYXlvdXQ+Ci0tCQkJPGxvbmduYW1lPlR1cmtpc2g8L2xv bmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5UdXJraXNoPC9kZXNjcmlwdGlvbj4KLS0gICAgICAg ICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5 PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjp1YTo6dWty PC9uYW1lPgotLQkJCTxsYW5ndWFnZT51a3I8L2xhbmd1YWdlPgotLQkJCTxsaWNlbnNlPkdQTDwv bGljZW5zZT4KLS0JCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwu Y29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+dWE8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+ VWtyYWluaWFuPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+VWtyYWluaWFuPC9kZXNjcmlw dGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29u PgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCQk8ZW5naW5lPgotLQkJCTxu YW1lPnhrYjpnYjpleHRkOmVuZzwvbmFtZT4KLS0JCQk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4K LS0JCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0tCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmdiPC9sYXlv dXQ+Ci0tCQkJPGxheW91dF92YXJpYW50PmV4dGQ8L2xheW91dF92YXJpYW50PgotLQkJCTxsb25n bmFtZT5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2xvbmduYW1lPgotLQkJCTxkZXNj cmlwdGlvbj5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2Rlc2NyaXB0aW9uPgotLSAg ICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0tCQkJPHJh bms+OTk8L3Jhbms+Ci0tCQk8L2VuZ2luZT4KLS0JCTxlbmdpbmU+Ci0tCQkJPG5hbWU+eGtiOmdi OmR2b3Jhazplbmc8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0tCQkJPGxp Y2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5nYjwvbGF5b3V0PgotLQkJ CTxsYXlvdXRfdmFyaWFudD5kdm9yYWs8L2xheW91dF92YXJpYW50PgotLQkJCTxsb25nbmFtZT5F bmdsaXNoIChVSywgRHZvcmFrKTwvbG9uZ25hbWU+Ci0tCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2gg KFVLLCBEdm9yYWspPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+ Ci0tCQk8ZW5naW5lPgotLQkJCTxuYW1lPnhrYjprcjprcjEwNDprb3I8L25hbWU+Ci0tCQkJPGxh bmd1YWdlPmtvcjwvbGFuZ3VhZ2U+Ci0tCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotLQkJCTxh dXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+ Ci0tCQkJPGxheW91dD5rcjwvbGF5b3V0PgotLQkJCTxsYXlvdXRfdmFyaWFudD5rcjEwNDwvbGF5 b3V0X3ZhcmlhbnQ+Ci0tCQkJPGxvbmduYW1lPktvcmVhbiAoMTAxLzEwNCBrZXkgY29tcGF0aWJs ZSk8L2xvbmduYW1lPgotLQkJCTxkZXNjcmlwdGlvbj5Lb3JlYW4gKDEwMS8xMDQga2V5IGNvbXBh dGlibGUpPC9kZXNjcmlwdGlvbj4KLS0gICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVz LWtleWJvYXJkPC9pY29uPgotLQkJCTxyYW5rPjk5PC9yYW5rPgotLQkJPC9lbmdpbmU+Ci0tCTwv ZW5naW5lcz4KLSsgICAgICAgIDxlbmdpbmVzIGV4ZWM9XCIke2xpYmV4ZWNkaXJ9L2lidXMtZW5n aW5lLXNpbXBsZSAtLXhtbFwiIC8+Ci0gPC9jb21wb25lbnQ+CisgICAgICAgPGtleT4vc2NoZW1h cy9kZXNrdG9wL2lidXMvZ2VuZXJhbC9ob3RrZXkvZW5hYmxlX3VuY29uZGl0aW9uYWw8L2tleT4K KyAgICAgICA8YXBwbHl0bz4vZGVza3RvcC9pYnVzL2dlbmVyYWwvaG90a2V5L2VuYWJsZV91bmNv bmRpdGlvbmFsPC9hcHBseXRvPgorICAgICAgIDxvd25lcj5pYnVzPC9vd25lcj4KIGRpZmYgLS1n aXQgYS9pYnVzLTEuMC5wYy5pbiBiL2lidXMtMS4wLnBjLmluCi1pbmRleCA5ZjU5M2FiLi42NmI5 MDJhIDEwMDY0NAoraW5kZXggOWY1OTNhYi4uYzkzYTBlZCAxMDA2NDQKIC0tLSBhL2lidXMtMS4w LnBjLmluCiArKysgYi9pYnVzLTEuMC5wYy5pbgotQEAgLTEsOSArMSwxMyBAQAotIHByZWZpeD1A cHJlZml4QAotIGV4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKLSBsaWJkaXI9QGxpYmRpckAKLSts aWJleGVjZGlyPUBsaWJleGVjZGlyQAorQEAgLTQsNiArNCw3IEBAIGxpYmRpcj1AbGliZGlyQAog IGluY2x1ZGVkaXI9QGluY2x1ZGVkaXJACiAgZGF0YWRpcj1AZGF0YWRpckAKICBwa2dkYXRhZGly PUBkYXRhZGlyQC9pYnVzCi0raGF2ZV9pYnVzX3hrYj1ASEFWRV9JQlVTX1hLQkAKLStpYnVzX3hr Yj0ke2xpYmV4ZWNkaXJ9L2lidXMteGtiCiAraGF2ZV9pYnVzX2drYmQ9QEhBVkVfSUJVU19HS0JE QAogIAogIE5hbWU6IElCdXMKQEAgLTE3MzksOTEgKzI3NCwxNiBAQCBpbmRleCA1OGNhYzM4Li40 YjZmODY5IDEwMDY0NAogICVjb25maWd1cmUgJE9QVElPTlMKICAKICAjIG1ha2UgLUMgcG8gdXBk YXRlLWdtbwotZGlmZiAtLWdpdCBhL3NldHVwL21haW4ucHkgYi9zZXR1cC9tYWluLnB5Ci1pbmRl eCBmNTI3ZGExLi5jMDIyMjliIDEwMDY0NAotLS0tIGEvc2V0dXAvbWFpbi5weQotKysrIGIvc2V0 dXAvbWFpbi5weQotQEAgLTY3LDYgKzY3LDEzIEBAIGNsYXNzIFNldHVwKG9iamVjdCk6Ci0gICAg IGRlZiBfX2luaXRfXyhzZWxmKToKLSAgICAgICAgIHN1cGVyKFNldHVwLCBzZWxmKS5fX2luaXRf XygpCi0gCi0rICAgICAgICAjIEluIHRoZSBsYXRlc3QgcHlnb2JqZWN0MyAzLjMuNCBvciBsYXRl ciwgZ192YXJpYW50X2R1cF9zdHJ2Ci0rICAgICAgICAjIHJldHVybnMgdGhlIGFsbG9jYXRlZCBz dHJ2IGJ1dCBpbiB0aGUgcHJldmlvdXMgcmVsZWFzZSwKLSsgICAgICAgICMgaXQgcmV0dXJuZWQg dGhlIHR1cGxlIG9mIChzdHJ2LCBsZW5ndGgpCi0rICAgICAgICBzZWxmLl9fdHVwbGVfZm9yX3Zh cmlhbnRfc3RydiA9IEZhbHNlCi0rICAgICAgICBpZiB0eXBlKEdMaWIuVmFyaWFudC5uZXdfc3Ry dihbXSkuZHVwX3N0cnYoKSkgPT0gdHVwbGU6Ci0rICAgICAgICAgICAgc2VsZi5fX3R1cGxlX2Zv cl92YXJpYW50X3N0cnYgPSBUcnVlCi0rCi0gICAgICAgICAjIElCdXMuQnVzKCkgY2FsbHMgaWJ1 c19idXNfbmV3KCkuCi0gICAgICAgICAjIEd0ay5CdWlsZGVyKCkuYWRkX2Zyb21fZmlsZSgpIGFs c28gY2FsbHMgaWJ1c19idXNfbmV3X2FzeW5jKCkKLSAgICAgICAgICMgdmlhIGlidXNfaW1fY29u dGV4dF9uZXcoKS4KLUBAIC0xOTEsMTQgKzE5OCwyMiBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgot IAotICAgICAgICAgIyBpbml0IGVuZ2luZSBwYWdlCi0gICAgICAgICBzZWxmLl9fZW5naW5lcyA9 IHNlbGYuX19idXMubGlzdF9lbmdpbmVzKCkKLSsgICAgICAgIHZhbHVlID0gc2VsZi5fX2NvbmZp Zy5nZXRfdmFsdWUoImdlbmVyYWwiLCAibG9hZF94a2JfbGF5b3V0cyIpCi0rICAgICAgICBsb2Fk X2xheW91dHMgPSBbXQotKyAgICAgICAgaWYgdmFsdWUgIT0gTm9uZToKLSsgICAgICAgICAgICBs b2FkX2xheW91dHMgPSBzZWxmLl9fdmFyaWFudF9kdXBfc3Rydih2YWx1ZSkKLSsgICAgICAgIGVu Z2luZXMgPSBbXQotKyAgICAgICAgZm9yIGVuZ2luZSBpbiBzZWxmLl9fZW5naW5lczoKLSsgICAg ICAgICAgICBpZiBub3QgZW5naW5lLmdldF9uYW1lKCkuc3RhcnRzd2l0aCgneGtiOicpOgotKyAg ICAgICAgICAgICAgICBlbmdpbmVzLmFwcGVuZChlbmdpbmUpCi0rICAgICAgICAgICAgZWxpZiBl bmdpbmUuZ2V0X2xheW91dCgpIGluIGxvYWRfbGF5b3V0czoKLSsgICAgICAgICAgICAgICAgZW5n aW5lcy5hcHBlbmQoZW5naW5lKQotKwotICAgICAgICAgc2VsZi5fX2NvbWJvYm94ID0gc2VsZi5f X2J1aWxkZXIuZ2V0X29iamVjdCgiY29tYm9ib3hfZW5naW5lcyIpCi0tICAgICAgICBzZWxmLl9f Y29tYm9ib3guc2V0X2VuZ2luZXMoc2VsZi5fX2VuZ2luZXMpCi0rICAgICAgICBzZWxmLl9fY29t Ym9ib3guc2V0X2VuZ2luZXMoZW5naW5lcykKLSAKLS0gICAgICAgIHRtcF9kaWN0ID0ge30KLS0g ICAgICAgIGZvciBlIGluIHNlbGYuX19lbmdpbmVzOgotLSAgICAgICAgICAgIHRtcF9kaWN0W2Uu Z2V0X25hbWUoKV0gPSBlCi0gICAgICAgICBlbmdpbmVfbmFtZXMgPSB2YWx1ZXMuZ2V0KCJwcmVs b2FkX2VuZ2luZXMiLCBbXSkKLS0gICAgICAgIGVuZ2luZXMgPSBbdG1wX2RpY3RbbmFtZV0gZm9y IG5hbWUgaW4gZW5naW5lX25hbWVzIGlmIG5hbWUgaW4gdG1wX2RpY3RdCi0rICAgICAgICBlbmdp bmVzID0gc2VsZi5fX2dldF9lbmdpbmVfZGVzY3NfZnJvbV9uYW1lcyhlbmdpbmVfbmFtZXMpCi0g Ci0gICAgICAgICBzZWxmLl9fdHJlZXZpZXcgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJ0 cmVldmlld19lbmdpbmVzIikKLSAgICAgICAgIHNlbGYuX190cmVldmlldy5zZXRfZW5naW5lcyhl bmdpbmVzKQotQEAgLTI0Nyw2ICsyNjIsMTIgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKLSAgICAg ICAgIHNlbGYuX19pbml0X3BhbmVsKCkKLSAgICAgICAgIHNlbGYuX19pbml0X2dlbmVyYWwoKQot IAotKyAgICBkZWYgX192YXJpYW50X2R1cF9zdHJ2KHNlbGYsIHZhcmlhbnQpOgotKyAgICAgICAg aWYgc2VsZi5fX3R1cGxlX2Zvcl92YXJpYW50X3N0cnY6Ci0rICAgICAgICAgICAgcmV0dXJuIHZh cmlhbnQuZHVwX3N0cnYoKVswXQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICByZXR1cm4g dmFyaWFudC5kdXBfc3RydigpCi0rCi0gICAgIGRlZiBfX2NvbWJvYm94X25vdGlmeV9hY3RpdmVf ZW5naW5lX2NiKHNlbGYsIGNvbWJvYm94LCBwcm9wZXJ0eSk6Ci0gICAgICAgICBlbmdpbmUgPSBz ZWxmLl9fY29tYm9ib3guZ2V0X2FjdGl2ZV9lbmdpbmUoKQotICAgICAgICAgYnV0dG9uID0gc2Vs Zi5fX2J1aWxkZXIuZ2V0X29iamVjdCgiYnV0dG9uX2VuZ2luZV9hZGQiKQotQEAgLTI3MSw2ICsy OTIsMTMgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKLSAgICAgICAgICAgICBhcmdzLmFwcGVuZChw YXRoLmJhc2VuYW1lKHNldHVwX3BhdGgpKQotICAgICAgICAgcmV0dXJuIGFyZ3MKLSAKLSsgICAg ZGVmIF9fZ2V0X2VuZ2luZV9kZXNjc19mcm9tX25hbWVzKHNlbGYsIGVuZ2luZV9uYW1lcyk6Ci0r ICAgICAgICB0bXBfZGljdCA9IHt9Ci0rICAgICAgICBmb3IgZSBpbiBzZWxmLl9fZW5naW5lczoK LSsgICAgICAgICAgICB0bXBfZGljdFtlLmdldF9uYW1lKCldID0gZQotKyAgICAgICAgZW5naW5l cyA9IFt0bXBfZGljdFtuYW1lXSBmb3IgbmFtZSBpbiBlbmdpbmVfbmFtZXMgaWYgbmFtZSBpbiB0 bXBfZGljdF0KLSsgICAgICAgIHJldHVybiBlbmdpbmVzCi0rCi0gICAgIGRlZiBfX3RyZWV2aWV3 X25vdGlmeV9jYihzZWxmLCB0cmVldmlldywgcHJvcCk6Ci0gICAgICAgICBpZiBwcm9wLm5hbWUg bm90IGluICgiYWN0aXZlLWVuZ2luZSIsICJlbmdpbmVzIik6Ci0gICAgICAgICAgICAgcmV0dXJu CiBkaWZmIC0tZ2l0IGEvc3JjL01ha2VmaWxlLmFtIGIvc3JjL01ha2VmaWxlLmFtCi1pbmRleCBk ZjRhZGEzLi5mODQ5OWE4IDEwMDY0NAoraW5kZXggN2VlNWRmOC4uOGZhOTU0ZSAxMDA2NDQKIC0t LSBhL3NyYy9NYWtlZmlsZS5hbQogKysrIGIvc3JjL01ha2VmaWxlLmFtCi1AQCAtMTk0LDYgKzE5 NCwxMSBAQCB0eXBlbGlic19EQVRBID0gJChJTlRST1NQRUNUSU9OX0dJUlM6Lmdpcj0udHlwZWxp YikKK0BAIC0xOTcsNiArMTk3LDkgQEAgdHlwZWxpYnNfREFUQSA9ICQoSU5UUk9TUEVDVElPTl9H SVJTOi5naXI9LnR5cGVsaWIpCiAgQ0xFQU5GSUxFUyArPSAkKGRpc3RfZ2lyX0RBVEEpICQodHlw ZWxpYnNfREFUQSkKICBlbmRpZgogIAotK2lmIEVOQUJMRV9JQlVTX1hLQgogK2lidXNfc291cmNl cyArPSBpYnVzeGtieG1sLmMKICtpYnVzX2hlYWRlcnMgKz0gaWJ1c3hrYnhtbC5oCi0rZW5kaWYK ICsKICAjIGdlbiBlbnVtIHR5cGVzCiAgaWJ1c2VudW10eXBlcy5oOiAkKGlidXNfaGVhZGVycykg aWJ1c2VudW10eXBlcy5oLnRlbXBsYXRlCkBAIC0yNTA2LDcgKzk2Niw3IEBAIGluZGV4IDAwMDAw MDAuLjZmNWI3YmQKICtHX0VORF9ERUNMUwogKyNlbmRpZgogZGlmZiAtLWdpdCBhL3VpL2d0azMv TWFrZWZpbGUuYW0gYi91aS9ndGszL01ha2VmaWxlLmFtCi1pbmRleCA1NDczMDI3Li42Y2IwMmEx IDEwMDY0NAoraW5kZXggNTQ3MzAyNy4uYjdlNjYzYyAxMDA2NDQKIC0tLSBhL3VpL2d0azMvTWFr ZWZpbGUuYW0KICsrKyBiL3VpL2d0azMvTWFrZWZpbGUuYW0KIEBAIC00Nyw2ICs0Nyw4IEBAIFVT RV9TWU1CT0xfSUNPTiA9IEZBTFNFCkBAIC0yNTE4LDE3ICs5NzgsMTYgQEAgaW5kZXggNTQ3MzAy Ny4uNmNiMDJhMSAxMDA2NDQKICBBTV9DRkxBR1MgPSBcCiAgCUBHTElCMl9DRkxBR1NAIFwKICAJ QEdJTzJfQ0ZMQUdTQCBcCi1AQCAtNTgsNiArNjAsOSBAQCBBTV9DRkxBR1MgPSBcCitAQCAtNTgs NiArNjAsOCBAQCBBTV9DRkxBR1MgPSBcCiAgCS1EQklORElSPVwiJChiaW5kaXIpXCIgXAogIAkt RElCVVNfRElTQUJMRV9ERVBSRUNBVEVEIFwKICAJLURTV0lUQ0hFUl9VU0VfU1lNQk9MX0lDT049 JChVU0VfU1lNQk9MX0lDT04pIFwKICsJLURIQVZFX0lCVVNfR0tCRD0kKEhBVkVfSUJVU19HS0JE X0MpIFwKLSsJLURJQlVTX1hLQl9DT01NQU5EPVwiJChsaWJleGVjZGlyKS9pYnVzLXhrYlwiIFwK ICsJLURYS0JfTEFZT1VUU19NQVhfTEVOR1RIPTQgXAogIAktV25vLXVudXNlZC12YXJpYWJsZSBc CiAgCS1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgXAogIAktV25vLXVudXNlZC1mdW5jdGlv biBcCi1AQCAtOTEsNiArOTYsNyBAQCBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwKK0BAIC05MSw2 ICs5NSw3IEBAIGlidXNfdWlfZ3RrM19TT1VSQ0VTID0gXAogIAlhcHBsaWNhdGlvbi52YWxhIFwK ICAJY2FuZGlkYXRlYXJlYS52YWxhIFwKICAJY2FuZGlkYXRlcGFuZWwudmFsYSBcCkBAIC0yNTM2 LDcgKzk5NSw3IEBAIGluZGV4IDU0NzMwMjcuLjZjYjAyYTEgMTAwNjQ0CiAgCWhhbmRsZS52YWxh IFwKICAJaWNvbndpZGdldC52YWxhIFwKICAJa2V5YmluZGluZ21hbmFnZXIudmFsYSBcCi1AQCAt OTksMTcgKzEwNSw0OCBAQCBpYnVzX3VpX2d0azNfU09VUkNFUyA9IFwKK0BAIC05OSwxNyArMTA0 LDQ4IEBAIGlidXNfdWlfZ3RrM19TT1VSQ0VTID0gXAogIAlwcm9wZXJ0eS52YWxhIFwKICAJc2Vw YXJhdG9yLnZhbGEgXAogIAlzd2l0Y2hlci52YWxhIFwKQEAgLTI3NjksMzEgKzEyMjgsMTAgQEAg aW5kZXggMDAwMDAwMC4uMmI3OGM2OQogKyAgICAqLwogK30KIGRpZmYgLS1naXQgYS91aS9ndGsz L3BhbmVsLnZhbGEgYi91aS9ndGszL3BhbmVsLnZhbGEKLWluZGV4IGMxNTk2OTMuLjYzYjBjZGUg MTAwNjQ0CitpbmRleCAyNGU2YjJlLi41NWI2M2NlIDEwMDY0NAogLS0tIGEvdWkvZ3RrMy9wYW5l bC52YWxhCiArKysgYi91aS9ndGszL3BhbmVsLnZhbGEKLUBAIC0yMSw2ICsyMSwyMCBAQAotICAq LwotIAotIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewotKyAgICBwcml2YXRlIGNs YXNzIEtleWJpbmRpbmcgewotKyAgICAgICAgcHVibGljIEtleWJpbmRpbmcodWludCBrZXlzeW0s Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlIG1vZGlmaWVycywK LSsgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgcmV2ZXJzZSkgewotKyAgICAgICAgICAg IHRoaXMua2V5c3ltID0ga2V5c3ltOwotKyAgICAgICAgICAgIHRoaXMubW9kaWZpZXJzID0gbW9k aWZpZXJzOwotKyAgICAgICAgICAgIHRoaXMucmV2ZXJzZSA9IHJldmVyc2U7Ci0rICAgICAgICB9 Ci0rCi0rICAgICAgICBwdWJsaWMgdWludCBrZXlzeW0geyBnZXQ7IHNldDsgfQotKyAgICAgICAg cHVibGljIEdkay5Nb2RpZmllclR5cGUgbW9kaWZpZXJzIHsgZ2V0OyBzZXQ7IH0KLSsgICAgICAg IHB1YmxpYyBib29sIHJldmVyc2UgeyBnZXQ7IHNldDsgfQotKyAgICB9Ci0rCi0gICAgIHByaXZh dGUgSUJ1cy5CdXMgbV9idXM7Ci0gICAgIHByaXZhdGUgSUJ1cy5Db25maWcgbV9jb25maWc7Ci0g ICAgIHByaXZhdGUgR3RrLlN0YXR1c0ljb24gbV9zdGF0dXNfaWNvbjsKLUBAIC0zNCwxMCArNDgs MTcgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CitAQCAtNDgsNiArNDgsMTMg QEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CiAgICAgIHByaXZhdGUgR3RrLkFi b3V0RGlhbG9nIG1fYWJvdXRfZGlhbG9nOwogICAgICBwcml2YXRlIEd0ay5Dc3NQcm92aWRlciBt X2Nzc19wcm92aWRlcjsKICAgICAgcHJpdmF0ZSBpbnQgbV9zd2l0Y2hlcl9kZWxheV90aW1lID0g NDAwOwpAQCAtMjgwNSwyNSArMTI0Myw5IEBAIGluZGV4IGMxNTk2OTMuLjYzYjBjZGUgMTAwNjQ0 CiArICAgIHByaXZhdGUgYm9vbCBtX2NoYW5nZWRfeGtiX29wdGlvbiA9IGZhbHNlOwogKyAgICBw cml2YXRlIEdMaWIuVGltZXIgbV9jaGFuZ2VkX2xheW91dF90aW1lcjsKICAgICAgcHJpdmF0ZSBj b25zdCBzdHJpbmcgQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9GT1JFV0FSRCA9ICI8Q29udHJvbD5z cGFjZSI7Ci0rICAgIHByaXZhdGUgY29uc3Qgc3RyaW5nIEFDQ0VMRVJBVE9SX1NXSVRDSF9JTUVf QkFDS1dBUkQgPSAiPENvbnRyb2w+PFNoaWZ0PnNwYWNlIjsKICAKLS0gICAgcHJpdmF0ZSB1aW50 IG1fc3dpdGNoX2tleXN5bSA9IDA7Ci0tICAgIHByaXZhdGUgR2RrLk1vZGlmaWVyVHlwZSBtX3N3 aXRjaF9tb2RpZmllcnMgPSAwOwotKyAgICBwcml2YXRlIEdMaWIuTGlzdDxLZXliaW5kaW5nPiBt X2tleWJpbmRpbmdzID0gbmV3IEdMaWIuTGlzdDxLZXliaW5kaW5nPigpOwotIAotICAgICBwdWJs aWMgUGFuZWwoSUJ1cy5CdXMgYnVzKSB7Ci0gICAgICAgICBHTGliLmFzc2VydChidXMuaXNfY29u bmVjdGVkKCkpOwotQEAgLTYwLDcgKzgxLDggQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2Vy dmljZSB7Ci0gICAgICAgICBtX2NhbmRpZGF0ZV9wYW5lbC5wYWdlX2Rvd24uY29ubmVjdCgodykg PT4gdGhpcy5wYWdlX2Rvd24oKSk7Ci0gCi0gICAgICAgICBtX3N3aXRjaGVyID0gbmV3IFN3aXRj aGVyKCk7Ci0tICAgICAgICBiaW5kX3N3aXRjaF9zaG9ydGN1dCgpOwotKyAgICAgICAgLy8gVGhl IGluaXRpYWwgc2hvcnRjdXQgaXMgIjxDb250cm9sPnNwYWNlIgotKyAgICAgICAgYmluZF9zd2l0 Y2hfc2hvcnRjdXQobnVsbCk7Ci0gCi0gICAgICAgICBpZiAobV9zd2l0Y2hlcl9kZWxheV90aW1l ID49IDApIHsKLSAgICAgICAgICAgICBtX3N3aXRjaGVyLnNldF9wb3B1cF9kZWxheV90aW1lKCh1 aW50KSBtX3N3aXRjaGVyX2RlbGF5X3RpbWUpOwotQEAgLTc2LDY0ICs5OCwxMzIgQEAgY2xhc3Mg UGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CisgICAgIHByaXZhdGUgR0xpYi5MaXN0PEtleWJp bmRpbmc+IG1fa2V5YmluZGluZ3MgPSBuZXcgR0xpYi5MaXN0PEtleWJpbmRpbmc+KCk7CitAQCAt OTAsNiArOTcsMTQgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CiAgCiAgICAg IH5QYW5lbCgpIHsKICAgICAgICAgIHVuYmluZF9zd2l0Y2hfc2hvcnRjdXQoKTsKQEAgLTI4Mzcs MTY2ICsxMjU5LDE3IEBAIGluZGV4IGMxNTk2OTMuLjYzYjBjZGUgMTAwNjQ0CiArICAgICAgICBt X3hrYmxheW91dCA9IG51bGw7CiAgICAgIH0KICAKLS0gICAgcHJpdmF0ZSB2b2lkIGJpbmRfc3dp dGNoX3Nob3J0Y3V0KCkgewotLSAgICAgICAgdmFyIGtleWJpbmRpbmdfbWFuYWdlciA9IEtleWJp bmRpbmdNYW5hZ2VyLmdldF9pbnN0YW5jZSgpOwotKyAgICBwcml2YXRlIHZvaWQga2V5YmluZGlu Z19tYW5hZ2VyX2JpbmQoS2V5YmluZGluZ01hbmFnZXIga2V5YmluZGluZ19tYW5hZ2VyLAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nPyAgICAgICAgICAg YWNjZWxlcmF0b3IpIHsKLSsgICAgICAgIHVpbnQgc3dpdGNoX2tleXN5bSA9IDA7Ci0rICAgICAg ICBHZGsuTW9kaWZpZXJUeXBlIHN3aXRjaF9tb2RpZmllcnMgPSAwOwotKyAgICAgICAgR2RrLk1v ZGlmaWVyVHlwZSByZXZlcnNlX21vZGlmaWVyID0gR2RrLk1vZGlmaWVyVHlwZS5TSElGVF9NQVNL OwotKyAgICAgICAgS2V5YmluZGluZyBrZXliaW5kaW5nOwotIAotLSAgICAgICAgdmFyIGFjY2Vs ZXJhdG9yID0gQUNDRUxFUkFUT1JfU1dJVENIX0lNRV9GT1JFV0FSRDsKLSAgICAgICAgIEd0ay5h Y2NlbGVyYXRvcl9wYXJzZShhY2NlbGVyYXRvciwKLS0gICAgICAgICAgICAgICAgb3V0IG1fc3dp dGNoX2tleXN5bSwgb3V0IG1fc3dpdGNoX21vZGlmaWVycyk7Ci0rICAgICAgICAgICAgICAgIG91 dCBzd2l0Y2hfa2V5c3ltLCBvdXQgc3dpdGNoX21vZGlmaWVycyk7Ci0gCi0tICAgICAgICAvLyBN YXAgdmlydHVhbCBtb2RpZmllcnMgdG8gKGkuZS5Nb2QyLCBNb2QzLCAuLi4pCi0rICAgICAgICAv LyBNYXAgdmlydHVhbCBtb2RpZmllcnMgdG8gKGkuZS4gTW9kMiwgTW9kMywgLi4uKQotICAgICAg ICAgY29uc3QgR2RrLk1vZGlmaWVyVHlwZSBWSVJUVUFMX01PRElGSUVSUyA9ICgKLSAgICAgICAg ICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5TVVBFUl9NQVNLIHwKLSAgICAgICAgICAgICAgICAg R2RrLk1vZGlmaWVyVHlwZS5IWVBFUl9NQVNLIHwKLSAgICAgICAgICAgICAgICAgR2RrLk1vZGlm aWVyVHlwZS5NRVRBX01BU0spOwotLSAgICAgICAgaWYgKChtX3N3aXRjaF9tb2RpZmllcnMgJiBW SVJUVUFMX01PRElGSUVSUykgIT0gMCkgewotKyAgICAgICAgaWYgKChzd2l0Y2hfbW9kaWZpZXJz ICYgVklSVFVBTF9NT0RJRklFUlMpICE9IDApIHsKLSAgICAgICAgIC8vIHdvcmthcm91bmQgYSBi dWcgaW4gZ2RrIHZhcGkgdmFsYSA+IDAuMTgKLSAgICAgICAgIC8vIGh0dHBzOi8vYnVnemlsbGEu Z25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzc1NTkKLSAjaWYgVkFMQV8wXzE4Ci0gICAgICAg ICAgICAgR2RrLktleW1hcC5nZXRfZGVmYXVsdCgpLm1hcF92aXJ0dWFsX21vZGlmaWVycygKLS0g ICAgICAgICAgICAgICAgICAgIHJlZiBtX3N3aXRjaF9tb2RpZmllcnMpOwotKyAgICAgICAgICAg ICAgICAgICAgcmVmIHN3aXRjaF9tb2RpZmllcnMpOwotICNlbHNlCi0tICAgICAgICAgICAgaWYg KChtX3N3aXRjaF9tb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBlLlNVUEVSX01BU0spICE9IDAp Ci0tICAgICAgICAgICAgICAgIG1fc3dpdGNoX21vZGlmaWVycyB8PSBHZGsuTW9kaWZpZXJUeXBl Lk1PRDRfTUFTSzsKLS0gICAgICAgICAgICBpZiAoKG1fc3dpdGNoX21vZGlmaWVycyAmIEdkay5N b2RpZmllclR5cGUuSFlQRVJfTUFTSykgIT0gMCkKLS0gICAgICAgICAgICAgICAgbV9zd2l0Y2hf bW9kaWZpZXJzIHw9IEdkay5Nb2RpZmllclR5cGUuTU9ENF9NQVNLOwotKyAgICAgICAgICAgIGlm ICgoc3dpdGNoX21vZGlmaWVycyAmIEdkay5Nb2RpZmllclR5cGUuU1VQRVJfTUFTSykgIT0gMCkK LSsgICAgICAgICAgICAgICAgc3dpdGNoX21vZGlmaWVycyB8PSBHZGsuTW9kaWZpZXJUeXBlLk1P RDRfTUFTSzsKLSsgICAgICAgICAgICBpZiAoKHN3aXRjaF9tb2RpZmllcnMgJiBHZGsuTW9kaWZp ZXJUeXBlLkhZUEVSX01BU0spICE9IDApCi0rICAgICAgICAgICAgICAgIHN3aXRjaF9tb2RpZmll cnMgfD0gR2RrLk1vZGlmaWVyVHlwZS5NT0Q0X01BU0s7Ci0gI2VuZGlmCi0tICAgICAgICAgICAg bV9zd2l0Y2hfbW9kaWZpZXJzICY9IH5WSVJUVUFMX01PRElGSUVSUzsKLSsgICAgICAgICAgICBz d2l0Y2hfbW9kaWZpZXJzICY9IH5WSVJUVUFMX01PRElGSUVSUzsKLSAgICAgICAgIH0KLSAKLS0g ICAgICAgIGlmIChtX3N3aXRjaF9rZXlzeW0gPT0gMCAmJiBtX3N3aXRjaF9tb2RpZmllcnMgPT0g MCkgewotKyAgICAgICAgaWYgKHN3aXRjaF9rZXlzeW0gPT0gMCAmJiBzd2l0Y2hfbW9kaWZpZXJz ID09IDApIHsKLSAgICAgICAgICAgICB3YXJuaW5nKCJQYXJzZSBhY2NlbGVyYXRvciAnJXMnIGZh aWxlZCEiLCBhY2NlbGVyYXRvcik7Ci0gICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgfQot IAotLSAgICAgICAga2V5YmluZGluZ19tYW5hZ2VyLmJpbmQobV9zd2l0Y2hfa2V5c3ltLCBtX3N3 aXRjaF9tb2RpZmllcnMsCi0rICAgICAgICBrZXliaW5kaW5nID0gbmV3IEtleWJpbmRpbmcoc3dp dGNoX2tleXN5bSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2hf bW9kaWZpZXJzLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlKTsK LSsgICAgICAgIG1fa2V5YmluZGluZ3MuYXBwZW5kKGtleWJpbmRpbmcpOwotKwotKyAgICAgICAg a2V5YmluZGluZ19tYW5hZ2VyLmJpbmQoc3dpdGNoX2tleXN5bSwgc3dpdGNoX21vZGlmaWVycywK LSAgICAgICAgICAgICAgICAgKGUpID0+IGhhbmRsZV9lbmdpbmVfc3dpdGNoKGUsIGZhbHNlKSk7 Ci0gCi0gICAgICAgICAvLyBhY2NlbGVyYXRvciBhbHJlYWR5IGhhcyBTaGlmdCBtYXNrCi0tICAg ICAgICBpZiAoKG1fc3dpdGNoX21vZGlmaWVycyAmIEdkay5Nb2RpZmllclR5cGUuU0hJRlRfTUFT SykgIT0gMCkKLSsgICAgICAgIGlmICgoc3dpdGNoX21vZGlmaWVycyAmIHJldmVyc2VfbW9kaWZp ZXIpICE9IDApIHsKLSAgICAgICAgICAgICByZXR1cm47Ci0rICAgICAgICB9Ci0gCi0tICAgICAg ICBrZXliaW5kaW5nX21hbmFnZXIuYmluZChtX3N3aXRjaF9rZXlzeW0sCi0tICAgICAgICAgICAg ICAgIG1fc3dpdGNoX21vZGlmaWVycyB8IEdkay5Nb2RpZmllclR5cGUuU0hJRlRfTUFTSywKLSsg ICAgICAgIHN3aXRjaF9tb2RpZmllcnMgfD0gcmV2ZXJzZV9tb2RpZmllcjsKLSsgICAgICAgIGtl eWJpbmRpbmcgPSBuZXcgS2V5YmluZGluZyhzd2l0Y2hfa2V5c3ltLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaF9tb2RpZmllcnMsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSk7Ci0rICAgICAgICBtX2tleWJpbmRpbmdzLmFwcGVu ZChrZXliaW5kaW5nKTsKLSsKLSsgICAgICAgIGtleWJpbmRpbmdfbWFuYWdlci5iaW5kKHN3aXRj aF9rZXlzeW0sIHN3aXRjaF9tb2RpZmllcnMsCi0gICAgICAgICAgICAgICAgIChlKSA9PiBoYW5k bGVfZW5naW5lX3N3aXRjaChlLCB0cnVlKSk7Ci0rCi0rICAgIH0KLSsKLSsgICAgLy8gVG9Ebzog Q3VzdG9taXplIHRoZSBpbnB1dCBtZXRob2Qgd2l0aCBpYnVzLXNldHVwCi0rICAgIHByaXZhdGUg dm9pZCBiaW5kX3N3aXRjaF9zaG9ydGN1dChWYXJpYW50ID92YXJpYW50KSB7Ci0rICAgICAgICBz dHJpbmcgbG9jYWxlID0gR0xpYi5JbnRsLnNldGxvY2FsZShHTGliLkxvY2FsZUNhdGVnb3J5LkFM TCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwpOwot KyAgICAgICAgaWYgKGxvY2FsZSA9PSBudWxsKSB7Ci0rICAgICAgICAgICAgbG9jYWxlID0gIkMi OwotKyAgICAgICAgfQotKwotKyAgICAgICAgc3RyaW5nW10gYWNjZWxlcmF0b3JzID0ge307Ci0r ICAgICAgICBWYXJpYW50IHZhcl90cmlnZ2VyID0gdmFyaWFudDsKLSsKLSsgICAgICAgIGlmICh2 YXJfdHJpZ2dlciA9PSBudWxsICYmIG1fY29uZmlnICE9IG51bGwpIHsKLSsgICAgICAgICAgICB2 YXJfdHJpZ2dlciA9IG1fY29uZmlnLmdldF92YWx1ZSgiZ2VuZXJhbC9ob3RrZXkiLAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0cmlnZ2VyX2FjY2VsIik7 Ci0rICAgICAgICB9Ci0rCi0rICAgICAgICBpZiAodmFyX3RyaWdnZXIgIT0gbnVsbCkgewotKyAg ICAgICAgICAgIGFjY2VsZXJhdG9ycyA9IHZhcl90cmlnZ2VyLmR1cF9zdHJ2KCk7Ci0rICAgICAg ICB9IGVsc2UgewotKyAgICAgICAgICAgIGFjY2VsZXJhdG9ycyArPSBBQ0NFTEVSQVRPUl9TV0lU Q0hfSU1FX0ZPUkVXQVJEOwotKyAgICAgICAgfQotKwotKyAgICAgICAgaWYgKGFjY2VsZXJhdG9y cy5sZW5ndGggPT0gMSAmJgotKyAgICAgICAgICAgIGFjY2VsZXJhdG9yc1swXSA9PSBBQ0NFTEVS QVRPUl9TV0lUQ0hfSU1FX0ZPUkVXQVJEKSB7Ci0rICAgICAgICAgICAgLy8gRklYTUU6IFdoZW4g dXMga2V5Ym9hcmQgaXMgdXNlZCwgWmVua2FrdV9IYW5rYWt1IGRvZXMgbm90IHdvcmsuCi0rICAg ICAgICAgICAgLyoKLSsgICAgICAgICAgICBpZiAobG9jYWxlWzA6Ml0gPT0gImphIikgewotKyAg ICAgICAgICAgICAgICBhY2NlbGVyYXRvcnMgKz0gIlplbmtha3VfSGFua2FrdSI7Ci0rICAgICAg ICAgICAgfQotKyAgICAgICAgICAgICovCi0rICAgICAgICAgICAgaWYgKGxvY2FsZVswOjJdID09 ICJrbyIpIHsKLSsgICAgICAgICAgICAgICAgYWNjZWxlcmF0b3JzICs9ICJIYW5ndWwiOwotKyAg ICAgICAgICAgICAgICBhY2NlbGVyYXRvcnMgKz0gIkFsdF9SIjsKLSsgICAgICAgICAgICB9Ci0r ICAgICAgICB9Ci0rCi0rICAgICAgICB2YXIga2V5YmluZGluZ19tYW5hZ2VyID0gS2V5YmluZGlu Z01hbmFnZXIuZ2V0X2luc3RhbmNlKCk7Ci0rCi0rICAgICAgICBmb3JlYWNoICh2YXIgYWNjZWxl cmF0b3IgaW4gYWNjZWxlcmF0b3JzKSB7Ci0rICAgICAgICAgICAga2V5YmluZGluZ19tYW5hZ2Vy X2JpbmQoa2V5YmluZGluZ19tYW5hZ2VyLCBhY2NlbGVyYXRvcik7Ci0rICAgICAgICB9Ci0gICAg IH0KLSAKLSAgICAgcHJpdmF0ZSB2b2lkIHVuYmluZF9zd2l0Y2hfc2hvcnRjdXQoKSB7Ci0gICAg ICAgICB2YXIga2V5YmluZGluZ19tYW5hZ2VyID0gS2V5YmluZGluZ01hbmFnZXIuZ2V0X2luc3Rh bmNlKCk7Ci0gCi0tICAgICAgICBpZiAobV9zd2l0Y2hfa2V5c3ltID09IDAgJiYgbV9zd2l0Y2hf bW9kaWZpZXJzID09IDApCi0tICAgICAgICAgICAgcmV0dXJuOwotKyAgICAgICAgdW5vd25lZCBH TGliLkxpc3Q8S2V5YmluZGluZz4ga2V5YmluZGluZ3MgPSBtX2tleWJpbmRpbmdzOwotKwotKyAg ICAgICAgd2hpbGUgKGtleWJpbmRpbmdzICE9IG51bGwpIHsKLSsgICAgICAgICAgICBLZXliaW5k aW5nIGtleWJpbmRpbmcgPSBrZXliaW5kaW5ncy5kYXRhOwotIAotLSAgICAgICAga2V5YmluZGlu Z19tYW5hZ2VyLnVuYmluZChtX3N3aXRjaF9rZXlzeW0sIG1fc3dpdGNoX21vZGlmaWVycyk7Ci0t ICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIudW5iaW5kKG1fc3dpdGNoX2tleXN5bSwKLS0gICAg ICAgICAgICAgICAgbV9zd2l0Y2hfbW9kaWZpZXJzIHwgR2RrLk1vZGlmaWVyVHlwZS5TSElGVF9N QVNLKTsKLSsgICAgICAgICAgICBrZXliaW5kaW5nX21hbmFnZXIudW5iaW5kKGtleWJpbmRpbmcu a2V5c3ltLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5YmluZGlu Zy5tb2RpZmllcnMpOwotKyAgICAgICAgICAgIGtleWJpbmRpbmdzID0ga2V5YmluZGluZ3MubmV4 dDsKLSsgICAgICAgIH0KLSAKLS0gICAgICAgIG1fc3dpdGNoX2tleXN5bSA9IDA7Ci0tICAgICAg ICBtX3N3aXRjaF9tb2RpZmllcnMgPSAwOwotKyAgICAgICAgbV9rZXliaW5kaW5ncyA9IG51bGw7 Ci0gICAgIH0KLSAKLSAgICAgcHJpdmF0ZSB2b2lkIHNldF9jdXN0b21fZm9udCgpIHsKLUBAIC0y MjUsMTAgKzMxNSwxNCBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAg ICAgICAgICBtX2NvbmZpZy53YXRjaCgiZ2VuZXJhbCIsICJwcmVsb2FkX2VuZ2luZXMiKTsKLSAg ICAgICAgICAgICBtX2NvbmZpZy53YXRjaCgiZ2VuZXJhbCIsICJlbmdpbmVzX29yZGVyIik7Ci0g ICAgICAgICAgICAgbV9jb25maWcud2F0Y2goImdlbmVyYWwiLCAic3dpdGNoZXJfZGVsYXlfdGlt ZSIpOwotKyAgICAgICAgICAgIG1fY29uZmlnLndhdGNoKCJnZW5lcmFsL2hvdGtleSIsICJ0cmln Z2VyX2FjY2VsIik7CisgICAgIHByaXZhdGUgdm9pZCBrZXliaW5kaW5nX21hbmFnZXJfYmluZChL ZXliaW5kaW5nTWFuYWdlciBrZXliaW5kaW5nX21hbmFnZXIsCitAQCAtMjgxLDYgKzI5Niw3IEBA IGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgICAgIG1fY29uZmln LndhdGNoKCJnZW5lcmFsL2hvdGtleSIsICJ0cmlnZ2VycyIpOwogICAgICAgICAgICAgIG1fY29u ZmlnLndhdGNoKCJwYW5lbCIsICJjdXN0b21fZm9udCIpOwogICAgICAgICAgICAgIG1fY29uZmln LndhdGNoKCJwYW5lbCIsICJ1c2VfY3VzdG9tX2ZvbnQiKTsKICsgICAgICAgICAgICBpbml0X2Vu Z2luZXNfb3JkZXIoKTsKICAgICAgICAgICAgICB1cGRhdGVfZW5naW5lcyhtX2NvbmZpZy5nZXRf dmFsdWUoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIiksCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbV9jb25maWcuZ2V0X3ZhbHVlKCJnZW5lcmFsIiwgImVuZ2luZXNfb3JkZXIiKSk7 Ci0rICAgICAgICAgICAgdW5iaW5kX3N3aXRjaF9zaG9ydGN1dCgpOwotKyAgICAgICAgICAgIGJp bmRfc3dpdGNoX3Nob3J0Y3V0KG51bGwpOwotICAgICAgICAgICAgIHNldF9zd2l0Y2hlcl9kZWxh eV90aW1lKG51bGwpOwotICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICB1cGRhdGVfZW5n aW5lcyhudWxsLCBudWxsKTsKLUBAIC0yODIsNiArMzc2LDIwMCBAQCBjbGFzcyBQYW5lbCA6IElC dXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgIH0KKyAgICAgICAgICAgICB1bmJpbmRfc3dpdGNo X3Nob3J0Y3V0KCk7CitAQCAtMjkzLDYgKzMwOSwyMDQgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBh bmVsU2VydmljZSB7CisgICAgICAgICBzZXRfY3VzdG9tX2ZvbnQoKTsKICAgICAgfQogIAogKyAg ICBwcml2YXRlIHZvaWQgZ2tiZGxheW91dF9jaGFuZ2VkX2NiKCkgewpAQCAtMzA5MCw3ICsxMzYz LDcgQEAgaW5kZXggYzE1OTY5My4uNjNiMGNkZSAxMDA2NDQKICsgICAgICAgICAgICB2YXJfeGti X2VuZ2luZV9uYW1lcyArPSAiJXM6JXM6JXMiLnByaW50ZigieGtiIiwgbmFtZSwgbGFuZyk7CiAr ICAgICAgICB9CiArCi0rICAgICAgICBHTGliLlZhcmlhbnQgdmFyX2VuZ2luZXMgPSAKKysgICAg ICAgIEdMaWIuVmFyaWFudCB2YXJfZW5naW5lcyA9CiArICAgICAgICAgICBtX2NvbmZpZy5nZXRf dmFsdWUoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIik7CiArICAgICAgICBzdHJpbmdbXSBl bmdpbmVfbmFtZXMgPSB7fTsKICsgICAgICAgIGJvb2wgdXBkYXRlZF9lbmdpbmVfbmFtZXMgPSBm YWxzZTsKQEAgLTMxMzUsMTEgKzE0MDgsOCBAQCBpbmRleCBjMTU5NjkzLi42M2IwY2RlIDEwMDY0 NAogKyAgICAgICAgfQogKyAgICB9CiArCi0rICAgIHByaXZhdGUgdm9pZCBzZXRfeGtiX2dyb3Vw X2xheW91dChzdHJpbmcgbGF5b3V0KSB7Ci0rICAgICAgICBpbnRbXSByZXR2YWwgPSBtX3hrYmxh eW91dC5zZXRfbGF5b3V0KGxheW91dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgImRlZmF1bHQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiZGVmYXVsdCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRydWUpOworKyAgICBwcml2YXRlIHZvaWQgc2V0X3hrYl9ncm91 cF9sYXlvdXQoSUJ1cy5FbmdpbmVEZXNjIGVuZ2luZSkgeworKyAgICAgICAgaW50W10gcmV0dmFs ID0gbV94a2JsYXlvdXQuc2V0X2xheW91dChlbmdpbmUsIHRydWUpOwogKyAgICAgICAgaWYgKHJl dHZhbFswXSA+PSAwKSB7CiArICAgICAgICAgICAgLyogSWYgYW4gWEtCIGtleW1hcCBpcyBhZGRl ZCBpbnRvIHRoZSBYS0IgZ3JvdXAsCiArICAgICAgICAgICAgICogdGhpcy5fZ2tiZGxheW91dC5s b2NrX2dyb3VwIHdpbGwgYmUgY2FsbGVkIGFmdGVyCkBAIC0zMTQ5LDcgKzE0MTksMTAgQEAgaW5k ZXggYzE1OTY5My4uNjNiMGNkZSAxMDA2NDQKICsgICAgICAgIH0KICsgICAgfQogKwotKyAgICBw cml2YXRlIGJvb2wgc2V0X2drYmRfbGF5b3V0KHN0cmluZyBsYXlvdXQpIHsKKysgICAgcHJpdmF0 ZSBib29sIHNldF9na2JkX2xheW91dChJQnVzLkVuZ2luZURlc2MgZW5naW5lKSB7CisrICAgICAg ICBzdHJpbmcgbGF5b3V0ID0gZW5naW5lLmdldF9sYXlvdXQoKTsKKysgICAgICAgIHN0cmluZyB2 YXJpYW50ID0gZW5naW5lLmdldF9sYXlvdXRfdmFyaWFudCgpOworKwogKyAgICAgICAgLyogSWYg YSBwcmV2aW91cyBpYnVzIGVuZ2luZSBjaGFuZ2VkIFhLQiBvcHRpb25zLCBuZWVkIHRvIHNldCB0 aGUKICsgICAgICAgICAqIGRlZmF1bHQgWEtCIG9wdGlvbi4gKi8KICsgICAgICAgIGlmIChtX2No YW5nZWRfeGtiX29wdGlvbiA9PSB0cnVlKSB7CkBAIC0zMTU3LDYgKzE0MzAsMTAgQEAgaW5kZXgg YzE1OTY5My4uNjNiMGNkZSAxMDA2NDQKICsgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiArICAg ICAgICB9CiArCisrICAgICAgICBpZiAodmFyaWFudCAhPSAiIiAmJiB2YXJpYW50ICE9ICJkZWZh dWx0IikgeworKyAgICAgICAgICAgIGxheW91dCA9ICIlcyglcykiLnByaW50ZihsYXlvdXQsIHZh cmlhbnQpOworKyAgICAgICAgfQorKwogKyAgICAgICAgaW50IGdrYmRfbGVuID0gbV9na2JkbGF5 b3V0LmdldF9ncm91cF9uYW1lcygpLmxlbmd0aDsKICsgICAgICAgIGZvciAoaW50IGkgPSAwOyBp IDwgbV9sYXlvdXRzLmxlbmd0aCAmJiBpIDwgZ2tiZF9sZW47IGkrKykgewogKyAgICAgICAgICAg IHN0cmluZyBzeXNfbGF5b3V0ID0gbV9sYXlvdXRzW2ldOwpAQCAtMzE3NCw3ICsxNDUxLDcgQEAg aW5kZXggYzE1OTY5My4uNjNiMGNkZSAxMDA2NDQKICsgICAgcHJpdmF0ZSB2b2lkIHNldF9sYXlv dXQoSUJ1cy5FbmdpbmVEZXNjIGVuZ2luZSkgewogKyAgICAgICAgc3RyaW5nIGxheW91dCA9IGVu Z2luZS5nZXRfbGF5b3V0KCk7CiArCi0rICAgICAgICBpZiAobGF5b3V0ID09ICJkZWZhdWx0IiB8 fCBsYXlvdXQgPT0gbnVsbCkgeworKyAgICAgICAgaWYgKGxheW91dCA9PSAiIiB8fCBsYXlvdXQg PT0gbnVsbCkgewogKyAgICAgICAgICAgIHJldHVybjsKICsgICAgICAgIH0KICsKQEAgLTMxODMs MjAgKzE0NjAsMjAgQEAgaW5kZXggYzE1OTY5My4uNjNiMGNkZSAxMDA2NDQKICsgICAgICAgIH0K ICsKICsgICAgICAgIGlmIChIQVZFX0lCVVNfR0tCRCAmJiBtX2drYmRsYXlvdXQgIT0gbnVsbCkg ewotKyAgICAgICAgICAgIGlmIChzZXRfZ2tiZF9sYXlvdXQobGF5b3V0KSkgeworKyAgICAgICAg ICAgIGlmIChzZXRfZ2tiZF9sYXlvdXQoZW5naW5lKSkgewogKyAgICAgICAgICAgICAgICByZXR1 cm47CiArICAgICAgICAgICAgfQotKyAgICAgICAgICAgIHNldF94a2JfZ3JvdXBfbGF5b3V0KGxh eW91dCk7CisrICAgICAgICAgICAgc2V0X3hrYl9ncm91cF9sYXlvdXQoZW5naW5lKTsKICsgICAg ICAgICAgICByZXR1cm47CiArICAgICAgICB9CiArCi0rICAgICAgICBtX3hrYmxheW91dC5zZXRf bGF5b3V0KGxheW91dCk7CisrICAgICAgICBtX3hrYmxheW91dC5zZXRfbGF5b3V0KGVuZ2luZSk7 CiArICAgIH0KICsKLSAgICAgcHJpdmF0ZSB2b2lkIHN3aXRjaF9lbmdpbmUoaW50IGksIGJvb2wg Zm9yY2UgPSBmYWxzZSkgewotICAgICAgICAgR0xpYi5hc3NlcnQoaSA+PSAwICYmIGkgPCBtX2Vu Z2luZXMubGVuZ3RoKTsKLSAKLUBAIC0yOTYsNyArNTg0LDcgQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7CisgICAgIHByaXZhdGUgdm9pZCBleGVjX3NldHhrYm1hcChJQnVzLkVu Z2luZURlc2MgZW5naW5lKSB7CisgICAgICAgICBzdHJpbmcgbGF5b3V0ID0gZW5naW5lLmdldF9s YXlvdXQoKTsKKyAgICAgICAgIHN0cmluZyB2YXJpYW50ID0gZW5naW5lLmdldF9sYXlvdXRfdmFy aWFudCgpOworQEAgLTM1Miw3ICs1NjYsNyBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2 aWNlIHsKICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICB9CiAgICAgICAgICAvLyBzZXQg eGtiIGxheW91dApAQCAtMzIwNSw1OCArMTQ4MiwxMiBAQCBpbmRleCBjMTU5NjkzLi42M2IwY2Rl IDEwMDY0NAogICAgICB9CiAgCiAgICAgIHByaXZhdGUgdm9pZCBjb25maWdfdmFsdWVfY2hhbmdl ZF9jYihJQnVzLkNvbmZpZyBjb25maWcsCi1AQCAtMzA4LDYgKzU5NiwxMiBAQCBjbGFzcyBQYW5l bCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKLSAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9 Ci0gCi0rICAgICAgICBpZiAoc2VjdGlvbiA9PSAiZ2VuZXJhbC9ob3RrZXkiICYmIG5hbWUgPT0g InRyaWdnZXJfYWNjZWwiKSB7Ci0rICAgICAgICAgICAgdW5iaW5kX3N3aXRjaF9zaG9ydGN1dCgp OwotKyAgICAgICAgICAgIGJpbmRfc3dpdGNoX3Nob3J0Y3V0KHZhcmlhbnQpOwotKyAgICAgICAg ICAgIHJldHVybjsKLSsgICAgICAgIH0KLSsKLSAgICAgICAgIGlmIChzZWN0aW9uID09ICJwYW5l bCIgJiYgKG5hbWUgPT0gImN1c3RvbV9mb250IiB8fAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbmFtZSA9PSAidXNlX2N1c3RvbV9mb250IikpIHsKLSAgICAgICAgICAgICBz ZXRfY3VzdG9tX2ZvbnQoKTsKLUBAIC0zMTYsNiArNjEwLDcgQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7Ci0gCi0gICAgICAgICBpZiAoc2VjdGlvbiA9PSAiZ2VuZXJhbCIgJiYg bmFtZSA9PSAic3dpdGNoZXJfZGVsYXlfdGltZSIpIHsKLSAgICAgICAgICAgICBzZXRfc3dpdGNo ZXJfZGVsYXlfdGltZSh2YXJpYW50KTsKLSsgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICB9 Ci0gICAgIH0KLSAKLUBAIC0zMjQsMTUgKzYxOSwyMiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFu ZWxTZXJ2aWNlIHsKLSAgICAgICAgIGlmIChtX2VuZ2luZXMubGVuZ3RoIDw9IDEpCi0gICAgICAg ICAgICAgcmV0dXJuOwotIAotKyAgICAgICAgdWludCBrZXl2YWwgPSBldmVudC5rZXkua2V5dmFs OwotKyAgICAgICAgdWludCBtb2RpZmllcnMgPSBLZXliaW5kaW5nTWFuYWdlci5NT0RJRklFUl9G SUxURVIgJiBldmVudC5rZXkuc3RhdGU7Ci0rCi0gICAgICAgICB1aW50IHByaW1hcnlfbW9kaWZp ZXJzID0KLSAgICAgICAgICAgICBLZXliaW5kaW5nTWFuYWdlci5nZXRfcHJpbWFyeV9tb2RpZmll cihldmVudC5rZXkuc3RhdGUpOwotIAotICAgICAgICAgYm9vbCBwcmVzc2VkID0gS2V5YmluZGlu Z01hbmFnZXIucHJpbWFyeV9tb2RpZmllcl9zdGlsbF9wcmVzc2VkKAotICAgICAgICAgICAgICAg ICBldmVudCwgcHJpbWFyeV9tb2RpZmllcnMpOwotKwotKyAgICAgICAgaWYgKHJldmVydCkgewot KyAgICAgICAgICAgIG1vZGlmaWVycyAmPSB+R2RrLk1vZGlmaWVyVHlwZS5TSElGVF9NQVNLOwot KyAgICAgICAgfQotKwotICAgICAgICAgaWYgKHByZXNzZWQgJiYgbV9zd2l0Y2hlcl9kZWxheV90 aW1lID49IDApIHsKLSAgICAgICAgICAgICBpbnQgaSA9IHJldmVydCA/IG1fZW5naW5lcy5sZW5n dGggLSAxIDogMTsKLS0gICAgICAgICAgICBpID0gbV9zd2l0Y2hlci5ydW4obV9zd2l0Y2hfa2V5 c3ltLCBtX3N3aXRjaF9tb2RpZmllcnMsIGV2ZW50LAotLSAgICAgICAgICAgICAgICAgICAgbV9l bmdpbmVzLCBpKTsKLSsgICAgICAgICAgICBpID0gbV9zd2l0Y2hlci5ydW4oa2V5dmFsLCBtb2Rp ZmllcnMsIGV2ZW50LCBtX2VuZ2luZXMsIGkpOwotICAgICAgICAgICAgIGlmIChpIDwgMCkgewot ICAgICAgICAgICAgICAgICBkZWJ1Zygic3dpdGNoIGNhbmNlbGxlZCIpOwotICAgICAgICAgICAg IH0gZWxzZSB7CiBkaWZmIC0tZ2l0IGEvdWkvZ3RrMy94a2JsYXlvdXQudmFsYSBiL3VpL2d0azMv eGtibGF5b3V0LnZhbGEKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi4yMDky YTYwCitpbmRleCAwMDAwMDAwLi4xNjVhOTA1CiAtLS0gL2Rldi9udWxsCiArKysgYi91aS9ndGsz L3hrYmxheW91dC52YWxhCi1AQCAtMCwwICsxLDQ2NSBAQAorQEAgLTAsMCArMSw0MzEgQEAKICsv KiB2aW06c2V0IGV0IHN0cz00IHN3PTQ6CiArICoKICsgKiBpYnVzIC0gVGhlIElucHV0IEJ1cwpA QCAtMzI4MiwxMyArMTUxMywxMSBAQCBpbmRleCAwMDAwMDAwLi4yMDkyYTYwCiArICovCiArCiAr cHVibGljIGV4dGVybiBjb25zdCBib29sIEhBVkVfSUJVU19HS0JEOwotK3B1YmxpYyBleHRlcm4g Y29uc3QgYm9vbCBIQVZFX0lCVVNfWEtCOwogK3B1YmxpYyBleHRlcm4gY29uc3QgaW50IFhLQl9M QVlPVVRTX01BWF9MRU5HVEg7Ci0rcHVibGljIGV4dGVybiBjb25zdCBzdHJpbmcgSUJVU19YS0Jf Q09NTUFORDsKICsKICtjbGFzcyBYS0JMYXlvdXQKICt7Ci0rICAgIHN0cmluZyBtX3hrYl9jb21t YW5kID0gSUJVU19YS0JfQ09NTUFORDsKKysgICAgc3RyaW5nIG1feGtiX2NvbW1hbmQgPSAic2V0 eGtibWFwIjsKICsgICAgSUJ1cy5Db25maWcgbV9jb25maWcgPSBudWxsOwogKyAgICBzdHJpbmdb XSBtX3hrYl9sYXRpbl9sYXlvdXRzID0ge307CiArICAgIEdMaWIuUGlkIG1feGtiX3BpZCA9IC0x OwpAQCAtMzMwMiwxMCArMTUzMSw2IEBAIGluZGV4IDAwMDAwMDAuLjIwOTJhNjAKICsgICAgc3Ry aW5nIG1fZGVmYXVsdF9vcHRpb24gPSAiIjsKICsKICsgICAgcHVibGljIFhLQkxheW91dChJQnVz LkNvbmZpZz8gY29uZmlnKSB7Ci0rICAgICAgICBpZiAoIUhBVkVfSUJVU19YS0IpIHsKLSsgICAg ICAgICAgICBtX3hrYl9jb21tYW5kID0gInNldHhrYm1hcCI7Ci0rICAgICAgICB9Ci0rCiArICAg ICAgICBtX2NvbmZpZyA9IGNvbmZpZzsKICsKICsgICAgICAgIGlmIChjb25maWcgIT0gbnVsbCkg ewpAQCAtMzM1MCw2ICsxNTc1LDExIEBAIGluZGV4IDAwMDAwMDAuLjIwOTJhNjAKICsgICAgICAg ICAgICBpZiAoZWxlbWVudC5sZW5ndGggPD0gbGluZS5sZW5ndGggJiYKICsgICAgICAgICAgICAg ICAgbGluZVswOmVsZW1lbnQubGVuZ3RoXSA9PSBlbGVtZW50KSB7CiArICAgICAgICAgICAgICAg IHJldHZhbCA9IGxpbmVbZWxlbWVudC5sZW5ndGg6bGluZS5sZW5ndGhdOworKyAgICAgICAgICAg ICAgICBpZiAocmV0dmFsID09IG51bGwpIHsKKysgICAgICAgICAgICAgICAgICAgIHJldHZhbCA9 ICIiOworKyAgICAgICAgICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICAgICAgcmV0 dmFsID0gcmV0dmFsLnN0cmlwKCk7CisrICAgICAgICAgICAgICAgIH0KICsgICAgICAgICAgICB9 CiArICAgICAgICB9CiArICAgICAgICByZXR1cm4gcmV0dmFsOwpAQCAtMzQ3NiwyNyArMTcwNiwx NSBAQCBpbmRleCAwMDAwMDAwLi4yMDkyYTYwCiArICAgIH0KICsKICsgICAgcHVibGljIHN0cmlu ZyBnZXRfbGF5b3V0KCkgewotKyAgICAgICAgaWYgKEhBVkVfSUJVU19YS0IpIHsKLSsgICAgICAg ICAgICByZXR1cm4gZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi0tZ2V0IiwgImxheW91dDogIik7 Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIHJldHVybiBnZXRfb3V0cHV0X2Zyb21f Y21kbGluZSgiLXF1ZXJ5IiwgImxheW91dDogIik7Ci0rICAgICAgICB9CisrICAgICAgICByZXR1 cm4gZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi1xdWVyeSIsICJsYXlvdXQ6ICIpOwogKyAgICB9 CiArCiArICAgIHB1YmxpYyBzdHJpbmcgZ2V0X3ZhcmlhbnQoKSB7Ci0rICAgICAgICBpZiAoSEFW RV9JQlVTX1hLQikgewotKyAgICAgICAgICAgIHJldHVybiBnZXRfb3V0cHV0X2Zyb21fY21kbGlu ZSgiLS1nZXQiLCAidmFyaWFudDogIik7Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAg IHJldHVybiBnZXRfb3V0cHV0X2Zyb21fY21kbGluZSgiLXF1ZXJ5IiwgInZhcmlhbnQ6ICIpOwot KyAgICAgICAgfQorKyAgICAgICAgcmV0dXJuIGdldF9vdXRwdXRfZnJvbV9jbWRsaW5lKCItcXVl cnkiLCAidmFyaWFudDogIik7CiArICAgIH0KICsKICsgICAgcHVibGljIHN0cmluZyBnZXRfb3B0 aW9uKCkgewotKyAgICAgICAgaWYgKEhBVkVfSUJVU19YS0IpIHsKLSsgICAgICAgICAgICByZXR1 cm4gZ2V0X291dHB1dF9mcm9tX2NtZGxpbmUoIi0tZ2V0IiwgIm9wdGlvbjogIik7Ci0rICAgICAg ICB9IGVsc2UgewotKyAgICAgICAgICAgIHJldHVybiBnZXRfb3V0cHV0X2Zyb21fY21kbGluZSgi LXF1ZXJ5IiwgIm9wdGlvbnM6ICIpOwotKyAgICAgICAgfQorKyAgICAgICAgcmV0dXJuIGdldF9v dXRwdXRfZnJvbV9jbWRsaW5lKCItcXVlcnkiLCAib3B0aW9uczogIik7CiArICAgIH0KICsKICsg ICAgLyoKQEAgLTM1MDUsMTEgKzE3MjMsMTMgQEAgaW5kZXggMDAwMDAwMC4uMjA5MmE2MAogKyAg ICB9CiArICAgICovCiArCi0rICAgIHB1YmxpYyBpbnRbXSBzZXRfbGF5b3V0KHN0cmluZyBfbGF5 b3V0PSJkZWZhdWx0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIF92YXJp YW50PSJkZWZhdWx0IiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIF9vcHRp b249ImRlZmF1bHQiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICAgdXNlX2dy b3VwX2xheW91dD1mYWxzZSkgewotKyAgICAgICAgYXNzZXJ0IChfbGF5b3V0ICE9IG51bGwpOwor KyAgICBwdWJsaWMgaW50W10gc2V0X2xheW91dChJQnVzLkVuZ2luZURlc2MgZW5naW5lLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIHVzZV9ncm91cF9sYXlvdXQ9ZmFsc2UpIHsK KysgICAgICAgIHN0cmluZyBsYXlvdXQgPSBlbmdpbmUuZ2V0X2xheW91dCgpOworKyAgICAgICAg c3RyaW5nIHZhcmlhbnQgPSBlbmdpbmUuZ2V0X2xheW91dF92YXJpYW50KCk7CisrICAgICAgICBz dHJpbmcgb3B0aW9uID0gZW5naW5lLmdldF9sYXlvdXRfb3B0aW9uKCk7CisrCisrICAgICAgICBh c3NlcnQgKGxheW91dCAhPSBudWxsKTsKICsKICsgICAgICAgIGludCB4a2JfZ3JvdXBfaWQgPSAw OwogKyAgICAgICAgaW50IGNoYW5nZWRfb3B0aW9uID0gMDsKQEAgLTM1MTgsMjYgKzE3MzgsMTEg QEAgaW5kZXggMDAwMDAwMC4uMjA5MmE2MAogKyAgICAgICAgICAgIHJldHVybiB7LTEsIDB9Owog KyAgICAgICAgfQogKwotKyAgICAgICAgaWYgKF9sYXlvdXQgPT0gImRlZmF1bHQiICYmIF92YXJp YW50ID09ICJkZWZhdWx0IiAmJgotKyAgICAgICAgICAgIF9vcHRpb24gPT0gImRlZmF1bHQiKSB7 CisrICAgICAgICBpZiAobGF5b3V0ID09ICJkZWZhdWx0IiAmJgorKyAgICAgICAgICAgICh2YXJp YW50ID09ICJkZWZhdWx0IiB8fCB2YXJpYW50ID09ICIiKSAmJgorKyAgICAgICAgICAgIChvcHRp b24gPT0gImRlZmF1bHQiIHx8IG9wdGlvbiA9PSAiIikpIHsKICsgICAgICAgICAgICByZXR1cm4g ey0xLCAwfTsKICsgICAgICAgIH0KLSsgICAgICAgIC8vIGNvbnN0IGdjaGFyIHRvIGdjaGFyCi0r ICAgICAgICBzdHJpbmcgbGF5b3V0ID0gX2xheW91dDsKLSsgICAgICAgIHN0cmluZyB2YXJpYW50 ID0gX3ZhcmlhbnQ7Ci0rICAgICAgICBzdHJpbmcgb3B0aW9uID0gX29wdGlvbjsKLSsKLSsgICAg ICAgIGlmICh2YXJpYW50ID09ICJkZWZhdWx0IikgewotKyAgICAgICAgICAgIHN0cmluZ1tdIGFy cmF5ID0gZ2V0X3ZhcmlhbnRfZnJvbV9sYXlvdXQobGF5b3V0KTsKLSsgICAgICAgICAgICBsYXlv dXQgPSBhcnJheVswXTsKLSsgICAgICAgICAgICB2YXJpYW50ID0gYXJyYXlbMV07Ci0rICAgICAg ICB9Ci0rCi0rICAgICAgICBpZiAob3B0aW9uID09ICJkZWZhdWx0IikgewotKyAgICAgICAgICAg IHN0cmluZ1tdIGFycmF5ID0gZ2V0X29wdGlvbl9mcm9tX2xheW91dChsYXlvdXQpOwotKyAgICAg ICAgICAgIGxheW91dCA9IGFycmF5WzBdOwotKyAgICAgICAgICAgIG9wdGlvbiA9IGFycmF5WzFd OwotKyAgICAgICAgfQogKwogKyAgICAgICAgYm9vbCBuZWVkX3VzX2xheW91dCA9IGZhbHNlOwog KyAgICAgICAgZm9yZWFjaCAoc3RyaW5nIGxhdGluX2xheW91dCBpbiBtX3hrYl9sYXRpbl9sYXlv dXRzKSB7CkBAIC0zNjE2LDI1ICsxODIxLDE3IEBAIGluZGV4IDAwMDAwMDAuLjIwOTJhNjAKICsK ICsgICAgICAgIHN0cmluZ1tdIGFyZ3MgPSB7fTsKICsgICAgICAgIGFyZ3MgKz0gbV94a2JfY29t bWFuZDsKLSsgICAgICAgIGlmIChIQVZFX0lCVVNfWEtCKSB7Ci0rICAgICAgICAgICAgYXJncyAr PSAiLS1sYXlvdXQiOwotKyAgICAgICAgICAgIGFyZ3MgKz0gbGF5b3V0OwotKyAgICAgICAgICAg IGlmICh2YXJpYW50ICE9IG51bGwpIHsKLSsgICAgICAgICAgICAgICAgYXJncyArPSAiLS12YXJp YW50IjsKLSsgICAgICAgICAgICAgICAgYXJncyArPSB2YXJpYW50OwotKyAgICAgICAgICAgIH0K LSsgICAgICAgICAgICBpZiAob3B0aW9uICE9IG51bGwpIHsKLSsgICAgICAgICAgICAgICAgYXJn cyArPSAiLS1vcHRpb24iOwotKyAgICAgICAgICAgICAgICBhcmdzICs9IG9wdGlvbjsKLSsgICAg ICAgICAgICB9Ci0rICAgICAgICB9IGVsc2UgewotKyAgICAgICAgICAgIGFyZ3MgKz0gbGF5b3V0 OwotKyAgICAgICAgICAgIGlmICh2YXJpYW50ICE9IG51bGwpIHsKLSsgICAgICAgICAgICAgICAg YXJncyArPSB2YXJpYW50OwotKyAgICAgICAgICAgIH0KLSsgICAgICAgICAgICBpZiAob3B0aW9u ICE9IG51bGwpIHsKLSsgICAgICAgICAgICAgICAgYXJncyArPSBvcHRpb247Ci0rICAgICAgICAg ICAgfQorKyAgICAgICAgYXJncyArPSAiLWxheW91dCI7CisrICAgICAgICBhcmdzICs9IGxheW91 dDsKKysgICAgICAgIGlmICh2YXJpYW50ICE9IG51bGwpIHsKKysgICAgICAgICAgICBhcmdzICs9 ICItdmFyaWFudCI7CisrICAgICAgICAgICAgYXJncyArPSB2YXJpYW50OworKyAgICAgICAgfQor KyAgICAgICAgaWYgKG9wdGlvbiAhPSBudWxsKSB7CisrICAgICAgICAgICAgLyogVE9ETzogTmVl ZCB0byBnZXQgdGhlIHNlc3Npb24gWEtCIG9wdGlvbnMgKi8KKysgICAgICAgICAgICBhcmdzICs9 ICItb3B0aW9uIjsKKysgICAgICAgICAgICBhcmdzICs9ICItb3B0aW9uIjsKKysgICAgICAgICAg ICBhcmdzICs9IG9wdGlvbjsKICsgICAgICAgIH0KICsKICsgICAgICAgIEdMaWIuUGlkIGNoaWxk X3BpZDsKQEAgLTM2NDcsNyArMTg0NCw3IEBAIGluZGV4IDAwMDAwMDAuLjIwOTJhNjAKICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCwKICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3V0IGNoaWxkX3BpZCk7CiArICAgICAgICB9IGNhdGNoIChH TGliLlNwYXduRXJyb3IgZXJyKSB7Ci0rICAgICAgICAgICAgc3RkZXJyLnByaW50ZigiSUJVU19F UlJPUjogJXNcbiIsIGVyci5tZXNzYWdlKTsKKysgICAgICAgICAgICBzdGRlcnIucHJpbnRmKCJF eGVjdXRlIHNldHhrYm1hcCBmYWlsZWQ6ICVzXG4iLCBlcnIubWVzc2FnZSk7CiArICAgICAgICAg ICAgcmV0dXJuIHstMSwgMH07CiArICAgICAgICB9CiArICAgICAgICBtX3hrYl9waWQgPSBjaGls ZF9waWQ7CgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmlu ZGV4IGE0OGFiN2IuLjAwYzNiODUgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9p YnVzLUhFQUQucGF0Y2gKQEAgLTEsMzIzICsxLDM5NyBAQAotRnJvbSAxNWYzY2NiMzg0NzRjNmJi MjA2YTIxNThkODYxNzFjOTNkNmVjNmE1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA4 YWM1MzRmYzAwMjM1NmI5M2UyMDE1YTg4NjZmMWVhODllMzg5NWY5IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQogRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0 ZTogVHVlLCAxMyBOb3YgMjAxMiAxMjowNTowNyArMDkwMAotU3ViamVjdDogW1BBVENIXSBVcGRh dGUgc2ltcGxlLnhtbCB0byBlbmFibGUgbGF5b3V0X3ZhcmlhbnQgdGFnLgorRGF0ZTogU2F0LCAx NSBEZWMgMjAxMiAxNzo0MDoxOCArMDkwMAorU3ViamVjdDogW1BBVENIXSBVc2UgVmFyaWFudC51 bnBhY2soKSBpbnN0ZWFkIG9mIFZhcmlhbnQuZHVwX3N0cnYoKS4KIAotUmV2aWV3IFVSTDogaHR0 cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzY4MjAxMjkKK1ZhcmlhbnQuZHVwX3N0cnYoKSBy ZXR1cm5zIGEgdHVwbGUgaW4gcHlnb2JqZWN0IDMuMiwgZS5nLiAoWyc8Q29udHJvbD5zcGFjZSdd LCAxTCksIGFuZCBhIGxpc3QgaW4gcHlnb2JqZWN0IDMuNCwgZS5nLiBbJzxDb250cm9sPnNwYWNl J10gLgorCitCVUc9UkgjODg3MTUzCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5h cHBzcG90LmNvbS82OTQxMDUxCiAtLS0KLSBlbmdpbmUvc2ltcGxlLnhtbC5pbi5pbiB8IDExMiAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KLSAxIGZpbGUg Y2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCisgc2V0dXAvbWFpbi5w eSB8IDIgKy0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK IAotZGlmZiAtLWdpdCBhL2VuZ2luZS9zaW1wbGUueG1sLmluLmluIGIvZW5naW5lL3NpbXBsZS54 bWwuaW4uaW4KLWluZGV4IDI1ZGI1NzguLmQwNjRhZDYgMTAwNjQ0Ci0tLS0gYS9lbmdpbmUvc2lt cGxlLnhtbC5pbi5pbgotKysrIGIvZW5naW5lL3NpbXBsZS54bWwuaW4uaW4KLUBAIC0yNCw3ICsy NCw4IEBACi0gCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgotIAkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5j b20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD51cyhpbnRsKTwvbGF5b3V0PgotKwkJCTxsYXlv dXQ+dXM8L2xheW91dD4KLSsJCQk8bGF5b3V0X3ZhcmlhbnQ+aW50bDwvbGF5b3V0X3ZhcmlhbnQ+ Ci0gCQkJPGxvbmduYW1lPkVuZ2xpc2ggKFVTLCBpbnRlcm5hdGlvbmFsIHdpdGggZGVhZCBrZXlz KTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKFVTLCBpbnRlcm5hdGlvbmFs IHdpdGggZGVhZCBrZXlzKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg PGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KLUBAIC0zNSw3ICszNiw4IEBACi0gCQkJPGxhbmd1 YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotIAkJCTxhdXRo b3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0t CQkJPGxheW91dD51cyhjb2xlbWFrKTwvbGF5b3V0PgotKwkJCTxsYXlvdXQ+dXM8L2xheW91dD4K LSsJCQk8bGF5b3V0X3ZhcmlhbnQ+Y29sZW1hazwvbGF5b3V0X3ZhcmlhbnQ+Ci0gCQkJPGxvbmdu YW1lPkVuZ2xpc2ggKENvbGVtYWspPC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RW5nbGlz aCAoQ29sZW1hayk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29u PmlidXMta2V5Ym9hcmQ8L2ljb24+Ci1AQCAtNDYsNyArNDgsOCBAQAotIAkJCTxsYW5ndWFnZT5l bmc8L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSAJCQk8YXV0aG9yPlBl bmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxs YXlvdXQ+dXMoZHZvcmFrKTwvbGF5b3V0PgotKwkJCTxsYXlvdXQ+dXM8L2xheW91dD4KLSsJCQk8 bGF5b3V0X3ZhcmlhbnQ+ZHZvcmFrPC9sYXlvdXRfdmFyaWFudD4KLSAJCQk8bG9uZ25hbWU+RW5n bGlzaCAoRHZvcmFrKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKER2b3Jh ayk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5 Ym9hcmQ8L2ljb24+Ci1AQCAtNTcsMjAgKzYwLDIxIEBACi0gCQkJPGxhbmd1YWdlPmVuZzwvbGFu Z3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotIAkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD51 cyhhbHRnci1pbnRsKTwvbGF5b3V0PgotKwkJCTxsYXlvdXQ+dXM8L2xheW91dD4KLSsJCQk8bGF5 b3V0X3ZhcmlhbnQ+YWx0Z3ItaW50bDwvbGF5b3V0X3ZhcmlhbnQ+Ci0gCQkJPGxvbmduYW1lPkVu Z2xpc2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvbG9uZ25hbWU+Ci0gCQkJPGRl c2NyaXB0aW9uPkVuZ2xpc2ggKGludGVybmF0aW9uYWwgQWx0R3IgZGVhZCBrZXlzKTwvZGVzY3Jp cHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNv bj4KLSAJCQk8cmFuaz45OTwvcmFuaz4KLSAJCTwvZW5naW5lPgotIAkJPGVuZ2luZT4KLS0JCQk8 bmFtZT54a2I6dXM6YWx0Z3ItaW50bDplbmc8L25hbWU+Ci0tCQkJPGxhbmd1YWdlPmVuZzwvbGFu Z3VhZ2U+Ci0rCQkJPG5hbWU+eGtiOmFyYTo6YXJhPC9uYW1lPgotKwkJCTxsYW5ndWFnZT5hcmE8 L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSAJCQk8YXV0aG9yPlBlbmcg SHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlv dXQ+dXMoYWx0Z3ItaW50bCk8L2xheW91dD4KLS0JCQk8bG9uZ25hbWU+RW5nbGlzaCAoaW50ZXJu YXRpb25hbCBBbHRHciBkZWFkIGtleXMpPC9sb25nbmFtZT4KLS0JCQk8ZGVzY3JpcHRpb24+RW5n bGlzaCAoaW50ZXJuYXRpb25hbCBBbHRHciBkZWFkIGtleXMpPC9kZXNjcmlwdGlvbj4KLSsJCQk8 bGF5b3V0PmFyYTwvbGF5b3V0PgotKwkJCTxsb25nbmFtZT5BcmFiaWM8L2xvbmduYW1lPgotKwkJ CTxkZXNjcmlwdGlvbj5BcmFiaWM8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAg ICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0gCQkJPHJhbms+OTk8L3Jhbms+Ci0gCQk8 L2VuZ2luZT4KLUBAIC0xMTksNiArMTIzLDE4IEBACi0gCQkJPHJhbms+OTk8L3Jhbms+Ci0gCQk8 L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0rCQkJPG5hbWU+eGtiOmJyOmR2b3Jhazpwb3I8L25hbWU+ Ci0rCQkJPGxhbmd1YWdlPnBvcjwvbGFuZ3VhZ2U+Ci0rCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNl PgotKwkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7 PC9hdXRob3I+Ci0rCQkJPGxheW91dD5icjwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5k dm9yYWs8L2xheW91dF92YXJpYW50PgotKwkJCTxsb25nbmFtZT5Qb3J0dWd1ZXNlIChCcmF6aWws IER2b3Jhayk8L2xvbmduYW1lPgotKwkJCTxkZXNjcmlwdGlvbj5Qb3J0dWd1ZXNlIChCcmF6aWws IER2b3Jhayk8L2Rlc2NyaXB0aW9uPgotKyAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmli dXMta2V5Ym9hcmQ8L2ljb24+Ci0rCQkJPHJhbms+OTk8L3Jhbms+Ci0rCQk8L2VuZ2luZT4KLSsJ CTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmJnOjpidWw8L25hbWU+Ci0gCQkJPGxhbmd1YWdlPmJ1 bDwvbGFuZ3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotQEAgLTEzNCw3ICsxNTAs OCBAQAotIAkJCTxsYW5ndWFnZT5idWw8L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGlj ZW5zZT4KLSAJCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29t Jmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+YmcocGhvbmV0aWMpPC9sYXlvdXQ+Ci0rCQkJPGxh eW91dD5iZzwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5waG9uZXRpYzwvbGF5b3V0X3Zh cmlhbnQ+Ci0gCQkJPGxvbmduYW1lPkJ1bGdhcmlhbiAodHJhZGl0aW9uYWwgcGhvbmV0aWMpPC9s b25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+QnVsZ2FyaWFuICh0cmFkaXRpb25hbCBwaG9uZXRp Yyk8L2Rlc2NyaXB0aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5 Ym9hcmQ8L2ljb24+Ci1AQCAtMTU2LDcgKzE3Myw4IEBACi0gCQkJPGxhbmd1YWdlPmVuZzwvbGFu Z3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotIAkJCTxhdXRob3I+UGVuZyBIdWFu ZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5j YShlbmcpPC9sYXlvdXQ+Ci0rCQkJPGxheW91dD5jYTwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFy aWFudD5lbmc8L2xheW91dF92YXJpYW50PgotIAkJCTxsb25nbmFtZT5FbmdsaXNoIChDYW5hZGEp PC9sb25nbmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+RW5nbGlzaCAoQ2FuYWRhKTwvZGVzY3JpcHRp b24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4K LUBAIC0yMjksNiArMjQ3LDE4IEBACi0gCQkJPHJhbms+OTk8L3Jhbms+Ci0gCQk8L2VuZ2luZT4K LSAJCTxlbmdpbmU+Ci0rCQkJPG5hbWU+eGtiOmZyOmR2b3JhazpmcmE8L25hbWU+Ci0rCQkJPGxh bmd1YWdlPmZyYTwvbGFuZ3VhZ2U+Ci0rCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotKwkJCTxh dXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+ Ci0rCQkJPGxheW91dD5mcjwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5kdm9yYWs8L2xh eW91dF92YXJpYW50PgotKwkJCTxsb25nbmFtZT5GcmVuY2ggKER2b3Jhayk8L2xvbmduYW1lPgot KwkJCTxkZXNjcmlwdGlvbj5GcmVuY2ggKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgotKyAgICAgICAg ICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0rCQkJPHJhbms+OTk8 L3Jhbms+Ci0rCQk8L2VuZ2luZT4KLSsJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOmRlOjpnZXI8 L25hbWU+Ci0gCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+R1BMPC9s aWNlbnNlPgotQEAgLTI0MCwxMSArMjcwLDI0IEBACi0gCQkJPHJhbms+OTk8L3Jhbms+Ci0gCQk8 L2VuZ2luZT4KLSAJCTxlbmdpbmU+Ci0rCQkJPG5hbWU+eGtiOmRlOmR2b3JhazpnZXI8L25hbWU+ Ci0rCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0rCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNl PgotKwkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7 PC9hdXRob3I+Ci0rCQkJPGxheW91dD5kZTwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5k dm9yYWs8L2xheW91dF92YXJpYW50PgotKwkJCTxsb25nbmFtZT5HZXJtYW4gKER2b3Jhayk8L2xv bmduYW1lPgotKwkJCTxkZXNjcmlwdGlvbj5HZXJtYW4gKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgot KyAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0rCQkJ PHJhbms+OTk8L3Jhbms+Ci0rCQk8L2VuZ2luZT4KLSsJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGti OmRlOm5lbzpnZXI8L25hbWU+Ci0gCQkJPGxhbmd1YWdlPmdlcjwvbGFuZ3VhZ2U+Ci0gCQkJPGxp Y2Vuc2U+R1BMPC9saWNlbnNlPgotIAkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5o dWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5kZShuZW8pPC9sYXlvdXQ+ Ci0rCQkJPGxheW91dD5kZTwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5uZW88L2xheW91 dF92YXJpYW50PgotIAkJCTxsb25nbmFtZT5HZXJtYW4gKE5lbyAyKTwvbG9uZ25hbWU+Ci0gCQkJ PGRlc2NyaXB0aW9uPkdlcm1hbiAoTmVvIDIpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAg ICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotQEAgLTMzMiw3ICszNzUsOCBA QAotIAkJCTxsYW5ndWFnZT5sYXY8L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGljZW5z ZT4KLSAJCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0 OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+bHYoYXBvc3Ryb3BoZSk8L2xheW91dD4KLSsJCQk8bGF5 b3V0Pmx2PC9sYXlvdXQ+Ci0rCQkJPGxheW91dF92YXJpYW50PmFwb3N0cm9waGU8L2xheW91dF92 YXJpYW50PgotIAkJCTxsb25nbmFtZT5MYXR2aWFuIChhcG9zdHJvcGhlIHZhcmlhbnQpPC9sb25n bmFtZT4KLSAJCQk8ZGVzY3JpcHRpb24+TGF0dmlhbiAoYXBvc3Ryb3BoZSB2YXJpYW50KTwvZGVz Y3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwv aWNvbj4KLUBAIC0zNTAsNiArMzk0LDE4IEBACi0gCQkJPHJhbms+OTk8L3Jhbms+Ci0gCQk8L2Vu Z2luZT4KLSAJCTxlbmdpbmU+Ci0rCQkJPG5hbWU+eGtiOnBsOmR2b3Jhazpwb2w8L25hbWU+Ci0r CQkJPGxhbmd1YWdlPnBvbDwvbGFuZ3VhZ2U+Ci0rCQkJPGxpY2Vuc2U+R1BMPC9saWNlbnNlPgot KwkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24ucC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9h dXRob3I+Ci0rCQkJPGxheW91dD5wbDwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5kdm9y YWs8L2xheW91dF92YXJpYW50PgotKwkJCTxsb25nbmFtZT5Qb2xpc2ggKER2b3Jhayk8L2xvbmdu YW1lPgotKwkJCTxkZXNjcmlwdGlvbj5Qb2xpc2ggKER2b3Jhayk8L2Rlc2NyaXB0aW9uPgotKyAg ICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+Ci0rCQkJPHJh bms+OTk8L3Jhbms+Ci0rCQk8L2VuZ2luZT4KLSsJCTxlbmdpbmU+Ci0gCQkJPG5hbWU+eGtiOnB0 Ojpwb3I8L25hbWU+Ci0gCQkJPGxhbmd1YWdlPnBvcjwvbGFuZ3VhZ2U+Ci0gCQkJPGxpY2Vuc2U+ R1BMPC9saWNlbnNlPgotQEAgLTM4Nyw3ICs0NDMsOCBAQAotIAkJCTxsYW5ndWFnZT5ydXM8L2xh bmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSAJCQk8YXV0aG9yPlBlbmcgSHVh bmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+ cnUocGhvbmV0aWMpPC9sYXlvdXQ+Ci0rCQkJPGxheW91dD5ydTwvbGF5b3V0PgotKwkJCTxsYXlv dXRfdmFyaWFudD5waG9uZXRpYzwvbGF5b3V0X3ZhcmlhbnQ+Ci0gCQkJPGxvbmduYW1lPlJ1c3Np YW4gKHBob25ldGljKTwvbG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPlJ1c3NpYW4gKHBob25l dGljKTwvZGVzY3JpcHRpb24+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1r ZXlib2FyZDwvaWNvbj4KLUBAIC00NDIsNyArNDk5LDggQEAKLSAJCQk8bGFuZ3VhZ2U+Y2F0PC9s YW5ndWFnZT4KLSAJCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0gCQkJPGF1dGhvcj5QZW5nIEh1 YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0 PmVzKGNhdCk8L2xheW91dD4KLSsJCQk8bGF5b3V0PmVzPC9sYXlvdXQ+Ci0rCQkJPGxheW91dF92 YXJpYW50PmNhdDwvbGF5b3V0X3ZhcmlhbnQ+Ci0gCQkJPGxvbmduYW1lPkNhdGFsYW4gKFNwYWlu LCB3aXRoIG1pZGRsZS1kb3QgTCk8L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlvbj5DYXRhbGFu IChTcGFpbiwgd2l0aCBtaWRkbGUtZG90IEwpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAg ICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotQEAgLTQ2MCw2ICs1MTgsMTgg QEAKLSAJCQk8cmFuaz45OTwvcmFuaz4KLSAJCTwvZW5naW5lPgotIAkJPGVuZ2luZT4KLSsJCQk8 bmFtZT54a2I6c2U6ZHZvcmFrOnN3ZTwvbmFtZT4KLSsJCQk8bGFuZ3VhZ2U+c3dlPC9sYW5ndWFn ZT4KLSsJCQk8bGljZW5zZT5HUEw8L2xpY2Vuc2U+Ci0rCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZs dDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KLSsJCQk8bGF5b3V0PnNlPC9s YXlvdXQ+Ci0rCQkJPGxheW91dF92YXJpYW50PmR2b3JhazwvbGF5b3V0X3ZhcmlhbnQ+Ci0rCQkJ PGxvbmduYW1lPlN3ZWRpc2ggKER2b3Jhayk8L2xvbmduYW1lPgotKwkJCTxkZXNjcmlwdGlvbj5T d2VkaXNoIChEdm9yYWspPC9kZXNjcmlwdGlvbj4KLSsgICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotKwkJCTxyYW5rPjk5PC9yYW5rPgotKwkJPC9lbmdp bmU+Ci0rCQk8ZW5naW5lPgotIAkJCTxuYW1lPnhrYjpjaDo6Z2VyPC9uYW1lPgotIAkJCTxsYW5n dWFnZT5nZXI8L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLUBAIC00NzUs NyArNTQ1LDggQEAKLSAJCQk8bGFuZ3VhZ2U+ZnJhPC9sYW5ndWFnZT4KLSAJCQk8bGljZW5zZT5H UEw8L2xpY2Vuc2U+Ci0gCQkJPGF1dGhvcj5QZW5nIEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdt YWlsLmNvbSZndDs8L2F1dGhvcj4KLS0JCQk8bGF5b3V0PmNoKGZyKTwvbGF5b3V0PgotKwkJCTxs YXlvdXQ+Y2g8L2xheW91dD4KLSsJCQk8bGF5b3V0X3ZhcmlhbnQ+ZnI8L2xheW91dF92YXJpYW50 PgotIAkJCTxsb25nbmFtZT5GcmVuY2ggKFN3aXR6ZXJsYW5kKTwvbG9uZ25hbWU+Ci0gCQkJPGRl c2NyaXB0aW9uPkZyZW5jaCAoU3dpdHplcmxhbmQpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAg ICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgotQEAgLTUwOCw3ICs1Nzks OCBAQAotIAkJCTxsYW5ndWFnZT5lbmc8L2xhbmd1YWdlPgotIAkJCTxsaWNlbnNlPkdQTDwvbGlj ZW5zZT4KLSAJCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXduLnAuaHVhbmdAZ21haWwuY29t Jmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+Z2IoZXh0ZCk8L2xheW91dD4KLSsJCQk8bGF5b3V0 PmdiPC9sYXlvdXQ+Ci0rCQkJPGxheW91dF92YXJpYW50PmV4dGQ8L2xheW91dF92YXJpYW50Pgot IAkJCTxsb25nbmFtZT5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2xvbmduYW1lPgot IAkJCTxkZXNjcmlwdGlvbj5FbmdsaXNoIChVSywgZXh0ZW5kZWQgV2luS2V5cyk8L2Rlc2NyaXB0 aW9uPgotICAgICAgICAgICAgICAgICAgICAgICAgIDxpY29uPmlidXMta2V5Ym9hcmQ8L2ljb24+ Ci1AQCAtNTE5LDcgKzU5MSw4IEBACi0gCQkJPGxhbmd1YWdlPmVuZzwvbGFuZ3VhZ2U+Ci0gCQkJ PGxpY2Vuc2U+R1BMPC9saWNlbnNlPgotIAkJCTxhdXRob3I+UGVuZyBIdWFuZyAmbHQ7c2hhd24u cC5odWFuZ0BnbWFpbC5jb20mZ3Q7PC9hdXRob3I+Ci0tCQkJPGxheW91dD5nYihkdm9yYWspPC9s YXlvdXQ+Ci0rCQkJPGxheW91dD5nYjwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5kdm9y YWs8L2xheW91dF92YXJpYW50PgotIAkJCTxsb25nbmFtZT5FbmdsaXNoIChVSywgRHZvcmFrKTwv bG9uZ25hbWU+Ci0gCQkJPGRlc2NyaXB0aW9uPkVuZ2xpc2ggKFVLLCBEdm9yYWspPC9kZXNjcmlw dGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNvbj5pYnVzLWtleWJvYXJkPC9pY29u PgotQEAgLTUzMCw3ICs2MDMsOCBAQAotIAkJCTxsYW5ndWFnZT5rb3I8L2xhbmd1YWdlPgotIAkJ CTxsaWNlbnNlPkdQTDwvbGljZW5zZT4KLSAJCQk8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3NoYXdu LnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgotLQkJCTxsYXlvdXQ+a3Ioa3IxMDQpPC9s YXlvdXQ+Ci0rCQkJPGxheW91dD5rcjwvbGF5b3V0PgotKwkJCTxsYXlvdXRfdmFyaWFudD5rcjEw NDwvbGF5b3V0X3ZhcmlhbnQ+Ci0gCQkJPGxvbmduYW1lPktvcmVhbiAoMTAxLzEwNCBrZXkgY29t cGF0aWJsZSk8L2xvbmduYW1lPgotIAkJCTxkZXNjcmlwdGlvbj5Lb3JlYW4gKDEwMS8xMDQga2V5 IGNvbXBhdGlibGUpPC9kZXNjcmlwdGlvbj4KLSAgICAgICAgICAgICAgICAgICAgICAgICA8aWNv bj5pYnVzLWtleWJvYXJkPC9pY29uPgorZGlmZiAtLWdpdCBhL3NldHVwL21haW4ucHkgYi9zZXR1 cC9tYWluLnB5CitpbmRleCBhOGFjYzdhLi43MDdmYWE0IDEwMDY0NAorLS0tIGEvc2V0dXAvbWFp bi5weQorKysrIGIvc2V0dXAvbWFpbi5weQorQEAgLTg3LDcgKzg3LDcgQEAgY2xhc3MgU2V0dXAo b2JqZWN0KToKKyAgICAgICAgIGxhYmVsID0gJ3N3aXRjaF9lbmdpbmUnCisgICAgICAgICB2YXJp YW50ID0gc2VsZi5fX2NvbmZpZy5nZXRfdmFsdWUoJ2dlbmVyYWwvaG90a2V5JywgbmFtZSkKKyAg ICAgICAgIGlmIHZhcmlhbnQgIT0gTm9uZToKKy0gICAgICAgICAgICBzaG9ydGN1dHMgPSB2YXJp YW50LmR1cF9zdHJ2KCkKKysgICAgICAgICAgICBzaG9ydGN1dHMgPSB2YXJpYW50LnVucGFjaygp CisgICAgICAgICBlbHNlOgorICAgICAgICAgICAgIHNob3J0Y3V0cyA9ICBbJzxDb250cm9sPnNw YWNlJ10KKyAKIC0tIAotMS44LjAKKzEuNy4xMi4xCiAKLUZyb20gYWU5OGI1YTU4ODQ2ZTEzMjY1 NTAwMjdkYzhkMmE3NzNlZDhhMjRjNSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1 aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6IEZyaSwgMzAgTm92IDIw MTIgMTE6NDM6NDMgKzA5MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IHhtbGxpbnQgZXJyb3JzLgor RnJvbSA2MmNkMDQ5MmUzNDU5NDE2ZTE3NzVhZWRjMzI3YmNlZDUzZjY2ODI4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQorRnJvbTogUnVpIE1hdG9zIDx0aWFnb21hdG9zQGdtYWlsLmNvbT4KK0Rh dGU6IFdlZCwgOSBKYW4gMjAxMyAxMDoxNDo1NSAtMDUwMAorU3ViamVjdDogW1BBVENIXSBjbGll bnQ6IFF1ZXVlIGV2ZW50cyB3aGlsZSB0aGUgSUJ1cyBjb250ZXh0IGlzbid0IHJlYWR5CisKK1Ro ZXJlIGFyZSBhY3R1YWxseSAzIHBhdGNoZXMgaGVyZS4KKworLS0tCitjbGllbnQ6IFF1ZXVlIGV2 ZW50cyB3aGlsZSB0aGUgSUJ1cyBjb250ZXh0IGlzbid0IHJlYWR5CisKK1dlIG1heSBsb3NlIGV2 ZW50cyB0aGF0IG91Z2h0IHRvIGJlIHByb2Nlc3NlZCB3aGlsZSB0aGUgSUJ1cyBjb250ZXh0Citp c24ndCByZWFkeSBvciBpZiB0aGUgY29ubmVjdGlvbiB0byBJQnVzIGlzbid0IGZ1bGx5IGVzdGFi bGlzaGVkIHlldC4KKworVG8gYXZvaWQgdGhhdCwgZW5xdWV1ZSBldmVudHMgdG8gYmUgcHJvY2Vz c2VkIGxhdGVyIHdoZW4gdGhlIElCdXMKK2NvbnRleHQgY3JlYXRpb24gZmluaXNoZXMuCisKKy0t LQorY2xpZW50OiBEb24ndCBjYW5jZWwgYW4gb25nb2luZyBjcmVhdGUgaW5wdXQgY29udGV4dCBv biBhbm90aGVyIHJlcXVlc3QKKworVGhpcyB3b3VsZCBvbmx5IGFkZCBtb3JlIGRlbGF5cy4KKwor LS0tCitjbGllbnQ6IENhbmNlbCBhbnkgb25nb2luZyBjcmVhdGUgaW5wdXQgY29udGV4dCByZXF1 ZXN0IG9uIGZpbmFsaXplCisKK0JVRz0KIAotUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3 LmFwcHNwb3QuY29tLzY4NDIxMTUKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBz cG90LmNvbS82OTg4MDQ3CitQYXRjaCBmcm9tIFJ1aSBNYXRvcyA8dGlhZ29tYXRvc0BnbWFpbC5j b20+LgogLS0tCi0gY29uZi9kY29uZi9kY29uZi54bWwuaW4uaW4gICAgIHwgMiArLQotIGNvbmYv Z2NvbmYvZ2NvbmYueG1sLmluLmluICAgICB8IDIgKy0KLSBjb25mL21lbWNvbmYvbWVtY29uZi54 bWwuaW4uaW4gfCAyICstCi0gdWkvZ3RrMy9ndGtwYW5lbC54bWwuaW4uaW4gICAgIHwgMiArLQot IDQgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQorIGNsaWVu dC9ndGsyL2lidXNpbWNvbnRleHQuYyB8IDIyMCArKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMzMgaW5zZXJ0aW9ucygrKSwgODcg ZGVsZXRpb25zKC0pCiAKLWRpZmYgLS1naXQgYS9jb25mL2Rjb25mL2Rjb25mLnhtbC5pbi5pbiBi L2NvbmYvZGNvbmYvZGNvbmYueG1sLmluLmluCi1pbmRleCAwMzY3MDA4Li5jZWIyYjBjIDEwMDY0 NAotLS0tIGEvY29uZi9kY29uZi9kY29uZi54bWwuaW4uaW4KLSsrKyBiL2NvbmYvZGNvbmYvZGNv bmYueG1sLmluLmluCi1AQCAtMSw0ICsxLDQgQEAKLS08P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29k aW5nPSJ1dGYtOCI/PgotKzw/eG1sIHZlcnNpb249XCIxLjBcIiBlbmNvZGluZz1cInV0Zi04XCI/ PgotIDwhLS0gZmlsZW5hbWU6IGRjb25mLnhtbCAtLT4KLSA8Y29tcG9uZW50PgotIAk8bmFtZT5v cmcuZnJlZWRlc2t0b3AuSUJ1cy5Db25maWc8L25hbWU+Ci1kaWZmIC0tZ2l0IGEvY29uZi9nY29u Zi9nY29uZi54bWwuaW4uaW4gYi9jb25mL2djb25mL2djb25mLnhtbC5pbi5pbgotaW5kZXggMDY0 NGQ3ZS4uZDgyMTc5ZiAxMDA2NDQKLS0tLSBhL2NvbmYvZ2NvbmYvZ2NvbmYueG1sLmluLmluCi0r KysgYi9jb25mL2djb25mL2djb25mLnhtbC5pbi5pbgotQEAgLTEsNCArMSw0IEBACi0tPD94bWwg dmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KLSs8P3htbCB2ZXJzaW9uPVwiMS4wXCIg ZW5jb2Rpbmc9XCJ1dGYtOFwiPz4KLSA8IS0tIGZpbGVuYW1lOiBwaW55aW4ueG1sIC0tPgotIDxj b21wb25lbnQ+Ci0gCTxuYW1lPm9yZy5mcmVlZGVza3RvcC5JQnVzLkNvbmZpZzwvbmFtZT4KLWRp ZmYgLS1naXQgYS9jb25mL21lbWNvbmYvbWVtY29uZi54bWwuaW4uaW4gYi9jb25mL21lbWNvbmYv bWVtY29uZi54bWwuaW4uaW4KLWluZGV4IGI2MGRiZjIuLjkzOWU0MGEgMTAwNjQ0Ci0tLS0gYS9j b25mL21lbWNvbmYvbWVtY29uZi54bWwuaW4uaW4KLSsrKyBiL2NvbmYvbWVtY29uZi9tZW1jb25m LnhtbC5pbi5pbgotQEAgLTEsNCArMSw0IEBACi0tPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGlu Zz0idXRmLTgiPz4KLSs8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJ1dGYtOFwiPz4K LSA8Y29tcG9uZW50PgotIAk8bmFtZT5vcmcuZnJlZWRlc2t0b3AuSUJ1cy5Db25maWc8L25hbWU+ Ci0gCTxkZXNjcmlwdGlvbj5Pbi1tZW1vcnkgQ29uZmlnIENvbXBvbmVudDwvZGVzY3JpcHRpb24+ Ci1kaWZmIC0tZ2l0IGEvdWkvZ3RrMy9ndGtwYW5lbC54bWwuaW4uaW4gYi91aS9ndGszL2d0a3Bh bmVsLnhtbC5pbi5pbgotaW5kZXggYzQ4MGJjZC4uMWQyY2Y3MyAxMDA2NDQKLS0tLSBhL3VpL2d0 azMvZ3RrcGFuZWwueG1sLmluLmluCi0rKysgYi91aS9ndGszL2d0a3BhbmVsLnhtbC5pbi5pbgot QEAgLTEsNCArMSw0IEBACi0tPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4K LSs8P3htbCB2ZXJzaW9uPVwiMS4wXCIgZW5jb2Rpbmc9XCJ1dGYtOFwiPz4KLSA8IS0tIGZpbGVu YW1lOiBndGtwYW5lbC54bWwgLS0+Ci0gPGNvbXBvbmVudD4KLSAJPG5hbWU+b3JnLmZyZWVkZXNr dG9wLklCdXMuUGFuZWw8L25hbWU+CitkaWZmIC0tZ2l0IGEvY2xpZW50L2d0azIvaWJ1c2ltY29u dGV4dC5jIGIvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCitpbmRleCAwMTE2NzZmLi45NDAw NWI3IDEwMDY0NAorLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCisrKysgYi9jbGll bnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMKK0BAIC00MCw2ICs0MCw4IEBACisgIyAgZGVmaW5lIElE RUJVRyhhLi4uKQorICNlbmRpZgorIAorKyNkZWZpbmUgTUFYX1FVRVVFRF9FVkVOVFMgMjAKKysK KyBzdHJ1Y3QgX0lCdXNJTUNvbnRleHQgeworICAgICBHdGtJTUNvbnRleHQgcGFyZW50OworIAor QEAgLTYzLDYgKzY1LDcgQEAgc3RydWN0IF9JQnVzSU1Db250ZXh0IHsKKyAKKyAgICAgLyogY2Fu Y2VsbGFibGUgKi8KKyAgICAgR0NhbmNlbGxhYmxlICAgICpjYW5jZWxsYWJsZTsKKysgICAgR1F1 ZXVlICAgICAgICAgICpldmVudHNfcXVldWU7CisgfTsKKyAKKyBzdHJ1Y3QgX0lCdXNJTUNvbnRl eHRDbGFzcyB7CitAQCAtMTU0LDYgKzE1Nyw4IEBAIHN0YXRpYyBHVHlwZSAgICAgICAgICAgICAg ICBfaWJ1c190eXBlX2ltX2NvbnRleHQgPSAwOworIHN0YXRpYyBHdGtJTUNvbnRleHRDbGFzcyAg ICAqcGFyZW50X2NsYXNzID0gTlVMTDsKKyAKKyBzdGF0aWMgSUJ1c0J1cyAgICAgICAgICAgICAg Kl9idXMgPSBOVUxMOworK3N0YXRpYyBndWludCAgICAgICAgICAgICAgICBfZGFlbW9uX25hbWVf d2F0Y2hfaWQgPSAwOworK3N0YXRpYyBnYm9vbGVhbiAgICAgICAgICAgICBfZGFlbW9uX2lzX3J1 bm5pbmcgPSBGQUxTRTsKKyAKKyB2b2lkCisgaWJ1c19pbV9jb250ZXh0X3JlZ2lzdGVyX3R5cGUg KEdUeXBlTW9kdWxlICp0eXBlX21vZHVsZSkKK0BAIC0yNjEsNiArMjY2LDQ2IEBAIF9wcm9jZXNz X2tleV9ldmVudF9kb25lIChHT2JqZWN0ICAgICAgKm9iamVjdCwKKyAgICAgZ2RrX2V2ZW50X2Zy ZWUgKChHZGtFdmVudCAqKWV2ZW50KTsKKyB9CisgCisrc3RhdGljIGdib29sZWFuCisrX3Byb2Nl c3Nfa2V5X2V2ZW50IChJQnVzSW5wdXRDb250ZXh0ICpjb250ZXh0LAorKyAgICAgICAgICAgICAg ICAgICAgR2RrRXZlbnRLZXkgICAgICAqZXZlbnQpCisreworKyAgICBndWludCBzdGF0ZSA9IGV2 ZW50LT5zdGF0ZTsKKysgICAgZ2Jvb2xlYW4gcmV0dmFsID0gRkFMU0U7CisrCisrICAgIGlmIChl dmVudC0+dHlwZSA9PSBHREtfS0VZX1JFTEVBU0UpIHsKKysgICAgICAgIHN0YXRlIHw9IElCVVNf UkVMRUFTRV9NQVNLOworKyAgICB9CisrCisrICAgIGlmIChfdXNlX3N5bmNfbW9kZSkgeworKyAg ICAgICAgcmV0dmFsID0gaWJ1c19pbnB1dF9jb250ZXh0X3Byb2Nlc3Nfa2V5X2V2ZW50IChjb250 ZXh0LAorKyAgICAgICAgICAgIGV2ZW50LT5rZXl2YWwsCisrICAgICAgICAgICAgZXZlbnQtPmhh cmR3YXJlX2tleWNvZGUgLSA4LAorKyAgICAgICAgICAgIHN0YXRlKTsKKysgICAgfQorKyAgICBl bHNlIHsKKysgICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudF9hc3lu YyAoY29udGV4dCwKKysgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorKyAgICAgICAgICAgIGV2 ZW50LT5oYXJkd2FyZV9rZXljb2RlIC0gOCwKKysgICAgICAgICAgICBzdGF0ZSwKKysgICAgICAg ICAgICAtMSwKKysgICAgICAgICAgICBOVUxMLAorKyAgICAgICAgICAgIF9wcm9jZXNzX2tleV9l dmVudF9kb25lLAorKyAgICAgICAgICAgIGdka19ldmVudF9jb3B5ICgoR2RrRXZlbnQgKikgZXZl bnQpKTsKKysKKysgICAgICAgIHJldHZhbCA9IFRSVUU7CisrICAgIH0KKysKKysgICAgaWYgKHJl dHZhbCkgeworKyAgICAgICAgZXZlbnQtPnN0YXRlIHw9IElCVVNfSEFORExFRF9NQVNLOworKyAg ICB9CisrICAgIGVsc2UgeworKyAgICAgICAgZXZlbnQtPnN0YXRlIHw9IElCVVNfSUdOT1JFRF9N QVNLOworKyAgICB9CisrCisrICAgIHJldHVybiByZXR2YWw7CisrfQorKworIAorIC8qIGVtaXQg InJldHJpZXZlLXN1cnJvdW5kaW5nIiBnbGliIHNpZ25hbCBvZiBHdGtJTUNvbnRleHQsIGlmCisg ICogY29udGV4dC0+Y2FwcyBoYXMgSUJVU19DQVBfU1VSUk9VTkRJTkdfVEVYVCBhbmQgdGhlIGN1 cnJlbnQgSUJ1cworQEAgLTM4NywzOCArNDMyLDcgQEAgX2tleV9zbm9vcGVyX2NiIChHdGtXaWRn ZXQgICAqd2lkZ2V0LAorICAgICAgICAgaWJ1c2ltY29udGV4dC0+dGltZSA9IGV2ZW50LT50aW1l OworICAgICB9CisgCistICAgIGd1aW50IHN0YXRlID0gZXZlbnQtPnN0YXRlOworLSAgICBpZiAo ZXZlbnQtPnR5cGUgPT0gR0RLX0tFWV9SRUxFQVNFKSB7CistICAgICAgICBzdGF0ZSB8PSBJQlVT X1JFTEVBU0VfTUFTSzsKKy0gICAgfQorLQorLSAgICBpZiAoX3VzZV9zeW5jX21vZGUpIHsKKy0g ICAgICAgIHJldHZhbCA9IGlidXNfaW5wdXRfY29udGV4dF9wcm9jZXNzX2tleV9ldmVudCAoCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlidXNjb250ZXh0LAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC0+a2V5dmFsLAorLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBldmVudC0+aGFyZHdhcmVfa2V5 Y29kZSAtIDgsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRl KTsKKy0gICAgfQorLSAgICBlbHNlIHsKKy0gICAgICAgIGlidXNfaW5wdXRfY29udGV4dF9wcm9j ZXNzX2tleV9ldmVudF9hc3luYyAoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlidXNjb250ZXh0LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldmVudC0+a2V5dmFsLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBldmVudC0+aGFyZHdhcmVfa2V5Y29kZSAtIDgsCistICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0YXRlLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAtMSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TlVMTCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3Byb2Nlc3Nf a2V5X2V2ZW50X2RvbmUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdka19ldmVudF9jb3B5ICgoR2RrRXZlbnQgKikgZXZlbnQpKTsKKy0gICAgICAgIHJldHZhbCA9 IFRSVUU7CistCistICAgIH0KKy0KKy0gICAgaWYgKHJldHZhbCkgeworLSAgICAgICAgZXZlbnQt PnN0YXRlIHw9IElCVVNfSEFORExFRF9NQVNLOworLSAgICB9CistICAgIGVsc2UgeworLSAgICAg ICAgZXZlbnQtPnN0YXRlIHw9IElCVVNfSUdOT1JFRF9NQVNLOworLSAgICB9CisrICAgIHJldHZh bCA9IF9wcm9jZXNzX2tleV9ldmVudCAoaWJ1c2NvbnRleHQsIGV2ZW50KTsKKyAKKyAgICAgaWYg KGlidXNpbWNvbnRleHQgIT0gTlVMTCkgeworICAgICAgICAgLyogdW5yZWYgaWJ1c2ltY29udGV4 dCBjb3VsZCBjYWxsIGlidXNfaW1fY29udGV4dF9maW5hbGl6ZSBoZXJlCitAQCAtNDUwLDYgKzQ2 NCwyMyBAQCBfZ2V0X2Jvb2xlYW5fZW52KGNvbnN0IGdjaGFyICpuYW1lLAorIH0KKyAKKyBzdGF0 aWMgdm9pZAorK2RhZW1vbl9uYW1lX2FwcGVhcmVkIChHREJ1c0Nvbm5lY3Rpb24gKmNvbm5lY3Rp b24sCisrICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgICAqbmFtZSwKKysgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgICAgICpvd25lciwKKysgICAgICAgICAgICAg ICAgICAgICAgZ3BvaW50ZXIgICAgICAgICBkYXRhKQorK3sKKysgICAgX2RhZW1vbl9pc19ydW5u aW5nID0gVFJVRTsKKyt9CisrCisrc3RhdGljIHZvaWQKKytkYWVtb25fbmFtZV92YW5pc2hlZCAo R0RCdXNDb25uZWN0aW9uICpjb25uZWN0aW9uLAorKyAgICAgICAgICAgICAgICAgICAgICBjb25z dCBnY2hhciAgICAgKm5hbWUsCisrICAgICAgICAgICAgICAgICAgICAgIGdwb2ludGVyICAgICAg ICAgZGF0YSkKKyt7CisrICAgIF9kYWVtb25faXNfcnVubmluZyA9IEZBTFNFOworK30KKysKKytz dGF0aWMgdm9pZAorIGlidXNfaW1fY29udGV4dF9jbGFzc19pbml0IChJQnVzSU1Db250ZXh0Q2xh c3MgKmNsYXNzKQorIHsKKyAgICAgSURFQlVHICgiJXMiLCBfX0ZVTkNUSU9OX18pOworQEAgLTUz Myw2ICs1NjQsMTQgQEAgaWJ1c19pbV9jb250ZXh0X2NsYXNzX2luaXQgKElCdXNJTUNvbnRleHRD bGFzcyAqY2xhc3MpCisgICAgIC8qIGFsd2F5cyBpbnN0YWxsIHNub29wZXIgKi8KKyAgICAgaWYg KF9rZXlfc25vb3Blcl9pZCA9PSAwKQorICAgICAgICAgX2tleV9zbm9vcGVyX2lkID0gZ3RrX2tl eV9zbm9vcGVyX2luc3RhbGwgKF9rZXlfc25vb3Blcl9jYiwgTlVMTCk7CisrCisrICAgIF9kYWVt b25fbmFtZV93YXRjaF9pZCA9IGdfYnVzX3dhdGNoX25hbWUgKEdfQlVTX1RZUEVfU0VTU0lPTiwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUJVU19TRVJW SUNFX0lCVVMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEdfQlVTX05BTUVfV0FUQ0hFUl9GTEFHU19OT05FLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBkYWVtb25fbmFtZV9hcHBlYXJlZCwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFlbW9uX25hbWVfdmFuaXNoZWQs CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOworIH0K KyAKKyBzdGF0aWMgdm9pZAorQEAgLTU0Myw2ICs1ODIsOCBAQCBpYnVzX2ltX2NvbnRleHRfY2xh c3NfZmluaSAoSUJ1c0lNQ29udGV4dENsYXNzICpjbGFzcykKKyAgICAgICAgIGd0a19rZXlfc25v b3Blcl9yZW1vdmUgKF9rZXlfc25vb3Blcl9pZCk7CisgICAgICAgICBfa2V5X3Nub29wZXJfaWQg PSAwOworICAgICB9CisrCisrICAgIGdfYnVzX3Vud2F0Y2hfbmFtZSAoX2RhZW1vbl9uYW1lX3dh dGNoX2lkKTsKKyB9CisgCisgLyogQ29waWVkIGZyb20gZ3RrKzIuMC0yLjIwLjEvbW9kdWxlcy9p bnB1dC9pbWNlZGlsbGEuYyB0byBmaXggY3Jvc2J1Zy5jb20vMTE0MjEuCitAQCAtNjAyLDYgKzY0 Myw3IEBAIGlidXNfaW1fY29udGV4dF9pbml0IChHT2JqZWN0ICpvYmopCisgICAgIGlidXNpbWNv bnRleHQtPmNhcHMgPSBJQlVTX0NBUF9QUkVFRElUX1RFWFQgfCBJQlVTX0NBUF9GT0NVUzsKKyAj ZW5kaWYKKyAKKysgICAgaWJ1c2ltY29udGV4dC0+ZXZlbnRzX3F1ZXVlID0gZ19xdWV1ZV9uZXcg KCk7CisgCisgICAgIC8vIENyZWF0ZSBzbGF2ZSBpbSBjb250ZXh0CisgICAgIGlidXNpbWNvbnRl eHQtPnNsYXZlID0gZ3RrX2ltX2NvbnRleHRfc2ltcGxlX25ldyAoKTsKK0BAIC02NTEsNiArNjkz LDEzIEBAIGlidXNfaW1fY29udGV4dF9maW5hbGl6ZSAoR09iamVjdCAqb2JqKQorIAorICAgICBn X3NpZ25hbF9oYW5kbGVyc19kaXNjb25uZWN0X2J5X2Z1bmMgKF9idXMsIEdfQ0FMTEJBQ0sgKF9i dXNfY29ubmVjdGVkX2NiKSwgb2JqKTsKKyAKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmNhbmNl bGxhYmxlICE9IE5VTEwpIHsKKysgICAgICAgIC8qIENhbmNlbCBhbnkgb25nb2luZyBjcmVhdGUg aW5wdXQgY29udGV4dCByZXF1ZXN0ICovCisrICAgICAgICBnX2NhbmNlbGxhYmxlX2NhbmNlbCAo aWJ1c2ltY29udGV4dC0+Y2FuY2VsbGFibGUpOworKyAgICAgICAgZ19vYmplY3RfdW5yZWYgKGli dXNpbWNvbnRleHQtPmNhbmNlbGxhYmxlKTsKKysgICAgICAgIGlidXNpbWNvbnRleHQtPmNhbmNl bGxhYmxlID0gTlVMTDsKKysgICAgfQorKworICAgICBpZiAoaWJ1c2ltY29udGV4dC0+aWJ1c2Nv bnRleHQpIHsKKyAgICAgICAgIGlidXNfcHJveHlfZGVzdHJveSAoKElCdXNQcm94eSAqKWlidXNp bWNvbnRleHQtPmlidXNjb250ZXh0KTsKKyAgICAgfQorQEAgLTY3MCw2ICs3MTksOSBAQCBpYnVz X2ltX2NvbnRleHRfZmluYWxpemUgKEdPYmplY3QgKm9iaikKKyAgICAgICAgIHBhbmdvX2F0dHJf bGlzdF91bnJlZiAoaWJ1c2ltY29udGV4dC0+cHJlZWRpdF9hdHRycyk7CisgICAgIH0KKyAKKysg ICAgZ19xdWV1ZV9mcmVlX2Z1bGwgKGlidXNpbWNvbnRleHQtPmV2ZW50c19xdWV1ZSwKKysgICAg ICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSlnZGtfZXZlbnRfZnJlZSk7CisrCisg ICAgIEdfT0JKRUNUX0NMQVNTKHBhcmVudF9jbGFzcyktPmZpbmFsaXplIChvYmopOworIH0KKyAK K0BAIC02ODEsNjUgKzczMyw1NiBAQCBpYnVzX2ltX2NvbnRleHRfZmlsdGVyX2tleXByZXNzIChH dGtJTUNvbnRleHQgKmNvbnRleHQsCisgCisgICAgIElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRl eHQgPSBJQlVTX0lNX0NPTlRFWFQgKGNvbnRleHQpOworIAorLSAgICBpZiAoR19MSUtFTFkgKGli dXNpbWNvbnRleHQtPmlidXNjb250ZXh0ICYmIGlidXNpbWNvbnRleHQtPmhhc19mb2N1cykpIHsK Ky0gICAgICAgIC8qIElmIGNvbnRleHQgZG9lcyBub3QgaGF2ZSBmb2N1cywgaWJ1cyB3aWxsIHBy b2Nlc3Mga2V5IGV2ZW50IGluIHN5bmMgbW9kZS4KKy0gICAgICAgICAqIEl0IGlzIGEgd29ya2Fy b3VuZCBmb3IgaW5jcmVhc2Ugc2VhcmNoIGluIHRyZWV2aWV3LgorLSAgICAgICAgICovCistICAg ICAgICBnYm9vbGVhbiByZXR2YWwgPSBGQUxTRTsKKy0KKy0gICAgICAgIGlmIChldmVudC0+c3Rh dGUgJiBJQlVTX0hBTkRMRURfTUFTSykKKy0gICAgICAgICAgICByZXR1cm4gVFJVRTsKKysgICAg aWYgKCFfZGFlbW9uX2lzX3J1bm5pbmcpCisrICAgICAgICByZXR1cm4gZ3RrX2ltX2NvbnRleHRf ZmlsdGVyX2tleXByZXNzIChpYnVzaW1jb250ZXh0LT5zbGF2ZSwgZXZlbnQpOworIAorLSAgICAg ICAgaWYgKGV2ZW50LT5zdGF0ZSAmIElCVVNfSUdOT1JFRF9NQVNLKQorLSAgICAgICAgICAgIHJl dHVybiBndGtfaW1fY29udGV4dF9maWx0ZXJfa2V5cHJlc3MgKGlidXNpbWNvbnRleHQtPnNsYXZl LCBldmVudCk7CisrICAgIC8qIElmIGNvbnRleHQgZG9lcyBub3QgaGF2ZSBmb2N1cywgaWJ1cyB3 aWxsIHByb2Nlc3Mga2V5IGV2ZW50IGluCisrICAgICAqIHN5bmMgbW9kZS4gIEl0IGlzIGEgd29y a2Fyb3VuZCBmb3IgaW5jcmVhc2Ugc2VhcmNoIGluIHRyZWV2aWV3LgorKyAgICAgKi8KKysgICAg aWYgKCFpYnVzaW1jb250ZXh0LT5oYXNfZm9jdXMpCisrICAgICAgICByZXR1cm4gZ3RrX2ltX2Nv bnRleHRfZmlsdGVyX2tleXByZXNzIChpYnVzaW1jb250ZXh0LT5zbGF2ZSwgZXZlbnQpOworIAor LSAgICAgICAgLyogWFhYIGl0IGlzIGEgd29ya2Fyb3VuZCBmb3Igc29tZSBhcHBsaWNhdGlvbnMg ZG8gbm90IHNldCBjbGllbnQgd2luZG93LiAqLworLSAgICAgICAgaWYgKGlidXNpbWNvbnRleHQt PmNsaWVudF93aW5kb3cgPT0gTlVMTCAmJiBldmVudC0+d2luZG93ICE9IE5VTEwpCistICAgICAg ICAgICAgZ3RrX2ltX2NvbnRleHRfc2V0X2NsaWVudF93aW5kb3cgKChHdGtJTUNvbnRleHQgKilp YnVzaW1jb250ZXh0LCBldmVudC0+d2luZG93KTsKKysgICAgaWYgKGV2ZW50LT5zdGF0ZSAmIElC VVNfSEFORExFRF9NQVNLKQorKyAgICAgICAgcmV0dXJuIFRSVUU7CisgCistICAgICAgICBfcmVx dWVzdF9zdXJyb3VuZGluZ190ZXh0IChpYnVzaW1jb250ZXh0KTsKKysgICAgaWYgKGV2ZW50LT5z dGF0ZSAmIElCVVNfSUdOT1JFRF9NQVNLKQorKyAgICAgICAgcmV0dXJuIGd0a19pbV9jb250ZXh0 X2ZpbHRlcl9rZXlwcmVzcyAoaWJ1c2ltY29udGV4dC0+c2xhdmUsIGV2ZW50KTsKKyAKKy0gICAg ICAgIGlmIChpYnVzaW1jb250ZXh0ICE9IE5VTEwpIHsKKy0gICAgICAgICAgICBpYnVzaW1jb250 ZXh0LT50aW1lID0gZXZlbnQtPnRpbWU7CistICAgICAgICB9CisrICAgIC8qIFhYWCBpdCBpcyBh IHdvcmthcm91bmQgZm9yIHNvbWUgYXBwbGljYXRpb25zIGRvIG5vdCBzZXQgY2xpZW50CisrICAg ICAqIHdpbmRvdy4gKi8KKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmNsaWVudF93aW5kb3cgPT0g TlVMTCAmJiBldmVudC0+d2luZG93ICE9IE5VTEwpCisrICAgICAgICBndGtfaW1fY29udGV4dF9z ZXRfY2xpZW50X3dpbmRvdyAoKEd0a0lNQ29udGV4dCAqKWlidXNpbWNvbnRleHQsCisrICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPndpbmRvdyk7CisgCist ICAgICAgICBndWludCBzdGF0ZSA9IGV2ZW50LT5zdGF0ZTsKKy0gICAgICAgIGlmIChldmVudC0+ dHlwZSA9PSBHREtfS0VZX1JFTEVBU0UpIHsKKy0gICAgICAgICAgICBzdGF0ZSB8PSBJQlVTX1JF TEVBU0VfTUFTSzsKKy0gICAgICAgIH0KKysgICAgX3JlcXVlc3Rfc3Vycm91bmRpbmdfdGV4dCAo aWJ1c2ltY29udGV4dCk7CisgCistICAgICAgICBpZiAoX3VzZV9zeW5jX21vZGUpIHsKKy0gICAg ICAgICAgICByZXR2YWwgPSBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZlbnQgKAor LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0LT5p YnVzY29udGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZl bnQtPmtleXZhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZl bnQtPmhhcmR3YXJlX2tleWNvZGUgLSA4LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdGF0ZSk7CistICAgICAgICB9CistICAgICAgICBlbHNlIHsKKy0gICAgICAg ICAgICBpYnVzX2lucHV0X2NvbnRleHRfcHJvY2Vzc19rZXlfZXZlbnRfYXN5bmMgKAorLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzaW1jb250ZXh0LT5pYnVzY29u dGV4dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPmtl eXZhbCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQtPmhh cmR3YXJlX2tleWNvZGUgLSA4LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzdGF0ZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLTEs CistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsCistICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF9wcm9jZXNzX2tleV9ldmVudF9kb25l LAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZGtfZXZlbnRfY29w eSAoKEdka0V2ZW50ICopIGV2ZW50KSk7CistICAgICAgICAgICAgcmV0dmFsID0gVFJVRTsKKy0g ICAgICAgIH0KKysgICAgaWJ1c2ltY29udGV4dC0+dGltZSA9IGV2ZW50LT50aW1lOworIAorLSAg ICAgICAgaWYgKHJldHZhbCkgeworLSAgICAgICAgICAgIGV2ZW50LT5zdGF0ZSB8PSBJQlVTX0hB TkRMRURfTUFTSzsKKysgICAgaWYgKGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0KSB7CisrICAg ICAgICBpZiAoX3Byb2Nlc3Nfa2V5X2V2ZW50IChpYnVzaW1jb250ZXh0LT5pYnVzY29udGV4dCwg ZXZlbnQpKQorICAgICAgICAgICAgIHJldHVybiBUUlVFOworLSAgICAgICAgfQorLSAgICAgICAg ZWxzZSB7CistICAgICAgICAgICAgZXZlbnQtPnN0YXRlIHw9IElCVVNfSUdOT1JFRF9NQVNLOwor LSAgICAgICAgICAgIHJldHVybiBndGtfaW1fY29udGV4dF9maWx0ZXJfa2V5cHJlc3MgKGlidXNp bWNvbnRleHQtPnNsYXZlLCBldmVudCk7CistICAgICAgICB9CisrICAgICAgICBlbHNlCisrICAg ICAgICAgICAgcmV0dXJuIGd0a19pbV9jb250ZXh0X2ZpbHRlcl9rZXlwcmVzcyAoaWJ1c2ltY29u dGV4dC0+c2xhdmUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZXZlbnQpOworICAgICB9CistICAgIGVsc2UgeworLSAgICAgICAgcmV0dXJuIGd0 a19pbV9jb250ZXh0X2ZpbHRlcl9rZXlwcmVzcyAoaWJ1c2ltY29udGV4dC0+c2xhdmUsIGV2ZW50 KTsKKysKKysgICAgLyogQXQgdGhpcyBwb2ludCB3ZSBfc2hvdWxkXyBiZSB3YWl0aW5nIGZvciB0 aGUgSUJ1cyBjb250ZXh0IHRvIGJlCisrICAgICAqIGNyZWF0ZWQgb3IgdGhlIGNvbm5lY3Rpb24g dG8gSUJ1cyB0byBiZSBlc3RhYmxpc2hlZC4gSWYgdGhhdCdzCisrICAgICAqIHRoZSBjYXNlIHdl IHF1ZXVlIGV2ZW50cyB0byBiZSBwcm9jZXNzZWQgd2hlbiB0aGUgSUJ1cyBjb250ZXh0CisrICAg ICAqIGlzIHJlYWR5LiAqLworKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCAoaWJ1c2ltY29udGV4 dC0+Y2FuY2VsbGFibGUgIT0gTlVMTCB8fAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgaWJ1 c19idXNfaXNfY29ubmVjdGVkIChfYnVzKSA9PSBGQUxTRSwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgIEZBTFNFKTsKKysgICAgZ19xdWV1ZV9wdXNoX3RhaWwgKGlidXNpbWNvbnRleHQtPmV2 ZW50c19xdWV1ZSwKKysgICAgICAgICAgICAgICAgICAgICAgIGdka19ldmVudF9jb3B5ICgoR2Rr RXZlbnQgKilldmVudCkpOworKworKyAgICBpZiAoZ19xdWV1ZV9nZXRfbGVuZ3RoIChpYnVzaW1j b250ZXh0LT5ldmVudHNfcXVldWUpID4gTUFYX1FVRVVFRF9FVkVOVFMpIHsKKysgICAgICAgIGdf d2FybmluZyAoIkV2ZW50cyBxdWV1ZSBncm93aW5nIHRvbyBiaWcsIHdpbGwgc3RhcnQgdG8gZHJv cC4iKTsKKysgICAgICAgIGdka19ldmVudF9mcmVlICgoR2RrRXZlbnQgKikKKysgICAgICAgICAg ICAgICAgICAgICAgICBnX3F1ZXVlX3BvcF9oZWFkIChpYnVzaW1jb250ZXh0LT5ldmVudHNfcXVl dWUpKTsKKyAgICAgfQorKworKyAgICByZXR1cm4gVFJVRTsKKyB9CisgCisgc3RhdGljIHZvaWQK K0BAIC0xNDgyLDYgKzE1MjUsMTQgQEAgX2NyZWF0ZV9pbnB1dF9jb250ZXh0X2RvbmUgKElCdXNC dXMgICAgICAgKmJ1cywKKyAgICAgICAgICAgICBpYnVzX2lucHV0X2NvbnRleHRfZm9jdXNfaW4g KGlidXNpbWNvbnRleHQtPmlidXNjb250ZXh0KTsKKyAgICAgICAgICAgICBfc2V0X2N1cnNvcl9s b2NhdGlvbl9pbnRlcm5hbCAoaWJ1c2ltY29udGV4dCk7CisgICAgICAgICB9CisrCisrICAgICAg ICBpZiAoIWdfcXVldWVfaXNfZW1wdHkgKGlidXNpbWNvbnRleHQtPmV2ZW50c19xdWV1ZSkpIHsK KysgICAgICAgICAgICBHZGtFdmVudEtleSAqZXZlbnQ7CisrICAgICAgICAgICAgd2hpbGUgKGV2 ZW50ID0gZ19xdWV1ZV9wb3BfaGVhZCAoaWJ1c2ltY29udGV4dC0+ZXZlbnRzX3F1ZXVlKSkgewor KyAgICAgICAgICAgICAgICBfcHJvY2Vzc19rZXlfZXZlbnQgKGNvbnRleHQsIGV2ZW50KTsKKysg ICAgICAgICAgICAgICAgZ2RrX2V2ZW50X2ZyZWUgKChHZGtFdmVudCAqKWV2ZW50KTsKKysgICAg ICAgICAgICB9CisrICAgICAgICB9CisgICAgIH0KKyAKKyAgICAgZ19vYmplY3RfdW5yZWYgKGli dXNpbWNvbnRleHQpOworQEAgLTE0OTQsMTIgKzE1NDUsNyBAQCBfY3JlYXRlX2lucHV0X2NvbnRl eHQgKElCdXNJTUNvbnRleHQgKmlidXNpbWNvbnRleHQpCisgCisgICAgIGdfYXNzZXJ0IChpYnVz aW1jb250ZXh0LT5pYnVzY29udGV4dCA9PSBOVUxMKTsKKyAKKy0gICAgaWYgKGlidXNpbWNvbnRl eHQtPmNhbmNlbGxhYmxlICE9IE5VTEwpIHsKKy0gICAgICAgIC8qIENhbmNlbCBwcmV2aW91cyBj cmVhdGUgaW5wdXQgY29udGV4dCByZXF1ZXN0ICovCistICAgICAgICBnX2NhbmNlbGxhYmxlX2Nh bmNlbCAoaWJ1c2ltY29udGV4dC0+Y2FuY2VsbGFibGUpOworLSAgICAgICAgZ19vYmplY3RfdW5y ZWYgKGlidXNpbWNvbnRleHQtPmNhbmNlbGxhYmxlKTsKKy0gICAgICAgIGlidXNpbWNvbnRleHQt PmNhbmNlbGxhYmxlID0gTlVMTDsKKy0gICAgfQorKyAgICBnX3JldHVybl9pZl9mYWlsIChpYnVz aW1jb250ZXh0LT5jYW5jZWxsYWJsZSA9PSBOVUxMKTsKKyAKKyAgICAgaWJ1c2ltY29udGV4dC0+ Y2FuY2VsbGFibGUgPSBnX2NhbmNlbGxhYmxlX25ldyAoKTsKKyAKIC0tIAogMS44LjAKIAoKZGlm ZiAtLWdpdCBhL2lidXMteHgtZjE3LnBhdGNoIGIvaWJ1cy14eC1mMTcucGF0Y2gKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFiZmZlMwotLS0gL2Rldi9udWxsCisrKyBiL2li dXMteHgtZjE3LnBhdGNoCkBAIC0wLDAgKzEsOTEgQEAKKy0tLSBpYnVzLTEuNS4xL2JpbmRpbmdz L3ZhbGEvTWFrZWZpbGUuYW0ub3JpZwkyMDEzLTAxLTE1IDE2OjU4OjI1LjU3MTQzMzY5MCArMDkw MAorKysrIGlidXMtMS41LjEvYmluZGluZ3MvdmFsYS9NYWtlZmlsZS5hbQkyMDEzLTAxLTE1IDE2 OjU4OjQ2Ljk4MzQ1NTE1OCArMDkwMAorQEAgLTIwLDE3ICsyMCwzOCBAQAorICMgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwKKyAjIEJv c3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQorIAorLS1pbmNsdWRlICQoVkFQSUdFTl9NQUtFRklM RSkKKyt2YXBpZGlyID0gJChkYXRhZGlyKS92YWxhL3ZhcGkKKytkaXN0X3ZhcGlfREFUQSA9IFwK KysJaWJ1cy1ASUJVU19BUElfVkVSU0lPTkAudmFwaSBcCisrCWlidXMtQElCVVNfQVBJX1ZFUlNJ T05ALmRlcHMgXAorKwkkKE5VTEwpCisgCisrIyBEb24ndCByZWJ1aWxkIHZhcGkgZXZlcnkgdGlt ZSBnaXIgaXMgdXBkYXRlZC4KKytpZiBFTkFCTEVfTElCR05PTUVLQkQKKyB2YXBpX2RlcHMgPSBc CistCUlCdXMtMS4wLm1ldGFkYXRhIFwKKy0JSUJ1cy0xLjAtY3VzdG9tLnZhbGEgXAorLQkkKHRv cF9idWlsZGRpcikvc3JjL0lCdXMtMS4wLmdpciBcCisrCSQoc3JjZGlyKS9JQnVzLTEuMC5tZXRh ZGF0YSBcCisrCSQoc3JjZGlyKS9JQnVzLTEuMC1jdXN0b20udmFsYSBcCisrCXwgXAorKwkkKGJ1 aWxkZGlyKS9na2JkLnZhcGkgXAorKwkkKHRvcF9zcmNkaXIpL3NyYy9JQnVzLUBJQlVTX0FQSV9W RVJTSU9OQC5naXIgXAorIAkkKE5VTEwpCisrZWxzZQorK3ZhcGlfZGVwcyA9IFwKKysJJChzcmNk aXIpL0lCdXMtMS4wLm1ldGFkYXRhIFwKKysJJChzcmNkaXIpL0lCdXMtMS4wLWN1c3RvbS52YWxh IFwKKysJfCBcCisrCSQodG9wX3NyY2Rpcikvc3JjL0lCdXMtQElCVVNfQVBJX1ZFUlNJT05ALmdp ciBcCisrCSQoTlVMTCkKKytlbmRpZgorIAorLWlmIEVOQUJMRV9MSUJHTk9NRUtCRAorLXZhcGlf ZGVwcyArPSAkKGJ1aWxkZGlyKS9na2JkLnZhcGkKKytpYnVzLUBJQlVTX0FQSV9WRVJTSU9OQC52 YXBpOiAkKHZhcGlfZGVwcykKKysJJChBTV9WX0dFTikgJChWQVBJR0VOKSAtLWxpYnJhcnkgaWJ1 cy1ASUJVU19BUElfVkVSU0lPTkAgXAorKwkJCS0tcGtnIGdpby0yLjAgXAorKwkJCS0tbWV0YWRh dGFkaXI9JChzcmNkaXIpIFwKKysJCQkkKHRvcF9zcmNkaXIpL3NyYy9JQnVzLUBJQlVTX0FQSV9W RVJTSU9OQC5naXIgXAorKwkJCSQoc3JjZGlyKS9JQnVzLTEuMC1jdXN0b20udmFsYQorIAorK2lm IEVOQUJMRV9MSUJHTk9NRUtCRAorICQoYnVpbGRkaXIpL2drYmQudmFwaToKKyAJJChBTV9WX0dF TikgJChWQVBJR0VOKSAtLWxpYnJhcnkgZ2tiZCBcCisgCSAgICAtLW1ldGFkYXRhZGlyICQoc3Jj ZGlyKSBcCitAQCAtMzksMjUgKzYwLDEwIEBAICQoYnVpbGRkaXIpL2drYmQudmFwaToKKyAJJChO VUxMKQorIGVuZGlmCisgCistaWJ1cy0xLjAudmFwaTogJCh2YXBpX2RlcHMpCistCistVkFQSUdF Tl9WQVBJUyA9IGlidXMtMS4wLnZhcGkKKy0KKy1pYnVzXzFfMF92YXBpX0RFUFMgPSBnaW8tMi4w CistaWJ1c18xXzBfdmFwaV9NRVRBREFUQURJUlMgPSAkKHNyY2RpcikKKy1pYnVzXzFfMF92YXBp X0ZJTEVTID0gXAorLQkkKHRvcF9idWlsZGRpcikvc3JjL0lCdXMtMS4wLmdpciBcCistCSQoc3Jj ZGlyKS9JQnVzLTEuMC1jdXN0b20udmFsYSBcCistCSQoTlVMTCkKKy0KKy12YXBpZGlyID0gJChk YXRhZGlyKS92YWxhL3ZhcGkKKy12YXBpX0RBVEEgPSAkKFZBUElHRU5fVkFQSVMpICQoVkFQSUdF Tl9WQVBJUzoudmFwaT0uZGVwcykKKy0KKyBFWFRSQV9ESVNUID0gXAorIAlHa2JkLTMuMC5tZXRh ZGF0YSBcCisgCUlCdXMtMS4wLm1ldGFkYXRhIFwKKyAJSUJ1cy0xLjAtY3VzdG9tLnZhbGEgXAor LQlpYnVzLTEuMC5kZXBzIFwKKyAJY29uZmlnLnZhcGkgXAorIAl4aS52YXBpIFwKKyAJWGtsLTEu MC5tZXRhZGF0YSBcCitAQCAtNjUsNCArNzEsNiBAQCBFWFRSQV9ESVNUID0gXAorIAorIENMRUFO RklMRVMgPSBna2JkLnZhcGkKKyAKKytNQUlOVEFJTkVSQ0xFQU5GSUxFUyA9IGlidXMtQElCVVNf QVBJX1ZFUlNJT05ALnZhcGkKKysKKyAtaW5jbHVkZSAkKHRvcF9zcmNkaXIpL2dpdC5taworLS0t IGlidXMtMS41LjEvc2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5weS5vcmlnCTIwMTMtMDEtMTUgMTc6 MDA6MDUuMDkzMTkxMDU0ICswOTAwCisrKysgaWJ1cy0xLjUuMS9zZXR1cC9rZXlib2FyZHNob3J0 Y3V0LnB5CTIwMTMtMDEtMTUgMTc6MDA6MTguMDM0MTYwNzYwICswOTAwCitAQCAtMjA3LDcgKzIw Nyw3IEBAIGNsYXNzIEtleWJvYXJkU2hvcnRjdXRTZWxlY3Rpb24oR3RrLlZCb3gKKyAgICAgZGVm IF9fc2V0X3NlbGVjdGVkX3Nob3J0Y3V0KHNlbGYsIHNob3J0Y3V0KToKKyAgICAgICAgIG1vZGVs ID0gc2VsZi5fX3Nob3J0Y3V0X3ZpZXcuZ2V0X21vZGVsKCkKKyAgICAgICAgIHBhdGgsIGNvbHVt biA9IHNlbGYuX19zaG9ydGN1dF92aWV3LmdldF9jdXJzb3IoKQorLSAgICAgICAgbW9kZWxbcGF0 aFswXV1bMF0gPSBzaG9ydGN1dAorKyAgICAgICAgbW9kZWxbcGF0aF1bMF0gPSBzaG9ydGN1dAor ICAgICAgICAgc2VsZi5fX3VwZGF0ZV9hZGRfYW5kX2FwcGx5X2J1dHRvbnMoKQorIAorICAgICBk ZWYgX19kZWxfc2VsZWN0ZWRfc2hvcnRjdXQoc2VsZik6CgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1n LXMtZGlzYWJsZS1wcmVlZGl0LnBhdGNoIGIvaWJ1cy14eC1nLXMtZGlzYWJsZS1wcmVlZGl0LnBh dGNoCmluZGV4IDZiYzYyY2MuLmU1YzVlMzYgMTAwNjQ0Ci0tLSBhL2lidXMteHgtZy1zLWRpc2Fi bGUtcHJlZWRpdC5wYXRjaAorKysgYi9pYnVzLXh4LWctcy1kaXNhYmxlLXByZWVkaXQucGF0Y2gK QEAgLTEyLDEwICsxMiwxMCBAQCBkaWZmIC0tZ2l0IGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4 dC5jIGIvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCiBpbmRleCA1ODRiOTJkLi5jNGM2MWQz IDEwMDY0NAogLS0tIGEvY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jCiArKysgYi9jbGllbnQv Z3RrMi9pYnVzaW1jb250ZXh0LmMKLUBAIC01ODQsNiArNTg0LDE0IEBAIGlidXNfaW1fY29udGV4 dF9pbml0IChHT2JqZWN0ICpvYmopCi0gI2Vsc2UKLSAgICAgaWJ1c2ltY29udGV4dC0+Y2FwcyA9 IElCVVNfQ0FQX1BSRUVESVRfVEVYVCB8IElCVVNfQ0FQX0ZPQ1VTOwotICNlbmRpZgorQEAgLTY0 NSw2ICs2NDUsMTUgQEAgaWJ1c19pbV9jb250ZXh0X2luaXQgKEdPYmplY3QgKm9iaikKKyAKKyAg ICAgaWJ1c2ltY29udGV4dC0+ZXZlbnRzX3F1ZXVlID0gZ19xdWV1ZV9uZXcgKCk7CisgCiArICAg IGlmICghZ19nZXRlbnYgKCJJQlVTX0dOT01FX1NIRUxMX0VOQUJMRV9QUkVFRElUX1RFWFQiKSkg ewogKyAgICAgICAgY29uc3QgZ2NoYXIgKiBwcmduYW1lID0gZ19nZXRfcHJnbmFtZSAoKTsKICsg ICAgICAgIGlmIChnX3N0cmNtcDAgKHByZ25hbWUsICJnbm9tZS1zaGVsbCIpID09IDApIHsKQEAg LTI0LDkgKzI0LDEwIEBAIGluZGV4IDU4NGI5MmQuLmM0YzYxZDMgMTAwNjQ0CiArICAgICAgICAg ICAgfQogKyAgICAgICAgfQogKyAgICB9Ci0gCi0gCisrCiAgICAgIC8vIENyZWF0ZSBzbGF2ZSBp bSBjb250ZXh0CisgICAgIGlidXNpbWNvbnRleHQtPnNsYXZlID0gZ3RrX2ltX2NvbnRleHRfc2lt cGxlX25ldyAoKTsKKyAgICAgZ3RrX2ltX2NvbnRleHRfc2ltcGxlX2FkZF90YWJsZSAoR1RLX0lN X0NPTlRFWFRfU0lNUExFIChpYnVzaW1jb250ZXh0LT5zbGF2ZSksCiAtLSAKIDEuNy4xMC40CiAK CmRpZmYgLS1naXQgYS9pYnVzLXh4LW5vLXVzZS5kaWZmIGIvaWJ1cy14eC1uby11c2UuZGlmZgpk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZGY5OTZjOS4uMDAwMDAwMAotLS0gYS9pYnVz LXh4LW5vLXVzZS5kaWZmCisrKyAvZGV2L251bGwKQEAgLTEsNDg0ICswLDAgQEAKLUZyb20gZmRl YzU5NTQ1ZmI5NGY3NjhjODQ3NzMwODU0Y2EwM2M1YWYyZjY1MiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6 IEZyaSwgNyBEZWMgMjAxMiAxNzo1OTo0OSArMDkwMAotU3ViamVjdDogW1BBVENIXSBEaXNhYmxl ZCB0byBzaG93IG5vbi11c2VkIEdVSS4KLQotLS0tCi0gc2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5w eSB8IDkwICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0g c2V0dXAvbWFpbi5weSAgICAgICAgICAgICB8IDQ1ICsrKysrKysrKysrKystLS0tLS0tLS0tLQot IHNldHVwL3NldHVwLnVpICAgICAgICAgICAgfCA1MSArKysrKysrKysrKysrKysrKy0tLS0tLS0t LS0KLSAzIGZpbGVzIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCA4MyBkZWxldGlvbnMoLSkK LQotZGlmZiAtLWdpdCBhL3NldHVwL2tleWJvYXJkc2hvcnRjdXQucHkgYi9zZXR1cC9rZXlib2Fy ZHNob3J0Y3V0LnB5Ci1pbmRleCAzODYxZDJmLi45MzQ5ZTQyIDEwMDY0NAotLS0tIGEvc2V0dXAv a2V5Ym9hcmRzaG9ydGN1dC5weQotKysrIGIvc2V0dXAva2V5Ym9hcmRzaG9ydGN1dC5weQotQEAg LTEwMyw5ICsxMDMsOCBAQCBjbGFzcyBLZXlib2FyZFNob3J0Y3V0U2VsZWN0aW9uKEd0ay5WQm94 KToKLSAgICAgICAgIHNlbGYuX19tb2RpZmllcl9idXR0b25zLmFwcGVuZCgoIkh5cGVyIiwKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLkNoZWNrQnV0dG9uLm5l d193aXRoX21uZW1vbmljKCJfSHlwZXIiKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5IWVBFUl9NQVNLKSkKLS0gICAgICAgIHNlbGYu X19tb2RpZmllcl9idXR0b25zLmFwcGVuZCgoIkNhcHNsb2NrIiwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR3RrLkNoZWNrQnV0dG9uLm5ld193aXRoX21uZW1vbmlj KCJDYXBzbG9jX2siKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R2RrLk1vZGlmaWVyVHlwZS5MT0NLX01BU0spKQotKyAgICAgICAgIyA8Q2Fwc0xvY2s+IGlzIG5v dCBwYXJzZWQgYnkgZ3RrX2FjY2VsZXJhdG9yX3BhcnNlKCkKLSsgICAgICAgICMgRklYTUU6IE5l ZWQgdG8gY2hlY2sgaWYgaWJ1cyBndGsgcGFuZWwgY2FuIGVuYWJsZSA8UmVsZWFzZT4uCi0gICAg ICAgICBzZWxmLl9fbW9kaWZpZXJfYnV0dG9ucy5hcHBlbmQoKCJSZWxlYXNlIiwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLkNoZWNrQnV0dG9uLm5ld193aXRo X21uZW1vbmljKCJfUmVsZWFzZSIpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLlJFTEVBU0VfTUFTSykpCi1AQCAtMTE5LDcgKzExOCw2 IEBAIGNsYXNzIEtleWJvYXJkU2hvcnRjdXRTZWxlY3Rpb24oR3RrLlZCb3gpOgotICAgICAgICAg dGFibGUuYXR0YWNoKHNlbGYuX19tb2RpZmllcl9idXR0b25zWzRdWzFdLCAwLCAxLCAxLCAyKQot ICAgICAgICAgdGFibGUuYXR0YWNoKHNlbGYuX19tb2RpZmllcl9idXR0b25zWzVdWzFdLCAxLCAy LCAxLCAyKQotICAgICAgICAgdGFibGUuYXR0YWNoKHNlbGYuX19tb2RpZmllcl9idXR0b25zWzZd WzFdLCAyLCAzLCAxLCAyKQotLSAgICAgICAgdGFibGUuYXR0YWNoKHNlbGYuX19tb2RpZmllcl9i dXR0b25zWzddWzFdLCAzLCA0LCAxLCAyKQotICAgICAgICAgaGJveC5wYWNrX3N0YXJ0KHRhYmxl LCBUcnVlLCBUcnVlLCA0KQotICAgICAgICAgc2VsZi5wYWNrX3N0YXJ0KGhib3gsIEZhbHNlLCBU cnVlLCA0KQotIAotQEAgLTE4NSwxOSArMTgzLDIwIEBAIGNsYXNzIEtleWJvYXJkU2hvcnRjdXRT ZWxlY3Rpb24oR3RrLlZCb3gpOgotICAgICAgICAgICAgICAgICBtb2RpZmllcnMuYXBwZW5kKG5h bWUpCi0gICAgICAgICBpZiBrZXljb2RlLnN0YXJ0c3dpdGgoIl8iKToKLSAgICAgICAgICAgICBr ZXljb2RlID0ga2V5Y29kZVsxOl0KLS0gICAgICAgIGtleXMgPSBtb2RpZmllcnMgKyBba2V5Y29k ZV0KLS0gICAgICAgIHNob3J0Y3V0ID0gIisiLmpvaW4oa2V5cykKLSsgICAgICAgIHNob3J0Y3V0 ID0gIiIuam9pbihtYXAobGFtYmRhIG06ICc8JyArIG0gKyAnPicsIG1vZGlmaWVycykpCi0rICAg ICAgICBzaG9ydGN1dCArPSBrZXljb2RlCi0gICAgICAgICByZXR1cm4gc2hvcnRjdXQKLSAKLSAg ICAgZGVmIF9fc2V0X3Nob3J0Y3V0X3RvX2J1dHRvbnMoc2VsZiwgc2hvcnRjdXQpOgotLSAgICAg ICAga2V5cyA9IHNob3J0Y3V0LnNwbGl0KCIrIikKLS0gICAgICAgIG1vZHMgPSBrZXlzWzotMV0K LSsgICAgICAgIChrZXl2YWwsIHN0YXRlKSA9IEd0ay5hY2NlbGVyYXRvcl9wYXJzZShzaG9ydGN1 dCkKLSsgICAgICAgIGlmIGtleXZhbCA9PSAwIGFuZCBzdGF0ZSA9PSAwOgotKyAgICAgICAgICAg IHJldHVybgotICAgICAgICAgZm9yIG5hbWUsIGJ1dHRvbiwgbWFzayBpbiBzZWxmLl9fbW9kaWZp ZXJfYnV0dG9uczoKLS0gICAgICAgICAgICBpZiBuYW1lIGluIG1vZHM6Ci0rICAgICAgICAgICAg aWYgc3RhdGUgJiBtYXNrOgotICAgICAgICAgICAgICAgICBidXR0b24uc2V0X2FjdGl2ZShUcnVl KQotICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAgICAgICAgIGJ1dHRvbi5zZXRfYWN0aXZl KEZhbHNlKQotLSAgICAgICAgc2VsZi5fX2tleWNvZGVfZW50cnkuc2V0X3RleHQoa2V5c1stMV0p Ci0rICAgICAgICBzZWxmLl9fa2V5Y29kZV9lbnRyeS5zZXRfdGV4dChzaG9ydGN1dC5yc3BsaXQo Jz4nLCAxKVstMV0pCi0gCi0gICAgIGRlZiBfX2dldF9zZWxlY3RlZF9zaG9ydGN1dChzZWxmKToK LSAgICAgICAgIG1vZGVsID0gc2VsZi5fX3Nob3J0Y3V0X3ZpZXcuZ2V0X21vZGVsKCkKLUBAIC0y NTIsNDkgKzI1MSw1MiBAQCBjbGFzcyBLZXlib2FyZFNob3J0Y3V0U2VsZWN0aW9uKEd0ay5WQm94 KToKLSAgICAgICAgIG1lc3NhZ2UgPSBfKCJQbGVhc2UgcHJlc3MgYSBrZXkgKG9yIGEga2V5IGNv bWJpbmF0aW9uKS5cblRoZSBkaWFsb2cgd2lsbCBiZSBjbG9zZWQgd2hlbiB0aGUga2V5IGlzIHJl bGVhc2VkLiIpCi0gICAgICAgICBkbGcuc2V0X21hcmt1cChtZXNzYWdlKQotICAgICAgICAgZGxn LnNldF90aXRsZShfKCJQbGVhc2UgcHJlc3MgYSBrZXkgKG9yIGEga2V5IGNvbWJpbmF0aW9uKSIp KQotLQotLSAgICAgICAgZGVmIF9fa2V5X3ByZXNzX2V2ZW50KGQsIGssIG91dCk6Ci0tICAgICAg ICAgICAgb3V0LmFwcGVuZChrLmNvcHkoKSkKLS0KLS0gICAgICAgIGRlZiBfX2tleV9yZWxlYXNl X2V2ZW50KGQsIGssIG91dCk6Ci0tICAgICAgICAgICAgZC5yZXNwb25zZShHdGsuUmVzcG9uc2VU eXBlLk9LKQotLQotLSAgICAgICAgZGxnLmNvbm5lY3QoImtleS1wcmVzcy1ldmVudCIsIF9fa2V5 X3ByZXNzX2V2ZW50LCBvdXQpCi0tICAgICAgICBkbGcuY29ubmVjdCgia2V5LXJlbGVhc2UtZXZl bnQiLCBfX2tleV9yZWxlYXNlX2V2ZW50LCBOb25lKQotKyAgICAgICAgc3cgPSBHdGsuU2Nyb2xs ZWRXaW5kb3coKQotKwotKyAgICAgICAgZGVmIF9fYWNjZWxfZWRpdGVkX2NiKGMsIHBhdGgsIGtl eXZhbCwgc3RhdGUsIGtleWNvZGUpOgotKyAgICAgICAgICAgIG91dC5hcHBlbmQoa2V5dmFsKQot KyAgICAgICAgICAgIG91dC5hcHBlbmQoc3RhdGUpCi0rICAgICAgICAgICAgb3V0LmFwcGVuZChr ZXljb2RlKQotKyAgICAgICAgICAgIGRsZy5yZXNwb25zZShHdGsuUmVzcG9uc2VUeXBlLk9LKQot KwotKyAgICAgICAgbW9kZWwgPSBHdGsuTGlzdFN0b3JlKEdPYmplY3QuVFlQRV9JTlQsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR09iamVjdC5UWVBFX1VJTlQsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR09iamVjdC5UWVBFX1VJTlQpCi0rICAgICAgICBhY2NlbF92 aWV3ID0gR3RrLlRyZWVWaWV3KG1vZGVsKQotKyAgICAgICAgc3cuYWRkKGFjY2VsX3ZpZXcpCi0r ICAgICAgICBjb2x1bW4gPSBHdGsuVHJlZVZpZXdDb2x1bW4oKQotKyAgICAgICAgcmVuZGVyZXIg PSBHdGsuQ2VsbFJlbmRlcmVyQWNjZWwoYWNjZWxfbW9kZT1HdGsuQ2VsbFJlbmRlcmVyQWNjZWxN b2RlLk9USEVSLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRp dGFibGU9VHJ1ZSkKLSsgICAgICAgIHJlbmRlcmVyLmNvbm5lY3QoJ2FjY2VsLWVkaXRlZCcsIF9f YWNjZWxfZWRpdGVkX2NiKQotKyAgICAgICAgY29sdW1uLnBhY2tfc3RhcnQocmVuZGVyZXIsIFRy dWUpCi0rICAgICAgICBjb2x1bW4uYWRkX2F0dHJpYnV0ZShyZW5kZXJlciwgJ2FjY2VsLW1vZHMn LCAwKQotKyAgICAgICAgY29sdW1uLmFkZF9hdHRyaWJ1dGUocmVuZGVyZXIsICdhY2NlbC1rZXkn LCAxKQotKyAgICAgICAgY29sdW1uLmFkZF9hdHRyaWJ1dGUocmVuZGVyZXIsICdrZXljb2RlJywg MikKLSsgICAgICAgIGFjY2VsX3ZpZXcuYXBwZW5kX2NvbHVtbihjb2x1bW4pCi0rICAgICAgICBp dCA9IG1vZGVsLmFwcGVuZChOb25lKQotKyAgICAgICAgYXJlYSA9IGRsZy5nZXRfbWVzc2FnZV9h cmVhKCkKLSsgICAgICAgIGFyZWEucGFja19lbmQoc3csIFRydWUsIFRydWUsIDApCi0rICAgICAg ICBzdy5zaG93X2FsbCgpCi0gICAgICAgICBpZCA9IGRsZy5ydW4oKQotICAgICAgICAgZGxnLmRl c3Ryb3koKQotLSAgICAgICAgaWYgaWQgIT0gR3RrLlJlc3BvbnNlVHlwZS5PSyBvciBub3Qgb3V0 OgotKyAgICAgICAgaWYgaWQgIT0gR3RrLlJlc3BvbnNlVHlwZS5PSyBvciBsZW4ob3V0KSA8IDM6 Ci0gICAgICAgICAgICAgcmV0dXJuCi0tICAgICAgICBrZXlldmVudCA9IG91dFtsZW4ob3V0KSAt IDFdCi0tICAgICAgICBzdGF0ZSA9IGtleWV2ZW50LnN0YXRlICYgKEdkay5Nb2RpZmllclR5cGUu Q09OVFJPTF9NQVNLIHwgXAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGsu TW9kaWZpZXJUeXBlLlNISUZUX01BU0sgICB8IFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgR2RrLk1vZGlmaWVyVHlwZS5NT0QxX01BU0sgICAgfCBcCi0tICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEdkay5Nb2RpZmllclR5cGUuTUVUQV9NQVNLICAgIHwgXAot LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHZGsuTW9kaWZpZXJUeXBlLlNVUEVS X01BU0sgICB8IFwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2RrLk1vZGlm aWVyVHlwZS5IWVBFUl9NQVNLKQotLQotLQotLSAgICAgICAgaWYgc3RhdGUgPT0gMDoKLS0gICAg ICAgICAgICBzdGF0ZSA9IHN0YXRlIHwgR2RrLk1vZGlmaWVyVHlwZS5SRUxFQVNFX01BU0sKLS0g ICAgICAgIGVsaWYga2V5ZXZlbnQua2V5dmFsIGluIChHZGsuS0VZX0NvbnRyb2xfTCwgR2RrLktF WV9Db250cm9sX1IpIGFuZCBzdGF0ZSA9PSBHZGsuTW9kaWZpZXJUeXBlLkNPTlRST0xfTUFTSzoK LS0gICAgICAgICAgICBzdGF0ZSA9IHN0YXRlIHwgR2RrLk1vZGlmaWVyVHlwZS5SRUxFQVNFX01B U0sKLS0gICAgICAgIGVsaWYga2V5ZXZlbnQua2V5dmFsIGluIChHZGsuS0VZX1NoaWZ0X0wsIEdk ay5LRVlfU2hpZnRfUikgYW5kIHN0YXRlID09IEdkay5Nb2RpZmllclR5cGUuU0hJRlRfTUFTSzoK LS0gICAgICAgICAgICBzdGF0ZSA9IHN0YXRlIHwgR2RrLk1vZGlmaWVyVHlwZS5SRUxFQVNFX01B U0sKLS0gICAgICAgIGVsaWYga2V5ZXZlbnQua2V5dmFsIGluIChHZGsuS0VZX0FsdF9MLCBHZGsu S0VZX0FsdF9SKSBhbmQgc3RhdGUgPT0gR2RrLk1vZGlmaWVyVHlwZS5NT0QxX01BU0s6Ci0tICAg ICAgICAgICAgc3RhdGUgPSBzdGF0ZSB8IEdkay5Nb2RpZmllclR5cGUuUkVMRUFTRV9NQVNLCi0t ICAgICAgICBlbGlmIGtleWV2ZW50LmtleXZhbCBpbiAoR2RrLktFWV9NZXRhX0wsIEdkay5LRVlf TWV0YV9SKSBhbmQgc3RhdGUgPT0gR2RrLk1vZGlmaWVyVHlwZS5NRVRBX01BU0s6Ci0tICAgICAg ICAgICAgc3RhdGUgPSBzdGF0ZSB8IEdkay5Nb2RpZmllclR5cGUuUkVMRUFTRV9NQVNLCi0tICAg ICAgICBlbGlmIGtleWV2ZW50LmtleXZhbCBpbiAoR2RrLktFWV9TdXBlcl9MLCBHZGsuS0VZX1N1 cGVyX1IpIGFuZCBzdGF0ZSA9PSBHZGsuTW9kaWZpZXJUeXBlLlNVUEVSX01BU0s6Ci0tICAgICAg ICAgICAgc3RhdGUgPSBzdGF0ZSB8IEdkay5Nb2RpZmllclR5cGUuUkVMRUFTRV9NQVNLCi0tICAg ICAgICBlbGlmIGtleWV2ZW50LmtleXZhbCBpbiAoR2RrLktFWV9IeXBlcl9MLCBHZGsuS0VZX0h5 cGVyX1IpIGFuZCBzdGF0ZSA9PSBHZGsuTW9kaWZpZXJUeXBlLkhZUEVSX01BU0s6Ci0tICAgICAg ICAgICAgc3RhdGUgPSBzdGF0ZSB8IEdkay5Nb2RpZmllclR5cGUuUkVMRUFTRV9NQVNLCi0rICAg ICAgICBrZXl2YWwgPSBvdXRbMF0KLSsgICAgICAgIHN0YXRlID0gb3V0WzFdCi0rICAgICAgICBr ZXljb2RlID0gb3V0WzJdCi0gCi0gICAgICAgICBmb3IgbmFtZSwgYnV0dG9uLCBtYXNrIGluIHNl bGYuX19tb2RpZmllcl9idXR0b25zOgotICAgICAgICAgICAgIGlmIHN0YXRlICYgbWFzazoKLSAg ICAgICAgICAgICAgICAgYnV0dG9uLnNldF9hY3RpdmUoVHJ1ZSkKLSAgICAgICAgICAgICBlbHNl OgotICAgICAgICAgICAgICAgICBidXR0b24uc2V0X2FjdGl2ZShGYWxzZSkKLS0gICAgICAgIHNl bGYuX19rZXljb2RlX2VudHJ5LnNldF90ZXh0KEdkay5rZXl2YWxfbmFtZShrZXlldmVudC5rZXl2 YWwpKQotKwotKyAgICAgICAgc2hvcnRjdXQgPSBHdGsuYWNjZWxlcmF0b3JfbmFtZV93aXRoX2tl eWNvZGUoTm9uZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGtleXZhbCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGtleWNvZGUsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZSkKLSsgICAgICAgIHNob3J0Y3V0ID0gc2hvcnRj dXQucmVwbGFjZSgnPFByaW1hcnk+JywgJzxDb250cm9sPicpCi0rICAgICAgICBzZWxmLl9fa2V5 Y29kZV9lbnRyeS5zZXRfdGV4dChzaG9ydGN1dC5yc3BsaXQoJz4nLCAxKVstMV0pCi0gCi0gICAg IGRlZiBfX2FkZF9idXR0b25fY2xpY2tlZF9jYihzZWxmLCBidXR0b24pOgotICAgICAgICAgc2hv cnRjdXQgPSBzZWxmLl9fZ2V0X3Nob3J0Y3V0X2Zyb21fYnV0dG9ucygpCi1kaWZmIC0tZ2l0IGEv c2V0dXAvbWFpbi5weSBiL3NldHVwL21haW4ucHkKLWluZGV4IDQ2MjA5YjYuLmFhOGU5MzUgMTAw NjQ0Ci0tLS0gYS9zZXR1cC9tYWluLnB5Ci0rKysgYi9zZXR1cC9tYWluLnB5Ci1AQCAtOTIsMjIg KzkyLDI0IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6Ci0gICAgICAgICBzZWxmLl9faW5pdF91aSgp Ci0gCi0gICAgIGRlZiBfX2luaXRfaG90a2V5KHNlbGYpOgotLSAgICAgICAgZGVmYXVsdF92YWx1 ZXMgPSB7Ci0tICAgICAgICAgICAgInRyaWdnZXIiIDogKE5fKCJ0cmlnZ2VyIiksIFsiQ29udHJv bCtzcGFjZSJdKSwKLS0gICAgICAgICAgICAiZW5hYmxlX3VuY29uZGl0aW9uYWwiIDogKE5fKCJl bmFibGUiKSwgW10pLAotLSAgICAgICAgICAgICJkaXNhYmxlX3VuY29uZGl0aW9uYWwiIDogKE5f KCJkaXNhYmxlIiksIFtdKQotLSAgICAgICAgfQotLQotLSAgICAgICAgdmFsdWVzID0gZGljdChz ZWxmLl9fY29uZmlnLmdldF92YWx1ZXMoImdlbmVyYWwvaG90a2V5IikpCi0tCi0tICAgICAgICBm b3IgbmFtZSwgKGxhYmVsLCBzaG9ydGN1dHMpIGluIGRlZmF1bHRfdmFsdWVzLml0ZW1zKCk6Ci0t ICAgICAgICAgICAgc2hvcnRjdXRzID0gdmFsdWVzLmdldChuYW1lLCBzaG9ydGN1dHMpCi0tICAg ICAgICAgICAgYnV0dG9uID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgiYnV0dG9uXyVzIiAl IG5hbWUpCi0tICAgICAgICAgICAgZW50cnkgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KCJl bnRyeV8lcyIgJSBuYW1lKQotLSAgICAgICAgICAgIGVudHJ5LnNldF90ZXh0KCI7ICIuam9pbihz aG9ydGN1dHMpKQotLSAgICAgICAgICAgIGVudHJ5LnNldF90b29sdGlwX3RleHQoIlxuIi5qb2lu KHNob3J0Y3V0cykpCi0tICAgICAgICAgICAgYnV0dG9uLmNvbm5lY3QoImNsaWNrZWQiLCBzZWxm Ll9fc2hvcnRjdXRfYnV0dG9uX2NsaWNrZWRfY2IsCi0tICAgICAgICAgICAgICAgICAgICBsYWJl bCwgImdlbmVyYWwvaG90a2V5IiwgbmFtZSwgZW50cnkpCi0rICAgICAgICBuYW1lID0gJ3RyaWdn ZXJfYWNjZWwnCi0rICAgICAgICBsYWJlbCA9ICdzd2l0Y2hfZW5naW5lJwotKyAgICAgICAgdmFy aWFudCA9IHNlbGYuX19jb25maWcuZ2V0X3ZhbHVlKCdnZW5lcmFsL2hvdGtleScsIG5hbWUpCi0r ICAgICAgICBpZiB2YXJpYW50ICE9IE5vbmU6Ci0rICAgICAgICAgICAgc2hvcnRjdXRzID0gdmFy aWFudC51bnBhY2soKQotKyAgICAgICAgZWxzZToKLSsgICAgICAgICAgICBzaG9ydGN1dHMgPSAg Wyc8Q29udHJvbD5zcGFjZSddCi0rCi0rICAgICAgICBidXR0b24gPSBzZWxmLl9fYnVpbGRlci5n ZXRfb2JqZWN0KCJidXR0b25fJXMiICUgbGFiZWwpCi0rICAgICAgICBlbnRyeSA9IHNlbGYuX19i dWlsZGVyLmdldF9vYmplY3QoImVudHJ5XyVzIiAlIGxhYmVsKQotKyAgICAgICAgZW50cnkuc2V0 X3RleHQoIjsgIi5qb2luKHNob3J0Y3V0cykpCi0rICAgICAgICB0b29sdGlwID0gIlxuIi5qb2lu KHNob3J0Y3V0cykKLSsgICAgICAgIHRvb2x0aXAgKz0gIlxuIiArIFwKLSsgICAgICAgICAgICBf KCJVc2Ugc2hvcnRjdXQgd2l0aCBzaGlmdCB0byBzd2l0Y2ggdG8gdGhlIHByZXZpb3VzIGlucHV0 IG1ldGhvZCIpCi0rCi0rICAgICAgICBlbnRyeS5zZXRfdG9vbHRpcF90ZXh0KHRvb2x0aXApCi0r ICAgICAgICBidXR0b24uY29ubmVjdCgiY2xpY2tlZCIsIHNlbGYuX19zaG9ydGN1dF9idXR0b25f Y2xpY2tlZF9jYiwKLSsgICAgICAgICAgICAgICAgbmFtZSwgImdlbmVyYWwvaG90a2V5IiwgbGFi ZWwsIGVudHJ5KQotIAotICAgICBkZWYgX19pbml0X3BhbmVsKHNlbGYpOgotICAgICAgICAgdmFs dWVzID0gZGljdChzZWxmLl9fY29uZmlnLmdldF92YWx1ZXMoInBhbmVsIikpCi1AQCAtNDQ5LDcg KzQ1MSw4IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6Ci0gICAgIGRlZiBfX3Nob3J0Y3V0X2J1dHRv bl9jbGlja2VkX2NiKHNlbGYsIGJ1dHRvbiwgbmFtZSwgc2VjdGlvbiwgX25hbWUsIGVudHJ5KToK LSAgICAgICAgIGJ1dHRvbnMgPSAoR3RrLlNUT0NLX0NBTkNFTCwgR3RrLlJlc3BvbnNlVHlwZS5D QU5DRUwsCi0gICAgICAgICAgICAgICAgIEd0ay5TVE9DS19PSywgR3RrLlJlc3BvbnNlVHlwZS5P SykKLS0gICAgICAgIHRpdGxlID0gXygiU2VsZWN0IGtleWJvYXJkIHNob3J0Y3V0IGZvciAlcyIp ICUgIF8obmFtZSkKLSsgICAgICAgIHRpdGxlID0gXygiU2VsZWN0IGtleWJvYXJkIHNob3J0Y3V0 IGZvciAlcyIpICUgXAotKyAgICAgICAgICAgICAgICBfKCJzd2l0Y2hpbmcgaW5wdXQgbWV0aG9k cyIpCi0gICAgICAgICBkaWFsb2cgPSBrZXlib2FyZHNob3J0Y3V0LktleWJvYXJkU2hvcnRjdXRT ZWxlY3Rpb25EaWFsb2coYnV0dG9ucyA9IGJ1dHRvbnMsIHRpdGxlID0gdGl0bGUpCi0gICAgICAg ICB0ZXh0ID0gZW50cnkuZ2V0X3RleHQoKQotICAgICAgICAgaWYgdGV4dDoKLUBAIC00NjIsMTEg KzQ2NSwxMyBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgotICAgICAgICAgZGlhbG9nLmRlc3Ryb3ko KQotICAgICAgICAgaWYgaWQgIT0gR3RrLlJlc3BvbnNlVHlwZS5PSzoKLSAgICAgICAgICAgICBy ZXR1cm4KLS0gICAgICAgIHNlbGYuX19jb25maWcuc2V0X3ZhbHVlKHNlY3Rpb24sIF9uYW1lLCBH TGliLlZhcmlhbnQubmV3X3N0cnYoc2hvcnRjdXRzKSkKLSsgICAgICAgIHNlbGYuX19jb25maWcu c2V0X3ZhbHVlKHNlY3Rpb24sIG5hbWUsIEdMaWIuVmFyaWFudC5uZXdfc3RydihzaG9ydGN1dHMp KQotICAgICAgICAgdGV4dCA9ICI7ICIuam9pbihzaG9ydGN1dHMpCi0gICAgICAgICBlbnRyeS5z ZXRfdGV4dCh0ZXh0KQotLSAgICAgICAgZW50cnkuc2V0X3Rvb2x0aXBfdGV4dCh0ZXh0KQotLQot KyAgICAgICAgdG9vbHRpcCA9ICJcbiIuam9pbihzaG9ydGN1dHMpCi0rICAgICAgICB0b29sdGlw ICs9ICJcbiIgKyBcCi0rICAgICAgICAgICAgXygiVXNlIHNob3J0Y3V0IHdpdGggc2hpZnQgdG8g c3dpdGNoIHRvIHRoZSBwcmV2aW91cyBpbnB1dCBtZXRob2QiKSAKLSsgICAgICAgIGVudHJ5LnNl dF90b29sdGlwX3RleHQodG9vbHRpcCkKLSAKLSAgICAgZGVmIF9faXRlbV9zdGFydGVkX2NvbHVt bl90b2dnbGVkX2NiKHNlbGYsIGNlbGwsIHBhdGhfc3RyLCBtb2RlbCk6Ci0gCi1kaWZmIC0tZ2l0 IGEvc2V0dXAvc2V0dXAudWkgYi9zZXR1cC9zZXR1cC51aQotaW5kZXggMjAyNjE3Mi4uYWE0MTQ1 MyAxMDA2NDQKLS0tLSBhL3NldHVwL3NldHVwLnVpCi0rKysgYi9zZXR1cC9zZXR1cC51aQotQEAg LTEyMSw4ICsxMjEsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGls ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJl bDkiPgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ic2Vuc2l0aXZlIj5GYWxzZTwvcHJvcGVydHk+Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3df YWxsIj5UcnVlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0aXBfdGV4dCIg dHJhbnNsYXRhYmxlPSJ5ZXMiPlRoZSBzaG9ydGN1dCBrZXlzIGZvciBzd2l0Y2hpbmcgdG8gcHJl dmlvdXMgaW5wdXQgbWV0aG9kIGluIHRoZSBsaXN0PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9wcm9wZXJ0 eT4KLUBAIC0xMzcsNyArMTM2LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvY2hpbGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0hCb3giIGlk PSJoYm94NCI+Ci0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+ Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNh bl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzcGFjaW5nIj42PC9wcm9wZXJ0eT4KLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+Ci1AQCAtMTcyLDYgKzE3MSw3IEBACi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYWNraW5nPgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MTwv cHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9InJpZ2h0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3Bl cnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPGNoaWxkPgotQEAgLTE4MCw3ICsxODAsNyBAQAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNl PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ic3BhY2luZyI+NjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPGNoaWxkPgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPG9iamVjdCBjbGFzcz0iR3RrRW50cnkiIGlkPSJlbnRyeV9uZXh0X2VuZ2luZSI+Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtFbnRy eSIgaWQ9ImVudHJ5X3N3aXRjaF9lbmdpbmUiPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJj YW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZWRpdGFibGUiPkZhbHNlPC9wcm9wZXJ0eT4KLUBA IC0xOTIsNyArMTkyLDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDwvcGFja2luZz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxk PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0J1dHRvbiIg aWQ9ImJ1dHRvbl9uZXh0X2VuZ2luZSI+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtCdXR0b24iIGlkPSJidXR0b25fc3dpdGNoX2VuZ2lu ZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPi4uLjwvcHJvcGVydHk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2VfYWN0aW9u X2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5Pgot QEAgLTIxMywxNyArMjEzLDE3IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InJpZ2h0X2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjM8 L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJib3R0b21fYXR0YWNoIj40PC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieV9vcHRpb25zIj5HVEtfRklMTDwvcHJv cGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFja2luZz4KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8Y2hpbGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxvYmplY3QgY2xhc3M9Ikd0a0hCb3giIGlkPSJoYm94NiI+Ci0tICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3Bl cnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5Pgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzcGFj aW5nIj42PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 Y2hpbGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNs YXNzPSJHdGtFbnRyeSIgaWQ9ImVudHJ5X3ByZXZfZW5naW5lIj4KLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3By b3BlcnR5PgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ic2Vuc2l0aXZlIj5GYWxzZTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwv cHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZWRpdGFibGUiPkZhbHNlPC9w cm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0 PgotQEAgLTIzNyw4ICsyMzcsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQnV0dG9uIiBpZD0iYnV0dG9uX3ByZXZfZW5naW5lIj4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+Li4uPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25fYXBw ZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5PgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci0tICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzZW5z aXRpdmUiPkZhbHNlPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9wZXJ0eT4KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNh bl9mb2N1cyI+VHJ1ZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyZWNlaXZlc19kZWZhdWx0Ij5GYWxzZTwvcHJvcGVy dHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ1c2VfYWN0aW9uX2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KLUBAIC0yNTYsMTEg KzI1NSwxMiBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJyaWdodF9hdHRhY2giPjI8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj40PC9wcm9wZXJ0eT4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iYm90 dG9tX2F0dGFjaCI+NTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0 IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsNyI+Ci0tICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93 X2FsbCI+VHJ1ZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5PgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sdGlwX3RleHQi IHRyYW5zbGF0YWJsZT0ieWVzIj5UaGUgc2hvcnRjdXQga2V5cyBmb3IgdHVybmluZyBpbnB1dCBt ZXRob2Qgb24gb3Igb2ZmPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4wPC9wcm9wZXJ0eT4KLUBAIC0yNzMsNyAr MjczLDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWwxOCI+Ci0t ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2li bGUiPlRydWU8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFs c2U8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ4YWxpZ24iPjA8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPkVu YWJsZTo8L3Byb3BlcnR5PgotQEAgLTI4Nyw3ICsyODcsNyBAQAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxjaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFz cz0iR3RrSEJveCIgaWQ9Imhib3gyIj4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5U cnVlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InNwYWNpbmciPjY8L3Byb3BlcnR5 PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KLUBAIC0zMjQs MTEgKzMyNCwxMiBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJyaWdodF9hdHRhY2giPjI8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4xPC9wcm9wZXJ0 eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i Ym90dG9tX2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3BlcnR5Pgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2Jq ZWN0IGNsYXNzPSJHdGtMYWJlbCIgaWQ9ImxhYmVsMTkiPgotLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4K LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9f c2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieGFsaWduIj4w PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5EaXNhYmxlOjwvcHJvcGVydHk+Ci1A QCAtMzQyLDcgKzM0Myw3IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2No aWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtIQm94IiBpZD0iaGJv eDMiPgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3Byb3BlcnR5PgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9j dXMiPkZhbHNlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0ic3BhY2luZyI+NjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotQEAgLTM3OSw2ICszODAsNyBAQAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyaWdodF9hdHRh Y2giPjI8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iYm90dG9tX2F0dGFjaCI+MzwvcHJv cGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgotQEAg LTQzMSw2ICs0MzMsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29i amVjdD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inhfb3B0aW9u cyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ5X29wdGlvbnMiPkdUS19GSUxMPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxjaGlsZD4KLUBAIC00NDgsMTEgKzQ1MSwxMiBAQAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cGFja2luZz4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ibGVmdF9hdHRhY2giPjE8L3Byb3BlcnR5PgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyaWdodF9hdHRhY2gi PjI8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ5X29wdGlvbnMiPkdUS19GSUxMPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGls ZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3Rr TGFiZWwiIGlkPSJsYWJlbDEwIj4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVl PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0aXBfdGV4dCIgdHJhbnNsYXRh YmxlPSJ5ZXMiPlNldCB0aGUgYmVoYXZpb3Igb2YgaWJ1cyBob3cgdG8gc2hvdyBvciBoaWRlIGxh bmd1YWdlIGJhcjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InhhbGlnbiI+MDwvcHJvcGVydHk+Ci1AQCAtNDYzLDYgKzQ2Nyw3 IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 InRvcF9hdHRhY2giPjE8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3R0b21fYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ieF9vcHRpb25z Ij5HVEtfRklMTDwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGNoaWxkPgotQEAgLTQ3NywxMSArNDgyLDEyIEBACi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjI8L3Byb3BlcnR5Pgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3R0 b21fYXR0YWNoIj4zPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ieF9vcHRpb25zIj5HVEtfRklMTDwvcHJvcGVydHk+Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9u cyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDb21ib0JveCIgaWQ9ImNvbWJv Ym94X3BhbmVsX3Nob3ciPgotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8L3By b3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibW9kZWwiPm1vZGVsX3BhbmVsX3Nob3dfbW9k ZTwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxk PgotQEAgLTQ5Niw2ICs1MDIsNyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJyaWdodF9hdHRhY2giPjI8L3Byb3BlcnR5PgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4x PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0iYm90dG9tX2F0dGFjaCI+MjwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3By b3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPGNoaWxkPgotQEAgLTUxNSw2ICs1MjIsNyBAQAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJyaWdodF9hdHRhY2gi PjI8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJ0b3BfYXR0YWNoIj4yPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iYm90dG9tX2F0dGFjaCI+MzwvcHJvcGVy dHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 L2NoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotQEAgLTUz NCwxMyArNTQyLDE0IEBACi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjM8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3R0b21fYXR0YWNoIj40PC9wcm9w ZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0ieF9vcHRpb25zIj5HVEtfRklMTDwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9ucyI+R1RLX0ZJTEw8L3Byb3Bl cnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8b2JqZWN0IGNsYXNzPSJHdGtDaGVja0J1dHRvbiIgaWQ9ImNoZWNrYnV0dG9uX3Nob3dfaW1f bmFtZSI+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+U2hvdyBpbnB1dCBtZXRob2QgbmFtZSBvbiBs YW5ndWFnZSBiYXI8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2VfYWN0aW9uX2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0 eT4KLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9Im5vX3Nob3dfYWxsIj5UcnVlPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3Vz Ij5UcnVlPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0icmVjZWl2ZXNfZGVmYXVsdCI+RmFsc2U8L3Byb3BlcnR5PgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ0b29sdGlwX3Rl eHQiIHRyYW5zbGF0YWJsZT0ieWVzIj5TaG93IGlucHV0IG1ldGhvZCdzIG5hbWUgb24gbGFuZ3Vh Z2UgYmFyIHdoZW4gY2hlY2sgdGhlIGNoZWNrYm94PC9wcm9wZXJ0eT4KLUBAIC01NTMsNiArNTYy LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0idG9wX2F0dGFjaCI+NDwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImJvdHRvbV9hdHRhY2giPjU8L3Byb3BlcnR5PgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ4X29wdGlv bnMiPkdUS19GSUxMPC9wcm9wZXJ0eT4KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ieV9vcHRpb25zIj5HVEtfRklMTDwvcHJvcGVydHk+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcGFja2luZz4KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8Y2hpbGQ+Ci1AQCAtNTcyLDYgKzU4Miw3IEBACi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvcF9hdHRhY2giPjU8L3Byb3BlcnR5Pgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJib3R0 b21fYXR0YWNoIj42PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0ieF9vcHRpb25zIj5HVEtfRklMTDwvcHJvcGVydHk+Ci0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inlfb3B0aW9u cyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L3BhY2tpbmc+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxkPgotQEAgLTU5MCw2ICs2MDEs NyBAQAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJ0b3BfYXR0YWNoIj42PC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0iYm90dG9tX2F0dGFjaCI+NzwvcHJvcGVydHk+Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9Inhfb3B0aW9u cyI+R1RLX0ZJTEw8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJ5X29wdGlvbnMiPkdUS19GSUxMPC9wcm9wZXJ0eT4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxjaGlsZD4KLUBAIC02MDUsNiArNjE3LDcgQEAKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icmlnaHRfYXR0YWNoIj4yPC9wcm9wZXJ0eT4K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9w X2F0dGFjaCI+NjwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImJvdHRvbV9hdHRhY2giPjc8L3Byb3BlcnR5PgotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ5X29wdGlvbnMiPkdU S19GSUxMPC9wcm9wZXJ0eT4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9w YWNraW5nPgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KLUBAIC0xMDAxLDcgKzEwMTQsNyBA QCBZb3UgbWF5IHVzZSB1cC9kb3duIGJ1dHRvbnMgdG8gY2hhbmdlIGl0LiZsdDsvaSZndDsmbHQ7 L3NtYWxsJmd0OzwvcHJvcGVydHk+Ci0gICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgotICAg ICAgICAgICAgICAgICAgICAgPGNoaWxkPgotICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0 IGNsYXNzPSJHdGtGcmFtZSIgaWQ9ImZyYW1lNSI+Ci0tICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgotKyAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJub19zaG93X2FsbCI+VHJ1ZTwvcHJvcGVydHk+Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8 L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJl bF94YWxpZ24iPjA8L3Byb3BlcnR5PgotICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJzaGFkb3dfdHlwZSI+bm9uZTwvcHJvcGVydHk+Ci0tLSAKLTEuOC4wCi0KCmRpZmYg LS1naXQgYS9pYnVzLXh4LXNldHVwLWZyZXF1ZW50LWxhbmcucGF0Y2ggYi9pYnVzLXh4LXNldHVw LWZyZXF1ZW50LWxhbmcucGF0Y2gKaW5kZXggYmVkZGFkMy4uZDhkN2I0YiAxMDA2NDQKLS0tIGEv aWJ1cy14eC1zZXR1cC1mcmVxdWVudC1sYW5nLnBhdGNoCisrKyBiL2lidXMteHgtc2V0dXAtZnJl cXVlbnQtbGFuZy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gNThkNGM5NDZkYjMzOTY4OTdm MzZmNzFkMzNlOTM5ZGZiYmYwZWJlZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb20gN2M0 YzA0OGJkNWFjZWIxNWQ0NDA0MmM3MmZmOTMxZDBjMDVkNDQwZiBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KLURhdGU6 IFR1ZSwgMjcgTm92IDIwMTIgMTU6NTM6MzQgKzA5MDAKK0RhdGU6IEZyaSwgMTEgSmFuIDIwMTMg MjM6MDQ6NTMgKzA5MDAKIFN1YmplY3Q6IFtQQVRDSF0gRW5hYmxlIGlidXMtc2V0dXAgdG8gc2hv dyB0aGUgZnJlcXVlbnRseSB1c2VkIGxhbmd1YWdlcwogIG9ubHkgaW4gSU1FIGxpc3QuCiAKQEAg LTExLDEwICsxMSwxMCBAQCBTdWJqZWN0OiBbUEFUQ0hdIEVuYWJsZSBpYnVzLXNldHVwIHRvIHNo b3cgdGhlIGZyZXF1ZW50bHkgdXNlZCBsYW5ndWFnZXMKICAzIGZpbGVzIGNoYW5nZWQsIDMwMCBp bnNlcnRpb25zKCspLCAyNCBkZWxldGlvbnMoLSkKIAogZGlmZiAtLWdpdCBhL2RhdGEvaWJ1cy5z Y2hlbWFzLmluIGIvZGF0YS9pYnVzLnNjaGVtYXMuaW4KLWluZGV4IDY0ZjZmMzMuLjIzNzM5YWYg MTAwNjQ0CitpbmRleCA3ODMzOTU5Li43MmJjYzcyIDEwMDY0NAogLS0tIGEvZGF0YS9pYnVzLnNj aGVtYXMuaW4KICsrKyBiL2RhdGEvaWJ1cy5zY2hlbWFzLmluCi1AQCAtMzQ4LDYgKzM0OCwxNzQg QEAgc2Usc2ksc2ssc3ksc3koa3UpLHRoLHRqLHRyLHVhLHV6LHZuCitAQCAtMzI1LDYgKzMyNSwx NzQgQEAgc2Usc2ksc2ssc3ksc3koa3UpLHRoLHRqLHRyLHVhLHV6LHZuCiAgICAgICAgPC9sb2Nh bGU+CiAgICAgIDwvc2NoZW1hPgogICAgICA8c2NoZW1hPgpAQCAtMTkwLDcgKzE5MCw3IEBAIGlu ZGV4IDY0ZjZmMzMuLjIzNzM5YWYgMTAwNjQ0CiAgICAgICAgPGFwcGx5dG8+L2Rlc2t0b3AvaWJ1 cy9wYW5lbC9jdXN0b21fZm9udDwvYXBwbHl0bz4KICAgICAgICA8b3duZXI+aWJ1czwvb3duZXI+ CiBkaWZmIC0tZ2l0IGEvc2V0dXAvZW5naW5lY29tYm9ib3gucHkgYi9zZXR1cC9lbmdpbmVjb21i b2JveC5weQotaW5kZXggZjgwYjE2NC4uNTc4MDk4YyAxMDA2NDQKK2luZGV4IDBmOGE2YWUuLjk4 MjhlZTYgMTAwNjQ0CiAtLS0gYS9zZXR1cC9lbmdpbmVjb21ib2JveC5weQogKysrIGIvc2V0dXAv ZW5naW5lY29tYm9ib3gucHkKIEBAIC00NSw2ICs0NSw5IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94 KEd0ay5Db21ib0JveCk6CkBAIC0zNjIsNyArMzYyLDcgQEAgaW5kZXggZjgwYjE2NC4uNTc4MDk4 YyAxMDA2NDQKICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3Bl cnR5KCJ2aXNpYmxlIiwgVHJ1ZSkKICAgICAgICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHko InNlbnNpdGl2ZSIsIFRydWUpCi1AQCAtMTI0LDcgKzIxNSw4IEBAIGNsYXNzIEVuZ2luZUNvbWJv Qm94KEd0ay5Db21ib0JveCk6CitAQCAtMTE5LDcgKzIxMCw4IEBAIGNsYXNzIEVuZ2luZUNvbWJv Qm94KEd0ay5Db21ib0JveCk6CiAgICAgICAgICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJw aXhidWYiLCBwaXhidWYpCiAgCiAgICAgIGRlZiBfX25hbWVfY2VsbF9kYXRhX2NiKHNlbGYsIGNl bGxsYXlvdXQsIHJlbmRlcmVyLCBtb2RlbCwgaXRlciwgZGF0YSk6CkBAIC0zNzIsNyArMzcyLDcg QEAgaW5kZXggZjgwYjE2NC4uNTc4MDk4YyAxMDA2NDQKICAKICAgICAgICAgIGlmIGlzaW5zdGFu Y2UgKGVuZ2luZSwgc3RyKSBvciBpc2luc3RhbmNlIChlbmdpbmUsIHVuaWNvZGUpOgogICAgICAg ICAgICAgIHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgRmFsc2UpCi1AQCAtMTMy LDggKzIyNCwxNSBAQCBjbGFzcyBFbmdpbmVDb21ib0JveChHdGsuQ29tYm9Cb3gpOgorQEAgLTEy Nyw4ICsyMTksMTUgQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goR3RrLkNvbWJvQm94KToKICAgICAg ICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoIndlaWdodCIsIFBhbmdvLldlaWdodC5OT1JN QUwpCiAgICAgICAgICBlbGlmIGlzaW5zdGFuY2UoZW5naW5lLCBpbnQpOgogICAgICAgICAgICAg IHJlbmRlcmVyLnNldF9wcm9wZXJ0eSgic2Vuc2l0aXZlIiwgVHJ1ZSkKQEAgLTM5MCw3ICszOTAs NyBAQCBpbmRleCBmODBiMTY0Li41NzgwOThjIDEwMDY0NAogICAgICAgICAgZWxzZToKICAgICAg ICAgICAgICByZW5kZXJlci5zZXRfcHJvcGVydHkoInNlbnNpdGl2ZSIsIFRydWUpCiAgICAgICAg ICAgICAgcmVuZGVyZXIuc2V0X3Byb3BlcnR5KCJ0ZXh0IiwgZW5naW5lLmdldF9sb25nbmFtZSgp KQotQEAgLTE0OSwxMCArMjQ4LDE4IEBAIGNsYXNzIEVuZ2luZUNvbWJvQm94KEd0ay5Db21ib0Jv eCk6CitAQCAtMTQ0LDEwICsyNDMsMTggQEAgY2xhc3MgRW5naW5lQ29tYm9Cb3goR3RrLkNvbWJv Qm94KToKICAgICAgICAgICAgICBpZiBpID09IDAgb3IgaSA9PSAtMToKICAgICAgICAgICAgICAg ICAgcmV0dXJuIE5vbmUKICAgICAgICAgICAgICBpdGVyID0gc2VsZi5nZXRfYWN0aXZlX2l0ZXIo KQpAQCAtNDExLDE3ICs0MTEsMTcgQEAgaW5kZXggZjgwYjE2NC4uNTc4MDk4YyAxMDA2NDQKICAg ICAgICAgIHJldHVybiBzZWxmLmdldF9wcm9wZXJ0eSgiYWN0aXZlLWVuZ2luZSIpCiAgCiBkaWZm IC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVwL21haW4ucHkKLWluZGV4IDVkYTYzNDAuLmQ2 ZmEzZWYgMTAwNjQ0CitpbmRleCBhYWU2YmI5Li5kZWQ4NWMwIDEwMDY0NAogLS0tIGEvc2V0dXAv bWFpbi5weQogKysrIGIvc2V0dXAvbWFpbi5weQotQEAgLTIyNCw2ICsyMjQsNyBAQCBjbGFzcyBT ZXR1cChvYmplY3QpOgotICAgICAgICAgICAgICAgICBlbmdpbmVzLmFwcGVuZChlbmdpbmUpCi0g CitAQCAtMjA3LDYgKzIwNyw3IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6CisgICAgICAgICAjIGlu aXQgZW5naW5lIHBhZ2UKKyAgICAgICAgIHNlbGYuX19lbmdpbmVzID0gc2VsZi5fX2J1cy5saXN0 X2VuZ2luZXMoKQogICAgICAgICAgc2VsZi5fX2NvbWJvYm94ID0gc2VsZi5fX2J1aWxkZXIuZ2V0 X29iamVjdCgiY29tYm9ib3hfZW5naW5lcyIpCiArICAgICAgICBzZWxmLl9fY29tYm9ib3guc2V0 X2NvbmZpZyhzZWxmLl9fY29uZmlnKQotICAgICAgICAgc2VsZi5fX2NvbWJvYm94LnNldF9lbmdp bmVzKGVuZ2luZXMpCisgICAgICAgICBzZWxmLl9fY29tYm9ib3guc2V0X2VuZ2luZXMoc2VsZi5f X2VuZ2luZXMpCiAgCi0gICAgICAgICBlbmdpbmVfbmFtZXMgPSB2YWx1ZXMuZ2V0KCJwcmVsb2Fk X2VuZ2luZXMiLCBbXSkKKyAgICAgICAgIHRtcF9kaWN0ID0ge30KIC0tIAogMS44LjAKIAoKZGlm ZiAtLWdpdCBhL2lidXMuc3BlYyBiL2lidXMuc3BlYwppbmRleCBjOTgxNTY5Li4wMjk1OGY1IDEw MDY0NAotLS0gYS9pYnVzLnNwZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0xNyw3ICsxNyw3IEBACiAl Z2xvYmFsIHdpdGhfZ2tiZCAxCiAlZW5kaWYKIAotJWdsb2JhbCBpYnVzX2dqc192ZXJzaW9uIDMu NC4xLjIwMTIwODE1CislZ2xvYmFsIGlidXNfZ2pzX3ZlcnNpb24gMy40LjEuMjAxMzAxMTUKIAog JWdsb2JhbCBpYnVzX2FwaV92ZXJzaW9uIDEuMAogCkBAIC0zMiwxMiArMzIsMTAgQEAKICVlbmRp ZgogCiAlZ2xvYmFsIGRidXNfcHl0aG9uX3ZlcnNpb24gMC44My4wCi0jIEZJWE1FOiBJdCdzIGJl dHRlciB0byB1c2UgdGhlIG5ldyBpY29uIG5hbWVzCi0lZ2xvYmFsIGdub21lX2ljb25fdGhlbWVf bGVnYWN5X3ZlcnNpb24gMi45MS42CiAKIE5hbWU6ICAgICAgIGlidXMKLVZlcnNpb246ICAgIDEu NC45OS4yMDEyMTEwOQotUmVsZWFzZTogICAgOSV7P2Rpc3R9CitWZXJzaW9uOiAgICAxLjUuMQor UmVsZWFzZTogICAgMSV7P2Rpc3R9CiBTdW1tYXJ5OiAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMg Zm9yIExpbnV4IE9TCiBMaWNlbnNlOiAgICBMR1BMdjIrCiBHcm91cDogICAgICBTeXN0ZW0gRW52 aXJvbm1lbnQvTGlicmFyaWVzCkBAIC00OCwxMCArNDYsNiBAQCBTb3VyY2UxOiAgICAle25hbWV9 LXhpbnB1dAogIyBpYnVzLWdqcwogU291cmNlMjogICAgaHR0cDovL2Z1aml3YXJhLmZlZG9yYXBl b3BsZS5vcmcvaWJ1cy9nbm9tZS1zaGVsbC8le25hbWV9LWdqcy0le2lidXNfZ2pzX3ZlcnNpb259 LnRhci5negogJWVuZGlmCi0laWYgKDAlez9mZWRvcmF9IDwgMTkgJiYgMCV7P3JoZWx9IDwgNykK LSMgVXBzdHJlYW1lZCB0cmFuc2xhdGlvbnMuCi1Tb3VyY2UzOiAgICBodHRwOi8vZnVqaXdhcmEu ZmVkb3JhcGVvcGxlLm9yZy9pYnVzL3BvLyV7bmFtZX0tcG8tMS40Ljk5LjIwMTIxMjA3LnRhci5n egotJWVuZGlmCiAjIFVwc3RyZWFtZWQgcGF0Y2hlcy4KIFBhdGNoMDogICAgICV7bmFtZX0tSEVB RC5wYXRjaAogIyBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTgx MDIxMQpAQCAtNjgsOCArNjIsMTAgQEAgUGF0Y2g0OiAgICAgJXtuYW1lfS14eC1zZXR1cC1mcmVx dWVudC1sYW5nLnBhdGNoCiAjIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNn aT9pZD02NTg0MjAKIFBhdGNoOTI6ICAgICV7bmFtZX0teHgtZy1zLWRpc2FibGUtcHJlZWRpdC5w YXRjaAogJWVuZGlmCi0jIEhpZGUgbm8gbnVzZWQgcHJvcGVydGllcyBpbiBmMTcuCi1QYXRjaDk0 OiAgICAle25hbWV9LXh4LW5vLXVzZS5kaWZmCislaWYgKDAlez9mZWRvcmF9IDwgMTggJiYgMCV7 P3JoZWx9IDwgNykKKyMgVGhlIHBhdGNoIGVuYWJsZXMgdG8gYnVpbGQgb24gZmVkb3JhIDE3Lgor UGF0Y2g5MzogICAgJXtuYW1lfS14eC1mMTcucGF0Y2gKKyVlbmRpZgogCiBCdWlsZFJvb3Q6ICAl e190bXBwYXRofS8le25hbWV9LSV7dmVyc2lvbn0tJXtyZWxlYXNlfS1yb290LSUoJXtfX2lkX3V9 IC1uKQogCkBAIC05MSw2ICs4Nyw3IEBAIEJ1aWxkUmVxdWlyZXM6ICB2YWxhLXRvb2xzCiBCdWls ZFJlcXVpcmVzOiAgR0NvbmYyLWRldmVsCiAlaWYgJXdpdGhfcHlnb2JqZWN0MwogQnVpbGRSZXF1 aXJlczogIGdvYmplY3QtaW50cm9zcGVjdGlvbi1kZXZlbAorQnVpbGRSZXF1aXJlczogIHB5Z29i amVjdDMtZGV2ZWwKICVlbmRpZgogQnVpbGRSZXF1aXJlczogIGludGx0b29sCiBCdWlsZFJlcXVp cmVzOiAgaXNvLWNvZGVzLWRldmVsCkBAIC0xMzIsNyArMTI5LDYgQEAgUmVxdWlyZXM6ICAgbm90 aWZ5LXB5dGhvbgogUmVxdWlyZXM6ICAgbGliZ25vbWVrYmQKICVlbmRpZgogUmVxdWlyZXM6ICAg bGlicnN2ZzIKLVJlcXVpcmVzOiAgIGdub21lLWljb24tdGhlbWUtbGVnYWN5ID49ICV7Z25vbWVf aWNvbl90aGVtZV9sZWdhY3lfdmVyc2lvbn0KICVpZiAoMCV7P2ZlZG9yYX0gPD0gMTcgJiYgMCV7 P3JoZWx9IDwgNykKIFJlcXVpcmVzOiAgIGdub21lLWljb24tdGhlbWUtc3ltYm9saWMKICVlbmRp ZgpAQCAtMjMwLDkgKzIyNiw2IEBAIFRoZSBpYnVzLWRldmVsLWRvY3MgcGFja2FnZSBjb250YWlu cyBkZXZlbG9wZXIgZG9jdW1lbnRhdGlvbiBmb3IgaWJ1cwogJWlmICV3aXRoX2dqcwogZ3ppcCAt ZGMgJVNPVVJDRTIgfCB0YXIgeGYgLQogJWVuZGlmCi0laWYgKDAlez9mZWRvcmF9IDwgMTkgJiYg MCV7P3JoZWx9IDwgNykKLWd6aXAgLWRjICVTT1VSQ0UzIHwgdGFyIHhmIC0KLSVlbmRpZgogCiAj IGhvbWUgW2RvdF0gY29ycCBbZG90XSByZWRoYXQgW2RvdF0gY29tL3dpa2kvcnBtZGlmZi1tdWx0 aWxpYgogIyBVcGRhdGUgdGltZXN0YW1wcyBvbiB0aGUgZmlsZXMgdG91Y2hlZCBieSBhIHBhdGNo LCB0byBhdm9pZCBub24tZXF1YWwKQEAgLTI3MCw4ICsyNjMsMTAgQEAgVXBkYXRlVGltZXN0YW1w cyAtcDEgJXtQQVRDSDN9CiAlcGF0Y2g0IC1wMSAtYiAuc2V0dXAtZnJlcXVlbnQtbGFuZwogVXBk YXRlVGltZXN0YW1wcyAtcDEgJXtQQVRDSDR9CiAKLSVwYXRjaDk0IC1wMSAtYiAubm8tdXNlZAot VXBkYXRlVGltZXN0YW1wcyAtcDEgJXtQQVRDSDk0fQorJWlmICgwJXs/ZmVkb3JhfSA8IDE4ICYm IDAlez9yaGVsfSA8IDcpCislcGF0Y2g5MyAtcDEgLWIgLmYxNworVXBkYXRlVGltZXN0YW1wcyAt cDEgJXtQQVRDSDkzfQorJWVuZGlmCiAKICVidWlsZAogJWlmICV3aXRoX3hrYmZpbGUKQEAgLTI4 NSwxNyArMjgwLDEyIEBAIGF1dG9yZWNvbmYgLWYgLWkKICAgICAtLWVuYWJsZS1ndGstZG9jIFwK ICAgICAtLXdpdGgtbm8tc25vb3Blci1hcHBzPSdnbm9tZS1kbyxEby4qLGZpcmVmb3guKiwuKmNo cm9tZS4qLC4qY2hyb21pdW0uKicgXAogICAgIC0tZW5hYmxlLXN1cnJvdW5kaW5nLXRleHQgXAot JWlmICgwJXs/ZmVkb3JhfSA+IDE3IHx8IDAlez9yaGVsfSA+IDYpCi0gICAgLS13aXRoLXBhbmVs LWljb24ta2V5Ym9hcmQ9bGVnYWN5IFwKLSVlbmRpZgotJWlmICV3aXRoX3hrYmZpbGUKLSAgICAt LXdpdGgteGtiLWNvbW1hbmQ9aWJ1cy14a2IgXAorJWlmICgwJXs/ZmVkb3JhfSA8PSAxNyAmJiAw JXs/cmhlbH0gPCA3KQorICAgIC0td2l0aC1wYW5lbC1pY29uLWtleWJvYXJkPXllcyBcCiAlZW5k aWYKICVpZiAld2l0aF9na2JkCiAgICAgLS1lbmFibGUtbGliZ25vbWVrYmQgXAogJWVuZGlmCi0g ICAgLS1lbmFibGUtZGNvbmYgXAotICAgIC0tZGlzYWJsZS1nY29uZiBcCiAlaWYgJXdpdGhfcHln b2JqZWN0MgogICAgIC0tZW5hYmxlLXB5dGhvbi1saWJyYXJ5IFwKICVlbmRpZgpAQCAtNDQ4LDEw ICs0MzgsOCBAQCBmaQogJXtfc3lzY29uZmRpcn0vYmFzaF9jb21wbGV0aW9uLmQvaWJ1cy5iYXNo CiAle19zeXNjb25mZGlyfS9kY29uZi9kYi9pYnVzLmQKICV7X3N5c2NvbmZkaXJ9L2Rjb25mL3By b2ZpbGUvaWJ1cworJXB5dGhvbjJfc2l0ZWFyY2gvZ2kvb3ZlcnJpZGVzL0lCdXMucHkqCiAlY29u ZmlnICV7X3hpbnB1dGNvbmZ9Ci0laWYgJXdpdGhfeGtiZmlsZQotJXtfbGliZXhlY2Rpcn0vaWJ1 cy14a2IKLSVlbmRpZgogCiAlZmlsZXMgbGlicwogJXtfbGliZGlyfS9saWJpYnVzLSV7aWJ1c19h cGlfdmVyc2lvbn0uc28uKgpAQCAtNDgzLDYgKzQ3MSwxMSBAQCBmaQogJXtfZGF0YWRpcn0vZ3Rr LWRvYy9odG1sLyoKIAogJWNoYW5nZWxvZworKiBUdWUgSmFuIDA4IDIwMTMgVGFrYW8gRnVqaXdh cmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS41LjEtMQorLSBCdW1wZWQgdG8gMS41LjEKKy0g QnVtcGVkIHRvIGlidXMtZ2pzIDMuNC4xLjIwMTMwMTE1IGZvciBmMTcKKy0gUmVtb3ZlZCBpYnVz LXh4LW5vLXVzZS5kaWZmCisKICogRnJpIERlYyAxNCAyMDEyIFRha2FvIEZ1aml3YXJhIDx0ZnVq aXdhckByZWRoYXQuY29tPiAtIDEuNC45OS4yMDEyMTEwOS05CiAtIFVwZGF0ZWQgaWJ1cy14eC1u by11c2UuZGlmZiBub3QgdG8gdXNlIHZhcmlhbnQuZHVwX3N0cnYoKQogCgpkaWZmIC0tZ2l0IGEv c291cmNlcyBiL3NvdXJjZXMKaW5kZXggYWE2MWY5NS4uY2UzMWEwMSAxMDA2NDQKLS0tIGEvc291 cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDQgKzEsMyBAQAotYmU0ODI0NzkzNTcyMTAyODNlOTFh NDdmNDNhMGEwZmUgIGlidXMtMS40Ljk5LjIwMTIxMTA5LnRhci5negorZjAxMDMyMDEyNDljNjU3 NzEyZjVmNGQ5YTM2OTIzZWQgIGlidXMtMS41LjEudGFyLmd6CiAyZDJhZDU4ZTNlNDE0MjlkYmQ4 ODNiYTdlNTAxYzliMiAgaWJ1cy1nanMtMy4yLjEuMjAxMTEyMzAudGFyLmd6Ci04YWNmNGFjNGQx YTdkZmI5YTBhZjllNzU1YThlN2RiYSAgaWJ1cy1nanMtMy40LjEuMjAxMjA4MTUudGFyLmd6Ci1l MmExM2M0NWVlYTJjZGI4NjU3MmJiY2NlYzdhMmUxNiAgaWJ1cy1wby0xLjQuOTkuMjAxMjEyMDcu dGFyLmd6CitkYTlhMjJjODJhYjMzNDIzZDdhZmViM2RhNDE0NmZhOCAgaWJ1cy1nanMtMy40LjEu MjAxMzAxMTUudGFyLmd6Cg==