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 ctrl-c,v,x for annotations and ctrl-shift-c for emoji Date: Sun, 31 May 2026 02:06:34 GMT Message-ID: <178019319424.1.11114196093232357777.rpms-ibus-49a428b52e0a@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 49a428b52e0a4c23776861364c6d77d07d2b26fe ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA0OWE0MjhiNTJlMGE0YzIzNzc2ODYxMzY0YzZkNzdkMDdkMmIyNmZlCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDE3LTA1LTI5VDEyOjM2OjE3KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs2MDAvLTEgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzQ5YTQyOGI1MmUwYTRjMjM3NzY4NjEz NjRjNmQ3N2QwN2QyYjI2ZmU/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIEFkZGVkIGN0cmwtYyx2LHggZm9yIGFubm90YXRpb25zIGFuZCBjdHJsLXNoaWZ0LWMg Zm9yIGVtb2ppCgotIEFkZGVkIE1hbGF5IGFuZCBNb25nb2xpYW4ga2V5bWFwcwotIE1hZGUgYWxs IGVtb2ppIGRpY3RzIHRvIGZ1bGx5IHF1YWxpZmllZAoKLS0tCmRpZmYgLS1naXQgYS9pYnVzLUhF QUQucGF0Y2ggYi9pYnVzLUhFQUQucGF0Y2gKaW5kZXggZTY5ZGUyOS4uNjM5MmZlYiAxMDA2NDQK LS0tIGEvaWJ1cy1IRUFELnBhdGNoCisrKyBiL2lidXMtSEVBRC5wYXRjaApAQCAtMCwwICsxLDU5 MCBAQAorRnJvbSA0ZmUzMDUwZWZhNzMzNWY4Mjg3MGZiMWQ1YTFkMTcwZDIwYWZjMTYwIE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21h aWwuY29tPgorRGF0ZTogTW9uLCAyMiBNYXkgMjAxNyAxMjowNDoyOCArMDkwMAorU3ViamVjdDog W1BBVENIXSBjb25maWd1cmU6IENoYW5nZSByZWxhdGl2ZSBwYXRocyB0byBhYnNvbHV0ZSBvbmVz CisKK0JVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8xOTI2CitSPVNoYXdu LlAuSHVhbmdAZ21haWwuY29tCisKK1JldmlldyBVUkw6IGh0dHBzOi8vY29kZXJldmlldy5hcHBz cG90LmNvbS8zMjI5OTAwNDMKKy0tLQorIGNvbmZpZ3VyZS5hYyB8IDExICsrKysrKysrKysrCisg MSBmaWxlIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL2NvbmZpZ3Vy ZS5hYyBiL2NvbmZpZ3VyZS5hYworaW5kZXggMmNjOTZkMS4uY2I0OGFkNCAxMDA2NDQKKy0tLSBh L2NvbmZpZ3VyZS5hYworKysrIGIvY29uZmlndXJlLmFjCitAQCAtNjM0LDEwICs2MzQsMjEgQEAg aWYgdGVzdCB4IiRlbmFibGVfZW1vamlfZGljdCIgPSB4InllcyI7IHRoZW4KKyAgICAgaWYgdGVz dCAhIC1mICRVTklDT0RFX0VNT0pJX0RJUi9lbW9qaS10ZXN0LnR4dCA7IHRoZW4KKyAgICAgICAg IEFDX01TR19FUlJPUihOb3QgZm91bmQgJFVOSUNPREVfRU1PSklfRElSL2Vtb2ppLXRlc3QudHh0 LiBZb3UgY2FuIGdldCBcCisgdGhlIGVtb2ppIGZpbGVzIGZyb20gaHR0cDovL3d3dy51bmljb2Rl Lm9yZy9QdWJsaWMvZW1vamkvNC4wLykKKysgICAgZWxzZQorKyAgICAgICAgIyBQT1NJWCBTSEVM TCBoYXMgbm8gJHtGT086MDoxfQorKyAgICAgICAgaGVhZD1gZWNobyAiJFVOSUNPREVfRU1PSklf RElSIiB8IGN1dCAtYzFgOworKyAgICAgICAgaWYgdGVzdCAkaGVhZCAhPSAiLyIgOyB0aGVuCisr ICAgICAgICAgICAgVU5JQ09ERV9FTU9KSV9ESVI9YHJlYWxwYXRoICIkVU5JQ09ERV9FTU9KSV9E SVIiYAorKyAgICAgICAgZmkKKyAgICAgZmkKKyAgICAgaWYgdGVzdCAhIC1mICRFTU9KSV9BTk5P VEFUSU9OX0RJUi9lbi54bWwgOyB0aGVuCisgICAgICAgICBBQ19NU0dfRVJST1IoTm90IGZvdW5k ICRFTU9KSV9BTk5PVEFUSU9OX0RJUi9lbi54bWwuIFlvdSBjYW4gZ2V0IFwKKyBodHRwczovL2dp dGh1Yi5jb20vZnVqaXdhcmF0L2NsZHItZW1vamktYW5ub3RhdGlvbikKKysgICAgZWxzZQorKyAg ICAgICAgaGVhZD1gZWNobyAiJEVNT0pJX0FOTk9UQVRJT05fRElSIiB8IGN1dCAtYzFgOworKyAg ICAgICAgaWYgdGVzdCAkaGVhZCAhPSAiLyIgOyB0aGVuCisrICAgICAgICAgICAgRU1PSklfQU5O T1RBVElPTl9ESVI9YHJlYWxwYXRoICIkRU1PSklfQU5OT1RBVElPTl9ESVIiYAorKyAgICAgICAg ZmkKKyAgICAgZmkKKyAgICAgZW5hYmxlX2Vtb2ppX2RpY3Q9InllcyAoZW5hYmxlZCwgdXNlIC0t ZGlzYWJsZS1lbW9qaS1kaWN0IHRvIGRpc2FibGUpIgorIGZpCistLSAKKzIuOS4zCisKK0Zyb20g NDRkMDUzNTc3YTZhYzExNWYzZmQzYjdiZWI3YmRkNjVkYTgxYWE2NCBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0Rh dGU6IFdlZCwgMjQgTWF5IDIwMTcgMTE6NTI6MTkgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gZW5n aW5lOiBBZGQgTWFsYXkgYW5kIE1vbmdvbGlhbiBrZXltYXBzCisKK1I9U2hhd24uUC5IdWFuZ0Bn bWFpbC5jb20KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzMy NTc5MDA0MworLS0tCisgZW5naW5lL3NpbXBsZS54bWwuaW4gfCAyMiArKysrKysrKysrKysrKysr KysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDIyIGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBh L2VuZ2luZS9zaW1wbGUueG1sLmluIGIvZW5naW5lL3NpbXBsZS54bWwuaW4KK2luZGV4IGMwODAw MGYuLmYzNWQ3YTUgMTAwNjQ0CistLS0gYS9lbmdpbmUvc2ltcGxlLnhtbC5pbgorKysrIGIvZW5n aW5lL3NpbXBsZS54bWwuaW4KK0BAIC03MDYsNSArNzA2LDI3IEBACisgICAgICAgICAgICAgICAg ICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKyAJCQk8cmFuaz4xPC9yYW5rPgor IAkJPC9lbmdpbmU+CisrICAgICAgICAgICAgICAgIDxlbmdpbmU+CisrICAgICAgICAgICAgICAg ICAgICAgICAgPG5hbWU+eGtiOm15Ojptc2E8L25hbWU+CisrICAgICAgICAgICAgICAgICAgICAg ICAgPGxhbmd1YWdlPm1zPC9sYW5ndWFnZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bGlj ZW5zZT5HUEw8L2xpY2Vuc2U+CisrICAgICAgICAgICAgICAgICAgICAgICAgPGF1dGhvcj5QZW5n IEh1YW5nICZsdDtzaGF3bi5wLmh1YW5nQGdtYWlsLmNvbSZndDs8L2F1dGhvcj4KKysgICAgICAg ICAgICAgICAgICAgICAgICA8bGF5b3V0Pm15PC9sYXlvdXQ+CisrICAgICAgICAgICAgICAgICAg ICAgICAgPGxvbmduYW1lPk1hbGF5IChKYXdpKTwvbG9uZ25hbWU+CisrICAgICAgICAgICAgICAg ICAgICAgICAgPGRlc2NyaXB0aW9uPk1hbGF5IChKYXdpKTwvZGVzY3JpcHRpb24+CisrICAgICAg ICAgICAgICAgICAgICAgICAgPGljb24+aWJ1cy1rZXlib2FyZDwvaWNvbj4KKysgICAgICAgICAg ICAgICAgICAgICAgICA8cmFuaz4xPC9yYW5rPgorKyAgICAgICAgICAgICAgICA8L2VuZ2luZT4K KysgICAgICAgICAgICAgICAgPGVuZ2luZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bmFt ZT54a2I6bW46Om1vbjwvbmFtZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bGFuZ3VhZ2U+ bW48L2xhbmd1YWdlPgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxsaWNlbnNlPkdQTDwvbGlj ZW5zZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8YXV0aG9yPlBlbmcgSHVhbmcgJmx0O3No YXduLnAuaHVhbmdAZ21haWwuY29tJmd0OzwvYXV0aG9yPgorKyAgICAgICAgICAgICAgICAgICAg ICAgIDxsYXlvdXQ+bW48L2xheW91dD4KKysgICAgICAgICAgICAgICAgICAgICAgICA8bG9uZ25h bWU+TW9uZ29saWFuPC9sb25nbmFtZT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8ZGVzY3Jp cHRpb24+TW9uZ29saWFuPC9kZXNjcmlwdGlvbj4KKysgICAgICAgICAgICAgICAgICAgICAgICA8 aWNvbj5pYnVzLWtleWJvYXJkPC9pY29uPgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxyYW5r PjE8L3Jhbms+CisrICAgICAgICAgICAgICAgIDwvZW5naW5lPgorIAk8L2VuZ2luZXM+CisgPC9j b21wb25lbnQ+CistLSAKKzIuOS4zCisKK0Zyb20gMDgxZDA5ZjFhOTI3ZjQ1OWRhY2RhM2JjYzU5 YTE2NzhjYTJmOWE5NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8 dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMjkgTWF5IDIwMTcgMTE6NTQ6 MzEgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gdWkvZ3RrMzogRW1vamllciBzdXBwb3J0cyBDdHJs LWMsdix4IGFuZCBDdHJsLVNoaWZ0LWMKKworQ3RybC1bY3x2fHhdIGNvcHksIHBhc3RlLCBvciBj dXQgdGhlIGVtb2ppIGFubm90YXRvbnMuCitDdHJsLVNoaWZ0LWMgY29waWVzIHRoZSBzZWxlY3Rl ZCBlbW9qaS4KK0Fsc28gQ3RybC1CYWNrc3BhY2UgaXMgaW1wbGVtZW50ZWQgdG8gZGVsZXRlIGFu IGFubm90YXRpb24gd29yZC4KK0Fsc28gdXBkYXRlZCBpYnVzLWVtb2ppLjcuaW4gbWFuIHBhZ2Uu CisKK1I9cGVuZ2h1YW5nQGdvb2dsZS5jb20KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2 aWV3LmFwcHNwb3QuY29tLzMxNjY1MDA0MworLS0tCisgdWkvZ3RrMy9lbW9qaWVyLnZhbGEgICAg fCA1OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCisg dWkvZ3RrMy9pYnVzLWVtb2ppLjcuaW4gfCAxMSArKysrKysrKysrCisgMiBmaWxlcyBjaGFuZ2Vk LCA2NyBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvdWkvZ3Rr My9lbW9qaWVyLnZhbGEgYi91aS9ndGszL2Vtb2ppZXIudmFsYQoraW5kZXggZDBkNjllZC4uMWQx MDVmZCAxMDA2NDQKKy0tLSBhL3VpL2d0azMvZW1vamllci52YWxhCisrKysgYi91aS9ndGszL2Vt b2ppZXIudmFsYQorQEAgLTEzOTIsNyArMTM5MiwyNiBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0 ay5BcHBsaWNhdGlvbldpbmRvdyB7CisgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg ICBjYXNlIEdkay5LZXkuQmFja1NwYWNlOgorICAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF90 ZXh0KCkubGVuKCkgPiAwKSB7CistICAgICAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlf bmFtZShtX2VudHJ5LCAiYmFja3NwYWNlIik7CisrICAgICAgICAgICAgICAgIGlmICgobW9kaWZp ZXJzICYgR2RrLk1vZGlmaWVyVHlwZS5DT05UUk9MX01BU0spICE9IDApIHsKKysgICAgICAgICAg ICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlfbmFtZShtX2VudHJ5LCAiZGVsZXRlLWZyb20t Y3Vyc29yIiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBH dGsuRGVsZXRlVHlwZS5XT1JEX0VORFMsIC0xKTsKKysgICAgICAgICAgICAgICAgfSBlbHNlIHsK KysgICAgICAgICAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlfbmFtZShtX2VudHJ5LCAi YmFja3NwYWNlIik7CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgcmV0dXJu IHRydWU7CisrICAgICAgICAgICAgfQorKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgY2Fz ZSBHZGsuS2V5LkRlbGV0ZToKKysgICAgICAgIGNhc2UgR2RrLktleS5LUF9EZWxldGU6CisrICAg ICAgICAgICAgaWYgKG1fZW50cnkuZ2V0X3RleHQoKS5sZW4oKSA+IDApIHsKKysgICAgICAgICAg ICAgICAgaWYgKChtb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBlLkNPTlRST0xfTUFTSykgIT0g MCkgeworKyAgICAgICAgICAgICAgICAgICAgR0xpYi5TaWduYWwuZW1pdF9ieV9uYW1lKG1fZW50 cnksICJkZWxldGUtZnJvbS1jdXJzb3IiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEd0ay5EZWxldGVUeXBlLldPUkRfRU5EUywgMSk7CisrICAgICAgICAg ICAgICAgIH0gZWxzZSB7CisrICAgICAgICAgICAgICAgICAgICBHTGliLlNpZ25hbC5lbWl0X2J5 X25hbWUobV9lbnRyeSwgImRlbGV0ZS1mcm9tLWN1cnNvciIsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLkRlbGV0ZVR5cGUuQ0hBUlMsIDEpOworKyAg ICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgIGNhc2UgR2RrLktleS5zcGFjZToK K0BAIC0xNDQ1LDYgKzE0NjQsMTAgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRp b25XaW5kb3cgeworICAgICAgICAgICAgIGlmIChrZXlfcHJlc3NfY3Vyc29yX2hvbWVfZW5kKGtl eXZhbCwgbW9kaWZpZXJzKSkKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg ICAgICAgYnJlYWs7CisrICAgICAgICBjYXNlIEdkay5LZXkuSW5zZXJ0OgorKyAgICAgICAgY2Fz ZSBHZGsuS2V5LktQX0luc2VydDoKKysgICAgICAgICAgICBHTGliLlNpZ25hbC5lbWl0X2J5X25h bWUobV9lbnRyeSwgInRvZ2dsZS1vdmVyd3JpdGUiKTsKKysgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICAgICAgIH0KKyAKKyAgICAgICAgIGlmICgobW9kaWZpZXJzICYgR2RrLk1vZGlmaWVy VHlwZS5DT05UUk9MX01BU0spICE9IDApIHsKK0BAIC0xNDcwLDggKzE0OTMsMTMgQEAgY2xhc3Mg SUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRpb25XaW5kb3cgeworICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgIGNh c2UgR2RrLktleS51OgorLSAgICAgICAgICAgICAgICBpZiAoa2V5X3ByZXNzX2VzY2FwZSgpKQor KyAgICAgICAgICAgICAgICBpZiAobV9lbnRyeS5nZXRfdGV4dCgpLmxlbigpID4gMCkgeworKyAg ICAgICAgICAgICAgICAgICAgR0xpYi5TaWduYWwuZW1pdF9ieV9uYW1lKG1fZW50cnksCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImRlbGV0ZS1mcm9tLWN1 cnNvciIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR3Rr LkRlbGV0ZVR5cGUuUEFSQUdSQVBIX0VORFMsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLTEpOworICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7 CisrICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAg ICAgY2FzZSBHZGsuS2V5LmE6CisgICAgICAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF90ZXh0 KCkubGVuKCkgPiAwKSB7CitAQCAtMTQ3OSw2ICsxNTA3LDMyIEBAIGNsYXNzIElCdXNFbW9qaWVy IDogR3RrLkFwcGxpY2F0aW9uV2luZG93IHsKKyAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0 cnVlOworICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAg ICAgICAgIGNhc2UgR2RrLktleS54OgorKyAgICAgICAgICAgICAgICBpZiAobV9lbnRyeS5nZXRf dGV4dCgpLmxlbigpID4gMCkgeworKyAgICAgICAgICAgICAgICAgICAgR0xpYi5TaWduYWwuZW1p dF9ieV9uYW1lKG1fZW50cnksICJjdXQtY2xpcGJvYXJkIik7CisrICAgICAgICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBicmVh azsKKysgICAgICAgICAgICBjYXNlIEdkay5LZXkuQzoKKysgICAgICAgICAgICBjYXNlIEdkay5L ZXkuYzoKKysgICAgICAgICAgICAgICAgaWYgKChtb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBl LlNISUZUX01BU0spICE9IDApIHsKKysgICAgICAgICAgICAgICAgICAgIGlmIChtX2NhbmRpZGF0 ZV9wYW5lbF9pc192aXNpYmxlKSB7CisrICAgICAgICAgICAgICAgICAgICAgICAgdWludCBpbmRl eCA9IG1fbG9va3VwX3RhYmxlLmdldF9jdXJzb3JfcG9zKCk7CisrICAgICAgICAgICAgICAgICAg ICAgICAgdmFyIHRleHQgPSBtX2xvb2t1cF90YWJsZS5nZXRfY2FuZGlkYXRlKGluZGV4KS50ZXh0 OworKyAgICAgICAgICAgICAgICAgICAgICAgIEd0ay5DbGlwYm9hcmQgY2xpcGJvYXJkID0KKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0ay5DbGlwYm9hcmQuZ2V0KEdkay5TRUxF Q1RJT05fQ0xJUEJPQVJEKTsKKysgICAgICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmQuc2V0 X3RleHQodGV4dCwgLTEpOworKyAgICAgICAgICAgICAgICAgICAgICAgIGNsaXBib2FyZC5zdG9y ZSgpOworKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAgICAg ICAgICAgICAgfQorKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG1fZW50cnkuZ2V0X3RleHQo KS5sZW4oKSA+IDApIHsKKysgICAgICAgICAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlf bmFtZShtX2VudHJ5LCAiY29weS1jbGlwYm9hcmQiKTsKKysgICAgICAgICAgICAgICAgICAgIHJl dHVybiB0cnVlOworKyAgICAgICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIGJyZWFrOwor KyAgICAgICAgICAgIGNhc2UgR2RrLktleS52OgorKyAgICAgICAgICAgICAgICBHTGliLlNpZ25h bC5lbWl0X2J5X25hbWUobV9lbnRyeSwgInBhc3RlLWNsaXBib2FyZCIpOworKyAgICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgcmV0dXJuIGZh bHNlOworICAgICAgICAgfQorZGlmZiAtLWdpdCBhL3VpL2d0azMvaWJ1cy1lbW9qaS43LmluIGIv dWkvZ3RrMy9pYnVzLWVtb2ppLjcuaW4KK2luZGV4IGE1MDQ1ZjYuLjRlZTg2MzYgMTAwNjQ0Cist LS0gYS91aS9ndGszL2lidXMtZW1vamkuNy5pbgorKysrIGIvdWkvZ3RrMy9pYnVzLWVtb2ppLjcu aW4KK0BAIC04Myw2ICs4MywxNyBAQCBNb3ZlIHRvIHRoZSBuZXh0IG9yIHByZXZpb3VzIHBhZ2Ug aW4gdGhlIGVtb2ppIGxpc3QuCisgXGZCSGVhZCwgRW5kLCBDb250cm9sLWggb3IgQ29udHJvbC1l XGZSCisgU2VsZWN0IHRoZSBmaXJzdCBvciBsYXN0IGVtb2ppIG9uIHRoZSBsaXN0IGlmIGFuIGFu bm90YXRpb24gaXMgbm90IHR5cGVkLgorIE90aGVyd2lzZSBtb3ZlIHRoZSBjdXJzb3IgdG8gdGhl IGhlYWQgb3IgZW5kIGluIHRoZSB0eXBlZCBhbm5vdGF0aW9uLgorKy5UUAorK1xmQkNvbnRyb2wt dVxmUgorK0VyYXNlIHRoZSB0eXBlZCBhbm5vdGF0aW9uLgorKy5UUAorK1xmQkNvbnRyb2wteCBv ciBDb250cm9sLXYgb3IgQ29udHJvbC1jXGZSCisrQ3V0IHRoZSBzZWxlY3RlZCBhbm5vdGF0aW9u IHRvIHRoZSBjbGlwYm9hcmQgd2l0aCBDb250cm9sLXguIFBhc3RlCisrdGhlIGNvbnRlbnRzIG9m IHRoZSBjbGlwYm9hcmQgaW50byB0aGUgYW5ub3RhdGlvbiBlbnRyeSB3aXRoIENvbnRyb2wtdi4K KytDb3B5IHRoZSBzZWxlY3RlZCBhbm5vdGF0aW9uIHRvIHRoZSBjbGlwYm9hcmQgd2l0aCBDb250 cm9sLWMuCisrLlRQCisrXGZCQ29udHJvbC1TaGlmdC1jXGZSCisrQ29weSB0aGUgc2VsZWN0ZWQg ZW1vamkgdG8gdGhlIGNsaXBib2FyZC4KKyAKKyAuU0ggQlVHUworIElmIHlvdSBmaW5kIGEgYnVn LCBwbGVhc2UgcmVwb3J0IGl0IGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvaXNzdWVz CistLSAKKzIuOS4zCisKK0Zyb20gYWQ4MDk5OWY1YTEwZmFlZTFhNjY1YTIyMzJlMWNmNjBiZTkw MWNjOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVq aXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IE1vbiwgMjkgTWF5IDIwMTcgMTI6MDM6NDEgKzA5MDAK K1N1YmplY3Q6IFtQQVRDSF0gTWFrZSBhbGwgZW1vamkgZGljdHMgZm9yIGZ1bGx5IHF1YWxpZmll ZAorCitDdXJyZW50bHkgb25seSBlbW9qaS1lbi5kaWN0IGVuYWJsZXMgZnVsbHkgcXVhbGlmaWVk IHNpbmNlIGl0IGltcG9ydHMKK2Vtb2ppLXRlc3QudHh0IGFuZCBpdCBjYXVzZXMgdG8gaGFyZGx5 IGNvbXBhcmUgZW1vamlzIGJldHdlZW4KK2Vtb2ppLWVuLmRpY3QgYW5kIGVtb2ppLSRsYW5nLmRp Y3Qgd2hlbiBtX3Nob3dfZW1vamlfdmFyaWFudAoraXMgZW5hYmxlZC4gRS5nLiBVKzFGM0NDLUZF MEYtMjAwRC0yNjQyLUZFMEYKK05vdyBlbW9qaS0kbGFuZy5kaWN0IGFsc28gaW1wb3J0IGVtb2pp LXRlc3QudHh0IGFuZCBlbmFibGVzCitmdWxseSBxdWFsaWZpZWQuCisKK1I9cGVuZ2h1YW5nQGdv b2dsZS5jb20KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzMy Mzg2MDA0MworLS0tCisgc3JjL01ha2VmaWxlLmFtICAgICAgfCAgIDEgKworIHNyYy9lbW9qaS1w YXJzZXIuYyAgIHwgMTY3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tLQorIHNyYy9pYnVzZW1vamkuYyAgICAgIHwgICAyICstCisgdWkvZ3RrMy9lbW9q aWVyLnZhbGEgfCAgMzQgKysrKystLS0tLS0KKyA0IGZpbGVzIGNoYW5nZWQsIDE2OSBpbnNlcnRp b25zKCspLCAzNSBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3NyYy9NYWtlZmlsZS5hbSBi L3NyYy9NYWtlZmlsZS5hbQoraW5kZXggMjdjZDE2OC4uZTdiYzhiZSAxMDA2NDQKKy0tLSBhL3Ny Yy9NYWtlZmlsZS5hbQorKysrIGIvc3JjL01ha2VmaWxlLmFtCitAQCAtMjYzLDYgKzI2Myw3IEBA IGRpY3RzL2Vtb2ppLWVuLmRpY3Q6IGVtb2ppLXBhcnNlcgorIAkgICAgICAgICAgICAtLW91dCAk QDsgXAorIAkgICAgZWxzZSBcCisgCSAgICAgICAgJChidWlsZGRpcikvZW1vamktcGFyc2VyIFwK KysJICAgICAgICAgICAgLS11bmljb2RlLWVtb2ppLWRpciAkKFVOSUNPREVfRU1PSklfRElSKSBc CisgCSAgICAgICAgICAgIC0teG1sICQoRU1PSklfQU5OT1RBVElPTl9ESVIpLyQkZi54bWwgXAor IAkgICAgICAgICAgICAkJHhtbF9kZXJpdmVkX29wdGlvbiBcCisgCSAgICAgICAgICAgIC0tb3V0 IGRpY3RzL2Vtb2ppLSQkZi5kaWN0OyBcCitkaWZmIC0tZ2l0IGEvc3JjL2Vtb2ppLXBhcnNlci5j IGIvc3JjL2Vtb2ppLXBhcnNlci5jCitpbmRleCA1ZTYxNTViLi5mZTNlNGVmIDEwMDY0NAorLS0t IGEvc3JjL2Vtb2ppLXBhcnNlci5jCisrKysgYi9zcmMvZW1vamktcGFyc2VyLmMKK0BAIC0zMSwx MiArMzEsMjAgQEAKKyAgKiBBU0NJSSBlbW9qaSBhbm5vdGF0aW9ucyBhcmUgc2F2ZWQgaW4gLi4v ZGF0YS9hbm5vdGF0aW9ucy9lbl9hc2NpaS54bWwKKyAgKi8KKyAKKysjaWZkZWYgSEFWRV9DT05G SUdfSAorKyNpbmNsdWRlIDxjb25maWcuaD4KKysjZW5kaWYKKysKKyAjaW5jbHVkZSA8Z2xpYi5o PgorIAorICNpZmRlZiBIQVZFX0pTT05fR0xJQjEKKyAjaW5jbHVkZSA8anNvbi1nbGliL2pzb24t Z2xpYi5oPgorICNlbmRpZgorIAorKyNpZmRlZiBIQVZFX0xPQ0FMRV9ICisrI2luY2x1ZGUgPGxv Y2FsZS5oPgorKyNlbmRpZgorKworICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAKKyAjaW5jbHVkZSAi aWJ1c2Vtb2ppLmgiCitAQCAtNjUsOCArNzMsNzMgQEAgc3RydWN0IF9FbW9qaURhdGEgeworICAg ICBFbW9qaURhdGFTZWFyY2hUeXBlIHNlYXJjaF90eXBlOworIH07CisgCisrdHlwZWRlZiBzdHJ1 Y3QgX05vVHJhbnNEYXRhIE5vVHJhbnNEYXRhOworK3N0cnVjdCBfTm9UcmFuc0RhdGEgeworKyAg ICBjb25zdCBnY2hhciAqeG1sX2ZpbGU7CisrICAgIGNvbnN0IGdjaGFyICp4bWxfZGVyaXZlZF9m aWxlOworKyAgICBHU0xpc3QgICAgICAqZW1vamlfbGlzdDsKKyt9OworKworIHN0YXRpYyBnY2hh ciAqdW5pY29kZV9lbW9qaV92ZXJzaW9uOworIAorKworK3N0YXRpYyB2b2lkCisraW5pdF9hbm5v dGF0aW9ucyAoSUJ1c0Vtb2ppRGF0YSAqZW1vamksCisrICAgICAgICAgICAgICAgICAgZ3BvaW50 ZXIgICAgICAgdXNlcl9kYXRhKQorK3sKKysgICAgZ19yZXR1cm5faWZfZmFpbCAoSUJVU19JU19F TU9KSV9EQVRBIChlbW9qaSkpOworKyAgICBpYnVzX2Vtb2ppX2RhdGFfc2V0X2Fubm90YXRpb25z IChlbW9qaSwgTlVMTCk7CisrICAgIGlidXNfZW1vamlfZGF0YV9zZXRfZGVzY3JpcHRpb24gKGVt b2ppLCAiIik7CisrfQorKworK3N0YXRpYyB2b2lkCisrY2hlY2tfbm9fdHJhbnMgKElCdXNFbW9q aURhdGEgKmVtb2ppLAorKyAgICAgICAgICAgICAgICBOb1RyYW5zRGF0YSAgICpub190cmFuc19k YXRhKQorK3sKKysgICAgY29uc3QgZ2NoYXIgKnN0ciA9IE5VTEw7CisrICAgIGdfcmV0dXJuX2lm X2ZhaWwgKElCVVNfSVNfRU1PSklfREFUQSAoZW1vamkpKTsKKysgICAgaWYgKGlidXNfZW1vamlf ZGF0YV9nZXRfYW5ub3RhdGlvbnMgKGVtb2ppKSAhPSBOVUxMKQorKyAgICAgICAgcmV0dXJuOwor KyAgICBzdHIgPSBpYnVzX2Vtb2ppX2RhdGFfZ2V0X2Vtb2ppIChlbW9qaSk7CisrICAgIGlmIChn X2dldGVudiAoIklCVVNfRU1PSklfUEFSU0VSX0RFQlVHIikgIT0gTlVMTCkgeworKyAgICAgICAg Z2NoYXIgKmJhc2VuYW1lID0gTlVMTDsKKysgICAgICAgIGlmIChub190cmFuc19kYXRhLT54bWxf ZmlsZSkKKysgICAgICAgICAgICBiYXNlbmFtZSA9IGdfcGF0aF9nZXRfYmFzZW5hbWUgKG5vX3Ry YW5zX2RhdGEtPnhtbF9maWxlKTsKKysgICAgICAgIGVsc2UgaWYgKG5vX3RyYW5zX2RhdGEtPnht bF9kZXJpdmVkX2ZpbGUpCisrICAgICAgICAgICAgYmFzZW5hbWUgPSBnX3BhdGhfZ2V0X2Jhc2Vu YW1lIChub190cmFuc19kYXRhLT54bWxfZGVyaXZlZF9maWxlKTsKKysgICAgICAgIGVsc2UKKysg ICAgICAgICAgICBiYXNlbmFtZSA9IGdfc3RyZHVwICgiV1JPTkcgRklMRSIpOworKyAgICAgICAg Z193YXJuaW5nICgiTm90IGZvdW5kIGVtb2ppICVzIGluIHRoZSBmaWxlICVzIiwgc3RyLCBiYXNl bmFtZSk7CisrICAgICAgICBnX2ZyZWUgKGJhc2VuYW1lKTsKKysgICAgfQorKyAgICBub190cmFu c19kYXRhLT5lbW9qaV9saXN0ID0KKysgICAgICAgICAgICBnX3NsaXN0X2FwcGVuZCAobm9fdHJh bnNfZGF0YS0+ZW1vamlfbGlzdCwgZ19zdHJkdXAgKHN0cikpOworK30KKysKKytpbnQKKytzdHJj bXBfaWJ1c19lbW9qaV9kYXRhX3N0ciAoSUJ1c0Vtb2ppRGF0YSAqZW1vamksCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGdjaGFyICAgKnN0cikKKyt7CisrICAgIGdfcmV0dXJu X3ZhbF9pZl9mYWlsIChJQlVTX0lTX0VNT0pJX0RBVEEgKGVtb2ppKSwgLTEpOworKyAgICByZXR1 cm4gZ19zdHJjbXAwIChpYnVzX2Vtb2ppX2RhdGFfZ2V0X2Vtb2ppIChlbW9qaSksIHN0cik7Cisr fQorKworK3N0YXRpYyB2b2lkCisrZGVsZXRlX2Vtb2ppX2Zyb21fbGlzdCAoY29uc3QgZ2NoYXIg ICpzdHIsCisrICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICAgICAgKipsaXN0KQorK3sK KysgICAgSUJ1c0Vtb2ppRGF0YSAqZW1vamk7CisrCisrICAgIGdfcmV0dXJuX2lmX2ZhaWwgKGxp c3QgIT0gTlVMTCk7CisrICAgIEdTTGlzdCAqcCA9IGdfc2xpc3RfZmluZF9jdXN0b20gKCpsaXN0 LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChHQ29tcGFyZUZ1bmMpc3RyY21wX2lidXNfZW1v amlfZGF0YV9zdHIpOworKyAgICBnX3JldHVybl9pZl9mYWlsIChwICE9IE5VTEwpOworKyAgICBl bW9qaSA9IHAtPmRhdGE7CisrICAgICpsaXN0ID0gZ19zbGlzdF9yZW1vdmUgKCpsaXN0LCBlbW9q aSk7CisrICAgIGdfb2JqZWN0X3VucmVmIChlbW9qaSk7CisrfQorKworIHN0YXRpYyB2b2lkCisg cmVzZXRfZW1vamlfZWxlbWVudCAoRW1vamlEYXRhICpkYXRhKQorIHsKK0BAIC03OSw2ICsxNTIs MTMgQEAgcmVzZXRfZW1vamlfZWxlbWVudCAoRW1vamlEYXRhICpkYXRhKQorICAgICBnX2NsZWFy X3BvaW50ZXIgKCZkYXRhLT5kZXNjcmlwdGlvbiwgZ19mcmVlKTsKKyB9CisgCisrLyoqCisrICog c3RyY21wX25vdmFyaWFudDoKKysgKgorKyAqIFJldHVybiAwIGJldHdlZW4gbm9uLWZ1bGx5LXF1 YWxpZmllZCBhbmQgZnVsbHktcXVhbGlmaWVkIGVtb2ppcy4KKysgKiBFLmcuIFUrMUYzQ0MtMjAw RC0yNjQyIGFuZCBVKzFGM0NDLUZFMEYtMjAwRC0yNjQyLUZFMEYKKysgKiBpbiBjYXNlIEBhX3Zh cmlhbnQgb3IgQGJfdmFyaWFudCA9PSBVK0ZFMEYKKysgKi8KKyBnaW50Cisgc3RyY21wX25vdmFy aWFudCAoY29uc3QgZ2NoYXIgKmEsCisgICAgICAgICAgICAgICAgICAgY29uc3QgZ2NoYXIgKmIs CitAQCAtODYsNDAgKzE2Niw1NCBAQCBzdHJjbXBfbm92YXJpYW50IChjb25zdCBnY2hhciAqYSwK KyAgICAgICAgICAgICAgICAgICBndW5pY2hhciAgICAgYl92YXJpYW50KQorIHsKKyAgICAgZ2lu dCByZXR2YWw7CistICAgIGdjaGFyICpwID0gTlVMTDsKKyAgICAgR1N0cmluZyAqYnVmZiA9IE5V TEw7OworKyAgICBnY2hhciAqaGVhZCA9IE5VTEw7CisrICAgIGdjaGFyICpwOworKyAgICBnY2hh ciAqdmFyaWFudCA9IE5VTEw7CisgICAgIGdjaGFyICpzdWJzdHIgPSBOVUxMOworIAorICAgICBp ZiAoYV92YXJpYW50ID4gMCkgeworLSAgICAgICAgaWYgKChwID0gZ191dGY4X3N0cmNociAoYSwg LTEsIGFfdmFyaWFudCkpICE9IE5VTEwpIHsKKysgICAgICAgIGlmIChnX3V0Zjhfc3RyY2hyIChh LCAtMSwgYV92YXJpYW50KSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgYnVmZiA9IGdfc3RyaW5n X25ldyAoTlVMTCk7CistICAgICAgICAgICAgaWYgKGEgIT0gcCkgeworLSAgICAgICAgICAgICAg ICBzdWJzdHIgPSBnX3N0cm5kdXAgKGEsIHAgLSBhKTsKKy0gICAgICAgICAgICAgICAgZ19zdHJp bmdfYXBwZW5kIChidWZmLCBzdWJzdHIpOworLSAgICAgICAgICAgICAgICBnX2ZyZWUgKHN1YnN0 cik7CisrICAgICAgICAgICAgcCA9IGhlYWQgPSBnX3N0cmR1cCAoYSk7CisrICAgICAgICAgICAg d2hpbGUgKCpwICE9ICdcMCcpIHsKKysgICAgICAgICAgICAgICAgaWYgKCh2YXJpYW50ID0gZ191 dGY4X3N0cmNociAocCwgLTEsIGFfdmFyaWFudCkpID09IE5VTEwpIHsKKysgICAgICAgICAgICAg ICAgICAgIGdfc3RyaW5nX2FwcGVuZCAoYnVmZiwgcCk7CisrICAgICAgICAgICAgICAgICAgICBi cmVhazsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBpZiAocCAhPSB2YXJp YW50KSB7CisrICAgICAgICAgICAgICAgICAgICBzdWJzdHIgPSBnX3N0cm5kdXAgKHAsIHZhcmlh bnQgLSBwKTsKKysgICAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZCAoYnVmZiwgc3Vi c3RyKTsKKysgICAgICAgICAgICAgICAgICAgIGdfZnJlZSAoc3Vic3RyKTsKKysgICAgICAgICAg ICAgICAgfQorKyAgICAgICAgICAgICAgICBwID0gZ191dGY4X25leHRfY2hhciAodmFyaWFudCk7 CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHAgPSBnX3V0ZjhfbmV4dF9jaGFyIChwKTsK Ky0gICAgICAgICAgICBpZiAoKnAgIT0gJ1wwJykKKy0gICAgICAgICAgICAgICAgZ19zdHJpbmdf YXBwZW5kIChidWZmLCBwKTsKKyAgICAgICAgICAgICByZXR2YWwgPSBnX3N0cmNtcDAgKGJ1ZmYt PnN0ciwgYik7CisgICAgICAgICAgICAgZ19zdHJpbmdfZnJlZSAoYnVmZiwgVFJVRSk7CisrICAg ICAgICAgICAgZ19mcmVlIChoZWFkKTsKKyAgICAgICAgICAgICByZXR1cm4gcmV0dmFsOworICAg ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICB9CisgICAg IH0gZWxzZSBpZiAoYl92YXJpYW50ID4gMCkgeworLSAgICAgICAgaWYgKChwID0gZ191dGY4X3N0 cmNociAoYiwgLTEsIGJfdmFyaWFudCkpICE9IE5VTEwpIHsKKysgICAgICAgIGlmIChnX3V0Zjhf c3RyY2hyIChiLCAtMSwgYl92YXJpYW50KSAhPSBOVUxMKSB7CisgICAgICAgICAgICAgYnVmZiA9 IGdfc3RyaW5nX25ldyAoTlVMTCk7CistICAgICAgICAgICAgaWYgKGIgIT0gcCkgeworLSAgICAg ICAgICAgICAgICBzdWJzdHIgPSBnX3N0cm5kdXAgKGIsIHAgLSBiKTsKKy0gICAgICAgICAgICAg ICAgZ19zdHJpbmdfYXBwZW5kIChidWZmLCBzdWJzdHIpOworLSAgICAgICAgICAgICAgICBnX2Zy ZWUgKHN1YnN0cik7CisrICAgICAgICAgICAgcCA9IGhlYWQgPSBnX3N0cmR1cCAoYik7CisrICAg ICAgICAgICAgd2hpbGUgKCpwICE9ICdcMCcpIHsKKysgICAgICAgICAgICAgICAgaWYgKCh2YXJp YW50ID0gZ191dGY4X3N0cmNociAocCwgLTEsIGJfdmFyaWFudCkpID09IE5VTEwpIHsKKysgICAg ICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZCAoYnVmZiwgcCk7CisrICAgICAgICAgICAg ICAgICAgICBicmVhazsKKysgICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBpZiAo cCAhPSB2YXJpYW50KSB7CisrICAgICAgICAgICAgICAgICAgICBzdWJzdHIgPSBnX3N0cm5kdXAg KHAsIHZhcmlhbnQgLSBwKTsKKysgICAgICAgICAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZCAo YnVmZiwgc3Vic3RyKTsKKysgICAgICAgICAgICAgICAgICAgIGdfZnJlZSAoc3Vic3RyKTsKKysg ICAgICAgICAgICAgICAgfQorKyAgICAgICAgICAgICAgICBwID0gZ191dGY4X25leHRfY2hhciAo dmFyaWFudCk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHAgPSBnX3V0ZjhfbmV4dF9j aGFyIChwKTsKKy0gICAgICAgICAgICBpZiAoKnAgIT0gJ1wwJykKKy0gICAgICAgICAgICAgICAg Z19zdHJpbmdfYXBwZW5kIChidWZmLCBwKTsKKyAgICAgICAgICAgICByZXR2YWwgPSBnX3N0cmNt cDAgKGEsIGJ1ZmYtPnN0cik7CisgICAgICAgICAgICAgZ19zdHJpbmdfZnJlZSAoYnVmZiwgVFJV RSk7CisrICAgICAgICAgICAgZ19mcmVlIChoZWFkKTsKKyAgICAgICAgICAgICByZXR1cm4gcmV0 dmFsOworICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICByZXR1cm4gLTE7CitAQCAtMTEx Nyw2ICsxMjExLDEyIEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10pCisgICAgIEdPcHRp b25Db250ZXh0ICpjb250ZXh0OworICAgICBHRXJyb3IgKmVycm9yID0gTlVMTDsKKyAgICAgR1NM aXN0ICpsaXN0ID0gTlVMTDsKKysgICAgZ2Jvb2xlYW4gaXNfZW4gPSBUUlVFOworKworKyNpZmRl ZiBIQVZFX0xPQ0FMRV9ICisrICAgIC8qIFRvIG91dHB1dCBlbW9qaSB3YXJuaW5ncy4gKi8KKysg ICAgc2V0bG9jYWxlIChMQ19BTEwsICIiKTsKKysjZW5kaWYKKyAKKyAgICAgcHJnbmFtZSA9IGdf cGF0aF9nZXRfYmFzZW5hbWUgKGFyZ3ZbMF0pOworICAgICBnX3NldF9wcmduYW1lIChwcmduYW1l KTsKK0BAIC0xMTQ0LDEyICsxMjQ0LDQ1IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICphcmd2W10p CisgI2VuZGlmCisgICAgIGlmIChlbW9qaV9kaXIpCisgICAgICAgICB1bmljb2RlX2Vtb2ppX3Bh cnNlX2RpciAoZW1vamlfZGlyLCAmbGlzdCk7CisrICAgIGlmIChsaXN0KSB7CisrI2RlZmluZSBD SEVDS19JU19FTihmaWxlKSBpZiAoKGZpbGUpKSB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKKysgICAgZ2NoYXIgKmJhc2VuYW1lID0gZ19wYXRoX2dldF9iYXNlbmFtZSAo KGZpbGUpKTsgICAgICAgICAgICAgICAgICAgICAgICAgXAorKyAgICBpc19lbiA9IChnX2FzY2lp X3N0cm5jYXNlY21wIChiYXNlbmFtZSwgImVuLiIsIDMpID09IDApID8gICAgICAgICAgICAgICBc CisrICAgICAgICAgICAgVFJVRSA6IEZBTFNFOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKysgICAgZ19mcmVlIChiYXNlbmFtZSk7ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorK30KKysKKysg ICAgICAgIENIRUNLX0lTX0VOKHhtbF9kZXJpdmVkX2ZpbGUpOworKyAgICAgICAgQ0hFQ0tfSVNf RU4oeG1sX2ZpbGUpOworKyN1bmRlZiBDSEVDS19JU19FTgorKworKyAgICAgICAgLyogVXNlIEVu Z2xpc2ggZW1vamktdGVzdC50eHQgdG8gZ2V0IGZ1bGx5LXF1YWxpZmllZC4gKi8KKysgICAgICAg IGlmICghaXNfZW4pCisrICAgICAgICAgICAgZ19zbGlzdF9mb3JlYWNoIChsaXN0LCAoR0Z1bmMp aW5pdF9hbm5vdGF0aW9ucywgTlVMTCk7CisrICAgIH0KKyAgICAgaWYgKHhtbF9maWxlKQorICAg ICAgICAgdW5pY29kZV9hbm5vdGF0aW9uc19wYXJzZV94bWxfZmlsZSAoeG1sX2ZpbGUsICZsaXN0 LCBGQUxTRSk7CisgICAgIGlmICh4bWxfZGVyaXZlZF9maWxlKQorICAgICAgICAgdW5pY29kZV9h bm5vdGF0aW9uc19wYXJzZV94bWxfZmlsZSAoeG1sX2Rlcml2ZWRfZmlsZSwgJmxpc3QsIFRSVUUp OworICAgICBpZiAoeG1sX2FzY2lpX2ZpbGUpCisgICAgICAgICB1bmljb2RlX2Fubm90YXRpb25z X3BhcnNlX3htbF9maWxlICh4bWxfYXNjaWlfZmlsZSwgJmxpc3QsIEZBTFNFKTsKKysgICAgaWYg KGxpc3QgIT0gTlVMTCAmJiAhaXNfZW4pIHsKKysgICAgICAgIC8qIElmIGVtb2ppLXRlc3QudHh0 IGhhcyBhbiBlbW9qaSBidXQgJGxhbmcueG1sIGRvZXMgbm90LCBjbGVhciBpdAorKyAgICAgICAg ICogc2luY2UgdGhlIGxhbmd1YWdlIGRpY3RzIGRvIG5vdCB3YW50IEVuZ2xpc2ggYW5ub3RhdGlv bnMuCisrICAgICAgICAgKi8KKysgICAgICAgIE5vVHJhbnNEYXRhIG5vX3RyYW5zX2RhdGEgPSB7 CisrICAgICAgICAgICAgeG1sX2ZpbGUsCisrICAgICAgICAgICAgeG1sX2Rlcml2ZWRfZmlsZSwK KysgICAgICAgICAgICBOVUxMCisrICAgICAgICB9OworKyAgICAgICAgZ19zbGlzdF9mb3JlYWNo IChsaXN0LCAoR0Z1bmMpY2hlY2tfbm9fdHJhbnMsICZub190cmFuc19kYXRhKTsKKysgICAgICAg IGlmIChub190cmFuc19kYXRhLmVtb2ppX2xpc3QpIHsKKysgICAgICAgICAgICBnX3NsaXN0X2Zv cmVhY2ggKG5vX3RyYW5zX2RhdGEuZW1vamlfbGlzdCwKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChHRnVuYylkZWxldGVfZW1vamlfZnJvbV9saXN0LAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJmxpc3QpOworKyAgICAgICAgICAgIGdfc2xpc3RfZnJlZV9mdWxsIChub190 cmFuc19kYXRhLmVtb2ppX2xpc3QsIGdfZnJlZSk7CisrICAgICAgICB9CisrICAgIH0KKyAgICAg aWYgKGxpc3QgIT0gTlVMTCAmJiBvdXRwdXQpCisgICAgICAgICBpYnVzX2Vtb2ppX2RhdGFfc2F2 ZSAob3V0cHV0LCBsaXN0KTsKKyAgICAgaWYgKGxpc3QgIT0gTlVMTCAmJiBvdXRwdXRfY2F0ZWdv cnkpCitkaWZmIC0tZ2l0IGEvc3JjL2lidXNlbW9qaS5jIGIvc3JjL2lidXNlbW9qaS5jCitpbmRl eCBkMmUxNmM1Li4zZDM4YzJhIDEwMDY0NAorLS0tIGEvc3JjL2lidXNlbW9qaS5jCisrKysgYi9z cmMvaWJ1c2Vtb2ppLmMKK0BAIC0yOSw3ICsyOSw3IEBACisgI2luY2x1ZGUgImlidXNpbnRlcm5h bC5oIgorIAorICNkZWZpbmUgSUJVU19FTU9KSV9EQVRBX01BR0lDICJJQnVzRW1vamlEYXRhIgor LSNkZWZpbmUgSUJVU19FTU9KSV9EQVRBX1ZFUlNJT04gKDQpCisrI2RlZmluZSBJQlVTX0VNT0pJ X0RBVEFfVkVSU0lPTiAoNSkKKyAKKyBlbnVtIHsKKyAgICAgUFJPUF8wID0gMCwKK2RpZmYgLS1n aXQgYS91aS9ndGszL2Vtb2ppZXIudmFsYSBiL3VpL2d0azMvZW1vamllci52YWxhCitpbmRleCAx ZDEwNWZkLi45NTkxMmJmIDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9lbW9qaWVyLnZhbGEKKysrKyBi L3VpL2d0azMvZW1vamllci52YWxhCitAQCAtMTkwLDkgKzE5MCw2IEBAIGNsYXNzIElCdXNFbW9q aWVyIDogR3RrLkFwcGxpY2F0aW9uV2luZG93IHsKKyAgICAgcHJpdmF0ZSBjb25zdCBzdHJpbmcg RU1PSklfQ0FURUdPUllfT1RIRVJTID0gTl8oIk90aGVycyIpOworICAgICBwcml2YXRlIGNvbnN0 IHVuaWNoYXJbXSBFTU9KSV9WQVJJQU5UX0xJU1QgPSB7CisgICAgICAgICAgICAgMHgxZjNmYiwg MHgxZjNmYywgMHgxZjNmZCwgMHgxZjNmZSwgMHgxZjNmZiwgMHgyMDBkIH07CistICAgIHByaXZh dGUgY29uc3QgR0xpYi5BY3Rpb25FbnRyeVtdIG1fYWN0aW9uX2VudHJpZXMgPSB7CistICAgICAg ICB7ICJ2YXJpYW50IiwgY2hlY2tfYWN0aW9uX3ZhcmlhbnRfY2IsIG51bGwsICJmYWxzZSIsIG51 bGwgfQorLSAgICB9OworIAorICAgICAvLyBTZXQgdGhlIGFjdHVhbCBkZWZhdWx0IHZhbHVlcyBp biB0aGUgY29uc3RydWN0b3IKKyAgICAgLy8gYmVjYXVzZSB0aGVzZSBmaWVsZHMgYXJlIHVzZWQg Zm9yIGNsYXNzX2luaXQoKSBhbmQgc3RhdGljIGZ1bmN0aW9ucywKK0BAIC0yNTMsNyArMjUwLDEz IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLkFwcGxpY2F0aW9uV2luZG93IHsKKyAgICAgICAg ICAgICBmb2N1c192aXNpYmxlIDogdHJ1ZQorICAgICAgICAgKTsKKyAKKy0gICAgICAgIGFkZF9h Y3Rpb25fZW50cmllcyhtX2FjdGlvbl9lbnRyaWVzLCB0aGlzKTsKKysgICAgICAgIC8vIEdMaWIu QWN0aW9uRW50cnkgYWNjZXB0cyBjb25zdCB2YXJpYWJsZXMgb25seS4KKysgICAgICAgIHZhciBh Y3Rpb24gPSBuZXcgR0xpYi5TaW1wbGVBY3Rpb24uc3RhdGVmdWwoCisrICAgICAgICAgICAgICAg ICJ2YXJpYW50IiwKKysgICAgICAgICAgICAgICAgbnVsbCwKKysgICAgICAgICAgICAgICAgbmV3 IEdMaWIuVmFyaWFudC5ib29sZWFuKG1fc2hvd19lbW9qaV92YXJpYW50KSk7CisrICAgICAgICBh Y3Rpb24uYWN0aXZhdGUuY29ubmVjdChjaGVja19hY3Rpb25fdmFyaWFudF9jYik7CisrICAgICAg ICBhZGRfYWN0aW9uKGFjdGlvbik7CisgICAgICAgICBpZiAobV9jdXJyZW50X2xhbmdfaWQgPT0g bnVsbCkKKyAgICAgICAgICAgICBtX2N1cnJlbnRfbGFuZ19pZCA9ICJlbiI7CisgICAgICAgICBp ZiAobV9lbW9qaV9mb250X2ZhbWlseSA9PSBudWxsKQorQEAgLTUyMSwxOCArNTI0LDcgQEAgY2xh c3MgSUJ1c0Vtb2ppZXIgOiBHdGsuQXBwbGljYXRpb25XaW5kb3cgeworICAgICAgICAgICAgIG1f ZW1vamlfdG9fZGF0YV9kaWN0LnJlcGxhY2UoZW1vamksIGRhdGEpOworICAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgICB1bm93bmVkIElCdXMuRW1vamlEYXRhPyBlbl9kYXRhID0gbnVsbDsK Ky0gICAgICAgICAgICAvLyBJZiBlbW9qaSBwcmVzZW50YXRpb24gKCs9IDB4ZmUwZikgaXMgYWxy ZWFkeSBzYXZlZCBpbiBkaWN0LAorLSAgICAgICAgICAgIC8vIHVwZGF0ZSBpdCBpbnN0ZWFkIG9m IG5vIHByZXNlbnRhdGlvbi4KKy0gICAgICAgICAgICAvLyBlbW9qaS10ZXN0LnR4dCBoYXMgYWxs IGVtb2ppIHByZXNlbnRhdGlvbnMgYnV0ICRsYW5nLnhtbCBoYXMKKy0gICAgICAgICAgICAvLyBz b21lIG5vIGVtb2ppIHByZXNlbnRhdGlvbnMuCistICAgICAgICAgICAgaWYgKGVtb2ppLmNocigt MSwgMHhmZTBmKSA9PSBudWxsKSB7CistICAgICAgICAgICAgICAgIHZhciBidWZmID0gbmV3IEdM aWIuU3RyaW5nQnVpbGRlcigpOworLSAgICAgICAgICAgICAgICBidWZmLmFwcGVuZChlbW9qaSk7 CistICAgICAgICAgICAgICAgIGJ1ZmYuYXBwZW5kX3VuaWNoYXIoMHhmZTBmKTsKKy0gICAgICAg ICAgICAgICAgZW5fZGF0YSA9IG1fZW1vamlfdG9fZGF0YV9kaWN0Lmxvb2t1cChidWZmLnN0cik7 CistICAgICAgICAgICAgfQorLSAgICAgICAgICAgIGlmIChlbl9kYXRhID09IG51bGwpCistICAg ICAgICAgICAgICAgIGVuX2RhdGEgPSBtX2Vtb2ppX3RvX2RhdGFfZGljdC5sb29rdXAoZW1vamkp OworKyAgICAgICAgICAgIGVuX2RhdGEgPSBtX2Vtb2ppX3RvX2RhdGFfZGljdC5sb29rdXAoZW1v amkpOworICAgICAgICAgICAgIGlmIChlbl9kYXRhID09IG51bGwpIHsKKyAgICAgICAgICAgICAg ICAgbV9lbW9qaV90b19kYXRhX2RpY3QuaW5zZXJ0KGVtb2ppLCBkYXRhKTsKKyAgICAgICAgICAg ICAgICAgcmV0dXJuOworQEAgLTkyMyw3ICs5MTUsMTIgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBH dGsuQXBwbGljYXRpb25XaW5kb3cgeworICAgICAgICAgICAgIG1fdmJveC5hZGQoYnV0dG9uKTsK KyAgICAgICAgICAgICBidXR0b24uc2hvd19hbGwoKTsKKyAgICAgICAgICAgICBidXR0b24uYnV0 dG9uX3ByZXNzX2V2ZW50LmNvbm5lY3QoKHcsIGUpID0+IHsKKy0gICAgICAgICAgICAgICAgaGlk ZV9jYW5kaWRhdGVfcGFuZWwoKTsKKysgICAgICAgICAgICAgICAgLy8gQnJpbmcgYmFjayB0byBl bW9qaSBjYW5kaWRhdGUgcGFuZWwgaW4gY2FzZQorKyAgICAgICAgICAgICAgICAvLyBtX3Nob3df ZW1vamlfdmFyaWFudCBpcyBlbmFibGVkIGFuZCBzaG93cyB2YXJpYW50cy4KKysgICAgICAgICAg ICAgICAgaWYgKG1fYmFja3dhcmRfaW5kZXggPj0gMCAmJiBtX2JhY2t3YXJkICE9IG51bGwpCisr ICAgICAgICAgICAgICAgICAgICBzaG93X2Vtb2ppX2Zvcl9jYXRlZ29yeShtX2JhY2t3YXJkKTsK KysgICAgICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICAgICAgaGlkZV9jYW5kaWRh dGVfcGFuZWwoKTsKKyAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAg fSk7CisgICAgICAgICB9CitAQCAtMTI2OSw2ICsxMjY2LDkgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIg OiBHdGsuQXBwbGljYXRpb25XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0xpYi5WYXJpYW50PyAgICAgcGFyYW1ldGVyKSB7CisgICAgICAgICBtX3No b3dfZW1vamlfdmFyaWFudCA9ICFhY3Rpb24uZ2V0X3N0YXRlKCkuZ2V0X2Jvb2xlYW4oKTsKKyAg ICAgICAgIGFjdGlvbi5zZXRfc3RhdGUobmV3IEdMaWIuVmFyaWFudC5ib29sZWFuKG1fc2hvd19l bW9qaV92YXJpYW50KSk7CisrICAgICAgICAvLyBSZWRyYXcgZW1vamkgY2FuZGlkYXRlIHBhbmVs IGZvciBtX3Nob3dfZW1vamlfdmFyaWFudAorKyAgICAgICAgaWYgKG1fY2FuZGlkYXRlX3BhbmVs X2lzX3Zpc2libGUpCisrICAgICAgICAgICAgc2hvd19jYW5kaWRhdGVfcGFuZWwoKTsKKyAgICAg fQorIAorIAorLS0gCisyLjkuMworCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVj CmluZGV4IDU5YWJlZmYuLjQzOTIyODEgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVz LnNwZWMKQEAgLTI4LDcgKzI4LDcgQEAKIAogTmFtZTogICAgICAgICAgIGlidXMKIFZlcnNpb246 ICAgICAgICAxLjUuMTYKLVJlbGVhc2U6ICAgICAgICAxJXs/ZGlzdH0KK1JlbGVhc2U6ICAgICAg ICAyJXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMgZm9yIExp bnV4IE9TCiBMaWNlbnNlOiAgICAgICAgTEdQTHYyKwogR3JvdXA6ICAgICAgICAgIFN5c3RlbSBF bnZpcm9ubWVudC9MaWJyYXJpZXMKQEAgLTM5LDYgKzM5LDcgQEAgU291cmNlMjogICAgICAgICV7 bmFtZX0uY29uZi41CiAjIFdpbGwgcmVtb3ZlIHRoZSBhbm5vdGF0aW9uIHRhcmJhbGwgb25jZSB0 aGUgcnBtIGlzIGF2YWlsYWJsZSBvbiBGZWRvcmEKICMgVXBzdHJlYW1lZCBwYXRjaGVzLgogIyBQ YXRjaDA6ICAgICAgICAgJSV7bmFtZX0tSEVBRC5wYXRjaAorUGF0Y2gwOiAgICAgICAgICV7bmFt ZX0tSEVBRC5wYXRjaAogCiBCdWlsZFJlcXVpcmVzOiAgZ2V0dGV4dC1kZXZlbAogQnVpbGRSZXF1 aXJlczogIGxpYnRvb2wKQEAgLTIyNywxMSArMjI4LDEzIEBAIFRoZSBpYnVzLWRldmVsLWRvY3Mg cGFja2FnZSBjb250YWlucyBkZXZlbG9wZXIgZG9jdW1lbnRhdGlvbiBmb3IgSUJ1cwogJXNldHVw IC1xCiAjICUlcGF0Y2gwIC1wMQogIyBjcCBjbGllbnQvZ3RrMi9pYnVzaW1jb250ZXh0LmMgY2xp ZW50L2d0azMvaWJ1c2ltY29udGV4dC5jIHx8CislcGF0Y2gwIC1wMQogCiAlYnVpbGQKICNhdXRv cmVjb25mIC1mIC1pIC12CiAjbWFrZSAtQyB1aS9ndGszIG1haW50YWluZXItY2xlYW4tZ2VuZXJp YwogI21ha2UgLUMgdG9vbHMgbWFpbnRhaW5lci1jbGVhbi1nZW5lcmljCithdXRvcmVjb25mIC1m IC1pIC12CiAlY29uZmlndXJlIFwKICAgICAtLWRpc2FibGUtc3RhdGljIFwKICAgICAtLWVuYWJs ZS1ndGsyIFwKQEAgLTI1MCw2ICsyNTMsNyBAQCBUaGUgaWJ1cy1kZXZlbC1kb2NzIHBhY2thZ2Ug Y29udGFpbnMgZGV2ZWxvcGVyIGRvY3VtZW50YXRpb24gZm9yIElCdXMKICAgICAtLWVuYWJsZS1p bnRyb3NwZWN0aW9uIFwKICAgICAle25pbH0KIAorbWFrZSAtQyB1aS9ndGszIG1haW50YWluZXIt Y2xlYW4tZ2VuZXJpYwogbWFrZSAlez9fc21wX21mbGFnc30KIAogJWluc3RhbGwKQEAgLTQxNiw2 ICs0MjAsMTEgQEAgZ3RrLXF1ZXJ5LWltbW9kdWxlcy0zLjAtJXtfX2lzYV9iaXRzfSAtLXVwZGF0 ZS1jYWNoZSAmPiAvZGV2L251bGwgfHwgOgogJXtfZGF0YWRpcn0vZ3RrLWRvYy9odG1sLyoKIAog JWNoYW5nZWxvZworKiBNb24gTWF5IDI5IDIwMTcgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJl ZGhhdC5jb20+IC0gMS41LjE2LTIKKy0gQWRkZWQgY3RybC1jLHYseCBmb3IgYW5ub3RhdGlvbnMg YW5kIGN0cmwtc2hpZnQtYyBmb3IgZW1vamkKKy0gQWRkZWQgTWFsYXkgYW5kIE1vbmdvbGlhbiBr ZXltYXBzCistIE1hZGUgYWxsIGVtb2ppIGRpY3RzIHRvIGZ1bGx5IHF1YWxpZmllZAorCiAqIE1v biBNYXkgMTUgMjAxNyBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjUu MTYtMQogLSBCdW1wZWQgdG8gMS41LjE2CiAK