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: =?utf-8?b?UGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPg==?= To: git-commits@fedoraproject.org Subject: [rpms/softhsm] rawhide: Bring back prevent-global-deleted-objects-access.patch Date: Tue, 16 Jun 2026 13:48:12 GMT Message-ID: <178161769278.1.1884608328078754656.rpms-softhsm-11a9a93544a9@fedoraproject.org> List-ID: X-Git-Repo: rpms/softhsm X-Git-Branch: rawhide X-Git-Rev: 11a9a93544a954d29d76b348e84181fddf17178d ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvc29mdGhzbQogICAgICAgICAgICBCcmFuY2ggOiByYXdoaWRlCiAgICAgICAg ICAgIENvbW1pdCA6IDExYTlhOTM1NDRhOTU0ZDI5ZDc2YjM0OGU4NDE4MWZkZGYxNzE3OGQKICAg ICAgICAgICAgQXV0aG9yIDogUGF2b2wgxb3DocSNaWsgPHB6YWNpa0ByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDI2LTA2LTE2VDE1OjM5OjA3KzAyOjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs2ODcvLTEgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvc29mdGhzbS9jLzExYTlhOTM1NDRhOTU0ZDI5ZDc2 YjM0OGU4NDE4MWZkZGYxNzE3OGQ/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgQnJpbmcgYmFjayBwcmV2ZW50LWdsb2JhbC1kZWxldGVkLW9iamVjdHMtYWNjZXNz LnBhdGNoCgpGcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9zb2Z0aHNtL1NvZnRIU012Mi9wdWxsLzc0 Mi4KCldpdGhvdXQgdGhlIHBhdGNoLCBzb2Z0aHNtIHNlZ2ZhdWx0cyB3aGVuIGl0cyBBUEkgZnVu Y3Rpb25zCmFyZSBjYWxsZWQgYWZ0ZXIgdGhlIHNpbmdsZXRvbiBTb2Z0SFNNIG9iamVjdCBpcyBk ZXN0cm95ZWQuCgotLS0KZGlmZiAtLWdpdCBhL3ByZXZlbnQtZ2xvYmFsLWRlbGV0ZWQtb2JqZWN0 cy1hY2Nlc3MucGF0Y2ggYi9wcmV2ZW50LWdsb2JhbC1kZWxldGVkLW9iamVjdHMtYWNjZXNzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1N2NlOTgKLS0tIC9kZXYv bnVsbAorKysgYi9wcmV2ZW50LWdsb2JhbC1kZWxldGVkLW9iamVjdHMtYWNjZXNzLnBhdGNoCkBA IC0wLDAgKzEsNjc4IEBACitGcm9tIDQ4Nzg2MDkwOTBhZDg0ZGM2ZDlmOGY0ODJlZTA0Yjk2YmYx MjM5ZWEgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBOZWlsIEhvcm1hbiA8bmhvcm1h bkBvcGVuc3NsLm9yZz4KK0RhdGU6IEZyaSwgMjcgT2N0IDIwMjMgMTQ6NTc6MzcgLTA0MDAKK1N1 YmplY3Q6IFtQQVRDSF0gUHJldmVudCBhY2Nlc3Npbmcgb2YgZ2xvYmFsIGMrKyBvYmplY3RzIG9u Y2UgdGhleSBhcmUgZGVsZXRlZAorCitGaXhlcyAoTWF5YmUpICM3MjkuCitSZXNldCBvYmplY3Rz X2RlbGV0ZWQgYWZ0ZXIgcmVzZXQgaXMgY2FsbGVkLgorLS0tCisgc3JjL2xpYi9Tb2Z0SFNNLmNw cCB8ICAgNiArKworIHNyYy9saWIvbWFpbi5jcHAgICAgfCAxMzggKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKKyAyIGZpbGVzIGNoYW5nZWQsIDE0NCBpbnNlcnRp b25zKCspCisKK2RpZmYgLS1naXQgYS9zcmMvbGliL1NvZnRIU00uY3BwIGIvc3JjL2xpYi9Tb2Z0 SFNNLmNwcAoraW5kZXggOGEyYTczYy4uYTJkOGEzNyAxMDA2NDQKKy0tLSBhL3NyYy9saWIvU29m dEhTTS5jcHAKKysrKyBiL3NyYy9saWIvU29mdEhTTS5jcHAKK0BAIC04Nyw2ICs4Nyw4IEBACisg I2luY2x1ZGUgPHVuaXN0ZC5oPgorICNlbmRpZgorIAorK2ludCBvYmplY3RzX2RlbGV0ZWQgPSAw OworKworIC8vIEluaXRpYWxpc2UgdGhlIG9uZS1hbmQtb25seSBpbnN0YW5jZQorIAorICNpZmRl ZiBIQVZFX0NYWDExCitAQCAtMzk2LDYgKzM5OCw3IEBAIFNvZnRIU00qIFNvZnRIU006OmkoKQor IAkJCSAqLworIAkJCWluc3RhbmNlLnJlc2V0KE5VTEwpOworIAkJCWluc3RhbmNlLnJlc2V0KG5l dyBTb2Z0SFNNKCkpOworKwkJCW9iamVjdHNfZGVsZXRlZCA9IDA7CisgCQl9CisgCX0KKyAKK0BA IC00MDYsNiArNDA5LDggQEAgdm9pZCBTb2Z0SFNNOjpyZXNldCgpCisgeworIAlpZiAoaW5zdGFu Y2UuZ2V0KCkpCisgCQlpbnN0YW5jZS5yZXNldCgpOworKworKwlvYmplY3RzX2RlbGV0ZWQgPSAw OworIH0KKyAKKyAvLyBDb25zdHJ1Y3RvcgorQEAgLTQ0NSw2ICs0NTAsNyBAQCBTb2Z0SFNNOjp+ U29mdEhTTSgpCisgCisgCWlzSW5pdGlhbGlzZWQgPSBmYWxzZTsKKyAKKysJb2JqZWN0c19kZWxl dGVkID0gMTsKKyAJcmVzZXRNdXRleEZhY3RvcnlDYWxsYmFja3MoKTsKKyB9CisgCitkaWZmIC0t Z2l0IGEvc3JjL2xpYi9tYWluLmNwcCBiL3NyYy9saWIvbWFpbi5jcHAKK2luZGV4IDJkZmQwZWIu LmU4OWYxOGMgMTAwNjQ0CistLS0gYS9zcmMvbGliL21haW4uY3BwCisrKysgYi9zcmMvbGliL21h aW4uY3BwCitAQCAtNDksNiArNDksOCBAQAorICNkZWZpbmUgUEtDU19BUEkKKyAjZW5kaWYKKyAK KytleHRlcm4gaW50IG9iamVjdHNfZGVsZXRlZDsKKysKKyAvLyBQS0NTICMxMSBmdW5jdGlvbiBs aXN0Cisgc3RhdGljIENLX0ZVTkNUSU9OX0xJU1QgZnVuY3Rpb25MaXN0ID0KKyB7CitAQCAtMTMw LDYgKzEzMiw4IEBAIFBLQ1NfQVBJIENLX1JWIENfSW5pdGlhbGl6ZShDS19WT0lEX1BUUiBwSW5p dEFyZ3MpCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJ CXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19J bml0aWFsaXplKHBJbml0QXJncyk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0xNDUsNiArMTQ5 LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19GaW5hbGl6ZShDS19WT0lEX1BUUiBwUmVzZXJ2ZWQpCisg eworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBD S1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19GaW5hbGl6ZShw UmVzZXJ2ZWQpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMTYwLDYgKzE2Niw4IEBAIFBLQ1Nf QVBJIENLX1JWIENfR2V0SW5mbyhDS19JTkZPX1BUUiBwSW5mbykKKyB7CisgCXRyeQorIAl7Cisr CQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlM RUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0dldEluZm8ocEluZm8pOworIAl9CisgCWNh dGNoICguLi4pCitAQCAtMTc1LDYgKzE4Myw4IEBAIFBLQ1NfQVBJIENLX1JWIENfR2V0RnVuY3Rp b25MaXN0KENLX0ZVTkNUSU9OX0xJU1RfUFRSX1BUUiBwcEZ1bmN0aW9uTGlzdCkKKyB7CisgCXRy eQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5D VElPTl9GQUlMRUQ7CisgCQlpZiAocHBGdW5jdGlvbkxpc3QgPT0gTlVMTF9QVFIpIHJldHVybiBD S1JfQVJHVU1FTlRTX0JBRDsKKyAKKyAJCSpwcEZ1bmN0aW9uTGlzdCA9ICZmdW5jdGlvbkxpc3Q7 CitAQCAtMTk0LDYgKzIwNCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfR2V0U2xvdExpc3QoQ0tfQkJP T0wgdG9rZW5QcmVzZW50LCBDS19TTE9UX0lEX1BUUiBwU2xvdExpc3QsIENLCisgeworIAl0cnkK KyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJ T05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19HZXRTbG90TGlzdCh0b2tlblBy ZXNlbnQsIHBTbG90TGlzdCwgcHVsQ291bnQpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMjA5 LDYgKzIyMSw4IEBAIFBLQ1NfQVBJIENLX1JWIENfR2V0U2xvdEluZm8oQ0tfU0xPVF9JRCBzbG90 SUQsIENLX1NMT1RfSU5GT19QVFIgcEluZm8pCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVj dHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0 dXJuIFNvZnRIU006OmkoKS0+Q19HZXRTbG90SW5mbyhzbG90SUQsIHBJbmZvKTsKKyAJfQorIAlj YXRjaCAoLi4uKQorQEAgLTIyNCw2ICsyMzgsOCBAQCBQS0NTX0FQSSBDS19SViBDX0dldFRva2Vu SW5mbyhDS19TTE9UX0lEIHNsb3RJRCwgQ0tfVE9LRU5fSU5GT19QVFIgcEluZm8pCisgeworIAl0 cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVO Q1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19HZXRUb2tlbkluZm8oc2xv dElELCBwSW5mbyk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0yMzksNiArMjU1LDggQEAgUEtD U19BUEkgQ0tfUlYgQ19HZXRNZWNoYW5pc21MaXN0KENLX1NMT1RfSUQgc2xvdElELCBDS19NRUNI QU5JU01fVFlQRV9QVFIgcE1lY2gKKyB7CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxl dGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29m dEhTTTo6aSgpLT5DX0dldE1lY2hhbmlzbUxpc3Qoc2xvdElELCBwTWVjaGFuaXNtTGlzdCwgcHVs Q291bnQpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMjU0LDYgKzI3Miw4IEBAIFBLQ1NfQVBJ IENLX1JWIENfR2V0TWVjaGFuaXNtSW5mbyhDS19TTE9UX0lEIHNsb3RJRCwgQ0tfTUVDSEFOSVNN X1RZUEUgdHlwZSwgQ0tfCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9 PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006 OmkoKS0+Q19HZXRNZWNoYW5pc21JbmZvKHNsb3RJRCwgdHlwZSwgcEluZm8pOworIAl9CisgCWNh dGNoICguLi4pCitAQCAtMjY5LDYgKzI4OSw4IEBAIFBLQ1NfQVBJIENLX1JWIENfSW5pdFRva2Vu KENLX1NMT1RfSUQgc2xvdElELCBDS19VVEY4Q0hBUl9QVFIgcFBpbiwgQ0tfVUxPTkcgdWxQCisg eworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBD S1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19Jbml0VG9rZW4o c2xvdElELCBwUGluLCB1bFBpbkxlbiwgcExhYmVsKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAg LTI4NCw2ICszMDYsOCBAQCBQS0NTX0FQSSBDS19SViBDX0luaXRQSU4oQ0tfU0VTU0lPTl9IQU5E TEUgaFNlc3Npb24sIENLX1VURjhDSEFSX1BUUiBwUGluLCBDS19VTAorIHsKKyAJdHJ5CisgCXsK KysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZB SUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfSW5pdFBJTihoU2Vzc2lvbiwgcFBpbiwg dWxQaW5MZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMjk5LDYgKzMyMyw4IEBAIFBLQ1Nf QVBJIENLX1JWIENfU2V0UElOKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19VVEY4Q0hB Ul9QVFIgcE9sZFBpbiwgQ0tfCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRl ZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRI U006OmkoKS0+Q19TZXRQSU4oaFNlc3Npb24sIHBPbGRQaW4sIHVsT2xkTGVuLCBwTmV3UGluLCB1 bE5ld0xlbik7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0zMTQsNiArMzQwLDggQEAgUEtDU19B UEkgQ0tfUlYgQ19PcGVuU2Vzc2lvbihDS19TTE9UX0lEIHNsb3RJRCwgQ0tfRkxBR1MgZmxhZ3Ms IENLX1ZPSURfUFRSIHBBcHAKKyB7CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVk ID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhT TTo6aSgpLT5DX09wZW5TZXNzaW9uKHNsb3RJRCwgZmxhZ3MsIHBBcHBsaWNhdGlvbiwgbm90aWZ5 LCBwaFNlc3Npb24pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMzI5LDYgKzM1Nyw4IEBAIFBL Q1NfQVBJIENLX1JWIENfQ2xvc2VTZXNzaW9uKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uKQor IHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4g Q0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfQ2xvc2VTZXNz aW9uKGhTZXNzaW9uKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTM0NCw2ICszNzQsOCBAQCBQ S0NTX0FQSSBDS19SViBDX0Nsb3NlQWxsU2Vzc2lvbnMoQ0tfU0xPVF9JRCBzbG90SUQpCisgewor IAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1Jf RlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19DbG9zZUFsbFNlc3Np b25zKHNsb3RJRCk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0zNTksNiArMzkxLDggQEAgUEtD U19BUEkgQ0tfUlYgQ19HZXRTZXNzaW9uSW5mbyhDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwg Q0tfU0VTU0lPTl9JTkZPX1BUUgorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0 ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0 SFNNOjppKCktPkNfR2V0U2Vzc2lvbkluZm8oaFNlc3Npb24sIHBJbmZvKTsKKyAJfQorIAljYXRj aCAoLi4uKQorQEAgLTM3NCw2ICs0MDgsOCBAQCBQS0NTX0FQSSBDS19SViBDX0dldE9wZXJhdGlv blN0YXRlKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19CWVRFX1BUUiBwT3BlcgorIHsK KyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tS X0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfR2V0T3BlcmF0aW9u U3RhdGUoaFNlc3Npb24sIHBPcGVyYXRpb25TdGF0ZSwgcHVsT3BlcmF0aW9uU3RhdGVMZW4pOwor IAl9CisgCWNhdGNoICguLi4pCitAQCAtMzg5LDYgKzQyNSw4IEBAIFBLQ1NfQVBJIENLX1JWIENf U2V0T3BlcmF0aW9uU3RhdGUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JZVEVfUFRS IHBPcGVyCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJ CXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19T ZXRPcGVyYXRpb25TdGF0ZShoU2Vzc2lvbiwgcE9wZXJhdGlvblN0YXRlLCB1bE9wZXJhdGlvblN0 YXRlTGVuLCBoRW5jcnlwdGlvbktleSwgaEF1dGhlbnRpY2F0aW9uS2V5KTsKKyAJfQorIAljYXRj aCAoLi4uKQorQEAgLTQwNCw2ICs0NDIsOCBAQCBQS0NTX0FQSSBDS19SViBDX0xvZ2luKENLX1NF U1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19VU0VSX1RZUEUgdXNlclR5cGUsIENLX1VURgorIHsK KyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tS X0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfTG9naW4oaFNlc3Np b24sIHVzZXJUeXBlLCBwUGluLCB1bFBpbkxlbik7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC00 MTksNiArNDU5LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19Mb2dvdXQoQ0tfU0VTU0lPTl9IQU5ETEUg aFNlc3Npb24pCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQor KwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+ Q19Mb2dvdXQoaFNlc3Npb24pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNDM0LDYgKzQ3Niw4 IEBAIFBLQ1NfQVBJIENLX1JWIENfQ3JlYXRlT2JqZWN0KENLX1NFU1NJT05fSEFORExFIGhTZXNz aW9uLCBDS19BVFRSSUJVVEVfUFRSIHBUZW1wCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVj dHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0 dXJuIFNvZnRIU006OmkoKS0+Q19DcmVhdGVPYmplY3QoaFNlc3Npb24sIHBUZW1wbGF0ZSwgdWxD b3VudCwgcGhPYmplY3QpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNDQ5LDYgKzQ5Myw4IEBA IFBLQ1NfQVBJIENLX1JWIENfQ29weU9iamVjdChDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwg Q0tfT0JKRUNUX0hBTkRMRSBoT2JqZWN0CisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNf ZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJu IFNvZnRIU006OmkoKS0+Q19Db3B5T2JqZWN0KGhTZXNzaW9uLCBoT2JqZWN0LCBwVGVtcGxhdGUs IHVsQ291bnQsIHBoTmV3T2JqZWN0KTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTQ2NCw2ICs1 MTAsOCBAQCBQS0NTX0FQSSBDS19SViBDX0Rlc3Ryb3lPYmplY3QoQ0tfU0VTU0lPTl9IQU5ETEUg aFNlc3Npb24sIENLX09CSkVDVF9IQU5ETEUgaE9iagorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChv YmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJ CXJldHVybiBTb2Z0SFNNOjppKCktPkNfRGVzdHJveU9iamVjdChoU2Vzc2lvbiwgaE9iamVjdCk7 CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC00NzksNiArNTI3LDggQEAgUEtDU19BUEkgQ0tfUlYg Q19HZXRPYmplY3RTaXplKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19PQkpFQ1RfSEFO RExFIGhPYmoKKyB7CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisr CQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5D X0dldE9iamVjdFNpemUoaFNlc3Npb24sIGhPYmplY3QsIHB1bFNpemUpOworIAl9CisgCWNhdGNo ICguLi4pCitAQCAtNDk0LDYgKzU0NCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfR2V0QXR0cmlidXRl VmFsdWUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX09CSkVDVF9IQU5ETEUKKyB7Cisg CXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9G VU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0dldEF0dHJpYnV0ZVZh bHVlKGhTZXNzaW9uLCBoT2JqZWN0LCBwVGVtcGxhdGUsIHVsQ291bnQpOworIAl9CisgCWNhdGNo ICguLi4pCitAQCAtNTA5LDYgKzU2MSw4IEBAIFBLQ1NfQVBJIENLX1JWIENfU2V0QXR0cmlidXRl VmFsdWUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX09CSkVDVF9IQU5ETEUKKyB7Cisg CXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9G VU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX1NldEF0dHJpYnV0ZVZh bHVlKGhTZXNzaW9uLCBoT2JqZWN0LCBwVGVtcGxhdGUsIHVsQ291bnQpOworIAl9CisgCWNhdGNo ICguLi4pCitAQCAtNTI0LDYgKzU3OCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfRmluZE9iamVjdHNJ bml0KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19BVFRSSUJVVEVfUFRSIHBUCisgewor IAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1Jf RlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19GaW5kT2JqZWN0c0lu aXQoaFNlc3Npb24sIHBUZW1wbGF0ZSwgdWxDb3VudCk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BA IC01MzksNiArNTk1LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19GaW5kT2JqZWN0cyhDS19TRVNTSU9O X0hBTkRMRSBoU2Vzc2lvbiwgQ0tfT0JKRUNUX0hBTkRMRV9QVFIgcGgKKyB7CisgCXRyeQorIAl7 CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9G QUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0ZpbmRPYmplY3RzKGhTZXNzaW9uLCBw aE9iamVjdCwgdWxNYXhPYmplY3RDb3VudCwgcHVsT2JqZWN0Q291bnQpOworIAl9CisgCWNhdGNo ICguLi4pCitAQCAtNTU0LDYgKzYxMiw4IEBAIFBLQ1NfQVBJIENLX1JWIENfRmluZE9iamVjdHNG aW5hbChDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbikKKyB7CisgCXRyeQorIAl7CisrCQlpZiAo b2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7Cisg CQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0ZpbmRPYmplY3RzRmluYWwoaFNlc3Npb24pOworIAl9 CisgCWNhdGNoICguLi4pCitAQCAtNTY5LDYgKzYyOSw4IEBAIFBLQ1NfQVBJIENLX1JWIENfRW5j cnlwdEluaXQoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX01FQ0hBTklTTV9QVFIgcE1l Y2hhCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJl dHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19FbmNy eXB0SW5pdChoU2Vzc2lvbiwgcE1lY2hhbmlzbSwgaE9iamVjdCk7CisgCX0KKyAJY2F0Y2ggKC4u LikKK0BAIC01ODQsNiArNjQ2LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19FbmNyeXB0KENLX1NFU1NJ T05fSEFORExFIGhTZXNzaW9uLCBDS19CWVRFX1BUUiBwRGF0YSwgQ0tfVUxPTkcKKyB7CisgCXRy eQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5D VElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0VuY3J5cHQoaFNlc3Npb24s IHBEYXRhLCB1bERhdGFMZW4sIHBFbmNyeXB0ZWREYXRhLCBwdWxFbmNyeXB0ZWREYXRhTGVuKTsK KyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTU5OSw2ICs2NjMsOCBAQCBQS0NTX0FQSSBDS19SViBD X0VuY3J5cHRVcGRhdGUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JZVEVfUFRSIHBE YXRhLCBDSworIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJ CQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNf RW5jcnlwdFVwZGF0ZShoU2Vzc2lvbiwgcERhdGEsIHVsRGF0YUxlbiwgcEVuY3J5cHRlZERhdGEs IHB1bEVuY3J5cHRlZERhdGFMZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNjE0LDYgKzY4 MCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfRW5jcnlwdEZpbmFsKENLX1NFU1NJT05fSEFORExFIGhT ZXNzaW9uLCBDS19CWVRFX1BUUiBwRW5jcnlwdGVkCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9i amVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJ cmV0dXJuIFNvZnRIU006OmkoKS0+Q19FbmNyeXB0RmluYWwoaFNlc3Npb24sIHBFbmNyeXB0ZWRE YXRhLCBwdWxFbmNyeXB0ZWREYXRhTGVuKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTYyOSw2 ICs2OTcsOCBAQCBQS0NTX0FQSSBDS19SViBDX0RlY3J5cHRJbml0KENLX1NFU1NJT05fSEFORExF IGhTZXNzaW9uLCBDS19NRUNIQU5JU01fUFRSIHBNZWNoYQorIHsKKyAJdHJ5CisgCXsKKysJCWlm IChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsK KyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfRGVjcnlwdEluaXQoaFNlc3Npb24sIHBNZWNoYW5p c20sIGhPYmplY3QpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNjQ0LDYgKzcxNCw4IEBAIFBL Q1NfQVBJIENLX1JWIENfRGVjcnlwdChDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQllU RV9QVFIgcEVuY3J5cHRlZERhdGEsCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVs ZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNv ZnRIU006OmkoKS0+Q19EZWNyeXB0KGhTZXNzaW9uLCBwRW5jcnlwdGVkRGF0YSwgdWxFbmNyeXB0 ZWREYXRhTGVuLCBwRGF0YSwgcHVsRGF0YUxlbik7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC02 NTksNiArNzMxLDggQEAgUEtDU19BUEkgQ0tfUlYgQ19EZWNyeXB0VXBkYXRlKENLX1NFU1NJT05f SEFORExFIGhTZXNzaW9uLCBDS19CWVRFX1BUUiBwRW5jcnlwdGUKKyB7CisgCXRyeQorIAl7Cisr CQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlM RUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0RlY3J5cHRVcGRhdGUoaFNlc3Npb24sIHBF bmNyeXB0ZWREYXRhLCB1bEVuY3J5cHRlZERhdGFMZW4sIHBEYXRhLCBwRGF0YUxlbik7CisgCX0K KyAJY2F0Y2ggKC4uLikKK0BAIC02NzQsNiArNzQ4LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19EZWNy eXB0RmluYWwoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JZVEVfUFRSIHBEYXRhLCBD S18KKyB7CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0 dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0RlY3J5 cHRGaW5hbChoU2Vzc2lvbiwgcERhdGEsIHBEYXRhTGVuKTsKKyAJfQorIAljYXRjaCAoLi4uKQor QEAgLTY4OSw2ICs3NjUsOCBAQCBQS0NTX0FQSSBDS19SViBDX0RpZ2VzdEluaXQoQ0tfU0VTU0lP Tl9IQU5ETEUgaFNlc3Npb24sIENLX01FQ0hBTklTTV9QVFIgcE1lY2hhbgorIHsKKyAJdHJ5Cisg CXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9O X0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfRGlnZXN0SW5pdChoU2Vzc2lvbiwg cE1lY2hhbmlzbSk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC03MDQsNiArNzgyLDggQEAgUEtD U19BUEkgQ0tfUlYgQ19EaWdlc3QoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JZVEVf UFRSIHBEYXRhLCBDS19VTE9ORworIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0 ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0 SFNNOjppKCktPkNfRGlnZXN0KGhTZXNzaW9uLCBwRGF0YSwgdWxEYXRhTGVuLCBwRGlnZXN0LCBw dWxEaWdlc3RMZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNzE5LDYgKzc5OSw4IEBAIFBL Q1NfQVBJIENLX1JWIENfRGlnZXN0VXBkYXRlKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBD S19CWVRFX1BUUiBwUGFydCwgQ0tfCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVs ZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNv ZnRIU006OmkoKS0+Q19EaWdlc3RVcGRhdGUoaFNlc3Npb24sIHBQYXJ0LCB1bFBhcnRMZW4pOwor IAl9CisgCWNhdGNoICguLi4pCitAQCAtNzM0LDYgKzgxNiw4IEBAIFBLQ1NfQVBJIENLX1JWIENf RGlnZXN0S2V5KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19PQkpFQ1RfSEFORExFIGhP YmplY3QpCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJ CXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19E aWdlc3RLZXkoaFNlc3Npb24sIGhPYmplY3QpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNzQ5 LDYgKzgzMyw4IEBAIFBLQ1NfQVBJIENLX1JWIENfRGlnZXN0RmluYWwoQ0tfU0VTU0lPTl9IQU5E TEUgaFNlc3Npb24sIENLX0JZVEVfUFRSIHBEaWdlc3QsIENLCisgeworIAl0cnkKKyAJeworKwkJ aWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVE OworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19EaWdlc3RGaW5hbChoU2Vzc2lvbiwgcERpZ2Vz dCwgcHVsRGlnZXN0TGVuKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTc2NCw2ICs4NTAsOCBA QCBQS0NTX0FQSSBDS19SViBDX1NpZ25Jbml0KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBD S19NRUNIQU5JU01fUFRSIHBNZWNoYW5pcworIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3Rz X2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVy biBTb2Z0SFNNOjppKCktPkNfU2lnbkluaXQoaFNlc3Npb24sIHBNZWNoYW5pc20sIGhLZXkpOwor IAl9CisgCWNhdGNoICguLi4pCitAQCAtNzc5LDYgKzg2Nyw4IEBAIFBLQ1NfQVBJIENLX1JWIENf U2lnbihDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQllURV9QVFIgcERhdGEsIENLX1VM T05HIHVsCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJ CXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19T aWduKGhTZXNzaW9uLCBwRGF0YSwgdWxEYXRhTGVuLCBwU2lnbmF0dXJlLCBwdWxTaWduYXR1cmVM ZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtNzk0LDYgKzg4NCw4IEBAIFBLQ1NfQVBJIENL X1JWIENfU2lnblVwZGF0ZShDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQllURV9QVFIg cFBhcnQsIENLX1VMCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAx KQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006Omko KS0+Q19TaWduVXBkYXRlKGhTZXNzaW9uLCBwUGFydCwgdWxQYXJ0TGVuKTsKKyAJfQorIAljYXRj aCAoLi4uKQorQEAgLTgwOSw2ICs5MDEsOCBAQCBQS0NTX0FQSSBDS19SViBDX1NpZ25GaW5hbChD S19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQllURV9QVFIgcFNpZ25hdHVyZSwgQworIHsK KyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tS X0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfU2lnbkZpbmFsKGhT ZXNzaW9uLCBwU2lnbmF0dXJlLCBwdWxTaWduYXR1cmVMZW4pOworIAl9CisgCWNhdGNoICguLi4p CitAQCAtODI0LDYgKzkxOCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfU2lnblJlY292ZXJJbml0KENL X1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19NRUNIQU5JU01fUFRSIHBNCisgeworIAl0cnkK KyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJ T05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19TaWduUmVjb3ZlckluaXQoaFNl c3Npb24sIHBNZWNoYW5pc20sIGhLZXkpOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtODM5LDYg KzkzNSw4IEBAIFBLQ1NfQVBJIENLX1JWIENfU2lnblJlY292ZXIoQ0tfU0VTU0lPTl9IQU5ETEUg aFNlc3Npb24sIENLX0JZVEVfUFRSIHBEYXRhLCBDS19VCisgeworIAl0cnkKKyAJeworKwkJaWYg KG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOwor IAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19TaWduUmVjb3ZlcihoU2Vzc2lvbiwgcERhdGEsIHVs RGF0YUxlbiwgcFNpZ25hdHVyZSwgcHVsU2lnbmF0dXJlTGVuKTsKKyAJfQorIAljYXRjaCAoLi4u KQorQEAgLTg1NCw2ICs5NTIsOCBAQCBQS0NTX0FQSSBDS19SViBDX1ZlcmlmeUluaXQoQ0tfU0VT U0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX01FQ0hBTklTTV9QVFIgcE1lY2hhbgorIHsKKyAJdHJ5 CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNU SU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfVmVyaWZ5SW5pdChoU2Vzc2lv biwgcE1lY2hhbmlzbSwgaEtleSk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC04NjksNiArOTY5 LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19WZXJpZnkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24s IENLX0JZVEVfUFRSIHBEYXRhLCBDS19VTE9ORworIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmpl Y3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJl dHVybiBTb2Z0SFNNOjppKCktPkNfVmVyaWZ5KGhTZXNzaW9uLCBwRGF0YSwgdWxEYXRhTGVuLCBw U2lnbmF0dXJlLCB1bFNpZ25hdHVyZUxlbik7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC04ODQs NiArOTg2LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19WZXJpZnlVcGRhdGUoQ0tfU0VTU0lPTl9IQU5E TEUgaFNlc3Npb24sIENLX0JZVEVfUFRSIHBQYXJ0LCBDS18KKyB7CisgCXRyeQorIAl7CisrCQlp ZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENLUl9GVU5DVElPTl9GQUlMRUQ7 CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX1ZlcmlmeVVwZGF0ZShoU2Vzc2lvbiwgcFBhcnQs IHVsUGFydExlbik7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC04OTksNiArMTAwMyw4IEBAIFBL Q1NfQVBJIENLX1JWIENfVmVyaWZ5RmluYWwoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENL X0JZVEVfUFRSIHBTaWduYXR1cmUsCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVs ZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNv ZnRIU006OmkoKS0+Q19WZXJpZnlGaW5hbChoU2Vzc2lvbiwgcFNpZ25hdHVyZSwgdWxTaWduYXR1 cmVMZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtOTE0LDYgKzEwMjAsOCBAQCBQS0NTX0FQ SSBDS19SViBDX1ZlcmlmeVJlY292ZXJJbml0KENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBD S19NRUNIQU5JU01fUFRSCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9 PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006 OmkoKS0+Q19WZXJpZnlSZWNvdmVySW5pdChoU2Vzc2lvbiwgcE1lY2hhbmlzbSwgaEtleSk7Cisg CX0KKyAJY2F0Y2ggKC4uLikKK0BAIC05MjksNiArMTAzNyw4IEBAIFBLQ1NfQVBJIENLX1JWIENf VmVyaWZ5UmVjb3ZlcihDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbiwgQ0tfQllURV9QVFIgcFNp Z25hdHVyCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNfZGVsZXRlZCA9PSAxKQorKwkJ CXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJuIFNvZnRIU006OmkoKS0+Q19W ZXJpZnlSZWNvdmVyKGhTZXNzaW9uLCBwU2lnbmF0dXJlLCB1bFNpZ25hdHVyZUxlbiwgcERhdGEs IHB1bERhdGFMZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtOTQ0LDYgKzEwNTQsOCBAQCBQ S0NTX0FQSSBDS19SViBDX0RpZ2VzdEVuY3J5cHRVcGRhdGUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNl c3Npb24sIENLX0JZVEVfUFRSIHBQYQorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2Rl bGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBT b2Z0SFNNOjppKCktPkNfRGlnZXN0RW5jcnlwdFVwZGF0ZShoU2Vzc2lvbiwgcFBhcnQsIHVsUGFy dExlbiwgcEVuY3J5cHRlZFBhcnQsIHB1bEVuY3J5cHRlZFBhcnRMZW4pOworIAl9CisgCWNhdGNo ICguLi4pCitAQCAtOTU5LDYgKzEwNzEsOCBAQCBQS0NTX0FQSSBDS19SViBDX0RlY3J5cHREaWdl c3RVcGRhdGUoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENLX0JZVEVfUFRSIHBQYQorIHsK KyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tS X0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfRGVjcnlwdERpZ2Vz dFVwZGF0ZShoU2Vzc2lvbiwgcFBhcnQsIHVsUGFydExlbiwgcERlY3J5cHRlZFBhcnQsIHB1bERl Y3J5cHRlZFBhcnRMZW4pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtOTc0LDYgKzEwODgsOCBA QCBQS0NTX0FQSSBDS19SViBDX1NpZ25FbmNyeXB0VXBkYXRlKENLX1NFU1NJT05fSEFORExFIGhT ZXNzaW9uLCBDS19CWVRFX1BUUiBwUGFydAorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3Rz X2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVy biBTb2Z0SFNNOjppKCktPkNfU2lnbkVuY3J5cHRVcGRhdGUoaFNlc3Npb24sIHBQYXJ0LCB1bFBh cnRMZW4sIHBFbmNyeXB0ZWRQYXJ0LCBwdWxFbmNyeXB0ZWRQYXJ0TGVuKTsKKyAJfQorIAljYXRj aCAoLi4uKQorQEAgLTk4OSw2ICsxMTA1LDggQEAgUEtDU19BUEkgQ0tfUlYgQ19EZWNyeXB0VmVy aWZ5VXBkYXRlKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19CWVRFX1BUUiBwRW4KKyB7 CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENL Ul9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0RlY3J5cHRWZXJp ZnlVcGRhdGUoaFNlc3Npb24sIHBFbmNyeXB0ZWRQYXJ0LCB1bEVuY3J5cHRlZFBhcnRMZW4sIHBQ YXJ0LCBwdWxQYXJ0TGVuKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTEwMDQsNiArMTEyMiw4 IEBAIFBLQ1NfQVBJIENLX1JWIENfR2VuZXJhdGVLZXkoQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Np b24sIENLX01FQ0hBTklTTV9QVFIgcE1lY2hhCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVj dHNfZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0 dXJuIFNvZnRIU006OmkoKS0+Q19HZW5lcmF0ZUtleShoU2Vzc2lvbiwgcE1lY2hhbmlzbSwgcFRl bXBsYXRlLCB1bENvdW50LCBwaEtleSk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0xMDI5LDYg KzExNDksOCBAQCBQS0NTX0FQSSBDS19SViBDX0dlbmVyYXRlS2V5UGFpcgorIHsKKyAJdHJ5Cisg CXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9O X0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfR2VuZXJhdGVLZXlQYWlyKGhTZXNz aW9uLCBwTWVjaGFuaXNtLCBwUHVibGljS2V5VGVtcGxhdGUsIHVsUHVibGljS2V5QXR0cmlidXRl Q291bnQsIHBQcml2YXRlS2V5VGVtcGxhdGUsIHVsUHJpdmF0ZUtleUF0dHJpYnV0ZUNvdW50LCBw aFB1YmxpY0tleSwgcGhQcml2YXRlS2V5KTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTEwNTIs NiArMTE3NCw4IEBAIFBLQ1NfQVBJIENLX1JWIENfV3JhcEtleQorIHsKKyAJdHJ5CisgCXsKKysJ CWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxF RDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfV3JhcEtleShoU2Vzc2lvbiwgcE1lY2hhbmlz bSwgaFdyYXBwaW5nS2V5LCBoS2V5LCBwV3JhcHBlZEtleSwgcHVsV3JhcHBlZEtleUxlbik7Cisg CX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0xMDc3LDYgKzEyMDEsOCBAQCBQS0NTX0FQSSBDS19SViBD X1Vud3JhcEtleQorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkK KysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCkt PkNfVW53cmFwS2V5KGhTZXNzaW9uLCBwTWVjaGFuaXNtLCBoVW53cmFwcGluZ0tleSwgcFdyYXBw ZWRLZXksIHVsV3JhcHBlZEtleUxlbiwgcFRlbXBsYXRlLCB1bENvdW50LCBwaEtleSk7CisgCX0K KyAJY2F0Y2ggKC4uLikKK0BAIC0xMTAwLDYgKzEyMjYsOCBAQCBQS0NTX0FQSSBDS19SViBDX0Rl cml2ZUtleQorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJ CQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNf RGVyaXZlS2V5KGhTZXNzaW9uLCBwTWVjaGFuaXNtLCBoQmFzZUtleSwgcFRlbXBsYXRlLCB1bENv dW50LCBwaEtleSk7CisgCX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0xMTE1LDYgKzEyNDMsOCBAQCBQ S0NTX0FQSSBDS19SViBDX1NlZWRSYW5kb20oQ0tfU0VTU0lPTl9IQU5ETEUgaFNlc3Npb24sIENL X0JZVEVfUFRSIHBTZWVkLCBDS19VTAorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2Rl bGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBT b2Z0SFNNOjppKCktPkNfU2VlZFJhbmRvbShoU2Vzc2lvbiwgcFNlZWQsIHVsU2VlZExlbik7Cisg CX0KKyAJY2F0Y2ggKC4uLikKK0BAIC0xMTMwLDYgKzEyNjAsOCBAQCBQS0NTX0FQSSBDS19SViBD X0dlbmVyYXRlUmFuZG9tKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uLCBDS19CWVRFX1BUUiBw UmFuZG9tRAorIHsKKyAJdHJ5CisgCXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJ CQlyZXR1cm4gQ0tSX0ZVTkNUSU9OX0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNf R2VuZXJhdGVSYW5kb20oaFNlc3Npb24sIHBSYW5kb21EYXRhLCB1bFJhbmRvbUxlbik7CisgCX0K KyAJY2F0Y2ggKC4uLikKK0BAIC0xMTQ1LDYgKzEyNzcsOCBAQCBQS0NTX0FQSSBDS19SViBDX0dl dEZ1bmN0aW9uU3RhdHVzKENLX1NFU1NJT05fSEFORExFIGhTZXNzaW9uKQorIHsKKyAJdHJ5Cisg CXsKKysJCWlmIChvYmplY3RzX2RlbGV0ZWQgPT0gMSkKKysJCQlyZXR1cm4gQ0tSX0ZVTkNUSU9O X0ZBSUxFRDsKKyAJCXJldHVybiBTb2Z0SFNNOjppKCktPkNfR2V0RnVuY3Rpb25TdGF0dXMoaFNl c3Npb24pOworIAl9CisgCWNhdGNoICguLi4pCitAQCAtMTE2MCw2ICsxMjk0LDggQEAgUEtDU19B UEkgQ0tfUlYgQ19DYW5jZWxGdW5jdGlvbihDS19TRVNTSU9OX0hBTkRMRSBoU2Vzc2lvbikKKyB7 CisgCXRyeQorIAl7CisrCQlpZiAob2JqZWN0c19kZWxldGVkID09IDEpCisrCQkJcmV0dXJuIENL Ul9GVU5DVElPTl9GQUlMRUQ7CisgCQlyZXR1cm4gU29mdEhTTTo6aSgpLT5DX0NhbmNlbEZ1bmN0 aW9uKGhTZXNzaW9uKTsKKyAJfQorIAljYXRjaCAoLi4uKQorQEAgLTExNzUsNiArMTMxMSw4IEBA IFBLQ1NfQVBJIENLX1JWIENfV2FpdEZvclNsb3RFdmVudChDS19GTEFHUyBmbGFncywgQ0tfU0xP VF9JRF9QVFIgcFNsb3QsIENLX1ZPSURfCisgeworIAl0cnkKKyAJeworKwkJaWYgKG9iamVjdHNf ZGVsZXRlZCA9PSAxKQorKwkJCXJldHVybiBDS1JfRlVOQ1RJT05fRkFJTEVEOworIAkJcmV0dXJu IFNvZnRIU006OmkoKS0+Q19XYWl0Rm9yU2xvdEV2ZW50KGZsYWdzLCBwU2xvdCwgcFJlc2VydmVk KTsKKyAJfQorIAljYXRjaCAoLi4uKQorLS0gCisyLjU0LjAKKwoKZGlmZiAtLWdpdCBhL3NvZnRo c20uc3BlYyBiL3NvZnRoc20uc3BlYwppbmRleCA4MzcwMjkwLi4zNDAyYzc1IDEwMDY0NAotLS0g YS9zb2Z0aHNtLnNwZWMKKysrIGIvc29mdGhzbS5zcGVjCkBAIC01LDcgKzUsNyBAQAogU3VtbWFy eTogU29mdHdhcmUgdmVyc2lvbiBvZiBhIFBLQ1MjMTEgSGFyZHdhcmUgU2VjdXJpdHkgTW9kdWxl CiBOYW1lOiBzb2Z0aHNtCiBWZXJzaW9uOiAyLjcuMAotUmVsZWFzZTogJXs/cHJldmVyOjAufTEl ez9wcmV2ZXI6LiV7cHJldmVyfX0lez9kaXN0fS4zCitSZWxlYXNlOiAlez9wcmV2ZXI6MC59MSV7 P3ByZXZlcjouJXtwcmV2ZXJ9fSV7P2Rpc3R9LjQKIExpY2Vuc2U6IEJTRC0yLWNsYXVzZQogIyBV cHN0cmVhbSBtb3ZlZCB0byBhIHNlcGFyYXRlIG5hbWVzcGFjZSBmcm9tIE9wZW5ETlNTRUMKIFVy bDogaHR0cDovL3d3dy5zb2Z0aHNtLm9yZy8KQEAgLTE1LDYgKzE1LDEwIEBAIFNvdXJjZTI6ICV7 bmFtZX0tc3lzdXNlcnMuY29uZgogIyBodHRwczovL2dpdGh1Yi5jb20vc29mdGhzbS9Tb2Z0SFNN djIvY29tbWl0LzU3ZTEwY2JiZTc1MDY5YmU5MmM3ZTk3MjBjMTgwYTA1ODMzNDgxZmMKICMgaHR0 cHM6Ly9naXRodWIuY29tL3NvZnRoc20vU29mdEhTTXYyL2NvbW1pdC9kMjNlYTA5ZDMxOGMwM2Mw MzM0MjBkMDY1ZjFjNjRiMDE5Y2M5NGVkCiBQYXRjaDA6IG1lbW9yeS1sZWFrcy1hbmQtb3BlbnNz bC00LnBhdGNoCisjIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3NvZnRoc20vU29mdEhTTXYyL3B1 bGwvNzQyLworIyBhcyBkaXNjdXNzZWQgYXQgaHR0cHM6Ly9naXRodWIuY29tL3NvZnRoc20vU29m dEhTTXYyL2lzc3Vlcy83MjkKKyMgd2l0aCBhIG1pbm9yIHVwZGF0ZSB0byByZXNldCBvYmplY3Rz X2RlbGV0ZWQgYWZ0ZXIgcmVzZXQtb24tZm9yaworUGF0Y2gxOiBwcmV2ZW50LWdsb2JhbC1kZWxl dGVkLW9iamVjdHMtYWNjZXNzLnBhdGNoCiAKIEJ1aWxkUmVxdWlyZXM6IG1ha2UKIEJ1aWxkUmVx dWlyZXM6IG9wZW5zc2wtZGV2ZWwgPj0gMS4wLjFrLTYsIHNxbGl0ZS1kZXZlbCA+PSAzLjQuMiwg Y3BwdW5pdC1kZXZlbApAQCAtMTMyLDYgKzEzNiwxMCBAQCBpZiBbIC1mIC92YXIvc29mdGhzbS9z bG90MC5kYiBdOyB0aGVuCiBmaQogCiAlY2hhbmdlbG9nCisqIE1vbiBKdW4gMTUgMjAyNiBQYXZv bCDFvcOhxI1payA8cHphY2lrQHJlZGhhdC5jb20+IC0gMi43LjAtMC4xLnJjMS40CistIEJyaW5n IGJhY2sgdGhlIHBhdGNoIHRoYXQgcHJldmVudHMgYWNjZXNzIHRvIGdsb2JhbCBDKysgdmFyaWFi bGVzCisgIG9uY2UgdGhleSBhcmUgZGVzdHJveWVkICh3aXRoIGEgbWlub3IgYWRqdXN0bWVudCku CisKICogRnJpIEp1biAxMiAyMDI2IFlhYWtvdiBTZWxrb3dpdHogPHlzZWxrb3dpQHJlZGhhdC5j b20+IC0gMi43LjAtMC4xLnJjMS4zCiAtIFJlYnVpbHQgZm9yIG9wZW5zc2wgNC4wCiAK