From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Jan Kratochvil To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Fix dlopen of libpthread.so, patched glibc required (Gary Benson, BZ 669432). Date: Sat, 27 Jun 2026 23:55:14 GMT Message-ID: <178260451435.1.15201745196597954454.rpms-gdb-922e4a0796ed@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: 922e4a0796ed02d391ea64de0735185d12a52819 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvZ2RiCkJyYW5jaCA6 IGdkYi0xNy4yLXJlYmFzZS1mNDQKQ29tbWl0IDogOTIyZTRhMDc5NmVkMDJkMzkxZWE2NGRlMDcz NTE4NWQxMmE1MjgxOQpBdXRob3IgOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVk aGF0LmNvbT4KRGF0ZSAgIDogMjAxMS0wOC0xMFQxOTo0MjowNiswMjowMApTdGF0cyAgOiArNzc2 Ly0xIGluIDMgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9y cG1zL2dkYi9jLzkyMmU0YTA3OTZlZDAyZDM5MWVhNjRkZTA3MzUxODVkMTJhNTI4MTk/YnJhbmNo PWdkYi0xNy4yLXJlYmFzZS1mNDQKCkxvZzoKRml4IGRsb3BlbiBvZiBsaWJwdGhyZWFkLnNvLCBw YXRjaGVkIGdsaWJjIHJlcXVpcmVkIChHYXJ5IEJlbnNvbiwgQlogNjY5NDMyKS4KCi0tLQpkaWZm IC0tZ2l0IGEvZ2RiLWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0Y2ggYi9nZGItZGxvcGVuLXN0 YXAtcHJvYmUtdGVzdC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41 NWE2YTkyCi0tLSAvZGV2L251bGwKKysrIGIvZ2RiLWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0 Y2gKQEAgLTAsMCArMSw0MDggQEAKK2NvbW1pdCA1YmZkYzMyY2QzYmYzNzNjM2IwMmUxZmQ4NjRl ZDhjZWFiMDI5MmIyCitBdXRob3I6IEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRo YXQuY29tPgorRGF0ZTogICBNb24gQXVnIDggMTI6MDg6NTMgMjAxMSArMDIwMAorCisgICAgK3Rl c3RjYXNlCisKK0luZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRo cmVhZHMvZGxvcGVuLWxpYnB0aHJlYWQtbGliLmMKKz09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKy0tLSAvZGV2L251bGwJ MTk3MC0wMS0wMSAwMDowMDowMC4wMDAwMDAwMDAgKzAwMDAKKysrKyBnZGItNy4zLjUwLjIwMTEw NzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0aHJlYWQtbGliLmMJMjAx MS0wOC0xMCAxODozMDo1Ni4wMDAwMDAwMDAgKzAyMDAKK0BAIC0wLDAgKzEsNDAgQEAKKysvKiBU aGlzIHRlc3RjYXNlIGlzIHBhcnQgb2YgR0RCLCB0aGUgR05VIGRlYnVnZ2VyLgorKworKyAgIENv cHlyaWdodCAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorKworKyAgIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyAgIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisrCisrICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICAgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgICBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl CisrICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysKKysg ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LiAgKi8KKysKKysjaW5jbHVkZSA8cHRocmVhZC5o PgorKyNpbmNsdWRlIDxhc3NlcnQuaD4KKysKKytzdGF0aWMgdm9pZCAqCisrdGZ1bmMgKHZvaWQg KmFyZykKKyt7CisrICB2b2lkICgqbm90aWZ5cCkgKHZvaWQpID0gYXJnOworKworKyAgbm90aWZ5 cCAoKTsKKyt9CisrCisrdm9pZAorK2YgKHZvaWQgKCpub3RpZnlwKSAodm9pZCkpCisreworKyAg cHRocmVhZF90IHQ7CisrICBpbnQgaTsKKysKKysgIGkgPSBwdGhyZWFkX2NyZWF0ZSAoJnQsIE5V TEwsIHRmdW5jLCBub3RpZnlwKTsKKysgIGFzc2VydCAoaSA9PSAwKTsKKysKKysgIGkgPSBwdGhy ZWFkX2pvaW4gKHQsIE5VTEwpOworKyAgYXNzZXJ0IChpID09IDApOworK30KK0luZGV4OiBnZGIt Ny4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMvZGxvcGVuLWxpYnB0aHJl YWQuYworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQorLS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAw MDAwMCArMDAwMAorKysrIGdkYi03LjMuNTAuMjAxMTA3MjIvZ2RiL3Rlc3RzdWl0ZS9nZGIudGhy ZWFkcy9kbG9wZW4tbGlicHRocmVhZC5jCTIwMTEtMDgtMTAgMTg6MzA6NTYuMDAwMDAwMDAwICsw MjAwCitAQCAtMCwwICsxLDQ2IEBACisrLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwg dGhlIEdOVSBkZWJ1Z2dlci4KKysKKysgICBDb3B5cmlnaHQgMjAxMSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4KKysKKysgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyAgIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrICAg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGlj ZW5zZSwgb3IKKysgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKworKyAg IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisrICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrCisrICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgICBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4g ICovCisrCisrI2luY2x1ZGUgPGRsZmNuLmg+CisrI2luY2x1ZGUgPHN0ZGRlZi5oPgorKyNpbmNs dWRlIDxhc3NlcnQuaD4KKysKKytzdGF0aWMgY29uc3QgY2hhciAqdm9sYXRpbGUgZmlsZW5hbWU7 CisrCisrc3RhdGljIHZvaWQKKytub3RpZnkgKHZvaWQpCisreworKyAgZmlsZW5hbWUgPSBOVUxM OyAvKiBub3RpZnktaGVyZSAqLworK30KKysKKytpbnQKKyttYWluICh2b2lkKQorK3sKKysgIHZv aWQgKmg7CisrICB2b2lkICgqZnApICh2b2lkICgqKSAodm9pZCkpOworKworKyAgYXNzZXJ0IChm aWxlbmFtZSAhPSBOVUxMKTsKKysgIGggPSBkbG9wZW4gKGZpbGVuYW1lLCBSVExEX0xBWlkpOwor KyAgYXNzZXJ0IChoICE9IE5VTEwpOworKworKyAgZnAgPSBkbHN5bSAoaCwgImYiKTsKKysgIGFz c2VydCAoZnAgIT0gTlVMTCk7CisrCisrICBmcCAobm90aWZ5KTsKKysKKysgIHJldHVybiAwOwor K30KK0luZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLnRocmVhZHMv ZGxvcGVuLWxpYnB0aHJlYWQuZXhwCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CistLS0gL2Rldi9udWxsCTE5NzAtMDEt MDEgMDA6MDA6MDAuMDAwMDAwMDAwICswMDAwCisrKysgZ2RiLTcuMy41MC4yMDExMDcyMi9nZGIv dGVzdHN1aXRlL2dkYi50aHJlYWRzL2Rsb3Blbi1saWJwdGhyZWFkLmV4cAkyMDExLTA4LTEwIDE4 OjMwOjU2LjAwMDAwMDAwMCArMDIwMAorQEAgLTAsMCArMSw3NCBAQAorKyMgQ29weXJpZ2h0IDIw MTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysj IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KKysKKytpZiB7IVtpc3RhcmdldCAqLWxpbnV4Kl0gfHwgW3NraXBfc2hsaWJf dGVzdHNdfSB7CisrICAgIHJldHVybiAwCisrfQorKworK2xvYWRfbGliIHByZWxpbmstc3VwcG9y dC5leHAKKysKKytzZXQgdGVzdGZpbGUgImRsb3Blbi1saWJwdGhyZWFkIgorK3NldCBzcmNtYWlu ZmlsZSAke3Rlc3RmaWxlfS5jCisrc2V0IHNyY2xpYmZpbGUgJHt0ZXN0ZmlsZX0tbGliLmMKKytz ZXQgZXhlY3V0YWJsZSAke3Rlc3RmaWxlfQorK3NldCBiaW5maWxlX2xpYiAke29iamRpcn0vJHtz dWJkaXJ9LyR7ZXhlY3V0YWJsZX0uc28KKytzZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9 LyR7ZXhlY3V0YWJsZX0KKytzZXQgbGliX2Rsb3BlbiBbc2hsaWJfdGFyZ2V0X2ZpbGUgJHtleGVj dXRhYmxlfS5zb10KKysKKysjIFVzZSBidWlsZF9leGVjdXRhYmxlX293bl9saWJzIGFzIHByZWxp bmtlZCBsaWJwdGhyZWFkLnNvIGNhbiBwcm9kdWNlIGZhbHNlCisrIyBQQVNTIC0gaXQgaXMgT0sg aWYgR0RCIHByb2Nlc3NlcyBpdCBzdGlsbCBiZWZvcmUgcmVsb2NhdGlvbi4KKysKKytzZXQgcmVs aW5rX2FyZ3MgW2J1aWxkX2V4ZWN1dGFibGVfb3duX2xpYnMgJHt0ZXN0ZmlsZX0uZXhwICR7ZXhl Y3V0YWJsZX0uc28gJHNyY2xpYmZpbGUge2RlYnVnIHNobGliX3B0aHJlYWRzfSBub10KKytpZiB7 JHJlbGlua19hcmdzID09ICIiIHx8ICFbcHJlbGlua19ubyAkcmVsaW5rX2FyZ3NdCisrICAgIHx8 IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9LmV4cCAke2V4ZWN1dGFibGV9ICR7c3Jj bWFpbmZpbGV9IHtkZWJ1ZyBzaGxpYl9sb2FkfV0gfSB7CisrICAgIHJldHVybiAtMQorK30KKytn ZGJfbG9hZF9zaGxpYnMgJGJpbmZpbGVfbGliCisrCisraWYgeyAhW3J1bnRvX21haW5dIH0gewor KyAgICByZXR1cm4gLTEKKyt9CisrCisrc2V0IHRlc3QgInByaW50IF9kbF9kZWJ1Z19ub3RpZnki CisrZ2RiX3Rlc3RfbXVsdGlwbGUgJHRlc3QgJHRlc3QgeworKyAgICAtcmUgIiAweFxbMC05YS1m XF0rIDxfZGxfZGVidWdfbm90aWZ5PlxyXG4kZ2RiX3Byb21wdCAkIiB7CisrCXBhc3MgJHRlc3QK KysgICAgfQorKyAgICAtcmUgIk5vIHN5bWJvbCBcIl9kbF9kZWJ1Z19ub3RpZnlcIiBpbiBjdXJy ZW50IGNvbnRleHRcXC5cclxuJGdkYl9wcm9tcHQgJCIgeworKwl4ZmFpbCAkdGVzdAorKwl1bnRl c3RlZCAke3Rlc3RmaWxlfS5leHAKKysJcmV0dXJuCisrICAgIH0KKyt9CisrCisrc2V0IHRlc3Qg ImxpYnB0aHJlYWQuc28gbm90IGZvdW5kIgorK2dkYl90ZXN0X211bHRpcGxlICJpbmZvIHNoYXJl ZGxpYnJhcnkiICR0ZXN0IHsKKysgICAgLXJlICIvbGlicHRocmVhZFxcLnNvLipcclxuJGdkYl9w cm9tcHQgJCIgeworKwlmYWlsICR0ZXN0CisrICAgIH0KKysgICAgLXJlICIvbGliY1xcLnNvLipc clxuJGdkYl9wcm9tcHQgJCIgeworKwlwYXNzICR0ZXN0CisrICAgIH0KKyt9CisrCisrZ2RiX3Rl c3QgInNldCB2YXJpYWJsZSBmaWxlbmFtZT1cIiRsaWJfZGxvcGVuXCIiCisrCisrZ2RiX2JyZWFr cG9pbnQgIm5vdGlmeSIKKysKKysjIFRoZSBlcnJvciB3YXM6CisrIyBDYW5ub3QgZmluZCBuZXcg dGhyZWFkczogZ2VuZXJpYyBlcnJvcgorK2dkYl9jb250aW51ZV90b19icmVha3BvaW50ICJub3Rp ZnkiICIuKiBub3RpZnktaGVyZSAuKiIKKysKKytnZGJfdGVzdCAiaW5mbyBzaGFyZWRsaWJyYXJ5 IiB7L2xpYnB0aHJlYWRcLnNvLip9ICJsaWJwdGhyZWFkLnNvIGZvdW5kIgorSW5kZXg6IGdkYi03 LjMuNTAuMjAxMTA3MjIvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAorPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0t IGdkYi03LjMuNTAuMjAxMTA3MjIub3JpZy9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEt MDgtMTAgMTg6MzA6NTUuMDAwMDAwMDAwICswMjAwCisrKysgZ2RiLTcuMy41MC4yMDExMDcyMi9n ZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCTIwMTEtMDgtMTAgMTg6MzA6NTYuMDAwMDAwMDAwICsw MjAwCitAQCAtMzU2MywzMCArMzU2Myw0OSBAQCBwcm9jIGJ1aWxkX2V4ZWN1dGFibGUgeyB0ZXN0 bmFtZSBleGVjdXRhCisgICAgICAgICBzZXQgc291cmNlcyAke2V4ZWN1dGFibGV9LmMKKyAgICAg fQorIAorLSAgICBzZXQgYmluZmlsZSAke29iamRpcn0vJHtzdWJkaXJ9LyR7ZXhlY3V0YWJsZX0K Ky0KKy0gICAgc2V0IG9iamVjdHMge30KKy0gICAgZm9yIHtzZXQgaSAwfSAiXCRpPFtsbGVuZ3Ro ICRzb3VyY2VzXSIge2luY3IgaX0geworLSAgICAgICAgc2V0IHMgW2xpbmRleCAkc291cmNlcyAk aV0KKy0gICAgICAgIGlmICB7IFtnZGJfY29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3N9 IiAiJHtiaW5maWxlfSR7aX0ubyIgb2JqZWN0ICRvcHRpb25zXSAhPSAiIiB9IHsKKy0gICAgICAg ICAgICB1bnRlc3RlZCAkdGVzdG5hbWUKKy0gICAgICAgICAgICByZXR1cm4gLTEKKy0gICAgICAg IH0KKy0gICAgICAgIGxhcHBlbmQgb2JqZWN0cyAiJHtiaW5maWxlfSR7aX0ubyIKKysgICAgIyBn ZXRfY29tcGlsZXJfaW5mbyBieSBnZGJfY29tcGlsZV9zaGxpYiBhbmQgZ2RiX2NvbXBpbGVfc2hs aWJfcHRocmVhZHMuCisrICAgIHNldCBpbmZvX29wdGlvbnMgIiIKKysgICAgaWYgeyBbbHNlYXJj aCAtZXhhY3QgJG9wdGlvbnMgImMrKyJdID49IDAgfSB7CisrCXNldCBpbmZvX29wdGlvbnMgImMr KyIKKyAgICAgfQorLSAgICAKKy0gICAgaWYgIHsgW2dkYl9jb21waWxlICRvYmplY3RzICIke2Jp bmZpbGV9IiBleGVjdXRhYmxlICRvcHRpb25zXSAhPSAiIiB9IHsKKy0gICAgICAgIHVudGVzdGVk ICR0ZXN0bmFtZQorKyAgICBpZiBbZ2V0X2NvbXBpbGVyX2luZm8gYmluZmlsZV91bnVzZWQgJHtp bmZvX29wdGlvbnN9XSB7CisgICAgICAgICByZXR1cm4gLTEKKyAgICAgfQorIAorLSAgICBzZXQg aW5mb19vcHRpb25zICIiCistICAgIGlmIHsgW2xzZWFyY2ggLWV4YWN0ICRvcHRpb25zICJjKysi XSA+PSAwIH0geworLQlzZXQgaW5mb19vcHRpb25zICJjKysiCisrICAgIHNldCBiaW5maWxlICR7 b2JqZGlyfS8ke3N1YmRpcn0vJHtleGVjdXRhYmxlfQorKworKyAgICBzZXQgZnVuYyBnZGJfY29t cGlsZQorKyAgICBzZXQgZnVuY19pbmRleCBbbHNlYXJjaCAtcmVnZXhwICRvcHRpb25zIHteKHB0 aHJlYWRzfHNobGlifHNobGliX3B0aHJlYWRzKSR9XQorKyAgICBpZiB7JGZ1bmNfaW5kZXggIT0g LTF9IHsKKysJc2V0IGZ1bmMgIiR7ZnVuY31fW2xpbmRleCAkb3B0aW9ucyAkZnVuY19pbmRleF0i CisgICAgIH0KKy0gICAgaWYgW2dldF9jb21waWxlcl9pbmZvICR7YmluZmlsZX0gJHtpbmZvX29w dGlvbnN9XSB7CisrCisrICAgICMgZ2RiX2NvbXBpbGVfc2hsaWIgYW5kIGdkYl9jb21waWxlX3No bGliX3B0aHJlYWRzIGRvIG5vdCB1c2UgdGhlIDNyZAorKyAgICAjIHBhcmFtZXRlci4gIFRoZXkg YWxzbyByZXF1aXJlcyAkc291cmNlcyB3aGlsZSBnZGJfY29tcGlsZSBhbmQKKysgICAgIyBnZGJf Y29tcGlsZV9wdGhyZWFkcyByZXF1aXJlICRvYmplY3RzLgorKyAgICBpZiBbc3RyaW5nIG1hdGNo IGdkYl9jb21waWxlX3NobGliKiAkZnVuY10geworKwlzZXQgc291cmNlc19wYXRoIHt9CisrCWZv cmVhY2ggcyAkc291cmNlcyB7CisrCSAgICBsYXBwZW5kIHNvdXJjZXNfcGF0aCAiJHtzcmNkaXJ9 LyR7c3ViZGlyfS8ke3N9IgorKwl9CisrCXNldCByZXQgWyRmdW5jICRzb3VyY2VzX3BhdGggIiR7 YmluZmlsZX0iICRvcHRpb25zXQorKyAgICB9IGVsc2UgeworKwlzZXQgb2JqZWN0cyB7fQorKwlm b3Ige3NldCBpIDB9ICJcJGk8W2xsZW5ndGggJHNvdXJjZXNdIiB7aW5jciBpfSB7CisrCSAgICBz ZXQgcyBbbGluZGV4ICRzb3VyY2VzICRpXQorKwkgICAgaWYgIHsgW2dkYl9jb21waWxlICIke3Ny Y2Rpcn0vJHtzdWJkaXJ9LyR7c30iICIke2JpbmZpbGV9JHtpfS5vIiBvYmplY3QgJG9wdGlvbnNd ICE9ICIiIH0geworKwkJdW50ZXN0ZWQgJHRlc3RuYW1lCisrCQlyZXR1cm4gLTEKKysJICAgIH0K KysJICAgIGxhcHBlbmQgb2JqZWN0cyAiJHtiaW5maWxlfSR7aX0ubyIKKysJfQorKwlzZXQgcmV0 IFskZnVuYyAkb2JqZWN0cyAiJHtiaW5maWxlfSIgZXhlY3V0YWJsZSAkb3B0aW9uc10KKysgICAg fQorKyAgICBpZiAgeyAkcmV0ICE9ICIiIH0geworKyAgICAgICAgdW50ZXN0ZWQgJHRlc3RuYW1l CisgICAgICAgICByZXR1cm4gLTEKKyAgICAgfQorKworICAgICByZXR1cm4gMAorIH0KKyAKK0lu ZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvbGliL3ByZWxpbmstc3VwcG9y dC5leHAKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KKy0tLSBnZGItNy4zLjUwLjIwMTEwNzIyLm9yaWcvZ2RiL3Rlc3Rz dWl0ZS9saWIvcHJlbGluay1zdXBwb3J0LmV4cAkyMDExLTAxLTAxIDE2OjMzOjUyLjAwMDAwMDAw MCArMDEwMAorKysrIGdkYi03LjMuNTAuMjAxMTA3MjIvZ2RiL3Rlc3RzdWl0ZS9saWIvcHJlbGlu ay1zdXBwb3J0LmV4cAkyMDExLTA4LTEwIDE5OjI1OjQxLjAwMDAwMDAwMCArMDIwMAorQEAgLTk1 LDggKzk1LDkgQEAgcHJvYyBmaWxlX2NvcHkge3NyYyBkZXN0fSB7CisgIyBXcmFwIGZ1bmN0aW9u IGJ1aWxkX2V4ZWN1dGFibGUgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGV4ZWN1dGFibGUgaXMgZnVs bHkKKyAjIHNlbGYtc3VmZmljaWVudCAod2l0aG91dCBkZXBlbmRlbmNpZXMgb24gc3lzdGVtIGxp YnJhcmllcykuICBQYXJhbWV0ZXIKKyAjIElOVEVSUCBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IGEg bG9hZGVyIChsZC5zbykgdG8gYmUgdXNlZCB0aGF0IGlzCistIyBkaWZmZXJlbnQgZnJvbSB0aGUg ZGVmYXVsdCBzeXN0ZW0gb25lLiAgTGlicmFyaWVzIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlCist IyBkZXBlbmRzIGFyZSBjb3BpZWQgaW50byBkaXJlY3RvcnkgRElSLiAgRGVmYXVsdCBESVIgdmFs dWUgdG8KKysjIGRpZmZlcmVudCBmcm9tIHRoZSBkZWZhdWx0IHN5c3RlbSBvbmUuICBJTlRFUlAg Y2FuIGJlIHNldCB0byAibm8iIGlmIG5vIGxkLnNvCisrIyBjb3B5IHNob3VsZCBiZSBtYWRlLiAg TGlicmFyaWVzIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIGRlcGVuZHMgYXJlIGNvcGllZAorKyMg aW50byBkaXJlY3RvcnkgRElSLiAgRGVmYXVsdCBESVIgdmFsdWUgdG8KKyAjIGAke29iamRpcn0v JHtzdWJkaXJ9LyR7RVhFQ1VUQUJMRX0uZCcuCisgIworICMgSW4gY2FzZSBvZiBzdWNjZXNzLCBy ZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgYXJndW1lbnRzIHRvIGJlIHVzZWQKK0BAIC0x NTEsOCArMTUyLDE1IEBAIHByb2MgYnVpbGRfZXhlY3V0YWJsZV9vd25fbGlicyB7dGVzdG5hbWUK KyAKKyAgICAgaWYgeyRpbnRlcnAgPT0gIiJ9IHsKKyAJc2V0IGludGVycF9zeXN0ZW0gW3NlY3Rp b25fZ2V0ICRiaW5maWxlIC5pbnRlcnBdCistCXNldCBpbnRlcnAgJHtkaXJ9L1tmaWxlIHRhaWwg JGludGVycF9zeXN0ZW1dCistCWZpbGVfY29weSAkaW50ZXJwX3N5c3RlbSAkaW50ZXJwCisrCWlm IHskaW50ZXJwX3N5c3RlbSA9PSAiIn0geworKwkgICAgZmFpbCAiJHRlc3QgY291bGQgbm90IGZp bmQgLmludGVycCIKKysJfSBlbHNlIHsKKysJICAgIHNldCBpbnRlcnAgJHtkaXJ9L1tmaWxlIHRh aWwgJGludGVycF9zeXN0ZW1dCisrCSAgICBmaWxlX2NvcHkgJGludGVycF9zeXN0ZW0gJGludGVy cAorKwl9CisrICAgIH0KKysgICAgaWYgeyRpbnRlcnAgPT0gIm5vIn0geworKwlzZXQgaW50ZXJw ICIiCisgICAgIH0KKyAKKyAgICAgc2V0IGRlc3RzIHt9CitAQCAtMTY0LDEzICsxNzIsMTkgQEAg cHJvYyBidWlsZF9leGVjdXRhYmxlX293bl9saWJzIHt0ZXN0bmFtZQorIAorICAgICAjIERvIG5v dCBsYXBwZW5kIGl0IHNvIHRoYXQgIi1ycGF0aCAkZGlyIiBvdmVycmlkZXMgYW55IHBvc3NpYmxl ICItcnBhdGgicworICAgICAjIHNwZWNpZmllZCBieSB0aGUgY2FsbGVyIHRvIGJlIGFibGUgdG8g bGluayBpdCBmb3IgbGRkIiBhYm92ZS4KKy0gICAgc2V0IG9wdGlvbnMgW2xpbnNlcnQgJG9wdGlv bnMgMCAibGRmbGFncz0tV2wsLS1keW5hbWljLWxpbmtlciwkaW50ZXJwLC1ycGF0aCwkZGlyIl0K KysgICAgc2V0IG9wdGlvbnMgW2xpbnNlcnQgJG9wdGlvbnMgMCAibGRmbGFncz0tV2wsLXJwYXRo LCRkaXIiXQorKyAgICBpZiB7JGludGVycCAhPSAiIn0geworKwlzZXQgb3B0aW9ucyBbbGluc2Vy dCAkb3B0aW9ucyAwICJsZGZsYWdzPS1XbCwtLWR5bmFtaWMtbGlua2VyLCRpbnRlcnAiXQorKyAg ICB9CisgCisgICAgIGlmIHtbYnVpbGRfZXhlY3V0YWJsZSAkdGVzdG5hbWUgJGV4ZWN1dGFibGUg JHNvdXJjZXMgJG9wdGlvbnNdID09IC0xfSB7CisgCXJldHVybiAiIgorICAgICB9CisgCistICAg IHNldCBwcmVsaW5rX2FyZ3MgIi0tZHluYW1pYy1saW5rZXI9JGludGVycCAtLWxkLWxpYnJhcnkt cGF0aD0kZGlyICRiaW5maWxlICRpbnRlcnAgW2NvbmNhdCAkZGVzdHNdIgorKyAgICBzZXQgcHJl bGlua19hcmdzICItLWxkLWxpYnJhcnktcGF0aD0kZGlyICRiaW5maWxlIFtjb25jYXQgJGRlc3Rz XSIKKysgICAgaWYgeyRpbnRlcnAgIT0gIiJ9IHsKKysJc2V0IHByZWxpbmtfYXJncyAiLS1keW5h bWljLWxpbmtlcj0kaW50ZXJwICRwcmVsaW5rX2FyZ3MgJGludGVycCIKKysgICAgfQorICAgICBy ZXR1cm4gJHByZWxpbmtfYXJncworIH0KKyAKK0luZGV4OiBnZGItNy4zLjUwLjIwMTEwNzIyL2dk Yi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAorPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorLS0tIGdk Yi03LjMuNTAuMjAxMTA3MjIub3JpZy9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2JyZWFrLWludGVy cC5leHAJMjAxMS0wNy0wMSAyMToxMjoxMi4wMDAwMDAwMDAgKzAyMDAKKysrKyBnZGItNy4zLjUw LjIwMTEwNzIyL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYnJlYWstaW50ZXJwLmV4cAkyMDExLTA4 LTEwIDE4OjMyOjIxLjAwMDAwMDAwMCArMDIwMAorQEAgLTEwOCwxNCArMTA4LDIwIEBAIHByb2Mg c3RyaXBfZGVidWcge2Rlc3R9IHsKKyAgICAgfQorIH0KKyAKKysjIEZvcm1lciBzeW1ib2wgZm9y IHNvbGliIGNoYW5nZXMgbm90aWZpY2F0aW9ucyB3YXMgX2RsX2RlYnVnX3N0YXRlLCBuZXdlciBv bmUKKysjIGlzIF9kbF9kZWJ1Z19ub3RpZnksIHRoZSByaWdodCBvbmUgb25lIHRyYXBzIGJ5IGBz ZXQgc3RvcC1vbi1zb2xpYi1ldmVudHMgMScuCisrCisrc2V0IHNvbGliX2JwIHsoX2RsX2RlYnVn X3N0YXRlfF9kbF9kZWJ1Z19ub3RpZnkpfQorKworICMgSW1wbGVtZW50YXRpb24gb2YgcmVhY2gu CisgCisgcHJvYyByZWFjaF8xIHtmdW5jIGNvbW1hbmQgZGlzcGxhY2VtZW50fSB7CistICAgIGds b2JhbCBnZGJfcHJvbXB0IGV4cGVjdF9vdXQKKysgICAgZ2xvYmFsIGdkYl9wcm9tcHQgZXhwZWN0 X291dCBzb2xpYl9icAorIAorLSAgICBpZiB7JGZ1bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsK KysgICAgaWYgeyRmdW5jID09ICRzb2xpYl9icH0geworIAkjIEJyZWFrcG9pbnQgb24gX2RsX2Rl YnVnX3N0YXRlIGNhbiBoYXZlIHByb2JsZW1zIGR1ZSB0byBpdHMgb3ZlcmxhcAorIAkjIHdpdGgg dGhlIGV4aXN0aW5nIGludGVybmFsIGJyZWFrcG9pbnQgZnJvbSBHREIuCisrCSMgV2l0aCBhbHNv IF9kbF9kZWJ1Z19ub3RpZnkgd2Ugd291bGQgbmVlZCBldmVuIHR3byBicmVha3BvaW50cy4KKyAJ Z2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgc3RvcC1vbi1zb2xpYi1ldmVudHMgMSIKKyAgICAgfSBl bHNlaWYgeyEgW2dkYl9icmVha3BvaW50ICRmdW5jIGFsbG93LXBlbmRpbmddfSB7CisgCXJldHVy bgorQEAgLTE0MSwyMSArMTQ3LDIxIEBAIHByb2MgcmVhY2hfMSB7ZnVuYyBjb21tYW5kIGRpc3Bs YWNlbWVudH0KKyAJICAgIGV4cF9jb250aW51ZQorIAl9CisgCS1yZSAiQnJlYWtwb2ludCBcWzAt OVxdKywgXFwuPyhfX0dJXyk/JGZ1bmMgXFwoLipcXCkgYXQgLio6XFswLTlcXStcclxuLiokZ2Ri X3Byb21wdCAkIiB7CistCSAgICBpZiB7JGZ1bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsKKysJ ICAgIGlmIHskZnVuYyA9PSAkc29saWJfYnB9IHsKKyAJCWZhaWwgJHRlc3QKKyAJICAgIH0gZWxz ZSB7CisgCQlwYXNzICR0ZXN0CisgCSAgICB9CisgCX0KKyAJLXJlICJCcmVha3BvaW50IFxbMC05 XF0rLCBcWzAtOXhhLWZcXSsgaW4gXFwuPyhfX0dJXyk/JGZ1bmMgXFwoXFwpLipcclxuJGdkYl9w cm9tcHQgJCIgeworLQkgICAgaWYgeyRmdW5jID09ICJfZGxfZGVidWdfc3RhdGUifSB7CisrCSAg ICBpZiB7JGZ1bmMgPT0gJHNvbGliX2JwfSB7CisgCQlmYWlsICR0ZXN0CisgCSAgICB9IGVsc2Ug eworIAkJcGFzcyAkdGVzdAorIAkgICAgfQorIAl9CisgCS1yZSAiU3RvcHBlZCBkdWUgdG8gc2hh cmVkIGxpYnJhcnkgZXZlbnRcclxuJGdkYl9wcm9tcHQgJCIgeworLQkgICAgaWYgeyRmdW5jID09 ICJfZGxfZGVidWdfc3RhdGUifSB7CisrCSAgICBpZiB7JGZ1bmMgPT0gJHNvbGliX2JwfSB7Cisg CQlpZiB7JGRlYnVnX3N0YXRlX2NvdW50ID09IDB9IHsKKyAJCSAgICAjIEZpcnN0IHN0b3AgZG9l cyBub3QgeWV0IHJlbG9jYXRlIHRoZSBfc3RhcnQgZnVuY3Rpb24KKyAJCSAgICAjIGRlc2NyaXB0 b3Igb24gcHBjNjQuCitAQCAtMTc0LDcgKzE4MCw3IEBAIHByb2MgcmVhY2hfMSB7ZnVuYyBjb21t YW5kIGRpc3BsYWNlbWVudH0KKyAJZmFpbCAkdGVzdF9kaXNwbGFjZW1lbnQKKyAgICAgfQorIAor LSAgICBpZiB7JGZ1bmMgPT0gIl9kbF9kZWJ1Z19zdGF0ZSJ9IHsKKysgICAgaWYgeyRmdW5jID09 ICRzb2xpYl9icH0geworIAlnZGJfdGVzdF9ub19vdXRwdXQgInNldCBzdG9wLW9uLXNvbGliLWV2 ZW50cyAwIgorICAgICB9CisgfQorQEAgLTM3Myw3ICszNzksNyBAQCBwcm9jIHRlc3RfYXR0YWNo IHtmaWxlIGRpc3BsYWNlbWVudCB7cmVsCisgfQorIAorIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1h aW4gdHJ5bm9zeW0gZGlzcGxhY2VtZW50fSB7CistICAgIGdsb2JhbCBzcmNkaXIgc3ViZGlyIGdk Yl9wcm9tcHQgZXhwZWN0X291dCBpbmZlcmlvcl9leGl0ZWRfcmUKKysgICAgZ2xvYmFsIHNyY2Rp ciBzdWJkaXIgZ2RiX3Byb21wdCBleHBlY3Rfb3V0IGluZmVyaW9yX2V4aXRlZF9yZSBzb2xpYl9i cAorIAorICAgICAjIEZpcnN0IHRlc3Qgbm9ybWFsIGBmaWxlJy1jb21tYW5kIGxvYWRlZCAkRklM RSB3aXRoIHN5bWJvbHMuCisgCitAQCAtNDAxLDkgKzQwNyw5IEBAIHByb2MgdGVzdF9sZCB7Zmls ZSBpZm1haW4gdHJ5bm9zeW0gZGlzcGwKKyAJZ2RiX3Rlc3Rfbm9fb3V0cHV0ICJzZXQgYXJncyAk e29iamRpcn0vJHtzdWJkaXJ9LyRiaW5maWxlX3Rlc3QiICJzZXQgYXJncyBPQkpESVIvJHtzdWJk aXJ9LyRiaW5maWxlX3Rlc3QiCisgICAgIH0KKyAKKy0gICAgcmVhY2ggIl9kbF9kZWJ1Z19zdGF0 ZSIgInJ1biIgJGRpc3BsYWNlbWVudAorKyAgICByZWFjaCAkc29saWJfYnAgInJ1biIgJGRpc3Bs YWNlbWVudAorIAorLSAgICBnZGJfdGVzdCAiYnQiICIjMCArXFteXHJcblxdKlxcbShfX0dJXyk/ X2RsX2RlYnVnX3N0YXRlXFxNLioiICJkbCBidCIKKysgICAgZ2RiX3Rlc3QgImJ0IiAiIzAgK1xb XlxyXG5cXSpcXG0oX19HSV8pPyRzb2xpYl9icFxcTS4qIiAiZGwgYnQiCisgCisgICAgIGlmICRp Zm1haW4geworIAlyZWFjaCAibWFpbiIgY29udGludWUgIk5PTkUiCitAQCAtNDE1LDcgKzQyMSw3 IEBAIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1haW4gdHJ5bm9zeW0gZGlzcGwKKyAKKyAgICAgIyBU cnkgcmUtcnVuIGlmIHRoZSBuZXcgUElFIGRpc3BsYWNlbWVudCB0YWtlcyBlZmZlY3QuCisgICAg IGdkYl90ZXN0ICJraWxsIiAiIiAia2lsbCIge0tpbGwgdGhlIHByb2dyYW0gYmVpbmcgZGVidWdn ZWRcPyBcKHkgb3IgblwpIH0gInkiCistICAgIHJlYWNoICJfZGxfZGVidWdfc3RhdGUiICJydW4i ICRkaXNwbGFjZW1lbnQKKysgICAgcmVhY2ggJHNvbGliX2JwICJydW4iICRkaXNwbGFjZW1lbnQK KyAKKyAgICAgaWYgJGlmbWFpbiB7CisgCXRlc3RfY29yZSAkZmlsZSAkZGlzcGxhY2VtZW50CitA QCAtNDQ4LDcgKzQ1NCw3IEBAIHByb2MgdGVzdF9sZCB7ZmlsZSBpZm1haW4gdHJ5bm9zeW0gZGlz cGwKKyAgICAgZ2RiX3Rlc3QgImV4ZWMtZmlsZSAkZmlsZSIgImV4ZWMtZmlsZSAkZXNjYXBlZGZp bGUiICJsb2FkIgorIAorICAgICBpZiAkaWZtYWluIHsKKy0JcmVhY2ggIl9kbF9kZWJ1Z19zdGF0 ZSIgcnVuICRkaXNwbGFjZW1lbnQKKysJcmVhY2ggJHNvbGliX2JwIHJ1biAkZGlzcGxhY2VtZW50 CisgCisgCSMgVXNlIHR3byBzZXBhcmF0ZSBnZGJfdGVzdF9tdWx0aXBsZSBzdGF0ZW1lbnRzIHRv IGF2b2lkIHRpbWVvdXRzIGR1ZQorIAkjIHRvIHNsb3cgcHJvY2Vzc2luZyBvZiB3aWxkY2FyZCBj YXB0dXJpbmcgbG9uZyBvdXRwdXQKCmRpZmYgLS1naXQgYS9nZGItZGxvcGVuLXN0YXAtcHJvYmUu cGF0Y2ggYi9nZGItZGxvcGVuLXN0YXAtcHJvYmUucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQK aW5kZXggMDAwMDAwMC4uNTM1MjI5OQotLS0gL2Rldi9udWxsCisrKyBiL2dkYi1kbG9wZW4tc3Rh cC1wcm9iZS5wYXRjaApAQCAtMCwwICsxLDM1OCBAQAorRnJvbTogR2FyeSBCZW5zb24gPGdiZW5z b25AcmVkaGF0LmNvbT4KK1RvOiBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0 LmNvbT4KK01lc3NhZ2UtSUQ6IDwyMDExMDgxMDEzMzYwNS5HQjcyOTRAcmVkaGF0LmNvbT4KKwor ZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBiL2dkYi9pbmZydW4uYworaW5kZXggNDI5NmQzYS4u ZmQ1ZTljMyAxMDA2NDQKKy0tLSBhL2dkYi9pbmZydW4uYworKysrIGIvZ2RiL2luZnJ1bi5jCitA QCAtMzIxLDYgKzMyMywxMyBAQCBzdGF0aWMgc3RydWN0IHN5bWJvbCAqc3RlcF9zdGFydF9mdW5j dGlvbjsKKyAvKiBOb256ZXJvIGlmIHdlIHdhbnQgdG8gZ2l2ZSBjb250cm9sIHRvIHRoZSB1c2Vy IHdoZW4gd2UncmUgbm90aWZpZWQKKyAgICBvZiBzaGFyZWQgbGlicmFyeSBldmVudHMgYnkgdGhl IGR5bmFtaWMgbGlua2VyLiAgKi8KKyBpbnQgc3RvcF9vbl9zb2xpYl9ldmVudHM7CisrCisrc3Rh dGljIHZvaWQKKytzZXRfc3RvcF9vbl9zb2xpYl9ldmVudHMgKGNoYXIgKmFyZ3MsIGludCBmcm9t X3R0eSwgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmMpCisreworKyAgdXBkYXRlX3NvbGliX2Jy ZWFrcG9pbnRzICgpOworK30gCisrCisgc3RhdGljIHZvaWQKKyBzaG93X3N0b3Bfb25fc29saWJf ZXZlbnRzIChzdHJ1Y3QgdWlfZmlsZSAqZmlsZSwgaW50IGZyb21fdHR5LAorIAkJCSAgIHN0cnVj dCBjbWRfbGlzdF9lbGVtZW50ICpjLCBjb25zdCBjaGFyICp2YWx1ZSkKK0BAIC03MTUzLDcgKzcx NjIsNyBAQCBTaG93IHN0b3BwaW5nIGZvciBzaGFyZWQgbGlicmFyeSBldmVudHMuIiksIF8oIlwK KyBJZiBub256ZXJvLCBnZGIgd2lsbCBnaXZlIGNvbnRyb2wgdG8gdGhlIHVzZXIgd2hlbiB0aGUg ZHluYW1pYyBsaW5rZXJcblwKKyBub3RpZmllcyBnZGIgb2Ygc2hhcmVkIGxpYnJhcnkgZXZlbnRz LiAgVGhlIG1vc3QgY29tbW9uIGV2ZW50IG9mIGludGVyZXN0XG5cCisgdG8gdGhlIHVzZXIgd291 bGQgYmUgbG9hZGluZy91bmxvYWRpbmcgb2YgYSBuZXcgbGlicmFyeS4iKSwKKy0JCQkgICAgTlVM TCwKKysJCQkgICAgc2V0X3N0b3Bfb25fc29saWJfZXZlbnRzLAorIAkJCSAgICBzaG93X3N0b3Bf b25fc29saWJfZXZlbnRzLAorIAkJCSAgICAmc2V0bGlzdCwgJnNob3dsaXN0KTsKKyAKK2RpZmYg LS1naXQgYS9nZGIvc29saWItc3ZyNC5jIGIvZ2RiL3NvbGliLXN2cjQuYworaW5kZXggZGZmYzYy MS4uNzNjYmUxYyAxMDA2NDQKKy0tLSBhL2dkYi9zb2xpYi1zdnI0LmMKKysrKyBiL2dkYi9zb2xp Yi1zdnI0LmMKK0BAIC00OCw2ICs0OCw4IEBACisgI2luY2x1ZGUgImF1eHYuaCIKKyAjaW5jbHVk ZSAiZXhjZXB0aW9ucy5oIgorIAorKyNpbmNsdWRlICJzdGFwLXByb2JlLmgiCisrCisgc3RhdGlj IHN0cnVjdCBsaW5rX21hcF9vZmZzZXRzICpzdnI0X2ZldGNoX2xpbmtfbWFwX29mZnNldHMgKHZv aWQpOworIHN0YXRpYyBpbnQgc3ZyNF9oYXZlX2xpbmtfbWFwX29mZnNldHMgKHZvaWQpOworIHN0 YXRpYyB2b2lkIHN2cjRfcmVsb2NhdGVfbWFpbl9leGVjdXRhYmxlICh2b2lkKTsKK0BAIC05Miw2 ICs5NCwzMiBAQCBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IHNvbGliX2JyZWFrX25hbWVzW10g PQorICAgTlVMTAorIH07CisgCisrLyogQSBsaXN0IG9mIFN5c3RlbVRhcCBwcm9iZXMgd2hpY2gs IGlmIHByZXNlbnQgaW4gdGhlIGR5bmFtaWMgbGlua2VyLAorKyAgIGFsbG93IG1vcmUgZmluZS1n cmFpbmVkIGJyZWFrcG9pbnRzIHRvIGJlIHBsYWNlZCBvbiBzaGFyZWQgbGlicmFyeQorKyAgIGV2 ZW50cy4gICovCisrCisrc3RydWN0IHByb2JlX2luZm8KKysgIHsKKysgICAgLyogVGhlIG5hbWUg b2YgdGhlIHByb2JlLiAgKi8KKysgICAgY29uc3QgY2hhciAqbmFtZTsKKysKKysgICAgLyogTm9u emVybyBpZiB0aGlzIHByb2JlIG11c3QgYmUgc3RvcHBlZCBhdCBldmVuIHdoZW4KKysgICAgICAg c3RvcC1vbi1zb2xpYi1ldmVudHMgaXMgb2ZmLiAgKi8KKysgICAgaW50IG1hbmRhdG9yeTsKKysg IH07CisrCisrc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9iZV9pbmZvIHByb2JlX2luZm9bXSA9Cisr eworKyAgeyJydGxkX2luaXRfc3RhcnQiLCAwfSwKKysgIHsicnRsZF9pbml0X2NvbXBsZXRlIiwg MX0sCisrICB7InJ0bGRfbWFwX3N0YXJ0IiwgMH0sCisrICB7InJ0bGRfcmVsb2NfY29tcGxldGUi LCAxfSwKKysgIHsicnRsZF91bm1hcF9zdGFydCIsIDB9LAorKyAgeyJydGxkX3VubWFwX2NvbXBs ZXRlIiwgMX0sCisrfTsKKysKKysjZGVmaW5lIE5VTV9QUk9CRVMgKHNpemVvZihwcm9iZV9pbmZv KSAvIHNpemVvZihwcm9iZV9pbmZvWzBdKSkKKysKKyBzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0 IGJrcHRfbmFtZXNbXSA9CisgeworICAgIl9zdGFydCIsCitAQCAtMzM1LDYgKzM2MywxMiBAQCBz dHJ1Y3Qgc3ZyNF9pbmZvCisgICBDT1JFX0FERFIgaW50ZXJwX3RleHRfc2VjdF9oaWdoOworICAg Q09SRV9BRERSIGludGVycF9wbHRfc2VjdF9sb3c7CisgICBDT1JFX0FERFIgaW50ZXJwX3BsdF9z ZWN0X2hpZ2g7CisrCisrICAvKiBTeXN0ZW1UYXAgcHJvYmVzLiAgKi8KKysgIFZFQyAoc3RhcF9w cm9iZV9wKSAqcHJvYmVzW05VTV9QUk9CRVNdOworKworKyAgLyogTm9uemVybyBpZiB3ZSBhcmUg dXNpbmcgdGhlIFN5c3RlbVRhcCBpbnRlcmZhY2UuICAqLworKyAgaW50IHVzaW5nX3Byb2JlczsK KyB9OworIAorIC8qIFBlci1wcm9ncmFtLXNwYWNlIGRhdGEga2V5LiAgKi8KK0BAIC0zNDQsOCAr Mzc4LDE1IEBAIHN0YXRpYyB2b2lkCisgc3ZyNF9wc3BhY2VfZGF0YV9jbGVhbnVwIChzdHJ1Y3Qg cHJvZ3JhbV9zcGFjZSAqcHNwYWNlLCB2b2lkICphcmcpCisgeworICAgc3RydWN0IHN2cjRfaW5m byAqaW5mbzsKKysgIGludCBpOworIAorICAgaW5mbyA9IHByb2dyYW1fc3BhY2VfZGF0YSAocHNw YWNlLCBzb2xpYl9zdnI0X3BzcGFjZV9kYXRhKTsKKysgIGlmIChpbmZvID09IE5VTEwpCisrICAg IHJldHVybjsKKysKKysgIGZvciAoaSA9IDA7IGkgPCBOVU1fUFJPQkVTOyBpKyspCisrICAgIFZF Q19mcmVlIChzdGFwX3Byb2JlX3AsIGluZm8tPnByb2Jlc1tpXSk7CisrCisgICB4ZnJlZSAoaW5m byk7CisgfQorIAorQEAgLTEzMjEsNiArMTM2MiwxMjYgQEAgZXhlY19lbnRyeV9wb2ludCAoc3Ry dWN0IGJmZCAqYWJmZCwgc3RydWN0IHRhcmdldF9vcHMgKnRhcmcpCisgCQkJCQkgICAgIHRhcmcp OworIH0KKyAKKysvKiBIZWxwZXIgZnVuY3Rpb24gZm9yIHN2cjRfdXBkYXRlX3NvbGliX2V2ZW50 X2JyZWFrcG9pbnRzLiAgKi8KKysKKytzdGF0aWMgaW50Cisrc3ZyNF91cGRhdGVfc29saWJfZXZl bnRfYnJlYWtwb2ludCAoc3RydWN0IGJyZWFrcG9pbnQgKmIsIHZvaWQgKmFyZykKKyt7CisrICBz dHJ1Y3Qgc3ZyNF9pbmZvICppbmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysgIHN0cnVjdCBicF9s b2NhdGlvbiAqbG9jOworKworKyAgaWYgKGItPnR5cGUgIT0gYnBfc2hsaWJfZXZlbnQpCisrICAg IHJldHVybiAwOworKworKyAgZm9yIChsb2MgPSBiLT5sb2M7IGxvYzsgbG9jID0gbG9jLT5uZXh0 KQorKyAgICB7CisrICAgICAgaW50IGk7CisrCisrICAgICAgZm9yIChpID0gMDsgaSA8IE5VTV9Q Uk9CRVM7IGkrKykKKysJeworKwkgIGlmICghcHJvYmVfaW5mb1tpXS5tYW5kYXRvcnkpCisrCSAg ICB7CisrCSAgICAgIGNvbnN0IHN0cnVjdCBzdGFwX3Byb2JlICpwcm9iZTsKKysJICAgICAgaW50 IGl4OworKworKwkgICAgICBmb3IgKGl4ID0gMDsKKysJCSAgIFZFQ19pdGVyYXRlIChzdGFwX3By b2JlX3AsIGluZm8tPnByb2Jlc1tpXSwgaXgsIHByb2JlKTsKKysJCSAgICsraXgpCisrCQl7Cisr CQkgIGlmIChsb2MtPnBzcGFjZSA9PSBjdXJyZW50X3Byb2dyYW1fc3BhY2UKKysJCSAgICAgICYm IGxvYy0+YWRkcmVzcyA9PSBwcm9iZS0+YWRkcmVzcykKKysJCSAgICB7CisrCQkgICAgICBiLT5l bmFibGVfc3RhdGUgPQorKwkJCXN0b3Bfb25fc29saWJfZXZlbnRzID8gYnBfZW5hYmxlZCA6IGJw X2Rpc2FibGVkOworKwkJICAgICAgcmV0dXJuIDA7CisrCQkgICAgfQorKwkJfQorKwkgICAgfQor Kwl9CisrICAgIH0KKysKKysgIHJldHVybiAwOworK30KKysKKysvKiBFbmFibGUgb3IgZGlzYWJs ZSBvcHRpb25hbCBzb2xpYiBldmVudCBicmVha3BvaW50cyBhcyBhcHByb3ByaWF0ZS4KKysgICBD YWxsZWQgd2hlbmV2ZXIgc3RvcF9vbl9zb2xpYl9ldmVudHMgaXMgY2hhbmdlZC4gICovCisrCisr c3RhdGljIHZvaWQKKytzdnI0X3VwZGF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50cyAodm9pZCkK Kyt7CisrICBzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysKKysg IGlmIChpbmZvLT51c2luZ19wcm9iZXMpCisrICAgIGl0ZXJhdGVfb3Zlcl9icmVha3BvaW50cyAo c3ZyNF91cGRhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludCwgTlVMTCk7CisrfQorKworKy8qIEJv dGggdGhlIFN1bk9TIGFuZCB0aGUgU1ZSNCBkeW5hbWljIGxpbmtlcnMgY2FsbCBhIG1hcmtlciBm dW5jdGlvbgorKyAgIGJlZm9yZSBhbmQgYWZ0ZXIgbWFwcGluZyBhbmQgdW5tYXBwaW5nIHNoYXJl ZCBsaWJyYXJpZXMuICBUaGUgc29sZQorKyAgIHB1cnBvc2Ugb2YgdGhpcyBtZXRob2QgaXMgdG8g YWxsb3cgZGVidWdnZXJzIHRvIHNldCBhIGJyZWFrcG9pbnQgc28KKysgICB0aGV5IGNhbiB0cmFj ayB0aGVzZSBjaGFuZ2VzLgorKworKyAgIFNvbWUgdmVyc2lvbnMgb2YgdGhlIGdsaWJjIGR5bmFt aWMgbGlua2VyIGNvbnRhaW4gU3lzdGVtVGFwIHByb2JlcworKyAgIHRvIGFsbG93IG1vcmUgZmlu ZSBncmFpbmVkIHN0b3BwaW5nLiAgR2l2ZW4gdGhlIGFkZHJlc3Mgb2YgdGhlCisrICAgb3JpZ2lu YWwgbWFya2VyIGZ1bmN0aW9uLCB0aGlzIGZ1bmN0aW9uIGF0dGVtcHRzIHRvIGZpbmQgdGhlc2UK KysgICBwcm9iZXMsIGFuZCBpZiBmb3VuZCwgc2V0cyBicmVha3BvaW50cyBvbiB0aG9zZSBpbnN0 ZWFkLiAgSWYgdGhlCisrICAgcHJvYmVzIGFyZW4ndCBmb3VuZCwgYSBzaW5nbGUgYnJlYWtwb2lu dCBpcyBzZXQgb24gdGhlIG9yaWdpbmFsCisrICAgU1ZSNCBtYXJrZXIgZnVuY3Rpb24uICAqLwor KworK3N0YXRpYyB2b2lkCisrc3ZyNF9jcmVhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHMgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkcmVzcykKKyt7CisrICBzdHJ1Y3Qg c3ZyNF9pbmZvICppbmZvID0gZ2V0X3N2cjRfaW5mbyAoKTsKKysgIHN0cnVjdCBvYmpfc2VjdGlv biAqb3M7CisrCisrICBvcyA9IGZpbmRfcGNfc2VjdGlvbiAoYWRkcmVzcyk7CisrICBpZiAob3Mg IT0gTlVMTCkKKysgICAgeworKyAgICAgIGludCBhbGxfcHJvYmVzX2ZvdW5kID0gMTsKKysgICAg ICBpbnQgaTsKKysKKysgICAgICBmb3IgKGkgPSAwOyBpIDwgTlVNX1BST0JFUzsgaSsrKQorKwl7 CisrCSAgaW5mby0+cHJvYmVzW2ldID0gZmluZF9wcm9iZXNfaW5fb2JqZmlsZSAob3MtPm9iamZp bGUsICJydGxkIiwKKysJCQkJCQkgICAgcHJvYmVfaW5mb1tpXS5uYW1lKTsKKysKKysJICBpZiAo IVZFQ19sZW5ndGgoc3RhcF9wcm9iZV9wLCBpbmZvLT5wcm9iZXNbaV0pKQorKwkgICAgeworKwkg ICAgICBpbnQgajsKKysKKysJICAgICAgZm9yIChqID0gaSAtIDE7IGogPj0gMDsgai0tKQorKwkJ eworKwkJICBWRUNfZnJlZSAoc3RhcF9wcm9iZV9wLCBpbmZvLT5wcm9iZXNbal0pOworKwkJICBp bmZvLT5wcm9iZXNbal0gPSBOVUxMOworKwkJfQorKworKwkgICAgICBhbGxfcHJvYmVzX2ZvdW5k ID0gMDsKKysJICAgICAgYnJlYWs7CisrCSAgICB9CisrCX0KKysKKysgICAgICBpZiAoYWxsX3By b2Jlc19mb3VuZCkKKysJeworKwkgIGluZm8tPnVzaW5nX3Byb2JlcyA9IDE7CisrCisrCSAgZm9y IChpID0gMDsgaSA8IE5VTV9QUk9CRVM7IGkrKykKKysJICAgIHsKKysJICAgICAgY29uc3Qgc3Ry dWN0IHN0YXBfcHJvYmUgKnByb2JlOworKwkgICAgICBpbnQgaXg7CisrCisrCSAgICAgIGZvciAo aXggPSAwOworKwkJICAgVkVDX2l0ZXJhdGUgKHN0YXBfcHJvYmVfcCwgaW5mby0+cHJvYmVzW2ld LCBpeCwgcHJvYmUpOworKwkJICAgKytpeCkKKysJCWNyZWF0ZV9zb2xpYl9ldmVudF9icmVha3Bv aW50IChnZGJhcmNoLCBwcm9iZS0+YWRkcmVzcyk7CisrCSAgICB9CisrCisrCSAgc3ZyNF91cGRh dGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHMgKCk7CisrCSAgcmV0dXJuOworKwl9CisrICAgIH0K KysKKysgIGNyZWF0ZV9zb2xpYl9ldmVudF9icmVha3BvaW50IChnZGJhcmNoLCBhZGRyZXNzKTsK Kyt9CisrCisgLyoKKyAKKyAgICBMT0NBTCBGVU5DVElPTgorQEAgLTEzNzIsMTAgKzE1MzMsMTgg QEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZvICppbmZvLCBpbnQgZnJvbV90dHkpCisg ICBhc2VjdGlvbiAqaW50ZXJwX3NlY3Q7CisgICBnZGJfYnl0ZSAqaW50ZXJwX25hbWU7CisgICBD T1JFX0FERFIgc3ltX2FkZHI7CisrICBpbnQgaTsKKyAKKyAgIGluZm8tPmludGVycF90ZXh0X3Nl Y3RfbG93ID0gaW5mby0+aW50ZXJwX3RleHRfc2VjdF9oaWdoID0gMDsKKyAgIGluZm8tPmludGVy cF9wbHRfc2VjdF9sb3cgPSBpbmZvLT5pbnRlcnBfcGx0X3NlY3RfaGlnaCA9IDA7CisgCisrICBm b3IgKGkgPSAwOyBpIDwgTlVNX1BST0JFUzsgaSsrKQorKyAgICB7CisrICAgICAgVkVDX2ZyZWUg KHN0YXBfcHJvYmVfcCwgaW5mby0+cHJvYmVzW2ldKTsKKysgICAgICBpbmZvLT5wcm9iZXNbaV0g PSBOVUxMOworKyAgICB9CisrICBpbmZvLT51c2luZ19wcm9iZXMgPSAwOworKworICAgLyogSWYg d2UgYWxyZWFkeSBoYXZlIGEgc2hhcmVkIGxpYnJhcnkgbGlzdCBpbiB0aGUgdGFyZ2V0LCBhbmQK KyAgICAgIHJfZGVidWcgY29udGFpbnMgcl9icmssIHNldCB0aGUgYnJlYWtwb2ludCB0aGVyZSAt IHRoaXMgc2hvdWxkCisgICAgICBtZWFuIHJfYnJrIGhhcyBhbHJlYWR5IGJlZW4gcmVsb2NhdGVk LiAgQXNzdW1lIHRoZSBkeW5hbWljIGxpbmtlcgorQEAgLTE0MDcsNyArMTU3Niw3IEBAIGVuYWJs ZV9icmVhayAoc3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW50IGZyb21fdHR5KQorIAkgVGhhdCBr bm93bGVkZ2UgaXMgZW5jb2RlZCBpbiB0aGUgYWRkcmVzcywgaWYgaXQncyBUaHVtYiB0aGUgbG93 IGJpdAorIAkgaXMgMS4gIEhvd2V2ZXIsIHdlJ3ZlIHN0cmlwcGVkIHRoYXQgaW5mbyBhYm92ZSBh bmQgaXQncyBub3QgY2xlYXIKKyAJIHdoYXQgYWxsIHRoZSBjb25zZXF1ZW5jZXMgYXJlIG9mIHBh c3NpbmcgYSBub24tYWRkcl9iaXRzX3JlbW92ZSdkCistCSBhZGRyZXNzIHRvIGNyZWF0ZV9zb2xp Yl9ldmVudF9icmVha3BvaW50LiAgVGhlIGNhbGwgdG8KKysJIGFkZHJlc3MgdG8gc3ZyNF9jcmVh dGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHMuICBUaGUgY2FsbCB0bworIAkgZmluZF9wY19zZWN0 aW9uIHZlcmlmaWVzIHdlIGtub3cgYWJvdXQgdGhlIGFkZHJlc3MgYW5kIGhhdmUgc29tZQorIAkg aG9wZSBvZiBjb21wdXRpbmcgdGhlIHJpZ2h0IGtpbmQgb2YgYnJlYWtwb2ludCB0byB1c2UgKHZp YQorIAkgc3ltYm9sIGluZm8pLiAgSXQgZG9lcyBtZWFuIHRoYXQgR0RCIG5lZWRzIHRvIGJlIHBv aW50ZWQgYXQgYQorQEAgLTE0NDUsNyArMTYxNCw3IEBAIGVuYWJsZV9icmVhayAoc3RydWN0IHN2 cjRfaW5mbyAqaW5mbywgaW50IGZyb21fdHR5KQorIAkJKyBiZmRfc2VjdGlvbl9zaXplICh0bXBf YmZkLCBpbnRlcnBfc2VjdCk7CisgCSAgICB9CisgCistCSAgY3JlYXRlX3NvbGliX2V2ZW50X2Jy ZWFrcG9pbnQgKHRhcmdldF9nZGJhcmNoLCBzeW1fYWRkcik7CisrCSAgc3ZyNF9jcmVhdGVfc29s aWJfZXZlbnRfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoLCBzeW1fYWRkcik7CisgCSAgcmV0 dXJuIDE7CisgCX0KKyAgICAgfQorQEAgLTE1OTksNyArMTc2OCw4IEBAIGVuYWJsZV9icmVhayAo c3RydWN0IHN2cjRfaW5mbyAqaW5mbywgaW50IGZyb21fdHR5KQorIAorICAgICAgIGlmIChzeW1f YWRkciAhPSAwKQorIAl7CistCSAgY3JlYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnQgKHRhcmdl dF9nZGJhcmNoLCBsb2FkX2FkZHIgKyBzeW1fYWRkcik7CisrCSAgc3ZyNF9jcmVhdGVfc29saWJf ZXZlbnRfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoLAorKwkJCQkJICAgICAgIGxvYWRfYWRk ciArIHN5bV9hZGRyKTsKKyAJICB4ZnJlZSAoaW50ZXJwX25hbWUpOworIAkgIHJldHVybiAxOwor IAl9CitAQCAtMTYyNSw3ICsxNzk1LDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qgc3ZyNF9pbmZv ICppbmZvLCBpbnQgZnJvbV90dHkpCisgCSAgc3ltX2FkZHIgPSBnZGJhcmNoX2NvbnZlcnRfZnJv bV9mdW5jX3B0cl9hZGRyICh0YXJnZXRfZ2RiYXJjaCwKKyAJCQkJCQkJIHN5bV9hZGRyLAorIAkJ CQkJCQkgJmN1cnJlbnRfdGFyZ2V0KTsKKy0JICBjcmVhdGVfc29saWJfZXZlbnRfYnJlYWtwb2lu dCAodGFyZ2V0X2dkYmFyY2gsIHN5bV9hZGRyKTsKKysJICBzdnI0X2NyZWF0ZV9zb2xpYl9ldmVu dF9icmVha3BvaW50cyAodGFyZ2V0X2dkYmFyY2gsIHN5bV9hZGRyKTsKKyAJICByZXR1cm4gMTsK KyAJfQorICAgICB9CitAQCAtMTY0MSw3ICsxODExLDcgQEAgZW5hYmxlX2JyZWFrIChzdHJ1Y3Qg c3ZyNF9pbmZvICppbmZvLCBpbnQgZnJvbV90dHkpCisgCSAgICAgIHN5bV9hZGRyID0gZ2RiYXJj aF9jb252ZXJ0X2Zyb21fZnVuY19wdHJfYWRkciAodGFyZ2V0X2dkYmFyY2gsCisgCQkJCQkJCSAg ICAgc3ltX2FkZHIsCisgCQkJCQkJCSAgICAgJmN1cnJlbnRfdGFyZ2V0KTsKKy0JICAgICAgY3Jl YXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnQgKHRhcmdldF9nZGJhcmNoLCBzeW1fYWRkcik7Cisr CSAgICAgIHN2cjRfY3JlYXRlX3NvbGliX2V2ZW50X2JyZWFrcG9pbnRzICh0YXJnZXRfZ2RiYXJj aCwgc3ltX2FkZHIpOworIAkgICAgICByZXR1cm4gMTsKKyAJICAgIH0KKyAJfQorQEAgLTI0NzAs NCArMjY0MCw1IEBAIF9pbml0aWFsaXplX3N2cjRfc29saWIgKHZvaWQpCisgICBzdnI0X3NvX29w cy5sb29rdXBfbGliX2dsb2JhbF9zeW1ib2wgPSBlbGZfbG9va3VwX2xpYl9zeW1ib2w7CisgICBz dnI0X3NvX29wcy5zYW1lID0gc3ZyNF9zYW1lOworICAgc3ZyNF9zb19vcHMua2VlcF9kYXRhX2lu X2NvcmUgPSBzdnI0X2tlZXBfZGF0YV9pbl9jb3JlOworKyAgc3ZyNF9zb19vcHMudXBkYXRlX2Jy ZWFrcG9pbnRzID0gc3ZyNF91cGRhdGVfc29saWJfZXZlbnRfYnJlYWtwb2ludHM7CisgfQorZGlm ZiAtLWdpdCBhL2dkYi9zb2xpYi5jIGIvZ2RiL3NvbGliLmMKK2luZGV4IDMyOTZlZDQuLjdiYTcw Y2UgMTAwNjQ0CistLS0gYS9nZGIvc29saWIuYworKysrIGIvZ2RiL3NvbGliLmMKK0BAIC0xMzEz LDYgKzEzMTMsMTggQEAgbm9fc2hhcmVkX2xpYnJhcmllcyAoY2hhciAqaWdub3JlZCwgaW50IGZy b21fdHR5KQorICAgb2JqZmlsZV9wdXJnZV9zb2xpYnMgKCk7CisgfQorIAorKy8qIEVuYWJsZSBv ciBkaXNhYmxlIG9wdGlvbmFsIHNvbGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzIGFwcHJvcHJpYXRl LiAgKi8KKysKKyt2b2lkCisrdXBkYXRlX3NvbGliX2JyZWFrcG9pbnRzICh2b2lkKQorK3sKKysg IHN0cnVjdCB0YXJnZXRfc29fb3BzICpvcHMgPSBzb2xpYl9vcHMgKHRhcmdldF9nZGJhcmNoKTsK KysKKysgIGlmIChvcHMtPnVwZGF0ZV9icmVha3BvaW50cyAhPSBOVUxMKQorKyAgICBvcHMtPnVw ZGF0ZV9icmVha3BvaW50cyAoKTsKKyt9CisrICAKKysKKyAvKiBSZWxvYWQgc2hhcmVkIGxpYnJh cmllcywgYnV0IGF2b2lkIHJlbG9hZGluZyB0aGUgc2FtZSBzeW1ib2wgZmlsZQorICAgIHdlIGFs cmVhZHkgaGF2ZSBsb2FkZWQuICAqLworIAorZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi5oIGIvZ2Ri L3NvbGliLmgKK2luZGV4IGM0NzNkODUuLjdiMzg4MWMgMTAwNjQ0CistLS0gYS9nZGIvc29saWIu aAorKysrIGIvZ2RiL3NvbGliLmgKK0BAIC03OCw0ICs3OCw4IEBAIGV4dGVybiB2b2lkIHNldF9z b2xpYl9vcHMgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAorIAorIGV4dGVybiBpbnQgbGlicHRo cmVhZF9uYW1lX3AgKGNvbnN0IGNoYXIgKm5hbWUpOworIAorKy8qIEVuYWJsZSBvciBkaXNhYmxl IG9wdGlvbmFsIHNvbGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzIGFwcHJvcHJpYXRlLiAgKi8KKysK KytleHRlcm4gdm9pZCB1cGRhdGVfc29saWJfYnJlYWtwb2ludHMgKHZvaWQpOworKworICNlbmRp ZiAvKiBTT0xJQl9IICovCitkaWZmIC0tZ2l0IGEvZ2RiL3NvbGlzdC5oIGIvZ2RiL3NvbGlzdC5o CitpbmRleCBkYWQxMWJlLi4xNGVkZTEwIDEwMDY0NAorLS0tIGEvZ2RiL3NvbGlzdC5oCisrKysg Yi9nZGIvc29saXN0LmgKK0BAIC0xMzcsNiArMTM3LDEzIEBAIHN0cnVjdCB0YXJnZXRfc29fb3Bz CisgICAgICAgIGNvcmUgZmlsZSAoaW4gcGFydGljdWxhciwgZm9yIHJlYWRvbmx5IHNlY3Rpb25z KS4gICovCisgICAgIGludCAoKmtlZXBfZGF0YV9pbl9jb3JlKSAoQ09SRV9BRERSIHZhZGRyLAor IAkJCSAgICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSk7CisrCisrICAgIC8qIEVuYWJsZSBvciBkaXNh YmxlIG9wdGlvbmFsIHNvbGliIGV2ZW50IGJyZWFrcG9pbnRzIGFzCisrICAgICAgIGFwcHJvcHJp YXRlLiAgVGhpcyBzaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyCisrICAgICAgIHN0b3Bfb25fc29s aWJfZXZlbnRzIGlzIGNoYW5nZWQuICBUaGlzIHBvaW50ZXIgY2FuIGJlCisrICAgICAgIE5VTEws IGluIHdoaWNoIGNhc2Ugbm8gZW5hYmxpbmcgb3IgZGlzYWJsaW5nIGlzIG5lY2Vzc2FyeQorKyAg ICAgICBmb3IgdGhpcyB0YXJnZXQuICAqLworKyAgICB2b2lkICgqdXBkYXRlX2JyZWFrcG9pbnRz KSAodm9pZCk7CisgICB9OworIAorIC8qIEZyZWUgdGhlIG1lbW9yeSBhc3NvY2lhdGVkIHdpdGgg YSAoc29fbGlzdCAqKS4gICovCgpkaWZmIC0tZ2l0IGEvZ2RiLnNwZWMgYi9nZGIuc3BlYwppbmRl eCBjYTAzZjkzLi4yYzE1YTA2IDEwMDY0NAotLS0gYS9nZGIuc3BlYworKysgYi9nZGIuc3BlYwpA QCAtMjcsNyArMjcsNyBAQCBWZXJzaW9uOiA3LjMuNTAuMjAxMTA3MjIKIAogIyBUaGUgcmVsZWFz ZSBhbHdheXMgY29udGFpbnMgYSBsZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQg MS4KICMgYHVwc3RyZWFtJyBpcyBub3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJw bSBkZXBlbmRlbmNpZXMgY29tcGF0aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiA0JXs/ X3dpdGhfdXBzdHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CitSZWxlYXNlOiA1JXs/X3dpdGhfdXBz dHJlYW06LnVwc3RyZWFtfSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQgR1BMdjMrIHdp dGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRpb25zIGFuZCBH UEwrIGFuZCBMR1BMdjIrIGFuZCBCU0QgYW5kIFB1YmxpYyBEb21haW4KIEdyb3VwOiBEZXZlbG9w bWVudC9EZWJ1Z2dlcnMKQEAgLTUzMyw2ICs1MzMsMTAgQEAgUGF0Y2g1Nzk6IGdkYi03LjIuNTAt c3BhcmMtYWRkLXdvcmthcm91bmQtdG8tYnJva2VuLWRlYnVnLWZpbGVzLnBhdGNoCiAjIEltcHJv dmUgR0RCIHBlcmZvcm1hbmNlIG9uIGluZmVyaW9yIGRsb3BlbiBjYWxscyAoR2FyeSBCZW5zb24s IEJaIDY5ODAwMSkuCiBQYXRjaDYxNzogZ2RiLWRsb3Blbi1za2lwX2lubGluZV9mcmFtZXMtcGVy Zi5wYXRjaAogCisjIEZpeCBkbG9wZW4gb2YgbGlicHRocmVhZC5zbywgcGF0Y2hlZCBnbGliYyBy ZXF1aXJlZCAoR2FyeSBCZW5zb24sIEJaIDY2OTQzMikuCitQYXRjaDYxODogZ2RiLWRsb3Blbi1z dGFwLXByb2JlLnBhdGNoCitQYXRjaDYxOTogZ2RiLWRsb3Blbi1zdGFwLXByb2JlLXRlc3QucGF0 Y2gKKwogQnVpbGRSZXF1aXJlczogbmN1cnNlcy1kZXZlbCV7P19pc2F9IHRleGluZm8gZ2V0dGV4 dCBmbGV4IGJpc29uIGV4cGF0LWRldmVsJXs/X2lzYX0KICMgLS13aXRob3V0LXN5c3RlbS1yZWFk bGluZQogIyBSZXF1aXJlczogcmVhZGxpbmUlez9faXNhfQpAQCAtNzk1LDYgKzc5OSw4IEBAIHJt IC1mIGdkYi9qdi1leHAuYyBnZGIvbTItZXhwLmMgZ2RiL29iamMtZXhwLmMgZ2RiL3AtZXhwLmMK ICVwYXRjaDU1NiAtcDEKICVwYXRjaDU3OSAtcDEKICVwYXRjaDYxNyAtcDEKKyVwYXRjaDYxOCAt cDEKKyVwYXRjaDYxOSAtcDEKIAogJXBhdGNoMzkzIC1wMQogJXBhdGNoMzM1IC1wMQpAQCAtMTIx Nyw2ICsxMjIzLDkgQEAgZmkKICV7X2luZm9kaXJ9L2dkYi5pbmZvKgogCiAlY2hhbmdlbG9nCisq IFdlZCBBdWcgMTAgMjAxMSBKYW4gS3JhdG9jaHZpbCA8amFuLmtyYXRvY2h2aWxAcmVkaGF0LmNv bT4gLSA3LjMuNTAuMjAxMTA3MjItNS5mYzE2CistIEZpeCBkbG9wZW4gb2YgbGlicHRocmVhZC5z bywgcGF0Y2hlZCBnbGliYyByZXF1aXJlZCAoR2FyeSBCZW5zb24sIEJaIDY2OTQzMikuCisKICog VHVlIEF1ZyAgOSAyMDExIEphbiBLcmF0b2NodmlsIDxqYW4ua3JhdG9jaHZpbEByZWRoYXQuY29t PiAtIDcuMy41MC4yMDExMDcyMi00LmZjMTYKIC0gSW1wcm92ZSBHREIgcGVyZm9ybWFuY2Ugb24g aW5mZXJpb3IgZGxvcGVuIGNhbGxzIChHYXJ5IEJlbnNvbiwgQlogNjk4MDAxKS4KIC0gW3B5dGhv bl0gRml4IGNyYXNoIHdoZW4gcHJldHR5IHByaW50ZXIgZmFpbHMgKFBoaWwgTXVsZG9vbiwgQlog NzEyNzE1KS4K