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: Clemens Lang To: git-commits@fedoraproject.org Subject: [rpms/openssl] rebase_40beta: ELN: Disable SHA-1 by default using CentOS patches Date: Tue, 09 Jun 2026 12:44:59 GMT Message-ID: <178100909900.1.7518595361409274072.rpms-openssl-0967bb59532c@fedoraproject.org> List-ID: X-Git-Repo: rpms/openssl X-Git-Branch: rebase_40beta X-Git-Rev: 0967bb59532cb1756daf1614c2290e431d85a336 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvb3BlbnNzbAogICAgICAgICAgICBCcmFuY2ggOiByZWJhc2VfNDBiZXRhCiAg ICAgICAgICAgIENvbW1pdCA6IDA5NjdiYjU5NTMyY2IxNzU2ZGFmMTYxNGMyMjkwZTQzMWQ4NWEz MzYKICAgICAgICAgICAgQXV0aG9yIDogQ2xlbWVucyBMYW5nIDxjbGxhbmdAcmVkaGF0LmNvbT4K ICAgICAgICAgICAgRGF0ZSAgIDogMjAyMi0wNC0yMFQxNToxODowNyswMjowMAogICAgICAgICAg ICBTdGF0cyAgOiArNzEzLy0xIGluIDMgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL29wZW5zc2wvYy8wOTY3YmI1OTUzMmNiMTc1 NmRhZjE2MTRjMjI5MGU0MzFkODVhMzM2P2JyYW5jaD1yZWJhc2VfNDBiZXRhCgogICAgICAgICAg ICBMb2c6CiAgICAgICAgICAgIEVMTjogRGlzYWJsZSBTSEEtMSBieSBkZWZhdWx0IHVzaW5nIENl bnRPUyBwYXRjaGVzCgpFTE4gc2hvdWxkIGlkZWFsbHkgYmUgYWhlYWQgb2YgQ2VudE9TIGFuZCBS SEVMIHdpdGggcG9saWN5IGNoYW5nZXMsIGJ1dApkdWUgdG8gdGltZSBjb25zdHJhaW50cyB3YXMg bm90LiBGaXggdGhhdCBieSBicmluZ2luZyB0aGUgY3VycmVudCBDZW50T1MKOSAvIFJIRUwgOSBz dGF0ZSBvZiBTSEEtMSBkaXNhYmxpbmcgdG8gRUxOLgoKRHVlIHRvIGRpZmZlcmVuY2VzIGluIHRo ZWlyIGxpZmVjeWNsZXMsIEZlZG9yYSdzIHBhY2thZ2VzIHdpbGwgc3RheSBhdAphbGxvd2luZyBT SEEtMSBieSBkZWZhdWx0IGZvciBub3cuIFRoZXJlIGlzIGEgcGxhbiB0byBncmFkdWFsbHkgY2F0 Y2ggdXAKdG8gdGhlIEVMTiBzdGF0ZSBvdmVyIHRoZSBuZXh0IGZldyByZWxlYXNlcy4KClNpZ25l ZC1vZmYtYnk6IENsZW1lbnMgTGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+CgotLS0KZGlmZiAtLWdp dCBhLzAwNDktU2VsZWN0aXZlbHktZGlzYWxsb3ctU0hBMS1zaWduYXR1cmVzLnBhdGNoIGIvMDA0 OS1TZWxlY3RpdmVseS1kaXNhbGxvdy1TSEExLXNpZ25hdHVyZXMucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMThiMDE4MwotLS0gL2Rldi9udWxsCisrKyBiLzAwNDkt U2VsZWN0aXZlbHktZGlzYWxsb3ctU0hBMS1zaWduYXR1cmVzLnBhdGNoCkBAIC0wLDAgKzEsNDg5 IEBACitGcm9tIDI0MzIwMTc3MmNjNmQ1ODNmYWU5ZWJhODFjYjJjMmM3NDI1YmM1NjQgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBDbGVtZW5zIExhbmcgPGNsbGFuZ0ByZWRoYXQuY29t PgorRGF0ZTogTW9uLCAyMSBGZWIgMjAyMiAxNzoyNDo0NCArMDEwMAorU3ViamVjdDogU2VsZWN0 aXZlbHkgZGlzYWxsb3cgU0hBMSBzaWduYXR1cmVzCisKK0ZvciBSSEVMIDkuMCwgd2Ugd2FudCB0 byBwaGFzZSBvdXQgU0hBMS4gT25lIG9mIHRoZSBzdGVwcyB0byBkbyB0aGF0IGlzCitkaXNhYmxp bmcgU0hBMSBzaWduYXR1cmVzLiBJbnRyb2R1Y2UgYSBuZXcgY29uZmlndXJhdGlvbiBvcHRpb24g aW4gdGhlCithbGdfc2VjdGlvbiBuYW1lZCAncmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzJy4gVGhp cyBvcHRpb24gZGVmYXVsdHMgdG8KK2ZhbHNlLiBJZiBzZXQgdG8gZmFsc2UgKG9yIHVuc2V0KSwg YW55IHNpZ25hdHVyZSBjcmVhdGlvbiBvcgordmVyaWZpY2F0aW9uIG9wZXJhdGlvbnMgdGhhdCBp bnZvbHZlIFNIQTEgYXMgZGlnZXN0IHdpbGwgZmFpbC4KKworVGhpcyBhbHNvIGFmZmVjdHMgVExT LCB3aGVyZSB0aGUgc2lnbmF0dXJlX2FsZ29yaXRobXMgZXh0ZW5zaW9uIG9mIGFueQorQ2xpZW50 SGVsbG8gbWVzc2FnZSBzZW50IGJ5IE9wZW5TU0wgd2lsbCBubyBsb25nZXIgaW5jbHVkZSBzaWdu YXR1cmVzCit3aXRoIHRoZSBTSEExIGRpZ2VzdCBpZiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMg aXMgZmFsc2UuIEZvciBzZXJ2ZXJzCit0aGF0IHJlcXVlc3QgYSBjbGllbnQgY2VydGlmaWNhdGUs IHRoZSBzYW1lIGFsc28gYXBwbGllcyBmb3IKK0NlcnRpZmljYXRlUmVxdWVzdCBtZXNzYWdlcyBz ZW50IGJ5IHRoZW0uCisKK0ZvciBzaWduYXR1cmVzIGNyZWF0ZWQgdXNpbmcgdGhlIEVWUF9QS0VZ IEFQSSwgdGhpcyBpcyBhIGJlc3QtZWZmb3J0CitjaGVjayB0aGF0IHdpbGwgZGVueSBzaWduYXR1 cmVzIGluIGNhc2VzIHdoZXJlIHRoZSBkaWdlc3QgYWxnb3JpdGhtIGlzCitrbm93bi4gVGhpcyBt ZWFucywgZm9yIGV4YW1wbGUsIHRoYXQgdGhhdCBmb2xsb3dpbmcgc3RlcHMgd2lsbCBzdGlsbAor d29yazoKKworICQ+IG9wZW5zc2wgZGdzdCAtc2hhMSAtYmluYXJ5IC1vdXQgc2hhMSBpbmZpbGUK KyAkPiBvcGVuc3NsIHBrZXl1dGwgLWlua2V5IGtleS5wZW0gLXNpZ24gLWluIHNoYTEgLW91dCBz aGExc2lnCisgJD4gb3BlbnNzbCBwa2V5dXRsIC1pbmtleSBrZXkucGVtIC12ZXJpZnkgLXNpZ2Zp bGUgc2hhMXNpZyAtaW4gc2hhMQorCit3aGVyZWFzIHRoZXNlIHdpbGwgbm90OgorCisgJD4gb3Bl bnNzbCBkZ3N0IC1zaGExIC1iaW5hcnkgLW91dCBzaGExIGluZmlsZQorICQ+IG9wZW5zc2wgcGtl eXV0bCAtaW5rZXkga2VtLnBlbSAtc2lnbiAtaW4gc2hhMSAtb3V0IHNoYTFzaWcgLXBrZXlvcHQg ZGlnZXN0OnNoYTEKKyAkPiBvcGVuc3NsIHBrZXl1dGwgLWlua2V5IGtlbS5wZW0gLXZlcmlmeSAt c2lnZmlsZSBzaGExc2lnIC1pbiBzaGExIC1wa2V5b3B0IGRpZ2VzdDpzaGExCisKK1RoaXMgaGFw cGVucyBiZWNhdXNlIGluIHRoZSBmaXJzdCBjYXNlLCBPcGVuU1NMJ3Mgc2lnbmF0dXJlCitpbXBs ZW1lbnRhdGlvbiBkb2VzIG5vdCBrbm93IHRoYXQgaXQgaXMgc2lnbmluZyBhIFNIQTEgaGFzaCAo aXQgY291bGQgYmUKK3NpZ25pbmcgYXJiaXRyYXJ5IGRhdGEpLgorCitSZXNvbHZlczogcmhieiMy MDMxNzQyCistLS0KKyBjcnlwdG8vZXZwL2V2cF9jbmYuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAxMyArKysrCisgY3J5cHRvL2V2cC9tX3NpZ3Zlci5jICAgICAgICAgICAgICAgICAgICAg ICAgIHwgNzcgKysrKysrKysrKysrKysrKysrKworIGNyeXB0by9ldnAvcG1ldGhfbGliLmMgICAg ICAgICAgICAgICAgICAgICAgICB8IDE1ICsrKysKKyBkb2MvbWFuNS9jb25maWcucG9kICAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysKKyBpbmNsdWRlL2ludGVybmFsL2NyeXB0bGli LmggICAgICAgICAgICAgICAgICAgfCAgMyArLQorIGluY2x1ZGUvaW50ZXJuYWwvc3NsY29uZi5o ICAgICAgICAgICAgICAgICAgICB8ICA0ICsKKyBwcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hl Y2suYyAgICAgICAgICAgICAgfCAyMCArKysrKworIHByb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVja19kZWZhdWx0LmMgICAgICB8ICA5ICsrLQorIHByb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMv c2lnbmF0dXJlL2RzYV9zaWcuYyB8IDExICsrLQorIC4uLi9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0 dXJlL2VjZHNhX3NpZy5jICAgICB8ICA0ICsKKyBwcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3Np Z25hdHVyZS9yc2Ffc2lnLmMgfCAyMCArKysrLQorIHNzbC90MV9saWIuYyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICA4ICsrCisgdXRpbC9saWJjcnlwdG8ubnVtICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDIgKworIDEzIGZpbGVzIGNoYW5nZWQsIDE4OCBpbnNlcnRp b25zKCspLCA5IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvY3J5cHRvL2V2cC9ldnBfY25m LmMgYi9jcnlwdG8vZXZwL2V2cF9jbmYuYworaW5kZXggMGU3ZmU2NGNmOS4uYjlkM2I2ZDIyNiAx MDA2NDQKKy0tLSBhL2NyeXB0by9ldnAvZXZwX2NuZi5jCisrKysgYi9jcnlwdG8vZXZwL2V2cF9j bmYuYworQEAgLTEwLDYgKzEwLDcgQEAKKyAjaW5jbHVkZSA8c3RkaW8uaD4KKyAjaW5jbHVkZSA8 b3BlbnNzbC9jcnlwdG8uaD4KKyAjaW5jbHVkZSAiaW50ZXJuYWwvY3J5cHRsaWIuaCIKKysjaW5j bHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorICNpbmNsdWRlIDxvcGVuc3NsL2NvbmYuaD4KKyAj aW5jbHVkZSA8b3BlbnNzbC94NTA5Lmg+CisgI2luY2x1ZGUgPG9wZW5zc2wveDUwOXYzLmg+CitA QCAtNTcsNiArNTgsMTggQEAgc3RhdGljIGludCBhbGdfbW9kdWxlX2luaXQoQ09ORl9JTU9EVUxF ICptZCwgY29uc3QgQ09ORiAqY25mKQorICAgICAgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJ Ql9FVlAsIEVWUF9SX1NFVF9ERUZBVUxUX1BST1BFUlRZX0ZBSUxVUkUpOworICAgICAgICAgICAg ICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgICB9CisrICAgICAgICB9IGVsc2UgaWYgKHN0cmNt cChvdmFsLT5uYW1lLCAicmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzIikgPT0gMCkgeworKyAgICAg ICAgICAgIGludCBtOworKworKyAgICAgICAgICAgIC8qIERldGFpbGVkIGVycm9yIGFscmVhZHkg cmVwb3J0ZWQuICovCisrICAgICAgICAgICAgaWYgKCFYNTA5VjNfZ2V0X3ZhbHVlX2Jvb2wob3Zh bCwgJm0pKQorKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKysKKysgICAgICAgICAgICBpZiAo IW9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkX3NldCgKKysgICAgICAg ICAgICAgICAgICAgIE5DT05GX2dldDBfbGliY3R4KChDT05GICopY25mKSwgbSA+IDAsIDApKSB7 CisrICAgICAgICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfU0VUX0RFRkFV TFRfUFJPUEVSVFlfRkFJTFVSRSk7CisrICAgICAgICAgICAgICAgIHJldHVybiAwOworKyAgICAg ICAgICAgIH0KKyAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgRVJSX3JhaXNlX2RhdGEo RVJSX0xJQl9FVlAsIEVWUF9SX1VOS05PV05fT1BUSU9OLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJuYW1lPSVzLCB2YWx1ZT0lcyIsIG92YWwtPm5hbWUsIG92YWwtPnZhbHVlKTsKK2Rp ZmYgLS1naXQgYS9jcnlwdG8vZXZwL21fc2lndmVyLmMgYi9jcnlwdG8vZXZwL21fc2lndmVyLmMK K2luZGV4IDkxODhlZGJjMjEuLmRiMWExZDdiYzMgMTAwNjQ0CistLS0gYS9jcnlwdG8vZXZwL21f c2lndmVyLmMKKysrKyBiL2NyeXB0by9ldnAvbV9zaWd2ZXIuYworQEAgLTE2LDYgKzE2LDcxIEBA CisgI2luY2x1ZGUgImludGVybmFsL251bWJlcnMuaCIgICAvKiBpbmNsdWRlcyBTSVpFX01BWCAq LworICNpbmNsdWRlICJldnBfbG9jYWwuaCIKKyAKKyt0eXBlZGVmIHN0cnVjdCBvc3NsX2xlZ2Fj eV9kaWdlc3Rfc2lnbmF0dXJlc19zdCB7CisrICAgIGludCBhbGxvd2VkOworK30gT1NTTF9MRUdB Q1lfRElHRVNUX1NJR05BVFVSRVM7CisrCisrc3RhdGljIHZvaWQgb3NzbF9jdHhfbGVnYWN5X2Rp Z2VzdF9zaWduYXR1cmVzX2ZyZWUodm9pZCAqdmxkc2lncykKKyt7CisrICAgIE9TU0xfTEVHQUNZ X0RJR0VTVF9TSUdOQVRVUkVTICpsZHNpZ3MgPSB2bGRzaWdzOworKworKyAgICBpZiAobGRzaWdz ICE9IE5VTEwpIHsKKysgICAgICAgIE9QRU5TU0xfZnJlZShsZHNpZ3MpOworKyAgICB9CisrfQor KworK3N0YXRpYyB2b2lkICpvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfbmV3KE9T U0xfTElCX0NUWCAqY3R4KQorK3sKKysgICAgcmV0dXJuIE9QRU5TU0xfemFsbG9jKHNpemVvZihP U1NMX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFUykpOworK30KKysKKytzdGF0aWMgY29uc3QgT1NT TF9MSUJfQ1RYX01FVEhPRCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfbWV0aG9k ID0geworKyAgICBPU1NMX0xJQl9DVFhfTUVUSE9EX0RFRkFVTFRfUFJJT1JJVFksCisrICAgIG9z c2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19uZXcsCisrICAgIG9zc2xfY3R4X2xlZ2Fj eV9kaWdlc3Rfc2lnbmF0dXJlc19mcmVlLAorK307CisrCisrc3RhdGljIE9TU0xfTEVHQUNZX0RJ R0VTVF9TSUdOQVRVUkVTICpvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXMoCisrICAg ICAgICBPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGxvYWRjb25maWcpCisreworKyNpZm5kZWYg RklQU19NT0RVTEUKKysgICAgaWYgKGxvYWRjb25maWcgJiYgIU9QRU5TU0xfaW5pdF9jcnlwdG8o T1BFTlNTTF9JTklUX0xPQURfQ09ORklHLCBOVUxMKSkKKysgICAgICAgIHJldHVybiAwOworKyNl bmRpZgorKworKyAgICByZXR1cm4gb3NzbF9saWJfY3R4X2dldF9kYXRhKGxpYmN0eCwgT1NTTF9M SUJfQ1RYX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFUywKKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX21ldGhvZCk7Cisr fQorKworK2ludCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChPU1NM X0xJQl9DVFggKmxpYmN0eCwgaW50IGxvYWRjb25maWcpCisreworKyAgICBPU1NMX0xFR0FDWV9E SUdFU1RfU0lHTkFUVVJFUyAqbGRzaWdzCisrICAgICAgICA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdl c3Rfc2lnbmF0dXJlcyhsaWJjdHgsIGxvYWRjb25maWcpOworKworKyNpZm5kZWYgRklQU19NT0RV TEUKKysgICAgaWYgKG9zc2xfc2FmZV9nZXRlbnYoIk9QRU5TU0xfRU5BQkxFX1NIQTFfU0lHTkFU VVJFUyIpICE9IE5VTEwpCisrICAgICAgICAvKiB1c2VkIGluIHRlc3RzICovCisrICAgICAgICBy ZXR1cm4gMTsKKysjZW5kaWYKKysKKysgICAgcmV0dXJuIGxkc2lncyAhPSBOVUxMID8gbGRzaWdz LT5hbGxvd2VkIDogMDsKKyt9CisrCisraW50IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0 dXJlc19hbGxvd2VkX3NldChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGFsbG93LAorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IGxvYWRjb25m aWcpCisreworKyAgICBPU1NMX0xFR0FDWV9ESUdFU1RfU0lHTkFUVVJFUyAqbGRzaWdzCisrICAg ICAgICA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlcyhsaWJjdHgsIGxvYWRjb25m aWcpOworKworKyAgICBpZiAobGRzaWdzID09IE5VTEwpIHsKKysgICAgICAgIEVSUl9yYWlzZShF UlJfTElCX0VWUCwgRVJSX1JfSU5URVJOQUxfRVJST1IpOworKyAgICAgICAgcmV0dXJuIDA7Cisr ICAgIH0KKysKKysgICAgbGRzaWdzLT5hbGxvd2VkID0gYWxsb3c7CisrICAgIHJldHVybiAxOwor K30KKysKKyAjaWZuZGVmIEZJUFNfTU9EVUxFCisgCisgc3RhdGljIGludCB1cGRhdGUoRVZQX01E X0NUWCAqY3R4LCBjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgZGF0YWxlbikKK0BAIC0yNTgsNiAr MzIzLDE4IEBAIHN0YXRpYyBpbnQgZG9fc2lndmVyX2luaXQoRVZQX01EX0NUWCAqY3R4LCBFVlBf UEtFWV9DVFggKipwY3R4LAorICAgICAgICAgfQorICAgICB9CisgCisrICAgIGlmIChjdHgtPnJl cWRpZ2VzdCAhPSBOVUxMCisrICAgICAgICAgICAgJiYgIUVWUF9QS0VZX2lzX2EobG9jcGN0eC0+ cGtleSwgU05faG1hYykKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShsb2NwY3R4LT5w a2V5LCBTTl90bHMxX3ByZikKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShsb2NwY3R4 LT5wa2V5LCBTTl9oa2RmKSkgeworKyAgICAgICAgaW50IG1kbmlkID0gRVZQX01EX25pZChjdHgt PnJlcWRpZ2VzdCk7CisrICAgICAgICBpZiAoIW9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0 dXJlc19hbGxvd2VkKGxvY3BjdHgtPmxpYmN0eCwgMCkKKysgICAgICAgICAgICAgICAgJiYgKG1k bmlkID09IE5JRF9zaGExIHx8IG1kbmlkID09IE5JRF9tZDVfc2hhMSkpIHsKKysgICAgICAgICAg ICBFUlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVWUF9SX0lOVkFMSURfRElHRVNUKTsKKysgICAgICAg ICAgICBnb3RvIGVycjsKKysgICAgICAgIH0KKysgICAgfQorKworICAgICBpZiAodmVyKSB7Cisg ICAgICAgICBpZiAoc2lnbmF0dXJlLT5kaWdlc3RfdmVyaWZ5X2luaXQgPT0gTlVMTCkgeworICAg ICAgICAgICAgIEVSUl9yYWlzZShFUlJfTElCX0VWUCwgRVZQX1JfSU5JVElBTElaQVRJT05fRVJS T1IpOworZGlmZiAtLWdpdCBhL2NyeXB0by9ldnAvcG1ldGhfbGliLmMgYi9jcnlwdG8vZXZwL3Bt ZXRoX2xpYi5jCitpbmRleCAyYjljNmMyMzUxLi4zYzVhMWU2ZjVkIDEwMDY0NAorLS0tIGEvY3J5 cHRvL2V2cC9wbWV0aF9saWIuYworKysrIGIvY3J5cHRvL2V2cC9wbWV0aF9saWIuYworQEAgLTMz LDYgKzMzLDcgQEAKKyAjaW5jbHVkZSAiaW50ZXJuYWwvZmZjLmgiCisgI2luY2x1ZGUgImludGVy bmFsL251bWJlcnMuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvcHJvdmlkZXIuaCIKKysjaW5jbHVk ZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorICNpbmNsdWRlICJldnBfbG9jYWwuaCIKKyAKKyAjaWZu ZGVmIEZJUFNfTU9EVUxFCitAQCAtOTQ2LDYgKzk0NywyMCBAQCBzdGF0aWMgaW50IGV2cF9wa2V5 X2N0eF9zZXRfbWQoRVZQX1BLRVlfQ1RYICpjdHgsIGNvbnN0IEVWUF9NRCAqbWQsCisgICAgICAg ICByZXR1cm4gLTI7CisgICAgIH0KKyAKKysgICAgaWYgKEVWUF9QS0VZX0NUWF9JU19TSUdOQVRV UkVfT1AoY3R4KQorKyAgICAgICAgICAgICYmIG1kICE9IE5VTEwKKysgICAgICAgICAgICAmJiBj dHgtPnBrZXkgIT0gTlVMTAorKyAgICAgICAgICAgICYmICFFVlBfUEtFWV9pc19hKGN0eC0+cGtl eSwgU05faG1hYykKKysgICAgICAgICAgICAmJiAhRVZQX1BLRVlfaXNfYShjdHgtPnBrZXksIFNO X3RsczFfcHJmKQorKyAgICAgICAgICAgICYmICFFVlBfUEtFWV9pc19hKGN0eC0+cGtleSwgU05f aGtkZikpIHsKKysgICAgICAgIGludCBtZG5pZCA9IEVWUF9NRF9uaWQobWQpOworKyAgICAgICAg aWYgKChtZG5pZCA9PSBOSURfc2hhMSB8fCBtZG5pZCA9PSBOSURfbWQ1X3NoYTEpCisrICAgICAg ICAgICAgICAgICYmICFvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChj dHgtPmxpYmN0eCwgMCkpIHsKKysgICAgICAgICAgICBFUlJfcmFpc2UoRVJSX0xJQl9FVlAsIEVW UF9SX0lOVkFMSURfRElHRVNUKTsKKysgICAgICAgICAgICByZXR1cm4gLTE7CisrICAgICAgICB9 CisrICAgIH0KKysKKyAgICAgaWYgKGZhbGxiYWNrKQorICAgICAgICAgcmV0dXJuIEVWUF9QS0VZ X0NUWF9jdHJsKGN0eCwgLTEsIG9wLCBjdHJsLCAwLCAodm9pZCAqKShtZCkpOworIAorZGlmZiAt LWdpdCBhL2RvYy9tYW41L2NvbmZpZy5wb2QgYi9kb2MvbWFuNS9jb25maWcucG9kCitpbmRleCA3 N2E4MDU1ZTgxLi5hYTFiZTVjYTdmIDEwMDY0NAorLS0tIGEvZG9jL21hbjUvY29uZmlnLnBvZAor KysrIGIvZG9jL21hbjUvY29uZmlnLnBvZAorQEAgLTMwNCw2ICszMDQsMTcgQEAgV2l0aGluIHRo ZSBhbGdvcml0aG0gcHJvcGVydGllcyBzZWN0aW9uLCB0aGUgZm9sbG93aW5nIG5hbWVzIGhhdmUg bWVhbmluZzoKKyBUaGUgdmFsdWUgbWF5IGJlIGFueXRoaW5nIHRoYXQgaXMgYWNjZXB0YWJsZSBh cyBhIHByb3BlcnR5IHF1ZXJ5Cisgc3RyaW5nIGZvciBFVlBfc2V0X2RlZmF1bHRfcHJvcGVydGll cygpLgorIAorKz1pdGVtIEI8cmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzPgorKworK1RoZSB2YWx1 ZSBpcyBhIGJvb2xlYW4gdGhhdCBjYW4gYmUgQjx5ZXM+IG9yIEI8bm8+LiAgSWYgdGhlIHZhbHVl IGlzIG5vdCBzZXQsCisraXQgYmVoYXZlcyBhcyBpZiBpdCB3YXMgc2V0IHRvIEI8bm8+LgorKwor K1doZW4gc2V0IHRvIEI8bm8+LCBhbnkgYXR0ZW1wdCB0byBjcmVhdGUgb3IgdmVyaWZ5IGEgc2ln bmF0dXJlIHdpdGggYSBTSEExCisrZGlnZXN0IHdpbGwgZmFpbC4gIEZvciBjb21wYXRpYmlsaXR5 IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgT3BlblNTTCwgc2V0IHRoaXMKKytvcHRpb24gdG8gQjx5 ZXM+LiAgVGhpcyBzZXR0aW5nIGFsc28gYWZmZWN0cyBUTFMsIHdoZXJlIHNpZ25hdHVyZSBhbGdv cml0aG1zCisrdGhhdCB1c2UgU0hBMSBhcyBkaWdlc3Qgd2lsbCBubyBsb25nZXIgYmUgc3VwcG9y dGVkIGlmIHRoaXMgb3B0aW9uIGlzIHNldCB0bworK0I8bm8+LgorKworID1pdGVtIEI8Zmlwc19t b2RlPiAoZGVwcmVjYXRlZCkKKyAKKyBUaGUgdmFsdWUgaXMgYSBib29sZWFuIHRoYXQgY2FuIGJl IEI8eWVzPiBvciBCPG5vPi4gIElmIHRoZSB2YWx1ZSBpcworZGlmZiAtLWdpdCBhL2luY2x1ZGUv aW50ZXJuYWwvY3J5cHRsaWIuaCBiL2luY2x1ZGUvaW50ZXJuYWwvY3J5cHRsaWIuaAoraW5kZXgg MTI5MTI5OWI2ZS4uZTIzNDM0MWU2YSAxMDA2NDQKKy0tLSBhL2luY2x1ZGUvaW50ZXJuYWwvY3J5 cHRsaWIuaAorKysrIGIvaW5jbHVkZS9pbnRlcm5hbC9jcnlwdGxpYi5oCitAQCAtMTY4LDcgKzE2 OCw4IEBAIHR5cGVkZWYgc3RydWN0IG9zc2xfZXhfZGF0YV9nbG9iYWxfc3QgeworICMgZGVmaW5l IE9TU0xfTElCX0NUWF9QUk9WSURFUl9DT05GX0lOREVYICAgICAgICAgICAxNgorICMgZGVmaW5l IE9TU0xfTElCX0NUWF9CSU9fQ09SRV9JTkRFWCAgICAgICAgICAgICAgICAxNworICMgZGVmaW5l IE9TU0xfTElCX0NUWF9DSElMRF9QUk9WSURFUl9JTkRFWCAgICAgICAgICAxOAorLSMgZGVmaW5l IE9TU0xfTElCX0NUWF9NQVhfSU5ERVhFUyAgICAgICAgICAgICAgICAgICAxOQorKyMgZGVmaW5l IE9TU0xfTElCX0NUWF9MRUdBQ1lfRElHRVNUX1NJR05BVFVSRVMgICAgICAxOQorKyMgZGVmaW5l IE9TU0xfTElCX0NUWF9NQVhfSU5ERVhFUyAgICAgICAgICAgICAgICAgICAyMAorIAorICMgZGVm aW5lIE9TU0xfTElCX0NUWF9NRVRIT0RfTE9XX1BSSU9SSVRZICAgICAgICAgIC0xCisgIyBkZWZp bmUgT1NTTF9MSUJfQ1RYX01FVEhPRF9ERUZBVUxUX1BSSU9SSVRZICAgICAgIDAKK2RpZmYgLS1n aXQgYS9pbmNsdWRlL2ludGVybmFsL3NzbGNvbmYuaCBiL2luY2x1ZGUvaW50ZXJuYWwvc3NsY29u Zi5oCitpbmRleCBmZDdmN2UzMzMxLi4wNTQ2NGIwNjU1IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9p bnRlcm5hbC9zc2xjb25mLmgKKysrKyBiL2luY2x1ZGUvaW50ZXJuYWwvc3NsY29uZi5oCitAQCAt MTgsNCArMTgsOCBAQCBpbnQgY29uZl9zc2xfbmFtZV9maW5kKGNvbnN0IGNoYXIgKm5hbWUsIHNp emVfdCAqaWR4KTsKKyB2b2lkIGNvbmZfc3NsX2dldF9jbWQoY29uc3QgU1NMX0NPTkZfQ01EICpj bWQsIHNpemVfdCBpZHgsIGNoYXIgKipjbWRzdHIsCisgICAgICAgICAgICAgICAgICAgICAgIGNo YXIgKiphcmcpOworIAorKy8qIE1ldGhvZHMgdG8gc3VwcG9ydCBkaXNhYmxpbmcgYWxsIHNpZ25h dHVyZXMgd2l0aCBsZWdhY3kgZGlnZXN0cyAqLworK2ludCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0 X3NpZ25hdHVyZXNfYWxsb3dlZChPU1NMX0xJQl9DVFggKmxpYmN0eCwgaW50IGxvYWRjb25maWcp OworK2ludCBvc3NsX2N0eF9sZWdhY3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZF9zZXQoT1NT TF9MSUJfQ1RYICpsaWJjdHgsIGludCBhbGxvdywKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGludCBsb2FkY29uZmlnKTsKKyAjZW5kaWYKK2RpZmYg LS1naXQgYS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2suYyBiL3Byb3ZpZGVycy9jb21t b24vc2VjdXJpdHljaGVjay5jCitpbmRleCA2OTlhZGE3YzUyLi5lNTM0YWQwYTVmIDEwMDY0NAor LS0tIGEvcHJvdmlkZXJzL2NvbW1vbi9zZWN1cml0eWNoZWNrLmMKKysrKyBiL3Byb3ZpZGVycy9j b21tb24vc2VjdXJpdHljaGVjay5jCitAQCAtMTksNiArMTksNyBAQAorICNpbmNsdWRlIDxvcGVu c3NsL2NvcmVfbmFtZXMuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9vYmpfbWFjLmg+CisgI2luY2x1 ZGUgInByb3Yvc2VjdXJpdHljaGVjay5oIgorKyNpbmNsdWRlICJpbnRlcm5hbC9zc2xjb25mLmgi CisgCisgLyoKKyAgKiBGSVBTIHJlcXVpcmVzIGEgbWluaW11bSBzZWN1cml0eSBzdHJlbmd0aCBv ZiAxMTIgYml0cyAoZm9yIGVuY3J5cHRpb24gb3IKK0BAIC0yMzUsNiArMjM2LDE1IEBAIGludCBv c3NsX2RpZ2VzdF9nZXRfYXBwcm92ZWRfbmlkX3dpdGhfc2hhMShPU1NMX0xJQl9DVFggKmN0eCwg Y29uc3QgRVZQX01EICptZCwKKyAgICAgICAgICAgICBtZG5pZCA9IC0xOyAvKiBkaXNhbGxvd2Vk IGJ5IHNlY3VyaXR5IGNoZWNrcyAqLworICAgICB9CisgIyBlbmRpZiAvKiBPUEVOU1NMX05PX0ZJ UFNfU0VDVVJJVFlDSEVDS1MgKi8KKysKKysjaWZuZGVmIEZJUFNfTU9EVUxFCisrICAgIGlmICgh b3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWQoY3R4LCAwKSkKKysgICAg ICAgIC8qIFNIQTEgaXMgZ2xvYmFsbHkgZGlzYWJsZWQsIGNoZWNrIHdoZXRoZXIgd2Ugd2FudCB0 byBsb2NhbGx5IGFsbG93CisrICAgICAgICAgKiBpdC4gKi8KKysgICAgICAgIGlmIChtZG5pZCA9 PSBOSURfc2hhMSAmJiAhc2hhMV9hbGxvd2VkKQorKyAgICAgICAgICAgIG1kbmlkID0gLTE7Cisr I2VuZGlmCisrCisgICAgIHJldHVybiBtZG5pZDsKKyB9CisgCitAQCAtMjQ0LDUgKzI1NCwxNSBA QCBpbnQgb3NzbF9kaWdlc3RfaXNfYWxsb3dlZChPU1NMX0xJQl9DVFggKmN0eCwgY29uc3QgRVZQ X01EICptZCkKKyAgICAgaWYgKG9zc2xfc2VjdXJpdHljaGVja19lbmFibGVkKGN0eCkpCisgICAg ICAgICByZXR1cm4gb3NzbF9kaWdlc3RfZ2V0X2FwcHJvdmVkX25pZChtZCkgIT0gTklEX3VuZGVm OworICMgZW5kaWYgLyogT1BFTlNTTF9OT19GSVBTX1NFQ1VSSVRZQ0hFQ0tTICovCisrCisrI2lm bmRlZiBGSVBTX01PRFVMRQorKyAgICB7CisrICAgICAgICBpbnQgbWRuaWQgPSBFVlBfTURfbmlk KG1kKTsKKysgICAgICAgIGlmICgobWRuaWQgPT0gTklEX3NoYTEgfHwgbWRuaWQgPT0gTklEX21k NV9zaGExKQorKyAgICAgICAgICAgICAgICAmJiAhb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWdu YXR1cmVzX2FsbG93ZWQoY3R4LCAwKSkKKysgICAgICAgICAgICByZXR1cm4gMDsKKysgICAgfQor KyNlbmRpZgorKworICAgICByZXR1cm4gMTsKKyB9CitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2Nv bW1vbi9zZWN1cml0eWNoZWNrX2RlZmF1bHQuYyBiL3Byb3ZpZGVycy9jb21tb24vc2VjdXJpdHlj aGVja19kZWZhdWx0LmMKK2luZGV4IGRlN2YwZDNhMGEuLmNlNTRhOTRmYmMgMTAwNjQ0CistLS0g YS9wcm92aWRlcnMvY29tbW9uL3NlY3VyaXR5Y2hlY2tfZGVmYXVsdC5jCisrKysgYi9wcm92aWRl cnMvY29tbW9uL3NlY3VyaXR5Y2hlY2tfZGVmYXVsdC5jCitAQCAtMTUsNiArMTUsNyBAQAorICNp bmNsdWRlIDxvcGVuc3NsL29ial9tYWMuaD4KKyAjaW5jbHVkZSAicHJvdi9zZWN1cml0eWNoZWNr LmgiCisgI2luY2x1ZGUgImludGVybmFsL25lbGVtLmgiCisrI2luY2x1ZGUgImludGVybmFsL3Nz bGNvbmYuaCIKKyAKKyAvKiBEaXNhYmxlIHRoZSBzZWN1cml0eSBjaGVja3MgaW4gdGhlIGRlZmF1 bHQgcHJvdmlkZXIgKi8KKyBpbnQgb3NzbF9zZWN1cml0eWNoZWNrX2VuYWJsZWQoT1NTTF9MSUJf Q1RYICpsaWJjdHgpCitAQCAtMjMsOSArMjQsMTAgQEAgaW50IG9zc2xfc2VjdXJpdHljaGVja19l bmFibGVkKE9TU0xfTElCX0NUWCAqbGliY3R4KQorIH0KKyAKKyBpbnQgb3NzbF9kaWdlc3RfcnNh X3NpZ25fZ2V0X21kX25pZChPU1NMX0xJQl9DVFggKmN0eCwgY29uc3QgRVZQX01EICptZCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvc3NsX3VudXNlZCBpbnQgc2hhMV9h bGxvd2VkKQorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBzaGExX2Fs bG93ZWQpCisgeworICAgICBpbnQgbWRuaWQ7CisrICAgIGludCBsZHNpZ3NfYWxsb3dlZDsKKyAK KyAgICAgc3RhdGljIGNvbnN0IE9TU0xfSVRFTSBuYW1lX3RvX25pZFtdID0geworICAgICAgICAg eyBOSURfbWQ1LCAgICAgICBPU1NMX0RJR0VTVF9OQU1FX01ENSAgICAgICB9LAorQEAgLTM2LDgg KzM4LDExIEBAIGludCBvc3NsX2RpZ2VzdF9yc2Ffc2lnbl9nZXRfbWRfbmlkKE9TU0xfTElCX0NU WCAqY3R4LCBjb25zdCBFVlBfTUQgKm1kLAorICAgICAgICAgeyBOSURfcmlwZW1kMTYwLCBPU1NM X0RJR0VTVF9OQU1FX1JJUEVNRDE2MCB9LAorICAgICB9OworIAorLSAgICBtZG5pZCA9IG9zc2xf ZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9zaGExKGN0eCwgbWQsIDEpOworKyAgICBsZHNp Z3NfYWxsb3dlZCA9IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKGN0 eCwgMCk7CisrICAgIG1kbmlkID0gb3NzbF9kaWdlc3RfZ2V0X2FwcHJvdmVkX25pZF93aXRoX3No YTEoY3R4LCBtZCwgc2hhMV9hbGxvd2VkIHx8IGxkc2lnc19hbGxvd2VkKTsKKyAgICAgaWYgKG1k bmlkID09IE5JRF91bmRlZikKKyAgICAgICAgIG1kbmlkID0gb3NzbF9kaWdlc3RfbWRfdG9fbmlk KG1kLCBuYW1lX3RvX25pZCwgT1NTTF9ORUxFTShuYW1lX3RvX25pZCkpOworKyAgICBpZiAobWRu aWQgPT0gTklEX21kNV9zaGExICYmICFsZHNpZ3NfYWxsb3dlZCkKKysgICAgICAgIG1kbmlkID0g LTE7CisgICAgIHJldHVybiBtZG5pZDsKKyB9CitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxl bWVudGF0aW9ucy9zaWduYXR1cmUvZHNhX3NpZy5jIGIvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9u cy9zaWduYXR1cmUvZHNhX3NpZy5jCitpbmRleCAyOGZkN2M0OThlLi5mYTM4MjJmMzlmIDEwMDY0 NAorLS0tIGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWduYXR1cmUvZHNhX3NpZy5jCisr KysgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9kc2Ffc2lnLmMKK0BAIC0x MjQsMTIgKzEyNCwxNyBAQCBzdGF0aWMgaW50IGRzYV9zZXR1cF9tZChQUk9WX0RTQV9DVFggKmN0 eCwKKyAgICAgICAgIG1kcHJvcHMgPSBjdHgtPnByb3BxOworIAorICAgICBpZiAobWRuYW1lICE9 IE5VTEwpIHsKKy0gICAgICAgIGludCBzaGExX2FsbG93ZWQgPSAoY3R4LT5vcGVyYXRpb24gIT0g RVZQX1BLRVlfT1BfU0lHTik7CisgICAgICAgICBXUEFDS0VUIHBrdDsKKyAgICAgICAgIEVWUF9N RCAqbWQgPSBFVlBfTURfZmV0Y2goY3R4LT5saWJjdHgsIG1kbmFtZSwgbWRwcm9wcyk7CistICAg ICAgICBpbnQgbWRfbmlkID0gb3NzbF9kaWdlc3RfZ2V0X2FwcHJvdmVkX25pZF93aXRoX3NoYTEo Y3R4LT5saWJjdHgsIG1kLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNoYTFfYWxsb3dlZCk7CisrICAgICAgICBpbnQgbWRfbmlk OworICAgICAgICAgc2l6ZV90IG1kbmFtZV9sZW4gPSBzdHJsZW4obWRuYW1lKTsKKysjaWZkZWYg RklQU19NT0RVTEUKKysgICAgICAgIGludCBzaGExX2FsbG93ZWQgPSAoY3R4LT5vcGVyYXRpb24g IT0gRVZQX1BLRVlfT1BfU0lHTik7CisrI2Vsc2UKKysgICAgICAgIGludCBzaGExX2FsbG93ZWQg PSAwOworKyNlbmRpZgorKyAgICAgICAgbWRfbmlkID0gb3NzbF9kaWdlc3RfZ2V0X2FwcHJvdmVk X25pZF93aXRoX3NoYTEoY3R4LT5saWJjdHgsIG1kLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYTFfYWxsb3dlZCk7CisgCisg ICAgICAgICBpZiAobWQgPT0gTlVMTCB8fCBtZF9uaWQgPCAwKSB7CisgICAgICAgICAgICAgaWYg KG1kID09IE5VTEwpCitkaWZmIC0tZ2l0IGEvcHJvdmlkZXJzL2ltcGxlbWVudGF0aW9ucy9zaWdu YXR1cmUvZWNkc2Ffc2lnLmMgYi9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9l Y2RzYV9zaWcuYworaW5kZXggODY1ZDQ5ZDEwMC4uOTliMjI4ZTgyYyAxMDA2NDQKKy0tLSBhL3By b3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2lnbmF0dXJlL2VjZHNhX3NpZy5jCisrKysgYi9wcm92 aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9lY2RzYV9zaWcuYworQEAgLTIzNyw3ICsy MzcsMTEgQEAgc3RhdGljIGludCBlY2RzYV9zZXR1cF9tZChQUk9WX0VDRFNBX0NUWCAqY3R4LCBj b25zdCBjaGFyICptZG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAiJXMgY291bGQgbm90 IGJlIGZldGNoZWQiLCBtZG5hbWUpOworICAgICAgICAgcmV0dXJuIDA7CisgICAgIH0KKysjaWZk ZWYgRklQU19NT0RVTEUKKyAgICAgc2hhMV9hbGxvd2VkID0gKGN0eC0+b3BlcmF0aW9uICE9IEVW UF9QS0VZX09QX1NJR04pOworKyNlbHNlCisrICAgIHNoYTFfYWxsb3dlZCA9IDA7CisrI2VuZGlm CisgICAgIG1kX25pZCA9IG9zc2xfZGlnZXN0X2dldF9hcHByb3ZlZF9uaWRfd2l0aF9zaGExKGN0 eC0+bGliY3R4LCBtZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2hhMV9hbGxvd2VkKTsKKyAgICAgaWYgKG1kX25pZCA8IDApIHsKK2RpZmYg LS1naXQgYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMgYi9w cm92aWRlcnMvaW1wbGVtZW50YXRpb25zL3NpZ25hdHVyZS9yc2Ffc2lnLmMKK2luZGV4IDMyNWU4 NTUzMzMuLmJlYTM5N2YwYzEgMTAwNjQ0CistLS0gYS9wcm92aWRlcnMvaW1wbGVtZW50YXRpb25z L3NpZ25hdHVyZS9yc2Ffc2lnLmMKKysrKyBiL3Byb3ZpZGVycy9pbXBsZW1lbnRhdGlvbnMvc2ln bmF0dXJlL3JzYV9zaWcuYworQEAgLTI2LDYgKzI2LDcgQEAKKyAjaW5jbHVkZSAiaW50ZXJuYWwv Y3J5cHRsaWIuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvbmVsZW0uaCIKKyAjaW5jbHVkZSAiaW50 ZXJuYWwvc2l6ZXMuaCIKKysjaW5jbHVkZSAiaW50ZXJuYWwvc3NsY29uZi5oIgorICNpbmNsdWRl ICJjcnlwdG8vcnNhLmgiCisgI2luY2x1ZGUgInByb3YvcHJvdmlkZXJjb21tb24uaCIKKyAjaW5j bHVkZSAicHJvdi9pbXBsZW1lbnRhdGlvbnMuaCIKK0BAIC0zNCw2ICszNSw3IEBACisgI2luY2x1 ZGUgInByb3Yvc2VjdXJpdHljaGVjay5oIgorIAorICNkZWZpbmUgUlNBX0RFRkFVTFRfRElHRVNU X05BTUUgT1NTTF9ESUdFU1RfTkFNRV9TSEExCisrI2RlZmluZSBSU0FfREVGQVVMVF9ESUdFU1Rf TkFNRV9OT05MRUdBQ1kgT1NTTF9ESUdFU1RfTkFNRV9TSEEyXzI1NgorIAorIHN0YXRpYyBPU1NM X0ZVTkNfc2lnbmF0dXJlX25ld2N0eF9mbiByc2FfbmV3Y3R4OworIHN0YXRpYyBPU1NMX0ZVTkNf c2lnbmF0dXJlX3NpZ25faW5pdF9mbiByc2Ffc2lnbl9pbml0OworQEAgLTI4OSwxMCArMjkxLDE1 IEBAIHN0YXRpYyBpbnQgcnNhX3NldHVwX21kKFBST1ZfUlNBX0NUWCAqY3R4LCBjb25zdCBjaGFy ICptZG5hbWUsCisgCisgICAgIGlmIChtZG5hbWUgIT0gTlVMTCkgeworICAgICAgICAgRVZQX01E ICptZCA9IEVWUF9NRF9mZXRjaChjdHgtPmxpYmN0eCwgbWRuYW1lLCBtZHByb3BzKTsKKysgICAg ICAgIGludCBtZF9uaWQ7CisrICAgICAgICBzaXplX3QgbWRuYW1lX2xlbiA9IHN0cmxlbihtZG5h bWUpOworKyNpZmRlZiBGSVBTX01PRFVMRQorICAgICAgICAgaW50IHNoYTFfYWxsb3dlZCA9IChj dHgtPm9wZXJhdGlvbiAhPSBFVlBfUEtFWV9PUF9TSUdOKTsKKy0gICAgICAgIGludCBtZF9uaWQg PSBvc3NsX2RpZ2VzdF9yc2Ffc2lnbl9nZXRfbWRfbmlkKGN0eC0+bGliY3R4LCBtZCwKKysjZWxz ZQorKyAgICAgICAgaW50IHNoYTFfYWxsb3dlZCA9IDA7CisrI2VuZGlmCisrICAgICAgICBtZF9u aWQgPSBvc3NsX2RpZ2VzdF9yc2Ffc2lnbl9nZXRfbWRfbmlkKGN0eC0+bGliY3R4LCBtZCwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYTFf YWxsb3dlZCk7CistICAgICAgICBzaXplX3QgbWRuYW1lX2xlbiA9IHN0cmxlbihtZG5hbWUpOwor IAorICAgICAgICAgaWYgKG1kID09IE5VTEwKKyAgICAgICAgICAgICB8fCBtZF9uaWQgPD0gMAor QEAgLTEzNDgsOCArMTM1NSwxNSBAQCBzdGF0aWMgaW50IHJzYV9zZXRfY3R4X3BhcmFtcyh2b2lk ICp2cHJzYWN0eCwgY29uc3QgT1NTTF9QQVJBTSBwYXJhbXNbXSkKKyAgICAgcHJzYWN0eC0+cGFk X21vZGUgPSBwYWRfbW9kZTsKKyAKKyAgICAgaWYgKHByc2FjdHgtPm1kID09IE5VTEwgJiYgcG1k bmFtZSA9PSBOVUxMCistICAgICAgICAmJiBwYWRfbW9kZSA9PSBSU0FfUEtDUzFfUFNTX1BBRERJ TkcpCisrICAgICAgICAmJiBwYWRfbW9kZSA9PSBSU0FfUEtDUzFfUFNTX1BBRERJTkcpIHsKKyAg ICAgICAgIHBtZG5hbWUgPSBSU0FfREVGQVVMVF9ESUdFU1RfTkFNRTsKKysjaWZuZGVmIEZJUFNf TU9EVUxFCisrICAgICAgICBpZiAoIW9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19h bGxvd2VkKHByc2FjdHgtPmxpYmN0eCwgMCkpIHsKKysgICAgICAgICAgICBwbWRuYW1lID0gUlNB X0RFRkFVTFRfRElHRVNUX05BTUVfTk9OTEVHQUNZOworKyAgICAgICAgfQorKyNlbmRpZgorKyAg ICB9CisrCisgCisgICAgIGlmIChwbWdmMW1kbmFtZSAhPSBOVUxMCisgICAgICAgICAmJiAhcnNh X3NldHVwX21nZjFfbWQocHJzYWN0eCwgcG1nZjFtZG5hbWUsIHBtZ2YxbWRwcm9wcykpCitkaWZm IC0tZ2l0IGEvc3NsL3QxX2xpYi5jIGIvc3NsL3QxX2xpYi5jCitpbmRleCBmYzMyYmIzNTU2Li40 Yjc0ZWUxYTM0IDEwMDY0NAorLS0tIGEvc3NsL3QxX2xpYi5jCisrKysgYi9zc2wvdDFfbGliLmMK K0BAIC0yMCw2ICsyMCw3IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvYm4uaD4KKyAjaW5jbHVkZSA8 b3BlbnNzbC9wcm92aWRlci5oPgorICNpbmNsdWRlIDxvcGVuc3NsL3BhcmFtX2J1aWxkLmg+Cisr I2luY2x1ZGUgImludGVybmFsL3NzbGNvbmYuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvbmVsZW0u aCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvc2l6ZXMuaCIKKyAjaW5jbHVkZSAiaW50ZXJuYWwvdGxz Z3JvdXBzLmgiCitAQCAtMTE0NSwxMSArMTE0NiwxMyBAQCBpbnQgc3NsX3NldHVwX3NpZ19hbGdz KFNTTF9DVFggKmN0eCkKKyAgICAgICAgID0gT1BFTlNTTF9tYWxsb2Moc2l6ZW9mKCpsdSkgKiBP U1NMX05FTEVNKHNpZ2FsZ19sb29rdXBfdGJsKSk7CisgICAgIEVWUF9QS0VZICp0bXBrZXkgPSBF VlBfUEtFWV9uZXcoKTsKKyAgICAgaW50IHJldCA9IDA7CisrICAgIGludCBsZHNpZ3NfYWxsb3dl ZDsKKyAKKyAgICAgaWYgKGNhY2hlID09IE5VTEwgfHwgdG1wa2V5ID09IE5VTEwpCisgICAgICAg ICBnb3RvIGVycjsKKyAKKyAgICAgRVJSX3NldF9tYXJrKCk7CisrICAgIGxkc2lnc19hbGxvd2Vk ID0gb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWQoY3R4LT5saWJjdHgs IDApOworICAgICBmb3IgKGkgPSAwLCBsdSA9IHNpZ2FsZ19sb29rdXBfdGJsOworICAgICAgICAg IGkgPCBPU1NMX05FTEVNKHNpZ2FsZ19sb29rdXBfdGJsKTsgbHUrKywgaSsrKSB7CisgICAgICAg ICBFVlBfUEtFWV9DVFggKnBjdHg7CitAQCAtMTE2OSw2ICsxMTcyLDExIEBAIGludCBzc2xfc2V0 dXBfc2lnX2FsZ3MoU1NMX0NUWCAqY3R4KQorICAgICAgICAgICAgIGNhY2hlW2ldLmVuYWJsZWQg PSAwOworICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgfQorKyAgICAgICAgaWYgKChs dS0+aGFzaCA9PSBOSURfc2hhMSB8fCBsdS0+aGFzaCA9PSBOSURfbWQ1X3NoYTEpCisrICAgICAg ICAgICAgICAgICYmICFsZHNpZ3NfYWxsb3dlZCkgeworKyAgICAgICAgICAgIGNhY2hlW2ldLmVu YWJsZWQgPSAwOworKyAgICAgICAgICAgIGNvbnRpbnVlOworKyAgICAgICAgfQorIAorICAgICAg ICAgaWYgKCFFVlBfUEtFWV9zZXRfdHlwZSh0bXBrZXksIGx1LT5zaWcpKSB7CisgICAgICAgICAg ICAgY2FjaGVbaV0uZW5hYmxlZCA9IDA7CitkaWZmIC0tZ2l0IGEvdXRpbC9saWJjcnlwdG8ubnVt IGIvdXRpbC9saWJjcnlwdG8ubnVtCitpbmRleCAxMGI0ZTU3ZDc5Li4yZDNjMzYzYmIwIDEwMDY0 NAorLS0tIGEvdXRpbC9saWJjcnlwdG8ubnVtCisrKysgYi91dGlsL2xpYmNyeXB0by5udW0KK0BA IC01NDI2LDMgKzU0MjYsNSBAQCBBU04xX1RJTUVfcHJpbnRfZXggICAgICAgICAgICAgICAgICAg ICAgNTU1MwkzXzBfMAlFWElTVDo6RlVOQ1RJT046CisgRVZQX1BLRVlfZ2V0MF9wcm92aWRlciAg ICAgICAgICAgICAgICAgIDU1NTQJM18wXzAJRVhJU1Q6OkZVTkNUSU9OOgorIEVWUF9QS0VZX0NU WF9nZXQwX3Byb3ZpZGVyICAgICAgICAgICAgICA1NTU1CTNfMF8wCUVYSVNUOjpGVU5DVElPTjoK KyBvc3NsX3NhZmVfZ2V0ZW52ICAgICAgICAgICAgICAgICAgICAgICAgPwkzXzBfMAlFWElTVDo6 RlVOQ1RJT046Cisrb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVzX2FsbG93ZWQgPwkz XzBfMQlFWElTVDo6RlVOQ1RJT046Cisrb3NzbF9jdHhfbGVnYWN5X2RpZ2VzdF9zaWduYXR1cmVz X2FsbG93ZWRfc2V0ID8JM18wXzEJRVhJU1Q6OkZVTkNUSU9OOgorLS0gCisyLjM1LjEKKwoKZGlm ZiAtLWdpdCBhLzAwNTItQWxsb3ctU0hBMS1pbi1zZWNsZXZlbC0yLWlmLXJoLWFsbG93LXNoYTEt c2lnbmF0dXJlcy5wYXRjaCBiLzAwNTItQWxsb3ctU0hBMS1pbi1zZWNsZXZlbC0yLWlmLXJoLWFs bG93LXNoYTEtc2lnbmF0dXJlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5jN2NiOWI3Ci0tLSAvZGV2L251bGwKKysrIGIvMDA1Mi1BbGxvdy1TSEExLWluLXNlY2xl dmVsLTItaWYtcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzLnBhdGNoCkBAIC0wLDAgKzEsMjA2IEBA CitGcm9tIGM2MzU5OWVlOTcwOGQ1NDMyMDVhOTE3MzIwN2VlNzE2NzMxNWM2MjQgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBDbGVtZW5zIExhbmcgPGNsbGFuZ0ByZWRoYXQuY29tPgor RGF0ZTogVHVlLCAxIE1hciAyMDIyIDE1OjQ0OjE4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIEFs bG93IFNIQTEgaW4gc2VjbGV2ZWwgMiBpZiByaC1hbGxvdy1zaGExLXNpZ25hdHVyZXMgPSB5ZXMK KworUmVmZXJlbmNlczogcmhieiMyMDU1Nzk2CistLS0KKyBjcnlwdG8veDUwOS94NTA5X3ZmeS5j ICAgICAgICB8IDE5ICsrKysrKysrKystCisgZG9jL21hbjUvY29uZmlnLnBvZCAgICAgICAgICAg fCAgNyArKystCisgc3NsL3QxX2xpYi5jICAgICAgICAgICAgICAgICAgfCA2NCArKysrKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLQorIHRlc3QvcmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50 IHwgIDcgKystLQorIDQgZmlsZXMgY2hhbmdlZCwgNzkgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRp b25zKC0pCisKK2RpZmYgLS1naXQgYS9jcnlwdG8veDUwOS94NTA5X3ZmeS5jIGIvY3J5cHRvL3g1 MDkveDUwOV92ZnkuYworaW5kZXggZmYzY2E4M2RlNi4uYTU0OWMxYzExMSAxMDA2NDQKKy0tLSBh L2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKKysrKyBiL2NyeXB0by94NTA5L3g1MDlfdmZ5LmMKK0BA IC0yNSw2ICsyNSw3IEBACisgI2luY2x1ZGUgPG9wZW5zc2wvb2JqZWN0cy5oPgorICNpbmNsdWRl IDxvcGVuc3NsL2NvcmVfbmFtZXMuaD4KKyAjaW5jbHVkZSAiaW50ZXJuYWwvZGFuZS5oIgorKyNp bmNsdWRlICJpbnRlcm5hbC9zc2xjb25mLmgiCisgI2luY2x1ZGUgImNyeXB0by94NTA5LmgiCisg I2luY2x1ZGUgIng1MDlfbG9jYWwuaCIKKyAKK0BAIC0zNDQwLDE0ICszNDQxLDMwIEBAIHN0YXRp YyBpbnQgY2hlY2tfc2lnX2xldmVsKFg1MDlfU1RPUkVfQ1RYICpjdHgsIFg1MDkgKmNlcnQpCisg eworICAgICBpbnQgc2VjYml0cyA9IC0xOworICAgICBpbnQgbGV2ZWwgPSBjdHgtPnBhcmFtLT5h dXRoX2xldmVsOworKyAgICBpbnQgbmlkOworKyAgICBPU1NMX0xJQl9DVFggKmxpYmN0eCA9IE5V TEw7CisgCisgICAgIGlmIChsZXZlbCA8PSAwKQorICAgICAgICAgcmV0dXJuIDE7CisgICAgIGlm IChsZXZlbCA+IE5VTV9BVVRIX0xFVkVMUykKKyAgICAgICAgIGxldmVsID0gTlVNX0FVVEhfTEVW RUxTOworIAorLSAgICBpZiAoIVg1MDlfZ2V0X3NpZ25hdHVyZV9pbmZvKGNlcnQsIE5VTEwsIE5V TEwsICZzZWNiaXRzLCBOVUxMKSkKKysgICAgaWYgKGN0eC0+bGliY3R4KQorKyAgICAgICAgbGli Y3R4ID0gY3R4LT5saWJjdHg7CisrICAgIGVsc2UgaWYgKGNlcnQtPmxpYmN0eCkKKysgICAgICAg IGxpYmN0eCA9IGNlcnQtPmxpYmN0eDsKKysgICAgZWxzZQorKyAgICAgICAgbGliY3R4ID0gT1NT TF9MSUJfQ1RYX2dldDBfZ2xvYmFsX2RlZmF1bHQoKTsKKysKKysgICAgaWYgKCFYNTA5X2dldF9z aWduYXR1cmVfaW5mbyhjZXJ0LCAmbmlkLCBOVUxMLCAmc2VjYml0cywgTlVMTCkpCisgICAgICAg ICByZXR1cm4gMDsKKyAKKysgICAgaWYgKG5pZCA9PSBOSURfc2hhMQorKyAgICAgICAgICAgICYm IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKGxpYmN0eCwgMCkKKysg ICAgICAgICAgICAmJiBjdHgtPnBhcmFtLT5hdXRoX2xldmVsIDwgMykKKysgICAgICAgIC8qIFdo ZW4gcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzID0geWVzIGFuZCBzZWN1cml0eSBsZXZlbCA8PSAy LAorKyAgICAgICAgICogZXhwbGljaXRseSBhbGxvdyBTSEExIGZvciBiYWNrd2FyZHMgY29tcGF0 aWJpbGl0eS4gKi8KKysgICAgICAgIHJldHVybiAxOworKworICAgICByZXR1cm4gc2VjYml0cyA+ PSBtaW5iaXRzX3RhYmxlW2xldmVsIC0gMV07CisgfQorZGlmZiAtLWdpdCBhL2RvYy9tYW41L2Nv bmZpZy5wb2QgYi9kb2MvbWFuNS9jb25maWcucG9kCitpbmRleCBhYTFiZTVjYTdmLi5hYTY5ZTJi ODQ0IDEwMDY0NAorLS0tIGEvZG9jL21hbjUvY29uZmlnLnBvZAorKysrIGIvZG9jL21hbjUvY29u ZmlnLnBvZAorQEAgLTMwNSw3ICszMDUsMTIgQEAgV2hlbiBzZXQgdG8gQjxubz4sIGFueSBhdHRl bXB0IHRvIGNyZWF0ZSBvciB2ZXJpZnkgYSBzaWduYXR1cmUgd2l0aCBhIFNIQTEKKyBkaWdlc3Qg d2lsbCBmYWlsLiAgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucyBvZiBPcGVu U1NMLCBzZXQgdGhpcworIG9wdGlvbiB0byBCPHllcz4uICBUaGlzIHNldHRpbmcgYWxzbyBhZmZl Y3RzIFRMUywgd2hlcmUgc2lnbmF0dXJlIGFsZ29yaXRobXMKKyB0aGF0IHVzZSBTSEExIGFzIGRp Z2VzdCB3aWxsIG5vIGxvbmdlciBiZSBzdXBwb3J0ZWQgaWYgdGhpcyBvcHRpb24gaXMgc2V0IHRv CistQjxubz4uCisrQjxubz4uICBOb3RlIHRoYXQgZW5hYmxpbmcgQjxyaC1hbGxvdy1zaGExLXNp Z25hdHVyZXM+IHdpbGwgYWxsb3cgVExTIHNpZ25hdHVyZQorK2FsZ29yaXRobXMgdGhhdCB1c2Ug U0hBMSBpbiBzZWN1cml0eSBsZXZlbCAyLCBkZXNwaXRlIHRoZSBkZWZpbml0aW9uIG9mCisrc2Vj dXJpdHkgbGV2ZWwgMiBvZiAxMTIgYml0cyBvZiBzZWN1cml0eSwgd2hpY2ggU0hBMSBkb2VzIG5v dCBtZWV0LiAgQmVjYXVzZQorK1RMUyAxLjEgb3IgbG93ZXIgdXNlIE1ENS1TSEExIGFzIHBzZXVk b3JhbmRvbSBmdW5jdGlvbiAoUFJGKSB0byBkZXJpdmUga2V5CisrbWF0ZXJpYWwsIGRpc2FibGlu ZyBCPHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcz4gcmVxdWlyZXMgdGhlIHVzZSBvZiBUTFMgMS4y IG9yCisrbmV3ZXIuCisgCisgPWl0ZW0gQjxmaXBzX21vZGU+IChkZXByZWNhdGVkKQorIAorZGlm ZiAtLWdpdCBhL3NzbC90MV9saWIuYyBiL3NzbC90MV9saWIuYworaW5kZXggNGI3NGVlMWEzNC4u NWYwODlkZTEwNyAxMDA2NDQKKy0tLSBhL3NzbC90MV9saWIuYworKysrIGIvc3NsL3QxX2xpYi5j CitAQCAtMjAsNiArMjAsNyBAQAorICNpbmNsdWRlIDxvcGVuc3NsL2JuLmg+CisgI2luY2x1ZGUg PG9wZW5zc2wvcHJvdmlkZXIuaD4KKyAjaW5jbHVkZSA8b3BlbnNzbC9wYXJhbV9idWlsZC5oPgor KyNpbmNsdWRlICJjcnlwdG8veDUwOS5oIgorICNpbmNsdWRlICJpbnRlcm5hbC9zc2xjb25mLmgi CisgI2luY2x1ZGUgImludGVybmFsL25lbGVtLmgiCisgI2luY2x1ZGUgImludGVybmFsL3NpemVz LmgiCitAQCAtMTU2MSwxOSArMTU2MiwyNyBAQCBpbnQgdGxzMTJfY2hlY2tfcGVlcl9zaWdhbGco U1NMICpzLCB1aW50MTZfdCBzaWcsIEVWUF9QS0VZICpwa2V5KQorICAgICAgICAgU1NMZmF0YWwo cywgU1NMX0FEX0hBTkRTSEFLRV9GQUlMVVJFLCBTU0xfUl9VTktOT1dOX0RJR0VTVCk7CisgICAg ICAgICByZXR1cm4gMDsKKyAgICAgfQorLSAgICAvKgorLSAgICAgKiBNYWtlIHN1cmUgc2VjdXJp dHkgY2FsbGJhY2sgYWxsb3dzIGFsZ29yaXRobS4gRm9yIGhpc3RvcmljYWwKKy0gICAgICogcmVh c29ucyB3ZSBoYXZlIHRvIHBhc3MgdGhlIHNpZ2FsZyBhcyBhIHR3byBieXRlIGNoYXIgYXJyYXku CistICAgICAqLworLSAgICBzaWdhbGdzdHJbMF0gPSAoc2lnID4+IDgpICYgMHhmZjsKKy0gICAg c2lnYWxnc3RyWzFdID0gc2lnICYgMHhmZjsKKy0gICAgc2VjYml0cyA9IHNpZ2FsZ19zZWN1cml0 eV9iaXRzKHMtPmN0eCwgbHUpOworLSAgICBpZiAoc2VjYml0cyA9PSAwIHx8CistICAgICAgICAh c3NsX3NlY3VyaXR5KHMsIFNTTF9TRUNPUF9TSUdBTEdfQ0hFQ0ssIHNlY2JpdHMsCistICAgICAg ICAgICAgICAgICAgICAgIG1kICE9IE5VTEwgPyBFVlBfTURfZ2V0X3R5cGUobWQpIDogTklEX3Vu ZGVmLAorLSAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKXNpZ2FsZ3N0cikpIHsKKy0gICAg ICAgIFNTTGZhdGFsKHMsIFNTTF9BRF9IQU5EU0hBS0VfRkFJTFVSRSwgU1NMX1JfV1JPTkdfU0lH TkFUVVJFX1RZUEUpOworLSAgICAgICAgcmV0dXJuIDA7CisrCisrICAgIGlmIChsdS0+aGFzaCA9 PSBOSURfc2hhMQorKyAgICAgICAgICAgICYmIG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0 dXJlc19hbGxvd2VkKHMtPmN0eC0+bGliY3R4LCAwKQorKyAgICAgICAgICAgICYmIFNTTF9nZXRf c2VjdXJpdHlfbGV2ZWwocykgPCAzKSB7CisrICAgICAgICAvKiB3aGVuIHJoLWFsbG93LXNoYTEt c2lnbmF0dXJlcyA9IHllcyBhbmQgc2VjdXJpdHkgbGV2ZWwgPD0gMiwKKysgICAgICAgICAqIGV4 cGxpY2l0bHkgYWxsb3cgU0hBMSBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KKysgICAg fSBlbHNlIHsKKysgICAgICAgIC8qCisrICAgICAgICAgKiBNYWtlIHN1cmUgc2VjdXJpdHkgY2Fs bGJhY2sgYWxsb3dzIGFsZ29yaXRobS4gRm9yIGhpc3RvcmljYWwKKysgICAgICAgICAqIHJlYXNv bnMgd2UgaGF2ZSB0byBwYXNzIHRoZSBzaWdhbGcgYXMgYSB0d28gYnl0ZSBjaGFyIGFycmF5Lgor KyAgICAgICAgICovCisrICAgICAgICBzaWdhbGdzdHJbMF0gPSAoc2lnID4+IDgpICYgMHhmZjsK KysgICAgICAgIHNpZ2FsZ3N0clsxXSA9IHNpZyAmIDB4ZmY7CisrICAgICAgICBzZWNiaXRzID0g c2lnYWxnX3NlY3VyaXR5X2JpdHMocy0+Y3R4LCBsdSk7CisrICAgICAgICBpZiAoc2VjYml0cyA9 PSAwIHx8CisrICAgICAgICAgICAgIXNzbF9zZWN1cml0eShzLCBTU0xfU0VDT1BfU0lHQUxHX0NI RUNLLCBzZWNiaXRzLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgbWQgIT0gTlVMTCA/IEVW UF9NRF9nZXRfdHlwZShtZCkgOiBOSURfdW5kZWYsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAodm9pZCAqKXNpZ2FsZ3N0cikpIHsKKysgICAgICAgICAgICBTU0xmYXRhbChzLCBTU0xfQURf SEFORFNIQUtFX0ZBSUxVUkUsIFNTTF9SX1dST05HX1NJR05BVFVSRV9UWVBFKTsKKysgICAgICAg ICAgICByZXR1cm4gMDsKKysgICAgICAgIH0KKyAgICAgfQorICAgICAvKiBTdG9yZSB0aGUgc2ln YWxnIHRoZSBwZWVyIHVzZXMgKi8KKyAgICAgcy0+czMudG1wLnBlZXJfc2lnYWxnID0gbHU7CitA QCAtMjEwNiw2ICsyMTE1LDE0IEBAIHN0YXRpYyBpbnQgdGxzMTJfc2lnYWxnX2FsbG93ZWQoY29u c3QgU1NMICpzLCBpbnQgb3AsIGNvbnN0IFNJR0FMR19MT09LVVAgKmx1KQorICAgICAgICAgfQor ICAgICB9CisgCisrICAgIGlmIChsdS0+aGFzaCA9PSBOSURfc2hhMQorKyAgICAgICAgICAgICYm IG9zc2xfY3R4X2xlZ2FjeV9kaWdlc3Rfc2lnbmF0dXJlc19hbGxvd2VkKHMtPmN0eC0+bGliY3R4 LCAwKQorKyAgICAgICAgICAgICYmIFNTTF9nZXRfc2VjdXJpdHlfbGV2ZWwocykgPCAzKSB7Cisr ICAgICAgICAvKiB3aGVuIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyA9IHllcyBhbmQgc2VjdXJp dHkgbGV2ZWwgPD0gMiwKKysgICAgICAgICAqIGV4cGxpY2l0bHkgYWxsb3cgU0hBMSBmb3IgYmFj a3dhcmRzIGNvbXBhdGliaWxpdHkgKi8KKysgICAgICAgIHJldHVybiAxOworKyAgICB9CisrCisg ICAgIC8qIEZpbmFsbHkgc2VlIGlmIHNlY3VyaXR5IGNhbGxiYWNrIGFsbG93cyBpdCAqLworICAg ICBzZWNiaXRzID0gc2lnYWxnX3NlY3VyaXR5X2JpdHMocy0+Y3R4LCBsdSk7CisgICAgIHNpZ2Fs Z3N0clswXSA9IChsdS0+c2lnYWxnID4+IDgpICYgMHhmZjsKK0BAIC0yOTc3LDYgKzI5OTQsOCBA QCBzdGF0aWMgaW50IHNzbF9zZWN1cml0eV9jZXJ0X3NpZyhTU0wgKnMsIFNTTF9DVFggKmN0eCwg WDUwOSAqeCwgaW50IG9wKQorIHsKKyAgICAgLyogTG9va3VwIHNpZ25hdHVyZSBhbGdvcml0aG0g ZGlnZXN0ICovCisgICAgIGludCBzZWNiaXRzLCBuaWQsIHBrbmlkOworKyAgICBPU1NMX0xJQl9D VFggKmxpYmN0eCA9IE5VTEw7CisrCisgICAgIC8qIERvbid0IGNoZWNrIHNpZ25hdHVyZSBpZiBz ZWxmIHNpZ25lZCAqLworICAgICBpZiAoKFg1MDlfZ2V0X2V4dGVuc2lvbl9mbGFncyh4KSAmIEVY RkxBR19TUykgIT0gMCkKKyAgICAgICAgIHJldHVybiAxOworQEAgLTI5ODUsNiArMzAwNCwyNSBA QCBzdGF0aWMgaW50IHNzbF9zZWN1cml0eV9jZXJ0X3NpZyhTU0wgKnMsIFNTTF9DVFggKmN0eCwg WDUwOSAqeCwgaW50IG9wKQorICAgICAvKiBJZiBkaWdlc3QgTklEIG5vdCBkZWZpbmVkIHVzZSBz aWduYXR1cmUgTklEICovCisgICAgIGlmIChuaWQgPT0gTklEX3VuZGVmKQorICAgICAgICAgbmlk ID0gcGtuaWQ7CisrCisrICAgIGlmICh4ICYmIHgtPmxpYmN0eCkKKysgICAgICAgIGxpYmN0eCA9 IHgtPmxpYmN0eDsKKysgICAgZWxzZSBpZiAoY3R4ICYmIGN0eC0+bGliY3R4KQorKyAgICAgICAg bGliY3R4ID0gY3R4LT5saWJjdHg7CisrICAgIGVsc2UgaWYgKHMgJiYgcy0+Y3R4ICYmIHMtPmN0 eC0+bGliY3R4KQorKyAgICAgICAgbGliY3R4ID0gcy0+Y3R4LT5saWJjdHg7CisrICAgIGVsc2UK KysgICAgICAgIGxpYmN0eCA9IE9TU0xfTElCX0NUWF9nZXQwX2dsb2JhbF9kZWZhdWx0KCk7Cisr CisrICAgIGlmIChuaWQgPT0gTklEX3NoYTEKKysgICAgICAgICAgICAmJiBvc3NsX2N0eF9sZWdh Y3lfZGlnZXN0X3NpZ25hdHVyZXNfYWxsb3dlZChsaWJjdHgsIDApCisrICAgICAgICAgICAgJiYg KChzICE9IE5VTEwgJiYgU1NMX2dldF9zZWN1cml0eV9sZXZlbChzKSA8IDMpCisrICAgICAgICAg ICAgICAgIHx8IChjdHggIT0gTlVMTCAmJiBTU0xfQ1RYX2dldF9zZWN1cml0eV9sZXZlbChjdHgp IDwgMykKKysgICAgICAgICAgICApKQorKyAgICAgICAgLyogV2hlbiByaC1hbGxvdy1zaGExLXNp Z25hdHVyZXMgPSB5ZXMgYW5kIHNlY3VyaXR5IGxldmVsIDw9IDIsCisrICAgICAgICAgKiBleHBs aWNpdGx5IGFsbG93IFNIQTEgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LiAqLworKyAgICAg ICAgcmV0dXJuIDE7CisrCisgICAgIGlmIChzKQorICAgICAgICAgcmV0dXJuIHNzbF9zZWN1cml0 eShzLCBvcCwgc2VjYml0cywgbmlkLCB4KTsKKyAgICAgZWxzZQorZGlmZiAtLWdpdCBhL3Rlc3Qv cmVjaXBlcy8yNS10ZXN0X3ZlcmlmeS50IGIvdGVzdC9yZWNpcGVzLzI1LXRlc3RfdmVyaWZ5LnQK K2luZGV4IDcwMGJiZDg0OWMuLjJkZTFkNzZiNWUgMTAwNjQ0CistLS0gYS90ZXN0L3JlY2lwZXMv MjUtdGVzdF92ZXJpZnkudAorKysrIGIvdGVzdC9yZWNpcGVzLzI1LXRlc3RfdmVyaWZ5LnQKK0BA IC0yOSw3ICsyOSw3IEBAIHN1YiB2ZXJpZnkgeworICAgICBydW4oYXBwKFtAYXJnc10pKTsKKyB9 CisgCistcGxhbiB0ZXN0cyA9PiAxNjA7CisrcGxhbiB0ZXN0cyA9PiAxNTk7CisgCisgIyBDYW5v bmljYWwgc3VjY2VzcworIG9rKHZlcmlmeSgiZWUtY2VydCIsICJzc2xzZXJ2ZXIiLCBbInJvb3Qt Y2VydCJdLCBbImNhLWNlcnQiXSksCitAQCAtMzg3LDggKzM4Nyw5IEBAIG9rKHZlcmlmeSgiZWUt cHNzLXNoYTEtY2VydCIsICIiLCBbInJvb3QtY2VydCJdLCBbImNhLWNlcnQiXSwgIi1hdXRoX2xl dmVsIiwgIjAiCisgb2sodmVyaWZ5KCJlZS1wc3Mtc2hhMjU2LWNlcnQiLCAiIiwgWyJyb290LWNl cnQiXSwgWyJjYS1jZXJ0Il0sICksCisgICAgICJDQSB3aXRoIFBTUyBzaWduYXR1cmUgdXNpbmcg U0hBMjU2Iik7CisgCistb2soIXZlcmlmeSgiZWUtcHNzLXNoYTEtY2VydCIsICIiLCBbInJvb3Qt Y2VydCJdLCBbImNhLWNlcnQiXSwgIi1hdXRoX2xldmVsIiwgIjEiKSwKKy0gICAgIlJlamVjdCBQ U1Mgc2lnbmF0dXJlIHVzaW5nIFNIQTEgYW5kIGF1dGggbGV2ZWwgMSIpOworKyMjIHJoLWFsbG93 LXNoYTEtc2lnbmF0dXJlcz15ZXMgYWxsb3dzIHRoaXMgdG8gcGFzcyBkZXNwaXRlIC1hdXRoX2xl dmVsIDEKKysjb2soIXZlcmlmeSgiZWUtcHNzLXNoYTEtY2VydCIsICIiLCBbInJvb3QtY2VydCJd LCBbImNhLWNlcnQiXSwgIi1hdXRoX2xldmVsIiwgIjEiKSwKKysjICAgICJSZWplY3QgUFNTIHNp Z25hdHVyZSB1c2luZyBTSEExIGFuZCBhdXRoIGxldmVsIDEiKTsKKyAKKyBvayh2ZXJpZnkoImVl LXBzcy1zaGEyNTYtY2VydCIsICIiLCBbInJvb3QtY2VydCJdLCBbImNhLWNlcnQiXSwgIi1hdXRo X2xldmVsIiwgIjIiKSwKKyAgICAgIlBTUyBzaWduYXR1cmUgdXNpbmcgU0hBMjU2IGFuZCBhdXRo IGxldmVsIDIiKTsKKy0tIAorMi4zNS4xCisKCmRpZmYgLS1naXQgYS9vcGVuc3NsLnNwZWMgYi9v cGVuc3NsLnNwZWMKaW5kZXggODc0YzBmMy4uNGYzYzUwMiAxMDA2NDQKLS0tIGEvb3BlbnNzbC5z cGVjCisrKyBiL29wZW5zc2wuc3BlYwpAQCAtMTUsNyArMTUsNyBAQAogU3VtbWFyeTogVXRpbGl0 aWVzIGZyb20gdGhlIGdlbmVyYWwgcHVycG9zZSBjcnlwdG9ncmFwaHkgbGlicmFyeSB3aXRoIFRM UyBpbXBsZW1lbnRhdGlvbgogTmFtZTogb3BlbnNzbAogVmVyc2lvbjogMy4wLjIKLVJlbGVhc2U6 IDIlez9kaXN0fQorUmVsZWFzZTogMyV7P2Rpc3R9CiBFcG9jaDogMQogIyBXZSBoYXZlIHRvIHJl bW92ZSBjZXJ0YWluIHBhdGVudGVkIGFsZ29yaXRobXMgZnJvbSB0aGUgb3BlbnNzbCBzb3VyY2UK ICMgdGFyYmFsbCB3aXRoIHRoZSBob2JibGUtb3BlbnNzbCBzY3JpcHQgd2hpY2ggaXMgaW5jbHVk ZWQgYmVsb3cuCkBAIC01NywxMiArNTcsMjIgQEAgUGF0Y2gxMTogMDAxMS1SZW1vdmUtRUMtY3Vy dmVzLnBhdGNoCiBQYXRjaDEyOiAwMDEyLURpc2FibGUtZXhwbGljaXQtZWMucGF0Y2gKICMgSW5z dHJ1Y3Rpb25zIHRvIGxvYWQgbGVnYWN5IHByb3ZpZGVyIGluIG9wZW5zc2wuY25mCiBQYXRjaDI0 OiAwMDI0LWxvYWQtbGVnYWN5LXByb3YucGF0Y2gKKyVpZiAwJXs/cmhlbH0KKyMgU2VsZWN0aXZl bHkgZGlzYWxsb3cgU0hBMSBzaWduYXR1cmVzCitQYXRjaDQ5OiAwMDQ5LVNlbGVjdGl2ZWx5LWRp c2FsbG93LVNIQTEtc2lnbmF0dXJlcy5wYXRjaAorJWVsc2UKICMgU2VsZWN0aXZlbHkgZGlzYWxs b3cgU0hBMSBzaWduYXR1cmVzIHJoYnojMjA3MDk3NwogUGF0Y2g0OTogMDA0OS1BbGxvdy1kaXNh Ymxpbmctb2YtU0hBMS1zaWduYXR1cmVzLnBhdGNoCislZW5kaWYKICMgQmFja3BvcnQgb2YgcGF0 Y2ggZm9yIFJIRUwgZm9yIEVkZ2UgcmhieiAjMjAyNzI2MQogUGF0Y2g1MTogMDA1MS1TdXBwb3J0 LWRpZmZlcmVudC1SX0JJVFMtbGVuZ3Rocy1mb3ItS0JLREYucGF0Y2gKKyVpZiAwJXs/cmhlbH0K KyMgQWxsb3cgU0hBMSBpbiBzZWNsZXZlbCAyIGlmIHJoLWFsbG93LXNoYTEtc2lnbmF0dXJlcyA9 IHllcworUGF0Y2g1MjogMDA1Mi1BbGxvdy1TSEExLWluLXNlY2xldmVsLTItaWYtcmgtYWxsb3ct c2hhMS1zaWduYXR1cmVzLnBhdGNoCislZWxzZQogIyBTdXBwb3J0IFNIQTEgaW4gVExTIGluIExF R0FDWSBjcnlwdG8tcG9saWN5ICh3aGljaCBpcyBTRUNMRVZFTD0xKQogUGF0Y2g1MjogMDA1Mi1B bGxvdy1TSEExLWluLXNlY2xldmVsLTEtaWYtcmgtYWxsb3ctc2hhMS1zaWduYXR1cmVzLnBhdGNo CislZW5kaWYKIAogTGljZW5zZTogQVNMIDIuMAogVVJMOiBodHRwOi8vd3d3Lm9wZW5zc2wub3Jn LwpAQCAtMjM2LDYgKzI0NiwxMCBAQCBwYXRjaCAtcDEgLVIgPCAle1BBVENINH0KIAogT1BFTlNT TF9FTkFCTEVfTUQ1X1ZFUklGWT0KIGV4cG9ydCBPUEVOU1NMX0VOQUJMRV9NRDVfVkVSSUZZCisl aWYgMCV7P3JoZWx9CitPUEVOU1NMX0VOQUJMRV9TSEExX1NJR05BVFVSRVM9CitleHBvcnQgT1BF TlNTTF9FTkFCTEVfU0hBMV9TSUdOQVRVUkVTCislZW5kaWYKIE9QRU5TU0xfU1lTVEVNX0NJUEhF UlNfT1ZFUlJJREU9eHl6X25vbmV4aXN0ZW50X2ZpbGUKIGV4cG9ydCBPUEVOU1NMX1NZU1RFTV9D SVBIRVJTX09WRVJSSURFCiBtYWtlIHRlc3QgSEFSTkVTU19KT0JTPTgKQEAgLTM4OSw2ICs0MDMs OSBAQCBpbnN0YWxsIC1tNjQ0ICV7U09VUkNFOX0gXAogJWxkY29uZmlnX3NjcmlwdGxldHMgbGli cwogCiAlY2hhbmdlbG9nCisqIFdlZCBBcHIgMjAgMjAyMiBDbGVtZW5zIExhbmcgPGNsbGFuZ0By ZWRoYXQuY29tPiAtIDE6My4wLjItMworLSBEaXNhYmxlIFNIQS0xIGJ5IGRlZmF1bHQgaW4gRUxO IHVzaW5nIHRoZSBwYXRjaGVzIGZyb20gQ2VudE9TCisKICogVGh1IEFwciAwNyAyMDIyIENsZW1l bnMgTGFuZyA8Y2xsYW5nQHJlZGhhdC5jb20+IC0gMTozLjAuMi0yCiAtIFNpbGVuY2UgYSBmZXcg cnBtbGludCBmYWxzZSBwb3NpdGl2ZXMuCiAK