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: Petr Lautrbach To: git-commits@fedoraproject.org Subject: [tests/selinux] pr775-checkpolicy-revdeps: Add tests from https://src.fedoraproject.org/rpms/libsemanage/blob/master/f/tests Date: Fri, 11 Sep 2026 13:17:13 GMT Message-ID: <178913263316.1.14502151229676945907.tests-selinux-234389e8fb32@fedoraproject.org> List-ID: X-Git-Repo: tests/selinux X-Git-Branch: pr775-checkpolicy-revdeps X-Git-Rev: 234389e8fb32396b86fba6e382e9e1bcc0ab88fb QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHRlc3RzL3NlbGludXgKQnJh bmNoIDogcHI3NzUtY2hlY2twb2xpY3ktcmV2ZGVwcwpDb21taXQgOiAyMzQzODllOGZiMzIzOTZi ODZmYmE2ZTM4MmU5ZTFiY2MwYWI4OGZiCkF1dGhvciA6IFBldHIgTGF1dHJiYWNoIDxwbGF1dHJi YUByZWRoYXQuY29tPgpEYXRlICAgOiAyMDE4LTAyLTE0VDEzOjM5OjQwKzAxOjAwClN0YXRzICA6 ICsyNDU2Ly0wIGluIDQyIGZpbGUocykKVVJMICAgIDogaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVj dC5vcmcvdGVzdHMvc2VsaW51eC9jLzIzNDM4OWU4ZmIzMjM5NmI4NmZiYTZlMzgyZTllMWJjYzBh Yjg4ZmI/YnJhbmNoPXByNzc1LWNoZWNrcG9saWN5LXJldmRlcHMKCkxvZzoKQWRkIHRlc3RzIGZy b20gaHR0cHM6Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9saWJzZW1hbmFnZS9ibG9iL21h c3Rlci9mL3Rlc3RzCgotLS0KZGlmZiAtLWdpdCBhL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRs ZS1mdW5jdGlvbnMvTWFrZWZpbGUgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rp b25zL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0OWRiZTAK LS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25z L01ha2VmaWxlCkBAIC0wLDAgKzEsNjMgQEAKKyMgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyMKKyMgICBNYWtlZmls ZSBvZiAvQ29yZU9TL2xpYnNlbWFuYWdlL1Nhbml0eS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25z CisjICAgRGVzY3JpcHRpb246IFRlc3QgZnVuY3Rpb25zIGZyb20gaGFuZGxlLmgKKyMgICBBdXRo b3I6IEphbiBaYXJza3kgPGp6YXJza3lAcmVkaGF0LmNvbT4KKyMKKyMgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKyMK KyMgICBDb3B5cmlnaHQgKGMpIDIwMTcgUmVkIEhhdCwgSW5jLgorIworIyAgIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyMgICBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcworIyAgIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRo ZXIgdmVyc2lvbiAyIG9mCisjICAgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisjCisjICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZQorIyAgIHVzZWZ1bCwgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQKKyMgICB3YXJyYW50eSBvZiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjICAgUFVSUE9TRS4gIFNlZSB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgICBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorIyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNlZSBodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvLgorIworIyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitleHBvcnQgVEVTVD0vQ29y ZU9TL2xpYnNlbWFuYWdlL1Nhbml0eS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zCitleHBvcnQg VEVTVFZFUlNJT049MS4wCisKK0JVSUxUX0ZJTEVTPQorCitGSUxFUz0kKE1FVEFEQVRBKSBydW50 ZXN0LnNoIE1ha2VmaWxlIFBVUlBPU0UgZnVuY3Rpb25zLmMgdGVzdF8qLmMKKworLlBIT05ZOiBh bGwgaW5zdGFsbCBkb3dubG9hZCBjbGVhbgorCitydW46ICQoRklMRVMpIGJ1aWxkCisJLi9ydW50 ZXN0LnNoCisKK2J1aWxkOiAkKEJVSUxUX0ZJTEVTKQorCXRlc3QgLXggcnVudGVzdC5zaCB8fCBj aG1vZCBhK3ggcnVudGVzdC5zaAorCitjbGVhbjoKKwlybSAtZiAqfiAkKEJVSUxUX0ZJTEVTKQor CisKK2luY2x1ZGUgL3Vzci9zaGFyZS9yaHRzL2xpYi9yaHRzLW1ha2UuaW5jbHVkZQorCiskKE1F VEFEQVRBKTogTWFrZWZpbGUKKwlAZWNobyAiT3duZXI6ICAgICAgICAgICBKYW4gWmFyc2t5IDxq emFyc2t5QHJlZGhhdC5jb20+IiA+ICQoTUVUQURBVEEpCisJQGVjaG8gIk5hbWU6ICAgICAgICAg ICAgJChURVNUKSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiVGVzdFZlcnNpb246ICAgICAkKFRF U1RWRVJTSU9OKSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiUGF0aDogICAgICAgICAgICAkKFRF U1RfRElSKSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiRGVzY3JpcHRpb246ICAgICBUZXN0IGZ1 bmN0aW9ucyBmcm9tIGhhbmRsZS5oIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJUeXBlOiAgICAg ICAgICAgIFNhbml0eSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiVGVzdFRpbWU6ICAgICAgICA1 bSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiUnVuRm9yOiAgICAgICAgICBsaWJzZW1hbmFnZSIg Pj4gJChNRVRBREFUQSkKKwlAZWNobyAiUmVxdWlyZXM6ICAgICAgICBsaWJzZW1hbmFnZSBsaWJz ZW1hbmFnZS1kZXZlbCBnbGliYyBnY2MiID4+ICQoTUVUQURBVEEpCisJQGVjaG8gIlByaW9yaXR5 OiAgICAgICAgTm9ybWFsIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJMaWNlbnNlOiAgICAgICAg IEdQTHYyKyIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiQ29uZmlkZW50aWFsOiAgICBubyIgPj4g JChNRVRBREFUQSkKKwlAZWNobyAiRGVzdHJ1Y3RpdmU6ICAgICBubyIgPj4gJChNRVRBREFUQSkK KwlAZWNobyAiUmVsZWFzZXM6ICAgICAgICAtUkhFTDQgLVJIRUxDbGllbnQ1IC1SSEVMU2VydmVy NSIgPj4gJChNRVRBREFUQSkKKworCXJodHMtbGludCAkKE1FVEFEQVRBKQoKZGlmZiAtLWdpdCBh L2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvUFVSUE9TRSBiL2xpYnNlbWFu YWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvUFVSUE9TRQpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi4wOWE4ZTE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uv c2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy9QVVJQT1NFCkBAIC0wLDAgKzEsMyBAQAorUFVSUE9T RSBvZiAvQ29yZU9TL2xpYnNlbWFuYWdlL1Nhbml0eS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25z CitEZXNjcmlwdGlvbjogVGVzdCBmdW5jdGlvbnMgZnJvbSBoYW5kbGUuaAorQXV0aG9yOiBKYW4g WmFyc2t5IDxqemFyc2t5QHJlZGhhdC5jb20+CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2Vt YW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy9mdW5jdGlvbnMuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdl LWhhbmRsZS1mdW5jdGlvbnMvZnVuY3Rpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMC4uNzcyMmMwOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdl LWhhbmRsZS1mdW5jdGlvbnMvZnVuY3Rpb25zLmMKQEAgLTAsMCArMSwxMzIgQEAKKyNpbmNsdWRl IDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2lu Y2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2VtYW5hZ2Uvc2VtYW5hZ2UuaD4KKwordm9pZCBj aGVja19yZXN1bHRfaW50KGNvbnN0IGNoYXIgKmV4cGVjdGVkLCBpbnQgcmVhbCkgeworICAgIGlu dCBleHAgPSBzdHJ0b2woZXhwZWN0ZWQsIE5VTEwsIDEwKTsKKworICAgIGlmIChleHAgIT0gcmVh bCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkV4cGVjdGVkICVkIGJ1dCBnb3QgJWRcbiIs IGV4cCwgcmVhbCk7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorfQorCitzZW1hbmFnZV9oYW5k bGVfdCAqdGVzdF9oYW5kbGVfY3JlYXRlKCkgeworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaCA9 IE5VTEw7CisKKyAgICBzaCA9IHNlbWFuYWdlX2hhbmRsZV9jcmVhdGUoKTsKKyAgICBwcmludGYo InNlbWFuYWdlX2hhbmRsZV9jcmVhdGUoKTogJXBcbiIsICh2b2lkICopIHNoKTsKKworICAgIGlm IChzaCA9PSBOVUxMKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2VfaGFuZGxlX2NyZWF0ZSIp OworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIHJldHVybiBzaDsKK30KKworaW50IHRl c3RfY29ubmVjdChzZW1hbmFnZV9oYW5kbGVfdCAqc2gpIHsKKyAgICBpbnQgcmVzdWx0ID0gc2Vt YW5hZ2VfY29ubmVjdChzaCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9jb25uZWN0KCVwKTogJWRc biIsICh2b2lkICopIHNoLCByZXN1bHQpOworCisgICAgaWYgKHJlc3VsdCAhPSAwKSB7CisgICAg ICAgIHBlcnJvcigic2VtYW5hZ2VfY29ubmVjdCIpOworICAgICAgICBleGl0KDEpOworICAgIH0K KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2ludCB0ZXN0X2Rpc2Nvbm5lY3Qoc2VtYW5hZ2Vf aGFuZGxlX3QgKnNoKSB7CisgICAgaW50IHJlc3VsdCA9IHNlbWFuYWdlX2Rpc2Nvbm5lY3Qoc2gp OworICAgIHByaW50Zigic2VtYW5hZ2VfZGlzY29ubmVjdCglcCk6ICVkXG4iLCAodm9pZCAqKSBz aCwgcmVzdWx0KTsKKworICAgIGlmIChyZXN1bHQgIT0gMCkgeworICAgICAgICBwZXJyb3IoInNl bWFuYWdlX2Rpc2Nvbm5lY3QiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICByZXR1 cm4gcmVzdWx0OworfQorCitpbnQgdGVzdF9iZWdpbl90cmFuc2FjdGlvbihzZW1hbmFnZV9oYW5k bGVfdCAqc2gpIHsKKyAgICBpbnQgcmVzdWx0ID0gc2VtYW5hZ2VfYmVnaW5fdHJhbnNhY3Rpb24o c2gpOworICAgIHByaW50Zigic2VtYW5hZ2VfYmVnaW5fdHJhbnNhY3Rpb24oJXApOiAlZFxuIiwg KHZvaWQgKikgc2gsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0ICE9IDApIHsKKyAgICAgICAg cGVycm9yKCJzZW1hbmFnZV9iZWdpbl90cmFuc2FjdGlvbiIpOworICAgICAgICBleGl0KDEpOwor ICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK2ludCB0ZXN0X2NvbW1pdChzZW1hbmFn ZV9oYW5kbGVfdCAqc2gpIHsKKyAgICBpbnQgcmVzdWx0ID0gc2VtYW5hZ2VfY29tbWl0KHNoKTsK KyAgICBwcmludGYoInNlbWFuYWdlX2NvbW1pdCglcCk6ICVkXG4iLCAodm9pZCAqKSBzaCwgcmVz dWx0KTsKKworICAgIGlmIChyZXN1bHQgIT0gMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdl X2NvbW1pdCIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIHJldHVybiByZXN1bHQ7 Cit9CisKKyNkZWZpbmUgU1RBVEVfSU5JVCAgICAgIDEKKyNkZWZpbmUgU1RBVEVfSEFORExFICAg IDIKKyNkZWZpbmUgU1RBVEVfQ09OTiAgICAgIDMKKyNkZWZpbmUgU1RBVEVfVFJBTlMgICAgIDQK KworaW50IGdldF9zdGF0ZShjb25zdCBjaGFyICpzdGF0ZV9zdHIpIHsKKyAgICBpZiAoc3RyY21w KHN0YXRlX3N0ciwgImluaXQiKSA9PSAwKQorICAgICAgICByZXR1cm4gU1RBVEVfSU5JVDsKKyAg ICBpZiAoc3RyY21wKHN0YXRlX3N0ciwgImhhbmRsZSIpID09IDApCisgICAgICAgIHJldHVybiBT VEFURV9IQU5ETEU7CisgICAgaWYgKHN0cmNtcChzdGF0ZV9zdHIsICJjb25uIikgPT0gMCkKKyAg ICAgICAgcmV0dXJuIFNUQVRFX0NPTk47CisgICAgaWYgKHN0cmNtcChzdGF0ZV9zdHIsICJ0cmFu cyIpID09IDApCisgICAgICAgIHJldHVybiBTVEFURV9UUkFOUzsKKworICAgIHJldHVybiAwOwor fQorCitzZW1hbmFnZV9oYW5kbGVfdCAqIGdldF9oYW5kbGUoY29uc3QgY2hhciAqc3RhdGVfc3Ry KSB7CisgICAgaW50IHN0YXRlOworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaCA9IE5VTEw7CisK KyAgICBzdGF0ZSA9IGdldF9zdGF0ZShzdGF0ZV9zdHIpOworCisgICAgaWYgKHN0YXRlID49IFNU QVRFX0lOSVQpCisgICAgICAgIHNoID0gTlVMTDsKKworICAgIGlmIChzdGF0ZSA+PSBTVEFURV9I QU5ETEUpCisgICAgICAgIHNoID0gdGVzdF9oYW5kbGVfY3JlYXRlKCk7CisKKyAgICBpZiAoc3Rh dGUgPj0gU1RBVEVfQ09OTikKKyAgICAgICAgdGVzdF9jb25uZWN0KHNoKTsKKworICAgIGlmIChz dGF0ZSA+PSBTVEFURV9UUkFOUykKKyAgICAgICAgdGVzdF9iZWdpbl90cmFuc2FjdGlvbihzaCk7 CisKKyAgICByZXR1cm4gc2g7Cit9CisKK3ZvaWQgZGVzdHJveV9oYW5kbGUoc2VtYW5hZ2VfaGFu ZGxlX3QgKnNoLCBjb25zdCBjaGFyICpzdGF0ZV9zdHIpIHsKKyAgICBpbnQgc3RhdGU7CisKKyAg ICBzdGF0ZSA9IGdldF9zdGF0ZShzdGF0ZV9zdHIpOworCisgICAgaWYgKHN0YXRlID49IFNUQVRF X1RSQU5TKQorICAgICAgICB0ZXN0X2NvbW1pdChzaCk7CisKKyAgICBpZiAoc3RhdGUgPj0gU1RB VEVfQ09OTikKKyAgICAgICAgdGVzdF9kaXNjb25uZWN0KHNoKTsKKworICAgIGlmIChzdGF0ZSA+ PSBTVEFURV9IQU5ETEUpIHsKKyAgICAgICAgc2VtYW5hZ2VfaGFuZGxlX2Rlc3Ryb3koc2gpOwor ICAgICAgICBwcmludGYoInNlbWFuYWdlX2hhbmRsZV9kZXN0cm95KCVwKVxuIiwgKHZvaWQgKikg c2gpOworICAgIH0KK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUt ZnVuY3Rpb25zL3BsYW4udHh0IGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9u cy9wbGFuLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjFhOTE0Ci0t LSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy9w bGFuLnR4dApAQCAtMCwwICsxLDI5IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgaW5pdCAgICBoYW5kbGUgIGNvbm4gICAgdHJhbnMKK3NlbWFuYWdlX3NldF9yb290 ICAgICAgICAgICAgICAgICAgIHggICBvayAgICAgIG9rICAgICAgb2sgICAgICAtCitzZW1hbmFn ZV9yb290ICAgICAgICAgICAgICAgICAgICAgICB4ICAgb2sgICAgICBvayAgICAgIG9rICAgICAg LQorc2VtYW5hZ2VfaGFuZGxlX2NyZWF0ZSAgICAgICAgICAgICAgeCAgIG9rICAgICAgLSAgICAg ICAtICAgICAgIC0gICAgICAgIAorc2VtYW5hZ2Vfc2V0X3JlYnVpbGQgICAgICAgICAgICAgICAg ICAgIGZhaWwgICAgb2sgICAgICBvayAgICAgIC0KK3NlbWFuYWdlX3NldF9yZWxvYWQgICAgICAg ICAgICAgICAgICAgICBmYWlsICAgIG9rICAgICAgb2sgICAgICAtCitzZW1hbmFnZV9nZXRfaGxs X2NvbXBpbGVyX3BhdGggICAgICAgICAgZmFpbCAgICA/ICAgICAgID8gICAgICAgLQorc2VtYW5h Z2Vfc2V0X2NyZWF0ZV9zdG9yZSAgICAgICAgICAgICAgIGZhaWwgICAgb2sgICAgICBvayAgICAg IC0gICAgICAgc2hvdWxkIGJlIGNhbGxlZCBhZnRlciBjb25uZWN0CitzZW1hbmFnZV9nZXRfZGlz YWJsZV9kb250YXVkaXQgICAgICAgICAgZmFpbCAgICA/ICAgICAgID8gICAgICAgLQorc2VtYW5h Z2Vfc2V0X2Rpc2FibGVfZG9udGF1ZGl0ICAgICAgICAgIGZhaWwgICAgPyAgICAgICA/ICAgICAg IC0KK3NlbWFuYWdlX2dldF9wcmVzZXJ2ZV90dW5hYmxlcyAgICAgICAgICBmYWlsICAgID8gICAg ICAgPyAgICAgICAtCitzZW1hbmFnZV9zZXRfcHJlc2VydmVfdHVuYWJsZXMgICAgICAgICAgZmFp bCAgICA/ICAgICAgID8gICAgICAgLQorc2VtYW5hZ2VfZ2V0X2lnbm9yZV9tb2R1bGVfY2FjaGUg ICAgICAgIGZhaWwgICAgPyAgICAgICA/ICAgICAgIC0KK3NlbWFuYWdlX3NldF9pZ25vcmVfbW9k dWxlX2NhY2hlICAgICAgICBmYWlsICAgID8gICAgICAgPyAgICAgICAtCitzZW1hbmFnZV9zZXRf Y2hlY2tfY29udGV4dHMgICAgICAgICAgICAgZmFpbCAgICBvayAgICAgIG9rICAgICAgLQorc2Vt YW5hZ2VfZ2V0X2RlZmF1bHRfcHJpb3JpdHkgICAgICAgICAgIGZhaWwgICAgb2sgICAgICBvayAg ICAgIC0KK3NlbWFuYWdlX3NldF9kZWZhdWx0X3ByaW9yaXR5ICAgICAgICAgICBmYWlsICAgIG9r ICAgICAgb2sgICAgICAtCitzZW1hbmFnZV9pc19jb25uZWN0ZWQgICAgICAgICAgICAgICB4ICAg ZmFpbCAgICBvayAgICAgIG9rICAgICAgLQorc2VtYW5hZ2Vfc2VsZWN0X3N0b3JlICAgICAgICAg ICAgICAgICAgIGZhaWwgICAgb2sgICAgICBvayAgICAgIC0gICAgICAgc2hvdWxkIGJlIGNhbGxl ZCBiZWZvcmUgY29ubmVjdAorc2VtYW5hZ2Vfc2V0X3N0b3JlX3Jvb3QgICAgICAgICAgICAgICAg IGZhaWwgICAgb2sgICAgICBvayAgICAgIC0KK3NlbWFuYWdlX2lzX21hbmFnZWQgICAgICAgICAg ICAgICAgIHggICBmYWlsICAgIG9rICAgICAgZmFpbCAgICAtCitzZW1hbmFnZV9tbHNfZW5hYmxl ZCAgICAgICAgICAgICAgICB4ICAgZmFpbCAgICA/ICAgICAgIG9rICAgICAgLQorc2VtYW5hZ2Vf Y29ubmVjdCAgICAgICAgICAgICAgICAgICAgeCAgIGZhaWwgICAgb2sgICAgICA/ICAgICAgIC0K K3NlbWFuYWdlX2FjY2Vzc19jaGVjayAgICAgICAgICAgICAgIHggICBmYWlsICAgIG9rICAgICAg PyAgICAgICAtCitzZW1hbmFnZV9kaXNjb25uZWN0ICAgICAgICAgICAgICAgICB4ICAgZmFpbCAg ICBmYWlsICAgIG9rICAgICAgLSAgICAgICBvayB3aGVuIGRpc2Nvbm5lY3RlZCB0d2ljZQorc2Vt YW5hZ2VfaGFuZGxlX2Rlc3Ryb3kgICAgICAgICAgICAgeCAgIGZhaWwgICAgb2sgICAgICBvayAg ICAgIC0KK3NlbWFuYWdlX2JlZ2luX3RyYW5zYWN0aW9uICAgICAgICAgIHggICBmYWlsICAgIGZh aWwgICAgb2sgICAgICBvayAgICAgIG9rIHdoZW4gYmVnaW4gdHdpY2UKK3NlbWFuYWdlX2NvbW1p dCAgICAgICAgICAgICAgICAgICAgIHggICBmYWlsICAgIGZhaWwgICAgZmFpbCAgICBvaworc2Vt YW5hZ2VfcmVsb2FkX3BvbGljeSAgICAgICAgICAgICAgICAgIGZhaWwgICAgPyAgICAgICA/ICAg ICAgID8KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25z L3J1bnRlc3Quc2ggYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3J1bnRl c3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODAxYWFlNwotLS0gL2Rl di9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvcnVudGVz dC5zaApAQCAtMCwwICsxLDEyMiBAQAorIyEvYmluL2Jhc2gKKyMgdmltOiBkaWN0Kz0vdXNyL3No YXJlL2JlYWtlcmxpYi9kaWN0aW9uYXJ5LnZpbSBjcHQ9Lix3LGIsdSx0LGksaworIyB+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fgorIworIyAgIHJ1bnRlc3Quc2ggb2YgL0NvcmVPUy9saWJzZW1hbmFnZS9TYW5pdHkvc2Vt YW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucworIyAgIERlc2NyaXB0aW9uOiBUZXN0IGZ1bmN0aW9ucyBm cm9tIGhhbmRsZS5oCisjICAgQXV0aG9yOiBKYW4gWmFyc2t5IDxqemFyc2t5QHJlZGhhdC5jb20+ CisjCisjIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CisjCisjICAgQ29weXJpZ2h0IChjKSAyMDE3IFJlZCBIYXQsIElu Yy4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCisjICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyMgICBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMiBvZgorIyAgIHRoZSBMaWNlbnNlLCBv ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyAgIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUKKyMgICB1c2VmdWws IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkCisjICAg d2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor IyAgIFBVUlBPU0UuICBTZWUgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisjCisjICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g SWYgbm90LCBzZWUgaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLy4KKyMKKyMgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KKworIyBJbmNsdWRlIEJlYWtlciBlbnZpcm9ubWVudAorLiAvdXNyL2Jpbi9yaHRzLWVudmly b25tZW50LnNoIHx8IGV4aXQgMQorLiAvdXNyL3NoYXJlL2JlYWtlcmxpYi9iZWFrZXJsaWIuc2gg fHwgZXhpdCAxCisKK1BBQ0tBR0U9ImxpYnNlbWFuYWdlIgorCitybEpvdXJuYWxTdGFydAorICAg IHJsUGhhc2VTdGFydFNldHVwCisgICAgICAgIHJsQXNzZXJ0UnBtICR7UEFDS0FHRX0KKyAgICAg ICAgcmxBc3NlcnRScG0gJHtQQUNLQUdFfS1kZXZlbAorICAgICAgICBybEFzc2VydFJwbSAiZ2xp YmMiCisgICAgICAgIHJsQXNzZXJ0UnBtICJnY2MiCisKKyAgICAgICAgaWYgcmxJc1JIRUwgIj49 NyIgfHwgcmxJc0ZlZG9yYTsgdGhlbgorICAgICAgICAgICAgcmxSdW4gLWwgImdjYyB0ZXN0X3Jv b3QuYyAgICAgICAgICAgLW8gdGVzdF9yb290ICAgICAgICAgICAgLWxzZW1hbmFnZSAtV2FsbCAt V2V4dHJhIC1zdGQ9Yzk5IgorICAgICAgICBmaQorCisgICAgICAgIHJsUnVuIC1sICJnY2MgdGVz dF9oYW5kbGVfY3JlYXRlLmMgIC1vIHRlc3RfaGFuZGxlX2NyZWF0ZSAgIC1sc2VtYW5hZ2UgLVdh bGwgLVdleHRyYSAtV25vLXVudXNlZC1wYXJhbWV0ZXIgLXN0ZD1jOTkiCisgICAgICAgIHJsUnVu IC1sICJnY2MgdGVzdF9hY2Nlc3NfY2hlY2suYyAgIC1vIHRlc3RfYWNjZXNzX2NoZWNrICAgIC1s c2VtYW5hZ2UgLVdhbGwgLVdleHRyYSAtc3RkPWM5OSIKKyAgICAgICAgcmxSdW4gLWwgImdjYyB0 ZXN0X2lzX21hbmFnZWQuYyAgICAgLW8gdGVzdF9pc19tYW5hZ2VkICAgICAgLWxzZW1hbmFnZSAt V2FsbCAtV2V4dHJhIC1zdGQ9Yzk5IgorICAgICAgICBybFJ1biAtbCAiZ2NjIHRlc3RfY29ubmVj dC5jICAgICAgICAtbyB0ZXN0X2Nvbm5lY3QgICAgICAgICAtbHNlbWFuYWdlIC1XYWxsIC1XZXh0 cmEgLXN0ZD1jOTkiCisgICAgICAgIHJsUnVuIC1sICJnY2MgdGVzdF9pc19jb25uZWN0ZWQuYyAg IC1vIHRlc3RfaXNfY29ubmVjdGVkICAgIC1sc2VtYW5hZ2UgLVdhbGwgLVdleHRyYSAtc3RkPWM5 OSIKKyAgICAgICAgcmxSdW4gLWwgImdjYyB0ZXN0X21sc19lbmFibGVkLmMgICAgLW8gdGVzdF9t bHNfZW5hYmxlZCAgICAgLWxzZW1hbmFnZSAtV2FsbCAtV2V4dHJhIC1zdGQ9Yzk5IgorICAgICAg ICBybFJ1biAtbCAiZ2NjIHRlc3RfdHJhbnNhY3Rpb24uYyAgICAtbyB0ZXN0X3RyYW5zYWN0aW9u ICAgICAtbHNlbWFuYWdlIC1XYWxsIC1XZXh0cmEgLXN0ZD1jOTkiCisKKyAgICAgICAgRVJSX0ZB SUw9MQorICAgICAgICBFUlJfQUJPUlQ9MTM0CisgICAgcmxQaGFzZUVuZAorCisgICAgaWYgcmxJ c1JIRUwgIj49NyIgfHwgcmxJc0ZlZG9yYTsgdGhlbgorICAgIHJsUGhhc2VTdGFydFRlc3QgInNl bWFuYWdlX3Jvb3QsIHNlbWFuYWdlX3Rlc3Rfcm9vdCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9y b290IGluaXQiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rfcm9vdCBoYW5kbGUiCisgICAgICAgIHJs UnVuICIuL3Rlc3Rfcm9vdCBjb25uIgorICAgICAgICBybFJ1biAiLi90ZXN0X3Jvb3QgaW5pdCAv c29tZXBhdGgiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rfcm9vdCBoYW5kbGUgL3NvbWVwYXRoIgor ICAgICAgICBybFJ1biAiLi90ZXN0X3Jvb3QgY29ubiAvc29tZXBhdGgiCisgICAgcmxQaGFzZUVu ZAorICAgIGZpCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9oYW5kbGVfY3JlYXRl LCBzZW1hbmFnZV9oYW5kbGVfZGVzdHJveSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9oYW5kbGVf Y3JlYXRlIGluaXQiCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0VGVzdCAic2Vt YW5hZ2VfYWNjZXNzX2NoZWNrIgorICAgICAgICBybFJ1biAiLi90ZXN0X2FjY2Vzc19jaGVjayBp bml0IiAkRVJSX0FCT1JUCisgICAgICAgIHJsUnVuICIuL3Rlc3RfYWNjZXNzX2NoZWNrIGhhbmRs ZSAyIgorICAgICAgICBybFJ1biAiLi90ZXN0X2FjY2Vzc19jaGVjayBjb25uIDIiCisgICAgcmxQ aGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0VGVzdCAic2VtYW5hZ2VfaXNfbWFuYWdlZCIKKyAg ICAgICAgcmxSdW4gIi4vdGVzdF9pc19tYW5hZ2VkIGluaXQiICRFUlJfQUJPUlQKKyAgICAgICAg cmxSdW4gIi4vdGVzdF9pc19tYW5hZ2VkIGhhbmRsZSAxIgorICAgICAgICBybFJ1biAiLi90ZXN0 X2lzX21hbmFnZWQgY29ubiIgJEVSUl9GQUlMCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFz ZVN0YXJ0VGVzdCAic2VtYW5hZ2VfY29ubmVjdCwgc2VtYW5hZ2VfZGlzY29ubmVjdCIKKyAgICAg ICAgcmxSdW4gIi4vdGVzdF9jb25uZWN0IGluaXQiICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4g Ii4vdGVzdF9jb25uZWN0IGluaXQgcmV2ZXJzZWQiICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4g Ii4vdGVzdF9jb25uZWN0IGhhbmRsZSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb25uZWN0IGhh bmRsZSB0d2ljZSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb25uZWN0IGhhbmRsZSByZXZlcnNl ZCIgJEVSUl9BQk9SVAorICAgICAgICAjIHdoeSBkb2VzIGl0IHdvcms/PworICAgICAgICBybFJ1 biAiLi90ZXN0X2Nvbm5lY3QgY29ubiIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3Rh cnRUZXN0ICJzZW1hbmFnZV9pc19jb25uZWN0ZWQiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfaXNf Y29ubmVjdGVkIGluaXQiICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9pc19jb25u ZWN0ZWQgaGFuZGxlIDAiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfaXNfY29ubmVjdGVkIGNvbm4g MSIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9tbHNf ZW5hYmxlZCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9tbHNfZW5hYmxlZCBpbml0IiAkRVJSX0FC T1JUCisgICAgICAgIHJsUnVuICIuL3Rlc3RfbWxzX2VuYWJsZWQgaGFuZGxlIiAkRVJSX0FCT1JU CisgICAgICAgIHJsUnVuICIuL3Rlc3RfbWxzX2VuYWJsZWQgY29ubiAxIgorICAgIHJsUGhhc2VF bmQKKworICAgIHJsUGhhc2VTdGFydFRlc3QgInNlbWFuYWdlX2JlZ2luX3RyYW5zYWN0aW9uLCBz ZW1hbmFnZV9jb21taXQiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfdHJhbnNhY3Rpb24gaW5pdCIg JEVSUl9BQk9SVAorICAgICAgICBybFJ1biAiLi90ZXN0X3RyYW5zYWN0aW9uIGluaXQgcmV2ZXJz ZWQiICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF90cmFuc2FjdGlvbiBoYW5kbGUi ICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF90cmFuc2FjdGlvbiBoYW5kbGUgcmV2 ZXJzZWQiICRFUlJfQUJPUlQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF90cmFuc2FjdGlvbiBjb25u IgorICAgICAgICBybFJ1biAiLi90ZXN0X3RyYW5zYWN0aW9uIGNvbm4gdHdpY2UiCisgICAgICAg IHJsUnVuICIuL3Rlc3RfdHJhbnNhY3Rpb24gY29ubiByZXZlcnNlZCIgJEVSUl9GQUlMCisgICAg cmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0Q2xlYW51cAorICAgICAgICBybFJ1biAicm0g LWYgb3V0cHV0IHRlc3Rfcm9vdCB0ZXN0X2hhbmRsZV9jcmVhdGUgdGVzdF9hY2Nlc3NfY2hlY2sg XAorICAgICAgICAgICAgICAgdGVzdF9pc19tYW5hZ2VkIHRlc3RfY29ubmVjdCB0ZXN0X2lzX2Nv bm5lY3RlZCBcCisgICAgICAgICAgICAgICB0ZXN0X21sc19lbmFibGVkIHRlc3RfdHJhbnNhY3Rp b24iCisgICAgcmxQaGFzZUVuZAorcmxKb3VybmFsUHJpbnRUZXh0CitybEpvdXJuYWxFbmQKCmRp ZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3Rlc3RfYWNj ZXNzX2NoZWNrLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3Rlc3Rf YWNjZXNzX2NoZWNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGViMjUz MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlv bnMvdGVzdF9hY2Nlc3NfY2hlY2suYwpAQCAtMCwwICsxLDMyIEBACisjaW5jbHVkZSA8c3RkaW8u aD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxl cnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRlICJmdW5j dGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIHNlbWFu YWdlX2hhbmRsZV90ICpzaDsKKworICAgIGlmIChhcmdjIDwgMikKKyAgICAgICAgZXhpdCgxKTsK KyAgICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICBpbnQgcmVzdWx0ID0g c2VtYW5hZ2VfYWNjZXNzX2NoZWNrKHNoKTsKKyAgICBwcmludGYoInNlbWFuYWdlX2FjY2Vzc19j aGVjayglcCk6ICVkXG4iLCAodm9pZCAqKSBzaCwgcmVzdWx0KTsKKyAgICAKKyAgICBpZiAocmVz dWx0IDwgMCB8fCAocmVzdWx0ICE9IDAgJiYgcmVzdWx0ICE9IFNFTUFOQUdFX0NBTl9SRUFECisg ICAgICAgICAgICAgICAgICAgICAgICYmIHJlc3VsdCAhPSBTRU1BTkFHRV9DQU5fV1JJVEUpKSB7 CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2VfYWNjZXNzX2NoZWNrIik7CisgICAgICAgIGV4aXQo MSk7CisgICAgfQorCisgICAgaWYgKGFyZ2MgPj0gMykKKyAgICAgICAgY2hlY2tfcmVzdWx0X2lu dChhcmd2WzJdLCByZXN1bHQpOworCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOwor CisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5k bGUtZnVuY3Rpb25zL3Rlc3RfY29ubmVjdC5jIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxl LWZ1bmN0aW9ucy90ZXN0X2Nvbm5lY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi5kZjQwM2UwCi0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFu ZGxlLWZ1bmN0aW9ucy90ZXN0X2Nvbm5lY3QuYwpAQCAtMCwwICsxLDMzIEBACisjaW5jbHVkZSA8 c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNs dWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRl ICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAg IHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDIpCisgICAgICAg IGV4aXQoMSk7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworICAgIAorICAg IGlmIChhcmdjID49IDMgJiYgc3RyY21wKGFyZ3ZbMl0sICJyZXZlcnNlZCIpID09IDApIHsKKyAg ICAgICAgdGVzdF9kaXNjb25uZWN0KHNoKTsKKyAgICAgICAgdGVzdF9jb25uZWN0KHNoKTsKKyAg ICB9CisgICAgZWxzZSB7CisgICAgICAgIHRlc3RfY29ubmVjdChzaCk7CisgICAgICAgIHRlc3Rf ZGlzY29ubmVjdChzaCk7CisgICAgfQorCisgICAgaWYgKGFyZ2MgPj0gMyAmJiBzdHJjbXAoYXJn dlsyXSwgInR3aWNlIikgPT0gMCkgeworICAgICAgICB0ZXN0X2Rpc2Nvbm5lY3Qoc2gpOworICAg IH0KKworICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9 CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0 X2hhbmRsZV9jcmVhdGUuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMv dGVzdF9oYW5kbGVfY3JlYXRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NjVkMTY0ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1m dW5jdGlvbnMvdGVzdF9oYW5kbGVfY3JlYXRlLmMKQEAgLTAsMCArMSwxNSBAQAorI2luY2x1ZGUg PHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5j bHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVk ZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAg ICBzZW1hbmFnZV9oYW5kbGVfdCAqc2ggPSB0ZXN0X2hhbmRsZV9jcmVhdGUoKTsKKworICAgIHNl bWFuYWdlX2hhbmRsZV9kZXN0cm95KHNoKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0 IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X2lzX2Nvbm5lY3Rl ZC5jIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X2lzX2Nvbm5l Y3RlZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0MjhlNDgKLS0tIC9k ZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3Rlc3Rf aXNfY29ubmVjdGVkLmMKQEAgLTAsMCArMSwzMiBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5j bHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4K KyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMi CisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5k bGVfdCAqc2g7CisgICAgaW50IHJlc3VsdDsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDIpCisgICAg ICAgIGV4aXQoMSk7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAg cmVzdWx0ID0gc2VtYW5hZ2VfaXNfY29ubmVjdGVkKHNoKTsKKyAgICBwcmludGYoInNlbWFuYWdl X2lzX2Nvbm5lY3RlZCglcCk6ICVkXG4iLCAodm9pZCAqKSBzaCwgcmVzdWx0KTsKKworICAgIGlm IChyZXN1bHQgIT0gMCAmJiByZXN1bHQgIT0gMSkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdl X2lzX2Nvbm5lY3RlZCIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGlmIChhcmdj ID49IDMpCisgICAgICAgIGNoZWNrX3Jlc3VsdF9pbnQoYXJndlsyXSwgcmVzdWx0KTsKKworICAg IGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0t Z2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X2lzX21hbmFn ZWQuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvdGVzdF9pc19tYW5h Z2VkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQxMWNiMAotLS0gL2Rl di9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvdGVzdF9p c19tYW5hZ2VkLmMKQEAgLTAsMCArMSwzMiBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk ZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNp bmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisK K2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVf dCAqc2g7CisgICAgaW50IHJlc3VsdDsKKworICAgIGlmIChhcmdjIDwgMikKKyAgICAgICAgZXhp dCgxKTsKKyAgICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisgICAgCisgICAgcmVz dWx0ID0gc2VtYW5hZ2VfaXNfbWFuYWdlZChzaCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9pc19t YW5hZ2VkKCVwKTogJWRcbiIsICh2b2lkICopIHNoLCByZXN1bHQpOworCisgICAgaWYgKHJlc3Vs dCAhPSAwICYmIHJlc3VsdCAhPSAxKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2VfaXNfbWFu YWdlZCIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGlmIChhcmdjID49IDMpCisg ICAgICAgIGNoZWNrX3Jlc3VsdF9pbnQoYXJndlsyXSwgcmVzdWx0KTsKKworICAgIGRlc3Ryb3lf aGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEvbGli c2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X21sc19lbmFibGVkLmMgYi9s aWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3Rlc3RfbWxzX2VuYWJsZWQuYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZTk0M2YwCi0tLSAvZGV2L251bGwK KysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X21sc19lbmFi bGVkLmMKQEAgLTAsMCArMSwzMiBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3Rk bGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRl IDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBt YWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7 CisgICAgaW50IHJlc3VsdDsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDIpCisgICAgICAgIGV4aXQo MSk7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAgcmVzdWx0ID0g c2VtYW5hZ2VfbWxzX2VuYWJsZWQoc2gpOworICAgIHByaW50Zigic2VtYW5hZ2VfbWxzX2VuYWJs ZWQoJXApOiAlZFxuIiwgKHZvaWQgKikgc2gsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0ICE9 IDAgJiYgcmVzdWx0ICE9IDEpIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9tbHNfZW5hYmxl ZCIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGlmIChhcmdjID49IDQpCisgICAg ICAgIGNoZWNrX3Jlc3VsdF9pbnQoYXJndlszXSwgcmVzdWx0KTsKKworICAgIGRlc3Ryb3lfaGFu ZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEvbGlic2Vt YW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X3Jvb3QuYyBiL2xpYnNlbWFuYWdl L3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvdGVzdF9yb290LmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNTc4NjM0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdl L3NlbWFuYWdlLWhhbmRsZS1mdW5jdGlvbnMvdGVzdF9yb290LmMKQEAgLTAsMCArMSw1MyBAQAor I2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5n Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgor CisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgY29uc3QgY2hhciAqcm9vdDsK KyAgICBpbnQgcmVzdWx0OworCisgICAgaWYgKGFyZ2MgPCAyKQorICAgICAgICBleGl0KDEpOwor ICAgIAorICAgIHNoID0gZ2V0X2hhbmRsZShhcmd2WzFdKTsKKworICAgIHJvb3QgPSBzZW1hbmFn ZV9yb290KCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9yb290KCk6ICVzXG4iLCByb290KTsKKwor ICAgIGlmIChyb290ID09IE5VTEwpIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9yb290Iik7 CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgaWYgKGFyZ2MgPj0gMykgeworICAgICAg ICByZXN1bHQgPSBzZW1hbmFnZV9zZXRfcm9vdChhcmd2WzJdKTsKKyAgICAgICAgcHJpbnRmKCJz ZW1hbmFnZV9zZXRfcm9vdChcIiVzXCIpOiAlZFxuIiwgYXJndlsyXSwgcmVzdWx0KTsKKworICAg ICAgICBpZiAocm9vdCA9PSBOVUxMKSB7CisgICAgICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3Nl dF9yb290Iik7CisgICAgICAgICAgICBleGl0KDEpOworICAgICAgICB9CisKKyAgICAgICAgcm9v dCA9IHNlbWFuYWdlX3Jvb3QoKTsKKyAgICAgICAgcHJpbnRmKCJzZW1hbmFnZV9yb290KCk6ICVz XG4iLCByb290KTsKKworICAgICAgICBpZiAocmVzdWx0ICE9IDApIHsKKyAgICAgICAgICAgIHBl cnJvcigic2VtYW5hZ2Vfcm9vdCIpOworICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgfQor CisgICAgICAgIGlmIChzdHJjbXAocm9vdCwgYXJndlsyXSkgIT0gMCkgeworICAgICAgICAgICAg ZnByaW50ZihzdGRlcnIsICJFeHBlY3RlZCBcIiVzXCIgYnV0IGdvdCBcIiVzXCJcbiIsIGFyZ3Zb Ml0sIHJvb3QpOworICAgICAgICAgICAgZXhpdCgxKTsKKyAgICAgICAgfQorICAgIH0KKworICAg IGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0t Z2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0X3RyYW5zYWN0 aW9uLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1oYW5kbGUtZnVuY3Rpb25zL3Rlc3RfdHJhbnNh Y3Rpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWIwZTEwCi0tLSAv ZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2UtaGFuZGxlLWZ1bmN0aW9ucy90ZXN0 X3RyYW5zYWN0aW9uLmMKQEAgLTAsMCArMSwzNCBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5j bHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4K KyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMi CisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5k bGVfdCAqc2g7CisgICAgCisgICAgaWYgKGFyZ2MgPCAyKQorICAgICAgICBleGl0KDEpOworICAg IAorICAgIHNoID0gZ2V0X2hhbmRsZShhcmd2WzFdKTsKKyAgICAKKyAgICBpZiAoYXJnYyA+PSAz ICYmIHN0cmNtcChhcmd2WzJdLCAicmV2ZXJzZWQiKSA9PSAwKSB7CisgICAgICAgIHRlc3RfY29t bWl0KHNoKTsKKyAgICAgICAgdGVzdF9iZWdpbl90cmFuc2FjdGlvbihzaCk7CisgICAgfQorICAg IGVsc2UgaWYgKGFyZ2MgPj0gMyAmJiBzdHJjbXAoYXJndlsyXSwgInR3aWNlIikgPT0gMCkgewor ICAgICAgICB0ZXN0X2JlZ2luX3RyYW5zYWN0aW9uKHNoKTsKKyAgICAgICAgdGVzdF9iZWdpbl90 cmFuc2FjdGlvbihzaCk7CisgICAgICAgIHRlc3RfY29tbWl0KHNoKTsKKyAgICB9CisgICAgZWxz ZSB7CisgICAgICAgIHRlc3RfYmVnaW5fdHJhbnNhY3Rpb24oc2gpOworICAgICAgICB0ZXN0X2Nv bW1pdChzaCk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOworCisg ICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXIt ZnVuY3Rpb25zL01ha2VmaWxlIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9u cy9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzIwMmY0Ci0t LSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy9N YWtlZmlsZQpAQCAtMCwwICsxLDYzIEBACisjIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisjCisjICAgTWFrZWZpbGUg b2YgL0NvcmVPUy9saWJzZW1hbmFnZS9TYW5pdHkvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucwor IyAgIERlc2NyaXB0aW9uOiBUZXN0IHNlbWFuYWdlX3NldXNlcl8qIGZ1bmN0aW9ucworIyAgIEF1 dGhvcjogSmFuIFphcnNreSA8anphcnNreUByZWRoYXQuY29tPgorIworIyB+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgor IworIyAgIENvcHlyaWdodCAoYykgMjAxNyBSZWQgSGF0LCBJbmMuCisjCisjICAgVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyAg IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzCisjICAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVp dGhlciB2ZXJzaW9uIDIgb2YKKyMgICB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlCisjICAgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZAorIyAgIHdhcnJhbnR5IG9mIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgICBQVVJQT1NFLiAgU2VlIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyAgIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uIElmIG5vdCwgc2VlIGh0dHA6Ly93 d3cuZ251Lm9yZy9saWNlbnNlcy8uCisjCisjIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CisKK2V4cG9ydCBURVNUPS9D b3JlT1MvbGlic2VtYW5hZ2UvU2FuaXR5L3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMKK2V4cG9y dCBURVNUVkVSU0lPTj0xLjAKKworQlVJTFRfRklMRVM9CisKK0ZJTEVTPSQoTUVUQURBVEEpIHJ1 bnRlc3Quc2ggTWFrZWZpbGUgUFVSUE9TRSBmdW5jdGlvbnMuYyB0ZXN0XyouYworCisuUEhPTlk6 IGFsbCBpbnN0YWxsIGRvd25sb2FkIGNsZWFuCisKK3J1bjogJChGSUxFUykgYnVpbGQKKwkuL3J1 bnRlc3Quc2gKKworYnVpbGQ6ICQoQlVJTFRfRklMRVMpCisJdGVzdCAteCBydW50ZXN0LnNoIHx8 IGNobW9kIGEreCBydW50ZXN0LnNoCisKK2NsZWFuOgorCXJtIC1mICp+ICQoQlVJTFRfRklMRVMp CisKKworaW5jbHVkZSAvdXNyL3NoYXJlL3JodHMvbGliL3JodHMtbWFrZS5pbmNsdWRlCisKKyQo TUVUQURBVEEpOiBNYWtlZmlsZQorCUBlY2hvICJPd25lcjogICAgICAgICAgIEphbiBaYXJza3kg PGp6YXJza3lAcmVkaGF0LmNvbT4iID4gJChNRVRBREFUQSkKKwlAZWNobyAiTmFtZTogICAgICAg ICAgICAkKFRFU1QpIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJUZXN0VmVyc2lvbjogICAgICQo VEVTVFZFUlNJT04pIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJQYXRoOiAgICAgICAgICAgICQo VEVTVF9ESVIpIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJEZXNjcmlwdGlvbjogICAgIFRlc3Qg c2VtYW5hZ2Vfc2V1c2VyXyogZnVuY3Rpb25zIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJUeXBl OiAgICAgICAgICAgIFNhbml0eSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiVGVzdFRpbWU6ICAg ICAgICA1bSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiUnVuRm9yOiAgICAgICAgICBsaWJzZW1h bmFnZSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiUmVxdWlyZXM6ICAgICAgICBsaWJzZW1hbmFn ZSBsaWJzZW1hbmFnZS1kZXZlbCBnbGliYyBnY2MiID4+ICQoTUVUQURBVEEpCisJQGVjaG8gIlBy aW9yaXR5OiAgICAgICAgTm9ybWFsIiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJMaWNlbnNlOiAg ICAgICAgIEdQTHYyKyIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiQ29uZmlkZW50aWFsOiAgICBu byIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiRGVzdHJ1Y3RpdmU6ICAgICBubyIgPj4gJChNRVRB REFUQSkKKwlAZWNobyAiUmVsZWFzZXM6ICAgICAgICAtUkhFTDQgLVJIRUxDbGllbnQ1IC1SSEVM U2VydmVyNSIgPj4gJChNRVRBREFUQSkKKworCXJodHMtbGludCAkKE1FVEFEQVRBKQoKZGlmZiAt LWdpdCBhL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvUFVSUE9TRSBiL2xp YnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvUFVSUE9TRQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwLi42YjUyMDFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlic2Vt YW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy9QVVJQT1NFCkBAIC0wLDAgKzEsMyBAQAor UFVSUE9TRSBvZiAvQ29yZU9TL2xpYnNlbWFuYWdlL1Nhbml0eS9zZW1hbmFnZS1zZXVzZXItZnVu Y3Rpb25zCitEZXNjcmlwdGlvbjogVGVzdCBzZW1hbmFnZV9zZXVzZXJfKiBmdW5jdGlvbnMKK0F1 dGhvcjogSmFuIFphcnNreSA8anphcnNreUByZWRoYXQuY29tPgoKZGlmZiAtLWdpdCBhL2xpYnNl bWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvZnVuY3Rpb25zLmMgYi9saWJzZW1hbmFn ZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL2Z1bmN0aW9ucy5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmVjZGUxNWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFn ZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL2Z1bmN0aW9ucy5jCkBAIC0wLDAgKzEsMjYzIEBA CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJp bmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+ CisKK3ZvaWQgY2hlY2tfcmVzdWx0X2ludChjb25zdCBjaGFyICpleHBlY3RlZCwgaW50IHJlYWwp IHsKKyAgICBpbnQgZXhwID0gc3RydG9sKGV4cGVjdGVkLCBOVUxMLCAxMCk7CisKKyAgICBpZiAo ZXhwICE9IHJlYWwpIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFeHBlY3RlZCAlZCBidXQg Z290ICVkXG4iLCBleHAsIHJlYWwpOworICAgICAgICBleGl0KDEpOworICAgIH0KK30KKworc2Vt YW5hZ2VfaGFuZGxlX3QgKnRlc3RfaGFuZGxlX2NyZWF0ZSgpIHsKKyAgICBzZW1hbmFnZV9oYW5k bGVfdCAqc2ggPSBOVUxMOworCisgICAgc2ggPSBzZW1hbmFnZV9oYW5kbGVfY3JlYXRlKCk7Cisg ICAgcHJpbnRmKCJzZW1hbmFnZV9oYW5kbGVfY3JlYXRlKCk6ICVwXG4iLCAodm9pZCAqKSBzaCk7 CisKKyAgICBpZiAoc2ggPT0gTlVMTCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX2hhbmRs ZV9jcmVhdGUiKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXR1cm4gc2g7Cit9 CisKK2ludCB0ZXN0X2Nvbm5lY3Qoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoKSB7CisgICAgaW50IHJl c3VsdCA9IHNlbWFuYWdlX2Nvbm5lY3Qoc2gpOworICAgIHByaW50Zigic2VtYW5hZ2VfY29ubmVj dCglcCk6ICVkXG4iLCAodm9pZCAqKSBzaCwgcmVzdWx0KTsKKworICAgIGlmIChyZXN1bHQgIT0g MCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX2Nvbm5lY3QiKTsKKyAgICAgICAgZXhpdCgy KTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgdGVzdF9kaXNjb25uZWN0 KHNlbWFuYWdlX2hhbmRsZV90ICpzaCkgeworICAgIGludCByZXN1bHQgPSBzZW1hbmFnZV9kaXNj b25uZWN0KHNoKTsKKyAgICBwcmludGYoInNlbWFuYWdlX2Rpc2Nvbm5lY3QoJXApOiAlZFxuIiwg KHZvaWQgKikgc2gsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0ICE9IDApIHsKKyAgICAgICAg cGVycm9yKCJzZW1hbmFnZV9kaXNjb25uZWN0Iik7CisgICAgICAgIGV4aXQoMik7CisgICAgfQor CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworaW50IHRlc3RfYmVnaW5fdHJhbnNhY3Rpb24oc2Vt YW5hZ2VfaGFuZGxlX3QgKnNoKSB7CisgICAgaW50IHJlc3VsdCA9IHNlbWFuYWdlX2JlZ2luX3Ry YW5zYWN0aW9uKHNoKTsKKyAgICBwcmludGYoInNlbWFuYWdlX2JlZ2luX3RyYW5zYWN0aW9uKCVw KTogJWRcbiIsICh2b2lkICopIHNoLCByZXN1bHQpOworCisgICAgaWYgKHJlc3VsdCAhPSAwKSB7 CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2VfYmVnaW5fdHJhbnNhY3Rpb24iKTsKKyAgICAgICAg ZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCitpbnQgdGVzdF9jb21t aXQoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoKSB7CisgICAgaW50IHJlc3VsdCA9IHNlbWFuYWdlX2Nv bW1pdChzaCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9jb21taXQoJXApOiAlZFxuIiwgKHZvaWQg Kikgc2gsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0ICE9IDApIHsKKyAgICAgICAgcGVycm9y KCJzZW1hbmFnZV9jb21taXQiKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXR1 cm4gcmVzdWx0OworfQorCitzZW1hbmFnZV9zZXVzZXJfa2V5X3QgKnRlc3RfZ2V0X2tleShzZW1h bmFnZV9oYW5kbGVfdCAqc2gsIGNvbnN0IGNoYXIgKm5hbWUpIHsKKyAgICBzZW1hbmFnZV9zZXVz ZXJfa2V5X3QgKmtleTsKKyAgICBpbnQgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVh dGUoc2gsIG5hbWUsICZrZXkpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVh dGUoJXAsICVzLCAlcCk6ICVkXG4iLAorICAgICAgICAgICAodm9pZCAqKSBzaCwgbmFtZSwgKHZv aWQgKikgJmtleSwgcmVzdWx0KTsKKworICAgIGlmIChrZXkgPT0gTlVMTCB8fCByZXN1bHQgPCAw KSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUiKTsKKyAgICAg ICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXR1cm4ga2V5OworfQorCitzZW1hbmFnZV9zZXVz ZXJfdCAqdGVzdF9nZXRfc2V1c2VyX250aChzZW1hbmFnZV9oYW5kbGVfdCAqc2gsIHVuc2lnbmVk IGludCBpbmRleCkgeworICAgIGludCByZXN1bHQ7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKipy ZWNvcmRzOworICAgIHVuc2lnbmVkIGludCBjb3VudDsKKworICAgIHJlc3VsdCA9IHNlbWFuYWdl X3NldXNlcl9saXN0KHNoLCAmcmVjb3JkcywgJmNvdW50KTsKKyAgICBwcmludGYoInNlbWFuYWdl X3NldXNlcl9saXN0KCVwLCAlcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2gs ICh2b2lkICopICZyZWNvcmRzLCAodm9pZCAqKSAmY291bnQsIHJlc3VsdCk7CisgICAgCisgICAg aWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfbGlzdCIp OworICAgICAgICBleGl0KDIpOworICAgIH0KKworICAgIGlmIChjb3VudCA8IGluZGV4ICsgMSkK KyAgICAgICAgZXhpdCgyKTsKKworICAgIHJldHVybiByZWNvcmRzW2luZGV4XTsKK30KKworc2Vt YW5hZ2Vfc2V1c2VyX3QgKnRlc3RfZ2V0X3NldXNlcl9uZXcoc2VtYW5hZ2VfaGFuZGxlX3QgKnNo KSB7CisgICAgaW50IHJlc3VsdDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAqc2V1c2VyOworCisg ICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2NyZWF0ZShzaCwgJnNldXNlcik7CisgICAgcHJp bnRmKCJzZW1hbmFnZV9zZXVzZXJfY3JlYXRlKCVwLCAlcCk6ICVkXG4iLAorICAgICAgICAgICAo dm9pZCAqKSBzaCwgKHZvaWQgKikgc2V1c2VyLCByZXN1bHQpOworICAgIAorICAgIGlmIChyZXN1 bHQgPCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2NyZWF0ZSIpOworICAg ICAgICBleGl0KDIpOworICAgIH0KKworICAgIHJldHVybiBzZXVzZXI7Cit9CisKK3NlbWFuYWdl X3NldXNlcl90ICp0ZXN0X2dldF9zZXVzZXIoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoLCBjb25zdCBj aGFyICpwYXJhbSkgeworICAgIGlmIChzdHJjbXAocGFyYW0sICJuZXciKSA9PSAwKQorICAgICAg ICByZXR1cm4gdGVzdF9nZXRfc2V1c2VyX25ldyhzaCk7CisgICAgCisgICAgaWYgKHN0cmNtcChw YXJhbSwgImZpcnN0IikgPT0gMCkKKyAgICAgICAgcmV0dXJuIHRlc3RfZ2V0X3NldXNlcl9udGgo c2gsIDApOworCisgICAgaWYgKHN0cmNtcChwYXJhbSwgInNlY29uZCIpID09IDApCisgICAgICAg IHJldHVybiB0ZXN0X2dldF9zZXVzZXJfbnRoKHNoLCAxKTsKKworICAgIGZwcmludGYoc3RkZXJy LCAiVW5rbm93biBzZXVzZXIgXCIlc1wiIHNwZWNpZmllZFxuIiwgcGFyYW0pOworICAgIGV4aXQo Mik7Cit9CisKK3ZvaWQgdGVzdF9hZGRfbG9jYWxfc2V1c2VyKHNlbWFuYWdlX2hhbmRsZV90ICpz aCwgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcikgeworICAgIGludCByZXN1bHQ7CisgICAgc2Vt YW5hZ2Vfc2V1c2VyX2tleV90ICprZXk7CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJf a2V5X2V4dHJhY3Qoc2gsIHNldXNlciwgJmtleSk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVz ZXJfa2V5X2V4dHJhY3QoJXAsICVwLCAlcCk6ICVkXG4iLAorICAgICAgICAgICAodm9pZCAqKSBz aCwgKHZvaWQgKikgc2V1c2VyLCAodm9pZCAqKSAma2V5LCByZXN1bHQpOworCisgICAgaWYgKHJl c3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfa2V5X2V4dHJhY3Qi KTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVz ZXJfbW9kaWZ5X2xvY2FsKHNoLCBrZXksIHNldXNlcik7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9z ZXVzZXJfbW9kaWZ5X2xvY2FsKCVwLCAlcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQg Kikgc2V1c2VyLCAodm9pZCAqKSBrZXksICh2b2lkICopIHNldXNlciwgcmVzdWx0KTsKKworICAg IGlmIChyZXN1bHQgPCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX21vZGlm eV9sb2NhbCIpOworICAgICAgICBleGl0KDIpOworICAgIH0KK30KKwordm9pZCB0ZXN0X2RlbF9s b2NhbF9zZXVzZXIoc2VtYW5hZ2VfaGFuZGxlX3QgKnNoLCBzZW1hbmFnZV9zZXVzZXJfdCAqc2V1 c2VyKSB7CisgICAgaW50IHJlc3VsdDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X3QgKmtleTsK KworICAgIHJlc3VsdCA9IHNlbWFuYWdlX3NldXNlcl9rZXlfZXh0cmFjdChzaCwgc2V1c2VyLCAm a2V5KTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9rZXlfZXh0cmFjdCglcCwgJXAsICVw KTogJWRcbiIsCisgICAgICAgICAgICh2b2lkICopIHNoLCAodm9pZCAqKSBzZXVzZXIsICh2b2lk ICopICZrZXksIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJy b3IoInNlbWFuYWdlX3NldXNlcl9rZXlfZXh0cmFjdCIpOworICAgICAgICBleGl0KDIpOworICAg IH0KKworICAgIHJlc3VsdCA9IHNlbWFuYWdlX3NldXNlcl9kZWxfbG9jYWwoc2gsIGtleSk7Cisg ICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfZGVsX2xvY2FsKCVwLCAlcCk6ICVkXG4iLAorICAg ICAgICAgICAodm9pZCAqKSBzZXVzZXIsICh2b2lkICopIGtleSwgcmVzdWx0KTsKKworICAgIGlm IChyZXN1bHQgPCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2RlbF9sb2Nh bCIpOworICAgICAgICBleGl0KDIpOworICAgIH0KK30KKworI2RlZmluZSBTVEFURV9JTklUICAg ICAgMQorI2RlZmluZSBTVEFURV9IQU5ETEUgICAgMgorI2RlZmluZSBTVEFURV9DT05OICAgICAg MworI2RlZmluZSBTVEFURV9UUkFOUyAgICAgNAorCitpbnQgZ2V0X3N0YXRlKGNvbnN0IGNoYXIg KnN0YXRlX3N0cikgeworICAgIGlmIChzdHJjbXAoc3RhdGVfc3RyLCAiaW5pdCIpID09IDApCisg ICAgICAgIHJldHVybiBTVEFURV9JTklUOworICAgIGlmIChzdHJjbXAoc3RhdGVfc3RyLCAiaGFu ZGxlIikgPT0gMCkKKyAgICAgICAgcmV0dXJuIFNUQVRFX0hBTkRMRTsKKyAgICBpZiAoc3RyY21w KHN0YXRlX3N0ciwgImNvbm4iKSA9PSAwKQorICAgICAgICByZXR1cm4gU1RBVEVfQ09OTjsKKyAg ICBpZiAoc3RyY21wKHN0YXRlX3N0ciwgInRyYW5zIikgPT0gMCkKKyAgICAgICAgcmV0dXJuIFNU QVRFX1RSQU5TOworCisgICAgcmV0dXJuIDA7Cit9CisKK3NlbWFuYWdlX2hhbmRsZV90ICogZ2V0 X2hhbmRsZShjb25zdCBjaGFyICpzdGF0ZV9zdHIpIHsKKyAgICBpbnQgc3RhdGU7CisgICAgc2Vt YW5hZ2VfaGFuZGxlX3QgKnNoID0gTlVMTDsKKworICAgIHN0YXRlID0gZ2V0X3N0YXRlKHN0YXRl X3N0cik7CisKKyAgICBpZiAoc3RhdGUgPj0gU1RBVEVfSU5JVCkKKyAgICAgICAgc2ggPSBOVUxM OworCisgICAgaWYgKHN0YXRlID49IFNUQVRFX0hBTkRMRSkKKyAgICAgICAgc2ggPSB0ZXN0X2hh bmRsZV9jcmVhdGUoKTsKKworICAgIGlmIChzdGF0ZSA+PSBTVEFURV9DT05OKQorICAgICAgICB0 ZXN0X2Nvbm5lY3Qoc2gpOworCisgICAgaWYgKHN0YXRlID49IFNUQVRFX1RSQU5TKQorICAgICAg ICB0ZXN0X2JlZ2luX3RyYW5zYWN0aW9uKHNoKTsKKworICAgIHJldHVybiBzaDsKK30KKwordm9p ZCBkZXN0cm95X2hhbmRsZShzZW1hbmFnZV9oYW5kbGVfdCAqc2gsIGNvbnN0IGNoYXIgKnN0YXRl X3N0cikgeworICAgIGludCBzdGF0ZTsKKworICAgIHN0YXRlID0gZ2V0X3N0YXRlKHN0YXRlX3N0 cik7CisKKyAgICBpZiAoc3RhdGUgPj0gU1RBVEVfVFJBTlMpCisgICAgICAgIHRlc3RfY29tbWl0 KHNoKTsKKworICAgIGlmIChzdGF0ZSA+PSBTVEFURV9DT05OKQorICAgICAgICB0ZXN0X2Rpc2Nv bm5lY3Qoc2gpOworCisgICAgaWYgKHN0YXRlID49IFNUQVRFX0hBTkRMRSkgeworICAgICAgICBz ZW1hbmFnZV9oYW5kbGVfZGVzdHJveShzaCk7CisgICAgICAgIHByaW50Zigic2VtYW5hZ2VfaGFu ZGxlX2Rlc3Ryb3koJXApXG4iLCAodm9pZCAqKSBzaCk7CisgICAgfQorfQorCitpbnQgc3RyY21w X251bGwoY29uc3QgY2hhciAqc3RyMSwgY29uc3QgY2hhciAqc3RyMikgeworICAgIGlmIChzdHIx ID09IE5VTEwgJiYgc3RyMiA9PSBOVUxMKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChz dHIxID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHN0cmNtcChzdHIyLCAiTlVMTCIpID09IDApCisg ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcmV0dXJuIC0x OworICAgIH0KKworICAgIGlmIChzdHIyID09IE5VTEwpIHsKKyAgICAgICAgaWYgKHN0cmNtcChz dHIxLCAiTlVMTCIpID09IDApCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgZWxzZQor ICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgfQorCisgICAgcmV0dXJuIHN0cmNtcChzdHIxLCBz dHIyKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rp b25zL3J1bnRlc3Quc2ggYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3J1 bnRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTFiY2JiNwotLS0g L2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvcnVu dGVzdC5zaApAQCAtMCwwICsxLDI1NSBAQAorIyEvYmluL2Jhc2gKKyMgdmltOiBkaWN0Kz0vdXNy L3NoYXJlL2JlYWtlcmxpYi9kaWN0aW9uYXJ5LnZpbSBjcHQ9Lix3LGIsdSx0LGksaworIyB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgorIworIyAgIHJ1bnRlc3Quc2ggb2YgL0NvcmVPUy9saWJzZW1hbmFnZS9TYW5pdHkv c2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucworIyAgIERlc2NyaXB0aW9uOiBUZXN0IHNlbWFuYWdl X3NldXNlcl8qIGZ1bmN0aW9ucworIyAgIEF1dGhvcjogSmFuIFphcnNreSA8anphcnNreUByZWRo YXQuY29tPgorIworIyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorIworIyAgIENvcHlyaWdodCAoYykgMjAxNyBSZWQg SGF0LCBJbmMuCisjCisjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisjICAgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YKKyMgICB0aGUgTGlj ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgICBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlCisjICAg dXNlZnVsLCBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZAorIyAgIHdhcnJhbnR5IG9mIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIKKyMgICBQVVJQT1NFLiAgU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorIworIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjICAgYWxvbmcgd2l0aCB0aGlzIHBy b2dyYW0uIElmIG5vdCwgc2VlIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8uCisjCisjIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CisKKyMgSW5jbHVkZSBCZWFrZXIgZW52aXJvbm1lbnQKKy4gL3Vzci9iaW4vcmh0 cy1lbnZpcm9ubWVudC5zaCB8fCBleGl0IDEKKy4gL3Vzci9zaGFyZS9iZWFrZXJsaWIvYmVha2Vy bGliLnNoIHx8IGV4aXQgMQorCitQQUNLQUdFPSJsaWJzZW1hbmFnZSIKKworcmxKb3VybmFsU3Rh cnQKKyAgICBybFBoYXNlU3RhcnRTZXR1cAorICAgICAgICBybEFzc2VydFJwbSAke1BBQ0tBR0V9 CisgICAgICAgIHJsQXNzZXJ0UnBtICR7UEFDS0FHRX0tZGV2ZWwKKyAgICAgICAgcmxBc3NlcnRS cG0gImdsaWJjIgorICAgICAgICBybEFzc2VydFJwbSAiZ2NjIgorCisgICAgICAgIGZvciBmIGlu IHRlc3RfKi5jIDsgZG8gCisgICAgICAgICAgICBvdXQ9JChlY2hvIC1uICRmIHwgY3V0IC1kJy4n IC1mMSkKKyAgICAgICAgICAgIHJsUnVuICJnY2MgJGYgLW8gJG91dCAtbHNlbWFuYWdlIC1XYWxs IC1XZXh0cmEgLVdlcnJvciAtc3RkPWM5OSIKKyAgICAgICAgZG9uZQorCisgICAgICAgIFBPTElD WV9UWVBFPSIkKGdyZXAgLUUgJ15TRUxJTlVYVFlQRT0nIC9ldGMvc2VsaW51eC9jb25maWcgfCBj dXQgLWQnPScgLWYyIHwgdHIgJ1s6dXBwZXI6XScgJ1s6bG93ZXI6XScgfCB0ciAtZCAnICcpIgor CisgICAgICAgIGlmIHJsSXNGZWRvcmE7IHRoZW4KKyAgICAgICAgICAgIFNFVVNFUlNfUEFUSD0i L3Zhci9saWIvc2VsaW51eC8kUE9MSUNZX1RZUEUvYWN0aXZlL3NldXNlcnMiCisgICAgICAgIGVs aWYgcmxJc1JIRUwgJz49Nyc7IHRoZW4KKyAgICAgICAgICAgIFNFVVNFUlNfUEFUSD0iL2V0Yy9z ZWxpbnV4LyRQT0xJQ1lfVFlQRS9hY3RpdmUvc2V1c2VycyIKKyAgICAgICAgZWxzZQorICAgICAg ICAgICAgU0VVU0VSU19QQVRIPSIvZXRjL3NlbGludXgvJFBPTElDWV9UWVBFL3NldXNlcnMiCisg ICAgICAgIGZpCisKKyAgICAgICAgcmxSdW4gImNhdCAkU0VVU0VSU19QQVRIIgorCisgICAgICAg IFNFVVNFUlNfQ09VTlQ9IiQoY2F0ICRTRVVTRVJTX1BBVEggfCBncmVwIC12RSAnXiN8XiQnIHwg d2MgLWwpIgorICAgICAgICBybFJ1biAiW1sgXCIkU0VVU0VSU19DT1VOVFwiIC1ndCAwIF1dIgor CisgICAgICAgIFNFVVNFUlM9IiQoY2F0ICRTRVVTRVJTX1BBVEggfCBncmVwIC12RSAnXiN8XiQn IHwgY3V0IC1kJzonIC1mMSB8IHRyICdcbicgJyAnKSIKKyAgICAgICAgcmxSdW4gIltbIC1uIFwi JFNFVVNFUlNcIiBdXSIKKworICAgICAgICBmaXJzdF9saW5lPSIkKGNhdCAkU0VVU0VSU19QQVRI IHwgZ3JlcCAtdkUgJ14jfF4kJyB8IGhlYWQgLW4gMSkiCisgICAgICAgIFNFVVNFUj0iJChlY2hv IC1uICRmaXJzdF9saW5lIHwgY3V0IC1kJzonIC1mMSkiCisgICAgICAgIHJsUnVuICJbWyAtbiBc IiRTRVVTRVJcIiBdXSIKKyAgICAgICAgU0VVU0VSX1NFTkFNRT0iJChlY2hvIC1uICRmaXJzdF9s aW5lIHwgY3V0IC1kJzonIC1mMikiCisgICAgICAgIHJsUnVuICJbWyAtbiBcIiRTRVVTRVJfU0VO QU1FXCIgXV0iCisgICAgICAgIFNFVVNFUl9NTFNSQU5HRT0iJChlY2hvIC1uICRmaXJzdF9saW5l IHwgY3V0IC1kJzonIC1mMy00KSIKKyAgICAgICAgcmxSdW4gIltbIC1uIFwiJFNFVVNFUl9NTFNS QU5HRVwiIF1dIgorCisgICAgICAgIFNFVVNFUl9OT05FWElTVEVOVD0ibm9udXNlciIKKyAgICAg ICAgU0VVU0VSX0RFRkFVTFQ9Il9fZGVmYXVsdF9fIgorCisgICAgICAgIEVSUl9GQUlMPTEKKyAg ICAgICAgRVJSX0FCT1JUPTEzNAorICAgICAgICBFUlJfU0VHRkFVTFQ9MTM5CisKKyAgICAgICAg IyBub3RlOiBlYWNoIHRlc3RfKi5jIHByb2dyYW0gdGFrZXMgZmlyc3QgYXJndW1lbnQgd2hpY2gg c3BlY2lmaWVzIHNldHVwCisgICAgICAgICMgICAgICAgYmVmb3JlIGV4ZWN1dGluZyBzcGVjaWZp ZWQgZnVuY3Rpb24KKyAgICAgICAgIyAgICAgICBpbml0ICAgICAgc2VtYW5hZ2UgaGFuZGxlID09 IE5VTEwKKyAgICAgICAgIyAgICAgICBoYW5kbGUgICAgc2VtYW5hZ2UgaGFuZGxlIG9idGFpbmVk IHZpYSBzZW1hbmFnZV9oYW5kbGVfY3JlYXRlCisgICAgICAgICMgICAgICAgY29ubiAgICAgIGNv bm5lY3RlZCB2aWEgc2VtYW5hZ2VfY29ubmVjdAorICAgICAgICAjICAgICAgIHRyYW5zICAgICBp bnNpZGUgdHJhbnNhY3Rpb24sIHZpYSBzZW1hbmFnZV9iZWdpbl90cmFuc2FjdGlvbgorICAgICAg ICAjIHByb2dyYW0gcmV0dXJucyAxIG9uIGVycm9yIGluIGZ1bmN0aW9uLCAyIG9uIGVycm9yIGlu IHNldHVwCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0VGVzdCAic2VtYW5hZ2Vf c2V1c2VyX2tleV9jcmVhdGUsIHNlbWFuYWdlX3NldXNlcl9rZXlfZnJlZSIKKyAgICAgICAgIyBG SVhNRQorICAgICAgICAjIHJsUnVuICIuL3Rlc3Rfa2V5X2NyZWF0ZSBpbml0ICAgJFNFVVNFUiIg JEVSUl9BQk9SVCwkRVJSX1NFR0ZBVUxUCisgICAgICAgICMgcmxSdW4gIi4vdGVzdF9rZXlfY3Jl YXRlIGhhbmRsZSAkU0VVU0VSIiAkRVJSX0ZBSUwKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9rZXlf Y3JlYXRlIGNvbm4gICAkU0VVU0VSIgorICAgICAgICBybFJ1biAiLi90ZXN0X2tleV9jcmVhdGUg dHJhbnMgICRTRVVTRVIiCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0VGVzdCAi c2VtYW5hZ2Vfc2V1c2VyX2tleV9leHRyYWN0IgorICAgICAgICAjIEZJWE1FCisgICAgICAgICNy bFJ1biAiLi90ZXN0X2tleV9leHRyYWN0IGNvbm4gIG5ldyIKKyAgICAgICAgcmxSdW4gIi4vdGVz dF9rZXlfZXh0cmFjdCBjb25uICBmaXJzdCIKKyAgICAgICAgIyBGSVhNRQorICAgICAgICAjcmxS dW4gIi4vdGVzdF9rZXlfZXh0cmFjdCB0cmFucyBuZXciCisgICAgICAgIHJsUnVuICIuL3Rlc3Rf a2V5X2V4dHJhY3QgdHJhbnMgZmlyc3QiCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0 YXJ0VGVzdCAic2VtYW5hZ2Vfc2V1c2VyX2NvbXBhcmUiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rf Y29tcGFyZSBjb25uICAkU0VVU0VSICAgICAgICAgICAgIHNhbWUiCisgICAgICAgIHJsUnVuICIu L3Rlc3RfY29tcGFyZSBjb25uICAkU0VVU0VSX05PTkVYSVNURU5UIGRpZmZlcmVudCIKKyAgICAg ICAgcmxSdW4gIi4vdGVzdF9jb21wYXJlIHRyYW5zICRTRVVTRVIgICAgICAgICAgICAgc2FtZSIK KyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb21wYXJlIHRyYW5zICRTRVVTRVJfTk9ORVhJU1RFTlQg ZGlmZmVyZW50IgorICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFydFRlc3QgInNlbWFu YWdlX3NldXNlcl9jb21wYXJlMiIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb21wYXJlMiBjb25u ICBOVUxMIDAiICAgICRFUlJfQUJPUlQsJEVSUl9TRUdGQVVMVAorICAgICAgICBybFJ1biAiLi90 ZXN0X2NvbXBhcmUyIGNvbm4gIDAgICAgTlVMTCIgJEVSUl9BQk9SVCwkRVJSX1NFR0ZBVUxUCisg ICAgICAgIHJsUnVuICIuL3Rlc3RfY29tcGFyZTIgY29ubiAgTlVMTCBOVUxMIiAkRVJSX0FCT1JU LCRFUlJfU0VHRkFVTFQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb21wYXJlMiBjb25uICAwICAg IDAiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfY29tcGFyZTIgY29ubiAgMCAgICAxIgorICAgICAg ICBybFJ1biAiLi90ZXN0X2NvbXBhcmUyIHRyYW5zIE5VTEwgMCIgICAgJEVSUl9BQk9SVCwkRVJS X1NFR0ZBVUxUCisgICAgICAgIHJsUnVuICIuL3Rlc3RfY29tcGFyZTIgdHJhbnMgMCAgICBOVUxM IiAkRVJSX0FCT1JULCRFUlJfU0VHRkFVTFQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb21wYXJl MiB0cmFucyBOVUxMIE5VTEwiICRFUlJfQUJPUlQsJEVSUl9TRUdGQVVMVAorICAgICAgICBybFJ1 biAiLi90ZXN0X2NvbXBhcmUyIHRyYW5zIDAgICAgMCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9j b21wYXJlMiB0cmFucyAwICAgIDEiCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQaGFzZVN0YXJ0 VGVzdCAic2VtYW5hZ2Vfc2V1c2VyX2NvdW50IgorICAgICAgICBybFJ1biAiLi90ZXN0X2NvdW50 IGluaXQiICAgJEVSUl9BQk9SVCwkRVJSX1NFR0ZBVUxUCisgICAgICAgIHJsUnVuICIuL3Rlc3Rf Y291bnQgaGFuZGxlIiAkRVJSX0ZBSUwKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb3VudCBjb25u ICAkU0VVU0VSU19DT1VOVCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jb3VudCB0cmFucyAkU0VV U0VSU19DT1VOVCIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1h bmFnZV9zZXVzZXJfbGlzdCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9saXN0IGluaXQiICAgJEVS Ul9BQk9SVCwkRVJSX1NFR0ZBVUxUCisgICAgICAgIHJsUnVuICIuL3Rlc3RfbGlzdCBoYW5kbGUi ICRFUlJfRkFJTAorICAgICAgICBybFJ1biAiLi90ZXN0X2xpc3QgY29ubiAgJFNFVVNFUlNfQ09V TlQgJFNFVVNFUlMiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfbGlzdCB0cmFucyAkU0VVU0VSU19D T1VOVCAkU0VVU0VSUyIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJz ZW1hbmFnZV9zZXVzZXJfaXRlcmF0ZSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9pdGVyYXRlIGlu aXQiICAgJEVSUl9BQk9SVCwkRVJSX1NFR0ZBVUxUCisgICAgICAgIHJsUnVuICIuL3Rlc3RfaXRl cmF0ZSBoYW5kbGUiICRFUlJfRkFJTAorICAgICAgICBybFJ1biAiLi90ZXN0X2l0ZXJhdGUgY29u biAgJFNFVVNFUlMiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfaXRlcmF0ZSB0cmFucyAkU0VVU0VS UyIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9zZXVz ZXJfZXhpc3RzIgorICAgICAgICBybFJ1biAiLi90ZXN0X2V4aXN0cyBjb25uICAkU0VVU0VSX05P TkVYSVNURU5UIDAiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfZXhpc3RzIGNvbm4gICRTRVVTRVJf REVGQVVMVCAgICAgMSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9leGlzdHMgY29ubiAgJFVTRVIg ICAgICAgICAgICAgICAxIgorICAgICAgICBybFJ1biAiLi90ZXN0X2V4aXN0cyB0cmFucyAkU0VV U0VSX05PTkVYSVNURU5UIDAiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfZXhpc3RzIHRyYW5zICRT RVVTRVJfREVGQVVMVCAgICAgMSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9leGlzdHMgdHJhbnMg JFNFVVNFUiAgICAgICAgICAgICAxIgorICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFy dFRlc3QgInNlbWFuYWdlX3NldXNlcl9xdWVyeSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9xdWVy eSBjb25uICAkU0VVU0VSX05PTkVYSVNURU5UIiAkRVJSX0ZBSUwKKyAgICAgICAgcmxSdW4gIi4v dGVzdF9xdWVyeSBjb25uICAkU0VVU0VSX0RFRkFVTFQiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rf cXVlcnkgY29ubiAgJFNFVVNFUiIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9xdWVyeSB0cmFucyAk U0VVU0VSX05PTkVYSVNURU5UIiAkRVJSX0ZBSUwKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9xdWVy eSB0cmFucyAkU0VVU0VSX0RFRkFVTFQiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfcXVlcnkgdHJh bnMgJFNFVVNFUiIKKyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1h bmFnZV9zZXVzZXJfZ2V0X25hbWUiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfZ2V0X25hbWUgY29u biAgbmV3ICAgTlVMTCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9nZXRfbmFtZSBjb25uICBmaXJz dCAkU0VVU0VSIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9uYW1lIHRyYW5zIG5ldyAgIE5V TEwiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfZ2V0X25hbWUgdHJhbnMgZmlyc3QgJFNFVVNFUiIK KyAgICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9zZXVzZXJf c2V0X25hbWUiCisgICAgICAgIG5hbWU9InNvbWV1c2VyIgorICAgICAgICBybFJ1biAiLi90ZXN0 X3NldF9uYW1lIGNvbm4gICRuYW1lIgorICAgICAgICBybFJ1biAiLi90ZXN0X3NldF9uYW1lIHRy YW5zICRuYW1lIgorICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFydFRlc3QgInNlbWFu YWdlX3NldXNlcl9nZXRfc2VuYW1lIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9zZW5hbWUg Y29ubiAgbmV3ICAgTlVMTCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9nZXRfc2VuYW1lIGNvbm4g IGZpcnN0ICRTRVVTRVJfU0VOQU1FIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9zZW5hbWUg dHJhbnMgbmV3ICAgTlVMTCIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9nZXRfc2VuYW1lIHRyYW5z IGZpcnN0ICRTRVVTRVJfU0VOQU1FIgorICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFy dFRlc3QgInNlbWFuYWdlX3NldXNlcl9zZXRfc2VuYW1lIgorICAgICAgICBzZW5hbWU9InNvbWV1 c2VyX3UiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rfc2V0X3NlbmFtZSBjb25uICAkc2VuYW1lIgor ICAgICAgICBybFJ1biAiLi90ZXN0X3NldF9zZW5hbWUgdHJhbnMgJHNlbmFtZSIKKyAgICBybFBo YXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9zZXVzZXJfZ2V0X21sc3Jh bmdlIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9tbHNyYW5nZSBjb25uICBuZXcgICBOVUxM IgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9tbHNyYW5nZSBjb25uICBmaXJzdCAkU0VVU0VS X01MU1JBTkdFIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9tbHNyYW5nZSB0cmFucyBuZXcg ICBOVUxMIgorICAgICAgICBybFJ1biAiLi90ZXN0X2dldF9tbHNyYW5nZSB0cmFucyBmaXJzdCAk U0VVU0VSX01MU1JBTkdFIgorICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFydFRlc3Qg InNlbWFuYWdlX3NldXNlcl9zZXRfbWxzcmFuZ2UiCisgICAgICAgIG1sc3JhbmdlPSJjMC1zMTpj MC5jNDIiCisgICAgICAgIHJsUnVuICIuL3Rlc3Rfc2V0X21sc3JhbmdlIGNvbm4gICRtbHNyYW5n ZSIKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9zZXRfbWxzcmFuZ2UgdHJhbnMgJG1sc3JhbmdlIgor ICAgIHJsUGhhc2VFbmQKKworICAgIHJsUGhhc2VTdGFydFRlc3QgInNlbWFuYWdlX3NldXNlcl9j bG9uZSIKKyAgICAgICAgIyBGSVhNRQorICAgICAgICAjcmxSdW4gIi4vdGVzdF9jbG9uZSBjb25u ICBuZXciCisgICAgICAgIHJsUnVuICIuL3Rlc3RfY2xvbmUgY29ubiAgZmlyc3QiCisgICAgICAg ICMgRklYTUUKKyAgICAgICAgI3JsUnVuICIuL3Rlc3RfY2xvbmUgdHJhbnMgbmV3IgorICAgICAg ICBybFJ1biAiLi90ZXN0X2Nsb25lIHRyYW5zIGZpcnN0IgorICAgIHJsUGhhc2VFbmQKKworICAg IHJsUGhhc2VTdGFydFRlc3QgInNlbWFuYWdlX3NldXNlcl9jcmVhdGUiCisgICAgICAgICMgRklY TUUKKyAgICAgICAgI3JsUnVuICIuL3Rlc3RfY3JlYXRlIGluaXQiICRFUlJfQUJPUlQsJEVSUl9T RUdGQVVMVAorICAgICAgICAjcmxSdW4gIi4vdGVzdF9jcmVhdGUgaGFuZGxlIiAkRVJSX0FCT1JU LCRFUlJfU0VHRkFVTFQKKyAgICAgICAgcmxSdW4gIi4vdGVzdF9jcmVhdGUgY29ubiIKKyAgICAg ICAgcmxSdW4gIi4vdGVzdF9jcmVhdGUgdHJhbnMiCisgICAgcmxQaGFzZUVuZAorCisgICAgcmxQ aGFzZVN0YXJ0VGVzdCAic2VtYW5hZ2Vfc2V1c2VyX21vZGlmeV9sb2NhbCIKKyAgICAgICAgIyBm dW5jdGlvbiByZXF1aXJlcyB0cmFuc2FjdGlvbgorICAgICAgICAjcmxSdW4gIi4vdGVzdF9tb2Rp ZnlfbG9jYWwgY29ubiAgbmV3IiAgICRFUlJfRkFJTAorICAgICAgICAjcmxSdW4gIi4vdGVzdF9t b2RpZnlfbG9jYWwgY29ubiAgZmlyc3QiICRFUlJfRkFJTAorICAgICAgICAjcmxSdW4gIi4vdGVz dF9tb2RpZnlfbG9jYWwgdHJhbnMgbmV3IiAgICRFUlJfRkFJTAorICAgICAgICBybFJ1biAiLi90 ZXN0X21vZGlmeV9sb2NhbCB0cmFucyBmaXJzdCIKKyAgICBybFBoYXNlRW5kCisgICAgCisgICAg cmxQaGFzZVN0YXJ0VGVzdCAic2VtYW5hZ2Vfc2V1c2VyX2RlbF9sb2NhbCIKKyAgICAgICAgIyBh ZGRpbmcgbG9jYWwgc2V1c2VyIHJlcXVpcmVzIHRyYW5zYWN0aW9uCisgICAgICAgICMgRklYTUUK KyAgICAgICAgI3JsUnVuICIuL3Rlc3RfZGVsX2xvY2FsIHRyYW5zIGZpcnN0IG5ldyIKKyAgICAg ICAgI3JsUnVuICIuL3Rlc3RfZGVsX2xvY2FsIHRyYW5zIGZpcnN0IHNlY29uZCIKKyAgICAgICAg cmxSdW4gIi4vdGVzdF9kZWxfbG9jYWwgdHJhbnMgZmlyc3QgZmlyc3QiCisgICAgcmxQaGFzZUVu ZAorCisgICAgcmxQaGFzZVN0YXJ0VGVzdCAic2VtYW5hZ2Vfc2V1c2VyX2V4aXN0c19sb2NhbCIK KyAgICAgICAgIyBhZGRpbmcgbG9jYWwgc2V1c2VyIHJlcXVpcmVzIHRyYW5zYWN0aW9uCisgICAg ICAgIHJsUnVuICIuL3Rlc3RfZXhpc3RzX2xvY2FsIHRyYW5zIGZpcnN0IGZpcnN0ICAxIgorICAg ICAgICBybFJ1biAiLi90ZXN0X2V4aXN0c19sb2NhbCB0cmFucyBmaXJzdCBzZWNvbmQgMCIKKyAg ICBybFBoYXNlRW5kCisKKyAgICBybFBoYXNlU3RhcnRUZXN0ICJzZW1hbmFnZV9zZXVzZXJfY291 bnRfbG9jYWwiCisgICAgICAgICMgYWRkaW5nIGxvY2FsIHNldXNlciByZXF1aXJlcyB0cmFuc2Fj dGlvbgorICAgICAgICAjIEZJWE1FCisgICAgICAgICNybFJ1biAiLi90ZXN0X2NvdW50X2xvY2Fs IHRyYW5zIDAiCisgICAgICAgIHJsUnVuICIuL3Rlc3RfY291bnRfbG9jYWwgdHJhbnMgMSIKKyAg ICAgICAgcmxSdW4gIi4vdGVzdF9jb3VudF9sb2NhbCB0cmFucyAyIgorICAgIHJsUGhhc2VFbmQK KworICAgIHJsUGhhc2VTdGFydENsZWFudXAKKyAgICAgICAgdGVzdGZpbGVzPSIkKGxzIC0xIHRl c3RfKiB8IGdyZXAgLXYgJ1wuYycgfCB0ciAnXG4nICcgJykiCisgICAgICAgIHJsUnVuICJybSAt ZiAkdGVzdGZpbGVzIgorICAgIHJsUGhhc2VFbmQKK3JsSm91cm5hbFByaW50VGV4dAorcmxKb3Vy bmFsRW5kCgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9u cy90ZXN0X2Nsb25lLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rl c3RfY2xvbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzI1NTRmCi0t LSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90 ZXN0X2Nsb25lLmMKQEAgLTAsMCArMSw2MCBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk ZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNp bmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisK K2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVf dCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcjsKKyAgICBzZW1hbmFnZV9zZXVz ZXJfdCAqc2V1c2VyX2Nsb25lOworICAgIGludCByZXN1bHQ7CisgICAgY29uc3QgY2hhciAqc3Ry OworICAgIGNvbnN0IGNoYXIgKnN0cl9jbG9uZTsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDMpCisg ICAgICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisg ICAgc2V1c2VyID0gdGVzdF9nZXRfc2V1c2VyKHNoLCBhcmd2WzJdKTsKKworICAgIHJlc3VsdCA9 IHNlbWFuYWdlX3NldXNlcl9jbG9uZShzaCwgc2V1c2VyLCAmc2V1c2VyX2Nsb25lKTsKKyAgICBw cmludGYoInNlbWFuYWdlX3NldXNlcl9jbG9uZSglcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAg KHZvaWQgKikgc2V1c2VyLCAodm9pZCAqKSBzZXVzZXJfY2xvbmUsIHJlc3VsdCk7CisKKyAgICBp ZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9jbG9uZSIp OworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIHN0ciA9IHNlbWFuYWdlX3NldXNlcl9n ZXRfbmFtZShzZXVzZXIpOworICAgIHN0cl9jbG9uZSA9IHNlbWFuYWdlX3NldXNlcl9nZXRfbmFt ZShzZXVzZXJfY2xvbmUpOworCisgICAgaWYgKHN0cmNtcChzdHIsIHN0cl9jbG9uZSkgIT0gMCkg eworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkRpZmZlcmVudCBpbiBnZXRfbmFtZVxuIik7Cisg ICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgc3RyID0gc2VtYW5hZ2Vfc2V1c2VyX2dldF9z ZW5hbWUoc2V1c2VyKTsKKyAgICBzdHJfY2xvbmUgPSBzZW1hbmFnZV9zZXVzZXJfZ2V0X3NlbmFt ZShzZXVzZXJfY2xvbmUpOworCisgICAgaWYgKHN0cmNtcChzdHIsIHN0cl9jbG9uZSkgIT0gMCkg eworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkRpZmZlcmVudCBpbiBnZXRfc2VuYW1lXG4iKTsK KyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBzdHIgPSBzZW1hbmFnZV9zZXVzZXJfZ2V0 X21sc3JhbmdlKHNldXNlcik7CisgICAgc3RyX2Nsb25lID0gc2VtYW5hZ2Vfc2V1c2VyX2dldF9t bHNyYW5nZShzZXVzZXJfY2xvbmUpOworCisgICAgaWYgKHN0cmNtcChzdHIsIHN0cl9jbG9uZSkg IT0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVyciwgIkRpZmZlcmVudCBpbiBnZXRfbWxzcmFu Z2VcbiIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGRlc3Ryb3lfaGFuZGxlKHNo LCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uv c2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NvbXBhcmUuYyBiL2xpYnNlbWFuYWdlL3Nl bWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9jb21wYXJlLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNTYxNTQ2MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdl L3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9jb21wYXJlLmMKQEAgLTAsMCArMSw0NCBA QAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3Ry aW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5o PgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAq KmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2Vy X3QgKnNldXNlcjsKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X3QgKmtleTsKKyAgICBpbnQgcmVz dWx0OworICAgIAorICAgIGlmIChhcmdjIDwgMykKKyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAg ICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICBzZXVzZXIgPSB0ZXN0X2dldF9zZXVz ZXIoc2gsICJmaXJzdCIpOworCisgICAga2V5ID0gdGVzdF9nZXRfa2V5KHNoLCBhcmd2WzJdKTsK KworICAgIHJlc3VsdCA9IHNlbWFuYWdlX3NldXNlcl9jb21wYXJlKHNldXNlciwga2V5KTsKKyAg ICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9jb21wYXJlKCVwLCAlcCk6ICVkXG4iLAorICAgICAg ICAgICAodm9pZCAqKSBzZXVzZXIsICh2b2lkICopIGtleSwgcmVzdWx0KTsKKworICAgIGlmIChh cmdjID49IDQpIHsKKyAgICAgICAgaWYgKHN0cmNtcChhcmd2WzNdLCAic2FtZSIpID09IDAgJiYg cmVzdWx0ICE9IDApIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXhwZWN0ZWQgc2Ft ZSBidXQgZ290IGRpZmZlcmVudFxuIik7CisgICAgICAgICAgICBleGl0KDEpOworICAgICAgICB9 CisgICAgICAgIGVsc2UgaWYgKHN0cmNtcChhcmd2WzNdLCAiZGlmZmVyZW50IikgPT0gMCAmJiBy ZXN1bHQgPT0gMCkgeworICAgICAgICAgICAgZnByaW50ZihzdGRlcnIsICJFeHBlY3RlZCBkaWZm ZXJlbnQgYnV0IGdvdCBzYW1lXG4iKTsKKyAgICAgICAgICAgIGV4aXQoMSk7CisgICAgICAgIH0K KyAgICB9CisKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X2ZyZWUoa2V5KTsKKworICAgIGRlc3Ry b3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEv bGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NvbXBhcmUyLmMgYi9s aWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3RfY29tcGFyZTIuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmVlYzA3Ci0tLSAvZGV2L251bGwKKysr IGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NvbXBhcmUyLmMK QEAgLTAsMCArMSw1NCBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+ CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1h bmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChp bnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAg c2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcjsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAqc2V1c2Vy MjsKKyAgICBpbnQgcmVzdWx0OworICAgIGludCBmaXJzdCA9IC0xOworICAgIGludCBzZWNvbmQg PSAtMTsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDQpCisgICAgICAgIGV4aXQoMik7CisgICAgCisg ICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAgaWYgKHN0cmNtcChhcmd2WzJdLCAi TlVMTCIpID09IDApIHsKKyAgICAgICAgc2V1c2VyID0gTlVMTDsKKyAgICB9CisgICAgZWxzZSB7 CisgICAgICAgIGZpcnN0ID0gc3RydG9sKGFyZ3ZbMl0sIE5VTEwsIDEwKTsKKyAgICAgICAgc2V1 c2VyID0gdGVzdF9nZXRfc2V1c2VyX250aChzaCwgZmlyc3QpOworICAgIH0KKworICAgIGlmIChz dHJjbXAoYXJndlszXSwgIk5VTEwiKSA9PSAwKSB7CisgICAgICAgIHNldXNlcjIgPSBOVUxMOwor ICAgIH0KKyAgICBlbHNlIHsKKyAgICAgICAgc2Vjb25kID0gc3RydG9sKGFyZ3ZbM10sIE5VTEws IDEwKTsKKyAgICAgICAgc2V1c2VyMiA9IHRlc3RfZ2V0X3NldXNlcl9udGgoc2gsIHNlY29uZCk7 CisgICAgfQorCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2NvbXBhcmUyKHNldXNlciwg c2V1c2VyMik7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfY29tcGFyZSglcCwgJXApOiAl ZFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2V1c2VyLCAodm9pZCAqKSBzZXVzZXIyLCByZXN1 bHQpOworCisgICAgaWYgKGZpcnN0ID09IHNlY29uZCAmJiByZXN1bHQgIT0gMCkgeworICAgICAg ICBmcHJpbnRmKHN0ZGVyciwgIkV4cGVjdGVkIHNhbWUgYnV0IGdvdCBkaWZmZXJlbnRcbiIpOwor ICAgICAgICBleGl0KDEpOworICAgIH0KKyAgICBlbHNlIGlmIChmaXJzdCAhPSBzZWNvbmQgJiYg cmVzdWx0ID09IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJFeHBlY3RlZCBkaWZmZXJl bnQgYnV0IGdvdCBzYW1lXG4iKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBkZXN0 cm95X2hhbmRsZShzaCwgYXJndlsxXSk7CisKKyAgICBleGl0KDApOworfQoKZGlmZiAtLWdpdCBh L2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9jb3VudC5jIGIvbGli c2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NvdW50LmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZhYmU0YgotLS0gL2Rldi9udWxsCisrKyBiL2xp YnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9jb3VudC5jCkBAIC0wLDAg KzEsMzQgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1 ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2VtYW5hZ2Uvc2Vt YW5hZ2UuaD4KKworI2luY2x1ZGUgImZ1bmN0aW9ucy5jIgorCitpbnQgbWFpbiAoaW50IGFyZ2Ms IGNoYXIgKiphcmd2KSB7CisgICAgc2VtYW5hZ2VfaGFuZGxlX3QgKnNoOworICAgIHVuc2lnbmVk IGludCByZXNwb25zZTsKKyAgICBpbnQgcmVzdWx0OworICAgIAorICAgIGlmIChhcmdjIDwgMikK KyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisK KyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJfY291bnQoc2gsICZyZXNwb25zZSk7CisgICAg cHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfY291bnQoJXAsICVwKTogJWQsIHJlc3BvbnNlOiAldVxu IiwKKyAgICAgICAgICAgKHZvaWQgKikgc2gsICh2b2lkICopICZyZXNwb25zZSwgcmVzdWx0LCBy ZXNwb25zZSk7CisgICAgCisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJz ZW1hbmFnZV9zZXVzZXJfY291bnQiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBp ZiAoYXJnYyA+PSAzKQorICAgICAgICBjaGVja19yZXN1bHRfaW50KGFyZ3ZbMl0sIHJlc3BvbnNl KTsKKworICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9 CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0 X2NvdW50X2xvY2FsLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rl c3RfY291bnRfbG9jYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjVh YjZkCi0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0 aW9ucy90ZXN0X2NvdW50X2xvY2FsLmMKQEAgLTAsMCArMSw0NiBAQAorI2luY2x1ZGUgPHN0ZGlv Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8 ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVu Y3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1h bmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcjsKKyAgICBp bnQgcmVzdWx0OworICAgIHVuc2lnbmVkIGludCByZXNwb25zZTsKKyAgICBpbnQgbnVtOworICAg IAorICAgIGlmIChhcmdjIDwgMikKKyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBzaCA9IGdl dF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICBudW0gPSBzdHJ0b2woYXJndlsyXSwgTlVMTCwgMTAp OworCisgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW07IGkrKykgeworICAgICAgICBzZXVzZXIg PSB0ZXN0X2dldF9zZXVzZXJfbnRoKHNoLCBpKTsKKworICAgICAgICB0ZXN0X2FkZF9sb2NhbF9z ZXVzZXIoc2gsIHNldXNlcik7CisgICAgfQorCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2Vy X2NvdW50X2xvY2FsKHNoLCAmcmVzcG9uc2UpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2Vy X2NvdW50X2xvY2FsKCVwLCAlcCk6ICVkLCByZXNwb25zZTogJWRcbiIsCisgICAgICAgICAgICh2 b2lkICopIHNoLCAodm9pZCAqKSAmcmVzcG9uc2UsIHJlc3VsdCwgcmVzcG9uc2UpOworCisgICAg aWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfY291bnRf bG9jYWwiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBpZiAoYXJnYyA+PSAzKQor ICAgICAgICBjaGVja19yZXN1bHRfaW50KGFyZ3ZbMl0sIHJlc3BvbnNlKTsKKworICAgIHRlc3Rf ZGVsX2xvY2FsX3NldXNlcihzaCwgc2V1c2VyKTsKKworICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBh cmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2Vt YW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NyZWF0ZS5jIGIvbGlic2VtYW5hZ2Uvc2VtYW5h Z2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2NyZWF0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmE1MTkxYTAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1h bmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3RfY3JlYXRlLmMKQEAgLTAsMCArMSw1MyBAQAorI2lu Y2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+ CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisj aW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3Yp IHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNl dXNlcjsKKyAgICBpbnQgcmVzdWx0OworICAgIGNvbnN0IGNoYXIgKnN0cjsKKyAgICAKKyAgICBp ZiAoYXJnYyA8IDIpCisgICAgICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxl KGFyZ3ZbMV0pOworCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2NyZWF0ZShzaCwgJnNl dXNlcik7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfY3JlYXRlKCVwLCAlcCk6ICVkXG4i LAorICAgICAgICAgICAodm9pZCAqKSBzaCwgKHZvaWQgKikgc2V1c2VyLCByZXN1bHQpOworCisg ICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfY3Jl YXRlIik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgc3RyID0gc2VtYW5hZ2Vfc2V1 c2VyX2dldF9uYW1lKHNldXNlcik7CisKKyAgICBpZiAoc3RyICE9IE5VTEwpIHsKKyAgICAgICAg ZnByaW50ZihzdGRlcnIsICJFeHBlY3RlZCBuYW1lID09IE5VTEwsIGdvdCAlc1xuIiwgc3RyKTsK KyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBzdHIgPSBzZW1hbmFnZV9zZXVzZXJfZ2V0 X3NlbmFtZShzZXVzZXIpOworCisgICAgaWYgKHN0ciAhPSBOVUxMKSB7CisgICAgICAgIGZwcmlu dGYoc3RkZXJyLCAiRXhwZWN0ZWQgc2VuYW1lID09IE5VTEwsIGdvdCAlc1xuIiwgc3RyKTsKKyAg ICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBzdHIgPSBzZW1hbmFnZV9zZXVzZXJfZ2V0X21s c3JhbmdlKHNldXNlcik7CisKKyAgICBpZiAoc3RyICE9IE5VTEwpIHsKKyAgICAgICAgZnByaW50 ZihzdGRlcnIsICJFeHBlY3RlZCBtbHNyYW5nZSA9PSBOVUxMLCBnb3QgJXNcbiIsIHN0cik7Cisg ICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0p OworCisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1z ZXVzZXItZnVuY3Rpb25zL3Rlc3RfZGVsX2xvY2FsLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1z ZXVzZXItZnVuY3Rpb25zL3Rlc3RfZGVsX2xvY2FsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZWNlZDc0YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFu YWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9kZWxfbG9jYWwuYwpAQCAtMCwwICsxLDY0IEBACisj aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcu aD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisK KyNpbmNsdWRlICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJn dikgeworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAq c2V1c2VyOworICAgIHNlbWFuYWdlX3NldXNlcl90ICpzZXVzZXJfZGVsOworICAgIHNlbWFuYWdl X3NldXNlcl9rZXlfdCAqa2V5OworICAgIHNlbWFuYWdlX3NldXNlcl90ICoqcmVjb3JkczsKKyAg ICBpbnQgcmVzdWx0OworICAgIHVuc2lnbmVkIGludCBjb3VudDsKKyAgICAKKyAgICBpZiAoYXJn YyA8IDQpCisgICAgICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3Zb MV0pOworCisgICAgc2V1c2VyID0gdGVzdF9nZXRfc2V1c2VyKHNoLCBhcmd2WzJdKTsKKworICAg IHRlc3RfYWRkX2xvY2FsX3NldXNlcihzaCwgc2V1c2VyKTsKKworICAgIHNldXNlcl9kZWwgPSB0 ZXN0X2dldF9zZXVzZXIoc2gsIGFyZ3ZbM10pOworCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1 c2VyX2tleV9leHRyYWN0KHNoLCBzZXVzZXJfZGVsLCAma2V5KTsKKyAgICBwcmludGYoInNlbWFu YWdlX3NldXNlcl9rZXlfZXh0cmFjdCglcCwgJXAsICVwKTogJWRcbiIsCisgICAgICAgICAgICh2 b2lkICopIHNoLCAodm9pZCAqKSBzZXVzZXJfZGVsLCAodm9pZCAqKSAma2V5LCByZXN1bHQpOwor CisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJf a2V5X2V4dHJhY3QiKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBz ZW1hbmFnZV9zZXVzZXJfZGVsX2xvY2FsKHNoLCBrZXkpOworICAgIHByaW50Zigic2VtYW5hZ2Vf c2V1c2VyX2RlbF9sb2NhbCglcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2V1 c2VyLCAodm9pZCAqKSBrZXksIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0IDwgMCkgeworICAg ICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9kZWxfbG9jYWwiKTsKKyAgICAgICAgZXhpdCgx KTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJfbGlzdF9sb2NhbChzaCwg JnJlY29yZHMsICZjb3VudCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfbGlzdF9sb2Nh bCglcCwgJXAsICVwKTogJWRcbiIsCisgICAgICAgICAgICh2b2lkICopIHNoLCAodm9pZCAqKSAm cmVjb3JkcywgKHZvaWQgKikgJmNvdW50LCByZXN1bHQpOworICAgIAorICAgIGlmIChyZXN1bHQg PCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2xpc3RfbG9jYWwiKTsKKyAg ICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICBpZiAoY291bnQgIT0gMCkgeworICAgICAgICBm cHJpbnRmKHN0ZGVyciwgIk51bWJlciBvZiBsb2NhbCBzZXVzZXJzIGlzIG5vdCAwIVxuIik7Cisg ICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0p OworCisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1z ZXVzZXItZnVuY3Rpb25zL3Rlc3RfZXhpc3RzLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVz ZXItZnVuY3Rpb25zL3Rlc3RfZXhpc3RzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uYzBhZjNiMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNl dXNlci1mdW5jdGlvbnMvdGVzdF9leGlzdHMuYwpAQCAtMCwwICsxLDM3IEBACisjaW5jbHVkZSA8 c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNs dWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRl ICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAg IHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X3QgKmtleTsK KyAgICBpbnQgcmVzdWx0OworICAgIGludCByZXNwb25zZTsKKyAgICAKKyAgICBpZiAoYXJnYyA8 IDMpCisgICAgICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0p OworCisgICAga2V5ID0gdGVzdF9nZXRfa2V5KHNoLCBhcmd2WzJdKTsKKworICAgIHJlc3VsdCA9 IHNlbWFuYWdlX3NldXNlcl9leGlzdHMoc2gsIGtleSwgJnJlc3BvbnNlKTsKKyAgICBwcmludGYo InNlbWFuYWdlX3NldXNlcl9leGlzdHMoJXAsICVwLCAlcCk6ICVkLCByZXNwb25zZTogJWRcbiIs CisgICAgICAgICAgICh2b2lkICopIHNoLCAodm9pZCAqKSBrZXksICh2b2lkICopICZyZXNwb25z ZSwgcmVzdWx0LCByZXNwb25zZSk7CisgICAgCisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAg ICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfZXhpc3RzIik7CisgICAgICAgIGV4aXQoMSk7Cisg ICAgfQorCisgICAgaWYgKGFyZ2MgPj0gNCkKKyAgICAgICAgY2hlY2tfcmVzdWx0X2ludChhcmd2 WzNdLCByZXNwb25zZSk7CisKKyAgICBkZXN0cm95X2hhbmRsZShzaCwgYXJndlsxXSk7CisKKyAg ICBleGl0KDApOworfQoKZGlmZiAtLWdpdCBhL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1m dW5jdGlvbnMvdGVzdF9leGlzdHNfbG9jYWwuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNl ci1mdW5jdGlvbnMvdGVzdF9leGlzdHNfbG9jYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi4xNjVkNWIzCi0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5h Z2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2V4aXN0c19sb2NhbC5jCkBAIC0wLDAgKzEsNTkgQEAK KyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmlu Zy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2VtYW5hZ2Uvc2VtYW5hZ2UuaD4K KworI2luY2x1ZGUgImZ1bmN0aW9ucy5jIgorCitpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiph cmd2KSB7CisgICAgc2VtYW5hZ2VfaGFuZGxlX3QgKnNoOworICAgIHNlbWFuYWdlX3NldXNlcl90 ICpzZXVzZXI7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcl9leGlzdHM7CisgICAgc2Vt YW5hZ2Vfc2V1c2VyX2tleV90ICprZXk7CisgICAgaW50IHJlc3VsdDsKKyAgICBpbnQgcmVzcG9u c2U7CisgICAgaW50IGV4cDsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDQpCisgICAgICAgIGV4aXQo Mik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAgc2V1c2VyID0g dGVzdF9nZXRfc2V1c2VyKHNoLCBhcmd2WzJdKTsKKyAgICBzZXVzZXJfZXhpc3RzID0gdGVzdF9n ZXRfc2V1c2VyKHNoLCBhcmd2WzNdKTsKKworICAgIHRlc3RfYWRkX2xvY2FsX3NldXNlcihzaCwg c2V1c2VyKTsKKworICAgIHJlc3VsdCA9IHNlbWFuYWdlX3NldXNlcl9rZXlfZXh0cmFjdChzaCwg c2V1c2VyX2V4aXN0cywgJmtleSk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfa2V5X2V4 dHJhY3QoJXAsICVwLCAlcCk6ICVkXG4iLAorICAgICAgICAgICAodm9pZCAqKSBzaCwgKHZvaWQg Kikgc2V1c2VyX2V4aXN0cywgKHZvaWQgKikgJmtleSwgcmVzdWx0KTsgCisgICAgaWYgKHJlc3Vs dCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfa2V5X2V4dHJhY3QiKTsK KyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJf ZXhpc3RzX2xvY2FsKHNoLCBrZXksICZyZXNwb25zZSk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9z ZXVzZXJfZXhpc3RzX2xvY2FsKCVwLCAlcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQg Kikgc2gsICh2b2lkICopIGtleSwgKHZvaWQgKikgJnJlc3BvbnNlLCByZXN1bHQpOworCisgICAg aWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfZXhpc3Rz X2xvY2FsIik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgaWYgKGFyZ2MgPj0gNSkg eworICAgICAgICBleHAgPSBzdHJ0b2woYXJndls0XSwgTlVMTCwgMTApOworCisgICAgICAgIGlm IChyZXNwb25zZSAhPSBleHApIHsKKyAgICAgICAgICAgIGZwcmludGYoc3RkZXJyLCAiRXhwZWN0 ZWQgJWQgYnV0IGdvdCAlZFxuIiwgZXhwLCByZXNwb25zZSk7CisgICAgICAgICAgICBleGl0KDEp OworICAgICAgICB9CisgICAgfQorCisgICAgdGVzdF9kZWxfbG9jYWxfc2V1c2VyKHNoLCBzZXVz ZXIpOworCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOworCisgICAgZXhpdCgwKTsK K30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rl c3RfZ2V0X21sc3JhbmdlLmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25z L3Rlc3RfZ2V0X21sc3JhbmdlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u OTcxNzJkYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1m dW5jdGlvbnMvdGVzdF9nZXRfbWxzcmFuZ2UuYwpAQCAtMCwwICsxLDMyIEBACisjaW5jbHVkZSA8 c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNs dWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRl ICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAg IHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAqc2V1c2VyOwor ICAgIAorICAgIGlmIChhcmdjIDwgNCkKKyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBzaCA9 IGdldF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICBzZXVzZXIgPSB0ZXN0X2dldF9zZXVzZXIoc2gs IGFyZ3ZbMl0pOworCisgICAgY29uc3QgY2hhciAqbmFtZSA9IHNlbWFuYWdlX3NldXNlcl9nZXRf bWxzcmFuZ2Uoc2V1c2VyKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfbWxzcmFu Z2UoJXApOiAlc1xuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2V1c2VyLCBuYW1lKTsKKworICAg IGlmIChzdHJjbXBfbnVsbChhcmd2WzNdLCBuYW1lKSAhPSAwKSB7CisgICAgICAgIGZwcmludGYo c3RkZXJyLCAiRXhwZWN0ZWQgJXMgYnV0IGdvdCAlc1xuIiwgYXJndlsyXSwgbmFtZSk7CisgICAg ICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOwor CisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVz ZXItZnVuY3Rpb25zL3Rlc3RfZ2V0X25hbWUuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNl ci1mdW5jdGlvbnMvdGVzdF9nZXRfbmFtZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjk1ZDkwMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1z ZXVzZXItZnVuY3Rpb25zL3Rlc3RfZ2V0X25hbWUuYwpAQCAtMCwwICsxLDMyIEBACisjaW5jbHVk ZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNp bmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNs dWRlICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgewor ICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAqc2V1c2Vy OworICAgIAorICAgIGlmIChhcmdjIDwgNCkKKyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBz aCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICBzZXVzZXIgPSB0ZXN0X2dldF9zZXVzZXIo c2gsIGFyZ3ZbMl0pOworCisgICAgY29uc3QgY2hhciAqbmFtZSA9IHNlbWFuYWdlX3NldXNlcl9n ZXRfbmFtZShzZXVzZXIpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2dldF9uYW1lKCVw KTogJXNcbiIsCisgICAgICAgICAgICh2b2lkICopIHNldXNlciwgbmFtZSk7CisKKyAgICBpZiAo c3RyY21wX251bGwoYXJndlszXSwgbmFtZSkgIT0gMCkgeworICAgICAgICBmcHJpbnRmKHN0ZGVy ciwgIkV4cGVjdGVkICVzIGJ1dCBnb3QgJXNcbiIsIGFyZ3ZbMl0sIG5hbWUpOworICAgICAgICBl eGl0KDEpOworICAgIH0KKworICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAg IGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1 bmN0aW9ucy90ZXN0X2dldF9zZW5hbWUuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1m dW5jdGlvbnMvdGVzdF9nZXRfc2VuYW1lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMC4uMWVkNzI0OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNl dXNlci1mdW5jdGlvbnMvdGVzdF9nZXRfc2VuYW1lLmMKQEAgLTAsMCArMSwzMiBAQAorI2luY2x1 ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+Cisj aW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5j bHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsK KyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNl cjsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDQpCisgICAgICAgIGV4aXQoMik7CisgICAgCisgICAg c2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAgc2V1c2VyID0gdGVzdF9nZXRfc2V1c2Vy KHNoLCBhcmd2WzJdKTsKKworICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBzZW1hbmFnZV9zZXVzZXJf Z2V0X3NlbmFtZShzZXVzZXIpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2dldF9zZW5h bWUoJXApOiAlc1xuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2V1c2VyLCBuYW1lKTsKKworICAg IGlmIChzdHJjbXBfbnVsbChhcmd2WzNdLCBuYW1lKSAhPSAwKSB7CisgICAgICAgIGZwcmludGYo c3RkZXJyLCAiRXhwZWN0ZWQgJXMgYnV0IGdvdCAlc1xuIiwgYXJndlsyXSwgbmFtZSk7CisgICAg ICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOwor CisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVz ZXItZnVuY3Rpb25zL3Rlc3RfaXRlcmF0ZS5jIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2Vy LWZ1bmN0aW9ucy90ZXN0X2l0ZXJhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41MzMwODdhCi0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1 c2VyLWZ1bmN0aW9ucy90ZXN0X2l0ZXJhdGUuYwpAQCAtMCwwICsxLDQ5IEBACisjaW5jbHVkZSA8 c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNs dWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRl ICJmdW5jdGlvbnMuYyIKKworaW50IGNvdW50ZXIgPSAwOworCitpbnQgaGFuZGxlcihjb25zdCBz ZW1hbmFnZV9zZXVzZXJfdCAqcmVjb3JkLCB2b2lkICp2YXJnKSB7CisgICAgY2hhciAqKmFyZ3Mg PSAoY2hhciAqKikgdmFyZzsKKyAgICAKKyAgICBjb25zdCBjaGFyICpuYW1lID0gc2VtYW5hZ2Vf c2V1c2VyX2dldF9uYW1lKHJlY29yZCk7CisKKyAgICBpZiAoc3RyY21wKG5hbWUsIGFyZ3NbMiAr IGNvdW50ZXIrK10pICE9IDApCisgICAgICAgIHJldHVybiAtMTsKKworICAgIHJldHVybiAwOwor fQorCitpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgc2VtYW5hZ2VfaGFu ZGxlX3QgKnNoOworICAgIGludCByZXN1bHQ7CisgICAgCisgICAgaWYgKGFyZ2MgPCAyKQorICAg ICAgICBleGl0KDIpOworICAgIAorICAgIHNoID0gZ2V0X2hhbmRsZShhcmd2WzFdKTsKKworICAg IGNoYXIgKipwYXJhbSA9IE5VTEw7CisKKyAgICBpZiAoYXJnYyA+PSAzKSB7CisgICAgICAgIHBh cmFtID0gYXJndjsKKyAgICB9CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJfaXRlcmF0 ZShzaCwgJmhhbmRsZXIsICh2b2lkICopIHBhcmFtKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3Nl dXNlcl9pdGVyYXRlKCVwLCAlcCwgJXApOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2gs ICh2b2lkICopICZoYW5kbGVyLCAodm9pZCAqKSBwYXJhbSwgcmVzdWx0KTsKKyAgICAKKyAgICBp ZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9pdGVyYXRl Iik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFy Z3ZbMV0pOworCisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1h bmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3Rfa2V5X2NyZWF0ZS5jIGIvbGlic2VtYW5hZ2Uvc2Vt YW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2tleV9jcmVhdGUuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi44ZjNhYWY1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlic2VtYW5h Z2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2tleV9jcmVhdGUuYwpAQCAtMCwwICsx LDM5IEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRl IDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFuYWdlL3NlbWFu YWdlLmg+CisKKyNpbmNsdWRlICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGludCBhcmdjLCBj aGFyICoqYXJndikgeworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBzZW1hbmFnZV9z ZXVzZXJfa2V5X3QgKmtleTsKKyAgICBjb25zdCBjaGFyICpuYW1lOworICAgIGludCByZXN1bHQ7 CisgICAgCisgICAgaWYgKGFyZ2MgPCAzKQorICAgICAgICBleGl0KDIpOworICAgIAorICAgIHNo ID0gZ2V0X2hhbmRsZShhcmd2WzFdKTsKKworICAgIGlmIChzdHJjbXAoYXJndlsyXSwgIk5VTEwi KSA9PSAwKQorICAgICAgICBuYW1lID0gTlVMTDsKKyAgICBlbHNlCisgICAgICAgIG5hbWUgPSBh cmd2WzJdOworCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUoc2gsIG5h bWUsICZrZXkpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUoJXAsICVz LCAlcCk6ICVkXG4iLAorICAgICAgICAgICAodm9pZCAqKSBzaCwgbmFtZSwgKHZvaWQgKikgJmtl eSwgcmVzdWx0KTsKKworICAgIGlmIChyZXN1bHQgPCAwIHx8IGtleSA9PSBOVUxMKSB7CisgICAg ICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUiKTsKKyAgICAgICAgZXhpdCgx KTsKKyAgICB9CisKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X2ZyZWUoa2V5KTsKKworICAgIGRl c3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZmIC0tZ2l0 IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2tleV9leHRyYWN0 LmMgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3Rfa2V5X2V4dHJh Y3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDY1OGRjCi0tLSAvZGV2 L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2tl eV9leHRyYWN0LmMKQEAgLTAsMCArMSw0NSBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk ZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNp bmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisK K2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVf dCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnNldXNlcjsKKyAgICBzZW1hbmFnZV9zZXVz ZXJfa2V5X3QgKmtleTsKKyAgICBpbnQgcmVzdWx0OworICAgIAorICAgIGlmIChhcmdjIDwgMykK KyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisK KyAgICBzZXVzZXIgPSB0ZXN0X2dldF9zZXVzZXIoc2gsIGFyZ3ZbMl0pOworCisgICAgcmVzdWx0 ID0gc2VtYW5hZ2Vfc2V1c2VyX2tleV9leHRyYWN0KHNoLCBzZXVzZXIsICZrZXkpOworICAgIHBy aW50Zigic2VtYW5hZ2Vfc2V1c2VyX2tleV9leHRyYWN0KCVwLCAlcCwgJXApOiAlZFxuIiwKKyAg ICAgICAgICAgKHZvaWQgKikgc2gsICh2b2lkICopIHNldXNlciwgKHZvaWQgKikgJmtleSwgcmVz dWx0KTsKKworICAgIGlmIChyZXN1bHQgPCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vf c2V1c2VyX2tleV9leHRyYWN0Iik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgcmVz dWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2NvbXBhcmUoc2V1c2VyLCBrZXkpOworICAgIHByaW50Zigi c2VtYW5hZ2Vfc2V1c2VyX2NvbXBhcmUoJXAsICVwKTogJWRcbiIsCisgICAgICAgICAgICh2b2lk ICopIHNldXNlciwgKHZvaWQgKikga2V5LCByZXN1bHQpOworCisgICAgaWYgKHJlc3VsdCAhPSAw KSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2NvbXBhcmUiKTsKKyAgICAgICAg ZXhpdCgxKTsKKyAgICB9CisKKyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X2ZyZWUoa2V5KTsKKwor ICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZm IC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X2xpc3Qu YyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9saXN0LmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWUwNjE4NwotLS0gL2Rldi9udWxsCisr KyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9saXN0LmMKQEAg LTAsMCArMSw2MyBAQAorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+Cisj aW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFn ZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAiZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQg YXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBzZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2Vt YW5hZ2Vfc2V1c2VyX3QgKipyZWNvcmRzOworICAgIHVuc2lnbmVkIGludCBjb3VudDsKKyAgICBp bnQgcmVzdWx0OworICAgIAorICAgIGlmIChhcmdjIDwgMikKKyAgICAgICAgZXhpdCgyKTsKKyAg ICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7CisKKyAgICByZXN1bHQgPSBzZW1hbmFn ZV9zZXVzZXJfbGlzdChzaCwgJnJlY29yZHMsICZjb3VudCk7CisgICAgcHJpbnRmKCJzZW1hbmFn ZV9zZXVzZXJfbGlzdCglcCwgJXAsICVwKTogJWQiLAorICAgICAgICAgICAodm9pZCAqKSBzaCwg KHZvaWQgKikgJnJlY29yZHMsICh2b2lkICopICZjb3VudCwgcmVzdWx0KTsKKyAgICAKKyAgICBp ZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9saXN0Iik7 CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgcHJpbnRmKCIsIGNvdW50OiAldSwgcmVj b3JkczogIiwgY291bnQpOworCisgICAgY29uc3QgY2hhciAqbmFtZTsKKworICAgIGZvciAodW5z aWduZWQgaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworICAgICAgICBuYW1lID0gc2VtYW5h Z2Vfc2V1c2VyX2dldF9uYW1lKHJlY29yZHNbaV0pOworICAgICAgICBwcmludGYoIiVwICglcyks ICIsICh2b2lkICopIHJlY29yZHNbaV0sIG5hbWUpOworICAgIH0KKworICAgIHByaW50ZigiXG4i KTsKKworICAgIGlmIChhcmdjID49IDMpIHsKKyAgICAgICAgdW5zaWduZWQgaW50IGV4cF9jb3Vu dCA9IHN0cnRvdWwoYXJndlsyXSwgTlVMTCwgMTApOworICAgICAgICAKKyAgICAgICAgaWYgKGNv dW50ICE9IGV4cF9jb3VudCkgeworICAgICAgICAgICAgcHJpbnRmKCJFeHBlY3RlZCAldSBidXQg Z290ICV1XG4iLCBleHBfY291bnQsIGNvdW50KTsKKyAgICAgICAgICAgIGV4aXQoMSk7CisgICAg ICAgIH0KKworICAgICAgICBjb25zdCBjaGFyICpuYW1lOworCisgICAgICAgIGZvciAodW5zaWdu ZWQgaW50IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworICAgICAgICAgICAgbmFtZSA9IHNlbWFu YWdlX3NldXNlcl9nZXRfbmFtZShyZWNvcmRzW2ldKTsKKworICAgICAgICAgICAgaWYgKHN0cmNt cChuYW1lLCBhcmd2WzMgKyBpXSkgIT0gMCkgeworICAgICAgICAgICAgICAgIHByaW50ZigiRXhw ZWN0ZWQgJXMgYnV0IGdvdCAlc1xuIiwgbmFtZSwgYXJndlszICsgaV0pOworICAgICAgICAgICAg ICAgIGV4aXQoMSk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICBkZXN0 cm95X2hhbmRsZShzaCwgYXJndlsxXSk7CisKKyAgICBleGl0KDApOworfQoKZGlmZiAtLWdpdCBh L2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9tb2RpZnlfbG9jYWwu YyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9tb2RpZnlfbG9j YWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41M2ExMWY1Ci0tLSAvZGV2 L251bGwKKysrIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X21v ZGlmeV9sb2NhbC5jCkBAIC0wLDAgKzEsNjQgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1 ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+Cisj aW5jbHVkZSA8c2VtYW5hZ2Uvc2VtYW5hZ2UuaD4KKworI2luY2x1ZGUgImZ1bmN0aW9ucy5jIgor CitpbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgc2VtYW5hZ2VfaGFuZGxl X3QgKnNoOworICAgIHNlbWFuYWdlX3NldXNlcl90ICpzZXVzZXI7CisgICAgc2VtYW5hZ2Vfc2V1 c2VyX2tleV90ICprZXk7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKipyZWNvcmRzOworICAgIGlu dCByZXN1bHQ7CisgICAgdW5zaWduZWQgaW50IGNvdW50OworICAgIAorICAgIGlmIChhcmdjIDwg MykKKyAgICAgICAgZXhpdCgyKTsKKyAgICAKKyAgICBzaCA9IGdldF9oYW5kbGUoYXJndlsxXSk7 CisKKyAgICBzZXVzZXIgPSB0ZXN0X2dldF9zZXVzZXIoc2gsIGFyZ3ZbMl0pOworCisgICAgcmVz dWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2tleV9leHRyYWN0KHNoLCBzZXVzZXIsICZrZXkpOworICAg IHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2tleV9leHRyYWN0KCVwLCAlcCwgJXApOiAlZFxuIiwK KyAgICAgICAgICAgKHZvaWQgKikgc2gsICh2b2lkICopIHNldXNlciwgKHZvaWQgKikgJmtleSwg cmVzdWx0KTsKKworICAgIGlmIChyZXN1bHQgPCAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5h Z2Vfc2V1c2VyX2tleV9leHRyYWN0Iik7CisgICAgICAgIGV4aXQoMik7CisgICAgfQorCisgICAg cmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX21vZGlmeV9sb2NhbChzaCwga2V5LCBzZXVzZXIpOwor ICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX21vZGlmeV9sb2NhbCglcCwgJXAsICVwKTogJWRc biIsCisgICAgICAgICAgICh2b2lkICopIHNldXNlciwgKHZvaWQgKikga2V5LCAodm9pZCAqKSBz ZXVzZXIsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJyb3Io InNlbWFuYWdlX3NldXNlcl9tb2RpZnlfbG9jYWwiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9 CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJfbGlzdF9sb2NhbChzaCwgJnJlY29yZHMs ICZjb3VudCk7CisgICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfbGlzdF9sb2NhbCglcCwgJXAs ICVwKTogJWRcbiIsCisgICAgICAgICAgICh2b2lkICopIHNoLCAodm9pZCAqKSAmcmVjb3Jkcywg KHZvaWQgKikgJmNvdW50LCByZXN1bHQpOworICAgIAorICAgIGlmIChyZXN1bHQgPCAwKSB7Cisg ICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2xpc3RfbG9jYWwiKTsKKyAgICAgICAgZXhp dCgyKTsKKyAgICB9CisKKyAgICBpZiAoY291bnQgIT0gMSkgeworICAgICAgICBmcHJpbnRmKHN0 ZGVyciwgIk51bWJlciBvZiBsb2NhbCBzZXVzZXJzIGlzICV1LCBleHBlY3RlZCAxIVxuIiwgY291 bnQpOworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGlmIChzZW1hbmFnZV9zZXVzZXJf Y29tcGFyZShyZWNvcmRzWzBdLCBrZXkpICE9IDApIHsKKyAgICAgICAgZnByaW50ZihzdGRlcnIs ICJMb2NhbCBzZXVzZXIgaXMgZGlmZmVyZW50IVxuIik7CisgICAgICAgIGV4aXQoMSk7CisgICAg fQorCisgICAgZGVzdHJveV9oYW5kbGUoc2gsIGFyZ3ZbMV0pOworCisgICAgZXhpdCgwKTsKK30K CmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3Rf cXVlcnkuYyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9xdWVy eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYjRlMjcKLS0tIC9kZXYv bnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3RfcXVl cnkuYwpAQCAtMCwwICsxLDUwIEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRs aWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUg PHNlbWFuYWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRlICJmdW5jdGlvbnMuYyIKKworaW50IG1h aW4gKGludCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaDsK KyAgICBzZW1hbmFnZV9zZXVzZXJfa2V5X3QgKmtleTsKKyAgICBzZW1hbmFnZV9zZXVzZXJfdCAq cmVzcG9uc2U7CisgICAgaW50IHJlc3VsdDsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDMpCisgICAg ICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAg cmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUoc2gsIGFyZ3ZbMl0sICZrZXkpOwor ICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUoJXAsICVzLCAlcCk6ICVkXG4i LAorICAgICAgICAgICAodm9pZCAqKSBzaCwgYXJndlsyXSwgKHZvaWQgKikgJmtleSwgcmVzdWx0 KTsKKworICAgIGlmIChyZXN1bHQgPCAwIHx8IGtleSA9PSBOVUxMKSB7CisgICAgICAgIHBlcnJv cigic2VtYW5hZ2Vfc2V1c2VyX2tleV9jcmVhdGUiKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9 CisKKyAgICByZXN1bHQgPSBzZW1hbmFnZV9zZXVzZXJfcXVlcnkoc2gsIGtleSwgJnJlc3BvbnNl KTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9xdWVyeSglcCwgJXAsICVwKTogJWQsIHJl c3BvbnNlOiAlcFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2gsICh2b2lkICopIGtleSwgKHZv aWQgKikgJnJlc3BvbnNlLCByZXN1bHQsICh2b2lkICopIHJlc3BvbnNlKTsKKyAgICAKKyAgICBp ZiAocmVzdWx0IDwgMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9xdWVyeSIp OworICAgICAgICBleGl0KDEpOworICAgIH0KKworICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBzZW1h bmFnZV9zZXVzZXJfZ2V0X25hbWUocmVzcG9uc2UpOworICAgIHByaW50Zigic2VtYW5hZ2Vfc2V1 c2VyX2dldF9uYW1lKCVwKTogJXNcbiIsCisgICAgICAgICAgICh2b2lkICopIHJlc3BvbnNlLCBu YW1lKTsKKworICAgIGlmIChzdHJjbXAoYXJndlsyXSwgbmFtZSkgIT0gMCkgeworICAgICAgICBw ZXJyb3IoInNlbWFuYWdlX3NldXNlcl9nZXRfbmFtZSIpOworICAgICAgICBleGl0KDIpOworICAg IH0KKworICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9 CgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0 X3NldF9tbHNyYW5nZS5jIGIvbGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90 ZXN0X3NldF9tbHNyYW5nZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4 NDQwYWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS9zZW1hbmFnZS1zZXVzZXItZnVu Y3Rpb25zL3Rlc3Rfc2V0X21sc3JhbmdlLmMKQEAgLTAsMCArMSw2MiBAQAorI2luY2x1ZGUgPHN0 ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVk ZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzZW1hbmFnZS9zZW1hbmFnZS5oPgorCisjaW5jbHVkZSAi ZnVuY3Rpb25zLmMiCisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpIHsKKyAgICBz ZW1hbmFnZV9oYW5kbGVfdCAqc2g7CisgICAgc2VtYW5hZ2Vfc2V1c2VyX3QgKnVzZXI7CisgICAg aW50IHJlc3VsdDsKKyAgICBjb25zdCBjaGFyICptbHNyYW5nZTsKKyAgICAKKyAgICBpZiAoYXJn YyA8IDMpCisgICAgICAgIGV4aXQoMik7CisgICAgCisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3Zb MV0pOworCisgICAgdXNlciA9IHRlc3RfZ2V0X3NldXNlcihzaCwgImZpcnN0Iik7CisKKyAgICBp ZiAoc3RyY21wKGFyZ3ZbMl0sICJOVUxMIikgPT0gMCkKKyAgICAgICAgbWxzcmFuZ2UgPSBOVUxM OworICAgIGVsc2UgCisgICAgICAgIG1sc3JhbmdlID0gYXJndlsyXTsKKworICAgIGNvbnN0IGNo YXIgKm9sZF9tbHNyYW5nZSA9IHNlbWFuYWdlX3NldXNlcl9nZXRfbWxzcmFuZ2UodXNlcik7Cisg ICAgcHJpbnRmKCJzZW1hbmFnZV9zZXVzZXJfZ2V0X21sc3JhbmdlKCVwKTogJXNcbiIsCisgICAg ICAgICAgICh2b2lkICopIHVzZXIsIG9sZF9tbHNyYW5nZSk7CisKKyAgICBpZiAob2xkX21sc3Jh bmdlID09IE5VTEwpIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfZ2V0X21sc3Jh bmdlIik7CisgICAgICAgIGV4aXQoMik7CisgICAgfQorCisgICAgaWYgKHN0cmNtcChvbGRfbWxz cmFuZ2UsIG1sc3JhbmdlKSA9PSAwKSB7CisgICAgICAgIHByaW50ZigiTmV3IG1sc3JhbmdlIGlz IHRoZSBzYW1lXG4iKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICByZXN1bHQgPSBz ZW1hbmFnZV9zZXVzZXJfc2V0X21sc3JhbmdlKHNoLCB1c2VyLCBtbHNyYW5nZSk7CisgICAgcHJp bnRmKCJzZW1hbmFnZV9zZXVzZXJfc2V0X21sc3JhbmdlKCVwLCAlcCwgJXMpOiAlZFxuIiwKKyAg ICAgICAgICAgKHZvaWQgKikgc2gsICh2b2lkICopIHVzZXIsIG1sc3JhbmdlLCByZXN1bHQpOwor CisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAgcGVycm9yKCJzZW1hbmFnZV9zZXVzZXJf c2V0X21sc3JhbmdlIik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgY29uc3QgY2hh ciAqbmV3X21sc3JhbmdlID0gc2VtYW5hZ2Vfc2V1c2VyX2dldF9tbHNyYW5nZSh1c2VyKTsKKyAg ICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfbWxzcmFuZ2UoJXApOiAlc1xuIiwKKyAgICAg ICAgICAgKHZvaWQgKikgdXNlciwgbmV3X21sc3JhbmdlKTsKKworICAgIGlmIChzdHJjbXAobmV3 X21sc3JhbmdlLCBtbHNyYW5nZSkgIT0gMCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3Nl dXNlcl9nZXRfbWxzcmFuZ2UiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAgICB9CisKKyAgICBkZXN0 cm95X2hhbmRsZShzaCwgYXJndlsxXSk7CisKKyAgICBleGl0KDApOworfQoKZGlmZiAtLWdpdCBh L2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9zZXRfbmFtZS5jIGIv bGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X3NldF9uYW1lLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U0NDhlOAotLS0gL2Rldi9udWxsCisr KyBiL2xpYnNlbWFuYWdlL3NlbWFuYWdlLXNldXNlci1mdW5jdGlvbnMvdGVzdF9zZXRfbmFtZS5j CkBAIC0wLDAgKzEsNjIgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5o PgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2Vt YW5hZ2Uvc2VtYW5hZ2UuaD4KKworI2luY2x1ZGUgImZ1bmN0aW9ucy5jIgorCitpbnQgbWFpbiAo aW50IGFyZ2MsIGNoYXIgKiphcmd2KSB7CisgICAgc2VtYW5hZ2VfaGFuZGxlX3QgKnNoOworICAg IHNlbWFuYWdlX3NldXNlcl90ICp1c2VyOworICAgIGludCByZXN1bHQ7CisgICAgY29uc3QgY2hh ciAqbmFtZTsKKyAgICAKKyAgICBpZiAoYXJnYyA8IDMpCisgICAgICAgIGV4aXQoMik7CisgICAg CisgICAgc2ggPSBnZXRfaGFuZGxlKGFyZ3ZbMV0pOworCisgICAgdXNlciA9IHRlc3RfZ2V0X3Nl dXNlcihzaCwgImZpcnN0Iik7CisKKyAgICBpZiAoc3RyY21wKGFyZ3ZbMl0sICJOVUxMIikgPT0g MCkKKyAgICAgICAgbmFtZSA9IE5VTEw7CisgICAgZWxzZSAKKyAgICAgICAgbmFtZSA9IGFyZ3Zb Ml07CisKKyAgICBjb25zdCBjaGFyICpvbGRfbmFtZSA9IHNlbWFuYWdlX3NldXNlcl9nZXRfbmFt ZSh1c2VyKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfbmFtZSglcCk6ICVzXG4i LAorICAgICAgICAgICAodm9pZCAqKSB1c2VyLCBvbGRfbmFtZSk7CisKKyAgICBpZiAob2xkX25h bWUgPT0gTlVMTCkgeworICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9nZXRfbmFtZSIp OworICAgICAgICBleGl0KDIpOworICAgIH0KKworICAgIGlmIChzdHJjbXAob2xkX25hbWUsIG5h bWUpID09IDApIHsKKyAgICAgICAgcHJpbnRmKCJOZXcgbmFtZSBpcyB0aGUgc2FtZVxuIik7Cisg ICAgICAgIGV4aXQoMik7CisgICAgfQorCisgICAgcmVzdWx0ID0gc2VtYW5hZ2Vfc2V1c2VyX3Nl dF9uYW1lKHNoLCB1c2VyLCBuYW1lKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9zZXRf bmFtZSglcCwgJXAsICVzKTogJWRcbiIsCisgICAgICAgICAgICh2b2lkICopIHNoLCAodm9pZCAq KSB1c2VyLCBuYW1lLCByZXN1bHQpOworCisgICAgaWYgKHJlc3VsdCA8IDApIHsKKyAgICAgICAg cGVycm9yKCJzZW1hbmFnZV9zZXVzZXJfc2V0X25hbWUiKTsKKyAgICAgICAgZXhpdCgxKTsKKyAg ICB9CisKKyAgICBjb25zdCBjaGFyICpuZXdfbmFtZSA9IHNlbWFuYWdlX3NldXNlcl9nZXRfbmFt ZSh1c2VyKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfbmFtZSglcCk6ICVzXG4i LAorICAgICAgICAgICAodm9pZCAqKSB1c2VyLCBuZXdfbmFtZSk7CisKKyAgICBpZiAoc3RyY21w KG5ld19uYW1lLCBuYW1lKSAhPSAwKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2Vy X2dldF9uYW1lIik7CisgICAgICAgIGV4aXQoMSk7CisgICAgfQorCisgICAgZGVzdHJveV9oYW5k bGUoc2gsIGFyZ3ZbMV0pOworCisgICAgZXhpdCgwKTsKK30KCmRpZmYgLS1naXQgYS9saWJzZW1h bmFnZS9zZW1hbmFnZS1zZXVzZXItZnVuY3Rpb25zL3Rlc3Rfc2V0X3NlbmFtZS5jIGIvbGlic2Vt YW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X3NldF9zZW5hbWUuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDJjNWI3Ci0tLSAvZGV2L251bGwKKysrIGIv bGlic2VtYW5hZ2Uvc2VtYW5hZ2Utc2V1c2VyLWZ1bmN0aW9ucy90ZXN0X3NldF9zZW5hbWUuYwpA QCAtMCwwICsxLDYyIEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4K KyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNlbWFu YWdlL3NlbWFuYWdlLmg+CisKKyNpbmNsdWRlICJmdW5jdGlvbnMuYyIKKworaW50IG1haW4gKGlu dCBhcmdjLCBjaGFyICoqYXJndikgeworICAgIHNlbWFuYWdlX2hhbmRsZV90ICpzaDsKKyAgICBz ZW1hbmFnZV9zZXVzZXJfdCAqdXNlcjsKKyAgICBpbnQgcmVzdWx0OworICAgIGNvbnN0IGNoYXIg Km5hbWU7CisgICAgCisgICAgaWYgKGFyZ2MgPCAzKQorICAgICAgICBleGl0KDIpOworICAgIAor ICAgIHNoID0gZ2V0X2hhbmRsZShhcmd2WzFdKTsKKworICAgIHVzZXIgPSB0ZXN0X2dldF9zZXVz ZXIoc2gsICJmaXJzdCIpOworCisgICAgaWYgKHN0cmNtcChhcmd2WzJdLCAiTlVMTCIpID09IDAp CisgICAgICAgIG5hbWUgPSBOVUxMOworICAgIGVsc2UgCisgICAgICAgIG5hbWUgPSBhcmd2WzJd OworCisgICAgY29uc3QgY2hhciAqb2xkX25hbWUgPSBzZW1hbmFnZV9zZXVzZXJfZ2V0X3NlbmFt ZSh1c2VyKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfc2VuYW1lKCVwKTogJXNc biIsCisgICAgICAgICAgICh2b2lkICopIHVzZXIsIG9sZF9uYW1lKTsKKworICAgIGlmIChvbGRf bmFtZSA9PSBOVUxMKSB7CisgICAgICAgIHBlcnJvcigic2VtYW5hZ2Vfc2V1c2VyX2dldF9zZW5h bWUiKTsKKyAgICAgICAgZXhpdCgyKTsKKyAgICB9CisKKyAgICBpZiAoc3RyY21wKG9sZF9uYW1l LCBuYW1lKSA9PSAwKSB7CisgICAgICAgIHByaW50ZigiTmV3IG5hbWUgaXMgdGhlIHNhbWVcbiIp OworICAgICAgICBleGl0KDIpOworICAgIH0KKworICAgIHJlc3VsdCA9IHNlbWFuYWdlX3NldXNl cl9zZXRfc2VuYW1lKHNoLCB1c2VyLCBuYW1lKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNl cl9zZXRfc2VuYW1lKCVwLCAlcCwgJXMpOiAlZFxuIiwKKyAgICAgICAgICAgKHZvaWQgKikgc2gs ICh2b2lkICopIHVzZXIsIG5hbWUsIHJlc3VsdCk7CisKKyAgICBpZiAocmVzdWx0IDwgMCkgewor ICAgICAgICBwZXJyb3IoInNlbWFuYWdlX3NldXNlcl9zZXRfc2VuYW1lIik7CisgICAgICAgIGV4 aXQoMSk7CisgICAgfQorCisgICAgY29uc3QgY2hhciAqbmV3X25hbWUgPSBzZW1hbmFnZV9zZXVz ZXJfZ2V0X3NlbmFtZSh1c2VyKTsKKyAgICBwcmludGYoInNlbWFuYWdlX3NldXNlcl9nZXRfc2Vu YW1lKCVwKTogJXNcbiIsCisgICAgICAgICAgICh2b2lkICopIHVzZXIsIG5ld19uYW1lKTsKKwor ICAgIGlmIChzdHJjbXAobmV3X25hbWUsIG5hbWUpICE9IDApIHsKKyAgICAgICAgcGVycm9yKCJz ZW1hbmFnZV9zZXVzZXJfZ2V0X3NlbmFtZSIpOworICAgICAgICBleGl0KDEpOworICAgIH0KKwor ICAgIGRlc3Ryb3lfaGFuZGxlKHNoLCBhcmd2WzFdKTsKKworICAgIGV4aXQoMCk7Cit9CgpkaWZm IC0tZ2l0IGEvbGlic2VtYW5hZ2UvdmVyaWZ5LW9wdGlvbnMtaW4tc2VtYW5hZ2UtY29uZi9NYWtl ZmlsZSBiL2xpYnNlbWFuYWdlL3ZlcmlmeS1vcHRpb25zLWluLXNlbWFuYWdlLWNvbmYvTWFrZWZp bGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Y5NDY2NQotLS0gL2Rldi9u dWxsCisrKyBiL2xpYnNlbWFuYWdlL3ZlcmlmeS1vcHRpb25zLWluLXNlbWFuYWdlLWNvbmYvTWFr ZWZpbGUKQEAgLTAsMCArMSw2NCBAQAorIyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorIworIyAgIE1ha2VmaWxlIG9m IC9Db3JlT1MvbGlic2VtYW5hZ2UvU2FuaXR5L3ZlcmlmeS1vcHRpb25zLWluLXNlbWFuYWdlLWNv bmYKKyMgICBEZXNjcmlwdGlvbjogQXJlIHRoZSB2ZXJpZnkgb3B0aW9ucyBpbiBzZW1hbmFnZS5j b25mIGhvbm9yZWQ/CisjICAgQXV0aG9yOiBNaWxvcyBNYWxpayA8bW1hbGlrQHJlZGhhdC5jb20+ CisjCisjIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+CisjCisjICAgQ29weXJpZ2h0IChjKSAyMDE2IFJlZCBIYXQsIElu Yy4KKyMKKyMgICBUaGlzIGNvcHlyaWdodGVkIG1hdGVyaWFsIGlzIG1hZGUgYXZhaWxhYmxlIHRv IGFueW9uZSB3aXNoaW5nCisjICAgdG8gdXNlLCBtb2RpZnksIGNvcHksIG9yIHJlZGlzdHJpYnV0 ZSBpdCBzdWJqZWN0IHRvIHRoZSB0ZXJtcworIyAgIGFuZCBjb25kaXRpb25zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIuCisjCisjICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZQorIyAgIHVzZWZ1bCwgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQKKyMgICB3YXJy YW50eSBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisjICAg UFVSUE9TRS4gU2VlIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgorIworIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYworIyAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5v dCwgd3JpdGUgdG8gdGhlIEZyZWUKKyMgICBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBG cmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorIyAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg VVNBLgorIworIyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorCitleHBvcnQgVEVTVD0vQ29yZU9TL2xpYnNlbWFuYWdl L1Nhbml0eS92ZXJpZnktb3B0aW9ucy1pbi1zZW1hbmFnZS1jb25mCitleHBvcnQgVEVTVFZFUlNJ T049MS4wCisKK0JVSUxUX0ZJTEVTPQorCitGSUxFUz0kKE1FVEFEQVRBKSBydW50ZXN0LnNoIE1h a2VmaWxlIFBVUlBPU0UgZW1wdHkudGUKKworLlBIT05ZOiBhbGwgaW5zdGFsbCBkb3dubG9hZCBj bGVhbgorCitydW46ICQoRklMRVMpIGJ1aWxkCisJLi9ydW50ZXN0LnNoCisKK2J1aWxkOiAkKEJV SUxUX0ZJTEVTKQorCXRlc3QgLXggcnVudGVzdC5zaCB8fCBjaG1vZCBhK3ggcnVudGVzdC5zaAor CitjbGVhbjoKKwlybSAtZiAqfiAkKEJVSUxUX0ZJTEVTKQorCitpbmNsdWRlIC91c3Ivc2hhcmUv cmh0cy9saWIvcmh0cy1tYWtlLmluY2x1ZGUKKworJChNRVRBREFUQSk6IE1ha2VmaWxlCisJQGVj aG8gIk93bmVyOiAgICAgICAgICAgTWlsb3MgTWFsaWsgPG1tYWxpa0ByZWRoYXQuY29tPiIgPiAk KE1FVEFEQVRBKQorCUBlY2hvICJOYW1lOiAgICAgICAgICAgICQoVEVTVCkiID4+ICQoTUVUQURB VEEpCisJQGVjaG8gIlRlc3RWZXJzaW9uOiAgICAgJChURVNUVkVSU0lPTikiID4+ICQoTUVUQURB VEEpCisJQGVjaG8gIlBhdGg6ICAgICAgICAgICAgJChURVNUX0RJUikiID4+ICQoTUVUQURBVEEp CisJQGVjaG8gIkRlc2NyaXB0aW9uOiAgICAgQXJlIHRoZSB2ZXJpZnkgb3B0aW9ucyBpbiBzZW1h bmFnZS5jb25mIGhvbm9yZWQ/IiA+PiAkKE1FVEFEQVRBKQorCUBlY2hvICJUeXBlOiAgICAgICAg ICAgIFNhbml0eSIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiVGVzdFRpbWU6ICAgICAgICAxMG0i ID4+ICQoTUVUQURBVEEpCisJQGVjaG8gIlJ1bkZvcjogICAgICAgICAgbGlic2VtYW5hZ2UiID4+ ICQoTUVUQURBVEEpCisJQGVjaG8gIlJlcXVpcmVzOiAgICAgICAgbGlic2VsaW51eCBsaWJzZWxp bnV4LXV0aWxzIGxpYnNlbWFuYWdlIHBvbGljeWNvcmV1dGlscyBwb2xpY3ljb3JldXRpbHMtcHl0 aG9uIHNlbGludXgtcG9saWN5IHNlbGludXgtcG9saWN5LWRldmVsIiA+PiAkKE1FVEFEQVRBKQor CUBlY2hvICJQcmlvcml0eTogICAgICAgIE5vcm1hbCIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAi TGljZW5zZTogICAgICAgICBHUEx2MiIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiQ29uZmlkZW50 aWFsOiAgICBubyIgPj4gJChNRVRBREFUQSkKKwlAZWNobyAiRGVzdHJ1Y3RpdmU6ICAgICBubyIg Pj4gJChNRVRBREFUQSkKKwlAZWNobyAiUmVsZWFzZXM6ICAgICAgICAtUkhFTDQgLVJIRUxDbGll bnQ1IC1SSEVMU2VydmVyNSIgPj4gJChNRVRBREFUQSkKKworCXJodHMtbGludCAkKE1FVEFEQVRB KQorCgpkaWZmIC0tZ2l0IGEvbGlic2VtYW5hZ2UvdmVyaWZ5LW9wdGlvbnMtaW4tc2VtYW5hZ2Ut Y29uZi9QVVJQT1NFIGIvbGlic2VtYW5hZ2UvdmVyaWZ5LW9wdGlvbnMtaW4tc2VtYW5hZ2UtY29u Zi9QVVJQT1NFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1NmRhZWMKLS0t IC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS92ZXJpZnktb3B0aW9ucy1pbi1zZW1hbmFnZS1j b25mL1BVUlBPU0UKQEAgLTAsMCArMSw5IEBACitQVVJQT1NFIG9mIC9Db3JlT1MvbGlic2VtYW5h Z2UvU2FuaXR5L3ZlcmlmeS1vcHRpb25zLWluLXNlbWFuYWdlLWNvbmYKK0F1dGhvcjogTWlsb3Mg TWFsaWsgPG1tYWxpa0ByZWRoYXQuY29tPgorCitBcmUgdGhlIHZlcmlmeSBvcHRpb25zIGluIHNl bWFuYWdlLmNvbmYgaG9ub3JlZD8KK1Rlc3RlZCBvcHRpb25zOiB2ZXJpZnkga2VybmVsLCB2ZXJp ZnkgbW9kdWxlLCB2ZXJpZnkgbGlua2VkCitUZXN0ZWQgdG9vbHM6IHNlbW9kdWxlLCBzZW1hbmFn ZQorUG9zaXRpdmUgYW5kIG5lZ2F0aXZlIGNhc2VzIGFyZSB0ZXN0ZWQuCitPcmlnaW5hbCBpbmZv cm1hdGlvbiBmb3VuZCBhdCBodHRwOi8vc2VsaW51eHByb2plY3Qub3JnL3BhZ2UvUG9saWN5VmFs aWRhdGUKKwoKZGlmZiAtLWdpdCBhL2xpYnNlbWFuYWdlL3ZlcmlmeS1vcHRpb25zLWluLXNlbWFu YWdlLWNvbmYvZW1wdHkudGUgYi9saWJzZW1hbmFnZS92ZXJpZnktb3B0aW9ucy1pbi1zZW1hbmFn ZS1jb25mL2VtcHR5LnRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhMDg0 NzIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzZW1hbmFnZS92ZXJpZnktb3B0aW9ucy1pbi1zZW1h bmFnZS1jb25mL2VtcHR5LnRlCkBAIC0wLDAgKzEsMiBAQAorcG9saWN5X21vZHVsZShlbXB0eSwx LjApCisKCmRpZmYgLS1naXQgYS9saWJzZW1hbmFnZS92ZXJpZnktb3B0aW9ucy1pbi1zZW1hbmFn ZS1jb25mL3J1bnRlc3Quc2ggYi9saWJzZW1hbmFnZS92ZXJpZnktb3B0aW9ucy1pbi1zZW1hbmFn ZS1jb25mL3J1bnRlc3Quc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzc4 OTFmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNlbWFuYWdlL3ZlcmlmeS1vcHRpb25zLWluLXNl bWFuYWdlLWNvbmYvcnVudGVzdC5zaApAQCAtMCwwICsxLDE0MiBAQAorIyEvYmluL2Jhc2gKKyMg dmltOiBkaWN0Kz0vdXNyL3NoYXJlL2JlYWtlcmxpYi9kaWN0aW9uYXJ5LnZpbSBjcHQ9Lix3LGIs dSx0LGksaworIyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgorIworIyAgIHJ1bnRlc3Quc2ggb2YgL0NvcmVPUy9saWJz ZW1hbmFnZS9TYW5pdHkvdmVyaWZ5LW9wdGlvbnMtaW4tc2VtYW5hZ2UtY29uZgorIyAgIERlc2Ny aXB0aW9uOiBBcmUgdGhlIHZlcmlmeSBvcHRpb25zIGluIHNlbWFuYWdlLmNvbmYgaG9ub3JlZD8K KyMgICBBdXRob3I6IE1pbG9zIE1hbGlrIDxtbWFsaWtAcmVkaGF0LmNvbT4KKyMKKyMgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KKyMKKyMgICBDb3B5cmlnaHQgKGMpIDIwMTYgUmVkIEhhdCwgSW5jLgorIworIyAgIFRo aXMgY29weXJpZ2h0ZWQgbWF0ZXJpYWwgaXMgbWFkZSBhdmFpbGFibGUgdG8gYW55b25lIHdpc2hp bmcKKyMgICB0byB1c2UsIG1vZGlmeSwgY29weSwgb3IgcmVkaXN0cmlidXRlIGl0IHN1YmplY3Qg dG8gdGhlIHRlcm1zCisjICAgYW5kIGNvbmRpdGlvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMi4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlCisjICAgdXNlZnVsLCBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZAorIyAgIHdhcnJhbnR5IG9mIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgICBQVVJQT1NFLiBTZWUg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjICAg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj CisjICAgTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0 aGUgRnJlZQorIyAgIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl dCwgRmlmdGggRmxvb3IsCisjICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisjCisjIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+CisKKyMgSW5jbHVkZSBCZWFrZXIgZW52aXJvbm1lbnQKKy4gL3Vzci9iaW4vcmh0 cy1lbnZpcm9ubWVudC5zaCB8fCBleGl0IDEKKy4gL3Vzci9zaGFyZS9iZWFrZXJsaWIvYmVha2Vy bGliLnNoIHx8IGV4aXQgMQorCitQQUNLQUdFPSJsaWJzZW1hbmFnZSIKK01PRFVMRV9OQU1FPSJl bXB0eSIKK1NFTUFOQUdFX0NPTkY9Ii9ldGMvc2VsaW51eC9zZW1hbmFnZS5jb25mIgorCitybEpv dXJuYWxTdGFydAorCXJsUGhhc2VTdGFydFNldHVwCisJCXJsQXNzZXJ0UnBtICR7UEFDS0FHRX0K KwkJcmxBc3NlcnRScG0gcG9saWN5Y29yZXV0aWxzCisJCXJsQXNzZXJ0UnBtIHNlbGludXgtcG9s aWN5CisJCXJsRmlsZUJhY2t1cCAke1NFTUFOQUdFX0NPTkZ9CisJCXJsUnVuICJycG0gLXFmIC91 c3Ivc2Jpbi9zZW1hbmFnZSIKKwkJcmxSdW4gImdyZXAgLXYgLWUgJ14jJyAtZSAnXiQnICR7U0VN QU5BR0VfQ09ORn0iCisJCU9VVFBVVF9GSUxFPWBta3RlbXBgCisJCQorCQlybFJ1biAic2V0ZW5m b3JjZSAxIgorCQlybFJ1biAic2VzdGF0dXMiCisJCXJsUnVuICJscyAtbCAke01PRFVMRV9OQU1F fS50ZSIKKwkJcmxSdW4gIm1ha2UgLWYgL3Vzci9zaGFyZS9zZWxpbnV4L2RldmVsL01ha2VmaWxl IgorCQlybFJ1biAibHMgLWwgJHtNT0RVTEVfTkFNRX0ucHAiCisgICAgcmxQaGFzZUVuZAorCisJ cmxMb2cgInBvc2l0aXZlIGNhc2VzIGZvbGxvdyIKKwkjIFRPRE86IC9iaW4vdHJ1ZSBjb3VsZCBi ZSByZXBsYWNlZCBhIHNjcmlwdCwgd2hpY2ggcHJpbnRzIHRoZSBzdXBwbGllZCBhcmd1bWVudHMg aW50byBhIGZpbGUgZm9yIGZ1cnRoZXIgaW5zcGVjdGlvbgorCisJcmxQaGFzZVN0YXJ0VGVzdCAi dmVyaWZ5IGtlcm5lbCIKKwkJcmxSdW4gInNlbW9kdWxlIC1yICR7TU9EVUxFX05BTUV9IiAwLDEK KwkJcmxGaWxlUmVzdG9yZQorCQlybFJ1biAiZWNobyAtZW4gJ1t2ZXJpZnkga2VybmVsXVxucGF0 aCA9IC9iaW4vdHJ1ZVxuYXJncyA9IFwkQFxuW2VuZF1cbicgPj4gJHtTRU1BTkFHRV9DT05GfSIK KwkJcmxSdW4gInNlbW9kdWxlIC1pICR7TU9EVUxFX05BTUV9LnBwIDI+JjEgfCB0ZWUgJHtPVVRQ VVRfRklMRX0iCisJCXJsQXNzZXJ0Tm90R3JlcCAic2Vtb2R1bGUuKmZhaWxlZCIgJHtPVVRQVVRf RklMRX0gLWkKKwkJcmxSdW4gInNlbW9kdWxlIC1sIHwgZ3JlcCAke01PRFVMRV9OQU1FfSIKKwkJ cmxSdW4gInNlbWFuYWdlIG1vZHVsZSAtYSAke01PRFVMRV9OQU1FfS5wcCAyPiYxIHwgdGVlICR7 T1VUUFVUX0ZJTEV9IgorCQlybEFzc2VydE5vdEdyZXAgImNvdWxkIG5vdCBjb21taXQgc2VtYW5h Z2UgdHJhbnNhY3Rpb258bm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeSIgJHtPVVRQVVRfRklMRX0g LUVpCisJCXJsUnVuICJzZW1hbmFnZSBtb2R1bGUgLWwgfCBncmVwICR7TU9EVUxFX05BTUV9Igor CXJsUGhhc2VFbmQKKworCXJsUGhhc2VTdGFydFRlc3QgInZlcmlmeSBtb2R1bGUiCisJCXJsUnVu ICJzZW1vZHVsZSAtciAke01PRFVMRV9OQU1FfSIgMCwxCisJCXJsRmlsZVJlc3RvcmUKKwkJcmxS dW4gImVjaG8gLWVuICdbdmVyaWZ5IG1vZHVsZV1cbnBhdGggPSAvYmluL3RydWVcbmFyZ3MgPSBc JEBcbltlbmRdXG4nID4+ICR7U0VNQU5BR0VfQ09ORn0iCisJCXJsUnVuICJzZW1vZHVsZSAtaSAk e01PRFVMRV9OQU1FfS5wcCAyPiYxIHwgdGVlICR7T1VUUFVUX0ZJTEV9IgorCQlybEFzc2VydE5v dEdyZXAgInNlbW9kdWxlLipmYWlsZWQiICR7T1VUUFVUX0ZJTEV9IC1pCisJCXJsUnVuICJzZW1v ZHVsZSAtbCB8IGdyZXAgJHtNT0RVTEVfTkFNRX0iCisJCXJsUnVuICJzZW1hbmFnZSBtb2R1bGUg LWEgJHtNT0RVTEVfTkFNRX0ucHAgMj4mMSB8IHRlZSAke09VVFBVVF9GSUxFfSIKKwkJcmxBc3Nl cnROb3RHcmVwICJjb3VsZCBub3QgY29tbWl0IHNlbWFuYWdlIHRyYW5zYWN0aW9ufG5vIHN1Y2gg ZmlsZSBvciBkaXJlY3RvcnkiICR7T1VUUFVUX0ZJTEV9IC1FaQorCQlybFJ1biAic2VtYW5hZ2Ug bW9kdWxlIC1sIHwgZ3JlcCAke01PRFVMRV9OQU1FfSIKKwlybFBoYXNlRW5kCisKKyAgICBpZiBy bElzUkhFTCAnPDcuMycgOyB0aGVuICMgYmVjYXVzZSAiW3ZlcmlmeSBsaW5rZWRdIiB3YXMgZHJv cHBlZAorCXJsUGhhc2VTdGFydFRlc3QgInZlcmlmeSBsaW5rZWQiCisJCXJsUnVuICJzZW1vZHVs ZSAtciAke01PRFVMRV9OQU1FfSIgMCwxCisJCXJsRmlsZVJlc3RvcmUKKwkJcmxSdW4gImVjaG8g LWVuICdbdmVyaWZ5IGxpbmtlZF1cbnBhdGggPSAvYmluL3RydWVcbmFyZ3MgPSBcJEBcbltlbmRd XG4nID4+ICR7U0VNQU5BR0VfQ09ORn0iCisJCXJsUnVuICJzZW1vZHVsZSAtaSAke01PRFVMRV9O QU1FfS5wcCAyPiYxIHwgdGVlICR7T1VUUFVUX0ZJTEV9IgorCQlybEFzc2VydE5vdEdyZXAgInNl bW9kdWxlLipmYWlsZWQiICR7T1VUUFVUX0ZJTEV9IC1pCisJCXJsUnVuICJzZW1vZHVsZSAtbCB8 IGdyZXAgJHtNT0RVTEVfTkFNRX0iCisJCXJsUnVuICJzZW1hbmFnZSBtb2R1bGUgLWEgJHtNT0RV TEVfTkFNRX0ucHAgMj4mMSB8IHRlZSAke09VVFBVVF9GSUxFfSIKKwkJcmxBc3NlcnROb3RHcmVw ICJjb3VsZCBub3QgY29tbWl0IHNlbWFuYWdlIHRyYW5zYWN0aW9ufG5vIHN1Y2ggZmlsZSBvciBk aXJlY3RvcnkiICR7T1VUUFVUX0ZJTEV9IC1FaQorCQlybFJ1biAic2VtYW5hZ2UgbW9kdWxlIC1s IHwgZ3JlcCAke01PRFVMRV9OQU1FfSIKKwlybFBoYXNlRW5kCisgICAgZmkKKworCXJsTG9nICJu ZWdhdGl2ZSBjYXNlcyBmb2xsb3ciCisJIyBUT0RPOiAvYmluL2ZhbHNlIGNvdWxkIGJlIHJlcGxh Y2VkIGEgc2NyaXB0LCB3aGljaCBwcmludHMgdGhlIHN1cHBsaWVkIGFyZ3VtZW50cyBpbnRvIGEg ZmlsZSBmb3IgZnVydGhlciBpbnNwZWN0aW9uCisKKwlybFBoYXNlU3RhcnRUZXN0ICJ2ZXJpZnkg a2VybmVsIgorCQlybFJ1biAic2Vtb2R1bGUgLXIgJHtNT0RVTEVfTkFNRX0iIDAsMQorCQlybEZp bGVSZXN0b3JlCisJCXJsUnVuICJlY2hvIC1lbiAnW3ZlcmlmeSBrZXJuZWxdXG5wYXRoID0gL2Jp bi9mYWxzZVxuYXJncyA9IFwkQFxuW2VuZF1cbicgPj4gJHtTRU1BTkFHRV9DT05GfSIKKwkJcmxS dW4gInNlbW9kdWxlIC1pICR7TU9EVUxFX05BTUV9LnBwIDI+JjEgfCB0ZWUgJHtPVVRQVVRfRklM RX0iCisJCXJsQXNzZXJ0R3JlcCAic2Vtb2R1bGUuKmZhaWxlZCIgJHtPVVRQVVRfRklMRX0gLWkK KwkJcmxSdW4gInNlbW9kdWxlIC1sIHwgZ3JlcCAke01PRFVMRV9OQU1FfSIgMQorCQlybFJ1biAi c2VtYW5hZ2UgbW9kdWxlIC1hICR7TU9EVUxFX05BTUV9LnBwIDI+JjEgfCB0ZWUgJHtPVVRQVVRf RklMRX0iCisJCXJsQXNzZXJ0R3JlcCAiY291bGQgbm90IGNvbW1pdCBzZW1hbmFnZSB0cmFuc2Fj dGlvbnxubyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IiAke09VVFBVVF9GSUxFfSAtRWkKKwkJcmxS dW4gInNlbWFuYWdlIG1vZHVsZSAtbCB8IGdyZXAgJHtNT0RVTEVfTkFNRX0iIDEKKwlybFBoYXNl RW5kCisKKwlybFBoYXNlU3RhcnRUZXN0ICJ2ZXJpZnkgbW9kdWxlIgorCQlybFJ1biAic2Vtb2R1 bGUgLXIgJHtNT0RVTEVfTkFNRX0iIDAsMQorCQlybEZpbGVSZXN0b3JlCisJCXJsUnVuICJlY2hv IC1lbiAnW3ZlcmlmeSBtb2R1bGVdXG5wYXRoID0gL2Jpbi9mYWxzZVxuYXJncyA9IFwkQFxuW2Vu ZF1cbicgPj4gJHtTRU1BTkFHRV9DT05GfSIKKwkJcmxSdW4gInNlbW9kdWxlIC1pICR7TU9EVUxF X05BTUV9LnBwIDI+JjEgfCB0ZWUgJHtPVVRQVVRfRklMRX0iCisJCXJsQXNzZXJ0R3JlcCAic2Vt b2R1bGUuKmZhaWxlZCIgJHtPVVRQVVRfRklMRX0gLWkKKwkJcmxSdW4gInNlbW9kdWxlIC1sIHwg Z3JlcCAke01PRFVMRV9OQU1FfSIgMQorCQlybFJ1biAic2VtYW5hZ2UgbW9kdWxlIC1hICR7TU9E VUxFX05BTUV9LnBwIDI+JjEgfCB0ZWUgJHtPVVRQVVRfRklMRX0iCisJCXJsQXNzZXJ0R3JlcCAi Y291bGQgbm90IGNvbW1pdCBzZW1hbmFnZSB0cmFuc2FjdGlvbnxubyBzdWNoIGZpbGUgb3IgZGly ZWN0b3J5IiAke09VVFBVVF9GSUxFfSAtRWkKKwkJcmxSdW4gInNlbWFuYWdlIG1vZHVsZSAtbCB8 IGdyZXAgJHtNT0RVTEVfTkFNRX0iIDEKKwlybFBoYXNlRW5kCisKKyAgICBpZiBybElzUkhFTCAn PDcuMycgOyB0aGVuICMgYmVjYXVzZSAiW3ZlcmlmeSBsaW5rZWRdIiB3YXMgZHJvcHBlZAorCXJs UGhhc2VTdGFydFRlc3QgInZlcmlmeSBsaW5rZWQiCisJCXJsUnVuICJzZW1vZHVsZSAtciAke01P RFVMRV9OQU1FfSIgMCwxCisJCXJsRmlsZVJlc3RvcmUKKwkJcmxSdW4gImVjaG8gLWVuICdbdmVy aWZ5IGxpbmtlZF1cbnBhdGggPSAvYmluL2ZhbHNlXG5hcmdzID0gXCRAXG5bZW5kXVxuJyA+PiAk e1NFTUFOQUdFX0NPTkZ9IgorCQlybFJ1biAic2Vtb2R1bGUgLWkgJHtNT0RVTEVfTkFNRX0ucHAg Mj4mMSB8IHRlZSAke09VVFBVVF9GSUxFfSIKKwkJcmxBc3NlcnRHcmVwICJzZW1vZHVsZS4qZmFp bGVkIiAke09VVFBVVF9GSUxFfSAtaQorCQlybFJ1biAic2Vtb2R1bGUgLWwgfCBncmVwICR7TU9E VUxFX05BTUV9IiAxCisJCXJsUnVuICJzZW1hbmFnZSBtb2R1bGUgLWEgJHtNT0RVTEVfTkFNRX0u cHAgMj4mMSB8IHRlZSAke09VVFBVVF9GSUxFfSIKKwkJcmxBc3NlcnRHcmVwICJjb3VsZCBub3Qg Y29tbWl0IHNlbWFuYWdlIHRyYW5zYWN0aW9ufG5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkiICR7 T1VUUFVUX0ZJTEV9IC1FaQorCQlybFJ1biAic2VtYW5hZ2UgbW9kdWxlIC1sIHwgZ3JlcCAke01P RFVMRV9OQU1FfSIgMQorCXJsUGhhc2VFbmQKKyAgICBmaQorCisJcmxQaGFzZVN0YXJ0Q2xlYW51 cAorCQlybFJ1biAicm0gLWYgJHtNT0RVTEVfTkFNRX0ucHAgJHtPVVRQVVRfRklMRX0iCisJCXJs RmlsZVJlc3RvcmUJCisJcmxQaGFzZUVuZAorcmxKb3VybmFsUHJpbnRUZXh0CitybEpvdXJuYWxF bmQKKwo=