From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 24489 invoked from network); 31 Jan 2023 18:45:09 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 31 Jan 2023 18:45:09 -0000 Content-Type: multipart/mixed; boundary="===============2728503899065140151==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_poco=3A_update_to_build_with_openssl3?= To: ml@inbox.vuxu.org From: dkwo Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Tue, 31 Jan 2023 19:45:09 +0100 List-Id: Message-ID: <20230131184509.7Xb6FIPDWFv56kVAL1TB_H1IhN2fPEdUR6_GB2xltLc@z> GitHub notification mails are now in MIME to allow UTF8. --===============2728503899065140151== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgZGt3byBhZ2FpbnN0IG1hc3RlciBv biB0aGUgdm9pZC1wYWNrYWdlcyByZXBvc2l0b3J5CgpodHRwczovL2dpdGh1Yi5jb20vZGt3by92 b2lkLXBhY2thZ2VzIE8zcG9jbwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBh Y2thZ2VzL3B1bGwvNDE5NjMKCnBvY286IHVwZGF0ZSB0byBidWlsZCB3aXRoIG9wZW5zc2wzCi0g SSB0ZXN0ZWQgdGhlIGNoYW5nZXMgaW4gdGhpcyBQUjogbm8NCi0gSSBidWlsdCB0aGlzIFBSIGxv Y2FsbHkgZm9yIG15IG5hdGl2ZSBhcmNoaXRlY3R1cmUsICh4ODZfNjQtbXVzbCkNCg0KcmVxdWly ZWQgdG8gYnVpbGQgd2l0aCBvcGVuc3NsMyAjMzc2ODEgCgpBIHBhdGNoIGZpbGUgZnJvbSBodHRw czovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92b2lkLXBhY2thZ2VzL3B1bGwvNDE5NjMucGF0Y2gg aXMgYXR0YWNoZWQ= --===============2728503899065140151== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-O3poco-41963.patch" RnJvbSA1ZmViYTgyN2EwNGFkOTI5NzkzNmFjMTdjN2EwMzg3ZmE0N2MxZGMyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IEZyaSwgMjcgSmFuIDIwMjMgMTA6NDU6MjAgLTA1MDAKU3ViamVjdDogW1BBVENIIDEvM10g cG9jbzogdXBkYXRlIHRvIDEuMTIuNCwgb3JwaGFuCgotLS0KIGNvbW1vbi9zaGxpYnMgICAgICAg ICB8IDI2ICsrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiBzcmNwa2dzL3BvY28vdGVtcGxhdGUg fCAxMSArKysrKystLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAxOCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21tb24vc2hsaWJzIGIvY29tbW9uL3NobGlicwpp bmRleCBlZGI4YTJjNWRkNzMuLjUyM2ZkMTVhZjczNCAxMDA2NDQKLS0tIGEvY29tbW9uL3NobGli cworKysgYi9jb21tb24vc2hsaWJzCkBAIC0zMDA2LDE5ICszMDA2LDE5IEBAIGxpYnNpZ3Jvay5z by40IGxpYnNpZ3Jvay0wLjUuMF8xCiBsaWJzaWdyb2tjeHguc28uNCBsaWJzaWdyb2stMC41LjBf MQogbGlic2lncm9rZGVjb2RlLnNvLjQgbGlic2lncm9rZGVjb2RlLTAuNS4wXzIKIGxpYmdseXIu c28uMSBnbHlyLTEuMC44XzEKLWxpYlBvY29KU09OLnNvLjY0IHBvY28tMS45LjRfMwotbGliUG9j b01vbmdvREIuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvWmlwLnNvLjY0IHBvY28tMS45LjRf MwotbGliUG9jb0RhdGEuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvTmV0LnNvLjY0IHBvY28t MS45LjRfMwotbGliUG9jb0RhdGFTUUxpdGUuc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvRm91 bmRhdGlvbi5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29YTUwuc28uNjQgcG9jby0xLjkuNF8z Ci1saWJQb2NvVXRpbC5zby42NCBwb2NvLTEuOS40XzMKLWxpYlBvY29SZWRpcy5zby42NCBwb2Nv LTEuOS40XzMKLWxpYlBvY29FbmNvZGluZ3Muc28uNjQgcG9jby0xLjkuNF8zCi1saWJQb2NvTmV0 U1NMLnNvLjY0IHBvY28tMS45LjRfMwotbGliUG9jb0NyeXB0by5zby42NCBwb2NvLTEuOS40XzMK K2xpYlBvY29KU09OLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29Nb25nb0RCLnNvLjk0IHBv Y28tMS4xMi40XzEKK2xpYlBvY29aaXAuc28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb0RhdGEu c28uOTQgcG9jby0xLjEyLjRfMQorbGliUG9jb05ldC5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQ b2NvRGF0YVNRTGl0ZS5zby45NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvRm91bmRhdGlvbi5zby45 NCBwb2NvLTEuMTIuNF8xCitsaWJQb2NvWE1MLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29V dGlsLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29SZWRpcy5zby45NCBwb2NvLTEuMTIuNF8x CitsaWJQb2NvRW5jb2RpbmdzLnNvLjk0IHBvY28tMS4xMi40XzEKK2xpYlBvY29OZXRTU0wuc28u OTQgcG9jby0xLjEyLjRfMQorbGliUG9jb0NyeXB0by5zby45NCBwb2NvLTEuMTIuNF8xCiBsaWJQ dGV4LnNvIHB0ZXgtMi4zLjJfMQogbGlib3BlbmJsYXMuc28uMCBvcGVuYmxhcy0wLjIuMTlfMQog bGlicnRhdWRpby5zby42IHJ0YXVkaW8tNS4xLjBfMQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9wb2Nv L3RlbXBsYXRlIGIvc3JjcGtncy9wb2NvL3RlbXBsYXRlCmluZGV4IDAwODUzNmI2NzEyMS4uNmNh NzE0YjllOTRmIDEwMDY0NAotLS0gYS9zcmNwa2dzL3BvY28vdGVtcGxhdGUKKysrIGIvc3JjcGtn cy9wb2NvL3RlbXBsYXRlCkBAIC0xLDE2ICsxLDE3IEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICdw b2NvJwogcGtnbmFtZT1wb2NvCi12ZXJzaW9uPTEuOS40Ci1yZXZpc2lvbj0zCit2ZXJzaW9uPTEu MTIuNAorcmV2aXNpb249MQogYnVpbGRfc3R5bGU9Y21ha2UKIGNvbmZpZ3VyZV9hcmdzPSItRFBP Q09fVU5CVU5ETEVEPU9OIgotbWFrZWRlcGVuZHM9Im9wZW5zc2wtZGV2ZWwgemxpYi1kZXZlbCBw Y3JlLWRldmVsIGV4cGF0LWRldmVsIHNxbGl0ZS1kZXZlbCIKK21ha2VkZXBlbmRzPSJvcGVuc3Ns LWRldmVsIHpsaWItZGV2ZWwgcGNyZTItZGV2ZWwgZXhwYXQtZGV2ZWwgc3FsaXRlLWRldmVsIgog c2hvcnRfZGVzYz0iQysrIGNsYXNzIGxpYnJhcmllcyBmb3IgYnVpbGRpbmcgbmV0d29yay1iYXNl ZCBhcHBsaWNhdGlvbnMiCi1tYWludGFpbmVyPSJKdWxpZW4gRGVob3MgPGRlaG9zQHVuaXYtbGl0 dG9yYWwuZnI+IgorbWFpbnRhaW5lcj0iT3JwaGFuZWQgPG9ycGhhbkB2b2lkbGludXgub3JnPiIK IGxpY2Vuc2U9IkJTTC0xLjAiCiBob21lcGFnZT0iaHR0cHM6Ly9wb2NvcHJvamVjdC5vcmciCiBk aXN0ZmlsZXM9Imh0dHBzOi8vcG9jb3Byb2plY3Qub3JnL3JlbGVhc2VzLyR7cGtnbmFtZX0tJHt2 ZXJzaW9ufS8ke3BrZ25hbWV9LSR7dmVyc2lvbn0tYWxsLnRhci5neiIKLWNoZWNrc3VtPWViMzRm MjU3YjExMjQwYTcxMWVlNTA1ZjFkODBjNzU0YTgwYTk5MGFlYjQ4ZDhkOTM0MDc4ODRkZjI4OGZk NzcKK2NoZWNrc3VtPTRjMzU4NGRhYTViMGU5NzNmMjY4NjU0ZGJlYjExNzFlYzc2MjFlMzU4YjJi NjQzNjNjZDFhYmQ1NThhNjg3NzcKK2NvbmZsaWN0cz0iYXJjaGl2ZXIiCiAKIHBvc3RfaW5zdGFs bCgpIHsKIAl2bGljZW5zZSBMSUNFTlNFCgpGcm9tIGRiOGNlYTgzZGQ3OGQwY2JjYmQ2MTM4MGI0 MTkxMjEzMWY4NmEzYzIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IGRrd28gPG5pY29s b3BpYXp6YWx1bmdhQGdtYWlsLmNvbT4KRGF0ZTogRnJpLCAyNyBKYW4gMjAyMyAxMDo0NTo0MyAt MDUwMApTdWJqZWN0OiBbUEFUQ0ggMi8zXSByZW13aGFyZWFkOiBidW1wIGZvciBwb2NvCgotLS0K IHNyY3BrZ3MvcmVtd2hhcmVhZC90ZW1wbGF0ZSB8IDQgKystLQogMSBmaWxlIGNoYW5nZWQsIDIg aW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3JlbXdo YXJlYWQvdGVtcGxhdGUgYi9zcmNwa2dzL3JlbXdoYXJlYWQvdGVtcGxhdGUKaW5kZXggZTcyYWIw NjEzMWU0Li40YWY1NDhjNDY3NDMgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvcmVtd2hhcmVhZC90ZW1w bGF0ZQorKysgYi9zcmNwa2dzL3JlbXdoYXJlYWQvdGVtcGxhdGUKQEAgLTEsNyArMSw3IEBACiAj IFRlbXBsYXRlIGZpbGUgZm9yICdyZW13aGFyZWFkJwogcGtnbmFtZT1yZW13aGFyZWFkCiB2ZXJz aW9uPTAuMTAuMAotcmV2aXNpb249NAorcmV2aXNpb249NQogYnVpbGRfc3R5bGU9Y21ha2UKIGhv c3RtYWtlZGVwZW5kcz0icG9jby1kZXZlbCBhc2NpaWRvYyBwa2ctY29uZmlnIgogbWFrZWRlcGVu ZHM9InBvY28tZGV2ZWwgYm9vc3QtZGV2ZWwiCkBAIC05LDcgKzksNyBAQCBzaG9ydF9kZXNjPSJT YXZlcyBVUklzIG9mIHRoaW5ncyB5b3Ugd2FudCB0byByZW1lbWJlciBpbiBhIGRhdGFiYXNlIgog bWFpbnRhaW5lcj0idGVsZHJhIDx0ZWxkcmFAcm90Y2UuZGU+IgogbGljZW5zZT0iR1BMLTMuMC1v bmx5IgogaG9tZXBhZ2U9Imh0dHBzOi8vc2NobG9tcC5zcGFjZS90YXN0eXRlYS9yZW13aGFyZWFk IgotZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vdGFzdHl0ZWEvcmVtd2hhcmVhZC9hcmNo aXZlLyR7dmVyc2lvbn0udGFyLmd6IgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vdGFz dHl0ZWEvcmVtd2hhcmVhZC9hcmNoaXZlL3JlZnMvdGFncy8ke3ZlcnNpb259LnRhci5neiIKIGNo ZWNrc3VtPTg3ZjE0YTYxMWUzYWU5ZjliYWJlMmRmZjhlNGE2YzRmNTQ5NWZhMjg4MzM5M2VkYjM2 ZTc5NmFmM2YxOWZiMzAKIAogcmVtd2hhcmVhZC1maXJlZm94LXBsdWdpbl9wYWNrYWdlKCkgewoK RnJvbSBjY2FkZGU5YzUxY2E3ZjBiMmE2N2U1YzcyMjVmZDIxZjFkMWQ1NGIwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBka3dvIDxuaWNvbG9waWF6emFsdW5nYUBnbWFpbC5jb20+CkRh dGU6IE1vbiwgMzAgSmFuIDIwMjMgMTA6NDU6MDQgLTA1MDAKU3ViamVjdDogW1BBVENIIDMvM10g bXVtYmxlOiBidW1wIGZvciBwb2NvLCBwYXRjaCBmb3Igb3BlbnNzbDMKCi0tLQogc3JjcGtncy9t dW1ibGUvcGF0Y2hlcy9vcGVuc3NsMy5wYXRjaCB8IDY4NSArKysrKysrKysrKysrKysrKysrKysr KysrKwogc3JjcGtncy9tdW1ibGUvdGVtcGxhdGUgICAgICAgICAgICAgICB8ICAgMiArLQogMiBm aWxlcyBjaGFuZ2VkLCA2ODYgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyY3BrZ3MvbXVtYmxlL3BhdGNoZXMvb3BlbnNzbDMucGF0Y2gKCmRpZmYgLS1n aXQgYS9zcmNwa2dzL211bWJsZS9wYXRjaGVzL29wZW5zc2wzLnBhdGNoIGIvc3JjcGtncy9tdW1i bGUvcGF0Y2hlcy9vcGVuc3NsMy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAwMDAuLjkwNmQxNzkwNDQ0YgotLS0gL2Rldi9udWxsCisrKyBiL3NyY3BrZ3MvbXVtYmxl L3BhdGNoZXMvb3BlbnNzbDMucGF0Y2gKQEAgLTAsMCArMSw2ODUgQEAKK0Zyb20gZjRjZWE2MmVk OTVlNDk2N2Q4NTkxZjI1ZTkwM2Y1ZThmYzJlMmEzMCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb206IFRlcnJ5IEdlbmcgPHRlcnJ5QHRlcnJpZXguY29tPgorRGF0ZTogTW9uLCA2IERlYyAy MDIxIDEwOjQ1OjExIC0wNTAwCitTdWJqZWN0OiBbUEFUQ0hdIEJVSUxEKGNyeXB0byk6IE1pZ3Jh dGUgdG8gT3BlblNTTCAzLjAtY29tcGF0aWJsZSBBUEkKKworT3BlblNTTCAzLjAgZGVwcmVjYXRl ZCBzZXZlcmFsIGxvdy1sZXZlbCBBUElzIGFuZCB0aGUgdXNhZ2Ugb2YgdGhlbQorY2F1c2VkIGVy cm9ycy93YXJuaW5ncyB0aGF0IHByZXZlbnQgdGhlIGJpbmFyeSBmcm9tIGJlaW5nIGJ1aWx0IGFn YWluc3QKK09wZW5TU0wgMy4wLgorU29tZSBwcmltaXRpdmUgZWZmb3J0cyBoYXZlIGJlZW4gbWFk ZSBpbiAjNTMxNyBidXQgd2VyZSBpbmNvbXBsZXRlLgorVGhpcyBjb21taXQgZm9sbG93cyBodHRw czovL3d3dy5vcGVuc3NsLm9yZy9kb2NzL21hbjMuMC9tYW43L21pZ3JhdGlvbl9ndWlkZS5odG1s LAoraHR0cHM6Ly9jb2RlLndvYm9xLm9yZy9xdDYvcXRvcGN1YS9zcmMvb3BjdWEveDUwOS9xb3Bj dWFrZXlwYWlyX29wZW5zc2wuY3BwLmh0bWwsCithbmQgY2xlYXJzIGFsbCBlcnJvcnMvd2Fybmlu Z3MgcmVsYXRlZCB0byB0aGUgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBBUElzLgorCitGaXhlcyAjNTI3 NworRml4ZXMgIzQyNjYKKy0tLQorIHNyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUuY3BwIHwgMjM1 ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyBzcmMvU2VsZlNpZ25lZENlcnRp ZmljYXRlLmggICB8ICAgNSArCisgc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5jcHAgfCAgNTMg KysrKystLS0KKyBzcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmggICB8ICAgOSArLQorIDQgZmls ZXMgY2hhbmdlZCwgMTIxIGluc2VydGlvbnMoKyksIDE4MSBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3NyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUuY3BwIGIvc3JjL1NlbGZTaWduZWRDZXJ0 aWZpY2F0ZS5jcHAKK2luZGV4IGE3N2U1ZmFkOTEuLmVhMGRlYzRjYzcgMTAwNjQ0CistLS0gYS9z cmMvU2VsZlNpZ25lZENlcnRpZmljYXRlLmNwcAorKysrIGIvc3JjL1NlbGZTaWduZWRDZXJ0aWZp Y2F0ZS5jcHAKK0BAIC01LDggKzUsNiBAQAorIAorICNpbmNsdWRlICJTZWxmU2lnbmVkQ2VydGlm aWNhdGUuaCIKKyAKKy0jaW5jbHVkZSA8b3BlbnNzbC94NTA5djMuaD4KKy0KKyAjZGVmaW5lIFNT TF9TVFJJTkcoeCkgUVN0cmluZzo6ZnJvbUxhdGluMSh4KS50b1V0ZjgoKS5kYXRhKCkKKyAKKyBz dGF0aWMgaW50IGFkZF9leHQoWDUwOSAqY3J0LCBpbnQgbmlkLCBjaGFyICp2YWx1ZSkgeworQEAg LTI4LDEwOCArMjYsODYgQEAgc3RhdGljIGludCBhZGRfZXh0KFg1MDkgKmNydCwgaW50IG5pZCwg Y2hhciAqdmFsdWUpIHsKKyAJcmV0dXJuIDE7CisgfQorIAorLWJvb2wgU2VsZlNpZ25lZENlcnRp ZmljYXRlOjpnZW5lcmF0ZShDZXJ0aWZpY2F0ZVR5cGUgY2VydGlmaWNhdGVUeXBlLCBRU3RyaW5n IGNsaWVudENlcnROYW1lLCBRU3RyaW5nIGNsaWVudENlcnRFbWFpbCwKKy0JCQkJCQkJCQkgUVNz bENlcnRpZmljYXRlICZxc2NDZXJ0LCBRU3NsS2V5ICZxc2tLZXkpIHsKKy0JYm9vbCBvayAgICAg ICAgICAgICAgICAgICAgPSB0cnVlOworLQlYNTA5ICp4NTA5ICAgICAgICAgICAgICAgICA9IG51 bGxwdHI7CistCUVWUF9QS0VZICpwa2V5ICAgICAgICAgICAgID0gbnVsbHB0cjsKKy0JUlNBICpy c2EgICAgICAgICAgICAgICAgICAgPSBudWxscHRyOworLQlCSUdOVU0gKmUgICAgICAgICAgICAg ICAgICA9IG51bGxwdHI7CistCVg1MDlfTkFNRSAqbmFtZSAgICAgICAgICAgID0gbnVsbHB0cjsK Ky0JQVNOMV9JTlRFR0VSICpzZXJpYWxOdW1iZXIgPSBudWxscHRyOworLQlBU04xX1RJTUUgKm5v dEJlZm9yZSAgICAgICA9IG51bGxwdHI7CistCUFTTjFfVElNRSAqbm90QWZ0ZXIgICAgICAgID0g bnVsbHB0cjsKKy0JUVN0cmluZyBjb21tb25OYW1lOworLQlib29sIGlzU2VydmVyQ2VydCA9IGNl cnRpZmljYXRlVHlwZSA9PSBDZXJ0aWZpY2F0ZVR5cGVTZXJ2ZXJDZXJ0aWZpY2F0ZTsKKy0KKy0J aWYgKENSWVBUT19tZW1fY3RybChDUllQVE9fTUVNX0NIRUNLX09OKSA9PSAtMSkgeworLQkJb2sg PSBmYWxzZTsKKy0JCWdvdG8gb3V0OworK0VWUF9QS0VZICpTZWxmU2lnbmVkQ2VydGlmaWNhdGU6 OmdlbmVyYXRlX3JzYV9rZXlwYWlyKCkgeworKwlFVlBfUEtFWSAqcGtleSA9IEVWUF9QS0VZX25l dygpOworKwlpZiAoIXBrZXkpIHsKKysJCXJldHVybiBudWxscHRyOworIAl9CisgCistCXg1MDkg PSBYNTA5X25ldygpOworLQlpZiAoIXg1MDkpIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91 dDsKKysjaWYgT1BFTlNTTF9WRVJTSU9OX05VTUJFUiA+PSAweDEwMTAwMDAwTAorKwlFVlBfUEtF WV9DVFggKmN0eCA9IEVWUF9QS0VZX0NUWF9uZXdfaWQoRVZQX1BLRVlfUlNBLCBudWxscHRyKTsK KysJaWYgKCFjdHgpIHsKKysJCXJldHVybiBudWxscHRyOworIAl9CistCistCXBrZXkgPSBFVlBf UEtFWV9uZXcoKTsKKy0JaWYgKCFwa2V5KSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7 CisrCWlmIChFVlBfUEtFWV9rZXlnZW5faW5pdChjdHgpIDw9IDApIHsKKysJCXJldHVybiBudWxs cHRyOworIAl9CistCistCXJzYSA9IFJTQV9uZXcoKTsKKysJaWYgKEVWUF9QS0VZX0NUWF9zZXRf cnNhX2tleWdlbl9iaXRzKGN0eCwgMjA0OCkgPD0gMCkgeworKwkJcmV0dXJuIG51bGxwdHI7Cisr CX0KKysJaWYgKEVWUF9QS0VZX2tleWdlbihjdHgsICZwa2V5KSA8PSAwKSB7CisrCQlyZXR1cm4g bnVsbHB0cjsKKysJfQorKwlFVlBfUEtFWV9DVFhfZnJlZShjdHgpOworKyNlbHNlCisrCVJTQSAq cnNhICA9IFJTQV9uZXcoKTsKKysJQklHTlVNICplID0gQk5fbmV3KCk7CisgCWlmICghcnNhKSB7 CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CisrCQlyZXR1cm4gbnVsbHB0cjsKKyAJfQor LQorLQllID0gQk5fbmV3KCk7CisgCWlmICghZSkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8g b3V0OworKwkJcmV0dXJuIG51bGxwdHI7CisgCX0KKyAJaWYgKEJOX3NldF93b3JkKGUsIDY1NTM3 KSA9PSAwKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CisrCQlyZXR1cm4gbnVsbHB0 cjsKKyAJfQorLQorIAlpZiAoUlNBX2dlbmVyYXRlX2tleV9leChyc2EsIDIwNDgsIGUsIG51bGxw dHIpID09IDApIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91dDsKKysJCXJldHVybiBudWxs cHRyOworIAl9CistCisgCWlmIChFVlBfUEtFWV9hc3NpZ25fUlNBKHBrZXksIHJzYSkgPT0gMCkg eworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworKwkJcmV0dXJuIG51bGxwdHI7CisgCX0K KysJQk5fZnJlZShlKTsKKysJUlNBX2ZyZWUocnNhKTsKKysjZW5kaWYKKysJcmV0dXJuIHBrZXk7 CisrfQorIAorLQlpZiAoWDUwOV9zZXRfdmVyc2lvbih4NTA5LCAyKSA9PSAwKSB7CistCQlvayA9 IGZhbHNlOworLQkJZ290byBvdXQ7CisrI2RlZmluZSBDSEVDSyhzdGF0ZW1lbnQpIFwKKysJaWYg KCEoc3RhdGVtZW50KSkgeyAgXAorKwkJb2sgPSBmYWxzZTsgICAgICBcCisrCQlnb3RvIG91dDsg ICAgICAgIFwKKyAJfQorIAorLQlzZXJpYWxOdW1iZXIgPSBYNTA5X2dldF9zZXJpYWxOdW1iZXIo eDUwOSk7CistCWlmICghc2VyaWFsTnVtYmVyKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290byBv dXQ7CistCX0KKy0JaWYgKEFTTjFfSU5URUdFUl9zZXQoc2VyaWFsTnVtYmVyLCAxKSA9PSAwKSB7 CistCQlvayA9IGZhbHNlOworLQkJZ290byBvdXQ7CistCX0KKyAKKy0Jbm90QmVmb3JlID0gWDUw OV9nZXRfbm90QmVmb3JlKHg1MDkpOworLQlpZiAoIW5vdEJlZm9yZSkgeworLQkJb2sgPSBmYWxz ZTsKKy0JCWdvdG8gb3V0OworLQl9CistCWlmICghWDUwOV9nbXRpbWVfYWRqKG5vdEJlZm9yZSwg MCkpIHsKKy0JCW9rID0gZmFsc2U7CistCQlnb3RvIG91dDsKKy0JfQorK2Jvb2wgU2VsZlNpZ25l ZENlcnRpZmljYXRlOjpnZW5lcmF0ZShDZXJ0aWZpY2F0ZVR5cGUgY2VydGlmaWNhdGVUeXBlLCBR U3RyaW5nIGNsaWVudENlcnROYW1lLCBRU3RyaW5nIGNsaWVudENlcnRFbWFpbCwKKysJCQkJCQkJ CQkgUVNzbENlcnRpZmljYXRlICZxc2NDZXJ0LCBRU3NsS2V5ICZxc2tLZXkpIHsKKysJYm9vbCBv ayAgICAgICAgICAgICAgICAgICAgPSB0cnVlOworKwlFVlBfUEtFWSAqcGtleSAgICAgICAgICAg ICA9IG51bGxwdHI7CisrCVg1MDkgKng1MDkgICAgICAgICAgICAgICAgID0gbnVsbHB0cjsKKysJ WDUwOV9OQU1FICpuYW1lICAgICAgICAgICAgPSBudWxscHRyOworKwlBU04xX0lOVEVHRVIgKnNl cmlhbE51bWJlciA9IG51bGxwdHI7CisrCUFTTjFfVElNRSAqbm90QmVmb3JlICAgICAgID0gbnVs bHB0cjsKKysJQVNOMV9USU1FICpub3RBZnRlciAgICAgICAgPSBudWxscHRyOworKwlRU3RyaW5n IGNvbW1vbk5hbWU7CisrCWJvb2wgaXNTZXJ2ZXJDZXJ0ID0gY2VydGlmaWNhdGVUeXBlID09IENl cnRpZmljYXRlVHlwZVNlcnZlckNlcnRpZmljYXRlOworIAorLQlub3RBZnRlciA9IFg1MDlfZ2V0 X25vdEFmdGVyKHg1MDkpOworLQlpZiAoIW5vdEFmdGVyKSB7CistCQlvayA9IGZhbHNlOworLQkJ Z290byBvdXQ7CistCX0KKy0JaWYgKCFYNTA5X2dtdGltZV9hZGoobm90QWZ0ZXIsIDYwICogNjAg KiAyNCAqIDM2NSAqIDIwKSkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworLQl9Cisr CS8vIEluIFF0IDUuMTUsIGEgY2xhc3Mgd2FzIGFkZGVkIHRvIHdyYXAgdXAgdGhlIHByb2NlZHVy ZXMgb2YgZ2VuZXJhdGluZyBhIHNlbGYtc2lnbmVkIGNlcnRpZmljYXRlLgorKwkvLyBTZWUgaHR0 cHM6Ly9kb2MucXQuaW8vcXQtNS9xb3BjdWF4NTA5Y2VydGlmaWNhdGVzaWduaW5ncmVxdWVzdC5o dG1sLgorKwkvLyBXZSBzaG91bGQgY29uc2lkZXIgbWlncmF0aW5nIHRvIHRoaXMgY2xhc3MgYWZ0 ZXIgc3dpdGNoaW5nIHRvIFF0IDUuMTUuCisgCistCWlmIChYNTA5X3NldF9wdWJrZXkoeDUwOSwg cGtleSkgPT0gMCkgeworLQkJb2sgPSBmYWxzZTsKKy0JCWdvdG8gb3V0OworLQl9CisrCUNIRUNL KHBrZXkgPSBnZW5lcmF0ZV9yc2Ffa2V5cGFpcigpKTsKKyAKKy0JbmFtZSA9IFg1MDlfZ2V0X3N1 YmplY3RfbmFtZSh4NTA5KTsKKy0JaWYgKCFuYW1lKSB7CistCQlvayA9IGZhbHNlOworLQkJZ290 byBvdXQ7CistCX0KKysJQ0hFQ0soeDUwOSA9IFg1MDlfbmV3KCkpOworKwlDSEVDSyhYNTA5X3Nl dF92ZXJzaW9uKHg1MDksIDIpKTsKKysJQ0hFQ0soc2VyaWFsTnVtYmVyID0gWDUwOV9nZXRfc2Vy aWFsTnVtYmVyKHg1MDkpKTsKKysJQ0hFQ0soQVNOMV9JTlRFR0VSX3NldChzZXJpYWxOdW1iZXIs IDEpKTsKKysJQ0hFQ0sobm90QmVmb3JlID0gWDUwOV9nZXRfbm90QmVmb3JlKHg1MDkpKTsKKysJ Q0hFQ0soWDUwOV9nbXRpbWVfYWRqKG5vdEJlZm9yZSwgMCkpOworKwlDSEVDSyhub3RBZnRlciA9 IFg1MDlfZ2V0X25vdEFmdGVyKHg1MDkpKTsKKysJQ0hFQ0soWDUwOV9nbXRpbWVfYWRqKG5vdEFm dGVyLCA2MCAqIDYwICogMjQgKiAzNjUgKiAyMCkpCisrCUNIRUNLKFg1MDlfc2V0X3B1YmtleSh4 NTA5LCBwa2V5KSk7CisrCUNIRUNLKG5hbWUgPSBYNTA5X2dldF9zdWJqZWN0X25hbWUoeDUwOSkp OworIAorIAlpZiAoaXNTZXJ2ZXJDZXJ0KSB7CisgCQljb21tb25OYW1lID0gUUxhdGluMVN0cmlu ZygiTXVybXVyIEF1dG9nZW5lcmF0ZWQgQ2VydGlmaWNhdGUgdjIiKTsKK0BAIC0xNDEsMTIwICsx MTcsNjMgQEAgYm9vbCBTZWxmU2lnbmVkQ2VydGlmaWNhdGU6OmdlbmVyYXRlKENlcnRpZmljYXRl VHlwZSBjZXJ0aWZpY2F0ZVR5cGUsIFFTdHJpbmcgY2wKKyAJCX0KKyAJfQorIAorLQlpZiAoWDUw OV9OQU1FX2FkZF9lbnRyeV9ieV90eHQobmFtZSwgIkNOIiwgTUJTVFJJTkdfVVRGOCwKKy0JCQkJ CQkJCSAgIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGNvbW1vbk5hbWUudG9V dGY4KCkuZGF0YSgpKSwgLTEsIC0xLCAwKQorLQkJPT0gMCkgeworLQkJb2sgPSBmYWxzZTsKKy0J CWdvdG8gb3V0OworLQl9CisrCUNIRUNLKFg1MDlfTkFNRV9hZGRfZW50cnlfYnlfdHh0KG5hbWUs ICJDTiIsIE1CU1RSSU5HX1VURjgsCisrCQkJCQkJCQkJIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2ln bmVkIGNoYXIgKiA+KGNvbW1vbk5hbWUudG9VdGY4KCkuZGF0YSgpKSwgLTEsIC0xLCAwKSk7Cisg CistCWlmIChYNTA5X3NldF9pc3N1ZXJfbmFtZSh4NTA5LCBuYW1lKSA9PSAwKSB7CistCQlvayA9 IGZhbHNlOworLQkJZ290byBvdXQ7CistCX0KKysJQ0hFQ0soWDUwOV9zZXRfaXNzdWVyX25hbWUo eDUwOSwgbmFtZSkpOworIAorLQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfYmFzaWNfY29uc3RyYWlu dHMsIFNTTF9TVFJJTkcoImNyaXRpY2FsLENBOkZBTFNFIikpID09IDApIHsKKy0JCW9rID0gZmFs c2U7CistCQlnb3RvIG91dDsKKy0JfQorKwlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9iYXNpY19j b25zdHJhaW50cywgU1NMX1NUUklORygiY3JpdGljYWwsQ0E6RkFMU0UiKSkpOworIAorIAlpZiAo aXNTZXJ2ZXJDZXJ0KSB7CistCQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfZXh0X2tleV91c2FnZSwg U1NMX1NUUklORygic2VydmVyQXV0aCxjbGllbnRBdXRoIikpID09IDApIHsKKy0JCQlvayA9IGZh bHNlOworLQkJCWdvdG8gb3V0OworLQkJfQorKwkJQ0hFQ0soYWRkX2V4dCh4NTA5LCBOSURfZXh0 X2tleV91c2FnZSwgU1NMX1NUUklORygic2VydmVyQXV0aCxjbGllbnRBdXRoIikpKQorIAl9IGVs c2UgeworLQkJaWYgKGFkZF9leHQoeDUwOSwgTklEX2V4dF9rZXlfdXNhZ2UsIFNTTF9TVFJJTkco ImNsaWVudEF1dGgiKSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7Cist CQl9CisrCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9leHRfa2V5X3VzYWdlLCBTU0xfU1RSSU5H KCJjbGllbnRBdXRoIikpKTsKKyAJfQorIAorLQlpZiAoYWRkX2V4dCh4NTA5LCBOSURfc3ViamVj dF9rZXlfaWRlbnRpZmllciwgU1NMX1NUUklORygiaGFzaCIpKSA9PSAwKSB7CistCQlvayA9IGZh bHNlOworLQkJZ290byBvdXQ7CistCX0KKysJQ0hFQ0soYWRkX2V4dCh4NTA5LCBOSURfc3ViamVj dF9rZXlfaWRlbnRpZmllciwgU1NMX1NUUklORygiaGFzaCIpKSk7CisgCisgCWlmIChpc1NlcnZl ckNlcnQpIHsKKy0JCWlmIChhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2FwZV9jb21tZW50LCBTU0xf U1RSSU5HKCJHZW5lcmF0ZWQgZnJvbSBtdXJtdXIiKSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7 CistCQkJZ290byBvdXQ7CistCQl9CisrCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2Fw ZV9jb21tZW50LCBTU0xfU1RSSU5HKCJHZW5lcmF0ZWQgZnJvbSBtdXJtdXIiKSkpOworIAl9IGVs c2UgeworLQkJaWYgKGFkZF9leHQoeDUwOSwgTklEX25ldHNjYXBlX2NvbW1lbnQsIFNTTF9TVFJJ TkcoIkdlbmVyYXRlZCBieSBNdW1ibGUiKSkgPT0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJ Z290byBvdXQ7CistCQl9CisrCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9uZXRzY2FwZV9jb21t ZW50LCBTU0xfU1RSSU5HKCJHZW5lcmF0ZWQgYnkgTXVtYmxlIikpKTsKKyAJfQorIAorIAlpZiAo IWlzU2VydmVyQ2VydCkgeworIAkJaWYgKCFjbGllbnRDZXJ0RW1haWwudHJpbW1lZCgpLmlzRW1w dHkoKSkgeworLQkJCWlmIChhZGRfZXh0KHg1MDksIE5JRF9zdWJqZWN0X2FsdF9uYW1lLAorLQkJ CQkJCVFTdHJpbmc6OmZyb21MYXRpbjEoImVtYWlsOiUxIikuYXJnKGNsaWVudENlcnRFbWFpbCku dG9VdGY4KCkuZGF0YSgpKQorLQkJCQk9PSAwKSB7CistCQkJCW9rID0gZmFsc2U7CistCQkJCWdv dG8gb3V0OworLQkJCX0KKysJCQlDSEVDSyhhZGRfZXh0KHg1MDksIE5JRF9zdWJqZWN0X2FsdF9u YW1lLAorKwkJCQkJCSAgUVN0cmluZzo6ZnJvbUxhdGluMSgiZW1haWw6JTEiKS5hcmcoY2xpZW50 Q2VydEVtYWlsKS50b1V0ZjgoKS5kYXRhKCkpKTsKKyAJCX0KKyAJfQorIAorLQlpZiAoWDUwOV9z aWduKHg1MDksIHBrZXksIEVWUF9zaGExKCkpID09IDApIHsKKy0JCW9rID0gZmFsc2U7CistCQln b3RvIG91dDsKKy0JfQorKwlDSEVDSyhYNTA5X3NpZ24oeDUwOSwgcGtleSwgRVZQX3NoYTEoKSkp OworIAorIAl7CisgCQlRQnl0ZUFycmF5IGNydDsKKyAJCWludCBsZW4gPSBpMmRfWDUwOSh4NTA5 LCBudWxscHRyKTsKKy0JCWlmIChsZW4gPD0gMCkgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290 byBvdXQ7CistCQl9CisrCQlDSEVDSyhsZW4gPiAwKTsKKyAJCWNydC5yZXNpemUobGVuKTsKKyAK KyAJCXVuc2lnbmVkIGNoYXIgKmRwdHIgPSByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBjaGFy ICogPihjcnQuZGF0YSgpKTsKKy0JCWlmIChpMmRfWDUwOSh4NTA5LCAmZHB0cikgIT0gbGVuKSB7 CistCQkJb2sgPSBmYWxzZTsKKy0JCQlnb3RvIG91dDsKKy0JCX0KKysJCUNIRUNLKGkyZF9YNTA5 KHg1MDksICZkcHRyKSA9PSBsZW4pOworIAorIAkJcXNjQ2VydCA9IFFTc2xDZXJ0aWZpY2F0ZShj cnQsIFFTc2w6OkRlcik7CistCQlpZiAocXNjQ2VydC5pc051bGwoKSkgeworLQkJCW9rID0gZmFs c2U7CistCQkJZ290byBvdXQ7CistCQl9CisrCQlDSEVDSyghcXNjQ2VydC5pc051bGwoKSk7Cisg CX0KKyAKKyAJeworIAkJUUJ5dGVBcnJheSBrZXk7CisgCQlpbnQgbGVuID0gaTJkX1ByaXZhdGVL ZXkocGtleSwgbnVsbHB0cik7CistCQlpZiAobGVuIDw9IDApIHsKKy0JCQlvayA9IGZhbHNlOwor LQkJCWdvdG8gb3V0OworLQkJfQorKwkJQ0hFQ0sobGVuID4gMCk7CisgCQlrZXkucmVzaXplKGxl bik7CisgCisgCQl1bnNpZ25lZCBjaGFyICpkcHRyID0gcmVpbnRlcnByZXRfY2FzdDwgdW5zaWdu ZWQgY2hhciAqID4oa2V5LmRhdGEoKSk7CistCQlpZiAoaTJkX1ByaXZhdGVLZXkocGtleSwgJmRw dHIpICE9IGxlbikgeworLQkJCW9rID0gZmFsc2U7CistCQkJZ290byBvdXQ7CistCQl9CisrCQlD SEVDSyhpMmRfUHJpdmF0ZUtleShwa2V5LCAmZHB0cikgPT0gbGVuKTsKKyAKKyAJCXFza0tleSA9 IFFTc2xLZXkoa2V5LCBRU3NsOjpSc2EsIFFTc2w6OkRlcik7CistCQlpZiAocXNrS2V5LmlzTnVs bCgpKSB7CistCQkJb2sgPSBmYWxzZTsKKy0JCQlnb3RvIG91dDsKKy0JCX0KKysJCUNIRUNLKCFx c2tLZXkuaXNOdWxsKCkpOworIAl9CisgCisgb3V0OgorLQlpZiAoZSkgeworLQkJQk5fZnJlZShl KTsKKy0JfQorLQkvLyBXZSBvbmx5IG5lZWQgdG8gZnJlZSB0aGUgcGtleSBwb2ludGVyLAorLQkv LyBub3QgdGhlIFJTQSBwb2ludGVyLiBXZSBoYXZlIGFzc2lnbmVkCistCS8vIG91ciBSU0Ega2V5 IHRvIHBrZXksIGFuZCBpdCB3aWxsIGJlIGZyZWVkCistCS8vIG9uY2Ugd2UgZnJlZSBwa2V5Lgor IAlpZiAocGtleSkgeworIAkJRVZQX1BLRVlfZnJlZShwa2V5KTsKKyAJfQorZGlmZiAtLWdpdCBh L3NyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUuaCBiL3NyYy9TZWxmU2lnbmVkQ2VydGlmaWNhdGUu aAoraW5kZXggYjg1YTg3NTJiOC4uN2M1ZjU5ZTljNSAxMDA2NDQKKy0tLSBhL3NyYy9TZWxmU2ln bmVkQ2VydGlmaWNhdGUuaAorKysrIGIvc3JjL1NlbGZTaWduZWRDZXJ0aWZpY2F0ZS5oCitAQCAt Niw2ICs2LDEwIEBACisgI2lmbmRlZiBNVU1CTEVfU0VMRlNJR05FRENFUlRJRklDQVRFX0hfCisg I2RlZmluZSBNVU1CTEVfU0VMRlNJR05FRENFUlRJRklDQVRFX0hfCisgCisrI2luY2x1ZGUgPG9w ZW5zc2wvZXZwLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvcnNhLmg+CisrI2luY2x1ZGUgPG9wZW5z c2wveDUwOXYzLmg+CisrCisgI2luY2x1ZGUgPFF0Q29yZS9RU3RyaW5nPgorICNpbmNsdWRlIDxR dE5ldHdvcmsvUVNzbENlcnRpZmljYXRlPgorICNpbmNsdWRlIDxRdE5ldHdvcmsvUVNzbEtleT4K K0BAIC0xNiw2ICsyMCw3IEBAIGNsYXNzIFNlbGZTaWduZWRDZXJ0aWZpY2F0ZSB7CisgcHJpdmF0 ZToKKyAJc3RhdGljIGJvb2wgZ2VuZXJhdGUoQ2VydGlmaWNhdGVUeXBlIGNlcnRpZmljYXRlVHlw ZSwgUVN0cmluZyBjbGllbnRDZXJ0TmFtZSwgUVN0cmluZyBjbGllbnRDZXJ0RW1haWwsCisgCQkJ CQkJIFFTc2xDZXJ0aWZpY2F0ZSAmcXNjQ2VydCwgUVNzbEtleSAmcXNrS2V5KTsKKysJc3RhdGlj IEVWUF9QS0VZICpnZW5lcmF0ZV9yc2Ffa2V5cGFpcigpOworIAorIHB1YmxpYzoKKyAJc3RhdGlj IGJvb2wgZ2VuZXJhdGVNdW1ibGVDZXJ0aWZpY2F0ZShRU3RyaW5nIG5hbWUsIFFTdHJpbmcgZW1h aWwsIFFTc2xDZXJ0aWZpY2F0ZSAmcXNjQ2VydCwgUVNzbEtleSAmcXNrS2V5KTsKK2RpZmYgLS1n aXQgYS9zcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcCBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0 ZU9DQjIuY3BwCitpbmRleCAyMTc2ZDY0ODgzLi42NDBmZGVkYWM4IDEwMDY0NAorLS0tIGEvc3Jj L2NyeXB0by9DcnlwdFN0YXRlT0NCMi5jcHAKKysrKyBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9D QjIuY3BwCitAQCAtMzAsNyArMzAsNyBAQAorICNpbmNsdWRlIDxjc3RyaW5nPgorICNpbmNsdWRl IDxvcGVuc3NsL3JhbmQuaD4KKyAKKy1DcnlwdFN0YXRlT0NCMjo6Q3J5cHRTdGF0ZU9DQjIoKSA6 IENyeXB0U3RhdGUoKSB7CisrQ3J5cHRTdGF0ZU9DQjI6OkNyeXB0U3RhdGVPQ0IyKCkgOiBDcnlw dFN0YXRlKCksIGVuY19jdHgoRVZQX0NJUEhFUl9DVFhfbmV3KCkpLCBkZWNfY3R4KEVWUF9DSVBI RVJfQ1RYX25ldygpKSB7CisgCWZvciAoaW50IGkgPSAwOyBpIDwgMHgxMDA7IGkrKykKKyAJCWRl Y3J5cHRfaGlzdG9yeVtpXSA9IDA7CisgCW1lbXNldChyYXdfa2V5LCAwLCBBRVNfS0VZX1NJWkVf QllURVMpOworQEAgLTM4LDYgKzM4LDExIEBAIENyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0YXRlT0NC MigpIDogQ3J5cHRTdGF0ZSgpIHsKKyAJbWVtc2V0KGRlY3J5cHRfaXYsIDAsIEFFU19CTE9DS19T SVpFKTsKKyB9CisgCisrQ3J5cHRTdGF0ZU9DQjI6On5DcnlwdFN0YXRlT0NCMigpIG5vZXhjZXB0 IHsKKysJRVZQX0NJUEhFUl9DVFhfZnJlZShlbmNfY3R4KTsKKysJRVZQX0NJUEhFUl9DVFhfZnJl ZShkZWNfY3R4KTsKKyt9CisrCisgYm9vbCBDcnlwdFN0YXRlT0NCMjo6aXNWYWxpZCgpIGNvbnN0 IHsKKyAJcmV0dXJuIGJJbml0OworIH0KK0BAIC00Niw4ICs1MSw2IEBAIHZvaWQgQ3J5cHRTdGF0 ZU9DQjI6OmdlbktleSgpIHsKKyAJQ3J5cHRvZ3JhcGhpY1JhbmRvbTo6ZmlsbEJ1ZmZlcihyYXdf a2V5LCBBRVNfS0VZX1NJWkVfQllURVMpOworIAlDcnlwdG9ncmFwaGljUmFuZG9tOjpmaWxsQnVm ZmVyKGVuY3J5cHRfaXYsIEFFU19CTE9DS19TSVpFKTsKKyAJQ3J5cHRvZ3JhcGhpY1JhbmRvbTo6 ZmlsbEJ1ZmZlcihkZWNyeXB0X2l2LCBBRVNfQkxPQ0tfU0laRSk7CistCUFFU19zZXRfZW5jcnlw dF9rZXkocmF3X2tleSwgQUVTX0tFWV9TSVpFX0JJVFMsICZlbmNyeXB0X2tleSk7CistCUFFU19z ZXRfZGVjcnlwdF9rZXkocmF3X2tleSwgQUVTX0tFWV9TSVpFX0JJVFMsICZkZWNyeXB0X2tleSk7 CisgCWJJbml0ID0gdHJ1ZTsKKyB9CisgCitAQCAtNTYsOCArNTksNiBAQCBib29sIENyeXB0U3Rh dGVPQ0IyOjpzZXRLZXkoY29uc3Qgc3RkOjpzdHJpbmcgJnJrZXksIGNvbnN0IHN0ZDo6c3RyaW5n ICZlaXYsIGNvbgorIAkJbWVtY3B5KHJhd19rZXksIHJrZXkuZGF0YSgpLCBBRVNfS0VZX1NJWkVf QllURVMpOworIAkJbWVtY3B5KGVuY3J5cHRfaXYsIGVpdi5kYXRhKCksIEFFU19CTE9DS19TSVpF KTsKKyAJCW1lbWNweShkZWNyeXB0X2l2LCBkaXYuZGF0YSgpLCBBRVNfQkxPQ0tfU0laRSk7Cist CQlBRVNfc2V0X2VuY3J5cHRfa2V5KHJhd19rZXksIEFFU19LRVlfU0laRV9CSVRTLCAmZW5jcnlw dF9rZXkpOworLQkJQUVTX3NldF9kZWNyeXB0X2tleShyYXdfa2V5LCBBRVNfS0VZX1NJWkVfQklU UywgJmRlY3J5cHRfa2V5KTsKKyAJCWJJbml0ID0gdHJ1ZTsKKyAJCXJldHVybiB0cnVlOworIAl9 CitAQCAtMjU2LDEwICsyNTcsMjQgQEAgc3RhdGljIHZvaWQgaW5saW5lIFpFUk8oa2V5YmxvY2sg JmJsb2NrKSB7CisgCQlibG9ja1tpXSA9IDA7CisgfQorIAorLSNkZWZpbmUgQUVTZW5jcnlwdChz cmMsIGRzdCwga2V5KSBcCistCUFFU19lbmNyeXB0KHJlaW50ZXJwcmV0X2Nhc3Q8IGNvbnN0IHVu c2lnbmVkIGNoYXIgKiA+KHNyYyksIHJlaW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+ KGRzdCksIGtleSk7CistI2RlZmluZSBBRVNkZWNyeXB0KHNyYywgZHN0LCBrZXkpIFwKKy0JQUVT X2RlY3J5cHQocmVpbnRlcnByZXRfY2FzdDwgY29uc3QgdW5zaWduZWQgY2hhciAqID4oc3JjKSwg cmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwga2V5KTsKKysjZGVmaW5l IEFFU2VuY3J5cHQoc3JjLCBkc3QsIGtleSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKKysJCWludCBvdXRsZW4gPSAwOyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKysJCUVWUF9FbmNyeXB0SW5pdF9leChlbmNfY3R4LCBFVlBfYWVzXzEyOF9lY2IoKSwgTlVM TCwga2V5LCBOVUxMKTsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9DSVBIRVJf Q1RYX3NldF9wYWRkaW5nKGVuY19jdHgsIDApOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9FbmNyeXB0VXBkYXRlKGVuY19jdHgsIHJl aW50ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCksICZvdXRsZW4sICAgICAgICAg ICAgIFwKKysJCQkJCQkgIHJlaW50ZXJwcmV0X2Nhc3Q8IGNvbnN0IHVuc2lnbmVkIGNoYXIgKiA+ KHNyYyksIEFFU19CTE9DS19TSVpFKTsgICAgICAgIFwKKysJCUVWUF9FbmNyeXB0RmluYWxfZXgo ZW5jX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0ICsgb3V0bGVu KSwgJm91dGxlbik7IFwKKysJfQorKyNkZWZpbmUgQUVTZGVjcnlwdChzcmMsIGRzdCwga2V5KSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAorKwl7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJaW50 IG91dGxlbiA9IDA7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0RlY3J5cHRJbml0X2V4KGRl Y19jdHgsIEVWUF9hZXNfMTI4X2VjYigpLCBOVUxMLCBrZXksIE5VTEwpOyAgICAgICAgICAgICAg ICAgICAgICAgICAgXAorKwkJRVZQX0NJUEhFUl9DVFhfc2V0X3BhZGRpbmcoZGVjX2N0eCwgMCk7 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJ RVZQX0RlY3J5cHRVcGRhdGUoZGVjX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hh ciAqID4oZHN0KSwgJm91dGxlbiwgICAgICAgICAgICAgXAorKwkJCQkJCSAgcmVpbnRlcnByZXRf Y2FzdDwgY29uc3QgdW5zaWduZWQgY2hhciAqID4oc3JjKSwgQUVTX0JMT0NLX1NJWkUpOyAgICAg ICAgXAorKwkJRVZQX0RlY3J5cHRGaW5hbF9leChkZWNfY3R4LCByZWludGVycHJldF9jYXN0PCB1 bnNpZ25lZCBjaGFyICogPihkc3QgKyBvdXRsZW4pLCAmb3V0bGVuKTsgXAorKwl9CisgCisgYm9v bCBDcnlwdFN0YXRlT0NCMjo6b2NiX2VuY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqcGxhaW4s IHVuc2lnbmVkIGNoYXIgKmVuY3J5cHRlZCwgdW5zaWduZWQgaW50IGxlbiwKKyAJCQkJCQkJCSBj b25zdCB1bnNpZ25lZCBjaGFyICpub25jZSwgdW5zaWduZWQgY2hhciAqdGFnLCBib29sIG1vZGlm eVBsYWluT25YRVhTdGFyQXR0YWNrKSB7CitAQCAtMjY3LDcgKzI4Miw3IEBAIGJvb2wgQ3J5cHRT dGF0ZU9DQjI6Om9jYl9lbmNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBsYWluLCB1bnNpZ25l ZCBjaGFyICplbmNyCisgCWJvb2wgc3VjY2VzcyA9IHRydWU7CisgCisgCS8vIEluaXRpYWxpemUK Ky0JQUVTZW5jcnlwdChub25jZSwgZGVsdGEsICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQo bm9uY2UsIGRlbHRhLCByYXdfa2V5KTsKKyAJWkVSTyhjaGVja3N1bSk7CisgCisgCXdoaWxlIChs ZW4gPiBBRVNfQkxPQ0tfU0laRSkgeworQEAgLTI5OSw3ICszMTQsNyBAQCBib29sIENyeXB0U3Rh dGVPQ0IyOjpvY2JfZW5jcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQg Y2hhciAqZW5jcgorIAkJaWYgKGZsaXBBQml0KSB7CisgCQkJKnJlaW50ZXJwcmV0X2Nhc3Q8IHVu c2lnbmVkIGNoYXIgKiA+KHRtcCkgXj0gMTsKKyAJCX0KKy0JCUFFU2VuY3J5cHQodG1wLCB0bXAs ICZlbmNyeXB0X2tleSk7CisrCQlBRVNlbmNyeXB0KHRtcCwgdG1wLCByYXdfa2V5KTsKKyAJCVhP UihyZWludGVycHJldF9jYXN0PCBzdWJibG9jayAqID4oZW5jcnlwdGVkKSwgZGVsdGEsIHRtcCk7 CisgCQlYT1IoY2hlY2tzdW0sIGNoZWNrc3VtLCByZWludGVycHJldF9jYXN0PCBjb25zdCBzdWJi bG9jayAqID4ocGxhaW4pKTsKKyAJCWlmIChmbGlwQUJpdCkgeworQEAgLTMxNSw3ICszMzAsNyBA QCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2JfZW5jcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICpw bGFpbiwgdW5zaWduZWQgY2hhciAqZW5jcgorIAlaRVJPKHRtcCk7CisgCXRtcFtCTE9DS1NJWkUg LSAxXSA9IFNXQVBQRUQobGVuICogOCk7CisgCVhPUih0bXAsIHRtcCwgZGVsdGEpOworLQlBRVNl bmNyeXB0KHRtcCwgcGFkLCAmZW5jcnlwdF9rZXkpOworKwlBRVNlbmNyeXB0KHRtcCwgcGFkLCBy YXdfa2V5KTsKKyAJbWVtY3B5KHRtcCwgcGxhaW4sIGxlbik7CisgCW1lbWNweShyZWludGVycHJl dF9jYXN0PCB1bnNpZ25lZCBjaGFyICogPih0bXApICsgbGVuLCByZWludGVycHJldF9jYXN0PCBj b25zdCB1bnNpZ25lZCBjaGFyICogPihwYWQpICsgbGVuLAorIAkJICAgQUVTX0JMT0NLX1NJWkUg LSBsZW4pOworQEAgLTMyNSw3ICszNDAsNyBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2JfZW5j cnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQgY2hhciAqZW5jcgorIAor IAlTMyhkZWx0YSk7CisgCVhPUih0bXAsIGRlbHRhLCBjaGVja3N1bSk7CistCUFFU2VuY3J5cHQo dG1wLCB0YWcsICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQodG1wLCB0YWcsIHJhd19rZXkp OworIAorIAlyZXR1cm4gc3VjY2VzczsKKyB9CitAQCAtMzM2LDEzICszNTEsMTMgQEAgYm9vbCBD cnlwdFN0YXRlT0NCMjo6b2NiX2RlY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAqZW5jcnlwdGVk LCB1bnNpZ25lZCBjaGFyICoKKyAJYm9vbCBzdWNjZXNzID0gdHJ1ZTsKKyAKKyAJLy8gSW5pdGlh bGl6ZQorLQlBRVNlbmNyeXB0KG5vbmNlLCBkZWx0YSwgJmVuY3J5cHRfa2V5KTsKKysJQUVTZW5j cnlwdChub25jZSwgZGVsdGEsIHJhd19rZXkpOworIAlaRVJPKGNoZWNrc3VtKTsKKyAKKyAJd2hp bGUgKGxlbiA+IEFFU19CTE9DS19TSVpFKSB7CisgCQlTMihkZWx0YSk7CisgCQlYT1IodG1wLCBk ZWx0YSwgcmVpbnRlcnByZXRfY2FzdDwgY29uc3Qgc3ViYmxvY2sgKiA+KGVuY3J5cHRlZCkpOwor LQkJQUVTZGVjcnlwdCh0bXAsIHRtcCwgJmRlY3J5cHRfa2V5KTsKKysJCUFFU2RlY3J5cHQodG1w LCB0bXAsIHJhd19rZXkpOworIAkJWE9SKHJlaW50ZXJwcmV0X2Nhc3Q8IHN1YmJsb2NrICogPihw bGFpbiksIGRlbHRhLCB0bXApOworIAkJWE9SKGNoZWNrc3VtLCBjaGVja3N1bSwgcmVpbnRlcnBy ZXRfY2FzdDwgY29uc3Qgc3ViYmxvY2sgKiA+KHBsYWluKSk7CisgCQlsZW4gLT0gQUVTX0JMT0NL X1NJWkU7CitAQCAtMzU0LDcgKzM2OSw3IEBAIGJvb2wgQ3J5cHRTdGF0ZU9DQjI6Om9jYl9kZWNy eXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuY3J5cHRlZCwgdW5zaWduZWQgY2hhciAqCisgCVpF Uk8odG1wKTsKKyAJdG1wW0JMT0NLU0laRSAtIDFdID0gU1dBUFBFRChsZW4gKiA4KTsKKyAJWE9S KHRtcCwgdG1wLCBkZWx0YSk7CistCUFFU2VuY3J5cHQodG1wLCBwYWQsICZlbmNyeXB0X2tleSk7 CisrCUFFU2VuY3J5cHQodG1wLCBwYWQsIHJhd19rZXkpOworIAltZW1zZXQodG1wLCAwLCBBRVNf QkxPQ0tfU0laRSk7CisgCW1lbWNweSh0bXAsIGVuY3J5cHRlZCwgbGVuKTsKKyAJWE9SKHRtcCwg dG1wLCBwYWQpOworQEAgLTM3Miw3ICszODcsNyBAQCBib29sIENyeXB0U3RhdGVPQ0IyOjpvY2Jf ZGVjcnlwdChjb25zdCB1bnNpZ25lZCBjaGFyICplbmNyeXB0ZWQsIHVuc2lnbmVkIGNoYXIgKgor IAorIAlTMyhkZWx0YSk7CisgCVhPUih0bXAsIGRlbHRhLCBjaGVja3N1bSk7CistCUFFU2VuY3J5 cHQodG1wLCB0YWcsICZlbmNyeXB0X2tleSk7CisrCUFFU2VuY3J5cHQodG1wLCB0YWcsIHJhd19r ZXkpOworIAorIAlyZXR1cm4gc3VjY2VzczsKKyB9CitAQCAtMzgxLDUgKzM5Niw1IEBAIGJvb2wg Q3J5cHRTdGF0ZU9DQjI6Om9jYl9kZWNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVuY3J5cHRl ZCwgdW5zaWduZWQgY2hhciAqCisgI3VuZGVmIFNISUZUQklUUworICN1bmRlZiBTV0FQUEVECisg I3VuZGVmIEhJR0hCSVQKKy0jdW5kZWYgQUVTX2VuY3J5cHQKKy0jdW5kZWYgQUVTX2RlY3J5cHQK KysjdW5kZWYgQUVTZW5jcnlwdAorKyN1bmRlZiBBRVNkZWNyeXB0CitkaWZmIC0tZ2l0IGEvc3Jj L2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oIGIvc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oCitp bmRleCA1M2Q0YjRiNmFhLi5jYzNmMWMwYmMzIDEwMDY0NAorLS0tIGEvc3JjL2NyeXB0by9Dcnlw dFN0YXRlT0NCMi5oCisrKysgYi9zcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmgKK0BAIC04LDgg KzgsOSBAQAorIAorICNpbmNsdWRlICJDcnlwdFN0YXRlLmgiCisgCistI2luY2x1ZGUgPG9wZW5z c2wvYWVzLmg+CisrI2luY2x1ZGUgPG9wZW5zc2wvZXZwLmg+CisgCisrI2RlZmluZSBBRVNfQkxP Q0tfU0laRSAxNgorICNkZWZpbmUgQUVTX0tFWV9TSVpFX0JJVFMgMTI4CisgI2RlZmluZSBBRVNf S0VZX1NJWkVfQllURVMgKEFFU19LRVlfU0laRV9CSVRTIC8gOCkKKyAKK0BAIC0xNyw3ICsxOCw3 IEBACisgY2xhc3MgQ3J5cHRTdGF0ZU9DQjIgOiBwdWJsaWMgQ3J5cHRTdGF0ZSB7CisgcHVibGlj OgorIAlDcnlwdFN0YXRlT0NCMigpOworLQl+Q3J5cHRTdGF0ZU9DQjIoKXt9OworKwl+Q3J5cHRT dGF0ZU9DQjIoKSBub2V4Y2VwdCBvdmVycmlkZTsKKyAKKyAJdmlydHVhbCBib29sIGlzVmFsaWQo KSBjb25zdCBRX0RFQ0xfT1ZFUlJJREU7CisgCXZpcnR1YWwgdm9pZCBnZW5LZXkoKSBRX0RFQ0xf T1ZFUlJJREU7CitAQCAtNDMsOCArNDQsOCBAQCBjbGFzcyBDcnlwdFN0YXRlT0NCMiA6IHB1Ymxp YyBDcnlwdFN0YXRlIHsKKyAJdW5zaWduZWQgY2hhciBkZWNyeXB0X2l2W0FFU19CTE9DS19TSVpF XTsKKyAJdW5zaWduZWQgY2hhciBkZWNyeXB0X2hpc3RvcnlbMHgxMDBdOworIAorLQlBRVNfS0VZ IGVuY3J5cHRfa2V5OworLQlBRVNfS0VZIGRlY3J5cHRfa2V5OworKwlFVlBfQ0lQSEVSX0NUWCAq ZW5jX2N0eDsKKysJRVZQX0NJUEhFUl9DVFggKmRlY19jdHg7CisgfTsKKyAKKyAKK0Zyb20gZjhk NDdkYjMxOGYzMDJmNWE3ZDM0M2YxNWM5OTM2YzcwMzBjNDljNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IFRlcnJ5IEdlbmcgPHRlcnJ5QHRlcnJpZXguY29tPgorRGF0ZTogU3VuLCAx MiBEZWMgMjAyMSAyMjozOTozOCAtMDUwMAorU3ViamVjdDogW1BBVENIXSBGSVgoY3J5cHRvKTog U2hhcmluZyBFVlAgY29udGV4dCBiZXR3ZWVuIHRocmVhZHMgY3J1c2hlcworIE11bWJsZQorCitG dW5jdGlvbnMgb2NiX2VuY3J5cHQgYW5kIG9jYl9kZWNyeXB0IHNoYXJlIHRoZSBzYW1lIHNldAor b2YgZW5jcnlwdCBhbmQgZGVjcnlwdCBjb250ZXh0cy4gSG93ZXZlciwgdGhleSBhcmUgaW52b2tl ZAoraW4gZGlmZmVyZW50IHRocmVhZHMgKGF1ZGlvIGlucHV0IHRocmVhZCBhbmQgc2VydmVyCito YW5kbGVyIHRocmVhZCkuCitUaGlzIG1heSBsZWFkIHRvIGNvbmZsaWN0cyB0aGF0IHdvdWxkIGNy YXNoIE11bWJsZS4KK1RoaXMgcGF0Y2ggc2VwYXJhdGVzIGNvbnRleHRzIHVzZWQgaW4gdGhlc2Ug dHdvIGZ1bmN0aW9ucwordG8gYXZvaWQgc3VjaCBjb25mbGljdHMuCisKK0ZpeGVzICM1MzYxCist LS0KKyBzcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcCB8IDU1ICsrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tCisgc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oICAgfCAgNiAr Ky0tCisgMiBmaWxlcyBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkK KworZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuY3BwIGIvc3JjL2NyeXB0 by9DcnlwdFN0YXRlT0NCMi5jcHAKK2luZGV4IDY0MGZkZWRhYzguLjNiMzQ3M2ZmZWMgMTAwNjQ0 CistLS0gYS9zcmMvY3J5cHRvL0NyeXB0U3RhdGVPQ0IyLmNwcAorKysrIGIvc3JjL2NyeXB0by9D cnlwdFN0YXRlT0NCMi5jcHAKK0BAIC0zMCw3ICszMCw5IEBACisgI2luY2x1ZGUgPGNzdHJpbmc+ CisgI2luY2x1ZGUgPG9wZW5zc2wvcmFuZC5oPgorIAorLUNyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0 YXRlT0NCMigpIDogQ3J5cHRTdGF0ZSgpLCBlbmNfY3R4KEVWUF9DSVBIRVJfQ1RYX25ldygpKSwg ZGVjX2N0eChFVlBfQ0lQSEVSX0NUWF9uZXcoKSkgeworK0NyeXB0U3RhdGVPQ0IyOjpDcnlwdFN0 YXRlT0NCMigpCisrCTogQ3J5cHRTdGF0ZSgpLCBlbmNfY3R4X29jYl9lbmMoRVZQX0NJUEhFUl9D VFhfbmV3KCkpLCBkZWNfY3R4X29jYl9lbmMoRVZQX0NJUEhFUl9DVFhfbmV3KCkpLAorKwkgIGVu Y19jdHhfb2NiX2RlYyhFVlBfQ0lQSEVSX0NUWF9uZXcoKSksIGRlY19jdHhfb2NiX2RlYyhFVlBf Q0lQSEVSX0NUWF9uZXcoKSkgeworIAlmb3IgKGludCBpID0gMDsgaSA8IDB4MTAwOyBpKyspCisg CQlkZWNyeXB0X2hpc3RvcnlbaV0gPSAwOworIAltZW1zZXQocmF3X2tleSwgMCwgQUVTX0tFWV9T SVpFX0JZVEVTKTsKK0BAIC0zOSw4ICs0MSwxMCBAQCBDcnlwdFN0YXRlT0NCMjo6Q3J5cHRTdGF0 ZU9DQjIoKSA6IENyeXB0U3RhdGUoKSwgZW5jX2N0eChFVlBfQ0lQSEVSX0NUWF9uZXcoKSksCisg fQorIAorIENyeXB0U3RhdGVPQ0IyOjp+Q3J5cHRTdGF0ZU9DQjIoKSBub2V4Y2VwdCB7CistCUVW UF9DSVBIRVJfQ1RYX2ZyZWUoZW5jX2N0eCk7CistCUVWUF9DSVBIRVJfQ1RYX2ZyZWUoZGVjX2N0 eCk7CisrCUVWUF9DSVBIRVJfQ1RYX2ZyZWUoZW5jX2N0eF9vY2JfZW5jKTsKKysJRVZQX0NJUEhF Ul9DVFhfZnJlZShkZWNfY3R4X29jYl9lbmMpOworKwlFVlBfQ0lQSEVSX0NUWF9mcmVlKGVuY19j dHhfb2NiX2RlYyk7CisrCUVWUF9DSVBIRVJfQ1RYX2ZyZWUoZGVjX2N0eF9vY2JfZGVjKTsKKyB9 CisgCisgYm9vbCBDcnlwdFN0YXRlT0NCMjo6aXNWYWxpZCgpIGNvbnN0IHsKK0BAIC0yNTcsMjUg KzI2MSwyOCBAQCBzdGF0aWMgdm9pZCBpbmxpbmUgWkVSTyhrZXlibG9jayAmYmxvY2spIHsKKyAJ CWJsb2NrW2ldID0gMDsKKyB9CisgCistI2RlZmluZSBBRVNlbmNyeXB0KHNyYywgZHN0LCBrZXkp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCistCXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlp bnQgb3V0bGVuID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfRW5jcnlwdEluaXRfZXgo ZW5jX2N0eCwgRVZQX2Flc18xMjhfZWNiKCksIE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAg ICAgICAgICAgICAgICBcCistCQlFVlBfQ0lQSEVSX0NUWF9zZXRfcGFkZGluZyhlbmNfY3R4LCAw KTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCist CQlFVlBfRW5jcnlwdFVwZGF0ZShlbmNfY3R4LCByZWludGVycHJldF9jYXN0PCB1bnNpZ25lZCBj aGFyICogPihkc3QpLCAmb3V0bGVuLCAgICAgICAgICAgICBcCistCQkJCQkJICByZWludGVycHJl dF9jYXN0PCBjb25zdCB1bnNpZ25lZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAg ICAgICBcCistCQlFVlBfRW5jcnlwdEZpbmFsX2V4KGVuY19jdHgsIHJlaW50ZXJwcmV0X2Nhc3Q8 IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCArIG91dGxlbiksICZvdXRsZW4pOyBcCisrI2RlZmluZSBB RVNlbmNyeXB0X2N0eChzcmMsIGRzdCwga2V5LCBlbmNfY3R4KSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXAorKwkJaW50IG91dGxlbiA9IDA7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCisrCQlFVlBfRW5jcnlwdEluaXRfZXgoZW5jX2N0eCwgRVZQX2Flc18xMjhfZWNiKCks IE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJCUVWUF9D SVBIRVJfQ1RYX3NldF9wYWRkaW5nKGVuY19jdHgsIDApOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0VuY3J5cHRVcGRhdGUoZW5j X2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0KSwgJm91dGxlbiwg ICAgICAgICAgICAgICBcCisrCQkJCQkJICByZWludGVycHJldF9jYXN0PCBjb25zdCB1bnNpZ25l ZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAgICAgICAgIFwKKysJCUVWUF9FbmNy eXB0RmluYWxfZXgoZW5jX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4o KGRzdCkgKyBvdXRsZW4pLCAmb3V0bGVuKTsgXAorIAl9CistI2RlZmluZSBBRVNkZWNyeXB0KHNy YywgZHN0LCBrZXkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBcCistCXsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCistCQlpbnQgb3V0bGVuID0gMDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfRGVj cnlwdEluaXRfZXgoZGVjX2N0eCwgRVZQX2Flc18xMjhfZWNiKCksIE5VTEwsIGtleSwgTlVMTCk7 ICAgICAgICAgICAgICAgICAgICAgICAgICBcCistCQlFVlBfQ0lQSEVSX0NUWF9zZXRfcGFkZGlu ZyhkZWNfY3R4LCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCistCQlFVlBfRGVjcnlwdFVwZGF0ZShkZWNfY3R4LCByZWludGVycHJldF9jYXN0 PCB1bnNpZ25lZCBjaGFyICogPihkc3QpLCAmb3V0bGVuLCAgICAgICAgICAgICBcCistCQkJCQkJ ICByZWludGVycHJldF9jYXN0PCBjb25zdCB1bnNpZ25lZCBjaGFyICogPihzcmMpLCBBRVNfQkxP Q0tfU0laRSk7ICAgICAgICBcCistCQlFVlBfRGVjcnlwdEZpbmFsX2V4KGRlY19jdHgsIHJlaW50 ZXJwcmV0X2Nhc3Q8IHVuc2lnbmVkIGNoYXIgKiA+KGRzdCArIG91dGxlbiksICZvdXRsZW4pOyBc CisrI2RlZmluZSBBRVNkZWNyeXB0X2N0eChzcmMsIGRzdCwga2V5LCBkZWNfY3R4KSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKysJeyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJaW50IG91dGxlbiA9IDA7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCisrCQlFVlBfRGVjcnlwdEluaXRfZXgoZGVjX2N0eCwgRVZQX2Fl c18xMjhfZWNiKCksIE5VTEwsIGtleSwgTlVMTCk7ICAgICAgICAgICAgICAgICAgICAgICAgICAg IFwKKysJCUVWUF9DSVBIRVJfQ1RYX3NldF9wYWRkaW5nKGRlY19jdHgsIDApOyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorKwkJRVZQX0RlY3J5 cHRVcGRhdGUoZGVjX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWduZWQgY2hhciAqID4oZHN0 KSwgJm91dGxlbiwgICAgICAgICAgICAgICBcCisrCQkJCQkJICByZWludGVycHJldF9jYXN0PCBj b25zdCB1bnNpZ25lZCBjaGFyICogPihzcmMpLCBBRVNfQkxPQ0tfU0laRSk7ICAgICAgICAgIFwK KysJCUVWUF9EZWNyeXB0RmluYWxfZXgoZGVjX2N0eCwgcmVpbnRlcnByZXRfY2FzdDwgdW5zaWdu ZWQgY2hhciAqID4oKGRzdCkgKyBvdXRsZW4pLCAmb3V0bGVuKTsgXAorIAl9CisgCisrI2RlZmlu ZSBBRVNlbmNyeXB0KHNyYywgZHN0LCBrZXkpIEFFU2VuY3J5cHRfY3R4KHNyYywgZHN0LCBrZXks IGVuY19jdHhfb2NiX2VuYykKKysjZGVmaW5lIEFFU2RlY3J5cHQoc3JjLCBkc3QsIGtleSkgQUVT ZGVjcnlwdF9jdHgoc3JjLCBkc3QsIGtleSwgZGVjX2N0eF9vY2JfZW5jKQorKworIGJvb2wgQ3J5 cHRTdGF0ZU9DQjI6Om9jYl9lbmNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBsYWluLCB1bnNp Z25lZCBjaGFyICplbmNyeXB0ZWQsIHVuc2lnbmVkIGludCBsZW4sCisgCQkJCQkJCQkgY29uc3Qg dW5zaWduZWQgY2hhciAqbm9uY2UsIHVuc2lnbmVkIGNoYXIgKnRhZywgYm9vbCBtb2RpZnlQbGFp bk9uWEVYU3RhckF0dGFjaykgeworIAlrZXlibG9jayBjaGVja3N1bSwgZGVsdGEsIHRtcCwgcGFk OworQEAgLTM0NSw2ICszNTIsMTIgQEAgYm9vbCBDcnlwdFN0YXRlT0NCMjo6b2NiX2VuY3J5cHQo Y29uc3QgdW5zaWduZWQgY2hhciAqcGxhaW4sIHVuc2lnbmVkIGNoYXIgKmVuY3IKKyAJcmV0dXJu IHN1Y2Nlc3M7CisgfQorIAorKyN1bmRlZiBBRVNlbmNyeXB0CisrI3VuZGVmIEFFU2RlY3J5cHQK KysKKysjZGVmaW5lIEFFU2VuY3J5cHQoc3JjLCBkc3QsIGtleSkgQUVTZW5jcnlwdF9jdHgoc3Jj LCBkc3QsIGtleSwgZW5jX2N0eF9vY2JfZGVjKQorKyNkZWZpbmUgQUVTZGVjcnlwdChzcmMsIGRz dCwga2V5KSBBRVNkZWNyeXB0X2N0eChzcmMsIGRzdCwga2V5LCBkZWNfY3R4X29jYl9kZWMpCisr CisgYm9vbCBDcnlwdFN0YXRlT0NCMjo6b2NiX2RlY3J5cHQoY29uc3QgdW5zaWduZWQgY2hhciAq ZW5jcnlwdGVkLCB1bnNpZ25lZCBjaGFyICpwbGFpbiwgdW5zaWduZWQgaW50IGxlbiwKKyAJCQkJ CQkJCSBjb25zdCB1bnNpZ25lZCBjaGFyICpub25jZSwgdW5zaWduZWQgY2hhciAqdGFnKSB7Cisg CWtleWJsb2NrIGNoZWNrc3VtLCBkZWx0YSwgdG1wLCBwYWQ7CitAQCAtMzkyLDkgKzQwNSw5IEBA IGJvb2wgQ3J5cHRTdGF0ZU9DQjI6Om9jYl9kZWNyeXB0KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmVu Y3J5cHRlZCwgdW5zaWduZWQgY2hhciAqCisgCXJldHVybiBzdWNjZXNzOworIH0KKyAKKysjdW5k ZWYgQUVTZW5jcnlwdAorKyN1bmRlZiBBRVNkZWNyeXB0CisgI3VuZGVmIEJMT0NLU0laRQorICN1 bmRlZiBTSElGVEJJVFMKKyAjdW5kZWYgU1dBUFBFRAorICN1bmRlZiBISUdIQklUCistI3VuZGVm IEFFU2VuY3J5cHQKKy0jdW5kZWYgQUVTZGVjcnlwdAorZGlmZiAtLWdpdCBhL3NyYy9jcnlwdG8v Q3J5cHRTdGF0ZU9DQjIuaCBiL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9DQjIuaAoraW5kZXggY2Mz ZjFjMGJjMy4uMGZkMzAwMGFkZSAxMDA2NDQKKy0tLSBhL3NyYy9jcnlwdG8vQ3J5cHRTdGF0ZU9D QjIuaAorKysrIGIvc3JjL2NyeXB0by9DcnlwdFN0YXRlT0NCMi5oCitAQCAtNDQsOCArNDQsMTAg QEAgY2xhc3MgQ3J5cHRTdGF0ZU9DQjIgOiBwdWJsaWMgQ3J5cHRTdGF0ZSB7CisgCXVuc2lnbmVk IGNoYXIgZGVjcnlwdF9pdltBRVNfQkxPQ0tfU0laRV07CisgCXVuc2lnbmVkIGNoYXIgZGVjcnlw dF9oaXN0b3J5WzB4MTAwXTsKKyAKKy0JRVZQX0NJUEhFUl9DVFggKmVuY19jdHg7CistCUVWUF9D SVBIRVJfQ1RYICpkZWNfY3R4OworKwlFVlBfQ0lQSEVSX0NUWCAqZW5jX2N0eF9vY2JfZW5jOwor KwlFVlBfQ0lQSEVSX0NUWCAqZGVjX2N0eF9vY2JfZW5jOworKwlFVlBfQ0lQSEVSX0NUWCAqZW5j X2N0eF9vY2JfZGVjOworKwlFVlBfQ0lQSEVSX0NUWCAqZGVjX2N0eF9vY2JfZGVjOworIH07Cisg CisgCmRpZmYgLS1naXQgYS9zcmNwa2dzL211bWJsZS90ZW1wbGF0ZSBiL3NyY3BrZ3MvbXVtYmxl L3RlbXBsYXRlCmluZGV4IDJlNmY1MGRhMDE0MC4uYWNiNmFmNDU0ZTBmIDEwMDY0NAotLS0gYS9z cmNwa2dzL211bWJsZS90ZW1wbGF0ZQorKysgYi9zcmNwa2dzL211bWJsZS90ZW1wbGF0ZQpAQCAt MSw3ICsxLDcgQEAKICMgVGVtcGxhdGUgZmlsZSBmb3IgJ211bWJsZScKIHBrZ25hbWU9bXVtYmxl CiB2ZXJzaW9uPTEuNC4yODcKLXJldmlzaW9uPTEKK3JldmlzaW9uPTIKIGJ1aWxkX3N0eWxlPWNt YWtlCiBtYWtlX2NtZD1tYWtlCiBjb25maWd1cmVfYXJncz0iLURvdmVybGF5LXhjb21waWxlPU9G RiAtRGJ1bmRsZWQtb3B1cz1PRkYK --===============2728503899065140151==--