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: Sergio Durigan Junior To: git-commits@fedoraproject.org Subject: [rpms/gdb] fix-dup-patch: Rebase to FSF GDB 8.3.50.20190412 (8.4pre). Date: Thu, 23 Jul 2026 18:33:50 GMT Message-ID: <178483163013.1.13985525139436298102.rpms-gdb-e90857f9de0f@fedoraproject.org> List-ID: X-Git-Repo: rpms/gdb X-Git-Branch: fix-dup-patch X-Git-Rev: e90857f9de0f9fa3219618bc601fc804f7a1f768 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvZ2RiCiAgICAgICAgICAgIEJyYW5jaCA6IGZpeC1kdXAtcGF0Y2gKICAgICAg ICAgICAgQ29tbWl0IDogZTkwODU3ZjlkZTBmOWZhMzIxOTYxOGJjNjAxZmM4MDRmN2ExZjc2OAog ICAgICAgICAgICBBdXRob3IgOiBTZXJnaW8gRHVyaWdhbiBKdW5pb3IgPHNlcmdpb2RqQHJlZGhh dC5jb20+CiAgICAgICAgICAgIERhdGUgICA6IDIwMTktMDQtMTJUMTY6MzU6NTktMDQ6MDAKICAg ICAgICAgICAgU3RhdHMgIDogKzI4NC8tNzI5MyBpbiA0NCBmaWxlKHMpCiAgICAgICAgICAgIFVS TCAgICA6IGh0dHBzOi8vc3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvZ2RiL2MvZTkwODU3Zjlk ZTBmOWZhMzIxOTYxOGJjNjAxZmM4MDRmN2ExZjc2OD9icmFuY2g9Zml4LWR1cC1wYXRjaAoKICAg ICAgICAgICAgTG9nOgogICAgICAgICAgICBSZWJhc2UgdG8gRlNGIEdEQiA4LjMuNTAuMjAxOTA0 MTIgKDguNHByZSkuCkFkanVzdCAnZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0yMDA0MTIwMi5wYXRj aCcuClJlbW92ZSAnZ2RiLWZvbGxvdy1jaGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gnLgpSZW1vdmUg J2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1 NDI0LWJpdHBvcy0yMW9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0y Mm9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gn LgpSZW1vdmUgJ2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gnLgpSZW1vdmUgJ2dk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaCcuClJlbW92ZSAnZ2RiLXJoYno3 OTU0MjQtYml0cG9zLWFycmF5dmlldy5wYXRjaCcuClJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0 cG9zLWxhenl2YWx1ZS5wYXRjaCcuClJlbW92ZSAnZ2RiLWJ6NTQxODY2LXJ3YXRjaC1iZWZvcmUt cnVuLnBhdGNoJy4KCi0tLQpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUKaW5k ZXggYzFkZDMxZC4uMGQ2Yjk5MCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0aWdu b3JlCkBAIC0xLDMgKzEsMyBAQAogL2dkYi1saWJzdGRjKystdjMtcHl0aG9uLTguMS4xLTIwMTgw NjI2LnRhci54egogL3YyLjAudGFyLmd6Ci0vZ2RiLTguMy41MC4yMDE5MDMyMS50YXIueHoKKy9n ZGItOC4zLjUwLjIwMTkwNDEyLnRhci54egoKZGlmZiAtLWdpdCBhL19nZGIuc3BlYy5QYXRjaC5p bmNsdWRlIGIvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKaW5kZXggMDI1OTZiZS4uZDNlYzE4ZSAx MDA2NDQKLS0tIGEvX2dkYi5zcGVjLlBhdGNoLmluY2x1ZGUKKysrIGIvX2dkYi5zcGVjLlBhdGNo LmluY2x1ZGUKQEAgLTE5NiwyNzMgKzE5NiwyMjQgQEAgUGF0Y2gwNDg6IGdkYi14ODZfNjQtaTM4 Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKICM9cHVzaCtqYW46IEl0IHJlcXVpcmVzIHNvbWUgYmV0 dGVyIERXQVJGIGFubm90YXRpb25zLgogUGF0Y2gwNDk6IGdkYi1iejUzMzE3Ni1mb3J0cmFuLW9t cC1zdGVwLnBhdGNoCiAKLSMgRml4IHJlZ3Jlc3Npb24gYnkgcHl0aG9uIG9uIGlhNjQgZHVlIHRv IHN0YWxlIGN1cnJlbnQgZnJhbWUuCi0jPXB1c2gramFuCi1QYXRjaDA1MDogZ2RiLWZvbGxvdy1j aGlsZC1zdGFsZS1wYXJlbnQucGF0Y2gKLQogIyBXb3JrYXJvdW5kIGNjYWNoZSBtYWtpbmcgbGlu ZW5vIG5vbi16ZXJvIGZvciBjb21tYW5kLWxpbmUgZGVmaW5pdGlvbnMuCiAjPWZlZG9yYXRlc3Q6 IGNjYWNoZSBpcyByYXJlbHkgdXNlZCBhbmQgaXQgaXMgZXZlbiBmaXhlZCBub3cuCi1QYXRjaDA1 MTogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA1MDogZ2RiLWNjYWNoZS13b3Jr YXJvdW5kLnBhdGNoCiAKICM9cHVzaCtqYW46IE1heSBnZXQgb2Jzb2xldGVkIGJ5IFRvbSdzIHVu cmVsb2NhdGVkIG9iamZpbGVzIHBhdGNoLgotUGF0Y2gwNTI6IGdkYi1hcmNoZXItcGllLWFkZG9u cy5wYXRjaAorUGF0Y2gwNTE6IGdkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaAogCiAjPXB1c2gr amFuOiBCcmVha3BvaW50cyBkaXNhYmxpbmcgbWF0Y2hpbmcgc2hvdWxkIG5vdCBiZSBiYXNlZCBv biBhZGRyZXNzLgotUGF0Y2gwNTM6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVk LnBhdGNoCitQYXRjaDA1MjogZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0 Y2gKIAogIyBUZXN0Y2FzZSBmb3IgIkRvIG5vdCBtYWtlIHVwIGxpbmUgaW5mb3JtYXRpb24iIGZp eCBieSBEYW5pZWwgSmFjb2Jvd2l0ei4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNTQ6IGdkYi1saW5l bm8tbWFrZXVwLXRlc3QucGF0Y2gKK1BhdGNoMDUzOiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBh dGNoCiAKICMgVGVzdCBwb3dlcjcgcHBjIGRpc2Fzc2VtYmx5LgogIz1mZWRvcmF0ZXN0Ci1QYXRj aDA1NTogZ2RiLXBwYy1wb3dlcjctdGVzdC5wYXRjaAotCi0jIEZpeCBpMzg2K3g4Nl82NCByd2F0 Y2grYXdhdGNoIGJlZm9yZSBydW4sIHJlZ3Jlc3Npb24gYWdhaW5zdCA2LjggKEJaIDU0MTg2Niku Ci0jIEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4Nzg4LCBvbiB0b3Ag b2YgQlogNTQxODY2KS4KLSM9cHVzaCtqYW46IEl0IHNob3VsZCBiZSBmaXhlZCBwcm9wZXJseSBp bnN0ZWFkLgotUGF0Y2gwNTY6IGdkYi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaAor UGF0Y2gwNTQ6IGdkYi1wcGMtcG93ZXI3LXRlc3QucGF0Y2gKIAogIyBXb3JrYXJvdW5kIG5vbi1z dG9wIG1vcmlidW5kIGxvY2F0aW9ucyBleHBsb2l0ZWQgYnkga2VybmVsIHV0cmFjZSAoQlogNTkw NjIzKS4KICM9cHVzaCtqYW46IEN1cnJlbnRseSBpdCBpcyBzdGlsbCBub3QgZnVsbHkgc2FmZS4K LVBhdGNoMDU3OiBnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKK1BhdGNoMDU1 OiBnZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKIAogIyBGaXggZm9sbG93LWV4 ZWMgZm9yIEMrKyBwcm9ncmFtcyAoYnVncmVwb3J0ZWQgYnkgTWFydGluIFN0cmFuc2t5KS4KICM9 ZmVkb3JhdGVzdAotUGF0Y2gwNTg6IGdkYi1hcmNoZXItbmV4dC1vdmVyLXRocm93LWN4eC1leGVj LnBhdGNoCitQYXRjaDA1NjogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMucGF0 Y2gKIAogIyBCYWNrcG9ydCBEV0FSRi00IHN1cHBvcnQgKEJaIDYwMTg4NywgVG9tIFRyb21leSku CiAjPWZlZG9yYXRlc3QKLVBhdGNoMDU5OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0 Y2gKK1BhdGNoMDU3OiBnZGItYno2MDE4ODctZHdhcmY0LXJoLXRlc3QucGF0Y2gKIAogIz1wdXNo K2phbgotUGF0Y2gwNjA6IGdkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gK K1BhdGNoMDU4OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCiAKICMg V29ya2Fyb3VuZCBsaWJycG0gQlogNjQzMDMxIGR1ZSB0byBpdHMgdW5leHBlY3RlZCBleGl0KCkg Y2FsbHMgKEJaIDY0Mjg3OSkuCiAjPXB1c2gramFuCi1QYXRjaDA2MTogZ2RiLTYuNi1idWlsZGlk LWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKK1BhdGNoMDU5OiBnZGItNi42LWJ1 aWxkaWQtbG9jYXRlLXJwbS1saWJycG0td29ya2Fyb3VuZC5wYXRjaAogCiAjIFtkZWxheWVkLXN5 bWZpbGVdIFRlc3QgYSBiYWNrdHJhY2UgcmVncmVzc2lvbiBvbiBDRklzIHdpdGhvdXQgRElFIChC WiA2MTQ2MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2MjogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhv dXQtZGllLnBhdGNoCitQYXRjaDA2MDogZ2RiLXRlc3QtYnQtY2ZpLXdpdGhvdXQtZGllLnBhdGNo CiAKICMgT3V0IG9mIG1lbW9yeSBpcyBqdXN0IGFuIGVycm9yLCBub3QgZmF0YWwgKHVuaW5pdGlh bGl6ZWQgVkxTIHZhcnMsIEJaIDU2ODI0OCkuCiAjPXB1c2gramFuOiBJbmZlcmlvciBvYmplY3Rz IHNob3VsZCBiZSByZWFkIGluIHBhcnRzLCB0aGVuIHRoaXMgcGF0Y2ggZ2V0cyBvYnNvbGV0ZWQu Ci1QYXRjaDA2MzogZ2RiLWJ6NTY4MjQ4LW9vbS1pcy1lcnJvci5wYXRjaAorUGF0Y2gwNjE6IGdk Yi1iejU2ODI0OC1vb20taXMtZXJyb3IucGF0Y2gKIAogIyBWZXJpZnkgR0RCIFB5dGhvbiBidWls dC1pbiBmdW5jdGlvbiBnZGIuc29saWJfYWRkcmVzcyBleGlzdHMgKEJaICMgNjM0MTA4KS4KICM9 ZmVkb3JhdGVzdAotUGF0Y2gwNjQ6IGdkYi1iejYzNDEwOC1zb2xpYl9hZGRyZXNzLnBhdGNoCitQ YXRjaDA2MjogZ2RiLWJ6NjM0MTA4LXNvbGliX2FkZHJlc3MucGF0Y2gKIAogIyBOZXcgdGVzdCBn ZGIuYXJjaC94ODZfNjQtcGlkMC1jb3JlLmV4cCBmb3Iga2VybmVsIFBJRCAwIGNvcmVzIChCWiA2 MTE0MzUpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA2NTogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNo CitQYXRjaDA2MzogZ2RiLXRlc3QtcGlkMC1jb3JlLnBhdGNoCiAKICMgW2FyY2hlci10cm9tZXkt ZGVsYXllZC1zeW1maWxlXSBOZXcgdGVzdCBnZGIuZHdhcmYyL2R3Mi1hcmFuZ2VzLmV4cC4KICM9 ZmVkb3JhdGVzdAotUGF0Y2gwNjY6IGdkYi10ZXN0LWR3Mi1hcmFuZ2VzLnBhdGNoCitQYXRjaDA2 NDogZ2RiLXRlc3QtZHcyLWFyYW5nZXMucGF0Y2gKIAogIyBbYXJjaGVyLWtlaXRocy1leHByLWN1 bXVsYXRpdmUrdXBzdHJlYW1dIEltcG9ydCBDKysgdGVzdGNhc2VzLgogIz1mZWRvcmF0ZXN0Ci1Q YXRjaDA2NzogZ2RiLXRlc3QtZXhwci1jdW11bGF0aXZlLWFyY2hlci5wYXRjaAorUGF0Y2gwNjU6 IGdkYi10ZXN0LWV4cHItY3VtdWxhdGl2ZS1hcmNoZXIucGF0Y2gKIAogIyBGaXggcmVncmVzc2lv bnMgb24gQysrIG5hbWVzIHJlc29sdmluZyAoUFIgMTE3MzQsIFBSIDEyMjczLCBLZWl0aCBTZWl0 eikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDY4OiBnZGItcGh5c25hbWUtcHIxMTczNC10ZXN0LnBh dGNoCitQYXRjaDA2NjogZ2RiLXBoeXNuYW1lLXByMTE3MzQtdGVzdC5wYXRjaAogCiAjIEZpeCBy ZWdyZXNzaW9ucyBvbiBDKysgbmFtZXMgcmVzb2x2aW5nIChQUiAxMTczNCwgUFIgMTIyNzMsIEtl aXRoIFNlaXR6KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwNjk6IGdkYi1waHlzbmFtZS1wcjEyMjcz LXRlc3QucGF0Y2gKK1BhdGNoMDY3OiBnZGItcGh5c25hbWUtcHIxMjI3My10ZXN0LnBhdGNoCiAK ICMgVGVzdCBHREIgb3Bjb2Rlcy8gZGlzYXNzZW1ibHkgb2YgSW50ZWwgSXZ5IEJyaWRnZSBpbnN0 cnVjdGlvbnMgKEJaIDY5Njg5MCkuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDcwOiBnZGItdGVzdC1p dnktYnJpZGdlLnBhdGNoCitQYXRjaDA2ODogZ2RiLXRlc3QtaXZ5LWJyaWRnZS5wYXRjaAogCiAj IEhhY2sgZm9yIHByb3BlciBQSUUgcnVuIG9mIHRoZSB0ZXN0c3VpdGUuCiAjPWZlZG9yYXRlc3QK LVBhdGNoMDcxOiBnZGItcnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKK1BhdGNoMDY5OiBnZGIt cnVudGVzdC1waWUtb3ZlcnJpZGUucGF0Y2gKIAogIyBQcmludCByZWFzb25zIGZvciBmYWlsZWQg YXR0YWNoL3NwYXduIGluY2wuIFNFTGludXggZGVueV9wdHJhY2UgKEJaIDc4Njg3OCkuCiAjPXB1 c2gramFuCi1QYXRjaDA3MjogZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAorUGF0 Y2gwNzA6IGdkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUucGF0Y2gKIAogIyBXb3JrYXJvdW5k IFBSIGxpYmMvMTQxNjYgZm9yIGluZmVyaW9yIGNhbGxzIG9mIHN0cnN0ci4KICM9ZmVkb3JhdGVz dDogQ29tcGF0aWJpbGl0eSB3aXRoIFJIRUxzICh1bmNoZWNrZWQgd2hpY2ggb25lcykuCi1QYXRj aDA3MzogZ2RiLWdsaWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCitQYXRjaDA3MTogZ2RiLWds aWJjLXN0cnN0ci13b3JrYXJvdW5kLnBhdGNoCiAKICMgSW5jbHVkZSB0ZXN0Y2FzZSBmb3IgYFVu YWJsZSB0byBzZWUgYSB2YXJpYWJsZSBpbnNpZGUgYSBtb2R1bGUgKFhMRiknIChCWiA4MjM3ODkp LgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA3NDogZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1p bnNpZGUtbW9kLnBhdGNoCitQYXRjaDA3MjogZ2RiLXJoZWw1LjktdGVzdGNhc2UteGxmLXZhci1p bnNpZGUtbW9kLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yIGBTZXR0aW5nIHNvbGliLWFic29sdXRl LXByZWZpeCBicmVha3MgdkRTTycgKEJaIDgxODM0MykuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDc1 OiBnZGItcmhiei04MTgzNDMtc2V0LXNvbGliLWFic29sdXRlLXByZWZpeC10ZXN0Y2FzZS5wYXRj aAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQg aXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA3 NjogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIwb2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5v dCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUIn Ci0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA3NzogZ2RiLXJoYno3OTU0MjQtYml0 cG9zLTIxb2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJl ciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgot Iz1wdXNoCi1QYXRjaDA3ODogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaAotCi0j IEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFy Z2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA3OTogZ2Ri LXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nl c3Mgc3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChS SCBCWiA3OTU0MjQpLgotIz1wdXNoCi1QYXRjaDA4MDogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1 b2YyNS5wYXRjaAotCi0jIEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mgc3RydWN0IG1lbWJlciB3aG9z ZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi0jIChSSCBCWiA3OTU0MjQpLgotIz1wdXNo Ci1QYXRjaDA4MTogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoCi0KLSMg Rml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNldCBpcyBsYXJn ZXIgdGhhbiAyNTZNQicKLSMgKFJIIEJaIDc5NTQyNCkuCi0jPXB1c2gKLVBhdGNoMDgyOiBnZGIt cmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCitQYXRjaDA3MzogZ2RiLXJoYnotODE4 MzQzLXNldC1zb2xpYi1hYnNvbHV0ZS1wcmVmaXgtdGVzdGNhc2UucGF0Y2gKIAogIyBJbXBvcnQg cmVncmVzc2lvbiB0ZXN0IGZvciBgZ2RiL2ZpbmR2YXIuYzo0MTc6IGludGVybmFsLWVycm9yOgog IyByZWFkX3Zhcl92YWx1ZTogQXNzZXJ0aW9uIGBmcmFtZScgZmFpbGVkLicgKFJIIEJaIDk0NzU2 NCkgZnJvbSBSSEVMIDYuNS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwODM6IGdkYi1yaGJ6OTQ3NTY0 LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAorUGF0Y2gwNzQ6 IGdkYi1yaGJ6OTQ3NTY0LWZpbmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5w YXRjaAogCiAjIEZpeCBjcmFzaCBvZiAtcmVhZG5vdyAvdXNyL2xpYi9kZWJ1Zy91c3IvYmluL2du YXRiaW5kLmRlYnVnIChCWiAxMDY5MjExKS4KICM9cHVzaCtqYW4KLVBhdGNoMDg0OiBnZGItZ25h dC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCitQYXRjaDA3NTogZ2RiLWduYXQtZHdhcmYtY3Jhc2gt M29mMy5wYXRjaAogCiAjIEZpeCAnbWVtb3J5IGxlYWsgaW4gaW5mcHlfcmVhZF9tZW1vcnkoKScg KFJIIEJaIDEwMDc2MTQpCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDg1OiBnZGItcmhiejEwMDc2MTQt bWVtbGVhay1pbmZweV9yZWFkX21lbW9yeS10ZXN0LnBhdGNoCitQYXRjaDA3NjogZ2RiLXJoYnox MDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9tZW1vcnktdGVzdC5wYXRjaAogCiAjIEZpeCAnZ2Ri IGdpdmVzIGhpZ2hseSBtaXNsZWFkaW5nIGVycm9yIHdoZW4gZGVidWdpbmZvIHBrZyBpcyBwcmVz ZW50LAogIyBidXQgbm90IGNvcnJlc3BvbmRpbmcgYmluYXJ5IHBrZycgKFJIIEJaIDk4MTE1NCku CiAjPXB1c2gramFuCi1QYXRjaDA4NjogZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1taXNsZWFkaW5n LXdhcm5pbmctbWlzc2luZy1kZWJ1Z2luZm8tcmhiejk4MTE1NC5wYXRjaAorUGF0Y2gwNzc6IGdk Yi02LjYtYnVpbGRpZC1sb2NhdGUtbWlzbGVhZGluZy13YXJuaW5nLW1pc3NpbmctZGVidWdpbmZv LXJoYno5ODExNTQucGF0Y2gKIAogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA4NzogZ2RiLWFyY2hlci12 bGEtdGVzdHMucGF0Y2gKK1BhdGNoMDc4OiBnZGItYXJjaGVyLXZsYS10ZXN0cy5wYXRjaAogCiAj PWZlZG9yYXRlc3QKLVBhdGNoMDg4OiBnZGItdmxhLWludGVsLXRlc3RzLnBhdGNoCitQYXRjaDA3 OTogZ2RiLXZsYS1pbnRlbC10ZXN0cy5wYXRjaAogCiAjIENvbnRpbnVlIGJhY2t0cmFjZSBldmVu IGlmIGEgZnJhbWUgZmlsdGVyIHRocm93cyBhbiBleGNlcHRpb24gKFBoaWwgTXVsZG9vbikuCiAj PXB1c2gKLVBhdGNoMDg5OiBnZGItYnRyb2J1c3QucGF0Y2gKK1BhdGNoMDgwOiBnZGItYnRyb2J1 c3QucGF0Y2gKIAogIyBEaXNwbGF5IEZvcnRyYW4gc3RyaW5ncyBpbiBiYWNrdHJhY2VzLgogIz1m ZWRvcmF0ZXN0Ci1QYXRjaDA5MDogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCitQYXRj aDA4MTogZ2RiLWZvcnRyYW4tZnJhbWUtc3RyaW5nLnBhdGNoCiAKICMgVGVzdGNhc2UgZm9yICdb U0FQXSBSZWN1cnNpdmUgZGxvcGVuIGNhdXNlcyBTQVAgSEFOQSBpbnN0YWxsZXIgdG8KICMgY3Jh c2guJyAoUkggQlogMTE1NjE5MikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDkxOiBnZGItcmhiejEx NTYxOTItcmVjdXJzaXZlLWRsb3Blbi10ZXN0LnBhdGNoCitQYXRjaDA4MjogZ2RiLXJoYnoxMTU2 MTkyLXJlY3Vyc2l2ZS1kbG9wZW4tdGVzdC5wYXRjaAogCiAjIEZpeCBqaXQtcmVhZGVyLmggZm9y IG11bHRpLWxpYi4KICM9cHVzaCtqYW4KLVBhdGNoMDkyOiBnZGItaml0LXJlYWRlci1tdWx0aWxp Yi5wYXRjaAorUGF0Y2gwODM6IGdkYi1qaXQtcmVhZGVyLW11bHRpbGliLnBhdGNoCiAKICMgRml4 ICdgY2F0Y2ggc3lzY2FsbCcgZG9lc24ndCB3b3JrIGZvciBwYXJlbnQgYWZ0ZXIgYGZvcmsnIGlz IGNhbGxlZCcKICMgKFBoaWxpcHBlIFdhcm9xdWllcnMsIFJIIEJaIDExNDkyMDUpLgogIz1mZWRv cmF0ZXN0Ci1QYXRjaDA5MzogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0ZXItZm9y ay10ZXN0LnBhdGNoCitQYXRjaDA4NDogZ2RiLXJoYnoxMTQ5MjA1LWNhdGNoLXN5c2NhbGwtYWZ0 ZXItZm9yay10ZXN0LnBhdGNoCiAKICMgRml4ICdiYWNrcG9ydCBHREIgNy40IGZpeCB0byBSSEVM IDYuNiBHREInIFtPcmlnaW5hbCBTb3VyY2V3YXJlIGJ1ZwogIyBkZXNjcmlwdGlvbjogJ0MrKyAo YW5kIG9iamMpOiBJbnRlcm5hbCBlcnJvciBvbiB1bnF1YWxpZmllZCBuYW1lCiAjIHJlLXNldCcs IFBSIDExNjU3XSAoUkggQlogMTE4NjQ3NikuCiAjPWZlZG9yYXRlc3QKLVBhdGNoMDk0OiBnZGIt cmhiejExODY0NzYtaW50ZXJuYWwtZXJyb3ItdW5xdWFsaWZpZWQtbmFtZS1yZS1zZXQtdGVzdC5w YXRjaAorUGF0Y2gwODU6IGdkYi1yaGJ6MTE4NjQ3Ni1pbnRlcm5hbC1lcnJvci11bnF1YWxpZmll ZC1uYW1lLXJlLXNldC10ZXN0LnBhdGNoCiAKICMgVGVzdCAnaW5mbyB0eXBlLXByaW50ZXJzJyBQ eXRob24gZXJyb3IgKFJIIEJaIDEzNTA0MzYpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5NTogZ2Ri LXJoYnoxMzUwNDM2LXR5cGUtcHJpbnRlcnMtZXJyb3IucGF0Y2gKK1BhdGNoMDg2OiBnZGItcmhi ejEzNTA0MzYtdHlwZS1wcmludGVycy1lcnJvci5wYXRjaAogCiAjIEZpeCAnW3BwYzY0XSBhbmQg W3MzOTB4XSB3cm9uZyBwcm9sb2d1ZSBza2lwIG9uIC1PMiAtZyBjb2RlJyAoSmFuCiAjIEtyYXRv Y2h2aWwsIFJIIEJaIDEwODQ0MDQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDA5NjogZ2RiLXJoYnox MDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAtTzItZy0zb2YzLnBhdGNoCitQ YXRjaDA4NzogZ2RiLXJoYnoxMDg0NDA0LXBwYzY0LXMzOTB4LXdyb25nLXByb2xvZ3VlLXNraXAt TzItZy0zb2YzLnBhdGNoCiAKICMgTmV2ZXIga2lsbCBQSUQgb246IGdkYiBleGVjIFBJRCAoSmFu IEtyYXRvY2h2aWwsIFJIIEJaIDEyMTk3NDcpLgogIz1wdXNoK2phbgotUGF0Y2gwOTc6IGdkYi1i ejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoCitQYXRjaDA4ODogZ2RiLWJ6MTIxOTc0Ny1hdHRh Y2gta2lsbHMucGF0Y2gKIAogIyBGb3JjZSBsaWJuY3Vyc2VzdyBvdmVyIGxpYm5jdXJzZXMgdG8g bWF0Y2ggdGhlIGluY2x1ZGVzIChSSCBCWiAxMjcwNTM0KS4KICM9cHVzaCtqYW4KLVBhdGNoMDk4 OiBnZGItZmVkb3JhLWxpYm5jdXJzZXN3LnBhdGNoCitQYXRjaDA4OTogZ2RiLWZlZG9yYS1saWJu Y3Vyc2Vzdy5wYXRjaAogCiAjIFRlc3QgY2xmbHVzaG9wdCBpbnN0cnVjdGlvbiBkZWNvZGUgKGZv ciBSSCBCWiAxMjYyNDcxKS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gwOTk6IGdkYi1vcGNvZGVzLWNs Zmx1c2hvcHQtdGVzdC5wYXRjaAorUGF0Y2gwOTA6IGdkYi1vcGNvZGVzLWNsZmx1c2hvcHQtdGVz dC5wYXRjaAogCiAjIFtyaGVsNl0gRFRTIGJhY2t3YXJkIFB5dGhvbiBjb21wYXRpYmlsaXR5IEFQ SSAoQlogMTAyMDAwNCwgUGhpbCBNdWxkb29uKS4KICM9ZmVkb3JhCi1QYXRjaDEwMDogZ2RiLWR0 cy1yaGVsNi1weXRob24tY29tcGF0LnBhdGNoCitQYXRjaDA5MTogZ2RiLWR0cy1yaGVsNi1weXRo b24tY29tcGF0LnBhdGNoCiAKICMgW1NDTF0gU2tpcCBkZXByZWNhdGVkIC5nZGJfaW5kZXggd2Fy bmluZyBmb3IgUmVkIEhhdCBidWlsdCBmaWxlcyAoQlogOTUzNTg1KS4KICM9cHVzaCtqYW4KLVBh dGNoMTAxOiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKK1BhdGNoMDkyOiBn ZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1zY2wucGF0Y2gKIAogIyBXb3JrIGFyb3VuZCByZWFk bGluZS02LjIgaW5jb21wYXRpYmlsaXR5IG5vdCBhc2tpbmcgZm9yIC0tbW9yZS0tIChCWiA3MDEx MzEpLgogIz1mZWRvcmEKLVBhdGNoMTAyOiBnZGItcmVhZGxpbmU2Mi1hc2stbW9yZS1yaC5wYXRj aAorUGF0Y2gwOTM6IGdkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoCiAKICMgTWFrZSB0 aGUgR0RCIHF1aXQgcHJvY2Vzc2luZyBub24tYWJvcnRhYmxlIHRvIGNsZWFudXAgZXZlcnl0aGlu ZyBwcm9wZXJseS4KICM9ZmVkb3JhOiBJdCB3YXMgdXNlZnVsIG9ubHkgYWZ0ZXIgZ2RiLTYuOC1h dHRhY2gtc2lnbmFsbGVkLWRldGFjaC1zdG9wcGVkLnBhdGNoIC4KLVBhdGNoMTAzOiBnZGItNi44 LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCitQYXRjaDA5NDogZ2RiLTYuOC1xdWl0LW5ldmVyLWFi b3J0cy5wYXRjaAogCiAjIFthYXJjaDY0XSBGaXggaGFyZHdhcmUgd2F0Y2hwb2ludHMgKFJIIEJa IDEyNjE1NjQpLgogIz1mZWRvcmF0ZXN0Ci1QYXRjaDEwNDogZ2RiLXJoYnoxMjYxNTY0LWFhcmNo NjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNoCitQYXRjaDA5NTogZ2RiLXJoYnoxMjYxNTY0LWFh cmNoNjQtaHctd2F0Y2hwb2ludC10ZXN0LnBhdGNoCiAKICMgQWRkIG1lc3NhZ2VzIHN1Z2dlc3Rp bmcgbW9yZSByZWNlbnQgUkhFTCBnZGJzZXJ2ZXIgKFJIIEJaIDEzMjExMTQpLgogIz1mZWRvcmEK LVBhdGNoMTA1OiBnZGItY29udGFpbmVyLXJoLXBrZy5wYXRjaAorUGF0Y2gwOTY6IGdkYi1jb250 YWluZXItcmgtcGtnLnBhdGNoCiAKICMgTmV3IHRlc3QgZm9yIFB5dGhvbiAiQ2Fubm90IGxvY2F0 ZSBvYmplY3QgZmlsZSBmb3IgYmxvY2siIChmb3IgUkggQlogMTMyNTc5NSkuCiAjPWZlZG9yYXRl c3QKLVBhdGNoMTA2OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0Y2gKK1Bh dGNoMDk3OiBnZGItcmhiejEzMjU3OTUtZnJhbWVmaWx0ZXJzLXRlc3QucGF0Y2gKIAogIyBbZHRz K2VsN10gW3g4NipdIEJ1bmRsZSBsaW51eF9wZXJmLmggZm9yIGxpYmlwdCAoUkggQlogMTI1NjUx MykuCiAjPWZlZG9yYQotUGF0Y2gxMDc6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAorUGF0 Y2gwOTg6IGdkYi1saW51eF9wZXJmLWJ1bmRsZS5wYXRjaAogCiAjIEZpeCBnZGItaGVhZGxlc3Mg L3Vzci9iaW4vIGV4ZWN1dGFibGVzIChCWiAxMzkwMjUxKS4KICM9ZmVkb3JhCi1QYXRjaDEwODog Z2RiLWxpYmV4ZWMtYWRkLWluZGV4LnBhdGNoCitQYXRjaDA5OTogZ2RiLWxpYmV4ZWMtYWRkLWlu ZGV4LnBhdGNoCiAKICMgTmV3IHRlc3RjYXNlIGZvcjogRml4IDx0YWI+LWNvbXBsZXRpb24gY3Jh c2ggKEdhcnkgQmVuc29uLCBSSCBCWiAxMzk4Mzg3KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMDk6 IGdkYi1yaGJ6MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAorUGF0Y2gxMDA6IGdkYi1yaGJ6 MTM5ODM4Ny10YWItY3Jhc2gtdGVzdC5wYXRjaAogCiAjIFt0ZXN0c3VpdGVdIEZpeCBmYWxzZSBz ZWxmdGVzdC5leHAgRkFJTCBmcm9tIHN5c3RlbSByZWFkbGluZS02LjMrIChQYXRyaWNrIFBhbGth KS4KICM9ZmVkb3JhdGVzdAotUGF0Y2gxMTA6IGdkYi10ZXN0c3VpdGUtcmVhZGxpbmU2My1zaWdp bnQucGF0Y2gKK1BhdGNoMTAxOiBnZGItdGVzdHN1aXRlLXJlYWRsaW5lNjMtc2lnaW50LnBhdGNo CiAKICMgUHl0aG9uIHBhdGNoZXMgb2Y6IGh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9nZGIvd2lraS9Q cm9qZWN0QXJjaGVyCiAjPXB1c2gKLVBhdGNoMTExOiBnZGItYXJjaGVyLnBhdGNoCitQYXRjaDEw MjogZ2RiLWFyY2hlci5wYXRjaAogCiAjIFJldmVydCB1cHN0cmVhbSBjb21taXQgNDY5NDEyZGQ5 Y2NjNGRlNTg3NGZkMzI5OWIxMDU4MzNmMzZiMzRjZAotUGF0Y2gxMTI6IGdkYi12bGEtaW50ZWwt Zml4LXByaW50LWNoYXItYXJyYXkucGF0Y2gKK1BhdGNoMTAzOiBnZGItdmxhLWludGVsLWZpeC1w cmludC1jaGFyLWFycmF5LnBhdGNoCiAKICMgW3MzOTB4XSBCYWNrcG9ydCBhcmNoMTIgaW5zdHJ1 Y3Rpb25zIGRlY29kaW5nIChSSCBCWiAxNTUzMTA0KS4KICMgPWZlZG9yYXRlc3QKLVBhdGNoMTEz OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0Y2gKLQotIyBUaGlzIHBhdGNo IGlzIG5lZWRlZCB0byBjb21waWxlIEdEQiBhZnRlciAtV2Vycm9yPW5hcnJvd2luZyBoYXMKLSMg YmVlbiBlbmFibGVkIGJ5IGRlZmF1bHQuCi0jIEF1dGhvcjogU2VyZ2lvIER1cmlnYW4gSnVuaW9y LgotUGF0Y2gxMTQ6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1hcnJheXZpZXcucGF0Y2gKK1BhdGNo MTA0OiBnZGItcmhiejE1NTMxMDQtczM5MHgtYXJjaDEyLXRlc3QucGF0Y2gKIAoKZGlmZiAtLWdp dCBhL19nZGIuc3BlYy5wYXRjaC5pbmNsdWRlIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKaW5k ZXggYWZjOGE3NC4uMmU1ZTI2NSAxMDA2NDQKLS0tIGEvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUK KysrIGIvX2dkYi5zcGVjLnBhdGNoLmluY2x1ZGUKQEAgLTEwMiwxMyArMTAyLDMgQEAKICVwYXRj aDEwMiAtcDEKICVwYXRjaDEwMyAtcDEKICVwYXRjaDEwNCAtcDEKLSVwYXRjaDEwNSAtcDEKLSVw YXRjaDEwNiAtcDEKLSVwYXRjaDEwNyAtcDEKLSVwYXRjaDEwOCAtcDEKLSVwYXRjaDEwOSAtcDEK LSVwYXRjaDExMCAtcDEKLSVwYXRjaDExMSAtcDEKLSVwYXRjaDExMiAtcDEKLSVwYXRjaDExMyAt cDEKLSVwYXRjaDExNCAtcDEKCmRpZmYgLS1naXQgYS9fZ2l0X3Vwc3RyZWFtX2NvbW1pdCBiL19n aXRfdXBzdHJlYW1fY29tbWl0CmluZGV4IDNhMDIxNWUuLmYxZDlmMDUgMTAwNjQ0Ci0tLSBhL19n aXRfdXBzdHJlYW1fY29tbWl0CisrKyBiL19naXRfdXBzdHJlYW1fY29tbWl0CkBAIC0xICsxIEBA Ci1jYzAwYTVkMTAwOTczNTQ5YmY1ZTQ4NDA5Mzc1Mjk2MzNmNGRlMWZhCiszODIyNjEyZGYwNjk0 Y2MwNzU5N2U1MzRmYTczYjM0YWEyNTQwODEyCgpkaWZmIC0tZ2l0IGEvX3BhdGNoX29yZGVyIGIv X3BhdGNoX29yZGVyCmluZGV4IDg5ZjY5ZmUuLmU3MTI0MjMgMTAwNjQ0Ci0tLSBhL19wYXRjaF9v cmRlcgorKysgYi9fcGF0Y2hfb3JkZXIKQEAgLTQ3LDEzICs0NywxMSBAQCBnZGItc2ltdWx0YW5l b3VzLXN0ZXAtcmVzdW1lLWJyZWFrcG9pbnQtdGVzdC5wYXRjaAogZ2RiLWNvcmUtb3Blbi12ZHNv LXdhcm5pbmcucGF0Y2gKIGdkYi14ODZfNjQtaTM4Ni1zeXNjYWxsLXJlc3RhcnQucGF0Y2gKIGdk Yi1iejUzMzE3Ni1mb3J0cmFuLW9tcC1zdGVwLnBhdGNoCi1nZGItZm9sbG93LWNoaWxkLXN0YWxl LXBhcmVudC5wYXRjaAogZ2RiLWNjYWNoZS13b3JrYXJvdW5kLnBhdGNoCiBnZGItYXJjaGVyLXBp ZS1hZGRvbnMucGF0Y2gKIGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNo CiBnZGItbGluZW5vLW1ha2V1cC10ZXN0LnBhdGNoCiBnZGItcHBjLXBvd2VyNy10ZXN0LnBhdGNo Ci1nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKIGdkYi1tb3JpYnVuZC11dHJh Y2Utd29ya2Fyb3VuZC5wYXRjaAogZ2RiLWFyY2hlci1uZXh0LW92ZXItdGhyb3ctY3h4LWV4ZWMu cGF0Y2gKIGdkYi1iejYwMTg4Ny1kd2FyZjQtcmgtdGVzdC5wYXRjaApAQCAtNzMsMTMgKzcxLDYg QEAgZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9mNS5wYXRjaAogZ2RiLWdsaWJjLXN0cnN0ci13 b3JrYXJvdW5kLnBhdGNoCiBnZGItcmhlbDUuOS10ZXN0Y2FzZS14bGYtdmFyLWluc2lkZS1tb2Qu cGF0Y2gKIGdkYi1yaGJ6LTgxODM0My1zZXQtc29saWItYWJzb2x1dGUtcHJlZml4LXRlc3RjYXNl LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQy NC1iaXRwb3MtMjFvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNo Ci1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRw b3MtMjVvZjI1LnBhdGNoCi1nZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0Y2gK LWdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy1sYXp5dmFsdWUucGF0Y2gKIGdkYi1yaGJ6OTQ3NTY0LWZp bmR2YXItYXNzZXJ0aW9uLWZyYW1lLWZhaWxlZC10ZXN0Y2FzZS5wYXRjaAogZ2RiLWduYXQtZHdh cmYtY3Jhc2gtM29mMy5wYXRjaAogZ2RiLXJoYnoxMDA3NjE0LW1lbWxlYWstaW5mcHlfcmVhZF9t ZW1vcnktdGVzdC5wYXRjaApAQCAtMTExLDQgKzEwMiwzIEBAIGdkYi10ZXN0c3VpdGUtcmVhZGxp bmU2My1zaWdpbnQucGF0Y2gKIGdkYi1hcmNoZXIucGF0Y2gKIGdkYi12bGEtaW50ZWwtZml4LXBy aW50LWNoYXItYXJyYXkucGF0Y2gKIGdkYi1yaGJ6MTU1MzEwNC1zMzkweC1hcmNoMTItdGVzdC5w YXRjaAotZ2RiLXJoYno3OTU0MjQtYml0cG9zLWFycmF5dmlldy5wYXRjaAoKZGlmZiAtLWdpdCBh L2dkYi02LjMtZ3N0YWNrLTIwMDUwNDExLnBhdGNoIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEu cGF0Y2gKaW5kZXggNjY5MGUxNS4uNmJhOTkzZCAxMDA2NDQKLS0tIGEvZ2RiLTYuMy1nc3RhY2st MjAwNTA0MTEucGF0Y2gKKysrIGIvZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKQEAgLTE2 LDcgKzE2LDcgQEAgU3ViamVjdDogZ2RiLTYuMy1nc3RhY2stMjAwNTA0MTEucGF0Y2gKIGRpZmYg LS1naXQgYS9nZGIvTWFrZWZpbGUuaW4gYi9nZGIvTWFrZWZpbGUuaW4KIC0tLSBhL2dkYi9NYWtl ZmlsZS5pbgogKysrIGIvZ2RiL01ha2VmaWxlLmluCi1AQCAtMTc0OSw3ICsxNzQ5LDcgQEAgaW5m byBpbnN0YWxsLWluZm8gY2xlYW4taW5mbyBkdmkgcGRmIGluc3RhbGwtcGRmIGh0bWwgaW5zdGFs bC1odG1sOiBmb3JjZQorQEAgLTE3NTEsNyArMTc1MSw3IEBAIGluZm8gaW5zdGFsbC1pbmZvIGNs ZWFuLWluZm8gZHZpIHBkZiBpbnN0YWxsLXBkZiBodG1sIGluc3RhbGwtaHRtbDogZm9yY2UKICBp bnN0YWxsOiBhbGwKICAJQCQoTUFLRSkgJChGTEFHU19UT19QQVNTKSBpbnN0YWxsLW9ubHkKICAK QEAgLTI1LDcgKzI1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtl ZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9uYW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUp JzsgXAogIAkJCSAgZWNobyBnZGIgfCBzZWQgLWUgIiQkdCJgIDsgXAogIAkJaWYgdGVzdCAieCQk dHJhbnNmb3JtZWRfbmFtZSIgPSB4OyB0aGVuIFwKLUBAIC0xNzk4LDcgKzE3OTgsMjUgQEAgaW5z dGFsbC1ndWlsZToKK0BAIC0xODAwLDcgKzE4MDAsMjUgQEAgaW5zdGFsbC1ndWlsZToKICBpbnN0 YWxsLXB5dGhvbjoKICAJJChTSEVMTCkgJChzcmNkaXIpLy4uL21raW5zdGFsbGRpcnMgJChERVNU RElSKSQoR0RCX0RBVEFESVIpL3B5dGhvbi9nZGIKICAKQEAgLTUyLDcgKzUyLDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9NYWtlZmlsZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogIAl0cmFuc2Zvcm1lZF9u YW1lPWB0PSckKHByb2dyYW1fdHJhbnNmb3JtX25hbWUpJzsgXAogIAkJCSAgZWNobyBnZGIgfCBz ZWQgLWUgJCR0YCA7IFwKICAJCWlmIHRlc3QgIngkJHRyYW5zZm9ybWVkX25hbWUiID0geDsgdGhl biBcCi1AQCAtMTgyMSw2ICsxODM5LDE4IEBAIHVuaW5zdGFsbDogZm9yY2UgJChDT05GSUdfVU5J TlNUQUxMKQorQEAgLTE4MjMsNiArMTg0MSwxOCBAQCB1bmluc3RhbGw6IGZvcmNlICQoQ09ORklH X1VOSU5TVEFMTCkKICAJZmkKICAJQCQoTUFLRSkgRE89dW5pbnN0YWxsICJET0RJUlM9JChTVUJE SVJTKSIgJChGTEFHU19UT19QQVNTKSBzdWJkaXJfZG8KICAKCmRpZmYgLS1naXQgYS9nZGItNi4z LXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoIGIvZ2RiLTYuMy1yaC10ZXN0dmVyc2lvbi0y MDA0MTIwMi5wYXRjaAppbmRleCBlYmZiZjFiLi5lNTBiYzdhIDEwMDY0NAotLS0gYS9nZGItNi4z LXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoCisrKyBiL2dkYi02LjMtcmgtdGVzdHZlcnNp b24tMjAwNDEyMDIucGF0Y2gKQEAgLTI0LDMgKzI0LDE1IEBAIGRpZmYgLS1naXQgYS9nZGIvdGVz dHN1aXRlL2dkYi5nZGIvc2VsZnRlc3QuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZ2RiL3NlbGZ0 ZXN0CiAgICAgIH0KICAKICAgICAgIyBzdGFydCB0aGUgInhnZGIiIHByb2Nlc3MKK2RpZmYgLS1n aXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKKy0tLSBhL2dkYi90b3AuYworKysrIGIvZ2RiL3Rv cC5jCitAQCAtMjAxMSw3ICsyMDExLDcgQEAgaW5pdF9nZGJfdmVyc2lvbl92YXJzICh2b2lkKQor ICAgc3RydWN0IGludGVybmFsdmFyICptYWpvcl92ZXJzaW9uX3ZhciA9IGNyZWF0ZV9pbnRlcm5h bHZhciAoIl9nZGJfbWFqb3IiKTsKKyAgIHN0cnVjdCBpbnRlcm5hbHZhciAqbWlub3JfdmVyc2lv bl92YXIgPSBjcmVhdGVfaW50ZXJuYWx2YXIgKCJfZ2RiX21pbm9yIik7CisgICBpbnQgdm1ham9y ID0gMCwgdm1pbm9yID0gMCwgdnJldmlzaW9uID0gMDsKKy0gIHNzY2FuZiAodmVyc2lvbiwgIiVk LiVkLiVkIiwgJnZtYWpvciwgJnZtaW5vciwgJnZyZXZpc2lvbik7CisrICBzc2NhbmYgKHZlcnNp b24sICJGZWRvcmEgJWQuJWQuJWQiLCAmdm1ham9yLCAmdm1pbm9yLCAmdnJldmlzaW9uKTsKKyAg IHNldF9pbnRlcm5hbHZhcl9pbnRlZ2VyIChtYWpvcl92ZXJzaW9uX3Zhciwgdm1ham9yKTsKKyAg IHNldF9pbnRlcm5hbHZhcl9pbnRlZ2VyIChtaW5vcl92ZXJzaW9uX3Zhciwgdm1pbm9yICsgKHZy ZXZpc2lvbiA+IDApKTsKKyB9CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNS1iejIxNjcxMS1jbG9uZS1p cy1vdXRlcm1vc3QucGF0Y2ggYi9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlzLW91dGVybW9zdC5w YXRjaAppbmRleCAxNmY3ZmM0Li5kNTQyODdmIDEwMDY0NAotLS0gYS9nZGItNi41LWJ6MjE2NzEx LWNsb25lLWlzLW91dGVybW9zdC5wYXRjaAorKysgYi9nZGItNi41LWJ6MjE2NzExLWNsb25lLWlz LW91dGVybW9zdC5wYXRjaApAQCAtMTI3LDcgKzEyNyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYW1k NjQtbGludXgtdGRlcC5jIGIvZ2RiL2FtZDY0LWxpbnV4LXRkZXAuYwogZGlmZiAtLWdpdCBhL2dk Yi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiAtLS0gYS9nZGIvYW1kNjQtdGRlcC5j CiArKysgYi9nZGIvYW1kNjQtdGRlcC5jCi1AQCAtMjYwMSw2ICsyNjAxLDcgQEAgYW1kNjRfZnJh bWVfdW53aW5kX3N0b3BfcmVhc29uIChzdHJ1Y3QgZnJhbWVfaW5mbyAqdGhpc19mcmFtZSwKK0BA IC0yNjAwLDYgKzI2MDAsNyBAQCBhbWQ2NF9mcmFtZV91bndpbmRfc3RvcF9yZWFzb24gKHN0cnVj dCBmcmFtZV9pbmZvICp0aGlzX2ZyYW1lLAogIHsKICAgIHN0cnVjdCBhbWQ2NF9mcmFtZV9jYWNo ZSAqY2FjaGUgPQogICAgICBhbWQ2NF9mcmFtZV9jYWNoZSAodGhpc19mcmFtZSwgdGhpc19jYWNo ZSk7CkBAIC0xMzUsNyArMTM1LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVwLmMgYi9n ZGIvYW1kNjQtdGRlcC5jCiAgCiAgICBpZiAoIWNhY2hlLT5iYXNlX3ApCiAgICAgIHJldHVybiBV TldJTkRfVU5BVkFJTEFCTEU7Ci1AQCAtMjYwOSw2ICsyNjEwLDEwIEBAIGFtZDY0X2ZyYW1lX3Vu d2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAtMjYw OCw2ICsyNjA5LDEwIEBAIGFtZDY0X2ZyYW1lX3Vud2luZF9zdG9wX3JlYXNvbiAoc3RydWN0IGZy YW1lX2luZm8gKnRoaXNfZnJhbWUsCiAgICBpZiAoY2FjaGUtPmJhc2UgPT0gMCkKICAgICAgcmV0 dXJuIFVOV0lORF9PVVRFUk1PU1Q7CiAgCkBAIC0xNDYsNyArMTQ2LDcgQEAgZGlmZiAtLWdpdCBh L2dkYi9hbWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiAgICByZXR1cm4gVU5XSU5EX05P X1JFQVNPTjsKICB9CiAgCi1AQCAtMjc0Myw2ICsyNzQ4LDcgQEAgYW1kNjRfc2lndHJhbXBfZnJh bWVfdGhpc19pZCAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAtMjc0MSw2ICsy NzQ2LDcgQEAgYW1kNjRfc2lndHJhbXBfZnJhbWVfdGhpc19pZCAoc3RydWN0IGZyYW1lX2luZm8g KnRoaXNfZnJhbWUsCiAgewogICAgc3RydWN0IGFtZDY0X2ZyYW1lX2NhY2hlICpjYWNoZSA9CiAg ICAgIGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX2NhY2hlICh0aGlzX2ZyYW1lLCB0aGlzX2NhY2hlKTsK QEAgLTE1NCw3ICsxNTQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LXRkZXAuYyBiL2dkYi9h bWQ2NC10ZGVwLmMKICAKICAgIGlmICghY2FjaGUtPmJhc2VfcCkKICAgICAgKCp0aGlzX2lkKSA9 IGZyYW1lX2lkX2J1aWxkX3VuYXZhaWxhYmxlX3N0YWNrIChnZXRfZnJhbWVfcGMgKHRoaXNfZnJh bWUpKTsKLUBAIC0yNzUxLDYgKzI3NTcsMTEgQEAgYW1kNjRfc2lndHJhbXBfZnJhbWVfdGhpc19p ZCAoc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUsCitAQCAtMjc0OSw2ICsyNzU1LDExIEBA IGFtZDY0X3NpZ3RyYW1wX2ZyYW1lX3RoaXNfaWQgKHN0cnVjdCBmcmFtZV9pbmZvICp0aGlzX2Zy YW1lLAogICAgICAgIC8qIFRoaXMgbWFya3MgdGhlIG91dGVybW9zdCBmcmFtZS4gICovCiAgICAg ICAgcmV0dXJuOwogICAgICB9CkBAIC0xNjksNyArMTY5LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9h bWQ2NC10ZGVwLmMgYi9nZGIvYW1kNjQtdGRlcC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2kzODYtdGRl cC5jIGIvZ2RiL2kzODYtdGRlcC5jCiAtLS0gYS9nZGIvaTM4Ni10ZGVwLmMKICsrKyBiL2dkYi9p Mzg2LXRkZXAuYwotQEAgLTg0MjAsNiArODQyMCw5IEBAIGkzODZfZ2RiYXJjaF9pbml0IChzdHJ1 Y3QgZ2RiYXJjaF9pbmZvIGluZm8sIHN0cnVjdCBnZGJhcmNoX2xpc3QgKmFyY2hlcykKK0BAIC04 NDE3LDYgKzg0MTcsOSBAQCBpMzg2X2dkYmFyY2hfaW5pdCAoc3RydWN0IGdkYmFyY2hfaW5mbyBp bmZvLCBzdHJ1Y3QgZ2RiYXJjaF9saXN0ICphcmNoZXMpCiAgCiAgICB0ZGVwLT54c2F2ZV94Y3Iw X29mZnNldCA9IC0xOwogIAoKZGlmZiAtLWdpdCBhL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJh bXBvbGluZS1sb29rdXAtbG9jay1maXgucGF0Y2ggYi9nZGItNi41LWJ6MjE4Mzc5LXNvbGliLXRy YW1wb2xpbmUtbG9va3VwLWxvY2stZml4LnBhdGNoCmluZGV4IDMxOTUxNWIuLmJiZDYzNWYgMTAw NjQ0Ci0tLSBhL2dkYi02LjUtYnoyMTgzNzktc29saWItdHJhbXBvbGluZS1sb29rdXAtbG9jay1m aXgucGF0Y2gKKysrIGIvZ2RiLTYuNS1iejIxODM3OS1zb2xpYi10cmFtcG9saW5lLWxvb2t1cC1s b2NrLWZpeC5wYXRjaApAQCAtMTEsNyArMTEsNyBAQCBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5j b20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTIxODM3OQogZGlmZiAtLWdpdCBhL2dkYi9zeW10 YWIuYyBiL2dkYi9zeW10YWIuYwogLS0tIGEvZ2RiL3N5bXRhYi5jCiArKysgYi9nZGIvc3ltdGFi LmMKLUBAIC0zMTc3LDYgKzMxNzcsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBw Yywgc3RydWN0IG9ial9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKK0BAIC0zMTY4 LDYgKzMxNjgsMTMgQEAgZmluZF9wY19zZWN0X2xpbmUgKENPUkVfQUREUiBwYywgc3RydWN0IG9i al9zZWN0aW9uICpzZWN0aW9uLCBpbnQgbm90Y3VycmVudCkKICAJICAgICBTWU1CT0xfTElOS0FH RV9OQU1FIChtc3ltYm9sKSk7ICovCiAgCSAgOwogIAkvKiBmYWxsIHRocm91Z2ggKi8KCmRpZmYg LS1naXQgYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoIGIvZ2RiLTYu Ni1idWlsZGlkLWxvY2F0ZS1jb3JlLWFzLWFyZy5wYXRjaAppbmRleCBmOGE4MzE1Li44YjQ5Y2Zk IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLWNvcmUtYXMtYXJnLnBhdGNoCisr KyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtY29yZS1hcy1hcmcucGF0Y2gKQEAgLTY0LDcgKzY0 LDcgQEAgSHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRjaGVzLzIwMTAtMDEvbXNnMDA1 MTcuaHRtbAogZGlmZiAtLWdpdCBhL2dkYi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaCBiL2dk Yi9jb21tb24vY29tbW9uLWV4Y2VwdGlvbnMuaAogLS0tIGEvZ2RiL2NvbW1vbi9jb21tb24tZXhj ZXB0aW9ucy5oCiArKysgYi9nZGIvY29tbW9uL2NvbW1vbi1leGNlcHRpb25zLmgKLUBAIC0xMDQs NiArMTA0LDkgQEAgZW51bSBlcnJvcnMgeworQEAgLTEwNiw2ICsxMDYsOSBAQCBlbnVtIGVycm9y cyB7CiAgICAgICAiX0VSUk9SIiBpcyBhcHBlbmRlZCB0byB0aGUgbmFtZS4gICovCiAgICBNQVhf Q09NUExFVElPTlNfUkVBQ0hFRF9FUlJPUiwKICAKQEAgLTc3LDE1ICs3NywxNiBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2NvbW1vbi9jb21tb24tZXhjZXB0aW9ucy5oIGIvZ2RiL2NvbW1vbi9jb21tb24t ZXhjZXB0aW9ucy5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4ZWMuYyBiL2dkYi9leGVjLmMKIC0tLSBh L2dkYi9leGVjLmMKICsrKyBiL2dkYi9leGVjLmMKLUBAIC0zNiw2ICszNiw3IEBACi0gI2luY2x1 ZGUgImdkYl9iZmQuaCIKLSAjaW5jbHVkZSAiZ2NvcmUuaCIKLSAjaW5jbHVkZSAic291cmNlLmgi Ci0rI2luY2x1ZGUgImV4Y2VwdGlvbnMuaCIKK0BAIC0xOCw2ICsxOCw4IEBACisgICAgYWxvbmcg d2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu c2VzLz4uICAqLwogIAotICNpbmNsdWRlIDxmY250bC5oPgotICNpbmNsdWRlICJyZWFkbGluZS9y ZWFkbGluZS5oIgotQEAgLTM1NSwxMiArMzU2LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0 IGNoYXIgKmZpbGVuYW1lLCBpbnQgZnJvbV90dHkpCisgI2luY2x1ZGUgImRlZnMuaCIKKysjaW5j bHVkZSAiYXJjaC11dGlscy5oIgorKyNpbmNsdWRlICJleGNlcHRpb25zLmgiCisgI2luY2x1ZGUg ImZyYW1lLmgiCisgI2luY2x1ZGUgImluZmVyaW9yLmgiCisgI2luY2x1ZGUgInRhcmdldC5oIgor QEAgLTM0NSwxMiArMzQ3LDI3IEBAIGV4ZWNfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVu YW1lLCBpbnQgZnJvbV90dHkpCiAgCiAgICAgICAgaWYgKCFiZmRfY2hlY2tfZm9ybWF0X21hdGNo ZXMgKGV4ZWNfYmZkLCBiZmRfb2JqZWN0LCAmbWF0Y2hpbmcpKQogIAl7CkBAIC0xMTksNyArMTIw LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9leGVjLmMgYi9nZGIvZXhlYy5jCiBkaWZmIC0tZ2l0IGEv Z2RiL21haW4uYyBiL2dkYi9tYWluLmMKIC0tLSBhL2dkYi9tYWluLmMKICsrKyBiL2dkYi9tYWlu LmMKLUBAIC00NDAsNiArNDQwLDM1IEBAIHN0cnVjdCBjbWRhcmcKK0BAIC00MzksNiArNDM5LDM0 IEBAIHN0cnVjdCBjbWRhcmcKICAgIGNoYXIgKnN0cmluZzsKICB9OwogIApAQCAtMTMyLDExICsx MzMsMTEgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiArewogKyAgZ2Ri X2Fzc2VydCAoZXhlY19iZmQgPT0gTlVMTCk7CiArCi0rICBUUlkKKysgIHRyeQogKyAgICB7CiAr ICAgICAgZXhlY19maWxlX2F0dGFjaCAoZmlsZW5hbWUsIGZyb21fdHR5KTsKICsgICAgfQotKyAg Q0FUQ0ggKGUsIFJFVFVSTl9NQVNLX0FMTCkKKysgIGNhdGNoIChjb25zdCBnZGJfZXhjZXB0aW9u X2Vycm9yICZlKQogKyAgICB7CiArICAgICAgaWYgKGUuZXJyb3IgPT0gSVNfQ09SRV9FUlJPUikK ICsJewpAQCAtMTQ5LDEzICsxNTAsMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIv bWFpbi5jCiArCX0KICsgICAgICB0aHJvd19leGNlcHRpb24gKGUpOwogKyAgICB9Ci0rICBFTkRf Q0FUQ0gKICt9CiArCiAgc3RhdGljIHZvaWQKICBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0 dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgewotQEAgLTg4NSw2ICs5MTQsOCBAQCBjYXB0dXJl ZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtODg0LDYg KzkxMiw4IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29u dGV4dCkKICAJewogIAkgIHN5bWFyZyA9IGFyZ3Zbb3B0aW5kXTsKICAJICBleGVjYXJnID0gYXJn dltvcHRpbmRdOwpAQCAtMTY0LDcgKzE2NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIv Z2RiL21haW4uYwogIAkgIG9wdGluZCsrOwogIAl9CiAgCi1AQCAtMTAzNSwxMiArMTA2NiwyNSBA QCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitA QCAtMTAzNCwxMiArMTA2NCwyNSBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9t YWluX2FyZ3MgKmNvbnRleHQpCiAgICAgICAgJiYgc3ltYXJnICE9IE5VTEwKICAgICAgICAmJiBz dHJjbXAgKGV4ZWNhcmcsIHN5bWFyZykgPT0gMCkKICAgICAgewoKZGlmZiAtLWdpdCBhL2dkYi02 LjYtYnVpbGRpZC1sb2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoIGIvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdvcmthcm91bmQucGF0Y2gKaW5kZXggNjFiYWY4Mi4u MDYzNDUyNyAxMDA2NDQKLS0tIGEvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdv cmthcm91bmQucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tbGlicnBtLXdv cmthcm91bmQucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi02LjYtYnVpbGRpZC1s b2NhdGUtcnBtLWxpYnJwbS13b3JrYXJvdW5kLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxk LWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9i dWlsZC1pZC5jCi1AQCAtNzExLDYgKzcxMSwxOSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29u c3Qgc3RydWN0IGJmZF9idWlsZF9pZCAqYnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKK0BA IC03MTAsNiArNzEwLDE5IEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBzdHJ1Y3QgYmZk X2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQogICNpbmNsdWRlIDxkbGZj bi5oPgogICNlbmRpZgogIAoKZGlmZiAtLWdpdCBhL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBt LXNjbC5wYXRjaCBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtcnBtLXNjbC5wYXRjaAppbmRleCAx MmUxNWViLi40MzZhMzFmIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS1z Y2wucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS1ycG0tc2NsLnBhdGNoCkBAIC0x Miw3ICsxMiw3IEBAIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9 OTUzNTg1CiBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0t IGEvZ2RiL2J1aWxkLWlkLmMKICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtNzQ1LDcgKzc0NSwx MSBAQCBzdGF0aWMgaW50IG1pc3NpbmdfcnBtX2xpc3RfZW50cmllczsKK0BAIC03NDQsNyArNzQ0 LDExIEBAIHN0YXRpYyBpbnQgbWlzc2luZ19ycG1fbGlzdF9lbnRyaWVzOwogIC8qIFJldHVybnMg dGhlIGNvdW50IG9mIG5ld2x5IGFkZGVkIHJwbXMuICAqLwogIAogIHN0YXRpYyBpbnQKQEAgLTI0 LDcgKzI0LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5jIGIvZ2RiL2J1aWxkLWlkLmMK ICB7CiAgICBzdGF0aWMgaW50IHJwbV9pbml0X2RvbmUgPSAwOwogICAgcnBtdHMgdHM7Ci1AQCAt ODUyLDcgKzg1NiwxMSBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIgKmZpbGVuYW1l KQorQEAgLTg1MSw3ICs4NTUsMTEgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpm aWxlbmFtZSkKICAgIG1pID0gcnBtdHNJbml0SXRlcmF0b3JfcCAodHMsIFJQTVRBR19CQVNFTkFN RVMsIGZpbGVuYW1lLCAwKTsKICAgIGlmIChtaSAhPSBOVUxMKQogICAgICB7CkBAIC0zNiw3ICsz Niw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAgCXsK ICAJICBIZWFkZXIgaDsKICAJICBjaGFyICpkZWJ1Z2luZm8sICoqc2xvdCwgKnMsICpzMjsKLUBA IC05NzAsNiArOTc4LDM3IEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5h bWUpCitAQCAtOTY5LDYgKzk3NywzNyBAQCBtaXNzaW5nX3JwbV9lbmxpc3QgKGNvbnN0IGNoYXIg KmZpbGVuYW1lKQogIAkgICAgeGZyZWUgKGRlYnVnaW5mbyk7CiAgCSAgY291bnQrKzsKICAJfQpA QCAtNzQsNyArNzQsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQt aWQuYwogIAogICAgICAgIHJwbWRiRnJlZUl0ZXJhdG9yX3AgKG1pKTsKICAgICAgfQotQEAgLTk3 OSw2ICsxMDE4LDIwIEBAIG1pc3NpbmdfcnBtX2VubGlzdCAoY29uc3QgY2hhciAqZmlsZW5hbWUp CitAQCAtOTc4LDYgKzEwMTcsMjAgQEAgbWlzc2luZ19ycG1fZW5saXN0IChjb25zdCBjaGFyICpm aWxlbmFtZSkKICAgIHJldHVybiBjb3VudDsKICB9CiAgCgpkaWZmIC0tZ2l0IGEvZ2RiLTYuNi1i dWlsZGlkLWxvY2F0ZS1ycG0ucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRj aAppbmRleCA5NTA2MzMxLi41ZTJiMmRjIDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9j YXRlLXJwbS5wYXRjaAorKysgYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaApAQCAt MjM1LDIwICsyMzUsMTUgQEAgZGlmZiAtLWdpdCBhL2dkYi9hY2xvY2FsLm00IGIvZ2RiL2FjbG9j YWwubTQKIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWlsZC1pZC5jCiAtLS0g YS9nZGIvYnVpbGQtaWQuYwogKysrIGIvZ2RiL2J1aWxkLWlkLmMKLUBAIC0zNSw2ICszNSw4IEBA Ci0gI2luY2x1ZGUgImVsZi9jb21tb24uaCIKLSAjaW5jbHVkZSAiZWxmLWJmZC5oIgotICNpbmNs dWRlIDxzeXMvc3RhdC5oPgotKyNpbmNsdWRlICJlbGYvZXh0ZXJuYWwuaCIKK0BAIC0zMSw2ICsz MSw3IEBACisgI2luY2x1ZGUgImdkYl9iZmQuaCIKKyAjaW5jbHVkZSAiZ2RiY21kLmgiCisgI2lu Y2x1ZGUgImdkYmNvcmUuaCIKICsjaW5jbHVkZSAiaW5mZXJpb3IuaCIKLSAKLSAjZGVmaW5lIEJV SUxEX0lEX1ZFUkJPU0VfTk9ORSAwCi0gI2RlZmluZSBCVUlMRF9JRF9WRVJCT1NFX0ZJTEVOQU1F UyAxCi1AQCAtNjk2LDEyICs2OTgsMzYyIEBAIGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChjb25zdCBz dHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZCwgY2hhciAqKmxpbmtfcmV0dXJuKQotICAgICBy ZXR1cm4gTlVMTDsKLSAKLSAgIHJlc3VsdCA9IHhzdHJkdXAgKGJmZF9nZXRfZmlsZW5hbWUgKGFi ZmQpKTsKLS0gIGFiZmQucmVsZWFzZSAoKTsKKyAjaW5jbHVkZSAibGliYmZkLmgiCisgI2luY2x1 ZGUgIm9iamZpbGVzLmgiCisgI2luY2x1ZGUgIm9ic2VydmFibGUuaCIKK0BAIC02OTksOCArNzAw LDM1OSBAQCBidWlsZF9pZF90b19maWxlbmFtZSAoY29uc3Qgc3RydWN0IGJmZF9idWlsZF9pZCAq YnVpbGRfaWQsIGNoYXIgKipsaW5rX3JldHVybikKICAgIHJldHVybiByZXN1bHQ7CiAgfQogIApA QCAtNjA5LDcgKzYwNCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiAgICAgYXZvaWRhbmNlLiAgKi8KICAKICBzdHJ1Y3QgbWlzc2luZ19maWxlcGFpcgot QEAgLTc1NSwxMSArMTEwNywxNyBAQCBtaXNzaW5nX2ZpbGVwYWlyX2NoYW5nZSAodm9pZCkKK0BA IC03NTQsMTEgKzExMDYsMTcgQEAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKHZvaWQpCiAgICAg ICAgLyogQWxsIHRoZWlyIG1lbW9yeSBjYW1lIGp1c3QgZnJvbSBtaXNzaW5nX2ZpbGVwYWlyX09C U1RBQ0suICAqLwogICAgICAgIG1pc3NpbmdfZmlsZXBhaXJfaGFzaCA9IE5VTEw7CiAgICAgIH0K QEAgLTYyNyw3ICs2MjIsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVp bGQtaWQuYwogICAgbWlzc2luZ19maWxlcGFpcl9jaGFuZ2UgKCk7CiAgfQogIAotQEAgLTgyNiwx NCArMTE4NCwzOSBAQCBkZWJ1Z19wcmludF9taXNzaW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNv bnN0IGNoYXIgKmRlYnVnKQorQEAgLTgyNSwxNCArMTE4MywzOSBAQCBkZWJ1Z19wcmludF9taXNz aW5nIChjb25zdCBjaGFyICpiaW5hcnksIGNvbnN0IGNoYXIgKmRlYnVnKQogIAogICAgKnNsb3Qg PSBtaXNzaW5nX2ZpbGVwYWlyOwogIApAQCAtMTQ1Niw1NSArMTQ1MSwxMSBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL2NvbmZpZ3VyZS5hYyBiL2dkYi9jb25maWd1cmUuYWMKIGRpZmYgLS1naXQgYS9nZGIv Y29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogLS0tIGEvZ2RiL2NvcmVsb3cuYwogKysrIGIvZ2Ri L2NvcmVsb3cuYwotQEAgLTMzMCwxMCArMzMwLDkgQEAgc3RhdGljIHZvaWQKLSBidWlsZF9pZF9s b2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotIHsKLSAgIENPUkVfQUREUiBhdF9lbnRyeTsKLS0g IHN0cnVjdCBiZmRfYnVpbGRfaWQgKmJ1aWxkX2lkOwotLSAgY2hhciAqZXhlY2ZpbGVuYW1lOwot KyAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8c3RydWN0IGJmZF9idWlsZF9pZD4gYnVpbGRfaWQ7 Ci0rICBnZGI6OnVuaXF1ZV94bWFsbG9jX3B0cjxjaGFyPiBleGVjZmlsZW5hbWU7Ci0gICBjaGFy ICpidWlsZF9pZF9maWxlbmFtZTsKLS0gIHN0cnVjdCBjbGVhbnVwICpiYWNrX3RvOwotIAotICAg aWYgKGV4ZWNfYmZkICE9IE5VTEwgfHwgc3ltZmlsZV9vYmpmaWxlICE9IE5VTEwpCi0gICAgIHJl dHVybjsKLUBAIC0zNDEsMTAgKzM0MCw5IEBAIGJ1aWxkX2lkX2xvY2F0ZV9leGVjIChpbnQgZnJv bV90dHkpCi0gICBpZiAodGFyZ2V0X2F1eHZfc2VhcmNoIChjdXJyZW50X3RvcF90YXJnZXQgKCks IEFUX0VOVFJZLCAmYXRfZW50cnkpIDw9IDApCi0gICAgIHJldHVybjsKLSAKLS0gIGJ1aWxkX2lk ID0gYnVpbGRfaWRfYWRkcl9nZXQgKGF0X2VudHJ5KTsKLSsgIGJ1aWxkX2lkLnJlc2V0IChidWls ZF9pZF9hZGRyX2dldCAoYXRfZW50cnkpKTsKLSAgIGlmIChidWlsZF9pZCA9PSBOVUxMKQotICAg ICByZXR1cm47Ci0tICBiYWNrX3RvID0gbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWQpOwot IAotICAgLyogU1lNRklMRV9PQkpGSUxFIHNob3VsZCByZWZlciB0byB0aGUgbWFpbiBleGVjdXRh YmxlIChub3Qgb25seSB0byBpdHMKLSAgICAgIHNlcGFyYXRlIGRlYnVnIGluZm8gZmlsZSkuICBn Y2M0NCsga2VlcHMgLmVoX2ZyYW1lIG9ubHkgaW4gdGhlIG1haW4KLUBAIC0zNTIsMjIgKzM1MCwx OSBAQCBidWlsZF9pZF9sb2NhdGVfZXhlYyAoaW50IGZyb21fdHR5KQotICAgICAgZmlsZSAtIHN1 Y2ggLmVoX2ZyYW1lIHdvdWxkIG5vdCBiZSBmb3VuZCBpZiBTWU1GSUxFX09CSkZJTEUgd291bGQg cmVmZXIKLSAgICAgIGRpcmVjdGx5IHRvIHRoZSBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUuICAq LwotIAotLSAgZXhlY2ZpbGVuYW1lID0gYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLCAm YnVpbGRfaWRfZmlsZW5hbWUpOwotLSAgbWFrZV9jbGVhbnVwICh4ZnJlZSwgYnVpbGRfaWRfZmls ZW5hbWUpOwotKyAgZXhlY2ZpbGVuYW1lLnJlc2V0IChidWlsZF9pZF90b19maWxlbmFtZSAoYnVp bGRfaWQuZ2V0ICgpLAotKwkJCQkJICAgICZidWlsZF9pZF9maWxlbmFtZSkpOwotIAotICAgaWYg KGV4ZWNmaWxlbmFtZSAhPSBOVUxMKQotICAgICB7Ci0tICAgICAgbWFrZV9jbGVhbnVwICh4ZnJl ZSwgZXhlY2ZpbGVuYW1lKTsKLS0gICAgICBleGVjX2ZpbGVfYXR0YWNoIChleGVjZmlsZW5hbWUs IGZyb21fdHR5KTsKLS0gICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLAot KyAgICAgIGV4ZWNfZmlsZV9hdHRhY2ggKGV4ZWNmaWxlbmFtZS5nZXQgKCksIGZyb21fdHR5KTsK LSsgICAgICBzeW1ib2xfZmlsZV9hZGRfbWFpbiAoZXhlY2ZpbGVuYW1lLmdldCAoKSwKLSAJCQkg ICAgc3ltZmlsZV9hZGRfZmxhZyAoIWZyb21fdHR5ID8gMCA6IFNZTUZJTEVfVkVSQk9TRSkpOwot ICAgICAgIGlmIChzeW1maWxlX29iamZpbGUgIT0gTlVMTCkKK0BAIC0zNjIsNyArMzYyLDcgQEAg YnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKICAgICAgICAgIHN5bWZpbGVfb2Jq ZmlsZS0+ZmxhZ3MgfD0gT0JKRl9CVUlMRF9JRF9DT1JFX0xPQURFRDsKICAgICAgfQogICAgZWxz ZQogLSAgICBkZWJ1Z19wcmludF9taXNzaW5nIChfKCJ0aGUgbWFpbiBleGVjdXRhYmxlIGZpbGUi KSwgYnVpbGRfaWRfZmlsZW5hbWUpOwotLQotLSAgZG9fY2xlYW51cHMgKGJhY2tfdG8pOwogKyAg ICBkZWJ1Z19wcmludF9taXNzaW5nIChCVUlMRF9JRF9NQUlOX0VYRUNVVEFCTEVfRklMRU5BTUUs IGJ1aWxkX2lkX2ZpbGVuYW1lKTsKICAKICAgIC8qIE5vIGF1dG9tYXRpYyBTT0xJQl9BREQgYXMg dGhlIGxpYnJhcmllcyB3b3VsZCBnZXQgcmVhZCB0d2ljZS4gICovCkBAIC0xNTIwLDcgKzE0NzEs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgCiAg LyogcmVhZGxpbmUgaW5jbHVkZSBmaWxlcy4gICovCiAgI2luY2x1ZGUgInJlYWRsaW5lL3JlYWRs aW5lLmgiCi1AQCAtMzU5LDYgKzM2MCw4IEBAIGRpc3BsYXlfZ2RiX3Byb21wdCAoY29uc3QgY2hh ciAqbmV3X3Byb21wdCkKK0BAIC0zNTgsNiArMzU5LDggQEAgZGlzcGxheV9nZGJfcHJvbXB0IChj b25zdCBjaGFyICpuZXdfcHJvbXB0KQogICAgLyogUmVzZXQgdGhlIG5lc3RpbmcgZGVwdGggdXNl ZCB3aGVuIHRyYWNlLWNvbW1hbmRzIGlzIHNldC4gICovCiAgICByZXNldF9jb21tYW5kX25lc3Rf ZGVwdGggKCk7CiAgCkBAIC0xNTI5LDcgKzE0ODAsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50 LXRvcC5jIGIvZ2RiL2V2ZW50LXRvcC5jCiAgICAvKiBEbyBub3QgY2FsbCB0aGUgcHl0aG9uIGhv b2sgb24gYW4gZXhwbGljaXQgcHJvbXB0IGNoYW5nZSBhcwogICAgICAgcGFzc2VkIHRvIHRoaXMg ZnVuY3Rpb24sIGFzIHRoaXMgZm9ybXMgYSBzZWNvbmRhcnkvbG9jYWwgcHJvbXB0LAogICAgICAg SUUsIGRpc3BsYXllZCBidXQgbm90IHNldC4gICovCi1AQCAtNzcwLDcgKzc3MywxMCBAQCBjb21t YW5kX2xpbmVfaGFuZGxlciAoZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hhcj4gJiZybCkKK0BA IC03NjksNyArNzcyLDEwIEBAIGNvbW1hbmRfbGluZV9oYW5kbGVyIChnZGI6OnVuaXF1ZV94bWFs bG9jX3B0cjxjaGFyPiAmJnJsKQogICAgICAgIGNvbW1hbmRfaGFuZGxlciAoY21kKTsKICAKICAg ICAgICBpZiAodWktPnByb21wdF9zdGF0ZSAhPSBQUk9NUFRFRCkKCmRpZmYgLS1naXQgYS9nZGIt Ni42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBhdGNoIGIvZ2RiLTYuNi1idWls ZGlkLWxvY2F0ZS1zb2xpYi1taXNzaW5nLWlkcy5wYXRjaAppbmRleCA3OTdkZWQwLi45YzQxOWQ1 IDEwMDY0NAotLS0gYS9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLXNvbGliLW1pc3NpbmctaWRzLnBh dGNoCisrKyBiL2dkYi02LjYtYnVpbGRpZC1sb2NhdGUtc29saWItbWlzc2luZy1pZHMucGF0Y2gK QEAgLTE0LDcgKzE0LDcgQEAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNn aT9pZD0xMzM5ODYyCiBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1z dnI0LmMKIC0tLSBhL2dkYi9zb2xpYi1zdnI0LmMKICsrKyBiL2dkYi9zb2xpYi1zdnI0LmMKLUBA IC0xMzQ4LDE0ICsxMzQ4LDI3IEBAIHN2cjRfcmVhZF9zb19saXN0IChDT1JFX0FERFIgbG0sIENP UkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNDYsMTQgKzEzNDYsMjcgQEAgc3ZyNF9yZWFkX3NvX2xp c3QgKENPUkVfQUREUiBsbSwgQ09SRV9BRERSIHByZXZfbG0sCiAgCX0KICAKICAgICAgICB7CkBA IC00NCw3ICs0NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvc29saWItc3ZyNC5jIGIvZ2RiL3NvbGli LXN2cjQuYwogIAlpZiAoYnVpbGRfaWQgIT0gTlVMTCkKICAJICB7CiAgCSAgICBjaGFyICpuYW1l LCAqYnVpbGRfaWRfZmlsZW5hbWU7Ci1AQCAtMTM3MCwyMyArMTM4Myw3IEBAIHN2cjRfcmVhZF9z b19saXN0IChDT1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNjgsMjMgKzEz ODEsNyBAQCBzdnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9s bSwKICAJCXhmcmVlIChuYW1lKTsKICAJICAgICAgfQogIAkgICAgZWxzZQoKZGlmZiAtLWdpdCBh L2dkYi02LjYtYnVpbGRpZC1sb2NhdGUucGF0Y2ggYi9nZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBh dGNoCmluZGV4IDZkYjgzODkuLjIwNTQ5ODcgMTAwNjQ0Ci0tLSBhL2dkYi02LjYtYnVpbGRpZC1s b2NhdGUucGF0Y2gKKysrIGIvZ2RiLTYuNi1idWlsZGlkLWxvY2F0ZS5wYXRjaApAQCAtOSwxOSAr OSwyNSBAQCBTdWJqZWN0OiBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLnBhdGNoCiBkaWZmIC0tZ2l0 IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogLS0tIGEvZ2RiL2J1aWxkLWlkLmMK ICsrKyBiL2dkYi9idWlsZC1pZC5jCi1AQCAtMjYsMTEgKzI2LDY3IEBACi0gI2luY2x1ZGUgIm9i amZpbGVzLmgiCitAQCAtMjIsMTUgKzIyLDcxIEBACisgI2luY2x1ZGUgImdkYl9iZmQuaCIKKyAj aW5jbHVkZSAiYnVpbGQtaWQuaCIKKyAjaW5jbHVkZSAiY29tbW9uL2dkYl92ZWNzLmgiCistI2lu Y2x1ZGUgInN5bWZpbGUuaCIKKy0jaW5jbHVkZSAib2JqZmlsZXMuaCIKKysjaW5jbHVkZSA8c3lz L3N0YXQuaD4KKysjaW5jbHVkZSAiZWxmLWJmZC5oIgorKyNpbmNsdWRlICJlbGYvY29tbW9uLmgi CisrI2luY2x1ZGUgImVsZi9leHRlcm5hbC5oIgorKyNpbmNsdWRlICJlbGYvaW50ZXJuYWwuaCIK ICAjaW5jbHVkZSAiZmlsZW5hbWVzLmgiCisrI2luY2x1ZGUgImdkYl9iZmQuaCIKKysjaW5jbHVk ZSAiZ2RiY21kLmgiCiAgI2luY2x1ZGUgImdkYmNvcmUuaCIKICsjaW5jbHVkZSAibGliYmZkLmgi Ci0rI2luY2x1ZGUgImdkYmNvcmUuaCIKLSsjaW5jbHVkZSAiZ2RiY21kLmgiCisrI2luY2x1ZGUg Im9iamZpbGVzLmgiCiArI2luY2x1ZGUgIm9ic2VydmFibGUuaCIKLSsjaW5jbHVkZSAiZWxmL2V4 dGVybmFsLmgiCi0rI2luY2x1ZGUgImVsZi9pbnRlcm5hbC5oIgotKyNpbmNsdWRlICJlbGYvY29t bW9uLmgiCi0rI2luY2x1ZGUgImVsZi1iZmQuaCIKLSsjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKysj aW5jbHVkZSAic3ltZmlsZS5oIgogKwogKyNkZWZpbmUgQlVJTERfSURfVkVSQk9TRV9OT05FIDAK ICsjZGVmaW5lIEJVSUxEX0lEX1ZFUkJPU0VfRklMRU5BTUVTIDEKQEAgLTU1NCw3ICs1NjAsOCBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9nZGIvYnVpbGQtaWQuYwogKwogKyAgICAg IC8qIFdlIGV4cGVjdCB0byBiZSBzaWxlbnQgb24gdGhlIG5vbi1leGlzdGluZyBmaWxlcy4gICov CiArICAgICAgZ2RiX2JmZF9yZWZfcHRyIGRlYnVnX2JmZCA9IGdkYl9iZmRfb3BlbiAoZmlsZW5h bWUuZ2V0ICgpLCBnbnV0YXJnZXQsIC0xKTsKLSsKKyAKKy0gICAgICByZXR1cm4ge307CiArICAg ICAgaWYgKGRlYnVnX2JmZCA9PSBOVUxMKQogKwl7CiArCSAgaWYgKHNlcGFyYXRlX2RlYnVnX2Zp bGVfZGVidWcpCkBAIC01NzAsOCArNTc3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5j IGIvZ2RiL2J1aWxkLWlkLmMKICsKICsJICBjb250aW51ZTsKICsJfQotIAotLSAgICAgIHJldHVy biB7fTsKKysKICsgICAgICByZXRfYmZkID0gZGVidWdfYmZkOwogKyAgICAgIGJyZWFrOwogICAg ICB9CkBAIC01OTMsMTMgKzU5OSwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2J1aWxkLWlkLmMgYi9n ZGIvYnVpbGQtaWQuYwogKwogKyAgICAgIGlmIChhZGRfZGVidWdfc3VmZml4KQogKwlsaW5rMCAr PSAiLmRlYnVnIjsKLSsKKyAKKy0gICAgICByZXR1cm4ge307CiArICAgICAgLyogSWYgdGhlIHN5 bWxpbmsgaGFzIHRhcmdldCByZXF1ZXN0IHRvIGluc3RhbGwgdGhlIHRhcmdldC4KICsJIEJBU0Ut ZGVidWdpbmZvLnJwbSBjb250YWlucyB0aGUgc3ltbGluayBidXQgQkFTRS5ycG0gbWF5IGJlIG1p c3NpbmcuCiArCSBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTk4 MTE1NCAgKi8KICsgICAgICBzdGQ6OnN0cmluZyBsaW5rMF9yZXNvbHZlZCAobGlua19yZXNvbHZl IChsaW5rMC5jX3N0ciAoKSwgMCkpOwotIAotLSAgICAgIHJldHVybiB7fTsKKysKICsgICAgICBp ZiAobGlua19hbGwuZW1wdHkgKCkpCiArCWxpbmtfYWxsID0gbGluazBfcmVzb2x2ZWQ7CiArICAg ICAgZWxzZQpAQCAtNjY5LDcgKzY3NSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBi L2dkYi9idWlsZC1pZC5jCiAgCSAgaWYgKGRlYnVnX2JmZCAhPSBOVUxMKQogIAkgICAgcmV0dXJu IGRlYnVnX2JmZDsKICAJfQotQEAgLTE3NSwyMiArNjg1LDE5MCBAQCBidWlsZF9pZF90b19kZWJ1 Z19iZmQgKHNpemVfdCBidWlsZF9pZF9sZW4sIGNvbnN0IGJmZF9ieXRlICpidWlsZF9pZCkKK0BA IC0xNzUsMjIgKzY4NSwxODkgQEAgYnVpbGRfaWRfdG9fZGVidWdfYmZkIChzaXplX3QgYnVpbGRf aWRfbGVuLCBjb25zdCBiZmRfYnl0ZSAqYnVpbGRfaWQpCiAgICByZXR1cm4ge307CiAgfQogIApA QCAtNjg0LDcgKzY5MCw2IEBAIGRpZmYgLS1naXQgYS9nZGIvYnVpbGQtaWQuYyBiL2dkYi9idWls ZC1pZC5jCiArICAgIHJldHVybiBOVUxMOwogKwogKyAgcmVzdWx0ID0geHN0cmR1cCAoYmZkX2dl dF9maWxlbmFtZSAoYWJmZCkpOwotKyAgYWJmZC5yZWxlYXNlICgpOwogKyAgcmV0dXJuIHJlc3Vs dDsKICt9CiArCkBAIC04NjMsNyArODY4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9idWlsZC1pZC5j IGIvZ2RiL2J1aWxkLWlkLmMKICAgICAgICAvKiBQcmV2ZW50IGxvb3Bpbmcgb24gYSBzdHJpcHBl ZCAuZGVidWcgZmlsZS4gICovCiAgICAgICAgaWYgKGFiZmQgIT0gTlVMTAogIAkgICYmIGZpbGVu YW1lX2NtcCAoYmZkX2dldF9maWxlbmFtZSAoYWJmZC5nZXQgKCkpLAotQEAgLTIwMywzICs4ODEs MjEgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxlX2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxl ICpvYmpmaWxlKQorQEAgLTIwMywzICs4ODAsMjEgQEAgZmluZF9zZXBhcmF0ZV9kZWJ1Z19maWxl X2J5X2J1aWxkaWQgKHN0cnVjdCBvYmpmaWxlICpvYmpmaWxlKQogIAogICAgcmV0dXJuIHN0ZDo6 c3RyaW5nICgpOwogIH0KQEAgLTk0MCwxOCArOTQ1LDE4IEBAIGRpZmYgLS1naXQgYS9nZGIvY29m ZnJlYWQuYyBiL2dkYi9jb2ZmcmVhZC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dk Yi9jb3JlbG93LmMKIC0tLSBhL2dkYi9jb3JlbG93LmMKICsrKyBiL2dkYi9jb3JlbG93LmMKLUBA IC00Myw2ICs0MywxMCBAQAotICNpbmNsdWRlICJnZGJfYmZkLmgiCi0gI2luY2x1ZGUgImNvbXBs ZXRlci5oIgotICNpbmNsdWRlICJjb21tb24vZmlsZXN0dWZmLmgiCitAQCAtMjIsNiArMjIsMTAg QEAKKyAjaW5jbHVkZSA8c2lnbmFsLmg+CisgI2luY2x1ZGUgPGZjbnRsLmg+CisgI2luY2x1ZGUg ImZyYW1lLmgiCQkvKiByZXF1aXJlZCBieSBpbmZlcmlvci5oICovCiArI2luY2x1ZGUgImF1eHYu aCIKKysjaW5jbHVkZSAiYnVpbGQtaWQuaCIKICsjaW5jbHVkZSAiZWxmL2NvbW1vbi5oIgogKyNp bmNsdWRlICJnZGJjbWQuaCIKLSsjaW5jbHVkZSAiYnVpbGQtaWQuaCIKLSAKLSAjaWZuZGVmIE9f TEFSR0VGSUxFCi0gI2RlZmluZSBPX0xBUkdFRklMRSAwCi1AQCAtMzIwLDYgKzMyNCw1NCBAQCBh ZGRfdG9fdGhyZWFkX2xpc3QgKGJmZCAqYWJmZCwgYXNlY3Rpb24gKmFzZWN0LCB2b2lkICpyZWdf c2VjdF9hcmcpCisgI2luY2x1ZGUgImluZmVyaW9yLmgiCisgI2luY2x1ZGUgImluZnJ1bi5oIgor ICNpbmNsdWRlICJzeW10YWIuaCIKK0BAIC0zMjAsNiArMzI0LDQ5IEBAIGFkZF90b190aHJlYWRf bGlzdCAoYmZkICphYmZkLCBhc2VjdGlvbiAqYXNlY3QsIHZvaWQgKnJlZ19zZWN0X2FyZykKICAg ICAgaW5mZXJpb3JfcHRpZCA9IHB0aWQ7CQkJLyogWWVzLCBtYWtlIGl0IGN1cnJlbnQuICAqLwog IH0KICAKQEAgLTk2MSwxMCArOTY2LDkgQEAgZGlmZiAtLWdpdCBhL2dkYi9jb3JlbG93LmMgYi9n ZGIvY29yZWxvdy5jCiArYnVpbGRfaWRfbG9jYXRlX2V4ZWMgKGludCBmcm9tX3R0eSkKICt7CiAr ICBDT1JFX0FERFIgYXRfZW50cnk7Ci0rICBzdHJ1Y3QgYmZkX2J1aWxkX2lkICpidWlsZF9pZDsK LSsgIGNoYXIgKmV4ZWNmaWxlbmFtZTsKKysgIGdkYjo6dW5pcXVlX3htYWxsb2NfcHRyPHN0cnVj dCBiZmRfYnVpbGRfaWQ+IGJ1aWxkX2lkOworKyAgZ2RiOjp1bmlxdWVfeG1hbGxvY19wdHI8Y2hh cj4gZXhlY2ZpbGVuYW1lOwogKyAgY2hhciAqYnVpbGRfaWRfZmlsZW5hbWU7Ci0rICBzdHJ1Y3Qg Y2xlYW51cCAqYmFja190bzsKICsKICsgIGlmIChleGVjX2JmZCAhPSBOVUxMIHx8IHN5bWZpbGVf b2JqZmlsZSAhPSBOVUxMKQogKyAgICByZXR1cm47CkBAIC05NzIsMTAgKzk3Niw5IEBAIGRpZmYg LS1naXQgYS9nZGIvY29yZWxvdy5jIGIvZ2RiL2NvcmVsb3cuYwogKyAgaWYgKHRhcmdldF9hdXh2 X3NlYXJjaCAoY3VycmVudF90b3BfdGFyZ2V0ICgpLCBBVF9FTlRSWSwgJmF0X2VudHJ5KSA8PSAw KQogKyAgICByZXR1cm47CiArCi0rICBidWlsZF9pZCA9IGJ1aWxkX2lkX2FkZHJfZ2V0IChhdF9l bnRyeSk7CisrICBidWlsZF9pZC5yZXNldCAoYnVpbGRfaWRfYWRkcl9nZXQgKGF0X2VudHJ5KSk7 CiArICBpZiAoYnVpbGRfaWQgPT0gTlVMTCkKICsgICAgcmV0dXJuOwotKyAgYmFja190byA9IG1h a2VfY2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkKTsKICsKICsgIC8qIFNZTUZJTEVfT0JKRklMRSBz aG91bGQgcmVmZXIgdG8gdGhlIG1haW4gZXhlY3V0YWJsZSAobm90IG9ubHkgdG8gaXRzCiArICAg ICBzZXBhcmF0ZSBkZWJ1ZyBpbmZvIGZpbGUpLiAgZ2NjNDQrIGtlZXBzIC5laF9mcmFtZSBvbmx5 IGluIHRoZSBtYWluCkBAIC05ODMsMTQgKzk4NiwxMyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVs b3cuYyBiL2dkYi9jb3JlbG93LmMKICsgICAgIGZpbGUgLSBzdWNoIC5laF9mcmFtZSB3b3VsZCBu b3QgYmUgZm91bmQgaWYgU1lNRklMRV9PQkpGSUxFIHdvdWxkIHJlZmVyCiArICAgICBkaXJlY3Rs eSB0byB0aGUgc2VwYXJhdGUgZGVidWcgaW5mbyBmaWxlLiAgKi8KICsKLSsgIGV4ZWNmaWxlbmFt ZSA9IGJ1aWxkX2lkX3RvX2ZpbGVuYW1lIChidWlsZF9pZCwgJmJ1aWxkX2lkX2ZpbGVuYW1lKTsK LSsgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGJ1aWxkX2lkX2ZpbGVuYW1lKTsKKysgIGV4ZWNmaWxl bmFtZS5yZXNldCAoYnVpbGRfaWRfdG9fZmlsZW5hbWUgKGJ1aWxkX2lkLmdldCAoKSwKKysJCQkJ CSAgICAmYnVpbGRfaWRfZmlsZW5hbWUpKTsKICsKICsgIGlmIChleGVjZmlsZW5hbWUgIT0gTlVM TCkKICsgICAgewotKyAgICAgIG1ha2VfY2xlYW51cCAoeGZyZWUsIGV4ZWNmaWxlbmFtZSk7Ci0r ICAgICAgZXhlY19maWxlX2F0dGFjaCAoZXhlY2ZpbGVuYW1lLCBmcm9tX3R0eSk7Ci0rICAgICAg c3ltYm9sX2ZpbGVfYWRkX21haW4gKGV4ZWNmaWxlbmFtZSwKKysgICAgICBleGVjX2ZpbGVfYXR0 YWNoIChleGVjZmlsZW5hbWUuZ2V0ICgpLCBmcm9tX3R0eSk7CisrICAgICAgc3ltYm9sX2ZpbGVf YWRkX21haW4gKGV4ZWNmaWxlbmFtZS5nZXQgKCksCiArCQkJICAgIHN5bWZpbGVfYWRkX2ZsYWcg KCFmcm9tX3R0eSA/IDAgOiBTWU1GSUxFX1ZFUkJPU0UpKTsKICsgICAgICBpZiAoc3ltZmlsZV9v YmpmaWxlICE9IE5VTEwpCiArICAgICAgICBzeW1maWxlX29iamZpbGUtPmZsYWdzIHw9IE9CSkZf QlVJTERfSURfQ09SRV9MT0FERUQ7CkBAIC05OTgsMTUgKzEwMDAsMTMgQEAgZGlmZiAtLWdpdCBh L2dkYi9jb3JlbG93LmMgYi9nZGIvY29yZWxvdy5jCiArICBlbHNlCiArICAgIGRlYnVnX3ByaW50 X21pc3NpbmcgKF8oInRoZSBtYWluIGV4ZWN1dGFibGUgZmlsZSIpLCBidWlsZF9pZF9maWxlbmFt ZSk7CiArCi0rICBkb19jbGVhbnVwcyAoYmFja190byk7Ci0rCiArICAvKiBObyBhdXRvbWF0aWMg U09MSUJfQUREIGFzIHRoZSBsaWJyYXJpZXMgd291bGQgZ2V0IHJlYWQgdHdpY2UuICAqLwogK30K ICsKICAvKiBJc3N1ZSBhIG1lc3NhZ2Ugc2F5aW5nIHdlIGhhdmUgbm8gY29yZSB0byBkZWJ1Zywg aWYgRlJPTV9UVFkuICAqLwogIAogIHN0YXRpYyB2b2lkCi1AQCAtNDU1LDYgKzUwNywxNCBAQCBj b3JlX3RhcmdldF9vcGVuIChjb25zdCBjaGFyICphcmcsIGludCBmcm9tX3R0eSkKK0BAIC00NTUs NiArNTAyLDE0IEBAIGNvcmVfdGFyZ2V0X29wZW4gKGNvbnN0IGNoYXIgKmFyZywgaW50IGZyb21f dHR5KQogIAlzd2l0Y2hfdG9fdGhyZWFkICh0aHJlYWQpOwogICAgICB9CiAgCkBAIC0xMDIxLDcg KzEwMjEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93LmMKICAg IHBvc3RfY3JlYXRlX2luZmVyaW9yICh0YXJnZXQsIGZyb21fdHR5KTsKICAKICAgIC8qIE5vdyBn byB0aHJvdWdoIHRoZSB0YXJnZXQgc3RhY2sgbG9va2luZyBmb3IgdGhyZWFkcyBzaW5jZSB0aGVy ZQotQEAgLTEwNjEsNCArMTEyMSwxMSBAQCB2b2lkCitAQCAtMTA1OSw0ICsxMTE0LDExIEBAIHZv aWQKICBfaW5pdGlhbGl6ZV9jb3JlbG93ICh2b2lkKQogIHsKICAgIGFkZF90YXJnZXQgKGNvcmVf dGFyZ2V0X2luZm8sIGNvcmVfdGFyZ2V0X29wZW4sIGZpbGVuYW1lX2NvbXBsZXRlcik7CkBAIC0x MDM2LDcgKzEwMzYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2NvcmVsb3cuYyBiL2dkYi9jb3JlbG93 LmMKIGRpZmYgLS1naXQgYS9nZGIvZG9jL2dkYi50ZXhpbmZvIGIvZ2RiL2RvYy9nZGIudGV4aW5m bwogLS0tIGEvZ2RiL2RvYy9nZGIudGV4aW5mbwogKysrIGIvZ2RiL2RvYy9nZGIudGV4aW5mbwot QEAgLTE5OTQ1LDYgKzE5OTQ1LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgorQEAgLTE5OTY3LDYg KzE5OTY3LDI3IEBAIGluZm9ybWF0aW9uIGZpbGVzLgogIAogIEBlbmQgdGFibGUKICAKQEAgLTEx MzQsNyArMTEzNCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZWxmcmVhZC5jIGIvZ2RiL2VsZnJlYWQu YwogZGlmZiAtLWdpdCBhL2dkYi9vYmpmaWxlcy5oIGIvZ2RiL29iamZpbGVzLmgKIC0tLSBhL2dk Yi9vYmpmaWxlcy5oCiArKysgYi9nZGIvb2JqZmlsZXMuaAotQEAgLTU1Myw2ICs1NTMsMTAgQEAg c3RydWN0IG9iamZpbGUKK0BAIC02MTgsNiArNjE4LDEwIEBAIHN0cnVjdCBvYmpmaWxlCiAgICBo dGFiX3Qgc3RhdGljX2xpbmtzIHt9OwogIH07CiAgCkBAIC0xMTUwLDE0ICsxMTUwLDE0IEBAIGRp ZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYyBiL2dkYi9weXRob24vcHktb2JqZmls ZS5jCiArKysgYi9nZGIvcHl0aG9uL3B5LW9iamZpbGUuYwogQEAgLTEzMiw3ICsxMzIsNyBAQCBv YmpmcHlfZ2V0X2J1aWxkX2lkIChQeU9iamVjdCAqc2VsZiwgdm9pZCAqY2xvc3VyZSkKICAKLSAg IFRSWQorICAgdHJ5CiAgICAgIHsKIC0gICAgICBidWlsZF9pZCA9IGJ1aWxkX2lkX2JmZF9nZXQg KG9iamZpbGUtPm9iZmQpOwogKyAgICAgIGJ1aWxkX2lkID0gYnVpbGRfaWRfYmZkX3NoZHJfZ2V0 IChvYmpmaWxlLT5vYmZkKTsKICAgICAgfQotICAgQ0FUQ0ggKGV4Y2VwdCwgUkVUVVJOX01BU0tf QUxMKQorICAgY2F0Y2ggKGNvbnN0IGdkYl9leGNlcHRpb24gJmV4Y2VwdCkKICAgICAgewotQEAg LTUzNSw3ICs1MzUsNyBAQCBvYmpmcHlfbG9va3VwX29iamZpbGVfYnlfYnVpbGRfaWQgKGNvbnN0 IGNoYXIgKmJ1aWxkX2lkKQorQEAgLTUzMyw3ICs1MzMsNyBAQCBvYmpmcHlfbG9va3VwX29iamZp bGVfYnlfYnVpbGRfaWQgKGNvbnN0IGNoYXIgKmJ1aWxkX2lkKQogICAgICAgIC8qIERvbid0IHJl dHVybiBzZXBhcmF0ZSBkZWJ1ZyBmaWxlcy4gICovCiAgICAgICAgaWYgKG9iamZpbGUtPnNlcGFy YXRlX2RlYnVnX29iamZpbGVfYmFja2xpbmsgIT0gTlVMTCkKICAJY29udGludWU7CkBAIC0xMTc3 LDcgKzExNzcsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3NvbGliLXN2cjQuYyBiL2dkYi9zb2xpYi1z dnI0LmMKICAKICBzdGF0aWMgc3RydWN0IGxpbmtfbWFwX29mZnNldHMgKnN2cjRfZmV0Y2hfbGlu a19tYXBfb2Zmc2V0cyAodm9pZCk7CiAgc3RhdGljIGludCBzdnI0X2hhdmVfbGlua19tYXBfb2Zm c2V0cyAodm9pZCk7Ci1AQCAtMTM0Niw5ICsxMzQ3LDUxIEBAIHN2cjRfcmVhZF9zb19saXN0IChD T1JFX0FERFIgbG0sIENPUkVfQUREUiBwcmV2X2xtLAorQEAgLTEzNDQsOSArMTM0NSw1MSBAQCBz dnI0X3JlYWRfc29fbGlzdCAoQ09SRV9BRERSIGxtLCBDT1JFX0FERFIgcHJldl9sbSwKICAJICBj b250aW51ZTsKICAJfQogIApAQCAtMTI5Nyw3ICsxMjk3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90 ZXN0c3VpdGUvZ2RiLmJhc2UvbmV3LXVpLXBlbmRpbmctaW5wdXQuZXhwIGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIKIGRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwIGIvZ2RiL3Rlc3Rz dWl0ZS9saWIvZ2RiLmV4cAogLS0tIGEvZ2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAogKysrIGIv Z2RiL3Rlc3RzdWl0ZS9saWIvZ2RiLmV4cAotQEAgLTE2OTcsNiArMTY5NywxNiBAQCBwcm9jIGRl ZmF1bHRfZ2RiX3N0YXJ0IHsgfSB7CitAQCAtMTcxNiw2ICsxNzE2LDE2IEBAIHByb2MgZGVmYXVs dF9nZGJfc3RhcnQgeyB9IHsKICAJICAgIHdhcm5pbmcgIkNvdWxkbid0IHNldCB0aGUgd2lkdGgg dG8gMC4iCiAgCX0KICAgICAgfQoKZGlmZiAtLWdpdCBhL2dkYi02LjYtc2NoZWR1bGVyX2xvY2tp bmctc3RlcC1pcy1kZWZhdWx0LnBhdGNoIGIvZ2RiLTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVw LWlzLWRlZmF1bHQucGF0Y2gKaW5kZXggOGJmMDYxYy4uNGZlNmMxYSAxMDA2NDQKLS0tIGEvZ2Ri LTYuNi1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKKysrIGIvZ2RiLTYu Ni1zY2hlZHVsZXJfbG9ja2luZy1zdGVwLWlzLWRlZmF1bHQucGF0Y2gKQEAgLTksNyArOSw3IEBA IFN1YmplY3Q6IGdkYi02LjYtc2NoZWR1bGVyX2xvY2tpbmctc3RlcC1pcy1kZWZhdWx0LnBhdGNo CiBkaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCiAtLS0gYS9nZGIvaW5m cnVuLmMKICsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTIwNjUsNyArMjA2NSw3IEBAIHN0YXRpYyBj b25zdCBjaGFyICpjb25zdCBzY2hlZHVsZXJfZW51bXNbXSA9IHsKK0BAIC0yMDY4LDcgKzIwNjgs NyBAQCBzdGF0aWMgY29uc3QgY2hhciAqY29uc3Qgc2NoZWR1bGVyX2VudW1zW10gPSB7CiAgICBz Y2hlZGxvY2tfcmVwbGF5LAogICAgTlVMTAogIH07CgpkaWZmIC0tZ2l0IGEvZ2RiLTYuOC1xdWl0 LW5ldmVyLWFib3J0cy5wYXRjaCBiL2dkYi02LjgtcXVpdC1uZXZlci1hYm9ydHMucGF0Y2gKaW5k ZXggZGM2NmU5My4uNDEzYmEzZiAxMDA2NDQKLS0tIGEvZ2RiLTYuOC1xdWl0LW5ldmVyLWFib3J0 cy5wYXRjaAorKysgYi9nZGItNi44LXF1aXQtbmV2ZXItYWJvcnRzLnBhdGNoCkBAIC00NSw3ICs0 NSw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXh0ZW5zaW9uLmMgYi9nZGIvZXh0ZW5zaW9uLmMKIGRp ZmYgLS1naXQgYS9nZGIvdG9wLmMgYi9nZGIvdG9wLmMKIC0tLSBhL2dkYi90b3AuYwogKysrIGIv Z2RiL3RvcC5jCi1AQCAtMTYxNyw3ICsxNjE3LDEzIEBAIHF1aXRfZm9yY2UgKGludCAqZXhpdF9h cmcsIGludCBmcm9tX3R0eSkKK0BAIC0xNjE4LDcgKzE2MTgsMTMgQEAgcXVpdF9mb3JjZSAoaW50 ICpleGl0X2FyZywgaW50IGZyb21fdHR5KQogIAogICAgcXQuZnJvbV90dHkgPSBmcm9tX3R0eTsK ICAKQEAgLTU4LDcgKzU4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi90b3AuYyBiL2dkYi90b3AuYwog KyNlbmRpZgogIAogICAgLyogR2V0IG91dCBvZiB0ZmluZCBtb2RlLCBhbmQga2lsbCBvciBkZXRh Y2ggYWxsIGluZmVyaW9ycy4gICovCi0gICBUUlkKKyAgIHRyeQogZGlmZiAtLWdpdCBhL2dkYi91 dGlscy5jIGIvZ2RiL3V0aWxzLmMKIC0tLSBhL2dkYi91dGlscy5jCiArKysgYi9nZGIvdXRpbHMu YwoKZGlmZiAtLWdpdCBhL2dkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2FibGVkLnBhdGNo IGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gKaW5kZXggMGE0MGZh NC4uZmNmNjQwOCAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJs ZWQucGF0Y2gKKysrIGIvZ2RiLWFyY2hlci1waWUtYWRkb25zLWtlZXAtZGlzYWJsZWQucGF0Y2gK QEAgLTgsNyArOCw3IEBAIFN1YmplY3Q6IGdkYi1hcmNoZXItcGllLWFkZG9ucy1rZWVwLWRpc2Fi bGVkLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dkYi9icmVha3BvaW50 LmMKIC0tLSBhL2dkYi9icmVha3BvaW50LmMKICsrKyBiL2dkYi9icmVha3BvaW50LmMKLUBAIC0x NTQ1MSw2ICsxNTQ1MSw1MCBAQCBzdGF0aWMgc3RydWN0IGNtZF9saXN0X2VsZW1lbnQgKmVuYWJs ZWJyZWFrbGlzdCA9IE5VTEw7CitAQCAtMTU0MzcsNiArMTU0MzcsNTAgQEAgc3RhdGljIHN0cnVj dCBjbWRfbGlzdF9lbGVtZW50ICplbmFibGVicmVha2xpc3QgPSBOVUxMOwogIAogIGNtZF9saXN0 X2VsZW1lbnQgKmNvbW1hbmRzX2NtZF9lbGVtZW50ID0gbnVsbHB0cjsKICAKCmRpZmYgLS1naXQg YS9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0Y2ggYi9nZGItYXJjaGVyLXBpZS1hZGRvbnMucGF0 Y2gKaW5kZXggNjgxOWUzYS4uNWEzZTY3OCAxMDA2NDQKLS0tIGEvZ2RiLWFyY2hlci1waWUtYWRk b25zLnBhdGNoCisrKyBiL2dkYi1hcmNoZXItcGllLWFkZG9ucy5wYXRjaApAQCAtNTEsNyArNTEs NyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmggYi9nZGIvZ2RidHlwZXMuaAogZGlmZiAt LWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMKIC0tLSBhL2dkYi92YWx1ZS5jCiArKysg Yi9nZGIvdmFsdWUuYwotQEAgLTI4MjcsNyArMjgyNyw4IEBAIHZhbHVlX3N0YXRpY19maWVsZCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQorQEAgLTI4MjUsNyArMjgyNSw4IEBAIHZh bHVlX3N0YXRpY19maWVsZCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBmaWVsZG5vKQogICAgICB7 CiAgICAgIGNhc2UgRklFTERfTE9DX0tJTkRfUEhZU0FERFI6CiAgICAgICAgcmV0dmFsID0gdmFs dWVfYXRfbGF6eSAoVFlQRV9GSUVMRF9UWVBFICh0eXBlLCBmaWVsZG5vKSwKCmRpZmYgLS1naXQg YS9nZGItYXJjaGVyLnBhdGNoIGIvZ2RiLWFyY2hlci5wYXRjaAppbmRleCAwMTc4OGM0Li5hZjE0 ZGFkIDEwMDY0NAotLS0gYS9nZGItYXJjaGVyLnBhdGNoCisrKyBiL2dkYi1hcmNoZXIucGF0Y2gK QEAgLTE3LDcgKzE3LDcgQEAgdHJvbWV5L3B5dGhvbgogZGlmZiAtLWdpdCBhL2dkYi9NYWtlZmls ZS5pbiBiL2dkYi9NYWtlZmlsZS5pbgogLS0tIGEvZ2RiL01ha2VmaWxlLmluCiArKysgYi9nZGIv TWFrZWZpbGUuaW4KLUBAIC0yMDgyLDYgKzIwODIsMTIgQEAgc3RhbXAtaDogJChzcmNkaXIpL2Nv bmZpZy5pbiBjb25maWcuc3RhdHVzCitAQCAtMjA4NCw2ICsyMDg0LDEyIEBAIHN0YW1wLWg6ICQo c3JjZGlyKS9jb25maWcuaW4gY29uZmlnLnN0YXR1cwogIAkgIENPTkZJR19MSU5LUz0gXAogIAkg ICQoU0hFTEwpIGNvbmZpZy5zdGF0dXMKICAKQEAgLTExMiw3ICsxMTIsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL21haW4uYyBiL2dkYi9tYWluLmMKICAjaW5jbHVkZSAic291cmNlLmgiCiAgI2luY2x1 ZGUgImNsaS9jbGktY21kcy5oIgogICNpbmNsdWRlICJvYmpmaWxlcy5oIgotQEAgLTQ3MCw3ICs0 NzEsNyBAQCBleGVjX29yX2NvcmVfZmlsZV9hdHRhY2ggKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBp bnQgZnJvbV90dHkpCitAQCAtNDY4LDcgKzQ2OSw3IEBAIGV4ZWNfb3JfY29yZV9maWxlX2F0dGFj aCAoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmcm9tX3R0eSkKICB9CiAgCiAgc3RhdGljIHZv aWQKQEAgLTEyMSw3ICsxMjEsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL21haW4uYyBiL2dkYi9tYWlu LmMKICB7CiAgICBpbnQgYXJnYyA9IGNvbnRleHQtPmFyZ2M7CiAgICBjaGFyICoqYXJndiA9IGNv bnRleHQtPmFyZ3Y7Ci1AQCAtNjkwLDEwICs2OTEsMTQgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1 Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTY4OCwxMCArNjg5LDE0IEBAIGNh cHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKICAgICAg ICB7ImFyZ3MiLCBub19hcmd1bWVudCwgJnNldF9hcmdzLCAxfSwKICAgICAgICB7ImwiLCByZXF1 aXJlZF9hcmd1bWVudCwgMCwgJ2wnfSwKICAgICAgICB7InJldHVybi1jaGlsZC1yZXN1bHQiLCBu b19hcmd1bWVudCwgJnJldHVybl9jaGlsZF9yZXN1bHQsIDF9LApAQCAtMTM3LDcgKzEzNyw3IEBA IGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogICAgICAgIHsKICAJaW50IG9w dGlvbl9pbmRleDsKICAKLUBAIC03MTEsNiArNzE2LDkgQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1 Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0KQorQEAgLTcwOSw2ICs3MTQsOSBAQCBjYXB0 dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCiAgCSAgY2Fz ZSAwOgogIAkgICAgLyogTG9uZyBvcHRpb24gdGhhdCBqdXN0IHNldHMgYSBmbGFnLiAgKi8KICAJ ICAgIGJyZWFrOwpAQCAtMTQ3LDcgKzE0Nyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIv Z2RiL21haW4uYwogIAkgIGNhc2UgT1BUX1NFOgogIAkgICAgc3ltYXJnID0gb3B0YXJnOwogIAkg ICAgZXhlY2FyZyA9IG9wdGFyZzsKLUBAIC04OTAsNyArODk4LDMxIEBAIGNhcHR1cmVkX21haW5f MSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKK0BAIC04ODgsNyArODk2LDMx IEBAIGNhcHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkK ICAKICAgIC8qIE5vdyB0aGF0IGdkYl9pbml0IGhhcyBjcmVhdGVkIHRoZSBpbml0aWFsIGluZmVy aW9yLCB3ZSdyZSBpbgogICAgICAgcG9zaXRpb24gdG8gc2V0IGFyZ3MgZm9yIHRoYXQgaW5mZXJp b3IuICAqLwpAQCAtMTgwLDcgKzE4MCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2Ri L21haW4uYwogICAgICB7CiAgICAgICAgLyogVGhlIHJlbWFpbmluZyBvcHRpb25zIGFyZSB0aGUg Y29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHRoZQogIAkgaW5mZXJpb3IuICBUaGUgZmlyc3Qgb25l IGlzIHRoZSBzeW0vZXhlYyBmaWxlLCBhbmQgdGhlIHJlc3QKLUBAIC0xMTkxLDcgKzEyMjMsOCBA QCBjYXB0dXJlZF9tYWluXzEgKHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitA QCAtMTE4OSw3ICsxMjIxLDggQEAgY2FwdHVyZWRfbWFpbl8xIChzdHJ1Y3QgY2FwdHVyZWRfbWFp bl9hcmdzICpjb250ZXh0KQogIAogICAgLyogUmVhZCBpbiB0aGUgb2xkIGhpc3RvcnkgYWZ0ZXIg YWxsIHRoZSBjb21tYW5kIGZpbGVzIGhhdmUgYmVlbgogICAgICAgcmVhZC4gICovCkBAIC0xOTAs NyArMTkwLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAgCiAgICBp ZiAoYmF0Y2hfZmxhZykKICAgICAgewotQEAgLTEyMDcsMjQgKzEyNDAsMzcgQEAgc3RhdGljIHZv aWQKK0BAIC0xMjA1LDIyICsxMjM4LDM1IEBAIHN0YXRpYyB2b2lkCiAgY2FwdHVyZWRfbWFpbiAo dm9pZCAqZGF0YSkKICB7CiAgICBzdHJ1Y3QgY2FwdHVyZWRfbWFpbl9hcmdzICpjb250ZXh0ID0g KHN0cnVjdCBjYXB0dXJlZF9tYWluX2FyZ3MgKikgZGF0YTsKQEAgLTIwNywxMSArMjA3LDExIEBA IGRpZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogKyNpZiBIQVZFX1BZVEhPTgog KyAgaWYgKHB5dGhvbl9zY3JpcHQpCiAgICAgIHsKLS0gICAgICBUUlkKKy0gICAgICB0cnkKIC0J ewogLQkgIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKTsKIC0JfQotLSAgICAgIENBVENIIChleCwg UkVUVVJOX01BU0tfQUxMKQorLSAgICAgIGNhdGNoIChjb25zdCBnZGJfZXhjZXB0aW9uICZleCkK ICsgICAgICBleHRlcm4gaW50IHBhZ2luYXRpb25fZW5hYmxlZDsKICsgICAgICBwYWdpbmF0aW9u X2VuYWJsZWQgPSAwOwogKyAgICAgIHJ1bl9weXRob25fc2NyaXB0IChjb250ZXh0LT5hcmdjIC0g b3B0aW5kLCAmY29udGV4dC0+YXJndltvcHRpbmRdKTsKQEAgLTIyNywyMSArMjI3LDE4IEBAIGRp ZmYgLS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogKyAgICAgIHdoaWxlICgxKQogIAl7 CiAtCSAgZXhjZXB0aW9uX3ByaW50IChnZGJfc3RkZXJyLCBleCk7Ci0rCSAgVFJZCisrCSAgdHJ5 CiArCSAgICB7CiArCSAgICAgIGNhcHR1cmVkX2NvbW1hbmRfbG9vcCAoKTsKICsJICAgIH0KLSsJ ICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0FMTCkKKysJICBjYXRjaCAoY29uc3QgZ2RiX2V4Y2Vw dGlvbiAmZXgpCiArCSAgICB7CiArCSAgICAgIGV4Y2VwdGlvbl9wcmludCAoZ2RiX3N0ZGVyciwg ZXgpOwogKwkgICAgfQotKwkgIEVORF9DQVRDSAogIAl9Ci0tICAgICAgRU5EX0NBVENICiAgICAg IH0KICAgIC8qIE5vIGV4aXQgLS0gZXhpdCBpcyB0aHJvdWdoIHF1aXRfY29tbWFuZC4gICovCi0g fQotQEAgLTEyNjcsNiArMTMxMywxMiBAQCBwcmludF9nZGJfaGVscCAoc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSkKK0BAIC0xMjYzLDYgKzEzMDksMTIgQEAgcHJpbnRfZ2RiX2hlbHAgKHN0cnVjdCB1 aV9maWxlICpzdHJlYW0pCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAgVGhpcyBpcyB0aGUg R05VIGRlYnVnZ2VyLiAgVXNhZ2U6XG5cblwKICAgICAgZ2RiIFtvcHRpb25zXSBbZXhlY3V0YWJs ZS1maWxlIFtjb3JlLWZpbGUgb3IgcHJvY2Vzcy1pZF1dXG5cCkBAIC0yNTQsNyArMjUxLDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9tYWluLmMgYi9nZGIvbWFpbi5jCiAgICAgIGdkYiBbb3B0aW9uc10g LS1hcmdzIGV4ZWN1dGFibGUtZmlsZSBbaW5mZXJpb3ItYXJndW1lbnRzIC4uLl1cblxuXAogICIp LCBzdHJlYW0pOwogICAgZnB1dHNfdW5maWx0ZXJlZCAoXygiXAotQEAgLTEzMTIsNiArMTM2NCwx MyBAQCBPdXRwdXQgYW5kIHVzZXIgaW50ZXJmYWNlIGNvbnRyb2w6XG5cblwKK0BAIC0xMzA4LDYg KzEzNjAsMTMgQEAgT3V0cHV0IGFuZCB1c2VyIGludGVyZmFjZSBjb250cm9sOlxuXG5cCiAgI2Vu ZGlmCiAgICBmcHV0c191bmZpbHRlcmVkIChfKCJcCiAgICAtLWRieCAgICAgICAgICAgICAgREJY IGNvbXBhdGliaWxpdHkgbW9kZS5cblwKQEAgLTM3NCw3ICszNzEsNyBAQCBkaWZmIC0tZ2l0IGEv Z2RiL3B5dGhvbi9weXRob24uYyBiL2dkYi9weXRob24vcHl0aG9uLmMKICAjaW5jbHVkZSAidGFy Z2V0LmgiCiAgI2luY2x1ZGUgImdkYnRocmVhZC5oIgogICNpbmNsdWRlICJpbnRlcnBzLmgiCi1A QCAtMTI4Myw2ICsxMjg1LDk0IEBAIGdkYnB5X3ByaW50X3N0YWNrX29yX3F1aXQgKCkKK0BAIC0x Mjc2LDYgKzEyNzgsOTQgQEAgZ2RicHlfcHJpbnRfc3RhY2tfb3JfcXVpdCAoKQogIAogIAwKICAK QEAgLTQ2OSw3ICs0NjYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL3B5dGhvbi9weXRob24uYyBiL2dk Yi9weXRob24vcHl0aG9uLmMKICAvKiBSZXR1cm4gYSBzZXF1ZW5jZSBob2xkaW5nIGFsbCB0aGUg UHJvZ3NwYWNlcy4gICovCiAgCiAgc3RhdGljIFB5T2JqZWN0ICoKLUBAIC0xOTM1LDYgKzIwMjUs OCBAQCBQeU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KK0BAIC0xOTI4LDYgKzIwMTgs OCBAQCBQeU1ldGhvZERlZiBweXRob25fR2RiTWV0aG9kc1tdID0KICBFdmFsdWF0ZSBjb21tYW5k LCBhIHN0cmluZywgYXMgYSBnZGIgQ0xJIGNvbW1hbmQuICBPcHRpb25hbGx5IHJldHVybnNcblwK ICBhIFB5dGhvbiBTdHJpbmcgY29udGFpbmluZyB0aGUgb3V0cHV0IG9mIHRoZSBjb21tYW5kIGlm IHRvX3N0cmluZyBpc1xuXAogIHNldCB0byBUcnVlLiIgfSwKCmRpZmYgLS1naXQgYS9nZGItYXR0 YWNoLWZhaWwtcmVhc29ucy01b2Y1LnBhdGNoIGIvZ2RiLWF0dGFjaC1mYWlsLXJlYXNvbnMtNW9m NS5wYXRjaAppbmRleCAxZWQ3OGRhLi4xZjI0OGMzIDEwMDY0NAotLS0gYS9nZGItYXR0YWNoLWZh aWwtcmVhc29ucy01b2Y1LnBhdGNoCisrKyBiL2dkYi1hdHRhY2gtZmFpbC1yZWFzb25zLTVvZjUu cGF0Y2gKQEAgLTI1NSw3ICsyNTUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2dkYnNlcnZlci9jb25m aWd1cmUuYWMgYi9nZGIvZ2Ric2VydmVyL2NvbmZpZ3VyZS5hYwogZGlmZiAtLWdpdCBhL2dkYi9n ZGJzZXJ2ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiAtLS0gYS9n ZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiArKysgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5j Ci1AQCAtOTY3LDcgKzk2NywxNiBAQCBsaW51eF9wdHJhY2VfZnVuICgpCitAQCAtOTcxLDcgKzk3 MSwxNiBAQCBsaW51eF9wdHJhY2VfZnVuICgpCiAgewogICAgaWYgKHB0cmFjZSAoUFRSQUNFX1RS QUNFTUUsIDAsIChQVFJBQ0VfVFlQRV9BUkczKSAwLAogIAkgICAgICAoUFRSQUNFX1RZUEVfQVJH NCkgMCkgPCAwKQpAQCAtMjc2LDIyICsyNzYsMjEgQEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJzZXJ2 ZXIvbGludXgtbG93LmMgYi9nZGIvZ2Ric2VydmVyL2xpbnV4LWxvdy5jCiBkaWZmIC0tZ2l0IGEv Z2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAtLS0gYS9nZGIvbGludXgtbmF0LmMK ICsrKyBiL2dkYi9saW51eC1uYXQuYwotQEAgLTEwOTgsNyArMTA5OCwxNyBAQCBsaW51eF9uYXRf dGFyZ2V0OjpjcmVhdGVfaW5mZXJpb3IgKGNvbnN0IGNoYXIgKmV4ZWNfZmlsZSwKK0BAIC0xMDk4 LDcgKzEwOTgsMTYgQEAgbGludXhfbmF0X3RhcmdldDo6Y3JlYXRlX2luZmVyaW9yIChjb25zdCBj aGFyICpleGVjX2ZpbGUsCiAgICAvKiBNYWtlIHN1cmUgd2UgcmVwb3J0IGFsbCBzaWduYWxzIGR1 cmluZyBzdGFydHVwLiAgKi8KICAgIHBhc3Nfc2lnbmFscyAoe30pOwogIAogLSAgaW5mX3B0cmFj ZV90YXJnZXQ6OmNyZWF0ZV9pbmZlcmlvciAoZXhlY19maWxlLCBhbGxhcmdzLCBlbnYsIGZyb21f dHR5KTsKLSsgIFRSWQorKyAgdHJ5CiArICAgIHsKICsgICAgICBpbmZfcHRyYWNlX3RhcmdldDo6 Y3JlYXRlX2luZmVyaW9yIChleGVjX2ZpbGUsIGFsbGFyZ3MsIGVudiwgZnJvbV90dHkpOwogKyAg ICB9Ci0rICBDQVRDSCAoZXgsIFJFVFVSTl9NQVNLX0VSUk9SKQorKyAgY2F0Y2ggKGNvbnN0IGdk Yl9leGNlcHRpb25fZXJyb3IgJmV4KQogKyAgICB7CiArICAgICAgc3RkOjpzdHJpbmcgcmVzdWx0 ID0gIGxpbnV4X3B0cmFjZV9jcmVhdGVfd2FybmluZ3MgKCk7CiArCi0rICAgICAgdGhyb3dfZXJy b3IgKGV4LmVycm9yLCAiJXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVzc2FnZSk7CisrICAg ICAgdGhyb3dfZXJyb3IgKGV4LmVycm9yLCAiJXMlcyIsIHJlc3VsdC5jX3N0ciAoKSwgZXgubWVz c2FnZS0+Y19zdHIgKCkpOwogKyAgICB9Ci0rICBFTkRfQ0FUQ0gKICB9CiAgCiAgLyogQ2FsbGJh Y2sgZm9yIGxpbnV4X3Byb2NfYXR0YWNoX3RnaWRfdGhyZWFkcy4gIEF0dGFjaCB0byBQVElEIGlm IG5vdAoKZGlmZiAtLWdpdCBhL2dkYi1idHJvYnVzdC5wYXRjaCBiL2dkYi1idHJvYnVzdC5wYXRj aAppbmRleCBjMTYyNjI4Li43ZmU5ZWIzIDEwMDY0NAotLS0gYS9nZGItYnRyb2J1c3QucGF0Y2gK KysrIGIvZ2RiLWJ0cm9idXN0LnBhdGNoCkBAIC0xNCw3ICsxNCw3IEBAIHByaW50ZWQsIGJ1dCBh IGRlZmF1bHQgYmFja3RyYWNlIHdpbGwgb2NjdXIgaW4gdGhpcyBjYXNlLgogZGlmZiAtLWdpdCBh L2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyBiL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIu YwogLS0tIGEvZ2RiL3B5dGhvbi9weS1mcmFtZWZpbHRlci5jCiArKysgYi9nZGIvcHl0aG9uL3B5 LWZyYW1lZmlsdGVyLmMKLUBAIC0xMTM5LDYgKzExMzksNyBAQCBnZGJweV9hcHBseV9mcmFtZV9m aWx0ZXIgKGNvbnN0IHN0cnVjdCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZywKK0BA IC0xMTM4LDYgKzExMzgsNyBAQCBnZGJweV9hcHBseV9mcmFtZV9maWx0ZXIgKGNvbnN0IHN0cnVj dCBleHRlbnNpb25fbGFuZ3VhZ2VfZGVmbiAqZXh0bGFuZywKICAJCQkJICAgICAgIGh0YWJfZXFf cG9pbnRlciwKICAJCQkJICAgICAgIE5VTEwpKTsKICAKQEAgLTIyLDcgKzIyLDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9weXRob24vcHktZnJhbWVmaWx0ZXIuYyBiL2dkYi9weXRob24vcHktZnJhbWVm aWx0ZXIuYwogICAgd2hpbGUgKHRydWUpCiAgICAgIHsKICAgICAgICBnZGJweV9yZWY8PiBpdGVt IChQeUl0ZXJfTmV4dCAoaXRlcmFibGUuZ2V0ICgpKSk7Ci1AQCAtMTE0Nyw4ICsxMTQ4LDggQEAg Z2RicHlfYXBwbHlfZnJhbWVfZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdl X2RlZm4gKmV4dGxhbmcsCitAQCAtMTE0Niw4ICsxMTQ3LDggQEAgZ2RicHlfYXBwbHlfZnJhbWVf ZmlsdGVyIChjb25zdCBzdHJ1Y3QgZXh0ZW5zaW9uX2xhbmd1YWdlX2RlZm4gKmV4dGxhbmcsCiAg CXsKICAJICBpZiAoUHlFcnJfT2NjdXJyZWQgKCkpCiAgCSAgICB7CkBAIC0zMyw3ICszMyw3IEBA IGRpZmYgLS1naXQgYS9nZGIvcHl0aG9uL3B5LWZyYW1lZmlsdGVyLmMgYi9nZGIvcHl0aG9uL3B5 LWZyYW1lZmlsdGVyLmMKICAJICAgIH0KICAJICBicmVhazsKICAJfQotQEAgLTExODEsNyArMTE4 Miw4IEBAIGdkYnB5X2FwcGx5X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9s YW5ndWFnZV9kZWZuICpleHRsYW5nLAorQEAgLTExNzksNyArMTE4MCw4IEBAIGdkYnB5X2FwcGx5 X2ZyYW1lX2ZpbHRlciAoY29uc3Qgc3RydWN0IGV4dGVuc2lvbl9sYW5ndWFnZV9kZWZuICpleHRs YW5nLAogICAgICAgIC8qIERvIG5vdCBleGl0IG9uIGVycm9yIHByaW50aW5nIGEgc2luZ2xlIGZy YW1lLiAgUHJpbnQgdGhlCiAgCSBlcnJvciBhbmQgY29udGludWUgd2l0aCBvdGhlciBmcmFtZXMu ICAqLwogICAgICAgIGlmIChzdWNjZXNzID09IEVYVF9MQU5HX0JUX0VSUk9SKQoKZGlmZiAtLWdp dCBhL2dkYi1iejEyMTk3NDctYXR0YWNoLWtpbGxzLnBhdGNoIGIvZ2RiLWJ6MTIxOTc0Ny1hdHRh Y2gta2lsbHMucGF0Y2gKaW5kZXggNGVkNmMwZC4uYWNhZDBiNiAxMDA2NDQKLS0tIGEvZ2RiLWJ6 MTIxOTc0Ny1hdHRhY2gta2lsbHMucGF0Y2gKKysrIGIvZ2RiLWJ6MTIxOTc0Ny1hdHRhY2gta2ls bHMucGF0Y2gKQEAgLTgwLDcgKzgwLDcgQEAgZ2RiL3Rlc3RzdWl0ZS9DaGFuZ2VMb2cKIGRpZmYg LS1naXQgYS9nZGIvbWFpbi5jIGIvZ2RiL21haW4uYwogLS0tIGEvZ2RiL21haW4uYwogKysrIGIv Z2RiL21haW4uYwotQEAgLTExMjEsNyArMTEyMSwxMCBAQCBjYXB0dXJlZF9tYWluXzEgKHN0cnVj dCBjYXB0dXJlZF9tYWluX2FyZ3MgKmNvbnRleHQpCitAQCAtMTExOSw3ICsxMTE5LDEwIEBAIGNh cHR1cmVkX21haW5fMSAoc3RydWN0IGNhcHR1cmVkX21haW5fYXJncyAqY29udGV4dCkKICAJewog IAkgIHJldCA9IGNhdGNoX2NvbW1hbmRfZXJyb3JzIChhdHRhY2hfY29tbWFuZCwgcGlkX29yX2Nv cmVfYXJnLAogIAkJCQkgICAgICAhYmF0Y2hfZmxhZyk7CgpkaWZmIC0tZ2l0IGEvZ2RiLWJ6NTMz MTc2LWZvcnRyYW4tb21wLXN0ZXAucGF0Y2ggYi9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3Rl cC5wYXRjaAppbmRleCA2OWIyNTUyLi5iOGE0YWM0IDEwMDY0NAotLS0gYS9nZGItYno1MzMxNzYt Zm9ydHJhbi1vbXAtc3RlcC5wYXRjaAorKysgYi9nZGItYno1MzMxNzYtZm9ydHJhbi1vbXAtc3Rl cC5wYXRjaApAQCAtMzAsNyArMzAsNyBAQCBkZWJ1Z2dpbmcgcHJvYmxlbSBvZiBHT01QIG91dHNp ZGUgb2YgdGhlIHNjb3BlIG9mIHRoaXMgQnVnLgogZGlmZiAtLWdpdCBhL2dkYi9pbmZydW4uYyBi L2dkYi9pbmZydW4uYwogLS0tIGEvZ2RiL2luZnJ1bi5jCiArKysgYi9nZGIvaW5mcnVuLmMKLUBA IC02NDkyLDYgKzY0OTIsMTYgQEAgcHJvY2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVj dXRpb25fY29udHJvbF9zdGF0ZSAqZWNzKQorQEAgLTY0NDgsNiArNjQ0OCwxNiBAQCBwcm9jZXNz X2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCiAg CiAgICAgICAgaWYgKGVjcy0+ZXZlbnRfdGhyZWFkLT5jb250cm9sLnN0ZXBfb3Zlcl9jYWxscyA9 PSBTVEVQX09WRVJfQUxMKQogIAl7CkBAIC00Nyw3ICs0Nyw3IEBAIGRpZmYgLS1naXQgYS9nZGIv aW5mcnVuLmMgYi9nZGIvaW5mcnVuLmMKICAJICAvKiBXZSdyZSBkb2luZyBhICJuZXh0Ii4KICAK ICAJICAgICBOb3JtYWwgKGZvcndhcmQpIGV4ZWN1dGlvbjogc2V0IGEgYnJlYWtwb2ludCBhdCB0 aGUKLUBAIC02NTI1LDYgKzY1MzUsNyBAQCBwcm9jZXNzX2V2ZW50X3N0b3BfdGVzdCAoc3RydWN0 IGV4ZWN1dGlvbl9jb250cm9sX3N0YXRlICplY3MpCitAQCAtNjQ4MSw2ICs2NDkxLDcgQEAgcHJv Y2Vzc19ldmVudF9zdG9wX3Rlc3QgKHN0cnVjdCBleGVjdXRpb25fY29udHJvbF9zdGF0ZSAqZWNz KQogIAogIAkgIGtlZXBfZ29pbmcgKGVjcyk7CiAgCSAgcmV0dXJuOwoKZGlmZiAtLWdpdCBhL2dk Yi1iejU0MTg2Ni1yd2F0Y2gtYmVmb3JlLXJ1bi5wYXRjaCBiL2dkYi1iejU0MTg2Ni1yd2F0Y2gt YmVmb3JlLXJ1bi5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjdjOGVjZi4u MDAwMDAwMAotLS0gYS9nZGItYno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKKysrIC9k ZXYvbnVsbApAQCAtMSwxNzUgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5j b20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGIt Yno1NDE4NjYtcndhdGNoLWJlZm9yZS1ydW4ucGF0Y2gKLQotOzsgRml4IGkzODYreDg2XzY0IHJ3 YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biwgcmVncmVzc2lvbiBhZ2FpbnN0IDYuOCAoQlogNTQxODY2 KS4KLTs7IEZpeCBpMzg2IHJ3YXRjaCthd2F0Y2ggYmVmb3JlIHJ1biAoQlogNjg4Nzg4LCBvbiB0 b3Agb2YgQlogNTQxODY2KS4KLTs7PXB1c2gramFuOiBJdCBzaG91bGQgYmUgZml4ZWQgcHJvcGVy bHkgaW5zdGVhZC4KLQotZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtw b2ludC5jCi0tLS0gYS9nZGIvYnJlYWtwb2ludC5jCi0rKysgYi9nZGIvYnJlYWtwb2ludC5jCi1A QCAtODc4Myw3ICs4NzgzLDcgQEAgaW5pdF9icmVha3BvaW50X3NhbCAoc3RydWN0IGJyZWFrcG9p bnQgKmIsIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAgICBpbnQgZW5hYmxlZCwgaW50 IGludGVybmFsLCB1bnNpZ25lZCBmbGFncywKLSAJCSAgICAgaW50IGRpc3BsYXlfY2Fub25pY2Fs KQotIHsKLS0gIGludCBpOwotKyAgaW50IGkgQVRUUklCVVRFX1VOVVNFRDsKLSAKLSAgIGlmICh0 eXBlID09IGJwX2hhcmR3YXJlX2JyZWFrcG9pbnQpCi0gICAgIHsKLUBAIC0xNDI4MSw3ICsxNDI4 MSw3IEBAIGVuYWJsZV9icmVha3BvaW50X2Rpc3AgKHN0cnVjdCBicmVha3BvaW50ICpicHQsIGVu dW0gYnBkaXNwIGRpc3Bvc2l0aW9uLAotIAotICAgaWYgKGJwdC0+dHlwZSA9PSBicF9oYXJkd2Fy ZV9icmVha3BvaW50KQotICAgICB7Ci0tICAgICAgaW50IGk7Ci0rICAgICAgaW50IGkgQVRUUklC VVRFX1VOVVNFRDsKLSAgICAgICBpID0gaHdfYnJlYWtwb2ludF91c2VkX2NvdW50ICgpOwotICAg ICAgIHRhcmdldF9yZXNvdXJjZXNfb2sgPSAKLSAJdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0 Y2hwb2ludCAoYnBfaGFyZHdhcmVfYnJlYWtwb2ludCwgCi1kaWZmIC0tZ2l0IGEvZ2RiL2NvbmZp Zy9pMzg2L25tLWxpbnV4LmggYi9nZGIvY29uZmlnL2kzODYvbm0tbGludXguaAotbmV3IGZpbGUg bW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi9jb25maWcvaTM4Ni9ubS1saW51 eC5oCi1AQCAtMCwwICsxLDI4IEBACi0rLyogTmF0aXZlIHN1cHBvcnQgZm9yIEdOVS9MaW51eCBp Mzg2LgotKwotKyAgIENvcHlyaWdodCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgotKwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdEQi4KLSsKLSsgICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQot KyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rI2lmbmRlZiBOTV9MSU5VWF9ICi0rI2RlZmlu ZSBOTV9MSU5VWF9ICi0rCi0rI2luY2x1ZGUgImNvbmZpZy9ubS1saW51eC5oIgotKwotKy8qIFJl ZCBIYXQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGdkYi02LjguICAqLwotKyNkZWZpbmUg dGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBlLCBjbnQsIG90KSAxCi0rCi0r I2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotZGlmZiAtLWdpdCBhL2dkYi9jb25maWcvaTM4Ni9u bS1saW51eDY0LmggYi9nZGIvY29uZmlnL2kzODYvbm0tbGludXg2NC5oCi1uZXcgZmlsZSBtb2Rl IDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL2NvbmZpZy9pMzg2L25tLWxpbnV4NjQu aAotQEAgLTAsMCArMSwyOCBAQAotKy8qIE5hdGl2ZSBzdXBwb3J0IGZvciBHTlUvTGludXggYW1k NjQuCi0rCi0rICAgQ29weXJpZ2h0IDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu Ci0rCi0rICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR0RCLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0r ICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKLSsgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCi0rCi0rICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQotKyAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LiAgKi8KLSsKLSsjaWZuZGVmIE5NX0xJTlVYNjRfSAotKyNkZWZp bmUgTk1fTElOVVg2NF9ICi0rCi0rI2luY2x1ZGUgImNvbmZpZy9ubS1saW51eC5oIgotKwotKy8q IFJlZCBIYXQgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3aXRoIGdkYi02LjguICAqLwotKyNkZWZp bmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCh0eXBlLCBjbnQsIG90KSAxCi0r Ci0rI2VuZGlmIC8qIE5NX0xJTlVYNjRfSCAqLwotZGlmZiAtLWdpdCBhL2dkYi9jb25maWd1cmUu bmF0IGIvZ2RiL2NvbmZpZ3VyZS5uYXQKLS0tLSBhL2dkYi9jb25maWd1cmUubmF0Ci0rKysgYi9n ZGIvY29uZmlndXJlLm5hdAotQEAgLTI0NSw2ICsyNDUsNyBAQCBjYXNlICR7Z2RiX2hvc3R9IGlu Ci0gCQk7OwotIAkgICAgaTM4NikKLSAJCSMgSG9zdDogSW50ZWwgMzg2IHJ1bm5pbmcgR05VL0xp bnV4LgotKwkJTkFUX0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9zdF9jcHV9L25tLWxp bnV4LmgiCi0gCQlOQVRERVBGSUxFUz0iJHtOQVRERVBGSUxFU30geDg2LW5hdC5vIG5hdC94ODYt ZHJlZ3MubyBcCi0gCQlpMzg2LWxpbnV4LW5hdC5vIHg4Ni1saW51eC1uYXQubyBuYXQvbGludXgt YnRyYWNlLm8gXAotIAkJbmF0L3g4Ni1saW51eC5vIG5hdC94ODYtbGludXgtZHJlZ3MubyIKLUBA IC0zMDEsNiArMzAyLDcgQEAgY2FzZSAke2dkYl9ob3N0fSBpbgotIAljYXNlICR7Z2RiX2hvc3Rf Y3B1fSBpbgotIAkgICAgaTM4NikKLSAJCSMgSG9zdDogR05VL0xpbnV4IHg4Ni02NAotKwkJTkFU X0ZJTEU9IiR7c3JjZGlyfS9jb25maWcvJHtnZGJfaG9zdF9jcHV9L25tLWxpbnV4NjQuaCIKLSAJ CU5BVERFUEZJTEVTPSIke05BVERFUEZJTEVTfSB4ODYtbmF0Lm8gbmF0L3g4Ni1kcmVncy5vIFwK LSAJCWFtZDY0LW5hdC5vIGFtZDY0LWxpbnV4LW5hdC5vIHg4Ni1saW51eC1uYXQubyBcCi0gCQlu YXQvbGludXgtYnRyYWNlLm8gXAotZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuaCBiL2dkYi90YXJn ZXQuaAotLS0tIGEvZ2RiL3RhcmdldC5oCi0rKysgYi9nZGIvdGFyZ2V0LmgKLUBAIC0xOTcxLDkg KzE5NzEsMTEgQEAgZXh0ZXJuIHN0cnVjdCB0aHJlYWRfaW5mbyAqdGFyZ2V0X3RocmVhZF9oYW5k bGVfdG9fdGhyZWFkX2luZm8KLSAgICBvbmUuICBPVEhFUlRZUEUgaXMgdGhlIG51bWJlciBvZiB3 YXRjaHBvaW50cyBvZiBvdGhlciB0eXBlcyB0aGFuCi0gICAgdGhpcyBvbmUgdXNlZCBzbyBmYXIu ICAqLwotIAotKyNpZm5kZWYgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludAotICNk ZWZpbmUgdGFyZ2V0X2Nhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludChUWVBFLENOVCxPVEhFUlRZ UEUpIFwKLSAgKGN1cnJlbnRfdG9wX3RhcmdldCAoKS0+Y2FuX3VzZV9od19icmVha3BvaW50KSAo IFwKLSAJCQkJCSAgICAgVFlQRSwgQ05ULCBPVEhFUlRZUEUpCi0rI2VuZGlmCi0gCi0gLyogUmV0 dXJucyB0aGUgbnVtYmVyIG9mIGRlYnVnIHJlZ2lzdGVycyBuZWVkZWQgdG8gd2F0Y2ggdGhlIGdp dmVuCi0gICAgbWVtb3J5IHJlZ2lvbiwgb3IgemVybyBpZiBub3Qgc3VwcG9ydGVkLiAgKi8KLWRp ZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1 bi5leHAgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1bi5l eHAKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0gL2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL3dhdGNocG9pbnQtaHctYmVmb3JlLXJ1bi5leHAKLUBAIC0wLDAgKzEsNDAg QEAKLSsjIENvcHlyaWdodCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgotKwotKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSsjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rIyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotKyMgKGF0 IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSsjCi0rIyBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSsjIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0rIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0rIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgotKyMKLSsjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCi0rIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwg c2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KLSsKLSsjIEFyY2ggbm90IHN1cHBv cnRpbmcgaHcgd2F0Y2hwb2ludHMgZG9lcyBub3QgaW1wbHkgbm9faGFyZHdhcmVfd2F0Y2hwb2lu dHMgc2V0LgotK2lmIHsoIVtpc3RhcmdldCAiaT84Ni0qLSoiXSAmJiAhW2lzdGFyZ2V0ICJ4ODZf NjQtKi0qIl0KLSsgICAgICYmICFbaXN0YXJnZXQgImlhNjQtKi0qIl0pCi0rICAgIHx8IFt0YXJn ZXRfaW5mbyBleGlzdHMgZ2RiLG5vX2hhcmR3YXJlX3dhdGNocG9pbnRzXX0gdGhlbiB7Ci0rICAg IHZlcmJvc2UgIlNraXBwaW5nIHdhdGNocG9pbnQtaHctYmVmb3JlLXJ1biB0ZXN0LiIKLSsgICAg cmV0dXJuCi0rfQotKwotK3NldCB0ZXN0IHdhdGNocG9pbnQtaHctYmVmb3JlLXJ1bgotK3NldCBz cmNmaWxlIHdhdGNocG9pbnQtaHctaGl0LW9uY2UuYwotK2lmIHsgW3ByZXBhcmVfZm9yX3Rlc3Rp bmcgJHt0ZXN0fS5leHAgJHt0ZXN0fSAke3NyY2ZpbGV9XSB9IHsKLSsgICAgcmV0dXJuIC0xCi0r fQotKwotK2dkYl90ZXN0ICJyd2F0Y2ggd2F0Y2hlZSIgImFyZHdhcmUgcmVhZCB3YXRjaHBvaW50 IDE6IHdhdGNoZWUiCi0rCi0rIyBgcnVudG9fbWFpbicgb3IgYHJ1bnRvIG1haW4nIHdvdWxkIGRl bGV0ZSB0aGUgd2F0Y2hwb2ludCBjcmVhdGVkIGFib3ZlLgotKwotK2lmIHsgW2dkYl9zdGFydF9j bWRdIDwgMCB9IHsKLSsgICAgdW50ZXN0ZWQgc3RhcnQKLSsgICAgcmV0dXJuIC0xCi0rfQotK2dk Yl90ZXN0ICIiICJtYWluIC4qIGF0IC4qIiAic3RhcnQiCi0rCi0rZ2RiX3Rlc3QgImNvbnRpbnVl IiAiQ29udGludWluZy5cclxuXHJcbkhhcmR3YXJlIHJlYWQgd2F0Y2hwb2ludCBcWzAtOVxdKzog d2F0Y2hlZVxyXG5cclxuVmFsdWUgPSAwXHJcbi4qIgoKZGlmZiAtLWdpdCBhL2dkYi1jb250YWlu ZXItcmgtcGtnLnBhdGNoIGIvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKaW5kZXggNzM5NTVm MC4uZTc3YjQxNSAxMDA2NDQKLS0tIGEvZ2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKKysrIGIv Z2RiLWNvbnRhaW5lci1yaC1wa2cucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi1j b250YWluZXItcmgtcGtnLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3Jl bW90ZS5jCiAtLS0gYS9nZGIvcmVtb3RlLmMKICsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTEzOTIy LDcgKzEzOTIyLDE3IEBAIHJlbW90ZV90YXJnZXQ6OnBpZF90b19leGVjX2ZpbGUgKGludCBwaWQp CitAQCAtMTM5MjAsNyArMTM5MjAsMTcgQEAgcmVtb3RlX3RhcmdldDo6cGlkX3RvX2V4ZWNfZmls ZSAoaW50IHBpZCkKICAgIGNoYXIgKmFubmV4ID0gTlVMTDsKICAKICAgIGlmIChwYWNrZXRfc3Vw cG9ydCAoUEFDS0VUX3FYZmVyX2V4ZWNfZmlsZSkgIT0gUEFDS0VUX0VOQUJMRSkKCmRpZmYgLS1n aXQgYS9nZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaCBiL2dkYi1mb2xsb3ctY2hp bGQtc3RhbGUtcGFyZW50LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NzY2 MGVkLi4wMDAwMDAwCi0tLSBhL2dkYi1mb2xsb3ctY2hpbGQtc3RhbGUtcGFyZW50LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMzYgKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFp bC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBn ZGItZm9sbG93LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaAotCi07OyBGaXggcmVncmVzc2lvbiBi eSBweXRob24gb24gaWE2NCBkdWUgdG8gc3RhbGUgY3VycmVudCBmcmFtZS4KLTs7PXB1c2gramFu Ci0KLVByb2JsZW0gb2NjdXJzIHdpdGggcHl0aG9uIGFuZCBpdHMgZ2V0X2N1cnJlbnRfYXJjaCAo KSBhcyBpdCBzZWxlY3RzCi1zZWxlY3RlZF9mcmFtZSBhbmQgY3VycmVudF9mcmFtZSB3aGlsZSBz dGlsbCBpbmZlcmlvcl9wdGlkIGlzIHZhbGlkIGZvciB0aGUKLW9yaWdpbmFsIHBhcmVudC4gIEJ1 dCBzaW5jZSB0aGlzIHBsYWNlIGl0IGlzIGFscmVhZHkgYXR0YWNoZWQgYW5kIGxhdGVyCi11bndp bmRlcnMgdHJ5IHRvIGFjY2VzcyBpdCwgYnJlYWtpbmc6Ci0gIC1QQVNTOiBnZGIudGhyZWFkcy93 YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGJyZWFrcG9pbnQgYWZ0 ZXIgdGhlIGZpcnN0IGZvcmsKLSAgLVBBU1M6IGdkYi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5l eHA6IGNoaWxkOiBzaW5nbGV0aHJlYWRlZDogd2F0Y2hwb2ludCBhZnRlciB0aGUgZmlyc3QgZm9y awotICAtUEFTUzogZ2RiLnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmds ZXRocmVhZGVkOiBicmVha3BvaW50IGFmdGVyIHRoZSBzZWNvbmQgZm9yawotICAtUEFTUzogZ2Ri LnRocmVhZHMvd2F0Y2hwb2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRocmVhZGVkOiB3YXRj aHBvaW50IGFmdGVyIHRoZSBzZWNvbmQgZm9yawotICAtUEFTUzogZ2RiLnRocmVhZHMvd2F0Y2hw b2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRocmVhZGVkOiBmaW5pc2gKLSAgK0ZBSUw6IGdk Yi50aHJlYWRzL3dhdGNocG9pbnQtZm9yay5leHA6IGNoaWxkOiBzaW5nbGV0aHJlYWRlZDogYnJl YWtwb2ludCBhZnRlciB0aGUgZmlyc3QgZm9yawotICArRkFJTDogZ2RiLnRocmVhZHMvd2F0Y2hw b2ludC1mb3JrLmV4cDogY2hpbGQ6IHNpbmdsZXRocmVhZGVkOiB3YXRjaHBvaW50IGFmdGVyIHRo ZSBmaXJzdCBmb3JrCi0gICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBj aGlsZDogc2luZ2xldGhyZWFkZWQ6IGJyZWFrcG9pbnQgYWZ0ZXIgdGhlIHNlY29uZCBmb3JrCi0g ICtGQUlMOiBnZGIudGhyZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhy ZWFkZWQ6IHdhdGNocG9pbnQgYWZ0ZXIgdGhlIHNlY29uZCBmb3JrCi0gICtGQUlMOiBnZGIudGhy ZWFkcy93YXRjaHBvaW50LWZvcmsuZXhwOiBjaGlsZDogc2luZ2xldGhyZWFkZWQ6IGZpbmlzaAot Ci1kaWZmIC0tZ2l0IGEvZ2RiL2luZnJ1bi5jIGIvZ2RiL2luZnJ1bi5jCi0tLS0gYS9nZGIvaW5m cnVuLmMKLSsrKyBiL2dkYi9pbmZydW4uYwotQEAgLTc1NSw2ICs3NTUsOSBAQCBmb2xsb3dfZm9y ayAodm9pZCkKLSAJICB9Ci0gCWVsc2UKLSAJICB7Ci0rCSAgICAvKiBQb3NzaWJseSByZWZlcmVu Y2VkIFBBUkVOVCBpcyBubyBsb25nZXIgdmFsaWQuICAqLwotKwkgICAgcmVpbml0X2ZyYW1lX2Nh Y2hlICgpOwotKwotIAkgICAgLyogVGhpcyBwZW5kaW5nIGZvbGxvdyBmb3JrIGV2ZW50IGlzIG5v dyBoYW5kbGVkLCBvbmUgd2F5Ci0gCSAgICAgICBvciBhbm90aGVyLiAgVGhlIHByZXZpb3VzIHNl bGVjdGVkIHRocmVhZCBtYXkgYmUgZ29uZQotIAkgICAgICAgZnJvbSB0aGUgbGlzdHMgYnkgbm93 LCBidXQgaWYgaXQgaXMgc3RpbGwgYXJvdW5kLCBuZWVkCgpkaWZmIC0tZ2l0IGEvZ2RiLWduYXQt ZHdhcmYtY3Jhc2gtM29mMy5wYXRjaCBiL2dkYi1nbmF0LWR3YXJmLWNyYXNoLTNvZjMucGF0Y2gK aW5kZXggNDg2NTcxNS4uMDBlMTIzZSAxMDA2NDQKLS0tIGEvZ2RiLWduYXQtZHdhcmYtY3Jhc2gt M29mMy5wYXRjaAorKysgYi9nZGItZ25hdC1kd2FyZi1jcmFzaC0zb2YzLnBhdGNoCkBAIC00Miw3 ICs0Miw3IEBAIGdkYi8KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJm MnJlYWQuYwogLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwogKysrIGIvZ2RiL2R3YXJmMnJlYWQuYwot QEAgLTEwNTg3LDYgKzEwNTg3LDEzIEBAIHByaXZhdGU6CitAQCAtMTA1ODYsNiArMTA1ODYsMTMg QEAgcHJpdmF0ZToKICBzdGF0aWMgdm9pZAogIHByb2Nlc3NfZGllIChzdHJ1Y3QgZGllX2luZm8g KmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAgewpAQCAtOTksNyArOTksNyBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2xpbnV4LW5hdC5jIGIvZ2RiL2xpbnV4LW5hdC5jCiAgCiAgICAgICAgLyogVGhl IHByb2Nlc3MgaXMgZGVmaW5pdGVseSBzdG9wcGVkLiAgSXQgaXMgaW4gYSBqb2IgY29udHJvbAog IAkgc3RvcCwgdW5sZXNzIHRoZSBrZXJuZWwgcHJlZGF0ZXMgdGhlIFRBU0tfU1RPUFBFRCAvCi1A QCAtMTM2OCw2ICsxMzc3LDI1IEBAIGdldF9kZXRhY2hfc2lnbmFsIChzdHJ1Y3QgbHdwX2luZm8g KmxwKQorQEAgLTEzNjcsNiArMTM3NiwyNSBAQCBnZXRfZGV0YWNoX3NpZ25hbCAoc3RydWN0IGx3 cF9pbmZvICpscCkKICAgICAgICByZXR1cm4gZ2RiX3NpZ25hbF90b19ob3N0IChzaWdubyk7CiAg ICAgIH0KICAKQEAgLTEyNSw3ICsxMjUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2xpbnV4LW5hdC5j IGIvZ2RiL2xpbnV4LW5hdC5jCiAgICByZXR1cm4gMDsKICB9CiAgCi1AQCAtMTUxNyw2ICsxNTQ1 LDEwIEBAIGxpbnV4X25hdF90YXJnZXQ6OmRldGFjaCAoaW5mZXJpb3IgKmluZiwgaW50IGZyb21f dHR5KQorQEAgLTE1MTUsNiArMTU0MywxMCBAQCBsaW51eF9uYXRfdGFyZ2V0OjpkZXRhY2ggKGlu ZmVyaW9yICppbmYsIGludCBmcm9tX3R0eSkKICAgICAgICBkZXRhY2hfb25lX2x3cCAobWFpbl9s d3AsICZzaWdubyk7CiAgCiAgICAgICAgZGV0YWNoX3N1Y2Nlc3MgKGluZik7CkBAIC0xMzYsNyAr MTM2LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9saW51eC1uYXQuYyBiL2dkYi9saW51eC1uYXQuYwog ICAgICB9CiAgfQogIAotQEAgLTE3NzUsNiArMTgwNywxNiBAQCBsaW51eF9uYXRfdGFyZ2V0Ojpy ZXN1bWUgKHB0aWRfdCBwdGlkLCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQorQEAg LTE3NzIsNiArMTgwNCwxNiBAQCBsaW51eF9uYXRfdGFyZ2V0OjpyZXN1bWUgKHB0aWRfdCBwdGlk LCBpbnQgc3RlcCwgZW51bSBnZGJfc2lnbmFsIHNpZ25vKQogICAgICAgIHJldHVybjsKICAgICAg fQogIApAQCAtMTUzLDcgKzE1Myw3IEBAIGRpZmYgLS1naXQgYS9nZGIvbGludXgtbmF0LmMgYi9n ZGIvbGludXgtbmF0LmMKICAgIGlmIChyZXN1bWVfbWFueSkKICAgICAgaXRlcmF0ZV9vdmVyX2x3 cHMgKHB0aWQsIFs9XSAoc3RydWN0IGx3cF9pbmZvICppbmZvKQogIAkJCSAgICAgewotQEAgLTM3 NzcsNiArMzgxOSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9pbmZlcmlvciAoKQorQEAg LTM3NzMsNiArMzgxNSwxMCBAQCBsaW51eF9uYXRfdGFyZ2V0Ojptb3Vybl9pbmZlcmlvciAoKQog IAogICAgLyogTGV0IHRoZSBhcmNoLXNwZWNpZmljIG5hdGl2ZSBjb2RlIGtub3cgdGhpcyBwcm9j ZXNzIGlzIGdvbmUuICAqLwogICAgbGludXhfdGFyZ2V0LT5sb3dfZm9yZ2V0X3Byb2Nlc3MgKHBp ZCk7CgpkaWZmIC0tZ2l0IGEvZ2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoIGIv Z2RiLW1vcmlidW5kLXV0cmFjZS13b3JrYXJvdW5kLnBhdGNoCmluZGV4IDRmYWNiNzQuLmM4MTkw ZDcgMTAwNjQ0Ci0tLSBhL2dkYi1tb3JpYnVuZC11dHJhY2Utd29ya2Fyb3VuZC5wYXRjaAorKysg Yi9nZGItbW9yaWJ1bmQtdXRyYWNlLXdvcmthcm91bmQucGF0Y2gKQEAgLTE0LDcgKzE0LDcgQEAg QnVnIGluIEZTRiBHREIgZXhwbG9pdGVkIGJ5IHRoZSBwdHJhY2Utb24tdXRyYWNlIGludGVyYWN0 aW9uLgogZGlmZiAtLWdpdCBhL2dkYi9icmVha3BvaW50LmMgYi9nZGIvYnJlYWtwb2ludC5jCiAt LS0gYS9nZGIvYnJlYWtwb2ludC5jCiArKysgYi9nZGIvYnJlYWtwb2ludC5jCi1AQCAtMTE5Mzks NiArMTE5MzksOCBAQCB1cGRhdGVfZ2xvYmFsX2xvY2F0aW9uX2xpc3QgKGVudW0gdWdsbF9pbnNl cnRfbW9kZSBpbnNlcnRfbW9kZSkKK0BAIC0xMTkzMSw2ICsxMTkzMSw4IEBAIHVwZGF0ZV9nbG9i YWxfbG9jYXRpb25fbGlzdCAoZW51bSB1Z2xsX2luc2VydF9tb2RlIGluc2VydF9tb2RlKQogIAkJ IHRyYXBzIHdlIGNhbiBubyBsb25nZXIgZXhwbGFpbi4gICovCiAgCiAgCSAgICAgIG9sZF9sb2Mt PmV2ZW50c190aWxsX3JldGlyZW1lbnQgPSAzICogKHRocmVhZF9jb3VudCAoKSArIDEpOwoKZGlm ZiAtLWdpdCBhL2dkYi1yZWFkbGluZTYyLWFzay1tb3JlLXJoLnBhdGNoIGIvZ2RiLXJlYWRsaW5l NjItYXNrLW1vcmUtcmgucGF0Y2gKaW5kZXggNWE1YTE3Ny4uNDMxMWEyNyAxMDA2NDQKLS0tIGEv Z2RiLXJlYWRsaW5lNjItYXNrLW1vcmUtcmgucGF0Y2gKKysrIGIvZ2RiLXJlYWRsaW5lNjItYXNr LW1vcmUtcmgucGF0Y2gKQEAgLTksNyArOSw3IEBAIFN1YmplY3Q6IGdkYi1yZWFkbGluZTYyLWFz ay1tb3JlLXJoLnBhdGNoCiBkaWZmIC0tZ2l0IGEvZ2RiL2V2ZW50LXRvcC5jIGIvZ2RiL2V2ZW50 LXRvcC5jCiAtLS0gYS9nZGIvZXZlbnQtdG9wLmMKICsrKyBiL2dkYi9ldmVudC10b3AuYwotQEAg LTExNzksNiArMTE3OSwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGludCBlZGl0aW5nKQorQEAg LTExNzYsNiArMTE3NiwxMyBAQCBnZGJfc2V0dXBfcmVhZGxpbmUgKGludCBlZGl0aW5nKQogIHsK ICAgIHN0cnVjdCB1aSAqdWkgPSBjdXJyZW50X3VpOwogIAoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6 Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjBvZjI1 LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA2ZjU1ZTI4Li4wMDAwMDAwCi0t LSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMG9mMjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAt MSwzNDM1ICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTog RnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYno3OTU0MjQt Yml0cG9zLTIwb2YyNS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBt ZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwotOzsgKFJIIEJaIDc5NTQy NCkuCi07Oz1wdXNoCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEy LTA5L21zZzAwNjMxLmh0bWwKLQotLS1NUF8veXA1ZitXX0VEMkp0VWxTeUJpOHh1anIKLUNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQotQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogN2JpdAotQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCi0KLUhpLAotCi1UaGlz IGlzIHBhdGNoIDEvNCwgd2hpY2ggaW1wbGVtZW50cyB0aGUgYnVsayBvZiB0aGUgY2hhbmdlcyBp biB0eXBlCi1sZW5ndGggYW5kIGJpdHBvcy90eXBlIG9mZnNldC4gSSBoYXZlIHZlcmlmaWVkIHRo YXQgdGhlcmUgYXJlIG5vCi1yZWdyZXNzaW9ucyByZXN1bHRpbmcgZnJvbSB0aGlzIHBhdGNoIGJ5 IHJ1bm5pbmcgdGhlIHRlc3RzdWl0ZSBvbgotRmVkb3JhIDE2IHg4Nl82NC4gIFBhdGNoIGFuZCBj aGFuZ2Vsb2cgYXR0YWNoZWQuCi0KLVJlZ2FyZHMsCi1TaWRkaGVzaAotCi0tLU1QXy95cDVmK1df RUQySnRVbFN5Qmk4eHVqcgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCi1Db250ZW50LVRyYW5z ZmVyLUVuY29kaW5nOiBxdW90ZWQtcHJpbnRhYmxlCi1Db250ZW50LURpc3Bvc2l0aW9uOiBhdHRh Y2htZW50OyBmaWxlbmFtZT1DaGFuZ2VMb2ctbWFpbgotCi1nZGIvQ2hhbmdlTG9nCi0KLTIwMTIt MDgtMDUgIFNpZGRoZXNoIFBveWFyZWthciAgPHNpZGRoZXNoQHJlZGhhdC5jb20+Ci0KLQkqIGFk YS1sYW5nLmMgKGZhdF9wbnRyX2JvdW5kc19iaXRwb3MpOiBSZXR1cm4gTE9OR0VTVC4KLQkoZmF0 X3BudHJfZGF0YV9iaXRwb3MpOiBMaWtld2lzZS4KLQkoZGVzY19ib3VuZF9iaXRwb3MpOiBMaWtl d2lzZS4KLQkoY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUpOiBFeHBhbmQgRUxUX0JJVFMg cGFyYW1ldGVyIHRvCi0JTE9OR0VTVC4KLQkobW92ZV9iaXRzKTogRXhwYW5kIHBhcmFtZXRlcnMg U1JDX09GRlNFVCBhbmQgTiB0byBMT05HRVNULgotCShjb25kX29mZnNldF9ob3N0KTogRXhwYW5k IHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkoY29uZF9vZmZzZXRfdGFyZ2V0KTogTGlr ZXdpc2UuCi0JKGFkYV90eXBlX29mX2FycmF5KTogRXhwYW5kIEFSUkFZX0JJVFNJWkUgdG8gTE9O R0VTVC4KLQkoZGVjb2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBlKTogRXhwYW5kIEJJ VFMgdG8gTE9OR0VTVC4KLQkoZGVjb2RlX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheSk6IEV4cGFu ZCBCSVRfUE9TIHRvIExPTkdFU1QuCi0JKGFkYV92YWx1ZV9wcmltaXRpdmVfcGFja2VkX3ZhbCk6 IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4gIEV4cGFuZCBUQVJHLCBOVEFS RyBhbmQgTkVXX09GRlNFVCB0byBMT05HRVNULgotCShhZGFfdmFsdWVfYXNzaWduKTogRXhwYW5k IEZST01fU0laRSB0byBMT05HRVNULgotCSh2YWx1ZV9hc3NpZ25fdG9fY29tcG9uZW50KTogRXhw YW5kIEJJVFMgdG8gTE9OR0VTVC4KLQkoZW5zdXJlX2x2YWwpOiBFeHBhbmQgTEVOIHRvIExPTkdF U1QuCi0JKHZhbHVlX3BvaW50ZXIpOiBFeHBhbmQgTEVOIHRvIFVMT05HRVNULgotCSh2YWx1ZV90 YWdfZnJvbV9jb250ZW50c19hbmRfYWRkcmVzcyk6IEV4cGFuZCBUQUdfQllURV9PRkZTRVQgdG8K LQlMT05HRVNULgotCShhZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRl ciBPRkZTRVQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgYml0X3BvcyB0byBMT05HRVNULgotCShmaW5k X3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCBhbmQgQllURV9PRkZTRVRf UCB0bwotCUxPTkdFU1QuICBFeHBhbmQgQklUX1BPUyBhbmQgRkxEX09GRlNFVCB0byBMT05HRVNU LgotCShhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRv IExPTkdFU1QuCi0JRXhwYW5kIFZBUl9PRkZTRVQgdG8gTE9OR0VTVC4KLQkoYWRhX2luZGV4X3N0 cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXJzIElOREVYIGFuZCBPRkZTRVQgdG8KLQlMT05H RVNULgotCShhZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEpOiBFeHBhbmQgcGFyYW1ldGVycyBJTkRF WF9QIGFuZCBPRkZTRVQKLQl0byBMT05HRVNULgotCShhZGFfdmFsdWVfc3RydWN0X2VsdCk6IEV4 cGFuZCBCWVRFX09GRlNFVCB0byBMT05HRVNULgotCShhbGlnbl92YWx1ZSk6IFJldHVybiBVTE9O R0VTVC4gIEV4cGFuZCBwYXJhbWV0ZXIgT0ZGIGFuZAotCUFMSUdOTUVOVCB0byBVTE9OR0VTVC4K LQkoYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEpOiBFeHBhbmQgT0ZGLCBCSVRf TEVOIGFuZAotCWZsZF9iaXRfbGVuIHRvIExPTkdFU1QuICBFeHBhbmQgRklFTERfT0ZGU0VUIHRv IExPTkdFU1QuICBVc2UKLQlwdWxvbmdlc3QgZnVuY3Rpb24gdG8gcHJpbnQgVFlQRV9MRU5HVEgu Ci0JKHRvX2ZpeGVkX2FycmF5X3R5cGUpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiBhZGEt bGFuZy5oIChhZGFfdmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQg dG8KLQlMT05HRVNULgotCShhZGFfcHJpbnRzdHIpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0 byBVTE9OR0VTVC4KLQkoYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsKTogRXhwYW5kIHBh cmFtZXRlciBPRkZTRVQgdG8KLQlMT05HRVNULgotCSogYWRhLXR5cGVwcmludC5jIChhZGFfcHJp bnRfdHlwZSk6IFVzZSBwdWxvbmdlc3QgdG8gcHJpbnQKLQlUWVBFX0xFTkdUSC4KLQkqIGFkYS12 YWxwcmludC5jICh2YWxfcHJpbnRfcGFja2VkX2FycmF5X2VsZW1lbnRzKTogRXhwYW5kIEVMVExF TgotCXRvIFVMT05HRVNULgotCShjaGFyX2F0KTogRXhwYW5kIHBhcmFtZXRlciBJIHRvIExPTkdF U1QuCi0JKHByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEgsIEksIFJFUDEsIFJFUFMg dG8gVUxPTkdFU1QuCi0JVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgUkVQUy4KLQkoYWRh X3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gTE9OR0VTVC4KLQkoYWRhX3Zh bF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0J KGFkYV92YWxfcHJpbnRfYXJyYXkpOiBFeHBhbmQgRUxUTEVOLCBMRU4gdG8gVUxPTkdFU1QgYW5k IFRFTVBfTEVOCi0JdG8gTE9OR0VTVC4KLQkoYWRhX3ZhbF9wcmludF8xKTogRXhwYW5kIHBhcmFt ZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkocHJpbnRfdmFyaWFudF9wYXJ0KTogRXhwYW5kIHBh cmFtZXRlcnMgT0ZGU0VUIGFuZCBPVVRFUl9PRkZTRVQgdG8KLQlMT05HRVNULgotCShwcmludF9m aWVsZF92YWx1ZXMpOiBMaWtld2lzZS4gIEV4cGFuZCBCSVRfUE9TIHRvIExPTkdFU1QuCi0JKiBh bm5vdGF0ZS5jIChhbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2JlZ2luKTogRXhwYW5kIHBhcmFtZXRl cgotCUlEWCB0byBMT05HRVNULiAgVXNlIHBsb25nZXN0IHRvIGZvcm1hdC1wcmludCBJRFguCi0J KGFubm90YXRlX2VsdF9yZXApOiBFeHBhbmQgcGFyYW1ldGVyIFJFUENPVU5UIHRvIFVMT05HRVNU LiAgVXNlCi0JcGxvbmdlc3QgdG8gZm9ybWF0LXByaW50IFJFUENPVU5ULgotCSogYW5ub3RhdGUu aDogTGlrZXdpc2UuCi0JKiBhcm0tbGludXgtbmF0LmMgKGFybV9saW51eF9yZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQpOgotCUV4cGFuZCBwYXJhbWV0ZXIgcGFyYW1ldGVyIExFTiB0byBMT05H RVNULgotCSogYXgtZ2RiLmMgKGdlbl9sZWZ0X3NoaWZ0KTogRXhwYW5kIHBhcmFtZXRlciBESVNU QU5DRSB0byBMT05HRVNULgotCShnZW5fb2Zmc2V0KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQg dG8gTE9OR0VTVC4KLQkoZ2VuX2JpdGZpZWxkX3JlZik6IEV4cGFuZCBwYXJhbWV0ZXJzIFNUQVJU LCBFTkQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgQk9VTkRfU1RBUlQsIEJPVU5EX0VORCwgT0ZGU0VU IHRvIExPTkdFU1QuCi0JKGdlbl9wcmltaXRpdmVfZmllbGQpOiBFeHBhbmQgcGFyYW1ldGVyIE9G RlNFVCB0byBMT05HRVNULgotCShnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUpOiBMaWtld2lzZS4K LQkqIGF4LWdlbmVyYWwuYyAoYXhfdHJhY2VfcXVpY2spOiBFeHBhbmQgcGFyYW1ldGVyIE4gdG8g TE9OR0VTVC4KLQkqIGF4LmggKGF4X3RyYWNlX3F1aWNrKTogTGlrZXdpc2UuCi0JKiBicmVha3Bv aW50LmMgKGJyZWFrcG9pbnRfYWRkcmVzc19tYXRjaF9yYW5nZSk6IEV4cGFuZCBwYXJhbWV0ZXIK LQlMRU4xIHRvIExPTkdFU1QuCi0JKGNhbl91c2VfaGFyZHdhcmVfd2F0Y2hwb2ludCk6IEV4cGFu ZCBMRU4gdG8gTE9OR0VTVC4KLQkqIGJyZWFrcG9pbnQuaCAoc3RydWN0IGJwX3RhcmdldF9pbmZv KTogRXhwYW5kIG1lbWJlciBMRU5HVEggdG8KLQlMT05HRVNULgotCShzdHJ1Y3QgYnBfbG9jYXRp b24pOiBMaWtld2lzZS4KLQkqIGMtbGFuZy5jIChjX3ByaW50c3RyKTogRXhwYW5kIHBhcmFtZXRl ciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGV2YWx1YXRlX3N1YmV4cF9jKTogRXhwYW5kIEVMRU1F TlRfU0laRSwgSSB0byBMT05HRVNULgotCSogYy1sYW5nLmggKGNfdmFsX3ByaW50KTogRXhwYW5k IHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCShjX3ByaW50c3RyKTog RXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKGNwX3ByaW50X3ZhbHVlX2Zp ZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGNwX3ByaW50X3Zh bHVlX2ZpZWxkc19ydHRpKTogTGlrZXdpc2UuCi0JKiBjLXR5cGVwcmludC5jIChjX3R5cGVfcHJp bnRfdmFyc3BlY19zdWZmaXgpOiBSZW1vdmUgY2FzdCBkb3duIHRvCi0JaW50IGFuZCB1c2UgcGxv bmdlc3QgdG8gcHJpbnQgTE9OR0VTVC4KLQkqIGMtdmFscHJpbnQuYyAoY192YWxfcHJpbnQpOiBF eHBhbmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0bwotCUxPTkdFU1QuICBFeHBhbmQgT0ZG U0VUIHRvIExPTkdFU1QsIEVMVExFTiB0byBVTE9OR0VTVC4KLQkoY192YWx1ZV9wcmludCk6IEV4 cGFuZCBUT1AgdG8gTE9OR0VTVC4KLQkqIGNwLWFiaS5jIChiYXNlY2xhc3Nfb2Zmc2V0KTogUmV0 dXJuIExPTkdFU1QuICBFeHBhbmQgcGFyYW1ldGVyCi0JRU1CRURERURfT0ZGU0VUIHRvIExPTkdF U1QuICBFeHBhbmQgUkVTIHRvIExPTkdFU1QuCi0JKHZhbHVlX3ZpcnR1YWxfZm5fZmllbGQpOiBF eHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9ydHRpX3R5cGUpOiBF eHBhbmQgcGFyYW1ldGVyIFRPUCB0byBwb2ludCB0byBMT05HRVNULgotCSogY3AtYWJpLmggKHZh bHVlX3ZpcnR1YWxfZm5fZmllbGQpOiBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKHZhbHVl X3J0dGlfdHlwZSk6IEV4cGFuZCBUT1AgdG8gcG9pbnQgdG8gTE9OR0VTVC4KLQkoYmFzZWNsYXNz X29mZnNldCk6IFJldHVybiBMT05HRVNULiAgRXhwYW5kIHBhcmFtZXRlcgotCUVNQkVEREVEX09G RlNFVCB0byBMT05HRVNULgotCShzdHJ1Y3QgY3BfYWJpX29wcyk6IEV4cGFuZCBwYXJhbWV0ZXIg T0ZGU0VUIGZvciBWSVJUVUFMX0ZOX0ZJRUxECi0JdG8gTE9OR0VTVC4gIEV4cGFuZCBwYXJhbWV0 ZXIgVE9QIHRvIHBvaW50IHRvIExPTkdFU1QgaW4KLQlWQUxVRV9SVFRJX1RZUEUuICBSZXR1cm4g TE9OR0VTVCBmcm9tIEJBU0VDTEFTU19PRkZTRVQgYW5kIGV4cGFuZAotCXBhcmFtZXRlciBFTUJF RERFRF9PRkZTRVQgdG8gTE9OR0VTVC4KLQkqIGNwLXZhbHByaW50LmMgKGNwX3ByaW50X3ZhbHVl X2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUCi0JdG8gTE9OR0VTVC4gIEV4cGFuZCBJ X09GRlNFVCB0byBMT05HRVNULgotCShjcF9wcmludF92YWx1ZV9maWVsZHNfcnR0aSk6IEV4cGFu ZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4gIEV4cGFuZCBUT1AgdG8gTE9OR0VTVC4K LQkoY3BfcHJpbnRfdmFsdWUpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULiAg RXhwYW5kCi0JVEhJU09GRlNFVCwgQk9GRlNFVCB0byBMT05HRVNULgotCSogZC1sYW5nLmggKGRf dmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNU LgotCSogZC12YWxwcmludC5jIChkeW5hbWljX2FycmF5X3R5cGUpOiBMaWtld2lzZS4KLQkoZF92 YWxfcHJpbnQpOiBMaWtld2lzZS4KLQkqIGRvdWJsZXN0LmMgKGZsb2F0Zm9ybWF0X2Zyb21fbGVu Z3RoKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8KLQlMT05HRVNULiAgVXNlIHBsb25nZXN0IHRv IGZvcm1hdCBzdHJpbmcgZm9yIExPTkdFU1QuCi0JKiBkd2FyZjJsb2MuYyAoY29weV9iaXR3aXNl KTogRXhwYW5kIHBhcmFtZXRlcnMgREVTVF9PRkZTRVRfQklUUywKLQlCSVRfQ09VTlQgdG8gVUxP TkdFU1QuICBSZW5hbWUgcGFyYW1ldGVyIFNPVVJDRV9PRkZTRVRfQklUUyB0bwotCVNPVVJDRV9P RkZTRVQgYW5kIGV4cGFuZCB0byBVTE9OR0VTVC4gIE5ldyB2YXJpYWJsZQotCVNPVVJDRV9PRkZT RVRfQklUUy4KLQkocmVhZF9waWVjZWRfdmFsdWUpOiBFeHBhbmQgT0ZGU0VULCBERVNUX09GRlNF VF9CSVRTLAotCVNPVVJDRV9PRkZTRVRfQklUUywgU09VUkNFX09GRlNFVCB0byBMT05HRVNULiAg RXhwYW5kIFRZUEVfTEVOLAotCVRISVNfU0laRSwgVEhJU19TSVpFX0JJVFMgdG8gVUxPTkdFU1Qu Ci0JKHdyaXRlX3BpZWNlZF92YWx1ZSk6IExpa2V3aXNlLgotCShjaGVja19waWVjZWRfdmFsdWVf Yml0cyk6IEV4cGFuZCBwYXJhbWV0ZXJzIEJJVF9PRkZTRVQgYW5kCi0JQklUX0xFTkdUSCB0byBM T05HRVNULiAgRXhwYW5kIFRISVNfU0laRV9CSVRTIHRvIFVMT05HRVNULgotCShjaGVja19waWVj ZWRfdmFsdWVfdmFsaWRpdHkpOiBFeHBhbmQgcGFyYW1ldGVycyBCSVRfT0ZGU0VUIGFuZAotCUJJ VF9MRU5HVEggdG8gTE9OR0VTVC4KLQkoY2hlY2tfcGllY2VkX3N5bnRoZXRpY19wb2ludGVyKTog TGlrZXdpc2UuCi0JKGluZGlyZWN0X3BpZWNlZF92YWx1ZSk6IEV4cGFuZCBCSVRfTEVOR1RILCBC WVRFX09GRlNFVCBhbmQKLQlCSVRfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGR3YXJmMl9ldmFsdWF0 ZV9sb2NfZGVzY19mdWxsKTogRXhwYW5kIE4gdG8gVUxPTkdFU1QuCi0JKiBkd2FyZjJyZWFkLmMg KGR3YXJmMl9jb25zdF92YWx1ZV9sZW5ndGhfbWlzbWF0Y2hfY29tcGxhaW50KToKLQlFeHBhbmQg cGFyYW1ldGVycyBBUkcyIGFuZCBBUkczIHRvIExPTkdFU1QuICBVc2UgcGxvbmdlc3QgdG8KLQlw cmludCBBUkcyIGFuZCBBUkczLgotCShkd2FyZjJfYWRkX2ZpZWxkKTogRXhwYW5kIEFOT05ZTU9V U19TSVpFLCBCSVRfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIGV2YWwuYyAoZXZhbHVhdGVfc3Ry dWN0X3R1cGxlKTogRXhwYW5kIEJJVFBPUyB0byBMT05HRVNULgotCShpbml0X2FycmF5X2VsZW1l bnQpOiBFeHBhbmQgRUxFTUVOVF9TSVpFIHRvIExPTkdFU1QuCi0JKGJpbm9wX3Byb21vdGUpOiBF eHBhbmQgUFJPTU9URURfTEVOMSwgUFJPTU9URURfTEVOMiwgUkVTVUxUX0xFTgotCXRvIFVMT05H RVNULgotCShldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQpOiBFeHBhbmQgTUVNX09GRlNFVCwgVE9Q LCBFTEVNRU5UX1NJWkUKLQl0byBMT05HRVNULgotCSogZi1sYW5nLmMgKGZfcHJpbnRzdHIpOiBF eHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0byBVTE9OR0VTVC4KLQkqIGYtbGFuZy5oIChmX3ZhbF9w cmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkq IGYtdmFscHJpbnQuYyAoZjc3X2FycmF5X29mZnNldF90YmwpOiBNYWtlIExPTkdFU1QuCi0JKGY3 N19jcmVhdGVfYXJyYXlwcmludF9vZmZzZXRfdGJsKTogRXhwYW5kIEVMVExFTiB0byBMT05HRVNU LgotCShmNzdfcHJpbnRfYXJyYXlfMSk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VU IHRvCi0JTE9OR0VTVC4gIEV4cGFuZCBJIHRvIExPTkdFU1QuCi0JKGY3N19wcmludF9hcnJheSk6 IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGZfdmFsX3By aW50KTogTGlrZXdpc2UuICBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKiBmaW5kdmFyLmMg KGRlZmF1bHRfdmFsdWVfZnJvbV9yZWdpc3Rlcik6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQko cmVhZF9mcmFtZV9yZWdpc3Rlcl92YWx1ZSk6IEV4cGFuZCBPRkZTRVQsIFJFR19PRkZTRVQsIExF TiwKLQlSRUdfTEVOIHRvIExPTkdFU1QuCi0JKiBmcmFtZS5jIChnZXRfZnJhbWVfcmVnaXN0ZXJf Ynl0ZXMpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0bwotCUxPTkdFU1QuCi0JKiBmcmFtZS5oIChn ZXRfZnJhbWVfcmVnaXN0ZXJfYnl0ZXMpOiBMaWtld2lzZS4KLQkqIGdkYnR5cGVzLmMgKGluaXRf dHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RIIHRvIExPTkdFU1QuCi0JKGlzX3VuaXF1ZV9h bmNlc3Rvcl93b3JrZXIpOiBFeHBhbmQgcGFyYW1ldGVycyBPRkZTRVQsCi0JRU1CRURERURfT0ZG U0VUIHRvIExPTkdFU1QuICBFeHBhbmQgVEhJU19PRkZTRVQgdG8gTE9OR0VTVC4KLQkoaXNfdW5p cXVlX2FuY2VzdG9yKTogRXhwYW5kIE9GRlNFVCB0byBMT05HRVNULgotCShyZWN1cnNpdmVfZHVt cF90eXBlKTogVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgVFlQRV9MRU5HVEguCi0JVXNl IHBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBUWVBFX0ZJRUxEX0JJVFBPUy4KLQkoYXJjaF90eXBl KTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gTE9OR0VTVC4KLQkqIGdkYnR5cGVzLmggKHN0 cnVjdCB0eXBlLm1haW5fdHlwZS5mbGRfYm5kcy5maWVsZHMpOiBFeHBhbmQKLQltZW1iZXIgQklU UE9TIHRvIExPTkdFU1QuCi0JKHN0cnVjdCB0eXBlKTogRXhwYW5kIG1lbWJlciBMRU5HVEggdG8g VUxPTkdFU1QuCi0JKGluaXRfdHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RIIHRvIExPTkdF U1QuCi0JKGFyY2hfdHlwZSk6IExpa2V3aXNlLgotCSogZ251LXYyLWFiaS5jIChnbnV2Ml92aXJ0 dWFsX2ZuX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQKLQl0byBMT05HRVNULgotCShn bnV2Ml92YWx1ZV9ydHRpX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUCB0byBwb2ludCB0byBM T05HRVNULgotCShnbnV2Ml9iYXNlY2xhc3Nfb2Zmc2V0KTogUmV0dXJuIExPTkdFU1QuICBFeHBh bmQgcGFyYW1ldGVyCi0JRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuICBFeHBhbmQgRklFTERf T0ZGU0VULCBCT0ZGU0VULAotCUZJRUxEX0xFTkdUSCB0byBMT05HRVNULgotCSogZ251LXYzLWFi aS5jIChidWlsZF9nZGJfdnRhYmxlX3R5cGUpOiBFeHBhbmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0J KHZ0YWJsZV9hZGRyZXNzX3BvaW50X29mZnNldCk6IFJldHVybiBMT05HRVNULgotCShnbnV2M19y dHRpX3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUF9QIHRvIHBvaW50IHRvIExPTkdFU1QuCi0J KGdudXYzX3ZpcnR1YWxfZm5fZmllbGQpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05H RVNULgotCShnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0KTogUmV0dXJuIExPTkdFU1QuICBFeHBhbmQg cGFyYW1ldGVyCi0JRU1CRURERURfT0ZTRVQgdG8gTE9OR0VTVC4gIEV4cGFuZCBDVVJfQkFTRV9P RkZTRVQsIEJBU0VfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkoZ251djNfZmluZF9tZXRob2RfaW4p OiBFeHBhbmQgUE9TIHRvIExPTkdFU1QuCi0JKiBnby1sYW5nLmggKGdvX3ZhbF9wcmludCk6IEV4 cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIGdvLXZhbHBy aW50LmMgKHByaW50X2dvX3N0cmluZyk6IExpa2V3aXNlLgotCShnb192YWxfcHJpbnQpOiBMaWtl d2lzZS4KLQkqIGkzODYtbmF0LmMgKGkzODZfaGFuZGxlX25vbmFsaWduZWRfd2F0Y2hwb2ludCk6 IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkoaTM4Nl9yZWdpb25fb2tfZm9y X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIGluZi10dHJhY2UuYyAoaW5mX3R0cmFjZV9yZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgTEVOIHRvIExPTkdF U1QuCi0JKiBqdi1sYW5nLmMgKGphdmFfbGlua19jbGFzc190eXBlKTogRXhwYW5kIEJPRkZTRVQg dG8gTE9OR0VTVC4KLQkoamF2YV9wcmludHN0cik6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RIIHRv IFVMT05HRVNULgotCSoganYtbGFuZy5oIChqYXZhX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0 ZXIgRU1CRURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIGp2LXZhbHByaW50LmMgKGphdmFf cHJpbnRfdmFsdWVfZmllbGRzKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQKLQl0byBMT05HRVNU LgotCShqYXZhX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRv IExPTkdFU1QuCi0JKiBsYW5ndWFnZS5jICh1bmtfbGFuZ19wcmludHN0cik6IEV4cGFuZCBwYXJh bWV0ZXIgTEVOR1RIIHRvCi0JVUxPTkdFU1QuCi0JKHVua19sYW5nX3ZhbF9wcmludCk6IEV4cGFu ZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKiBsYW5ndWFnZS5oIChs YW5ndWFnZV9kZWZuKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggb2YKLQlMQV9QUklOVFNUUiB0 byBVTE9OR0VTVC4gIEV4cGFuZCBwYXJhbWV0ZXIgRU1CRURERURfT0ZGU0VUIG9mCi0JTEFfVkFM X1BSSU5UIHRvIExPTkdFU1QuCi0JKiBtMi1sYW5nLmMgKG0yX3ByaW50c3RyKTogRXhwYW5kIHBh cmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JRXhwYW5kIEksIFJFUDEsIFJFUFMgdG8gVUxP TkdFU1QuICBVc2UgcHVsb25nZXN0IHRvIGZvcm1hdCBwcmludAotCVJFUFMuCi0JKiBtMi1sYW5n LmggKG0yX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIgZW1iZWRkZWRfb2Zmc2V0IHRvCi0J TE9OR0VTVC4KLQkqIG0yLXR5cGVwcmludC5jIChtMl9hcnJheSk6IE5ldyB2YXJpYWJsZSBWQUwu ICBVc2UgcHVsb25nZXN0IHRvCi0JKiBmb3JtYXQgcHJpbnQgVkFMLgotCShtMl9lbnVtKTogZXhw YW5kIExBU1RWQUwgdG8gTE9OR0VTVC4KLQkqIG0yLXZhbHByaW50LmMgKG0yX3ByaW50X2xvbmdf c2V0KTogRXhwYW5kIHBhcmFtZXRlcgotCUVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCSht Ml9wcmludF91bmJvdW5kZWRfYXJyYXkpOiBMaWtld2lzZS4KLQkobTJfcHJpbnRfYXJyYXlfY29u dGVudHMpOiBMaWtld2lzZS4KLQkobTJfdmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBFTUJF RERFRF9PRkZTRVQgdG8gTE9OR0VTVC4KLQlFeHBhbmQgSSwgTEVOLCBURU1QX0xFTiB0byBVTE9O R0VTVC4KLQkqIG1lbXJhbmdlLmMgKG1lbV9yYW5nZXNfb3ZlcmxhcCk6IEV4cGFuZCBwYXJhbWV0 ZXJzIExFTjEsIExFTjIgdG8KLQlMT05HRVNULgotCSogbWVtcmFuZ2UuaCAoc3RydWN0IG1lbV9y YW5nZSk6IEV4cGFuZCBtZW1iZXIgTEVOR1RIIHRvIExPTkdFU1QuCi0JKG1lbV9yYW5nZXNfb3Zl cmxhcCk6IEV4cGFuZCBwYXJhbWV0ZXJzIExFTjEsIExFTjIgdG8gTE9OR0VTVC4KLQkqIG1pcHMt bGludXgtbmF0LmMgKG1pcHNfbGludXhfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KToKLQlF eHBhbmQgcGFyYW1ldGVyIExFTiB0byBMT05HRVNULgotCSogb2JqYy1sYW5nLmMgKG9iamNfcHJp bnRzdHIpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0bwotCVVMT05HRVNULiAgRXhwYW5kIEks IFJFUDEsIFJFUFMgdG8gVUxPTkdFU1QuICB1c2UgcHVsb25nZXN0IHRvCi0JZm9ybWF0IHByaW50 IFJFUFMuCi0JKiBvcGVuY2wtbGFuZy5jIChsb29rdXBfb3BlbmNsX3ZlY3Rvcl90eXBlKTogRXhw YW5kIHBhcmFtZXRlcgotCUVMX0xFTkdUSCB0byBVTE9OR0VTVC4gIEV4cGFuZCBMRU5HVEggdG8g VUxPTkdFU1QuCi0JKGx2YWxfZnVuY19yZWFkKTogRXhwYW5kIE9GRlNFVCwgTiwgSSwgSiBhbmQg RUxTSVpFIHRvIExPTkdFU1QuCi0JKGx2YWxfZnVuY193cml0ZSk6IExpa2V3aXNlLgotCShsdmFs X2Z1bmNfY2hlY2tfdmFsaWRpdHkpOiBFeHBhbmQgcGFyYW1ldGVyIExFTkdUSCB0byBMT05HRVNU LgotCUV4cGFuZCBFTFNJWkUsIFNUQVJULCBFTkQsIEksIFNUQVJUUkVTVCwgRU5EUkVTVCwgQ09N UF9PRkZTRVQsCi0JQ09NUF9MRU5HVEggdG8gTE9OR0VTVC4KLQkobHZhbF9mdW5jX2NoZWNrX2Fu eV92YWxpZCk6IEV4cGFuZCBFTFNJWkUgdG8gTE9OR0VTVC4KLQkobHZhbF9mdW5jX2NoZWNrX3N5 bnRoZXRpY19wb2ludGVyKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VUIGFuZAotCUxFTkdUSCB0 byBMT05HRVNULiAgRXhwYW5kIEVMU0laRSwgU1RBUlQsIEVORCwgSSwgU1RBUlRSRVNULAotCUVO RFJFU1QsIENPTVBfTEVOR1RILCBDT01QX09GRlNFVCB0byBMT05HRVNULgotCSogcC1sYW5nLmMg KGlzX3Bhc2NhbF9zdHJpbmdfdHlwZSk6IEV4cGFuZCBwYXJhbWV0ZXJzIExFTkdUSF9QT1MsCi0J U1RSSU5HX1BPUywgTEVOR1RIX1NJWkUgdG8gcG9pbnQgdG8gTE9OR0VTVC4KLQkocGFzY2FsX3By aW50c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuICBFeHBhbmQKLQlJ LCBSRVAxLCBSRVBTIHRvIFVMT05HRVNULiAgVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQg UkVQUy4KLQkqIHAtbGFuZy5oIChwYXNjYWxfdmFsX3ByaW50KTogRXhwYW5kIHBhcmFtZXRlciBF TUJFRERFRF9PRkZTRVQKLQl0byBMT05HRVNULgotCShpc19wYXNjYWxfc3RyaW5nX3R5cGUpOiBF eHBhbmQgcGFyYW1ldGVycyBMRU5HVEhfUE9TLCBTVFJJTkdfUE9TLAotCUxFTkdUSF9TSVpFIHRv IHBvaW50IHRvIExPTkdFU1QuCi0JKHBhc2NhbF9wcmludHN0cik6IEV4cGFuZCBwYXJhbWV0ZXIg TEVOR1RIIHRvIFVMT05HRVNULgotCShwYXNjYWxfb2JqZWN0X3ByaW50X3ZhbHVlX2ZpZWxkcyk6 IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkqIHAtdmFscHJpbnQuYyAo cGFzY2FsX3ZhbF9wcmludCk6IEV4cGFuZCBwYXJhbWV0ZXIKLQlFTUJFRERFRF9PRkZTRVQgdG8g TE9OR0VTVC4gIEV4cGFuZCBFTFRMRU4gdG8gVUxPTkdFU1QuICBFeHBhbmQKLQlMRU5HVEhfU0la RSwgTEVOR1RIX1BPUywgU1RSSU5HX1BPUyB0byBMT05HRVNULgotCShwYXNjYWxfb2JqZWN0X3By aW50X3ZhbHVlX2ZpZWxkcyk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvCi0JTE9OR0VTVC4K LQkocGFzY2FsX29iamVjdF9wcmludF92YWx1ZSk6IExpa2V3aXNlLiAgRXhwYW5kIEJPRkZTRVQs Ci0JVEhJU09GRlNFVCB0byBMT05HRVNULgotCSogcHBjLWxpbnV4LW5hdC5jIChwcGNfbGludXhf cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KToKLQlFeHBhbmQgcGFyYW1ldGVyIExFTiB0byBw b2ludCB0byBMT05HRVNULgotCSogcHJpbnRjbWQuYyAocHJpbnRfZm9ybWF0dGVkKTogRXhwYW5k IExFTiB0byBMT05HRVNULgotCShwcmludF9zY2FsYXJfZm9ybWF0dGVkKTogTGlrZXdpc2UuCi0J KiBwcm9jZnMuYyAocHJvY2ZzX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZAot CXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkqIHB5dGhvbi9weS1wcmV0dHlwcmludC5jIChh cHBseV92YWxfcHJldHR5X3ByaW50ZXIpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgRU1CRURERURfT0ZG U0VUIHRvIExPTkdFU1QuCi0JKiBweXRob24vcHl0aG9uLmggKGFwcGx5X3ZhbF9wcmV0dHlfcHJp bnRlcik6IExpa2V3aXNlLgotCSogcmVnY2FjaGUuYyAocmVnY2FjaGVfeGZlcl9wYXJ0KTogRXhw YW5kIHBhcmFtZXRlciBPRkZTRVQgdG8KLQlMT05HRVNULgotCShyZWdjYWNoZV9yYXdfcmVhZF9w YXJ0KTogTGlrZXdpc2UuCi0JKHJlZ2NhY2hlX3Jhd193cml0ZV9wYXJ0KTogTGlrZXdpc2UuCi0J KHJlZ2NhY2hlX2Nvb2tlZF9yZWFkX3BhcnQpOiBMaWtld2lzZS4KLQkocmVnY2FjaGVfY29va2Vk X3dyaXRlX3BhcnQpOiBMaWtld2lzZS4KLQkqIHJlZ2NhY2hlLmggKHJlZ2NhY2hlX3Jhd19yZWFk X3BhcnQpOiBMaWtld2lzZS4KLQkocmVnY2FjaGVfcmF3X3dyaXRlX3BhcnQpOiBMaWtld2lzZS4K LQkocmVnY2FjaGVfY29va2VkX3JlYWRfcGFydCk6IExpa2V3aXNlLgotCShyZWdjYWNoZV9jb29r ZWRfd3JpdGVfcGFydCk6IExpa2V3aXNlLgotCSogcmVtb3RlLmMgKHJlbW90ZV9yZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgTEVOIHRvIExPTkdFU1QuCi0J KiBzMzkwLW5hdC5jIChzMzkwX3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZAot CXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwdS1tdWx0aWFyY2guYyAoc3B1X3JlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZAotCXBhcmFtZXRlciBsZW4gdG8gTE9OR0VT VC4KLQkqIHN0YWNrLmMgKHByaW50X2ZyYW1lX25hbWVsZXNzX2FyZ3MpOiBFeHBhbmQgcGFyYW1l dGVyIFNUQVJUIHRvCi0JTE9OR0VTVC4KLQkocHJpbnRfZnJhbWVfYXJncyk6IEV4cGFuZCBISUdI RVNUX09GRlNFVCwgQ1VSUkVOVF9PRkZTRVQsCi0JQVJHX1NJWkUsIFNUQVJUIHRvIExPTkdFU1Qu Ci0JKiBzeW1taXNjLmMgKHByaW50X3N5bWJvbCk6IEV4cGFuZCBJIHRvIFVMT05HRVNULiAgVXNl IHB1bG9uZ2VzdAotCXRvIGZvcm1hdCBwcmludCBUWVBFX0xFTkdUSC4KLQkqIHRhcmdldC5jIChk ZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIKLQlM RU4gdG8gTE9OR0VTVC4KLQkoZGVidWdfdG9fcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50KTog TGlrZXdpc2UuCi0JKiB0YXJnZXQuaCAoc3RydWN0IHRhcmdldF9vcHMpOiBFeHBhbmQgcGFyYW1l dGVyIExFTiB0byBMT05HRVNUCi0JZm9yIFRPX1JFR0lPTl9PS19GT1JfSFdfV0FUQ0hQT0lOVC4K LQkqIHRyYWNlcG9pbnQuYyAoYWRkX21lbXJhbmdlKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8g TE9OR0VTVC4KLQlVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IExFTi4KLQkoY29sbGVjdF9z eW1ib2wpOiBFeHBhbmQgTEVOIHRvIFVMT05HRVNULiAgVXNlIHB1bG9uZ2VzdCB0bwotCWZvcm1h dCBwcmludCBMRU4uCi0JKHNjb3BlX2luZm8pOiBFeHBhbmQgSiB0byBMT05HRVNULiAgVXNlIHB1 bG9uZ2VzdCB0byBmb3JtYXQKLQlwcmludCBUWVBFX0xFTkdUSC4KLQkqIHR5cGVwcmludC5jICh3 aGF0aXNfZXhwKTogRXhwYW5kIFRPUCB0byBMT05HRVNULgotCSogdmFsYXJpdGguYyAodmFsdWVf c3Vic2NyaXB0ZWRfcnZhbHVlKTogRXhwYW5kIHBhcmFtZXRlcnMgSU5ERVgKLQlhbmQgTE9XRVJC T1VORCB0byBMT05HRVNULiAgRXhwYW5kIEVMVF9TSVpFLCBFTFRfT0ZGUyB0byBVTE9OR0VTVC4K LQkodmFsdWVfY29uY2F0KTogZXhwYW5kIElOVkFMMUxFTiBhbmQgSU5WQUwyTEVOIHRvIHNzaXpl X3QuCi0JKHZhbHVlX2xvZ2ljYWxfbm90KTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCSh2YWx1 ZV9zdHJjbXApOiBFeHBhbmQgTEVOMSwgTEVOMiwgSSwgTEVOIHRvIExPTkdFU1QuCi0JKiB2YWxv cHMuYyAodmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IpOiBFeHBhbmQgcGFyYW1ldGVy Ci0JTEVOIHRvIExPTkdFU1QuCi0JKHZhbHVlX2Nhc3Rfc3RydWN0cyk6IEV4cGFuZCBUT1AgdG8g TE9OR0VTVC4KLQkodmFsdWVfY2FzdCk6IEV4cGFuZCBFTEVNRU5UX0xFTkdUSCB0byBVTE9OR0VT VC4gIEV4cGFuZAotCVZBTF9MRU5HVEggdG8gTE9OR0VTVC4KLQkoZHluYW1pY19jYXN0X2NoZWNr XzEpOiBFeHBhbmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0bwotCUxPTkdFU1QuICBFeHBh bmQgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKGR5bmFtaWNfY2FzdF9jaGVja18yKTogTGlrZXdpc2Uu Ci0JKHZhbHVlX2R5bmFtaWNfY2FzdCk6IEV4cGFuZCBUT1AgdG8gTE9OR0VTVC4KLQkocmVhZF92 YWx1ZV9tZW1vcnkpOiBFeHBhbmQgRU1CRURERURfT0ZGU0VUIHRvIExPTkdFU1QuCi0JKHZhbHVl X2Fzc2lnbik6IEV4cGFuZCBDSEFOR0VEX0xFTiwgT0ZGU0VUIHRvIExPTkdFU1QuCi0JKHZhbHVl X2FycmF5KTogRXhwYW5kIFRZUEVMRU5HVEggdG8gVUxPTkdFU1QuCi0JKHVwZGF0ZV9zZWFyY2hf cmVzdWx0KTogRXhwYW5kIHBhcmFtZXRlcnMgTEFTVF9CT0ZGU0VULCBCT0ZGU0VUCi0JdG8gTE9O R0VTVC4KLQkoZG9fc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VU LCBMQVNUX0JPRkZTRVQKLQl0byBMT05HRVNULiAgRXhwYW5kIE5FV19PRkZTRVQsIEJPRkZTRVQg dG8gTE9OR0VTVC4KLQkoc2VhcmNoX3N0cnVjdF9maWVsZCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZG U0VUIHRvIExPTkdFU1QuCi0JRXhwYW5kIEJPRkZTRVQgdG8gTE9OR0VTVC4KLQkoc2VhcmNoX3N0 cnVjdF9tZXRob2QpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCUV4cGFu ZCBCQVNFX09GRlNFVCwgVEhJU19PRkZTRVQgdG8gTE9OR0VTVC4KLQkoZmluZF9tZXRob2RfbGlz dCk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCwgQk9GRlNFVCB0bwotCUxPTkdFU1QuICBFeHBh bmQgQkFTRV9PRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfZmluZF9vbG9hZF9tZXRob2RfbGlz dCk6IEV4cGFuZCBwYXJhbWV0ZXIgQk9GRlNFVCB0byBwb2ludAotCXRvIExPTkdFU1QuCi0JKGZp bmRfb3ZlcmxvYWRfbWF0Y2gpOiBFeHBhbmQgQk9GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9z dHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0bwotCUxP TkdFU1QuICBSZW1vdmUgdW5uZWVkZWQgY2FzdC4gIEV4cGFuZCBCQVNFX09GRlNFVCB0byBMT05H RVNULgotCSh2YWx1ZV9ydHRpX2luZGlyZWN0X3R5cGUpOiBFeHBhbmQgcGFyYW1ldGVyIFRPUCB0 byBwb2ludCB0bwotCUxPTkdFU1QuCi0JKHZhbHVlX2Z1bGxfb2JqZWN0KTogRXhwYW5kIHBhcmFt ZXRlciBYVE9QIHRvIExPTkdFU1QuICBFeHBhbmQKLQlUT1AgdG8gTE9OR0VTVC4KLQkqIHZhbHBy aW50LmMgKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5KTogRXhwYW5kIHBhcmFtZXRlcgotCUVNQkVE REVEX09GRlNFVCB0byBMT05HRVNULgotCShnZW5lcmljX3ZhbF9wcmludCk6IExpa2V3aXNlLgot CSh2YWxfcHJpbnQpOiBMaWtld2lzZS4KLQkodmFsX3ByaW50X3NjYWxhcl9mb3JtYXR0ZWQpOiBM aWtld2lzZS4KLQkocHJpbnRfaGV4X2NoYXJzKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8gVUxP TkdFU1QuCi0JKHZhbF9wcmludF9hcnJheV9lbGVtZW50cyk6IEV4cGFuZCBwYXJhbWV0ZXIgRU1C RURERURfT0ZGU0VUIHRvCi0JTE9OR0VTVCwgSSB0byBVTE9OR0VTVC4gIEV4cGFuZCBMRU4sIEVM VExFTiwgUkVQMSwgUkVQUyB0bwotCVVMT05HRVNULiAgVXNlIHB1bG9uZ2VzdCB0byBmb3JtYXQg cHJpbnQgUkVQUy4KLQkoZ2VuZXJpY19wcmludHN0cik6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RI IHRvIFVMT05HRVNULgotCSogdmFscHJpbnQuaCAodmFsX3ByaW50X2FycmF5X2VsZW1lbnRzKTog RXhwYW5kIHBhcmFtZXRlcgotCUVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCSh2YWxfcHJp bnRfc2NhbGFyX2Zvcm1hdHRlZCk6IExpa2V3aXNlLgotCShwcmludF9oZXhfY2hhcnMpOiBFeHBh bmQgcGFyYW1ldGVyIExFTiB0byBVTE9OR0VTVC4KLQkoZ2VuZXJpY192YWxfcHJpbnQpOiBFeHBh bmQgcGFyYW1ldGVyIEVNQkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCShnZW5lcmljX3ByaW50 c3RyKTogRXhwYW5kIHBhcmFtZXRlciBMRU5HVEggdG8gVUxPTkdFU1QuCi0JKiB2YWx1ZS5jIChz dHJ1Y3QgcmFuZ2UpOiBFeHBhbmQgbWVtYmVycyBPRkZTRVQsIExFTkdUSCB0bwotCUxPTkdFU1Qu Ci0JKHJhbmdlc19vdmVybGFwKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VUMSwgT0ZGU0VUMiwg TEVOMSBBTkQKLQlMRU4yIHRvIExPTkdFU1QuCi0JKHJhbmdlX2NvbnRhaW4pOiBFeHBhbmQgcGFy YW1ldGVyIE9GRlNFVCwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHN0cnVjdCB2YWx1ZSk6IEV4cGFu ZCBtZW1iZXJzIE9GRlNFVCwgRU1CRURERURfT0ZGU0VULAotCVBPSU5URURfVE9fT0ZGU0VUIHRv IExPTkdFU1QuCi0JKHZhbHVlX2J5dGVzX2F2YWlsYWJsZSk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9G RlNFVCwgTEVOR1RIIHRvCi0JTE9OR0VTVC4KLQkobWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJs ZSk6IExpa2V3aXNlLgotCShmaW5kX2ZpcnN0X3JhbmdlX292ZXJsYXApOiBMaWtld2lzZS4KLQko dmFsdWVfYXZhaWxhYmxlX2NvbnRlbnRzX2VxKTogRXhwYW5kIHBhcmFtZXRlcnMgT0ZGU0VUMSwg T0ZGU0VUMgotCWFuZCBMRU5HVEggdG8gTE9OR0VTVC4KLQkodmFsdWVfb2Zmc2V0KTogUmV0dXJu IExPTkdFU1QuCi0JKHNldF92YWx1ZV9vZmZzZXQpOiBFeHBhbmQgcGFyYW1ldGVyIE9GRlNFVCB0 byBMT05HRVNULgotCSh2YWx1ZV9jb250ZW50c19jb3B5X3Jhdyk6IEV4cGFuZCBwYXJhbWV0ZXJz IFNSQ19PRkZTRVQsCi0JRFNUX09GRlNFVCwgTEVOR1RIIHRvIHNzaXplX3QuCi0JKHZhbHVlX2Nv bnRlbnRzX2NvcHkpOiBMaWtld2lzZS4KLQkodmFsdWVfYml0c192YWxpZCk6IEV4cGFuZCBwYXJh bWV0ZXJzIE9GRlNFVCwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHZhbHVlX2JpdHNfc3ludGhldGlj X3BvaW50ZXIpOiBMaWtld2lzZS4KLQkodmFsdWVfZW1iZWRkZWRfb2Zmc2V0KTogUmV0dXJuIExP TkdFU1QuCi0JKHNldF92YWx1ZV9lbWJlZGRlZF9vZmZzZXQpOiBFeHBhbmQgcGFyYW1ldGVyIFZB TCB0byBMT05HRVNULgotCSh2YWx1ZV9wb2ludGVkX3RvX29mZnNldCk6IFJldHVybiBMT05HRVNU LgotCShzZXRfdmFsdWVfcG9pbnRlZF90b19vZmZzZXQpOiBFeHBhbmQgcGFyYW1ldGVyIFZBTCB0 byBMT05HRVNULgotCShzZXRfaW50ZXJuYWx2YXJfY29tcG9uZW50KTogRXhwYW5kIHBhcmFtZXRl ciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfcHJpbWl0aXZlX2ZpZWxkKTogTGlrZXdpc2Uu ICBFeHBhbmQgQklUUE9TLCBCT0ZGU0VULAotCUNPTlRBSU5FUl9CSVRTSVpFIHRvIExPTkdFU1Qu Ci0JKHZhbHVlX2ZuX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4K LQkodW5wYWNrX3ZhbHVlX2JpdHNfYXNfbG9uZ18xKTogRXhwYW5kIHBhcmFtZXRlcnMgRU1CRURE RURfT0ZGU0VULAotCUJJVFBPUyB0byBMT05HRVNULiAgRXhwYW5kIFJFQURfT0ZGU0VUIHRvIExP TkdFU1QuCi0JKHVucGFja192YWx1ZV9iaXRzX2FzX2xvbmcpOiBFeHBhbmQgcGFyYW1ldGVyIEVN QkVERURfT0ZGU0VUIHRvCi0JTE9OR0VTVC4KLQkodW5wYWNrX3ZhbHVlX2ZpZWxkX2FzX2xvbmdf MSk6IExpa2V3aXNlLiAgRXhwYW5kIEJJVFBPUyB0bwotCUxPTkdFU1QuCi0JKHVucGFja192YWx1 ZV9maWVsZF9hc19sb25nKTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlM T05HRVNULgotCSh2YWx1ZV9maWVsZF9iaXRmaWVsZCk6IExpa2V3aXNlLgotCShtb2RpZnlfZmll bGQpOiBFeHBhbmQgcGFyYW1ldGVyIEJJVFBPUyB0byBMT05HRVNULiAgRXhwYW5kCi0JQllURVNJ WkUgdG8gTE9OR0VTVC4KLQkqIHZhbHVlLmggKHZhbHVlX29mZnNldCk6IFJldHVybiBMT05HRVNU LgotCShzZXRfdmFsdWVfb2Zmc2V0KTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VT VC4KLQkodmFsdWVfcG9pbnRlZF90b19vZmZzZXQpOiBSZXR1cm4gTE9OR0VTVC4KLQkoc2V0X3Zh bHVlX3BvaW50ZWRfdG9fb2Zmc2V0KTogRXhwYW5kIHBhcmFtZXRlciBWQUwgdG8gTE9OR0VTVC4K LQkodmFsdWVfZW1iZWRkZWRfb2Zmc2V0KTogUmV0dXJuIExPTkdFU1QuCi0JKHNldF92YWx1ZV9l bWJlZGRlZF9vZmZzZXQpOiBFeHBhbmQgcGFyYW1ldGVyIFZBTCB0byBMT05HRVNULgotCShzdHJ1 Y3QgbHZhbF9mdW5jcyk6IEV4cGFuZCBwYXJhbWV0ZXJzIE9GRlNFVCBhbmQgTEVOR1RIIHRvCi0J TE9OR0VTVCBmb3IgQ0hFQ0tfVkFMSURJVFkuICBMaWtld2lzZSBmb3IgQ0hFQ0tfU1lOVEhFVElD X1BPSU5URVIuCi0JKHZhbHByaW50X2NoZWNrX3ZhbGlkaXR5KTogRXhwYW5kIHBhcmFtZXRlciBF TUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCSh2YWx1ZV9iaXRzX3ZhbGlkKTogRXhwYW5k IHBhcmFtZXRlcnMgT0ZGU0VULCBMRU5HVEggdG8gTE9OR0VTVC4KLQkodmFsdWVfYml0c19zeW50 aGV0aWNfcG9pbnRlcik6IExpa2V3aXNlLgotCSh2YWx1ZV9ieXRlc19hdmFpbGFibGUpOiBMaWtl d2lzZS4KLQkobWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSk6IExpa2V3aXNlLgotCSh2YWx1 ZV9hdmFpbGFibGVfY29udGVudHNfZXEpOiBGaXggY29tbWVudC4gIEV4cGFuZCBwYXJhbWV0ZXJz Ci0JT0ZGU0VUMSwgT0ZGU0VUMiwgTEVOR1RIIHRvIExPTkdFU1QuCi0JKHJlYWRfdmFsdWVfbWVt b3J5KTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZTRVQgdG8KLQlMT05HRVNULgotCSh1 bnBhY2tfdmFsdWVfYml0c19hc19sb25nKTogRXhwYW5kIHBhcmFtZXRlciBFTUJFRERFRF9PRkZT RVQgdG8KLQlMT05HRVNULgotCSh1bnBhY2tfdmFsdWVfZmllbGRfYXNfbG9uZyk6IExpa2V3aXNl LgotCSh2YWx1ZV9maWVsZF9iaXRmaWVsZCk6IExpa2V3aXNlLgotCSh2YWx1ZV9jb250ZW50c19j b3B5X3Jhdyk6IEV4cGFuZCBwYXJhbWV0ZXJzIFNSQ19PRkZTRVQsCi0JRFNUX09GRlNFVCwgTEVO R1RIIHRvIExPTkdFU1QuCi0JKHZhbHVlX2NvbnRlbnRzX2NvcHkpOiBMaWtld2lzZS4KLQkodmFs dWVfcHJpbWl0aXZlX2ZpZWxkKTogRXhwYW5kIHBhcmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4K LQkodmFsdWVfcnR0aV9pbmRpcmVjdF90eXBlKTogRXhwYW5kIHBhcmFtZXRlciBUT1AgdG8gcG9p bnQgdG8KLQlMT05HRVNULgotCSh2YWx1ZV9mdWxsX29iamVjdCk6IEV4cGFuZCBwYXJhbWV0ZXIg WFRPUCB0byBMT05HRVNULgotCShzZXRfaW50ZXJuYWx2YXJfY29tcG9uZW50KTogRXhwYW5kIHBh cmFtZXRlciBPRkZTRVQgdG8gTE9OR0VTVC4KLQkodmFsdWVfZm5fZmllbGQpOiBFeHBhbmQgcGFy YW1ldGVyIE9GRlNFVCB0byBMT05HRVNULgotCShtb2RpZnlfZmllbGQpOiBFeHBhbmQgcGFyYW1l dGVyIEJJVFBPUyB0byBMT05HRVNULgotCSh2YWxfcHJpbnQpOiBFeHBhbmQgcGFyYW1ldGVyIEVN QkVEREVEX09GRlNFVCB0byBMT05HRVNULgotCSh2YWx1ZV9hbGxvY2F0ZV9zcGFjZV9pbl9pbmZl cmlvcik6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvCi0JTE9OR0VTVC4KLQotZ2RiL3Rlc3RzdWl0 ZS9DaGFuZ2VMb2c6Ci0KLTIwMTItMDgtMDUgIFNpZGRoZXNoIFBveWFyZWthciAgPHNpZGRoZXNo QHJlZGhhdC5jb20+Ci0KLQkqIGdkYi5iYXNlL2xvbmdlc3QtdHlwZXMuZXhwOiBBZGQgdGVzdCBj YXNlIHRvIGdldCBvZmZzZXQgb2YKLQlCVUYyLgotCi0tLU1QXy95cDVmK1dfRUQySnRVbFN5Qmk4 eHVqcgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rp bmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBv cy1tYWluLnBhdGNoCi0KLWRpZmYgLS1naXQgYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYyBiL2dk Yi9hYXJjaDY0LWxpbnV4LW5hdC5jCi0tLS0gYS9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwotKysr IGIvZ2RiL2FhcmNoNjQtbGludXgtbmF0LmMKLUBAIC04MDgsNyArODA4LDcgQEAgYWFyY2g2NF9s aW51eF9uYXRfdGFyZ2V0OjpyZW1vdmVfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIGludCBs ZW4sCi0gLyogSW1wbGVtZW50IHRoZSAicmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IiB0YXJn ZXRfb3BzIG1ldGhvZC4gICovCi0gCi0gaW50Ci0tYWFyY2g2NF9saW51eF9uYXRfdGFyZ2V0Ojpy ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotK2Fh cmNoNjRfbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JF X0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgcmV0dXJuIGFhcmNoNjRfbGludXhfcmVn aW9uX29rX2Zvcl93YXRjaHBvaW50IChhZGRyLCBsZW4pOwotIH0KLWRpZmYgLS1naXQgYS9nZGIv YWRhLWxhbmcuYyBiL2dkYi9hZGEtbGFuZy5jCi0tLS0gYS9nZGIvYWRhLWxhbmcuYwotKysrIGIv Z2RiL2FkYS1sYW5nLmMKLUBAIC03OCw3ICs3OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgdHlwZSAqZGVz Y19ib3VuZHNfdHlwZSAoc3RydWN0IHR5cGUgKik7Ci0gCi0gc3RhdGljIHN0cnVjdCB2YWx1ZSAq ZGVzY19ib3VuZHMgKHN0cnVjdCB2YWx1ZSAqKTsKLSAKLS1zdGF0aWMgaW50IGZhdF9wbnRyX2Jv dW5kc19iaXRwb3MgKHN0cnVjdCB0eXBlICopOwotK3N0YXRpYyBMT05HRVNUIGZhdF9wbnRyX2Jv dW5kc19iaXRwb3MgKHN0cnVjdCB0eXBlICopOwotIAotIHN0YXRpYyBpbnQgZmF0X3BudHJfYm91 bmRzX2JpdHNpemUgKHN0cnVjdCB0eXBlICopOwotIAotQEAgLTg2LDEzICs4NiwxMyBAQCBzdGF0 aWMgc3RydWN0IHR5cGUgKmRlc2NfZGF0YV90YXJnZXRfdHlwZSAoc3RydWN0IHR5cGUgKik7Ci0g Ci0gc3RhdGljIHN0cnVjdCB2YWx1ZSAqZGVzY19kYXRhIChzdHJ1Y3QgdmFsdWUgKik7Ci0gCi0t c3RhdGljIGludCBmYXRfcG50cl9kYXRhX2JpdHBvcyAoc3RydWN0IHR5cGUgKik7Ci0rc3RhdGlj IExPTkdFU1QgZmF0X3BudHJfZGF0YV9iaXRwb3MgKHN0cnVjdCB0eXBlICopOwotIAotIHN0YXRp YyBpbnQgZmF0X3BudHJfZGF0YV9iaXRzaXplIChzdHJ1Y3QgdHlwZSAqKTsKLSAKLSBzdGF0aWMg c3RydWN0IHZhbHVlICpkZXNjX29uZV9ib3VuZCAoc3RydWN0IHZhbHVlICosIGludCwgaW50KTsK LSAKLS1zdGF0aWMgaW50IGRlc2NfYm91bmRfYml0cG9zIChzdHJ1Y3QgdHlwZSAqLCBpbnQsIGlu dCk7Ci0rc3RhdGljIExPTkdFU1QgZGVzY19ib3VuZF9iaXRwb3MgKHN0cnVjdCB0eXBlICosIGlu dCwgaW50KTsKLSAKLSBzdGF0aWMgaW50IGRlc2NfYm91bmRfYml0c2l6ZSAoc3RydWN0IHR5cGUg KiwgaW50LCBpbnQpOwotIAotQEAgLTE3NSw3ICsxNzUsNyBAQCBzdGF0aWMgc3RydWN0IHR5cGUg KnN0YXRpY191bndyYXBfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUpOwotIAotIHN0YXRpYyBzdHJ1 Y3QgdmFsdWUgKnVud3JhcF92YWx1ZSAoc3RydWN0IHZhbHVlICopOwotIAotLXN0YXRpYyBzdHJ1 Y3QgdHlwZSAqY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVjdCB0eXBlICosIGxv bmcgKik7Ci0rc3RhdGljIHN0cnVjdCB0eXBlICpjb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlw ZSAoc3RydWN0IHR5cGUgKiwgTE9OR0VTVCAqKTsKLSAKLSBzdGF0aWMgc3RydWN0IHR5cGUgKmRl Y29kZV9jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5cGUgKik7Ci0gCi1A QCAtMjE0LDE0ICsyMTQsMTQgQEAgc3RhdGljIHN0cnVjdCB2YWx1ZSAqdmFsdWVfdmFsX2F0ciAo c3RydWN0IHR5cGUgKiwgc3RydWN0IHZhbHVlICopOwotIHN0YXRpYyBzdHJ1Y3Qgc3ltYm9sICpz dGFuZGFyZF9sb29rdXAgKGNvbnN0IGNoYXIgKiwgY29uc3Qgc3RydWN0IGJsb2NrICosCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tYWluX2VudW0pOwotIAotLXN0 YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV9zZWFyY2hfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFyICos IHN0cnVjdCB2YWx1ZSAqLCBpbnQsCi0rc3RhdGljIHN0cnVjdCB2YWx1ZSAqYWRhX3NlYXJjaF9z dHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKiwgc3RydWN0IHZhbHVlICosIExPTkdFU1QsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICop OwotIAotLXN0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV92YWx1ZV9wcmltaXRpdmVfZmllbGQgKHN0 cnVjdCB2YWx1ZSAqLCBpbnQsIGludCwKLStzdGF0aWMgc3RydWN0IHZhbHVlICphZGFfdmFsdWVf cHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKiwgTE9OR0VTVCwgaW50LAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICopOwot IAotLXN0YXRpYyBpbnQgZmluZF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKiwgc3RydWN0IHR5 cGUgKiwgaW50LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoq LCBpbnQgKiwgaW50ICosIGludCAqLCBpbnQgKik7Ci0rc3RhdGljIGludCBmaW5kX3N0cnVjdF9m aWVsZCAoY29uc3QgY2hhciAqLCBzdHJ1Y3QgdHlwZSAqLCBMT05HRVNULAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqLCBMT05HRVNUICosIGludCAqLCBpbnQg KiwgaW50ICopOwotIAotIHN0YXRpYyBpbnQgYWRhX3Jlc29sdmVfZnVuY3Rpb24gKHN0cnVjdCBi bG9ja19zeW1ib2wgKiwgaW50LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0 cnVjdCB2YWx1ZSAqKiwgaW50LCBjb25zdCBjaGFyICosCi1AQCAtMjMyLDcgKzIzMiw3IEBAIHN0 YXRpYyBpbnQgYWRhX2lzX2RpcmVjdF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqKTsKLSBzdGF0 aWMgdm9pZCBhZGFfbGFuZ3VhZ2VfYXJjaF9pbmZvIChzdHJ1Y3QgZ2RiYXJjaCAqLAotIAkJCQkg ICAgc3RydWN0IGxhbmd1YWdlX2FyY2hfaW5mbyAqKTsKLSAKLS1zdGF0aWMgc3RydWN0IHZhbHVl ICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkIChpbnQsIHN0cnVjdCB2YWx1ZSAqLCBpbnQsCi0rc3Rh dGljIHN0cnVjdCB2YWx1ZSAqYWRhX2luZGV4X3N0cnVjdF9maWVsZCAoTE9OR0VTVCwgc3RydWN0 IHZhbHVlICosIExPTkdFU1QsCi0gCQkJCQkgICAgIHN0cnVjdCB0eXBlICopOwotIAotIHN0YXRp YyBzdHJ1Y3QgdmFsdWUgKmFzc2lnbl9hZ2dyZWdhdGUgKHN0cnVjdCB2YWx1ZSAqLCBzdHJ1Y3Qg dmFsdWUgKiwgCi1AQCAtNzAxLDcgKzcwMSw3IEBAIGNvZXJjZV91bnNwZWNfdmFsX3RvX3R5cGUg KHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB9Ci0gCi0gc3RhdGljIGNv bnN0IGdkYl9ieXRlICoKLS1jb25kX29mZnNldF9ob3N0IChjb25zdCBnZGJfYnl0ZSAqdmFsYWRk ciwgbG9uZyBvZmZzZXQpCi0rY29uZF9vZmZzZXRfaG9zdCAoY29uc3QgZ2RiX2J5dGUgKnZhbGFk ZHIsIExPTkdFU1Qgb2Zmc2V0KQotIHsKLSAgIGlmICh2YWxhZGRyID09IE5VTEwpCi0gICAgIHJl dHVybiBOVUxMOwotQEAgLTcxMCw3ICs3MTAsNyBAQCBjb25kX29mZnNldF9ob3N0IChjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwgbG9uZyBvZmZzZXQpCi0gfQotIAotIHN0YXRpYyBDT1JFX0FERFIK LS1jb25kX29mZnNldF90YXJnZXQgKENPUkVfQUREUiBhZGRyZXNzLCBsb25nIG9mZnNldCkKLStj b25kX29mZnNldF90YXJnZXQgKENPUkVfQUREUiBhZGRyZXNzLCBMT05HRVNUIG9mZnNldCkKLSB7 Ci0gICBpZiAoYWRkcmVzcyA9PSAwKQotICAgICByZXR1cm4gMDsKLUBAIC0xNzUyLDcgKzE3NTIs NyBAQCBkZXNjX2JvdW5kcyAoc3RydWN0IHZhbHVlICphcnIpCi0gLyogSWYgVFlQRSBpcyB0aGUg dHlwZSBvZiBhbiBhcnJheS1kZXNjcmlwdG9yIChmYXQgcG9pbnRlciksICB0aGUgYml0Ci0gICAg cG9zaXRpb24gb2YgdGhlIGZpZWxkIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgdGhlIGJvdW5k cyBkYXRhLiAgKi8KLSAKLS1zdGF0aWMgaW50Ci0rc3RhdGljIExPTkdFU1QKLSBmYXRfcG50cl9i b3VuZHNfYml0cG9zIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICByZXR1cm4gVFlQRV9GSUVM RF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMSk7Ci1AQCAtMTgxOCw3ICsxODE4LDcg QEAgZGVzY19kYXRhIChzdHJ1Y3QgdmFsdWUgKmFycikKLSAvKiBJZiBUWVBFIGlzIHRoZSB0eXBl IG9mIGFuIGFycmF5LWRlc2NyaXB0b3IgKGZhdCBwb2ludGVyKSwgdGhlIGJpdAotICAgIHBvc2l0 aW9uIG9mIHRoZSBmaWVsZCBjb250YWluaW5nIHRoZSBhZGRyZXNzIG9mIHRoZSBkYXRhLiAgKi8K LSAKLS1zdGF0aWMgaW50Ci0rc3RhdGljIExPTkdFU1QKLSBmYXRfcG50cl9kYXRhX2JpdHBvcyAo c3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgcmV0dXJuIFRZUEVfRklFTERfQklUUE9TIChkZXNj X2Jhc2VfdHlwZSAodHlwZSksIDApOwotQEAgLTE4NTMsNyArMTg1Myw3IEBAIGRlc2Nfb25lX2Jv dW5kIChzdHJ1Y3QgdmFsdWUgKmJvdW5kcywgaW50IGksIGludCB3aGljaCkKLSAgICBvZiB0aGUg SXRoIGxvd2VyIGJvdW5kIHN0b3JlZCBpbiBpdCwgaWYgV0hJQ0ggaXMgMCwgYW5kIHRoZSBJdGgg dXBwZXIKLSAgICBib3VuZCwgaWYgV0hJQ0ggaXMgMS4gIFRoZSBmaXJzdCBib3VuZCBpcyBJPTEu ICAqLwotIAotLXN0YXRpYyBpbnQKLStzdGF0aWMgTE9OR0VTVAotIGRlc2NfYm91bmRfYml0cG9z IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGksIGludCB3aGljaCkKLSB7Ci0gICByZXR1cm4gVFlQ RV9GSUVMRF9CSVRQT1MgKGRlc2NfYmFzZV90eXBlICh0eXBlKSwgMiAqIGkgKyB3aGljaCAtIDIp OwotQEAgLTIwNDMsNyArMjA0Myw3IEBAIGFkYV90eXBlX29mX2FycmF5IChzdHJ1Y3QgdmFsdWUg KmFyciwgaW50IGJvdW5kcykKLSAJICAgICAgICAgemVybywgYW5kIGRvZXMgbm90IG5lZWQgdG8g YmUgcmVjb21wdXRlZC4gICovCi0gCSAgICAgIGlmIChsbyA8IGhpKQotIAkJewotLQkJICBpbnQg YXJyYXlfYml0c2l6ZSA9Ci0rCQkgIExPTkdFU1QgYXJyYXlfYml0c2l6ZSA9Ci0gCQkgICAgICAg IChoaSAtIGxvICsgMSkgKiBUWVBFX0ZJRUxEX0JJVFNJWkUgKGVsdF90eXBlLCAwKTsKLSAKLSAJ CSAgVFlQRV9MRU5HVEggKGFycmF5X3R5cGUpID0gKGFycmF5X2JpdHNpemUgKyA3KSAvIDg7Ci1A QCAtMjIwMyw3ICsyMjAzLDcgQEAgZGVjb2RlX3BhY2tlZF9hcnJheV9iaXRzaXplIChzdHJ1Y3Qg dHlwZSAqdHlwZSkKLSAgICB0aGUgbGVuZ3RoIGlzIGFyYml0cmFyeS4gICovCi0gCi0gc3RhdGlj IHN0cnVjdCB0eXBlICoKLS1jb25zdHJhaW5lZF9wYWNrZWRfYXJyYXlfdHlwZSAoc3RydWN0IHR5 cGUgKnR5cGUsIGxvbmcgKmVsdF9iaXRzKQotK2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBl IChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCAqZWx0X2JpdHMpCi0gewotICAgc3RydWN0IHR5 cGUgKm5ld19lbHRfdHlwZTsKLSAgIHN0cnVjdCB0eXBlICpuZXdfdHlwZTsKLUBAIC0yMjU3LDcg KzIyNTcsNyBAQCBkZWNvZGVfY29uc3RyYWluZWRfcGFja2VkX2FycmF5X3R5cGUgKHN0cnVjdCB0 eXBlICp0eXBlKQotICAgY2hhciAqbmFtZTsKLSAgIGNvbnN0IGNoYXIgKnRhaWw7Ci0gICBzdHJ1 Y3QgdHlwZSAqc2hhZG93X3R5cGU7Ci0tICBsb25nIGJpdHM7Ci0rICBMT05HRVNUIGJpdHM7Ci0g Ci0gICBpZiAoIXJhd19uYW1lKQotICAgICByYXdfbmFtZSA9IGFkYV90eXBlX25hbWUgKGRlc2Nf YmFzZV90eXBlICh0eXBlKSk7Ci1AQCAtMjMyOCw3ICsyMzI4LDggQEAgZGVjb2RlX2NvbnN0cmFp bmVkX3BhY2tlZF9hcnJheSAoc3RydWN0IHZhbHVlICphcnIpCi0gIAkgYXJyYXkgd2l0aCBubyB3 cmFwcGVyLiAgSW4gb3JkZXIgdG8gaW50ZXJwcmV0IHRoZSB2YWx1ZSB0aHJvdWdoCi0gIAkgdGhl IChsZWZ0LWp1c3RpZmllZCkgcGFja2VkIGFycmF5IHR5cGUgd2UganVzdCBidWlsdCwgd2UgbXVz dAotICAJIGZpcnN0IGxlZnQtanVzdGlmeSBpdC4gICovCi0tICAgICAgaW50IGJpdF9zaXplLCBi aXRfcG9zOwotKyAgICAgIGludCBiaXRfc2l6ZTsKLSsgICAgICBMT05HRVNUIGJpdF9wb3M7Ci0g ICAgICAgVUxPTkdFU1QgbW9kOwotIAotICAgICAgIG1vZCA9IGFkYV9tb2R1bHVzICh2YWx1ZV90 eXBlIChhcnIpKSAtIDE7Ci1AQCAtMjU1Niw3ICsyNTU3LDcgQEAgYWRhX3VucGFja19mcm9tX2Nv bnRlbnRzIChjb25zdCBnZGJfYnl0ZSAqc3JjLCBpbnQgYml0X29mZnNldCwgaW50IGJpdF9zaXpl LAotIAotIHN0cnVjdCB2YWx1ZSAqCi0gYWRhX3ZhbHVlX3ByaW1pdGl2ZV9wYWNrZWRfdmFsIChz dHJ1Y3QgdmFsdWUgKm9iaiwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkJCWxvbmcgb2Zm c2V0LCBpbnQgYml0X29mZnNldCwgaW50IGJpdF9zaXplLAotKwkJCQlMT05HRVNUIG9mZnNldCwg aW50IGJpdF9vZmZzZXQsIGludCBiaXRfc2l6ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLSAgIHN0cnVjdCB2YWx1ZSAqdjsKLUBAIC0y NjI2LDcgKzI2MjcsNyBAQCBhZGFfdmFsdWVfcHJpbWl0aXZlX3BhY2tlZF92YWwgKHN0cnVjdCB2 YWx1ZSAqb2JqLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAKLSAgIGlmIChvYmogIT0gTlVM TCkKLSAgICAgewotLSAgICAgIGxvbmcgbmV3X29mZnNldCA9IG9mZnNldDsKLSsgICAgICBMT05H RVNUIG5ld19vZmZzZXQgPSBvZmZzZXQ7Ci0gCi0gICAgICAgc2V0X3ZhbHVlX2NvbXBvbmVudF9s b2NhdGlvbiAodiwgb2JqKTsKLSAgICAgICBzZXRfdmFsdWVfYml0cG9zICh2LCBiaXRfb2Zmc2V0 ICsgdmFsdWVfYml0cG9zIChvYmopKTsKLUBAIC0yNjk2LDcgKzI2OTcsNyBAQCBhZGFfdmFsdWVf YXNzaWduIChzdHJ1Y3QgdmFsdWUgKnRvdmFsLCBzdHJ1Y3QgdmFsdWUgKmZyb212YWwpCi0gICAg IHsKLSAgICAgICBpbnQgbGVuID0gKHZhbHVlX2JpdHBvcyAodG92YWwpCi0gCQkgKyBiaXRzICsg SE9TVF9DSEFSX0JJVCAtIDEpIC8gSE9TVF9DSEFSX0JJVDsKLS0gICAgICBpbnQgZnJvbV9zaXpl OwotKyAgICAgIExPTkdFU1QgZnJvbV9zaXplOwotICAgICAgIGdkYl9ieXRlICpidWZmZXIgPSAo Z2RiX2J5dGUgKikgYWxsb2NhIChsZW4pOwotICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsOwotICAg ICAgIENPUkVfQUREUiB0b19hZGRyID0gdmFsdWVfYWRkcmVzcyAodG92YWwpOwotQEAgLTI3NDcs NyArMjc0OCw3IEBAIHZhbHVlX2Fzc2lnbl90b19jb21wb25lbnQgKHN0cnVjdCB2YWx1ZSAqY29u dGFpbmVyLCBzdHJ1Y3QgdmFsdWUgKmNvbXBvbmVudCwKLSAgICAgKExPTkdFU1QpICAodmFsdWVf YWRkcmVzcyAoY29tcG9uZW50KSAtIHZhbHVlX2FkZHJlc3MgKGNvbnRhaW5lcikpOwotICAgaW50 IGJpdF9vZmZzZXRfaW5fY29udGFpbmVyID0KLSAgICAgdmFsdWVfYml0cG9zIChjb21wb25lbnQp IC0gdmFsdWVfYml0cG9zIChjb250YWluZXIpOwotLSAgaW50IGJpdHM7Ci0rICBMT05HRVNUIGJp dHM7Ci0gCi0gICB2YWwgPSB2YWx1ZV9jYXN0ICh2YWx1ZV90eXBlIChjb21wb25lbnQpLCB2YWwp OwotIAotQEAgLTQ0NDcsNyArNDQ0OCw3IEBAIGVuc3VyZV9sdmFsIChzdHJ1Y3QgdmFsdWUgKnZh bCkKLSAgIGlmIChWQUxVRV9MVkFMICh2YWwpID09IG5vdF9sdmFsCi0gICAgICAgfHwgVkFMVUVf TFZBTCAodmFsKSA9PSBsdmFsX2ludGVybmFsdmFyKQotICAgICB7Ci0tICAgICAgaW50IGxlbiA9 IFRZUEVfTEVOR1RIIChhZGFfY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAodmFsKSkpOwotKyAg ICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKGFkYV9jaGVja190eXBlZGVmICh2YWx1ZV90 eXBlICh2YWwpKSk7Ci0gICAgICAgY29uc3QgQ09SRV9BRERSIGFkZHIgPQotICAgICAgICAgdmFs dWVfYXNfbG9uZyAodmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGxlbikpOwotIAot QEAgLTQ1MzEsNyArNDUzMiw3IEBAIHN0YXRpYyBDT1JFX0FERFIKLSB2YWx1ZV9wb2ludGVyIChz dHJ1Y3QgdmFsdWUgKnZhbHVlLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotLSAgdW5zaWduZWQgbGVuID0g VFlQRV9MRU5HVEggKHR5cGUpOwotKyAgVUxPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUp OwotICAgZ2RiX2J5dGUgKmJ1ZiA9IChnZGJfYnl0ZSAqKSBhbGxvY2EgKGxlbik7Ci0gICBDT1JF X0FERFIgYWRkcjsKLSAKLUBAIC02NjQ0LDcgKzY2NDUsNyBAQCB2YWx1ZV90YWdfZnJvbV9jb250 ZW50c19hbmRfYWRkcmVzcyAoc3RydWN0IHR5cGUgKnR5cGUsCi0gCQkJCSAgICAgY29uc3QgZ2Ri X2J5dGUgKnZhbGFkZHIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENP UkVfQUREUiBhZGRyZXNzKQotIHsKLS0gIGludCB0YWdfYnl0ZV9vZmZzZXQ7Ci0rICBMT05HRVNU IHRhZ19ieXRlX29mZnNldDsKLSAgIHN0cnVjdCB0eXBlICp0YWdfdHlwZTsKLSAKLSAgIGlmIChm aW5kX3N0cnVjdF9maWVsZCAoIl90YWciLCB0eXBlLCAwLCAmdGFnX3R5cGUsICZ0YWdfYnl0ZV9v ZmZzZXQsCi1AQCAtNzEzNyw3ICs3MTM4LDcgQEAgYWRhX2luX3ZhcmlhbnQgKExPTkdFU1QgdmFs LCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSkKLSAgICBvbmx5IGluIHRoYXQgaXQg Y2FuIGhhbmRsZSBwYWNrZWQgdmFsdWVzIG9mIGFyYml0cmFyeSB0eXBlLiAgKi8KLSAKLSBzdGF0 aWMgc3RydWN0IHZhbHVlICoKLS1hZGFfdmFsdWVfcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFs dWUgKmFyZzEsIGludCBvZmZzZXQsIGludCBmaWVsZG5vLAotK2FkYV92YWx1ZV9wcmltaXRpdmVf ZmllbGQgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLAot ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSkKLSB7Ci0g ICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLUBAIC03MTQ5LDcgKzcxNTAsNyBAQCBhZGFfdmFsdWVfcHJp bWl0aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIGludCBvZmZzZXQsIGludCBmaWVsZG5v LAotIAotICAgaWYgKFRZUEVfRklFTERfQklUU0laRSAoYXJnX3R5cGUsIGZpZWxkbm8pICE9IDAp Ci0gICAgIHsKLS0gICAgICBpbnQgYml0X3BvcyA9IFRZUEVfRklFTERfQklUUE9TIChhcmdfdHlw ZSwgZmllbGRubyk7Ci0rICAgICAgTE9OR0VTVCBiaXRfcG9zID0gVFlQRV9GSUVMRF9CSVRQT1Mg KGFyZ190eXBlLCBmaWVsZG5vKTsKLSAgICAgICBpbnQgYml0X3NpemUgPSBUWVBFX0ZJRUxEX0JJ VFNJWkUgKGFyZ190eXBlLCBmaWVsZG5vKTsKLSAKLSAgICAgICByZXR1cm4gYWRhX3ZhbHVlX3By aW1pdGl2ZV9wYWNrZWRfdmFsIChhcmcxLCB2YWx1ZV9jb250ZW50cyAoYXJnMSksCi1AQCAtNzIy Niw5ICs3MjI3LDkgQEAgYWRhX3ZhbHVlX3ByaW1pdGl2ZV9maWVsZCAoc3RydWN0IHZhbHVlICph cmcxLCBpbnQgb2Zmc2V0LCBpbnQgZmllbGRubywKLSAgICBSZXR1cm5zIDEgaWYgZm91bmQsIDAg b3RoZXJ3aXNlLiAgKi8KLSAKLSBzdGF0aWMgaW50Ci0tZmluZF9zdHJ1Y3RfZmllbGQgKGNvbnN0 IGNoYXIgKm5hbWUsIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgb2Zmc2V0LAotK2ZpbmRfc3RydWN0 X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBvZmZz ZXQsCi0gICAgICAgICAgICAgICAgICAgIHN0cnVjdCB0eXBlICoqZmllbGRfdHlwZV9wLAotLSAg ICAgICAgICAgICAgICAgICBpbnQgKmJ5dGVfb2Zmc2V0X3AsIGludCAqYml0X29mZnNldF9wLCBp bnQgKmJpdF9zaXplX3AsCi0rCQkgICBMT05HRVNUICpieXRlX29mZnNldF9wLCBpbnQgKmJpdF9v ZmZzZXRfcCwgaW50ICpiaXRfc2l6ZV9wLAotIAkJICAgaW50ICppbmRleF9wKQotIHsKLSAgIGlu dCBpOwotQEAgLTcyNDcsOCArNzI0OCw4IEBAIGZpbmRfc3RydWN0X2ZpZWxkIChjb25zdCBjaGFy ICpuYW1lLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IG9mZnNldCwKLSAKLSAgIGZvciAoaSA9IDA7 IGkgPCBUWVBFX05GSUVMRFMgKHR5cGUpOyBpICs9IDEpCi0gICAgIHsKLS0gICAgICBpbnQgYml0 X3BvcyA9IFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKTsKLS0gICAgICBpbnQgZmxkX29mZnNl dCA9IG9mZnNldCArIGJpdF9wb3MgLyA4OwotKyAgICAgIExPTkdFU1QgYml0X3BvcyA9IFRZUEVf RklFTERfQklUUE9TICh0eXBlLCBpKTsKLSsgICAgICBMT05HRVNUIGZsZF9vZmZzZXQgPSBvZmZz ZXQgKyBiaXRfcG9zIC8gODsKLSAgICAgICBjb25zdCBjaGFyICp0X2ZpZWxkX25hbWUgPSBUWVBF X0ZJRUxEX05BTUUgKHR5cGUsIGkpOwotIAotICAgICAgIGlmICh0X2ZpZWxkX25hbWUgPT0gTlVM TCkKLUBAIC03MzUwLDcgKzczNTEsNyBAQCBudW1fdmlzaWJsZV9maWVsZHMgKHN0cnVjdCB0eXBl ICp0eXBlKQotICAgIGxvbmcgZXhwbGFuYXRpb24gaW4gZmluZF9zdHJ1Y3RfZmllbGQncyBmdW5j dGlvbiBkb2N1bWVudGF0aW9uLiAgKi8KLSAKLSBzdGF0aWMgc3RydWN0IHZhbHVlICoKLS1hZGFf c2VhcmNoX3N0cnVjdF9maWVsZCAoY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IHZhbHVlICphcmcs IGludCBvZmZzZXQsCi0rYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKm5hbWUs IHN0cnVjdCB2YWx1ZSAqYXJnLCBMT05HRVNUIG9mZnNldCwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgc3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgaW50IGk7Ci1AQCAtNzM5OCw3ICs3Mzk5 LDcgQEAgYWRhX3NlYXJjaF9zdHJ1Y3RfZmllbGQgKGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCB2 YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAotICAgICAgICAgICBpbnQgajsKLSAgICAgICAgICAgc3Ry dWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBhZGFfY2hlY2tfdHlwZWRlZiAoVFlQRV9GSUVMRF9UWVBF ICh0eXBlLAotIAkJCQkJCQkJCWkpKTsKLS0gICAgICAgICAgaW50IHZhcl9vZmZzZXQgPSBvZmZz ZXQgKyBUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwgaSkgLyA4OwotKwkgIExPTkdFU1QgdmFyX29m ZnNldCA9IG9mZnNldCArIFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKSAvIDg7Ci0gCi0gICAg ICAgICAgIGZvciAoaiA9IDA7IGogPCBUWVBFX05GSUVMRFMgKGZpZWxkX3R5cGUpOyBqICs9IDEp Ci0gICAgICAgICAgICAgewotQEAgLTc0MzAsOCArNzQzMSw4IEBAIGFkYV9zZWFyY2hfc3RydWN0 X2ZpZWxkIChjb25zdCBjaGFyICpuYW1lLCBzdHJ1Y3QgdmFsdWUgKmFyZywgaW50IG9mZnNldCwK LSAgIHJldHVybiBOVUxMOwotIH0KLSAKLS1zdGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhf c3RydWN0X2ZpZWxkXzEgKGludCAqLCBzdHJ1Y3QgdmFsdWUgKiwKLS0JCQkJCSAgICAgICBpbnQs IHN0cnVjdCB0eXBlICopOwotK3N0YXRpYyBzdHJ1Y3QgdmFsdWUgKmFkYV9pbmRleF9zdHJ1Y3Rf ZmllbGRfMSAoTE9OR0VTVCAqLCBzdHJ1Y3QgdmFsdWUgKiwKLSsJCQkJCSAgICAgICBMT05HRVNU LCBzdHJ1Y3QgdHlwZSAqKTsKLSAKLSAKLSAvKiBSZXR1cm4gZmllbGQgI0lOREVYIGluIEFSRywg d2hlcmUgdGhlIGluZGV4IGlzIHRoYXQgcmV0dXJuZWQgYnkKLUBAIC03NDQwLDcgKzc0NDEsNyBA QCBzdGF0aWMgc3RydWN0IHZhbHVlICphZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqLCBz dHJ1Y3QgdmFsdWUgKiwKLSAgKiBJZiBmb3VuZCwgcmV0dXJuIHZhbHVlLCBlbHNlIHJldHVybiBO VUxMLiAgKi8KLSAKLSBzdGF0aWMgc3RydWN0IHZhbHVlICoKLS1hZGFfaW5kZXhfc3RydWN0X2Zp ZWxkIChpbnQgaW5kZXgsIHN0cnVjdCB2YWx1ZSAqYXJnLCBpbnQgb2Zmc2V0LAotK2FkYV9pbmRl eF9zdHJ1Y3RfZmllbGQgKExPTkdFU1QgaW5kZXgsIHN0cnVjdCB2YWx1ZSAqYXJnLCBMT05HRVNU IG9mZnNldCwKLSAJCQlzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICByZXR1cm4gYWRhX2luZGV4 X3N0cnVjdF9maWVsZF8xICgmaW5kZXgsIGFyZywgb2Zmc2V0LCB0eXBlKTsKLUBAIC03NDUyLDcg Kzc0NTMsNyBAQCBhZGFfaW5kZXhfc3RydWN0X2ZpZWxkIChpbnQgaW5kZXgsIHN0cnVjdCB2YWx1 ZSAqYXJnLCBpbnQgb2Zmc2V0LAotICAqICpJTkRFWF9QLiAgKi8KLSAKLSBzdGF0aWMgc3RydWN0 IHZhbHVlICoKLS1hZGFfaW5kZXhfc3RydWN0X2ZpZWxkXzEgKGludCAqaW5kZXhfcCwgc3RydWN0 IHZhbHVlICphcmcsIGludCBvZmZzZXQsCi0rYWRhX2luZGV4X3N0cnVjdF9maWVsZF8xIChMT05H RVNUICppbmRleF9wLCBzdHJ1Y3QgdmFsdWUgKmFyZywgTE9OR0VTVCBvZmZzZXQsCi0gCQkJICBz dHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBpbnQgaTsKLUBAIC03NTQzLDcgKzc1NDQsOCBAQCBh ZGFfdmFsdWVfc3RydWN0X2VsdCAoc3RydWN0IHZhbHVlICphcmcsIGNvbnN0IGNoYXIgKm5hbWUs IGludCBub19lcnIpCi0gICAgIHYgPSBhZGFfc2VhcmNoX3N0cnVjdF9maWVsZCAobmFtZSwgYXJn LCAwLCB0KTsKLSAgIGVsc2UKLSAgICAgewotLSAgICAgIGludCBiaXRfb2Zmc2V0LCBiaXRfc2l6 ZSwgYnl0ZV9vZmZzZXQ7Ci0rICAgICAgaW50IGJpdF9vZmZzZXQsIGJpdF9zaXplOwotKyAgICAg IExPTkdFU1QgYnl0ZV9vZmZzZXQ7Ci0gICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGU7Ci0g ICAgICAgQ09SRV9BRERSIGFkZHJlc3M7Ci0gCi1AQCAtNzg5Miw4ICs3ODk0LDggQEAgYWRhX2Nv ZXJjZV9yZWYgKHN0cnVjdCB2YWx1ZSAqdmFsMCkKLSAvKiBSZXR1cm4gT0ZGIHJvdW5kZWQgdXB3 YXJkIGlmIG5lY2Vzc2FyeSB0byBhIG11bHRpcGxlIG9mCi0gICAgQUxJR05NRU5UIChhIHBvd2Vy IG9mIDIpLiAgKi8KLSAKLS1zdGF0aWMgdW5zaWduZWQgaW50Ci0tYWxpZ25fdmFsdWUgKHVuc2ln bmVkIGludCBvZmYsIHVuc2lnbmVkIGludCBhbGlnbm1lbnQpCi0rc3RhdGljIFVMT05HRVNUCi0r YWxpZ25fdmFsdWUgKFVMT05HRVNUIG9mZiwgVUxPTkdFU1QgYWxpZ25tZW50KQotIHsKLSAgIHJl dHVybiAob2ZmICsgYWxpZ25tZW50IC0gMSkgJiB+KGFsaWdubWVudCAtIDEpOwotIH0KLUBAIC04 MjgzLDEwICs4Mjg1LDkgQEAgYWRhX3RlbXBsYXRlX3RvX2ZpeGVkX3JlY29yZF90eXBlXzEgKHN0 cnVjdCB0eXBlICp0eXBlLAotICAgc3RydWN0IHZhbHVlICptYXJrID0gdmFsdWVfbWFyayAoKTsK LSAgIHN0cnVjdCB2YWx1ZSAqZHZhbDsKLSAgIHN0cnVjdCB0eXBlICpydHlwZTsKLS0gIGludCBu ZmllbGRzLCBiaXRfbGVuOwotKyAgaW50IG5maWVsZHM7Ci0gICBpbnQgdmFyaWFudF9maWVsZDsK LS0gIGxvbmcgb2ZmOwotLSAgaW50IGZsZF9iaXRfbGVuOwotKyAgTE9OR0VTVCBvZmYsIGJpdF9s ZW4sIGZsZF9iaXRfbGVuOwotICAgaW50IGY7Ci0gCi0gICAvKiBDb21wdXRlIHRoZSBudW1iZXIg b2YgZmllbGRzIGluIHRoaXMgcmVjb3JkIHR5cGUgdGhhdCBhcmUgZ29pbmcKLUBAIC04MzYzLDcg KzgzNjQsNyBAQCBhZGFfdGVtcGxhdGVfdG9fZml4ZWRfcmVjb3JkX3R5cGVfMSAoc3RydWN0IHR5 cGUgKnR5cGUsCi0gCSAgICAgdGhhdCBmb2xsb3cgdGhpcyBvbmUuICAqLwotIAkgIGlmIChhZGFf aXNfYWxpZ25lcl90eXBlIChmaWVsZF90eXBlKSkKLSAJICAgIHsKLS0JICAgICAgbG9uZyBmaWVs ZF9vZmZzZXQgPSBUWVBFX0ZJRUxEX0JJVFBPUyAoZmllbGRfdHlwZSwgZik7Ci0rCSAgICAgIExP TkdFU1QgZmllbGRfb2Zmc2V0ID0gVFlQRV9GSUVMRF9CSVRQT1MgKGZpZWxkX3R5cGUsIGYpOwot IAotIAkgICAgICBmaWVsZF92YWxhZGRyID0gY29uZF9vZmZzZXRfaG9zdCAoZmllbGRfdmFsYWRk ciwgZmllbGRfb2Zmc2V0KTsKLSAJICAgICAgZmllbGRfYWRkcmVzcyA9IGNvbmRfb2Zmc2V0X3Rh cmdldCAoZmllbGRfYWRkcmVzcywgZmllbGRfb2Zmc2V0KTsKLUBAIC04NDk5LDExICs4NTAwLDEx IEBAIGFkYV90ZW1wbGF0ZV90b19maXhlZF9yZWNvcmRfdHlwZV8xIChzdHJ1Y3QgdHlwZSAqdHlw ZSwKLSAgIGlmIChUWVBFX0xFTkdUSCAodHlwZSkgPD0gMCkKLSAgICAgewotICAgICAgIGlmIChU WVBFX05BTUUgKHJ0eXBlKSkKLS0Jd2FybmluZyAoXygiSW52YWxpZCB0eXBlIHNpemUgZm9yIGAl cycgZGV0ZWN0ZWQ6ICVkLiIpLAotLQkJIFRZUEVfTkFNRSAocnR5cGUpLCBUWVBFX0xFTkdUSCAo dHlwZSkpOwotKwl3YXJuaW5nIChfKCJJbnZhbGlkIHR5cGUgc2l6ZSBmb3IgYCVzJyBkZXRlY3Rl ZDogJXMuIiksCi0rCQkgVFlQRV9OQU1FIChydHlwZSksIHB1bG9uZ2VzdCAoVFlQRV9MRU5HVEgg KHR5cGUpKSk7Ci0gICAgICAgZWxzZQotLQl3YXJuaW5nIChfKCJJbnZhbGlkIHR5cGUgc2l6ZSBm b3IgPHVubmFtZWQ+IGRldGVjdGVkOiAlZC4iKSwKLS0JCSBUWVBFX0xFTkdUSCAodHlwZSkpOwot Kwl3YXJuaW5nIChfKCJJbnZhbGlkIHR5cGUgc2l6ZSBmb3IgPHVubmFtZWQ+IGRldGVjdGVkOiAl cy4iKSwKLSsJCSBwdWxvbmdlc3QgKFRZUEVfTEVOR1RIICh0eXBlKSkpOwotICAgICB9Ci0gICBl bHNlCi0gICAgIHsKLUBAIC04OTY3LDcgKzg5NjgsOCBAQCB0b19maXhlZF9hcnJheV90eXBlIChz dHJ1Y3QgdHlwZSAqdHlwZTAsIHN0cnVjdCB2YWx1ZSAqZHZhbCwKLSAJIHR5cGUgd2FzIGEgcmVn dWxhciAobm9uLXBhY2tlZCkgYXJyYXkgdHlwZS4gIEFzIGEgcmVzdWx0LCB0aGUKLSAJIGJpdHNp emUgb2YgdGhlIGFycmF5IGVsZW1lbnRzIG5lZWRzIHRvIGJlIHNldCBhZ2FpbiwgYW5kIHRoZSBh cnJheQotIAkgbGVuZ3RoIG5lZWRzIHRvIGJlIHJlY29tcHV0ZWQgYmFzZWQgb24gdGhhdCBiaXRz aXplLiAgKi8KLS0gICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHJlc3VsdCkgLyBUWVBFX0xF TkdUSCAoVFlQRV9UQVJHRVRfVFlQRSAocmVzdWx0KSk7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSAo VFlQRV9MRU5HVEggKHJlc3VsdCkKLSsJCSAgICAgLyBUWVBFX0xFTkdUSCAoVFlQRV9UQVJHRVRf VFlQRSAocmVzdWx0KSkpOwotICAgICAgIGludCBlbHRfYml0c2l6ZSA9IFRZUEVfRklFTERfQklU U0laRSAodHlwZTAsIDApOwotIAotICAgICAgIFRZUEVfRklFTERfQklUU0laRSAocmVzdWx0LCAw KSA9IFRZUEVfRklFTERfQklUU0laRSAodHlwZTAsIDApOwotZGlmZiAtLWdpdCBhL2dkYi9hZGEt bGFuZy5oIGIvZ2RiL2FkYS1sYW5nLmgKLS0tLSBhL2dkYi9hZGEtbGFuZy5oCi0rKysgYi9nZGIv YWRhLWxhbmcuaAotQEAgLTE3Myw3ICsxNzMsNyBAQCBleHRlcm4gdm9pZCBhZGFfcHJpbnRfdHlw ZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0g ZXh0ZXJuIHZvaWQgYWRhX3ByaW50X3R5cGVkZWYgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg c3ltYm9sICpuZXdfc3ltYm9sLAotIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKTsK LSAKLS1leHRlcm4gdm9pZCBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBpbnQsIENPUkVf QUREUiwKLStleHRlcm4gdm9pZCBhZGFfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBMT05HRVNU LCBDT1JFX0FERFIsCi0gCQkJICAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAotIAkJCSAgIHN0cnVj dCB2YWx1ZSAqLAotIAkJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwot QEAgLTE4OCw3ICsxODgsNyBAQCBleHRlcm4gdm9pZCBhZGFfZW1pdF9jaGFyIChpbnQsIHN0cnVj dCB0eXBlICosIHN0cnVjdCB1aV9maWxlICosIGludCwgaW50KTsKLSBleHRlcm4gdm9pZCBhZGFf cHJpbnRjaGFyIChpbnQsIHN0cnVjdCB0eXBlICosIHN0cnVjdCB1aV9maWxlICopOwotIAotIGV4 dGVybiB2b2lkIGFkYV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKiwgc3RydWN0IHR5cGUgKiwg Y29uc3QgZ2RiX2J5dGUgKiwKLS0JCQkgIHVuc2lnbmVkIGludCwgY29uc3QgY2hhciAqLCBpbnQs Ci0rCQkJICBVTE9OR0VTVCwgY29uc3QgY2hhciAqLCBpbnQsCi0gCQkJICBjb25zdCBzdHJ1Y3Qg dmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLSAKLSBzdHJ1Y3QgdmFsdWUgKmFkYV9jb252ZXJ0X2Fj dHVhbCAoc3RydWN0IHZhbHVlICphY3R1YWwsCi1AQCAtMjYzLDcgKzI2Myw3IEBAIGV4dGVybiBp bnQgYWRhX2lzX2NvbnN0cmFpbmVkX3BhY2tlZF9hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqKTsK LSAKLSBleHRlcm4gc3RydWN0IHZhbHVlICphZGFfdmFsdWVfcHJpbWl0aXZlX3BhY2tlZF92YWwg KHN0cnVjdCB2YWx1ZSAqLAotIAkJCQkJCSAgICAgY29uc3QgZ2RiX2J5dGUgKiwKLS0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcsIGludCwg aW50LAotKwkJCQkJCSAgICAgTE9OR0VTVCwgaW50LCBpbnQsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgdHlwZSAqKTsKLSAKLSBl eHRlcm4gc3RydWN0IHR5cGUgKmFkYV9jb2VyY2VfdG9fc2ltcGxlX2FycmF5X3R5cGUgKHN0cnVj dCB0eXBlICopOwotZGlmZiAtLWdpdCBhL2dkYi9hZGEtdHlwZXByaW50LmMgYi9nZGIvYWRhLXR5 cGVwcmludC5jCi0tLS0gYS9nZGIvYWRhLXR5cGVwcmludC5jCi0rKysgYi9nZGIvYWRhLXR5cGVw cmludC5jCi1AQCAtODk1LDggKzg5NSw4IEBAIGFkYV9wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAq dHlwZTAsIGNvbnN0IGNoYXIgKnZhcnN0cmluZywKLSAJICAgIGNvbnN0IGNoYXIgKm5hbWUgPSBh ZGFfdHlwZV9uYW1lICh0eXBlKTsKLSAKLSAJICAgIGlmICghYWRhX2lzX3JhbmdlX3R5cGVfbmFt ZSAobmFtZSkpCi0tCSAgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgXygiPCVkLWJ5dGUg aW50ZWdlcj4iKSwKLS0JCQkJVFlQRV9MRU5HVEggKHR5cGUpKTsKLSsJICAgICAgZnByaW50Zl9m aWx0ZXJlZCAoc3RyZWFtLCBfKCI8JXMtYnl0ZSBpbnRlZ2VyPiIpLAotKwkJCQlwdWxvbmdlc3Qg KFRZUEVfTEVOR1RIICh0eXBlKSkpOwotIAkgICAgZWxzZQotIAkgICAgICB7Ci0gCQlmcHJpbnRm X2ZpbHRlcmVkIChzdHJlYW0sICJyYW5nZSAiKTsKLUBAIC05MTcsNyArOTE3LDggQEAgYWRhX3By aW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlMCwgY29uc3QgY2hhciAqdmFyc3RyaW5nLAotIAkg IH0KLSAJYnJlYWs7Ci0gICAgICAgY2FzZSBUWVBFX0NPREVfRkxUOgotLQlmcHJpbnRmX2ZpbHRl cmVkIChzdHJlYW0sIF8oIjwlZC1ieXRlIGZsb2F0PiIpLCBUWVBFX0xFTkdUSCAodHlwZSkpOwot KwlmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIjwlcy1ieXRlIGZsb2F0PiIpLAotKwkJCSAg cHVsb25nZXN0IChUWVBFX0xFTkdUSCAodHlwZSkpKTsKLSAJYnJlYWs7Ci0gICAgICAgY2FzZSBU WVBFX0NPREVfRU5VTToKLSAJaWYgKHNob3cgPCAwKQotZGlmZiAtLWdpdCBhL2dkYi9hZGEtdmFs cHJpbnQuYyBiL2dkYi9hZGEtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2FkYS12YWxwcmludC5jCi0r KysgYi9nZGIvYWRhLXZhbHByaW50LmMKLUBAIC0zNCwxMSArMzQsMTEgQEAKLSAjaW5jbHVkZSAi dGFyZ2V0LWZsb2F0LmgiCi0gCi0gc3RhdGljIGludCBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVj dCB0eXBlICosIGNvbnN0IGdkYl9ieXRlICosCi0tCQkJICAgICAgIGludCwKLSsJCQkgICAgICAg TE9OR0VTVCwKLSAJCQkgICAgICAgc3RydWN0IHVpX2ZpbGUgKiwgaW50LAotIAkJCSAgICAgICBz dHJ1Y3QgdmFsdWUgKiwKLSAJCQkgICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgKiwKLS0JCQkgICAgICAgaW50LCBzdHJ1Y3QgdHlwZSAqLCBpbnQsCi0rCQkJICAgICAgIGlu dCwgc3RydWN0IHR5cGUgKiwgTE9OR0VTVCwKLSAJCQkgICAgICAgY29uc3Qgc3RydWN0IGxhbmd1 YWdlX2RlZm4gKik7Ci0gDAotIAotQEAgLTMxNiw3ICszMTYsNyBAQCBhZGFfZW1pdF9jaGFyIChp bnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gICAgb2Yg YSBjaGFyYWN0ZXIuICAqLwotIAotIHN0YXRpYyBpbnQKLS1jaGFyX2F0IChjb25zdCBnZGJfYnl0 ZSAqc3RyaW5nLCBpbnQgaSwgaW50IHR5cGVfbGVuLAotK2NoYXJfYXQgKGNvbnN0IGdkYl9ieXRl ICpzdHJpbmcsIExPTkdFU1QgaSwgaW50IHR5cGVfbGVuLAotIAkgZW51bSBiZmRfZW5kaWFuIGJ5 dGVfb3JkZXIpCi0gewotICAgaWYgKHR5cGVfbGVuID09IDEpCi1AQCAtNDc1LDExICs0NzUsMTEg QEAgYWRhX3ByaW50X3NjYWxhciAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgdmFsLCBzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtKQotIAotIHN0YXRpYyB2b2lkCi0gcHJpbnRzdHIgKHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3Ry aW5nLAotLQkgIHVuc2lnbmVkIGludCBsZW5ndGgsIGludCBmb3JjZV9lbGxpcHNlcywgaW50IHR5 cGVfbGVuLAotKwkgIFVMT05HRVNUIGxlbmd0aCwgaW50IGZvcmNlX2VsbGlwc2VzLCBpbnQgdHlw ZV9sZW4sCi0gCSAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0g ewotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdl dF90eXBlX2FyY2ggKGVsdHR5cGUpKTsKLS0gIHVuc2lnbmVkIGludCBpOwotKyAgVUxPTkdFU1Qg aTsKLSAgIHVuc2lnbmVkIGludCB0aGluZ3NfcHJpbnRlZCA9IDA7Ci0gICBpbnQgaW5fcXVvdGVz ID0gMDsKLSAgIGludCBuZWVkX2NvbW1hID0gMDsKLUBAIC00OTQsOSArNDk0LDkgQEAgcHJpbnRz dHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICplbHR0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqc3RyaW5nLAotICAgICB7Ci0gICAgICAgLyogUG9zaXRpb24gb2YgdGhlIGNoYXJh Y3RlciB3ZSBhcmUgZXhhbWluaW5nCi0gICAgICAgICAgdG8gc2VlIHdoZXRoZXIgaXQgaXMgcmVw ZWF0ZWQuICAqLwotLSAgICAgIHVuc2lnbmVkIGludCByZXAxOwotKyAgICAgIFVMT05HRVNUIHJl cDE7Ci0gICAgICAgLyogTnVtYmVyIG9mIHJlcGV0aXRpb25zIHdlIGhhdmUgZGV0ZWN0ZWQgc28g ZmFyLiAgKi8KLS0gICAgICB1bnNpZ25lZCBpbnQgcmVwczsKLSsgICAgICBVTE9OR0VTVCByZXBz OwotIAotICAgICAgIFFVSVQ7Ci0gCi1AQCAtNTI3LDcgKzUyNyw4IEBAIHByaW50c3RyIChzdHJ1 Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwgY29uc3QgZ2RiX2J5dGUg KnN0cmluZywKLSAJICBhZGFfZW1pdF9jaGFyIChjaGFyX2F0IChzdHJpbmcsIGksIHR5cGVfbGVu LCBieXRlX29yZGVyKSwKLSAJCQkgZWx0dHlwZSwgc3RyZWFtLCAnXCcnLCB0eXBlX2xlbik7Ci0g CSAgZnB1dHNfZmlsdGVyZWQgKCInIiwgc3RyZWFtKTsKLS0JICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sIF8oIiA8cmVwZWF0cyAldSB0aW1lcz4iKSwgcmVwcyk7Ci0rCSAgZnByaW50Zl9maWx0 ZXJlZCAoc3RyZWFtLCBfKCIgPHJlcGVhdHMgJXMgdGltZXM+IiksCi0rCQkJICAgIHB1bG9uZ2Vz dCAocmVwcykpOwotIAkgIGkgPSByZXAxIC0gMTsKLSAJICB0aGluZ3NfcHJpbnRlZCArPSBvcHRp b25zLT5yZXBlYXRfY291bnRfdGhyZXNob2xkOwotIAkgIG5lZWRfY29tbWEgPSAxOwotQEAgLTU1 NSw3ICs1NTYsNyBAQCBwcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5 cGUgKmVsdHR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCi0gCi0gdm9pZAotIGFkYV9wcmlu dHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsCi0tCSAgICAg IGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGludCBsZW5ndGgsCi0rCSAgICAgIGNv bnN0IGdkYl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAgICAgY29uc3QgY2hh ciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotQEAgLTU2NSwxMiArNTY2LDEyIEBAIGFk YV9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5cGUgKnR5cGUsCi0g Ci0gc3RhdGljIGludAotIHByaW50X3ZhcmlhbnRfcGFydCAoc3RydWN0IHR5cGUgKnR5cGUsIGlu dCBmaWVsZF9udW0sCi0tCQkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGludCBvZmZzZXQs Ci0rCQkgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIExPTkdFU1Qgb2Zmc2V0LAotIAkJICAg IHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJICAgIHN0cnVjdCB2YWx1 ZSAqdmFsLAotIAkJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25z LAotIAkJICAgIGludCBjb21tYV9uZWVkZWQsCi0tCQkgICAgc3RydWN0IHR5cGUgKm91dGVyX3R5 cGUsIGludCBvdXRlcl9vZmZzZXQsCi0rCQkgICAgc3RydWN0IHR5cGUgKm91dGVyX3R5cGUsIExP TkdFU1Qgb3V0ZXJfb2Zmc2V0LAotIAkJICAgIGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICps YW5ndWFnZSkKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqdmFyX3R5cGUgPSBUWVBFX0ZJRUxEX1RZUEUg KHR5cGUsIGZpZWxkX251bSk7Ci1AQCAtNjA2LDExICs2MDcsMTEgQEAgcHJpbnRfdmFyaWFudF9w YXJ0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGZpZWxkX251bSwKLSAKLSBzdGF0aWMgaW50Ci0g cHJpbnRfZmllbGRfdmFsdWVzIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZh bGFkZHIsCi0tCQkgICAgaW50IG9mZnNldCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJl Y3Vyc2UsCi0rCQkgICAgTE9OR0VTVCBvZmZzZXQsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGlu dCByZWN1cnNlLAotIAkJICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJICAgIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotIAkJICAgIGludCBjb21tYV9uZWVkZWQs Ci0tCQkgICAgc3RydWN0IHR5cGUgKm91dGVyX3R5cGUsIGludCBvdXRlcl9vZmZzZXQsCi0rCQkg ICAgc3RydWN0IHR5cGUgKm91dGVyX3R5cGUsIExPTkdFU1Qgb3V0ZXJfb2Zmc2V0LAotIAkJICAg IGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5ndWFnZSkKLSB7Ci0gICBpbnQgaSwgbGVu OwotQEAgLTY3Niw3ICs2NzcsNyBAQCBwcmludF9maWVsZF92YWx1ZXMgKHN0cnVjdCB0eXBlICp0 eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAJICBlbHNlCi0gCSAgICB7Ci0gCSAgICAg IHN0cnVjdCB2YWx1ZSAqdjsKLS0JICAgICAgaW50IGJpdF9wb3MgPSBUWVBFX0ZJRUxEX0JJVFBP UyAodHlwZSwgaSk7Ci0rCSAgICAgIExPTkdFU1QgYml0X3BvcyA9IFRZUEVfRklFTERfQklUUE9T ICh0eXBlLCBpKTsKLSAJICAgICAgaW50IGJpdF9zaXplID0gVFlQRV9GSUVMRF9CSVRTSVpFICh0 eXBlLCBpKTsKLSAJICAgICAgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgb3B0czsKLSAKLUBA IC03MjEsOCArNzIyLDggQEAgYWRhX3ZhbF9wcmludF9zdHJpbmcgKHN0cnVjdCB0eXBlICp0eXBl LCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSB7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2V0X3R5cGVfYXJjaCAodHlwZSkpOwotICAgc3Ry dWN0IHR5cGUgKmVsdHR5cGUgPSBUWVBFX1RBUkdFVF9UWVBFICh0eXBlKTsKLS0gIHVuc2lnbmVk IGludCBlbHRsZW47Ci0tICB1bnNpZ25lZCBpbnQgbGVuOwotKyAgVUxPTkdFU1QgZWx0bGVuOwot KyAgVUxPTkdFU1QgbGVuOwotIAotICAgLyogV2Uga25vdyB0aGF0IEVMVFRZUEUgY2Fubm90IHBv c3NpYmx5IGJlIG51bGwsIGJlY2F1c2Ugd2UgYXNzdW1lCi0gICAgICB0aGF0IHdlJ3JlIGNhbGxl ZCBvbmx5IHdoZW4gVFlQRSBpcyBhIHN0cmluZy1saWtlIHR5cGUuCi1AQCAtNzQxLDcgKzc0Miw3 IEBAIGFkYV92YWxfcHJpbnRfc3RyaW5nIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5 dGUgKnZhbGFkZHIsCi0gICAgICBlbGVtZW50cyB1cCB0byBpdC4gICovCi0gICBpZiAob3B0aW9u cy0+c3RvcF9wcmludF9hdF9udWxsKQotICAgICB7Ci0tICAgICAgaW50IHRlbXBfbGVuOwotKyAg ICAgIExPTkdFU1QgdGVtcF9sZW47Ci0gCi0gICAgICAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIu ICAqLwotICAgICAgIGZvciAodGVtcF9sZW4gPSAwOwotQEAgLTExMTQsNyArMTExNSw3IEBAIGFk YV92YWxfcHJpbnRfcmVmIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFk ZHIsCi0gCi0gc3RhdGljIHZvaWQKLSBhZGFfdmFsX3ByaW50XzEgKHN0cnVjdCB0eXBlICp0eXBl LAotLQkJIGludCBvZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotKwkJIExPTkdFU1Qgb2Zmc2V0 LCBDT1JFX0FERFIgYWRkcmVzcywKLSAJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVj dXJzZSwKLSAJCSBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAotIAkJIGNvbnN0IHN0cnVj dCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTExOTgsNyArMTE5OSw3IEBAIGFk YV92YWxfcHJpbnRfMSAoc3RydWN0IHR5cGUgKnR5cGUsCi0gCi0gdm9pZAotIGFkYV92YWxfcHJp bnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkgICAgICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09S RV9BRERSIGFkZHJlc3MsCi0rCSAgICAgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9B RERSIGFkZHJlc3MsCi0gCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJz ZSwKLSAJICAgICAgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkgICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1kaWZmIC0tZ2l0IGEvZ2RiL2FtZDY0LXRkZXAu YyBiL2dkYi9hbWQ2NC10ZGVwLmMKLS0tLSBhL2dkYi9hbWQ2NC10ZGVwLmMKLSsrKyBiL2dkYi9h bWQ2NC10ZGVwLmMKLUBAIC03MzIsNyArNzMyLDcgQEAgYW1kNjRfcmV0dXJuX3ZhbHVlIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJCSAgICBnZGJf Ynl0ZSAqcmVhZGJ1ZiwgY29uc3QgZ2RiX2J5dGUgKndyaXRlYnVmKQotIHsKLSAgIGVudW0gYW1k NjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBl KTsKLSsgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotICAgc3RhdGljIGludCBp bnRlZ2VyX3JlZ251bVtdID0geyBBTUQ2NF9SQVhfUkVHTlVNLCBBTUQ2NF9SRFhfUkVHTlVNIH07 Ci0gICBzdGF0aWMgaW50IHNzZV9yZWdudW1bXSA9IHsgQU1ENjRfWE1NMF9SRUdOVU0sIEFNRDY0 X1hNTTFfUkVHTlVNIH07Ci0gICBpbnQgaW50ZWdlcl9yZWcgPSAwOwotQEAgLTg0OSwxMCArODQ5 LDEwIEBAIGFtZDY0X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVj dCB2YWx1ZSAqZnVuY3Rpb24sCi0gICAgICAgZ2RiX2Fzc2VydCAocmVnbnVtICE9IC0xKTsKLSAK LSAgICAgICBpZiAocmVhZGJ1ZikKLS0JcmVnY2FjaGUtPnJhd19yZWFkX3BhcnQgKHJlZ251bSwg b2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCA4KSwKLSsJcmVnY2FjaGUtPnJhd19yZWFkX3BhcnQgKHJl Z251bSwgb2Zmc2V0LCBzdGQ6Om1pbiAobGVuLCAoTE9OR0VTVCkgOCksCi0gCQkJCSByZWFkYnVm ICsgaSAqIDgpOwotICAgICAgIGlmICh3cml0ZWJ1ZikKLS0JcmVnY2FjaGUtPnJhd193cml0ZV9w YXJ0IChyZWdudW0sIG9mZnNldCwgc3RkOjptaW4gKGxlbiwgOCksCi0rCXJlZ2NhY2hlLT5yYXdf d3JpdGVfcGFydCAocmVnbnVtLCBvZmZzZXQsIHN0ZDo6bWluIChsZW4sIChMT05HRVNUKSA4KSwK LSAJCQkJICB3cml0ZWJ1ZiArIGkgKiA4KTsKLSAgICAgfQotIAotZGlmZiAtLWdpdCBhL2dkYi9h bm5vdGF0ZS5jIGIvZ2RiL2Fubm90YXRlLmMKLS0tLSBhL2dkYi9hbm5vdGF0ZS5jCi0rKysgYi9n ZGIvYW5ub3RhdGUuYwotQEAgLTUzMSwyMSArNTMxLDIxIEBAIGFubm90YXRlX2ZyYW1lX2VuZCAo dm9pZCkKLSB9Ci0gDAotIHZvaWQKLS1hbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2JlZ2luIChpbnQg aWR4LCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSkKLSthbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2JlZ2lu IChMT05HRVNUIGlkeCwgc3RydWN0IHR5cGUgKmVsdHR5cGUpCi0gewotICAgaWYgKGFubm90YXRp b25fbGV2ZWwgPT0gMikKLSAgICAgewotLSAgICAgIHByaW50Zl9maWx0ZXJlZCAoKCJcblwwMzJc MDMyYXJyYXktc2VjdGlvbi1iZWdpbiAlZCAiKSwgaWR4KTsKLSsgICAgICBwcmludGZfZmlsdGVy ZWQgKCgiXG5cMDMyXDAzMmFycmF5LXNlY3Rpb24tYmVnaW4gJXMgIiksIHBsb25nZXN0IChpZHgp KTsKLSAgICAgICBwcmludF92YWx1ZV9mbGFncyAoZWx0dHlwZSk7Ci0gICAgICAgcHJpbnRmX2Zp bHRlcmVkICgoIlxuIikpOwotICAgICB9Ci0gfQotIAotIHZvaWQKLS1hbm5vdGF0ZV9lbHRfcmVw ICh1bnNpZ25lZCBpbnQgcmVwY291bnQpCi0rYW5ub3RhdGVfZWx0X3JlcCAoVUxPTkdFU1QgcmVw Y291bnQpCi0gewotICAgaWYgKGFubm90YXRpb25fbGV2ZWwgPT0gMikKLS0gICAgcHJpbnRmX2Zp bHRlcmVkICgoIlxuXDAzMlwwMzJlbHQtcmVwICV1XG4iKSwgcmVwY291bnQpOwotKyAgICBwcmlu dGZfZmlsdGVyZWQgKCgiXG5cMDMyXDAzMmVsdC1yZXAgJXNcbiIpLCBwdWxvbmdlc3QgKHJlcGNv dW50KSk7Ci0gfQotIAotIHZvaWQKLWRpZmYgLS1naXQgYS9nZGIvYW5ub3RhdGUuaCBiL2dkYi9h bm5vdGF0ZS5oCi0tLS0gYS9nZGIvYW5ub3RhdGUuaAotKysrIGIvZ2RiL2Fubm90YXRlLmgKLUBA IC0xMDUsOCArMTA1LDggQEAgZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJhbWVfc291cmNlX2VuZCAo dm9pZCk7Ci0gZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZnJhbWVfd2hlcmUgKHZvaWQpOwotIGV4dGVy biB2b2lkIGFubm90YXRlX2ZyYW1lX2VuZCAodm9pZCk7Ci0gCi0tZXh0ZXJuIHZvaWQgYW5ub3Rh dGVfYXJyYXlfc2VjdGlvbl9iZWdpbiAoaW50LCBzdHJ1Y3QgdHlwZSAqKTsKLS1leHRlcm4gdm9p ZCBhbm5vdGF0ZV9lbHRfcmVwICh1bnNpZ25lZCBpbnQpOwotK2V4dGVybiB2b2lkIGFubm90YXRl X2FycmF5X3NlY3Rpb25fYmVnaW4gKExPTkdFU1QsIHN0cnVjdCB0eXBlICopOwotK2V4dGVybiB2 b2lkIGFubm90YXRlX2VsdF9yZXAgKFVMT05HRVNUKTsKLSBleHRlcm4gdm9pZCBhbm5vdGF0ZV9l bHRfcmVwX2VuZCAodm9pZCk7Ci0gZXh0ZXJuIHZvaWQgYW5ub3RhdGVfZWx0ICh2b2lkKTsKLSBl eHRlcm4gdm9pZCBhbm5vdGF0ZV9hcnJheV9zZWN0aW9uX2VuZCAodm9pZCk7Ci1kaWZmIC0tZ2l0 IGEvZ2RiL2FyY2gtdXRpbHMuYyBiL2dkYi9hcmNoLXV0aWxzLmMKLS0tLSBhL2dkYi9hcmNoLXV0 aWxzLmMKLSsrKyBiL2dkYi9hcmNoLXV0aWxzLmMKLUBAIC0yMjcsNyArMjI3LDcgQEAgbGVnYWN5 X3ZpcnR1YWxfZnJhbWVfcG9pbnRlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCi0gY29u c3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqCi0gZGVmYXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0tCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50 IGxlbikKLSsJCQkgICAgICBjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbikKLSB7Ci0gICBj b25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKipmb3JtYXQgPSBOVUxMOwotIAotZGlmZiAtLWdpdCBh L2dkYi9hcmNoLXV0aWxzLmggYi9nZGIvYXJjaC11dGlscy5oCi0tLS0gYS9nZGIvYXJjaC11dGls cy5oCi0rKysgYi9nZGIvYXJjaC11dGlscy5oCi1AQCAtMTMxLDcgKzEzMSw3IEBAIGV4dGVybiBn ZGJhcmNoX3ZpcnR1YWxfZnJhbWVfcG9pbnRlcl9mdHlwZSBsZWdhY3lfdmlydHVhbF9mcmFtZV9w b2ludGVyOwotIC8qIERlZmF1bHQgaW1wbGVtZW50YXRpb24gb2YgZ2RiYXJjaF9mbG9hdGZvcm1h dF9mb3JfdHlwZS4gICovCi0gZXh0ZXJuIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKgotICAg ZGVmYXVsdF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0t CQkJCWNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW4pOwotKwkJCQljb25zdCBjaGFyICpuYW1lLCBM T05HRVNUIGxlbik7Ci0gCi0gZXh0ZXJuIENPUkVfQUREUiBnZW5lcmljX3NraXBfdHJhbXBvbGlu ZV9jb2RlIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsCi0gCQkJCQkgICAgICAgQ09SRV9BRERS IHBjKTsKLWRpZmYgLS1naXQgYS9nZGIvYXJtLWxpbnV4LW5hdC5jIGIvZ2RiL2FybS1saW51eC1u YXQuYwotLS0tIGEvZ2RiL2FybS1saW51eC1uYXQuYwotKysrIGIvZ2RiL2FybS1saW51eC1uYXQu YwotQEAgLTEwOTIsNyArMTA5Miw3IEBAIGFybV9saW51eF9uYXRfdGFyZ2V0OjpyZW1vdmVfaHdf YnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gLyogQXJlIHdlIGFibGUgdG8g dXNlIGEgaGFyZHdhcmUgd2F0Y2hwb2ludCBmb3IgdGhlIExFTiBieXRlcyBzdGFydGluZyBhdCAK LSAgICBBRERSPyAgKi8KLSBpbnQKLS1hcm1fbGludXhfbmF0X3RhcmdldDo6cmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSthcm1fbGludXhfbmF0 X3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9O R0VTVCBsZW4pCi0gewotICAgY29uc3Qgc3RydWN0IGFybV9saW51eF9od2JwX2NhcCAqY2FwID0g YXJtX2xpbnV4X2dldF9od2JwX2NhcCAoKTsKLSAgIENPUkVfQUREUiBtYXhfd3BfbGVuZ3RoLCBh bGlnbmVkX2FkZHI7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2F4LWdkYi5jIGIvZ2RiL2F4LWdkYi5jCi0t LS0gYS9nZGIvYXgtZ2RiLmMKLSsrKyBiL2dkYi9heC1nZGIuYwotQEAgLTgyLDEyICs4MiwxMiBA QCBzdGF0aWMgdm9pZCBnZW5fdHJhY2VkX3BvcCAoc3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0 IGF4c192YWx1ZSAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fc2lnbl9leHRlbmQgKHN0cnVjdCBhZ2Vu dF9leHByICosIHN0cnVjdCB0eXBlICopOwotIHN0YXRpYyB2b2lkIGdlbl9leHRlbmQgKHN0cnVj dCBhZ2VudF9leHByICosIHN0cnVjdCB0eXBlICopOwotIHN0YXRpYyB2b2lkIGdlbl9mZXRjaCAo c3RydWN0IGFnZW50X2V4cHIgKiwgc3RydWN0IHR5cGUgKik7Ci0tc3RhdGljIHZvaWQgZ2VuX2xl ZnRfc2hpZnQgKHN0cnVjdCBhZ2VudF9leHByICosIGludCk7Ci0rc3RhdGljIHZvaWQgZ2VuX2xl ZnRfc2hpZnQgKHN0cnVjdCBhZ2VudF9leHByICosIExPTkdFU1QpOwotIAotIAotIHN0YXRpYyB2 b2lkIGdlbl9mcmFtZV9hcmdzX2FkZHJlc3MgKHN0cnVjdCBhZ2VudF9leHByICopOwotIHN0YXRp YyB2b2lkIGdlbl9mcmFtZV9sb2NhbHNfYWRkcmVzcyAoc3RydWN0IGFnZW50X2V4cHIgKik7Ci0t c3RhdGljIHZvaWQgZ2VuX29mZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBpbnQgb2Zmc2V0 KTsKLStzdGF0aWMgdm9pZCBnZW5fb2Zmc2V0IChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIExPTkdF U1Qgb2Zmc2V0KTsKLSBzdGF0aWMgdm9pZCBnZW5fc3ltX29mZnNldCAoc3RydWN0IGFnZW50X2V4 cHIgKiwgc3RydWN0IHN5bWJvbCAqKTsKLSBzdGF0aWMgdm9pZCBnZW5fdmFyX3JlZiAoc3RydWN0 IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLSAJCQkgc3RydWN0IHN5 bWJvbCAqdmFyKTsKLUBAIC0xMzIsMTMgKzEzMiwxMyBAQCBzdGF0aWMgdm9pZCBnZW5fY29tcGxl bWVudCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSk7Ci0g c3RhdGljIHZvaWQgZ2VuX2RlcmVmIChzdHJ1Y3QgYXhzX3ZhbHVlICopOwotIHN0YXRpYyB2b2lk IGdlbl9hZGRyZXNzX29mIChzdHJ1Y3QgYXhzX3ZhbHVlICopOwotIHN0YXRpYyB2b2lkIGdlbl9i aXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFs dWUsCi0tCQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIGludCBzdGFydCwgaW50IGVuZCk7Ci0r CQkJICAgICAgc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1Qgc3RhcnQsIExPTkdFU1QgZW5kKTsK LSBzdGF0aWMgdm9pZCBnZW5fcHJpbWl0aXZlX2ZpZWxkIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgs Ci0gCQkJCSBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLS0JCQkJIGludCBvZmZzZXQsIGludCBm aWVsZG5vLCBzdHJ1Y3QgdHlwZSAqdHlwZSk7Ci0rCQkJCSBMT05HRVNUIG9mZnNldCwgaW50IGZp ZWxkbm8sIHN0cnVjdCB0eXBlICp0eXBlKTsKLSBzdGF0aWMgaW50IGdlbl9zdHJ1Y3RfcmVmX3Jl Y3Vyc2l2ZSAoc3RydWN0IGFnZW50X2V4cHIgKmF4LAotIAkJCQkgICAgIHN0cnVjdCBheHNfdmFs dWUgKnZhbHVlLAotLQkJCQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBpbnQgb2Zmc2V0LAotKwkJ CQkgICAgIGNvbnN0IGNoYXIgKmZpZWxkLCBMT05HRVNUIG9mZnNldCwKLSAJCQkJICAgICBzdHJ1 Y3QgdHlwZSAqdHlwZSk7Ci0gc3RhdGljIHZvaWQgZ2VuX3N0cnVjdF9yZWYgKHN0cnVjdCBhZ2Vu dF9leHByICpheCwKLSAJCQkgICAgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCi1AQCAtNTI5LDcg KzUyOSw3IEBAIGdlbl9mZXRjaCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBzdHJ1Y3QgdHlwZSAq dHlwZSkKLSAgICByaWdodCBzaGlmdCBpdCBieSAtRElTVEFOQ0UgYml0cyBpZiBESVNUQU5DRSA8 IDAuICBUaGlzIGdlbmVyYXRlcwotICAgIHVuc2lnbmVkIChsb2dpY2FsKSByaWdodCBzaGlmdHMu ICAqLwotIHN0YXRpYyB2b2lkCi0tZ2VuX2xlZnRfc2hpZnQgKHN0cnVjdCBhZ2VudF9leHByICph eCwgaW50IGRpc3RhbmNlKQotK2dlbl9sZWZ0X3NoaWZ0IChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgs IExPTkdFU1QgZGlzdGFuY2UpCi0gewotICAgaWYgKGRpc3RhbmNlID4gMCkKLSAgICAgewotQEAg LTU4Myw3ICs1ODMsNyBAQCBnZW5fZnJhbWVfbG9jYWxzX2FkZHJlc3MgKHN0cnVjdCBhZ2VudF9l eHByICpheCkKLSAgICBwcm9ncmFtbWluZyBpbiBNTCwgaXQgd291bGQgYmUgY2xlYXJlciB3aHkg dGhlc2UgYXJlIHRoZSBzYW1lCi0gICAgdGhpbmcuICAqLwotIHN0YXRpYyB2b2lkCi0tZ2VuX29m ZnNldCAoc3RydWN0IGFnZW50X2V4cHIgKmF4LCBpbnQgb2Zmc2V0KQotK2dlbl9vZmZzZXQgKHN0 cnVjdCBhZ2VudF9leHByICpheCwgTE9OR0VTVCBvZmZzZXQpCi0gewotICAgLyogSXQgd291bGQg c3VmZmljZSB0byBzaW1wbHkgcHVzaCB0aGUgb2Zmc2V0IGFuZCBhZGQgaXQsIGJ1dCB0aGlzCi0g ICAgICBtYWtlcyBpdCBlYXNpZXIgdG8gcmVhZCBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgb2Zmc2V0 cyBpbiB0aGUKLUBAIC0xMjU0LDcgKzEyNTQsNyBAQCBnZW5fYWRkcmVzc19vZiAoc3RydWN0IGF4 c192YWx1ZSAqdmFsdWUpCi0gICAgc3RydWN0dXJlLiAgKi8KLSBzdGF0aWMgdm9pZAotIGdlbl9i aXRmaWVsZF9yZWYgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFs dWUsCi0tCQkgIHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgc3RhcnQsIGludCBlbmQpCi0rCQkgIHN0 cnVjdCB0eXBlICp0eXBlLCBMT05HRVNUIHN0YXJ0LCBMT05HRVNUICBlbmQpCi0gewotICAgLyog Tm90ZSB0aGF0IG9wc1tpXSBmZXRjaGVzIDggPDwgaSBiaXRzLiAgKi8KLSAgIHN0YXRpYyBlbnVt IGFnZW50X29wIG9wc1tdCi1AQCAtMTI4OSwxMyArMTI4OSwxMyBAQCBnZW5fYml0ZmllbGRfcmVm IChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotIAotICAg LyogVGhlIGZpcnN0IGFuZCBvbmUtYWZ0ZXItbGFzdCBiaXRzIGluIHRoZSBmaWVsZCwgYnV0IHJv dW5kZWQgZG93bgotICAgICAgYW5kIHVwIHRvIGJ5dGUgYm91bmRhcmllcy4gICovCi0tICBpbnQg Ym91bmRfc3RhcnQgPSAoc3RhcnQgLyBUQVJHRVRfQ0hBUl9CSVQpICogVEFSR0VUX0NIQVJfQklU OwotLSAgaW50IGJvdW5kX2VuZCA9ICgoKGVuZCArIFRBUkdFVF9DSEFSX0JJVCAtIDEpCi0tCQkg ICAgLyBUQVJHRVRfQ0hBUl9CSVQpCi0tCQkgICAqIFRBUkdFVF9DSEFSX0JJVCk7Ci0rICBMT05H RVNUIGJvdW5kX3N0YXJ0ID0gKHN0YXJ0IC8gVEFSR0VUX0NIQVJfQklUKSAqIFRBUkdFVF9DSEFS X0JJVDsKLSsgIExPTkdFU1QgYm91bmRfZW5kID0gKCgoZW5kICsgVEFSR0VUX0NIQVJfQklUIC0g MSkKLSsJCQkvIFRBUkdFVF9DSEFSX0JJVCkKLSsJCSAgICAgICAqIFRBUkdFVF9DSEFSX0JJVCk7 Ci0gCi0gICAvKiBjdXJyZW50IGJpdCBvZmZzZXQgd2l0aGluIHRoZSBzdHJ1Y3R1cmUgKi8KLS0g IGludCBvZmZzZXQ7Ci0rICBMT05HRVNUIG9mZnNldDsKLSAKLSAgIC8qIFRoZSBpbmRleCBpbiBv cHMgb2YgdGhlIG9wY29kZSB3ZSdyZSBjb25zaWRlcmluZy4gICovCi0gICBpbnQgb3A7Ci1AQCAt MTQxMyw3ICsxNDEzLDcgQEAgZ2VuX2JpdGZpZWxkX3JlZiAoc3RydWN0IGFnZW50X2V4cHIgKmF4 LCBzdHJ1Y3QgYXhzX3ZhbHVlICp2YWx1ZSwKLSAKLSBzdGF0aWMgdm9pZAotIGdlbl9wcmltaXRp dmVfZmllbGQgKHN0cnVjdCBhZ2VudF9leHByICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUs Ci0tCQkgICAgIGludCBvZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSsJ CSAgICAgTE9OR0VTVCBvZmZzZXQsIGludCBmaWVsZG5vLCBzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7 Ci0gICAvKiBJcyB0aGlzIGEgYml0ZmllbGQ/ICAqLwotICAgaWYgKFRZUEVfRklFTERfUEFDS0VE ICh0eXBlLCBmaWVsZG5vKSkKLUBAIC0xNDM3LDcgKzE0MzcsNyBAQCBnZW5fcHJpbWl0aXZlX2Zp ZWxkIChzdHJ1Y3QgYWdlbnRfZXhwciAqYXgsIHN0cnVjdCBheHNfdmFsdWUgKnZhbHVlLAotIAot IHN0YXRpYyBpbnQKLSBnZW5fc3RydWN0X3JlZl9yZWN1cnNpdmUgKHN0cnVjdCBhZ2VudF9leHBy ICpheCwgc3RydWN0IGF4c192YWx1ZSAqdmFsdWUsCi0tCQkJICBjb25zdCBjaGFyICpmaWVsZCwg aW50IG9mZnNldCwgc3RydWN0IHR5cGUgKnR5cGUpCi0rCQkJICBjb25zdCBjaGFyICpmaWVsZCwg TE9OR0VTVCBvZmZzZXQsIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLSAgIGludCBpLCByc2x0Owot ICAgaW50IG5iYXNlcyA9IFRZUEVfTl9CQVNFQ0xBU1NFUyAodHlwZSk7Ci1kaWZmIC0tZ2l0IGEv Z2RiL2F4LWdlbmVyYWwuYyBiL2dkYi9heC1nZW5lcmFsLmMKLS0tLSBhL2dkYi9heC1nZW5lcmFs LmMKLSsrKyBiL2dkYi9heC1nZW5lcmFsLmMKLUBAIC0xNzcsNyArMTc3LDcgQEAgYXhfemVyb19l eHQgKHN0cnVjdCBhZ2VudF9leHByICp4LCBpbnQgbikKLSAKLSAvKiBBcHBlbmQgYSB0cmFjZV9x dWljayBpbnN0cnVjdGlvbiB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCi0gdm9pZAot LWF4X3RyYWNlX3F1aWNrIChzdHJ1Y3QgYWdlbnRfZXhwciAqeCwgaW50IG4pCi0rYXhfdHJhY2Vf cXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICp4LCBMT05HRVNUIG4pCi0gewotICAgLyogTiBtdXN0 IGZpdCBpbiBhIGJ5dGUuICAqLwotICAgaWYgKG4gPCAwIHx8IG4gPiAyNTUpCi1kaWZmIC0tZ2l0 IGEvZ2RiL2F4LmggYi9nZGIvYXguaAotLS0tIGEvZ2RiL2F4LmgKLSsrKyBiL2dkYi9heC5oCi1A QCAtMTkzLDcgKzE5Myw3IEBAIGV4dGVybiB2b2lkIGF4X2V4dCAoc3RydWN0IGFnZW50X2V4cHIg KkVYUFIsIGludCBOKTsKLSBleHRlcm4gdm9pZCBheF96ZXJvX2V4dCAoc3RydWN0IGFnZW50X2V4 cHIgKkVYUFIsIGludCBOKTsKLSAKLSAvKiBBcHBlbmQgYSB0cmFjZV9xdWljayBpbnN0cnVjdGlv biB0byBFWFBSLCB0byByZWNvcmQgTiBieXRlcy4gICovCi0tZXh0ZXJuIHZvaWQgYXhfdHJhY2Vf cXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBpbnQgTik7Ci0rZXh0ZXJuIHZvaWQgYXhf dHJhY2VfcXVpY2sgKHN0cnVjdCBhZ2VudF9leHByICpFWFBSLCBMT05HRVNUIE4pOwotIAotIC8q IEFwcGVuZCBhIGdvdG8gb3AgdG8gRVhQUi4gIE9QIGlzIHRoZSBhY3R1YWwgb3AgKG11c3QgYmUg YW9wX2dvdG8gb3IKLSAgICBhb3BfaWZfZ290bykuICBXZSBhc3N1bWUgd2UgZG9uJ3Qga25vdyB0 aGUgdGFyZ2V0IG9mZnNldCB5ZXQsCi1kaWZmIC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuYyBiL2dk Yi9icmVha3BvaW50LmMKLS0tLSBhL2dkYi9icmVha3BvaW50LmMKLSsrKyBiL2dkYi9icmVha3Bv aW50LmMKLUBAIC0yMDU3LDkgKzIwNTcsOSBAQCBzaG91bGRfYmVfaW5zZXJ0ZWQgKHN0cnVjdCBi cF9sb2NhdGlvbiAqYmwpCi0gCXsKLSAJICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2cs Ci0gCQkJICAgICAgImluZnJ1bjogc3RlcHBpbmcgcGFzdCBub24tc3RlcHBhYmxlIHdhdGNocG9p bnQuICIKLS0JCQkgICAgICAic2tpcHBpbmcgd2F0Y2hwb2ludCBhdCAlczolZFxuIiwKLSsJCQkg ICAgICAic2tpcHBpbmcgd2F0Y2hwb2ludCBhdCAlczolc1xuIiwKLSAJCQkgICAgICBwYWRkcmVz cyAoYmwtPmdkYmFyY2gsIGJsLT5hZGRyZXNzKSwKLS0JCQkgICAgICBibC0+bGVuZ3RoKTsKLSsJ CQkgICAgICBwbG9uZ2VzdCAoYmwtPmxlbmd0aCkpOwotIAl9Ci0gICAgICAgcmV0dXJuIDA7Ci0g ICAgIH0KLUBAIC02ODAzLDcgKzY4MDMsNyBAQCBicmVha3BvaW50X2FkZHJlc3NfbWF0Y2ggKGNv bnN0IGFkZHJlc3Nfc3BhY2UgKmFzcGFjZTEsIENPUkVfQUREUiBhZGRyMSwKLSBzdGF0aWMgaW50 Ci0gYnJlYWtwb2ludF9hZGRyZXNzX21hdGNoX3JhbmdlIChjb25zdCBhZGRyZXNzX3NwYWNlICph c3BhY2UxLAotIAkJCQlDT1JFX0FERFIgYWRkcjEsCi0tCQkJCWludCBsZW4xLCBjb25zdCBhZGRy ZXNzX3NwYWNlICphc3BhY2UyLAotKwkJCQlMT05HRVNUIGxlbjEsIGNvbnN0IGFkZHJlc3Nfc3Bh Y2UgKmFzcGFjZTIsCi0gCQkJCUNPUkVfQUREUiBhZGRyMikKLSB7Ci0gICByZXR1cm4gKChnZGJh cmNoX2hhc19nbG9iYWxfYnJlYWtwb2ludHMgKHRhcmdldF9nZGJhcmNoICgpKQotQEAgLTEwODY5 LDcgKzEwODY5LDcgQEAgY2FuX3VzZV9oYXJkd2FyZV93YXRjaHBvaW50IChjb25zdCBzdGQ6OnZl Y3Rvcjx2YWx1ZV9yZWZfcHRyPiAmdmFscykKLSAJCSAgICAgICYmIFRZUEVfQ09ERSAodnR5cGUp ICE9IFRZUEVfQ09ERV9BUlJBWSkpCi0gCQl7Ci0gCQkgIENPUkVfQUREUiB2YWRkciA9IHZhbHVl X2FkZHJlc3MgKHYpOwotLQkJICBpbnQgbGVuOwotKwkJICBMT05HRVNUIGxlbjsKLSAJCSAgaW50 IG51bV9yZWdzOwotIAotIAkJICBsZW4gPSAodGFyZ2V0X2V4YWN0X3dhdGNocG9pbnRzCi1kaWZm IC0tZ2l0IGEvZ2RiL2JyZWFrcG9pbnQuaCBiL2dkYi9icmVha3BvaW50LmgKLS0tLSBhL2dkYi9i cmVha3BvaW50LmgKLSsrKyBiL2dkYi9icmVha3BvaW50LmgKLUBAIC0yNTIsNyArMjUyLDcgQEAg c3RydWN0IGJwX3RhcmdldF9pbmZvCi0gCi0gICAvKiBJZiB0aGlzIGlzIGEgcmFuZ2VkIGJyZWFr cG9pbnQsIHRoZW4gdGhpcyBmaWVsZCBjb250YWlucyB0aGUKLSAgICAgIGxlbmd0aCBvZiB0aGUg cmFuZ2UgdGhhdCB3aWxsIGJlIHdhdGNoZWQgZm9yIGV4ZWN1dGlvbi4gICovCi0tICBpbnQgbGVu Z3RoOwotKyAgTE9OR0VTVCBsZW5ndGg7Ci0gCi0gICAvKiBJZiB0aGUgYnJlYWtwb2ludCBsaXZl cyBpbiBtZW1vcnkgYW5kIHJlYWRpbmcgdGhhdCBtZW1vcnkgd291bGQKLSAgICAgIGdpdmUgYmFj ayB0aGUgYnJlYWtwb2ludCwgaW5zdGVhZCBvZiB0aGUgb3JpZ2luYWwgY29udGVudHMsIHRoZW4K LUBAIC00MTcsNyArNDE3LDcgQEAgcHVibGljOgotICAgLyogRm9yIGhhcmR3YXJlIHdhdGNocG9p bnRzLCB0aGUgc2l6ZSBvZiB0aGUgbWVtb3J5IHJlZ2lvbiBiZWluZwotICAgICAgd2F0Y2hlZC4g IEZvciBoYXJkd2FyZSByYW5nZWQgYnJlYWtwb2ludHMsIHRoZSBzaXplIG9mIHRoZQotICAgICAg YnJlYWtwb2ludCByYW5nZS4gICovCi0tICBpbnQgbGVuZ3RoID0gMDsKLSsgIExPTkdFU1QgbGVu Z3RoID0gMDsKLSAKLSAgIC8qIFR5cGUgb2YgaGFyZHdhcmUgd2F0Y2hwb2ludC4gICovCi0gICB0 YXJnZXRfaHdfYnBfdHlwZSB3YXRjaHBvaW50X3R5cGUge307Ci1kaWZmIC0tZ2l0IGEvZ2RiL2Mt bGFuZy5jIGIvZ2RiL2MtbGFuZy5jCi0tLS0gYS9nZGIvYy1sYW5nLmMKLSsrKyBiL2dkYi9jLWxh bmcuYwotQEAgLTE4NSw3ICsxODUsNyBAQCBjX3ByaW50Y2hhciAoaW50IGMsIHN0cnVjdCB0eXBl ICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIAotIHZvaWQKLSBjX3ByaW50c3RyIChz dHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCi0tCSAgICBjb25zdCBn ZGJfYnl0ZSAqc3RyaW5nLCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCAKLSsJICAgIGNvbnN0IGdkYl9i eXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAgIGNvbnN0IGNoYXIgKnVzZXJfZW5j b2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICpvcHRpb25zKQotIHsKLUBAIC02NjQsNyArNjY0LDcgQEAgZXZhbHVhdGVfc3Vi ZXhwX2MgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwgc3RydWN0IGV4cHJlc3Npb24gKmV4cCwK LSAJICB9Ci0gCWVsc2UKLSAJICB7Ci0tCSAgICBpbnQgaTsKLSsJICAgIExPTkdFU1QgaTsKLSAK LSAJICAgIC8qIFdyaXRlIHRoZSB0ZXJtaW5hdGluZyBjaGFyYWN0ZXIuICAqLwotIAkgICAgZm9y IChpID0gMDsgaSA8IFRZUEVfTEVOR1RIICh0eXBlKTsgKytpKQotQEAgLTY3Myw3ICs2NzMsNyBA QCBldmFsdWF0ZV9zdWJleHBfYyAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLCBzdHJ1Y3QgZXhw cmVzc2lvbiAqZXhwLAotIAkgICAgaWYgKHNhdGlzZnlfZXhwZWN0ZWQpCi0gCSAgICAgIHsKLSAJ CUxPTkdFU1QgbG93X2JvdW5kLCBoaWdoX2JvdW5kOwotLQkJaW50IGVsZW1lbnRfc2l6ZSA9IFRZ UEVfTEVOR1RIICh0eXBlKTsKLSsJCUxPTkdFU1QgZWxlbWVudF9zaXplID0gVFlQRV9MRU5HVEgg KHR5cGUpOwotIAotIAkJaWYgKGdldF9kaXNjcmV0ZV9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAo ZXhwZWN0X3R5cGUpLAotIAkJCQkJICZsb3dfYm91bmQsICZoaWdoX2JvdW5kKSA8IDApCi1kaWZm IC0tZ2l0IGEvZ2RiL2MtbGFuZy5oIGIvZ2RiL2MtbGFuZy5oCi0tLS0gYS9nZGIvYy1sYW5nLmgK LSsrKyBiL2dkYi9jLWxhbmcuaAotQEAgLTgyLDcgKzgyLDcgQEAgZXh0ZXJuIHZvaWQgY19wcmlu dF90eXBlZGVmIChzdHJ1Y3QgdHlwZSAqLAotIAkJCSAgICAgc3RydWN0IHVpX2ZpbGUgKik7Ci0g Ci0gZXh0ZXJuIHZvaWQgY192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosCi0tCQkJIGludCwgQ09S RV9BRERSLAotKwkJCSBMT05HRVNULCBDT1JFX0FERFIsCi0gCQkJIHN0cnVjdCB1aV9maWxlICos IGludCwKLSAJCQkgc3RydWN0IHZhbHVlICosCi0gCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmlu dF9vcHRpb25zICopOwotQEAgLTEwMiw3ICsxMDIsNyBAQCBleHRlcm4gdm9pZCBjX3ByaW50Y2hh ciAoaW50LCBzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdWlfZmlsZSAqKTsKLSBleHRlcm4gdm9pZCBj X3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqIHN0cmVhbSwKLSAJCQlzdHJ1Y3QgdHlwZSAqZWx0 dHlwZSwKLSAJCQljb25zdCBnZGJfYnl0ZSAqc3RyaW5nLAotLQkJCXVuc2lnbmVkIGludCBsZW5n dGgsCi0rCQkJVUxPTkdFU1QgbGVuZ3RoLAotIAkJCWNvbnN0IGNoYXIgKnVzZXJfZW5jb2Rpbmcs Ci0gCQkJaW50IGZvcmNlX2VsbGlwc2VzLAotIAkJCWNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKTsKLWRpZmYgLS1naXQgYS9nZGIvYy12YWxwcmludC5jIGIvZ2RiL2Mt dmFscHJpbnQuYwotLS0tIGEvZ2RiL2MtdmFscHJpbnQuYwotKysrIGIvZ2RiL2MtdmFscHJpbnQu YwotQEAgLTI0Nyw3ICsyNDcsNyBAQCBjX3ZhbF9wcmludF9hcnJheSAoc3RydWN0IHR5cGUgKnR5 cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotICAgaWYgKFRZUEVfTEVOR1RIICh0eXBlKSA+ IDAgJiYgVFlQRV9MRU5HVEggKHVucmVzb2x2ZWRfZWx0dHlwZSkgPiAwKQotICAgICB7Ci0gICAg ICAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQ7Ci0tICAgICAgaW50IGVsdGxlbiwgbGVu OwotKyAgICAgIExPTkdFU1QgZWx0bGVuLCBsZW47Ci0gICAgICAgc3RydWN0IGdkYmFyY2ggKmdk YmFyY2ggPSBnZXRfdHlwZV9hcmNoICh0eXBlKTsKLSAgICAgICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICAgICAgdW5zaWduZWQg aW50IGkgPSAwOwkvKiBOdW1iZXIgb2YgY2hhcmFjdGVycyBwcmludGVkLiAgKi8KLUBAIC0zMjEs OCArMzIxLDggQEAgY192YWxfcHJpbnRfYXJyYXkgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBn ZGJfYnl0ZSAqdmFsYWRkciwKLSAJICBpZiAoY3BfaXNfdnRibF9wdHJfdHlwZSAoZWx0dHlwZSkp Ci0gCSAgICB7Ci0gCSAgICAgIGkgPSAxOwotLQkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sIF8oIiVkIHZ0YWJsZSBlbnRyaWVzIiksCi0tCQkJCWxlbiAtIDEpOwotKwkgICAgICBmcHJp bnRmX2ZpbHRlcmVkIChzdHJlYW0sIF8oIiVzIHZ0YWJsZSBlbnRyaWVzIiksCi0rCQkJCXBsb25n ZXN0IChsZW4gLSAxKSk7Ci0gCSAgICB9Ci0gCSAgZWxzZQotIAkgICAgewotQEAgLTM5OSw3ICsz OTksNyBAQCBjX3ZhbF9wcmludF9zdHJ1Y3QgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKLSAJIC1mdnRhYmxlX3RodW5rcy4gIChPdGhlcndpc2UsIGxvb2sgdW5k ZXIKLSAJIFRZUEVfQ09ERV9QVFIuKSAgKi8KLSAgICAgICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCA9IGdldF90eXBlX2FyY2ggKHR5cGUpOwotLSAgICAgIGludCBvZmZzZXQgPSAoZW1iZWRkZWRf b2Zmc2V0Ci0rICAgICAgTE9OR0VTVCBvZmZzZXQgPSAoZW1iZWRkZWRfb2Zmc2V0Ci0gCQkgICAg KyBUWVBFX0ZJRUxEX0JJVFBPUyAodHlwZSwKLSAJCQkJCSBWVEJMX0ZOQUREUl9PRkZTRVQpIC8g OCk7Ci0gICAgICAgc3RydWN0IHR5cGUgKmZpZWxkX3R5cGUgPSBUWVBFX0ZJRUxEX1RZUEUgKHR5 cGUsIFZUQkxfRk5BRERSX09GRlNFVCk7Ci1AQCAtNDk4LDcgKzQ5OCw3IEBAIGNfdmFsX3ByaW50 X21lbWJlcnB0ciAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAot IAotIHZvaWQKLSBjX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCSAgICAgaW50IGVt YmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCSAgICAgTE9OR0VTVCBlbWJlZGRl ZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotIAkgICAgIHN0cnVjdCB1aV9maWxlICpzdHJl YW0sIGludCByZWN1cnNlLAotIAkgICAgIHN0cnVjdCB2YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCi0g CSAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi1kaWZmIC0t Z2l0IGEvZ2RiL2NvbXBpbGUvY29tcGlsZS1jLXN1cHBvcnQuYyBiL2dkYi9jb21waWxlL2NvbXBp bGUtYy1zdXBwb3J0LmMKLS0tLSBhL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLSsr KyBiL2dkYi9jb21waWxlL2NvbXBpbGUtYy1zdXBwb3J0LmMKLUBAIC0yNzAsMTEgKzI3MCwxMSBA QCBnZW5lcmF0ZV9yZWdpc3Rlcl9zdHJ1Y3QgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAotIAotIAkgICAgICBkZWZhdWx0OgotIAkJZnByaW50Zl91bmZp bHRlcmVkIChzdHJlYW0sCi0tCQkJCSAgICAiICB1bnNpZ25lZCBjaGFyICVzWyVkXSIKLSsJCQkJ ICAgICIgIHVuc2lnbmVkIGNoYXIgJXNbJXNdIgotIAkJCQkgICAgIiBfX2F0dHJpYnV0ZV9fKChf X2FsaWduZWRfXygiCi0gCQkJCSAgICAiX19CSUdHRVNUX0FMSUdOTUVOVF9fKSkpIiwKLSAJCQkJ ICAgIHJlZ25hbWUuY19zdHIgKCksCi0tCQkJCSAgICBUWVBFX0xFTkdUSCAocmVndHlwZSkpOwot KwkJCQkgICAgcHVsb25nZXN0IChUWVBFX0xFTkdUSCAocmVndHlwZSkpKTsKLSAJICAgICAgfQot IAkgICAgZnB1dHNfdW5maWx0ZXJlZCAoIjtcbiIsIHN0cmVhbSk7Ci0gCSAgfQotZGlmZiAtLWdp dCBhL2dkYi9jcC1hYmkuYyBiL2dkYi9jcC1hYmkuYwotLS0tIGEvZ2RiL2NwLWFiaS5jCi0rKysg Yi9nZGIvY3AtYWJpLmMKLUBAIC02NCwxMiArNjQsMTIgQEAgaXNfb3BlcmF0b3JfbmFtZSAoY29u c3QgY2hhciAqbmFtZSkKLSAgIHJldHVybiAoKmN1cnJlbnRfY3BfYWJpLmlzX29wZXJhdG9yX25h bWUpIChuYW1lKTsKLSB9Ci0gCi0taW50Ci0rTE9OR0VTVAotIGJhc2VjbGFzc19vZmZzZXQgKHN0 cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotIAkJ ICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkgIGNvbnN0 IHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsKLS0gIGludCByZXMgPSAwOwotKyAgTE9OR0VTVCByZXMg PSAwOwotIAotICAgZ2RiX2Fzc2VydCAoY3VycmVudF9jcF9hYmkuYmFzZWNsYXNzX29mZnNldCAh PSBOVUxMKTsKLSAKLUBAIC05Niw3ICs5Niw3IEBAIGJhc2VjbGFzc19vZmZzZXQgKHN0cnVjdCB0 eXBlICp0eXBlLCBpbnQgaW5kZXgsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotIHN0cnVjdCB2 YWx1ZSAqCi0gdmFsdWVfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsCi0g CQkJc3RydWN0IGZuX2ZpZWxkICpmLCBpbnQgaiwKLS0JCQlzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50 IG9mZnNldCkKLSsJCQlzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBvZmZzZXQpCi0gewotICAg aWYgKChjdXJyZW50X2NwX2FiaS52aXJ0dWFsX2ZuX2ZpZWxkKSA9PSBOVUxMKQotICAgICByZXR1 cm4gTlVMTDsKLWRpZmYgLS1naXQgYS9nZGIvY3AtYWJpLmggYi9nZGIvY3AtYWJpLmgKLS0tLSBh L2dkYi9jcC1hYmkuaAotKysrIGIvZ2RiL2NwLWFiaS5oCi1AQCAtMTA4LDcgKzEwOCw3IEBAIGV4 dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3ZpcnR1YWxfZm5fZmllbGQgKHN0cnVjdCB2YWx1ZSAq KnZhbHVlcCwKLSAJCQkJCSAgICAgc3RydWN0IGZuX2ZpZWxkICpmLAotIAkJCQkJICAgICBpbnQg aiwKLSAJCQkJCSAgICAgc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJCQkgICAgIGludCBvZmZzZXQp OwotKwkJCQkJICAgICBMT05HRVNUIG9mZnNldCk7Ci0gCi0gCi0gLyogVHJ5IHRvIGZpbmQgdGhl IHJ1bi10aW1lIHR5cGUgb2YgVkFMVUUsIHVzaW5nIEMrKyBydW4tdGltZSB0eXBlCi1AQCAtMTQ0 LDExICsxNDQsMTEgQEAgZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRpX3R5cGUgKHN0cnVj dCB2YWx1ZSAqdmFsdWUsCi0gICAgY29udGVudHMgb2YgVkFMLiAgVGhlIHJlc3VsdCBpcyB0aGUg b2Zmc2V0IG9mIHRoZSBiYXNlY2xhc3MgdmFsdWUKLSAgICByZWxhdGl2ZSB0byAodGhlIGFkZHJl c3Mgb2YpKEFSRykgKyBPRkZTRVQuICAqLwotIAotLWV4dGVybiBpbnQgYmFzZWNsYXNzX29mZnNl dCAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJICAgICBpbnQgaW5kZXgsIGNvbnN0IGdkYl9ieXRl ICp2YWxhZGRyLAotLQkJCSAgICAgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0tCQkJICAgICBD T1JFX0FERFIgYWRkcmVzcywKLS0JCQkgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKTsKLStl eHRlcm4gTE9OR0VTVCBiYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSsJCQkJ IGludCBpbmRleCwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0rCQkJCSBMT05HRVNUIGVtYmVk ZGVkX29mZnNldCwKLSsJCQkJIENPUkVfQUREUiBhZGRyZXNzLAotKwkJCQkgY29uc3Qgc3RydWN0 IHZhbHVlICp2YWwpOwotIAotIC8qIERlc2NyaWJlIHRoZSB0YXJnZXQgb2YgYSBwb2ludGVyIHRv IG1ldGhvZC4gIENPTlRFTlRTIGlzIHRoZSBieXRlCi0gICAgcGF0dGVybiByZXByZXNlbnRpbmcg dGhlIHBvaW50ZXIgdG8gbWV0aG9kLiAgVFlQRSBpcyB0aGUgcG9pbnRlciB0bwotQEAgLTIyNiwx MiArMjI2LDEyIEBAIHN0cnVjdCBjcF9hYmlfb3BzCi0gICBzdHJ1Y3QgdmFsdWUgKigqdmlydHVh bF9mbl9maWVsZCkgKHN0cnVjdCB2YWx1ZSAqKmFyZzFwLAotIAkJCQkgICAgIHN0cnVjdCBmbl9m aWVsZCAqIGYsCi0gCQkJCSAgICAgaW50IGosIHN0cnVjdCB0eXBlICogdHlwZSwKLS0JCQkJICAg ICBpbnQgb2Zmc2V0KTsKLSsJCQkJICAgICBMT05HRVNUIG9mZnNldCk7Ci0gICBzdHJ1Y3QgdHlw ZSAqKCpydHRpX3R5cGUpIChzdHJ1Y3QgdmFsdWUgKnYsIGludCAqZnVsbCwKLSAJCQkgICAgIExP TkdFU1QgKnRvcCwgaW50ICp1c2luZ19lbmMpOwotLSAgaW50ICgqYmFzZWNsYXNzX29mZnNldCkg KHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0tCQkJICAgY29uc3QgYmZkX2J5dGUgKnZh bGFkZHIsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotLQkJCSAgIENPUkVfQUREUiBhZGRyZXNz LCBjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbCk7Ci0rICBMT05HRVNUICgqYmFzZWNsYXNzX29mZnNl dCkgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0rCQkJICAgICAgIGNvbnN0IGJmZF9i eXRlICp2YWxhZGRyLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSsJCQkgICAgICAgQ09SRV9B RERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKTsKLSAgIHZvaWQgKCpwcmludF9t ZXRob2RfcHRyKSAoY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzLAotIAkJCSAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSwKLSAJCQkgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSk7Ci1kaWZmIC0tZ2l0IGEv Z2RiL2NwLXZhbHByaW50LmMgYi9nZGIvY3AtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2NwLXZhbHBy aW50LmMKLSsrKyBiL2dkYi9jcC12YWxwcmludC5jCi1AQCAtMzM1LDcgKzMzNSw3IEBAIGNwX3By aW50X3ZhbHVlX2ZpZWxkcyAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB0eXBlICpyZWFsX3R5 cGUsCi0gCQl9Ci0gCSAgICAgIGVsc2UgaWYgKGkgPT0gdnB0cl9maWVsZG5vICYmIHR5cGUgPT0g dnB0cl9iYXNldHlwZSkKLSAJCXsKLS0JCSAgaW50IGlfb2Zmc2V0ID0gb2Zmc2V0ICsgVFlQRV9G SUVMRF9CSVRQT1MgKHR5cGUsIGkpIC8gODsKLSsJCSAgTE9OR0VTVCBpX29mZnNldCA9IG9mZnNl dCArIFRZUEVfRklFTERfQklUUE9TICh0eXBlLCBpKSAvIDg7Ci0gCQkgIHN0cnVjdCB0eXBlICpp X3R5cGUgPSBUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpOwotIAotIAkJICBpZiAodmFscHJpbnRf Y2hlY2tfdmFsaWRpdHkgKHN0cmVhbSwgaV90eXBlLCBpX29mZnNldCwgdmFsKSkKLWRpZmYgLS1n aXQgYS9nZGIvZC1sYW5nLmggYi9nZGIvZC1sYW5nLmgKLS0tLSBhL2dkYi9kLWxhbmcuaAotKysr IGIvZ2RiL2QtbGFuZy5oCi1AQCAtNzksNyArNzksNyBAQCBleHRlcm4gc3RydWN0IGJsb2NrX3N5 bWJvbCBkX2xvb2t1cF9uZXN0ZWRfc3ltYm9sIChzdHJ1Y3QgdHlwZSAqLCBjb25zdCBjaGFyICos Ci0gLyogRGVmaW5lZCBpbiBkLXZhbHByaW50LmMgICovCi0gCi0gZXh0ZXJuIHZvaWQgZF92YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkJCSBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JF X0FERFIgYWRkcmVzcywKLSsJCQkgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBh ZGRyZXNzLAotIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCQkg c3RydWN0IHZhbHVlICp2YWwsCi0gCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25z ICpvcHRpb25zKTsKLWRpZmYgLS1naXQgYS9nZGIvZC12YWxwcmludC5jIGIvZ2RiL2QtdmFscHJp bnQuYwotLS0tIGEvZ2RiL2QtdmFscHJpbnQuYwotKysrIGIvZ2RiL2QtdmFscHJpbnQuYwotQEAg LTczLDcgKzczLDcgQEAgZHluYW1pY19hcnJheV90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAK LSAvKiBJbXBsZW1lbnRzIHRoZSBsYV92YWxfcHJpbnQgcm91dGluZSBmb3IgbGFuZ3VhZ2UgRC4g ICovCi0gdm9pZAotLWRfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGVtYmVkZGVk X29mZnNldCwKLStkX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRk ZWRfb2Zmc2V0LAotICAgICAgICAgICAgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2Zp bGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCSAgICAgc3RydWN0IHZhbHVlICp2YWwsCi0gICAg ICAgICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotZGlm ZiAtLWdpdCBhL2dkYi9kd2FyZjJsb2MuYyBiL2dkYi9kd2FyZjJsb2MuYwotLS0tIGEvZ2RiL2R3 YXJmMmxvYy5jCi0rKysgYi9nZGIvZHdhcmYybG9jLmMKLUBAIC0xNjI0LDcgKzE2MjQsNyBAQCBy d19waWVjZWRfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdiwgc3RydWN0IHZhbHVlICpmcm9tKQotICAg Zm9yICg7IGkgPCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBvZmZzZXQgPCBtYXhfb2Zmc2V0OyBpKysp Ci0gICAgIHsKLSAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNb aV07Ci0tICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzLCB0aGlzX3NpemU7Ci0rICAgICAgVUxP TkdFU1QgdGhpc19zaXplX2JpdHMsIHRoaXNfc2l6ZTsKLSAKLSAgICAgICB0aGlzX3NpemVfYml0 cyA9IHAtPnNpemUgLSBiaXRzX3RvX3NraXA7Ci0gICAgICAgaWYgKHRoaXNfc2l6ZV9iaXRzID4g bWF4X29mZnNldCAtIG9mZnNldCkKLUBAIC0xODcxLDcgKzE4NzEsNyBAQCB3cml0ZV9waWVjZWRf dmFsdWUgKHN0cnVjdCB2YWx1ZSAqdG8sIHN0cnVjdCB2YWx1ZSAqZnJvbSkKLSAKLSBzdGF0aWMg aW50Ci0gY2hlY2tfcGllY2VkX3N5bnRoZXRpY19wb2ludGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUg KnZhbHVlLCBMT05HRVNUIGJpdF9vZmZzZXQsCi0tCQkJCWludCBiaXRfbGVuZ3RoKQotKwkJCQlM T05HRVNUIGJpdF9sZW5ndGgpCi0gewotICAgc3RydWN0IHBpZWNlX2Nsb3N1cmUgKmMKLSAgICAg PSAoc3RydWN0IHBpZWNlX2Nsb3N1cmUgKikgdmFsdWVfY29tcHV0ZWRfY2xvc3VyZSAodmFsdWUp OwotQEAgLTE4ODQsNyArMTg4NCw3IEBAIGNoZWNrX3BpZWNlZF9zeW50aGV0aWNfcG9pbnRlciAo Y29uc3Qgc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VTVCBiaXRfb2Zmc2V0LAotICAgZm9yIChp ID0gMDsgaSA8IGMtPnBpZWNlcy5zaXplICgpICYmIGJpdF9sZW5ndGggPiAwOyBpKyspCi0gICAg IHsKLSAgICAgICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcCA9ICZjLT5waWVjZXNbaV07Ci0t ICAgICAgc2l6ZV90IHRoaXNfc2l6ZV9iaXRzID0gcC0+c2l6ZTsKLSsgICAgICBVTE9OR0VTVCB0 aGlzX3NpemVfYml0cyA9IHAtPnNpemU7Ci0gCi0gICAgICAgaWYgKGJpdF9vZmZzZXQgPiAwKQot IAl7Ci1AQCAtMTk4OCw4ICsxOTg4LDggQEAgaW5kaXJlY3RfcGllY2VkX3ZhbHVlIChzdHJ1Y3Qg dmFsdWUgKnZhbHVlKQotICAgICA9IChzdHJ1Y3QgcGllY2VfY2xvc3VyZSAqKSB2YWx1ZV9jb21w dXRlZF9jbG9zdXJlICh2YWx1ZSk7Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZTsKLSAgIHN0cnVjdCBm cmFtZV9pbmZvICpmcmFtZTsKLS0gIGludCBpLCBiaXRfbGVuZ3RoOwotLSAgTE9OR0VTVCBiaXRf b2Zmc2V0OwotKyAgaW50IGk7Ci0rICBMT05HRVNUIGJpdF9sZW5ndGgsIGJpdF9vZmZzZXQ7Ci0g ICBzdHJ1Y3QgZHdhcmZfZXhwcl9waWVjZSAqcGllY2UgPSBOVUxMOwotICAgTE9OR0VTVCBieXRl X29mZnNldDsKLSAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVyOwotQEAgLTIwMDYsNyArMjAw Niw3IEBAIGluZGlyZWN0X3BpZWNlZF92YWx1ZSAoc3RydWN0IHZhbHVlICp2YWx1ZSkKLSAgIGZv ciAoaSA9IDA7IGkgPCBjLT5waWVjZXMuc2l6ZSAoKSAmJiBiaXRfbGVuZ3RoID4gMDsgaSsrKQot ICAgICB7Ci0gICAgICAgc3RydWN0IGR3YXJmX2V4cHJfcGllY2UgKnAgPSAmYy0+cGllY2VzW2ld OwotLSAgICAgIHNpemVfdCB0aGlzX3NpemVfYml0cyA9IHAtPnNpemU7Ci0rICAgICAgVUxPTkdF U1QgdGhpc19zaXplX2JpdHMgPSBwLT5zaXplOwotIAotICAgICAgIGlmIChiaXRfb2Zmc2V0ID4g MCkKLSAJewotQEAgLTIyOTUsOSArMjI5NSw5IEBAIGlmIChmcmFtZSAhPSBOVUxMKSBzZWxlY3Rf ZnJhbWUgKGZyYW1lKTsKLSAJY2FzZSBEV0FSRl9WQUxVRV9TVEFDSzoKLSAJICB7Ci0gCSAgICBz dHJ1Y3QgdmFsdWUgKnZhbHVlID0gY3R4LmZldGNoICgwKTsKLS0JICAgIHNpemVfdCBuID0gVFlQ RV9MRU5HVEggKHZhbHVlX3R5cGUgKHZhbHVlKSk7Ci0tCSAgICBzaXplX3QgbGVuID0gVFlQRV9M RU5HVEggKHN1Ym9ial90eXBlKTsKLS0JICAgIHNpemVfdCBtYXggPSBUWVBFX0xFTkdUSCAodHlw ZSk7Ci0rCSAgICBVTE9OR0VTVCBuID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKHZhbHVlKSk7 Ci0rCSAgICBVTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAoc3Vib2JqX3R5cGUpOwotKwkgICAg VUxPTkdFU1QgbWF4ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAkgICAgc3RydWN0IGdkYmFyY2gg Km9iamZpbGVfZ2RiYXJjaCA9IGdldF9vYmpmaWxlX2FyY2ggKG9iamZpbGUpOwotIAotIAkgICAg aWYgKHN1Ym9ial9ieXRlX29mZnNldCArIGxlbiA+IG1heCkKLWRpZmYgLS1naXQgYS9nZGIvZHdh cmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwotLS0tIGEvZ2RiL2R3YXJmMnJlYWQuYwotKysr IGIvZ2RiL2R3YXJmMnJlYWQuYwotQEAgLTIwNjQsMTEgKzIwNjQsMTEgQEAgZHdhcmYyX2NvbXBs ZXhfbG9jYXRpb25fZXhwcl9jb21wbGFpbnQgKHZvaWQpCi0gfQotIAotIHN0YXRpYyB2b2lkCi0t ZHdhcmYyX2NvbnN0X3ZhbHVlX2xlbmd0aF9taXNtYXRjaF9jb21wbGFpbnQgKGNvbnN0IGNoYXIg KmFyZzEsIGludCBhcmcyLAotLQkJCQkJICAgICAgaW50IGFyZzMpCi0rZHdhcmYyX2NvbnN0X3Zh bHVlX2xlbmd0aF9taXNtYXRjaF9jb21wbGFpbnQgKGNvbnN0IGNoYXIgKmFyZzEsIExPTkdFU1Qg YXJnMiwKLSsJCQkJCSAgICAgIExPTkdFU1QgYXJnMykKLSB7Ci0tICBjb21wbGFpbnQgKF8oImNv bnN0IHZhbHVlIGxlbmd0aCBtaXNtYXRjaCBmb3IgJyVzJywgZ290ICVkLCBleHBlY3RlZCAlZCIp LAotLQkgICAgIGFyZzEsIGFyZzIsIGFyZzMpOwotKyAgY29tcGxhaW50IChfKCJjb25zdCB2YWx1 ZSBsZW5ndGggbWlzbWF0Y2ggZm9yICclcycsIGdvdCAlcywgZXhwZWN0ZWQgJXMiKSwKLSsJICAg ICBhcmcxLCBwbG9uZ2VzdCAoYXJnMiksIHBsb25nZXN0IChhcmczKSk7Ci0gfQotIAotIHN0YXRp YyB2b2lkCi1AQCAtMTUxMDMsOCArMTUxMDMsOCBAQCBkd2FyZjJfYWRkX2ZpZWxkIChzdHJ1Y3Qg ZmllbGRfaW5mbyAqZmlwLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKLSAJICAgICAgICAgb2JqZWN0 LCBhbmQgdGhlbiBzdWJ0cmFjdCBvZmYgdGhlIG51bWJlciBvZiBiaXRzIG9mCi0gCSAgICAgICAg IHRoZSBmaWVsZCBpdHNlbGYuICBUaGUgcmVzdWx0IGlzIHRoZSBiaXQgb2Zmc2V0IG9mCi0gCSAg ICAgICAgIHRoZSBMU0Igb2YgdGhlIGZpZWxkLiAgKi8KLS0JICAgICAgaW50IGFub255bW91c19z aXplOwotLQkgICAgICBpbnQgYml0X29mZnNldCA9IERXX1VOU05EIChhdHRyKTsKLSsJICAgICAg TE9OR0VTVCBhbm9ueW1vdXNfc2l6ZTsKLSsJICAgICAgTE9OR0VTVCBiaXRfb2Zmc2V0ID0gRFdf VU5TTkQgKGF0dHIpOwotIAotIAkgICAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRf Ynl0ZV9zaXplLCBjdSk7Ci0gCSAgICAgIGlmIChhdHRyKQotZGlmZiAtLWdpdCBhL2dkYi9ldmFs LmMgYi9nZGIvZXZhbC5jCi0tLS0gYS9nZGIvZXZhbC5jCi0rKysgYi9nZGIvZXZhbC5jCi1AQCAt Mjk1LDcgKzI5NSw4IEBAIGV2YWx1YXRlX3N0cnVjdF90dXBsZSAoc3RydWN0IHZhbHVlICpzdHJ1 Y3RfdmFsLAotICAgd2hpbGUgKC0tbmFyZ3MgPj0gMCkKLSAgICAgewotICAgICAgIHN0cnVjdCB2 YWx1ZSAqdmFsID0gTlVMTDsKLS0gICAgICBpbnQgYml0cG9zLCBiaXRzaXplOwotKyAgICAgIExP TkdFU1QgYml0cG9zOwotKyAgICAgIGludCBiaXRzaXplOwotICAgICAgIGJmZF9ieXRlICphZGRy OwotIAotICAgICAgIGZpZWxkbm8rKzsKLUBAIC0zNTYsNyArMzU3LDcgQEAgaW5pdF9hcnJheV9l bGVtZW50IChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCi0gCQkg ICAgZW51bSBub3NpZGUgbm9zaWRlLCBMT05HRVNUIGxvd19ib3VuZCwgTE9OR0VTVCBoaWdoX2Jv dW5kKQotIHsKLSAgIExPTkdFU1QgaW5kZXg7Ci0tICBpbnQgZWxlbWVudF9zaXplID0gVFlQRV9M RU5HVEggKHZhbHVlX3R5cGUgKGVsZW1lbnQpKTsKLSsgIExPTkdFU1QgZWxlbWVudF9zaXplID0g VFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGVsZW1lbnQpKTsKLSAKLSAgIGlmIChleHAtPmVsdHNb KnBvc10ub3Bjb2RlID09IEJJTk9QX0NPTU1BKQotICAgICB7Ci1AQCAtNzk5LDExICs4MDAsMTEg QEAgYmlub3BfcHJvbW90ZSAoY29uc3Qgc3RydWN0IGxhbmd1YWdlX2RlZm4gKmxhbmd1YWdlLCBz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgICAgLyogRklYTUU6IEFsc28gbWl4ZWQgaW50ZWdy YWwvYm9vbGVhbnMsIHdpdGggcmVzdWx0IGFuIGludGVnZXIuICAqLwotICAgICB7Ci0gICAgICAg Y29uc3Qgc3RydWN0IGJ1aWx0aW5fdHlwZSAqYnVpbHRpbiA9IGJ1aWx0aW5fdHlwZSAoZ2RiYXJj aCk7Ci0tICAgICAgdW5zaWduZWQgaW50IHByb21vdGVkX2xlbjEgPSBUWVBFX0xFTkdUSCAodHlw ZTEpOwotLSAgICAgIHVuc2lnbmVkIGludCBwcm9tb3RlZF9sZW4yID0gVFlQRV9MRU5HVEggKHR5 cGUyKTsKLSsgICAgICBVTE9OR0VTVCBwcm9tb3RlZF9sZW4xID0gVFlQRV9MRU5HVEggKHR5cGUx KTsKLSsgICAgICBVTE9OR0VTVCBwcm9tb3RlZF9sZW4yID0gVFlQRV9MRU5HVEggKHR5cGUyKTsK LSAgICAgICBpbnQgaXNfdW5zaWduZWQxID0gVFlQRV9VTlNJR05FRCAodHlwZTEpOwotICAgICAg IGludCBpc191bnNpZ25lZDIgPSBUWVBFX1VOU0lHTkVEICh0eXBlMik7Ci0tICAgICAgdW5zaWdu ZWQgaW50IHJlc3VsdF9sZW47Ci0rICAgICAgVUxPTkdFU1QgcmVzdWx0X2xlbjsKLSAgICAgICBp bnQgdW5zaWduZWRfb3BlcmF0aW9uOwotIAotICAgICAgIC8qIERldGVybWluZSB0eXBlIGxlbmd0 aCBhbmQgc2lnbmVkbmVzcyBhZnRlciBwcm9tb3Rpb24gZm9yCi1AQCAtMTU1Myw3ICsxNTU0LDcg QEAgZXZhbHVhdGVfc3ViZXhwX3N0YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCi0g ICBzdHJ1Y3QgdmFsdWUgKiphcmd2ZWM7Ci0gICBpbnQgY29kZTsKLSAgIGludCBpeDsKLS0gIGxv bmcgbWVtX29mZnNldDsKLSsgIExPTkdFU1QgbWVtX29mZnNldDsKLSAgIHN0cnVjdCB0eXBlICoq YXJnX3R5cGVzOwotIAotICAgcGMgPSAoKnBvcykrKzsKLUBAIC0xNzM4LDcgKzE3MzksNyBAQCBl dmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlwZSwKLSAJICBz dHJ1Y3QgdHlwZSAqcmFuZ2VfdHlwZSA9IFRZUEVfSU5ERVhfVFlQRSAodHlwZSk7Ci0gCSAgc3Ry dWN0IHR5cGUgKmVsZW1lbnRfdHlwZSA9IFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUpOwotIAkgIHN0 cnVjdCB2YWx1ZSAqYXJyYXkgPSBhbGxvY2F0ZV92YWx1ZSAoZXhwZWN0X3R5cGUpOwotLQkgIGlu dCBlbGVtZW50X3NpemUgPSBUWVBFX0xFTkdUSCAoY2hlY2tfdHlwZWRlZiAoZWxlbWVudF90eXBl KSk7Ci0rCSAgTE9OR0VTVCBlbGVtZW50X3NpemUgPSBUWVBFX0xFTkdUSCAoY2hlY2tfdHlwZWRl ZiAoZWxlbWVudF90eXBlKSk7Ci0gCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQsIGlu ZGV4OwotIAotIAkgIGlmIChnZXRfZGlzY3JldGVfYm91bmRzIChyYW5nZV90eXBlLCAmbG93X2Jv dW5kLCAmaGlnaF9ib3VuZCkgPCAwKQotZGlmZiAtLWdpdCBhL2dkYi9mLWxhbmcuYyBiL2dkYi9m LWxhbmcuYwotLS0tIGEvZ2RiL2YtbGFuZy5jCi0rKysgYi9nZGIvZi1sYW5nLmMKLUBAIC0xMDQs NyArMTA0LDcgQEAgZl9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0 IHVpX2ZpbGUgKnN0cmVhbSkKLSAKLSBzdGF0aWMgdm9pZAotIGZfcHJpbnRzdHIgKHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqc3RyaW5n LAotLQkgICAgdW5zaWduZWQgaW50IGxlbmd0aCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBm b3JjZV9lbGxpcHNlcywKLSsJICAgIFVMT05HRVNUIGxlbmd0aCwgY29uc3QgY2hhciAqZW5jb2Rp bmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKQotIHsKLSAgIGNvbnN0IGNoYXIgKnR5cGVfZW5jb2RpbmcgPSBmX2dl dF9lbmNvZGluZyAodHlwZSk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2YtbGFuZy5oIGIvZ2RiL2YtbGFu Zy5oCi0tLS0gYS9nZGIvZi1sYW5nLmgKLSsrKyBiL2dkYi9mLWxhbmcuaAotQEAgLTMxLDcgKzMx LDcgQEAgZXh0ZXJuIGludCBmX3BhcnNlIChzdHJ1Y3QgcGFyc2VyX3N0YXRlICopOwotIGV4dGVy biB2b2lkIGZfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3Qg dWlfZmlsZSAqLCBpbnQsCi0gCQkJICBpbnQsIGNvbnN0IHN0cnVjdCB0eXBlX3ByaW50X29wdGlv bnMgKik7Ci0gCi0tZXh0ZXJuIHZvaWQgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIGludCwg Q09SRV9BRERSLAotK2V4dGVybiB2b2lkIGZfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBMT05H RVNULCBDT1JFX0FERFIsCi0gCQkJIHN0cnVjdCB1aV9maWxlICosIGludCwKLSAJCQkgc3RydWN0 IHZhbHVlICosCi0gCQkJIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwotZGlm ZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCi0tLS0gYS9nZGIv Zi12YWxwcmludC5jCi0rKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtMzYsNyArMzYsNyBAQAot IAotIHN0YXRpYyB2b2lkIGY3N19nZXRfZHluYW1pY19sZW5ndGhfb2ZfYWdncmVnYXRlIChzdHJ1 Y3QgdHlwZSAqKTsKLSAKLS1pbnQgZjc3X2FycmF5X29mZnNldF90YmxbTUFYX0ZPUlRSQU5fRElN UyArIDFdWzJdOwotK0xPTkdFU1QgZjc3X2FycmF5X29mZnNldF90YmxbTUFYX0ZPUlRSQU5fRElN UyArIDFdWzJdOwotIAotIC8qIEFycmF5IHdoaWNoIGhvbGRzIG9mZnNldHMgdG8gYmUgYXBwbGll ZCB0byBnZXQgYSByb3cncyBlbGVtZW50cwotICAgIGZvciBhIGdpdmVuIGFycmF5LiAgQXJyYXkg YWxzbyBob2xkcyB0aGUgc2l6ZSBvZiBlYWNoIHN1YmFycmF5LiAgKi8KLUBAIC03MSw4ICs3MSw4 IEBAIGY3N19nZXRfdXBwZXJib3VuZCAoc3RydWN0IHR5cGUgKnR5cGUpCi0gc3RhdGljIHZvaWQK LSBmNzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKnR5cGUp Ci0gewotLSAgaW50IHVwcGVyX2JvdW5kID0gLTE7Ci0tICBpbnQgbG93ZXJfYm91bmQgPSAxOwot KyAgTE9OR0VTVCB1cHBlcl9ib3VuZCA9IC0xOwotKyAgTE9OR0VTVCBsb3dlcl9ib3VuZCA9IDE7 Ci0gCi0gICAvKiBSZWN1cnNpdmVseSBnbyBhbGwgdGhlIHdheSBkb3duIGludG8gYSBwb3NzaWJs eSBtdWx0aS1kaW1lbnNpb25hbAotICAgICAgRjc3IGFycmF5IGFuZCBnZXQgdGhlIGJvdW5kcy4g IEZvciBzaW1wbGUgYXJyYXlzLCB0aGlzIGlzIHByZXR0eQotQEAgLTEwNCw3ICsxMDQsNyBAQCBm NzdfZ2V0X2R5bmFtaWNfbGVuZ3RoX29mX2FnZ3JlZ2F0ZSAoc3RydWN0IHR5cGUgKnR5cGUpCi0g c3RhdGljIHZvaWQKLSBmNzdfcHJpbnRfYXJyYXlfMSAoaW50IG5zcywgaW50IG5kaW1lbnNpb25z LCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCSAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotLQkJ ICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCQkgICBMT05HRVNU IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkgICBzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCSAgIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsLAot IAkJICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMTEz LDcgKzExMyw3IEBAIGY3N19wcmludF9hcnJheV8xIChpbnQgbnNzLCBpbnQgbmRpbWVuc2lvbnMs IHN0cnVjdCB0eXBlICp0eXBlLAotICAgc3RydWN0IHR5cGUgKnJhbmdlX3R5cGUgPSBUWVBFX0lO REVYX1RZUEUgKGNoZWNrX3R5cGVkZWYgKHR5cGUpKTsKLSAgIENPUkVfQUREUiBhZGRyID0gYWRk cmVzcyArIGVtYmVkZGVkX29mZnNldDsKLSAgIExPTkdFU1QgbG93ZXJib3VuZCwgdXBwZXJib3Vu ZDsKLS0gIGludCBpOwotKyAgTE9OR0VTVCBpOwotIAotICAgZ2V0X2Rpc2NyZXRlX2JvdW5kcyAo cmFuZ2VfdHlwZSwgJmxvd2VyYm91bmQsICZ1cHBlcmJvdW5kKTsKLSAKLUBAIC0xNzUsNyArMTc1 LDcgQEAgZjc3X3ByaW50X2FycmF5XzEgKGludCBuc3MsIGludCBuZGltZW5zaW9ucywgc3RydWN0 IHR5cGUgKnR5cGUsCi0gCi0gc3RhdGljIHZvaWQKLSBmNzdfcHJpbnRfYXJyYXkgKHN0cnVjdCB0 eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLS0JCSBpbnQgZW1iZWRkZWRfb2Zm c2V0LAotKwkJIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkJIENPUkVfQUREUiBhZGRyZXNz LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAotIAkJIGludCByZWN1cnNlLAotIAkJIGNvbnN0IHN0 cnVjdCB2YWx1ZSAqdmFsLAotQEAgLTIxNCw3ICsyMTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGdlbmVyaWNfdmFsX3ByaW50X2RlY29yYXRpb25zIGZfZGVjb3JhdGlvbnMgPQotICAgIGZ1bmN0 aW9uOyB0aGV5IGFyZSBpZGVudGljYWwuICAqLwotIAotIHZvaWQKLS1mX3ZhbF9wcmludCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0rZl92YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwKLSAJICAgICBDT1JFX0FERFIg YWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCSAgICAgc3Ry dWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJp bnRfb3B0aW9ucyAqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9nZGIvZmluZHZhci5jIGIvZ2RiL2Zp bmR2YXIuYwotLS0tIGEvZ2RiL2ZpbmR2YXIuYwotKysrIGIvZ2RiL2ZpbmR2YXIuYwotQEAgLTgy MSw3ICs4MjEsNyBAQCBzdHJ1Y3QgdmFsdWUgKgotIGRlZmF1bHRfdmFsdWVfZnJvbV9yZWdpc3Rl ciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBlLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgaW50IHJlZ251bSwgc3RydWN0IGZyYW1lX2lkIGZyYW1lX2lk KQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9 IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIHN0cnVjdCB2YWx1ZSAqdmFsdWUgPSBhbGxvY2F0ZV92 YWx1ZSAodHlwZSk7Ci0gICBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWU7Ci0gCi1AQCAtODY1LDcg Kzg2NSw3IEBAIHJlYWRfZnJhbWVfcmVnaXN0ZXJfdmFsdWUgKHN0cnVjdCB2YWx1ZSAqdmFsdWUs IHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSkKLSAgIExPTkdFU1Qgb2Zmc2V0ID0gMDsKLSAgIExP TkdFU1QgcmVnX29mZnNldCA9IHZhbHVlX29mZnNldCAodmFsdWUpOwotICAgaW50IHJlZ251bSA9 IFZBTFVFX1JFR05VTSAodmFsdWUpOwotLSAgaW50IGxlbiA9IHR5cGVfbGVuZ3RoX3VuaXRzIChj aGVja190eXBlZGVmICh2YWx1ZV90eXBlICh2YWx1ZSkpKTsKLSsgIExPTkdFU1QgbGVuID0gdHlw ZV9sZW5ndGhfdW5pdHMgKGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbHVlKSkpOwotIAot ICAgZ2RiX2Fzc2VydCAoVkFMVUVfTFZBTCAodmFsdWUpID09IGx2YWxfcmVnaXN0ZXIpOwotIAot QEAgLTg4MCw3ICs4ODAsNyBAQCByZWFkX2ZyYW1lX3JlZ2lzdGVyX3ZhbHVlIChzdHJ1Y3QgdmFs dWUgKnZhbHVlLCBzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUpCi0gICB3aGlsZSAobGVuID4gMCkK LSAgICAgewotICAgICAgIHN0cnVjdCB2YWx1ZSAqcmVndmFsID0gZ2V0X2ZyYW1lX3JlZ2lzdGVy X3ZhbHVlIChmcmFtZSwgcmVnbnVtKTsKLS0gICAgICBpbnQgcmVnX2xlbiA9IHR5cGVfbGVuZ3Ro X3VuaXRzICh2YWx1ZV90eXBlIChyZWd2YWwpKSAtIHJlZ19vZmZzZXQ7Ci0rICAgICAgTE9OR0VT VCByZWdfbGVuID0gdHlwZV9sZW5ndGhfdW5pdHMgKHZhbHVlX3R5cGUgKHJlZ3ZhbCkpIC0gcmVn X29mZnNldDsKLSAKLSAgICAgICAvKiBJZiB0aGUgcmVnaXN0ZXIgbGVuZ3RoIGlzIGxhcmdlciB0 aGFuIHRoZSBudW1iZXIgb2YgYnl0ZXMKLSAgICAgICAgICByZW1haW5pbmcgdG8gY29weSwgdGhl biBvbmx5IGNvcHkgdGhlIGFwcHJvcHJpYXRlIGJ5dGVzLiAgKi8KLWRpZmYgLS1naXQgYS9nZGIv ZnJhbWUuYyBiL2dkYi9mcmFtZS5jCi0tLS0gYS9nZGIvZnJhbWUuYwotKysrIGIvZ2RiL2ZyYW1l LmMKLUBAIC0xMzkzLDcgKzEzOTMsNyBAQCBkZXByZWNhdGVkX2ZyYW1lX3JlZ2lzdGVyX3JlYWQg KHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwKLSAKLSBpbnQKLSBnZXRfZnJh bWVfcmVnaXN0ZXJfYnl0ZXMgKHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwgaW50IHJlZ251bSwK LS0JCQkgIENPUkVfQUREUiBvZmZzZXQsIGludCBsZW4sIGdkYl9ieXRlICpteWFkZHIsCi0rCQkJ ICBDT1JFX0FERFIgb2Zmc2V0LCBMT05HRVNUIGxlbiwgZ2RiX2J5dGUgKm15YWRkciwKLSAJCQkg IGludCAqb3B0aW1pemVkcCwgaW50ICp1bmF2YWlsYWJsZXApCi0gewotICAgc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2ggPSBnZXRfZnJhbWVfYXJjaCAoZnJhbWUpOwotQEAgLTE0MjIsNyArMTQyMiw3 IEBAIGdldF9mcmFtZV9yZWdpc3Rlcl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBp bnQgcmVnbnVtLAotICAgICB9Ci0gICBpZiAobGVuID4gbWF4c2l6ZSkKLSAgICAgZXJyb3IgKF8o IkJhZCBkZWJ1ZyBpbmZvcm1hdGlvbiBkZXRlY3RlZDogIgotLQkgICAgICJBdHRlbXB0IHRvIHJl YWQgJWQgYnl0ZXMgZnJvbSByZWdpc3RlcnMuIiksIGxlbik7Ci0rCSAgICAgIkF0dGVtcHQgdG8g cmVhZCAlcyBieXRlcyBmcm9tIHJlZ2lzdGVycy4iKSwgcGxvbmdlc3QgKGxlbikpOwotIAotICAg LyogQ29weSB0aGUgZGF0YS4gICovCi0gICB3aGlsZSAobGVuID4gMCkKLWRpZmYgLS1naXQgYS9n ZGIvZnJhbWUuaCBiL2dkYi9mcmFtZS5oCi0tLS0gYS9nZGIvZnJhbWUuaAotKysrIGIvZ2RiL2Zy YW1lLmgKLUBAIC02MjAsNyArNjIwLDcgQEAgZXh0ZXJuIHZvaWQgcHV0X2ZyYW1lX3JlZ2lzdGVy IChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0sCi0gICAgY29udGVudHMgYXJl IG9wdGltaXplZCBvdXQgb3IgdW5hdmFpbGFibGUsIHNldCAqT1BUSU1JWkVEUCwKLSAgICAqVU5B VkFJTEFCTEVQIGFjY29yZGluZ2x5LiAgKi8KLSBleHRlcm4gaW50IGdldF9mcmFtZV9yZWdpc3Rl cl9ieXRlcyAoc3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBpbnQgcmVnbnVtLAotLQkJCQkgICAg IENPUkVfQUREUiBvZmZzZXQsIGludCBsZW4sCi0rCQkJCSAgICAgQ09SRV9BRERSIG9mZnNldCwg TE9OR0VTVCBsZW4sCi0gCQkJCSAgICAgZ2RiX2J5dGUgKm15YWRkciwKLSAJCQkJICAgICBpbnQg Km9wdGltaXplZHAsIGludCAqdW5hdmFpbGFibGVwKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZ2Ri YXJjaC5jIGIvZ2RiL2dkYmFyY2guYwotLS0tIGEvZ2RiL2dkYmFyY2guYwotKysrIGIvZ2RiL2dk YmFyY2guYwotQEAgLTE4MDMsNyArMTgwMyw3IEBAIHNldF9nZGJhcmNoX3djaGFyX3NpZ25lZCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gfQotIAotIGNvbnN0IHN0cnVjdCBmbG9hdGZvcm1h dCAqKgotLWdkYmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoKQotK2dkYmFyY2hfZmxvYXRmb3JtYXRf Zm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25zdCBjaGFyICpuYW1lLCBMT05H RVNUIGxlbmd0aCkKLSB7Ci0gICBnZGJfYXNzZXJ0IChnZGJhcmNoICE9IE5VTEwpOwotICAgZ2Ri X2Fzc2VydCAoZ2RiYXJjaC0+ZmxvYXRmb3JtYXRfZm9yX3R5cGUgIT0gTlVMTCk7Ci1kaWZmIC0t Z2l0IGEvZ2RiL2dkYmFyY2guaCBiL2dkYi9nZGJhcmNoLmgKLS0tLSBhL2dkYi9nZGJhcmNoLmgK LSsrKyBiL2dkYi9nZGJhcmNoLmgKLUBAIC0yMTgsOCArMjE4LDggQEAgZXh0ZXJuIHZvaWQgc2V0 X2dkYmFyY2hfd2NoYXJfc2lnbmVkIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgaW50IHdjaGFy X3NpZ25lZCkKLSAgICBOQU1FLCBpZiBub24tTlVMTCwgaXMgdGhlIHR5cGUgbmFtZSwgd2hpY2gg bWF5IGJlIHVzZWQgdG8gZGlzdGluZ3Vpc2gKLSAgICBkaWZmZXJlbnQgdGFyZ2V0IGZvcm1hdHMg b2YgdGhlIHNhbWUgbGVuZ3RoLiAqLwotIAotLXR5cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9y bWF0ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGgpOwotLWV4dGVybiBjb25z dCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKiogZ2RiYXJjaF9mbG9hdGZvcm1hdF9mb3JfdHlwZSAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUsIGludCBsZW5ndGgpOwotK3R5 cGVkZWYgY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIChnZGJhcmNoX2Zsb2F0Zm9ybWF0X2Zv cl90eXBlX2Z0eXBlKSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIGNvbnN0IGNoYXIgKm5hbWUs IExPTkdFU1QgbGVuZ3RoKTsKLStleHRlcm4gY29uc3Qgc3RydWN0IGZsb2F0Zm9ybWF0ICoqIGdk YmFyY2hfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBjb25z dCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aCk7Ci0gZXh0ZXJuIHZvaWQgc2V0X2dkYmFyY2hf ZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBnZGJhcmNoX2Zs b2F0Zm9ybWF0X2Zvcl90eXBlX2Z0eXBlICpmbG9hdGZvcm1hdF9mb3JfdHlwZSk7Ci0gCi0gLyog Rm9yIG1vc3QgdGFyZ2V0cywgYSBwb2ludGVyIG9uIHRoZSB0YXJnZXQgYW5kIGl0cyByZXByZXNl bnRhdGlvbiBhcyBhbgotZGlmZiAtLWdpdCBhL2dkYi9nZGJhcmNoLnNoIGIvZ2RiL2dkYmFyY2gu c2gKLS0tLSBhL2dkYi9nZGJhcmNoLnNoCi0rKysgYi9nZGIvZ2RiYXJjaC5zaAotQEAgLTM4NSw3 ICszODUsNyBAQCB2O2ludDt3Y2hhcl9zaWduZWQ7OzsxOy0xOzEKLSAjIFJldHVybnMgdGhlIGZs b2F0aW5nLXBvaW50IGZvcm1hdCB0byBiZSB1c2VkIGZvciB2YWx1ZXMgb2YgbGVuZ3RoIExFTkdU SC4KLSAjIE5BTUUsIGlmIG5vbi1OVUxMLCBpcyB0aGUgdHlwZSBuYW1lLCB3aGljaCBtYXkgYmUg dXNlZCB0byBkaXN0aW5ndWlzaAotICMgZGlmZmVyZW50IHRhcmdldCBmb3JtYXRzIG9mIHRoZSBz YW1lIGxlbmd0aC4KLS1tO2NvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAqKjtmbG9hdGZvcm1hdF9m b3JfdHlwZTtjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuZ3RoO25hbWUsIGxlbmd0aDswO2RlZmF1 bHRfZmxvYXRmb3JtYXRfZm9yX3R5cGU7OzAKLSttO2NvbnN0IHN0cnVjdCBmbG9hdGZvcm1hdCAq KjtmbG9hdGZvcm1hdF9mb3JfdHlwZTtjb25zdCBjaGFyICpuYW1lLCBMT05HRVNUIGxlbmd0aDtu YW1lLCBsZW5ndGg7MDtkZWZhdWx0X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlOzswCi0gCi0gIyBGb3Ig bW9zdCB0YXJnZXRzLCBhIHBvaW50ZXIgb24gdGhlIHRhcmdldCBhbmQgaXRzIHJlcHJlc2VudGF0 aW9uIGFzIGFuCi0gIyBhZGRyZXNzIGluIEdEQiBoYXZlIHRoZSBzYW1lIHNpemUgYW5kICJsb29r IHRoZSBzYW1lIi4gIEZvciBzdWNoIGEKLWRpZmYgLS1naXQgYS9nZGIvZ2RidHlwZXMuYyBiL2dk Yi9nZGJ0eXBlcy5jCi0tLS0gYS9nZGIvZ2RidHlwZXMuYwotKysrIGIvZ2RiL2dkYnR5cGVzLmMK LUBAIC0yODczLDcgKzI4NzMsNyBAQCBmbG9hdGZvcm1hdF9mcm9tX3R5cGUgKGNvbnN0IHN0cnVj dCB0eXBlICp0eXBlKQotICAgIGxlYXN0IGFzIGxvbmcgYXMgT0JKRklMRS4gICovCi0gCi0gc3Ry dWN0IHR5cGUgKgotLWluaXRfdHlwZSAoc3RydWN0IG9iamZpbGUgKm9iamZpbGUsIGVudW0gdHlw ZV9jb2RlIGNvZGUsIGludCBiaXQsCi0raW5pdF90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqb2JqZmls ZSwgZW51bSB0eXBlX2NvZGUgY29kZSwgTE9OR0VTVCBiaXQsCi0gCSAgIGNvbnN0IGNoYXIgKm5h bWUpCi0gewotICAgc3RydWN0IHR5cGUgKnR5cGU7Ci1AQCAtMzMzMCw4ICszMzMwLDggQEAgaXNf cHVibGljX2FuY2VzdG9yIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRjbGFzcykK LSAKLSBzdGF0aWMgaW50Ci0gaXNfdW5pcXVlX2FuY2VzdG9yX3dvcmtlciAoc3RydWN0IHR5cGUg KmJhc2UsIHN0cnVjdCB0eXBlICpkY2xhc3MsCi0tCQkJICAgaW50ICpvZmZzZXQsCi0tCQkJICAg Y29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0rCQkJICAgTE9O R0VTVCAqb2Zmc2V0LAotKwkJCSAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLCBMT05HRVNUIGVt YmVkZGVkX29mZnNldCwKLSAJCQkgICBDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHZhbHVlICp2 YWwpCi0gewotICAgaW50IGksIGNvdW50ID0gMDsKLUBAIC0zMzQyLDcgKzMzNDIsNyBAQCBpc191 bmlxdWVfYW5jZXN0b3Jfd29ya2VyIChzdHJ1Y3QgdHlwZSAqYmFzZSwgc3RydWN0IHR5cGUgKmRj bGFzcywKLSAgIGZvciAoaSA9IDA7IGkgPCBUWVBFX05fQkFTRUNMQVNTRVMgKGRjbGFzcykgJiYg Y291bnQgPCAyOyArK2kpCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqaXRlcjsKLS0gICAg ICBpbnQgdGhpc19vZmZzZXQ7Ci0rICAgICAgTE9OR0VTVCB0aGlzX29mZnNldDsKLSAKLSAgICAg ICBpdGVyID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9CQVNFQ0xBU1MgKGRjbGFzcywgaSkpOwotIAot QEAgLTMzODMsNyArMzM4Myw3IEBAIGlzX3VuaXF1ZV9hbmNlc3Rvcl93b3JrZXIgKHN0cnVjdCB0 eXBlICpiYXNlLCBzdHJ1Y3QgdHlwZSAqZGNsYXNzLAotIGludAotIGlzX3VuaXF1ZV9hbmNlc3Rv ciAoc3RydWN0IHR5cGUgKmJhc2UsIHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsKLS0gIGludCBvZmZz ZXQgPSAtMTsKLSsgIExPTkdFU1Qgb2Zmc2V0ID0gLTE7Ci0gCi0gICByZXR1cm4gaXNfdW5pcXVl X2FuY2VzdG9yX3dvcmtlciAoYmFzZSwgdmFsdWVfdHlwZSAodmFsKSwgJm9mZnNldCwKLSAJCQkJ ICAgIHZhbHVlX2NvbnRlbnRzX2Zvcl9wcmludGluZyAodmFsKSwKLUBAIC00NjQzLDcgKzQ2NDMs NyBAQCByZWN1cnNpdmVfZHVtcF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IHNwYWNlcykK LSAgICAgICBicmVhazsKLSAgICAgfQotICAgcHV0c19maWx0ZXJlZCAoIlxuIik7Ci0tICBwcmlu dGZpX2ZpbHRlcmVkIChzcGFjZXMsICJsZW5ndGggJWRcbiIsIFRZUEVfTEVOR1RIICh0eXBlKSk7 Ci0rICBwcmludGZpX2ZpbHRlcmVkIChzcGFjZXMsICJsZW5ndGggJXNcbiIsIHB1bG9uZ2VzdCAo VFlQRV9MRU5HVEggKHR5cGUpKSk7Ci0gICBpZiAoVFlQRV9PQkpGSUxFX09XTkVEICh0eXBlKSkK LSAgICAgewotICAgICAgIHByaW50ZmlfZmlsdGVyZWQgKHNwYWNlcywgIm9iamZpbGUgIik7Ci1A QCAtNTA4OCw3ICs1MDg4LDcgQEAgY29weV90eXBlIChjb25zdCBzdHJ1Y3QgdHlwZSAqdHlwZSkK LSAKLSBzdHJ1Y3QgdHlwZSAqCi0gYXJjaF90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwK LS0JICAgZW51bSB0eXBlX2NvZGUgY29kZSwgaW50IGJpdCwgY29uc3QgY2hhciAqbmFtZSkKLSsJ ICAgZW51bSB0eXBlX2NvZGUgY29kZSwgTE9OR0VTVCBiaXQsIGNvbnN0IGNoYXIgKm5hbWUpCi0g ewotICAgc3RydWN0IHR5cGUgKnR5cGU7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL2dkYnR5cGVzLmgg Yi9nZGIvZ2RidHlwZXMuaAotLS0tIGEvZ2RiL2dkYnR5cGVzLmgKLSsrKyBiL2dkYi9nZGJ0eXBl cy5oCi1AQCAtODY0LDcgKzg2NCw3IEBAIHN0cnVjdCB0eXBlCi0gICAgICB0eXBlX2xlbmd0aF91 bml0cyBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZCBpbiBvcmRlciB0byBnZXQgdGhlIGxlbmd0aAot ICAgICAgZXhwcmVzc2VkIGluIHRhcmdldCBhZGRyZXNzYWJsZSBtZW1vcnkgdW5pdHMuICAqLwot IAotLSAgdW5zaWduZWQgaW50IGxlbmd0aDsKLSsgIFVMT05HRVNUIGxlbmd0aDsKLSAKLSAgIC8q ICogQ29yZSB0eXBlLCBzaGFyZWQgYnkgYSBncm91cCBvZiBxdWFsaWZpZWQgdHlwZXMuICAqLwot IAotQEAgLTE3ODcsNyArMTc4Nyw3IEBAIGV4dGVybiB1bnNpZ25lZCBpbnQgdHlwZV9sZW5ndGhf dW5pdHMgKHN0cnVjdCB0eXBlICp0eXBlKTsKLSAKLSAvKiAqIEhlbHBlciBmdW5jdGlvbiB0byBj b25zdHJ1Y3Qgb2JqZmlsZS1vd25lZCB0eXBlcy4gICovCi0gCi0tZXh0ZXJuIHN0cnVjdCB0eXBl ICppbml0X3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGVudW0gdHlwZV9jb2RlLCBpbnQsCi0rZXh0 ZXJuIHN0cnVjdCB0eXBlICppbml0X3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGVudW0gdHlwZV9j b2RlLCBMT05HRVNULAotIAkJCSAgICAgICBjb25zdCBjaGFyICopOwotIGV4dGVybiBzdHJ1Y3Qg dHlwZSAqaW5pdF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBvYmpmaWxlICosIGludCwgaW50LAotIAkJ CQkgICAgICAgY29uc3QgY2hhciAqKTsKLUBAIC0xODA0LDcgKzE4MDQsNyBAQCBleHRlcm4gc3Ry dWN0IHR5cGUgKmluaXRfcG9pbnRlcl90eXBlIChzdHJ1Y3Qgb2JqZmlsZSAqLCBpbnQsIGNvbnN0 IGNoYXIgKiwKLSAJCQkJICAgICAgIHN0cnVjdCB0eXBlICopOwotIAotIC8qIEhlbHBlciBmdW5j dGlvbnMgdG8gY29uc3RydWN0IGFyY2hpdGVjdHVyZS1vd25lZCB0eXBlcy4gICovCi0tZXh0ZXJu IHN0cnVjdCB0eXBlICphcmNoX3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGVudW0gdHlwZV9jb2Rl LCBpbnQsCi0rZXh0ZXJuIHN0cnVjdCB0eXBlICphcmNoX3R5cGUgKHN0cnVjdCBnZGJhcmNoICos IGVudW0gdHlwZV9jb2RlLCBMT05HRVNULAotIAkJCSAgICAgICBjb25zdCBjaGFyICopOwotIGV4 dGVybiBzdHJ1Y3QgdHlwZSAqYXJjaF9pbnRlZ2VyX3R5cGUgKHN0cnVjdCBnZGJhcmNoICosIGlu dCwgaW50LAotIAkJCQkgICAgICAgY29uc3QgY2hhciAqKTsKLWRpZmYgLS1naXQgYS9nZGIvZ251 LXYyLWFiaS5jIGIvZ2RiL2dudS12Mi1hYmkuYwotLS0tIGEvZ2RiL2dudS12Mi1hYmkuYwotKysr IGIvZ2RiL2dudS12Mi1hYmkuYwotQEAgLTgyLDcgKzgyLDcgQEAgZ251djJfaXNfb3BlcmF0b3Jf bmFtZSAoY29uc3QgY2hhciAqbmFtZSkKLSAgICBUWVBFIGlzIHRoZSB0eXBlIGluIHdoaWNoIEYg aXMgbG9jYXRlZC4gICovCi0gc3RhdGljIHN0cnVjdCB2YWx1ZSAqCi0gZ251djJfdmlydHVhbF9m bl9maWVsZCAoc3RydWN0IHZhbHVlICoqYXJnMXAsIHN0cnVjdCBmbl9maWVsZCAqIGYsIGludCBq LAotLQkJCXN0cnVjdCB0eXBlICogdHlwZSwgaW50IG9mZnNldCkKLSsJCQlzdHJ1Y3QgdHlwZSAq dHlwZSwgTE9OR0VTVCBvZmZzZXQpCi0gewotICAgc3RydWN0IHZhbHVlICphcmcxID0gKmFyZzFw OwotICAgc3RydWN0IHR5cGUgKnR5cGUxID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJn MSkpOwotQEAgLTMzOCw3ICszMzgsNyBAQCB2Yl9tYXRjaCAoc3RydWN0IHR5cGUgKnR5cGUsIGlu dCBpbmRleCwgc3RydWN0IHR5cGUgKmJhc2V0eXBlKQotICAgIHRhcmdldCkuICBUaGUgcmVzdWx0 IGlzIHRoZSBvZmZzZXQgb2YgdGhlIGJhc2VjbGFzcyB2YWx1ZSByZWxhdGl2ZQotICAgIHRvICh0 aGUgYWRkcmVzcyBvZikoQVJHKSArIE9GRlNFVC4gICovCi0gCi0tc3RhdGljIGludAotK3N0YXRp YyBMT05HRVNUCi0gZ251djJfYmFzZWNsYXNzX29mZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGlu dCBpbmRleCwKLSAJCQljb25zdCBiZmRfYnl0ZSAqdmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9v ZmZzZXQsCi0gCQkJQ09SRV9BRERSIGFkZHJlc3MsIGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQot QEAgLTM1OCw4ICszNTgsNyBAQCBnbnV2Ml9iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAq dHlwZSwgaW50IGluZGV4LAotIAkgIGlmICh2Yl9tYXRjaCAodHlwZSwgaSwgYmFzZXR5cGUpKQot IAkgICAgewotIAkgICAgICBzdHJ1Y3QgdHlwZSAqZmllbGRfdHlwZTsKLS0JICAgICAgTE9OR0VT VCBmaWVsZF9vZmZzZXQ7Ci0tCSAgICAgIGludCBmaWVsZF9sZW5ndGg7Ci0rCSAgICAgIExPTkdF U1QgZmllbGRfb2Zmc2V0LCBmaWVsZF9sZW5ndGg7Ci0gCSAgICAgIENPUkVfQUREUiBhZGRyOwot IAotIAkgICAgICBmaWVsZF90eXBlID0gY2hlY2tfdHlwZWRlZiAoVFlQRV9GSUVMRF9UWVBFICh0 eXBlLCBpKSk7Ci1AQCAtMzgzLDcgKzM4Miw3IEBAIGdudXYyX2Jhc2VjbGFzc19vZmZzZXQgKHN0 cnVjdCB0eXBlICp0eXBlLCBpbnQgaW5kZXgsCi0gCSAgLyogRG9uJ3QgZ28gdGhyb3VnaCBiYXNl Y2xhc3Nfb2Zmc2V0LCBhcyB0aGF0IHdyYXBzCi0gCSAgICAgZXhjZXB0aW9ucywgdGh1cywgaW5u ZXIgZXhjZXB0aW9ucyB3b3VsZCBiZSB3cmFwcGVkIG1vcmUKLSAJICAgICB0aGFuIG9uY2UuICAq LwotLQkgIGludCBib2Zmc2V0ID0KLSsJICBMT05HRVNUIGJvZmZzZXQgPQotIAkgICAgZ251djJf YmFzZWNsYXNzX29mZnNldCAodHlwZSwgaSwgdmFsYWRkciwKLSAJCQkJICAgIGVtYmVkZGVkX29m ZnNldCwgYWRkcmVzcywgdmFsKTsKLSAKLWRpZmYgLS1naXQgYS9nZGIvZ251LXYzLWFiaS5jIGIv Z2RiL2dudS12My1hYmkuYwotLS0tIGEvZ2RiL2dudS12My1hYmkuYwotKysrIGIvZ2RiL2dudS12 My1hYmkuYwotQEAgLTEwOSw3ICsxMDksNyBAQCBidWlsZF9nZGJfdnRhYmxlX3R5cGUgKHN0cnVj dCBnZGJhcmNoICphcmNoKQotIHsKLSAgIHN0cnVjdCB0eXBlICp0OwotICAgc3RydWN0IGZpZWxk ICpmaWVsZF9saXN0LCAqZmllbGQ7Ci0tICBpbnQgb2Zmc2V0OwotKyAgTE9OR0VTVCBvZmZzZXQ7 Ci0gCi0gICBzdHJ1Y3QgdHlwZSAqdm9pZF9wdHJfdHlwZQotICAgICA9IGJ1aWx0aW5fdHlwZSAo YXJjaCktPmJ1aWx0aW5fZGF0YV9wdHI7Ci1AQCAtMTg1LDcgKzE4NSw3IEBAIHZ0YWJsZV9wdHJk aWZmX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQotIC8qIFJldHVybiB0aGUgb2Zmc2V0 IGZyb20gdGhlIHN0YXJ0IG9mIHRoZSBpbWFnaW5hcnkgYHN0cnVjdAotICAgIGdkYl9nbnVfdjNf YWJpX3Z0YWJsZScgb2JqZWN0IHRvIHRoZSB2dGFibGUncyAiYWRkcmVzcyBwb2ludCIKLSAgICAo aS5lLiwgd2hlcmUgb2JqZWN0cycgdmlydHVhbCB0YWJsZSBwb2ludGVycyBwb2ludCkuICAqLwot LXN0YXRpYyBpbnQKLStzdGF0aWMgTE9OR0VTVAotIHZ0YWJsZV9hZGRyZXNzX3BvaW50X29mZnNl dCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gpCi0gewotICAgc3RydWN0IHR5cGUgKnZ0YWJsZV90 eXBlCi1AQCAtNDA5LDcgKzQwOSw3IEBAIGdudXYzX2dldF92aXJ0dWFsX2ZuIChzdHJ1Y3QgZ2Ri YXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpjb250YWluZXIsCi0gc3RhdGljIHN0cnVjdCB2 YWx1ZSAqCi0gZ251djNfdmlydHVhbF9mbl9maWVsZCAoc3RydWN0IHZhbHVlICoqdmFsdWVfcCwK LSAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZm5fZmllbGQgKmYsIGludCBqLAotLQkJ CXN0cnVjdCB0eXBlICp2Zm5fYmFzZSwgaW50IG9mZnNldCkKLSsJCQlzdHJ1Y3QgdHlwZSAqdmZu X2Jhc2UsIExPTkdFU1Qgb2Zmc2V0KQotIHsKLSAgIHN0cnVjdCB0eXBlICp2YWx1ZXNfdHlwZSA9 IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKCp2YWx1ZV9wKSk7Ci0gICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaDsKLUBAIC00MzksNyArNDM5LDcgQEAgZ251djNfdmlydHVhbF9mbl9maWVsZCAo c3RydWN0IHZhbHVlICoqdmFsdWVfcCwKLSAKLSAgICAtMSBpcyByZXR1cm5lZCBvbiBlcnJvci4g ICovCi0gCi0tc3RhdGljIGludAotK3N0YXRpYyBMT05HRVNUCi0gZ251djNfYmFzZWNsYXNzX29m ZnNldCAoc3RydWN0IHR5cGUgKnR5cGUsIGludCBpbmRleCwKLSAJCQljb25zdCBiZmRfYnl0ZSAq dmFsYWRkciwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0gCQkJQ09SRV9BRERSIGFkZHJlc3Ms IGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsKQotQEAgLTQ0OCw3ICs0NDgsNyBAQCBnbnV2M19iYXNl Y2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGluZGV4LAotICAgc3RydWN0IHR5 cGUgKnB0cl90eXBlOwotICAgc3RydWN0IHZhbHVlICp2dGFibGU7Ci0gICBzdHJ1Y3QgdmFsdWUg KnZiYXNlX2FycmF5OwotLSAgbG9uZyBpbnQgY3VyX2Jhc2Vfb2Zmc2V0LCBiYXNlX29mZnNldDsK LSsgIExPTkdFU1QgY3VyX2Jhc2Vfb2Zmc2V0LCBiYXNlX29mZnNldDsKLSAKLSAgIC8qIERldGVy bWluZSBhcmNoaXRlY3R1cmUuICAqLwotICAgZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUp OwotQEAgLTQ3MSw3ICs0NzEsNyBAQCBnbnV2M19iYXNlY2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlw ZSAqdHlwZSwgaW50IGluZGV4LAotICAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0 ICsgdnRhYmxlX2FkZHJlc3NfcG9pbnRfb2Zmc2V0IChnZGJhcmNoKTsKLSAgIGlmICgoLSBjdXJf YmFzZV9vZmZzZXQpICUgVFlQRV9MRU5HVEggKHB0cl90eXBlKSAhPSAwKQotICAgICBlcnJvciAo XygiTWlzYWxpZ25lZCB2YmFzZSBvZmZzZXQuIikpOwotLSAgY3VyX2Jhc2Vfb2Zmc2V0ID0gY3Vy X2Jhc2Vfb2Zmc2V0IC8gKChpbnQpIFRZUEVfTEVOR1RIIChwdHJfdHlwZSkpOwotKyAgY3VyX2Jh c2Vfb2Zmc2V0ID0gY3VyX2Jhc2Vfb2Zmc2V0IC8gKChMT05HRVNUKSBUWVBFX0xFTkdUSCAocHRy X3R5cGUpKTsKLSAKLSAgIHZ0YWJsZSA9IGdudXYzX2dldF92dGFibGUgKGdkYmFyY2gsIHR5cGUs IGFkZHJlc3MgKyBlbWJlZGRlZF9vZmZzZXQpOwotICAgZ2RiX2Fzc2VydCAodnRhYmxlICE9IE5V TEwpOwotQEAgLTUxNSw3ICs1MTUsNyBAQCBnbnV2M19maW5kX21ldGhvZF9pbiAoc3RydWN0IHR5 cGUgKmRvbWFpbiwgQ09SRV9BRERSIHZvZmZzZXQsCi0gICAgICB3ZSdyZSBvdXQgb2YgbHVjay4g ICovCi0gICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9OX0JBU0VDTEFTU0VTIChkb21haW4pOyBpKysp Ci0gICAgIHsKLS0gICAgICBpbnQgcG9zOwotKyAgICAgIExPTkdFU1QgcG9zOwotICAgICAgIHN0 cnVjdCB0eXBlICpiYXNldHlwZTsKLSAKLSAgICAgICBpZiAoQkFTRVRZUEVfVklBX1ZJUlRVQUwg KGRvbWFpbiwgaSkpCi1kaWZmIC0tZ2l0IGEvZ2RiL2dvLWxhbmcuaCBiL2dkYi9nby1sYW5nLmgK LS0tLSBhL2dkYi9nby1sYW5nLmgKLSsrKyBiL2dkYi9nby1sYW5nLmgKLUBAIC04Myw3ICs4Myw3 IEBAIGV4dGVybiB2b2lkIGdvX3ByaW50X3R5cGUgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBj aGFyICp2YXJzdHJpbmcsCi0gLyogRGVmaW5lZCBpbiBnby12YWxwcmludC5jLiAgKi8KLSAKLSBl eHRlcm4gdm9pZCBnb192YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotLQkJCSAgaW50IGVt YmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0rCQkJICBMT05HRVNUIGVtYmVkZGVk X29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0gCQkJICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBpbnQgcmVjdXJzZSwKLSAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJCSAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpOwotZGlmZiAtLWdpdCBhL2dkYi9nby12 YWxwcmludC5jIGIvZ2RiL2dvLXZhbHByaW50LmMKLS0tLSBhL2dkYi9nby12YWxwcmludC5jCi0r KysgYi9nZGIvZ28tdmFscHJpbnQuYwotQEAgLTg2LDcgKzg2LDcgQEAgcHJpbnRfZ29fc3RyaW5n IChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAvKiBJbXBsZW1lbnRzIHRoZSBsYV92YWxfcHJpbnQgcm91 dGluZSBmb3IgbGFuZ3VhZ2UgR28uICAqLwotIAotIHZvaWQKLS1nb192YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAotK2dvX3ZhbF9wcmludCAoc3RydWN0 IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LAotIAkgICAgICBDT1JFX0FERFIg YWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCSAgICAgIHN0 cnVjdCB2YWx1ZSAqdmFsLAotIAkgICAgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9u cyAqb3B0aW9ucykKLWRpZmYgLS1naXQgYS9nZGIvaTM4Ni10ZGVwLmMgYi9nZGIvaTM4Ni10ZGVw LmMKLS0tLSBhL2dkYi9pMzg2LXRkZXAuYwotKysrIGIvZ2RiL2kzODYtdGRlcC5jCi1AQCAtODE1 Niw3ICs4MTU2LDcgQEAgaTM4Nl9mYXN0X3RyYWNlcG9pbnRfdmFsaWRfYXQgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBDT1JFX0FERFIgYWRkciwKLSAKLSBjb25zdCBzdHJ1Y3QgZmxvYXRmb3Jt YXQgKioKLSBpMzg2X2Zsb2F0Zm9ybWF0X2Zvcl90eXBlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKLS0JCQkgICBjb25zdCBjaGFyICpuYW1lLCBpbnQgbGVuKQotKwkJCSAgIGNvbnN0IGNoYXIg Km5hbWUsIExPTkdFU1QgbGVuKQotIHsKLSAgIGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCi0gICAg IGlmIChzdHJjbXAgKG5hbWUsICJfX2Zsb2F0MTI4IikgPT0gMAotZGlmZiAtLWdpdCBhL2dkYi9s YW5ndWFnZS5jIGIvZ2RiL2xhbmd1YWdlLmMKLS0tLSBhL2dkYi9sYW5ndWFnZS5jCi0rKysgYi9n ZGIvbGFuZ3VhZ2UuYwotQEAgLTc2NSw3ICs3NjUsNyBAQCB1bmtfbGFuZ19wcmludGNoYXIgKGlu dCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSAKLSBzdGF0 aWMgdm9pZAotIHVua19sYW5nX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1 Y3QgdHlwZSAqdHlwZSwKLS0JCSAgIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGlu dCBsZW5ndGgsCi0rCQkgICBjb25zdCBnZGJfYnl0ZSAqc3RyaW5nLCBVTE9OR0VTVCBsZW5ndGgs Ci0gCQkgICBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAotIAkJICAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotQEAgLTc4NCw3 ICs3ODQsNyBAQCB1bmtfbGFuZ19wcmludF90eXBlIChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3Qg Y2hhciAqdmFyc3RyaW5nLAotIAotIHN0YXRpYyB2b2lkCi0gdW5rX2xhbmdfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwKLS0JCSAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIg YWRkcmVzcywKLSsJCSAgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJl c3MsCi0gCQkgICAgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgaW50IHJlY3Vyc2UsCi0gCQkgICAg c3RydWN0IHZhbHVlICp2YWwsCi0gCQkgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlv bnMgKm9wdGlvbnMpCi1kaWZmIC0tZ2l0IGEvZ2RiL2xhbmd1YWdlLmggYi9nZGIvbGFuZ3VhZ2Uu aAotLS0tIGEvZ2RiL2xhbmd1YWdlLmgKLSsrKyBiL2dkYi9sYW5ndWFnZS5oCi1AQCAtMTg0LDcg KzE4NCw3IEBAIHN0cnVjdCBsYW5ndWFnZV9kZWZuCi0gCQkJICBzdHJ1Y3QgdWlfZmlsZSAqIHN0 cmVhbSk7Ci0gCi0gICAgIHZvaWQgKCpsYV9wcmludHN0cikgKHN0cnVjdCB1aV9maWxlICogc3Ry ZWFtLCBzdHJ1Y3QgdHlwZSAqZWx0dHlwZSwKLS0JCQkgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywg dW5zaWduZWQgaW50IGxlbmd0aCwKLSsJCQkgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdF U1QgbGVuZ3RoLAotIAkJCSBjb25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2Vz LAotIAkJCSBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqKTsKLSAKLUBAIC0yMjIs NyArMjIyLDcgQEAgc3RydWN0IGxhbmd1YWdlX2RlZm4KLSAgICAgICAgcHJpbnRpbmcuICAqLwot IAotICAgICB2b2lkICgqbGFfdmFsX3ByaW50KSAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJICBp bnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkgIExPTkdFU1QgZW1i ZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSAJCQkgIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sIGludCByZWN1cnNlLAotIAkJCSAgc3RydWN0IHZhbHVlICp2YWwsCi0gCQkJICBjb25z dCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucyk7Ci1kaWZmIC0tZ2l0IGEvZ2Ri L20yLWxhbmcuYyBiL2dkYi9tMi1sYW5nLmMKLS0tLSBhL2dkYi9tMi1sYW5nLmMKLSsrKyBiL2dk Yi9tMi1sYW5nLmMKLUBAIC0xMDMsMTAgKzEwMywxMCBAQCBtMl9wcmludGNoYXIgKGludCBjLCBz dHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSAKLSBzdGF0aWMgdm9p ZAotIG0yX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlw ZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKLS0JICAgICB1bnNpZ25lZCBpbnQgbGVuZ3RoLCBj b25zdCBjaGFyICplbmNvZGluZywgaW50IGZvcmNlX2VsbGlwc2VzLAotKwkgICAgIFVMT05HRVNU IGxlbmd0aCwgY29uc3QgY2hhciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAg ICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLSB7Ci0tICB1bnNp Z25lZCBpbnQgaTsKLSsgIFVMT05HRVNUIGk7Ci0gICB1bnNpZ25lZCBpbnQgdGhpbmdzX3ByaW50 ZWQgPSAwOwotICAgaW50IGluX3F1b3RlcyA9IDA7Ci0gICBpbnQgbmVlZF9jb21tYSA9IDA7Ci1A QCAtMTIxLDkgKzEyMSw5IEBAIG0yX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBz dHJ1Y3QgdHlwZSAqdHlwZSwgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywKLSAgICAgewotICAgICAg IC8qIFBvc2l0aW9uIG9mIHRoZSBjaGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwotICAgICAgICAg IHRvIHNlZSB3aGV0aGVyIGl0IGlzIHJlcGVhdGVkLiAgKi8KLS0gICAgICB1bnNpZ25lZCBpbnQg cmVwMTsKLSsgICAgICBVTE9OR0VTVCByZXAxOwotICAgICAgIC8qIE51bWJlciBvZiByZXBldGl0 aW9ucyB3ZSBoYXZlIGRldGVjdGVkIHNvIGZhci4gICovCi0tICAgICAgdW5zaWduZWQgaW50IHJl cHM7Ci0rICAgICAgVUxPTkdFU1QgcmVwczsKLSAKLSAgICAgICBRVUlUOwotIAotQEAgLTE0OSw3 ICsxNDksNyBAQCBtMl9wcmludHN0ciAoc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwgc3RydWN0IHR5 cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsCi0gCSAgICAgIGluX3F1b3RlcyA9IDA7 Ci0gCSAgICB9Ci0gCSAgbTJfcHJpbnRjaGFyIChzdHJpbmdbaV0sIHR5cGUsIHN0cmVhbSk7Ci0t CSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRzICV1IHRpbWVzPiIsIHJlcHMp OwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiA8cmVwZWF0cyAlcyB0aW1lcz4iLCBw dWxvbmdlc3QgKHJlcHMpKTsKLSAJICBpID0gcmVwMSAtIDE7Ci0gCSAgdGhpbmdzX3ByaW50ZWQg Kz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKLSAJICBuZWVkX2NvbW1hID0gMTsK LWRpZmYgLS1naXQgYS9nZGIvbTItbGFuZy5oIGIvZ2RiL20yLWxhbmcuaAotLS0tIGEvZ2RiL20y LWxhbmcuaAotKysrIGIvZ2RiL20yLWxhbmcuaAotQEAgLTM1LDcgKzM1LDcgQEAgZXh0ZXJuIHZv aWQgbTJfcHJpbnRfdHlwZWRlZiAoc3RydWN0IHR5cGUgKiwgc3RydWN0IHN5bWJvbCAqLAotIGV4 dGVybiBpbnQgbTJfaXNfbG9uZ19zZXQgKHN0cnVjdCB0eXBlICp0eXBlKTsKLSBleHRlcm4gaW50 IG0yX2lzX3VuYm91bmRlZF9hcnJheSAoc3RydWN0IHR5cGUgKnR5cGUpOwotIAotLWV4dGVybiB2 b2lkIG0yX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKiwgaW50LCBDT1JFX0FERFIsCi0rZXh0ZXJu IHZvaWQgbTJfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqLCBMT05HRVNULCBDT1JFX0FERFIsCi0g CQkJICBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0gCQkJICBzdHJ1Y3QgdmFsdWUgKiwKLSAJCQkg IGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRpb25zICopOwotZGlmZiAtLWdpdCBhL2dkYi9t Mi10eXBlcHJpbnQuYyBiL2dkYi9tMi10eXBlcHJpbnQuYwotLS0tIGEvZ2RiL20yLXR5cGVwcmlu dC5jCi0rKysgYi9nZGIvbTItdHlwZXByaW50LmMKLUBAIC0yMzQsOSArMjM0LDEyIEBAIHN0YXRp YyB2b2lkIG0yX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSwKLSAJICBtMl9wcmludF9ib3VuZHMgKFRZUEVfSU5ERVhfVFlQRSAodHlwZSksIHN0cmVhbSwg c2hvdywgLTEsIDEpOwotIAl9Ci0gICAgICAgZWxzZQotLQlmcHJpbnRmX2ZpbHRlcmVkIChzdHJl YW0sICIlZCIsCi0tCQkJICAoVFlQRV9MRU5HVEggKHR5cGUpCi0tCQkJICAgLyBUWVBFX0xFTkdU SCAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpKSk7Ci0rICAgICAgICB7Ci0rCSAgVUxPTkdFU1Qg dmFsID0gKFRZUEVfTEVOR1RIICh0eXBlKQotKwkJCSAgLyBUWVBFX0xFTkdUSCAoVFlQRV9UQVJH RVRfVFlQRSAodHlwZSkpKTsKLSsKLSsJICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlcyIs IHB1bG9uZ2VzdCAodmFsKSk7Ci0rCX0KLSAgICAgfQotICAgZnByaW50Zl9maWx0ZXJlZCAoc3Ry ZWFtLCAiXSBPRiAiKTsKLSAgIG0yX3ByaW50X3R5cGUgKFRZUEVfVEFSR0VUX1RZUEUgKHR5cGUp LCAiIiwgc3RyZWFtLCBzaG93LCBsZXZlbCwgZmxhZ3MpOwotZGlmZiAtLWdpdCBhL2dkYi9tMi12 YWxwcmludC5jIGIvZ2RiL20yLXZhbHByaW50LmMKLS0tLSBhL2dkYi9tMi12YWxwcmludC5jCi0r KysgYi9nZGIvbTItdmFscHJpbnQuYwotQEAgLTM1LDcgKzM1LDcgQEAgc3RhdGljIGludCBwcmlu dF91bnBhY2tlZF9wb2ludGVyIChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCQkJICAgc3RydWN0IHVp X2ZpbGUgKnN0cmVhbSk7Ci0gc3RhdGljIHZvaWQKLSBtMl9wcmludF9hcnJheV9jb250ZW50cyAo c3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotLQkJCSBpbnQgZW1i ZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVzcywKLSsJCQkgTE9OR0VTVCBlbWJlZGRlZF9v ZmZzZXQsIENPUkVfQUREUiBhZGRyZXNzLAotIAkJCSBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBp bnQgcmVjdXJzZSwKLSAJCQkgc3RydWN0IHZhbHVlICp2YWwsCi0gCQkJIGNvbnN0IHN0cnVjdCB2 YWx1ZV9wcmludF9vcHRpb25zICpvcHRpb25zLAotQEAgLTY3LDcgKzY3LDcgQEAgZ2V0X2xvbmdf c2V0X2JvdW5kcyAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgKmxvdywgTE9OR0VTVCAqaGln aCkKLSAKLSBzdGF0aWMgdm9pZAotIG0yX3ByaW50X2xvbmdfc2V0IChzdHJ1Y3QgdHlwZSAqdHlw ZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBD T1JFX0FERFIgYWRkcmVzcywKLSsJCSAgIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FE RFIgYWRkcmVzcywKLSAJCSAgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0pCi0gewotICAgaW50IGVt cHR5X3NldCAgICAgICAgPSAxOwotQEAgLTE1OCw3ICsxNTgsNyBAQCBtMl9wcmludF9sb25nX3Nl dCAoc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyLAotIAotIHN0YXRp YyB2b2lkCi0gbTJfcHJpbnRfdW5ib3VuZGVkX2FycmF5IChzdHJ1Y3QgdHlwZSAqdHlwZSwgY29u c3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkJICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FE RFIgYWRkcmVzcywKLSsJCQkgIExPTkdFU1QgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRk cmVzcywKLSAJCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAotIAkJCSAg Y29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotQEAgLTI2MCw3 ICsyNjAsNyBAQCBwcmludF92YXJpYWJsZV9hdF9hZGRyZXNzIChzdHJ1Y3QgdHlwZSAqdHlwZSwK LSAKLSBzdGF0aWMgdm9pZAotIG0yX3ByaW50X2FycmF5X2NvbnRlbnRzIChzdHJ1Y3QgdHlwZSAq dHlwZSwgY29uc3QgZ2RiX2J5dGUgKnZhbGFkZHIsCi0tCQkJIGludCBlbWJlZGRlZF9vZmZzZXQs IENPUkVfQUREUiBhZGRyZXNzLAotKwkJCSBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9B RERSIGFkZHJlc3MsCi0gCQkJIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAot IAkJCSBzdHJ1Y3QgdmFsdWUgKnZhbCwKLSAJCQkgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMsCi1AQCAtMzA4LDEyICszMDgsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBtMl9kZWNvcmF0aW9ucyA9Ci0gICAgZnVu Y3Rpb247IHRoZXkgYXJlIGlkZW50aWNhbC4gICovCi0gCi0gdm9pZAotLW0yX3ZhbF9wcmludCAo c3RydWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0rbTJfdmFsX3ByaW50IChz dHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsCi0gCSAgICAgIENPUkVf QUREUiBhZGRyZXNzLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJICAg ICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJICAgICAgY29uc3Qgc3RydWN0IHZh bHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotLSAgdW5zaWduZWQgbGVuOwotKyAgVUxP TkdFU1QgbGVuOwotICAgc3RydWN0IHR5cGUgKmVsdHR5cGU7Ci0gICBDT1JFX0FERFIgYWRkcjsK LSAgIGNvbnN0IGdkYl9ieXRlICp2YWxhZGRyID0gdmFsdWVfY29udGVudHNfZm9yX3ByaW50aW5n IChvcmlnaW5hbF92YWx1ZSk7Ci1AQCAtMzM5LDcgKzMzOSw3IEBAIG0yX3ZhbF9wcmludCAoc3Ry dWN0IHR5cGUgKnR5cGUsIGludCBlbWJlZGRlZF9vZmZzZXQsCi0gCSAgICAgICAgIGVsZW1lbnRz IHVwIHRvIGl0LiAgKi8KLSAJICAgICAgaWYgKG9wdGlvbnMtPnN0b3BfcHJpbnRfYXRfbnVsbCkK LSAJCXsKLS0JCSAgdW5zaWduZWQgaW50IHRlbXBfbGVuOwotKwkJICBVTE9OR0VTVCB0ZW1wX2xl bjsKLSAKLSAJCSAgLyogTG9vayBmb3IgYSBOVUxMIGNoYXIuICAqLwotIAkJICBmb3IgKHRlbXBf bGVuID0gMDsKLUBAIC00MTQsNyArNDE0LDcgQEAgbTJfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAq dHlwZSwgaW50IGVtYmVkZGVkX29mZnNldCwKLSAJewotIAkgIHN0cnVjdCB0eXBlICpyYW5nZSA9 IGVsdHR5cGU7Ci0gCSAgTE9OR0VTVCBsb3dfYm91bmQsIGhpZ2hfYm91bmQ7Ci0tCSAgaW50IGk7 Ci0rCSAgTE9OR0VTVCBpOwotIAkgIGludCBuZWVkX2NvbW1hID0gMDsKLSAKLSAJICBmcHV0c19m aWx0ZXJlZCAoInsiLCBzdHJlYW0pOwotZGlmZiAtLWdpdCBhL2dkYi9tZW1yYW5nZS5jIGIvZ2Ri L21lbXJhbmdlLmMKLS0tLSBhL2dkYi9tZW1yYW5nZS5jCi0rKysgYi9nZGIvbWVtcmFuZ2UuYwot QEAgLTIyLDggKzIyLDggQEAKLSAjaW5jbHVkZSA8YWxnb3JpdGhtPgotIAotIGludAotLW1lbV9y YW5nZXNfb3ZlcmxhcCAoQ09SRV9BRERSIHN0YXJ0MSwgaW50IGxlbjEsCi0tCQkgICAgQ09SRV9B RERSIHN0YXJ0MiwgaW50IGxlbjIpCi0rbWVtX3Jhbmdlc19vdmVybGFwIChDT1JFX0FERFIgc3Rh cnQxLCBMT05HRVNUIGxlbjEsCi0rCQkgICAgQ09SRV9BRERSIHN0YXJ0MiwgTE9OR0VTVCBsZW4y KQotIHsKLSAgIFVMT05HRVNUIGgsIGw7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL21lbXJhbmdlLmgg Yi9nZGIvbWVtcmFuZ2UuaAotLS0tIGEvZ2RiL21lbXJhbmdlLmgKLSsrKyBiL2dkYi9tZW1yYW5n ZS5oCi1AQCAtMjgsNyArMjgsNyBAQCBzdHJ1Y3QgbWVtX3JhbmdlCi0gewotICAgbWVtX3Jhbmdl ICgpID0gZGVmYXVsdDsKLSAKLS0gIG1lbV9yYW5nZSAoQ09SRV9BRERSIHN0YXJ0XywgaW50IGxl bmd0aF8pCi0rICBtZW1fcmFuZ2UgKENPUkVfQUREUiBzdGFydF8sIExPTkdFU1QgbGVuZ3RoXykK LSAgIDogc3RhcnQgKHN0YXJ0XyksIGxlbmd0aCAobGVuZ3RoXykKLSAgIHt9Ci0gCi1AQCAtNDcs MTQgKzQ3LDE0IEBAIHN0cnVjdCBtZW1fcmFuZ2UKLSAgIENPUkVfQUREUiBzdGFydDsKLSAKLSAg IC8qIExlbmd0aCBvZiB0aGUgcmFuZ2UuICAqLwotLSAgaW50IGxlbmd0aDsKLSsgIExPTkdFU1Qg bGVuZ3RoOwotIH07Ci0gCi0gLyogUmV0dXJucyB0cnVlIGlmIHRoZSByYW5nZXMgZGVmaW5lZCBi eSBbc3RhcnQxLCBzdGFydDErbGVuMSkgYW5kCi0gICAgW3N0YXJ0Miwgc3RhcnQyK2xlbjIpIG92 ZXJsYXAuICAqLwotIAotLWV4dGVybiBpbnQgbWVtX3Jhbmdlc19vdmVybGFwIChDT1JFX0FERFIg c3RhcnQxLCBpbnQgbGVuMSwKLS0JCQkgICAgICAgQ09SRV9BRERSIHN0YXJ0MiwgaW50IGxlbjIp OwotK2V4dGVybiBpbnQgbWVtX3Jhbmdlc19vdmVybGFwIChDT1JFX0FERFIgc3RhcnQxLCBMT05H RVNUIGxlbjEsCi0rCQkJICAgICAgIENPUkVfQUREUiBzdGFydDIsIExPTkdFU1QgbGVuMik7Ci0g Ci0gLyogUmV0dXJucyB0cnVlIGlmIEFERFIgaXMgaW4gUkFOR0UuICAqLwotIAotZGlmZiAtLWdp dCBhL2dkYi9taXBzLWxpbnV4LW5hdC5jIGIvZ2RiL21pcHMtbGludXgtbmF0LmMKLS0tLSBhL2dk Yi9taXBzLWxpbnV4LW5hdC5jCi0rKysgYi9nZGIvbWlwcy1saW51eC1uYXQuYwotQEAgLTYxMCw3 ICs2MTAsNyBAQCBtaXBzX2xpbnV4X25hdF90YXJnZXQ6OnN0b3BwZWRfZGF0YV9hZGRyZXNzIChD T1JFX0FERFIgKnBhZGRyKQotICAgIHRoZSBzcGVjaWZpZWQgcmVnaW9uIGNhbiBiZSBjb3ZlcmVk IGJ5IHRoZSB3YXRjaCByZWdpc3RlcnMuICAqLwotIAotIGludAotLW1pcHNfbGludXhfbmF0X3Rh cmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxl bikKLSttaXBzX2xpbnV4X25hdF90YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKQotIHsKLSAgIHN0cnVjdCBwdF93YXRjaF9yZWdz IGR1bW15X3JlZ3M7Ci0gICBpbnQgaTsKLWRpZmYgLS1naXQgYS9nZGIvbmF0L3g4Ni1kcmVncy5j IGIvZ2RiL25hdC94ODYtZHJlZ3MuYwotLS0tIGEvZ2RiL25hdC94ODYtZHJlZ3MuYwotKysrIGIv Z2RiL25hdC94ODYtZHJlZ3MuYwotQEAgLTM4MCw3ICszODAsNyBAQCB4ODZfcmVtb3ZlX2FsaWdu ZWRfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIAotIHN0 YXRpYyBpbnQKLSB4ODZfaGFuZGxlX25vbmFsaWduZWRfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9k ZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotLQkJCQkgIHg4Nl93cF9vcF90IHdoYXQsIENPUkVfQURE UiBhZGRyLCBpbnQgbGVuLAotKwkJCQkgIHg4Nl93cF9vcF90IHdoYXQsIENPUkVfQUREUiBhZGRy LCBMT05HRVNUIGxlbiwKLSAJCQkJICBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCi0gewot ICAgaW50IHJldHZhbCA9IDA7Ci1AQCAtNTQ4LDcgKzU0OCw3IEBAIHg4Nl9kcl9yZW1vdmVfd2F0 Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19yZWdfc3RhdGUgKnN0YXRlLAotIAotIGludAotIHg4 Nl9kcl9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRl ICpzdGF0ZSwKLS0JCQkJIENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotKwkJCQkgQ09SRV9BRERS IGFkZHIsIExPTkdFU1QgbGVuKQotIHsKLSAgIGludCBucmVnczsKLSAKLWRpZmYgLS1naXQgYS9n ZGIvbmF0L3g4Ni1kcmVncy5oIGIvZ2RiL25hdC94ODYtZHJlZ3MuaAotLS0tIGEvZ2RiL25hdC94 ODYtZHJlZ3MuaAotKysrIGIvZ2RiL25hdC94ODYtZHJlZ3MuaAotQEAgLTExNyw3ICsxMTcsNyBA QCBleHRlcm4gaW50IHg4Nl9kcl9yZW1vdmVfd2F0Y2hwb2ludCAoc3RydWN0IHg4Nl9kZWJ1Z19y ZWdfc3RhdGUgKnN0YXRlLAotIC8qIFJldHVybiBub24temVybyBpZiB3ZSBjYW4gd2F0Y2ggYSBt ZW1vcnkgcmVnaW9uIHRoYXQgc3RhcnRzIGF0Ci0gICAgYWRkcmVzcyBBRERSIGFuZCB3aG9zZSBs ZW5ndGggaXMgTEVOIGJ5dGVzLiAgKi8KLSBleHRlcm4gaW50IHg4Nl9kcl9yZWdpb25fb2tfZm9y X3dhdGNocG9pbnQgKHN0cnVjdCB4ODZfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLS0JCQkJCSAg ICBDT1JFX0FERFIgYWRkciwgaW50IGxlbik7Ci0rCQkJCQkgICAgQ09SRV9BRERSIGFkZHIsIExP TkdFU1QgbGVuKTsKLSAKLSAvKiBJZiB0aGUgaW5mZXJpb3IgaGFzIHNvbWUgYnJlYWsvd2F0Y2hw b2ludCB0aGF0IHRyaWdnZXJlZCwgc2V0IHRoZQotICAgIGFkZHJlc3MgYXNzb2NpYXRlZCB3aXRo IHRoYXQgYnJlYWsvd2F0Y2hwb2ludCBhbmQgcmV0dXJuIHRydWUuCi1kaWZmIC0tZ2l0IGEvZ2Ri L29wZW5jbC1sYW5nLmMgYi9nZGIvb3BlbmNsLWxhbmcuYwotLS0tIGEvZ2RiL29wZW5jbC1sYW5n LmMKLSsrKyBiL2dkYi9vcGVuY2wtbGFuZy5jCi1AQCAtNzYsMTEgKzc2LDExIEBAIGJ1aWx0aW5f b3BlbmNsX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoKQotIAotIHN0YXRpYyBzdHJ1Y3Qg dHlwZSAqCi0gbG9va3VwX29wZW5jbF92ZWN0b3JfdHlwZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIGVudW0gdHlwZV9jb2RlIGNvZGUsCi0tCQkJICAgdW5zaWduZWQgaW50IGVsX2xlbmd0aCwg dW5zaWduZWQgaW50IGZsYWdfdW5zaWduZWQsCi0rCQkJICAgVUxPTkdFU1QgZWxfbGVuZ3RoLCB1 bnNpZ25lZCBpbnQgZmxhZ191bnNpZ25lZCwKLSAJCQkgICBpbnQgbikKLSB7Ci0gICBpbnQgaTsK LS0gIHVuc2lnbmVkIGludCBsZW5ndGg7Ci0rICBVTE9OR0VTVCBsZW5ndGg7Ci0gICBzdHJ1Y3Qg dHlwZSAqdHlwZSA9IE5VTEw7Ci0gICBzdHJ1Y3QgdHlwZSAqKnR5cGVzID0gYnVpbHRpbl9vcGVu Y2xfdHlwZSAoZ2RiYXJjaCk7Ci0gCi1AQCAtMTcyLDcgKzE3Miw3IEBAIGx2YWxfZnVuY19yZWFk IChzdHJ1Y3QgdmFsdWUgKnYpCi0gICBzdHJ1Y3QgdHlwZSAqZWx0eXBlID0gVFlQRV9UQVJHRVRf VFlQRSAoY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYy0+dmFsKSkpOwotICAgTE9OR0VTVCBv ZmZzZXQgPSB2YWx1ZV9vZmZzZXQgKHYpOwotICAgTE9OR0VTVCBlbHNpemUgPSBUWVBFX0xFTkdU SCAoZWx0eXBlKTsKLS0gIGludCBuLCBpLCBqID0gMDsKLSsgIExPTkdFU1QgbiwgaSwgaiA9IDA7 Ci0gICBMT05HRVNUIGxvd2IgPSAwOwotICAgTE9OR0VTVCBoaWdoYiA9IDA7Ci0gCi1AQCAtMjAx LDcgKzIwMSw3IEBAIGx2YWxfZnVuY193cml0ZSAoc3RydWN0IHZhbHVlICp2LCBzdHJ1Y3QgdmFs dWUgKmZyb212YWwpCi0gICBzdHJ1Y3QgdHlwZSAqZWx0eXBlID0gVFlQRV9UQVJHRVRfVFlQRSAo Y2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYy0+dmFsKSkpOwotICAgTE9OR0VTVCBvZmZzZXQg PSB2YWx1ZV9vZmZzZXQgKHYpOwotICAgTE9OR0VTVCBlbHNpemUgPSBUWVBFX0xFTkdUSCAoZWx0 eXBlKTsKLS0gIGludCBuLCBpLCBqID0gMDsKLSsgIExPTkdFU1QgbiwgaSwgaiA9IDA7Ci0gICBM T05HRVNUIGxvd2IgPSAwOwotICAgTE9OR0VTVCBoaWdoYiA9IDA7Ci0gCi1AQCAtMjQxLDE3ICsy NDEsMTcgQEAgbHZhbF9mdW5jX3dyaXRlIChzdHJ1Y3QgdmFsdWUgKnYsIHN0cnVjdCB2YWx1ZSAq ZnJvbXZhbCkKLSAKLSBzdGF0aWMgaW50Ci0gbHZhbF9mdW5jX2NoZWNrX3N5bnRoZXRpY19wb2lu dGVyIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnYsCi0tCQkJCSAgIExPTkdFU1Qgb2Zmc2V0LCBpbnQg bGVuZ3RoKQotKwkJCQkgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW5ndGgpCi0gewotICAg c3RydWN0IGx2YWxfY2xvc3VyZSAqYyA9IChzdHJ1Y3QgbHZhbF9jbG9zdXJlICopIHZhbHVlX2Nv bXB1dGVkX2Nsb3N1cmUgKHYpOwotICAgLyogU2l6ZSBvZiB0aGUgdGFyZ2V0IHR5cGUgaW4gYml0 cy4gICovCi0tICBpbnQgZWxzaXplID0KLSsgIExPTkdFU1QgZWxzaXplID0KLSAgICAgICBUWVBF X0xFTkdUSCAoVFlQRV9UQVJHRVRfVFlQRSAoY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYy0+ dmFsKSkpKSAqIDg7Ci0tICBpbnQgc3RhcnRyZXN0ID0gb2Zmc2V0ICUgZWxzaXplOwotLSAgaW50 IHN0YXJ0ID0gb2Zmc2V0IC8gZWxzaXplOwotLSAgaW50IGVuZHJlc3QgPSAob2Zmc2V0ICsgbGVu Z3RoKSAlIGVsc2l6ZTsKLS0gIGludCBlbmQgPSAob2Zmc2V0ICsgbGVuZ3RoKSAvIGVsc2l6ZTsK LS0gIGludCBpOwotKyAgTE9OR0VTVCBzdGFydHJlc3QgPSBvZmZzZXQgJSBlbHNpemU7Ci0rICBM T05HRVNUIHN0YXJ0ID0gb2Zmc2V0IC8gZWxzaXplOwotKyAgTE9OR0VTVCBlbmRyZXN0ID0gKG9m ZnNldCArIGxlbmd0aCkgJSBlbHNpemU7Ci0rICBMT05HRVNUIGVuZCA9IChvZmZzZXQgKyBsZW5n dGgpIC8gZWxzaXplOwotKyAgTE9OR0VTVCBpOwotIAotICAgaWYgKGVuZHJlc3QpCi0gICAgIGVu ZCsrOwotQEAgLTI2MSw4ICsyNjEsOCBAQCBsdmFsX2Z1bmNfY2hlY2tfc3ludGhldGljX3BvaW50 ZXIgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdiwKLSAKLSAgIGZvciAoaSA9IHN0YXJ0OyBpIDwgZW5k OyBpKyspCi0gICAgIHsKLS0gICAgICBpbnQgY29tcF9vZmZzZXQgPSAoaSA9PSBzdGFydCkgPyBz dGFydHJlc3QgOiAwOwotLSAgICAgIGludCBjb21wX2xlbmd0aCA9IChpID09IGVuZCkgPyBlbmRy ZXN0IDogZWxzaXplOwotKyAgICAgIExPTkdFU1QgY29tcF9vZmZzZXQgPSAoaSA9PSBzdGFydCkg PyBzdGFydHJlc3QgOiAwOwotKyAgICAgIExPTkdFU1QgY29tcF9sZW5ndGggPSAoaSA9PSBlbmQp ID8gZW5kcmVzdCA6IGVsc2l6ZTsKLSAKLSAgICAgICBpZiAoIXZhbHVlX2JpdHNfc3ludGhldGlj X3BvaW50ZXIgKGMtPnZhbCwKLSAJCQkJCSBjLT5pbmRpY2VzW2ldICogZWxzaXplICsgY29tcF9v ZmZzZXQsCi1kaWZmIC0tZ2l0IGEvZ2RiL3AtbGFuZy5jIGIvZ2RiL3AtbGFuZy5jCi0tLS0gYS9n ZGIvcC1sYW5nLmMKLSsrKyBiL2dkYi9wLWxhbmcuYwotQEAgLTkzLDggKzkzLDggQEAgcGFzY2Fs X21haW5fbmFtZSAodm9pZCkKLSAgICBhcmUgbm90IG11bHRpcGxlIG9mIFRBUkdFVF9DSEFSX0JJ VCB0aGVuIHRoZSByZXN1bHRzIGFyZSB3cm9uZwotICAgIGJ1dCB0aGlzIGRvZXMgbm90IGhhcHBl biBmb3IgRnJlZSBQYXNjYWwgbm9yIGZvciBHUEMuICAqLwotIGludAotLWlzX3Bhc2NhbF9zdHJp bmdfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsaW50ICpsZW5ndGhfcG9zLAotLSAgICAgICAgICAg ICAgICAgICAgICAgaW50ICpsZW5ndGhfc2l6ZSwgaW50ICpzdHJpbmdfcG9zLAotK2lzX3Bhc2Nh bF9zdHJpbmdfdHlwZSAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgKmxlbmd0aF9wb3MsCi0r CQkgICAgICAgTE9OR0VTVCAqbGVuZ3RoX3NpemUsIExPTkdFU1QgKnN0cmluZ19wb3MsCi0gCQkg ICAgICAgc3RydWN0IHR5cGUgKipjaGFyX3R5cGUsCi0gCQkgICAgICAgY29uc3QgY2hhciAqKmFy cmF5bmFtZSkKLSB7Ci1AQCAtMjE0LDEyICsyMTQsMTIgQEAgcGFzY2FsX3ByaW50Y2hhciAoaW50 IGMsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtKQotIAotIHZvaWQK LSBwYXNjYWxfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0 eXBlLAotLQkJIGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIHVuc2lnbmVkIGludCBsZW5ndGgsCi0r CQkgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgVUxPTkdFU1QgbGVuZ3RoLAotIAkJIGNvbnN0IGNo YXIgKmVuY29kaW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCi0gCQkgY29uc3Qgc3RydWN0IHZhbHVl X3ByaW50X29wdGlvbnMgKm9wdGlvbnMpCi0gewotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdldF90eXBlX2FyY2ggKHR5cGUpKTsKLS0gIHVuc2ln bmVkIGludCBpOwotKyAgVUxPTkdFU1QgaTsKLSAgIHVuc2lnbmVkIGludCB0aGluZ3NfcHJpbnRl ZCA9IDA7Ci0gICBpbnQgaW5fcXVvdGVzID0gMDsKLSAgIGludCBuZWVkX2NvbW1hID0gMDsKLUBA IC0yNDcsOSArMjQ3LDkgQEAgcGFzY2FsX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFt LCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAgICAgewotICAgICAgIC8qIFBvc2l0aW9uIG9mIHRoZSBj aGFyYWN0ZXIgd2UgYXJlIGV4YW1pbmluZwotICAgICAgICAgIHRvIHNlZSB3aGV0aGVyIGl0IGlz IHJlcGVhdGVkLiAgKi8KLS0gICAgICB1bnNpZ25lZCBpbnQgcmVwMTsKLSsgICAgICBVTE9OR0VT VCByZXAxOwotICAgICAgIC8qIE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBoYXZlIGRldGVjdGVk IHNvIGZhci4gICovCi0tICAgICAgdW5zaWduZWQgaW50IHJlcHM7Ci0rICAgICAgVUxPTkdFU1Qg cmVwczsKLSAgICAgICB1bnNpZ25lZCBsb25nIGludCBjdXJyZW50X2NoYXI7Ci0gCi0gICAgICAg UVVJVDsKLUBAIC0yODEsNyArMjgxLDcgQEAgcGFzY2FsX3ByaW50c3RyIChzdHJ1Y3QgdWlfZmls ZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJICAgICAgaW5fcXVvdGVzID0gMDsKLSAJ ICAgIH0KLSAJICBwYXNjYWxfcHJpbnRjaGFyIChjdXJyZW50X2NoYXIsIHR5cGUsIHN0cmVhbSk7 Ci0tCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRzICV1IHRpbWVzPiIsIHJl cHMpOwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiA8cmVwZWF0cyAlcyB0aW1lcz4i LCBwdWxvbmdlc3QgKHJlcHMpKTsKLSAJICBpID0gcmVwMSAtIDE7Ci0gCSAgdGhpbmdzX3ByaW50 ZWQgKz0gb3B0aW9ucy0+cmVwZWF0X2NvdW50X3RocmVzaG9sZDsKLSAJICBuZWVkX2NvbW1hID0g MTsKLWRpZmYgLS1naXQgYS9nZGIvcC1sYW5nLmggYi9nZGIvcC1sYW5nLmgKLS0tLSBhL2dkYi9w LWxhbmcuaAotKysrIGIvZ2RiL3AtbGFuZy5oCi1AQCAtMzcsNyArMzcsNyBAQCBleHRlcm4gdm9p ZCBwYXNjYWxfcHJpbnRfdHlwZSAoc3RydWN0IHR5cGUgKiwgY29uc3QgY2hhciAqLCBzdHJ1Y3Qg dWlfZmlsZSAqLAotIGV4dGVybiB2b2lkIHBhc2NhbF9wcmludF90eXBlZGVmIChzdHJ1Y3QgdHlw ZSAqLCBzdHJ1Y3Qgc3ltYm9sICosCi0gCQkJCSAgc3RydWN0IHVpX2ZpbGUgKik7Ci0gCi0tZXh0 ZXJuIHZvaWQgcGFzY2FsX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKiwgaW50LAotK2V4dGVybiB2 b2lkIHBhc2NhbF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICosIExPTkdFU1QsCi0gCQkJICAgICAg Q09SRV9BRERSLCBzdHJ1Y3QgdWlfZmlsZSAqLCBpbnQsCi0gCQkJICAgICAgc3RydWN0IHZhbHVl ICosCi0gCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci1AQCAt NTEsMTMgKzUxLDEzIEBAIGV4dGVybiB2b2lkIHBhc2NhbF90eXBlX3ByaW50X21ldGhvZF9hcmdz IChjb25zdCBjaGFyICosIGNvbnN0IGNoYXIgKiwKLSAvKiBUaGVzZSBhcmUgaW4gcC1sYW5nLmM6 ICovCi0gCi0gZXh0ZXJuIGludAotLSAgaXNfcGFzY2FsX3N0cmluZ190eXBlIChzdHJ1Y3QgdHlw ZSAqLCBpbnQgKiwgaW50ICosIGludCAqLAotKyAgaXNfcGFzY2FsX3N0cmluZ190eXBlIChzdHJ1 Y3QgdHlwZSAqLCBMT05HRVNUICosIExPTkdFU1QgKiwgTE9OR0VTVCAqLAotIAkJCSBzdHJ1Y3Qg dHlwZSAqKiwgY29uc3QgY2hhciAqKik7Ci0gCi0gZXh0ZXJuIHZvaWQgcGFzY2FsX3ByaW50Y2hh ciAoaW50LCBzdHJ1Y3QgdHlwZSAqLCBzdHJ1Y3QgdWlfZmlsZSAqKTsKLSAKLSBleHRlcm4gdm9p ZCBwYXNjYWxfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICosIHN0cnVjdCB0eXBlICosIGNvbnN0 IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIgKiwgaW50LAot KwkJCSAgICAgVUxPTkdFU1QsIGNvbnN0IGNoYXIgKiwgaW50LAotIAkJCSAgICAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKik7Ci0gCi0gZXh0ZXJuIHN0cnVjdCB0eXBlICoqY29u c3QgcGFzY2FsX2J1aWx0aW5fdHlwZXNbXTsKLWRpZmYgLS1naXQgYS9nZGIvcC12YWxwcmludC5j IGIvZ2RiL3AtdmFscHJpbnQuYwotLS0tIGEvZ2RiL3AtdmFscHJpbnQuYwotKysrIGIvZ2RiL3At dmFscHJpbnQuYwotQEAgLTYwLDcgKzYwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBnZW5lcmlj X3ZhbF9wcmludF9kZWNvcmF0aW9ucyBwX2RlY29yYXRpb25zID0KLSAKLSB2b2lkCi0gcGFzY2Fs X3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkgIGludCBlbWJlZGRlZF9vZmZzZXQs IENPUkVfQUREUiBhZGRyZXNzLAotKwkJICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9B RERSIGFkZHJlc3MsCi0gCQkgIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIGludCByZWN1cnNlLAot IAkJICBzdHJ1Y3QgdmFsdWUgKm9yaWdpbmFsX3ZhbHVlLAotIAkJICBjb25zdCBzdHJ1Y3QgdmFs dWVfcHJpbnRfb3B0aW9ucyAqb3B0aW9ucykKLUBAIC03MCw4ICs3MCw4IEBAIHBhc2NhbF92YWxf cHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLAotICAgdW5zaWduZWQgaW50IGkgPSAwOwkvKiBOdW1i ZXIgb2YgY2hhcmFjdGVycyBwcmludGVkICovCi0gICB1bnNpZ25lZCBsZW47Ci0gICBzdHJ1Y3Qg dHlwZSAqZWx0dHlwZTsKLS0gIHVuc2lnbmVkIGVsdGxlbjsKLS0gIGludCBsZW5ndGhfcG9zLCBs ZW5ndGhfc2l6ZSwgc3RyaW5nX3BvczsKLSsgIFVMT05HRVNUIGVsdGxlbjsKLSsgIExPTkdFU1Qg bGVuZ3RoX3BvcywgbGVuZ3RoX3NpemUsIHN0cmluZ19wb3M7Ci0gICBzdHJ1Y3QgdHlwZSAqY2hh cl90eXBlOwotICAgQ09SRV9BRERSIGFkZHI7Ci0gICBpbnQgd2FudF9zcGFjZSA9IDA7Ci1kaWZm IC0tZ2l0IGEvZ2RiL3BwYy1saW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLS0tLSBh L2dkYi9wcGMtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLUBAIC0xNzE2 LDcgKzE3MTYsNyBAQCBwcGNfbGludXhfbmF0X3RhcmdldDo6Y2FuX3VzZV9od19icmVha3BvaW50 IChlbnVtIGJwdHlwZSB0eXBlLCBpbnQgY250LCBpbnQgb3QpCi0gfQotIAotIGludAotLXBwY19s aW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBh ZGRyLCBpbnQgbGVuKQotK3BwY19saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICAvKiBIYW5kbGUg c3ViLTgtYnl0ZSBxdWFudGl0aWVzLiAgKi8KLSAgIGlmIChsZW4gPD0gMCkKLWRpZmYgLS1naXQg YS9nZGIvcHBjLWxpbnV4LXRkZXAuYyBiL2dkYi9wcGMtbGludXgtdGRlcC5jCi0tLS0gYS9nZGIv cHBjLWxpbnV4LXRkZXAuYwotKysrIGIvZ2RiL3BwYy1saW51eC10ZGVwLmMKLUBAIC0yMjYzLDcg KzIyNjMsNyBAQCBwcGNfaW5pdF9saW51eF9yZWNvcmRfdGRlcCAoc3RydWN0IGxpbnV4X3JlY29y ZF90ZGVwICpyZWNvcmRfdGRlcCwKLSAKLSBjb25zdCBzdHJ1Y3QgZmxvYXRmb3JtYXQgKioKLSBw cGNfZmxvYXRmb3JtYXRfZm9yX3R5cGUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqbmFtZSwgaW50IGxlbikKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIExPTkdFU1QgbGVuKQotIHsKLSAg IGlmIChsZW4gPT0gMTI4ICYmIG5hbWUpCi0gICAgIHsKLWRpZmYgLS1naXQgYS9nZGIvcHJpbnRj bWQuYyBiL2dkYi9wcmludGNtZC5jCi0tLS0gYS9nZGIvcHJpbnRjbWQuYwotKysrIGIvZ2RiL3By aW50Y21kLmMKLUBAIC0yNzYsNyArMjc2LDcgQEAgcHJpbnRfZm9ybWF0dGVkIChzdHJ1Y3QgdmFs dWUgKnZhbCwgaW50IHNpemUsCi0gCQkgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSB7Ci0gICBz dHJ1Y3QgdHlwZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKHZhbCkpOwotLSAg aW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5H VEggKHR5cGUpOwotIAotICAgaWYgKFZBTFVFX0xWQUwgKHZhbCkgPT0gbHZhbF9tZW1vcnkpCi0g ICAgIG5leHRfYWRkcmVzcyA9IHZhbHVlX2FkZHJlc3MgKHZhbCkgKyBsZW47Ci1AQCAtMzUyLDcg KzM1Miw3IEBAIHByaW50X3NjYWxhcl9mb3JtYXR0ZWQgKGNvbnN0IGdkYl9ieXRlICp2YWxhZGRy LCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAJCQlpbnQgc2l6ZSwgc3RydWN0IHVpX2ZpbGUgKnN0cmVh bSkKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCA9IGdldF90eXBlX2FyY2ggKHR5cGUp OwotLSAgdW5zaWduZWQgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIFVMT05HRVNU IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGVudW0gYmZkX2VuZGlhbiBieXRlX29yZGVy ID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKLSAKLSAgIC8qIFN0cmluZyBwcmludGlu ZyBzaG91bGQgZ28gdGhyb3VnaCB2YWxfcHJpbnRfc2NhbGFyX2Zvcm1hdHRlZC4gICovCi1kaWZm IC0tZ2l0IGEvZ2RiL3Byb2Nmcy5jIGIvZ2RiL3Byb2Nmcy5jCi0tLS0gYS9nZGIvcHJvY2ZzLmMK LSsrKyBiL2dkYi9wcm9jZnMuYwotQEAgLTMzNjgsNyArMzM2OCw3IEBAIHByb2Nmc190YXJnZXQ6 OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKLSB9Ci0gCi0gaW50 Ci0tcHJvY2ZzX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwgaW50IGxlbikKLStwcm9jZnNfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICAvKiBUaGUgbWFuIHBhZ2Ug Zm9yIHByb2MoNCkgb24gU29sYXJpcyAyLjYgYW5kIHVwIHNheXMgdGhhdCB0aGUKLSAgICAgIHN5 c3RlbSBjYW4gc3VwcG9ydCAidGhvdXNhbmRzIiBvZiBoYXJkd2FyZSB3YXRjaHBvaW50cywgYnV0 IGdpdmVzCi1kaWZmIC0tZ2l0IGEvZ2RiL3JlZ2NhY2hlLmMgYi9nZGIvcmVnY2FjaGUuYwotLS0t IGEvZ2RiL3JlZ2NhY2hlLmMKLSsrKyBiL2dkYi9yZWdjYWNoZS5jCi1AQCAtNzYzLDcgKzc2Myw3 IEBAIHJlZ2NhY2hlOjpjb29rZWRfd3JpdGUgKGludCByZWdudW0sIGNvbnN0IGdkYl9ieXRlICpi dWYpCi0gLyogU2VlIHJlZ2NhY2hlLmguICAqLwotIAotIGVudW0gcmVnaXN0ZXJfc3RhdHVzCi0t cmVhZGFibGVfcmVnY2FjaGU6OnJlYWRfcGFydCAoaW50IHJlZ251bSwgaW50IG9mZnNldCwgaW50 IGxlbiwKLStyZWFkYWJsZV9yZWdjYWNoZTo6cmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNU IG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJICAgICAgZ2RiX2J5dGUgKm91dCwgYm9vbCBpc19y YXcpCi0gewotICAgaW50IHJlZ19zaXplID0gcmVnaXN0ZXJfc2l6ZSAoYXJjaCAoKSwgcmVnbnVt KTsKLUBAIC04MzAsNyArODMwLDcgQEAgcmVnX2J1ZmZlcjo6cmF3X2NvbGxlY3RfcGFydCAoaW50 IHJlZ251bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLSAvKiBTZWUgcmVnY2FjaGUuaC4gICovCi0g Ci0gZW51bSByZWdpc3Rlcl9zdGF0dXMKLS1yZWdjYWNoZTo6d3JpdGVfcGFydCAoaW50IHJlZ251 bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLStyZWdjYWNoZTo6d3JpdGVfcGFydCAoaW50IHJlZ251 bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAotIAkJICAgICAgY29uc3QgZ2RiX2J5dGUg KmluLCBib29sIGlzX3JhdykKLSB7Ci0gICBpbnQgcmVnX3NpemUgPSByZWdpc3Rlcl9zaXplIChh cmNoICgpLCByZWdudW0pOwotQEAgLTkwMSw3ICs5MDEsNyBAQCByZWdfYnVmZmVyOjpyYXdfc3Vw cGx5X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0gfQotIAotIGVudW0g cmVnaXN0ZXJfc3RhdHVzCi0tcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCBy ZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0rcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFk X3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIExPTkdFU1QgbGVuLAotIAkJCQkgIGdkYl9i eXRlICpidWYpCi0gewotICAgYXNzZXJ0X3JlZ251bSAocmVnbnVtKTsKLUBAIC05MTEsNyArOTEx LDcgQEAgcmVhZGFibGVfcmVnY2FjaGU6OnJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBv ZmZzZXQsIGludCBsZW4sCi0gLyogU2VlIHJlZ2NhY2hlLmguICAqLwotIAotIHZvaWQKLS1yZWdj YWNoZTo6cmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0r cmVnY2FjaGU6OnJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBMT05HRVNU IGxlbiwKLSAJCQkgIGNvbnN0IGdkYl9ieXRlICpidWYpCi0gewotICAgYXNzZXJ0X3JlZ251bSAo cmVnbnVtKTsKLUBAIC05MjEsNyArOTIxLDcgQEAgcmVnY2FjaGU6OnJhd193cml0ZV9wYXJ0IChp bnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotIC8qIFNlZSByZWdjYWNoZS5oLiAgKi8K LSAKLSBlbnVtIHJlZ2lzdGVyX3N0YXR1cwotLXJlYWRhYmxlX3JlZ2NhY2hlOjpjb29rZWRfcmVh ZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotK3JlYWRhYmxlX3JlZ2Nh Y2hlOjpjb29rZWRfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBMT05HRVNUIG9mZnNldCwgTE9OR0VT VCBsZW4sCi0gCQkJCSAgICAgZ2RiX2J5dGUgKmJ1ZikKLSB7Ci0gICBnZGJfYXNzZXJ0IChyZWdu dW0gPj0gMCAmJiByZWdudW0gPCBtX2Rlc2NyLT5ucl9jb29rZWRfcmVnaXN0ZXJzKTsKLUBAIC05 MzEsNyArOTMxLDcgQEAgcmVhZGFibGVfcmVnY2FjaGU6OmNvb2tlZF9yZWFkX3BhcnQgKGludCBy ZWdudW0sIGludCBvZmZzZXQsIGludCBsZW4sCi0gLyogU2VlIHJlZ2NhY2hlLmguICAqLwotIAot IHZvaWQKLS1yZWdjYWNoZTo6Y29va2VkX3dyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZz ZXQsIGludCBsZW4sCi0rcmVnY2FjaGU6OmNvb2tlZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBM T05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJICAgICBjb25zdCBnZGJfYnl0ZSAqYnVm KQotIHsKLSAgIGdkYl9hc3NlcnQgKHJlZ251bSA+PSAwICYmIHJlZ251bSA8IG1fZGVzY3ItPm5y X2Nvb2tlZF9yZWdpc3RlcnMpOwotZGlmZiAtLWdpdCBhL2dkYi9yZWdjYWNoZS5oIGIvZ2RiL3Jl Z2NhY2hlLmgKLS0tLSBhL2dkYi9yZWdjYWNoZS5oCi0rKysgYi9nZGIvcmVnY2FjaGUuaAotQEAg LTI3Myw4ICsyNzMsOCBAQCBwdWJsaWM6Ci0gICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVh ZCAoaW50IHJlZ251bSwgVCAqdmFsKTsKLSAKLSAgIC8qIFBhcnRpYWwgdHJhbnNmZXIgb2YgcmF3 IHJlZ2lzdGVycy4gIFJldHVybiB0aGUgc3RhdHVzIG9mIHRoZSByZWdpc3Rlci4gICovCi0tICBl bnVtIHJlZ2lzdGVyX3N0YXR1cyByYXdfcmVhZF9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0 LCBpbnQgbGVuLAotLQkJCQkgICAgICBnZGJfYnl0ZSAqYnVmKTsKLSsgIGVudW0gcmVnaXN0ZXJf c3RhdHVzIHJhd19yZWFkX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsCi0rCQkJCSAgICAg IExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKTsKLSAKLSAgIC8qIE1ha2UgY2VydGFpbiB0aGF0 IHRoZSByZWdpc3RlciBSRUdOVU0gaXMgdXAtdG8tZGF0ZS4gICovCi0gICB2aXJ0dWFsIHZvaWQg cmF3X3VwZGF0ZSAoaW50IHJlZ251bSkgPSAwOwotQEAgLTI4Niw4ICsyODYsOCBAQCBwdWJsaWM6 Ci0gICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyBjb29rZWRfcmVhZCAoaW50IHJlZ251bSwgVCAqdmFs KTsKLSAKLSAgIC8qIFBhcnRpYWwgdHJhbnNmZXIgb2YgYSBjb29rZWQgcmVnaXN0ZXIuICAqLwot LSAgZW51bSByZWdpc3Rlcl9zdGF0dXMgY29va2VkX3JlYWRfcGFydCAoaW50IHJlZ251bSwgaW50 IG9mZnNldCwgaW50IGxlbiwKLS0JCQkJCSBnZGJfYnl0ZSAqYnVmKTsKLSsgIGVudW0gcmVnaXN0 ZXJfc3RhdHVzIGNvb2tlZF9yZWFkX3BhcnQgKGludCByZWdudW0sIExPTkdFU1Qgb2Zmc2V0LAot KwkJCQkJIExPTkdFU1QgbGVuLCBnZGJfYnl0ZSAqYnVmKTsKLSAKLSAgIC8qIFJlYWQgcmVnaXN0 ZXIgUkVHTlVNIGZyb20gdGhlIHJlZ2NhY2hlIGFuZCByZXR1cm4gYSBuZXcgdmFsdWUuICBUaGlz Ci0gICAgICB3aWxsIGNhbGwgbWFya192YWx1ZV9ieXRlc191bmF2YWlsYWJsZSBhcyBhcHByb3By aWF0ZS4gICovCi1AQCAtMjk3LDcgKzI5Nyw3IEBAIHByb3RlY3RlZDoKLSAKLSAgIC8qIFBlcmZv cm0gYSBwYXJ0aWFsIHJlZ2lzdGVyIHRyYW5zZmVyIHVzaW5nIGEgcmVhZCwgbW9kaWZ5LCB3cml0 ZQotICAgICAgb3BlcmF0aW9uLiAgV2lsbCBmYWlsIGlmIHJlZ2lzdGVyIGlzIGN1cnJlbnRseSBp bnZhbGlkLiAgKi8KLS0gIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJlYWRfcGFydCAoaW50IHJlZ251 bSwgaW50IG9mZnNldCwgaW50IGxlbiwKLSsgIGVudW0gcmVnaXN0ZXJfc3RhdHVzIHJlYWRfcGFy dCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdFU1QgbGVuLAotIAkJCQkgIGdkYl9i eXRlICpvdXQsIGJvb2wgaXNfcmF3KTsKLSB9OwotIAotQEAgLTM1NSwxMSArMzU1LDEyIEBAIHB1 YmxpYzoKLSAKLSAgIC8qIFBhcnRpYWwgdHJhbnNmZXIgb2YgcmF3IHJlZ2lzdGVycy4gIFBlcmZv cm0gcmVhZCwgbW9kaWZ5LCB3cml0ZSBzdHlsZQotICAgICAgb3BlcmF0aW9ucy4gICovCi0tICB2 b2lkIHJhd193cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLCBjb25z dCBnZGJfYnl0ZSAqYnVmKTsKLSsgIHZvaWQgcmF3X3dyaXRlX3BhcnQgKGludCByZWdudW0sIGlu dCBvZmZzZXQsIExPTkdFU1QgbGVuLAotKwkJICAgICAgIGNvbnN0IGdkYl9ieXRlICpidWYpOwot IAotICAgLyogUGFydGlhbCB0cmFuc2ZlciBvZiBhIGNvb2tlZCByZWdpc3Rlci4gIFBlcmZvcm0g cmVhZCwgbW9kaWZ5LCB3cml0ZSBzdHlsZQotICAgICAgb3BlcmF0aW9ucy4gICovCi0tICB2b2lk IGNvb2tlZF93cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBpbnQgb2Zmc2V0LCBpbnQgbGVuLAotKyAg dm9pZCBjb29rZWRfd3JpdGVfcGFydCAoaW50IHJlZ251bSwgTE9OR0VTVCBvZmZzZXQsIExPTkdF U1QgbGVuLAotIAkJCSAgY29uc3QgZ2RiX2J5dGUgKmJ1Zik7Ci0gCi0gICB2b2lkIHN1cHBseV9y ZWdzZXQgKGNvbnN0IHN0cnVjdCByZWdzZXQgKnJlZ3NldCwKLUBAIC00MTAsNyArNDExLDcgQEAg cHJpdmF0ZToKLSAKLSAgIC8qIFBlcmZvcm0gYSBwYXJ0aWFsIHJlZ2lzdGVyIHRyYW5zZmVyIHVz aW5nIGEgcmVhZCwgbW9kaWZ5LCB3cml0ZQotICAgICAgb3BlcmF0aW9uLiAgKi8KLS0gIGVudW0g cmVnaXN0ZXJfc3RhdHVzIHdyaXRlX3BhcnQgKGludCByZWdudW0sIGludCBvZmZzZXQsIGludCBs ZW4sCi0rICBlbnVtIHJlZ2lzdGVyX3N0YXR1cyB3cml0ZV9wYXJ0IChpbnQgcmVnbnVtLCBMT05H RVNUIG9mZnNldCwgTE9OR0VTVCBsZW4sCi0gCQkJCSAgIGNvbnN0IGdkYl9ieXRlICppbiwgYm9v bCBpc19yYXcpOwotIAotICAgLyogVGhlIGFkZHJlc3Mgc3BhY2Ugb2YgdGhpcyByZWdpc3RlciBj YWNoZSAoZm9yIHJlZ2lzdGVycyB3aGVyZSBpdAotZGlmZiAtLWdpdCBhL2dkYi9yZW1vdGUuYyBi L2dkYi9yZW1vdGUuYwotLS0tIGEvZ2RiL3JlbW90ZS5jCi0rKysgYi9nZGIvcmVtb3RlLmMKLUBA IC00NDgsNyArNDQ4LDcgQEAgcHVibGljOgotIAotICAgaW50IHJlbW92ZV9od19icmVha3BvaW50 IChzdHJ1Y3QgZ2RiYXJjaCAqLCBzdHJ1Y3QgYnBfdGFyZ2V0X2luZm8gKikgb3ZlcnJpZGU7Ci0g Ci0tICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIGludCkgb3Zl cnJpZGU7Ci0rICBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIsIExP TkdFU1QpIG92ZXJyaWRlOwotIAotICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIs IGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKLSAJCQkgc3RydWN0IGV4cHJlc3Npb24gKikg b3ZlcnJpZGU7Ci1AQCAtMTAzNjksNyArMTAzNjksNyBAQCBpbnQgcmVtb3RlX2h3X3dhdGNocG9p bnRfbGVuZ3RoX2xpbWl0ID0gLTE7Ci0gaW50IHJlbW90ZV9od19icmVha3BvaW50X2xpbWl0ID0g LTE7Ci0gCi0gaW50Ci0tcmVtb3RlX3RhcmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50 IChDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLStyZW1vdGVfdGFyZ2V0OjpyZWdpb25fb2tfZm9y X2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICBpZiAo cmVtb3RlX2h3X3dhdGNocG9pbnRfbGVuZ3RoX2xpbWl0ID09IDApCi0gICAgIHJldHVybiAwOwot ZGlmZiAtLWdpdCBhL2dkYi9ydXN0LWxhbmcuYyBiL2dkYi9ydXN0LWxhbmcuYwotLS0tIGEvZ2Ri L3J1c3QtbGFuZy5jCi0rKysgYi9nZGIvcnVzdC1sYW5nLmMKLUBAIC0zMDEsNyArMzAxLDcgQEAg cnVzdF9wcmludGNoYXIgKGludCBjLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHVpX2ZpbGUg KnN0cmVhbSkKLSAKLSBzdGF0aWMgdm9pZAotIHJ1c3RfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxl ICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLAotLQkgICAgICAgY29uc3QgZ2RiX2J5dGUgKnN0 cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwKLSsJICAgICAgIGNvbnN0IGdkYl9ieXRlICpzdHJp bmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJICAgICAgIGNvbnN0IGNoYXIgKnVzZXJfZW5jb2Rpbmcs IGludCBmb3JjZV9lbGxpcHNlcywKLSAJICAgICAgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9v cHRpb25zICpvcHRpb25zKQotIHsKLUBAIC01MTcsNyArNTE3LDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBnZW5lcmljX3ZhbF9wcmludF9kZWNvcmF0aW9ucyBydXN0X2RlY29yYXRpb25zID0KLSAv KiBsYV92YWxfcHJpbnQgaW1wbGVtZW50YXRpb24gZm9yIFJ1c3QuICAqLwotIAotIHN0YXRpYyB2 b2lkCi0tcnVzdF92YWxfcHJpbnQgKHN0cnVjdCB0eXBlICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zm c2V0LAotK3J1c3RfdmFsX3ByaW50IChzdHJ1Y3QgdHlwZSAqdHlwZSwgTE9OR0VTVCBlbWJlZGRl ZF9vZmZzZXQsCi0gCQlDT1JFX0FERFIgYWRkcmVzcywgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwg aW50IHJlY3Vyc2UsCi0gCQlzdHJ1Y3QgdmFsdWUgKnZhbCwKLSAJCWNvbnN0IHN0cnVjdCB2YWx1 ZV9wcmludF9vcHRpb25zICpvcHRpb25zKQotZGlmZiAtLWdpdCBhL2dkYi9zMzkwLWxpbnV4LW5h dC5jIGIvZ2RiL3MzOTAtbGludXgtbmF0LmMKLS0tLSBhL2dkYi9zMzkwLWxpbnV4LW5hdC5jCi0r KysgYi9nZGIvczM5MC1saW51eC1uYXQuYwotQEAgLTk1MSw3ICs5NTEsOCBAQCBzMzkwX2xpbnV4 X25hdF90YXJnZXQ6OnJlbW92ZV9od19icmVha3BvaW50IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwKLSB9Ci0gCi0gaW50Ci0tczM5MF9saW51eF9uYXRfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgY250KQotK3MzOTBfbGludXhfbmF0X3Rh cmdldDo6cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwKLSsJCQkJ CQkgICAgTE9OR0VTVCBjbnQpCi0gewotICAgcmV0dXJuIDE7Ci0gfQotZGlmZiAtLWdpdCBhL2dk Yi9zcHUtbXVsdGlhcmNoLmMgYi9nZGIvc3B1LW11bHRpYXJjaC5jCi0tLS0gYS9nZGIvc3B1LW11 bHRpYXJjaC5jCi0rKysgYi9nZGIvc3B1LW11bHRpYXJjaC5jCi1AQCAtNjUsNyArNjUsNyBAQCBz dHJ1Y3Qgc3B1X211bHRpYXJjaF90YXJnZXQgZmluYWwgOiBwdWJsaWMgdGFyZ2V0X29wcwotIAkJ ICAgICBjb25zdCBnZGJfYnl0ZSAqcGF0dGVybiwgVUxPTkdFU1QgcGF0dGVybl9sZW4sCi0gCQkg ICAgIENPUkVfQUREUiAqZm91bmRfYWRkcnApIG92ZXJyaWRlOwotIAotLSAgaW50IHJlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAgaW50IHJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsK LSAKLSAgIHN0cnVjdCBnZGJhcmNoICp0aHJlYWRfYXJjaGl0ZWN0dXJlIChwdGlkX3QpIG92ZXJy aWRlOwotIH07Ci1AQCAtMTYyLDcgKzE2Miw3IEBAIHNwdV9tdWx0aWFyY2hfdGFyZ2V0Ojp0aHJl YWRfYXJjaGl0ZWN0dXJlIChwdGlkX3QgcHRpZCkKLSAvKiBPdmVycmlkZSB0aGUgdG9fcmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IHJvdXRpbmUuICAqLwotIAotIGludAotLXNwdV9tdWx0aWFy Y2hfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBp bnQgbGVuKQotK3NwdV9tdWx0aWFyY2hfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNocG9p bnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikKLSB7Ci0gICAvKiBXZSBjYW5ub3Qgd2F0 Y2ggU1BVIGxvY2FsIHN0b3JlLiAgKi8KLSAgIGlmIChTUFVBRERSX1NQVSAoYWRkcikgIT0gLTEp Ci1kaWZmIC0tZ2l0IGEvZ2RiL3N0YWNrLmMgYi9nZGIvc3RhY2suYwotLS0tIGEvZ2RiL3N0YWNr LmMKLSsrKyBiL2dkYi9zdGFjay5jCi1AQCAtMTk0LDcgKzE5NCw3IEBAIHByaW50X3N0YWNrX2Zy YW1lIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCBwcmludF9sZXZlbCwKLSAgICBhcmd1 bWVudCAobm90IGp1c3QgdGhlIGZpcnN0IG5hbWVsZXNzIGFyZ3VtZW50KS4gICovCi0gCi0gc3Rh dGljIHZvaWQKLS1wcmludF9mcmFtZV9uYW1lbGVzc19hcmdzIChzdHJ1Y3QgZnJhbWVfaW5mbyAq ZnJhbWUsIGxvbmcgc3RhcnQsIGludCBudW0sCi0rcHJpbnRfZnJhbWVfbmFtZWxlc3NfYXJncyAo c3RydWN0IGZyYW1lX2luZm8gKmZyYW1lLCBMT05HRVNUIHN0YXJ0LCBpbnQgbnVtLAotIAkJCSAg IGludCBmaXJzdCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSkKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCA9IGdldF9mcmFtZV9hcmNoIChmcmFtZSk7Ci1AQCAtNTQ0LDcgKzU0NCw3IEBA IHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1ib2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZSwKLSAgIC8qIE9mZnNldCBvZiBuZXh0IHN0YWNrIGFyZ3VtZW50IGJleW9uZCB0aGUg b25lIHdlIGhhdmUgc2VlbiB0aGF0IGlzCi0gICAgICBhdCB0aGUgaGlnaGVzdCBvZmZzZXQsIG9y IC0xIGlmIHdlIGhhdmVuJ3QgY29tZSB0byBhIHN0YWNrCi0gICAgICBhcmd1bWVudCB5ZXQuICAq LwotLSAgbG9uZyBoaWdoZXN0X29mZnNldCA9IC0xOwotKyAgTE9OR0VTVCBoaWdoZXN0X29mZnNl dCA9IC0xOwotICAgLyogTnVtYmVyIG9mIGludHMgb2YgYXJndW1lbnRzIHRoYXQgd2UgaGF2ZSBw cmludGVkIHNvIGZhci4gICovCi0gICBpbnQgYXJnc19wcmludGVkID0gMDsKLSAgIC8qIFRydWUg aWYgd2Ugc2hvdWxkIHByaW50IGFyZ3VtZW50cywgZmFsc2Ugb3RoZXJ3aXNlLiAgKi8KLUBAIC01 NzMsOCArNTczLDggQEAgcHJpbnRfZnJhbWVfYXJncyAoc3RydWN0IHN5bWJvbCAqZnVuYywgc3Ry dWN0IGZyYW1lX2luZm8gKmZyYW1lLAotIAkgICAgY2FzZSBMT0NfQVJHOgotIAkgICAgY2FzZSBM T0NfUkVGX0FSRzoKLSAJICAgICAgewotLQkJbG9uZyBjdXJyZW50X29mZnNldCA9IFNZTUJPTF9W QUxVRSAoc3ltKTsKLS0JCWludCBhcmdfc2l6ZSA9IFRZUEVfTEVOR1RIIChTWU1CT0xfVFlQRSAo c3ltKSk7Ci0rCQlMT05HRVNUIGN1cnJlbnRfb2Zmc2V0ID0gU1lNQk9MX1ZBTFVFIChzeW0pOwot KwkJTE9OR0VTVCBhcmdfc2l6ZSA9IFRZUEVfTEVOR1RIIChTWU1CT0xfVFlQRSAoc3ltKSk7Ci0g Ci0gCQkvKiBDb21wdXRlIGFkZHJlc3Mgb2YgbmV4dCBhcmd1bWVudCBieSBhZGRpbmcgdGhlIHNp emUgb2YKLSAJCSAgIHRoaXMgYXJndW1lbnQgYW5kIHJvdW5kaW5nIHRvIGFuIGludCBib3VuZGFy eS4gICovCi1AQCAtNzA5LDcgKzcwOSw3IEBAIHByaW50X2ZyYW1lX2FyZ3MgKHN0cnVjdCBzeW1i b2wgKmZ1bmMsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKLSAgICAgIGVub3VnaCBhYm91dCB0 aGUgc3RhY2sgdG8gZmluZCB0aGVtLiAgKi8KLSAgIGlmIChudW0gIT0gLTEpCi0gICAgIHsKLS0g ICAgICBsb25nIHN0YXJ0OwotKyAgICAgIExPTkdFU1Qgc3RhcnQ7Ci0gCi0gICAgICAgaWYgKGhp Z2hlc3Rfb2Zmc2V0ID09IC0xKQotIAlzdGFydCA9IGdkYmFyY2hfZnJhbWVfYXJnc19za2lwIChn ZXRfZnJhbWVfYXJjaCAoZnJhbWUpKTsKLWRpZmYgLS1naXQgYS9nZGIvc3ltbWlzYy5jIGIvZ2Ri L3N5bW1pc2MuYwotLS0tIGEvZ2RiL3N5bW1pc2MuYwotKysrIGIvZ2RiL3N5bW1pc2MuYwotQEAg LTU4NCwxMSArNTg0LDExIEBAIHByaW50X3N5bWJvbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gs IHN0cnVjdCBzeW1ib2wgKnN5bWJvbCwKLSAKLSAJY2FzZSBMT0NfQ09OU1RfQllURVM6Ci0gCSAg ewotLQkgICAgdW5zaWduZWQgaTsKLSsJICAgIFVMT05HRVNUIGk7Ci0gCSAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSA9IGNoZWNrX3R5cGVkZWYgKFNZTUJPTF9UWVBFIChzeW1ib2wpKTsKLSAKLS0JICAg IGZwcmludGZfZmlsdGVyZWQgKG91dGZpbGUsICJjb25zdCAldSBoZXggYnl0ZXM6IiwKLS0JCQkg ICAgICBUWVBFX0xFTkdUSCAodHlwZSkpOwotKwkgICAgZnByaW50Zl9maWx0ZXJlZCAob3V0Zmls ZSwgImNvbnN0ICVzIGhleCBieXRlczoiLAotKwkJCSAgICAgIHB1bG9uZ2VzdCAoVFlQRV9MRU5H VEggKHR5cGUpKSk7Ci0gCSAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9MRU5HVEggKHR5cGUpOyBp KyspCi0gCSAgICAgIGZwcmludGZfZmlsdGVyZWQgKG91dGZpbGUsICIgJTAyeCIsCi0gCQkJCSh1 bnNpZ25lZCkgU1lNQk9MX1ZBTFVFX0JZVEVTIChzeW1ib2wpW2ldKTsKLWRpZmYgLS1naXQgYS9n ZGIvdGFyZ2V0LWRlbGVnYXRlcy5jIGIvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwotLS0tIGEvZ2Ri L3RhcmdldC1kZWxlZ2F0ZXMuYwotKysrIGIvZ2RiL3RhcmdldC1kZWxlZ2F0ZXMuYwotQEAgLTM4 LDcgKzM4LDcgQEAgc3RydWN0IGR1bW15X3RhcmdldCA6IHB1YmxpYyB0YXJnZXRfb3BzCi0gICBi b29sIGhhdmVfc3RlcHBhYmxlX3dhdGNocG9pbnQgKCkgb3ZlcnJpZGU7Ci0gICBib29sIHN0b3Bw ZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKmFyZzApIG92ZXJyaWRlOwotICAgYm9vbCB3YXRj aHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEs IGludCBhcmcyKSBvdmVycmlkZTsKLS0gIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQg KENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSkgb3ZlcnJpZGU7Ci0rICBpbnQgcmVnaW9uX29rX2Zv cl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxKSBvdmVycmlkZTsK LSAgIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwg aW50IGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykgb3ZlcnJpZGU7Ci0g ICBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3RlcnMgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FE RFIgYXJnMSkgb3ZlcnJpZGU7Ci0gICBpbnQgY2FuX2RvX3NpbmdsZV9zdGVwICgpIG92ZXJyaWRl OwotQEAgLTIwNSw3ICsyMDUsNyBAQCBzdHJ1Y3QgZGVidWdfdGFyZ2V0IDogcHVibGljIHRhcmdl dF9vcHMKLSAgIGJvb2wgaGF2ZV9zdGVwcGFibGVfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAg IGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqYXJnMCkgb3ZlcnJpZGU7Ci0g ICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JF X0FERFIgYXJnMSwgaW50IGFyZzIpIG92ZXJyaWRlOwotLSAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKSBvdmVycmlkZTsKLSsgIGludCBy ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEp IG92ZXJyaWRlOwotICAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVf QUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKSBv dmVycmlkZTsKLSAgIGludCBtYXNrZWRfd2F0Y2hfbnVtX3JlZ2lzdGVycyAoQ09SRV9BRERSIGFy ZzAsIENPUkVfQUREUiBhcmcxKSBvdmVycmlkZTsKLSAgIGludCBjYW5fZG9fc2luZ2xlX3N0ZXAg KCkgb3ZlcnJpZGU7Ci1AQCAtMTA3MSwxOSArMTA3MSwxOSBAQCBkZWJ1Z190YXJnZXQ6OndhdGNo cG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwg aW50Ci0gfQotIAotIGludAotLXRhcmdldF9vcHM6OnJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2lu dCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQotK3RhcmdldF9vcHM6OnJlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkKLSB7Ci0gICByZXR1 cm4gdGhpcy0+YmVuZWF0aCAoKS0+cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChhcmcwLCBh cmcxKTsKLSB9Ci0gCi0gaW50Ci0tZHVtbXlfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3X3dhdGNo cG9pbnQgKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSkKLStkdW1teV90YXJnZXQ6OnJlZ2lvbl9v a19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIExPTkdFU1QgYXJnMSkKLSB7Ci0g ICByZXR1cm4gZGVmYXVsdF9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKHRoaXMsIGFyZzAs IGFyZzEpOwotIH0KLSAKLSBpbnQKLS1kZWJ1Z190YXJnZXQ6OnJlZ2lvbl9va19mb3JfaHdfd2F0 Y2hwb2ludCAoQ09SRV9BRERSIGFyZzAsIGludCBhcmcxKQotK2RlYnVnX3RhcmdldDo6cmVnaW9u X29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxKQotIHsK LSAgIGludCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICItPiAl cy0+cmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50ICguLi4pXG4iLCB0aGlzLT5iZW5lYXRoICgp LT5zaG9ydG5hbWUgKCkpOwotQEAgLTEwOTEsNyArMTA5MSw3IEBAIGRlYnVnX3RhcmdldDo6cmVn aW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgaW50IGFyZzEpCi0gICBm cHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICI8LSAlcy0+cmVnaW9uX29rX2Zvcl9od193 YXRjaHBvaW50ICgiLCB0aGlzLT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkpOwotICAgdGFyZ2V0 X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMCk7Ci0gICBmcHV0c191bmZpbHRlcmVkICgiLCAi LCBnZGJfc3RkbG9nKTsKLS0gIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKGFyZzEpOwotKyAgdGFy Z2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzEpOwotICAgZnB1dHNfdW5maWx0ZXJlZCAoIikg PSAiLCBnZGJfc3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1Z19wcmludF9pbnQgKHJlc3VsdCk7Ci0g ICBmcHV0c191bmZpbHRlcmVkICgiXG4iLCBnZGJfc3RkbG9nKTsKLWRpZmYgLS1naXQgYS9nZGIv dGFyZ2V0LmMgYi9nZGIvdGFyZ2V0LmMKLS0tLSBhL2dkYi90YXJnZXQuYwotKysrIGIvZ2RiL3Rh cmdldC5jCi1AQCAtNTgsNyArNTgsNyBAQCBzdGF0aWMgaW50IGRlZmF1bHRfd2F0Y2hwb2ludF9h ZGRyX3dpdGhpbl9yYW5nZSAoc3RydWN0IHRhcmdldF9vcHMgKiwKLSAJCQkJCQkgQ09SRV9BRERS LCBDT1JFX0FERFIsIGludCk7Ci0gCi0gc3RhdGljIGludCBkZWZhdWx0X3JlZ2lvbl9va19mb3Jf aHdfd2F0Y2hwb2ludCAoc3RydWN0IHRhcmdldF9vcHMgKiwKLS0JCQkJCQlDT1JFX0FERFIsIGlu dCk7Ci0rCQkJCQkJQ09SRV9BRERSLCBMT05HRVNUKTsKLSAKLSBzdGF0aWMgdm9pZCBkZWZhdWx0 X3JjbWQgKHN0cnVjdCB0YXJnZXRfb3BzICosIGNvbnN0IGNoYXIgKiwgc3RydWN0IHVpX2ZpbGUg Kik7Ci0gCi1AQCAtMzExNyw3ICszMTE3LDcgQEAgdGFyZ2V0X2ZpbGVpb19yZWFkX3N0cmFsbG9j IChzdHJ1Y3QgaW5mZXJpb3IgKmluZiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCi0gCi0gc3RhdGlj IGludAotIGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0 X29wcyAqc2VsZiwKLS0JCQkJICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSsJCQkJICAg ICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgcmV0dXJuIChsZW4gPD0gZ2Ri YXJjaF9wdHJfYml0ICh0YXJnZXRfZ2RiYXJjaCAoKSkgLyBUQVJHRVRfQ0hBUl9CSVQpOwotIH0K LWRpZmYgLS1naXQgYS9nZGIvdGFyZ2V0LmggYi9nZGIvdGFyZ2V0LmgKLS0tLSBhL2dkYi90YXJn ZXQuaAotKysrIGIvZ2RiL3RhcmdldC5oCi1AQCAtNTY2LDcgKzU2Niw3IEBAIHN0cnVjdCB0YXJn ZXRfb3BzCi0gCi0gICAgIC8qIERvY3VtZW50YXRpb24gb2YgdGhpcyByb3V0aW5lIGlzIHByb3Zp ZGVkIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcKLSAgICAgICAgdGFyZ2V0XyogbWFjcm8uICAqLwot LSAgICB2aXJ0dWFsIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwg aW50KQotKyAgICB2aXJ0dWFsIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVf QUREUiwgTE9OR0VTVCkKLSAgICAgICBUQVJHRVRfREVGQVVMVF9GVU5DIChkZWZhdWx0X3JlZ2lv bl9va19mb3JfaHdfd2F0Y2hwb2ludCk7Ci0gCi0gICAgIHZpcnR1YWwgYm9vbCBjYW5fYWNjZWxf d2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiwgaW50LCBpbnQsCi1kaWZmIC0tZ2l0IGEv Z2RiL3RyYWNlcG9pbnQuYyBiL2dkYi90cmFjZXBvaW50LmMKLS0tLSBhL2dkYi90cmFjZXBvaW50 LmMKLSsrKyBiL2dkYi90cmFjZXBvaW50LmMKLUBAIC04OTMsMTAgKzg5MywxMCBAQCBjb2xsZWN0 aW9uX2xpc3Q6OmFkZF9sb2NhbF9yZWdpc3RlciAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0g dm9pZAotIGNvbGxlY3Rpb25fbGlzdDo6YWRkX21lbXJhbmdlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwKLSAJCQkgICAgICAgaW50IHR5cGUsIGJmZF9zaWduZWRfdm1hIGJhc2UsCi0tCQkJICAg ICAgIHVuc2lnbmVkIGxvbmcgbGVuLCBDT1JFX0FERFIgc2NvcGUpCi0rCQkJICAgICAgIFVMT05H RVNUIGxlbiwgQ09SRV9BRERSIHNjb3BlKQotIHsKLSAgIGlmIChpbmZvX3ZlcmJvc2UpCi0tICAg IHByaW50Zl9maWx0ZXJlZCAoIiglZCwlcywlbGQpXG4iLCB0eXBlLCBwYWRkcmVzcyAoZ2RiYXJj aCwgYmFzZSksIGxlbik7Ci0rICAgIHByaW50Zl9maWx0ZXJlZCAoIiglZCwlcywlcylcbiIsIHR5 cGUsIHBhZGRyZXNzIChnZGJhcmNoLCBiYXNlKSwgcHVsb25nZXN0IChsZW4pKTsKLSAKLSAgIC8q IHR5cGU6IG1lbXJhbmdlX2Fic29sdXRlID09IG1lbW9yeSwgb3RoZXIgbiA9PSBiYXNlcmVnICov Ci0gICAvKiBiYXNlOiBhZGRyIGlmIG1lbW9yeSwgb2Zmc2V0IGlmIHJlZyByZWxhdGl2ZS4gICov Ci1AQCAtOTE2LDcgKzkxNiw3IEBAIGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0 cnVjdCBzeW1ib2wgKnN5bSwKLSAJCQkJIENPUkVfQUREUiBzY29wZSwKLSAJCQkJIGludCB0cmFj ZV9zdHJpbmcpCi0gewotLSAgdW5zaWduZWQgbG9uZyBsZW47Ci0rICBVTE9OR0VTVCBsZW47Ci0g ICB1bnNpZ25lZCBpbnQgcmVnOwotICAgYmZkX3NpZ25lZF92bWEgb2Zmc2V0OwotICAgaW50IHRy ZWF0X2FzX2V4cHIgPSAwOwotQEAgLTkzNyw4ICs5MzcsOCBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNv bGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9sICpzeW0sCi0gICAgICAgb2Zmc2V0ID0gU1lNQk9M X1ZBTFVFX0FERFJFU1MgKHN5bSk7Ci0gICAgICAgaWYgKGluZm9fdmVyYm9zZSkKLSAJewotLQkg IHByaW50Zl9maWx0ZXJlZCAoIkxPQ19TVEFUSUMgJXM6IGNvbGxlY3QgJWxkIGJ5dGVzIGF0ICVz LlxuIiwKLS0JCQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgbGVuLAotKwkgIHByaW50Zl9m aWx0ZXJlZCAoIkxPQ19TVEFUSUMgJXM6IGNvbGxlY3QgJXMgYnl0ZXMgYXQgJXMuXG4iLAotKwkJ CSAgIFNZTUJPTF9QUklOVF9OQU1FIChzeW0pLCBwdWxvbmdlc3QgKGxlbiksCi0gCQkJICAgcGFk ZHJlc3MgKGdkYmFyY2gsIG9mZnNldCkpOwotIAl9Ci0gICAgICAgLyogQSBzdHJ1Y3QgbWF5IGJl IGEgQysrIGNsYXNzIHdpdGggc3RhdGljIGZpZWxkcywgZ28gdG8gZ2VuZXJhbAotQEAgLTk3MCw5 ICs5NzAsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1Y3Qgc3ltYm9s ICpzeW0sCi0gICAgICAgb2Zmc2V0ID0gZnJhbWVfb2Zmc2V0ICsgU1lNQk9MX1ZBTFVFIChzeW0p OwotICAgICAgIGlmIChpbmZvX3ZlcmJvc2UpCi0gCXsKLS0JICBwcmludGZfZmlsdGVyZWQgKCJM T0NfTE9DQUwgJXM6IENvbGxlY3QgJWxkIGJ5dGVzIGF0IG9mZnNldCAlcyIKLSsJICBwcmludGZf ZmlsdGVyZWQgKCJMT0NfTE9DQUwgJXM6IENvbGxlY3QgJXMgYnl0ZXMgYXQgb2Zmc2V0ICVzIgot IAkJCSAgICIgZnJvbSBmcmFtZSBwdHIgcmVnICVkXG4iLAotLQkJCSAgIFNZTUJPTF9QUklOVF9O QU1FIChzeW0pLCBsZW4sCi0rCQkJICAgU1lNQk9MX1BSSU5UX05BTUUgKHN5bSksIHB1bG9uZ2Vz dCAobGVuKSwKLSAJCQkgICBwYWRkcmVzcyAoZ2RiYXJjaCwgb2Zmc2V0KSwgcmVnKTsKLSAJfQot ICAgICAgIGFkZF9tZW1yYW5nZSAoZ2RiYXJjaCwgcmVnLCBvZmZzZXQsIGxlbiwgc2NvcGUpOwot QEAgLTk4Miw5ICs5ODIsOSBAQCBjb2xsZWN0aW9uX2xpc3Q6OmNvbGxlY3Rfc3ltYm9sIChzdHJ1 Y3Qgc3ltYm9sICpzeW0sCi0gICAgICAgb2Zmc2V0ID0gMDsKLSAgICAgICBpZiAoaW5mb192ZXJi b3NlKQotIAl7Ci0tCSAgcHJpbnRmX2ZpbHRlcmVkICgiTE9DX1JFR1BBUk1fQUREUiAlczogQ29s bGVjdCAlbGQgYnl0ZXMgYXQgb2Zmc2V0ICVzIgotKwkgIHByaW50Zl9maWx0ZXJlZCAoIkxPQ19S RUdQQVJNX0FERFIgJXM6IENvbGxlY3QgJXMgYnl0ZXMgYXQgb2Zmc2V0ICVzIgotIAkJCSAgICIg ZnJvbSByZWcgJWRcbiIsCi0tCQkJICAgU1lNQk9MX1BSSU5UX05BTUUgKHN5bSksIGxlbiwKLSsJ CQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgcHVsb25nZXN0IChsZW4pLAotIAkJCSAgIHBh ZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwotIAl9Ci0gICAgICAgYWRkX21lbXJhbmdl IChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuLCBzY29wZSk7Ci1AQCAtOTk0LDkgKzk5NCw5IEBA IGNvbGxlY3Rpb25fbGlzdDo6Y29sbGVjdF9zeW1ib2wgKHN0cnVjdCBzeW1ib2wgKnN5bSwKLSAg ICAgICBvZmZzZXQgPSBmcmFtZV9vZmZzZXQgKyBTWU1CT0xfVkFMVUUgKHN5bSk7Ci0gICAgICAg aWYgKGluZm9fdmVyYm9zZSkKLSAJewotLQkgIHByaW50Zl9maWx0ZXJlZCAoIkxPQ19MT0NBTCAl czogQ29sbGVjdCAlbGQgYnl0ZXMgYXQgb2Zmc2V0ICVzIgotKwkgIHByaW50Zl9maWx0ZXJlZCAo IkxPQ19MT0NBTCAlczogQ29sbGVjdCAlcyBieXRlcyBhdCBvZmZzZXQgJXMiCi0gCQkJICAgIiBm cm9tIGZyYW1lIHB0ciByZWcgJWRcbiIsCi0tCQkJICAgU1lNQk9MX1BSSU5UX05BTUUgKHN5bSks IGxlbiwKLSsJCQkgICBTWU1CT0xfUFJJTlRfTkFNRSAoc3ltKSwgcHVsb25nZXN0IChsZW4pLAot IAkJCSAgIHBhZGRyZXNzIChnZGJhcmNoLCBvZmZzZXQpLCByZWcpOwotIAl9Ci0gICAgICAgYWRk X21lbXJhbmdlIChnZGJhcmNoLCByZWcsIG9mZnNldCwgbGVuLCBzY29wZSk7Ci1AQCAtMjQ5Miw3 ICsyNDkyLDggQEAgaW5mb19zY29wZV9jb21tYW5kIChjb25zdCBjaGFyICphcmdzX2luLCBpbnQg ZnJvbV90dHkpCi0gICBjb25zdCBjaGFyICpzeW1uYW1lOwotICAgY29uc3QgY2hhciAqc2F2ZV9h cmdzID0gYXJnc19pbjsKLSAgIHN0cnVjdCBibG9ja19pdGVyYXRvciBpdGVyOwotLSAgaW50IGos IGNvdW50ID0gMDsKLSsgIGludCBjb3VudCA9IDA7Ci0rICBMT05HRVNUIGo7Ci0gICBzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaDsKLSAgIGludCByZWdubzsKLSAgIGNvbnN0IGNoYXIgKmFyZ3MgPSBh cmdzX2luOwotQEAgLTI2MzYsOCArMjYzNywxMSBAQCBpbmZvX3Njb3BlX2NvbW1hbmQgKGNvbnN0 IGNoYXIgKmFyZ3NfaW4sIGludCBmcm9tX3R0eSkKLSAJCX0KLSAJICAgIH0KLSAJICBpZiAoU1lN Qk9MX1RZUEUgKHN5bSkpCi0tCSAgICBwcmludGZfZmlsdGVyZWQgKCIsIGxlbmd0aCAlZC5cbiIs Ci0tCQkJICAgICBUWVBFX0xFTkdUSCAoY2hlY2tfdHlwZWRlZiAoU1lNQk9MX1RZUEUgKHN5bSkp KSk7Ci0rCSAgICB7Ci0rCSAgICAgIFVMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIIChjaGVja190 eXBlZGVmIChTWU1CT0xfVFlQRSAoc3ltKSkpOwotKwotKwkgICAgICBwcmludGZfZmlsdGVyZWQg KCIsIGxlbmd0aCAlcy5cbiIsIHB1bG9uZ2VzdCAobGVuKSk7Ci0rCSAgICB9Ci0gCX0KLSAgICAg ICBpZiAoQkxPQ0tfRlVOQ1RJT04gKGJsb2NrKSkKLSAJYnJlYWs7Ci1kaWZmIC0tZ2l0IGEvZ2Ri L3RyYWNlcG9pbnQuaCBiL2dkYi90cmFjZXBvaW50LmgKLS0tLSBhL2dkYi90cmFjZXBvaW50LmgK LSsrKyBiL2dkYi90cmFjZXBvaW50LmgKLUBAIC0yNjksNyArMjY5LDcgQEAgcHVibGljOgotIAkJ CSAgIENPUkVfQUREUiBzY29wZSk7Ci0gICB2b2lkIGFkZF9tZW1yYW5nZSAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsCi0gCQkgICAgIGludCB0eXBlLCBiZmRfc2lnbmVkX3ZtYSBiYXNlLAotLQkJ ICAgICB1bnNpZ25lZCBsb25nIGxlbiwgQ09SRV9BRERSIHNjb3BlKTsKLSsJCSAgICAgVUxPTkdF U1QgbGVuLCBDT1JFX0FERFIgc2NvcGUpOwotICAgdm9pZCBjb2xsZWN0X3N5bWJvbCAoc3RydWN0 IHN5bWJvbCAqc3ltLAotIAkJICAgICAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotIAkJICAg ICAgIGxvbmcgZnJhbWVfcmVnbm8sIGxvbmcgZnJhbWVfb2Zmc2V0LAotZGlmZiAtLWdpdCBhL2dk Yi90eXBlcHJpbnQuYyBiL2dkYi90eXBlcHJpbnQuYwotLS0tIGEvZ2RiL3R5cGVwcmludC5jCi0r KysgYi9nZGIvdHlwZXByaW50LmMKLUBAIC0xMjAsNyArMTIwLDggQEAgcHJpbnRfb2Zmc2V0X2Rh dGE6OnVwZGF0ZSAoc3RydWN0IHR5cGUgKnR5cGUsIHVuc2lnbmVkIGludCBmaWVsZF9pZHgsCi0g ICAgIHsKLSAgICAgICAvKiBTaW5jZSB1bmlvbiBmaWVsZHMgZG9uJ3QgaGF2ZSB0aGUgY29uY2Vw dCBvZiBvZmZzZXRzLCB3ZSBqdXN0Ci0gCSBwcmludCB0aGVpciBzaXplcy4gICovCi0tICAgICAg ZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiLyogICAgICAgICAgICAgICU0dSAqLyIsIFRZUEVf TEVOR1RIIChmdHlwZSkpOwotKyAgICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIi8qICAg ICAgICAgICAgICAlNHMgKi8iLAotKwkJCXB1bG9uZ2VzdCAoVFlQRV9MRU5HVEggKGZ0eXBlKSkp OwotICAgICAgIHJldHVybjsKLSAgICAgfQotIAotQEAgLTE4Myw4ICsxODQsOCBAQCBwcmludF9v ZmZzZXRfZGF0YTo6ZmluaXNoIChzdHJ1Y3QgdHlwZSAqdHlwZSwgaW50IGxldmVsLAotIAotICAg ZnB1dHNfZmlsdGVyZWQgKCJcbiIsIHN0cmVhbSk7Ci0gICBwcmludF9zcGFjZXNfZmlsdGVyZWQg KGxldmVsICsgNCArIHByaW50X29mZnNldF9kYXRhOjppbmRlbnRhdGlvbiwgc3RyZWFtKTsKLS0g IGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIi8qIHRvdGFsIHNpemUgKGJ5dGVzKTogJTR1ICov XG4iLAotLQkJICAgIFRZUEVfTEVOR1RIICh0eXBlKSk7Ci0rICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIvKiB0b3RhbCBzaXplIChieXRlcyk6ICU0cyAqL1xuIiwKLSsJCSAgICBwdWxvbmdl c3QgKFRZUEVfTEVOR1RIICh0eXBlKSkpOwotIH0KLSAKLSAMCi1kaWZmIC0tZ2l0IGEvZ2RiL3Zh bGFyaXRoLmMgYi9nZGIvdmFsYXJpdGguYwotLS0tIGEvZ2RiL3ZhbGFyaXRoLmMKLSsrKyBiL2dk Yi92YWxhcml0aC5jCi1AQCAtMTgyLDcgKzE4Miw3IEBAIHZhbHVlX3N1YnNjcmlwdCAoc3RydWN0 IHZhbHVlICphcnJheSwgTE9OR0VTVCBpbmRleCkKLSAgICB0byBkb3VibGVzLCBidXQgbm8gbG9u Z2VyIGRvZXMuICAqLwotIAotIHN0cnVjdCB2YWx1ZSAqCi0tdmFsdWVfc3Vic2NyaXB0ZWRfcnZh bHVlIChzdHJ1Y3QgdmFsdWUgKmFycmF5LCBMT05HRVNUIGluZGV4LCBpbnQgbG93ZXJib3VuZCkK LSt2YWx1ZV9zdWJzY3JpcHRlZF9ydmFsdWUgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIExPTkdFU1Qg aW5kZXgsIExPTkdFU1QgbG93ZXJib3VuZCkKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlw ZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFycmF5KSk7Ci0gICBzdHJ1Y3QgdHlwZSAq ZWx0X3R5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX1RBUkdFVF9UWVBFIChhcnJheV90eXBlKSk7 Ci1AQCAtNjU2LDcgKzY1Niw3IEBAIHZhbHVlX2NvbmNhdCAoc3RydWN0IHZhbHVlICphcmcxLCBz dHJ1Y3QgdmFsdWUgKmFyZzIpCi0gICBzdHJ1Y3QgdmFsdWUgKmludmFsMTsKLSAgIHN0cnVjdCB2 YWx1ZSAqaW52YWwyOwotICAgc3RydWN0IHZhbHVlICpvdXR2YWwgPSBOVUxMOwotLSAgaW50IGlu dmFsMWxlbiwgaW52YWwybGVuOwotKyAgc3NpemVfdCBpbnZhbDFsZW4sIGludmFsMmxlbjsKLSAg IGludCBjb3VudCwgaWR4OwotICAgY2hhciBpbmNoYXI7Ci0gICBzdHJ1Y3QgdHlwZSAqdHlwZTEg PSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcxKSk7Ci1AQCAtMTQxNiw3ICsxNDE2LDcg QEAgdmFsdWVfYmlub3AgKHN0cnVjdCB2YWx1ZSAqYXJnMSwgc3RydWN0IHZhbHVlICphcmcyLCBl bnVtIGV4cF9vcGNvZGUgb3ApCi0gaW50Ci0gdmFsdWVfbG9naWNhbF9ub3QgKHN0cnVjdCB2YWx1 ZSAqYXJnMSkKLSB7Ci0tICBpbnQgbGVuOwotKyAgTE9OR0VTVCBsZW47Ci0gICBjb25zdCBnZGJf Ynl0ZSAqcDsKLSAgIHN0cnVjdCB0eXBlICp0eXBlMTsKLSAKLUBAIC0xNDQ0LDExICsxNDQ0LDEx IEBAIHZhbHVlX2xvZ2ljYWxfbm90IChzdHJ1Y3QgdmFsdWUgKmFyZzEpCi0gc3RhdGljIGludAot IHZhbHVlX3N0cmNtcCAoc3RydWN0IHZhbHVlICphcmcxLCBzdHJ1Y3QgdmFsdWUgKmFyZzIpCi0g ewotLSAgaW50IGxlbjEgPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJnMSkpOwotLSAgaW50 IGxlbjIgPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJnMikpOwotKyAgTE9OR0VTVCBsZW4x ID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGFyZzEpKTsKLSsgIExPTkdFU1QgbGVuMiA9IFRZ UEVfTEVOR1RIICh2YWx1ZV90eXBlIChhcmcyKSk7Ci0gICBjb25zdCBnZGJfYnl0ZSAqczEgPSB2 YWx1ZV9jb250ZW50cyAoYXJnMSk7Ci0gICBjb25zdCBnZGJfYnl0ZSAqczIgPSB2YWx1ZV9jb250 ZW50cyAoYXJnMik7Ci0tICBpbnQgaSwgbGVuID0gbGVuMSA8IGxlbjIgPyBsZW4xIDogbGVuMjsK LSsgIExPTkdFU1QgaSwgbGVuID0gbGVuMSA8IGxlbjIgPyBsZW4xIDogbGVuMjsKLSAKLSAgIGZv ciAoaSA9IDA7IGkgPCBsZW47IGkrKykKLSAgICAgewotZGlmZiAtLWdpdCBhL2dkYi92YWxvcHMu YyBiL2dkYi92YWxvcHMuYwotLS0tIGEvZ2RiL3ZhbG9wcy5jCi0rKysgYi9nZGIvdmFsb3BzLmMK LUBAIC04MSw3ICs4MSw3IEBAIHN0YXRpYyBlbnVtIG9sb2FkX2NsYXNzaWZpY2F0aW9uIGNsYXNz aWZ5X29sb2FkX21hdGNoCi0gICAoY29uc3QgYmFkbmVzc192ZWN0b3IgJiwgaW50LCBpbnQpOwot IAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAo c3RydWN0IHR5cGUgKiwKLS0JCQkJCQkgICAgIGludCwgc3RydWN0IHR5cGUgKiwKLSsJCQkJCQkg ICAgIExPTkdFU1QsIHN0cnVjdCB0eXBlICosCi0gCQkJCQkJICAgICBjb25zdCBjaGFyICosCi0g CQkJCQkJICAgICBzdHJ1Y3QgdHlwZSAqLAotIAkJCQkJCSAgICAgaW50LCBlbnVtIG5vc2lkZSk7 Ci1AQCAtMTcxLDcgKzE3MSw3IEBAIGZpbmRfZnVuY3Rpb25faW5faW5mZXJpb3IgKGNvbnN0IGNo YXIgKm5hbWUsIHN0cnVjdCBvYmpmaWxlICoqb2JqZl9wKQotICAgIHNwYWNlLiAgKi8KLSAKLSBz dHJ1Y3QgdmFsdWUgKgotLXZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVyaW9yIChpbnQgbGVu KQotK3ZhbHVlX2FsbG9jYXRlX3NwYWNlX2luX2luZmVyaW9yIChMT05HRVNUIGxlbikKLSB7Ci0g ICBzdHJ1Y3Qgb2JqZmlsZSAqb2JqZjsKLSAgIHN0cnVjdCB2YWx1ZSAqdmFsID0gZmluZF9mdW5j dGlvbl9pbl9pbmZlcmlvciAoIm1hbGxvYyIsICZvYmpmKTsKLUBAIC0zODYsMTIgKzM4NiwxMiBA QCB2YWx1ZV9jYXN0IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHZhbHVlICphcmcyKQotICAg aWYgKGNvZGUxID09IFRZUEVfQ09ERV9BUlJBWSkKLSAgICAgewotICAgICAgIHN0cnVjdCB0eXBl ICplbGVtZW50X3R5cGUgPSBUWVBFX1RBUkdFVF9UWVBFICh0eXBlKTsKLS0gICAgICB1bnNpZ25l ZCBlbGVtZW50X2xlbmd0aCA9IFRZUEVfTEVOR1RIIChjaGVja190eXBlZGVmIChlbGVtZW50X3R5 cGUpKTsKLSsgICAgICBVTE9OR0VTVCBlbGVtZW50X2xlbmd0aCA9IFRZUEVfTEVOR1RIIChjaGVj a190eXBlZGVmIChlbGVtZW50X3R5cGUpKTsKLSAKLSAgICAgICBpZiAoZWxlbWVudF9sZW5ndGgg PiAwICYmIFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKLSAJewot IAkgIHN0cnVjdCB0eXBlICpyYW5nZV90eXBlID0gVFlQRV9JTkRFWF9UWVBFICh0eXBlKTsKLS0J ICBpbnQgdmFsX2xlbmd0aCA9IFRZUEVfTEVOR1RIICh0eXBlMik7Ci0rCSAgTE9OR0VTVCB2YWxf bGVuZ3RoID0gVFlQRV9MRU5HVEggKHR5cGUyKTsKLSAJICBMT05HRVNUIGxvd19ib3VuZCwgaGln aF9ib3VuZCwgbmV3X2xlbmd0aDsKLSAKLSAJICBpZiAoZ2V0X2Rpc2NyZXRlX2JvdW5kcyAocmFu Z2VfdHlwZSwgJmxvd19ib3VuZCwgJmhpZ2hfYm91bmQpIDwgMCkKLUBAIC0xMDQzLDcgKzEwNDMs NyBAQCB2YWx1ZV9hc3NpZ24gKHN0cnVjdCB2YWx1ZSAqdG92YWwsIHN0cnVjdCB2YWx1ZSAqZnJv bXZhbCkKLSAgICAgICB7Ci0gCWNvbnN0IGdkYl9ieXRlICpkZXN0X2J1ZmZlcjsKLSAJQ09SRV9B RERSIGNoYW5nZWRfYWRkcjsKLS0JaW50IGNoYW5nZWRfbGVuOwotKwlMT05HRVNUIGNoYW5nZWRf bGVuOwotICAgICAgICAgZ2RiX2J5dGUgYnVmZmVyW3NpemVvZiAoTE9OR0VTVCldOwotIAotIAlp ZiAodmFsdWVfYml0c2l6ZSAodG92YWwpKQotQEAgLTMzMzUsNyArMzMzNSw3IEBAIGdldF9iYXNl Y2xhc3Nfb2Zmc2V0IChzdHJ1Y3QgdHlwZSAqdnQsIHN0cnVjdCB0eXBlICpjbHMsCi0gICAgdGhl IGZvcm0gIkRPTUFJTjo6TkFNRSIuICAqLwotIAotIHN0YXRpYyBzdHJ1Y3QgdmFsdWUgKgotLXZh bHVlX3N0cnVjdF9lbHRfZm9yX3JlZmVyZW5jZSAoc3RydWN0IHR5cGUgKmRvbWFpbiwgaW50IG9m ZnNldCwKLSt2YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21h aW4sIExPTkdFU1Qgb2Zmc2V0LAotIAkJCQlzdHJ1Y3QgdHlwZSAqY3VydHlwZSwgY29uc3QgY2hh ciAqbmFtZSwKLSAJCQkJc3RydWN0IHR5cGUgKmludHlwZSwgCi0gCQkJCWludCB3YW50X2FkZHJl c3MsCi1AQCAtMzM2OSw3ICszMzY5LDcgQEAgdmFsdWVfc3RydWN0X2VsdF9mb3JfcmVmZXJlbmNl IChzdHJ1Y3QgdHlwZSAqZG9tYWluLCBpbnQgb2Zmc2V0LAotIAkgIGlmICh3YW50X2FkZHJlc3Mp Ci0gCSAgICByZXR1cm4gdmFsdWVfZnJvbV9sb25nZXN0Ci0gCSAgICAgIChsb29rdXBfbWVtYmVy cHRyX3R5cGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSksIGRvbWFpbiksCi0tCSAgICAgICBvZmZz ZXQgKyAoTE9OR0VTVCkgKFRZUEVfRklFTERfQklUUE9TICh0LCBpKSA+PiAzKSk7Ci0rCSAgICAg ICBvZmZzZXQgKyAoVFlQRV9GSUVMRF9CSVRQT1MgKHQsIGkpID4+IDMpKTsKLSAJICBlbHNlIGlm IChub3NpZGUgIT0gRVZBTF9OT1JNQUwpCi0gCSAgICByZXR1cm4gYWxsb2NhdGVfdmFsdWUgKFRZ UEVfRklFTERfVFlQRSAodCwgaSkpOwotIAkgIGVsc2UKLUBAIC0zNTQ4LDcgKzM1NDgsNyBAQCB2 YWx1ZV9zdHJ1Y3RfZWx0X2Zvcl9yZWZlcmVuY2UgKHN0cnVjdCB0eXBlICpkb21haW4sIGludCBv ZmZzZXQsCi0gICBmb3IgKGkgPSBUWVBFX05fQkFTRUNMQVNTRVMgKHQpIC0gMTsgaSA+PSAwOyBp LS0pCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdmFsdWUgKnY7Ci0tICAgICAgaW50IGJhc2Vfb2Zm c2V0OwotKyAgICAgIExPTkdFU1QgYmFzZV9vZmZzZXQ7Ci0gCi0gICAgICAgaWYgKEJBU0VUWVBF X1ZJQV9WSVJUVUFMICh0LCBpKSkKLSAJYmFzZV9vZmZzZXQgPSAwOwotQEAgLTM2OTcsNyArMzY5 Nyw3IEBAIHZhbHVlX3J0dGlfaW5kaXJlY3RfdHlwZSAoc3RydWN0IHZhbHVlICp2LCBpbnQgKmZ1 bGwsCi0gc3RydWN0IHZhbHVlICoKLSB2YWx1ZV9mdWxsX29iamVjdCAoc3RydWN0IHZhbHVlICph cmdwLCAKLSAJCSAgIHN0cnVjdCB0eXBlICpydHlwZSwgCi0tCQkgICBpbnQgeGZ1bGwsIGludCB4 dG9wLAotKwkJICAgaW50IHhmdWxsLCBMT05HRVNUIHh0b3AsCi0gCQkgICBpbnQgeHVzaW5nX2Vu YykKLSB7Ci0gICBzdHJ1Y3QgdHlwZSAqcmVhbF90eXBlOwotZGlmZiAtLWdpdCBhL2dkYi92YWxw cmludC5jIGIvZ2RiL3ZhbHByaW50LmMKLS0tLSBhL2dkYi92YWxwcmludC5jCi0rKysgYi9nZGIv dmFscHJpbnQuYwotQEAgLTg3OSw3ICs4NzksNyBAQCBnZW5lcmljX3ZhbF9wcmludF9jb21wbGV4 IChzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAKLSB2b2lkCi0gZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVj dCB0eXBlICp0eXBlLAotLQkJICAgaW50IGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJl c3MsCi0rCQkgICBMT05HRVNUIGVtYmVkZGVkX29mZnNldCwgQ09SRV9BRERSIGFkZHJlc3MsCi0g CQkgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCSAgIHN0cnVjdCB2 YWx1ZSAqb3JpZ2luYWxfdmFsdWUsCi0gCQkgICBjb25zdCBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0 aW9ucyAqb3B0aW9ucywKLUBAIC0xNzcyLDcgKzE3NzIsNyBAQCBwcmludF9kZWNpbWFsX2NoYXJz IChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwKLSAKLSB2 b2lkCi0gcHJpbnRfaGV4X2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBjb25zdCBnZGJf Ynl0ZSAqdmFsYWRkciwKLS0JCSB1bnNpZ25lZCBsZW4sIGVudW0gYmZkX2VuZGlhbiBieXRlX29y ZGVyLAotKwkJIFVMT05HRVNUIGxlbiwgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIsCi0gCQkg Ym9vbCB6ZXJvX3BhZCkKLSB7Ci0gICBjb25zdCBnZGJfYnl0ZSAqcDsKLUBAIC0xOTI1LDE3ICsx OTI1LDE3IEBAIHZhbF9wcmludF9hcnJheV9lbGVtZW50cyAoc3RydWN0IHR5cGUgKnR5cGUsCi0g CQkJICBpbnQgcmVjdXJzZSwKLSAJCQkgIHN0cnVjdCB2YWx1ZSAqdmFsLAotIAkJCSAgY29uc3Qg c3RydWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi0tCQkJICB1bnNpZ25lZCBpbnQg aSkKLSsJCQkgIFVMT05HRVNUIGkpCi0gewotICAgdW5zaWduZWQgaW50IHRoaW5nc19wcmludGVk ID0gMDsKLS0gIHVuc2lnbmVkIGxlbjsKLSsgIFVMT05HRVNUIGxlbjsKLSAgIHN0cnVjdCB0eXBl ICplbHR0eXBlLCAqaW5kZXhfdHlwZSwgKmJhc2VfaW5kZXhfdHlwZTsKLS0gIHVuc2lnbmVkIGVs dGxlbjsKLSsgIFVMT05HRVNUIGVsdGxlbjsKLSAgIC8qIFBvc2l0aW9uIG9mIHRoZSBhcnJheSBl bGVtZW50IHdlIGFyZSBleGFtaW5pbmcgdG8gc2VlCi0gICAgICB3aGV0aGVyIGl0IGlzIHJlcGVh dGVkLiAgKi8KLS0gIHVuc2lnbmVkIGludCByZXAxOwotKyAgVUxPTkdFU1QgcmVwMTsKLSAgIC8q IE51bWJlciBvZiByZXBldGl0aW9ucyB3ZSBoYXZlIGRldGVjdGVkIHNvIGZhci4gICovCi0tICB1 bnNpZ25lZCBpbnQgcmVwczsKLSsgIFVMT05HRVNUIHJlcHM7Ci0gICBMT05HRVNUIGxvd19ib3Vu ZCwgaGlnaF9ib3VuZDsKLSAgIExPTkdFU1QgbG93X3BvcywgaGlnaF9wb3M7Ci0gCi1AQCAtMjAy NSw3ICsyMDI1LDcgQEAgdmFsX3ByaW50X2FycmF5X2VsZW1lbnRzIChzdHJ1Y3QgdHlwZSAqdHlw ZSwKLSAJCSAgICAgYWRkcmVzcywgc3RyZWFtLCByZWN1cnNlICsgMSwgdmFsLCBvcHRpb25zLAot IAkJICAgICBjdXJyZW50X2xhbmd1YWdlKTsKLSAJICBhbm5vdGF0ZV9lbHRfcmVwIChyZXBzKTsK LS0JICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIgPHJlcGVhdHMgJXUgdGltZXM+IiwgcmVw cyk7Ci0rCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiIDxyZXBlYXRzICVzIHRpbWVzPiIs IHB1bG9uZ2VzdCAocmVwcykpOwotIAkgIGFubm90YXRlX2VsdF9yZXBfZW5kICgpOwotIAotIAkg IGkgPSByZXAxIC0gMTsKLUBAIC0yNjY3LDcgKzI2NjcsNyBAQCBwcmludF9jb252ZXJ0ZWRfY2hh cnNfdG9fb2JzdGFjayAoc3RydWN0IG9ic3RhY2sgKm9ic3RhY2ssCi0gCi0gdm9pZAotIGdlbmVy aWNfcHJpbnRzdHIgKHN0cnVjdCB1aV9maWxlICpzdHJlYW0sIHN0cnVjdCB0eXBlICp0eXBlLCAK LS0JCSAgY29uc3QgZ2RiX2J5dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwgCi0rCQkg IGNvbnN0IGdkYl9ieXRlICpzdHJpbmcsIFVMT05HRVNUIGxlbmd0aCwKLSAJCSAgY29uc3QgY2hh ciAqZW5jb2RpbmcsIGludCBmb3JjZV9lbGxpcHNlcywKLSAJCSAgaW50IHF1b3RlX2NoYXIsIGlu dCBjX3N0eWxlX3Rlcm1pbmF0b3IsCi0gCQkgIGNvbnN0IHN0cnVjdCB2YWx1ZV9wcmludF9vcHRp b25zICpvcHRpb25zKQotZGlmZiAtLWdpdCBhL2dkYi92YWxwcmludC5oIGIvZ2RiL3ZhbHByaW50 LmgKLS0tLSBhL2dkYi92YWxwcmludC5oCi0rKysgYi9nZGIvdmFscHJpbnQuaAotQEAgLTExOSw3 ICsxMTksNyBAQCBleHRlcm4gdm9pZCB2YWxfcHJpbnRfYXJyYXlfZWxlbWVudHMgKHN0cnVjdCB0 eXBlICosIExPTkdFU1QsCi0gCQkJCSAgICAgIENPUkVfQUREUiwgc3RydWN0IHVpX2ZpbGUgKiwg aW50LAotIAkJCQkgICAgICBzdHJ1Y3QgdmFsdWUgKiwKLSAJCQkJICAgICAgY29uc3Qgc3RydWN0 IHZhbHVlX3ByaW50X29wdGlvbnMgKiwKLS0JCQkJICAgICAgdW5zaWduZWQgaW50KTsKLSsJCQkJ ICAgICAgVUxPTkdFU1QpOwotIAotIGV4dGVybiB2b2lkIHZhbF9wcmludF9zY2FsYXJfZm9ybWF0 dGVkIChzdHJ1Y3QgdHlwZSAqLAotIAkJCQkJTE9OR0VTVCwKLUBAIC0xMzgsNyArMTM4LDcgQEAg ZXh0ZXJuIHZvaWQgcHJpbnRfZGVjaW1hbF9jaGFycyAoc3RydWN0IHVpX2ZpbGUgKiwgY29uc3Qg Z2RiX2J5dGUgKiwKLSAJCQkJIHVuc2lnbmVkIGludCwgYm9vbCwgZW51bSBiZmRfZW5kaWFuKTsK LSAKLSBleHRlcm4gdm9pZCBwcmludF9oZXhfY2hhcnMgKHN0cnVjdCB1aV9maWxlICosIGNvbnN0 IGdkYl9ieXRlICosCi0tCQkJICAgICB1bnNpZ25lZCBpbnQsIGVudW0gYmZkX2VuZGlhbiwgYm9v bCk7Ci0rCQkJICAgICBVTE9OR0VTVCwgZW51bSBiZmRfZW5kaWFuLCBib29sKTsKLSAKLSBleHRl cm4gdm9pZCBwcmludF9jaGFyX2NoYXJzIChzdHJ1Y3QgdWlfZmlsZSAqLCBzdHJ1Y3QgdHlwZSAq LAotIAkJCSAgICAgIGNvbnN0IGdkYl9ieXRlICosIHVuc2lnbmVkIGludCwgZW51bSBiZmRfZW5k aWFuKTsKLUBAIC0xOTIsNyArMTkyLDcgQEAgc3RydWN0IGdlbmVyaWNfdmFsX3ByaW50X2RlY29y YXRpb25zCi0gCi0gCi0gZXh0ZXJuIHZvaWQgZ2VuZXJpY192YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLAotLQkJCSAgICAgICBpbnQgZW1iZWRkZWRfb2Zmc2V0LCBDT1JFX0FERFIgYWRkcmVz cywKLSsJCQkgICAgICAgTE9OR0VTVCBlbWJlZGRlZF9vZmZzZXQsIENPUkVfQUREUiBhZGRyZXNz LAotIAkJCSAgICAgICBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgcmVjdXJzZSwKLSAJCQkg ICAgICAgc3RydWN0IHZhbHVlICpvcmlnaW5hbF92YWx1ZSwKLSAJCQkgICAgICAgY29uc3Qgc3Ry dWN0IHZhbHVlX3ByaW50X29wdGlvbnMgKm9wdGlvbnMsCi1AQCAtMjAyLDcgKzIwMiw3IEBAIGV4 dGVybiB2b2lkIGdlbmVyaWNfZW1pdF9jaGFyIChpbnQgYywgc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkJICAgICAgIGludCBxdW90ZXIsIGNvbnN0IGNoYXIg KmVuY29kaW5nKTsKLSAKLSBleHRlcm4gdm9pZCBnZW5lcmljX3ByaW50c3RyIChzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgCi0tCQkJICAgICAgY29uc3QgZ2RiX2J5 dGUgKnN0cmluZywgdW5zaWduZWQgaW50IGxlbmd0aCwgCi0rCQkJICAgICAgY29uc3QgZ2RiX2J5 dGUgKnN0cmluZywgVUxPTkdFU1QgbGVuZ3RoLAotIAkJCSAgICAgIGNvbnN0IGNoYXIgKmVuY29k aW5nLCBpbnQgZm9yY2VfZWxsaXBzZXMsCi0gCQkJICAgICAgaW50IHF1b3RlX2NoYXIsIGludCBj X3N0eWxlX3Rlcm1pbmF0b3IsCi0gCQkJICAgICAgY29uc3Qgc3RydWN0IHZhbHVlX3ByaW50X29w dGlvbnMgKm9wdGlvbnMpOwotZGlmZiAtLWdpdCBhL2dkYi92YWx1ZS5jIGIvZ2RiL3ZhbHVlLmMK LS0tLSBhL2dkYi92YWx1ZS5jCi0rKysgYi9nZGIvdmFsdWUuYwotQEAgLTM4Myw3ICszODMsOCBA QCB2YWx1ZV9ieXRlc19hdmFpbGFibGUgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCi0gfQot IAotIGludAotLXZhbHVlX2JpdHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0IHN0cnVjdCB2YWx1 ZSAqdmFsdWUsIGludCBiaXRfb2Zmc2V0LCBpbnQgYml0X2xlbmd0aCkKLSt2YWx1ZV9iaXRzX2Fu eV9vcHRpbWl6ZWRfb3V0IChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBMT05HRVNUIGJpdF9v ZmZzZXQsCi0rCQkJICAgICAgTE9OR0VTVCBiaXRfbGVuZ3RoKQotIHsKLSAgIGdkYl9hc3NlcnQg KCF2YWx1ZS0+bGF6eSk7Ci0gCi1AQCAtODMxLDggKzgzMiw4IEBAIGZpbmRfZmlyc3RfcmFuZ2Vf b3ZlcmxhcF9hbmRfbWF0Y2ggKHN0cnVjdCByYW5nZXNfYW5kX2lkeCAqcnAxLAotICAgIFJldHVy biB0cnVlIGlmIHRoZSBhdmFpbGFibGUgYml0cyBtYXRjaC4gICovCi0gCi0gc3RhdGljIGJvb2wK LS12YWx1ZV9jb250ZW50c19iaXRzX2VxIChjb25zdCBzdHJ1Y3QgdmFsdWUgKnZhbDEsIGludCBv ZmZzZXQxLAotLQkJCWNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsMiwgaW50IG9mZnNldDIsCi0rdmFs dWVfY29udGVudHNfYml0c19lcSAoY29uc3Qgc3RydWN0IHZhbHVlICp2YWwxLCBMT05HRVNUIG9m ZnNldDEsCi0rCQkJY29uc3Qgc3RydWN0IHZhbHVlICp2YWwyLCBMT05HRVNUIG9mZnNldDIsCi0g CQkJaW50IGxlbmd0aCkKLSB7Ci0gICAvKiBFYWNoIGFycmF5IGVsZW1lbnQgY29ycmVzcG9uZHMg dG8gYSByYW5nZXMgc291cmNlICh1bmF2YWlsYWJsZSwKLUBAIC0xNDIzLDcgKzE0MjQsOCBAQCB2 YWx1ZV9vcHRpbWl6ZWRfb3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlKQotICAgIHRoZSBmb2xsb3dp bmcgTEVOR1RIIGJ5dGVzLiAgKi8KLSAKLSB2b2lkCi0tbWFya192YWx1ZV9ieXRlc19vcHRpbWl6 ZWRfb3V0IChzdHJ1Y3QgdmFsdWUgKnZhbHVlLCBpbnQgb2Zmc2V0LCBpbnQgbGVuZ3RoKQotK21h cmtfdmFsdWVfYnl0ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSwgTE9OR0VT VCBvZmZzZXQsCi0rCQkJCUxPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIG1hcmtfdmFsdWVfYml0c19v cHRpbWl6ZWRfb3V0ICh2YWx1ZSwKLSAJCQkJIG9mZnNldCAqIFRBUkdFVF9DSEFSX0JJVCwKLWRp ZmYgLS1naXQgYS9nZGIvdmFsdWUuaCBiL2dkYi92YWx1ZS5oCi0tLS0gYS9nZGIvdmFsdWUuaAot KysrIGIvZ2RiL3ZhbHVlLmgKLUBAIC0yNzQsNyArMjc0LDcgQEAgc3RydWN0IGx2YWxfZnVuY3MK LSAgIC8qIElmIG5vbi1OVUxMLCB0aGlzIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgdGhl IGluZGljYXRlZCBiaXRzCi0gICAgICBvZiBWQUxVRSBhcmUgYSBzeW50aGV0aWMgcG9pbnRlci4g ICovCi0gICBpbnQgKCpjaGVja19zeW50aGV0aWNfcG9pbnRlcikgKGNvbnN0IHN0cnVjdCB2YWx1 ZSAqdmFsdWUsCi0tCQkJCSAgTE9OR0VTVCBvZmZzZXQsIGludCBsZW5ndGgpOwotKwkJCQkgIExP TkdFU1Qgb2Zmc2V0LCBMT05HRVNUIGxlbmd0aCk7Ci0gCi0gICAvKiBSZXR1cm4gYSBkdXBsaWNh dGUgb2YgVkFMVUUncyBjbG9zdXJlLCBmb3IgdXNlIGluIGEgbmV3IHZhbHVlLgotICAgICAgVGhp cyBtYXkgc2ltcGx5IHJldHVybiB0aGUgc2FtZSBjbG9zdXJlLCBpZiBWQUxVRSdzIGlzCi1AQCAt NDA1LDcgKzQwNSw4IEBAIGV4dGVybiBpbnQgdmFsdWVfb3B0aW1pemVkX291dCAoc3RydWN0IHZh bHVlICp2YWx1ZSk7Ci0gICAgb3RoZXJ3aXNlLiAgKi8KLSAKLSBleHRlcm4gaW50IHZhbHVlX2Jp dHNfYW55X29wdGltaXplZF9vdXQgKGNvbnN0IHN0cnVjdCB2YWx1ZSAqdmFsdWUsCi0tCQkJCQkg aW50IGJpdF9vZmZzZXQsIGludCBiaXRfbGVuZ3RoKTsKLSsJCQkJCSBMT05HRVNUIGJpdF9vZmZz ZXQsCi0rCQkJCQkgTE9OR0VTVCBiaXRfbGVuZ3RoKTsKLSAKLSAvKiBMaWtlIHZhbHVlX29wdGlt aXplZF9vdXQsIGJ1dCByZXR1cm4gdHJ1ZSBpZmYgdGhlIHdob2xlIHZhbHVlIGlzCi0gICAgb3B0 aW1pemVkIG91dC4gICovCi1AQCAtNDE1LDcgKzQxNiw3IEBAIGV4dGVybiBpbnQgdmFsdWVfZW50 aXJlbHlfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSk7Ci0gICAgTEVOR1RIIGJ5 dGVzIGFzIG9wdGltaXplZCBvdXQuICAqLwotIAotIGV4dGVybiB2b2lkIG1hcmtfdmFsdWVfYnl0 ZXNfb3B0aW1pemVkX291dCAoc3RydWN0IHZhbHVlICp2YWx1ZSwKLS0JCQkJCSAgICBpbnQgb2Zm c2V0LCBpbnQgbGVuZ3RoKTsKLSsJCQkJCSAgICBMT05HRVNUIG9mZnNldCwgTE9OR0VTVCBsZW5n dGgpOwotIAotIC8qIE1hcmsgVkFMVUUncyBjb250ZW50IGJpdHMgc3RhcnRpbmcgYXQgT0ZGU0VU IGFuZCBleHRlbmRpbmcgZm9yCi0gICAgTEVOR1RIIGJpdHMgYXMgb3B0aW1pemVkIG91dC4gICov Ci1AQCAtODUwLDEyICs4NTEsMTEgQEAgZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfcHJpbWl0 aXZlX2ZpZWxkIChzdHJ1Y3QgdmFsdWUgKmFyZzEsIExPTkdFU1Qgb2Zmc2V0LAotIAkJCQkJICAg IGludCBmaWVsZG5vLAotIAkJCQkJICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSk7Ci0gCi0tCi0g ZXh0ZXJuIHN0cnVjdCB0eXBlICp2YWx1ZV9ydHRpX2luZGlyZWN0X3R5cGUgKHN0cnVjdCB2YWx1 ZSAqLCBpbnQgKiwgTE9OR0VTVCAqLAotIAkJCQkJICAgICAgaW50ICopOwotIAotIGV4dGVybiBz dHJ1Y3QgdmFsdWUgKnZhbHVlX2Z1bGxfb2JqZWN0IChzdHJ1Y3QgdmFsdWUgKiwgc3RydWN0IHR5 cGUgKiwgaW50LAotLQkJCQkJaW50LCBpbnQpOwotKwkJCQkJTE9OR0VTVCwgaW50KTsKLSAKLSBl eHRlcm4gc3RydWN0IHZhbHVlICp2YWx1ZV9jYXN0X3BvaW50ZXJzIChzdHJ1Y3QgdHlwZSAqLCBz dHJ1Y3QgdmFsdWUgKiwgaW50KTsKLSAKLUBAIC0xMTQ4LDEwICsxMTQ4LDExIEBAIGV4dGVybiBz dHJ1Y3QgdmFsdWUgKnZhbHVlX2xpdGVyYWxfY29tcGxleCAoc3RydWN0IHZhbHVlICosIHN0cnVj dCB2YWx1ZSAqLAotIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKmZpbmRfZnVuY3Rpb25faW5faW5mZXJp b3IgKGNvbnN0IGNoYXIgKiwKLSAJCQkJCQlzdHJ1Y3Qgb2JqZmlsZSAqKik7Ci0gCi0tZXh0ZXJu IHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKGludCk7Ci0r ZXh0ZXJuIHN0cnVjdCB2YWx1ZSAqdmFsdWVfYWxsb2NhdGVfc3BhY2VfaW5faW5mZXJpb3IgKExP TkdFU1QpOwotIAotIGV4dGVybiBzdHJ1Y3QgdmFsdWUgKnZhbHVlX3N1YnNjcmlwdGVkX3J2YWx1 ZSAoc3RydWN0IHZhbHVlICphcnJheSwKLS0JCQkJCSAgICAgICBMT05HRVNUIGluZGV4LCBpbnQg bG93ZXJib3VuZCk7Ci0rCQkJCQkgICAgICAgTE9OR0VTVCBpbmRleCwKLSsJCQkJCSAgICAgICBM T05HRVNUIGxvd2VyYm91bmQpOwotIAotIC8qIFVzZXIgZnVuY3Rpb24gaGFuZGxlci4gICovCi0g Ci1kaWZmIC0tZ2l0IGEvZ2RiL3g4Ni1uYXQuYyBiL2dkYi94ODYtbmF0LmMKLS0tLSBhL2dkYi94 ODYtbmF0LmMKLSsrKyBiL2dkYi94ODYtbmF0LmMKLUBAIC0xNzMsNyArMTczLDcgQEAgeDg2X3Jl bW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKLSAgICBhZGRyZXNzIEFE RFIgYW5kIHdob3NlIGxlbmd0aCBpcyBMRU4gYnl0ZXMuICAqLwotIAotIGludAotLXg4Nl9yZWdp b25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuKQotK3g4Nl9y ZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbikK LSB7Ci0gICBzdHJ1Y3QgeDg2X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUKLSAgICAgPSB4ODZfZGVi dWdfcmVnX3N0YXRlIChpbmZlcmlvcl9wdGlkLnBpZCAoKSk7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3g4 Ni1uYXQuaCBiL2dkYi94ODYtbmF0LmgKLS0tLSBhL2dkYi94ODYtbmF0LmgKLSsrKyBiL2dkYi94 ODYtbmF0LmgKLUBAIC00OSw3ICs0OSw3IEBAIGV4dGVybiB2b2lkIHg4Nl9mb3JnZXRfcHJvY2Vz cyAocGlkX3QgcGlkKTsKLSAgICBkZWZpbml0aW9ucy4gICovCi0gCi0gZXh0ZXJuIGludCB4ODZf Y2FuX3VzZV9od19icmVha3BvaW50IChlbnVtIGJwdHlwZSB0eXBlLCBpbnQgY250LCBpbnQgb3Ro ZXJ0eXBlKTsKLS1leHRlcm4gaW50IHg4Nl9yZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENP UkVfQUREUiBhZGRyLCBpbnQgbGVuKTsKLStleHRlcm4gaW50IHg4Nl9yZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbik7Ci0gZXh0ZXJuIGludCB4 ODZfc3RvcHBlZF9ieV93YXRjaHBvaW50ICgpOwotIGV4dGVybiBpbnQgeDg2X3N0b3BwZWRfZGF0 YV9hZGRyZXNzIChDT1JFX0FERFIgKmFkZHJfcCk7Ci0gZXh0ZXJuIGludCB4ODZfaW5zZXJ0X3dh dGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotQEAgLTc1LDcgKzc1LDcgQEAgc3Ry dWN0IHg4Nl9uYXRfdGFyZ2V0IDogcHVibGljIEJhc2VUYXJnZXQKLSAgIGludCBjYW5fdXNlX2h3 X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlIHR5cGUsIGludCBjbnQsIGludCBvdGhlcnR5cGUpIG92 ZXJyaWRlCi0gICB7IHJldHVybiB4ODZfY2FuX3VzZV9od19icmVha3BvaW50ICh0eXBlLCBjbnQs IG90aGVydHlwZSk7IH0KLSAKLS0gIGludCByZWdpb25fb2tfZm9yX2h3X3dhdGNocG9pbnQgKENP UkVfQUREUiBhZGRyLCBpbnQgbGVuKSBvdmVycmlkZQotKyAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSIGFkZHIsIExPTkdFU1QgbGVuKSBvdmVycmlkZQotICAgeyBy ZXR1cm4geDg2X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoYWRkciwgbGVuKTsgfQotIAot ICAgaW50IGluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKCmRpZmYg LS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoIGIvZ2RiLXJoYno3OTU0 MjQtYml0cG9zLTIxb2YyNS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjE3 OGRiMi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjFvZjI1LnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsMTgxICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog Z2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2YyNS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5ub3Qg YWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwot OzsgKFJIIEJaIDc5NTQyNCkuCi07Oz1wdXNoCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9n ZGItcGF0Y2hlcy8yMDEyLTA5L21zZzAwNjMyLmh0bWwKLQotLS1NUF8vUG5MNmwzTFVzWFdwWi9v bHFhd1dsemIKLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQotQ29u dGVudC1UcmFuc2Zlci1FbmNvZGluZzogN2JpdAotQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5l Ci0KLUhpLAotCi1UaGlzIGlzIHBhcnQgdHdvIG9mIHRoZSBiaXRwb3MgZXhwYW5zaW9uIHBhdGNo LiAgVGhpcyBpbXBsZW1lbnRzIGNoZWNrcwotaW4gc29tZSBwbGFjZXMgaW4gdGhlIGNvZGUgdG8g ZW5zdXJlIHRoYXQgYSB0eXBlIHNpemUgaW4gVUxPTkdFU1QgaXMKLXNtYWxsIGVub3VnaCB0byBm aXQgaW50byBob3N0IG1lbW9yeS4gIFRlc3RlZCBmb3IgcmVncmVzc2lvbnMgb24geDg2XzY0Ci1G ZWRvcmEgMTYuCi0KLVJlZ2FyZHMsCi1TaWRkaGVzaAotCi0tLU1QXy9Qbkw2bDNMVXNYV3BaL29s cWF3V2x6YgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluCi1Db250ZW50LVRyYW5zZmVyLUVuY29k aW5nOiBxdW90ZWQtcHJpbnRhYmxlCi1Db250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBm aWxlbmFtZT1DaGFuZ2VMb2ctZW5zdXJlX3NpemV0Ci0KLWdkYi9DaGFuZ2VMb2cKLQotCSogYWxw aGEtdGRlcC5jIChhbHBoYV9wdXNoX2R1bW15X2NhbGwpIENoZWNrIGZvciB1bmRlcmZsb3cgaW4K LQlTUC4KLQkqIGNwLXZhbHByaW50IChjcF9wcmludF92YWx1ZSk6IEVuc3VyZSBCQVNFQ0xBU1Mg Zml0cyBpbnRvCi0Jc2l6ZV90LgotCSogZHdhcmYybG9jLmMgKHJlYWRfcGllY2VkX3ZhbHVlKTog RW5zdXJlIHRoYXQgVEhJU19TSVpFIGZpdHMKLQlpbnRvIHNpemVfdC4KLQkod3JpdGVfcGllY2Vk X3ZhbHVlKTogTGlrZXdpc2UuCi0JKiBmaW5kY21kLmMgKHBhcnNlX2ZpbmRfYXJncyk6IEVuc3Vy ZSBQQVRURVJOX0JVRl9TSVpFIGZpdHMgaW50bwotCXNpemVfdC4KLQkqIHAtdmFscHJpbnQgKHBh c2NhbF9vYmplY3RfcHJpbnRfdmFsdWUpOiBFbnN1cmUgQkFTRUNMQVNTIGZpdHMKLQlpbnRvIHNp emVfdC4KLQkqIHV0aWxzLmMgKHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvcik6IE5ldyBmdW5j dGlvbiB0byBmaW5kIGlmCi0JYSBVTE9OR0VTVCBudW1iZXIgZml0cyBpbnRvIHNpemVfdC4KLQkq IHV0aWxzLmg6IERlY2xhcmUgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9yLgotCSogdmFsb3Bz LmMgKHNlYXJjaF9zdHJ1Y3RfbWV0aG9kKTogRW5zdXJlIEJBU0VDTEFTUyBmaXRzIGludG8KLQlz aXplX3QuCi0JKiB2YWx1ZS5jIChhbGxvY2F0ZV92YWx1ZV9sYXp5KTogRW5zdXJlIFRZUEUgZml0 cyBpbnRvIHNpemVfdC4KLQkoYWxsb2NhdGVfdmFsdWVfY29udGVudHMpOiBMaWtld2lzZS4KLQko c2V0X3ZhbHVlX2VuY2xvc2luZ190eXBlKTogRW5zdXJlIE5FV19FTkNMX1RZUEUgZml0cyBpbnRv Ci0Jc2l6ZV90LgotCSogdmF4LXRkZXAuYyAodmF4X3JldHVybl92YWx1ZSk6IEVuc3VyZSB0aGF0 IFRZUEUgZml0cyBpbnRvCi0Jc2l6ZV90LgotCi0tLU1QXy9Qbkw2bDNMVXNYV3BaL29scWF3V2x6 YgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6 IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy1l bnN1cmUtc2l6ZV90LnBhdGNoCi0KLWRpZmYgLS1naXQgYS9nZGIvYWxwaGEtdGRlcC5jIGIvZ2Ri L2FscGhhLXRkZXAuYwotLS0tIGEvZ2RiL2FscGhhLXRkZXAuYwotKysrIGIvZ2RiL2FscGhhLXRk ZXAuYwotQEAgLTQxNCw2ICs0MTQsMTMgQEAgYWxwaGFfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3Qg Z2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgICAgYWNjdW11bGF0 ZV9zaXplID0gMDsKLSAgIGVsc2UKLSAgICAgYWNjdW11bGF0ZV9zaXplIC09IHNpemVvZihhcmdf cmVnX2J1ZmZlcik7Ci0rCi0rICAvKiBDaGVjayBmb3IgdW5kZXJmbG93LiAgKi8KLSsgIGlmIChz cCAtIGFjY3VtdWxhdGVfc2l6ZSA+IHNwKQotKyAgICBlcnJvciAoXygiSW5zdWZmaWNpZW50IG1l bW9yeSBpbiBHREIgaG9zdCBmb3IgYXJndW1lbnRzLCAiCi0rCSAgICAgIm5lZWQgJXMgYnl0ZXMs IGJ1dCBsZXNzIHRoYW4gJXMgYnl0ZXMgYXZhaWxhYmxlLiIpLAotKwkgICBwbG9uZ2VzdCAoYWNj dW11bGF0ZV9zaXplKSwgcGxvbmdlc3QgKENPUkVfQUREUl9NQVggLSBzcCkpOwotKwotICAgc3Ag LT0gYWNjdW11bGF0ZV9zaXplOwotIAotICAgLyogS2VlcCBzcCBhbGlnbmVkIHRvIGEgbXVsdGlw bGUgb2YgMTYgYXMgdGhlIEFCSSByZXF1aXJlcy4gICovCi1kaWZmIC0tZ2l0IGEvZ2RiL2NwLXZh bHByaW50LmMgYi9nZGIvY3AtdmFscHJpbnQuYwotLS0tIGEvZ2RiL2NwLXZhbHByaW50LmMKLSsr KyBiL2dkYi9jcC12YWxwcmludC5jCi1AQCAtNTI5LDYgKzUyOSw3IEBAIGNwX3ByaW50X3ZhbHVl IChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHR5cGUgKnJlYWxfdHlwZSwKLSAJICAgICAgaWYg KChib2Zmc2V0ICsgb2Zmc2V0KSA8IDAKLSAJCSAgfHwgKGJvZmZzZXQgKyBvZmZzZXQpID49IFRZ UEVfTEVOR1RIIChyZWFsX3R5cGUpKQotIAkJewotKwkJICB1bG9uZ2VzdF9maXRzX2hvc3Rfb3Jf ZXJyb3IgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJCSAgZ2RiOjpieXRlX3ZlY3RvciBi dWYgKFRZUEVfTEVOR1RIIChiYXNlY2xhc3MpKTsKLSAKLSAJCSAgaWYgKHRhcmdldF9yZWFkX21l bW9yeSAoYWRkcmVzcyArIGJvZmZzZXQsIGJ1Zi5kYXRhICgpLAotZGlmZiAtLWdpdCBhL2dkYi9k ZWZzLmggYi9nZGIvZGVmcy5oCi0tLS0gYS9nZGIvZGVmcy5oCi0rKysgYi9nZGIvZGVmcy5oCi1A QCAtNjY5LDQgKzY2OSw2IEBAIERFRl9FTlVNX0ZMQUdTX1RZUEUgKGVudW0gdXNlcl9zZWxlY3Rl ZF93aGF0X2ZsYWcsIHVzZXJfc2VsZWN0ZWRfd2hhdCk7Ci0gCi0gI2luY2x1ZGUgInV0aWxzLmgi Ci0gCi0rZXh0ZXJuIHZvaWQgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9yIChVTE9OR0VTVCBu dW0pOwotKwotICNlbmRpZiAvKiAjaWZuZGVmIERFRlNfSCAqLwotZGlmZiAtLWdpdCBhL2dkYi9w LXZhbHByaW50LmMgYi9nZGIvcC12YWxwcmludC5jCi0tLS0gYS9nZGIvcC12YWxwcmludC5jCi0r KysgYi9nZGIvcC12YWxwcmludC5jCi1AQCAtNzczLDYgKzc3Myw3IEBAIHBhc2NhbF9vYmplY3Rf cHJpbnRfdmFsdWUgKHN0cnVjdCB0eXBlICp0eXBlLCBjb25zdCBnZGJfYnl0ZSAqdmFsYWRkciwK LSAKLSAJICBpZiAoYm9mZnNldCA8IDAgfHwgYm9mZnNldCA+PSBUWVBFX0xFTkdUSCAodHlwZSkp Ci0gCSAgICB7Ci0rCSAgICAgIHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5H VEggKGJhc2VjbGFzcykpOwotIAkgICAgICBidWYucmVzaXplIChUWVBFX0xFTkdUSCAoYmFzZWNs YXNzKSk7Ci0gCi0gCSAgICAgIGJhc2VfdmFsYWRkciA9IGJ1Zi5kYXRhICgpOwotZGlmZiAtLWdp dCBhL2dkYi91dGlscy5jIGIvZ2RiL3V0aWxzLmMKLS0tLSBhL2dkYi91dGlscy5jCi0rKysgYi9n ZGIvdXRpbHMuYwotQEAgLTI5MzIsNiArMjkzMiwxNyBAQCBzdHJpbmdfdG9fY29yZV9hZGRyIChj b25zdCBjaGFyICpteV9zdHJpbmcpCi0gICByZXR1cm4gYWRkcjsKLSB9Ci0gCi0rLyogRW5zdXJl IHRoYXQgdGhlIGlucHV0IE5VTSBpcyBub3QgbGFyZ2VyIHRoYW4gdGhlIG1heGltdW0gY2FwYWNp dHkgb2YgdGhlCi0rICAgaG9zdCBzeXN0ZW0uICBXZSBjaG9vc2UgU0laRV9NQVggLyA4IGFzIGEg Y29uc2VydmF0aXZlIGVzdGltYXRlIG9mIHRoZSBzaXplCi0rICAgb2YgYSByZXNvdXJjZSB0aGF0 IGEgc3lzdGVtIG1heSBhbGxvY2F0ZS4gICovCi0rdm9pZAotK3Vsb25nZXN0X2ZpdHNfaG9zdF9v cl9lcnJvciAoVUxPTkdFU1QgbnVtKQotK3sKLSsgIGlmIChudW0gPiBTSVpFX01BWCAvIDgpCi0r ICAgIGVycm9yIChfKCJJbnN1ZmZpY2llbnQgbWVtb3J5IGluIGhvc3QgR0RCIGZvciBvYmplY3Qg b2Ygc2l6ZSAlcyBieXRlcywgIgotKwkgICAgICJtYXhpbXVtIGFsbG93ZWQgJXMgYnl0ZXMuIiks IHB1bG9uZ2VzdCAobnVtKSwKLSsJICAgcHVsb25nZXN0IChTSVpFX01BWCAvIDgpKTsKLSt9Ci0g I2lmIEdEQl9TRUxGX1RFU1QKLSAKLSBzdGF0aWMgdm9pZAotZGlmZiAtLWdpdCBhL2dkYi92YWxv cHMuYyBiL2dkYi92YWxvcHMuYwotLS0tIGEvZ2RiL3ZhbG9wcy5jCi0rKysgYi9nZGIvdmFsb3Bz LmMKLUBAIC0yMDY0LDYgKzIwNjQsNyBAQCBzZWFyY2hfc3RydWN0X21ldGhvZCAoY29uc3QgY2hh ciAqbmFtZSwgc3RydWN0IHZhbHVlICoqYXJnMXAsCi0gCSAgICB7Ci0gCSAgICAgIENPUkVfQURE UiBhZGRyZXNzOwotIAotKwkgICAgICB1bG9uZ2VzdF9maXRzX2hvc3Rfb3JfZXJyb3IgKFRZUEVf TEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJICAgICAgZ2RiOjpieXRlX3ZlY3RvciB0bXAgKFRZUEVf TEVOR1RIIChiYXNlY2xhc3MpKTsKLSAJICAgICAgYWRkcmVzcyA9IHZhbHVlX2FkZHJlc3MgKCph cmcxcCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3ZhbHVlLmMgYi9nZGIvdmFsdWUuYwotLS0tIGEv Z2RiL3ZhbHVlLmMKLSsrKyBiL2dkYi92YWx1ZS5jCi1AQCAtOTMzLDYgKzkzMyw3IEBAIGFsbG9j YXRlX3ZhbHVlX2xhenkgKHN0cnVjdCB0eXBlICp0eXBlKQotICAgICAgZGVzY3JpcHRpb24gY29y cmVjdGx5LiAgKi8KLSAgIGNoZWNrX3R5cGVkZWYgKHR5cGUpOwotIAotKyAgdWxvbmdlc3RfZml0 c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAodHlwZSkpOwotICAgdmFsID0gbmV3IHN0cnVj dCB2YWx1ZSAodHlwZSk7Ci0gCi0gICAvKiBWYWx1ZXMgc3RhcnQgb3V0IG9uIHRoZSBhbGxfdmFs dWVzIGNoYWluLiAgKi8KLUBAIC0xMDE1LDYgKzEwMTYsOCBAQCBjaGVja190eXBlX2xlbmd0aF9i ZWZvcmVfYWxsb2MgKGNvbnN0IHN0cnVjdCB0eXBlICp0eXBlKQotIHN0YXRpYyB2b2lkCi0gYWxs b2NhdGVfdmFsdWVfY29udGVudHMgKHN0cnVjdCB2YWx1ZSAqdmFsKQotIHsKLSsgIHVsb25nZXN0 X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKHZhbC0+ZW5jbG9zaW5nX3R5cGUpKTsK LSsKLSAgIGlmICghdmFsLT5jb250ZW50cykKLSAgICAgewotICAgICAgIGNoZWNrX3R5cGVfbGVu Z3RoX2JlZm9yZV9hbGxvYyAodmFsLT5lbmNsb3NpbmdfdHlwZSk7Ci1AQCAtMjg3NCw2ICsyODc3 LDcgQEAgc2V0X3ZhbHVlX2VuY2xvc2luZ190eXBlIChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0 IHR5cGUgKm5ld19lbmNsX3R5cGUpCi0gICBpZiAoVFlQRV9MRU5HVEggKG5ld19lbmNsX3R5cGUp ID4gVFlQRV9MRU5HVEggKHZhbHVlX2VuY2xvc2luZ190eXBlICh2YWwpKSkKLSAgICAgewotICAg ICAgIGNoZWNrX3R5cGVfbGVuZ3RoX2JlZm9yZV9hbGxvYyAobmV3X2VuY2xfdHlwZSk7Ci0rICAg ICAgdWxvbmdlc3RfZml0c19ob3N0X29yX2Vycm9yIChUWVBFX0xFTkdUSCAobmV3X2VuY2xfdHlw ZSkpOwotICAgICAgIHZhbC0+Y29udGVudHMKLSAJLnJlc2V0ICgoZ2RiX2J5dGUgKikgeHJlYWxs b2MgKHZhbC0+Y29udGVudHMucmVsZWFzZSAoKSwKLSAJCQkJICAgICAgIFRZUEVfTEVOR1RIIChu ZXdfZW5jbF90eXBlKSkpOwotZGlmZiAtLWdpdCBhL2dkYi92YXgtdGRlcC5jIGIvZ2RiL3ZheC10 ZGVwLmMKLS0tLSBhL2dkYi92YXgtdGRlcC5jCi0rKysgYi9nZGIvdmF4LXRkZXAuYwotQEAgLTIx OSw2ICsyMTksNyBAQCB2YXhfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJICBVTE9OR0VTVCBhZGRyOwotIAotIAkgIHJlZ2Nh Y2hlX3Jhd19yZWFkX3Vuc2lnbmVkIChyZWdjYWNoZSwgVkFYX1IwX1JFR05VTSwgJmFkZHIpOwot KwkgIHVsb25nZXN0X2ZpdHNfaG9zdF9vcl9lcnJvciAoVFlQRV9MRU5HVEggKHR5cGUpKTsKLSAJ ICByZWFkX21lbW9yeSAoYWRkciwgcmVhZGJ1ZiwgbGVuKTsKLSAJfQotIAoKZGlmZiAtLWdpdCBh L2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRw b3MtMjJvZjI1LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjODNmMThjLi4w MDAwMDAwCi0tLSBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yMm9mMjUucGF0Y2gKKysrIC9kZXYv bnVsbApAQCAtMSw1NTggKzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAw OjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIgcGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+ Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhi ejc5NTQyNC1iaXRwb3MtMjJvZjI1LnBhdGNoCi0KLTs7IEZpeCBgR0RCIGNhbm5vdCBhY2Nlc3Mg c3RydWN0IG1lbWJlciB3aG9zZSBvZmZzZXQgaXMgbGFyZ2VyIHRoYW4gMjU2TUInCi07OyAoUkgg QlogNzk1NDI0KS4KLTs7PXB1c2gKLQotaHR0cDovL3NvdXJjZXdhcmUub3JnL21sL2dkYi1wYXRj aGVzLzIwMTItMDkvbXNnMDA2MjkuaHRtbAotCi0tLU1QXy82SFJsSDZ2cHlxdFN5NENZeU1yWDZi MgotQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVTLUFTQ0lJCi1Db250ZW50LVRy YW5zZmVyLUVuY29kaW5nOiA3Yml0Ci1Db250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmUKLQotSGks Ci0KLVRoaXMgaXMgcGFydCB0aHJlZSBvZiB0aGUgYml0cG9zIGV4cGFuc2lvbiBjaGFuZ2UuICBT b21lIGFyY2hpdGVjdHVyZXMKLWFsbG93IGFyYml0cmFyeSBsZW5ndGggd2F0Y2hwb2ludHMgYW5k IGNvbWJpbmVkIHdpdGggdGhlIGZhY3QgdGhhdCB0eXBlCi1sZW5ndGhzIGNvdWxkIGJlIGxhcmdl IGVub3VnaCwgd2UgbmVlZCBMT05HRVNUIGZvciB3YXRjaHBvaW50IGxlbmd0aHMuCi1JdCBpcyBh cmNoaXRlY3R1cmUgZGVwZW5kZW50IGhvd2V2ZXIsIHdoZXRoZXIgdGhlIExPTkdFU1QgaXMgbmVl ZGVkIG9yCi1ub3QuICBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIHNpZ25hdHVyZXMgb2Ygd2F0Y2hw b2ludCBpbnNlcnRpb24gYW5kCi1yZW1vdmFsIGZ1bmN0aW9ucyBvZiBhbGwgYXJjaGl0ZWN0dXJl cyAodG8gY29tcGx5IHdpdGggdGhlIGZ1bmN0aW9uCi1zaWduYXR1cmVzIGluIHRoZSBjYWxsYmFj ayBzdHJ1Y3QpLCBidXQgZXhwYW5kcyB0eXBlcyBvbmx5IGluCi1hcmNoaXRlY3R1cmVzIHRoYXQg bmVlZCBpdC4gIFRlc3RlZCBvbiBGZWRvcmEgMTYgeDg2XzY0LgotCi1SZWdhcmRzLAotU2lkZGhl c2gKLS0tTVBfLzZIUmxINnZweXF0U3k0Q1l5TXJYNmIyCi1Db250ZW50LVR5cGU6IHRleHQvcGxh aW4KLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUKLUNvbnRlbnQt RGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPUNoYW5nZUxvZy13cAotCi1nZGIvQ2hh bmdlTG9nOgotCi0JKiBhcm0tbGludXgtbmF0LmMgKGFybV9saW51eF9pbnNlcnRfd2F0Y2hwb2lu dCk6IEV4cGFuZAotCXBhcmFtZXRlciBMRU4gdG8gTE9OR0VTVC4KLQkoYXJtX2xpbnV4X3JlbW92 ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKGFybV9saW51eF93YXRjaHBvaW50X2FkZHJfd2l0 aGluX3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdUSCB0byBMT05HRVNULgotCSogaTM4 Ni1uYXQuYyAoaTM4Nl9pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRv Ci0JTE9OR0VTVC4KLQkoaTM4Nl9yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSogaWE2 NC1saW51eC1uYXQuYyAoaWE2NF9saW51eF9pbnNlcnRfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgot CShpYTY0X2xpbnV4X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKiBpbmYtdHRyYWNl LmMgKGluZl90dHJhY2VfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQlFeHBhbmQgTlVN X1BBR0VTLCBQQUdFIHRvIExPTkdFU1QuCi0JKGluZl90dHJhY2VfcmVtb3ZlX3dhdGNocG9pbnQp OiBMaWtld2lzZS4KLQkqIG1pcHMtbGludXgtbmF0LmMgKG1pcHNfbGludXhfaW5zZXJ0X3dhdGNo cG9pbnQpOiBFeHBhbmQKLQlwYXJhbWV0ZXIgTEVOIHRvIExPTkdFU1QuCi0JKG1pcHNfbGludXhf cmVtb3ZlX3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIG50by1wcm9jZnMuYyAocHJvY2ZzX3Jl bW92ZV9od193YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKHByb2Nmc19pbnNlcnRfaHdfd2F0Y2hw b2ludCk6IExpa2V3aXNlLgotCSogcHBjLWxpbnV4LW5hdC5jIChjYWxjdWxhdGVfZHZjKTogTGlr ZXdpc2UuICBFeHBhbmQgSSwKLQlOVU1fQllURV9FTkFCTEUgdG8gTE9OR0VTVC4KLQkoY2hlY2tf Y29uZGl0aW9uKTogRXhwYW5kIHBhcmFtZXRlciBMRU4gdG8gcG9pbnQgdG8gTE9OR0VTVC4KLQko cHBjX2xpbnV4X2Nhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbik6IEV4cGFuZCBwYXJhbWV0 ZXIKLQlMRU4gdG8gTE9OR0VTVC4KLQkoY3JlYXRlX3dhdGNocG9pbnRfcmVxdWVzdCk6IExpa2V3 aXNlLgotCShwcGNfbGludXhfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkocHBjX2xp bnV4X3JlbW92ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKHBwY19saW51eF93YXRjaHBvaW50 X2FkZHJfd2l0aGluX3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdUSCB0byBMT05HRVNU LgotCSogcHJvY2ZzLmMgKHByb2Nfc2V0X3dhdGNocG9pbnQpOiBFeHBhbmQgcGFyYW1ldGVyIExF TiB0bwotCUxPTkdFU1QuCi0JKHByb2Nmc19zZXRfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCShw cm9jZnNfaW5zZXJ0X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkocHJvY2ZzX3JlbW92ZV93YXRj aHBvaW50KTogTGlrZXdpc2UuCi0JKiByZW1vdGUtbTMyci1zZGkuYyAobTMycl9pbnNlcnRfd2F0 Y2hwb2ludCk6IExpa2V3aXNlLiAgVXNlCi0JcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IExFTi4K LQkobTMycl9yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSogcmVtb3RlLW1pcHMuYyAo bWlwc19pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOCi0JdG8gTE9OR0VT VC4KLQkobWlwc19yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCSogcmVtb3RlLmMgKHJl bW90ZV9pbnNlcnRfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCVVzZSBwaGV4X256IHRvIGZvcm1h dCBwcmludCBMRU4uCi0JKHJlbW90ZV9yZW1vdmVfd2F0Y2hwb2ludCk6IExpa2V3aXNlLgotCShy ZW1vdGVfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVO R1RICi0JdG8gTE9OR0VTVC4KLQkqIHMzOTAtbGludXgtbmF0LmMgKHMzOTBfaW5zZXJ0X3dhdGNo cG9pbnQpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0bwotCUxPTkdFU1QuCi0JKHMzOTBfcmVtb3Zl X3dhdGNocG9pbnQpOiBMaWtld2lzZS4KLQkqIHRhcmdldC5jICh1cGRhdGVfY3VycmVudF90YXJn ZXQpOiBFeHBhbmQgcGFyYW1ldGVyIExFTiBmb3IKLQljYWxsYmFja3MgdG8gVE9fSU5TRVJUX1dB VENIUE9JTlQsIFRPX1JFTU9WRV9XQVRDSFBPSU5ULAotCVRPX0NBTl9BQ0NFTF9XQVRDSFBPSU5U X0NPTkRJVElPTiwgdG8gTE9OR0VTVC4KLQkoZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0aGlu X3JhbmdlKTogRXhwYW5kIHBhcmFtZXRlcgotCUxFTkdUSCB0byBMT05HRVNULgotCShkZWJ1Z190 b19jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24pOiBFeHBhbmQgcGFyYW1ldGVyIExFTgot CXRvIExPTkdFU1QuICBVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IExFTi4KLQkoZGVidWdf dG9fd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOR1RI Ci0JdG8gTE9OR0VTVC4gIFVzZSBwbG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgTEVOR1RILgotCShk ZWJ1Z190b19pbnNlcnRfd2F0Y2hwb2ludCk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvIExPTkdF U1QuCi0JVXNlIHBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBMRU4uCi0JKGRlYnVnX3RvX3JlbW92 ZV93YXRjaHBvaW50KTogTGlrZXdpc2UuCi0JKiB0YXJnZXQuaCAoc3RydWN0IHRhcmdldF9vcHMp OiBFeHBhbmQgcGFyYW1ldGVyIExFTiBvZgotCVRPX1JFTU9WRV9XQVRDSFBPSU5ULCBUT19JTlNF UlRfV0FUQ0hQT0lOVCwKLQlUT19XQVRDSFBPSU5UX0FERFJfV0lUSElOX1JBTkdFIGFuZAotCVRP X0NBTl9BQ0NFTF9XQVRDSFBPSU5UX0NPTkRJVElPTiB0byBMT05HRVNULgotCi0tLU1QXy82SFJs SDZ2cHlxdFN5NENZeU1yWDZiMgotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQt VHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7 IGZpbGVuYW1lPWJpdHBvcy13cC5wYXRjaAotCi1kaWZmIC0tZ2l0IGEvZ2RiL2FhcmNoNjQtbGlu dXgtbmF0LmMgYi9nZGIvYWFyY2g2NC1saW51eC1uYXQuYwotLS0tIGEvZ2RiL2FhcmNoNjQtbGlu dXgtbmF0LmMKLSsrKyBiL2dkYi9hYXJjaDY0LWxpbnV4LW5hdC5jCi1AQCAtNjMsMTQgKzYzLDE0 IEBAIHB1YmxpYzoKLSAgIGludCBjYW5fdXNlX2h3X2JyZWFrcG9pbnQgKGVudW0gYnB0eXBlLCBp bnQsIGludCkgb3ZlcnJpZGU7Ci0gICBpbnQgaW5zZXJ0X2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBn ZGJhcmNoICosIHN0cnVjdCBicF90YXJnZXRfaW5mbyAqKSBvdmVycmlkZTsKLSAgIGludCByZW1v dmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZv ICopIG92ZXJyaWRlOwotLSAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9B RERSLCBpbnQpIG92ZXJyaWRlOwotKyAgaW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAo Q09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKLSAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAo Q09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCi0gCQkJIHN0cnVjdCBleHBy ZXNzaW9uICopIG92ZXJyaWRlOwotICAgaW50IHJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIs IGludCwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSwKLSAJCQkgc3RydWN0IGV4cHJlc3Npb24gKikg b3ZlcnJpZGU7Ci0gICBib29sIHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAg IGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENPUkVfQUREUiAqKSBvdmVycmlkZTsKLS0gIGJv b2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIGlu dCkgb3ZlcnJpZGU7Ci0rICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVf QUREUiwgQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKLSAKLSAgIGludCBjYW5fZG9fc2lu Z2xlX3N0ZXAgKCkgb3ZlcnJpZGU7Ci0gCi1AQCAtODg3LDcgKzg4Nyw4IEBAIGFhcmNoNjRfbGlu dXhfbmF0X3RhcmdldDo6c3RvcHBlZF9ieV93YXRjaHBvaW50ICgpCi0gCi0gYm9vbAotIGFhcmNo NjRfbGludXhfbmF0X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9B RERSIGFkZHIsCi0tCQkJCQkJCUNPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKLSsJCQkJCQkJ Q09SRV9BRERSIHN0YXJ0LAotKwkJCQkJCQlMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICByZXR1cm4g c3RhcnQgPD0gYWRkciAmJiBzdGFydCArIGxlbmd0aCAtIDEgPj0gYWRkcjsKLSB9Ci1kaWZmIC0t Z2l0IGEvZ2RiL2FybS1saW51eC1uYXQuYyBiL2dkYi9hcm0tbGludXgtbmF0LmMKLS0tLSBhL2dk Yi9hcm0tbGludXgtbmF0LmMKLSsrKyBiL2dkYi9hcm0tbGludXgtbmF0LmMKLUBAIC04MCw3ICs4 MCw3IEBAIHB1YmxpYzoKLSAKLSAgIGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdk YmFyY2ggKiwgc3RydWN0IGJwX3RhcmdldF9pbmZvICopIG92ZXJyaWRlOwotIAotLSAgaW50IHJl Z2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAg aW50IHJlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVy cmlkZTsKLSAKLSAgIGludCBpbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0g dGFyZ2V0X2h3X2JwX3R5cGUsCi0gCQkJIHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOwot QEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgotIAotICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVz cyAoQ09SRV9BRERSICopIG92ZXJyaWRlOwotIAotLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0 aGluX3JhbmdlIChDT1JFX0FERFIsIENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKLSsgIGJvb2wg d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdF U1QpIG92ZXJyaWRlOwotIAotICAgY29uc3Qgc3RydWN0IHRhcmdldF9kZXNjICpyZWFkX2Rlc2Ny aXB0aW9uICgpIG92ZXJyaWRlOwotIAotQEAgLTExOTksNyArMTE5OSw3IEBAIGFybV9saW51eF9u YXRfdGFyZ2V0OjpzdG9wcGVkX2J5X3dhdGNocG9pbnQgKCkKLSBib29sCi0gYXJtX2xpbnV4X25h dF90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhZGRyLAot IAkJCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsCi0tCQkJCQkJICAgIGludCBsZW5ndGgpCi0rCQkJ CQkJICAgIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIHJldHVybiBzdGFydCA8PSBhZGRyICYmIHN0 YXJ0ICsgbGVuZ3RoIC0gMSA+PSBhZGRyOwotIH0KLWRpZmYgLS1naXQgYS9nZGIvbmF0L2FhcmNo NjQtbGludXgtaHctcG9pbnQuYyBiL2dkYi9uYXQvYWFyY2g2NC1saW51eC1ody1wb2ludC5jCi0t LS0gYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuYwotKysrIGIvZ2RiL25hdC9hYXJj aDY0LWxpbnV4LWh3LXBvaW50LmMKLUBAIC0xMzcsNyArMTM3LDcgQEAgYWFyY2g2NF9wb2ludF9l bmNvZGVfY3RybF9yZWcgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwgaW50IG9mZnNldCwg aW50IGxlbikKLSAgICBSZXR1cm4gMCBmb3IgYW55IG5vbi1jb21wbGlhbnQgQUREUiBhbmQvb3Ig TEVOOyByZXR1cm4gMSBvdGhlcndpc2UuICAqLwotIAotIHN0YXRpYyBpbnQKLS1hYXJjaDY0X3Bv aW50X2lzX2FsaWduZWQgKGludCBpc193YXRjaHBvaW50LCBDT1JFX0FERFIgYWRkciwgaW50IGxl bikKLSthYXJjaDY0X3BvaW50X2lzX2FsaWduZWQgKGludCBpc193YXRjaHBvaW50LCBDT1JFX0FE RFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgdW5zaWduZWQgaW50IGFsaWdubWVudCA9IDA7 Ci0gCi1AQCAtMjEyLDkgKzIxMiwxMCBAQCBhYXJjaDY0X3BvaW50X2lzX2FsaWduZWQgKGludCBp c193YXRjaHBvaW50LCBDT1JFX0FERFIgYWRkciwgaW50IGxlbikKLSAgICBhbiBhZGRyZXNzIHdp dGhpbiB0aGUgbGF0dGVyLiAqLwotIAotIHN0YXRpYyB2b2lkCi0tYWFyY2g2NF9hbGlnbl93YXRj aHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgQ09SRV9BRERSICphbGlnbmVkX2FkZHJf cCwKLSthYXJjaDY0X2FsaWduX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxl biwKLSsJCQkgIENPUkVfQUREUiAqYWxpZ25lZF9hZGRyX3AsCi0gCQkJICBpbnQgKmFsaWduZWRf b2Zmc2V0X3AsIGludCAqYWxpZ25lZF9sZW5fcCwKLS0JCQkgIENPUkVfQUREUiAqbmV4dF9hZGRy X3AsIGludCAqbmV4dF9sZW5fcCwKLSsJCQkgIENPUkVfQUREUiAqbmV4dF9hZGRyX3AsIExPTkdF U1QgKm5leHRfbGVuX3AsCi0gCQkJICBDT1JFX0FERFIgKm5leHRfYWRkcl9vcmlnX3ApCi0gewot ICAgaW50IGFsaWduZWRfbGVuOwotQEAgLTYwMiw3ICs2MDMsNyBAQCBhYXJjaDY0X2hhbmRsZV9h bGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSAKLSBzdGF0 aWMgaW50Ci0gYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0 X2h3X2JwX3R5cGUgdHlwZSwKLS0JCQkJICAgICBDT1JFX0FERFIgYWRkciwgaW50IGxlbiwgaW50 IGlzX2luc2VydCwKLSsJCQkJICAgICBDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4sIGludCBp c19pbnNlcnQsCi0gCQkJCSAgICAgc3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0 ZSkKLSB7Ci0gICBDT1JFX0FERFIgYWRkcl9vcmlnID0gYWRkcjsKLUBAIC02MzIsMTIgKzYzMywx MiBAQCBhYXJjaDY0X2hhbmRsZV91bmFsaWduZWRfd2F0Y2hwb2ludCAoZW51bSB0YXJnZXRfaHdf YnBfdHlwZSB0eXBlLAotIAkJICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IgotIAkJICAgICAgImFkZHJfb3JpZzogJXNcbiIKLSAJCSAgICAgICIgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICIKLS0JCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjog JWRcbiIKLSsJCSAgICAgICJuZXh0X2FkZHI6ICVzLCAgICBuZXh0X2xlbjogJXNcbiIKLSAJCSAg ICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAiCi0gCQkgICAgICAiYWRkcl9vcmlnX25l eHQ6ICVzXG4iLAotIAkJICAgICAgaXNfaW5zZXJ0LCBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChh bGlnbmVkX2FkZHIpLAotIAkJICAgICAgYWxpZ25lZF9sZW4sIGNvcmVfYWRkcl90b19zdHJpbmdf bnogKGFkZHJfb3JpZyksCi0tCQkgICAgICBjb3JlX2FkZHJfdG9fc3RyaW5nX256IChhZGRyKSwg bGVuLAotKwkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkciksIHBsb25nZXN0IChs ZW4pLAotIAkJICAgICAgY29yZV9hZGRyX3RvX3N0cmluZ19ueiAoYWRkcl9vcmlnX25leHQpKTsK LSAKLSAgICAgICBhZGRyX29yaWcgPSBhZGRyX29yaWdfbmV4dDsKLUBAIC02NTEsNyArNjUyLDcg QEAgYWFyY2g2NF9oYW5kbGVfdW5hbGlnbmVkX3dhdGNocG9pbnQgKGVudW0gdGFyZ2V0X2h3X2Jw X3R5cGUgdHlwZSwKLSAKLSBpbnQKLSBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRh cmdldF9od19icF90eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJCSAgIGludCBsZW4sIGlu dCBpc19pbnNlcnQsCi0rCQkJICAgTE9OR0VTVCBsZW4sIGludCBpc19pbnNlcnQsCi0gCQkJICAg c3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSkKLSB7Ci0gICBpZiAoYWFyY2g2 NF9wb2ludF9pc19hbGlnbmVkICgxIC8qIGlzX3dhdGNocG9pbnQgKi8gLCBhZGRyLCBsZW4pKQot QEAgLTczMywxNCArNzM0LDE0IEBAIGFhcmNoNjRfbGludXhfYW55X3NldF9kZWJ1Z19yZWdzX3N0 YXRlIChhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUsCi0gdm9pZAotIGFhcmNoNjRfc2hv d19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3RhdGUs Ci0gCQkJICAgICAgY29uc3QgY2hhciAqZnVuYywgQ09SRV9BRERSIGFkZHIsCi0tCQkJICAgICAg aW50IGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKQotKwkJCSAgICAgIExPTkdFU1Qg bGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpCi0gewotICAgaW50IGk7Ci0gCi0gICBk ZWJ1Z19wcmludGYgKCIlcyIsIGZ1bmMpOwotICAgaWYgKGFkZHIgfHwgbGVuKQotLSAgICBkZWJ1 Z19wcmludGYgKCIgKGFkZHI9MHglMDhseCwgbGVuPSVkLCB0eXBlPSVzKSIsCi0tCQkgICh1bnNp Z25lZCBsb25nKSBhZGRyLCBsZW4sCi0rICAgIGRlYnVnX3ByaW50ZiAoIiAoYWRkcj0weCUwOGx4 LCBsZW49JXMsIHR5cGU9JXMpIiwKLSsJCSAgKHVuc2lnbmVkIGxvbmcpIGFkZHIsIHBsb25nZXN0 IChsZW4pLAotIAkJICB0eXBlID09IGh3X3dyaXRlID8gImh3LXdyaXRlLXdhdGNocG9pbnQiCi0g CQkgIDogKHR5cGUgPT0gaHdfcmVhZCA/ICJody1yZWFkLXdhdGNocG9pbnQiCi0gCQkgICAgIDog KHR5cGUgPT0gaHdfYWNjZXNzID8gImh3LWFjY2Vzcy13YXRjaHBvaW50IgotQEAgLTgyMyw3ICs4 MjQsNyBAQCBhYXJjaDY0X2xpbnV4X2dldF9kZWJ1Z19yZWdfY2FwYWNpdHkgKGludCB0aWQpCi0g ICAgQUREUiBhbmQgd2hvc2UgbGVuZ3RoIGlzIExFTiBpbiBieXRlcy4gICovCi0gCi0gaW50Ci0t YWFyY2g2NF9saW51eF9yZWdpb25fb2tfZm9yX3dhdGNocG9pbnQgKENPUkVfQUREUiBhZGRyLCBp bnQgbGVuKQotK2FhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChDT1JFX0FE RFIgYWRkciwgTE9OR0VTVCBsZW4pCi0gewotICAgQ09SRV9BRERSIGFsaWduZWRfYWRkcjsKLSAK LWRpZmYgLS1naXQgYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHctcG9pbnQuaCBiL2dkYi9uYXQv YWFyY2g2NC1saW51eC1ody1wb2ludC5oCi0tLS0gYS9nZGIvbmF0L2FhcmNoNjQtbGludXgtaHct cG9pbnQuaAotKysrIGIvZ2RiL25hdC9hYXJjaDY0LWxpbnV4LWh3LXBvaW50LmgKLUBAIC0xNzYs NyArMTc2LDcgQEAgaW50IGFhcmNoNjRfaGFuZGxlX2JyZWFrcG9pbnQgKGVudW0gdGFyZ2V0X2h3 X2JwX3R5cGUgdHlwZSwgQ09SRV9BRERSIGFkZHIsCi0gCQkJICAgICAgIGludCBsZW4sIGludCBp c19pbnNlcnQsCi0gCQkJICAgICAgIHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19zdGF0ZSAqc3Rh dGUpOwotIGludCBhYXJjaDY0X2hhbmRsZV93YXRjaHBvaW50IChlbnVtIHRhcmdldF9od19icF90 eXBlIHR5cGUsIENPUkVfQUREUiBhZGRyLAotLQkJCSAgICAgICBpbnQgbGVuLCBpbnQgaXNfaW5z ZXJ0LAotKwkJCSAgICAgICBMT05HRVNUIGxlbiwgaW50IGlzX2luc2VydCwKLSAJCQkgICAgICAg c3RydWN0IGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSk7Ci0gCi0gdm9pZCBhYXJjaDY0 X2xpbnV4X3NldF9kZWJ1Z19yZWdzIChzdHJ1Y3QgYWFyY2g2NF9kZWJ1Z19yZWdfc3RhdGUgKnN0 YXRlLAotQEAgLTE4OSwxMiArMTg5LDEyIEBAIGJvb2wgYWFyY2g2NF9saW51eF9hbnlfc2V0X2Rl YnVnX3JlZ3Nfc3RhdGUgKGFhcmNoNjRfZGVidWdfcmVnX3N0YXRlICpzdGF0ZSwKLSAKLSB2b2lk IGFhcmNoNjRfc2hvd19kZWJ1Z19yZWdfc3RhdGUgKHN0cnVjdCBhYXJjaDY0X2RlYnVnX3JlZ19z dGF0ZSAqc3RhdGUsCi0gCQkJCSAgIGNvbnN0IGNoYXIgKmZ1bmMsIENPUkVfQUREUiBhZGRyLAot LQkJCQkgICBpbnQgbGVuLCBlbnVtIHRhcmdldF9od19icF90eXBlIHR5cGUpOwotKwkJCQkgICBM T05HRVNUIGxlbiwgZW51bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlKTsKLSAKLSB2b2lkIGFhcmNo NjRfbGludXhfZ2V0X2RlYnVnX3JlZ19jYXBhY2l0eSAoaW50IHRpZCk7Ci0gCi0gc3RydWN0IGFh cmNoNjRfZGVidWdfcmVnX3N0YXRlICphYXJjaDY0X2dldF9kZWJ1Z19yZWdfc3RhdGUgKHBpZF90 IHBpZCk7Ci0gCi0taW50IGFhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zvcl93YXRjaHBvaW50IChD T1JFX0FERFIgYWRkciwgaW50IGxlbik7Ci0raW50IGFhcmNoNjRfbGludXhfcmVnaW9uX29rX2Zv cl93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgTE9OR0VTVCBsZW4pOwotIAotICNlbmRpZiAv KiBOQVRfQUFSQ0g2NF9MSU5VWF9IV19QT0lOVF9IICovCi1kaWZmIC0tZ2l0IGEvZ2RiL3BwYy1s aW51eC1uYXQuYyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLS0tLSBhL2dkYi9wcGMtbGludXgtbmF0 LmMKLSsrKyBiL2dkYi9wcGMtbGludXgtbmF0LmMKLUBAIC0yODQsNyArMjg0LDcgQEAgc3RydWN0 IHBwY19saW51eF9uYXRfdGFyZ2V0IGZpbmFsIDogcHVibGljIGxpbnV4X25hdF90YXJnZXQKLSAg IGludCByZW1vdmVfaHdfYnJlYWtwb2ludCAoc3RydWN0IGdkYmFyY2ggKiwgc3RydWN0IGJwX3Rh cmdldF9pbmZvICopCi0gICAgIG92ZXJyaWRlOwotIAotLSAgaW50IHJlZ2lvbl9va19mb3JfaHdf d2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQpIG92ZXJyaWRlOwotKyAgaW50IHJlZ2lvbl9va19m b3JfaHdfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBMT05HRVNUKSBvdmVycmlkZTsKLSAKLSAgIGlu dCBpbnNlcnRfd2F0Y2hwb2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5 cGUsCi0gCQkJIHN0cnVjdCBleHByZXNzaW9uICopIG92ZXJyaWRlOwotQEAgLTMwMiw5ICszMDIs OSBAQCBzdHJ1Y3QgcHBjX2xpbnV4X25hdF90YXJnZXQgZmluYWwgOiBwdWJsaWMgbGludXhfbmF0 X3RhcmdldAotIAotICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICopIG92 ZXJyaWRlOwotIAotLSAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FE RFIsIENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKLSsgIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dp dGhpbl9yYW5nZSAoQ09SRV9BRERSLCBDT1JFX0FERFIsIExPTkdFU1QpIG92ZXJyaWRlOwotIAot LSAgYm9vbCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiwgaW50LCBp bnQsIHN0cnVjdCBleHByZXNzaW9uICopCi0rICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2Nv bmRpdGlvbiAoQ09SRV9BRERSLCBMT05HRVNULCBpbnQsIHN0cnVjdCBleHByZXNzaW9uICopCi0g ICAgIG92ZXJyaWRlOwotIAotICAgaW50IG1hc2tlZF93YXRjaF9udW1fcmVnaXN0ZXJzIChDT1JF X0FERFIsIENPUkVfQUREUikgb3ZlcnJpZGU7Ci1AQCAtMjA2NSwxMSArMjA2NSwxMSBAQCBjYW5f dXNlX3dhdGNocG9pbnRfY29uZF9hY2NlbCAodm9pZCkKLSAgICBDT05ESVRJT05fVkFMVUUgd2ls bCBob2xkIHRoZSB2YWx1ZSB3aGljaCBzaG91bGQgYmUgcHV0IGluIHRoZQotICAgIERWQyByZWdp c3Rlci4gICovCi0gc3RhdGljIHZvaWQKLS1jYWxjdWxhdGVfZHZjIChDT1JFX0FERFIgYWRkciwg aW50IGxlbiwgQ09SRV9BRERSIGRhdGFfdmFsdWUsCi0rY2FsY3VsYXRlX2R2YyAoQ09SRV9BRERS IGFkZHIsIExPTkdFU1QgbGVuLCBDT1JFX0FERFIgZGF0YV92YWx1ZSwKLSAJICAgICAgIHVpbnQz Ml90ICpjb25kaXRpb25fbW9kZSwgdWludDY0X3QgKmNvbmRpdGlvbl92YWx1ZSkKLSB7Ci0tICBp bnQgaSwgbnVtX2J5dGVfZW5hYmxlLCBhbGlnbl9vZmZzZXQsIG51bV9ieXRlc19vZmZfZHZjLAot LSAgICAgIHJpZ2h0bW9zdF9lbmFibGVkX2J5dGU7Ci0rICBMT05HRVNUIGksIG51bV9ieXRlX2Vu YWJsZTsKLSsgIGludCBhbGlnbl9vZmZzZXQsIG51bV9ieXRlc19vZmZfZHZjLCByaWdodG1vc3Rf ZW5hYmxlZF9ieXRlOwotICAgQ09SRV9BRERSIGFkZHJfZW5kX2RhdGEsIGFkZHJfZW5kX2R2YzsK LSAKLSAgIC8qIFRoZSBEVkMgcmVnaXN0ZXIgY29tcGFyZXMgYnl0ZXMgd2l0aGluIGZpeGVkLWxl bmd0aCB3aW5kb3dzIHdoaWNoCi1AQCAtMjE1Nyw3ICsyMTU3LDcgQEAgbnVtX21lbW9yeV9hY2Nl c3NlcyAoY29uc3Qgc3RkOjp2ZWN0b3I8dmFsdWVfcmVmX3B0cj4gJmNoYWluKQotICAgIG9mIHRo ZSBjb25zdGFudC4gICovCi0gc3RhdGljIGludAotIGNoZWNrX2NvbmRpdGlvbiAoQ09SRV9BRERS IHdhdGNoX2FkZHIsIHN0cnVjdCBleHByZXNzaW9uICpjb25kLAotLQkJIENPUkVfQUREUiAqZGF0 YV92YWx1ZSwgaW50ICpsZW4pCi0rCQkgQ09SRV9BRERSICpkYXRhX3ZhbHVlLCBMT05HRVNUICps ZW4pCi0gewotICAgaW50IHBjID0gMSwgbnVtX2FjY2Vzc2VzX2xlZnQsIG51bV9hY2Nlc3Nlc19y aWdodDsKLSAgIHN0cnVjdCB2YWx1ZSAqbGVmdF92YWwsICpyaWdodF92YWw7Ci1AQCAtMjIwOCw3 ICsyMjA4LDggQEAgY2hlY2tfY29uZGl0aW9uIChDT1JFX0FERFIgd2F0Y2hfYWRkciwgc3RydWN0 IGV4cHJlc3Npb24gKmNvbmQsCi0gICAgdGhlIGNvbmRpdGlvbiBleHByZXNzaW9uLCB0aHVzIG9u bHkgdHJpZ2dlcmluZyB0aGUgd2F0Y2hwb2ludCB3aGVuIGl0IGlzCi0gICAgdHJ1ZS4gICovCi0g Ym9vbAotLXBwY19saW51eF9uYXRfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRp b24gKENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLAotK3BwY19saW51eF9uYXRfdGFyZ2V0OjpjYW5f YWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhZGRyLAotKwkJCQkJCSAgICAg IExPTkdFU1QgbGVuLAotIAkJCQkJCSAgICAgIGludCBydywKLSAJCQkJCQkgICAgICBzdHJ1Y3Qg ZXhwcmVzc2lvbiAqY29uZCkKLSB7Ci1AQCAtMjIyNiw3ICsyMjI3LDcgQEAgcHBjX2xpbnV4X25h dF90YXJnZXQ6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFkZHIs IGludCBsZW4sCi0gCi0gc3RhdGljIHZvaWQKLSBjcmVhdGVfd2F0Y2hwb2ludF9yZXF1ZXN0IChz dHJ1Y3QgcHBjX2h3X2JyZWFrcG9pbnQgKnAsIENPUkVfQUREUiBhZGRyLAotLQkJCSAgIGludCBs ZW4sIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUgdHlwZSwKLSsJCQkgICBMT05HRVNUIGxlbiwgZW51 bSB0YXJnZXRfaHdfYnBfdHlwZSB0eXBlLAotIAkJCSAgIHN0cnVjdCBleHByZXNzaW9uICpjb25k LCBpbnQgaW5zZXJ0KQotIHsKLSAgIGlmIChsZW4gPT0gMQotQEAgLTI0OTIsNyArMjQ5Myw3IEBA IHBwY19saW51eF9uYXRfdGFyZ2V0OjpzdG9wcGVkX2J5X3dhdGNocG9pbnQgKCkKLSBib29sCi0g cHBjX2xpbnV4X25hdF90YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVf QUREUiBhZGRyLAotIAkJCQkJCSAgICBDT1JFX0FERFIgc3RhcnQsCi0tCQkJCQkJICAgIGludCBs ZW5ndGgpCi0rCQkJCQkJICAgIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIGludCBtYXNrOwotIAot ZGlmZiAtLWdpdCBhL2dkYi9wcm9jZnMuYyBiL2dkYi9wcm9jZnMuYwotLS0tIGEvZ2RiL3Byb2Nm cy5jCi0rKysgYi9nZGIvcHJvY2ZzLmMKLUBAIC0xNTQ2LDcgKzE1NDYsNyBAQCBwcm9jZnNfYWRk cmVzc190b19ob3N0X3BvaW50ZXIgKENPUkVfQUREUiBhZGRyKQotIH0KLSAKLSBzdGF0aWMgaW50 Ci0tcHJvY19zZXRfd2F0Y2hwb2ludCAocHJvY2luZm8gKnBpLCBDT1JFX0FERFIgYWRkciwgaW50 IGxlbiwgaW50IHdmbGFncykKLStwcm9jX3NldF93YXRjaHBvaW50IChwcm9jaW5mbyAqcGksIENP UkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwgaW50IHdmbGFncykKLSB7Ci0gICBzdHJ1Y3Qgewot ICAgICBwcm9jZnNfY3RsX3QgY21kOwotQEAgLTMyMzIsNyArMzIzMiw3IEBAIHByb2Nmc190YXJn ZXQ6OnBpZF90b19leGVjX2ZpbGUgKGludCBwaWQpCi0gLyogSW5zZXJ0IGEgd2F0Y2hwb2ludC4g ICovCi0gCi0gc3RhdGljIGludAotLXByb2Nmc19zZXRfd2F0Y2hwb2ludCAocHRpZF90IHB0aWQs IENPUkVfQUREUiBhZGRyLCBpbnQgbGVuLCBpbnQgcndmbGFnLAotK3Byb2Nmc19zZXRfd2F0Y2hw b2ludCAocHRpZF90IHB0aWQsIENPUkVfQUREUiBhZGRyLCBMT05HRVNUIGxlbiwgaW50IHJ3Zmxh ZywKLSAJCSAgICAgICBpbnQgYWZ0ZXIpCi0gewotICAgaW50ICAgICAgIHBmbGFncyA9IDA7Ci1k aWZmIC0tZ2l0IGEvZ2RiL3JlbW90ZS5jIGIvZ2RiL3JlbW90ZS5jCi0tLS0gYS9nZGIvcmVtb3Rl LmMKLSsrKyBiL2dkYi9yZW1vdGUuYwotQEAgLTQ0MCw3ICs0NDAsNyBAQCBwdWJsaWM6Ci0gCi0g ICBib29sIHN0b3BwZWRfZGF0YV9hZGRyZXNzIChDT1JFX0FERFIgKikgb3ZlcnJpZGU7Ci0gCi0t ICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERS LCBpbnQpIG92ZXJyaWRlOwotKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChD T1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7Ci0gCi0gICBpbnQgY2FuX3Vz ZV9od19icmVha3BvaW50IChlbnVtIGJwdHlwZSwgaW50LCBpbnQpIG92ZXJyaWRlOwotIAotQEAg LTEwMjk4LDcgKzEwMjk4LDcgQEAgcmVtb3RlX3RhcmdldDo6aW5zZXJ0X3dhdGNocG9pbnQgKENP UkVfQUREUiBhZGRyLCBpbnQgbGVuLAotICAgcCA9IHN0cmNociAocnMtPmJ1Zi5kYXRhICgpLCAn XDAnKTsKLSAgIGFkZHIgPSByZW1vdGVfYWRkcmVzc19tYXNrZWQgKGFkZHIpOwotICAgcCArPSBo ZXhudW1zdHIgKHAsIChVTE9OR0VTVCkgYWRkcik7Ci0tICB4c25wcmludGYgKHAsIGVuZGJ1ZiAt IHAsICIsJXgiLCBsZW4pOwotKyAgeHNucHJpbnRmIChwLCBlbmRidWYgLSBwLCAiLCVzIiwgcGhl eF9ueiAobGVuLCBzaXplb2YgKGxlbikpKTsKLSAKLSAgIHB1dHBrdCAocnMtPmJ1Zik7Ci0gICBn ZXRwa3QgKCZycy0+YnVmLCAwKTsKLUBAIC0xMDMxOCw3ICsxMDMxOCw3IEBAIHJlbW90ZV90YXJn ZXQ6Omluc2VydF93YXRjaHBvaW50IChDT1JFX0FERFIgYWRkciwgaW50IGxlbiwKLSAKLSBib29s Ci0gcmVtb3RlX3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERS IGFkZHIsCi0tCQkJCQkgICAgIENPUkVfQUREUiBzdGFydCwgaW50IGxlbmd0aCkKLSsJCQkJCSAg ICAgQ09SRV9BRERSIHN0YXJ0LCBMT05HRVNUIGxlbmd0aCkKLSB7Ci0gICBDT1JFX0FERFIgZGlm ZiA9IHJlbW90ZV9hZGRyZXNzX21hc2tlZCAoYWRkciAtIHN0YXJ0KTsKLSAKLUBAIC0xMDM0Nyw3 ICsxMDM0Nyw3IEBAIHJlbW90ZV90YXJnZXQ6OnJlbW92ZV93YXRjaHBvaW50IChDT1JFX0FERFIg YWRkciwgaW50IGxlbiwKLSAgIHAgPSBzdHJjaHIgKHJzLT5idWYuZGF0YSAoKSwgJ1wwJyk7Ci0g ICBhZGRyID0gcmVtb3RlX2FkZHJlc3NfbWFza2VkIChhZGRyKTsKLSAgIHAgKz0gaGV4bnVtc3Ry IChwLCAoVUxPTkdFU1QpIGFkZHIpOwotLSAgeHNucHJpbnRmIChwLCBlbmRidWYgLSBwLCAiLCV4 IiwgbGVuKTsKLSsgIHhzbnByaW50ZiAocCwgZW5kYnVmIC0gcCwgIiwlcyIsIHBoZXhfbnogKGxl biwgc2l6ZW9mIChsZW4pKSk7Ci0gICBwdXRwa3QgKHJzLT5idWYpOwotICAgZ2V0cGt0ICgmcnMt PmJ1ZiwgMCk7Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3MzOTAtbGludXgtbmF0LmMgYi9nZGIvczM5 MC1saW51eC1uYXQuYwotLS0tIGEvZ2RiL3MzOTAtbGludXgtbmF0LmMKLSsrKyBiL2dkYi9zMzkw LWxpbnV4LW5hdC5jCi1AQCAtMTIxLDcgKzEyMSw3IEBAIHB1YmxpYzoKLSAgICAgb3ZlcnJpZGU7 Ci0gICBpbnQgcmVtb3ZlX2h3X2JyZWFrcG9pbnQgKHN0cnVjdCBnZGJhcmNoICosIHN0cnVjdCBi cF90YXJnZXRfaW5mbyAqKQotICAgICBvdmVycmlkZTsKLS0gIGludCByZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKENPUkVfQUREUiwgaW50KSBvdmVycmlkZTsKLSsgIGludCByZWdpb25fb2tf Zm9yX2h3X3dhdGNocG9pbnQgKENPUkVfQUREUiwgTE9OR0VTVCkgb3ZlcnJpZGU7Ci0gICBib29s IHN0b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGludCBpbnNlcnRfd2F0Y2hw b2ludCAoQ09SRV9BRERSLCBpbnQsIGVudW0gdGFyZ2V0X2h3X2JwX3R5cGUsCi0gCQkJIHN0cnVj dCBleHByZXNzaW9uICopIG92ZXJyaWRlOwotZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQtZGVsZWdh dGVzLmMgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi0tLS0gYS9nZGIvdGFyZ2V0LWRlbGVnYXRl cy5jCi0rKysgYi9nZGIvdGFyZ2V0LWRlbGVnYXRlcy5jCi1AQCAtMzcsOSArMzcsOSBAQCBzdHJ1 Y3QgZHVtbXlfdGFyZ2V0IDogcHVibGljIHRhcmdldF9vcHMKLSAgIGJvb2wgc3RvcHBlZF9ieV93 YXRjaHBvaW50ICgpIG92ZXJyaWRlOwotICAgYm9vbCBoYXZlX3N0ZXBwYWJsZV93YXRjaHBvaW50 ICgpIG92ZXJyaWRlOwotICAgYm9vbCBzdG9wcGVkX2RhdGFfYWRkcmVzcyAoQ09SRV9BRERSICph cmcwKSBvdmVycmlkZTsKLS0gIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09S RV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikgb3ZlcnJpZGU7Ci0rICBib29s IHdhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIg YXJnMSwgTE9OR0VTVCBhcmcyKSBvdmVycmlkZTsKLSAgIGludCByZWdpb25fb2tfZm9yX2h3X3dh dGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpIG92ZXJyaWRlOwotLSAgYm9v bCBjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJn MSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKSBvdmVycmlkZTsKLSsgIGJvb2wg Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBh cmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpIG92ZXJyaWRlOwotICAgaW50 IG1hc2tlZF93YXRjaF9udW1fcmVnaXN0ZXJzIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFy ZzEpIG92ZXJyaWRlOwotICAgaW50IGNhbl9kb19zaW5nbGVfc3RlcCAoKSBvdmVycmlkZTsKLSAg IGJvb2wgc3VwcG9ydHNfdGVybWluYWxfb3VycyAoKSBvdmVycmlkZTsKLUBAIC0yMDQsOSArMjA0 LDkgQEAgc3RydWN0IGRlYnVnX3RhcmdldCA6IHB1YmxpYyB0YXJnZXRfb3BzCi0gICBib29sIHN0 b3BwZWRfYnlfd2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGJvb2wgaGF2ZV9zdGVwcGFibGVf d2F0Y2hwb2ludCAoKSBvdmVycmlkZTsKLSAgIGJvb2wgc3RvcHBlZF9kYXRhX2FkZHJlc3MgKENP UkVfQUREUiAqYXJnMCkgb3ZlcnJpZGU7Ci0tICBib29sIHdhdGNocG9pbnRfYWRkcl93aXRoaW5f cmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JFX0FERFIgYXJnMSwgaW50IGFyZzIpIG92ZXJyaWRl OwotKyAgYm9vbCB3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwg Q09SRV9BRERSIGFyZzEsIExPTkdFU1QgYXJnMikgb3ZlcnJpZGU7Ci0gICBpbnQgcmVnaW9uX29r X2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxKSBvdmVycmlk ZTsKLS0gIGJvb2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJn MCwgaW50IGFyZzEsIGludCBhcmcyLCBzdHJ1Y3QgZXhwcmVzc2lvbiAqYXJnMykgb3ZlcnJpZGU7 Ci0rICBib29sIGNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAs IExPTkdFU1QgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKSBvdmVycmlk ZTsKLSAgIGludCBtYXNrZWRfd2F0Y2hfbnVtX3JlZ2lzdGVycyAoQ09SRV9BRERSIGFyZzAsIENP UkVfQUREUiBhcmcxKSBvdmVycmlkZTsKLSAgIGludCBjYW5fZG9fc2luZ2xlX3N0ZXAgKCkgb3Zl cnJpZGU7Ci0gICBib29sIHN1cHBvcnRzX3Rlcm1pbmFsX291cnMgKCkgb3ZlcnJpZGU7Ci1AQCAt MTA0MSwxOSArMTA0MSwxOSBAQCBkZWJ1Z190YXJnZXQ6OnN0b3BwZWRfZGF0YV9hZGRyZXNzIChD T1JFX0FERFIgKmFyZzApCi0gfQotIAotIGJvb2wKLS10YXJnZXRfb3BzOjp3YXRjaHBvaW50X2Fk ZHJfd2l0aGluX3JhbmdlIChDT1JFX0FERFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcy KQotK3RhcmdldF9vcHM6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIHJldHVybiB0aGlzLT5i ZW5lYXRoICgpLT53YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChhcmcwLCBhcmcxLCBhcmcy KTsKLSB9Ci0gCi0gYm9vbAotLWR1bW15X3RhcmdldDo6d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9y YW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBpbnQgYXJnMikKLStkdW1teV90 YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBhcmcwLCBDT1JF X0FERFIgYXJnMSwgTE9OR0VTVCBhcmcyKQotIHsKLSAgIHJldHVybiBkZWZhdWx0X3dhdGNocG9p bnRfYWRkcl93aXRoaW5fcmFuZ2UgKHRoaXMsIGFyZzAsIGFyZzEsIGFyZzIpOwotIH0KLSAKLSBi b29sCi0tZGVidWdfdGFyZ2V0Ojp3YXRjaHBvaW50X2FkZHJfd2l0aGluX3JhbmdlIChDT1JFX0FE RFIgYXJnMCwgQ09SRV9BRERSIGFyZzEsIGludCBhcmcyKQotK2RlYnVnX3RhcmdldDo6d2F0Y2hw b2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09SRV9BRERSIGFyZzAsIENPUkVfQUREUiBhcmcxLCBM T05HRVNUIGFyZzIpCi0gewotICAgYm9vbCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQg KGdkYl9zdGRsb2csICItPiAlcy0+d2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoLi4uKVxu IiwgdGhpcy0+YmVuZWF0aCAoKS0+c2hvcnRuYW1lICgpKTsKLUBAIC0xMDYzLDcgKzEwNjMsNyBA QCBkZWJ1Z190YXJnZXQ6OndhdGNocG9pbnRfYWRkcl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiBh cmcwLCBDT1JFX0FERFIgYXJnMSwgaW50Ci0gICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJf c3RkbG9nKTsKLSAgIHRhcmdldF9kZWJ1Z19wcmludF9DT1JFX0FERFIgKGFyZzEpOwotICAgZnB1 dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0tICB0YXJnZXRfZGVidWdfcHJpbnRf aW50IChhcmcyKTsKLSsgIHRhcmdldF9kZWJ1Z19wcmludF9MT05HRVNUIChhcmcyKTsKLSAgIGZw dXRzX3VuZmlsdGVyZWQgKCIpID0gIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVidWdfcHJp bnRfYm9vbCAocmVzdWx0KTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCJcbiIsIGdkYl9zdGRsb2cp OwotQEAgLTEwOTksMTkgKzEwOTksMTkgQEAgZGVidWdfdGFyZ2V0OjpyZWdpb25fb2tfZm9yX2h3 X3dhdGNocG9pbnQgKENPUkVfQUREUiBhcmcwLCBMT05HRVNUIGFyZzEpCi0gfQotIAotIGJvb2wK LS10YXJnZXRfb3BzOjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBh cmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQotK3Rhcmdl dF9vcHM6OmNhbl9hY2NlbF93YXRjaHBvaW50X2NvbmRpdGlvbiAoQ09SRV9BRERSIGFyZzAsIExP TkdFU1QgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQotIHsKLSAgIHJl dHVybiB0aGlzLT5iZW5lYXRoICgpLT5jYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKGFy ZzAsIGFyZzEsIGFyZzIsIGFyZzMpOwotIH0KLSAKLSBib29sCi0tZHVtbXlfdGFyZ2V0OjpjYW5f YWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24gKENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50 IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICphcmczKQotK2R1bW15X3RhcmdldDo6Y2FuX2FjY2Vs X3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxLCBpbnQg YXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFyZzMpCi0gewotICAgcmV0dXJuIGZhbHNlOwotIH0K LSAKLSBib29sCi0tZGVidWdfdGFyZ2V0OjpjYW5fYWNjZWxfd2F0Y2hwb2ludF9jb25kaXRpb24g KENPUkVfQUREUiBhcmcwLCBpbnQgYXJnMSwgaW50IGFyZzIsIHN0cnVjdCBleHByZXNzaW9uICph cmczKQotK2RlYnVnX3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JF X0FERFIgYXJnMCwgTE9OR0VTVCBhcmcxLCBpbnQgYXJnMiwgc3RydWN0IGV4cHJlc3Npb24gKmFy ZzMpCi0gewotICAgYm9vbCByZXN1bHQ7Ci0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRs b2csICItPiAlcy0+Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uICguLi4pXG4iLCB0aGlz LT5iZW5lYXRoICgpLT5zaG9ydG5hbWUgKCkpOwotQEAgLTExMTksNyArMTExOSw3IEBAIGRlYnVn X3RhcmdldDo6Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIgYXJnMCwg aW50IGFyZzEsIGludCBhcmcyCi0gICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICI8 LSAlcy0+Y2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uICgiLCB0aGlzLT5iZW5lYXRoICgp LT5zaG9ydG5hbWUgKCkpOwotICAgdGFyZ2V0X2RlYnVnX3ByaW50X0NPUkVfQUREUiAoYXJnMCk7 Ci0gICBmcHV0c191bmZpbHRlcmVkICgiLCAiLCBnZGJfc3RkbG9nKTsKLS0gIHRhcmdldF9kZWJ1 Z19wcmludF9pbnQgKGFyZzEpOwotKyAgdGFyZ2V0X2RlYnVnX3ByaW50X0xPTkdFU1QgKGFyZzEp OwotICAgZnB1dHNfdW5maWx0ZXJlZCAoIiwgIiwgZ2RiX3N0ZGxvZyk7Ci0gICB0YXJnZXRfZGVi dWdfcHJpbnRfaW50IChhcmcyKTsKLSAgIGZwdXRzX3VuZmlsdGVyZWQgKCIsICIsIGdkYl9zdGRs b2cpOwotZGlmZiAtLWdpdCBhL2dkYi90YXJnZXQuYyBiL2dkYi90YXJnZXQuYwotLS0tIGEvZ2Ri L3RhcmdldC5jCi0rKysgYi9nZGIvdGFyZ2V0LmMKLUBAIC01NSw3ICs1NSw3IEBAIHN0YXRpYyB2 b2lkIGdlbmVyaWNfdGxzX2Vycm9yICh2b2lkKSBBVFRSSUJVVEVfTk9SRVRVUk47Ci0gc3RhdGlj IHZvaWQgZGVmYXVsdF90ZXJtaW5hbF9pbmZvIChzdHJ1Y3QgdGFyZ2V0X29wcyAqLCBjb25zdCBj aGFyICosIGludCk7Ci0gCi0gc3RhdGljIGludCBkZWZhdWx0X3dhdGNocG9pbnRfYWRkcl93aXRo aW5fcmFuZ2UgKHN0cnVjdCB0YXJnZXRfb3BzICosCi0tCQkJCQkJIENPUkVfQUREUiwgQ09SRV9B RERSLCBpbnQpOwotKwkJCQkJCSBDT1JFX0FERFIsIENPUkVfQUREUiwgTE9OR0VTVCk7Ci0gCi0g c3RhdGljIGludCBkZWZhdWx0X3JlZ2lvbl9va19mb3JfaHdfd2F0Y2hwb2ludCAoc3RydWN0IHRh cmdldF9vcHMgKiwKLSAJCQkJCQlDT1JFX0FERFIsIExPTkdFU1QpOwotQEAgLTMxMjUsNyArMzEy NSw3IEBAIGRlZmF1bHRfcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChzdHJ1Y3QgdGFyZ2V0 X29wcyAqc2VsZiwKLSBzdGF0aWMgaW50Ci0gZGVmYXVsdF93YXRjaHBvaW50X2FkZHJfd2l0aGlu X3JhbmdlIChzdHJ1Y3QgdGFyZ2V0X29wcyAqdGFyZ2V0LAotIAkJCQkgICAgICBDT1JFX0FERFIg YWRkciwKLS0JCQkJICAgICAgQ09SRV9BRERSIHN0YXJ0LCBpbnQgbGVuZ3RoKQotKwkJCQkgICAg ICBDT1JFX0FERFIgc3RhcnQsIExPTkdFU1QgbGVuZ3RoKQotIHsKLSAgIHJldHVybiBhZGRyID49 IHN0YXJ0ICYmIGFkZHIgPCBzdGFydCArIGxlbmd0aDsKLSB9Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rh cmdldC5oIGIvZ2RiL3RhcmdldC5oCi0tLS0gYS9nZGIvdGFyZ2V0LmgKLSsrKyBiL2dkYi90YXJn ZXQuaAotQEAgLTU2MSw3ICs1NjEsNyBAQCBzdHJ1Y3QgdGFyZ2V0X29wcwotICAgICAgIFRBUkdF VF9ERUZBVUxUX1JFVFVSTiAoZmFsc2UpOwotICAgICB2aXJ0dWFsIGJvb2wgc3RvcHBlZF9kYXRh X2FkZHJlc3MgKENPUkVfQUREUiAqKQotICAgICAgIFRBUkdFVF9ERUZBVUxUX1JFVFVSTiAoZmFs c2UpOwotLSAgICB2aXJ0dWFsIGJvb2wgd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSAoQ09S RV9BRERSLCBDT1JFX0FERFIsIGludCkKLSsgICAgdmlydHVhbCBib29sIHdhdGNocG9pbnRfYWRk cl93aXRoaW5fcmFuZ2UgKENPUkVfQUREUiwgQ09SRV9BRERSLCBMT05HRVNUKQotICAgICAgIFRB UkdFVF9ERUZBVUxUX0ZVTkMgKGRlZmF1bHRfd2F0Y2hwb2ludF9hZGRyX3dpdGhpbl9yYW5nZSk7 Ci0gCi0gICAgIC8qIERvY3VtZW50YXRpb24gb2YgdGhpcyByb3V0aW5lIGlzIHByb3ZpZGVkIHdp dGggdGhlIGNvcnJlc3BvbmRpbmcKLUBAIC01NjksNyArNTY5LDcgQEAgc3RydWN0IHRhcmdldF9v cHMKLSAgICAgdmlydHVhbCBpbnQgcmVnaW9uX29rX2Zvcl9od193YXRjaHBvaW50IChDT1JFX0FE RFIsIExPTkdFU1QpCi0gICAgICAgVEFSR0VUX0RFRkFVTFRfRlVOQyAoZGVmYXVsdF9yZWdpb25f b2tfZm9yX2h3X3dhdGNocG9pbnQpOwotIAotLSAgICB2aXJ0dWFsIGJvb2wgY2FuX2FjY2VsX3dh dGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIGludCwgaW50LAotKyAgICB2aXJ0dWFsIGJv b2wgY2FuX2FjY2VsX3dhdGNocG9pbnRfY29uZGl0aW9uIChDT1JFX0FERFIsIExPTkdFU1QsIGlu dCwKLSAJCQkJCQkgc3RydWN0IGV4cHJlc3Npb24gKikKLSAgICAgICBUQVJHRVRfREVGQVVMVF9S RVRVUk4gKGZhbHNlKTsKLSAgICAgdmlydHVhbCBpbnQgbWFza2VkX3dhdGNoX251bV9yZWdpc3Rl cnMgKENPUkVfQUREUiwgQ09SRV9BRERSKQoKZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJp dHBvcy0yM29mMjUucGF0Y2ggYi9nZGItcmhiejc5NTQyNC1iaXRwb3MtMjNvZjI1LnBhdGNoCmRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwNTAwZjZkLi4wMDAwMDAwCi0tLSBhL2dkYi1y aGJ6Nzk1NDI0LWJpdHBvcy0yM29mMjUucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwxMjQ4ICsw LDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9t OiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1haWwuY29tPgotRGF0ZTogRnJpLCAyNyBP Y3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDogZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIz b2YyNS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5ub3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hv c2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1CJwotOzsgKFJIIEJaIDc5NTQyNCkuCi07Oz1w dXNoCi0KLWh0dHA6Ly9zb3VyY2V3YXJlLm9yZy9tbC9nZGItcGF0Y2hlcy8yMDEyLTA5L21zZzAw NjMwLmh0bWwKLQotLS1NUF8vWF9XakRPdnovQl9mdmxzcm1Dd1JkeGUKLUNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD1VUy1BU0NJSQotQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog N2JpdAotQ29udGVudC1EaXNwb3NpdGlvbjogaW5saW5lCi0KLUhpLAotCi1UaGlzIGlzIHRoZSBs YXN0IHBhcnQgb2YgdGhlIGJpdHBvcyBjaGFuZ2UuICBUaGlzIHBhdGNoIGRvZXMgdGhlIHNhbWUK LXRoaW5nIHRoYXQgcGF0Y2ggMS80IGRvZXMsIGV4Y2VwdCB0aGF0IGl0IGRvZXMgc28gaW4gdGhl ICotdGRlcCBmaWxlcwotd2hlcmV2ZXIgbmVjZXNzYXJ5LiAgSSBzZXBhcmF0ZWQgdGhlc2UgY2hh bmdlcyBtYWlubHkgYmVjYXVzZSB0aGV5IGFyZQotcmVsYXRlZCBhbmQgY2FuIGJlIHJldmlld2Vk IGluZGVwZW5kZW50bHkuICBUZXN0ZWQgb24gRmVkb3JhIDE2IHg4Nl82NC4KLQotUmVnYXJkcywK LVNpZGRoZXNoCi0KLS0tTVBfL1hfV2pET3Z6L0JfZnZsc3JtQ3dSZHhlCi1Db250ZW50LVR5cGU6 IHRleHQvcGxhaW4KLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IHF1b3RlZC1wcmludGFibGUK LUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPUNoYW5nZUxvZy10ZGVw Ci0KLWdkYi9DaGFuZ2VMb2cKLQotCSogYWxwaGEtdGRlcC5jIChhbHBoYV9wdXNoX2R1bW15X2Nh bGwpOiBFeHBhbmQgQUNDVU1VTEFURV9TSVpFLAotCVJFUVVJUkVEX0FSR19SRUdTLCBPRkZTRVQs IExFTiwgVExFTiB0byBzc2l6ZV90LgotCShzdHJ1Y3QgYWxwaGFfYXJnKTogRXhwYW5kIG1lbWJl cnMgTEVOLCBPRkZTRVQgdG8gc3NpemVfdC4KLQkqIGFtZDY0LXRkZXAuYyAoYW1kNjRfcHVzaF9h cmd1bWVudHMpOiBFeHBhbmQgTlVNX0VMRU1FTlRTLAotCUVMRU1FTlQgYW5kIExFTiB0byBMT05H RVNULgotCShhbWQ2NF9yZXR1cm5fdmFsdWUpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiBh bWQ2NC13aW5kb3dzLXRkZXAuYyAoYW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUpOiBFeHBhbmQg TEVOCi0JdG8gTE9OR0VTVC4KLQkqIGFybS10ZGVwLmMgKGFybV92ZnBfY3ByY19zdWJfY2FuZGlk YXRlKTogUmV0dXJuIExPTkdFU1QuCi0JRXhwYW5kIENPVU5ULCBTVUJfQ09VTlQgdG8gTE9OR0VT VC4KLQkoYXJtX3ZmcF9jYWxsX2NhbmRpZGF0ZSk6IEV4cGFuZCBDIHRvIExPTkdFU1QuCi0JKGFy bV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiBhdnItdGRlcC5j IChzdHJ1Y3Qgc3RhY2tfaXRlbSk6IEV4cGFuZCBtZW1iZXIgTEVOIHRvIHNzaXplX3QuCi0JKHB1 c2hfc3RhY2tfaXRlbSk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvIHNzaXplX3QuCi0JKGF2cl9w dXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEFTVF9SRUdOVU0sIEosIExFTiB0byBzc2l6ZV90Lgot CSogYmZpbi10ZGVwLmMgKGJmaW5fcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIFRPVEFMX0xFTiwK LQlDT05UQUlORVJfTEVOIHRvIHNzaXplX3QuCi0JKiBjcmlzLXRkZXAuYyAoc3RydWN0IHN0YWNr X2l0ZW0pOiBFeHBhbmQgbWVtYmVyIExFTiB0byBzc2l6ZV90LgotCShwdXNoX3N0YWNrX2l0ZW0p OiBFeHBhbmQgcGFyYW1ldGVyIExFTiB0byBzc2l6ZV90LgotCShjcmlzX3B1c2hfZHVtbXlfY2Fs bCk6IEV4cGFuZCBMRU4sIFJFR19ERU1BTkQsIEkgdG8gc3NpemVfdC4KLQkqIGg4MzAwLXRkZXAu YyAoaDgzMDBfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIFNUQUNLX0FMTE9DLAotCVNUQUNLX09G RlNFVCB0byBMT05HRVNULiAgRXhwYW5kIExFTiwgUEFEREVEX0xFTiwgT0ZGU0VUIHRvCi0Jc3Np emVfdC4KLQkqIGhwcGEtdGRlcC5jIChocHBhNjRfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIExF TiB0byBMT05HRVNULgotCShocHBhNjRfcmV0dXJuX3ZhbHVlKTogTGlrZXdpc2UuCi0JKiBpMzg2 LWRhcndpbi10ZGVwLmMgKGkzODZfZGFyd2luX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZAotCUFS R1NfU1BBQ0UgdG8gTE9OR0VTVC4KLQkqIGkzODYtdGRlcC5jIChpMzg2X3B1c2hfZHVtbXlfY2Fs bCk6IEV4cGFuZCBBUkdfU1BBQ0UsCi0JQVJHX1NQQUNFX1VTRUQsIExFTiB0byBMT05HRVNULgot CShpMzg2X3JlZ19zdHJ1Y3RfcmV0dXJuX3ApOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKGkz ODZfY29udmVydF9yZWdpc3Rlcl9wKTogTGlrZXdpc2UuCi0JKGkzODZfcmVnaXN0ZXJfdG9fdmFs dWUpOiBMaWtld2lzZS4KLQkoaTM4Nl92YWx1ZV90b19yZWdpc3Rlcik6IExpa2V3aXNlLgotCSog aWE2NC10ZGVwLmMgKGlhNjRfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIEFSR09GRlNFVCwgTEVO LAotCU5TTE9UUywgTUVNU0xPVFMgdG8gTE9OR0VTVC4KLQkqIGlxMjAwMC10ZGVwLmMgKGlxMjAw MF9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgVFlQRUxFTiwKLQlTVEFDS1NQQUNFIHRvIExPTkdF U1QuCi0JKiBtMzJyLXRkZXAuYyAobTMycl9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOIHRv IExPTkdFU1QuCi0JKiBtNjhrLXRkZXAuYyAobTY4a19yZWdfc3RydWN0X3JldHVybl9wKTogRXhw YW5kIExFTiB0byBMT05HRVNULgotCShtNjhrX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4s IENPTlRBSU5FUl9MRU4sIE9GRlNFVCB0bwotCUxPTkdFU1QuCi0JKiBtODhrLXRkZXAuYyAobTg4 a19zdG9yZV9hcmd1bWVudHMpOiBFeHBhbmQgTlVNX1NUQUNLX1dPUkRTLAotCUxFTiwgU1RBQ0tf V09SRCB0byBMT05HRVNULgotCSogbWVwLXRkZXAuYyAocHVzaF9sYXJnZV9hcmd1bWVudHMpOiBF eHBhbmQgQVJHX0xFTiB0byBVTE9OR0VTVC4KLQkqIG1pY3JvYmxhemUtdGRlcC5jIChtaWNyb2Js YXplX3N0b3JlX3JldHVybl92YWx1ZSk6IEV4cGFuZCBMRU4gdG8KLQlMT05HRVNULgotCSogbWlw cy10ZGVwLmMgKG1pcHNfeGZlcl9yZWdpc3Rlcik6IEV4cGFuZCBwYXJhbWV0ZXIgQlVGX09GRlNF VCB0bwotCUxPTkdFU1QuICBVc2UgcGxvbmdlc3QgdG8gZm9ybWF0IHByaW50IEJVRl9PRkZTRVQu Ci0JKG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuICBV c2UgcGxvbmdlc3QKLQl0byBmb3JtYXQgcHJpbnQgTEVOLgotCShtaXBzX24zMm42NF9mcF9hcmdf Y2h1bmtfcCk6IEV4cGFuZCBwYXJhbWV0ZXIgT0ZGU0VUIHRvIExPTkdFU1QuCi0JRXhwYW5kIFBP UyB0byBMT05HRVNULgotCShtaXBzX24zMm42NF9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVO IHRvIExPTkdFU1QuCi0JKG1pcHNfbjMybjY0X3JldHVybl92YWx1ZSk6IEV4cGFuZCBPRkZTRVQg dG8gTE9OR0VTVC4gIFVzZQotCXBsb25nZXN0IHRvIGZvcm1hdCBwcmludCBPRkZTRVQuCi0JKG1p cHNfbzMyX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4gIFVzZSBwbG9u Z2VzdAotCXRvIGZvcm1hdCBwcmludCBMRU4uCi0JKG1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbCk6 IEV4cGFuZCBMRU4sIFNUQUNLX09GRlNFVCB0byBMT05HRVNULgotCVVzZSBwbG9uZ2VzdCB0byBm b3JtYXQgcHJpbnQgTEVOLgotCSogbW4xMDMwMC10ZGVwLmMgKG1uMTAzMDBfcHVzaF9kdW1teV9j YWxsKTogRXhwYW5kIExFTiB0bwotCUxPTkdFU1QuCi0JKiBtdC10ZGVwLmMgKG10X3B1c2hfZHVt bXlfY2FsbCk6IEV4cGFuZCBTVEFDS19ERVNULCBUWVBFTEVOIHRvCi0JTE9OR0VTVC4KLQkqIHBw Yy1zeXN2LXRkZXAuYyAocHBjX3N5c3ZfYWJpX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZAotCUFS R1NQQUNFLCBBUkdPRkZTRVQsIFNUUlVDVE9GRlNFVCwgTEVOLCB0byBMT05HRVNULgotCShwcGM2 NF9zeXN2X2FiaV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgQllURSwgTEVOIHRvIHNzaXplX3Qu Ci0JKiBybDc4LXRkZXAuYyAocmw3OF9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgTEVOLCBDT05U QUlORVJfTEVOCi0JdG8gTE9OR0VTVC4KLQkqIHJzNjAwMC1haXgtdGRlcC5jIChyczYwMDBfcHVz aF9kdW1teV9jYWxsKTogRXhwYW5kIEFSR0JZVEVTLAotCUxFTiB0byBMT05HRVNULgotCShyYW5f b3V0X29mX3JlZ2lzdGVyc19mb3JfYXJndW1lbnRzKTogRXhwYW5kIFNQQUNFLCBKSiB0bwotCUxP TkdFU1QuCi0JKiBzMzkwLWxpbnV4LXRkZXAuYyAoczM5MF92YWx1ZV9mcm9tX3JlZ2lzdGVyKTog RXhwYW5kIExFTiB0byBMT05HRVNULgotCShpc19wb3dlcl9vZl90d28pOiBFeHBhbmQgcGFyYW1l dGVyIE4gdG8gVUxPTkdFU1QuCi0JKHMzOTBfcHVzaF9kdW1teV9jYWxsKTogRXhwYW5kIExFTkdU SCB0byBVTE9OR0VTVC4KLQkqIHNjb3JlLXRkZXAuYyAoc2NvcmVfcHVzaF9kdW1teV9jYWxsKTog RXhwYW5kIEFSR0xFTiB0bwotCUxPTkdFU1QuCi0JKiBzaC10ZGVwLmMgKHNoX3VzZV9zdHJ1Y3Rf Y29udmVudGlvbikgRXhwYW5kIGxlbiB0byBMT05HRVNULgotCShzaF9qdXN0aWZ5X3ZhbHVlX2lu X3JlZyk6IEV4cGFuZCBwYXJhbWV0ZXIgTEVOIHRvIExPTkdFU1QuCi0JKHNoX3B1c2hfZHVtbXlf Y2FsbF9mcHUpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuICBFeHBhbmQgUkVHX1NJWkUKLQl0byBz c2l6ZV90LgotCShzaF9wdXNoX2R1bW15X2NhbGxfbm9mcHUpOiBMaWtld2lzZS4KLQkqIHNoNjQt dGRlcC5jIChzaDY0X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBTVEFDS19PRkZTRVQsCi0JU1RB Q0tfQUxMT0MsIExFTiB0byBMT05HRVNULgotCSogc3BhcmMtdGRlcC5jIChzcGFyYzMyX3N0b3Jl X2FyZ3VtZW50cyk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwYXJjNjQtdGRlcC5jIChz cGFyYzY0X3N0b3JlX2Zsb2F0aW5nX2ZpZWxkcyk6IEV4cGFuZAotCXBhcmFtZXRlciBCSVRQT1Mg dG8gTE9OR0VTVC4gIEV4cGFuZCBTVUJQT1MgdG8gTE9OR0VTVC4KLQkoc3BhcmM2NF9leHRyYWN0 X2Zsb2F0aW5nX2ZpZWxkcyk6IExpa2V3aXNlLgotCShzcGFyYzY0X3N0b3JlX2FyZ3VtZW50cyk6 IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIHNwdS10ZGVwLmMgKHNwdV9wdXNoX2R1bW15X2Nh bGwpOiBFeHBhbmQgTl9SRUdTLCBMRU4gdG8gTE9OR0VTVC4KLQkoc3B1X3ZhbHVlX2Zyb21fcmVn aXN0ZXIpOiBFeHBhbmQgTEVOIHRvIExPTkdFU1QuCi0JKiB0aWM2eC10ZGVwLmMgKHRpYzZ4X3B1 c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBSRUZFUkVOQ0VTX09GRlNULAotCUxFTiB0byBMT05HRVNU LiAgRXhwYW5kIExFTiB0byBzc2l6ZV90LiAgVXNlIHBsb25nZXN0IHRvIGZvcm1hdAotCXByaW50 IExFTi4KLQkqIHRpbGVneC10ZGVwLmMgKHRpbGVneF9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQg VFlQRUxFTiwKLQlTTEFDS0xFTiwgQUxJR05MRU4gdG8gTE9OR0VTVC4KLQkqIHY4NTAtdGRlcC5j ICh2ODUwX3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBMRU4gdG8gTE9OR0VTVC4KLQkqIHZheC10 ZGVwLmMgKHZheF9zdG9yZV9hcmd1bWVudHMpOiBFeHBhbmQgQ09VTlQsIExFTiB0byBMT05HRVNU LgotCSh2YXhfcmV0dXJuX3ZhbHVlKTogRXhwYW5kIExFTiB0byBMT05HRVNULgotCSogeHN0b3Jt eTE2LXRkZXAuYyAoeHN0b3JteTE2X3B1c2hfZHVtbXlfY2FsbCk6IEV4cGFuZCBKLCBUWVBFTEVO Ci0JdG8gTE9OR0VTVC4KLQkqIHh0ZW5zYS10ZGVwLmMgKHh0ZW5zYV9zdG9yZV9yZXR1cm5fdmFs dWUpOiBQcmludCBMRU4gaW5zdGVhZCBvZgotCVRZUEVfTEVOR1RILi4KLQkoc3RydWN0IGFyZ3Vt ZW50X2luZm8pOiBFeHBvYW5kIG1lbWJlciBMRU5HVEggdG8gc3NpemVfdC4KLQkoc3RydWN0IGFy Z3VtZW50X2luZm8udSk6IEV4cGFuZCBtZW1iZXIgT0ZGU0VUIHRvIHNzaXplX3QuCi0JKHh0ZW5z YV9wdXNoX2R1bW15X2NhbGwpOiBFeHBhbmQgU0laRSwgT05TVEFDS19TSVpFIHRvIExPTkdFU1Qu Ci0JRXhwYW5kIE4gdG8gc3NpemVfdC4gIFVzZSBwdWxvbmdlc3QgdG8gZm9ybWF0IHByaW50IFRZ UEVfTEVOR1RILgotCi0tLU1QXy9YX1dqRE92ei9CX2Z2bHNybUN3UmR4ZQotQ29udGVudC1UeXBl OiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQt RGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPWJpdHBvcy10ZGVwLnBhdGNoCi0KLWRp ZmYgLS1naXQgYS9nZGIvYWxwaGEtdGRlcC5jIGIvZ2RiL2FscGhhLXRkZXAuYwotLS0tIGEvZ2Ri L2FscGhhLXRkZXAuYwotKysrIGIvZ2RiL2FscGhhLXRkZXAuYwotQEAgLTMwMCwxNyArMzAwLDE3 IEBAIGFscGhhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVj dCB2YWx1ZSAqZnVuY3Rpb24sCi0gewotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBn ZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgaW50IGk7Ci0tICBpbnQgYWNjdW11bGF0 ZV9zaXplID0gKHJldHVybl9tZXRob2QgPT0gcmV0dXJuX21ldGhvZF9zdHJ1Y3QpID8gOCA6IDA7 Ci0rICBzc2l6ZV90IGFjY3VtdWxhdGVfc2l6ZSA9IChyZXR1cm5fbWV0aG9kID09IHJldHVybl9t ZXRob2Rfc3RydWN0KSA/IDggOiAwOwotICAgc3RydWN0IGFscGhhX2FyZwotICAgICB7Ci0gICAg ICAgY29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzOwotLSAgICAgIGludCBsZW47Ci0tICAgICAgaW50 IG9mZnNldDsKLSsgICAgICBzc2l6ZV90IGxlbjsKLSsgICAgICBzc2l6ZV90IG9mZnNldDsKLSAg ICAgfTsKLSAgIHN0cnVjdCBhbHBoYV9hcmcgKmFscGhhX2FyZ3MgPSBYQUxMT0NBVkVDIChzdHJ1 Y3QgYWxwaGFfYXJnLCBuYXJncyk7Ci0gICBzdHJ1Y3QgYWxwaGFfYXJnICptX2FyZzsKLSAgIGdk Yl9ieXRlIGFyZ19yZWdfYnVmZmVyW0FMUEhBX1JFR0lTVEVSX1NJWkUgKiBBTFBIQV9OVU1fQVJH X1JFR1NdOwotLSAgaW50IHJlcXVpcmVkX2FyZ19yZWdzOwotKyAgc3NpemVfdCByZXF1aXJlZF9h cmdfcmVnczsKLSAgIENPUkVfQUREUiBmdW5jX2FkZHIgPSBmaW5kX2Z1bmN0aW9uX2FkZHIgKGZ1 bmN0aW9uLCBOVUxMKTsKLSAKLSAgIC8qIFRoZSBBQkkgcGxhY2VzIHRoZSBhZGRyZXNzIG9mIHRo ZSBjYWxsZWQgZnVuY3Rpb24gaW4gVDEyLiAgKi8KLUBAIC00MzAsOCArNDMwLDggQEAgYWxwaGFf cHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpm dW5jdGlvbiwKLSAgIGZvciAoaSA9IG5hcmdzOyBtX2FyZy0tLCAtLWkgPj0gMDspCi0gICAgIHsK LSAgICAgICBjb25zdCBnZGJfYnl0ZSAqY29udGVudHMgPSBtX2FyZy0+Y29udGVudHM7Ci0tICAg ICAgaW50IG9mZnNldCA9IG1fYXJnLT5vZmZzZXQ7Ci0tICAgICAgaW50IGxlbiA9IG1fYXJnLT5s ZW47Ci0rICAgICAgc3NpemVfdCBvZmZzZXQgPSBtX2FyZy0+b2Zmc2V0OwotKyAgICAgIHNzaXpl X3QgbGVuID0gbV9hcmctPmxlbjsKLSAKLSAgICAgICAvKiBDb3B5IHRoZSBieXRlcyBkZXN0aW5l ZCBmb3IgcmVnaXN0ZXJzIGludG8gYXJnX3JlZ19idWZmZXIuICAqLwotICAgICAgIGlmIChvZmZz ZXQgPCBzaXplb2YoYXJnX3JlZ19idWZmZXIpKQotQEAgLTQ0Myw3ICs0NDMsNyBAQCBhbHBoYV9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAotIAkgICAgfQotIAkgIGVsc2UKLSAJICAgIHsKLS0JICAgICAgaW50IHRsZW4gPSBz aXplb2YoYXJnX3JlZ19idWZmZXIpIC0gb2Zmc2V0OwotKwkgICAgICBzc2l6ZV90IHRsZW4gPSBz aXplb2YoYXJnX3JlZ19idWZmZXIpIC0gb2Zmc2V0OwotIAkgICAgICBtZW1jcHkgKGFyZ19yZWdf YnVmZmVyICsgb2Zmc2V0LCBjb250ZW50cywgdGxlbik7Ci0gCSAgICAgIG9mZnNldCArPSB0bGVu OwotIAkgICAgICBjb250ZW50cyArPSB0bGVuOwotZGlmZiAtLWdpdCBhL2dkYi9hbWQ2NC10ZGVw LmMgYi9nZGIvYW1kNjQtdGRlcC5jCi0tLS0gYS9nZGIvYW1kNjQtdGRlcC5jCi0rKysgYi9nZGIv YW1kNjQtdGRlcC5jCi1AQCAtODgzLDggKzg4Myw4IEBAIGFtZDY0X3B1c2hfYXJndW1lbnRzIChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBpbnQgbmFyZ3MsIHN0cnVjdCB2YWx1ZSAqKmFyZ3Ms Ci0gICB9OwotICAgc3RydWN0IHZhbHVlICoqc3RhY2tfYXJncyA9IFhBTExPQ0FWRUMgKHN0cnVj dCB2YWx1ZSAqLCBuYXJncyk7Ci0gICBpbnQgbnVtX3N0YWNrX2FyZ3MgPSAwOwotLSAgaW50IG51 bV9lbGVtZW50cyA9IDA7Ci0tICBpbnQgZWxlbWVudCA9IDA7Ci0rICBMT05HRVNUIG51bV9lbGVt ZW50cyA9IDA7Ci0rICBMT05HRVNUIGVsZW1lbnQgPSAwOwotICAgaW50IGludGVnZXJfcmVnID0g MDsKLSAgIGludCBzc2VfcmVnID0gMDsKLSAgIGludCBpOwotQEAgLTg5Niw3ICs4OTYsNyBAQCBp ZiAocmV0dXJuX21ldGhvZCA9PSByZXR1cm5fbWV0aG9kX3N0cnVjdCkKLSAgIGZvciAoaSA9IDA7 IGkgPCBuYXJnczsgaSsrKQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnR5cGUgPSB2YWx1 ZV90eXBlIChhcmdzW2ldKTsKLS0gICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwot KyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotICAgICAgIGVudW0gYW1k NjRfcmVnX2NsYXNzIHRoZWNsYXNzWzJdOwotICAgICAgIGludCBuZWVkZWRfaW50ZWdlcl9yZWdz ID0gMDsKLSAgICAgICBpbnQgbmVlZGVkX3NzZV9yZWdzID0gMDsKLUBAIC05NjAsNyArOTYwLDcg QEAgaWYgKHJldHVybl9tZXRob2QgPT0gcmV0dXJuX21ldGhvZF9zdHJ1Y3QpCi0gCi0gCSAgICAg IGdkYl9hc3NlcnQgKHJlZ251bSAhPSAtMSk7Ci0gCSAgICAgIG1lbXNldCAoYnVmLCAwLCBzaXpl b2YgYnVmKTsKLS0JICAgICAgbWVtY3B5IChidWYsIHZhbGJ1ZiArIGogKiA4LCBzdGQ6Om1pbiAo bGVuLCA4KSk7Ci0rCSAgICAgIG1lbWNweSAoYnVmLCB2YWxidWYgKyBqICogOCwgc3RkOjptaW4g KGxlbiwgKExPTkdFU1QpIDgpKTsKLSAJICAgICAgcmVnY2FjaGUtPnJhd193cml0ZV9wYXJ0IChy ZWdudW0sIG9mZnNldCwgOCwgYnVmKTsKLSAJICAgIH0KLSAJfQotZGlmZiAtLWdpdCBhL2dkYi9h bWQ2NC13aW5kb3dzLXRkZXAuYyBiL2dkYi9hbWQ2NC13aW5kb3dzLXRkZXAuYwotLS0tIGEvZ2Ri L2FtZDY0LXdpbmRvd3MtdGRlcC5jCi0rKysgYi9nZGIvYW1kNjQtd2luZG93cy10ZGVwLmMKLUBA IC0yOTEsNyArMjkxLDcgQEAgYW1kNjRfd2luZG93c19yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJh cmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAkJCSAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwKLSAJCQkgICAgZ2RiX2J5dGUgKnJl YWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0ZWJ1ZikKLSB7Ci0tICBpbnQgbGVuID0gVFlQRV9M RU5HVEggKHR5cGUpOwotKyAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0gICBp bnQgcmVnbnVtID0gLTE7Ci0gCi0gICAvKiBTZWUgaWYgb3VyIHZhbHVlIGlzIHJldHVybmVkIHRo cm91Z2ggYSByZWdpc3Rlci4gIElmIGl0IGlzLCB0aGVuCi1kaWZmIC0tZ2l0IGEvZ2RiL2FybS10 ZGVwLmMgYi9nZGIvYXJtLXRkZXAuYwotLS0tIGEvZ2RiL2FybS10ZGVwLmMKLSsrKyBiL2dkYi9h cm0tdGRlcC5jCi1AQCAtMzQ0MCw3ICszNDQwLDcgQEAgYXJtX3ZmcF9jcHJjX3JlZ19jaGFyIChl bnVtIGFybV92ZnBfY3ByY19iYXNlX3R5cGUgYikKLSAgICBhcnJheSkuICBWZWN0b3IgdHlwZXMg YXJlIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLCBtYXRjaGluZyB0aGUKLSAgICBnZW5lcmljIEFB UENTIHN1cHBvcnQuICAqLwotIAotLXN0YXRpYyBpbnQKLStzdGF0aWMgTE9OR0VTVAotIGFybV92 ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKLSAJCQkgICAgZW51bSBhcm1f dmZwX2NwcmNfYmFzZV90eXBlICpiYXNlX3R5cGUpCi0gewotQEAgLTM1MjMsNyArMzUyMyw3IEBA IGFybV92ZnBfY3ByY19zdWJfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwKLSAJICB9Ci0gCWVs c2UKLSAJICB7Ci0tCSAgICBpbnQgY291bnQ7Ci0rCSAgICBMT05HRVNUIGNvdW50OwotIAkgICAg dW5zaWduZWQgdW5pdGxlbjsKLSAKLSAJICAgIGNvdW50ID0gYXJtX3ZmcF9jcHJjX3N1Yl9jYW5k aWRhdGUgKFRZUEVfVEFSR0VUX1RZUEUgKHQpLAotQEAgLTM1NDYsMTIgKzM1NDYsMTIgQEAgYXJt X3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKHN0cnVjdCB0eXBlICp0LAotIAotICAgICBjYXNlIFRZ UEVfQ09ERV9TVFJVQ1Q6Ci0gICAgICAgewotLQlpbnQgY291bnQgPSAwOwotKwlMT05HRVNUIGNv dW50ID0gMDsKLSAJdW5zaWduZWQgdW5pdGxlbjsKLSAJaW50IGk7Ci0gCWZvciAoaSA9IDA7IGkg PCBUWVBFX05GSUVMRFMgKHQpOyBpKyspCi0gCSAgewotLQkgICAgaW50IHN1Yl9jb3VudCA9IDA7 Ci0rCSAgICBMT05HRVNUIHN1Yl9jb3VudCA9IDA7Ci0gCi0gCSAgICBpZiAoIWZpZWxkX2lzX3N0 YXRpYyAoJlRZUEVfRklFTEQgKHQsIGkpKSkKLSAJICAgICAgc3ViX2NvdW50ID0gYXJtX3ZmcF9j cHJjX3N1Yl9jYW5kaWRhdGUgKFRZUEVfRklFTERfVFlQRSAodCwgaSksCi1AQCAtMzU3NSwxMyAr MzU3NSwxNSBAQCBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoc3RydWN0IHR5cGUgKnQsCi0g Ci0gICAgIGNhc2UgVFlQRV9DT0RFX1VOSU9OOgotICAgICAgIHsKLS0JaW50IGNvdW50ID0gMDsK LSsJTE9OR0VTVCBjb3VudCA9IDA7Ci0gCXVuc2lnbmVkIHVuaXRsZW47Ci0gCWludCBpOwotIAlm b3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0KTsgaSsrKQotIAkgIHsKLS0JICAgIGludCBz dWJfY291bnQgPSBhcm1fdmZwX2NwcmNfc3ViX2NhbmRpZGF0ZSAoVFlQRV9GSUVMRF9UWVBFICh0 LCBpKSwKLS0JCQkJCQkJYmFzZV90eXBlKTsKLSsJICAgIExPTkdFU1Qgc3ViX2NvdW50OwotKwot KwkgICAgc3ViX2NvdW50ID0gYXJtX3ZmcF9jcHJjX3N1Yl9jYW5kaWRhdGUgKFRZUEVfRklFTERf VFlQRSAodCwgaSksCi0rCQkJCQkJICAgIGJhc2VfdHlwZSk7Ci0gCSAgICBpZiAoc3ViX2NvdW50 ID09IC0xKQotIAkgICAgICByZXR1cm4gLTE7Ci0gCSAgICBjb3VudCA9IChjb3VudCA+IHN1Yl9j b3VudCA/IGNvdW50IDogc3ViX2NvdW50KTsKLUBAIC0zNjE3LDcgKzM2MTksNyBAQCBhcm1fdmZw X2NhbGxfY2FuZGlkYXRlIChzdHJ1Y3QgdHlwZSAqdCwgZW51bSBhcm1fdmZwX2NwcmNfYmFzZV90 eXBlICpiYXNlX3R5cGUsCi0gCQkJaW50ICpjb3VudCkKLSB7Ci0gICBlbnVtIGFybV92ZnBfY3By Y19iYXNlX3R5cGUgYiA9IFZGUF9DUFJDX1VOS05PV047Ci0tICBpbnQgYyA9IGFybV92ZnBfY3By Y19zdWJfY2FuZGlkYXRlICh0LCAmYik7Ci0rICBMT05HRVNUIGMgPSBhcm1fdmZwX2NwcmNfc3Vi X2NhbmRpZGF0ZSAodCwgJmIpOwotICAgaWYgKGMgPD0gMCB8fCBjID4gNCkKLSAgICAgcmV0dXJu IDA7Ci0gICAqYmFzZV90eXBlID0gYjsKLUBAIC0zNjk5LDcgKzM3MDEsNyBAQCBhcm1fcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKLSAKLSAgIGZvciAoYXJnbnVtID0gMDsgYXJnbnVtIDwgbmFyZ3M7IGFyZ251bSsrKQotICAg ICB7Ci0tICAgICAgaW50IGxlbjsKLSsgICAgICBMT05HRVNUIGxlbjsKLSAgICAgICBzdHJ1Y3Qg dHlwZSAqYXJnX3R5cGU7Ci0gICAgICAgc3RydWN0IHR5cGUgKnRhcmdldF90eXBlOwotICAgICAg IGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlOwotZGlmZiAtLWdpdCBhL2dkYi9hdnItdGRlcC5jIGIv Z2RiL2F2ci10ZGVwLmMKLS0tLSBhL2dkYi9hdnItdGRlcC5jCi0rKysgYi9nZGIvYXZyLXRkZXAu YwotQEAgLTExOTIsMTMgKzExOTIsMTMgQEAgYXZyX2R1bW15X2lkIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IGZyYW1lX2luZm8gKnRoaXNfZnJhbWUpCi0gCi0gc3RydWN0IHN0YWNr X2l0ZW0KLSB7Ci0tICBpbnQgbGVuOwotKyAgc3NpemVfdCBsZW47Ci0gICBzdHJ1Y3Qgc3RhY2tf aXRlbSAqcHJldjsKLSAgIGdkYl9ieXRlICpkYXRhOwotIH07Ci0gCi0gc3RhdGljIHN0cnVjdCBz dGFja19pdGVtICoKLS1wdXNoX3N0YWNrX2l0ZW0gKHN0cnVjdCBzdGFja19pdGVtICpwcmV2LCBj b25zdCBiZmRfYnl0ZSAqY29udGVudHMsIGludCBsZW4pCi0rcHVzaF9zdGFja19pdGVtIChzdHJ1 Y3Qgc3RhY2tfaXRlbSAqcHJldiwgY29uc3QgYmZkX2J5dGUgKmNvbnRlbnRzLCBzc2l6ZV90IGxl bikKLSB7Ci0gICBzdHJ1Y3Qgc3RhY2tfaXRlbSAqc2k7Ci0gICBzaSA9IFhORVcgKHN0cnVjdCBz dGFja19pdGVtKTsKLUBAIC0xMjg3LDEyICsxMjg3LDEyIEBAIGF2cl9wdXNoX2R1bW15X2NhbGwg KHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAotICAg Zm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0gICAgIHsKLS0gICAgICBpbnQgbGFzdF9yZWdu dW07Ci0tICAgICAgaW50IGo7Ci0rICAgICAgc3NpemVfdCBsYXN0X3JlZ251bTsKLSsgICAgICBz c2l6ZV90IGo7Ci0gICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwotICAgICAgIHN0 cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7Ci0gICAg ICAgY29uc3QgYmZkX2J5dGUgKmNvbnRlbnRzID0gdmFsdWVfY29udGVudHMgKGFyZyk7Ci0tICAg ICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgICAgICBzc2l6ZV90IGxlbiA9IFRZ UEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgICAgICAvKiBDYWxjdWxhdGUgdGhlIHBvdGVudGlhbCBs YXN0IHJlZ2lzdGVyIG5lZWRlZC4KLSAgICAgICAgICBFLmcuIEZvciBsZW5ndGggMiwgcmVnaXN0 ZXJzIHJlZ251bSBhbmQgcmVnbnVtLTEgKHNheSAyNSBhbmQgMjQpCi1kaWZmIC0tZ2l0IGEvZ2Ri L2JmaW4tdGRlcC5jIGIvZ2RiL2JmaW4tdGRlcC5jCi0tLS0gYS9nZGIvYmZpbi10ZGVwLmMKLSsr KyBiL2dkYi9iZmluLXRkZXAuYwotQEAgLTUwNCw3ICs1MDQsNyBAQCBiZmluX3B1c2hfZHVtbXlf Y2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBpbnQgaTsKLSAgIGxvbmcg cmVnX3IwLCByZWdfcjEsIHJlZ19yMjsKLS0gIGludCB0b3RhbF9sZW4gPSAwOwotKyAgc3NpemVf dCB0b3RhbF9sZW4gPSAwOwotIAotICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkK LSAgICAgewotQEAgLTUyNiw3ICs1MjYsNyBAQCBiZmluX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0 IGdkYmFyY2ggKmdkYmFyY2gsCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVfdHlw ZSA9IHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKTsKLSAgICAgICBzdHJ1Y3QgdHlwZSAq YXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlKTsKLS0gICAgICBpbnQgY29udGFp bmVyX2xlbiA9IChUWVBFX0xFTkdUSCAoYXJnX3R5cGUpICsgMykgJiB+MzsKLSsgICAgICBzc2l6 ZV90IGNvbnRhaW5lcl9sZW4gPSAoVFlQRV9MRU5HVEggKGFyZ190eXBlKSArIDMpICYgfjM7Ci0g Ci0gICAgICAgc3AgLT0gY29udGFpbmVyX2xlbjsKLSAgICAgICB3cml0ZV9tZW1vcnkgKHNwLCB2 YWx1ZV9jb250ZW50cyAoYXJnc1tpXSksIGNvbnRhaW5lcl9sZW4pOwotZGlmZiAtLWdpdCBhL2dk Yi9jcmlzLXRkZXAuYyBiL2dkYi9jcmlzLXRkZXAuYwotLS0tIGEvZ2RiL2NyaXMtdGRlcC5jCi0r KysgYi9nZGIvY3Jpcy10ZGVwLmMKLUBAIC02NTcsMTMgKzY1NywxMyBAQCBzdGF0aWMgQ09SRV9B RERSIGNyaXN2MzJfc2Nhbl9wcm9sb2d1ZSAoQ09SRV9BRERSIHBjLAotIAotIHN0cnVjdCBzdGFj a19pdGVtCi0gewotLSAgaW50IGxlbjsKLSsgIHNzaXplX3QgbGVuOwotICAgc3RydWN0IHN0YWNr X2l0ZW0gKnByZXY7Ci0gICBnZGJfYnl0ZSAqZGF0YTsKLSB9OwotIAotIHN0YXRpYyBzdHJ1Y3Qg c3RhY2tfaXRlbSAqCi0tcHVzaF9zdGFja19pdGVtIChzdHJ1Y3Qgc3RhY2tfaXRlbSAqcHJldiwg Y29uc3QgZ2RiX2J5dGUgKmNvbnRlbnRzLCBpbnQgbGVuKQotK3B1c2hfc3RhY2tfaXRlbSAoc3Ry dWN0IHN0YWNrX2l0ZW0gKnByZXYsIGNvbnN0IGdkYl9ieXRlICpjb250ZW50cywgc3NpemVfdCBs ZW4pCi0gewotICAgc3RydWN0IHN0YWNrX2l0ZW0gKnNpID0gWE5FVyAoc3RydWN0IHN0YWNrX2l0 ZW0pOwotICAgc2ktPmRhdGEgPSAoZ2RiX2J5dGUgKikgeG1hbGxvYyAobGVuKTsKLUBAIC04MTQs MTMgKzgxNCwxMyBAQCBjcmlzX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCi0gICBmb3IgKGFyZ251bSA9IDA7IGFyZ251 bSA8IG5hcmdzOyBhcmdudW0rKykKLSAgICAgewotLSAgICAgIGludCBsZW47Ci0rICAgICAgc3Np emVfdCBsZW47Ci0gICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLS0gICAgICBpbnQgcmVnX2Rl bWFuZDsKLS0gICAgICBpbnQgaTsKLSsgICAgICBzc2l6ZV90IHJlZ19kZW1hbmQ7Ci0rICAgICAg c3NpemVfdCBpOwotICAgICAgIAotLSAgICAgIGxlbiA9IFRZUEVfTEVOR1RIICh2YWx1ZV90eXBl IChhcmdzW2FyZ251bV0pKTsKLSAgICAgICB2YWwgPSB2YWx1ZV9jb250ZW50cyAoYXJnc1thcmdu dW1dKTsKLSsgICAgICBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJnc1thcmdudW1d KSk7Ci0gICAgICAgCi0gICAgICAgLyogSG93IG1heSByZWdpc3RlcnMgd29ydGggb2Ygc3RvcmFn ZSBkbyB3ZSBuZWVkIGZvciB0aGlzIGFyZ3VtZW50PyAgKi8KLSAgICAgICByZWdfZGVtYW5kID0g KGxlbiAvIDQpICsgKGxlbiAlIDQgIT0gMCA/IDEgOiAwKTsKLWRpZmYgLS1naXQgYS9nZGIvaDgz MDAtdGRlcC5jIGIvZ2RiL2g4MzAwLXRkZXAuYwotLS0tIGEvZ2RiL2g4MzAwLXRkZXAuYwotKysr IGIvZ2RiL2g4MzAwLXRkZXAuYwotQEAgLTYxOSw3ICs2MTksNyBAQCBoODMwMF9wdXNoX2R1bW15 X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAot IAkJICAgICAgIENPUkVfQUREUiBzdHJ1Y3RfYWRkcikKLSB7Ci0gICBlbnVtIGJmZF9lbmRpYW4g Ynl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0tICBpbnQgc3RhY2tf YWxsb2MgPSAwLCBzdGFja19vZmZzZXQgPSAwOwotKyAgTE9OR0VTVCBzdGFja19hbGxvYyA9IDAs IHN0YWNrX29mZnNldCA9IDA7Ci0gICBpbnQgd29yZHNpemUgPSBCSU5XT1JEIChnZGJhcmNoKTsK LSAgIGludCByZWcgPSBFX0FSRzBfUkVHTlVNOwotICAgaW50IGFyZ3VtZW50OwotQEAgLTY0NSwx MSArNjQ1LDExIEBAIGg4MzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFy Y2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBmb3IgKGFyZ3VtZW50ID0gMDsgYXJndW1l bnQgPCBuYXJnczsgYXJndW1lbnQrKykKLSAgICAgewotICAgICAgIHN0cnVjdCB0eXBlICp0eXBl ID0gdmFsdWVfdHlwZSAoYXJnc1thcmd1bWVudF0pOwotLSAgICAgIGludCBsZW4gPSBUWVBFX0xF TkdUSCAodHlwZSk7Ci0rICAgICAgc3NpemVfdCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0g ICAgICAgY2hhciAqY29udGVudHMgPSAoY2hhciAqKSB2YWx1ZV9jb250ZW50cyAoYXJnc1thcmd1 bWVudF0pOwotIAotICAgICAgIC8qIFBhZCB0aGUgYXJndW1lbnQgYXBwcm9wcmlhdGVseS4gICov Ci0tICAgICAgaW50IHBhZGRlZF9sZW4gPSBhbGlnbl91cCAobGVuLCB3b3Jkc2l6ZSk7Ci0rICAg ICAgc3NpemVfdCBwYWRkZWRfbGVuID0gYWxpZ25fdXAgKGxlbiwgd29yZHNpemUpOwotICAgICAg IC8qIFVzZSBzdGQ6OnZlY3RvciBoZXJlIHRvIGdldCB6ZXJvIGluaXRpYWxpemF0aW9uLiAgKi8K LSAgICAgICBzdGQ6OnZlY3RvcjxnZGJfYnl0ZT4gcGFkZGVkIChwYWRkZWRfbGVuKTsKLSAKLUBA IC02NzgsNyArNjc4LDcgQEAgaDgzMDBfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJICAgICAgLyogSGVhdmVucyB0byBC ZXRzeSAtLS0gaXQncyByZWFsbHkgZ29pbmcgaW4gcmVnaXN0ZXJzIQotIAkgICAgICAgICBOb3Rl IHRoYXQgb24gdGhlIGg4LzMwMHMsIHRoZXJlIGFyZSBnYXBzIGJldHdlZW4gdGhlCi0gCSAgICAg ICAgIHJlZ2lzdGVycyBpbiB0aGUgcmVnaXN0ZXIgZmlsZS4gICovCi0tCSAgICAgIGludCBvZmZz ZXQ7Ci0rCSAgICAgIHNzaXplX3Qgb2Zmc2V0OwotIAotIAkgICAgICBmb3IgKG9mZnNldCA9IDA7 IG9mZnNldCA8IHBhZGRlZF9sZW47IG9mZnNldCArPSB3b3Jkc2l6ZSkKLSAJCXsKLWRpZmYgLS1n aXQgYS9nZGIvaHBwYS10ZGVwLmMgYi9nZGIvaHBwYS10ZGVwLmMKLS0tLSBhL2dkYi9ocHBhLXRk ZXAuYwotKysrIGIvZ2RiL2hwcGEtdGRlcC5jCi1AQCAtOTg1LDcgKzk4NSw3IEBAIGhwcGE2NF9w dXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1 bmN0aW9uLAotICAgICB7Ci0gICAgICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2ldOwotICAg ICAgIHN0cnVjdCB0eXBlICp0eXBlID0gdmFsdWVfdHlwZSAoYXJnKTsKLS0gICAgICBpbnQgbGVu ID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEgg KHR5cGUpOwotICAgICAgIGNvbnN0IGJmZF9ieXRlICp2YWxidWY7Ci0gICAgICAgYmZkX2J5dGUg ZnB0cmJ1Zls4XTsKLSAgICAgICBpbnQgcmVnbnVtOwotQEAgLTExNzgsNyArMTE3OCw3IEBAIGhw cGE2NF9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAotIAkJICAgICBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwKLSAJCSAgICAgZ2RiX2J5dGUgKnJlYWRidWYsIGNvbnN0IGdkYl9ieXRlICp3cml0 ZWJ1ZikKLSB7Ci0tICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKyAgTE9OR0VTVCBs ZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0gICBpbnQgcmVnbnVtLCBvZmZzZXQ7Ci0gCi0gICBp ZiAobGVuID4gMTYpCi1kaWZmIC0tZ2l0IGEvZ2RiL2kzODYtZGFyd2luLXRkZXAuYyBiL2dkYi9p Mzg2LWRhcndpbi10ZGVwLmMKLS0tLSBhL2dkYi9pMzg2LWRhcndpbi10ZGVwLmMKLSsrKyBiL2dk Yi9pMzg2LWRhcndpbi10ZGVwLmMKLUBAIC0xNjcsNyArMTY3LDcgQEAgaTM4Nl9kYXJ3aW5fcHVz aF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5j dGlvbiwKLSAKLSAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9w YXNzKyspCi0gICAgIHsKLS0gICAgICBpbnQgYXJnc19zcGFjZSA9IDA7Ci0rICAgICAgTE9OR0VT VCBhcmdzX3NwYWNlID0gMDsKLSAgICAgICBpbnQgbnVtX20xMjggPSAwOwotIAotICAgICAgIGlm IChyZXR1cm5fbWV0aG9kID09IHJldHVybl9tZXRob2Rfc3RydWN0KQotZGlmZiAtLWdpdCBhL2dk Yi9pMzg2LXRkZXAuYyBiL2dkYi9pMzg2LXRkZXAuYwotLS0tIGEvZ2RiL2kzODYtdGRlcC5jCi0r KysgYi9nZGIvaTM4Ni10ZGVwLmMKLUBAIC0yNjc5LDcgKzI2NzksNyBAQCBpMzg2X3B1c2hfZHVt bXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24s Ci0gICBnZGJfYnl0ZSBidWZbNF07Ci0gICBpbnQgaTsKLSAgIGludCB3cml0ZV9wYXNzOwotLSAg aW50IGFyZ3Nfc3BhY2UgPSAwOwotKyAgTE9OR0VTVCBhcmdzX3NwYWNlID0gMDsKLSAKLSAgIC8q IEJORCByZWdpc3RlcnMgY2FuIGJlIGluIGFyYml0cmFyeSB2YWx1ZXMgYXQgdGhlIG1vbWVudCBv ZiB0aGUKLSAgICAgIGluZmVyaW9yIGNhbGwuICBUaGlzIGNhbiBjYXVzZSBib3VuZGFyeSB2aW9s YXRpb25zIHRoYXQgYXJlIG5vdAotQEAgLTI2OTQsNyArMjY5NCw3IEBAIGkzODZfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK LSAKLSAgIGZvciAod3JpdGVfcGFzcyA9IDA7IHdyaXRlX3Bhc3MgPCAyOyB3cml0ZV9wYXNzKysp Ci0gICAgIHsKLS0gICAgICBpbnQgYXJnc19zcGFjZV91c2VkID0gMDsKLSsgICAgICBMT05HRVNU IGFyZ3Nfc3BhY2VfdXNlZCA9IDA7Ci0gCi0gICAgICAgaWYgKHJldHVybl9tZXRob2QgPT0gcmV0 dXJuX21ldGhvZF9zdHJ1Y3QpCi0gCXsKLUBAIC0yNzExLDcgKzI3MTEsNyBAQCBpMzg2X3B1c2hf ZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rp b24sCi0gCi0gICAgICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0gCXsKLS0JICBpbnQg bGVuID0gVFlQRV9MRU5HVEggKHZhbHVlX2VuY2xvc2luZ190eXBlIChhcmdzW2ldKSk7Ci0rCSAg TE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFyZ3NbaV0p KTsKLSAKLSAJICBpZiAod3JpdGVfcGFzcykKLSAJICAgIHsKLUBAIC0yOTE4LDcgKzI5MTgsNyBA QCBpMzg2X3JlZ19zdHJ1Y3RfcmV0dXJuX3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1 Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBzdHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJj aF90ZGVwIChnZGJhcmNoKTsKLSAgIGVudW0gdHlwZV9jb2RlIGNvZGUgPSBUWVBFX0NPREUgKHR5 cGUpOwotLSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSsgIExPTkdFU1QgbGVuID0g VFlQRV9MRU5HVEggKHR5cGUpOwotIAotICAgZ2RiX2Fzc2VydCAoY29kZSA9PSBUWVBFX0NPREVf U1RSVUNUCi0gICAgICAgICAgICAgICB8fCBjb2RlID09IFRZUEVfQ09ERV9VTklPTgotQEAgLTM3 MDQsNyArMzcwNCw3IEBAIHN0YXRpYyBpbnQKLSBpMzg2X2NvbnZlcnRfcmVnaXN0ZXJfcCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gCQkJIGludCByZWdudW0sIHN0cnVjdCB0eXBlICp0eXBl KQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9 IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgIC8qIFZhbHVlcyBtYXkgYmUgc3ByZWFkIGFjcm9z cyBtdWx0aXBsZSByZWdpc3RlcnMuICBNb3N0IGRlYnVnZ2luZwotICAgICAgZm9ybWF0cyBhcmVu J3QgZXhwcmVzc2l2ZSBlbm91Z2ggdG8gc3BlY2lmeSB0aGUgbG9jYXRpb25zLCBzbwotQEAgLTM3 MzcsNyArMzczNyw3IEBAIGkzODZfcmVnaXN0ZXJfdG9fdmFsdWUgKHN0cnVjdCBmcmFtZV9pbmZv ICpmcmFtZSwgaW50IHJlZ251bSwKLSAJCQlpbnQgKm9wdGltaXplZHAsIGludCAqdW5hdmFpbGFi bGVwKQotIHsKLSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gZ2V0X2ZyYW1lX2FyY2ggKGZy YW1lKTsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9 IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAKLSAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZGJhcmNo LCByZWdudW0pKQotICAgICByZXR1cm4gaTM4N19yZWdpc3Rlcl90b192YWx1ZSAoZnJhbWUsIHJl Z251bSwgdHlwZSwgdG8sCi1AQCAtMzc3Myw3ICszNzczLDcgQEAgc3RhdGljIHZvaWQKLSBpMzg2 X3ZhbHVlX3RvX3JlZ2lzdGVyIChzdHJ1Y3QgZnJhbWVfaW5mbyAqZnJhbWUsIGludCByZWdudW0s Ci0gCQkJc3RydWN0IHR5cGUgKnR5cGUsIGNvbnN0IGdkYl9ieXRlICpmcm9tKQotIHsKLS0gIGlu dCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0rICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RI ICh0eXBlKTsKLSAKLSAgIGlmIChpMzg2X2ZwX3JlZ251bV9wIChnZXRfZnJhbWVfYXJjaCAoZnJh bWUpLCByZWdudW0pKQotICAgICB7Ci1kaWZmIC0tZ2l0IGEvZ2RiL2lxMjAwMC10ZGVwLmMgYi9n ZGIvaXEyMDAwLXRkZXAuYwotLS0tIGEvZ2RiL2lxMjAwMC10ZGVwLmMKLSsrKyBiL2dkYi9pcTIw MDAtdGRlcC5jCi1AQCAtNjUyLDggKzY1Miw5IEBAIGlxMjAwMF9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgY29uc3Qg YmZkX2J5dGUgKnZhbDsKLSAgIGJmZF9ieXRlIGJ1Zls0XTsKLSAgIHN0cnVjdCB0eXBlICp0eXBl OwotLSAgaW50IGksIGFyZ3JlZywgdHlwZWxlbiwgc2xhY2tsZW47Ci0tICBpbnQgc3RhY2tzcGFj ZSA9IDA7Ci0rICBpbnQgaSwgYXJncmVnLCBzbGFja2xlbjsKLSsgIExPTkdFU1QgdHlwZWxlbjsK LSsgIExPTkdFU1Qgc3RhY2tzcGFjZSA9IDA7Ci0gICAvKiBVc2VkIHRvIGNvcHkgc3RydWN0IGFy Z3VtZW50cyBpbnRvIHRoZSBzdGFjay4gICovCi0gICBDT1JFX0FERFIgc3RydWN0X3B0cjsKLSAK LWRpZmYgLS1naXQgYS9nZGIvbTMyci10ZGVwLmMgYi9nZGIvbTMyci10ZGVwLmMKLS0tLSBhL2dk Yi9tMzJyLXRkZXAuYwotKysrIGIvZ2RiL20zMnItdGRlcC5jCi1AQCAtNjcxLDcgKzY3MSw3IEBA IG0zMnJfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAgIENPUkVfQUREUiByZWd2YWw7Ci0gICBnZGJfYnl0ZSAqdmFsOwot ICAgZ2RiX2J5dGUgdmFsYnVmW00zMlJfQVJHX1JFR0lTVEVSX1NJWkVdOwotLSAgaW50IGxlbjsK LSsgIExPTkdFU1QgbGVuOwotIAotICAgLyogRmlyc3QgZm9yY2Ugc3AgdG8gYSA0LWJ5dGUgYWxp Z25tZW50LiAgKi8KLSAgIHNwID0gc3AgJiB+MzsKLWRpZmYgLS1naXQgYS9nZGIvbTY4ay10ZGVw LmMgYi9nZGIvbTY4ay10ZGVwLmMKLS0tLSBhL2dkYi9tNjhrLXRkZXAuYwotKysrIGIvZ2RiL202 OGstdGRlcC5jCi1AQCAtMzcyLDcgKzM3Miw3IEBAIG02OGtfcmVnX3N0cnVjdF9yZXR1cm5fcCAo c3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB0eXBlICp0eXBlKQotIHsKLSAgIHN0cnVj dCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwotICAgZW51bSB0 eXBlX2NvZGUgY29kZSA9IFRZUEVfQ09ERSAodHlwZSk7Ci0tICBpbnQgbGVuID0gVFlQRV9MRU5H VEggKHR5cGUpOwotKyAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0gCi0gICBn ZGJfYXNzZXJ0IChjb2RlID09IFRZUEVfQ09ERV9TVFJVQ1QgfHwgY29kZSA9PSBUWVBFX0NPREVf VU5JT04KLSAJICAgICAgfHwgY29kZSA9PSBUWVBFX0NPREVfQ09NUExFWCk7Ci1AQCAtNTA1LDkg KzUwNSw5IEBAIG02OGtfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwg c3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIGZvciAoaSA9IG5hcmdzIC0gMTsgaSA+PSAwOyBp LS0pCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlwZSAqdmFsdWVfdHlwZSA9IHZhbHVlX2VuY2xv c2luZ190eXBlIChhcmdzW2ldKTsKLS0gICAgICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHZhbHVl X3R5cGUpOwotLSAgICAgIGludCBjb250YWluZXJfbGVuID0gKGxlbiArIDMpICYgfjM7Ci0tICAg ICAgaW50IG9mZnNldDsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh2YWx1ZV90 eXBlKTsKLSsgICAgICBMT05HRVNUIGNvbnRhaW5lcl9sZW4gPSAobGVuICsgMykgJiB+MzsKLSsg ICAgICBMT05HRVNUIG9mZnNldDsKLSAKLSAgICAgICAvKiBOb24tc2NhbGFycyBiaWdnZXIgdGhh biA0IGJ5dGVzIGFyZSBsZWZ0IGFsaWduZWQsIG90aGVycyBhcmUKLSAJIHJpZ2h0IGFsaWduZWQu ICAqLwotZGlmZiAtLWdpdCBhL2dkYi9tZXAtdGRlcC5jIGIvZ2RiL21lcC10ZGVwLmMKLS0tLSBh L2dkYi9tZXAtdGRlcC5jCi0rKysgYi9nZGIvbWVwLXRkZXAuYwotQEAgLTIyMzgsNyArMjIzOCw3 IEBAIHB1c2hfbGFyZ2VfYXJndW1lbnRzIChDT1JFX0FERFIgc3AsIGludCBhcmdjLCBzdHJ1Y3Qg dmFsdWUgKiphcmd2LAotIAotICAgZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykKLSAgICAgewot LSAgICAgIHVuc2lnbmVkIGFyZ19sZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAoYXJndltp XSkpOwotKyAgICAgIFVMT05HRVNUIGFyZ19sZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfdHlwZSAo YXJndltpXSkpOwotIAotICAgICAgIGlmIChhcmdfbGVuID4gTUVQX0dQUl9TSVpFKQotICAgICAg ICAgewotZGlmZiAtLWdpdCBhL2dkYi9taXBzLXRkZXAuYyBiL2dkYi9taXBzLXRkZXAuYwotLS0t IGEvZ2RiL21pcHMtdGRlcC5jCi0rKysgYi9nZGIvbWlwcy10ZGVwLmMKLUBAIC00ODksNyArNDg5 LDcgQEAgc3RhdGljIHZvaWQKLSBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAotIAkJICAgIGludCByZWdfbnVtLCBp bnQgbGVuZ3RoLAotIAkJICAgIGVudW0gYmZkX2VuZGlhbiBlbmRpYW4sIGdkYl9ieXRlICppbiwK LS0JCSAgICBjb25zdCBnZGJfYnl0ZSAqb3V0LCBpbnQgYnVmX29mZnNldCkKLSsJCSAgICBjb25z dCBnZGJfYnl0ZSAqb3V0LCBMT05HRVNUIGJ1Zl9vZmZzZXQpCi0gewotICAgaW50IHJlZ19vZmZz ZXQgPSAwOwotIAotQEAgLTUxMiw4ICs1MTIsOCBAQCBtaXBzX3hmZXJfcmVnaXN0ZXIgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLAotICAgICB9Ci0g ICBpZiAobWlwc19kZWJ1ZykKLSAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkZXJyLAot LQkJCSJ4ZmVyICQlZCwgcmVnIG9mZnNldCAlZCwgYnVmIG9mZnNldCAlZCwgbGVuZ3RoICVkLCAi LAotLQkJCXJlZ19udW0sIHJlZ19vZmZzZXQsIGJ1Zl9vZmZzZXQsIGxlbmd0aCk7Ci0rCQkJInhm ZXIgJCVkLCByZWcgb2Zmc2V0ICVkLCBidWYgb2Zmc2V0ICVzLCBsZW5ndGggJWQsICIsCi0rCQkJ cmVnX251bSwgcmVnX29mZnNldCwgcGxvbmdlc3QgKGJ1Zl9vZmZzZXQpLCBsZW5ndGgpOwotICAg aWYgKG1pcHNfZGVidWcgJiYgb3V0ICE9IE5VTEwpCi0gICAgIHsKLSAgICAgICBpbnQgaTsKLUBA IC00NTYzLDEzICs0NTYzLDEzIEBAIG1pcHNfZWFiaV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICAgIGdkYl9ieXRl IHJlZl92YWxidWZbTUFYX01JUFNfQUJJX1JFR1NJWkVdOwotICAgICAgIHN0cnVjdCB2YWx1ZSAq YXJnID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNr X3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdU SCAoYXJnX3R5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKGFyZ190eXBl KTsKLSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZSA9IFRZUEVfQ09ERSAoYXJnX3R5cGUp OwotIAotICAgICAgIGlmIChtaXBzX2RlYnVnKQotIAlmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9z dGRsb2csCi0tCQkJICAgICJtaXBzX2VhYmlfcHVzaF9kdW1teV9jYWxsOiAlZCBsZW49JWQgdHlw ZT0lZCIsCi0tCQkJICAgIGFyZ251bSArIDEsIGxlbiwgKGludCkgdHlwZWNvZGUpOwotKwkJCSAg ICAibWlwc19lYWJpX3B1c2hfZHVtbXlfY2FsbDogJWQgbGVuPSVzIHR5cGU9JWQiLAotKwkJCSAg ICBhcmdudW0gKyAxLCBwbG9uZ2VzdCAobGVuKSwgKGludCkgdHlwZWNvZGUpOwotIAotICAgICAg IC8qIFRoZSBFQUJJIHBhc3NlcyBzdHJ1Y3R1cmVzIHRoYXQgZG8gbm90IGZpdCBpbiBhIHJlZ2lz dGVyIGJ5Ci0gICAgICAgICAgcmVmZXJlbmNlLiAgKi8KLUBAIC00ODM5LDcgKzQ4MzksNyBAQCBt aXBzX2VhYmlfcmV0dXJuX3ZhbHVlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAKLSBzdGF0aWMgaW50Ci0gbWlwc19uMzJuNjRfZnBfYXJnX2NodW5r X3AgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUsCi0tCQkJ ICAgIGludCBvZmZzZXQpCi0rCQkJICAgIExPTkdFU1Qgb2Zmc2V0KQotIHsKLSAgIGludCBpOwot IAotQEAgLTQ4NTQsNyArNDg1NCw3IEBAIG1pcHNfbjMybjY0X2ZwX2FyZ19jaHVua19wIChzdHJ1 Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKmFyZ190eXBlLAotIAotICAgZm9yIChp ID0gMDsgaSA8IFRZUEVfTkZJRUxEUyAoYXJnX3R5cGUpOyBpKyspCi0gICAgIHsKLS0gICAgICBp bnQgcG9zOwotKyAgICAgIExPTkdFU1QgcG9zOwotICAgICAgIHN0cnVjdCB0eXBlICpmaWVsZF90 eXBlOwotIAotICAgICAgIC8qIFdlJ3JlIG9ubHkgbG9va2luZyBhdCBub3JtYWwgZmllbGRzLiAg Ki8KLUBAIC00ODk3LDcgKzQ4OTcsOCBAQCBtaXBzX24zMm42NF9wdXNoX2R1bW15X2NhbGwgKHN0 cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgaW50IGFy Z3JlZzsKLSAgIGludCBmbG9hdF9hcmdyZWc7Ci0gICBpbnQgYXJnbnVtOwotLSAgaW50IGFyZ19z cGFjZSA9IDA7Ci0rICBVTE9OR0VTVCBhcmdfc3BhY2UgPSAwOwotKyAgTE9OR0VTVCBsZW4gPSAw OwotICAgaW50IHN0YWNrX29mZnNldCA9IDA7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRl ciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBDT1JFX0FERFIgZnVuY19hZGRy ID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5jdGlvbiwgTlVMTCk7Ci1AQCAtNDkyNiw5ICs0OTI3 LDkgQEAgbWlwc19uMzJuNjRfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJj aCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAKLSAgIGlmIChtaXBzX2RlYnVnKQotICAgICBm cHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csCi0tCQkJIm1pcHNfbjMybjY0X3B1c2hfZHVt bXlfY2FsbDogc3A9JXMgYWxsb2NhdGVkICVsZFxuIiwKLSsJCQkibWlwc19uMzJuNjRfcHVzaF9k dW1teV9jYWxsOiBzcD0lcyBhbGxvY2F0ZWQgJXNcbiIsCi0gCQkJcGFkZHJlc3MgKGdkYmFyY2gs IHNwKSwKLS0JCQkobG9uZykgYWxpZ25fdXAgKGFyZ19zcGFjZSwgMTYpKTsKLSsJCQlwdWxvbmdl c3QgKGFsaWduX3VwIChhcmdfc3BhY2UsIDE2KSkpOwotIAotICAgLyogSW5pdGlhbGl6ZSB0aGUg aW50ZWdlciBhbmQgZmxvYXQgcmVnaXN0ZXIgcG9pbnRlcnMuICAqLwotICAgYXJncmVnID0gTUlQ U19BMF9SRUdOVU07Ci1AQCAtNTI0OSwxMSArNTI1MCwxMSBAQCBtaXBzX24zMm42NF9yZXR1cm5f dmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAot IAkJCQk6IE1JUFNfVjBfUkVHTlVNKTsKLSAJICAgZmllbGQgPCBUWVBFX05GSUVMRFMgKHR5cGUp OyBmaWVsZCsrLCByZWdudW0gKz0gMikKLSAJewotLQkgIGludCBvZmZzZXQgPSAoRklFTERfQklU UE9TIChUWVBFX0ZJRUxEUyAodHlwZSlbZmllbGRdKQotLQkJCS8gVEFSR0VUX0NIQVJfQklUKTsK LSsJICBMT05HRVNUIG9mZnNldCA9IChGSUVMRF9CSVRQT1MgKFRZUEVfRklFTERTICh0eXBlKVtm aWVsZF0pCi0rCQkJICAgIC8gVEFSR0VUX0NIQVJfQklUKTsKLSAJICBpZiAobWlwc19kZWJ1ZykK LS0JICAgIGZwcmludGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGVyciwgIlJldHVybiBmbG9hdCBzdHJ1 Y3QrJWRcbiIsCi0tCQkJCW9mZnNldCk7Ci0rCSAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9z dGRlcnIsICJSZXR1cm4gZmxvYXQgc3RydWN0KyVzXG4iLAotKwkJCQlwbG9uZ2VzdCAob2Zmc2V0 KSk7Ci0gCSAgaWYgKFRZUEVfTEVOR1RIIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGZpZWxkKSkg PT0gMTYpCi0gCSAgICB7Ci0gCSAgICAgIC8qIEEgMTYtYnl0ZSBsb25nIGRvdWJsZSBmaWVsZCBn b2VzIGluIHR3byBjb25zZWN1dGl2ZQotQEAgLTUyOTUsOCArNTI5Niw4IEBAIG1pcHNfbjMybjY0 X3JldHVybl92YWx1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVu Y3Rpb24sCi0gCSAgaWYgKG9mZnNldCArIHhmZXIgPiBUWVBFX0xFTkdUSCAodHlwZSkpCi0gCSAg ICB4ZmVyID0gVFlQRV9MRU5HVEggKHR5cGUpIC0gb2Zmc2V0OwotIAkgIGlmIChtaXBzX2RlYnVn KQotLQkgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkZXJyLCAiUmV0dXJuIHN0cnVjdCsl ZDolZCBpbiAkJWRcbiIsCi0tCQkJCW9mZnNldCwgeGZlciwgcmVnbnVtKTsKLSsJICAgIGZwcmlu dGZfdW5maWx0ZXJlZCAoZ2RiX3N0ZGVyciwgIlJldHVybiBzdHJ1Y3QrJXM6JWQgaW4gJCVkXG4i LAotKwkJCQlwbG9uZ2VzdCAob2Zmc2V0KSwgeGZlciwgcmVnbnVtKTsKLSAJICBtaXBzX3hmZXJf cmVnaXN0ZXIgKGdkYmFyY2gsIHJlZ2NhY2hlLAotIAkJCSAgICAgIGdkYmFyY2hfbnVtX3JlZ3Mg KGdkYmFyY2gpICsgcmVnbnVtLAotIAkJCSAgICAgIHhmZXIsIEJGRF9FTkRJQU5fVU5LTk9XTiwg cmVhZGJ1Ziwgd3JpdGVidWYsCi1AQCAtNTM1NSw3ICs1MzU2LDggQEAgbWlwc19vMzJfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKLSAgIGludCBhcmdyZWc7Ci0gICBpbnQgZmxvYXRfYXJncmVnOwotICAgaW50IGFyZ251bTsK LS0gIGludCBhcmdfc3BhY2UgPSAwOwotKyAgVUxPTkdFU1QgYXJnX3NwYWNlID0gMDsKLSsgIExP TkdFU1QgbGVuID0gMDsKLSAgIGludCBzdGFja19vZmZzZXQgPSAwOwotICAgZW51bSBiZmRfZW5k aWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgQ09SRV9B RERSIGZ1bmNfYWRkciA9IGZpbmRfZnVuY3Rpb25fYWRkciAoZnVuY3Rpb24sIE5VTEwpOwotQEAg LTUzOTIsOSArNTM5NCw5IEBAIG1pcHNfbzMyX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFy Y2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCi0gICBpZiAobWlwc19kZWJ1 ZykKLSAgICAgZnByaW50Zl91bmZpbHRlcmVkIChnZGJfc3RkbG9nLAotLQkJCSJtaXBzX28zMl9w dXNoX2R1bW15X2NhbGw6IHNwPSVzIGFsbG9jYXRlZCAlbGRcbiIsCi0rCQkJIm1pcHNfbzMyX3B1 c2hfZHVtbXlfY2FsbDogc3A9JXMgYWxsb2NhdGVkICVzXG4iLAotIAkJCXBhZGRyZXNzIChnZGJh cmNoLCBzcCksCi0tCQkJKGxvbmcpIGFsaWduX3VwIChhcmdfc3BhY2UsIDE2KSk7Ci0rCQkJcHVs b25nZXN0IChhbGlnbl91cCAoYXJnX3NwYWNlLCAxNikpKTsKLSAKLSAgIC8qIEluaXRpYWxpemUg dGhlIGludGVnZXIgYW5kIGZsb2F0IHJlZ2lzdGVyIHBvaW50ZXJzLiAgKi8KLSAgIGFyZ3JlZyA9 IE1JUFNfQTBfUkVHTlVNOwotQEAgLTU0MjAsMTMgKzU0MjIsMTMgQEAgbWlwc19vMzJfcHVzaF9k dW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlv biwKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotICAgICAgIHN0cnVjdCB2YWx1ZSAqYXJn ID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVjdCB0eXBlICphcmdfdHlwZSA9IGNoZWNrX3R5 cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAo YXJnX3R5cGUpOwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKGFyZ190eXBlKTsK LSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZSA9IFRZUEVfQ09ERSAoYXJnX3R5cGUpOwot IAotICAgICAgIGlmIChtaXBzX2RlYnVnKQotIAlmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRs b2csCi0tCQkJICAgICJtaXBzX28zMl9wdXNoX2R1bW15X2NhbGw6ICVkIGxlbj0lZCB0eXBlPSVk IiwKLS0JCQkgICAgYXJnbnVtICsgMSwgbGVuLCAoaW50KSB0eXBlY29kZSk7Ci0rCQkJICAgICJt aXBzX28zMl9wdXNoX2R1bW15X2NhbGw6ICVkIGxlbj0lcyB0eXBlPSVkIiwKLSsJCQkgICAgYXJn bnVtICsgMSwgcGxvbmdlc3QgKGxlbiksIChpbnQpIHR5cGVjb2RlKTsKLSAKLSAgICAgICB2YWwg PSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKLSAKLUBAIC01ODgwLDggKzU4ODIsOCBAQCBtaXBzX282 NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUg KmZ1bmN0aW9uLAotICAgaW50IGFyZ3JlZzsKLSAgIGludCBmbG9hdF9hcmdyZWc7Ci0gICBpbnQg YXJnbnVtOwotLSAgaW50IGFyZ19zcGFjZSA9IDA7Ci0tICBpbnQgc3RhY2tfb2Zmc2V0ID0gMDsK LSsgIFVMT05HRVNUIGFyZ19zcGFjZSA9IDA7Ci0rICBMT05HRVNUIHN0YWNrX29mZnNldCA9IDA7 Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2Ri YXJjaCk7Ci0gICBDT1JFX0FERFIgZnVuY19hZGRyID0gZmluZF9mdW5jdGlvbl9hZGRyIChmdW5j dGlvbiwgTlVMTCk7Ci0gCi1AQCAtNTkxNCw5ICs1OTE2LDkgQEAgbWlwc19vNjRfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK LSAKLSAgIGlmIChtaXBzX2RlYnVnKQotICAgICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRs b2csCi0tCQkJIm1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbDogc3A9JXMgYWxsb2NhdGVkICVsZFxu IiwKLSsJCQkibWlwc19vNjRfcHVzaF9kdW1teV9jYWxsOiBzcD0lcyBhbGxvY2F0ZWQgJXNcbiIs Ci0gCQkJcGFkZHJlc3MgKGdkYmFyY2gsIHNwKSwKLS0JCQkobG9uZykgYWxpZ25fdXAgKGFyZ19z cGFjZSwgMTYpKTsKLSsJCQlwdWxvbmdlc3QgKGFsaWduX3VwIChhcmdfc3BhY2UsIDE2KSkpOwot IAotICAgLyogSW5pdGlhbGl6ZSB0aGUgaW50ZWdlciBhbmQgZmxvYXQgcmVnaXN0ZXIgcG9pbnRl cnMuICAqLwotICAgYXJncmVnID0gTUlQU19BMF9SRUdOVU07Ci1AQCAtNTk0MiwxMyArNTk0NCwx MyBAQCBtaXBzX282NF9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBz dHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICAgIGNvbnN0IGdkYl9ieXRlICp2YWw7Ci0gICAg ICAgc3RydWN0IHZhbHVlICphcmcgPSBhcmdzW2FyZ251bV07Ci0gICAgICAgc3RydWN0IHR5cGUg KmFyZ190eXBlID0gY2hlY2tfdHlwZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7Ci0tICAgICAgaW50 IGxlbiA9IFRZUEVfTEVOR1RIIChhcmdfdHlwZSk7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSBUWVBF X0xFTkdUSCAoYXJnX3R5cGUpOwotICAgICAgIGVudW0gdHlwZV9jb2RlIHR5cGVjb2RlID0gVFlQ RV9DT0RFIChhcmdfdHlwZSk7Ci0gCi0gICAgICAgaWYgKG1pcHNfZGVidWcpCi0gCWZwcmludGZf dW5maWx0ZXJlZCAoZ2RiX3N0ZGxvZywKLS0JCQkgICAgIm1pcHNfbzY0X3B1c2hfZHVtbXlfY2Fs bDogJWQgbGVuPSVkIHR5cGU9JWQiLAotLQkJCSAgICBhcmdudW0gKyAxLCBsZW4sIChpbnQpIHR5 cGVjb2RlKTsKLSsJCQkgICAgIm1pcHNfbzY0X3B1c2hfZHVtbXlfY2FsbDogJWQgbGVuPSVzIHR5 cGU9JWQiLAotKwkJCSAgICBhcmdudW0gKyAxLCBwbG9uZ2VzdCAobGVuKSwgKGludCkgdHlwZWNv ZGUpOwotIAotICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwotIAotZGlmZiAtLWdp dCBhL2dkYi9tbjEwMzAwLXRkZXAuYyBiL2dkYi9tbjEwMzAwLXRkZXAuYwotLS0tIGEvZ2RiL21u MTAzMDAtdGRlcC5jCi0rKysgYi9nZGIvbW4xMDMwMC10ZGVwLmMKLUBAIC0xMTk3LDcgKzExOTcs NyBAQCBtbjEwMzAwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0g ICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJj aCk7Ci0gICBjb25zdCBpbnQgcHVzaF9zaXplID0gcmVnaXN0ZXJfc2l6ZSAoZ2RiYXJjaCwgRV9Q Q19SRUdOVU0pOwotICAgaW50IHJlZ3NfdXNlZDsKLS0gIGludCBsZW4sIGFyZ19sZW47IAotKyAg TE9OR0VTVCBsZW4sIGFyZ19sZW47IAotICAgaW50IHN0YWNrX29mZnNldCA9IDA7Ci0gICBpbnQg YXJnbnVtOwotICAgY29uc3QgZ2RiX2J5dGUgKnZhbDsKLWRpZmYgLS1naXQgYS9nZGIvcHBjLXN5 c3YtdGRlcC5jIGIvZ2RiL3BwYy1zeXN2LXRkZXAuYwotLS0tIGEvZ2RiL3BwYy1zeXN2LXRkZXAu YwotKysrIGIvZ2RiL3BwYy1zeXN2LXRkZXAuYwotQEAgLTY5LDcgKzY5LDcgQEAgcHBjX3N5c3Zf YWJpX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIHN0cnVjdCB2YWx1 ZSAqZnVuY3Rpb24sCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0 ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBpbnQgb3BlbmNsX2FiaSA9IHBwY19zeXN2X3VzZV9vcGVu Y2xfYWJpICh2YWx1ZV90eXBlIChmdW5jdGlvbikpOwotICAgVUxPTkdFU1Qgc2F2ZWRfc3A7Ci0t ICBpbnQgYXJnc3BhY2UgPSAwOwkJLyogMCBpcyBhbiBpbml0aWFsIHdyb25nIGd1ZXNzLiAgKi8K LSsgIExPTkdFU1QgYXJnc3BhY2UgPSAwOwkJLyogMCBpcyBhbiBpbml0aWFsIHdyb25nIGd1ZXNz LiAgKi8KLSAgIGludCB3cml0ZV9wYXNzOwotIAotICAgZ2RiX2Fzc2VydCAodGRlcC0+d29yZHNp emUgPT0gNCk7Ci1AQCAtMTAwLDkgKzEwMCw5IEBAIHBwY19zeXN2X2FiaV9wdXNoX2R1bW15X2Nh bGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAg ICAgIC8qIE5leHQgYXZhaWxhYmxlIHZlY3RvciByZWdpc3RlciBmb3IgdmVjdG9yIGFyZ3VtZW50 cy4gICovCi0gICAgICAgaW50IHZyZWcgPSAyOwotICAgICAgIC8qIEFyZ3VtZW50cyBzdGFydCBh Ym92ZSB0aGUgIkxSIHNhdmUgd29yZCIgYW5kICJCYWNrIGNoYWluIi4gICovCi0tICAgICAgaW50 IGFyZ29mZnNldCA9IDIgKiB0ZGVwLT53b3Jkc2l6ZTsKLSsgICAgICBMT05HRVNUIGFyZ29mZnNl dCA9IDIgKiB0ZGVwLT53b3Jkc2l6ZTsKLSAgICAgICAvKiBTdHJ1Y3R1cmVzIHN0YXJ0IGFmdGVy IHRoZSBhcmd1bWVudHMuICAqLwotLSAgICAgIGludCBzdHJ1Y3RvZmZzZXQgPSBhcmdvZmZzZXQg KyBhcmdzcGFjZTsKLSsgICAgICBMT05HRVNUIHN0cnVjdG9mZnNldCA9IGFyZ29mZnNldCArIGFy Z3NwYWNlOwotIAotICAgICAgIC8qIElmIHRoZSBmdW5jdGlvbiBpcyByZXR1cm5pbmcgYSBgc3Ry dWN0JywgdGhlbiB0aGUgZmlyc3Qgd29yZAotICAgICAgICAgICh3aGljaCB3aWxsIGJlIHBhc3Nl ZCBpbiByMykgaXMgdXNlZCBmb3Igc3RydWN0IHJldHVybgotQEAgLTEyMSw3ICsxMjEsNyBAQCBw cGNfc3lzdl9hYmlfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3Ry dWN0IHZhbHVlICpmdW5jdGlvbiwKLSAJewotIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1th cmdub107Ci0gCSAgc3RydWN0IHR5cGUgKnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBl IChhcmcpKTsKLS0JICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotKwkgIHNzaXplX3Qg bGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotIAkgIGNvbnN0IGJmZF9ieXRlICp2YWwgPSB2YWx1 ZV9jb250ZW50cyAoYXJnKTsKLSAKLSAJICBpZiAoVFlQRV9DT0RFICh0eXBlKSA9PSBUWVBFX0NP REVfRkxUICYmIGxlbiA8PSA4Ci1AQCAtMTI0NywxMSArMTI0NywxMSBAQCBzdHJ1Y3QgcHBjNjRf c3lzdl9hcmdwb3MKLSAKLSBzdGF0aWMgdm9pZAotIHBwYzY0X3N5c3ZfYWJpX3B1c2hfdmFsIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLS0JCQkgY29uc3QgYmZkX2J5dGUgKnZhbCwgaW50IGxl biwgaW50IGFsaWduLAotKwkJCSBjb25zdCBiZmRfYnl0ZSAqdmFsLCBzc2l6ZV90IGxlbiwgaW50 IGFsaWduLAotIAkJCSBzdHJ1Y3QgcHBjNjRfc3lzdl9hcmdwb3MgKmFyZ3BvcykKLSB7Ci0gICBz dHJ1Y3QgZ2RiYXJjaF90ZGVwICp0ZGVwID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKTsKLS0gIGlu dCBvZmZzZXQgPSAwOwotKyAgTE9OR0VTVCBvZmZzZXQgPSAwOwotIAotICAgLyogRW5mb3JjZSBh bGlnbm1lbnQgb2Ygc3RhY2sgbG9jYXRpb24sIGlmIHJlcXVlc3RlZC4gICovCi0gICBpZiAoYWxp Z24gPiB0ZGVwLT53b3Jkc2l6ZSkKLUBAIC0xMjg4LDcgKzEyODgsNyBAQCBwcGM2NF9zeXN2X2Fi aV9wdXNoX3ZhbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICAgIHsKLSAgICAgICBpZiAo YXJncG9zLT5yZWdjYWNoZSAmJiBhcmdwb3MtPmdyZWcgPD0gMTApCi0gCWFyZ3Bvcy0+cmVnY2Fj aGUtPmNvb2tlZF93cml0ZV9wYXJ0Ci0tCSAgKHRkZXAtPnBwY19ncDBfcmVnbnVtICsgYXJncG9z LT5ncmVnLCBvZmZzZXQsIGxlbiwgdmFsKTsKLSsJICAodGRlcC0+cHBjX2dwMF9yZWdudW0gKyBh cmdwb3MtPmdyZWcsIG9mZnNldCwgKExPTkdFU1QpIGxlbiwgdmFsKTsKLSAgICAgICBhcmdwb3Mt PmdyZWcrKzsKLSAgICAgfQotIH0KLUBAIC0xMzQ3LDcgKzEzNDcsNyBAQCBwcGM2NF9zeXN2X2Fi aV9wdXNoX2ZyZWcgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAotICAgICAgIGlmIChhcmdwb3Mt PnJlZ2NhY2hlICYmIGFyZ3Bvcy0+ZnJlZyA8PSAxMykKLSAJewotIAkgIGludCByZWdudW0gPSB0 ZGVwLT5wcGNfZnAwX3JlZ251bSArIGFyZ3Bvcy0+ZnJlZzsKLS0JICBpbnQgb2Zmc2V0ID0gMDsK LSsJICBMT05HRVNUIG9mZnNldCA9IDA7Ci0gCi0gCSAgaWYgKGdkYmFyY2hfYnl0ZV9vcmRlciAo Z2RiYXJjaCkgPT0gQkZEX0VORElBTl9CSUcpCi0gCSAgICBvZmZzZXQgPSA4IC0gVFlQRV9MRU5H VEggKHR5cGUpOwotQEAgLTE3OTcsNyArMTc5Nyw3IEBAIHBwYzY0X3N5c3ZfYWJpX3JldHVybl92 YWx1ZV9iYXNlIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnZhbHR5cGUs Ci0gICAgICAgJiYgVFlQRV9DT0RFICh2YWx0eXBlKSA9PSBUWVBFX0NPREVfREVDRkxPQVQpCi0g ICAgIHsKLSAgICAgICBpbnQgcmVnbnVtID0gdGRlcC0+cHBjX2ZwMF9yZWdudW0gKyAxICsgaW5k ZXg7Ci0tICAgICAgaW50IG9mZnNldCA9IDA7Ci0rICAgICAgTE9OR0VTVCBvZmZzZXQgPSAwOwot IAotICAgICAgIGlmIChnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpID09IEJGRF9FTkRJQU5f QklHKQotIAlvZmZzZXQgPSA4IC0gVFlQRV9MRU5HVEggKHZhbHR5cGUpOwotQEAgLTE4NzMsNyAr MTg3Myw3IEBAIHBwYzY0X3N5c3ZfYWJpX3JldHVybl92YWx1ZV9iYXNlIChzdHJ1Y3QgZ2RiYXJj aCAqZ2RiYXJjaCwgc3RydWN0IHR5cGUgKnZhbHR5cGUsCi0gICAgICAgJiYgVFlQRV9DT0RFICh2 YWx0eXBlKSA9PSBUWVBFX0NPREVfQVJSQVkgJiYgVFlQRV9WRUNUT1IgKHZhbHR5cGUpKQotICAg ICB7Ci0gICAgICAgaW50IHJlZ251bSA9IHRkZXAtPnBwY19ncDBfcmVnbnVtICsgMyArIGluZGV4 OwotLSAgICAgIGludCBvZmZzZXQgPSAwOwotKyAgICAgIExPTkdFU1Qgb2Zmc2V0ID0gMDsKLSAK LSAgICAgICBpZiAoZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKSA9PSBCRkRfRU5ESUFOX0JJ RykKLSAJb2Zmc2V0ID0gOCAtIFRZUEVfTEVOR1RIICh2YWx0eXBlKTsKLUBAIC0xOTgxLDcgKzE5 ODEsOCBAQCBwcGM2NF9zeXN2X2FiaV9yZXR1cm5fdmFsdWUgKHN0cnVjdCBnZGJhcmNoICpnZGJh cmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotICAgICAgICYmIFRZUEVfTEVOR1RIIChUWVBF X1RBUkdFVF9UWVBFICh2YWx0eXBlKSkgPT0gMSkKLSAgICAgewotICAgICAgIGludCByZWdudW0g PSB0ZGVwLT5wcGNfZ3AwX3JlZ251bSArIDM7Ci0tICAgICAgaW50IG9mZnNldCA9IChyZWdpc3Rl cl9zaXplIChnZGJhcmNoLCByZWdudW0pIC0gVFlQRV9MRU5HVEggKHZhbHR5cGUpKTsKLSsgICAg ICBMT05HRVNUIG9mZnNldAotKwk9IChyZWdpc3Rlcl9zaXplIChnZGJhcmNoLCByZWdudW0pIC0g VFlQRV9MRU5HVEggKHZhbHR5cGUpKTsKLSAKLSAgICAgICBpZiAod3JpdGVidWYgIT0gTlVMTCkK LSAJcmVnY2FjaGUtPmNvb2tlZF93cml0ZV9wYXJ0IChyZWdudW0sIG9mZnNldCwgVFlQRV9MRU5H VEggKHZhbHR5cGUpLAotZGlmZiAtLWdpdCBhL2dkYi9ybDc4LXRkZXAuYyBiL2dkYi9ybDc4LXRk ZXAuYwotLS0tIGEvZ2RiL3JsNzgtdGRlcC5jCi0rKysgYi9nZGIvcmw3OC10ZGVwLmMKLUBAIC0x MzQ3LDggKzEzNDcsOCBAQCBybDc4X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdk YmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBmb3IgKGkgPSBuYXJncyAtIDE7IGkg Pj0gMDsgaS0tKQotICAgICB7Ci0gICAgICAgc3RydWN0IHR5cGUgKnZhbHVlX3R5cGUgPSB2YWx1 ZV9lbmNsb3NpbmdfdHlwZSAoYXJnc1tpXSk7Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RI ICh2YWx1ZV90eXBlKTsKLS0gICAgICBpbnQgY29udGFpbmVyX2xlbiA9IChsZW4gKyAxKSAmIH4x OwotKyAgICAgIExPTkdFU1QgbGVuID0gVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUpOwotKyAgICAg IExPTkdFU1QgY29udGFpbmVyX2xlbiA9IChsZW4gKyAxKSAmIH4xOwotIAotICAgICAgIHNwIC09 IGNvbnRhaW5lcl9sZW47Ci0gICAgICAgd3JpdGVfbWVtb3J5IChybDc4X21ha2VfZGF0YV9hZGRy ZXNzIChzcCksCi1kaWZmIC0tZ2l0IGEvZ2RiL3JzNjAwMC1haXgtdGRlcC5jIGIvZ2RiL3JzNjAw MC1haXgtdGRlcC5jCi0tLS0gYS9nZGIvcnM2MDAwLWFpeC10ZGVwLmMKLSsrKyBiL2dkYi9yczYw MDAtYWl4LXRkZXAuYwotQEAgLTI5MSw5ICsyOTEsOSBAQCByczYwMDBfcHVzaF9kdW1teV9jYWxs IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIHN0 cnVjdCBnZGJhcmNoX3RkZXAgKnRkZXAgPSBnZGJhcmNoX3RkZXAgKGdkYmFyY2gpOwotICAgZW51 bSBiZmRfZW5kaWFuIGJ5dGVfb3JkZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwot ICAgaW50IGlpOwotLSAgaW50IGxlbiA9IDA7Ci0rICBMT05HRVNUIGxlbiA9IDA7Ci0gICBpbnQg YXJnbm87CQkJLyogY3VycmVudCBhcmd1bWVudCBudW1iZXIgKi8KLS0gIGludCBhcmdieXRlczsJ CQkvKiBjdXJyZW50IGFyZ3VtZW50IGJ5dGUgKi8KLSsgIExPTkdFU1QgYXJnYnl0ZXM7CQkvKiBj dXJyZW50IGFyZ3VtZW50IGJ5dGUgKi8KLSAgIGdkYl9ieXRlIHRtcF9idWZmZXJbNTBdOwotICAg aW50IGZfYXJnbm8gPSAwOwkJLyogY3VycmVudCBmbG9hdGluZyBwb2ludCBhcmdubyAqLwotICAg aW50IHdvcmRzaXplID0gZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+d29yZHNpemU7Ci1AQCAtNDIx LDcgKzQyMSw3IEBAIHJhbl9vdXRfb2ZfcmVnaXN0ZXJzX2Zvcl9hcmd1bWVudHM6Ci0gCi0gICBp ZiAoKGFyZ25vIDwgbmFyZ3MpIHx8IGFyZ2J5dGVzKQotICAgICB7Ci0tICAgICAgaW50IHNwYWNl ID0gMCwgamo7Ci0rICAgICAgTE9OR0VTVCBzcGFjZSA9IDAsIGpqOwotIAotICAgICAgIGlmIChh cmdieXRlcykKLSAJewotZGlmZiAtLWdpdCBhL2dkYi9zY29yZS10ZGVwLmMgYi9nZGIvc2NvcmUt dGRlcC5jCi0tLS0gYS9nZGIvc2NvcmUtdGRlcC5jCi0rKysgYi9nZGIvc2NvcmUtdGRlcC5jCi1A QCAtNTE3LDcgKzUxNyw3IEBAIHNjb3JlX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gICBlbnVtIGJmZF9lbmRpYW4gYnl0 ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBpbnQgYXJnbnVtOwot ICAgaW50IGFyZ3JlZzsKLS0gIGludCBhcmdsZW4gPSAwOwotKyAgTE9OR0VTVCBhcmdsZW4gPSAw OwotICAgQ09SRV9BRERSIHN0YWNrX29mZnNldCA9IDA7Ci0gICBDT1JFX0FERFIgYWRkciA9IDA7 Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3NoLXRkZXAuYyBiL2dkYi9zaC10ZGVwLmMKLS0tLSBhL2dk Yi9zaC10ZGVwLmMKLSsrKyBiL2dkYi9zaC10ZGVwLmMKLUBAIC04MTIsNyArODEyLDcgQEAgc2hf c2tpcF9wcm9sb2d1ZSAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsIENPUkVfQUREUiBwYykKLSBz dGF0aWMgaW50Ci0gc2hfdXNlX3N0cnVjdF9jb252ZW50aW9uIChpbnQgcmVuZXNhc19hYmksIHN0 cnVjdCB0eXBlICp0eXBlKQotIHsKLS0gIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0r ICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgIGludCBuZWxlbSA9IFRZUEVf TkZJRUxEUyAodHlwZSk7Ci0gCi0gICAvKiBUaGUgUmVuZXNhcyBBQkkgcmV0dXJucyBhZ2dyZWdh dGUgdHlwZXMgYWx3YXlzIG9uIHN0YWNrLiAgKi8KLUBAIC05MTQsNyArOTE0LDcgQEAgc2hfZnJh bWVfYWxpZ24gKHN0cnVjdCBnZGJhcmNoICppZ25vcmUsIENPUkVfQUREUiBzcCkKLSAKLSAvKiBI ZWxwZXIgZnVuY3Rpb24gdG8ganVzdGlmeSB2YWx1ZSBpbiByZWdpc3RlciBhY2NvcmRpbmcgdG8g ZW5kaWFuZXNzLiAgKi8KLSBzdGF0aWMgY29uc3QgZ2RiX2J5dGUgKgotLXNoX2p1c3RpZnlfdmFs dWVfaW5fcmVnIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICp2YWwsIGlu dCBsZW4pCi0rc2hfanVzdGlmeV92YWx1ZV9pbl9yZWcgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo LCBzdHJ1Y3QgdmFsdWUgKnZhbCwgTE9OR0VTVCBsZW4pCi0gewotICAgc3RhdGljIGdkYl9ieXRl IHZhbGJ1Zls0XTsKLSAKLUBAIC0xMDc0LDcgKzEwNzQsOCBAQCBzaF9wdXNoX2R1bW15X2NhbGxf ZnB1IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHN0cnVjdCB0eXBlICp0eXBlOwotICAg Q09SRV9BRERSIHJlZ3ZhbDsKLSAgIGNvbnN0IGdkYl9ieXRlICp2YWw7Ci0tICBpbnQgbGVuLCBy ZWdfc2l6ZSA9IDA7Ci0rICBMT05HRVNUIGxlbjsKLSsgIGludCByZWdfc2l6ZSA9IDA7Ci0gICBp bnQgcGFzc19vbl9zdGFjayA9IDA7Ci0gICBpbnQgdHJlYXRfYXNfZmx0OwotICAgaW50IGxhc3Rf cmVnX2FyZyA9IElOVF9NQVg7Ci1AQCAtMTIxNiw3ICsxMjE3LDggQEAgc2hfcHVzaF9kdW1teV9j YWxsX25vZnB1IChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIHN0cnVjdCB0eXBlICp0eXBl OwotICAgQ09SRV9BRERSIHJlZ3ZhbDsKLSAgIGNvbnN0IGdkYl9ieXRlICp2YWw7Ci0tICBpbnQg bGVuLCByZWdfc2l6ZSA9IDA7Ci0rICBMT05HRVNUIGxlbjsKLSsgIGludCByZWdfc2l6ZSA9IDA7 Ci0gICBpbnQgcGFzc19vbl9zdGFjayA9IDA7Ci0gICBpbnQgbGFzdF9yZWdfYXJnID0gSU5UX01B WDsKLSAKLWRpZmYgLS1naXQgYS9nZGIvc3BhcmM2NC10ZGVwLmMgYi9nZGIvc3BhcmM2NC10ZGVw LmMKLS0tLSBhL2dkYi9zcGFyYzY0LXRkZXAuYwotKysrIGIvZ2RiL3NwYXJjNjQtdGRlcC5jCi1A QCAtMTIwNSw3ICsxMjA1LDcgQEAgc3BhcmM2NF8xNl9ieXRlX2FsaWduX3AgKHN0cnVjdCB0eXBl ICp0eXBlKQotIAotIHN0YXRpYyB2b2lkCi0gc3BhcmM2NF9zdG9yZV9mbG9hdGluZ19maWVsZHMg KHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLAotLQkJCSAgICAg ICBjb25zdCBnZGJfYnl0ZSAqdmFsYnVmLCBpbnQgZWxlbWVudCwgaW50IGJpdHBvcykKLSsJCQkg ICAgICAgY29uc3QgZ2RiX2J5dGUgKnZhbGJ1ZiwgaW50IGVsZW1lbnQsIExPTkdFU1QgYml0cG9z KQotIHsKLSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoID0gcmVnY2FjaGUtPmFyY2ggKCk7Ci0g ICBpbnQgbGVuID0gVFlQRV9MRU5HVEggKHR5cGUpOwotQEAgLTEyNjUsNyArMTI2NSw3IEBAIHNw YXJjNjRfc3RvcmVfZmxvYXRpbmdfZmllbGRzIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBz dHJ1Y3QgdHlwZSAqdHlwZSwKLSAgICAgICBmb3IgKGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0 eXBlKTsgaSsrKQotIAl7Ci0gCSAgc3RydWN0IHR5cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVm IChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsKLS0JICBpbnQgc3VicG9zID0gYml0cG9zICsg VFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpOwotKwkgIExPTkdFU1Qgc3VicG9zID0gYml0cG9z ICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpOwotIAotIAkgIHNwYXJjNjRfc3RvcmVfZmxv YXRpbmdfZmllbGRzIChyZWdjYWNoZSwgc3VidHlwZSwgdmFsYnVmLAotIAkJCQkJIGVsZW1lbnQs IHN1YnBvcyk7Ci1AQCAtMTI5Nyw3ICsxMjk3LDcgQEAgc3BhcmM2NF9zdG9yZV9mbG9hdGluZ19m aWVsZHMgKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIHN0cnVjdCB0eXBlICp0eXBlLAotIAot IHN0YXRpYyB2b2lkCi0gc3BhcmM2NF9leHRyYWN0X2Zsb2F0aW5nX2ZpZWxkcyAoc3RydWN0IHJl Z2NhY2hlICpyZWdjYWNoZSwgc3RydWN0IHR5cGUgKnR5cGUsCi0tCQkJCSBnZGJfYnl0ZSAqdmFs YnVmLCBpbnQgYml0cG9zKQotKwkJCQkgZ2RiX2J5dGUgKnZhbGJ1ZiwgTE9OR0VTVCBiaXRwb3Mp Ci0gewotICAgc3RydWN0IGdkYmFyY2ggKmdkYmFyY2ggPSByZWdjYWNoZS0+YXJjaCAoKTsKLSAK LUBAIC0xMzUzLDcgKzEzNTMsNyBAQCBzcGFyYzY0X2V4dHJhY3RfZmxvYXRpbmdfZmllbGRzIChz dHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLCBzdHJ1Y3QgdHlwZSAqdHlwZSwKLSAgICAgICBmb3Ig KGkgPSAwOyBpIDwgVFlQRV9ORklFTERTICh0eXBlKTsgaSsrKQotIAl7Ci0gCSAgc3RydWN0IHR5 cGUgKnN1YnR5cGUgPSBjaGVja190eXBlZGVmIChUWVBFX0ZJRUxEX1RZUEUgKHR5cGUsIGkpKTsK LS0JICBpbnQgc3VicG9zID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkpOwot KwkgIExPTkdFU1Qgc3VicG9zID0gYml0cG9zICsgVFlQRV9GSUVMRF9CSVRQT1MgKHR5cGUsIGkp OwotIAotIAkgIHNwYXJjNjRfZXh0cmFjdF9mbG9hdGluZ19maWVsZHMgKHJlZ2NhY2hlLCBzdWJ0 eXBlLCB2YWxidWYsIHN1YnBvcyk7Ci0gCX0KLUBAIC0xMzg3LDcgKzEzODcsNyBAQCBzcGFyYzY0 X3N0b3JlX2FyZ3VtZW50cyAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgaW50IG5hcmdzLAot ICAgZm9yIChpID0gMDsgaSA8IG5hcmdzOyBpKyspCi0gICAgIHsKLSAgICAgICBzdHJ1Y3QgdHlw ZSAqdHlwZSA9IHZhbHVlX3R5cGUgKGFyZ3NbaV0pOwotLSAgICAgIGludCBsZW4gPSBUWVBFX0xF TkdUSCAodHlwZSk7Ci0rICAgICAgTE9OR0VTVCBsZW4gPSBUWVBFX0xFTkdUSCAodHlwZSk7Ci0g Ci0gICAgICAgaWYgKHNwYXJjNjRfc3RydWN0dXJlX29yX3VuaW9uX3AgKHR5cGUpCi0gCSAgfHwg KHNwYXJjNjRfY29tcGxleF9mbG9hdGluZ19wICh0eXBlKSAmJiBsZW4gPT0gMzIpKQotQEAgLTE0 ODcsNyArMTQ4Nyw3IEBAIHNwYXJjNjRfc3RvcmVfYXJndW1lbnRzIChzdHJ1Y3QgcmVnY2FjaGUg KnJlZ2NhY2hlLCBpbnQgbmFyZ3MsCi0gICAgIHsKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFs YnVmID0gdmFsdWVfY29udGVudHMgKGFyZ3NbaV0pOwotICAgICAgIHN0cnVjdCB0eXBlICp0eXBl ID0gdmFsdWVfdHlwZSAoYXJnc1tpXSk7Ci0tICAgICAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0 eXBlKTsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAgICAgICBp bnQgcmVnbnVtID0gLTE7Ci0gICAgICAgZ2RiX2J5dGUgYnVmWzE2XTsKLSAKLWRpZmYgLS1naXQg YS9nZGIvc3B1LXRkZXAuYyBiL2dkYi9zcHUtdGRlcC5jCi0tLS0gYS9nZGIvc3B1LXRkZXAuYwot KysrIGIvZ2RiL3NwdS10ZGVwLmMKLUBAIC0xNDMyLDcgKzE0MzIsNyBAQCBzcHVfcHVzaF9kdW1t eV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwK LSAgICAgICBzdHJ1Y3QgdmFsdWUgKmFyZyA9IGFyZ3NbaV07Ci0gICAgICAgc3RydWN0IHR5cGUg KnR5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcpKTsKLSAgICAgICBjb25zdCBn ZGJfYnl0ZSAqY29udGVudHMgPSB2YWx1ZV9jb250ZW50cyAoYXJnKTsKLS0gICAgICBpbnQgbl9y ZWdzID0gYWxpZ25fdXAgKFRZUEVfTEVOR1RIICh0eXBlKSwgMTYpIC8gMTY7Ci0rICAgICAgTE9O R0VTVCBuX3JlZ3MgPSBhbGlnbl91cCAoVFlQRV9MRU5HVEggKHR5cGUpLCAxNikgLyAxNjsKLSAK LSAgICAgICAvKiBJZiB0aGUgYXJndW1lbnQgZG9lc24ndCB3aG9sbHkgZml0IGludG8gcmVnaXN0 ZXJzLCBpdCBhbmQKLSAJIGFsbCBzdWJzZXF1ZW50IGFyZ3VtZW50cyBnbyB0byB0aGUgc3RhY2su ICAqLwotQEAgLTE0NjQsNyArMTQ2NCw3IEBAIHNwdV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBn ZGJhcmNoICpnZGJhcmNoLCBzdHJ1Y3QgdmFsdWUgKmZ1bmN0aW9uLAotIAl7Ci0gCSAgc3RydWN0 IHZhbHVlICphcmcgPSBhcmdzW2ldOwotIAkgIHN0cnVjdCB0eXBlICp0eXBlID0gY2hlY2tfdHlw ZWRlZiAodmFsdWVfdHlwZSAoYXJnKSk7Ci0tCSAgaW50IGxlbiA9IFRZUEVfTEVOR1RIICh0eXBl KTsKLSsJICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh0eXBlKTsKLSAJICBpbnQgcHJlZmVy cmVkX3Nsb3Q7Ci0gCSAgCi0gCSAgaWYgKHNwdV9zY2FsYXJfdmFsdWVfcCAodHlwZSkpCi1kaWZm IC0tZ2l0IGEvZ2RiL3RpYzZ4LXRkZXAuYyBiL2dkYi90aWM2eC10ZGVwLmMKLS0tLSBhL2dkYi90 aWM2eC10ZGVwLmMKLSsrKyBiL2dkYi90aWM2eC10ZGVwLmMKLUBAIC04ODEsNyArODgxLDcgQEAg dGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0IHZh bHVlICpmdW5jdGlvbiwKLSAgIGludCBhcmdyZWcgPSAwOwotICAgaW50IGFyZ251bTsKLSAgIGlu dCBzdGFja19vZmZzZXQgPSA0OwotLSAgaW50IHJlZmVyZW5jZXNfb2Zmc2V0ID0gNDsKLSsgIExP TkdFU1QgcmVmZXJlbmNlc19vZmZzZXQgPSA0OwotICAgZW51bSBiZmRfZW5kaWFuIGJ5dGVfb3Jk ZXIgPSBnZGJhcmNoX2J5dGVfb3JkZXIgKGdkYmFyY2gpOwotICAgc3RydWN0IHR5cGUgKmZ1bmNf dHlwZSA9IHZhbHVlX3R5cGUgKGZ1bmN0aW9uKTsKLSAgIC8qIFRoZSBmaXJzdCBhcmcgcGFzc2Vk IG9uIHN0YWNrLiAgTW9zdGx5IHRoZSBmaXJzdCAxMCBhcmdzIGFyZSBwYXNzZWQgYnkKLUBAIC05 MTQsNyArOTE0LDcgQEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2Ri YXJjaCwgc3RydWN0IHZhbHVlICpmdW5jdGlvbiwKLSAgIC8qIE5vdyBtYWtlIHNwYWNlIG9uIHRo ZSBzdGFjayBmb3IgdGhlIGFyZ3MuICAqLwotICAgZm9yIChhcmdudW0gPSAwOyBhcmdudW0gPCBu YXJnczsgYXJnbnVtKyspCi0gICAgIHsKLS0gICAgICBpbnQgbGVuID0gYWxpZ25fdXAgKFRZUEVf TEVOR1RIICh2YWx1ZV90eXBlIChhcmdzW2FyZ251bV0pKSwgNCk7Ci0rICAgICAgTE9OR0VTVCBs ZW4gPSBhbGlnbl91cCAoVFlQRV9MRU5HVEggKHZhbHVlX3R5cGUgKGFyZ3NbYXJnbnVtXSkpLCA0 KTsKLSAgICAgICBpZiAoYXJnbnVtID49IDEwIC0gYXJncmVnKQotIAlyZWZlcmVuY2VzX29mZnNl dCArPSBsZW47Ci0gICAgICAgc3RhY2tfb2Zmc2V0ICs9IGxlbjsKLUBAIC05MzMsNyArOTMzLDcg QEAgdGljNnhfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwgc3RydWN0 IHZhbHVlICpmdW5jdGlvbiwKLSAgICAgICBjb25zdCBnZGJfYnl0ZSAqdmFsOwotICAgICAgIHN0 cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1thcmdudW1dOwotICAgICAgIHN0cnVjdCB0eXBlICphcmdf dHlwZSA9IGNoZWNrX3R5cGVkZWYgKHZhbHVlX3R5cGUgKGFyZykpOwotLSAgICAgIGludCBsZW4g PSBUWVBFX0xFTkdUSCAoYXJnX3R5cGUpOwotKyAgICAgIHNzaXplX3QgbGVuID0gVFlQRV9MRU5H VEggKGFyZ190eXBlKTsKLSAgICAgICBlbnVtIHR5cGVfY29kZSB0eXBlY29kZSA9IFRZUEVfQ09E RSAoYXJnX3R5cGUpOwotIAotICAgICAgIHZhbCA9IHZhbHVlX2NvbnRlbnRzIChhcmcpOwotQEAg LTEwODgsNyArMTA4OCw4IEBAIHRpYzZ4X3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2gg KmdkYmFyY2gsIHN0cnVjdCB2YWx1ZSAqZnVuY3Rpb24sCi0gCSAgICB9Ci0gCSAgZWxzZQotIAkg ICAgaW50ZXJuYWxfZXJyb3IgKF9fRklMRV9fLCBfX0xJTkVfXywKLS0JCQkgICAgXygidW5leHBl Y3RlZCBsZW5ndGggJWQgb2YgYXJnICVkIiksIGxlbiwgYXJnbnVtKTsKLSsJCQkgICAgXygidW5l eHBlY3RlZCBsZW5ndGggJXMgb2YgYXJnICVkIiksCi0rCQkJICAgIHBsb25nZXN0IChsZW4pLCBh cmdudW0pOwotIAotIAkgIGFkZHIgPSBzcCArIHN0YWNrX29mZnNldDsKLSAJICB3cml0ZV9tZW1v cnkgKGFkZHIsIHZhbCwgbGVuKTsKLWRpZmYgLS1naXQgYS9nZGIvdGlsZWd4LXRkZXAuYyBiL2dk Yi90aWxlZ3gtdGRlcC5jCi0tLS0gYS9nZGIvdGlsZWd4LXRkZXAuYwotKysrIGIvZ2RiL3RpbGVn eC10ZGVwLmMKLUBAIC0yODgsNyArMjg4LDcgQEAgdGlsZWd4X3B1c2hfZHVtbXlfY2FsbCAoc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICBDT1JFX0FERFIgc3RhY2tfZGVzdCA9IHNwOwotICAg aW50IGFyZ3JlZyA9IFRJTEVHWF9SMF9SRUdOVU07Ci0gICBpbnQgaSwgajsKLS0gIGludCB0eXBl bGVuLCBzbGFja2xlbjsKLSsgIExPTkdFU1QgdHlwZWxlbiwgc2xhY2tsZW47Ci0gICBzdGF0aWMg Y29uc3QgZ2RiX2J5dGUgZm91cl96ZXJvX3dvcmRzWzE2XSA9IHsgMCB9OwotIAotICAgLyogSWYg c3RydWN0X3JldHVybiBpcyAxLCB0aGVuIHRoZSBzdHJ1Y3QgcmV0dXJuIGFkZHJlc3Mgd2lsbAot ZGlmZiAtLWdpdCBhL2dkYi92ODUwLXRkZXAuYyBiL2dkYi92ODUwLXRkZXAuYwotLS0tIGEvZ2Ri L3Y4NTAtdGRlcC5jCi0rKysgYi9nZGIvdjg1MC10ZGVwLmMKLUBAIC0xMDE5LDcgKzEwMTksOCBA QCB2ODUwX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdkYmFyY2ggKmdkYmFyY2gsCi0gICBlbnVt IGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0g ICBpbnQgYXJncmVnOwotICAgaW50IGFyZ251bTsKLS0gIGludCBhcmdfc3BhY2UgPSAwOwotKyAg VUxPTkdFU1QgYXJnX3NwYWNlID0gMDsKLSsgIExPTkdFU1QgbGVuID0gMDsKLSAgIGludCBzdGFj a19vZmZzZXQ7Ci0gCi0gICBpZiAoZ2RiYXJjaF90ZGVwIChnZGJhcmNoKS0+YWJpID09IFY4NTBf QUJJX1JIODUwKQotQEAgLTEwNDcsNyArMTA0OCw3IEBAIHY4NTBfcHVzaF9kdW1teV9jYWxsIChz dHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgICAgIGluIGZvdXIgcmVnaXN0ZXJzIGF2YWlsYWJs ZS4gIExvb3AgdGhydSBhcmdzIGZyb20gZmlyc3QgdG8gbGFzdC4gICovCi0gICBmb3IgKGFyZ251 bSA9IDA7IGFyZ251bSA8IG5hcmdzOyBhcmdudW0rKykKLSAgICAgewotLSAgICAgIGludCBsZW47 Ci0rICAgICAgTE9OR0VTVCBsZW47Ci0gICAgICAgZ2RiX2J5dGUgKnZhbDsKLSAgICAgICBnZGJf Ynl0ZSB2YWxidWZbdjg1MF9yZWdfc2l6ZV07Ci0gCi1kaWZmIC0tZ2l0IGEvZ2RiL3ZheC10ZGVw LmMgYi9nZGIvdmF4LXRkZXAuYwotLS0tIGEvZ2RiL3ZheC10ZGVwLmMKLSsrKyBiL2dkYi92YXgt dGRlcC5jCi1AQCAtMTEwLDcgKzExMCw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCBy ZWdjYWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKLSAgIHN0cnVjdCBnZGJhcmNoICpnZGJhcmNo ID0gcmVnY2FjaGUtPmFyY2ggKCk7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9vcmRlciA9IGdk YmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0gICBnZGJfYnl0ZSBidWZbNF07Ci0tICBpbnQg Y291bnQgPSAwOwotKyAgTE9OR0VTVCBjb3VudCA9IDA7Ci0gICBpbnQgaTsKLSAKLSAgIC8qIFdl IGNyZWF0ZSBhbiBhcmd1bWVudCBsaXN0IG9uIHRoZSBzdGFjaywgYW5kIG1ha2UgdGhlIGFyZ3Vt ZW50Ci1AQCAtMTE5LDcgKzExOSw3IEBAIHZheF9zdG9yZV9hcmd1bWVudHMgKHN0cnVjdCByZWdj YWNoZSAqcmVnY2FjaGUsIGludCBuYXJncywKLSAgIC8qIFB1c2ggYXJndW1lbnRzIGluIHJldmVy c2Ugb3JkZXIuICAqLwotICAgZm9yIChpID0gbmFyZ3MgLSAxOyBpID49IDA7IGktLSkKLSAgICAg ewotLSAgICAgIGludCBsZW4gPSBUWVBFX0xFTkdUSCAodmFsdWVfZW5jbG9zaW5nX3R5cGUgKGFy Z3NbaV0pKTsKLSsgICAgICBMT05HRVNUIGxlbiA9IFRZUEVfTEVOR1RIICh2YWx1ZV9lbmNsb3Np bmdfdHlwZSAoYXJnc1tpXSkpOwotIAotICAgICAgIHNwIC09IChsZW4gKyAzKSAmIH4zOwotICAg ICAgIGNvdW50ICs9IChsZW4gKyAzKSAvIDQ7Ci1kaWZmIC0tZ2l0IGEvZ2RiL3hzdG9ybXkxNi10 ZGVwLmMgYi9nZGIveHN0b3JteTE2LXRkZXAuYwotLS0tIGEvZ2RiL3hzdG9ybXkxNi10ZGVwLmMK LSsrKyBiL2dkYi94c3Rvcm15MTYtdGRlcC5jCi1AQCAtMjMzLDggKzIzMywxMCBAQCB4c3Rvcm15 MTZfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAqZ2RiYXJjaCwKLSAgIGVudW0gYmZk X2VuZGlhbiBieXRlX29yZGVyID0gZ2RiYXJjaF9ieXRlX29yZGVyIChnZGJhcmNoKTsKLSAgIENP UkVfQUREUiBzdGFja19kZXN0ID0gc3A7Ci0gICBpbnQgYXJncmVnID0gRV8xU1RfQVJHX1JFR05V TTsKLS0gIGludCBpLCBqOwotLSAgaW50IHR5cGVsZW4sIHNsYWNrbGVuOwotKyAgaW50IGksIHNs YWNrbGVuOwotKyAgTE9OR0VTVCBqOwotKyAgTE9OR0VTVCB0eXBlbGVuOwotKyAgY29uc3QgZ2Ri X2J5dGUgKnZhbDsKLSAgIGdkYl9ieXRlIGJ1Zlt4c3Rvcm15MTZfcGNfc2l6ZV07Ci0gCi0gICAv KiBJZiByZXR1cm5pbmcgYSBzdHJ1Y3QgdXNpbmcgdGFyZ2V0IEFCSSBtZXRob2QsIHRoZW4gdGhl IHN0cnVjdCByZXR1cm4KLWRpZmYgLS1naXQgYS9nZGIveHRlbnNhLXRkZXAuYyBiL2dkYi94dGVu c2EtdGRlcC5jCi0tLS0gYS9nZGIveHRlbnNhLXRkZXAuYwotKysrIGIvZ2RiL3h0ZW5zYS10ZGVw LmMKLUBAIC0xNjE1LDggKzE2MTUsNyBAQCB4dGVuc2Ffc3RvcmVfcmV0dXJuX3ZhbHVlIChzdHJ1 Y3QgdHlwZSAqdHlwZSwKLSAKLSAgICAgICBpZiAobGVuID4gKGNhbGxzaXplID4gOCA/IDggOiAx NikpCi0gCWludGVybmFsX2Vycm9yIChfX0ZJTEVfXywgX19MSU5FX18sCi0tCQkJXygidW5pbXBs ZW1lbnRlZCBmb3IgdGhpcyBsZW5ndGg6ICVkIiksCi0tCQkJVFlQRV9MRU5HVEggKHR5cGUpKTsK LSsJCQlfKCJ1bmltcGxlbWVudGVkIGZvciB0aGlzIGxlbmd0aDogJWQiKSwgbGVuKTsKLSAgICAg ICBhcmVnID0gYXJyZWdfbnVtYmVyIChnZGJhcmNoLAotIAkJCSAgIGdkYmFyY2hfdGRlcCAoZ2Ri YXJjaCktPmEwX2Jhc2UgKyAyICsgY2FsbHNpemUsIHdiKTsKLSAKLUBAIC0xNjg5LDE4ICsxNjg4 LDE5IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpnZGJhcmNoLAot IAkJCUNPUkVfQUREUiBzdHJ1Y3RfYWRkcikKLSB7Ci0gICBlbnVtIGJmZF9lbmRpYW4gYnl0ZV9v cmRlciA9IGdkYmFyY2hfYnl0ZV9vcmRlciAoZ2RiYXJjaCk7Ci0tICBpbnQgc2l6ZSwgb25zdGFj a19zaXplOwotKyAgaW50IGk7Ci0rICBMT05HRVNUIHNpemUsIG9uc3RhY2tfc2l6ZTsKLSAgIGdk Yl9ieXRlICpidWYgPSAoZ2RiX2J5dGUgKikgYWxsb2NhICgxNik7Ci0gICBDT1JFX0FERFIgcmEs IHBzOwotICAgc3RydWN0IGFyZ3VtZW50X2luZm8KLSAgIHsKLSAgICAgY29uc3QgYmZkX2J5dGUg KmNvbnRlbnRzOwotLSAgICBpbnQgbGVuZ3RoOwotKyAgICBzc2l6ZV90IGxlbmd0aDsKLSAgICAg aW50IG9uc3RhY2s7CQkvKiBvbnN0YWNrID09IDAgPT4gaW4gcmVnICovCi0gICAgIGludCBhbGln bjsJCQkvKiBhbGlnbm1lbnQgKi8KLSAgICAgdW5pb24KLSAgICAgewotLSAgICAgIGludCBvZmZz ZXQ7CQkvKiBzdGFjayBvZmZzZXQgaWYgb24gc3RhY2suICAqLwotKyAgICAgIHNzaXplX3Qgb2Zm c2V0OwkJLyogc3RhY2sgb2Zmc2V0IGlmIG9uIHN0YWNrLiAgKi8KLSAgICAgICBpbnQgcmVnbm87 CQkvKiByZWdubyBpZiBpbiByZWdpc3Rlci4gICovCi0gICAgIH0gdTsKLSAgIH07Ci1AQCAtMTcy Myw5ICsxNzIzLDEwIEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVjdCBnZGJhcmNoICpn ZGJhcmNoLAotICAgICAgICAgewotIAkgIHN0cnVjdCB2YWx1ZSAqYXJnID0gYXJnc1tpXTsKLSAJ ICBzdHJ1Y3QgdHlwZSAqYXJnX3R5cGUgPSBjaGVja190eXBlZGVmICh2YWx1ZV90eXBlIChhcmcp KTsKLS0JICBmcHJpbnRmX3VuZmlsdGVyZWQgKGdkYl9zdGRsb2csICIlMmQ6ICVzICUzZCAiLCBp LAotLQkJCSAgICAgIGhvc3RfYWRkcmVzc190b19zdHJpbmcgKGFyZyksCi0tCQkJICAgICAgVFlQ RV9MRU5HVEggKGFyZ190eXBlKSk7Ci0rCSAgY29uc3QgY2hhciAqYXJnX3R5cGVfbGVuX3MgPSBw dWxvbmdlc3QgKFRZUEVfTEVOR1RIIChhcmdfdHlwZSkpOwotKwotKwkgIGZwcmludGZfdW5maWx0 ZXJlZCAoZ2RiX3N0ZGxvZywgIiUyZDogJXMgJXMgIiwgaSwKLSsJCQkgICAgICBob3N0X2FkZHJl c3NfdG9fc3RyaW5nIChhcmcpLCBhcmdfdHlwZV9sZW5fcyk7Ci0gCSAgc3dpdGNoIChUWVBFX0NP REUgKGFyZ190eXBlKSkKLSAJICAgIHsKLSAJICAgIGNhc2UgVFlQRV9DT0RFX0lOVDoKLUBAIC0x Nzk0LDggKzE3OTUsOCBAQCB4dGVuc2FfcHVzaF9kdW1teV9jYWxsIChzdHJ1Y3QgZ2RiYXJjaCAq Z2RiYXJjaCwKLSAJICBpbmZvLT5hbGlnbiA9IFRZUEVfTEVOR1RIIChidWlsdGluX3R5cGUgKGdk YmFyY2gpLT5idWlsdGluX2xvbmcpOwotIAkgIGJyZWFrOwotIAl9Ci0tICAgICAgaW5mby0+bGVu Z3RoID0gVFlQRV9MRU5HVEggKGFyZ190eXBlKTsKLSAgICAgICBpbmZvLT5jb250ZW50cyA9IHZh bHVlX2NvbnRlbnRzIChhcmcpOwotKyAgICAgIGluZm8tPmxlbmd0aCA9IFRZUEVfTEVOR1RIIChh cmdfdHlwZSk7Ci0gCi0gICAgICAgLyogQWxpZ24gc2l6ZSBhbmQgb25zdGFja19zaXplLiAgKi8K LSAgICAgICBzaXplID0gKHNpemUgKyBpbmZvLT5hbGlnbiAtIDEpICYgfihpbmZvLT5hbGlnbiAt IDEpOwotQEAgLTE4NDAsNyArMTg0MSw3IEBAIHh0ZW5zYV9wdXNoX2R1bW15X2NhbGwgKHN0cnVj dCBnZGJhcmNoICpnZGJhcmNoLAotIAotICAgICAgIGlmIChpbmZvLT5vbnN0YWNrKQotIAl7Ci0t CSAgaW50IG4gPSBpbmZvLT5sZW5ndGg7Ci0rCSAgc3NpemVfdCBuID0gaW5mby0+bGVuZ3RoOwot IAkgIENPUkVfQUREUiBvZmZzZXQgPSBzcCArIGluZm8tPnUub2Zmc2V0OwotIAotIAkgIC8qIE9k ZC1zaXplZCBzdHJ1Y3RzIGFyZSBhbGlnbmVkIHRvIHRoZSBsb3dlciBzaWRlIG9mIGEgbWVtb3J5 Ci1AQCAtMTg1Niw3ICsxODU3LDcgQEAgeHRlbnNhX3B1c2hfZHVtbXlfY2FsbCAoc3RydWN0IGdk YmFyY2ggKmdkYmFyY2gsCi0gCX0KLSAgICAgICBlbHNlCi0gCXsKLS0JICBpbnQgbiA9IGluZm8t Pmxlbmd0aDsKLSsJICBzc2l6ZV90IG4gPSBpbmZvLT5sZW5ndGg7Ci0gCSAgY29uc3QgYmZkX2J5 dGUgKmNwID0gaW5mby0+Y29udGVudHM7Ci0gCSAgaW50IHIgPSBpbmZvLT51LnJlZ25vOwotIAoK ZGlmZiAtLWdpdCBhL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaCBiL2dk Yi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUtdGVzdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMTczOGY1Yi4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3Mt MjVvZjI1LXRlc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw2MzggKzAsMCBAQAotRnJvbSBG RURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEZlZG9yYSBHREIg cGF0Y2hlcyA8aW52YWxpZEBlbWFpbC5jb20+Ci1EYXRlOiBGcmksIDI3IE9jdCAyMDE3IDIxOjA3 OjUwICswMjAwCi1TdWJqZWN0OiBnZGItcmhiejc5NTQyNC1iaXRwb3MtMjVvZjI1LXRlc3QucGF0 Y2gKLQotOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3NlIG9mZnNl dCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKLTs7IChSSCBCWiA3OTU0MjQpLgotOzs9cHVzaAotCi1o dHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0xMC9tc2cwMDIzMS5odG1s Ci0KLU9uIE1vbiwgMTUgT2N0IDIwMTIgMTU6MjU6NTUgKzAyMDAsIEphbiBLcmF0b2NodmlsIHdy b3RlOgotPiBJIGhhdmUgZmlsZWQgZm9yIGl0IG5vdzoKLT4gCUludmFsaWQgZGVidWcvIGFycmF5 IGJvdW5kcyB3Ly1mbm8tcmFuZ2UtY2hlY2sgYW5kIDMyLWJpdCB0YXJnZXQKLT4gCWh0dHA6Ly9n Y2MuZ251Lm9yZy9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9NTQ5MzQKLQotVGhlcmVmb3JlIGl0 IGxvb2tzIGFzIGEgdmFsaWQgZ2ZvcnRyYW4gRlNGIEdDQyBIRUFEIGJ1ZyBzbyBwcm92aWRlZAot YSBoYW5kLXBhdGNoZWQgLlMgZmlsZSBmb3IgaTM4NjsgcGF0Y2hlZCBHREIgUEFTU2VzIHdpdGgg aXQuCi0KLVRoYW5rcywKLUphbgotCi0yMDEyLTEwLTE1ICBTaWRkaGVzaCBQb3lhcmVrYXIgIDxz aWRkaGVzaEByZWRoYXQuY29tPgotCSAgICBKYW4gS3JhdG9jaHZpbCAgPGphbi5rcmF0b2Nodmls QHJlZGhhdC5jb20+Ci0KLQkqIGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5leHA6IE5ldyB0ZXN0 IGZpbGUuCi0JKiBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZjogTmV3IHRlc3QgZmlsZS4KLQkq IGdkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5TOiBOZXcgdGVzdCBmaWxlLgotCi1kaWZmIC0tZ2l0 IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuUyBiL2dkYi90ZXN0c3Vp dGUvZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLlMKLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Ci0tLS0g L2Rldi9udWxsCi0rKysgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5kcy5T Ci1AQCAtMCwwICsxLDUyOSBAQAotKy8qIENvcHlyaWdodCAyMDEyIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rICAgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLSsgICB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgotKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rCi0rICAg VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0rICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSsgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0rICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLSsKLSsgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyAgIGFsb25nIHdpdGggdGhp cyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+Lgot KwotKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBnZGIgdGVzdHN1aXRlLiAgKi8KLSsKLSsJ LmZpbGUJImFycmF5LWJvdW5kcy5mIgotKwkudGV4dAotKy5MdGV4dDA6Ci0rCS50eXBlCU1BSU5f XywgQGZ1bmN0aW9uCi0rTUFJTl9fOgotKy5MRkIwOgotKwkuZmlsZSAxICJnZGIuZm9ydHJhbi9h cnJheS1ib3VuZHMuZiIKLSsJIyBnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZjoxNgotKwkubG9j IDEgMTYgMAotKwkuY2ZpX3N0YXJ0cHJvYwotKyMgQkxPQ0sgMiBzZXE6MAotKyMgUFJFRDogRU5U UlkgKEZBTExUSFJVKQotKwlwdXNobAklZWJwCi0rLkxDRkkwOgotKwkuY2ZpX2RlZl9jZmFfb2Zm c2V0IDgKLSsJLmNmaV9vZmZzZXQgNSwgLTgKLSsJbW92bAklZXNwLCAlZWJwCi0rLkxDRkkxOgot KwkuY2ZpX2RlZl9jZmFfcmVnaXN0ZXIgNQotKwlzdWJsCSQ0MCwgJWVzcAotKy5MQkIyOgotKyMg U1VDQzogMyAoRkFMTFRIUlUpCi0rCSMgZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmY6MTgKLSsJ LmxvYyAxIDE4IDAKLSsJbW92bAkkLTEsICVlYXgKLSsjIEJMT0NLIDMgc2VxOjEKLSsjIFBSRUQ6 IDIgKEZBTExUSFJVKSA0IFsxMDAuMCVdIAotKy5MMzoKLSsJIyBnZGIuZm9ydHJhbi9hcnJheS1i b3VuZHMuZjoxOAotKwkubG9jIDEgMTggMCBpc19zdG10IDAgZGlzY3JpbWluYXRvciAxCi0rCXRl c3RsCSVlYXgsICVlYXgKLSsjIFNVQ0M6IDUgNCAoRkFMTFRIUlUpCi0rCWpnCS5MMgotKyMgQkxP Q0sgNCBzZXE6MgotKyMgUFJFRDogMyAoRkFMTFRIUlUpCi0rCSMgZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmY6MTgKLSsJLmxvYyAxIDE4IDAgZGlzY3JpbWluYXRvciAyCi0rCWxlYWwJMSglZWF4 KSwgJWVjeAotKwltb3ZsCS5MQzAsICVlZHgKLSsJbW92bAklZWR4LCAtMTYoJWVicCwlZWN4LDQp Ci0rCWFkZGwJJDEsICVlYXgKLSsjIFNVQ0M6IDMgWzEwMC4wJV0gCi0rCWptcAkuTDMKLSsjIEJM T0NLIDUgc2VxOjMKLSsjIFBSRUQ6IDMKLSsuTDI6Ci0rLkxCRTI6Ci0rCSMgZ2RiLmZvcnRyYW4v YXJyYXktYm91bmRzLmY6MTkKLSsJLmxvYyAxIDE5IDAgaXNfc3RtdCAxCi0rCW1vdmwJLTE2KCVl YnApLCAlZWF4Ci0rCW1vdmwJLTEyKCVlYnApLCAlZWR4Ci0rCW1vdmwJJWVheCwgLTI0KCVlYnAp Ci0rCW1vdmwJJWVkeCwgLTIwKCVlYnApCi0rCSMgZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmY6 MjAKLSsJLmxvYyAxIDIwIDAKLSsJbW92bAkkMCwgNCglZXNwKQotKwltb3ZsCSQwLCAoJWVzcCkK LSsjIFNVQ0M6Ci0rCWNhbGwJX2dmb3J0cmFuX3N0b3Bfc3RyaW5nCi0rCS5jZmlfZW5kcHJvYwot Ky5MRkUwOgotKwkuc2l6ZQlNQUlOX18sIC4tTUFJTl9fCi0rCS5nbG9ibAltYWluCi0rCS50eXBl CW1haW4sIEBmdW5jdGlvbgotK21haW46Ci0rLkxGQjE6Ci0rCSMgZ2RiLmZvcnRyYW4vYXJyYXkt Ym91bmRzLmY6MjEKLSsJLmxvYyAxIDIxIDAKLSsJLmNmaV9zdGFydHByb2MKLSsjIEJMT0NLIDIg c2VxOjAKLSsjIFBSRUQ6IEVOVFJZIChGQUxMVEhSVSkKLSsJcHVzaGwJJWVicAotKy5MQ0ZJMjoK LSsJLmNmaV9kZWZfY2ZhX29mZnNldCA4Ci0rCS5jZmlfb2Zmc2V0IDUsIC04Ci0rCW1vdmwJJWVz cCwgJWVicAotKy5MQ0ZJMzoKLSsJLmNmaV9kZWZfY2ZhX3JlZ2lzdGVyIDUKLSsJYW5kbAkkLTE2 LCAlZXNwCi0rCXN1YmwJJDE2LCAlZXNwCi0rCSMgZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmY6 MjEKLSsJLmxvYyAxIDIxIDAKLSsJbW92bAkxMiglZWJwKSwgJWVheAotKwltb3ZsCSVlYXgsIDQo JWVzcCkKLSsJbW92bAk4KCVlYnApLCAlZWF4Ci0rCW1vdmwJJWVheCwgKCVlc3ApCi0rCWNhbGwJ X2dmb3J0cmFuX3NldF9hcmdzCi0rCW1vdmwJJG9wdGlvbnMuMS4xODI0LCA0KCVlc3ApCi0rCW1v dmwJJDcsICglZXNwKQotKwljYWxsCV9nZm9ydHJhbl9zZXRfb3B0aW9ucwotKwljYWxsCU1BSU5f XwotKwltb3ZsCSQwLCAlZWF4Ci0rCWxlYXZlCi0rLkxDRkk0OgotKwkuY2ZpX3Jlc3RvcmUgNQot KwkuY2ZpX2RlZl9jZmEgNCwgNAotKyMgU1VDQzogRVhJVCBbMTAwLjAlXSAKLSsJcmV0Ci0rCS5j ZmlfZW5kcHJvYwotKy5MRkUxOgotKwkuc2l6ZQltYWluLCAuLW1haW4KLSsJLnNlY3Rpb24JLnJv ZGF0YQotKwkuYWxpZ24gNAotKwkudHlwZQlvcHRpb25zLjEuMTgyNCwgQG9iamVjdAotKwkuc2l6 ZQlvcHRpb25zLjEuMTgyNCwgMjgKLStvcHRpb25zLjEuMTgyNDoKLSsJLmxvbmcJNjgKLSsJLmxv bmcJMTAyMwotKwkubG9uZwkwCi0rCS5sb25nCTAKLSsJLmxvbmcJMQotKwkubG9uZwkxCi0rCS5s b25nCTAKLSsJLmFsaWduIDQKLSsuTEMwOgotKwkubG9uZwkxMTA5OTE3Njk2Ci0rCS50ZXh0Ci0r LkxldGV4dDA6Ci0rCS5zZWN0aW9uCS5kZWJ1Z19pbmZvLCIiLEBwcm9nYml0cwotKy5MZGVidWdf aW5mbzA6Ci0rCS5sb25nCTJmIC0gMWYJIyBMZW5ndGggb2YgQ29tcGlsYXRpb24gVW5pdCBJbmZv Ci0rMToKLSsJLnZhbHVlCTB4MgkjIERXQVJGIHZlcnNpb24gbnVtYmVyCi0rCS5sb25nCS5MZGVi dWdfYWJicmV2MAkjIE9mZnNldCBJbnRvIEFiYnJldi4gU2VjdGlvbgotKwkuYnl0ZQkweDQJIyBQ b2ludGVyIFNpemUgKGluIGJ5dGVzKQotK2RpZWI6CS51bGViMTI4IDB4MQkjIChESUUgKDB4Yikg RFdfVEFHX2NvbXBpbGVfdW5pdCkKLSsJLmxvbmcJLkxBU0Y1CSMgRFdfQVRfcHJvZHVjZXI6ICJH TlUgRm9ydHJhbiA0LjguMCAyMDEyMTAxNSAoZXhwZXJpbWVudGFsKSAtZmZpeGVkLWZvcm0gLW0z MiAtbXR1bmU9Z2VuZXJpYyAtbWFyY2g9eDg2LTY0IC1nIC1nZHdhcmYtMiAtZmludHJpbnNpYy1t b2R1bGVzLXBhdGggLi4uL2djY2hlYWQtcm9vdC9saWIvZ2NjL3g4Nl82NC11bmtub3duLWxpbnV4 LWdudS80LjguMC9maW5jbHVkZSIKLSsJLmJ5dGUJMHhlCSMgRFdfQVRfbGFuZ3VhZ2UKLSsJLmJ5 dGUJMHgyCSMgRFdfQVRfaWRlbnRpZmllcl9jYXNlCi0rCS5sb25nCS5MQVNGNgkjIERXX0FUX25h bWU6ICJnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZiIKLSsJLmxvbmcJLkxBU0Y3CSMgRFdfQVRf Y29tcF9kaXI6ICIiCi0rCS5sb25nCS5MdGV4dDAJIyBEV19BVF9sb3dfcGMKLSsJLmxvbmcJLkxl dGV4dDAJIyBEV19BVF9oaWdoX3BjCi0rCS5sb25nCS5MZGVidWdfbGluZTAJIyBEV19BVF9zdG10 X2xpc3QKLStkaWUyNjoJLnVsZWIxMjggMHgyCSMgKERJRSAoMHgyNikgRFdfVEFHX3N1YnByb2dy YW0pCi0rCS5sb25nCS5MQVNGOAkjIERXX0FUX25hbWU6ICJNQUlOX18iCi0rCS5ieXRlCTB4MQkj IERXX0FUX2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4 MTAJIyBEV19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJLkxGQjAJIyBEV19BVF9sb3dfcGMKLSsJLmxv bmcJLkxGRTAJIyBEV19BVF9oaWdoX3BjCi0rCS5sb25nCS5MTFNUMAkjIERXX0FUX2ZyYW1lX2Jh c2UKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfR05VX2FsbF90YWlsX2NhbGxfc2l0ZXMKLSsJLmJ5dGUJ MHgxCSMgRFdfQVRfbWFpbl9zdWJwcm9ncmFtCi0rCS5ieXRlCTB4MgkjIERXX0FUX2NhbGxpbmdf Y29udmVudGlvbgotKwkubG9uZwlkaWU2NiAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF9zaWJsaW5n Ci0rZGllNDA6CS51bGViMTI4IDB4MwkjIChESUUgKDB4NDApIERXX1RBR192YXJpYWJsZSkKLSsJ LmFzY2lpICJiYXJcMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmls ZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4MTEJIyBEV19BVF9kZWNs X2xpbmUKLSsJLmxvbmcJZGllNjYgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRfdHlwZQotKwkuYnl0 ZQkweDIJIyBEV19BVF9sb2NhdGlvbgotKwkuYnl0ZQkweDkxCSMgRFdfT1BfZmJyZWcKLSsJLnNs ZWIxMjggLTI0Ci0rZGllNGU6CS51bGViMTI4IDB4MwkjIChESUUgKDB4NGUpIERXX1RBR192YXJp YWJsZSkKLSsJLmFzY2lpICJmb29cMCIJIyBEV19BVF9uYW1lCi0rCS5ieXRlCTB4MQkjIERXX0FU X2RlY2xfZmlsZSAoZ2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4MTAJIyBE V19BVF9kZWNsX2xpbmUKLSsJLmxvbmcJZGllODggLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRfdHlw ZQotKwkuYnl0ZQkweDIJIyBEV19BVF9sb2NhdGlvbgotKwkuYnl0ZQkweDkxCSMgRFdfT1BfZmJy ZWcKLSsJLnNsZWIxMjggLTMyCi0rZGllNWM6CS51bGViMTI4IDB4NAkjIChESUUgKDB4NWMpIERX X1RBR19sZXhpY2FsX2Jsb2NrKQotKwkubG9uZwkuTEJCMgkjIERXX0FUX2xvd19wYwotKwkubG9u ZwkuTEJFMgkjIERXX0FUX2hpZ2hfcGMKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBE SUUgMHgyNgotK2RpZTY2OgkudWxlYjEyOCAweDUJIyAoRElFICgweDY2KSBEV19UQUdfYXJyYXlf dHlwZSkKLSsJLmxvbmcJZGllODEgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRfdHlwZQotKwkubG9u ZwlkaWU3YSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF9zaWJsaW5nCi0rZGllNmY6CS51bGViMTI4 IDB4NgkjIChESUUgKDB4NmYpIERXX1RBR19zdWJyYW5nZV90eXBlKQotKwkubG9uZwlkaWU3YSAt IC5MZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0rI2lmIDAKLSsJLmxvbmcJMHhmZmZmZmZmZgkj IERXX0FUX2xvd2VyX2JvdW5kCi0rCS5ieXRlCTAJIyBEV19BVF91cHBlcl9ib3VuZAotKyNlbHNl Ci0rCS5xdWFkCTB4ZmZmZmZmZmVmZmZmZmZmZgkjIERXX0FUX2xvd2VyX2JvdW5kCi0rCS5xdWFk CTB4ZmZmZmZmZmYwMDAwMDAwMAkjIERXX0FUX3VwcGVyX2JvdW5kCi0rI2VuZGlmCi0rCS5ieXRl CTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4NjYKLStkaWU3YToJLnVsZWIxMjggMHg3CSMg KERJRSAoMHg3YSkgRFdfVEFHX2Jhc2VfdHlwZSkKLSsjaWYgMAotKwkuYnl0ZQkweDQJIyBEV19B VF9ieXRlX3NpemUKLSsjZWxzZQotKwkuYnl0ZQkweDgJIyBEV19BVF9ieXRlX3NpemUKLSsjZW5k aWYKLSsJLmJ5dGUJMHg1CSMgRFdfQVRfZW5jb2RpbmcKLSsJLmxvbmcJLkxBU0YwCSMgRFdfQVRf bmFtZTogImludGVnZXIoa2luZD00KSIKLStkaWU4MToJLnVsZWIxMjggMHg3CSMgKERJRSAoMHg4 MSkgRFdfVEFHX2Jhc2VfdHlwZSkKLSsJLmJ5dGUJMHg0CSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5i eXRlCTB4NAkjIERXX0FUX2VuY29kaW5nCi0rCS5sb25nCS5MQVNGMQkjIERXX0FUX25hbWU6ICJy ZWFsKGtpbmQ9NCkiCi0rZGllODg6CS51bGViMTI4IDB4NQkjIChESUUgKDB4ODgpIERXX1RBR19h cnJheV90eXBlKQotKwkubG9uZwlkaWU4MSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0r CS5sb25nCWRpZTk5IC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3NpYmxpbmcKLStkaWU5MToJLnVs ZWIxMjggMHg4CSMgKERJRSAoMHg5MSkgRFdfVEFHX3N1YnJhbmdlX3R5cGUpCi0rCS5sb25nCWRp ZTdhIC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3R5cGUKLSsjaWYgMAotKwkuYnl0ZQkwCSMgRFdf QVRfbG93ZXJfYm91bmQKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfdXBwZXJfYm91bmQKLSsjZWxzZQot KwkucXVhZAkweDEwMDAwMDAwMAkjIERXX0FUX2xvd2VyX2JvdW5kCi0rCS5xdWFkCTB4MTAwMDAw MDAxCSMgRFdfQVRfdXBwZXJfYm91bmQKLSsjZW5kaWYKLSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGls ZHJlbiBvZiBESUUgMHg4OAotK2RpZTk5OgkudWxlYjEyOCAweDkJIyAoRElFICgweDk5KSBEV19U QUdfc3VicHJvZ3JhbSkKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZXh0ZXJuYWwKLSsJLmxvbmcJLkxB U0Y5CSMgRFdfQVRfbmFtZTogIm1haW4iCi0rCS5ieXRlCTB4MQkjIERXX0FUX2RlY2xfZmlsZSAo Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmYpCi0rCS5ieXRlCTB4MTUJIyBEV19BVF9kZWNsX2xp bmUKLSsJLmxvbmcJZGllN2EgLSAuTGRlYnVnX2luZm8wCSMgRFdfQVRfdHlwZQotKwkubG9uZwku TEZCMQkjIERXX0FUX2xvd19wYwotKwkubG9uZwkuTEZFMQkjIERXX0FUX2hpZ2hfcGMKLSsJLmxv bmcJLkxMU1QxCSMgRFdfQVRfZnJhbWVfYmFzZQotKwkuYnl0ZQkweDEJIyBEV19BVF9HTlVfYWxs X3RhaWxfY2FsbF9zaXRlcwotKwkubG9uZwlkaWVkNCAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF9z aWJsaW5nCi0rZGllYjY6CS51bGViMTI4IDB4YQkjIChESUUgKDB4YjYpIERXX1RBR19mb3JtYWxf cGFyYW1ldGVyKQotKwkubG9uZwkuTEFTRjIJIyBEV19BVF9uYW1lOiAiYXJnYyIKLSsJLmJ5dGUJ MHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZikKLSsJLmJ5 dGUJMHgxNQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwlkaWVkNCAtIC5MZGVidWdfaW5mbzAJ IyBEV19BVF90eXBlCi0rCS5ieXRlCTB4MgkjIERXX0FUX2xvY2F0aW9uCi0rCS5ieXRlCTB4OTEJ IyBEV19PUF9mYnJlZwotKwkuc2xlYjEyOCAwCi0rZGllYzQ6CS51bGViMTI4IDB4YQkjIChESUUg KDB4YzQpIERXX1RBR19mb3JtYWxfcGFyYW1ldGVyKQotKwkubG9uZwkuTEFTRjMJIyBEV19BVF9u YW1lOiAiYXJndiIKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfZGVjbF9maWxlIChnZGIuZm9ydHJhbi9h cnJheS1ib3VuZHMuZikKLSsJLmJ5dGUJMHgxNQkjIERXX0FUX2RlY2xfbGluZQotKwkubG9uZwlk aWVkOSAtIC5MZGVidWdfaW5mbzAJIyBEV19BVF90eXBlCi0rCS5ieXRlCTB4MwkjIERXX0FUX2xv Y2F0aW9uCi0rCS5ieXRlCTB4OTEJIyBEV19PUF9mYnJlZwotKwkuc2xlYjEyOCA0Ci0rCS5ieXRl CTB4NgkjIERXX09QX2RlcmVmCi0rCS5ieXRlCTAJIyBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4 OTkKLStkaWVkNDoJLnVsZWIxMjggMHhiCSMgKERJRSAoMHhkNCkgRFdfVEFHX2NvbnN0X3R5cGUp Ci0rCS5sb25nCWRpZTdhIC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FUX3R5cGUKLStkaWVkOToJLnVs ZWIxMjggMHhjCSMgKERJRSAoMHhkOSkgRFdfVEFHX3BvaW50ZXJfdHlwZSkKLSsJLmJ5dGUJMHg0 CSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5sb25nCWRpZWRmIC0gLkxkZWJ1Z19pbmZvMAkjIERXX0FU X3R5cGUKLStkaWVkZjoJLnVsZWIxMjggMHg3CSMgKERJRSAoMHhkZikgRFdfVEFHX2Jhc2VfdHlw ZSkKLSsJLmJ5dGUJMHgxCSMgRFdfQVRfYnl0ZV9zaXplCi0rCS5ieXRlCTB4OAkjIERXX0FUX2Vu Y29kaW5nCi0rCS5sb25nCS5MQVNGNAkjIERXX0FUX25hbWU6ICJjaGFyYWN0ZXIoa2luZD0xKSIK LSsJLmJ5dGUJMAkjIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHhiCi0rMjoKLSsJLnNlY3Rpb24J LmRlYnVnX2FiYnJldiwiIixAcHJvZ2JpdHMKLSsuTGRlYnVnX2FiYnJldjA6Ci0rCS51bGViMTI4 IDB4MQkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgxMQkjIChUQUc6IERXX1RBR19jb21w aWxlX3VuaXQpCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwkudWxlYjEyOCAweDI1 CSMgKERXX0FUX3Byb2R1Y2VyKQotKwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwku dWxlYjEyOCAweDEzCSMgKERXX0FUX2xhbmd1YWdlKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9S TV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0MgkjIChEV19BVF9pZGVudGlmaWVyX2Nhc2UpCi0rCS51 bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFt ZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIxMjggMHgxYgkjIChE V19BVF9jb21wX2RpcikKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIx MjggMHgxMQkjIChEV19BVF9sb3dfcGMpCi0rCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIp Ci0rCS51bGViMTI4IDB4MTIJIyAoRFdfQVRfaGlnaF9wYykKLSsJLnVsZWIxMjggMHgxCSMgKERX X0ZPUk1fYWRkcikKLSsJLnVsZWIxMjggMHgxMAkjIChEV19BVF9zdG10X2xpc3QpCi0rCS51bGVi MTI4IDB4NgkjIChEV19GT1JNX2RhdGE0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIx MjggMHgyCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJlCSMgKFRBRzogRFdfVEFHX3N1 YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwkudWxlYjEyOCAweDMJ IyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLnVsZWIx MjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2Rh dGExKQotKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKLSsJLnVsZWIxMjggMHhi CSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwku dWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQotKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hp Z2hfcGMpCi0rCS51bGViMTI4IDB4MQkjIChEV19GT1JNX2FkZHIpCi0rCS51bGViMTI4IDB4NDAJ IyAoRFdfQVRfZnJhbWVfYmFzZSkKLSsJLnVsZWIxMjggMHg2CSMgKERXX0ZPUk1fZGF0YTQpCi0r CS51bGViMTI4IDB4MjExNgkjIChEV19BVF9HTlVfYWxsX3RhaWxfY2FsbF9zaXRlcykKLSsJLnVs ZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxhZykKLSsJLnVsZWIxMjggMHg2YQkjIChEV19BVF9tYWlu X3N1YnByb2dyYW0pCi0rCS51bGViMTI4IDB4YwkjIChEV19GT1JNX2ZsYWcpCi0rCS51bGViMTI4 IDB4MzYJIyAoRFdfQVRfY2FsbGluZ19jb252ZW50aW9uKQotKwkudWxlYjEyOCAweGIJIyAoRFdf Rk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4 IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjgg MHgzCSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDM0CSMgKFRBRzogRFdfVEFHX3Zhcmlh YmxlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KLSsJLnVsZWIxMjggMHgzCSMgKERXX0FU X25hbWUpCi0rCS51bGViMTI4IDB4OAkjIChEV19GT1JNX3N0cmluZykKLSsJLnVsZWIxMjggMHgz YQkjIChEV19BVF9kZWNsX2ZpbGUpCi0rCS51bGViMTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQot KwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGluZSkKLSsJLnVsZWIxMjggMHhiCSMgKERX X0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4NDkJIyAoRFdfQVRfdHlwZSkKLSsJLnVsZWIxMjgg MHgxMwkjIChEV19GT1JNX3JlZjQpCi0rCS51bGViMTI4IDB4MgkjIChEV19BVF9sb2NhdGlvbikK LSsJLnVsZWIxMjggMHhhCSMgKERXX0ZPUk1fYmxvY2sxKQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAK LSsJLnVsZWIxMjggMHg0CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweGIJIyAoVEFHOiBE V19UQUdfbGV4aWNhbF9ibG9jaykKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGVi MTI4IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRy KQotKwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCi0rCS51bGViMTI4IDB4MQkjIChE V19GT1JNX2FkZHIpCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDUJIyAoYWJi cmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MQkjIChUQUc6IERXX1RBR19hcnJheV90eXBlKQotKwku Ynl0ZQkweDEJIyBEV19jaGlsZHJlbl95ZXMKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBl KQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgxCSMgKERX X0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9STV9yZWY0KQotKwkuYnl0ZQkw Ci0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg2CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAw eDIxCSMgKFRBRzogRFdfVEFHX3N1YnJhbmdlX3R5cGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJl bl9ubwotKwkudWxlYjEyOCAweDQ5CSMgKERXX0FUX3R5cGUpCi0rCS51bGViMTI4IDB4MTMJIyAo RFdfRk9STV9yZWY0KQotKyNpZiAwCi0rCS51bGViMTI4IDB4MjIJIyAoRFdfQVRfbG93ZXJfYm91 bmQpCi0rCS51bGViMTI4IDB4NgkjIChEV19GT1JNX2RhdGE0KQotKwkudWxlYjEyOCAweDJmCSMg KERXX0FUX3VwcGVyX2JvdW5kKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsj ZWxzZQotKwkudWxlYjEyOCAweDIyCSMgKERXX0FUX2xvd2VyX2JvdW5kKQotKwkudWxlYjEyOCAw eDcJIyAoRFdfRk9STV9kYXRhOCkKLSsJLnVsZWIxMjggMHgyZgkjIChEV19BVF91cHBlcl9ib3Vu ZCkKLSsJLnVsZWIxMjggMHg3CSMgKERXX0ZPUk1fZGF0YTgpCi0rI2VuZGlmCi0rCS5ieXRlCTAK LSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweDcJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4 MjQJIyAoVEFHOiBEV19UQUdfYmFzZV90eXBlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8K LSsJLnVsZWIxMjggMHhiCSMgKERXX0FUX2J5dGVfc2l6ZSkKLSsJLnVsZWIxMjggMHhiCSMgKERX X0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4M2UJIyAoRFdfQVRfZW5jb2RpbmcpCi0rCS51bGVi MTI4IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkK LSsJLnVsZWIxMjggMHhlCSMgKERXX0ZPUk1fc3RycCkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0r CS51bGViMTI4IDB4OAkjIChhYmJyZXYgY29kZSkKLSsJLnVsZWIxMjggMHgyMQkjIChUQUc6IERX X1RBR19zdWJyYW5nZV90eXBlKQotKwkuYnl0ZQkwCSMgRFdfY2hpbGRyZW5fbm8KLSsJLnVsZWIx MjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERXX0ZPUk1fcmVmNCkK LSsjaWYgMAotKwkudWxlYjEyOCAweDIyCSMgKERXX0FUX2xvd2VyX2JvdW5kKQotKwkudWxlYjEy OCAweGIJIyAoRFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHgyZgkjIChEV19BVF91cHBlcl9i b3VuZCkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rI2Vsc2UKLSsJLnVsZWIx MjggMHgyMgkjIChEV19BVF9sb3dlcl9ib3VuZCkKLSsJLnVsZWIxMjggMHg3CSMgKERXX0ZPUk1f ZGF0YTgpCi0rCS51bGViMTI4IDB4MmYJIyAoRFdfQVRfdXBwZXJfYm91bmQpCi0rCS51bGViMTI4 IDB4NwkjIChEV19GT1JNX2RhdGE4KQotKyNlbmRpZgotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJ LnVsZWIxMjggMHg5CSMgKGFiYnJldiBjb2RlKQotKwkudWxlYjEyOCAweDJlCSMgKFRBRzogRFdf VEFHX3N1YnByb2dyYW0pCi0rCS5ieXRlCTB4MQkjIERXX2NoaWxkcmVuX3llcwotKwkudWxlYjEy OCAweDNmCSMgKERXX0FUX2V4dGVybmFsKQotKwkudWxlYjEyOCAweGMJIyAoRFdfRk9STV9mbGFn KQotKwkudWxlYjEyOCAweDMJIyAoRFdfQVRfbmFtZSkKLSsJLnVsZWIxMjggMHhlCSMgKERXX0ZP Uk1fc3RycCkKLSsJLnVsZWIxMjggMHgzYQkjIChEV19BVF9kZWNsX2ZpbGUpCi0rCS51bGViMTI4 IDB4YgkjIChEV19GT1JNX2RhdGExKQotKwkudWxlYjEyOCAweDNiCSMgKERXX0FUX2RlY2xfbGlu ZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4IDB4NDkJIyAo RFdfQVRfdHlwZSkKLSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCi0rCS51bGViMTI4 IDB4MTEJIyAoRFdfQVRfbG93X3BjKQotKwkudWxlYjEyOCAweDEJIyAoRFdfRk9STV9hZGRyKQot KwkudWxlYjEyOCAweDEyCSMgKERXX0FUX2hpZ2hfcGMpCi0rCS51bGViMTI4IDB4MQkjIChEV19G T1JNX2FkZHIpCi0rCS51bGViMTI4IDB4NDAJIyAoRFdfQVRfZnJhbWVfYmFzZSkKLSsJLnVsZWIx MjggMHg2CSMgKERXX0ZPUk1fZGF0YTQpCi0rCS51bGViMTI4IDB4MjExNgkjIChEV19BVF9HTlVf YWxsX3RhaWxfY2FsbF9zaXRlcykKLSsJLnVsZWIxMjggMHhjCSMgKERXX0ZPUk1fZmxhZykKLSsJ LnVsZWIxMjggMHgxCSMgKERXX0FUX3NpYmxpbmcpCi0rCS51bGViMTI4IDB4MTMJIyAoRFdfRk9S TV9yZWY0KQotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHhhCSMgKGFiYnJldiBj b2RlKQotKwkudWxlYjEyOCAweDUJIyAoVEFHOiBEV19UQUdfZm9ybWFsX3BhcmFtZXRlcikKLSsJ LmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGViMTI4IDB4MwkjIChEV19BVF9uYW1lKQot KwkudWxlYjEyOCAweGUJIyAoRFdfRk9STV9zdHJwKQotKwkudWxlYjEyOCAweDNhCSMgKERXX0FU X2RlY2xfZmlsZSkKLSsJLnVsZWIxMjggMHhiCSMgKERXX0ZPUk1fZGF0YTEpCi0rCS51bGViMTI4 IDB4M2IJIyAoRFdfQVRfZGVjbF9saW5lKQotKwkudWxlYjEyOCAweGIJIyAoRFdfRk9STV9kYXRh MSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEyOCAweDEzCSMgKERX X0ZPUk1fcmVmNCkKLSsJLnVsZWIxMjggMHgyCSMgKERXX0FUX2xvY2F0aW9uKQotKwkudWxlYjEy OCAweGEJIyAoRFdfRk9STV9ibG9jazEpCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEy OCAweGIJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4MjYJIyAoVEFHOiBEV19UQUdfY29u c3RfdHlwZSkKLSsJLmJ5dGUJMAkjIERXX2NoaWxkcmVuX25vCi0rCS51bGViMTI4IDB4NDkJIyAo RFdfQVRfdHlwZSkKLSsJLnVsZWIxMjggMHgxMwkjIChEV19GT1JNX3JlZjQpCi0rCS5ieXRlCTAK LSsJLmJ5dGUJMAotKwkudWxlYjEyOCAweGMJIyAoYWJicmV2IGNvZGUpCi0rCS51bGViMTI4IDB4 ZgkjIChUQUc6IERXX1RBR19wb2ludGVyX3R5cGUpCi0rCS5ieXRlCTAJIyBEV19jaGlsZHJlbl9u bwotKwkudWxlYjEyOCAweGIJIyAoRFdfQVRfYnl0ZV9zaXplKQotKwkudWxlYjEyOCAweGIJIyAo RFdfRk9STV9kYXRhMSkKLSsJLnVsZWIxMjggMHg0OQkjIChEV19BVF90eXBlKQotKwkudWxlYjEy OCAweDEzCSMgKERXX0ZPUk1fcmVmNCkKLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS5ieXRlCTAK LSsJLnNlY3Rpb24JLmRlYnVnX2xvYywiIixAcHJvZ2JpdHMKLSsuTGRlYnVnX2xvYzA6Ci0rLkxM U1QwOgotKwkubG9uZwkuTEZCMC0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRyZXNz ICgqLkxMU1QwKQotKwkubG9uZwkuTENGSTAtLkx0ZXh0MAkjIExvY2F0aW9uIGxpc3QgZW5kIGFk ZHJlc3MgKCouTExTVDApCi0rCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNpemUK LSsJLmJ5dGUJMHg3NAkjIERXX09QX2JyZWc0Ci0rCS5zbGViMTI4IDQKLSsJLmxvbmcJLkxDRkkw LS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDApCi0rCS5sb25n CS5MQ0ZJMS0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAoKi5MTFNUMCkKLSsJ LnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQotKwkuYnl0ZQkweDc0CSMgRFdf T1BfYnJlZzQKLSsJLnNsZWIxMjggOAotKwkubG9uZwkuTENGSTEtLkx0ZXh0MAkjIExvY2F0aW9u IGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMCkKLSsJLmxvbmcJLkxGRTAtLkx0ZXh0MAkjIExv Y2F0aW9uIGxpc3QgZW5kIGFkZHJlc3MgKCouTExTVDApCi0rCS52YWx1ZQkweDIJIyBMb2NhdGlv biBleHByZXNzaW9uIHNpemUKLSsJLmJ5dGUJMHg3NQkjIERXX09QX2JyZWc1Ci0rCS5zbGViMTI4 IDgKLSsJLmxvbmcJMAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBiZWdpbiAoKi5MTFNUMCkK LSsJLmxvbmcJMAkjIExvY2F0aW9uIGxpc3QgdGVybWluYXRvciBlbmQgKCouTExTVDApCi0rLkxM U1QxOgotKwkubG9uZwkuTEZCMS0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRyZXNz ICgqLkxMU1QxKQotKwkubG9uZwkuTENGSTItLkx0ZXh0MAkjIExvY2F0aW9uIGxpc3QgZW5kIGFk ZHJlc3MgKCouTExTVDEpCi0rCS52YWx1ZQkweDIJIyBMb2NhdGlvbiBleHByZXNzaW9uIHNpemUK LSsJLmJ5dGUJMHg3NAkjIERXX09QX2JyZWc0Ci0rCS5zbGViMTI4IDQKLSsJLmxvbmcJLkxDRkky LS5MdGV4dDAJIyBMb2NhdGlvbiBsaXN0IGJlZ2luIGFkZHJlc3MgKCouTExTVDEpCi0rCS5sb25n CS5MQ0ZJMy0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRkcmVzcyAoKi5MTFNUMSkKLSsJ LnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQotKwkuYnl0ZQkweDc0CSMgRFdf T1BfYnJlZzQKLSsJLnNsZWIxMjggOAotKwkubG9uZwkuTENGSTMtLkx0ZXh0MAkjIExvY2F0aW9u IGxpc3QgYmVnaW4gYWRkcmVzcyAoKi5MTFNUMSkKLSsJLmxvbmcJLkxDRkk0LS5MdGV4dDAJIyBM b2NhdGlvbiBsaXN0IGVuZCBhZGRyZXNzICgqLkxMU1QxKQotKwkudmFsdWUJMHgyCSMgTG9jYXRp b24gZXhwcmVzc2lvbiBzaXplCi0rCS5ieXRlCTB4NzUJIyBEV19PUF9icmVnNQotKwkuc2xlYjEy OCA4Ci0rCS5sb25nCS5MQ0ZJNC0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBiZWdpbiBhZGRyZXNz ICgqLkxMU1QxKQotKwkubG9uZwkuTEZFMS0uTHRleHQwCSMgTG9jYXRpb24gbGlzdCBlbmQgYWRk cmVzcyAoKi5MTFNUMSkKLSsJLnZhbHVlCTB4MgkjIExvY2F0aW9uIGV4cHJlc3Npb24gc2l6ZQot KwkuYnl0ZQkweDc0CSMgRFdfT1BfYnJlZzQKLSsJLnNsZWIxMjggNAotKwkubG9uZwkwCSMgTG9j YXRpb24gbGlzdCB0ZXJtaW5hdG9yIGJlZ2luICgqLkxMU1QxKQotKwkubG9uZwkwCSMgTG9jYXRp b24gbGlzdCB0ZXJtaW5hdG9yIGVuZCAoKi5MTFNUMSkKLSsJLnNlY3Rpb24JLmRlYnVnX2FyYW5n ZXMsIiIsQHByb2diaXRzCi0rCS5sb25nCTB4MWMJIyBMZW5ndGggb2YgQWRkcmVzcyBSYW5nZXMg SW5mbwotKwkudmFsdWUJMHgyCSMgRFdBUkYgVmVyc2lvbgotKwkubG9uZwkuTGRlYnVnX2luZm8w CSMgT2Zmc2V0IG9mIENvbXBpbGF0aW9uIFVuaXQgSW5mbwotKwkuYnl0ZQkweDQJIyBTaXplIG9m IEFkZHJlc3MKLSsJLmJ5dGUJMAkjIFNpemUgb2YgU2VnbWVudCBEZXNjcmlwdG9yCi0rCS52YWx1 ZQkwCSMgUGFkIHRvIDggYnl0ZSBib3VuZGFyeQotKwkudmFsdWUJMAotKwkubG9uZwkuTHRleHQw CSMgQWRkcmVzcwotKwkubG9uZwkuTGV0ZXh0MC0uTHRleHQwCSMgTGVuZ3RoCi0rCS5sb25nCTAK LSsJLmxvbmcJMAotKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixAcHJvZ2JpdHMKLSsuTGRlYnVn X2xpbmUwOgotKwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHByb2diaXRzLDEKLSsuTEFTRjQ6 Ci0rCS5zdHJpbmcJImNoYXJhY3RlcihraW5kPTEpIgotKy5MQVNGNToKLSsJLnN0cmluZwkiR05V IEZvcnRyYW4gNC44LjAgMjAxMjEwMTUgKGV4cGVyaW1lbnRhbCkgLWZmaXhlZC1mb3JtIC1tMzIg LW10dW5lPWdlbmVyaWMgLW1hcmNoPXg4Ni02NCAtZyAtZ2R3YXJmLTIgLWZpbnRyaW5zaWMtbW9k dWxlcy1wYXRoIC4uLi9nY2NoZWFkLXJvb3QvbGliL2djYy94ODZfNjQtdW5rbm93bi1saW51eC1n bnUvNC44LjAvZmluY2x1ZGUiCi0rLkxBU0Y3OgotKwkuc3RyaW5nCSIiCi0rLkxBU0YwOgotKyNp ZiAwCi0rCS5zdHJpbmcJImludGVnZXIoa2luZD00KSIKLSsjZWxzZQotKwkuc3RyaW5nCSJpbnRl Z2VyKGtpbmQ9OCkiCi0rI2VuZGlmCi0rLkxBU0Y5OgotKwkuc3RyaW5nCSJtYWluIgotKy5MQVNG ODoKLSsJLnN0cmluZwkiTUFJTl9fIgotKy5MQVNGNjoKLSsJLnN0cmluZwkiZ2RiLmZvcnRyYW4v YXJyYXktYm91bmRzLmYiCi0rLkxBU0YyOgotKwkuc3RyaW5nCSJhcmdjIgotKy5MQVNGMToKLSsJ LnN0cmluZwkicmVhbChraW5kPTQpIgotKy5MQVNGMzoKLSsJLnN0cmluZwkiYXJndiIKLSsJLmlk ZW50CSJHQ0M6IChHTlUpIDQuOC4wIDIwMTIxMDE1IChleHBlcmltZW50YWwpIgotKwkuc2VjdGlv bgkubm90ZS5HTlUtc3RhY2ssIiIsQHByb2diaXRzCi1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0 ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJh bi9hcnJheS1ib3VuZHMuZXhwCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAot KysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZXhwCi1AQCAtMCww ICsxLDQzIEBACi0rIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu Yy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0rIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rIyBUaGlzIGZpbGUgaXMg cGFydCBvZiB0aGUgZ2RiIHRlc3RzdWl0ZS4gIEl0IGNvbnRhaW5zIHRlc3QgdG8gZW5zdXJlIHRo YXQKLSsjIGFycmF5IGJvdW5kcyBhY2NlcHQgTE9OR0VTVC4KLSsKLStpZiB7IFtza2lwX2ZvcnRy YW5fdGVzdHNdIH0geyByZXR1cm4gLTEgfQotKwotK3NldCB0ZXN0ZmlsZSAiYXJyYXktYm91bmRz IgotKwotK2lmIHsgW2lzX2lscDMyX3RhcmdldF0gJiYgKFtpc3RhcmdldCAiaVxbMzQ1NjdcXTg2 LSotbGludXgqIl0KLSsJCQkgICB8fCBbaXN0YXJnZXQgIng4Nl82NC0qLWxpbnV4KiJdKSB9IHsK LSsgICAgc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uUwotKyAgICBzZXQgb3B0cyB7bm9kZWJ1ZyBm OTB9Ci0rfSBlbHNlIHsKLSsgICAgc2V0IHNyY2ZpbGUgJHt0ZXN0ZmlsZX0uZgotKyAgICBzZXQg b3B0cyB7ZGVidWcgZjkwfQotK30KLSsKLStpZiB7W3ByZXBhcmVfZm9yX3Rlc3RpbmcgJHRlc3Rm aWxlLmV4cCAkdGVzdGZpbGUgJHNyY2ZpbGUgJG9wdHNdfSB7Ci0rICAgIHByaW50ICJjb21waWxl IGZhaWxlZCIKLSsgICAgcmV0dXJuIC0xCi0rfQotKwotK2lmIHsgIVtydW50byBNQUlOX19dIH0g ewotKyAgICBwZXJyb3IgIkNvdWxkIG5vdCBydW4gdG8gYnJlYWtwb2ludCBgTUFJTl9fJy4iCi0r ICAgIGNvbnRpbnVlCi0rfQotKwotK2dkYl90ZXN0ICJwcmludCAmZm9vIiB7LipcKDQyOTQ5Njcy OTY6NDI5NDk2NzI5N1wpLip9Ci0rZ2RiX3Rlc3QgInByaW50ICZiYXIiIHsuKlwoLTQyOTQ5Njcy OTc6LTQyOTQ5NjcyOTZcKS4qfQotZGlmZiAtLWdpdCBhL2dkYi90ZXN0c3VpdGUvZ2RiLmZvcnRy YW4vYXJyYXktYm91bmRzLmYgYi9nZGIvdGVzdHN1aXRlL2dkYi5mb3J0cmFuL2FycmF5LWJvdW5k cy5mCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYvbnVsbAotKysrIGIvZ2RiL3Rlc3Rz dWl0ZS9nZGIuZm9ydHJhbi9hcnJheS1ib3VuZHMuZgotQEAgLTAsMCArMSwyMiBAQAotK2MgQ29w eXJpZ2h0IDIwMTIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0rCi0rYyBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotK2MgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBhcyBwdWJsaXNoZWQgYnkKLStjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCi0rYyAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgotK2MKLStjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotK2MgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLStjIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLStjIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rYwotK2MgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLStjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cu Z251Lm9yZy9saWNlbnNlcy8+LgotKwotKyAgICAgICAgZGltZW5zaW9uIGZvbyg0Mjk0OTY3Mjk2 Xzg6NDI5NDk2NzI5N184KQotKyAgICAgICAgZGltZW5zaW9uIGJhcigtNDI5NDk2NzI5N184Oi00 Mjk0OTY3Mjk2XzgpCi0rICAgICAgICBiYXIgPSA0MgotKyAgICAgICAgZm9vPWJhcgotKyAgICAg ICAgc3RvcAotKyAgICAgICAgZW5kCi0rCgpkaWZmIC0tZ2l0IGEvZ2RiLXJoYno3OTU0MjQtYml0 cG9zLTI1b2YyNS5wYXRjaCBiL2dkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9mMjUucGF0Y2gKZGVs ZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDczZjA1N2EuLjAwMDAwMDAKLS0tIGEvZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE0MCArMCww IEBACi1Gcm9tIEZFRE9SQV9QQVRDSEVTIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJvbTog RmVkb3JhIEdEQiBwYXRjaGVzIDxpbnZhbGlkQGVtYWlsLmNvbT4KLURhdGU6IEZyaSwgMjcgT2N0 IDIwMTcgMjE6MDc6NTAgKzAyMDAKLVN1YmplY3Q6IGdkYi1yaGJ6Nzk1NDI0LWJpdHBvcy0yNW9m MjUucGF0Y2gKLQotOzsgRml4IGBHREIgY2Fubm90IGFjY2VzcyBzdHJ1Y3QgbWVtYmVyIHdob3Nl IG9mZnNldCBpcyBsYXJnZXIgdGhhbiAyNTZNQicKLTs7IChSSCBCWiA3OTU0MjQpLgotOzs9cHVz aAotCi1odHRwOi8vc291cmNld2FyZS5vcmcvbWwvZ2RiLXBhdGNoZXMvMjAxMi0wOC9tc2cwMDU2 Mi5odG1sCi0KLS0tTVBfLzkwSjdiY2syZnFEeVNFWDlKa1p0YXFMCi1Db250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9VVMtQVNDSUkKLUNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDdi aXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZQotCi1IaSwKLQotUmFuZ2UgYm91bmRzIGZv ciBhIGdkYiB0eXBlIGNhbiBoYXZlIExPTkdFU1QgdmFsdWVzIGZvciBsb3cgYW5kIGhpZ2gKLWJv dW5kcy4gRm9ydHJhbiByYW5nZSBib3VuZHMgZnVuY3Rpb25zIGhvd2V2ZXIgdXNlIG9ubHkgaW50 LiBUaGUgbGFyZ2VyCi1yYW5nZXMgZG9uJ3QgY29tcGlsZSBieSBkZWZhdWx0IG9uIGdjYywgYnV0 IGl0IGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlCi10aGUgY2hlY2sgaW4gdGhlIGNvbXBpbGVyIGJ5 IHVzaW5nIC1mbm8tcmFuZ2UtY2hlY2suIEFzIGEgcmVzdWx0LCB0aGlzCi1jaGVjayBpcyBuZWNl c3Nhcnkgc28gdGhhdCB3ZSBkb24ndCBwcmludCBqdW5rIGluIGNhc2Ugb2YgYW4gb3ZlcmZsb3cu Ci0KLUF0dGFjaGVkIHBhdGNoIGRvZXMgdGhpcyBleHBhbnNpb24gYW5kIGFsc28gaW5jbHVkZXMg YSB0ZXN0IGNhc2UgdGhhdAotdmVyaWZpZXMgdGhhdCB0aGUgcHJvYmxlbSBpcyBmaXhlZC4gSSBo YXZlIGFsc28gdmVyaWZpZWQgb24geDg2XzY0IHRoYXQKLXRoaXMgcGF0Y2ggZG9lcyBub3QgY2F1 c2UgYW55IHJlZ3Jlc3Npb25zLgotCi1SZWdhcmRzLAotU2lkZGhlc2gKLQotZ2RiL0NoYW5nZUxv ZzoKLQotCSogZi1sYW5nLmggKGY3N19nZXRfdXBwZXJib3VuZCk6IFJldHVybiBMT05HRVNULgot CShmNzdfZ2V0X2xvd2VyYm91bmQpOiBMaWtld2lzZS4KLQkqIGYtdHlwZXByaW50LmMgKGZfdHlw ZV9wcmludF92YXJzcGVjX3N1ZmZpeCk6IEV4cGFuZAotCVVQUEVSX0JPVU5EIGFuZCBMT1dFUl9C T1VORCB0byBMT05HRVNULiAgVXNlIHBsb25nZXN0IHRvIGZvcm1hdAotCXByaW50IHRoZW0uCi0J KGZfdHlwZV9wcmludF9iYXNlKTogRXhwYW5kIFVQUEVSX0JPVU5EIHRvIExPTkdFU1QuICBVc2UK LQlwbG9uZ2VzdCB0byBmb3JtYXQgcHJpbnQgaXQuCi0JKiBmLXZhbHByaW50LmMgKGY3N19nZXRf bG93ZXJib3VuZCk6IFJldHVybiBMT05HRVNULgotCShmNzdfZ2V0X3VwcGVyYm91bmQpOiBMaWtl d2lzZS4KLQkoZjc3X2dldF9keW5hbWljX2xlbmd0aF9vZl9hZ2dyZWdhdGUpOiBFeHBhbmQgVVBQ RVJfQk9VTkQsCi0JTE9XRVJfQk9VTkQgdG8gTE9OR0VTVC4KLQkoZjc3X2NyZWF0ZV9hcnJheXBy aW50X29mZnNldF90YmwpOiBMaWtld2lzZS4KLQotdGVzdHN1aXRlL0NoYW5nZUxvZzoKLQotCSog Z2RiLmZvcnRyYW4vYXJyYXktYm91bmRzLmV4cDogTmV3IHRlc3QgY2FzZS4KLQkqIGdkYi5mb3J0 cmFuL2FycmF5LWJvdW5kcy5mOiBOZXcgdGVzdCBjYXNlLgotCi0tLU1QXy85MEo3YmNrMmZxRHlT RVg5SmtadGFxTAotQ29udGVudC1UeXBlOiB0ZXh0L3gtcGF0Y2gKLUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDdiaXQKLUNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1l PWY3Ny1ib3VuZHMucGF0Y2gKLQotZGlmZiAtLWdpdCBhL2dkYi9mLWxhbmcuaCBiL2dkYi9mLWxh bmcuaAotLS0tIGEvZ2RiL2YtbGFuZy5oCi0rKysgYi9nZGIvZi1sYW5nLmgKLUBAIC01MCw5ICs1 MCw5IEBAIHN0cnVjdCBjb21tb25fYmxvY2sKLSAgIHN0cnVjdCBzeW1ib2wgKmNvbnRlbnRzWzFd OwotIH07Ci0gCi0tZXh0ZXJuIGludCBmNzdfZ2V0X3VwcGVyYm91bmQgKHN0cnVjdCB0eXBlICop OwotK2V4dGVybiBMT05HRVNUIGY3N19nZXRfdXBwZXJib3VuZCAoc3RydWN0IHR5cGUgKik7Ci0g Ci0tZXh0ZXJuIGludCBmNzdfZ2V0X2xvd2VyYm91bmQgKHN0cnVjdCB0eXBlICopOwotK2V4dGVy biBMT05HRVNUIGY3N19nZXRfbG93ZXJib3VuZCAoc3RydWN0IHR5cGUgKik7Ci0gCi0gZXh0ZXJu IHZvaWQgZjc3X2dldF9keW5hbWljX2FycmF5X2xlbmd0aCAoc3RydWN0IHR5cGUgKik7Ci0gCi1k aWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwotLS0tIGEv Z2RiL2YtdHlwZXByaW50LmMKLSsrKyBiL2dkYi9mLXR5cGVwcmludC5jCi1AQCAtMTQ5LDcgKzE0 OSw3IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0 cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCQkJICAgICBpbnQgc2hvdywgaW50IHBhc3NlZF9hX3B0 ciwgaW50IGRlbWFuZ2xlZF9hcmdzLAotIAkJCSAgICAgaW50IGFycmF5cHJpbnRfcmVjdXJzZV9s ZXZlbCwgaW50IHByaW50X3Jhbmtfb25seSkKLSB7Ci0tICBpbnQgdXBwZXJfYm91bmQsIGxvd2Vy X2JvdW5kOwotKyAgTE9OR0VTVCB1cHBlcl9ib3VuZCwgbG93ZXJfYm91bmQ7Ci0gCi0gICAvKiBO byBzdGF0aWMgdmFyaWFibGVzIGFyZSBwZXJtaXR0ZWQgYXMgYW4gZXJyb3IgY2FsbCBtYXkgb2Nj dXIgZHVyaW5nCi0gICAgICBleGVjdXRpb24gb2YgdGhpcyBmdW5jdGlvbi4gICovCi1AQCAtMTk2 LDcgKzE5Niw3IEBAIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5 cGUsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCi0gCXsKLSAJICBsb3dlcl9ib3VuZCA9IGY3N19n ZXRfbG93ZXJib3VuZCAodHlwZSk7Ci0gCSAgaWYgKGxvd2VyX2JvdW5kICE9IDEpCS8qIE5vdCB0 aGUgZGVmYXVsdC4gICovCi0tCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlZDoiLCBs b3dlcl9ib3VuZCk7Ci0rCSAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlczoiLCBwbG9u Z2VzdCAobG93ZXJfYm91bmQpKTsKLSAKLSAJICAvKiBNYWtlIHN1cmUgdGhhdCwgaWYgd2UgaGF2 ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCi0gCSAgICAgICBwcmludCBvdXQgYSB3YXJuaW5n IGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBhcyAnKicuICAqLwotQEAgLTIwNiw3ICsyMDYsNyBA QCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3Qg dWlfZmlsZSAqc3RyZWFtLAotIAkgIGVsc2UKLSAJICAgIHsKLSAJICAgICAgdXBwZXJfYm91bmQg PSBmNzdfZ2V0X3VwcGVyYm91bmQgKHR5cGUpOwotLQkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIlZCIsIHVwcGVyX2JvdW5kKTsKLSsJICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3Ry ZWFtLCAiJXMiLCBwbG9uZ2VzdCAodXBwZXJfYm91bmQpKTsKLSAJICAgIH0KLSAJfQotIAotQEAg LTI3OCw3ICsyNzgsNyBAQCB2b2lkCi0gZl90eXBlX3ByaW50X2Jhc2UgKHN0cnVjdCB0eXBlICp0 eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgc2hvdywKLSAJCSAgIGludCBsZXZlbCkK LSB7Ci0tICBpbnQgdXBwZXJfYm91bmQ7Ci0rICBMT05HRVNUIHVwcGVyX2JvdW5kOwotICAgaW50 IGluZGV4OwotIAotICAgUVVJVDsKLUBAIC0zNzAsNyArMzcwLDcgQEAgZl90eXBlX3ByaW50X2Jh c2UgKHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLCBpbnQgc2hvdywK LSAgICAgICBlbHNlCi0gCXsKLSAJICB1cHBlcl9ib3VuZCA9IGY3N19nZXRfdXBwZXJib3VuZCAo dHlwZSk7Ci0tCSAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAiY2hhcmFjdGVyKiVkIiwgdXBw ZXJfYm91bmQpOwotKwkgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgImNoYXJhY3RlciolcyIs IHBsb25nZXN0ICh1cHBlcl9ib3VuZCkpOwotIAl9Ci0gICAgICAgYnJlYWs7Ci0gCi1kaWZmIC0t Z2l0IGEvZ2RiL2YtdmFscHJpbnQuYyBiL2dkYi9mLXZhbHByaW50LmMKLS0tLSBhL2dkYi9mLXZh bHByaW50LmMKLSsrKyBiL2dkYi9mLXZhbHByaW50LmMKLUBAIC00MSw3ICs0MSw3IEBAIExPTkdF U1QgZjc3X2FycmF5X29mZnNldF90YmxbTUFYX0ZPUlRSQU5fRElNUyArIDFdWzJdOwotIC8qIEFy cmF5IHdoaWNoIGhvbGRzIG9mZnNldHMgdG8gYmUgYXBwbGllZCB0byBnZXQgYSByb3cncyBlbGVt ZW50cwotICAgIGZvciBhIGdpdmVuIGFycmF5LiAgQXJyYXkgYWxzbyBob2xkcyB0aGUgc2l6ZSBv ZiBlYWNoIHN1YmFycmF5LiAgKi8KLSAKLS1pbnQKLStMT05HRVNUCi0gZjc3X2dldF9sb3dlcmJv dW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSB7Ci0gICBpZiAoVFlQRV9BUlJBWV9MT1dFUl9CT1VO RF9JU19VTkRFRklORUQgKHR5cGUpKQotQEAgLTUwLDcgKzUwLDcgQEAgZjc3X2dldF9sb3dlcmJv dW5kIChzdHJ1Y3QgdHlwZSAqdHlwZSkKLSAgIHJldHVybiBUWVBFX0FSUkFZX0xPV0VSX0JPVU5E X1ZBTFVFICh0eXBlKTsKLSB9Ci0gCi0taW50Ci0rTE9OR0VTVAotIGY3N19nZXRfdXBwZXJib3Vu ZCAoc3RydWN0IHR5cGUgKnR5cGUpCi0gewotICAgaWYgKFRZUEVfQVJSQVlfVVBQRVJfQk9VTkRf SVNfVU5ERUZJTkVEICh0eXBlKSkKCmRpZmYgLS1naXQgYS9nZGItcmhiejc5NTQyNC1iaXRwb3Mt YXJyYXl2aWV3LnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0cG9zLWFycmF5dmlldy5wYXRjaApk ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDUyOTc2NS4uMDAwMDAwMAotLS0gYS9nZGIt cmhiejc5NTQyNC1iaXRwb3MtYXJyYXl2aWV3LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsNjAg KzAsMCBAQAotRnJvbSBGRURPUkFfUEFUQ0hFUyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZy b206IFNlcmdpbyBEdXJpZ2FuIEp1bmlvciA8c2VyZ2lvZGpAcmVkaGF0LmNvbT4KLURhdGU6IFdl ZCwgMTIgU2VwIDIwMTggMDA6MDI6MTcgLTA0MDAKLVN1YmplY3Q6IGdkYi1yaGJ6Nzk1NDI0LWJp dHBvcy1hcnJheXZpZXcucGF0Y2gKLQotOzsgVGhpcyBwYXRjaCBpcyBuZWVkZWQgdG8gY29tcGls ZSBHREIgYWZ0ZXIgLVdlcnJvcj1uYXJyb3dpbmcgaGFzCi07OyBiZWVuIGVuYWJsZWQgYnkgZGVm YXVsdC4KLTs7IEF1dGhvcjogU2VyZ2lvIER1cmlnYW4gSnVuaW9yLgotCi1kaWZmIC0tZ2l0IGEv Z2RiL2NvbW1vbi9hcnJheS12aWV3LmggYi9nZGIvY29tbW9uL2FycmF5LXZpZXcuaAotLS0tIGEv Z2RiL2NvbW1vbi9hcnJheS12aWV3LmgKLSsrKyBiL2dkYi9jb21tb24vYXJyYXktdmlldy5oCi1A QCAtODUsNyArODUsNyBAQCBwdWJsaWM6Ci0gICB1c2luZyB2YWx1ZV90eXBlID0gVDsKLSAgIHVz aW5nIHJlZmVyZW5jZSA9IFQgJjsKLSAgIHVzaW5nIGNvbnN0X3JlZmVyZW5jZSA9IGNvbnN0IFQg JjsKLS0gIHVzaW5nIHNpemVfdHlwZSA9IHNpemVfdDsKLSsgIHVzaW5nIHNpemVfdHlwZSA9IFVM T05HRVNUOwotIAotICAgLyogRGVmYXVsdCBjb25zdHJ1Y3Rpb24gY3JlYXRlcyBhbiBlbXB0eSB2 aWV3LiAgKi8KLSAgIGNvbnN0ZXhwciBhcnJheV92aWV3ICgpIG5vZXhjZXB0Ci1AQCAtMTE0LDcg KzExNCw3IEBAIHB1YmxpYzoKLSAgICAgIGNvdW50LiAgKi8KLSAgIHRlbXBsYXRlPHR5cGVuYW1l IFUsCi0gCSAgIHR5cGVuYW1lID0gUmVxdWlyZXM8RGVjYXllZENvbnZlcnRpYmxlPFU+Pj4KLS0g IGNvbnN0ZXhwciBhcnJheV92aWV3IChVICphcnJheSwgc2l6ZV90IHNpemUpIG5vZXhjZXB0Ci0r ICBjb25zdGV4cHIgYXJyYXlfdmlldyAoVSAqYXJyYXksIFVMT05HRVNUIHNpemUpIG5vZXhjZXB0 Ci0gICAgIDogbV9hcnJheSAoYXJyYXkpLCBtX3NpemUgKHNpemUpCi0gICB7fQotIAotQEAgLTEy OCw3ICsxMjgsNyBAQCBwdWJsaWM6Ci0gICB7fQotIAotICAgLyogQ3JlYXRlIGFuIGFycmF5IHZp ZXcgZnJvbSBhbiBhcnJheS4gICovCi0tICB0ZW1wbGF0ZTx0eXBlbmFtZSBVLCBzaXplX3QgU2l6 ZSwKLSsgIHRlbXBsYXRlPHR5cGVuYW1lIFUsIFVMT05HRVNUIFNpemUsCi0gCSAgIHR5cGVuYW1l ID0gUmVxdWlyZXM8RGVjYXllZENvbnZlcnRpYmxlPFU+Pj4KLSAgIGNvbnN0ZXhwciBhcnJheV92 aWV3IChVICgmYXJyYXkpW1NpemVdKSBub2V4Y2VwdAotICAgICA6IG1fYXJyYXkgKGFycmF5KSwg bV9zaXplIChTaXplKQotQEAgLTE2MSw5ICsxNjEsOSBAQCBwdWJsaWM6Ci0gICAvKmNvbnN0ZXhw cjE0Ki8gVCAqZW5kICgpIG5vZXhjZXB0IHsgcmV0dXJuIG1fYXJyYXkgKyBtX3NpemU7IH0KLSAg IGNvbnN0ZXhwciBjb25zdCBUICplbmQgKCkgY29uc3Qgbm9leGNlcHQgeyByZXR1cm4gbV9hcnJh eSArIG1fc2l6ZTsgfQotIAotLSAgLypjb25zdGV4cHIxNCovIHJlZmVyZW5jZSBvcGVyYXRvcltd IChzaXplX3QgaW5kZXgpIG5vZXhjZXB0Ci0rICAvKmNvbnN0ZXhwcjE0Ki8gcmVmZXJlbmNlIG9w ZXJhdG9yW10gKFVMT05HRVNUIGluZGV4KSBub2V4Y2VwdAotICAgeyByZXR1cm4gbV9hcnJheVtp bmRleF07IH0KLS0gIGNvbnN0ZXhwciBjb25zdF9yZWZlcmVuY2Ugb3BlcmF0b3JbXSAoc2l6ZV90 IGluZGV4KSBjb25zdCBub2V4Y2VwdAotKyAgY29uc3RleHByIGNvbnN0X3JlZmVyZW5jZSBvcGVy YXRvcltdIChVTE9OR0VTVCBpbmRleCkgY29uc3Qgbm9leGNlcHQKLSAgIHsgcmV0dXJuIG1fYXJy YXlbaW5kZXhdOyB9Ci0gCi0gICBjb25zdGV4cHIgc2l6ZV90eXBlIHNpemUgKCkgY29uc3Qgbm9l eGNlcHQgeyByZXR1cm4gbV9zaXplOyB9Ci1AQCAtMTk2LDcgKzE5Niw3IEBAIG9wZXJhdG9yPT0g KGNvbnN0IGdkYjo6YXJyYXlfdmlldzxUPiAmbGhzLCBjb25zdCBnZGI6OmFycmF5X3ZpZXc8VD4g JnJocykKLSAgIGlmIChsaHMuc2l6ZSAoKSAhPSByaHMuc2l6ZSAoKSkKLSAgICAgcmV0dXJuIGZh bHNlOwotIAotLSAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBsaHMuc2l6ZSAoKTsgaSsrKQotKyAg Zm9yIChVTE9OR0VTVCBpID0gMDsgaSA8IGxocy5zaXplICgpOyBpKyspCi0gICAgIGlmICghKGxo c1tpXSA9PSByaHNbaV0pKQotICAgICAgIHJldHVybiBmYWxzZTsKLSAKCmRpZmYgLS1naXQgYS9n ZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoIGIvZ2RiLXJoYno3OTU0MjQtYml0 cG9zLWxhenl2YWx1ZS5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMGY1YzJl OC4uMDAwMDAwMAotLS0gYS9nZGItcmhiejc5NTQyNC1iaXRwb3MtbGF6eXZhbHVlLnBhdGNoCisr KyAvZGV2L251bGwKQEAgLTEsNDMyICswLDAgQEAKLUZyb20gRkVET1JBX1BBVENIRVMgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBGZWRvcmEgR0RCIHBhdGNoZXMgPGludmFsaWRAZW1h aWwuY29tPgotRGF0ZTogRnJpLCAyNyBPY3QgMjAxNyAyMTowNzo1MCArMDIwMAotU3ViamVjdDog Z2RiLXJoYno3OTU0MjQtYml0cG9zLWxhenl2YWx1ZS5wYXRjaAotCi07OyBGaXggYEdEQiBjYW5u b3QgYWNjZXNzIHN0cnVjdCBtZW1iZXIgd2hvc2Ugb2Zmc2V0IGlzIGxhcmdlciB0aGFuIDI1Nk1C JwotOzsgKFJIIEJaIDc5NTQyNCkuCi07Oz1wdXNoCi0KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1 aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuUyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvbG9uZ2VzdC10eXBlcy02NGJpdC5TCi1uZXcgZmlsZSBtb2RlIDEwMDY0NAotLS0tIC9kZXYv bnVsbAotKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LlMK LUBAIC0wLDAgKzEsMjQ5IEBACi0rLyogVGhpcyB0ZXN0Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhl IEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5z ZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotKwotKyAgIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSsgICBhbG9uZyB3aXRoIHRoaXMg cHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICov Ci0rCi0rCS5maWxlCSJsb25nZXN0LXR5cGVzLTY0Yml0LmMiCi0rCS50ZXh0Ci0rLkx0ZXh0MDoK LSsJLmdsb2JsIG1haW4KLSttYWluOgotKwkuY29tbQlmLDgsOAotKy5MZXRleHQwOgotKwkuZmls ZSAxICJnZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0LmMiCi0rCS5zZWN0aW9uCS5kZWJ1Z19p bmZvLCIiLEBwcm9nYml0cwotKy5MZGVidWdfaW5mbzA6Ci0rCS40Ynl0ZQkweDlhCS8qIExlbmd0 aCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8gKi8KLSsJLjJieXRlCTB4MgkvKiBEV0FSRiB2ZXJz aW9uIG51bWJlciAqLwotKwkuNGJ5dGUJLkxkZWJ1Z19hYmJyZXYwCS8qIE9mZnNldCBJbnRvIEFi YnJldi4gU2VjdGlvbiAqLwotKwkuYnl0ZQkweDgJLyogUG9pbnRlciBTaXplIChpbiBieXRlcykg Ki8KLSsJLnVsZWIxMjggMHgxCS8qIChESUUgKDB4YikgRFdfVEFHX2NvbXBpbGVfdW5pdCkgKi8K LSsJLjRieXRlCS5MQVNGMwkvKiBEV19BVF9wcm9kdWNlcjogIkdOVSBDIDQuNy4zIDIwMTIxMTA5 IChwcmVyZWxlYXNlKSIgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX0FUX2xhbmd1YWdlICovCi0rCS40 Ynl0ZQkuTEFTRjQJLyogRFdfQVRfbmFtZTogImdkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQu YyIgKi8KLSsJLjRieXRlCS5MQVNGNQkvKiBEV19BVF9jb21wX2RpcjogIiIgKi8KLSsJLjRieXRl CS5MZGVidWdfbGluZTAJLyogRFdfQVRfc3RtdF9saXN0ICovCi0rCS51bGViMTI4IDB4MgkvKiAo RElFICgweDFkKSBEV19UQUdfc3RydWN0dXJlX3R5cGUpICovCi0rCS5hc2NpaSAiZm9vXDAiCS8q IERXX0FUX25hbWUgKi8KLSsJLjRieXRlCTB4ZmYwMDAwMDIJLyogRFdfQVRfYnl0ZV9zaXplICov Ci0rCS5ieXRlCTB4MQkvKiBEV19BVF9kZWNsX2ZpbGUgKGdkYi5iYXNlL2xvbmdlc3QtdHlwZXMt NjRiaXQuYykgKi8KLSsJLmJ5dGUJMHgxMgkvKiBEV19BVF9kZWNsX2xpbmUgKi8KLSsJLjRieXRl CTB4NGUJLyogRFdfQVRfc2libGluZyAqLwotKwkudWxlYjEyOCAweDMJLyogKERJRSAoMHgyYykg RFdfVEFHX21lbWJlcikgKi8KLSsJLmFzY2lpICJidWZcMCIJLyogRFdfQVRfbmFtZSAqLwotKwku Ynl0ZQkweDEJLyogRFdfQVRfZGVjbF9maWxlIChnZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0 LmMpICovCi0rCS5ieXRlCTB4MTQJLyogRFdfQVRfZGVjbF9saW5lICovCi0rCS40Ynl0ZQkweDRl CS8qIERXX0FUX3R5cGUgKi8KLSsJLmJ5dGUJMHgyCS8qIERXX0FUX2RhdGFfbWVtYmVyX2xvY2F0 aW9uICovCi0rCS5ieXRlCTB4MjMJLyogRFdfT1BfcGx1c191Y29uc3QgKi8KLSsJLnVsZWIxMjgg MAotKwkudWxlYjEyOCAweDQJLyogKERJRSAoMHgzYSkgRFdfVEFHX21lbWJlcikgKi8KLSsJLjRi eXRlCS5MQVNGMAkvKiBEV19BVF9uYW1lOiAiYnVmMiIgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX0FU X2RlY2xfZmlsZSAoZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jKSAqLwotKwkuYnl0ZQkw eDE1CS8qIERXX0FUX2RlY2xfbGluZSAqLwotKwkuNGJ5dGUJMHg3MwkvKiBEV19BVF90eXBlICov Ci0rCS5ieXRlCTB4NwkvKiBEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbiAqLwotKwkuYnl0ZQkw eDIzCS8qIERXX09QX3BsdXNfdWNvbnN0ICovCi0rCS51bGViMTI4IDB4ZmZmZjAwMDAwMAotKwku Ynl0ZQkwCS8qIGVuZCBvZiBjaGlsZHJlbiBvZiBESUUgMHgxZCAqLwotKwkudWxlYjEyOCAweDUJ LyogKERJRSAoMHg0ZSkgRFdfVEFHX2FycmF5X3R5cGUpICovCi0rCS40Ynl0ZQkweDZjCS8qIERX X0FUX3R5cGUgKi8KLSsJLjRieXRlCTB4NjUJLyogRFdfQVRfc2libGluZyAqLwotKwkudWxlYjEy OCAweDYJLyogKERJRSAoMHg1NykgRFdfVEFHX3N1YnJhbmdlX3R5cGUpICovCi0rCS40Ynl0ZQkw eDY1CS8qIERXX0FUX3R5cGUgKi8KLSsJLnF1YWQJMHhmZmZlZmZmZmZmCS8qIERXX0FUX3VwcGVy X2JvdW5kICovCi0rCS5ieXRlCTAJLyogZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweDRlICovCi0r CS51bGViMTI4IDB4NwkvKiAoRElFICgweDY1KSBEV19UQUdfYmFzZV90eXBlKSAqLwotKwkuYnl0 ZQkweDgJLyogRFdfQVRfYnl0ZV9zaXplICovCi0rCS5ieXRlCTB4NwkvKiBEV19BVF9lbmNvZGlu ZyAqLwotKwkuNGJ5dGUJLkxBU0YxCS8qIERXX0FUX25hbWU6ICJzaXpldHlwZSIgKi8KLSsJLnVs ZWIxMjggMHg3CS8qIChESUUgKDB4NmMpIERXX1RBR19iYXNlX3R5cGUpICovCi0rCS5ieXRlCTB4 MQkvKiBEV19BVF9ieXRlX3NpemUgKi8KLSsJLmJ5dGUJMHg2CS8qIERXX0FUX2VuY29kaW5nICov Ci0rCS40Ynl0ZQkuTEFTRjIJLyogRFdfQVRfbmFtZTogImNoYXIiICovCi0rCS51bGViMTI4IDB4 NQkvKiAoRElFICgweDczKSBEV19UQUdfYXJyYXlfdHlwZSkgKi8KLSsJLjRieXRlCTB4NmMJLyog RFdfQVRfdHlwZSAqLwotKwkuNGJ5dGUJMHg4MwkvKiBEV19BVF9zaWJsaW5nICovCi0rCS51bGVi MTI4IDB4OAkvKiAoRElFICgweDdjKSBEV19UQUdfc3VicmFuZ2VfdHlwZSkgKi8KLSsJLjRieXRl CTB4NjUJLyogRFdfQVRfdHlwZSAqLwotKwkuYnl0ZQkweDEJLyogRFdfQVRfdXBwZXJfYm91bmQg Ki8KLSsJLmJ5dGUJMAkvKiBlbmQgb2YgY2hpbGRyZW4gb2YgRElFIDB4NzMgKi8KLSsJLnVsZWIx MjggMHg5CS8qIChESUUgKDB4ODMpIERXX1RBR192YXJpYWJsZSkgKi8KLSsJLmFzY2lpICJmXDAi CS8qIERXX0FUX25hbWUgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX0FUX2RlY2xfZmlsZSAoZ2RiLmJh c2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jKSAqLwotKwkuYnl0ZQkweDE2CS8qIERXX0FUX2RlY2xf bGluZSAqLwotKwkuNGJ5dGUJMHg5NwkvKiBEV19BVF90eXBlICovCi0rCS5ieXRlCTB4MQkvKiBE V19BVF9leHRlcm5hbCAqLwotKwkuYnl0ZQkweDkJLyogRFdfQVRfbG9jYXRpb24gKi8KLSsJLmJ5 dGUJMHgzCS8qIERXX09QX2FkZHIgKi8KLSsJLnF1YWQJZgotKwkudWxlYjEyOCAweGEJLyogKERJ RSAoMHg5NykgRFdfVEFHX3BvaW50ZXJfdHlwZSkgKi8KLSsJLmJ5dGUJMHg4CS8qIERXX0FUX2J5 dGVfc2l6ZSAqLwotKwkuNGJ5dGUJMHgxZAkvKiBEV19BVF90eXBlICovCi0rCS5ieXRlCTAJLyog ZW5kIG9mIGNoaWxkcmVuIG9mIERJRSAweGIgKi8KLSsJLnNlY3Rpb24JLmRlYnVnX2FiYnJldiwi IixAcHJvZ2JpdHMKLSsuTGRlYnVnX2FiYnJldjA6Ci0rCS51bGViMTI4IDB4MQkvKiAoYWJicmV2 IGNvZGUpICovCi0rCS51bGViMTI4IDB4MTEJLyogKFRBRzogRFdfVEFHX2NvbXBpbGVfdW5pdCkg Ki8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLwotKwkudWxlYjEyOCAweDI1CS8q IChEV19BVF9wcm9kdWNlcikgKi8KLSsJLnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICov Ci0rCS51bGViMTI4IDB4MTMJLyogKERXX0FUX2xhbmd1YWdlKSAqLwotKwkudWxlYjEyOCAweGIJ LyogKERXX0ZPUk1fZGF0YTEpICovCi0rCS51bGViMTI4IDB4MwkvKiAoRFdfQVRfbmFtZSkgKi8K LSsJLnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCi0rCS51bGViMTI4IDB4MWIJLyog KERXX0FUX2NvbXBfZGlyKSAqLwotKwkudWxlYjEyOCAweGUJLyogKERXX0ZPUk1fc3RycCkgKi8K LSsJLnVsZWIxMjggMHgxMAkvKiAoRFdfQVRfc3RtdF9saXN0KSAqLwotKwkudWxlYjEyOCAweDYJ LyogKERXX0ZPUk1fZGF0YTQpICovCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwkudWxlYjEyOCAw eDIJLyogKGFiYnJldiBjb2RlKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChUQUc6IERXX1RBR19z dHJ1Y3R1cmVfdHlwZSkgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLwotKwku dWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCi0rCS51bGViMTI4IDB4OAkvKiAoRFdfRk9S TV9zdHJpbmcpICovCi0rCS51bGViMTI4IDB4YgkvKiAoRFdfQVRfYnl0ZV9zaXplKSAqLwotKwku dWxlYjEyOCAweDYJLyogKERXX0ZPUk1fZGF0YTQpICovCi0rCS51bGViMTI4IDB4M2EJLyogKERX X0FUX2RlY2xfZmlsZSkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLwot KwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51bGViMTI4IDB4Ygkv KiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgxCS8qIChEV19BVF9zaWJsaW5nKSAq LwotKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICovCi0rCS5ieXRlCTAKLSsJLmJ5 dGUJMAotKwkudWxlYjEyOCAweDMJLyogKGFiYnJldiBjb2RlKSAqLwotKwkudWxlYjEyOCAweGQJ LyogKFRBRzogRFdfVEFHX21lbWJlcikgKi8KLSsJLmJ5dGUJMAkvKiBEV19jaGlsZHJlbl9ubyAq LwotKwkudWxlYjEyOCAweDMJLyogKERXX0FUX25hbWUpICovCi0rCS51bGViMTI4IDB4OAkvKiAo RFdfRk9STV9zdHJpbmcpICovCi0rCS51bGViMTI4IDB4M2EJLyogKERXX0FUX2RlY2xfZmlsZSkg Ki8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLwotKwkudWxlYjEyOCAweDNi CS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRh MSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkgKi8KLSsJLnVsZWIxMjggMHgx MwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOCAweDM4CS8qIChEV19BVF9kYXRhX21l bWJlcl9sb2NhdGlvbikgKi8KLSsJLnVsZWIxMjggMHhhCS8qIChEV19GT1JNX2Jsb2NrMSkgKi8K LSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4NAkvKiAoYWJicmV2IGNvZGUpICov Ci0rCS51bGViMTI4IDB4ZAkvKiAoVEFHOiBEV19UQUdfbWVtYmVyKSAqLwotKwkuYnl0ZQkwCS8q IERXX2NoaWxkcmVuX25vICovCi0rCS51bGViMTI4IDB4MwkvKiAoRFdfQVRfbmFtZSkgKi8KLSsJ LnVsZWIxMjggMHhlCS8qIChEV19GT1JNX3N0cnApICovCi0rCS51bGViMTI4IDB4M2EJLyogKERX X0FUX2RlY2xfZmlsZSkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2RhdGExKSAqLwot KwkudWxlYjEyOCAweDNiCS8qIChEV19BVF9kZWNsX2xpbmUpICovCi0rCS51bGViMTI4IDB4Ygkv KiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkgKi8K LSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOCAweDM4CS8q IChEV19BVF9kYXRhX21lbWJlcl9sb2NhdGlvbikgKi8KLSsJLnVsZWIxMjggMHhhCS8qIChEV19G T1JNX2Jsb2NrMSkgKi8KLSsJLmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4NQkvKiAo YWJicmV2IGNvZGUpICovCi0rCS51bGViMTI4IDB4MQkvKiAoVEFHOiBEV19UQUdfYXJyYXlfdHlw ZSkgKi8KLSsJLmJ5dGUJMHgxCS8qIERXX2NoaWxkcmVuX3llcyAqLwotKwkudWxlYjEyOCAweDQ5 CS8qIChEV19BVF90eXBlKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3JlZjQpICov Ci0rCS51bGViMTI4IDB4MQkvKiAoRFdfQVRfc2libGluZykgKi8KLSsJLnVsZWIxMjggMHgxMwkv KiAoRFdfRk9STV9yZWY0KSAqLwotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg2 CS8qIChhYmJyZXYgY29kZSkgKi8KLSsJLnVsZWIxMjggMHgyMQkvKiAoVEFHOiBEV19UQUdfc3Vi cmFuZ2VfdHlwZSkgKi8KLSsJLmJ5dGUJMAkvKiBEV19jaGlsZHJlbl9ubyAqLwotKwkudWxlYjEy OCAweDQ5CS8qIChEV19BVF90eXBlKSAqLwotKwkudWxlYjEyOCAweDEzCS8qIChEV19GT1JNX3Jl ZjQpICovCi0rCS51bGViMTI4IDB4MmYJLyogKERXX0FUX3VwcGVyX2JvdW5kKSAqLwotKwkudWxl YjEyOCAweDcJLyogKERXX0ZPUk1fZGF0YTgpICovCi0rCS5ieXRlCTAKLSsJLmJ5dGUJMAotKwku dWxlYjEyOCAweDcJLyogKGFiYnJldiBjb2RlKSAqLwotKwkudWxlYjEyOCAweDI0CS8qIChUQUc6 IERXX1RBR19iYXNlX3R5cGUpICovCi0rCS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJ LnVsZWIxMjggMHhiCS8qIChEV19BVF9ieXRlX3NpemUpICovCi0rCS51bGViMTI4IDB4YgkvKiAo RFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgzZQkvKiAoRFdfQVRfZW5jb2RpbmcpICov Ci0rCS51bGViMTI4IDB4YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgzCS8q IChEV19BVF9uYW1lKSAqLwotKwkudWxlYjEyOCAweGUJLyogKERXX0ZPUk1fc3RycCkgKi8KLSsJ LmJ5dGUJMAotKwkuYnl0ZQkwCi0rCS51bGViMTI4IDB4OAkvKiAoYWJicmV2IGNvZGUpICovCi0r CS51bGViMTI4IDB4MjEJLyogKFRBRzogRFdfVEFHX3N1YnJhbmdlX3R5cGUpICovCi0rCS5ieXRl CTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkg Ki8KLSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkudWxlYjEyOCAweDJm CS8qIChEV19BVF91cHBlcl9ib3VuZCkgKi8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19GT1JNX2Rh dGExKSAqLwotKwkuYnl0ZQkwCi0rCS5ieXRlCTAKLSsJLnVsZWIxMjggMHg5CS8qIChhYmJyZXYg Y29kZSkgKi8KLSsJLnVsZWIxMjggMHgzNAkvKiAoVEFHOiBEV19UQUdfdmFyaWFibGUpICovCi0r CS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8gKi8KLSsJLnVsZWIxMjggMHgzCS8qIChEV19BVF9u YW1lKSAqLwotKwkudWxlYjEyOCAweDgJLyogKERXX0ZPUk1fc3RyaW5nKSAqLwotKwkudWxlYjEy OCAweDNhCS8qIChEV19BVF9kZWNsX2ZpbGUpICovCi0rCS51bGViMTI4IDB4YgkvKiAoRFdfRk9S TV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHgzYgkvKiAoRFdfQVRfZGVjbF9saW5lKSAqLwotKwku dWxlYjEyOCAweGIJLyogKERXX0ZPUk1fZGF0YTEpICovCi0rCS51bGViMTI4IDB4NDkJLyogKERX X0FUX3R5cGUpICovCi0rCS51bGViMTI4IDB4MTMJLyogKERXX0ZPUk1fcmVmNCkgKi8KLSsJLnVs ZWIxMjggMHgzZgkvKiAoRFdfQVRfZXh0ZXJuYWwpICovCi0rCS51bGViMTI4IDB4YwkvKiAoRFdf Rk9STV9mbGFnKSAqLwotKwkudWxlYjEyOCAweDIJLyogKERXX0FUX2xvY2F0aW9uKSAqLwotKwku dWxlYjEyOCAweGEJLyogKERXX0ZPUk1fYmxvY2sxKSAqLwotKwkuYnl0ZQkwCi0rCS5ieXRlCTAK LSsJLnVsZWIxMjggMHhhCS8qIChhYmJyZXYgY29kZSkgKi8KLSsJLnVsZWIxMjggMHhmCS8qIChU QUc6IERXX1RBR19wb2ludGVyX3R5cGUpICovCi0rCS5ieXRlCTAJLyogRFdfY2hpbGRyZW5fbm8g Ki8KLSsJLnVsZWIxMjggMHhiCS8qIChEV19BVF9ieXRlX3NpemUpICovCi0rCS51bGViMTI4IDB4 YgkvKiAoRFdfRk9STV9kYXRhMSkgKi8KLSsJLnVsZWIxMjggMHg0OQkvKiAoRFdfQVRfdHlwZSkg Ki8KLSsJLnVsZWIxMjggMHgxMwkvKiAoRFdfRk9STV9yZWY0KSAqLwotKwkuYnl0ZQkwCi0rCS5i eXRlCTAKLSsJLmJ5dGUJMAotKwkuc2VjdGlvbgkuZGVidWdfYXJhbmdlcywiIixAcHJvZ2JpdHMK LSsJLjRieXRlCTB4MWMJLyogTGVuZ3RoIG9mIEFkZHJlc3MgUmFuZ2VzIEluZm8gKi8KLSsJLjJi eXRlCTB4MgkvKiBEV0FSRiBWZXJzaW9uICovCi0rCS40Ynl0ZQkuTGRlYnVnX2luZm8wCS8qIE9m ZnNldCBvZiBDb21waWxhdGlvbiBVbml0IEluZm8gKi8KLSsJLmJ5dGUJMHg4CS8qIFNpemUgb2Yg QWRkcmVzcyAqLwotKwkuYnl0ZQkwCS8qIFNpemUgb2YgU2VnbWVudCBEZXNjcmlwdG9yICovCi0r CS4yYnl0ZQkwCS8qIFBhZCB0byAxNiBieXRlIGJvdW5kYXJ5ICovCi0rCS4yYnl0ZQkwCi0rCS5x dWFkCTAKLSsJLnF1YWQJMAotKwkuc2VjdGlvbgkuZGVidWdfbGluZSwiIixAcHJvZ2JpdHMKLSsu TGRlYnVnX2xpbmUwOgotKwkuc2VjdGlvbgkuZGVidWdfc3RyLCJNUyIsQHByb2diaXRzLDEKLSsu TEFTRjQ6Ci0rCS5zdHJpbmcJImdkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYyIKLSsuTEFT RjM6Ci0rCS5zdHJpbmcJIkdOVSBDIDQuNy4zIDIwMTIxMTA5IChwcmVyZWxlYXNlKSIKLSsuTEFT RjA6Ci0rCS5zdHJpbmcJImJ1ZjIiCi0rLkxBU0YxOgotKwkuc3RyaW5nCSJzaXpldHlwZSIKLSsu TEFTRjU6Ci0rCS5zdHJpbmcJIiIKLSsuTEFTRjI6Ci0rCS5zdHJpbmcJImNoYXIiCi0rCS5pZGVu dAkiR0NDOiAoR05VKSA0LjcuMyAyMDEyMTEwOSAocHJlcmVsZWFzZSkiCi0rCS5zZWN0aW9uCS5u b3RlLkdOVS1zdGFjaywiIixAcHJvZ2JpdHMKLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRlL2dk Yi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYnoyLnV1IGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9sb25nZXN0LXR5cGVzLTY0Yml0LmJ6Mi51dQotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAv ZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJp dC5iejIudXUKLUBAIC0wLDAgKzEsNjcgQEAKLStiZWdpbiA3NTUgZ2RiLmJhc2UvbG9uZ2VzdC10 eXBlcy02NGJpdC5iejIKLStNMEVJSC4zJSE2MjkzNjwnTiNPSGAiRy9fX19fX19fX15fX19fX18/ X1lfX19fX18vL103U1FENSdeL18lCi0rTT1WWTc/Rl9bWGBGXV1TRzc1MzEtPT1WOlotLkZXO00u VTc9Jzs6VUhAPCZGRDMxLEUzXUonSEUtL1RSQAotK01dNF81LzMyOyUvVTNdMS0tSFUvVSQjJFIn SSdKLEZDMFQtLClCJ0ojOkNVLEZAXTBgLzQ6PkZAQ1UvNCwKLStNQUAkUzI+SUghSGBUUi8wLSQk OjlgQygmRkhVM1ZFLUo7NFwlLEA+NFQ6I100OS1KLzRgPkhUIUgjMyleCi0rTUpgIUgtYGBUXTAm QC1gYGA6J0pgYCZAYDo5IWBSOSxAJjMoYCMzISMwIUhgYC0jJC0tYCxAYGBUYFQjKAotK006YDpg JjAmQDo6LDA6LWBgYDpgYC1gRS0kMSM0LTM6NF0zUjktMzkoUS8pIzNSLTMwOjkjJFQhRCFIJkAK LStNLENUR0khSCMoIzBUYCMwYGBUYFRgOmBgLWBgVGAwLEYzKCFEUmBgVFAwVGA6YGAjMFEjMzAj KGBgLWAtCi0rTWBSJkAmQCFEIUgmRkMkJkMwYGAmQGAjMCklKUgzMj5KR1omISlaMUIxWEApRFRW QzQ+SGAmMDpgYFImQAotK00sQzA6YGBUYGAsQzBgYCFIYGAjKGBUYDojMFVeXD9dN0s4TS45NlYv Mls/TSpEQyk+V0lVRilIN1RcPFQKLStNWzBEKTcwRzI1LllCISw6OzhRKDsmWFBBQjQrJFElOlAp UEEtO0U9IS0mJEtOUjIyRU0+JDpLS1JFJlxRCi0rTS4uTV1MMSosIT5EIVgpUlcsWywxSSw5TiVY LU4mMisqOiYpREpZNChWRlFHJTlLWy8/SjA2V0FDRjYtSQotK01KJkpKOSxaSzQ7WDI4TUBbPT0l TUUoQTU0OiU+KzMtPk1SSyhHITgjVFk+QEUkNkRSJjxfNTpDJi9SWkUKLStNSTxPTitSWTVgTEEi QEREJCRERiFJOU9dNVglRzk4NV89VjwuOz9LOTpHMlItI0s8Q0IsMTsyNkE8SDRHCi0rTTNSM0kh KVdYLC0lPiwhRTYjYDsqOFIqRUArKyopKVUpWzY9T0tGTSUnKyQtSDVcWEAxRClfWSoiTktWLgot K00mXEY4P1NYV148T11fRFcuOFdEQEhZLk5NTUlCWEZWUk9NX1NLWiM0LWA+SFE6WUAoUVsuPlBF Rz1dQF4KLStNJUMiM0VaLzFYJ0gqMDJaUUgiOjYiQDs4WjBMRVc2PE9LSiUkYDAxJWBCO08hTipX MVYuSEMkYGAsOkNTCi0rTTYoL09USSctOk82PTckLyM/MFQ5UVtHU1kxKTZWYCtDVkAjWFdNRmA8 UzpBRzwhNDNYIlZHRCxFPT4pPgotK002XlY9KmBGQic1RzRNRDhMM0o1WFQjU1c7SjFdWk8rIlNQ SVMlSihQNDYrUT1DQzIkSC1gLUImVEQpTWAKLStNJkE6MDY2REElQUIwQzYsNDYwPk04QiskOi1C UiZATk0oKUZgUycsLEY4KyMmMC5TTU9LQC5HPCc4M04uCi0rTURBIiM1LWBKVkMoIjEqVEE7L00o KSY4SjArWUglSUZWKStPQUA0LGBFPzNNJFskQCZRYDNdQSEkJkEoLQotK00kUEJUKzIsQFBVKzJI OShULUgzTjYnKDI7IiIlMlQqMUkyUEBgTD9BRzgmQSE9MzFKNykxKDlGQic4WD0KLStNV0owUyNZ RUc5SyQuIy5bTC5bQ05BIjRKU0peR0syKilVSD1NQzAuUjgrRTc1Jy4wOTxOVSZSMEcxPltHCi0r TU1RMSpbR0k6PiM+S2BfTlpTOlY2PiRLO09YNiMhIU4nIjI0MTMkRFRMJl03S1k+QjwzVjUhIUM4 I1g1KwotK01GJTk8TlxdQyVCNk9TO0xIQDFMUjNSPExTKzxdTl05XEpaPExKIzJfUzInVVcoJ0Ra IU4+WCE4Tk9LTTUKLStNKyJOJlA0Ljc1QzE2IUE5UTs6Qy42TmBXWkRWPS1dITxCVEI8MVEqUChU NCcmKjI6QCQ9SkAoTTgpITU9Ci0rTU87W0VDUz4sNVBHPFRbWEM1OTRYSTBAUlZQRDg2LE0xMSUo VD5dU05QW0dWXkw/WUdJXTdfJ0Q4Tj9YVgotK00nWzdLWkpXWVZNWEdCUVNbYCEpWUklMzpEKUky ITslJ1JgVyZZQjxgOU8yI0YiQy8pRjtKSzlQK0AzJigKLStNQUgzMVtXKT1ZQ09EUURVS05NN0Ei My5DITIlQ0hUSk5aIlpcKyNGLT8oRExFPlhBQyUwN0I4OyQlSl9MCi0rTUpQSzQ4UUMmLDkxNj1J TSs8MSZXUktMQjYmUTJPNzkqITdTJCxgN0o4KiFgIT1LOjVXNTUwW05IOU0jXwotK01LTCFMVCwm OzU5R1pXN1MiNVo0JWAlJiFgOSJKOWAwOklSJkg9TVRLVD1QRVlDJCw0SzkwTTlBVCclO18KLStN QjBIVkxFKShXJllXRixDOlRVUlhPOmBNW1JYKEEtR1Q5NzQ1NlE0WipIUFUqNEo6KltXVS00R0Qu OVVWCi0rTVNBI0w0WFtbKlkrKThJRi5FTzwuVFA0SUMyPyg0SFgpVzEjOkdPTU9EMkY7SE0xQlYj PEUlUE0rMCZONQotK01QQCRcJEZENEMtUV5MIkheKU5QMi0uXkpUVCE4KyE7J1o9S003JSdLQFwp KlBTRVRGJk02PFEjPjtQSFsKLStNNzpQSi0hIywhNk48MycpLTBDLD4xNSdJWj5AVV5DSkpKKz4r PiUlKSVCQkFURFwpKkY2JkJMTUlSJj9cCi0rTVEyXz8zM0AiTlIxL0NOXDopPjVERzZgPiQ7JDNR QTk0Jy0zXSpDVTZZR10pPD0yKSdHQyJSUC1SSyYtMwotK01aRFQtTV8pUitGMDZEUz9DUj5FQF4h LDMzIlU2WDxAT1hPJFE+VSRcVEBJVTxILTQyPTBZRVskLFRgXEgKLStNKCc+J0BUPT5LYEc3SDhL NUdMWE1TMypeQEpMVkJISEUnLiY/OVJLQz9ZYCYmM0o1IS9DJCsrPEBVI1EnCi0rTTlSM0kuJCtT YCVdLS5VTz5XSF5DNzNGPCY7UklKUisoUUA3KDNQUCpXWy1PLCxERDNTN0JVS15JQEQlKgotK01g WTwqMlRYSiY3OzInNidSLlU+XTAtPSJNYEsrJk4lLz09TjRVQDklQE0xKVUmMjUxQygkXlMiV0wi XVQKLStNLVhOJ0QyW0lJMy0kSyUrJmAzWydPKSUsOEcqRSVfOFJWNkE1Ql80KDIvPy1BSUMuXC8+ LFlGSjwoRy44Ci0rTUFWUD9VTio9TUU6NyZUIUMlKUk6JjRIOi01PiZeISYwPkEuTycwRycvNiZa Wjk2NEAwNCY9I0RDYCUmOgotK01VTkxPUz8sPydUOlQhOEw4MDxIX1cxPj0nTTo5Nks0O0pYKTYu KCcxI0okLjEvTCkkSVM8NC8qJzJEMzQKLStNL0BKXEJBKEkyVDQwSlMlOUc4RiE3VTVfISMnVSEr WzckRVMmKUA6KlFBRVQtSUJYNidfTjVeNy8jPkBWCi0rTU4zJiwtNihBR1s4JiE4TFYrRl9VIlc/ LykrWV4sOz0xSzpTVzI4PDBXQTIiVVBIUF44RkcjUiQhYFlgLAotK01MRjxgVSpOTlVcWzZOMDMi Kj9JOEQ9SzcuWipIPUFfMzxIMVolLlE4JTJTUkBJNDUoJy5FR1I8Tl5cYFoKLStNXFtaXEQrLzM+ NztTPUxWQyhCUSw1PE0wQSIjYF03VUs3VzMlNSg6RkJNRVIzWFNQMTVOISlgLV5aSlolCi0rTTo0 KT44UV9cI0dgJ1AqXy1dVCFHNCRgVjBCU10nUylELztWN1I/LjJGP1NGKU4rMisjUDJfPEcjMUIp QwotK00oOD9ORi8rPzpVTVIzQiM5JE1CRENJMkc3Jk4nVGBGViFFUlFbMjFET0pfOEk3MyNCSUxU VFNLKUI1UDwKLStNRzIyUz0qN1RJPkcoNDlUQ0UmKlVJVlQtTVA4MDhWVFZWLSQoKmBWVDwlPiU5 NkFIT0xgKDclU0kyJS1SCi0rTSNHMkYwMlZRUUgtN0tUM0UwNUk5WilFXCRZOEVEMUtVYCg0UUhU JUJdMSRGOkYxJjhEQU4uUTQmKj9GQAotK00uOEQ5NjUuJFBSSDxWRCsoKSI4JkklPFIiUCxZW0Es KV5CKE8lMShKJSwpTShPNik4RSVMWT9DNlhAQEsKLStNKEYhMlRBXCxSRTxPIkUyKkc/SkUyWUZc Kk9KTT8kS1dYVzZSKDNMUi0pVy5bOlpKQz9aRTQsKCJKJCgpCi0rTTVAVSE2Mk0iV0JKPSZRKEwk NSw0NDk0Sz0uMEIwIyxDMyQqYGBYTFRGJEROITZQIyUsNEslSFRJQ1sqTwotK002IjRTLDtSTiZA PU5QN0A3Mjo9VSMmSlBCUS02ME9FQVdZO0NVWUYrJDczLlI+VDVIRCxHPUchS1RGM0QKLStNOTQi JlpBLUYsLjE5PThgXChRO0EwN1ElITE5KjMjKkY5UStEKDBLQFY4N0BPLj03RUpJTTZgITRgPkQh Ci0rTSk0OVFIQSFCVis6NE9ASzAwJCQhNSo2PkFAMkA0RClAUlwiJSQyRiJPOjI0SipMKFJQI047 TzRLN0kmMgotK01bIylLUjQ3SC1OWzxPXlMtKSJfUVw+VkolMz4kYDksQUY4UUlEJkkzRytEYCpd Qlg5OEIkMksiOkE3X1wKLStNX103TFQhNCwkTkw1KU5FPjlbOk1LMl8vJ0dPOjciUGA9PFgnIlU5 IiIwPFBKYDNgLjoqKFpdLS5HUSw5Ci0rTT5QKFxMXU8/Ii1BUEgoODM0JCxXIUlKUytVMUYxQy4h RCQhJktTXi02JUY5MFBRW0ZdRj0kXlFFXFgrLQotK01ALlcqTFBIXzc4Qj5NSEhANjlSVVsqJzFK QDhRQUNcS1NWQElHXCg7X0NVVzpaUjIuLDAkRTNMWl9eUD0KLStNPF9EQ1AiUTxgOytfO1lQI15V JSZFXiMyTSUsVD9GM1VOXj5UU0gpR0ZMIlwlUkZbS05aK1tSK0A8Ji4kCi0rTUM0MilCOTZcMS0u T19JKS5LNylYXVc+RVEpOjRDKFhCKis6UyUwXzM3RF5FQlArMUhVKEQ/MyIlX08yUgotK002LSNY PkFVIzwkKiEvLFc2UUNeO09eJV1MUiZfWCc8OFgkPDNDVVVfUUZBSjsiPkgpMjQ0M0dENFchNCMK LSs/PDU1ITJeNl84SiQpLU88PlxIMFUvNlFePlVHMCVXKSUuJSIwUD5YLl5AYGAKLStgCi0rZW5k Ci1kaWZmIC0tZ2l0IGEvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFzZS9sb25nZXN0LXR5cGVzLTY0Yml0 LmMgYi9nZGIvdGVzdHN1aXRlL2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuYwotbmV3IGZp bGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJh c2UvbG9uZ2VzdC10eXBlcy02NGJpdC5jCi1AQCAtMCwwICsxLDI4IEBACi0rLyogVGhpcyB0ZXN0 Y2FzZSBpcyBwYXJ0IG9mIEdEQiwgdGhlIEdOVSBkZWJ1Z2dlci4KLSsKLSsgICBDb3B5cmlnaHQg MjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSsKLSsgICBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQot KyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5Ci0rICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy IHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKLSsgICAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgotKwotKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0rICAgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotKyAgIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0rCi0rICAgWW91IHNo b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UKLSsgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4gICovCi0rCi0rc3RydWN0IGZvbwotK3sKLSsgIGNoYXIgYnVm WzB4ZmZmZjAwMDAwMF07Ci0rICBjaGFyIGJ1ZjJbMl07Ci0rfSAqZjsKLSsKLStpbnQKLSttYWlu ICh2b2lkKQotK3sKLSsgIHJldHVybiAwOwotK30KLWRpZmYgLS1naXQgYS9nZGIvdGVzdHN1aXRl L2dkYi5iYXNlL2xvbmdlc3QtdHlwZXMtNjRiaXQuZXhwIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYmFz ZS9sb25nZXN0LXR5cGVzLTY0Yml0LmV4cAotbmV3IGZpbGUgbW9kZSAxMDA2NDQKLS0tLSAvZGV2 L251bGwKLSsrKyBiL2dkYi90ZXN0c3VpdGUvZ2RiLmJhc2UvbG9uZ2VzdC10eXBlcy02NGJpdC5l eHAKLUBAIC0wLDAgKzEsNTkgQEAKLSsjIFRoaXMgdGVzdGNhc2UgaXMgcGFydCBvZiBHREIsIHRo ZSBHTlUgZGVidWdnZXIuCi0rCi0rIyBDb3B5cmlnaHQgMjAxMiBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24sIEluYy4KLSsKLSsjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0rIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKLSsjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0rIwotKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0rIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQotKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KLSsjCi0rIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0rCi0rc3RhbmRh cmRfdGVzdGZpbGUgLmMgbG9uZ2VzdC10eXBlcy02NGJpdC5TCi0rCi0rcHJvYyB0ZXN0IHsgbmFt ZSB9IHsgd2l0aF90ZXN0X3ByZWZpeCAkbmFtZSB7Ci0rICAgICMgNjQtYml0IGFycmF5IHNpemUg c2hvdWxkIG5vdCBvdmVyZmxvdwotKyAgICBnZGJfdGVzdCAicHJpbnQgJmYtPmJ1ZiIgez0gXChj aGFyIFwoXCpcKVxbMTA5OTQ5NDg1MDU2MFxdXCkgMHgwfQotKwotKyAgICAjIFRoZSBvZmZzZXQg c2hvdWxkIG5vdCBvdmVyZmxvdwotKyAgICBnZGJfdGVzdCAicHJpbnQgJmYtPmJ1ZjIiIHs9IFwo Y2hhciBcKFwqXClcWzJcXVwpIDB4ZmZmZjAwMDAwMH0KLSt9fQotKwotKwotKyMgVGVzdCA2NC1i aXQgZmlsZSBmaXJzdCBhcyBpdCBpcyBub3QgY29tcGlsZWQgc28gaXRzIGNvbXBpbGF0aW9uIG5l dmVyIGZhaWxzLgotKwotK3NldCBmaWxlNjRiaXRiejJ1dSAke3NyY2Rpcn0vJHtzdWJkaXJ9LyR7 dGVzdGZpbGV9LmJ6Mi51dQotK3NldCBmaWxlNjRiaXQgW3N0YW5kYXJkX291dHB1dF9maWxlICR7 dGVzdGZpbGV9XQotKwotK2lmIHtbY2F0Y2ggInN5c3RlbSBcInV1ZGVjb2RlIC1vIC0gJHtmaWxl NjRiaXRiejJ1dX0gfCBiemlwMiAtZGMgPiR7ZmlsZTY0Yml0fVwiIl0gIT0gMH0gewotKyAgICB1 bnRlc3RlZCAiZmFpbGVkIHV1ZGVjb2RlIG9yIGJ6aXAyIgotKyAgICByZXR1cm4gLTEKLSt9Ci0r ZmlsZSBzdGF0ICR7ZmlsZTY0Yml0fSBmaWxlNjRiaXRzdGF0Ci0raWYgeyRmaWxlNjRiaXRzdGF0 KHNpemUpICE9IDk1MDF9IHsKLSsgICAgdW50ZXN0ZWQgInV1ZGVjb2RlIG9yIGJ6aXAyIHByb2R1 Y2UgaW52YWxpZCByZXN1bHQiCi0rICAgIHJldHVybiAtMQotK30KLSsKLStjbGVhbl9yZXN0YXJ0 ICR7ZmlsZTY0Yml0fQotKwotKyNpZiB7IFtwcmVwYXJlX2Zvcl90ZXN0aW5nICR7dGVzdGZpbGV9 LmV4cCAke3Rlc3RmaWxlfSAkc3JjZmlsZTIge25vZGVidWd9XSB9IHsKLSsjICAgIHJldHVybiAt MQotKyN9Ci0rCi0rdGVzdCAiNjRiaXQiCi0rCi0rCi0rIyBBbmQgaGVyZSBpcyB0aGUgbmF0aXZl IGJ1aWxkIHRlc3QuCi0rCi0raWYgeyBbcHJlcGFyZV9mb3JfdGVzdGluZyAke3Rlc3RmaWxlfS5l eHAgJHt0ZXN0ZmlsZX0gJHNyY2ZpbGUge2RlYnVnIHF1aWV0fV0gfSB7Ci0rICAgIHJldHVybiAt MQotK30KLSsKLSt0ZXN0ICJuYXRpdmUiCgpkaWZmIC0tZ2l0IGEvZ2RiLXZsYS1pbnRlbC1maXgt cHJpbnQtY2hhci1hcnJheS5wYXRjaCBiL2dkYi12bGEtaW50ZWwtZml4LXByaW50LWNoYXItYXJy YXkucGF0Y2gKaW5kZXggOTQ0ZjgyYi4uMjJkNDU1MyAxMDA2NDQKLS0tIGEvZ2RiLXZsYS1pbnRl bC1maXgtcHJpbnQtY2hhci1hcnJheS5wYXRjaAorKysgYi9nZGItdmxhLWludGVsLWZpeC1wcmlu dC1jaGFyLWFycmF5LnBhdGNoCkBAIC0yMiw3ICsyMiw3IEBAIEFuZCBhZGp1c3QgaXRzIHRlc3Rj YXNlLgogZGlmZiAtLWdpdCBhL2dkYi9mLXZhbHByaW50LmMgYi9nZGIvZi12YWxwcmludC5jCiAt LS0gYS9nZGIvZi12YWxwcmludC5jCiArKysgYi9nZGIvZi12YWxwcmludC5jCi1AQCAtMzEzLDgg KzMxMywyMiBAQCBmX3ZhbF9wcmludCAoc3RydWN0IHR5cGUgKnR5cGUsIExPTkdFU1QgZW1iZWRk ZWRfb2Zmc2V0LAorQEAgLTMxMyw4ICszMTMsMjIgQEAgZl92YWxfcHJpbnQgKHN0cnVjdCB0eXBl ICp0eXBlLCBpbnQgZW1iZWRkZWRfb2Zmc2V0LAogIAkJCQkgICAgICBvcmlnaW5hbF92YWx1ZSwg Jm9wdHMsIDAsIHN0cmVhbSk7CiAgCX0KICAgICAgICBlbHNlCgpkaWZmIC0tZ2l0IGEvZ2RiLXZs YS1pbnRlbC1mb3J0cmFuLXN0cmlkZXMucGF0Y2ggYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3Ry aWRlcy5wYXRjaAppbmRleCA3YjBmYmUzLi4zMDE2ZTI3IDEwMDY0NAotLS0gYS9nZGItdmxhLWlu dGVsLWZvcnRyYW4tc3RyaWRlcy5wYXRjaAorKysgYi9nZGItdmxhLWludGVsLWZvcnRyYW4tc3Ry aWRlcy5wYXRjaApAQCAtMzcsNyArMzcsNyBAQCBkYmZkNzE0MGJmNGMwNTAwZDFmNWQxOTJiZTc4 MWY4M2Y3OGY3OTIyCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5jIGIvZ2RiL2R3YXJmMmxv Yy5jCiAtLS0gYS9nZGIvZHdhcmYybG9jLmMKICsrKyBiL2dkYi9kd2FyZjJsb2MuYwotQEAgLTI0 MjgsMTEgKzI0MjgsMTQgQEAgZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0 IGR3YXJmMl9sb2NleHByX2JhdG9uICpkbGJhdG9uLAorQEAgLTI0MjUsMTEgKzI0MjUsMTQgQEAg ZHdhcmYyX2xvY2V4cHJfYmF0b25fZXZhbCAoY29uc3Qgc3RydWN0IGR3YXJmMl9sb2NleHByX2Jh dG9uICpkbGJhdG9uLAogIC8qIFNlZSBkd2FyZjJsb2MuaC4gICovCiAgCiAgaW50CkBAIC01NCw3 ICs1NCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMK ICAgIGlmIChwcm9wID09IE5VTEwpCiAgICAgIHJldHVybiAwOwogIAotQEAgLTI0NTYsNyArMjQ1 OSw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJv cCAqcHJvcCwKK0BAIC0yNDUzLDcgKzI0NTYsNyBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkg KGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCiAgCQkqdmFsdWUgPSB2YWx1ZV9h c19hZGRyZXNzICh2YWwpOwogIAkgICAgICB9CkBAIC02Myw3ICs2Myw3IEBAIGRpZmYgLS1naXQg YS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICAJICB9CiAgICAgICAgfQogICAg ICAgIGJyZWFrOwotQEAgLTI0NzgsNyArMjQ4MSw3IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0 eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAqcHJvcCwKK0BAIC0yNDc1LDcgKzI0NzgsNyBA QCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnBy b3AsCiAgCSAgICBpZiAoIXZhbHVlX29wdGltaXplZF9vdXQgKHZhbCkpCiAgCSAgICAgIHsKICAJ CSp2YWx1ZSA9IHZhbHVlX2FzX2FkZHJlc3MgKHZhbCk7CkBAIC03Miw3ICs3Miw3IEBAIGRpZmYg LS1naXQgYS9nZGIvZHdhcmYybG9jLmMgYi9nZGIvZHdhcmYybG9jLmMKICAJICAgICAgfQogIAkg IH0KICAgICAgICB9Ci1AQCAtMjQ4Niw4ICsyNDg5LDggQEAgZHdhcmYyX2V2YWx1YXRlX3Byb3Bl cnR5IChjb25zdCBzdHJ1Y3QgZHluYW1pY19wcm9wICpwcm9wLAorQEAgLTI0ODMsOCArMjQ4Niw4 IEBAIGR3YXJmMl9ldmFsdWF0ZV9wcm9wZXJ0eSAoY29uc3Qgc3RydWN0IGR5bmFtaWNfcHJvcCAq cHJvcCwKICAKICAgICAgY2FzZSBQUk9QX0NPTlNUOgogICAgICAgICp2YWx1ZSA9IHByb3AtPmRh dGEuY29uc3RfdmFsOwpAQCAtODMsNyArODMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxv Yy5jIGIvZ2RiL2R3YXJmMmxvYy5jCiAgICAgIGNhc2UgUFJPUF9BRERSX09GRlNFVDoKICAgICAg ICB7CiAgCXN0cnVjdCBkd2FyZjJfcHJvcGVydHlfYmF0b24gKmJhdG9uCi1AQCAtMjUwOCwxMSAr MjUxMSwzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJvcGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWlj X3Byb3AgKnByb3AsCitAQCAtMjUwNSwxMSArMjUwOCwzOCBAQCBkd2FyZjJfZXZhbHVhdGVfcHJv cGVydHkgKGNvbnN0IHN0cnVjdCBkeW5hbWljX3Byb3AgKnByb3AsCiAgCSAgdmFsID0gdmFsdWVf YXQgKGJhdG9uLT5vZmZzZXRfaW5mby50eXBlLAogIAkJCSAgcGluZm8tPmFkZHIgKyBiYXRvbi0+ b2Zmc2V0X2luZm8ub2Zmc2V0KTsKICAJKnZhbHVlID0gdmFsdWVfYXNfYWRkcmVzcyAodmFsKTsK QEAgLTE0Myw3ICsxNDMsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMmxvYy5oIGIvZ2RiL2R3 YXJmMmxvYy5oCiBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFk LmMKIC0tLSBhL2dkYi9kd2FyZjJyZWFkLmMKICsrKyBiL2dkYi9kd2FyZjJyZWFkLmMKLUBAIC0x Nzc1MSw3ICsxNzc1MSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpk aWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3Nzg0LDcgKzE3Nzg0LDcgQEAgcmVhZF9z dWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgICBzdHJ1Y3QgdHlwZSAqYmFzZV90eXBlLCAqb3JpZ19iYXNlX3R5cGU7CiAgICBzdHJ1Y3Qg dHlwZSAqcmFuZ2VfdHlwZTsKICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHI7CkBAIC0xNTIsNyAr MTUyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5j CiAgICBpbnQgbG93X2RlZmF1bHRfaXNfdmFsaWQ7CiAgICBpbnQgaGlnaF9ib3VuZF9pc19jb3Vu dCA9IDA7CiAgICBjb25zdCBjaGFyICpuYW1lOwotQEAgLTE3NzcxLDcgKzE3NzcxLDkgQEAgcmVh ZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAq Y3UpCitAQCAtMTc4MDQsNyArMTc4MDQsOSBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAKICAgIGxvdy5raW5kID0gUFJP UF9DT05TVDsKICAgIGhpZ2gua2luZCA9IFBST1BfQ09OU1Q7CkBAIC0xNjIsNyArMTYyLDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgCiAgICAv KiBTZXQgTE9XX0RFRkFVTFRfSVNfVkFMSUQgaWYgY3VycmVudCBsYW5ndWFnZSBhbmQgRFdBUkYg dmVyc2lvbiBhbGxvdwogICAgICAgb21pdHRpbmcgRFdfQVRfbG93ZXJfYm91bmQuICAqLwotQEAg LTE3ODA0LDYgKzE3ODA2LDE0IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZv ICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODM3LDYgKzE3ODM5LDE0IEBAIHJl YWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogICAgICAgIGJyZWFrOwogICAgICB9CiAgCkBAIC0xNzcsNyArMTc3LDcgQEAgZGlmZiAt LWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgICBhdHRyID0gZHdh cmYyX2F0dHIgKGRpZSwgRFdfQVRfbG93ZXJfYm91bmQsIGN1KTsKICAgIGlmIChhdHRyKQogICAg ICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoYXR0ciwgZGllLCBjdSwgJmxvdyk7Ci1AQCAtMTc4OTYs NyArMTc5MDYsNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBz dHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzkyOSw3ICsxNzkzOSw3IEBAIHJlYWRfc3VicmFu Z2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAg ICAgICYmICFUWVBFX1VOU0lHTkVEIChiYXNlX3R5cGUpICYmIChoaWdoLmRhdGEuY29uc3RfdmFs ICYgbmVnYXRpdmVfbWFzaykpCiAgICAgIGhpZ2guZGF0YS5jb25zdF92YWwgfD0gbmVnYXRpdmVf bWFzazsKICAKQEAgLTE4OSw3ICsxODksNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQu YyBiL2dkYi9kd2FyZjJyZWFkLmMKIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwu YwogLS0tIGEvZ2RiL2V2YWwuYwogKysrIGIvZ2RiL2V2YWwuYwotQEAgLTM3NywyOSArMzc3LDMy NCBAQCBpbml0X2FycmF5X2VsZW1lbnQgKHN0cnVjdCB2YWx1ZSAqYXJyYXksIHN0cnVjdCB2YWx1 ZSAqZWxlbWVudCwKK0BAIC0zNzUsMjkgKzM3NSwzMjQgQEAgaW5pdF9hcnJheV9lbGVtZW50IChz dHJ1Y3QgdmFsdWUgKmFycmF5LCBzdHJ1Y3QgdmFsdWUgKmVsZW1lbnQsCiAgICByZXR1cm4gaW5k ZXg7CiAgfQogIApAQCAtNTMzLDcgKzUzMyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXZhbC5jIGIv Z2RiL2V2YWwuYwogIH0KICAKICAKLUBAIC0xMjQyLDE5ICsxNTM3LDYgQEAgZXZhbHVhdGVfZnVu Y2FsbCAodHlwZSAqZXhwZWN0X3R5cGUsIGV4cHJlc3Npb24gKmV4cCwgaW50ICpwb3MsCitAQCAt MTIzOCwxOSArMTUzMyw2IEBAIGV2YWx1YXRlX2Z1bmNhbGwgKHR5cGUgKmV4cGVjdF90eXBlLCBl eHByZXNzaW9uICpleHAsIGludCAqcG9zLAogICAgcmV0dXJuIGV2YWxfY2FsbCAoZXhwLCBub3Np ZGUsIG5hcmdzLCBhcmd2ZWMsIHZhcl9mdW5jX25hbWUsIGV4cGVjdF90eXBlKTsKICB9CiAgCkBA IC01NTMsNyArNTUzLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiAg c3RydWN0IHZhbHVlICoKICBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpl eHBlY3RfdHlwZSwKICAJCQkgIHN0cnVjdCBleHByZXNzaW9uICpleHAsIGludCAqcG9zLAotQEAg LTE5NDksMzMgKzIyMzEsOCBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBl ICpleHBlY3RfdHlwZSwKK0BAIC0xOTQ1LDMzICsyMjI3LDggQEAgZXZhbHVhdGVfc3ViZXhwX3N0 YW5kYXJkIChzdHJ1Y3QgdHlwZSAqZXhwZWN0X3R5cGUsCiAgICAgICAgc3dpdGNoIChjb2RlKQog IAl7CiAgCWNhc2UgVFlQRV9DT0RFX0FSUkFZOgpAQCAtNTg4LDcgKzU4OCw3IEBAIGRpZmYgLS1n aXQgYS9nZGIvZXZhbC5jIGIvZ2RiL2V2YWwuYwogIAogIAljYXNlIFRZUEVfQ09ERV9QVFI6CiAg CWNhc2UgVFlQRV9DT0RFX0ZVTkM6Ci1AQCAtMjM4NSw0OSArMjY0Miw2IEBAIGV2YWx1YXRlX3N1 YmV4cF9zdGFuZGFyZCAoc3RydWN0IHR5cGUgKmV4cGVjdF90eXBlLAorQEAgLTIzODQsNDkgKzI2 NDEsNiBAQCBldmFsdWF0ZV9zdWJleHBfc3RhbmRhcmQgKHN0cnVjdCB0eXBlICpleHBlY3RfdHlw ZSwKICAJfQogICAgICAgIHJldHVybiAoYXJnMSk7CiAgCkBAIC02MzgsNyArNjM4LDcgQEAgZGlm ZiAtLWdpdCBhL2dkYi9ldmFsLmMgYi9nZGIvZXZhbC5jCiAgICAgIGNhc2UgQklOT1BfTE9HSUNB TF9BTkQ6CiAgICAgICAgYXJnMSA9IGV2YWx1YXRlX3N1YmV4cCAoTlVMTF9UWVBFLCBleHAsIHBv cywgbm9zaWRlKTsKICAgICAgICBpZiAobm9zaWRlID09IEVWQUxfU0tJUCkKLUBAIC0zMzQ3LDYg KzM1NjEsOSBAQCBjYWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1Y3QgdHlwZSAqYXJyYXlfdHlwZSkK K0BAIC0zMzQ2LDYgKzM1NjAsOSBAQCBjYWxjX2Y3N19hcnJheV9kaW1zIChzdHJ1Y3QgdHlwZSAq YXJyYXlfdHlwZSkKICAgIGludCBuZGltZW4gPSAxOwogICAgc3RydWN0IHR5cGUgKnRtcF90eXBl OwogIApAQCAtNzIzLDcgKzcyMyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZXhwcHJpbnQuYyBiL2dk Yi9leHBwcmludC5jCiBkaWZmIC0tZ2l0IGEvZ2RiL2V4cHJlc3Npb24uaCBiL2dkYi9leHByZXNz aW9uLmgKIC0tLSBhL2dkYi9leHByZXNzaW9uLmgKICsrKyBiL2dkYi9leHByZXNzaW9uLmgKLUBA IC0xNTAsMjggKzE1MCwyNyBAQCBleHRlcm4gdm9pZCBkdW1wX3Jhd19leHByZXNzaW9uIChzdHJ1 Y3QgZXhwcmVzc2lvbiAqLAorQEAgLTE2NCwyOCArMTY0LDI3IEBAIGV4dGVybiB2b2lkIGR1bXBf cmF3X2V4cHJlc3Npb24gKHN0cnVjdCBleHByZXNzaW9uICosCiAgCQkJCSBzdHJ1Y3QgdWlfZmls ZSAqLCBjb25zdCBjaGFyICopOwogIGV4dGVybiB2b2lkIGR1bXBfcHJlZml4X2V4cHJlc3Npb24g KHN0cnVjdCBleHByZXNzaW9uICosIHN0cnVjdCB1aV9maWxlICopOwogIApAQCAtNzc1LDEyICs3 NzUsMTIgQEAgZGlmZiAtLWdpdCBhL2dkYi9leHByZXNzaW9uLmggYi9nZGIvZXhwcmVzc2lvbi5o CiBkaWZmIC0tZ2l0IGEvZ2RiL2YtZXhwLnkgYi9nZGIvZi1leHAueQogLS0tIGEvZ2RiL2YtZXhw LnkKICsrKyBiL2dkYi9mLWV4cC55Ci1AQCAtMjcwLDMxICsyNzAsNjMgQEAgYXJnbGlzdCA6CXN1 YnJhbmdlCitAQCAtMjc2LDMxICsyNzYsNjMgQEAgYXJnbGlzdCA6CXN1YnJhbmdlCiAgICAgCiAg YXJnbGlzdAk6CWFyZ2xpc3QgJywnIGV4cCAgICVwcmVjIEFCT1ZFX0NPTU1BCi0gCQkJeyBhcmds aXN0X2xlbisrOyB9CisgCQkJeyBwc3RhdGUtPmFyZ2xpc3RfbGVuKys7IH0KICsJfAlhcmdsaXN0 ICcsJyBzdWJyYW5nZQklcHJlYyBBQk9WRV9DT01NQQotKwkJCXsgYXJnbGlzdF9sZW4rKzsgfQor KwkJCXsgcHN0YXRlLT5hcmdsaXN0X2xlbisrOyB9CiAgCTsKICAKICAvKiBUaGVyZSBhcmUgZm91 ciBzb3J0cyBvZiBzdWJyYW5nZSB0eXBlcyBpbiBGOTAuICAqLwpAQCAtMTAzMyw3ICsxMDMzLDcg QEAgZGlmZiAtLWdpdCBhL2dkYi9nZGJ0eXBlcy5oIGIvZ2RiL2dkYnR5cGVzLmgKIGRpZmYgLS1n aXQgYS9nZGIvcGFyc2UuYyBiL2dkYi9wYXJzZS5jCiAtLS0gYS9nZGIvcGFyc2UuYwogKysrIGIv Z2RiL3BhcnNlLmMKLUBAIC05OTAsMjQgKzk5MCwyMCBAQCBvcGVyYXRvcl9sZW5ndGhfc3RhbmRh cmQgKGNvbnN0IHN0cnVjdCBleHByZXNzaW9uICpleHByLCBpbnQgZW5kcG9zLAorQEAgLTkzOSwy NCArOTM5LDIwIEBAIG9wZXJhdG9yX2xlbmd0aF9zdGFuZGFyZCAoY29uc3Qgc3RydWN0IGV4cHJl c3Npb24gKmV4cHIsIGludCBlbmRwb3MsCiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6CiAgICAgICAg b3BsZW4gPSAzOwpAQCAtMTA3Miw3ICsxMDcyLDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9wYXJzZS5j IGIvZ2RiL3BhcnNlLmMKIGRpZmYgLS1naXQgYS9nZGIvcnVzdC1leHAueSBiL2dkYi9ydXN0LWV4 cC55CiAtLS0gYS9nZGIvcnVzdC1leHAueQogKysrIGIvZ2RiL3J1c3QtZXhwLnkKLUBAIC0yNDc1 LDI0ICsyNDc1LDI4IEBAIHJ1c3RfcGFyc2VyOjpjb252ZXJ0X2FzdF90b19leHByZXNzaW9uIChj b25zdCBzdHJ1Y3QgcnVzdF9vcCAqb3BlcmF0aW9uLAorQEAgLTI0OTIsMjQgKzI0OTIsMjggQEAg cnVzdF9wYXJzZXI6OmNvbnZlcnRfYXN0X3RvX2V4cHJlc3Npb24gKGNvbnN0IHN0cnVjdCBydXN0 X29wICpvcGVyYXRpb24sCiAgCiAgICAgIGNhc2UgT1BfUkFOR0U6CiAgICAgICAgewpAQCAtMTgx OCw3ICsxODE4LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi92YWxhcml0aC5jIGIvZ2RiL3ZhbGFyaXRo LmMKIGRpZmYgLS1naXQgYS9nZGIvdmFsb3BzLmMgYi9nZGIvdmFsb3BzLmMKIC0tLSBhL2dkYi92 YWxvcHMuYwogKysrIGIvZ2RiL3ZhbG9wcy5jCi1AQCAtMzc5Miw1NiArMzc5MiwxOTUgQEAgdmFs dWVfb2ZfdGhpc19zaWxlbnQgKGNvbnN0IHN0cnVjdCBsYW5ndWFnZV9kZWZuICpsYW5nKQorQEAg LTM3OTAsNTYgKzM3OTAsMTk1IEBAIHZhbHVlX29mX3RoaXNfc2lsZW50IChjb25zdCBzdHJ1Y3Qg bGFuZ3VhZ2VfZGVmbiAqbGFuZykKICAKICBzdHJ1Y3QgdmFsdWUgKgogIHZhbHVlX3NsaWNlIChz dHJ1Y3QgdmFsdWUgKmFycmF5LCBpbnQgbG93Ym91bmQsIGludCBsZW5ndGgpCgpkaWZmIC0tZ2l0 IGEvZ2RiLXZsYS1pbnRlbC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoIGIvZ2RiLXZsYS1pbnRl bC1mb3J0cmFuLXZsYS1zdHJpbmdzLnBhdGNoCmluZGV4IGMyNDk0ZTAuLmVhZDBiNWYgMTAwNjQ0 Ci0tLSBhL2dkYi12bGEtaW50ZWwtZm9ydHJhbi12bGEtc3RyaW5ncy5wYXRjaAorKysgYi9nZGIt dmxhLWludGVsLWZvcnRyYW4tdmxhLXN0cmluZ3MucGF0Y2gKQEAgLTMzLDcgKzMzLDcgQEAgZ2l0 IGRpZmYgLS1zdGF0IC1wIGdkYi9tYXN0ZXIuLi5nZGIvdXNlcnMvYmhlY2tlbC9mb3J0cmFuLXZs YS1zdHJpbmdzCiBkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwogLS0tIGEvZ2RiL05F V1MKICsrKyBiL2dkYi9ORVdTCi1AQCAtMzUyLDYgKzM1Miw4IEBAIFNILTUvU0g2NCBydW5uaW5n IE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGluIHNoKi0qLW9wZW5ic2QqCitAQCAtMzc2LDYg KzM3Niw4IEBAIFNILTUvU0g2NCBydW5uaW5nIE9wZW5CU0QgCVNILTUvU0g2NCBzdXBwb3J0IGlu IHNoKi0qLW9wZW5ic2QqCiAgCiAgKioqIENoYW5nZXMgaW4gR0RCIDguMQogIApAQCAtNDUsNyAr NDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL05FV1MgYi9nZGIvTkVXUwogZGlmZiAtLWdpdCBhL2dk Yi9jLXZhbHByaW50LmMgYi9nZGIvYy12YWxwcmludC5jCiAtLS0gYS9nZGIvYy12YWxwcmludC5j CiArKysgYi9nZGIvYy12YWxwcmludC5jCi1AQCAtNjUyLDYgKzY1MiwyOCBAQCBjX3ZhbHVlX3By aW50IChzdHJ1Y3QgdmFsdWUgKnZhbCwgc3RydWN0IHVpX2ZpbGUgKnN0cmVhbSwKK0BAIC02NTEs NiArNjUxLDI4IEBAIGNfdmFsdWVfcHJpbnQgKHN0cnVjdCB2YWx1ZSAqdmFsLCBzdHJ1Y3QgdWlf ZmlsZSAqc3RyZWFtLAogICAgICAgIGVsc2UKICAJewogIAkgIC8qIG5vcm1hbCBjYXNlICovCkBA IC04Nyw3ICs4Nyw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJm MnJlYWQuYwogIAogIC8qIG1lbW9yeSBhbGxvY2F0aW9uIGludGVyZmFjZSAqLwogIAotQEAgLTEz NzU2LDcgKzEzNzU3LDcgQEAgcmVhZF9mdW5jX3Njb3BlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwg c3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTM3NTUsNyArMTM3NTYsNyBAQCByZWFkX2Z1bmNf c2NvcGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAgICAg ewogICAgICAgIG5ld29iai0+c3RhdGljX2xpbmsKICAJPSBYT0JORVcgKCZvYmpmaWxlLT5vYmpm aWxlX29ic3RhY2ssIHN0cnVjdCBkeW5hbWljX3Byb3ApOwpAQCAtOTYsNyArOTYsNyBAQCBkaWZm IC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAgICAgfQogIAog ICAgY3UtPmxpc3RfaW5fc2NvcGUgPSBjdS0+Z2V0X2J1aWxkZXIgKCktPmdldF9sb2NhbF9zeW1i b2xzICgpOwotQEAgLTE2NDk0LDcgKzE2NDk1LDggQEAgcmVhZF9hcnJheV90eXBlIChzdHJ1Y3Qg ZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTY0OTMsNyArMTY0OTQs OCBAQCByZWFkX2FycmF5X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYy X2N1ICpjdSkKICAKICAgICAgICBieXRlX3N0cmlkZV9wcm9wCiAgCT0gKHN0cnVjdCBkeW5hbWlj X3Byb3AgKikgYWxsb2NhIChzaXplb2YgKHN0cnVjdCBkeW5hbWljX3Byb3ApKTsKQEAgLTEwNiw3 ICsxMDYsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFk LmMKICAgICAgICBpZiAoIXN0cmlkZV9vaykKICAJewogIAkgIGNvbXBsYWludCAoXygidW5hYmxl IHRvIHJlYWQgYXJyYXkgRFdfQVRfYnl0ZV9zdHJpZGUgIgotQEAgLTE3MjU1LDI5ICsxNzI1Nyw5 MCBAQCByZWFkX3RhZ19zdHJpbmdfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBk d2FyZjJfY3UgKmN1KQorQEAgLTE3MjU0LDI5ICsxNzI1Niw5MCBAQCByZWFkX3RhZ19zdHJpbmdf dHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQogICAgc3Ry dWN0IGdkYmFyY2ggKmdkYmFyY2ggPSBnZXRfb2JqZmlsZV9hcmNoIChvYmpmaWxlKTsKICAgIHN0 cnVjdCB0eXBlICp0eXBlLCAqcmFuZ2VfdHlwZSwgKmluZGV4X3R5cGUsICpjaGFyX3R5cGU7CiAg ICBzdHJ1Y3QgYXR0cmlidXRlICphdHRyOwpAQCAtMjA4LDcgKzIwOCw3IEBAIGRpZmYgLS1naXQg YS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgY2hhcl90eXBlID0gbGFu Z3VhZ2Vfc3RyaW5nX2NoYXJfdHlwZSAoY3UtPmxhbmd1YWdlX2RlZm4sIGdkYmFyY2gpOwogICAg dHlwZSA9IGNyZWF0ZV9zdHJpbmdfdHlwZSAoTlVMTCwgY2hhcl90eXBlLCByYW5nZV90eXBlKTsK ICAKLUBAIC0xNzY0NSw3ICsxNzcwOCw4IEBAIHJlYWRfYmFzZV90eXBlIChzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCitAQCAtMTc2NzgsNyArMTc3NDEsOCBAQCBy ZWFkX2Jhc2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1 KQogIAogIHN0YXRpYyBpbnQKICBhdHRyX3RvX2R5bmFtaWNfcHJvcCAoY29uc3Qgc3RydWN0IGF0 dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCkBAIC0yMTgsNyArMjE4LDcgQEAg ZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgewogICAg c3RydWN0IGR3YXJmMl9wcm9wZXJ0eV9iYXRvbiAqYmF0b247CiAgICBzdHJ1Y3Qgb2JzdGFjayAq b2JzdGFjawotQEAgLTE3NjU2LDE0ICsxNzcyMCwzMyBAQCBhdHRyX3RvX2R5bmFtaWNfcHJvcCAo Y29uc3Qgc3RydWN0IGF0dHJpYnV0ZSAqYXR0ciwgc3RydWN0IGRpZV9pbmZvICpkaWUsCitAQCAt MTc2ODksMTQgKzE3NzUzLDMzIEBAIGF0dHJfdG9fZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3Qg YXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2luZm8gKmRpZSwKICAKICAgIGlmIChhdHRyX2Zv cm1faXNfYmxvY2sgKGF0dHIpKQogICAgICB7CkBAIC0yNTYsNyArMjU2LDcgQEAgZGlmZiAtLWdp dCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIvZHdhcmYycmVhZC5jCiAgICAgIH0KICAgIGVsc2Ug aWYgKGF0dHJfZm9ybV9pc19yZWYgKGF0dHIpKQogICAgICB7Ci1AQCAtMTc2OTYsOCArMTc3Nzks MjggQEAgYXR0cl90b19keW5hbWljX3Byb3AgKGNvbnN0IHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHIs IHN0cnVjdCBkaWVfaW5mbyAqZGllLAorQEAgLTE3NzI5LDggKzE3ODEyLDI4IEBAIGF0dHJfdG9f ZHluYW1pY19wcm9wIChjb25zdCBzdHJ1Y3QgYXR0cmlidXRlICphdHRyLCBzdHJ1Y3QgZGllX2lu Zm8gKmRpZSwKICAJCWJhdG9uID0gWE9CTkVXIChvYnN0YWNrLCBzdHJ1Y3QgZHdhcmYyX3Byb3Bl cnR5X2JhdG9uKTsKICAJCWJhdG9uLT5yZWZlcmVuY2VkX3R5cGUgPSBkaWVfdHlwZSAodGFyZ2V0 X2RpZSwgdGFyZ2V0X2N1KTsKICAJCWJhdG9uLT5sb2NleHByLnBlcl9jdSA9IGN1LT5wZXJfY3U7 CkBAIC0yODcsNyArMjg3LDcgQEAgZGlmZiAtLWdpdCBhL2dkYi9kd2FyZjJyZWFkLmMgYi9nZGIv ZHdhcmYycmVhZC5jCiAgCQlwcm9wLT5kYXRhLmJhdG9uID0gYmF0b247CiAgCQlwcm9wLT5raW5k ID0gUFJPUF9MT0NFWFBSOwogIAkJZ2RiX2Fzc2VydCAocHJvcC0+ZGF0YS5iYXRvbiAhPSBOVUxM KTsKLUBAIC0xNzgwOCw3ICsxNzkxMSw3IEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRp ZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODQxLDcgKzE3OTQ0LDcg QEAgcmVhZF9zdWJyYW5nZV90eXBlIChzdHJ1Y3QgZGllX2luZm8gKmRpZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCiAgCiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYnl0ZV9zdHJp ZGUsIGN1KTsKICAgIGlmIChhdHRyKQpAQCAtMjk2LDcgKzI5Niw3IEBAIGRpZmYgLS1naXQgYS9n ZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAgY29tcGxhaW50IChf KCJNaXNzaW5nIERXX0FUX2J5dGVfc3RyaWRlICIKICAJCSAgICAgIi0gRElFIGF0IDB4JXMgW2lu IG1vZHVsZSAlc10iKSwKICAJCSAgIHNlY3Rfb2Zmc2V0X3N0ciAoZGllLT5zZWN0X29mZiksCi1A QCAtMTc4MTYsNyArMTc5MTksNyBAQCByZWFkX3N1YnJhbmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5m byAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0xNzg0OSw3ICsxNzk1Miw3IEBAIHJl YWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCBkd2FyZjJfY3Ug KmN1KQogIAogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2xvd2VyX2JvdW5kLCBj dSk7CiAgICBpZiAoYXR0cikKQEAgLTMwNSw3ICszMDUsNyBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2R3 YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAgIGVsc2UgaWYgKCFsb3dfZGVmYXVsdF9p c192YWxpZCkKICAgICAgY29tcGxhaW50IChfKCJNaXNzaW5nIERXX0FUX2xvd2VyX2JvdW5kICIK ICAJCQkJICAgICAgIi0gRElFIGF0ICVzIFtpbiBtb2R1bGUgJXNdIiksCi1AQCAtMTc4MjUsMTAg KzE3OTI4LDEwIEBAIHJlYWRfc3VicmFuZ2VfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0 cnVjdCBkd2FyZjJfY3UgKmN1KQorQEAgLTE3ODU4LDEwICsxNzk2MSwxMCBAQCByZWFkX3N1YnJh bmdlX3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgZHdhcmYyX2N1ICpjdSkKICAK ICAgIHN0cnVjdCBhdHRyaWJ1dGUgKmF0dHJfdWIsICphdHRyX2NvdW50OwogICAgYXR0ciA9IGF0 dHJfdWIgPSBkd2FyZjJfYXR0ciAoZGllLCBEV19BVF91cHBlcl9ib3VuZCwgY3UpOwpAQCAtMzE4 LDcgKzMxOCw3IEBAIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJl YWQuYwogIAl7CiAgCSAgLyogSWYgYm91bmRzIGFyZSBjb25zdGFudCBkbyB0aGUgZmluYWwgY2Fs Y3VsYXRpb24gaGVyZS4gICovCiAgCSAgaWYgKGxvdy5raW5kID09IFBST1BfQ09OU1QgJiYgaGln aC5raW5kID09IFBST1BfQ09OU1QpCi1AQCAtMjUzOTQsNyArMjU0OTcsNyBAQCBzZXRfZGllX3R5 cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJm Ml9jdSAqY3UpCitAQCAtMjU0NDYsNyArMjU1NDksNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVjdCBk aWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3UpCiAg ICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYWxsb2NhdGVkLCBjdSk7CiAgICBpZiAo YXR0cl9mb3JtX2lzX2Jsb2NrIChhdHRyKSkKICAgICAgewpAQCAtMzI3LDcgKzMyNyw3IEBAIGRp ZmYgLS1naXQgYS9nZGIvZHdhcmYycmVhZC5jIGIvZ2RiL2R3YXJmMnJlYWQuYwogICAgICAgICAg YWRkX2R5bl9wcm9wIChEWU5fUFJPUF9BTExPQ0FURUQsIHByb3AsIHR5cGUpOwogICAgICB9CiAg ICBlbHNlIGlmIChhdHRyICE9IE5VTEwpCi1AQCAtMjU0MDgsNyArMjU1MTEsNyBAQCBzZXRfZGll X3R5cGUgKHN0cnVjdCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3 YXJmMl9jdSAqY3UpCitAQCAtMjU0NjAsNyArMjU1NjMsNyBAQCBzZXRfZGllX3R5cGUgKHN0cnVj dCBkaWVfaW5mbyAqZGllLCBzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGR3YXJmMl9jdSAqY3Up CiAgICBhdHRyID0gZHdhcmYyX2F0dHIgKGRpZSwgRFdfQVRfYXNzb2NpYXRlZCwgY3UpOwogICAg aWYgKGF0dHJfZm9ybV9pc19ibG9jayAoYXR0cikpCiAgICAgIHsKQEAgLTMzNiw3ICszMzYsNyBA QCBkaWZmIC0tZ2l0IGEvZ2RiL2R3YXJmMnJlYWQuYyBiL2dkYi9kd2FyZjJyZWFkLmMKICAgICAg ICAgIGFkZF9keW5fcHJvcCAoRFlOX1BST1BfQVNTT0NJQVRFRCwgcHJvcCwgdHlwZSk7CiAgICAg IH0KICAgIGVsc2UgaWYgKGF0dHIgIT0gTlVMTCkKLUBAIC0yNTQyMCw3ICsyNTUyMyw3IEBAIHNl dF9kaWVfdHlwZSAoc3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1 Y3QgZHdhcmYyX2N1ICpjdSkKK0BAIC0yNTQ3Miw3ICsyNTU3NSw3IEBAIHNldF9kaWVfdHlwZSAo c3RydWN0IGRpZV9pbmZvICpkaWUsIHN0cnVjdCB0eXBlICp0eXBlLCBzdHJ1Y3QgZHdhcmYyX2N1 ICpjdSkKICAKICAgIC8qIFJlYWQgRFdfQVRfZGF0YV9sb2NhdGlvbiBhbmQgc2V0IGluIHR5cGUu ICAqLwogICAgYXR0ciA9IGR3YXJmMl9hdHRyIChkaWUsIERXX0FUX2RhdGFfbG9jYXRpb24sIGN1 KTsKQEAgLTM5Miw5ICszOTIsOSBAQCBkaWZmIC0tZ2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9n ZGIvZi10eXBlcHJpbnQuYwogLQkJCSAgICAgaW50IGFycmF5cHJpbnRfcmVjdXJzZV9sZXZlbCkK ICsJCQkgICAgIGludCBhcnJheXByaW50X3JlY3Vyc2VfbGV2ZWwsIGludCBwcmludF9yYW5rX29u bHkpCiAgewotICAgaW50IHVwcGVyX2JvdW5kLCBsb3dlcl9ib3VuZDsKLSAKLUBAIC0xODMsMzQg KzE3MSw1MCBAQCBmX3R5cGVfcHJpbnRfdmFyc3BlY19zdWZmaXggKHN0cnVjdCB0eXBlICp0eXBl LCBzdHJ1Y3QgdWlfZmlsZSAqc3RyZWFtLAorICAgLyogTm8gc3RhdGljIHZhcmlhYmxlcyBhcmUg cGVybWl0dGVkIGFzIGFuIGVycm9yIGNhbGwgbWF5IG9jY3VyIGR1cmluZworICAgICAgZXhlY3V0 aW9uIG9mIHRoaXMgZnVuY3Rpb24uICAqLworQEAgLTE4MSwzNiArMTY5LDUyIEBAIGZfdHlwZV9w cmludF92YXJzcGVjX3N1ZmZpeCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCB1aV9maWxlICpz dHJlYW0sCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIigiKTsKICAKICAgICAgICBpZiAo dHlwZV9ub3RfYXNzb2NpYXRlZCAodHlwZSkpCkBAIC00MjYsNDggKzQyNiw0NiBAQCBkaWZmIC0t Z2l0IGEvZ2RiL2YtdHlwZXByaW50LmMgYi9nZGIvZi10eXBlcHJpbnQuYwogLSAgICAgICAgICBp ZiAoVFlQRV9DT0RFIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkgPT0gVFlQRV9DT0RFX0FSUkFZ KQogLSAgICAgICAgICAgIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoVFlQRV9UQVJHRVRf VFlQRSAodHlwZSksIHN0cmVhbSwgMCwKIC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgMCwgYXJyYXlwcmludF9yZWN1cnNlX2xldmVsKTsKLS0KLS0gICAgICAgICAg bG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xvd2VyYm91bmQgKHR5cGUpOwotLSAgICAgICAgICBpZiAo bG93ZXJfYm91bmQgIT0gMSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KLS0gICAgICAgICAgICBm cHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlZDoiLCBsb3dlcl9ib3VuZCk7Ci0tCi0tICAgICAg ICAgIC8qIE1ha2Ugc3VyZSB0aGF0LCBpZiB3ZSBoYXZlIGFuIGFzc3VtZWQgc2l6ZSBhcnJheSwg d2UKLS0gICAgICAgICAgICAgcHJpbnQgb3V0IGEgd2FybmluZyBhbmQgcHJpbnQgdGhlIHVwcGVy Ym91bmQgYXMgJyonLiAgKi8KLS0KLS0gICAgICAgICAgaWYgKFRZUEVfQVJSQVlfVVBQRVJfQk9V TkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKLS0gICAgICAgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChz dHJlYW0sICIqIik7Ci0tICAgICAgICAgIGVsc2UKLS0gICAgICAgICAgICB7Ci0tICAgICAgICAg ICAgICB1cHBlcl9ib3VuZCA9IGY3N19nZXRfdXBwZXJib3VuZCAodHlwZSk7Ci0tICAgICAgICAg ICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlZCIsIHVwcGVyX2JvdW5kKTsKLS0gICAg ICAgICAgICB9Ci0tCi0tICAgICAgICAgIGlmIChUWVBFX0NPREUgKFRZUEVfVEFSR0VUX1RZUEUg KHR5cGUpKSAhPSBUWVBFX0NPREVfQVJSQVkpCi0tICAgICAgICAgICAgZl90eXBlX3ByaW50X3Zh cnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSwgc3RyZWFtLCAwLAotLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAwLCBhcnJheXByaW50X3JlY3Vy c2VfbGV2ZWwpOwotLSAgICAgICAgfQogKwl7Ci0rCSAgbG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xv d2VyYm91bmQgKHR5cGUpOworKwkgIExPTkdFU1QgbG93ZXJfYm91bmQgPSBmNzdfZ2V0X2xvd2Vy Ym91bmQgKHR5cGUpOworIAorLSAgICAgICAgICBMT05HRVNUIGxvd2VyX2JvdW5kID0gZjc3X2dl dF9sb3dlcmJvdW5kICh0eXBlKTsKICsJICBpZiAobG93ZXJfYm91bmQgIT0gMSkJLyogTm90IHRo ZSBkZWZhdWx0LiAgKi8KLSsJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiVkOiIsIGxv d2VyX2JvdW5kKTsKLSsKKysJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVhbSwgIiVzOiIsIHBs b25nZXN0IChsb3dlcl9ib3VuZCkpOworIAorLSAgICAgICAgICBpZiAobG93ZXJfYm91bmQgIT0g MSkJLyogTm90IHRoZSBkZWZhdWx0LiAgKi8KKy0gICAgICAgICAgICBmcHJpbnRmX2ZpbHRlcmVk IChzdHJlYW0sICIlczoiLCBwbG9uZ2VzdCAobG93ZXJfYm91bmQpKTsKICsJICAvKiBNYWtlIHN1 cmUgdGhhdCwgaWYgd2UgaGF2ZSBhbiBhc3N1bWVkIHNpemUgYXJyYXksIHdlCiArCSAgICAgICBw cmludCBvdXQgYSB3YXJuaW5nIGFuZCBwcmludCB0aGUgdXBwZXJib3VuZCBhcyAnKicuICAqLwot KworIAorLSAgICAgICAgICAvKiBNYWtlIHN1cmUgdGhhdCwgaWYgd2UgaGF2ZSBhbiBhc3N1bWVk IHNpemUgYXJyYXksIHdlCistICAgICAgICAgICAgIHByaW50IG91dCBhIHdhcm5pbmcgYW5kIHBy aW50IHRoZSB1cHBlcmJvdW5kIGFzICcqJy4gICovCiArCSAgaWYgKFRZUEVfQVJSQVlfVVBQRVJf Qk9VTkRfSVNfVU5ERUZJTkVEICh0eXBlKSkKICsJICAgIGZwcmludGZfZmlsdGVyZWQgKHN0cmVh bSwgIioiKTsKICsJICBlbHNlCiArCSAgICB7Ci0rCSAgICAgIHVwcGVyX2JvdW5kID0gZjc3X2dl dF91cHBlcmJvdW5kICh0eXBlKTsKLSsJICAgICAgZnByaW50Zl9maWx0ZXJlZCAoc3RyZWFtLCAi JWQiLCB1cHBlcl9ib3VuZCk7CisrCSAgICAgIExPTkdFU1QgdXBwZXJfYm91bmQgPSBmNzdfZ2V0 X3VwcGVyYm91bmQgKHR5cGUpOworIAorLSAgICAgICAgICBpZiAoVFlQRV9BUlJBWV9VUFBFUl9C T1VORF9JU19VTkRFRklORUQgKHR5cGUpKQorLSAgICAgICAgICAgIGZwcmludGZfZmlsdGVyZWQg KHN0cmVhbSwgIioiKTsKKy0gICAgICAgICAgZWxzZQorLSAgICAgICAgICAgIHsKKy0gICAgICAg ICAgICAgIExPTkdFU1QgdXBwZXJfYm91bmQgPSBmNzdfZ2V0X3VwcGVyYm91bmQgKHR5cGUpOwor KwkgICAgICBmcHJpbnRmX2ZpbHRlcmVkIChzdHJlYW0sICIlcyIsIHBsb25nZXN0ICh1cHBlcl9i b3VuZCkpOwogKwkgICAgfQogKwl9Ci0rCisgCistICAgICAgICAgICAgICBmcHV0c19maWx0ZXJl ZCAocGxvbmdlc3QgKHVwcGVyX2JvdW5kKSwgc3RyZWFtKTsKKy0gICAgICAgICAgICB9CiArICAg ICAgaWYgKFRZUEVfQ09ERSAoVFlQRV9UQVJHRVRfVFlQRSAodHlwZSkpICE9IFRZUEVfQ09ERV9B UlJBWSkKICsJZl90eXBlX3ByaW50X3ZhcnNwZWNfc3VmZml4IChUWVBFX1RBUkdFVF9UWVBFICh0 eXBlKSwgc3RyZWFtLCAwLAogKwkJCQkgICAgIDAsIDAsIGFycmF5cHJpbnRfcmVjdXJzZV9sZXZl bCwKICsJCQkJICAgICBwcmludF9yYW5rX29ubHkpOwotKworIAorLSAgICAgICAgICBpZiAoVFlQ RV9DT0RFIChUWVBFX1RBUkdFVF9UWVBFICh0eXBlKSkgIT0gVFlQRV9DT0RFX0FSUkFZKQorLSAg ICAgICAgICAgIGZfdHlwZV9wcmludF92YXJzcGVjX3N1ZmZpeCAoVFlQRV9UQVJHRVRfVFlQRSAo dHlwZSksIHN0cmVhbSwgMCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwgMCwgYXJyYXlwcmludF9yZWN1cnNlX2xldmVsKTsKKy0gICAgICAgIH0KICAgICAgICBp ZiAoYXJyYXlwcmludF9yZWN1cnNlX2xldmVsID09IDEpCiAgCWZwcmludGZfZmlsdGVyZWQgKHN0 cmVhbSwgIikiKTsKICAgICAgICBlbHNlCkBAIC0xMzM5LDcgKzEzMzcsNyBAQCBkaWZmIC0tZ2l0 IGEvZ2RiL3ZhbG9wcy5jIGIvZ2RiL3ZhbG9wcy5jCiBkaWZmIC0tZ2l0IGEvZ2RiL3ZhbHByaW50 LmMgYi9nZGIvdmFscHJpbnQuYwogLS0tIGEvZ2RiL3ZhbHByaW50LmMKICsrKyBiL2dkYi92YWxw cmludC5jCi1AQCAtMTEwNiwxMiArMTEwNiw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3Ry dWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1aV9maWxlICpzdHJlYW0sCitAQCAtMTEwNSwxMiArMTEw NSw2IEBAIHZhbHVlX2NoZWNrX3ByaW50YWJsZSAoc3RydWN0IHZhbHVlICp2YWwsIHN0cnVjdCB1 aV9maWxlICpzdHJlYW0sCiAgICAgICAgcmV0dXJuIDA7CiAgICAgIH0KICAKCmRpZmYgLS1naXQg YS9nZGItdmxhLWludGVsLXN0cmluZ2J0LWZpeC5wYXRjaCBiL2dkYi12bGEtaW50ZWwtc3RyaW5n YnQtZml4LnBhdGNoCmluZGV4IDYzYmU4MGEuLjBhMDJjYWEgMTAwNjQ0Ci0tLSBhL2dkYi12bGEt aW50ZWwtc3RyaW5nYnQtZml4LnBhdGNoCisrKyBiL2dkYi12bGEtaW50ZWwtc3RyaW5nYnQtZml4 LnBhdGNoCkBAIC0zMCwxNSArMzAsNyBAQCBKYW4KIGRpZmYgLS1naXQgYS9nZGIvZHdhcmYybG9j LmMgYi9nZGIvZHdhcmYybG9jLmMKIC0tLSBhL2dkYi9kd2FyZjJsb2MuYwogKysrIGIvZ2RiL2R3 YXJmMmxvYy5jCi1AQCAtNDIsNiArNDIsNyBAQAotICNpbmNsdWRlIDxhbGdvcml0aG0+Ci0gI2lu Y2x1ZGUgPHZlY3Rvcj4KLSAjaW5jbHVkZSA8dW5vcmRlcmVkX3NldD4KLSsjaW5jbHVkZSA8ZnVu Y3Rpb25hbD4KLSAjaW5jbHVkZSAiY29tbW9uL3VuZGVybHlpbmcuaCIKLSAjaW5jbHVkZSAiY29t bW9uL2J5dGUtdmVjdG9yLmgiCi0gCi1AQCAtMjE1Nyw2ICsyMTU4LDIwIEBAIGR3YXJmMl9ldmFs dWF0ZV9sb2NfZGVzY19mdWxsIChzdHJ1Y3QgdHlwZSAqdHlwZSwgc3RydWN0IGZyYW1lX2luZm8g KmZyYW1lLAorQEAgLTIxNTYsNiArMjE1NiwyMCBAQCBkd2FyZjJfZXZhbHVhdGVfbG9jX2Rlc2Nf ZnVsbCAoc3RydWN0IHR5cGUgKnR5cGUsIHN0cnVjdCBmcmFtZV9pbmZvICpmcmFtZSwKICAgIGN0 eC5wZXJfY3UgPSBwZXJfY3U7CiAgICBjdHgub2JqX2FkZHJlc3MgPSAwOwogIAoKZGlmZiAtLWdp dCBhL2dkYi5zcGVjIGIvZ2RiLnNwZWMKaW5kZXggMGI3NTNjMC4uYmEzY2IwMSAxMDA2NDQKLS0t IGEvZ2RiLnNwZWMKKysrIGIvZ2RiLnNwZWMKQEAgLTIyLDcgKzIyLDcgQEAKIE5hbWU6ICV7P3Nj bF9wcmVmaXh9Z2RiCiAKICMgRnJlZXplIGl0IHdoZW4gR0RCIGdldHMgYnJhbmNoZWQKLSVnbG9i YWwgc25hcHNyYyAgICAyMDE5MDMyMQorJWdsb2JhbCBzbmFwc3JjICAgIDIwMTkwNDEyCiAjIFNl ZSB0aW1lc3RhbXAgb2Ygc291cmNlIGdudWxpYiBpbnN0YWxsZWQgaW50byBnZGIvZ251bGliLyAu CiAlZ2xvYmFsIHNuYXBnbnVsaWIgMjAxNjExMTUKICVnbG9iYWwgdGFybmFtZSBnZGItJXt2ZXJz aW9ufQpAQCAtMzAsNyArMzAsNyBAQCBWZXJzaW9uOiA4LjMuNTAuJXtzbmFwc3JjfQogCiAjIFRo ZSByZWxlYXNlIGFsd2F5cyBjb250YWlucyBhIGxlYWRpbmcgcmVzZXJ2ZWQgbnVtYmVyLCBzdGFy dCBpdCBhdCAxLgogIyBgdXBzdHJlYW0nIGlzIG5vdCBhIHBhcnQgb2YgYG5hbWUnIHRvIHN0YXkg ZnVsbHkgcnBtIGRlcGVuZGVuY2llcyBjb21wYXRpYmxlIGZvciB0aGUgdGVzdGluZy4KLVJlbGVh c2U6IDQlez9kaXN0fQorUmVsZWFzZTogNSV7P2Rpc3R9CiAKIExpY2Vuc2U6IEdQTHYzKyBhbmQg R1BMdjMrIHdpdGggZXhjZXB0aW9ucyBhbmQgR1BMdjIrIGFuZCBHUEx2Misgd2l0aCBleGNlcHRp b25zIGFuZCBHUEwrIGFuZCBMR1BMdjIrIGFuZCBMR1BMdjMrIGFuZCBCU0QgYW5kIFB1YmxpYyBE b21haW4gYW5kIEdGREwKICMgRG8gbm90IHByb3ZpZGUgVVJMIGZvciBzbmFwc2hvdHMgYXMgdGhl IGZpbGUgbGFzdHMgdGhlcmUgb25seSBmb3IgMiBkYXlzLgpAQCAtMTAyNSw2ICsxMDI1LDIwIEBA IGZpCiAlZW5kaWYKIAogJWNoYW5nZWxvZworKiBGcmkgQXByIDEyIDIwMTkgU2VyZ2lvIER1cmln YW4gSnVuaW9yIDxzZXJnaW9kakByZWRoYXQuY29tPiAtIDguMy41MC4yMDE5MDQxMi01CistIFJl YmFzZSB0byBGU0YgR0RCIDguMy41MC4yMDE5MDQxMiAoOC40cHJlKS4KKy0gQWRqdXN0ICdnZGIt Ni4zLXJoLXRlc3R2ZXJzaW9uLTIwMDQxMjAyLnBhdGNoJy4KKy0gUmVtb3ZlICdnZGItZm9sbG93 LWNoaWxkLXN0YWxlLXBhcmVudC5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0 cG9zLTIwb2YyNS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIxb2Yy NS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIyb2YyNS5wYXRjaCcu CistIFJlbW92ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTIzb2YyNS5wYXRjaCcuCistIFJlbW92 ZSAnZ2RiLXJoYno3OTU0MjQtYml0cG9zLTI1b2YyNS5wYXRjaCcuCistIFJlbW92ZSAnZ2RiLXJo Yno3OTU0MjQtYml0cG9zLTI1b2YyNS10ZXN0LnBhdGNoJy4KKy0gUmVtb3ZlICdnZGItcmhiejc5 NTQyNC1iaXRwb3MtYXJyYXl2aWV3LnBhdGNoJy4KKy0gUmVtb3ZlICdnZGItcmhiejc5NTQyNC1i aXRwb3MtbGF6eXZhbHVlLnBhdGNoJy4KKy0gUmVtb3ZlICdnZGItYno1NDE4NjYtcndhdGNoLWJl Zm9yZS1ydW4ucGF0Y2gnLgorCiAqIEZyaSBNYXIgMjkgMjAxOSBTZXJnaW8gRHVyaWdhbiBKdW5p b3IgPHNlcmdpb2RqQGZlZG9yYXByb2plY3Qub3JnPiAtIDguMy41MC4yMDE5MDMyMS00CiAtIEZp eCAnZ2RiLTguMy41MC4yMDE5MDMyMS0zLmZjMzEueDg2XzY0OiBjcmFzaGluZycgKGJ5IGZpeGlu ZwogICBnZGItNi42LWJ1aWxkaWQtbG9jYXRlLXJwbS5wYXRjaCkgKFJIIEJaIDE2OTQwOTEpLgoK ZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCmluZGV4IGVlYTEyMTkuLjIzN2RiNTkgMTAw NjQ0Ci0tLSBhL3NvdXJjZXMKKysrIGIvc291cmNlcwpAQCAtMSwzICsxLDMgQEAKIFNIQTUxMiAo Z2RiLWxpYnN0ZGMrKy12My1weXRob24tOC4xLjEtMjAxODA2MjYudGFyLnh6KSA9IGE4YjFjNTRk ZDM0OGNmZWIzN2RhNzNmOTY4NzQyODk2YmUzZGQxM2E0MjE1ZjhkODUxOTg3MGMyYWJlYTkxNWY1 MTc2YzNmYTY5ODlkZGQxMGYyMDAyMGExNmYwZmFiMjBjYmFlNjhlZThkNThhODIyMzRkODc3ODAy MzUyMGY4CiBTSEE1MTIgKHYyLjAudGFyLmd6KSA9IGVjNjMxNTFlODQyYzgxY2M3M2VhMTFiYTU2 MGI2M2UwMDVjZWZiZTE5ZDk4ZGUyNGFlNWM4Y2FhNGRlN2M5YzFkNzFkMWVjNWI2MjE0YTM0NzU5 MmVhYzY3NWI3NWEzZDJiMjZkNDY5MWNhODZmOTEwMjBlYmZlYThlOTEyOTM5Ci1TSEE1MTIgKGdk Yi04LjMuNTAuMjAxOTAzMjEudGFyLnh6KSA9IDRhYjM3NTcxMzk4NDE4YTNiNWJjNDNjZmUxMDNl ZTU4NTMzMGJjM2IwNzZiMTEzZTNiZjZjNmMzY2U1MjY2YjZlNmI1MDQwYzEzMDNhZDBkZTYyYjhm NDIxMWRmMjdlNzU3OTVkN2ZjZTRmZDFkOWE5NmVjMDMwOGFjZTJmY2Y4CitTSEE1MTIgKGdkYi04 LjMuNTAuMjAxOTA0MTIudGFyLnh6KSA9IGZiZGM4M2I2ZTg4ZDJkOTQ4OWEyNWMxZmJkZjA4NzY0 NzA4ZTE1NThlYjE4N2Y5YTNhNzJiY2M4ZmQwNThlOThlOTgxMGY4Zjg4OTA0NGNmNTViNDE2NWI5 YTNhYzVkOTk2ZDBhMTNhNGU0ZDU0ODIzZTQ4NWIzNTRjMWEyYjBlCg==