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] rawhide: Update to version 6.0.2 Date: Mon, 01 Jun 2026 04:19:26 GMT Message-ID: <178028756617.1.4479305804619401304.rpms-xrootd-8acacae375b0@fedoraproject.org> List-ID: X-Git-Repo: rpms/xrootd X-Git-Branch: rawhide X-Git-Rev: 8acacae375b0e25f539031b7d654e99d0f717145 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMveHJvb3RkCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAgICAg ICAgQ29tbWl0IDogOGFjYWNhZTM3NWIwZTI1ZjUzOTAzMWI3ZDY1NGU5OWQwZjcxNzE0NQogICAg ICAgICAgICBBdXRob3IgOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51 dS5zZT4KICAgICAgICAgICAgRGF0ZSAgIDogMjAyNi0wNi0wMVQwNDoyMjozNiswMjowMAogICAg ICAgICAgICBTdGF0cyAgOiArNjQ3Ly0zMTggaW4gMTIgZmlsZShzKQogICAgICAgICAgICBVUkwg ICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL3hyb290ZC9jLzhhY2FjYWUz NzViMGUyNWY1MzkwMzFiN2Q2NTRlOTlkMGY3MTcxNDU/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAg ICAgIExvZzoKICAgICAgICAgICAgVXBkYXRlIHRvIHZlcnNpb24gNi4wLjIKCkFkYXB0IHRvIE9w ZW5TU0wgNC4wCkRyb3AgcGF0Y2hlcyBhY2NlcHRlZCB1cHN0cmVhbQoKLS0tCmRpZmYgLS1naXQg YS8wMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRTeXNQbGF0Zm9ybS5oaC1mb3ItTUFYUEFUSExF Ti5wYXRjaCBiLzAwMDEtQWRkLWluY2x1ZGUtWHJkU3lzLVhyZFN5c1BsYXRmb3JtLmhoLWZvci1N QVhQQVRITEVOLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA4NDljMzgwLi4w MDAwMDAwCi0tLSBhLzAwMDEtQWRkLWluY2x1ZGUtWHJkU3lzLVhyZFN5c1BsYXRmb3JtLmhoLWZv ci1NQVhQQVRITEVOLnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMzcgKzAsMCBAQAotRnJvbSBm MGNiM2NlNzhkOWUxYmQyYmNhYzdjNDNlOGIyNzJiOTM1MGVjM2Y2IE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUu c2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIxOjE2OjExICswMjAwCi1TdWJqZWN0OiBbUEFU Q0ggMS82XSBBZGQgI2luY2x1ZGUgIlhyZFN5cy9YcmRTeXNQbGF0Zm9ybS5oaCIgZm9yIE1BWFBB VEhMRU4KLQotLS0tCi0gc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNCYWNrdXAuY2MgfCAxICsKLSBz cmMvWHJkT3NzQXJjL1hyZE9zc0FyY0NvbmZpZy5jYyB8IDEgKwotIDIgZmlsZXMgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspCi0KLWRpZmYgLS1naXQgYS9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0Jh Y2t1cC5jYyBiL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQmFja3VwLmNjCi1pbmRleCBmMjQ5MTJj YjkuLmY0OWU3YmRhYiAxMDA2NDQKLS0tLSBhL3NyYy9YcmRPc3NBcmMvWHJkT3NzQXJjQmFja3Vw LmNjCi0rKysgYi9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0JhY2t1cC5jYwotQEAgLTQ3LDYgKzQ3 LDcgQEAKLSAjaW5jbHVkZSAiWHJkT3VjL1hyZE91Y1N0cmVhbS5oaCIKLSAKLSAjaW5jbHVkZSAi WHJkU3lzL1hyZFN5c0Vycm9yLmhoIgotKyNpbmNsdWRlICJYcmRTeXMvWHJkU3lzUGxhdGZvcm0u aGgiCi0gI2luY2x1ZGUgIlhyZFN5cy9YcmRTeXNQdGhyZWFkLmhoIgotIAotIC8qKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKiovCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcu Y2MgYi9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0NvbmZpZy5jYwotaW5kZXggN2Y2ZWUwYWM4Li42 MjBjMGJlZDEgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkT3NzQXJjL1hyZE9zc0FyY0NvbmZpZy5jYwot KysrIGIvc3JjL1hyZE9zc0FyYy9YcmRPc3NBcmNDb25maWcuY2MKLUBAIC02MSw2ICs2MSw3IEBA Ci0gI2luY2x1ZGUgIlhyZE91Yy9YcmRPdWNVdGlscy5oaCIKLSAKLSAjaW5jbHVkZSAiWHJkU3lz L1hyZFN5c0Vycm9yLmhoIgotKyNpbmNsdWRlICJYcmRTeXMvWHJkU3lzUGxhdGZvcm0uaGgiCi0g Ci0gLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKi8KLSAvKiAgICAgICAgICAgICAgICAgICAgICAgIEcg bCBvIGIgYSBsICAgTyBiIGogZSBjIHQgcyAgICAgICAgICAgICAgICAgICAgICAgICAqLwotLS0g Ci0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDEtSW5jcmVhc2UtdGltZW91dHMtZm9yLXNsb3ct ZGViaWFuLWJ1aWxkZXJzLnBhdGNoIGIvMDAwMS1JbmNyZWFzZS10aW1lb3V0cy1mb3Itc2xvdy1k ZWJpYW4tYnVpbGRlcnMucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGVkMGVj ODUuLjAwMDAwMDAKLS0tIGEvMDAwMS1JbmNyZWFzZS10aW1lb3V0cy1mb3Itc2xvdy1kZWJpYW4t YnVpbGRlcnMucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw3MSArMCwwIEBACi1Gcm9tIDQ2MTAx MGIwODExYWU1MDEzZGU1MzRiZWZkODljNGM2ZGJkNTgwMzcgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4K LURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjM6MTQ6MTEgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSF0g SW5jcmVhc2UgdGltZW91dHMgZm9yIHNsb3cgZGViaWFuIGJ1aWxkZXJzCi0KLS0tLQotIHRlc3Rz L1hSb290RC90ZXN0LnNoICAgICAgfCAyICstCi0gdGVzdHMvWHJkQ2xIdHRwL3NldHVwLnNoICB8 IDQgKystLQotIHRlc3RzL1hyZENsUzMvczMtc2V0dXAuc2ggfCA0ICsrLS0KLSAzIGZpbGVzIGNo YW5nZWQsIDUgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKLQotZGlmZiAtLWdpdCBhL3Rl c3RzL1hSb290RC90ZXN0LnNoIGIvdGVzdHMvWFJvb3REL3Rlc3Quc2gKLWluZGV4IGJlMTYwYTJj Zi4uZTg1YzA5MDUzIDEwMDc1NQotLS0tIGEvdGVzdHMvWFJvb3REL3Rlc3Quc2gKLSsrKyBiL3Rl c3RzL1hSb290RC90ZXN0LnNoCi1AQCAtNTgsNyArNTgsNyBAQCBleHBvcnQgWFJEX0xPR0xFVkVM IFhSRF9MT0dGSUxFCi0gIyBSZWR1Y2UgZGVmYXVsdCB0aW1lb3V0cyB0byBjYXRjaCBlcnJvcnMg cXVpY2tseSBhbmQgcHJldmVudCB0aGUgdGVzdAotICMgc3VpdGUgZnJvbSBnZXR0aW5nIHN0dWNr IHdhaXRpbmcgZm9yIHRpbWVvdXRzIHdoaWxlIHJ1bm5pbmcuCi0gCi0tOiAiJHtYUkRfUkVRVUVT VFRJTUVPVVQ6PTE1fSIKLSs6ICIke1hSRF9SRVFVRVNUVElNRU9VVDo9NjB9IgotIDogIiR7WFJE X1NUUkVBTVRJTUVPVVQ6PTEwfSIKLSA6ICIke1hSRF9USU1FT1VUUkVTT0xVVElPTjo9MX0iCi0g Ci1kaWZmIC0tZ2l0IGEvdGVzdHMvWHJkQ2xIdHRwL3NldHVwLnNoIGIvdGVzdHMvWHJkQ2xIdHRw L3NldHVwLnNoCi1pbmRleCBkM2Y0Y2E5MDEuLmRmNDkzMDhmOSAxMDA3NTUKLS0tLSBhL3Rlc3Rz L1hyZENsSHR0cC9zZXR1cC5zaAotKysrIGIvdGVzdHMvWHJkQ2xIdHRwL3NldHVwLnNoCi1AQCAt NDQ1LDcgKzQ0NSw3IEBAIGVjaG8gIkNhY2hlIHN0YXJ0ZWQgYXQgcG9ydCAkQ0FDSEVfUE9SVCIK LSAKLSBpZiAhICIkQklOQVJZX0RJUi9iaW4veHJkc2NpdG9rZW5zLWNyZWF0ZS10b2tlbiIgXAot ICAgICBpc3N1ZXJfcHVibGljLnBlbSBpc3N1ZXJfcHJpdmF0ZS5wZW0gdGVzdF9rZXkgXAotLSAg ICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UucmVhZDovIDYwMCA+ICIkUlVORElSL3Rv a2VuIjsgdGhlbgotKyAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UucmVhZDovIDM2 MDAgPiAiJFJVTkRJUi90b2tlbiI7IHRoZW4KLSAgIGVjaG8gIkZhaWxlZCB0byBnZW5lcmF0ZSBy ZWFkIHRva2VuIgotICAgZXhpdCAxCi0gZmkKLUBAIC00NTMsNyArNDUzLDcgQEAgZWNobyAiU2Ft cGxlIHJlYWQgdG9rZW4gYXZhaWxhYmxlIGF0ICRSVU5ESVIvdG9rZW4iCi0gCi0gaWYgISAiJEJJ TkFSWV9ESVIvYmluL3hyZHNjaXRva2Vucy1jcmVhdGUtdG9rZW4iIFwKLSAgICAgaXNzdWVyX3B1 YmxpYy5wZW0gaXNzdWVyX3ByaXZhdGUucGVtIHRlc3Rfa2V5IFwKLS0gICAgaHR0cHM6Ly9sb2Nh bGhvc3Q6OTQ0MyBzdG9yYWdlLm1vZGlmeTovIDYwMCA+ICIkUlVORElSL3dyaXRlLnRva2VuIjsg dGhlbgotKyAgICBodHRwczovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UubW9kaWZ5Oi8gMzYwMCA+ ICIkUlVORElSL3dyaXRlLnRva2VuIjsgdGhlbgotICAgZWNobyAiRmFpbGVkIHRvIGdlbmVyYXRl IHdyaXRlIHRva2VuIgotICAgZXhpdCAxCi0gZmkKLWRpZmYgLS1naXQgYS90ZXN0cy9YcmRDbFMz L3MzLXNldHVwLnNoIGIvdGVzdHMvWHJkQ2xTMy9zMy1zZXR1cC5zaAotaW5kZXggOTYyODI0OTM2 Li40YzFkMzU2YTIgMTAwNzU1Ci0tLS0gYS90ZXN0cy9YcmRDbFMzL3MzLXNldHVwLnNoCi0rKysg Yi90ZXN0cy9YcmRDbFMzL3MzLXNldHVwLnNoCi1AQCAtMjY3LDcgKzI2Nyw3IEBAIGZpCi0gCi0g aWYgISAiJEJJTkFSWV9ESVIvYmluL3hyZHNjaXRva2Vucy1jcmVhdGUtdG9rZW4iIFwKLSAgICAg IiRSVU5ESVIvaXNzdWVyL2lzc3Vlcl9wdWJsaWMucGVtIiAiJFJVTkRJUi9pc3N1ZXIvaXNzdWVy X3ByaXZhdGUucGVtIiB0ZXN0X2tleSBcCi0tICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3Rv cmFnZS5yZWFkOi8gNjAwID4gIiRSVU5ESVIvdG9rZW4iOyB0aGVuCi0rICAgIGh0dHBzOi8vbG9j YWxob3N0Ojk0NDMgc3RvcmFnZS5yZWFkOi8gMzYwMCA+ICIkUlVORElSL3Rva2VuIjsgdGhlbgot ICAgZWNobyAiRmFpbGVkIHRvIGdlbmVyYXRlIHJlYWQgdG9rZW4iCi0gICBleGl0IDEKLSBmaQot QEAgLTI3NSw3ICsyNzUsNyBAQCBlY2hvICJTYW1wbGUgcmVhZCB0b2tlbiBhdmFpbGFibGUgYXQg JFJVTkRJUi90b2tlbiIKLSAgIAotIGlmICEgIiRCSU5BUllfRElSL2Jpbi94cmRzY2l0b2tlbnMt Y3JlYXRlLXRva2VuIiBcCi0gICAgICIkUlVORElSL2lzc3Vlci9pc3N1ZXJfcHVibGljLnBlbSIg IiRSVU5ESVIvaXNzdWVyL2lzc3Vlcl9wcml2YXRlLnBlbSIgdGVzdF9rZXkgXAotLSAgICBodHRw czovL2xvY2FsaG9zdDo5NDQzIHN0b3JhZ2UubW9kaWZ5Oi8gNjAwID4gIiRSVU5ESVIvd3JpdGUu dG9rZW4iOyB0aGVuCi0rICAgIGh0dHBzOi8vbG9jYWxob3N0Ojk0NDMgc3RvcmFnZS5tb2RpZnk6 LyAzNjAwID4gIiRSVU5ESVIvd3JpdGUudG9rZW4iOyB0aGVuCi0gICBlY2hvICJGYWlsZWQgdG8g Z2VuZXJhdGUgd3JpdGUgdG9rZW4iCi0gICBleGl0IDEgCi0gZmkKLS0tIAotMi41My4wCi0KCmRp ZmYgLS1naXQgYS8wMDAxLVhyZENsSHR0cC1GaXgtYnVnLXByZXZlbnRpbmctdGhlLWNvbmZpZ3Vy YXRpb24tb2YtdGgucGF0Y2ggYi8wMDAxLVhyZENsSHR0cC1GaXgtYnVnLXByZXZlbnRpbmctdGhl LWNvbmZpZ3VyYXRpb24tb2YtdGgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uOTUyNmMzMgotLS0gL2Rldi9udWxsCisrKyBiLzAwMDEtWHJkQ2xIdHRwLUZpeC1idWct cHJldmVudGluZy10aGUtY29uZmlndXJhdGlvbi1vZi10aC5wYXRjaApAQCAtMCwwICsxLDI4IEBA CitGcm9tIDcxZWE0YjViMmM2ODkzNzUwMGY0YzdiNzBhOWQ3NzU3ODE3NzZlYjUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBCcmlhbiBCb2NrZWxtYW4gPGJib2NrZWxtYW5AbW9yZ3Jp ZGdlLm9yZz4KK0RhdGU6IFRodSwgMjEgTWF5IDIwMjYgMDg6NDQ6MDMgLTA1MDAKK1N1YmplY3Q6 IFtQQVRDSF0gW1hyZENsSHR0cF0gRml4IGJ1ZyBwcmV2ZW50aW5nIHRoZSBjb25maWd1cmF0aW9u IG9mIHRocmVhZHMKKworQXBwZWFycyBhIHByaW9yIHJlZmFjdG9yaW5nIGNhdXNlZCB0aGUgdGhy ZWFkIGNvbmZpZ3VyYXRpb24gdG8gdXNlCit0aGUgd3JvbmcgdmFyaWFibGUsIGNhdXNpbmcgOCB3 b3JrZXIgdGhyZWFkcyB0byBiZSB1c2VkIHJlZ2FyZGxlc3MKK29mIHRoZSBjdXJyZW50IGNvbmZp Z3VyYXRpb24uCistLS0KKyBzcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZhY3RvcnkuY2MgfCAyICst CisgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYg LS1naXQgYS9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZhY3RvcnkuY2MgYi9zcmMvWHJkQ2xIdHRw L1hyZENsSHR0cEZhY3RvcnkuY2MKK2luZGV4IDgxNDEzZWZmNC4uMDhkOGVmOGJkIDEwMDY0NAor LS0tIGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGYWN0b3J5LmNjCisrKysgYi9zcmMvWHJkQ2xI dHRwL1hyZENsSHR0cEZhY3RvcnkuY2MKK0BAIC0xOTQsNyArMTk0LDcgQEAgRmFjdG9yeTo6SW5p dGlhbGl6ZSgpCisgICAgICAgICBhdXRvICZjYWNoZSA9IFhyZENsSHR0cDo6VmVyYnNDYWNoZTo6 SW5zdGFuY2UoKTsKKyAKKyAgICAgICAgIC8vIFN0YXJ0dXAgY3VybCB3b3JrZXJzIGFmdGVyIHdl J3ZlIHNldCB0aGUgY29uZmlncyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMKKy0gICAgICAgIGZv ciAodW5zaWduZWQgaWR4PTA7IGlkeDxtX3BvbGxfdGhyZWFkczsgaWR4KyspIHsKKysgICAgICAg IGZvciAoaW50IGlkeD0wOyBpZHg8bnVtX3RocmVhZHM7IGlkeCsrKSB7CisgICAgICAgICAgICAg YXV0byB3ayA9IHN0ZDo6bWFrZV91bmlxdWU8WHJkQ2xIdHRwOjpDdXJsV29ya2VyPihtX3F1ZXVl LCBjYWNoZSwgbV9sb2cpOworICAgICAgICAgICAgIGF1dG8gd2twID0gd2suZ2V0KCk7CisgICAg ICAgICAgICAgc3RkOjp0aHJlYWQgdChYcmRDbEh0dHA6OkN1cmxXb3JrZXI6OlJ1blN0YXRpYywg d2twKTsKKy0tIAorMi41NC4wCisKCmRpZmYgLS1naXQgYS8wMDAxLVhyZENyeXB0by1YcmRUbHMt WHJkVm9tcy1BZGFwdC10by1PcGVuU1NMLTQuMC5wYXRjaCBiLzAwMDEtWHJkQ3J5cHRvLVhyZFRs cy1YcmRWb21zLUFkYXB0LXRvLU9wZW5TU0wtNC4wLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmU0NmFkOWUKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAxLVhyZENyeXB0 by1YcmRUbHMtWHJkVm9tcy1BZGFwdC10by1PcGVuU1NMLTQuMC5wYXRjaApAQCAtMCwwICsxLDU2 NiBAQAorRnJvbSA1MzRlMWFhMmVmZDhlNTkyNzFkMjQxMGRjNGE0ZDMzYWI3YmM4ZWQ5IE1vbiBT ZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0 QHBoeXNpY3MudXUuc2U+CitEYXRlOiBTYXQsIDIzIE1heSAyMDI2IDE4OjU3OjU0ICswMjAwCitT dWJqZWN0OiBbUEFUQ0ggMS8yXSBbWHJkQ3J5cHRvL1hyZFRscy9YcmRWb21zXSBBZGFwdCB0byBP cGVuU1NMIDQuMAorCistLS0KKyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYyAgICAg fCAgIDYgKy0KKyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5oaCAgICAgfCAgIDIgKy0K KyBzcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDkuY2MgICAgfCAgNDggKysrKystLS0tCisg c3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5Q3JsLmNjIHwgICAyICstCisgc3JjL1hyZENy eXB0by9YcmRDcnlwdG9zc2xnc2lBdXguY2MgIHwgMTQwICsrKysrKysrKysrKysrKysrKysrLS0t LS0tLQorIHNyYy9YcmRUbHMvWHJkVGxzTm90YXJ5VXRpbHMuaWNjICAgICB8ICAgNCArLQorIHNy Yy9YcmRWb21zL1hyZFZvbXNGdW4uY2MgICAgICAgICAgICB8ICAgMiArLQorIHNyYy9YcmRWb21z L1hyZFZvbXNGdW4uaGggICAgICAgICAgICB8ICAgMiArLQorIDggZmlsZXMgY2hhbmdlZCwgMTQ1 IGluc2VydGlvbnMoKyksIDYxIGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvc3JjL1hyZENy eXB0by9YcmRDcnlwdG9zc2xBdXguY2MgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1eC5j YworaW5kZXggMzg5M2JjMmI0Li5hNDQyODM5ODUgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5cHRv L1hyZENyeXB0b3NzbEF1eC5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xBdXgu Y2MKK0BAIC02OTEsMTMgKzY5MSwxMyBAQCB0aW1lX3QgWHJkQ3J5cHRvc3NsQVNOMXRvVVRDKGNv bnN0IEFTTjFfVElNRSAqdHNuMSkKKyAgICAvLyBPdXIgcmVzdWx0IGlzIGluIGFncmVlbWVudCB3 aXRoICdkYXRlICslc2AuIAorICAgIHN0cnVjdCB0bSBsdG07CisgICAgY2hhciB6ejsKKy0gICBp ZiAoKHNzY2FuZigoY29uc3QgY2hhciAqKSh0c24xLT5kYXRhKSwKKysgICBpZiAoKHNzY2FuZigo Y29uc3QgY2hhciAqKSBBU04xX1NUUklOR19nZXQwX2RhdGEodHNuMSksCisgICAgICAgICIlMDJk JTAyZCUwMmQlMDJkJTAyZCUwMmQlYyIsIAorICAgICAgICAmKGx0bS50bV95ZWFyKSwgJihsdG0u dG1fbW9uKSwgJihsdG0udG1fbWRheSksCisgICAgICAgICYobHRtLnRtX2hvdXIpLCAmKGx0bS50 bV9taW4pLCAmKGx0bS50bV9zZWMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJnp6KSAhPSA3KSB8fCAoenogIT0gJ1onKSkgeworICAgICAgICAvLyBUcnkgR2VuZXJh bGl6ZWRUaW1lCistICAgICAgIGlmICgoc3NjYW5mKChjb25zdCBjaGFyICopKHRzbjEtPmRhdGEp LAorKyAgICAgICBpZiAoKHNzY2FuZigoY29uc3QgY2hhciAqKSBBU04xX1NUUklOR19nZXQwX2Rh dGEodHNuMSksCisgICAgICAgICAgICAiJTA0ZCUwMmQlMDJkJTAyZCUwMmQlMDJkJWMiLCAKKyAg ICAgICAgICAgICYobHRtLnRtX3llYXIpLCAmKGx0bS50bV9tb24pLCAmKGx0bS50bV9tZGF5KSwK KyAgICAgICAgICAgICYobHRtLnRtX2hvdXIpLCAmKGx0bS50bV9taW4pLCAmKGx0bS50bV9zZWMp LAorQEAgLTczMyw3ICs3MzMsNyBAQCB0aW1lX3QgWHJkQ3J5cHRvc3NsQVNOMXRvVVRDKGNvbnN0 IEFTTjFfVElNRSAqdHNuMSkKKyB9IAorIAorIC8vX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXworLXZvaWQg WHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKQor K3ZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoY29uc3QgWDUwOV9OQU1FICpubSwgWHJkT3Vj U3RyaW5nICZzKQorIHsKKyAgICAvLyBGdW5jdGlvbiB0byBjb252ZXJ0IFg1MDlfTkFNRSBpbnRv IGEgb25lLWxpbmUgaHVtYW4gcmVhZGFibGUgc3RyaW5nCisgCitkaWZmIC0tZ2l0IGEvc3JjL1hy ZENyeXB0by9YcmRDcnlwdG9zc2xBdXguaGggYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1 eC5oaAoraW5kZXggMzZmM2FhZDFiLi5kZTg1MmJlM2YgMTAwNjQ0CistLS0gYS9zcmMvWHJkQ3J5 cHRvL1hyZENyeXB0b3NzbEF1eC5oaAorKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xB dXguaGgKK0BAIC03NCw3ICs3NCw3IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5UGFyc2VTdGFjayhY cmRUbHNQZWVyQ2VydHMqIHBjLCBYcmRDcnlwdG9YNTA5Q2hhaW4gKmNoYWluKTsKKyB0aW1lX3Qg WHJkQ3J5cHRvc3NsQVNOMXRvVVRDKGNvbnN0IEFTTjFfVElNRSAqdHNuMSk7CisgCisgLy8gRnVu Y3Rpb24gdG8gY29udmVydCBYNTA5X05BTUUgaW50byBhIG9uZS1saW5lIGh1bWFuIHJlYWRhYmxl IHN0cmluZworLXZvaWQgWHJkQ3J5cHRvc3NsTmFtZU9uZUxpbmUoWDUwOV9OQU1FICpubSwgWHJk T3VjU3RyaW5nICZzKTsKKyt2b2lkIFhyZENyeXB0b3NzbE5hbWVPbmVMaW5lKGNvbnN0IFg1MDlf TkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcyk7CisgCisgLy8KKyAvLyBYNTA5IHByb3h5IGF1eGls bGlhcnkgZnVuY3Rpb25zCitkaWZmIC0tZ2l0IGEvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xY NTA5LmNjIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5LmNjCitpbmRleCBiY2M3OWM4 OWMuLmQ5ZDJiMTgyZiAxMDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsWDUw OS5jYworKysrIGIvc3JjL1hyZENyeXB0by9YcmRDcnlwdG9zc2xYNTA5LmNjCitAQCAtMzQwLDcg KzM0MCwxMSBAQCB2b2lkIFhyZENyeXB0b3NzbFg1MDk6OkNlcnRUeXBlKCkKKyAgIAorICAgIGJv b2wgZG9uZSA9IDA7CisgICAgLy8gQ2hlY2sgdGhlIGV4dGVuc2lvbnMKKysjaWYgT1BFTlNTTF9W RVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAgWDUwOV9FWFRFTlNJT04gKmV4dCA9IDA7 CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqZXh0ID0gMDsKKysjZW5kaWYKKyAg ICBpbnQgaWR4ID0gLTE7CisgCisgICAgLy8gRm9yIENBcyB3ZSBhcmUgbG9va2luZyBmb3IgYSAi YmFzaWNDb25zdHJhaW50cyIKK0BAIC02ODQsNyArNjg4LDExIEBAIFhyZENyeXB0b1g1MDlkYXRh IFhyZENyeXB0b3NzbFg1MDk6OkdldEV4dGVuc2lvbihjb25zdCBjaGFyICpvaWQpCisgCisgICAg Ly8gTG9vcCB0byBpZGVudGlmeSB0aGUgb25lIHdlIHdvdWxkIGxpa2UKKyAgICBpbnQgaSA9IDA7 CisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhU RU5TSU9OICp3ZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICp3ZXh0 ID0gMDsKKysjZW5kaWYKKyAgICBmb3IgKGkgPSAwOyBpPCBudW1leHQ7IGkrKykgeworICAgICAg IHdleHQgPSBYNTA5X2dldF9leHQoY2VydCwgaSk7CisgICAgICAgaWYgKHVzZW5pZCkgeworQEAg LTgyMSw3ICs4MjksMTEgQEAgaW50IFhyZENyeXB0b3NzbFg1MDk6OkR1bXBFeHRlbnNpb25zKGJv b2wgZHVtcHVua25vd24pCisgCisgICAgcmMgPSAxOworICAgIC8vIEdvIHRocm91Z2ggdGhlIGV4 dGVuc2lvbnMKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAg WDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBYNTA5X0VYVEVO U0lPTiAqeHBpZXh0ID0gMDsKKysjZW5kaWYKKyAgICBpbnQgbnBpZXh0ID0gWDUwOV9nZXRfZXh0 X2NvdW50KHhwaSk7CisgICAgUFJJTlQoImZvdW5kICI8PG5waWV4dDw8IiBleHRlbnNpb25zICIp OworICAgIGludCBpID0gMDsKK0BAIC04MzQsOCArODQ2LDggQEAgaW50IFhyZENyeXB0b3NzbFg1 MDk6OkR1bXBFeHRlbnNpb25zKGJvb2wgZHVtcHVua25vd24pCisgICAgICAgUFJJTlQoaSA8PCAi OiBmb3VuZCBleHRlbnNpb24gJyI8PHM8PCInLCBjcml0aWNhbDogIiA8PCBjcml0KTsKKyAgICAg ICAvLyBEdW1wIGl0cyBjb250ZW50CisgICAgICAgcmMgPSAwOworLSAgICAgIGNvbnN0IHVuc2ln bmVkIGNoYXIgKnBwID0gKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgWDUwOV9FWFRFTlNJT05fZ2V0 X2RhdGEoeHBpZXh0KS0+ZGF0YTsKKy0gICAgICBsb25nIGxlbmd0aCA9IFg1MDlfRVhURU5TSU9O X2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aDsKKysgICAgICBjb25zdCB1bnNpZ25lZCBjaGFyICpw cCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQp KTsKKysgICAgICBsb25nIGxlbmd0aCA9IEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YSh4cGlleHQpKTsKKyAgICAgICBpbnQgcmV0ID0gRmlsbFVua25vd25FeHQoJnBw LCBsZW5ndGgsIGR1bXB1bmtub3duKTsKKyAgICAgICBQUklOVCgicmV0OiAiIDw8IHJldCk7Cisg ICAgfQorQEAgLTk1NywxMCArOTY5LDEwIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpGaWxsVW5r bm93bkV4dChjb25zdCB1bnNpZ25lZCBjaGFyICoqcHAsIGxvbmcgbGVuZ3RoLCBib29sCisgICAg ICAgICAgICAgaW50IGksIHByaW50YWJsZSA9IDE7CisgICAgICAgICAgICAgb3BwID0gb3A7Cisg ICAgICAgICAgICAgb3MgPSBkMmlfQVNOMV9PQ1RFVF9TVFJJTkcoMCwgJm9wcCwgbGVuICsgaGwp OworLSAgICAgICAgICAgIGlmIChvcyAmJiBvcy0+bGVuZ3RoID4gMCkgeworLSAgICAgICAgICAg ICAgIG9wcCA9IG9zLT5kYXRhOworKyAgICAgICAgICAgIGlmIChvcyAmJiBBU04xX1NUUklOR19s ZW5ndGgob3MpID4gMCkgeworKyAgICAgICAgICAgICAgIG9wcCA9IEFTTjFfU1RSSU5HX2dldDBf ZGF0YShvcyk7CisgICAgICAgICAgICAgICAgLyogdGVzdGluZyB3aGV0aGVyIHRoZSBvY3RldCBz dHJpbmcgaXMgKiBwcmludGFibGUgKi8KKy0gICAgICAgICAgICAgICBmb3IgKGk9MDsgaTxvcy0+ bGVuZ3RoOyBpKyspIHsKKysgICAgICAgICAgICAgICBmb3IgKGk9MDsgaSA8IEFTTjFfU1RSSU5H X2xlbmd0aChvcyk7IGkrKykgeworICAgICAgICAgICAgICAgICAgIGlmICgoIChvcHBbaV0gPCAn ICcpICYmIChvcHBbaV0gIT0gJ1xuJykgJiYKKyAgICAgICAgICAgICAgICAgICAgICAgICAob3Bw W2ldICE9ICdccicpICYmIChvcHBbaV0gIT0gJ1x0JykpIHx8IChvcHBbaV0gPiAnficpKSB7Cisg ICAgICAgICAgICAgICAgICAgICAgcHJpbnRhYmxlID0gMDsKK0BAIC05NjksMTYgKzk4MSwxNiBA QCBpbnQgWHJkQ3J5cHRvc3NsWDUwOTo6RmlsbFVua25vd25FeHQoY29uc3QgdW5zaWduZWQgY2hh ciAqKnBwLCBsb25nIGxlbmd0aCwgYm9vbAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAg ICAgICBpZiAocHJpbnRhYmxlKSB7CisgICAgICAgICAgICAgICAgICAgLyogcHJpbnRhYmxlIHN0 cmluZyAqLworLSAgICAgICAgICAgICAgICAgIGNoYXIgKnMgPSBuZXcgY2hhcltvcy0+bGVuZ3Ro ICsgMV07CistICAgICAgICAgICAgICAgICAgbWVtY3B5KHMsIG9wcCwgb3MtPmxlbmd0aCk7Cist ICAgICAgICAgICAgICAgICAgc1tvcy0+bGVuZ3RoXSA9IDA7CistICAgICAgICAgICAgICAgICAg aWYgKGR1bXApIFBSSU5UKCJPQkpTOiIgPDwgcyA8PCAiIChsZW46ICI8PG9zLT5sZW5ndGg8PCIp Iik7CisrICAgICAgICAgICAgICAgICAgY2hhciAqcyA9IG5ldyBjaGFyW0FTTjFfU1RSSU5HX2xl bmd0aChvcykgKyAxXTsKKysgICAgICAgICAgICAgICAgICBtZW1jcHkocywgb3BwLCBBU04xX1NU UklOR19sZW5ndGgob3MpKTsKKysgICAgICAgICAgICAgICAgICBzW0FTTjFfU1RSSU5HX2xlbmd0 aChvcyldID0gMDsKKysgICAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIk9CSlM6IiA8 PCBzIDw8ICIgKGxlbjogIiA8PCBBU04xX1NUUklOR19sZW5ndGgob3MpIDw8ICIpIik7CisgICAg ICAgICAgICAgICAgICAgZGVsZXRlIFtdIHM7CisgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAg ICAgICAgICAgICAgICAgICAvKiBwcmludCB0aGUgbm9ybWFsIGR1bXAgKi8KKyAgICAgICAgICAg ICAgICAgICBpZiAoIW5sKSBQUklOVCgiT0JKUzoiKTsKKyAgICAgICAgICAgICAgICAgICBCSU8g Km1lbSA9IEJJT19uZXcoQklPX3NfbWVtKCkpOworLSAgICAgICAgICAgICAgICAgIGlmIChCSU9f ZHVtcF9pbmRlbnQobWVtLCAoY29uc3QgY2hhciAqKW9wcCwgb3MtPmxlbmd0aCwgZHVtcF9pbmRl bnQpIDw9IDApIHsKKysgICAgICAgICAgICAgICAgICBpZiAoQklPX2R1bXBfaW5kZW50KG1lbSwg KGNvbnN0IGNoYXIgKilvcHAsIEFTTjFfU1RSSU5HX2xlbmd0aChvcyksIGR1bXBfaW5kZW50KSA8 PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJFUlJPUjpPQkpT OiBwcm9ibGVtcyBkdW1waW5nIHRvIEJJTyIpOworICAgICAgICAgICAgICAgICAgICAgIEJJT19m cmVlKG1lbSk7ICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgZ290byBl bmQ7CitAQCAtOTk5LDE4ICsxMDExLDE4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpGaWxsVW5r bm93bkV4dChjb25zdCB1bnNpZ25lZCBjaGFyICoqcHAsIGxvbmcgbGVuZ3RoLCBib29sCisgICAg ICAgICAgICAgYnMgPSBkMmlfQVNOMV9JTlRFR0VSKDAsICZvcHAsIGxlbitobCk7CisgICAgICAg ICAgICAgaWYgKGJzKSB7CisgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJBSU5UOiIp OworLSAgICAgICAgICAgICAgIGlmIChicy0+dHlwZSA9PSBWX0FTTjFfTkVHX0lOVEVHRVIpCisr ICAgICAgICAgICAgICAgaWYgKEFTTjFfU1RSSU5HX3R5cGUoYnMpID09IFZfQVNOMV9ORUdfSU5U RUdFUikKKyAgICAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIi0iKTsKKyAgICAgICAg ICAgICAgICBCSU8gKm1lbSA9IEJJT19uZXcoQklPX3NfbWVtKCkpOworLSAgICAgICAgICAgICAg IGZvciAoaSA9IDA7IGkgPCBicy0+bGVuZ3RoOyBpKyspIHsKKy0gICAgICAgICAgICAgICAgICBp ZiAoQklPX3ByaW50ZihtZW0sICIlMDJYIiwgYnMtPmRhdGFbaV0pIDw9IDApIHsKKysgICAgICAg ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgQVNOMV9TVFJJTkdfbGVuZ3RoKGJzKTsgaSsrKSB7Cisr ICAgICAgICAgICAgICAgICAgaWYgKEJJT19wcmludGYobWVtLCAiJTAyWCIsIEFTTjFfU1RSSU5H X2dldDBfZGF0YShicylbaV0pIDw9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoZHVt cCkgUFJJTlQoIkVSUk9SOkFJTlQ6IHByb2JsZW1zIHByaW50Zi1pbmcgdG8gQklPIik7CisgICAg ICAgICAgICAgICAgICAgICAgQklPX2ZyZWUobWVtKTsgCisgICAgICAgICAgICAgICAgICAgICAg Z290byBlbmQ7CisgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgICAgICBpZiAoZHVtcCkgeyBCSU9fUFJJTlQobWVtLCAiQUlOVDoiKTsgfQorLSAgICAg ICAgICAgICAgIGlmIChicy0+bGVuZ3RoID09IDApIFBSSU5UKCIwMCIpOworKyAgICAgICAgICAg ICAgIGlmIChBU04xX1NUUklOR19sZW5ndGgoYnMpID09IDApIFBSSU5UKCIwMCIpOworICAgICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJFUlJPUjpB SU5UOiBCQUQgSU5URUdFUiIpOworICAgICAgICAgICAgIH0KK0BAIC0xMDIzLDE4ICsxMDM1LDE4 IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5OjpGaWxsVW5rbm93bkV4dChjb25zdCB1bnNpZ25lZCBj aGFyICoqcHAsIGxvbmcgbGVuZ3RoLCBib29sCisgICAgICAgICAgICAgYnMgPSBkMmlfQVNOMV9F TlVNRVJBVEVEKDAsICZvcHAsIGxlbitobCk7CisgICAgICAgICAgICAgaWYgKGJzKSB7CisgICAg ICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJBRU5VOiIpOworLSAgICAgICAgICAgICAgIGlm IChicy0+dHlwZSA9PSBWX0FTTjFfTkVHX0VOVU1FUkFURUQpCisrICAgICAgICAgICAgICAgaWYg KEFTTjFfU1RSSU5HX3R5cGUoYnMpID09IFZfQVNOMV9ORUdfRU5VTUVSQVRFRCkKKyAgICAgICAg ICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIi0iKTsKKyAgICAgICAgICAgICAgICBCSU8gKm1l bSA9IEJJT19uZXcoQklPX3NfbWVtKCkpOworLSAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkg PCBicy0+bGVuZ3RoOyBpKyspIHsKKy0gICAgICAgICAgICAgICAgICBpZiAoQklPX3ByaW50Ziht ZW0sICIlMDJYIiwgYnMtPmRhdGFbaV0pIDw9IDApIHsKKysgICAgICAgICAgICAgICBmb3IgKGkg PSAwOyBpIDwgQVNOMV9TVFJJTkdfbGVuZ3RoKGJzKTsgaSsrKSB7CisrICAgICAgICAgICAgICAg ICAgaWYgKEJJT19wcmludGYobWVtLCAiJTAyWCIsIEFTTjFfU1RSSU5HX2dldDBfZGF0YShicylb aV0pIDw9IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICBpZiAoZHVtcCkgUFJJTlQoIkVSUk9S OkFFTlU6IHByb2JsZW1zIHByaW50Zi1pbmcgdG8gQklPIik7CisgICAgICAgICAgICAgICAgICAg ICAgQklPX2ZyZWUobWVtKTsgCisgICAgICAgICAgICAgICAgICAgICAgZ290byBlbmQ7CisgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAo ZHVtcCkgeyBCSU9fUFJJTlQobWVtLCAiQUVOVToiKTsgfQorLSAgICAgICAgICAgICAgIGlmIChi cy0+bGVuZ3RoID09IDApIFBSSU5UKCIwMCIpOworKyAgICAgICAgICAgICAgIGlmIChBU04xX1NU UklOR19sZW5ndGgoYnMpID09IDApIFBSSU5UKCIwMCIpOworICAgICAgICAgICAgIH0gZWxzZSB7 CisgICAgICAgICAgICAgICAgaWYgKGR1bXApIFBSSU5UKCJFUlJPUjpBRU5VOiBCQUQgRU5VTUVS QVRFRCIpOworICAgICAgICAgICAgIH0KK2RpZmYgLS1naXQgYS9zcmMvWHJkQ3J5cHRvL1hyZENy eXB0b3NzbFg1MDlDcmwuY2MgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1MDlDcmwuY2MK K2luZGV4IDYxZGRhZjgzYy4uY2M5ZjMyNGJiIDEwMDY0NAorLS0tIGEvc3JjL1hyZENyeXB0by9Y cmRDcnlwdG9zc2xYNTA5Q3JsLmNjCisrKysgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbFg1 MDlDcmwuY2MKK0BAIC0xMDUsNyArMTA1LDcgQEAgWHJkQ3J5cHRvc3NsWDUwOUNybDo6WHJkQ3J5 cHRvc3NsWDUwOUNybChYcmRDcnlwdG9YNTA5ICpjYWNlcnQpCisgCisgICAgLy8gQmlvIGZvciBl eHBvcnRpbmcgdGhlIGV4dGVuc2lvbgorICAgIEJJTyAqYmV4dCA9IEJJT19uZXcoQklPX3NfbWVt KCkpOworLSAgIEFTTjFfT0JKRUNUICpvYmogPSBYNTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0KGNy bGV4dCk7CisrICAgY29uc3QgQVNOMV9PQkpFQ1QgKm9iaiA9IFg1MDlfRVhURU5TSU9OX2dldF9v YmplY3QoY3JsZXh0KTsKKyAgICBpMmFfQVNOMV9PQkpFQ1QoYmV4dCwgb2JqKTsKKyAgICBYNTA5 VjNfRVhUX3ByaW50KGJleHQsIGNybGV4dCwgMCwgNCk7CisgICAgLy8gZGF0YSBsZW5ndGgKK2Rp ZmYgLS1naXQgYS9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYyBiL3NyYy9YcmRD cnlwdG8vWHJkQ3J5cHRvc3NsZ3NpQXV4LmNjCitpbmRleCA4ZjRiOTI5YzEuLmE1ZDIwZTFhZiAx MDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsZ3NpQXV4LmNjCisrKysgYi9z cmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbGdzaUF1eC5jYworQEAgLTE2NSwxMiArMTY1LDEyIEBA IGJvb2wgWHJkQ3J5cHRvc3NsUHJveHlDZXJ0SW5mbyhjb25zdCB2b2lkICpleHRkYXRhLCBpbnQg JnBhdGhsZW4sIGJvb2wgKmhhc3BvbGljCisgICAgT0JKX29iajJ0eHQocywgc2l6ZW9mKHMpLCBY NTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0KGV4dCksIDEpOworIAorICAgIC8vIE5vdyBleHRyYWN0 IHRoZSBwYXRoIGxlbmd0aCBjb25zdHJhaW50LCBpZiBhbnkKKy0gICB1bnNpZ25lZCBjaGFyICpw ID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+ZGF0YTsKKysgICBjb25zdCB1bnNpZ25l ZCBjaGFyICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KGV4dCkpOworICAgIFBST1hZX0NFUlRfSU5GT19FWFRFTlNJT04gKnBjaSA9IDA7CisgICAgaWYg KCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19PSUQpKQorLSAgICAgIHBjaSA9IGQyaV9QUk9Y WV9DRVJUX0lORk9fRVhURU5TSU9OKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1 MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAgcGNpID0gZDJpX1BS T1hZX0NFUlRfSU5GT19FWFRFTlNJT04oMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQpKSk7CisgICAgZWxzZSBpZiAoIXN0cmNtcChzLCBnc2lQcm94 eUNlcnRJbmZvX09MRF9PSUQpKQorLSAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhU RU5TSU9OX09MRCgwLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKikoJnApLCBYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJUX0lO Rk9fRVhURU5TSU9OX09MRCgwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9O X2dldF9kYXRhKGV4dCkpKTsKKyAgICBpZiAoIXBjaSkgeworICAgICAgIHJldHVybiAwOworICAg IH0KK0BAIC0yMDgsMTIgKzIwOCwxMiBAQCB2b2lkIFhyZENyeXB0b3NzbFNldFBhdGhMZW5Db25z dHJhaW50KHZvaWQgKmV4dGRhdGEsIGludCBwYXRobGVuKQorICAgIE9CSl9vYmoydHh0KHMsIHNp emVvZihzKSwgWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdChleHQpLCAxKTsKKyAKKyAgICAvLyBO b3cgZXh0cmFjdCB0aGUgcGF0aCBsZW5ndGggY29uc3RyYWludCwgaWYgYW55CistICAgdW5zaWdu ZWQgY2hhciAqcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CisrICAgY29u c3QgdW5zaWduZWQgY2hhciAqcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5X0VYVEVOU0lP Tl9nZXRfZGF0YShleHQpKTsKKyAgICBQUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OICpwY2kgPSAw OworICAgIGlmICghc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSkKKy0gICAgICBwY2kg PSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAoY29uc3QgdW5zaWduZWQgY2hhciAq KikoJnApLCBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgpOworKyAgICAgIHBj aSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsICZwLCBBU04xX1NUUklOR19sZW5n dGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KSkpOworICAgIGVsc2UgaWYgKCFzdHJjbXAo cywgZ3NpUHJveHlDZXJ0SW5mb19PTERfT0lEKSkKKy0gICAgICBwY2kgPSBkMmlfUFJPWFlfQ0VS VF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUw OV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICBwY2kgPSBkMmlfUFJP WFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKSk7CisgICAgaWYgKCFwY2kpCisgICAgICAgcmV0dXJu OworIAorQEAgLTQxOSwxNiArNDE5LDMyIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5Q3JlYXRlUHJv eHkoY29uc3QgY2hhciAqZm5jLCBjb25zdCBjaGFyICpmbmssCisgICAgICAgcmV0dXJuIC1rRXJy UFhfU2V0QXR0cmlidXRlOworICAgIH0KKyAgICAvLyBFeHRyYWN0IGRhdGEgaW4gZm9ybWF0IGZv ciBleHRlbnNpb24KKy0gICBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGggPSBp MmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTihwY2ksIDApOworLSAgIGlmICghKFg1MDlfRVhU RU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGEgPSAodW5zaWduZWQgY2hhciAqKW1hbGxvYyhYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpLT5sZW5ndGgrMSkpKSB7CisrICAgaW50IGxlbiA9IGky ZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaSwgMCk7CisrICAgdW5zaWduZWQgY2hhciAq ZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopIG1hbGxvYyhsZW4pOworKyAgIGlmICghZGF0YSkgewor ICAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9u Iik7CisgICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisgICAgfQorLSAgIHVuc2ln bmVkIGNoYXIgKnBwID0gWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KS0+ZGF0YTsKKysgICB1 bnNpZ25lZCBjaGFyICpwcCA9IGRhdGE7CisgICAgaWYgKChpMmRfUFJPWFlfQ0VSVF9JTkZPX0VY VEVOU0lPTihwY2ksICZwcCkpIDw9IDApIHsKKyAgICAgICBQUklOVCgicHJvYmxlbSBjb252ZXJ0 aW5nIGRhdGEgZm9yIGV4dGVuc2lvbiIpOworICAgICAgIHJldHVybiAta0VyclBYX0Vycm9yOwor ICAgIH0KKysgICBBU04xX09DVEVUX1NUUklORyAqb3MgPSBBU04xX09DVEVUX1NUUklOR19uZXco KTsKKysgICBpZiAoIW9zKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRh IGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNl czsKKysgICB9CisrICAgaWYgKEFTTjFfT0NURVRfU1RSSU5HX3NldChvcywgZGF0YSwgbGVuKSA9 PSAwKSB7CisrICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBl eHRlbnNpb24iKTsKKysgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9Cisr ICAgZnJlZShkYXRhKTsKKysgICBpZiAoWDUwOV9FWFRFTlNJT05fc2V0X2RhdGEoZXh0LCBvcykg PT0gMCkgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3Ig ZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQor KyAgIEFTTjFfU1RSSU5HX2ZyZWUob3MpOworICAgIC8vIENyZWF0ZSBhIHN0YWNrCisgICAgU1RB Q0tfT0YoWDUwOV9FWFRFTlNJT04pICplc2sgPSBza19YNTA5X0VYVEVOU0lPTl9uZXdfbnVsbCgp OworICAgIGlmICghZXNrKSB7CitAQCAtNTA0LDcgKzUyMCwxMSBAQCBpbnQgWHJkQ3J5cHRvc3Ns WDUwOUNyZWF0ZVByb3h5KGNvbnN0IGNoYXIgKmZuYywgY29uc3QgY2hhciAqZm5rLAorICAgIH0K KyAKKyAgICAvLyBGaXJzdCBkdXBsaWNhdGUgdGhlIGV4dGVuc2lvbnMgb2YgdGhlIEVFIGNlcnRp ZmljYXRlCisrI2lmIE9QRU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1 MDlfRVhURU5TSU9OICp4RUVDZXh0ID0gMDsKKysjZWxzZQorKyAgIGNvbnN0IFg1MDlfRVhURU5T SU9OICp4RUVDZXh0ID0gMDsKKysjZW5kaWYKKyAgICBpbnQgbkVFQ2V4dCA9IFg1MDlfZ2V0X2V4 dF9jb3VudCh4RUVDKTsKKyAgICBERUJVRygibnVtYmVyIG9mIGV4dGVuc2lvbnMgZm91bmQgaW4g dGhlIG9yaWdpbmFsIGNlcnRpZmljYXRlOiAiPDwgbkVFQ2V4dCk7CisgICAgaW50IGkgPSAwOwor QEAgLTc1Niw3ICs3NzYsMTEgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlDcmVhdGVQcm94eVJlcShY cmRDcnlwdG9YNTA5ICp4Y3BpLAorICAgIH0KKyAgICAvLworICAgIC8vIEdldCBzaWduYXR1cmUg cGF0aCBkZXB0aCBmcm9tIHByZXNlbnQgcHJveHkKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJF UiA8IDB4NDAwMDAwMDBMCisgICAgWDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDA7CisrI2Vsc2UK KysgICBjb25zdCBYNTA5X0VYVEVOU0lPTiAqeHBpZXh0ID0gMDsKKysjZW5kaWYKKyAgICBpbnQg bnBpZXh0ID0gWDUwOV9nZXRfZXh0X2NvdW50KHhwaSk7CisgICAgaW50IGkgPSAwOworICAgIGJv b2wgaGFza2V5dXNhZ2UgPSAwOworQEAgLTc3MiwxMiArNzk2LDEyIEBAIGludCBYcmRDcnlwdG9z c2xYNTA5Q3JlYXRlUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwKKyAgICAgICAvLyBHZXQg c2lnbmF0dXJlIHBhdGggZGVwdGggZnJvbSBwcmVzZW50IHByb3h5CisgICAgICAgaWYgKCFzdHJj bXAocywgZ3NpUHJveHlDZXJ0SW5mb19PSUQpIHx8CisgICAgICAgICAgICFzdHJjbXAocywgZ3Np UHJveHlDZXJ0SW5mb19PTERfT0lEKSkgeworLSAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBY NTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cGlleHQpLT5kYXRhOworKyAgICAgICAgIGNvbnN0IHVu c2lnbmVkIGNoYXIgKnAgPSBBU04xX1NUUklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0 X2RhdGEoeHBpZXh0KSk7CisgICAgICAgICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAqaW5w Y2kgPSAwOworICAgICAgICAgIGlmICghc3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSkK Ky0gICAgICAgICAgICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsIChj b25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4 dCktPmxlbmd0aCk7CisrICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VY VEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KHhwaWV4dCkpKTsKKyAgICAgICAgICBlbHNlCistICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJP WFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZw KSwgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+bGVuZ3RoKTsKKysgICAgICAgICAg ICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OX09MRCgwLCAmcCwgQVNOMV9T VFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCkpKTsKKyAgICAgICAg ICBpZiAoaW5wY2kgJiYKKyAgICAgICAgICAgICAgaW5wY2ktPnBjUGF0aExlbmd0aENvbnN0cmFp bnQpCisgICAgICAgICAgICAgaW5kZXB0aGxlbiA9IEFTTjFfSU5URUdFUl9nZXQoaW5wY2ktPnBj UGF0aExlbmd0aENvbnN0cmFpbnQpOworQEAgLTgyMywxNiArODQ3LDMyIEBAIGludCBYcmRDcnlw dG9zc2xYNTA5Q3JlYXRlUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwKKyAgICAgICByZXR1 cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKyAgICB9CisgICAgLy8gRXh0cmFjdCBkYXRhIGluIGZv cm1hdCBmb3IgZXh0ZW5zaW9uCistICAgWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgp KS0+bGVuZ3RoID0gaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdldCgpLCAwKTsK Ky0gICBpZiAoIShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShleHQuZ2V0KCkpLT5kYXRhID0gKHVu c2lnbmVkIGNoYXIgKiltYWxsb2MoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+ bGVuZ3RoKzEpKSkgeworKyAgIGludCBsZW4gPSBpMmRfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lP TihwY2kuZ2V0KCksIDApOworKyAgIHVuc2lnbmVkIGNoYXIgKmRhdGEgPSAodW5zaWduZWQgY2hh ciAqKSBtYWxsb2MobGVuKTsKKysgICBpZiAoIWRhdGEpIHsKKyAgICAgICBQUklOVCgiY291bGQg bm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworICAgICAgIHJldHVybiAt a0VyclBYX05vUmVzb3VyY2VzOworICAgIH0KKy0gICB1bnNpZ25lZCBjaGFyICpwcCA9IFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmRhdGE7CisrICAgdW5zaWduZWQgY2hhciAq cHAgPSBkYXRhOworICAgIGlmICgoaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdl dCgpLCAmcHApKSA8PSAwKSB7CisgICAgICAgUFJJTlQoInByb2JsZW0gY29udmVydGluZyBkYXRh IGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9FcnJvcjsKKyAgICB9Cisr ICAgQVNOMV9PQ1RFVF9TVFJJTkcgKm9zID0gQVNOMV9PQ1RFVF9TVFJJTkdfbmV3KCk7CisrICAg aWYgKCFvcykgeworKyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBm b3IgZXh0ZW5zaW9uIik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAg fQorKyAgIGlmIChBU04xX09DVEVUX1NUUklOR19zZXQob3MsIGRhdGEsIGxlbikgPT0gMCkgewor KyAgICAgIFBSSU5UKCJjb3VsZCBub3QgYWxsb2NhdGUgZGF0YSBmaWVsZCBmb3IgZXh0ZW5zaW9u Iik7CisrICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJjZXM7CisrICAgfQorKyAgIGZyZWUo ZGF0YSk7CisrICAgaWYgKFg1MDlfRVhURU5TSU9OX3NldF9kYXRhKGV4dC5nZXQoKSwgb3MpID09 IDApIHsKKysgICAgICBQUklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4 dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysg ICBBU04xX1NUUklOR19mcmVlKG9zKTsKKyAgICBwY2kgPSBudWxscHRyOworIAorICAgIC8vIFNl dCBleHRlbnNpb24gbmFtZS4KK0BAIC0xMDMwLDcgKzEwNzAsMTEgQEAgaW50IFhyZENyeXB0b3Nz bFg1MDlTaWduUHJveHlSZXEoWHJkQ3J5cHRvWDUwOSAqeGNwaSwgWHJkQ3J5cHRvUlNBICprY3Bp LAorIAorICAgIC8vCisgICAgLy8gR2V0IHNpZ25hdHVyZSBwYXRoIGRlcHRoIGZyb20gaW5wdXQg cHJveHkKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAwMDAwMDBMCisgICAgWDUw OV9FWFRFTlNJT04gKnhwaWV4dCA9IDAsICp4cmlleHQgPSAwOworKyNlbHNlCisrICAgY29uc3Qg WDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDAsICp4cmlleHQgPSAwOworKyNlbmRpZgorICAgIGlu dCBucGlleHQgPSBYNTA5X2dldF9leHRfY291bnQoeHBpKTsKKyAgICBpbnQgaSA9IDA7CisgICAg Ym9vbCBoYXNrZXl1c2FnZSA9IDA7CitAQCAtMTAzOCwxNyArMTA4MiwxNyBAQCBpbnQgWHJkQ3J5 cHRvc3NsWDUwOVNpZ25Qcm94eVJlcShYcmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRDcnlwdG9SU0Eg KmtjcGksCisgICAgZm9yIChpID0gMDsgaTwgbnBpZXh0OyBpKyspIHsKKyAgICAgICB4cGlleHQg PSBYNTA5X2dldF9leHQoeHBpLCBpKTsKKyAgICAgICBjaGFyIHNbMjU2XSA9IHswfTsKKy0gICAg ICBBU04xX09CSkVDVCAqb2JqID0gWDUwOV9FWFRFTlNJT05fZ2V0X29iamVjdCh4cGlleHQpOwor KyAgICAgIGNvbnN0IEFTTjFfT0JKRUNUICpvYmogPSBYNTA5X0VYVEVOU0lPTl9nZXRfb2JqZWN0 KHhwaWV4dCk7CisgICAgICAgaWYgKG9iaikKKyAgICAgICAgICBPQkpfb2JqMnR4dChzLCBzaXpl b2YocyksIG9iaiwgMSk7CisgICAgICAgaWYgKCFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19P SUQpIHx8CisgICAgICAgICAgICFzdHJjbXAocywgZ3NpUHJveHlDZXJ0SW5mb19PTERfT0lEKSkg eworLSAgICAgICAgIHVuc2lnbmVkIGNoYXIgKnAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4 cGlleHQpLT5kYXRhOworKyAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnAgPSBBU04xX1NU UklOR19nZXQwX2RhdGEoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KSk7CisgICAgICAg ICAgUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTiAqaW5wY2kgPSAwOworICAgICAgICAgIGlmICgh c3RyY21wKHMsIGdzaVByb3h5Q2VydEluZm9fT0lEKSkKKy0gICAgICAgICAgICBpbnBjaSA9IGQy aV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgm cCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCktPmxlbmd0aCk7CisrICAgICAgICAg ICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTigwLCAmcCwgQVNOMV9TVFJJ TkdfbGVuZ3RoKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCkpKTsKKyAgICAgICAgICBl bHNlCistICAgICAgICAgICAgaW5wY2kgPSBkMmlfUFJPWFlfQ0VSVF9JTkZPX0VYVEVOU0lPTl9P TEQoMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05fZ2V0X2Rh dGEoeHBpZXh0KS0+bGVuZ3RoKTsKKysgICAgICAgICAgICBpbnBjaSA9IGQyaV9QUk9YWV9DRVJU X0lORk9fRVhURU5TSU9OX09MRCgwLCAmcCwgQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlfRVhURU5T SU9OX2dldF9kYXRhKHhwaWV4dCkpKTsKKyAgICAgICAgICBpZiAoaW5wY2kgJiYKKyAgICAgICAg ICAgICAgaW5wY2ktPnBjUGF0aExlbmd0aENvbnN0cmFpbnQpCisgICAgICAgICAgICAgaW5kZXB0 aGxlbiA9IEFTTjFfSU5URUdFUl9nZXQoaW5wY2ktPnBjUGF0aExlbmd0aENvbnN0cmFpbnQpOwor QEAgLTExMDEsOSArMTE0NSw5IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5U2lnblByb3h5UmVxKFhy ZENyeXB0b1g1MDkgKnhjcGksIFhyZENyeXB0b1JTQSAqa2NwaSwKKyAgICAvLyBHZXQgdGhlIGNv bnRlbnQKKyAgICBpbnQgcmVxZGVwdGhsZW4gPSAtMTsKKyAgICBpZiAoeHJpZXh0KSB7CistICAg ICAgdW5zaWduZWQgY2hhciAqcCA9IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKHhyaWV4dCktPmRh dGE7CisrICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0 YShYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YSh4cmlleHQpKTsKKyAgICAgICBQUk9YWV9DRVJUX0lO Rk9fRVhURU5TSU9OICpyZXFwY2kgPQorLSAgICAgICAgIGQyaV9QUk9YWV9DRVJUX0lORk9fRVhU RU5TSU9OKDAsIChjb25zdCB1bnNpZ25lZCBjaGFyICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dl dF9kYXRhKHhyaWV4dCktPmxlbmd0aCk7CisrICAgICAgICAgZDJpX1BST1hZX0NFUlRfSU5GT19F WFRFTlNJT04oMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VYVEVOU0lPTl9nZXRfZGF0 YSh4cmlleHQpKSk7CisgICAgICAgaWYgKHJlcXBjaSAmJgorICAgICAgICAgICByZXFwY2ktPnBj UGF0aExlbmd0aENvbnN0cmFpbnQpCisgICAgICAgICAgcmVxZGVwdGhsZW4gPSBBU04xX0lOVEVH RVJfZ2V0KHJlcXBjaS0+cGNQYXRoTGVuZ3RoQ29uc3RyYWludCk7CitAQCAtMTE0MCwxNiArMTE4 NCwzMiBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOVNpZ25Qcm94eVJlcShYcmRDcnlwdG9YNTA5ICp4 Y3BpLCBYcmRDcnlwdG9SU0EgKmtjcGksCisgICAgICAgcmV0dXJuIC1rRXJyUFhfTm9SZXNvdXJj ZXM7CisgICAgfQorICAgIC8vIEV4dHJhY3QgZGF0YSBpbiBmb3JtYXQgZm9yIGV4dGVuc2lvbgor LSAgIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmxlbmd0aCA9IGkyZF9QUk9Y WV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgMCk7CistICAgaWYgKCEoWDUwOV9FWFRF TlNJT05fZ2V0X2RhdGEoZXh0LmdldCgpKS0+ZGF0YSA9ICh1bnNpZ25lZCBjaGFyICopbWFsbG9j KFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dC5nZXQoKSktPmxlbmd0aCsxKSkpIHsKKysgICBp bnQgbGVuID0gaTJkX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT04ocGNpLmdldCgpLCAwKTsKKysg ICB1bnNpZ25lZCBjaGFyICpkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgbWFsbG9jKGxlbik7Cisr ICAgaWYgKCFkYXRhKSB7CisgICAgICAgUFJJTlQoImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZp ZWxkIGZvciBleHRlbnNpb24iKTsKKyAgICAgICByZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsK KyAgICB9CistICAgdW5zaWduZWQgY2hhciAqcHAgPSBYNTA5X0VYVEVOU0lPTl9nZXRfZGF0YShl eHQuZ2V0KCkpLT5kYXRhOworKyAgIHVuc2lnbmVkIGNoYXIgKnBwID0gZGF0YTsKKyAgICBpZiAo KGkyZF9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKHBjaS5nZXQoKSwgJnBwKSkgPD0gMCkgewor ICAgICAgIFBSSU5UKCJwcm9ibGVtIGNvbnZlcnRpbmcgZGF0YSBmb3IgZXh0ZW5zaW9uIik7Cisg ICAgICAgcmV0dXJuIC1rRXJyUFhfRXJyb3I7CisgICAgfQorKyAgIEFTTjFfT0NURVRfU1RSSU5H ICpvcyA9IEFTTjFfT0NURVRfU1RSSU5HX25ldygpOworKyAgIGlmICghb3MpIHsKKysgICAgICBQ UklOVCgiY291bGQgbm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworKyAg ICAgIHJldHVybiAta0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBpZiAoQVNOMV9PQ1RF VF9TVFJJTkdfc2V0KG9zLCBkYXRhLCBsZW4pID09IDApIHsKKysgICAgICBQUklOVCgiY291bGQg bm90IGFsbG9jYXRlIGRhdGEgZmllbGQgZm9yIGV4dGVuc2lvbiIpOworKyAgICAgIHJldHVybiAt a0VyclBYX05vUmVzb3VyY2VzOworKyAgIH0KKysgICBmcmVlKGRhdGEpOworKyAgIGlmIChYNTA5 X0VYVEVOU0lPTl9zZXRfZGF0YShleHQuZ2V0KCksIG9zKSA9PSAwKSB7CisrICAgICAgUFJJTlQo ImNvdWxkIG5vdCBhbGxvY2F0ZSBkYXRhIGZpZWxkIGZvciBleHRlbnNpb24iKTsKKysgICAgICBy ZXR1cm4gLWtFcnJQWF9Ob1Jlc291cmNlczsKKysgICB9CisrICAgQVNOMV9TVFJJTkdfZnJlZShv cyk7CisgICAgcGNpID0gbnVsbHB0cjsKKyAKKyAgICAvLyBTZXQgZXh0ZW5zaW9uIG5hbWUuCitA QCAtMTIxNSw3ICsxMjc1LDExIEBAIGludCBYcmRDcnlwdG9zc2xYNTA5R2V0Vk9NU0F0dHIoWHJk Q3J5cHRvWDUwOSAqeGNwaSwgWHJkT3VjU3RyaW5nICZ2YXQpCisgICAgcmMgPSAxOworICAgIGJv b2wgZ2V0dmF0ID0gMDsKKyAgICAvLyBHbyB0aHJvdWdoIHRoZSBleHRlbnNpb25zCisrI2lmIE9Q RU5TU0xfVkVSU0lPTl9OVU1CRVIgPCAweDQwMDAwMDAwTAorICAgIFg1MDlfRVhURU5TSU9OICp4 cGlleHQgPSAwOworKyNlbHNlCisrICAgY29uc3QgWDUwOV9FWFRFTlNJT04gKnhwaWV4dCA9IDA7 CisrI2VuZGlmCisgICAgaW50IG5waWV4dCA9IFg1MDlfZ2V0X2V4dF9jb3VudCh4cGkpOworICAg IGludCBpID0gMDsKKyAgICBmb3IgKGkgPSAwOyBpPCBucGlleHQ7IGkrKykgeworQEAgLTEyMjcs OCArMTI5MSw4IEBAIGludCBYcmRDcnlwdG9zc2xYNTA5R2V0Vk9NU0F0dHIoWHJkQ3J5cHRvWDUw OSAqeGNwaSwgWHJkT3VjU3RyaW5nICZ2YXQpCisgICAgICAgaWYgKHN0cmNtcChzLCBYUkRHU0lf Vk9NU19BQ1NFUV9PSUQpKSBjb250aW51ZTsKKyAgICAgICAvLyBUaGlzIGlzIHRoZSBWT01TIGV4 dGVuc2lvbiB3ZSBhcmUgaW50ZXJlc3RlZCBmb3IKKyAgICAgICByYyA9IDA7CistICAgICAgY29u c3QgdW5zaWduZWQgY2hhciAqcHAgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSBYNTA5X0VYVEVO U0lPTl9nZXRfZGF0YSh4cGlleHQpLT5kYXRhOworLSAgICAgIGxvbmcgbGVuZ3RoID0gWDUwOV9F WFRFTlNJT05fZ2V0X2RhdGEoeHBpZXh0KS0+bGVuZ3RoOworKyAgICAgIGNvbnN0IHVuc2lnbmVk IGNoYXIgKnBwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRh KHhwaWV4dCkpOworKyAgICAgIGxvbmcgbGVuZ3RoID0gQVNOMV9TVFJJTkdfbGVuZ3RoKFg1MDlf RVhURU5TSU9OX2dldF9kYXRhKHhwaWV4dCkpOworICAgICAgIGludCByZXQgPSBYcmRDcnlwdG9z c2xYNTA5RmlsbFZPTVMoJnBwLCBsZW5ndGgsIGdldHZhdCwgdmF0KTsKKyAgICAgICBERUJVRygi cmV0OiAiIDw8IHJldCA8PCAiIC0gdmF0OiAiIDw8IHZhdCk7CisgICAgfQorQEAgLTEzMTYsMTAg KzEzODAsMTAgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlGaWxsVk9NUyhjb25zdCB1bnNpZ25lZCBj aGFyICoqcHAsCisgICAgICAgICAgICAgaW50IGksIHByaW50YWJsZSA9IDE7CisgICAgICAgICAg ICAgb3BwID0gb3A7CisgICAgICAgICAgICAgb3MgPSBkMmlfQVNOMV9PQ1RFVF9TVFJJTkcoMCwg Jm9wcCwgbGVuICsgaGwpOworLSAgICAgICAgICAgIGlmIChvcyAmJiBvcy0+bGVuZ3RoID4gMCkg eworLSAgICAgICAgICAgICAgIG9wcCA9IG9zLT5kYXRhOworKyAgICAgICAgICAgIGlmIChvcyAm JiBBU04xX1NUUklOR19sZW5ndGgob3MpID4gMCkgeworKyAgICAgICAgICAgICAgIG9wcCA9IEFT TjFfU1RSSU5HX2dldDBfZGF0YShvcyk7CisgICAgICAgICAgICAgICAgLy8gVGVzdGluZyB3aGV0 aGVyIHRoZSBvY3RldCBzdHJpbmcgaXMgcHJpbnRhYmxlCistICAgICAgICAgICAgICAgZm9yIChp PTA7IGk8b3MtPmxlbmd0aDsgaSsrKSB7CisrICAgICAgICAgICAgICAgZm9yIChpPTA7IGkgPCBB U04xX1NUUklOR19sZW5ndGgob3MpOyBpKyspIHsKKyAgICAgICAgICAgICAgICAgICBpZiAoKCAo b3BwW2ldIDwgJyAnKSAmJiAob3BwW2ldICE9ICdcbicpICYmCisgICAgICAgICAgICAgICAgICAg ICAgICAgKG9wcFtpXSAhPSAnXHInKSAmJiAob3BwW2ldICE9ICdcdCcpKSB8fCAob3BwW2ldID4g J34nKSkgeworICAgICAgICAgICAgICAgICAgICAgIHByaW50YWJsZSA9IDA7CitAQCAtMTMzMyw3 ICsxMzk3LDcgQEAgaW50IFhyZENyeXB0b3NzbFg1MDlGaWxsVk9NUyhjb25zdCB1bnNpZ25lZCBj aGFyICoqcHAsCisgICAgICAgICAgICAgICAgICAgICAgdmF0ICs9IChjb25zdCBjaGFyICopb3Bw OworICAgICAgICAgICAgICAgICAgICAgIGdvdHZhdCA9IDE7CisgICAgICAgICAgICAgICAgICAg fQorLSAgICAgICAgICAgICAgICAgIERFQlVHKCJPQkpTOiIgPDwgKGNvbnN0IGNoYXIgKilvcHAg PDwgIiAobGVuOiAiPDxvcy0+bGVuZ3RoPDwiKSIpOworKyAgICAgICAgICAgICAgICAgIERFQlVH KCJPQkpTOiIgPDwgKGNvbnN0IGNoYXIgKilvcHAgPDwgIiAobGVuOiAiIDw8IEFTTjFfU1RSSU5H X2xlbmd0aChvcykgPDwgIikiKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgfQor ICAgICAgICAgICAgIGlmIChvcykgeworQEAgLTEzODUsMTEgKzE0NDksMTkgQEAgaW50IFhyZENy eXB0b3NzbFg1MDlDaGVja1Byb3h5MyhYcmRDcnlwdG9YNTA5ICp4Y3BpLCBYcmRPdWNTdHJpbmcg JmVtc2cpIHsKKyAgICB9CisgICAgVFJBQ0UoQUxMLCJjZXJ0aWZpY2F0ZSBoYXMgIjw8bnVtZXh0 PDwiIGV4dGVuc2lvbnMiKTsKKyAKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA8IDB4NDAw MDAwMDBMCisgICAgWDUwOV9FWFRFTlNJT04gKmV4dCA9IDA7CisrI2Vsc2UKKysgICBjb25zdCBY NTA5X0VYVEVOU0lPTiAqZXh0ID0gMDsKKysjZW5kaWYKKyAgICBQUk9YWV9DRVJUX0lORk9fRVhU RU5TSU9OICpwY2kgPSAwOworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbnVtZXh0OyBpKyspIHsK KyAgICAgICAvLyBHZXQgdGhlIGV4dGVuc2lvbgorKyNpZiBPUEVOU1NMX1ZFUlNJT05fTlVNQkVS IDwgMHg0MDAwMDAwMEwKKyAgICAgICBYNTA5X0VYVEVOU0lPTiAqeGV4dCA9IFg1MDlfZ2V0X2V4 dChjZXJ0LCBpKTsKKysjZWxzZQorKyAgICAgIGNvbnN0IFg1MDlfRVhURU5TSU9OICp4ZXh0ID0g WDUwOV9nZXRfZXh0KGNlcnQsIGkpOworKyNlbmRpZgorICAgICAgIC8vIFdlIGFyZSBsb29raW5n IGZvciBnc2lQcm94eUNlcnRJbmZvX09JRCAgICAgKCIxLjMuNi4xLjUuNS43LjEuMTQiKQorICAg ICAgIC8vICAgICAgICAgICAgICAgICBvciBnc2lQcm94eUNlcnRJbmZvX09MRF9PSUQgKCIxLjMu Ni4xLjQuMS4zNTM2LjEuMjIyIikKKyAgICAgICBjaGFyIHNbMjU2XTsKK0BAIC0xMzk5LDggKzE0 NzEsOCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNoZWNrUHJveHkzKFhyZENyeXB0b1g1MDkgKnhj cGksIFhyZE91Y1N0cmluZyAmZW1zZykgeworICAgICAgICAgIGlmIChleHQgPT0gMCkgeworICAg ICAgICAgICAgIGV4dCA9IHhleHQ7CisgICAgICAgICAgICAgLy8gTm93IGdldCB0aGUgZXh0ZW5z aW9uCistICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqcCA9IFg1MDlfRVhURU5TSU9OX2dldF9k YXRhKGV4dCktPmRhdGE7CistICAgICAgICAgICAgcGNpID0gZDJpX1BST1hZX0NFUlRfSU5GT19F WFRFTlNJT04oMCwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKiopKCZwKSwgWDUwOV9FWFRFTlNJT05f Z2V0X2RhdGEoZXh0KS0+bGVuZ3RoKTsKKysgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBjaGFy ICpwID0gQVNOMV9TVFJJTkdfZ2V0MF9kYXRhKFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCkp OworKyAgICAgICAgICAgIHBjaSA9IGQyaV9QUk9YWV9DRVJUX0lORk9fRVhURU5TSU9OKDAsICZw LCBBU04xX1NUUklOR19sZW5ndGgoWDUwOV9FWFRFTlNJT05fZ2V0X2RhdGEoZXh0KSkpOworICAg ICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgUFJJTlQoIldBUk5JTkc6IG11bHRpcGxlIHBy b3h5Q2VydEluZm8gZXh0ZW5zaW9ucyBmb3VuZDogdGFraW5nIHRoZSBmaXJzdCIpOworICAgICAg ICAgIH0KK0BAIC0xNDA4LDggKzE0ODAsOCBAQCBpbnQgWHJkQ3J5cHRvc3NsWDUwOUNoZWNrUHJv eHkzKFhyZENyeXB0b1g1MDkgKnhjcGksIFhyZE91Y1N0cmluZyAmZW1zZykgeworICAgICAgICAg IGlmIChleHQgPT0gMCkgeworICAgICAgICAgICAgIGV4dCA9IHhleHQ7CisgICAgICAgICAgICAg Ly8gTm93IGdldCB0aGUgZXh0ZW5zaW9uCistICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqcCA9 IFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmRhdGE7CistICAgICAgICAgICAgcGNpID0g ZDJpX1BST1hZX0NFUlRfSU5GT19FWFRFTlNJT05fT0xEKDAsIChjb25zdCB1bnNpZ25lZCBjaGFy ICoqKSgmcCksIFg1MDlfRVhURU5TSU9OX2dldF9kYXRhKGV4dCktPmxlbmd0aCk7CisrICAgICAg ICAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IEFTTjFfU1RSSU5HX2dldDBfZGF0YShYNTA5 X0VYVEVOU0lPTl9nZXRfZGF0YShleHQpKTsKKysgICAgICAgICAgICBwY2kgPSBkMmlfUFJPWFlf Q0VSVF9JTkZPX0VYVEVOU0lPTl9PTEQoMCwgJnAsIEFTTjFfU1RSSU5HX2xlbmd0aChYNTA5X0VY VEVOU0lPTl9nZXRfZGF0YShleHQpKSk7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg ICBQUklOVCgiV0FSTklORzogbXVsdGlwbGUgcHJveHlDZXJ0SW5mbyBleHRlbnNpb25zIGZvdW5k OiB0YWtpbmcgdGhlIGZpcnN0Iik7CisgICAgICAgICAgfQorZGlmZiAtLWdpdCBhL3NyYy9YcmRU bHMvWHJkVGxzTm90YXJ5VXRpbHMuaWNjIGIvc3JjL1hyZFRscy9YcmRUbHNOb3RhcnlVdGlscy5p Y2MKK2luZGV4IDQ0MTI1ZDk4OC4uM2RlZDRmOTkzIDEwMDY0NAorLS0tIGEvc3JjL1hyZFRscy9Y cmRUbHNOb3RhcnlVdGlscy5pY2MKKysrKyBiL3NyYy9YcmRUbHMvWHJkVGxzTm90YXJ5VXRpbHMu aWNjCitAQCAtNTYsOCArNTYsOCBAQCBTT0ZUV0FSRS4KKyAqLworIHN0YXRpYyBIb3N0bmFtZVZh bGlkYXRpb25SZXN1bHQgbWF0Y2hlc19jb21tb25fbmFtZShjb25zdCBjaGFyICpob3N0bmFtZSwg Y29uc3QgWDUwOSAqc2VydmVyX2NlcnQpIHsKKyAgICAgICAgIGludCBjb21tb25fbmFtZV9sb2Mg PSAtMTsKKy0gICAgICAgIFg1MDlfTkFNRV9FTlRSWSAqY29tbW9uX25hbWVfZW50cnkgPSBOVUxM OworLSAgICAgICAgQVNOMV9TVFJJTkcgKmNvbW1vbl9uYW1lX2FzbjEgPSBOVUxMOworKyAgICAg ICAgY29uc3QgWDUwOV9OQU1FX0VOVFJZICpjb21tb25fbmFtZV9lbnRyeSA9IE5VTEw7CisrICAg ICAgICBjb25zdCBBU04xX1NUUklORyAqY29tbW9uX25hbWVfYXNuMSA9IE5VTEw7CisgICAgICAg ICBjaGFyICpjb21tb25fbmFtZV9zdHIgPSBOVUxMOworIAorICAgICAgICAgLy8gRmluZCB0aGUg cG9zaXRpb24gb2YgdGhlIENOIGZpZWxkIGluIHRoZSBTdWJqZWN0IGZpZWxkIG9mIHRoZSBjZXJ0 aWZpY2F0ZQorZGlmZiAtLWdpdCBhL3NyYy9YcmRWb21zL1hyZFZvbXNGdW4uY2MgYi9zcmMvWHJk Vm9tcy9YcmRWb21zRnVuLmNjCitpbmRleCBhNGJjOWI4YjcuLmZlNmU4ZWJiNyAxMDA2NDQKKy0t LSBhL3NyYy9YcmRWb21zL1hyZFZvbXNGdW4uY2MKKysrKyBiL3NyYy9YcmRWb21zL1hyZFZvbXNG dW4uY2MKK0BAIC0xMTAsNyArMTEwLDcgQEAgWHJkVm9tc0Z1bjo6WHJkVm9tc0Z1bihYcmRTeXNF cnJvciAmZXJwKQorICAgCisgLy8gRnVuY3Rpb24gdG8gY29udmVydCBYNTA5X05BTUUgaW50byBh IG9uZS1saW5lIGh1bWFuIHJlYWRhYmxlIHN0cmluZworIC8vCistdm9pZCBYcmRWb21zRnVuOjpO YW1lT25lTGluZShYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpCisrdm9pZCBYcmRWb21z RnVuOjpOYW1lT25lTGluZShjb25zdCBYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpCisg eworICAgIEJJTyAqbWJpbyA9IEJJT19uZXcoQklPX3NfbWVtKCkpOworICAgIFg1MDlfTkFNRV9w cmludF9leChtYmlvLCBubSwgMCwgWE5fRkxBR19DT01QQVQpOworZGlmZiAtLWdpdCBhL3NyYy9Y cmRWb21zL1hyZFZvbXNGdW4uaGggYi9zcmMvWHJkVm9tcy9YcmRWb21zRnVuLmhoCitpbmRleCBm ZjVkZjU4ZWYuLjVjMTEyOWFiOCAxMDA2NDQKKy0tLSBhL3NyYy9YcmRWb21zL1hyZFZvbXNGdW4u aGgKKysrKyBiL3NyYy9YcmRWb21zL1hyZFZvbXNGdW4uaGgKK0BAIC02NSw3ICs2NSw3IEBAIGlu dCAgVk9NU0luaXQoY29uc3QgY2hhciAqY2ZnKTsKKyBwcml2YXRlOgorIAorIHZvaWQgRm10RXh0 cmFjdChYcmRPdWNTdHJpbmcgJm91dCwgWHJkT3VjU3RyaW5nIGluLCBjb25zdCBjaGFyICp0YWcp OworLXZvaWQgTmFtZU9uZUxpbmUoWDUwOV9OQU1FICpubSwgWHJkT3VjU3RyaW5nICZzKTsKKyt2 b2lkIE5hbWVPbmVMaW5lKGNvbnN0IFg1MDlfTkFNRSAqbm0sIFhyZE91Y1N0cmluZyAmcyk7Cisg dm9pZCBGbXRSZXBsYWNlKFhyZFNlY0VudGl0eSAmZW50KTsKKyAKKyAvLyBUaGVzZSBzZXR0aW5n cyBhcmUgY29uZmlndXJhYmxlCistLSAKKzIuNTQuMAorCgpkaWZmIC0tZ2l0IGEvMDAwMi1BZGQt Y2F0Y2gtYWxsLXdvcmstYXJvdW5kLWZvci1taXNzaW5nLWdldHRpZC5wYXRjaCBiLzAwMDItQWRk LWNhdGNoLWFsbC13b3JrLWFyb3VuZC1mb3ItbWlzc2luZy1nZXR0aWQucGF0Y2gKZGVsZXRlZCBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDBhMjA4ZjcuLjAwMDAwMDAKLS0tIGEvMDAwMi1BZGQtY2F0 Y2gtYWxsLXdvcmstYXJvdW5kLWZvci1taXNzaW5nLWdldHRpZC5wYXRjaAorKysgL2Rldi9udWxs CkBAIC0xLDM5ICswLDAgQEAKLUZyb20gMGVmNWIxYTk3ZDFjYTBkODI1ODM4NDM1MzE2NWI4NTQ1 NDYzODc2YSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHRpYXMgRWxsZXJ0IDxt YXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgotRGF0ZTogTW9uLCAyMCBBcHIgMjAyNiAyMToy MDo0OCArMDIwMAotU3ViamVjdDogW1BBVENIIDIvNl0gQWRkIGNhdGNoLWFsbCB3b3JrLWFyb3Vu ZCBmb3IgbWlzc2luZyBnZXR0aWQKLQotUG9zc2libHkgdGhlcmUgYXJlIGJldHRlciBzb2x1dGlv bnMsIGJ1dCB0aGlzIGlzIGNvbnNpc3RlbnQgd2l0aCB0aGUKLWltcGxlbWVudGF0aW9uIGluIHNy Yy9YcmRTeXMvWHJkU3lzUHRocmVhZC5jYwotLS0tCi0gc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBV dGlsLmNjIHwgNiArKysrLS0KLSAxIGZpbGUgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspLCAyIGRl bGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBVdGlsLmNj IGIvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBVdGlsLmNjCi1pbmRleCBhMTU5N2IyMDAuLjdiZWRi NDM3MyAxMDA2NDQKLS0tLSBhL3NyYy9YcmRDbEh0dHAvWHJkQ2xIdHRwVXRpbC5jYwotKysrIGIv c3JjL1hyZENsSHR0cC9YcmRDbEh0dHBVdGlsLmNjCi1AQCAtODYsMTYgKzg2LDE4IEBAIHN0cnVj dCBXYWl0aW5nRm9yQnJva2VyIHsKLSBuYW1lc3BhY2UgewotIAotIHBpZF90IGdldHRocmVhZGlk KCkgewotLSNpZmRlZiBfX0FQUExFX18KLSsjaWYgICBkZWZpbmVkKF9fQVBQTEVfXykKLSAgICAg dWludDY0X3QgcHRoX3RocmVhZGlkOwotICAgICBwdGhyZWFkX3RocmVhZGlkX25wKHB0aHJlYWRf c2VsZigpLCAmcHRoX3RocmVhZGlkKTsKLSAgICAgcmV0dXJuIHB0aF90aHJlYWRpZDsKLS0jZWxz ZQotKyNlbGlmIGRlZmluZWQoX19saW51eF9fKQotICAgICAvLyBOT1RFOiBnbGliYyAyLjMwIGZp bmFsbHkgcHJvdmlkZXMgYSBnZXR0aWQoKSB3cmFwcGVyOyBob3dldmVyLAotICAgICAvLyB3ZSBj dXJyZW50bHkgc3VwcG9ydCBSSEVMIDgsIHdoaWNoIGlzIGJhc2VkIG9uIGdsaWJjIDIuMjguICBV bnRpbAotICAgICAvLyB3ZSBkcm9wIHRoYXQgcGxhdGZvcm0sIGl0J3MgZWFzaWVyIHRvIGRvIHRo ZSBzeXNjYWxsIGRpcmVjdGx5IG9uIExpbnV4Ci0gICAgIC8vIGluc3RlYWQgb2YgYWRkaXRpb25h bCBpZmRlZiBjYWxscy4KLSAgICAgcmV0dXJuIHN5c2NhbGwoU1lTX2dldHRpZCk7Ci0rI2Vsc2UK LSsgICByZXR1cm4gZ2V0cGlkKCk7Ci0gI2VuZGlmCi0gfQotIAotLS0gCi0yLjUzLjAKLQoKZGlm ZiAtLWdpdCBhLzAwMDItWHJkQ3J5cHRvLVByZXNlcnZlLUFCSS5wYXRjaCBiLzAwMDItWHJkQ3J5 cHRvLVByZXNlcnZlLUFCSS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4wMmFhN2E1Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwMi1YcmRDcnlwdG8tUHJlc2VydmUtQUJJ LnBhdGNoCkBAIC0wLDAgKzEsMzAgQEAKK0Zyb20gMDlhOTgzNzNiYzQ0MmQ1MTVmMzQ3NTkzYzEx Mzg0MjczM2VhNjBiNyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE1hdHRpYXMgRWxs ZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgorRGF0ZTogU2F0LCAyMyBNYXkgMjAy NiAyMDo1OTowNCArMDIwMAorU3ViamVjdDogW1BBVENIIDIvMl0gW1hyZENyeXB0b10gUHJlc2Vy dmUgQUJJCisKK0FkZCBiYWNrIG5vdyB1bnVzZWQgbm9uLWNvbnN0IHZlcnNpb24gb2YgZnVuY3Rp b24KKy0tLQorIHNyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4LmNjIHwgOSArKysrKysrKysK KyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvWHJk Q3J5cHRvL1hyZENyeXB0b3NzbEF1eC5jYyBiL3NyYy9YcmRDcnlwdG8vWHJkQ3J5cHRvc3NsQXV4 LmNjCitpbmRleCBhNDQyODM5ODUuLmUwY2UzNTI4NSAxMDA2NDQKKy0tLSBhL3NyYy9YcmRDcnlw dG8vWHJkQ3J5cHRvc3NsQXV4LmNjCisrKysgYi9zcmMvWHJkQ3J5cHRvL1hyZENyeXB0b3NzbEF1 eC5jYworQEAgLTc1NSwzICs3NTUsMTIgQEAgdm9pZCBYcmRDcnlwdG9zc2xOYW1lT25lTGluZShj b25zdCBYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpCisgICAgLy8gRG9uZQorICAgIHJl dHVybjsKKyB9CisrCisrLy9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCisrdm9pZCBYcmRDcnlwdG9zc2xO YW1lT25lTGluZShYNTA5X05BTUUgKm5tLCBYcmRPdWNTdHJpbmcgJnMpCisreworKyAgIC8vIENv cHkgb2YgYWJvdmUgZnVuY3Rpb24gd2l0aCBub24tY29uc3QgZmlyc3QgYXJndW1lbnQKKysgICAv LyBUaGlzIGZ1bmN0aW9uIGlzIHVudXNlZCAtLSBvbmx5IGFkZGVkIHRvIHByZXNlcnZlIG9sZCBB QkkKKysgICAvLyBDYW4gYmUgcmVtb3ZlZCBpZiBzb25hbWUgY2hhbmdlcworKyAgIFhyZENyeXB0 b3NzbE5hbWVPbmVMaW5lKGNvbnN0X2Nhc3Q8Y29uc3QgWDUwOV9OQU1FICo+KG5tKSwgcyk7Cisr fQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhLzAwMDMtQWxzby1jaGVjay1mb3ItR05VLWlu LXN0YXR4LnBhdGNoIGIvMDAwMy1BbHNvLWNoZWNrLWZvci1HTlUtaW4tc3RhdHgucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ4N2VjMTQuLjAwMDAwMDAKLS0tIGEvMDAwMy1B bHNvLWNoZWNrLWZvci1HTlUtaW4tc3RhdHgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzOSAr MCwwIEBACi1Gcm9tIDA0OTIwNzhiNjBlN2ZmYzUwZWU4ZmQyMjgyYjU5NjBlMjY0YTE3YjQgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVydCA8bWF0dGlhcy5lbGxl cnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYgMjE6NTM6MzggKzAyMDAK LVN1YmplY3Q6IFtQQVRDSCAzLzZdIEFsc28gY2hlY2sgZm9yIEdOVSBpbiBzdGF0eAotCi0tLS0K LSBzcmMvWHJkU3lzL1hyZFN5c1N0YXR4LmhoICAgICAgICAgICAgIHwgMiArLQotIHRlc3RzL1hy ZFN5c1Rlc3RzL1hyZFN5c1N0YXR4VGVzdHMuY2MgfCAyICstCi0gMiBmaWxlcyBjaGFuZ2VkLCAy IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvWHJkU3lz L1hyZFN5c1N0YXR4LmhoIGIvc3JjL1hyZFN5cy9YcmRTeXNTdGF0eC5oaAotaW5kZXggMTNiNDg5 NGUwLi5kZmFhM2Y3YmUgMTAwNjQ0Ci0tLS0gYS9zcmMvWHJkU3lzL1hyZFN5c1N0YXR4LmhoCi0r KysgYi9zcmMvWHJkU3lzL1hyZFN5c1N0YXR4LmhoCi1AQCAtMzUsNyArMzUsNyBAQAotICNpbmNs dWRlIDxjc3RyaW5nPgotICNpbmNsdWRlIDxmY250bC5oPgotIAotLSNpZmRlZiBfX2xpbnV4X18K LSsjaWYgZGVmaW5lZChfX2xpbnV4X18pIHx8IGRlZmluZWQoX19HTlVfXykKLSAjaW5jbHVkZSA8 c3lzL3N5c21hY3Jvcy5oPgotIHVzaW5nIFhyZFN5c1N0YXR4ID0gc3RydWN0IHN0YXR4OwotICNk ZWZpbmUgSEFWRV9TVEFUWAotZGlmZiAtLWdpdCBhL3Rlc3RzL1hyZFN5c1Rlc3RzL1hyZFN5c1N0 YXR4VGVzdHMuY2MgYi90ZXN0cy9YcmRTeXNUZXN0cy9YcmRTeXNTdGF0eFRlc3RzLmNjCi1pbmRl eCBkMmQ3ZTcyOWYuLjIzZDJhYWFjNiAxMDA2NDQKLS0tLSBhL3Rlc3RzL1hyZFN5c1Rlc3RzL1hy ZFN5c1N0YXR4VGVzdHMuY2MKLSsrKyBiL3Rlc3RzL1hyZFN5c1Rlc3RzL1hyZFN5c1N0YXR4VGVz dHMuY2MKLUBAIC0yNyw3ICsyNyw3IEBAIFRFU1RfRihYcmRTeXNTdGF0eFRlc3RzLCBTdGF0MlN0 YXR4QmFzaWNGaWVsZHMpIHsKLSAKLSAgIEVYUEVDVF9FUShzdHguc3R4X21hc2ssICh1aW50MzJf dClTVEFUWF9CQVNJQ19TVEFUUyk7Ci0gCi0tI2lmZGVmIF9fbGludXhfXwotKyNpZiBkZWZpbmVk KF9fbGludXhfXykgfHwgZGVmaW5lZChfX0dOVV9fKQotICAgRVhQRUNUX0VRKHN0eC5zdHhfbW9k ZSwgICAgKHVpbnQxNl90KShTX0lGUkVHIHwgMDc1NSkpOwotICAgRVhQRUNUX0VRKHN0eC5zdHhf bmxpbmssICAgKHVpbnQzMl90KTMpOwotICAgRVhQRUNUX0VRKHN0eC5zdHhfdWlkLCAgICAgKHVp bnQzMl90KTEwMDApOwotLS0gCi0yLjUzLjAKLQoKZGlmZiAtLWdpdCBhLzAwMDQtRml4LWtlcmJl cm9zLXRlc3RzLXdoZW4tdXNyLXNiaW4taXMtbm90LWluLVBBVEgucGF0Y2ggYi8wMDA0LUZpeC1r ZXJiZXJvcy10ZXN0cy13aGVuLXVzci1zYmluLWlzLW5vdC1pbi1QQVRILnBhdGNoCmRlbGV0ZWQg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2N2RkMjAyLi4wMDAwMDAwCi0tLSBhLzAwMDQtRml4LWtl cmJlcm9zLXRlc3RzLXdoZW4tdXNyLXNiaW4taXMtbm90LWluLVBBVEgucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw0NSArMCwwIEBACi1Gcm9tIGUwNzliN2NiMWFmMTQxMGVkMTVjNzk1OGUwODll Y2U2YjM2YzU5MDAgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBNYXR0aWFzIEVsbGVy dCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4KLURhdGU6IE1vbiwgMjAgQXByIDIwMjYg MjE6NTU6NTYgKzAyMDAKLVN1YmplY3Q6IFtQQVRDSCA0LzZdIEZpeCBrZXJiZXJvcyB0ZXN0cyB3 aGVuIC91c3Ivc2JpbiBpcyBub3QgaW4gUEFUSAotCi0tLS0KLSB0ZXN0cy9rcmI1L2tlcmJlcm9z LnNoIHwgOCArKysrLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS90ZXN0cy9rcmI1L2tlcmJlcm9zLnNoIGIvdGVzdHMv a3JiNS9rZXJiZXJvcy5zaAotaW5kZXggYjRhZjVlMTAyLi41YjY0MDVjZDkgMTAwNzU1Ci0tLS0g YS90ZXN0cy9rcmI1L2tlcmJlcm9zLnNoCi0rKysgYi90ZXN0cy9rcmI1L2tlcmJlcm9zLnNoCi1A QCAtMzYsMTYgKzM2LDE2IEBAIGZ1bmN0aW9uIHNldHVwKCkgewotIAlwb3BkID4vZGV2L251bGwg fHwgZXhpdCAxCi0gCi0gCSMgQ3JlYXRlIHRoZSBLREMgZGF0YWJhc2UKLS0Ja2RiNV91dGlsIGNy ZWF0ZSAtcyAtciBYUk9PVEQuT1JHIC1QIHhyb290ZAotKwkvdXNyL3NiaW4va2RiNV91dGlsIGNy ZWF0ZSAtcyAtciBYUk9PVEQuT1JHIC1QIHhyb290ZAotIAotIAkjIFN0YXJ0IHRoZSBLREMgZGFl bW9ucwotLQlrcmI1a2RjIC1QICIke1BXRH0iL2tyYjVrZGMucGlkCi0rCS91c3Ivc2Jpbi9rcmI1 a2RjIC1QICIke1BXRH0iL2tyYjVrZGMucGlkCi0gCi0gCSMgTm90IHJlYWxseSBuZWVkZWQsIHNp bmNlIHdlIHVzZSBrYWRtaW4ubG9jYWwKLSAJIyBrYWRtaW5kIC1QICR7UFdEfS9rYWRtaW5kLnBp ZAotIAotIAkjIEFkZCBwcmluY2lwYWxzIGZvciB0aGUgc2VydmVyIGFuZCBjbGllbnQgdG8gS0RD IGRhdGFiYXNlCi0tCWthZG1pbi5sb2NhbCAtciBYUk9PVEQuT1JHIDw8LUVPRgotKwkvdXNyL3Ni aW4va2FkbWluLmxvY2FsIC1yIFhST09URC5PUkcgPDwtRU9GCi0gCWFkZF9wcmluY2lwYWwgLXJh bmRrZXkgLWt2bm8gMSBob3N0L2xvY2FsaG9zdEBYUk9PVEQuT1JHCi0gCWt0YWRkIC1rIGtyYjUu a2V5dGFiIGhvc3QvbG9jYWxob3N0Ci0gCWFkZF9wcmluY2lwYWwgeHJvb3RkQFhST09URC5PUkcK LUBAIC01NCw3ICs1NCw3IEBAIGZ1bmN0aW9uIHNldHVwKCkgewotIAlFT0YKLSAKLSAJIyBEaXNw bGF5IEtEQyBkYXRhYmFzZSBlbnRyaWVzCi0tCWtkYjVfdXRpbCB0YWJkdW1wIC1vIC0ga2V5aW5m bwotKwkvdXNyL3NiaW4va2RiNV91dGlsIHRhYmR1bXAgLW8gLSBrZXlpbmZvCi0gCi0gCSMgRGlz cGxheSBjb250ZW50cyBvZiBzZXJ2ZXIga2V5dGFiCi0gCWtsaXN0IC1rdGUga3JiNS5rZXl0YWIK LS0tIAotMi41My4wCi0KCmRpZmYgLS1naXQgYS8wMDA1LUZpeC10eXBvLWNvbmVudC1jb250ZW50 LnBhdGNoIGIvMDAwNS1GaXgtdHlwby1jb25lbnQtY29udGVudC5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMzMwN2VhZC4uMDAwMDAwMAotLS0gYS8wMDA1LUZpeC10eXBvLWNv bmVudC1jb250ZW50LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMjggKzAsMCBAQAotRnJvbSAy YzViZTMyY2M3YWZlZDJjM2Y2N2ExYmZiYzI1ODc3ZjUyMzNjYjExIE1vbiBTZXAgMTcgMDA6MDA6 MDAgMjAwMQotRnJvbTogTWF0dGlhcyBFbGxlcnQgPG1hdHRpYXMuZWxsZXJ0QHBoeXNpY3MudXUu c2U+Ci1EYXRlOiBNb24sIDIwIEFwciAyMDI2IDIyOjA0OjIzICswMjAwCi1TdWJqZWN0OiBbUEFU Q0ggNS82XSA9P1VURi04P3E/Rml4PTIwdHlwbz0yMGNvbmVudD0yMD1FMj04Nj05Mj0yMGNvbnRl bnQ/PQotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAotCi0tLS0KLSBzcmMvWHJk Q2xIdHRwL1hyZENsSHR0cEZpbGUuY2MgfCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0 aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvWHJkQ2xIdHRwL1hyZENs SHR0cEZpbGUuY2MgYi9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZpbGUuY2MKLWluZGV4IDNhMTU0 NzBlOC4uMTk2ZTRkOTljIDEwMDY0NAotLS0tIGEvc3JjL1hyZENsSHR0cC9YcmRDbEh0dHBGaWxl LmNjCi0rKysgYi9zcmMvWHJkQ2xIdHRwL1hyZENsSHR0cEZpbGUuY2MKLUBAIC01NTcsNyArNTU3 LDcgQEAgRmlsZTo6RmNudGwoY29uc3QgWHJkQ2w6OkJ1ZmZlciAmYXJnLCBYcmRDbDo6UmVzcG9u c2VIYW5kbGVyICpoYW5kbGVyLAotICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgfQot ICAgICAgICAgICAgIFhyZENsOjpCdWZmZXIgKnJlc3BCdWZmID0gbmV3IFhyZENsOjpCdWZmZXIo KTsKLS0gICAgICAgICAgICBtX2xvZ2dlci0+RGVidWcoa0xvZ1hyZENsSHR0cCwgIkZjbnRsIGNv bmVudCAlcyIsIHhhdHQuZHVtcCgpLmNfc3RyKCkpOwotKyAgICAgICAgICAgIG1fbG9nZ2VyLT5E ZWJ1ZyhrTG9nWHJkQ2xIdHRwLCAiRmNudGwgY29udGVudCAlcyIsIHhhdHQuZHVtcCgpLmNfc3Ry KCkpOwotICAgICAgICAgICAgIHJlc3BCdWZmLT5Gcm9tU3RyaW5nKHhhdHQuZHVtcCgpKTsKLSAg ICAgICAgICAgICBvYmotPlNldChyZXNwQnVmZik7Ci0gICAgICAgICB9Ci0tLSAKLTIuNTMuMAot CgpkaWZmIC0tZ2l0IGEvMDAwNi1DaGFuZ2UtZmlsZS10by1hdm9pZC1zZWQtZHVyaW5nLWluc3Rh bGwucGF0Y2ggYi8wMDA2LUNoYW5nZS1maWxlLXRvLWF2b2lkLXNlZC1kdXJpbmctaW5zdGFsbC5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmE3ZmIxZi4uMDAwMDAwMAotLS0g YS8wMDA2LUNoYW5nZS1maWxlLXRvLWF2b2lkLXNlZC1kdXJpbmctaW5zdGFsbC5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDI1ICswLDAgQEAKLUZyb20gMjE2NTI2YzMyYjg5NGE1YmFkN2I4NTg5 N2RlY2VmNzExZjEyMTAxOCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IE1hdHRpYXMg RWxsZXJ0IDxtYXR0aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPgotRGF0ZTogTW9uLCAyMCBBcHIg MjAyNiAyMjo0MjowNiArMDIwMAotU3ViamVjdDogW1BBVENIIDYvNl0gQ2hhbmdlIGZpbGUgdG8g YXZvaWQgc2VkIGR1cmluZyBpbnN0YWxsCi0KLS0tLQotIGNvbmZpZy94cm9vdGQtaHR0cC5jZmcg fCAyICstCi0gMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0K LWRpZmYgLS1naXQgYS9jb25maWcveHJvb3RkLWh0dHAuY2ZnIGIvY29uZmlnL3hyb290ZC1odHRw LmNmZwotaW5kZXggY2I3MDdiZjg0Li4zNDFmMzMxNmMgMTAwNjQ0Ci0tLS0gYS9jb25maWcveHJv b3RkLWh0dHAuY2ZnCi0rKysgYi9jb25maWcveHJvb3RkLWh0dHAuY2ZnCi1AQCAtMzMsNyArMzMs NyBAQCBhbGwucGlkcGF0aCAvcnVuL3hyb290ZAotICMgSW4gb3JkZXIgdG8gc3RhcnQgdGhlIHhy ZGh0dHAuc29ja2V0IHJ1bjoKLSAjCXN5c3RlbWN0bCBzdGFydCB4cmRodHRwQGh0dHAuc29ja2V0 Ci0gIwotLXhyZC5wcm90b2NvbCBYcmRIdHRwOjgwIC91c3IvbGliNjQvbGliWHJkSHR0cC5zbwot K3hyZC5wcm90b2NvbCBYcmRIdHRwOjgwIGxpYlhyZEh0dHAuc28KLSAjIE1vcmUgY29uZmlndXJh dGlvbiBmaWxlcyBjYW4gYmUgYWRkZWQgaW4gL2V0Yy94cm9vdGQvY29uZmlnLmQvCi0gIyBGb3Ig ZXhhbXBsZSAvZXRjL3hyb290ZC9jb25maWcuZC8xMC1teWdyaWQuY2ZnIGFuZAotICMgL2V0Yy94 cm9vdGQvY29uZmlnLmQvOTgtbXlzaXRlLXNwZWNpZmljcy5jZmcKLS0tIAotMi41My4wCi0KCmRp ZmYgLS1naXQgYS9zb3VyY2VzIGIvc291cmNlcwppbmRleCBhMGQ2MTJjLi44YzJjYjcxIDEwMDY0 NAotLS0gYS9zb3VyY2VzCisrKyBiL3NvdXJjZXMKQEAgLTEgKzEgQEAKLVNIQTUxMiAoeHJvb3Rk LTYuMC4wLnRhci5neikgPSAxZmFjMjRjNTY0NjRlNzZjMTA0ZGVhYmNlZjBhODkxMGRiZGMxOGY2 MmQ5MzI3NWJmMTA0ODE0MmJlYjA0NTNlMDVhZWNkZGFhZjQxYWJlOWQxODNjOWJhZmIwMTUwNjc5 OTRhMTVhZTBmZmVlY2RjMjg3NTYyNjc5MWQ3NjkwNQorU0hBNTEyICh4cm9vdGQtNi4wLjIudGFy Lmd6KSA9IDI5ZmUwMTM4YjA2ZTAzMjEwZWNlOWMzMTMwNzg1OTY3MDE2ZjFlMDc2YmU4ODhjMWYz MTQ3ZThjOWFkZTdlNTA2ZWIyMDQ3MzY0Yzc2ZjI1MWJiYWUzYmY4YTA2N2FiYzE2ZjY5MjljM2Q4 ZTdmNjE1ZWU0MWM4ZjZmOGE4MjYzCgpkaWZmIC0tZ2l0IGEveHJvb3RkLnNwZWMgYi94cm9vdGQu c3BlYwppbmRleCA3OGE2ODlkLi44OGYxMjhhIDEwMDY0NAotLS0gYS94cm9vdGQuc3BlYworKysg Yi94cm9vdGQuc3BlYwpAQCAtMTMsMjMgKzEzLDIzIEBACiAKIE5hbWU6CQl4cm9vdGQKIEVwb2No OgkJMQotVmVyc2lvbjoJNi4wLjAKK1ZlcnNpb246CTYuMC4yCiBSZWxlYXNlOgkxJXs/ZGlzdH0K IFN1bW1hcnk6CUV4dGVuZGVkIFJPT1QgZmlsZSBzZXJ2ZXIKLUxpY2Vuc2U6CUxHUEwtMy4wLW9y LWxhdGVyIEFORCBCU0QtMi1DbGF1c2UgQU5EIEJTRC0zLUNsYXVzZSBBTkQgY3VybCBBTkQgTUlU IEFORCBabGliCitMaWNlbnNlOglMR1BMLTMuMC1vci1sYXRlciBBTkQgQlNELTItQ2xhdXNlIEFO RCBCU0QtMy1DbGF1c2UgQU5EIGN1cmwgQU5EIE1JVCBBTkQgWmxpYiBBTkQgQXBhY2hlLTIuMCBB TkQgTVBMLTIuMAogVVJMOgkJaHR0cHM6Ly94cm9vdGQud2ViLmNlcm4uY2gKIFNvdXJjZTA6CSV7 dXJsfS9kb3dubG9hZC92JXt2ZXJzaW9ufS8le25hbWV9LSV7dmVyc2lvbn0udGFyLmd6CiBTb3Vy Y2UxOgkle25hbWV9LXN5c3VzZXJzLmNvbmYKIAotIwkJaHR0cHM6Ly9naXRodWIuY29tL3hyb290 ZC94cm9vdGQvcHVsbC8yNzY5Ci1QYXRjaDA6CQkwMDAxLUFkZC1pbmNsdWRlLVhyZFN5cy1YcmRT eXNQbGF0Zm9ybS5oaC1mb3ItTUFYUEFUSExFTi5wYXRjaAotUGF0Y2gxOgkJMDAwMi1BZGQtY2F0 Y2gtYWxsLXdvcmstYXJvdW5kLWZvci1taXNzaW5nLWdldHRpZC5wYXRjaAotUGF0Y2gyOgkJMDAw My1BbHNvLWNoZWNrLWZvci1HTlUtaW4tc3RhdHgucGF0Y2gKLVBhdGNoMzoJCTAwMDQtRml4LWtl cmJlcm9zLXRlc3RzLXdoZW4tdXNyLXNiaW4taXMtbm90LWluLVBBVEgucGF0Y2gKLVBhdGNoNDoJ CTAwMDUtRml4LXR5cG8tY29uZW50LWNvbnRlbnQucGF0Y2gKLVBhdGNoNToJCTAwMDYtQ2hhbmdl LWZpbGUtdG8tYXZvaWQtc2VkLWR1cmluZy1pbnN0YWxsLnBhdGNoCiAjCQlVbmJ1bmRsZSB0aW55 eG1sIGxpYnJhcnkKLVBhdGNoNjoJCTAwMDEtVW5idW5kbGUtdGlueXhtbC5wYXRjaAorUGF0Y2gw OgkJMDAwMS1VbmJ1bmRsZS10aW55eG1sLnBhdGNoCisjCQlBZGFwdCB0byBPcGVuU1NMIDQKKyMJ CWh0dHBzOi8vZ2l0aHViLmNvbS94cm9vdGQveHJvb3RkL3B1bGwvMjgwMgorUGF0Y2gxOgkJMDAw MS1YcmRDcnlwdG8tWHJkVGxzLVhyZFZvbXMtQWRhcHQtdG8tT3BlblNTTC00LjAucGF0Y2gKK1Bh dGNoMjoJCTAwMDItWHJkQ3J5cHRvLVByZXNlcnZlLUFCSS5wYXRjaAorIwkJQmFja3BvcnQgZml4 IGZyb20gdXBzdHJlYW0KKyMJCWh0dHBzOi8vZ2l0aHViLmNvbS94cm9vdGQveHJvb3RkL3B1bGwv Mjc5OQorUGF0Y2gzOgkJMDAwMS1YcmRDbEh0dHAtRml4LWJ1Zy1wcmV2ZW50aW5nLXRoZS1jb25m aWd1cmF0aW9uLW9mLXRoLnBhdGNoCiAKIEJ1aWxkUmVxdWlyZXM6CWNtYWtlCiBCdWlsZFJlcXVp cmVzOglnY2MtYysrCkBAIC0yNDEsNiArMjQxLDcgQEAgYSBzdWJzZXQgb2YgdGhlIG5hbWVzcGFj ZSB0byBhbiBleHRlcm5hbCBpc3N1ZXIuCiAlcGFja2FnZSBjZXBoCiBTdW1tYXJ5OglYUm9vdEQg cGx1Z2luIGZvciBpbnRlcmZhY2luZyB3aXRoIHRoZSBDZXBoIHN0b3JhZ2UgcGxhdGZvcm0KIFJl cXVpcmVzOgkle25hbWV9LWxpYnMlez9faXNhfSA9ICV7ZXBvY2h9OiV7dmVyc2lvbn0tJXtyZWxl YXNlfQorUmVxdWlyZXM6CSV7bmFtZX0tc2VydmVyLWxpYnMlez9faXNhfSA9ICV7ZXBvY2h9OiV7 dmVyc2lvbn0tJXtyZWxlYXNlfQogCiAlZGVzY3JpcHRpb24gY2VwaAogVGhlIHhyb290ZC1jZXBo IGlzIGFuIE9TUyBsYXllciBwbHVnaW4gZm9yIHRoZSBYUm9vdEQgc2VydmVyIGZvcgpAQCAtMjcw LDkgKzI3MSw2IEBAIFRoaXMgcGFja2FnZSBjb250YWlucyB0aGUgQVBJIGRvY3VtZW50YXRpb24g b2YgdGhlIHhyb290ZCBsaWJyYXJpZXMuCiAlcGF0Y2ggLVAxIC1wMQogJXBhdGNoIC1QMiAtcDEK ICVwYXRjaCAtUDMgLXAxCi0lcGF0Y2ggLVA0IC1wMQotJXBhdGNoIC1QNSAtcDEKLSVwYXRjaCAt UDYgLXAxCiAKICVidWlsZAogJWNtYWtlIFwKQEAgLTQwOCwyOCArNDA2LDE0IEBAIGRvbmUKIAog dG91Y2ggdGVzdGZpbGUKIGlmICggc2V0ZmF0dHIgLW4gdXNlci50ZXN0YXR0ciAtdiB0ZXN0dmFs dWUgdGVzdGZpbGUgKSA7IHRoZW4KLSAgICAlY3Rlc3QgLS0gLUUgWFJvb3REOjpiYWRyZWRpcgor JWlmYXJjaCAle2l4ODZ9ICV7YXJtfQorICAgICVjdGVzdCAtLSAtRSAnWFJvb3REOjpiYWRyZWRp cnxYUm9vdEQ6OnBvc2l4JworJWVsc2UKKyAgICAlY3Rlc3QgLS0gLUUgJ1hSb290RDo6YmFkcmVk aXInCislZW5kaWYKIGVsc2UKICAgICBlY2hvICJFeHRlbmRlZCBmaWxlIGF0dHJpYnV0ZXMgbm90 IHN1cHBvcnRlZCBieSBmaWxlIHN5c3RlbSIKLSAgICBlY2hvICJEb24ndCBydW4gdGVzdHMgdGhh dCByZXF1aXJlIHRoZW0iCi0gICAgZXhjbHVkZT0iXAotWHJkQ2w6OkZpbGVDb3B5VGVzdHxcCi1Y cmRDbDo6RmlsZVN5c3RlbVRlc3QuUGx1Z0luVGVzdHxcCi1YcmRDbDo6RmlsZVN5c3RlbVRlc3Qu U2VydmVyUXVlcnlUZXN0fFwKLVhyZENsOjpGaWxlU3lzdGVtVGVzdC5YQXR0clRlc3R8XAotWHJk Q2w6OkZpbGVUZXN0LlhBdHRyVGVzdHxcCi1YcmRDbDo6TG9jYWxGaWxlSGFuZGxlclRlc3QuWEF0 dHJUZXN0fFwKLVhyZENsOjpUaHJlYWRpbmdUZXN0fFwKLVhyZENsOjpXb3JrZmxvd1Rlc3QuQ2hl Y2twb2ludFRlc3R8XAotWHJkQ2w6OldvcmtmbG93VGVzdC5YQXR0cldvcmtmbG93VGVzdHxcCi1Y cmRFYzo6WHJkRWNUZXN0c3xcCi1YUm9vdEQ6OmF1dGhlbnRpY2F0ZWRfY2x1c3Rlcjo6dGVzdHxc Ci1YUm9vdEQ6OmJhZHJlZGlyfFwKLVhSb290RDo6Y2x1c3Rlcjo6dGVzdHxcCi1YUm9vdEQ6Omh0 dHA6OnRlc3R8XAotWFJvb3REOjpwb3NpeDo6dGVzdHxcCi1YUm9vdEQ6OnRwYzo6dGVzdCIKLSAg ICAlY3Rlc3QgLS0gLUUgJGV4Y2x1ZGUKKyAgICBlY2hvICIqKiogTk9UIFJVTk5JTkcgVEVTVFMg KioqIgogZmkKIHJtIHRlc3RmaWxlCiAKQEAgLTY4MSw2ICs2NjUsMTEgQEAgZmkKICVkb2MgJXtf cGtnZG9jZGlyfQogCiAlY2hhbmdlbG9nCisqIFRodSBNYXkgMjEgMjAyNiBNYXR0aWFzIEVsbGVy dCA8bWF0dGlhcy5lbGxlcnRAcGh5c2ljcy51dS5zZT4gLSAxOjYuMC4yLTEKKy0gVXBkYXRlIHRv IHZlcnNpb24gNi4wLjIKKy0gQWRhcHQgdG8gT3BlblNTTCA0LjAKKy0gRHJvcCBwYXRjaGVzIGFj Y2VwdGVkIHVwc3RyZWFtCisKICogU2F0IEFwciAxMSAyMDI2IE1hdHRpYXMgRWxsZXJ0IDxtYXR0 aWFzLmVsbGVydEBwaHlzaWNzLnV1LnNlPiAtIDE6Ni4wLjAtMQogLSBVcGRhdGUgdG8gdmVyc2lv biA2LjAuMAogCg==