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: Kevin Buettner To: git-commits@fedoraproject.org Subject: [rpms/gdb] gdb-17.2-rebase-f44: Rebase to FSF GDB 14.1 Date: Sun, 28 Jun 2026 00:01:26 GMT Message-ID: <178260488663.1.303253507866479056.rpms-gdb-ebdac5bb6ea5@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: gdb-17.2-rebase-f44 X-Git-Rev: ebdac5bb6ea5c960c4b31bbc2ac3c190ced6373f ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGdkYi0xNy4yLXJlYmFzZS1mNDQK ICAgICAgICAgICAgQ29tbWl0IDogZWJkYWM1YmI2ZWE1Yzk2MGM0YjMxYmJjMmFjM2MxOTBjZWQ2 MzczZgogICAgICAgICAgICBBdXRob3IgOiBLZXZpbiBCdWV0dG5lciA8a2V2aW5iQHJlZGhhdC5j b20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMjMtMTItMDhUMTg6NDM6MjItMDc6MDAKICAgICAg ICAgICAgU3RhdHMgIDogKzQ1NC8tMTA4MSBpbiAyOSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAg ICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZWJkYWM1YmI2ZWE1 Yzk2MGM0YjMxYmJjMmFjM2MxOTBjZWQ2MzczZj9icmFuY2g9Z2RiLTE3LjItcmViYXNlLWY0NAoK ICAgICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiAxNC4xCgpVcGRh dGUgbG9jYWwgcGF0Y2hlczoKICAgIGdkYi02LjUtYnoxODUzMzctcmVzb2x2ZS10bHMtd2l0aG91 dC1kZWJ1Z2luZm8tdjIucGF0Y2gKICAgIGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLnBhdGNo CiAgICBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCiAgICBnZGItY29udGFpbmVyLXJoLXBr Zy5wYXRjaAogICAgZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcucGF0Y2gKICAgIGdkYi1mZWRv cmEtbGlibmN1cnNlc3cucGF0Y2gKICAgIGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAoKVXBk YXRlIGJhY2twb3J0ZWQgcGF0Y2hlcyB3aGljaCBkaWRuJ3QgbWFrZSBpdCBpbnRvIDE0LjE6CiAg ICBnZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAogICAgZ2RiLXJo YnotMjIzMjA4Ni1nZW5lcmF0ZS1nZGItaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCgpEcm9wIHVw c3RyZWFtZWQgbG9jYWwgcGF0Y2hlczoKICAgIGdkYi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBh dGNoCgpEcm9wIGdkYi0xMy4yIGJhY2twb3J0cyAod2hpY2ggYXJlIG5vdyBpbiBnZGItMTQuMSk6 CiAgICBnZGItYmludXRpbHMyOTk4OC1yZWFkX2luZGV4ZWRfYWRkcmVzcy5wYXRjaAogICAgZ2Ri LWJ6MjE5NjM5NS1kZWJ1Z2luZm9kLWxlZ2FjeS1vcGVuc3NsLWNyYXNoLnBhdGNoCiAgICBnZGIt YnoyMjM3MzkyLWR3YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaAogICAgZ2RiLWJ6MjIzNzUx NS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCiAgICBnZGItcmhiejIxOTIxMDUtZnRicy1k YW5nbGluZy1wb2ludGVyCiAgICBnZGItcmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgwNi5wYXRjaAog ICAgZ2RiLXJoYnoyMjMzOTY1LW1lbW9yeS1sZWFrLnBhdGNoCgpBZGp1c3QgZ2RiLnNwZWMgc28g dGhhdCAtLXdpdGgtbXBmciBpcyBubyBsb25nZXIgcGFzc2VkIHRvCmNvbmZpZ3VyZTsgZG9pbmcg c28sIGNvbWJpbmVkIHdpdGggc29tZSBjb25maWd1cnkgY2hhbmdlcyB0cmlnZ2VyZWQKYSBsYXRl bnQgYnVpbGQgcHJvYmxlbS4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25v cmUKaW5kZXggYjRiMDg0MC4uNTdjMDBiNCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8u Z2l0aWdub3JlCkBAIC0xLDUgKzEsNCBAQAogL25ldy1mZWRvcmEtcmVsZWFzZQogL2dkYi1saWJz dGRjKystdjMtcHl0aG9uLTguMS4xLTIwMTgwNjI2LnRhci54egogL3YyLjAuNS50YXIuZ3oKLS9n ZGItMTMuMS50YXIueHoKLS9nZGItMTMuMi50YXIueHoKKy9nZGItMTQuMS50YXIueHoKCmRpZmYg LS1naXQgYS9fZ2RiLnNwZWMuUGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRl CmluZGV4IDQxNjA1MGUuLjliOTY0ZWQgMTAwNjQ0Ci0tLSBhL19nZGIuc3BlYy5QYXRjaC5pbmNs dWRlCisrKyBiL19nZGIuc3BlYy5QYXRjaC5pbmNsdWRlCkBAIC0xNjcsNTkgKzE2NywyMyBAQCBQ YXRjaDAzNzogZ2RiLWxpbnV4X3BlcmYtYnVuZGxlLnBhdGNoCiAjPWZlZG9yYQogUGF0Y2gwMzg6 IGdkYi1hZGQtaW5kZXgucGF0Y2gKIAotIyBCYWNrcG9ydCAiRml4IGEgcG90ZW50aWFsIGlsbGVn YWwgbWVtb3J5IGFjY2VzcyBpbiB0aGUgQkZEIGxpYnJhcnkuLi4iCi0jIChOaWNrIENsaWZ0b24s IGJpbnV0aWxzLzI5OTg4KQotUGF0Y2gwMzk6IGdkYi1iaW51dGlsczI5OTg4LXJlYWRfaW5kZXhl ZF9hZGRyZXNzLnBhdGNoCi0KLSMgQmFja3BvcnQgdXBzdHJlYW0gcGF0Y2ggZml4aW5nIGEgImRh bmdsaW5nIHBvaW50ZXIiIGJ1aWxkIHByb2JsZW0KLSMgZmlyc3Qgc2VlbiB3aGVuIGJ1aWxkaW5n IHdpdGggR0NDIDEzLjEuMSAyMDIzMDQyNiAoUmVkIEhhdCA7OyAxMy4xLjEtMSkuCi1QYXRjaDA0 MDogZ2RiLXJoYnoyMTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgotCi0jIEJhY2twb3J0IHR3 byBjb21taXRzLCAwYWQ1MDRkZDQ2NCBhbmQgZWE3MGY5NDFmOWIsIGZyb20gTGFuY2Vsb3QgU0lY Ci0jIHdoaWNoIHByZXZlbnQgcmVwZWF0ZWQgd2FybmluZ3MgZnJvbSBiZWluZyBwcmludGVkIHdo aWxlIGxvYWRpbmcgYQotIyBjb3JlIGZpbGUuIChSSCBCWiAyMTYwMjExKQotUGF0Y2gwNDE6IGdk Yi1yaGJ6MjE2MDIxMS1leGNlc3NpdmUtY29yZS1maWxlLXdhcm5pbmdzLnBhdGNoCi0KLSMgQmFj a3BvcnQgdXBzdHJlYW0gY29tbWl0IGYzZWVlNTg2MTc0M2Q2MzUgdG8gZml4IGEgY3Jhc2ggdHJp Z2dlcmVkCi0jIHdoZW4gZGVidWdpbmZvZCBtYWtlcyB1c2Ugb2YgcGFydGljdWxhciBvcGVuc3Ns IHNldHRpbmdzLgotUGF0Y2gwNDI6IGdkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3Bl bnNzbC1jcmFzaC5wYXRjaAotCi0jIEJhY2twb3J0IHVwc3RyZWFtIGNvbW1pdCBmOTYzMjhhY2Nk ZTFlNjMgdG8gZml4IGEgcG90ZW50aWFsIGRvdWJsZQotIyBmcmVlIGlzc3VlIGluIHRoZSBkZWJ1 Z2luZm9kIGNvZGUuCi1QYXRjaDA0MzogZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1m cmVlLnBhdGNoCi0KLSMgQmFja3BvcnQgdXBzdHJlYW0gY29tbWl0IDU0MzkyYzRkZjYwNGYyMCB0 byBmaXggYW4gaW5jb3JyZWN0Ci0jIG9ic3RhY2sgYWxsb2NhdGlvbiB0aGF0IHdvbGQgbGVhZCB0 byBtZW1vcnkgY29ycnVwdGlvbi4KLVBhdGNoMDQ0OiBnZGItYnoyMjM3MzkyLWR3YXJmLW9ic3Rh Y2stYWxsb2NhdGlvbi5wYXRjaAotCi0jIEJhY2twb3J0IFBSMjk5MjIsIFNIVF9OT0JJVFMgc2Vj dGlvbgotIyBhdm9pZHMgc2VjdGlvbiBzaXplIHNhbml0eSBjaGVjay4KLVBhdGNoMDQ1OiBnZGIt cmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgwNi5wYXRjaAotCi0jIEJhY2twb3J0IFBSMjk5MjUsIE1l bW9yeSBsZWFrIGluIGZpbmRfYWJzdHJhY3RfaW5zdGFuY2UKLVBhdGNoMDQ2OiBnZGItcmhiejIy MzM5NjUtbWVtb3J5LWxlYWsucGF0Y2gKLQotIyBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCB3aGlj aCBwcmV2ZW50cyBpbnRlcm5hbCBlcnJvciB3aGVuCi0jIGdlbmVyYXRpbmcgYSBnZGItaW5kZXgg ZmlsZSAoUkggQlogMTc3MzY1MSkuCi1QYXRjaDA0NzogZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRl eC1pbnRlcm5hbC1lcnJvci5wYXRjaAotCiAjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgMWYw ZmFiN2ZmODYgYXMgcGFydCBvZiBhIGZpeCBmb3IKICMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWlu ZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYpLgotUGF0Y2gwNDg6IGdkYi1yaGJ6MjIzMjA4 Ni1yZWZhY3Rvci1zZWxmdGVzdC1zdXBwb3J0LnBhdGNoCitQYXRjaDAzOTogZ2RiLXJoYnoyMjMy MDg2LXJlZmFjdG9yLXNlbGZ0ZXN0LXN1cHBvcnQucGF0Y2gKIAogIyBCYWNrLXBvcnQgdXBzdHJl YW0gY29tbWl0IGFhMTliYzFkMjU5IGFzIHBhcnQgb2YgYSBmaXggZm9yCiAjIG5vbi1kZXRlcm1p bmlzdGljIGdkYi1pbmRleCBnZW5lcmF0aW9uIChSSCBCWiAyMjMyMDg2KS4KLVBhdGNoMDQ5OiBn ZGItcmhiei0yMjMyMDg2LXJlZHVjZS1zaXplLW9mLWdkYi1pbmRleC5wYXRjaAorUGF0Y2gwNDA6 IGdkYi1yaGJ6LTIyMzIwODYtcmVkdWNlLXNpemUtb2YtZ2RiLWluZGV4LnBhdGNoCiAKICMgQmFj ay1wb3J0IHVwc3RyZWFtIGNvbW1pdCBhY2MxMTdiNTdmNyBhcyBwYXJ0IG9mIGEgZml4IGZvcgog IyBub24tZGV0ZXJtaW5pc3RpYyBnZGItaW5kZXggZ2VuZXJhdGlvbiAoUkggQlogMjIzMjA4Niku Ci1QYXRjaDA1MDogZ2RiLXJoYnotMjIzMjA4Ni1jcHAtaWZ5LW1hcHBlZC1zeW10YWIucGF0Y2gK K1BhdGNoMDQxOiBnZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRhYi5wYXRjaAog CiAjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQgYWZmMjUwMTQ1YWYgYXMgcGFydCBvZiBhIGZp eCBmb3IKICMgbm9uLWRldGVybWluaXN0aWMgZ2RiLWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIy MzIwODYpLgotUGF0Y2gwNTE6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNv bnNpc3RlbnRseS5wYXRjaAorUGF0Y2gwNDI6IGdkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2Ri LWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaAogCiAjIEJhY2stcG9ydCB1cHN0cmVhbSBjb21taXQg MzY0NGY0MWRjODAgYXMgcGFydCBvZiBhIGZpeCBmb3IKICMgbm9uLWRldGVybWluaXN0aWMgZ2Ri LWluZGV4IGdlbmVyYXRpb24gKFJIIEJaIDIyMzIwODYpLgotUGF0Y2gwNTI6IGdkYi1yaGJ6LTIy MzIwODYtZ2VuZXJhdGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKK1BhdGNoMDQz OiBnZGItcmhiei0yMjMyMDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBh dGNoCiAKCmRpZmYgLS1naXQgYS9fZ2RiLnNwZWMucGF0Y2guaW5jbHVkZSBiL19nZGIuc3BlYy5w YXRjaC5pbmNsdWRlCmluZGV4IGQ5NTQwNjMuLmFiZDhjYTIgMTAwNjQ0Ci0tLSBhL19nZGIuc3Bl Yy5wYXRjaC5pbmNsdWRlCisrKyBiL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlCkBAIC00MSwxMiAr NDEsMyBAQAogJXBhdGNoIC1wMSAtUDA0MQogJXBhdGNoIC1wMSAtUDA0MgogJXBhdGNoIC1wMSAt UDA0MwotJXBhdGNoIC1wMSAtUDA0NAotJXBhdGNoIC1wMSAtUDA0NQotJXBhdGNoIC1wMSAtUDA0 NgotJXBhdGNoIC1wMSAtUDA0NwotJXBhdGNoIC1wMSAtUDA0OAotJXBhdGNoIC1wMSAtUDA0OQot JXBhdGNoIC1wMSAtUDA1MAotJXBhdGNoIC1wMSAtUDA1MQotJXBhdGNoIC1wMSAtUDA1MgoKZGlm ZiAtLWdpdCBhL19naXRfdXBzdHJlYW1fY29tbWl0IGIvX2dpdF91cHN0cmVhbV9jb21taXQKaW5k ZXggMjZlZDg1YS4uM2Q4ZWVjNiAxMDA2NDQKLS0tIGEvX2dpdF91cHN0cmVhbV9jb21taXQKKysr IGIvX2dpdF91cHN0cmVhbV9jb21taXQKQEAgLTEgKzEgQEAKLTY2MjI0M2RlMGUxNGE0OTQ1NTU1 YTQ4MGRjYTMzYzBlNjc3OTc2ZWIKKzZiZGExYzE5YmNkMTZlZmY4NDg4ZmFjYjhhNjdkNTJhNDM2 ZjcwZTcKCmRpZmYgLS1naXQgYS9fcGF0Y2hfb3JkZXIgYi9fcGF0Y2hfb3JkZXIKaW5kZXggMzRi MWE0NS4uYWVlMDFlZSAxMDA2NDQKLS0tIGEvX3BhdGNoX29yZGVyCisrKyBiL19wYXRjaF9vcmRl cgpAQCAtMzYsMTUgKzM2LDYgQEAgZ2RiLXJoYnoxMjYxNTY0LWFhcmNoNjQtaHctd2F0Y2hwb2lu dC10ZXN0LnBhdGNoCiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAogZ2RiLWxpbnV4X3BlcmYt YnVuZGxlLnBhdGNoCiBnZGItYWRkLWluZGV4LnBhdGNoCi1nZGItYmludXRpbHMyOTk4OC1yZWFk X2luZGV4ZWRfYWRkcmVzcy5wYXRjaAotZ2RiLXJoYnoyMTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9p bnRlcgotZ2RiLXJoYnoyMTYwMjExLWV4Y2Vzc2l2ZS1jb3JlLWZpbGUtd2FybmluZ3MucGF0Y2gK LWdkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaAotZ2Ri LWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCi1nZGItYnoyMjM3MzkyLWR3 YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaAotZ2RiLXJoYnoyMjMzOTYxLUNWRS0yMDIyLTQ4 MDYucGF0Y2gKLWdkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVhay5wYXRjaAotZ2RiLXJoYnoxNzcz NjUxLWdkYi1pbmRleC1pbnRlcm5hbC1lcnJvci5wYXRjaAogZ2RiLXJoYnoyMjMyMDg2LXJlZmFj dG9yLXNlbGZ0ZXN0LXN1cHBvcnQucGF0Y2gKIGdkYi1yaGJ6LTIyMzIwODYtcmVkdWNlLXNpemUt b2YtZ2RiLWluZGV4LnBhdGNoCiBnZGItcmhiei0yMjMyMDg2LWNwcC1pZnktbWFwcGVkLXN5bXRh Yi5wYXRjaAoKZGlmZiAtLWdpdCBhL2dkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoIGIvZ2Ri LTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKaW5kZXggY2U5Y2Q2NS4uMDFlOGZmYSAxMDA2NDQK LS0tIGEvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKKysrIGIvZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKQEAgLTE2LDcgKzE2LDcgQEAgU3ViamVjdDogZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZp bGUuaW4KIC0tLSBhL2dkYi9NYWtlZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAt MjAxMSw3ICsyMDExLDcgQEAgaW5mbyBpbnN0YWxsLWluZm8gY2xlYW4taW5mbyBkdmkgcGRmIGlu c3RhbGwtcGRmIGh0bWwgaW5zdGFsbC1odG1sOiBmb3JjZQorQEAgLTIwMzUsNyArMjAzNSw3IEBA IGluZm8gaW5zdGFsbC1pbmZvIGNsZWFuLWluZm8gZHZpIHBkZiBpbnN0YWxsLXBkZiBodG1sIGlu c3RhbGwtaHRtbDogZm9yY2UKICBpbnN0YWxsOiBhbGwKICAJQCQoTUFLRSkgJChGTEFHU19UT19Q QVNTKSBpbnN0YWxsLW9ubHkKICAKQEAgLTI1LDcgKzI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9N YWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHBy b2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgIiQkdCJg IDsgXAogIAkJaWYgdGVzdCAieCQkdHJhbnNmb3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0y MDYxLDcgKzIwNjEsMjUgQEAgaW5zdGFsbC1ndWlsZToKK0BAIC0yMDg1LDcgKzIwODUsMjUgQEAg aW5zdGFsbC1ndWlsZToKICBpbnN0YWxsLXB5dGhvbjoKICAJJChTSEVMTCkgJChzcmNkaXIpLy4u L21raW5zdGFsbGRpcnMgJChERVNURElSKSQoR0RCX0RBVEFESVIpL3B5dGhvbi9nZGIKICAKQEAg LTUyLDcgKzUyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmls ZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsg XAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgJCR0YCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5z Zm9ybWVkX25hbWUiID0geDsgdGhlbiBcCi1AQCAtMjA5Miw2ICsyMTEwLDE4IEBAIHVuaW5zdGFs bDogZm9yY2UgJChDT05GSUdfVU5JTlNUQUxMKQorQEAgLTIxMTYsNiArMjEzNCwxOCBAQCB1bmlu c3RhbGw6IGZvcmNlICQoQ09ORklHX1VOSU5TVEFMTCkKICAJcm0gLWYgJChERVNURElSKSQoYmlu ZGlyKS8kJHRyYW5zZm9ybWVkX25hbWUKICAJQCQoTUFLRSkgRE89dW5pbnN0YWxsICJET0RJUlM9 JChTVUJESVJTKSIgJChGTEFHU19UT19QQVNTKSBzdWJkaXJfZG8KICAKCmRpZmYgLS1naXQgYS9n ZGItNi41LWJ6MTg1MzM3LXJlc29sdmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoIGIv Z2RiLTYuNS1iejE4NTMzNy1yZXNvbHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaApp bmRleCA2YTlmY2FkLi5hYjY0ZjdmIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MTg1MzM3LXJlc29s dmUtdGxzLXdpdGhvdXQtZGVidWdpbmZvLXYyLnBhdGNoCisrKyBiL2dkYi02LjUtYnoxODUzMzct cmVzb2x2ZS10bHMtd2l0aG91dC1kZWJ1Z2luZm8tdjIucGF0Y2gKQEAgLTQ0LDcgKzQ0LDcgQEAg Z2xpYmMtZGVidWdpbmZvLTIuNy0yLng4Nl82NDogL3Vzci9saWIvZGVidWcvbGliNjQvbGliYy5z by42LmRlYnVnOgogZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIvZ2RiL3ByaW50Y21kLmMK IC0tLSBhL2dkYi9wcmludGNtZC5jCiArKysgYi9nZGIvcHJpbnRjbWQuYwotQEAgLTEzMDAsNiAr MTMwMCwxMCBAQCBwcm9jZXNzX3ByaW50X2NvbW1hbmRfYXJncyAoY29uc3QgY2hhciAqYXJncywg dmFsdWVfcHJpbnRfb3B0aW9ucyAqcHJpbnRfb3B0cywKK0BAIC0xMzA4LDYgKzEzMDgsMTEgQEAg cHJvY2Vzc19wcmludF9jb21tYW5kX2FyZ3MgKGNvbnN0IGNoYXIgKmFyZ3MsIHZhbHVlX3ByaW50 X29wdGlvbnMgKnByaW50X29wdHMsCiAgCiAgICBpZiAoZXhwICE9IG51bGxwdHIgJiYgKmV4cCkK ICAgICAgewpAQCAtNTIsOSArNTIsMTAgQEAgZGlmZiAtLWdpdCBhL2dkYi9wcmludGNtZC5jIGIv Z2RiL3ByaW50Y21kLmMKICsJIGZ1bmN0aW9uIGRlc2NyaXB0b3JzLiAgKi8KICsgICAgICBpZiAo dGFyZ2V0X2hhc19leGVjdXRpb24gKCkgJiYgc3RyY21wIChleHAsICJlcnJubyIpID09IDApCiAr CWV4cCA9ICIqKCooaW50ICooKikodm9pZCkpIF9fZXJybm9fbG9jYXRpb24pICgpIjsKLSAgICAg ICAvKiBWT0lEUFJJTlQgaXMgdHJ1ZSB0byBpbmRpY2F0ZSB0aGF0IHdlIGRvIHdhbnQgdG8gcHJp bnQgYSB2b2lkCi0gCSB2YWx1ZSwgc28gaW52ZXJ0IGl0IGZvciBwYXJzZV9leHByZXNzaW9uLiAg Ki8KLSAgICAgICBleHByZXNzaW9uX3VwIGV4cHIgPSBwYXJzZV9leHByZXNzaW9uIChleHAsIG51 bGxwdHIsICF2b2lkcHJpbnQpOworKworICAgICAgIC8qIFRoaXMgc2V0dGluZyBhbGxvd3MgbGFy Z2UgYXJyYXlzIHRvIGJlIHByaW50ZWQgYnkgbGltaXRpbmcgdGhlCisgCSBudW1iZXIgb2YgZWxl bWVudHMgdGhhdCBhcmUgbG9hZGVkIGludG8gR0RCJ3MgbWVtb3J5OyB3ZSBvbmx5CisgCSBuZWVk IHRvIGxvYWQgYXMgbWFueSBhcnJheSBlbGVtZW50cyBhcyB3ZSBwbGFuIHRvIHByaW50LiAgKi8K IGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmMgYi9nZGIv dGVzdHN1aXRlL2dkYi5kd2FyZjIvZHcyLWVycm5vLmMKIG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiAt LS0gL2Rldi9udWxsCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0ucGF0 Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAppbmRleCAyM2Y0ZDU1Li5mMzhm ZGQ1IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaAorKysgYi9n ZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaApAQCAtMjM1LDcgKzIzNSw3IEBAIGRpZmYg LS1naXQgYS9nZGIvYWNsb2NhbC5tNCBiL2dkYi9hY2xvY2FsLm00CiBkaWZmIC0tZ2l0IGEvZ2Ri L2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBi L2dkYi9idWlsZC1pZC5jCi1AQCAtNzcxLDEwICs3NzEsMTAgQEAgbWlzc2luZ19ycG1fZW5saXN0 XzEgKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgdmVyaWZ5X3ZlbmRvcikKK0BAIC03ODAsMTAg Kzc4MCwxMCBAQCBtaXNzaW5nX3JwbV9lbmxpc3RfMSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGlu dCB2ZXJpZnlfdmVuZG9yKQogICAgc3RhdGljIHJwbXRzICgqcnBtdHNDcmVhdGVfcCkgKHZvaWQp OwogICAgZXh0ZXJuIHJwbXRzIHJwbXRzRnJlZShycG10cyB0cyk7CiAgICBzdGF0aWMgcnBtdHMg KCpycG10c0ZyZWVfcCkgKHJwbXRzIHRzKTsKQEAgLTI0OCw3ICsyNDgsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIAkJCQkJCSAgICBjb25zdCB2b2lk ICprZXlwLAogIAkJCQkJCSAgICBzaXplX3Qga2V5bGVuKTsKICAjZWxzZQkvKiAhRExPUEVOX0xJ QlJQTSAqLwotQEAgLTgyOSw3ICs4MjksNyBAQCBtaXNzaW5nX3JwbV9lbmxpc3RfMSAoY29uc3Qg Y2hhciAqZmlsZW5hbWUsIGludCB2ZXJpZnlfdmVuZG9yKQorQEAgLTgzOCw3ICs4MzgsNyBAQCBt aXNzaW5nX3JwbV9lbmxpc3RfMSAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB2ZXJpZnlfdmVu ZG9yKQogIAkgICAgICAmJiAocnBtZGJOZXh0SXRlcmF0b3JfcCA9IChIZWFkZXIgKCopIChycG1k Yk1hdGNoSXRlcmF0b3IgbWkpKSBkbHN5bSAoaCwgInJwbWRiTmV4dEl0ZXJhdG9yIikpCiAgCSAg ICAgICYmIChycG10c0NyZWF0ZV9wID0gKHJwbXRzICgqKSAodm9pZCkpIGRsc3ltIChoLCAicnBt dHNDcmVhdGUiKSkKICAJICAgICAgJiYgKHJwbXRzRnJlZV9wID0gKHJwbXRzICgqKSAocnBtdHMg dHMpKSBkbHN5bSAoaCwgInJwbXRzRnJlZSIpKQpAQCAtMjU3LDcgKzI1Nyw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCSAgewogIAkgICAgd2Fybmlu ZyAoXygiT3BlbmVkIGxpYnJhcnkgXCIlc1wiIGlzIGluY29tcGF0aWJsZSAoJXMpLCAiCiAgCQkg ICAgICAibWlzc2luZyBkZWJ1Z2luZm9zIG5vdGlmaWNhdGlvbnMgd2lsbCBub3QgYmUgZGlzcGxh eWVkIiksCi1AQCAtOTE3LDcgKzkxNyw3IEBAIG1pc3NpbmdfcnBtX2VubGlzdF8xIChjb25zdCBj aGFyICpmaWxlbmFtZSwgaW50IHZlcmlmeV92ZW5kb3IpCitAQCAtOTI2LDcgKzkyNiw3IEBAIG1p c3NpbmdfcnBtX2VubGlzdF8xIChjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IHZlcmlmeV92ZW5k b3IpCiAgCiAgCSAgLyogUlBNREJJX1BBQ0tBR0VTIHJlcXVpcmVzIGtleWxlbiA9PSBzaXplb2Yg KGludCkuICAqLwogIAkgIC8qIFJQTURCSV9MQUJFTCBpcyBhbiBpbnRlcmZhY2UgZm9yIE5WUi1i YXNlZCBkYmlGaW5kQnlMYWJlbCgpLiAgKi8KQEAgLTI2OSw3ICsyNjksNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogZGlmZiAtLWdpdCBhL2dkYi9jb25m aWcuaW4gYi9nZGIvY29uZmlnLmluCiAtLS0gYS9nZGIvY29uZmlnLmluCiArKysgYi9nZGIvY29u ZmlnLmluCi1AQCAtMzksNiArMzksOSBAQAorQEAgLTQyLDYgKzQyLDkgQEAKICAvKiBIYW5kbGUg LmN0ZiB0eXBlLWluZm8gc2VjdGlvbnMgKi8KICAjdW5kZWYgRU5BQkxFX0xJQkNURgogIApAQCAt Mjc5LDkgKzI3OSw5IEBAIGRpZmYgLS1naXQgYS9nZGIvY29uZmlnLmluIGIvZ2RiL2NvbmZpZy5p bgogIC8qIERlZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8g dGhlIHVzZXIncyBuYXRpdmUKICAgICBsYW5ndWFnZSBpcyByZXF1ZXN0ZWQuICovCiAgI3VuZGVm IEVOQUJMRV9OTFMKLUBAIC0yNTksNiArMjYyLDkgQEAKLSAvKiBEZWZpbmUgaWYgeW91IGhhdmUg dGhlIG1wZnIgbGlicmFyeS4gKi8KLSAjdW5kZWYgSEFWRV9MSUJNUEZSCitAQCAtMjY1LDYgKzI2 OCw5IEBACisgLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBtJyBsaWJyYXJ5ICgtbG0p LiAqLworICN1bmRlZiBIQVZFX0xJQk0KICAKICsvKiBEZWZpbmUgaWYgbGlicnBtIGxpYnJhcnkg aXMgYmVpbmcgdXNlZC4gKi8KICsjdW5kZWYgSEFWRV9MSUJSUE0KQEAgLTI5Miw3ICsyOTIsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZy5pbiBiL2dkYi9jb25maWcuaW4KIGRpZmYgLS1naXQg YS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysr IGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTc4Myw2ICs3ODMsMTEgQEAgVEFSR0VUX09CUworQEAgLTc3 OCw2ICs3NzgsMTEgQEAgQU1EX0RCR0FQSV9DRkxBR1MKICBFTkFCTEVfQkZEXzY0X0JJVF9GQUxT RQogIEVOQUJMRV9CRkRfNjRfQklUX1RSVUUKICBzdWJkaXJzCkBAIC0zMDQsMTYgKzMwNCwxNiBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICBHREJfREFUQURJ UgogIERFQlVHRElSCiAgTUFLRUlORk9fRVhUUkFfRkxBR1MKLUBAIC05MTIsNiArOTE3LDcgQEAg d2l0aF9nZGJfZGF0YWRpcgorQEAgLTkxMSw2ICs5MTYsNyBAQCB3aXRoX2dkYl9kYXRhZGlyCiAg d2l0aF9yZWxvY2F0ZWRfc291cmNlcwogIHdpdGhfYXV0b19sb2FkX2RpcgogIHdpdGhfYXV0b19s b2FkX3NhZmVfcGF0aAogK3dpdGhfcnBtCiAgZW5hYmxlX3RhcmdldHMKICBlbmFibGVfNjRfYml0 X2JmZAotIGVuYWJsZV9nZGJtaQotQEAgLTk5Miw2ICs5OTgsOCBAQCBQS0dfQ09ORklHX1BBVEgK LSBQS0dfQ09ORklHX0xJQkRJUgorIHdpdGhfYW1kX2RiZ2FwaQorQEAgLTk4OCw2ICs5OTQsOCBA QCBBTURfREJHQVBJX0NGTEFHUworIEFNRF9EQkdBUElfTElCUwogIERFQlVHSU5GT0RfQ0ZMQUdT CiAgREVCVUdJTkZPRF9MSUJTCiArUlBNX0NGTEFHUwpAQCAtMzIxLDggKzMyMSw4IEBAIGRpZmYg LS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogIFlBQ0MKICBZRkxBR1MKICBa U1REX0NGTEFHUwotQEAgLTE2NzgsNiArMTY4Niw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgotICAg ICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IGF1dG8tbG9hZGVkIGZpbGVz IGxvY2F0aW9ucworQEAgLTE2NzksNiArMTY4Nyw4IEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorICAg LS13aXRoLWFtZC1kYmdhcGkgICAgICAgc3VwcG9ydCBmb3IgdGhlIGFtZC1kYmdhcGkgdGFyZ2V0 ICh5ZXMgLyBubyAvIGF1dG8pCiAgICAtLXdpdGgtZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVi dWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1Z2luZm9kCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoYXV0by95ZXMvbm8pCiArICAtLXdpdGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0 YWJhc2UgZm9yIG1pc3NpbmcgZGVidWdpbmZvcyAoeWVzL25vLApAQCAtMzMwLDcgKzMzMCw3IEBA IGRpZmYgLS1naXQgYS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogICAgLS13aXRoLWxp YnVud2luZC1pYTY0ICAgdXNlIGxpYnVud2luZCBmcmFtZSB1bndpbmRpbmcgZm9yIGlhNjQgdGFy Z2V0cwogICAgLS13aXRoLWN1cnNlcyAgICAgICAgICAgdXNlIHRoZSBjdXJzZXMgbGlicmFyeSBp bnN0ZWFkIG9mIHRoZSB0ZXJtY2FwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJyYXJ5 Ci1AQCAtMTc2MSw2ICsxNzcxLDggQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVudCB2YXJp YWJsZXM6CitAQCAtMTc1OSw2ICsxNzY5LDggQEAgU29tZSBpbmZsdWVudGlhbCBlbnZpcm9ubWVu dCB2YXJpYWJsZXM6CiAgICAgICAgICAgICAgICBDIGNvbXBpbGVyIGZsYWdzIGZvciBERUJVR0lO Rk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcKICAgIERFQlVHSU5GT0RfTElCUwogICAgICAgICAg ICAgICAgbGlua2VyIGZsYWdzIGZvciBERUJVR0lORk9ELCBvdmVycmlkaW5nIHBrZy1jb25maWcK QEAgLTMzOSw3ICszMzksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25m aWd1cmUKICAgIFlBQ0MgICAgICAgIFRoZSBgWWV0IEFub3RoZXIgQ29tcGlsZXIgQ29tcGlsZXIn IGltcGxlbWVudGF0aW9uIHRvIHVzZS4KICAgICAgICAgICAgICAgIERlZmF1bHRzIHRvIHRoZSBm aXJzdCBwcm9ncmFtIGZvdW5kIG91dCBvZjogYGJpc29uIC15JywgYGJ5YWNjJywKICAgICAgICAg ICAgICAgIGB5YWNjJy4KLUBAIC0xNzg0OCw2ICsxNzg2MCw0OTUgQEAgX0FDRU9GCitAQCAtMTgw MzksNiArMTgwNTEsNDk1IEBAIF9BQ0VPRgogIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogcmVzdWx0OiAkd2l0aF9hdXRvX2xvYWRfc2FmZV9wYXRoIiA+JjUKICAkYXNf ZWNobyAiJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aCIgPiY2OyB9CiAgCkBAIC04MzgsNyArODM4 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiBkaWZmIC0t Z2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIC0tLSBhL2dkYi9jb25m aWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC0xNjAsNiArMTYwLDIwMCBAQCBB Q19ERUZJTkVfRElSKEFVVE9fTE9BRF9TQUZFX1BBVEgsIGVzY2FwZV9kaXIsCitAQCAtMTczLDYg KzE3MywyMDAgQEAgQUNfREVGSU5FX0RJUihBVVRPX0xPQURfU0FGRV9QQVRILCBlc2NhcGVfZGly LAogIAkgICAgICBbRGlyZWN0b3JpZXMgc2FmZSB0byBob2xkIGF1dG8tbG9hZGVkIGZpbGVzLl0p CiAgQUNfTVNHX1JFU1VMVChbJHdpdGhfYXV0b19sb2FkX3NhZmVfcGF0aF0pCiAgCkBAIC0xMDUw LDcgKzEwNTAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRv cC5jCiAgCiAgLyogcmVhZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCiAgI2luY2x1ZGUgInJlYWRs aW5lL3JlYWRsaW5lLmgiCi1AQCAtMzkxLDYgKzM5Miw4IEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAo Y29uc3QgY2hhciAqbmV3X3Byb21wdCkKK0BAIC00MDQsNiArNDA1LDggQEAgZGlzcGxheV9nZGJf cHJvbXB0IChjb25zdCBjaGFyICpuZXdfcHJvbXB0KQogICAgLyogUmVzZXQgdGhlIG5lc3Rpbmcg ZGVwdGggdXNlZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCiAgICByZXNldF9jb21t YW5kX25lc3RfZGVwdGggKCk7CiAgCkBAIC0xMDU5LDcgKzEwNTksNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgICAvKiBEbyBub3QgY2FsbCB0aGUg cHl0aG9uIGhvb2sgb24gYW4gZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcwogICAgICAgcGFzc2Vk IHRvIHRoaXMgZnVuY3Rpb24sIGFzIHRoaXMgZm9ybXMgYSBzZWNvbmRhcnkvbG9jYWwgcHJvbXB0 LAogICAgICAgSUUsIGRpc3BsYXllZCBidXQgbm90IHNldC4gICovCi1AQCAtODUyLDcgKzg1NSwx MCBAQCBjb21tYW5kX2xpbmVfaGFuZGxlciAoZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4g JiZybCkKK0BAIC03ODgsNyArNzkxLDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6OnVu aXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAmJnJsKQogICAgICAgIGNvbW1hbmRfaGFuZGxlciAoY21k KTsKICAKICAgICAgICBpZiAodWktPnByb21wdF9zdGF0ZSAhPSBQUk9NUFRFRCkKQEAgLTEwNzQs NyArMTA3NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXZlbnQtdG9wLmMgYi9nZGIvZXZlbnQtdG9w LmMKIGRpZmYgLS1naXQgYS9nZGIvc3ltZmlsZS5oIGIvZ2RiL3N5bWZpbGUuaAogLS0tIGEvZ2Ri L3N5bWZpbGUuaAogKysrIGIvZ2RiL3N5bWZpbGUuaAotQEAgLTM1Miw2ICszNTIsNyBAQCBleHRl cm4gdm9pZCBnZW5lcmljX2xvYWQgKGNvbnN0IGNoYXIgKmFyZ3MsIGludCBmcm9tX3R0eSk7CitA QCAtMzY3LDYgKzM2Nyw3IEBAIGV4dGVybiB2b2lkIGdlbmVyaWNfbG9hZCAoY29uc3QgY2hhciAq YXJncywgaW50IGZyb21fdHR5KTsKICAvKiBidWlsZC1pZCBzdXBwb3J0LiAgKi8KICBleHRlcm4g c3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWRfYWRkcl9nZXQgKENPUkVfQUREUiBhZGRyKTsK ICBleHRlcm4gdm9pZCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNv bnN0IGNoYXIgKmRlYnVnKTsKCmRpZmYgLS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNv bGliLW1pc3NpbmctaWRzLnBhdGNoIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1zb2xpYi1taXNz aW5nLWlkcy5wYXRjaAppbmRleCAzYjY0MWY4Li5lOWVjN2I1IDEwMDY0NAotLS0gYS9nZGItNi42 LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoCisrKyBiL2dkYi02LjYtYnVp bGRpZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gKQEAgLTE0LDcgKzE0LDcgQEAgaHR0 cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD0xMzM5ODYyCiBkaWZmIC0t Z2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKIC0tLSBhL2dkYi9zb2xp Yi1zdnI0LmMKICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKLUBAIC0xMzIxLDE0ICsxMzIxLDI4IEBA IHN2cjRfcmVhZF9zb19saXN0IChzdnI0X2luZm8gKmluZm8sIENPUkVfQUREUiBsbSwgQ09SRV9B RERSIHByZXZfbG0sCitAQCAtMTMyMCwxNCArMTMyMCwyOCBAQCBzdnI0X3JlYWRfc29fbGlzdCAo c3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAl9CiAg CiAgICAgICAgewpAQCAtNDUsNyArNDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQu YyBiL2dkYi9zb2xpYi1zdnI0LmMKICAJaWYgKGJ1aWxkX2lkICE9IE5VTEwpCiAgCSAgewogIAkg ICAgY2hhciAqbmFtZSwgKmJ1aWxkX2lkX2ZpbGVuYW1lOwotQEAgLTEzNDMsMjMgKzEzNTcsNyBA QCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVf QUREUiBwcmV2X2xtLAorQEAgLTEzNDIsMjMgKzEzNTYsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAo c3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAkJeGZy ZWUgKG5hbWUpOwogIAkgICAgICB9CiAgCSAgICBlbHNlCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2gKaW5kZXgg YTU2Y2VlYi4uMTM1MDA1MSAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRj aAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCkBAIC05LDcgKzksNyBAQCBTdWJq ZWN0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCiBkaWZmIC0tZ2l0IGEvYmZkL2xpYmJm ZC1pbi5oIGIvYmZkL2xpYmJmZC1pbi5oCiAtLS0gYS9iZmQvbGliYmZkLWluLmgKICsrKyBiL2Jm ZC9saWJiZmQtaW4uaAotQEAgLTExNSw3ICsxMTUsNyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKgor QEAgLTExMCw3ICsxMTAsNyBAQCBzdGF0aWMgaW5saW5lIGNoYXIgKgogIGJmZF9zdHJkdXAgKGNv bnN0IGNoYXIgKnN0cikKICB7CiAgICBzaXplX3QgbGVuID0gc3RybGVuIChzdHIpICsgMTsKQEAg LTIxLDcgKzIxLDcgQEAgZGlmZiAtLWdpdCBhL2JmZC9saWJiZmQtaW4uaCBiL2JmZC9saWJiZmQt aW4uaAogZGlmZiAtLWdpdCBhL2JmZC9saWJiZmQuaCBiL2JmZC9saWJiZmQuaAogLS0tIGEvYmZk L2xpYmJmZC5oCiArKysgYi9iZmQvbGliYmZkLmgKLUBAIC0xMjEsNyArMTIxLDcgQEAgc3RhdGlj IGlubGluZSBjaGFyICoKK0BAIC0xMTYsNyArMTE2LDcgQEAgc3RhdGljIGlubGluZSBjaGFyICoK ICBiZmRfc3RyZHVwIChjb25zdCBjaGFyICpzdHIpCiAgewogICAgc2l6ZV90IGxlbiA9IHN0cmxl biAoc3RyKSArIDE7CkBAIC0zMyw3ICszMyw3IEBAIGRpZmYgLS1naXQgYS9iZmQvbGliYmZkLmgg Yi9iZmQvbGliYmZkLmgKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1p ZC5jCiAtLS0gYS9nZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBAIC0yNCwx MyArMjQsNzEgQEAKK0BAIC0yNCwxNCArMjQsNzIgQEAKICAjaW5jbHVkZSAiZ2Ric3VwcG9ydC9n ZGJfdmVjcy5oIgogICNpbmNsdWRlICJzeW1maWxlLmgiCiAgI2luY2x1ZGUgIm9iamZpbGVzLmgi CkBAIC00Niw2ICs0Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiArI2luY2x1ZGUgImdkYl9iZmQuaCIKICsjaW5jbHVkZSAiZ2RiY21kLmgiCiAgI2lu Y2x1ZGUgImdkYmNvcmUuaCIKKyAjaW5jbHVkZSAiY2xpL2NsaS1zdHlsZS5oIgogKyNpbmNsdWRl ICJpbmZlcmlvci5oIgogKyNpbmNsdWRlICJvYmpmaWxlcy5oIgogKyNpbmNsdWRlICJvYnNlcnZh YmxlLmgiCkBAIC0xMDQsOSArMTA1LDkgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIv Z2RiL2J1aWxkLWlkLmMKIC1idWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQpCiArYnVpbGRfaWRf YmZkX3NoZHJfZ2V0IChiZmQgKmFiZmQpCiAgewotICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0IChh YmZkLCBiZmRfb2JqZWN0KQotICAgICAgICYmICFiZmRfY2hlY2tfZm9ybWF0IChhYmZkLCBiZmRf Y29yZSkpCi1AQCAtNDMsNiArMTAxLDM0OCBAQCBidWlsZF9pZF9iZmRfZ2V0IChiZmQgKmFiZmQp CisgICAvKiBEeW5hbWljIG9iamZpbGVzIHN1Y2ggYXMgb25lcyBjcmVhdGVkIGJ5IEpJVCByZWFk ZXIgQVBJCisgICAgICBoYXZlIG5vIHVuZGVybHlpbmcgYmZkIHN0cnVjdHVyZSAodGhhdCBpcywg b2JqZmlsZS0+b2JmZAorQEAgLTUwLDYgKzEwOCwzNDggQEAgYnVpbGRfaWRfYmZkX2dldCAoYmZk ICphYmZkKQogICAgcmV0dXJuIE5VTEw7CiAgfQogIApAQCAtNDU1LDcgKzQ1Niw3IEBAIGRpZmYg LS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgLyogU2VlIGJ1aWxkLWlk LmguICAqLwogIAogIGludAotQEAgLTUxLDcgKzQ1MSw3IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZk ICphYmZkLCBzaXplX3QgY2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNTgs NyArNDU4LDcgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4s IGNvbnN0IGJmZF9ieXRlICpjaGVjaykKICAgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmZv dW5kOwogICAgaW50IHJldHZhbCA9IDA7CiAgCkBAIC00NjQsNyArNDY1LDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICAKICAgIGlmIChmb3VuZCA9PSBO VUxMKQogICAgICB3YXJuaW5nIChfKCJGaWxlIFwiJXNcIiBoYXMgbm8gYnVpbGQtaWQsIGZpbGUg c2tpcHBlZCIpLAotQEAgLTY2LDYzICs0NjYsMTY2IEBAIGJ1aWxkX2lkX3ZlcmlmeSAoYmZkICph YmZkLCBzaXplX3QgY2hlY2tfbGVuLCBjb25zdCBiZmRfYnl0ZSAqY2hlY2spCitAQCAtNzMsNjMg KzQ3MywxNjYgQEAgYnVpbGRfaWRfdmVyaWZ5IChiZmQgKmFiZmQsIHNpemVfdCBjaGVja19sZW4s IGNvbnN0IGJmZF9ieXRlICpjaGVjaykKICAgIHJldHVybiByZXR2YWw7CiAgfQogIApAQCAtNTYx LDggKzU2Miw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5j CiAtICAgICAgaWYgKHNlcGFyYXRlX2RlYnVnX2ZpbGVfZGVidWcpCiAtCWdkYl9wcmludGYgKGdk Yl9zdGRsb2csIF8oIiBubywgdW5hYmxlIHRvIG9wZW4uXG4iKSk7CiArICAgICAgc3RydWN0IHN0 YXQgc3RhdGJ1Zl90cmFzaDsKLSAKLS0gICAgICByZXR1cm4ge307CisrCiArICAgICAgLyogYGFj Y2VzcycgYXV0b21hdGljYWxseSBkZXJlZmVyZW5jZXMgTElOSy4gICovCiArICAgICAgaWYgKGxz dGF0IChsaW5rLmNfc3RyICgpLCAmc3RhdGJ1Zl90cmFzaCkgIT0gMCkKICsJewpAQCAtNTk3LDcg KzU5Nyw4IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAr CXsKICsJICBpZiAoc2VwYXJhdGVfZGVidWdfZmlsZV9kZWJ1ZykKICsJICAgIGdkYl9wcmludGYg KGdkYl9zdGRsb2csIF8oIiBubywgdW5hYmxlIHRvIG9wZW4uXG4iKSk7Ci0rCisgCistICAgICAg cmV0dXJuIHt9OwogKwkgIGNvbnRpbnVlOwogKwl9CiArCkBAIC02MjgsMTMgKzYyOSwxMyBAQCBk aWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKyAgICAgIC8qIElm IG5vbmUgb2YgdGhlIHJlYWwgZmlsZXMgaXMgZm91bmQgcmVwb3J0IGFzIG1pc3NpbmcgZmlsZQog KwkgYWx3YXlzIHRoZSBub24tLiV1LXN1ZmZpeGVkIGZpbGUuICAqLwogKyAgICAgIHN0ZDo6c3Ry aW5nIGxpbmswID0gb3JpZ19saW5rOwotKworIAorLSAgICAgIHJldHVybiB7fTsKICsgICAgICAv KiBJZiB0aGUgc3ltbGluayBoYXMgdGFyZ2V0IHJlcXVlc3QgdG8gaW5zdGFsbCB0aGUgdGFyZ2V0 LgogKwkgQkFTRS1kZWJ1Z2luZm8ucnBtIGNvbnRhaW5zIHRoZSBzeW1saW5rIGJ1dCBCQVNFLnJw bSBtYXkgYmUgbWlzc2luZy4KICsJIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1 Zy5jZ2k/aWQ9OTgxMTU0ICAqLwogKyAgICAgIHN0ZDo6c3RyaW5nIGxpbmswX3Jlc29sdmVkIChs aW5rX3Jlc29sdmUgKGxpbmswLmNfc3RyICgpLCAwKSk7Ci0gCi0tICAgICAgcmV0dXJuIHt9Owor KwogKyAgICAgIGlmIChsaW5rX2FsbC5lbXB0eSAoKSkKICsJbGlua19hbGwgPSBsaW5rMF9yZXNv bHZlZDsKICsgICAgICBlbHNlCkBAIC02NjQsNyArNjY1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9i dWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICB9CiAgCiAgLyogQ29tbW9uIGNvZGUgZm9yIGZp bmRpbmcgQkZEcyBvZiBhIGdpdmVuIGJ1aWxkLWlkLiAgVGhpcyBmdW5jdGlvbgotQEAgLTEzMSw3 ICs2MzQsNyBAQCBidWlsZF9pZF90b19kZWJ1Z19iZmRfMSAoY29uc3Qgc3RkOjpzdHJpbmcgJmxp bmssIHNpemVfdCBidWlsZF9pZF9sZW4sCitAQCAtMTM4LDcgKzY0MSw3IEBAIGJ1aWxkX2lkX3Rv X2RlYnVnX2JmZF8xIChjb25zdCBzdGQ6OnN0cmluZyAmbGluaywgc2l6ZV90IGJ1aWxkX2lkX2xl biwKICAKICBzdGF0aWMgZ2RiX2JmZF9yZWZfcHRyCiAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAo c2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLApAQCAtNjczLDcg KzY3NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAg ewogICAgLyogS2VlcCBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHNvIHRoYXQgREVCVUdfRklMRV9E SVJFQ1RPUlkgYmVpbmcgIiIgd2lsbAogICAgICAgY2F1c2UgIi8uYnVpbGQtaWQvLi4uIiBsb29r dXBzLiAgKi8KLUBAIC0xNTQsMTYgKzY1NywxNyBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChz aXplX3QgYnVpbGRfaWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCitAQCAtMTYxLDE2 ICs2NjQsMTcgQEAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwg Y29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAogICAgICAgIGlmIChzaXplID4gMCkKICAJewogIAkg IHNpemUtLTsKQEAgLTY5NCw3ICs2OTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMg Yi9nZGIvYnVpbGQtaWQuYwogICAgICAgIGlmIChkZWJ1Z19iZmQgIT0gTlVMTCkKICAJcmV0dXJu IGRlYnVnX2JmZDsKICAKLUBAIC0xNzQsNyArNjc4LDcgQEAgYnVpbGRfaWRfdG9fYmZkX3N1ZmZp eCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5dGUgKmJ1aWxkX2lkLAorQEAgLTE4 MSw3ICs2ODUsNyBAQCBidWlsZF9pZF90b19iZmRfc3VmZml4IChzaXplX3QgYnVpbGRfaWRfbGVu LCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQsCiAgICAgICAgaWYgKCFnZGJfc3lzcm9vdC5lbXB0 eSAoKSkKICAJewogIAkgIGxpbmsgPSBnZGJfc3lzcm9vdCArIGxpbms7CkBAIC03MDMsNyArNzA0 LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICAJICBp ZiAoZGVidWdfYmZkICE9IE5VTEwpCiAgCSAgICByZXR1cm4gZGVidWdfYmZkOwogIAl9Ci1AQCAt MTgzLDMwICs2ODcsNjYwIEBAIGJ1aWxkX2lkX3RvX2JmZF9zdWZmaXggKHNpemVfdCBidWlsZF9p ZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9pZCwKK0BAIC0xOTAsMzEgKzY5NCw2NjMgQEAg YnVpbGRfaWRfdG9fYmZkX3N1ZmZpeCAoc2l6ZV90IGJ1aWxkX2lkX2xlbiwgY29uc3QgYmZkX2J5 dGUgKmJ1aWxkX2lkLAogICAgcmV0dXJuIHt9OwogIH0KICAKQEAgLTcyMSw2ICs3MjIsOCBAQCBk aWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKyAgcmV0dXJuIHJl c3VsdDsKICt9CiArCisrdm9pZCBkZWJ1Z19mbHVzaF9taXNzaW5nICh2b2lkKTsKKysKICsjaWZk ZWYgSEFWRV9MSUJSUE0KICsKICsjaW5jbHVkZSA8cnBtL3JwbWxpYi5oPgpAQCAtMTIyMCw3ICsx MjIzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMKICt9 CiArCiArc3RhdGljIHZvaWQKLStkZWJ1Z19wcmludF9leGVjdXRhYmxlX2NoYW5nZWQgKHZvaWQp CisrZGVidWdfcHJpbnRfZXhlY3V0YWJsZV9jaGFuZ2VkIChzdHJ1Y3QgcHJvZ3JhbV9zcGFjZSAq cHNwYWNlLCBib29sIHJlbG9hZF9wKQogK3sKICsjaWZkZWYgSEFWRV9MSUJSUE0KICsgIG1pc3Np bmdfcnBtX2NoYW5nZSAoKTsKQEAgLTEzNTYsOSArMTM1OSwxMCBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogIC8qIFNlZSBidWlsZC1pZC5oLiAgKi8KICAK ICBzdGQ6OnN0cmluZwotLWZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSkKLStmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRp ZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCi0rCQkJZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8 Y2hhcj4gKmJ1aWxkX2lkX2ZpbGVuYW1lX3JldHVybikKKyBmaW5kX3NlcGFyYXRlX2RlYnVnX2Zp bGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCistCQkJCSAgICAgZGVmZXJy ZWRfd2FybmluZ3MgKndhcm5pbmdzKQorKwkJCQkgICAgIGRlZmVycmVkX3dhcm5pbmdzICp3YXJu aW5ncywKKysJCQkJICAgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiAqYnVpbGRfaWRf ZmlsZW5hbWVfcmV0dXJuKQogIHsKICAgIGNvbnN0IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxk X2lkOwogIApAQCAtMTM3MCw3ICsxMzc0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5j IGIvZ2RiL2J1aWxkLWlkLmMKICAgIGlmIChidWlsZF9pZCAhPSBOVUxMKQogICAgICB7CiAgICAg ICAgaWYgKHNlcGFyYXRlX2RlYnVnX2ZpbGVfZGVidWcpCi1AQCAtMjE0LDggKzEzNDgsMjEgQEAg ZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpm aWxlKQorQEAgLTIyMiw4ICsxMzU4LDIxIEBAIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9i dWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKICAJCSAgICBfKCJcbkxvb2tpbmcgZm9y IHNlcGFyYXRlIGRlYnVnIGluZm8gKGJ1aWxkLWlkKSBmb3IgIgogIAkJICAgICAgIiVzXG4iKSwg b2JqZmlsZV9uYW1lIChvYmpmaWxlKSk7CiAgCkBAIC0xMzkzLDcgKzEzOTcsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogICAgICAgIC8qIFByZXZlbnQg bG9vcGluZyBvbiBhIHN0cmlwcGVkIC5kZWJ1ZyBmaWxlLiAgKi8KICAgICAgICBpZiAoYWJmZCAh PSBOVUxMCiAgCSAgJiYgZmlsZW5hbWVfY21wIChiZmRfZ2V0X2ZpbGVuYW1lIChhYmZkLmdldCAo KSksCi1AQCAtMjI4LDMgKzEzNzUsMjIgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1 aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQorQEAgLTI0MywzICsxMzkyLDIyIEBAIGZp bmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwKICAKICAgIHJldHVybiBzdGQ6OnN0cmluZyAoKTsKICB9CkBAIC0xNDMyLDcgKzE0MzYsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmggYi9nZGIvYnVpbGQtaWQuaAogIAogIC8qIFJl dHVybiB0cnVlIGlmIEFCRkQgaGFzIE5UX0dOVV9CVUlMRF9JRCBtYXRjaGluZyB0aGUgQ0hFQ0sg dmFsdWUuCiAgICAgT3RoZXJ3aXNlLCBpc3N1ZSBhIHdhcm5pbmcgYW5kIHJldHVybiBmYWxzZS4g ICovCi1AQCAtMzgsMjEgKzM5LDI2IEBAIGV4dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChiZmQg KmFiZmQsCitAQCAtMzgsMTQgKzM5LDE5IEBAIGV4dGVybiBpbnQgYnVpbGRfaWRfdmVyaWZ5IChi ZmQgKmFiZmQsCiAgICAgY2FuIGJlIGZvdW5kLCByZXR1cm4gTlVMTC4gICovCiAgCiAgZXh0ZXJu IGdkYl9iZmRfcmVmX3B0ciBidWlsZF9pZF90b19kZWJ1Z19iZmQgKHNpemVfdCBidWlsZF9pZF9s ZW4sCkBAIC0xNDU0LDM1ICsxNDU4LDM1IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuaCBi L2dkYi9idWlsZC1pZC5oCiAgCiAgLyogRmluZCB0aGUgc2VwYXJhdGUgZGVidWcgZmlsZSBmb3Ig T0JKRklMRSwgYnkgdXNpbmcgdGhlIGJ1aWxkLWlkCiAgICAgYXNzb2NpYXRlZCB3aXRoIE9CSkZJ TEUncyBCRkQuICBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIHRoZSBmaWxlIG5hbWUgZm9yIHRoZQot ICAgIHNlcGFyYXRlIGRlYnVnIGZpbGUsIG90aGVyd2lzZSwgcmV0dXJuIGFuIGVtcHR5IHN0cmlu Zy4gICovCitAQCAtNTgsNyArNjQsOCBAQCBleHRlcm4gZ2RiX2JmZF9yZWZfcHRyIGJ1aWxkX2lk X3RvX2V4ZWNfYmZkIChzaXplX3QgYnVpbGRfaWRfbGVuLAorICAgIHdpbGwgYmUgcHJpbnRlZC4g ICovCiAgCi0tZXh0ZXJuIHN0ZDo6c3RyaW5nIGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9i dWlsZGlkCi0tICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUpOwotK2V4dGVybiBzdGQ6OnN0cmlu ZyBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAoc3RydWN0IG9iamZpbGUgKm9i amZpbGUsCi0rCQkgICAgICAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gKmJ1aWxkX2lk X2ZpbGVuYW1lX3JldHVybik7CisgZXh0ZXJuIHN0ZDo6c3RyaW5nIGZpbmRfc2VwYXJhdGVfZGVi dWdfZmlsZV9ieV9idWlsZGlkCistICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGRlZmVycmVk X3dhcm5pbmdzICp3YXJuaW5ncyk7CisrICAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGRlZmVy cmVkX3dhcm5pbmdzICp3YXJuaW5ncywKKysgICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFy PiAqYnVpbGRfaWRfZmlsZW5hbWVfcmV0dXJuKTsKICAKICAvKiBSZXR1cm4gYW4gaGV4LXN0cmlu ZyByZXByZXNlbnRhdGlvbiBvZiBCVUlMRF9JRC4gICovCiAgCiBkaWZmIC0tZ2l0IGEvZ2RiL2Nv ZmZyZWFkLmMgYi9nZGIvY29mZnJlYWQuYwogLS0tIGEvZ2RiL2NvZmZyZWFkLmMKICsrKyBiL2dk Yi9jb2ZmcmVhZC5jCi1AQCAtNzM0LDcgKzczNCw4IEBAIGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1 Y3Qgb2JqZmlsZSAqb2JqZmlsZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKLSAg IC8qIFRyeSB0byBhZGQgc2VwYXJhdGUgZGVidWcgZmlsZSBpZiBubyBzeW1ib2xzIHRhYmxlIGZv dW5kLiAgICovCi0gICBpZiAoIW9iamZpbGUtPmhhc19wYXJ0aWFsX3N5bWJvbHMgKCkpCitAQCAt NzI5LDcgKzcyOSw3IEBAIGNvZmZfc3ltZmlsZV9yZWFkIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwgc3ltZmlsZV9hZGRfZmxhZ3Mgc3ltZmlsZV9mbGFncykKICAgICAgewotLSAgICAgIHN0ZDo6 c3RyaW5nIGRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChv YmpmaWxlKTsKLSsgICAgICBzdGQ6OnN0cmluZyBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2Rl YnVnX2ZpbGVfYnlfYnVpbGRpZCAob2JqZmlsZSwKLSsJCQkJCQkJCSAgIE5VTEwpOworICAgICAg IGRlZmVycmVkX3dhcm5pbmdzIHdhcm5pbmdzOworICAgICAgIHN0ZDo6c3RyaW5nIGRlYnVnZmls ZQorLQk9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxlLCAmd2Fy bmluZ3MpOworKwk9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9idWlsZGlkIChvYmpmaWxl LCAmd2FybmluZ3MsIE5VTEwpOwogIAogICAgICAgIGlmIChkZWJ1Z2ZpbGUuZW1wdHkgKCkpCi0g CWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJhdGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZp bGUpOworIAlkZWJ1Z2ZpbGUKIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVs b3cuYwogLS0tIGEvZ2RiL2NvcmVsb3cuYwogKysrIGIvZ2RiL2NvcmVsb3cuYwogQEAgLTIyLDYg KzIyLDEwIEBACiAgI2luY2x1ZGUgPHNpZ25hbC5oPgogICNpbmNsdWRlIDxmY250bC5oPgotICNp bmNsdWRlICJmcmFtZS5oIgkJLyogcmVxdWlyZWQgYnkgaW5mZXJpb3IuaCAqLworICNpbmNsdWRl ICJmcmFtZS5oIgogKyNpbmNsdWRlICJhdXh2LmgiCiArI2luY2x1ZGUgImJ1aWxkLWlkLmgiCiAr I2luY2x1ZGUgImVsZi9jb21tb24uaCIKQEAgLTE0OTAsNyArMTQ5NCw3IEBAIGRpZmYgLS1naXQg YS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogICNpbmNsdWRlICJpbmZlcmlvci5oIgog ICNpbmNsdWRlICJpbmZydW4uaCIKICAjaW5jbHVkZSAic3ltdGFiLmgiCi1AQCAtMzkxLDYgKzM5 NSw4IEBAIGFkZF90b190aHJlYWRfbGlzdCAoYXNlY3Rpb24gKmFzZWN0LCBhc2VjdGlvbiAqcmVn X3NlY3QpCitAQCAtMzgwLDYgKzM4NCw4IEBAIGFkZF90b190aHJlYWRfbGlzdCAoYXNlY3Rpb24g KmFzZWN0LCBhc2VjdGlvbiAqcmVnX3NlY3QsIGluZmVyaW9yICppbmYpCiAgICAgIHN3aXRjaF90 b190aHJlYWQgKHRocik7CQkJLyogWWVzLCBtYWtlIGl0IGN1cnJlbnQuICAqLwogIH0KICAKQEAg LTE0OTksNyArMTUwMyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVs b3cuYwogIC8qIElzc3VlIGEgbWVzc2FnZSBzYXlpbmcgd2UgaGF2ZSBubyBjb3JlIHRvIGRlYnVn LCBpZiBGUk9NX1RUWS4gICovCiAgCiAgc3RhdGljIHZvaWQKLUBAIC00MjcsMTIgKzQzMywxNCBA QCBjb3JlX2ZpbGVfY29tbWFuZCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkK K0BAIC01NjMsMTIgKzU2OSwxNCBAQCByZW5hbWVfdm1jb3JlX2lkbGVfcmVnX3NlY3Rpb25zIChi ZmQgKmFiZmQsIGluZmVyaW9yICppbmYpCiAgc3RhdGljIHZvaWQKICBsb2NhdGVfZXhlY19mcm9t X2NvcmVmaWxlX2J1aWxkX2lkIChiZmQgKmFiZmQsIGludCBmcm9tX3R0eSkKICB7CkBAIC0xNTE2 LDcgKzE1MjAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMK ICAKICAgIGlmIChleGVjYmZkID09IG51bGxwdHIpCiAgICAgIHsKLUBAIC00NjAsNyArNDY4LDEy IEBAIGxvY2F0ZV9leGVjX2Zyb21fY29yZWZpbGVfYnVpbGRfaWQgKGJmZCAqYWJmZCwgaW50IGZy b21fdHR5KQorQEAgLTU5Niw3ICs2MDQsMTIgQEAgbG9jYXRlX2V4ZWNfZnJvbV9jb3JlZmlsZV9i dWlsZF9pZCAoYmZkICphYmZkLCBpbnQgZnJvbV90dHkpCiAgICAgICAgZXhlY19maWxlX2F0dGFj aCAoYmZkX2dldF9maWxlbmFtZSAoZXhlY2JmZC5nZXQgKCkpLCBmcm9tX3R0eSk7CiAgICAgICAg c3ltYm9sX2ZpbGVfYWRkX21haW4gKGJmZF9nZXRfZmlsZW5hbWUgKGV4ZWNiZmQuZ2V0ICgpKSwK ICAJCQkgICAgc3ltZmlsZV9hZGRfZmxhZyAoZnJvbV90dHkgPyBTWU1GSUxFX1ZFUkJPU0UgOiAw KSk7CkBAIC0xNTI5LDcgKzE1MzMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dk Yi9jb3JlbG93LmMKICB9CiAgCiAgLyogU2VlIGdkYmNvcmUuaC4gICovCi1AQCAtMTMyNSw0ICsx MzM4LDExIEBAIF9pbml0aWFsaXplX2NvcmVsb3cgKCkKK0BAIC0xNTA2LDQgKzE1MTksMTEgQEAg X2luaXRpYWxpemVfY29yZWxvdyAoKQogIAkgICBtYWludGVuYW5jZV9wcmludF9jb3JlX2ZpbGVf YmFja2VkX21hcHBpbmdzLAogIAkgICBfKCJQcmludCBjb3JlIGZpbGUncyBmaWxlLWJhY2tlZCBt YXBwaW5ncy4iKSwKICAJICAgJm1haW50ZW5hbmNlcHJpbnRsaXN0KTsKQEAgLTE1NDQsNyArMTU0 OCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogZGlmZiAt LWdpdCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvCiAtLS0gYS9n ZGIvZG9jL2dkYi50ZXhpbmZvCiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvCi1AQCAtMjIwMzcs NiArMjIwMzcsMjcgQEAgaW5mb3JtYXRpb24gZmlsZXMuCitAQCAtMjIyOTYsNiArMjIyOTYsMjcg QEAgaW5mb3JtYXRpb24gZmlsZXMuCiAgCiAgQGVuZCB0YWJsZQogIApAQCAtMTU3NSwxNiArMTU3 OSwxNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2RvYy9nZGIudGV4aW5mbyBiL2dkYi9kb2MvZ2RiLnRl eGluZm8KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL2luZGV4LWNhY2hlLmMgYi9nZGIvZHdhcmYy L2luZGV4LWNhY2hlLmMKIC0tLSBhL2dkYi9kd2FyZjIvaW5kZXgtY2FjaGUuYwogKysrIGIvZ2Ri L2R3YXJmMi9pbmRleC1jYWNoZS5jCi1AQCAtMTAxLDcgKzEwMSw3IEBAIGluZGV4X2NhY2hlOjpz dG9yZSAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSkKK0BAIC05Niw3ICs5Niw3IEBA IGluZGV4X2NhY2hlX3N0b3JlX2NvbnRleHQ6OmluZGV4X2NhY2hlX3N0b3JlX2NvbnRleHQgKGNv bnN0IGluZGV4X2NhY2hlICZpYywKICAgICAgcmV0dXJuOwogIAogICAgLyogR2V0IGJ1aWxkIGlk IG9mIG9iamZpbGUuICAqLwotLSAgY29uc3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCA9IGJ1aWxk X2lkX2JmZF9nZXQgKG9iai0+b2JmZC5nZXQgKCkpOwotKyAgY29uc3QgYmZkX2J1aWxkX2lkICpi dWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9zaGRyX2dldCAob2JqLT5vYmZkLmdldCAoKSk7CistICBj b25zdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX2dldCAocGVyX2JmZC0+ b2JmZCk7CisrICBjb25zdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3No ZHJfZ2V0IChwZXJfYmZkLT5vYmZkKTsKICAgIGlmIChidWlsZF9pZCA9PSBudWxscHRyKQogICAg ICB7CiAgICAgICAgaW5kZXhfY2FjaGVfZGVidWcgKCJvYmpmaWxlICVzIGhhcyBubyBidWlsZCBp ZCIsCi1AQCAtMTE4LDcgKzExOCw4IEBAIGluZGV4X2NhY2hlOjpzdG9yZSAoZHdhcmYyX3Blcl9v YmpmaWxlICpwZXJfb2JqZmlsZSkKK0BAIC0xMTEsNyArMTExLDggQEAgaW5kZXhfY2FjaGVfc3Rv cmVfY29udGV4dDo6aW5kZXhfY2FjaGVfc3RvcmVfY29udGV4dCAoY29uc3QgaW5kZXhfY2FjaGUg JmljLAogIAogICAgaWYgKGR3eiAhPSBudWxscHRyKQogICAgICB7CkBAIC0xNTk3LDcgKzE2MDEs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC1jYWNoZS5jIGIvZ2RiL2R3YXJmMi9p bmRleC1jYWNoZS5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYy L3JlYWQuYwogLS0tIGEvZ2RiL2R3YXJmMi9yZWFkLmMKICsrKyBiL2dkYi9kd2FyZjIvcmVhZC5j Ci1AQCAtNTMyOCw3ICs1MzI4LDcgQEAgZ2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX3NlY3Rp b24gKG9iamZpbGUgKm9iaiwgVCAqc2VjdGlvbl9vd25lcikKK0BAIC0zMzU1LDcgKzMzNTUsNyBA QCBnZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zyb21fc2VjdGlvbiAob2JqZmlsZSAqb2JqLCBUICpz ZWN0aW9uX293bmVyKQogIHN0YXRpYyBnZGI6OmFycmF5X3ZpZXc8Y29uc3QgZ2RiX2J5dGU+CiAg Z2V0X2dkYl9pbmRleF9jb250ZW50c19mcm9tX2NhY2hlIChvYmpmaWxlICpvYmosIGR3YXJmMl9w ZXJfYmZkICpkd2FyZjJfcGVyX2JmZCkKICB7CkBAIC0xNjA2LDcgKzE2MTAsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwogICAgaWYgKGJ1aWxk X2lkID09IG51bGxwdHIpCiAgICAgIHJldHVybiB7fTsKICAKLUBAIC01MzQxLDcgKzUzNDEsNyBA QCBnZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zyb21fY2FjaGUgKG9iamZpbGUgKm9iaiwgZHdhcmYy X3Blcl9iZmQgKmR3YXJmMl9wZXJfYmZkKQorQEAgLTMzNjgsNyArMzM2OCw3IEBAIGdldF9nZGJf aW5kZXhfY29udGVudHNfZnJvbV9jYWNoZSAob2JqZmlsZSAqb2JqLCBkd2FyZjJfcGVyX2JmZCAq ZHdhcmYyX3Blcl9iZmQpCiAgc3RhdGljIGdkYjo6YXJyYXlfdmlldzxjb25zdCBnZGJfYnl0ZT4K ICBnZXRfZ2RiX2luZGV4X2NvbnRlbnRzX2Zyb21fY2FjaGVfZHd6IChvYmpmaWxlICpvYmosIGR3 el9maWxlICpkd3opCiAgewpAQCAtMTYxOCwxOCArMTYyMiwxOSBAQCBkaWZmIC0tZ2l0IGEvZ2Ri L2R3YXJmMi9yZWFkLmMgYi9nZGIvZHdhcmYyL3JlYWQuYwogZGlmZiAtLWdpdCBhL2dkYi9lbGZy ZWFkLmMgYi9nZGIvZWxmcmVhZC5jCiAtLS0gYS9nZGIvZWxmcmVhZC5jCiArKysgYi9nZGIvZWxm cmVhZC5jCi1AQCAtMTIxMyw3ICsxMjEzLDkgQEAgZWxmX3N5bWZpbGVfcmVhZF9kd2FyZjIgKHN0 cnVjdCBvYmpmaWxlICpvYmpmaWxlLAotIAkgICAmJiBvYmpmaWxlLT5zZXBhcmF0ZV9kZWJ1Z19v YmpmaWxlID09IE5VTEwKLSAJICAgJiYgb2JqZmlsZS0+c2VwYXJhdGVfZGVidWdfb2JqZmlsZV9i YWNrbGluayA9PSBOVUxMKQorQEAgLTEyMjAsOCArMTIyMCwxMCBAQCBlbGZfc3ltZmlsZV9yZWFk X2R3YXJmMiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgICAgIHsKLS0gICAgICBzdGQ6OnN0 cmluZyBkZWJ1Z2ZpbGUgPSBmaW5kX3NlcGFyYXRlX2RlYnVnX2ZpbGVfYnlfYnVpbGRpZCAob2Jq ZmlsZSk7CisgICAgICAgZGVmZXJyZWRfd2FybmluZ3Mgd2FybmluZ3M7CisgCiArICAgICAgZ2Ri Ojp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gYnVpbGRfaWRfZmlsZW5hbWU7Ci0rICAgICAgc3Rk OjpzdHJpbmcgZGVidWdmaWxlCi0rCT0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxk aWQgKG9iamZpbGUsICZidWlsZF9pZF9maWxlbmFtZSk7CisgICAgICAgc3RkOjpzdHJpbmcgZGVi dWdmaWxlCistCT0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9iamZpbGUs ICZ3YXJuaW5ncyk7CisrCT0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKG9i amZpbGUsICZ3YXJuaW5ncywKKysJCQkJCSAgICAgICAmYnVpbGRfaWRfZmlsZW5hbWUpOwogIAog ICAgICAgIGlmIChkZWJ1Z2ZpbGUuZW1wdHkgKCkpCi0gCWRlYnVnZmlsZSA9IGZpbmRfc2VwYXJh dGVfZGVidWdfZmlsZV9ieV9kZWJ1Z2xpbmsgKG9iamZpbGUpOwotQEAgLTEyMjksNyArMTIzMSw3 IEBAIGVsZl9zeW1maWxlX3JlYWRfZHdhcmYyIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmlsZSwKKyAJ ZGVidWdmaWxlID0gZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2RlYnVnbGluayAob2JqZmls ZSwgJndhcm5pbmdzKTsKK0BAIC0xMjM5LDcgKzEyNDEsNyBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3 YXJmMiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCiAgCXsKICAJICBoYXNfZHdhcmYyID0gZmFs c2U7CiAgCSAgY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQKQEAgLTE2MzgsNyAr MTY0Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQuYwogIAkg IGNvbnN0IGNoYXIgKmZpbGVuYW1lID0gYmZkX2dldF9maWxlbmFtZSAob2JqZmlsZS0+b2JmZC5n ZXQgKCkpOwogIAogIAkgIGlmIChidWlsZF9pZCAhPSBudWxscHRyKQotQEAgLTEyNTYsNiArMTI1 OCwxMSBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJmMiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUs CitAQCAtMTI2NSw2ICsxMjY3LDExIEBAIGVsZl9zeW1maWxlX3JlYWRfZHdhcmYyIChzdHJ1Y3Qg b2JqZmlsZSAqb2JqZmlsZSwKICAJCSAgICAgIGhhc19kd2FyZjIgPSB0cnVlOwogIAkJICAgIH0K ICAJCX0KQEAgLTE2NDksNyArMTY1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIv Z2RiL2VsZnJlYWQuYwogKwkJICBkZWJ1Z19wcmludF9taXNzaW5nIChvYmpmaWxlX25hbWUgKG9i amZpbGUpLCBidWlsZF9pZF9maWxlbmFtZS5nZXQgKCkpOwogIAkgICAgfQogIAl9Ci0gICAgIH0K KyAgICAgICAvKiBJZiBhbGwgdGhlIG1ldGhvZHMgdG8gY29sbGVjdCB0aGUgZGVidWdpbmZvIGZh aWxlZCwgcHJpbnQgdGhlCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9leGVjLmMKIC0t LSBhL2dkYi9leGVjLmMKICsrKyBiL2dkYi9leGVjLmMKQEAgLTE2NzQsOCArMTY3OSw4IEBAIGRp ZmYgLS1naXQgYS9nZGIvZXhlYy5jIGIvZ2RiL2V4ZWMuYwogZGlmZiAtLWdpdCBhL2dkYi9vYmpm aWxlcy5oIGIvZ2RiL29iamZpbGVzLmgKIC0tLSBhL2dkYi9vYmpmaWxlcy5oCiArKysgYi9nZGIv b2JqZmlsZXMuaAotQEAgLTc4Niw2ICs3ODYsMTAgQEAgc3RydWN0IG9iamZpbGUKLSAgIGJvb2wg c2tpcF9qaXRfc3ltYm9sX2xvb2t1cCA9IGZhbHNlOworQEAgLTg4NCw2ICs4ODQsMTAgQEAgc3Ry dWN0IG9iamZpbGUKKyAgIGJvb2wgb2JqZWN0X2Zvcm1hdF9oYXNfY29weV9yZWxvY3MgPSBmYWxz ZTsKICB9OwogIAogKy8qIFRoaXMgZmlsZSB3YXMgbG9hZGVkIGFjY29yZGluZyB0byB0aGUgQlVJ TERfSURfQ09SRV9MT0FEUyBydWxlcy4gICovCkBAIC0xNzA5LDcgKzE3MTQsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3B5dGhvbi9weS1vYmpmaWxlLmMgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwog ZGlmZiAtLWdpdCBhL2dkYi9zb2xpYi1zdnI0LmMgYi9nZGIvc29saWItc3ZyNC5jCiAtLS0gYS9n ZGIvc29saWItc3ZyNC5jCiArKysgYi9nZGIvc29saWItc3ZyNC5jCi1AQCAtNDUsNiArNDUsNyBA QAorQEAgLTQ0LDYgKzQ0LDcgQEAKICAjaW5jbHVkZSAiYXV4di5oIgogICNpbmNsdWRlICJnZGJf YmZkLmgiCiAgI2luY2x1ZGUgInByb2JlLmgiCkBAIC0xNzE3LDcgKzE3MjIsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0LmMKICAKICAjaW5jbHVkZSA8 bWFwPgogIAotQEAgLTEzMTksOSArMTMyMCw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9p bmZvICppbmZvLCBDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzMTgsOSAr MTMxOSw1MSBAQCBzdnI0X3JlYWRfc29fbGlzdCAoc3ZyNF9pbmZvICppbmZvLCBDT1JFX0FERFIg bG0sIENPUkVfQUREUiBwcmV2X2xtLAogIAkgIGNvbnRpbnVlOwogIAl9CiAgCkBAIC0xNzc1LDcg KzE3ODAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1zdnI0 LmMKIGRpZmYgLS1naXQgYS9nZGIvc291cmNlLmMgYi9nZGIvc291cmNlLmMKIC0tLSBhL2dkYi9z b3VyY2UuYwogKysrIGIvZ2RiL3NvdXJjZS5jCi1AQCAtMTE5Niw3ICsxMTk2LDcgQEAgb3Blbl9z b3VyY2VfZmlsZSAoc3RydWN0IHN5bXRhYiAqcykKK0BAIC0xMTY3LDcgKzExNjcsNyBAQCBvcGVu X3NvdXJjZV9maWxlIChzdHJ1Y3Qgc3ltdGFiICpzKQogIAkgICAgfQogIAogIAkgIGNvbnN0IHN0 cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkCkBAIC0xNzg3LDcgKzE3OTIsNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL3NvdXJjZS5jIGIvZ2RiL3NvdXJjZS5jCiBkaWZmIC0tZ2l0IGEvZ2RiL3N5bWZp bGUuaCBiL2dkYi9zeW1maWxlLmgKIC0tLSBhL2dkYi9zeW1maWxlLmgKICsrKyBiL2dkYi9zeW1m aWxlLmgKLUBAIC0zNDIsMTIgKzM0MiwxOCBAQCBib29sIGV4cGFuZF9zeW10YWJzX21hdGNoaW5n CitAQCAtMzU3LDEyICszNTcsMTggQEAgYm9vbCBleHBhbmRfc3ltdGFic19tYXRjaGluZwogIHZv aWQgbWFwX3N5bWJvbF9maWxlbmFtZXMgKGdkYjo6ZnVuY3Rpb25fdmlldzxzeW1ib2xfZmlsZW5h bWVfZnR5cGU+IGZ1biwKICAJCQkgICBib29sIG5lZWRfZnVsbG5hbWUpOwogIApAQCAtMTgwOSw3 ICsxODE0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3ltZmlsZS5oCiBk aWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmlsZS5leHAgYi9nZGIvdGVz dHN1aXRlL2dkYi5iYXNlL2NvcmVmaWxlLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9jb3JlZmlsZS5leHAKICsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29yZWZpbGUuZXhw Ci1AQCAtMzQ5LDMgKzM0OSwzMyBAQCBnZGJfdGVzdF9tdWx0aXBsZSAiY29yZS1maWxlICRjb3Jl ZmlsZSIgJHRlc3QgeworQEAgLTM0NywzICszNDcsMzMgQEAgZ2RiX3Rlc3RfbXVsdGlwbGUgImNv cmUtZmlsZSAkY29yZWZpbGUiICR0ZXN0IHsKICAJcGFzcyAkdGVzdAogICAgICB9CiAgfQpAQCAt MTg0Niw3ICsxODUxLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvY29y ZWZpbGUuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9jb3JlZmkKIGRpZmYgLS1naXQgYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2dkYmluaXQtaGlzdG9yeS5leHAgYi9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2dkYmluaXQtaGlzdG9yeS5leHAKIC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvZ2RiaW5pdC1oaXN0b3J5LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9nZGJp bml0LWhpc3RvcnkuZXhwCi1AQCAtMTg1LDcgKzE4NSw4IEBAIHByb2MgdGVzdF9lbXB0eV9oaXN0 b3J5X2ZpbGVuYW1lIHsgfSB7CitAQCAtMTc5LDcgKzE3OSw4IEBAIHByb2MgdGVzdF9lbXB0eV9o aXN0b3J5X2ZpbGVuYW1lIHsgfSB7CiAgICAgIGdsb2JhbCBlbnYKICAgICAgZ2xvYmFsIGdkYl9w cm9tcHQKICAKQEAgLTE4NzAsMTcgKzE4NzUsMTcgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIK IGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9s aWIvZ2RiLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysrIGIvZ2RiL3Rl c3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTIxNyw3ICsyMTcsOCBAQCBpZiAhW2luZm8gZXhpc3Rz IElOVEVSTkFMX0dEQkZMQUdTXSB7Ci0gCQkgICAiLW53IiBcCitAQCAtMjI2LDcgKzIyNiw4IEBA IGlmICFbaW5mbyBleGlzdHMgSU5URVJOQUxfR0RCRkxBR1NdIHsKICAJCSAgICItbngiIFwKKyAJ CSAgICItcSIgXAogIAkJICAgey1pZXggInNldCBoZWlnaHQgMCJ9IFwKIC0JCSAgIHstaWV4ICJz ZXQgd2lkdGggMCJ9XV0KICsJCSAgIHstaWV4ICJzZXQgd2lkdGggMCJ9IFwKICsJCSAgIHstaWV4 ICJzZXQgYnVpbGQtaWQtdmVyYm9zZSAwIn1dXQogIAotICAgICBzZXQgSU5URVJOQUxfR0RCRkxB R1MgW2FwcGVuZF9nZGJfZGF0YV9kaXJlY3Rvcnlfb3B0aW9uICRJTlRFUk5BTF9HREJGTEFHU10K LSB9Ci1AQCAtMjM0OSw2ICsyMzUwLDE3IEBAIHByb2MgZGVmYXVsdF9nZGJfc3RhcnQgeyB9IHsK KyAgICAgIyBJZiBERUJVR0lORk9EX1VSTFMgaXMgc2V0LCBnZGIgd2lsbCB0cnkgdG8gZG93bmxv YWQgc291cmNlcyBhbmQKKyAgICAgIyBkZWJ1ZyBpbmZvIGZvciBmLmkuIHN5c3RlbSBsaWJyYXJp ZXMuICBQcmV2ZW50IHRoaXMuCitAQCAtMjQzNCw2ICsyNDM1LDE3IEBAIHByb2MgZGVmYXVsdF9n ZGJfc3RhcnQgeyB9IHsKICAJfQogICAgICB9CiAgCkBAIC0xOTAxLDcgKzE5MDYsNyBAQCBkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cCBiL2dkYi90ZXN0c3VpdGUvbGliL2dk Yi5leHAKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9taS1zdXBwb3J0LmV4cCBiL2dk Yi90ZXN0c3VpdGUvbGliL21pLXN1cHBvcnQuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9t aS1zdXBwb3J0LmV4cAogKysrIGIvZ2RiL3Rlc3RzdWl0ZS9saWIvbWktc3VwcG9ydC5leHAKLUBA IC0zMzAsNiArMzMwLDE2IEBAIHByb2MgZGVmYXVsdF9taV9nZGJfc3RhcnQgeyB7IGZsYWdzIHt9 IH0gfSB7CitAQCAtMzIxLDYgKzMyMSwxNiBAQCBwcm9jIGRlZmF1bHRfbWlfZ2RiX3N0YXJ0IHsg eyBmbGFncyB7fSB9IH0gewogIAkgICAgd2FybmluZyAiQ291bGRuJ3Qgc2V0IHRoZSB3aWR0aCB0 byAwLiIKICAJfQogICAgICB9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91 dHMucGF0Y2ggYi9nZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAppbmRleCBhODk2MzEz Li45YTMxYTViIDEwMDY0NAotLS0gYS9nZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaAor KysgYi9nZGItNi42LXRlc3RzdWl0ZS10aW1lb3V0cy5wYXRjaApAQCAtOSw3ICs5LDcgQEAgU3Vi amVjdDogZ2RiLTYuNi10ZXN0c3VpdGUtdGltZW91dHMucGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIv dGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTEuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9h bm5vdGExLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAogKysr IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExLmV4cAotQEAgLTM5LDYgKzM5LDggQEAg aWYgIHsgW2dkYl9jb21waWxlICIke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7c3JjZmlsZX0iICIke2Jp bmZpbGV9IiBleGVjdXRhYmxlIHtkZWIKK0BAIC0zNyw2ICszNyw4IEBAIGlmICB7IFtnZGJfY29t cGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhlY3V0 YWJsZSB7ZGViCiAgCiAgY2xlYW5fcmVzdGFydCAke2JpbmZpbGV9CiAgCkBAIC0yMSw3ICsyMSw3 IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2Fubm90YTEuZXhwIGIvZ2Ri L3Rlc3RzdWl0ZS9nZGIuYmFzZS9hbm5vdGExCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9n ZGIuYmFzZS9hbm5vdGEzLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAK IC0tLSBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAKICsrKyBiL2dkYi90ZXN0 c3VpdGUvZ2RiLmJhc2UvYW5ub3RhMy5leHAKLUBAIC0zOCw2ICszOCw4IEBAIGlmICB7IFtnZGJf Y29tcGlsZSAiJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3NyY2ZpbGV9IiAiJHtiaW5maWxlfSIgZXhl Y3V0YWJsZSB7ZGViCitAQCAtMzYsNiArMzYsOCBAQCBpZiAgeyBbZ2RiX2NvbXBpbGUgIiR7c3Jj ZGlyfS8ke3N1YmRpcn0vJHtzcmNmaWxlfSIgIiR7YmluZmlsZX0iIGV4ZWN1dGFibGUge2RlYgog IAogIGNsZWFuX3Jlc3RhcnQgJHtiaW5maWxlfQogIAoKZGlmZiAtLWdpdCBhL2dkYi1iaW51dGls czI5OTg4LXJlYWRfaW5kZXhlZF9hZGRyZXNzLnBhdGNoIGIvZ2RiLWJpbnV0aWxzMjk5ODgtcmVh ZF9pbmRleGVkX2FkZHJlc3MucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFm NDRkMTIuLjAwMDAwMDAKLS0tIGEvZ2RiLWJpbnV0aWxzMjk5ODgtcmVhZF9pbmRleGVkX2FkZHJl c3MucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwyNCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRD SEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogTmljayBDbGlmdG9uIDxuaWNrY0By ZWRoYXQuY29tPgotRGF0ZTogV2VkLCAxMSBKYW4gMjAyMyAxMjoxMzo0NiArMDAwMAotU3ViamVj dDogZ2RiLWJpbnV0aWxzMjk5ODgtcmVhZF9pbmRleGVkX2FkZHJlc3MucGF0Y2gKLQotOzsgQmFj a3BvcnQgIkZpeCBhIHBvdGVudGlhbCBpbGxlZ2FsIG1lbW9yeSBhY2Nlc3MgaW4gdGhlIEJGRCBs aWJyYXJ5Li4uIgotOzsgKE5pY2sgQ2xpZnRvbiwgYmludXRpbHMvMjk5ODgpCi0KLQlQUiAyOTk4 OAotCSogZHdhcmYyLmMgKHJlYWRfaW5kZXhlZF9hZGRyZXNzKTogRml4IGNoZWNrIGZvciBhbiBv dXQgb2YgcmFuZ2UKLQlvZmZzZXQuCi0KLWRpZmYgLS1naXQgYS9iZmQvZHdhcmYyLmMgYi9iZmQv ZHdhcmYyLmMKLS0tLSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5jCi1AQCAtMTQx Miw3ICsxNDEyLDcgQEAgcmVhZF9pbmRleGVkX2FkZHJlc3MgKHVpbnQ2NF90IGlkeCwgc3RydWN0 IGNvbXBfdW5pdCAqdW5pdCkKLSAgIG9mZnNldCArPSB1bml0LT5kd2FyZl9hZGRyX29mZnNldDsK LSAgIGlmIChvZmZzZXQgPCB1bml0LT5kd2FyZl9hZGRyX29mZnNldAotICAgICAgIHx8IG9mZnNl dCA+IGZpbGUtPmR3YXJmX2FkZHJfc2l6ZQotLSAgICAgIHx8IGZpbGUtPmR3YXJmX2FkZHJfc2l6 ZSAtIG9mZnNldCA8IHVuaXQtPm9mZnNldF9zaXplKQotKyAgICAgIHx8IGZpbGUtPmR3YXJmX2Fk ZHJfc2l6ZSAtIG9mZnNldCA8IHVuaXQtPmFkZHJfc2l6ZSkKLSAgICAgcmV0dXJuIDA7Ci0gCi0g ICBpbmZvX3B0ciA9IGZpbGUtPmR3YXJmX2FkZHJfYnVmZmVyICsgb2Zmc2V0OwoKZGlmZiAtLWdp dCBhL2dkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaCBi L2dkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdhY3ktb3BlbnNzbC1jcmFzaC5wYXRjaApkZWxl dGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDUyZmU1OC4uMDAwMDAwMAotLS0gYS9nZGItYnoy MTk2Mzk1LWRlYnVnaW5mb2QtbGVnYWN5LW9wZW5zc2wtY3Jhc2gucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSwxODggKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPgotRGF0 ZTogVHVlLCAyMCBKdW4gMjAyMyAwOTo0NjozNSArMDEwMAotU3ViamVjdDogZ2RiLWJ6MjE5NjM5 NS1kZWJ1Z2luZm9kLWxlZ2FjeS1vcGVuc3NsLWNyYXNoLnBhdGNoCi0KLTs7IEJhY2twb3J0IHVw c3RyZWFtIGNvbW1pdCBmM2VlZTU4NjE3NDNkNjM1IHRvIGZpeCBhIGNyYXNoIHRyaWdnZXJlZAot Ozsgd2hlbiBkZWJ1Z2luZm9kIG1ha2VzIHVzZSBvZiBwYXJ0aWN1bGFyIG9wZW5zc2wgc2V0dGlu Z3MuCi0KLWdkYi9kZWJ1Z2luZm9kOiBjbGVhbnVwIGRlYnVnaW5mb2QgZWFybGllcgotCi1BIEdE QiBjcmFzaCB3YXMgZGlzY292ZXJlZCBvbiBGZWRvcmEgR0RCIHRoYXQgd2FzIHRyYWNrZWQgYmFj ayB0byBhbgotaXNzdWUgd2l0aCB0aGUgd2F5IHRoYXQgZGVidWdpbmZvZCBpcyBjbGVhbmVkIHVw LgotCi1UaGUgYnVnIHdhcyByZXBvcnRlZCBvbiBGZWRvcmEgMzcsIDM4LCBhbmQgMzkuICBIZXJl IGFyZSB0aGUgc3RlcHMgdG8KLXJlcHJvZHVjZToKLQotMS4gVGhlIGZpbGUgL2V0Yy9zc2wvb3Bl bnNzbC5jbmYgY29udGFpbnMgdGhlIGZvbGxvd2luZyBsaW5lczoKLQotICAgW3Byb3ZpZGVyX3Nl Y3RdCi0gICBkZWZhdWx0ID0gZGVmYXVsdF9zZWN0Ci0gICAjI2xlZ2FjeSA9IGxlZ2FjeV9zZWN0 Ci0gICAjIwotICAgW2RlZmF1bHRfc2VjdF0KLSAgIGFjdGl2YXRlID0gMQotCi0gICAjI1tsZWdh Y3lfc2VjdF0KLSAgICMjYWN0aXZhdGUgPSAxCi0KLSAgIFRoZSBidWcgd2lsbCBvY2N1ciB3aGVu IHRoZSAnIyMnIGNoYXJhY3RlcnMgYXJlIHJlbW92ZWQgc28gdGhhdCB0aGUKLSAgIGxpbmVzIGlu IHF1ZXN0aW9uIGxvb2sgbGlrZSB0aGlzOgotCi0gICBbcHJvdmlkZXJfc2VjdF0KLSAgIGRlZmF1 bHQgPSBkZWZhdWx0X3NlY3QKLSAgIGxlZ2FjeSA9IGxlZ2FjeV9zZWN0Ci0KLSAgIFtkZWZhdWx0 X3NlY3RdCi0gICBhY3RpdmF0ZSA9IDEKLQotICAgW2xlZ2FjeV9zZWN0XQotICAgYWN0aXZhdGUg PSAxCi0KLTIuIENsZWFuIHVwIGFueSBleGlzdGluZyBkZWJ1Z2luZm9kIGNhY2hlIGRhdGE6Ci0K LSAgID4gcm0gLXJmICRIT01FLy5jYWNoZS9kZWJ1Z2luZm9kX2NsaWVudAotCi0zLiBSdW4gR0RC OgotCi0gICA+IGdkYiAtbnggLXEgLWlleCAnc2V0IHRyYWNlLWNvbW1hbmRzIG9uJyBcCi0gICAg ICAgICAgICAgICAgLWlleCAnc2V0IGRlYnVnaW5mb2QgZW5hYmxlZCBvbicgXAotICAgICAgICAg ICAgICAgIC1pZXggJ3NldCBjb25maXJtIG9mZicgXAotICAgICAgICAgICAgICAgIC1leCAnc3Rh cnQnIC1leCAncXVpdCcgL2Jpbi9scwotICAgK3NldCBkZWJ1Z2luZm9kIGVuYWJsZWQgb24KLSAg ICtzZXQgY29uZmlybSBvZmYKLSAgIFJlYWRpbmcgc3ltYm9scyBmcm9tIC9iaW4vbHMuLi4KLSAg IERvd25sb2FkaW5nIHNlcGFyYXRlIGRlYnVnIGluZm8gZm9yIC91c3IvYmluL2xzCi0gICAuLi4g c25pcCAuLi4KLSAgIFRlbXBvcmFyeSBicmVha3BvaW50IDEsIG1haW4gKGFyZ2M9MSwgYXJndj0w eDdmZmZmZmZmZGUzOCkgYXQgLi4vc3JjL2xzLmM6MTY0NgotICAgMTY0NiAgICB7Ci0gICArcXVp dAotCi0gICBGYXRhbCBzaWduYWw6IFNlZ21lbnRhdGlvbiBmYXVsdAotICAgLS0tLS0gQmFja3Ry YWNlIC0tLS0tCi0gICAuLi4gc25pcCAuLi4KLQotU28gR0RCIGVuZHMgdXAgY3Jhc2hpbmcgZHVy aW5nIGV4aXQuCi0KLVdoYXQncyBoYXBwZW5pbmcgaXMgdGhhdCB3aGVuIGRlYnVnaW5mb2QgaXMg aW5pdGlhbGlzZWQKLWRlYnVnaW5mb2RfYmVnaW4gaXMgY2FsbGVkICh0aGlzIGlzIGluIHRoZSBk ZWJ1Z2luZm9kIGxpYnJhcnkpLCB0aGlzCi1pbiB0dXJuIHNldHMgdXAgbGliY3VybCwgd2hpY2gg bWFrZXMgdXNlIG9mIG9wZW5zc2wuICBTb21ld2hlcmUgZHVyaW5nCi10aGlzIHNldHVwIHByb2Nl c3MgYW4gYXRfZXhpdCBmdW5jdGlvbiBpcyByZWdpc3RlcmVkIHRvIGNsZWFudXAgc29tZQotc3Rh dGUuCi0KLUJhY2sgaW4gR0RCIHRoZSBkZWJ1Z2luZm9kX2NsaWVudCBvYmplY3QgaXMgbWFuYWdl ZCB1c2luZyB0aGlzIGNvZGU6Ci0KLSAgLyogRGVsZXRlciBmb3IgYSBkZWJ1Z2luZm9kX2NsaWVu dC4gICovCi0KLSAgc3RydWN0IGRlYnVnaW5mb2RfY2xpZW50X2RlbGV0ZXIKLSAgewotICAgIHZv aWQgb3BlcmF0b3IoKSAoZGVidWdpbmZvZF9jbGllbnQgKmMpCi0gICAgewotICAgICAgZGVidWdp bmZvZF9lbmQgKGMpOwotICAgIH0KLSAgfTsKLQotICB1c2luZyBkZWJ1Z2luZm9kX2NsaWVudF91 cAotICAgID0gc3RkOjp1bmlxdWVfcHRyPGRlYnVnaW5mb2RfY2xpZW50LCBkZWJ1Z2luZm9kX2Ns aWVudF9kZWxldGVyPjsKLQotQW5kIHRoZW4gYSBnbG9iYWwgZGVidWdpbmZvZF9jbGllbnRfdXAg aXMgY3JlYXRlZCB0byBob2xkIGEgcG9pbnRlciB0bwotdGhlIGRlYnVnaW5mb2RfY2xpZW50IG9i amVjdC4gIEFzIGEgZ2xvYmFsIHRoaXMgd2lsbCBiZSBjbGVhbmVkIHVwCi11c2luZyB0aGUgc3Rh bmRhcmQgQysrIGdsb2JhbCBvYmplY3QgZGVzdHJ1Y3RvciBtZWNoYW5pc20sIHdoaWNoIGlzCi1y dW4gYWZ0ZXIgdGhlIGF0X2V4aXQgaGFuZGxlcnMuCi0KLUhvd2V2ZXIsIGl0IGlzIGV4cGVjdGVk IHRoYXQgd2hlbiBkZWJ1Z2luZm9kX2VuZCBpcyBjYWxsZWQgdGhlCi1kZWJ1Z2luZm9kX2NsaWVu dCBvYmplY3Qgd2lsbCBzdGlsbCBiZSBpbiBhIHVzYWJsZSBzdGF0ZSwgdGhhdCBpcywgd2UKLWRv bid0IGV4cGVjdCB0aGUgYXRfZXhpdCBoYW5kbGVycyB0byBoYXZlIHJ1biBhbmQgc3RhcnRlZCBj bGVhbmluZyB1cAotdGhlIGxpYnJhcnkgc3RhdGUuCi0KLVRvIGZpeCB0aGlzIGlzc3VlIHdlIG5l ZWQgdG8gZW5zdXJlIHRoYXQgZGVidWdpbmZvZF9lbmQgaXMgY2FsbGVkCi1iZWZvcmUgdGhlIGF0 X2V4aXQgaGFuZGxlcnMgaGF2ZSBhIGNoYW5jZSB0byBydW4uCi0KLVRoaXMgY29tbWl0IHJlbW92 ZXMgdGhlIGRlYnVnaW5mb2RfY2xpZW50X3VwIHR5cGUsIGFuZCBpbnN0ZWFkIGhhcyBHREIKLWhv bGQgYSByYXcgcG9pbnRlciB0byB0aGUgZGVidWdpbmZvZF9jbGllbnQgb2JqZWN0LiAgV2UgdGhl biBtYWtlIHVzZQotb2YgR0RCJ3MgbWFrZV9maW5hbF9jbGVhbnVwIHRvIHJlZ2lzdGVyIGEgZnVu Y3Rpb24gdGhhdCB3aWxsIGNhbGwKLWRlYnVnaW5mb2RfZW5kLgotCi1BcyBHREIncyBmaW5hbCBj bGVhbnVwcyBhcmUgY2FsbGVkIGJlZm9yZSBleGl0IGlzIGNhbGxlZCwgdGhpcyBtZWFucwotdGhh dCBkZWJ1Z2luZm9kX2VuZCB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGF0X2V4aXQgaGFuZGxl cnMgYXJlCi1jYWxsZWQsIGFuZCB0aGUgY3Jhc2ggaWRlbnRpZmllZCBhYm92ZSBpcyByZXNvbHZl ZC4KLQotSXQncyBub3Qgb2J2aW91cyBob3cgdGhpcyBpc3N1ZSBjYW4gZWFzaWx5IGJlIHRlc3Rl ZCBmb3IuIFRoZSBidWcgZG9lcwotbm90IGFwcGVhciB0byBtYW5pZmVzdCB3aGVuIHVzaW5nIGEg bG9jYWwgZGVidWdpbmZvZCBzZXJ2ZXIsIHNvIHdlJ2QKLW5lZWQgdG8gc2V0dXAgc29tZXRoaW5n IG1vcmUgaW52b2x2ZWQuICBGb3Igbm93IEknbSBwcm9wb3NpbmcgdGhpcwotcGF0Y2ggd2l0aG91 dCBhbnkgYXNzb2NpYXRlZCB0ZXN0cy4KLQotZGlmZiAtLWdpdCBhL2dkYi9kZWJ1Z2luZm9kLXN1 cHBvcnQuYyBiL2dkYi9kZWJ1Z2luZm9kLXN1cHBvcnQuYwotLS0tIGEvZ2RiL2RlYnVnaW5mb2Qt c3VwcG9ydC5jCi0rKysgYi9nZGIvZGVidWdpbmZvZC1zdXBwb3J0LmMKLUBAIC05NiwyMCArOTYs NiBAQCBzdHJ1Y3QgdXNlcl9kYXRhCi0gICB1aV9vdXQ6OnByb2dyZXNzX3VwZGF0ZSBwcm9ncmVz czsKLSB9OwotIAotLS8qIERlbGV0ZXIgZm9yIGEgZGVidWdpbmZvZF9jbGllbnQuICAqLwotLQot LXN0cnVjdCBkZWJ1Z2luZm9kX2NsaWVudF9kZWxldGVyCi0tewotLSAgdm9pZCBvcGVyYXRvcigp IChkZWJ1Z2luZm9kX2NsaWVudCAqYykKLS0gIHsKLS0gICAgZGVidWdpbmZvZF9lbmQgKGMpOwot LSAgfQotLX07Ci0tCi0tdXNpbmcgZGVidWdpbmZvZF9jbGllbnRfdXAKLS0gID0gc3RkOjp1bmlx dWVfcHRyPGRlYnVnaW5mb2RfY2xpZW50LCBkZWJ1Z2luZm9kX2NsaWVudF9kZWxldGVyPjsKLS0K LS0KLSAvKiBDb252ZXJ0IFNJWkUgaW50byBhIHVuaXQgc3VpdGFibGUgZm9yIHVzZSB3aXRoIHBy b2dyZXNzIHVwZGF0ZXMuCi0gICAgU0laRSBzaG91bGQgaW4gZ2l2ZW4gaW4gYnl0ZXMgYW5kIHdp bGwgYmUgY29udmVydGVkIGludG8gS0IsIE1CLCBHQgotICAgIG9yIHJlbWFpbiB1bmNoYW5nZWQu IFVOSVQgd2lsbCBiZSBzZXQgdG8gIkIiLCAiS0IiLCAiTUIiIG9yICJHQiIKLUBAIC0xODAsMjAg KzE2Niw0NSBAQCBwcm9ncmVzc2ZuIChkZWJ1Z2luZm9kX2NsaWVudCAqYywgbG9uZyBjdXIsIGxv bmcgdG90YWwpCi0gICByZXR1cm4gMDsKLSB9Ci0gCi0rLyogQ2xlYW51cCBBUkcsIHdoaWNoIGlz IGEgZGVidWdpbmZvZF9jbGllbnQgcG9pbnRlci4gICovCi0rCi0rc3RhdGljIHZvaWQKLStjbGVh bnVwX2RlYnVnaW5mb2RfY2xpZW50ICh2b2lkICphcmcpCi0rewotKyAgZGVidWdpbmZvZF9jbGll bnQgKmNsaWVudCA9IHN0YXRpY19jYXN0PGRlYnVnaW5mb2RfY2xpZW50ICo+IChhcmcpOwotKyAg ZGVidWdpbmZvZF9lbmQgKGNsaWVudCk7Ci0rfQotKwotKy8qIFJldHVybiBhIHBvaW50ZXIgdG8g dGhlIHNpbmdsZSBnbG9iYWwgZGVidWdpbmZvZF9jbGllbnQsIGluaXRpYWxpc2luZyBpdAotKyAg IGZpcnN0IGlmIG5lZWRlZC4gICovCi0rCi0gc3RhdGljIGRlYnVnaW5mb2RfY2xpZW50ICoKLSBn ZXRfZGVidWdpbmZvZF9jbGllbnQgKCkKLSB7Ci0tICBzdGF0aWMgZGVidWdpbmZvZF9jbGllbnRf dXAgZ2xvYmFsX2NsaWVudDsKLSsgIHN0YXRpYyBkZWJ1Z2luZm9kX2NsaWVudCAqZ2xvYmFsX2Ns aWVudCA9IG51bGxwdHI7Ci0gCi0gICBpZiAoZ2xvYmFsX2NsaWVudCA9PSBudWxscHRyKQotICAg ICB7Ci0tICAgICAgZ2xvYmFsX2NsaWVudC5yZXNldCAoZGVidWdpbmZvZF9iZWdpbiAoKSk7Ci0r ICAgICAgZ2xvYmFsX2NsaWVudCA9IGRlYnVnaW5mb2RfYmVnaW4gKCk7Ci0gCi0gICAgICAgaWYg KGdsb2JhbF9jbGllbnQgIT0gbnVsbHB0cikKLS0JZGVidWdpbmZvZF9zZXRfcHJvZ3Jlc3NmbiAo Z2xvYmFsX2NsaWVudC5nZXQgKCksIHByb2dyZXNzZm4pOwotKwl7Ci0rCSAgLyogSXQgaXMgaW1w b3J0YW50IHRoYXQgd2UgY2xlYW51cCB0aGUgZGVidWdpbmZvZF9jbGllbnQgb2JqZWN0Ci0rCSAg ICAgYmVmb3JlIGNhbGxpbmcgZXhpdC4gIFNvbWUgb2YgdGhlIGxpYnJhcmllcyB1c2VkIGJ5IGRl YnVnaW5mb2QKLSsJICAgICBtYWtlIHVzZSBvZiBhdF9leGl0IGhhbmRsZXJzIHRvIHBlcmZvcm0g Y2xlYW51cC4KLSsKLSsJICAgICBJZiB3ZSB3cmFwcGVkIHRoZSBkZWJ1Z2luZm9kX2NsaWVudCBp biBhIHVuaXF1ZV9wdHIgYW5kIHJlbGllZAotKwkgICAgIG9uIGl0cyBkZXN0cnVjdG9yIHRvIGNs ZWFudXAgdGhlbiB0aGlzIHdvdWxkIGJlIHJ1biBhcyBwYXJ0IG9mCi0rCSAgICAgdGhlIGdsb2Jh bCBDKysgb2JqZWN0IGRlc3RydWN0b3JzLCB3aGljaCBpcyBhZnRlciB0aGUgYXRfZXhpdAotKwkg ICAgIGhhbmRsZXJzLCB3aGljaCBpcyB0b28gbGF0ZS4KLSsKLSsJICAgICBTbyBpbnN0ZWFkLCB3 ZSBtYWtlIHVzZSBvZiBHREIncyBmaW5hbCBjbGVhbnVwIG1lY2hhbmlzbS4gICovCi0rCSAgbWFr ZV9maW5hbF9jbGVhbnVwIChjbGVhbnVwX2RlYnVnaW5mb2RfY2xpZW50LCBnbG9iYWxfY2xpZW50 KTsKLSsJICBkZWJ1Z2luZm9kX3NldF9wcm9ncmVzc2ZuIChnbG9iYWxfY2xpZW50LCBwcm9ncmVz c2ZuKTsKLSsJfQotICAgICB9Ci0gCi0tICByZXR1cm4gZ2xvYmFsX2NsaWVudC5nZXQgKCk7Ci0r ICByZXR1cm4gZ2xvYmFsX2NsaWVudDsKLSB9Ci0gCi0gLyogQ2hlY2sgaWYgZGVidWdpbmZvZCBp cyBlbmFibGVkLiAgSWYgY29uZmlndXJlZCB0byBkbyBzbywgYXNrIHRoZSB1c2VyCgpkaWZmIC0t Z2l0IGEvZ2RiLWJ6MjIzNzM5Mi1kd2FyZi1vYnN0YWNrLWFsbG9jYXRpb24ucGF0Y2ggYi9nZGIt YnoyMjM3MzkyLWR3YXJmLW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaApkZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggNDI0Y2FkMy4uMDAwMDAwMAotLS0gYS9nZGItYnoyMjM3MzkyLWR3YXJm LW9ic3RhY2stYWxsb2NhdGlvbi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDY4ICswLDAgQEAK LUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRy ZXcgQnVyZ2VzcyA8YWJ1cmdlc3NAcmVkaGF0LmNvbT4KLURhdGU6IFRodSwgMTQgU2VwIDIwMjMg MTM6MDY6MjYgKzAxMDAKLVN1YmplY3Q6IGdkYi1iejIyMzczOTItZHdhcmYtb2JzdGFjay1hbGxv Y2F0aW9uLnBhdGNoCi0KLTs7IEJhY2twb3J0IHVwc3RyZWFtIGNvbW1pdCA1NDM5MmM0ZGY2MDRm MjAgdG8gZml4IGFuIGluY29ycmVjdAotOzsgb2JzdGFjayBhbGxvY2F0aW9uIHRoYXQgd29sZCBs ZWFkIHRvIG1lbW9yeSBjb3JydXB0aW9uLgotCi1nZGI6IGZpeCBidWZmZXIgb3ZlcmZsb3cgaW4g RFdBUkYgcmVhZGVyCi0KLUluIHRoaXMgY29tbWl0OgotCi0gIGNvbW1pdCA0OGFjMTk3YjBjMjA5 Y2NmMWYyZGU5NzA0ZWI2Y2RmN2M1YzczYThlCi0gIERhdGU6ICAgRnJpIE5vdiAxOSAxMDoxMjo0 NCAyMDIxIC0wNzAwCi0KLSAgICAgIEhhbmRsZSBtdWx0aXBsZSBhZGRyZXNzZXMgaW4gY2FsbF9z aXRlX3RhcmdldAotCi1hIGJ1ZmZlciBvdmVyZmxvdyBidWcgd2FzIGludHJvZHVjZWQgd2hlbiB0 aGUgZm9sbG93aW5nIGNvZGUgd2FzCi1hZGRlZDoKLQotICBDT1JFX0FERFIgKnNhdmVkID0gWE9C TkVXVkFSICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBDT1JFX0FERFIsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlcy5zaXplICgpKTsKLSAgc3RkOjpjb3B5IChh ZGRyZXNzZXMuYmVnaW4gKCksIGFkZHJlc3Nlcy5lbmQgKCksIHNhdmVkKTsKLQotVGhlIGRlZmlu aXRpb24gb2YgWE9CTkVXVkFSIGlzIChmcm9tIGxpYmliZXJ0eS5oKToKLQotICAjZGVmaW5lIFhP Qk5FV1ZBUihPLCBULCBTKQkoKFQgKikgb2JzdGFja19hbGxvYyAoKE8pLCAoUykpKQotCi1TbyAn c2F2ZWQnIGlzIGdvaW5nIHRvIHBvaW50IHRvIGFkZHJlc3Nlcy5zaXplICgpIGJ5dGVzIG9mIG1l bW9yeSwKLWhvd2V2ZXIsIHRoZSBzdGQ6OmNvcHkgd2lsbCB3cml0ZSBhZGRyZXNzZXMuc2l6ZSAo KSBudW1iZXIgb2YKLUNPUkVfQUREUiBzaXplZCBlbnRyaWVzIHRvIHRoZSBhZGRyZXNzIHBvaW50 ZWQgdG8gYnkgJ3NhdmVkJywgdGhpcyBpcwotZ29pbmcgdG8gcmVzdWx0IGluIG1lbW9yeSBjb3Jy dXB0aW9uLgotCi1UaGUgbWlzdGFrZSBpcyB0aGF0IHdlIHNob3VsZCBoYXZlIHVzZWQgWE9CTkVX VkVDLCB3aGljaCBhbGxvY2F0ZXMgYQotdmVjdG9yIG9mIGVudHJpZXMsIHRoZSBkZWZpbml0aW9u IG9mIFhPQk5FV1ZFQyBpczoKLQotICAjZGVmaW5lIFhPQk5FV1ZFQyhPLCBULCBOKSBcCi0gICAg KChUICopIG9ic3RhY2tfYWxsb2MgKChPKSwgc2l6ZW9mIChUKSAqIChOKSkpCi0KLVdoaWNoIG1l YW5zIHdlIHdpbGwgaGF2ZSBzZXQgYXNpZGUgZW5vdWdoIHNwYWNlIHRvIGNyZWF0ZSBhIGNvcHkg b2YKLXRoZSBjb250ZW50cyBvZiB0aGUgYWRkcmVzc2VzIHZlY3Rvci4KLQotSSdtIG5vdCBzdXJl IGhvdyB0byBjcmVhdGUgYSB0ZXN0IGZvciB0aGlzIHByb2JsZW0sIHRoaXMgaXNzdWUgY3JvcHBl ZAotdXAgd2hlbiBkZWJ1Z2dpbmcgYSBwYXJ0aWN1bGFyIGk2ODYgYnVpbHQgYmluYXJ5LCB3aGlj aCBqdXN0IGhhcHBlbmVkCi10byB0cmlnZ2VyIGEgZ2xpYmMgYXNzZXJ0aW9uIChsaWtlbHkgZHVl IHRvIHJhbmRvbSBtZW1vcnkgY29ycnVwdGlvbiksCi1kZWJ1Z2dpbmcgdGhlIHNhbWUgYmluYXJ5 IGJ1aWx0IGZvciB4ODYtNjQgYXBwZWFyZWQgdG8gd29yayBqdXN0IGZpbmUuCi0KLVVzaW5nIHZh bGdyaW5kIG9uIHRoZSBmYWlsaW5nIEdEQiBiaW5hcnkgcG9pbnRlZCBzdHJhaWdodCB0byB0aGUg Y2F1c2UKLW9mIHRoZSBwcm9ibGVtLCBhbmQgd2l0aCB0aGlzIHBhdGNoIGluIHBsYWNlIHRoZXJl IGFyZSBubyBsb25nZXIKLXZhbGdyaW5kIGVycm9ycyBpbiB0aGlzIGFyZWEuCi0KLUlmIGFueW9u ZSBoYXMgaWRlYXMgZm9yIGEgdGVzdCBJJ20gaGFwcHkgdG8gd29yayBvbiBzb21ldGhpbmcuCi0K LUNvLUF1dGhvcmVkLUJ5OiBLZWl0aCBTZWl0eiA8a2VpdGhzQHJlZGhhdC5jb20+Ci1BcHByb3Zl ZC1CeTogVG9tIFRyb21leSA8dG9tQHRyb21leS5jb20+Ci0KLWRpZmYgLS1naXQgYS9nZGIvZHdh cmYyL3JlYWQuYyBiL2dkYi9kd2FyZjIvcmVhZC5jCi0tLS0gYS9nZGIvZHdhcmYyL3JlYWQuYwot KysrIGIvZ2RiL2R3YXJmMi9yZWFkLmMKLUBAIC0xMjUwNiw3ICsxMjUwNiw3IEBAIHJlYWRfY2Fs bF9zaXRlX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up Ci0gCSAgc3RkOjp2ZWN0b3I8Q09SRV9BRERSPiBhZGRyZXNzZXM7Ci0gCSAgZHdhcmYyX3Jhbmdl c19yZWFkX2xvd19hZGRycyAocmFuZ2VzX29mZnNldCwgdGFyZ2V0X2N1LAotIAkJCQkJdGFyZ2V0 X2RpZS0+dGFnLCBhZGRyZXNzZXMpOwotLQkgIENPUkVfQUREUiAqc2F2ZWQgPSBYT0JORVdWQVIg KCZvYmpmaWxlLT5vYmpmaWxlX29ic3RhY2ssIENPUkVfQUREUiwKLSsJICBDT1JFX0FERFIgKnNh dmVkID0gWE9CTkVXVkVDICgmb2JqZmlsZS0+b2JqZmlsZV9vYnN0YWNrLCBDT1JFX0FERFIsCi0g CQkJCQlhZGRyZXNzZXMuc2l6ZSAoKSk7Ci0gCSAgc3RkOjpjb3B5IChhZGRyZXNzZXMuYmVnaW4g KCksIGFkZHJlc3Nlcy5lbmQgKCksIHNhdmVkKTsKLSAJICBjYWxsX3NpdGUtPnRhcmdldC5zZXRf bG9jX2FycmF5IChhZGRyZXNzZXMuc2l6ZSAoKSwgc2F2ZWQpOwoKZGlmZiAtLWdpdCBhL2dkYi1i ejIyMzc1MTUtZGVidWdpbmZvZC1kb3VibGUtZnJlZS5wYXRjaCBiL2dkYi1iejIyMzc1MTUtZGVi dWdpbmZvZC1kb3VibGUtZnJlZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg OWQ3MjYzOS4uMDAwMDAwMAotLS0gYS9nZGItYnoyMjM3NTE1LWRlYnVnaW5mb2QtZG91YmxlLWZy ZWUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMDIgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFU Q0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFRvbSBUcm9tZXkgPHRyb21leUBh ZGFjb3JlLmNvbT4KLURhdGU6IFR1ZSwgNiBEZWMgMjAyMiAxMjowNzoxMiAtMDcwMAotU3ViamVj dDogZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVlLnBhdGNoCi0KLTs7IEJhY2tw b3J0IHVwc3RyZWFtIGNvbW1pdCBmOTYzMjhhY2NkZTFlNjMgdG8gZml4IGEgcG90ZW50aWFsIGRv dWJsZQotOzsgZnJlZSBpc3N1ZSBpbiB0aGUgZGVidWdpbmZvZCBjb2RlLgotCi1Bdm9pZCBkb3Vi bGUtZnJlZSB3aXRoIGRlYnVnaW5mb2QKLQotUFIgZ2RiLzI5MjU3IHBvaW50cyBvdXQgYSBwb3Nz aWJsZSBkb3VibGUgZnJlZSB3aGVuIGRlYnVnaW5mb2QgaXMgaW4KLXVzZS4gIEFzaWRlIGZyb20g c29tZSB1Z2x5IHdhcnRzIGluIHRoZSBzeW1ib2wgY29kZSAoYW4gb25nb2luZwotaXNzdWUpLCB0 aGUgdW5kZXJseWluZyBpc3N1ZSBpbiB0aGlzIHBhcnRpY3VsYXIgY2FzZSBpcyB0aGF0IGVsZnJl YWQuYwotc2VlbXMgdG8gYXNzdW1lIHRoYXQgc3ltZmlsZV9iZmRfb3BlbiB3aWxsIHJldHVybiBO VUxMIG9uIGVycm9yLAotd2hlcmVhcyBpbiByZWFsaXR5IGl0IHRocm93cyBhbiBleGNlcHRpb24u ICBBcyB0aGlzIGNvZGUgaXNuJ3QKLXByZXBhcmVkIGZvciBhbiBleGNlcHRpb24sIGJhZCB0aGlu Z3MgcmVzdWx0LgotCi1UaGlzIHBhdGNoIGZpeGVzIHRoZSBwcm9ibGVtIGJ5IGludHJvZHVjaW5n IGEgbm9uLXRocm93aW5nIHZhcmlhbnQgb2YKLXN5bWZpbGVfYmZkX29wZW4gYW5kIHVzaW5nIGl0 IGluIHRoZSBhZmZlY3RlZCBwbGFjZXMuCi0KLUJ1ZzogaHR0cHM6Ly9zb3VyY2V3YXJlLm9yZy9i dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9MjkyNTcKLQotZGlmZiAtLWdpdCBhL2dkYi9lbGZyZWFk LmMgYi9nZGIvZWxmcmVhZC5jCi0tLS0gYS9nZGIvZWxmcmVhZC5jCi0rKysgYi9nZGIvZWxmcmVh ZC5jCi1AQCAtMTIyMiwxMCArMTIyMiwxMiBAQCBlbGZfc3ltZmlsZV9yZWFkX2R3YXJmMiAoc3Ry dWN0IG9iamZpbGUgKm9iamZpbGUsCi0gCi0gICAgICAgaWYgKCFkZWJ1Z2ZpbGUuZW1wdHkgKCkp Ci0gCXsKLS0JICBnZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkIChzeW1maWxlX2JmZF9vcGVuIChk ZWJ1Z2ZpbGUuY19zdHIgKCkpKTsKLSsJICBnZGJfYmZkX3JlZl9wdHIgZGVidWdfYmZkCi0rCSAg ICAoc3ltZmlsZV9iZmRfb3Blbl9ub19lcnJvciAoZGVidWdmaWxlLmNfc3RyICgpKSk7Ci0gCi0t CSAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRlIChkZWJ1Z19iZmQsIGRlYnVnZmlsZS5jX3N0ciAo KSwKLS0JCQkJICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwotKwkgIGlmIChkZWJ1Z19iZmQg IT0gbnVsbHB0cikKLSsJICAgIHN5bWJvbF9maWxlX2FkZF9zZXBhcmF0ZSAoZGVidWdfYmZkLCBk ZWJ1Z2ZpbGUuY19zdHIgKCksCi0rCQkJCSAgICAgIHN5bWZpbGVfZmxhZ3MsIG9iamZpbGUpOwot IAl9Ci0gICAgICAgZWxzZQotIAl7Ci1AQCAtMTI0NSwxMyArMTI0NywxMiBAQCBlbGZfc3ltZmls ZV9yZWFkX2R3YXJmMiAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsCi0gCSAgICAgIGlmIChmZC5n ZXQgKCkgPj0gMCkKLSAJCXsKLSAJCSAgLyogRmlsZSBzdWNjZXNzZnVsbHkgcmV0cmlldmVkIGZy b20gc2VydmVyLiAgKi8KLS0JCSAgZ2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCAoc3ltZmlsZV9i ZmRfb3BlbiAoc3ltZmlsZV9wYXRoLmdldCAoKSkpOwotKwkJICBnZGJfYmZkX3JlZl9wdHIgZGVi dWdfYmZkCi0rCQkgICAgKHN5bWZpbGVfYmZkX29wZW5fbm9fZXJyb3IgKHN5bWZpbGVfcGF0aC5n ZXQgKCkpKTsKLSAKLS0JCSAgaWYgKGRlYnVnX2JmZCA9PSBudWxscHRyKQotLQkJICAgIHdhcm5p bmcgKF8oIkZpbGUgXCIlc1wiIGZyb20gZGVidWdpbmZvZCBjYW5ub3QgYmUgb3BlbmVkIGFzIGJm ZCIpLAotLQkJCSAgICAgZmlsZW5hbWUpOwotLQkJICBlbHNlIGlmIChidWlsZF9pZF92ZXJpZnkg KGRlYnVnX2JmZC5nZXQgKCksIGJ1aWxkX2lkLT5zaXplLAotLQkJCQkJICAgIGJ1aWxkX2lkLT5k YXRhKSkKLSsJCSAgaWYgKGRlYnVnX2JmZCAhPSBudWxscHRyCi0rCQkgICAgICAmJiBidWlsZF9p ZF92ZXJpZnkgKGRlYnVnX2JmZC5nZXQgKCksIGJ1aWxkX2lkLT5zaXplLAotKwkJCQkJICBidWls ZF9pZC0+ZGF0YSkpCi0gCQkgICAgewotIAkJICAgICAgc3ltYm9sX2ZpbGVfYWRkX3NlcGFyYXRl IChkZWJ1Z19iZmQsIHN5bWZpbGVfcGF0aC5nZXQgKCksCi0gCQkJCQkJc3ltZmlsZV9mbGFncywg b2JqZmlsZSk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3N5bWZpbGUuYyBiL2dkYi9zeW1maWxlLmMKLS0t LSBhL2dkYi9zeW1maWxlLmMKLSsrKyBiL2dkYi9zeW1maWxlLmMKLUBAIC0xNzQ0LDYgKzE3NDQs MjMgQEAgc3ltZmlsZV9iZmRfb3BlbiAoY29uc3QgY2hhciAqbmFtZSkKLSAgIHJldHVybiBzeW1f YmZkOwotIH0KLSAKLSsvKiBTZWUgc3ltZmlsZS5oLiAgKi8KLSsKLStnZGJfYmZkX3JlZl9wdHIK LStzeW1maWxlX2JmZF9vcGVuX25vX2Vycm9yIChjb25zdCBjaGFyICpuYW1lKSBub2V4Y2VwdAot K3sKLSsgIHRyeQotKyAgICB7Ci0rICAgICAgcmV0dXJuIHN5bWZpbGVfYmZkX29wZW4gKG5hbWUp OwotKyAgICB9Ci0rICBjYXRjaCAoY29uc3QgZ2RiX2V4Y2VwdGlvbl9lcnJvciAmZXJyKQotKyAg ICB7Ci0rICAgICAgd2FybmluZyAoIiVzIiwgZXJyLndoYXQgKCkpOwotKyAgICB9Ci0rCi0rICBy ZXR1cm4gbnVsbHB0cjsKLSt9Ci0rCi0gLyogUmV0dXJuIHRoZSBzZWN0aW9uIGluZGV4IGZvciBT RUNUSU9OX05BTUUgb24gT0JKRklMRS4gIFJldHVybiAtMSBpZgotICAgIHRoZSBzZWN0aW9uIHdh cyBub3QgZm91bmQuICAqLwotIAotZGlmZiAtLWdpdCBhL2dkYi9zeW1maWxlLmggYi9nZGIvc3lt ZmlsZS5oCi0tLS0gYS9nZGIvc3ltZmlsZS5oCi0rKysgYi9nZGIvc3ltZmlsZS5oCi1AQCAtMjY5 LDYgKzI2OSwxMSBAQCBleHRlcm4gdm9pZCBzZXRfaW5pdGlhbF9sYW5ndWFnZSAodm9pZCk7Ci0g Ci0gZXh0ZXJuIGdkYl9iZmRfcmVmX3B0ciBzeW1maWxlX2JmZF9vcGVuIChjb25zdCBjaGFyICop OwotIAotKy8qIExpa2Ugc3ltZmlsZV9iZmRfb3BlbiwgYnV0IHdpbGwgbm90IHRocm93IGFuIGV4 Y2VwdGlvbiBvbiBlcnJvci4KLSsgICBJbnN0ZWFkLCBpdCBpc3N1ZXMgYSB3YXJuaW5nIGFuZCBy ZXR1cm5zIG51bGxwdHIuICAqLwotKwotK2V4dGVybiBnZGJfYmZkX3JlZl9wdHIgc3ltZmlsZV9i ZmRfb3Blbl9ub19lcnJvciAoY29uc3QgY2hhciAqKSBub2V4Y2VwdDsKLSsKLSBleHRlcm4gaW50 IGdldF9zZWN0aW9uX2luZGV4IChzdHJ1Y3Qgb2JqZmlsZSAqLCBjb25zdCBjaGFyICopOwotIAot IGV4dGVybiBpbnQgcHJpbnRfc3ltYm9sX2xvYWRpbmdfcCAoaW50IGZyb21fdHR5LCBpbnQgbWFp bmxpbmUsIGludCBmdWxsKTsKCmRpZmYgLS1naXQgYS9nZGItY29udGFpbmVyLXJoLXBrZy5wYXRj aCBiL2dkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCmluZGV4IGFhYzhhYzguLjcxMDdlNWQgMTAw NjQ0Ci0tLSBhL2dkYi1jb250YWluZXItcmgtcGtnLnBhdGNoCisrKyBiL2dkYi1jb250YWluZXIt cmgtcGtnLnBhdGNoCkBAIC05LDEwICs5LDEwIEBAIFN1YmplY3Q6IGdkYi1jb250YWluZXItcmgt cGtnLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCiAtLS0g YS9nZGIvcmVtb3RlLmMKICsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTE0MzAxLDcgKzE0MzAxLDE3 IEBAIHJlbW90ZV90YXJnZXQ6OnBpZF90b19leGVjX2ZpbGUgKGludCBwaWQpCitAQCAtMTQ3NDIs NyArMTQ3NDIsMTcgQEAgcmVtb3RlX3RhcmdldDo6cGlkX3RvX2V4ZWNfZmlsZSAoaW50IHBpZCkK ICAgIGNoYXIgKmFubmV4ID0gTlVMTDsKICAKLSAgIGlmIChwYWNrZXRfc3VwcG9ydCAoUEFDS0VU X3FYZmVyX2V4ZWNfZmlsZSkgIT0gUEFDS0VUX0VOQUJMRSkKKyAgIGlmIChtX2ZlYXR1cmVzLnBh Y2tldF9zdXBwb3J0IChQQUNLRVRfcVhmZXJfZXhlY19maWxlKSAhPSBQQUNLRVRfRU5BQkxFKQog LSAgICByZXR1cm4gTlVMTDsKICsgICAgewogKyAgICAgIHdhcm5pbmcgKF8oIlJlbW90ZSBnZGJz ZXJ2ZXIgZG9lcyBub3Qgc3VwcG9ydCBkZXRlcm1pbmluZyBleGVjdXRhYmxlICIKCmRpZmYgLS1n aXQgYS9nZGItY29yZS1vcGVuLXZkc28td2FybmluZy5wYXRjaCBiL2dkYi1jb3JlLW9wZW4tdmRz by13YXJuaW5nLnBhdGNoCmluZGV4IGM2NGI0YmMuLmZkZDA2ZmIgMTAwNjQ0Ci0tLSBhL2dkYi1j b3JlLW9wZW4tdmRzby13YXJuaW5nLnBhdGNoCisrKyBiL2dkYi1jb3JlLW9wZW4tdmRzby13YXJu aW5nLnBhdGNoCkBAIC0xOSw3ICsxOSw3IEBAIERhdGU6ICAgV2VkIFNlcCAyNSAxMTo1Mjo1MCAy MDEzICswMDAwCiBkaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1i b2wuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9zb2xpYi1zeW1ib2wuZXhwCiAtLS0gYS9n ZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3NvbGliLXN5bWJvbC5leHAKICsrKyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmJhc2Uvc29saWItc3ltYm9sLmV4cAotQEAgLTI5LDYgKzI5LDcgQEAgc2V0IHRlc3Rm aWxlICJzb2xpYi1zeW1ib2wtbWFpbiIKK0BAIC0yNyw2ICsyNyw3IEBAIHNldCB0ZXN0ZmlsZSAi c29saWItc3ltYm9sLW1haW4iCiAgc2V0IHNyY2ZpbGUgJHtzcmNkaXJ9LyR7c3ViZGlyfS8ke3Rl c3RmaWxlfS5jCiAgc2V0IGJpbmZpbGUgW3N0YW5kYXJkX291dHB1dF9maWxlICR7dGVzdGZpbGV9 XQogIHNldCBiaW5fZmxhZ3MgW2xpc3QgZGVidWcgc2hsaWI9JHtiaW5maWxlX2xpYn1dCkBAIC0y NywxNiArMjcsMTQgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWIt c3ltYm9sLmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc28KICAKICBpZiB7IFtnZGJfY29t cGlsZV9zaGxpYiAke3NyY2ZpbGVfbGlifSAke2JpbmZpbGVfbGlifSAkbGliX2ZsYWdzXSAhPSAi IgogICAgICAgfHwgW2dkYl9jb21waWxlICR7c3JjZmlsZX0gJHtiaW5maWxlfSBleGVjdXRhYmxl ICRiaW5fZmxhZ3NdICE9ICIiIH0gewotQEAgLTY2LDggKzY3LDI2IEBAIGdkYl90ZXN0ICJiciBm b28yIiBcCitAQCAtNjEsNCArNjIsMjggQEAgZ2RiX3Rlc3QgImJyIGZvbzIiIFwKICAJICJCcmVh a3BvaW50Lio6IGZvbzIuIC4yIGxvY2F0aW9ucy4uKiIgXAogIAkgImZvbzIgaW4gbWRsaWIiCiAg Ci0tZ2RiX2V4aXQKICsjIFRlc3QgR0RCIHdhcm5zIGZvciBzaGFyZWQgbGlicmFyaXMgd2hpY2gg aGF2ZSBub3QgYmVlbiBmb3VuZC4KLSAKLS1yZXR1cm4gMAorKwogK2dkYl90ZXN0ICJpbmZvIHNo YXJlZGxpYnJhcnkiICIvJHtsaWJuYW1lfS4qIgotIAorKwogK2NsZWFuX3Jlc3RhcnQgJHtleGVj dXRhYmxlfQogK2dkYl9icmVha3BvaW50ICJtYWluIgogK2dkYl9ydW5fY21kCkBAIC00OSwxMCAr NDcsMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc29saWItc3ltYm9s LmV4cCBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2Uvc28KICsJcGFzcyAkdGVzdAogKyAgICB9CiAr fQotIAorKwogK2NsZWFuX3Jlc3RhcnQgJHtleGVjdXRhYmxlfQogK2dkYl90ZXN0X25vX291dHB1 dCAic2V0IHNvbGliLWFic29sdXRlLXByZWZpeCAvZG9FU25vdEVYSVNUIgogK2dkYl9icmVha3Bv aW50ICJtYWluIgogK2dkYl9ydW5fY21kCiArZ2RiX3Rlc3QgIiIgIndhcm5pbmc6IENvdWxkIG5v dCBsb2FkIHNoYXJlZCBsaWJyYXJ5IHN5bWJvbHMgZm9yIFxbMC05XF0rIGxpYnJhcmllcywuKlxy XG5CcmVha3BvaW50IFxbMC05XF0rLCBtYWluIC4qIiBcCiArCSAid2FybmluZyBmb3IgbWlzc2lu ZyBsaWJyYXJpZXMiCisrCisgZ2RiX2V4aXQKCmRpZmYgLS1naXQgYS9nZGItZmVkb3JhLWxpYm5j dXJzZXN3LnBhdGNoIGIvZ2RiLWZlZG9yYS1saWJuY3Vyc2Vzdy5wYXRjaAppbmRleCAzNTAxMzhj Li4xYmI2NDBkIDEwMDY0NAotLS0gYS9nZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisrKyBi L2dkYi1mZWRvcmEtbGlibmN1cnNlc3cucGF0Y2gKQEAgLTEyLDcgKzEyLDI2OSBAQCBodHRwczov L2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTEyNzA1MzQKIGRpZmYgLS1naXQg YS9nZGIvY29uZmlndXJlIGIvZ2RiL2NvbmZpZ3VyZQogLS0tIGEvZ2RiL2NvbmZpZ3VyZQogKysr IGIvZ2RiL2NvbmZpZ3VyZQotQEAgLTIwOTE2LDYgKzIwOTE2LDcgQEAgaWYgdGVzdCB4IiRwcmVm ZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK0BAIC03ODAsOSArNzgwLDYgQEAgRU5BQkxFX0JGRF82 NF9CSVRfVFJVRQorIHN1YmRpcnMKKyBSUE1fTElCUworIFJQTV9DRkxBR1MKKy1QS0dfQ09ORklH X0xJQkRJUgorLVBLR19DT05GSUdfUEFUSAorLVBLR19DT05GSUcKKyBHREJfREFUQURJUgorIERF QlVHRElSCisgTUFLRUlORk9fRVhUUkFfRkxBR1MKK0BAIC05OTAsMTIgKzk4NywxMiBAQCBQS0df Q09ORklHX1BBVEgKKyBQS0dfQ09ORklHX0xJQkRJUgorIE1BS0VJTkZPCisgTUFLRUlORk9GTEFH UworK1JQTV9DRkxBR1MKKytSUE1fTElCUworIEFNRF9EQkdBUElfQ0ZMQUdTCisgQU1EX0RCR0FQ SV9MSUJTCisgREVCVUdJTkZPRF9DRkxBR1MKKyBERUJVR0lORk9EX0xJQlMKKy1SUE1fQ0ZMQUdT CistUlBNX0xJQlMKKyBZQUNDCisgWUZMQUdTCisgWlNURF9DRkxBR1MKK0BAIC0xNjg0LDExICsx NjgxLDExIEBAIE9wdGlvbmFsIFBhY2thZ2VzOgorICAgICAgICAgICAgICAgICAgICAgICAgICAg Wy0td2l0aC1hdXRvLWxvYWQtZGlyXQorICAgLS13aXRob3V0LWF1dG8tbG9hZC1zYWZlLXBhdGgK KyAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCBhdXRvLWxvYWRlZCBm aWxlcyBsb2NhdGlvbnMKKysgIC0td2l0aC1ycG0gICAgICAgICAgICAgIHF1ZXJ5IHJwbSBkYXRh YmFzZSBmb3IgbWlzc2luZyBkZWJ1Z2luZm9zICh5ZXMvbm8sCisrICAgICAgICAgICAgICAgICAg ICAgICAgICBkZWYuIGF1dG89bGlicnBtLnNvKQorICAgLS13aXRoLWFtZC1kYmdhcGkgICAgICAg c3VwcG9ydCBmb3IgdGhlIGFtZC1kYmdhcGkgdGFyZ2V0ICh5ZXMgLyBubyAvIGF1dG8pCisgICAt LXdpdGgtZGVidWdpbmZvZCAgICAgICBFbmFibGUgZGVidWdpbmZvIGxvb2t1cHMgd2l0aCBkZWJ1 Z2luZm9kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0by95ZXMvbm8pCistICAtLXdp dGgtcnBtICAgICAgICAgICAgICBxdWVyeSBycG0gZGF0YWJhc2UgZm9yIG1pc3NpbmcgZGVidWdp bmZvcyAoeWVzL25vLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmLiBhdXRvPWxpYnJw bS5zbykKKyAgIC0td2l0aC1saWJ1bndpbmQtaWE2NCAgIHVzZSBsaWJ1bndpbmQgZnJhbWUgdW53 aW5kaW5nIGZvciBpYTY0IHRhcmdldHMKKyAgIC0td2l0aC1jdXJzZXMgICAgICAgICAgIHVzZSB0 aGUgY3Vyc2VzIGxpYnJhcnkgaW5zdGVhZCBvZiB0aGUgdGVybWNhcAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgbGlicmFyeQorQEAgLTE3NjEsNiArMTc1OCw4IEBAIFNvbWUgaW5mbHVlbnRp YWwgZW52aXJvbm1lbnQgdmFyaWFibGVzOgorICAgTUFLRUlORk8gICAgUGFyZW50IGNvbmZpZ3Vy ZSBkZXRlY3RzIGlmIGl0IGlzIG9mIHN1ZmZpY2llbnQgdmVyc2lvbi4KKyAgIE1BS0VJTkZPRkxB R1MKKyAgICAgICAgICAgICAgIFBhcmFtZXRlcnMgZm9yIE1BS0VJTkZPLgorKyAgUlBNX0NGTEFH UyAgQyBjb21waWxlciBmbGFncyBmb3IgUlBNLCBvdmVycmlkaW5nIHBrZy1jb25maWcKKysgIFJQ TV9MSUJTICAgIGxpbmtlciBmbGFncyBmb3IgUlBNLCBvdmVycmlkaW5nIHBrZy1jb25maWcKKyAg IEFNRF9EQkdBUElfQ0ZMQUdTCisgICAgICAgICAgICAgICBDIGNvbXBpbGVyIGZsYWdzIGZvciBB TURfREJHQVBJLCBvdmVycmlkaW5nIHBrZy1jb25maWcKKyAgIEFNRF9EQkdBUElfTElCUworQEAg LTE3NjksOCArMTc2OCw2IEBAIFNvbWUgaW5mbHVlbnRpYWwgZW52aXJvbm1lbnQgdmFyaWFibGVz OgorICAgICAgICAgICAgICAgQyBjb21waWxlciBmbGFncyBmb3IgREVCVUdJTkZPRCwgb3ZlcnJp ZGluZyBwa2ctY29uZmlnCisgICBERUJVR0lORk9EX0xJQlMKKyAgICAgICAgICAgICAgIGxpbmtl ciBmbGFncyBmb3IgREVCVUdJTkZPRCwgb3ZlcnJpZGluZyBwa2ctY29uZmlnCistICBSUE1fQ0ZM QUdTICBDIGNvbXBpbGVyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZworLSAg UlBNX0xJQlMgICAgbGlua2VyIGZsYWdzIGZvciBSUE0sIG92ZXJyaWRpbmcgcGtnLWNvbmZpZwor ICAgWUFDQyAgICAgICAgVGhlIGBZZXQgQW5vdGhlciBDb21waWxlciBDb21waWxlcicgaW1wbGVt ZW50YXRpb24gdG8gdXNlLgorICAgICAgICAgICAgICAgRGVmYXVsdHMgdG8gdGhlIGZpcnN0IHBy b2dyYW0gZm91bmQgb3V0IG9mOiBgYmlzb24gLXknLCBgYnlhY2MnLAorICAgICAgICAgICAgICAg YHlhY2MnLgorQEAgLTExNDk1LDcgKzExNDkyLDcgQEAgZWxzZQorICAgbHRfZGx1bmtub3duPTA7 IGx0X2Rsbm9fdXNjb3JlPTE7IGx0X2RsbmVlZF91c2NvcmU9MgorICAgbHRfc3RhdHVzPSRsdF9k bHVua25vd24KKyAgIGNhdCA+IGNvbmZ0ZXN0LiRhY19leHQgPDxfTFRfRU9GCistI2xpbmUgMTE0 ODYgImNvbmZpZ3VyZSIKKysjbGluZSAxMTQ5NSAiY29uZmlndXJlIgorICNpbmNsdWRlICJjb25m ZGVmcy5oIgorIAorICNpZiBIQVZFX0RMRkNOX0gKK0BAIC0xMTYwMSw3ICsxMTU5OCw3IEBAIGVs c2UKKyAgIGx0X2RsdW5rbm93bj0wOyBsdF9kbG5vX3VzY29yZT0xOyBsdF9kbG5lZWRfdXNjb3Jl PTIKKyAgIGx0X3N0YXR1cz0kbHRfZGx1bmtub3duCisgICBjYXQgPiBjb25mdGVzdC4kYWNfZXh0 IDw8X0xUX0VPRgorLSNsaW5lIDExNTkyICJjb25maWd1cmUiCisrI2xpbmUgMTE2MDEgImNvbmZp Z3VyZSIKKyAjaW5jbHVkZSAiY29uZmRlZnMuaCIKKyAKKyAjaWYgSEFWRV9ETEZDTl9ICitAQCAt MTgxMDIsOCArMTgwOTksOCBAQCAkYXNfZWNob19uICJjaGVja2luZyBzcGVjaWZpYyBsaWJycG0g dmVyc2lvbi4uLiAiID4mNjsgfQorICAgaWYgdGVzdCAiJGNyb3NzX2NvbXBpbGluZyIgPSB5ZXM7 IHRoZW4gOgorICAgeyB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGVy cm9yOiBpbiBcYCRhY19wd2QnOiIgPiY1CisgJGFzX2VjaG8gIiRhc19tZTogZXJyb3I6IGluIFxg JGFjX3B3ZCc6IiA+JjI7fQorLWFzX2ZuX2Vycm9yICJjYW5ub3QgcnVuIHRlc3QgcHJvZ3JhbSB3 aGlsZSBjcm9zcyBjb21waWxpbmcKKy1TZWUgXGBjb25maWcubG9nJyBmb3IgbW9yZSBkZXRhaWxz LiIgIiRMSU5FTk8iIDU7IH0KKythc19mbl9lcnJvciAkPyAiY2Fubm90IHJ1biB0ZXN0IHByb2dy YW0gd2hpbGUgY3Jvc3MgY29tcGlsaW5nCisrU2VlIFxgY29uZmlnLmxvZycgZm9yIG1vcmUgZGV0 YWlscyIgIiRMSU5FTk8iIDU7IH0KKyBlbHNlCisgICBjYXQgY29uZmRlZnMuaCAtIDw8X0FDRU9G ID5jb25mdGVzdC4kYWNfZXh0CisgLyogZW5kIGNvbmZkZWZzLmguICAqLworQEAgLTE4Mjc1LDEz MiArMTgyNzIsMTIgQEAgJGFzX2VjaG8gIiNkZWZpbmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVm cy5oCisgJGFzX2VjaG8gIm5vIiA+JjY7IH0KKyAgICAgTElCUz0iJHNhdmVfTElCUyIKKyAgICAg aWYgJERMT1BFTl9SRVFVSVJFOyB0aGVuCistICAgICAgYXNfZm5fZXJyb3IgIlNwZWNpZmljIG5h bWUgJExJQlJQTSB3YXMgcmVxdWVzdGVkIGJ1dCBpdCBjb3VsZCBub3QgYmUgb3BlbmVkLiIgIiRM SU5FTk8iIDUKKysgICAgICBhc19mbl9lcnJvciAkPyAiU3BlY2lmaWMgbmFtZSAkTElCUlBNIHdh cyByZXF1ZXN0ZWQgYnV0IGl0IGNvdWxkIG5vdCBiZSBvcGVuZWQuIiAiJExJTkVOTyIgNQorICAg ICBmaQorIAorLQorLQorLQorLQorLQorLQorLWlmIHRlc3QgIngkYWNfY3ZfZW52X1BLR19DT05G SUdfc2V0IiAhPSAieHNldCI7IHRoZW4KKy0JaWYgdGVzdCAtbiAiJGFjX3Rvb2xfcHJlZml4Ijsg dGhlbgorLSAgIyBFeHRyYWN0IHRoZSBmaXJzdCB3b3JkIG9mICIke2FjX3Rvb2xfcHJlZml4fXBr Zy1jb25maWciLCBzbyBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBk dW1teSAke2FjX3Rvb2xfcHJlZml4fXBrZy1jb25maWc7IGFjX3dvcmQ9JDIKKy17ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IGNoZWNraW5nIGZvciAkYWNfd29yZCIgPiY1 CistJGFzX2VjaG9fbiAiY2hlY2tpbmcgZm9yICRhY193b3JkLi4uICIgPiY2OyB9CistaWYgdGVz dCAiJHthY19jdl9wYXRoX1BLR19DT05GSUcrc2V0fSIgPSBzZXQ7IHRoZW4gOgorLSAgJGFzX2Vj aG9fbiAiKGNhY2hlZCkgIiA+JjYKKy1lbHNlCistICBjYXNlICRQS0dfQ09ORklHIGluCistICBb XFwvXSogfCA/OltcXC9dKikKKy0gIGFjX2N2X3BhdGhfUEtHX0NPTkZJRz0iJFBLR19DT05GSUci ICMgTGV0IHRoZSB1c2VyIG92ZXJyaWRlIHRoZSB0ZXN0IHdpdGggYSBwYXRoLgorLSAgOzsKKy0g ICopCistICBhc19zYXZlX0lGUz0kSUZTOyBJRlM9JFBBVEhfU0VQQVJBVE9SCistZm9yIGFzX2Rp ciBpbiAkUEFUSAorLWRvCistICBJRlM9JGFzX3NhdmVfSUZTCistICB0ZXN0IC16ICIkYXNfZGly IiAmJiBhc19kaXI9LgorLSAgICBmb3IgYWNfZXhlY19leHQgaW4gJycgJGFjX2V4ZWN1dGFibGVf ZXh0ZW5zaW9uczsgZG8KKy0gIGlmIHsgdGVzdCAtZiAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVj X2V4dCIgJiYgJGFzX3Rlc3RfeCAiJGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCI7IH07IHRo ZW4KKy0gICAgYWNfY3ZfcGF0aF9QS0dfQ09ORklHPSIkYXNfZGlyLyRhY193b3JkJGFjX2V4ZWNf ZXh0IgorLSAgICAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiBmb3VuZCAk YXNfZGlyLyRhY193b3JkJGFjX2V4ZWNfZXh0IiA+JjUKKy0gICAgYnJlYWsgMgorLSAgZmkKKy1k b25lCistICBkb25lCistSUZTPSRhc19zYXZlX0lGUworLQorLSAgOzsKKy1lc2FjCistZmkKKy1Q S0dfQ09ORklHPSRhY19jdl9wYXRoX1BLR19DT05GSUcKKy1pZiB0ZXN0IC1uICIkUEtHX0NPTkZJ RyI7IHRoZW4KKy0gIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogcmVz dWx0OiAkUEtHX0NPTkZJRyIgPiY1CistJGFzX2VjaG8gIiRQS0dfQ09ORklHIiA+JjY7IH0KKy1l bHNlCistICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDog bm8iID4mNQorLSRhc19lY2hvICJubyIgPiY2OyB9CistZmkKKy0KKy0KKy1maQorLWlmIHRlc3Qg LXogIiRhY19jdl9wYXRoX1BLR19DT05GSUciOyB0aGVuCistICBhY19wdF9QS0dfQ09ORklHPSRQ S0dfQ09ORklHCistICAjIEV4dHJhY3QgdGhlIGZpcnN0IHdvcmQgb2YgInBrZy1jb25maWciLCBz byBpdCBjYW4gYmUgYSBwcm9ncmFtIG5hbWUgd2l0aCBhcmdzLgorLXNldCBkdW1teSBwa2ctY29u ZmlnOyBhY193b3JkPSQyCisteyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99 OiBjaGVja2luZyBmb3IgJGFjX3dvcmQiID4mNQorLSRhc19lY2hvX24gImNoZWNraW5nIGZvciAk YWNfd29yZC4uLiAiID4mNjsgfQorLWlmIHRlc3QgIiR7YWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09O RklHK3NldH0iID0gc2V0OyB0aGVuIDoKKy0gICRhc19lY2hvX24gIihjYWNoZWQpICIgPiY2Cist ZWxzZQorLSAgY2FzZSAkYWNfcHRfUEtHX0NPTkZJRyBpbgorLSAgW1xcL10qIHwgPzpbXFwvXSop CistICBhY19jdl9wYXRoX2FjX3B0X1BLR19DT05GSUc9IiRhY19wdF9QS0dfQ09ORklHIiAjIExl dCB0aGUgdXNlciBvdmVycmlkZSB0aGUgdGVzdCB3aXRoIGEgcGF0aC4KKy0gIDs7CistICAqKQor LSAgYXNfc2F2ZV9JRlM9JElGUzsgSUZTPSRQQVRIX1NFUEFSQVRPUgorLWZvciBhc19kaXIgaW4g JFBBVEgKKy1kbworLSAgSUZTPSRhc19zYXZlX0lGUworLSAgdGVzdCAteiAiJGFzX2RpciIgJiYg YXNfZGlyPS4KKy0gICAgZm9yIGFjX2V4ZWNfZXh0IGluICcnICRhY19leGVjdXRhYmxlX2V4dGVu c2lvbnM7IGRvCistICBpZiB7IHRlc3QgLWYgIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQi ICYmICRhc190ZXN0X3ggIiRhc19kaXIvJGFjX3dvcmQkYWNfZXhlY19leHQiOyB9OyB0aGVuCist ICAgIGFjX2N2X3BhdGhfYWNfcHRfUEtHX0NPTkZJRz0iJGFzX2Rpci8kYWNfd29yZCRhY19leGVj X2V4dCIKKy0gICAgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogZm91bmQg JGFzX2Rpci8kYWNfd29yZCRhY19leGVjX2V4dCIgPiY1CistICAgIGJyZWFrIDIKKy0gIGZpCist ZG9uZQorLSAgZG9uZQorLUlGUz0kYXNfc2F2ZV9JRlMKKy0KKy0gIDs7CistZXNhYworLWZpCist YWNfcHRfUEtHX0NPTkZJRz0kYWNfY3ZfcGF0aF9hY19wdF9QS0dfQ09ORklHCistaWYgdGVzdCAt biAiJGFjX3B0X1BLR19DT05GSUciOyB0aGVuCistICB7ICRhc19lY2hvICIkYXNfbWU6JHthc19s aW5lbm8tJExJTkVOT306IHJlc3VsdDogJGFjX3B0X1BLR19DT05GSUciID4mNQorLSRhc19lY2hv ICIkYWNfcHRfUEtHX0NPTkZJRyIgPiY2OyB9CistZWxzZQorLSAgeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKy0kYXNfZWNobyAibm8iID4m NjsgfQorLWZpCistCistICBpZiB0ZXN0ICJ4JGFjX3B0X1BLR19DT05GSUciID0geDsgdGhlbgor LSAgICBQS0dfQ09ORklHPSIiCistICBlbHNlCistICAgIGNhc2UgJGNyb3NzX2NvbXBpbGluZzok YWNfdG9vbF93YXJuZWQgaW4KKy15ZXM6KQorLXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVu by0kTElORU5PfTogV0FSTklORzogdXNpbmcgY3Jvc3MgdG9vbHMgbm90IHByZWZpeGVkIHdpdGgg aG9zdCB0cmlwbGV0IiA+JjUKKy0kYXNfZWNobyAiJGFzX21lOiBXQVJOSU5HOiB1c2luZyBjcm9z cyB0b29scyBub3QgcHJlZml4ZWQgd2l0aCBob3N0IHRyaXBsZXQiID4mMjt9CistYWNfdG9vbF93 YXJuZWQ9eWVzIDs7CistZXNhYworLSAgICBQS0dfQ09ORklHPSRhY19wdF9QS0dfQ09ORklHCist ICBmaQorLWVsc2UKKy0gIFBLR19DT05GSUc9IiRhY19jdl9wYXRoX1BLR19DT05GSUciCistZmkK Ky0KKy1maQorLWlmIHRlc3QgLW4gIiRQS0dfQ09ORklHIjsgdGhlbgorLQlfcGtnX21pbl92ZXJz aW9uPTAuOS4wCistCXsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hl Y2tpbmcgcGtnLWNvbmZpZyBpcyBhdCBsZWFzdCB2ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uIiA+ JjUKKy0kYXNfZWNob19uICJjaGVja2luZyBwa2ctY29uZmlnIGlzIGF0IGxlYXN0IHZlcnNpb24g JF9wa2dfbWluX3ZlcnNpb24uLi4gIiA+JjY7IH0KKy0JaWYgJFBLR19DT05GSUcgLS1hdGxlYXN0 LXBrZ2NvbmZpZy12ZXJzaW9uICRfcGtnX21pbl92ZXJzaW9uOyB0aGVuCistCQl7ICRhc19lY2hv ICIkYXNfbWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogeWVzIiA+JjUKKy0kYXNfZWNo byAieWVzIiA+JjY7IH0KKy0JZWxzZQorLQkJeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGluZW5v LSRMSU5FTk99OiByZXN1bHQ6IG5vIiA+JjUKKy0kYXNfZWNobyAibm8iID4mNjsgfQorLQkJUEtH X0NPTkZJRz0iIgorLQlmaQorLWZpCistCisgcGtnX2ZhaWxlZD1ubworLXsgJGFzX2VjaG8gIiRh c19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIFJQTSIgPiY1CistJGFzX2Vj aG9fbiAiY2hlY2tpbmcgZm9yIFJQTS4uLiAiID4mNjsgfQorK3sgJGFzX2VjaG8gIiRhc19tZTok e2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgZm9yIHJwbSIgPiY1CisrJGFzX2VjaG9fbiAi Y2hlY2tpbmcgZm9yIHJwbS4uLiAiID4mNjsgfQorIAorIGlmIHRlc3QgLW4gIiRSUE1fQ0ZMQUdT IjsgdGhlbgorICAgICBwa2dfY3ZfUlBNX0NGTEFHUz0iJFJQTV9DRkxBR1MiCitAQCAtMTg0Mzcs NiArMTgzMTQsMzAgQEAgZmkKKyAgICAgcGtnX2ZhaWxlZD11bnRyaWVkCisgZmkKKyAKKytpZiB0 ZXN0ICRwa2dfZmFpbGVkID0gbm87IHRoZW4KKysgIHBrZ19zYXZlX0xERkxBR1M9IiRMREZMQUdT IgorKyAgTERGTEFHUz0iJExERkxBR1MgJHBrZ19jdl9SUE1fTElCUyIKKysgIGNhdCBjb25mZGVm cy5oIC0gPDxfQUNFT0YgPmNvbmZ0ZXN0LiRhY19leHQKKysvKiBlbmQgY29uZmRlZnMuaC4gICov CisrCisraW50CisrbWFpbiAoKQorK3sKKysKKysgIDsKKysgIHJldHVybiAwOworK30KKytfQUNF T0YKKytpZiBhY19mbl9jX3RyeV9saW5rICIkTElORU5PIjsgdGhlbiA6CisrCisrZWxzZQorKyAg cGtnX2ZhaWxlZD15ZXMKKytmaQorK3JtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRh Y19vYmpleHQgXAorKyAgICBjb25mdGVzdCRhY19leGVleHQgY29uZnRlc3QuJGFjX2V4dAorKyAg TERGTEFHUz0kcGtnX3NhdmVfTERGTEFHUworK2ZpCisrCisgCisgCisgaWYgdGVzdCAkcGtnX2Zh aWxlZCA9IHllczsgdGhlbgorQEAgLTE4NTMxLDcgKzE4NDMyLDcgQEAgJGFzX2VjaG8gIiNkZWZp bmUgSEFWRV9MSUJSUE0gMSIgPj5jb25mZGVmcy5oCisgICAgICAgTElCUz0iJExJQlMgJFJQTV9M SUJTIgorICAgICBlbHNlCisgICAgICAgaWYgJFJQTV9SRVFVSVJFOyB0aGVuCistCWFzX2ZuX2Vy cm9yICIkUlBNX1BLR19FUlJPUlMiICIkTElORU5PIiA1CisrCWFzX2ZuX2Vycm9yICQ/ICIkUlBN X1BLR19FUlJPUlMiICIkTElORU5PIiA1CisgICAgICAgZWxzZQorIAl7ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IFdBUk5JTkc6ICRSUE1fUEtHX0VSUk9SUyIgPiY1Cisg JGFzX2VjaG8gIiRhc19tZTogV0FSTklORzogJFJQTV9QS0dfRVJST1JTIiA+JjI7fQorQEAgLTIx MTY0LDYgKzIxMDY1LDcgQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4K ICAgICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQg aW4gL3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBv biBhbHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCkBA IC0yMCw3ICsyODIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1 cmUKICAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcg Zm9yIGxpYnJhcnkgY29udGFpbmluZyB3YWRkc3RyIiA+JjUKICAkYXNfZWNob19uICJjaGVja2lu ZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHdhZGRzdHIuLi4gIiA+JjY7IH0KICBpZiAke2FjX2N2 X3NlYXJjaF93YWRkc3RyKzp9IGZhbHNlOyB0aGVuIDoKLUBAIC0yMDk0MCw3ICsyMDk0MSw3IEBA IHJldHVybiB3YWRkc3RyICgpOworQEAgLTIxMTg4LDcgKzIxMDkwLDcgQEAgcmV0dXJuIHdhZGRz dHIgKCk7CiAgICByZXR1cm4gMDsKICB9CiAgX0FDRU9GCkBAIC0yOSw3ICsyOTEsNyBAQCBkaWZm IC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZSBiL2dkYi9jb25maWd1cmUKICAgIGlmIHRlc3QgLXogIiRh Y19saWIiOyB0aGVuCiAgICAgIGFjX3Jlcz0ibm9uZSByZXF1aXJlZCIKICAgIGVsc2UKLUBAIC0y MTAxNCw2ICsyMTAxNSw3IEBAIGNhc2UgJGhvc3Rfb3MgaW4KK0BAIC0yMTI2MCw2ICsyMTE2Miw3 IEBAIGNhc2UgJGhvc3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmll cyBjaGVja2VkIGJ5IFJlYWRsaW5lLgpAQCAtMzcsNyArMjk5LDcgQEAgZGlmZiAtLWdpdCBhL2dk Yi9jb25maWd1cmUgYi9nZGIvY29uZmlndXJlCiAgeyAkYXNfZWNobyAiJGFzX21lOiR7YXNfbGlu ZW5vLSRMSU5FTk99OiBjaGVja2luZyBmb3IgbGlicmFyeSBjb250YWluaW5nIHRnZXRlbnQiID4m NQogICRhc19lY2hvX24gImNoZWNraW5nIGZvciBsaWJyYXJ5IGNvbnRhaW5pbmcgdGdldGVudC4u LiAiID4mNjsgfQogIGlmICR7YWNfY3Zfc2VhcmNoX3RnZXRlbnQrOn0gZmFsc2U7IHRoZW4gOgot QEAgLTIxMDM4LDcgKzIxMDQwLDcgQEAgcmV0dXJuIHRnZXRlbnQgKCk7CitAQCAtMjEyODQsNyAr MjExODcsNyBAQCByZXR1cm4gdGdldGVudCAoKTsKICAgIHJldHVybiAwOwogIH0KICBfQUNFT0YK QEAgLTQ5LDE3ICszMTEsMTcgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUgYi9nZGIvY29u ZmlndXJlCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMK IC0tLSBhL2dkYi9jb25maWd1cmUuYWMKICsrKyBiL2dkYi9jb25maWd1cmUuYWMKLUBAIC03MDUs NyArNzA1LDggQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KK0BAIC03 NDksNyArNzQ5LDggQEAgaWYgdGVzdCB4IiRwcmVmZXJfY3Vyc2VzIiA9IHh5ZXM7IHRoZW4KICAg ICMgc2VhcmNoIC91c3IvbG9jYWwvaW5jbHVkZSwgaWYgbmN1cnNlcyBpcyBpbnN0YWxsZWQgaW4g L3Vzci9sb2NhbC4gIEEKICAgICMgZGVmYXVsdCBpbnN0YWxsYXRpb24gb2YgbmN1cnNlcyBvbiBh bHBoYSotZGVjLW9zZiogd2lsbCBsZWFkIHRvIHN1Y2gKICAgICMgYSBzaXR1YXRpb24uCi0tICBB Q19TRUFSQ0hfTElCUyh3YWRkc3RyLCBbbmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1cnNlc10p CistICBBQ19TRUFSQ0hfTElCUyh3YWRkc3RyLCBbbmN1cnNlc3cgbmN1cnNlcyBjdXJzZXNYIGN1 cnNlc10sCiArICAjIEZlZG9yYTogRm9yY2UgbGlibmN1cnNlc3cgb3ZlciBsaWJuY3Vyc2VzIHRv IG1hdGNoIHRoZSBpbmNsdWRlcy4KLSsgIEFDX1NFQVJDSF9MSUJTKHdhZGRzdHIsIFtuY3Vyc2Vz d10pCi0gCi0gICBpZiB0ZXN0ICIkYWNfY3Zfc2VhcmNoX3dhZGRzdHIiICE9IG5vOyB0aGVuCi0g ICAgIGN1cnNlc19mb3VuZD15ZXMKLUBAIC03NDcsNyArNzQ4LDggQEAgY2FzZSAkaG9zdF9vcyBp bgorKyAgQUNfU0VBUkNIX0xJQlMod2FkZHN0ciwgW25jdXJzZXN3XSwKKyAgICAgICAgICAgICAg ICAgIFtjdXJzZXNfZm91bmQ9eWVzCisgICAgICAgICAgICAgICAgICAgQUNfREVGSU5FKFtIQVZF X0xJQkNVUlNFU10sIFsxXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW0RlZmluZSB0 byAxIGlmIGN1cnNlcyBpcyBlbmFibGVkLl0pCitAQCAtNzg5LDcgKzc5MCw4IEBAIGNhc2UgJGhv c3Rfb3MgaW4KICBlc2FjCiAgCiAgIyBUaGVzZSBhcmUgdGhlIGxpYnJhcmllcyBjaGVja2VkIGJ5 IFJlYWRsaW5lLgoKZGlmZiAtLWdpdCBhL2dkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaCBiL2dk Yi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAppbmRleCA0YzdlNThmLi5iYjZmYjZhIDEwMDY0NAot LS0gYS9nZGItbGludXhfcGVyZi1idW5kbGUucGF0Y2gKKysrIGIvZ2RiLWxpbnV4X3BlcmYtYnVu ZGxlLnBhdGNoCkBAIC05LDkgKzksOSBAQCBTdWJqZWN0OiBnZGItbGludXhfcGVyZi1idW5kbGUu cGF0Y2gKIGRpZmYgLS1naXQgYS9nZGIvZ2RiLmMgYi9nZGIvZ2RiLmMKIC0tLSBhL2dkYi9nZGIu YwogKysrIGIvZ2RiL2dkYi5jCi1AQCAtMjAsMTEgKzIwLDE5IEBACi0gI2luY2x1ZGUgIm1haW4u aCIKK0BAIC0yMSw2ICsyMSwxMCBAQAogICNpbmNsdWRlICJpbnRlcnBzLmgiCisgI2luY2x1ZGUg InJ1bi1vbi1tYWluLXRocmVhZC5oIgogIAogKyNpZmRlZiBQRVJGX0FUVFJfU0laRV9WRVI1X0JV TkRMRQogK2V4dGVybiAiQyIgdm9pZCBfX2xpYmlwdF9pbml0KHZvaWQpOwpAQCAtMjAsNiArMjAs OCBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYi5jIGIvZ2RiL2dkYi5jCiAgaW50CiAgbWFpbiAoaW50 IGFyZ2MsIGNoYXIgKiphcmd2KQogIHsKK0BAIC0zMiw2ICszNiwxMCBAQCBtYWluIChpbnQgYXJn YywgY2hhciAqKmFyZ3YpCisgCiAgICBzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzIGFyZ3M7CiAg CiArI2lmZGVmIFBFUkZfQVRUUl9TSVpFX1ZFUjVfQlVORExFCkBAIC0zMiw3ICszNCw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvZ2RiLmMgYi9nZGIvZ2RiLmMKIGRpZmYgLS1naXQgYS9nZGIvbmF0L2xp bnV4LWJ0cmFjZS5oIGIvZ2RiL25hdC9saW51eC1idHJhY2UuaAogLS0tIGEvZ2RiL25hdC9saW51 eC1idHJhY2UuaAogKysrIGIvZ2RiL25hdC9saW51eC1idHJhY2UuaAotQEAgLTI3LDYgKzI3LDE3 NyBAQAorQEAgLTI4LDYgKzI4LDE3NyBAQAogICMgIGluY2x1ZGUgPGxpbnV4L3BlcmZfZXZlbnQu aD4KICAjZW5kaWYKICAKQEAgLTIxMyw3ICsyMTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL25hdC9s aW51eC1idHJhY2UuaCBiL2dkYi9uYXQvbGludXgtYnRyYWNlLmgKIGRpZmYgLS1naXQgYS9nZGJz dXBwb3J0L2NvbW1vbi5tNCBiL2dkYnN1cHBvcnQvY29tbW9uLm00CiAtLS0gYS9nZGJzdXBwb3J0 L2NvbW1vbi5tNAogKysrIGIvZ2Ric3VwcG9ydC9jb21tb24ubTQKLUBAIC0xNjYsNyArMTY2LDcg QEAgQUNfREVGVU4oW0dEQl9BQ19DT01NT05dLCBbCitAQCAtMTY4LDcgKzE2OCw3IEBAIEFDX0RF RlVOKFtHREJfQUNfQ09NTU9OXSwgWwogICAgICBBQ19QUkVQUk9DX0lGRUxTRShbQUNfTEFOR19T T1VSQ0UoW1sKICAgICNpbmNsdWRlIDxsaW51eC9wZXJmX2V2ZW50Lmg+CiAgICAjaWZuZGVmIFBF UkZfQVRUUl9TSVpFX1ZFUjUKCmRpZmYgLS1naXQgYS9nZGItcmhiei0yMjMyMDg2LWNwcC1pZnkt bWFwcGVkLXN5bXRhYi5wYXRjaCBiL2dkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBwZWQtc3lt dGFiLnBhdGNoCmluZGV4IDRhY2NjYTYuLjFkNmUxZmIgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTIy MzIwODYtY3BwLWlmeS1tYXBwZWQtc3ltdGFiLnBhdGNoCisrKyBiL2dkYi1yaGJ6LTIyMzIwODYt Y3BwLWlmeS1tYXBwZWQtc3ltdGFiLnBhdGNoCkBAIC0yMDYsNyArMjA2LDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwog IAogIAkgIC8qIEJ1dCBpdCBzaG91bGQgc3RpbGwgYmUgYSBuZXcgZWxlbWVudCBpbiB0aGUgaGFz aCB0YWJsZS4gICovCiAgCSAgZ2RiX2Fzc2VydCAoc2xvdC0+bmFtZSA9PSBudWxscHRyKTsKLUBA IC0zODgsNyArNDM3LDcgQEAgd3JpdGVfaGFzaF90YWJsZSAobWFwcGVkX3N5bXRhYiAqc3ltdGFi LCBkYXRhX2J1ZiAmb3V0cHV0LCBkYXRhX2J1ZiAmY3Bvb2wpCitAQCAtMzg3LDcgKzQzNiw3IEBA IHdyaXRlX2hhc2hfdGFibGUgKG1hcHBlZF9zeW10YWIgKnN5bXRhYiwgZGF0YV9idWYgJm91dHB1 dCwgZGF0YV9idWYgJmNwb29sKQogIAogICAgICAvKiBXZSBhZGQgYWxsIHRoZSBpbmRleCB2ZWN0 b3JzIHRvIHRoZSBjb25zdGFudCBwb29sIGZpcnN0LCB0bwogICAgICAgICBlbnN1cmUgYWxpZ25t ZW50IGlzIG9rLiAgKi8KQEAgLTIxNSw3ICsyMTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJm Mi9pbmRleC13cml0ZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAgICAgICAgewogIAlp ZiAoZW50cnkubmFtZSA9PSBOVUxMKQogIAkgIGNvbnRpbnVlOwotQEAgLTQxNyw3ICs0NjYsNyBA QCB3cml0ZV9oYXNoX3RhYmxlIChtYXBwZWRfc3ltdGFiICpzeW10YWIsIGRhdGFfYnVmICZvdXRw dXQsIGRhdGFfYnVmICZjcG9vbCkKK0BAIC00MTYsNyArNDY1LDcgQEAgd3JpdGVfaGFzaF90YWJs ZSAobWFwcGVkX3N5bXRhYiAqc3ltdGFiLCBkYXRhX2J1ZiAmb3V0cHV0LCBkYXRhX2J1ZiAmY3Bv b2wpCiAgCiAgICAvKiBOb3cgd3JpdGUgb3V0IHRoZSBoYXNoIHRhYmxlLiAgKi8KICAgIHN0ZDo6 dW5vcmRlcmVkX21hcDxjX3N0cl92aWV3LCBvZmZzZXRfdHlwZSwgY19zdHJfdmlld19oYXNoZXI+ IHN0cl90YWJsZTsKQEAgLTIyNCw3ICsyMjQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9p bmRleC13cml0ZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAgICAgIHsKICAgICAgICBv ZmZzZXRfdHlwZSBzdHJfb2ZmLCB2ZWNfb2ZmOwogIAotQEAgLTExNDksNyArMTE5OCw3IEBAIHdy aXRlX2Nvb2tlZF9pbmRleCAoY29va2VkX2luZGV4X3ZlY3RvciAqdGFibGUsCitAQCAtMTE1MSw3 ICsxMjAwLDcgQEAgd3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxlLAogICAg ICAgIGNvbnN0IGF1dG8gaXQgPSBjdV9pbmRleF9odGFiLmZpbmQgKGVudHJ5LT5wZXJfY3UpOwog ICAgICAgIGdkYl9hc3NlcnQgKGl0ICE9IGN1X2luZGV4X2h0YWIuY2VuZCAoKSk7CiAgCkBAIC0y MzMsMTYgKzIzMywxNiBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jIGIv Z2RiL2R3YXJmMi9pbmRleC13cml0ZS5jCiAgCiAgICAgICAgaWYgKGVudHJ5LT5wZXJfY3UtPmxh bmcgKCkgPT0gbGFuZ3VhZ2VfYWRhKQogIAl7Ci1AQCAtMTE2OSw3ICsxMjE4LDcgQEAgd3JpdGVf Y29va2VkX2luZGV4IChjb29rZWRfaW5kZXhfdmVjdG9yICp0YWJsZSwKLSAJCSBnZGIsIGl0IGhh cyB0byB1c2UgdGhlIGVuY29kZWQgbmFtZSwgd2l0aCBhbnkKLSAJCSBzdWZmaXhlcyBzdHJpcHBl ZC4gICovCi0gCSAgICAgIHN0ZDo6c3RyaW5nIGVuY29kZWQgPSBhZGFfZW5jb2RlIChuYW1lLCBm YWxzZSk7Ci0tCSAgICAgIG5hbWUgPSBvYnN0YWNrX3N0cmR1cCAoJnN5bXRhYi0+bV9zdHJpbmdf b2JzdGFjaywKLSsJICAgICAgbmFtZSA9IG9ic3RhY2tfc3RyZHVwIChzeW10YWItPm9ic3RhY2sg KCksCi0gCQkJCSAgICAgZW5jb2RlZC5jX3N0ciAoKSk7Ci0gCSAgICB9CitAQCAtMTE1OSw3ICsx MjA4LDcgQEAgd3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxlLAorIAkgICAg IGdkYiwgaXQgaGFzIHRvIHVzZSB0aGUgZW5jb2RlZCBuYW1lLCB3aXRoIGFueQorIAkgICAgIHN1 ZmZpeGVzIHN0cmlwcGVkLiAgKi8KKyAJICBzdGQ6OnN0cmluZyBlbmNvZGVkID0gYWRhX2VuY29k ZSAobmFtZSwgZmFsc2UpOworLQkgIG5hbWUgPSBvYnN0YWNrX3N0cmR1cCAoJnN5bXRhYi0+bV9z dHJpbmdfb2JzdGFjaywKKysJICBuYW1lID0gb2JzdGFja19zdHJkdXAgKHN5bXRhYi0+b2JzdGFj ayAoKSwKKyAJCQkJIGVuY29kZWQuY19zdHIgKCkpOwogIAl9Ci1AQCAtMTIwMiw4ICsxMjUxLDgg QEAgd3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXhfdmVjdG9yICp0YWJsZSwKKyAgICAg ICBlbHNlIGlmIChlbnRyeS0+cGVyX2N1LT5sYW5nICgpID09IGxhbmd1YWdlX2NwbHVzCitAQCAt MTE5MSw4ICsxMjQwLDggQEAgd3JpdGVfY29va2VkX2luZGV4IChjb29rZWRfaW5kZXggKnRhYmxl LAogICAgICAgIGVsc2UKICAJa2luZCA9IEdEQl9JTkRFWF9TWU1CT0xfS0lORF9UWVBFOwogIApA QCAtMjUzLDcgKzI1Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMg Yi9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKICAgICAgfQogIH0KICAKLUBAIC0xMjgxLDggKzEz MzAsNiBAQCB3cml0ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9vYmpmaWxlICpwZXJfb2JqZmlsZSwK K0BAIC0xMjY3LDggKzEzMTYsNiBAQCB3cml0ZV9nZGJpbmRleCAoZHdhcmYyX3Blcl9iZmQgKnBl cl9iZmQsIGNvb2tlZF9pbmRleCAqdGFibGUsCiAgICBzeW10YWIubWluaW1pemUgKCk7CiAgCiAg ICBkYXRhX2J1ZiBzeW10YWJfdmVjLCBjb25zdGFudF9wb29sOwoKZGlmZiAtLWdpdCBhL2dkYi1y aGJ6LTIyMzIwODYtZ2VuZXJhdGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2ggYi9n ZGItcmhiei0yMjMyMDg2LWdlbmVyYXRlLWR3YXJmLTUtaW5kZXgtY29uc2lzdGVudGx5LnBhdGNo CmluZGV4IDZiMjFjMTQuLmU5YjBiOWUgMTAwNjQ0Ci0tLSBhL2dkYi1yaGJ6LTIyMzIwODYtZ2Vu ZXJhdGUtZHdhcmYtNS1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKKysrIGIvZ2RiLXJoYnotMjIz MjA4Ni1nZW5lcmF0ZS1kd2FyZi01LWluZGV4LWNvbnNpc3RlbnRseS5wYXRjaApAQCAtMzUsNyAr MzUsNyBAQCBBcHByb3ZlZC1CeTogVG9tIFRyb21leSA8dG9tQHRyb21leS5jb20+CiBkaWZmIC0t Z2l0IGEvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5jIGIvZ2RiL2R3YXJmMi9pbmRleC13cml0ZS5j CiAtLS0gYS9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKICsrKyBiL2dkYi9kd2FyZjIvaW5kZXgt d3JpdGUuYwotQEAgLTQ1Myw2ICs0NTMsMTEgQEAgY2xhc3MgY19zdHJfdmlldworQEAgLTQ1Miw2 ICs0NTIsMTEgQEAgY2xhc3MgY19zdHJfdmlldwogICAgICByZXR1cm4gc3RyY21wIChtX2NzdHIs IG90aGVyLm1fY3N0cikgPT0gMDsKICAgIH0KICAKQEAgLTQ3LDcgKzQ3LDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwog ICAgLyogUmV0dXJuIHRoZSB1bmRlcmx5aW5nIEMgc3RyaW5nLiAgTm90ZSwgdGhlIHJldHVybmVk IHN0cmluZyBpcwogICAgICAgb25seSBhIHJlZmVyZW5jZSB3aXRoIGxpZmV0aW1lIG9mIHRoaXMg b2JqZWN0LiAgKi8KICAgIGNvbnN0IGNoYXIgKmNfc3RyICgpIGNvbnN0Ci1AQCAtNzcwLDEwICs3 NzUsMTggQEAgY2xhc3MgZGVidWdfbmFtZXMKK0BAIC03NzEsMTAgKzc3NiwxOCBAQCBjbGFzcyBk ZWJ1Z19uYW1lcwogICAgICAgIH0KICAgICAgZm9yIChzaXplX3QgYnVja2V0X2l4ID0gMDsgYnVj a2V0X2l4IDwgYnVja2V0X2hhc2guc2l6ZSAoKTsgKytidWNrZXRfaXgpCiAgICAgICAgewoKZGlm ZiAtLWdpdCBhL2dkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRs eS5wYXRjaCBiL2dkYi1yaGJ6LTIyMzIwODYtZ2VuZXJhdGUtZ2RiLWluZGV4LWNvbnNpc3RlbnRs eS5wYXRjaAppbmRleCBkMGU1Yzk1Li5kNjkxN2VjIDEwMDY0NAotLS0gYS9nZGItcmhiei0yMjMy MDg2LWdlbmVyYXRlLWdkYi1pbmRleC1jb25zaXN0ZW50bHkucGF0Y2gKKysrIGIvZ2RiLXJoYnot MjIzMjA4Ni1nZW5lcmF0ZS1nZGItaW5kZXgtY29uc2lzdGVudGx5LnBhdGNoCkBAIC0xMzgsNyAr MTM4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2Fy ZjIvaW5kZXgtd3JpdGUuYwogIC8qIFNlZSBjbGFzcyBkZWZpbml0aW9uLiAgKi8KICAKICB2b2lk Ci1AQCAtMTMyNSw2ICsxMzkxLDkgQEAgd3JpdGVfZ2RiaW5kZXggKGR3YXJmMl9wZXJfb2JqZmls ZSAqcGVyX29iamZpbGUsCitAQCAtMTMxMSw2ICsxMzc3LDkgQEAgd3JpdGVfZ2RiaW5kZXggKGR3 YXJmMl9wZXJfYmZkICpwZXJfYmZkLCBjb29rZWRfaW5kZXggKnRhYmxlLAogICAgZm9yIChhdXRv IG1hcCA6IHRhYmxlLT5nZXRfYWRkcm1hcHMgKCkpCiAgICAgIHdyaXRlX2FkZHJlc3NfbWFwICht YXAsIGFkZHJfdmVjLCBjdV9pbmRleF9odGFiKTsKICAKQEAgLTIwNiw4ICsyMDYsOCBAQCBkaWZm IC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL2luZGV4LWZpbGUuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZ2RiL2luZGV4LQogZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvbGliL2dkYi5l eHAgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCiAtLS0gYS9nZGIvdGVzdHN1aXRlL2xpYi9n ZGIuZXhwCiArKysgYi9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwCi1AQCAtOTI3NCw2ICs5Mjc0 LDIxIEBAIHByb2MgZ2RiX3N0ZXBfdW50aWwgeyByZWdleHAge3Rlc3RfbmFtZSAiIn0ge21heF9z dGVwcyAxMH0gfSB7Ci0gICAgIH0KK0BAIC0xMDAzMyw2ICsxMDAzMywyMSBAQCBwcm9jIGlzX3Rh cmdldF9ub25fc3RvcCB7IHt0ZXN0bmFtZSAiIn0gfSB7CisgICAgIHJldHVybiAkaXNfbm9uX3N0 b3AKICB9CiAgCiArIyBSZXR1cm4gdGhlIG51bWJlciBvZiB3b3JrZXIgdGhyZWFkcyB0aGF0IEdE QiBpcyBjdXJyZW50bHkgdXNpbmcuCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoxNzczNjUxLWdkYi1p bmRleC1pbnRlcm5hbC1lcnJvci5wYXRjaCBiL2dkYi1yaGJ6MTc3MzY1MS1nZGItaW5kZXgtaW50 ZXJuYWwtZXJyb3IucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA0Y2ZlNmQu LjAwMDAwMDAKLS0tIGEvZ2RiLXJoYnoxNzczNjUxLWdkYi1pbmRleC1pbnRlcm5hbC1lcnJvci5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDEwNSArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVT IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkBy ZWRoYXQuY29tPgotRGF0ZTogTW9uLCAyIE9jdCAyMDIzIDE1OjA1OjIzIC0wNzAwCi1TdWJqZWN0 OiBnZGItcmhiejE3NzM2NTEtZ2RiLWluZGV4LWludGVybmFsLWVycm9yLnBhdGNoCi0KLTs7IEJh Y2twb3J0IHVwc3RyZWFtIHBhdGNoIHdoaWNoIHByZXZlbnRzIGludGVybmFsIGVycm9yIHdoZW4K LTs7IGdlbmVyYXRpbmcgYSBnZGItaW5kZXggZmlsZSAoUkggQlogMTc3MzY1MSkuCi0KLVRocm93 IGVycm9yIHdoZW4gY3JlYXRpbmcgYW4gb3Zlcmx5IGxhcmdlIGdkYi1pbmRleCBmaWxlCi0KLVRo ZSBoZWFkZXIgaW4gYSAuZ2RiX2luZGV4IHNlY3Rpb24gdXNlcyAzMi1iaXQgdW5zaWduZWQgb2Zm c2V0cyB0bwotcmVmZXIgdG8gb3RoZXIgYXJlYXMgb2YgdGhlIHNlY3Rpb24uICBUaHVzLCB0aGVy ZSBpcyBhIHNpemUgbGltaXQgb2YKLTJeMzItMSB3aGljaCBpcyBjdXJyZW50bHkgdW5hY2NvdW50 ZWQgZm9yIGJ5IEdEQidzIGNvZGUgZm9yIG91dHB1dHRpbmcKLXRoZXNlIHNlY3Rpb25zLgotCi1B dCB0aGUgbW9tZW50LCB3aGVuIEdEQiBjcmVhdGVzIGFuIG92ZXJseSBsYXJnZSBzZWN0aW9uLCBp dCB3aWxsIGV4aXQKLWFibm9ybWFsbHkgZHVlIHRvIGFuIGludGVybmFsIGVycm9yLCB3aGljaCBp cyBjYXVzZWQgYnkgYSBmYWlsZWQKLWFzc2VydCBpbiBhc3NlcnRfZmlsZV9zaXplLCB3aGljaCBp biB0dXJuIGlzIGNhbGxlZCBmcm9tCi13cml0ZV9nZGJpbmRleF8xLCBib3RoIG9mIHdoaWNoIGFy ZSBpbiBnZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMuCi0KLVRoaXMgaXMgd2hhdCBoYXBwZW5zIHdo ZW4gdGhhdCBhc3NlcnQgZmFpbHM6Ci0KLSQgZ2RiIC1xIC1ueCAtaWV4ICdzZXQgYXV0by1sb2Fk IG5vJyAtaWV4ICdzZXQgZGVidWdpbmZvZCBlbmFibGVkIG9mZicgLWV4IGZpbGUgLi9saWJncmFw aF90b29sX2luZmVyZW5jZS5zbyAtZXggInNhdmUgZ2RiLWluZGV4IGBwd2RgLyIKLVJlYWRpbmcg c3ltYm9scyBmcm9tIC4vbGliZ3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28uLi4KLU5vIGV4ZWN1dGFi bGUgZmlsZSBub3cuCi1EaXNjYXJkIHN5bWJvbCB0YWJsZSBmcm9tIGBsaWJncmFwaF90b29sX2lu ZmVyZW5jZS5zbyc/ICh5IG9yIG4pIG4KLU5vdCBjb25maXJtZWQuCi0uLi8uLi9nZGIvZHdhcmYy L2luZGV4LXdyaXRlLmM6MTA2OTogaW50ZXJuYWwtZXJyb3I6IGFzc2VydF9maWxlX3NpemU6IEFz c2VydGlvbiBgZmlsZV9zaXplID09IGV4cGVjdGVkX3NpemUnIGZhaWxlZC4KLUEgcHJvYmxlbSBp bnRlcm5hbCB0byBHREIgaGFzIGJlZW4gZGV0ZWN0ZWQsCi1mdXJ0aGVyIGRlYnVnZ2luZyBtYXkg cHJvdmUgdW5yZWxpYWJsZS4KLS0tLS0tIEJhY2t0cmFjZSAtLS0tLQotMHg1NWZkZGI0ZDc4YjAg Z2RiX2ludGVybmFsX2JhY2t0cmFjZV8xCi0JLi4vLi4vZ2RiL2J0LXV0aWxzLmM6MTIyCi0weDU1 ZmRkYjRkNzhiMCBfWjIyZ2RiX2ludGVybmFsX2JhY2t0cmFjZXYKLQkuLi8uLi9nZGIvYnQtdXRp bHMuYzoxNjgKLTB4NTVmZGRiOThiNWQ0IGludGVybmFsX3Zwcm9ibGVtCi0JLi4vLi4vZ2RiL3V0 aWxzLmM6Mzk2Ci0weDU1ZmRkYjk4YjhkZSBfWjE1aW50ZXJuYWxfdmVycm9yUEtjaVMwX1AxM19f dmFfbGlzdF90YWcKLQkuLi8uLi9nZGIvdXRpbHMuYzo0NzYKLTB4NTVmZGRiYjcxNjU0IF9aMThp bnRlcm5hbF9lcnJvcl9sb2NQS2NpUzBfegotCS4uLy4uL2dkYnN1cHBvcnQvZXJyb3JzLmNjOjU4 Ci0weDU1ZmRkYjVhMGYyMyBhc3NlcnRfZmlsZV9zaXplCi0JLi4vLi4vZ2RiL2R3YXJmMi9pbmRl eC13cml0ZS5jOjEwNjkKLTB4NTVmZGRiNWExZWUwIGFzc2VydF9maWxlX3NpemUKLQkvdXNyL2lu Y2x1ZGUvYysrLzEzL2JpdHMvc3RsX2l0ZXJhdG9yLmg6MTE1OAotMHg1NWZkZGI1YTFlZTAgd3Jp dGVfZ2RiaW5kZXhfMQotCS4uLy4uL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYzoxMTE5Ci0weDU1 ZmRkYjVhNTFiZSB3cml0ZV9nZGJpbmRleAotCS4uLy4uL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUu YzoxMjczCi1bLi4uXQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0uLi8uLi9nZGIvZHdhcmYyL2lu ZGV4LXdyaXRlLmM6MTA2OTogaW50ZXJuYWwtZXJyb3I6IGFzc2VydF9maWxlX3NpemU6IEFzc2Vy dGlvbiBgZmlsZV9zaXplID09IGV4cGVjdGVkX3NpemUnIGZhaWxlZC4KLQotVGhpcyBwcm9ibGVt IHdhcyBlbmNvdW50ZXJlZCB3aGlsZSBidWlsZGluZyB0aGUgcHl0aG9uLWdyYXBoLXRvb2wKLXBh Y2thZ2Ugb24gRmVkb3JhLiAgVGhlIEZlZG9yYSBidWd6aWxsYSBidWcgY2FuIGJlIGZvdW5kIGhl cmU6Ci0KLWh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTc3MzY1 MQotCi1UaGlzIGNvbW1pdCBwcmV2ZW50cyB0aGUgaW50ZXJuYWwgZXJyb3IgZnJvbSBvY2N1cnJp bmcgYnkgY2FsbGluZyBlcnJvcigpCi13aGVuIHRoZSBmaWxlIHNpemUgZXhjZWVkcyAyXjMyLTEu Ci0KLVVzaW5nIGEgZ2RiIGJ1aWx0IHdpdGggdGhpcyBjb21taXQsIEkgbm93IHNlZSB0aGlzIGJl aGF2aW9yIGluc3RlYWQ6Ci0KLSQgZ2RiIC1xIC1ueCAtaWV4ICdzZXQgYXV0by1sb2FkIG5vJyAt aWV4ICdzZXQgZGVidWdpbmZvZCBlbmFibGVkIG9mZicgLWV4IGZpbGUgLi9saWJncmFwaF90b29s X2luZmVyZW5jZS5zbyAtZXggInNhdmUgZ2RiLWluZGV4IGBwd2RgLyIKLVJlYWRpbmcgc3ltYm9s cyBmcm9tIC4vbGliZ3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28uLi4KLU5vIGV4ZWN1dGFibGUgZmls ZSBub3cuCi1EaXNjYXJkIHN5bWJvbCB0YWJsZSBmcm9tIGAvbWVzcXVpdGUyL2ZlZG9yYS1idWdz LzE3NzM2NTEvbGliZ3JhcGhfdG9vbF9pbmZlcmVuY2Uuc28nPyAoeSBvciBuKSBuCi1Ob3QgY29u ZmlybWVkLgotRXJyb3Igd2hpbGUgd3JpdGluZyBpbmRleCBmb3IgYC9tZXNxdWl0ZTIvZmVkb3Jh LWJ1Z3MvMTc3MzY1MS9saWJncmFwaF90b29sX2luZmVyZW5jZS5zbyc6IGdkYi1pbmRleCBtYXhp bXVtIGZpbGUgc2l6ZSBvZiA0Mjk0OTY3Mjk1IGV4Y2VlZGVkCi0oZ2RiKQotCi1JIHdpc2ggSSBj b3VsZCBwcm92aWRlIGEgdGVzdCBjYXNlLCBidXQgZHVlIHRvIHRoZSBzaXplcyBvZiBib3RoIHRo ZQotaW5wdXQgYW5kIG91dHB1dCBmaWxlcywgSSB0aGluayB0aGF0IHRlc3RpbmcgcmVzb3VyY2Vz IHdvdWxkIGJlCi1zdHJhaW5lZCBvciBleGNlZWRlZCBpbiBtYW55IGVudmlyb25tZW50cy4KLQot TXkgdGVzdGluZyBvbiBGZWRvcmEgMzggc2hvd3Mgbm8gcmVncmVzc2lvbnMuCi0KLUFwcHJvdmVk LWJ5OiBUb20gVHJvbWV5IDx0b21AdHJvbWV5LmNvbT4KLQotZGlmZiAtLWdpdCBhL2dkYi9kd2Fy ZjIvaW5kZXgtd3JpdGUuYyBiL2dkYi9kd2FyZjIvaW5kZXgtd3JpdGUuYwotLS0tIGEvZ2RiL2R3 YXJmMi9pbmRleC13cml0ZS5jCi0rKysgYi9nZGIvZHdhcmYyL2luZGV4LXdyaXRlLmMKLUBAIC0x MDgyLDcgKzEwODIsNyBAQCB3cml0ZV9nZGJpbmRleF8xIChGSUxFICpvdXRfZmlsZSwKLSB7Ci0g ICBkYXRhX2J1ZiBjb250ZW50czsKLSAgIGNvbnN0IG9mZnNldF90eXBlIHNpemVfb2ZfaGVhZGVy ID0gNiAqIHNpemVvZiAob2Zmc2V0X3R5cGUpOwotLSAgb2Zmc2V0X3R5cGUgdG90YWxfbGVuID0g c2l6ZV9vZl9oZWFkZXI7Ci0rICBzaXplX3QgdG90YWxfbGVuID0gc2l6ZV9vZl9oZWFkZXI7Ci0g Ci0gICAvKiBUaGUgdmVyc2lvbiBudW1iZXIuICAqLwotICAgY29udGVudHMuYXBwZW5kX29mZnNl dCAoOCk7Ci1AQCAtMTEwOSw2ICsxMTA5LDEzIEBAIHdyaXRlX2dkYmluZGV4XzEgKEZJTEUgKm91 dF9maWxlLAotIAotICAgZ2RiX2Fzc2VydCAoY29udGVudHMuc2l6ZSAoKSA9PSBzaXplX29mX2hl YWRlcik7Ci0gCi0rICAvKiBUaGUgbWF4aW11bSBzaXplIG9mIGFuIGluZGV4IGZpbGUgaXMgbGlt aXRlZCBieSB0aGUgbWF4aW11bSB2YWx1ZQotKyAgICAgY2FwYWJsZSBvZiBiZWluZyByZXByZXNl bnRlZCBieSAnb2Zmc2V0X3R5cGUnLiAgVGhyb3cgYW4gZXJyb3IgaWYKLSsgICAgIHRoYXQgbGVu Z3RoIGhhcyBiZWVuIGV4Y2VlZGVkLiAgKi8KLSsgIHNpemVfdCBtYXhfc2l6ZSA9IH4ob2Zmc2V0 X3R5cGUpIDA7Ci0rICBpZiAodG90YWxfbGVuID4gbWF4X3NpemUpCi0rICAgIGVycm9yIChfKCJn ZGItaW5kZXggbWF4aW11bSBmaWxlIHNpemUgb2YgJXp1IGV4Y2VlZGVkIiksIG1heF9zaXplKTsK LSsKLSAgIGNvbnRlbnRzLmZpbGVfd3JpdGUgKG91dF9maWxlKTsKLSAgIGN1X2xpc3QuZmlsZV93 cml0ZSAob3V0X2ZpbGUpOwotICAgdHlwZXNfY3VfbGlzdC5maWxlX3dyaXRlIChvdXRfZmlsZSk7 CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoyMTYwMjExLWV4Y2Vzc2l2ZS1jb3JlLWZpbGUtd2Fybmlu Z3MucGF0Y2ggYi9nZGItcmhiejIxNjAyMTEtZXhjZXNzaXZlLWNvcmUtZmlsZS13YXJuaW5ncy5w YXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTc5MDA1NC4uMDAwMDAwMAotLS0g YS9nZGItcmhiejIxNjAyMTEtZXhjZXNzaXZlLWNvcmUtZmlsZS13YXJuaW5ncy5wYXRjaAorKysg L2Rldi9udWxsCkBAIC0xLDEwOCArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQotRnJvbTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29t PgotRGF0ZTogVGh1LCAyOSBKdW4gMjAyMyAxODoyMDozMCAtMDcwMAotU3ViamVjdDogZ2RiLXJo YnoyMTYwMjExLWV4Y2Vzc2l2ZS1jb3JlLWZpbGUtd2FybmluZ3MucGF0Y2gKLQotOzsgQmFja3Bv cnQgdHdvIGNvbW1pdHMsIDBhZDUwNGRkNDY0IGFuZCBlYTcwZjk0MWY5YiwgZnJvbSBMYW5jZWxv dCBTSVgKLTs7IHdoaWNoIHByZXZlbnQgcmVwZWF0ZWQgd2FybmluZ3MgZnJvbSBiZWluZyBwcmlu dGVkIHdoaWxlIGxvYWRpbmcgYQotOzsgY29yZSBmaWxlLiAoUkggQlogMjE2MDIxMSkKLQotZ2Ri L2NvcmVsb3cuYzogYXZvaWQgcmVwZWF0ZWQgd2FybmluZ3MgaW4gYnVpbGRfZmlsZV9tYXBwaW5n cwotCi1XaGVuIEdEQiBvcGVucyBhIGNvcmVkdW1wIGl0IHRyaWVzIHRvIGxvY2F0ZSBhbmQgdGhl biBvcGVuIGFsbCBmaWxlcwotd2hpY2ggd2VyZSBtYXBwZWQgaW4gdGhlIHByb2Nlc3MuCi0KLUlm IGEgZmlsZSBpcyBmb3VuZCBidXQgY2Fubm90IGJlIG9wZW5lZCB3aXRoIEJGRCAoYmZkX29wZW4g LwotYmZkX2NoZWNrX2Zvcm1hdCBmYWlscyksIHRoZW4gYSB3YXJuaW5nIGlzIHByaW50ZWQgdG8g dGhlIHVzZXIuICBJZiB0aGUKLXNhbWUgZmlsZSB3YXMgbWFwcGVkIG11bHRpcGxlIHRpbWVzIGlu IHRoZSBwcm9jZXNzJ3MgYWRkcmVzcyBzcGFjZSwgdGhlCi13YXJuaW5nIGlzIHByaW50ZWQgb25j ZSBmb3IgZWFjaCB0aW1lIHRoZSBmaWxlIHdhcyBtYXBwZWQuICBJIGZpbmQgdGhpcwotdW4tbmVj ZXNzYXJpbHkgbm9pc3kuCi0KLVRoaXMgcGF0Y2ggbWFrZXMgaXQgc28gdGhlIHdhcm5pbmcgbWVz c2FnZSBpcyBwcmludGVkIG9ubHkgb25jZSBwZXIKLWZpbGUuCi0KLVRoZXJlIHdhcyBhIGNvbW1l bnQgaW4gdGhlIGNvZGUgYXNzdW1pbmcgdGhhdCBpZiB0aGUgZmlsZSB3YXMgZm91bmQgb24KLXRo ZSBzeXN0ZW0sIG9wZW5pbmcgaXQgKGJmZF9vcGVuICsgYmZkX2NoZWNrX2Zvcm1hdCkgc2hvdWxk IGFsd2F5cwotc3VjY2VlZC4gIEEgcmVjZW50IGNoYW5nZSBpbiBCRkQgKDAxNGE2MDJiODZmICJE b24ndCBvcHRpbWlzZSBiZmRfc2VlawotdG8gc2FtZSBwb3NpdGlvbiIpIHNob3dlZCB0aGF0IHRo aXMgYXNzdW1wdGlvbiBpcyBub3QgdmFsaWQuICBGb3IKLWV4YW1wbGUsIGl0IGlzIHBvc3NpYmxl IHRvIGhhdmUgYSBjb3JlIGR1bXAgb2YgYSBwcm9jZXNzIHdoaWNoIGhhZAotbW1hcGVkIGFuIElP IHBhZ2UgZnJvbSBhIERSSSByZW5kZXIgbm9kZSAoL2Rldi9kcmkvcnVuZGVyRCROVU0pLiAgSW4K LXN1Y2ggY2FzZSB0aGUgY29yZSBkdW1wIGRvZXMgY29udGFpbiB0aGUgaW5mb3JtYXRpb24gdGhh dCBwb3J0aW9ucyBvZgotdGhpcyBzcGVjaWFsIGZpbGUgd2VyZSBtYXBwZWQgaW4gdGhlIGhvc3Qg cHJvY2VzcywgYnV0IHRyeWluZyB0byBzZWVrIHRvCi1wb3NpdGlvbiAwIHdpbGwgZmFpbCwgbWFr aW5nIGJmZF9jaGVja19mb3JtYXQgZmFpbC4gIFRoaXMgcGF0Y2ggcmVtb3ZlcwotdGhpcyBjb21t ZW50LgotCi1SZXZpZXdlZC1CeTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJTRC5vcmc+Ci1BcHBy b3ZlZC1CeTogQW5kcmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+Ci0KLWdkYi9jb3Jl bG93LmM6IGRvIG5vdCB0cnkgdG8gcmVvcGVuIGEgZmlsZSBpZiBvcGVuIGZhaWxlZCBvbmNlCi0K LUluIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uLCBjb3JlX3RhcmdldDo6YnVpbGRfZmlsZV9t YXBwaW5ncyB3aWxsIHRyeQotdG8gbG9jYXRlIGFuZCBvcGVuIGZpbGVzIHdoaWNoIHdlcmUgbWFw cGVkIGluIHRoZSBwcm9jZXNzIGZvciB3aGljaCB0aGUKLWNvcmUgZHVtcCB3YXMgcHJvZHVjZWQu ICBJZiB0aGUgZmlsZSBjYW5ub3QgYmUgZm91bmQgb3IgY2Fubm90IGJlCi1vcGVuZWQsIEdEQiB3 aWxsIHJlLXRyeSB0byBvcGVuIGl0IG9uY2UgZm9yIGVhY2ggdGltZSBpdCB3YXMgbWFwcGVkIGlu Ci10aGUgcHJvY2VzcydzIGFkZHJlc3Mgc3BhY2UuCi0KLVRoaXMgcGF0Y2ggbWFrZXMgaXQgc28g R0RCIHJlY29nbml6ZXMgdGhhdCBpdCBoYXMgYWxyZWFkeSBmYWlsZWQgdG8gb3BlbgotYSBnaXZl biBmaWxlIG9uY2UgYW5kIGRvZXMgbm90IHJlLXRyeSB0aGUgcHJvY2VzcyBmb3IgZWFjaCBtYXBw aW5nLgotCi1SZXZpZXdlZC1CeTogSm9obiBCYWxkd2luIDxqaGJARnJlZUJTRC5vcmc+Ci1BcHBy b3ZlZC1CeTogQW5kcmV3IEJ1cmdlc3MgPGFidXJnZXNzQHJlZGhhdC5jb20+Ci0KLWRpZmYgLS1n aXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwotLS0tIGEvZ2RiL2NvcmVsb3cuYwot KysrIGIvZ2RiL2NvcmVsb3cuYwotQEAgLTIzNyw2ICsyMzcsMTYgQEAgY29yZV90YXJnZXQ6OmJ1 aWxkX2ZpbGVfbWFwcGluZ3MgKCkKLSAJICAgd2VlZCBvdXQgbm9uLWZpbGUtYmFja2VkIG1hcHBp bmdzLiAgKi8KLSAJZ2RiX2Fzc2VydCAoZmlsZW5hbWUgIT0gbnVsbHB0cik7Ci0gCi0rCWlmICh1 bmF2YWlsYWJsZV9wYXRocy5maW5kIChmaWxlbmFtZSkgIT0gdW5hdmFpbGFibGVfcGF0aHMuZW5k ICgpKQotKwkgIHsKLSsJICAgIC8qIFdlIGhhdmUgYWxyZWFkeSBzZWVuIHNvbWUgbWFwcGluZyBm b3IgRklMRU5BTUUgYnV0IGZhaWxlZCB0bwotKwkgICAgICAgZmluZC9vcGVuIHRoZSBmaWxlLiAg VGhlcmUgaXMgbm8gcG9pbnQgaW4gdHJ5aW5nIHRoZSBzYW1lCi0rCSAgICAgICB0aGluZyBhZ2Fp biBzbyBqdXN0IHJlY29yZCB0aGF0IHRoZSByYW5nZSBbc3RhcnQsIGVuZCkgaXMKLSsJICAgICAg IHVuYXZhaWxhYmxlLiAgKi8KLSsJICAgIG1fY29yZV91bmF2YWlsYWJsZV9tYXBwaW5ncy5lbXBs YWNlX2JhY2sgKHN0YXJ0LCBlbmQgLSBzdGFydCk7Ci0rCSAgICByZXR1cm47Ci0rCSAgfQotKwot IAlzdHJ1Y3QgYmZkICpiZmQgPSBiZmRfbWFwW2ZpbGVuYW1lXTsKLSAJaWYgKGJmZCA9PSBudWxs cHRyKQotIAkgIHsKLUBAIC0yNTQsMTEgKzI2NCwxMCBAQCBjb3JlX3RhcmdldDo6YnVpbGRfZmls ZV9tYXBwaW5ncyAoKQotIAkgICAgaWYgKGV4cGFuZGVkX2ZuYW1lID09IG51bGxwdHIpCi0gCSAg ICAgIHsKLSAJCW1fY29yZV91bmF2YWlsYWJsZV9tYXBwaW5ncy5lbXBsYWNlX2JhY2sgKHN0YXJ0 LCBlbmQgLSBzdGFydCk7Ci0tCQkvKiBQcmludCBqdXN0IG9uZSB3YXJuaW5nIHBlciBwYXRoLiAg Ki8KLS0JCWlmICh1bmF2YWlsYWJsZV9wYXRocy5pbnNlcnQgKGZpbGVuYW1lKS5zZWNvbmQpCi0t CQkgIHdhcm5pbmcgKF8oIkNhbid0IG9wZW4gZmlsZSAlcyBkdXJpbmcgZmlsZS1iYWNrZWQgbWFw cGluZyAiCi0tCQkJICAgICAibm90ZSBwcm9jZXNzaW5nIiksCi0tCQkJICAgZmlsZW5hbWUpOwot KwkJdW5hdmFpbGFibGVfcGF0aHMuaW5zZXJ0IChmaWxlbmFtZSk7Ci0rCQl3YXJuaW5nIChfKCJD YW4ndCBvcGVuIGZpbGUgJXMgZHVyaW5nIGZpbGUtYmFja2VkIG1hcHBpbmcgIgotKwkJCSAgICJu b3RlIHByb2Nlc3NpbmciKSwKLSsJCQkgZmlsZW5hbWUpOwotIAkJcmV0dXJuOwotIAkgICAgICB9 Ci0gCi1AQCAtMjY4LDE4ICsyNzcsMTEgQEAgY29yZV90YXJnZXQ6OmJ1aWxkX2ZpbGVfbWFwcGlu Z3MgKCkKLSAJICAgIGlmIChiZmQgPT0gbnVsbHB0ciB8fCAhYmZkX2NoZWNrX2Zvcm1hdCAoYmZk LCBiZmRfb2JqZWN0KSkKLSAJICAgICAgewotIAkJbV9jb3JlX3VuYXZhaWxhYmxlX21hcHBpbmdz LmVtcGxhY2VfYmFjayAoc3RhcnQsIGVuZCAtIHN0YXJ0KTsKLS0JCS8qIElmIHdlIGdldCBoZXJl LCB0aGVyZSdzIGEgZ29vZCBjaGFuY2UgdGhhdCBpdCdzIGR1ZSB0bwotLQkJICAgYW4gaW50ZXJu YWwgZXJyb3IuICBXZSBpc3N1ZSBhIHdhcm5pbmcgaW5zdGVhZCBvZiBhbgotLQkJICAgaW50ZXJu YWwgZXJyb3IgYmVjYXVzZSBvZiB0aGUgcG9zc2liaWxpdHkgdGhhdCB0aGUKLS0JCSAgIGZpbGUg d2FzIHJlbW92ZWQgaW4gYmV0d2VlbiBjaGVja2luZyBmb3IgaXRzCi0tCQkgICBleGlzdGVuY2Ug ZHVyaW5nIHRoZSBleHBhbnNpb24gaW4gZXhlY19maWxlX2ZpbmQoKQotLQkJICAgYW5kIHRoZSBj YWxscyB0byBiZmRfb3BlbnIoKSAvIGJmZF9jaGVja19mb3JtYXQoKS4gCi0tCQkgICBPdXRwdXQg Ym90aCB0aGUgcGF0aCBmcm9tIHRoZSBjb3JlIGZpbGUgbm90ZSBhbG9uZwotLQkJICAgd2l0aCBp dHMgZXhwYW5zaW9uIHRvIG1ha2UgZGVidWdnaW5nIHRoaXMgcHJvYmxlbQotLQkJICAgZWFzaWVy LiAgKi8KLSsJCXVuYXZhaWxhYmxlX3BhdGhzLmluc2VydCAoZmlsZW5hbWUpOwotIAkJd2Fybmlu ZyAoXygiQ2FuJ3Qgb3BlbiBmaWxlICVzIHdoaWNoIHdhcyBleHBhbmRlZCB0byAlcyAiCi0gCQkJ ICAgImR1cmluZyBmaWxlLWJhY2tlZCBtYXBwaW5nIG5vdGUgcHJvY2Vzc2luZyIpLAotIAkJCSBm aWxlbmFtZSwgZXhwYW5kZWRfZm5hbWUuZ2V0ICgpKTsKLSsKLSAJCWlmIChiZmQgIT0gbnVsbHB0 cikKLSAJCSAgYmZkX2Nsb3NlIChiZmQpOwotIAkJcmV0dXJuOwoKZGlmZiAtLWdpdCBhL2dkYi1y aGJ6MjE5MjEwNS1mdGJzLWRhbmdsaW5nLXBvaW50ZXIgYi9nZGItcmhiejIxOTIxMDUtZnRicy1k YW5nbGluZy1wb2ludGVyCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyNmNlZDg2Li4w MDAwMDAwCi0tLSBhL2dkYi1yaGJ6MjE5MjEwNS1mdGJzLWRhbmdsaW5nLXBvaW50ZXIKKysrIC9k ZXYvbnVsbApAQCAtMSwxMDcgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IEtldmluIEJ1ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNvbT4K LURhdGU6IFdlZCwgMyBNYXkgMjAyMyAxMToyODoyNCAtMDcwMAotU3ViamVjdDogZ2RiLXJoYnoy MTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgotTUlNRS1WZXJzaW9uOiAxLjAKLUNvbnRlbnQt VHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAotQ29udGVudC1UcmFuc2Zlci1FbmNvZGlu ZzogOGJpdAotCi07OyBCYWNrcG9ydCB1cHN0cmVhbSBwYXRjaCBmaXhpbmcgYSAiZGFuZ2xpbmcg cG9pbnRlciIgYnVpbGQgcHJvYmxlbQotOzsgZmlyc3Qgc2VlbiB3aGVuIGJ1aWxkaW5nIHdpdGgg R0NDIDEzLjEuMSAyMDIzMDQyNiAoUmVkIEhhdCA7OyAxMy4xLjEtMSkuCi0KLVBhc3MgY29uc3Qg ZnJhbWVfaW5mb19wdHIgcmVmZXJlbmNlIGZvciBza2lwX1tsYW5ndWFnZV9ddHJhbXBvbGluZQot Ci1nKysgMTMuMS4xIHByb2R1Y2VzIGEgLVdlcnJvcj1kYW5nbGluZy1wb2ludGVyPQotCi1JbiBm aWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vYmludXRpbHMtZ2RiL2dkYi9mcmFtZS5oOjc1LAotICAg ICAgICAgICAgICAgICBmcm9tIC4uLy4uL2JpbnV0aWxzLWdkYi9nZGIvc3ltdGFiLmg6NDAsCi0g ICAgICAgICAgICAgICAgIGZyb20gLi4vLi4vYmludXRpbHMtZ2RiL2dkYi9sYW5ndWFnZS5jOjMz OgotSW4gbWVtYmVyIGZ1bmN0aW9uIOKAmHZvaWQgaW50cnVzaXZlX2xpc3Q8VCwgQXNOb2RlPjo6 cHVzaF9lbXB0eShUJikgW3dpdGggVCA9IGZyYW1lX2luZm9fcHRyOyBBc05vZGUgPSBpbnRydXNp dmVfYmFzZV9ub2RlPGZyYW1lX2luZm9fcHRyPl3igJksCi0gICAgaW5saW5lZCBmcm9tIOKAmHZv aWQgaW50cnVzaXZlX2xpc3Q8VCwgQXNOb2RlPjo6cHVzaF9iYWNrKHJlZmVyZW5jZSkgW3dpdGgg VCA9IGZyYW1lX2luZm9fcHRyOyBBc05vZGUgPSBpbnRydXNpdmVfYmFzZV9ub2RlPGZyYW1lX2lu Zm9fcHRyPl3igJkgYXQgZ2Ric3VwcG9ydC9pbnRydXNpdmVfbGlzdC5oOjMzMjoyNCwKLSAgICBp bmxpbmVkIGZyb20g4oCYZnJhbWVfaW5mb19wdHI6OmZyYW1lX2luZm9fcHRyKGNvbnN0IGZyYW1l X2luZm9fcHRyJinigJkgYXQgZ2RiL2ZyYW1lLmg6MjQxOjI2LAotICAgIGlubGluZWQgZnJvbSDi gJhDT1JFX0FERFIgc2tpcF9sYW5ndWFnZV90cmFtcG9saW5lKGZyYW1lX2luZm9fcHRyLCBDT1JF X0FERFIp4oCZIGF0IGdkYi9sYW5ndWFnZS5jOjUzMDo0OToKLWdkYnN1cHBvcnQvaW50cnVzaXZl X2xpc3QuaDo0MTU6MTI6IGVycm9yOiBzdG9yaW5nIHRoZSBhZGRyZXNzIG9mIGxvY2FsIHZhcmlh YmxlIOKAmDxhbm9ueW1vdXM+4oCZIGluIOKAmGZyYW1lX2luZm9fcHRyOjpmcmFtZV9saXN0Lmlu dHJ1c2l2ZV9saXN0PGZyYW1lX2luZm9fcHRyPjo6bV9iYWNr4oCZIFstV2Vycm9yPWRhbmdsaW5n LXBvaW50ZXI9XQotICA0MTUgfCAgICAgbV9iYWNrID0gJmVsZW07Ci0gICAgICB8ICAgICB+fn5+ fn5+Xn5+fn5+fgotZ2RiL2xhbmd1YWdlLmM6IEluIGZ1bmN0aW9uIOKAmENPUkVfQUREUiBza2lw X2xhbmd1YWdlX3RyYW1wb2xpbmUoZnJhbWVfaW5mb19wdHIsIENPUkVfQUREUinigJk6Ci1nZGIv bGFuZ3VhZ2UuYzo1MzA6NDk6IG5vdGU6IOKAmDxhbm9ueW1vdXM+4oCZIGRlY2xhcmVkIGhlcmUK LSAgNTMwIHwgICAgICAgQ09SRV9BRERSIHJlYWxfcGMgPSBsYW5nLT5za2lwX3RyYW1wb2xpbmUg KGZyYW1lLCBwYyk7Ci0gICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fl5+fn5+fn5+fn5+Ci1nZGIvZnJhbWUuaDozNTk6NDE6IG5vdGU6IOKAmGZy YW1lX2luZm9fcHRyOjpmcmFtZV9saXN04oCZIGRlY2xhcmVkIGhlcmUKLSAgMzU5IHwgICBzdGF0 aWMgaW50cnVzaXZlX2xpc3Q8ZnJhbWVfaW5mb19wdHI+IGZyYW1lX2xpc3Q7Ci0gICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Ci0KLUVhY2gg bmV3IGZyYW1lX2luZm9fcHRyIGlzIGJlaW5nIHB1c2hlZCBvbiBhIHN0YXRpYyBmcmFtZSBsaXN0 IGFuZCBnKysKLWNhbm5vdCBzZWUgd2h5IHRoYXQgaXMgc2FmZSBpbiBjYXNlIHRoZSBmcmFtZV9p bmZvX3B0ciBpcyBjcmVhdGVkIGFuZAotZGVzdHJveWVkIGltbWVkaWF0ZWx5IHdoZW4gcGFzc2Vk IGFzIHZhbHVlLgotCi1JdCBpc24ndCBjbGVhciB3aHkgb25seSBpbiB0aGlzIG9uZSBwbGFjZSBn Kysgc2VlcyB0aGUgaXNzdWUgKHByb2JhYmx5Ci1iZWNhdXNlIGl0IGNhbiBpbmxpbmUgZW5vdWdo IGNvZGUgaW4gdGhpcyBzcGVjaWZpYyBjYXNlKS4KLQotU2luY2UgcGFzc2luZyB0aGUgZnJhbWVf aW5mb19wdHIgYXMgY29uc3QgcmVmZXJlbmNlIGlzIGNoZWFwZXIsIHVzZQotdGhhdCBhcyB3b3Jr YXJvdW5kIGZvciB0aGlzIHdhcm5pbmcuCi0KLVBSIGJ1aWxkLzMwNDEzCi1CdWc6IGh0dHBzOi8v c291cmNld2FyZS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTMwNDEzCi0KLVRlc3RlZC1i eTogS2V2aW4gQnVldHRuZXIgPGtldmluYkByZWRoYXQuY29tPgotUmV2aWV3ZWQtYnk6IEtldmlu IEJ1ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNvbT4KLVJldmlld2VkLWJ5OiBUb20gVHJvbWV5IDx0 b21AdHJvbWV5LmNvbT4KLQotZGlmZiAtLWdpdCBhL2dkYi9jLWxhbmcuYyBiL2dkYi9jLWxhbmcu YwotLS0tIGEvZ2RiL2MtbGFuZy5jCi0rKysgYi9nZGIvYy1sYW5nLmMKLUBAIC0xMDAzLDcgKzEw MDMsNyBAQCBjbGFzcyBjcGx1c19sYW5ndWFnZSA6IHB1YmxpYyBsYW5ndWFnZV9kZWZuCi0gCi0g ICAvKiBTZWUgbGFuZ3VhZ2UuaC4gICovCi0gCi0tICBDT1JFX0FERFIgc2tpcF90cmFtcG9saW5l IChmcmFtZV9pbmZvX3B0ciBmaSwKLSsgIENPUkVfQUREUiBza2lwX3RyYW1wb2xpbmUgKGNvbnN0 IGZyYW1lX2luZm9fcHRyICZmaSwKLSAJCQkgICAgIENPUkVfQUREUiBwYykgY29uc3Qgb3ZlcnJp ZGUKLSAgIHsKLSAgICAgcmV0dXJuIGNwbHVzX3NraXBfdHJhbXBvbGluZSAoZmksIHBjKTsKLWRp ZmYgLS1naXQgYS9nZGIvbGFuZ3VhZ2UuYyBiL2dkYi9sYW5ndWFnZS5jCi0tLS0gYS9nZGIvbGFu Z3VhZ2UuYwotKysrIGIvZ2RiL2xhbmd1YWdlLmMKLUBAIC01MjgsNyArNTI4LDcgQEAgYWRkX3Nl dF9sYW5ndWFnZV9jb21tYW5kICgpCi0gICAgUmV0dXJuIHRoZSByZXN1bHQgZnJvbSB0aGUgZmly c3QgdGhhdCByZXR1cm5zIG5vbi16ZXJvLCBvciAwIGlmIGFsbAotICAgIGBmYWlsJy4gICovCi0g Q09SRV9BRERSIAotLXNraXBfbGFuZ3VhZ2VfdHJhbXBvbGluZSAoZnJhbWVfaW5mb19wdHIgZnJh bWUsIENPUkVfQUREUiBwYykKLStza2lwX2xhbmd1YWdlX3RyYW1wb2xpbmUgKGNvbnN0IGZyYW1l X2luZm9fcHRyICZmcmFtZSwgQ09SRV9BRERSIHBjKQotIHsKLSAgIGZvciAoY29uc3QgYXV0byAm bGFuZyA6IGxhbmd1YWdlX2RlZm46Omxhbmd1YWdlcykKLSAgICAgewotZGlmZiAtLWdpdCBhL2dk Yi9sYW5ndWFnZS5oIGIvZ2RiL2xhbmd1YWdlLmgKLS0tLSBhL2dkYi9sYW5ndWFnZS5oCi0rKysg Yi9nZGIvbGFuZ3VhZ2UuaAotQEAgLTQ3MSw3ICs0NzEsNyBAQCBzdHJ1Y3QgbGFuZ3VhZ2VfZGVm bgotICAgICAgSWYgdGhhdCBQQyBmYWxscyBpbiBhIHRyYW1wb2xpbmUgYmVsb25naW5nIHRvIHRo aXMgbGFuZ3VhZ2UsIHJldHVybgotICAgICAgdGhlIGFkZHJlc3Mgb2YgdGhlIGZpcnN0IHBjIGlu IHRoZSByZWFsIGZ1bmN0aW9uLCBvciAwIGlmIGl0IGlzbid0IGEKLSAgICAgIGxhbmd1YWdlIHRy YW1wIGZvciB0aGlzIGxhbmd1YWdlLiAgKi8KLS0gIHZpcnR1YWwgQ09SRV9BRERSIHNraXBfdHJh bXBvbGluZSAoZnJhbWVfaW5mb19wdHIgZmksIENPUkVfQUREUiBwYykgY29uc3QKLSsgIHZpcnR1 YWwgQ09SRV9BRERSIHNraXBfdHJhbXBvbGluZSAoY29uc3QgZnJhbWVfaW5mb19wdHIgJmZpLCBD T1JFX0FERFIgcGMpIGNvbnN0Ci0gICB7Ci0gICAgIHJldHVybiAoQ09SRV9BRERSKSAwOwotICAg fQotQEAgLTc4OSw3ICs3ODksNyBAQCBleHRlcm4gY29uc3QgY2hhciAqbGFuZ3VhZ2Vfc3RyIChl bnVtIGxhbmd1YWdlKTsKLSAKLSAvKiBDaGVjayBmb3IgYSBsYW5ndWFnZS1zcGVjaWZpYyB0cmFt cG9saW5lLiAgKi8KLSAKLS1leHRlcm4gQ09SRV9BRERSIHNraXBfbGFuZ3VhZ2VfdHJhbXBvbGlu ZSAoZnJhbWVfaW5mb19wdHIsIENPUkVfQUREUiBwYyk7Ci0rZXh0ZXJuIENPUkVfQUREUiBza2lw X2xhbmd1YWdlX3RyYW1wb2xpbmUgKGNvbnN0IGZyYW1lX2luZm9fcHRyICYsIENPUkVfQUREUiBw Yyk7Ci0gCi0gLyogUmV0dXJuIGRlbWFuZ2xlZCBsYW5ndWFnZSBzeW1ib2wsIG9yIE5VTEwuICAq LwotIGV4dGVybiBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBsYW5ndWFnZV9kZW1hbmds ZQotZGlmZiAtLWdpdCBhL2dkYi9vYmpjLWxhbmcuYyBiL2dkYi9vYmpjLWxhbmcuYwotLS0tIGEv Z2RiL29iamMtbGFuZy5jCi0rKysgYi9nZGIvb2JqYy1sYW5nLmMKLUBAIC0yODIsNyArMjgyLDcg QEAgY2xhc3Mgb2JqY19sYW5ndWFnZSA6IHB1YmxpYyBsYW5ndWFnZV9kZWZuCi0gCi0gICAvKiBT ZWUgbGFuZ3VhZ2UuaC4gICovCi0gCi0tICBDT1JFX0FERFIgc2tpcF90cmFtcG9saW5lIChmcmFt ZV9pbmZvX3B0ciBmcmFtZSwKLSsgIENPUkVfQUREUiBza2lwX3RyYW1wb2xpbmUgKGNvbnN0IGZy YW1lX2luZm9fcHRyICZmcmFtZSwKLSAJCQkgICAgIENPUkVfQUREUiBzdG9wX3BjKSBjb25zdCBv dmVycmlkZQotICAgewotICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9h cmNoIChmcmFtZSk7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoyMjMzOTYxLUNWRS0yMDIyLTQ4MDYu cGF0Y2ggYi9nZGItcmhiejIyMzM5NjEtQ1ZFLTIwMjItNDgwNi5wYXRjaApkZWxldGVkIGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggNjMzYmQzMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejIyMzM5NjEt Q1ZFLTIwMjItNDgwNi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDUwICswLDAgQEAKLUZyb20g RkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiA9P1VURi04P3E/ QWxleGFuZHJhPTIwSD1DMz1BMWprb3Y9QzM9QTE/PSA8YWhhamtvdmFAcmVkaGF0LmNvbT4KLURh dGU6IFN1biwgMTcgU2VwIDIwMjMgMTM6MzY6MTMgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MjIz Mzk2MS1DVkUtMjAyMi00ODA2LnBhdGNoCi0KLTs7IEJhY2twb3J0IFBSMjk5MjIsIFNIVF9OT0JJ VFMgc2VjdGlvbgotOzsgYXZvaWRzIHNlY3Rpb24gc2l6ZSBzYW5pdHkgY2hlY2suCi0KLVBSMjk5 MjIsIFNIVF9OT0JJVFMgc2VjdGlvbiBhdm9pZHMgc2VjdGlvbiBzaXplIHNhbml0eSBjaGVjawot Ci0JUFIgMjk5MjIKLQkqIGR3YXJmMi5jIChmaW5kX2RlYnVnX2luZm8pOiBJZ25vcmUgc2VjdGlv bnMgd2l0aG91dAotCVNFQ19IQVNfQ09OVEVOVFMuCi0KLWRpZmYgLS1naXQgYS9iZmQvZHdhcmYy LmMgYi9iZmQvZHdhcmYyLmMKLS0tLSBhL2JmZC9kd2FyZjIuYwotKysrIGIvYmZkL2R3YXJmMi5j Ci1AQCAtNDgzMSwxNiArNDgzMSwxOSBAQCBmaW5kX2RlYnVnX2luZm8gKGJmZCAqYWJmZCwgY29u c3Qgc3RydWN0IGR3YXJmX2RlYnVnX3NlY3Rpb24gKmRlYnVnX3NlY3Rpb25zLAotICAgICB7Ci0g ICAgICAgbG9vayA9IGRlYnVnX3NlY3Rpb25zW2RlYnVnX2luZm9dLnVuY29tcHJlc3NlZF9uYW1l OwotICAgICAgIG1zZWMgPSBiZmRfZ2V0X3NlY3Rpb25fYnlfbmFtZSAoYWJmZCwgbG9vayk7Ci0t ICAgICAgaWYgKG1zZWMgIT0gTlVMTCkKLSsgICAgICAvKiBUZXN0aW5nIFNFQ19IQVNfQ09OVEVO VFMgaXMgYW4gYW50aS1mdXp6ZXIgbWVhc3VyZS4gIE9mCi0rCSBjb3Vyc2UgZGVidWcgc2VjdGlv bnMgYWx3YXlzIGhhdmUgY29udGVudHMuICAqLwotKyAgICAgIGlmIChtc2VjICE9IE5VTEwgJiYg KG1zZWMtPmZsYWdzICYgU0VDX0hBU19DT05URU5UUykgIT0gMCkKLSAJcmV0dXJuIG1zZWM7Ci0g Ci0gICAgICAgbG9vayA9IGRlYnVnX3NlY3Rpb25zW2RlYnVnX2luZm9dLmNvbXByZXNzZWRfbmFt ZTsKLSAgICAgICBtc2VjID0gYmZkX2dldF9zZWN0aW9uX2J5X25hbWUgKGFiZmQsIGxvb2spOwot LSAgICAgIGlmIChtc2VjICE9IE5VTEwpCi0rICAgICAgaWYgKG1zZWMgIT0gTlVMTCAmJiAobXNl Yy0+ZmxhZ3MgJiBTRUNfSEFTX0NPTlRFTlRTKSAhPSAwKQotICAgICAgICAgcmV0dXJuIG1zZWM7 Ci0gCi0gICAgICAgZm9yIChtc2VjID0gYWJmZC0+c2VjdGlvbnM7IG1zZWMgIT0gTlVMTDsgbXNl YyA9IG1zZWMtPm5leHQpCi0tCWlmIChzdGFydHN3aXRoIChtc2VjLT5uYW1lLCBHTlVfTElOS09O Q0VfSU5GTykpCi0rCWlmICgobXNlYy0+ZmxhZ3MgJiBTRUNfSEFTX0NPTlRFTlRTKSAhPSAwCi0r CSAgICAmJiBzdGFydHN3aXRoIChtc2VjLT5uYW1lLCBHTlVfTElOS09OQ0VfSU5GTykpCi0gCSAg cmV0dXJuIG1zZWM7Ci0gCi0gICAgICAgcmV0dXJuIE5VTEw7Ci1AQCAtNDg0OCw2ICs0ODUxLDkg QEAgZmluZF9kZWJ1Z19pbmZvIChiZmQgKmFiZmQsIGNvbnN0IHN0cnVjdCBkd2FyZl9kZWJ1Z19z ZWN0aW9uICpkZWJ1Z19zZWN0aW9ucywKLSAKLSAgIGZvciAobXNlYyA9IGFmdGVyX3NlYy0+bmV4 dDsgbXNlYyAhPSBOVUxMOyBtc2VjID0gbXNlYy0+bmV4dCkKLSAgICAgewotKyAgICAgIGlmICgo bXNlYy0+ZmxhZ3MgJiBTRUNfSEFTX0NPTlRFTlRTKSA9PSAwKQotKwljb250aW51ZTsKLSsKLSAg ICAgICBsb29rID0gZGVidWdfc2VjdGlvbnNbZGVidWdfaW5mb10udW5jb21wcmVzc2VkX25hbWU7 Ci0gICAgICAgaWYgKHN0cmNtcCAobXNlYy0+bmFtZSwgbG9vaykgPT0gMCkKLSAJcmV0dXJuIG1z ZWM7CgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYnoyMjMzOTY1LW1lbW9yeS1sZWFrLnBhdGNoIGIvZ2Ri LXJoYnoyMjMzOTY1LW1lbW9yeS1sZWFrLnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDRiYTNiLi4wMDAwMDAwCi0tLSBhL2dkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVhay5w YXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDExNSArMCwwIEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVT IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTogPT9VVEYtOD9xP0FsZXhhbmRyYT0yMEg9 QzM9QTFqa292PUMzPUExPz0gPGFoYWprb3ZhQHJlZGhhdC5jb20+Ci1EYXRlOiBTdW4sIDEgT2N0 IDIwMjMgMTA6MzY6MDYgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6MjIzMzk2NS1tZW1vcnktbGVh ay5wYXRjaAotCi07OyBCYWNrcG9ydCBQUjI5OTI1LCBNZW1vcnkgbGVhayBpbiBmaW5kX2Fic3Ry YWN0X2luc3RhbmNlCi0KLVBSMjk5MjUsIE1lbW9yeSBsZWFrIGluIGZpbmRfYWJzdHJhY3RfaW5z dGFuY2UKLQotVGhlIHRlc3RjYXNlIGluIHRoZSBQUiBoYWQgYSB2YXJpYWJsZSB3aXRoIGJvdGgg RFdfQVRfZGVjbF9maWxlIGFuZAotRFdfQVRfc3BlY2lmaWNhdGlvbiwgd2hlcmUgdGhlIERXX0FU X3NwZWNpZmljYXRpb24gYWxzbyBzcGVjaWZpZWQKLURXX0FUX2RlY2xfZmlsZS4gIFRoaXMgbGVh ZHMgdG8gYSBtZW1vcnkgbGVhayBhcyB0aGUgZmlsZSBuYW1lIGlzCi1tYWxsb2NlZCBhbmQgZHVw bGljYXRlcyBhcmUgbm90IGV4cGVjdGVkLgotCi1JJ3ZlIGFsc28gY2hhbmdlZCBmaW5kX2Fic3Ry YWN0X2luc3RhbmNlIHRvIG5vdCB1c2UgYSB0ZW1wIGZvciAibmFtZSIsCi1iZWNhdXNlIHRoYXQg Y2FuIHJlc3VsdCBpbiBhIGNoYW5nZSBpbiBiZWhhdmlvdXIgZnJvbSB0aGUgdXN1YWwgbGFzdAot b2YgZHVwbGljYXRlIGF0dHJpYnV0ZXMgd2lucy4KLQotCVBSIDI5OTI1Ci0JKiBkd2FyZjIuYyAo ZmluZF9hYnN0cmFjdF9pbnN0YW5jZSk6IERlbGV0ZSAibmFtZSIgdmFyaWFibGUuCi0JRnJlZSAq ZmlsZW5hbWVfcHRyIGJlZm9yZSBhc3NpZ25pbmcgbmV3IGZpbGUgbmFtZS4KLQkoc2Nhbl91bml0 X2Zvcl9zeW1ib2xzKTogU2ltaWxhcmx5IGZyZWUgZnVuYy0+ZmlsZSBhbmQKLQl2YXItPmZpbGUg YmVmb3JlIGFzc2lnbmluZy4KLQotZGlmZiAtLWdpdCBhL2JmZC9kd2FyZjIuYyBiL2JmZC9kd2Fy ZjIuYwotLS0tIGEvYmZkL2R3YXJmMi5jCi0rKysgYi9iZmQvZHdhcmYyLmMKLUBAIC0zNDQxLDcg KzM0NDEsNiBAQCBmaW5kX2Fic3RyYWN0X2luc3RhbmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0 LAotICAgc3RydWN0IGFiYnJldl9pbmZvICphYmJyZXY7Ci0gICB1aW50NjRfdCBkaWVfcmVmID0g YXR0cl9wdHItPnUudmFsOwotICAgc3RydWN0IGF0dHJpYnV0ZSBhdHRyOwotLSAgY29uc3QgY2hh ciAqbmFtZSA9IE5VTEw7Ci0gCi0gICBpZiAocmVjdXJfY291bnQgPT0gMTAwKQotICAgICB7Ci1A QCAtMzYwMiw5ICszNjAxLDkgQEAgZmluZF9hYnN0cmFjdF9pbnN0YW5jZSAoc3RydWN0IGNvbXBf dW5pdCAqdW5pdCwKLSAJCWNhc2UgRFdfQVRfbmFtZToKLSAJCSAgLyogUHJlZmVyIERXX0FUX01J UFNfbGlua2FnZV9uYW1lIG9yIERXX0FUX2xpbmthZ2VfbmFtZQotIAkJICAgICBvdmVyIERXX0FU X25hbWUuICAqLwotLQkJICBpZiAobmFtZSA9PSBOVUxMICYmIGlzX3N0cl9mb3JtICgmYXR0cikp Ci0rCQkgIGlmICgqcG5hbWUgPT0gTlVMTCAmJiBpc19zdHJfZm9ybSAoJmF0dHIpKQotIAkJICAg IHsKLS0JCSAgICAgIG5hbWUgPSBhdHRyLnUuc3RyOwotKwkJICAgICAgKnBuYW1lID0gYXR0ci51 LnN0cjsKLSAJCSAgICAgIGlmIChtYW5nbGVfc3R5bGUgKHVuaXQtPmxhbmcpID09IDApCi0gCQkJ KmlzX2xpbmthZ2UgPSB0cnVlOwotIAkJICAgIH0KLUBAIC0zNjEyLDcgKzM2MTEsNyBAQCBmaW5k X2Fic3RyYWN0X2luc3RhbmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LAotIAkJY2FzZSBEV19B VF9zcGVjaWZpY2F0aW9uOgotIAkJICBpZiAoaXNfaW50X2Zvcm0gKCZhdHRyKQotIAkJICAgICAg JiYgIWZpbmRfYWJzdHJhY3RfaW5zdGFuY2UgKHVuaXQsICZhdHRyLCByZWN1cl9jb3VudCArIDEs Ci0tCQkJCQkJICAmbmFtZSwgaXNfbGlua2FnZSwKLSsJCQkJCQkgIHBuYW1lLCBpc19saW5rYWdl LAotIAkJCQkJCSAgZmlsZW5hbWVfcHRyLCBsaW5lbnVtYmVyX3B0cikpCi0gCQkgICAgcmV0dXJu IGZhbHNlOwotIAkJICBicmVhazsKLUBAIC0zNjIyLDcgKzM2MjEsNyBAQCBmaW5kX2Fic3RyYWN0 X2luc3RhbmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LAotIAkJICAgICBub24tc3RyaW5nIGZv cm1zIGludG8gdGhlc2UgYXR0cmlidXRlcy4gICovCi0gCQkgIGlmIChpc19zdHJfZm9ybSAoJmF0 dHIpKQotIAkJICAgIHsKLS0JCSAgICAgIG5hbWUgPSBhdHRyLnUuc3RyOwotKwkJICAgICAgKnBu YW1lID0gYXR0ci51LnN0cjsKLSAJCSAgICAgICppc19saW5rYWdlID0gdHJ1ZTsKLSAJCSAgICB9 Ci0gCQkgIGJyZWFrOwotQEAgLTM2MzAsOCArMzYyOSwxMSBAQCBmaW5kX2Fic3RyYWN0X2luc3Rh bmNlIChzdHJ1Y3QgY29tcF91bml0ICp1bml0LAotIAkJICBpZiAoIWNvbXBfdW5pdF9tYXliZV9k ZWNvZGVfbGluZV9pbmZvICh1bml0KSkKLSAJCSAgICByZXR1cm4gZmFsc2U7Ci0gCQkgIGlmIChp c19pbnRfZm9ybSAoJmF0dHIpKQotLQkJICAgICpmaWxlbmFtZV9wdHIgPSBjb25jYXRfZmlsZW5h bWUgKHVuaXQtPmxpbmVfdGFibGUsCi0tCQkJCQkJICAgICBhdHRyLnUudmFsKTsKLSsJCSAgICB7 Ci0rCQkgICAgICBmcmVlICgqZmlsZW5hbWVfcHRyKTsKLSsJCSAgICAgICpmaWxlbmFtZV9wdHIg PSBjb25jYXRfZmlsZW5hbWUgKHVuaXQtPmxpbmVfdGFibGUsCi0rCQkJCQkJICAgICAgIGF0dHIu dS52YWwpOwotKwkJICAgIH0KLSAJCSAgYnJlYWs7Ci0gCQljYXNlIERXX0FUX2RlY2xfbGluZToK LSAJCSAgaWYgKGlzX2ludF9mb3JtICgmYXR0cikpCi1AQCAtMzY0Myw3ICszNjQ1LDYgQEAgZmlu ZF9hYnN0cmFjdF9pbnN0YW5jZSAoc3RydWN0IGNvbXBfdW5pdCAqdW5pdCwKLSAJICAgIH0KLSAJ fQotICAgICB9Ci0tICAqcG5hbWUgPSBuYW1lOwotICAgcmV0dXJuIHRydWU7Ci0gfQotIAotQEAg LTQxMzksOCArNDE0MCwxMSBAQCBzY2FuX3VuaXRfZm9yX3N5bWJvbHMgKHN0cnVjdCBjb21wX3Vu aXQgKnVuaXQpCi0gCi0gCQljYXNlIERXX0FUX2RlY2xfZmlsZToKLSAJCSAgaWYgKGlzX2ludF9m b3JtICgmYXR0cikpCi0tCQkgICAgZnVuYy0+ZmlsZSA9IGNvbmNhdF9maWxlbmFtZSAodW5pdC0+ bGluZV90YWJsZSwKLS0JCQkJCQkgIGF0dHIudS52YWwpOwotKwkJICAgIHsKLSsJCSAgICAgIGZy ZWUgKGZ1bmMtPmZpbGUpOwotKwkJICAgICAgZnVuYy0+ZmlsZSA9IGNvbmNhdF9maWxlbmFtZSAo dW5pdC0+bGluZV90YWJsZSwKLSsJCQkJCQkgICAgYXR0ci51LnZhbCk7Ci0rCQkgICAgfQotIAkJ ICBicmVhazsKLSAKLSAJCWNhc2UgRFdfQVRfZGVjbF9saW5lOgotQEAgLTQxODIsOCArNDE4Niwx MSBAQCBzY2FuX3VuaXRfZm9yX3N5bWJvbHMgKHN0cnVjdCBjb21wX3VuaXQgKnVuaXQpCi0gCi0g CQljYXNlIERXX0FUX2RlY2xfZmlsZToKLSAJCSAgaWYgKGlzX2ludF9mb3JtICgmYXR0cikpCi0t CQkgICAgdmFyLT5maWxlID0gY29uY2F0X2ZpbGVuYW1lICh1bml0LT5saW5lX3RhYmxlLAotLQkJ CQkJCSBhdHRyLnUudmFsKTsKLSsJCSAgICB7Ci0rCQkgICAgICBmcmVlICh2YXItPmZpbGUpOwot KwkJICAgICAgdmFyLT5maWxlID0gY29uY2F0X2ZpbGVuYW1lICh1bml0LT5saW5lX3RhYmxlLAot KwkJCQkJCSAgIGF0dHIudS52YWwpOwotKwkJICAgIH0KLSAJCSAgYnJlYWs7Ci0gCi0gCQljYXNl IERXX0FUX2RlY2xfbGluZToKCmRpZmYgLS1naXQgYS9nZGIuc3BlYyBiL2dkYi5zcGVjCmluZGV4 IDNkYzU2MzMuLjQ1ZTNhYjYgMTAwNjQ0Ci0tLSBhL2dkYi5zcGVjCisrKyBiL2dkYi5zcGVjCkBA IC01MywxMSArNTMsMTEgQEAgTmFtZTogJXs/c2NsX3ByZWZpeH1nZGIKICMgU2VlIHRpbWVzdGFt cCBvZiBzb3VyY2UgZ251bGliIGluc3RhbGxlZCBpbnRvIGdudWxpYi8gLgogJWdsb2JhbCBzbmFw Z251bGliIDIwMjIwNTAxCiAlZ2xvYmFsIHRhcm5hbWUgZ2RiLSV7dmVyc2lvbn0KLVZlcnNpb246 IDEzLjIKK1ZlcnNpb246IDE0LjEKIAogIyBUaGUgcmVsZWFzZSBhbHdheXMgY29udGFpbnMgYSBs ZWFkaW5nIHJlc2VydmVkIG51bWJlciwgc3RhcnQgaXQgYXQgMS4KICMgYHVwc3RyZWFtJyBpcyBu b3QgYSBwYXJ0IG9mIGBuYW1lJyB0byBzdGF5IGZ1bGx5IHJwbSBkZXBlbmRlbmNpZXMgY29tcGF0 aWJsZSBmb3IgdGhlIHRlc3RpbmcuCi1SZWxlYXNlOiAxMiV7P2Rpc3R9CitSZWxlYXNlOiAxJXs/ ZGlzdH0KIAogTGljZW5zZTogR1BMLTMuMC1vci1sYXRlciBBTkQgQlNELTMtY2xhdXNlIEFORCBG U0ZBUCBBTkQgTEdQTC0yLjEtb3ItbGF0ZXIgQU5EIEdQTC0yLjAtb3ItbGF0ZXIgQU5EIExHUEwt Mi4wLW9yLWxhdGVyIEFORCBMaWNlbnNlUmVmLUZlZG9yYS1QdWJsaWMtRG9tYWluIEFORCBHRkRM LTEuMy1vci1sYXRlciBBTkQgTEdQTC0yLjAtb3ItbGF0ZXIgV0lUSCBHQ0MtZXhjZXB0aW9uLTIu MCBBTkQgR1BMLTMuMC1vci1sYXRlciBXSVRIIEdDQy1leGNlcHRpb24tMy4xIEFORCBHUEwtMi4w LW9yLWxhdGVyIFdJVEggR05VLWNvbXBpbGVyLWV4Y2VwdGlvbgogIyBEbyBub3QgcHJvdmlkZSBV UkwgZm9yIHNuYXBzaG90cyBhcyB0aGUgZmlsZSBsYXN0cyB0aGVyZSBvbmx5IGZvciAyIGRheXMu CkBAIC02MzksOSArNjM5LDcgQEAgQ09NTU9OX0dEQl9DT05GSUdVUkVfRkxBR1M9IlwKIAktLXdp dGhvdXQtbW1hcAkJCQkJCVwKICVlbmRpZgogCS0tZW5hYmxlLTY0LWJpdC1iZmQJCQkJCVwKLSVp ZiAwJXshP3JoZWw6MX0gfHwgMCV7P3JoZWx9ID4gNgotCS0td2l0aC1tcGZyCQkJCQkJXAotJWVs c2UKKyVpZiAwJXs/cmhlbDoxfSAmJiAwJXs/cmhlbH0gPD0gNgogCS0td2l0aG91dC1tcGZyCQkJ CQkJXAogJWVuZGlmCiAJLS13aXRoLXN5c3RlbS16bGliCQkJCQlcCkBAIC0xMjUyLDYgKzEyNTAs MzMgQEAgZmkKICVlbmRpZgogCiAlY2hhbmdlbG9nCisqIEZyaSBEZWMgOCAyMDIzIEtldmluIEJ1 ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNvbT4gLSAxNC4xLTEKKy0gUmViYXNlIHRvIEZTRiBHREIg MTQuMS4KKy0gVXBkYXRlIGxvY2FsIHBhdGNoZXM6CisgICAgZ2RiLTYuNS1iejE4NTMzNy1yZXNv bHZlLXRscy13aXRob3V0LWRlYnVnaW5mby12Mi5wYXRjaAorICAgIGdkYi02LjYtYnVpbGRpZC1s b2NhdGUtcnBtLnBhdGNoCisgICAgZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaAorICAgIGdk Yi1jb250YWluZXItcmgtcGtnLnBhdGNoCisgICAgZ2RiLWNvcmUtb3Blbi12ZHNvLXdhcm5pbmcu cGF0Y2gKKyAgICBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCisgICAgZ2RiLWxpbnV4X3Bl cmYtYnVuZGxlLnBhdGNoCistIFVwZGF0ZSBiYWNrcG9ydGVkIHBhdGNoZXMgd2hpY2ggZGlkbid0 IG1ha2UgaXQgaW50byAxNC4xOgorICAgIGdkYi1yaGJ6LTIyMzIwODYtY3BwLWlmeS1tYXBwZWQt c3ltdGFiLnBhdGNoCisgICAgZ2RiLXJoYnotMjIzMjA4Ni1nZW5lcmF0ZS1nZGItaW5kZXgtY29u c2lzdGVudGx5LnBhdGNoCistIERyb3AgdXBzdHJlYW1lZCBsb2NhbCBwYXRjaGVzOgorICAgIGdk Yi02LjUtc2hhcmVkbGlicmFyeS1wYXRoLnBhdGNoCistIERyb3AgZ2RiLTEzLjIgYmFja3BvcnRz ICh3aGljaCBhcmUgbm93IGluIGdkYi0xNC4xKToKKyAgICBnZGItYmludXRpbHMyOTk4OC1yZWFk X2luZGV4ZWRfYWRkcmVzcy5wYXRjaAorICAgIGdkYi1iejIxOTYzOTUtZGVidWdpbmZvZC1sZWdh Y3ktb3BlbnNzbC1jcmFzaC5wYXRjaAorICAgIGdkYi1iejIyMzczOTItZHdhcmYtb2JzdGFjay1h bGxvY2F0aW9uLnBhdGNoCisgICAgZ2RiLWJ6MjIzNzUxNS1kZWJ1Z2luZm9kLWRvdWJsZS1mcmVl LnBhdGNoCisgICAgZ2RiLXJoYnoyMTkyMTA1LWZ0YnMtZGFuZ2xpbmctcG9pbnRlcgorICAgIGdk Yi1yaGJ6MjIzMzk2MS1DVkUtMjAyMi00ODA2LnBhdGNoCisgICAgZ2RiLXJoYnoyMjMzOTY1LW1l bW9yeS1sZWFrLnBhdGNoCistIEFkanVzdCBnZGIuc3BlYyBzbyB0aGF0IC0td2l0aC1tcGZyIGlz IG5vIGxvbmdlciBwYXNzZWQgdG8KKyAgY29uZmlndXJlOyBkb2luZyBzbywgY29tYmluZWQgd2l0 aCBzb21lIGNvbmZpZ3VyeSBjaGFuZ2VzIHRyaWdnZXJlZAorICBhIGxhdGVudCBidWlsZCBwcm9i bGVtLgorCiAqIE1vbiBEZWMgNCAyMDIzIEtldmluIEJ1ZXR0bmVyIDxrZXZpbmJAcmVkaGF0LmNv bT4KIC0gUmVtb3ZlIGdkYi02LjUtbWlzc2VkLXRyYXAtb24tc3RlcC10ZXN0LnBhdGNoLiAgVGVz dGluZyB3aGF0IGhhcHBlbnMKICAgd2hlbiBzdGVwcGluZyBvdmVyL3Rocm91Z2ggYSBzdGF0ZW1l bnQgd2hpY2ggdHJpZ2dlcnMgYSB3YXRjaHBvaW50CgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3Nv dXJjZXMKaW5kZXggYmFjOTgzMC4uOTYwYTQ4OSAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9z b3VyY2VzCkBAIC0xLDMgKzEsMyBAQAogU0hBNTEyIChnZGItbGlic3RkYysrLXYzLXB5dGhvbi04 LjEuMS0yMDE4MDYyNi50YXIueHopID0gYThiMWM1NGRkMzQ4Y2ZlYjM3ZGE3M2Y5Njg3NDI4OTZi ZTNkZDEzYTQyMTVmOGQ4NTE5ODcwYzJhYmVhOTE1ZjUxNzZjM2ZhNjk4OWRkZDEwZjIwMDIwYTE2 ZjBmYWIyMGNiYWU2OGVlOGQ1OGE4MjIzNGQ4Nzc4MDIzNTIwZjgKIFNIQTUxMiAodjIuMC41LnRh ci5neikgPSAyZTdhYzJhZWRlODQ2NzFiMTU1OTdkOWM1NmRiZTA3N2E4MTM1N2JiZjQ0YjY2ODQ4 MDI1OTIyNDZmYjc3MjliNGE1NzQzMjM4ZGRmMDJmNmVhMTQzYjRkMjk4NzJmNTgxNDA4MTM1Zjlj MWVhMWNjYzk5ZGFiOTA1OTE2ZDk4ZAotU0hBNTEyIChnZGItMTMuMi50YXIueHopID0gODE4NWQz ZTExYWI2MGRhZmZmNTg2MGE1MDE2NTc3YmZlN2RkNzU0N2VmMDFlYmM4NjdiYzI0NzYwM2Q4MmI3 NGZmNzRjNGYyOTQ5MmM3ZDJhZWU1NzA3NmY1MmJlMzNlMjg5ZjRjNmI0MTRhNGI4NzBkNGIzMDA0 OTA5ZjRjMzQKK1NIQTUxMiAoZ2RiLTE0LjEudGFyLnh6KSA9IDU3NWUxOTgxMDUwNzZmYzRhODhm Njg1OTFhYTExNGFiOWMxMTk2ZTg0Mzg2YTNmN2I5YjU4ZmU1ZjMwY2RlZWQzM2Y2YTVmOTU3YjY4 ZjA4YzQ3Mjg0ZWM5MjJiYjYwYzk2NDYyN2UyMzg0NzE0MTk2NzNmZDkxMzU3NWNlNDI3Cg==