From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: [PATCH v4 08/16] livepatch: Move test-cases to their own sub-directory in test. Date: Fri, 16 Sep 2016 12:38:20 -0400 Message-ID: <1474043908-12101-9-git-send-email-konrad.wilk@oracle.com> References: <1474043908-12101-1-git-send-email-konrad.wilk@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bkwA8-0002id-U7 for xen-devel@lists.xenproject.org; Fri, 16 Sep 2016 16:38:53 +0000 In-Reply-To: <1474043908-12101-1-git-send-email-konrad.wilk@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org, konrad@kernel.org, ross.lagerwall@citrix.com, julien.grall@arm.com, sstabellini@kernel.org Cc: Andrew Cooper , Jan Beulich , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org U28gdGhleSBjYW4gYmUgc2hhcmVkIHdpdGggQVJNNjQgKGJ1dCBub3QgeWV0LCBzbyB0aGV5CmFy ZSBvbmx5IGJ1aWx0IG9uIHg4NikuCgpObyBmdW5jdGlvbmFsIGNoYW5nZS4KCldlIGFsc28gbmVl ZCB0byB0d2VhayB0aGUgTUFJTlRBSU5FUlMgYW5kIC5naXRpZ25vcmUgZmlsZS4KCkFsc28gd2Ug bmVlZCB0byB1cGRhdGUgU1VCRElSUyB0byBpbmNsdWRlIHRoZSBuZXcgJ3Rlc3QnCmRpcmVjdG9y eSBzbyAnY3Njb3BlJyBjYW4gc2hvdyB0aGUgZXhhbXBsZSBsaXZlcGF0Y2hlcy4KCkFja2VkLWJ5 OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IFtmb3IgZGlyZWN0b3J5XQpTaWduZWQt b2ZmLWJ5OiBLb25yYWQgUnplc3p1dGVrIFdpbGsgPGtvbnJhZC53aWxrQG9yYWNsZS5jb20+Cgot LS0KQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ2M6IEp1 bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNjOiBKYW4gQmV1bGljaCA8amJldWxp Y2hAc3VzZS5jb20+CkNjOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29t PgoKdjE6IEZpcnN0IHN1Ym1pc3Npb24KdjI6IE1vdmUgdG8gdGVzdC9saXZlcGF0Y2ggcGVyIEph bidzIHJlY29tbWVuZGF0aW9uCnYzOiBTb3J0IE1BSU5UQUlORVJTIGZvciBsaXZlcGF0Y2guCiAg ICBBZGQgSmFuJ3MgQWNrZWQtYnkuCiAgICBBZGRlZCBvbiB0aGUgU1VCRElSUyB0aGUgJ3Rlc3Qn IGRpcmVjdG9yeQogICAgQ2hhbmdlIHRpdGxlIG9mIHBhdGNoIChjb21tb24tPiBvd24gc3ViLWRp cmVjdG9yeSkKLS0tCiAuZ2l0aWdub3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDggKy0tCiBNQUlOVEFJTkVSUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDEgKwogeGVuL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICA1ICst CiB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgLQogeGVu L2FyY2gveDg2L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICB8ICA1IC0tCiB4ZW4vYXJj aC94ODYvdGVzdC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgIHwgODUgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGQuYyAgICAgICAg ICAgfCAzNCAtLS0tLS0tLS0tLS0KIHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGRfZnVu Yy5jICAgICAgfCAyMiAtLS0tLS0tLQogeGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxk LmMgICAgICAgICB8IDY3IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94ODYvdGVz dC94ZW5faGVsbG9fd29ybGRfZnVuYy5jICAgIHwgMzkgLS0tLS0tLS0tLS0tLQogeGVuL2FyY2gv eDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYyAgICAgICB8IDMzIC0tLS0tLS0tLS0tCiB4ZW4v YXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93b3JsZF9mdW5jLmMgIHwgMjIgLS0tLS0tLS0KIHhl bi90ZXN0L01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysKIHhlbi90 ZXN0L2xpdmVwYXRjaC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgfCA4NSArKysrKysrKysrKysr KysrKysrKysrKysrKysrKwogeGVuL3Rlc3QvbGl2ZXBhdGNoL3hlbl9ieWVfd29ybGQuYyAgICAg ICAgICB8IDM0ICsrKysrKysrKysrKwogeGVuL3Rlc3QvbGl2ZXBhdGNoL3hlbl9ieWVfd29ybGRf ZnVuYy5jICAgICB8IDIyICsrKysrKysrCiB4ZW4vdGVzdC9saXZlcGF0Y2gveGVuX2hlbGxvX3dv cmxkLmMgICAgICAgIHwgNjcgKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi90ZXN0L2xpdmVw YXRjaC94ZW5faGVsbG9fd29ybGRfZnVuYy5jICAgfCAzOSArKysrKysrKysrKysrCiB4ZW4vdGVz dC9saXZlcGF0Y2gveGVuX3JlcGxhY2Vfd29ybGQuYyAgICAgIHwgMzMgKysrKysrKysrKysKIHhl bi90ZXN0L2xpdmVwYXRjaC94ZW5fcmVwbGFjZV93b3JsZF9mdW5jLmMgfCAyMiArKysrKysrKwog MjAgZmlsZXMgY2hhbmdlZCwgMzE5IGluc2VydGlvbnMoKyksIDMxNiBkZWxldGlvbnMoLSkKIGRl bGV0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC94ODYvdGVzdC9NYWtlZmlsZQogZGVsZXRlIG1vZGUg MTAwNjQ0IHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGQuYwogZGVsZXRlIG1vZGUgMTAw NjQ0IHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9ieWVfd29ybGRfZnVuYy5jCiBkZWxldGUgbW9kZSAx MDA2NDQgeGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkLmMKIGRlbGV0ZSBtb2RlIDEw MDY0NCB4ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCiBkZWxldGUgbW9k ZSAxMDA2NDQgeGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYwogZGVsZXRlIG1v ZGUgMTAwNjQ0IHhlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMuYwogY3Jl YXRlIG1vZGUgMTAwNjQ0IHhlbi90ZXN0L01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVu L3Rlc3QvbGl2ZXBhdGNoL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL3Rlc3QvbGl2 ZXBhdGNoL3hlbl9ieWVfd29ybGQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi90ZXN0L2xpdmVw YXRjaC94ZW5fYnllX3dvcmxkX2Z1bmMuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi90ZXN0L2xp dmVwYXRjaC94ZW5faGVsbG9fd29ybGQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi90ZXN0L2xp dmVwYXRjaC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL3Rl c3QvbGl2ZXBhdGNoL3hlbl9yZXBsYWNlX3dvcmxkLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4v dGVzdC9saXZlcGF0Y2gveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jCgpkaWZmIC0tZ2l0IGEvLmdp dGlnbm9yZSBiLy5naXRpZ25vcmUKaW5kZXggY2M2NGZjOS4uZWVhYmUwYiAxMDA2NDQKLS0tIGEv LmdpdGlnbm9yZQorKysgYi8uZ2l0aWdub3JlCkBAIC0yNTQsMTAgKzI1NCw2IEBAIHhlbi9hcmNo L3g4Ni9lZmkubGRzCiB4ZW4vYXJjaC94ODYvZWZpL2NoZWNrLmVmaQogeGVuL2FyY2gveDg2L2Vm aS9kaXNhYmxlZAogeGVuL2FyY2gveDg2L2VmaS9ta3JlbG9jCi14ZW4vYXJjaC94ODYvdGVzdC9j b25maWcuaAoteGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkLmxpdmVwYXRjaAoteGVu L2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZC5saXZlcGF0Y2gKLXhlbi9hcmNoL3g4Ni90ZXN0 L3hlbl9yZXBsYWNlX3dvcmxkLmxpdmVwYXRjaAogeGVuL2FyY2gvKi9lZmkvYm9vdC5jCiB4ZW4v YXJjaC8qL2VmaS9jb21wYXQuYwogeGVuL2FyY2gvKi9lZmkvZWZpLmgKQEAgLTI3NCw2ICsyNzAs MTAgQEAgeGVuL2luY2x1ZGUvcHVibGljL3B1YmxpYwogeGVuL2luY2x1ZGUveGVuLyoubmV3CiB4 ZW4vaW5jbHVkZS94ZW4vYWNtX3BvbGljeS5oCiB4ZW4vaW5jbHVkZS94ZW4vY29tcGlsZS5oCit4 ZW4vdGVzdC9saXZlcGF0Y2gvY29uZmlnLmgKK3hlbi90ZXN0L2xpdmVwYXRjaC94ZW5fYnllX3dv cmxkLmxpdmVwYXRjaAoreGVuL3Rlc3QvbGl2ZXBhdGNoL3hlbl9oZWxsb193b3JsZC5saXZlcGF0 Y2gKK3hlbi90ZXN0L2xpdmVwYXRjaC94ZW5fcmVwbGFjZV93b3JsZC5saXZlcGF0Y2gKIHhlbi90 b29scy9rY29uZmlnLy50bXBfZ3RrY2hlY2sKIHhlbi90b29scy9rY29uZmlnLy50bXBfcXRjaGVj awogeGVuL3Rvb2xzL3N5bWJvbHMKZGlmZiAtLWdpdCBhL01BSU5UQUlORVJTIGIvTUFJTlRBSU5F UlMKaW5kZXggYWUwYjZiYy4uZWRjODYwMyAxMDA2NDQKLS0tIGEvTUFJTlRBSU5FUlMKKysrIGIv TUFJTlRBSU5FUlMKQEAgLTI3Miw2ICsyNzIsNyBAQCBGOiAgeGVuL2FyY2gvKi9saXZlcGF0Y2gq CiBGOiAgeGVuL2FyY2gvKi8qL2xpdmVwYXRjaCoKIEY6ICB4ZW4vY29tbW9uL2xpdmVwYXRjaCoK IEY6ICB4ZW4vaW5jbHVkZS94ZW4vbGl2ZXBhdGNoKgorRjogIHhlbi90ZXN0L2xpdmVwYXRjaC8q CiAKIE1BQ0hJTkUgQ0hFQ0sgKE1DQSkgJiBSQVMKIE06CUNocmlzdG9waCBFZ2dlciA8Y2hlZ2dl ckBhbWF6b24uZGU+CmRpZmYgLS1naXQgYS94ZW4vTWFrZWZpbGUgYi94ZW4vTWFrZWZpbGUKaW5k ZXggMDEyNTA5Yi4uZTk4OWEyMCAxMDA2NDQKLS0tIGEveGVuL01ha2VmaWxlCisrKyBiL3hlbi9N YWtlZmlsZQpAQCAtODAsNyArODAsNyBAQCBfaW5zdGFsbDogJChUQVJHRVQpJChDT05GSUdfWEVO X0lOU1RBTExfU1VGRklYKQogCiAuUEhPTlk6IF90ZXN0cwogX3Rlc3RzOgotCSQoTUFLRSkgLWYg JChCQVNFRElSKS9SdWxlcy5tayAtQyBhcmNoLyQoVEFSR0VUX0FSQ0gpIHRlc3RzCisJJChNQUtF KSAtZiAkKEJBU0VESVIpL1J1bGVzLm1rIC1DIHRlc3QgdGVzdHMKIAogLlBIT05ZOiBfdW5pbnN0 YWxsCiBfdW5pbnN0YWxsOiBEPSQoREVTVERJUikKQEAgLTExNCw2ICsxMTQsNyBAQCBfY2xlYW46 IGRlbGV0ZS11bmZyZXNoLWZpbGVzCiAJJChNQUtFKSAtZiAkKEJBU0VESVIpL1J1bGVzLm1rIC1D IHhzbSBjbGVhbgogCSQoTUFLRSkgLWYgJChCQVNFRElSKS9SdWxlcy5tayAtQyBjcnlwdG8gY2xl YW4KIAkkKE1BS0UpIC1mICQoQkFTRURJUikvUnVsZXMubWsgLUMgYXJjaC8kKFRBUkdFVF9BUkNI KSBjbGVhbgorCSQoTUFLRSkgLWYgJChCQVNFRElSKS9SdWxlcy5tayAtQyB0ZXN0IGNsZWFuCiAJ JChNQUtFKSAtZiAkKEJBU0VESVIpL3Rvb2xzL2tjb25maWcvTWFrZWZpbGUua2NvbmZpZyBBUkNI PSQoQVJDSCkgU1JDQVJDSD0kKFNSQ0FSQ0gpIGNsZWFuCiAJZmluZCAuIFwoIC1uYW1lICIqLm8i IC1vIC1uYW1lICIuKi5kIiBcKSAtZXhlYyBybSAtZiB7fSBcOwogCXJtIC1mIGluY2x1ZGUvYXNt ICQoVEFSR0VUKSAkKFRBUkdFVCkuZ3ogJChUQVJHRVQpLmVmaSAkKFRBUkdFVCkuZWZpLm1hcCAk KFRBUkdFVCktc3ltcyAkKFRBUkdFVCktc3ltcy5tYXAgKn4gY29yZQpAQCAtMTg5LDcgKzE5MCw3 IEBAIGluY2x1ZGUvYXNtLSQoVEFSR0VUX0FSQ0gpL2FzbS1vZmZzZXRzLmg6IGFyY2gvJChUQVJH RVRfQVJDSCkvYXNtLW9mZnNldHMucwogCSAgZWNobyAiIjsgXAogCSAgZWNobyAiI2VuZGlmIikg PCQ8ID4kQAogCi1TVUJESVJTID0geHNtIGFyY2gvJChUQVJHRVRfQVJDSCkgY29tbW9uIGRyaXZl cnMKK1NVQkRJUlMgPSB4c20gYXJjaC8kKFRBUkdFVF9BUkNIKSBjb21tb24gZHJpdmVycyB0ZXN0 CiBkZWZpbmUgYWxsX3NvdXJjZXMKICAgICAoIGZpbmQgaW5jbHVkZS9hc20tJChUQVJHRVRfQVJD SCkgLW5hbWUgJyouaCcgLXByaW50OyBcCiAgICAgICBmaW5kIGluY2x1ZGUgLW5hbWUgJ2FzbS0q JyAtcHJ1bmUgLW8gLW5hbWUgJyouaCcgLXByaW50OyBcCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9h cm0vTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKaW5kZXggNWNlZTg0ZC4uMWQ5MDUx YyAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL3hlbi9hcmNoL2FybS9N YWtlZmlsZQpAQCAtNzQsOSArNzQsNiBAQCBpZmVxICgkKENPTkZJR19BUk1fNjQpLHkpCiAJbG4g LXNmICQobm90ZGlyICRAKSAgLi4vLi4vJChub3RkaXIgJEApLmVmaQogZW5kaWYKIAotLlBIT05Z OiB0ZXN0cwotdGVzdHM6Ci0KICQoVEFSR0VUKS5heGY6ICQoVEFSR0VUKS1zeW1zCiAJIyBYWFg6 IFZFIG1vZGVsIGxvYWRzIGJ5IFZNQSBzbyBpbnN0ZWFkIG9mCiAJIyBtYWtpbmcgYSBwcm9wZXIg RUxGIHdlIGxpbmsgd2l0aCBMTUEgPT0gVk1BIGFuZCBhZGp1c3QgY3J1ZGVseQpkaWZmIC0tZ2l0 IGEveGVuL2FyY2gveDg2L01ha2VmaWxlIGIveGVuL2FyY2gveDg2L01ha2VmaWxlCmluZGV4IGQz ODc1YzUuLjkzMTkxN2QgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9NYWtlZmlsZQorKysgYi94 ZW4vYXJjaC94ODYvTWFrZWZpbGUKQEAgLTkzLDEwICs5Myw2IEBAICQoVEFSR0VUKTogJChUQVJH RVQpLXN5bXMgJChlZmkteSkgYm9vdC9ta2VsZjMyCiAJLi9ib290L21rZWxmMzIgJChub3Rlc19w aGRycykgJChUQVJHRVQpLXN5bXMgJChUQVJHRVQpIDB4MTAwMDAwIFwKIAlgJChOTSkgLW5yICQo VEFSR0VUKS1zeW1zIHwgaGVhZCAtbiAxIHwgc2VkIC1lICdzL15cKFteIF0qXCkuKi8weFwxLydg CiAKLS5QSE9OWTogdGVzdHMKLXRlc3RzOgotCSQoTUFLRSkgLWYgJChCQVNFRElSKS9SdWxlcy5t ayAtQyB0ZXN0IGxpdmVwYXRjaAotCiBBTExfT0JKUyA6PSAkKEJBU0VESVIpL2FyY2gveDg2L2Jv b3QvYnVpbHRfaW4ubyAkKEJBU0VESVIpL2FyY2gveDg2L2VmaS9idWlsdF9pbi5vICQoQUxMX09C SlMpCiAKIGlmZXEgKCQobHRvKSx5KQpAQCAtMjI2LDQgKzIyMiwzIEBAIGNsZWFuOjoKIAlybSAt ZiAkKEJBU0VESVIpLy54ZW4uZWZpLlswLTldKiBlZmkvKi5vIGVmaS8uKi5kIGVmaS8qLmVmaSBl ZmkvZGlzYWJsZWQgZWZpL21rcmVsb2MKIAlybSAtZiBib290L3JlbG9jLlMgYm9vdC9yZWxvYy5s bmsgYm9vdC9yZWxvYy5iaW4KIAlybSAtZiBub3RlLm8KLQkkKE1BS0UpIC1mICQoQkFTRURJUikv UnVsZXMubWsgLUMgdGVzdCBjbGVhbgpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Rlc3QvTWFr ZWZpbGUgYi94ZW4vYXJjaC94ODYvdGVzdC9NYWtlZmlsZQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggNDhmZjg0My4uMDAwMDAwMAotLS0gYS94ZW4vYXJjaC94ODYvdGVzdC9NYWtlZmls ZQorKysgL2Rldi9udWxsCkBAIC0xLDg1ICswLDAgQEAKLWluY2x1ZGUgJChYRU5fUk9PVCkvQ29u ZmlnLm1rCi0KLUNPREVfQUREUj0kKHNoZWxsIG5tIC0tZGVmaW5lZCAkKDEpIHwgZ3JlcCAkKDIp IHwgYXdrICd7cHJpbnQgIjB4IiQkMX0nKQotQ09ERV9TWj0kKHNoZWxsIG5tIC0tZGVmaW5lZCAt UyAkKDEpIHwgZ3JlcCAkKDIpIHwgYXdrICd7IHByaW50ICIweCIkJDJ9JykKLQotLlBIT05ZOiBk ZWZhdWx0Ci0KLUxJVkVQQVRDSCA6PSB4ZW5faGVsbG9fd29ybGQubGl2ZXBhdGNoCi1MSVZFUEFU Q0hfQllFIDo9IHhlbl9ieWVfd29ybGQubGl2ZXBhdGNoCi1MSVZFUEFUQ0hfUkVQTEFDRSA6PSB4 ZW5fcmVwbGFjZV93b3JsZC5saXZlcGF0Y2gKLQotZGVmYXVsdDogbGl2ZXBhdGNoCi0KLWluc3Rh bGw6IGxpdmVwYXRjaAotCSQoSU5TVEFMTF9EQVRBKSAkKExJVkVQQVRDSCkgJChERVNURElSKSQo REVCVUdfRElSKS8kKExJVkVQQVRDSCkKLQkkKElOU1RBTExfREFUQSkgJChMSVZFUEFUQ0hfQllF KSAkKERFU1RESVIpJChERUJVR19ESVIpLyQoTElWRVBBVENIX0JZRSkKLQkkKElOU1RBTExfREFU QSkgJChMSVZFUEFUQ0hfUkVQTEFDRSkgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRD SF9SRVBMQUNFKQotdW5pbnN0YWxsOgotCXJtIC1mICQoREVTVERJUikkKERFQlVHX0RJUikvJChM SVZFUEFUQ0gpCi0Jcm0gLWYgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRDSF9CWUUp Ci0Jcm0gLWYgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRDSF9SRVBMQUNFKQotCi0u UEhPTlk6IGNsZWFuCi1jbGVhbjo6Ci0Jcm0gLWYgKi5vIC4qLm8uZCAqLmxpdmVwYXRjaCBjb25m aWcuaAotCi0jCi0jIFRvIGNvbXB1dGUgdGhlc2UgdmFsdWVzIHdlIG5lZWQgdGhlIGJpbmFyeSBm aWxlczogeGVuLXN5bXMKLSMgYW5kIHhlbl9oZWxsb193b3JsZF9mdW5jLm8gdG8gYmUgYWxyZWFk eSBjb21waWxlZC4KLSMKLS5QSE9OWTogY29uZmlnLmgKLWNvbmZpZy5oOiBPTERfQ09ERV9TWj0k KGNhbGwgQ09ERV9TWiwkKEJBU0VESVIpL3hlbi1zeW1zLHhlbl9leHRyYV92ZXJzaW9uKQotY29u ZmlnLmg6IE5FV19DT0RFX1NaPSQoY2FsbCBDT0RFX1NaLCQ8LHhlbl9oZWxsb193b3JsZCkKLWNv bmZpZy5oOiB4ZW5faGVsbG9fd29ybGRfZnVuYy5vCi0JKHNldCAtZTsgXAotCSBlY2hvICIjZGVm aW5lIE5FV19DT0RFX1NaICQoTkVXX0NPREVfU1opIjsgXAotCSBlY2hvICIjZGVmaW5lIE9MRF9D T0RFX1NaICQoT0xEX0NPREVfU1opIikgPiAkQAotCi14ZW5faGVsbG9fd29ybGQubzogY29uZmln LmgKLQotLlBIT05ZOiAkKExJVkVQQVRDSCkKLSQoTElWRVBBVENIKTogeGVuX2hlbGxvX3dvcmxk X2Z1bmMubyB4ZW5faGVsbG9fd29ybGQubyBub3RlLm8KLQkkKExEKSAkKExERkxBR1MpICQoYnVp bGRfaWRfbGlua2VyKSAtciAtbyAkKExJVkVQQVRDSCkgJF4KLQotIwotIyBUaGlzIHRhcmdldCBp cyBvbmx5IGFjY2Vzc2libGUgaWYgQ09ORklHX0xJVkVQQVRDSCBpcyBkZWZpbmVkLCB3aGljaAot IyBkZXBlbmRzIG9uICQoYnVpbGRfaWRfbGlua2VyKSBiZWluZyBhdmFpbGFibGUuIEhlbmNlIHdl IGRvIG5vdAotIyBuZWVkIGFueSBjaGVja3MuCi0jCi0jIE4uQi4gVGhlIHJlYXNvbiB3ZSBkb24n dCB1c2UgYXJjaC94ODYvbm90ZS5vIGlzIHRoYXQgaXQgbWF5Ci0jIG5vdCBiZSBidWlsdCAoaXQg aXMgZm9yIEVGSSBidWlsZHMpLCBhbmQgdGhhdCB3ZSBkbyBub3QgaGF2ZQotIyB0aGUgbm90ZS5v LmJpbiB0byBtdWNrIHdpdGggKGFzIGl0IGdldHMgZGVsZXRlZCkKLSMKLS5QSE9OWTogbm90ZS5v Ci1ub3RlLm86Ci0JJChPQkpDT1BZKSAtTyBiaW5hcnkgLS1vbmx5LXNlY3Rpb249Lm5vdGUuZ251 LmJ1aWxkLWlkICQoQkFTRURJUikveGVuLXN5bXMgJEAuYmluCi0JJChPQkpDT1BZKSAtSSBiaW5h cnkgLU8gZWxmNjQteDg2LTY0IC1CIGkzODY6eDg2LTY0IFwKLQkJICAgLS1yZW5hbWUtc2VjdGlv bj0uZGF0YT0ubGl2ZXBhdGNoLmRlcGVuZHMsYWxsb2MsbG9hZCxyZWFkb25seSxkYXRhLGNvbnRl bnRzIC1TICRALmJpbiAkQAotCXJtIC1mICRALmJpbgotCi0jCi0jIEV4dHJhY3QgdGhlIGJ1aWxk LWlkIG9mIHRoZSB4ZW5faGVsbG9fd29ybGQubGl2ZXBhdGNoCi0jICh3aGljaCB4ZW5fYnllX3dv cmxkIHdpbGwgZGVwZW5kIG9uKS4KLSMKLS5QSE9OWTogaGVsbG9fd29ybGRfbm90ZS5vCi1oZWxs b193b3JsZF9ub3RlLm86ICQoTElWRVBBVENIKQotCSQoT0JKQ09QWSkgLU8gYmluYXJ5IC0tb25s eS1zZWN0aW9uPS5ub3RlLmdudS5idWlsZC1pZCAkKExJVkVQQVRDSCkgJEAuYmluCi0JJChPQkpD T1BZKSAgLUkgYmluYXJ5IC1PIGVsZjY0LXg4Ni02NCAtQiBpMzg2Ong4Ni02NCBcCi0JCSAgIC0t cmVuYW1lLXNlY3Rpb249LmRhdGE9LmxpdmVwYXRjaC5kZXBlbmRzLGFsbG9jLGxvYWQscmVhZG9u bHksZGF0YSxjb250ZW50cyAtUyAkQC5iaW4gJEAKLQlybSAtZiAkQC5iaW4KLQoteGVuX2J5ZV93 b3JsZC5vOiBjb25maWcuaAotCi0uUEhPTlk6ICQoTElWRVBBVENIX0JZRSkKLSQoTElWRVBBVENI X0JZRSk6IHhlbl9ieWVfd29ybGRfZnVuYy5vIHhlbl9ieWVfd29ybGQubyBoZWxsb193b3JsZF9u b3RlLm8KLQkkKExEKSAkKExERkxBR1MpICQoYnVpbGRfaWRfbGlua2VyKSAtciAtbyAkKExJVkVQ QVRDSF9CWUUpICReCi0KLXhlbl9yZXBsYWNlX3dvcmxkLm86IGNvbmZpZy5oCi0KLS5QSE9OWTog JChMSVZFUEFUQ0hfUkVQTEFDRSkKLSQoTElWRVBBVENIX1JFUExBQ0UpOiB4ZW5fcmVwbGFjZV93 b3JsZF9mdW5jLm8geGVuX3JlcGxhY2Vfd29ybGQubyBub3RlLm8KLQkkKExEKSAkKExERkxBR1Mp ICQoYnVpbGRfaWRfbGlua2VyKSAtciAtbyAkKExJVkVQQVRDSF9SRVBMQUNFKSAkXgotCi0uUEhP Tlk6IGxpdmVwYXRjaAotbGl2ZXBhdGNoOiAkKExJVkVQQVRDSCkgJChMSVZFUEFUQ0hfQllFKSAk KExJVkVQQVRDSF9SRVBMQUNFKQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5 ZV93b3JsZC5jIGIveGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZC5jCmRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAyNzAwZjBlLi4wMDAwMDAwCi0tLSBhL3hlbi9hcmNoL3g4Ni90 ZXN0L3hlbl9ieWVfd29ybGQuYworKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0g KiBDb3B5cmlnaHQgKGMpIDIwMTYgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJp Z2h0cyByZXNlcnZlZC4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUg PHhlbi9saWIuaD4KLSNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KLSNpbmNsdWRlIDx4ZW4vdmVyc2lv bi5oPgotI2luY2x1ZGUgPHhlbi9saXZlcGF0Y2guaD4KLQotI2luY2x1ZGUgPHB1YmxpYy9zeXNj dGwuaD4KLQotc3RhdGljIGNvbnN0IGNoYXIgYnllX3dvcmxkX3BhdGNoX3RoaXNfZm5jW10gPSAi eGVuX2V4dHJhX3ZlcnNpb24iOwotZXh0ZXJuIGNvbnN0IGNoYXIgKnhlbl9ieWVfd29ybGQodm9p ZCk7Ci0KLXN0cnVjdCBsaXZlcGF0Y2hfZnVuYyBfX3NlY3Rpb24oIi5saXZlcGF0Y2guZnVuY3Mi KSBsaXZlcGF0Y2hfeGVuX2J5ZV93b3JsZCA9IHsKLSAgICAudmVyc2lvbiA9IExJVkVQQVRDSF9Q QVlMT0FEX1ZFUlNJT04sCi0gICAgLm5hbWUgPSBieWVfd29ybGRfcGF0Y2hfdGhpc19mbmMsCi0g ICAgLm5ld19hZGRyID0geGVuX2J5ZV93b3JsZCwKLSAgICAub2xkX2FkZHIgPSB4ZW5fZXh0cmFf dmVyc2lvbiwKLSAgICAubmV3X3NpemUgPSBORVdfQ09ERV9TWiwKLSAgICAub2xkX3NpemUgPSBP TERfQ09ERV9TWiwKLX07Ci0KLS8qCi0gKiBMb2NhbCB2YXJpYWJsZXM6Ci0gKiBtb2RlOiBDCi0g KiBjLWZpbGUtc3R5bGU6ICJCU0QiCi0gKiBjLWJhc2ljLW9mZnNldDogNAotICogdGFiLXdpZHRo OiA0Ci0gKiBpbmRlbnQtdGFicy1tb2RlOiBuaWwKLSAqIEVuZDoKLSAqLwpkaWZmIC0tZ2l0IGEv eGVuL2FyY2gveDg2L3Rlc3QveGVuX2J5ZV93b3JsZF9mdW5jLmMgYi94ZW4vYXJjaC94ODYvdGVz dC94ZW5fYnllX3dvcmxkX2Z1bmMuYwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzJl ZjM0MS4uMDAwMDAwMAotLS0gYS94ZW4vYXJjaC94ODYvdGVzdC94ZW5fYnllX3dvcmxkX2Z1bmMu YworKysgL2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIw MTYgT3JhY2xlIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq Ci0gKi8KLQotI2luY2x1ZGUgPHhlbi90eXBlcy5oPgotCi0vKiBPdXIgcmVwbGFjZW1lbnQgZnVu Y3Rpb24gZm9yIHhlbl9oZWxsb193b3JsZC4gKi8KLWNvbnN0IGNoYXIgKnhlbl9ieWVfd29ybGQo dm9pZCkKLXsKLSAgICByZXR1cm4gIkJ5ZSBXb3JsZCEiOwotfQotCi0vKgotICogTG9jYWwgdmFy aWFibGVzOgotICogbW9kZTogQwotICogYy1maWxlLXN0eWxlOiAiQlNEIgotICogYy1iYXNpYy1v ZmZzZXQ6IDQKLSAqIHRhYi13aWR0aDogNAotICogaW5kZW50LXRhYnMtbW9kZTogbmlsCi0gKiBF bmQ6Ci0gKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9oZWxsb193b3JsZC5j IGIveGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkLmMKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAyZjNmODUuLjAwMDAwMDAKLS0tIGEveGVuL2FyY2gveDg2L3Rlc3QveGVu X2hlbGxvX3dvcmxkLmMKKysrIC9kZXYvbnVsbApAQCAtMSw2NyArMCwwIEBACi0vKgotICogQ29w eXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMg cmVzZXJ2ZWQuCi0gKgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlIDx4ZW4v bGliLmg+Ci0jaW5jbHVkZSA8eGVuL3R5cGVzLmg+Ci0jaW5jbHVkZSA8eGVuL3ZlcnNpb24uaD4K LSNpbmNsdWRlIDx4ZW4vbGl2ZXBhdGNoLmg+Ci0jaW5jbHVkZSA8eGVuL2xpdmVwYXRjaF9wYXls b2FkLmg+Ci0KLSNpbmNsdWRlIDxwdWJsaWMvc3lzY3RsLmg+Ci0KLXN0YXRpYyBjb25zdCBjaGFy IGhlbGxvX3dvcmxkX3BhdGNoX3RoaXNfZm5jW10gPSAieGVuX2V4dHJhX3ZlcnNpb24iOwotZXh0 ZXJuIGNvbnN0IGNoYXIgKnhlbl9oZWxsb193b3JsZCh2b2lkKTsKLXN0YXRpYyB1bnNpZ25lZCBp bnQgY250OwotCi1zdGF0aWMgdm9pZCBhcHBseV9ob29rKHZvaWQpCi17Ci0gICAgcHJpbnRrKEtF Uk5fREVCVUcgIkhvb2sgZXhlY3V0aW5nLlxuIik7Ci19Ci0KLXN0YXRpYyB2b2lkIHJldmVydF9o b29rKHZvaWQpCi17Ci0gICAgcHJpbnRrKEtFUk5fREVCVUcgIkhvb2sgdW5sb2FkZWQuXG4iKTsK LX0KLQotc3RhdGljIHZvaWQgIGhpX2Z1bmModm9pZCkKLXsKLSAgICBwcmludGsoS0VSTl9ERUJV RyAiJXM6IEhpISAoY2FsbGVkICV1IHRpbWVzKVxuIiwgX19mdW5jX18sICsrY250KTsKLX07Ci0K LXN0YXRpYyB2b2lkIGNoZWNrX2ZuYyh2b2lkKQotewotICAgIHByaW50ayhLRVJOX0RFQlVHICIl czogSGkgZnVuYyBjYWxsZWQgJXUgdGltZXNcbiIsIF9fZnVuY19fLCBjbnQpOwotICAgIEJVR19P TihjbnQgPT0gMCB8fCBjbnQgPiAyKTsKLX0KLQotTElWRVBBVENIX0xPQURfSE9PSyhhcHBseV9o b29rKTsKLUxJVkVQQVRDSF9VTkxPQURfSE9PSyhyZXZlcnRfaG9vayk7Ci0KLS8qIEltYmFsYW5j ZSBoZXJlLiBUd28gbG9hZCBhbmQgdGhyZWUgdW5sb2FkLiAqLwotCi1MSVZFUEFUQ0hfTE9BRF9I T09LKGhpX2Z1bmMpOwotTElWRVBBVENIX1VOTE9BRF9IT09LKGhpX2Z1bmMpOwotCi1MSVZFUEFU Q0hfVU5MT0FEX0hPT0soY2hlY2tfZm5jKTsKLQotc3RydWN0IGxpdmVwYXRjaF9mdW5jIF9fc2Vj dGlvbigiLmxpdmVwYXRjaC5mdW5jcyIpIGxpdmVwYXRjaF94ZW5faGVsbG9fd29ybGQgPSB7Ci0g ICAgLnZlcnNpb24gPSBMSVZFUEFUQ0hfUEFZTE9BRF9WRVJTSU9OLAotICAgIC5uYW1lID0gaGVs bG9fd29ybGRfcGF0Y2hfdGhpc19mbmMsCi0gICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxk LAotICAgIC5vbGRfYWRkciA9IHhlbl9leHRyYV92ZXJzaW9uLAotICAgIC5uZXdfc2l6ZSA9IE5F V19DT0RFX1NaLAotICAgIC5vbGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAotfTsKLQotLyoKLSAqIExv Y2FsIHZhcmlhYmxlczoKLSAqIG1vZGU6IEMKLSAqIGMtZmlsZS1zdHlsZTogIkJTRCIKLSAqIGMt YmFzaWMtb2Zmc2V0OiA0Ci0gKiB0YWItd2lkdGg6IDQKLSAqIGluZGVudC10YWJzLW1vZGU6IG5p bAotICogRW5kOgotICovCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdGVzdC94ZW5faGVsbG9f d29ybGRfZnVuYy5jIGIveGVuL2FyY2gveDg2L3Rlc3QveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYwpk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDNkNmI4NC4uMDAwMDAwMAotLS0gYS94ZW4v YXJjaC94ODYvdGVzdC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCisrKyAvZGV2L251bGwKQEAgLTEs MzkgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxNiBPcmFjbGUgYW5kL29yIGl0cyBh ZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqLwotCi0jaW5jbHVkZSA8eGVu L3R5cGVzLmg+Ci0KLSNpbmNsdWRlIDxhc20vYWx0ZXJuYXRpdmUuaD4KLSNpbmNsdWRlIDxhc20v bm9wcy5oPgotI2luY2x1ZGUgPGFzbS91YWNjZXNzLmg+Ci0KLXN0YXRpYyB1bnNpZ25lZCBsb25n ICpub25fY2Fub25pY2FsX2FkZHIgPSAodW5zaWduZWQgbG9uZyAqKTB4ZGVhZDAwMDAwMDAwMDAw MFVMTDsKLQotLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5fZXh0cmFfdmVyc2lv bi4gKi8KLWNvbnN0IGNoYXIgKnhlbl9oZWxsb193b3JsZCh2b2lkKQotewotICAgIHVuc2lnbmVk IGxvbmcgdG1wOwotICAgIGludCByYzsKLQotICAgIGFsdGVybmF0aXZlKEFTTV9OT1A4LCBBU01f Tk9QMSwgWDg2X0ZFQVRVUkVfTE0pOwotICAgIC8qCi0gICAgICogQW55IEJVRywgb3IgV0FSTl9P TiB3aWxsIGNvbnRhaW4gc3ltYm9sIGFuZCBwYXlsb2FkIG5hbWUuIEZ1cnRoZXJtb3JlCi0gICAg ICogZXhjZXB0aW9ucyB3aWxsIGJlIGNhdWdodCBhbmQgcHJvY2Vzc2VkIHByb3Blcmx5LgotICAg ICAqLwotICAgIHJjID0gX19nZXRfdXNlcih0bXAsIG5vbl9jYW5vbmljYWxfYWRkcik7Ci0gICAg QlVHX09OKHJjICE9IC1FRkFVTFQpOwotCi0gICAgcmV0dXJuICJIZWxsbyBXb3JsZCI7Ci19Ci0K LS8qCi0gKiBMb2NhbCB2YXJpYWJsZXM6Ci0gKiBtb2RlOiBDCi0gKiBjLWZpbGUtc3R5bGU6ICJC U0QiCi0gKiBjLWJhc2ljLW9mZnNldDogNAotICogdGFiLXdpZHRoOiA0Ci0gKiBpbmRlbnQtdGFi cy1tb2RlOiBuaWwKLSAqIEVuZDoKLSAqLwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3Rlc3Qv eGVuX3JlcGxhY2Vfd29ybGQuYyBiL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxk LmMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDc4YThmNTIuLjAwMDAwMDAKLS0tIGEv eGVuL2FyY2gveDg2L3Rlc3QveGVuX3JlcGxhY2Vfd29ybGQuYworKysgL2Rldi9udWxsCkBAIC0x LDMzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTYgT3JhY2xlIGFuZC9vciBpdHMg YWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKi8KLQotI2luY2x1ZGUgImNv bmZpZy5oIgotI2luY2x1ZGUgPHhlbi9saWIuaD4KLSNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KLSNp bmNsdWRlIDx4ZW4vbGl2ZXBhdGNoLmg+Ci0KLSNpbmNsdWRlIDxwdWJsaWMvc3lzY3RsLmg+Ci0K LXN0YXRpYyBjb25zdCBjaGFyIHhlbl9yZXBsYWNlX3dvcmxkX25hbWVbXSA9ICJ4ZW5fZXh0cmFf dmVyc2lvbiI7Ci1leHRlcm4gY29uc3QgY2hhciAqeGVuX3JlcGxhY2Vfd29ybGQodm9pZCk7Ci0K LXN0cnVjdCBsaXZlcGF0Y2hfZnVuYyBfX3NlY3Rpb24oIi5saXZlcGF0Y2guZnVuY3MiKSBsaXZl cGF0Y2hfeGVuX3JlcGxhY2Vfd29ybGQgPSB7Ci0gICAgLnZlcnNpb24gPSBMSVZFUEFUQ0hfUEFZ TE9BRF9WRVJTSU9OLAotICAgIC5uYW1lID0geGVuX3JlcGxhY2Vfd29ybGRfbmFtZSwKLSAgICAu b2xkX2FkZHIgPSAwLCAvKiBGb3JjZXMgdGhlIGh5cGVydmlzb3IgdG8gbG9va3VwIC5uYW1lICov Ci0gICAgLm5ld19hZGRyID0geGVuX3JlcGxhY2Vfd29ybGQsCi0gICAgLm5ld19zaXplID0gTkVX X0NPREVfU1osCi0gICAgLm9sZF9zaXplID0gT0xEX0NPREVfU1osCi19OwotCi0vKgotICogTG9j YWwgdmFyaWFibGVzOgotICogbW9kZTogQwotICogYy1maWxlLXN0eWxlOiAiQlNEIgotICogYy1i YXNpYy1vZmZzZXQ6IDQKLSAqIHRhYi13aWR0aDogNAotICogaW5kZW50LXRhYnMtbW9kZTogbmls Ci0gKiBFbmQ6Ci0gKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNl X3dvcmxkX2Z1bmMuYyBiL3hlbi9hcmNoL3g4Ni90ZXN0L3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMu YwpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYWZiNWNkYS4uMDAwMDAwMAotLS0gYS94 ZW4vYXJjaC94ODYvdGVzdC94ZW5fcmVwbGFjZV93b3JsZF9mdW5jLmMKKysrIC9kZXYvbnVsbApA QCAtMSwyMiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3Ig aXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICovCi0KLSNpbmNsdWRl IDx4ZW4vdHlwZXMuaD4KLQotLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5faGVs bG9fd29ybGQuICovCi1jb25zdCBjaGFyICp4ZW5fcmVwbGFjZV93b3JsZCh2b2lkKQotewotICAg IHJldHVybiAiSGVsbG8gQWdhaW4gV29ybGQhIjsKLX0KLQotLyoKLSAqIExvY2FsIHZhcmlhYmxl czoKLSAqIG1vZGU6IEMKLSAqIGMtZmlsZS1zdHlsZTogIkJTRCIKLSAqIGMtYmFzaWMtb2Zmc2V0 OiA0Ci0gKiB0YWItd2lkdGg6IDQKLSAqIGluZGVudC10YWJzLW1vZGU6IG5pbAotICogRW5kOgot ICovCmRpZmYgLS1naXQgYS94ZW4vdGVzdC9NYWtlZmlsZSBiL3hlbi90ZXN0L01ha2VmaWxlCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNTMwNDAKLS0tIC9kZXYvbnVsbAor KysgYi94ZW4vdGVzdC9NYWtlZmlsZQpAQCAtMCwwICsxLDkgQEAKKy5QSE9OWTogdGVzdHMKK3Rl c3RzOgoraWZlcSAoJChYRU5fVEFSR0VUX0FSQ0gpLHg4Nl82NCkKKwkkKE1BS0UpIC1mICQoQkFT RURJUikvUnVsZXMubWsgLUMgbGl2ZXBhdGNoIGxpdmVwYXRjaAorZW5kaWYKKworLlBIT05ZOiBj bGVhbgorY2xlYW46OgorCSQoTUFLRSkgLWYgJChCQVNFRElSKS9SdWxlcy5tayAtQyBsaXZlcGF0 Y2ggY2xlYW4KZGlmZiAtLWdpdCBhL3hlbi90ZXN0L2xpdmVwYXRjaC9NYWtlZmlsZSBiL3hlbi90 ZXN0L2xpdmVwYXRjaC9NYWtlZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li40OGZmODQzCi0tLSAvZGV2L251bGwKKysrIGIveGVuL3Rlc3QvbGl2ZXBhdGNoL01ha2VmaWxl CkBAIC0wLDAgKzEsODUgQEAKK2luY2x1ZGUgJChYRU5fUk9PVCkvQ29uZmlnLm1rCisKK0NPREVf QUREUj0kKHNoZWxsIG5tIC0tZGVmaW5lZCAkKDEpIHwgZ3JlcCAkKDIpIHwgYXdrICd7cHJpbnQg IjB4IiQkMX0nKQorQ09ERV9TWj0kKHNoZWxsIG5tIC0tZGVmaW5lZCAtUyAkKDEpIHwgZ3JlcCAk KDIpIHwgYXdrICd7IHByaW50ICIweCIkJDJ9JykKKworLlBIT05ZOiBkZWZhdWx0CisKK0xJVkVQ QVRDSCA6PSB4ZW5faGVsbG9fd29ybGQubGl2ZXBhdGNoCitMSVZFUEFUQ0hfQllFIDo9IHhlbl9i eWVfd29ybGQubGl2ZXBhdGNoCitMSVZFUEFUQ0hfUkVQTEFDRSA6PSB4ZW5fcmVwbGFjZV93b3Js ZC5saXZlcGF0Y2gKKworZGVmYXVsdDogbGl2ZXBhdGNoCisKK2luc3RhbGw6IGxpdmVwYXRjaAor CSQoSU5TVEFMTF9EQVRBKSAkKExJVkVQQVRDSCkgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJ VkVQQVRDSCkKKwkkKElOU1RBTExfREFUQSkgJChMSVZFUEFUQ0hfQllFKSAkKERFU1RESVIpJChE RUJVR19ESVIpLyQoTElWRVBBVENIX0JZRSkKKwkkKElOU1RBTExfREFUQSkgJChMSVZFUEFUQ0hf UkVQTEFDRSkgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRDSF9SRVBMQUNFKQordW5p bnN0YWxsOgorCXJtIC1mICQoREVTVERJUikkKERFQlVHX0RJUikvJChMSVZFUEFUQ0gpCisJcm0g LWYgJChERVNURElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRDSF9CWUUpCisJcm0gLWYgJChERVNU RElSKSQoREVCVUdfRElSKS8kKExJVkVQQVRDSF9SRVBMQUNFKQorCisuUEhPTlk6IGNsZWFuCitj bGVhbjo6CisJcm0gLWYgKi5vIC4qLm8uZCAqLmxpdmVwYXRjaCBjb25maWcuaAorCisjCisjIFRv IGNvbXB1dGUgdGhlc2UgdmFsdWVzIHdlIG5lZWQgdGhlIGJpbmFyeSBmaWxlczogeGVuLXN5bXMK KyMgYW5kIHhlbl9oZWxsb193b3JsZF9mdW5jLm8gdG8gYmUgYWxyZWFkeSBjb21waWxlZC4KKyMK Ky5QSE9OWTogY29uZmlnLmgKK2NvbmZpZy5oOiBPTERfQ09ERV9TWj0kKGNhbGwgQ09ERV9TWiwk KEJBU0VESVIpL3hlbi1zeW1zLHhlbl9leHRyYV92ZXJzaW9uKQorY29uZmlnLmg6IE5FV19DT0RF X1NaPSQoY2FsbCBDT0RFX1NaLCQ8LHhlbl9oZWxsb193b3JsZCkKK2NvbmZpZy5oOiB4ZW5faGVs bG9fd29ybGRfZnVuYy5vCisJKHNldCAtZTsgXAorCSBlY2hvICIjZGVmaW5lIE5FV19DT0RFX1Na ICQoTkVXX0NPREVfU1opIjsgXAorCSBlY2hvICIjZGVmaW5lIE9MRF9DT0RFX1NaICQoT0xEX0NP REVfU1opIikgPiAkQAorCit4ZW5faGVsbG9fd29ybGQubzogY29uZmlnLmgKKworLlBIT05ZOiAk KExJVkVQQVRDSCkKKyQoTElWRVBBVENIKTogeGVuX2hlbGxvX3dvcmxkX2Z1bmMubyB4ZW5faGVs bG9fd29ybGQubyBub3RlLm8KKwkkKExEKSAkKExERkxBR1MpICQoYnVpbGRfaWRfbGlua2VyKSAt ciAtbyAkKExJVkVQQVRDSCkgJF4KKworIworIyBUaGlzIHRhcmdldCBpcyBvbmx5IGFjY2Vzc2li bGUgaWYgQ09ORklHX0xJVkVQQVRDSCBpcyBkZWZpbmVkLCB3aGljaAorIyBkZXBlbmRzIG9uICQo YnVpbGRfaWRfbGlua2VyKSBiZWluZyBhdmFpbGFibGUuIEhlbmNlIHdlIGRvIG5vdAorIyBuZWVk IGFueSBjaGVja3MuCisjCisjIE4uQi4gVGhlIHJlYXNvbiB3ZSBkb24ndCB1c2UgYXJjaC94ODYv bm90ZS5vIGlzIHRoYXQgaXQgbWF5CisjIG5vdCBiZSBidWlsdCAoaXQgaXMgZm9yIEVGSSBidWls ZHMpLCBhbmQgdGhhdCB3ZSBkbyBub3QgaGF2ZQorIyB0aGUgbm90ZS5vLmJpbiB0byBtdWNrIHdp dGggKGFzIGl0IGdldHMgZGVsZXRlZCkKKyMKKy5QSE9OWTogbm90ZS5vCitub3RlLm86CisJJChP QkpDT1BZKSAtTyBiaW5hcnkgLS1vbmx5LXNlY3Rpb249Lm5vdGUuZ251LmJ1aWxkLWlkICQoQkFT RURJUikveGVuLXN5bXMgJEAuYmluCisJJChPQkpDT1BZKSAtSSBiaW5hcnkgLU8gZWxmNjQteDg2 LTY0IC1CIGkzODY6eDg2LTY0IFwKKwkJICAgLS1yZW5hbWUtc2VjdGlvbj0uZGF0YT0ubGl2ZXBh dGNoLmRlcGVuZHMsYWxsb2MsbG9hZCxyZWFkb25seSxkYXRhLGNvbnRlbnRzIC1TICRALmJpbiAk QAorCXJtIC1mICRALmJpbgorCisjCisjIEV4dHJhY3QgdGhlIGJ1aWxkLWlkIG9mIHRoZSB4ZW5f aGVsbG9fd29ybGQubGl2ZXBhdGNoCisjICh3aGljaCB4ZW5fYnllX3dvcmxkIHdpbGwgZGVwZW5k IG9uKS4KKyMKKy5QSE9OWTogaGVsbG9fd29ybGRfbm90ZS5vCitoZWxsb193b3JsZF9ub3RlLm86 ICQoTElWRVBBVENIKQorCSQoT0JKQ09QWSkgLU8gYmluYXJ5IC0tb25seS1zZWN0aW9uPS5ub3Rl LmdudS5idWlsZC1pZCAkKExJVkVQQVRDSCkgJEAuYmluCisJJChPQkpDT1BZKSAgLUkgYmluYXJ5 IC1PIGVsZjY0LXg4Ni02NCAtQiBpMzg2Ong4Ni02NCBcCisJCSAgIC0tcmVuYW1lLXNlY3Rpb249 LmRhdGE9LmxpdmVwYXRjaC5kZXBlbmRzLGFsbG9jLGxvYWQscmVhZG9ubHksZGF0YSxjb250ZW50 cyAtUyAkQC5iaW4gJEAKKwlybSAtZiAkQC5iaW4KKworeGVuX2J5ZV93b3JsZC5vOiBjb25maWcu aAorCisuUEhPTlk6ICQoTElWRVBBVENIX0JZRSkKKyQoTElWRVBBVENIX0JZRSk6IHhlbl9ieWVf d29ybGRfZnVuYy5vIHhlbl9ieWVfd29ybGQubyBoZWxsb193b3JsZF9ub3RlLm8KKwkkKExEKSAk KExERkxBR1MpICQoYnVpbGRfaWRfbGlua2VyKSAtciAtbyAkKExJVkVQQVRDSF9CWUUpICReCisK K3hlbl9yZXBsYWNlX3dvcmxkLm86IGNvbmZpZy5oCisKKy5QSE9OWTogJChMSVZFUEFUQ0hfUkVQ TEFDRSkKKyQoTElWRVBBVENIX1JFUExBQ0UpOiB4ZW5fcmVwbGFjZV93b3JsZF9mdW5jLm8geGVu X3JlcGxhY2Vfd29ybGQubyBub3RlLm8KKwkkKExEKSAkKExERkxBR1MpICQoYnVpbGRfaWRfbGlu a2VyKSAtciAtbyAkKExJVkVQQVRDSF9SRVBMQUNFKSAkXgorCisuUEhPTlk6IGxpdmVwYXRjaAor bGl2ZXBhdGNoOiAkKExJVkVQQVRDSCkgJChMSVZFUEFUQ0hfQllFKSAkKExJVkVQQVRDSF9SRVBM QUNFKQpkaWZmIC0tZ2l0IGEveGVuL3Rlc3QvbGl2ZXBhdGNoL3hlbl9ieWVfd29ybGQuYyBiL3hl bi90ZXN0L2xpdmVwYXRjaC94ZW5fYnllX3dvcmxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uMjcwMGYwZQotLS0gL2Rldi9udWxsCisrKyBiL3hlbi90ZXN0L2xpdmVwYXRj aC94ZW5fYnllX3dvcmxkLmMKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykg MjAxNiBPcmFjbGUgYW5kL29yIGl0cyBhZmZpbGlhdGVzLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor ICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSA8eGVuL2xpYi5oPgorI2lu Y2x1ZGUgPHhlbi90eXBlcy5oPgorI2luY2x1ZGUgPHhlbi92ZXJzaW9uLmg+CisjaW5jbHVkZSA8 eGVuL2xpdmVwYXRjaC5oPgorCisjaW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgorCitzdGF0aWMg Y29uc3QgY2hhciBieWVfd29ybGRfcGF0Y2hfdGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVyc2lv biI7CitleHRlcm4gY29uc3QgY2hhciAqeGVuX2J5ZV93b3JsZCh2b2lkKTsKKworc3RydWN0IGxp dmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxpdmVwYXRjaC5mdW5jcyIpIGxpdmVwYXRjaF94ZW5f YnllX3dvcmxkID0geworICAgIC52ZXJzaW9uID0gTElWRVBBVENIX1BBWUxPQURfVkVSU0lPTiwK KyAgICAubmFtZSA9IGJ5ZV93b3JsZF9wYXRjaF90aGlzX2ZuYywKKyAgICAubmV3X2FkZHIgPSB4 ZW5fYnllX3dvcmxkLAorICAgIC5vbGRfYWRkciA9IHhlbl9leHRyYV92ZXJzaW9uLAorICAgIC5u ZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5vbGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAorfTsK KworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTog IkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10 YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1naXQgYS94ZW4vdGVzdC9saXZlcGF0 Y2gveGVuX2J5ZV93b3JsZF9mdW5jLmMgYi94ZW4vdGVzdC9saXZlcGF0Y2gveGVuX2J5ZV93b3Js ZF9mdW5jLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJlZjM0MQotLS0g L2Rldi9udWxsCisrKyBiL3hlbi90ZXN0L2xpdmVwYXRjaC94ZW5fYnllX3dvcmxkX2Z1bmMuYwpA QCAtMCwwICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3Ig aXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRl IDx4ZW4vdHlwZXMuaD4KKworLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5faGVs bG9fd29ybGQuICovCitjb25zdCBjaGFyICp4ZW5fYnllX3dvcmxkKHZvaWQpCit7CisgICAgcmV0 dXJuICJCeWUgV29ybGQhIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6 IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWIt d2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYgLS1n aXQgYS94ZW4vdGVzdC9saXZlcGF0Y2gveGVuX2hlbGxvX3dvcmxkLmMgYi94ZW4vdGVzdC9saXZl cGF0Y2gveGVuX2hlbGxvX3dvcmxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uMDJmM2Y4NQotLS0gL2Rldi9udWxsCisrKyBiL3hlbi90ZXN0L2xpdmVwYXRjaC94ZW5faGVs bG9fd29ybGQuYwpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDE2IE9y YWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICov CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx4ZW4vbGliLmg+CisjaW5jbHVkZSA8 eGVuL3R5cGVzLmg+CisjaW5jbHVkZSA8eGVuL3ZlcnNpb24uaD4KKyNpbmNsdWRlIDx4ZW4vbGl2 ZXBhdGNoLmg+CisjaW5jbHVkZSA8eGVuL2xpdmVwYXRjaF9wYXlsb2FkLmg+CisKKyNpbmNsdWRl IDxwdWJsaWMvc3lzY3RsLmg+CisKK3N0YXRpYyBjb25zdCBjaGFyIGhlbGxvX3dvcmxkX3BhdGNo X3RoaXNfZm5jW10gPSAieGVuX2V4dHJhX3ZlcnNpb24iOworZXh0ZXJuIGNvbnN0IGNoYXIgKnhl bl9oZWxsb193b3JsZCh2b2lkKTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY250OworCitzdGF0aWMg dm9pZCBhcHBseV9ob29rKHZvaWQpCit7CisgICAgcHJpbnRrKEtFUk5fREVCVUcgIkhvb2sgZXhl Y3V0aW5nLlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIHJldmVydF9ob29rKHZvaWQpCit7CisgICAg cHJpbnRrKEtFUk5fREVCVUcgIkhvb2sgdW5sb2FkZWQuXG4iKTsKK30KKworc3RhdGljIHZvaWQg IGhpX2Z1bmModm9pZCkKK3sKKyAgICBwcmludGsoS0VSTl9ERUJVRyAiJXM6IEhpISAoY2FsbGVk ICV1IHRpbWVzKVxuIiwgX19mdW5jX18sICsrY250KTsKK307CisKK3N0YXRpYyB2b2lkIGNoZWNr X2ZuYyh2b2lkKQoreworICAgIHByaW50ayhLRVJOX0RFQlVHICIlczogSGkgZnVuYyBjYWxsZWQg JXUgdGltZXNcbiIsIF9fZnVuY19fLCBjbnQpOworICAgIEJVR19PTihjbnQgPT0gMCB8fCBjbnQg PiAyKTsKK30KKworTElWRVBBVENIX0xPQURfSE9PSyhhcHBseV9ob29rKTsKK0xJVkVQQVRDSF9V TkxPQURfSE9PSyhyZXZlcnRfaG9vayk7CisKKy8qIEltYmFsYW5jZSBoZXJlLiBUd28gbG9hZCBh bmQgdGhyZWUgdW5sb2FkLiAqLworCitMSVZFUEFUQ0hfTE9BRF9IT09LKGhpX2Z1bmMpOworTElW RVBBVENIX1VOTE9BRF9IT09LKGhpX2Z1bmMpOworCitMSVZFUEFUQ0hfVU5MT0FEX0hPT0soY2hl Y2tfZm5jKTsKKworc3RydWN0IGxpdmVwYXRjaF9mdW5jIF9fc2VjdGlvbigiLmxpdmVwYXRjaC5m dW5jcyIpIGxpdmVwYXRjaF94ZW5faGVsbG9fd29ybGQgPSB7CisgICAgLnZlcnNpb24gPSBMSVZF UEFUQ0hfUEFZTE9BRF9WRVJTSU9OLAorICAgIC5uYW1lID0gaGVsbG9fd29ybGRfcGF0Y2hfdGhp c19mbmMsCisgICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxkLAorICAgIC5vbGRfYWRkciA9 IHhlbl9leHRyYV92ZXJzaW9uLAorICAgIC5uZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5v bGRfc2l6ZSA9IE9MRF9DT0RFX1NaLAorfTsKKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAq IG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0Cisg KiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRp ZmYgLS1naXQgYS94ZW4vdGVzdC9saXZlcGF0Y2gveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYyBiL3hl bi90ZXN0L2xpdmVwYXRjaC94ZW5faGVsbG9fd29ybGRfZnVuYy5jCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjAzZDZiODQKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vdGVzdC9s aXZlcGF0Y2gveGVuX2hlbGxvX3dvcmxkX2Z1bmMuYwpAQCAtMCwwICsxLDM5IEBACisvKgorICog Q29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KKworI2luY2x1 ZGUgPGFzbS9hbHRlcm5hdGl2ZS5oPgorI2luY2x1ZGUgPGFzbS9ub3BzLmg+CisjaW5jbHVkZSA8 YXNtL3VhY2Nlc3MuaD4KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgKm5vbl9jYW5vbmljYWxfYWRk ciA9ICh1bnNpZ25lZCBsb25nICopMHhkZWFkMDAwMDAwMDAwMDAwVUxMOworCisvKiBPdXIgcmVw bGFjZW1lbnQgZnVuY3Rpb24gZm9yIHhlbl9leHRyYV92ZXJzaW9uLiAqLworY29uc3QgY2hhciAq eGVuX2hlbGxvX3dvcmxkKHZvaWQpCit7CisgICAgdW5zaWduZWQgbG9uZyB0bXA7CisgICAgaW50 IHJjOworCisgICAgYWx0ZXJuYXRpdmUoQVNNX05PUDgsIEFTTV9OT1AxLCBYODZfRkVBVFVSRV9M TSk7CisgICAgLyoKKyAgICAgKiBBbnkgQlVHLCBvciBXQVJOX09OIHdpbGwgY29udGFpbiBzeW1i b2wgYW5kIHBheWxvYWQgbmFtZS4gRnVydGhlcm1vcmUKKyAgICAgKiBleGNlcHRpb25zIHdpbGwg YmUgY2F1Z2h0IGFuZCBwcm9jZXNzZWQgcHJvcGVybHkuCisgICAgICovCisgICAgcmMgPSBfX2dl dF91c2VyKHRtcCwgbm9uX2Nhbm9uaWNhbF9hZGRyKTsKKyAgICBCVUdfT04ocmMgIT0gLUVGQVVM VCk7CisKKyAgICByZXR1cm4gIkhlbGxvIFdvcmxkIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlh YmxlczoKKyAqIG1vZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zm c2V0OiA0CisgKiB0YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5k OgorICovCmRpZmYgLS1naXQgYS94ZW4vdGVzdC9saXZlcGF0Y2gveGVuX3JlcGxhY2Vfd29ybGQu YyBiL3hlbi90ZXN0L2xpdmVwYXRjaC94ZW5fcmVwbGFjZV93b3JsZC5jCm5ldyBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4YThmNTIKLS0tIC9kZXYvbnVsbAorKysgYi94ZW4vdGVz dC9saXZlcGF0Y2gveGVuX3JlcGxhY2Vfd29ybGQuYwpAQCAtMCwwICsxLDMzIEBACisvKgorICog Q29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCByaWdo dHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlIDx4 ZW4vbGliLmg+CisjaW5jbHVkZSA8eGVuL3R5cGVzLmg+CisjaW5jbHVkZSA8eGVuL2xpdmVwYXRj aC5oPgorCisjaW5jbHVkZSA8cHVibGljL3N5c2N0bC5oPgorCitzdGF0aWMgY29uc3QgY2hhciB4 ZW5fcmVwbGFjZV93b3JsZF9uYW1lW10gPSAieGVuX2V4dHJhX3ZlcnNpb24iOworZXh0ZXJuIGNv bnN0IGNoYXIgKnhlbl9yZXBsYWNlX3dvcmxkKHZvaWQpOworCitzdHJ1Y3QgbGl2ZXBhdGNoX2Z1 bmMgX19zZWN0aW9uKCIubGl2ZXBhdGNoLmZ1bmNzIikgbGl2ZXBhdGNoX3hlbl9yZXBsYWNlX3dv cmxkID0geworICAgIC52ZXJzaW9uID0gTElWRVBBVENIX1BBWUxPQURfVkVSU0lPTiwKKyAgICAu bmFtZSA9IHhlbl9yZXBsYWNlX3dvcmxkX25hbWUsCisgICAgLm9sZF9hZGRyID0gMCwgLyogRm9y Y2VzIHRoZSBoeXBlcnZpc29yIHRvIGxvb2t1cCAubmFtZSAqLworICAgIC5uZXdfYWRkciA9IHhl bl9yZXBsYWNlX3dvcmxkLAorICAgIC5uZXdfc2l6ZSA9IE5FV19DT0RFX1NaLAorICAgIC5vbGRf c2l6ZSA9IE9MRF9DT0RFX1NaLAorfTsKKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1v ZGU6IEMKKyAqIGMtZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0 YWItd2lkdGg6IDQKKyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCmRpZmYg LS1naXQgYS94ZW4vdGVzdC9saXZlcGF0Y2gveGVuX3JlcGxhY2Vfd29ybGRfZnVuYy5jIGIveGVu L3Rlc3QvbGl2ZXBhdGNoL3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5hZmI1Y2RhCi0tLSAvZGV2L251bGwKKysrIGIveGVuL3Rlc3Qv bGl2ZXBhdGNoL3hlbl9yZXBsYWNlX3dvcmxkX2Z1bmMuYwpAQCAtMCwwICsxLDIyIEBACisvKgor ICogQ29weXJpZ2h0IChjKSAyMDE2IE9yYWNsZSBhbmQvb3IgaXRzIGFmZmlsaWF0ZXMuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuCisgKgorICovCisKKyNpbmNsdWRlIDx4ZW4vdHlwZXMuaD4KKworLyog T3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5faGVsbG9fd29ybGQuICovCitjb25zdCBj aGFyICp4ZW5fcmVwbGFjZV93b3JsZCh2b2lkKQoreworICAgIHJldHVybiAiSGVsbG8gQWdhaW4g V29ybGQhIjsKK30KKworLyoKKyAqIExvY2FsIHZhcmlhYmxlczoKKyAqIG1vZGU6IEMKKyAqIGMt ZmlsZS1zdHlsZTogIkJTRCIKKyAqIGMtYmFzaWMtb2Zmc2V0OiA0CisgKiB0YWItd2lkdGg6IDQK KyAqIGluZGVudC10YWJzLW1vZGU6IG5pbAorICogRW5kOgorICovCi0tIAoyLjUuNQoKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWls aW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hl bi1kZXZlbAo=