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: Bill Roberts To: git-commits@fedoraproject.org Subject: [rpms/dislocker] rawhide: spec: build using openssl instead of mbedtls Date: Fri, 11 Sep 2026 15:53:18 GMT Message-ID: <178914199877.1.15145788405517350379.rpms-dislocker-78d152d47c32@fedoraproject.org> List-ID: X-Git-Repo: rpms/dislocker X-Git-Branch: rawhide X-Git-Rev: 78d152d47c3289a15c297d2f6a269f4d39214d81 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZGlzbG9ja2VyCiAgICAgICAgICAgIEJyYW5jaCA6IHJhd2hpZGUKICAgICAg ICAgICAgQ29tbWl0IDogNzhkMTUyZDQ3YzMyODlhMTVjMjk3ZDJmNmEyNjlmNGQzOTIxNGQ4MQog ICAgICAgICAgICBBdXRob3IgOiBCaWxsIFJvYmVydHMgPGJpbGwucm9iZXJ0c0Bhcm0uY29tPgog ICAgICAgICAgICBEYXRlICAgOiAyMDI2LTA5LTEwVDE1OjA5OjQ3LTA1OjAwCiAgICAgICAgICAg IFN0YXRzICA6ICsxMjAwLy0yIGluIDIgZmlsZShzKQogICAgICAgICAgICBVUkwgICAgOiBodHRw czovL3NyYy5mZWRvcmFwcm9qZWN0Lm9yZy9ycG1zL2Rpc2xvY2tlci9jLzc4ZDE1MmQ0N2MzMjg5 YTE1YzI5N2QyZjZhMjY5ZjRkMzkyMTRkODE/YnJhbmNoPXJhd2hpZGUKCiAgICAgICAgICAgIExv ZzoKICAgICAgICAgICAgc3BlYzogYnVpbGQgdXNpbmcgb3BlbnNzbCBpbnN0ZWFkIG9mIG1iZWR0 bHMKCi0gQWRkIE9wZW5TU0wgYmFja2VuZCBzdXBwb3J0Ci0gQnVpbGQgYW5kIHRlc3QgYWdhaW5z dCBPcGVuU1NMCgpTaWduZWQtb2ZmLWJ5OiBCaWxsIFJvYmVydHMgPGJpbGwucm9iZXJ0c0Bhcm0u Y29tPgoKLS0tCmRpZmYgLS1naXQgYS9kaXNsb2NrZXItb3BlbnNzbC1zdXBwb3J0LnBhdGNoIGIv ZGlzbG9ja2VyLW9wZW5zc2wtc3VwcG9ydC5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi5hYzUwNzhhCi0tLSAvZGV2L251bGwKKysrIGIvZGlzbG9ja2VyLW9wZW5zc2wt c3VwcG9ydC5wYXRjaApAQCAtMCwwICsxLDExODggQEAKK0Zyb20gMjMyN2FhYTgwODg3OGE3Njdj ZmI3MTA5MzM3OTg3NDUzYTJiNzE5OCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IENv bm5vciBDaWh1bGEgPGNvbm5vci5jaWh1bGFAYXJtLmNvbT4KK0RhdGU6IFdlZCwgMjQgSnVuIDIw MjYgMTU6NDI6NDEgLTA1MDAKK1N1YmplY3Q6IFtQQVRDSF0gY3J5cHRvOiBzdXBwb3J0IE9wZW5T U0wgY3J5cHRvIGJhY2tlbmQKKworLS0tCisgQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHwgICA3ICstCisgaW5jbHVkZS9kaXNsb2NrZXIvYWNjZXNzZXMvc3Ry ZXRjaF9rZXkuaCAgICAgIHwgICAyICstCisgaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9h ZXMteHRzLmggICAgICAgIHwgICAyICstCisgaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9l bmNvbW1vbi5wcml2LmggIHwgICAyICstCisgLi4uL21iZWR0bHMvc3NsX2JpbmRpbmdzLmh9ICAg ICAgICAgICAgICAgICAgIHwgIDUwICstLS0KKyAuLi4vZW5jcnlwdGlvbi9vcGVuc3NsL3NzbF9i aW5kaW5ncy5oICAgICAgICAgfCAyMDIgKysrKysrKysrKysrKworIHNyYy9DTWFrZUxpc3RzLnR4 dCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA0OCArKy0KKyBzcmMvZW5jcnlwdGlvbi9h ZXMteHRzLmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KKyBzcmMvZW5jcnlwdGlvbi9k ZWNyeXB0LmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKy0KKyBzcmMvZW5jcnlwdGlvbi9l bmNvbW1vbi5jICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKy0KKyB0ZXN0L0NNYWtlTGlzdHMu dHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMjYgKysKKyB0ZXN0L3Rlc3QtY3J5cHRv LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyODAgKysrKysrKysrKysrKysrKysrCisg dGVzdC90ZXN0LmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDY4ICsrKysr CisgdGVzdC90ZXN0X3ZlY3RvcnMuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjY1ICsr KysrKysrKysrKysrKysrCisgMTQgZmlsZXMgY2hhbmdlZCwgOTAzIGluc2VydGlvbnMoKyksIDY3 IGRlbGV0aW9ucygtKQorIHJlbmFtZSBpbmNsdWRlL2Rpc2xvY2tlci97c3NsX2JpbmRpbmdzLmgu aW4gPT4gZW5jcnlwdGlvbi9tYmVkdGxzL3NzbF9iaW5kaW5ncy5ofSAoNTQlKQorIGNyZWF0ZSBt b2RlIDEwMDY0NCBpbmNsdWRlL2Rpc2xvY2tlci9lbmNyeXB0aW9uL29wZW5zc2wvc3NsX2JpbmRp bmdzLmgKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC9DTWFrZUxpc3RzLnR4dAorIGNyZWF0ZSBt b2RlIDEwMDY0NCB0ZXN0L3Rlc3QtY3J5cHRvLmMKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90 ZXN0LmgKKyBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdC90ZXN0X3ZlY3RvcnMuaAorCitkaWZmIC0t Z2l0IGEvQ01ha2VMaXN0cy50eHQgYi9DTWFrZUxpc3RzLnR4dAoraW5kZXggNTc1M2FhNS4uNzVl NzA4YSAxMDA2NDQKKy0tLSBhL0NNYWtlTGlzdHMudHh0CisrKysgYi9DTWFrZUxpc3RzLnR4dAor QEAgLTI0LDYgKzI0LDkgQEAgc2V0IChBVVRIT1IgIlJvbWFpbiBDb2x0ZWwiKQorIAorIGZpbmRf cHJvZ3JhbSAoR0lUX0VYRSBOQU1FUyBnaXQgUEFUSFMgL3Vzci9iaW4gL3Vzci9sb2NhbC9iaW4p CisgCisraW5jbHVkZShDVGVzdCkKKytlbmFibGVfdGVzdGluZygpCisrCisgaWYoR0lUX0VYRSkK KyAJZXhlY3V0ZV9wcm9jZXNzICgKKyAJCUNPTU1BTkQgJHtHSVRfRVhFfSByZXYtcGFyc2UgLS1h YmJyZXYtcmVmIEhFQUQKK0BAIC00Nyw3ICs1MCw5IEBAIHNldCAoVkVSU0lPTl9SRUxFQVNFIDIp Cisgc2V0IChWRVJTSU9OICIke1ZFUlNJT05fTUFKT1J9LiR7VkVSU0lPTl9NSU5PUn0uJHtWRVJT SU9OX1JFTEVBU0V9IikKKyAKKyBhZGRfc3ViZGlyZWN0b3J5ICgke1BST0pFQ1RfU09VUkNFX0RJ Un0vc3JjKQorLQorK2lmKEJVSUxEX1RFU1RJTkcpCisrCWFkZF9zdWJkaXJlY3RvcnkgKCR7UFJP SkVDVF9TT1VSQ0VfRElSfS90ZXN0KQorK2VuZGlmKCkKKyBjb25maWd1cmVfZmlsZSgKKyAJIiR7 Q01BS0VfQ1VSUkVOVF9TT1VSQ0VfRElSfS9jbWFrZS9jbWFrZV91bmluc3RhbGwuY21ha2UuaW4i CisgCSIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vY21ha2VfdW5pbnN0YWxsLmNtYWtlIgor ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZGlzbG9ja2VyL2FjY2Vzc2VzL3N0cmV0Y2hfa2V5LmggYi9p bmNsdWRlL2Rpc2xvY2tlci9hY2Nlc3Nlcy9zdHJldGNoX2tleS5oCitpbmRleCAxYTE4MjBkLi45 MDZkYmU2IDEwMDY0NAorLS0tIGEvaW5jbHVkZS9kaXNsb2NrZXIvYWNjZXNzZXMvc3RyZXRjaF9r ZXkuaAorKysrIGIvaW5jbHVkZS9kaXNsb2NrZXIvYWNjZXNzZXMvc3RyZXRjaF9rZXkuaAorQEAg LTI2LDcgKzI2LDcgQEAKKyAKKyAjaW5jbHVkZSAiZGlzbG9ja2VyL2NvbW1vbi5oIgorIAorLSNp bmNsdWRlICJkaXNsb2NrZXIvc3NsX2JpbmRpbmdzLmgiCisrI2luY2x1ZGUgInNzbF9iaW5kaW5n cy5oIgorIAorIAorIAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvZGlzbG9ja2VyL2VuY3J5cHRpb24v YWVzLXh0cy5oIGIvaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9hZXMteHRzLmgKK2luZGV4 IDA2MGZkODguLmJmY2ZhMGUgMTAwNjQ0CistLS0gYS9pbmNsdWRlL2Rpc2xvY2tlci9lbmNyeXB0 aW9uL2Flcy14dHMuaAorKysrIGIvaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9hZXMteHRz LmgKK0BAIC0yMyw3ICsyMyw3IEBACisgI2lmbmRlZiBESVNfQUVTX1hUU19ICisgI2RlZmluZSBE SVNfQUVTX1hUU19ICisgCistI2luY2x1ZGUgImRpc2xvY2tlci9zc2xfYmluZGluZ3MuaCIKKysj aW5jbHVkZSAic3NsX2JpbmRpbmdzLmgiCisgCisgCisgLyoKK2RpZmYgLS1naXQgYS9pbmNsdWRl L2Rpc2xvY2tlci9lbmNyeXB0aW9uL2VuY29tbW9uLnByaXYuaCBiL2luY2x1ZGUvZGlzbG9ja2Vy L2VuY3J5cHRpb24vZW5jb21tb24ucHJpdi5oCitpbmRleCAzNWViOGQxLi5hZWUwMWU3IDEwMDY0 NAorLS0tIGEvaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9lbmNvbW1vbi5wcml2LmgKKysr KyBiL2luY2x1ZGUvZGlzbG9ja2VyL2VuY3J5cHRpb24vZW5jb21tb24ucHJpdi5oCitAQCAtMjYs NyArMjYsNyBAQAorIAorICNpbmNsdWRlICJkaXNsb2NrZXIvZW5jcnlwdGlvbi9lbmNvbW1vbi5o IgorIAorLSNpbmNsdWRlICJkaXNsb2NrZXIvc3NsX2JpbmRpbmdzLmgiCisrI2luY2x1ZGUgInNz bF9iaW5kaW5ncy5oIgorIAorIAorIAorZGlmZiAtLWdpdCBhL2luY2x1ZGUvZGlzbG9ja2VyL3Nz bF9iaW5kaW5ncy5oLmluIGIvaW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9tYmVkdGxzL3Nz bF9iaW5kaW5ncy5oCitzaW1pbGFyaXR5IGluZGV4IDU0JQorcmVuYW1lIGZyb20gaW5jbHVkZS9k aXNsb2NrZXIvc3NsX2JpbmRpbmdzLmguaW4KK3JlbmFtZSB0byBpbmNsdWRlL2Rpc2xvY2tlci9l bmNyeXB0aW9uL21iZWR0bHMvc3NsX2JpbmRpbmdzLmgKK2luZGV4IDM0ZTA1ZGYuLjQyOTE4Mjgg MTAwNjQ0CistLS0gYS9pbmNsdWRlL2Rpc2xvY2tlci9zc2xfYmluZGluZ3MuaC5pbgorKysrIGIv aW5jbHVkZS9kaXNsb2NrZXIvZW5jcnlwdGlvbi9tYmVkdGxzL3NzbF9iaW5kaW5ncy5oCitAQCAt MjQsNjMgKzI0LDIzIEBACisgI2RlZmluZSBTU0xfQklORElOR1NfSAorIAorIC8qCistICogSGVy ZSBzdGFuZCB0aGUgYmluZGluZ3MgZm9yIHBvbGFyc3NsIFNIQTI1Ni9TSEEyL1NIQS0yIGZ1bmN0 aW9uIGZvciBkaXNsb2NrZXIKKysgKiBIZXJlIHN0YW5kIHRoZSBiaW5kaW5ncyBmb3IgTWJlZFRM UyBTSEEyNTYvU0hBMi9TSEEtMiBmdW5jdGlvbiBmb3IgZGlzbG9ja2VyCisgICovCistI2luY2x1 ZGUgIkBQT0xBUlNTTF9JTkNfRk9MREVSQC92ZXJzaW9uLmgiCistI2lmIE1CRURUTFNfVkVSU0lP Tl9NQUpPUiA+PSAzCistI2luY2x1ZGUgIkBQT0xBUlNTTF9JTkNfRk9MREVSQC9tYmVkdGxzX2Nv bmZpZy5oIgorLSNpbmNsdWRlICJAUE9MQVJTU0xfSU5DX0ZPTERFUkAvY29tcGF0LTIueC5oIgor LSNlbHNlCistI2luY2x1ZGUgIkBQT0xBUlNTTF9JTkNfRk9MREVSQC9jb25maWcuaCIKKy0jZW5k aWYKKy0jaW5jbHVkZSAiQFBPTEFSU1NMX0lOQ19GT0xERVJAL2Flcy5oIgorLQorLS8vIEZ1bmN0 aW9uJ3MgbmFtZSBjaGFuZ2VkCistI2lmIGRlZmluZWQoTUJFRFRMU19TSEEyNTZfQykKKy0jICBp bmNsdWRlICJtYmVkdGxzL3NoYTI1Ni5oIgorLSMgIGlmIE1CRURUTFNfVkVSU0lPTl9OVU1CRVIg Pj0gMHgwMjA3MDAwMAorLSMgICAgZGVmaW5lIFNIQTI1NihpbnB1dCwgbGVuLCBvdXRwdXQpICAg ICAgICAgbWJlZHRsc19zaGEyNTZfcmV0KGlucHV0LCBsZW4sIG91dHB1dCwgMCkKKy0jICBlbHNl CistIyAgICBkZWZpbmUgU0hBMjU2KGlucHV0LCBsZW4sIG91dHB1dCkgICAgICAgICBtYmVkdGxz X3NoYTI1NihpbnB1dCwgbGVuLCBvdXRwdXQsIDApCistIyAgZW5kaWYgLyogUE9MQVJTU0xfVkVS U0lPTl9OVU1CRVIgPj0gMHgwMjA3MDAwMCAqLworLSNlbHNlIC8qIGRlZmluZWQoTUJFRFRMU19T SEEyNTZfQykgKi8KKy0KKy0jICBpZiBkZWZpbmVkKFBPTEFSU1NMX1NIQTI1Nl9DKQorLSMgICAg aW5jbHVkZSAicG9sYXJzc2wvc2hhMjU2LmgiCistIyAgICBkZWZpbmUgU0hBMjU2KGlucHV0LCBs ZW4sIG91dHB1dCkgICAgICAgc2hhMjU2KGlucHV0LCBsZW4sIG91dHB1dCwgMCkKKy0jICBlbHNl IC8qIGRlZmluZWQoUE9MQVJTU0xfU0hBMjU2X0MpICovCistIyAgICBpbmNsdWRlICJwb2xhcnNz bC9zaGEyLmgiCistCistLy8gMHgwMDYzMDUwMCA9IHZlcnNpb24gMC45OS41LCBhcmd1bWVudCdz IHR5cGUgY2hhbmdlZCBpbiB0aGlzIHJlbGVhc2UKKy0jICAgIGlmIFBPTEFSU1NMX1ZFUlNJT05f TlVNQkVSID49IDB4MDA2MzA1MDAKKy0jICAgICBkZWZpbmUgU0hBMjU2KGlucHV0LCBsZW4sIG91 dHB1dCkgICAgICAgc2hhMihpbnB1dCwgbGVuLCBvdXRwdXQsIDApCistIyAgICBlbHNlCistIyAg ICAgZGVmaW5lIFNIQTI1NihpbnB1dCwgbGVuLCBvdXRwdXQpICAgICAgIHNoYTIoaW5wdXQsIChp bnQpbGVuLCBvdXRwdXQsIDApCistIyAgICBlbmRpZiAvKiBQT0xBUlNTTF9WRVJTSU9OX05VTUJF UiA+PSAweDAwNjMwNTAwICovCistCistIyAgZW5kaWYgLyogZGVmaW5lZChQT0xBUlNTTF9TSEEy NTZfQykgKi8KKy0jZW5kaWYgLyogZGVmaW5lZChNQkVEVExTX1NIQTI1Nl9DKSAqLworKyNpbmNs dWRlICJtYmVkdGxzL2Flcy5oIgorKyNpbmNsdWRlICJtYmVkdGxzL3NoYTI1Ni5oIgorIAorKyNk ZWZpbmUgU0hBMjU2KGlucHV0LCBsZW4sIG91dHB1dCkgICAgICAgIG1iZWR0bHNfc2hhMjU2KGlu cHV0LCBsZW4sIG91dHB1dCwgMCkKKyAKKyAvKiBIZXJlIHN0YW5kIHRoZSBiaW5kaW5ncyBmb3Ig QUVTIGZ1bmN0aW9ucyBhbmQgY29udGV4dHMgKi8KKy0jaWYgZGVmaW5lZChNQkVEVExTX0FFU19I KQorICMgIGRlZmluZSBBRVNfQ09OVEVYVCAgICAgICAgICAgICAgICAgICAgIG1iZWR0bHNfYWVz X2NvbnRleHQKKyAjICBkZWZpbmUgQUVTX1NFVEVOQ19LRVkoY3R4LCBrZXksIHNpemUpICBtYmVk dGxzX2Flc19zZXRrZXlfZW5jKGN0eCwga2V5LCBzaXplKQorICMgIGRlZmluZSBBRVNfU0VUREVD X0tFWShjdHgsIGtleSwgc2l6ZSkgIG1iZWR0bHNfYWVzX3NldGtleV9kZWMoY3R4LCBrZXksIHNp emUpCisrIyAgZGVmaW5lIEFFU19GUkVFKGN0eCkgICAgICAgICAgICAgICAgICAgbWJlZHRsc19h ZXNfZnJlZShjdHgpCisgIyAgZGVmaW5lIEFFU19FQ0JfRU5DKGN0eCwgbW9kZSwgaW4sIG91dCkg bWJlZHRsc19hZXNfY3J5cHRfZWNiKGN0eCwgbW9kZSwgaW4sIG91dCkKKyAjICBkZWZpbmUgQUVT X0NCQyhjdHgsIG1vZGUsIHNpemUsIGl2LCBpbiwgb3V0KSBcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgbWJlZHRsc19hZXNfY3J5cHRfY2JjKGN0eCwgbW9kZSwg c2l6ZSwgaXYsIGluLCBvdXQpOworICMgIGRlZmluZSBBRVNfRU5DUllQVCAgICAgICAgICAgICAg ICAgICAgIE1CRURUTFNfQUVTX0VOQ1JZUFQKKyAjICBkZWZpbmUgQUVTX0RFQ1JZUFQgICAgICAg ICAgICAgICAgICAgICBNQkVEVExTX0FFU19ERUNSWVBUCistI2Vsc2UKKy0jICBkZWZpbmUgQUVT X0NPTlRFWFQgICAgICAgICAgICAgICAgICAgICBhZXNfY29udGV4dAorLSMgIGRlZmluZSBBRVNf U0VURU5DX0tFWShjdHgsIGtleSwgc2l6ZSkgIGFlc19zZXRrZXlfZW5jKGN0eCwga2V5LCBzaXpl KQorLSMgIGRlZmluZSBBRVNfU0VUREVDX0tFWShjdHgsIGtleSwgc2l6ZSkgIGFlc19zZXRrZXlf ZGVjKGN0eCwga2V5LCBzaXplKQorLSMgIGRlZmluZSBBRVNfRUNCX0VOQyhjdHgsIG1vZGUsIGlu LCBvdXQpIGFlc19jcnlwdF9lY2IoY3R4LCBtb2RlLCBpbiwgb3V0KQorLSMgIGRlZmluZSBBRVNf Q0JDKGN0eCwgbW9kZSwgc2l6ZSwgaXYsIGluLCBvdXQpIFwKKy0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhZXNfY3J5cHRfY2JjKGN0eCwgbW9kZSwgc2l6ZSwgaXYs IGluLCBvdXQpOworLSNlbmRpZiAvKiBkZWZpbmVkKE1CRURUTFNfQUVTX0gpICovCistCisgCisg I2luY2x1ZGUgImRpc2xvY2tlci9lbmNyeXB0aW9uL2Flcy14dHMuaCIKKyAjaWYgZGVmaW5lZChN QkVEVExTX0NJUEhFUl9NT0RFX1hFWCkKK2RpZmYgLS1naXQgYS9pbmNsdWRlL2Rpc2xvY2tlci9l bmNyeXB0aW9uL29wZW5zc2wvc3NsX2JpbmRpbmdzLmggYi9pbmNsdWRlL2Rpc2xvY2tlci9lbmNy eXB0aW9uL29wZW5zc2wvc3NsX2JpbmRpbmdzLmgKK25ldyBmaWxlIG1vZGUgMTAwNjQ0CitpbmRl eCAwMDAwMDAwLi5jN2JhYzliCistLS0gL2Rldi9udWxsCisrKysgYi9pbmNsdWRlL2Rpc2xvY2tl ci9lbmNyeXB0aW9uL29wZW5zc2wvc3NsX2JpbmRpbmdzLmgKK0BAIC0wLDAgKzEsMjAyIEBACisr LyogLSotIGNvZGluZzogdXRmLTggLSotICovCisrLyogLSotIG1vZGU6IGMgLSotICovCisrLyoK KysgKiBEaXNsb2NrZXIgLS0gZW5hYmxlcyB0byByZWFkL3dyaXRlIG9uIEJpdExvY2tlciBlbmNy eXB0ZWQgcGFydGl0aW9ucyB1bmRlcgorKyAqIExpbnV4CisrICogQ29weXJpZ2h0IChDKSAyMDI2 IEFybSBMdGQuCisrICoKKysgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgKiBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorKyAqIG9mIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisrICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICogYWxvbmcgd2l0aCB0 aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysgKiBGb3Vu ZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1B ICAwMjExMC0xMzAxLAorKyAqIFVTQS4KKysgKi8KKysjaWZuZGVmIFNTTF9CSU5ESU5HU19ICisr I2RlZmluZSBTU0xfQklORElOR1NfSAorKworKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKysjaW5j bHVkZSA8b3BlbnNzbC9hZXMuaD4KKysjaW5jbHVkZSA8b3BlbnNzbC9jcnlwdG8uaD4KKysjaW5j bHVkZSA8b3BlbnNzbC9ldnAuaD4KKysjaW5jbHVkZSA8b3BlbnNzbC9zaGEuaD4KKysKKysjZGVm aW5lIERJU19PU1NMX01BWF9BRVNfS0VZX0JZVEVTIDUxMi84CisrCisrdHlwZWRlZiBzdHJ1Y3Qg ZGlzX29zc2xfYWVzX2N0eCBkaXNfb3NzbF9hZXNfY3R4OworK3N0cnVjdCBkaXNfb3NzbF9hZXNf Y3R4IHsKKysJdW5zaWduZWQgY2hhciBrZXlbRElTX09TU0xfTUFYX0FFU19LRVlfQllURVNdOwor KwlzaXplX3QgbGVuOworKwlpbnQgZW5jX2RlYzsKKysJRVZQX0NJUEhFUl9DVFggKm9zc2xfY3R4 OworK307CisrCisrI2RlZmluZSBBRVNfQ09OVEVYVCAgICAgICAgICAgICAgICAgICAgIGRpc19v c3NsX2Flc19jdHgKKysKKysjZGVmaW5lIERJU19PU1NMX0NJUEhFUl9FQ0IgMAorKyNkZWZpbmUg RElTX09TU0xfQ0lQSEVSX0NCQyAxCisrCisrI2lmIGRlZmluZWQoRVZQX0NJUEhfWFRTX01PREUp Cisrc3RhdGljIGlubGluZSBjb25zdCBFVlBfQ0lQSEVSICpkaXNfb3NzbF9nZXRfeHRzX2NpcGhl cihzaXplX3Qga2V5X2xlbikKKyt7CisrCXN3aXRjaCAoa2V5X2xlbikKKysJeworKwkJY2FzZSAx NjogcmV0dXJuIEVWUF9hZXNfMTI4X3h0cygpOworKwkJY2FzZSAzMjogcmV0dXJuIEVWUF9hZXNf MjU2X3h0cygpOworKwkJZGVmYXVsdDogcmV0dXJuIE5VTEw7CisrCX0KKyt9CisrI2VuZGlmCisr Cisrc3RhdGljIGlubGluZSBjb25zdCBFVlBfQ0lQSEVSICpkaXNfb3NzbF9nZXRfY2lwaGVyKHNp emVfdCBrZXlfbGVuLCBpbnQgb3NzbF9tb2RlKQorK3sKKysJaWYgKG9zc2xfbW9kZSA9PSBESVNf T1NTTF9DSVBIRVJfRUNCKQorKwl7CisrCQlzd2l0Y2ggKGtleV9sZW4pCisrCQl7CisrCQkJY2Fz ZSAxNjogcmV0dXJuIEVWUF9hZXNfMTI4X2VjYigpOworKwkJCWNhc2UgMjQ6IHJldHVybiBFVlBf YWVzXzE5Ml9lY2IoKTsKKysJCQljYXNlIDMyOiByZXR1cm4gRVZQX2Flc18yNTZfZWNiKCk7Cisr CQkJZGVmYXVsdDogcmV0dXJuIE5VTEw7CisrCQl9CisrCX0KKysJZWxzZSBpZiAob3NzbF9tb2Rl ID09IERJU19PU1NMX0NJUEhFUl9DQkMpCisrCXsKKysJCXN3aXRjaCAoa2V5X2xlbikKKysJCXsK KysJCQljYXNlIDE2OiByZXR1cm4gRVZQX2Flc18xMjhfY2JjKCk7CisrCQkJY2FzZSAyNDogcmV0 dXJuIEVWUF9hZXNfMTkyX2NiYygpOworKwkJCWNhc2UgMzI6IHJldHVybiBFVlBfYWVzXzI1Nl9j YmMoKTsKKysJCQlkZWZhdWx0OiByZXR1cm4gTlVMTDsKKysJCX0KKysJfQorKwlyZXR1cm4gTlVM TDsKKyt9CisrCisrc3RhdGljIGlubGluZSBpbnQgZGlzX29zc2xfc2V0X2tleShBRVNfQ09OVEVY VCAqY3R4LCBjb25zdCB1bnNpZ25lZCBjaGFyICprZXksIHNpemVfdCBrZXlfYml0cywgaW50IGVu Y19kZWMpCisreworKwlzaXplX3Qga2V5X2xlbiA9IGtleV9iaXRzIC8gODsKKysJaWYgKGtleV9s ZW4gPiBzaXplb2YoY3R4LT5rZXkpKQorKwkJcmV0dXJuIDE7CisrCWlmICghY3R4LT5vc3NsX2N0 eCkKKysJeworKwkJY3R4LT5vc3NsX2N0eCA9IEVWUF9DSVBIRVJfQ1RYX25ldygpOworKwkJaWYg KCFjdHgtPm9zc2xfY3R4KQorKwkJCXJldHVybiAxOworKwl9CisrCisrCW1lbWNweShjdHgtPmtl eSwga2V5LCBrZXlfbGVuKTsKKysJY3R4LT5sZW4gPSBrZXlfbGVuOworKwljdHgtPmVuY19kZWMg PSBlbmNfZGVjOworKworKwlyZXR1cm4gMDsKKyt9CisrCisrc3RhdGljIGlubGluZSB2b2lkIGRp c19vc3NsX2ZyZWUoQUVTX0NPTlRFWFQgKmN0eCkKKyt7CisrCWlmICghY3R4KQorKwkJcmV0dXJu OworKworKwlFVlBfQ0lQSEVSX0NUWF9mcmVlKGN0eC0+b3NzbF9jdHgpOworKwljdHgtPm9zc2xf Y3R4ID0gTlVMTDsKKysJT1BFTlNTTF9jbGVhbnNlKGN0eC0+a2V5LCBzaXplb2YoY3R4LT5rZXkp KTsKKyt9CisrCisrc3RhdGljIGlubGluZSBpbnQgZGlzX29zc2xfYWVzX2NyeXB0KAorKwlBRVNf Q09OVEVYVCAqY3R4LAorKwlpbnQgbW9kZSwKKysJaW50IHNpemUsCisrCWNvbnN0IHVuc2lnbmVk IGNoYXIgKml2LAorKwljb25zdCB1bnNpZ25lZCBjaGFyICppbnB1dCwKKysJdW5zaWduZWQgY2hh ciAqb3V0cHV0LAorKwlpbnQgY2lwaGVyKQorK3sKKysJaW50IG91dF9sZW4gPSAwOworKworKwlj b25zdCBFVlBfQ0lQSEVSICpvc3NsX2NpcGhlciA9IGRpc19vc3NsX2dldF9jaXBoZXIoY3R4LT5s ZW4sIGNpcGhlcik7CisrCWlmICghb3NzbF9jaXBoZXIpCisrCQlyZXR1cm4gMTsKKysKKysJRVZQ X0NJUEhFUl9DVFggKm9zc2xfY3R4ID0gY3R4LT5vc3NsX2N0eDsKKysJaWYgKCFvc3NsX2N0eCkK KysJCXJldHVybiAxOworKworKwlpZiAoIUVWUF9DSVBIRVJfQ1RYX3Jlc2V0KG9zc2xfY3R4KSkK KysJCXJldHVybiAxOworKworKwlpZiAoIUVWUF9DaXBoZXJJbml0X2V4KG9zc2xfY3R4LCBvc3Ns X2NpcGhlciwgTlVMTCwgY3R4LT5rZXksIGl2LCBtb2RlID09IEFFU19FTkNSWVBUKSkgcmV0dXJu IDE7CisrCWlmICghRVZQX0NJUEhFUl9DVFhfc2V0X3BhZGRpbmcob3NzbF9jdHgsIDApKSByZXR1 cm4gMTsKKysJaWYgKCFFVlBfQ2lwaGVyVXBkYXRlKG9zc2xfY3R4LCBvdXRwdXQsICZvdXRfbGVu LCBpbnB1dCwgc2l6ZSkpIHJldHVybiAxOworKwlpZiAoIUVWUF9DaXBoZXJGaW5hbF9leChvc3Ns X2N0eCwgJm91dHB1dFtvdXRfbGVuXSwgJm91dF9sZW4pKSByZXR1cm4gMTsKKysKKysJcmV0dXJu IDA7CisrfQorKworKyNpZiBkZWZpbmVkKEVWUF9DSVBIX1hUU19NT0RFKQorK3N0YXRpYyBpbmxp bmUgaW50IGRpc19vc3NsX2Flc19jcnlwdF94dHMoCisrCUFFU19DT05URVhUICpjcnlwdF9jdHgs CisrCUFFU19DT05URVhUICp0d2Vha19jdHgsCisrCWludCBtb2RlLAorKwlzaXplX3Qgc2l6ZSwK KysJdW5zaWduZWQgY2hhciAqaXYsCisrCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmlucHV0LAorKwl1 bnNpZ25lZCBjaGFyICpvdXRwdXQpCisreworKwlpbnQgb3V0X2xlbiA9IDA7CisrCXVuc2lnbmVk IGNoYXIgeHRzX2tleVtESVNfT1NTTF9NQVhfQUVTX0tFWV9CWVRFU10gPSB7MH07CisrCisrCWNv bnN0IEVWUF9DSVBIRVIgKm9zc2xfY2lwaGVyID0gZGlzX29zc2xfZ2V0X3h0c19jaXBoZXIoY3J5 cHRfY3R4LT5sZW4pOworKwlpZiAoIW9zc2xfY2lwaGVyKQorKwkJcmV0dXJuIDE7CisrCisrCUVW UF9DSVBIRVJfQ1RYICpvc3NsX2N0eCA9IGNyeXB0X2N0eC0+b3NzbF9jdHg7CisrCWlmICghb3Nz bF9jdHgpCisrCQlyZXR1cm4gMTsKKysKKysJbWVtY3B5KHh0c19rZXksIGNyeXB0X2N0eC0+a2V5 LCBjcnlwdF9jdHgtPmxlbik7CisrCW1lbWNweSh4dHNfa2V5ICsgY3J5cHRfY3R4LT5sZW4sIHR3 ZWFrX2N0eC0+a2V5LCB0d2Vha19jdHgtPmxlbik7CisrCisrCWlmICghRVZQX0NJUEhFUl9DVFhf cmVzZXQob3NzbF9jdHgpKQorKwkJcmV0dXJuIDE7CisrCisrCWlmICghRVZQX0NpcGhlckluaXRf ZXgob3NzbF9jdHgsIG9zc2xfY2lwaGVyLCBOVUxMLCB4dHNfa2V5LCBpdiwgbW9kZSA9PSBBRVNf RU5DUllQVCkpIHJldHVybiAxOworKwlpZiAoIUVWUF9DSVBIRVJfQ1RYX3NldF9wYWRkaW5nKG9z c2xfY3R4LCAwKSkgcmV0dXJuIDE7CisrCWlmICghRVZQX0NpcGhlclVwZGF0ZShvc3NsX2N0eCwg b3V0cHV0LCAmb3V0X2xlbiwgaW5wdXQsIChpbnQpc2l6ZSkpIHJldHVybiAxOworKwlpZiAoIUVW UF9DaXBoZXJGaW5hbF9leChvc3NsX2N0eCwgJm91dHB1dFtvdXRfbGVuXSwgJm91dF9sZW4pKSBy ZXR1cm4gMTsKKysKKysJcmV0dXJuIDA7CisrfQorKyNlbmRpZgorKworKyNkZWZpbmUgQUVTX1NF VEVOQ19LRVkoY3R4LCBrZXksIHNpemUpICBkaXNfb3NzbF9zZXRfa2V5KGN0eCwga2V5LCBzaXpl LCBBRVNfRU5DUllQVCkKKysjZGVmaW5lIEFFU19TRVRERUNfS0VZKGN0eCwga2V5LCBzaXplKSAg ZGlzX29zc2xfc2V0X2tleShjdHgsIGtleSwgc2l6ZSwgQUVTX0RFQ1JZUFQpCisrI2RlZmluZSBB RVNfRlJFRShjdHgpCWRpc19vc3NsX2ZyZWUoY3R4KQorKyNkZWZpbmUgQUVTX0VDQl9FTkMoY3R4 LCBtb2RlLCBpbiwgb3V0KSBkaXNfb3NzbF9hZXNfY3J5cHQoY3R4LCBtb2RlLCAxNiwgTlVMTCwg aW4sIG91dCwgRElTX09TU0xfQ0lQSEVSX0VDQikKKysjZGVmaW5lIEFFU19DQkMoY3R4LCBtb2Rl LCBzaXplLCBpdiwgaW4sIG91dCkgZGlzX29zc2xfYWVzX2NyeXB0KGN0eCwgbW9kZSwgc2l6ZSwg aXYsIGluLCBvdXQsIERJU19PU1NMX0NJUEhFUl9DQkMpCisrCisrLyoKKysgKiBPcGVuU1NMIGRv ZXNuJ3QgcHJvdmlkZSBYRVgsIHNvIGp1c3QgdXNlIHRoZSBkaXNsb2NrZXIgaW1wbGVtZW50YXRp b25zLiBOb3RlIHRoYXQKKysgKiB0aGUgZGlzbG9ja2VyIGltcGxlbWVudGF0aW9ucyB1c2UgdGhl IE9wZW5TU0wgcHJpbWl0aXZlcyBhbHJlYWR5IGRlZmluZWQsIHRoZXNlIGFyZSBvcHRpb25hbAor KyAqLworKyNpbmNsdWRlICJkaXNsb2NrZXIvZW5jcnlwdGlvbi9hZXMteHRzLmgiCisrI2RlZmlu ZSBBRVNfWEVYKGN0eDEsIGN0eDIsIG1vZGUsIHNpemUsIGl2LCBpbiwgb3V0KSBcCisrCQkJICBk aXNfYWVzX2NyeXB0X3hleChjdHgxLCBjdHgyLCBtb2RlLCBzaXplLCBpdiwgaW4sIG91dCkKKysK KysjaWYgZGVmaW5lZChFVlBfQ0lQSF9YVFNfTU9ERSkKKysjICBkZWZpbmUgQUVTX1hUUyhjdHgx LCBjdHgyLCBtb2RlLCBzaXplLCBpdiwgaW4sIG91dCkgXAorKwkJCSAgZGlzX29zc2xfYWVzX2Ny eXB0X3h0cyhjdHgxLCBjdHgyLCBtb2RlLCBzaXplLCBpdiwgaW4sIG91dCkKKysjZWxzZQorKyMg IGRlZmluZSBBRVNfWFRTKGN0eDEsIGN0eDIsIG1vZGUsIHNpemUsIGl2LCBpbiwgb3V0KSBcCisr CQkJICBkaXNfYWVzX2NyeXB0X3h0cyhjdHgxLCBjdHgyLCBtb2RlLCBzaXplLCBpdiwgaW4sIG91 dCkKKysjZW5kaWYKKysKKysjZW5kaWYgLyogU1NMX0JJTkRJTkdTX0ggKi8KK2RpZmYgLS1naXQg YS9zcmMvQ01ha2VMaXN0cy50eHQgYi9zcmMvQ01ha2VMaXN0cy50eHQKK2luZGV4IGU0YjBiOGYu LmVlN2IxNDAgMTAwNjQ0CistLS0gYS9zcmMvQ01ha2VMaXN0cy50eHQKKysrKyBiL3NyYy9DTWFr ZUxpc3RzLnR4dAorQEAgLTQ3LDcgKzQ3LDYgQEAgZW5kaWYoKQorIGlmKCBOT1QgQ01BS0VfQ1JP U1NDT01QSUxJTkcgKQorIAlpbmNsdWRlX2RpcmVjdG9yaWVzIChTWVNURU0gL3Vzci9sb2NhbC9p bmNsdWRlKQorIGVuZGlmKCkKKy1pbmNsdWRlX2RpcmVjdG9yaWVzICgke1BST0pFQ1RfU09VUkNF X0RJUn0vaW5jbHVkZSkKKyAKKyBzZXQgKExJQiBwdGhyZWFkKQorIHNldCAoU09VUkNFUworQEAg LTExOCwxNSArMTE3LDYgQEAgZW5kaWYoKQorICMgTGlicmFyaWVzCisgc2V0IChDTUFLRV9NT0RV TEVfUEFUSCAke1BST0pFQ1RfU09VUkNFX0RJUn0vY21ha2UpCisgCistZmluZF9wYWNrYWdlIChQ b2xhclNTTCBSRVFVSVJFRCkKKy1pZihQT0xBUlNTTF9GT1VORCAgQU5EICBQT0xBUlNTTF9JTkNM VURFX0RJUlMgIEFORCAgUE9MQVJTU0xfTElCUkFSSUVTKQorLQlpbmNsdWRlX2RpcmVjdG9yaWVz ICgke1BPTEFSU1NMX0lOQ0xVREVfRElSU30pCistCXNldCAoTElCICR7TElCfSAke1BPTEFSU1NM X0xJQlJBUklFU30pCistCWNvbmZpZ3VyZV9maWxlICgke1BST0pFQ1RfU09VUkNFX0RJUn0vaW5j bHVkZS9kaXNsb2NrZXIvc3NsX2JpbmRpbmdzLmguaW4gJHtQUk9KRUNUX1NPVVJDRV9ESVJ9L2lu Y2x1ZGUvZGlzbG9ja2VyL3NzbF9iaW5kaW5ncy5oIEVTQ0FQRV9RVU9URVMgQE9OTFkpCistZWxz ZSgpCistCXJldHVybiAoKQorLWVuZGlmKCkKKy0KKyAjIFJ1YnkgYmluZGluZ3MKKyBzZXQoV0lU SF9SVUJZICJBVVRPIiBDQUNIRSBTVFJJTkcgIkVuYWJsZSBSdWJ5IGJpbmRpbmdzLiBWYWxpZCB2 YWx1ZXMgYXJlIE9OLCBPRkYsIG9yIEFVVE8iKQorIGlmIChOT1QgIiR7V0lUSF9SVUJZfSIgU1RS RVFVQUwgIk9GRiIpCitAQCAtMjA3LDcgKzE5Nyw4IEBAIGVuZGlmKCkKKyAKKyAjIFRhcmdldHMK KyBhZGRfbGlicmFyeSAoJHtQUk9KRUNUX05BTUV9IFNIQVJFRCAke1NPVVJDRVN9KQorLXRhcmdl dF9saW5rX2xpYnJhcmllcyAoJHtQUk9KRUNUX05BTUV9ICR7TElCfSkKKyt0YXJnZXRfaW5jbHVk ZV9kaXJlY3RvcmllcyAoJHtQUk9KRUNUX05BTUV9IFBVQkxJQyAke1BST0pFQ1RfU09VUkNFX0RJ Un0vaW5jbHVkZSkKKyt0YXJnZXRfbGlua19saWJyYXJpZXMgKCR7UFJPSkVDVF9OQU1FfSBQVUJM SUMgJHtMSUJ9KQorIHNldF90YXJnZXRfcHJvcGVydGllcyAoJHtQUk9KRUNUX05BTUV9IFBST1BF UlRJRVMgVkVSU0lPTiAiJHtWRVJTSU9OfSIgU09WRVJTSU9OICIke1ZFUlNJT05fTUFKT1J9LiR7 VkVSU0lPTl9NSU5PUn0iKQorIGluc3RhbGwgKFRBUkdFVFMgJHtQUk9KRUNUX05BTUV9IExJQlJB UlkgREVTVElOQVRJT04gIiR7bGliZGlyfSIpCisgCitAQCAtMjE5LDEyICsyMTAsNDUgQEAgaWYg KCR7QVBQTEV9KQorIAlpbnN0YWxsIChUQVJHRVRTICR7QlVORExFX05BTUV9IERFU1RJTkFUSU9O ICIke2xpYmRpcn0iKQorIGVuZGlmKCkKKyAKKytzZXQoQ1JZUFRPX0JBQ0tFTkQgIm1iZWR0bHMi IENBQ0hFIFNUUklORyAiQ3J5cHRvIGxpYnJhcnkgYmFja2VuZCIpCisrc2V0X3Byb3BlcnR5KENB Q0hFIENSWVBUT19CQUNLRU5EIFBST1BFUlRZIFNUUklOR1MgIm1iZWR0bHMiICJvcGVuc3NsIikK KysKKythZGRfbGlicmFyeShkaXNsb2NrZXJfY3J5cHRvX2JhY2tlbmQgSU5URVJGQUNFKQorKwor K21lc3NhZ2UoU1RBVFVTICJDcnlwdG8gYmFja2VuZDogJHtDUllQVE9fQkFDS0VORH0iKQorK2lm KENSWVBUT19CQUNLRU5EIFNUUkVRVUFMICJtYmVkdGxzIikKKysgIGZpbmRfcGFja2FnZSAoTWJl ZFRMUyAzIFJFUVVJUkVEKQorKyAgdGFyZ2V0X2xpbmtfbGlicmFyaWVzKCR7UFJPSkVDVF9OQU1F fQorKyAgICBQUklWQVRFCisrICAgICAgTWJlZFRMUzo6bWJlZGNyeXB0bworKyAgKQorKyAgdGFy Z2V0X2xpbmtfbGlicmFyaWVzKGRpc2xvY2tlcl9jcnlwdG9fYmFja2VuZCBJTlRFUkZBQ0UgTWJl ZFRMUzo6bWJlZGNyeXB0bykKKysgIHRhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKCR7UFJPSkVD VF9OQU1FfQorKyAgICBQVUJMSUMKKysgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9pbmNsdWRlLyR7 UFJPSkVDVF9OQU1FfS9lbmNyeXB0aW9uL21iZWR0bHMKKysgICkKKytlbHNlaWYoQ1JZUFRPX0JB Q0tFTkQgU1RSRVFVQUwgIm9wZW5zc2wiKQorKyAgZmluZF9wYWNrYWdlKE9wZW5TU0wgMS4xLjAg UkVRVUlSRUQpCisrICB0YXJnZXRfbGlua19saWJyYXJpZXMoJHtQUk9KRUNUX05BTUV9CisrICAg IFBSSVZBVEUKKysgICAgICBPcGVuU1NMOjpDcnlwdG8KKysgICkKKysgIHRhcmdldF9saW5rX2xp YnJhcmllcyhkaXNsb2NrZXJfY3J5cHRvX2JhY2tlbmQgSU5URVJGQUNFIE9wZW5TU0w6OkNyeXB0 bykKKysgIHRhcmdldF9pbmNsdWRlX2RpcmVjdG9yaWVzKCR7UFJPSkVDVF9OQU1FfQorKyAgICBQ VUJMSUMKKysgICAgJHtDTUFLRV9TT1VSQ0VfRElSfS9pbmNsdWRlLyR7UFJPSkVDVF9OQU1FfS9l bmNyeXB0aW9uL29wZW5zc2wKKysgICkKKytlbHNlKCkKKysgIG1lc3NhZ2UoRkFUQUxfRVJST1Ig IlVua25vd24gQ1JZUFRPX0JBQ0tFTkQ9JyR7Q1JZUFRPX0JBQ0tFTkR9Jy4iKQorK2VuZGlmKCkK KysKKysKKyBzZXQgKENMRUFOX0ZJTEVTICIiKQorIAorIGlmKEZVU0VfRk9VTkQpCisgCXNldCAo QklOX0ZVU0UgJHtQUk9KRUNUX05BTUV9LWZ1c2UpCisgCWFkZF9leGVjdXRhYmxlICgke0JJTl9G VVNFfSAke0JJTl9GVVNFfS5jKQorLQl0YXJnZXRfbGlua19saWJyYXJpZXMgKCR7QklOX0ZVU0V9 ICR7RlVTRV9MSUJCUkFSSUVTfSAke1BST0pFQ1RfTkFNRX0pCisrCXRhcmdldF9saW5rX2xpYnJh cmllcyAoJHtCSU5fRlVTRX0gUFJJVkFURSAke0ZVU0VfTElCQlJBUklFU30gJHtMSUJ9ICR7UFJP SkVDVF9OQU1FfSkKKyAJc2V0X3RhcmdldF9wcm9wZXJ0aWVzICgke0JJTl9GVVNFfSBQUk9QRVJU SUVTIENPTVBJTEVfREVGSU5JVElPTlMgRlVTRV9VU0VfVkVSU0lPTj0yNikKKyAJc2V0X3Rhcmdl dF9wcm9wZXJ0aWVzICgke0JJTl9GVVNFfSBQUk9QRVJUSUVTIExJTktfRkxBR1MgIi1waWUgLWZQ SUUiKQorIAlhZGRfY3VzdG9tX2NvbW1hbmQgKFRBUkdFVCAke0JJTl9GVVNFfSBQT1NUX0JVSUxE CitkaWZmIC0tZ2l0IGEvc3JjL2VuY3J5cHRpb24vYWVzLXh0cy5jIGIvc3JjL2VuY3J5cHRpb24v YWVzLXh0cy5jCitpbmRleCBiZTA5YzQ2Li5iYjgwMTIwIDEwMDY0NAorLS0tIGEvc3JjL2VuY3J5 cHRpb24vYWVzLXh0cy5jCisrKysgYi9zcmMvZW5jcnlwdGlvbi9hZXMteHRzLmMKK0BAIC0yNCw3 ICsyNCw3IEBACisgI2luY2x1ZGUgPHN0ZGludC5oPgorICNpbmNsdWRlIDxzdHJpbmcuaD4KKyAK Ky0jaW5jbHVkZSAiZGlzbG9ja2VyL3NzbF9iaW5kaW5ncy5oIgorKyNpbmNsdWRlICJzc2xfYmlu ZGluZ3MuaCIKKyAKKyAjaWZuZGVmIEdFVF9VSU5UNjRfTEUKKyAjZGVmaW5lIEdFVF9VSU5UNjRf TEUobixiLGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKK2RpZmYgLS1naXQgYS9zcmMv ZW5jcnlwdGlvbi9kZWNyeXB0LmMgYi9zcmMvZW5jcnlwdGlvbi9kZWNyeXB0LmMKK2luZGV4IDFh YWI0MWEuLmMwOTYwYjAgMTAwNjQ0CistLS0gYS9zcmMvZW5jcnlwdGlvbi9kZWNyeXB0LmMKKysr KyBiL3NyYy9lbmNyeXB0aW9uL2RlY3J5cHQuYworQEAgLTczLDcgKzczLDcgQEAgaW50IGRlY3J5 cHRfa2V5KAorIAkJcmV0dXJuIEZBTFNFOworIAorIAorLQlBRVNfQ09OVEVYVCBjdHg7CisrCUFF U19DT05URVhUIGN0eCA9IHswfTsKKyAKKyAJdWludDhfdCBtYWNfZmlyc3QgW0FVVEhFTlRJQ0FU T1JfTEVOR1RIXTsKKyAJdWludDhfdCBtYWNfc2Vjb25kW0FVVEhFTlRJQ0FUT1JfTEVOR1RIXTsK K0BAIC0xMzgsNyArMTM4LDcgQEAgaW50IGRlY3J5cHRfa2V5KAorIAkpOworIAorIAorLQltZW1z ZXQoJmN0eCwgMCwgc2l6ZW9mKEFFU19DT05URVhUKSk7CisrCUFFU19GUkVFKCZjdHgpOworIAor IAorIAorZGlmZiAtLWdpdCBhL3NyYy9lbmNyeXB0aW9uL2VuY29tbW9uLmMgYi9zcmMvZW5jcnlw dGlvbi9lbmNvbW1vbi5jCitpbmRleCAwNjIzOTAxLi4xM2RmNjVkIDEwMDY0NAorLS0tIGEvc3Jj L2VuY3J5cHRpb24vZW5jb21tb24uYworKysrIGIvc3JjL2VuY3J5cHRpb24vZW5jb21tb24uYwor QEAgLTI4LDggKzI4LDggQEAKKyAjaW5jbHVkZSAiZGlzbG9ja2VyL2VuY3J5cHRpb24vZW5jcnlw dC5oIgorICNpbmNsdWRlICJkaXNsb2NrZXIvZW5jcnlwdGlvbi9kZWNyeXB0LmgiCisgI2luY2x1 ZGUgImRpc2xvY2tlci9lbmNyeXB0aW9uL2VuY29tbW9uLnByaXYuaCIKKysjaW5jbHVkZSAic3Ns X2JpbmRpbmdzLmgiCisgCistI2luY2x1ZGUgPHN0cmluZy5oPgorIAorIAorIC8qKgorQEAgLTEx NSw2ICsxMTUsMTIgQEAgaW50IGRpc19jcnlwdF9zZXRfZnZla2V5KGRpc19jcnlwdF90IGNyeXB0 LCB1aW50MTZfdCBhbGdvcml0aG0sIHVpbnQ4X3QqIGZ2ZWtleSkKKyAKKyB2b2lkIGRpc19jcnlw dF9kZXN0cm95KGRpc19jcnlwdF90IGNyeXB0KQorIHsKKy0JaWYoY3J5cHQpCistCQlkaXNfZnJl ZShjcnlwdCk7CisrCWlmICghY3J5cHQpCisrCQlyZXR1cm47CisrCisrCUFFU19GUkVFKCZjcnlw dC0+Y3R4LkZWRUtfRF9jdHgpOworKwlBRVNfRlJFRSgmY3J5cHQtPmN0eC5GVkVLX0VfY3R4KTsK KysJQUVTX0ZSRUUoJmNyeXB0LT5jdHguVFdFQUtfRF9jdHgpOworKwlBRVNfRlJFRSgmY3J5cHQt PmN0eC5UV0VBS19FX2N0eCk7CisrCWRpc19mcmVlKGNyeXB0KTsKKyB9CitkaWZmIC0tZ2l0IGEv dGVzdC9DTWFrZUxpc3RzLnR4dCBiL3Rlc3QvQ01ha2VMaXN0cy50eHQKK25ldyBmaWxlIG1vZGUg MTAwNjQ0CitpbmRleCAwMDAwMDAwLi43YmJlYTNhCistLS0gL2Rldi9udWxsCisrKysgYi90ZXN0 L0NNYWtlTGlzdHMudHh0CitAQCAtMCwwICsxLDI2IEBACisrIyBEaXNsb2NrZXIgLS0gZW5hYmxl cyB0byByZWFkL3dyaXRlIG9uIEJpdExvY2tlciBlbmNyeXB0ZWQgcGFydGl0aW9ucyB1bmRlcgor KyMgTGludXgKKysjIENvcHlyaWdodCAoQykgMjAyNiBBcm0gTHRkCisrIworKyMgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyMg bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKKysjIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyCisrIyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91 bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl CisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBT b2Z0d2FyZQorKyMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG bG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwKKysjIFVTQS4KKysKKythZGRfZXhlY3V0YWJs ZShjcnlwdG9fdGVzdHMKKysgIHRlc3QtY3J5cHRvLmMKKyspCisrCisrdGFyZ2V0X2xpbmtfbGli cmFyaWVzKGNyeXB0b190ZXN0cyBQUklWQVRFICR7UFJPSkVDVF9OQU1FfSBkaXNsb2NrZXJfY3J5 cHRvX2JhY2tlbmQpCisrCisrYWRkX3Rlc3QoTkFNRSBjcnlwdG9fdGVzdHMgQ09NTUFORCBjcnlw dG9fdGVzdHMpCitkaWZmIC0tZ2l0IGEvdGVzdC90ZXN0LWNyeXB0by5jIGIvdGVzdC90ZXN0LWNy eXB0by5jCituZXcgZmlsZSBtb2RlIDEwMDY0NAoraW5kZXggMDAwMDAwMC4uZWY3NzZjMworLS0t IC9kZXYvbnVsbAorKysrIGIvdGVzdC90ZXN0LWNyeXB0by5jCitAQCAtMCwwICsxLDI4MCBAQAor Ky8qIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLSAqLworKy8qIC0qLSBtb2RlOiBjIC0qLSAqLworKy8q CisrICogRGlzbG9ja2VyIC0tIGVuYWJsZXMgdG8gcmVhZC93cml0ZSBvbiBCaXRMb2NrZXIgZW5j cnlwdGVkIHBhcnRpdGlvbnMgdW5kZXIKKysgKiBMaW51eAorKyAqIENvcHlyaWdodCAoQykgMjAy NiBBcm0gTHRkLgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICogYXMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIKKysgKiBvZiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysgKgorKyAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCisrICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisrICoKKysgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyAqIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisrICogRm91 bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN QSAgMDIxMTAtMTMwMSwKKysgKiBVU0EuCisrICovCisrI2luY2x1ZGUgPHNldGptcC5oPgorKyNp bmNsdWRlIDxzdGRpby5oPgorKyNpbmNsdWRlIDxzdHJpbmcuaD4KKysKKysjaW5jbHVkZSAic3Ns X2JpbmRpbmdzLmgiCisrCisrI2luY2x1ZGUgInRlc3QuaCIKKysjaW5jbHVkZSAidGVzdF92ZWN0 b3JzLmgiCisrCisrc3RhdGljIHZvaWQgdGVzdF9lY2JfZW5jcnlwdF8xMjgodm9pZCkKKyt7Cisr CUFFU19DT05URVhUIGN0eCA9IHswfTsKKysKKysJTkVXX0FSUkFZX0ZST00odW5zaWduZWQgY2hh ciwgYnVmLCBvcmlnXzE2KTsKKysKKysJLyogVGVzdCBBRVMgRUNCIDEyOCBFbmNyeXB0aW9uICov CisrCUFFU19TRVRFTkNfS0VZKCZjdHgsIGtleV9hZXNfMTI4LCBzaXplb2Yoa2V5X2Flc18xMjgp ICogOCk7CisrCisrCUFFU19FQ0JfRU5DKCZjdHgsIEFFU19FTkNSWVBULCBidWYsIGJ1Zik7Cisr CisrCUNIRUNLX1NUQVRJQ19CVUZGRVJTKGJ1ZiwgYWVzX2VjYl8xMjhfZXhwZWN0ZWQpOworKwor KwkvKiBUZXN0IEFFUyBFQ0IgMTI4IERlY3J5cHRpb24gKi8KKysJQUVTX1NFVERFQ19LRVkoJmN0 eCwga2V5X2Flc18xMjgsIHNpemVvZihrZXlfYWVzXzEyOCkgKiA4KTsKKysKKysJQUVTX0VDQl9F TkMoJmN0eCwgQUVTX0RFQ1JZUFQsIGJ1ZiwgYnVmKTsKKysKKysJQ0hFQ0tfU1RBVElDX0JVRkZF UlMoYnVmLCBvcmlnXzE2KTsKKysKKysJQUVTX0ZSRUUoJmN0eCk7CisrfQorKworK3N0YXRpYyB2 b2lkIHRlc3RfZWNiX2VuY3J5cHRfMjU2KHZvaWQpIHsKKysJQUVTX0NPTlRFWFQgY3R4ID0gezB9 OworKworKwlORVdfQVJSQVlfRlJPTSh1bnNpZ25lZCBjaGFyLCBidWYsIG9yaWdfMTYpOworKwor KwkvKiBUZXN0IEFFUyBFQ0IgMjU2IEVuY3J5cHRpb24gKi8KKysJQUVTX1NFVEVOQ19LRVkoJmN0 eCwga2V5X2Flc18yNTYsIHNpemVvZihrZXlfYWVzXzI1NikgKiA4KTsKKysKKysJQUVTX0VDQl9F TkMoJmN0eCwgQUVTX0VOQ1JZUFQsIGJ1ZiwgYnVmKTsKKysKKysJQ0hFQ0tfU1RBVElDX0JVRkZF UlMoYnVmLCBleHBlY3RlZF9hZXNfZWNiXzI1Nik7CisrCisrCS8qIFRlc3QgQUVTIEVDQiAyNTYg RGVjcnlwdGlvbiAqLworKwlBRVNfU0VUREVDX0tFWSgmY3R4LCBrZXlfYWVzXzI1Niwgc2l6ZW9m KGtleV9hZXNfMjU2KSAqIDgpOworKworKwlBRVNfRUNCX0VOQygmY3R4LCBBRVNfREVDUllQVCwg YnVmLCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIG9yaWdfMTYpOworKwor KwlBRVNfRlJFRSgmY3R4KTsKKyt9CisrCisrc3RhdGljIHZvaWQgdGVzdF9jYmNfZW5jcnlwdF8x Mjgodm9pZCkgeworKwlBRVNfQ09OVEVYVCBjdHggPSB7MH07CisrCisrCU5FV19BUlJBWV9GUk9N KHVuc2lnbmVkIGNoYXIsIGJ1Ziwgb3JpZ181MTIpOworKworKwkvKiBtYmVkdGxzIHJlcXVpcmVz IGEgbXV0YWJsZSBJViAqLworKwlORVdfQVJSQVlfRlJPTSh1bnNpZ25lZCBjaGFyLCBpdiwgc3Rh dGljX2l2KTsKKysKKysJLyogVGVzdCBBRVMgQ0JDIDEyOCBFbmNyeXB0aW9uCisrCSAqCisrCSAq IEluIGF0IGxlYXN0IG9uZSB0ZXN0LCBtb2RpZnkgdGhlIGtleSB0byBlbnN1cmUgdGhlIGludGVy bmFsCisrCSAqIGNvbnRleHQgYnVmZmVyIGRvZXNuJ3QgZGVwZW5kIG9uIHRoZSBrZXkgcG9pbnRl ciByZW1haW5pbmcKKysJICogY29uc3RhbnQuCisrCSAqLworKwl1bnNpZ25lZCBjaGFyIG11dGFi bGVfa2V5W3NpemVvZihrZXlfYWVzXzEyOCldOworKwltZW1jcHkobXV0YWJsZV9rZXksIGtleV9h ZXNfMTI4LCBzaXplb2YobXV0YWJsZV9rZXkpKTsKKysJQUVTX1NFVEVOQ19LRVkoJmN0eCwgbXV0 YWJsZV9rZXksIHNpemVvZihrZXlfYWVzXzEyOCkgKiA4KTsKKysJbWVtc2V0KG11dGFibGVfa2V5 LCAweEZGLCBzaXplb2YobXV0YWJsZV9rZXkpKTsKKysKKysJQUVTX0NCQygmY3R4LCBBRVNfRU5D UllQVCwgc2l6ZW9mKGJ1ZiksIGl2LCBidWYsIGJ1Zik7CisrCisrCUNIRUNLX1NUQVRJQ19CVUZG RVJTKGJ1ZiwgZXhwZWN0ZWRfY2JjXzEyOCk7CisrCisrCS8qIFRlc3QgQUVTIENCQyAxMjggRGVj cnlwdGlvbiAqLworKwltZW1jcHkoaXYsIHN0YXRpY19pdiwgc2l6ZW9mKGl2KSk7CisrCisrCUFF U19TRVRERUNfS0VZKCZjdHgsIGtleV9hZXNfMTI4LCBzaXplb2Yoa2V5X2Flc18xMjgpICogOCk7 CisrCisrCUFFU19DQkMoJmN0eCwgQUVTX0RFQ1JZUFQsIHNpemVvZihleHBlY3RlZF9jYmNfMTI4 KSwgaXYsIGV4cGVjdGVkX2NiY18xMjgsIGJ1Zik7CisrCisrCUNIRUNLX1NUQVRJQ19CVUZGRVJT KGJ1Ziwgb3JpZ181MTIpOworKworKwlBRVNfRlJFRSgmY3R4KTsKKyt9CisrCisrc3RhdGljIHZv aWQgdGVzdF9jYmNfZW5jcnlwdF8yNTYodm9pZCkgeworKwlBRVNfQ09OVEVYVCBjdHggPSB7MH07 CisrCisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIsIGJ1Ziwgb3JpZ181MTIpOworKwor KwkvKiBtYmVkdGxzIHJlcXVpcmVzIGEgbXV0YWJsZSBJViAqLworKwlORVdfQVJSQVlfRlJPTSh1 bnNpZ25lZCBjaGFyLCBpdiwgc3RhdGljX2l2KTsKKysKKysJLyogVGVzdCBBRVMgQ0JDIDI1NiBF bmNyeXB0aW9uICovCisrCUFFU19TRVRFTkNfS0VZKCZjdHgsIGtleV9hZXNfMjU2LCBzaXplb2Yo a2V5X2Flc18yNTYpICogOCk7CisrCisrCUFFU19DQkMoJmN0eCwgQUVTX0VOQ1JZUFQsIHNpemVv ZihidWYpLCBpdiwgYnVmLCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIGV4 cGVjdGVkX2NiY18yNTYpOworKworKwkvKiBUZXN0IEFFUyBDQkMgMjU2IERlY3J5cHRpb24gKi8K KysJbWVtY3B5KGl2LCBzdGF0aWNfaXYsIHNpemVvZihpdikpOworKworKwlBRVNfU0VUREVDX0tF WSgmY3R4LCBrZXlfYWVzXzI1Niwgc2l6ZW9mKGtleV9hZXNfMjU2KSAqIDgpOworKworKwlBRVNf Q0JDKCZjdHgsIEFFU19ERUNSWVBULCBzaXplb2YoZXhwZWN0ZWRfY2JjXzI1NiksIGl2LCBleHBl Y3RlZF9jYmNfMjU2LCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIG9yaWdf NTEyKTsKKysKKysJQUVTX0ZSRUUoJmN0eCk7CisrfQorKworK3N0YXRpYyB2b2lkIHRlc3RfeGV4 X2VuY3J5cHRfMTI4KHZvaWQpIHsKKysJQUVTX0NPTlRFWFQgY3R4ID0gezB9OworKwlBRVNfQ09O VEVYVCB0d2Vha19jdHggPSB7MH07CisrCisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIs IGJ1Ziwgb3JpZ18xNik7CisrCisrCS8qIG1iZWR0bHMgcmVxdWlyZXMgYSBtdXRhYmxlIElWICov CisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIsIGl2LCBzdGF0aWNfaXYpOworKworKwkv KiBUZXN0IEFFUyBYRVggMTI4IEVuY3J5cHRpb24gKi8KKysJQUVTX1NFVEVOQ19LRVkoJmN0eCwg a2V5X2Flc18xMjgsIHNpemVvZihrZXlfYWVzXzEyOCkgKiA4KTsKKysJQUVTX1NFVEVOQ19LRVko JnR3ZWFrX2N0eCwga2V5X2Flc190d2Vha18xMjgsIHNpemVvZihrZXlfYWVzX3R3ZWFrXzEyOCkg KiA4KTsKKysKKysJQUVTX1hFWCgmY3R4LCAmdHdlYWtfY3R4LCBBRVNfRU5DUllQVCwgc2l6ZW9m KGJ1ZiksIGl2LCBidWYsIGJ1Zik7CisrCisrCUNIRUNLX1NUQVRJQ19CVUZGRVJTKGJ1ZiwgZXhw ZWN0ZWRfeGV4XzEyOCk7CisrCisrCS8qIFRlc3QgQUVTIFhFWCAxMjggRGVjcnlwdGlvbiAqLwor KwltZW1jcHkoaXYsIHN0YXRpY19pdiwgc2l6ZW9mKGl2KSk7CisrCisrCUFFU19TRVRERUNfS0VZ KCZjdHgsIGtleV9hZXNfMTI4LCBzaXplb2Yoa2V5X2Flc18xMjgpICogOCk7CisrCisrCUFFU19Y RVgoJmN0eCwgJnR3ZWFrX2N0eCwgQUVTX0RFQ1JZUFQsIHNpemVvZihidWYpLCBpdiwgYnVmLCBi dWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIG9yaWdfMTYpOworKworKwlBRVNf RlJFRSgmY3R4KTsKKysJQUVTX0ZSRUUoJnR3ZWFrX2N0eCk7CisrfQorKworK3N0YXRpYyB2b2lk IHRlc3RfeGV4X2VuY3J5cHRfMjU2KHZvaWQpIHsKKysJQUVTX0NPTlRFWFQgY3R4ID0gezB9Owor KwlBRVNfQ09OVEVYVCB0d2Vha19jdHggPSB7MH07CisrCisrCU5FV19BUlJBWV9GUk9NKHVuc2ln bmVkIGNoYXIsIGJ1Ziwgb3JpZ18xNik7CisrCisrCS8qIG1iZWR0bHMgcmVxdWlyZXMgYSBtdXRh YmxlIElWICovCisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIsIGl2LCBzdGF0aWNfaXYp OworKworKwkvKiBUZXN0IEFFUyBYRVggMjU2IEVuY3J5cHRpb24gKi8KKysJQUVTX1NFVEVOQ19L RVkoJmN0eCwga2V5X2Flc18yNTYsIHNpemVvZihrZXlfYWVzXzI1NikgKiA4KTsKKysJQUVTX1NF VEVOQ19LRVkoJnR3ZWFrX2N0eCwga2V5X2Flc190d2Vha18yNTYsIHNpemVvZihrZXlfYWVzX3R3 ZWFrXzI1NikgKiA4KTsKKysKKysJQUVTX1hFWCgmY3R4LCAmdHdlYWtfY3R4LCBBRVNfRU5DUllQ VCwgc2l6ZW9mKGJ1ZiksIGl2LCBidWYsIGJ1Zik7CisrCisrCUNIRUNLX1NUQVRJQ19CVUZGRVJT KGJ1ZiwgZXhwZWN0ZWRfeGV4XzI1Nik7CisrCisrCS8qIFRlc3QgQUVTIFhFWCAyNTYgRGVjcnlw dGlvbiAqLworKwltZW1jcHkoaXYsIHN0YXRpY19pdiwgc2l6ZW9mKGl2KSk7CisrCisrCUFFU19T RVRERUNfS0VZKCZjdHgsIGtleV9hZXNfMjU2LCBzaXplb2Yoa2V5X2Flc18yNTYpICogOCk7Cisr CisrCUFFU19YRVgoJmN0eCwgJnR3ZWFrX2N0eCwgQUVTX0RFQ1JZUFQsIHNpemVvZihidWYpLCBp diwgYnVmLCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIG9yaWdfMTYpOwor KworKwlBRVNfRlJFRSgmY3R4KTsKKysJQUVTX0ZSRUUoJnR3ZWFrX2N0eCk7CisrfQorKworK3N0 YXRpYyB2b2lkIHRlc3RfeHRzX2VuY3J5cHRfMTI4KHZvaWQpIHsKKysJQUVTX0NPTlRFWFQgY3R4 ID0gezB9OworKwlBRVNfQ09OVEVYVCB0d2Vha19jdHggPSB7MH07CisrCisrCU5FV19BUlJBWV9G Uk9NKHVuc2lnbmVkIGNoYXIsIGJ1Ziwgb3JpZ18xNik7CisrCisrCS8qIG1iZWR0bHMgcmVxdWly ZXMgYSBtdXRhYmxlIElWICovCisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIsIGl2LCBz dGF0aWNfaXYpOworKworKwkvKiBUZXN0IEFFUyBYVFMgMTI4IEVuY3J5cHRpb24gKi8KKysJQUVT X1NFVEVOQ19LRVkoJmN0eCwga2V5X2Flc18xMjgsIHNpemVvZihrZXlfYWVzXzEyOCkgKiA4KTsK KysJQUVTX1NFVEVOQ19LRVkoJnR3ZWFrX2N0eCwga2V5X2Flc190d2Vha18xMjgsIHNpemVvZihr ZXlfYWVzX3R3ZWFrXzEyOCkgKiA4KTsKKysKKysJQUVTX1hUUygmY3R4LCAmdHdlYWtfY3R4LCBB RVNfRU5DUllQVCwgc2l6ZW9mKGJ1ZiksIGl2LCBidWYsIGJ1Zik7CisrCisrCUNIRUNLX1NUQVRJ Q19CVUZGRVJTKGJ1ZiwgZXhwZWN0ZWRfeHRzXzEyOCk7CisrCisrCS8qIFRlc3QgQUVTIFhUUyAx MjggRGVjcnlwdGlvbiAqLworKwltZW1jcHkoaXYsIHN0YXRpY19pdiwgc2l6ZW9mKGl2KSk7Cisr CisrCUFFU19TRVRERUNfS0VZKCZjdHgsIGtleV9hZXNfMTI4LCBzaXplb2Yoa2V5X2Flc18xMjgp ICogOCk7CisrCisrCUFFU19YVFMoJmN0eCwgJnR3ZWFrX2N0eCwgQUVTX0RFQ1JZUFQsIHNpemVv ZihidWYpLCBpdiwgYnVmLCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVSUyhidWYsIG9y aWdfMTYpOworKworKwlBRVNfRlJFRSgmY3R4KTsKKysJQUVTX0ZSRUUoJnR3ZWFrX2N0eCk7Cisr fQorKworK3N0YXRpYyB2b2lkIHRlc3RfeHRzX2VuY3J5cHRfMjU2KHZvaWQpIHsKKysJQUVTX0NP TlRFWFQgY3R4ID0gezB9OworKwlBRVNfQ09OVEVYVCB0d2Vha19jdHggPSB7MH07CisrCisrCU5F V19BUlJBWV9GUk9NKHVuc2lnbmVkIGNoYXIsIGJ1Ziwgb3JpZ18xNik7CisrCisrCS8qIG1iZWR0 bHMgcmVxdWlyZXMgYSBtdXRhYmxlIElWICovCisrCU5FV19BUlJBWV9GUk9NKHVuc2lnbmVkIGNo YXIsIGl2LCBzdGF0aWNfaXYpOworKworKwkvKiBUZXN0IEFFUyBYVFMgMjU2IEVuY3J5cHRpb24g Ki8KKysJQUVTX1NFVEVOQ19LRVkoJmN0eCwga2V5X2Flc18yNTYsIHNpemVvZihrZXlfYWVzXzI1 NikgKiA4KTsKKysJQUVTX1NFVEVOQ19LRVkoJnR3ZWFrX2N0eCwga2V5X2Flc190d2Vha18yNTYs IHNpemVvZihrZXlfYWVzX3R3ZWFrXzI1NikgKiA4KTsKKysKKysJQUVTX1hUUygmY3R4LCAmdHdl YWtfY3R4LCBBRVNfRU5DUllQVCwgc2l6ZW9mKGJ1ZiksIGl2LCBidWYsIGJ1Zik7CisrCisrCUNI RUNLX1NUQVRJQ19CVUZGRVJTKGJ1ZiwgZXhwZWN0ZWRfeHRzXzI1Nik7CisrCisrCS8qIFRlc3Qg QUVTIFhUUyAyNTYgRGVjcnlwdGlvbiAqLworKwltZW1jcHkoaXYsIHN0YXRpY19pdiwgc2l6ZW9m KGl2KSk7CisrCisrCUFFU19TRVRERUNfS0VZKCZjdHgsIGtleV9hZXNfMjU2LCBzaXplb2Yoa2V5 X2Flc18yNTYpICogOCk7CisrCisrCUFFU19YVFMoJmN0eCwgJnR3ZWFrX2N0eCwgQUVTX0RFQ1JZ UFQsIHNpemVvZihidWYpLCBpdiwgYnVmLCBidWYpOworKworKwlDSEVDS19TVEFUSUNfQlVGRkVS UyhidWYsIG9yaWdfMTYpOworKworKwlBRVNfRlJFRSgmY3R4KTsKKysJQUVTX0ZSRUUoJnR3ZWFr X2N0eCk7CisrfQorKworK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCisreworKwlB RERfVEVTVCh0ZXN0X2VjYl9lbmNyeXB0XzEyOCk7CisrCUFERF9URVNUKHRlc3RfZWNiX2VuY3J5 cHRfMjU2KTsKKysKKysJQUREX1RFU1QodGVzdF9jYmNfZW5jcnlwdF8xMjgpOworKwlBRERfVEVT VCh0ZXN0X2NiY19lbmNyeXB0XzI1Nik7CisrCisrCUFERF9URVNUKHRlc3RfeGV4X2VuY3J5cHRf MTI4KTsKKysJQUREX1RFU1QodGVzdF94ZXhfZW5jcnlwdF8yNTYpOworKworKwlBRERfVEVTVCh0 ZXN0X3h0c19lbmNyeXB0XzEyOCk7CisrCUFERF9URVNUKHRlc3RfeHRzX2VuY3J5cHRfMjU2KTsK KysKKysJcHJpbnRmKCItLS0gU3RhdGlzdGljcyAtLS1cbiIpOworKwlwcmludGYoIlRvdGFsOiAl ZFxuIiwgX3Rlc3RzKTsKKysJcHJpbnRmKCJQYXNzOiAgJWRcbiIsIF90ZXN0cyAtIF9mYWlsdXJl cyk7CisrCXByaW50ZigiRmFpbDogICVkXG4iLCBfZmFpbHVyZXMpOworKwlwcmludGYoIi0tLS0t LS0tLS0tLS0tLS0tLS1cbiIpOworKworKwlyZXR1cm4gX2ZhaWx1cmVzICYgMHhGRjsKKyt9Citk aWZmIC0tZ2l0IGEvdGVzdC90ZXN0LmggYi90ZXN0L3Rlc3QuaAorbmV3IGZpbGUgbW9kZSAxMDA2 NDQKK2luZGV4IDAwMDAwMDAuLjMxMWE4YTkKKy0tLSAvZGV2L251bGwKKysrKyBiL3Rlc3QvdGVz dC5oCitAQCAtMCwwICsxLDY4IEBACisrLyogLSotIGNvZGluZzogdXRmLTggLSotICovCisrLyog LSotIG1vZGU6IGMgLSotICovCisrLyoKKysgKiBEaXNsb2NrZXIgLS0gZW5hYmxlcyB0byByZWFk L3dyaXRlIG9uIEJpdExvY2tlciBlbmNyeXB0ZWQgcGFydGl0aW9ucyB1bmRlcgorKyAqIExpbnV4 CisrICogQ29weXJpZ2h0IChDKSAyMDI2IEFybSBMdGQuCisrICoKKysgKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMgorKyAqIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyAqCisrICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhl IEZyZWUgU29mdHdhcmUKKysgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs IEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLAorKyAqIFVTQS4KKysgKi8KKysj aWZuZGVmIFRFU1RfSF8KKysjZGVmaW5lIFRFU1RfSF8KKysKKytzdGF0aWMgaW50IF9mYWlsdXJl czsKKytzdGF0aWMgaW50IF90ZXN0czsKKytzdGF0aWMgam1wX2J1ZiBfam1wOworKworKyNkZWZp bmUgQUREX1RFU1QobmFtZSkgXAorKwlkbyB7IFwKKysJCV90ZXN0cysrOyBcCisrCQlpbnQgeCA9 IHNldGptcChfam1wKTsgXAorKwkJaWYgKCF4KSBcCisrCQkJbmFtZSgpOyBcCisrCX0gd2hpbGUo MCkKKysKKysKKytzdGF0aWMgdm9pZCBfQ0hFQ0tfQlVGRkVSUyhjb25zdCB2b2lkICphLCBjb25z dCB2b2lkICpiLCBzaXplX3Qgc2l6ZV9hLCBzaXplX3Qgc2l6ZV9iLAorKwkJY29uc3QgY2hhciAq ZmlsZV9uYW1lLCBjb25zdCBjaGFyICpmdW5jX25hbWUsIGludCBsaW5lbm8pCisreworKwlpZihz aXplX2EgIT0gc2l6ZV9iKQorKwl7CisrCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiVzOiVkOiBCdWZm ZXIgc2l6ZSBtaXNtYXRjaDogJXp1ICE9ICV6dVxuIiwKKysJCQlmaWxlX25hbWUsIGZ1bmNfbmFt ZSwgbGluZW5vLCBzaXplX2EsIHNpemVfYik7CisrCQlfZmFpbHVyZXMrKzsKKysJCWxvbmdqbXAo X2ptcCwgMSk7CisrCX0KKysJaWYgKG1lbWNtcChhLCBiLCBzaXplX2EpKQorKwl7CisrCQlmcHJp bnRmKHN0ZGVyciwgIiVzOiVzOiVkOiBCdWZmZXJzIGRvIG5vdCBtYXRjaFxuIiwKKysJCQkJZmls ZV9uYW1lLCBmdW5jX25hbWUsIGxpbmVubyk7CisrCQlfZmFpbHVyZXMrKzsKKysJCWxvbmdqbXAo X2ptcCwgMSk7CisrCX0KKyt9CisrCisrI2RlZmluZSBDSEVDS19CVUZGRVJTKGEsIGIsIGFfc2l6 ZSwgYl9zaXplKSBcCisrCV9DSEVDS19CVUZGRVJTKGEsIGIsIGFfc2l6ZSwgYl9zaXplLCBfX0ZJ TEVfXywgX19mdW5jX18sIF9fTElORV9fKQorKworKyNkZWZpbmUgQ0hFQ0tfU1RBVElDX0JVRkZF UlMoYSwgYikgXAorKwkJQ0hFQ0tfQlVGRkVSUyhhLCBiLCBzaXplb2YoYSksIHNpemVvZihiKSkK KysKKysjZGVmaW5lIE5FV19BUlJBWV9GUk9NKHQsIG4sIGZyb20pIFwKKysJdCBuW3NpemVvZihm cm9tKV07IFwKKysJbWVtY3B5KG4sIGZyb20sIHNpemVvZihuKSk7CisrCisrI2VuZGlmIC8qIFRF U1RfSF8gKi8KK2RpZmYgLS1naXQgYS90ZXN0L3Rlc3RfdmVjdG9ycy5oIGIvdGVzdC90ZXN0X3Zl Y3RvcnMuaAorbmV3IGZpbGUgbW9kZSAxMDA2NDQKK2luZGV4IDAwMDAwMDAuLjIyNjQyMzMKKy0t LSAvZGV2L251bGwKKysrKyBiL3Rlc3QvdGVzdF92ZWN0b3JzLmgKK0BAIC0wLDAgKzEsMjY1IEBA CisrLyogLSotIGNvZGluZzogdXRmLTggLSotICovCisrLyogLSotIG1vZGU6IGMgLSotICovCisr LyoKKysgKiBEaXNsb2NrZXIgLS0gZW5hYmxlcyB0byByZWFkL3dyaXRlIG9uIEJpdExvY2tlciBl bmNyeXB0ZWQgcGFydGl0aW9ucyB1bmRlcgorKyAqIExpbnV4CisrICogQ29weXJpZ2h0IChDKSAy MDI2IEFybSBMdGQuCisrICoKKysgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisrICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysgKiBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorKyAqIG9mIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyAqCisr ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisrICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKKysgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysgKgorKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrICogYWxvbmcgd2l0 aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKysgKiBG b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24s IE1BICAwMjExMC0xMzAxLAorKyAqIFVTQS4KKysgKi8KKysjaWZuZGVmIFRFU1RfVkVDVE9SU19I XworKyNkZWZpbmUgVEVTVF9WRUNUT1JTX0hfCisrCisrc3RhdGljIGNvbnN0IGNoYXIga2V5X2Fl c18xMjhbXSA9IHsKKysJJzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsCisr CSc4JywgJzknLCAnMCcsICcxJywgJzInLCAnMycsICc0JywgJzUnCisrfTsKKysKKytzdGF0aWMg Y29uc3QgY2hhciBrZXlfYWVzXzI1NltdID0geworKwknMCcsICcxJywgJzInLCAnMycsICc0Jywg JzUnLCAnNicsICc3JywKKysJJzgnLCAnOScsICcwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScs CisrCScwJywgJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JywgJzcnLAorKwknOCcsICc5Jywg JzAnLCAnMScsICcyJywgJzMnLCAnNCcsICc1JworK307CisrCisrc3RhdGljIGNvbnN0IGNoYXIg a2V5X2Flc190d2Vha18xMjhbXSA9IHsKKysJJzUnLCAnNCcsICczJywgJzInLCAnMScsICcwJywg JzknLCAnOCcsCisrCSc3JywgJzYnLCAnNScsICc0JywgJzMnLCAnMicsICcxJywgJzAnCisrfTsK KysKKytzdGF0aWMgY29uc3QgY2hhciBrZXlfYWVzX3R3ZWFrXzI1NltdID0geworKwknNScsICc0 JywgJzMnLCAnMicsICcxJywgJzAnLCAnOScsICc4JywKKysJJzcnLCAnNicsICc1JywgJzQnLCAn MycsICcyJywgJzEnLCAnMCcsCisrCSc1JywgJzQnLCAnMycsICcyJywgJzEnLCAnMCcsICc5Jywg JzgnLAorKwknNycsICc2JywgJzUnLCAnNCcsICczJywgJzInLCAnMScsICcwJworK307CisrCisr Y29uc3Qgc3RhdGljIGNoYXIgc3RhdGljX2l2W10gPSB7CisrICAgIDB4OUYsIDB4M0MsIDB4QTcs IDB4RDIsCisrICAgIDB4NDgsIDB4NkIsIDB4OTEsIDB4RUUsCisrICAgIDB4MTQsIDB4NUEsIDB4 QzgsIDB4NzAsCisrICAgIDB4MkQsIDB4RjQsIDB4ODksIDB4QjYKKyt9OworKworK3N0YXRpYyBj b25zdCBjaGFyIG9yaWdfMTZbXSA9IHsKKysJJ0EnLCdCJywnQycsJ0QnLCdFJywnRicsJ0cnLCdI JywKKysJJ0knLCdKJywnSycsJ0wnLCdNJywnTicsJ08nLCdQJworK307CisrCisrc3RhdGljIGNv bnN0IGNoYXIgYWVzX2VjYl8xMjhfZXhwZWN0ZWRbXSA9IHsKKysJMHg0RiwgMHg1NywgMHhBNCwg MHg3OCwKKysJMHg0NywgMHgxOSwgMHg1RiwgMHg4MCwKKysJMHhFNSwgMHgwOSwgMHg0NSwgMHg3 MiwKKysJMHg2RiwgMHhBNywgMHhGOCwgMHg5MgorK307CisrCisrc3RhdGljIGNvbnN0IGNoYXIg ZXhwZWN0ZWRfYWVzX2VjYl8yNTZbXSA9IHsKKysgICAgMHhCNSwgMHg3MywgMHgxMCwgMHhCQiwK KysgICAgMHg2QiwgMHhDMiwgMHhGRSwgMHgwOSwKKysgICAgMHhBNiwgMHgxMywgMHhDNiwgMHgy QSwKKysgICAgMHgwRiwgMHhBNCwgMHgwOSwgMHhGRAorK307CisrCisrc3RhdGljIGNvbnN0IGNo YXIgb3JpZ181MTJbXSA9IHsKKysgICAgMHgzQSwgMHg3RiwgMHgxMiwgMHhDNCwgMHg5QiwgMHhF MSwgMHg1NSwgMHg4RCwKKysgICAgMHg2QSwgMHhGMCwgMHgyNCwgMHhCNywgMHg5MSwgMHgwRSwg MHhEQywgMHg0OCwKKysgICAgMHhBRiwgMHg2MiwgMHgxOSwgMHhFOCwgMHg3MywgMHgwNCwgMHg5 RCwgMHhDMSwKKysgICAgMHg1NiwgMHhCMiwgMHhGOSwgMHgwQSwgMHg4QywgMHg0NywgMHhERSwg MHgzMSwKKysgICAgMHg2RSwgMHg5NSwgMHhDQiwgMHgxOCwgMHhGNCwgMHgwMiwgMHg3QSwgMHhB RCwKKysgICAgMHg0MCwgMHhFNywgMHgyOSwgMHg5MywgMHhCRCwgMHg1NCwgMHgwOCwgMHhGMSwK KysgICAgMHhDQSwgMHg2QywgMHg5RSwgMHgxMywgMHg4NSwgMHhERiwgMHgyMiwgMHhCOCwKKysg ICAgMHg0RCwgMHhGNiwgMHgwMSwgMHg5NywgMHhBQywgMHgzOCwgMHhFMiwgMHg1OSwKKysgICAg MHg3MSwgMHgwRiwgMHhDOSwgMHhCNCwgMHgyQSwgMHg4RSwgMHhEMywgMHg2NCwKKysgICAgMHhG OCwgMHgxNSwgMHg5QSwgMHg0MywgMHhFRCwgMHg3MCwgMHgwNiwgMHhCQywKKysgICAgMHg1Miwg MHg5MSwgMHhBRiwgMHgyOCwgMHhFNCwgMHgwQiwgMHg3RCwgMHhDNiwKKysgICAgMHgzOSwgMHhG MiwgMHg4NCwgMHgxRSwgMHhEOCwgMHg2QiwgMHg5NSwgMHg0MCwKKysgICAgMHhBRSwgMHg1Nywg MHgwMywgMHhGNywgMHg5QywgMHgyMSwgMHhDMCwgMHg2OCwKKysgICAgMHgxNCwgMHhEQiwgMHg4 NSwgMHgzRSwgMHhGQSwgMHg5MiwgMHgwNywgMHg0QywKKysgICAgMHhCMSwgMHhFOSwgMHgyNiwg MHg3QywgMHhENSwgMHg5MCwgMHg1OCwgMHgwRCwKKysgICAgMHhDNywgMHhBMywgMHhGNSwgMHgx QiwgMHg2RiwgMHg4NCwgMHgyRSwgMHg5OSwKKysgICAgMHgzQSwgMHg3RiwgMHgxMiwgMHhDNCwg MHg5QiwgMHhFMSwgMHg1NSwgMHg4RCwKKysgICAgMHg2QSwgMHhGMCwgMHgyNCwgMHhCNywgMHg5 MSwgMHgwRSwgMHhEQywgMHg0OCwKKysgICAgMHhBRiwgMHg2MiwgMHgxOSwgMHhFOCwgMHg3Mywg MHgwNCwgMHg5RCwgMHhDMSwKKysgICAgMHg1NiwgMHhCMiwgMHhGOSwgMHgwQSwgMHg4QywgMHg0 NywgMHhERSwgMHgzMSwKKysgICAgMHg2RSwgMHg5NSwgMHhDQiwgMHgxOCwgMHhGNCwgMHgwMiwg MHg3QSwgMHhBRCwKKysgICAgMHg0MCwgMHhFNywgMHgyOSwgMHg5MywgMHhCRCwgMHg1NCwgMHgw OCwgMHhGMSwKKysgICAgMHhDQSwgMHg2QywgMHg5RSwgMHgxMywgMHg4NSwgMHhERiwgMHgyMiwg MHhCOCwKKysgICAgMHg0RCwgMHhGNiwgMHgwMSwgMHg5NywgMHhBQywgMHgzOCwgMHhFMiwgMHg1 OSwKKysgICAgMHg3MSwgMHgwRiwgMHhDOSwgMHhCNCwgMHgyQSwgMHg4RSwgMHhEMywgMHg2NCwK KysgICAgMHhGOCwgMHgxNSwgMHg5QSwgMHg0MywgMHhFRCwgMHg3MCwgMHgwNiwgMHhCQywKKysg ICAgMHg1MiwgMHg5MSwgMHhBRiwgMHgyOCwgMHhFNCwgMHgwQiwgMHg3RCwgMHhDNiwKKysgICAg MHgzOSwgMHhGMiwgMHg4NCwgMHgxRSwgMHhEOCwgMHg2QiwgMHg5NSwgMHg0MCwKKysgICAgMHhB RSwgMHg1NywgMHgwMywgMHhGNywgMHg5QywgMHgyMSwgMHhDMCwgMHg2OCwKKysgICAgMHgxNCwg MHhEQiwgMHg4NSwgMHgzRSwgMHhGQSwgMHg5MiwgMHgwNywgMHg0QywKKysgICAgMHhCMSwgMHhF OSwgMHgyNiwgMHg3QywgMHhENSwgMHg5MCwgMHg1OCwgMHgwRCwKKysgICAgMHhDNywgMHhBMywg MHhGNSwgMHgxQiwgMHg2RiwgMHg4NCwgMHgyRSwgMHg5OSwKKysgICAgMHgzQSwgMHg3RiwgMHgx MiwgMHhDNCwgMHg5QiwgMHhFMSwgMHg1NSwgMHg4RCwKKysgICAgMHg2QSwgMHhGMCwgMHgyNCwg MHhCNywgMHg5MSwgMHgwRSwgMHhEQywgMHg0OCwKKysgICAgMHhBRiwgMHg2MiwgMHgxOSwgMHhF OCwgMHg3MywgMHgwNCwgMHg5RCwgMHhDMSwKKysgICAgMHg1NiwgMHhCMiwgMHhGOSwgMHgwQSwg MHg4QywgMHg0NywgMHhERSwgMHgzMSwKKysgICAgMHg2RSwgMHg5NSwgMHhDQiwgMHgxOCwgMHhG NCwgMHgwMiwgMHg3QSwgMHhBRCwKKysgICAgMHg0MCwgMHhFNywgMHgyOSwgMHg5MywgMHhCRCwg MHg1NCwgMHgwOCwgMHhGMSwKKysgICAgMHhDQSwgMHg2QywgMHg5RSwgMHgxMywgMHg4NSwgMHhE RiwgMHgyMiwgMHhCOCwKKysgICAgMHg0RCwgMHhGNiwgMHgwMSwgMHg5NywgMHhBQywgMHgzOCwg MHhFMiwgMHg1OSwKKysgICAgMHg3MSwgMHgwRiwgMHhDOSwgMHhCNCwgMHgyQSwgMHg4RSwgMHhE MywgMHg2NCwKKysgICAgMHhGOCwgMHgxNSwgMHg5QSwgMHg0MywgMHhFRCwgMHg3MCwgMHgwNiwg MHhCQywKKysgICAgMHg1MiwgMHg5MSwgMHhBRiwgMHgyOCwgMHhFNCwgMHgwQiwgMHg3RCwgMHhD NiwKKysgICAgMHgzOSwgMHhGMiwgMHg4NCwgMHgxRSwgMHhEOCwgMHg2QiwgMHg5NSwgMHg0MCwK KysgICAgMHhBRSwgMHg1NywgMHgwMywgMHhGNywgMHg5QywgMHgyMSwgMHhDMCwgMHg2OCwKKysg ICAgMHgxNCwgMHhEQiwgMHg4NSwgMHgzRSwgMHhGQSwgMHg5MiwgMHgwNywgMHg0QywKKysgICAg MHhCMSwgMHhFOSwgMHgyNiwgMHg3QywgMHhENSwgMHg5MCwgMHg1OCwgMHgwRCwKKysgICAgMHhD NywgMHhBMywgMHhGNSwgMHgxQiwgMHg2RiwgMHg4NCwgMHgyRSwgMHg5OSwKKysgICAgMHgzQSwg MHg3RiwgMHgxMiwgMHhDNCwgMHg5QiwgMHhFMSwgMHg1NSwgMHg4RCwKKysgICAgMHg2QSwgMHhG MCwgMHgyNCwgMHhCNywgMHg5MSwgMHgwRSwgMHhEQywgMHg0OCwKKysgICAgMHhBRiwgMHg2Miwg MHgxOSwgMHhFOCwgMHg3MywgMHgwNCwgMHg5RCwgMHhDMSwKKysgICAgMHg1NiwgMHhCMiwgMHhG OSwgMHgwQSwgMHg4QywgMHg0NywgMHhERSwgMHgzMSwKKysgICAgMHg2RSwgMHg5NSwgMHhDQiwg MHgxOCwgMHhGNCwgMHgwMiwgMHg3QSwgMHhBRCwKKysgICAgMHg0MCwgMHhFNywgMHgyOSwgMHg5 MywgMHhCRCwgMHg1NCwgMHgwOCwgMHhGMSwKKysgICAgMHhDQSwgMHg2QywgMHg5RSwgMHgxMywg MHg4NSwgMHhERiwgMHgyMiwgMHhCOCwKKysgICAgMHg0RCwgMHhGNiwgMHgwMSwgMHg5NywgMHhB QywgMHgzOCwgMHhFMiwgMHg1OSwKKysgICAgMHg3MSwgMHgwRiwgMHhDOSwgMHhCNCwgMHgyQSwg MHg4RSwgMHhEMywgMHg2NCwKKysgICAgMHhGOCwgMHgxNSwgMHg5QSwgMHg0MywgMHhFRCwgMHg3 MCwgMHgwNiwgMHhCQywKKysgICAgMHg1MiwgMHg5MSwgMHhBRiwgMHgyOCwgMHhFNCwgMHgwQiwg MHg3RCwgMHhDNiwKKysgICAgMHgzOSwgMHhGMiwgMHg4NCwgMHgxRSwgMHhEOCwgMHg2QiwgMHg5 NSwgMHg0MCwKKysgICAgMHhBRSwgMHg1NywgMHgwMywgMHhGNywgMHg5QywgMHgyMSwgMHhDMCwg MHg2OCwKKysgICAgMHgxNCwgMHhEQiwgMHg4NSwgMHgzRSwgMHhGQSwgMHg5MiwgMHgwNywgMHg0 QywKKysgICAgMHhCMSwgMHhFOSwgMHgyNiwgMHg3QywgMHhENSwgMHg5MCwgMHg1OCwgMHgwRCwK KysgICAgMHhDNywgMHhBMywgMHhGNSwgMHgxQiwgMHg2RiwgMHg4NCwgMHgyRSwgMHg5OQorK307 CisrCisrc3RhdGljIGNvbnN0IGNoYXIgZXhwZWN0ZWRfY2JjXzEyOFtdID0geworKwkweEFFLCAw eEEzLCAweDVDLCAweDhBLCAweDg2LCAweEI3LCAweDRBLCAweEE0LAorKwkweDUxLCAweDI0LCAw eEM5LCAweDU1LCAweDNDLCAweDFGLCAweEVBLCAweDlCLAorKwkweEFGLCAweDVELCAweEQzLCAw eERGLCAweDAxLCAweDMxLCAweDE1LCAweDkzLAorKwkweEEyLCAweDE0LCAweEVFLCAweEJBLCAw eEE1LCAweDM3LCAweENFLCAweDc3LAorKwkweDZBLCAweEIzLCAweDVDLCAweDBELCAweDIwLCAw eEJBLCAweDA4LCAweEM0LAorKwkweDY1LCAweDQxLCAweDQzLCAweEY5LCAweDBCLCAweDc5LCAw eDg1LCAweDM3LAorKwkweERBLCAweERBLCAweEY4LCAweEU0LCAweDA2LCAweEU4LCAweERELCAw eEIwLAorKwkweDFDLCAweDQzLCAweEE4LCAweDEwLCAweEIxLCAweDU3LCAweDU4LCAweEE3LAor KwkweDZCLCAweDdFLCAweEFGLCAweDVDLCAweDUxLCAweDU1LCAweEQwLCAweDkyLAorKwkweDIy LCAweDZFLCAweDhCLCAweEFCLCAweDMzLCAweENFLCAweDVFLCAweEUwLAorKwkweDAxLCAweDAz LCAweDIzLCAweDM1LCAweERELCAweDU0LCAweDE1LCAweDI2LAorKwkweDZBLCAweEU4LCAweEMy LCAweENBLCAweEMzLCAweDBELCAweDdGLCAweEU4LAorKwkweDMxLCAweDI2LCAweDk3LCAweDlG LCAweDI1LCAweDNBLCAweDY3LCAweEI4LAorKwkweEUzLCAweEVGLCAweDQ5LCAweEFBLCAweEY1 LCAweDQ1LCAweDlDLCAweDM1LAorKwkweDExLCAweDQ5LCAweENFLCAweDk4LCAweDQwLCAweDAy LCAweDIxLCAweDRFLAorKwkweDU4LCAweDAwLCAweDM1LCAweEZCLCAweEU1LCAweDkyLCAweDgz LCAweDBCLAorKwkweDk4LCAweDVELCAweDQ3LCAweERFLCAweEU1LCAweEI1LCAweEZFLCAweEQ4 LAorKwkweEUzLCAweENFLCAweDkzLCAweDc5LCAweDg2LCAweDA1LCAweDE5LCAweDE0LAorKwkw eEE2LCAweDQzLCAweDBELCAweDM4LCAweDBDLCAweDNBLCAweDg1LCAweEMwLAorKwkweDI2LCAw eDUxLCAweDFCLCAweEU4LCAweDgzLCAweDVCLCAweEY2LCAweDQwLAorKwkweDlELCAweEJFLCAw eEZDLCAweEZBLCAweEM4LCAweDcwLCAweEZFLCAweEVGLAorKwkweDM1LCAweDVDLCAweDhFLCAw eENCLCAweEJCLCAweEU0LCAweDM2LCAweENGLAorKwkweDg4LCAweDMzLCAweEJDLCAweDJELCAw eEU0LCAweDBFLCAweEM0LCAweEI4LAorKwkweDkyLCAweEIyLCAweDUwLCAweEEzLCAweDdBLCAw eDA4LCAweERFLCAweDU4LAorKwkweEQ3LCAweEFFLCAweEE5LCAweDAyLCAweDhGLCAweERCLCAw eEUyLCAweDlELAorKwkweDVGLCAweEZELCAweDI3LCAweDVCLCAweDQwLCAweDc4LCAweDAwLCAw eEIzLAorKwkweDVELCAweDA1LCAweDU5LCAweEI0LCAweEYxLCAweDlDLCAweDQxLCAweEE4LAor KwkweDNCLCAweEQ1LCAweDJFLCAweEExLCAweDhFLCAweDk0LCAweDcyLCAweEI4LAorKwkweEU2 LCAweDAzLCAweDVCLCAweDM4LCAweDJDLCAweDMyLCAweDg2LCAweDY5LAorKwkweEUxLCAweEE4 LCAweERELCAweDU0LCAweERDLCAweEM4LCAweEQyLCAweDFFLAorKwkweDUyLCAweDIzLCAweDkw LCAweDE4LCAweDY4LCAweEFDLCAweDU5LCAweDlBLAorKwkweEY1LCAweEM4LCAweDIyLCAweDJE LCAweEE0LCAweDU2LCAweEFFLCAweDA2LAorKwkweDFELCAweENBLCAweEE2LCAweDI2LCAweDZG LCAweDgxLCAweEQ1LCAweDRDLAorKwkweDExLCAweDk1LCAweDFELCAweDlFLCAweDcxLCAweERF LCAweDY1LCAweDU5LAorKwkweERBLCAweEQxLCAweDJELCAweDI1LCAweEEyLCAweDc2LCAweEVF LCAweDExLAorKwkweDk3LCAweEUwLCAweDhGLCAweDBCLCAweDJELCAweEZDLCAweDg2LCAweEVG LAorKwkweDIxLCAweEMzLCAweDA5LCAweDk2LCAweDgyLCAweDQ3LCAweDZFLCAweDE2LAorKwkw eDE0LCAweEQ2LCAweDE5LCAweEU2LCAweDZBLCAweDlFLCAweDVFLCAweEJFLAorKwkweEM1LCAw eDhFLCAweDkxLCAweEZELCAweEQ0LCAweDBELCAweDI3LCAweEQzLAorKwkweEMyLCAweDk5LCAw eENELCAweDlFLCAweEUzLCAweDc4LCAweDQ1LCAweDhGLAorKwkweDYxLCAweDQzLCAweDE3LCAw eEVELCAweDU3LCAweDgwLCAweDRBLCAweDFGLAorKwkweDZGLCAweDBFLCAweDJCLCAweDhFLCAw eEI1LCAweDY3LCAweEMzLCAweDVBLAorKwkweDc2LCAweDNFLCAweEI4LCAweEY4LCAweERFLCAw eDMxLCAweENGLCAweDQ0LAorKwkweDNBLCAweDhGLCAweEE4LCAweEIyLCAweEIzLCAweEVDLCAw eDVELCAweEUxLAorKwkweDExLCAweEVFLCAweDg2LCAweERBLCAweEZFLCAweEU5LCAweEM3LCAw eEEwLAorKwkweDVDLCAweDgzLCAweDZELCAweDNCLCAweDY3LCAweDk5LCAweDQyLCAweEFELAor KwkweDdCLCAweEQyLCAweDAxLCAweEE1LCAweDQzLCAweDM3LCAweDc2LCAweDc5LAorKwkweEQ3 LCAweEUwLCAweDQ4LCAweDA2LCAweEE1LCAweDU4LCAweDZELCAweDhELAorKwkweDMyLCAweDhD LCAweEY0LCAweEIwLCAweDAyLCAweEIwLCAweDY0LCAweEYxLAorKwkweDg0LCAweDZELCAweDlB LCAweDcxLCAweEM5LCAweDkxLCAweDEyLCAweDFFLAorKwkweDFELCAweEY4LCAweDFCLCAweEI1 LCAweEEzLCAweEUzLCAweDYwLCAweEZDLAorKwkweEFELCAweDZELCAweEI3LCAweDI5LCAweDU2 LCAweDBDLCAweDY4LCAweEJFLAorKwkweDM5LCAweDZGLCAweDM0LCAweDNFLCAweDgwLCAweDlB LCAweDczLCAweDg1LAorKwkweDc3LCAweEIzLCAweDgwLCAweDQyLCAweDUxLCAweEM4LCAweDRC LCAweDVCLAorKwkweEI5LCAweEMzLCAweEM1LCAweEM5LCAweDQ0LCAweDJDLCAweEFCLCAweEQy LAorKwkweDRCLCAweEE2LCAweDVDLCAweDVFLCAweDUzLCAweDIzLCAweDhDLCAweDFGLAorKwkw eDRELCAweEVGLCAweEI5LCAweEJFLCAweDVBLCAweDMwLCAweEE3LCAweEI0LAorKwkweDJGLCAw eDMyLCAweDYxLCAweDZCLCAweDVBLCAweEE1LCAweDY0LCAweEE4LAorKwkweEZBLCAweEZFLCAw eDg3LCAweDZGLCAweEI0LCAweDE1LCAweDY4LCAweDIwLAorKwkweDcyLCAweERFLCAweDc2LCAw eDVCLCAweDVDLCAweEEwLCAweDAyLCAweDkyLAorKwkweDkyLCAweDk1LCAweDY3LCAweDFBLCAw eEE1LCAweEI2LCAweEE4LCAweEUwLAorKwkweDkxLCAweDI2LCAweERDLCAweEQzLCAweEQ3LCAw eEIzLCAweEVFLCAweEVFLAorKwkweDBFLCAweDI3LCAweEEzLCAweDEzLCAweDM0LCAweDAwLCAw eDMyLCAweDAxLAorKwkweDdCLCAweERBLCAweDgwLCAweDUyLCAweEQ5LCAweDRELCAweEY1LCAw eEQxCisrfTsKKysKKytzdGF0aWMgY29uc3QgY2hhciBleHBlY3RlZF9jYmNfMjU2W10gPSB7Cisr CTB4RDAsIDB4NkIsIDB4OTMsIDB4M0IsIDB4OEYsIDB4RTAsIDB4NjcsIDB4MkUsIDB4OEYsIDB4 RTIsIDB4NzUsIDB4REQsIDB4OTAsIDB4MUQsIDB4RkUsIDB4RDksCisrCTB4QTAsIDB4NjcsIDB4 REIsIDB4MkYsIDB4RTksIDB4OTksIDB4RUYsIDB4OUQsIDB4RDAsIDB4MjUsIDB4OUYsIDB4ODcs IDB4RkQsIDB4RTcsIDB4NTMsIDB4RkEsCisrCTB4RDAsIDB4NjEsIDB4MjksIDB4OUUsIDB4QTMs IDB4MjYsIDB4REQsIDB4QjEsIDB4OTEsIDB4MTgsIDB4MzgsIDB4RDIsIDB4RUQsIDB4QkMsIDB4 MjgsIDB4N0QsCisrCTB4QTUsIDB4NTMsIDB4RUUsIDB4QzEsIDB4ODgsIDB4RUMsIDB4REIsIDB4 N0UsIDB4NjAsIDB4RDUsIDB4NDgsIDB4NzYsIDB4NTgsIDB4QzEsIDB4NkMsIDB4OEQsCisrCTB4 NEIsIDB4N0YsIDB4QzYsIDB4MUMsIDB4NEYsIDB4MTMsIDB4NDAsIDB4M0MsIDB4MUYsIDB4NjMs IDB4NDYsIDB4MjgsIDB4RDgsIDB4M0MsIDB4MzAsIDB4NEQsCisrCTB4M0EsIDB4OEYsIDB4QTAs IDB4RTIsIDB4MEEsIDB4MTksIDB4NTYsIDB4MTEsIDB4NjYsIDB4RDksIDB4Q0MsIDB4OUQsIDB4 NzEsIDB4Q0IsIDB4RjUsIDB4QzAsCisrCTB4QjksIDB4NzEsIDB4MjksIDB4OEYsIDB4QjksIDB4 RDQsIDB4OEUsIDB4RjIsIDB4QzMsIDB4RkIsIDB4QjksIDB4RjgsIDB4NzMsIDB4QzksIDB4RUUs IDB4MzcsCisrCTB4RTcsIDB4REEsIDB4RUUsIDB4QjQsIDB4QjYsIDB4RkEsIDB4MjgsIDB4ODAs IDB4RUQsIDB4QkUsIDB4OTUsIDB4OTYsIDB4N0QsIDB4M0YsIDB4NjIsIDB4RTAsCisrCTB4NEUs IDB4MTUsIDB4QkMsIDB4MDMsIDB4NDcsIDB4OEMsIDB4OEYsIDB4NjIsIDB4QUUsIDB4NzUsIDB4 RjMsIDB4NDYsIDB4NEYsIDB4ODUsIDB4RjksIDB4ODIsCisrCTB4NDMsIDB4NTksIDB4QTAsIDB4 RDQsIDB4OUMsIDB4REMsIDB4NjEsIDB4QzIsIDB4ODcsIDB4RDksIDB4QjEsIDB4REUsIDB4MDYs IDB4OEUsIDB4QjIsIDB4QjgsCisrCTB4OTUsIDB4OEYsIDB4M0QsIDB4QkEsIDB4NDIsIDB4ODQs IDB4OUMsIDB4MUEsIDB4MjcsIDB4RUYsIDB4N0YsIDB4REEsIDB4QkIsIDB4NTksIDB4OUEsIDB4 OUUsCisrCTB4RkQsIDB4MTIsIDB4M0EsIDB4NDksIDB4NDYsIDB4QjcsIDB4QUQsIDB4NEEsIDB4 RDYsIDB4RDQsIDB4QzQsIDB4OUQsIDB4QUMsIDB4MUMsIDB4NzIsIDB4M0UsCisrCTB4NkIsIDB4 OEUsIDB4RUUsIDB4ODksIDB4MzUsIDB4MTgsIDB4QkQsIDB4NzYsIDB4M0QsIDB4MDEsIDB4OTEs IDB4QUIsIDB4N0QsIDB4MTQsIDB4RDQsIDB4OEMsCisrCTB4MjUsIDB4OEIsIDB4MUIsIDB4RjEs IDB4MTEsIDB4MDcsIDB4MzIsIDB4ODYsIDB4NjMsIDB4MkIsIDB4OTMsIDB4NUUsIDB4QkUsIDB4 QTUsIDB4OUMsIDB4MTYsCisrCTB4NUQsIDB4NTYsIDB4MzksIDB4N0YsIDB4QkEsIDB4MkUsIDB4 RUUsIDB4MkYsIDB4QjEsIDB4RUEsIDB4MTksIDB4MjUsIDB4NzUsIDB4NDcsIDB4OTgsIDB4NTgs CisrCTB4MzMsIDB4ODcsIDB4RDIsIDB4MUYsIDB4M0EsIDB4MDIsIDB4RTksIDB4RjksIDB4MTUs IDB4MTksIDB4MjUsIDB4QTEsIDB4OTYsIDB4MUMsIDB4RkYsIDB4QzAsCisrCTB4MTcsIDB4QjMs IDB4RkEsIDB4QzIsIDB4RDUsIDB4RjYsIDB4MEMsIDB4MUUsIDB4NTYsIDB4NDYsIDB4ODQsIDB4 QkMsIDB4NUYsIDB4MTcsIDB4MjYsIDB4MzcsCisrCTB4MDQsIDB4MjAsIDB4QUIsIDB4RTksIDB4 ODYsIDB4OUYsIDB4REEsIDB4QzUsIDB4OEQsIDB4NEUsIDB4OEEsIDB4QzMsIDB4NzksIDB4QjYs IDB4OEYsIDB4OEMsCisrCTB4QjMsIDB4MDcsIDB4RDYsIDB4REUsIDB4NzcsIDB4QjYsIDB4QTgs IDB4RTEsIDB4RkIsIDB4MjYsIDB4MUEsIDB4NzAsIDB4NEIsIDB4MTIsIDB4QUIsIDB4MkQsCisr CTB4MTksIDB4RDgsIDB4ODAsIDB4MkQsIDB4MzUsIDB4MjgsIDB4Q0EsIDB4RUQsIDB4MjksIDB4 MzMsIDB4QjcsIDB4M0MsIDB4MDYsIDB4OTIsIDB4NjUsIDB4NkYsCisrCTB4MTgsIDB4QTUsIDB4 QjUsIDB4RkUsIDB4NEIsIDB4RTIsIDB4MDksIDB4MDgsIDB4RTQsIDB4NzAsIDB4QjQsIDB4REEs IDB4OTQsIDB4RTYsIDB4MzIsIDB4RjUsCisrCTB4QjEsIDB4ODUsIDB4RTcsIDB4MzUsIDB4QTQs IDB4QTQsIDB4RjcsIDB4NzgsIDB4NzYsIDB4MzMsIDB4RDUsIDB4M0EsIDB4MjcsIDB4N0YsIDB4 OTYsIDB4M0MsCisrCTB4RUQsIDB4RjksIDB4MzEsIDB4ODgsIDB4ODgsIDB4QkYsIDB4RkIsIDB4 NTIsIDB4OUMsIDB4OEIsIDB4NDIsIDB4NTMsIDB4NUEsIDB4MTYsIDB4NzQsIDB4MTQsCisrCTB4 OTEsIDB4NEYsIDB4NUIsIDB4M0UsIDB4MDUsIDB4MTEsIDB4MTUsIDB4NkYsIDB4RTgsIDB4RDQs IDB4NTEsIDB4NkUsIDB4NzAsIDB4NjEsIDB4ODYsIDB4OTEsCisrCTB4RjIsIDB4MkEsIDB4NUUs IDB4RjEsIDB4NUUsIDB4QUIsIDB4QUEsIDB4RDQsIDB4NUQsIDB4NzUsIDB4ODIsIDB4NTYsIDB4 QjUsIDB4MjgsIDB4REMsIDB4M0MsCisrCTB4NkQsIDB4N0MsIDB4QzEsIDB4MTUsIDB4OTcsIDB4 MjcsIDB4NTMsIDB4OTEsIDB4OTQsIDB4N0MsIDB4NjcsIDB4OEMsIDB4MzMsIDB4MzIsIDB4RkUs IDB4RjksCisrCTB4QTIsIDB4QkUsIDB4ODUsIDB4NjMsIDB4NEIsIDB4QkQsIDB4OTIsIDB4QUYs IDB4NjUsIDB4RDUsIDB4MEEsIDB4QjMsIDB4MDYsIDB4ODYsIDB4QjksIDB4NzMsCisrCTB4Q0Qs IDB4RTUsIDB4MDMsIDB4RDYsIDB4OTcsIDB4RkUsIDB4RTgsIDB4MUUsIDB4RTgsIDB4MzEsIDB4 MzIsIDB4MkQsIDB4MDYsIDB4QUQsIDB4NkQsIDB4MjIsCisrCTB4Q0QsIDB4M0UsIDB4NzgsIDB4 RkEsIDB4QTUsIDB4NUIsIDB4N0IsIDB4NjksIDB4N0MsIDB4NUIsIDB4MEMsIDB4NUMsIDB4ODcs IDB4QzUsIDB4QkQsIDB4MDYsCisrCTB4N0MsIDB4ODcsIDB4MDcsIDB4NjQsIDB4MUEsIDB4NEUs IDB4QTcsIDB4RjMsIDB4QTEsIDB4ODMsIDB4NjcsIDB4NDksIDB4NDcsIDB4NTksIDB4NzgsIDB4 OEUsCisrCTB4MDgsIDB4N0QsIDB4RkYsIDB4NkMsIDB4NjcsIDB4QzAsIDB4QUUsIDB4MkMsIDB4 NTYsIDB4MjQsIDB4RTYsIDB4OTEsIDB4RDgsIDB4MEUsIDB4REEsIDB4NkMsCisrCTB4RkQsIDB4 MDgsIDB4RjAsIDB4QjgsIDB4QTEsIDB4QTMsIDB4RDgsIDB4NEQsIDB4QjgsIDB4RDUsIDB4NzIs IDB4M0IsIDB4MTMsIDB4MDYsIDB4NzUsIDB4QzksCisrfTsKKysKKytzdGF0aWMgY29uc3QgY2hh ciBleHBlY3RlZF94ZXhfMTI4W10gPSB7CisrCTB4QzYsIDB4QTcsIDB4OTYsIDB4RDUsIDB4RjQs IDB4QjgsIDB4NUMsIDB4RkYsCisrCTB4RDksIDB4NUEsIDB4QzYsIDB4NDksIDB4NkQsIDB4QTUs IDB4MjEsIDB4REMKKyt9OworKworK3N0YXRpYyBjb25zdCBjaGFyIGV4cGVjdGVkX3hleF8yNTZb XSA9IHsKKysJMHgwRCwgMHg3NywgMHg1MSwgMHhCNiwgMHg3RSwgMHhEMSwgMHhBRSwgMHg1NywK KysJMHhGRSwgMHhCQSwgMHgwQywgMHhEMiwgMHg2NCwgMHgzMywgMHg5QywgMHg5NgorK307Cisr Cisrc3RhdGljIGNvbnN0IGNoYXIgZXhwZWN0ZWRfeHRzXzEyOFtdID0geworKwkweEM2LCAweEE3 LCAweDk2LCAweEQ1LCAweEY0LCAweEI4LCAweDVDLCAweEZGLAorKwkweEQ5LCAweDVBLCAweEM2 LCAweDQ5LCAweDZELCAweEE1LCAweDIxLCAweERDCisrfTsKKysKKytzdGF0aWMgY29uc3QgY2hh ciBleHBlY3RlZF94dHNfMjU2W10gPSB7CisrCTB4MEQsIDB4NzcsIDB4NTEsIDB4QjYsIDB4N0Us IDB4RDEsIDB4QUUsIDB4NTcsCisrCTB4RkUsIDB4QkEsIDB4MEMsIDB4RDIsIDB4NjQsIDB4MzMs IDB4OUMsIDB4OTYKKyt9OworKworKyNlbmRpZiAvKiBURVNUX1ZFQ1RPUlNfSF8gKi8KCmRpZmYg LS1naXQgYS9kaXNsb2NrZXIuc3BlYyBiL2Rpc2xvY2tlci5zcGVjCmluZGV4IDMwMmI0OTQuLmNl NzU3MjMgMTAwNjQ0Ci0tLSBhL2Rpc2xvY2tlci5zcGVjCisrKyBiL2Rpc2xvY2tlci5zcGVjCkBA IC0xLDcgKzEsNyBAQAogU3VtbWFyeTogICAgICAgICBVdGlsaXR5IHRvIGFjY2VzcyBCaXRMb2Nr ZXIgZW5jcnlwdGVkIHZvbHVtZXMKIE5hbWU6ICAgICAgICAgICAgZGlzbG9ja2VyCiBWZXJzaW9u OiAgICAgICAgIDAuNy4zCi1SZWxlYXNlOiAgICAgICAgIDI1JXs/ZGlzdH0KK1JlbGVhc2U6ICAg ICAgICAgMjYlez9kaXN0fQogTGljZW5zZTogICAgICAgICBHUEwtMi4wLW9yLWxhdGVyCiBVUkw6 ICAgICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9Bb3JpbW4vZGlzbG9ja2VyCiBTb3VyY2Uw OiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9Bb3JpbW4vZGlzbG9ja2VyL2FyY2hpdmUvdiV7 dmVyc2lvbn0vJXtuYW1lfS0le3ZlcnNpb259LnRhci5negpAQCAtOSw2ICs5LDggQEAgU291cmNl MDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vQW9yaW1uL2Rpc2xvY2tlci9hcmNoaXZlL3Yl e3ZlcnNpb259LyV7bmFtZX0KIFBhdGNoMDogICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL0Fv cmltbi9kaXNsb2NrZXIvY29tcGFyZS92MC43LjMuLi4zZTdhZWExOTZlYWExNzZjMzgyOTZhOWJj NzVjMDIwMWRmMGEzNjc5LnBhdGNoIy9kaXNsb2NrZXItMC43LjMtdXBzdHJlYW0tY2hhbmdlcy5w YXRjaAogIyBNdWx0aWJ5dGUgY2hhcmFjdGVyIHN1cHBvcnQgaW4gcGFzc3dvcmRzLCBzZWUgaHR0 cHM6Ly9naXRodWIuY29tL0Fvcmltbi9kaXNsb2NrZXIvcHVsbC8xMTgKIFBhdGNoMTogICAgICAg ICAgaHR0cHM6Ly9naXRodWIuY29tL0Fvcmltbi9kaXNsb2NrZXIvcHVsbC8zMzMucGF0Y2gjL2Rp c2xvY2tlci0wLjcuMy1tdWx0aWJ5dGUtc3VwcG9ydC5wYXRjaAorIyBPcGVuU1NMIGJhY2tlbmQg c3VwcG9ydCwgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9Bb3JpbW4vZGlzbG9ja2VyL3B1bGwvMzU4 CitQYXRjaDI6ICAgICAgICAgIGRpc2xvY2tlci1vcGVuc3NsLXN1cHBvcnQucGF0Y2gKIFJlcXVp cmVzOiAgICAgICAgJXtuYW1lfS1saWJzJXs/X2lzYX0gPSAle3ZlcnNpb259LSV7cmVsZWFzZX0K IFJlcXVpcmVzOiAgICAgICAgcnVieShyZWxlYXNlKQogUmVxdWlyZXM6ICAgICAgICBydWJ5KHJ1 bnRpbWVfZXhlY3V0YWJsZSkKQEAgLTE3LDcgKzE5LDcgQEAgUmVxdWlyZXMocHJldW4pOiAlez9l bDg6L3Vzci9zYmluL31hbHRlcm5hdGl2ZXMKIFByb3ZpZGVzOiAgICAgICAgJXtfYmluZGlyfS8l e25hbWV9CiBCdWlsZFJlcXVpcmVzOiAgIGNtYWtlCiBCdWlsZFJlcXVpcmVzOiAgIGdjYwotQnVp bGRSZXF1aXJlczogICBtYmVkdGxzLWRldmVsCitCdWlsZFJlcXVpcmVzOiAgIG9wZW5zc2wtZGV2 ZWwKIEJ1aWxkUmVxdWlyZXM6ICAgcnVieS1kZXZlbAogQnVpbGRSZXF1aXJlczogICAle19iaW5k aXJ9L3J1YnkKIApAQCAtNzEsNiArNzMsNyBAQCByZWFkaW5nIGZyb20gaXQgb3Igd3JpdGluZyB0 byBpdCBpcyBwb3NzaWJsZS4KICVidWlsZAogJWNtYWtlIFwKICAgLUQgV0FSTl9GTEFHUz0iLVdh bGwgLVduby1lcnJvciAtV2V4dHJhIiBcCisgIC1EIENSWVBUT19CQUNLRU5EPW9wZW5zc2wgXAog ICAtRCBDTUFLRV9QT0xJQ1lfVkVSU0lPTl9NSU5JTVVNPTMuNQogJWNtYWtlX2J1aWxkCiAKQEAg LTg0LDYgKzg3LDkgQEAgcm0gLWYgJFJQTV9CVUlMRF9ST09UeyV7X2JpbmRpcn0vJXtuYW1lfSwl e19tYW5kaXJ9L21hbjEvJXtuYW1lfS4xKn0KIGZvciBmaWxlIGluICoubWQ7IGRvIG12IC1mICRm aWxlICR7ZmlsZSUubWR9OyBkb25lCiBmb3IgZmlsZSBpbiAqLnR4dDsgZG8gbXYgLWYgJGZpbGUg JHtmaWxlJS50eHR9OyBkb25lCiAKKyVjaGVjaworJWN0ZXN0CisKICVwb3N0CiBhbHRlcm5hdGl2 ZXMgLS1pbnN0YWxsICV7X2JpbmRpcn0vJXtuYW1lfSAle25hbWV9ICV7X2JpbmRpcn0vJXtuYW1l fS1maWxlIDYwCiAKQEAgLTEyMiw2ICsxMjgsMTAgQEAgZmkKICV7X21hbmRpcn0vbWFuMS8le25h bWV9LWZ1c2UuMSoKIAogJWNoYW5nZWxvZworKiBNb24gQXVnIDAzIDIwMjYgQ29ubm9yIENpaHVs YSA8Y29ubm9yLmNpaHVsYUBnbWFpbC5jb20+IC0gMC43LjMtMjYKKy0gQnVpbGQgYWdhaW5zdCBP cGVuU1NMIGluc3RlYWQgb2YgTWJlZFRMUyBiYWNrZW5kCistIFJ1biBDTWFrZSB0ZXN0c3VpdGUK KwogKiBXZWQgSnVsIDE1IDIwMjYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0Bm ZWRvcmFwcm9qZWN0Lm9yZz4gLSAwLjcuMy0yNQogLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9y YXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzQ1X01hc3NfUmVidWlsZAogCg==