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: Added ibus-HEAD.patch to get upstream patches Date: Sun, 31 May 2026 02:06:29 GMT Message-ID: <178019318966.1.10493187068319369420.rpms-ibus-4f9f822080bb@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 4f9f822080bbcae3544ea769b282d58a67520afc ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA0ZjlmODIyMDgwYmJjYWUzNTQ0ZWE3NjliMjgyZDU4YTY3NTIwYWZjCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDE3LTAzLTA5VDE5OjIwOjI3KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs2ODYvLTcgaW4gMyBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzRmOWY4MjIwODBiYmNhZTM1NDRlYTc2 OWIyODJkNThhNjc1MjBhZmM/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIEFkZGVkIGlidXMtSEVBRC5wYXRjaCB0byBnZXQgdXBzdHJlYW0gcGF0Y2hlcwoKRml4 ZWQgaWJ1c19lbW9qaWVyX3J1bigpIFNJR0FCUlQgd2l0aCBgaWJ1cyBlbW9qaWAKRW5oYW5jZWQg dGhlbWUgY29sb3Igb24gZW1vamkgY2FuZGlkYXRlcwoKLS0tCmRpZmYgLS1naXQgYS9pYnVzLUhF QUQucGF0Y2ggYi9pYnVzLUhFQUQucGF0Y2gKaW5kZXggOGIxMzc4OS4uMWViNDdlYiAxMDA2NDQK LS0tIGEvaWJ1cy1IRUFELnBhdGNoCisrKyBiL2lidXMtSEVBRC5wYXRjaApAQCAtMSArMSw2NzUg QEAKK0Zyb20gN2U0NzdkNWUwZmZlMTliNmM1MjU1OGM1YjM3ZmRkOWNiODJjMDk3YSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWls LmNvbT4KK0RhdGU6IFRodSwgOSBNYXIgMjAxNyAxMTozMToyMSArMDkwMAorU3ViamVjdDogW1BB VENIXSB0b29sczogRml4IGBpYnVzIGVtb2ppYCBTRUdWIHdoZW4gbGFuZ3VhZ2UgaXMgY2hhbmdl ZC4KKworQlVHPXJoYnojMTQzMDI5MAorCitSZXZpZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcu YXBwc3BvdC5jb20vMzE3NDEwMDQzCistLS0KKyB0b29scy9tYWluLnZhbGEgfCAzICsrKworIDEg ZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3Rvb2xzL21haW4u dmFsYSBiL3Rvb2xzL21haW4udmFsYQoraW5kZXggNzNjNmY1Ny4uZmQ5ZmQwZSAxMDA2NDQKKy0t LSBhL3Rvb2xzL21haW4udmFsYQorKysrIGIvdG9vbHMvbWFpbi52YWxhCitAQCAtMzUzLDYgKzM1 Myw5IEBAIGludCBlbW9qaV9kaWFsb2coc3RyaW5nW10gYXJndikgeworICAgICB9IGVsc2Ugewor ICAgICAgICAgR0xpYi5NYWluTG9vcCBsb29wID0gbmV3IEdMaWIuTWFpbkxvb3AoKTsKKyAgICAg ICAgIGVtb2ppZXIubG9hZGVkX2Vtb2ppX2RpY3QuY29ubmVjdCgoKSA9PiB7CisrICAgICAgICAg ICAgLy8gVGhlIHNpZ25hbCBpcyBjYWxsZWQgd2hlbiB0aGUgbGFuZ3VhZ2UgaXMgY2hhbmdlZC4K KysgICAgICAgICAgICBpZiAoZW1vamllci5pc19ydW5uaW5nKCkpCisrICAgICAgICAgICAgICAg IHJldHVybjsKKyAgICAgICAgICAgICBydW5fZGlhbG9nKGVtb2ppZXIpOworICAgICAgICAgICAg IGxvb3AucXVpdCgpOworICAgICAgICAgfSk7CistLSAKKzIuNy40CisKK0Zyb20gOWRiZWEzNDcw NTBhZTJhZDc5ZDFiNTNmMmFkNjJhN2EyY2FmYWRjNiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IFRodSwg OSBNYXIgMjAxNyAxMjo0NToyMCArMDkwMAorU3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBHZXQg ZW1vamkgY29sb3JzIGZyb20gdGhlIHRoZW1lCisKK0dldCBzZWxlY3RlZCBhbmQgbm9ybWFsIHRl eHQgY29sb3IgZnJvbSB0aGUgdGhlbWUuCitJbXBsZW1lbnQgdG8gYWN0aXZhdGUgYW4gZW1vamkg d2l0aCBtb3VzZSBtb3Rpb24uCitDcmVhdGUgYmFjayBidXR0b24gb24gZW1vamkgbGFuZ3VhZ2Ug Y2hvb3NlciBkaWFsb2cuCitTZXQgcm93X2hvbW9nZW5lb3VzIG9uIGVtb2ppIHRhYmxlLgorCitS PVNoYXduLlAuSHVhbmdAZ21haWwuY29tCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmll dy5hcHBzcG90LmNvbS8zMTk0NzAwNDMKKy0tLQorIHVpL2d0azMvTWFrZWZpbGUuYW0gICAgICAg IHwgICAzICsKKyB1aS9ndGszL2NhbmRpZGF0ZWFyZWEudmFsYSB8IDE4NiArKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCisgdWkvZ3RrMy9lbW9qaWVyLnZhbGEgICAg ICAgfCAxOTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCisg MyBmaWxlcyBjaGFuZ2VkLCAyNTEgaW5zZXJ0aW9ucygrKSwgMTMwIGRlbGV0aW9ucygtKQorCitk aWZmIC0tZ2l0IGEvdWkvZ3RrMy9NYWtlZmlsZS5hbSBiL3VpL2d0azMvTWFrZWZpbGUuYW0KK2lu ZGV4IGQ1ZGRjNDIuLjRlN2ZkMWIgMTAwNjQ0CistLS0gYS91aS9ndGszL01ha2VmaWxlLmFtCisr KysgYi91aS9ndGszL01ha2VmaWxlLmFtCitAQCAtMTcyLDggKzE3MiwxMSBAQCBsaWJpYnVzX2Vt b2ppX2RpYWxvZ18xXzBfbGFfTERGTEFHUyA9ICAgXAorICAgICAtdmVyc2lvbi1pbmZvIEBMVF9W RVJTSU9OX0lORk9AICAgICBcCisgICAgICQoTlVMTCkKKyBsaWJpYnVzX2Vtb2ppX2RpYWxvZ18x XzBfbGFfU09VUkNFUyA9ICAgXAorKyAgICBjYW5kaWRhdGVhcmVhLmMgICAgICAgICAgICAgICAg ICAgICBcCisgICAgIGVtb2ppZXIuYyAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAg aWNvbndpZGdldC5jICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICBwYW5nby5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCisrICAgIHNlcGFyYXRvci5jICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKyAgICAgJChOVUxMKQorIAorIC1pbmNsdWRlICQoSU5UUk9TUEVDVElPTl9N QUtFRklMRSkKK2RpZmYgLS1naXQgYS91aS9ndGszL2NhbmRpZGF0ZWFyZWEudmFsYSBiL3VpL2d0 azMvY2FuZGlkYXRlYXJlYS52YWxhCitpbmRleCBhMDk1ZTc2Li5lMTYyYTk2IDEwMDY0NAorLS0t IGEvdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZhbGEKKysrKyBiL3VpL2d0azMvY2FuZGlkYXRlYXJl YS52YWxhCitAQCAtMjEsNiArMjEsMTA4IEBACisgICogVVNBCisgICovCisgCisrY2xhc3MgVGhl bWVkUkdCQSB7CisrICAgIHB1YmxpYyBHZGsuUkdCQSAqbm9ybWFsX2ZnIHsgZ2V0OyBzZXQ7IH0K KysgICAgcHVibGljIEdkay5SR0JBICpub3JtYWxfYmcgeyBnZXQ7IHNldDsgfQorKyAgICBwdWJs aWMgR2RrLlJHQkEgKnNlbGVjdGVkX2ZnIHsgZ2V0OyBzZXQ7IH0KKysgICAgcHVibGljIEdkay5S R0JBICpzZWxlY3RlZF9iZyB7IGdldDsgc2V0OyB9CisrCisrICAgIHByaXZhdGUgR3RrLlN0eWxl Q29udGV4dCBtX3N0eWxlX2NvbnRleHQ7CisrCisrICAgIHB1YmxpYyBUaGVtZWRSR0JBKEd0ay5X aWRnZXQgd2lkZ2V0KSB7CisrICAgICAgICB0aGlzLm5vcm1hbF9mZyA9IG51bGw7CisrICAgICAg ICB0aGlzLm5vcm1hbF9iZyA9IG51bGw7CisrICAgICAgICB0aGlzLnNlbGVjdGVkX2ZnID0gbnVs bDsKKysgICAgICAgIHRoaXMuc2VsZWN0ZWRfYmcgPSBudWxsOworKworKyAgICAgICAgLyogVXNl IHRoZSBjb2xvciBvZiBHdGsuVGV4dFZpZXcgaW5zdGVhZCBvZiBHdGsuTGFiZWwKKysgICAgICAg ICAqIGJlY2F1c2UgdGhlIHNlbGVjdGVkIGxhYmVsICJjb2xvciIgaXMgbm90IGNvbmZpZ3VyZWQK KysgICAgICAgICAqIGluICJBZHdhaXRhIiB0aGVtZSBhbmQgdGhlIHNlbGVjdGVkIGxhYmVsICJi YWNrZ3JvdW5kLWNvbG9yIgorKyAgICAgICAgICogaXMgbm90IGNvbmZpZ3VyZWQgaW4gIk1haWEi IHRoZW1lLgorKyAgICAgICAgICogaHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMv MTg3MQorKyAgICAgICAgICovCisrICAgICAgICBHdGsuV2lkZ2V0UGF0aCB3aWRnZXRfcGF0aCA9 IG5ldyBHdGsuV2lkZ2V0UGF0aCgpOworKyAgICAgICAgd2lkZ2V0X3BhdGguYXBwZW5kX3R5cGUo dHlwZW9mKEd0ay5UZXh0VmlldykpOworKyAgICAgICAgbV9zdHlsZV9jb250ZXh0ID0gbmV3IEd0 ay5TdHlsZUNvbnRleHQoKTsKKysgICAgICAgIG1fc3R5bGVfY29udGV4dC5zZXRfcGF0aCh3aWRn ZXRfcGF0aCk7CisrICAgICAgICBtX3N0eWxlX2NvbnRleHQuYWRkX2NsYXNzKEd0ay5TVFlMRV9D TEFTU19WSUVXKTsKKysKKysgICAgICAgIC8qICItZ3RrLXNlY29uZGFyeS1jYXJldC1jb2xvciIg dmFsdWUgaXMgZGlmZmVyZW50CisrICAgICAgICAgKiBpZiB0aGUgcGFyZW50IHdpZGdldCBpcyBz ZXQgaW4gIk1lbnRhIiB0aGVtZS4KKysgICAgICAgICAqLworKyAgICAgICAgbV9zdHlsZV9jb250 ZXh0LnNldF9wYXJlbnQod2lkZ2V0LmdldF9zdHlsZV9jb250ZXh0KCkpOworKworKyAgICAgICAg Z2V0X3JnYmEoKTsKKysKKysgICAgICAgIG1fc3R5bGVfY29udGV4dC5jaGFuZ2VkLmNvbm5lY3Qo KCkgPT4geyBnZXRfcmdiYSgpOyB9KTsKKysgICAgfQorKworKyAgICB+VGhlbWVkUkdCQSgpIHsK KysgICAgICAgIHJlc2V0X3JnYmEoKTsKKysgICAgfQorKworKyAgICBwcml2YXRlIHZvaWQgcmVz ZXRfcmdiYSgpIHsKKysgICAgICAgIGlmICh0aGlzLm5vcm1hbF9mZyAhPSBudWxsKSB7CisrICAg ICAgICAgICAgdGhpcy5ub3JtYWxfZmcuZnJlZSgpOworKyAgICAgICAgICAgIHRoaXMubm9ybWFs X2ZnID0gbnVsbDsKKysgICAgICAgIH0KKysgICAgICAgIGlmICh0aGlzLm5vcm1hbF9iZyAhPSBu dWxsKSB7CisrICAgICAgICAgICAgdGhpcy5ub3JtYWxfYmcuZnJlZSgpOworKyAgICAgICAgICAg IHRoaXMubm9ybWFsX2JnID0gbnVsbDsKKysgICAgICAgIH0KKysgICAgICAgIGlmICh0aGlzLnNl bGVjdGVkX2ZnICE9IG51bGwpIHsKKysgICAgICAgICAgICB0aGlzLnNlbGVjdGVkX2ZnLmZyZWUo KTsKKysgICAgICAgICAgICB0aGlzLnNlbGVjdGVkX2ZnID0gbnVsbDsKKysgICAgICAgIH0KKysg ICAgICAgIGlmICh0aGlzLnNlbGVjdGVkX2JnICE9IG51bGwpIHsKKysgICAgICAgICAgICB0aGlz LnNlbGVjdGVkX2JnLmZyZWUoKTsKKysgICAgICAgICAgICB0aGlzLnNlbGVjdGVkX2JnID0gbnVs bDsKKysgICAgICAgIH0KKysgICAgfQorKworKyAgICBwcml2YXRlIHZvaWQgZ2V0X3JnYmEoKSB7 CisrICAgICAgICByZXNldF9yZ2JhKCk7CisrICAgICAgICBHZGsuUkdCQSAqbm9ybWFsX2ZnID0g bnVsbDsKKysgICAgICAgIEdkay5SR0JBICpub3JtYWxfYmcgPSBudWxsOworKyAgICAgICAgR2Rr LlJHQkEgKnNlbGVjdGVkX2ZnID0gbnVsbDsKKysgICAgICAgIEdkay5SR0JBICpzZWxlY3RlZF9i ZyA9IG51bGw7CisrICAgICAgICBtX3N0eWxlX2NvbnRleHQuZ2V0KEd0ay5TdGF0ZUZsYWdzLk5P Uk1BTCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIiwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3V0IG5vcm1hbF9mZyk7CisrICAgICAgICBtX3N0eWxlX2NvbnRl eHQuZ2V0KEd0ay5TdGF0ZUZsYWdzLlNFTEVDVEVELAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiY29sb3IiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgc2VsZWN0ZWRf ZmcpOworKworKyAgICAgICAgc3RyaW5nIGJnX3Byb3AgPSAiYmFja2dyb3VuZC1jb2xvciI7Cisr ICAgICAgICBtX3N0eWxlX2NvbnRleHQuZ2V0KEd0ay5TdGF0ZUZsYWdzLk5PUk1BTCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgYmdfcHJvcCwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3V0IG5vcm1hbF9iZyk7CisrICAgICAgICBtX3N0eWxlX2NvbnRleHQuZ2V0KEd0ay5T dGF0ZUZsYWdzLlNFTEVDVEVELAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZ19wcm9w LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgc2VsZWN0ZWRfYmcpOworKyAgICAg ICAgaWYgKG5vcm1hbF9iZy5yZWQgICA9PSBzZWxlY3RlZF9iZy5yZWQgJiYKKysgICAgICAgICAg ICBub3JtYWxfYmcuZ3JlZW4gPT0gc2VsZWN0ZWRfYmcuZ3JlZW4gJiYKKysgICAgICAgICAgICBu b3JtYWxfYmcuYmx1ZSAgPT0gc2VsZWN0ZWRfYmcuYmx1ZSAmJgorKyAgICAgICAgICAgIG5vcm1h bF9iZy5hbHBoYSA9PSBzZWxlY3RlZF9iZy5hbHBoYSkgeworKyAgICAgICAgICAgIG5vcm1hbF9i Zy5mcmVlKCk7CisrICAgICAgICAgICAgbm9ybWFsX2JnID0gbnVsbDsKKysgICAgICAgICAgICBu b3JtYWxfYmcuZnJlZSgpOworKyAgICAgICAgICAgIG5vcm1hbF9iZyA9IG51bGw7CisrICAgICAg ICAgICAgYmdfcHJvcCA9ICItZ3RrLXNlY29uZGFyeS1jYXJldC1jb2xvciI7CisrICAgICAgICAg ICAgbV9zdHlsZV9jb250ZXh0LmdldChHdGsuU3RhdGVGbGFncy5OT1JNQUwsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZ19wcm9wLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3V0IG5vcm1hbF9iZyk7CisrICAgICAgICAgICAgbV9zdHlsZV9jb250ZXh0Lmdl dChHdGsuU3RhdGVGbGFncy5TRUxFQ1RFRCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGJnX3Byb3AsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgc2VsZWN0 ZWRfYmcpOworKyAgICAgICAgfQorKyAgICAgICAgdGhpcy5ub3JtYWxfZmcgICA9IG5vcm1hbF9m ZzsKKysgICAgICAgIHRoaXMubm9ybWFsX2JnICAgPSBub3JtYWxfYmc7CisrICAgICAgICB0aGlz LnNlbGVjdGVkX2ZnID0gc2VsZWN0ZWRfZmc7CisrICAgICAgICB0aGlzLnNlbGVjdGVkX2JnID0g c2VsZWN0ZWRfYmc7CisrICAgIH0KKyt9CisrCisgY2xhc3MgQ2FuZGlkYXRlQXJlYSA6IEd0ay5C b3ggeworICAgICBwcml2YXRlIGJvb2wgbV92ZXJ0aWNhbDsKKyAgICAgcHJpdmF0ZSBHdGsuTGFi ZWxbXSBtX2xhYmVsczsKK0BAIC0zMCw5ICsxMzIsNyBAQCBjbGFzcyBDYW5kaWRhdGVBcmVhIDog R3RrLkJveCB7CisgICAgIHByaXZhdGUgSUJ1cy5UZXh0W10gbV9pYnVzX2NhbmRpZGF0ZXM7Cisg ICAgIHByaXZhdGUgdWludCBtX2ZvY3VzX2NhbmRpZGF0ZTsKKyAgICAgcHJpdmF0ZSBib29sIG1f c2hvd19jdXJzb3I7CistICAgIEd0ay5TdHlsZUNvbnRleHQgbV9zdHlsZV9jb250ZXh0OworLSAg ICBwcml2YXRlIEdkay5SR0JBICptX3NlbGVjdGVkX2ZnX2NvbG9yID0gbnVsbDsKKy0gICAgcHJp dmF0ZSBHZGsuUkdCQSAqbV9zZWxlY3RlZF9iZ19jb2xvciA9IG51bGw7CisrICAgIHByaXZhdGUg VGhlbWVkUkdCQSBtX3JnYmE7CisgCisgICAgIHByaXZhdGUgY29uc3Qgc3RyaW5nIExBQkVMU1td ID0geworICAgICAgICAgIjEuIiwgIjIuIiwgIjMuIiwgIjQuIiwgIjUuIiwgIjYuIiwgIjcuIiwg IjguIiwKK0BAIC01OCwzOCArMTU4LDcgQEAgY2xhc3MgQ2FuZGlkYXRlQXJlYSA6IEd0ay5Cb3gg eworICAgICBwdWJsaWMgQ2FuZGlkYXRlQXJlYShib29sIHZlcnRpY2FsKSB7CisgICAgICAgICBH TGliLk9iamVjdCgpOworICAgICAgICAgc2V0X3ZlcnRpY2FsKHZlcnRpY2FsLCB0cnVlKTsKKy0K Ky0gICAgICAgIC8qIFVzZSB0aGUgY29sb3Igb2YgR3RrLlRleHRWaWV3IGluc3RlYWQgb2YgR3Rr LkxhYmVsCistICAgICAgICAgKiBiZWNhdXNlIHRoZSBzZWxlY3RlZCBsYWJlbCAiY29sb3IiIGlz IG5vdCBjb25maWd1cmVkCistICAgICAgICAgKiBpbiAiQWR3YWl0YSIgdGhlbWUgYW5kIHRoZSBz ZWxlY3RlZCBsYWJlbCAiYmFja2dyb3VuZC1jb2xvciIKKy0gICAgICAgICAqIGlzIG5vdCBjb25m aWd1cmVkIGluICJNYWlhIiB0aGVtZS4KKy0gICAgICAgICAqIGh0dHBzOi8vZ2l0aHViLmNvbS9p YnVzL2lidXMvaXNzdWVzLzE4NzEKKy0gICAgICAgICAqLworLSAgICAgICAgR3RrLldpZGdldFBh dGggd2lkZ2V0X3BhdGggPSBuZXcgR3RrLldpZGdldFBhdGgoKTsKKy0gICAgICAgIHdpZGdldF9w YXRoLmFwcGVuZF90eXBlKHR5cGVvZihHdGsuVGV4dFZpZXcpKTsKKy0gICAgICAgIG1fc3R5bGVf Y29udGV4dCA9IG5ldyBHdGsuU3R5bGVDb250ZXh0KCk7CistICAgICAgICBtX3N0eWxlX2NvbnRl eHQuc2V0X3BhdGgod2lkZ2V0X3BhdGgpOworLSAgICAgICAgbV9zdHlsZV9jb250ZXh0LmFkZF9j bGFzcyhHdGsuU1RZTEVfQ0xBU1NfVklFVyk7CistCistICAgICAgICAvKiAiLWd0ay1zZWNvbmRh cnktY2FyZXQtY29sb3IiIHZhbHVlIGlzIGRpZmZlcmVudAorLSAgICAgICAgICogaWYgdGhlIHBh cmVudCB3aWRnZXQgaXMgc2V0IGluICJNZW50YSIgdGhlbWUuCistICAgICAgICAgKi8KKy0gICAg ICAgIG1fc3R5bGVfY29udGV4dC5zZXRfcGFyZW50KGdldF9zdHlsZV9jb250ZXh0KCkpOworLQor LSAgICAgICAgZ2V0X3NlbGVjdGVkX2NvbG9yKCk7CistCistICAgICAgICBtX3N0eWxlX2NvbnRl eHQuY2hhbmdlZC5jb25uZWN0KCgpID0+IHsgZ2V0X3NlbGVjdGVkX2NvbG9yKCk7IH0pOworLSAg ICB9CistCistICAgIH5DYW5kaWRhdGVBcmVhKCkgeworLSAgICAgICAgaWYgKG1fc2VsZWN0ZWRf YmdfY29sb3IgIT0gbnVsbCkgeworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfYmdfY29sb3IuZnJl ZSgpOworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfYmdfY29sb3IgPSBudWxsOworLSAgICAgICAg fQorLSAgICAgICAgaWYgKG1fc2VsZWN0ZWRfYmdfY29sb3IgIT0gbnVsbCkgeworLSAgICAgICAg ICAgIG1fc2VsZWN0ZWRfYmdfY29sb3IuZnJlZSgpOworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRf YmdfY29sb3IgPSBudWxsOworLSAgICAgICAgfQorKyAgICAgICAgbV9yZ2JhID0gbmV3IFRoZW1l ZFJHQkEodGhpcyk7CisgICAgIH0KKyAKKyAgICAgcHVibGljIGJvb2wgY2FuZGlkYXRlX3Njcm9s bGVkKEdkay5FdmVudFNjcm9sbCBldmVudCkgeworQEAgLTE1MCwxNyArMjE5LDE3IEBAIGNsYXNz IENhbmRpZGF0ZUFyZWEgOiBHdGsuQm94IHsKKyAgICAgICAgICAgICAgICAgUGFuZ28uQXR0ckxp c3QgYXR0cnMgPSBnZXRfcGFuZ29fYXR0cl9saXN0X2Zyb21faWJ1c190ZXh0KGNhbmRpZGF0ZXNb aV0pOworICAgICAgICAgICAgICAgICBpZiAoaSA9PSBmb2N1c19jYW5kaWRhdGUgJiYgc2hvd19j dXJzb3IpIHsKKyAgICAgICAgICAgICAgICAgICAgIFBhbmdvLkF0dHJpYnV0ZSBwYW5nb19hdHRy ID0gUGFuZ28uYXR0cl9mb3JlZ3JvdW5kX25ldygKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHVpbnQxNikobV9zZWxlY3RlZF9mZ19jb2xvci5yZWQgKiB1aW50MTYuTUFYKSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNikobV9zZWxlY3RlZF9mZ19jb2xvci5ncmVl biAqIHVpbnQxNi5NQVgpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2KSht X3NlbGVjdGVkX2ZnX2NvbG9yLmJsdWUgKiB1aW50MTYuTUFYKSk7CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh1aW50MTYpKG1fcmdiYS5zZWxlY3RlZF9mZy5yZWQgKiB1aW50MTYuTUFY KSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNikobV9yZ2JhLnNlbGVjdGVk X2ZnLmdyZWVuICogdWludDE2Lk1BWCksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1 aW50MTYpKG1fcmdiYS5zZWxlY3RlZF9mZy5ibHVlICogdWludDE2Lk1BWCkpOworICAgICAgICAg ICAgICAgICAgICAgcGFuZ29fYXR0ci5zdGFydF9pbmRleCA9IDA7CisgICAgICAgICAgICAgICAg ICAgICBwYW5nb19hdHRyLmVuZF9pbmRleCA9IGNhbmRpZGF0ZXNbaV0uZ2V0X3RleHQoKS5sZW5n dGg7CisgICAgICAgICAgICAgICAgICAgICBhdHRycy5pbnNlcnQoKG93bmVkKXBhbmdvX2F0dHIp OworIAorICAgICAgICAgICAgICAgICAgICAgcGFuZ29fYXR0ciA9IFBhbmdvLmF0dHJfYmFja2dy b3VuZF9uZXcoCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MTYpKG1fc2VsZWN0 ZWRfYmdfY29sb3IucmVkICogdWludDE2Lk1BWCksCistICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh1aW50MTYpKG1fc2VsZWN0ZWRfYmdfY29sb3IuZ3JlZW4gKiB1aW50MTYuTUFYKSwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHVpbnQxNikobV9zZWxlY3RlZF9iZ19jb2xvci5i bHVlICogdWludDE2Lk1BWCkpOworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50MTYp KG1fcmdiYS5zZWxlY3RlZF9iZy5yZWQgKiB1aW50MTYuTUFYKSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAodWludDE2KShtX3JnYmEuc2VsZWN0ZWRfYmcuZ3JlZW4gKiB1aW50MTYuTUFY KSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAodWludDE2KShtX3JnYmEuc2VsZWN0ZWRf YmcuYmx1ZSAqIHVpbnQxNi5NQVgpKTsKKyAgICAgICAgICAgICAgICAgICAgIHBhbmdvX2F0dHIu c3RhcnRfaW5kZXggPSAwOworICAgICAgICAgICAgICAgICAgICAgcGFuZ29fYXR0ci5lbmRfaW5k ZXggPSBjYW5kaWRhdGVzW2ldLmdldF90ZXh0KCkubGVuZ3RoOworICAgICAgICAgICAgICAgICAg ICAgYXR0cnMuaW5zZXJ0KChvd25lZClwYW5nb19hdHRyKTsKK0BAIC0xODEsNDEgKzI1MCw2IEBA IGNsYXNzIENhbmRpZGF0ZUFyZWEgOiBHdGsuQm94IHsKKyAgICAgICAgIH0KKyAgICAgfQorIAor LSAgICBwcml2YXRlIHZvaWQgZ2V0X3NlbGVjdGVkX2NvbG9yKCkgeworLSAgICAgICAgaWYgKG1f c2VsZWN0ZWRfZmdfY29sb3IgIT0gbnVsbCkgeworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfZmdf Y29sb3IuZnJlZSgpOworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfZmdfY29sb3IgPSBudWxsOwor LSAgICAgICAgfQorLSAgICAgICAgbV9zdHlsZV9jb250ZXh0LmdldChHdGsuU3RhdGVGbGFncy5T RUxFQ1RFRCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgImNvbG9yIiwKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgb3V0IG1fc2VsZWN0ZWRfZmdfY29sb3IpOworLQorLSAgICAg ICAgc3RyaW5nIGJnX3Byb3AgPSAiYmFja2dyb3VuZC1jb2xvciI7CistICAgICAgICBHZGsuUkdC QSAqbm9ybWFsX2NvbG9yID0gbnVsbDsKKy0gICAgICAgIGlmIChtX3NlbGVjdGVkX2JnX2NvbG9y ICE9IG51bGwpIHsKKy0gICAgICAgICAgICBtX3NlbGVjdGVkX2JnX2NvbG9yLmZyZWUoKTsKKy0g ICAgICAgICAgICBtX3NlbGVjdGVkX2JnX2NvbG9yID0gbnVsbDsKKy0gICAgICAgIH0KKy0gICAg ICAgIG1fc3R5bGVfY29udGV4dC5nZXQoR3RrLlN0YXRlRmxhZ3MuTk9STUFMLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZ19wcm9wLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvdXQgbm9ybWFsX2NvbG9yKTsKKy0gICAgICAgIG1fc3R5bGVfY29udGV4dC5nZXQoR3RrLlN0 YXRlRmxhZ3MuU0VMRUNURUQsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJnX3Byb3As CistICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dCBtX3NlbGVjdGVkX2JnX2NvbG9yKTsK Ky0gICAgICAgIGlmIChub3JtYWxfY29sb3IucmVkICAgPT0gbV9zZWxlY3RlZF9iZ19jb2xvci5y ZWQgJiYKKy0gICAgICAgICAgICBub3JtYWxfY29sb3IuZ3JlZW4gPT0gbV9zZWxlY3RlZF9iZ19j b2xvci5ncmVlbiAmJgorLSAgICAgICAgICAgIG5vcm1hbF9jb2xvci5ibHVlICA9PSBtX3NlbGVj dGVkX2JnX2NvbG9yLmJsdWUgJiYKKy0gICAgICAgICAgICBub3JtYWxfY29sb3IuYWxwaGEgPT0g bV9zZWxlY3RlZF9iZ19jb2xvci5hbHBoYSkgeworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfYmdf Y29sb3IuZnJlZSgpOworLSAgICAgICAgICAgIG1fc2VsZWN0ZWRfYmdfY29sb3IgPSBudWxsOwor LSAgICAgICAgICAgIGJnX3Byb3AgPSAiLWd0ay1zZWNvbmRhcnktY2FyZXQtY29sb3IiOworLSAg ICAgICAgICAgIG1fc3R5bGVfY29udGV4dC5nZXQoR3RrLlN0YXRlRmxhZ3MuU0VMRUNURUQsCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZ19wcm9wLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgb3V0IG1fc2VsZWN0ZWRfYmdfY29sb3IpOworLSAgICAgICAgfQor LSAgICAgICAgbm9ybWFsX2NvbG9yLmZyZWUoKTsKKy0gICAgfQorLQorICAgICBwcml2YXRlIHZv aWQgcmVjcmVhdGVfdWkoKSB7CisgICAgICAgICBmb3JlYWNoIChHdGsuV2lkZ2V0IHcgaW4gZ2V0 X2NoaWxkcmVuKCkpIHsKKyAgICAgICAgICAgICB3LmRlc3Ryb3koKTsKK2RpZmYgLS1naXQgYS91 aS9ndGszL2Vtb2ppZXIudmFsYSBiL3VpL2d0azMvZW1vamllci52YWxhCitpbmRleCA1NDk2YzRl Li5iYzFlZmY0IDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9lbW9qaWVyLnZhbGEKKysrKyBiL3VpL2d0 azMvZW1vamllci52YWxhCitAQCAtNzIsMTIgKzcyLDMxIEBAIGNsYXNzIElCdXNFbW9qaWVyIDog R3RrLldpbmRvdyB7CisgICAgIHByaXZhdGUgY2xhc3MgRUdyaWQgOiBHdGsuR3JpZCB7CisgICAg ICAgICBwdWJsaWMgRUdyaWQoKSB7CisgICAgICAgICAgICAgR0xpYi5PYmplY3QoCisrICAgICAg ICAgICAgICAgIHJvd19ob21vZ2VuZW91cyA6IGZhbHNlLAorICAgICAgICAgICAgICAgICB2ZXhw YW5kIDogdHJ1ZSwKKyAgICAgICAgICAgICAgICAgaGFsaWduIDogR3RrLkFsaWduLkZJTEwsCisg ICAgICAgICAgICAgICAgIHZhbGlnbiA6IEd0ay5BbGlnbi5GSUxMCisgICAgICAgICAgICAgKTsK KyAgICAgICAgIH0KKyAgICAgfQorKyAgICBwcml2YXRlIGNsYXNzIEVXaGl0ZUxhYmVsIDogR3Rr LkxhYmVsIHsKKysgICAgICAgIHB1YmxpYyBFV2hpdGVMYWJlbChzdHJpbmcgdGV4dCkgeworKyAg ICAgICAgICAgIEdMaWIuT2JqZWN0KAorKyAgICAgICAgICAgICAgICBuYW1lIDogIklCdXNFbW9q aWVyV2hpdGVMYWJlbCIKKysgICAgICAgICAgICApOworKyAgICAgICAgICAgIGlmICh0ZXh0ICE9 ICIiKQorKyAgICAgICAgICAgICAgICBzZXRfbGFiZWwodGV4dCk7CisrICAgICAgICB9CisrICAg IH0KKysgICAgcHJpdmF0ZSBjbGFzcyBFU2VsZWN0ZWRMYWJlbCA6IEd0ay5MYWJlbCB7CisrICAg ICAgICBwdWJsaWMgRVNlbGVjdGVkTGFiZWwoc3RyaW5nIHRleHQpIHsKKysgICAgICAgICAgICBH TGliLk9iamVjdCgKKysgICAgICAgICAgICAgICAgbmFtZSA6ICJJQnVzRW1vamllclNlbGVjdGVk TGFiZWwiCisrICAgICAgICAgICAgKTsKKysgICAgICAgICAgICBpZiAodGV4dCAhPSAiIikKKysg ICAgICAgICAgICAgICAgc2V0X2xhYmVsKHRleHQpOworKyAgICAgICAgfQorKyAgICB9CisgICAg IHByaXZhdGUgY2xhc3MgRVBhZGRlZExhYmVsIDogR3RrLkJveCB7CisgICAgICAgICBwdWJsaWMg RVBhZGRlZExhYmVsKHN0cmluZyAgICAgICAgICB0ZXh0LAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHdGsuQWxpZ24gICAgICAgYWxpZ24sCitAQCAtMTYxLDYgKzE4MCw3IEBAIGNsYXNz IElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgIH0KKyAKKyAgICAgcHJpdmF0ZSBjb25z dCB1aW50IEVNT0pJX0dSSURfUEFHRSA9IDEwOworKyAgICBwcml2YXRlIFRoZW1lZFJHQkEgbV9y Z2JhOworICAgICBwcml2YXRlIEd0ay5Cb3ggbV92Ym94OworICAgICBwcml2YXRlIEVUaXRsZUxh YmVsIG1fdGl0bGU7CisgICAgIHByaXZhdGUgRUVudHJ5IG1fZW50cnk7CitAQCAtMTc0LDcgKzE5 NCw4IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgIHByaXZhdGUgR0xp Yi5NYWluTG9vcD8gbV9sb29wOworICAgICBwcml2YXRlIHN0cmluZz8gbV9yZXN1bHQ7CisgICAg IHByaXZhdGUgR0xpYi5TTGlzdDxzdHJpbmc+IG1fbGFuZ19saXN0OworLSAgICBwcml2YXRlIHN0 cmluZyBtX2N1cnJlbnRfbGFuZyA9ICJlbiI7CisrICAgIHByaXZhdGUgc3RyaW5nIG1fY3VycmVu dF9sYW5nX2lkID0gImVuIjsKKysgICAgcHJpdmF0ZSBzdHJpbmcgbV9jdXJyZW50X2xhbmd1YWdl ID0gIkVuZ2xpc2giOworICAgICBwcml2YXRlIHN0cmluZz8gbV91bmljb2RlX3BvaW50ID0gbnVs bDsKKyAgICAgcHJpdmF0ZSBib29sIG1fY2FuZGlkYXRlX3BhbmVsX2lzX3Zpc2libGU7CisgICAg IHByaXZhdGUgR0xpYi5IYXNoVGFibGU8c3RyaW5nLCBHTGliLlNMaXN0Pj8KK0BAIC0xODksMTEg KzIxMCw4IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgIHByaXZhdGUg R3RrLkxhYmVsW10gbV9jYW5kaWRhdGVzOworICAgICBwcml2YXRlIHN0cmluZyBtX2Vtb2ppX2Zv bnQgPSAiTW9ub3NwYWNlIDE2IjsKKyAgICAgcHJpdmF0ZSBzdHJpbmdbXSBtX2Zhdm9yaXRlcyA9 IHt9OworLSAgICAvLyBUT0RPOiBHZXQgdGhlIHNlbGVjdGVkIGNvbG9yIGZyb20gQ2FuZGlkYXRl QXJlYQorLSAgICBwcml2YXRlIEdkay5SR0JBIG1fc2VsZWN0ZWRfZmdfY29sb3IgPSBHZGsuUkdC QSgpeworLSAgICAgICAgICAgIHJlZCA9IDEuMCwgZ3JlZW4gPSAxLjAsIGJsdWUgPSAxLjAsIGFs cGhhID0gMS4wIH07CistICAgIHByaXZhdGUgR2RrLlJHQkEgbV9zZWxlY3RlZF9iZ19jb2xvciA9 IEdkay5SR0JBKCl7CistICAgICAgICAgICAgcmVkID0gMC4zMDAsIGdyZWVuID0gMC41NjUsIGJs dWUgPSAwLjg1MSwgYWxwaGEgPSAxLjAgfTsKKysgICAgcHJpdmF0ZSBib29sIG1fZW50ZXJfbm90 aWZ5X2VuYWJsZSA9IHRydWU7CisrICAgIHByaXZhdGUgdWludCBtX2VudHJ5X25vdGlmeV9zaG93 X2lkOworIAorICAgICBwdWJsaWMgc2lnbmFsIHZvaWQgY2FuZGlkYXRlX2NsaWNrZWQodWludCBp bmRleCwgdWludCBidXR0b24sIHVpbnQgc3RhdGUpOworICAgICBwdWJsaWMgc2lnbmFsIHZvaWQg bG9hZGVkX2Vtb2ppX2RpY3QoKTsKK0BAIC0yMjAsNyArMjM4LDMzIEBAIGNsYXNzIElCdXNFbW9q aWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgd2FybmluZygiQ291bGQgbm90IG9wZW4g ZGlzcGxheS4iKTsKKyAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICB9CistICAgICAgICBz dHJpbmcgZGF0YSA9ICJncmlkIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsgfSI7CisrICAg ICAgICBtX3JnYmEgPSBuZXcgVGhlbWVkUkdCQSh0aGlzKTsKKysgICAgICAgIHVpbnQgYmdfcmVk ID0gKHVpbnQpKG1fcmdiYS5ub3JtYWxfYmcucmVkICogMjU1KTsKKysgICAgICAgIHVpbnQgYmdf Z3JlZW4gPSAodWludCkobV9yZ2JhLm5vcm1hbF9iZy5ncmVlbiAqIDI1NSk7CisrICAgICAgICB1 aW50IGJnX2JsdWUgPSAodWludCkobV9yZ2JhLm5vcm1hbF9iZy5ibHVlICogMjU1KTsKKysgICAg ICAgIGRvdWJsZSBiZ19hbHBoYSA9IG1fcmdiYS5ub3JtYWxfYmcuYWxwaGE7CisrICAgICAgICBz dHJpbmcgZGF0YSA9CisrICAgICAgICAgICAgICAgICIjSUJ1c0Vtb2ppZXJXaGl0ZUxhYmVsIHsg YmFja2dyb3VuZC1jb2xvcjogIiArCisrICAgICAgICAgICAgICAgICAgICAgICAgInJnYmEoJXUs ICV1LCAldSwgJWxmKTsgIi5wcmludGYoCisrICAgICAgICAgICAgICAgICAgICAgICAgYmdfcmVk LCBiZ19ncmVlbiwgYmdfYmx1ZSwgYmdfYWxwaGEpICsKKysgICAgICAgICAgICAgICAgImJvcmRl ci13aWR0aDogNHB4OyBib3JkZXItcmFkaXVzOiAzcHg7IH0gIjsKKysKKysgICAgICAgIHVpbnQg ZmdfcmVkID0gKHVpbnQpKG1fcmdiYS5zZWxlY3RlZF9mZy5yZWQgKiAyNTUpOworKyAgICAgICAg dWludCBmZ19ncmVlbiA9ICh1aW50KShtX3JnYmEuc2VsZWN0ZWRfZmcuZ3JlZW4gKiAyNTUpOwor KyAgICAgICAgdWludCBmZ19ibHVlID0gKHVpbnQpKG1fcmdiYS5zZWxlY3RlZF9mZy5ibHVlICog MjU1KTsKKysgICAgICAgIGRvdWJsZSBmZ19hbHBoYSA9IG1fcmdiYS5zZWxlY3RlZF9mZy5hbHBo YTsKKysgICAgICAgIGJnX3JlZCA9ICh1aW50KShtX3JnYmEuc2VsZWN0ZWRfYmcucmVkICogMjU1 KTsKKysgICAgICAgIGJnX2dyZWVuID0gKHVpbnQpKG1fcmdiYS5zZWxlY3RlZF9iZy5ncmVlbiAq IDI1NSk7CisrICAgICAgICBiZ19ibHVlID0gKHVpbnQpKG1fcmdiYS5zZWxlY3RlZF9iZy5ibHVl ICogMjU1KTsKKysgICAgICAgIGJnX2FscGhhID0gbV9yZ2JhLnNlbGVjdGVkX2JnLmFscGhhOwor KyAgICAgICAgZGF0YSArPSAiI0lCdXNFbW9qaWVyU2VsZWN0ZWRMYWJlbCB7IGNvbG9yOiAiICsK KysgICAgICAgICAgICAgICAgICAgICAgICAicmdiYSgldSwgJXUsICV1LCAlbGYpOyAiLnByaW50 ZigKKysgICAgICAgICAgICAgICAgICAgICAgICBmZ19yZWQsIGZnX2dyZWVuLCBmZ19ibHVlLCBm Z19hbHBoYSkgKworKyAgICAgICAgICAgICAgICAiYmFja2dyb3VuZC1jb2xvcjogIiArCisrICAg ICAgICAgICAgICAgICAgICAgICAgInJnYmEoJXUsICV1LCAldSwgJWxmKTsgIi5wcmludGYoCisr ICAgICAgICAgICAgICAgICAgICAgICAgYmdfcmVkLCBiZ19ncmVlbiwgYmdfYmx1ZSwgYmdfYWxw aGEpICsKKysgICAgICAgICAgICAgICAgImJvcmRlci13aWR0aDogNHB4OyBib3JkZXItcmFkaXVz OiAzcHg7IH0iOworKworICAgICAgICAgR3RrLkNzc1Byb3ZpZGVyIGNzc19wcm92aWRlciA9IG5l dyBHdGsuQ3NzUHJvdmlkZXIoKTsKKyAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgY3NzX3By b3ZpZGVyLmxvYWRfZnJvbV9kYXRhKGRhdGEsIC0xKTsKK0BAIC0zMTcsNiArMzYxLDggQEAgY2xh c3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgIGxhbmdfbGlzdC5zb3J0KChh LCBiKSA9PiB7CisgICAgICAgICAgICAgc3RyaW5nIGFfbGFuZyA9IElCdXMuZ2V0X2xhbmd1YWdl X25hbWUoYSk7CisgICAgICAgICAgICAgc3RyaW5nIGJfbGFuZyA9IElCdXMuZ2V0X2xhbmd1YWdl X25hbWUoYik7CisrICAgICAgICAgICAgYV9sYW5nID0gIiVzICglcykiLnByaW50ZihhX2xhbmcs IGEpOworKyAgICAgICAgICAgIGJfbGFuZyA9ICIlcyAoJXMpIi5wcmludGYoYl9sYW5nLCBiKTsK KyAgICAgICAgICAgICByZXR1cm4gR0xpYi5zdHJjbXAoYV9sYW5nLCBiX2xhbmcpOworICAgICAg ICAgfSk7CisgICAgICAgICByZXR1cm4gbGFuZ19saXN0OworQEAgLTMyNSw4ICszNzEsOCBAQCBj bGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICBwcml2YXRlIHZvaWQgcmVsb2Fk X2Vtb2ppX2RpY3QoKSB7CisgICAgICAgICBpbml0X2Vtb2ppX2RpY3QoKTsKKyAgICAgICAgIG1h a2VfZW1vamlfZGljdCgiZW4iKTsKKy0gICAgICAgIGlmIChtX2N1cnJlbnRfbGFuZyAhPSAiZW4i KQorLSAgICAgICAgICAgIG1ha2VfZW1vamlfZGljdChtX2N1cnJlbnRfbGFuZyk7CisrICAgICAg ICBpZiAobV9jdXJyZW50X2xhbmdfaWQgIT0gImVuIikKKysgICAgICAgICAgICBtYWtlX2Vtb2pp X2RpY3QobV9jdXJyZW50X2xhbmdfaWQpOworICAgICAgICAgbG9hZGVkX2Vtb2ppX2RpY3QoKTsK KyAgICAgfQorIAorQEAgLTQ1OCwyMiArNTA0LDUwIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3Rr LldpbmRvdyB7CisgICAgICAgICB9CisgICAgIH0KKyAKKysgICAgcHJpdmF0ZSB2b2lkIGFjdGl2 YXRlZF9sYW5ndWFnZShFQm94Um93IHJvdykgeworKyAgICAgICAgbV9jYXRlZ29yeV9hY3RpdmVf aW5kZXggPSAwOworKyAgICAgICAgaWYgKG1fY3VycmVudF9sYW5nX2lkICE9IHJvdy5pZCkgewor KyAgICAgICAgICAgIG1fY3VycmVudF9sYW5nX2lkID0gcm93LmlkOworKyAgICAgICAgICAgIG1f Y3VycmVudF9sYW5ndWFnZSA9IHJvdy50ZXh0OworKyAgICAgICAgICAgIHJlbG9hZF9lbW9qaV9k aWN0KCk7CisrICAgICAgICB9CisrICAgICAgICBtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9IENh dGVnb3J5VHlwZS5FTU9KSTsKKysgICAgICAgIHNob3dfY2F0ZWdvcnlfbGlzdCgpOworKyAgICB9 CisrCisgICAgIHByaXZhdGUgdm9pZCBzaG93X2NhdGVnb3J5X2xpc3QoKSB7CisgICAgICAgICBy ZW1vdmVfYWxsX2NoaWxkcmVuKCk7CisgICAgICAgICBtX3Njcm9sbGVkX3dpbmRvdyA9IG5ldyBF U2Nyb2xsZWRXaW5kb3coKTsKKyAgICAgICAgIHNldF9maXhlZF9zaXplKCk7CistICAgICAgICBz dHJpbmcgbGFuZ3VhZ2UgPSBJQnVzLmdldF9sYW5ndWFnZV9uYW1lKG1fY3VycmVudF9sYW5nKTsK Ky0gICAgICAgIEVQYWRkZWRMYWJlbCBsYWJlbCA9IG5ldyBFUGFkZGVkTGFiZWwobGFuZ3VhZ2Us IEd0ay5BbGlnbi5DRU5URVIpOworKyAgICAgICAgRVBhZGRlZExhYmVsIGxhYmVsOworKyAgICAg ICAgaWYgKG1fY3VycmVudF9jYXRlZ29yeV90eXBlID09IENhdGVnb3J5VHlwZS5FTU9KSSkgewor KyAgICAgICAgICAgIGxhYmVsID0gbmV3IEVQYWRkZWRMYWJlbChtX2N1cnJlbnRfbGFuZ3VhZ2Us IEd0ay5BbGlnbi5DRU5URVIpOworKyAgICAgICAgfSBlbHNlIGlmIChtX2N1cnJlbnRfY2F0ZWdv cnlfdHlwZSA9PSBDYXRlZ29yeVR5cGUuTEFORykgeworKyAgICAgICAgICAgIGxhYmVsID0gbmV3 IEVQYWRkZWRMYWJlbChtX2N1cnJlbnRfbGFuZ3VhZ2UsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEd0ay5BbGlnbi5DRU5URVIsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRyYXZlbERpcmVjdGlvbi5CQUNLV0FSRCk7CisrICAgICAgICB9IGVs c2UgeworKyAgICAgICAgICAgIGxhYmVsID0gbmV3IEVQYWRkZWRMYWJlbCgiIiwgR3RrLkFsaWdu LkNFTlRFUik7CisrICAgICAgICB9CisgICAgICAgICBHdGsuQnV0dG9uIGJ1dHRvbiA9IG5ldyBH dGsuQnV0dG9uKCk7CisgICAgICAgICBidXR0b24uYWRkKGxhYmVsKTsKKyAgICAgICAgIG1fdmJv eC5hZGQoYnV0dG9uKTsKKyAgICAgICAgIGJ1dHRvbi5zaG93X2FsbCgpOworLSAgICAgICAgYnV0 dG9uLmJ1dHRvbl9wcmVzc19ldmVudC5jb25uZWN0KChlKSA9PiB7CistICAgICAgICAgICAgbV9j YXRlZ29yeV9hY3RpdmVfaW5kZXggPSAwOworLSAgICAgICAgICAgIG1fY3VycmVudF9jYXRlZ29y eV90eXBlID0gQ2F0ZWdvcnlUeXBlLkxBTkc7CistICAgICAgICAgICAgc2hvd19jYXRlZ29yeV9s aXN0KCk7CistICAgICAgICAgICAgcmV0dXJuIHRydWU7CistICAgICAgICB9KTsKKysgICAgICAg IGlmIChtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9PSBDYXRlZ29yeVR5cGUuRU1PSkkpIHsKKysg ICAgICAgICAgICBidXR0b24uYnV0dG9uX3ByZXNzX2V2ZW50LmNvbm5lY3QoKGUpID0+IHsKKysg ICAgICAgICAgICAgICAgbV9jYXRlZ29yeV9hY3RpdmVfaW5kZXggPSAwOworKyAgICAgICAgICAg ICAgICBtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9IENhdGVnb3J5VHlwZS5MQU5HOworKyAgICAg ICAgICAgICAgICBzaG93X2NhdGVnb3J5X2xpc3QoKTsKKysgICAgICAgICAgICAgICAgcmV0dXJu IHRydWU7CisrICAgICAgICAgICAgfSk7CisrICAgICAgICB9IGVsc2UgaWYgKG1fY3VycmVudF9j YXRlZ29yeV90eXBlID09IENhdGVnb3J5VHlwZS5MQU5HKSB7CisrICAgICAgICAgICAgYnV0dG9u LmJ1dHRvbl9wcmVzc19ldmVudC5jb25uZWN0KChlKSA9PiB7CisrICAgICAgICAgICAgICAgIG1f Y2F0ZWdvcnlfYWN0aXZlX2luZGV4ID0gMDsKKysgICAgICAgICAgICAgICAgbV9jdXJyZW50X2Nh dGVnb3J5X3R5cGUgPSBDYXRlZ29yeVR5cGUuRU1PSkk7CisrICAgICAgICAgICAgICAgIHNob3df Y2F0ZWdvcnlfbGlzdCgpOworKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAg ICAgICB9KTsKKysgICAgICAgIH0KKyAKKyAgICAgICAgIG1fdmJveC5hZGQobV9zY3JvbGxlZF93 aW5kb3cpOworICAgICAgICAgR3RrLlZpZXdwb3J0IHZpZXdwb3J0ID0gbmV3IEd0ay5WaWV3cG9y dChudWxsLCBudWxsKTsKK0BAIC01MjMsMjEgKzU5NywxOSBAQCBjbGFzcyBJQnVzRW1vamllciA6 IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgIH0KKyAgICAgICAgIH0gZWxzZSBpZiAobV9jdXJy ZW50X2NhdGVnb3J5X3R5cGUgPT0gQ2F0ZWdvcnlUeXBlLkxBTkcpIHsKKyAgICAgICAgICAgICBt X2xpc3RfYm94LnJvd19hY3RpdmF0ZWQuY29ubmVjdCgoYm94LCBndGtyb3cpID0+IHsKKy0gICAg ICAgICAgICAgICAgbV9jYXRlZ29yeV9hY3RpdmVfaW5kZXggPSAwOworLSAgICAgICAgICAgICAg ICBFQm94Um93IHJvdyA9IGd0a3JvdyBhcyBFQm94Um93OworLSAgICAgICAgICAgICAgICBpZiAo bV9jdXJyZW50X2xhbmcgIT0gcm93LmlkKSB7CistICAgICAgICAgICAgICAgICAgICBtX2N1cnJl bnRfbGFuZyA9IHJvdy5pZDsKKy0gICAgICAgICAgICAgICAgICAgIHJlbG9hZF9lbW9qaV9kaWN0 KCk7CistICAgICAgICAgICAgICAgIH0KKy0gICAgICAgICAgICAgICAgbV9jdXJyZW50X2NhdGVn b3J5X3R5cGUgPSBDYXRlZ29yeVR5cGUuRU1PSkk7CistICAgICAgICAgICAgICAgIHNob3dfY2F0 ZWdvcnlfbGlzdCgpOworKyAgICAgICAgICAgICAgICBhY3RpdmF0ZWRfbGFuZ3VhZ2UoZ3Rrcm93 IGFzIEVCb3hSb3cpOworICAgICAgICAgICAgIH0pOworICAgICAgICAgICAgIHVpbnQgbiA9IDE7 CisrICAgICAgICAgICAgc3RyaW5nIHByZXZfbGFuZ3VhZ2UgPSBudWxsOworICAgICAgICAgICAg IGZvcmVhY2ggKHVub3duZWQgc3RyaW5nIGlkIGluIG1fbGFuZ19saXN0KSB7CistICAgICAgICAg ICAgICAgIHN0cmluZyBzZWxlY3RlZF9sYW5ndWFnZSA9IElCdXMuZ2V0X2xhbmd1YWdlX25hbWUo aWQpOworLSAgICAgICAgICAgICAgICBFQm94Um93IHJvdyA9IG5ldyBFQm94Um93KCIiLCBpZCk7 CisrICAgICAgICAgICAgICAgIHN0cmluZyBsYW5ndWFnZSA9IElCdXMuZ2V0X2xhbmd1YWdlX25h bWUoaWQpOworKyAgICAgICAgICAgICAgICBpZiAocHJldl9sYW5ndWFnZSA9PSBsYW5ndWFnZSkK KysgICAgICAgICAgICAgICAgICAgIGxhbmd1YWdlID0gIiVzICglcykiLnByaW50ZihsYW5ndWFn ZSwgaWQpOworKyAgICAgICAgICAgICAgICBlbHNlCisrICAgICAgICAgICAgICAgICAgICBwcmV2 X2xhbmd1YWdlID0gbGFuZ3VhZ2U7CisrICAgICAgICAgICAgICAgIEVCb3hSb3cgcm93ID0gbmV3 IEVCb3hSb3cobGFuZ3VhZ2UsIGlkKTsKKyAgICAgICAgICAgICAgICAgRVBhZGRlZExhYmVsIHdp ZGdldCA9CistICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEVQYWRkZWRMYWJlbChzZWxlY3Rl ZF9sYW5ndWFnZSwgR3RrLkFsaWduLkNFTlRFUik7CisrICAgICAgICAgICAgICAgICAgICAgICAg bmV3IEVQYWRkZWRMYWJlbChsYW5ndWFnZSwgR3RrLkFsaWduLkNFTlRFUik7CisgICAgICAgICAg ICAgICAgIHJvdy5hZGQod2lkZ2V0KTsKKyAgICAgICAgICAgICAgICAgbV9saXN0X2JveC5hZGQo cm93KTsKKyAgICAgICAgICAgICAgICAgaWYgKG4rKyA9PSBtX2NhdGVnb3J5X2FjdGl2ZV9pbmRl eCkKK0BAIC01NzMsMjcgKzY0NSw2IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7 CisgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOworICAgICB9CisgCistICAgIHByaXZh dGUgdm9pZCBsYWJlbF9zZXRfYWN0aXZlX2NvbG9yKEd0ay5MYWJlbCBsYWJlbCkgeworLSAgICAg ICAgdW5vd25lZCBzdHJpbmcgdGV4dCA9IGxhYmVsLmdldF90ZXh0KCk7CistICAgICAgICBQYW5n by5BdHRyTGlzdCBhdHRycyA9IG5ldyBQYW5nby5BdHRyTGlzdCgpOworLSAgICAgICAgUGFuZ28u QXR0cmlidXRlIHBhbmdvX2F0dHIgPSBQYW5nby5hdHRyX2ZvcmVncm91bmRfbmV3KAorLSAgICAg ICAgICAgICAgICAodWludDE2KShtX3NlbGVjdGVkX2ZnX2NvbG9yLnJlZCAqIHVpbnQxNi5NQVgp LAorLSAgICAgICAgICAgICAgICAodWludDE2KShtX3NlbGVjdGVkX2ZnX2NvbG9yLmdyZWVuICog dWludDE2Lk1BWCksCistICAgICAgICAgICAgICAgICh1aW50MTYpKG1fc2VsZWN0ZWRfZmdfY29s b3IuYmx1ZSAqIHVpbnQxNi5NQVgpKTsKKy0gICAgICAgIHBhbmdvX2F0dHIuc3RhcnRfaW5kZXgg PSAwOworLSAgICAgICAgcGFuZ29fYXR0ci5lbmRfaW5kZXggPSB0ZXh0LmNoYXJfY291bnQoKTsK Ky0gICAgICAgIGF0dHJzLmluc2VydCgob3duZWQpcGFuZ29fYXR0cik7CistCistICAgICAgICBw YW5nb19hdHRyID0gUGFuZ28uYXR0cl9iYWNrZ3JvdW5kX25ldygKKy0gICAgICAgICAgICAgICAg KHVpbnQxNikobV9zZWxlY3RlZF9iZ19jb2xvci5yZWQgKiB1aW50MTYuTUFYKSwKKy0gICAgICAg ICAgICAgICAgKHVpbnQxNikobV9zZWxlY3RlZF9iZ19jb2xvci5ncmVlbiAqIHVpbnQxNi5NQVgp LAorLSAgICAgICAgICAgICAgICAodWludDE2KShtX3NlbGVjdGVkX2JnX2NvbG9yLmJsdWUgKiB1 aW50MTYuTUFYKSk7CistICAgICAgICBwYW5nb19hdHRyLnN0YXJ0X2luZGV4ID0gMDsKKy0gICAg ICAgIHBhbmdvX2F0dHIuZW5kX2luZGV4ID0gdGV4dC5jaGFyX2NvdW50KCk7CistICAgICAgICBh dHRycy5pbnNlcnQoKG93bmVkKXBhbmdvX2F0dHIpOworLSAgICAgICAgbGFiZWwuc2V0X2F0dHJp YnV0ZXMoYXR0cnMpOworLSAgICB9CistCisgICAgIHByaXZhdGUgdm9pZCBzaG93X2Fycm93X2J1 dHRvbnMoKSB7CisgICAgICAgICBHdGsuQnV0dG9uIG5leHRfYnV0dG9uID0gbmV3IEd0ay5CdXR0 b24oKTsKKyAgICAgICAgIG5leHRfYnV0dG9uLmNsaWNrZWQuY29ubmVjdCgoKSA9PiB7CitAQCAt NzA5LDEwICs3NjAsMTcgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAg ICAgICAgICB9KTsKKyAgICAgICAgIH0KKyAgICAgICAgIEVHcmlkIGdyaWQgPSBuZXcgRUdyaWQo KTsKKysgICAgICAgIGdyaWQuc2V0X3Jvd19zcGFjaW5nKDUpOworKyAgICAgICAgZ3JpZC5zZXRf Y29sdW1uX3NwYWNpbmcoNSk7CisrICAgICAgICBncmlkLnNldF9ib3JkZXJfd2lkdGgoMik7Cisg ICAgICAgICBpbnQgbiA9IDA7CisgICAgICAgICBmb3IgKHVpbnQgaSA9IHBhZ2Vfc3RhcnRfcG9z OyBpIDwgcGFnZV9lbmRfcG9zOyBpKyspIHsKKyAgICAgICAgICAgICBJQnVzLlRleHQgY2FuZGlk YXRlID0gbV9sb29rdXBfdGFibGUuZ2V0X2NhbmRpZGF0ZShpKTsKKy0gICAgICAgICAgICBHdGsu TGFiZWwgbGFiZWwgPSBuZXcgR3RrLkxhYmVsKGNhbmRpZGF0ZS50ZXh0KTsKKysgICAgICAgICAg ICBHdGsuTGFiZWwgbGFiZWw7CisrICAgICAgICAgICAgaWYgKGkgPT0gY3Vyc29yKQorKyAgICAg ICAgICAgICAgICBsYWJlbCA9IG5ldyBFU2VsZWN0ZWRMYWJlbChjYW5kaWRhdGUudGV4dCkgYXMg R3RrLkxhYmVsOworKyAgICAgICAgICAgIGVsc2UKKysgICAgICAgICAgICAgICAgbGFiZWwgPSBu ZXcgRVdoaXRlTGFiZWwoY2FuZGlkYXRlLnRleHQpIGFzIEd0ay5MYWJlbDsKKyAgICAgICAgICAg ICBzdHJpbmcgZW1vamlfZm9udCA9IG1fZW1vamlfZm9udDsKKyAgICAgICAgICAgICBpZiAoY2Fu ZGlkYXRlLnRleHQuY2hhcl9jb3VudCgpID4gMikgeworICAgICAgICAgICAgICAgICBQYW5nby5G b250RGVzY3JpcHRpb24gZm9udF9kZXNjID0KK0BAIC03MjYsOSArNzg0LDYgQEAgY2xhc3MgSUJ1 c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgICAgICBsYWJlbC5zZXRfbWFya3VwKG1h cmt1cCk7CisgICAgICAgICAgICAgbGFiZWwuc2V0X2hhbGlnbihHdGsuQWxpZ24uRklMTCk7Cisg ICAgICAgICAgICAgbGFiZWwuc2V0X3ZhbGlnbihHdGsuQWxpZ24uRklMTCk7CistICAgICAgICAg ICAgaWYgKGkgPT0gY3Vyc29yKSB7CistICAgICAgICAgICAgICAgIGxhYmVsX3NldF9hY3RpdmVf Y29sb3IobGFiZWwpOworLSAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBHdGsuRXZlbnRCb3gg Y2FuZGlkYXRlX2Vib3ggPSBuZXcgR3RrLkV2ZW50Qm94KCk7CisgICAgICAgICAgICAgY2FuZGlk YXRlX2Vib3guYWRkKGxhYmVsKTsKKyAgICAgICAgICAgICAvLyBNYWtlIGEgY29weSBvZiBpIHRv IHdvcmthcm91bmQgYSBidWcgaW4gdmFsYS4KK0BAIC03MzgsNiArNzkzLDIzIEBAIGNsYXNzIElC dXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgICAgIGNhbmRpZGF0ZV9jbGlj a2VkKGluZGV4LCBlLmJ1dHRvbiwgZS5zdGF0ZSk7CisgICAgICAgICAgICAgICAgIHJldHVybiB0 cnVlOworICAgICAgICAgICAgIH0pOworKyAgICAgICAgICAgIC8vIG1fZW50ZXJfbm90aWZ5X2Vu YWJsZSBpcyBhZGRlZCBiZWNhdXNlCisrICAgICAgICAgICAgLy8gZW50ZXJfbm90aWZ5X2V2ZW50 IGNvbmZsaWN0cyB3aXRoIGtleWJvYXJkIG9wZXJhdGlvbnMuCisrICAgICAgICAgICAgaWYgKG1f ZW50ZXJfbm90aWZ5X2VuYWJsZSkgeworKyAgICAgICAgICAgICAgICBjYW5kaWRhdGVfZWJveC5l bnRlcl9ub3RpZnlfZXZlbnQuY29ubmVjdCgoZSkgPT4geworKyAgICAgICAgICAgICAgICAgICAg bV9sb29rdXBfdGFibGUuc2V0X2N1cnNvcl9wb3MoaW5kZXgpOworKyAgICAgICAgICAgICAgICAg ICAgaWYgKG1fZW50cnlfbm90aWZ5X3Nob3dfaWQgPiAwKSB7CisrICAgICAgICAgICAgICAgICAg ICAgICAgR0xpYi5Tb3VyY2UucmVtb3ZlKG1fZW50cnlfbm90aWZ5X3Nob3dfaWQpOworKyAgICAg ICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGltZW91dCBpcyBu b3QgYWRkZWQsIG1lbW9yeSBsZWFrIGhhcHBlbnMgYW5kCisrICAgICAgICAgICAgICAgICAgICAv LyBidXR0b25fcHJlc3NfZXZlbnQgc2lnbmFsIGRvZXMgbm90IHdvcmsgYWJvdmUuCisrICAgICAg ICAgICAgICAgICAgICBtX2VudHJ5X25vdGlmeV9zaG93X2lkID0gR0xpYi5UaW1lb3V0LmFkZCgx MDAsICgpID0+IHsKKysgICAgICAgICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5l bCgpOworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgICAgICAg ICAgICAgICAgIH0pOworKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisrICAgICAg ICAgICAgICAgIH0pOworKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBncmlkLmF0dGFjaChj YW5kaWRhdGVfZWJveCwKKyAgICAgICAgICAgICAgICAgICAgICAgICBuICUgKGludClFTU9KSV9H UklEX1BBR0UsIG4gLyAoaW50KUVNT0pJX0dSSURfUEFHRSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAxLCAxKTsKK0BAIC03OTcsNiArODY5LDcgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsu V2luZG93IHsKKyAgICAgfQorIAorICAgICBwcml2YXRlIHZvaWQgaGlkZV9jYW5kaWRhdGVfcGFu ZWwoKSB7CisrICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSB0cnVlOworICAgICAgICAg bV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSA9IGZhbHNlOworICAgICAgICAgaWYgKG1fbG9v cC5pc19ydW5uaW5nKCkpCisgICAgICAgICAgICAgc2hvd19jYXRlZ29yeV9saXN0KCk7CitAQCAt ODQxLDYgKzkxNCw3IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgIH0K KyAKKyAgICAgcHJpdmF0ZSB2b2lkIGNhbmRpZGF0ZV9wYW5lbF9jdXJzb3JfZG93bigpIHsKKysg ICAgICAgIG1fZW50ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworICAgICAgICAgdWludCBuY2Fu ZGlkYXRlcyA9IG1fbG9va3VwX3RhYmxlLmdldF9udW1iZXJfb2ZfY2FuZGlkYXRlcygpOworICAg ICAgICAgdWludCBjdXJzb3IgPSBtX2xvb2t1cF90YWJsZS5nZXRfY3Vyc29yX3BvcygpOworICAg ICAgICAgaWYgKChjdXJzb3IgKyBFTU9KSV9HUklEX1BBR0UpIDwgbmNhbmRpZGF0ZXMpIHsKK0BA IC04NTQsNiArOTI4LDcgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAg fQorIAorICAgICBwcml2YXRlIHZvaWQgY2FuZGlkYXRlX3BhbmVsX2N1cnNvcl91cCgpIHsKKysg ICAgICAgIG1fZW50ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworICAgICAgICAgaW50IG5jYW5k aWRhdGVzID0gKGludCltX2xvb2t1cF90YWJsZS5nZXRfbnVtYmVyX29mX2NhbmRpZGF0ZXMoKTsK KyAgICAgICAgIGludCBjdXJzb3IgPSAoaW50KW1fbG9va3VwX3RhYmxlLmdldF9jdXJzb3JfcG9z KCk7CisgICAgICAgICBpbnQgaGlnaGVzdF9wb3MgPQorQEAgLTg5MSw2ICs5NjYsNyBAQCBjbGFz cyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgbV9pbnB1dF9jb250ZXh0X3Bh dGggPSBpbnB1dF9jb250ZXh0X3BhdGg7CisgICAgICAgICBtX2NhbmRpZGF0ZV9wYW5lbF9pc192 aXNpYmxlID0gZmFsc2U7CisgICAgICAgICBtX3Jlc3VsdCA9IG51bGw7CisrICAgICAgICBtX2Vu dGVyX25vdGlmeV9lbmFibGUgPSB0cnVlOworIAorICAgICAgICAgLyogTGV0IGd0ayByZWNhbGN1 bGF0ZSB0aGUgd2luZG93IHNpemUuICovCisgICAgICAgICByZXNpemUoMSwgMSk7CitAQCAtMTAx MSw3ICsxMDg3LDEwIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAg ICAgICAgfSBlbHNlIGlmIChtX2NhdGVnb3J5X2FjdGl2ZV9pbmRleCA+IDApIHsKKyAgICAgICAg ICAgICAgICAgR3RrLkxpc3RCb3hSb3cgZ3Rrcm93ID0gbV9saXN0X2JveC5nZXRfc2VsZWN0ZWRf cm93KCk7CisgICAgICAgICAgICAgICAgIEVCb3hSb3cgcm93ID0gZ3Rrcm93IGFzIEVCb3hSb3c7 CistICAgICAgICAgICAgICAgIHNob3dfZW1vamlfZm9yX2NhdGVnb3J5KHJvdyk7CisrICAgICAg ICAgICAgICAgIGlmIChtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9PSBDYXRlZ29yeVR5cGUuRU1P SkkpCisrICAgICAgICAgICAgICAgICAgICBzaG93X2Vtb2ppX2Zvcl9jYXRlZ29yeShyb3cpOwor KyAgICAgICAgICAgICAgICBlbHNlIGlmIChtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9PSBDYXRl Z29yeVR5cGUuTEFORykKKysgICAgICAgICAgICAgICAgICAgIGFjdGl2YXRlZF9sYW5ndWFnZShy b3cpOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg IGNhc2UgR2RrLktleS5CYWNrU3BhY2U6CitAQCAtMTAyNiw2ICsxMTA1LDcgQEAgY2xhc3MgSUJ1 c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg ICAgICAgfQorICAgICAgICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7 CisrICAgICAgICAgICAgICAgIG1fZW50ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworICAgICAg ICAgICAgICAgICBtX2xvb2t1cF90YWJsZS5jdXJzb3JfZG93bigpOworICAgICAgICAgICAgICAg ICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOworICAgICAgICAgICAgIH0KK0BAIC0xMDM1LDYgKzEx MTUsNyBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgIHJl dHVybiB0cnVlOworICAgICAgICAgY2FzZSBHZGsuS2V5LlJpZ2h0OgorICAgICAgICAgICAgIGlm IChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7CisrICAgICAgICAgICAgICAgIG1fZW50 ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworICAgICAgICAgICAgICAgICBtX2xvb2t1cF90YWJs ZS5jdXJzb3JfZG93bigpOworICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgp OworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKK0BAIC0xMDQyLDYgKzExMjMsNyBAQCBj bGFzcyBJQnVzRW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgIGJyZWFrOworICAg ICAgICAgY2FzZSBHZGsuS2V5LkxlZnQ6CisgICAgICAgICAgICAgaWYgKG1fY2FuZGlkYXRlX3Bh bmVsX2lzX3Zpc2libGUpIHsKKysgICAgICAgICAgICAgICAgbV9lbnRlcl9ub3RpZnlfZW5hYmxl ID0gZmFsc2U7CisgICAgICAgICAgICAgICAgIG1fbG9va3VwX3RhYmxlLmN1cnNvcl91cCgpOwor ICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOworICAgICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKK0BAIC0xMDYxLDYgKzExNDMsNyBAQCBjbGFzcyBJQnVzRW1vamllciA6 IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgY2FzZSBH ZGsuS2V5LlBhZ2VfRG93bjoKKyAgICAgICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfaXNf dmlzaWJsZSkgeworKyAgICAgICAgICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSBmYWxz ZTsKKyAgICAgICAgICAgICAgICAgbV9sb29rdXBfdGFibGUucGFnZV9kb3duKCk7CisgICAgICAg ICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7CisgICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworQEAgLTEwNjgsNiArMTE1MSw3IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldp bmRvdyB7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBjYXNlIEdkay5LZXkuUGFnZV9V cDoKKyAgICAgICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkgeworKyAg ICAgICAgICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSBmYWxzZTsKKyAgICAgICAgICAg ICAgICAgbV9sb29rdXBfdGFibGUucGFnZV91cCgpOworICAgICAgICAgICAgICAgICBzaG93X2Nh bmRpZGF0ZV9wYW5lbCgpOworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKy0tIAorMi43 LjQKIAoKZGlmZiAtLWdpdCBhL2lidXMuc3BlYyBiL2lidXMuc3BlYwppbmRleCBiMTRkNjUzLi5m MDJkMWM2IDEwMDY0NAotLS0gYS9pYnVzLnNwZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0yNSwxMiAr MjUsMTAgQEAKICVlbmRpZgogCiAlZ2xvYmFsIGRidXNfcHl0aG9uX3ZlcnNpb24gMC44My4wCi0l Z2xvYmFsIGFubm90YXRpb25fbmFtZSAgICBjbGRyLWVtb2ppLWFubm90YXRpb24KLSVnbG9iYWwg YW5ub3RhdGlvbl92ZXJzaW9uIDMwLjAuM18yCiAKIE5hbWU6ICAgICAgICAgICBpYnVzCiBWZXJz aW9uOiAgICAgICAgMS41LjE1Ci1SZWxlYXNlOiAgICAgICAgMSV7P2Rpc3R9CitSZWxlYXNlOiAg ICAgICAgMiV7P2Rpc3R9CiBTdW1tYXJ5OiAgICAgICAgSW50ZWxsaWdlbnQgSW5wdXQgQnVzIGZv ciBMaW51eCBPUwogTGljZW5zZTogICAgICAgIExHUEx2MisKIEdyb3VwOiAgICAgICAgICBTeXN0 ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzCkBAIC0zOSw5ICszNyw5IEBAIFNvdXJjZTA6ICAgICAg ICBodHRwczovL2dpdGh1Yi5jb20vaWJ1cy8lbmFtZS9yZWxlYXNlcy9kb3dubG9hZC8le3ZlcnNp b259LyV7bmFtCiBTb3VyY2UxOiAgICAgICAgJXtuYW1lfS14aW5wdXQKIFNvdXJjZTI6ICAgICAg ICAle25hbWV9LmNvbmYuNQogIyBXaWxsIHJlbW92ZSB0aGUgYW5ub3RhdGlvbiB0YXJiYWxsIG9u Y2UgdGhlIHJwbSBpcyBhdmFpbGFibGUgb24gRmVkb3JhCi1Tb3VyY2UzOiAgICAgICAgaHR0cHM6 Ly9naXRodWIuY29tL2Z1aml3YXJhdC8lYW5ub3RhdGlvbl9uYW1lL3JlbGVhc2VzL2Rvd25sb2Fk LyV7YW5ub3RhdGlvbl92ZXJzaW9ufS8le2Fubm90YXRpb25fbmFtZX0tJXthbm5vdGF0aW9uX3Zl cnNpb259LnRhci5negogIyBVcHN0cmVhbWVkIHBhdGNoZXMuCiAjIFBhdGNoMDogICAgICAgICAl JXtuYW1lfS1IRUFELnBhdGNoCitQYXRjaDA6ICAgICAgICAgJXtuYW1lfS1IRUFELnBhdGNoCiAK IEJ1aWxkUmVxdWlyZXM6ICBnZXR0ZXh0LWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgbGlidG9vbApA QCAtNzQsNiArNzIsNyBAQCBCdWlsZFJlcXVpcmVzOiAgcXQ1LXF0YmFzZS1kZXZlbAogQnVpbGRS ZXF1aXJlczogIG5vZGVqcy1lbW9qaW9uZS1qc29uCiBCdWlsZFJlcXVpcmVzOiAganNvbi1nbGli LWRldmVsCiAlZW5kaWYKK0J1aWxkUmVxdWlyZXM6ICBjbGRyLWVtb2ppLWFubm90YXRpb24KIAog UmVxdWlyZXM6ICAgICAgICV7bmFtZX0tbGlicyV7P19pc2F9ICAgPSAle3ZlcnNpb259LSV7cmVs ZWFzZX0KIFJlcXVpcmVzOiAgICAgICAle25hbWV9LWd0azIlez9faXNhfSAgID0gJXt2ZXJzaW9u fS0le3JlbGVhc2V9CkBAIC0yMzIsMTEgKzIzMSwxMiBAQCBUaGUgaWJ1cy1kZXZlbC1kb2NzIHBh Y2thZ2UgY29udGFpbnMgZGV2ZWxvcGVyIGRvY3VtZW50YXRpb24gZm9yIElCdXMKICVzZXR1cCAt cQogIyAlJXBhdGNoMCAtcDEKICMgY3AgY2xpZW50L2d0azIvaWJ1c2ltY29udGV4dC5jIGNsaWVu dC9ndGszL2lidXNpbWNvbnRleHQuYyB8fAotemNhdCAlU09VUkNFMyB8IHRhciB4ZnZwIC0KKyVw YXRjaDAgLXAxCiAKICVidWlsZAogI2F1dG9yZWNvbmYgLWYgLWkgLXYKICNtYWtlIC1DIHVpL2d0 azMgbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljCisjbWFrZSAtQyB0b29scyBtYWludGFpbmVyLWNs ZWFuLWdlbmVyaWMKICVjb25maWd1cmUgXAogICAgIC0tZGlzYWJsZS1zdGF0aWMgXAogICAgIC0t ZW5hYmxlLWd0azIgXApAQCAtMjU2LDkgKzI1NiwxMCBAQCB6Y2F0ICVTT1VSQ0UzIHwgdGFyIHhm dnAgLQogJWlmbmFyY2ggJXtub2RlanNfYXJjaGVzfQogICAgIC0tZGlzYWJsZS1lbW9qaS1kaWN0 IFwKICVlbmRpZgotICAgIC0td2l0aC1lbW9qaS1hbm5vdGF0aW9uLWRpcj0kUFdELyVhbm5vdGF0 aW9uX25hbWUtJWFubm90YXRpb25fdmVyc2lvbi9hbm5vdGF0aW9ucyBcCiAgICAgJXtuaWx9CiAK K21ha2UgLUMgdWkvZ3RrMyBtYWludGFpbmVyLWNsZWFuLWdlbmVyaWMKK21ha2UgLUMgdG9vbHMg bWFpbnRhaW5lci1jbGVhbi1nZW5lcmljCiBtYWtlICV7P19zbXBfbWZsYWdzfQogCiAlaW5zdGFs bApAQCAtNDI1LDYgKzQyNiwxMSBAQCBndGstcXVlcnktaW1tb2R1bGVzLTMuMC0le19faXNhX2Jp dHN9IC0tdXBkYXRlLWNhY2hlICY+IC9kZXYvbnVsbCB8fCA6CiAle19kYXRhZGlyfS9ndGstZG9j L2h0bWwvKgogCiAlY2hhbmdlbG9nCisqIFRodSBNYXIgMDkgMjAxNyBUYWthbyBGdWppd2FyYSA8 dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjUuMTUtMgorLSBBZGRlZCBpYnVzLUhFQUQucGF0Y2gg dG8gZ2V0IHVwc3RyZWFtIHBhdGNoZXMKKyAgRml4ZWQgaWJ1c19lbW9qaWVyX3J1bigpIFNJR0FC UlQgd2l0aCBgaWJ1cyBlbW9qaWAKKyAgRW5oYW5jZWQgdGhlbWUgY29sb3Igb24gZW1vamkgY2Fu ZGlkYXRlcworCiAqIE1vbiBNYXIgMDYgMjAxNyBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVk aGF0LmNvbT4gLSAxLjUuMTUtMQogLSBCdW1wZWQgdG8gMS41LjE1CiAKCmRpZmYgLS1naXQgYS9z b3VyY2VzIGIvc291cmNlcwppbmRleCA5ZTA2MDVjLi5jZjc4ZDVhIDEwMDY0NAotLS0gYS9zb3Vy Y2VzCisrKyBiL3NvdXJjZXMKQEAgLTEsMiArMSBAQAogU0hBNTEyIChpYnVzLTEuNS4xNS50YXIu Z3opID0gNGU1ODhhY2YyY2EwMTcyYjM2NTYzMGRjZmUyZDkwNjJlNzU4M2U1MGE0NGQ0MzVlYzA1 YzhlMzk3NmM2Y2FmNTRjNDcwODczM2YxZjdkY2U1ZWY3NzI0MjU0NDY5ZWU1YzdhYjNiMDg2ZjBj YmVhMTg3NzVjODk0ODYzYjBjM2UKLVNIQTUxMiAoY2xkci1lbW9qaS1hbm5vdGF0aW9uLTMwLjAu M18yLnRhci5neikgPSAxNjk0ZmNlZjYzYmU3NWY4MGEyZDc2MDY5NjQyMmI1OTFmZGZlY2EyODE4 NmYyYzEwNDE0Y2I3NTQ5OTExMzc4ZmFiMmVlOTkyZWI1NzhjNDNjNWFjMmRhNjJiZmEwZTg0Njgx MGZkZjFkNzU2ZjE1MTg0YTQ0ZjA0MGYxMTFjMQo=