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: Generate simple.xml with denylist Date: Sun, 31 May 2026 02:07:26 GMT Message-ID: <178019324676.1.10509689177030989725.rpms-ibus-97d0736b818e@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 97d0736b818ea976ec65682ff6407069d09e4ed1 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA5N2QwNzM2YjgxOGVhOTc2ZWM2NTY4MmZmNjQwNzA2OWQwOWU0ZWQxCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDIwLTA4LTIxVDEzOjAzOjEzKzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICsxNTAwLy0xMiBpbiA0IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvOTdkMDczNmI4MThlYTk3NmVjNjU2 ODJmZjY0MDcwNjlkMDllNGVkMT9icmFuY2g9YXV0b3Rvb2wKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgR2VuZXJhdGUgc2ltcGxlLnhtbCB3aXRoIGRlbnlsaXN0CgotIFRlbGwgUGFuZ28g YWJvdXQgdGhlIGVuZ2luZSBsYW5ndWFnZSBpbiB0aGUgY2FuZGlkYXRlIHBhbmVsCi0gQWRkIGZp bGUgbGlzdCBpbiByZWdpc3RyeSBmaWxlIGZvciBTaWx2ZXJibHVlCgotLS0KZGlmZiAtLWdpdCBh Ly5naXRpZ25vcmUgYi8uZ2l0aWdub3JlCmluZGV4IDM1Mjc3MmIuLjAxMTliN2YgMTAwNjQ0Ci0t LSBhLy5naXRpZ25vcmUKKysrIGIvLmdpdGlnbm9yZQpAQCAtNjEsMyArNjEsNCBAQCBpYnVzLTEu My42LnRhci5negogL2lidXMtMS41LjIwLnRhci5negogL2lidXMtMS41LjIxLnRhci5negogL2li dXMtMS41LjIyLnRhci5negorL2lidXMtc2ltcGxlLTEuNS4yMi4yMDIwMDgyMS54bWwuZ3oKCmRp ZmYgLS1naXQgYS9pYnVzLUhFQUQucGF0Y2ggYi9pYnVzLUhFQUQucGF0Y2gKaW5kZXggMWVkNGFh Yy4uM2IxNDVjNSAxMDA2NDQKLS0tIGEvaWJ1cy1IRUFELnBhdGNoCisrKyBiL2lidXMtSEVBRC5w YXRjaApAQCAtNTk3LDMgKzU5NywxNDkwIEBAIGluZGV4IGI1NGVmODE3Li41OTc4N2E4MCAxMDA2 NDQKIC0tIAogMi4yNC4xCiAKK0Zyb20gMGRhM2NlY2U4OGM4Yjk0YzA3MjFhYTdhY2E0ZjJkNDI3 YWEyMjA2OSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE5laWwgU2hlcHBlcmQgPG5z aGVwcGVyZEBnbWFpbC5jb20+CitEYXRlOiBXZWQsIDIyIEp1bCAyMDIwIDE1OjMxOjI5ICswOTAw CitTdWJqZWN0OiBbUEFUQ0ggMS85XSBzcmM6IFNraXAgcGFyc2luZyBvZiBjb21wb3NlIHNlcXVl bmNlIHdpdGggaW52YWxpZAorIGtleXN5bXMKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5 cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDhiaXQKKworSW5zdGVhZCBvZiBjb250aW51aW5nIHdpdGggdGhlIGtleXN5bSBkZWZhdWx0ZWQg dG8gPERlbGV0ZT4sIHByaW50IGEKK3dhcm5pbmcgYW5kIHNraXAgdGhlIGJyb2tlbiBYQ29tcG9z ZSBydWxlIGVudGlyZWx5LiBGaXhlcyBhIGJ1ZyB3aGVyZQorYW4gfi8uWENvbXBvc2UgZmlsZSB3 aXRoIGEgZXJyb3IgYnJlYWtzIHRoZSBkZWxldGUga2V5LgorCitUZXN0ZWQgbG9jYWxseSB3aXRo IHRoZSBleGFtcGxlIGZyb20gbGF1bmNocGFkIGJ1ZyBiZWxvdzoKKworCSAgIDxcPiA8KT4gOiAi 4pitIiAjIEhBTU1FUiBBTkQgU0lDS0xFCisKK1RoaXMgaXMgaW5jb3JyZWN0IHN5bnRheCBhcyBu ZWl0aGVyIDxcPiBub3IgPCk+IGFyZSBjb3JyZWN0IGtleXN5bQorbmFtZXMuIEJlZm9yZSB0aGlz IHBhdGNoLCBpYnVzLWRhZW1vbiAtdiBwcmludHMgYSB3YXJuaW5nLCBidXQKK3ByZXNzaW5nIGRl bGV0ZSB0d2ljZSBwcm9kdWNlcyDimK0gaW5zdGVhZCBvZiBpdHMgbm9ybWFsIGZ1bmN0aW9uLiBB ZnRlcgordGhpcyBwYXRjaCwgaWJ1cy1kYWVtb24gLXYgcHJpbnRzIGEgc2xpZ2h0bHkgYmV0dGVy IHdhcm5pbmcsIGFuZCB0aGUKK2RlbGV0ZSBrZXkgaXMgdW5hZmZlY3RlZC4KKworQlVHPWh0dHBz Oi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvaXNzdWVzLzIxMzAKK0JVRz1odHRwczovL2J1Z3MubGF1 bmNocGFkLm5ldC91YnVudHUvK3NvdXJjZS9pYnVzLytidWcvMTg0OTM5OQorLS0tCisgc3JjL2li dXNjb21wb3NldGFibGUuYyB8IDggKysrKysrLS0KKyAxIGZpbGUgY2hhbmdlZCwgNiBpbnNlcnRp b25zKCspLCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL2lidXNjb21wb3NldGFi bGUuYyBiL3NyYy9pYnVzY29tcG9zZXRhYmxlLmMKK2luZGV4IDNmNDM5MTM0Li5jNTBiZTJiMyAx MDA2NDQKKy0tLSBhL3NyYy9pYnVzY29tcG9zZXRhYmxlLmMKKysrKyBiL3NyYy9pYnVzY29tcG9z ZXRhYmxlLmMKK0BAIC0yMTYsOCArMjE2LDEyIEBAIHBhcnNlX2NvbXBvc2Vfc2VxdWVuY2UgKElC dXNDb21wb3NlRGF0YSAqY29tcG9zZV9kYXRhLAorICAgICAgICAgICAgIGNvbXBvc2VfZGF0YS0+ c2VxdWVuY2Vbbl0gPSBjb2RlcG9pbnQ7CisgICAgICAgICB9CisgCistICAgICAgICBpZiAoY29k ZXBvaW50ID09IElCVVNfS0VZX1ZvaWRTeW1ib2wpCistICAgICAgICAgICAgZ193YXJuaW5nICgi Q291bGQgbm90IGdldCBjb2RlIHBvaW50IG9mIGtleXN5bSAlcyIsIG1hdGNoKTsKKysgICAgICAg IGlmIChjb2RlcG9pbnQgPT0gSUJVU19LRVlfVm9pZFN5bWJvbCkgeworKyAgICAgICAgICAgIGdf d2FybmluZyAoIkNvdWxkIG5vdCBnZXQgY29kZSBwb2ludCBvZiBrZXlzeW0gJXM6ICVzIiwKKysg ICAgICAgICAgICAgICAgICAgICAgIG1hdGNoLCBsaW5lKTsKKysgICAgICAgICAgICBnX2ZyZWUg KG1hdGNoKTsKKysgICAgICAgICAgICBnb3RvIGZhaWw7CisrICAgICAgICB9CisgICAgICAgICBn X2ZyZWUgKG1hdGNoKTsKKyAgICAgICAgIG4rKzsKKyAgICAgfQorLS0gCisyLjI0LjEKKworRnJv bSAwYWQ1ZTlhNmI2NjExYjUzYzYzZTYzNWU4OWI0MmUzMGU0M2FjNzAxIE1vbiBTZXAgMTcgMDA6 MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgor RGF0ZTogV2VkLCA1IEF1ZyAyMDIwIDE5OjUwOjAyICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggMi85 XSBzZXR1cDogRGVsZXRlIGF1dG9zdGFydCBzZXR0aW5nCisKK0JVRz1odHRwczovL2dpdGh1Yi5j b20vaWJ1cy9pYnVzL3B1bGwvMjIyNAorLS0tCisgc2V0dXAvbWFpbi5weSAgfCAzOCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIHNldHVwL3NldHVwLnVpIHwgNTkgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5n ZWQsIDk3IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc2V0dXAvbWFpbi5weSBiL3NldHVw L21haW4ucHkKK2luZGV4IGY2YWRiMDk4Li5kNWUyMDc4YyAxMDA2NDQKKy0tLSBhL3NldHVwL21h aW4ucHkKKysrKyBiL3NldHVwL21haW4ucHkKK0BAIC0zOTgsMTMgKzM5OCw2IEBAIGNsYXNzIFNl dHVwKG9iamVjdCk6CisgICAgICAgICBzZWxmLl9fYnV0dG9uX2Nsb3NlID0gc2VsZi5fX2J1aWxk ZXIuZ2V0X29iamVjdCgiYnV0dG9uX2Nsb3NlIikKKyAgICAgICAgIHNlbGYuX19idXR0b25fY2xv c2UuY29ubmVjdCgiY2xpY2tlZCIsIEd0ay5tYWluX3F1aXQpCisgCistICAgICAgICAjIGF1dG8g c3RhcnQgaWJ1cworLSAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX2F1dG9fc3RhcnQgPSBzZWxm Ll9fYnVpbGRlci5nZXRfb2JqZWN0KAorLSAgICAgICAgICAgICAgICAiY2hlY2tidXR0b25fYXV0 b19zdGFydCIpCistICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25fYXV0b19zdGFydC5zZXRfYWN0 aXZlKHNlbGYuX19pc19hdXRvX3N0YXJ0KCkpCistICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25f YXV0b19zdGFydC5jb25uZWN0KCJ0b2dnbGVkIiwKKy0gICAgICAgICAgICAgICAgc2VsZi5fX2No ZWNrYnV0dG9uX2F1dG9fc3RhcnRfdG9nZ2xlZF9jYikKKy0KKyAgICAgICAgIHNlbGYuX19pbml0 X2hvdGtleXMoKQorICAgICAgICAgc2VsZi5fX2luaXRfcGFuZWwoKQorICAgICAgICAgc2VsZi5f X2luaXRfZ2VuZXJhbCgpCitAQCAtNjQ3LDM3ICs2NDAsNiBAQCBjbGFzcyBTZXR1cChvYmplY3Qp OgorICAgICAgICAgIyBzZXQgbmV3IHZhbHVlCisgICAgICAgICBtb2RlbC5zZXQoaXRlciwgQ09M VU1OX1BSRUxPQUQsIGRhdGFbREFUQV9QUkVMT0FEXSkKKyAKKy0gICAgZGVmIF9faXNfYXV0b19z dGFydChzZWxmKToKKy0gICAgICAgIGxpbmtfZmlsZSA9IHBhdGguam9pbihHTGliLmdldF91c2Vy X2NvbmZpZ19kaXIoKSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiYXV0b3N0YXJ0 L2lidXMuZGVza3RvcCIpCistICAgICAgICBpYnVzX2Rlc2t0b3AgPSBwYXRoLmpvaW4ob3MuZ2V0 ZW52KCJJQlVTX1BSRUZJWCIpLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJz aGFyZS9hcHBsaWNhdGlvbnMvaWJ1cy5kZXNrdG9wIikKKy0KKy0gICAgICAgIGlmIG5vdCBwYXRo LmV4aXN0cyhsaW5rX2ZpbGUpOgorLSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAg aWYgbm90IHBhdGguaXNsaW5rKGxpbmtfZmlsZSk6CistICAgICAgICAgICAgcmV0dXJuIEZhbHNl CistICAgICAgICBpZiBwYXRoLnJlYWxwYXRoKGxpbmtfZmlsZSkgIT0gaWJ1c19kZXNrdG9wOgor LSAgICAgICAgICAgIHJldHVybiBGYWxzZQorLSAgICAgICAgcmV0dXJuIFRydWUKKy0KKy0gICAg ZGVmIF9fY2hlY2tidXR0b25fYXV0b19zdGFydF90b2dnbGVkX2NiKHNlbGYsIGJ1dHRvbik6Cist ICAgICAgICBhdXRvX3N0YXJ0X2RpciA9IHBhdGguam9pbihHTGliLmdldF91c2VyX2NvbmZpZ19k aXIoKSwgImF1dG9zdGFydCIpCistICAgICAgICBpZiBub3QgcGF0aC5pc2RpcihhdXRvX3N0YXJ0 X2Rpcik6CistICAgICAgICAgICAgb3MubWFrZWRpcnMoYXV0b19zdGFydF9kaXIpCistCistICAg ICAgICBsaW5rX2ZpbGUgPSBwYXRoLmpvaW4oR0xpYi5nZXRfdXNlcl9jb25maWdfZGlyKCksCist ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImF1dG9zdGFydC9pYnVzLmRlc2t0b3AiKQor LSAgICAgICAgaWJ1c19kZXNrdG9wID0gcGF0aC5qb2luKG9zLmdldGVudigiSUJVU19QUkVGSVgi KSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hhcmUvYXBwbGljYXRpb25z L2lidXMuZGVza3RvcCIpCistICAgICAgICAjIHVubGluayBmaWxlCistICAgICAgICB0cnk6Cist ICAgICAgICAgICAgb3MudW5saW5rKGxpbmtfZmlsZSkKKy0gICAgICAgIGV4Y2VwdDoKKy0gICAg ICAgICAgICBwYXNzCistICAgICAgICBpZiBzZWxmLl9fY2hlY2tidXR0b25fYXV0b19zdGFydC5n ZXRfYWN0aXZlKCk6CistICAgICAgICAgICAgb3Muc3ltbGluayhpYnVzX2Rlc2t0b3AsIGxpbmtf ZmlsZSkKKy0KKyAgICAgZGVmIF9fc2lndXNyMV9jYihzZWxmLCAqYXJncyk6CisgICAgICAgICBz ZWxmLl9fd2luZG93LnByZXNlbnQoKQorIAorZGlmZiAtLWdpdCBhL3NldHVwL3NldHVwLnVpIGIv c2V0dXAvc2V0dXAudWkKK2luZGV4IDU2NDUzMDU0Li4yNTBmNDNhMCAxMDA2NDQKKy0tLSBhL3Nl dHVwL3NldHVwLnVpCisrKysgYi9zZXR1cC9zZXR1cC51aQorQEAgLTEzMDcsNjUgKzEzMDcsNiBA QAorICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ib3JpZW50YXRpb24iPnZlcnRpY2Fs PC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+ RmFsc2U8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hv d19hbGwiPlRydWU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICA8Y2hpbGQ+CistICAgICAg ICAgICAgICAgICAgPHBsYWNlaG9sZGVyLz4KKy0gICAgICAgICAgICAgICAgPC9jaGlsZD4KKy0g ICAgICAgICAgICAgICAgPGNoaWxkPgorLSAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9 Ikd0a0xhYmVsIiBpZD0ibGFiZWw1Ij4KKy0gICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPiZsdDtiaWcmZ3Q7 Jmx0O2ImZ3Q7SUJ1cyZsdDsvYiZndDsmbHQ7L2JpZyZndDsKKy0mbHQ7c21hbGwmZ3Q7VGhlIGlu dGVsbGlnZW50IGlucHV0IGJ1cyZsdDsvc21hbGwmZ3Q7CistSG9tZXBhZ2U6IGh0dHBzOi8vZ2l0 aHViLmNvbS9pYnVzL2lidXMvd2lraQorLQorLQorLQorLTwvcHJvcGVydHk+CistICAgICAgICAg ICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idXNlX21hcmt1cCI+VHJ1ZTwvcHJvcGVydHk+Cist ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ianVzdGlmeSI+Y2VudGVyPC9wcm9w ZXJ0eT4KKy0gICAgICAgICAgICAgICAgICA8L29iamVjdD4KKy0gICAgICAgICAgICAgICAgICA8 cGFja2luZz4KKy0gICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPlRy dWU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImZpbGwi PlRydWU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBv c2l0aW9uIj4xPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+CistICAg ICAgICAgICAgICAgIDwvY2hpbGQ+CistICAgICAgICAgICAgICAgIDxjaGlsZD4KKy0gICAgICAg ICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtGcmFtZSIgaWQ9ImZyYW1lMSI+CistICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+ CistICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibm9fc2hvd19hbGwiPlRydWU8 L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxhYmVsX3hh bGlnbiI+MDwvcHJvcGVydHk+CistICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i c2hhZG93X3R5cGUiPm5vbmU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgPGNoaWxk PgorLSAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDaGVja0J1dHRvbiIg aWQ9ImNoZWNrYnV0dG9uX2F1dG9fc3RhcnQiPgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlN0YXJ0IGlidXMgb24gbG9n aW48L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1 c2VfYWN0aW9uX2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CistICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+VHJ1ZTwvcHJvcGVy dHk+CistICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJlY2VpdmVzX2Rl ZmF1bHQiPkZhbHNlPC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVy dHkgbmFtZT0idXNlX2FjdGlvbl9hcHBlYXJhbmNlIj5GYWxzZTwvcHJvcGVydHk+CistICAgICAg ICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV91bmRlcmxpbmUiPlRydWU8L3By b3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoYWxpZ24i PnN0YXJ0PC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0iZHJhd19pbmRpY2F0b3IiPlRydWU8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJtYXJnaW5fdG9wIj42PC9wcm9wZXJ0eT4KKy0gICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibWFyZ2luX3N0YXJ0Ij4xMjwvcHJvcGVydHk+ CistICAgICAgICAgICAgICAgICAgICAgIDwvb2JqZWN0PgorLSAgICAgICAgICAgICAgICAgICAg PC9jaGlsZD4KKy0gICAgICAgICAgICAgICAgICAgIDxjaGlsZCB0eXBlPSJsYWJlbCI+CistICAg ICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWw0Ij4K Ky0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwv cHJvcGVydHk+CistICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9m b2N1cyI+RmFsc2U8L3Byb3BlcnR5PgorLSAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPiZsdDtiJmd0O1N0YXJ0dXAmbHQ7L2Im Z3Q7PC9wcm9wZXJ0eT4KKy0gICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0i dXNlX21hcmt1cCI+VHJ1ZTwvcHJvcGVydHk+CistICAgICAgICAgICAgICAgICAgICAgIDwvb2Jq ZWN0PgorLSAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKy0gICAgICAgICAgICAgICAgICA8 L29iamVjdD4KKy0gICAgICAgICAgICAgICAgICA8cGFja2luZz4KKy0gICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJleHBhbmQiPkZhbHNlPC9wcm9wZXJ0eT4KKy0gICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJmaWxsIj5GYWxzZTwvcHJvcGVydHk+CistICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjI8L3Byb3BlcnR5PgorLSAg ICAgICAgICAgICAgICAgIDwvcGFja2luZz4KKy0gICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAg ICAgICAgICAgICAgIDwvb2JqZWN0PgorICAgICAgICAgICAgICAgPHBhY2tpbmc+CisgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+NDwvcHJvcGVydHk+CistLSAKKzIu MjQuMQorCitGcm9tIDNmMDk4ZGM1MWE3MThmM2JkNDI3ODczNjA3ZGNkNDc4NjU1MjNkY2UgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBBYXJvbiBNdWlyIEhhbWlsdG9uIDxhYXJvbkBj b3JyZXNwb25kd2l0aC5tZT4KK0RhdGU6IFR1ZSwgMTggQXVnIDIwMjAgMTM6NDU6MzIgKzA5MDAK K1N1YmplY3Q6IFtQQVRDSCAzLzldIHVpL2d0azM6IFRlbGwgUGFuZ28gYWJvdXQgdGhlIGVuZ2lu ZSBsYW5ndWFnZSBpbiB0aGUKKyBjYW5kaWRhdGUgcGFuZWwKKworVGhpcyBoZWxwcyBQYW5nbyBz ZWxlY3QgdGhlIGNvcnJlY3QgZm9udCB2YXJpYW50cyBmb3IgdGhlIGVuZ2luZQorbGFuZ3VhZ2Us IHdoaWNoIGlzIGVzcGVjaWFsbHkgaW1wb3J0YW50IGJldHdlZW4gbGFuZ3VhZ2VzIGJhc2VkIG9u IGhhbgorY2hhcmFjdGVycyB3aGljaCBoYXZlIHdpbGRseSBkaWZmZXJlbnQgZm9ybXMgb2YgdGhl IHNhbWUgY2hhcmFjdGVyLgorCitCVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1 ZXMvMjIzOAorLS0tCisgdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZhbGEgIHwgNyArKysrKysrCisg dWkvZ3RrMy9jYW5kaWRhdGVwYW5lbC52YWxhIHwgOSArKysrKysrKysKKyB1aS9ndGszL3BhbmVs LnZhbGEgICAgICAgICAgfCAyICsrCisgMyBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCsp CisKK2RpZmYgLS1naXQgYS91aS9ndGszL2NhbmRpZGF0ZWFyZWEudmFsYSBiL3VpL2d0azMvY2Fu ZGlkYXRlYXJlYS52YWxhCitpbmRleCBiMjJhYjVkYS4uMGFiNDEyMTcgMTAwNjQ0CistLS0gYS91 aS9ndGszL2NhbmRpZGF0ZWFyZWEudmFsYQorKysrIGIvdWkvZ3RrMy9jYW5kaWRhdGVhcmVhLnZh bGEKK0BAIC0zMiw2ICszMiw4IEBAIGNsYXNzIENhbmRpZGF0ZUFyZWEgOiBHdGsuQm94IHsKKyAg ICAgcHJpdmF0ZSBib29sIG1fc2hvd19jdXJzb3I7CisgICAgIHByaXZhdGUgVGhlbWVkUkdCQSBt X3JnYmE7CisgCisrICAgIHByaXZhdGUgUGFuZ28uQXR0cmlidXRlIG1fbGFuZ3VhZ2VfYXR0cmli dXRlOworKworICAgICBwcml2YXRlIGNvbnN0IHN0cmluZyBMQUJFTFNbXSA9IHsKKyAgICAgICAg ICIxLiIsICIyLiIsICIzLiIsICI0LiIsICI1LiIsICI2LiIsICI3LiIsICI4LiIsCisgICAgICAg ICAiOS4iLCAiMC4iLCAiYS4iLCAiYi4iLCAiYy4iLCAiZC4iLCAiZS4iLCAiZi4iCitAQCAtMTAy LDYgKzEwNCwxMCBAQCBjbGFzcyBDYW5kaWRhdGVBcmVhIDogR3RrLkJveCB7CisgICAgICAgICAg ICAgbV9sYWJlbHNbaV0uc2V0X3RleHQoTEFCRUxTW2ldKTsKKyAgICAgfQorIAorKyAgICBwdWJs aWMgdm9pZCBzZXRfbGFuZ3VhZ2UoUGFuZ28uQXR0cmlidXRlIGxhbmd1YWdlX2F0dHJpYnV0ZSkg eworKyAgICAgICAgbV9sYW5ndWFnZV9hdHRyaWJ1dGUgPSBsYW5ndWFnZV9hdHRyaWJ1dGUuY29w eSgpOworKyAgICB9CisrCisgICAgIHB1YmxpYyB2b2lkIHNldF9jYW5kaWRhdGVzKElCdXMuVGV4 dFtdIGNhbmRpZGF0ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQgZm9j dXNfY2FuZGlkYXRlID0gMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBz aG93X2N1cnNvciA9IHRydWUpIHsKK0BAIC0xMTUsNiArMTIxLDcgQEAgY2xhc3MgQ2FuZGlkYXRl QXJlYSA6IEd0ay5Cb3ggeworICAgICAgICAgICAgIGJvb2wgdmlzaWJsZSA9IGZhbHNlOworICAg ICAgICAgICAgIGlmIChpIDwgY2FuZGlkYXRlcy5sZW5ndGgpIHsKKyAgICAgICAgICAgICAgICAg UGFuZ28uQXR0ckxpc3QgYXR0cnMgPSBnZXRfcGFuZ29fYXR0cl9saXN0X2Zyb21faWJ1c190ZXh0 KGNhbmRpZGF0ZXNbaV0pOworKyAgICAgICAgICAgICAgICBhdHRycy5jaGFuZ2UobV9sYW5ndWFn ZV9hdHRyaWJ1dGUuY29weSgpKTsKKyAgICAgICAgICAgICAgICAgaWYgKGkgPT0gZm9jdXNfY2Fu ZGlkYXRlICYmIHNob3dfY3Vyc29yKSB7CisgICAgICAgICAgICAgICAgICAgICBQYW5nby5BdHRy aWJ1dGUgcGFuZ29fYXR0ciA9IFBhbmdvLmF0dHJfZm9yZWdyb3VuZF9uZXcoCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh1aW50MTYpKG1fcmdiYS5zZWxlY3RlZF9mZy5yZWQgKiB1aW50 MTYuTUFYKSwKK2RpZmYgLS1naXQgYS91aS9ndGszL2NhbmRpZGF0ZXBhbmVsLnZhbGEgYi91aS9n dGszL2NhbmRpZGF0ZXBhbmVsLnZhbGEKK2luZGV4IDg5OTRjZGI5Li41NzU0NGRmMyAxMDA2NDQK Ky0tLSBhL3VpL2d0azMvY2FuZGlkYXRlcGFuZWwudmFsYQorKysrIGIvdWkvZ3RrMy9jYW5kaWRh dGVwYW5lbC52YWxhCitAQCAtMzQsNiArMzQsOCBAQCBwdWJsaWMgY2xhc3MgQ2FuZGlkYXRlUGFu ZWwgOiBHdGsuQm94eworIAorICAgICBwcml2YXRlIEdkay5SZWN0YW5nbGUgbV9jdXJzb3JfbG9j YXRpb247CisgCisrICAgIHByaXZhdGUgUGFuZ28uQXR0cmlidXRlIG1fbGFuZ3VhZ2VfYXR0cmli dXRlOworKworICAgICBwdWJsaWMgc2lnbmFsIHZvaWQgY3Vyc29yX3VwKCk7CisgICAgIHB1Ymxp YyBzaWduYWwgdm9pZCBjdXJzb3JfZG93bigpOworICAgICBwdWJsaWMgc2lnbmFsIHZvaWQgcGFn ZV91cCgpOworQEAgLTExMiw4ICsxMTQsMTQgQEAgcHVibGljIGNsYXNzIENhbmRpZGF0ZVBhbmVs IDogR3RrLkJveHsKKyAgICAgICAgIG1fY2FuZGlkYXRlX2FyZWEuc2V0X2xhYmVscyhsYWJlbHMp OworICAgICB9CisgCisrICAgIHB1YmxpYyB2b2lkIHNldF9sYW5ndWFnZShQYW5nby5BdHRyaWJ1 dGUgbGFuZ3VhZ2VfYXR0cmlidXRlKSB7CisrICAgICAgICBtX2NhbmRpZGF0ZV9hcmVhLnNldF9s YW5ndWFnZShsYW5ndWFnZV9hdHRyaWJ1dGUpOworKyAgICAgICAgbV9sYW5ndWFnZV9hdHRyaWJ1 dGUgPSBsYW5ndWFnZV9hdHRyaWJ1dGUuY29weSgpOworKyAgICB9CisrCisgICAgIHByaXZhdGUg dm9pZCBzZXRfYXR0cmlidXRlcyhHdGsuTGFiZWwgbGFiZWwsIElCdXMuVGV4dCB0ZXh0KSB7Cisg ICAgICAgICBQYW5nby5BdHRyTGlzdCBhdHRycyA9IGdldF9wYW5nb19hdHRyX2xpc3RfZnJvbV9p YnVzX3RleHQodGV4dCk7CisrICAgICAgICBhdHRycy5jaGFuZ2UobV9sYW5ndWFnZV9hdHRyaWJ1 dGUuY29weSgpKTsKKyAKKyAgICAgICAgIEd0ay5TdHlsZUNvbnRleHQgY29udGV4dCA9IGxhYmVs LmdldF9zdHlsZV9jb250ZXh0KCk7CisgICAgICAgICBHZGsuUkdCQSBjb2xvcjsKK0BAIC0xNTQs NiArMTYyLDcgQEAgcHVibGljIGNsYXNzIENhbmRpZGF0ZVBhbmVsIDogR3RrLkJveHsKKyAgICAg ICAgIGlmICh0ZXh0ICE9IG51bGwpIHsKKyAgICAgICAgICAgICBtX2F1eF9sYWJlbC5zZXRfdGV4 dCh0ZXh0LmdldF90ZXh0KCkpOworICAgICAgICAgICAgIFBhbmdvLkF0dHJMaXN0IGF0dHJzID0g Z2V0X3BhbmdvX2F0dHJfbGlzdF9mcm9tX2lidXNfdGV4dCh0ZXh0KTsKKysgICAgICAgICAgICBh dHRycy5jaGFuZ2UobV9sYW5ndWFnZV9hdHRyaWJ1dGUuY29weSgpKTsKKyAgICAgICAgICAgICBt X2F1eF9sYWJlbC5zZXRfYXR0cmlidXRlcyhhdHRycyk7CisgICAgICAgICAgICAgbV9hdXhfbGFi ZWwuc2hvdygpOworICAgICAgICAgfSBlbHNlIHsKK2RpZmYgLS1naXQgYS91aS9ndGszL3BhbmVs LnZhbGEgYi91aS9ndGszL3BhbmVsLnZhbGEKK2luZGV4IDY4MGM4NmVkLi44ZDlmNWNjMCAxMDA2 NDQKKy0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQorKysrIGIvdWkvZ3RrMy9wYW5lbC52YWxhCitA QCAtODIyLDYgKzgyMiw4IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAg ICAgICAgaWYgKCFtX3VzZV9zeXN0ZW1fa2V5Ym9hcmRfbGF5b3V0KQorICAgICAgICAgICAgIG1f eGtibGF5b3V0LnNldF9sYXlvdXQoZW5naW5lKTsKKyAKKysgICAgICAgIG1fY2FuZGlkYXRlX3Bh bmVsLnNldF9sYW5ndWFnZShuZXcgUGFuZ28uQXR0ckxhbmd1YWdlKFBhbmdvLkxhbmd1YWdlLmZy b21fc3RyaW5nKGVuZ2luZS5nZXRfbGFuZ3VhZ2UoKSkpKTsKKysKKyAgICAgICAgIGVuZ2luZV9j b250ZXh0c19pbnNlcnQoZW5naW5lKTsKKyAgICAgfQorIAorLS0gCisyLjI0LjEKKworRnJvbSA3 OWEwOWYxZTc1MzU3YTlmMWIzOGU4MDcxN2E1OWMxOWNjYTE2NDVlIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0 ZTogVHVlLCAxOCBBdWcgMjAyMCAxMzo0NTozOCArMDkwMAorU3ViamVjdDogW1BBVENIIDQvOV0g c2V0dXA6IEFkZCB1c2UtZ2x5cGgtZnJvbS1lbmdpbmUtbGFuZworCitUaGUgc2V0dGluZyBjYW4g cmV2ZXJ0IHRoZSBwcmV2aW91cyBzZXR0aW5nIHRvIGNob29zZSBnbHB5aHMKK3dpdGggdGhlIGN1 cnJlbnQgbG9jYWxlIG9uIGxvb2t1cCB3aW5kb3cgaW5zdGVhZCBvZiB0aGUgZW5naW5lJ3MgbGFu Z3VhZ2UuCisKK0JVRz1odHRwczovL2dpdGh1Yi5jb20vaWJ1cy9pYnVzL2lzc3Vlcy8yMjM4Cist LS0KKyBkYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVzLmdzY2hlbWEueG1sIHwgIDkgKysr KworIHNldHVwL21haW4ucHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNyArKysK KyBzZXR1cC9zZXR1cC51aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgNDkgKysrKysr KysrKysrKysrKysrKysrCisgdWkvZ3RrMy9wYW5lbC52YWxhICAgICAgICAgICAgICAgICAgICAg ICAgICB8IDI2ICsrKysrKysrKystCisgNCBmaWxlcyBjaGFuZ2VkLCA4OSBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvZGF0YS9kY29uZi9vcmcuZnJlZWRlc2t0 b3AuaWJ1cy5nc2NoZW1hLnhtbCBiL2RhdGEvZGNvbmYvb3JnLmZyZWVkZXNrdG9wLmlidXMuZ3Nj aGVtYS54bWwKK2luZGV4IDdhZThmMGY2Li4xMWExNzlhNiAxMDA2NDQKKy0tLSBhL2RhdGEvZGNv bmYvb3JnLmZyZWVkZXNrdG9wLmlidXMuZ3NjaGVtYS54bWwKKysrKyBiL2RhdGEvZGNvbmYvb3Jn LmZyZWVkZXNrdG9wLmlidXMuZ3NjaGVtYS54bWwKK0BAIC0xNjUsNiArMTY1LDE1IEBACisgICAg ICAgPHN1bW1hcnk+Q3VzdG9tIGZvbnQ8L3N1bW1hcnk+CisgICAgICAgPGRlc2NyaXB0aW9uPkN1 c3RvbSBmb250IG5hbWUgZm9yIGxhbmd1YWdlIHBhbmVsPC9kZXNjcmlwdGlvbj4KKyAgICAgPC9r ZXk+CisrICAgIDxrZXkgbmFtZT0idXNlLWdseXBoLWZyb20tZW5naW5lLWxhbmciIHR5cGU9ImIi PgorKyAgICAgIDxkZWZhdWx0PnRydWU8L2RlZmF1bHQ+CisrICAgICAgPHN1bW1hcnk+Q2hvb3Nl IGdseXBocyB3aXRoIGlucHV0IG1ldGhvZCdzIGxhbmd1YWdlIG9uIGNhbmRpZGF0ZSB3aW5kb3c8 L3N1bW1hcnk+CisrICAgICAgPGRlc2NyaXB0aW9uPlNvbWUgY29kZSBwb2ludHMgaGF2ZSB0aGUg ZGlmZmVyZW50IGdseXBocyBhbmQgUGFuZ28KKysgICAgICAgICAgICAgICAgICAgZGV0ZXJtaW5l cyB0aGUgZ2x5cGhzIGZyb20gdGhlIGxhbmd1YWdlIGF0dHJpYnV0ZS4KKysgICAgICAgICAgICAg ICAgICAgUGFuZ28gY2hvb3NlcyBnbHlwaHMgZnJvbSB0aGUgSUJ1cyBlbmdpbmUncyBsYW5ndWFn ZQorKyAgICAgICAgICAgICAgICAgICBpZiB0aGUgdmFsdWUgaXMgdHJ1ZSBhbmQgY2hvb3NlIHRo ZW0gZnJvbSB0aGUgZGVza3RvcAorKyAgICAgICAgICAgICAgICAgICBsb2NhbGUgaWYgdGhlIHZh bHVlIGlzIGZhbHNlLjwvZGVzY3JpcHRpb24+CisrICAgIDwva2V5PgorICAgICA8Y2hpbGQgbmFt ZT0iZW1vamkiIHNjaGVtYT0ib3JnLmZyZWVkZXNrdG9wLmlidXMucGFuZWwuZW1vamkiLz4KKyAg IDwvc2NoZW1hPgorICAgPHNjaGVtYSBpZD0ib3JnLmZyZWVkZXNrdG9wLmlidXMucGFuZWwuZW1v amkiIHBhdGg9Ii9kZXNrdG9wL2lidXMvcGFuZWwvZW1vamkvIj4KK2RpZmYgLS1naXQgYS9zZXR1 cC9tYWluLnB5IGIvc2V0dXAvbWFpbi5weQoraW5kZXggZDVlMjA3OGMuLjhjOGQ3YTQ3IDEwMDY0 NAorLS0tIGEvc2V0dXAvbWFpbi5weQorKysrIGIvc2V0dXAvbWFpbi5weQorQEAgLTIxMiw2ICsy MTIsMTMgQEAgY2xhc3MgU2V0dXAob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdhY3RpdmUnLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R2lvLlNldHRpbmdzQmluZEZsYWdzLkRFRkFVTFQpCisgCisrICAgICAgICBzZWxmLl9fY2hlY2ti dXR0b25fZ2x5cGhfZnJvbV9lbmdpbmVfbGFuZyA9IHNlbGYuX19idWlsZGVyLmdldF9vYmplY3Qo CisrICAgICAgICAgICAgICAgICJjaGVja2J1dHRvbl91c2VfZ2x5cGhfZnJvbV9lbmdpbmVfbGFu ZyIpCisrICAgICAgICBzZWxmLl9fc2V0dGluZ3NfcGFuZWwuYmluZCgndXNlLWdseXBoLWZyb20t ZW5naW5lLWxhbmcnLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5f X2NoZWNrYnV0dG9uX2dseXBoX2Zyb21fZW5naW5lX2xhbmcsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnYWN0aXZlJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdpby5TZXR0aW5nc0JpbmRGbGFncy5ERUZBVUxUKQorKworICAgICBkZWYgX19pbml0 X2dlbmVyYWwoc2VsZik6CisgICAgICAgICAjIGVtYmVkIHByZWVkaXQgdGV4dAorICAgICAgICAg c2VsZi5fX2NoZWNrYnV0dG9uX2VtYmVkX3ByZWVkaXRfdGV4dCA9IHNlbGYuX19idWlsZGVyLmdl dF9vYmplY3QoCitkaWZmIC0tZ2l0IGEvc2V0dXAvc2V0dXAudWkgYi9zZXR1cC9zZXR1cC51aQor aW5kZXggMjUwZjQzYTAuLmExNWI5MDgzIDEwMDY0NAorLS0tIGEvc2V0dXAvc2V0dXAudWkKKysr KyBiL3NldHVwL3NldHVwLnVpCitAQCAtMTI4Niw2ICsxMjg2LDU1IEBACisgICAgICAgICAgICAg ICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjE8L3Byb3BlcnR5PgorICAgICAgICAg ICAgICAgICAgIDwvcGFja2luZz4KKyAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKysgICAgICAg ICAgICAgICAgPGNoaWxkPgorKyAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xhc3M9Ikd0a0Zy YW1lIiBpZD0iZnJhbWUxIj4KKysgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2 aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJsYWJlbF94YWxpZ24iPjA8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InNoYWRvd190eXBlIj5ub25lPC9wcm9wZXJ0eT4KKysgICAg ICAgICAgICAgICAgICAgIDxjaGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBj bGFzcz0iR3RrQm94IiBpZD0idmJveDEwIj4KKysgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0ib3JpZW50YXRpb24iPnZlcnRpY2FsPC9wcm9wZXJ0eT4KKysgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+Cisr ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1cyI+RmFsc2U8 L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJzcGFj aW5nIj42PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFt ZT0ibWFyZ2luX3RvcCI+NjwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9Im1hcmdpbl9zdGFydCI+MjQ8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAg ICAgICAgICAgIDxjaGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xh c3M9Ikd0a0NoZWNrQnV0dG9uIiBpZD0iY2hlY2tidXR0b25fdXNlX2dseXBoX2Zyb21fZW5naW5l X2xhbmciPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFi ZWwiIHRyYW5zbGF0YWJsZT0ieWVzIj5DaG9vc2UgZ2x5cGhzIHdpdGggaW5wdXQgbWV0aG9kJ3Mg bGFuZ3VhZ2Ugb24gY2FuZGlkYXRlIHdpbmRvdzwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2VfYWN0aW9uX2FwcGVhcmFuY2UiPkZhbHNl PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InJlY2VpdmVzX2RlZmF1bHQiPkZhbHNlPC9w cm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRv b2x0aXBfdGV4dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPkNob29zZSBnbHlwaHMgd2l0aCB0aGUgaW5w dXQgbWV0aG9kJ3MgbGFuZ3VhZ2Ugb24gdGhlIGNhbmRpZGF0ZSB3aW5kb3cgZm9yIHRoZSBkdXBs aWNhdGVkIGNvZGUgcG9pbnRzPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25fYXBwZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5 PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iaGFsaWduIj5z dGFydDwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJkcmF3X2luZGljYXRvciI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYWNraW5nPgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZXhwYW5kIj5GYWxz ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1l PSJmaWxsIj5GYWxzZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MDwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICA8L3BhY2tpbmc+CisrICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKysg ICAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CisrICAgICAgICAgICAgICAgICAgICA8L2No aWxkPgorKyAgICAgICAgICAgICAgICAgICAgPGNoaWxkIHR5cGU9ImxhYmVsIj4KKysgICAgICAg ICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrTGFiZWwiIGlkPSJsYWJlbDIwIj4KKysg ICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJv cGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1 cyI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPiZsdDtiJmd0O0ZvbnRzJmx0Oy9iJmd0Ozwv cHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9t YXJrdXAiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4K KysgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisrICAgICAgICAgICAgICAgICAgPC9vYmpl Y3Q+CisrICAgICAgICAgICAgICAgICAgPHBhY2tpbmc+CisrICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0iZXhwYW5kIj5GYWxzZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0iZmlsbCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InBvc2l0aW9uIj4yPC9wcm9wZXJ0eT4KKysgICAgICAg ICAgICAgICAgICA8L3BhY2tpbmc+CisrICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAgICAg ICAgICAgICA8L29iamVjdD4KKyAgICAgICAgICAgICAgIDxwYWNraW5nPgorICAgICAgICAgICAg ICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjM8L3Byb3BlcnR5PgorZGlmZiAtLWdpdCBh L3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwudmFsYQoraW5kZXggOGQ5ZjVjYzAu LmRjOThlNzIyIDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9wYW5lbC52YWxhCisrKysgYi91aS9ndGsz L3BhbmVsLnZhbGEKK0BAIC00Nyw2ICs0Nyw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNl cnZpY2UgeworICAgICBwcml2YXRlIHN0cmluZyBtX2N1cnJlbnRfY29udGV4dF9wYXRoID0gIiI7 CisgICAgIHByaXZhdGUgc3RyaW5nIG1fcmVhbF9jdXJyZW50X2NvbnRleHRfcGF0aCA9ICIiOwor ICAgICBwcml2YXRlIGJvb2wgbV91c2VfZ2xvYmFsX2VuZ2luZSA9IHRydWU7CisrICAgIHByaXZh dGUgYm9vbCBtX3VzZV9lbmdpbmVfbGFuZyA9IHRydWU7CisgICAgIHByaXZhdGUgQ2FuZGlkYXRl UGFuZWwgbV9jYW5kaWRhdGVfcGFuZWw7CisgICAgIHByaXZhdGUgU3dpdGNoZXIgbV9zd2l0Y2hl cjsKKyAgICAgcHJpdmF0ZSB1aW50IG1fc3dpdGNoZXJfZm9jdXNfc2V0X2VuZ2luZV9pZDsKK0BA IC0xOTcsNiArMTk4LDE1IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWYgbV9jc3NfcHJv dmlkZXIpOworICAgICAgICAgfSk7CisgCisrICAgICAgICBtX3NldHRpbmdzX3BhbmVsLmNoYW5n ZWRbInVzZS1nbHlwaC1mcm9tLWVuZ2luZS1sYW5nIl0uY29ubmVjdCgoa2V5KSA9PgorKyAgICAg ICAgeworKyAgICAgICAgICAgICAgICBtX3VzZV9lbmdpbmVfbGFuZyA9IG1fc2V0dGluZ3NfcGFu ZWwuZ2V0X2Jvb2xlYW4oCisrICAgICAgICAgICAgICAgICAgICAgICAgInVzZS1nbHlwaC1mcm9t LWVuZ2luZS1sYW5nIik7CisrICAgICAgICAgICAgICAgIHZhciBlbmdpbmUgPSBtX2J1cy5nZXRf Z2xvYmFsX2VuZ2luZSgpOworKyAgICAgICAgICAgICAgICBpZiAoZW5naW5lICE9IG51bGwpCisr ICAgICAgICAgICAgICAgICAgICBzZXRfbGFuZ3VhZ2VfZnJvbV9lbmdpbmUoZW5naW5lKTsKKysg ICAgICAgIH0pOworKworICAgICAgICAgbV9zZXR0aW5nc19wYW5lbC5jaGFuZ2VkWyJzaG93LWlj b24tb24tc3lzdHJheSJdLmNvbm5lY3QoKGtleSkgPT4geworICAgICAgICAgICAgICAgICBzZXRf c2hvd19pY29uX29uX3N5c3RyYXkoKTsKKyAgICAgICAgIH0pOworQEAgLTczMiw2ICs3NDIsOCBA QCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAgICAgICAgIHNldF91c2Vfc3lz dGVtX2tleWJvYXJkX2xheW91dCgpOworICAgICAgICAgc2V0X3VzZV9nbG9iYWxfZW5naW5lKCk7 CisgICAgICAgICBzZXRfdXNlX3htb2RtYXAoKTsKKysgICAgICAgIG1fdXNlX2VuZ2luZV9sYW5n ID0gbV9zZXR0aW5nc19wYW5lbC5nZXRfYm9vbGVhbigKKysgICAgICAgICAgICAgICAgICAgICAg ICAidXNlLWdseXBoLWZyb20tZW5naW5lLWxhbmciKTsKKyAgICAgICAgIHVwZGF0ZV9lbmdpbmVz KG1fc2V0dGluZ3NfZ2VuZXJhbC5nZXRfc3RydigicHJlbG9hZC1lbmdpbmVzIiksCisgICAgICAg ICAgICAgICAgICAgICAgICBtX3NldHRpbmdzX2dlbmVyYWwuZ2V0X3N0cnYoImVuZ2luZXMtb3Jk ZXIiKSk7CisgICAgICAgICBCaW5kaW5nQ29tbW9uLnVuYmluZF9zd2l0Y2hfc2hvcnRjdXQoCitA QCAtODAxLDYgKzgxMywxNyBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAg ICAgICAgIG1fZW5naW5lX2NvbnRleHRzLnJlcGxhY2UobV9jdXJyZW50X2NvbnRleHRfcGF0aCwg ZW5naW5lKTsKKyAgICAgfQorIAorKyAgICBwcml2YXRlIHZvaWQgc2V0X2xhbmd1YWdlX2Zyb21f ZW5naW5lKElCdXMuRW5naW5lRGVzYyBlbmdpbmUpIHsKKysgICAgICAgIGlmIChtX3VzZV9lbmdp bmVfbGFuZykgeworKyAgICAgICAgICAgIG1fY2FuZGlkYXRlX3BhbmVsLnNldF9sYW5ndWFnZShu ZXcgUGFuZ28uQXR0ckxhbmd1YWdlKAorKyAgICAgICAgICAgICAgICAgICAgUGFuZ28uTGFuZ3Vh Z2UuZnJvbV9zdHJpbmcoZW5naW5lLmdldF9sYW5ndWFnZSgpKSkpOworKyAgICAgICAgfSBlbHNl IHsKKysgICAgICAgICAgICBtX2NhbmRpZGF0ZV9wYW5lbC5zZXRfbGFuZ3VhZ2UobmV3IFBhbmdv LkF0dHJMYW5ndWFnZSgKKysgICAgICAgICAgICAgICAgICAgIFBhbmdvLkxhbmd1YWdlLmZyb21f c3RyaW5nKG51bGwpKSk7CisrICAgICAgICB9CisrCisrICAgIH0KKysKKyAgICAgcHJpdmF0ZSB2 b2lkIHNldF9lbmdpbmUoSUJ1cy5FbmdpbmVEZXNjIGVuZ2luZSkgeworICAgICAgICAgaWYgKG1f cHJvcGVydHlfaWNvbl9kZWxheV90aW1lX2lkID4gMCkgeworICAgICAgICAgICAgIEdMaWIuU291 cmNlLnJlbW92ZShtX3Byb3BlcnR5X2ljb25fZGVsYXlfdGltZV9pZCk7CitAQCAtODIyLDggKzg0 NSw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgaWYgKCFt X3VzZV9zeXN0ZW1fa2V5Ym9hcmRfbGF5b3V0KQorICAgICAgICAgICAgIG1feGtibGF5b3V0LnNl dF9sYXlvdXQoZW5naW5lKTsKKyAKKy0gICAgICAgIG1fY2FuZGlkYXRlX3BhbmVsLnNldF9sYW5n dWFnZShuZXcgUGFuZ28uQXR0ckxhbmd1YWdlKFBhbmdvLkxhbmd1YWdlLmZyb21fc3RyaW5nKGVu Z2luZS5nZXRfbGFuZ3VhZ2UoKSkpKTsKKy0KKysgICAgICAgIHNldF9sYW5ndWFnZV9mcm9tX2Vu Z2luZShlbmdpbmUpOworICAgICAgICAgZW5naW5lX2NvbnRleHRzX2luc2VydChlbmdpbmUpOwor ICAgICB9CisgCistLSAKKzIuMjQuMQorCitGcm9tIDUwODUyN2RhYWY5MDkwMWI2YTdmYTA2MjM3 MjUxNjY0MGY4OGFhNzUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBmdWppd2FyYXQg PHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CitEYXRlOiBGcmksIDIxIEF1ZyAyMDIwIDA5OjA3 OjM5ICswOTAwCitTdWJqZWN0OiBbUEFUQ0ggNi85XSBlbmdpbmU6IEdlbmVyYXRlIHNpbXBsZS54 bWwgd2l0aCBkZW55bGlzdAorCitzaW1wbGUueG1sIHdhcyBnZW5lcmF0ZWQgYnkgYWxsb3dsaXN0 ICh3aGl0ZWxpc3QpIGFuZCBpdCB3aWxsIGJlCitkb25lIGJ5IGRlbnlsaXN0IChibGFja2xpc3Qp LgorCitCVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjE1MworLS0tCisg ZW5naW5lL01ha2VmaWxlLmFtICB8ICAyMCArKy0KKyBlbmdpbmUvZGVueWxpc3QudHh0IHwgIDI3 ICsrKysKKyBlbmdpbmUvZ2Vuc2ltcGxlLnB5IHwgMzY3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCisgMyBmaWxlcyBjaGFuZ2VkLCA0MDcgaW5zZXJ0aW9ucygr KSwgNyBkZWxldGlvbnMoLSkKKyBjcmVhdGUgbW9kZSAxMDA2NDQgZW5naW5lL2RlbnlsaXN0LnR4 dAorIGNyZWF0ZSBtb2RlIDEwMDc1NSBlbmdpbmUvZ2Vuc2ltcGxlLnB5CisKK2RpZmYgLS1naXQg YS9lbmdpbmUvTWFrZWZpbGUuYW0gYi9lbmdpbmUvTWFrZWZpbGUuYW0KK2luZGV4IDg2ZjBlMmI4 Li5jYTQwNTQ5NiAxMDA2NDQKKy0tLSBhL2VuZ2luZS9NYWtlZmlsZS5hbQorKysrIGIvZW5naW5l L01ha2VmaWxlLmFtCitAQCAtNCw2ICs0LDcgQEAKKyAjCisgIyBDb3B5cmlnaHQgKGMpIDIwMTAt MjAxNiwgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAjIENvcHlyaWdodCAoYykg MjAwNy0yMDE2IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorKyMgQ29weXJp Z2h0IChjKSAyMDEzLTIwMjAgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5j b20+CisgIworICMgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgorICMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IExlc3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTc4LDIwICs3OSwyNSBAQCBjb21wb25lbnRfREFU QSA9IFwKKyAKKyBjb21wb25lbnRkaXIgPSAkKHBrZ2RhdGFkaXIpL2NvbXBvbmVudAorIAorLUNM RUFORklMRVMgPSBcCisrTUFJTlRBSU5FUkNMRUFORklMRVMgPSBcCisgCXNpbXBsZS54bWwgXAor IAkkKE5VTEwpCisgCisgRVhUUkFfRElTVCA9IFwKKysJZ2Vuc2ltcGxlLnB5IFwKKyAJaXNvNjM5 Y29udmVydGVyLnB5IFwKKy0Jc2ltcGxlLnhtbC5pbiBcCisrCXNpbXBsZS54bWwgXAorIAkkKE5V TEwpCisgCistc2ltcGxlLnhtbDogc2ltcGxlLnhtbC5pbgorLQkkKEFNX1ZfR0VOKSBzZWQgXAor LQkJLWUgJ3N8QFZFUlNJT05bQF18JChWRVJTSU9OKXxnJyBcCistCQktZSAnc3xAbGliZXhlY2Rp cltAXXwkKGxpYmV4ZWNkaXIpfGcnICQ8ID4gJEAudG1wICYmIFwKKy0JCW12ICRALnRtcCAkQAor K3NpbXBsZS54bWw6CisrCSQoc3JjZGlyKS9nZW5zaW1wbGUucHkgXAorKwkgICAgLS1pbnB1dD0k KGRhdGFyb290ZGlyKS9YMTEveGtiL3J1bGVzL2V2ZGV2LnhtbCBcCisrCSAgICAtLW91dHB1dD0k QCBcCisrCSAgICAtLXZlcnNpb249JChWRVJTSU9OKS5gZGF0ZSAnKyVZJW0lZCdgIFwKKysJICAg IC0tZXhlYy1wYXRoPSQobGliZXhlY2RpcikvaWJ1cy1lbmdpbmUtc2ltcGxlIFwKKysJICAgIC0t aXNvLXBhdGg9JChkYXRhcm9vdGRpcikveG1sL2lzby1jb2Rlcy9pc29fNjM5LnhtbCBcCisrCSAg ICAtLWZpcnN0LWxhbmd1YWdlIFwKKysJJChOVUxMKQorIAorICQobGliaWJ1cyk6CisgCSQoTUFL RSkgLUMgJCh0b3BfYnVpbGRkaXIpL3NyYworZGlmZiAtLWdpdCBhL2VuZ2luZS9kZW55bGlzdC50 eHQgYi9lbmdpbmUvZGVueWxpc3QudHh0CituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAw MDAwMDAuLmU0Y2QwNDczCistLS0gL2Rldi9udWxsCisrKysgYi9lbmdpbmUvZGVueWxpc3QudHh0 CitAQCAtMCwwICsxLDI3IEBACisrIyB2aW06c2V0IGZpbGVlbmNvZGluZz11dGYtOCBldCBzdHM9 NCBzdz00OgorKyMKKysjIGlidXMgLSBJbnRlbGxpZ2VudCBJbnB1dCBCdXMgZm9yIExpbnV4IC8g VW5peCBPUworKyMKKysjIENvcHlyaWdodCDCqSAyMDIwIFRha2FvIEZ1aml3YXJhIDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgorKyMKKysjIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKysjIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKysjIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorKyMgdmVyc2lv biAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp b24uCisrIworKyMgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKysjIExlc3NlciBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworKyMg TGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeS4gSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgorKworKyMgVGhpcyBmaWxlIGlzIGEgZGVueSBsaXN0IChibGFj ayBsaXN0KSBhbmQgdXNlZCBieSBnZW5zaW1wbGUucHkuCisrIyBnZW5zaW1wbGUucHkgZ2VuZXJh dGVzIHRoZSBlbmdpbmUgbGlzdCB3aXRoIGV2ZGV2LnhtbCBhbmQgaWYgYW4gZW5naW5lIG5hbWUK KysjIGlzIG1hdGNoZWQgd2l0aCBhbnkgZW50cmllcyBpbiB0aGlzIGZpbGUsIHRoZSBlbmdpbmUg aXMgZXhjbHVkZWQgZnJvbSB0aGUKKysjIGVuZ2luZSBsaXN0LgorKyMgQXN0ZXJpc2soKikgY2hh cmFjdGVyIGNhbiBiZSB1c2VkIHRvIG1hdGNoIGFueSBlbmdpbmVzLgorKyMgRS5nLiB4a2I6Y246 KjoqIGV4Y2x1ZGVzIHhrYjpjbjo6emhvIGFuZCB4a2I6Y246bW9uX3RyYWQ6bXZmCisreGtiOmNu Oio6KgorK3hrYjpuZWNfdm5kci9qcDoqOioKK2RpZmYgLS1naXQgYS9lbmdpbmUvZ2Vuc2ltcGxl LnB5IGIvZW5naW5lL2dlbnNpbXBsZS5weQorbmV3IGZpbGUgbW9kZSAxMDA3NTUKK2luZGV4IDAw MDAwMDAwLi5kYzRjY2YxMgorLS0tIC9kZXYvbnVsbAorKysrIGIvZW5naW5lL2dlbnNpbXBsZS5w eQorQEAgLTAsMCArMSwzNjcgQEAKKysjIS91c3IvYmluL3B5dGhvbgorKyMgdmltOnNldCBmaWxl ZW5jb2Rpbmc9dXRmLTggZXQgc3RzPTQgc3c9NDoKKysjCisrIyBpYnVzIC0gSW50ZWxsaWdlbnQg SW5wdXQgQnVzIGZvciBMaW51eCAvIFVuaXggT1MKKysjCisrIyBDb3B5cmlnaHQgwqkgMjAyMCBU YWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysjCisrIyBUaGlzIGxp YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisr IyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVi bGljCisrIyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIKKysjIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBv cHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgbGlicmFyeSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUgR05VCisrIyBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNz ZXIgR2VuZXJhbCBQdWJsaWMKKysjIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnkuIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysKKysKKysjIFRoaXMg c2NyaXB0IGdlbmVyYXRlcyBzaW1wbGUueG1sIHdpdGggL3Vzci9zaGFyZS9YMTEveGtiL3J1bGVz L2V2ZGV2LnhtbCwKKysjIC91c3Ivc2hhcmUveG1sL2lzby1jb2Rlcy9pc29fNjM5LnhtbCBhbmQg ZGVueWxpc3QudHh0CisrCisrCisrZnJvbSB4bWwuZG9tIGltcG9ydCBtaW5pZG9tCisrZnJvbSB4 bWwuc2F4IGltcG9ydCBtYWtlX3BhcnNlciBhcyBzYXhfbWFrZV9wYXJzZXIKKytmcm9tIHhtbC5z YXguaGFuZGxlciBpbXBvcnQgZmVhdHVyZV9uYW1lc3BhY2VzIGFzIHNheF9mZWF0dXJlX25hbWVz cGFjZXMKKytmcm9tIHhtbC5zYXguc2F4dXRpbHMgaW1wb3J0IFhNTEZpbHRlckJhc2UsIFhNTEdl bmVyYXRvciwgZXNjYXBlCisrZnJvbSB4bWwuc2F4LnhtbHJlYWRlciBpbXBvcnQgQXR0cmlidXRl c0ltcGwKKytmcm9tIHhtbC5zYXguX2V4Y2VwdGlvbnMgaW1wb3J0IFNBWFBhcnNlRXhjZXB0aW9u CisrCisraW1wb3J0IGNvZGVjcworK2ltcG9ydCBnZXRvcHQKKytpbXBvcnQgaW8KKytpbXBvcnQg b3MKKytpbXBvcnQgc3lzCisrCisrVkVSU0lPTj0nMC4xJworK0VWREVWX1hNTCA9ICcvdXNyL3No YXJlL1gxMS94a2IvcnVsZXMvZXZkZXYueG1sJworK0VYRUNfUEFUSD0nL3Vzci9saWIvaWJ1cy1l bmdpbmUtc2ltcGxlJworK0lTT19QQVRIPScvdXNyL3NoYXJlL3htbC9pc28tY29kZXMvaXNvXzYz OS54bWwnCisrUFkzSyA9IHN5cy52ZXJzaW9uX2luZm8gPj0gKDMsIDApCisrCisraWYgUFkzSzoK KysgICAgZnJvbSBpbyBpbXBvcnQgU3RyaW5nSU8KKytlbHNlOgorKyAgICAjIGlvLlN0cmluZ0lP IGRvZXMgbm90IHdvcmsgd2l0aCBYTUxHZW5lcmF0b3IKKysgICAgZnJvbSBjU3RyaW5nSU8gaW1w b3J0IFN0cmluZ0lPCisrICAgICMgaXNvXzYzOS54bWwgaW5jbHVkZXMgVVRGLTgKKysgICAgcmVs b2FkKHN5cykKKysgICAgc3lzLnNldGRlZmF1bHRlbmNvZGluZygndXRmLTgnKQorKworK2RlZiB1 c2FnZShwcmduYW1lKToKKysgICAgcHJpbnQoJycnXAorKyVzIFZlcnNpb24gJXMKKytVc2FnZToK KysgICVzIFtPUFRJT04uLi5dCisrCisrT3B0aW9uczoKKysgIC1oLCAtLWhlbHAgICAgICAgICAg ICAgICAgICAgICAgICAgU2hvdyB0aGlzIG1lc3NhZ2UKKysgIC1pLCAtLWlucHV0PUVWREVWX1hN TCAgICAgICAgICAgICAgTG9hZCBFVkRFVl9YTUwgZmlsZSAoZGVmYXVsdCBpczoKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICVzKQorKyAgLW8sIC0tb3V0cHV0PUZJ TEUgICAgICAgICAgICAgICAgICBPdXRwdXQgRklMRSAoZGVmYXVsdCBpcyBzdGRvdXQpCisrICAt ViwgLS12ZXJzaW9uPVZFUlNJT04gICAgICAgICAgICAgIFNldCBJQnVzIFZFUlNJT04gKGRlZmF1 bHQgaXMgJXMpCisrICAtZSwgLS1leGVjLXBhdGg9RVhFQ19QQVRIICAgICAgICAgIFNldCBFWEVD X1BBVEggZmlsZSAoZGVmYXVsdCBpczoKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICVzKQorKyAgLUksIC0taXNvLXBhdGg9SVNPX1BBVEggICAgICAgICAgICBMb2Fk IElTT19QQVRIIGZpbGUgKGRlZmF1bHQgaXM6CisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAlcykKKysgIC0xLCAtLWZpcnN0LWxhbmd1YWdlICAgICAgICAgICAgICAg UHVsbCBmaXJzdCBsYW5ndWFnZSBvbmx5IGluIGxhbmd1YWdlIGxpc3QKKysnJycgJSAocHJnbmFt ZSwgVkVSU0lPTiwgcHJnbmFtZSwgRVZERVZfWE1MLCBWRVJTSU9OLCBFWEVDX1BBVEgsIElTT19Q QVRIKSkKKysKKysKKytjbGFzcyBFdmRldlhNTChYTUxGaWx0ZXJCYXNlKToKKysgICAgZGVmIF9f aW5pdF9fKHNlbGYsIHBhcnNlcj1Ob25lLCBkb3duc3RyZWFtPU5vbmUsIGlzbzYzOT1Ob25lLAor KyAgICAgICAgICAgICAgICAgZGVueWxpc3Q9Tm9uZSwgYXV0aG9yPU5vbmUsIGZpcnN0PUZhbHNl KToKKysgICAgICAgIFhNTEZpbHRlckJhc2UuX19pbml0X18oc2VsZiwgcGFyc2VyKQorKyAgICAg ICAgc2VsZi5fX2Rvd25zdHJlYW0gPSBkb3duc3RyZWFtCisrICAgICAgICBzZWxmLl9faXNvNjM5 ID0gaXNvNjM5CisrICAgICAgICBzZWxmLl9fZGVueWxpc3QgPSBkZW55bGlzdAorKyAgICAgICAg c2VsZi5fX2F1dGhvciA9IGF1dGhvcgorKyAgICAgICAgc2VsZi5fX2ZpcnN0ID0gZmlyc3QKKysg ICAgICAgIHNlbGYuX19pc19sYXlvdXQgPSBGYWxzZQorKyAgICAgICAgc2VsZi5fX2lzX2Rlc2Ny aXB0aW9uID0gRmFsc2UKKysgICAgICAgIHNlbGYuX19pc19jb25maWdfaXRlbSA9IEZhbHNlCisr ICAgICAgICBzZWxmLl9faXNfdmFyaWFudCA9IEZhbHNlCisrICAgICAgICBzZWxmLl9faXNfaXNv NjM5ID0gRmFsc2UKKysgICAgICAgIHNlbGYuX19pc19uYW1lID0gRmFsc2UKKysgICAgICAgIHNl bGYuX19sYXlvdXQgPSAnJworKyAgICAgICAgc2VsZi5fX2Rlc2NyaXB0aW9uID0gJycKKysgICAg ICAgIHNlbGYuX192YXJpYW50ID0gJycKKysgICAgICAgIHNlbGYuX19saXN0X2lzbzYzOSA9IFtd CisrICAgIGRlZiBzdGFydERvY3VtZW50KHNlbGYpOgorKyAgICAgICAgaWYgc2VsZi5fX2Rvd25z dHJlYW06CisrICAgICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uc3RhcnREb2N1bWVudCgpCisr ICAgICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uc3RhcnRFbGVtZW50KCdlbmdpbmVzJywgQXR0 cmlidXRlc0ltcGwoe30pKQorKyAgICBkZWYgZW5kRG9jdW1lbnQoc2VsZik6CisrICAgICAgICBp ZiBzZWxmLl9fZG93bnN0cmVhbToKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVhbS5lbmRF bGVtZW50KCdlbmdpbmVzJykKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVhbS5lbmREb2N1 bWVudCgpCisrICAgIGRlZiBzdGFydEVsZW1lbnQoc2VsZiwgbmFtZSwgYXR0cnMpOgorKyAgICAg ICAgaWYgbmFtZSA9PSAnbGF5b3V0JzoKKysgICAgICAgICAgICBzZWxmLl9faXNfbGF5b3V0ID0g VHJ1ZQorKyAgICAgICAgZWxpZiBuYW1lID09ICdkZXNjcmlwdGlvbic6CisrICAgICAgICAgICAg c2VsZi5fX2lzX2Rlc2NyaXB0aW9uID0gVHJ1ZQorKyAgICAgICAgZWxpZiBuYW1lID09ICdjb25m aWdJdGVtJzoKKysgICAgICAgICAgICBzZWxmLl9faXNfY29uZmlnX2l0ZW0gPSBUcnVlCisrICAg ICAgICBlbGlmIG5hbWUgPT0gJ2xhbmd1YWdlTGlzdCc6CisrICAgICAgICAgICAgc2VsZi5fX2xp c3RfaXNvNjM5ID0gW10KKysgICAgICAgIGVsaWYgbmFtZSA9PSAnaXNvNjM5SWQnOgorKyAgICAg ICAgICAgIHNlbGYuX19pc19pc282MzkgPSBUcnVlCisrICAgICAgICBlbGlmIG5hbWUgPT0gJ3Zh cmlhbnQnOgorKyAgICAgICAgICAgIHNlbGYuX19pc192YXJpYW50ID0gVHJ1ZQorKyAgICAgICAg ZWxpZiBuYW1lID09ICduYW1lJzoKKysgICAgICAgICAgICBzZWxmLl9faXNfbmFtZSA9IFRydWUK KysgICAgZGVmIGVuZEVsZW1lbnQoc2VsZiwgbmFtZSk6CisrICAgICAgICBpZiBuYW1lID09ICds YXlvdXQnOgorKyAgICAgICAgICAgIHNlbGYuX19pc19sYXlvdXQgPSBGYWxzZQorKyAgICAgICAg ICAgIHNlbGYuX19sYXlvdXQgPSAnJworKyAgICAgICAgICAgIHNlbGYuX19kZXNjcmlwdGlvbiA9 ICcnCisrICAgICAgICAgICAgc2VsZi5fX3ZhcmlhbnQgPSAnJworKyAgICAgICAgICAgIHNlbGYu X19saXN0X2lzbzYzOSA9IFtdCisrICAgICAgICBlbGlmIG5hbWUgPT0gJ2Rlc2NyaXB0aW9uJzoK KysgICAgICAgICAgICBzZWxmLl9faXNfZGVzY3JpcHRpb24gPSBGYWxzZQorKyAgICAgICAgZWxp ZiBuYW1lID09ICdjb25maWdJdGVtJzoKKysgICAgICAgICAgICBzZWxmLnNhdmUoKQorKyAgICAg ICAgICAgIHNlbGYuX19pc19jb25maWdfaXRlbSA9IEZhbHNlCisrICAgICAgICBlbGlmIG5hbWUg PT0gJ2lzbzYzOUlkJzoKKysgICAgICAgICAgICBzZWxmLl9faXNfaXNvNjM5ID0gRmFsc2UKKysg ICAgICAgIGVsaWYgbmFtZSA9PSAndmFyaWFudCc6CisrICAgICAgICAgICAgc2VsZi5fX2lzX3Zh cmlhbnQgPSBGYWxzZQorKyAgICAgICAgZWxpZiBuYW1lID09ICduYW1lJzoKKysgICAgICAgICAg ICBzZWxmLl9faXNfbmFtZSA9IEZhbHNlCisrICAgIGRlZiBjaGFyYWN0ZXJzKHNlbGYsIHRleHQp OgorKyAgICAgICAgaWYgc2VsZi5fX2lzX2Rlc2NyaXB0aW9uOgorKyAgICAgICAgICAgIHNlbGYu X19kZXNjcmlwdGlvbiA9IHRleHQKKysgICAgICAgIGVsaWYgc2VsZi5fX2lzX25hbWU6CisrICAg ICAgICAgICAgaWYgc2VsZi5fX2lzX3ZhcmlhbnQgYW5kIHNlbGYuX19pc19jb25maWdfaXRlbToK KysgICAgICAgICAgICAgICAgc2VsZi5fX3ZhcmlhbnQgPSB0ZXh0CisrICAgICAgICAgICAgZWxp ZiBzZWxmLl9faXNfbGF5b3V0IGFuZCBzZWxmLl9faXNfY29uZmlnX2l0ZW06CisrICAgICAgICAg ICAgICAgIHNlbGYuX19sYXlvdXQgPSB0ZXh0CisrICAgICAgICBlbGlmIHNlbGYuX19pc19pc282 Mzk6CisrICAgICAgICAgICAgICAgIHNlbGYuX19saXN0X2lzbzYzOS5hcHBlbmQodGV4dCkKKysg ICAgZGVmIHNhdmUoc2VsZik6CisrICAgICAgICBpZiBub3Qgc2VsZi5fX2Rvd25zdHJlYW06Cisr ICAgICAgICAgICAgcmV0dXJuCisrICAgICAgICBmb3IgaXNvIGluIHNlbGYuX19saXN0X2lzbzYz OToKKysgICAgICAgICAgICBkb19kZW55ID0gRmFsc2UKKysgICAgICAgICAgICBmb3IgW3hrYiwg bGF5b3V0LCB2YXJpYW50LCBsYW5nXSBpbiBzZWxmLl9fZGVueWxpc3Q6CisrICAgICAgICAgICAg ICAgIGlmIHhrYiA9PSAneGtiJyBcCisrICAgICAgICAgICAgICAgICAgIGFuZCAoIGxheW91dCA9 PSBzZWxmLl9fbGF5b3V0IG9yIGxheW91dCA9PSAnKicgKSBcCisrICAgICAgICAgICAgICAgICAg IGFuZCAoIHZhcmlhbnQgPT0gc2VsZi5fX3ZhcmlhbnQgb3IgdmFyaWFudCA9PSAnKicgKSBcCisr ICAgICAgICAgICAgICAgICAgIGFuZCAoIGxhbmcgPT0gaXNvIG9yIHZhcmlhbnQgPT0gJyonICk6 CisrICAgICAgICAgICAgICAgICAgICBkb19kZW55ID0gVHJ1ZQorKyAgICAgICAgICAgICAgICAg ICAgYnJlYWsKKysgICAgICAgICAgICBpZiBkb19kZW55OgorKyAgICAgICAgICAgICAgICBjb250 aW51ZQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0YXJ0RWxlbWVudCgnZW5naW5l JywgQXR0cmlidXRlc0ltcGwoe30pKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0 YXJ0RWxlbWVudCgnbmFtZScsIEF0dHJpYnV0ZXNJbXBsKHt9KSkKKysgICAgICAgICAgICBuYW1l ID0gJ3hrYjolczolczolcycgJSAoCisrICAgICAgICAgICAgICAgIHNlbGYuX19sYXlvdXQsCisr ICAgICAgICAgICAgICAgIHNlbGYuX192YXJpYW50LAorKyAgICAgICAgICAgICAgICBpc28KKysg ICAgICAgICAgICApCisrICAgICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uY2hhcmFjdGVycyhu YW1lKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ25hbWUnKQor KyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0YXJ0RWxlbWVudCgnbGFuZ3VhZ2UnLCBB dHRyaWJ1dGVzSW1wbCh7fSkpCisrICAgICAgICAgICAgaXNvNjM5XzEgPSBzZWxmLl9faXNvNjM5 LmNvZGUydG8xKGlzbykKKysgICAgICAgICAgICBpZiBpc282MzlfMSAhPSBOb25lOgorKyAgICAg ICAgICAgICAgICBpc28gPSBpc282MzlfMQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFt LmNoYXJhY3RlcnMoaXNvKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1l bnQoJ2xhbmd1YWdlJykKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVhbS5zdGFydEVsZW1l bnQoJ2xpY2Vuc2UnLCBBdHRyaWJ1dGVzSW1wbCh7fSkpCisrICAgICAgICAgICAgc2VsZi5fX2Rv d25zdHJlYW0uY2hhcmFjdGVycygnR1BMJykKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVh bS5lbmRFbGVtZW50KCdsaWNlbnNlJykKKysgICAgICAgICAgICBpZiBzZWxmLl9fYXV0aG9yICE9 IE5vbmU6CisrICAgICAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0YXJ0RWxlbWVudCgn YXV0aG9yJywgQXR0cmlidXRlc0ltcGwoe30pKQorKyAgICAgICAgICAgICAgICBzZWxmLl9fZG93 bnN0cmVhbS5jaGFyYWN0ZXJzKHNlbGYuX19hdXRob3IpCisrICAgICAgICAgICAgICAgIHNlbGYu X19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ2F1dGhvcicpCisrICAgICAgICAgICAgc2VsZi5fX2Rv d25zdHJlYW0uc3RhcnRFbGVtZW50KCdsYXlvdXQnLCBBdHRyaWJ1dGVzSW1wbCh7fSkpCisrICAg ICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uY2hhcmFjdGVycyhzZWxmLl9fbGF5b3V0KQorKyAg ICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ2xheW91dCcpCisrICAgICAg ICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uc3RhcnRFbGVtZW50KCdsb25nbmFtZScsIEF0dHJpYnV0 ZXNJbXBsKHt9KSkKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVhbS5jaGFyYWN0ZXJzKHNl bGYuX19kZXNjcmlwdGlvbikKKysgICAgICAgICAgICBzZWxmLl9fZG93bnN0cmVhbS5lbmRFbGVt ZW50KCdsb25nbmFtZScpCisrICAgICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uc3RhcnRFbGVt ZW50KCdkZXNjcmlwdGlvbicsIEF0dHJpYnV0ZXNJbXBsKHt9KSkKKysgICAgICAgICAgICBzZWxm Ll9fZG93bnN0cmVhbS5jaGFyYWN0ZXJzKHNlbGYuX19kZXNjcmlwdGlvbikKKysgICAgICAgICAg ICBzZWxmLl9fZG93bnN0cmVhbS5lbmRFbGVtZW50KCdkZXNjcmlwdGlvbicpCisrICAgICAgICAg ICAgc2VsZi5fX2Rvd25zdHJlYW0uc3RhcnRFbGVtZW50KCdpY29uJywgQXR0cmlidXRlc0ltcGwo e30pKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmNoYXJhY3RlcnMoJ2lidXMta2V5 Ym9hcmQnKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ2ljb24n KQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLnN0YXJ0RWxlbWVudCgncmFuaycsIEF0 dHJpYnV0ZXNJbXBsKHt9KSkKKysgICAgICAgICAgICBpZiBzZWxmLl9fdmFyaWFudCA9PSAnJzoK KysgICAgICAgICAgICAgICAgc2VsZi5fX2Rvd25zdHJlYW0uY2hhcmFjdGVycygnNTAnKQorKyAg ICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmNoYXJh Y3RlcnMoJzEnKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ3Jh bmsnKQorKyAgICAgICAgICAgIHNlbGYuX19kb3duc3RyZWFtLmVuZEVsZW1lbnQoJ2VuZ2luZScp CisrICAgICAgICAgICAgaWYgc2VsZi5fX2ZpcnN0OgorKyAgICAgICAgICAgICAgICBicmVhawor KworKworK2NsYXNzIEdlbmVyYXRlRW5naW5lWE1MKCk6CisrICAgIF9OQU1FID0gJ29yZy5mcmVl ZGVza3RvcC5JQnVzLlNpbXBsZScKKysgICAgX0RFU0NSSVBUSU9OID0gJ0EgdGFibGUgYmFzZWQg c2ltcGxlIGVuZ2luZScKKysgICAgX0FVVEhPUiA9ICdQZW5nIEh1YW5nIDxzaGF3bi5wLmh1YW5n QGdtYWlsLmNvbT4nCisrICAgIF9IT01FUEFHRSA9ICdodHRwczovL2dpdGh1Yi5jb20vaWJ1cy9p YnVzL3dpa2knCisrICAgIF9ET01BSU4gPSAnaWJ1cycKKysgICAgZGVmIF9faW5pdF9fKHNlbGYs IHBhdGgsIGlzbzYzOT1Ob25lLCBkZW55bGlzdD0nJywgdmVyc2lvbj0nJywgZXhlYz0nJywKKysg ICAgICAgICAgICAgICAgIGZpcnN0PUZhbHNlKToKKysgICAgICAgIHNlbGYuX19wYXRoID0gcGF0 aAorKyAgICAgICAgc2VsZi5fX2lzbzYzOSA9IGlzbzYzOQorKyAgICAgICAgc2VsZi5fX2Rlbnls aXN0ID0gZGVueWxpc3QKKysgICAgICAgIHNlbGYuX192ZXJzaW9uID0gdmVyc2lvbgorKyAgICAg ICAgc2VsZi5fX2V4ZWMgPSBleGVjCisrICAgICAgICBzZWxmLl9fZmlyc3QgPSBmaXJzdAorKyAg ICAgICAgc2VsZi5fX3Jlc3VsdCA9IFN0cmluZ0lPKCkKKysgICAgICAgIGRvd25zdHJlYW0gPSBY TUxHZW5lcmF0b3Ioc2VsZi5fX3Jlc3VsdCwgJ3V0Zi04JykKKysgICAgICAgIHNlbGYuX19sb2Fk KGRvd25zdHJlYW0pCisrCisrICAgIGRlZiBfX2xvYWQoc2VsZiwgZG93bnN0cmVhbT1Ob25lKToK KysgICAgICAgIHBhcnNlciA9IHNheF9tYWtlX3BhcnNlcigpCisrICAgICAgICBwYXJzZXIuc2V0 RmVhdHVyZShzYXhfZmVhdHVyZV9uYW1lc3BhY2VzLCAwKQorKyAgICAgICAgc2VsZi5fX2hhbmRs ZXIgPSBFdmRldlhNTChwYXJzZXIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRvd25zdHJlYW0sCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19p c282MzksCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kZW55bGlz dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fQVVUSE9SLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZmlyc3QpCisrICAgICAgICBw YXJzZXIuc2V0Q29udGVudEhhbmRsZXIoc2VsZi5fX2hhbmRsZXIpCisrICAgICAgICBmID0gY29k ZWNzLm9wZW4oc2VsZi5fX3BhdGgsICdyJywgZW5jb2Rpbmc9J3V0Zi04JykKKysgICAgICAgIHRy eToKKysgICAgICAgICAgICBwYXJzZXIucGFyc2UoZikKKysgICAgICAgIGV4Y2VwdCBTQVhQYXJz ZUV4Y2VwdGlvbjoKKysgICAgICAgICAgICBwcmludCgnRXJyb3I6IEludmFsaWQgZmlsZSBmb3Jt YXQ6ICVzJyAlIHBhdGgpCisrICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgIGYuY2xvc2Uo KQorKyAgICBkZWYgd3JpdGUoc2VsZiwgb3V0cHV0PU5vbmUpOgorKyAgICAgICAgaWYgb3V0cHV0 ICE9IE5vbmU6CisrICAgICAgICAgICAgb2QgPSBjb2RlY3Mub3BlbihvdXRwdXQsICd3JywgZW5j b2Rpbmc9J3V0Zi04JykKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgaWYgUFkzSzoKKysg ICAgICAgICAgICAgICAgb2QgPSBpby5UZXh0SU9XcmFwcGVyKHN5cy5zdGRvdXQuYnVmZmVyLCBl bmNvZGluZz0ndXRmLTgnKQorKyAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgIG9k ID0gY29kZWNzLmdldHdyaXRlcigndXRmLTgnKShzeXMuc3Rkb3V0KQorKyAgICAgICAgY29udGVu dHMgPSBzZWxmLl9fcmVzdWx0LmdldHZhbHVlKCkKKysgICAgICAgIGluZGV4ID0gY29udGVudHMu ZmluZCgnPGVuZ2luZXM+JykKKysgICAgICAgIGlmIGluZGV4ID49IDA6CisrICAgICAgICAgICAg YXV0aG9yID0gZXNjYXBlKHNlbGYuX0FVVEhPUikKKysgICAgICAgICAgICBjb250ZW50cyA9ICcl czxjb21wb25lbnQ+PG5hbWU+JXM8L25hbWU+XAorKzxkZXNjcmlwdGlvbj4lczwvZGVzY3JpcHRp b24+PGV4ZWM+JXM8L2V4ZWM+PHZlcnNpb24+JXM8L3ZlcnNpb24+XAorKzxhdXRob3I+JXM8L2F1 dGhvcj48bGljZW5zZT4lczwvbGljZW5zZT48aG9tZXBhZ2U+JXM8L2hvbWVwYWdlPlwKKys8dGV4 dGRvbWFpbj4lczwvdGV4dGRvbWFpbj4lczwvY29tcG9uZW50PicgJSAoCisrICAgICAgICBjb250 ZW50c1s6aW5kZXhdLAorKyAgICAgICAgc2VsZi5fTkFNRSwgc2VsZi5fREVTQ1JJUFRJT04sCisr ICAgICAgICBzZWxmLl9fZXhlYywgc2VsZi5fX3ZlcnNpb24sIGF1dGhvciwgJ0dQTCcsCisrICAg ICAgICBzZWxmLl9IT01FUEFHRSwgc2VsZi5fRE9NQUlOLCBjb250ZW50c1tpbmRleDpdICkKKysg ICAgICAgIHBhcnNlZCA9IG1pbmlkb20ucGFyc2VTdHJpbmcoY29udGVudHMpCisrICAgICAgICAj IGZvcm1hdCB3aXRoIGluZGVudCBhbmQgZW5jb2RpbmcgYXR0cmlidXRlIGluIGhlYWRlcgorKyAg ICAgICAgeG1sID0gcGFyc2VkLnRvcHJldHR5eG1sKGluZGVudD0nICAgICcsIGVuY29kaW5nPSd1 dGYtOCcpCisrICAgICAgICAjIGNvbnZlcnQgYnl0ZSB0byBzdHIKKysgICAgICAgIG9kLndyaXRl KHN0cih4bWwsICd1dGYtOCcpKQorKyAgICAgICAgI29kLndyaXRlKGNvbnRlbnRzKQorKworKwor K2NsYXNzIElTTzYzOVhNTChYTUxGaWx0ZXJCYXNlKToKKysgICAgZGVmIF9faW5pdF9fKHNlbGYs IHBhcnNlcj1Ob25lKToKKysgICAgICAgIHNlbGYuX19jb2RlMnRvMSA9IHt9CisrICAgICAgICBz ZWxmLl9fY29kZXRvbmFtZSA9IHt9CisrICAgICAgICBYTUxGaWx0ZXJCYXNlLl9faW5pdF9fKHNl bGYsIHBhcnNlcikKKysgICAgZGVmIHN0YXJ0RWxlbWVudChzZWxmLCBuYW1lLCBhdHRycyk6Cisr ICAgICAgICBpZiBuYW1lICE9ICdpc29fNjM5X2VudHJ5JzoKKysgICAgICAgICAgICByZXR1cm4K KysgICAgICAgIG4gPSBhdHRycy5nZXQoJ25hbWUnKQorKyAgICAgICAgaXNvNjM5XzEgPSBhdHRy cy5nZXQoJ2lzb182MzlfMV9jb2RlJykKKysgICAgICAgIGlzbzYzOV8yYiA9IGF0dHJzLmdldCgn aXNvXzYzOV8yQl9jb2RlJykKKysgICAgICAgIGlzbzYzOV8ydCA9IGF0dHJzLmdldCgnaXNvXzYz OV8yVF9jb2RlJykKKysgICAgICAgIGlmIGlzbzYzOV8xICE9IE5vbmU6CisrICAgICAgICAgICAg c2VsZi5fX2NvZGV0b25hbWVbaXNvNjM5XzFdID0gbgorKyAgICAgICAgICAgIGlmIGlzbzYzOV8y YiAhPSBOb25lOgorKyAgICAgICAgICAgICAgICBzZWxmLl9fY29kZTJ0bzFbaXNvNjM5XzJiXSA9 IGlzbzYzOV8xCisrICAgICAgICAgICAgICAgIHNlbGYuX19jb2RldG9uYW1lW2lzbzYzOV8yYl0g PSBuCisrICAgICAgICAgICAgaWYgaXNvNjM5XzJ0ICE9IE5vbmUgYW5kIGlzbzYzOV8yYiAhPSBp c282MzlfMnQ6CisrICAgICAgICAgICAgICAgIHNlbGYuX19jb2RlMnRvMVtpc282MzlfMnRdID0g aXNvNjM5XzEKKysgICAgICAgICAgICAgICAgc2VsZi5fX2NvZGV0b25hbWVbaXNvNjM5XzJ0XSA9 IG4KKysgICAgZGVmIGNvZGUydG8xKHNlbGYsIGlzbzYzOV8yKToKKysgICAgICAgIHRyeToKKysg ICAgICAgICAgICByZXR1cm4gc2VsZi5fX2NvZGUydG8xW2lzbzYzOV8yXQorKyAgICAgICAgZXhj ZXB0IEtleUVycm9yOgorKyAgICAgICAgICAgIHJldHVybiBOb25lCisrCisrCisrZGVmIHBhcnNl X2lzbzYzOShwYXRoKToKKysgICAgZiA9IGNvZGVjcy5vcGVuKHBhdGgsICdyJywgZW5jb2Rpbmc9 J3V0Zi04JykKKysgICAgcGFyc2VyID0gc2F4X21ha2VfcGFyc2VyKCkKKysgICAgcGFyc2VyLnNl dEZlYXR1cmUoc2F4X2ZlYXR1cmVfbmFtZXNwYWNlcywgMCkKKysgICAgaGFuZGxlciA9IElTTzYz OVhNTChwYXJzZXIpCisrICAgIHBhcnNlci5zZXRDb250ZW50SGFuZGxlcihoYW5kbGVyKQorKyAg ICB0cnk6CisrICAgICAgICBwYXJzZXIucGFyc2UoZikKKysgICAgZXhjZXB0IFNBWFBhcnNlRXhj ZXB0aW9uOgorKyAgICAgICAgcHJpbnQoJ0Vycm9yOiBJbnZhbGlkIGZpbGUgZm9ybWF0OiAlcycg JSBwYXRoKQorKyAgICBmaW5hbGx5OgorKyAgICAgICAgZi5jbG9zZSgpCisrICAgIHJldHVybiBo YW5kbGVyCisrCisrCisrZGVmIHBhcnNlX2RlbnlsaXN0KGRlbnlmaWxlKToKKysgICAgZGVueWxp c3QgPSBbXQorKyAgICBmID0gY29kZWNzLm9wZW4oZGVueWZpbGUsICdyJywgZW5jb2Rpbmc9J3V0 Zi04JykKKysgICAgZm9yIGxpbmUgaW4gZi5yZWFkbGluZXMoKToKKysgICAgICAgIGlmIGxpbmUg PT0gJ1xuJyBvciBsaW5lWzBdID09ICcjJzoKKysgICAgICAgICAgICBjb250aW51ZQorKyAgICAg ICAgbGluZSA9IGxpbmUucnN0cmlwKCkKKysgICAgICAgIGVudHJ5ID0gbGluZS5zcGxpdCgnOicp CisrICAgICAgICBpZiBsZW4oZW50cnkpICE9IDQ6CisrICAgICAgICAgICAgcHJpbnQoJ1dBUk5J Tkc6IGZvcm1hdCBlcnJvcjogXCclc1wnIGFnYWluc3QgXCclc1wnJyBcCisrICAgICAgICAgICAg ICAgICAgJSAobGluZSwgJ3hrYjpsYXlvdXQ6dmFyaWFudDpsYW5nJykpCisrICAgICAgICAgICAg Y29udGludWUKKysgICAgICAgIGRlbnlsaXN0LmFwcGVuZChlbnRyeSkKKysgICAgZi5jbG9zZSgp CisrICAgIHJldHVybiBkZW55bGlzdAorKworKworK2lmIF9fbmFtZV9fID09ICdfX21haW5fXyc6 CisrICAgIHByZ25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKQorKyAgICBteWRp ciA9IG9zLnBhdGguZGlybmFtZShzeXMuYXJndlswXSkKKysgICAgdHJ5OgorKyAgICAgICAgb3B0 cywgYXJncyA9IGdldG9wdC5nZXRvcHQoc3lzLmFyZ3ZbMTpdLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2hpOm86VjplOkk6MScsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBbJ2hlbHAnLCAnaW5wdXQ9JywgJ291dHB1dD0nLCAndmVyc2lvbj0nLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdleGVjLXBhdGg9JywgJ2lzby1w YXRoPScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZpcnN0LWxhbmd1 YWdlJ10pCisrICAgIGV4Y2VwdCBnZXRvcHQuR2V0b3B0RXJyb3IgYXMgZXJyOgorKyAgICAgICAg cHJpbnQoZXJyKQorKyAgICAgICAgdXNhZ2UocHJnbmFtZSkKKysgICAgICAgIHN5cy5leGl0KDIp CisrICAgIGlmIGxlbihhcmdzKSA+IDA6CisrICAgICAgICB1c2FnZShwcmduYW1lKQorKyAgICAg ICAgc3lzLmV4aXQoMikKKysgICAgaW5wdXQgPSBFVkRFVl9YTUwKKysgICAgb3V0cHV0ID0gTm9u ZQorKyAgICB2ZXJzaW9uPVZFUlNJT04KKysgICAgZXhlY19wYXRoPUVYRUNfUEFUSAorKyAgICBp c29fcGF0aD1JU09fUEFUSAorKyAgICBmaXJzdD1GYWxzZQorKyAgICBmb3Igb3B0LCBhcmcgaW4g b3B0czoKKysgICAgICAgIGlmIG9wdCBpbiAoJy1oJywgJy0taGVscCcpOgorKyAgICAgICAgICAg IHVzYWdlKHByZ25hbWUpCisrICAgICAgICAgICAgc3lzLmV4aXQoKQorKyAgICAgICAgZWxpZiBv cHQgaW4gKCctaScsICctLWlucHV0Jyk6CisrICAgICAgICAgICAgaW5wdXQgPSBhcmcKKysgICAg ICAgIGVsaWYgb3B0IGluICgnLW8nLCAnLS1vdXRwdXQnKToKKysgICAgICAgICAgICBvdXRwdXQg PSBhcmcKKysgICAgICAgIGVsaWYgb3B0IGluICgnLVYnLCAnLS12ZXJzaW9uJyk6CisrICAgICAg ICAgICAgdmVyc2lvbiA9IGFyZworKyAgICAgICAgZWxpZiBvcHQgaW4gKCctZScsICctLWV4ZWMt cGF0aCcpOgorKyAgICAgICAgICAgIGV4ZWNfcGF0aCA9IGFyZworKyAgICAgICAgZWxpZiBvcHQg aW4gKCctSScsICctLWlzby1wYXRoJyk6CisrICAgICAgICAgICAgaXNvX3BhdGggPSBhcmcKKysg ICAgICAgIGVsaWYgb3B0IGluICgnLTEnLCAnLS1maXJzdC1sYW5nYXVnZScpOgorKyAgICAgICAg ICAgIGZpcnN0PVRydWUKKysKKysgICAgaXNvNjM5ID0gcGFyc2VfaXNvNjM5KGlzb19wYXRoKQor KyAgICBkZW55bGlzdCA9IHBhcnNlX2RlbnlsaXN0KCclcy8lcycgJSAoIG15ZGlyLCAnZGVueWxp c3QudHh0JykpCisrICAgIHhtbCA9IEdlbmVyYXRlRW5naW5lWE1MKGlucHV0LCBpc282MzksIGRl bnlsaXN0LCB2ZXJzaW9uLCBleGVjX3BhdGgsIGZpcnN0KQorKyAgICB4bWwud3JpdGUob3V0cHV0 KQorLS0gCisyLjI0LjEKKworRnJvbSA2ODc5ODc5MDAyYWY0N2Q0OWQ4NzQwY2EzODNhMDQ4ZDJh YzhlOTA0IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMSBBdWcgMjAyMCAwOToxNToxNCArMDkw MAorU3ViamVjdDogW1BBVENIIDgvOV0gc3JjL3Rlc3RzOiBGaXggcnVudGVzdCB3aXRoIHNpbXBs ZS54bWwKKworTm93IHNpbXBsZS54bWwuaW4gaXMgcmVwbGFjZWQgd2l0aCBzaW1wbGUueG1sIGFu ZCBtb2RpZnkgcnVudGVzdAordG8gY29weSBzaW1wbGUueG1sLgorCitCVUc9aHR0cHM6Ly9naXRo dWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMjE1MworLS0tCisgc3JjL3Rlc3RzL3J1bnRlc3QgfCAx NSArKysrKysrKysrKysrKy0KKyAxIGZpbGUgY2hhbmdlZCwgMTQgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbigtKQorCitkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RzL3J1bnRlc3QgYi9zcmMvdGVzdHMv cnVudGVzdAoraW5kZXggYTZlNDE5NGIuLjExYmNjNmMyIDEwMDc1NQorLS0tIGEvc3JjL3Rlc3Rz L3J1bnRlc3QKKysrKyBiL3NyYy90ZXN0cy9ydW50ZXN0CitAQCAtOTEsNiArOTEsMTkgQEAgZnVu Y19jb3B5X2NvbXBvbmVudCAoKSB7CisgICAgIGZpCisgfQorIAorK2Z1bmNfY29weV9zaW1wbGVf eG1sICgpIHsKKysgICAgZmlsZT0kMQorKyAgICBiYXNlPWBmdW5jX2Jhc2VuYW1lICRmaWxlYAor KyAgICBsaWJleGVjZGlyPWBmdW5jX2Rpcm5hbWUgJGZpbGVgCisrICAgICMgdG9wX3NyY2RpciAh PSB0b3BfYnVpbGRkaXIgaW4gbWFrZSBkaXN0CisrICAgIGxpYmV4ZWNkaXI9YGVjaG8gIiRsaWJl eGVjZGlyIiB8IHNlZCAtZSAic3wkdG9wX3NyY2RpcnwkdG9wX2J1aWxkZGlyfCJgCisrICAgIGlm IHRlc3QgLWYgJGZpbGU7IHRoZW4KKysgICAgICAgIG1rZGlyIC1wIGNvbXBvbmVudHMKKysgICAg ICAgIHNlZCAic3xcKDxleGVjPlwpLipcKC9pYnVzLWVuZ2luZS1zaW1wbGU8L2V4ZWM+XCl8XDEk bGliZXhlY2RpclwyfCIgXAorKyAgICAgICAgICAgICAgICA8ICRmaWxlID4gY29tcG9uZW50cy8k YmFzZQorKyAgICBmaQorK30KKysKKyB0cmFwICdmdW5jX2NsZWFudXAgJHRzdGRpcicgMSAyIDMg MTUKKyAKKyB0c3Q9JDE7IHNoaWZ0CitAQCAtMTI3LDcgKzE0MCw3IEBAIHJ1bl90ZXN0X2Nhc2Uo KQorICAgICAgICAgICAgIGV4aXQgLTEKKyAgICAgICAgIGZpCisgICAgICAgICAjIGZ1bmNfY29w eV9jb21wb25lbnQgcmVwbGFjZXMgcy8kdG9wX3NyY2Rpci8ldG9wX2J1aWxkZGlyLworLSAgICAg ICAgZnVuY19jb3B5X2NvbXBvbmVudCAiLi4vJHRvcF9zcmNkaXIvZW5naW5lL3NpbXBsZS54bWwi CisrICAgICAgICBmdW5jX2NvcHlfc2ltcGxlX3htbCAiLi4vJHRvcF9zcmNkaXIvZW5naW5lL3Np bXBsZS54bWwiCisgICAgICAgICBmdW5jX2NvcHlfY29tcG9uZW50ICIuLi8kdG9wX3NyY2Rpci9j b25mL21lbWNvbmYvbWVtY29uZi54bWwiCisgCisgICAgICAgICBJQlVTX0NPTVBPTkVOVF9QQVRI PSRQV0QvY29tcG9uZW50cworLS0gCisyLjI0LjEKKworRnJvbSA1OWI5MDJhODA5ZWQ2MjhiYjRk NWJiYWQyYjhiY2I3OWE4YTIzMjA4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVq aXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogRnJpLCAyMSBBdWcgMjAy MCAwOTo0Njo0NiArMDkwMAorU3ViamVjdDogW1BBVENIIDkvOV0gc3JjOiBBZGQgZmlsZSBsaXN0 IGluIHJlZ2lzdHJ5IGZpbGUKKworVW5kZXIgRmVkb3JhIFNpbHZlcmJsdWUsIHN0X210aW1lIGlu IC91c3Ivc2hhcmUvaWJ1cy9jb21wb25lbnQgaXMKKzEgSmFuIDE5NzAgZXZlbiBpZiBpYnVzIGVu Z2luZXMgYXJlIGluc3RhbGxlZCBhbmQgaWJ1cy1kYWVtb24KK2Nhbm5vdCBkZXRlY3QgbmV3IGVu Z2luZXMuCitOb3cgSUJ1c09ic2VydmVkUGF0aCBzYXZlcyBoYXNoZWQgZmlsZSBsaXN0IGJlc2lk ZXMgc3RfbXRpbWUgb2YKK3RoZSBjb21wbmVudCBkaXJlY3RvcnkgdG8gZGV0ZWN0IHRoZSBpbnN0 YWxsZWQgZW5naW5lcyBuZXdseS4KKworQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMv aXNzdWVzLzIxMzIKKy0tLQorIHNyYy9pYnVzY29tcG9uZW50LmMgICAgfCAgIDkgKy0KKyBzcmMv aWJ1c29ic2VydmVkcGF0aC5jIHwgMjc3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0tCisgc3JjL2lidXNyZWdpc3RyeS5jICAgICB8ICAgNiArLQorIDMgZmlsZXMgY2hh bmdlZCwgMjU0IGluc2VydGlvbnMoKyksIDM4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEv c3JjL2lidXNjb21wb25lbnQuYyBiL3NyYy9pYnVzY29tcG9uZW50LmMKK2luZGV4IDk4MzdmNDdj Li4xNDA0YWRhMCAxMDA2NDQKKy0tLSBhL3NyYy9pYnVzY29tcG9uZW50LmMKKysrKyBiL3NyYy9p YnVzY29tcG9uZW50LmMKK0BAIC0yLDcgKzIsOCBAQAorIC8qIHZpbTpzZXQgZXQgc3RzPTQ6ICov CisgLyogYnVzIC0gVGhlIElucHV0IEJ1cworICAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEwIFBl bmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorLSAqIENvcHlyaWdodCAoQykgMjAw OC0yMDE5IFJlZCBIYXQsIEluYy4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMjAgVGFrYW8gRnVqaXdh cmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICogQ29weXJpZ2h0IChDKSAyMDA4LTIw MjAgUmVkIEhhdCwgSW5jLgorICAqCisgICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKK0BAIC00OTksMTEgKzUwMCw3 IEBAIGlidXNfY29tcG9uZW50X291dHB1dCAoSUJ1c0NvbXBvbmVudCAqY29tcG9uZW50LAorIAor ICAgICAgICAgZm9yIChwID0gY29tcG9uZW50LT5wcml2LT5vYnNlcnZlZF9wYXRoczsgcCAhPSBO VUxMOyBwID0gcC0+bmV4dCApIHsKKyAgICAgICAgICAgICBJQnVzT2JzZXJ2ZWRQYXRoICpwYXRo ID0gKElCdXNPYnNlcnZlZFBhdGggKikgcC0+ZGF0YTsKKy0KKy0gICAgICAgICAgICBnX3N0cmlu Z19hcHBlbmRfaW5kZW50IChvdXRwdXQsIGluZGVudCArIDIpOworLSAgICAgICAgICAgIGdfc3Ry aW5nX2FwcGVuZF9wcmludGYgKG91dHB1dCwgIjxwYXRoIG10aW1lPVwiJWxkXCIgPiVzPC9wYXRo PlxuIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLT5tdGltZSwK Ky0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLT5wYXRoKTsKKysgICAg ICAgICAgICBpYnVzX29ic2VydmVkX3BhdGhfb3V0cHV0IChwYXRoLCBvdXRwdXQsIGluZGVudCAr IDIpOworICAgICAgICAgfQorIAorICAgICAgICAgZ19zdHJpbmdfYXBwZW5kX2luZGVudCAob3V0 cHV0LCBpbmRlbnQgKyAxKTsKK2RpZmYgLS1naXQgYS9zcmMvaWJ1c29ic2VydmVkcGF0aC5jIGIv c3JjL2lidXNvYnNlcnZlZHBhdGguYworaW5kZXggNWI3OWYxZmUuLjQyMTkyNDMxIDEwMDY0NAor LS0tIGEvc3JjL2lidXNvYnNlcnZlZHBhdGguYworKysrIGIvc3JjL2lidXNvYnNlcnZlZHBhdGgu YworQEAgLTIsNyArMiw4IEBACisgLyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBpYnVzIC0g VGhlIElucHV0IElCdXMKKyAgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxNSBQZW5nIEh1YW5nIDxz aGF3bi5wLmh1YW5nQGdtYWlsLmNvbT4KKy0gKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxOSBSZWQg SGF0LCBJbmMuCisrICogQ29weXJpZ2h0IChDKSAyMDIwIFRha2FvIEZ1aml3YXJhIDx0YWthby5m dWppd2FyYTFAZ21haWwuY29tPgorKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDIwIFJlZCBIYXQs IEluYy4KKyAgKgorICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitAQCAtMzAsOSArMzEsOSBAQCBlbnVtIHsKKyB9 OworIAorIAorLS8qIElCdXNPYnNlcnZlZFBhdGhQcml2ICovCisrLyogSUJ1c09ic2VydmVkUGF0 aFByaXZhdGUgKi8KKyBzdHJ1Y3QgX0lCdXNPYnNlcnZlZFBhdGhQcml2YXRlIHsKKy0gICAgZ3Bv aW50ZXIgcGFkOworKyAgICBndWludCAgICpmaWxlX2hhc2hfbGlzdDsKKyB9OworIHR5cGVkZWYg c3RydWN0IF9JQnVzT2JzZXJ2ZWRQYXRoUHJpdmF0ZSBJQnVzT2JzZXJ2ZWRQYXRoUHJpdmF0ZTsK KyAKK0BAIC01Miw3ICs1Myw5IEBAIHN0YXRpYyBnYm9vbGVhbiAgaWJ1c19vYnNlcnZlZF9wYXRo X2NvcHkgICAgICAgICAgICAoSUJ1c09ic2VydmVkUGF0aCAgICAgICAqZGVzCisgc3RhdGljIGdi b29sZWFuICBpYnVzX29ic2VydmVkX3BhdGhfcGFyc2VfeG1sX25vZGUgIChJQnVzT2JzZXJ2ZWRQ YXRoICAgICAgICpwYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgWE1MTm9kZSAgICAgICAgICAgICAgICAqbm9kZSk7CisgCistR19ERUZJ TkVfVFlQRSAoSUJ1c09ic2VydmVkUGF0aCwgaWJ1c19vYnNlcnZlZF9wYXRoLCBJQlVTX1RZUEVf U0VSSUFMSVpBQkxFKQorK0dfREVGSU5FX1RZUEVfV0lUSF9QUklWQVRFIChJQnVzT2JzZXJ2ZWRQ YXRoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVzX29ic2VydmVkX3BhdGgsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIElCVVNfVFlQRV9TRVJJQUxJWkFCTEUpCisgCisg c3RhdGljIHZvaWQKKyBpYnVzX29ic2VydmVkX3BhdGhfY2xhc3NfaW5pdCAoSUJ1c09ic2VydmVk UGF0aENsYXNzICpjbGFzcykKK0BAIC04NCw3ICs4Nyw5IEBAIHN0YXRpYyBnYm9vbGVhbgorIGli dXNfb2JzZXJ2ZWRfcGF0aF9zZXJpYWxpemUgKElCdXNPYnNlcnZlZFBhdGggKnBhdGgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnRCdWlsZGVyICAqYnVpbGRlcikKKyB7 CisrICAgIElCdXNPYnNlcnZlZFBhdGhQcml2YXRlICpwcml2ID0gSUJVU19PQlNFUlZFRF9QQVRI X0dFVF9QUklWQVRFIChwYXRoKTsKKyAgICAgZ2Jvb2xlYW4gcmV0dmFsOworKyAgICBndWludCBp OworIAorICAgICByZXR2YWwgPSBJQlVTX1NFUklBTElaQUJMRV9DTEFTUyAoaWJ1c19vYnNlcnZl ZF9wYXRoX3BhcmVudF9jbGFzcyktPgorICAgICAgICAgICAgIHNlcmlhbGl6ZSAoKElCdXNTZXJp YWxpemFibGUgKilwYXRoLCBidWlsZGVyKTsKK0BAIC05Myw2ICs5OCwxNSBAQCBpYnVzX29ic2Vy dmVkX3BhdGhfc2VyaWFsaXplIChJQnVzT2JzZXJ2ZWRQYXRoICpwYXRoLAorICAgICBnX3Zhcmlh bnRfYnVpbGRlcl9hZGQgKGJ1aWxkZXIsICJzIiwgcGF0aC0+cGF0aCk7CisgICAgIGdfdmFyaWFu dF9idWlsZGVyX2FkZCAoYnVpbGRlciwgIngiLCBwYXRoLT5tdGltZSk7CisgCisrICAgIGlmICgh cHJpdi0+ZmlsZV9oYXNoX2xpc3QpIHsKKysgICAgICAgIGdfdmFyaWFudF9idWlsZGVyX2FkZCAo YnVpbGRlciwgInUiLCAwKTsKKysgICAgICAgIHJldHVybiBUUlVFOworKyAgICB9CisrICAgIGZv ciAoaSA9IDA7IHByaXYtPmZpbGVfaGFzaF9saXN0W2ldOyBpKyspOworKyAgICBnX3ZhcmlhbnRf YnVpbGRlcl9hZGQgKGJ1aWxkZXIsICJ1IiwgaSk7CisrICAgIGZvciAoaSA9IDA7IHByaXYtPmZp bGVfaGFzaF9saXN0W2ldOyBpKyspCisrICAgICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKGJ1 aWxkZXIsICJ1IiwgcHJpdi0+ZmlsZV9oYXNoX2xpc3RbaV0pOworKworICAgICByZXR1cm4gVFJV RTsKKyB9CisgCitAQCAtMTAwLDcgKzExNCw5IEBAIHN0YXRpYyBnaW50CisgaWJ1c19vYnNlcnZl ZF9wYXRoX2Rlc2VyaWFsaXplIChJQnVzT2JzZXJ2ZWRQYXRoICpwYXRoLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgICAgICAqdmFyaWFudCkKKyB7CisrICAg IElCdXNPYnNlcnZlZFBhdGhQcml2YXRlICpwcml2ID0gSUJVU19PQlNFUlZFRF9QQVRIX0dFVF9Q UklWQVRFIChwYXRoKTsKKyAgICAgZ2ludCByZXR2YWw7CisrICAgIGd1aW50IGksIGxlbmd0aCA9 IDA7CisgCisgICAgIHJldHZhbCA9IElCVVNfU0VSSUFMSVpBQkxFX0NMQVNTIChpYnVzX29ic2Vy dmVkX3BhdGhfcGFyZW50X2NsYXNzKS0+CisgICAgICAgICAgICAgZGVzZXJpYWxpemUgKChJQnVz U2VyaWFsaXphYmxlICopcGF0aCwgdmFyaWFudCk7CitAQCAtMTA5LDYgKzEyNSwxNSBAQCBpYnVz X29ic2VydmVkX3BhdGhfZGVzZXJpYWxpemUgKElCdXNPYnNlcnZlZFBhdGggKnBhdGgsCisgICAg IGlidXNfZ192YXJpYW50X2dldF9jaGlsZF9zdHJpbmcgKHZhcmlhbnQsIHJldHZhbCsrLCAmcGF0 aC0+cGF0aCk7CisgICAgIGdfdmFyaWFudF9nZXRfY2hpbGQgKHZhcmlhbnQsIHJldHZhbCsrLCAi eCIsICZwYXRoLT5tdGltZSk7CisgCisrICAgIGlmIChnX3ZhcmlhbnRfbl9jaGlsZHJlbiAodmFy aWFudCkgPCByZXR2YWwgKyAyKQorKyAgICAgICAgcmV0dXJuIHJldHZhbDsKKysgICAgZ192YXJp YW50X2dldF9jaGlsZCAodmFyaWFudCwgcmV0dmFsKyssICJ1IiwgJmxlbmd0aCk7CisrICAgIGlm ICghbGVuZ3RoKQorKyAgICAgICAgcmV0dXJuIHJldHZhbDsKKysgICAgcHJpdi0+ZmlsZV9oYXNo X2xpc3QgPSBnX25ldzAgKGd1aW50LCBsZW5ndGggKyAxKTsKKysgICAgZm9yIChpID0gMDsgaSA8 IGxlbmd0aDsgaSsrKQorKyAgICAgICAgZ192YXJpYW50X2dldF9jaGlsZCAodmFyaWFudCwgcmV0 dmFsKyssICJ1IiwgJnByaXYtPmZpbGVfaGFzaF9saXN0W2ldKTsKKysKKyAgICAgcmV0dXJuIHJl dHZhbDsKKyB9CisgCitAQCAtMTE2LDE0ICsxNDEsMjcgQEAgc3RhdGljIGdib29sZWFuCisgaWJ1 c19vYnNlcnZlZF9wYXRoX2NvcHkgKElCdXNPYnNlcnZlZFBhdGggICAgICAgKmRlc3QsCisgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IElCdXNPYnNlcnZlZFBhdGggKnNyYykKKyB7Cisr ICAgIElCdXNPYnNlcnZlZFBhdGhQcml2YXRlICpkZXN0X3ByaXYgPSBJQlVTX09CU0VSVkVEX1BB VEhfR0VUX1BSSVZBVEUgKGRlc3QpOworKyAgICBJQnVzT2JzZXJ2ZWRQYXRoUHJpdmF0ZSAqc3Jj X3ByaXYgPQorKyAgICAgICAgICAgIElCVVNfT0JTRVJWRURfUEFUSF9HRVRfUFJJVkFURSAoKElC dXNPYnNlcnZlZFBhdGggKilzcmMpOworICAgICBnYm9vbGVhbiByZXR2YWw7CisrICAgIGd1aW50 IGk7CisgCistICAgIHJldHZhbCA9IElCVVNfU0VSSUFMSVpBQkxFX0NMQVNTIChpYnVzX29ic2Vy dmVkX3BhdGhfcGFyZW50X2NsYXNzKS0+Y29weSAoKElCdXNTZXJpYWxpemFibGUgKilkZXN0LCAo SUJ1c1NlcmlhbGl6YWJsZSAqKXNyYyk7CisrICAgIHJldHZhbCA9IElCVVNfU0VSSUFMSVpBQkxF X0NMQVNTIChpYnVzX29ic2VydmVkX3BhdGhfcGFyZW50X2NsYXNzKS0+CisrICAgICAgICAgICAg Y29weSAoKElCdXNTZXJpYWxpemFibGUgKilkZXN0LCAoSUJ1c1NlcmlhbGl6YWJsZSAqKXNyYyk7 CisgICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChyZXR2YWwsIEZBTFNFKTsKKyAKKyAgICAgZGVz dC0+cGF0aCA9IGdfc3RyZHVwIChzcmMtPnBhdGgpOworICAgICBkZXN0LT5tdGltZSA9IHNyYy0+ bXRpbWU7CisgCisrICAgIGdfY2xlYXJfcG9pbnRlciAoJmRlc3RfcHJpdi0+ZmlsZV9oYXNoX2xp c3QsIGdfZnJlZSk7CisrICAgIGlmICghc3JjX3ByaXYtPmZpbGVfaGFzaF9saXN0KQorKyAgICAg ICAgcmV0dXJuIFRSVUU7CisrICAgIGZvciAoaSA9IDA7IHNyY19wcml2LT5maWxlX2hhc2hfbGlz dFtpXTsgaSsrKTsKKysgICAgZGVzdF9wcml2LT5maWxlX2hhc2hfbGlzdCA9IGdfbmV3MCAoZ3Vp bnQsIGkgKyAxKTsKKysgICAgZm9yIChpID0gMDsgc3JjX3ByaXYtPmZpbGVfaGFzaF9saXN0W2ld OyBpKyspCisrICAgICAgICBkZXN0X3ByaXYtPmZpbGVfaGFzaF9saXN0W2ldID0gc3JjX3ByaXYt PmZpbGVfaGFzaF9saXN0W2ldOworKworICAgICByZXR1cm4gVFJVRTsKKyB9CisgCitAQCAtMTM3 LDIzICsxNzUsNDggQEAgaWJ1c19vYnNlcnZlZF9wYXRoX2NvcHkgKElCdXNPYnNlcnZlZFBhdGgg ICAgICAgKmRlc3QsCisgCisgdm9pZAorIGlidXNfb2JzZXJ2ZWRfcGF0aF9vdXRwdXQgKElCdXNP YnNlcnZlZFBhdGggKnBhdGgsCistICAgICAgICAgICAgICAgICAgICAgICAgICBHU3RyaW5nICAg ICAgICAgKm91dHB1dCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgIGdpbnQgICAgICAgICAg ICAgaW5kZW50KQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTdHJpbmcgICAgICAgICAg Km91dHB1dCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICBnaW50ICAgICAgICAgICAgICBp bmRlbnQpCisgeworKyAgICBJQnVzT2JzZXJ2ZWRQYXRoUHJpdmF0ZSAqcHJpdiA9IElCVVNfT0JT RVJWRURfUEFUSF9HRVRfUFJJVkFURSAocGF0aCk7CisrICAgIGd1aW50IGk7CisrCisgICAgIGdf YXNzZXJ0IChJQlVTX0lTX09CU0VSVkVEX1BBVEggKHBhdGgpKTsKKyAgICAgZ19hc3NlcnQgKG91 dHB1dCk7CisgCistICAgIGdfc3RyaW5nX2FwcGVuZF9pbmRlbnQgKG91dHB1dCwgaW5kZW50KTsK Ky0gICAgZ19zdHJpbmdfYXBwZW5kX3ByaW50ZiAob3V0cHV0LCAiPHBhdGggbXRpbWU9XCIlbGRc IiA+JXM8L3BhdGg+XG4iLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBh dGgtPm10aW1lLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgtPnBh dGgpOworKyAgICBpZiAoIXByaXYtPmZpbGVfaGFzaF9saXN0KSB7CisrICAgICAgICBnX3N0cmlu Z19hcHBlbmRfaW5kZW50IChvdXRwdXQsIGluZGVudCk7CisrICAgICAgICBnX3N0cmluZ19hcHBl bmRfcHJpbnRmIChvdXRwdXQsICI8cGF0aCBtdGltZT1cIiVsZFwiID4lczwvcGF0aD5cbiIsCisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXRoLT5tdGltZSwKKysgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHBhdGgtPnBhdGgpOworKyAgICB9IGVsc2UgeworKyAgICAg ICAgZ19zdHJpbmdfYXBwZW5kX2luZGVudCAob3V0cHV0LCBpbmRlbnQpOworKyAgICAgICAgZ19z dHJpbmdfYXBwZW5kX3ByaW50ZiAoCisrICAgICAgICAgICAgICAgIG91dHB1dCwKKysgICAgICAg ICAgICAgICAgIjxwYXRoIG10aW1lPVwiJWxkXCIgdHlwZT1cImRpclwiIHBhdGg9XCIlc1wiPlxu IiwKKysgICAgICAgICAgICAgICAgcGF0aC0+bXRpbWUsCisrICAgICAgICAgICAgICAgIHBhdGgt PnBhdGgpOworKyAgICAgICAgZm9yIChpID0gMDsgcHJpdi0+ZmlsZV9oYXNoX2xpc3RbaV07IGkr KykgeworKyAgICAgICAgICAgIGdfc3RyaW5nX2FwcGVuZF9pbmRlbnQgKG91dHB1dCwgaW5kZW50 ICsgMSk7CisrICAgICAgICAgICAgZ19zdHJpbmdfYXBwZW5kX3ByaW50ZiAob3V0cHV0LCAiPGZp bGUgaGFzaD1cIiV1XCIgLz5cbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpdi0+ZmlsZV9oYXNoX2xpc3RbaV0pOworKyAgICAgICAgfQorKyAgICAgICAgZ19zdHJp bmdfYXBwZW5kX2luZGVudCAob3V0cHV0LCBpbmRlbnQpOworKyAgICAgICAgZ19zdHJpbmdfYXBw ZW5kX3ByaW50ZiAob3V0cHV0LCAiPC9wYXRoPlxuIik7CisrICAgIH0KKyB9CisgCisgZ2Jvb2xl YW4KKyBpYnVzX29ic2VydmVkX3BhdGhfY2hlY2tfbW9kaWZpY2F0aW9uIChJQnVzT2JzZXJ2ZWRQ YXRoICpwYXRoKQorIHsKKysgICAgSUJ1c09ic2VydmVkUGF0aFByaXZhdGUgKnByaXYgPSBJQlVT X09CU0VSVkVEX1BBVEhfR0VUX1BSSVZBVEUgKHBhdGgpOworICAgICBnY2hhciAqcmVhbF9wYXRo ID0gTlVMTDsKKyAgICAgc3RydWN0IHN0YXQgYnVmOworKyAgICBnYm9vbGVhbiByZXR2YWwgPSBG QUxTRTsKKysgICAgR0RpciAqZGlyID0gTlVMTDsKKysgICAgY29uc3QgZ2NoYXIgKm5hbWU7Cisr ICAgIGd1aW50IGkgPSAwOworKyAgICBndWludCBmaWxlX251bSA9IDA7CisgCisgICAgIGdfYXNz ZXJ0IChJQlVTX0lTX09CU0VSVkVEX1BBVEggKHBhdGgpKTsKKyAKK0BAIC0xNjksMTEgKzIzMiw3 MSBAQCBpYnVzX29ic2VydmVkX3BhdGhfY2hlY2tfbW9kaWZpY2F0aW9uIChJQnVzT2JzZXJ2ZWRQ YXRoICpwYXRoKQorICAgICAgICAgYnVmLnN0X210aW1lID0gMDsKKyAgICAgfQorIAorLSAgICBn X2ZyZWUgKHJlYWxfcGF0aCk7CisgCistICAgIGlmIChwYXRoLT5tdGltZSA9PSBidWYuc3RfbXRp bWUpCistICAgICAgICByZXR1cm4gRkFMU0U7CistICAgIHJldHVybiBUUlVFOworKyAgICBpZiAo cGF0aC0+bXRpbWUgIT0gYnVmLnN0X210aW1lKSB7CisrICAgICAgICByZXR2YWwgPSBUUlVFOwor KyAgICAgICAgZ290byBlbmRfY2hlY2tfbW9kaWZpY2F0aW9uOworKyAgICB9CisrCisrICAgIC8q IElmIGFuIGlidXMgZW5naW5lIGlzIGluc3RhbGxlZCwgbm9ybWFsIGZpbGUgc3lzdGVtIHVwZGF0 ZXMKKysgICAgICogdGhlIGRpcmVjdG9yeSBtdGltZSBvZiAiL3Vzci9zaGFyZS9pYnVzL2NvbXBv bmVudCIgYW5kCisrICAgICAqIHBhdGgtPm10aW1lIG9mIHRoZSBjYWNoZSBmaWxlIGFuZCBidWYu c3RfbXRpbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5CisrICAgICAqIGNvdWxkIGhhdmUgdGhl IGRpZmZlcmVudCB2YWx1ZXMuCisrICAgICAqCisrICAgICAqIEJ1dCB1bmRlciBhIHNwZWNpYWwg ZmlsZSBzeXN0ZW0sIHRoZSBidWYuc3RfbXRpbWUgaXMgbm90IHVwZGF0ZWQKKysgICAgICogZXZl biBpZiBhbiBpYnVzIGVuZ2luZSBpcyBpbnN0YWxsZWQsIGxpa2VzIEZlZG9yYSBTaWx2ZXJibHVl CisrICAgICAqIGFuZCBpYnVzX29ic2VydmVkX3BhdGhfY2hlY2tfbW9kaWZpY2F0aW9uKCkgY291 bGQgbm90IGRldGVjdAorKyAgICAgKiB0aGUgaW5zdGFsbGVkIGlidXMgZW5naW5lcy4KKysgICAg ICogTm93IHBhdGgtPnByaXYtPmZpbGVfaGFzaF9saXN0IHJlc2VydmVzIHRoZSBoYXNoIGxpc3Qg b2YgdGhlIGZpbGVzCisrICAgICAqIGluIHRoZSBvYnNlcnZlZCBkaXJlY3RvcnkgYW5kIGlmIGEg bmV3IGlidXMgZW5naW5lIGlzIGluc3RhbGxlZCwKKysgICAgICogdGhlIGhhc2ggb2YgdGhlIGNv bXBvc2UgZmlsZSBkb2VzIG5vdCBleGlzdHMgaW4gdGhlIGNhY2hlJ3MKKysgICAgICogZmlsZV9o YXNoX2xpc3QgYW5kIGlidXMtZGFlbW9uIHJlZ2VuZXJhdGUgdGhlIGNhY2hlIHN1Y2Nlc3NmdWxs eS4KKysgICAgICovCisrICAgIGlmICghcHJpdi0+ZmlsZV9oYXNoX2xpc3QpIHsKKysgICAgICAg IC8qIElmIHRoZSBjYWNoZSB2ZXJzaW9uIGlzIG9sZCwgaWJ1c19yZWdpc3RyeV9sb2FkX2NhY2hl KCkgcmV0dXJucworKyAgICAgICAgICogRkFMU0UgYW5kIGlidXNfcmVnaXN0cnlfY2hlY2tfbW9k aWZpY2F0aW9uKCkgYW5kIHRoaXMgYXJlIG5vdAorKyAgICAgICAgICogY2FsbGVkLgorKyAgICAg ICAgICogSWYgdGhlIGNhY2hlIHZlcnNpb24gaXMgdGhlIGxhdGVzdCwgdGhlIGNhY2hlIGZpbGUg aW5jbHVkZXMgdGhlCisrICAgICAgICAgKiBmaWxsZWQgZmlsZV9oYXNoX2xpc3QgZm9yIGRpcmVj dG9yaWVzIHdpdGggaWJ1c19vYnNlcnZlZF9wYXRoX25ldygpCisrICAgICAgICAgKiB3aGVuIHRo ZSBjYWNoZSB3YXMgZ2VuZXJhdGVkLgorKyAgICAgICAgICogVGhlbiBpZiBmaWxlX2hhc2hfbGlz dCBpcyBudWxsLCBpdCdzIGEgc2ltcGxlIGZpbGUgaW4gaWJ1cworKyAgICAgICAgICogY29tcG9u ZW50cyBhbmQgcmV0dXJuIGhlcmUgc2ltcGx5LgorKyAgICAgICAgICovCisrICAgICAgICBnb3Rv IGVuZF9jaGVja19tb2RpZmljYXRpb247CisrICAgIH0KKysgICAgZGlyID0gZ19kaXJfb3BlbiAo cmVhbF9wYXRoLCAwLCBOVUxMKTsKKysgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGRpciwgRkFM U0UpOworKworKyAgICB3aGlsZSAoKG5hbWUgPSBnX2Rpcl9yZWFkX25hbWUgKGRpcikpICE9IE5V TEwpIHsKKysgICAgICAgIGd1aW50IGN1cnJlbnRfaGFzaDsKKysgICAgICAgIGdib29sZWFuIGhh c19maWxlID0gRkFMU0U7CisrCisrICAgICAgICBpZiAoIWdfc3RyX2hhc19zdWZmaXggKG5hbWUs ICIueG1sIikpCisrICAgICAgICAgICAgY29udGludWU7CisrICAgICAgICBjdXJyZW50X2hhc2gg PSBnX3N0cl9oYXNoIChuYW1lKTsKKysgICAgICAgIGZvciAoaSA9IDA7IHByaXYtPmZpbGVfaGFz aF9saXN0W2ldOyBpKyspIHsKKysgICAgICAgICAgICBpZiAoY3VycmVudF9oYXNoID09IHByaXYt PmZpbGVfaGFzaF9saXN0W2ldKSB7CisrICAgICAgICAgICAgICAgIGhhc19maWxlID0gVFJVRTsK KysgICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgfQorKyAgICAgICAgfQorKyAg ICAgICAgaWYgKCFoYXNfZmlsZSkgeworKyAgICAgICAgICAgIHJldHZhbCA9IFRSVUU7CisrICAg ICAgICAgICAgZ290byBlbmRfY2hlY2tfbW9kaWZpY2F0aW9uOworKyAgICAgICAgfQorKyAgICAg ICAgZmlsZV9udW0rKzsKKysgICAgfQorKyAgICBpZiAoIXJldHZhbCkgeworKyAgICAgICAgZm9y IChpID0gMDsgcHJpdi0+ZmlsZV9oYXNoX2xpc3RbaV07IGkrKyk7CisrICAgICAgICBpZiAoZmls ZV9udW0gIT0gaSkKKysgICAgICAgICAgICByZXR2YWwgPSBUUlVFOworKyAgICB9CisrCisrZW5k X2NoZWNrX21vZGlmaWNhdGlvbjoKKysgICAgaWYgKGRpcikKKysgICAgICAgIGdfZGlyX2Nsb3Nl IChkaXIpOworKyAgICBnX2ZyZWUgKHJlYWxfcGF0aCk7CisrICAgIHJldHVybiByZXR2YWw7Cisg fQorIAorIHN0YXRpYyB2b2lkCitAQCAtMjI0LDcgKzM0Nyw3IEBAIGlidXNfb2JzZXJ2ZWRfcGF0 aF90cmF2ZXJzZSAoSUJ1c09ic2VydmVkUGF0aCAqcGF0aCwKKyAgICAgICAgICAgICBwYXRocyA9 IGdfbGlzdF9hcHBlbmQgKHBhdGhzLCBzdWIpOworICAgICAgICAgICAgIHBhdGhzID0gZ19saXN0 X2NvbmNhdCAocGF0aHMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpYnVz X29ic2VydmVkX3BhdGhfdHJhdmVyc2UgKHN1YiwgZGlyX29ubHkpKTsKKy0gICAgICAgIH0gZWxz ZSBpZiAoIWRpcl9vbmx5KSB7CisrICAgICAgICB9IGVsc2UgaWYgKHN1Yi0+aXNfZXhpc3QgJiYg IWRpcl9vbmx5KSB7CisgICAgICAgICAgICAgcGF0aHMgPSBnX2xpc3RfYXBwZW5kIChwYXRocywg c3ViKTsKKyAgICAgICAgIH0KKyAgICAgfQorQEAgLTIzMywzNiArMzU2LDEwMiBAQCBpYnVzX29i c2VydmVkX3BhdGhfdHJhdmVyc2UgKElCdXNPYnNlcnZlZFBhdGggKnBhdGgsCisgICAgIHJldHVy biBwYXRoczsKKyB9CisgCisrCisrc3RhdGljIGdib29sZWFuCisraWJ1c19vYnNlcnZlZF9wYXRo X3BhcnNlX2ZpbGUgKElCdXNPYnNlcnZlZFBhdGggKnBhdGgsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFhNTE5vZGUgICAgICAgICAgKm5vZGUsCisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGludCAgICAgICAgICAgICAgKm50aCkKKyt7CisrICAgIElCdXNPYnNlcnZl ZFBhdGhQcml2YXRlICpwcml2ID0gSUJVU19PQlNFUlZFRF9QQVRIX0dFVF9QUklWQVRFIChwYXRo KTsKKysgICAgZ2NoYXIgKiphdHRyOworKworKyAgICBmb3IgKGF0dHIgPSBub2RlLT5hdHRyaWJ1 dGVzOyBhdHRyWzBdOyBhdHRyICs9IDIpIHsKKysgICAgICAgIGd1aW50IGhhc2ggPSAwOworKwor KyAgICAgICAgaWYgKGdfc3RyY21wMCAoKmF0dHIsICJoYXNoIikgPT0gMCkKKysgICAgICAgICAg ICBoYXNoID0gYXRvbCAoYXR0clsxXSk7CisrICAgICAgICBlbHNlIGlmIChnX3N0cmNtcDAgKCph dHRyLCAibmFtZSIpID09IDApCisrICAgICAgICAgICAgaGFzaCA9IGdfc3RyX2hhc2ggKGF0dHJb MV0pOworKyAgICAgICAgaWYgKGhhc2gpIHsKKysgICAgICAgICAgICBpZiAoIXByaXYtPmZpbGVf aGFzaF9saXN0KSB7CisrICAgICAgICAgICAgICAgICpudGggPSAwOworKyAgICAgICAgICAgICAg ICBwcml2LT5maWxlX2hhc2hfbGlzdCA9IGdfbmV3MCAoZ3VpbnQsICpudGggKyAyKTsKKysgICAg ICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgICAgICBwcml2LT5maWxlX2hhc2hfbGlzdCA9 IGdfcmVuZXcgKGd1aW50LCBwcml2LT5maWxlX2hhc2hfbGlzdCwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbnRoICsgMik7CisrICAgICAgICAgICAg fQorKyAgICAgICAgICAgIHByaXYtPmZpbGVfaGFzaF9saXN0WypudGhdID0gaGFzaDsKKysgICAg ICAgICAgICBwcml2LT5maWxlX2hhc2hfbGlzdFsqbnRoICsgMV0gPSAwOworKyAgICAgICAgICAg ICpudGggKz0gMTsKKysgICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAgIH0KKysgICAgICAg IGdfd2FybmluZyAoIlVua29ud24gYXR0cmlidXRlICVzIiwgYXR0clswXSk7CisrICAgIH0KKysK KysgICAgcmV0dXJuIFRSVUU7CisrfQorKworKworIHN0YXRpYyBnYm9vbGVhbgorIGlidXNfb2Jz ZXJ2ZWRfcGF0aF9wYXJzZV94bWxfbm9kZSAoSUJ1c09ic2VydmVkUGF0aCAqcGF0aCwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTE5vZGUgICAgICAgICAgKm5vZGUpCisg eworKyAgICBnY2hhciAqKmF0dHI7CisrICAgIGNvbnN0IGdjaGFyICpmdWxsX3BhdGggPSBub2Rl LT50ZXh0OworKyAgICBHTGlzdCAqcDsKKysgICAgaW50IGkgPSAwOworKworICAgICBnX2Fzc2Vy dCAoSUJVU19JU19PQlNFUlZFRF9QQVRIIChwYXRoKSk7CisgICAgIGdfYXNzZXJ0IChub2RlKTsK KyAKKy0gICAgaWYgKEdfVU5MSUtFTFkgKGdfc3RyY21wMCAobm9kZS0+bmFtZSwgInBhdGgiKSAh PSAwKSkgeworKyAgICBpZiAoR19VTkxJS0VMWSAoZ19zdHJjbXAwIChub2RlLT5uYW1lLCAicGF0 aCIpICE9IDApKQorICAgICAgICAgcmV0dXJuIEZBTFNFOworKworKyAgICBmb3IgKGF0dHIgPSBu b2RlLT5hdHRyaWJ1dGVzOyBhdHRyWzBdOyBhdHRyICs9IDIpIHsKKysgICAgICAgIGlmIChnX3N0 cmNtcDAgKCphdHRyLCAibXRpbWUiKSA9PSAwKSB7CisrICAgICAgICAgICAgcGF0aC0+bXRpbWUg PSBhdG9sIChhdHRyWzFdKTsKKysgICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAgIH0KKysg ICAgICAgIGlmIChnX3N0cmNtcDAgKCphdHRyLCAicGF0aCIpID09IDApIHsKKysgICAgICAgICAg ICBmdWxsX3BhdGggPSBhdHRyWzFdOworKyAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAg fQorKyAgICAgICAgaWYgKGdfc3RyY21wMCAoKmF0dHIsICJ0eXBlIikgPT0gMCkgeworKyAgICAg ICAgICAgIGlmICghZ19zdHJjbXAwIChhdHRyWzFdLCAiZGlyIikpCisrICAgICAgICAgICAgICAg IHBhdGgtPmlzX2RpciA9IFRSVUU7CisrICAgICAgICAgICAgZWxzZSBpZiAoIWdfc3RyY21wMCAo YXR0clsxXSwgImZpbGUiKSkKKysgICAgICAgICAgICAgICAgcGF0aC0+aXNfZGlyID0gRkFMU0U7 CisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBnX3dhcm5pbmcgKCJUaGUgdHlw ZSBhdHRyaWJ1dGUgY2FuIGJlIFwiZGlyXCIgb3IgXCJmaWxlXCIuIik7CisrICAgICAgICAgICAg Y29udGludWU7CisrICAgICAgICB9CisrICAgICAgICBnX3dhcm5pbmcgKCJVbmtvbnduIGF0dHJp YnV0ZSAlcyIsIGF0dHJbMF0pOworICAgICB9CisgCistICAgIGlmIChub2RlLT50ZXh0WzBdID09 ICd+JyAmJiBub2RlLT50ZXh0WzFdICE9IEdfRElSX1NFUEFSQVRPUikgeworLSAgICAgICAgZ193 YXJuaW5nICgiSW52YWxpZCBwYXRoIFwiJXNcIiIsIG5vZGUtPnRleHQpOworKyAgICBpZiAoZnVs bF9wYXRoWzBdID09ICd+JyAmJiBmdWxsX3BhdGhbMV0gIT0gR19ESVJfU0VQQVJBVE9SKSB7Cisr ICAgICAgICBnX3dhcm5pbmcgKCJJbnZhbGlkIHBhdGggXCIlc1wiIiwgZnVsbF9wYXRoKTsKKyAg ICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgfQorIAorLSAgICBwYXRoLT5wYXRoID0gZ19zdHJk dXAgKG5vZGUtPnRleHQpOworKyAgICBwYXRoLT5wYXRoID0gZ19zdHJkdXAgKGZ1bGxfcGF0aCk7 CisgCistICAgIGdjaGFyICoqYXR0cjsKKy0gICAgZm9yIChhdHRyID0gbm9kZS0+YXR0cmlidXRl czsgYXR0clswXTsgYXR0ciArPSAyKSB7CistICAgICAgICBpZiAoZ19zdHJjbXAwICgqYXR0ciwg Im10aW1lIikgPT0gMCkgeworLSAgICAgICAgICAgIHBhdGgtPm10aW1lID0gYXRvbCAoYXR0clsx XSk7CisrICAgIGlmICghcGF0aC0+aXNfZGlyKQorKyAgICAgICAgcmV0dXJuIFRSVUU7CisrCisr ICAgIGZvciAoaSA9IDAsIHAgPSBub2RlLT5zdWJfbm9kZXM7IHAgIT0gTlVMTDsgcCA9IHAtPm5l eHQpIHsKKysgICAgICAgIFhNTE5vZGUgKnN1Yl9ub2RlID0gKFhNTE5vZGUgKilwLT5kYXRhOwor KworKyAgICAgICAgaWYgKEdfVU5MSUtFTFkgKGdfc3RyY21wMCAoc3ViX25vZGUtPm5hbWUsICJm aWxlIikgIT0gMCkpIHsKKysgICAgICAgICAgICBnX3dhcm5pbmcgKCJVbmtvbnduIHRhZyAlcyIs IHN1Yl9ub2RlLT5uYW1lKTsKKyAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgIH0KKy0g ICAgICAgIGdfd2FybmluZyAoIlVua29ud24gYXR0cmlidXRlICVzIiwgYXR0clswXSk7CisrICAg ICAgICBpYnVzX29ic2VydmVkX3BhdGhfcGFyc2VfZmlsZSAocGF0aCwgc3ViX25vZGUsICZpKTsK KyAgICAgfQorIAorICAgICByZXR1cm4gVFJVRTsKKyB9CisgCisrCisgSUJ1c09ic2VydmVkUGF0 aCAqCisgaWJ1c19vYnNlcnZlZF9wYXRoX25ld19mcm9tX3htbF9ub2RlIChYTUxOb2RlICpub2Rl LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnYm9vbGVhbiBmaWxsX3N0 YXQpCitAQCAtMjg4LDE2ICs0NzcsNDYgQEAgSUJ1c09ic2VydmVkUGF0aCAqCisgaWJ1c19vYnNl cnZlZF9wYXRoX25ldyAoY29uc3QgZ2NoYXIgKnBhdGgsCisgICAgICAgICAgICAgICAgICAgICAg ICAgZ2Jvb2xlYW4gICAgIGZpbGxfc3RhdCkKKyB7CistICAgIGdfYXNzZXJ0IChwYXRoKTsKKy0K KyAgICAgSUJ1c09ic2VydmVkUGF0aCAqb3A7CisrICAgIElCdXNPYnNlcnZlZFBhdGhQcml2YXRl ICpwcml2OworKyAgICBHTGlzdCAqZmlsZV9saXN0LCAqbDsKKysgICAgZ3VpbnQgaSA9IDA7Cisg CisrICAgIGdfYXNzZXJ0IChwYXRoKTsKKyAgICAgb3AgPSAoSUJ1c09ic2VydmVkUGF0aCAqKSBn X29iamVjdF9uZXcgKElCVVNfVFlQRV9PQlNFUlZFRF9QQVRILCBOVUxMKTsKKyAgICAgb3AtPnBh dGggPSBnX3N0cmR1cCAocGF0aCk7CisgCistICAgIGlmIChmaWxsX3N0YXQpIHsKKy0gICAgICAg IGlidXNfb2JzZXJ2ZWRfcGF0aF9maWxsX3N0YXQgKG9wKTsKKysgICAgcHJpdiA9IElCVVNfT0JT RVJWRURfUEFUSF9HRVRfUFJJVkFURSAob3ApOworKyAgICBsID0gZmlsZV9saXN0ID0gaWJ1c19v YnNlcnZlZF9wYXRoX3RyYXZlcnNlIChvcCwgRkFMU0UpOworKyAgICBmb3IgKDsgbDsgbCA9IGwt Pm5leHQpIHsKKysgICAgICAgIElCdXNPYnNlcnZlZFBhdGggKnN1YiA9IGwtPmRhdGE7CisrICAg ICAgICBjb25zdCBnY2hhciAqZmlsZSA9IE5VTEw7CisrCisrICAgICAgICBnX3JldHVybl92YWxf aWZfZmFpbCAoc3ViICYmIHN1Yi0+cGF0aCwgb3ApOworKworKyAgICAgICAgZmlsZSA9IHN1Yi0+ cGF0aDsKKysgICAgICAgIGlmICghZ19zdHJfaGFzX3N1ZmZpeCAoZmlsZSwgIi54bWwiKSkKKysg ICAgICAgICAgICBjb250aW51ZTsKKysgICAgICAgIGlmIChnX3N0cl9oYXNfcHJlZml4IChmaWxl LCBwYXRoKSkgeworKyAgICAgICAgICAgIGZpbGUgKz0gc3RybGVuIChwYXRoKTsKKysgICAgICAg ICAgICBpZiAoKmZpbGUgPT0gJy8nKQorKyAgICAgICAgICAgICAgICBmaWxlKys7CisrICAgICAg ICAgICAgLyogSWdub3JlIHN1YiBkaXJlY3RvcmllcyAqLworKyAgICAgICAgICAgIGlmIChzdHJj aHIgKGZpbGUsICcvJykpCisrICAgICAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgfQor KyAgICAgICAgaWYgKCFpKQorKyAgICAgICAgICAgIHByaXYtPmZpbGVfaGFzaF9saXN0ID0gZ19u ZXcwIChndWludCwgaSArIDIpOworKyAgICAgICAgZWxzZQorKyAgICAgICAgICAgIHByaXYtPmZp bGVfaGFzaF9saXN0ID0gZ19yZW5ldyAoZ3VpbnQsIHByaXYtPmZpbGVfaGFzaF9saXN0LCBpICsg Mik7CisrICAgICAgICBwcml2LT5maWxlX2hhc2hfbGlzdFtpXSA9IGdfc3RyX2hhc2ggKGZpbGUp OworKyAgICAgICAgcHJpdi0+ZmlsZV9oYXNoX2xpc3RbaSArIDFdID0gMDsKKysgICAgICAgICsr aTsKKyAgICAgfQorKyAgICBnX2xpc3RfZnJlZV9mdWxsIChmaWxlX2xpc3QsIChHRGVzdHJveU5v dGlmeSlpYnVzX29ic2VydmVkX3BhdGhfZGVzdHJveSk7CisrCisrICAgIGlmIChmaWxsX3N0YXQp CisrICAgICAgICBpYnVzX29ic2VydmVkX3BhdGhfZmlsbF9zdGF0IChvcCk7CisgCisgICAgIHJl dHVybiBvcDsKKyB9CitkaWZmIC0tZ2l0IGEvc3JjL2lidXNyZWdpc3RyeS5jIGIvc3JjL2lidXNy ZWdpc3RyeS5jCitpbmRleCA0Mzk5MGQ1Zi4uMzM4NmE1ZDEgMTAwNjQ0CistLS0gYS9zcmMvaWJ1 c3JlZ2lzdHJ5LmMKKysrKyBiL3NyYy9pYnVzcmVnaXN0cnkuYworQEAgLTIsOCArMiw4IEBACisg LyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBidXMgLSBUaGUgSW5wdXQgQnVzCisgICogQ29w eXJpZ2h0IChDKSAyMDE1IFBlbmcgSHVhbmcgPHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorLSAq IENvcHlyaWdodCAoQykgMjAxNS0yMDE5IFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFA Z21haWwuY29tPgorLSAqIENvcHlyaWdodCAoQykgMjAxNS0yMDE5IFJlZCBIYXQsIEluYy4KKysg KiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmEx QGdtYWlsLmNvbT4KKysgKiBDb3B5cmlnaHQgKEMpIDIwMTUtMjAyMCBSZWQgSGF0LCBJbmMuCisg ICoKKyAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCisgICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExl c3NlciBHZW5lcmFsIFB1YmxpYworQEAgLTI5LDcgKzI5LDcgQEAKKyAjaW5jbHVkZSAiaWJ1c3Jl Z2lzdHJ5LmgiCisgCisgI2RlZmluZSBJQlVTX0NBQ0hFX01BR0lDIDB4NDk0MjU1NTMgLyogIklC VVMiICovCistI2RlZmluZSBJQlVTX0NBQ0hFX1ZFUlNJT04gMHgwMDAxMDUxMgorKyNkZWZpbmUg SUJVU19DQUNIRV9WRVJTSU9OIDB4MDAwMTA1MjIKKyAKKyBlbnVtIHsKKyAgICAgQ0hBTkdFRCwK Ky0tIAorMi4yNC4xCisKCmRpZmYgLS1naXQgYS9pYnVzLnNwZWMgYi9pYnVzLnNwZWMKaW5kZXgg ZmEwOTgwMy4uMzhmZTJmNyAxMDA2NDQKLS0tIGEvaWJ1cy5zcGVjCisrKyBiL2lidXMuc3BlYwpA QCAtNywxMiArNyw2IEBACiAKICVnbG9iYWwgd2l0aF9wa2dfY29uZmlnICUocGtnLWNvbmZpZyAt LXZlcnNpb24gPi9kZXYvbnVsbCAyPiYxICYmIGVjaG8gLW4gIjEiIHx8IGVjaG8gLW4gIjAiKQog Ci0laWYgKDAlez9mZWRvcmF9ID4gMjEgfHwgMCV7P3JoZWx9ID4gNykKLSVnbG9iYWwgd2l0aF9r ZGU1IDEKLSVlbHNlCi0lZ2xvYmFsIHdpdGhfa2RlNSAwCi0lZW5kaWYKLQogJWdsb2JhbCBpYnVz X2FwaV92ZXJzaW9uIDEuMAogCiAjIGZvciBieXRlY29tcGlsZSBpbiAlJXtfZGF0YWRpcn0vaWJ1 cy9zZXR1cApAQCAtMzIsMTMgKzI2LDE0IEBACiAKIE5hbWU6ICAgICAgICAgICBpYnVzCiBWZXJz aW9uOiAgICAgICAgMS41LjIyCi1SZWxlYXNlOiAgICAgICAgMTElez9kaXN0fQorUmVsZWFzZTog ICAgICAgIDEyJXs/ZGlzdH0KIFN1bW1hcnk6ICAgICAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMg Zm9yIExpbnV4IE9TCiBMaWNlbnNlOiAgICAgICAgTEdQTHYyKwogVVJMOiAgICAgICAgICAgIGh0 dHBzOi8vZ2l0aHViLmNvbS9pYnVzLyVuYW1lL3dpa2kKIFNvdXJjZTA6ICAgICAgICBodHRwczov L2dpdGh1Yi5jb20vaWJ1cy8lbmFtZS9yZWxlYXNlcy9kb3dubG9hZC8le3ZlcnNpb259LyV7bmFt ZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNvdXJjZTE6ICAgICAgICAle25hbWV9LXhpbnB1dAogU291 cmNlMjogICAgICAgICV7bmFtZX0uY29uZi41CitTb3VyY2UzOiAgICAgICAgJXtuYW1lfS1zaW1w bGUtMS41LjIyLjIwMjAwODIxLnhtbC5negogIyBQYXRjaDA6ICAgICAgICAgJSV7bmFtZX0tSEVB RC5wYXRjaAogUGF0Y2gwOiAgICAgICAgICV7bmFtZX0tSEVBRC5wYXRjaAogIyBVbmRlciB0ZXN0 aW5nICMxMzQ5MTQ4ICMxMzg1MzQ5ICMxMzUwMjkxICMxNDA2Njk5ICMxNDMyMjUyICMxNjAxNTc3 CkBAIC03MSw5ICs2Niw3IEBAIEJ1aWxkUmVxdWlyZXM6ICB2YWxhCiBCdWlsZFJlcXVpcmVzOiAg aXNvLWNvZGVzLWRldmVsCiBCdWlsZFJlcXVpcmVzOiAgbGlibm90aWZ5LWRldmVsCiBCdWlsZFJl cXVpcmVzOiAgd2F5bGFuZC1kZXZlbAotJWlmICV3aXRoX2tkZTUKIEJ1aWxkUmVxdWlyZXM6ICBx dDUtcXRiYXNlLWRldmVsCi0lZW5kaWYKIEJ1aWxkUmVxdWlyZXM6ICBjbGRyLWVtb2ppLWFubm90 YXRpb24KIEJ1aWxkUmVxdWlyZXM6ICB1bmljb2RlLWVtb2ppCiBCdWlsZFJlcXVpcmVzOiAgdW5p Y29kZS11Y2QKQEAgLTI1NCw2ICsyNDcsMTAgQEAgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIGlu c3RhbGxlZCAle25hbWV9IHBhY2thZ2UuCiAjIGNwIGNsaWVudC9ndGsyL2lidXNpbWNvbnRleHQu YyBjbGllbnQvZ3RrMy9pYnVzaW1jb250ZXh0LmMgfHwgOgogIyBjcCBjbGllbnQvZ3RrMi9pYnVz aW0uYyBjbGllbnQvZ3RrMy9pYnVzaW0uYyB8fCA6CiBjcCBjbGllbnQvZ3RrMi9pYnVzaW0uYyBj bGllbnQvZ3RrMy9pYnVzaW0uYyB8fCA6CitjZCBlbmdpbmUKK2NwICV7U09VUkNFM30gc2ltcGxl LnhtbC5negorZ3VuemlwIHNpbXBsZS54bWwuZ3oKK2NkIC4uCiAKIAogIyBwcmVwIHRlc3QKQEAg LTI4NSw5ICsyODIsNiBAQCBhdXRvcmVjb25mIC1mIC1pIC12CiAgICAgLS1lbmFibGUtcHl0aG9u LWxpYnJhcnkgXAogJWVuZGlmCiAgICAgLS1lbmFibGUtd2F5bGFuZCBcCi0laWYgISAld2l0aF9r ZGU1Ci0gICAgLS1kaXNhYmxlLWFwcGluZGljYXRvciBcCi0lZW5kaWYKICAgICAtLWVuYWJsZS1p bnRyb3NwZWN0aW9uIFwKICAgICAtLWVuYWJsZS1pbnN0YWxsLXRlc3RzIFwKICAgICAle25pbH0K QEAgLTQ2NCw2ICs0NTgsMTEgQEAgZGNvbmYgdXBkYXRlIHx8IDoKICV7X2RhdGFkaXJ9L2luc3Rh bGxlZC10ZXN0cy9pYnVzCiAKICVjaGFuZ2Vsb2cKKyogRnJpIEF1ZyAyMSAyMDIwIFRha2FvIEZ1 aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuNS4yMi0xMgorLSBHZW5lcmF0ZSBzaW1w bGUueG1sIHdpdGggZGVueWxpc3QKKy0gVGVsbCBQYW5nbyBhYm91dCB0aGUgZW5naW5lIGxhbmd1 YWdlIGluIHRoZSBjYW5kaWRhdGUgcGFuZWwKKy0gQWRkIGZpbGUgbGlzdCBpbiByZWdpc3RyeSBm aWxlIGZvciBTaWx2ZXJibHVlCisKICogVHVlIEp1bCAyOCAyMDIwIEFkYW0gSmFja3NvbiA8YWph eEByZWRoYXQuY29tPiAtIDEuNS4yMi0xMQogLSBSZXF1aXJlIHNldHhrYm1hcCBub3QgeG9yZy14 MTEteGtiLXV0aWxzCiAKCmRpZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCAyNjkx YjNiLi40NjI5ZjEyIDEwMDY0NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEs MiBAQAogU0hBNTEyIChpYnVzLTEuNS4yMi50YXIuZ3opID0gMGFiZTg5YWNjNmRhOGNlYTQ4NGE2 YjlmODA3YzA4ZTk0ODY5MDcyZjM3NGY5ZThmNDU0MWE0MjY2MzZmODE4ZjFjM2NiOGI5MjM3Zjk3 MjQ1NzcxZjllNGJmMTkxODQ5ODNkOGFjOTI0MTc3ZGM0ODI0Y2E2ZThiNTMwNDQyNWQKK1NIQTUx MiAoaWJ1cy1zaW1wbGUtMS41LjIyLjIwMjAwODIxLnhtbC5neikgPSBmNzUzMjA3OGJkNDA5ZGEw NzQyNTM4NzQ1ZDVkMDM5NDJkZDczOGE5YmVhOTM1Zjc1YzljMGQ3NGFkOTg5MWZmNjJmZTc5ODJh N2M2NGFiOTU3MDc5NTgzYTEyMzE2ZDU5M2Y3ZjA1NTM0ZmE3OGE1Yzc0MWViNWZiMTlmOWRhNwo=