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: Elliott Sales de Andrade To: git-commits@fedoraproject.org Subject: [rpms/xeus] epel10: Update to latest version (#2007795) Date: Sat, 11 Jul 2026 22:28:05 GMT Message-ID: <178380888569.1.17457781277713875405.rpms-xeus-4bff22283c24@fedoraproject.org> List-ID: X-Git-Repo: rpms/xeus X-Git-Branch: epel10 X-Git-Rev: 4bff22283c24aa4d3f112916cf52f8201084cedc QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMveGV1cwpCcmFuY2gg OiBlcGVsMTAKQ29tbWl0IDogNGJmZjIyMjgzYzI0YWE0ZDNmMTEyOTE2Y2Y1MmY4MjAxMDg0Y2Vk YwpBdXRob3IgOiBFbGxpb3R0IFNhbGVzIGRlIEFuZHJhZGUgPHF1YW50dW0uYW5hbHlzdEBnbWFp bC5jb20+CkRhdGUgICA6IDIwMjMtMDEtMjJUMDE6MTM6NDUtMDU6MDAKU3RhdHMgIDogKzUvLTEz MTMgaW4gNiBmaWxlKHMpClVSTCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3Jw bXMveGV1cy9jLzRiZmYyMjI4M2MyNGFhNGQzZjExMjkxNmNmNTJmODIwMTA4NGNlZGM/YnJhbmNo PWVwZWwxMAoKTG9nOgpVcGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24gKCMyMDA3Nzk1KQoKLS0tCmRp ZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQppbmRleCBkNmY4ODU4Li5lMGJiMWVj IDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRpZ25vcmUKQEAgLTE5LDMgKzE5LDQg QEAKIC94ZXVzLTEuMC4zLnRhci5negogL3hldXMtMS4wLjQudGFyLmd6CiAveGV1cy0yLjAuMC50 YXIuZ3oKKy94ZXVzLTMuMC41LnRhci5negoKZGlmZiAtLWdpdCBhLzAwMDEtc3dpdGNoZWQtZnJv bS1ndGVzdC10by1kb2N0ZXN0LTI5Mi5wYXRjaCBiLzAwMDEtc3dpdGNoZWQtZnJvbS1ndGVzdC10 by1kb2N0ZXN0LTI5Mi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjZhZWNh Yy4uMDAwMDAwMAotLS0gYS8wMDAxLXN3aXRjaGVkLWZyb20tZ3Rlc3QtdG8tZG9jdGVzdC0yOTIu cGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MjMgKzAsMCBAQAotRnJvbSA4OTY0ZWYzMDM1NGY1 OWMxOWVkNWY3MjNjNTc5MzUwZWIyNDljMGJhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogVGhvcnN0ZW4gQmVpZXIgPGRlcnRob3JzdGVuYmVpZXJAZ21haWwuY29tPgotRGF0ZTogVHVl LCAyMSBTZXAgMjAyMSAxMzozMzozOSArMDIwMAotU3ViamVjdDogW1BBVENIIDEvM10gc3dpdGNo ZWQgZnJvbSBndGVzdCB0byBkb2N0ZXN0ICgjMjkyKQotCi1Td2l0Y2h0ZWQgdG8gZG9jdGVzdAot Ci1TaWduZWQtb2ZmLWJ5OiBFbGxpb3R0IFNhbGVzIGRlIEFuZHJhZGUgPHF1YW50dW0uYW5hbHlz dEBnbWFpbC5jb20+Ci0tLS0KLSAuYXBwdmV5b3IueW1sICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA0ICstCi0gLmF6dXJlLXBpcGVsaW5lcy91bml4LWJ1aWxkLnltbCAgICAgICAgICB8 ICAgMiArLQotIENNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDMg Ky0KLSBlbnZpcm9ubWVudC1kZXYueW1sICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKLSB0 ZXN0L0NNYWtlTGlzdHMudHh0ICAgICAgICAgICAgICAgICAgICAgIHwgIDU1ICstLS0tLS0tLS0K LSB0ZXN0L2NvcHlHVGVzdC5jbWFrZS5pbiAgICAgICAgICAgICAgICAgIHwgIDIzIC0tLS0KLSB0 ZXN0L2Rvd25sb2FkR1Rlc3QuY21ha2UuaW4gICAgICAgICAgICAgIHwgIDI0IC0tLS0tCi0gdGVz dC90ZXN0X21haW4uY3BwICAgICAgICAgICAgICAgICAgICAgICB8ICAgMiArCi0gdGVzdC90ZXN0 X3VuaXRfa2VybmVsLmNwcCAgICAgICAgICAgICAgICB8ICAzNiArKysrLS0tCi0gdGVzdC90ZXN0 X3hpbl9tZW1vcnlfaGlzdG9yeV9tYW5hZ2VyLmNwcCB8IDEzMCArKysrKysrKysrKystLS0tLS0t LS0tLQotIDEwIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDE4MiBkZWxldGlvbnMo LSkKLSBkZWxldGUgbW9kZSAxMDA2NDQgdGVzdC9jb3B5R1Rlc3QuY21ha2UuaW4KLSBkZWxldGUg bW9kZSAxMDA2NDQgdGVzdC9kb3dubG9hZEdUZXN0LmNtYWtlLmluCi0gY3JlYXRlIG1vZGUgMTAw NjQ0IHRlc3QvdGVzdF9tYWluLmNwcAotCi1kaWZmIC0tZ2l0IGEvLmFwcHZleW9yLnltbCBiLy5h cHB2ZXlvci55bWwKLWluZGV4IGU2NTk2ZTguLmE0ZDgzOTMgMTAwNjQ0Ci0tLS0gYS8uYXBwdmV5 b3IueW1sCi0rKysgYi8uYXBwdmV5b3IueW1sCi1AQCAtMjksMTIgKzI5LDEyIEBAIGluc3RhbGw6 Ci0gICAtIGNvbmRhIHVwZGF0ZSAtcSBjb25kYQotICAgLSBjb25kYSBpbmZvIC1hCi0gICAtIGNv bmRhIGluc3RhbGwgbWFtYmEgLWMgY29uZGEtZm9yZ2UKLS0gIC0gbWFtYmEgaW5zdGFsbCBjbWFr ZSBjcHB6bXE9NC43LjEgemVyb21xPTQuMy4yIHh0bD0wLjcgbmxvaG1hbm5fanNvbiBPcGVuU1NM PTEgLWMgY29uZGEtZm9yZ2UKLSsgIC0gbWFtYmEgaW5zdGFsbCBjbWFrZSBjcHB6bXE9NC43LjEg emVyb21xPTQuMy4yIHh0bD0wLjcgbmxvaG1hbm5fanNvbiBPcGVuU1NMPTEgZG9jdGVzdCAtYyBj b25kYS1mb3JnZQotICAgLSBtYW1iYSBpbnN0YWxsIHB5dGVzdCBqdXB5dGVyX2tlcm5lbF90ZXN0 PTAuMy4wIC1jIGNvbmRhLWZvcmdlCi0gICAjIEJ1aWxkCi0gICAtIG1rZGlyIGJ1aWxkCi0gICAt IGNkIGJ1aWxkCi0tICAtIGNtYWtlIC1HICJOTWFrZSBNYWtlZmlsZXMiIC1EIENNQUtFX0lOU1RB TExfUFJFRklYPSVNSU5JQ09OREElXFxMSUJSQVJZIC1EIFhFVVNfRE9XTkxPQURfR1RFU1Q9T04g LURndGVzdF9mb3JjZV9zaGFyZWRfY3J0PU9OIC4uCi0rICAtIGNtYWtlIC1HICJOTWFrZSBNYWtl ZmlsZXMiIC1EIENNQUtFX0lOU1RBTExfUFJFRklYPSVNSU5JQ09OREElXFxMSUJSQVJZIC1EIFhF VVNfQlVJTERfVEVTVFM9T04gIC4uCi0gICAtIG5tYWtlIGluc3RhbGwKLSAgICMgQnVpbGQgZXhh bXBsZQotICAgLSBjZCAuLlxleGFtcGxlCi1kaWZmIC0tZ2l0IGEvLmF6dXJlLXBpcGVsaW5lcy91 bml4LWJ1aWxkLnltbCBiLy5henVyZS1waXBlbGluZXMvdW5peC1idWlsZC55bWwKLWluZGV4IDcz Mzk3MmIuLmNmZTU1NmIgMTAwNjQ0Ci0tLS0gYS8uYXp1cmUtcGlwZWxpbmVzL3VuaXgtYnVpbGQu eW1sCi0rKysgYi8uYXp1cmUtcGlwZWxpbmVzL3VuaXgtYnVpbGQueW1sCi1AQCAtMjUsNyArMjUs NyBAQCBzdGVwczoKLSAgICAgICBpZiBbWyAkKHhldXNfYnVpbGRfc2hhcmVkX2xpYikgPT0gJzAn IF1dOyB0aGVuCi0gICAgICAgICBDTUFLRV9FWFRSQV9BUkdTPSIkQ01BS0VfRVhUUkFfQVJHUyAt RFhFVVNfQlVJTERfU0hBUkVEX0xJQlM9T0ZGIjsKLSAgICAgICBmaQotLSAgICAgIGNtYWtlIC1E Q01BS0VfSU5TVEFMTF9QUkVGSVg9JENPTkRBX1BSRUZJWCAtRFhFVVNfRE9XTkxPQURfR1RFU1Q9 T04gLURDTUFLRV9JTlNUQUxMX0xJQkRJUj1saWIgLURDTUFLRV9DX0NPTVBJTEVSPSRDQyAtRENN QUtFX0NYWF9DT01QSUxFUj0kQ1hYICRDTUFLRV9FWFRSQV9BUkdTICQoQnVpbGQuU291cmNlc0Rp cmVjdG9yeSkKLSsgICAgICBjbWFrZSAtRENNQUtFX0lOU1RBTExfUFJFRklYPSRDT05EQV9QUkVG SVggLURYRVVTX0JVSUxEX1RFU1RTPU9OIC1EQ01BS0VfSU5TVEFMTF9MSUJESVI9bGliIC1EQ01B S0VfQ19DT01QSUxFUj0kQ0MgLURDTUFLRV9DWFhfQ09NUElMRVI9JENYWCAkQ01BS0VfRVhUUkFf QVJHUyAkKEJ1aWxkLlNvdXJjZXNEaXJlY3RvcnkpCi0gICAgIGRpc3BsYXlOYW1lOiBDb25maWd1 cmUgeGV1cwotICAgICB3b3JraW5nRGlyZWN0b3J5OiAkKEJ1aWxkLkJpbmFyaWVzRGlyZWN0b3J5 KQotIAotZGlmZiAtLWdpdCBhL0NNYWtlTGlzdHMudHh0IGIvQ01ha2VMaXN0cy50eHQKLWluZGV4 IDQxZTY2OTIuLjVjZDJhYWIgMTAwNjQ0Ci0tLS0gYS9DTWFrZUxpc3RzLnR4dAotKysrIGIvQ01h a2VMaXN0cy50eHQKLUBAIC01NSw3ICs1NSw2IEBAIG9wdGlvbihYRVVTX1NUQVRJQ19ERVBFTkRF TkNJRVMgImxpbmsgc3RhdGljYWxseSB3aXRoIHhldXMgZGVwZW5kZW5jaWVzIiBPRkYpCi0gCi0g IyBUZXN0IG9wdGlvbnMKLSBvcHRpb24oWEVVU19CVUlMRF9URVNUUyAieGV1cyB0ZXN0IHN1aXRl IiBPRkYpCi0tb3B0aW9uKFhFVVNfRE9XTkxPQURfR1RFU1QgImJ1aWxkIGd0ZXN0IGZyb20gZG93 bmxvYWRlZCBzb3VyY2VzIiBPRkYpCi0gCi0gIyBTdGF0aWMgYnVpbGQgY29uZmlndXJhdGlvbgot ICMgPT09PT09PT09PT09PT09PT09PT09PT09PT0KLUBAIC0zNTIsNyArMzUxLDcgQEAgZW5kaWYg KCkKLSAKLSBpbmNsdWRlKENUZXN0KQotIAotLWlmKFhFVVNfRE9XTkxPQURfR1RFU1QgT1IgR1RF U1RfU1JDX0RJUiBPUiBYRVVTX0JVSUxEX1RFU1RTKQotK2lmKFhFVVNfQlVJTERfVEVTVFMpCi0g ICAgIHNldChCVUlMRF9URVNUSU5HIE9OKQotICAgICBtZXNzYWdlKFNUQVRVUyAidGVzdHMgZW5h YmxlZCIpCi0gZWxzZSAoKQotZGlmZiAtLWdpdCBhL2Vudmlyb25tZW50LWRldi55bWwgYi9lbnZp cm9ubWVudC1kZXYueW1sCi1pbmRleCBhNmM2ODhhLi5kMTA5YWRkIDEwMDY0NAotLS0tIGEvZW52 aXJvbm1lbnQtZGV2LnltbAotKysrIGIvZW52aXJvbm1lbnQtZGV2LnltbAotQEAgLTE0LDUgKzE0 LDYgQEAgZGVwZW5kZW5jaWVzOgotICAgLSBsaWJvcGVuc3NsLXN0YXRpYz0xCi0gICAtIG5sb2ht YW5uX2pzb24KLSAgICMgVGVzdCBkZXBlbmRlbmNpZXMKLSsgIC0gZG9jdGVzdCA+PSAyLjQuNgot ICAgLSBweXRlc3QKLSAgIC0ganVweXRlcl9rZXJuZWxfdGVzdD0wLjMuMAotZGlmZiAtLWdpdCBh L3Rlc3QvQ01ha2VMaXN0cy50eHQgYi90ZXN0L0NNYWtlTGlzdHMudHh0Ci1pbmRleCA2MWFhYWRl Li5iMjRhM2U1IDEwMDY0NAotLS0tIGEvdGVzdC9DTWFrZUxpc3RzLnR4dAotKysrIGIvdGVzdC9D TWFrZUxpc3RzLnR4dAotQEAgLTQ4LDQ0ICs0OCwxNSBAQCBpZihDTUFLRV9DWFhfQ09NUElMRVJf SUQgTUFUQ0hFUyBNU1ZDKQotICAgICBzZXQoQ01BS0VfRVhFX0xJTktFUl9GTEFHUyAvTUFOSUZF U1Q6Tk8pCi0gZW5kaWYoKQotIAotLWlmKFhFVVNfRE9XTkxPQURfR1RFU1QgT1IgR1RFU1RfU1JD X0RJUikKLS0gICAgaWYoWEVVU19ET1dOTE9BRF9HVEVTVCkKLS0gICAgICAgICMgRG93bmxvYWQg YW5kIHVucGFjayBnb29nbGV0ZXN0IGF0IGNvbmZpZ3VyZSB0aW1lCi0tICAgICAgICBjb25maWd1 cmVfZmlsZShkb3dubG9hZEdUZXN0LmNtYWtlLmluIGdvb2dsZXRlc3QtZG93bmxvYWQvQ01ha2VM aXN0cy50eHQpCi0tICAgIGVsc2UoKQotLSAgICAgICAgIyBDb3B5IGxvY2FsIHNvdXJjZSBvZiBn b29nbGV0ZXN0IGF0IGNvbmZpZ3VyZSB0aW1lCi0tICAgICAgICBjb25maWd1cmVfZmlsZShjb3B5 R1Rlc3QuY21ha2UuaW4gZ29vZ2xldGVzdC1kb3dubG9hZC9DTWFrZUxpc3RzLnR4dCkKLS0gICAg ZW5kaWYoKQotLSAgICBleGVjdXRlX3Byb2Nlc3MoQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1H ICIke0NNQUtFX0dFTkVSQVRPUn0iIC4KLS0gICAgICAgICAgICAgICAgICAgIFJFU1VMVF9WQVJJ QUJMRSByZXN1bHQKLS0gICAgICAgICAgICAgICAgICAgIFdPUktJTkdfRElSRUNUT1JZICR7Q01B S0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LWRvd25sb2FkICkKLS0gICAgaWYocmVz dWx0KQotLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiQ01ha2Ugc3RlcCBmb3IgZ29vZ2xl dGVzdCBmYWlsZWQ6ICR7cmVzdWx0fSIpCi0tICAgIGVuZGlmKCkKLS0gICAgZXhlY3V0ZV9wcm9j ZXNzKENPTU1BTkQgJHtDTUFLRV9DT01NQU5EfSAtLWJ1aWxkIC4KLS0gICAgICAgICAgICAgICAg ICAgIFJFU1VMVF9WQVJJQUJMRSByZXN1bHQKLS0gICAgICAgICAgICAgICAgICAgIFdPUktJTkdf RElSRUNUT1JZICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LWRvd25sb2Fk ICkKLS0gICAgaWYocmVzdWx0KQotLSAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiQnVpbGQg c3RlcCBmb3IgZ29vZ2xldGVzdCBmYWlsZWQ6ICR7cmVzdWx0fSIpCi0tICAgIGVuZGlmKCkKLSAK LS0gICAgIyBBZGQgZ29vZ2xldGVzdCBkaXJlY3RseSB0byBvdXIgYnVpbGQuIFRoaXMgZGVmaW5l cwotLSAgICAjIHRoZSBndGVzdCBhbmQgZ3Rlc3RfbWFpbiB0YXJnZXRzLgotLSAgICBhZGRfc3Vi ZGlyZWN0b3J5KCR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LXNyYwotLSAg ICAgICAgICAgICAgICAgICAgICR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0 LWJ1aWxkIEVYQ0xVREVfRlJPTV9BTEwpCi0rZmluZF9wYWNrYWdlKGRvY3Rlc3QgUkVRVUlSRUQp Ci0gCi0tICAgIHNldChHVEVTVF9JTkNMVURFX0RJUlMgIiR7Z3Rlc3RfU09VUkNFX0RJUn0vaW5j bHVkZSIpCi0tICAgIHNldChHVEVTVF9CT1RIX0xJQlJBUklFUyAgZ3Rlc3RfbWFpbiBndGVzdCkK LS1lbHNlKCkKLS0gICAgZmluZF9wYWNrYWdlKEdUZXN0IFJFUVVJUkVEKQotLWVuZGlmKCkKLSAK LSBmaW5kX3BhY2thZ2UoVGhyZWFkcykKLSAKLS1maW5kX3Byb2dyYW0oUFlURVNUCi0tICAgIE5B TUVTIHB5dGVzdC0zIHB5dGVzdCBweS50ZXN0LTMgcHkudGVzdCkKLStmaW5kX3Byb2dyYW0oUFlU RVNUICAKLSsgICAgTkFNRVMgcHl0ZXN0LTMgcHl0ZXN0IHB5LnRlc3QtMyBweS50ZXN0IFJFUVVJ UkVEKQotIAotLWluY2x1ZGVfZGlyZWN0b3JpZXMoJHtHVEVTVF9JTkNMVURFX0RJUlN9KQotIAot IHNldChYRVVTX1RFU1RTCi0gICAgIHRlc3RfeGluX21lbW9yeV9oaXN0b3J5X21hbmFnZXIuY3Bw Ci1AQCAtMTEzLDI3ICs4NCwxMSBAQCBlbmRpZiAoKQotIGZvcmVhY2goZmlsZW5hbWUgSU4gTElT VFMgWEVVU19URVNUUykKLSAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCh0YXJnZXRuYW1lICR7 ZmlsZW5hbWV9IE5BTUVfV0UpCi0gCi0tICAgIGFkZF9leGVjdXRhYmxlKCR7dGFyZ2V0bmFtZX0g JHtmaWxlbmFtZX0pCi0tICAgIHRhcmdldF9saW5rX2xpYnJhcmllcygke3RhcmdldG5hbWV9IFBS SVZBVEUgJHt4ZXVzX1RBUkdFVH0gJHtHVEVTVF9CT1RIX0xJQlJBUklFU30gVGhyZWFkczo6VGhy ZWFkcyAke25sb2htYW5uX2pzb25fVEFSR0VUfSkKLS0gICAgCi0rICAgIGFkZF9leGVjdXRhYmxl KCR7dGFyZ2V0bmFtZX0gdGVzdF9tYWluLmNwcCAke2ZpbGVuYW1lfSkKLSsgICAgdGFyZ2V0X2xp bmtfbGlicmFyaWVzKCR7dGFyZ2V0bmFtZX0gUFJJVkFURSAke3hldXNfVEFSR0VUfSBkb2N0ZXN0 Ojpkb2N0ZXN0IFRocmVhZHM6OlRocmVhZHMgJHtubG9obWFubl9qc29uX1RBUkdFVH0pCi0gICAg IGFkZF90ZXN0KE5BTUUgJHt0YXJnZXRuYW1lfSBDT01NQU5EICR7dGFyZ2V0bmFtZX0pCi0gZW5k Zm9yZWFjaCgpCi0gCi0taWYoWEVVU19ET1dOTE9BRF9HVEVTVCBPUiBHVEVTVF9TUkNfRElSKQot LSAgICAjIGh0dHBzOi8vZ2l0aHViLmNvbS9qdXB5dGVyLXhldXMveGV1cy9wdWxsLzEyNgotLSAg ICAjIFRoaXMgc2hvdWxkIHJlYWxseSBqdXN0IGJlIHBvc3QgZ3Rlc3QgYW5kIGd0ZXN0X21haW4g dGFyZ2V0cywgYnV0IENNYWtlCi0tICAgICMgd29uJ3QgYWxsb3cgdXMgdG8gZG8gdGhhdC4gU28g ZG8gaXQgYWZ0ZXIgdGhlIGxhc3QgdGVzdCAod2hpY2ggZGVwZW5kcyBvbgotLSAgICAjIHRob3Nl IGFueXdheS4pCi0tICAgIGlmIChYRVVTX0JVSUxEX1NIQVJFRF9MSUJTKQotLSAgICAgICAgYWRk X2N1c3RvbV9jb21tYW5kKAotLSAgICAgICAgICAgIFRBUkdFVCAke3RhcmdldG5hbWV9IFBPU1Rf QlVJTEQKLS0gICAgICAgICAgICBDT01NQU5EICR7Q01BS0VfQ09NTUFORH0gLUUgY29weSAiJDxU QVJHRVRfRklMRTpndGVzdD4iICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vIikKLS0KLS0g ICAgICAgIGFkZF9jdXN0b21fY29tbWFuZCgKLS0gICAgICAgICAgICBUQVJHRVQgJHt0YXJnZXRu YW1lfSBQT1NUX0JVSUxECi0tICAgICAgICAgICAgQ09NTUFORCAke0NNQUtFX0NPTU1BTkR9IC1F IGNvcHkgIiQ8VEFSR0VUX0ZJTEU6Z3Rlc3RfbWFpbj4iICIke0NNQUtFX0NVUlJFTlRfQklOQVJZ X0RJUn0vIikKLS0gICAgZW5kaWYgKCkKLS1lbmRpZigpCi0gCi0gIyBUZXN0X2tlcm5lbCB0ZXN0 cwotICMgPT09PT09PT09PT09PT09PT0KLWRpZmYgLS1naXQgYS90ZXN0L2NvcHlHVGVzdC5jbWFr ZS5pbiBiL3Rlc3QvY29weUdUZXN0LmNtYWtlLmluCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK LWluZGV4IDFlNWQzZWQuLjAwMDAwMDAKLS0tLSBhL3Rlc3QvY29weUdUZXN0LmNtYWtlLmluCi0r KysgL2Rldi9udWxsCi1AQCAtMSwyMyArMCwwIEBACi0tIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwotLSMg Q29weXJpZ2h0IChjKSAyMDE2LCBKb2hhbiBNYWJpbGxlLCBTeWx2YWluIENvcmxheSBhbmQgV29s ZiBWb2xscHJlY2h0ICAgICMKLS0jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjCi0tIyBEaXN0cmlidXRlZCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEJTRCAzLUNsYXVzZSBMaWNlbnNlLiAgICAgICAgICAgICAg ICAgIwotLSMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICMKLS0jIFRoZSBmdWxsIGxpY2Vuc2UgaXMgaW4gdGhl IGZpbGUgTElDRU5TRSwgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHNvZnR3YXJlLiAjCi0tIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwotLQotLWNtYWtlX21pbmltdW1fcmVxdWlyZWQoVkVSU0lPTiAyLjguMikK LS0KLS1wcm9qZWN0KGdvb2dsZXRlc3QtZG93bmxvYWQgTk9ORSkKLS0KLS1pbmNsdWRlKEV4dGVy bmFsUHJvamVjdCkKLS1FeHRlcm5hbFByb2plY3RfQWRkKGdvb2dsZXRlc3QKLS0gICAgVVJMICAg ICAgICAgICAgICAgIiR7R1RFU1RfU1JDX0RJUn0iCi0tICAgIFNPVVJDRV9ESVIgICAgICAgICIk e0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1zcmMiCi0tICAgIEJJTkFSWV9E SVIgICAgICAgICIke0NNQUtFX0NVUlJFTlRfQklOQVJZX0RJUn0vZ29vZ2xldGVzdC1idWlsZCIK LS0gICAgQ09ORklHVVJFX0NPTU1BTkQgIiIKLS0gICAgQlVJTERfQ09NTUFORCAgICAgIiIKLS0g ICAgSU5TVEFMTF9DT01NQU5EICAgIiIKLS0gICAgVEVTVF9DT01NQU5EICAgICAgIiIKLS0pCi0t Ci1kaWZmIC0tZ2l0IGEvdGVzdC9kb3dubG9hZEdUZXN0LmNtYWtlLmluIGIvdGVzdC9kb3dubG9h ZEdUZXN0LmNtYWtlLmluCi1kZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKLWluZGV4IDg1MmQ0M2Mu LjAwMDAwMDAKLS0tLSBhL3Rlc3QvZG93bmxvYWRHVGVzdC5jbWFrZS5pbgotKysrIC9kZXYvbnVs bAotQEAgLTEsMjQgKzAsMCBAQAotLSMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKLS0jIENvcHlyaWdodCAo YykgMjAxNiwgSm9oYW4gTWFiaWxsZSwgU3lsdmFpbiBDb3JsYXkgYW5kIFdvbGYgVm9sbHByZWNo dCAgICAjCi0tIyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIwotLSMgRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBCU0QgMy1DbGF1c2UgTGljZW5zZS4gICAgICAgICAgICAgICAgICMKLS0jICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjCi0tIyBUaGUgZnVsbCBsaWNlbnNlIGlzIGluIHRoZSBmaWxlIExJQ0VO U0UsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0d2FyZS4gIwotLSMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKLS0KLS1jbWFrZV9taW5pbXVtX3JlcXVpcmVkKFZFUlNJT04gMi44LjIpCi0tCi0tcHJvamVj dChnb29nbGV0ZXN0LWRvd25sb2FkIE5PTkUpCi0tCi0taW5jbHVkZShFeHRlcm5hbFByb2plY3Qp Ci0tRXh0ZXJuYWxQcm9qZWN0X0FkZChnb29nbGV0ZXN0Ci0tICAgIEdJVF9SRVBPU0lUT1JZICAg IGh0dHBzOi8vZ2l0aHViLmNvbS9nb29nbGUvZ29vZ2xldGVzdC5naXQKLS0gICAgR0lUX1RBRyAg ICAgICAgICAgcmVsZWFzZS0xLjEwLjAKLS0gICAgU09VUkNFX0RJUiAgICAgICAgIiR7Q01BS0Vf Q1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LXNyYyIKLS0gICAgQklOQVJZX0RJUiAgICAg ICAgIiR7Q01BS0VfQ1VSUkVOVF9CSU5BUllfRElSfS9nb29nbGV0ZXN0LWJ1aWxkIgotLSAgICBD T05GSUdVUkVfQ09NTUFORCAiIgotLSAgICBCVUlMRF9DT01NQU5EICAgICAiIgotLSAgICBJTlNU QUxMX0NPTU1BTkQgICAiIgotLSAgICBURVNUX0NPTU1BTkQgICAgICAiIgotLSkKLS0KLWRpZmYg LS1naXQgYS90ZXN0L3Rlc3RfbWFpbi5jcHAgYi90ZXN0L3Rlc3RfbWFpbi5jcHAKLW5ldyBmaWxl IG1vZGUgMTAwNjQ0Ci1pbmRleCAwMDAwMDAwLi44NDY4NGMwCi0tLS0gL2Rldi9udWxsCi0rKysg Yi90ZXN0L3Rlc3RfbWFpbi5jcHAKLUBAIC0wLDAgKzEsMiBAQAotKyNkZWZpbmUgRE9DVEVTVF9D T05GSUdfSU1QTEVNRU5UX1dJVEhfTUFJTgotKyNpbmNsdWRlICJkb2N0ZXN0L2RvY3Rlc3QuaCIK LVwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF91bml0 X2tlcm5lbC5jcHAgYi90ZXN0L3Rlc3RfdW5pdF9rZXJuZWwuY3BwCi1pbmRleCA3NGI5ZjA3Li5l ZTg3MDliIDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X3VuaXRfa2VybmVsLmNwcAotKysrIGIvdGVz dC90ZXN0X3VuaXRfa2VybmVsLmNwcAotQEAgLTYsOSArNiwxMCBAQAotICogVGhlIGZ1bGwgbGlj ZW5zZSBpcyBpbiB0aGUgZmlsZSBMSUNFTlNFLCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29mdHdh cmUuICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqLwotIAotLSNpbmNsdWRlICJndGVzdC9ndGVzdC5o IgotKyNpbmNsdWRlICJkb2N0ZXN0L2RvY3Rlc3QuaCIKLSAKLSAjaW5jbHVkZSA8c3RyaW5nPgot KyNpbmNsdWRlIDxpb3N0cmVhbT4KLSAKLSAjaW5jbHVkZSAibmxvaG1hbm4vanNvbi5ocHAiCi0g Ci1AQCAtMjAsNDggKzIxLDUxIEBAIG5hbWVzcGFjZSBubCA9IG5sb2htYW5uOwotIAotIG5hbWVz cGFjZSB4ZXVzCi0gewotLSAgICBURVNUKGtlcm5lbCwgZ2V0X3VzZXJuYW1lKQotKyAgICBURVNU X1NVSVRFKCJrZXJuZWwiKSB7Ci0rCi0rICAgIFRFU1RfQ0FTRSgiZ2V0X3VzZXJuYW1lIikKLSAg ICAgewotICAgICAgICAgc3RkOjpzdHJpbmcgdXNlcm5hbWU7Ci0gICAgICAgICB1c2VybmFtZSA9 IGdldF91c2VyX25hbWUoKTsKLS0gICAgICAgIEVYUEVDVF9ORSh1c2VybmFtZSwgInVuc3BlY2lm aWVkIHVzZXIiKTsKLSsgICAgICAgIFJFUVVJUkVfTkUodXNlcm5hbWUsICJ1bnNwZWNpZmllZCB1 c2VyIik7Ci0gICAgIH0KLSAKLS0gICAgVEVTVChrZXJuZWwsIGZpbmRfZnJlZV9wb3J0KQotKyAg ICBURVNUX0NBU0UoImZpbmRfZnJlZV9wb3J0IikKLSAgICAgewotICAgICAgICAgc3RkOjpzdHJp bmcgcG9ydCA9IGZpbmRfZnJlZV9wb3J0KCk7Ci0tICAgICAgICBFWFBFQ1RfTkUocG9ydCwgIiIp OwotLSAgICAgICAgRVhQRUNUX0VRKHBvcnQubGVuZ3RoKCksIHN0ZDo6c2l6ZV90KDUpKTsKLSsg ICAgICAgIFJFUVVJUkVfTkUocG9ydCwgIiIpOwotKyAgICAgICAgUkVRVUlSRV9FUShwb3J0Lmxl bmd0aCgpLCBzdGQ6OnNpemVfdCg1KSk7Ci0gICAgIH0KLSAKLS0gICAgVEVTVChrZXJuZWwsIHRl bXBfZGlyZWN0b3J5X3BhdGgpCi0rICAgIFRFU1RfQ0FTRSgidGVtcF9kaXJlY3RvcnlfcGF0aCIp Ci0gICAgIHsKLSAgICAgICAgIHN0ZDo6c3RyaW5nIHBhdGggPSBnZXRfdGVtcF9kaXJlY3Rvcnlf cGF0aCgpOwotICAgICAgICAgc3RkOjpjb3V0IDw8ICJUZW1wb3JhcnkgZGlyZWN0b3J5IHBhdGg6 ICIgPDwgcGF0aCA8PCBzdGQ6OmVuZGw7Ci0tICAgICAgICBFWFBFQ1RfTkUocGF0aCwgIiIpOwot LSAgICAgICAgRVhQRUNUX05FKHBhdGguYmFjaygpLCAnLycpOwotLSAgICAgICAgRVhQRUNUX05F KHBhdGguYmFjaygpLCAnXFwnKTsKLSsgICAgICAgIFJFUVVJUkVfTkUocGF0aCwgIiIpOwotKyAg ICAgICAgUkVRVUlSRV9ORShwYXRoLmJhY2soKSwgJy8nKTsKLSsgICAgICAgIFJFUVVJUkVfTkUo cGF0aC5iYWNrKCksICdcXCcpOwotICAgICB9Ci0gCi0tICAgIFRFU1Qoa2VybmVsLCBjcmVhdGVf ZGlyZWN0b3J5KQotKyAgICBURVNUX0NBU0UoImNyZWF0ZV9kaXJlY3RvcnkiKQotICAgICB7Ci0g ICAgICAgICBzdGQ6OnN0cmluZyB0ZW1wX3BhdGggPSBnZXRfdGVtcF9kaXJlY3RvcnlfcGF0aCgp OwotICAgICAgICAgc3RkOjpzdHJpbmcgcGF0aCA9IHRlbXBfcGF0aCArICIvaW50ZXJtZWRpYXRl L2xvZ3MiOwotICAgICAgICAgYm9vbCByZXMgPSBjcmVhdGVfZGlyZWN0b3J5KHBhdGgpOwotLSAg ICAgICAgRVhQRUNUX1RSVUUocmVzKTsKLSsgICAgICAgIFJFUVVJUkVfVU5BUlkocmVzKTsKLSAg ICAgfQotIAotLSAgICBURVNUKGtlcm5lbCwgZ2V0X2N1cnJlbnRfcGlkKQotKyAgICBURVNUX0NB U0UoImdldF9jdXJyZW50X3BpZCIpCi0gICAgIHsKLSAgICAgICAgIGludCBwaWQgPSBnZXRfY3Vy cmVudF9waWQoKTsKLS0gICAgICAgIEVYUEVDVF9ORShwaWQsIC0xKTsKLSsgICAgICAgIFJFUVVJ UkVfTkUocGlkLCAtMSk7Ci0gICAgIH0KLSAKLS0gICAgVEVTVChrZXJuZWwsIGdldF90bXBfaGFz aF9zZWVkKQotKyAgICBURVNUX0NBU0UoImdldF90bXBfaGFzaF9zZWVkIikKLSAgICAgewotICAg ICAgICAgc2l6ZV90IGhzID0gZ2V0X3RtcF9oYXNoX3NlZWQoKTsKLSAgICAgICAgIHNpemVfdCBl eHBlY3RlZCA9IHN0YXRpY19jYXN0PHN0ZDo6c2l6ZV90PigweGM3MGY2OTA3VUwpOwotLSAgICAg ICAgRVhQRUNUX0VRKGhzLCBleHBlY3RlZCk7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhzLCBleHBl Y3RlZCk7Ci0rICAgIH0KLSAgICAgfQotIH0KLSAKLWRpZmYgLS1naXQgYS90ZXN0L3Rlc3RfeGlu X21lbW9yeV9oaXN0b3J5X21hbmFnZXIuY3BwIGIvdGVzdC90ZXN0X3hpbl9tZW1vcnlfaGlzdG9y eV9tYW5hZ2VyLmNwcAotaW5kZXggZGYyMjc1YS4uYTIwNGNhMSAxMDA2NDQKLS0tLSBhL3Rlc3Qv dGVzdF94aW5fbWVtb3J5X2hpc3RvcnlfbWFuYWdlci5jcHAKLSsrKyBiL3Rlc3QvdGVzdF94aW5f bWVtb3J5X2hpc3RvcnlfbWFuYWdlci5jcHAKLUBAIC02LDcgKzYsNyBAQAotICogVGhlIGZ1bGwg bGljZW5zZSBpcyBpbiB0aGUgZmlsZSBMSUNFTlNFLCBkaXN0cmlidXRlZCB3aXRoIHRoaXMgc29m dHdhcmUuICoKLSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLwotIAotLSNpbmNsdWRlICJndGVzdC9ndGVz dC5oIgotKyNpbmNsdWRlICJkb2N0ZXN0L2RvY3Rlc3QuaCIKLSAKLSAjaW5jbHVkZSA8dmVjdG9y PgotICNpbmNsdWRlIDxhcnJheT4KLUBAIC0yMyw3ICsyMyw4IEBAIG5hbWVzcGFjZSB4ZXVzCi0g ICAgIHVzaW5nIGhpc3RvcnlfbWFuYWdlcl9wdHIgPSBzdGQ6OnVuaXF1ZV9wdHI8eGhpc3Rvcnlf bWFuYWdlcj47Ci0gICAgIHVzaW5nIGhpc3RvcnlfdHlwZSA9IHN0ZDo6dmVjdG9yPHN0ZDo6YXJy YXk8c3RkOjpzdHJpbmcsIDM+PjsKLSAKLS0gICAgVEVTVCh4aW5fbWVtb3J5X2hpc3RvcnlfbWFu YWdlciwgZ2V0X3RhaWwpCi0rICAgIFRFU1RfU1VJVEUoInhpbl9tZW1vcnlfaGlzdG9yeV9tYW5h Z2VyIil7Ci0rICAgIFRFU1RfQ0FTRSgiZ2V0X3RhaWwiKQotICAgICB7Ci0gICAgICAgICBoaXN0 b3J5X21hbmFnZXJfcHRyIGhpc3QgPSB4ZXVzOjptYWtlX2luX21lbW9yeV9oaXN0b3J5X21hbmFn ZXIoKTsKLSAgICAgICAgIGhpc3QtPnN0b3JlX2lucHV0cygwLCAxLCAicHJpbnQoMykiKTsKLUBA IC0zMiwyOSArMzMsMjkgQEAgbmFtZXNwYWNlIHhldXMKLSAgICAgICAgIGhpc3QtPnN0b3JlX2lu cHV0cygwLCA0LCAiYSIpOwotIAotICAgICAgICAgbmw6Ompzb24gdGFpbDEgPSBoaXN0LT5nZXRf dGFpbCgxMDAwLCB0cnVlLCBmYWxzZSk7Ci0tICAgICAgICBBU1NFUlRfRVEodGFpbDFbInN0YXR1 cyJdLCAib2siKTsKLSsgICAgICAgIFJFUVVJUkVfRVEodGFpbDFbInN0YXR1cyJdLCAib2siKTsK LSAgICAgICAgIGF1dG8gaGlzdG9yeTEgPSB0YWlsMVsiaGlzdG9yeSJdLmdldDxoaXN0b3J5X3R5 cGU+KCk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTEuc2l6ZSgpLCBzdGQ6OnNpemVfdCg0 KSk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTFbMF1bMV0sICIxIik7Ci0tICAgICAgICBB U1NFUlRfRVEoaGlzdG9yeTFbMF1bMl0sICJwcmludCgzKSIpOwotLSAgICAgICAgQVNTRVJUX0VR KGhpc3RvcnkxWzFdWzFdLCAiMiIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3RvcnkxWzFdWzJd LCAiYSA9IDMiKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MVsyXVsxXSwgIjMiKTsKLS0g ICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MVsyXVsyXSwgInByaW50KGEpIik7Ci0tICAgICAgICBB U1NFUlRfRVEoaGlzdG9yeTFbM11bMV0sICI0Iik7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9y eTFbM11bMl0sICJhIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3RvcnkxLnNpemUoKSwgc3Rk OjpzaXplX3QoNCkpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MVswXVsxXSwgIjEiKTsK LSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTFbMF1bMl0sICJwcmludCgzKSIpOwotKyAgICAg ICAgUkVRVUlSRV9FUShoaXN0b3J5MVsxXVsxXSwgIjIiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEo aGlzdG9yeTFbMV1bMl0sICJhID0gMyIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MVsy XVsxXSwgIjMiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTFbMl1bMl0sICJwcmludChh KSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MVszXVsxXSwgIjQiKTsKLSsgICAgICAg IFJFUVVJUkVfRVEoaGlzdG9yeTFbM11bMl0sICJhIik7Ci0gCi0gICAgICAgICBubDo6anNvbiB0 YWlsMiA9IGhpc3QtPmdldF90YWlsKDIsIHRydWUsIGZhbHNlKTsKLS0gICAgICAgIEFTU0VSVF9F USh0YWlsMlsic3RhdHVzIl0sICJvayIpOwotKyAgICAgICAgUkVRVUlSRV9FUSh0YWlsMlsic3Rh dHVzIl0sICJvayIpOwotICAgICAgICAgYXV0byBoaXN0b3J5MiA9IHRhaWwyWyJoaXN0b3J5Il0u Z2V0PGhpc3RvcnlfdHlwZT4oKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5Mi5zaXplKCks IHN0ZDo6c2l6ZV90KDIpKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MlswXVsxXSwgIjMi KTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MlswXVsyXSwgInByaW50KGEpIik7Ci0tICAg ICAgICBBU1NFUlRfRVEoaGlzdG9yeTJbMV1bMV0sICI0Iik7Ci0tICAgICAgICBBU1NFUlRfRVEo aGlzdG9yeTJbMV1bMl0sICJhIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3RvcnkyLnNpemUo KSwgc3RkOjpzaXplX3QoMikpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MlswXVsxXSwg IjMiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTJbMF1bMl0sICJwcmludChhKSIpOwot KyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MlsxXVsxXSwgIjQiKTsKLSsgICAgICAgIFJFUVVJ UkVfRVEoaGlzdG9yeTJbMV1bMl0sICJhIik7Ci0gICAgIH0KLSAKLS0gICAgVEVTVCh4aW5fbWVt b3J5X2hpc3RvcnlfbWFuYWdlciwgZ2V0X3JhbmdlKQotKyAgICBURVNUX0NBU0UoImdldF9yYW5n ZSIpCi0gICAgIHsKLSAgICAgICAgIGhpc3RvcnlfbWFuYWdlcl9wdHIgaGlzdCA9IHhldXM6Om1h a2VfaW5fbWVtb3J5X2hpc3RvcnlfbWFuYWdlcigpOwotICAgICAgICAgaGlzdC0+c3RvcmVfaW5w dXRzKDAsIDEsICJwcmludCgzKSIpOwotQEAgLTYzLDI2ICs2NCwyNiBAQCBuYW1lc3BhY2UgeGV1 cwotICAgICAgICAgaGlzdC0+c3RvcmVfaW5wdXRzKDAsIDQsICJhIik7Ci0gCi0gICAgICAgICBu bDo6anNvbiByYW5nZTEgPSBoaXN0LT5nZXRfcmFuZ2UoMCwgMSwgMiwgdHJ1ZSwgZmFsc2UpOwot LSAgICAgICAgQVNTRVJUX0VRKHJhbmdlMVsic3RhdHVzIl0sICJvayIpOwotKyAgICAgICAgUkVR VUlSRV9FUShyYW5nZTFbInN0YXR1cyJdLCAib2siKTsKLSAgICAgICAgIGF1dG8gaGlzdG9yeTEg PSByYW5nZTFbImhpc3RvcnkiXS5nZXQ8aGlzdG9yeV90eXBlPigpOwotLSAgICAgICAgQVNTRVJU X0VRKGhpc3RvcnkxLnNpemUoKSwgc3RkOjpzaXplX3QoMSkpOwotLSAgICAgICAgQVNTRVJUX0VR KGhpc3RvcnkxWzBdWzFdLCAiMiIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3RvcnkxWzBdWzJd LCAiYSA9IDMiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTEuc2l6ZSgpLCBzdGQ6OnNp emVfdCgxKSk7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3RvcnkxWzBdWzFdLCAiMiIpOwotKyAg ICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MVswXVsyXSwgImEgPSAzIik7Ci0gCi0gICAgICAgICBu bDo6anNvbiByYW5nZTIgPSBoaXN0LT5nZXRfcmFuZ2UoMCwgMSwgMywgdHJ1ZSwgZmFsc2UpOwot LSAgICAgICAgQVNTRVJUX0VRKHJhbmdlMlsic3RhdHVzIl0sICJvayIpOwotKyAgICAgICAgUkVR VUlSRV9FUShyYW5nZTJbInN0YXR1cyJdLCAib2siKTsKLSAgICAgICAgIGF1dG8gaGlzdG9yeTIg PSByYW5nZTJbImhpc3RvcnkiXS5nZXQ8aGlzdG9yeV90eXBlPigpOwotLSAgICAgICAgQVNTRVJU X0VRKGhpc3RvcnkyLnNpemUoKSwgc3RkOjpzaXplX3QoMikpOwotLSAgICAgICAgQVNTRVJUX0VR KGhpc3RvcnkyWzBdWzFdLCAiMiIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3RvcnkyWzBdWzJd LCAiYSA9IDMiKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MlsxXVsxXSwgIjMiKTsKLS0g ICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MlsxXVsyXSwgInByaW50KGEpIik7Ci0rICAgICAgICBS RVFVSVJFX0VRKGhpc3RvcnkyLnNpemUoKSwgc3RkOjpzaXplX3QoMikpOwotKyAgICAgICAgUkVR VUlSRV9FUShoaXN0b3J5MlswXVsxXSwgIjIiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9y eTJbMF1bMl0sICJhID0gMyIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MlsxXVsxXSwg IjMiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTJbMV1bMl0sICJwcmludChhKSIpOwot IAotICAgICAgICAgbmw6Ompzb24gcmFuZ2UzID0gaGlzdC0+Z2V0X3JhbmdlKDAsIDEwMDAsIDIs IHRydWUsIGZhbHNlKTsKLS0gICAgICAgIEFTU0VSVF9FUShyYW5nZTNbInN0YXR1cyJdLCAiZXJy b3IiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEocmFuZ2UzWyJzdGF0dXMiXSwgImVycm9yIik7Ci0g ICAgIH0KLSAKLS0gICAgVEVTVCh4aW5fbWVtb3J5X2hpc3RvcnlfbWFuYWdlciwgc2VhcmNoKQot KyAgICBURVNUX0NBU0UoInNlYXJjaCIpCi0gICAgIHsKLSAgICAgICAgIGhpc3RvcnlfbWFuYWdl cl9wdHIgaGlzdCA9IHhldXM6Om1ha2VfaW5fbWVtb3J5X2hpc3RvcnlfbWFuYWdlcigpOwotICAg ICAgICAgaGlzdC0+c3RvcmVfaW5wdXRzKDAsIDEsICJwcmludCgzNikiKTsKLUBAIC05MSw1NSAr OTIsNTYgQEAgbmFtZXNwYWNlIHhldXMKLSAgICAgICAgIGhpc3QtPnN0b3JlX2lucHV0cygwLCA0 LCAiYSIpOwotIAotICAgICAgICAgbmw6Ompzb24gc2VhcmNoMSA9IGhpc3QtPnNlYXJjaCgicHJp bnQqIiwgdHJ1ZSwgZmFsc2UsIDEwLCBmYWxzZSk7Ci0tICAgICAgICBBU1NFUlRfRVEoc2VhcmNo MVsic3RhdHVzIl0sICJvayIpOwotKyAgICAgICAgUkVRVUlSRV9FUShzZWFyY2gxWyJzdGF0dXMi XSwgIm9rIik7Ci0gICAgICAgICBhdXRvIGhpc3RvcnkxID0gc2VhcmNoMVsiaGlzdG9yeSJdLmdl dDxoaXN0b3J5X3R5cGU+KCk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTEuc2l6ZSgpLCBz dGQ6OnNpemVfdCgyKSk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTFbMF1bMV0sICIxIik7 Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTFbMF1bMl0sICJwcmludCgzNikiKTsKLS0gICAg ICAgIEFTU0VSVF9FUShoaXN0b3J5MVsxXVsxXSwgIjMiKTsKLS0gICAgICAgIEFTU0VSVF9FUSho aXN0b3J5MVsxXVsyXSwgInByaW50KGEpIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3Rvcnkx LnNpemUoKSwgc3RkOjpzaXplX3QoMikpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MVsw XVsxXSwgIjEiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTFbMF1bMl0sICJwcmludCgz NikiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTFbMV1bMV0sICIzIik7Ci0rICAgICAg ICBSRVFVSVJFX0VRKGhpc3RvcnkxWzFdWzJdLCAicHJpbnQoYSkiKTsKLSAKLSAgICAgICAgIG5s Ojpqc29uIHNlYXJjaDIgPSBoaXN0LT5zZWFyY2goInByaW50KCopIiwgdHJ1ZSwgZmFsc2UsIDEw LCBmYWxzZSk7Ci0tICAgICAgICBBU1NFUlRfRVEoc2VhcmNoMlsic3RhdHVzIl0sICJvayIpOwot KyAgICAgICAgUkVRVUlSRV9FUShzZWFyY2gyWyJzdGF0dXMiXSwgIm9rIik7Ci0gICAgICAgICBh dXRvIGhpc3RvcnkyID0gc2VhcmNoMlsiaGlzdG9yeSJdLmdldDxoaXN0b3J5X3R5cGU+KCk7Ci0t ICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTIuc2l6ZSgpLCBzdGQ6OnNpemVfdCgyKSk7Ci0tICAg ICAgICBBU1NFUlRfRVEoaGlzdG9yeTJbMF1bMV0sICIxIik7Ci0tICAgICAgICBBU1NFUlRfRVEo aGlzdG9yeTJbMF1bMl0sICJwcmludCgzNikiKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5 MlsxXVsxXSwgIjMiKTsKLS0gICAgICAgIEFTU0VSVF9FUShoaXN0b3J5MlsxXVsyXSwgInByaW50 KGEpIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3RvcnkyLnNpemUoKSwgc3RkOjpzaXplX3Qo MikpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5MlswXVsxXSwgIjEiKTsKLSsgICAgICAg IFJFUVVJUkVfRVEoaGlzdG9yeTJbMF1bMl0sICJwcmludCgzNikiKTsKLSsgICAgICAgIFJFUVVJ UkVfRVEoaGlzdG9yeTJbMV1bMV0sICIzIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3Rvcnky WzFdWzJdLCAicHJpbnQoYSkiKTsKLSAKLSAgICAgICAgIG5sOjpqc29uIHNlYXJjaDMgPSBoaXN0 LT5zZWFyY2goInByaW50KD8pIiwgdHJ1ZSwgZmFsc2UsIDEwLCBmYWxzZSk7Ci0tICAgICAgICBB U1NFUlRfRVEoc2VhcmNoM1sic3RhdHVzIl0sICJvayIpOwotKyAgICAgICAgUkVRVUlSRV9FUShz ZWFyY2gzWyJzdGF0dXMiXSwgIm9rIik7Ci0gICAgICAgICBhdXRvIGhpc3RvcnkzID0gc2VhcmNo M1siaGlzdG9yeSJdLmdldDxoaXN0b3J5X3R5cGU+KCk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlz dG9yeTMuc2l6ZSgpLCBzdGQ6OnNpemVfdCgxKSk7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9y eTNbMF1bMV0sICIzIik7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTNbMF1bMl0sICJwcmlu dChhKSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5My5zaXplKCksIHN0ZDo6c2l6ZV90 KDEpKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTNbMF1bMV0sICIzIik7Ci0rICAgICAg ICBSRVFVSVJFX0VRKGhpc3RvcnkzWzBdWzJdLCAicHJpbnQoYSkiKTsKLSAKLSAgICAgICAgIG5s Ojpqc29uIHNlYXJjaDQgPSBoaXN0LT5zZWFyY2goInByaW50KiIsIHRydWUsIGZhbHNlLCAxLCBm YWxzZSk7Ci0tICAgICAgICBBU1NFUlRfRVEoc2VhcmNoNFsic3RhdHVzIl0sICJvayIpOwotKyAg ICAgICAgUkVRVUlSRV9FUShzZWFyY2g0WyJzdGF0dXMiXSwgIm9rIik7Ci0gICAgICAgICBhdXRv IGhpc3Rvcnk0ID0gc2VhcmNoNFsiaGlzdG9yeSJdLmdldDxoaXN0b3J5X3R5cGU+KCk7Ci0tICAg ICAgICBBU1NFUlRfRVEoaGlzdG9yeTQuc2l6ZSgpLCBzdGQ6OnNpemVfdCgxKSk7Ci0tICAgICAg ICBBU1NFUlRfRVEoaGlzdG9yeTRbMF1bMV0sICIzIik7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlz dG9yeTRbMF1bMl0sICJwcmludChhKSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5NC5z aXplKCksIHN0ZDo6c2l6ZV90KDEpKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTRbMF1b MV0sICIzIik7Ci0rICAgICAgICBSRVFVSVJFX0VRKGhpc3Rvcnk0WzBdWzJdLCAicHJpbnQoYSki KTsKLSAKLSAgICAgICAgIGhpc3QtPnN0b3JlX2lucHV0cygwLCAzLCAicHJpbnQoYSkiKTsKLSAg ICAgICAgIG5sOjpqc29uIHNlYXJjaDUgPSBoaXN0LT5zZWFyY2goInByaW50KiIsIHRydWUsIGZh bHNlLCAxMCwgZmFsc2UpOwotLSAgICAgICAgQVNTRVJUX0VRKHNlYXJjaDVbInN0YXR1cyJdLCAi b2siKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoc2VhcmNoNVsic3RhdHVzIl0sICJvayIpOwotICAg ICAgICAgYXV0byBoaXN0b3J5NSA9IHNlYXJjaDVbImhpc3RvcnkiXS5nZXQ8aGlzdG9yeV90eXBl PigpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3Rvcnk1LnNpemUoKSwgc3RkOjpzaXplX3QoMykp OwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3RvcnkyWzBdWzFdLCAiMSIpOwotLSAgICAgICAgQVNT RVJUX0VRKGhpc3RvcnkyWzBdWzJdLCAicHJpbnQoMzYpIik7Ci0tICAgICAgICBBU1NFUlRfRVEo aGlzdG9yeTVbMV1bMV0sICIzIik7Ci0tICAgICAgICBBU1NFUlRfRVEoaGlzdG9yeTVbMV1bMl0s ICJwcmludChhKSIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3Rvcnk1WzJdWzFdLCAiMyIpOwot LSAgICAgICAgQVNTRVJUX0VRKGhpc3Rvcnk1WzJdWzJdLCAicHJpbnQoYSkiKTsKLSsgICAgICAg IFJFUVVJUkVfRVEoaGlzdG9yeTUuc2l6ZSgpLCBzdGQ6OnNpemVfdCgzKSk7Ci0rICAgICAgICBS RVFVSVJFX0VRKGhpc3RvcnkyWzBdWzFdLCAiMSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0 b3J5MlswXVsyXSwgInByaW50KDM2KSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5NVsx XVsxXSwgIjMiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTVbMV1bMl0sICJwcmludChh KSIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5NVsyXVsxXSwgIjMiKTsKLSsgICAgICAg IFJFUVVJUkVfRVEoaGlzdG9yeTVbMl1bMl0sICJwcmludChhKSIpOwotIAotICAgICAgICAgbmw6 Ompzb24gc2VhcmNoNiA9IGhpc3QtPnNlYXJjaCgicHJpbnQqIiwgdHJ1ZSwgZmFsc2UsIDEwLCB0 cnVlKTsKLS0gICAgICAgIEFTU0VSVF9FUShzZWFyY2g2WyJzdGF0dXMiXSwgIm9rIik7Ci0rICAg ICAgICBSRVFVSVJFX0VRKHNlYXJjaDZbInN0YXR1cyJdLCAib2siKTsKLSAgICAgICAgIGF1dG8g aGlzdG9yeTYgPSBzZWFyY2g2WyJoaXN0b3J5Il0uZ2V0PGhpc3RvcnlfdHlwZT4oKTsKLS0gICAg ICAgIEFTU0VSVF9FUShoaXN0b3J5MlswXVsxXSwgIjEiKTsKLS0gICAgICAgIEFTU0VSVF9FUSho aXN0b3J5MlswXVsyXSwgInByaW50KDM2KSIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3Rvcnk1 WzFdWzFdLCAiMyIpOwotLSAgICAgICAgQVNTRVJUX0VRKGhpc3Rvcnk1WzFdWzJdLCAicHJpbnQo YSkiKTsKLSsgICAgICAgIFJFUVVJUkVfRVEoaGlzdG9yeTJbMF1bMV0sICIxIik7Ci0rICAgICAg ICBSRVFVSVJFX0VRKGhpc3RvcnkyWzBdWzJdLCAicHJpbnQoMzYpIik7Ci0rICAgICAgICBSRVFV SVJFX0VRKGhpc3Rvcnk1WzFdWzFdLCAiMyIpOwotKyAgICAgICAgUkVRVUlSRV9FUShoaXN0b3J5 NVsxXVsyXSwgInByaW50KGEpIik7Ci0rICAgIH0KLSAgICAgfQotIH0KLS0tIAotMi4zNi4xCi0K CmRpZmYgLS1naXQgYS8wMDAyLU5ldmVyLWRlbGV0ZS1jb250ZXh0LWJlZm9yZS1zb2NrZXRzLnBh dGNoIGIvMDAwMi1OZXZlci1kZWxldGUtY29udGV4dC1iZWZvcmUtc29ja2V0cy5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzc1NTFlNS4uMDAwMDAwMAotLS0gYS8wMDAyLU5l dmVyLWRlbGV0ZS1jb250ZXh0LWJlZm9yZS1zb2NrZXRzLnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsNjYgKzAsMCBAQAotRnJvbSAyMDZmNTRlYTU0YzBhNTM1NWFkYjE1MzFlMGQ1MjM1MDFhYTlj MmI5IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogSm9oYW4gTWFiaWxsZSA8am9oYW4u bWFiaWxsZUBnbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI0IFNlcCAyMDIxIDAwOjQ4OjI2ICswMjAw Ci1TdWJqZWN0OiBbUEFUQ0ggMi8zXSBOZXZlciBkZWxldGUgY29udGV4dCBiZWZvcmUgc29ja2V0 cwotCi1TaWduZWQtb2ZmLWJ5OiBFbGxpb3R0IFNhbGVzIGRlIEFuZHJhZGUgPHF1YW50dW0uYW5h bHlzdEBnbWFpbC5jb20+Ci0tLS0KLSBpbmNsdWRlL3hldXMveGtlcm5lbC5ocHAgfCA1ICsrKyst Ci0gc3JjL3hrZXJuZWwuY3BwICAgICAgICAgIHwgNCArKy0tCi0gMiBmaWxlcyBjaGFuZ2VkLCA2 IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9pbmNsdWRlL3hl dXMveGtlcm5lbC5ocHAgYi9pbmNsdWRlL3hldXMveGtlcm5lbC5ocHAKLWluZGV4IDRlZjBkZDMu LmQzMmMwN2UgMTAwNjQ0Ci0tLS0gYS9pbmNsdWRlL3hldXMveGtlcm5lbC5ocHAKLSsrKyBiL2lu Y2x1ZGUveGV1cy94a2VybmVsLmhwcAotQEAgLTg0LDEzICs4NCwxNiBAQCBuYW1lc3BhY2UgeGV1 cwotICAgICAgICAgc3RkOjpzdHJpbmcgbV9rZXJuZWxfaWQ7Ci0gICAgICAgICBzdGQ6OnN0cmlu ZyBtX3Nlc3Npb25faWQ7Ci0gICAgICAgICBzdGQ6OnN0cmluZyBtX3VzZXJfbmFtZTsKLSsgICAg ICAgIC8vIFRoZSBjb250ZXh0IG11c3QgYmUgZGVjbGFyZWQgYmVmb3JlIGFueSBvdGhlcgotKyAg ICAgICAgLy8gbWlkZGxld2FyZSBjb21wb25lbnQgc2luY2UgaXQgbXVzdCBiZSBkZXN0cm95ZWQK LSsgICAgICAgIC8vIGxhc3QKLSsgICAgICAgIGNvbnRleHRfcHRyIHBfY29udGV4dDsKLSAgICAg ICAgIGludGVycHJldGVyX3B0ciBwX2ludGVycHJldGVyOwotICAgICAgICAgaGlzdG9yeV9tYW5h Z2VyX3B0ciBwX2hpc3RvcnlfbWFuYWdlcjsKLSAgICAgICAgIGxvZ2dlcl9wdHIgcF9sb2dnZXI7 Ci0gICAgICAgICBzZXJ2ZXJfcHRyIHBfc2VydmVyOwotICAgICAgICAgZGVidWdnZXJfYnVpbGRl ciBtX2RlYnVnZ2VyX2J1aWxkZXI7Ci0gICAgICAgICBkZWJ1Z2dlcl9wdHIgcF9kZWJ1Z2dlcjsK LS0gICAgICAgIGNvbnRleHRfcHRyIHBfY29udGV4dDsKLSAgICAgICAgIGtlcm5lbF9jb3JlX3B0 ciBwX2NvcmU7Ci0gICAgICAgICBubDo6anNvbiBtX2RlYnVnZ2VyX2NvbmZpZzsKLSAgICAgICAg IG5sOjpqc29uOjplcnJvcl9oYW5kbGVyX3QgbV9lcnJvcl9oYW5kbGVyOwotZGlmZiAtLWdpdCBh L3NyYy94a2VybmVsLmNwcCBiL3NyYy94a2VybmVsLmNwcAotaW5kZXggMmJkYThhZi4uYzhlMjYz YSAxMDA2NDQKLS0tLSBhL3NyYy94a2VybmVsLmNwcAotKysrIGIvc3JjL3hrZXJuZWwuY3BwCi1A QCAtODIsMTEgKzgyLDExIEBAIG5hbWVzcGFjZSB4ZXVzCi0gICAgICAgICAgICAgICAgICAgICAg bmw6Ompzb246OmVycm9yX2hhbmRsZXJfdCBlaCkKLSAgICAgICAgIDogbV9jb25maWcoY29uZmln KQotICAgICAgICAgLCBtX3VzZXJfbmFtZSh1c2VyX25hbWUpCi0rICAgICAgICAsIHBfY29udGV4 dChzdGQ6Om1vdmUoY29udGV4dCkpCi0gICAgICAgICAsIHBfaW50ZXJwcmV0ZXIoc3RkOjptb3Zl KGludGVycHJldGVyKSkKLSAgICAgICAgICwgcF9oaXN0b3J5X21hbmFnZXIoc3RkOjptb3ZlKGhp c3RvcnlfbWFuYWdlcikpCi0gICAgICAgICAsIHBfbG9nZ2VyKHN0ZDo6bW92ZShsb2dnZXIpKQot ICAgICAgICAgLCBtX2RlYnVnZ2VyX2J1aWxkZXIoZGJ1aWxkZXIpCi0tICAgICAgICAsIHBfY29u dGV4dChzdGQ6Om1vdmUoY29udGV4dCkpCi0gICAgICAgICAsIG1fZGVidWdnZXJfY29uZmlnKGRl YnVnZ2VyX2NvbmZpZykKLSAgICAgICAgICwgbV9lcnJvcl9oYW5kbGVyKGVoKQotICAgICB7Ci1A QCAtMTAzLDExICsxMDMsMTEgQEAgbmFtZXNwYWNlIHhldXMKLSAgICAgICAgICAgICAgICAgICAg ICBubDo6anNvbiBkZWJ1Z2dlcl9jb25maWcsCi0gICAgICAgICAgICAgICAgICAgICAgbmw6Ompz b246OmVycm9yX2hhbmRsZXJfdCBlaCkKLSAgICAgICAgIDogbV91c2VyX25hbWUodXNlcl9uYW1l KQotKyAgICAgICAgLCBwX2NvbnRleHQoc3RkOjptb3ZlKGNvbnRleHQpKQotICAgICAgICAgLCBw X2ludGVycHJldGVyKHN0ZDo6bW92ZShpbnRlcnByZXRlcikpCi0gICAgICAgICAsIHBfaGlzdG9y eV9tYW5hZ2VyKHN0ZDo6bW92ZShoaXN0b3J5X21hbmFnZXIpKQotICAgICAgICAgLCBwX2xvZ2dl cihzdGQ6Om1vdmUobG9nZ2VyKSkKLSAgICAgICAgICwgbV9kZWJ1Z2dlcl9idWlsZGVyKGRidWls ZGVyKQotLSAgICAgICAgLCBwX2NvbnRleHQoc3RkOjptb3ZlKGNvbnRleHQpKQotICAgICAgICAg LCBtX2RlYnVnZ2VyX2NvbmZpZyhkZWJ1Z2dlcl9jb25maWcpCi0gICAgICAgICAsIG1fZXJyb3Jf aGFuZGxlcihlaCkKLSAgICAgewotLS0gCi0yLjM2LjEKLQoKZGlmZiAtLWdpdCBhLzAwMDMtRml4 LW5vbi1zdGFuZGFyZC1tZXNzYWdlcy5wYXRjaCBiLzAwMDMtRml4LW5vbi1zdGFuZGFyZC1tZXNz YWdlcy5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGM1ZmM1ZC4uMDAwMDAw MAotLS0gYS8wMDAzLUZpeC1ub24tc3RhbmRhcmQtbWVzc2FnZXMucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw3MDcgKzAsMCBAQAotRnJvbSAyNzFjM2UxYzRjMTM0MzM2MzIzYjk3OWI2YjBkNWQ3 MDJlMGJhYTM4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTWFyaWFuYSBNZWlyZWxl cyA8bWFyaWFuYUBwc3ljaG9uYXV0Z2lybC5zcGFjZT4KLURhdGU6IEZyaSwgMjQgU2VwIDIwMjEg MDc6MzA6NTYgKzAwMDAKLVN1YmplY3Q6IFtQQVRDSCAzLzNdIEZpeCBub24tc3RhbmRhcmQgbWVz c2FnZXMKLQotU2lnbmVkLW9mZi1ieTogRWxsaW90dCBTYWxlcyBkZSBBbmRyYWRlIDxxdWFudHVt LmFuYWx5c3RAZ21haWwuY29tPgotLS0tCi0gQ01ha2VMaXN0cy50eHQgICAgICAgICAgICAgICAg ICAgICB8ICAgNCArLQotIGV4YW1wbGUvc3JjL2N1c3RvbV9pbnRlcnByZXRlci5jcHAgfCAgNjEg KysrKy0tLS0tLS0tCi0gaW5jbHVkZS94ZXVzL3hoZWxwZXIuaHBwICAgICAgICAgICB8ICA3MiAr KysrKysrKysrKysrKwotIHNyYy94aGVscGVyLmNwcCAgICAgICAgICAgICAgICAgICAgfCAxNTUg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKLSB0ZXN0L0NNYWtlTGlzdHMudHh0ICAgICAg ICAgICAgICAgIHwgICAzICstCi0gdGVzdC90ZXN0X2ludGVycHJldGVyLmNwcCAgICAgICAgICB8 ICA3OCArKysrKystLS0tLS0tLS0KLSB0ZXN0L3Rlc3RfdW5pdF9rZXJuZWwuY3BwICAgICAgICAg IHwgMTI3ICsrKysrKysrKysrKysrKy0tLS0tLS0tCi0gNyBmaWxlcyBjaGFuZ2VkLCAzNjcgaW5z ZXJ0aW9ucygrKSwgMTMzIGRlbGV0aW9ucygtKQotIGNyZWF0ZSBtb2RlIDEwMDY0NCBpbmNsdWRl L3hldXMveGhlbHBlci5ocHAKLSBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL3hoZWxwZXIuY3BwCi0K LWRpZmYgLS1naXQgYS9DTWFrZUxpc3RzLnR4dCBiL0NNYWtlTGlzdHMudHh0Ci1pbmRleCA1Y2Qy YWFiLi5iOTY4YWJiIDEwMDY0NAotLS0tIGEvQ01ha2VMaXN0cy50eHQKLSsrKyBiL0NNYWtlTGlz dHMudHh0Ci1AQCAtMTMzLDYgKzEzMyw3IEBAIHNldChYRVVTX0hFQURFUlMKLSAgICAgJHtYRVVT X0lOQ0xVREVfRElSfS94ZXVzL3hrZXJuZWxfY29uZmlndXJhdGlvbi5ocHAKLSAgICAgJHtYRVVT X0lOQ0xVREVfRElSfS94ZXVzL3hsb2dnZXIuaHBwCi0gICAgICR7WEVVU19JTkNMVURFX0RJUn0v eGV1cy94bWVzc2FnZS5ocHAKLSsgICAgJHtYRVVTX0lOQ0xVREVfRElSfS94ZXVzL3hoZWxwZXIu aHBwCi0gICAgICR7WEVVU19JTkNMVURFX0RJUn0veGV1cy94bWlkZGxld2FyZS5ocHAKLSAgICAg JHtYRVVTX0lOQ0xVREVfRElSfS94ZXVzL3hzZXJ2ZXIuaHBwCi0gICAgICR7WEVVU19JTkNMVURF X0RJUn0veGV1cy94c2VydmVyX2NvbnRyb2xfbWFpbi5ocHAKLUBAIC0xNjgsNiArMTY5LDcgQEAg c2V0KFhFVVNfU09VUkNFUwotICAgICAke1hFVVNfU09VUkNFX0RJUn0veGxvZ2dlcl9pbXBsLmhw cAotICAgICAke1hFVVNfU09VUkNFX0RJUn0veGxvZ2dlcl9pbXBsLmNwcAotICAgICAke1hFVVNf U09VUkNFX0RJUn0veG1lc3NhZ2UuY3BwCi0rICAgICR7WEVVU19TT1VSQ0VfRElSfS94aGVscGVy LmNwcAotICAgICAke1hFVVNfU09VUkNFX0RJUn0veG1vY2tfaW50ZXJwcmV0ZXIuY3BwCi0gICAg ICR7WEVVU19TT1VSQ0VfRElSfS94bW9ja19pbnRlcnByZXRlci5ocHAKLSAgICAgJHtYRVVTX1NP VVJDRV9ESVJ9L3htaWRkbGV3YXJlLmNwcAotQEAgLTM1MSw3ICszNTMsNyBAQCBlbmRpZiAoKQot IAotIGluY2x1ZGUoQ1Rlc3QpCi0gCi0taWYoWEVVU19CVUlMRF9URVNUUykKLStpZihYRVVTX0RP V05MT0FEX0dURVNUIE9SIEdURVNUX1NSQ19ESVIgT1IgWEVVU19CVUlMRF9URVNUUykKLSAgICAg c2V0KEJVSUxEX1RFU1RJTkcgT04pCi0gICAgIG1lc3NhZ2UoU1RBVFVTICJ0ZXN0cyBlbmFibGVk IikKLSBlbHNlICgpCi1kaWZmIC0tZ2l0IGEvZXhhbXBsZS9zcmMvY3VzdG9tX2ludGVycHJldGVy LmNwcCBiL2V4YW1wbGUvc3JjL2N1c3RvbV9pbnRlcnByZXRlci5jcHAKLWluZGV4IGNhYWQzNzUu LmUyZGJmY2EgMTAwNjQ0Ci0tLS0gYS9leGFtcGxlL3NyYy9jdXN0b21faW50ZXJwcmV0ZXIuY3Bw Ci0rKysgYi9leGFtcGxlL3NyYy9jdXN0b21faW50ZXJwcmV0ZXIuY3BwCi1AQCAtMTAsNyArMTAs NyBAQAotICNpbmNsdWRlIDxpb3N0cmVhbT4KLSAKLSAjaW5jbHVkZSAibmxvaG1hbm4vanNvbi5o cHAiCi0tCi0rI2luY2x1ZGUgInhldXMveGhlbHBlci5ocHAiCi0gI2luY2x1ZGUgImN1c3RvbV9p bnRlcnByZXRlci5ocHAiCi0gCi0gbmFtZXNwYWNlIG5sID0gbmxvaG1hbm47Ci1AQCAtNDQsOSAr NDQsNyBAQCBuYW1lc3BhY2UgY3VzdG9tCi0gICAgICAgICAvLyBwdWJsaXNoX2V4ZWN1dGlvbl9l cnJvcihlcnJvcl9uYW1lLCBlcnJvcl92YWx1ZSwgZXJyb3JfdHJhY2ViYWNrKTsKLSAgICAgICAg IHB1Ymxpc2hfZXhlY3V0aW9uX2Vycm9yKCJUeXBlRXJyb3IiLCAiMTIzIiwgeyIhQCMkIiwgIioo KiJ9KTsKLSAKLS0gICAgICAgIG5sOjpqc29uIHJlc3VsdDsKLS0gICAgICAgIHJlc3VsdFsic3Rh dHVzIl0gPSAib2siOwotLSAgICAgICAgcmV0dXJuIHJlc3VsdDsKLSsgICAgICAgIHJldHVybiB4 ZXVzOjpjcmVhdGVfc3VjY2Vzc2Z1bF9yZXBseSgpOwotICAgICB9Ci0gCi0gICAgIHZvaWQgY3Vz dG9tX2ludGVycHJldGVyOjpjb25maWd1cmVfaW1wbCgpCi1AQCAtNTcsMjYgKzU1LDE2IEBAIG5h bWVzcGFjZSBjdXN0b20KLSAgICAgbmw6Ompzb24gY3VzdG9tX2ludGVycHJldGVyOjpjb21wbGV0 ZV9yZXF1ZXN0X2ltcGwoY29uc3Qgc3RkOjpzdHJpbmcmIGNvZGUsCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCBjdXJzb3JfcG9zKQot ICAgICB7Ci0tICAgICAgICBubDo6anNvbiByZXN1bHQ7Ci0tCi0gICAgICAgICAvLyBDb2RlIHN0 YXJ0cyB3aXRoICdIJywgaXQgY291bGQgYmUgdGhlIGZvbGxvd2luZyBjb21wbGV0aW9uCi0gICAg ICAgICBpZiAoY29kZVswXSA9PSAnSCcpCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgcmVzdWx0 WyJzdGF0dXMiXSA9ICJvayI7Ci0tICAgICAgICAgICAgcmVzdWx0WyJtYXRjaGVzIl0gPSB7Ikhl bGxvIiwgIkhleSIsICJIb3dkeSJ9OwotLSAgICAgICAgICAgIHJlc3VsdFsiY3Vyc29yX3N0YXJ0 Il0gPSA1OwotLSAgICAgICAgICAgIHJlc3VsdFsiY3Vyc29yX2VuZCJdID0gY3Vyc29yX3BvczsK LSsgICAgICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX2NvbXBsZXRlX3JlcGx5KHsiSGVsbG8i LCAiSGV5IiwgIkhvd2R5In0sIDUsIGN1cnNvcl9wb3MpOwotICAgICAgICAgfQotICAgICAgICAg Ly8gTm8gY29tcGxldGlvbiByZXN1bHQKLSAgICAgICAgIGVsc2UKLSAgICAgICAgIHsKLS0gICAg ICAgICAgICByZXN1bHRbInN0YXR1cyJdID0gIm9rIjsKLS0gICAgICAgICAgICByZXN1bHRbIm1h dGNoZXMiXSA9IG5sOjpqc29uOjphcnJheSgpOwotLSAgICAgICAgICAgIHJlc3VsdFsiY3Vyc29y X3N0YXJ0Il0gPSBjdXJzb3JfcG9zOwotLSAgICAgICAgICAgIHJlc3VsdFsiY3Vyc29yX2VuZCJd ID0gY3Vyc29yX3BvczsKLSsgICAgICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX2NvbXBsZXRl X3JlcGx5KHt9LCBjdXJzb3JfcG9zLCBjdXJzb3JfcG9zKTsKLSAgICAgICAgIH0KLS0KLS0gICAg ICAgIHJldHVybiByZXN1bHQ7Ci0gICAgIH0KLSAKLSAgICAgbmw6Ompzb24gY3VzdG9tX2ludGVy cHJldGVyOjppbnNwZWN0X3JlcXVlc3RfaW1wbChjb25zdCBzdGQ6OnN0cmluZyYgY29kZSwKLUBA IC04Nyw0OCArNzUsMzMgQEAgbmFtZXNwYWNlIGN1c3RvbQotIAotICAgICAgICAgaWYgKGNvZGUu Y29tcGFyZSgicHJpbnQiKSA9PSAwKQotICAgICAgICAgewotLSAgICAgICAgICAgIHJlc3VsdFsi Zm91bmQiXSA9IHRydWU7Ci0tICAgICAgICAgICAgcmVzdWx0WyJ0ZXh0L3BsYWluIl0gPSAiUHJp bnQgb2JqZWN0cyB0byB0aGUgdGV4dCBzdHJlYW0gZmlsZSwgWy4uLl0iOwotKyAgICAgICAgICAg IHJldHVybiB4ZXVzOjpjcmVhdGVfaW5zcGVjdF9yZXBseSh0cnVlLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7InRleHQvcGxhaW4iLCAiUHJpbnQgb2Jq ZWN0cyB0byB0aGUgdGV4dCBzdHJlYW0gZmlsZSwgWy4uLl0ifSk7Ci0gICAgICAgICB9Ci0gICAg ICAgICBlbHNlCi0gICAgICAgICB7Ci0tICAgICAgICAgICAgcmVzdWx0WyJmb3VuZCJdID0gZmFs c2U7Ci0rICAgICAgICAgICAgcmV0dXJuIHhldXM6OmNyZWF0ZV9pbnNwZWN0X3JlcGx5KCk7Ci0g ICAgICAgICB9Ci0tCi0tICAgICAgICByZXN1bHRbInN0YXR1cyJdID0gIm9rIjsKLS0gICAgICAg IHJldHVybiByZXN1bHQ7Ci0gICAgIH0KLSAKLSAgICAgbmw6Ompzb24gY3VzdG9tX2ludGVycHJl dGVyOjppc19jb21wbGV0ZV9yZXF1ZXN0X2ltcGwoY29uc3Qgc3RkOjpzdHJpbmcmIC8qY29kZSov KQotICAgICB7Ci0tICAgICAgICBubDo6anNvbiByZXN1bHQ7Ci0tCi0tICAgICAgICAvLyBpZiAo aXNfY29tcGxldGUoY29kZSkpCi0tICAgICAgICAvLyB7Ci0tICAgICAgICAgICAgcmVzdWx0WyJz dGF0dXMiXSA9ICJjb21wbGV0ZSI7Ci0tICAgICAgICAvLyB9Ci0tICAgICAgICAvLyBlbHNlCi0t ICAgICAgICAvLyB7Ci0tICAgICAgICAvLyAgICByZXN1bHRbInN0YXR1cyJdID0gImluY29tcGxl dGUiOwotLSAgICAgICAgLy8gICAgcmVzdWx0WyJpbmRlbnQiXSA9IDQ7Ci0tICAgICAgICAvL30K LS0KLS0gICAgICAgIHJldHVybiByZXN1bHQ7Ci0rICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRl X2lzX2NvbXBsZXRlX3JlcGx5KCJjb21wbGV0ZSIpOwotICAgICB9Ci0gCi0gICAgIG5sOjpqc29u IGN1c3RvbV9pbnRlcnByZXRlcjo6a2VybmVsX2luZm9fcmVxdWVzdF9pbXBsKCkKLSAgICAgewot LSAgICAgICAgbmw6Ompzb24gcmVzdWx0OwotLSAgICAgICAgcmVzdWx0WyJpbXBsZW1lbnRhdGlv biJdID0gIm15X2tlcm5lbCI7Ci0tICAgICAgICByZXN1bHRbImltcGxlbWVudGF0aW9uX3ZlcnNp b24iXSA9ICIwLjEuMCI7Ci0tICAgICAgICByZXN1bHRbImxhbmd1YWdlX2luZm8iXVsibmFtZSJd ID0gInB5dGhvbiI7Ci0tICAgICAgICByZXN1bHRbImxhbmd1YWdlX2luZm8iXVsidmVyc2lvbiJd ID0gIjMuNyI7Ci0tICAgICAgICByZXN1bHRbImxhbmd1YWdlX2luZm8iXVsibWltZXR5cGUiXSA9 ICJ0ZXh0L3gtcHl0aG9uIjsKLS0gICAgICAgIHJlc3VsdFsibGFuZ3VhZ2VfaW5mbyJdWyJmaWxl X2V4dGVuc2lvbiJdID0gIi5weSI7Ci0tICAgICAgICByZXR1cm4gcmVzdWx0OwotKyAgICAgICAg cmV0dXJuIHhldXM6OmNyZWF0ZV9pbmZvX3JlcGx5KCIiLAotKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJteV9rZXJuZWwiLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIwLjEuMCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInB5dGhvbiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIjMuNyIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRleHQv eC1weXRob24iLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIucHki KTsKLSAgICAgfQotIAotLSAgICB2b2lkIGN1c3RvbV9pbnRlcnByZXRlcjo6c2h1dGRvd25fcmVx dWVzdF9pbXBsKCkgewotKyAgICB2b2lkIGN1c3RvbV9pbnRlcnByZXRlcjo6c2h1dGRvd25fcmVx dWVzdF9pbXBsKCkKLSsgICAgewotICAgICAgICAgc3RkOjpjb3V0IDw8ICJCeWUhISIgPDwgc3Rk OjplbmRsOwotICAgICB9Ci0gCi1kaWZmIC0tZ2l0IGEvaW5jbHVkZS94ZXVzL3hoZWxwZXIuaHBw IGIvaW5jbHVkZS94ZXVzL3hoZWxwZXIuaHBwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotaW5kZXgg MDAwMDAwMC4uNTg0YzE1MAotLS0tIC9kZXYvbnVsbAotKysrIGIvaW5jbHVkZS94ZXVzL3hoZWxw ZXIuaHBwCi1AQCAtMCwwICsxLDcyIEBACi0rLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgotKyogQ29weXJp Z2h0IChjKSAyMDE2LCBKb2hhbiBNYWJpbGxlLCBTeWx2YWluIENvcmxheSwgTWFydGluIFJlbm91 ICAgICAgICAgICoKLSsqIENvcHlyaWdodCAoYykgMjAxNiwgUXVhbnRTdGFjayAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0rKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgot KyogRGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBCU0QgMy1DbGF1c2UgTGljZW5z ZS4gICAgICAgICAgICAgICAgICoKLSsqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCi0rKiBUaGUgZnVsbCBs aWNlbnNlIGlzIGluIHRoZSBmaWxlIExJQ0VOU0UsIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyBzb2Z0 d2FyZS4gKgotKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCi0rCi0rI2lmbmRlZiBYRVVTX0hFTFBFUl9I UFAKLSsjZGVmaW5lIFhFVVNfSEVMUEVSX0hQUAotKwotKyNpbmNsdWRlIDxpb3N0cmVhbT4KLSsj aW5jbHVkZSA8c3RyaW5nPgotKyNpbmNsdWRlIDx2ZWN0b3I+Ci0rCi0rI2luY2x1ZGUgInhldXMv eGV1cy5ocHAiCi0rI2luY2x1ZGUgInhldXMveGtlcm5lbF9jb25maWd1cmF0aW9uLmhwcCIKLSsK LSsjaW5jbHVkZSAibmxvaG1hbm4vanNvbi5ocHAiCi0rCi0rbmFtZXNwYWNlIG5sID0gbmxvaG1h bm47Ci0rCi0rbmFtZXNwYWNlIHhldXMKLSt7Ci0rICAgIFhFVVNfQVBJIHN0ZDo6c3RyaW5nIHBy aW50X3N0YXJ0aW5nX21lc3NhZ2UoY29uc3QgeGNvbmZpZ3VyYXRpb24mIGNvbmZpZyk7Ci0rCi0r ICAgIFhFVVNfQVBJIHN0ZDo6c3RyaW5nIGV4dHJhY3RfZmlsZW5hbWUoaW50IGFyZ2MsIGNoYXIq IGFyZ3ZbXSk7Ci0rCi0rICAgIFhFVVNfQVBJIGJvb2wgc2hvdWxkX3ByaW50X3ZlcnNpb24oaW50 IGFyZ2MsIGNoYXIqIGFyZ3ZbXSk7Ci0rCi0rICAgIFhFVVNfQVBJCi0rICAgIG5sOjpqc29uIGNy ZWF0ZV9lcnJvcl9yZXBseShjb25zdCBzdGQ6OnN0cmluZyYgZW5hbWUgPSBzdGQ6OnN0cmluZygp LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGV2 YWx1ZSA9IHN0ZDo6c3RyaW5nKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b25zdCBubDo6anNvbiYgdHJhY2VfYmFjayA9IG5sOjpqc29uOjphcnJheSgpKTsKLSsKLSsgICAg WEVVU19BUEkKLSsgICAgbmw6Ompzb24gY3JlYXRlX3N1Y2Nlc3NmdWxfcmVwbHkoY29uc3Qgbmw6 Ompzb24mIHBheWxvYWQgPSBubDo6anNvbjo6YXJyYXkoKSwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompzb24mIHVzZXJfZXhwcmVzc2lvbnMgPSBubDo6 anNvbjo6b2JqZWN0KCkpOwotKwotKyAgICBYRVVTX0FQSQotKyAgICBubDo6anNvbiBjcmVhdGVf Y29tcGxldGVfcmVwbHkoY29uc3Qgbmw6Ompzb24mIG1hdGNoZXMsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQmIGN1cnNvcl9zdGFydCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGludCYgY3Vyc29yX2VuZCwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5sOjpqc29uJiBtZXRhZGF0YSA9IG5s Ojpqc29uOjpvYmplY3QoKSk7Ci0rCi0rICAgIFhFVVNfQVBJCi0rICAgIG5sOjpqc29uIGNyZWF0 ZV9pbnNwZWN0X3JlcGx5KGNvbnN0IGJvb2wgZm91bmQgPSBmYWxzZSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompzb24mIGRhdGEgPSBubDo6anNvbjo6b2Jq ZWN0KCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5sOjpqc29u JiBtZXRhZGF0YSA9IG5sOjpqc29uOjpvYmplY3QoKSk7Ci0rCi0rICAgIFhFVVNfQVBJCi0rICAg IG5sOjpqc29uIGNyZWF0ZV9pc19jb21wbGV0ZV9yZXBseShjb25zdCBzdGQ6OnN0cmluZyYgc3Rh dHVzID0gc3RkOjpzdHJpbmcoKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBpbmRlbnQgPSBzdGQ6OnN0cmluZygiIikpOwotKwotKyAg ICBYRVVTX0FQSQotKyAgICBubDo6anNvbiBjcmVhdGVfaW5mb19yZXBseShjb25zdCBzdGQ6OnN0 cmluZyYgcHJvdG9jb2xfdmVyc2lvbiA9IHN0ZDo6c3RyaW5nKCksCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBpbXBsZW1lbnRhdGlvbiA9IHN0ZDo6 c3RyaW5nKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3Ry aW5nJiBpbXBsZW1lbnRhdGlvbl92ZXJzaW9uID0gc3RkOjpzdHJpbmcoKSwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGxhbmd1YWdlX25hbWUgPSBz dGQ6OnN0cmluZygpLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6 OnN0cmluZyYgbGFuZ3VhZ2VfdmVyc2lvbiA9IHN0ZDo6c3RyaW5nKCksCi0rICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBsYW5ndWFnZV9taW1ldHlwZSA9 IHN0ZDo6c3RyaW5nKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0 ZDo6c3RyaW5nJiBsYW5ndWFnZV9maWxlX2V4dGVuc2lvbiA9IHN0ZDo6c3RyaW5nKCksCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBweWdtZW50c19s ZXhlciA9IHN0ZDo6c3RyaW5nKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnN0IHN0ZDo6c3RyaW5nJiBsYW5ndWFnZV9jb2RlbWlycm9yX21vZGUgPSBzdGQ6OnN0cmluZygp LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbGFu Z3VhZ2VfbmJjb252ZXJ0X2V4cG9ydGVyID0gc3RkOjpzdHJpbmcoKSwKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGJhbm5lciA9IHN0ZDo6c3RyaW5n KCksCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJvb2wgZGVidWdnZXIg PSBmYWxzZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompzb24m IGhlbHBfbGlua3MgPSBubDo6anNvbjo6YXJyYXkoKSk7Ci0rfQotKwotKyNlbmRpZgotZGlmZiAt LWdpdCBhL3NyYy94aGVscGVyLmNwcCBiL3NyYy94aGVscGVyLmNwcAotbmV3IGZpbGUgbW9kZSAx MDA2NDQKLWluZGV4IDAwMDAwMDAuLjc1MjZmMGQKLS0tLSAvZGV2L251bGwKLSsrKyBiL3NyYy94 aGVscGVyLmNwcAotQEAgLTAsMCArMSwxNTUgQEAKLSsjaW5jbHVkZSA8c3RyaW5nPgotKyNpbmNs dWRlIDx2ZWN0b3I+Ci0rCi0rI2luY2x1ZGUgIm5sb2htYW5uL2pzb24uaHBwIgotKwotKyNpbmNs dWRlICJ4ZXVzL3hoZWxwZXIuaHBwIgotKwotK25hbWVzcGFjZSBubCA9IG5sb2htYW5uOwotKwot K25hbWVzcGFjZSB4ZXVzCi0rewotKyAgICBzdGQ6OnN0cmluZyBwcmludF9zdGFydGluZ19tZXNz YWdlKGNvbnN0IHhjb25maWd1cmF0aW9uJiBjb25maWcpCi0rICAgIHsKLSsgICAgICAgIHN0ZDo6 c3RyaW5nIGtlcm5lbF9pbmZvOwotKyAgICAgICAga2VybmVsX2luZm8gPSAiU3RhcnRpbmcga2Vy bmVsLi4uXG5cbiIKLSsgICAgICAgICAgICAiSWYgeW91IHdhbnQgdG8gY29ubmVjdCB0byB0aGlz IGtlcm5lbCBmcm9tIGFuIG90aGVyIGNsaWVudCwganVzdCBjb3B5IgotKyAgICAgICAgICAgICIg YW5kIHBhc3RlIHRoZSBmb2xsb3dpbmcgY29udGVudCBpbnNpZGUgb2YgYSBga2VybmVsLmpzb25g IGZpbGUuIEFuZCB0aGVuIHJ1biBmb3IgZXhhbXBsZTpcblxuIgotKyAgICAgICAgICAgICIjIGp1 cHl0ZXIgY29uc29sZSAtLWV4aXN0aW5nIGtlcm5lbC5qc29uXG5cbiIKLSsgICAgICAgICAgICAi a2VybmVsLmpzb25cbmBgYFxue1xuIgotKyAgICAgICAgICAgICIgICAgXCJ0cmFuc3BvcnRcIjog XCIiICsgY29uZmlnLm1fdHJhbnNwb3J0ICsgIlwiLFxuIgotKyAgICAgICAgICAgICIgICAgXCJp cFwiOiBcIiIgKyBjb25maWcubV9pcCArICJcIixcbiIKLSsgICAgICAgICAgICAiICAgIFwiY29u dHJvbF9wb3J0XCI6ICIgKyBjb25maWcubV9jb250cm9sX3BvcnQgKyAiLFxuIgotKyAgICAgICAg ICAgICIgICAgXCJzaGVsbF9wb3J0XCI6ICIgKyBjb25maWcubV9zaGVsbF9wb3J0ICsgIixcbiIK LSsgICAgICAgICAgICAiICAgIFwic3RkaW5fcG9ydFwiOiAiICsgY29uZmlnLm1fc3RkaW5fcG9y dCArICIsXG4iCi0rICAgICAgICAgICAgIiAgICBcImlvcHViX3BvcnRcIjogIiArIGNvbmZpZy5t X2lvcHViX3BvcnQgKyAiLFxuIgotKyAgICAgICAgICAgICIgICAgXCJoYl9wb3J0XCI6ICIgKyBj b25maWcubV9oYl9wb3J0ICsgIixcbiIKLSsgICAgICAgICAgICAiICAgIFwic2lnbmF0dXJlX3Nj aGVtZVwiOiBcIiIgKyBjb25maWcubV9zaWduYXR1cmVfc2NoZW1lICsgIlwiLFxuIgotKyAgICAg ICAgICAgICIgICAgXCJrZXlcIjogXCIiICsgY29uZmlnLm1fa2V5ICsgIlwiXG4iCi0rICAgICAg ICAgICAgIn1cbmBgYCI7Ci0rICAgICAgICByZXR1cm4ga2VybmVsX2luZm87Ci0rICAgIH0KLSsK LSsgICAgc3RkOjpzdHJpbmcgZXh0cmFjdF9maWxlbmFtZShpbnQgYXJnYywgY2hhciogYXJndltd KQotKyAgICB7Ci0rICAgICAgICBzdGQ6OnN0cmluZyByZXMgPSAiIjsKLSsgICAgICAgIGZvciAo aW50IGkgPSAwOyBpIDwgYXJnYzsgKytpKQotKyAgICAgICAgewotKyAgICAgICAgICAgIGlmICgo c3RkOjpzdHJpbmcoYXJndltpXSkgPT0gIi1mIikgJiYgKGkgKyAxIDwgYXJnYykpCi0rICAgICAg ICAgICAgewotKyAgICAgICAgICAgICAgICByZXMgPSBhcmd2W2kgKyAxXTsKLSsgICAgICAgICAg ICAgICAgZm9yKGludCBqID0gaTsgaiA8IGFyZ2MgLSAyOyArK2opCi0rICAgICAgICAgICAgICAg IHsKLSsgICAgICAgICAgICAgICAgICAgIGFyZ3Zbal0gID0gYXJndltqICsgMl07Ci0rICAgICAg ICAgICAgICAgIH0KLSsgICAgICAgICAgICAgICAgYXJnYyAtPSAyOwotKyAgICAgICAgICAgICAg ICBicmVhazsKLSsgICAgICAgICAgICB9Ci0rICAgICAgICB9Ci0rICAgICAgICByZXR1cm4gcmVz OwotKyAgICB9Ci0rCi0rICAgIGJvb2wgc2hvdWxkX3ByaW50X3ZlcnNpb24oaW50IGFyZ2MsIGNo YXIqIGFyZ3ZbXSkKLSsgICAgewotKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBhcmdjOyAr K2kpCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgaWYgKHN0ZDo6c3RyaW5nKGFyZ3ZbaV0pID09 ICItLXZlcnNpb24iKQotKyAgICAgICAgICAgIHsKLSsgICAgICAgICAgICAgICAgcmV0dXJuIHRy dWU7Ci0rICAgICAgICAgICAgfQotKyAgICAgICAgfQotKyAgICAgICAgcmV0dXJuIGZhbHNlOwot KyAgICB9Ci0rCi0rICAgIC8vIEhlbHBlcnMgdGhhdCBjcmVhdGUgcmVwbGllcyB0byB0aGUgc2Vy dmVyCi0rICAgIG5sOjpqc29uIGNyZWF0ZV9lcnJvcl9yZXBseShjb25zdCBzdGQ6OnN0cmluZyYg ZXZhbHVlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJp bmcmIGVuYW1lLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompz b24mIHRyYWNlX2JhY2spCi0rICAgIHsKLSsgICAgICAgIG5sOjpqc29uIGtlcm5lbF9yZXM7Ci0r ICAgICAgICBrZXJuZWxfcmVzWyJzdGF0dXMiXSA9ICJlcnJvciI7Ci0rICAgICAgICBrZXJuZWxf cmVzWyJlbmFtZSJdID0gZW5hbWU7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJldmFsdWUiXSA9IGV2 YWx1ZTsKLSsgICAgICAgIGtlcm5lbF9yZXNbInRyYWNlYmFjayJdID0gdHJhY2VfYmFjazsKLSsg ICAgICAgIHJldHVybiBrZXJuZWxfcmVzOwotKyAgICB9Ci0rCi0rICAgIG5sOjpqc29uIGNyZWF0 ZV9zdWNjZXNzZnVsX3JlcGx5KGNvbnN0IG5sOjpqc29uJiBwYXlsb2FkLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBubDo6anNvbiYgdXNlcl9leHByZXNzaW9u cykKLSsgICAgewotKyAgICAgICAgbmw6Ompzb24ga2VybmVsX3JlczsKLSsgICAgICAgIGtlcm5l bF9yZXNbInN0YXR1cyJdID0gIm9rIjsKLSsgICAgICAgIGtlcm5lbF9yZXNbInBheWxvYWQiXSA9 IHBheWxvYWQ7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJ1c2VyX2V4cHJlc3Npb25zIl0gPSB1c2Vy X2V4cHJlc3Npb25zOwotKyAgICAgICAgcmV0dXJuIGtlcm5lbF9yZXM7Ci0rICAgIH0KLSsKLSsg ICAgbmw6Ompzb24gY3JlYXRlX2NvbXBsZXRlX3JlcGx5KGNvbnN0IG5sOjpqc29uJiBtYXRjaGVz LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaW50JiBjdXJzb3Jf c3RhcnQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbnQmIGN1 cnNvcl9lbmQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBubDo6 anNvbiYgbWV0YWRhdGEpCi0rICAgIHsKLSsgICAgICAgIG5sOjpqc29uIGtlcm5lbF9yZXM7Ci0r ICAgICAgICBrZXJuZWxfcmVzWyJzdGF0dXMiXSA9ICJvayI7Ci0rICAgICAgICBrZXJuZWxfcmVz WyJtYXRjaGVzIl0gPSBtYXRjaGVzOwotKyAgICAgICAga2VybmVsX3Jlc1siY3Vyc29yX3N0YXJ0 Il0gPSBjdXJzb3Jfc3RhcnQ7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJjdXJzb3JfZW5kIl0gPSBj dXJzb3JfZW5kOwotKyAgICAgICAga2VybmVsX3Jlc1sibWV0YWRhdGEiXSA9IG1ldGFkYXRhOwot KyAgICAgICAgcmV0dXJuIGtlcm5lbF9yZXM7Ci0rICAgIH0KLSsKLSsgICAgbmw6Ompzb24gY3Jl YXRlX2luc3BlY3RfcmVwbHkoY29uc3QgYm9vbCBmb3VuZCwKLSsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompzb24mIGRhdGEsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbnN0IG5sOjpqc29uJiBtZXRhZGF0YSkKLSsgICAgewotKyAgICAg ICAgbmw6Ompzb24ga2VybmVsX3JlczsKLSsgICAgICAgIGtlcm5lbF9yZXNbInN0YXR1cyJdID0g Im9rIjsKLSsgICAgICAgIGtlcm5lbF9yZXNbImZvdW5kIl0gPSBmb3VuZDsKLSsgICAgICAgIGtl cm5lbF9yZXNbImRhdGEiXSA9IGRhdGE7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJtZXRhZGF0YSJd ID0gbWV0YWRhdGE7Ci0rICAgICAgICByZXR1cm4ga2VybmVsX3JlczsKLSsgICAgfQotKwotKyAg ICBubDo6anNvbiBjcmVhdGVfaXNfY29tcGxldGVfcmVwbHkoY29uc3Qgc3RkOjpzdHJpbmcmIHN0 YXR1cywKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6 c3RyaW5nJiBpbmRlbnQpCi0rICAgIHsKLSsgICAgICAgIG5sOjpqc29uIGtlcm5lbF9yZXM7Ci0r ICAgICAgICBrZXJuZWxfcmVzWyJzdGF0dXMiXSA9IHN0YXR1czsKLSsgICAgICAgIGtlcm5lbF9y ZXNbImluZGVudCJdID0gaW5kZW50OwotKyAgICAgICAgcmV0dXJuIGtlcm5lbF9yZXM7Ci0rICAg IH0KLSsKLSsgICAgbmw6Ompzb24gY3JlYXRlX2luZm9fcmVwbHkoY29uc3Qgc3RkOjpzdHJpbmcm IHByb3RvY29sX3ZlcnNpb24sCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0 IHN0ZDo6c3RyaW5nJiBpbXBsZW1lbnRhdGlvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGltcGxlbWVudGF0aW9uX3ZlcnNpb24sCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBsYW5ndWFnZV9uYW1l LAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbGFu Z3VhZ2VfdmVyc2lvbiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Rk OjpzdHJpbmcmIGxhbmd1YWdlX21pbWV0eXBlLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCBzdGQ6OnN0cmluZyYgbGFuZ3VhZ2VfZmlsZV9leHRlbnNpb24sCi0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBsYW5ndWFnZV9weWdt ZW50c19sZXhlciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpz dHJpbmcmIGxhbmd1YWdlX2NvZGVtaXJyb3JfbW9kZSwKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGxhbmd1YWdlX25iY29udmVydF9leHBvcnRlciwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGJhbm5l ciwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9vbCBkZWJ1Z2dlciwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgbmw6Ompzb24mIGhlbHBfbGlu a3MpCi0rICAgIHsKLSsgICAgICAgIG5sOjpqc29uIGtlcm5lbF9yZXM7Ci0rICAgICAgICBrZXJu ZWxfcmVzWyJzdGF0dXMiXSA9ICJvayI7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJwcm90b2NvbF92 ZXJzaW9uIl0gPSBwcm90b2NvbF92ZXJzaW9uOwotKyAgICAgICAga2VybmVsX3Jlc1siaW1wbGVt ZW50YXRpb24iXSA9IGltcGxlbWVudGF0aW9uOwotKyAgICAgICAga2VybmVsX3Jlc1siaW1wbGVt ZW50YXRpb25fdmVyc2lvbiJdID0gaW1wbGVtZW50YXRpb25fdmVyc2lvbjsKLSsgICAgICAgIGtl cm5lbF9yZXNbImxhbmd1YWdlX2luZm8iXVsibmFtZSJdID0gbGFuZ3VhZ2VfbmFtZTsKLSsgICAg ICAgIGtlcm5lbF9yZXNbImxhbmd1YWdlX2luZm8iXVsidmVyc2lvbiJdID0gbGFuZ3VhZ2VfdmVy c2lvbjsKLSsgICAgICAgIGtlcm5lbF9yZXNbImxhbmd1YWdlX2luZm8iXVsibWltZXR5cGUiXSA9 IGxhbmd1YWdlX21pbWV0eXBlOwotKyAgICAgICAga2VybmVsX3Jlc1sibGFuZ3VhZ2VfaW5mbyJd WyJmaWxlX2V4dGVuc2lvbiJdID0gbGFuZ3VhZ2VfZmlsZV9leHRlbnNpb247Ci0rICAgICAgICBr ZXJuZWxfcmVzWyJsYW5ndWFnZV9pbmZvIl1bInB5Z21lbnRzX2xleGVyIl0gPSBsYW5ndWFnZV9w eWdtZW50c19sZXhlcjsKLSsgICAgICAgIGtlcm5lbF9yZXNbImxhbmd1YWdlX2luZm8iXVsiY29k ZW1pcnJvcl9tb2RlIl0gPSBsYW5ndWFnZV9jb2RlbWlycm9yX21vZGU7Ci0rICAgICAgICBrZXJu ZWxfcmVzWyJsYW5ndWFnZV9pbmZvIl1bIm5iY29udmVydF9leHBvcnRlciJdID0gbGFuZ3VhZ2Vf bmJjb252ZXJ0X2V4cG9ydGVyOwotKyAgICAgICAga2VybmVsX3Jlc1siYmFubmVyIl0gPSBiYW5u ZXI7Ci0rICAgICAgICBrZXJuZWxfcmVzWyJkZWJ1Z2dlciJdID0gZGVidWdnZXI7Ci0rICAgICAg ICBrZXJuZWxfcmVzWyJoZWxwX2xpbmtzIl0gPSBoZWxwX2xpbmtzOwotKyAgICAgICAgcmV0dXJu IGtlcm5lbF9yZXM7Ci0rICAgIH0KLSsKLSt9Ci0rCi1kaWZmIC0tZ2l0IGEvdGVzdC9DTWFrZUxp c3RzLnR4dCBiL3Rlc3QvQ01ha2VMaXN0cy50eHQKLWluZGV4IGIyNGEzZTUuLjE3NmVmMmEgMTAw NjQ0Ci0tLS0gYS90ZXN0L0NNYWtlTGlzdHMudHh0Ci0rKysgYi90ZXN0L0NNYWtlTGlzdHMudHh0 Ci1AQCAtODQsNyArODQsNyBAQCBlbmRpZiAoKQotIGZvcmVhY2goZmlsZW5hbWUgSU4gTElTVFMg WEVVU19URVNUUykKLSAgICAgZ2V0X2ZpbGVuYW1lX2NvbXBvbmVudCh0YXJnZXRuYW1lICR7Zmls ZW5hbWV9IE5BTUVfV0UpCi0gCi0tICAgIGFkZF9leGVjdXRhYmxlKCR7dGFyZ2V0bmFtZX0gdGVz dF9tYWluLmNwcCAke2ZpbGVuYW1lfSkKLSsgICAgYWRkX2V4ZWN1dGFibGUoJHt0YXJnZXRuYW1l fSB0ZXN0X21haW4uY3BwICR7ZmlsZW5hbWV9IHRlc3RfaW50ZXJwcmV0ZXIuY3BwKQotICAgICB0 YXJnZXRfbGlua19saWJyYXJpZXMoJHt0YXJnZXRuYW1lfSBQUklWQVRFICR7eGV1c19UQVJHRVR9 IGRvY3Rlc3Q6OmRvY3Rlc3QgVGhyZWFkczo6VGhyZWFkcyAke25sb2htYW5uX2pzb25fVEFSR0VU fSkKLSAgICAgYWRkX3Rlc3QoTkFNRSAke3RhcmdldG5hbWV9IENPTU1BTkQgJHt0YXJnZXRuYW1l fSkKLSBlbmRmb3JlYWNoKCkKLUBAIC0xNzksMyArMTc5LDQgQEAgYWRkX3Rlc3QoTkFNRSB0ZXN0 X2tlcm5lbF9zaGVsbAotIHNldF90ZXN0c19wcm9wZXJ0aWVzKHRlc3Rfa2VybmVsX3NoZWxsCi0g ICAgIFBST1BFUlRJRVMKLSAgICAgRU5WSVJPTk1FTlQgIkpVUFlURVJfUEFUSD0ke0NNQUtFX0NV UlJFTlRfQklOQVJZX0RJUn0iKQotKwotZGlmZiAtLWdpdCBhL3Rlc3QvdGVzdF9pbnRlcnByZXRl ci5jcHAgYi90ZXN0L3Rlc3RfaW50ZXJwcmV0ZXIuY3BwCi1pbmRleCBkZDc0OTFlLi5mMDFhYWM5 IDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X2ludGVycHJldGVyLmNwcAotKysrIGIvdGVzdC90ZXN0 X2ludGVycHJldGVyLmNwcAotQEAgLTExLDYgKzExLDggQEAKLSAjaW5jbHVkZSAibmxvaG1hbm4v anNvbi5ocHAiCi0gCi0gI2luY2x1ZGUgInRlc3RfaW50ZXJwcmV0ZXIuaHBwIgotKwotKyNpbmNs dWRlICJ4ZXVzL3hoZWxwZXIuaHBwIgotICNpbmNsdWRlICJ4ZXVzL3hndWlkLmhwcCIKLSAKLSBu YW1lc3BhY2UgbmwgPSBubG9obWFubjsKLUBAIC0zNCw4ICszNiw2IEBAIG5hbWVzcGFjZSB0ZXN0 X2tlcm5lbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBubDo6anNvbiAvKiB1c2VyX2V4cHJlc3Npb25zICovLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib29sIC8qIGFsbG93X3N0ZGluICov KQotICAgICB7Ci0tICAgICAgICBubDo6anNvbiBrZXJuZWxfcmVzOwotLQotICAgICAgICAgaWYg KGNvZGUuY29tcGFyZSgiaGVsbG8sIHdvcmxkIikgPT0gMCkKLSAgICAgICAgIHsKLSAgICAgICAg ICAgICBwdWJsaXNoX3N0cmVhbSgic3Rkb3V0IiwgY29kZSk7Ci1AQCAtNDksNjIgKzQ5LDQ0IEBA IG5hbWVzcGFjZSB0ZXN0X2tlcm5lbAotICAgICAgICAgaWYgKGNvZGUuY29tcGFyZSgiPyIpID09 IDApCi0gICAgICAgICB7Ci0gICAgICAgICAgICAgc3RkOjpzdHJpbmcgaHRtbF9jb250ZW50ID0g UiIoPGlmcmFtZSBjbGFzcz0ieHB5dC1pZnJhbWUtcGFnZXIiIHNyYz0iCi0tICAgICAgICAgICAg ICAgIGh0dHBzOi8veGV1cy5yZWFkdGhlZG9jcy5pbyI+PC9pZnJhbWU+KSI7Ci0tCi0tICAgICAg ICAgICAga2VybmVsX3Jlc1sic3RhdHVzIl0gPSAib2siOwotLSAgICAgICAgICAgIGtlcm5lbF9y ZXNbInBheWxvYWQiXSA9IG5sOjpqc29uOjphcnJheSgpOwotLSAgICAgICAgICAgIGtlcm5lbF9y ZXNbInBheWxvYWQiXVswXSA9IG5sOjpqc29uOjpvYmplY3QoewotLSAgICAgICAgICAgICAgICB7 ImRhdGEiLCB7Ci0tICAgICAgICAgICAgICAgICAgICB7InRleHQvcGxhaW4iLCAiaHR0cHM6Ly94 ZXVzLnJlYWR0aGVkb2NzLmlvIn0sCi0tICAgICAgICAgICAgICAgICAgICB7InRleHQvaHRtbCIs IGh0bWxfY29udGVudH19Ci0tICAgICAgICAgICAgICAgIH0sCi0tICAgICAgICAgICAgICAgIHsi c291cmNlIiwgInBhZ2UifSwKLS0gICAgICAgICAgICAgICAgeyJzdGFydCIsIDB9Ci0tICAgICAg ICAgICAgfSk7Ci0tICAgICAgICAgICAga2VybmVsX3Jlc1sidXNlcl9leHByZXNzaW9ucyJdID0g bmw6Ompzb246Om9iamVjdCgpOwotLQotLSAgICAgICAgICAgIHJldHVybiBrZXJuZWxfcmVzOwot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHR0cHM6Ly94ZXVz LnJlYWR0aGVkb2NzLmlvIj48L2lmcmFtZT4pIjsKLSsKLSsgICAgICAgICAgICBhdXRvIHBheWxv YWQgPSBubDo6anNvbjo6YXJyYXkoKTsKLSsgICAgICAgICAgICBwYXlsb2FkWzBdID0gbmw6Ompz b246Om9iamVjdCh7Ci0rICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsiZGF0YSIsIHsKLSsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsidGV4dC9wbGFpbiIsICJodHRwczovL3hl dXMucmVhZHRoZWRvY3MuaW8ifSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsi dGV4dC9odG1sIiwgaHRtbF9jb250ZW50fX0KLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg fSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgeyJzb3VyY2UiLCAicGFnZSJ9LAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7InN0YXJ0IiwgMH0KLSsgICAgICAgICAgICAgICAg ICAgICAgICB9KTsKLSsKLSsgICAgICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX3N1Y2Nlc3Nm dWxfcmVwbHkocGF5bG9hZCk7Ci0gICAgICAgICB9Ci0gCi0gICAgICAgICBubDo6anNvbiBwdWJf ZGF0YTsKLSAgICAgICAgIHB1Yl9kYXRhWyJ0ZXh0L3BsYWluIl0gPSBjb2RlOwotLSAgICAgICAg cHVibGlzaF9leGVjdXRpb25fcmVzdWx0KGV4ZWN1dGlvbl9jb3VudGVyLCBzdGQ6Om1vdmUocHVi X2RhdGEpLCBubDo6anNvbigpKTsKLSsgICAgICAgIHB1Ymxpc2hfZXhlY3V0aW9uX3Jlc3VsdChl eGVjdXRpb25fY291bnRlciwgc3RkOjptb3ZlKHB1Yl9kYXRhKSwgbmw6Ompzb246Om9iamVjdCgp KTsKLSAKLS0gICAgICAgIGtlcm5lbF9yZXNbInN0YXR1cyJdID0gIm9rIjsKLS0gICAgICAgIGtl cm5lbF9yZXNbInBheWxvYWQiXSA9IG5sOjpqc29uOjphcnJheSgpOwotLSAgICAgICAga2VybmVs X3Jlc1sidXNlcl9leHByZXNzaW9ucyJdID0gbmw6Ompzb246Om9iamVjdCgpOwotLQotLSAgICAg ICAgcmV0dXJuIGtlcm5lbF9yZXM7Ci0rICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX3N1Y2Nl c3NmdWxfcmVwbHkoKTsKLSAgICAgfQotIAotICAgICBubDo6anNvbiB0ZXN0X2ludGVycHJldGVy Ojpjb21wbGV0ZV9yZXF1ZXN0X2ltcGwoY29uc3Qgc3RkOjpzdHJpbmcmIC8qIGNvZGUgKi8sCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQg LyogY3Vyc29yX3BvcyAqLykKLSAgICAgewotLSAgICAgICAgbmw6Ompzb24gcmVzdWx0OwotLSAg ICAgICAgcmVzdWx0WyJzdGF0dXMiXSA9ICJvayI7Ci0tICAgICAgICByZXN1bHRbIm1hdGNoZXMi XSA9IHsiYS50ZXN0MSIsICJhLnRlc3QyIn07Ci0tICAgICAgICByZXN1bHRbImN1cnNvcl9zdGFy dCJdID0gMjsKLS0gICAgICAgIHJlc3VsdFsiY3Vyc29yX2VuZCJdID0gNjsKLS0KLS0gICAgICAg IHJldHVybiByZXN1bHQ7Ci0rICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX2NvbXBsZXRlX3Jl cGx5KHsiYS50ZXN0MSIsICJhLnRlc3QyIn0sIDIsIDYpOwotICAgICB9Ci0gCi0gICAgIG5sOjpq c29uIHRlc3RfaW50ZXJwcmV0ZXI6Omluc3BlY3RfcmVxdWVzdF9pbXBsKGNvbnN0IHN0ZDo6c3Ry aW5nJiAvKiBjb2RlICovLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbnQgLyogY3Vyc29yX3BvcyAqLywKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IC8qIGRldGFpbF9sZXZlbCAqLykK LSAgICAgewotLSAgICAgICAgbmw6Ompzb24gcmVzdWx0OwotLSAgICAgICAgcmVzdWx0WyJzdGF0 dXMiXSA9ICJvayI7Ci0tICAgICAgICByZXN1bHRbImZvdW5kIl0gPSB0cnVlOwotLSAgICAgICAg cmVzdWx0WyJkYXRhIl0gPSB7eyJ0ZXh0L3BsYWluIiwgIiJ9fTsKLS0gICAgICAgIHJlc3VsdFsi bWV0YWRhdGEiXSA9IHt7InRleHQvcGxhaW4iLCAiIn19OwotLSAgICAgICAgcmV0dXJuIHJlc3Vs dDsKLSsgICAgICAgIHJldHVybiB4ZXVzOjpjcmVhdGVfaW5zcGVjdF9yZXBseSh0cnVlLCB7eyJ0 ZXh0L3BsYWluIiwgIiJ9fSwge3sidGV4dC9wbGFpbiIsICIifX0pOwotICAgICB9Ci0gCi0gICAg IG5sOjpqc29uIHRlc3RfaW50ZXJwcmV0ZXI6OmlzX2NvbXBsZXRlX3JlcXVlc3RfaW1wbChjb25z dCBzdGQ6OnN0cmluZyYgY29kZSkKLSAgICAgewotLSAgICAgICAgbmw6Ompzb24gcmVzdWx0Owot LSAgICAgICAgcmVzdWx0WyJzdGF0dXMiXSA9IGNvZGU7Ci0rICAgICAgICBubDo6anNvbiByZXN1 bHQgPSB4ZXVzOjpjcmVhdGVfaXNfY29tcGxldGVfcmVwbHkoY29kZSk7Ci0gICAgICAgICBpZiAo Y29kZS5jb21wYXJlKCJpbmNvbXBsZXRlIikgPT0gMCkKLSAgICAgICAgIHsKLSAgICAgICAgICAg ICByZXN1bHRbImluZGVudCJdID0gIiAgICI7Ci1AQCAtMTE0LDE1ICs5NiwxNyBAQCBuYW1lc3Bh Y2UgdGVzdF9rZXJuZWwKLSAKLSAgICAgbmw6Ompzb24gdGVzdF9pbnRlcnByZXRlcjo6a2VybmVs X2luZm9fcmVxdWVzdF9pbXBsKCkKLSAgICAgewotLSAgICAgICAgbmw6Ompzb24gcmVzdWx0Owot LSAgICAgICAgcmVzdWx0WyJpbXBsZW1lbnRhdGlvbiJdID0gImNwcF90ZXN0IjsKLS0gICAgICAg IHJlc3VsdFsiaW1wbGVtZW50YXRpb25fdmVyc2lvbiJdID0gIjEuMC4wIjsKLS0gICAgICAgIHJl c3VsdFsiYmFubmVyIl0gPSAidGVzdF9rZXJuZWwiOwotLSAgICAgICAgcmVzdWx0WyJsYW5ndWFn ZV9pbmZvIl1bIm5hbWUiXSA9ICJjcHAiOwotLSAgICAgICAgcmVzdWx0WyJsYW5ndWFnZV9pbmZv Il1bInZlcnNpb24iXSA9ICIxNC4wLjAiOwotLSAgICAgICAgcmVzdWx0WyJsYW5ndWFnZV9pbmZv Il1bIm1pbWV0eXBlIl0gPSAidGV4dC94LWMrK3NyYyI7Ci0tICAgICAgICByZXN1bHRbImxhbmd1 YWdlX2luZm8iXVsiZmlsZV9leHRlbnNpb24iXSA9ICIuY3BwIjsKLS0gICAgICAgIHJldHVybiBy ZXN1bHQ7Ci0rICAgICAgICByZXR1cm4geGV1czo6Y3JlYXRlX2luZm9fcmVwbHkoIiIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImNwcF90ZXN0IiwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMS4wLjAiLAotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJjcHAiLAotKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIxNC4wLjAiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ0ZXh0L3gtYysrc3JjIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLmNwcCIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiIsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiIsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInRlc3Rfa2VybmVsIik7Ci0gICAgIH0KLSAKLSAgICAg dm9pZCB0ZXN0X2ludGVycHJldGVyOjpzaHV0ZG93bl9yZXF1ZXN0X2ltcGwoKQotZGlmZiAtLWdp dCBhL3Rlc3QvdGVzdF91bml0X2tlcm5lbC5jcHAgYi90ZXN0L3Rlc3RfdW5pdF9rZXJuZWwuY3Bw Ci1pbmRleCBlZTg3MDliLi43ODliYmM5IDEwMDY0NAotLS0tIGEvdGVzdC90ZXN0X3VuaXRfa2Vy bmVsLmNwcAotKysrIGIvdGVzdC90ZXN0X3VuaXRfa2VybmVsLmNwcAotQEAgLTksNjMgKzksMTEw IEBACi0gI2luY2x1ZGUgImRvY3Rlc3QvZG9jdGVzdC5oIgotIAotICNpbmNsdWRlIDxzdHJpbmc+ Ci0tI2luY2x1ZGUgPGlvc3RyZWFtPgotKyNpbmNsdWRlIDxtZW1vcnk+Ci0gCi0gI2luY2x1ZGUg Im5sb2htYW5uL2pzb24uaHBwIgotIAotKyNpbmNsdWRlICJ0ZXN0X2ludGVycHJldGVyLmhwcCIK LSsKLSAjaW5jbHVkZSAieGV1cy94a2VybmVsLmhwcCIKLSAjaW5jbHVkZSAieGV1cy94bWlkZGxl d2FyZS5ocHAiCi0gI2luY2x1ZGUgInhldXMveHN5c3RlbS5ocHAiCi0rI2luY2x1ZGUgInhldXMv eGV1c19jb250ZXh0LmhwcCIKLSsjaW5jbHVkZSAieGV1cy94aGVscGVyLmhwcCIKLSsjaW5jbHVk ZSAieGV1cy94a2VybmVsX2NvbmZpZ3VyYXRpb24uaHBwIgotKyNpbmNsdWRlICJ4ZXVzL3hzZXJ2 ZXJfem1xLmhwcCIKLSAKLSBuYW1lc3BhY2UgbmwgPSBubG9obWFubjsKLSAKLSBuYW1lc3BhY2Ug eGV1cwotIHsKLS0gICAgVEVTVF9TVUlURSgia2VybmVsIikgewotLQotLSAgICBURVNUX0NBU0Uo ImdldF91c2VybmFtZSIpCi0rICAgIFRFU1RfU1VJVEUoImtlcm5lbCIpCi0gICAgIHsKLS0gICAg ICAgIHN0ZDo6c3RyaW5nIHVzZXJuYW1lOwotLSAgICAgICAgdXNlcm5hbWUgPSBnZXRfdXNlcl9u YW1lKCk7Ci0tICAgICAgICBSRVFVSVJFX05FKHVzZXJuYW1lLCAidW5zcGVjaWZpZWQgdXNlciIp OwotLSAgICB9Ci0rICAgICAgICBURVNUX0NBU0UoInByaW50X3N0YXJ0aW5nX21lc3NhZ2UiKQot KyAgICAgICAgewotKyAgICAgICAgICAgIGF1dG8gY29udGV4dCA9IG1ha2VfY29udGV4dDx6bXE6 OmNvbnRleHRfdD4oKTsKLSAKLS0gICAgVEVTVF9DQVNFKCJmaW5kX2ZyZWVfcG9ydCIpCi0tICAg IHsKLS0gICAgICAgIHN0ZDo6c3RyaW5nIHBvcnQgPSBmaW5kX2ZyZWVfcG9ydCgpOwotLSAgICAg ICAgUkVRVUlSRV9ORShwb3J0LCAiIik7Ci0tICAgICAgICBSRVFVSVJFX0VRKHBvcnQubGVuZ3Ro KCksIHN0ZDo6c2l6ZV90KDUpKTsKLS0gICAgfQotKyAgICAgICAgICAgIHVzaW5nIGludGVycHJl dGVyX3B0ciA9IHN0ZDo6dW5pcXVlX3B0cjx0ZXN0X2tlcm5lbDo6dGVzdF9pbnRlcnByZXRlcj47 Ci0rICAgICAgICAgICAgaW50ZXJwcmV0ZXJfcHRyIGludGVycHJldGVyID0gaW50ZXJwcmV0ZXJf cHRyKG5ldyB0ZXN0X2tlcm5lbDo6dGVzdF9pbnRlcnByZXRlcigpKTsKLSsgICAgICAgICAgICB4 a2VybmVsIGtlcm5lbChnZXRfdXNlcl9uYW1lKCksCi0rICAgICAgICAgICAgICAgICAgICAgICAg IHN0ZDo6bW92ZShjb250ZXh0KSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgc3RkOjptb3Zl KGludGVycHJldGVyKSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgbWFrZV94c2VydmVyX3pt cSk7Ci0rICAgICAgICAgICAgc3RkOjpzdHJpbmcga2VybmVsX2NvbmZpZyA9IHByaW50X3N0YXJ0 aW5nX21lc3NhZ2Uoa2VybmVsLmdldF9jb25maWcoKSk7Ci0rICAgICAgICAgICAgc3RkOjpjb3V0 IDw8IGtlcm5lbF9jb25maWcgPDwgc3RkOjplbmRsOwotKyAgICAgICAgICAgIHNpemVfdCBwb3Mg PSBrZXJuZWxfY29uZmlnLmZpbmQoIlN0YXJ0aW5nIGtlcm5lbC4uLlxuIgotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIlxuIgotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIklmIHlvdSB3YW50IHRvIGNvbm5lY3QgdG8gdGhp cyBrZXJuZWwgZnJvbSBhbiBvdGhlciBjbGllbnQsIGp1c3QgY29weSBhbmQgcGFzdGUgdGhlIGZv bGxvd2luZyBjb250ZW50IGluc2lkZSBvZiBhIGBrZXJuZWwuanNvbmAgZmlsZS4gQW5kIHRoZW4g cnVuIGZvciBleGFtcGxlOlxuIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIlxuIgotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIiMganVweXRlciBjb25zb2xlIC0tZXhpc3Rpbmcga2VybmVsLmpzb25cbiIKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcbiIKLSsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJrZXJuZWwuanNvblxuIgotKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImBgYFxuIgotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIntcbiIKLSsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICAgXCJ0cmFuc3BvcnRcIjogXCJ0Y3BcIixc biIpOwotKyAgICAgICAgICAgIFJFUVVJUkVfTkUocG9zLCBzdGQ6OnN0cmluZzo6bnBvcyk7Ci0r ICAgICAgICB9Ci0gCi0tICAgIFRFU1RfQ0FTRSgidGVtcF9kaXJlY3RvcnlfcGF0aCIpCi0tICAg IHsKLS0gICAgICAgIHN0ZDo6c3RyaW5nIHBhdGggPSBnZXRfdGVtcF9kaXJlY3RvcnlfcGF0aCgp OwotLSAgICAgICAgc3RkOjpjb3V0IDw8ICJUZW1wb3JhcnkgZGlyZWN0b3J5IHBhdGg6ICIgPDwg cGF0aCA8PCBzdGQ6OmVuZGw7Ci0tICAgICAgICBSRVFVSVJFX05FKHBhdGgsICIiKTsKLS0gICAg ICAgIFJFUVVJUkVfTkUocGF0aC5iYWNrKCksICcvJyk7Ci0tICAgICAgICBSRVFVSVJFX05FKHBh dGguYmFjaygpLCAnXFwnKTsKLS0gICAgfQotKyAgICAgICAgVEVTVF9DQVNFKCJleHRyYWN0X2Zp bGVuYW1lIikKLSsgICAgICAgIHsKLSsgICAgICAgICAgICBjaGFyKiBhcmd2WzJdOwotKyAgICAg ICAgICAgIGFyZ3ZbMF0gPSAoY2hhciopIi1mIjsKLSsgICAgICAgICAgICBhcmd2WzFdID0gKGNo YXIqKSJjb25uZWN0aW9uLmpzb24iOwotKyAgICAgICAgICAgIHN0ZDo6c3RyaW5nIGZpbGVfbmFt ZSA9IGV4dHJhY3RfZmlsZW5hbWUoMywgYXJndik7Ci0rICAgICAgICAgICAgUkVRVUlSRV9FUShm aWxlX25hbWUsICJjb25uZWN0aW9uLmpzb24iKTsKLSsgICAgICAgIH0KLSAKLS0gICAgVEVTVF9D QVNFKCJjcmVhdGVfZGlyZWN0b3J5IikKLS0gICAgewotLSAgICAgICAgc3RkOjpzdHJpbmcgdGVt cF9wYXRoID0gZ2V0X3RlbXBfZGlyZWN0b3J5X3BhdGgoKTsKLS0gICAgICAgIHN0ZDo6c3RyaW5n IHBhdGggPSB0ZW1wX3BhdGggKyAiL2ludGVybWVkaWF0ZS9sb2dzIjsKLS0gICAgICAgIGJvb2wg cmVzID0gY3JlYXRlX2RpcmVjdG9yeShwYXRoKTsKLS0gICAgICAgIFJFUVVJUkVfVU5BUlkocmVz KTsKLS0gICAgfQotKyAgICAgICAgVEVTVF9DQVNFKCJzaG91bGRfcHJpbnRfdmVyc2lvbiIpCi0r ICAgICAgICB7Ci0rICAgICAgICAgICAgY2hhciogYXJndlsyXTsKLSsgICAgICAgICAgICBhcmd2 WzBdID0gKGNoYXIqKSItLXZlcnNpb24iOwotKyAgICAgICAgICAgIFJFUVVJUkVfRVEoc2hvdWxk X3ByaW50X3ZlcnNpb24oMSwgYXJndiksIHRydWUpOwotKyAgICAgICAgfQotIAotLSAgICBURVNU X0NBU0UoImdldF9jdXJyZW50X3BpZCIpCi0tICAgIHsKLS0gICAgICAgIGludCBwaWQgPSBnZXRf Y3VycmVudF9waWQoKTsKLS0gICAgICAgIFJFUVVJUkVfTkUocGlkLCAtMSk7Ci0tICAgIH0KLSsg ICAgICAgIFRFU1RfQ0FTRSgiZ2V0X3VzZXJuYW1lIikKLSsgICAgICAgIHsKLSsgICAgICAgICAg ICBzdGQ6OnN0cmluZyB1c2VybmFtZTsKLSsgICAgICAgICAgICB1c2VybmFtZSA9IGdldF91c2Vy X25hbWUoKTsKLSsgICAgICAgICAgICBSRVFVSVJFX05FKHVzZXJuYW1lLCAidW5zcGVjaWZpZWQg dXNlciIpOwotKyAgICAgICAgfQotIAotLSAgICBURVNUX0NBU0UoImdldF90bXBfaGFzaF9zZWVk IikKLS0gICAgewotLSAgICAgICAgc2l6ZV90IGhzID0gZ2V0X3RtcF9oYXNoX3NlZWQoKTsKLS0g ICAgICAgIHNpemVfdCBleHBlY3RlZCA9IHN0YXRpY19jYXN0PHN0ZDo6c2l6ZV90PigweGM3MGY2 OTA3VUwpOwotLSAgICAgICAgUkVRVUlSRV9FUShocywgZXhwZWN0ZWQpOwotLSAgICB9Ci0rICAg ICAgICBURVNUX0NBU0UoImZpbmRfZnJlZV9wb3J0IikKLSsgICAgICAgIHsKLSsgICAgICAgICAg ICBzdGQ6OnN0cmluZyBwb3J0ID0gZmluZF9mcmVlX3BvcnQoKTsKLSsgICAgICAgICAgICBSRVFV SVJFX05FKHBvcnQsICIiKTsKLSsgICAgICAgICAgICBSRVFVSVJFX0VRKHBvcnQubGVuZ3RoKCks IHN0ZDo6c2l6ZV90KDUpKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIFRFU1RfQ0FTRSgidGVt cF9kaXJlY3RvcnlfcGF0aCIpCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgc3RkOjpzdHJpbmcg cGF0aCA9IGdldF90ZW1wX2RpcmVjdG9yeV9wYXRoKCk7Ci0rICAgICAgICAgICAgc3RkOjpjb3V0 IDw8ICJUZW1wb3JhcnkgZGlyZWN0b3J5IHBhdGg6ICIgPDwgcGF0aCA8PCBzdGQ6OmVuZGw7Ci0r ICAgICAgICAgICAgUkVRVUlSRV9ORShwYXRoLCAiIik7Ci0rICAgICAgICAgICAgUkVRVUlSRV9O RShwYXRoLmJhY2soKSwgJy8nKTsKLSsgICAgICAgICAgICBSRVFVSVJFX05FKHBhdGguYmFjaygp LCAnXFwnKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIFRFU1RfQ0FTRSgiY3JlYXRlX2RpcmVj dG9yeSIpCi0rICAgICAgICB7Ci0rICAgICAgICAgICAgc3RkOjpzdHJpbmcgdGVtcF9wYXRoID0g Z2V0X3RlbXBfZGlyZWN0b3J5X3BhdGgoKTsKLSsgICAgICAgICAgICBzdGQ6OnN0cmluZyBwYXRo ID0gdGVtcF9wYXRoICsgIi9pbnRlcm1lZGlhdGUvbG9ncyI7Ci0rICAgICAgICAgICAgYm9vbCBy ZXMgPSBjcmVhdGVfZGlyZWN0b3J5KHBhdGgpOwotKyAgICAgICAgICAgIFJFUVVJUkVfRVEocmVz LCB0cnVlKTsKLSsgICAgICAgIH0KLSsKLSsgICAgICAgIFRFU1RfQ0FTRSgiZ2V0X2N1cnJlbnRf cGlkIikKLSsgICAgICAgIHsKLSsgICAgICAgICAgICBpbnQgcGlkID0gZ2V0X2N1cnJlbnRfcGlk KCk7Ci0rICAgICAgICAgICAgUkVRVUlSRV9ORShwaWQsIC0xKTsKLSsgICAgICAgIH0KLSsKLSsg ICAgICAgIFRFU1RfQ0FTRSgiZ2V0X3RtcF9oYXNoX3NlZWQiKQotKyAgICAgICAgewotKyAgICAg ICAgICAgIHNpemVfdCBocyA9IGdldF90bXBfaGFzaF9zZWVkKCk7Ci0rICAgICAgICAgICAgc2l6 ZV90IGV4cGVjdGVkID0gc3RhdGljX2Nhc3Q8c3RkOjpzaXplX3Q+KDB4YzcwZjY5MDdVTCk7Ci0r ICAgICAgICAgICAgUkVRVUlSRV9FUShocywgZXhwZWN0ZWQpOwotKyAgICAgICAgfQotICAgICB9 Ci0gfQotIAotLS0gCi0yLjM2LjEKLQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmlu ZGV4IDE1Zjg2OTQuLjAyNGRiZGMgMTAwNjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpA QCAtMSArMSBAQAotU0hBNTEyICh4ZXVzLTIuMC4wLnRhci5neikgPSBhMTg5N2RkYTU0MTZlMjAy MzUxYTFhZmNlN2UyZWJiNDQyN2VkMDZmZWI5ZWRkOGJiNTI2ZGYyOTM5OTlhMDIxNzI2YjYyMTQw NjhhOTIyMDNhZGJjNTMzNDM5ZjM5YTcxMDI3OWJmYTRlNGU0ODVmMTY4ZTc5ZTlmY2EyN2IzYQor U0hBNTEyICh4ZXVzLTMuMC41LnRhci5neikgPSAzOGMxMGFiNmFiMTNlMzIzYTA4MjEyNGRkNDk4 MGY1ODg2MDgxNDI2YTA4YmJlZGE1MDliMjhkYWU2Y2M3OTRlMjNmMjNhYWRjMTg5YjM5ODc0ZjZk N2ZiMWQ5MTczNzJiY2ZhOWNlYjJiNmQwODkzZmQyZTViMzMzMDY3YjlkOQoKZGlmZiAtLWdpdCBh L3hldXMuc3BlYyBiL3hldXMuc3BlYwppbmRleCBiNjA5YzdmLi4wYmJkZGQzIDEwMDY0NAotLS0g YS94ZXVzLnNwZWMKKysrIGIveGV1cy5zcGVjCkBAIC0xLDI4ICsxLDE2IEBACiBOYW1lOiAgICAg ICAgICAgeGV1cwotVmVyc2lvbjogICAgICAgIDIuMC4wCitWZXJzaW9uOiAgICAgICAgMy4wLjUK IFJlbGVhc2U6ICAgICAgICAlYXV0b3JlbGVhc2UKIFN1bW1hcnk6ICAgICAgICBDKysgaW1wbGVt ZW50YXRpb24gb2YgdGhlIEp1cHl0ZXIga2VybmVsIHByb3RvY29sCiAKIExpY2Vuc2U6ICAgICAg ICBCU0QKIFVSTDogICAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vanVweXRlci14ZXVzL3hl dXMKIFNvdXJjZTA6ICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vanVweXRlci14ZXVzL3hldXMv YXJjaGl2ZS8le3ZlcnNpb259LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKLSMgQmFja3BvcnQg dG8gbWFrZSBmdXJ0aGVyIGJhY2twb3J0cyBlYXNpZXIKLSMgaHR0cHM6Ly9naXRodWIuY29tL2p1 cHl0ZXIteGV1cy94ZXVzL3B1bGwvMjkyCi1QYXRjaDogICAgICAgICAgMDAwMS1zd2l0Y2hlZC1m cm9tLWd0ZXN0LXRvLWRvY3Rlc3QtMjkyLnBhdGNoCi0jIGh0dHBzOi8vZ2l0aHViLmNvbS9qdXB5 dGVyLXhldXMveGV1cy9wdWxsLzI5OAotUGF0Y2g6ICAgICAgICAgIDAwMDItTmV2ZXItZGVsZXRl LWNvbnRleHQtYmVmb3JlLXNvY2tldHMucGF0Y2gKLSMgQmFja3BvcnQgYSByZWZhY3RvciB0aGF0 IG9ubHkgYWRkcyBBUEksIGJ1dCBsZWF2ZSBvdXQgdGhlIGRvY3VtZW50YXRpb24KLSMgY2hhbmdl cywgcGx1cyBhIGZldyBsYXRlciBidWcgZml4ZXMuCi0jIGh0dHBzOi8vZ2l0aHViLmNvbS9qdXB5 dGVyLXhldXMveGV1cy9wdWxsLzI4NQotIyBodHRwczovL2dpdGh1Yi5jb20vanVweXRlci14ZXVz L3hldXMvcHVsbC8zMTQKLSMgaHR0cHM6Ly9naXRodWIuY29tL2p1cHl0ZXIteGV1cy94ZXVzL3B1 bGwvMzE1Ci1QYXRjaDogICAgICAgICAgMDAwMy1GaXgtbm9uLXN0YW5kYXJkLW1lc3NhZ2VzLnBh dGNoCiAKICMgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0NoYW5nZXMvRW5jb3VyYWdl STY4NkxlYWZSZW1vdmFsCiBFeGNsdWRlQXJjaDogJXtpeDg2fQogCiBCdWlsZFJlcXVpcmVzOiAg Y21ha2UgPj0gMy44Ci1CdWlsZFJlcXVpcmVzOiAgY21ha2UoY3Bwem1xKSA+PSA0LjMuMAogQnVp bGRSZXF1aXJlczogIGNtYWtlKG5sb2htYW5uX2pzb24pID49IDMuMi4wCiBCdWlsZFJlcXVpcmVz OiAgY21ha2UoeHRsKSA+PSAwLjcKIEJ1aWxkUmVxdWlyZXM6ICBkb2N0ZXN0LWRldmVsCkBAIC0z MCw4ICsxOCw3IEBAIEJ1aWxkUmVxdWlyZXM6ICBkb3h5Z2VuCiBCdWlsZFJlcXVpcmVzOiAgZ2Nj LWMrKwogQnVpbGRSZXF1aXJlczogIGxpYnV1aWQtZGV2ZWwKIEJ1aWxkUmVxdWlyZXM6ICBtYWtl Ci1CdWlsZFJlcXVpcmVzOiAgb3BlbnNzbC1kZXZlbCA+PSAxLjAuMQotQnVpbGRSZXF1aXJlczog IHBrZ2NvbmZpZyhsaWJ6bXEpID49IDQuMi41CitCdWlsZFJlcXVpcmVzOiAgcGtnY29uZmlnKHV1 aWQpCiBCdWlsZFJlcXVpcmVzOiAgcHl0aG9uM2Rpc3QoYnJlYXRoZSkKIEJ1aWxkUmVxdWlyZXM6 ICBweXRob24zZGlzdChqdXB5dGVyLWtlcm5lbC10ZXN0KQogQnVpbGRSZXF1aXJlczogIHB5dGhv bjNkaXN0KHB5dGVzdCkKQEAgLTc1LDcgKzYyLDcgQEAgcm0gZG9jcy9idWlsZC9odG1sLy5idWls ZGluZm8KICVmaWxlcwogJWRvYyBSRUFETUUubWQgZG9jcy9idWlsZC9odG1sCiAlbGljZW5zZSBM SUNFTlNFCi0le19saWJkaXJ9L2xpYnhldXMuc28uNSoKKyV7X2xpYmRpcn0vbGlieGV1cy5zby44 KgogCiAlZmlsZXMgZGV2ZWwKICV7X2luY2x1ZGVkaXJ9L3hldXMvCg==