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: Mattias Ellert To: git-commits@fedoraproject.org Subject: [rpms/xrootd] epel10.2: Update to version 6.0.2 Date: Mon, 01 Jun 2026 04:19:23 GMT Message-ID: <178028756384.1.3740719167609607069.rpms-xrootd-8acacae375b0@fedoraproject.org> List-ID: X-Git-Repo: rpms/xrootd X-Git-Branch: epel10.2 X-Git-Rev: 8acacae375b0e25f539031b7d654e99d0f717145 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMveHJvb3RkCiAgICAgICAgICAgIEJyYW5jaCA6IGVwZWwxMC4yCiAgICAgICAg ICAgIENvbW1pdCA6IDhhY2FjYWUzNzViMGUyNWY1MzkwMzFiN2Q2NTRlOTlkMGY3MTcxNDUKICAg ICAgICAgICAgQXV0aG9yIDogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3Mu dXUuc2U+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjYtMDYtMDFUMDQ6MjI6MzYrMDI6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzY0Ny8tMzE4IGluIDEyIGZpbGUocykKICAgICAgICAgICAgVVJM ICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy94cm9vdGQvYy84YWNhY2Fl Mzc1YjBlMjVmNTM5MDMxYjdkNjU0ZTk5ZDBmNzE3MTQ1P2JyYW5jaD1lcGVsMTAuMgoKICAgICAg ICAgICAgTG9nOgogICAgICAgICAgICBVcGRhdGUgdG8gdmVyc2lvbiA2LjAuMgoKQWRhcHQgdG8g T3BlblNTTCA0LjAKRHJvcCBwYXRjaGVzIGFjY2VwdGVkIHVwc3RyZWFtCgotLS0KZGlmZiAtLWdp dCBhLzAwMDEtQWRkLWluY2x1ZGUtWHJkU3lzLVhyZFN5c1BsYXRmb3JtLmhoLWZvci1NQVhQQVRI TEVOLnBhdGNoIGIvMDAwMS1BZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lzUGxhdGZvcm0uaGgtZm9y LU1BWFBBVEhMRU4ucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDg0OWMzODAu LjAwMDAwMDAKLS0tIGEvMDAwMS1BZGQtaW5jbHVkZS1YcmRTeXMtWHJkU3lzUGxhdGZvcm0uaGgt Zm9yLU1BWFBBVEhMRU4ucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzNyArMCwwIEBACi1Gcm9t IGYwY2IzY2U3OGQ5ZTFiZDJiY2FjN2M0M2U4YjI3MmI5MzUwZWMzZjYgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51 dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjE6MTY6MTEgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSCAxLzZdIEFkZCAjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1BsYXRmb3JtLmhoIiBmb3IgTUFY UEFUSExFTgotCi0tLS0KLSBzcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5jYyB8IDEgKwot IHNyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNjIHwgMSArCi0gMiBmaWxlcyBjaGFuZ2Vk LCAyIGluc2VydGlvbnMoKykKLQotZGlmZiAtLWdpdCBhL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJj QmFja3VwLmNjIGIvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNrdXAuY2MKLWluZGV4IGYyNDkx MmNiOS4uZjQ5ZTdiZGFiIDEwMDY0NAotLS0tIGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNr dXAuY2MKLSsrKyBiL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQmFja3VwLmNjCi1AQCAtNDcsNiAr NDcsNyBAQAotICNpbmNsdWRlICJYcmRPdWMvWHJkT3VjU3RyZWFtLmhoIgotIAotICNpbmNsdWRl ICJYcmRTeXMvWHJkU3lzRXJyb3IuaGgiCi0rI2luY2x1ZGUgIlhyZFN5cy9YcmRTeXNQbGF0Zm9y bS5oaCIKLSAjaW5jbHVkZSAiWHJkU3lzL1hyZFN5c1B0aHJlYWQuaGgiCi0gCi0gLyoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKi8KLWRpZmYgLS1naXQgYS9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0NvbmZp Zy5jYyBiL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNjCi1pbmRleCA3ZjZlZTBhYzgu LjYyMGMwYmVkMSAxMDA2NDQKLS0tLSBhL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQ29uZmlnLmNj Ci0rKysgYi9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0NvbmZpZy5jYwotQEAgLTYxLDYgKzYxLDcg QEAKLSAjaW5jbHVkZSAiWHJkT3VjL1hyZE91Y1V0aWxzLmhoIgotIAotICNpbmNsdWRlICJYcmRT eXMvWHJkU3lzRXJyb3IuaGgiCi0rI2luY2x1ZGUgIlhyZFN5cy9YcmRTeXNQbGF0Zm9ybS5oaCIK LSAKLSAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwotIC8qICAgICAgICAgICAgICAgICAgICAgICAg RyBsIG8gYiBhIGwgICBPIGIgaiBlIGMgdCBzICAgICAgICAgICAgICAgICAgICAgICAgICovCi0t LSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvMDAwMS1JbmNyZWFzZS10aW1lb3V0cy1mb3Itc2xv dy1kZWJpYW4tYnVpbGRlcnMucGF0Y2ggYi8wMDAxLUluY3JlYXNlLXRpbWVvdXRzLWZvci1zbG93 LWRlYmlhbi1idWlsZGVycy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZWQw ZWM4NS4uMDAwMDAwMAotLS0gYS8wMDAxLUluY3JlYXNlLXRpbWVvdXRzLWZvci1zbG93LWRlYmlh bi1idWlsZGVycy5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDcxICswLDAgQEAKLUZyb20gNDYx MDEwYjA4MTFhZTUwMTNkZTUzNGJlZmQ4OWM0YzZkYmQ1ODAzNyBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNl PgotRGF0ZTogTW9uLCAyMCBBcHIgMjAyNiAyMzoxNDoxMSArMDIwMAotU3ViamVjdDogW1BBVENI XSBJbmNyZWFzZSB0aW1lb3V0cyBmb3Igc2xvdyBkZWJpYW4gYnVpbGRlcnMKLQotLS0tCi0gdGVz dHMvWFJvb3REL3Rlc3Quc2ggICAgICB8IDIgKy0KLSB0ZXN0cy9YcmRDbEh0dHAvc2V0dXAuc2gg IHwgNCArKy0tCi0gdGVzdHMvWHJkQ2xTMy9zMy1zZXR1cC5zaCB8IDQgKystLQotIDMgZmlsZXMg Y2hhbmdlZCwgNSBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEv dGVzdHMvWFJvb3REL3Rlc3Quc2ggYi90ZXN0cy9YUm9vdEQvdGVzdC5zaAotaW5kZXggYmUxNjBh MmNmLi5lODVjMDkwNTMgMTAwNzU1Ci0tLS0gYS90ZXN0cy9YUm9vdEQvdGVzdC5zaAotKysrIGIv dGVzdHMvWFJvb3REL3Rlc3Quc2gKLUBAIC01OCw3ICs1OCw3IEBAIGV4cG9ydCBYUkRfTE9HTEVW RUwgWFJEX0xPR0ZJTEUKLSAjIFJlZHVjZSBkZWZhdWx0IHRpbWVvdXRzIHRvIGNhdGNoIGVycm9y cyBxdWlja2x5IGFuZCBwcmV2ZW50IHRoZSB0ZXN0Ci0gIyBzdWl0ZSBmcm9tIGdldHRpbmcgc3R1 Y2sgd2FpdGluZyBmb3IgdGltZW91dHMgd2hpbGUgcnVubmluZy4KLSAKLS06ICIke1hSRF9SRVFV RVNUVElNRU9VVDo9MTV9IgotKzogIiR7WFJEX1JFUVVFU1RUSU1FT1VUOj02MH0iCi0gOiAiJHtY UkRfU1RSRUFNVElNRU9VVDo9MTB9IgotIDogIiR7WFJEX1RJTUVPVVRSRVNPTFVUSU9OOj0xfSIK LSAKLWRpZmYgLS1naXQgYS90ZXN0cy9YcmRDbEh0dHAvc2V0dXAuc2ggYi90ZXN0cy9YcmRDbEh0 dHAvc2V0dXAuc2gKLWluZGV4IGQzZjRjYTkwMS4uZGY0OTMwOGY5IDEwMDc1NQotLS0tIGEvdGVz dHMvWHJkQ2xIdHRwL3NldHVwLnNoCi0rKysgYi90ZXN0cy9YcmRDbEh0dHAvc2V0dXAuc2gKLUBA IC00NDUsNyArNDQ1LDcgQEAgZWNobyAiQ2FjaGUgc3RhcnRlZCBhdCBwb3J0ICRDQUNIRV9QT1JU IgotIAotIGlmICEgIiRCSU5BUllfRElSL2Jpbi94cmRzY2l0b2tlbnMtY3JlYXRlLXRva2VuIiBc Ci0gICAgIGlzc3Vlcl9wdWJsaWMucGVtIGlzc3Vlcl9wcml2YXRlLnBlbSB0ZXN0X2tleSBcCi0t ICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3RvcmFnZS5yZWFkOi8gNjAwID4gIiRSVU5ESVIv dG9rZW4iOyB0aGVuCi0rICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3RvcmFnZS5yZWFkOi8g MzYwMCA+ICIkUlVORElSL3Rva2VuIjsgdGhlbgotICAgZWNobyAiRmFpbGVkIHRvIGdlbmVyYXRl IHJlYWQgdG9rZW4iCi0gICBleGl0IDEKLSBmaQotQEAgLTQ1Myw3ICs0NTMsNyBAQCBlY2hvICJT YW1wbGUgcmVhZCB0b2tlbiBhdmFpbGFibGUgYXQgJFJVTkRJUi90b2tlbiIKLSAKLSBpZiAhICIk QklOQVJZX0RJUi9iaW4veHJkc2NpdG9rZW5zLWNyZWF0ZS10b2tlbiIgXAotICAgICBpc3N1ZXJf cHVibGljLnBlbSBpc3N1ZXJfcHJpdmF0ZS5wZW0gdGVzdF9rZXkgXAotLSAgICBodHRwczovL2xv Y2FsaG9zdDo5NDQzIHN0b3JhZ2UubW9kaWZ5Oi8gNjAwID4gIiRSVU5ESVIvd3JpdGUudG9rZW4i OyB0aGVuCi0rICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3RvcmFnZS5tb2RpZnk6LyAzNjAw ID4gIiRSVU5ESVIvd3JpdGUudG9rZW4iOyB0aGVuCi0gICBlY2hvICJGYWlsZWQgdG8gZ2VuZXJh dGUgd3JpdGUgdG9rZW4iCi0gICBleGl0IDEKLSBmaQotZGlmZiAtLWdpdCBhL3Rlc3RzL1hyZENs UzMvczMtc2V0dXAuc2ggYi90ZXN0cy9YcmRDbFMzL3MzLXNldHVwLnNoCi1pbmRleCA5NjI4MjQ5 MzYuLjRjMWQzNTZhMiAxMDA3NTUKLS0tLSBhL3Rlc3RzL1hyZENsUzMvczMtc2V0dXAuc2gKLSsr KyBiL3Rlc3RzL1hyZENsUzMvczMtc2V0dXAuc2gKLUBAIC0yNjcsNyArMjY3LDcgQEAgZmkKLSAK LSBpZiAhICIkQklOQVJZX0RJUi9iaW4veHJkc2NpdG9rZW5zLWNyZWF0ZS10b2tlbiIgXAotICAg ICAiJFJVTkRJUi9pc3N1ZXIvaXNzdWVyX3B1YmxpYy5wZW0iICIkUlVORElSL2lzc3Vlci9pc3N1 ZXJfcHJpdmF0ZS5wZW0iIHRlc3Rfa2V5IFwKLS0gICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBz dG9yYWdlLnJlYWQ6LyA2MDAgPiAiJFJVTkRJUi90b2tlbiI7IHRoZW4KLSsgICAgaHR0cHM6Ly9s b2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLnJlYWQ6LyAzNjAwID4gIiRSVU5ESVIvdG9rZW4iOyB0aGVu Ci0gICBlY2hvICJGYWlsZWQgdG8gZ2VuZXJhdGUgcmVhZCB0b2tlbiIKLSAgIGV4aXQgMQotIGZp Ci1AQCAtMjc1LDcgKzI3NSw3IEBAIGVjaG8gIlNhbXBsZSByZWFkIHRva2VuIGF2YWlsYWJsZSBh dCAkUlVORElSL3Rva2VuIgotICAgCi0gaWYgISAiJEJJTkFSWV9ESVIvYmluL3hyZHNjaXRva2Vu cy1jcmVhdGUtdG9rZW4iIFwKLSAgICAgIiRSVU5ESVIvaXNzdWVyL2lzc3Vlcl9wdWJsaWMucGVt IiAiJFJVTkRJUi9pc3N1ZXIvaXNzdWVyX3ByaXZhdGUucGVtIiB0ZXN0X2tleSBcCi0tICAgIGh0 dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3RvcmFnZS5tb2RpZnk6LyA2MDAgPiAiJFJVTkRJUi93cml0 ZS50b2tlbiI7IHRoZW4KLSsgICAgaHR0cHM6Ly9sb2NhbGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlm eTovIDM2MDAgPiAiJFJVTkRJUi93cml0ZS50b2tlbiI7IHRoZW4KLSAgIGVjaG8gIkZhaWxlZCB0 byBnZW5lcmF0ZSB3cml0ZSB0b2tlbiIKLSAgIGV4aXQgMSAKLSBmaQotLS0gCi0yLjUzLjAKLQoK ZGlmZiAtLWdpdCBhLzAwMDEtWHJkQ2xIdHRwLUZpeC1idWctcHJldmVudGluZy10aGUtY29uZmln dXJhdGlvbi1vZi10aC5wYXRjaCBiLzAwMDEtWHJkQ2xIdHRwLUZpeC1idWctcHJldmVudGluZy10 aGUtY29uZmlndXJhdGlvbi1vZi10aC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi45NTI2YzMyCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1YcmRDbEh0dHAtRml4LWJ1 Zy1wcmV2ZW50aW5nLXRoZS1jb25maWd1cmF0aW9uLW9mLXRoLnBhdGNoCkBAIC0wLDAgKzEsMjgg QEAKK0Zyb20gNzFlYTRiNWIyYzY4OTM3NTAwZjRjN2I3MGE5ZDc3NTc4MTc3NmViNSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEJyaWFuIEJvY2tlbG1hbiA8YmJvY2tlbG1hbkBtb3Jn cmlkZ2Uub3JnPgorRGF0ZTogVGh1LCAyMSBNYXkgMjAyNiAwODo0NDowMyAtMDUwMAorU3ViamVj dDogW1BBVENIXSBbWHJkQ2xIdHRwXSBGaXggYnVnIHByZXZlbnRpbmcgdGhlIGNvbmZpZ3VyYXRp b24gb2YgdGhyZWFkcworCitBcHBlYXJzIGEgcHJpb3IgcmVmYWN0b3JpbmcgY2F1c2VkIHRoZSB0 aHJlYWQgY29uZmlndXJhdGlvbiB0byB1c2UKK3RoZSB3cm9uZyB2YXJpYWJsZSwgY2F1c2luZyA4 IHdvcmtlciB0aHJlYWRzIHRvIGJlIHVzZWQgcmVnYXJkbGVzcworb2YgdGhlIGN1cnJlbnQgY29u ZmlndXJhdGlvbi4KKy0tLQorIHNyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYyB8IDIg Ky0KKyAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKKworZGlm ZiAtLWdpdCBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYyBiL3NyYy9YcmRDbEh0 dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYworaW5kZXggODE0MTNlZmY0Li4wOGQ4ZWY4YmQgMTAwNjQ0 CistLS0gYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZhY3RvcnkuY2MKKysrKyBiL3NyYy9YcmRD bEh0dHAvWHJkQ2xIdHRwRmFjdG9yeS5jYworQEAgLTE5NCw3ICsxOTQsNyBAQCBGYWN0b3J5OjpJ bml0aWFsaXplKCkKKyAgICAgICAgIGF1dG8gJmNhY2hlID0gWHJkQ2xIdHRwOjpWZXJic0NhY2hl OjpJbnN0YW5jZSgpOworIAorICAgICAgICAgLy8gU3RhcnR1cCBjdXJsIHdvcmtlcnMgYWZ0ZXIg d2UndmUgc2V0IHRoZSBjb25maWdzIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucworLSAgICAgICAg Zm9yICh1bnNpZ25lZCBpZHg9MDsgaWR4PG1fcG9sbF90aHJlYWRzOyBpZHgrKykgeworKyAgICAg ICAgZm9yIChpbnQgaWR4PTA7IGlkeDxudW1fdGhyZWFkczsgaWR4KyspIHsKKyAgICAgICAgICAg ICBhdXRvIHdrID0gc3RkOjptYWtlX3VuaXF1ZTxYcmRDbEh0dHA6OkN1cmxXb3JrZXI+KG1fcXVl dWUsIGNhY2hlLCBtX2xvZyk7CisgICAgICAgICAgICAgYXV0byB3a3AgPSB3ay5nZXQoKTsKKyAg ICAgICAgICAgICBzdGQ6OnRocmVhZCB0KFhyZENsSHR0cDo6Q3VybFdvcmtlcjo6UnVuU3RhdGlj LCB3a3ApOworLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDEtWHJkQ3J5cHRvLVhyZFRs cy1YcmRWb21zLUFkYXB0LXRvLU9wZW5TU0wtNC4wLnBhdGNoIGIvMDAwMS1YcmRDcnlwdG8tWHJk VGxzLVhyZFZvbXMtQWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZTQ2YWQ5ZQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDEtWHJkQ3J5 cHRvLVhyZFRscy1YcmRWb21zLUFkYXB0LXRvLU9wZW5TU0wtNC4wLnBhdGNoCkBAIC0wLDAgKzEs NTY2IEBACitGcm9tIDUzNGUxYWEyZWZkOGU1OTI3MWQyNDEwZGM0YTRkMzNhYjdiYzhlZDkgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxl cnRAcGh5c2ljcy51dS5zZT4KK0RhdGU6IFNhdCwgMjMgTWF5IDIwMjYgMTg6NTc6NTQgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSCAxLzJdIFtYcmRDcnlwdG8vWHJkVGxzL1hyZFZvbXNdIEFkYXB0IHRv IE9wZW5TU0wgNC4wCisKKy0tLQorIHNyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmNjICAg ICB8ICAgNiArLQorIHNyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmhoICAgICB8ICAgMiAr LQorIHNyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOS5jYyAgICB8ICA0OCArKysrKy0tLS0K KyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDlDcmwuY2MgfCAgIDIgKy0KKyBzcmMvWHJk Q3J5cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYyAgfCAxNDAgKysrKysrKysrKysrKysrKysrKyst LS0tLS0tCisgc3JjL1hyZFRscy9YcmRUbHNOb3RhcnlVdGlscy5pY2MgICAgIHwgICA0ICstCisg c3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5jYyAgICAgICAgICAgIHwgICAyICstCisgc3JjL1hyZFZv bXMvWHJkVm9tc0Z1bi5oaCAgICAgICAgICAgIHwgICAyICstCisgOCBmaWxlcyBjaGFuZ2VkLCAx NDUgaW5zZXJ0aW9ucygrKSwgNjEgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zcmMvWHJk Q3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4 LmNjCitpbmRleCAzODkzYmMyYjQuLmE0NDI4Mzk4NSAxMDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlw dG8vWHJkQ3J5cHRvc3NsQXV4LmNjCisrKysgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1 eC5jYworQEAgLTY5MSwxMyArNjkxLDEzIEBAIHRpbWVfdCBYcmRDcnlwdG9zc2xBU04xdG9VVEMo Y29uc3QgQVNOMV9USU1FICp0c24xKQorICAgIC8vIE91ciByZXN1bHQgaXMgaW4gYWdyZWVtZW50 IHdpdGggJ2RhdGUgKyVzYC4gCisgICAgc3RydWN0IHRtIGx0bTsKKyAgICBjaGFyIHp6OworLSAg IGlmICgoc3NjYW5mKChjb25zdCBjaGFyICopKHRzbjEtPmRhdGEpLAorKyAgIGlmICgoc3NjYW5m KChjb25zdCBjaGFyICopIEFTTjFfU1RSSU5HX2dldDBfZGF0YSh0c24xKSwKKyAgICAgICAgIiUw MmQlMDJkJTAyZCUwMmQlMDJkJTAyZCVjIiwgCisgICAgICAgICYobHRtLnRtX3llYXIpLCAmKGx0 bS50bV9tb24pLCAmKGx0bS50bV9tZGF5KSwKKyAgICAgICAgJihsdG0udG1faG91ciksICYobHRt LnRtX21pbiksICYobHRtLnRtX3NlYyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmenopICE9IDcpIHx8ICh6eiAhPSAnWicpKSB7CisgICAgICAgIC8vIFRyeSBHZW5l cmFsaXplZFRpbWUKKy0gICAgICAgaWYgKChzc2NhbmYoKGNvbnN0IGNoYXIgKikodHNuMS0+ZGF0 YSksCisrICAgICAgIGlmICgoc3NjYW5mKChjb25zdCBjaGFyICopIEFTTjFfU1RSSU5HX2dldDBf ZGF0YSh0c24xKSwKKyAgICAgICAgICAgICIlMDRkJTAyZCUwMmQlMDJkJTAyZCUwMmQlYyIsIAor ICAgICAgICAgICAgJihsdG0udG1feWVhciksICYobHRtLnRtX21vbiksICYobHRtLnRtX21kYXkp LAorICAgICAgICAgICAgJihsdG0udG1faG91ciksICYobHRtLnRtX21pbiksICYobHRtLnRtX3Nl YyksCitAQCAtNzMzLDcgKzczMyw3IEBAIHRpbWVfdCBYcmRDcnlwdG9zc2xBU04xdG9VVEMoY29u c3QgQVNOMV9USU1FICp0c24xKQorIH0gCisgCisgLy9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCistdm9p ZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMp Cisrdm9pZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShjb25zdCBYNTA5X05BTUUgKm5tLCBYcmRP dWNTdHJpbmcgJnMpCisgeworICAgIC8vIEZ1bmN0aW9uIHRvIGNvbnZlcnQgWDUwOV9OQU1FIGlu dG8gYSBvbmUtbGluZSBodW1hbiByZWFkYWJsZSBzdHJpbmcKKyAKK2RpZmYgLS1naXQgYS9zcmMv WHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5oaCBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3Ns QXV4LmhoCitpbmRleCAzNmYzYWFkMWIuLmRlODUyYmUzZiAxMDA2NDQKKy0tLSBhL3NyYy9YcmRD cnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmhoCisrKysgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3Nz bEF1eC5oaAorQEAgLTc0LDcgKzc0LDcgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlQYXJzZVN0YWNr KFhyZFRsc1BlZXJDZXJ0cyogcGMsIFhyZENyeXB0b1g1MDlDaGFpbiAqY2hhaW4pOworIHRpbWVf dCBYcmRDcnlwdG9zc2xBU04xdG9VVEMoY29uc3QgQVNOMV9USU1FICp0c24xKTsKKyAKKyAvLyBG dW5jdGlvbiB0byBjb252ZXJ0IFg1MDlfTkFNRSBpbnRvIGEgb25lLWxpbmUgaHVtYW4gcmVhZGFi bGUgc3RyaW5nCistdm9pZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShYNTA5X05BTUUgKm5tLCBY cmRPdWNTdHJpbmcgJnMpOworK3ZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoY29uc3QgWDUw OV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKTsKKyAKKyAvLworIC8vIFg1MDkgcHJveHkgYXV4 aWxsaWFyeSBmdW5jdGlvbnMKK2RpZmYgLS1naXQgYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3Nz bFg1MDkuY2MgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDkuY2MKK2luZGV4IGJjYzc5 Yzg5Yy4uZDlkMmIxODJmIDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xY NTA5LmNjCisrKysgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDkuY2MKK0BAIC0zNDAs NyArMzQwLDExIEBAIHZvaWQgWHJkQ3J5cHRvc3NsWDUwOTo6Q2VydFR5cGUoKQorICAgCisgICAg Ym9vbCBkb25lID0gMDsKKyAgICAvLyBDaGVjayB0aGUgZXh0ZW5zaW9ucworKyNpZiBPUEVOU1NM X1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAqZXh0ID0g MDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICpleHQgPSAwOworKyNlbmRpZgor ICAgIGludCBpZHggPSAtMTsKKyAKKyAgICAvLyBGb3IgQ0FzIHdlIGFyZSBsb29raW5nIGZvciBh ICJiYXNpY0NvbnN0cmFpbnRzIgorQEAgLTY4NCw3ICs2ODgsMTEgQEAgWHJkQ3J5cHRvWDUwOWRh dGEgWHJkQ3J5cHRvc3NsWDUwOTo6R2V0RXh0ZW5zaW9uKGNvbnN0IGNoYXIgKm9pZCkKKyAKKyAg ICAvLyBMb29wIHRvIGlkZW50aWZ5IHRoZSBvbmUgd2Ugd291bGQgbGlrZQorICAgIGludCBpID0g MDsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAgWDUwOV9F WFRFTlNJT04gKndleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKndl eHQgPSAwOworKyNlbmRpZgorICAgIGZvciAoaSA9IDA7IGk8IG51bWV4dDsgaSsrKSB7CisgICAg ICAgd2V4dCA9IFg1MDlfZ2V0X2V4dChjZXJ0LCBpKTsKKyAgICAgICBpZiAodXNlbmlkKSB7CitA QCAtODIxLDcgKzgyOSwxMSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RHVtcEV4dGVuc2lvbnMo Ym9vbCBkdW1wdW5rbm93bikKKyAKKyAgICByYyA9IDE7CisgICAgLy8gR28gdGhyb3VnaCB0aGUg ZXh0ZW5zaW9ucworKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAg ICBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhU RU5TSU9OICp4cGlleHQgPSAwOworKyNlbmRpZgorICAgIGludCBucGlleHQgPSBYNTA5X2dldF9l eHRfY291bnQoeHBpKTsKKyAgICBQUklOVCgiZm91bmQgIjw8bnBpZXh0PDwiIGV4dGVuc2lvbnMg Iik7CisgICAgaW50IGkgPSAwOworQEAgLTgzNCw4ICs4NDYsOCBAQCBpbnQgWHJkQ3J5cHRvc3Ns WDUwOTo6RHVtcEV4dGVuc2lvbnMoYm9vbCBkdW1wdW5rbm93bikKKyAgICAgICBQUklOVChpIDw8 ICI6IGZvdW5kIGV4dGVuc2lvbiAnIjw8czw8IicsIGNyaXRpY2FsOiAiIDw8IGNyaXQpOworICAg ICAgIC8vIER1bXAgaXRzIGNvbnRlbnQKKyAgICAgICByYyA9IDA7CistICAgICAgY29uc3QgdW5z aWduZWQgY2hhciAqcHAgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSBYNTA5X0VYVEVOU0lPTl9n ZXRfZGF0YSh4cGlleHQpLT5kYXRhOworLSAgICAgIGxvbmcgbGVuZ3RoID0gWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoeHBpZXh0KS0+bGVuZ3RoOworKyAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIg KnBwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4 dCkpOworKyAgICAgIGxvbmcgbGVuZ3RoID0gQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKHhwaWV4dCkpOworICAgICAgIGludCByZXQgPSBGaWxsVW5rbm93bkV4dCgm cHAsIGxlbmd0aCwgZHVtcHVua25vd24pOworICAgICAgIFBSSU5UKCJyZXQ6ICIgPDwgcmV0KTsK KyAgICB9CitAQCAtOTU3LDEwICs5NjksMTAgQEAgaW50IFhyZENyeXB0b3NzbFg1MDk6OkZpbGxV bmtub3duRXh0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKipwcCwgbG9uZyBsZW5ndGgsIGJvb2wKKyAg ICAgICAgICAgICBpbnQgaSwgcHJpbnRhYmxlID0gMTsKKyAgICAgICAgICAgICBvcHAgPSBvcDsK KyAgICAgICAgICAgICBvcyA9IGQyaV9BU04xX09DVEVUX1NUUklORygwLCAmb3BwLCBsZW4gKyBo bCk7CistICAgICAgICAgICAgaWYgKG9zICYmIG9zLT5sZW5ndGggPiAwKSB7CistICAgICAgICAg ICAgICAgb3BwID0gb3MtPmRhdGE7CisrICAgICAgICAgICAgaWYgKG9zICYmIEFTTjFfU1RSSU5H X2xlbmd0aChvcykgPiAwKSB7CisrICAgICAgICAgICAgICAgb3BwID0gQVNOMV9TVFJJTkdfZ2V0 MF9kYXRhKG9zKTsKKyAgICAgICAgICAgICAgICAvKiB0ZXN0aW5nIHdoZXRoZXIgdGhlIG9jdGV0 IHN0cmluZyBpcyAqIHByaW50YWJsZSAqLworLSAgICAgICAgICAgICAgIGZvciAoaT0wOyBpPG9z LT5sZW5ndGg7IGkrKykgeworKyAgICAgICAgICAgICAgIGZvciAoaT0wOyBpIDwgQVNOMV9TVFJJ TkdfbGVuZ3RoKG9zKTsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgaWYgKCggKG9wcFtpXSA8 ICcgJykgJiYgKG9wcFtpXSAhPSAnXG4nKSAmJgorICAgICAgICAgICAgICAgICAgICAgICAgIChv cHBbaV0gIT0gJ1xyJykgJiYgKG9wcFtpXSAhPSAnXHQnKSkgfHwgKG9wcFtpXSA+ICd+JykpIHsK KyAgICAgICAgICAgICAgICAgICAgICBwcmludGFibGUgPSAwOworQEAgLTk2OSwxNiArOTgxLDE2 IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpGaWxsVW5rbm93bkV4dChjb25zdCB1bnNpZ25lZCBj aGFyICoqcHAsIGxvbmcgbGVuZ3RoLCBib29sCisgICAgICAgICAgICAgICAgfQorICAgICAgICAg ICAgICAgIGlmIChwcmludGFibGUpIHsKKyAgICAgICAgICAgICAgICAgICAvKiBwcmludGFibGUg c3RyaW5nICovCistICAgICAgICAgICAgICAgICAgY2hhciAqcyA9IG5ldyBjaGFyW29zLT5sZW5n dGggKyAxXTsKKy0gICAgICAgICAgICAgICAgICBtZW1jcHkocywgb3BwLCBvcy0+bGVuZ3RoKTsK Ky0gICAgICAgICAgICAgICAgICBzW29zLT5sZW5ndGhdID0gMDsKKy0gICAgICAgICAgICAgICAg ICBpZiAoZHVtcCkgUFJJTlQoIk9CSlM6IiA8PCBzIDw8ICIgKGxlbjogIjw8b3MtPmxlbmd0aDw8 IikiKTsKKysgICAgICAgICAgICAgICAgICBjaGFyICpzID0gbmV3IGNoYXJbQVNOMV9TVFJJTkdf bGVuZ3RoKG9zKSArIDFdOworKyAgICAgICAgICAgICAgICAgIG1lbWNweShzLCBvcHAsIEFTTjFf U1RSSU5HX2xlbmd0aChvcykpOworKyAgICAgICAgICAgICAgICAgIHNbQVNOMV9TVFJJTkdfbGVu Z3RoKG9zKV0gPSAwOworKyAgICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiT0JKUzoi IDw8IHMgPDwgIiAobGVuOiAiIDw8IEFTTjFfU1RSSU5HX2xlbmd0aChvcykgPDwgIikiKTsKKyAg ICAgICAgICAgICAgICAgICBkZWxldGUgW10gczsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgICAgICAgIC8qIHByaW50IHRoZSBub3JtYWwgZHVtcCAqLworICAgICAgICAg ICAgICAgICAgIGlmICghbmwpIFBSSU5UKCJPQkpTOiIpOworICAgICAgICAgICAgICAgICAgIEJJ TyAqbWVtID0gQklPX25ldyhCSU9fc19tZW0oKSk7CistICAgICAgICAgICAgICAgICAgaWYgKEJJ T19kdW1wX2luZGVudChtZW0sIChjb25zdCBjaGFyICopb3BwLCBvcy0+bGVuZ3RoLCBkdW1wX2lu ZGVudCkgPD0gMCkgeworKyAgICAgICAgICAgICAgICAgIGlmIChCSU9fZHVtcF9pbmRlbnQobWVt LCAoY29uc3QgY2hhciAqKW9wcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKG9zKSwgZHVtcF9pbmRlbnQp IDw9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkVSUk9SOk9C SlM6IHByb2JsZW1zIGR1bXBpbmcgdG8gQklPIik7CisgICAgICAgICAgICAgICAgICAgICAgQklP X2ZyZWUobWVtKTsgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICBnb3Rv IGVuZDsKK0BAIC05OTksMTggKzEwMTEsMTggQEAgaW50IFhyZENyeXB0b3NzbFg1MDk6OkZpbGxV bmtub3duRXh0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKipwcCwgbG9uZyBsZW5ndGgsIGJvb2wKKyAg ICAgICAgICAgICBicyA9IGQyaV9BU04xX0lOVEVHRVIoMCwgJm9wcCwgbGVuK2hsKTsKKyAgICAg ICAgICAgICBpZiAoYnMpIHsKKyAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkFJTlQ6 Iik7CistICAgICAgICAgICAgICAgaWYgKGJzLT50eXBlID09IFZfQVNOMV9ORUdfSU5URUdFUikK KysgICAgICAgICAgICAgICBpZiAoQVNOMV9TVFJJTkdfdHlwZShicykgPT0gVl9BU04xX05FR19J TlRFR0VSKQorICAgICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiLSIpOworICAgICAg ICAgICAgICAgIEJJTyAqbWVtID0gQklPX25ldyhCSU9fc19tZW0oKSk7CistICAgICAgICAgICAg ICAgZm9yIChpID0gMDsgaSA8IGJzLT5sZW5ndGg7IGkrKykgeworLSAgICAgICAgICAgICAgICAg IGlmIChCSU9fcHJpbnRmKG1lbSwgIiUwMlgiLCBicy0+ZGF0YVtpXSkgPD0gMCkgeworKyAgICAg ICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBBU04xX1NUUklOR19sZW5ndGgoYnMpOyBpKyspIHsK KysgICAgICAgICAgICAgICAgICBpZiAoQklPX3ByaW50ZihtZW0sICIlMDJYIiwgQVNOMV9TVFJJ TkdfZ2V0MF9kYXRhKGJzKVtpXSkgPD0gMCkgeworICAgICAgICAgICAgICAgICAgICAgIGlmIChk dW1wKSBQUklOVCgiRVJST1I6QUlOVDogcHJvYmxlbXMgcHJpbnRmLWluZyB0byBCSU8iKTsKKyAg ICAgICAgICAgICAgICAgICAgICBCSU9fZnJlZShtZW0pOyAKKyAgICAgICAgICAgICAgICAgICAg ICBnb3RvIGVuZDsKKyAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIGlmIChkdW1wKSB7IEJJT19QUklOVChtZW0sICJBSU5UOiIpOyB9CistICAg ICAgICAgICAgICAgaWYgKGJzLT5sZW5ndGggPT0gMCkgUFJJTlQoIjAwIik7CisrICAgICAgICAg ICAgICAgaWYgKEFTTjFfU1RSSU5HX2xlbmd0aChicykgPT0gMCkgUFJJTlQoIjAwIik7CisgICAg ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkVSUk9S OkFJTlQ6IEJBRCBJTlRFR0VSIik7CisgICAgICAgICAgICAgfQorQEAgLTEwMjMsMTggKzEwMzUs MTggQEAgaW50IFhyZENyeXB0b3NzbFg1MDk6OkZpbGxVbmtub3duRXh0KGNvbnN0IHVuc2lnbmVk IGNoYXIgKipwcCwgbG9uZyBsZW5ndGgsIGJvb2wKKyAgICAgICAgICAgICBicyA9IGQyaV9BU04x X0VOVU1FUkFURUQoMCwgJm9wcCwgbGVuK2hsKTsKKyAgICAgICAgICAgICBpZiAoYnMpIHsKKyAg ICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkFFTlU6Iik7CistICAgICAgICAgICAgICAg aWYgKGJzLT50eXBlID09IFZfQVNOMV9ORUdfRU5VTUVSQVRFRCkKKysgICAgICAgICAgICAgICBp ZiAoQVNOMV9TVFJJTkdfdHlwZShicykgPT0gVl9BU04xX05FR19FTlVNRVJBVEVEKQorICAgICAg ICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiLSIpOworICAgICAgICAgICAgICAgIEJJTyAq bWVtID0gQklPX25ldyhCSU9fc19tZW0oKSk7CistICAgICAgICAgICAgICAgZm9yIChpID0gMDsg aSA8IGJzLT5sZW5ndGg7IGkrKykgeworLSAgICAgICAgICAgICAgICAgIGlmIChCSU9fcHJpbnRm KG1lbSwgIiUwMlgiLCBicy0+ZGF0YVtpXSkgPD0gMCkgeworKyAgICAgICAgICAgICAgIGZvciAo aSA9IDA7IGkgPCBBU04xX1NUUklOR19sZW5ndGgoYnMpOyBpKyspIHsKKysgICAgICAgICAgICAg ICAgICBpZiAoQklPX3ByaW50ZihtZW0sICIlMDJYIiwgQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKGJz KVtpXSkgPD0gMCkgeworICAgICAgICAgICAgICAgICAgICAgIGlmIChkdW1wKSBQUklOVCgiRVJS T1I6QUVOVTogcHJvYmxlbXMgcHJpbnRmLWluZyB0byBCSU8iKTsKKyAgICAgICAgICAgICAgICAg ICAgICBCSU9fZnJlZShtZW0pOyAKKyAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVuZDsKKyAg ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIGlm IChkdW1wKSB7IEJJT19QUklOVChtZW0sICJBRU5VOiIpOyB9CistICAgICAgICAgICAgICAgaWYg KGJzLT5sZW5ndGggPT0gMCkgUFJJTlQoIjAwIik7CisrICAgICAgICAgICAgICAgaWYgKEFTTjFf U1RSSU5HX2xlbmd0aChicykgPT0gMCkgUFJJTlQoIjAwIik7CisgICAgICAgICAgICAgfSBlbHNl IHsKKyAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkVSUk9SOkFFTlU6IEJBRCBFTlVN RVJBVEVEIik7CisgICAgICAgICAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8vWHJk Q3J5cHRvc3NsWDUwOUNybC5jYyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUwOUNybC5j YworaW5kZXggNjFkZGFmODNjLi5jYzlmMzI0YmIgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRv L1hyZENyeXB0b3NzbFg1MDlDcmwuY2MKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3Ns WDUwOUNybC5jYworQEAgLTEwNSw3ICsxMDUsNyBAQCBYcmRDcnlwdG9zc2xYNTA5Q3JsOjpYcmRD cnlwdG9zc2xYNTA5Q3JsKFhyZENyeXB0b1g1MDkgKmNhY2VydCkKKyAKKyAgICAvLyBCaW8gZm9y IGV4cG9ydGluZyB0aGUgZXh0ZW5zaW9uCisgICAgQklPICpiZXh0ID0gQklPX25ldyhCSU9fc19t ZW0oKSk7CistICAgQVNOMV9PQkpFQ1QgKm9iaiA9IFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3Qo Y3JsZXh0KTsKKysgICBjb25zdCBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0 X29iamVjdChjcmxleHQpOworICAgIGkyYV9BU04xX09CSkVDVChiZXh0LCBvYmopOworICAgIFg1 MDlWM19FWFRfcHJpbnQoYmV4dCwgY3JsZXh0LCAwLCA0KTsKKyAgICAvLyBkYXRhIGxlbmd0aAor ZGlmZiAtLWdpdCBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsZ3NpQXV4LmNjIGIvc3JjL1hy ZENyeXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MKK2luZGV4IDhmNGI5MjljMS4uYTVkMjBlMWFm IDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MKKysrKyBi L3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsZ3NpQXV4LmNjCitAQCAtMTY1LDEyICsxNjUsMTIg QEAgYm9vbCBYcmRDcnlwdG9zc2xQcm94eUNlcnRJbmZvKGNvbnN0IHZvaWQgKmV4dGRhdGEsIGlu dCAmcGF0aGxlbiwgYm9vbCAqaGFzcG9saWMKKyAgICBPQkpfb2JqMnR4dChzLCBzaXplb2Yocyks IFg1MDlfRVhURU5TSU9OX2dldF9vYmplY3QoZXh0KSwgMSk7CisgCisgICAgLy8gTm93IGV4dHJh Y3QgdGhlIHBhdGggbGVuZ3RoIGNvbnN0cmFpbnQsIGlmIGFueQorLSAgIHVuc2lnbmVkIGNoYXIg KnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworKyAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoZXh0KSk7CisgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAqcGNpID0gMDsKKyAgICBp ZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkpCistICAgICAgcGNpID0gZDJpX1BS T1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwg WDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kgPSBkMmlf UFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICBlbHNlIGlmICghc3RyY21wKHMsIGdzaVBy b3h5Q2VydEluZm9fT0xEX09JRCkpCistICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19F WFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRf SU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJ T05fZ2V0X2RhdGEoZXh0KSkpOworICAgIGlmICghcGNpKSB7CisgICAgICAgcmV0dXJuIDA7Cisg ICAgfQorQEAgLTIwOCwxMiArMjA4LDEyIEBAIHZvaWQgWHJkQ3J5cHRvc3NsU2V0UGF0aExlbkNv bnN0cmFpbnQodm9pZCAqZXh0ZGF0YSwgaW50IHBhdGhsZW4pCisgICAgT0JKX29iajJ0eHQocywg c2l6ZW9mKHMpLCBYNTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0KGV4dCksIDEpOworIAorICAgIC8v IE5vdyBleHRyYWN0IHRoZSBwYXRoIGxlbmd0aCBjb25zdHJhaW50LCBpZiBhbnkKKy0gICB1bnNp Z25lZCBjaGFyICpwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+ZGF0YTsKKysgICBj b25zdCB1bnNpZ25lZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKGV4dCkpOworICAgIFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT04gKnBjaSA9 IDA7CisgICAgaWYgKCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19PSUQpKQorLSAgICAgIHBj aSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsIChjb25zdCB1bnNpZ25lZCBjaGFy ICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAg cGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgJnAsIEFTTjFfU1RSSU5HX2xl bmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKSk7CisgICAgZWxzZSBpZiAoIXN0cmNt cChzLCBnc2lQcm94eUNlcnRJbmZvX09MRF9PSUQpKQorLSAgICAgIHBjaSA9IGQyaV9QUk9YWV9D RVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBY NTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgIHBjaSA9IGQyaV9Q Uk9YWV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1 MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICBpZiAoIXBjaSkKKyAgICAgICByZXR1 cm47CisgCitAQCAtNDE5LDE2ICs0MTksMzIgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDcmVhdGVQ cm94eShjb25zdCBjaGFyICpmbmMsIGNvbnN0IGNoYXIgKmZuaywKKyAgICAgICByZXR1cm4gLWtF cnJQWF9TZXRBdHRyaWJ1dGU7CisgICAgfQorICAgIC8vIEV4dHJhY3QgZGF0YSBpbiBmb3JtYXQg Zm9yIGV4dGVuc2lvbgorLSAgIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCA9 IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaSwgMCk7CistICAgaWYgKCEoWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+ZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9jKFg1 MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCsxKSkpIHsKKysgICBpbnQgbGVuID0g aTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLCAwKTsKKysgICB1bnNpZ25lZCBjaGFy ICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgbWFsbG9jKGxlbik7CisrICAgaWYgKCFkYXRhKSB7 CisgICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNp b24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKyAgICB9CistICAgdW5z aWduZWQgY2hhciAqcHAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5kYXRhOworKyAg IHVuc2lnbmVkIGNoYXIgKnBwID0gZGF0YTsKKyAgICBpZiAoKGkyZF9QUk9YWV9DRVJUX0lORk9f RVhURU5TSU9OKHBjaSwgJnBwKSkgPD0gMCkgeworICAgICAgIFBSSU5UKCJwcm9ibGVtIGNvbnZl cnRpbmcgZGF0YSBmb3IgZXh0ZW5zaW9uIik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfRXJyb3I7 CisgICAgfQorKyAgIEFTTjFfT0NURVRfU1RSSU5HICpvcyA9IEFTTjFfT0NURVRfU1RSSU5HX25l dygpOworKyAgIGlmICghb3MpIHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRh dGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3Vy Y2VzOworKyAgIH0KKysgICBpZiAoQVNOMV9PQ1RFVF9TVFJJTkdfc2V0KG9zLCBkYXRhLCBsZW4p ID09IDApIHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9y IGV4dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0K KysgICBmcmVlKGRhdGEpOworKyAgIGlmIChYNTA5X0VYVEVOU0lPTl9zZXRfZGF0YShleHQsIG9z KSA9PSAwKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZv ciBleHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9 CisrICAgQVNOMV9TVFJJTkdfZnJlZShvcyk7CisgICAgLy8gQ3JlYXRlIGEgc3RhY2sKKyAgICBT VEFDS19PRihYNTA5X0VYVEVOU0lPTikgKmVzayA9IHNrX1g1MDlfRVhURU5TSU9OX25ld19udWxs KCk7CisgICAgaWYgKCFlc2spIHsKK0BAIC01MDQsNyArNTIwLDExIEBAIGludCBYcmRDcnlwdG9z c2xYNTA5Q3JlYXRlUHJveHkoY29uc3QgY2hhciAqZm5jLCBjb25zdCBjaGFyICpmbmssCisgICAg fQorIAorICAgIC8vIEZpcnN0IGR1cGxpY2F0ZSB0aGUgZXh0ZW5zaW9ucyBvZiB0aGUgRUUgY2Vy dGlmaWNhdGUKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAg WDUwOV9FWFRFTlNJT04gKnhFRUNleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRF TlNJT04gKnhFRUNleHQgPSAwOworKyNlbmRpZgorICAgIGludCBuRUVDZXh0ID0gWDUwOV9nZXRf ZXh0X2NvdW50KHhFRUMpOworICAgIERFQlVHKCJudW1iZXIgb2YgZXh0ZW5zaW9ucyBmb3VuZCBp biB0aGUgb3JpZ2luYWwgY2VydGlmaWNhdGU6ICI8PCBuRUVDZXh0KTsKKyAgICBpbnQgaSA9IDA7 CitAQCAtNzU2LDcgKzc3NiwxMSBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNyZWF0ZVByb3h5UmVx KFhyZENyeXB0b1g1MDkgKnhjcGksCisgICAgfQorICAgIC8vCisgICAgLy8gR2V0IHNpZ25hdHVy ZSBwYXRoIGRlcHRoIGZyb20gcHJlc2VudCBwcm94eQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVN QkVSIDwgMHg0MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0gMDsKKysjZWxz ZQorKyAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICp4cGlleHQgPSAwOworKyNlbmRpZgorICAgIGlu dCBucGlleHQgPSBYNTA5X2dldF9leHRfY291bnQoeHBpKTsKKyAgICBpbnQgaSA9IDA7CisgICAg Ym9vbCBoYXNrZXl1c2FnZSA9IDA7CitAQCAtNzcyLDEyICs3OTYsMTIgQEAgaW50IFhyZENyeXB0 b3NzbFg1MDlDcmVhdGVQcm94eVJlcShYcmRDcnlwdG9YNTA5ICp4Y3BpLAorICAgICAgIC8vIEdl dCBzaWduYXR1cmUgcGF0aCBkZXB0aCBmcm9tIHByZXNlbnQgcHJveHkKKyAgICAgICBpZiAoIXN0 cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09JRCkgfHwKKyAgICAgICAgICAgIXN0cmNtcChzLCBn c2lQcm94eUNlcnRJbmZvX09MRF9PSUQpKSB7CistICAgICAgICAgdW5zaWduZWQgY2hhciAqcCA9 IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmRhdGE7CisrICAgICAgICAgY29uc3Qg dW5zaWduZWQgY2hhciAqcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9n ZXRfZGF0YSh4cGlleHQpKTsKKyAgICAgICAgICBQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OICpp bnBjaSA9IDA7CisgICAgICAgICAgaWYgKCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19PSUQp KQorLSAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwg KGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBp ZXh0KS0+bGVuZ3RoKTsKKysgICAgICAgICAgICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9f RVhURU5TSU9OKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoeHBpZXh0KSkpOworICAgICAgICAgIGVsc2UKKy0gICAgICAgICAgICBpbnBjaSA9IGQyaV9Q Uk9YWV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKiko JnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5sZW5ndGgpOworKyAgICAgICAg ICAgIGlucGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04x X1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSkpOworICAgICAg ICAgIGlmIChpbnBjaSAmJgorICAgICAgICAgICAgICBpbnBjaS0+cGNQYXRoTGVuZ3RoQ29uc3Ry YWludCkKKyAgICAgICAgICAgICBpbmRlcHRobGVuID0gQVNOMV9JTlRFR0VSX2dldChpbnBjaS0+ cGNQYXRoTGVuZ3RoQ29uc3RyYWludCk7CitAQCAtODIzLDE2ICs4NDcsMzIgQEAgaW50IFhyZENy eXB0b3NzbFg1MDlDcmVhdGVQcm94eVJlcShYcmRDcnlwdG9YNTA5ICp4Y3BpLAorICAgICAgIHJl dHVybiAta0VyclBYX05vUmVzb3VyY2VzOworICAgIH0KKyAgICAvLyBFeHRyYWN0IGRhdGEgaW4g Zm9ybWF0IGZvciBleHRlbnNpb24KKy0gICBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0 KCkpLT5sZW5ndGggPSBpMmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksIDAp OworLSAgIGlmICghKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmRhdGEgPSAo dW5zaWduZWQgY2hhciAqKW1hbGxvYyhYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkp LT5sZW5ndGgrMSkpKSB7CisrICAgaW50IGxlbiA9IGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5T SU9OKHBjaS5nZXQoKSwgMCk7CisrICAgdW5zaWduZWQgY2hhciAqZGF0YSA9ICh1bnNpZ25lZCBj aGFyICopIG1hbGxvYyhsZW4pOworKyAgIGlmICghZGF0YSkgeworICAgICAgIFBSSU5UKCJjb3Vs ZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9uIik7CisgICAgICAgcmV0dXJu IC1rRXJyUFhfTm9SZXNvdXJjZXM7CisgICAgfQorLSAgIHVuc2lnbmVkIGNoYXIgKnBwID0gWDUw OV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+ZGF0YTsKKysgICB1bnNpZ25lZCBjaGFy ICpwcCA9IGRhdGE7CisgICAgaWYgKChpMmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2ku Z2V0KCksICZwcCkpIDw9IDApIHsKKyAgICAgICBQUklOVCgicHJvYmxlbSBjb252ZXJ0aW5nIGRh dGEgZm9yIGV4dGVuc2lvbiIpOworICAgICAgIHJldHVybiAta0VyclBYX0Vycm9yOworICAgIH0K KysgICBBU04xX09DVEVUX1NUUklORyAqb3MgPSBBU04xX09DVEVUX1NUUklOR19uZXcoKTsKKysg ICBpZiAoIW9zKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxk IGZvciBleHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysg ICB9CisrICAgaWYgKEFTTjFfT0NURVRfU1RSSU5HX3NldChvcywgZGF0YSwgbGVuKSA9PSAwKSB7 CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNp b24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgZnJl ZShkYXRhKTsKKysgICBpZiAoWDUwOV9FWFRFTlNJT05fc2V0X2RhdGEoZXh0LmdldCgpLCBvcykg PT0gMCkgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3Ig ZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQor KyAgIEFTTjFfU1RSSU5HX2ZyZWUob3MpOworICAgIHBjaSA9IG51bGxwdHI7CisgCisgICAgLy8g U2V0IGV4dGVuc2lvbiBuYW1lLgorQEAgLTEwMzAsNyArMTA3MCwxMSBAQCBpbnQgWHJkQ3J5cHRv c3NsWDUwOVNpZ25Qcm94eVJlcShYcmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRDcnlwdG9SU0EgKmtj cGksCisgCisgICAgLy8KKyAgICAvLyBHZXQgc2lnbmF0dXJlIHBhdGggZGVwdGggZnJvbSBpbnB1 dCBwcm94eQorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0MDAwMDAwMEwKKyAgICBY NTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0gMCwgKnhyaWV4dCA9IDA7CisrI2Vsc2UKKysgICBjb25z dCBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0gMCwgKnhyaWV4dCA9IDA7CisrI2VuZGlmCisgICAg aW50IG5waWV4dCA9IFg1MDlfZ2V0X2V4dF9jb3VudCh4cGkpOworICAgIGludCBpID0gMDsKKyAg ICBib29sIGhhc2tleXVzYWdlID0gMDsKK0BAIC0xMDM4LDE3ICsxMDgyLDE3IEBAIGludCBYcmRD cnlwdG9zc2xYNTA5U2lnblByb3h5UmVxKFhyZENyeXB0b1g1MDkgKnhjcGksIFhyZENyeXB0b1JT QSAqa2NwaSwKKyAgICBmb3IgKGkgPSAwOyBpPCBucGlleHQ7IGkrKykgeworICAgICAgIHhwaWV4 dCA9IFg1MDlfZ2V0X2V4dCh4cGksIGkpOworICAgICAgIGNoYXIgc1syNTZdID0gezB9OworLSAg ICAgIEFTTjFfT0JKRUNUICpvYmogPSBYNTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0KHhwaWV4dCk7 CisrICAgICAgY29uc3QgQVNOMV9PQkpFQ1QgKm9iaiA9IFg1MDlfRVhURU5TSU9OX2dldF9vYmpl Y3QoeHBpZXh0KTsKKyAgICAgICBpZiAob2JqKQorICAgICAgICAgIE9CSl9vYmoydHh0KHMsIHNp emVvZihzKSwgb2JqLCAxKTsKKyAgICAgICBpZiAoIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZv X09JRCkgfHwKKyAgICAgICAgICAgIXN0cmNtcChzLCBnc2lQcm94eUNlcnRJbmZvX09MRF9PSUQp KSB7CistICAgICAgICAgdW5zaWduZWQgY2hhciAqcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KHhwaWV4dCktPmRhdGE7CisrICAgICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IEFTTjFf U1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpKTsKKyAgICAg ICAgICBQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OICppbnBjaSA9IDA7CisgICAgICAgICAgaWYg KCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19PSUQpKQorLSAgICAgICAgICAgIGlucGNpID0g ZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiop KCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+bGVuZ3RoKTsKKysgICAgICAg ICAgICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsICZwLCBBU04xX1NU UklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSkpOworICAgICAgICAg IGVsc2UKKy0gICAgICAgICAgICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9O X09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRf ZGF0YSh4cGlleHQpLT5sZW5ndGgpOworKyAgICAgICAgICAgIGlucGNpID0gZDJpX1BST1hZX0NF UlRfSU5GT19FWFRFTlNJT05fT0xEKDAsICZwLCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRF TlNJT05fZ2V0X2RhdGEoeHBpZXh0KSkpOworICAgICAgICAgIGlmIChpbnBjaSAmJgorICAgICAg ICAgICAgICBpbnBjaS0+cGNQYXRoTGVuZ3RoQ29uc3RyYWludCkKKyAgICAgICAgICAgICBpbmRl cHRobGVuID0gQVNOMV9JTlRFR0VSX2dldChpbnBjaS0+cGNQYXRoTGVuZ3RoQ29uc3RyYWludCk7 CitAQCAtMTEwMSw5ICsxMTQ1LDkgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlTaWduUHJveHlSZXEo WHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkQ3J5cHRvUlNBICprY3BpLAorICAgIC8vIEdldCB0aGUg Y29udGVudAorICAgIGludCByZXFkZXB0aGxlbiA9IC0xOworICAgIGlmICh4cmlleHQpIHsKKy0g ICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHJpZXh0KS0+ ZGF0YTsKKysgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9k YXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhyaWV4dCkpOworICAgICAgIFBST1hZX0NFUlRf SU5GT19FWFRFTlNJT04gKnJlcXBjaSA9CistICAgICAgICAgZDJpX1BST1hZX0NFUlRfSU5GT19F WFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoeHJpZXh0KS0+bGVuZ3RoKTsKKysgICAgICAgICBkMmlfUFJPWFlfQ0VSVF9JTkZP X0VYVEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9k YXRhKHhyaWV4dCkpKTsKKyAgICAgICBpZiAocmVxcGNpICYmCisgICAgICAgICAgIHJlcXBjaS0+ cGNQYXRoTGVuZ3RoQ29uc3RyYWludCkKKyAgICAgICAgICByZXFkZXB0aGxlbiA9IEFTTjFfSU5U RUdFUl9nZXQocmVxcGNpLT5wY1BhdGhMZW5ndGhDb25zdHJhaW50KTsKK0BAIC0xMTQwLDE2ICsx MTg0LDMyIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5U2lnblByb3h5UmVxKFhyZENyeXB0b1g1MDkg KnhjcGksIFhyZENyeXB0b1JTQSAqa2NwaSwKKyAgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291 cmNlczsKKyAgICB9CisgICAgLy8gRXh0cmFjdCBkYXRhIGluIGZvcm1hdCBmb3IgZXh0ZW5zaW9u CistICAgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+bGVuZ3RoID0gaTJkX1BS T1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdldCgpLCAwKTsKKy0gICBpZiAoIShYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5kYXRhID0gKHVuc2lnbmVkIGNoYXIgKiltYWxs b2MoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+bGVuZ3RoKzEpKSkgeworKyAg IGludCBsZW4gPSBpMmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2kuZ2V0KCksIDApOwor KyAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSAodW5zaWduZWQgY2hhciAqKSBtYWxsb2MobGVuKTsK KysgICBpZiAoIWRhdGEpIHsKKyAgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEg ZmllbGQgZm9yIGV4dGVuc2lvbiIpOworICAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2Vz OworICAgIH0KKy0gICB1bnNpZ25lZCBjaGFyICpwcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KGV4dC5nZXQoKSktPmRhdGE7CisrICAgdW5zaWduZWQgY2hhciAqcHAgPSBkYXRhOworICAgIGlm ICgoaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdldCgpLCAmcHApKSA8PSAwKSB7 CisgICAgICAgUFJJTlQoInByb2JsZW0gY29udmVydGluZyBkYXRhIGZvciBleHRlbnNpb24iKTsK KyAgICAgICByZXR1cm4gLWtFcnJQWF9FcnJvcjsKKyAgICB9CisrICAgQVNOMV9PQ1RFVF9TVFJJ TkcgKm9zID0gQVNOMV9PQ1RFVF9TVFJJTkdfbmV3KCk7CisrICAgaWYgKCFvcykgeworKyAgICAg IFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9uIik7Cisr ICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIGlmIChBU04xX09D VEVUX1NUUklOR19zZXQob3MsIGRhdGEsIGxlbikgPT0gMCkgeworKyAgICAgIFBSSU5UKCJjb3Vs ZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJu IC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIGZyZWUoZGF0YSk7CisrICAgaWYgKFg1 MDlfRVhURU5TSU9OX3NldF9kYXRhKGV4dC5nZXQoKSwgb3MpID09IDApIHsKKysgICAgICBQUklO VCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworKyAgICAg IHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBBU04xX1NUUklOR19mcmVl KG9zKTsKKyAgICBwY2kgPSBudWxscHRyOworIAorICAgIC8vIFNldCBleHRlbnNpb24gbmFtZS4K K0BAIC0xMjE1LDcgKzEyNzUsMTEgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlHZXRWT01TQXR0cihY cmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRPdWNTdHJpbmcgJnZhdCkKKyAgICByYyA9IDE7CisgICAg Ym9vbCBnZXR2YXQgPSAwOworICAgIC8vIEdvIHRocm91Z2ggdGhlIGV4dGVuc2lvbnMKKysjaWYg T1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAgWDUwOV9FWFRFTlNJT04g KnhwaWV4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0g MDsKKysjZW5kaWYKKyAgICBpbnQgbnBpZXh0ID0gWDUwOV9nZXRfZXh0X2NvdW50KHhwaSk7Cisg ICAgaW50IGkgPSAwOworICAgIGZvciAoaSA9IDA7IGk8IG5waWV4dDsgaSsrKSB7CitAQCAtMTIy Nyw4ICsxMjkxLDggQEAgaW50IFhyZENyeXB0b3NzbFg1MDlHZXRWT01TQXR0cihYcmRDcnlwdG9Y NTA5ICp4Y3BpLCBYcmRPdWNTdHJpbmcgJnZhdCkKKyAgICAgICBpZiAoc3RyY21wKHMsIFhSREdT SV9WT01TX0FDU0VRX09JRCkpIGNvbnRpbnVlOworICAgICAgIC8vIFRoaXMgaXMgdGhlIFZPTVMg ZXh0ZW5zaW9uIHdlIGFyZSBpbnRlcmVzdGVkIGZvcgorICAgICAgIHJjID0gMDsKKy0gICAgICBj b25zdCB1bnNpZ25lZCBjaGFyICpwcCA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIFg1MDlfRVhU RU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmRhdGE7CistICAgICAgbG9uZyBsZW5ndGggPSBYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5sZW5ndGg7CisrICAgICAgY29uc3QgdW5zaWdu ZWQgY2hhciAqcHAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoeHBpZXh0KSk7CisrICAgICAgbG9uZyBsZW5ndGggPSBBU04xX1NUUklOR19sZW5ndGgoWDUw OV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSk7CisgICAgICAgaW50IHJldCA9IFhyZENyeXB0 b3NzbFg1MDlGaWxsVk9NUygmcHAsIGxlbmd0aCwgZ2V0dmF0LCB2YXQpOworICAgICAgIERFQlVH KCJyZXQ6ICIgPDwgcmV0IDw8ICIgLSB2YXQ6ICIgPDwgdmF0KTsKKyAgICB9CitAQCAtMTMxNiwx MCArMTM4MCwxMCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUZpbGxWT01TKGNvbnN0IHVuc2lnbmVk IGNoYXIgKipwcCwKKyAgICAgICAgICAgICBpbnQgaSwgcHJpbnRhYmxlID0gMTsKKyAgICAgICAg ICAgICBvcHAgPSBvcDsKKyAgICAgICAgICAgICBvcyA9IGQyaV9BU04xX09DVEVUX1NUUklORygw LCAmb3BwLCBsZW4gKyBobCk7CistICAgICAgICAgICAgaWYgKG9zICYmIG9zLT5sZW5ndGggPiAw KSB7CistICAgICAgICAgICAgICAgb3BwID0gb3MtPmRhdGE7CisrICAgICAgICAgICAgaWYgKG9z ICYmIEFTTjFfU1RSSU5HX2xlbmd0aChvcykgPiAwKSB7CisrICAgICAgICAgICAgICAgb3BwID0g QVNOMV9TVFJJTkdfZ2V0MF9kYXRhKG9zKTsKKyAgICAgICAgICAgICAgICAvLyBUZXN0aW5nIHdo ZXRoZXIgdGhlIG9jdGV0IHN0cmluZyBpcyBwcmludGFibGUKKy0gICAgICAgICAgICAgICBmb3Ig KGk9MDsgaTxvcy0+bGVuZ3RoOyBpKyspIHsKKysgICAgICAgICAgICAgICBmb3IgKGk9MDsgaSA8 IEFTTjFfU1RSSU5HX2xlbmd0aChvcyk7IGkrKykgeworICAgICAgICAgICAgICAgICAgIGlmICgo IChvcHBbaV0gPCAnICcpICYmIChvcHBbaV0gIT0gJ1xuJykgJiYKKyAgICAgICAgICAgICAgICAg ICAgICAgICAob3BwW2ldICE9ICdccicpICYmIChvcHBbaV0gIT0gJ1x0JykpIHx8IChvcHBbaV0g PiAnficpKSB7CisgICAgICAgICAgICAgICAgICAgICAgcHJpbnRhYmxlID0gMDsKK0BAIC0xMzMz LDcgKzEzOTcsNyBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUZpbGxWT01TKGNvbnN0IHVuc2lnbmVk IGNoYXIgKipwcCwKKyAgICAgICAgICAgICAgICAgICAgICB2YXQgKz0gKGNvbnN0IGNoYXIgKilv cHA7CisgICAgICAgICAgICAgICAgICAgICAgZ290dmF0ID0gMTsKKyAgICAgICAgICAgICAgICAg ICB9CistICAgICAgICAgICAgICAgICAgREVCVUcoIk9CSlM6IiA8PCAoY29uc3QgY2hhciAqKW9w cCA8PCAiIChsZW46ICI8PG9zLT5sZW5ndGg8PCIpIik7CisrICAgICAgICAgICAgICAgICAgREVC VUcoIk9CSlM6IiA8PCAoY29uc3QgY2hhciAqKW9wcCA8PCAiIChsZW46ICIgPDwgQVNOMV9TVFJJ TkdfbGVuZ3RoKG9zKSA8PCAiKSIpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgaWYgKG9zKSB7CitAQCAtMTM4NSwxMSArMTQ0OSwxOSBAQCBpbnQgWHJk Q3J5cHRvc3NsWDUwOUNoZWNrUHJveHkzKFhyZENyeXB0b1g1MDkgKnhjcGksIFhyZE91Y1N0cmlu ZyAmZW1zZykgeworICAgIH0KKyAgICBUUkFDRShBTEwsImNlcnRpZmljYXRlIGhhcyAiPDxudW1l eHQ8PCIgZXh0ZW5zaW9ucyIpOworIAorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVSIDwgMHg0 MDAwMDAwMEwKKyAgICBYNTA5X0VYVEVOU0lPTiAqZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0 IFg1MDlfRVhURU5TSU9OICpleHQgPSAwOworKyNlbmRpZgorICAgIFBST1hZX0NFUlRfSU5GT19F WFRFTlNJT04gKnBjaSA9IDA7CisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1leHQ7IGkrKykg eworICAgICAgIC8vIEdldCB0aGUgZXh0ZW5zaW9uCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1C RVIgPCAweDQwMDAwMDAwTAorICAgICAgIFg1MDlfRVhURU5TSU9OICp4ZXh0ID0gWDUwOV9nZXRf ZXh0KGNlcnQsIGkpOworKyNlbHNlCisrICAgICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKnhleHQg PSBYNTA5X2dldF9leHQoY2VydCwgaSk7CisrI2VuZGlmCisgICAgICAgLy8gV2UgYXJlIGxvb2tp bmcgZm9yIGdzaVByb3h5Q2VydEluZm9fT0lEICAgICAoIjEuMy42LjEuNS41LjcuMS4xNCIpCisg ICAgICAgLy8gICAgICAgICAgICAgICAgIG9yIGdzaVByb3h5Q2VydEluZm9fT0xEX09JRCAoIjEu My42LjEuNC4xLjM1MzYuMS4yMjIiKQorICAgICAgIGNoYXIgc1syNTZdOworQEAgLTEzOTksOCAr MTQ3MSw4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5Q2hlY2tQcm94eTMoWHJkQ3J5cHRvWDUwOSAq eGNwaSwgWHJkT3VjU3RyaW5nICZlbXNnKSB7CisgICAgICAgICAgaWYgKGV4dCA9PSAwKSB7Cisg ICAgICAgICAgICAgZXh0ID0geGV4dDsKKyAgICAgICAgICAgICAvLyBOb3cgZ2V0IHRoZSBleHRl bnNpb24KKy0gICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpwID0gWDUwOV9FWFRFTlNJT05fZ2V0 X2RhdGEoZXh0KS0+ZGF0YTsKKy0gICAgICAgICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZP X0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNo YXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0 KSk7CisrICAgICAgICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwg JnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKSk7Cisg ICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICBQUklOVCgiV0FSTklORzogbXVsdGlwbGUg cHJveHlDZXJ0SW5mbyBleHRlbnNpb25zIGZvdW5kOiB0YWtpbmcgdGhlIGZpcnN0Iik7CisgICAg ICAgICAgfQorQEAgLTE0MDgsOCArMTQ4MCw4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5Q2hlY2tQ cm94eTMoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkT3VjU3RyaW5nICZlbXNnKSB7CisgICAgICAg ICAgaWYgKGV4dCA9PSAwKSB7CisgICAgICAgICAgICAgZXh0ID0geGV4dDsKKyAgICAgICAgICAg ICAvLyBOb3cgZ2V0IHRoZSBleHRlbnNpb24KKy0gICAgICAgICAgICB1bnNpZ25lZCBjaGFyICpw ID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+ZGF0YTsKKy0gICAgICAgICAgICBwY2kg PSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNo YXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAg ICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1 MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkpOworKyAgICAgICAgICAgIHBjaSA9IGQyaV9QUk9Y WV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dCkpKTsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg ICAgIFBSSU5UKCJXQVJOSU5HOiBtdWx0aXBsZSBwcm94eUNlcnRJbmZvIGV4dGVuc2lvbnMgZm91 bmQ6IHRha2luZyB0aGUgZmlyc3QiKTsKKyAgICAgICAgICB9CitkaWZmIC0tZ2l0IGEvc3JjL1hy ZFRscy9YcmRUbHNOb3RhcnlVdGlscy5pY2MgYi9zcmMvWHJkVGxzL1hyZFRsc05vdGFyeVV0aWxz LmljYworaW5kZXggNDQxMjVkOTg4Li4zZGVkNGY5OTMgMTAwNjQ0CistLS0gYS9zcmMvWHJkVGxz L1hyZFRsc05vdGFyeVV0aWxzLmljYworKysrIGIvc3JjL1hyZFRscy9YcmRUbHNOb3RhcnlVdGls cy5pY2MKK0BAIC01Niw4ICs1Niw4IEBAIFNPRlRXQVJFLgorICovCisgc3RhdGljIEhvc3RuYW1l VmFsaWRhdGlvblJlc3VsdCBtYXRjaGVzX2NvbW1vbl9uYW1lKGNvbnN0IGNoYXIgKmhvc3RuYW1l LCBjb25zdCBYNTA5ICpzZXJ2ZXJfY2VydCkgeworICAgICAgICAgaW50IGNvbW1vbl9uYW1lX2xv YyA9IC0xOworLSAgICAgICAgWDUwOV9OQU1FX0VOVFJZICpjb21tb25fbmFtZV9lbnRyeSA9IE5V TEw7CistICAgICAgICBBU04xX1NUUklORyAqY29tbW9uX25hbWVfYXNuMSA9IE5VTEw7CisrICAg ICAgICBjb25zdCBYNTA5X05BTUVfRU5UUlkgKmNvbW1vbl9uYW1lX2VudHJ5ID0gTlVMTDsKKysg ICAgICAgIGNvbnN0IEFTTjFfU1RSSU5HICpjb21tb25fbmFtZV9hc24xID0gTlVMTDsKKyAgICAg ICAgIGNoYXIgKmNvbW1vbl9uYW1lX3N0ciA9IE5VTEw7CisgCisgICAgICAgICAvLyBGaW5kIHRo ZSBwb3NpdGlvbiBvZiB0aGUgQ04gZmllbGQgaW4gdGhlIFN1YmplY3QgZmllbGQgb2YgdGhlIGNl cnRpZmljYXRlCitkaWZmIC0tZ2l0IGEvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5jYyBiL3NyYy9Y cmRWb21zL1hyZFZvbXNGdW4uY2MKK2luZGV4IGE0YmM5YjhiNy4uZmU2ZThlYmI3IDEwMDY0NAor LS0tIGEvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5jYworKysrIGIvc3JjL1hyZFZvbXMvWHJkVm9t c0Z1bi5jYworQEAgLTExMCw3ICsxMTAsNyBAQCBYcmRWb21zRnVuOjpYcmRWb21zRnVuKFhyZFN5 c0Vycm9yICZlcnApCisgICAKKyAvLyBGdW5jdGlvbiB0byBjb252ZXJ0IFg1MDlfTkFNRSBpbnRv IGEgb25lLWxpbmUgaHVtYW4gcmVhZGFibGUgc3RyaW5nCisgLy8KKy12b2lkIFhyZFZvbXNGdW46 Ok5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykKKyt2b2lkIFhyZFZv bXNGdW46Ok5hbWVPbmVMaW5lKGNvbnN0IFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykK KyB7CisgICAgQklPICptYmlvID0gQklPX25ldyhCSU9fc19tZW0oKSk7CisgICAgWDUwOV9OQU1F X3ByaW50X2V4KG1iaW8sIG5tLCAwLCBYTl9GTEFHX0NPTVBBVCk7CitkaWZmIC0tZ2l0IGEvc3Jj L1hyZFZvbXMvWHJkVm9tc0Z1bi5oaCBiL3NyYy9YcmRWb21zL1hyZFZvbXNGdW4uaGgKK2luZGV4 IGZmNWRmNThlZi4uNWMxMTI5YWI4IDEwMDY0NAorLS0tIGEvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1 bi5oaAorKysrIGIvc3JjL1hyZFZvbXMvWHJkVm9tc0Z1bi5oaAorQEAgLTY1LDcgKzY1LDcgQEAg aW50ICBWT01TSW5pdChjb25zdCBjaGFyICpjZmcpOworIHByaXZhdGU6CisgCisgdm9pZCBGbXRF eHRyYWN0KFhyZE91Y1N0cmluZyAmb3V0LCBYcmRPdWNTdHJpbmcgaW4sIGNvbnN0IGNoYXIgKnRh Zyk7Cistdm9pZCBOYW1lT25lTGluZShYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpOwor K3ZvaWQgTmFtZU9uZUxpbmUoY29uc3QgWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKTsK KyB2b2lkIEZtdFJlcGxhY2UoWHJkU2VjRW50aXR5ICZlbnQpOworIAorIC8vIFRoZXNlIHNldHRp bmdzIGFyZSBjb25maWd1cmFibGUKKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAyLUFk ZC1jYXRjaC1hbGwtd29yay1hcm91bmQtZm9yLW1pc3NpbmctZ2V0dGlkLnBhdGNoIGIvMDAwMi1B ZGQtY2F0Y2gtYWxsLXdvcmstYXJvdW5kLWZvci1taXNzaW5nLWdldHRpZC5wYXRjaApkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGEyMDhmNy4uMDAwMDAwMAotLS0gYS8wMDAyLUFkZC1j YXRjaC1hbGwtd29yay1hcm91bmQtZm9yLW1pc3NpbmctZ2V0dGlkLnBhdGNoCisrKyAvZGV2L251 bGwKQEAgLTEsMzkgKzAsMCBAQAotRnJvbSAwZWY1YjFhOTdkMWNhMGQ4MjU4Mzg0MzUzMTY1Yjg1 NDU0NjM4NzZhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQg PG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIx OjIwOjQ4ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggMi82XSBBZGQgY2F0Y2gtYWxsIHdvcmstYXJv dW5kIGZvciBtaXNzaW5nIGdldHRpZAotCi1Qb3NzaWJseSB0aGVyZSBhcmUgYmV0dGVyIHNvbHV0 aW9ucywgYnV0IHRoaXMgaXMgY29uc2lzdGVudCB3aXRoIHRoZQotaW1wbGVtZW50YXRpb24gaW4g c3JjL1hyZFN5cy9YcmRTeXNQdGhyZWFkLmNjCi0tLS0KLSBzcmMvWHJkQ2xIdHRwL1hyZENsSHR0 cFV0aWwuY2MgfCA2ICsrKystLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDIg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cFV0aWwu Y2MgYi9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cFV0aWwuY2MKLWluZGV4IGExNTk3YjIwMC4uN2Jl ZGI0MzczIDEwMDY0NAotLS0tIGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBVdGlsLmNjCi0rKysg Yi9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cFV0aWwuY2MKLUBAIC04NiwxNiArODYsMTggQEAgc3Ry dWN0IFdhaXRpbmdGb3JCcm9rZXIgewotIG5hbWVzcGFjZSB7Ci0gCi0gcGlkX3QgZ2V0dGhyZWFk aWQoKSB7Ci0tI2lmZGVmIF9fQVBQTEVfXwotKyNpZiAgIGRlZmluZWQoX19BUFBMRV9fKQotICAg ICB1aW50NjRfdCBwdGhfdGhyZWFkaWQ7Ci0gICAgIHB0aHJlYWRfdGhyZWFkaWRfbnAocHRocmVh ZF9zZWxmKCksICZwdGhfdGhyZWFkaWQpOwotICAgICByZXR1cm4gcHRoX3RocmVhZGlkOwotLSNl bHNlCi0rI2VsaWYgZGVmaW5lZChfX2xpbnV4X18pCi0gICAgIC8vIE5PVEU6IGdsaWJjIDIuMzAg ZmluYWxseSBwcm92aWRlcyBhIGdldHRpZCgpIHdyYXBwZXI7IGhvd2V2ZXIsCi0gICAgIC8vIHdl IGN1cnJlbnRseSBzdXBwb3J0IFJIRUwgOCwgd2hpY2ggaXMgYmFzZWQgb24gZ2xpYmMgMi4yOC4g IFVudGlsCi0gICAgIC8vIHdlIGRyb3AgdGhhdCBwbGF0Zm9ybSwgaXQncyBlYXNpZXIgdG8gZG8g dGhlIHN5c2NhbGwgZGlyZWN0bHkgb24gTGludXgKLSAgICAgLy8gaW5zdGVhZCBvZiBhZGRpdGlv bmFsIGlmZGVmIGNhbGxzLgotICAgICByZXR1cm4gc3lzY2FsbChTWVNfZ2V0dGlkKTsKLSsjZWxz ZQotKyAgIHJldHVybiBnZXRwaWQoKTsKLSAjZW5kaWYKLSB9Ci0gCi0tLSAKLTIuNTMuMAotCgpk aWZmIC0tZ2l0IGEvMDAwMi1YcmRDcnlwdG8tUHJlc2VydmUtQUJJLnBhdGNoIGIvMDAwMi1YcmRD cnlwdG8tUHJlc2VydmUtQUJJLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjAyYWE3YTUKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAyLVhyZENyeXB0by1QcmVzZXJ2ZS1B QkkucGF0Y2gKQEAgLTAsMCArMSwzMCBAQAorRnJvbSAwOWE5ODM3M2JjNDQyZDUxNWYzNDc1OTNj MTEzODQyNzMzZWE2MGI3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGlhcyBF bGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+CitEYXRlOiBTYXQsIDIzIE1heSAy MDI2IDIwOjU5OjA0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMi8yXSBbWHJkQ3J5cHRvXSBQcmVz ZXJ2ZSBBQkkKKworQWRkIGJhY2sgbm93IHVudXNlZCBub24tY29uc3QgdmVyc2lvbiBvZiBmdW5j dGlvbgorLS0tCisgc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXguY2MgfCA5ICsrKysrKysr KworIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKKworZGlmZiAtLWdpdCBhL3NyYy9Y cmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xB dXguY2MKK2luZGV4IGE0NDI4Mzk4NS4uZTBjZTM1Mjg1IDEwMDY0NAorLS0tIGEvc3JjL1hyZENy eXB0by9YcmRDcnlwdG9zc2xBdXguY2MKKysrKyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3Ns QXV4LmNjCitAQCAtNzU1LDMgKzc1NSwxMiBAQCB2b2lkIFhyZENyeXB0b3NzbE5hbWVPbmVMaW5l KGNvbnN0IFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykKKyAgICAvLyBEb25lCisgICAg cmV0dXJuOworIH0KKysKKysvL19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KKyt2b2lkIFhyZENyeXB0b3Nz bE5hbWVPbmVMaW5lKFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcykKKyt7CisrICAgLy8g Q29weSBvZiBhYm92ZSBmdW5jdGlvbiB3aXRoIG5vbi1jb25zdCBmaXJzdCBhcmd1bWVudAorKyAg IC8vIFRoaXMgZnVuY3Rpb24gaXMgdW51c2VkIC0tIG9ubHkgYWRkZWQgdG8gcHJlc2VydmUgb2xk IEFCSQorKyAgIC8vIENhbiBiZSByZW1vdmVkIGlmIHNvbmFtZSBjaGFuZ2VzCisrICAgWHJkQ3J5 cHRvc3NsTmFtZU9uZUxpbmUoY29uc3RfY2FzdDxjb25zdCBYNTA5X05BTUUgKj4obm0pLCBzKTsK Kyt9CistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMy1BbHNvLWNoZWNrLWZvci1HTlUt aW4tc3RhdHgucGF0Y2ggYi8wMDAzLUFsc28tY2hlY2stZm9yLUdOVS1pbi1zdGF0eC5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDg3ZWMxNC4uMDAwMDAwMAotLS0gYS8wMDAz LUFsc28tY2hlY2stZm9yLUdOVS1pbi1zdGF0eC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDM5 ICswLDAgQEAKLUZyb20gMDQ5MjA3OGI2MGU3ZmZjNTBlZThmZDIyODJiNTk2MGUyNjRhMTdiNCBN b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHRpYXMgRWxsZXJ0IDxtYXR0aWFzLmVs bGVydEBwaHlzaWNzLnV1LnNlPgotRGF0ZTogTW9uLCAyMCBBcHIgMjAyNiAyMTo1MzozOCArMDIw MAotU3ViamVjdDogW1BBVENIIDMvNl0gQWxzbyBjaGVjayBmb3IgR05VIGluIHN0YXR4Ci0KLS0t LQotIHNyYy9YcmRTeXMvWHJkU3lzU3RhdHguaGggICAgICAgICAgICAgfCAyICstCi0gdGVzdHMv WHJkU3lzVGVzdHMvWHJkU3lzU3RhdHhUZXN0cy5jYyB8IDIgKy0KLSAyIGZpbGVzIGNoYW5nZWQs IDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9YcmRT eXMvWHJkU3lzU3RhdHguaGggYi9zcmMvWHJkU3lzL1hyZFN5c1N0YXR4LmhoCi1pbmRleCAxM2I0 ODk0ZTAuLmRmYWEzZjdiZSAxMDA2NDQKLS0tLSBhL3NyYy9YcmRTeXMvWHJkU3lzU3RhdHguaGgK LSsrKyBiL3NyYy9YcmRTeXMvWHJkU3lzU3RhdHguaGgKLUBAIC0zNSw3ICszNSw3IEBACi0gI2lu Y2x1ZGUgPGNzdHJpbmc+Ci0gI2luY2x1ZGUgPGZjbnRsLmg+Ci0gCi0tI2lmZGVmIF9fbGludXhf XwotKyNpZiBkZWZpbmVkKF9fbGludXhfXykgfHwgZGVmaW5lZChfX0dOVV9fKQotICNpbmNsdWRl IDxzeXMvc3lzbWFjcm9zLmg+Ci0gdXNpbmcgWHJkU3lzU3RhdHggPSBzdHJ1Y3Qgc3RhdHg7Ci0g I2RlZmluZSBIQVZFX1NUQVRYCi1kaWZmIC0tZ2l0IGEvdGVzdHMvWHJkU3lzVGVzdHMvWHJkU3lz U3RhdHhUZXN0cy5jYyBiL3Rlc3RzL1hyZFN5c1Rlc3RzL1hyZFN5c1N0YXR4VGVzdHMuY2MKLWlu ZGV4IGQyZDdlNzI5Zi4uMjNkMmFhYWM2IDEwMDY0NAotLS0tIGEvdGVzdHMvWHJkU3lzVGVzdHMv WHJkU3lzU3RhdHhUZXN0cy5jYwotKysrIGIvdGVzdHMvWHJkU3lzVGVzdHMvWHJkU3lzU3RhdHhU ZXN0cy5jYwotQEAgLTI3LDcgKzI3LDcgQEAgVEVTVF9GKFhyZFN5c1N0YXR4VGVzdHMsIFN0YXQy U3RhdHhCYXNpY0ZpZWxkcykgewotIAotICAgRVhQRUNUX0VRKHN0eC5zdHhfbWFzaywgKHVpbnQz Ml90KVNUQVRYX0JBU0lDX1NUQVRTKTsKLSAKLS0jaWZkZWYgX19saW51eF9fCi0rI2lmIGRlZmlu ZWQoX19saW51eF9fKSB8fCBkZWZpbmVkKF9fR05VX18pCi0gICBFWFBFQ1RfRVEoc3R4LnN0eF9t b2RlLCAgICAodWludDE2X3QpKFNfSUZSRUcgfCAwNzU1KSk7Ci0gICBFWFBFQ1RfRVEoc3R4LnN0 eF9ubGluaywgICAodWludDMyX3QpMyk7Ci0gICBFWFBFQ1RfRVEoc3R4LnN0eF91aWQsICAgICAo dWludDMyX3QpMTAwMCk7Ci0tLSAKLTIuNTMuMAotCgpkaWZmIC0tZ2l0IGEvMDAwNC1GaXgta2Vy YmVyb3MtdGVzdHMtd2hlbi11c3Itc2Jpbi1pcy1ub3QtaW4tUEFUSC5wYXRjaCBiLzAwMDQtRml4 LWtlcmJlcm9zLXRlc3RzLXdoZW4tdXNyLXNiaW4taXMtbm90LWluLVBBVEgucGF0Y2gKZGVsZXRl ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDY3ZGQyMDIuLjAwMDAwMDAKLS0tIGEvMDAwNC1GaXgt a2VyYmVyb3MtdGVzdHMtd2hlbi11c3Itc2Jpbi1pcy1ub3QtaW4tUEFUSC5wYXRjaAorKysgL2Rl di9udWxsCkBAIC0xLDQ1ICswLDAgQEAKLUZyb20gZTA3OWI3Y2IxYWYxNDEwZWQxNWM3OTU4ZTA4 OWVjZTZiMzZjNTkwMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHRpYXMgRWxs ZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgotRGF0ZTogTW9uLCAyMCBBcHIgMjAy NiAyMTo1NTo1NiArMDIwMAotU3ViamVjdDogW1BBVENIIDQvNl0gRml4IGtlcmJlcm9zIHRlc3Rz IHdoZW4gL3Vzci9zYmluIGlzIG5vdCBpbiBQQVRICi0KLS0tLQotIHRlc3RzL2tyYjUva2VyYmVy b3Muc2ggfCA4ICsrKystLS0tCi0gMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgNCBk ZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rlc3RzL2tyYjUva2VyYmVyb3Muc2ggYi90ZXN0 cy9rcmI1L2tlcmJlcm9zLnNoCi1pbmRleCBiNGFmNWUxMDIuLjViNjQwNWNkOSAxMDA3NTUKLS0t LSBhL3Rlc3RzL2tyYjUva2VyYmVyb3Muc2gKLSsrKyBiL3Rlc3RzL2tyYjUva2VyYmVyb3Muc2gK LUBAIC0zNiwxNiArMzYsMTYgQEAgZnVuY3Rpb24gc2V0dXAoKSB7Ci0gCXBvcGQgPi9kZXYvbnVs bCB8fCBleGl0IDEKLSAKLSAJIyBDcmVhdGUgdGhlIEtEQyBkYXRhYmFzZQotLQlrZGI1X3V0aWwg Y3JlYXRlIC1zIC1yIFhST09URC5PUkcgLVAgeHJvb3RkCi0rCS91c3Ivc2Jpbi9rZGI1X3V0aWwg Y3JlYXRlIC1zIC1yIFhST09URC5PUkcgLVAgeHJvb3RkCi0gCi0gCSMgU3RhcnQgdGhlIEtEQyBk YWVtb25zCi0tCWtyYjVrZGMgLVAgIiR7UFdEfSIva3JiNWtkYy5waWQKLSsJL3Vzci9zYmluL2ty YjVrZGMgLVAgIiR7UFdEfSIva3JiNWtkYy5waWQKLSAKLSAJIyBOb3QgcmVhbGx5IG5lZWRlZCwg c2luY2Ugd2UgdXNlIGthZG1pbi5sb2NhbAotIAkjIGthZG1pbmQgLVAgJHtQV0R9L2thZG1pbmQu cGlkCi0gCi0gCSMgQWRkIHByaW5jaXBhbHMgZm9yIHRoZSBzZXJ2ZXIgYW5kIGNsaWVudCB0byBL REMgZGF0YWJhc2UKLS0Ja2FkbWluLmxvY2FsIC1yIFhST09URC5PUkcgPDwtRU9GCi0rCS91c3Iv c2Jpbi9rYWRtaW4ubG9jYWwgLXIgWFJPT1RELk9SRyA8PC1FT0YKLSAJYWRkX3ByaW5jaXBhbCAt cmFuZGtleSAta3ZubyAxIGhvc3QvbG9jYWxob3N0QFhST09URC5PUkcKLSAJa3RhZGQgLWsga3Ji NS5rZXl0YWIgaG9zdC9sb2NhbGhvc3QKLSAJYWRkX3ByaW5jaXBhbCB4cm9vdGRAWFJPT1RELk9S RwotQEAgLTU0LDcgKzU0LDcgQEAgZnVuY3Rpb24gc2V0dXAoKSB7Ci0gCUVPRgotIAotIAkjIERp c3BsYXkgS0RDIGRhdGFiYXNlIGVudHJpZXMKLS0Ja2RiNV91dGlsIHRhYmR1bXAgLW8gLSBrZXlp bmZvCi0rCS91c3Ivc2Jpbi9rZGI1X3V0aWwgdGFiZHVtcCAtbyAtIGtleWluZm8KLSAKLSAJIyBE aXNwbGF5IGNvbnRlbnRzIG9mIHNlcnZlciBrZXl0YWIKLSAJa2xpc3QgLWt0ZSBrcmI1LmtleXRh YgotLS0gCi0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDUtRml4LXR5cG8tY29uZW50LWNvbnRl bnQucGF0Y2ggYi8wMDA1LUZpeC10eXBvLWNvbmVudC1jb250ZW50LnBhdGNoCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAzMzA3ZWFkLi4wMDAwMDAwCi0tLSBhLzAwMDUtRml4LXR5cG8t Y29uZW50LWNvbnRlbnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyOCArMCwwIEBACi1Gcm9t IDJjNWJlMzJjYzdhZmVkMmMzZjY3YTFiZmJjMjU4NzdmNTIzM2NiMTEgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51 dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjI6MDQ6MjMgKzAyMDAKLVN1YmplY3Q6IFtQ QVRDSCA1LzZdID0/VVRGLTg/cT9GaXg9MjB0eXBvPTIwY29uZW50PTIwPUUyPTg2PTkyPTIwY29u dGVudD89Ci1NSU1FLVZlcnNpb246IDEuMAotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PVVURi04Ci1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Ci0KLS0tLQotIHNyYy9Y cmRDbEh0dHAvWHJkQ2xIdHRwRmlsZS5jYyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNl cnRpb24oKyksIDEgZGVsZXRpb24oLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9YcmRDbEh0dHAvWHJk Q2xIdHRwRmlsZS5jYyBiL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmlsZS5jYwotaW5kZXggM2Ex NTQ3MGU4Li4xOTZlNGQ5OWMgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZp bGUuY2MKLSsrKyBiL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwRmlsZS5jYwotQEAgLTU1Nyw3ICs1 NTcsNyBAQCBGaWxlOjpGY250bChjb25zdCBYcmRDbDo6QnVmZmVyICZhcmcsIFhyZENsOjpSZXNw b25zZUhhbmRsZXIgKmhhbmRsZXIsCi0gICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICB9 Ci0gICAgICAgICAgICAgWHJkQ2w6OkJ1ZmZlciAqcmVzcEJ1ZmYgPSBuZXcgWHJkQ2w6OkJ1ZmZl cigpOwotLSAgICAgICAgICAgIG1fbG9nZ2VyLT5EZWJ1ZyhrTG9nWHJkQ2xIdHRwLCAiRmNudGwg Y29uZW50ICVzIiwgeGF0dC5kdW1wKCkuY19zdHIoKSk7Ci0rICAgICAgICAgICAgbV9sb2dnZXIt PkRlYnVnKGtMb2dYcmRDbEh0dHAsICJGY250bCBjb250ZW50ICVzIiwgeGF0dC5kdW1wKCkuY19z dHIoKSk7Ci0gICAgICAgICAgICAgcmVzcEJ1ZmYtPkZyb21TdHJpbmcoeGF0dC5kdW1wKCkpOwot ICAgICAgICAgICAgIG9iai0+U2V0KHJlc3BCdWZmKTsKLSAgICAgICAgIH0KLS0tIAotMi41My4w Ci0KCmRpZmYgLS1naXQgYS8wMDA2LUNoYW5nZS1maWxlLXRvLWF2b2lkLXNlZC1kdXJpbmctaW5z dGFsbC5wYXRjaCBiLzAwMDYtQ2hhbmdlLWZpbGUtdG8tYXZvaWQtc2VkLWR1cmluZy1pbnN0YWxs LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmYTdmYjFmLi4wMDAwMDAwCi0t LSBhLzAwMDYtQ2hhbmdlLWZpbGUtdG8tYXZvaWQtc2VkLWR1cmluZy1pbnN0YWxsLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMjUgKzAsMCBAQAotRnJvbSAyMTY1MjZjMzJiODk0YTViYWQ3Yjg1 ODk3ZGVjZWY3MTFmMTIxMDE4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWF0dGlh cyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+Ci1EYXRlOiBNb24sIDIwIEFw ciAyMDI2IDIyOjQyOjA2ICswMjAwCi1TdWJqZWN0OiBbUEFUQ0ggNi82XSBDaGFuZ2UgZmlsZSB0 byBhdm9pZCBzZWQgZHVyaW5nIGluc3RhbGwKLQotLS0tCi0gY29uZmlnL3hyb290ZC1odHRwLmNm ZyB8IDIgKy0KLSAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkK LQotZGlmZiAtLWdpdCBhL2NvbmZpZy94cm9vdGQtaHR0cC5jZmcgYi9jb25maWcveHJvb3RkLWh0 dHAuY2ZnCi1pbmRleCBjYjcwN2JmODQuLjM0MWYzMzE2YyAxMDA2NDQKLS0tLSBhL2NvbmZpZy94 cm9vdGQtaHR0cC5jZmcKLSsrKyBiL2NvbmZpZy94cm9vdGQtaHR0cC5jZmcKLUBAIC0zMyw3ICsz Myw3IEBAIGFsbC5waWRwYXRoIC9ydW4veHJvb3RkCi0gIyBJbiBvcmRlciB0byBzdGFydCB0aGUg eHJkaHR0cC5zb2NrZXQgcnVuOgotICMJc3lzdGVtY3RsIHN0YXJ0IHhyZGh0dHBAaHR0cC5zb2Nr ZXQKLSAjCi0teHJkLnByb3RvY29sIFhyZEh0dHA6ODAgL3Vzci9saWI2NC9saWJYcmRIdHRwLnNv Ci0reHJkLnByb3RvY29sIFhyZEh0dHA6ODAgbGliWHJkSHR0cC5zbwotICMgTW9yZSBjb25maWd1 cmF0aW9uIGZpbGVzIGNhbiBiZSBhZGRlZCBpbiAvZXRjL3hyb290ZC9jb25maWcuZC8KLSAjIEZv ciBleGFtcGxlIC9ldGMveHJvb3RkL2NvbmZpZy5kLzEwLW15Z3JpZC5jZmcgYW5kCi0gIyAvZXRj L3hyb290ZC9jb25maWcuZC85OC1teXNpdGUtc3BlY2lmaWNzLmNmZwotLS0gCi0yLjUzLjAKLQoK ZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGEwZDYxMmMuLjhjMmNiNzEgMTAw NjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSArMSBAQAotU0hBNTEyICh4cm9v dGQtNi4wLjAudGFyLmd6KSA9IDFmYWMyNGM1NjQ2NGU3NmMxMDRkZWFiY2VmMGE4OTEwZGJkYzE4 ZjYyZDkzMjc1YmYxMDQ4MTQyYmViMDQ1M2UwNWFlY2RkYWFmNDFhYmU5ZDE4M2M5YmFmYjAxNTA2 Nzk5NGExNWFlMGZmZWVjZGMyODc1NjI2NzkxZDc2OTA1CitTSEE1MTIgKHhyb290ZC02LjAuMi50 YXIuZ3opID0gMjlmZTAxMzhiMDZlMDMyMTBlY2U5YzMxMzA3ODU5NjcwMTZmMWUwNzZiZTg4OGMx ZjMxNDdlOGM5YWRlN2U1MDZlYjIwNDczNjRjNzZmMjUxYmJhZTNiZjhhMDY3YWJjMTZmNjkyOWMz ZDhlN2Y2MTVlZTQxYzhmNmY4YTgyNjMKCmRpZmYgLS1naXQgYS94cm9vdGQuc3BlYyBiL3hyb290 ZC5zcGVjCmluZGV4IDc4YTY4OWQuLjg4ZjEyOGEgMTAwNjQ0Ci0tLSBhL3hyb290ZC5zcGVjCisr KyBiL3hyb290ZC5zcGVjCkBAIC0xMywyMyArMTMsMjMgQEAKIAogTmFtZToJCXhyb290ZAogRXBv Y2g6CQkxCi1WZXJzaW9uOgk2LjAuMAorVmVyc2lvbjoJNi4wLjIKIFJlbGVhc2U6CTElez9kaXN0 fQogU3VtbWFyeToJRXh0ZW5kZWQgUk9PVCBmaWxlIHNlcnZlcgotTGljZW5zZToJTEdQTC0zLjAt b3ItbGF0ZXIgQU5EIEJTRC0yLUNsYXVzZSBBTkQgQlNELTMtQ2xhdXNlIEFORCBjdXJsIEFORCBN SVQgQU5EIFpsaWIKK0xpY2Vuc2U6CUxHUEwtMy4wLW9yLWxhdGVyIEFORCBCU0QtMi1DbGF1c2Ug QU5EIEJTRC0zLUNsYXVzZSBBTkQgY3VybCBBTkQgTUlUIEFORCBabGliIEFORCBBcGFjaGUtMi4w IEFORCBNUEwtMi4wCiBVUkw6CQlodHRwczovL3hyb290ZC53ZWIuY2Vybi5jaAogU291cmNlMDoJ JXt1cmx9L2Rvd25sb2FkL3Yle3ZlcnNpb259LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKIFNv dXJjZTE6CSV7bmFtZX0tc3lzdXNlcnMuY29uZgogCi0jCQlodHRwczovL2dpdGh1Yi5jb20veHJv b3RkL3hyb290ZC9wdWxsLzI3NjkKLVBhdGNoMDoJCTAwMDEtQWRkLWluY2x1ZGUtWHJkU3lzLVhy ZFN5c1BsYXRmb3JtLmhoLWZvci1NQVhQQVRITEVOLnBhdGNoCi1QYXRjaDE6CQkwMDAyLUFkZC1j YXRjaC1hbGwtd29yay1hcm91bmQtZm9yLW1pc3NpbmctZ2V0dGlkLnBhdGNoCi1QYXRjaDI6CQkw MDAzLUFsc28tY2hlY2stZm9yLUdOVS1pbi1zdGF0eC5wYXRjaAotUGF0Y2gzOgkJMDAwNC1GaXgt a2VyYmVyb3MtdGVzdHMtd2hlbi11c3Itc2Jpbi1pcy1ub3QtaW4tUEFUSC5wYXRjaAotUGF0Y2g0 OgkJMDAwNS1GaXgtdHlwby1jb25lbnQtY29udGVudC5wYXRjaAotUGF0Y2g1OgkJMDAwNi1DaGFu Z2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3RhbGwucGF0Y2gKICMJCVVuYnVuZGxlIHRp bnl4bWwgbGlicmFyeQotUGF0Y2g2OgkJMDAwMS1VbmJ1bmRsZS10aW55eG1sLnBhdGNoCitQYXRj aDA6CQkwMDAxLVVuYnVuZGxlLXRpbnl4bWwucGF0Y2gKKyMJCUFkYXB0IHRvIE9wZW5TU0wgNAor IwkJaHR0cHM6Ly9naXRodWIuY29tL3hyb290ZC94cm9vdGQvcHVsbC8yODAyCitQYXRjaDE6CQkw MDAxLVhyZENyeXB0by1YcmRUbHMtWHJkVm9tcy1BZGFwdC10by1PcGVuU1NMLTQuMC5wYXRjaAor UGF0Y2gyOgkJMDAwMi1YcmRDcnlwdG8tUHJlc2VydmUtQUJJLnBhdGNoCisjCQlCYWNrcG9ydCBm aXggZnJvbSB1cHN0cmVhbQorIwkJaHR0cHM6Ly9naXRodWIuY29tL3hyb290ZC94cm9vdGQvcHVs bC8yNzk5CitQYXRjaDM6CQkwMDAxLVhyZENsSHR0cC1GaXgtYnVnLXByZXZlbnRpbmctdGhlLWNv bmZpZ3VyYXRpb24tb2YtdGgucGF0Y2gKIAogQnVpbGRSZXF1aXJlczoJY21ha2UKIEJ1aWxkUmVx dWlyZXM6CWdjYy1jKysKQEAgLTI0MSw2ICsyNDEsNyBAQCBhIHN1YnNldCBvZiB0aGUgbmFtZXNw YWNlIHRvIGFuIGV4dGVybmFsIGlzc3Vlci4KICVwYWNrYWdlIGNlcGgKIFN1bW1hcnk6CVhSb290 RCBwbHVnaW4gZm9yIGludGVyZmFjaW5nIHdpdGggdGhlIENlcGggc3RvcmFnZSBwbGF0Zm9ybQog UmVxdWlyZXM6CSV7bmFtZX0tbGlicyV7P19pc2F9ID0gJXtlcG9jaH06JXt2ZXJzaW9ufS0le3Jl bGVhc2V9CitSZXF1aXJlczoJJXtuYW1lfS1zZXJ2ZXItbGlicyV7P19pc2F9ID0gJXtlcG9jaH06 JXt2ZXJzaW9ufS0le3JlbGVhc2V9CiAKICVkZXNjcmlwdGlvbiBjZXBoCiBUaGUgeHJvb3RkLWNl cGggaXMgYW4gT1NTIGxheWVyIHBsdWdpbiBmb3IgdGhlIFhSb290RCBzZXJ2ZXIgZm9yCkBAIC0y NzAsOSArMjcxLDYgQEAgVGhpcyBwYWNrYWdlIGNvbnRhaW5zIHRoZSBBUEkgZG9jdW1lbnRhdGlv biBvZiB0aGUgeHJvb3RkIGxpYnJhcmllcy4KICVwYXRjaCAtUDEgLXAxCiAlcGF0Y2ggLVAyIC1w MQogJXBhdGNoIC1QMyAtcDEKLSVwYXRjaCAtUDQgLXAxCi0lcGF0Y2ggLVA1IC1wMQotJXBhdGNo IC1QNiAtcDEKIAogJWJ1aWxkCiAlY21ha2UgXApAQCAtNDA4LDI4ICs0MDYsMTQgQEAgZG9uZQog CiB0b3VjaCB0ZXN0ZmlsZQogaWYgKCBzZXRmYXR0ciAtbiB1c2VyLnRlc3RhdHRyIC12IHRlc3R2 YWx1ZSB0ZXN0ZmlsZSApIDsgdGhlbgotICAgICVjdGVzdCAtLSAtRSBYUm9vdEQ6OmJhZHJlZGly CislaWZhcmNoICV7aXg4Nn0gJXthcm19CisgICAgJWN0ZXN0IC0tIC1FICdYUm9vdEQ6OmJhZHJl ZGlyfFhSb290RDo6cG9zaXgnCislZWxzZQorICAgICVjdGVzdCAtLSAtRSAnWFJvb3REOjpiYWRy ZWRpcicKKyVlbmRpZgogZWxzZQogICAgIGVjaG8gIkV4dGVuZGVkIGZpbGUgYXR0cmlidXRlcyBu b3Qgc3VwcG9ydGVkIGJ5IGZpbGUgc3lzdGVtIgotICAgIGVjaG8gIkRvbid0IHJ1biB0ZXN0cyB0 aGF0IHJlcXVpcmUgdGhlbSIKLSAgICBleGNsdWRlPSJcCi1YcmRDbDo6RmlsZUNvcHlUZXN0fFwK LVhyZENsOjpGaWxlU3lzdGVtVGVzdC5QbHVnSW5UZXN0fFwKLVhyZENsOjpGaWxlU3lzdGVtVGVz dC5TZXJ2ZXJRdWVyeVRlc3R8XAotWHJkQ2w6OkZpbGVTeXN0ZW1UZXN0LlhBdHRyVGVzdHxcCi1Y cmRDbDo6RmlsZVRlc3QuWEF0dHJUZXN0fFwKLVhyZENsOjpMb2NhbEZpbGVIYW5kbGVyVGVzdC5Y QXR0clRlc3R8XAotWHJkQ2w6OlRocmVhZGluZ1Rlc3R8XAotWHJkQ2w6OldvcmtmbG93VGVzdC5D aGVja3BvaW50VGVzdHxcCi1YcmRDbDo6V29ya2Zsb3dUZXN0LlhBdHRyV29ya2Zsb3dUZXN0fFwK LVhyZEVjOjpYcmRFY1Rlc3RzfFwKLVhSb290RDo6YXV0aGVudGljYXRlZF9jbHVzdGVyOjp0ZXN0 fFwKLVhSb290RDo6YmFkcmVkaXJ8XAotWFJvb3REOjpjbHVzdGVyOjp0ZXN0fFwKLVhSb290RDo6 aHR0cDo6dGVzdHxcCi1YUm9vdEQ6OnBvc2l4Ojp0ZXN0fFwKLVhSb290RDo6dHBjOjp0ZXN0Igot ICAgICVjdGVzdCAtLSAtRSAkZXhjbHVkZQorICAgIGVjaG8gIioqKiBOT1QgUlVOTklORyBURVNU UyAqKioiCiBmaQogcm0gdGVzdGZpbGUKIApAQCAtNjgxLDYgKzY2NSwxMSBAQCBmaQogJWRvYyAl e19wa2dkb2NkaXJ9CiAKICVjaGFuZ2Vsb2cKKyogVGh1IE1heSAyMSAyMDI2IE1hdHRpYXMgRWxs ZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPiAtIDE6Ni4wLjItMQorLSBVcGRhdGUg dG8gdmVyc2lvbiA2LjAuMgorLSBBZGFwdCB0byBPcGVuU1NMIDQuMAorLSBEcm9wIHBhdGNoZXMg YWNjZXB0ZWQgdXBzdHJlYW0KKwogKiBTYXQgQXByIDExIDIwMjYgTWF0dGlhcyBFbGxlcnQgPG1h dHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUuc2U+IC0gMTo2LjAuMC0xCiAtIFVwZGF0ZSB0byB2ZXJz aW9uIDYuMC4wCiAK