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: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Permit passing pointers as address number even for C++ methods (Keith Seitz). Date: Thu, 23 Jul 2026 18:30:40 GMT Message-ID: <178483144012.1.16283270310685666333.rpms-gdb-979799fd0b72@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: 979799fd0b72b505a4a2d555c838c06aa9c4e3f0 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGZpeC1kdXAtcGF0Y2gKQ29tbWl0IDogOTc5Nzk5ZmQwYjcyYjUwNWE0YTJkNTU1YzgzOGMwNmFh OWM0ZTNmMApBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4KRGF0ZSAgIDogMjAxMi0wOS0yN1QyMjozODo1NCswMjowMApTdGF0cyAgOiArMTAxMC8tMSBp biAyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9n ZGIvYy85Nzk3OTlmZDBiNzJiNTA1YTRhMmQ1NTVjODM4YzA2YWE5YzRlM2YwP2JyYW5jaD1maXgt ZHVwLXBhdGNoCgpMb2c6ClBlcm1pdCBwYXNzaW5nIHBvaW50ZXJzIGFzIGFkZHJlc3MgbnVtYmVy IGV2ZW4gZm9yIEMrKyBtZXRob2RzIChLZWl0aCBTZWl0eikuCgotLS0KZGlmZiAtLWdpdCBhL2dk Yi1jaGVjay10eXBlLnBhdGNoIGIvZ2RiLWNoZWNrLXR5cGUucGF0Y2gKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMC4uZmI0NDA2NQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1jaGVj ay10eXBlLnBhdGNoCkBAIC0wLDAgKzEsMTAwMiBAQAoraHR0cDovL3NvdXJjZXdhcmUub3JnL21s L2dkYi1jdnMvMjAxMi0wOC9tc2cwMDEzMy5odG1sCisKKyMjIyBzcmMvZ2RiL0NoYW5nZUxvZwky MDEyLzA4LzE3IDAzOjA2OjEwCTEuMTQ1OTkKKyMjIyBzcmMvZ2RiL0NoYW5nZUxvZwkyMDEyLzA4 LzE3IDE3OjM2OjU2CTEuMTQ2MDAKKyMjIC0xLDMgKzEsNDggQEAKKysyMDEyLTA4LTE3ICBLZWl0 aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgorKworKwlQUiBjKysvMTMzNTYKKysJKiBnZGJ0 eXBlcy5jIChzdHJpY3RfdHlwZV9jaGVja2luZyk6IE5ldyB2YXJpYWJsZS4KKysJKHNob3dfc3Ry aWN0X3R5cGVfY2hlY2tpbmcpOiBOZXcgZnVuY3Rpb24uCisrCShyYW5rX29uZV90eXBlKTogUmV0 dXJuIE5TX1BPSU5URVJfSU5URUdFUl9DT05WRVJTSU9OX0JBRE5FU1MKKysJaWYgc3RyaWN0IHR5 cGUgY2hlY2tpbmcgaXMgZGlzYWJsZWQuCisrCShfaW5pdGlhbGl6ZV9nZGJ0eXBlcyk6IEFkZCAi Y2hlY2sgdHlwZSIgc3ViY29tbWFuZC4KKysJKiBnZGJ0eXBlcy5oIChOU19JTlRFR0VSX1BPSU5U RVJfQ09OVkVSU0lPTl9CQURORVNTKTogTmV3IHN0cnVjdC4KKysKKysyMDEyLTA4LTE3ICBLZWl0 aCBTZWl0eiAgPGtlaXRoc0ByZWRoYXQuY29tPgorKworKwkqIGxhbmd1YWdlLmggKHR5cGVfbW9k ZSk6IFJlbW92ZS4KKysJKHR5cGVfY2hlY2spOiBSZW1vdmUuCisrCShzdHJ1Y3QgbGFuZ3VhZ2Vf ZGVmbik6IFJlbW92ZSBsYV90eXBlX2NoZWNrLgorKwkoU1RSSUNUX1RZUEUpOiBSZW1vdmUgdW51 c2VkIG1hY3JvLgorKwkodHlwZV9lcnJvcik6IFJlbW92ZS4KKysJKiBsYW5ndWFnZS5jIChzZXRf dHlwZV9yYW5nZV9jYXNlKTogUmVuYW1lZCB0byAuLi4KKysJKHNldF9yYW5nZV9jYXNlKTogLi4u IHRoaXMuICBVcGRhdGUgYWxsIGNhbGxlcnMuCisrCVJlbW92ZSB0eXBlX21vZGUvdHlwZV9jaGVj ay4KKysJKHR5cGVfbW9kZSk6IFJlbW92ZS4KKysJKHR5cGVfY2hlY2spOiBSZW1vdmUuCisrCShz aG93X3R5cGVfY29tbWFuZCk6IFJlbW92ZS4KKysJKHNldF90eXBlX2NvbW1hbmQpOiBSZW1vdmUu CisrCShsYW5ndWFnZV9pbmZvKTogUmVtb3ZlIHR5cGUgY2hlY2tpbmcgb3V0cHV0LgorKwkodHlw ZV9lcnJvcik6IFJlbW92ZSB1bnVzZWQgZnVuY3Rpb24uCisrCShyYW5nZV9lcnJvcik6IFVwZGF0 ZSBjb21tZW50LgorKwkodW5rbm93bl9sYW5ndWFnZV9kZWZuKTogUmVtb3ZlIGxhX3R5cGVfY2hl Y2suCisrCShhdXRvX2xhbmd1YWdlX2RlZm4pOiBMaWtld2lzZS4KKysJKGxvY2FsX2xhbmd1YWdl X2RlZm4pOiBMaWtld2lzZS4KKysJKF9pbml0aWFsaXplX2xhbmd1YWdlKTogUmVtb3ZlICJjaGVj ayB0eXBlIiBzdWJjb21tYW5kLgorKwkqIGFkYS1sYW5nLmMgKGFkYV9sYW5ndWFnZV9kZWZuKTog UmVtb3ZlIGxhX3R5cGVfY2hlY2suCisrCSogYy1sYW5nLmMgKGNfbGFuZ3VhZ2VfZGVmbik6IExp a2V3aXNlLgorKwkoY3BsdXNfbGFuZ3VhZ2VfZGVmbik6IExpa2V3aXNlLgorKwkoYXNtX2xhbmd1 YWdlX2RlZm4pOiBMaWtld2lzZS4KKysJKG1pbmltYWxfbGFuZ3VhZ2VfZGVmbik6IExpa2V3aXNl LgorKwkqIGQtbGFuZy5jIChkX2xhbmd1YWdlX2RlZm4pOiBMaWtld2lzZS4KKysJKiBmLWxhbmcu YyAoZl9sYW5ndWFnZV9kZWZuKTogTGlrZXdpc2UuCisrCSogZ28tbGFuZy5jIChnb19sYW5ndWFn ZV9kZWZuKTogTGlrZXdpc2UuCisrCSoganYtbGFuZy5jIChqYXZhX2xhbmd1YWdlX2RlZm4pOiBM aWtld2lzZS4KKysJKiBtMi1sYW5nLmMgKG0yX2xhbmd1YWdlX2RlZm4pOiBMaWtld2lzZS4KKysJ KiBvYmpjLWxhbmcuYyAob2JqY19sYW5ndWFnZV9kZWZuKTogTGlrZXdpc2UuCisrCSogb3BlbmNs LWxhbmcuYyAob3BlbmNsX2xhbmd1YWdlX2RlZm4pOiBMaWtld2lzZS4KKysJKiBwLWxhbmcuYyAo cGFzY2FsX2xhbmd1YWdlX2RlZm4pOiBMaWtld2lzZS4KKysKKyAyMDEyLTA4LTE2ICBNaWtlIEZy eXNpbmdlciAgPHZhcGllckBnZW50b28ub3JnPgorIAorIAkqIGluZmNtZC5jIChfaW5pdGlhbGl6 ZV9pbmZjbWQpOiBSZW1vdmUgdHJhaWxpbmcgKSBpbiBuZXh0IGhlbHAgdGV4dC4KK0luZGV4OiBn ZGItNy41LjAuMjAxMjA5MjYvZ2RiL2dkYnR5cGVzLmMKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy41 LjAuMjAxMjA5MjYub3JpZy9nZGIvZ2RidHlwZXMuYwkyMDEyLTA5LTI3IDIyOjE0OjIxLjAwMDAw MDAwMCArMDIwMAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvZ2RidHlwZXMuYwkyMDEyLTA5 LTI3IDIyOjE1OjA1LjgwNzcwNjEwNSArMDIwMAorQEAgLTYyLDYgKzYyLDcgQEAgY29uc3Qgc3Ry dWN0IHJhbmsgQkFTRV9DT05WRVJTSU9OX0JBRE5FUworIGNvbnN0IHN0cnVjdCByYW5rIFJFRkVS RU5DRV9DT05WRVJTSU9OX0JBRE5FU1MgPSB7MiwwfTsKKyBjb25zdCBzdHJ1Y3QgcmFuayBOVUxM X1BPSU5URVJfQ09OVkVSU0lPTl9CQURORVNTID0gezIsMH07CisgY29uc3Qgc3RydWN0IHJhbmsg TlNfUE9JTlRFUl9DT05WRVJTSU9OX0JBRE5FU1MgPSB7MTAsMH07CisrY29uc3Qgc3RydWN0IHJh bmsgTlNfSU5URUdFUl9QT0lOVEVSX0NPTlZFUlNJT05fQkFETkVTUyA9IHszLDB9OworIAorIC8q IEZsb2F0Zm9ybWF0IHBhaXJzLiAgKi8KKyBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKmZsb2F0 Zm9ybWF0c19pZWVlX2hhbGZbQkZEX0VORElBTl9VTktOT1dOXSA9IHsKK0BAIC0xMzQsNiArMTM1 LDE5IEBAIHNob3dfb3ZlcmxvYWRfZGVidWcgKHN0cnVjdCB1aV9maWxlICpmaWwKKyAJCSAgICB2 YWx1ZSk7CisgfQorIAorKy8qIEEgZmxhZyB0byBlbmFibGUgc3RyaWN0IHR5cGUgY2hlY2tpbmcu ICAqLworKworK3N0YXRpYyBpbnQgc3RyaWN0X3R5cGVfY2hlY2tpbmcgPSAxOworKworKy8qIEEg ZnVuY3Rpb24gdG8gc2hvdyB0aGUgc3RhdHVzIG9mIHN0cmljdCB0eXBlIGNoZWNraW5nLiAgKi8K KysKKytzdGF0aWMgdm9pZAorK3Nob3dfc3RyaWN0X3R5cGVfY2hlY2tpbmcgKHN0cnVjdCB1aV9m aWxlICpmaWxlLCBpbnQgZnJvbV90dHksCisrCQkJICAgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQg KmMsIGNvbnN0IGNoYXIgKnZhbHVlKQorK3sKKysgIGZwcmludGZfZmlsdGVyZWQgKGZpbGUsIF8o IlN0cmljdCB0eXBlIGNoZWNraW5nIGlzICVzLlxuIiksIHZhbHVlKTsKKyt9CisrCisgc3RydWN0 IGV4dHJhCisgICB7CisgICAgIGNoYXIgc3RyWzEyOF07CitAQCAtMjY0OSwxMiArMjY2MywyMCBA QCByYW5rX29uZV90eXBlIChzdHJ1Y3QgdHlwZSAqcGFybSwgc3RydWN0CisgCWNhc2UgVFlQRV9D T0RFX0ZVTkM6CisgCSAgcmV0dXJuIHJhbmtfb25lX3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHBh cm0pLCBhcmcsIE5VTEwpOworIAljYXNlIFRZUEVfQ09ERV9JTlQ6CistCSAgaWYgKHZhbHVlICE9 IE5VTEwgJiYgVFlQRV9DT0RFICh2YWx1ZV90eXBlICh2YWx1ZSkpID09IFRZUEVfQ09ERV9JTlQK Ky0JICAgICAgJiYgdmFsdWVfYXNfbG9uZyAodmFsdWUpID09IDApCisrCSAgaWYgKHZhbHVlICE9 IE5VTEwgJiYgVFlQRV9DT0RFICh2YWx1ZV90eXBlICh2YWx1ZSkpID09IFRZUEVfQ09ERV9JTlQp CisgCSAgICB7CistCSAgICAgIC8qIE51bGwgcG9pbnRlciBjb252ZXJzaW9uOiBhbGxvdyBpdCB0 byBiZSBjYXN0IHRvIGEgcG9pbnRlci4KKy0JCSBbNC4xMC4xIG9mIEMrKyBzdGFuZGFyZCBkcmFm dCBuMzI5MF0gICovCistCSAgICAgIHJldHVybiBOVUxMX1BPSU5URVJfQ09OVkVSU0lPTl9CQURO RVNTOworKwkgICAgICBpZiAodmFsdWVfYXNfbG9uZyAodmFsdWUpID09IDApCisrCQl7CisrCQkg IC8qIE51bGwgcG9pbnRlciBjb252ZXJzaW9uOiBhbGxvdyBpdCB0byBiZSBjYXN0IHRvIGEgcG9p bnRlci4KKysJCSAgICAgWzQuMTAuMSBvZiBDKysgc3RhbmRhcmQgZHJhZnQgbjMyOTBdICAqLwor KwkJICByZXR1cm4gTlVMTF9QT0lOVEVSX0NPTlZFUlNJT05fQkFETkVTUzsKKysJCX0KKysJICAg ICAgZWxzZQorKwkJeworKwkJICAvKiBJZiB0eXBlIGNoZWNraW5nIGlzIGRpc2FibGVkLCBhbGxv dyB0aGUgY29udmVyc2lvbi4gICovCisrCQkgIGlmICghc3RyaWN0X3R5cGVfY2hlY2tpbmcpCisr CQkgICAgcmV0dXJuIE5TX0lOVEVHRVJfUE9JTlRFUl9DT05WRVJTSU9OX0JBRE5FU1M7CisrCQl9 CisgCSAgICB9CisgCSAgLyogZmFsbCB0aHJvdWdoICAqLworIAljYXNlIFRZUEVfQ09ERV9FTlVN OgorQEAgLTQ2MzcsNCArNDY1OSwxMyBAQCBfaW5pdGlhbGl6ZV9nZGJ0eXBlcyAodm9pZCkKKyAJ CQkgICBOVUxMLCBOVUxMLAorIAkJCSAgIHNob3dfb3BhcXVlX3R5cGVfcmVzb2x1dGlvbiwKKyAJ CQkgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKKysKKysgIC8qIEFkZCBhbiBvcHRpb24gdG8gcGVy bWl0IG5vbi1zdHJpY3QgdHlwZSBjaGVja2luZy4gICovCisrICBhZGRfc2V0c2hvd19ib29sZWFu X2NtZCAoInR5cGUiLCBjbGFzc19zdXBwb3J0LAorKwkJCSAgICZzdHJpY3RfdHlwZV9jaGVja2lu ZywKKysJCQkgICBfKCJTZXQgc3RyaWN0IHR5cGUgY2hlY2tpbmcuIiksCisrCQkJICAgXygiU2hv dyBzdHJpY3QgdHlwZSBjaGVja2luZy4iKSwKKysJCQkgICBOVUxMLCBOVUxMLAorKwkJCSAgIHNo b3dfc3RyaWN0X3R5cGVfY2hlY2tpbmcsCisrCQkJICAgJnNldGNoZWNrbGlzdCwgJnNob3djaGVj a2xpc3QpOworIH0KK0luZGV4OiBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL2dkYnR5cGVzLmgKKz09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KKy0tLSBnZGItNy41LjAuMjAxMjA5MjYub3JpZy9nZGIvZ2RidHlwZXMuaAkyMDEy LTA5LTI3IDIyOjE0OjIzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9n ZGIvZ2RidHlwZXMuaAkyMDEyLTA5LTI3IDIyOjE0OjQwLjY5MDY5NTA1OSArMDIwMAorQEAgLTE3 NDUsNiArMTc0NSw5IEBAIGV4dGVybiBjb25zdCBzdHJ1Y3QgcmFuayBOVUxMX1BPSU5URVJfQ08K KyAvKiBDb252ZXJ0aW5nIGEgcG9pbnRlciB0byBhbiBpbnQgaXMgdXN1YWxseSBPSy4gICovCisg ZXh0ZXJuIGNvbnN0IHN0cnVjdCByYW5rIE5TX1BPSU5URVJfQ09OVkVSU0lPTl9CQURORVNTOwor IAorKy8qIEJhZG5lc3Mgb2YgY29udmVydGluZyBhIChub24temVybykgaW50ZWdlciBjb25zdGFu dAorKyAgIHRvIGEgcG9pbnRlci4gICovCisrZXh0ZXJuIGNvbnN0IHN0cnVjdCByYW5rIE5TX0lO VEVHRVJfUE9JTlRFUl9DT05WRVJTSU9OX0JBRE5FU1M7CisgCisgZXh0ZXJuIHN0cnVjdCByYW5r IHN1bV9yYW5rcyAoc3RydWN0IHJhbmsgYSwgc3RydWN0IHJhbmsgYik7CisgZXh0ZXJuIGludCBj b21wYXJlX3JhbmtzIChzdHJ1Y3QgcmFuayBhLCBzdHJ1Y3QgcmFuayBiKTsKK0luZGV4OiBnZGIt Ny41LjAuMjAxMjA5MjYvZ2RiL2xhbmd1YWdlLmgKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy41LjAu MjAxMjA5MjYub3JpZy9nZGIvbGFuZ3VhZ2UuaAkyMDEyLTA2LTEzIDE3OjQ3OjE0LjAwMDAwMDAw MCArMDIwMAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvbGFuZ3VhZ2UuaAkyMDEyLTA5LTI3 IDIyOjE0OjQwLjgzNDY5NTEyMSArMDIwMAorQEAgLTU1LDI3ICs1NSw2IEBAIGV4dGVybiBlbnVt IHJhbmdlX2NoZWNrCisgICB9CisgcmFuZ2VfY2hlY2s7CisgCistLyogdHlwZV9tb2RlID09Cist ICAgdHlwZV9tb2RlX2F1dG86ICAgdHlwZV9jaGVjayBzZXQgYXV0b21hdGljYWxseSB0byBkZWZh dWx0IG9mIGxhbmd1YWdlLgorLSAgIHR5cGVfbW9kZV9tYW51YWw6IHR5cGVfY2hlY2sgc2V0IG1h bnVhbGx5IGJ5IHVzZXIuICAqLworLQorLWV4dGVybiBlbnVtIHR5cGVfbW9kZQorLSAgeworLSAg ICB0eXBlX21vZGVfYXV0bywgdHlwZV9tb2RlX21hbnVhbAorLSAgfQorLXR5cGVfbW9kZTsKKy0K Ky0vKiB0eXBlX2NoZWNrID09CistICAgdHlwZV9jaGVja19vbjogICAgVHlwZXMgYXJlIGNoZWNr ZWQgaW4gR0RCIGV4cHJlc3Npb25zLCBwcm9kdWNpbmcgZXJyb3JzLgorLSAgIHR5cGVfY2hlY2tf d2FybjogIFR5cGVzIGFyZSBjaGVja2VkLCBwcm9kdWNpbmcgd2FybmluZ3MuCistICAgdHlwZV9j aGVja19vZmY6ICAgVHlwZXMgYXJlIG5vdCBjaGVja2VkIGluIEdEQiBleHByZXNzaW9ucy4gICov CistCistZXh0ZXJuIGVudW0gdHlwZV9jaGVjaworLSAgeworLSAgICB0eXBlX2NoZWNrX29mZiwg dHlwZV9jaGVja193YXJuLCB0eXBlX2NoZWNrX29uCistICB9CistdHlwZV9jaGVjazsKKy0KKyAv KiBjYXNlX21vZGUgPT0KKyAgICBjYXNlX21vZGVfYXV0bzogICBjYXNlX3NlbnNpdGl2aXR5IHNl dCB1cG9uIHNlbGVjdGlvbiBvZiBzY29wZS4KKyAgICBjYXNlX21vZGVfbWFudWFsOiBjYXNlX3Nl bnNpdGl2aXR5IHNldCBvbmx5IGJ5IHVzZXIuICAqLworQEAgLTE2MiwxMCArMTQxLDYgQEAgc3Ry dWN0IGxhbmd1YWdlX2RlZm4KKyAKKyAgICAgZW51bSByYW5nZV9jaGVjayBsYV9yYW5nZV9jaGVj azsKKyAKKy0gICAgLyogRGVmYXVsdCB0eXBlIGNoZWNraW5nLiAgKi8KKy0KKy0gICAgZW51bSB0 eXBlX2NoZWNrIGxhX3R5cGVfY2hlY2s7CistCisgICAgIC8qIERlZmF1bHQgY2FzZSBzZW5zaXRp dml0eS4gICovCisgICAgIGVudW0gY2FzZV9zZW5zaXRpdml0eSBsYV9jYXNlX3NlbnNpdGl2aXR5 OworIAorQEAgLTQyMiw5ICszOTcsNiBAQCBzdHJ1Y3QgdHlwZSAqbGFuZ3VhZ2VfbG9va3VwX3By aW1pdGl2ZV90CisgLyogVGhlc2UgbWFjcm9zIGRlZmluZSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBl eHByZXNzaW9uIAorICAgIGV2YWx1YXRvci4gICovCisgCistLyogU2hvdWxkIHdlIHN0cmljdGx5 IHR5cGUgY2hlY2sgZXhwcmVzc2lvbnM/ICAqLworLSNkZWZpbmUgU1RSSUNUX1RZUEUgKHR5cGVf Y2hlY2sgIT0gdHlwZV9jaGVja19vZmYpCistCisgLyogU2hvdWxkIHdlIHJhbmdlIGNoZWNrIHZh bHVlcyBhZ2FpbnN0IHRoZSBkb21haW4gb2YgdGhlaXIgdHlwZT8gICovCisgI2RlZmluZSBSQU5H RV9DSEVDSyAocmFuZ2VfY2hlY2sgIT0gcmFuZ2VfY2hlY2tfb2ZmKQorIAorQEAgLTQ5Niw4ICs0 NjgsNiBAQCBleHRlcm4gdm9pZCBiaW5vcF90eXBlX2NoZWNrIChzdHJ1Y3QgdmFsCisgCisgLyog RXJyb3IgbWVzc2FnZXMgKi8KKyAKKy1leHRlcm4gdm9pZCB0eXBlX2Vycm9yIChjb25zdCBjaGFy ICosIC4uLikgQVRUUklCVVRFX1BSSU5URiAoMSwgMik7CistCisgZXh0ZXJuIHZvaWQgcmFuZ2Vf ZXJyb3IgKGNvbnN0IGNoYXIgKiwgLi4uKSBBVFRSSUJVVEVfUFJJTlRGICgxLCAyKTsKKyAKKyAv KiBEYXRhOiAgRG9lcyB0aGlzIHZhbHVlIHJlcHJlc2VudCAidHJ1dGgiIHRvIHRoZSBjdXJyZW50 IGxhbmd1YWdlPyAgKi8KK0luZGV4OiBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL2xhbmd1YWdlLmMK Kz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KKy0tLSBnZGItNy41LjAuMjAxMjA5MjYub3JpZy9nZGIvbGFuZ3VhZ2UuYwky MDEyLTAzLTAyIDIwOjI5OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuMC4yMDEyMDky Ni9nZGIvbGFuZ3VhZ2UuYwkyMDEyLTA5LTI3IDIyOjE0OjQwLjkyMjY5NTE2MiArMDIwMAorQEAg LTU1LDcgKzU1LDcgQEAgc3RhdGljIHZvaWQgc2hvd19jaGVjayAoY2hhciAqLCBpbnQpOworIAor IHN0YXRpYyB2b2lkIHNldF9jaGVjayAoY2hhciAqLCBpbnQpOworIAorLXN0YXRpYyB2b2lkIHNl dF90eXBlX3JhbmdlX2Nhc2UgKHZvaWQpOworK3N0YXRpYyB2b2lkIHNldF9yYW5nZV9jYXNlICh2 b2lkKTsKKyAKKyBzdGF0aWMgdm9pZCB1bmtfbGFuZ19lbWl0X2NoYXIgKGludCBjLCBzdHJ1Y3Qg dHlwZSAqdHlwZSwKKyAJCQkJc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHF1b3Rlcik7CitA QCAtODEsOCArODEsNiBAQCBleHRlcm4gY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gdW5rbm93 CisgCisgZW51bSByYW5nZV9tb2RlIHJhbmdlX21vZGUgPSByYW5nZV9tb2RlX2F1dG87CisgZW51 bSByYW5nZV9jaGVjayByYW5nZV9jaGVjayA9IHJhbmdlX2NoZWNrX29mZjsKKy1lbnVtIHR5cGVf bW9kZSB0eXBlX21vZGUgPSB0eXBlX21vZGVfYXV0bzsKKy1lbnVtIHR5cGVfY2hlY2sgdHlwZV9j aGVjayA9IHR5cGVfY2hlY2tfb2ZmOworIGVudW0gY2FzZV9tb2RlIGNhc2VfbW9kZSA9IGNhc2Vf bW9kZV9hdXRvOworIGVudW0gY2FzZV9zZW5zaXRpdml0eSBjYXNlX3NlbnNpdGl2aXR5ID0gY2Fz ZV9zZW5zaXRpdmVfb247CisgCitAQCAtMTc0LDcgKzE3Miw3IEBAIHNldF9sYW5ndWFnZV9jb21t YW5kIChjaGFyICppZ25vcmUsIGludAorIAkgICAgICAvKiBFbnRlciBtYW51YWwgbW9kZS4gIFNl dCB0aGUgc3BlY2lmaWVkIGxhbmd1YWdlLiAgKi8KKyAJICAgICAgbGFuZ3VhZ2VfbW9kZSA9IGxh bmd1YWdlX21vZGVfbWFudWFsOworIAkgICAgICBjdXJyZW50X2xhbmd1YWdlID0gbGFuZ3VhZ2Vz W2ldOworLQkgICAgICBzZXRfdHlwZV9yYW5nZV9jYXNlICgpOworKwkgICAgICBzZXRfcmFuZ2Vf Y2FzZSAoKTsKKyAJICAgICAgZXhwZWN0ZWRfbGFuZ3VhZ2UgPSBjdXJyZW50X2xhbmd1YWdlOwor IAkgICAgICByZXR1cm47CisgCSAgICB9CitAQCAtMTg2LDc5ICsxODQsNiBAQCBzZXRfbGFuZ3Vh Z2VfY29tbWFuZCAoY2hhciAqaWdub3JlLCBpbnQKKyAJCSAgbGFuZ3VhZ2UpOworIH0KKyAKKy0v KiBTaG93IGNvbW1hbmQuICBEaXNwbGF5IGEgd2FybmluZyBpZiB0aGUgdHlwZSBzZXR0aW5nIGRv ZXMKKy0gICBub3QgbWF0Y2ggdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuICAqLworLXN0YXRpYyB2b2lk Cistc2hvd190eXBlX2NvbW1hbmQgKHN0cnVjdCB1aV9maWxlICpmaWxlLCBpbnQgZnJvbV90dHks CistCQkgICBzdHJ1Y3QgY21kX2xpc3RfZWxlbWVudCAqYywgY29uc3QgY2hhciAqdmFsdWUpCist eworLSAgaWYgKHR5cGVfbW9kZSA9PSB0eXBlX21vZGVfYXV0bykKKy0gICAgeworLSAgICAgIGNo YXIgKnRtcCA9IE5VTEw7CistCistICAgICAgc3dpdGNoICh0eXBlX2NoZWNrKQorLQl7CistCWNh c2UgdHlwZV9jaGVja19vbjoKKy0JICB0bXAgPSAib24iOworLQkgIGJyZWFrOworLQljYXNlIHR5 cGVfY2hlY2tfb2ZmOgorLQkgIHRtcCA9ICJvZmYiOworLQkgIGJyZWFrOworLQljYXNlIHR5cGVf Y2hlY2tfd2FybjoKKy0JICB0bXAgPSAid2FybiI7CistCSAgYnJlYWs7CistCWRlZmF1bHQ6Cist CSAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKKy0JCQkgICJVbnJlY29nbml6 ZWQgdHlwZSBjaGVjayBzZXR0aW5nLiIpOworLQl9CistCistICAgICAgZnByaW50Zl9maWx0ZXJl ZCAoZ2RiX3N0ZG91dCwKKy0JCQlfKCJUeXBlIGNoZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5 ICVzXCIuXG4iKSwKKy0JCQl0bXApOworLSAgICB9CistICBlbHNlCistICAgIGZwcmludGZfZmls dGVyZWQgKGdkYl9zdGRvdXQsIF8oIlR5cGUgY2hlY2tpbmcgaXMgXCIlc1wiLlxuIiksCistCQkg ICAgICB2YWx1ZSk7CistCistICAgaWYgKHR5cGVfY2hlY2sgIT0gY3VycmVudF9sYW5ndWFnZS0+ bGFfdHlwZV9jaGVjaykKKy0gICAgd2FybmluZyAoXygidGhlIGN1cnJlbnQgdHlwZSBjaGVjayBz ZXR0aW5nIgorLQkgICAgICAgIiBkb2VzIG5vdCBtYXRjaCB0aGUgbGFuZ3VhZ2UuXG4iKSk7Cist fQorLQorLS8qIFNldCBjb21tYW5kLiAgQ2hhbmdlIHRoZSBzZXR0aW5nIGZvciB0eXBlIGNoZWNr aW5nLiAgKi8KKy1zdGF0aWMgdm9pZAorLXNldF90eXBlX2NvbW1hbmQgKGNoYXIgKmlnbm9yZSwg aW50IGZyb21fdHR5LCBzdHJ1Y3QgY21kX2xpc3RfZWxlbWVudCAqYykKKy17CistICBpZiAoc3Ry Y21wICh0eXBlLCAib24iKSA9PSAwKQorLSAgICB7CistICAgICAgdHlwZV9jaGVjayA9IHR5cGVf Y2hlY2tfb247CistICAgICAgdHlwZV9tb2RlID0gdHlwZV9tb2RlX21hbnVhbDsKKy0gICAgfQor LSAgZWxzZSBpZiAoc3RyY21wICh0eXBlLCAid2FybiIpID09IDApCistICAgIHsKKy0gICAgICB0 eXBlX2NoZWNrID0gdHlwZV9jaGVja193YXJuOworLSAgICAgIHR5cGVfbW9kZSA9IHR5cGVfbW9k ZV9tYW51YWw7CistICAgIH0KKy0gIGVsc2UgaWYgKHN0cmNtcCAodHlwZSwgIm9mZiIpID09IDAp CistICAgIHsKKy0gICAgICB0eXBlX2NoZWNrID0gdHlwZV9jaGVja19vZmY7CistICAgICAgdHlw ZV9tb2RlID0gdHlwZV9tb2RlX21hbnVhbDsKKy0gICAgfQorLSAgZWxzZSBpZiAoc3RyY21wICh0 eXBlLCAiYXV0byIpID09IDApCistICAgIHsKKy0gICAgICB0eXBlX21vZGUgPSB0eXBlX21vZGVf YXV0bzsKKy0gICAgICBzZXRfdHlwZV9yYW5nZV9jYXNlICgpOworLSAgICAgIHJldHVybjsKKy0g ICAgfQorLSAgZWxzZQorLSAgICBpbnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLAor LQkJICAgIF8oIlVucmVjb2duaXplZCB0eXBlIGNoZWNrIHNldHRpbmc6IFwiJXNcIiIpLCB0eXBl KTsKKy0KKy0gIGlmICh0eXBlX2NoZWNrICE9IGN1cnJlbnRfbGFuZ3VhZ2UtPmxhX3R5cGVfY2hl Y2spCistICAgIHdhcm5pbmcgKF8oInRoZSBjdXJyZW50IHR5cGUgY2hlY2sgc2V0dGluZyIKKy0J ICAgICAgICIgZG9lcyBub3QgbWF0Y2ggdGhlIGxhbmd1YWdlLlxuIikpOworLX0KKy0KKyAvKiBT aG93IGNvbW1hbmQuICBEaXNwbGF5IGEgd2FybmluZyBpZiB0aGUgcmFuZ2Ugc2V0dGluZyBkb2Vz CisgICAgbm90IG1hdGNoIHRoZSBjdXJyZW50IGxhbmd1YWdlLiAgKi8KKyBzdGF0aWMgdm9pZAor QEAgLTMyMCw3ICsyNDUsNyBAQCBzZXRfcmFuZ2VfY29tbWFuZCAoY2hhciAqaWdub3JlLCBpbnQg ZnJvCisgICBlbHNlIGlmIChzdHJjbXAgKHJhbmdlLCAiYXV0byIpID09IDApCisgICAgIHsKKyAg ICAgICByYW5nZV9tb2RlID0gcmFuZ2VfbW9kZV9hdXRvOworLSAgICAgIHNldF90eXBlX3Jhbmdl X2Nhc2UgKCk7CisrICAgICAgc2V0X3JhbmdlX2Nhc2UgKCk7CisgICAgICAgcmV0dXJuOworICAg ICB9CisgICBlbHNlCitAQCAtMzg5LDcgKzMxNCw3IEBAIHNldF9jYXNlX2NvbW1hbmQgKGNoYXIg Kmlnbm9yZSwgaW50IGZyb20KKyAgICBlbHNlIGlmIChzdHJjbXAgKGNhc2Vfc2Vuc2l0aXZlLCAi YXV0byIpID09IDApCisgICAgICB7CisgICAgICAgIGNhc2VfbW9kZSA9IGNhc2VfbW9kZV9hdXRv OworLSAgICAgICBzZXRfdHlwZV9yYW5nZV9jYXNlICgpOworKyAgICAgICBzZXRfcmFuZ2VfY2Fz ZSAoKTsKKyAgICAgICAgcmV0dXJuOworICAgICAgfQorICAgIGVsc2UKK0BAIC00MDksMTQgKzMz NCwxMSBAQCBzZXRfY2FzZV9jb21tYW5kIChjaGFyICppZ25vcmUsIGludCBmcm9tCisgICAgSWYg U0hPVyBpcyBub24temVybywgdGhlbiBwcmludCBvdXQgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UsCisg ICAgdHlwZSBhbmQgcmFuZ2UgY2hlY2tpbmcgc3RhdHVzLiAgKi8KKyBzdGF0aWMgdm9pZAorLXNl dF90eXBlX3JhbmdlX2Nhc2UgKHZvaWQpCisrc2V0X3JhbmdlX2Nhc2UgKHZvaWQpCisgeworICAg aWYgKHJhbmdlX21vZGUgPT0gcmFuZ2VfbW9kZV9hdXRvKQorICAgICByYW5nZV9jaGVjayA9IGN1 cnJlbnRfbGFuZ3VhZ2UtPmxhX3JhbmdlX2NoZWNrOworIAorLSAgaWYgKHR5cGVfbW9kZSA9PSB0 eXBlX21vZGVfYXV0bykKKy0gICAgdHlwZV9jaGVjayA9IGN1cnJlbnRfbGFuZ3VhZ2UtPmxhX3R5 cGVfY2hlY2s7CistCisgICBpZiAoY2FzZV9tb2RlID09IGNhc2VfbW9kZV9hdXRvKQorICAgICBj YXNlX3NlbnNpdGl2aXR5ID0gY3VycmVudF9sYW5ndWFnZS0+bGFfY2FzZV9zZW5zaXRpdml0eTsK KyB9CitAQCAtNDM3LDcgKzM1OSw3IEBAIHNldF9sYW5ndWFnZSAoZW51bSBsYW5ndWFnZSBsYW5n KQorICAgICAgIGlmIChsYW5ndWFnZXNbaV0tPmxhX2xhbmd1YWdlID09IGxhbmcpCisgCXsKKyAJ ICBjdXJyZW50X2xhbmd1YWdlID0gbGFuZ3VhZ2VzW2ldOworLQkgIHNldF90eXBlX3JhbmdlX2Nh c2UgKCk7CisrCSAgc2V0X3JhbmdlX2Nhc2UgKCk7CisgCSAgYnJlYWs7CisgCX0KKyAgICAgfQor QEAgLTQ2MSw4ICszODMsNiBAQCBsYW5ndWFnZV9pbmZvIChpbnQgcXVpZXRseSkKKyAKKyAgIGlm ICghcXVpZXRseSkKKyAgICAgeworLSAgICAgIHByaW50Zl91bmZpbHRlcmVkIChfKCJUeXBlIGNo ZWNraW5nOiAgICAgJXNcbiIpLCB0eXBlKTsKKy0gICAgICBzaG93X3R5cGVfY29tbWFuZCAoTlVM TCwgMSwgTlVMTCwgTlVMTCk7CisgICAgICAgcHJpbnRmX3VuZmlsdGVyZWQgKF8oIlJhbmdlIGNo ZWNraW5nOiAgICAlc1xuIiksIHJhbmdlKTsKKyAgICAgICBzaG93X3JhbmdlX2NvbW1hbmQgKE5V TEwsIDEsIE5VTEwsIE5VTEwpOworICAgICAgIHByaW50Zl91bmZpbHRlcmVkIChfKCJDYXNlIHNl bnNpdGl2aXR5OiAgJXNcbiIpLCBjYXNlX3NlbnNpdGl2ZSk7CitAQCAtNTAwLDM4ICs0MjAsMTEg QEAgdmFsdWVfdHJ1ZSAoc3RydWN0IHZhbHVlICp2YWwpCisgICAgZXJyb3IgbWVzc2FnZXMgdGhh dCBvY2N1ciBkdXJpbmcgdHlwZS0gYW5kIHJhbmdlLQorICAgIGNoZWNraW5nLiAgKi8KKyAKKy0v KiBUaGVzZSBhcmUgY2FsbGVkIHdoZW4gYSBsYW5ndWFnZSBmYWlscyBhIHR5cGUtIG9yIHJhbmdl LWNoZWNrLiAgVGhlCisrLyogVGhpcyBpcyBjYWxsZWQgd2hlbiBhIGxhbmd1YWdlIGZhaWxzIGEg cmFuZ2UtY2hlY2suICBUaGUKKyAgICBmaXJzdCBhcmd1bWVudCBzaG91bGQgYmUgYSBwcmludGYo KS1zdHlsZSBmb3JtYXQgc3RyaW5nLCBhbmQgdGhlCistICAgcmVzdCBvZiB0aGUgYXJndW1lbnRz IHNob3VsZCBiZSBpdHMgYXJndW1lbnRzLiAgSWYKKy0gICBbdHlwZXxyYW5nZV1fY2hlY2sgaXMg W3R5cGV8cmFuZ2VdX2NoZWNrX29uLCBhbiBlcnJvciBpcyBwcmludGVkOworLSAgIGlmIFt0eXBl fHJhbmdlXV9jaGVja193YXJuLCBhIHdhcm5pbmc7IG90aGVyd2lzZSBqdXN0IHRoZQorLSAgIG1l c3NhZ2UuICAqLworLQorLXZvaWQKKy10eXBlX2Vycm9yIChjb25zdCBjaGFyICpzdHJpbmcsLi4u KQorLXsKKy0gIHZhX2xpc3QgYXJnczsKKy0KKy0gIHZhX3N0YXJ0IChhcmdzLCBzdHJpbmcpOwor LSAgc3dpdGNoICh0eXBlX2NoZWNrKQorLSAgICB7CistICAgIGNhc2UgdHlwZV9jaGVja193YXJu OgorLSAgICAgIHZ3YXJuaW5nIChzdHJpbmcsIGFyZ3MpOworLSAgICAgIGJyZWFrOworLSAgICBj YXNlIHR5cGVfY2hlY2tfb246CistICAgICAgdmVycm9yIChzdHJpbmcsIGFyZ3MpOworLSAgICAg IGJyZWFrOworLSAgICBjYXNlIHR5cGVfY2hlY2tfb2ZmOgorLSAgICAgIC8qIEZJWE1FOiBjYWdu ZXkvMjAwMi0wMS0zMDogU2hvdWxkIHRoaXMgZnVuY3Rpb24gcHJpbnQgYW55dGhpbmcKKy0gICAg ICAgICB3aGVuIHR5cGUgZXJyb3IgaXMgb2ZmPyAgKi8KKy0gICAgICB2ZnByaW50Zl9maWx0ZXJl ZCAoZ2RiX3N0ZGVyciwgc3RyaW5nLCBhcmdzKTsKKy0gICAgICBmcHJpbnRmX2ZpbHRlcmVkIChn ZGJfc3RkZXJyLCAiXG4iKTsKKy0gICAgICBicmVhazsKKy0gICAgZGVmYXVsdDoKKy0gICAgICBp bnRlcm5hbF9lcnJvciAoX19GSUxFX18sIF9fTElORV9fLCBfKCJiYWQgc3dpdGNoIikpOworLSAg ICB9CistICB2YV9lbmQgKGFyZ3MpOworLX0KKysgICByZXN0IG9mIHRoZSBhcmd1bWVudHMgc2hv dWxkIGJlIGl0cyBhcmd1bWVudHMuICBJZiByYW5nZV9jaGVjayBpcworKyAgIHJhbmdlX2NoZWNr X29uLCBhbiBlcnJvciBpcyBwcmludGVkOyAgaWYgcmFuZ2VfY2hlY2tfd2FybiwgYSB3YXJuaW5n OworKyAgIG90aGVyd2lzZSBqdXN0IHRoZSBtZXNzYWdlLiAgKi8KKyAKKyB2b2lkCisgcmFuZ2Vf ZXJyb3IgKGNvbnN0IGNoYXIgKnN0cmluZywuLi4pCitAQCAtOTAyLDcgKzc5NSw2IEBAIGNvbnN0 IHN0cnVjdCBsYW5ndWFnZV9kZWZuIHVua25vd25fbGFuZ3UKKyAgICJ1bmtub3duIiwKKyAgIGxh bmd1YWdlX3Vua25vd24sCisgICByYW5nZV9jaGVja19vZmYsCistICB0eXBlX2NoZWNrX29mZiwK KyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAgYXJyYXlfcm93X21ham9yLAorICAgbWFjcm9fZXhw YW5zaW9uX25vLAorQEAgLTk0Niw3ICs4MzgsNiBAQCBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVm biBhdXRvX2xhbmd1YWdlCisgICAiYXV0byIsCisgICBsYW5ndWFnZV9hdXRvLAorICAgcmFuZ2Vf Y2hlY2tfb2ZmLAorLSAgdHlwZV9jaGVja19vZmYsCisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAg IGFycmF5X3Jvd19tYWpvciwKKyAgIG1hY3JvX2V4cGFuc2lvbl9ubywKK0BAIC05ODgsNyArODc5 LDYgQEAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gbG9jYWxfbGFuZ3VhZworICAgImxvY2Fs IiwKKyAgIGxhbmd1YWdlX2F1dG8sCisgICByYW5nZV9jaGVja19vZmYsCistICB0eXBlX2NoZWNr X29mZiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAgYXJyYXlfcm93X21ham9yLAorICAgbWFj cm9fZXhwYW5zaW9uX25vLAorQEAgLTExMzUsMTMgKzEwMjUsNiBAQCBfaW5pdGlhbGl6ZV9sYW5n dWFnZSAodm9pZCkKKyAgIGFkZF9hbGlhc19jbWQgKCJjIiwgImNoZWNrIiwgbm9fY2xhc3MsIDEs ICZzaG93bGlzdCk7CisgICBhZGRfYWxpYXNfY21kICgiY2giLCAiY2hlY2siLCBub19jbGFzcywg MSwgJnNob3dsaXN0KTsKKyAKKy0gIGFkZF9zZXRzaG93X2VudW1fY21kICgidHlwZSIsIGNsYXNz X3N1cHBvcnQsIHR5cGVfb3JfcmFuZ2VfbmFtZXMsICZ0eXBlLAorLQkJCV8oIlNldCB0eXBlIGNo ZWNraW5nLiAgKG9uL3dhcm4vb2ZmL2F1dG8pIiksCistCQkJXygiU2hvdyB0eXBlIGNoZWNraW5n LiAgKG9uL3dhcm4vb2ZmL2F1dG8pIiksCistCQkJTlVMTCwgc2V0X3R5cGVfY29tbWFuZCwKKy0J CQlzaG93X3R5cGVfY29tbWFuZCwKKy0JCQkmc2V0Y2hlY2tsaXN0LCAmc2hvd2NoZWNrbGlzdCk7 CistCisgICBhZGRfc2V0c2hvd19lbnVtX2NtZCAoInJhbmdlIiwgY2xhc3Nfc3VwcG9ydCwgdHlw ZV9vcl9yYW5nZV9uYW1lcywKKyAJCQkmcmFuZ2UsCisgCQkJXygiU2V0IHJhbmdlIGNoZWNraW5n LiAgKG9uL3dhcm4vb2ZmL2F1dG8pIiksCitJbmRleDogZ2RiLTcuNS4wLjIwMTIwOTI2L2dkYi9h ZGEtbGFuZy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuNS4wLjIwMTIwOTI2Lm9yaWcvZ2RiL2Fk YS1sYW5nLmMJMjAxMi0wOS0yNyAyMjoxNDoxNy4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy41 LjAuMjAxMjA5MjYvZ2RiL2FkYS1sYW5nLmMJMjAxMi0wOS0yNyAyMjoxNDo0MS4xMTI2OTUyNDUg KzAyMDAKK0BAIC0xMjUwMyw3ICsxMjUwMyw2IEBAIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZu IGFkYV9sYW5ndWFnZV8KKyAgICJhZGEiLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIExhbmd1 YWdlIG5hbWUgKi8KKyAgIGxhbmd1YWdlX2FkYSwKKyAgIHJhbmdlX2NoZWNrX29mZiwKKy0gIHR5 cGVfY2hlY2tfb2ZmLAorICAgY2FzZV9zZW5zaXRpdmVfb24sICAgICAgICAgICAgLyogWWVzLCBB ZGEgaXMgY2FzZS1pbnNlbnNpdGl2ZSwgYnV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0aGF0J3Mgbm90IHF1aXRlIHdoYXQgdGhpcyBtZWFucy4gICovCisgICBhcnJheV9y b3dfbWFqb3IsCitJbmRleDogZ2RiLTcuNS4wLjIwMTIwOTI2L2dkYi9jLWxhbmcuYworPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5vcmlnL2dkYi9jLWxhbmcuYwkyMDEyLTA3LTA2 IDA3OjQ2OjA0LjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvYy1s YW5nLmMJMjAxMi0wOS0yNyAyMjoxNDo0MS4xNDE2OTUyNTcgKzAyMDAKK0BAIC04MzEsNyArODMx LDYgQEAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gY19sYW5ndWFnZV9kZQorICAgImMiLAkJ CQkvKiBMYW5ndWFnZSBuYW1lICovCisgICBsYW5ndWFnZV9jLAorICAgcmFuZ2VfY2hlY2tfb2Zm LAorLSAgdHlwZV9jaGVja19vZmYsCisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAgIGFycmF5X3Jv d19tYWpvciwKKyAgIG1hY3JvX2V4cGFuc2lvbl9jLAorQEAgLTk1NSw3ICs5NTQsNiBAQCBjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiBjcGx1c19sYW5ndWFnCisgICAiYysrIiwJCQkvKiBMYW5n dWFnZSBuYW1lICovCisgICBsYW5ndWFnZV9jcGx1cywKKyAgIHJhbmdlX2NoZWNrX29mZiwKKy0g IHR5cGVfY2hlY2tfb2ZmLAorICAgY2FzZV9zZW5zaXRpdmVfb24sCisgICBhcnJheV9yb3dfbWFq b3IsCisgICBtYWNyb19leHBhbnNpb25fYywKK0BAIC05OTcsNyArOTk1LDYgQEAgY29uc3Qgc3Ry dWN0IGxhbmd1YWdlX2RlZm4gYXNtX2xhbmd1YWdlXworICAgImFzbSIsCQkJLyogTGFuZ3VhZ2Ug bmFtZSAqLworICAgbGFuZ3VhZ2VfYXNtLAorICAgcmFuZ2VfY2hlY2tfb2ZmLAorLSAgdHlwZV9j aGVja19vZmYsCisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAgIGFycmF5X3Jvd19tYWpvciwKKyAg IG1hY3JvX2V4cGFuc2lvbl9jLAorQEAgLTEwNDQsNyArMTA0MSw2IEBAIGNvbnN0IHN0cnVjdCBs YW5ndWFnZV9kZWZuIG1pbmltYWxfbGFuZ3UKKyAgICJtaW5pbWFsIiwJCQkvKiBMYW5ndWFnZSBu YW1lICovCisgICBsYW5ndWFnZV9taW5pbWFsLAorICAgcmFuZ2VfY2hlY2tfb2ZmLAorLSAgdHlw ZV9jaGVja19vZmYsCisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAgIGFycmF5X3Jvd19tYWpvciwK KyAgIG1hY3JvX2V4cGFuc2lvbl9jLAorSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvZC1s YW5nLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy41LjAuMjAxMjA5MjYub3JpZy9nZGIvZC1sYW5n LmMJMjAxMi0wMy0xNSAxNTowNjoyMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGItNy41LjAuMjAx MjA5MjYvZ2RiL2QtbGFuZy5jCTIwMTItMDktMjcgMjI6MTQ6NDEuMTQzNjk1MjU3ICswMjAwCitA QCAtMjQwLDcgKzI0MCw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiBkX2xh bmcKKyAgICJkIiwKKyAgIGxhbmd1YWdlX2QsCisgICByYW5nZV9jaGVja19vZmYsCistICB0eXBl X2NoZWNrX29mZiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAgYXJyYXlfcm93X21ham9yLAor ICAgbWFjcm9fZXhwYW5zaW9uX2MsCitJbmRleDogZ2RiLTcuNS4wLjIwMTIwOTI2L2dkYi9mLWxh bmcuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5vcmlnL2dkYi9mLWxhbmcu YwkyMDEyLTA5LTI3IDIyOjE0OjIzLjAwMDAwMDAwMCArMDIwMAorKysrIGdkYi03LjUuMC4yMDEy MDkyNi9nZGIvZi1sYW5nLmMJMjAxMi0wOS0yNyAyMjoxNDo0MS4xNTE2OTUyNjAgKzAyMDAKK0BA IC0yNjAsNyArMjYwLDYgQEAgY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gZl9sYW5ndWFnZV9k ZQorICAgImZvcnRyYW4iLAorICAgbGFuZ3VhZ2VfZm9ydHJhbiwKKyAgIHJhbmdlX2NoZWNrX29u LAorLSAgdHlwZV9jaGVja19vbiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29mZiwKKyAgIGFycmF5X2Nv bHVtbl9tYWpvciwKKyAgIG1hY3JvX2V4cGFuc2lvbl9ubywKK0luZGV4OiBnZGItNy41LjAuMjAx MjA5MjYvZ2RiL2dvLWxhbmcuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5v cmlnL2dkYi9nby1sYW5nLmMJMjAxMi0wNC0yNSAxNjowNzoyMC4wMDAwMDAwMDAgKzAyMDAKKysr KyBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL2dvLWxhbmcuYwkyMDEyLTA5LTI3IDIyOjE0OjQxLjE1 MjY5NTI2MSArMDIwMAorQEAgLTU2Miw3ICs1NjIsNiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGxh bmd1YWdlX2RlZm4gZ29fbGFuCisgICAiZ28iLAorICAgbGFuZ3VhZ2VfZ28sCisgICByYW5nZV9j aGVja19vZmYsCistICB0eXBlX2NoZWNrX29mZiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAg YXJyYXlfcm93X21ham9yLAorICAgbWFjcm9fZXhwYW5zaW9uX25vLAorSW5kZXg6IGdkYi03LjUu MC4yMDEyMDkyNi9nZGIvanYtbGFuZy5jCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuNS4wLjIwMTIw OTI2Lm9yaWcvZ2RiL2p2LWxhbmcuYwkyMDEyLTA5LTI3IDIyOjE0OjIzLjAwMDAwMDAwMCArMDIw MAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvanYtbGFuZy5jCTIwMTItMDktMjcgMjI6MTQ6 NDEuMTU0Njk1MjYzICswMjAwCitAQCAtMTE2OSw3ICsxMTY5LDYgQEAgY29uc3Qgc3RydWN0IGxh bmd1YWdlX2RlZm4gamF2YV9sYW5ndWFnZQorICAgImphdmEiLAkJCS8qIExhbmd1YWdlIG5hbWUg Ki8KKyAgIGxhbmd1YWdlX2phdmEsCisgICByYW5nZV9jaGVja19vZmYsCistICB0eXBlX2NoZWNr X29mZiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAgYXJyYXlfcm93X21ham9yLAorICAgbWFj cm9fZXhwYW5zaW9uX25vLAorSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvbTItbGFuZy5j Cis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09CistLS0gZ2RiLTcuNS4wLjIwMTIwOTI2Lm9yaWcvZ2RiL20yLWxhbmcuYwky MDEyLTAzLTAyIDIwOjI5OjAxLjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuMC4yMDEyMDky Ni9nZGIvbTItbGFuZy5jCTIwMTItMDktMjcgMjI6MTQ6NDEuMTYxNjk1MjY2ICswMjAwCitAQCAt MzcwLDcgKzM3MCw2IEBAIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuIG0yX2xhbmd1YWdlX2QK KyAgICJtb2R1bGEtMiIsCisgICBsYW5ndWFnZV9tMiwKKyAgIHJhbmdlX2NoZWNrX29uLAorLSAg dHlwZV9jaGVja19vbiwKKyAgIGNhc2Vfc2Vuc2l0aXZlX29uLAorICAgYXJyYXlfcm93X21ham9y LAorICAgbWFjcm9fZXhwYW5zaW9uX25vLAorSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIv b2JqYy1sYW5nLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy41LjAuMjAxMjA5MjYub3JpZy9nZGIv b2JqYy1sYW5nLmMJMjAxMi0wMy0wMiAyMDoyOTowMS4wMDAwMDAwMDAgKzAxMDAKKysrKyBnZGIt Ny41LjAuMjAxMjA5MjYvZ2RiL29iamMtbGFuZy5jCTIwMTItMDktMjcgMjI6MTQ6NDEuMTYzNjk1 MjY4ICswMjAwCitAQCAtNTA5LDcgKzUwOSw2IEBAIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZu IG9iamNfbGFuZ3VhZ2UKKyAgICJvYmplY3RpdmUtYyIsCQkvKiBMYW5ndWFnZSBuYW1lICovCisg ICBsYW5ndWFnZV9vYmpjLAorICAgcmFuZ2VfY2hlY2tfb2ZmLAorLSAgdHlwZV9jaGVja19vZmYs CisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAgIGFycmF5X3Jvd19tYWpvciwKKyAgIG1hY3JvX2V4 cGFuc2lvbl9jLAorSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvb3BlbmNsLWxhbmcuYwor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5vcmlnL2dkYi9vcGVuY2wtbGFuZy5j CTIwMTItMDMtMDIgMjA6Mjk6MDEuMDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS4wLjIwMTIw OTI2L2dkYi9vcGVuY2wtbGFuZy5jCTIwMTItMDktMjcgMjI6MTQ6NDEuMTY1Njk1MjY4ICswMjAw CitAQCAtOTkzLDcgKzk5Myw2IEBAIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuIG9wZW5jbF9s YW5ndWEKKyAgICJvcGVuY2wiLAkJCS8qIExhbmd1YWdlIG5hbWUgKi8KKyAgIGxhbmd1YWdlX29w ZW5jbCwKKyAgIHJhbmdlX2NoZWNrX29mZiwKKy0gIHR5cGVfY2hlY2tfb2ZmLAorICAgY2FzZV9z ZW5zaXRpdmVfb24sCisgICBhcnJheV9yb3dfbWFqb3IsCisgICBtYWNyb19leHBhbnNpb25fYywK K0luZGV4OiBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL3AtbGFuZy5jCis9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0g Z2RiLTcuNS4wLjIwMTIwOTI2Lm9yaWcvZ2RiL3AtbGFuZy5jCTIwMTItMDMtMDIgMjA6Mjk6MDEu MDAwMDAwMDAwICswMTAwCisrKysgZ2RiLTcuNS4wLjIwMTIwOTI2L2dkYi9wLWxhbmcuYwkyMDEy LTA5LTI3IDIyOjE0OjQxLjE3MDY5NTI3MCArMDIwMAorQEAgLTQyOSw3ICs0MjksNiBAQCBjb25z dCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVmbiBwYXNjYWxfbGFuZ3VhCisgICAicGFzY2FsIiwJCQkvKiBM YW5ndWFnZSBuYW1lICovCisgICBsYW5ndWFnZV9wYXNjYWwsCisgICByYW5nZV9jaGVja19vbiwK Ky0gIHR5cGVfY2hlY2tfb24sCisgICBjYXNlX3NlbnNpdGl2ZV9vbiwKKyAgIGFycmF5X3Jvd19t YWpvciwKKyAgIG1hY3JvX2V4cGFuc2lvbl9ubywKK0luZGV4OiBnZGItNy41LjAuMjAxMjA5MjYv Z2RiL2RvYy9nZGIudGV4aW5mbworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5v cmlnL2dkYi9kb2MvZ2RiLnRleGluZm8JMjAxMi0wOS0yNyAyMjoxNDoyMy4wMDAwMDAwMDAgKzAy MDAKKysrKyBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL2RvYy9nZGIudGV4aW5mbwkyMDEyLTA5LTI3 IDIyOjE0OjQxLjE4ODY5NTI3OSArMDIwMAorQEAgLTEyNjQ4LDI5ICsxMjY0OCwxOCBAQCBMaXN0 IGFsbCB0aGUgZmlsZW5hbWUgZXh0ZW5zaW9ucyBhbmQgdGhlCisgQG5vZGUgQ2hlY2tzCisgQHNl Y3Rpb24gVHlwZSBhbmQgUmFuZ2UgQ2hlY2tpbmcKKyAKKy1AcXVvdGF0aW9uCistQGVtcGh7V2Fy bmluZzp9IEluIHRoaXMgcmVsZWFzZSwgdGhlIEB2YWx1ZXtHREJOfSBjb21tYW5kcyBmb3IgdHlw ZSBhbmQgcmFuZ2UKKy1jaGVja2luZyBhcmUgaW5jbHVkZWQsIGJ1dCB0aGV5IGRvIG5vdCB5ZXQg aGF2ZSBhbnkgZWZmZWN0LiAgVGhpcworLXNlY3Rpb24gZG9jdW1lbnRzIHRoZSBpbnRlbmRlZCBm YWNpbGl0aWVzLgorLUBlbmQgcXVvdGF0aW9uCistQGMgRklYTUUgcmVtb3ZlIHdhcm5pbmcgd2hl biB0eXBlL3JhbmdlIGNvZGUgYWRkZWQKKy0KKyBTb21lIGxhbmd1YWdlcyBhcmUgZGVzaWduZWQg dG8gZ3VhcmQgeW91IGFnYWluc3QgbWFraW5nIHNlZW1pbmdseSBjb21tb24KKyBlcnJvcnMgdGhy b3VnaCBhIHNlcmllcyBvZiBjb21waWxlLSBhbmQgcnVuLXRpbWUgY2hlY2tzLiAgVGhlc2UgaW5j bHVkZQorLWNoZWNraW5nIHRoZSB0eXBlIG9mIGFyZ3VtZW50cyB0byBmdW5jdGlvbnMgYW5kIG9w ZXJhdG9ycywgYW5kIG1ha2luZworK2NoZWNraW5nIHRoZSB0eXBlIG9mIGFyZ3VtZW50cyB0byBm dW5jdGlvbnMgYW5kIG9wZXJhdG9ycyBhbmQgbWFraW5nCisgc3VyZSBtYXRoZW1hdGljYWwgb3Zl cmZsb3dzIGFyZSBjYXVnaHQgYXQgcnVuIHRpbWUuICBDaGVja3Mgc3VjaCBhcworIHRoZXNlIGhl bHAgdG8gZW5zdXJlIGEgcHJvZ3JhbSdzIGNvcnJlY3RuZXNzIG9uY2UgaXQgaGFzIGJlZW4gY29t cGlsZWQKKy1ieSBlbGltaW5hdGluZyB0eXBlIG1pc21hdGNoZXMsIGFuZCBwcm92aWRpbmcgYWN0 aXZlIGNoZWNrcyBmb3IgcmFuZ2UKKytieSBlbGltaW5hdGluZyB0eXBlIG1pc21hdGNoZXMgYW5k IHByb3ZpZGluZyBhY3RpdmUgY2hlY2tzIGZvciByYW5nZQorIGVycm9ycyB3aGVuIHlvdXIgcHJv Z3JhbSBpcyBydW5uaW5nLgorIAorLUB2YWx1ZXtHREJOfSBjYW4gY2hlY2sgZm9yIGNvbmRpdGlv bnMgbGlrZSB0aGUgYWJvdmUgaWYgeW91IHdpc2guCistQWx0aG91Z2ggQHZhbHVle0dEQk59IGRv ZXMgbm90IGNoZWNrIHRoZSBzdGF0ZW1lbnRzIGluIHlvdXIgcHJvZ3JhbSwKKy1pdCBjYW4gY2hl Y2sgZXhwcmVzc2lvbnMgZW50ZXJlZCBkaXJlY3RseSBpbnRvIEB2YWx1ZXtHREJOfSBmb3IKKy1l dmFsdWF0aW9uIHZpYSB0aGUgQGNvZGV7cHJpbnR9IGNvbW1hbmQsIGZvciBleGFtcGxlLiAgQXMg d2l0aCB0aGUKKy13b3JraW5nIGxhbmd1YWdlLCBAdmFsdWV7R0RCTn0gY2FuIGFsc28gZGVjaWRl IHdoZXRoZXIgb3Igbm90IHRvIGNoZWNrCistYXV0b21hdGljYWxseSBiYXNlZCBvbiB5b3VyIHBy b2dyYW0ncyBzb3VyY2UgbGFuZ3VhZ2UuCistQHhyZWZ7U3VwcG9ydGVkIExhbmd1YWdlcywgLFN1 cHBvcnRlZCBMYW5ndWFnZXN9LCBmb3IgdGhlIGRlZmF1bHQKKy1zZXR0aW5ncyBvZiBzdXBwb3J0 ZWQgbGFuZ3VhZ2VzLgorK0J5IGRlZmF1bHQgQHZhbHVle0dEQk59IGNoZWNrcyBmb3IgdGhlc2Ug ZXJyb3JzIGFjY29yZGluZyB0byB0aGUKKytydWxlcyBvZiB0aGUgY3VycmVudCBzb3VyY2UgbGFu Z3VhZ2UuICBBbHRob3VnaCBAdmFsdWV7R0RCTn0gZG9lcyBub3QgY2hlY2sKKyt0aGUgc3RhdGVt ZW50cyBpbiB5b3VyIHByb2dyYW0sIGl0IGNhbiBjaGVjayBleHByZXNzaW9ucyBlbnRlcmVkIGRp cmVjdGx5CisraW50byBAdmFsdWV7R0RCTn0gZm9yIGV2YWx1YXRpb24gdmlhIHRoZSBAY29kZXtw cmludH0gY29tbWFuZCwgZm9yIGV4YW1wbGUuCisgCisgQG1lbnUKKyAqIFR5cGUgQ2hlY2tpbmc6 OiAgICAgICAgICAgICAgIEFuIG92ZXJ2aWV3IG9mIHR5cGUgY2hlY2tpbmcKK0BAIC0xMjY4Miw2 OSArMTI2NzEsNTEgQEAgc2V0dGluZ3Mgb2Ygc3VwcG9ydGVkIGxhbmd1YWdlcy4KKyBAbm9kZSBU eXBlIENoZWNraW5nCisgQHN1YnNlY3Rpb24gQW4gT3ZlcnZpZXcgb2YgVHlwZSBDaGVja2luZwor IAorLVNvbWUgbGFuZ3VhZ2VzLCBzdWNoIGFzIE1vZHVsYS0yLCBhcmUgc3Ryb25nbHkgdHlwZWQs IG1lYW5pbmcgdGhhdCB0aGUKKytTb21lIGxhbmd1YWdlcywgc3VjaCBhcyBDIGFuZCBDQHR7Kyt9 LCBhcmUgc3Ryb25nbHkgdHlwZWQsIG1lYW5pbmcgdGhhdCB0aGUKKyBhcmd1bWVudHMgdG8gb3Bl cmF0b3JzIGFuZCBmdW5jdGlvbnMgaGF2ZSB0byBiZSBvZiB0aGUgY29ycmVjdCB0eXBlLAorIG90 aGVyd2lzZSBhbiBlcnJvciBvY2N1cnMuICBUaGVzZSBjaGVja3MgcHJldmVudCB0eXBlIG1pc21h dGNoCisgZXJyb3JzIGZyb20gZXZlciBjYXVzaW5nIGFueSBydW4tdGltZSBwcm9ibGVtcy4gIEZv ciBleGFtcGxlLAorIAorIEBzbWFsbGV4YW1wbGUKKy0xICsgMiBAcmVzdWx0e30gMworK2ludCBr bGFzczo6bXlfbWV0aG9kKGNoYXIgKmIpIEB7IHJldHVybiAgYiA/IDEgOiAyOyBAfQorKworKyhA dmFsdWV7R0RCUH0pIHByaW50IG9iai5teV9tZXRob2QgKDApCisrJDEgPSAyCisgQGV4ZGVudCBi dXQKKy1AZXJyb3J7fSAxICsgMi4zCisrKEB2YWx1ZXtHREJQfSkgcHJpbnQgb2JqLm15X21ldGhv ZCAoMHgxMjM0KQorK0Nhbm5vdCByZXNvbHZlIG1ldGhvZCBrbGFzczo6bXlfbWV0aG9kIHRvIGFu eSBvdmVybG9hZGVkIGluc3RhbmNlCisgQGVuZCBzbWFsbGV4YW1wbGUKKyAKKy1UaGUgc2Vjb25k IGV4YW1wbGUgZmFpbHMgYmVjYXVzZSB0aGUgQGNvZGV7Q0FSRElOQUx9IDEgaXMgbm90CistdHlw ZS1jb21wYXRpYmxlIHdpdGggdGhlIEBjb2Rle1JFQUx9IDIuMy4KKytUaGUgc2Vjb25kIGV4YW1w bGUgZmFpbHMgYmVjYXVzZSBpbiBDQHR7Kyt9IHRoZSBpbnRlZ2VyIGNvbnN0YW50CisrQHNhbXB7 MHgxMjM0fSBpcyBub3QgdHlwZS1jb21wYXRpYmxlIHdpdGggdGhlIHBvaW50ZXIgcGFyYW1ldGVy IHR5cGUuCisgCistRm9yIHRoZSBleHByZXNzaW9ucyB5b3UgdXNlIGluIEB2YWx1ZXtHREJOfSBj b21tYW5kcywgeW91IGNhbiB0ZWxsIHRoZQorLUB2YWx1ZXtHREJOfSB0eXBlIGNoZWNrZXIgdG8g c2tpcCBjaGVja2luZzsKKytGb3IgdGhlIGV4cHJlc3Npb25zIHlvdSB1c2UgaW4gQHZhbHVle0dE Qk59IGNvbW1hbmRzLCB5b3UgY2FuIHRlbGwKKytAdmFsdWV7R0RCTn0gdG8gbm90IGVuZm9yY2Ug c3RyaWN0IHR5cGUgY2hlY2tpbmcgb3IKKyB0byB0cmVhdCBhbnkgbWlzbWF0Y2hlcyBhcyBlcnJv cnMgYW5kIGFiYW5kb24gdGhlIGV4cHJlc3Npb247Cistb3IgdG8gb25seSBpc3N1ZSB3YXJuaW5n cyB3aGVuIHR5cGUgbWlzbWF0Y2hlcyBvY2N1ciwKKy1idXQgZXZhbHVhdGUgdGhlIGV4cHJlc3Np b24gYW55d2F5LiAgV2hlbiB5b3UgY2hvb3NlIHRoZSBsYXN0IG9mCistdGhlc2UsIEB2YWx1ZXtH REJOfSBldmFsdWF0ZXMgZXhwcmVzc2lvbnMgbGlrZSB0aGUgc2Vjb25kIGV4YW1wbGUgYWJvdmUs IGJ1dAorLWFsc28gaXNzdWVzIGEgd2FybmluZy4KKytXaGVuIHR5cGUgY2hlY2tpbmcgaXMgZGlz YWJsZWQsIEB2YWx1ZXtHREJOfSBzdWNjZXNzZnVsbHkgZXZhbHVhdGVzCisrZXhwcmVzc2lvbnMg bGlrZSB0aGUgc2Vjb25kIGV4YW1wbGUgYWJvdmUuCisgCistRXZlbiBpZiB5b3UgdHVybiB0eXBl IGNoZWNraW5nIG9mZiwgdGhlcmUgbWF5IGJlIG90aGVyIHJlYXNvbnMKKytFdmVuIGlmIHR5cGUg Y2hlY2tpbmcgaXMgb2ZmLCB0aGVyZSBtYXkgYmUgb3RoZXIgcmVhc29ucworIHJlbGF0ZWQgdG8g dHlwZSB0aGF0IHByZXZlbnQgQHZhbHVle0dEQk59IGZyb20gZXZhbHVhdGluZyBhbiBleHByZXNz aW9uLgorIEZvciBpbnN0YW5jZSwgQHZhbHVle0dEQk59IGRvZXMgbm90IGtub3cgaG93IHRvIGFk ZCBhbiBAY29kZXtpbnR9IGFuZAorIGEgQGNvZGV7c3RydWN0IGZvb30uICBUaGVzZSBwYXJ0aWN1 bGFyIHR5cGUgZXJyb3JzIGhhdmUgbm90aGluZyB0byBkbworLXdpdGggdGhlIGxhbmd1YWdlIGlu IHVzZSwgYW5kIHVzdWFsbHkgYXJpc2UgZnJvbSBleHByZXNzaW9ucywgc3VjaCBhcworLXRoZSBv bmUgZGVzY3JpYmVkIGFib3ZlLCB3aGljaCBtYWtlIGxpdHRsZSBzZW5zZSB0byBldmFsdWF0ZSBh bnl3YXkuCistCistRWFjaCBsYW5ndWFnZSBkZWZpbmVzIHRvIHdoYXQgZGVncmVlIGl0IGlzIHN0 cmljdCBhYm91dCB0eXBlLiAgRm9yCistaW5zdGFuY2UsIGJvdGggTW9kdWxhLTIgYW5kIEMgcmVx dWlyZSB0aGUgYXJndW1lbnRzIHRvIGFyaXRobWV0aWNhbAorLW9wZXJhdG9ycyB0byBiZSBudW1i ZXJzLiAgSW4gQywgZW51bWVyYXRlZCB0eXBlcyBhbmQgcG9pbnRlcnMgY2FuIGJlCistcmVwcmVz ZW50ZWQgYXMgbnVtYmVycywgc28gdGhhdCB0aGV5IGFyZSB2YWxpZCBhcmd1bWVudHMgdG8gbWF0 aGVtYXRpY2FsCistb3BlcmF0b3JzLiAgQHhyZWZ7U3VwcG9ydGVkIExhbmd1YWdlcywgLFN1cHBv cnRlZCBMYW5ndWFnZXN9LCBmb3IgZnVydGhlcgorLWRldGFpbHMgb24gc3BlY2lmaWMgbGFuZ3Vh Z2VzLgorK3dpdGggdGhlIGxhbmd1YWdlIGluIHVzZSBhbmQgdXN1YWxseSBhcmlzZSBmcm9tIGV4 cHJlc3Npb25zIHdoaWNoIG1ha2UKKytsaXR0bGUgc2Vuc2UgdG8gZXZhbHVhdGUgYW55d2F5Lgor IAorLUB2YWx1ZXtHREJOfSBwcm92aWRlcyBzb21lIGFkZGl0aW9uYWwgY29tbWFuZHMgZm9yIGNv bnRyb2xsaW5nIHRoZSB0eXBlIGNoZWNrZXI6CisrQHZhbHVle0dEQk59IHByb3ZpZGVzIHNvbWUg YWRkaXRpb25hbCBjb21tYW5kcyBmb3IgY29udHJvbGxpbmcgdHlwZSBjaGVja2luZzoKKyAKKyBA a2luZGV4IHNldCBjaGVjayB0eXBlCisgQGtpbmRleCBzaG93IGNoZWNrIHR5cGUKKyBAdGFibGUg QGNvZGUKKy1AaXRlbSBzZXQgY2hlY2sgdHlwZSBhdXRvCistU2V0IHR5cGUgY2hlY2tpbmcgb24g b3Igb2ZmIGJhc2VkIG9uIHRoZSBjdXJyZW50IHdvcmtpbmcgbGFuZ3VhZ2UuCistQHhyZWZ7U3Vw cG9ydGVkIExhbmd1YWdlcywgLFN1cHBvcnRlZCBMYW5ndWFnZXN9LCBmb3IgdGhlIGRlZmF1bHQg c2V0dGluZ3MgZm9yCistZWFjaCBsYW5ndWFnZS4KKy0KKyBAaXRlbSBzZXQgY2hlY2sgdHlwZSBv bgorIEBpdGVteCBzZXQgY2hlY2sgdHlwZSBvZmYKKy1TZXQgdHlwZSBjaGVja2luZyBvbiBvciBv ZmYsIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQgc2V0dGluZyBmb3IgdGhlCistY3VycmVudCB3b3Jr aW5nIGxhbmd1YWdlLiAgSXNzdWUgYSB3YXJuaW5nIGlmIHRoZSBzZXR0aW5nIGRvZXMgbm90Cist bWF0Y2ggdGhlIGxhbmd1YWdlIGRlZmF1bHQuICBJZiBhbnkgdHlwZSBtaXNtYXRjaGVzIG9jY3Vy IGluCisrU2V0IHN0cmljdCB0eXBlIGNoZWNraW5nIG9uIG9yIG9mZi4gIElmIGFueSB0eXBlIG1p c21hdGNoZXMgb2NjdXIgaW4KKyBldmFsdWF0aW5nIGFuIGV4cHJlc3Npb24gd2hpbGUgdHlwZSBj aGVja2luZyBpcyBvbiwgQHZhbHVle0dEQk59IHByaW50cyBhCisgbWVzc2FnZSBhbmQgYWJvcnRz IGV2YWx1YXRpb24gb2YgdGhlIGV4cHJlc3Npb24uCisgCistQGl0ZW0gc2V0IGNoZWNrIHR5cGUg d2FybgorLUNhdXNlIHRoZSB0eXBlIGNoZWNrZXIgdG8gaXNzdWUgd2FybmluZ3MsIGJ1dCB0byBh bHdheXMgYXR0ZW1wdCB0bworLWV2YWx1YXRlIHRoZSBleHByZXNzaW9uLiAgRXZhbHVhdGluZyB0 aGUgZXhwcmVzc2lvbiBtYXkgc3RpbGwKKy1iZSBpbXBvc3NpYmxlIGZvciBvdGhlciByZWFzb25z LiAgRm9yIGV4YW1wbGUsIEB2YWx1ZXtHREJOfSBjYW5ub3QgYWRkCistbnVtYmVycyBhbmQgc3Ry dWN0dXJlcy4KKy0KKy1AaXRlbSBzaG93IHR5cGUKKy1TaG93IHRoZSBjdXJyZW50IHNldHRpbmcg b2YgdGhlIHR5cGUgY2hlY2tlciwgYW5kIHdoZXRoZXIgb3Igbm90IEB2YWx1ZXtHREJOfQorLWlz IHNldHRpbmcgaXQgYXV0b21hdGljYWxseS4KKytAaXRlbSBzaG93IGNoZWNrIHR5cGUKKytTaG93 IHRoZSBjdXJyZW50IHNldHRpbmcgb2YgdHlwZSBjaGVja2luZyBhbmQgd2hldGhlciBAdmFsdWV7 R0RCTn0KKytpcyBlbmZvcmNpbmcgc3RyaWN0IHR5cGUgY2hlY2tpbmcgcnVsZXMuCisgQGVuZCB0 YWJsZQorIAorIEBjaW5kZXggcmFuZ2UgY2hlY2tpbmcKK0BAIC0xMzE5NSw4ICsxMzE2Niw4IEBA IHNwZWNpZmljYXRpb24uCisgCisgQGNpbmRleCBDIGFuZCBDQHR7Kyt9IGRlZmF1bHRzCisgCist SWYgeW91IGFsbG93IEB2YWx1ZXtHREJOfSB0byBzZXQgdHlwZSBhbmQgcmFuZ2UgY2hlY2tpbmcg YXV0b21hdGljYWxseSwgdGhleQorLWJvdGggZGVmYXVsdCB0byBAY29kZXtvZmZ9IHdoZW5ldmVy IHRoZSB3b3JraW5nIGxhbmd1YWdlIGNoYW5nZXMgdG8KKytJZiB5b3UgYWxsb3cgQHZhbHVle0dE Qk59IHRvIHNldCByYW5nZSBjaGVja2luZyBhdXRvbWF0aWNhbGx5LCBpdAorK2RlZmF1bHRzIHRv IEBjb2Rle29mZn0gd2hlbmV2ZXIgdGhlIHdvcmtpbmcgbGFuZ3VhZ2UgY2hhbmdlcyB0bworIEMg b3IgQ0B0eysrfS4gIFRoaXMgaGFwcGVucyByZWdhcmRsZXNzIG9mIHdoZXRoZXIgeW91IG9yIEB2 YWx1ZXtHREJOfQorIHNlbGVjdHMgdGhlIHdvcmtpbmcgbGFuZ3VhZ2UuCisgCitAQCAtMTMyMDcs MzcgKzEzMTc4LDE1IEBAIHRoZXNlIGZpbGVzLCBpdCBzZXRzIHRoZSB3b3JraW5nIGxhbmd1YWcK KyBAeHJlZntBdXRvbWF0aWNhbGx5LCAsSGF2aW5nIEB2YWx1ZXtHREJOfSBJbmZlciB0aGUgU291 cmNlIExhbmd1YWdlfSwKKyBmb3IgZnVydGhlciBkZXRhaWxzLgorIAorLUBjIFR5cGUgY2hlY2tp bmcgaXMgKGEpIHByaW1hcmlseSBtb3RpdmF0ZWQgYnkgTW9kdWxhLTIsIGFuZCAoYikKKy1AYyB1 bmltcGxlbWVudGVkLiAgSWYgKGIpIGNoYW5nZXMsIGl0IG1pZ2h0IG1ha2Ugc2Vuc2UgdG8gbGV0 IHRoaXMgbm9kZQorLUBjIGFwcGVhciBldmVuIGlmIE1vZC0yIGRvZXMgbm90LCBidXQgbWVhbndo aWxlIGlnbm9yZSBpdC4gcm9sYW5kIDE2anVsOTMuCistCisgQG5vZGUgQyBDaGVja3MKKyBAc3Vi c3Vic2VjdGlvbiBDIGFuZCBDQHR7Kyt9IFR5cGUgYW5kIFJhbmdlIENoZWNrcworIAorIEBjaW5k ZXggQyBhbmQgQ0B0eysrfSBjaGVja3MKKyAKKy1CeSBkZWZhdWx0LCB3aGVuIEB2YWx1ZXtHREJO fSBwYXJzZXMgQyBvciBDQHR7Kyt9IGV4cHJlc3Npb25zLCB0eXBlIGNoZWNraW5nCistaXMgbm90 IHVzZWQuICBIb3dldmVyLCBpZiB5b3UgdHVybiB0eXBlIGNoZWNraW5nIG9uLCBAdmFsdWV7R0RC Tn0KKy1jb25zaWRlcnMgdHdvIHZhcmlhYmxlcyB0eXBlIGVxdWl2YWxlbnQgaWY6CistCistQGl0 ZW1pemUgQGJ1bGxldAorLUBpdGVtCistVGhlIHR3byB2YXJpYWJsZXMgYXJlIHN0cnVjdHVyZWQg YW5kIGhhdmUgdGhlIHNhbWUgc3RydWN0dXJlLCB1bmlvbiwgb3IKKy1lbnVtZXJhdGVkIHRhZy4K Ky0KKy1AaXRlbQorLVRoZSB0d28gdmFyaWFibGVzIGhhdmUgdGhlIHNhbWUgdHlwZSBuYW1lLCBv ciB0eXBlcyB0aGF0IGhhdmUgYmVlbgorLWRlY2xhcmVkIGVxdWl2YWxlbnQgdGhyb3VnaCBAY29k ZXt0eXBlZGVmfS4KKy0KKy1AaWdub3JlCistQGMgbGVhdmluZyB0aGlzIG91dCBiZWNhdXNlIG5l aXRoZXIgSiBHaWxtb3JlIG5vciBSIFBlc2NoIHVuZGVyc3RhbmQgaXQuCistQGMgRklYTUUtLWJl ZXJzPworLUBpdGVtCistVGhlIHR3byBAY29kZXtzdHJ1Y3R9LCBAY29kZXt1bmlvbn0sIG9yIEBj b2Rle2VudW19IHZhcmlhYmxlcyBhcmUKKy1kZWNsYXJlZCBpbiB0aGUgc2FtZSBkZWNsYXJhdGlv bi4gIChOb3RlOiB0aGlzIG1heSBub3QgYmUgdHJ1ZSBmb3IgYWxsIEMKKy1jb21waWxlcnMuKQor LUBlbmQgaWdub3JlCistQGVuZCBpdGVtaXplCisrQnkgZGVmYXVsdCwgd2hlbiBAdmFsdWV7R0RC Tn0gcGFyc2VzIEMgb3IgQ0B0eysrfSBleHByZXNzaW9ucywgc3RyaWN0IHR5cGUKKytjaGVja2lu ZyBpcyB1c2VkLiAgSG93ZXZlciwgaWYgeW91IHR1cm4gdHlwZSBjaGVja2luZyBvZmYsIEB2YWx1 ZXtHREJOfQorK3dpbGwgYWxsb3cgY2VydGFpbiBub24tc3RhbmRhcmQgY29udmVyc2lvbnMsIHN1 Y2ggYXMgcHJvbW90aW5nIGludGVnZXIKKytjb25zdGFudHMgdG8gcG9pbnRlcnMuCisgCisgUmFu Z2UgY2hlY2tpbmcsIGlmIHR1cm5lZCBvbiwgaXMgZG9uZSBvbiBtYXRoZW1hdGljYWwgb3BlcmF0 aW9ucy4gIEFycmF5CisgaW5kaWNlcyBhcmUgbm90IGNoZWNrZWQsIHNpbmNlIHRoZXkgYXJlIG9m dGVuIHVzZWQgdG8gaW5kZXggYSBwb2ludGVyCitJbmRleDogZ2RiLTcuNS4wLjIwMTIwOTI2L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAKKz09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy41 LjAuMjAxMjA5MjYub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2RlZmF1bHQuZXhwCTIwMTIt MDQtMjcgMjI6NTI6MDYuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuNS4wLjIwMTIwOTI2L2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvZGVmYXVsdC5leHAJMjAxMi0wOS0yNyAyMjoxNDo0MS4zMTI2 OTUzMzMgKzAyMDAKK0BAIC00OTUsMTIgKzQ5NSwxMyBAQCBnZGJfdGVzdCAic2VjdGlvbiIgIk11 c3Qgc3BlY2lmeSBzZWN0aW9uCisgZ2RiX3Rlc3QgInNldCBhbm5vdGF0ZSIgIkFyZ3VtZW50IHJl cXVpcmVkIC5pbnRlZ2VyIHRvIHNldCBpdCB0by4qIiAic2V0IGFubm90YXRlIgorICN0ZXN0IHNl dCBhcmdzCisgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXJncyIgInNldCBhcmdzIgorLSN0ZXN0 IHNldCBjaGVjayAiYyIgYWJicmV2aWF0aW9uCistZ2RiX3Rlc3QgInNldCBjIiAiXCJzZXQgY2hl Y2tcIiBtdXN0IGJlIGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIGEgY2hlY2sgc3ViY29tbWFuZC4o XFteXHJcblxdKlxbXHJcblxdKStMaXN0IG9mIHNldCBjaGVjayBzdWJjb21tYW5kczooXFteXHJc blxdKlxbXHJcblxdKStzZXQgY2hlY2sgcmFuZ2UgLS0gU2V0IHJhbmdlIGNoZWNraW5nKFxbXlxy XG5cXSpcW1xyXG5cXSkrc2V0IGNoZWNrIHR5cGUgLS0gU2V0IHR5cGUgY2hlY2tpbmcoXFteXHJc blxdKlxbXHJcblxdKStUeXBlIFwiaGVscCBzZXQgY2hlY2tcIiBmb2xsb3dlZCBieSBzZXQgY2hl Y2sgc3ViY29tbWFuZCBuYW1lIGZvciBmdWxsIGRvY3VtZW50YXRpb24uKFxbXlxyXG5cXSpcW1xy XG5cXSkrQ29tbWFuZCBuYW1lIGFiYnJldmlhdGlvbnMgYXJlIGFsbG93ZWQgaWYgdW5hbWJpZ3Vv dXMuIiAic2V0IGNoZWNrIFwiY1wiIGFiYnJldmlhdGlvbiIKKy0jdGVzdCBzZXQgY2hlY2sgImNo IiBhYmJyZXZpYXRpb24KKy1nZGJfdGVzdCAic2V0IGNoIiAiXCJzZXQgY2hlY2tcIiBtdXN0IGJl IGZvbGxvd2VkIGJ5IHRoZSBuYW1lIG9mIGEgY2hlY2sgc3ViY29tbWFuZC4oXFteXHJcblxdKlxb XHJcblxdKStMaXN0IG9mIHNldCBjaGVjayBzdWJjb21tYW5kczooXFteXHJcblxdKlxbXHJcblxd KStzZXQgY2hlY2sgcmFuZ2UgLS0gU2V0IHJhbmdlIGNoZWNraW5nKFxbXlxyXG5cXSpcW1xyXG5c XSkrc2V0IGNoZWNrIHR5cGUgLS0gU2V0IHR5cGUgY2hlY2tpbmcoXFteXHJcblxdKlxbXHJcblxd KStUeXBlIFwiaGVscCBzZXQgY2hlY2tcIiBmb2xsb3dlZCBieSBzZXQgY2hlY2sgc3ViY29tbWFu ZCBuYW1lIGZvciBmdWxsIGRvY3VtZW50YXRpb24uKFxbXlxyXG5cXSpcW1xyXG5cXSkrQ29tbWFu ZCBuYW1lIGFiYnJldmlhdGlvbnMgYXJlIGFsbG93ZWQgaWYgdW5hbWJpZ3VvdXMuIiAic2V0IGNo ZWNrIFwiY2hcIiBhYmJyZXZpYXRpb24iCistI3Rlc3Qgc2V0IGNoZWNrCistZ2RiX3Rlc3QgInNl dCBjaGVjayIgIlwic2V0IGNoZWNrXCIgbXVzdCBiZSBmb2xsb3dlZCBieSB0aGUgbmFtZSBvZiBh IGNoZWNrIHN1YmNvbW1hbmQuKFxbXlxyXG5cXSpcW1xyXG5cXSkrTGlzdCBvZiBzZXQgY2hlY2sg c3ViY29tbWFuZHM6KFxbXlxyXG5cXSpcW1xyXG5cXSkrc2V0IGNoZWNrIHJhbmdlIC0tIFNldCBy YW5nZSBjaGVja2luZyhcW15cclxuXF0qXFtcclxuXF0pK3NldCBjaGVjayB0eXBlIC0tIFNldCB0 eXBlIGNoZWNraW5nKFxbXlxyXG5cXSpcW1xyXG5cXSkrVHlwZSBcImhlbHAgc2V0IGNoZWNrXCIg Zm9sbG93ZWQgYnkgc2V0IGNoZWNrIHN1YmNvbW1hbmQgbmFtZSBmb3IgZnVsbCBkb2N1bWVudGF0 aW9uLihcW15cclxuXF0qXFtcclxuXF0pK0NvbW1hbmQgbmFtZSBhYmJyZXZpYXRpb25zIGFyZSBh bGxvd2VkIGlmIHVuYW1iaWd1b3VzLiIgInNldCBjaGVjayIKKysKKysjIFRlc3Qgc2V0IGNoZWNr IGFiYnJldmlhdGlvbnMKKytmb3JlYWNoIHggeyJjIiAiY2giICJjaGVjayJ9IHsKKysgICAgZ2Ri X3Rlc3QgInNldCAkeCIgIlwic2V0IGNoZWNrXCIgbXVzdCBiZSBmb2xsb3dlZCBieSB0aGUgbmFt ZSBvZiBhIGNoZWNrIHN1YmNvbW1hbmQuKFxbXlxyXG5cXSpcW1xyXG5cXSkrTGlzdCBvZiBzZXQg Y2hlY2sgc3ViY29tbWFuZHM6KFxbXlxyXG5cXSpcW1xyXG5cXSkrc2V0IGNoZWNrIHJhbmdlIC0t IFNldCByYW5nZSBjaGVja2luZyhcW15cclxuXF0qXFtcclxuXF0pK3NldCBjaGVjayB0eXBlIC0t IFNldCBzdHJpY3QgdHlwZSBjaGVja2luZyhcW15cclxuXF0qXFtcclxuXF0pK1R5cGUgXCJoZWxw IHNldCBjaGVja1wiIGZvbGxvd2VkIGJ5IHNldCBjaGVjayBzdWJjb21tYW5kIG5hbWUgZm9yIGZ1 bGwgZG9jdW1lbnRhdGlvbi4oXFteXHJcblxdKlxbXHJcblxdKStDb21tYW5kIG5hbWUgYWJicmV2 aWF0aW9ucyBhcmUgYWxsb3dlZCBpZiB1bmFtYmlndW91cy4iIFwKKysJInNldCBjaGVjayBcIiR4 XCIgYWJicmV2aWF0aW9uIgorK30KKysKKyAjdGVzdCBzZXQgY2hlY2sgcmFuZ2UKKyBnZGJfdGVz dCAic2V0IGNoZWNrIHJhbmdlIiAiLioiICJzZXQgY2hlY2sgcmFuZ2UiCisgI3Rlc3Qgc2V0IGNo ZWNrIHR5cGUKK0BAIC01NzcsMTYgKzU3OCwxNyBAQCBnZGJfdGVzdCAic2hlbGwgZWNobyBIaSBk YWQhIiAiSGkgZGFkISIKKyBnZGJfdGVzdCAic2hvdyBhbm5vdGF0ZSIgIkFubm90YXRpb25fbGV2 ZWwgaXMgMC4iIAkgInNob3cgYW5ub3RhdGUiCisgI3Rlc3Qgc2hvdyBhcmdzCisgZ2RiX3Rlc3Qg InNob3cgYXJncyIgIkFyZ3VtZW50IGxpc3QgdG8gZ2l2ZSBwcm9ncmFtIGJlaW5nIGRlYnVnZ2Vk IHdoZW4gaXQgaXMgc3RhcnRlZCBpcyBcIlwiLiIgInNob3cgYXJncyIKKy0jdGVzdCBzaG93IGNo ZWNrICJjIiBhYmJyZXZpYXRpb24KKy1nZGJfdGVzdCAic2hvdyBjIiAicmFuZ2U6ICAqUmFuZ2Ug Y2hlY2tpbmcgaXMgXCJhdXRvOyBjdXJyZW50bHkgb2ZmXCIuKFxbXlxyXG5cXSpcW1xyXG5cXSkr dHlwZTogICpUeXBlIGNoZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5IG9mZlwiLioiICJzaG93 IGNoZWNrIFwiY1wiIGFiYnJldmlhdGlvbiIKKy0jdGVzdCBzaG93IGNoZWNrICJjaCIgYWJicmV2 aWF0aW9uCistZ2RiX3Rlc3QgInNob3cgY2giICJyYW5nZTogKlJhbmdlIGNoZWNraW5nIGlzIFwi YXV0bzsgY3VycmVudGx5IG9mZlwiLihcW15cclxuXF0qXFtcclxuXF0pK3R5cGU6ICAqVHlwZSBj aGVja2luZyBpcyBcImF1dG87IGN1cnJlbnRseSBvZmZcIi4iICJzaG93IGNoZWNrIFwiY2hcIiBh YmJyZXZpYXRpb24iCistI3Rlc3Qgc2hvdyBjaGVjaworLWdkYl90ZXN0ICJzaG93IGNoZWNrIiAi cmFuZ2U6ICAqUmFuZ2UgY2hlY2tpbmcgaXMgXCJhdXRvOyBjdXJyZW50bHkgb2ZmXCIuKFxbXlxy XG5cXSpcW1xyXG5cXSkrdHlwZTogICpUeXBlIGNoZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5 IG9mZlwiLiIgInNob3cgY2hlY2siCisrCisrIyB0ZXN0IHNob3cgY2hlY2sgYWJicmV2aWF0aW9u cworK2ZvcmVhY2ggeCB7ImMiICJjaCIgImNoZWNrIn0geworKyAgICBnZGJfdGVzdCAic2hvdyAk eCIgInJhbmdlOiAgKlJhbmdlIGNoZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5IG9mZlwiLihc W15cclxuXF0qXFtcclxuXF0pK3R5cGU6ICAqU3RyaWN0IHR5cGUgY2hlY2tpbmcgaXMgb25cLi4q IiBcCisrCSJzaG93IGNoZWNrIFwiJHhcIiBhYmJyZXZpYXRpb24iCisrfQorKworICN0ZXN0IHNo b3cgY2hlY2sgcmFuZ2UKKyBnZGJfdGVzdCAic2hvdyBjaGVjayByYW5nZSIgIlJhbmdlIGNoZWNr aW5nIGlzIFwiYXV0bzsgY3VycmVudGx5IG9mZlwiLiIgInNob3cgY2hlY2sgcmFuZ2UiCisgI3Rl c3Qgc2hvdyBjaGVjayB0eXBlCistZ2RiX3Rlc3QgInNob3cgY2hlY2sgdHlwZSIgIlR5cGUgY2hl Y2tpbmcgaXMgXCJhdXRvOyBjdXJyZW50bHkgb2ZmXCIuIiAic2hvdyBjaGVjayB0eXBlIgorK2dk Yl90ZXN0ICJzaG93IGNoZWNrIHR5cGUiICJTdHJpY3QgdHlwZSBjaGVja2luZyBpcyBvblwuIiAi c2hvdyBjaGVjayB0eXBlIgorICN0ZXN0IHNob3cgY29tbWFuZHMKKyBnZGJfdGVzdCAic2hvdyBj b21tYW5kcyIgIi4qIiAic2hvdyBjb21tYW5kcyIKKyAjdGVzdCBzaG93IGNvbXBsYWludHMKK0lu ZGV4OiBnZGItNy41LjAuMjAxMjA5MjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9oZWxwLmV4cAor PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5vcmlnL2dkYi90ZXN0c3VpdGUvZ2Ri LmJhc2UvaGVscC5leHAJMjAxMi0wNy0wMiAxOTo1MzoxOS4wMDAwMDAwMDAgKzAyMDAKKysrKyBn ZGItNy41LjAuMjAxMjA5MjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9oZWxwLmV4cAkyMDEyLTA5 LTI3IDIyOjE0OjQxLjMxNTY5NTMzMyArMDIwMAorQEAgLTM3NiwyMiArMzc2LDI2IEBAIGdkYl90 ZXN0ICJoZWxwIHNlY3Rpb24iICJDaGFuZ2UgdGhlIGJhc2UKKyBnZGJfdGVzdCAiaGVscCBzZXQg YW5ub3RhdGUiICJTZXQgYW5ub3RhdGlvbl9sZXZlbFwuXFtcclxuXF0rMCA9PSBub3JtYWw7ICAg ICAxID09IGZ1bGxuYW1lIFxcKGZvciB1c2Ugd2hlbiBydW5uaW5nIHVuZGVyIGVtYWNzXFwpXFtc clxuXF0rMiA9PSBvdXRwdXQgYW5ub3RhdGVkIHN1aXRhYmx5IGZvciB1c2UgYnkgcHJvZ3JhbXMg dGhhdCBjb250cm9sIEdEQlwuIiAiaGVscCBzZXQgYW5ub3RhdGUiCisgIyB0ZXN0IGhlbHAgc2V0 IGFyZ3MKKyBnZGJfdGVzdCAiaGVscCBzZXQgYXJncyIgIlNldCBhcmd1bWVudCBsaXN0IHRvIGdp dmUgcHJvZ3JhbSBiZWluZyBkZWJ1Z2dlZCB3aGVuIGl0IGlzIHN0YXJ0ZWRcLlxbXHJcblxdK0Zv bGxvdyB0aGlzIGNvbW1hbmQgd2l0aCBhbnkgbnVtYmVyIG9mIGFyZ3MsIHRvIGJlIHBhc3NlZCB0 byB0aGUgcHJvZ3JhbVwuIgorLSMgdGVzdCBoZWxwIHNldCBjaGVjayAiYyIgYWJicmV2aWF0aW9u CistdGVzdF9wcmVmaXhfY29tbWFuZF9oZWxwIHsic2V0IGMiICJzZXQgY2hlY2sifSB7CistICAg ICJTZXQgdGhlIHN0YXR1cyBvZiB0aGUgdHlwZS9yYW5nZSBjaGVja2VyXC5cW1xyXG5cXSsiCist fSAiaGVscCBzZXQgY2hlY2sgXCJjXCIgYWJicmV2aWF0aW9uIgorLSMgdGVzdCBoZWxwIHNldCBj aGVjayAiY2giIGFiYnJldmlhdGlvbgorLXRlc3RfcHJlZml4X2NvbW1hbmRfaGVscCB7InNldCBj aCIgInNldCBjaGVjayJ9IHsKKy0gICAgIlNldCB0aGUgc3RhdHVzIG9mIHRoZSB0eXBlL3Jhbmdl IGNoZWNrZXJcLlxbXHJcblxdKyIKKy19ICJoZWxwIHNldCBjaGVjayBcImNoXCIgYWJicmV2aWF0 aW9uIgorLSMgdGVzdCBoZWxwIHNldCBjaGVjaworKworKyMgVGVzdCBoZWxwIHNldCBjaGVjayBh YmJyZXZpYXRpb25zCisrZm9yZWFjaCB4IHsiYyIgImNoIn0geworKyAgICB0ZXN0X3ByZWZpeF9j b21tYW5kX2hlbHAgW2xpc3QgInNldCAkeCIgInNldCBjaGVjayJdIHsKKysJIlNldCB0aGUgc3Rh dHVzIG9mIHRoZSB0eXBlL3JhbmdlIGNoZWNrZXJcLlxbXHJcblxdKyIKKysgICAgfSAiaGVscCBz ZXQgY2hlY2sgXCIkeFwiIGFiYnJldmlhdGlvbiIKKyt9CisrCisrIyBUZXN0IGhlbHAgc2V0IGNo ZWNrCisgdGVzdF9wcmVmaXhfY29tbWFuZF9oZWxwIHsic2V0IGNoZWNrIn0geworICAgICAiU2V0 IHRoZSBzdGF0dXMgb2YgdGhlIHR5cGUvcmFuZ2UgY2hlY2tlclwuXFtcclxuXF0rIgorIH0KKysK KyAjIHRlc3QgaGVscCBzZXQgY2hlY2sgcmFuZ2UKKyBnZGJfdGVzdCAiaGVscCBzZXQgY2hlY2sg cmFuZ2UiICJTZXQgcmFuZ2UgY2hlY2tpbmdcLiAgXFwob24vd2Fybi9vZmYvYXV0b1xcKSIgImhl bHAgc2V0IGNoZWNrIHJhbmdlIgorLSMgdGVzdCBoZWxwIHNldCBjaGVjayB0eXBlCistZ2RiX3Rl c3QgImhlbHAgc2V0IGNoZWNrIHR5cGUiICJTZXQgdHlwZSBjaGVja2luZ1wuICBcXChvbi93YXJu L29mZi9hdXRvXFwpLiIgImhlbHAgc2V0IGNoZWNrIHR5cGUiCisrCisrIyBUZXN0IGhlbHAgc2V0 IGNoZWNrIHR5cGUKKytnZGJfdGVzdCAiaGVscCBzZXQgY2hlY2sgdHlwZSIgIlNldCBzdHJpY3Qg dHlwZSBjaGVja2luZ1wuIiBcCisrICAgICJoZWxwIHNldCBjaGVjayB0eXBlIgorKworICMgdGVz dCBoZWxwIHNldCBjb21wbGFpbnRzCisgZ2RiX3Rlc3QgImhlbHAgc2V0IGNvbXBsYWludHMiICJT ZXQgbWF4IG51bWJlciBvZiBjb21wbGFpbnRzIGFib3V0IGluY29ycmVjdCBzeW1ib2xzXC4iICJo ZWxwIHNldCBjb21wbGFpbnRzIgorICMgdGVzdCBoZWxwIHNldCBjb25maXJtCitAQCAtNDg3LDE4 ICs0OTEsMjUgQEAgZ2RiX3Rlc3QgImhlbHAgc2hlbGwiICJFeGVjdXRlIHRoZSByZXN0CisgZ2Ri X3Rlc3QgImhlbHAgc2hvdyBhbm5vdGF0ZSIgIlNob3cgYW5ub3RhdGlvbl9sZXZlbFwuXFtcclxu XF0rMCA9PSBub3JtYWw7ICAgICAxID09IGZ1bGxuYW1lIFxcKGZvciB1c2Ugd2hlbiBydW5uaW5n IHVuZGVyIGVtYWNzXFwpXFtcclxuXF0rMiA9PSBvdXRwdXQgYW5ub3RhdGVkIHN1aXRhYmx5IGZv ciB1c2UgYnkgcHJvZ3JhbXMgdGhhdCBjb250cm9sIEdEQlwuIiAiaGVscCBzaG93IGFubm90YXRl IgorICMgdGVzdCBoZWxwIHNob3cgYXJncworIGdkYl90ZXN0ICJoZWxwIHNob3cgYXJncyIgIlNo b3cgYXJndW1lbnQgbGlzdCB0byBnaXZlIHByb2dyYW0gYmVpbmcgZGVidWdnZWQgd2hlbiBpdCBp cyBzdGFydGVkXC5cW1xyXG5cXStGb2xsb3cgdGhpcyBjb21tYW5kIHdpdGggYW55IG51bWJlciBv ZiBhcmdzLCB0byBiZSBwYXNzZWQgdG8gdGhlIHByb2dyYW1cLiIKKy0jIHRlc3QgaGVscCBzaG93 IGNoZWNrICJjIiBhYmJyZXZpYXRpb24KKy10ZXN0X3ByZWZpeF9jb21tYW5kX2hlbHAgeyJzaG93 IGMiICJzaG93IGNoZWNrIn0geworLSAgICAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSB0eXBlL3Jh bmdlIGNoZWNrZXJcLlxbXHJcblxdKyIKKy19ICJoZWxwIHNob3cgY2hlY2sgXCJjXCIgYWJicmV2 aWF0aW9uIgorKworKyMgVGVzdCBoZWxwIHNob3cgY2hlY2sgYWJicmV2aWF0aW9ucworK2ZvcmVh Y2ggeCB7ImMiICJjaGVjayJ9IHsKKysgICAgdGVzdF9wcmVmaXhfY29tbWFuZF9oZWxwIFtsaXN0 ICJzaG93ICR4IiAic2hvdyBjaGVjayJdIHsKKysJIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgdHlw ZS9yYW5nZSBjaGVja2VyXC5cW1xyXG5cXSsiCisrICAgIH0gImhlbHAgc2hvdyBjaGVjayBcIiR4 XCIgYWJicmV2aWF0aW9uIgorK30KKysKKyAjIHRlc3QgaGVscCBzaG93IGNoZWNrCisgdGVzdF9w cmVmaXhfY29tbWFuZF9oZWxwIHsic2hvdyBjaGVjayJ9IHsKKyAgICAgIlNob3cgdGhlIHN0YXR1 cyBvZiB0aGUgdHlwZS9yYW5nZSBjaGVja2VyXC5cW1xyXG5cXSsiCisgfQorICMgdGVzdCBoZWxw IHNob3cgY2hlY2sgcmFuZ2UKKyBnZGJfdGVzdCAiaGVscCBzaG93IGNoZWNrIHJhbmdlIiAiU2hv dyByYW5nZSBjaGVja2luZ1wuICBcXChvbi93YXJuL29mZi9hdXRvXFwpIiAiaGVscCBzaG93IGNo ZWNrIHJhbmdlIgorKworICMgdGVzdCBoZWxwIHNob3cgY2hlY2sgdHlwZQorLWdkYl90ZXN0ICJo ZWxwIHNob3cgY2hlY2sgdHlwZSIgIlNob3cgdHlwZSBjaGVja2luZ1wuICBcXChvbi93YXJuL29m Zi9hdXRvXFwpIiAiaGVscCBzaG93IGNoZWNrIHR5cGUiCisrZ2RiX3Rlc3QgImhlbHAgc2hvdyBj aGVjayB0eXBlIiAiU2hvdyBzdHJpY3QgdHlwZSBjaGVja2luZ1wuIiBcCisrICAgICJoZWxwIHNo b3cgY2hlY2sgdHlwZSIKKysKKyAjIHRlc3QgaGVscCBzaG93IGNvbW1hbmRzCisgZ2RiX3Rlc3Qg ImhlbHAgc2hvdyBjb21tYW5kcyIgIlNob3cgdGhlIGhpc3Rvcnkgb2YgY29tbWFuZHMgeW91IHR5 cGVkXC5cW1xyXG5cXStZb3UgY2FuIHN1cHBseSBhIGNvbW1hbmQgbnVtYmVyIHRvIHN0YXJ0IHdp dGgsIG9yIGEgYFxbK1xdJyB0byBzdGFydCBhZnRlclxbXHJcblxdK3RoZSBwcmV2aW91cyBjb21t YW5kIG51bWJlciBzaG93blwuIiAiaGVscCBzaG93IGNvbW1hbmRzIgorICMgdGVzdCBoZWxwIHNo b3cgY29tcGxhaW50cworSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3NldHNob3cuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gZ2RiLTcuNS4wLjIwMTIwOTI2Lm9y aWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zZXRzaG93LmV4cAkyMDEyLTAzLTEzIDIyOjAyOjQw LjAwMDAwMDAwMCArMDEwMAorKysrIGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL3NldHNob3cuZXhwCTIwMTItMDktMjcgMjI6MTQ6NDEuMzIwNjk1MzM2ICswMjAwCitA QCAtMTEwLDE5ICsxMTAsMjIgQEAgZ2RiX3Rlc3QgInNob3cgY2hlY2sgcmFuZ2UiICJSYW5nZSBj aGVjaworICN0ZXN0IHNldCBjaGVjayByYW5nZSBhdXRvCisgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJz ZXQgY2hlY2sgcmFuZ2UgYXV0byIgInNldCBjaGVjayByYW5nZSBhdXRvIiAKKyAjdGVzdCBzaG93 IGNoZWNrIHJhbmdlIGF1dG8KKy1nZGJfdGVzdCAic2hvdyBjaGVjayByYW5nZSIgIlJhbmdlIGNo ZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5IC4qIiAic2hvdyBjaGVjayByYW5nZSAoYXV0byki IAorLSN0ZXN0IHNldCBjaGVjayB0eXBlIG9uCistZ2RiX3Rlc3QgInNldCBjaGVjayB0eXBlIG9u IiAiLioiICJzZXQgY2hlY2sgdHlwZSBvbiIgCistI3Rlc3Qgc2hvdyBjaGVjayB0eXBlIG9uCist Z2RiX3Rlc3QgInNob3cgY2hlY2sgdHlwZSIgIlR5cGUgY2hlY2tpbmcgaXMgXCJvblwiLi4qIiAi c2hvdyBjaGVjayB0eXBlIChvbikiIAorLSN0ZXN0IHNldCBjaGVjayB0eXBlIG9mZiB3aXRoIHRy YWlsaW5nIHNwYWNlCistZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgY2hlY2sgdHlwZSBvZmYgIiAi c2V0IGNoZWNrIHR5cGUgb2ZmIiAKKy0jdGVzdCBzaG93IGNoZWNrIHR5cGUgb2ZmCistZ2RiX3Rl c3QgInNob3cgY2hlY2sgdHlwZSIgIlR5cGUgY2hlY2tpbmcgaXMgXCJvZmZcIi4uKiIgInNob3cg Y2hlY2sgdHlwZSAob2ZmKSIgCistI3Rlc3Qgc2V0IGNoZWNrIHR5cGUgYXV0bworLWdkYl90ZXN0 X25vX291dHB1dCAic2V0IGNoZWNrIHR5cGUgYXV0byIgInNldCBjaGVjayB0eXBlIGF1dG8iIAor LSN0ZXN0IHNob3cgY2hlY2sgdHlwZQorLWdkYl90ZXN0ICJzaG93IGNoZWNrIHR5cGUiICJUeXBl IGNoZWNraW5nIGlzIFwiYXV0bzsgY3VycmVudGx5IC4qIiAic2hvdyBjaGVjayB0eXBlIChhdXRv KSIgCisrZ2RiX3Rlc3QgInNob3cgY2hlY2sgcmFuZ2UiICJSYW5nZSBjaGVja2luZyBpcyBcImF1 dG87IGN1cnJlbnRseSAuKiIgInNob3cgY2hlY2sgcmFuZ2UgKGF1dG8pIgorKworKyMgVGVzdCBz ZXQgY2hlY2sgdHlwZSBvbgorK2dkYl90ZXN0ICJzZXQgY2hlY2sgdHlwZSBvbiIgIi4qIiAic2V0 IGNoZWNrIHR5cGUgb24iCisrCisrIyBUZXN0IHNob3cgY2hlY2sgdHlwZSBvbgorK2dkYl90ZXN0 ICJzaG93IGNoZWNrIHR5cGUiICJTdHJpY3QgdHlwZSBjaGVja2luZyBpcyBvblwuLioiIFwKKysg ICAgInNob3cgY2hlY2sgdHlwZSAob24pIgorKworKyMgVGVzdCBzZXQgY2hlY2sgdHlwZSBvZmYg d2l0aCB0cmFpbGluZyBzcGFjZQorK2dkYl90ZXN0X25vX291dHB1dCAic2V0IGNoZWNrIHR5cGUg b2ZmICIgInNldCBjaGVjayB0eXBlIG9mZiIKKysKKysjIFRlc3Qgc2hvdyBjaGVjayB0eXBlIG9m ZgorK2dkYl90ZXN0ICJzaG93IGNoZWNrIHR5cGUiICJTdHJpY3QgdHlwZSBjaGVja2luZyBpcyBv ZmZcLi4qIiBcCisrICAgICJzaG93IGNoZWNrIHR5cGUgKG9mZikiCisrCisgI3Rlc3Qgc2V0IGNv bXBsYWludHMgMTAwCisgZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgY29tcGxhaW50cyAxMDAiICJz ZXQgY29tcGxhaW50cyAxMDAiIAorICN0ZXN0IHNob3cgY29tcGxhaW50cyAxMDAKK0luZGV4OiBn ZGItNy41LjAuMjAxMjA5MjYvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3AvY29udmVydHMuZXhwCis9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09CistLS0gZ2RiLTcuNS4wLjIwMTIwOTI2Lm9yaWcvZ2RiL3Rlc3RzdWl0ZS9nZGIuY3Av Y29udmVydHMuZXhwCTIwMTItMDctMTAgMTc6MTg6MTguMDAwMDAwMDAwICswMjAwCisrKysgZ2Ri LTcuNS4wLjIwMTIwOTI2L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnZlcnRzLmV4cAkyMDEyLTA5 LTI3IDIyOjE0OjQxLjMyMTY5NTMzNyArMDIwMAorQEAgLTcwLDkgKzcwLDM3IEBAIGdkYl90ZXN0 X211bHRpcGxlICJwIGZvbzNfMSAoMCwgMCkiICR0IHsKKyAgICAgcGFzcyAkdAorICAgfQorIH0K KysKKyBnZGJfdGVzdCAicCBmb28zXzEgKDAsIDEpIiBcCisgICAgICJDYW5ub3QgcmVzb2x2ZSBm dW5jdGlvbiBmb28zXzEgdG8gYW55IG92ZXJsb2FkZWQgaW5zdGFuY2UiCisgZ2RiX3Rlc3QgInAg Zm9vM18xICgwLCAoY29uc3QgY2hhcioqKSAxKSIgIiA9IDMxIgorIGdkYl90ZXN0ICJwIGZvbzNf MiAoMCwgMCkiICI9IDMyIgorIGdkYl90ZXN0ICJwIGZvbzNfMiAoMCwgKGNoYXIgY29uc3QqKikg MCkiICIgPSAzMjAiCisgCisrIyBUZXN0IGZvciBzdHJpY3QgdHlwZSBjaGVja2luZworK3NldCBl cnJvcl9zdHIgIkNhbm5vdCByZXNvbHZlIGZ1bmN0aW9uICVzIHRvIGFueSBvdmVybG9hZGVkIGlu c3RhbmNlIgorK2dkYl90ZXN0ICJzaG93IGNoZWNrIHR5cGUiICJTdHJpY3QgdHlwZSBjaGVja2lu ZyBpcyBvblwuIgorK2dkYl90ZXN0ICJwIGZvbzFfdHlwZV9jaGVjayAoMTIzKSIgW2Zvcm1hdCAk ZXJyb3Jfc3RyICJmb28xX3R5cGVfY2hlY2siXQorK2dkYl90ZXN0ICJwIGZvbzJfdHlwZV9jaGVj ayAoMCwgMSkiIFtmb3JtYXQgJGVycm9yX3N0ciAiZm9vMl90eXBlX2NoZWNrIl0KKytnZGJfdGVz dCAicCBmb28yX3R5cGVfY2hlY2sgKDEsIDApIiBbZm9ybWF0ICRlcnJvcl9zdHIgImZvbzJfdHlw ZV9jaGVjayJdCisrZ2RiX3Rlc3QgInAgZm9vMl90eXBlX2NoZWNrICgxLCAxKSIgW2Zvcm1hdCAk ZXJyb3Jfc3RyICJmb28yX3R5cGVfY2hlY2siXQorK2dkYl90ZXN0ICJwIGZvbzNfdHlwZV9jaGVj ayAoMCwgMCwgMSkiIFtmb3JtYXQgJGVycm9yX3N0ciAiZm9vM190eXBlX2NoZWNrIl0KKytnZGJf dGVzdCAicCBmb28zX3R5cGVfY2hlY2sgKDAsIDEsIDApIiBbZm9ybWF0ICRlcnJvcl9zdHIgImZv bzNfdHlwZV9jaGVjayJdCisrZ2RiX3Rlc3QgInAgZm9vM190eXBlX2NoZWNrICgxLCAwLCAwKSIg W2Zvcm1hdCAkZXJyb3Jfc3RyICJmb28zX3R5cGVfY2hlY2siXQorK2dkYl90ZXN0ICJwIGZvbzNf dHlwZV9jaGVjayAoMCwgMSwgMSkiIFtmb3JtYXQgJGVycm9yX3N0ciAiZm9vM190eXBlX2NoZWNr Il0KKytnZGJfdGVzdCAicCBmb28zX3R5cGVfY2hlY2sgKDEsIDEsIDApIiBbZm9ybWF0ICRlcnJv cl9zdHIgImZvbzNfdHlwZV9jaGVjayJdCisrZ2RiX3Rlc3QgInAgZm9vM190eXBlX2NoZWNrICgx LCAxLCAxKSIgW2Zvcm1hdCAkZXJyb3Jfc3RyICJmb28zX3R5cGVfY2hlY2siXQorKworK2dkYl90 ZXN0X25vX291dHB1dCAic2V0IGNoZWNrIHR5cGUgb2ZmIgorK2dkYl90ZXN0ICJzaG93IGNoZWNr IHR5cGUiICJTdHJpY3QgdHlwZSBjaGVja2luZyBpcyBvZmZcLiIKKytnZGJfdGVzdCAicCBmb28x X3R5cGVfY2hlY2sgKDEyMykiICIgPSAxMDAwIgorK2dkYl90ZXN0ICJwIGZvbzJfdHlwZV9jaGVj ayAoMCwgMSkiICIgPSAxMDAxIgorK2dkYl90ZXN0ICJwIGZvbzJfdHlwZV9jaGVjayAoMSwgMCki ICIgPSAxMDAxIgorK2dkYl90ZXN0ICJwIGZvbzJfdHlwZV9jaGVjayAoMSwgMSkiICIgPSAxMDAx IgorK2dkYl90ZXN0ICJwIGZvbzNfdHlwZV9jaGVjayAoMCwgMCwgMSkiICIgPSAxMDAyIgorK2dk Yl90ZXN0ICJwIGZvbzNfdHlwZV9jaGVjayAoMCwgMSwgMCkiICIgPSAxMDAyIgorK2dkYl90ZXN0 ICJwIGZvbzNfdHlwZV9jaGVjayAoMSwgMCwgMCkiICIgPSAxMDAyIgorK2dkYl90ZXN0ICJwIGZv bzNfdHlwZV9jaGVjayAoMCwgMSwgMSkiICIgPSAxMDAyIgorK2dkYl90ZXN0ICJwIGZvbzNfdHlw ZV9jaGVjayAoMSwgMSwgMCkiICIgPSAxMDAyIgorK2dkYl90ZXN0ICJwIGZvbzNfdHlwZV9jaGVj ayAoMSwgMSwgMSkiICIgPSAxMDAyIgorK2dkYl90ZXN0ICJwIGZvbzNfMiAoMSwxKSIgIiA9IDMy IgorSW5kZXg6IGdkYi03LjUuMC4yMDEyMDkyNi9nZGIvdGVzdHN1aXRlL2dkYi5jcC9jb252ZXJ0 cy5jYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIGdkYi03LjUuMC4yMDEyMDkyNi5vcmlnL2dkYi90ZXN0c3Vp dGUvZ2RiLmNwL2NvbnZlcnRzLmNjCTIwMTEtMTAtMTQgMjI6MjI6NTAuMDAwMDAwMDAwICswMjAw CisrKysgZ2RiLTcuNS4wLjIwMTIwOTI2L2dkYi90ZXN0c3VpdGUvZ2RiLmNwL2NvbnZlcnRzLmNj CTIwMTItMDktMjcgMjI6MTQ6NDEuMzIyNjk1MzM3ICswMjAwCitAQCAtMjcsNiArMjcsMTAgQEAg aW50IGZvbzNfMSAoaW50IGEsIGNvbnN0IGNoYXIgKipiKSB7IHJldAorIGludCBmb28zXzIgKGlu dCBhLCBpbnQgYikgeyByZXR1cm4gMzI7IH0KKyBpbnQgZm9vM18yIChpbnQgYSwgY29uc3QgY2hh ciAqKmIpIHsgcmV0dXJuIDMyMDsgfQorIAorK2ludCBmb28xX3R5cGVfY2hlY2sgKGNoYXIgKmEp IHsgcmV0dXJuIDEwMDA7IH0KKytpbnQgZm9vMl90eXBlX2NoZWNrIChjaGFyICphLCBjaGFyICpi KSB7IHJldHVybiAxMDAxOyB9CisraW50IGZvbzNfdHlwZV9jaGVjayAoY2hhciAqYSwgY2hhciAq YiwgY2hhciAqYykgeyByZXR1cm4gMTAwMjsgfQorKworIGludCBtYWluKCkKKyB7CisgCitAQCAt NjIsNSArNjYsOSBAQCBpbnQgbWFpbigpCisgICBmb28zXzIgKDAsIHN0YXRpY19jYXN0PGNoYXIg Y29uc3QqKj4gKDApKTsKKyAgIGZvbzNfMiAoMCwgMCk7CisgCisrICBmb28xX3R5cGVfY2hlY2sg KGEpOworKyAgZm9vMl90eXBlX2NoZWNrIChhLCBhKTsKKysgIGZvbzNfdHlwZV9jaGVjayAoYSwg YSwgYSk7CisrCisgICByZXR1cm4gMDsgICAgICAgICAgLy8gZW5kIG9mIG1haW4KKyB9CgpkaWZm IC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRleCA3NWY5MjI4Li41NDg4MzM3IDEwMDY0 NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpAQCAtMzQsNyArMzQsNyBAQCBWZXJzaW9u OiA3LjUuMC4yMDEyMDkyNgogCiAjIFRoZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRp bmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFydCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBh IHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkgZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxl IGZvciB0aGUgdGVzdGluZy4KLVJlbGVhc2U6IDIzJXs/ZGlzdH0KK1JlbGVhc2U6IDI0JXs/ZGlz dH0KIAogTGljZW5zZTogR1BMdjMrIGFuZCBHUEx2Mysgd2l0aCBleGNlcHRpb25zIGFuZCBHUEx2 MisgYW5kIEdQTHYyKyB3aXRoIGV4Y2VwdGlvbnMgYW5kIEdQTCsgYW5kIExHUEx2MisgYW5kIEJT RCBhbmQgUHVibGljIERvbWFpbgogR3JvdXA6IERldmVsb3BtZW50L0RlYnVnZ2VycwpAQCAtNTcx LDYgKzU3MSw5IEBAIFBhdGNoNzI1OiBnZGItc3RlcC1zeW1sZXNzLnBhdGNoCiAjIEZpeCBjcmFz aCBwcmludGluZyBjbGFzc2VzIChCWiA4NDkzNTcsIFRvbSBUcm9tZXkpLgogUGF0Y2g3MjY6IGdk Yi1wcmludC1jbGFzcy5wYXRjaAogCisjIFBlcm1pdCBwYXNzaW5nIHBvaW50ZXJzIGFzIGFkZHJl c3MgbnVtYmVyIGV2ZW4gZm9yIEMrKyBtZXRob2RzIChLZWl0aCBTZWl0eikuCitQYXRjaDcyODog Z2RiLWNoZWNrLXR5cGUucGF0Y2gKKwogJWlmIDAleyE/cmhlbDoxfSB8fCAwJXs/cmhlbH0gPiA2 CiAjIFJMX1NUQVRFX0ZFRE9SQV9HREIgd291bGQgbm90IGJlIGZvdW5kIGZvcjoKICMgUGF0Y2g2 NDI6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCkBAIC04ODEsNiArODg0LDcgQEAg cm0gLWYgZ2RiL2p2LWV4cC5jIGdkYi9tMi1leHAuYyBnZGIvb2JqYy1leHAuYyBnZGIvcC1leHAu YyBnZGIvZ28tZXhwLmMKICVwYXRjaDcxNiAtcDEKICVwYXRjaDcyNSAtcDEKICVwYXRjaDcyNiAt cDEKKyVwYXRjaDcyOCAtcDEKIAogJXBhdGNoMzkzIC1wMQogJWlmIDAleyE/ZWw1OjF9IHx8IDAl ez9zY2w6MX0KQEAgLTEzNzcsNiArMTM4MSw5IEBAIGZpCiAlZW5kaWYgIyAwJXshP2VsNToxfSB8 fCAiJXtfdGFyZ2V0X2NwdX0iID09ICJub2FyY2giCiAKICVjaGFuZ2Vsb2cKKyogVGh1IFNlcCAy NyAyMDEyIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNS0y NC5mYzE4CistIFBlcm1pdCBwYXNzaW5nIHBvaW50ZXJzIGFzIGFkZHJlc3MgbnVtYmVyIGV2ZW4g Zm9yIEMrKyBtZXRob2RzIChLZWl0aCBTZWl0eikuCisKICogVGh1IFNlcCAyNyAyMDEyIEphbiBL cmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29tPiAtIDcuNS0yMy5mYzE4CiAtIEZp eCBjcmFzaCBwcmludGluZyBjbGFzc2VzIChCWiA4NDkzNTcsIFRvbSBUcm9tZXkpLgogCg==